A bisimulation for dynamic sealing

We define λseal, an untyped call-by-value λ-calculus with primitives for protecting abstract data by sealing, and develop a bisimulation proof method that is sound and complete with respect to contextual equivalence. This provides a formal basis for reasoning about data abstraction in open, dynamic settings where static techniques such as type abstraction and logical relations are not applicable.

[1]  Martín Abadi,et al.  A Bisimulation Method for Cryptographic Protocols , 1998, Nord. J. Comput..

[2]  Douglas J. Howe Proving Congruence of Bisimulation in Functional Programming Languages , 1996, Inf. Comput..

[3]  Peter Sewell Modules, abstract types, and distributed versioning , 2001, POPL '01.

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

[5]  Andrew M. Pitts,et al.  Parametric polymorphism and operational equivalence , 2000, Mathematical Structures in Computer Science.

[6]  Rocco De Nicola,et al.  Proof techniques for cryptographic processes , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[7]  Julian Rathke,et al.  A theory of bisimulation for a fragment of concurrent ML with local names , 2004, Theor. Comput. Sci..

[8]  Martín Abadi,et al.  A Calculus for Cryptographic Protocols: The spi Calculus , 1999, Inf. Comput..

[9]  John C. Mitchell,et al.  Abstract types have existential type , 1988, TOPL.

[10]  S. Abramsky The lazy lambda calculus , 1990 .

[11]  Uwe Nestmann,et al.  On Bisimulations for the Spi Calculus , 2002, AMAST.

[12]  John C. Mitchell,et al.  On the Equivalence of Data Representations , 1991, Artificial and Mathematical Theory of Computation.

[13]  John C. Mitchell,et al.  Abstract types have existential types , 1985, POPL.

[14]  Martín Abadi,et al.  Mobile values, new names, and secure communication , 2001, POPL '01.

[15]  James H. Morris,et al.  Lambda-calculus models of programming languages. , 1969 .

[16]  Ian David Bede Stark,et al.  Names and higher-order functions , 1994 .

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

[18]  James H. Morris Protection in programming languages , 1973, CACM.

[19]  Derek Dreyer,et al.  A type system for higher-order modules , 2003, POPL '03.

[20]  Andrew M. Pitts,et al.  Higher order operational techniques in semantics , 1999 .

[21]  Benjamin C. Pierce,et al.  Logical relation for encryption , 2003 .

[22]  Dan Grossman,et al.  Syntactic type abstraction , 2000, TOPL.

[23]  Xavier Leroy,et al.  Applicative functors and fully transparent higher-order modules , 1995, POPL '95.

[24]  Julian Rathke,et al.  Towards a theory of bisimulation for local names , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[25]  Barbara Liskov A history of CLU , 1996 .

[26]  Andrew M. Pitts,et al.  Observable Properties of Higher Order Functions that Dynamically Create Local Names, or What's new? , 1993, MFCS.

[27]  Robin Milner,et al.  Communicating and mobile systems - the Pi-calculus , 1999 .

[28]  John C. Reynolds,et al.  Types, Abstraction and Parametric Polymorphism , 1983, IFIP Congress.

[29]  Dan Grossman,et al.  Principals in programming languages: a syntactic proof technique , 1999, ICFP '99.

[30]  Peter Sewell,et al.  Global abstraction-safe marshalling with hash types , 2003, ICFP '03.

[31]  Benjamin C. Pierce,et al.  A bisimulation for type abstraction and recursion , 2005, POPL '05.

[32]  Andreas Rossberg,et al.  Generativity and dynamic opacity for abstract types , 2003, PPDP '03.

[33]  Gavin Lowe,et al.  An Attack on the Needham-Schroeder Public-Key Authentication Protocol , 1995, Inf. Process. Lett..

[34]  Benjamin C. Pierce,et al.  Logical relations for encryption , 2001, Proceedings. 14th IEEE Computer Security Foundations Workshop, 2001..

[35]  John A. N. Lee,et al.  The second ACM SIGPLAN conference on History of programming languages , 1993 .

[36]  Benjamin C. Pierce,et al.  Relating Cryptography and Polymorphism , 2000 .

[37]  Andrew M. Pitts Existential Types: Logical Relations and Operational Equivalence , 1998, ICALP.

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

[39]  James H. Morris,et al.  Types are not sets , 1973, POPL.

[40]  Davide Sangiorgi,et al.  Communicating and Mobile Systems: the π-calculus, , 2000 .