Types as Specifications of Access Policies

  • Rocco De Nicola
  • GianLuigi Ferrari
  • Rosario Pugliese
Part of the Lecture Notes in Computer Science book series (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.

Keywords

Type System Mobile Agent Service Request Operational Semantic Access Control Policy 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 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. 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. 4.
    A. Arnold, J. Gosling. The Java Programming Language. Addison Wesley, 1996.Google Scholar
  5. 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. 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. 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. 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. 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. 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. 11.
    N. Carriero, D. Gelernter. Linda in Context. Communications of the ACM, 32(4):444–458, 1989.CrossRefGoogle Scholar
  12. 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. 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. 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.CrossRefGoogle Scholar
  15. 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. 16.
    D. Gelernter. Generative Communication in Linda. ACM Transactions on Programming Languages and Systems, 7(1):80–112, ACM Press, 1985.MATHCrossRefGoogle Scholar
  17. 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. 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. 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. 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. 21.
    R. Milner, J. Parrow, D. Walker. A calculus of mobile processes, (Part I and II). Information and Computation, 100:1–77, 1992.MATHCrossRefMathSciNetGoogle Scholar
  22. 22.
    G. Necula. Proof-carrying code. Proc. of the ACM Symposium on Principles of Programming Languages, ACM Press, 1997.Google Scholar
  23. 23.
    B. Pierce and D. Sangiorgi. Typing and subtyping for mobile processes. Mathematical Structures in Comp. Science, 6(5):409–454, 1996.MATHMathSciNetGoogle Scholar
  24. 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. 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. 26.
    J. Vitek, G. Castagna. A Calculus of Secure Mobile Computations. Proc. of Workshop on Internet Programming Languages, Chicago, 1998.Google Scholar
  27. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Rocco De Nicola
    • 1
  • GianLuigi Ferrari
    • 2
  • Rosario Pugliese
    • 1
  1. 1.Dipartimento de Sistemi e InformaticaUniversità di FirenzeFirenzeItaly
  2. 2.Dipartimento di InformaticaUniversità di PisaPisaItaly

Personalised recommendations