Protection in Programming-Language Translations

We discuss abstractions for protection and the correctness of their implementations. Relying on the concept of full abstraction, we consider two examples: (1) the translation of Java classes to an intermediate bytecode language, and (2) in the setting of the pi calculus, the implementation of private channels in terms of cryptographic operations.

[1]  Jon G. Riecke,et al.  Fully abstract translations between functional languages , 1991, POPL '91.

[2]  Jorge Luis Borges,et al.  La Muerte Y La Brújula , 1994 .

[3]  Ehud Shapiro,et al.  Separating concurrent languages with categories of language embeddings , 1991, STOC '91.

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

[5]  Rocco De Nicola,et al.  Testing Equivalence for Mobile Processes , 1995, Inf. Comput..

[6]  Dorothy E. Denning,et al.  Cryptography and Data Security , 1982 .

[7]  Butler W. Lampson,et al.  Reflections on an operating system design , 1976, CACM.

[8]  Martín Abadi,et al.  Secure Network Objects , 1999, Secure Internet Programming.

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

[10]  John C. Mitchell On Abstraction and the Expressive Power of Programming Languages , 1993, Sci. Comput. Program..

[11]  Dan S. Wallach,et al.  Java security: Web browsers and beyond , 1997 .

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

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

[14]  Andrew C. Myers,et al.  A decentralized model for information flow control , 1997, SOSP.

[15]  Martín Abadi,et al.  Authentication in the Taos operating system , 1993, SOSP '93.

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

[17]  Robin Milner,et al.  Fully Abstract Models of Typed lambda-Calculi , 1977, Theor. Comput. Sci..

[18]  Barbara Liskov,et al.  A language extension for expressing constraints on data access , 1978, CACM.

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

[20]  Zhenyu Qian,et al.  A Formal Specification of Java Virtual Machine Instructions for Objects, Methods and Subrountines , 1999, Formal Syntax and Semantics of Java.

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

[22]  Butler W. Lampson,et al.  Hints for Computer System Design , 1983, IEEE Software.

[23]  Karl Crary,et al.  From system F to typed assembly language , 1999, TOPL.

[24]  Frank Yellin,et al.  The Java Virtual Machine Specification , 1996 .

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

[26]  Stephen N. Freund,et al.  A type system for object initialization in the Java bytecode language , 1998, OOPSLA '98.

[27]  Xavier Leroy,et al.  Security properties of typed applets , 1998, POPL '98.

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

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

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

[31]  Guy L. Steele,et al.  The Java Language Specification , 1996 .

[32]  Geoffrey Smith,et al.  A Sound Type System for Secure Flow Analysis , 1996, J. Comput. Secur..

[33]  Robin Milner,et al.  Functions as processes , 1990, Mathematical Structures in Computer Science.

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

[35]  Jon G. Riecke,et al.  The SLam calculus: programming with secrecy and integrity , 1998, POPL '98.

[36]  George C. Necula,et al.  The design and implementation of a certifying compiler (with retrospective) , 1998, PLDI 1998.

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

[38]  G.D. Plotkin,et al.  LCF Considered as a Programming Language , 1977, Theor. Comput. Sci..

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

[40]  George C. Necula,et al.  The design and implementation of a certifying compiler , 1998, PLDI.

[41]  Bowen Alpern,et al.  Defining Liveness , 1984, Inf. Process. Lett..

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

[43]  Stephen N. Freund,et al.  A Type System For Object Initialization In the Java Bytecode Language , 1997, Electron. Notes Theor. Comput. Sci..

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

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

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