Secure implementation of channel abstractions

Communication in distributed systems often relies on useful abstractions such as channels, remote procedure calls, and remote method invocations. The implementations of these abstractions sometimes provide security properties, in particular through encryption. In this paper we study those security properties, focusing on channel abstractions. We introduce a simple high-level language that includes constructs for creating and using secure channels. The language is a variant of the join-calculus and belongs to the same family as the pi-calculus. We show how to translate the high-level language into a lower-level language that includes cryptographic primitives. In this translation, we map communication on secure channels to encrypted communication on public channels. We obtain a correctness theorem for our translation; this theorem implies that one can reason about programs in the high-level language without mentioning the subtle cryptographic protocols used in their lower-level implementation.

[1]  Edward Wobber,et al.  The AltaVista Tunnel Using the Internet to Extend Corporate Networks , 1997, Digit. Tech. J..

[2]  R. Atkinson,et al.  A Socket-Based Key Management API ( and Surrounding Infrastructure ) , 1996 .

[3]  Roger M. Needham,et al.  Using encryption for authentication in large networks of computers , 1978, CACM.

[4]  Robin Milner Functions as Processes , 1990, ICALP.

[5]  Martín Abadi,et al.  Secrecy by typing in security protocols , 1999, JACM.

[6]  Cédric Fournet,et al.  The reflexive CHAM and the join-calculus , 1996, POPL '96.

[7]  Cédric Fournet,et al.  A Hierarchy of Equivalences for Asynchronous Calculi , 1998, ICALP.

[8]  John Linn,et al.  Generic interface to security services , 1994, Comput. Commun..

[9]  Paul C. van Oorschot,et al.  Authentication and authenticated key exchanges , 1992, Des. Codes Cryptogr..

[10]  Jean-Jacques Lévy,et al.  A Calculus of Mobile Agents , 1996, CONCUR.

[11]  Roger Riggs,et al.  A Distributed Object Model for the Java System , 1996, Comput. Syst..

[12]  Martín Abadi,et al.  A Top-Down Look at a Secure Message , 1999, FSTTCS.

[13]  Martín Abadi,et al.  Secure communications processing for distributed languages , 1999, Proceedings of the 1999 IEEE Symposium on Security and Privacy (Cat. No.99CB36344).

[14]  Martín Abadi,et al.  Secure network objects , 1996, Proceedings 1996 IEEE Symposium on Security and Privacy.

[15]  Cosimo Laneve,et al.  Bisimulations in the join-calculus , 1998 .

[16]  John Linn,et al.  Generic Security Service Application Program Interface , 1993, RFC.

[17]  B. Lampson,et al.  Authentication in distributed systems: theory and practice , 1991, TOCS.

[18]  Alfred Menezes,et al.  Handbook of Applied Cryptography , 2018 .

[19]  Rocco De Nicola,et al.  Testing Equivalences for Processes , 1984, Theor. Comput. Sci..

[20]  Martín Abadi,et al.  Secrecy by Typing inSecurity Protocols , 1997, TACS.

[21]  Cosimo Laneve,et al.  Implicit Typing à la ML for the Join-Calculus , 1997, CONCUR.

[22]  Robin Milner,et al.  The Polyadic π-Calculus: a Tutorial , 1993 .

[23]  Nobuko Yoshida,et al.  On Reduction-Based Process Semantics , 1995, Theor. Comput. Sci..

[24]  Arend Rensink,et al.  Fair testing , 1995, Inf. Comput..

[25]  Mads Dam Proving trust in systems of second-order processes , 1998, Proceedings of the Thirty-First Hawaii International Conference on System Sciences.

[26]  Leslie Lamport,et al.  Artificial Intelligence and Language Processing ]acques Cohen Editor a Simple Approach to Specifying Concurrent Systems , 2022 .

[27]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[28]  Martín Abadi,et al.  Secure implementation of channel abstractions , 1998, Proceedings. Thirteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.98CB36226).

[29]  John C. Mitchell,et al.  A probabilistic poly-time framework for protocol analysis , 1998, CCS '98.

[30]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[31]  Martín Abadi,et al.  A calculus for cryptographic protocols: the spi calculus , 1997, CCS '97.

[32]  Martín Abadi,et al.  Protection in Programming-Language Translations , 1998, ICALP.

[33]  Hugo Krawczyk,et al.  Design and Implementation of Modular Key Management Protocol and IP Secure Tunnel on AIX , 1995, USENIX Security Symposium.

[34]  Robin Milner,et al.  The Problem of "Weak Bisimulation up to" , 1992, CONCUR.

[35]  Martín Abadi,et al.  Reasoning about Cryptographic Protocols in the Spi Calculus , 1997, CONCUR.

[36]  Rance Cleaveland,et al.  Divergence and Fair Testing , 1995, ICALP.

[37]  Gérard Berry,et al.  The chemical abstract machine , 1989, POPL '90.

[38]  Martín Abadi,et al.  Secure Web Tunneling , 1998, Comput. Networks.

[39]  Andrew Birrell Secure communication using remote procedure calls , 1985, TOCS.

[40]  John McLean,et al.  A General Theory of Composition for a Class of "Possibilistic'' Properties , 1996, IEEE Trans. Software Eng..