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.
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
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.
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.
M. Abadi, R. Stata. A Type System for Java Bytecode Verifier. Proc. of the ACM Symposium on Principles of Programming Languages, ACM Press, 1998.
A. Arnold, J. Gosling. The Java Programming Language. Addison Wesley, 1996.
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.
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.
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.
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.
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.
L. Cardelli, A. Gordon, Types for Mobile Ambients. Proc. of the ACM Symposium on Principles of Programming Languages, ACM Press, 1999.
N. Carriero, D. Gelernter. Linda in Context. Communications of the ACM, 32(4):444–458, 1989.
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.
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.
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.
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.
D. Gelernter. Generative Communication in Linda. ACM Transactions on Programming Languages and Systems, 7(1):80–112, ACM Press, 1985.
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.
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.
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.
N. Kobayashi, B. Pierce, D. Turner. Linearity and the π-calculus. Proc. of the ACM Symposium on Principles of Programming Languages, ACM Press, 1996.
R. Milner, J. Parrow, D. Walker. A calculus of mobile processes, (Part I and II). Information and Computation, 100:1–77, 1992.
G. Necula. Proof-carrying code. Proc. of the ACM Symposium on Principles of Programming Languages, ACM Press, 1997.
B. Pierce and D. Sangiorgi. Typing and subtyping for mobile processes. Mathematical Structures in Comp. Science, 6(5):409–454, 1996.
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.
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.
J. Vitek, G. Castagna. A Calculus of Secure Mobile Computations. Proc. of Workshop on Internet Programming Languages, Chicago, 1998.
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.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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