Message Authentication Codes

Message Authentication Codes

Message Authentication Codes Murat Kantarcioglu Secrecy does not Imply Authenticity/Integrity • Encryption only provides secrecy • In many cases we want authenticity/integrity – Financial transactions • Our goal: Ensure the authenticity / integrity of the messages • Assumptions: Shared secret key between parties Example: CTR Mode • Remember in CTR encryption T F çü ïùM¢ i Ta - JT • An attacker can reverse any bit without being detected • Note that Xü ïÖT - óa F ïÖT - óa - çùM¢ i Ta F JT - ó Message Authentication Code • We need three algorithms: – Key generation ( K) ü ' – Message authentication code generator (MAC) ñ óL ' J yÖüïJa – Verifier (VF) n ' ú _ü JI ñóLa Äv†¢† n X yEI Çá Security for MACs • Key generation algorithm will pick random keys from the key space. • Deterministic MAC implies that • MAC and VF algorithms are assumed to be stateless Towards defining security of MACs • Adversary is allowed to see some message and tag pairs • Security against key recovery is not enough • No assumptions about the message space • We do not consider replay attacks – i.e., Adversary must forge an unseen message M • Adversary could adaptively chose messages to be tagged. • Adversary could query whether a given tag is valid MAC Security • Adversary is given MAC-generation and MAC- verification oracles. • Adversary tries to generate (M, Tag) such that M is not queried to MAC-generation oracle but (M, Tag) is accepted by MAC-verification oracle. MAC Security Examples d† ÜJ ë |áP _ r yEI Çá[ * yEI Çáè F) yEI Çár k†9 . F ïüI JyÖa }t.ùbó t_9† 9vë9 ynU.É ïyÇa F Ç Example t_9† 9vë9 y f_†o í_9 Ä_¢I m_¢ .N F ïüI J yÖa Example P t.ùbó d† ôëí õ¢_B† 9vë9 ynU.P ïyNa F Ç P t_9† 9vë9 ñ óLÇ F _ü ï[ÇebLLóÇa - _ü ï[NebLLóNa ñ óLN F _ü ï[ÇebLLóÇa - _ü ï[NebLLhNa ñ óLå F _ü ï[ÇebLLhÇa - _ü ï[NebLLóNa P d† ôëí †ëoAàâ Üíf JyÖü ïhÇhNa JyÖü ïhÇhNa F ñóLÇ - ñ óLN - ñ óLå F _ü ï[ÇebLLhÇa - _ü ï[NebLLhNa Security of MACs • Our attacks do not depend on the properties of the underlying PRF • Using even random functions would not help • Perfect ingredients + Bad recipe => Bad Food • Good crypto primitives + Bad design => Insecure systems PRF as a MAC Paradigm d† ÜJ ë |áP _ r yEI Çá[ * yEI Çáè F) yEI Çár k†9 . F ïüI JyÖa PRF as a MAC Paradigm • Proof of the Proposition: Universal Hash-then-PRF Paradigm • Candidate PRF functions (DES,AES) have fixed input length • We want to MACs to work on arbitrary length inputs • Idea: JyÖüÉLLüP Ja F _üP ïfüÉ ïJaa • Universal Hash Functions: Ç 2JI JN X XI Ü ¢[fïüI JÇa F fïüI JNae F é • Proof Idea: If the Hash function is universal then _üP ïfüÉ ïJaa is also a secure PRF. Then use prf as a MAC paradigm. CBC MAC • Basic Version: . F ïüI JyÖa • Security: It is secure if we use fixed message length. It is hard to get it right in practice. HASH Based MACs bY • Remember SHA-1 yEI Çá N F) yEI ÇáÇbE • SHA-1 is believed to be collision resistant but how use SHA-1 for secure MACs construction? • Some incorrect starts: JyÖïüI Ja F fïüLLJa F fïJLLüa F fïüLLJLLüa • Provable secure version: fïü - óLLfïü - hLLJaa Which MAC to use in practice? • CBC-MAC is hard to get correct in practice. • UMACs is provably secure but needs platform specific modifications for efficiency • HMACs is provably secure and can be easily implemented using standard crypto library..

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    18 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us