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

被引:80
作者
Abadi, Martin [1 ,4 ]
Blanchet, Bruno [2 ,5 ]
Fournet, Cedric [3 ]
机构
[1] Google Brain, Mountain View, CA 94043 USA
[2] INRIA, Paris, France
[3] Microsoft Res, 21 Stn Rd, Cambridge CB1 2FB, England
[4] 1600 Amphitheatre Pkwy, Mountain View, CA 94043 USA
[5] 2 Rue Simone Iff, F-75012 Paris, France
关键词
Security protocols; CRYPTOGRAPHIC PROTOCOLS; AUTOMATED VERIFICATION; SYMBOLIC BISIMULATION; LANGUAGE; KNOWLEDGE; SECRECY; TOOL; IMPLEMENTATIONS; EQUIVALENCES; FRAMEWORK;
D O I
10.1145/3127586
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页数:41
相关论文
共 136 条
  • [1] Computer-assisted verification of a protocol for certified email
    Abadi, M
    Blanchet, B
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2005, 58 (1-2) : 3 - 27
  • [2] Analyzing security protocols with secrecy types and logic programs
    Abadi, M
    Blanchet, B
    [J]. JOURNAL OF THE ACM, 2005, 52 (01) : 102 - 146
  • [3] Secure implementation of channel abstractions
    Abadi, M
    Fournet, C
    Gonthier, G
    [J]. THIRTEENTH ANNUAL IEEE SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE, PROCEEDINGS, 1998, : 105 - 116
  • [4] Reconciling two views of cryptography (The computational soundness of formal encryption)
    Abadi, M
    Rogaway, P
    [J]. JOURNAL OF CRYPTOLOGY, 2002, 15 (02) : 103 - 127
  • [5] A calculus for cryptographic protocols: The spi calculus
    Abadi, M
    Gordon, AD
    [J]. INFORMATION AND COMPUTATION, 1999, 148 (01) : 1 - 70
  • [6] Secrecy by typing in security protocols
    Abadi, M
    [J]. JOURNAL OF THE ACM, 1999, 46 (05) : 749 - 786
  • [7] Abadi M., 2000, Conference Record of POPL'00: 27th ACM SIGPLAN-SIGACT. Symposium on Principles of Programming Languages. Papers Presented at the Symposium, P302, DOI 10.1145/325694.325734
  • [8] Abadi M, 1998, LECT NOTES COMPUT SC, V1443, P868, DOI 10.1007/BFb0055109
  • [9] Just fast keying in the Pi calculus
    Abadi, Martin
    Blanchet, Bruno
    Fournet, Cedric
    [J]. ACM TRANSACTIONS ON INFORMATION AND SYSTEM SECURITY, 2007, 10 (03)
  • [10] Deciding knowledge in security protocols under equational theories
    Abadi, Martin
    Cortier, Veronique
    [J]. THEORETICAL COMPUTER SCIENCE, 2006, 367 (1-2) : 2 - 32