10 September 2002
Source: US Patent Office:
http://www.uspto.gov
United States Patent | 6,389,533 |
Davis , et al. | May 14, 2002 |
An anonymity system including a cryptographic device. The cryptographic device of the anonymity system is adapted to initially determine whether a response to an incoming electronic message is requested. If so, an address of the anonymity system is encrypted with a key. In one embodiment, the key may be a public key of a system targeted to receive an outgoing electronic message from the anonymity system inclusive of data contained in the incoming electronic message. The encrypted address is placed into an outgoing electronic message before re-routing to the target system to allow the target system to re-route the response back to the anonymity system.
Inventors: | Davis; Derek L. (Phoenix, AZ); Korta; Jean-Charles (Mesa, AZ) |
Assignee: | Intel Corporation (Santa Clara, CA) |
Appl. No.: | 244803 |
Filed: | February 5, 1999 |
Current U.S. Class: | 713/162; 713/151; 713/153; 713/154 |
Intern'l Class: | H04L 009/00 |
Field of Search: | 713/190,151,152,153,154,162,200 |
5473692 | Dec., 1995 | Davis. | |
5539828 | Jul., 1996 | Davis. | |
5568552 | Oct., 1996 | Davis. | |
5751809 | May., 1998 | Davis et al. | |
5796840 | Aug., 1998 | Davis. | |
5805706 | Sep., 1998 | Davis. | |
5805712 | Sep., 1998 | Davis. | |
5818939 | Oct., 1998 | Davis. | |
5828753 | Oct., 1998 | Davis. | |
5884246 | Mar., 1999 | Boucher et al. | 704/2. |
5961593 | Oct., 1999 | Gabber et al. | 709/219. |
6023510 | Feb., 2000 | Epstein | 705/54. |
6061789 | May., 2000 | Hauser et al. | 713/168. |
6263362 | Jul., 2001 | Donoho et al. | 709/207. |
6266704 | Jul., 2001 | Reed et al. | 709/238. |
Foreign Patent Documents | |||
411161574 | Jun., 1999 | JP | . |
"Anonymous Remailer Information," anon.efga.org/Remailers[internet], 2001.* Bacard, "Anonymous Remailer FAQ," www.andrebacard.com/remail.htm[internet], Feb. 2001.* Dusse et al, "S/MIME Version 2 Message Specification," RFC 2311, Mar. 1998. |
Primary Examiner: DeCady; Albert
Assistant Examiner: Kabakoff; Steve
Attorney, Agent or Firm: Blakely, Sokoloff, Taylor & Zafman LLP
FIG. 2 is a diagram of an illustrative embodiment of an anonymity system
of the communication system of FIG. 1.
FIG. 3 is a diagram of an illustrative embodiment of a cryptographic device
coupled to a system substrate of the anonymity system of FIG. 2.
FIG. 4 is a diagram of an alternative embodiment using a removable daughter
card to interconnect the cryptographic device to the system of FIGS. 2 and
3.
FIG. 5 is a diagram of an illustrative embodiment of a cryptographic device
implemented within the anonymity system of FIG. 2.
FIGS. 6-9 are diagrams of illustrative embodiments for a selected format
of an incoming electronic message transmitted between electronic systems
and/or multiple anonymity systems.
FIGS. 10-13 are diagrams of illustrative embodiments for a format of a response
message returned to an electronic system from which the incoming electronic
message of FIGS. 6-9 originated.
FIG. 14 is a flowchart of operations performed by an embodiment of the anonymity
system of FIG. 2.
FIG. 15 is a flowchart of the authentication operations of an embodiment
of the anonymity system of FIG. 2.
DETAILED DESCRIPTION OF AN EMBODIMENT
The present invention relates to a system and method for providing anonymous
and traffic analysis resistant communications over a communication link in
order to preserve the integrity and confidentiality of an electronic message
transmitted between two electronic systems. In the following description,
numerous details of selected embodiments of the invention are set forth in
order to provide a thorough understanding of the present invention. It will
be obvious, however, to one skilled in the art that other embodiments may
be utilized while still practicing the present invention.
In the detailed description, certain terminology is used to generally describe
features and characteristics of the present invention. For example, "information"
includes data, address, control signals or any combination thereof. An
"electronic message" is one or more packets of digital information which
collectively comprise: (i) a header featuring an address of the immediate
destination of the electronic message, and (ii) a body featuring data, addresses
to identify the intended recipient of the electronic message and selected
control information. A "key" is an encoding and/or decoding parameter such
as, for example, public or private keys used by well-known or later established
asymmetric key cryptographic functions or a secret key shared in confidence
between the two electronic systems executing a well-known or later established
symmetric key cryptographic function.
A "digital signature" is digital information encrypted with a private key
of its signatory to ensure that the information has not been illicitly modified
after being digitally signed. As a result, a digital signature authenticates
the integrity of digital information provided in its entirety or as a digest
produced by a one-way hash function. A "one-way hash function" includes a
function, mathematical or otherwise, that takes information of a variable-length
and converts it into a fixed-length result (referred to as a "digest"). The
term "one-way" indicates that there does not readily exist an inverse function
to recover any discernible portion of the original information from the digest.
A "digital certificate" is defined herein as digital information used to
authenticate a sender of information. For example, a digital certificate
may include a public key, associated with an electronic system or entity
(person, company, etc.) being certified, which is encrypted with the private
key of a certification authority. Examples of a "certification authority"
includes a manufacturer, a trade association, a governmental entity, a bank
or any other entity held in trust by the consumer.
Referring to FIG. 1, a diagram of an illustrative embodiment of a communication
system featuring the present invention is shown. The communication system
100 comprises a communication link 110 connecting a plurality of electronic
systems 120.sub.1 -120.sub.n ("n" being a positive whole number; n=2) and
at least one anonymity system 130. Optionally, as represented by dashed lines,
other anonymity system(s) 140.sub.1 -140.sub.m ("m" being a positive whole
number) may be coupled to communication link 110 so that an electronic message
may be passed through multiple anonymity systems as described in FIGS. 6-9.
As shown in FIG. 1, communication link 110 provides bi-directional communications
between (i) two electronic systems 120.sub.1 and 120.sub.2, (ii) an electronic
system and an anonymity system, and/or (iii) two anonymity systems. The
bi-directional communications may be accomplished through one or more
communication channels. Various embodiments of communication link 110 may
include, but are not limited or restricted to a public network including
a Wide Area Network (WAN) such as the Internet, a private network such as
a Local Area Network (LAN), wireless, Plain Old Telephone System (POTS),
cable and Integrated Services Digital Network (ISDN) as defined by the
International Telegraph and Telephone Consultative Committee and the like.
Each of the electronic systems 120.sub.1 and 120.sub.2 include a computer
(e.g., portable, desktop, server, mainframe, network computer, etc.) or any
other equipment accessible to communication link 110. Examples of the "other
equipment" include, for example, a network television, a network printer,
a telephone, a personal digital assistant and the like. In this embodiment,
each electronic system 120.sub.1 or 120.sub.2 is uniquely addressed on
communication link 110.
Referring now to FIG. 2, a diagram of an illustrative embodiment of anonymity
system 130 implemented as a server is shown. Coupled to electronic systems
120.sub.1 and 120.sub.2 as described above, anonymity system 130 includes
a system substrate 200, outlined by dashed lines, which controls the overall
functionality of anonymity system 130. System substrate 200, normally a circuit
board (e.g., a motherboard) formed with any type of material or combination
of materials upon which logic devices can be attached.
As shown in FIG. 3, system substrate 200 comprises at least one processor
300 and a cryptographic device 320. To enable communications with processor
300, cryptographic device 320 may be coupled to any bus architecture to which
processor 300 communicates (e.g., a dedicated bus, an input/output "I/O"
bus such as a Peripheral Component Interconnect "PCI" bus, etc.). Alternatively,
cryptographic device 320 may be integrated within the same package as processor
300, either on a separate die or on the same die as processor 300. Although
not shown, discrete components (e.g., capacitors, resistors, inductors, etc.)
are attached to system substrate 200 in a selected manner to, among other
things, maximize routing characteristics and decrease latency between integrated
circuitry.
Referring now to FIG. 4, an alternative embodiment of an implementation
associated with cryptographic device 320 is shown. Cryptographic device 320
is coupled to a removable daughter card 400 electrically and mechanically
coupled to system substrate 200 of FIGS. 2 and 3. In this embodiment, daughter
card 400 includes a circuit board formed from any type of material upon which
integrated circuitry (not shown) can be attached through well-known techniques
such as soldering. A casing 410 substantially covers daughter card 400 in
order to protect its integrated circuitry from damage or harmful contaminants.
The daughter card 400 includes a connector 420 to establish the mechanical
and an electrical connection with a connector of system substrate 200. In
this embodiment, connector 420 includes a standard male edge connector. It
is contemplated, however, that other embodiments of daughter card 400 include
a removable card having a credit card format (e.g., a SmartCard), a PCMCIA
card, a network interface card and the like.
Referring to FIG. 5, a diagram of one embodiment of cryptographic device
320 is shown. Cryptographic device 320 comprises an internal bus 500 coupling
together a processor 510, non-volatile memory unit 520, an optional volatile
memory unit 530 (as denoted by dashed lines), an optional random number generator
540 (as denoted by dashed lines) and a bus control unit 550. The bus control
unit 550 controls information transmissions between cryptographic device
320 and communication link 10 of FIG. 1, thereby maintaining communications
with any one of the "n" electronic systems remotely located from anonymity
system 130.
In this embodiment, non-volatile memory unit 520 contains a public/private
key pair 521 and 522 uniquely associated with cryptographic device 320. It
is contemplated that non-volatile memory unit 520 further contains software
523, namely communication software and/or software to counter (resist) traffic
analysis. When in operation, communication software allows electronic systems
to transfer data while counter traffic analysis software performs operations
making traffic analysis more difficult. For example, the counter traffic
analysis software, when executed, may introduce padding into the electronic
message to increase its size. Likewise, the counter traffic analysis software
may (i) introduce an arbitrary delay before redirecting that electronic message,
(ii) partition the electronic message into multiple messages which are
transmitted in succession, and/or (iii) produce decoy (invalid) messages
along with the redirected electronic message or any combination thereof.
Of course, other techniques may be used. Of course, it is contemplated that
software 523 may be stored outside cryptographic device 320, provided this
software is cryptographically protected to avoid modification before being
loaded into non-volatile memory unit 520 or volatile memory unit 530 of
cryptographic device 320.
Volatile memory unit 530 may be utilized as temporary storage by processor
510, especially during the execution of software 523. The random number generator
540 may be used in the initial generation of values used to produce public
key 521 and private key 522 contained in non-volatile memory unit 520. It
is desirable to implement random number generator 540 into cryptographic
device 320 to guarantee that a private key of a unique public/private key
pair will not been exposed in readable form outside cryptographic device
320. Also, the cryptographic engine hardware represented by a symmetric (e.g.,
DES-based) and an asymmetric (e.g., RSA-based) encryption/decryption units
may be optionally implemented, as indicated by dashed lines, to assist in
performing cryptographic operations.
It is contemplated, however, that cryptographic device 320 of FIG. 4 may
be implemented in a number of alternative embodiments. For example, the
cryptographic device may be implemented with discrete logic on a printed
circuit board, or implemented within a chipset operating in cooperation with
a host processor, or implemented within the processor, or implemented as
a separate device coupled to a bus accessible by the processor. There exist
many embodiments which, although slightly different in design, do not deviate
from the spirit and scope of the invention.
Referring to FIGS. 6-9, a general format of the data structures of an electronic
message transmitted between two electronic systems and through one or more
anonymity systems is shown. Each electronic message 600 includes a header
610 and a message body 620. The header 610 includes an immediate destination
address of electronic message 600. Initially, this destination address is
a unique address associated with a first anonymity system (identified as
"AS(1)") as shown in FIG. 7. For subsequent routing, the destination address
may be a unique address associated with another anonymity system (e.g., AS(x),
where "x"=2) or the intended recipient (IR) such as a second electronic system
120.sub.2 of FIG. 1.
The message body 620 includes data 700 such as a viewable image, text, an
audible sound, an executable program and the like. Optionally, data 700 is
encrypted with a public key of the intended recipient (PUKIR). Besides data
700, body 620 may further include (i) a message propagation field 710, (ii)
a target address field 720, (iii) a routing field 730, (iv) a control field
740 and perhaps (v) padding information which is interspersed in body 620
or appended to data 700 or predetermined field 710, 720, 730 or 740. The
optional padding is not shown.
In this embodiment, control field 740 includes a communication path enable
bit which, when set, indicates to communication software, executed by the
cryptographic device of an anonymity system, that message propagation field
710 can be loaded with information as described below. This allows a response
to be routed back to the original sender of electronic message 600. Otherwise,
electronic message 600 cannot be responded to by the intended recipient.
When the enable bit is set, message propagation field 710 is loaded with
data to identify provider(s) of electronic message 600; namely, in this
embodiment, the address(es) 711 of those anonymity system(s) through which
electronic message 600 has been routed. Successive loading of message propagation
field 710 is described below and is illustrated in FIGS. 7-10. In addition,
message propagation field 710 is loaded with data acting as a tag identification
value for the electronic message (referred to as a "message tag" 712). Herein,
message tag (MT) 712 is encrypted with the public key of the original sender
(PUKSDR) as represented by "MT.sub.PUKSDR ".
The contents of message propagation field 710, which are used in identifying
where a response is directed to and what the response pertains to, are initially
encrypted with the public key of a targeted anonymity system or electronic
system. For example, message propagation field 710 includes an address of
the original sender (SDR) and MT.sub.PUKSDR, both encrypted with a public
key of AS(1) (e.g., PUKAS1) when routed to a first anonymity system (FIG.
7). Subsequently, message propagation field 710 successively includes (i)
an address of AS(1) encrypted with a public key of AS(2) (e.g., PUKAS2) when
routed to a second anonymity system (FIG. 8), (ii) an address of AS(2) encrypted
with a public key of AS(3) (e.g., PUKAS3) when routed to a third anonymity
system, and (iii) an address of AS(M) encrypted with PUKIR when routed to
the intended recipient (IR) such as another electronic system. "M" represents
the m.sup.th anonymity system being the last system prior to routing the
intended recipient.
As further shown in FIGS. 6-9, target address field 720 contains an address
of the intended recipient (IR) of electronic message 600 (such as the address
of second electronic system 120.sub.2 of FIG. 1 in this embodiment). The
routing field 730 includes one or more bytes of information to indicate when
to route electronic message 600 to the intended recipient. For example, in
one embodiment, routing field 730 includes a maximum (max) number and minimum
(min) number of intermediary anonymity systems for re-routing electronic
message 600 (where min.ltoreq.M.ltoreq.max). The "minimum number" 731 is
decremented upon receipt by each of the anonymity system(s) and, upon reaching
zero, enables the anonymity system to route electronic message 600 to the
intended recipient. The "maximum number" 732 is decremented upon receipt
by each of the anonymity system(s) and, if reaches zero, forces that anonymity
system to route electronic message 600 to the intended recipient. The routing
field 730 may further include explicit routing information 733 that allows
specified routing to occur. Otherwise, routing will be dependent on the
configuration of each anonymity system. The information contained in target
address field 720 and routing field 730 is deleted by the mth anonymity system
addressed by AS(M) before transmission to the intended recipient as shown
in FIG. 10.
Referring now to FIG. 11, upon responding to electronic message 600, a second
electronic system decrypts a portion of message propagation field 710 (see
FIG. 10) to recover an address of the immediately preceding anonymity system,
such as AS(M), which had routed the electronic message thereto. The data
may need decryption as well. In general, a response 800 having the same general
format as the electronic message may be generated by the second electronic
system. The response 800 comprises a header 810 to contain the address of
the immediate destination of response 800, for example AS(M), from the message
propagation field of the electronic message 600 of FIG. 10. The response
800 further comprises a body 820 featuring a return message propagation field
900, data 910 as an optional digital signature 920. Return message propagation
field 900 includes the contents of message propagation field 710 of FIG.
10 which were provided to the second electronic system. Certain contents
would be encrypted with the public key of the mth anonymity system (e.g.,
PUKASM), such as the address AS(M-1) of the next intermediary system to receive
response 800. The optional digital signature 920 provides assurances to the
original sender that the intended recipient is, in fact, responding to the
electronic message.
After being received by each of the anonymity systems, the contents of message
propagation field 900 are decrypted and the most significant address, namely
AS(M-1) is placed into header 810 as shown in FIG. 12. Now, the most significant
address of message propagation field 900 is encrypted with the public key
associated with the M-1.sup.th anonymity system (e.g., PUKASM-1). This process
continues until response 800 is received by the first anonymity system addressed
by AS(1).
Upon reaching the first anonymity system, prior to transmission to the original
sender, header 810 features an address of the original sender (e.g., SDR)
to which the response was intended. Message 800 also includes message propagation
field 900 having the encrypted message tag "E(MT).sub.PUKSDR " provided in
the original message 600 and data 910. E(MT).sub.PUKSDR, when decrypted,
identifies what the response pertains to (see FIG. 13). Data 910 may be encrypted
with PUKSDR. As an option, digital signature 920 may be provided to the original
sender to verify that response 800 originated from the intended recipient
of electronic message 600.
Referring now to FIG. 14, one embodiment of an address assignment scheme
would involve the anonymity system routing an electronic message to the
cryptographic device (block 1000). Internally within the cryptographic device,
a determination is made as to whether the communication path enable bit has
been enabled (block 1010). If this bit has been disabled, the address assignment
scheme is discontinued. Instead, a new address (e.g., address of intended
recipient) is placed in the header, perhaps counter traffic analysis procedures
are performed, and the electronic message is redirected (blocks 1060, 1070,
1080 and 1090).
If this bit is enabled, a message tag (MT) is generated and determined whether
the message tag has already been assigned (block 1020). If previously assigned,
the message tag is again generated (block 1030) and checked. Otherwise, the
message tag is stored in a table to correspond with the public key of the
sender (PUKSDR) which is supplied by the electronic message (block 1040).
Both the message tag and the address of a target anonymity system to receive
this message are encrypted with a public key of the targeted anonymity system
(block 10500. The encrypted message tag and address are placed in the electronic
message (block 1060) prior to reconfiguration of the header for redirection
from the anonymity system (block 1090).
If counter traffic analysis measures are desirable (block 1070), these measures
may be employed internally within the cryptographic device (block 1080).
For example, the cryptographic device may provide padding to the electronic
message in order to vary its size. Alternatively or in combination therewith,
a random delay before redirecting the electronic message may be induced.
As a result, the decrypted data is not exposed to the operator. Instead,
random counter traffic analysis measures are performed to make it difficult
for somebody to look at incoming messages and to accurately deduce certain
output messages are associated with corresponding incoming messages.
Referring now to FIG. 15, authentication of an anonymity system of FIG. 1
is shown. First, in block 1110, a sender tentatively selects a particular
anonymity system. Upon selecting an anonymity system, the sender determines
whether the characteristics of the anonymity system such as its operational
protocol (block 1120). This may be accomplished through a number of
authentication procedures.
As shown, one authentication procedure involves at least one of the parties
requesting the public key of either the anonymity system (PUKAS) or the
cryptographic device "PUKCD" and perhaps a digital certificate (block 1130).
The digital certificate would verify that the anonymity system was manufactured
by a certain company or perhaps approved by a certification authority such
as a reputable manufacturer, trade association, governmental entity and the
like. The digital certificate and perhaps the public key are encrypted with
a private key of the certificate authority (PRKCA) whose public key (PUKCA)
is widely disseminated. Thus, the parties can obtain PUKAS (or PUKCD) and
send a challenge message to the anonymity system requesting a response to
the message, this requested response being the message encrypted with the
private key of the anonymity system (PRKAS) or private key of cryptographic
device (PRKCD), respectively (block 1140). In block 1150, if the party can
read the response by decrypting it with PUKAS (or PUKCD), the anonymity system
has been authenticated to be the device that the parties have sought (blocks
1160 and 1170).
If the cryptographic device is configured to maintain counter traffic analysis
software and/or firmware, an additional authentication operation may be performed
to ensure that an acceptable version of such software/firmware is installed
(block 1180). This authentication operation consists of querying the previously
authenticated cryptographic device for details of its configuration.
The present invention described herein may be designed in accordance with
many different methods and using many other embodiments that may come to
mind to a person skilled in the art, without that person departing from the
spirit and scope of the present invention. The invention should, therefore,
be measured in terms of the claims which follows.