IP Library Granted Patent US 8,156,332
Granted Patent B2
US 8,156,332 · App. 11/807,838 · Granted Apr 10, 2012

Peer-to-peer security authentication protocol

Assignee: Apple Inc.
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 8,156,332
App. No.
11/807,838
Granted
Apr 10, 2012
Kind
B2
Abstract

A salt transmitted by a second node is received at a first node. The received salt is used to decrypt encrypted data. Optionally, authorization to access a service provided by the second node is received by the first node. In some cases the service includes access to one or more files.

Claims (45)

1. A method of computer security, comprising:

receiving at a first node a salt transmitted from a second node, wherein the salt is associated with a user at the first node;

receiving at the first node encrypted data transmitted from the second node, wherein the encrypted data is encrypted based at least in part on a salted hash comprising a combination of the salt and a hash of additional data; and

decrypting at the first node the received encrypted data, wherein decrypting includes generating the salted hash based at least in part on the salt.

2. The method of claim 1 further comprising receiving authorization to access a service provided by the second node.

3. The method of claim 2 wherein the service includes access to one or more files.

4. The method of claim 1 further comprising sending the user identifier from the first node.

5. The method of claim 1 further comprising using additional data to decrypt the encrypted data.

6. The method of claim 5 wherein the additional data comprises a password of the user at the first node.

7. The method of claim 1 wherein the encrypted data is used to compute a session key.

8. The method of claim 1 wherein the encrypted data is received from the second node and is used to compute a session key.

9. The method of claim 1 wherein the salted hash is obtained directly or indirectly from a third node.

10. The method of claim 9 wherein the third node is a user directory.

11. The method of claim 1 wherein the encrypted data is received directly or indirectly from a third node.

12. The method of claim 11 wherein the third node is a user directory.

13. The method of claim 1 further comprising generating a peer challenge.

14. The method of claim 1 further comprising establishing a session with the second node.

15. A method of computer security, comprising:

obtaining at a first node a salted hash, wherein the salted hash comprises a combination of a salt associated with a user identifier of a user at a second node and a hash of additional data; and

sending the salt and encrypted data to the second node, wherein the encrypted data is encrypted based at least in part on the salted hash, wherein the second node is configured to use the received salt to decrypt the received encrypted data, including by generating the salted hash based at least in part on the salt.

16. The method of claim 15 further comprising granting authorization to access a service provided by the first node.

17. The method of claim 15 further comprising receiving the user identifier at the first node.

18. The method of claim 15 further comprising receiving a peer challenge.

19. The method of claim 18 further comprising generating a response to the peer challenge.

20. The method of claim 15 further comprising obtaining the salt from a third node.

21. The method of claim 15 further comprising receiving the encrypted data from a third node.

22. The method of claim 15 further comprising establishing a session with the second node.

23. A system for computer security, including:

a processing device; and

a memory coupled with the processing device, wherein the memory is configured to provide the processing device with instructions which when executed cause the processor to:

receive at a first node a salt transmitted from a second node, wherein the salt is associated with a user at the first node;

receive at the first node encrypted data transmitted from the second node, wherein the encrypted data is encrypted based at least in part on a salted hash comprising a combination of the salt and a hash of additional data; and

decrypting at the first node the received encrypted data, wherein decrypting includes generating the salted hash based at least in part on the salt.

24. A system for computer security, including:

a processing device; and

a memory coupled with the processing device, wherein the memory is configured to provide the processing device with instructions which when executed cause the processor to:

obtain at a first node a salted hash, wherein the salted hash comprises a combination of a salt associated with a user identifier of a user at a second node and a hash of additional data; and

send the salt and encrypted data to the second node, wherein the encrypted data is encrypted based at least in part on the salted hash, wherein the second node is configured to use the received salt to decrypt the received encrypted data, including by generating the salted hash based at least in part on the salt.

25. A non-transitory computer program product for computer security, the computer program product being embodied in a computer readable medium and comprising computer instructions for:

receiving at a first node a salt transmitted from a second node, wherein the salt is associated with a user at the first node;

receiving at the first node encrypted data transmitted from the second node, wherein the encrypted data is encrypted based at least in part on a salted hash comprising a combination of the salt and a hash of additional data; and

decrypting at the first node the received encrypted data, wherein decrypting includes generating the salted hash based at least in part on the salt.

26. A non-transitory computer program product for authenticating a client to a server, the computer program product being embodied in a computer readable medium and comprising computer instructions for:

obtaining at a first node a salted hash, wherein the salted hash comprises a combination of a salt associated with a user identifier of a user at a second node and a hash of additional data; and

sending the salt and encrypted data to the second node, wherein the encrypted data is encrypted based at least in part on the salted hash, wherein the second node is configured to use the received salt to decrypt the received encrypted data, including by generating the salted hash based at least in part on the salt.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2007
From: SIMON, STEVEN NEIL
To: APPLE INC.
Reel/Frame 019424/0342 →
Continuity (1)
Related Publication 20080301435A1 · Dec 4, 2008