IP Library Granted Patent US 7,899,188
Granted Patent B2
US 7,899,188 · App. 11/756,371 · Granted Mar 1, 2011

Method and system to authenticate a peer in a peer-to-peer network

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,899,188
App. No.
11/756,371
Granted
Mar 1, 2011
Kind
B2
Abstract

A system ( 100 ) and method ( 500 ) system to authenticate a peer in a peer-to-peer network is provided. The system can include a first peer ( 110 ) to locally create a secret key ( 112 ) and use the secret key to produce a public-key pair ( 120 ) comprising an identifier name ( 113 ) and a small public-key ( 115 ), and a second peer ( 160 ) to locally authenticate the identifier name of the public-key pair by requesting ( 405 ) the first peer to produce a unique dataset that does not reveal the secret-key and yet validates that the public-key pair was generated with the secret-key when the large public-key is applied to a portion of the unique dataset without using an external authentication system.

Claims (52)

1. A method to generate a public-key pair for an identifier-name i of a peer, comprising:

choosing a secret-key, s;

applying a modulus operator to the secret-key to produce a large public-key, v;

performing a hash of the large public-key to produce a small public-key, hv;

combining the identifier name with the small public-key to produce a public-key pair <i, hv>; and

sharing the public-key pair in a peer-to-peer network;

wherein the steps of choosing, applying, performing, and combining occur locally in the peer disassociated with an external authentication system.

2. The method of claim 1 , wherein the modulus operator is v=s 2 mod n, where n is a value that is shared among peers in the peer-to-peer network.

3. The method of claim 2 , wherein n is a product (n 1 *n 2 ) of two prime numbers.

4. The method of claim 2 , wherein s and n are both the same length, and the hash of v produces a small public-key hv that has a length less than s and n.

5. A method to authenticate an identifier-name of a first peer in a peer-to-peer network by a second peer, the method comprising:

receiving a public-key pair <i, hv> comprising the identifier name i and a small public-key hv locally created by the first peer using a secret key that is held in confidence by the first peer; and

locally authenticating the identifier name i by requesting the first peer to produce a unique data set, and comparing the unique data set to a second unique data generated by the second peer from a portion of the produced unique data set using the modulus operator v, wherein the authenticating is disassociated with an external authentication system.

6. The method of claim 5 , wherein the method further comprises the steps of:

choosing a secret-key, s;

applying a modulus operator [s 2 mod n] to the secret-key to produce a large public-key, v;

performing a hash of the large public-key to produce the small public-key, hv=hash [s 2 mod n]; and

combining the identifier name with the small public-key to produce the public-key pair <i, hv>,

wherein n is a value that is known to the first peer and the second peer and is a product of two prime numbers,

wherein the steps of choosing, applying, performing, and combining occur locally disassociated with an external authentication system.

7. The method of claim 5 , wherein the method further comprises the steps of:

receiving from the first peer a unique data set [(ri) 2 mod n] using random numbers r 1 , r 2 , . . . , ri for i=1 to k;

informing the first peer of a first selected subset r′i and a second selected subset r″i of the unique data set;

receiving from the first peer a first reply xi=([s*ri] mod n) for each ri 2 mod n of the first selected subset, r′i;

receiving from the first peer a second reply yi=(ri mod n) for each ri 2 mod n of the second selected subset, r″i; and

validating the identifier name if ([v*r′i 2 ] mod n) equals xi 2 mod n, and if (r″i 2 mod n) equals yi 2 mod n.

8. The method of claim 5 , wherein the external authentication system is at least one among a Public-key Infrastructure (PKI) that issues PKI certificates, a remote authentication server that digitally verifies signatures, or a remote log-in server that ensures a uniqueness of an identifier.

9. A system to authenticate a peer in a peer-to-peer network, the system comprising:

a first peer to locally create a secret key, s, and use the secret key to produce a public-key pair <i, hv> comprising an identifier name, i, and a small public-key, hv; and

a second peer to locally authenticate the identifier name of the public-key pair by requesting the first peer to produce a unique dataset that does not reveal the secret-key and yet validates that the public-key pair was generated with the secret-key when corresponding large public-key is applied to a portion of the unique dataset without using an external authentication system.

10. The system of claim 9 , wherein the second peer

requests the first peer to generate the unique data from a sequence of random numbers;

selects a first subset and a second subset of the unique data set responsive to receiving the unique data set from the first peer; and

informs the first peer of the first subset selected and the second subset selected.

11. The system of claim 10 , wherein the second peer receives the unique data set, selects a first subset and a second subset of the unique data set, and informs the first peer of the first and second subset selected.

12. The system of claim 11 , wherein the first peer sends (s*ri) mod (n) to the second peer for each ri 2 of the first subset as a first reply, and the first peer sends (ri) mod (n) to the second peer for each ri 2 of the second subset as a second reply.

13. The system of claim 12 , wherein the second peer validates the identifier-name if a square of the first reply is equal to (v*ri) mod (n) for each ri 2 in the first reply, and a square of the second reply is equal to ri 2 mod (n) for each ri 2 in the second reply.

14. The system of claim 10 , wherein the second peer

squares a first reply to produce a first squared reply responsive to the first peer processing the first subset with the secret-key to produce the first reply; and

squares a second reply to produce a second squared reply responsive to first peer processing the second subset without the secret-key to produce the second reply.

15. The system of claim 14 , wherein the second peer

processes the first subset of the unique data set with the large public-key to produce a first reference, and processes the second subset of the unique data set without the large public-key to produce a second reference; and

validates the identifier-name of the first peer if the first squared reply equals the first reference and the second squared reply equals the second reference.

16. The system of claim 9 , wherein the first peer

applies a modulus operator to the secret key, s, to produce a large public-key, v;

performs a hash of the large public-key to produce the small public-key, hv; and

combines the identifier name with the small public-key to produce the public-key pair <i, hv>,

wherein the steps of choosing, applying, performing, and combining occur locally in the peer without use of an external authentication system.

17. The system of claim 16 , wherein the modulus operator is v=s 2 mod n.

18. The system of claim 17 , wherein n is a product (n 1 *n 2 ) of two primes, where n is preconfigured in the first peer, and n is shared with the second peer.

19. The system of claim 9 , wherein the second peer requests the first peer to send a large public-key and checks if a hash of the large public-key matches the short public-key.

20. The system of claim 9 , wherein the first peer generates k random numbers, r 1 , r 2 , . . . , ri for i=1 to k, and sends the unique data set (ri 2 ) mod n to the second peer.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2014
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 034450/0001 →
CHANGE OF NAME Recorded Oct 2, 2012
From: MOTOROLA MOBILITY, INC.
To: MOTOROLA MOBILITY LLC
Reel/Frame 029216/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2010
From: MOTOROLA, INC
To: MOTOROLA MOBILITY, INC
Reel/Frame 025673/0558 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2007
From: ABU-AMARA, HOSAME H.
To: MOTOROLA, INC.
Reel/Frame 019363/0234 →