Cryptography: Authentication

Cryptography: Authentication

1 ì Authenticated Encryption Secure Software Systems Fall 2018 2 Motivation What if the attacker actively manipulates data instead of passively observing it? Secure Software Systems Fall 2018 3 Motivation How do we protect against this scenario? DH Exchange DH Exchange ! " (alice) # # (bob) (eve (eve pretending pretending to be bob) to be alice) Cease fire! Cease fire! Attack at Dawn! Attack at Dawn! ! SDFJKWERVHU # KJFSDEROIXCVK " (alice) (eve) (bob) Secure Software Systems Fall 2018 4 Warning! Encryption without authentication is almost certainly wrong… Attackers don’t need to decrypt to modify ciphertext Secure Software Systems Fall 2018 5 Authentication ì Goal: Add information to message that only the real sender (not Eve!) could have computed ì Authentication for symmetric-key encryption ì “Message Authentication Codes” ì MACs are generated and verified with the same key ì Authentication for public-key encryption ì “Signatures” ì Signatures are generated with private key and verified with public key Secure Software Systems Fall 2018 6 Message Authentication Code (MAC) ì Small piece of information used to verify message integrity / authenticity (“Tag”) ì Key is shared secret between Alice and Bob (Secret key) K ! (Secret key) K " (Sender) (Receiver) Message MAC Tag Message MAC Valid? (arbitrary (fixed length) length ciphertext or plaintext) Tag Secure Software Systems Fall 2018 7 Message Authentication Code (MAC) How to combine ciphertext with a MAC? ì Authenticate and Encrypt ì Used by SSH ì Authenticate and encrypt plaintext separately ì C = E(KC ,P) and t=MAC(KM ,P) ì Send C and t Secure Software Systems Fall 2018 8 Message Authentication Code (MAC) How to combine ciphertext with a MAC? ì Authenticate, then Encrypt ì Used by TLS ì Authenticate plaintext, then encrypt {plaintext, tag} ì t=MAC(KM ,P) then ì C = E(KC , {P|t}) ì Send C (t is part of C) Secure Software Systems Fall 2018 9 Message Authentication Code (MAC) How to combine ciphertext with a MAC? ì Encrypt, then Authenticate ì Used by IPSec ì Standard ISO/IEC 19772:2009 ì Encrypt plaintext, then authenticate ciphertext ì C = E(KC , P) then t=MAC(KM ,C) ì Send C and t Secure Software Systems Fall 2018 10 Message Authentication Code (MAC) How to combine ciphertext with a MAC? ì Which to choose? ì Authenticate and Encrypt ì Authenticate, then Encrypt ì Encrypt, then Authenticate – Modern Best Practice ì Consider what the receiver does to reverse process ì When you receive a message, the very first thing you do should be to authenticate it ì Anything else risks CERTAIN DOOM (eventually) Secure Software Systems Fall 2018 11 Message Authentication Code (MAC) ì Position Statement: “Doom Principle” ì https://moxie.org/blog/the-cryptographic-doom-principle/ ì Example 1: Padding Oracle Attack (Vaudenay attack against CBC) ì Trick receiver into revealing last byte of message by brute forcing padding byte, and then repeat for next to last byte, etc… ì Successful on “Authenticate, then Encrypt” method because decryption happens first! ì Example 2: SSH Plaintext Recovery Attack ì SSH has to decrypt first block to know message length ì Attacker can substitute in arbitrary block and recipient will decrypt it and use attacker value as a message length ì Successful on “Authenticate and Encrypt” because decryption happens first! Secure Software Systems Fall 2018 12 AEAD ì We can do better still! What if authentication was part of our encryption scheme, and not a separate step? ì Authenticated Encryption with Associated Data (AEAD) ì Messages have two parts – example: emails ì Content (encrypt!) ì Metadata (authenticate, but plaintext) A E Encrypted Secure Software Systems Authenticated Fall 2018 13 AEAD Modes ì Galois Counter Mode (GCM) – Good! ì Not patent encumbered ì SSH, TLS 1.2, OpenVPN ì Standardized in ISO/IEC 19772:2009 ì Can be used by itself (authentication-only): GMAC ì Many other AEAD modes ì EAX, OCB 2.0, CCM, Key Wrap, … Secure Software Systems Fall 2018 14 Modes of Operation Remember our Block Cipher Modes of Operation? Encryption-Only MACs – Message Integrity No Authentication Only, No Encryption ì Counter (CTR) – Best! ì GMAC - Good ì Cipher Block Chaining (CBC) ì HMAC – Good – Good ì But why are you just ì Electronic Code Book (ECB) authenticating and not – Don’t use! encrypting? ì Also ran: CFB, OFB, XTS, … ì Also ran: ALG1-6, CMAC Secure Software Systems Fall 2018 15 Modes of Operation Remember our Block Cipher Modes of Operation? Authenticated Encryption (Encrypt + Auth) ì GCM – Good! ì CCM – Good! ì Also-ran: EAX, OCB 2.0, Key Wrap, … Secure Software Systems Fall 2018 16 Repeating the Warning… Encryption without authentication is almost certainly wrong… Attackers don’t need to decrypt to modify ciphertext Secure Software Systems Fall 2018 17 Meet a Cryptographer ì Phillip Rogaway ì Professor, Computer Science UC Davis ì Winner of Levchin prize for cryptography: http://levchinprize.com/ Secure Software Systems Fall 2018 18 Rogaway, P. “Evaluation of Some Blockcipher Modes of Operation”, February 2011 http://web.cs.ucdavis.edu/~rogaway/papers/modes.pdf 153 pages of details… Secure Software Systems Fall 2018 19 Authentication ì Goal: Add information to message that only the real sender (not Eve!) could have computed ì Authentication for symmetric-key encryption ì “Message Authentication Codes” ì MACs are generated and verified with the same key ì Authentication for public-key encryption ì “Signatures” ì Signatures are generated with private key and verified with public key Secure Software Systems Fall 2018 20 Signatures ì RSA-based signatures ì Digital Signal Algorithm (DSA) ì Elliptic Curve Digital Signature Algorithm (ECSDA) Secure Software Systems Fall 2018.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    20 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