IP Library Granted Patent US 7,051,102
Granted Patent B2
US 7,051,102 · App. 10/134,780 · Granted May 23, 2006

Peer-to-peer name resolution protocol (PNRP) security infrastructure and method

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,051,102
App. No.
10/134,780
Granted
May 23, 2006
Kind
B2
Abstract

A security infrastructure and methods are presented that inhibit the ability of a malicious node from disrupting the normal operations of a peer-to-peer network. The methods of the invention allow both secure and insecure identities to be used by nodes by making them self-verifying. When necessary or opportunistic, ID ownership is validated by piggybacking the validation on existing messages. The probability of connecting initially to a malicious node is reduced by randomly selecting to which node to connect. Further, information from malicious nodes is identified and can be disregarded by maintaining information about prior communications that will require a future response. Denial of service attacks are inhibited by allowing the node to disregard requests when its resource utilization exceeds a predetermined limit. The ability for a malicious node to remove a valid node is reduced by requiring that revocation certificates be signed by the node to be removed.

Claims (44)

1. A method of opportunistically validating a peer address certificate at a first node in a peer-to-peer network, the first node utilizing a multilevel cache for storage of peer address certificates, comprising the steps of:

receiving a peer address certificate (PAC) purportedly from a second node;

determining in which level of the multilevel cache the PAC is to be stored;

when the PAC is to be stored in one of two lowest cache levels

(a) placing the PAC in a set aside list,

(b) generating an INQUIRE message containing an ID of the PAC to be validated,

(c) transmitting the INQUIRE message to the second node; and

when the PAC is to be stored in an upper cache level other than one of the two lowest cache levels, storing the PAC in the upper cache level.

2. The method of claim 1 , wherein the step of transmitting the INQUIRE message includes the step of requesting a certificate chain for the PAC.

3. The method of claim 1 , wherein the step of generating the INQUIRE message comprises the step of generating a transaction ID to be included in the INQUIRE message.

4. The method of claim 1 , further comprising the steps of:

receiving an AUTHORITY message from the second node in response to the INQUIRE message;

removing the PAC from the set aside list; and

storing the PAC in the one of the two lowest cache levels.

5. The method of claim 2 , further comprising the steps of:

receiving an AUTHORITY message from the second node in response to the INQUIRE message;

removing the PAC from the set aside list;

examining the AUTHORITY message to determine if the certificate chain is present and valid;

storing the PAC in the one of the two lowest cache levels when the certificate chain is present and valid; and

deleting the PAC when the certificate chain is not present and valid.

6. The method of claim 3 , further comprising the steps of:

receiving an AUTHORITY message from the second node in response to the INQUIRE message;

removing the PAC from the set aside list;

examining the AUTHORITY message to determine if the transaction ID is present;

storing the PAC in the one of the two lowest cache levels when the transaction ID is present; and

deleting the PAC when the transaction ID is not present.

7. The method of claim 1 , further comprising the steps of:

selecting the PAC stored in an upper cache level other than one of the two lowest cache levels to route a RESOLVE packet;

transmitting the RESOLVE packet to the second node, the RESOLVE packet having piggybacked therewith ID ownership validation information; and

marking the PAC as valid when the second node validates ID ownership.

8. The method of claim 7 , further comprising the steps of:

deleting the PAC from an upper cache level other than one of the two lowest cache levels when the second node is unable to validate ID ownership; and

reprocessing the RESOLVE packet with a different PAC.

9. The method of claim 8 , wherein the step of deleting the PAC from an upper cache level other than one of the two lowest cache levels when the second node is unable to validate ID ownership comprises the step of waiting a predetermined period of time for the second node to validate ID ownership before deleting the PAC.

10. The method of claim 8 , wherein the step of deleting the PAC from an upper cache level other than one of the two lowest cache levels when the second node is unable to validate ID ownership comprises the steps of:

receiving an AUTHORITY message from the second node;

examining the AUTHORITY message to determine if the second node was able to validate ID ownership;

determining that the second node was unable to validate ID ownership; and

deleting the PAC.

11. The method of claim 10 , wherein the step of determining that the second node was unable to validate ID ownership comprises the step of determining that the second node set a flag in the AUTHORITY message indicating that it was unable to validate ID ownership of the PAC.

12. The method of claim 10 , wherein the step of determining that the second node was unable to validate ID ownership comprises the step of examining the AUTHORITY message to determine that a certificate chain is not present and valid.

13. The method of claim 7 , wherein the step of marking the PAC as valid when the second node validates ID ownership comprises the step of receiving an AUTHORITY message from the second node validating ID ownership.

14. The method of claim 7 , wherein the step of marking the PAC as valid when the second node validates ID ownership comprises the step of receiving an AUTHORITY message from the second node having a certificate chain validating ID ownership.

15. A computer-readable medium having computer-executable instructions for performing the steps recited in claim 1 .

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →