verification of cryptographic protocols techniques tools
play

Verification of cryptographic protocols: techniques, tools and link - PowerPoint PPT Presentation

Verification of cryptographic protocols: techniques, tools and link to cryptanalysis Vronique Cortier INRIA project Cassis, Loria CNRS, Nancy, France French/Japanese Symposium on Computer Security - Sept. 6th, 2005 Verification of


  1. Verification of cryptographic protocols: techniques, tools and link to cryptanalysis Véronique Cortier INRIA project Cassis, Loria CNRS, Nancy, France French/Japanese Symposium on Computer Security - Sept. 6th, 2005 Verification of cryptographic protocols – p.1

  2. Context: cryptographic protocols • Widely used: web (SSH, SSL, ...), pay-per-view, electronic purse, mobile phone, ... • Should ensure: confidentiality authenticity integrity anonymity, ... French/Japanese Symposium on Computer Security - Sept. 6th, 2005 Verification of cryptographic protocols – p.2

  3. Context: cryptographic protocols • Widely used: web (SSH, SSL, ...), pay-per-view, electronic purse, mobile phone, ... • Should ensure: confidentiality authenticity integrity anonymity, ... • Presence of an attacker − may read every message sent on the net, − may intercept and send new messages. French/Japanese Symposium on Computer Security - Sept. 6th, 2005 Verification of cryptographic protocols – p.2

  4. Credit Card Payment Protocol • The waiter introduces the credit card. • The waiter enters the amount m of the transaction on the terminal. • The terminal authenticates the card. • The customer enters his secret code. If the amount m is greater than 100 euros (and in only 20% of the cases) − The terminal asks the bank for the authentication of the card. − The bank provides the authentication. French/Japanese Symposium on Computer Security - Sept. 6th, 2005 Verification of cryptographic protocols – p.3

  5. More details 4 actors : the Bank, the Customer, the Card and Terminal. Bank owns • a signing key K − 1 B , secret, • a verification key K B , public, • a secret symmetric key for each credit card K CB , secret. Card owns • Data : last name, first name, card’s number, expiration date, • Signature’s Value V S = { hash ( Data ) } K − 1 B , • secret key K CB . Terminal owns the verification key K B for bank’s signatures. French/Japanese Symposium on Computer Security - Sept. 6th, 2005 Verification of cryptographic protocols – p.4

  6. Credit card payment Protocol (in short) The terminal reads the card: 1 . → T : Data , { hash ( Data ) } K − 1 Ca B French/Japanese Symposium on Computer Security - Sept. 6th, 2005 Verification of cryptographic protocols – p.5

  7. Credit card payment Protocol (in short) The terminal reads the card: 1 . → T : Data , { hash ( Data ) } K − 1 Ca B The terminal asks for the secret code: 2 . → Cu : secret code ? T 3 . → Ca : 1234 Cu 4 . → T : ok Ca French/Japanese Symposium on Computer Security - Sept. 6th, 2005 Verification of cryptographic protocols – p.5

  8. Credit card payment Protocol (in short) The terminal reads the card: 1 . → T : Data , { hash ( Data ) } K − 1 Ca B The terminal asks for the secret code: 2 . → Cu : secret code ? T 3 . → Ca : 1234 Cu 4 . → T : ok Ca The terminal calls the bank: 5 . → B : auth ? T 6 . → T : N b B 7 . → Ca : N b T 8 . → T : { N b } K CB Ca 9 . → B : { N b } K CB T 10 . → T : ok B French/Japanese Symposium on Computer Security - Sept. 6th, 2005 Verification of cryptographic protocols – p.5

  9. Some flaws The security was initially ensured by: • the cards were very difficult to reproduce, • the protocol and the keys were secret. But • cryptographic flaw: 320 bits keys can be broken (1988), • logical flaw: no link between the secret code and the authentication of the card, • fake cards can be build. French/Japanese Symposium on Computer Security - Sept. 6th, 2005 Verification of cryptographic protocols – p.6

  10. Some flaws The security was initially ensured by: • the cards were very difficult to reproduce, • the protocol and the keys were secret. But • cryptographic flaw: 320 bits keys can be broken (1988), • logical flaw: no link between the secret code and the authentication of the card, • fake cards can be build. → “YesCard” build by Serge Humpich (1998). French/Japanese Symposium on Computer Security - Sept. 6th, 2005 Verification of cryptographic protocols – p.6

  11. How does the “YesCard” work? Logical flaw 1 . → T : Data , { hash ( Data ) } K − 1 Ca B 2 . → Ca : secret code ? T 3 . → Ca : 1234 Cu 4 . → T : ok Ca French/Japanese Symposium on Computer Security - Sept. 6th, 2005 Verification of cryptographic protocols – p.7

  12. How does the “YesCard” work? Logical flaw 1 . → T : Data , { hash ( Data ) } K − 1 Ca B 2 . → Ca : secret code ? T 3 . → Ca ′ : 2345 Cu 4 . Ca ′ → T : ok French/Japanese Symposium on Computer Security - Sept. 6th, 2005 Verification of cryptographic protocols – p.7

  13. How does the “YesCard” work? Logical flaw 1 . → T : Data , { hash ( Data ) } K − 1 Ca B 2 . → Ca : secret code ? T 3 . → Ca ′ : 2345 Cu 4 . Ca ′ → T : ok Remark: there is always somebody to debit. → creation of a fake card (Serge Humpich). French/Japanese Symposium on Computer Security - Sept. 6th, 2005 Verification of cryptographic protocols – p.7

  14. How does the “YesCard” work? Logical flaw 1 . → T : Data , { hash ( Data ) } K − 1 Ca B 2 . → Ca : secret code ? T 3 . → Ca ′ : 2345 Cu 4 . Ca ′ → T : ok Remark: there is always somebody to debit. → creation of a fake card (Serge Humpich). 1 . → T : XXX , { hash ( XXX ) } K − 1 Ca ′ B 2 . → Cu : secret code ? T 3 . → Ca ′ : 0000 Cu 4 . Ca ′ → T : ok French/Japanese Symposium on Computer Security - Sept. 6th, 2005 Verification of cryptographic protocols – p.7

  15. Map 1. Formal approaches 2. Tools and case study 3. Link between formal approaches and cryptanalysis French/Japanese Symposium on Computer Security - Sept. 6th, 2005 Verification of cryptographic protocols – p.8

  16. Formal approaches • Messages are abstracted using terms. These terms are build over a fixed signature. E.g., Σ = { < >, enc , dec , ... } . French/Japanese Symposium on Computer Security - Sept. 6th, 2005 Verification of cryptographic protocols – p.9

  17. Formal approaches • Messages are abstracted using terms. These terms are build over a fixed signature. E.g., Σ = { < >, enc , dec , ... } . • The attacker can do symbolic manipulations on terms. S ⊢ � M 1 , M 2 � i = 1 , 2 S ⊢ k − 1 S ⊢ enc ( M, k ) S ⊢ M i S ⊢ M French/Japanese Symposium on Computer Security - Sept. 6th, 2005 Verification of cryptographic protocols – p.9

  18. Formal approaches • Messages are abstracted using terms. These terms are build over a fixed signature. E.g., Σ = { < >, enc , dec , ... } . • The attacker can do symbolic manipulations on terms. S ⊢ � M 1 , M 2 � i = 1 , 2 S ⊢ k − 1 S ⊢ enc ( M, k ) S ⊢ M i S ⊢ M This approach allows to detect any logical attack that does not rely on weaknesses of the encryption algorithm. French/Japanese Symposium on Computer Security - Sept. 6th, 2005 Verification of cryptographic protocols – p.9

  19. Protocol description Protocol: S ⊢ x → Ca : T N b S ⊢ { x } K CB → T : { N b } K CB Ca Secrecy properties: S ⊢ s ? French/Japanese Symposium on Computer Security - Sept. 6th, 2005 Verification of cryptographic protocols – p.10

  20. Decidability and complexity results • In general, secrecy preservation is undecidable. • For a bounded number of sessions, secrecy is co-NP-complete [RusinowitchTuruani CSFW01] → constraint solving • For an unbounded number of sessions − for one-copy protocols, secrecy is DEXPTIME-complete [CortierComon RTA03] [SeildVerma LPAR04] → tree automata, resolution theorem proving − for message-length bounded protocols, secrecy is DEXPTIME-complete [Durgin et al FMSP99] [Chevalier et al CSL03] French/Japanese Symposium on Computer Security - Sept. 6th, 2005 Verification of cryptographic protocols – p.11

  21. Adding algebraic operators Some cryptographic primitives have algebraic properties. x ⊕ ( y ⊕ z ) = ( x ⊕ y ) ⊕ z • XOR x ⊕ y = y ⊕ x x ⊕ x = 0 x ⊕ 0 = x French/Japanese Symposium on Computer Security - Sept. 6th, 2005 Verification of cryptographic protocols – p.12

  22. Adding algebraic operators Some cryptographic primitives have algebraic properties. x ⊕ ( y ⊕ z ) = ( x ⊕ y ) ⊕ z • XOR x ⊕ y = y ⊕ x x ⊕ x = 0 x ⊕ 0 = x • Modular exponentiation exp ( exp ( g, x ) , y ) = exp ( g, x · y ) exp ( g, x · y ) = exp ( g, y · x ) French/Japanese Symposium on Computer Security - Sept. 6th, 2005 Verification of cryptographic protocols – p.12

  23. Adding algebraic operators Some cryptographic primitives have algebraic properties. x ⊕ ( y ⊕ z ) = ( x ⊕ y ) ⊕ z • XOR x ⊕ y = y ⊕ x x ⊕ x = 0 x ⊕ 0 = x • Modular exponentiation exp ( exp ( g, x ) , y ) = exp ( g, x · y ) exp ( g, x · y ) = exp ( g, y · x ) • Homomorphism h ( x · y ) = h ( x ) · h ( y ) French/Japanese Symposium on Computer Security - Sept. 6th, 2005 Verification of cryptographic protocols – p.12

  24. Adding algebraic operators Some cryptographic primitives have algebraic properties. x ⊕ ( y ⊕ z ) = ( x ⊕ y ) ⊕ z • XOR x ⊕ y = y ⊕ x x ⊕ x = 0 x ⊕ 0 = x • Modular exponentiation exp ( exp ( g, x ) , y ) = exp ( g, x · y ) exp ( g, x · y ) = exp ( g, y · x ) • Homomorphism h ( x · y ) = h ( x ) · h ( y ) → These properties are modeled using equational theories or by extending the intruder power. French/Japanese Symposium on Computer Security - Sept. 6th, 2005 Verification of cryptographic protocols – p.12

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend