Skip to main content

Types as Specifications of Access Policies

  • Chapter
Secure Internet Programming

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1603))

Abstract

Mobility is a key concept for network programming; it has stimulated much research about new programming languages and paradigms. In the design of programming languages for mobile agents, i.e. processes which can migrate and execute on new hosts, the integration of security mechanisms is a major challenge. This paper presents the security mechanisms of the programming language Klaim (a Kernel Language for Agents Interaction and Mobility). The language, by making use of a capability-based type system, provides direct support for expressing and enforcing policies that control access to resources and data.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
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. M. Abadi. Secrecy by Typing in Cryptographic Protocols. Theoretical Aspects of Computer Software (TACS’97), Proceedings (M. Abadi, M. Ito, Eds.), LNCS 1281, pp.611–638, Springer, 1997.

    Google Scholar 

  2. M. Abadi, A.D. Gordon. A calculus for cryptographic protocols: The spi calculus. Proc. of the ACM Conference on Computer and Communication Security, ACM Press, 1997.

    Google Scholar 

  3. M. Abadi, R. Stata. A Type System for Java Bytecode Verifier. Proc. of the ACM Symposium on Principles of Programming Languages, ACM Press, 1998.

    Google Scholar 

  4. A. Arnold, J. Gosling. The Java Programming Language. Addison Wesley, 1996.

    Google Scholar 

  5. L. Bettini, R. De Nicola, G. Ferrari, R. Pugliese. Interactive Mobile Agents in X-Klaim. IEEE Seventh International Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises, Proceedings (P. Ciancarini, R. Tolksdorf, Eds.), IEEE Computer Society Press, 1998.

    Google Scholar 

  6. C. Bodei, P. Degano, F. Nielson, H.R. Nielson. Control Flow Analysis for the π-calculus. Concurrency Theory (CONCUR’98), Proceedings (D. Sangiorgi, R. de Simone, Eds.), LNCS 1466, pp.611–638, Springer, 1998.

    Google Scholar 

  7. M. Boreale, D. Sangiorgi. Bisimulation in Naming-Passing Calculi without Matching. Proc. of 13th IEEE Symposium on Logic in Computer Science (LICS’ 98), IEEE Computer Society Press, 1998.

    Google Scholar 

  8. G. Boudol. Typing the use of resources in a Concurrent Calculus. Advances in Computing Science (ASIAN’97), Proceedings (R.K. Shyamasundar, K. Ueda, Eds.), LNCS 1345, pp.239–253, Springer, 1997.

    Google Scholar 

  9. L. Cardelli, A. Gordon, Mobile Ambients. Foundations of Software Science and Computation Structures (FoSSaCS’98), Proceedings (M. Nivat, Ed.), LNCS 1378, pp.140–155, Springer, 1998.

    Google Scholar 

  10. L. Cardelli, A. Gordon, Types for Mobile Ambients. Proc. of the ACM Symposium on Principles of Programming Languages, ACM Press, 1999.

    Google Scholar 

  11. N. Carriero, D. Gelernter. Linda in Context. Communications of the ACM, 32(4):444–458, 1989.

    Article  Google Scholar 

  12. G. Cugola, C. Ghezzi, G.P. Picco, G. Vigna. Analyzing Mobile Code Languages. In Mobile Object Systems Towards the Programmable Internet (J. Vitek, C. Tschudin, Eds.), LNCS 1222, Springer, 1997.

    Google Scholar 

  13. R. De Nicola, G. Ferrari, R. Pugliese. Coordinating Mobile Agents via Blackboards and Access Rights. Coordination Languages and Models (COORDINATION’97), Proceedings (D. Garlan, D. Le Metayer, Eds.), LNCS 1282, pp. 220–237, Springer, 1997.

    Google Scholar 

  14. R. De Nicola, G. Ferrari, R. Pugliese. Klaim: a Kernel Language for Agents Interaction and Mobility. IEEE Transactions on Software Engineering, Vol.24(5):315–330, IEEE Computer Society Press, 1998.

    Article  Google Scholar 

  15. R. De Nicola, G. Ferrari, R. Pugliese, B. Venneri. Types for Access Control. Available at http://rap.dsi.unifi.it/papers.html. To appear in Theoretical Computer Science.

  16. D. Gelernter. Generative Communication in Linda. ACM Transactions on Programming Languages and Systems, 7(1):80–112, ACM Press, 1985.

    Article  MATH  Google Scholar 

  17. D. Gelernter, N. Carriero, S. Chandran, et al. Parallel Programming in Linda. Proc. of the IEEE International Conference on Parallel Programming, pp. 255–263, IEEE Computer Society Press, 1985.

    Google Scholar 

  18. N. Heintz, J.G. Riecke. The SLam calculus: Programming with secrecy and integrity. Proc. of the ACM Symposium on Principles of Programming Languages, ACM Press, 1998.

    Google Scholar 

  19. M. Hennessy, J. Riely. Resource Access Control in Systems of Mobile Agents. Proc. Int. Workshop on High-Level Concurrent Languages, vol. 16(3) of Electronic Notes in Theoretical Computer Science, Elsevier, 1998.

    Google Scholar 

  20. N. Kobayashi, B. Pierce, D. Turner. Linearity and the π-calculus. Proc. of the ACM Symposium on Principles of Programming Languages, ACM Press, 1996.

    Google Scholar 

  21. R. Milner, J. Parrow, D. Walker. A calculus of mobile processes, (Part I and II). Information and Computation, 100:1–77, 1992.

    Article  MATH  MathSciNet  Google Scholar 

  22. G. Necula. Proof-carrying code. Proc. of the ACM Symposium on Principles of Programming Languages, ACM Press, 1997.

    Google Scholar 

  23. B. Pierce and D. Sangiorgi. Typing and subtyping for mobile processes. Mathematical Structures in Comp. Science, 6(5):409–454, 1996.

    MATH  MathSciNet  Google Scholar 

  24. J. Riely, M. Hennessy. Trust and Partial Typing in Open Systems of Mobile Agents. Proc. of the ACM Symposium on Principles of Programming Languages, ACM Press, 1999.

    Google Scholar 

  25. P. Sewell. Global/Local Subtyping and Capability Inference for a Distributed π-calculus. International Colloquium on Automata, Languages and Programming (ICALP’98), Proceedings (K.G. Larsen, S. Skyum, G. Winskel, Eds.), LNCS 1443, Springer, 1998.

    Google Scholar 

  26. J. Vitek, G. Castagna. A Calculus of Secure Mobile Computations. Proc. of Workshop on Internet Programming Languages, Chicago, 1998.

    Google Scholar 

  27. D. Volpano, G. Smith. A typed-based approach to program security. Theory and Practice of Software Development (TAPSOFT’97), Proceeding (M. Bidoit, M. Dauchet, Eds.), LNCS 1214, pp.607–621, Springer, 1997.

    Google Scholar 

  28. D. Volpano, G. Smith. Secure Information Flow in a Multi-threaded Imperative Language. Proc. of the ACM Symposium on Principles of Programming Languages, ACM Press, 1998.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

De Nicola, R., Ferrari, G., Pugliese, R. (1999). Types as Specifications of Access Policies. In: Vitek, J., Jensen, C.D. (eds) Secure Internet Programming. Lecture Notes in Computer Science, vol 1603. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48749-2_6

Download citation

  • DOI: https://doi.org/10.1007/3-540-48749-2_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66130-6

  • Online ISBN: 978-3-540-48749-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics