Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Open access

The Applied Pi Calculus: Mobile Values, New Names, and Secure Communication

Published: 26 October 2017 Publication History
  • Get Citation Alerts
  • Abstract

    We study the interaction of the programming construct “new,” which generates statically scoped names, with communication via messages on channels. This interaction is crucial in security protocols, which are the main motivating examples for our work; it also appears in other programming-language contexts.
    We define the applied pi calculus, a simple, general extension of the pi calculus in which values can be formed from names via the application of built-in functions, subject to equations, and be sent as messages. (In contrast, the pure pi calculus lacks built-in functions; its only messages are atomic names.) We develop semantics and proof techniques for this extended language and apply them in reasoning about security protocols.
    This article essentially subsumes the conference paper that introduced the applied pi calculus in 2001. It fills gaps, incorporates improvements, and further explains and studies the applied pi calculus. Since 2001, the applied pi calculus has been the basis for much further work, described in many research publications and sometimes embodied in useful software, such as the tool ProVerif, which relies on the applied pi calculus to support the specification and automatic analysis of security protocols. Although this article does not aim to be a complete review of the subject, it benefits from that further work and provides better foundations for some of it. In particular, the applied pi calculus has evolved through its implementation in ProVerif, and the present definition reflects that evolution.

    Supplementary Material

    a1-abadi-apndx.pdf (abadi.zip)
    Supplemental movie, appendix, image and software files for, The Applied Pi Calculus: Mobile Values, New Names, and Secure Communication

    References

    [1]
    Martín Abadi. 1998. Protection in programming-language translations. In Proceedings of the 25th International Colloquium on Automata, Languages and Programming (Lecture Notes in Computer Science), Kim G. Larsen, Sven Skyum, and Glynn Winskel (Eds.), Vol. 1443. Springer, Heidelberg, 868--883. Also Digital Equipment Corporation Systems Research Center report No. 154, April 1998.
    [2]
    Martín Abadi. 1999. Secrecy by typing in security protocols. Journal of the ACM 46, 5 (Sept. 1999), 749--786.
    [3]
    Martín Abadi. 2007. Security protocols: Principles and calculi. In Foundations of Security Analysis and Design IV (FOSAD’07) Tutorial Lectures (Lecture Notes in Computer Science), Alessandro Aldini and Roberto Gorrieri (Eds.), Vol. 4677. Springer, Heidelberg, 1--23.
    [4]
    Martín Abadi and Bruno Blanchet. 2005a. Analyzing security protocols with secrecy types and logic programs. Journal of the ACM 52, 1 (Jan. 2005), 102--146.
    [5]
    Martín Abadi and Bruno Blanchet. 2005b. Computer-assisted verification of a protocol for certified email. Science of Computer Programming 58, 1--2 (Oct. 2005), 3--27. Special issue SAS’03.
    [6]
    Martín Abadi, Bruno Blanchet, and Hubert Comon-Lundh. 2009. Models and proofs of protocol security: A progress report. In Computer Aided Verification, 21st International Conference (Lecture Notes in Computer Science), Ahmed Bouajjani and Oded Maler (Eds.), Vol. 5643. Springer, Heidelberg, 35--49.
    [7]
    Martín Abadi, Bruno Blanchet, and Cédric Fournet. 2007. Just Fast Keying in the pi calculus. ACM Transactions on Information and System Security 10, 2 (2007), 1--59.
    [8]
    Martín Abadi and Véronique Cortier. 2006. Deciding knowledge in security protocols under equational theories. Theoretical Computer Science 367, 1--2 (Nov. 2006), 2--32.
    [9]
    Martín Abadi, Cédric Fournet, and Georges Gonthier. 1998. Secure implementation of channel abstractions. In Proceedings of the 13th Annual IEEE Symposium on Logic in Computer Science. IEEE Computer Society, Los Alamitos, CA, 105--116.
    [10]
    Martín Abadi, Cédric Fournet, and Georges Gonthier. 2000. Authentication primitives and their compilation. In Proceedings of the 27th ACM Symposium on Principles of Programming Languages. ACM Press, New York, 302--315.
    [11]
    Martín Abadi and Andrew D. Gordon. 1999. A calculus for cryptographic protocols: The spi calculus. Information and Computation 148, 1 (Jan. 1999), 1--70. An extended version appeared as Digital Equipment Corporation Systems Research Center report No. 149, January 1998.
    [12]
    Martín Abadi and Phillip Rogaway. 2002. Reconciling two views of cryptography (the computational soundness of formal encryption). Journal of Cryptology 15, 2 (2002), 103--127.
    [13]
    David Adrian, Karthikeyan Bhargavan, Zakir Durumeric, Pierrick Gaudry, Matthew Green, J. Alex Halderman, Nadia Heninger, Drew Springall, Emmanuel Thomé, Luke Valenta, Benjamin VanderSloot, Eric Wustrow, Santiago Zanella-Béguelin, and Paul Zimmermann. 2015. Imperfect forward secrecy: How Diffie-Hellman fails in practice. In ACM SIGSAC Conference on Computer and Communications Security (CCS’15). ACM Press, New York, 5--17.
    [14]
    W. Aiello, S. M. Bellovin, M. Blaze, R. Canetti, J. Ionnidis, A. D. Keromytis, and O. Reingold. 2004. Just Fast Keying: Key agreement in a hostile Internet. ACM Transactions on Information and System Security 7, 2 (May 2004), 1--30.
    [15]
    Xavier Allamigeon and Bruno Blanchet. 2005. Reconstruction of attacks against cryptographic protocols. In 18th IEEE Computer Security Foundations Workshop (CSFW’05). IEEE Computer Society, Los Alamitos, CA, 140--154.
    [16]
    Roberto M. Amadio and Denis Lugiez. 2000. On the reachability problem in cryptographic protocols. In CONCUR 2000: Concurrency Theory (11th International Conference) (Lecture Notes in Computer Science), Catuscia Palamidessi (Ed.), Vol. 1877. Springer, Heidelberg, 380--394.
    [17]
    Myrto Arapinis, Jia Liu, Eike Ritter, and Mark Ryan. 2014. Stateful applied pi calculus. In Principles of Security and Trust—Third International Conference (Lecture Notes in Computer Science), Martín Abadi and Steve Kremer (Eds.), Vol. 8414. Springer, Heidelberg, 22--41.
    [18]
    Myrto Arapinis, Eike Ritter, and Mark Dermot Ryan. 2011. StatVerif: Verification of stateful processes. In 24th IEEE Computer Security Foundations Symposium. IEEE Computer Society, Los Alamitos, CA, 33--47.
    [19]
    Alessandro Armando, David Basin, Yohan Boichut, Yannick Chevalier, Luca Compagna, Jorge Cuellar, Paul Hankes Drielsma, Pierre-Cyrille Héam, Olga Kouchnarenko, Jacopo Mantovani, Sebastian Mödersheim, David von Oheimb, Michaël Rusinowitch, Judson Santiago, Mathieu Turuani, Luca Viganó, and Laurent Vigneron. 2005. The AVISPA tool for automated validation of Internet security protocols and applications. In Computer Aided Verification, 17th International Conference (CAV’05) (Lecture Notes in Computer Science), Kousha Etessami and Sriram K. Rajamani (Eds.), Vol. 3576. Springer, Heidelberg, 281--285.
    [20]
    Nimrod Aviram, Sebastian Schinzel, Juraj Somorovsky, Nadia Heninger, Maik Dankel, Jens Steube, Luke Valenta, David Adrian, J. Alex Halderman, Viktor Dukhovni, Emilia Käsper, Shaanan Cohney, Susanne Engels, Christof Paar, and Yuval Shavitt. 2016. DROWN: Breaking TLS using SSLv2. In USENIX Security Symposium. USENIX, Berkeley, CA, 689--706.
    [21]
    Michael Backes, Dennis Hofheinz, and Dominique Unruh. 2009. CoSP: A general framework for computational soundness proofs. In 16th ACM Conference on Computer and Communications Security. ACM Press, New York, 66--78.
    [22]
    Michael Backes, Matteo Maffei, and Dominique Unruh. 2008. Zero-knowledge in the applied pi-calculus and automated verification of the direct anonymous attestation protocol. In IEEE Symposium on Security and Privacy (S&P’’08). IEEE Computer Society, Los Alamitos, CA, 202--215.
    [23]
    Michael Baldamus, Joachim Parrow, and Björn Victor. 2004. Spi calculus translated to pi-calculus preserving may-tests. In 19th Annual IEEE Symposium on Logic in Computer Science. IEEE Computer Society, Los Alamitos, CA, 22--31.
    [24]
    Chetan Bansal, Karthikeyan Bhargavan, and Sergio Maffeis. 2012. Discovering concrete attacks on website authorization by formal analysis. In 25th IEEE Computer Security Foundations Symposium. IEEE Computer Society, Los Alamitos, CA, 247--262.
    [25]
    Gilles Barthe, Benjamin Grégoire, and Santiago Zanella Béguelin. 2010. Programming language techniques for cryptographic proofs. In Interactive Theorem Proving, 1st International Conference (Lecture Notes in Computer Science), Matt Kaufmann and Lawrence C. Paulson (Eds.), Vol. 6172. Springer, Heidelberg, 115--130.
    [26]
    David Basin, Jannik Dreier, and Ralf Casse. 2015. Automated symbolic proofs of observational equivalence. In 22nd ACM Conference on Computer and Communications Security (CCS’15). ACM, New York, 1144--1155.
    [27]
    Mathieu Baudet. 2005. Deciding security of protocols against off-line guessing attacks. In Proceedings of the 12th ACM Conference on Computer and Communications Security (CCS’05). ACM Press, New York, 16--25.
    [28]
    Mathieu Baudet. 2007. Sécurité Des Protocoles Cryptographiques: Aspects Logiques et Calculatoires. Ph.D. Dissertation. Ecole Normale Supérieure de Cachan.
    [29]
    Mathieu Baudet, Véronique Cortier, and Stéphanie Delaune. 2009a. YAPA: A generic tool for computing intruder knowledge. In Rewriting Techniques and Applications (RTA’09) (Lecture Notes in Computer Science), Ralf Treinen (Ed.), Vol. 5595. Springer, Heidelberg, 148--163. http://dx.doi.org/10.1007/978-3-642-02348-4_11.
    [30]
    Mathieu Baudet, Véronique Cortier, and Steve Kremer. 2009b. Computationally sound implementations of equational theories against passive adversaries. Information and Computation 207, 4 (2009), 496--520.
    [31]
    Mihir Bellare and Phillip Rogaway. 1993. Entity authentication and key distribution. In Advances in Cryptology (CRYPTO’94) (Lecture Notes in Computer Science), Vol. 773. Springer, Heidelberg, 232--249.
    [32]
    Jesper Bengtson, Magnus Johansson, Joachim Parrow, and Björn Victor. 2011. Psi-calculi: A framework for mobile processes with nominal data and logic. Logical Methods in Computer Science 7, 1, Article 11 (2011), 44 pages.
    [33]
    Gérard Berry and Gérard Boudol. 1992. The chemical abstract machine. Theoretical Computer Science 96, 1 (April 1992), 217--248.
    [34]
    Karthikeyan Bhargavan, Bruno Blanchet, and Nadim Kobeissi. 2017a. Verified models and reference implementations for the TLS 1.3 standard candidate. In IEEE Symposium on Security and Privacy (S&P’’17). IEEE, Los Alamitos, CA, 483--503.
    [35]
    Karthikeyan Bhargavan, Ricardo Corin, Cédric Fournet, and Eugen Zălinescu. 2008a. Cryptographically verified implementations for TLS. In 15th ACM Conference on Computer and Communications Security (CCS’08). ACM, New York, 459--468.
    [36]
    Karthikeyan Bhargavan, Antoine Delignat-Lavaud, Cédric Fournet, Markulf Kohlweiss, Jianyang Pan, Jonathan Protzenko, Aseem Rastogi, Nikhil Swamy, Santiago Zanella-Béguelin, and Jean Karim Zinzindohoué. 2017b. Implementing and proving the TLS 1.3 record layer. In IEEE Symposium on Security and Privacy (S&P’’17). IEEE, Los Alamitos, CA, 463--482.
    [37]
    Karthikeyan Bhargavan, Antoine Delignat-Lavaud, Cédric Fournet, Alfredo Pironti, and Pierre-Yves Strub. 2014a. Triple handshakes and cookie cutters: Breaking and fixing authentication over TLS. In IEEE Symposium on Security and Privacy (S&P’’14). IEEE Computer Society, Los Alamitos, CA, 98--113.
    [38]
    Karthikeyan Bhargavan, Cédric Fournet, Ricardo Corin, and Eugen Zălinescu. 2012. Verified cryptographic implementations for TLS. ACM TOPLAS 15, 1, Article 3 (2012), 32 pages.
    [39]
    Karthikeyan Bhargavan, Cédric Fournet, Andrew D. Gordon, and Riccardo Pucella. 2003. TulaFale: A security tool for web services. In Formal Methods for Components and Objects (FMCO’03) (Lecture Notes in Computer Science), Frank S. de Boer, Marcello M. Bonsangue, Susanne Graf, and Willem-Paul de Roever (Eds.), Vol. 3188. Springer, Heidelberg, 197--222.
    [40]
    Karthikeyan Bhargavan, Cédric Fournet, Andrew D. Gordon, and Stephen Tse. 2008b. Verified interoperable implementations of security protocols. ACM Transactions on Programming Languages and Systems 31, 1, Article 5 (Dec. 2008), 61 pages.
    [41]
    Karthikeyan Bhargavan, Cédric Fournet, Markulf Kohlweiss, Alfredo Pironti, Pierre-Yves Strub, and Santiago Zanella-Béguelin. 2014b. Proving the TLS handshake secure (as it is). In Advances in Cryptology (CRYPTO’14) (Lecture Notes in Computer Science), Vol. 8617. Springer, Heidelberg, 235--255.
    [42]
    Karthikeyan Bhargavan, Cédric Fournet, Markulf Kohlweiss, Alfredo Pironti, and Pierre-Yves Strub. 2013. Implementing TLS with verified cryptographic security. In IEEE Symposium on Security and Privacy (S&P’’13). IEEE Computer Society, Los Alamitos, CA, 445--459.
    [43]
    Bruno Blanchet. 2001. An efficient cryptographic protocol verifier based on Prolog rules. In 14th IEEE Computer Security Foundations Workshop. IEEE Computer Society, Los Alamitos, CA, 82--96.
    [44]
    Bruno Blanchet. 2004. Automatic proof of strong secrecy for security protocols. In 2004 IEEE Symposium on Security and Privacy. IEEE Computer Society, Los Alamitos, CA, 86--100.
    [45]
    Bruno Blanchet. 2006. A computationally sound mechanized prover for security protocols. In IEEE Symposium on Security and Privacy (S&P’’06). IEEE Computer Society, Los Alamitos, CA, 140--154.
    [46]
    Bruno Blanchet. 2009. Automatic verification of correspondences for security protocols. Journal of Computer Security 17, 4 (July 2009), 363--434.
    [47]
    Bruno Blanchet. 2016. Modeling and verifying security protocols with the applied pi calculus and ProVerif. Foundations and Trends in Privacy and Security 1, 1--2 (Oct. 2016), 1--135.
    [48]
    Bruno Blanchet, Martín Abadi, and Cédric Fournet. 2008. Automated verification of selected equivalences for security protocols. Journal of Logic and Algebraic Programming 75, 1 (Feb.--March 2008), 3--51.
    [49]
    Bruno Blanchet and Benjamin Aziz. 2003. A calculus for secure mobility. In 8th Asian Computing Science Conference (ASIAN’03) (Lecture Notes in Computer Science), Vijay Saraswat (Ed.), Vol. 2896. Springer, Heidelberg, 188--204.
    [50]
    Bruno Blanchet and David Pointcheval. 2006. Automated security proofs with sequences of games. In Advances in Cryptology (CRYPTO’06) (Lecture Notes in Computer Science), Vol. 4117. Springer, Heidelberg, 537--554.
    [51]
    Chiara Bodei, Pierpaolo Degano, Flemming Nielson, and Hanne Riis Nielson. 1998. Control flow analysis for the pi-calculus. In CONCUR’98: Concurrency Theory (9th International Conference) (Lecture Notes in Computer Science), Davide Sangiorgi and Robert de Simone (Eds.), Vol. 1466. Springer, Heidelberg, 84--98.
    [52]
    Michele Boreale, Rocco De Nicola, and Rosario Pugliese. 1999. Proof techniques for cryptographic processes. In Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science. IEEE Computer Society, Los Alamitos, CA, 157--166.
    [53]
    Johannes Borgström, Ramunas Gutkovas, Joachim Parrow, Björn Victor, and Johannes Åman Pohjola. 2014. A sorted semantic framework for applied process calculi (extended abstract). In Trustworthy Global Computing (TGC’13) (Lecture Notes in Computer Science), Martín Abadi and Alberto Lluch Lafuente (Eds.), Vol. 8358. Springer, Cham, 103--118.
    [54]
    Johannes Borgström, Ramunas Gutkovas, Joachim Parrow, Björn Victor, and Johannes Åman Pohjola. 2016. A sorted semantic framework for applied process calculi. Logical Methods in Computer Science 12, 1, Article 8 (March 2016), 49 pages.
    [55]
    Sébastien Briais. 2008. Theory and Tool Support for the Formal Verification of Cryptographic Protocols. Ph.D. Dissertation. École Polytechnique Fédérale de Lausanne.
    [56]
    Maria Grazia Buscemi and Ugo Montanari. 2007. CC-Pi: A constraint-based language for specifying service level agreements. In Programming Languages and Systems, 16th European Symposium on Programming (ESOP’07) (Lecture Notes in Computer Science), Rocco De Nicola (Ed.), Vol. 4421. Springer, Berlin, 18--32.
    [57]
    Marco Carbone and Sergio Maffeis. 2003. On the expressive power of polyadic synchronisation in pi-calculus. Nordic Journal of Computing 10, 2 (2003), 70--98.
    [58]
    Luca Cardelli. 2000. Mobility and security. In Foundations of Secure Computation (NATO Science Series), F. L. Bauer and R. Steinbrueggen (Eds.). IOS Press, Amsterdam, 3--37.
    [59]
    Luca Cardelli and Andrew D. Gordon. 2000. Mobile ambients. Theoretical Computer Science 240, 1 (June 2000), 177--213.
    [60]
    Rohit Chadha, Stefan Ciobaca, and Steve Kremer. 2012. Automated verification of equivalence properties of cryptographic protocols. In Programming Languages and Systems - 21st European Symposium on Programming (ESOP’12) (Lecture Notes in Computer Science), Helmut Seidl (Ed.), Vol. 7211. Springer, Heidelberg, 108--127.
    [61]
    Vincent Cheval, Véronique Cortier, and Stéphanie Delaune. 2013. Deciding equivalence-based properties using constraint solving. Theoretical Computer Science 492 (June 2013), 1--39.
    [62]
    Rémy Chrétien, Véronique Cortier, and Stéphanie Delaune. 2015a. Decidability of trace equivalence for protocols with nonces. In 28th IEEE Computer Security Foundations Symposium (CSF’15). IEEE Computer Society, Los Alamitos, CA, 170--184.
    [63]
    Rémy Chrétien, Véronique Cortier, and Stéphanie Delaune. 2015b. From security protocols to pushdown automata. ACM Transactions on Computational Logic 17, 1, Article 3 (Sept. 2015), 45 pages.
    [64]
    Ştefan Ciobâcă, Stéphanie Delaune, and Steve Kremer. 2012. Computing knowledge in security protocols under convergent equational theories. Journal of Automated Reasoning 48, 2 (Feb. 2012), 219--262.
    [65]
    Hubert Comon-Lundh and Véronique Cortier. 2008. Computational soundness of observational equivalence. In Proceedings of the 15th ACM Conference on Computer and Communications Security. ACM Press, New York, 109--118.
    [66]
    Sylvain Conchon and Fabrice Le Fessant. 1999. Jocaml: Mobile Agents for Objective-Caml. In 1st International Symposium on Agent Systems and Applications (ASA’99)/3rd International Symposium on Mobile Agents (MA’99). IEEE Computer Society, 22--29.
    [67]
    Core SDI S.A. 1998. SSH insertion attack. Bugtraq mailing list. (June 1998). Retrieved from http://seclists.org/bugtraq/1998/Jun/65.
    [68]
    Jean-Sébastien Coron, Yevgeniy Dodis, Cécile Malinaud, and Prashant Puniya. 2005. Merkle-Damgård revisited: How to construct a hash function. In Advances in Cryptology (CRYPTO’05) (Lecture Notes in Computer Science), Vol. 3621. Springer, Heidelberg, 430--448.
    [69]
    Véronique Cortier and Steve Kremer. 2014. Formal models and techniques for analyzing security protocols: A tutorial. Foundations and Trends in Programming Languages 1, 3 (2014), 151--267.
    [70]
    Cas Cremers, Marko Horvat, Sam Scott, and Thyla van der Merwe. 2016. Automated analysis and verification of TLS 1.3: 0-RTT, resumption and delayed authentication. In IEEE Symposium on Security and Privacy (S&P’’16). IEEE Computer Society, Los Alamitos, CA, 470--485.
    [71]
    Cas J. F. Cremers. 2008. Unbounded verification, falsification, and characterization of security protocols by pattern refinement. In 15th ACM Conference on Computer and Communications Security (CCS’08). ACM Press, New York, 119--128.
    [72]
    Luís Cruz-Filipe, Ivan Lanese, Francisco Martins, António Ravara, and Vasco Thudichum Vasconcelos. 2014. The stream-based service-centered calculus: A foundation for service-oriented programming. Formal Aspects of Computing 26, 5 (2014), 865--918.
    [73]
    M. Curti, P. Degano, C. Priami, and C. T. Baldari. 2004. Modelling biochemical pathways through enhanced -calculus. Theoretical Computer Science 325 (2004), 111--140.
    [74]
    Mads Dam. 1998. Proving trust in systems of second-order processes. In Proceedings of the 31th Hawaii International Conference on System Sciences, Vol. VII. IEEE Computer Society, Los Alamitos, CA, 255--264.
    [75]
    Anupam Datta, Ante Derek, John C. Mitchell, and Dusko Pavlovic. 2005. A derivation system and compositional logic for security protocols. Journal of Computer Security 13, 3 (2005), 423--482.
    [76]
    Stéphanie Delaune, Steve Kremer, and Mark D. Ryan. 2007. Symbolic Bisimulation for the Applied Pi Calculus. Research Report LSV-07-14. LSV, ENS Cachan.
    [77]
    Stéphanie Delaune, Steve Kremer, and Mark D. Ryan. 2009. Verifying privacy-type properties of electronic voting protocols. Journal of Computer Security 17, 4 (July 2009), 435--487.
    [78]
    Stéphanie Delaune, Steve Kremer, and Mark D. Ryan. 2010. Symbolic bisimulation for the applied pi calculus. Journal of Computer Security 18, 2 (2010), 317--377.
    [79]
    Richard A. DeMillo, Nancy A. Lynch, and Michael Merritt. 1982. Cryptographic protocols. In Proceedings of the 14th Annual ACM Symposium on Theory of Computing. ACM Press, New York, 383--400.
    [80]
    T. Dierks and E. Rescorla. 2008. The Transport Layer Security (TLS) Protocol Version 1.2. IETF RFC 5246. (2008).
    [81]
    W. Diffie and M. Hellman. 1976. New directions in cryptography. IEEE Transactions on Information Theory IT-22, 6 (Nov. 1976), 644--654.
    [82]
    Whitfield Diffie, Paul C. van Oorschot, and Michael J. Wiener. 1992. Authentication and authenticated key exchanges. Designs, Codes and Cryptography 2 (1992), 107--125.
    [83]
    Danny Dolev and Andrew C. Yao. 1983. On the security of public key protocols. IEEE Transactions on Information Theory IT-29, 12 (March 1983), 198--208.
    [84]
    Santiago Escobar, Catherine Meadows, and José Meseguer. 2006. A rewriting-based inference system for the NRL protocol analyzer and its meta-logical properties. Theoretical Computer Science 367, 1--2 (2006), 162--202.
    [85]
    Cédric Fournet and Georges Gonthier. 1998. A hierarchy of equivalences for asynchronous calculi. In Proceedings of the 25th International Colloquium on Automata, Languages and Programming (Lecture Notes in Computer Science), Kim G. Larsen, Sven Skyum, and Glynn Winskel (Eds.), Vol. 1443. Springer, Heidelberg, 844--855.
    [86]
    Alan O. Freier, Philip Karlton, and Paul C. Kocher. November 1996. The SSL Protocol: Version 3.0. (November 1996). Internet Draft retrieved from http://tools.ietf.org/html/draft-ietf-tls-ssl-version3-00.
    [87]
    Shafi Goldwasser and Mihir Bellare. 1999. Lecture Notes on Cryptography. Summer Course “Cryptography and Computer Security” at MIT, 1996--1999. (Aug. 1999).
    [88]
    Shafi Goldwasser and Silvio Micali. 1984. Probabilistic encryption. Journal on Computer System Science 28 (April 1984), 270--299.
    [89]
    Shafi Goldwasser, Silvio Micali, and Ronald Rivest. 1988. A digital signature scheme secure against adaptive chosen-message attack. SIAM Journal on Computing 17 (1988), 281--308.
    [90]
    Andrew Gordon and Alan Jeffrey. 2004. Types and effects for asymmetric cryptographic protocols. Journal of Computer Security 12, 3/4 (2004), 435--484.
    [91]
    Daniel Hirschkoff. 1997. A full formalisation of -calculus theory in the calculus of constructions. In Theorem Proving in Higher Order Logics (Lecture Notes in Computer Science), Elsa L. Gunter and Amy Felty (Eds.), Vol. 1275. Springer, New York, 153--169.
    [92]
    Kohei Honda and Nobuko Yoshida. 1995. On reduction-based process semantics. Theoretical Computer Science 151 (1995), 437--486.
    [93]
    Furio Honsell, Marino Miculan, and Ivan Scagnetto. 2001. π -calculus in (co) inductive type theory. Theoretical Computer Science 253, 2 (2001), 239--285.
    [94]
    Tibor Jager, Florian Kohlar, Sven Schäge, and Jörg Schwenk. 2012. On the security of TLS-DHE in the standard model. In CRYPTO’12. Springer, New York, 273--293.
    [95]
    R. Kemmerer, C. Meadows, and J. Millen. 1994. Three systems for cryptographic protocol analysis. Journal of Cryptology 7, 2 (Spring 1994), 79--130.
    [96]
    Hugo Krawczyk. 1996. SKEME: A versatile secure key exchange mechanism for Internet. In Proceedings of the Internet Society Symposium on Network and Distributed Systems Security. IEEE Computer Society, Los Alamitos, CA, 114--127.
    [97]
    Hugo Krawczyk, Kenneth G. Paterson, and Hoeteck Wee. 2013. On the security of the TLS protocol: A systematic analysis. In CRYPTO’13. Springer, New York, 429--448.
    [98]
    Steve Kremer and Robert Künnemann. 2014. Automated analysis of security protocols with global state. In IEEE Symposium on Security and Privacy (S&P’’14). IEEE Computer Society, Los Alamitos, CA, 163--178.
    [99]
    Steve Kremer and Mark D. Ryan. 2005. Analysis of an electronic voting protocol in the applied pi calculus. In Programming Languages and Systems: 14th European Symposium on Programming (ESOP’05) (Lecture Notes in Computer Science), Mooly Sagiv (Ed.), Vol. 3444. Springer, Heidelberg, 186--200.
    [100]
    Alessandro Lapadula, Rosario Pugliese, and Francesco Tiezzi. 2007. A calculus for orchestration of web services. In Programming Languages and Systems, 16th European Symposium on Programming (ESOP’07) (Lecture Notes in Computer Science), Rocco De Nicola (Ed.), Vol. 4421. Springer, Berlin, 33--47.
    [101]
    Ben Liblit and Alexander Aiken. 2000. Type systems for distributed data structures. In Proceedings of the 27th ACM Symposium on Principles of Programming Languages. ACM Press, New York, 199--213.
    [102]
    P. Lincoln, J. Mitchell, M. Mitchell, and A. Scedrov. 1998. A probabilistic poly-time framework for protocol analysis. In Proceedings of the 5th ACM Conference on Computer and Communications Security. ACM Press, New York, 112--121.
    [103]
    Jia Liu. 2011. A Proof of Coincidence of Labeled Bisimilarity and Observational Equivalence in Applied Pi Calculus. http://lcs.ios.ac.cn/∼jliu/papers/LiuJia0608.pdf. (2011).
    [104]
    Jia Liu and Humin Lin. 2012. A complete symbolic bisimulation for full applied pi calculus. Theoretical Computer Science 458 (Nov. 2012), 76--112.
    [105]
    Gavin Lowe. 1996. Breaking and fixing the Needham-Schroeder public-key protocol using FDR. In Tools and Algorithms for the Construction and Analysis of Systems (Lecture Notes in Computer Science), Vol. 1055. Springer, Heidelberg, 147--166.
    [106]
    Roberto Lucchi and Manuel Mazzara. 2007. A pi-calculus based semantics for WS-BPEL. Journal of Logic and Algebraic Programming 70 (2007), 96--118.
    [107]
    Joana Martinho and António Ravara. 2011. Encoding cryptographic primitives in a calculus with polyadic synchronisation. Journal of Automated Reasoning 46, 3--4 (2011), 293--323.
    [108]
    Simon Meier, Benedikt Schmidt, Cas Cremers, and David A. Basin. 2013. The Tamarin prover for the symbolic analysis of security protocols. In Computer Aided Verification, 25th International Conference (CAV’13) (Lecture Notes in Computer Science), Natasha Sharygina and Helmut Veith (Eds.), Vol. 8044. Springer, Heidelberg, 696--701.
    [109]
    Alfred J. Menezes, Paul C. van Oorschot, and Scott A. Vanstone. 1996. Handbook of Applied Cryptography. CRC Press, Boca Raton, FL.
    [110]
    Michael J. Merritt. 1983. Cryptographic Protocols. Ph.D. Dissertation. Georgia Institute of Technology.
    [111]
    Robin Milner. 1989. Communication and Concurrency. Prentice Hall, Upper Saddle River, NJ.
    [112]
    Robin Milner. 1992. Functions as processes. Mathematical Structures in Computer Science 2 (1992), 119--141.
    [113]
    Robin Milner. 1999. Communicating and Mobile Systems: The π -Calculus. Cambridge University Press, Cambridge.
    [114]
    Robin Milner and Davide Sangiorgi. 1992. Barbed bisimulation. In Automata, Languages and Programming: 19th International Colloquium Wien, Austria, July 13--17, 1992 Proceedings, W. Kuich (Ed.). Springer, Berlin, 685--695.
    [115]
    John C. Mitchell. 1996. Foundations for Programming Languages. MIT Press, Cambridge, MA.
    [116]
    John C. Mitchell, Mark Mitchell, and Ulrich Stern. 1997. Automated analysis of cryptographic protocols using Mur. In Proceedings of the 1997 IEEE Symposium on Security and Privacy. IEEE Computer Society, Los Alamitos, CA, 141--151.
    [117]
    Kenneth G. Paterson, Thomas Ristenpart, and Thomas Shrimpton. 2011. Tag size does matter: Attacks and proofs for the TLS record protocol. In ASIACRYPT. Springer, Berlin, 372--389.
    [118]
    Lawrence C. Paulson. 1998. The inductive approach to verifying cryptographic protocols. Journal of Computer Security 6, 1--2 (1998), 85--128.
    [119]
    Andreas Pfitzmann and Marit Köhntopp. 2001. Anonymity, unobservability, and pseudonymity -- A proposal for terminology. In International Workshop on Design Issues in Anonymity and Unobservability (Lecture Notes in Computer Science), Vol. 2009. Springer, New York, 1--9. Extended versions available at http://dud.inf.tu-dresden.de/Anon_Terminology.shtml.
    [120]
    Birgit Pfitzmann, Matthias Schunter, and Michael Waidner. 2000. Cryptographic security of reactive systems (extended abstract). Electronic Notes in Theoretical Computer Science 32 (April 2000), 59--77.
    [121]
    Benjamin C. Pierce and David N. Turner. 2000. Pict: A programming language based on the pi-calculus. In Proof, Language and Interaction: Essays in Honour of Robin Milner (Foundations of Computing), Gordon Plotkin, Colin Stirling, and Mads Tofte (Eds.). MIT Press, Cambridge, MA, 455--494.
    [122]
    Mark D. Ryan and Ben Smyth. 2011. Applied pi calculus. In Formal Models and Techniques for Analyzing Security Protocols, Véronique Cortier and Steve Kremer (Eds.). IOS Press, Amsterdam, 112--142. http://www.bensmyth.com/files/Smyth10-applied-pi-calculus.pdf.
    [123]
    Peter Y. A. Ryan and Steve A. Schneider. 1998. An attack on a recursive authentication protocol. a cautionary tale. Information Processing Letters 65, 1 (Jan. 1998), 7--10.
    [124]
    Davide Sangiorgi. 1993. Expressing Mobility in Process Algebras: First-Order and Higher-Order Paradigms. Ph.D. Dissertation. University of Edinburgh.
    [125]
    D. Sangiorgi. 1998. On the bisimulation proof method. Journal of Mathematical Structures in Computer Science 8 (1998), 447--479.
    [126]
    Sonia Santiago, Santiago Escobar, Catherine Meadows, and José Meseguer. 2014. A formal definition of protocol indistinguishability and its verification using Maude-NPA. In Security and Trust Management (STM’14) (Lecture Notes in Computer Science), Sjouke Mauw and Christian Damsgaard Jensen (Eds.), Vol. 8743. Springer, Heidelberg, 162--177.
    [127]
    Benedikt Schmidt, Simon Meier, Cas Cremers, and David Basin. 2012. Automated analysis of Diffie-Hellman protocols and advanced security properties. In 25th IEEE Computer Security Foundations Symposium (CSF’12). IEEE Computer Society, Los Alamitos, CA, 78--94.
    [128]
    Steve Schneider. 1996. Security properties and CSP. In Proceedings of the 1996 IEEE Symposium on Security and Privacy. IEEE Computer Society, Los Alamitos, CA, 174--187.
    [129]
    Bruce Schneier. 1996. Applied Cryptography: Protocols, Algorithms, and Source Code in C (2nd ed.). John Wiley 8 Sons, Hoboken, NJ.
    [130]
    Stuart G. Stubblebine and Virgil D. Gligor. 1992. On message integrity in cryptographic protocols. In Proceedings of the 1992 IEEE Symposium on Research in Security and Privacy. IEEE Computer Society, Los Alamitos, CA, 85--104.
    [131]
    F. Javier Thayer Fábrega, Jonathan C. Herzog, and Joshua D. Guttman. 1998. Strand spaces: Why is a security protocol correct? In Proceedings of the 1998 IEEE Symposium on Security and Privacy. IEEE Computer Society, Los Alamitos, CA, 160--171.
    [132]
    Alwen Tiu and Jeremy Dawson. 2010. Automating open bisimulation checking for the spi-calculus. In 23rd IEEE Computer Security Foundations Symposium (CSF’10). IEEE Computer Society, Los Alamitos, CA, 307--321.
    [133]
    Mathy Vanhoef and Frank Piessens. 2015. All your biases belong to us: Breaking RC4 in WPA-TKIP and TLS. In USENIX Security Symposium. USENIX, Berkeley, CA, 97--112.
    [134]
    Björn Victor. 1998. The Fusion Calculus: Expressiveness and Symmetry in Mobile Processes. Ph.D. Dissertation. Dept. of Computer Systems, Uppsala University, Sweden.
    [135]
    Peter H. Welch and Frederick R. M. Barnes. 2005. Communicating mobile processes: Introducing occam-pi. In Communicating Sequential Processes. The First 25 Years (Lecture Notes in Computer Science), Ali E. Abdallah, Cliff B. Jones, and Jeff W. Sanders (Eds.), Vol. 3525. Springer, Berlin, 175--210.
    [136]
    Lucian Wischik and Philippa Gardner. 2004. Strong bisimulation for the explicit fusion calculus. In Foundations of Software Science and Computation Structures, 7th International Conference (FOSSACS’04) (Lecture Notes in Computer Science), Igor Walukiewicz (Ed.), Vol. 2987. Springer, Berlin, 484--498.
    [137]
    Andrew C. Yao. 1982. Theory and applications of trapdoor functions. In Proceedings of the 23rd Annual Symposium on Foundations of Computer Science (FOCS’82). IEEE Computer Society, Los Angeles, CA, 80--91.

    Cited By

    View all

    Index Terms

    1. The Applied Pi Calculus: Mobile Values, New Names, and Secure Communication

        Recommendations

        Comments

        Information & Contributors

        Information

        Published In

        cover image Journal of the ACM
        Journal of the ACM  Volume 65, Issue 1
        February 2018
        209 pages
        ISSN:0004-5411
        EISSN:1557-735X
        DOI:10.1145/3155102
        Issue’s Table of Contents
        This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike International 4.0 License.

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        Published: 26 October 2017
        Accepted: 01 July 2017
        Revised: 01 July 2017
        Received: 01 October 2015
        Published in JACM Volume 65, Issue 1

        Permissions

        Request permissions for this article.

        Check for updates

        Author Tag

        1. Security protocols

        Qualifiers

        • Research-article
        • Research
        • Refereed

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

        • Downloads (Last 12 months)207
        • Downloads (Last 6 weeks)16

        Other Metrics

        Citations

        Cited By

        View all
        • (2024)SSI, from Specifications to Protocol? Formally Verify Security!Proceedings of the ACM on Web Conference 202410.1145/3589334.3645426(1620-1631)Online publication date: 13-May-2024
        • (2024)LπCETIET Information Security10.1049/2024/26347442024Online publication date: 1-Jan-2024
        • (2024)Development of a provably secure and privacy-preserving lightweight authentication scheme for roaming services in global mobility networkJournal of Network and Computer Applications10.1016/j.jnca.2024.103831(103831)Online publication date: Jan-2024
        • (2024)A novel formal logic for formal analysis of timeliness in non-repudiation protocolsJournal of King Saud University - Computer and Information Sciences10.1016/j.jksuci.2023.10166435:8Online publication date: 10-Jan-2024
        • (2024)A process calculus SMrCaIT for IoTJournal of Software: Evolution and Process10.1002/smr.259536:5Online publication date: 25-Apr-2024
        • (2023)Symbolic protocol verification with dice1Journal of Computer Security10.3233/JCS-23003731:5(501-538)Online publication date: 13-Oct-2023
        • (2023)IoT Modeling and Verification: From the CaIT Calculus to UPPAALIEICE Transactions on Information and Systems10.1587/transinf.2022EDP7223E106.D:9(1507-1518)Online publication date: 1-Sep-2023
        • (2023)Automated Security Analysis for Real-World IoT DevicesProceedings of the 12th International Workshop on Hardware and Architectural Support for Security and Privacy10.1145/3623652.3623667(29-37)Online publication date: 29-Oct-2023
        • (2023)Provably Unlinkable Smart Card-based PaymentsProceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security10.1145/3576915.3623109(1392-1406)Online publication date: 15-Nov-2023
        • Show More Cited By

        View Options

        View options

        PDF

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        Get Access

        Login options

        Full Access

        Media

        Figures

        Other

        Tables

        Share

        Share

        Share this Publication link

        Share on social media