Skip to main content

Secure Implementation of Asynchronous Method Calls and Futures

  • Conference paper
Trusted Systems (INTRUST 2012)

Part of the book series: Lecture Notes in Computer Science ((LNSC,volume 7711))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 72.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)

    Chapter  Google Scholar 

  2. Abadi, M., Fournet, C.: Mobile values, new names, and secure communication. In: POPL, pp. 104–115 (2001)

    Google Scholar 

  3. Abadi, M., Fournet, C., Gonthier, G.: Secure Implementation of Channel Abstractions. In: LICS, pp. 105–116. IEEE Computer Society (1998)

    Google Scholar 

  4. Abadi, M., Fournet, C., Gonthier, G.: Secure Communications Processing for Distributed Languages. In: IEEE Symposium on Security and Privacy, pp. 74–88 (1999)

    Google Scholar 

  5. Abadi, M., Fournet, C., Gonthier, G.: Authentication Primitives and Their Compilation. In: POPL, pp. 302–315 (2000)

    Google Scholar 

  6. Á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)

    Article  MathSciNet  MATH  Google Scholar 

  7. 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)

    Chapter  Google Scholar 

  8. 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)

    Google Scholar 

  9. Bugliesi, M., Focardi, R.: Language based secure communication. In: CSF, pp. 3–16. IEEE Computer Society (2008)

    Google Scholar 

  10. Bugliesi, M., Giunti, M.: Secure implementations of typed channel abstractions. In: Hofmann, M., Felleisen, M. (eds.) POPL, pp. 251–262. ACM (2007)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Chapter  Google Scholar 

  13. 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)

    Google Scholar 

  14. Dam, M., Palmskog, K.: A Foundation for Network-Adaptive Execution of Distributed Objects (work in progress, 2012)

    Google Scholar 

  15. Dolev, D., Yao, A.C.-C.: On the Security of Public Key Protocols. IEEE Transactions on Information Theory 29(2), 198–207 (1983)

    Article  MathSciNet  MATH  Google Scholar 

  16. Fournet, C., Gonthier, G.: The reflexive chemical abstract machine and the join-calculus. In: POPL, pp. 372–385 (1996)

    Google Scholar 

  17. 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)

    Google Scholar 

  18. Goldwasser, S., Micali, S.: Probabilistic Encryption. Journal of Computer and System Sciences 28(2), 270–299 (1984)

    Article  MathSciNet  MATH  Google Scholar 

  19. 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)

    Chapter  Google Scholar 

  20. 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)

    Google Scholar 

  21. 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)

    Google Scholar 

  22. 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)

    Google Scholar 

  23. 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)

    Article  MathSciNet  MATH  Google Scholar 

  24. 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)

    Chapter  Google Scholar 

  25. Milner, R.: Communicating and mobile systems: the π-calculus. Cambridge University Press (1999)

    Google Scholar 

  26. 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)

    Chapter  Google Scholar 

  27. Philippsen, M.: A survey of concurrent object-oriented languages. Concurrency: Practice and Experience 12(10), 917–980 (2000)

    Article  MATH  Google Scholar 

  28. Schaefer, I., Hähnle, R.: Formal methods in software product line engineering. IEEE Computer 44(2), 82–85 (2011)

    Article  Google Scholar 

  29. 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)

    Google Scholar 

  30. van Glabbeek, R.J., Weijland, W.P.: Branching Time and Abstraction in Bisimulation Semantics. Journal of the ACM 43(3), 555–600 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  31. Vaughan, J.A., Zdancewic, S.: A cryptographic decentralized label model. In: IEEE Symposium on Security and Privacy, pp. 192–206. IEEE Computer Society (2007)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics