alice and bob want to communicate securely
play

Alice and Bob want to communicate securely Achieve confidentiality - PowerPoint PPT Presentation

Alice and Bob want to communicate securely Achieve confidentiality and integrity/authenticity Both know each others public key Example: A->B: E Bob (M), S Alice (M) Works, but expensive Recall hybrid encryption


  1.  Alice and Bob want to communicate securely  Achieve confidentiality and integrity/authenticity  Both know each other’s public key  Example:  A->B: E Bob (M), S Alice (M)  Works, but expensive  Recall hybrid encryption  Use symmetric keys for bulk encryption  Similar paradigm?

  2.  Alice, Bob share K e , K m  A -> B: Enc( K e , M), MAC( K m , M)  How do we get K e , K m ?  Leverage public keys  Key Exchange

  3.  Notation:  Alice’s public key: A , private key a  Bob’s public key: B , private key b  Protocol  Alice picks random Ke , K m  Alice->Bob: E B ( K e , K m ), S a ( K e , K m )  Works?  What if Bob’s key is later compromised?

  4. PFS Key point Exchange Session Compromise Time  Future key compromises cannot reveal past session information

  5.  Protocol:  Alice->Bob: g x  Bob->Alice: g y  Shared key: g xy  Authenticated version:  Alice->Bob: g x , Sign a ( g x )  Bob->Alice: g y , Sign b ( g y )  Can you spot the attack?

  6. Alice: Hi! Bob: Heya! Alice: What did you do today? g x , S a ( g x ) g x , S e ( g x ) Eve Bob: Worked on that project we’re not supposed to tell Alice about g y , S b ( g y ) Alice Bob Alice: ?!! Eve: See, I told you!  Eve cannot decrypt messages, but: Alice: Please transfer  Alice thinks she’s talking to Bob $1M from my Swiss account #12345 to my  Bob thinks he’s talking to Eve account here (auth 555) BobBank: Ok, done, Eve Alice: What?! Eve: I’m rich!

  7.  Fixing the protocol  Alice->Bob: g x , Sign(“B”, g x )  Bob->Alice: g y , Sign(“A”, g y )  Impersonation attack no longer works  Freshness:  What if Eve learns x (how?)

  8.  ISO/IEC IS 9798-3  Three Rounds:  Alice -> Bob: A, g x  Bob -> Alice: B, g y , S b ( g x , g y , A)  Alice -> Bob: S a ( g y , g x , B)  Ensures freshness  Pre-computed signature cannot be used  Identity protection?  Alice reveals her identity to “Bob” w/o verifying his  Alice, Bob leave proof (signature) that they talked

  9.  Identity protection  SIGMA-I:  A->B: g x  B->A: g y , Enc( K e ,{B, S b ( g x , g y ), MAC( K m ,B)})  A->B: Enc( Ke , {A, S a ( g y , g x ), MAC( K m ,A)})  Notes:  Ke , Km derived from gxy  B’s identity not protected under active attack  SIGMA-R variant also exists  No signature proofs  … unless Alice misbehaves: let x = H (“This is Alice”)

  10.  Full identity protection  No digital signatures  A->B: E b (A, N A ), g x  B->A: E a ( N B ), g y , MAC( K 0 , { g y , g x , B,A})  K 0 = H( N A , N B )  A->B: MAC( K 0 , { g x , g y ,A,B})  N A ,N B : half-keys (nonces) used for MAC only  g xy is used to derive session keys

  11.  Status quo on the web:  Form a SSL/TLS connection  Enter password into form  Problems:  Requires server authentication through PKI  Subject to phishing

  12.  Client and server share a key (password) K  S->C: N  C->S: MAC(K,N)  Problems?  Man-in-the-middle  Offline dictionary attack

  13.  Password-authenticated key exchange  Client and server share password P  Find p = 2q+1, p,q both prime  QR’s in Z p form a group of order q  Protocol:  C->S: H(P) 2 x , for random x  S->C: H(P) 2y , for random y  K = H(P) 4 xy  Server stores enough information to authenticate

  14.  Secure Remote Password C->S: “C” Protocol (Yu)  S: lookup (s,v)  Registration: S->C: s  P = password, s =  C: compute x = H ( s , P ) random salt C->S: g a (= A )  x = H( s , P ), v = g x S->C: v + g b (= B ), u  Mostly straightforward  C: Sec =( B - g x ) a + ux D-H:  S: Sec =( A * v u ) b  g b is blinded by v  K = H ( Sec )  Prevents online C->S: H ( A,B , K ) (= M 1 ) dictionary attack S->C: H ( A , M 1 , K )  RFC 2945, IEEE 1363.2

  15.  Key exchange  Basic building block for secure communication  Hard to get right  Desired properties  Perfect forward secrecy  Session key compromise robustness  Privacy/anonymity

Recommend


More recommend