Abstract
Programming languages suitable for distributed computation contain constructs that should map well to the structure of the underlying system executing the programs, while being easily usable by the programmers and amenable to computer-aided verification. For object-oriented languages, asynchronous method calls returning futures that will be filled only after the called method has finished its execution have been proposed as a reasonably simple and analyzable programming construct. In this paper, we show how to map from a language with asynchronous method calls and futures to a language with explicit communication primitives and cryptographic operations. Our target language is reasonably similar to common process calculi, and translating it further to e.g. the applied pi calculus requires only known techniques. The translation is valid even for programs executing in open environments, where method calls and futures can be transmitted between the program and the environment.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Abadi, M.: Protection in Programming-Language Translations. In: Larsen, K.G., Skyum, S., Winskel, G. (eds.) ICALP 1998. LNCS, vol. 1443, pp. 868–883. Springer, Heidelberg (1998)
Abadi, M., Fournet, C.: Mobile values, new names, and secure communication. In: POPL, pp. 104–115 (2001)
Abadi, M., Fournet, C., Gonthier, G.: Secure Implementation of Channel Abstractions. In: LICS, pp. 105–116. IEEE Computer Society (1998)
Abadi, M., Fournet, C., Gonthier, G.: Secure Communications Processing for Distributed Languages. In: IEEE Symposium on Security and Privacy, pp. 74–88 (1999)
Abadi, M., Fournet, C., Gonthier, G.: Authentication Primitives and Their Compilation. In: POPL, pp. 302–315 (2000)
Ábrahám, E., Grabe, I., Grüner, A., Steffen, M.: Behavioral interface description of an object-oriented language with futures and promises. J. Log. Algebr. Program. 78(7), 491–518 (2009)
Adão, P., Fournet, C.: Cryptographically Sound Implementations for Communicating Processes. In: Bugliesi, M., Preneel, B., Sassone, V., Wegener, I. (eds.) ICALP 2006. Part II. LNCS, vol. 4052, pp. 83–94. Springer, Heidelberg (2006)
Backes, M., Cortesi, A., Focardi, R., Maffei, M.: A calculus of challenges and responses. In: Ning, P., Atluri, V., Gligor, V.D., Mantel, H. (eds.) FMSE, pp. 51–60. ACM (2007)
Bugliesi, M., Focardi, R.: Language based secure communication. In: CSF, pp. 3–16. IEEE Computer Society (2008)
Bugliesi, M., Giunti, M.: Secure implementations of typed channel abstractions. In: Hofmann, M., Felleisen, M. (eds.) POPL, pp. 251–262. ACM (2007)
Clarke, D., Diakov, N., Hähnle, R., Johnsen, E.B., Puebla, G., Weitzel, B., Wong, P.Y.H.: Hats - a formal software product line engineering methodology. In: Botterweck, G., Jarzabek, S., Kishi, T., Lee, J., Livengood, S. (eds.) SPLC Workshops, pp. 121–128. Lancaster University (2010)
Clarke, D., Diakov, N., Hähnle, R., Johnsen, E.B., Schaefer, I., Schäfer, J., Schlatte, R., Wong, P.Y.H.: Modeling Spatial and Temporal Variability with the HATS Abstract Behavioral Modeling Language. In: Bernardo, M., Issarny, V. (eds.) SFM 2011. LNCS, vol. 6659, pp. 417–457. Springer, Heidelberg (2011)
Comon-Lundh, H., Cortier, V.: Computational soundness of observational equivalence. In: Ning, P., Syverson, P.F., Jha, S. (eds.) ACM Conference on Computer and Communications Security, pp. 109–118. ACM (2008)
Dam, M., Palmskog, K.: A Foundation for Network-Adaptive Execution of Distributed Objects (work in progress, 2012)
Dolev, D., Yao, A.C.-C.: On the Security of Public Key Protocols. IEEE Transactions on Information Theory 29(2), 198–207 (1983)
Fournet, C., Gonthier, G.: The reflexive chemical abstract machine and the join-calculus. In: POPL, pp. 372–385 (1996)
Fournet, C., Rezk, T.: Cryptographically Sound Implementations for Typed Information-Flow Security. In: Proceedings of the 35th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2008. ACM Press, San Francisco (2008)
Goldwasser, S., Micali, S.: Probabilistic Encryption. Journal of Computer and System Sciences 28(2), 270–299 (1984)
Hähnle, R.: HATS: Highly Adaptable and Trustworthy Software Using Formal Methods. In: Margaria, T., Steffen, B. (eds.) ISoLA 2010, Part II. LNCS, vol. 6416, pp. 3–8. Springer, Heidelberg (2010)
Hähnle, R., Johnsen, E.B., Østvold, B.M., Schäfer, J., Steffen, M., Torjusen, A.B.: Report on the Core ABS Language and Methodology: Part A. Highly Adaptable and Trustworthy Software using Formal Models (HATS), Deliverable D1.1A (April 2010)
Helvensteijn, M., Muschevici, R., Wong, P.Y.H.: Delta modeling in practice: a Fredhopper case study. In: Eisenecker, U.W., Apel, S., Gnesi, S. (eds.) VaMoS, pp. 139–148. ACM (2012)
Johnsen, E.B., Hähnle, R., Schäfer, J., Schlatte, R., Steffen, M.: ABS: A Core Language for Abstract Behavioral Specification. In: Aichernig, B.K., de Boer, F.S., Bonsangue, M.M. (eds.) FMCO 2010. LNCS, vol. 6957, pp. 142–164. Springer, Heidelberg (2011)
Johnsen, E.B., Owe, O., Yu, I.C.: Creol: A type-safe object-oriented model for distributed concurrent systems. Theoretical Computer Science 365(1-2), 23–66 (2006)
Jones, C.B.: A pi-Calculus Semantics for an Object-Based Design Notation. In: Best, E. (ed.) CONCUR 1993. LNCS, vol. 715, pp. 158–172. Springer, Heidelberg (1993)
Milner, R.: Communicating and mobile systems: the π-calculus. Cambridge University Press (1999)
Mödersheim, S., Viganò, L.: Secure Pseudonymous Channels. In: Backes, M., Ning, P. (eds.) ESORICS 2009. LNCS, vol. 5789, pp. 337–354. Springer, Heidelberg (2009)
Philippsen, M.: A survey of concurrent object-oriented languages. Concurrency: Practice and Experience 12(10), 917–980 (2000)
Schaefer, I., Hähnle, R.: Formal methods in software product line engineering. IEEE Computer 44(2), 82–85 (2011)
Schneider, J.-G., Lumpe, M.: Synchronizing Concurrent Objects in the π-Calculus. In: Ducournau, R., Garlatti, S. (eds.) Proceedings of Languages et Modèles à Objets, Hermes, Roscoff, pp. 61–76 (1997)
van Glabbeek, R.J., Weijland, W.P.: Branching Time and Abstraction in Bisimulation Semantics. Journal of the ACM 43(3), 555–600 (1996)
Vaughan, J.A., Zdancewic, S.: A cryptographic decentralized label model. In: IEEE Symposium on Security and Privacy, pp. 192–206. IEEE Computer Society (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Laud, P. (2012). Secure Implementation of Asynchronous Method Calls and Futures. In: Mitchell, C.J., Tomlinson, A. (eds) Trusted Systems. INTRUST 2012. Lecture Notes in Computer Science, vol 7711. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35371-0_3
Download citation
DOI: https://doi.org/10.1007/978-3-642-35371-0_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-35370-3
Online ISBN: 978-3-642-35371-0
eBook Packages: Computer ScienceComputer Science (R0)