Security in the Ajanta mobile agent system
- 22 January 2001
- journal article
- research article
- Published by Wiley in Software: Practice and Experience
- Vol. 31 (4) , 301-329
- https://doi.org/10.1002/spe.364
Abstract
A mobile agent is an object which can autonomously migrate in a distributed system to perform tasks on behalf of its creator. Security issues in regard to the protection of host resources, as well as the agent themselves, raise significant obstacles in practical applications of the agent paradigm. This article describes the security architecture of Ajanta, a Java‐based system for mobile agent programming. This architecture provides mechanisms to protect server resources from malicious agents, agent data from tampering by malicious servers and communication channels during its travel, and protection of name service data and the global namespace. We present here a proxy based mechanism for secure access to server resources by agents. Using Java's class loader model and thread group mechanism, isolated execution domains are created for agents at a server. An agent can contain three kinds of protected objects: read‐only objects whose tampering can be detected, encrypted objects for specific servers, and a secure append‐only log of objects. A generic authentication protocol is used for all client–server interactions when protection is required. Using this mechanism, the security model of Ajanta enforces protection of namespaces, and secure execution of control primitives such as agent recall or abort. Ajanta also supports communication between agents using RMI, which can be controlled if required by the servers' security policies. Copyright © 2001 John Wiley & Sons, Ltd.Keywords
This publication has 23 references indexed in Scilit:
- Distributed Collaborations Using Network Mobile AgentsPublished by Springer Nature ,2000
- Java-based mobile agentsCommunications of the ACM, 1999
- Design issues in mobile agent programming systemsIEEE Concurrency, 1998
- Understanding code mobilityIEEE Transactions on Software Engineering, 1998
- A hands-on look at Java mobile agentsIEEE Internet Computing, 1997
- A security model for AgletsIEEE Internet Computing, 1997
- Prudent engineering practice for cryptographic protocolsIEEE Transactions on Software Engineering, 1996
- An attack on the Needham-Schroeder public-key authentication protocolInformation Processing Letters, 1995
- Remote evaluationACM Transactions on Programming Languages and Systems, 1990
- Secure communication using remote procedure callsACM Transactions on Computer Systems, 1985