Secure implementation of channel abstractions
- 27 November 2002
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- No. 10436871,p. 105-116
- https://doi.org/10.1109/lics.1998.705647
Abstract
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.Keywords
This publication has 22 references indexed in Scilit:
- Protection in programming-language translationsPublished by Springer Nature ,1998
- Secrecy by typing in security protocolsPublished by Springer Nature ,1997
- On reduction-based process semanticsTheoretical Computer Science, 1995
- Generic interface to security servicesComputer Communications, 1994
- Authentication in distributed systemsACM Transactions on Computer Systems, 1992
- Functions as processesMathematical Structures in Computer Science, 1992
- The chemical abstract machineTheoretical Computer Science, 1992
- Secure communication using remote procedure callsACM Transactions on Computer Systems, 1985
- Testing equivalences for processesTheoretical Computer Science, 1984
- Using encryption for authentication in large networks of computersCommunications of the ACM, 1978