skip to main content
10.1145/1455770.1455828acmconferencesArticle/Chapter ViewAbstractPublication PagesccsConference Proceedingsconference-collections
research-article

Cryptographically verified implementations for TLS

Published:27 October 2008Publication History

ABSTRACT

We intend to narrow the gap between concrete implementations of cryptographic protocols and their verified models. We develop and verify a small functional implementation of the Transport Layer Security protocol (TLS 1.0). We make use of the same executable code for interoperability testing against mainstream implementations, for automated symbolic cryptographic verification, and for automated computational cryptographic verification. We rely on a combination of recent tools, and we also develop a new tool for extracting computational models from executable code. We obtain strong security guarantees for TLS as used in typical deployments.

References

  1. M. Abadi and C. Fournet. Mobile values, new names, and secure communication. In 28th ACM Symposium on Principles of Programming Languages (POPL'01), pages 104--115, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. M. Bellare and P. Rogaway. Random oracles are practical: A paradigm for designing efficient protocols. In 1st ACM Conference on Computer and Communications Security (CCS'93), pages 62--73, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. K. Bhargavan, C. Fournet, A. D. Gordon, and S. Tse. Verified interoperable implementations of security protocols. In 19th IEEE Computer Security Foundations Workshop (CSFW'06), pages 139--152, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. B. Blanchet. An efficient cryptographic protocol verifier based on Prolog rules. In 14th IEEE Computer Security Foundations Workshop (CSFW'01), pages 82--96, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. B. Blanchet. A computationally sound mechanized prover for security protocols. In IEEE Symposium on Security and Privacy, pages 140--154, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. B. Blanchet and D. Pointcheval. Automated security proofs with sequences of games. In 26th Annual International Cryptology Conference (CRYPTO'06), pages 537--554, 2006.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. D. Bleichenbacher. Chosen ciphertext attacks against protocols based on rsa encryption standard PKCS #1. In 18th Annual Cryptology Conference (CRYPTO'98), pages 1--12, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. S. Chaki and A. Datta. Automated verification of security protocol implementations. Technical Report CMU-Cylab-08-002, Carnegie Mellon University, 2008.Google ScholarGoogle Scholar
  9. T. Dierks and C. Allen. The TLS protocol version 1.0. RFC 2246, IETF, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. T. Dierks and E. Rescorla. The Transport Layer Security (TLS) protocol version 1.1. RFC 4346, IETF, 2006.Google ScholarGoogle Scholar
  11. T. Dierks and E. Rescorla. The Transport Layer Security (TLS) protocol version 1.2. Internet Draft, IETF, 2008.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. D. Dolev and A. Yao. On the security of public key protocols. IEEE Transactions on Information Theory, IT--29(2):198--208, 1983.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. P.-A. Fouque, D. Pointcheval, and S. Zimmer. HMAC is a randomness extractor and applications to TLS. In ACM Symposium on Information, Computer and Communications Security (ASIACCS'08), pages 21--32, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. A. Frier, P. Karlton, and P. Kocher. The SSL protocol version 3.0. Internet Draft, IETF, 1996.Google ScholarGoogle Scholar
  15. S. Gajek, M. Manulis, A.-R. Sadeghi, and J. Schwenk. Provably secure browser-based user-aware mutual authentication over TLS. In ACM Symposium on Information, Computer and Communications Security (ASIACCS'08), pages 300--311, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. J. Goubault-Larrecq and F. Parrennes. Cryptographic protocol analysis on real C code. In 6th International Conference on Verification, Model Checking and Abstract Interpretation (VMCAI'05), pages 363--379, 2005.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. C. He, M. Sundararajan, A. Datta, A. Derek, and J. C. Mitchell. A modular correctness proof of IEEE 802.11i and TLS. In 12th ACM conference on Computer and Communications Security (CCS'05), pages 2--15, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. K. E. Hickman. The SSL protocol. Draft specification, Netscape, 1995.Google ScholarGoogle Scholar
  19. J. Jonsson and J. B. S. Kaliski. On the security of RSA encryption in TLS. In 22nd Annual International Cryptology Conference (CRYPTO'02), pages 127--142, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. J. Jürjens. Security analysis of crypto-based java programs using automated theorem provers. In 21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06), pages 167--176, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. A. Kamil and G. Lowe. Analysing TLS in the strand spaces model. Technical report, Oxford University Computing Laboratory, 2008.Google ScholarGoogle Scholar
  22. V. Klima, O. Pokorny, and T. Rosa. Attacking RSA-based sessions in SSL/TLS. In Cryptographic Hardware and Embedded Systems (CHES'03), pages 426--440, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  23. H. Krawczyk. The order of encryption and authentication for protecting communications (or: How secure is SSL?). In 21st Annual International Cryptology Conference (CRYPTO'01), pages 310--331, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. J. C. Mitchell, V. Shmatikov, and U. Stern. Finite-state analysis of SSL 3.0. In 7th conference on USENIX Security Symposium (SSYM'98), pages 201--216, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. P. Morrissey, N. Smart, and B. Warinschi. A modular security analysis of the TLS handshake protocol. Cryptology ePrint Archive: Report 2008/236, 2008.Google ScholarGoogle Scholar
  26. R. Needham and M. Schroeder. Using encryption for authentication in large networks of computers. Communications of the ACM, 21(12): 993--999, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. K. Ogata and K. Futatsugi. Equational approach to formal analysis of TLS. In 25th IEEE International Conference on Distributed Computing Systems (ICSCS'05), pages 795--804, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. L. C. Paulson. Inductive analysis of the Internet protocol TLS. ACM Transactions on Information and System Security, 2(3):332--351, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. D. H. Phan and D. Pointcheval. About the security of ciphers (semantic security and pseudo-random permutations). In Selected Areas in Cryptography, pages 182--197, 2004.Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. D. Syme. F#, 2005. http://research.microsoft.com/fsharp/.Google ScholarGoogle Scholar
  31. D. Wagner and B. Schneier. Analysis of the SSL 3.0 protocol. In 2nd USENIX Workshop on Electronic Commerce (WOEC'96), pages 29--40, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. A. K. L. Yau, K. G. Paterson, and C. J. Mitchell. Padding oracle attacks on CBC-mode encryption with secret and random IVs. In Fast Software Encryption, pages 299--319, 2005.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Cryptographically verified implementations for TLS

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in
            • Published in

              cover image ACM Conferences
              CCS '08: Proceedings of the 15th ACM conference on Computer and communications security
              October 2008
              590 pages
              ISBN:9781595938107
              DOI:10.1145/1455770

              Copyright © 2008 ACM

              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 27 October 2008

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article

              Acceptance Rates

              CCS '08 Paper Acceptance Rate51of280submissions,18%Overall Acceptance Rate1,261of6,999submissions,18%

              Upcoming Conference

              CCS '24
              ACM SIGSAC Conference on Computer and Communications Security
              October 14 - 18, 2024
              Salt Lake City , UT , USA

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader