<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">ORGANIZED ANONYMITY IN AGENT SYSTEMS</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Martijn</forename><surname>Warnier</surname></persName>
							<email>warnier@cs.vu.nl</email>
							<affiliation key="aff0">
								<orgName type="department">Faculty of Sciences</orgName>
								<orgName type="laboratory">Intelligent Interactive Distributed Systems</orgName>
								<orgName type="institution">Vrije Universiteit Amsterdam</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">David</forename><surname>De Groot</surname></persName>
							<email>davidra@cs.vu.nl</email>
							<affiliation key="aff0">
								<orgName type="department">Faculty of Sciences</orgName>
								<orgName type="laboratory">Intelligent Interactive Distributed Systems</orgName>
								<orgName type="institution">Vrije Universiteit Amsterdam</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Frances</forename><surname>Brazier</surname></persName>
							<email>frances@cs.vu.nl</email>
							<affiliation key="aff0">
								<orgName type="department">Faculty of Sciences</orgName>
								<orgName type="laboratory">Intelligent Interactive Distributed Systems</orgName>
								<orgName type="institution">Vrije Universiteit Amsterdam</orgName>
							</affiliation>
						</author>
						<title level="a" type="main">ORGANIZED ANONYMITY IN AGENT SYSTEMS</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">75FE9AA8C83F10BFBF4D577755B1A680</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T14:54+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Anonymity is of great importance in distributed agent applications such as e-commerce &amp; auctions. This paper proposes and analyzes a new approach for organized anonymity of agents based on the use of pseudonyms. A novel naming scheme is presented that can be used by agent platforms to provide anonymity for each individual agent. The paper introduces two distinct techniques, one based on handles and another based on agent spawning. Both techniques can be integrated into agent platform middleware, automatically guaranteeing anonymity for all individual agents. The applicability of this approach is evaluated for three agent platforms: AgentScape, JADE and SeMoA.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Agent techniques provide state-of-the-art solutions for distributed applications such as e-commerce, ehealth, resource negotiations and electronic auctions <ref type="bibr" target="#b10">[11]</ref>. Anonymity of agents can be an important requirement for such applications. This can be acquired by conventional methods such as the use of a mediator or another outside trusted third party. A mediator or trusted third party acts on behalf of an agent (and its owner) and relays messages without an agents identity. However, such methods require an explicit effort on the agent application developer. He/she not only needs to interpret a mediator in his/her application, (s)he also needs to make sure that no information regarding the agent's identity is leaked by other means. Only if a number of necessary precautions are taken by the developer can agents not be tracked and are they thus anonymous.</p><p>This paper proposes a new approach for anonymity for agents and agent based applications that guarantees anonymity for all agents without any additional effort on the part of agent application developers. Assuming agents trust the middleware -the agent platform-on which they run, anonymous communication between agents can be guaranteed.</p><p>The focus of this paper is on the anonymity of individual agents. The link between agent and owner does not have to be anonymous, since the middleware is trusted and can thus be trusted to keep this information confidential <ref type="foot" target="#foot_0">1</ref> . Anonymity is not an absolute notion, one can be anonymous to one person and not to another. Similarly, agents can be anonymous to other agents, but not to the agent platform, as assumed in this paper. Several degrees of anonymity can be distinguished ranging from absolute anonymity to total non-repudiation <ref type="bibr" target="#b2">[3,</ref><ref type="bibr" target="#b5">6]</ref>. The paper focuses on organized semi-anonymity. It is both organized and semianonymous: the agent platforms issues pseudonyms, which provide anonymity for an agent with respect to other agents, but not with respect to the agent platform itself.</p><p>A naming scheme is introduced that ensures that an agent's true identity and its pseudonyms are unique and cannot be linked to each other by any outside parties. Two techniques that provide this form of communication anonymity are presented: one based on pseudonyms and one based on agent spawning. Both techniques can be integrated into the agent platform. This hides them for agent (developers) while ensuring anonymity automatically.</p><p>Our approach provides a dedicated and organized solution for anonymity of agents, in contrast to more general anonymizing techniques. Most notably, Korba, Song and Yee <ref type="bibr" target="#b7">[8]</ref> use onion routing <ref type="bibr" target="#b4">[5]</ref> for all inter-agent communication. Onion routing provides anonymous communication by redirecting messages via a number of routers using an unpredictable path. Their approach is implemented in the JADE agent platform <ref type="bibr" target="#b1">[2]</ref> where a dedicated communication layer facilitates all anonymous inter-agent communication. This approach can guarantee the same level of anonymity as our own. Our approach however forms a dedicated solution for agents that can be fine-tuned to meet a range of agent specific settings.</p><p>The distinct advantages and (minor) disadvantages of our approach to organized anonymity are analyzed, and illustrated in three agent platforms: AgentScape <ref type="bibr" target="#b11">[12]</ref>, JADE and SeMoA <ref type="bibr" target="#b14">[15]</ref>.</p><p>An overview of anonymity as commonly defined in Computer Science and the application of this definition to distributed agent systems in Section 2 provides the background for this paper. Section 3 gives a high-level overview of the naming scheme for anonymity. Section 4 presents two different techniques that can be used to acquire anonymity. Section 5 discusses a number of ways how these techniques can be realized, ranging from complete integration in the agent platform middleware to solutions based on individual agent implementations. Section 6 discusses the actual implementation of the approach for anonymity in three agent platforms. The papers ends with discussion and conclusions.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Anonymity in agent systems</head><p>Classical anonymity in computer systems focuses on anonymity of the underlying communication layer <ref type="bibr" target="#b15">[16]</ref>, as does this paper. The typical goal is to anonymously browse the Internet, or communicate with other parties without revealing the parties true identity. The related notions of anonymity are:</p><p>sender anonymity receiver anonymity link anonymity (unlinkability)</p><p>The first two, sender and receiver anonymity, require that the location of the sender and receiver, respectively, are hidden for the other communicating party. Link anonymity, also known as unlinkability, ensures that the link between the communicating parties remains anonymous to all third parties: it is impossible for any outside party to observe if two parties are communicating with each other. Note that the communicating parties themselves are often aware of the (true) identity of the other party. In practice these forms of anonymity can be combined.</p><p>This general notion of anonymity in computer science can be applied to agent technology. The focus is on anonymity of individual agents. It is assumed that the relation between agent owner and agent is confidential, and guaranteed by the agent platform. Full anonymity, i.e., receiver, sender and link anonymity taken together, can only be established when an agent cannot be linked to a legal entity, either directly or indirectly via its communication with other agents. A platform based solution that enables the middleware to (automatically) provide link anonymity and location anonymity for each individual agent is the main focus of this paper. Pseudonyms are used for this purpose.</p><p>The use of a pseudonym on its own does not suffice. Outsiders can possibly observe communication events of an agent and use this to obtain (unwanted) information about an agent. Another danger occurs if an agent uses the same pseudonym to communicate with several other agents. Together these agents can infer that they have been talking to the same party, breaking anonymity.</p><p>In agent systems that support mobility of agents yet another form of anonymity exists: migration anonymity. In essence this hides the migration path of an agent, and thus hides the original starting platform of an agent which results in a form of anonymity. Migration anonymity falls outside the scope of this paper, Rafal Leszczyna and Janusz Górski <ref type="bibr" target="#b9">[10]</ref> discuss migration anonymity in more detail.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Example 1</head><p>There are three agents A, B and C, each with their own pseudonym P A , P B and P C respectively. Agent A considers obtaining services from either agent B or C. It first uses its pseudonym P A to communicate with agent B and asks agent B the price of its service, then agent A uses the same pseudonym P A to ask agent C the price of its services. Although agent B and agent C do not know A's real identity, together they can still determine that the same agent has been asking price information of the services they provide. Thus agent A has not been communicating anonymously.</p><p>Example 1 above clearly shows the need for agents to use a pseudonym for each individual communication event (or communication session) to obtain (link) anonymity. For similar reasons, agents should also use a different pseudonym each time they communication with the same party at a later time interval. This ensures that an agent does not reveal too much information over time which can compromise link anonymity.</p><p>In our approach each agent has one globally unique identifier and has multiple pseudonyms that are used for each separate communication event.</p><p>An agent platform should provide a naming scheme that ensures that all GUID's and pseudonyms are unique. Moreover, GUID's must be hidden from other agents and pseudonyms cannot be linked to a specific agent and to each other.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Techniques for anonymity</head><p>There are several techniques that can be used to realize the naming scheme for anonymity. This section discusses two such techniques.</p><p>The first technique shows how the naming scheme can be acquired using handles. A handle is a unique and meaningless string <ref type="bibr" target="#b0">[1]</ref> that is bound to a specific agent. This works well, but it sometimes requires some modifications to the underlying agent platform middleware. The other technique, based on agent spawning, can be readily implemented in several current agent platforms without any modifications to the platforms' middleware. The disadvantage of this is that agent developers have to choose to use this technique since it is not provided automatically by the platform. Section 6 shows how the techniques from this section can be implemented in a number of agent platforms.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1">Using handles for anonymity</head><p>Each agent is assumed to have a global unique identifier (GUID) which is only known to the agent platform. Such a GUID can, for example, be implemented by a Universally Unique Identifier (UUID, ISO 11578:1996). Furthermore, each agent can acquire as many (globally unique) handles as it requires. These handles serve as pseudonyms and are used for communication purposes.</p><p>Since handles have no intrinsic meaning and they do not leak any information about an agent or its owner agents can safely use handles as pseudonyms. Link anonymity can be acquired by agents if they use a new handle for each communication event.</p><p>The agent platform is responsible for handing out agent GUID's and handles. Handles and GUID's should be related. An agent platform should be able to check if the handle that an agent uses indeed belongs to it. However, others (agents in particular) should not be able to determine if two handles belong to the same agent. This can be accomplished by using a cryptographic hash function <ref type="bibr" target="#b6">[7]</ref>. The following algorithm is used by the agent platform to generate handles for agents, where 'sha' is a cryptographic hash function: handle 1 = sha(GUID + 1) handle 2 = sha(GUID + 2) ... or more general:</p><formula xml:id="formula_0">handle n = sha(GUID + n) with n ∈ N +</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>This has two specific advantages:</head><p>-If the GUID is not known then handles cannot be linked to each other or one specific GUID.</p><p>-If the GUID is known then the platform cannot deny that a specific handle belongs to a GUID. Several properties of cryptographic hashes, such as Sha-1 and MD5 are used: First the fact that cryptographic hashes are one way is used, i.e., easy to compute but very hard (computably infeasible) to reverse. This guarantees that if an agent knows a handle it can not compute the corresponding GUID. Cryptographic hashes also have the property that they are collision free, i.e., it is computably infeasible to construct two different GUID's that have the same hash-image. This ensures that all handles are unique. And cryptographic hashes also have the property that a small change in the input results in a big change in the output (roughly half of the bits should change). This ensures that agents can not determine if two handles belong to the same GUID (agent).</p><p>A lookup service is necessary so that platform locations can link handles back to GUID's. It is essential that the lookup service that maps handles to GUID's is private to the middleware. If this is the case then link anonymity for agents can be guaranteed. Agents can however also use an optional human readable name, where each name corresponds with one handle. A public lookup service also links names with handles and vice versa. Since handles are used for all communication between agents, where handles are only unique meaningless strings, no information about the location of a particular agent is revealed. Hence this technique also provides location anonymity and thus also sender and receiver anonymity. Whenever two agents communicate they do not have to share the location (host) on which they reside.</p><p>Agents can implicitly revoke a handle (simply by no longer using it) or explicitly (in which case the handle is removed from the lookup service). By definition, handles are also unique over time, due to the large number of possible handles no handle is ever used twice. However, if so required, a time-stamping mechanism can be used to limit the lifetime of individual handles and hence make handles applicable for reuse. Note that guaranteeing uniqueness of handles is important for reliability, correctness and accountability.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2">Using agent spawning for anonymity</head><p>Another technique can be used to acquire anonymity. For this technique to work the agent platform should allow agents to spawn their own (other) agents and it should not be possible to determine which agents are related via spawning. Thus if an agent is spawned then other agents should not be able to tell whether the agent really is a spawned agent and which agent created it.</p><p>If these requirements are met then agents can use spawned agents for communication purposes. In essence, a spawned agent is used as a pseudonym for its original agent. The spawned agent works as a simple proxy whose sole task it is to redirect messages to other agents and back to the originating agent. In principle, an agent can spawn a new agent for each communication event and hence can be (link) anonymous with respect to other agents. Note that in this technique spawned agents are basically used as handles. Again, the agent platform is the only party that may be aware of the link between spawned and 'original' agents, which is similar to the private lookup service in the technique explained in Section 4.1.</p><p>Location anonymity can also be provided using this technique, provided that agents are either allowed to create agents on other platforms or that agents can migrate between platforms. As a dedicated agent is used for communication purposes only other agents can determine on which host the spawned communicatingagent resides (if the platform discloses this information). On which platform the original (anonymous) agent that started the communication event resides is not known to other agents. Whether location anonymity can be provided also depends on the platform, e.g. in JADE-S <ref type="bibr" target="#b13">[14]</ref> (a secured extension of JADE) one can require that a pre-defined format for agent names is used. This format is defined by a local administrator by means of a security policy. For example, the security policy, as proposed in the JADE-S documentation, can specify for a user named Bob that he can only create agents if the name contains the prefix 'bob-', resulting in a name such as 'bob-agent1@platformA.myexample.org'. If a security policy of this form is used then agent spawning cannot be used for anonymity.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Middleware implementation</head><p>The techniques described above can be implemented at several levels, ranging from middleware to services to individual agents.</p><p>An organized solution for anonymity requires a solution that is integrated in the middleware of the agent system. This allows agents to communicate anonymously without any additional effort by the agent developer. The handle technique can easily be integrated completely in the middleware. A new handle is automatically generated by the agent platform for each communication event. Since agents are not part of the middleware, the agent spawning based approach can not be combined with the middleware.</p><p>However, it is often not necessary to make the communication with all parties anonymous. In fact sometimes an agents needs to reveal its identity to gain access to certain information or an agent might want to establish several (virtual) identities. Such cases require a more fine-grained solution.</p><p>Policies can be defined on a per agent basis when an agent's communication should be anonymous. More advanced policies, e.g. self-learning or self-organizing ones <ref type="bibr" target="#b17">[18]</ref>, can refine this further and allow agents to be anonymous to some agents while not anonymous to others.</p><p>An anonymizing service -implemented by an agent-on top of the middleware forms another implementation possibility. A dedicated agent works as a sort of proxy and routes all communication. As long as this proxy agent uses a new handle or spawned agent for each new communication event the communication is anonymous. This 'gateway' approach has the obvious advantage that agent developers have a more fine tuned control of anonymity. The anonymizing service can be used if circumstances require this.</p><p>Self management by the agent developer is the most finely tuned approach. Agent developers can implement anonymity themselves using either handles or spawning techniques. This allows control on a very fine scale, but it also requires the most effort on the agent developers part.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.1">Observations</head><p>Both the handle and the agent spawning technique have advantages and disadvantages.</p><p>The 'handle' technique of Section 4.1 has the advantage that it provides an organized solution for all agents that can easily be integrated into the agent platform middleware. Location anonymity is also guaranteed as all communication is routed via handles that do not reveal any information about an agent's location. Finally, the performance overhead of this technique is marginal. The largest disadvantage is that the technique cannot be implemented in most existing agent platforms without significant changes to the platform's middleware.</p><p>The 'spawning' technique of Section 4.2 has as its largest advantage that it can be used without any changes to the agent platform's middleware, provided that the platform supports agent spawning and that creating and spawned agents cannot be linked. A disadvantage is that the solution is not organized, i.e., can not be completely integrated into the agent platform middleware. A dedicated anonymizing service -implemented by a spawning agent-forms a reasonable alternative. An other disadvantage is that the performance overhead is significant: instead of a handle the middleware has to create a new agent for each communication event which obviously consumes some additional platform resources. Location anonymity, can only be provided if agents are allowed to either spawn agents on other locations or are allowed to migrate between locations.</p><p>When to use which technique depends on circumstances. In cases where only a limited number of agents require anonymity, the spawning technique probably make more sense. The performance penalty outweighs the convenience of using a familiar agent platform. However, if all agents require anonymity then the handle technique is better, even if this means a partial re-implementation of an existing agent platform.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Evaluation of existing agent platforms</head><p>The techniques discussed in the previous section are analyzed for three agent systems: AgentScape <ref type="bibr" target="#b11">[12]</ref>, our own agent platform, JADE <ref type="bibr" target="#b1">[2]</ref>, the most broadly used agent system and SeMoA <ref type="bibr" target="#b14">[15]</ref>, an agent system that focuses on security.</p><p>The handle-based approach is (partially) implemented in AgentScape as is the agent spawning approach. The other platforms (JADE and SeMoA), require significant changes to the agent platform middleware to implement handles. This section only discusses the agent spawning techniques, that can be implemented on top of the middleware, for these platforms</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.1">AgentScape</head><p>AgentScape<ref type="foot" target="#foot_2">2</ref> is a framework for development and deployment of open, large-scale distributed agent systems and includes support for fault-tolerance, security, heterogeneity and interoperability <ref type="bibr" target="#b11">[12]</ref>. AgentScape's middleware security features include separate use of globally unique identifiers (GUID's) and handles (of agents and services), leasing of resources, sandboxing of agents, signing agent's code and its state, and secure communication. In AgentScape both techniques (use of handles and agent spawning) for implementation of anonymity can be applied.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Handles</head><p>AgentScape uses a handle-model as described in Section 4.1. Each agent has its own globally unique identifier (GUID). The GUID is generated upon creation of the agent and is kept private to the middleware. An agent always has an initial handle that can be linked -by the middleware-to the agent's GUID. Optionally, a name can be assigned to a agent's handle. Additional handles can be requested to the middleware. An agent's handles and names are registered in a Name Look-up Service (NLS), that is assumed to be private to the middleware <ref type="foot" target="#foot_3">3</ref> . An anonymizing service and automatic generating of new handles for each communication event are not (yet) integrated in the AgentScape middleware. However, implementation of these modules should be straightforward and can be expected in a future release of AgentScape.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Spawning</head><p>AgentScape supports agent spawning. Furthermore, spawning and creating agents cannot be linked to each other, thus the spawning based technique from Section 4.2 can be used for anonymity.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.2">JADE</head><p>JADE <ref type="foot" target="#foot_4">4</ref> (Java Agent Development Environment) is a development-framework and runtime execution environment for distributed multi-agent systems <ref type="bibr" target="#b1">[2]</ref>. JADE is FIPA-compliant, i.e., it adheres to the FIPA standard <ref type="foot" target="#foot_5">5</ref> , which are intended to promote the interoperability of heterogeneous agents and services.</p><p>The agent spawning technique can be used for anonymity in JADE. Agents can easily start new agents and choose names for them. A possible threat for an agent's anonymity is formed by the Agent Management Service (AMS). Every agent is required to register in the Agent Management Service. This registered information is visible to others. Carefully monitoring the AMS can potentially break the anonymous communication of agents, especially in situations where there are only a small number of agents on a platform.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.3">SeMoA</head><p>SeMoA<ref type="foot" target="#foot_6">6</ref> (for "Secure Mobile Agents") is an agent platforms that has as main goals to provide a secure agent environment and to develop an extensible and open server for mobile agents <ref type="bibr" target="#b14">[15]</ref> and to provide a secure platform for mobile access to multimedia data and services based on mobile agent technology. SeMoA supports agent spawning, thus self-managed and dedicated-agent that provide anonymity can be implemented.</p><p>In SeMoA, policies determine permissions for creation and deletion of agents (and many other operations). Since policies are specific for a single agent or agents of a specific agent owner (and valid for a certain server), using a dedicated agent for communication is possible, because the communication-dedicated agent can be started by another (trusted) agent owner. It is also possible to run a dedicated anonymizing agent in another SeMoA server where a different policy does allow agent spawning.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7">Discussion</head><p>This paper introduces a new anonymizing approach for agent systems that guarantees organized semianonymity for each individual agent. Two distinct techniques can be used to realize anonymity for agents. The technique based on handles is completely integrated into the agent platform middleware. The technique based on agent spawning cannot be integrated into the middleware, but this technique can easily be deployed in current agent platforms, as AgentScape, JADE and SeMoA, without any changes to the underlying middleware.</p><p>Under which conditions which technique should be used depends on circumstances. In cases where only a limited number of agents require anonymity, the spawning technique discussed in Section 4.2 makes most sense. The performance penalty outweighs the convenience of being able to use a broad range of agent platforms. However, if all agents require anonymity then the handle technique described in Section 4.1 is more promising, even if this requires a partial re-implementation of an existing agent platform.</p><p>Although the approach discussed is theoretically secure, in practice a number of risks remain. If the number of agents on an entire agent platform is known then, in theory, it is possible that all agents conspire together against one agent. This breaks link anonymity. A simple solution to this problem is to use a number of 'dummy' agents that belong to the agent platform itself. Other agents cannot determine if an agent is real or belongs to the platform an thus the attack no longer works.</p><p>Another risk, although highly unlikely due to its intrinsic properties, is the use of side channel attacks <ref type="bibr" target="#b8">[9]</ref>. Timing attacks, as discussed in <ref type="bibr" target="#b12">[13]</ref>, form a particular challenging problem. Using a combination of techniques that observe timing behaviour together with statistical analysis almost certainly breaks anonymity.</p><p>If an organized solution based on handles is preferred the agent platform of choice is AgentScape. The three analyzed platforms -AgentScape, JADE and SeMoA-all support agent spawning based solutions for anonymity. More insight in the performance overhead of the handle techniques in AgentScape is needed. Current research focuses on this aspect.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>4 Figure 1 :</head><label>41</label><figDesc>Figure 1: Schematic overview of the handle technique</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 4 .</head><label>4</label><figDesc>1 schematically displays the handle technique, where arrows indicate a possible lookup.</figDesc></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">We think that, from a practical perspective, it is reasonable to assume that most agent platforms are unwilling to accept agents that are completely anonymous. Such agents can run havoc on agent systems and the agent platform is unable to take any (legal) action against the agent owner, nor can it recognize future malicious agents coming from the same source. This is clearly an unwanted situation, therefore identification of agent owners by agent platforms, as well as other identity management mechanisms for agent systems<ref type="bibr" target="#b3">[4]</ref>, form a prerequisite in this paper.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_1">A naming scheme for anonymityAn agent platforms can identify an agent by its globally unique identifier(GUID). Such a GUID corresponds uniquely with the identity of the agent. Pseudonyms can be used for communication, as stated above. Using only one pseudonym is not enough to obtain link anonymity. Consider the following example:</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_2">Version 0.9.0beta1, available at http://www.agentscape.org</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_3">Two different lookup services can be used in AgentScape: the default lookup services, that is completely open and accessible to anybody and a secure, decentralized lookup service<ref type="bibr" target="#b16">[17]</ref> that is only accessible to the AgentScape middleware.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="4" xml:id="foot_4"> Version 3.4, available at http://jade.tilab.com</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="5" xml:id="foot_5">http://www.fipa.org</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="6" xml:id="foot_6">Version June 26, 2006, available at http://www.semoa.org</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="7" xml:id="foot_7">http://www.iids.org/access</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Acknowledgments</head><p>This research is conducted as part of the ACCESS project <ref type="bibr" target="#b6">7</ref> funded by the NWO TOKEN program. The authors also thank Stichting NLnet for their support.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">A layered naming architecture for the internet</title>
		<author>
			<persName><forename type="first">H</forename><surname>Balakrishnan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Lakshminarayanan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Ratnasamy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Shenker</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Stoica</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Walfish</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">SIGCOMM Comput. Commun. Rev</title>
		<imprint>
			<biblScope unit="volume">34</biblScope>
			<biblScope unit="issue">4</biblScope>
			<biblScope unit="page" from="343" to="352" />
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">JADE-A FIPA-compliant agent framework</title>
		<author>
			<persName><forename type="first">F</forename><surname>Bellifemine</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Poggi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Rimassa</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Proceedings of PAAM</title>
		<imprint>
			<biblScope unit="volume">99</biblScope>
			<biblScope unit="page" from="97" to="108" />
			<date type="published" when="1999">1999</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Anonymity and software agents: An interdiscplinary challenge</title>
		<author>
			<persName><forename type="first">F</forename><surname>Brazier</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Oskamp</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Prins</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Schellekens</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Wijngaards</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">AI &amp; Law</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="137" to="157" />
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Identity Management in Agent Systems</title>
		<author>
			<persName><forename type="first">D</forename><surname>De Groot</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Brazier</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the First International Workshop on Privacy and Security in Agentbased Collaborative Environments (PSACE)</title>
				<editor>
			<persName><forename type="first">N</forename><surname>Foukia</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">J</forename><surname>Seigneur</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">M</forename><surname>Purvis</surname></persName>
		</editor>
		<meeting>the First International Workshop on Privacy and Security in Agentbased Collaborative Environments (PSACE)</meeting>
		<imprint>
			<date type="published" when="2006">2006</date>
			<biblScope unit="page" from="23" to="34" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Tor: The Second-Generation Onion Router</title>
		<author>
			<persName><forename type="first">R</forename><surname>Dingledine</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Mathewson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Syverson</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 13th USENIX Security Symposium</title>
				<meeting>the 13th USENIX Security Symposium</meeting>
		<imprint>
			<date type="published" when="2004">2004</date>
			<biblScope unit="volume">2</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">New rules for anonymous electronic transactions? An exploration of the private law implications of digital anonymity</title>
		<author>
			<persName><forename type="first">J</forename><surname>Grijpink</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Prins</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Digital Anonymity and the Law, Tensions and Dimensions, Information technology and law series</title>
				<editor>
			<persName><forename type="first">T</forename><forename type="middle">M C</forename></persName>
		</editor>
		<imprint>
			<publisher>Asser Press</publisher>
			<date type="published" when="2003">2003</date>
			<biblScope unit="volume">2</biblScope>
			<biblScope unit="page" from="249" to="269" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<title level="m" type="main">Network Security, PRIVATE Communication in a PUBLIC World</title>
		<author>
			<persName><forename type="first">C</forename><surname>Kaufman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Perlman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Speciner</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2002">2002</date>
			<publisher>Prentice Hall</publisher>
		</imprint>
	</monogr>
	<note>2nd edition</note>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Anonymous Communications for Mobile Agents</title>
		<author>
			<persName><forename type="first">L</forename><surname>Korba</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Song</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Yee</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceeding of the 4 thInternational Workshop on Mobile Agents for Telecommunication Applications (MATA&apos;02)a</title>
				<meeting>eeding of the 4 thInternational Workshop on Mobile Agents for Telecommunication Applications (MATA&apos;02)a</meeting>
		<imprint>
			<date type="published" when="2002">2002</date>
			<biblScope unit="volume">2521</biblScope>
			<biblScope unit="page" from="171" to="181" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">A note on the Confinement Problem</title>
		<author>
			<persName><forename type="first">B</forename><forename type="middle">W</forename><surname>Lampson</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Communications of the ACM</title>
		<imprint>
			<biblScope unit="volume">16</biblScope>
			<biblScope unit="issue">10</biblScope>
			<biblScope unit="page" from="613" to="615" />
			<date type="published" when="1973">1973</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Untraceability of mobile agents</title>
		<author>
			<persName><forename type="first">R</forename><surname>Leszczyna</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Górski</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">AAMAS &apos;05: Proceedings of the fourth international joint conference on Autonomous agents and multiagent systems</title>
				<meeting><address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>ACM Press</publisher>
			<date type="published" when="2005">2005</date>
			<biblScope unit="page" from="1233" to="1234" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Agent Technology: Enabling Next Generation Computing (A Roadmap for Agent Based Computing)</title>
		<author>
			<persName><forename type="first">M</forename><surname>Luck</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Mcburney</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Preist</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">AgentLink</title>
		<imprint>
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Scalable middleware environment for agent-based internet applications</title>
		<author>
			<persName><forename type="first">B</forename><surname>Overeinder</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Brazier</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Workshop on State-of-the-Art in Scientific Computing (PARA&apos;04)</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<meeting>the Workshop on State-of-the-Art in Scientific Computing (PARA&apos;04)<address><addrLine>Copenhagen, Denmark</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2004-06">June 2004</date>
			<biblScope unit="volume">3732</biblScope>
			<biblScope unit="page" from="675" to="679" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Limits to Anonymity when Using Credentials</title>
		<author>
			<persName><forename type="first">A</forename><surname>Pashalidis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Mitchell</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 12th International Workshop on Security Protocols</title>
				<meeting>the 12th International Workshop on Security Protocols</meeting>
		<imprint>
			<publisher>Springer-Verlag</publisher>
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Security and trust in agent-oriented middleware</title>
		<author>
			<persName><forename type="first">A</forename><surname>Poggi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Tomaiuolo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Vitaglione</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">OTM Workshops</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">R</forename><surname>Meersman</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Z</forename><surname>Tari</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2003">2003</date>
			<biblScope unit="volume">2889</biblScope>
			<biblScope unit="page" from="989" to="1003" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Concepts and architecture of a security-centric mobile agent server</title>
		<author>
			<persName><forename type="first">V</forename><surname>Roth</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Jalali-Sohi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the Fifth International Symposium on Autonomous Decentralized Systems (ISADS 2001)</title>
				<meeting>of the Fifth International Symposium on Autonomous Decentralized Systems (ISADS 2001)</meeting>
		<imprint>
			<publisher>IEEE Computer Society</publisher>
			<date type="published" when="2001">2001</date>
			<biblScope unit="page" from="435" to="442" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<monogr>
		<title level="m" type="main">On the anonymity of anonymity systems</title>
		<author>
			<persName><forename type="first">A</forename><surname>Serjantov</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2004">2004</date>
		</imprint>
		<respStmt>
			<orgName>University of Cambridge</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">PhD thesis</note>
</biblStruct>

<biblStruct xml:id="b16">
	<monogr>
		<title level="m" type="main">Design and implementation of a secure, decentralized location service for agent platforms</title>
		<author>
			<persName><forename type="first">R</forename><surname>Van Schouwen</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2006-08">aug 2006</date>
		</imprint>
		<respStmt>
			<orgName>Department of Computer Sciences, Vrije Universiteit Amsterdam</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Master&apos;s thesis</note>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">A Distributed Light-Weight Authentication Model for Ad-hoc Networks</title>
		<author>
			<persName><forename type="first">A</forename><surname>Weimerskirch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Thonet</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">The 4th International Conference on Information Security and Cryptology (ICISC 2001)</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2002">2002</date>
			<biblScope unit="volume">2288</biblScope>
			<biblScope unit="page" from="341" to="354" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
