computer aided security proofs for the working
play

Computer-aided security proofs for the working cryptographer Gilles - PowerPoint PPT Presentation

Computer-aided security proofs for the working cryptographer Gilles Barthe Benjamin Grgoire Sylvain Heraud Santiago Zanella Bguelin CRYPTO11, August 15 2011 Monday, August 15, 2011 1 A plea for


  1. Computer-aided security proofs for the working cryptographer Gilles Barthe Benjamin Grégoire Sylvain Heraud Santiago Zanella Béguelin CRYPTO’11, August 15 2011 Monday, August 15, 2011 1

  2. A plea for computer-aided cryptographic proofs A plausible approach to computer-aided cryptographic proofs. Halevi, 2005 Code-Based Game-Playing Proofs and the Security of Triple Encryption. Bellare and Rogaway, 2004-2006 Monday, August 15, 2011 2

  3. A plea for computer-aided cryptographic proofs A plausible approach to computer-aided cryptographic proofs. Halevi, 2005 Code-Based Game-Playing Proofs and the Security of Triple Encryption. Bellare and Rogaway, 2004-2006 A problem with security proofs Do we have a problem with cryptographic proofs? Yes, we do [...] We generate more proofs than we carefully verify (and as a consequence some of our published proofs are incorrect)—Halevi, 2005 In our opinion, many proofs in cryptography have become essentially unverifiable. Our field may be approaching a crisis of rigor—Bellare and Rogaway, 2004-2006 Monday, August 15, 2011 2

  4. A plea for computer-aided cryptographic proofs A plausible approach to computer-aided cryptographic proofs. Halevi, 2005 Code-Based Game-Playing Proofs and the Security of Triple Encryption. Bellare and Rogaway, 2004-2006 A problem with security proofs : a plausible solution I advocate creating an automated tool to help us [...] writing and checking [...] our proofs—Halevi, 2005 The possibility for tools [to help write and verify proofs] has always been one of our motivations, and one of the reasons why we focused on code-based games—Bellare and Rogaway, 2004-2006 Monday, August 15, 2011 2

  5. A primer on computer-aided proofs Monday, August 15, 2011 3

  6. A primer on computer-aided proofs Monday, August 15, 2011 3

  7. A primer on computer-aided proofs Lemma : ∀ r : R , ∃ n : N .r < n Monday, August 15, 2011 3

  8. A primer on computer-aided proofs Lemma : ∀ r : R , ∃ n : N .r < n Proof . intros r ; exists ( ⌈ r ⌉ + 1) . destruct ( nceil spec r ) as ( , H ); exact H. Qed . Monday, August 15, 2011 3

  9. A primer on computer-aided proofs Manual review Lemma : ∀ r : R , ∃ n : N .r < n Proof . intros r ; exists ( ⌈ r ⌉ + 1) . destruct ( nceil spec r ) as ( , H ); exact H. Qed . Monday, August 15, 2011 3

  10. A primer on computer-aided proofs Manual review Lemma : ∀ r : R , ∃ n : N .r < n Proof . intros r ; exists ( ⌈ r ⌉ + 1) . destruct ( nceil spec r ) as ( , H ); exact H. Qed . Automated checking Monday, August 15, 2011 3

  11. A primer on computer-aided proofs Correctness from Manual review Lemma : ∀ r : R , ∃ n : N .r < n first principles Proof . intros r ; exists ( ⌈ r ⌉ + 1) . destruct ( nceil spec r ) as ( , H ); exact H. Qed . Automated checking Monday, August 15, 2011 3

  12. A primer on computer-aided proofs Correctness from Manual review Lemma : ∀ r : R , ∃ n : N .r < n first principles Proof . intros r ; exists ( ⌈ r ⌉ + 1) . destruct ( nceil spec r ) as ( , H ); exact H. Qed . Automated checking 4 colour C seL4 Kepler theorem compiler HyperV conjecture Monday, August 15, 2011 3

  13. A primer on computer-aided proofs Correctness from Manual review Lemma : ∀ r : R , ∃ n : N .r < n first principles Proof . intros r ; exists ( ⌈ r ⌉ + 1) . destruct ( nceil spec r ) as ( , H ); exact H. Qed . Automated checking Monday, August 15, 2011 3

  14. CertiCrypt Formal framework for security proofs: • Code-based game-based technique • Independently verifiable proofs • Applied to FDH, OAEP, Sigma-Protocols, IBE Monday, August 15, 2011 4

  15. CertiCrypt Formal framework for security proofs: • Code-based game-based technique • Independently verifiable proofs • Applied to FDH, OAEP, Sigma-Protocols, IBE High level of Coq expertise and a lot of time Monday, August 15, 2011 4

  16. CertiCrypt Formal framework for security proofs: • Code-based game-based technique • Independently verifiable proofs • Applied to FDH, OAEP, Sigma-Protocols, IBE High level of Coq expertise and a lot of time Exploit state-of-the-art program verification tools! Monday, August 15, 2011 4

  17. From CertiCrypt to EasyCrypt Formal framework for security proofs: • Code-based game-based technique • Independently verifiable proofs • Applied to FDH, OAEP, Sigma-Protocols, IBE High level of Coq expertise and a lot of time Exploit state-of-the-art program verification tools! Computer-assisted security proofs • With moderate effort • Using off-the-shelf tools Simplify Monday, August 15, 2011 4

  18. The essence of game-based proofs Monday, August 15, 2011 5

  19. The essence of game-based proofs Monday, August 15, 2011 5

  20. The essence of game-based proofs Monday, August 15, 2011 5

  21. The essence of game-based proofs Monday, August 15, 2011 5

  22. The essence of game-based proofs Monday, August 15, 2011 5

  23. The essence of game-based proofs Monday, August 15, 2011 5

  24. The essence of game-based proofs Monday, August 15, 2011 5

  25. The essence of game-based proofs Monday, August 15, 2011 5

  26. The essence of game-based proofs Monday, August 15, 2011 5

  27. The essence of game-based proofs Monday, August 15, 2011 5

  28. The essence of game-based proofs Monday, August 15, 2011 5

  29. Automated verification of proof sketches Monday, August 15, 2011 6

  30. Automated verification of proof sketches Inline Monday, August 15, 2011 6

  31. Automated verification of proof sketches Inline Eager Sampling Monday, August 15, 2011 6

  32. Automated verification of proof sketches Inline Eager Sampling Relational invariant Monday, August 15, 2011 6

  33. Automated verification of proof sketches Inline Eager Sampling Witness Relational invariant Monday, August 15, 2011 6

  34. Automated verification of proof sketches Inline Check VC Eager Sampling Witness Relational invariant Monday, August 15, 2011 6

  35. Automated verification of proof sketches Simplify Inline Check VC Eager Sampling Witness Relational invariant Monday, August 15, 2011 6

  36. Automated verification of proof sketches equiv Fact1 : INDCPA.Main ~ G1.Main : {true} ==> ={res} inline KG, Enc; derandomize; auto inv ={L,LA}; pop{2} 1; repeat rnd; trivial;; save;; Simplify Inline Check VC Eager Sampling Witness Relational invariant Monday, August 15, 2011 6

  37. Automated verification of proof sketches equiv Fact1 : INDCPA.Main ~ G1.Main : {true} ==> ={res} inline KG, Enc; derandomize; auto inv ={L,LA}; pop{2} 1; repeat rnd; trivial;; save;; Simplify Monday, August 15, 2011 6

  38. Automated verification of proof sketches equiv Fact1 : INDCPA.Main ~ G1.Main : {true} ==> ={res} inline KG, Enc; derandomize; auto inv ={L,LA}; pop{2} 1; repeat rnd; trivial;; save;; claim Pr1 : INDCPA.Main[res] == G1.Main[res] using Fact1;; Simplify Monday, August 15, 2011 6

  39. Automated verification of proof sketches equiv Fact1 : INDCPA.Main ~ G1.Main : {true} ==> ={res} inline KG, Enc; derandomize; auto inv ={L,LA}; pop{2} 1; repeat rnd; trivial;; save;; claim Pr1 : INDCPA.Main[res] == G1.Main[res] using Fact1;; Simplify Bridging steps Lazy sampling Code motion Algebraic equivs Failure events Reduction steps Monday, August 15, 2011 6

  40. Automated verification of proof sketches equiv Fact1 : INDCPA.Main ~ G1.Main : {true} ==> ={res} inline KG, Enc; derandomize; auto inv ={L,LA}; pop{2} 1; repeat rnd; trivial;; save;; claim Pr1 : INDCPA.Main[res] == G1.Main[res] using Fact1;; Simplify Bridging steps Lazy sampling Code motion Algebraic equivs Failure events Reduction steps Monday, August 15, 2011 6

  41. Case studies Cramer-Shoup encryption system: 10 games, 1650 lines of EasyCrypt, ~100 lines of Coq CertiCrypt EasyCrypt ElGamal 565 190 Hashed ElGamal 1255 243 Full-Domain Hash 2035 509 Cramer-Shoup n/a 1637 OAEP 11162 n/a Significant reduction in: • script size (from × 2 to ÷5 wrt sequence of games) • development time (~10 times faster) • learning time Monday, August 15, 2011 7

  42. Perspectives Computer-assisted security proofs • Can be built with moderate effort • Using off-the-shelf tools • Producing independently verifiable evidence • Work for challenging example: Cramer-Shoup encryption Monday, August 15, 2011 8

  43. Perspectives Computer-assisted security proofs • Can be built with moderate effort • Using off-the-shelf tools • Producing independently verifiable evidence • Work for challenging example: Cramer-Shoup encryption • Distribute (http://certicrypt.gforge.inria.fr/) • Improve and extend • More examples: SHA3, differential privacy Monday, August 15, 2011 8

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