Protocols for anonymous electronic communication and double-blind transactions
First Claim
1. A method for communication between two entities in a set of clients across a network such that their identities are concealed from each other comprising the steps of:
- providing a set of Forwarding Agents (FAs), there being n FAs and a plurality of groups of these n agents, each of which consists of a plurality of k members, where k is a fixed number considered sufficient to provide anonymity in the system and each FA belongs to at least one group;
providing each of the FAs with its own pair of public and private keys for encryption and decryption, respectively, where the underlying cryptosystem scheme is a commutative public key cryptosystem, each FA also having appropriate keys required to perform secure digital signatures on documents and to verify the signatures of other FAs;
registering each client with a Forwarding Agent S, the client once having selected a Forwarding Agent S, and picking one of the groups that the Forwarding Agent S belongs to, thus selecting k agents to be associated with the client, the step of registering including assigning a pseudonym X to the client and providing the Forwarding Agent S with an encrypted form of the client'"'"'s network address, the encrypted form being created by successively encrypting by the client the client'"'"'s network address with the public keys of the k selected agents to obtain an encrypted address thereby rendering the network address unreadable to any individual FA;
maintaining by each FA a table with three fields, a pseudonym, a corresponding encrypted network address and the FA group to be used for forwarding;
delivering a message meant for a pseudonym X to Forwarding Agent (FA) S where X is registered using a protocol that protects the anonymity of the sender; and
passing the message through a random sequence of FAs in the group to which Forwarding Agent S belongs until a FA in the group finds a visible network address and then sending the message on to this address.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and associated protocols for communication between two entities across a computer network operate such that the identities of the two entities remain concealed from each other, while ensuring that no third party is able to trace the existence of a conversation between them. The two entities correspond to each other through pseudonyms. The protocols are designed with an object to distribute trust so that an identity is not revealed by the compromise of any one agent involved in the execution of the protocol. No one agent can establish a correlation between a pseudonym and a physical address.
-
Citations
14 Claims
-
1. A method for communication between two entities in a set of clients across a network such that their identities are concealed from each other comprising the steps of:
-
providing a set of Forwarding Agents (FAs), there being n FAs and a plurality of groups of these n agents, each of which consists of a plurality of k members, where k is a fixed number considered sufficient to provide anonymity in the system and each FA belongs to at least one group; providing each of the FAs with its own pair of public and private keys for encryption and decryption, respectively, where the underlying cryptosystem scheme is a commutative public key cryptosystem, each FA also having appropriate keys required to perform secure digital signatures on documents and to verify the signatures of other FAs; registering each client with a Forwarding Agent S, the client once having selected a Forwarding Agent S, and picking one of the groups that the Forwarding Agent S belongs to, thus selecting k agents to be associated with the client, the step of registering including assigning a pseudonym X to the client and providing the Forwarding Agent S with an encrypted form of the client'"'"'s network address, the encrypted form being created by successively encrypting by the client the client'"'"'s network address with the public keys of the k selected agents to obtain an encrypted address thereby rendering the network address unreadable to any individual FA; maintaining by each FA a table with three fields, a pseudonym, a corresponding encrypted network address and the FA group to be used for forwarding; delivering a message meant for a pseudonym X to Forwarding Agent (FA) S where X is registered using a protocol that protects the anonymity of the sender; and passing the message through a random sequence of FAs in the group to which Forwarding Agent S belongs until a FA in the group finds a visible network address and then sending the message on to this address.
-
-
2. A method for communication between two entities in a set of clients across a network such that their identities are concealed from each other and no third party is able to trace the communication comprising the steps of:
-
providing a set of Forwarding Agents (FAs), there being n FAs and several groups of these n agents, each of which consists of k members, where k (0<
k≦
n) is a fixed number considered sufficient to provide anonymity in the system and each FA belongs to at least one group;providing each of the FAs with its own pair of public and private keys for encryption and decryption, respectively, where the underlying cryptosystem scheme is a commutative public key cryptosystem, each FA also having appropriate keys required to perform secure digital signatures on documents and to verify the signatures of other FAs; registering each client with a Forwarding Agent S, the client once having selected a Forwarding Agent S, also picking one of the groups that the Forwarding Agent S belongs to, thus selecting k agents to be associated with the client, the step of registering including assigning a pseudonym X to the client and providing the Forwarding Agent S with an encrypted form of the client'"'"'s network address, rendering it unreadable to any individual FA; maintaining by each FA a table with three fields, a pseudonym, a corresponding encrypted network address and the FA group to be used for forwarding; delivering a message meant for a pseudonym X to Forwarding Agent (FA) S where X is registered using a protocol that protects the anonymity of the sender; passing the message through a random sequence of FAs in the group to which Forwarding Agent S belongs; and finding by the last FA in the sequence a visible network address and sending the message on to this address, wherein the step of registering comprises the steps of; successively encrypting by the client the client'"'"'s network address with the public keys of the k selected agents to obtain an encrypted address, referred to as the “
onion address”
of the client;sending by the client to the Forwarding Agent (FA) S a Registration Message which contains the client'"'"'s onion address and a chosen pseudonym X, and also identifies the group of k agents selected by the client; and adding by the Forwarding Agent the information contained in the Registration Message to its table. - View Dependent Claims (3, 4)
-
-
5. A method for communication between two entities in a set of clients across a network such that their identities are concealed from each other and no third party is able to trace the communication comprising the steps of:
-
providing a set of Forwarding Agents (FAs), there being n FAs and several groups of these n agents, each of which consists of k members, where k (0<
k≦
n) is a fixed number considered sufficient to provide anonymity in the system and each FA belongs to at least one group;providing each of the FAs with its own pair of public and private keys for encryption and decryption, respectively, where the underlying cryptosystem scheme is a commutative public key cryptosystem, each FA also having appropriate keys required to perform secure digital signatures on documents and to verify the signatures of other FAs; registering each client with a Forwarding Agent S, the client once having selected a Forwarding Agent S, also picking one of the groups that the Forwarding Agent S belongs to, thus selecting k agents to be associated with the client, the step of registering including assigning a pseudonym X to the client and providing the Forwarding Agent S with an encrypted form of the client'"'"'s network address, rendering it unreadable to any individual FA; maintaining by each FA a table with three fields, a pseudonym, a corresponding encrypted network address and the FA group to be used for forwarding; delivering a message meant for a pseudonym X to Forwarding Agent (FA) S where X is registered using a protocol that protects the anonymity of the sender; passing the message through a random sequence of FAs in the group to which Forwarding Agent S belongs; and finding by the last FA in the sequence a visible network address and sending the message on to this address, wherein once the Forwarding Agent (FA) S obtains a message intended for X, the Forwarding Agent S performs the steps of; looking up X in its internal table and retrieving an encrypted version of the address of X, referred to as the “
onion address”
of X, as well as the group of FAs to be used for forwarding;creating the list of the FAs that the message will pass through, which list includes all FAs other than S who will have to “
peel the onion”
before the address of the intended recipient is revealed, the list containing all the members of the appropriate group except the Forwarding Agent S itself; andaffixing the list to the head of the message. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14)
-
Specification