Methods and systems for unilateral authentication of messages
First Claim
1. A method for a first computing device to make authentication information available to a second computing device, the method comprising:
- creating authentication information, the authentication information including content data, a public key of the first computing device, a network address of the first computing device derived from a portion of a combination of a hash of the public key and a modifier, and a digital signature, the digital signature generated by hashing a network address and at least a portion of the content data with a private key corresponding to the public key of the first computing device; and
making the authentication information available to the second computing device.
2 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is an authentication mechanism that enables an information recipient to ascertain that the information comes from the sender it purports to be from. This mechanism integrates a private/public key pair with selection by the sender of a portion of its address. The sender derives its address from its public key, for example, by using a hash of the key. The recipient verifies the association between the address and the sender'"'"'s private key. The recipient may retrieve the key from an insecure resource and know that it has the correct key because only that key can produce the sender'"'"'s address in the message. The hash may be made larger than the sender-selectable portion of the address. The recipient may cache public key/address pairs and use the cache to detect brute force attacks and to survive denial of service attacks. The mechanism may be used to optimize security negotiation algorithms.
58 Citations
16 Claims
-
1. A method for a first computing device to make authentication information available to a second computing device, the method comprising:
-
creating authentication information, the authentication information including content data, a public key of the first computing device, a network address of the first computing device derived from a portion of a combination of a hash of the public key and a modifier, and a digital signature, the digital signature generated by hashing a network address and at least a portion of the content data with a private key corresponding to the public key of the first computing device; and making the authentication information available to the second computing device.
-
-
2. A computer-readable storage medium containing instructions for performing a method for a first computing device to make authentication information available to a second computing device, the method comprising:
-
creating authentication information, the authentication information including content data, a public key of the first computing device, a network address of the first computing device derived from a portion of a combination of a hash of the public key and a modifier, and a digital signature, the digital signature generated by hashing a network address and at least a portion of the content data; and making the authentication information available to the second computing device.
-
-
3. A method for a second computing device to authenticate content data made available by a first computing device, the method comprising:
-
accessing authentication information made available by the first computing device, the authentication information including the content data, a public key of the first computing device, a first network address of the first computing device, and a digital signature; deriving a portion of a second network address from the public key of the first computing device by taking a portion of a value derived by hashing a combination of the public key and a modifier; validating the digital signature using the public key of the first computing device; and accepting the content data if the derived portion of the second network address matches a corresponding portion of the first network address and if the digital signature is valid. - View Dependent Claims (4)
-
-
5. A computer-readable storage medium containing instructions for performing a method for a second computing device to authenticate content data made available by a first computing device, the method comprising:
-
accessing authentication information made available by the first computing device, the authentication information including the content data, a public key of the first computing device, a first network address of the first computing device that has a node-selectable portion from a portion of a hash of a composite of the public key and a modifier, and a digital signature; deriving a node-selectable portion of a second network address by taking a portion of a hash of the public key of the first computing device; validating the digital signature using the public key of the first computing device; accepting the content data if the node-selectable portion of the second network address matches the node-selectable portion of the first network address and if the digital signature is valid; and wherein the second computing device accesses the public key of the first computing device over an unsecure channel.
-
-
6. A method for a computing device to derive a node-selectable portion of a network address from a public key of the computing device, the method comprising:
-
hashing the public key; comparing a portion of a value produced by the hashing with a portion of the network address other than the node-selectable portion; and when the portions do not match, choosing a modifier, appending the modifier to the public key, and repeating the hashing and comparing steps. - View Dependent Claims (7)
-
-
8. A computer-readable storage medium containing instructions for performing a method for a computing device to derive a node-selectable portion of a network address from a public key of the computing device, the method comprising:
-
hashing the public key; comparing a portion of a value produced by the hashing with a portion of the network address other than the node-selectable portion; and when the portions do not match, choosing a modifier, appending the modifier to the public key, and repeating the hashing and comparing steps.
-
-
9. A method for a computing device to derive a node-selectable portion of a network address from a public key of the computing device and from a route prefix of the network address of the computing device, the method comprising:
-
hashing the public key and at least a portion of the route prefix of the network address; setting the node-selectable portion of the network address to a portion of the value produced by the hashing; checking to see if the network address as set is already in use; and if the network address as set is already in use, choosing a modifier, appending the modifier to the public key, and repeating the hashing, setting, and checking.
-
-
10. A computer-readable storage medium containing instructions for performing a method for a computing device to derive a node-selectable portion of a network address from a public key of the computing device and from a route prefix of the network address of the computing device, the method comprising:
-
hashing the public key and at least a portion of the route prefix of the network address; setting the node-selectable portion of the network address to a portion of the value produced by the hashing; checking to see if the network address as set is already in use; and if the network address as set is already in use, choosing a modifier, appending the modifier to the public key, and repeating the hashing, setting, and checking.
-
-
11. A method for a second computing device to maintain a cache of at least one public key/network address association, the method comprising:
-
accessing authentication information made available by the first computing device, the authentication information including content data, a public key of the first computing device, a modifier, a first network address of the first computing device, and a digital signature; appending the modifier to the public key of the first computing device and deriving a portion of a second network address from combination of the pubic key of the first computing device and the modifier; validating the digital signature by using the public key of the first computing device; and caching the pubic key in association with the first network address if the derived portion of the second network address matches a corresponding portion of the first network address and if the validating shows that the digital signature was generated from at least one of the content data and a hash value of data including the content data. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A computer-readable storage medium containing instructions for performing a method for a second computing device to maintain a cache of at least one public key/network address association, the method comprising:
-
accessing authentication information made available by the first computing device, the authentication information including the content data, a public key of the first computing device, a modifier, a first network address of the first computing device, and a digital signature; deriving a portion of a second network address from combination of the pubic key of the first computing device and the modifier; validating the digital signature by using the public key of the first computing device; and caching the pubic key in association with the first network address if the derived portion of the second network address matches a corresponding portion of the first network address and if the validating shows that the digital signature was generated from at least one of the content data and a hash value of data including the content data.
-
Specification