IP Library Granted Patent US 8,321,676
Granted Patent B2
US 8,321,676 · App. 12/642,942 · Granted Nov 27, 2012

Method for establishing a secure ad hoc wireless LAN

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,321,676
App. No.
12/642,942
Granted
Nov 27, 2012
Kind
B2
Abstract

Secure communications on a network. An unauthenticated client on an network sends start packets to locate other clients. The unauthenticated client receives responses to the start packets from other clients on the network. The responses may be advertise packets that are from advertising clients that may be authenticated clients or other unauthenticated clients in authenticated mode. The unauthenticated client prioritizes the received packets so that authentication can be performed with the most desirable advertising client. Authentication packets are sent and received between the unauthenticated client and the advertising client in an attempt to authenticate.

Claims (83)

1. A method of authenticating an authenticating client to an authenticated client in an network comprising:

periodically and in response to receiving an start packet from the authenticating client, broadcasting an advertise packet;

receiving a packet from the authenticating client wherein if the authenticating client is an unauthenticated client, attempting to authenticate the authenticating client, attempting to authenticate the authenticating client comprising:

if the authenticating client attempts authentication using the same encryption type as the authenticated client, sending authentication packets;

if the authenticating client attempts authentication using a larger encryption type than the authenticated client, sending a cancel packet; and

if the authenticating client attempts authentication using a lower encryption type, sending authentication packets, if authentication is successful, configuring the authenticated client for secure communications, and if authentication is not successful, continuing to use encryption values in use prior to attempting to authenticate.

2. The method of claim 1 , wherein configuring the authenticated client for secure communication further comprises:

creating a random encryption key;

communicating to a LAN device at the authenticated client to start using the created random encryption key;

sending the authenticating client the random encryption key and a Unicast key;

resetting a timer value, the timer value specifying the length of time an encryption key has been in use; and

broadcasting an advertise packet.

3. The method of claim 1 wherein the advertise packet comprises an identity request, encryption types supported by the authenticating client, encryption type used by the authenticating client, a timer value indicating the length of time an encryption key has been used by the authenticating client, and a signature derived from the authentication key, the method further comprising:

examining at least one of the signature, timer value, and encryption type used by the authenticating client;

if the encryption type used by the authenticating client is a lower encryption type than the encryption type used by the authenticated client, attempting to authenticate the authenticating client using the largest encryption type supported by both the authenticating client and the authenticated client; and

if attempting to authenticate the authenticating client using the largest encryption type supported by both the authenticating client and the authenticated client succeeds:

changing to an encryption key, and encryption key index specified by a broadcast key;

communicating to a LAN device at the authenticated client to start using the encryption key;

resetting a timer value wherein the timer values specifies the length of time a particular encryption key has been in use; and

broadcasting an advertise packet.

4. The method of claim 3 further comprising if attempting to authenticate the authenticating client using the largest encryption type supported by both the authenticating client and the authenticated client fails, causing the authenticated client to continue using encryption values used by the authenticated client before attempting to authenticate.

5. The method of claim 1 wherein the advertise packet comprises an identity request, encryption types supported by the authenticating client, encryption type used by the authenticating client, a timer value indicating the length of time an encryption key has been used by the authenticating client, and a signature derived from the authentication key, the method further comprising:

examining the signature and the timer value; and

if the advertise packet has a different signature than a signature being used by the authenticated client and the advertise packet has a smaller timer value than a timer value being used by the authenticated client, attempting to authenticate the authenticating client using the largest encryption type supported by both the authenticated client and the authenticating client that is no larger than the encryption type used by the authenticating client prior to attempting to authenticate the authenticating client; and

if attempting to authenticate the authenticating client using the largest encryption type supported by both the authenticating client and the authenticated client that is no larger than the encryption type used by the authenticating client prior to attempting to authenticate the authenticating client succeeds:

changing to an encryption key and encryption key index specified by a broadcast key;

communicating to a LAN device at the authenticated client to start using the encryption key;

resetting a timer value wherein the timer values specifies the length of time a particular encryption key has been in use; and

broadcasting an advertise packet.

6. The method of claim 1 wherein the authenticated client is an unauthenticated client switched into authenticated mode in response to receiving an advertise packet and switching to authenticated mode.

7. The method of claim 1 further comprising re-keying on the passing of a certain amount of time or if a certain amount of data has been sent and received, re-keying comprising:

sending a start packet;

collecting any advertise packets received in response to the start packet;

determining the largest encryption type that is supported by the authenticated client and all clients sending advertise packets;

selecting an encryption type;

assigning a new encryption key, encryption index and signature of the selected encryption type;

communicating to a LAN device at the authenticated client to start using the new encryption key; and

broadcasting an advertise packet.

8. The method of claim 7 , wherein if the largest encryption type supported by any of the clients that advertise packets are received from is smaller than an encryption type currently being used by the authenticated client, selecting comprises continuing to use the current encryption type.

9. The method of claim 7 further comprising broadcasting start packets and collecting responses to the start packets to determine if other clients in the network are using the new encryption key.

10. A non-transitory computer readable medium on which is embedded a computer program, said computer program implementing a method of authenticating an authenticating client to an authenticated client in a network, said computer program comprising computer executable code to:

periodically and in response to receipt of a start packet from the authenticating client, broadcast an advertise packet;

receive a packet from the authenticating client wherein if the authenticating client is an unauthenticated client and attempt to authenticate the authenticating client, wherein the attempt to authenticate the authenticating client includes code to:

if the authenticating client attempts authentication using the same encryption type as the authenticated client, send authentication packets;

if the authenticating client attempts authentication using a larger encryption type than the authenticated client, send a cancel packet; and

if the authenticating client attempts authentication using a lower encryption type, send authentication packets, if authentication is successful, configure the authenticated client for secure communications, and if the authentication is not successful, continue to use encryption values in use prior to attempting to authenticate.

11. The non-transitory computer readable medium according to claim 10 , said computer executable code further comprising code to:

create a random encryption key;

communicate to a LAN device at the authenticated client to start using the created random encryption key;

send the authenticating client the random encryption key and a Unicast key;

reset a timer value, the timer value specifying the length of time an encryption key has been in use; and

broadcast an advertise packet.

12. The non-transitory computer readable medium according to claim 10 , wherein the advertise packet comprises an identity request, encryption types supported by the authenticating client, encryption type used by the authenticating client, a timer value indicating the length of time an encryption key has been used by the authenticating client, and a signature derived from the authentication key, the computer executable code further comprising code to:

examine at least one of the signature, timer value, and encryption type used by the authenticating client;

if the encryption type used by the authenticating client is a lower encryption type than the encryption type used by the authenticated client, attempt to authenticate the authenticating client using the largest encryption type supported by both the authenticating client and the authenticated client; and

if an attempt to authenticate the authenticating client using the largest encryption type supported by both the authenticating client and the authenticated client succeeds:

change to an encryption key, and encryption key index specified by a broadcast key;

communicate to a LAN device at the authenticated client to start using the encryption key;

reset a timer value wherein the timer values specifies the length of time a particular encryption key has been in use; and

broadcast an advertise packet.

13. The non-transitory computer readable medium according to claim 12 , the computer executable code further comprising code to:

if an attempt to authenticate the authenticating client using the largest encryption type supported by both the authenticating client and the authenticated client fails, cause the authenticated client to continue using encryption values used by the authenticated client before the attempt to authenticate.

14. The non-transitory computer readable medium according to claim 10 , wherein the advertise packet comprises an identity request, encryption types supported by the authenticating client, encryption type used by the authenticating client, a timer value indicating the length of time an encryption key has been used by the authenticating client, and a signature derived from the authentication key, the computer executable code further comprising code to:

examine the signature and the timer value; and

if the advertise packet has a different signature than a signature being used by the authenticated client and the advertise packet has a smaller timer value than a timer value being used by the authenticated client, attempt to authenticate the authenticating client using the largest encryption type supported by both the authenticated client and the authenticating client that is no larger than the encryption type used by the authenticating client prior to attempting to authenticate the authenticating client; and

if an attempt to authenticate the authenticating client using the largest encryption type supported by both the authenticating client and the authenticated client that is no larger than the encryption type used by the authenticating client prior to the attempt to authenticate the authenticating client succeeds:

change to an encryption key and encryption key index specified by a broadcast key;

communicate to a LAN device at the authenticated client to start using the encryption key;

reset a timer value wherein the timer values specifies the length of time a particular encryption key has been in use; and

broadcast an advertise packet.

15. The non-transitory computer readable medium according to claim 10 , wherein the authenticated client is an unauthenticated client switched into authenticated mode in response to receiving an advertise packet and switching to authenticated mode.

16. The non-transitory computer readable medium according to claim 10 , the computer executable code further comprising code to:

re-key on the passing of a certain amount of time or if a certain amount of data has been sent and received by:

sending a start packet;

collecting any advertise packets received in response to the start packet;

determining the largest encryption type that is supported by the authenticated client and all clients sending advertise packets;

selecting an encryption type;

assigning a new encryption key, encryption index and signature of the selected encryption type;

communicating to a LAN device at the authenticated client to start using the new encryption key; and

broadcasting an advertise packet.

17. The non-transitory computer readable medium according to claim 16 , wherein if the largest encryption type supported by any of the clients that advertise packets are received from is smaller than an encryption type currently being used by the authenticated client, selecting comprises continuing to use the current encryption type.

18. The non-transitory computer readable medium according to claim 16 , the computer executable code further comprising code to:

broadcast start packets and collect responses to the start packets to determine if other clients in the network are using the new encryption key.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2018
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: MEIZU TECHNOLOGY CO., LTD.
Reel/Frame 045057/0555 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
CORRECTIVE ASSIGNMENT PREVIUOSLY RECORDED ON REEL 027329 FRAME 0001 AND 0044. Recorded May 1, 2012
From: HEWLETT-PACKARD COMPANY
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 028911/0846 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2011
From: HEWLETT-PACKARD COMPANY
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 027329/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SEE ATTACHED Recorded Jul 15, 2010
From: 3COM CORPORATION
To: HEWLETT-PACKARD COMPANY
Reel/Frame 025039/0844 →
MERGER Recorded Jul 6, 2010
From: 3COM CORPORATION
To: HEWLETT-PACKARD COMPANY
Reel/Frame 024630/0820 →