IP Library Patent Application 11783856
Patent Application
App. No. 11/783,856

Handshake procedure

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 None
App. No.
11/783,856
Abstract

The invention discloses a solution for establishing by a handshake procedure a group temporal key for group communication. The group temporal key is established by a group procedure and is a group-specific temporal key.

Claims (102)

1 . A method for establishing, by a handshake procedure, a group temporal key for group communication, the method comprising:

providing a handshake initiator with a shared group key, a group key identifier and a group identifier, the group identifier identifying the group members, wherein the group comprises at least three members;

generating a group temporal key identifier;

generating an initiator random number;

creating an initiating message comprising the group identifier, the group key identifier, the group temporal key identifier, and the initiator random number;

sending the initiating message to other group members;

receiving a response message from at least one group member, the response message comprising a random number of the sender of the response message;

determining, whether response messages have been received from a predetermined set of group members; and

calculating the group temporal key with at least a key derivation function, the shared group key identified by the group key identifier, and at least one random number from a set of the initiator random number and the received random numbers, when a response message have been received from the predetermined set of group members.

2 . The method according to claim 1 , wherein when determining that response messages have not been received from the predetermined set of group members, the method further comprises one of the following steps:

reinitiating the handshake procedure, and

aborting the handshake procedure.

3 . The method according to claim 1 , wherein using in the group temporal key calculation random numbers of all the group members belonging to the predetermined set of group members.

4 . The method according to claim 1 , wherein the predetermined set of group members comprises all the group members.

5 . The method according to claim 1 , wherein the predetermined set of group members comprises a subgroup of all the group members.

6 . The method according to claim 1 , further comprising:

reinitiating the handshake procedure, when detecting a group member from which a response message was not received.

7 . The method according to claim 1 , further comprising:

sending a message comprising random numbers used in calculating the group temporal key to the group.

8 . The method according to claim 1 , further comprising:

sending a message comprising random numbers used in calculating the group temporal key and sender information of the received random numbers to the group.

9 . The method according to claim 1 , further comprising:

sending a message comprising random numbers used in calculating the group temporal key, the group key identifier and the group identifier to at least one group member from which a response message was not received.

10 . The method according to claim 9 , further comprising:

indicating in the message whether the order of the initiator random number and the random numbers used in calculating the group temporal key is significant.

11 . The method according to claim 1 , wherein the group key identifier and the group identifier are comprised in a single identifier.

12 . The method according to claim 1 , wherein the handshake procedure is performed in the data link layer.

13 . The method according to claim 1 , wherein the handshake procedure is performed above the data link layer, and wherein the method further comprises:

transporting the calculated group temporal key to the data link layer.

14 . A method for establishing, by a handshake procedure, a group temporal key for group communication, the method comprising;

providing a handshake responder with a shared group key, a group key identifier and a group identifier, the group identifier identifying the group members, wherein the group comprises at least three members;

receiving an initiating message from a handshake initiator, the initiating message comprising the group identifier, a group temporal key identifier, and an initiator random number;

receiving a response message from at least one group member, the message comprising a random number of the sender of the message;

determining, whether response messages have been received from a predetermined set of group members; and

calculating the group temporal key with at least a key derivation function, the shared group key identified by the group key identifier, and at least one random number from a set of the initiator random number and the received random numbers in the at least one received response message, when a response message has been received from the predetermined set of group members.

15 . The method according to claim 14 , further comprising:

generating a responder random number;

creating a response message that comprises at least the responder random number; and

sending the response message to other members of the group.

16 . The method according to claim 14 , wherein when determining that response messages have not been received from the predetermined set of group members, the method further comprises:

aborting the handshake procedure.

17 . The method according to claim 14 , wherein using in the group temporal key calculation random numbers of all the group members belonging to the predetermined set of group members.

18 . The method according to claim 14 , wherein the predetermined set of group members comprises all the group members.

19 . The method according to claim 14 , wherein the predetermined set of group members comprises a subgroup of all the group members.

20 . The method according to claim 14 , further comprising:

receiving, from the handshake initiator, a key calculation message comprising random numbers used by the handshake initiator in calculating the group temporal key;

checking, whether the handshake responder has received the same random numbers as comprised in the key message;

using in calculating the group temporal key the random numbers comprised in the key message, when the result of the checking is affirmative; and

aborting the handshake procedure, when the result of the checking is negative.

21 . The method according to claim 14 , further comprising:

receiving, from the handshake initiator, a key calculation message comprising random numbers used in calculating the group temporal key and corresponding sender information of the random numbers;

checking, whether the handshake responder has received the same random numbers from the same senders as comprised in the key message;

using in calculating the group temporal key the random numbers comprised in the key message, when the result of the checking is affirmative; and

aborting the handshake procedure, when the result of the checking is negative.

22 . The method according to claim 14 , wherein the group key identifier and the group identifier are comprised in a single identifier.

23 . The method according to claim 14 , wherein the handshake procedure is performed in the data link layer.

24 . The method according to claim 14 , wherein the handshake procedure is performed above the data link layer, and wherein the method further comprises:

transporting the calculated group temporal key to the data link layer.

25 . A method for establishing, by a handshake procedure, a group temporal key for group communication, the method comprising;

providing a group member with a shared group key, a group key identifier and a group identifier, the group identifier identifying the group members, wherein the group comprises at least three members;

receiving, from a handshake initiator, a key calculation message comprising a group temporal key identifier, a group identifier and random numbers of those group members which were used in calculating the group temporal key; and

calculating the group temporal key with at least a key derivation function, the shared group key identified by the group key identifier, the group identifier, and the received random numbers.

26 . The method according to claim 25 , further comprising:

indicating in the key calculation message whether the order of the random numbers in calculating the group temporal key is significant.

27 . A device for establishing, by a handshake procedure, a group temporal key for group communication, the device comprising:

a transceiver configured to communicate with other group members over a wired or wireless connection; and

a handshake unit comprising a shared group key, a group key identifier and a group identifier, the group identifier identifying the group members, wherein the group comprises at least three members, wherein the handshake unit is configured to:

generate a group temporal key identifier;

generate an initiator random number;

create an initiating message comprising the group identifier, the group key identifier, the group temporal key identifier, and the initiator random number;

send the initiating message to other group members;

receive a response message from at least one group member, the response message comprising a random number of the sender of the response message;

determine, whether response messages have been received from a predetermined set of group members; and

calculate the group temporal key with at least a key derivation function, the shared group key identified by the group key identifier, and at least one random number from a set of the initiator random number and the received random numbers, when a response message have been received from the predetermined set of group members.

28 . A device for establishing, by a handshake procedure, a group temporal key for group communication, the device comprising;

a transceiver configured to communicate with other group members over a wired or wireless connection; and

a handshake unit comprising a shared group key, a group key identifier and a group identifier, the group identifier identifying the group members, wherein the group comprises at least three members, wherein the handshake unit is configured to:

receive an initiating message from a handshake initiator, the initiating message comprising the group identifier, a group temporal key identifier, and an initiator random number;

receive a response message from at least one group member, the message comprising a random number of the sender of the message;

determine, whether response messages have been received from a predetermined set of group members; and

calculate the group temporal key with at least a key derivation function, the shared group key identified by the group key identifier, and at least one random number from a set of the initiator random number and the received random numbers in the at least one received response message, when a response message has been received from the predetermined set of group members

29 . A device for establishing, by a handshake procedure, a group temporal key for group communication, the device comprising;

a transceiver configured to communicate with other group members over a wired or wireless connection; and

a handshake unit comprising a shared group key, a group key identifier and a group identifier, the group identifier identifying the group members, wherein the group comprises at least three members, wherein the handshake unit is configured to:

receive, from a handshake initiator, a key calculation message comprising a group temporal key identifier, a group identifier and random numbers of those group members which were used in calculating the group temporal key; and

calculate the group temporal key with at least a key derivation function, the shared group key identified by the group key identifier, the group identifier, and the received random numbers.

30 . A computer program for establishing, by a handshake procedure, a group temporal key for group communication, the group comprising at least three members, embodied on a computer-readable medium, the computer program configured to perform the following when executed on a data-processing device:

generating a group temporal key identifier;

generating an initiator random number;

creating an initiating message comprising a group identifier, a group key identifier, a group temporal key identifier, and the initiator random number;

sending the initiating message to other group members;

receiving a response message from at least one group member, the response message comprising a random number of the sender of the response message;

determining, whether response messages have been received from a predetermined set of group members; and

calculating the group temporal key with at least a key derivation function, a shared group key identified by the group key identifier, and at least one random number from a set of the initiator random number and the received random numbers, when a response message have been received from the predetermined set of group members.

31 . A computer program for establishing, by a handshake procedure, a group temporal key for group communication, the group comprising at least three members, embodied on a computer-readable medium, the computer program configured to perform the following when executed on a data-processing device:

receiving an initiating message from a handshake initiator, the initiating message comprising a group identifier, a group temporal key identifier, and an initiator random number;

receiving a response message from at least one group member, the message comprising a random number of the sender of the message;

determining, whether response messages have been received from a predetermined set of group members; and

calculating the group temporal key with at least a key derivation function, a shared group key identified by the group key identifier, and at least one random number from a set of the initiator random number and the received random numbers in the at least one received response message, when a response message has been received from the predetermined set of group members

32 . A computer program for establishing, by a handshake procedure, a group temporal key for group communication, the group comprising at least three members, embodied on a computer-readable medium, the computer program configured to perform the following when executed on a data-processing device:

receiving, from a handshake initiator, a key calculation message comprising a group temporal key identifier, a group identifier and random numbers of those group members which were used in calculating the group temporal key; and

calculating the group temporal key with at least a key derivation function, the shared group key identified by the group key identifier, the group identifier, and the received random numbers.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2015
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 035561/0438 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2007
From: NYBERG, KAISA
To: NOKIA CORPORATION
Reel/Frame 019566/0902 →