A SECURITY ARCHITECTURE FOR AGENT COMMUNICATION LANGUAGES James Mayfield The Johns Hopkins University Applied Physics Laboratory Laurel, MD 20723--6099 USA James.Mayfield@jhuapl.edu Tim Finin Computer Science and Electrical Engineering University of Maryland Baltimore County Baltimore, MD 21250 USA finin@cs.umbc.edu January 1996 One of the essential features of a software agent is its ability to cooperate with other software agents. This cooperation requires, in general, that software agents be able to communicate in an appropriately rich agent communication language (ACL) and associated protocols. For an ACL to be effective in an open environment like the Internet, it must support security, privacy, the integrity of data, and authentication of agent identity. We discuss some basic and extended security requirements for software agents and an architecture to satisfy those requirements for KQML-speaking agents. Many of these security features will be provided by transport mechanisms which carry the ACL (e.g., sockets, HTTP, SMTP). However, security properties must be part of and reflected in the ACL model and cannot simply be relegated to the lower levels of the communication protocol stack.