Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHODS AND APPARATUS FOR DATA SECURITY IN MOBILE AD HOC NETWORKS
Document Type and Number:
WIPO Patent Application WO/2014/064339
Kind Code:
A1
Abstract:
Systems and techniques for key management in mobile ad hoc networks are described. Pseudonyms are defined for group members of mobile ad hoc networks such that a pseudonym in a message can be deterministically identified with the sending device only by the sending device and the message recipient. Key management for a group is performed by a group manager (U.), and key management may include key renewal and revocation. Key renewal is performed by a group 'manager, with the group manager using a set of couple pseudonyms (q..), including a couple pseudonym between the manager and each group member. Key renewal employs^a renewal key used to encrypt the updated group key, and the group manager updates the group key by transmitting a message to each group member in proximity (402), with the message being identified using the couple pseudonym of the manager and the group member.

Inventors:
TURUNEN MARKKU (FI)
LEPPÄNEN KARI (FI)
HARKOUS HAMZA (CH)
GINZBOORG PHILIP (FI)
NIEMI PENTTI (FI)
Application Number:
PCT/FI2013/051006
Publication Date:
May 01, 2014
Filing Date:
October 25, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
NOKIA CORP (FI)
International Classes:
H04L9/08; H04L29/06; H04W12/04
Foreign References:
US7234058B12007-06-19
US20100285774A12010-11-11
Other References:
KATE ET AL.: "Anonymity and Security in Delay Tolerant Networks", THIRD INTERNATIONAL CONFERENCE ON SECURITY AND PRIVACY IN COMMUNICATIONS NETWORKS AND THE WORKSHOPS, 17 September 2007 (2007-09-17), pages 504 - 513, XP031276586
Attorney, Agent or Firm:
NOKIA CORPORATION et al. (Virpi TognettyKeilalahdentie 4, Espoo, FI)
Download PDF:
Claims:
We claim:

1. An apparatus comprising:

at least one processor;

memory storing a program of instructions;

wherein the memory storing the program of instructions is configured to, with the at least one processor, cause the apparatus to at least:

define a set of user pseudonyms for a wireless device having a persistent user identity and a persistent, renewable user key, wherein the user pseudonyms are periodically renewed;

define an authentication key derived from the user key and current time; and engage in communication by transmitting at least one message, wherein each of the at least one message associated with the device includes a user pseudonym identifying the originating wireless device and an authentication key verifying that the message originates from the identified wireless device.

2. The apparatus of claim 1, wherein the authentication key and the set of user pseudonyms are changed after each of a sequence of defined time periods.

3. The apparatus of claim 1 or 2, wherein the authentication key is derived from a user key that is changed upon a determination to prevent at least one previously authorized device from verifying a message of the wireless device.

4. An apparatus comprising:

at least one processor;

memory storing a program of instructions;

wherein the memory storing the program of instructions is configured to, with the at least one processor, cause the apparatus to at least:

define, for a paired couple of user devices, a set of couple pseudonyms based on couple identifiers exchanged during a pairing procedure, wherein the couple pseudonyms are derived from the couple identifiers and a renewal key, wherein the couple of devices are wireless devices belonging to a group communicating messages encrypted by a shared key; and

identify messages referring to the couple of devices using a couple pseudonym.

5. The apparatus of claim 4, wherein one member of the couple of devices is a group manager and the other member of the couple is a group member.

6. The apparatus of claim 4 or 5, wherein the apparatus also defines an individual key shared between the members of the couple.

7. The apparatus of claim 4, 5, or 6, wherein the couple identifier is defined so as to prevent deterministic verification that the couple pseudonym is a valid couple pseudonym of the couple sharing it.

8. The apparatus of claim 7, wherein the set of couple pseudonyms are changed after a sequence of defined time periods.

9. An apparatus comprising:

at least one processor;

memory storing a program of instructions;

wherein the memory storing the program of instructions is configured to, with the at least one processor, cause the apparatus to at least:

store data identifying the most recent detection of an authenticated message from a wireless device in a group of wireless devices of which a specified wireless device is the manager, wherein the wireless devices in the group communicate with a shared key, with each of the wireless devices having at least one associated user pseudonym for use in identifying the wireless device; and

determine if the wireless device is in proximity to the group manager by comparing an elapsed duration since a message from the wireless device was detected with an expiration period.

10. The apparatus of claim 9, wherein the apparatus is further caused to, in response to detecting a presence beacon sent periodically from a wireless device having no content to share, authenticate the presence beacon.

11. An apparatus comprising:

at least one processor;

memory storing a program of instructions;

wherein the memory storing the program of instructions is configured to, with the at least one processor, cause the apparatus to at least:

send a user search message containing pseudonyms for wireless devices in a group of wireless devices of which a specified wireless device is the manager, wherein the wireless devices in the group communicate with a shared key, with each of the wireless devices having at least one associated user pseudonym for use in identifying and authenticating messages, wherein the pseudonyms are pseudonyms of devices that have failed to acknowledge a most recent key renewal message by the group manager and that have not been detected for a predetermined period; and

in response to receiving a message acknowledging receipt of the message containing pseudonyms, update a database with a new key and to initiate a key renewal of a group key.

12. The apparatus of claim 11, wherein the apparatus is caused to store key information at an online server.

13. The apparatus of claim 11 or 12, wherein the apparatus is caused to cease sending user search messages after no response has been received from the wireless device for a specified period.

14. The apparatus of claim 10, 11, or 12, wherein the apparatus is caused to perform a key renewal operation for the wireless device upon a manual selection.

15. A method comprising :

defining a set of user pseudonyms for a wireless device;

define an authentication key derived from a user key based at least in part on one of the set of the user pseudonyms; and

engaging in communication by transmitting at least one message, wherein each of the at least one message associated with the device employs the authentication key.

16. The method of claim 15, wherein the authentication key and the set of user pseudonyms are changed after each of a sequence of defined time periods.

17. The method of claim 15 or 16, wherein the authentication key is derived from a user key that is changed upon a determination to prevent at least one previously authorized device from verifying a message of the wireless device.

18. A method comprising :

defining a couple pseudonym unique to an associated couple of devices, wherein the couple of devices are wireless devices belonging to a group communicating messages encrypted by a shared key; and

including in messages to be transmitted to one of the couple of devices key update information identified based at least in part on the couple pseudonym.

19. The method of claim 18, wherein one member of the couple of devices is a group manager and the other member of the couple is a group member.

20. The method of claim 18 or 19, wherein the apparatus also defines an individual key shared between the members of the couple.

21. The method of claim 18, 19, or 20, wherein the couple identifier is defined so as to prevent deterministic verification that the couple pseudonym is a valid couple pseudonym of the couple sharing it.

22. The method of claim 21, wherein the set of couple pseudonyms are changed after a sequence of defined time periods.

23. A method comprising:

storing data identifying the most recent detection of an authenticated message from a wireless device in a group of wireless devices of which a specified wireless device is the manager, wherein the wireless devices in the group communicate with a shared key, with each of the wireless devices having at least one associated user pseudonym for use in identifying and authenticating messages; and

determining if the wireless device is in proximity to the group manager by comparing an elapsed duration since a message from the wireless device was detected with an expiration period.

24. The method of claim 23, further comprising, upon detecting a presence beacon sent periodically from a wireless device having no content to share, authenticating the presence beacon.

25. A method comprising:

sending a user search message containing pseudonyms for wireless devices in a group of wireless devices of which a specified wireless device is the manager, wherein the wireless devices in the group communicate with a shared key, with each of the wireless devices having at least one associated user pseudonym for use in identifying and authenticating messages, wherein the pseudonyms are pseudonyms of devices that have failed to acknowledge a most recent key renewal message by the group manager and that have not been detected for a predetermined period; and

in response to receiving a message acknowledging receipt of the message containing pseudonyms, updating a database with a new key and to initiate a key renewal of a group key.

26. The method of claim 25, further comprising key information at an online server.

27. The method of claim 25 or 26, further comprising sending user search messages after no response has been received from the wireless device for a specified period.

28. The method of claim 25, 26, or 27, further comprising performing a key renewal operation for the wireless device upon a manual selection.

29. A computer readable medium storing a program of instructions, execution of which by a processor configures an apparatus to at least:

define a set of user pseudonyms for a wireless device;

define an authentication key derived from a user key based at least in part on one of the set of the user pseudonyms; and

engage in communication by transmitting at least one message, wherein each of the at least one message associated with the device employs the authentication key.

30. The computer readable medium of claim 29, wherein the authentication key and the set of user pseudonyms are changed after each of a sequence of defined time periods.

31. The computer readable medium of claim 29 or 30, wherein the authentication key is derived from a user key that is changed upon a determination to prevent at least one previously authorized device from verifying a message of the wireless device.

32. A computer readable medium storing a program of instructions, execution of which by a processor configures an apparatus to at least:

define a couple pseudonym unique to an associated couple of devices, wherein the couple of devices are wireless devices belonging to a group communicating messages encrypted by a shared key; and

include in messages to be transmitted to one of the couple of devices key update information identified based at least in part on the couple pseudonym.

33. The computer readable medium of claim 32, wherein one member of the couple of devices is a group manager and the other member of the couple is a group member.

34. The computer readable medium of claim 32 or 33, wherein the apparatus also defines an individual key shared between the members of the couple.

35. The computer readable medium of claim 32, 33, or 34, wherein the couple identifier is defined so as to prevent deterministic verification that the couple pseudonym is a valid couple pseudonym of the couple sharing it.

36. The apparatus of claim 35, wherein the set of couple pseudonyms are changed after a sequence of defined time periods.

37. A computer readable medium storing a program of instructions, execution of which by a processor configures an apparatus to at least:

store data identifying the most recent detection of an authenticated message from a wireless device in a group of wireless devices of which a specified wireless device is the manager, wherein the wireless devices in the group communicate with a shared key, with each of the wireless devices having at least one associated user pseudonym for use in identifying and authenticating messages; and

determine if the wireless device is in proximity to the group manager by comparing an elapsed duration since a message from the wireless device was detected with an expiration period.

38. The computer readable medium of claim 37, wherein the apparatus is further configured to, upon detecting a presence beacon sent periodically from a wireless device having no content to share, authenticate the presence beacon.

39. A computer readable medium storing a program of instructions, execution of which by a processor configures an apparatus to at least:

send a user search message containing pseudonyms for wireless devices in a group of wireless devices of which a specified wireless device is the manager, wherein the wireless devices in the group communicate with a shared key, with each of the wireless devices having at least one associated user pseudonym for use in identifying and authenticating messages, wherein the pseudonyms are pseudonyms of devices that have failed to acknowledge a most recent key renewal message by the group manager and that have not been detected for a predetermined period; and

in response to receiving a message acknowledging receipt of the message containing pseudonyms, update a database with a new key and to initiate a key renewal of a group key.

40. The computer readable medium of claim 39, wherein the apparatus is further configured to store key information at an online server.

41. The computer readable medium of claim 39 or 40, wherein the apparatus is further configured to cease sending user search messages after no response has been received from the user for a specified period.

42. The computer readable medium of claim 39, 40, or 41, wherein the apparatus is configured to perform a key renewal operation for the wireless device upon a manual selection.

43. An apparatus comprising:

means for defining a set of user pseudonyms for a wireless device;

means for defining an authentication key derived from a user key based at least in part on one of the set of the user pseudonyms; and

means for engaging in communication by transmitting at least one message, wherein each of the at least one message associated with the device employs the authentication key.

44. An apparatus comprising:

means for defining a couple pseudonym unique to an associated couple of devices, wherein the couple of devices are wireless devices belonging to a group communicating messages encrypted by a shared key; and

means for including in messages to be transmitted to one of the couple of devices key update information identified based at least in part on the couple pseudonym.

45. An apparatus comprising:

means for storing data identifying the most recent detection of an authenticated message from a wireless device in a group of wireless devices of which a specified wireless device is the manager, wherein the wireless devices in the group communicate with a shared key, with each of the wireless devices having at least one associated user pseudonym for use in identifying and authenticating messages; and

means for determining if the wireless device is in proximity to the group manager by comparing an elapsed duration since a message from the wireless device was detected with an expiration period.

46. An apparatus comprising:

means for sending a user search message containing pseudonyms for wireless devices in a group of wireless devices of which a specified wireless device is the manager, wherein the wireless devices in the group communicate with a shared key, with each of the wireless devices having at least one associated user pseudonym for use in identifying and authenticating messages, wherein the pseudonyms are pseudonyms of devices that have failed to acknowledge a most recent key renewal message by the group manager and that have not been detected for a predetermined period; and

means for, in response to receiving a message acknowledging receipt of the message containing pseudonyms, updating a database with a new key and to initiate a key renewal of a group key.

Description:
METHODS AND APPARATUS FOR DATA SECURITY

IN MOBILE AD HOC NETWORKS

FIELD OF THE INVENTION

The present invention relates generally to data communication and security. More particularly, the invention relates to key management in mobile ad hoc group networks. DEFFNITIONS

The following are some of the abbreviations and symbols, with definitions, that may be used in the present specification:

AcM Acknowledgement message

D k Decryption function for E k with key k

E k Authenticated encryption function (AES-EAX) with key k

F HMAC-SHA-256 hash function

FRK X J hash function for derivation of couple encryption keys (KQ J) and couple pseudonyms (e.g. for a pair ( U , U j )

Fun A hash function for derivation of authentication keys (ΚΑ , Ι) and user

pseudonyms (¾ ) for U

K Authentication key for U

K g ] Group encryption key for group 1

KQ J Couple encryption key for a pair ( U , U j ) lookup A function that searches the stored tables

MAC Message Authentication Code max Number of possible device pseudonyms

PPMi Privacy preserving mechanism for U,

Qi j Couple identifier for a pair ( U , U j )

Q j Couple identifier for a pair ( U j , U) qi j First couple pseudonym of ( U , U j ) qi j, 2 Second couple pseudonym of ( U , U j )

RKj Renewal key for ( U , U j ) RK j Renewal key for ( U j , Ui)

RnM Key renewal message salt Public fixed string (known system-wide)

SeAcM Acknowledgement for a user search message

SeM User search message t Current time period

U Static user identifier for a user i

Verify MAC verification function x g Group pseudonym of a group g User pseudonym of U

< String comparison function

BACKGROUND

The increasing proliferation of mobile communication devices is accompanied by an increasing desire by users for flexibility in their communications. One widely used approach is the formation of groups of mobile devices; formation of such groups allows communication between mobile devices without a need for participation by a base station in organization or management of the group. Data between group members is typically secured using a shared symmetric key, known by all current group members. Group management may be accomplished by one of the group members, suitably referred to as a group manager. The group manager distributes the key to new members joining the group and renews the key when a device leaves or is revoked from the group. Each mobile device can belong to multiple groups and the group manger may manage multiple groups.

Group communication may be performed, for example, through a wireless multi- hop broadcast medium. The organization of the group typically allows for communication between group members without previous planning, so that meeting times between group members and availability of group members are difficult to predict. When a key needs to be renewed, only a subset of a group's members might be available, with others being out of range or turned off.

BRIEF DESCRIPTION OF THE DRAWINGS

Fig. 1 illustrates a system according to an embodiment of the present invention;

Figs. 2-7 illustrate exemplary procedures according to embodiments of the present invention; and

Fig. 8 illustrates a user device according to an embodiment of the present invention. SUMMARY OF THE INVENTION

In one embodiment of the invention, an apparatus comprises at least one processor and memory storing a program of instructions. The memory storing the program of instructions is configured to, with the at least one processor, cause the apparatus to at least define a set of user pseudonyms for a wireless device, define an authentication key derived from a user key based at least in part on the user pseudonym, and engage in communication by transmitting at least one message, wherein each message associated with the device employs an authentication key derived from a user key based at least in part on a user pseudonym.

In another embodiment of the invention, an apparatus comprises at least one processor and memory storing a program of instructions. The memory storing the program of instructions is configured to, with the at least one processor, cause the apparatus to at least define a couple pseudonym unique to an associated couple of devices, wherein the couple of devices are wireless devices belonging to a group communicating messages encrypted by a shared key and include in messages to be transmitted to one of the couple of devices key update information identified based at least in part on the couple pseudonym.

In another embodiment of the invention, an apparatus comprises at least one processor and memory storing a program of instructions. The memory storing the program of instructions is configured to, with the at least one processor, cause the apparatus to at least store data identifying its most recent detection of an authenticated message from a user in a group of wireless devices of which a specified wireless device is the manager, wherein the wireless devices in the group communicate with a shared key, with each of the wireless devices having at least one associated user pseudonym for use in identifying and authenticating messages, of which a specified wireless device is the manager, and determine if the user is in proximity by comparing an elapsed duration since a message from the user was detected with an expiration period.

In another embodiment of the invention, an apparatus comprises at least one processor and memory storing a program of instructions. The memory storing the program of instructions is configured to, with the at least one processor, cause the apparatus to at least send a user search message containing pseudonyms for all wireless devices in a group of wireless devices of which a specified wireless device is the manager, wherein the wireless devices in the group communicate with a shared key, with each of the wireless devices having at least one associated user pseudonym for use in identifying and authenticating messages, wherein the pseudonyms are pseudonyms of devices that have failed to acknowledge a most recent key renewal message by the group manager and that have not been detected for a predetermined period and, upon receiving a search acknowledgement message, update a database with a new key and to initiate a key renewal.

In another embodiment of the invention, a method comprises defining an authentication key derived from a user key based at least in part on the user pseudonym and engaging in communication by transmitting at least one message, wherein each message associated with the device employs an authentication key derived from a user key based at least in part on a user pseudonym.

In another embodiment of the invention, a method comprises defining a couple pseudonym unique to an associated couple of devices and including in messages to be transmitted to one of the couple of devices key update information identified based at least in part on the couple pseudonym.

In another embodiment of the invention, a method comprises storing data identifying its most recent detection of an authenticated message from a wireless device in a group of wireless devices of which a specified wireless device is the manager, wherein the wireless devices in the group communicate with a shared key, with each of the wireless devices having at least one associated user pseudonym for use in identifying and authenticating messages, of which a specified wireless device is the manager, and determining if the wireless device is in proximity by comparing an elapsed duration since a message from the user was detected with an expiration period.

In another embodiment of the invention, a method comprises sending a user search message containing pseudonyms for all wireless devices in a group of wireless devices of which a specified wireless device is the manager, wherein the wireless devices in the group communicate with a shared key, with each of the wireless devices having at least one associated user pseudonym for use in identifying and authenticating messages, wherein the pseudonyms are pseudonyms of devices that have failed to acknowledge a most recent key renewal message by the group manager and that have not been detected for a predetermined period and, upon receiving a search acknowledgement message, update a database with a new key and to initiate a key renewal.

In another embodiment of the invention, a computer readable medium stores a program of instructions, execution of which by a processor configures an apparatus to at least define a set of user pseudonyms for a wireless device, define an authentication key derived from a user key based at least in part on the user pseudonym, and engage in communication by transmitting at least one message, wherein each message associated with the device employs an authentication key derived from a user key based at least in part on a user pseudonym.

In another embodiment of the invention, a computer readable medium stores a program of instructions, execution of which by a processor configures an apparatus to at least define a couple pseudonym unique to an associated couple of devices, wherein the couple of devices are wireless devices belonging to a group communicating messages encrypted by a shared key, and include in messages to be transmitted to one of the couple of devices key update information identified based at least in part on the couple pseudonym.

In another embodiment of the invention, a computer readable medium stores a program of instructions, execution of which by a processor configures an apparatus to at least store data identifying its most recent detection of an authenticated message from a wireless device in a group of wireless devices of which a specified wireless device is the manager, wherein the wireless devices in the group communicate with a shared key, with each of the wireless devices having at least one associated user pseudonym for use in identifying and authenticating messages, of which a specified wireless device is the manager, and determine if the wireless device is in proximity by comparing an elapsed duration since a message from the user was detected with an expiration period.

In another embodiment of the invention, a computer readable medium stores a program of instructions, execution of which by a processor configures an apparatus to at least send a user search message containing pseudonyms for all wireless devices in a group of wireless devices of which a specified wireless device is the manager, wherein the wireless devices in the group communicate with a shared key, with each of the wireless devices having at least one associated user pseudonym for use in identifying and authenticating messages, wherein the pseudonyms are pseudonyms of devices that have failed to acknowledge a most recent key renewal message by the group manager and that have not been detected for a predetermined period and, upon receiving a search acknowledgement message, update a database with a new key and to initiate a key renewal.

In another embodiment of the invention, an apparatus comprises means for defining an authentication key derived from a user key based at least in part on the user pseudonym, and means for engaging in communication by transmitting at least one message, wherein each message associated with the device employs an authentication key derived from a user key based at least in part on a user pseudonym.

In another embodiment of the invention, an apparatus comprises means for defining a couple pseudonym unique to an associated couple of devices, and means for including in messages to be transmitted to one of the couple of devices key update information identified based at least in part on the couple pseudonym.

In another embodiment of the invention, an apparatus comprises means for storing data identifying its most recent detection of an authenticated message from a wireless device in a group of wireless devices of which a specified wireless device is the manager, wherein the wireless devices in the group communicate with a shared key, with each of the wireless devices having at least one associated user pseudonym for use in identifying and authenticating messages, of which a specified wireless device is the manager, and means for determining if the wireless device is in proximity by comparing an elapsed duration since a message from the user was detected with an expiration period.

In another embodiment of the invention, an apparatus comprises means for sending a user search message containing pseudonyms for all wireless devices in a group of wireless devices of which a specified wireless device is the manager, wherein the wireless devices in the group communicate with a shared key, with each of the wireless devices having at least one associated user pseudonym for use in identifying and authenticating messages, wherein the pseudonyms are pseudonyms of devices that have failed to acknowledge a most recent key renewal message by the group manager and that have not been detected for a predetermined period and means for, upon receiving a search acknowledgement message, update a database with a new key and to initiate a key renewal. DETAILED DESCRIPTION Embodiments of the present invention recognize that a number of features increase the usefulness and security and decrease the resource consumption of group networks. For example, it is desirable that devices operate with as little computational, storage, and communication overhead as possible. In addition, immediate forward secrecy is desired - if a node is revoked, the revoked node should not be able to securely send or receive group messages after revocation. That is, the revoked node should not be able to send messages secured with the group's security information, and should not be able to read messages secured with the group's security information.

In addition, short renewal latency is desired, with a minimum time between a change of the group key by the group manager and distribution of the group key to available members.

Embodiments of the invention further recognize that a group manager needs to guarantee the anonymity of targeted nodes in key renewal. Thus, if the group manager needs to update the device U, with the new key, no party other than the group manager and the device Uj should be able to deterministically decide that a key renewal message originated at the group manager and included an update for U,. Each user U, may identify itself through a set of pseudonyms IDj.

Such an approach may achieve the prevention of knowledge by revoked nodes that they have been expelled from the group, and also may achieve the prevention of

knowledge by external eavesdroppers that any two nodes belong to the same group. In addition, this approach prevents group members from gaining knowledge of the identities of other group members from updating of key information.

Key update messages are identified by the -tuple (source, destination, group). If anonymity is not required, these fields can be all included explicitly in cleartext in the message so that the targeted device detects the relevant messages. In anonymous networks, competing goals give rise to a conflict between (1) explicitly including these fields, resulting in exposing the communicating parties to eavesdroppers and (2) including fields encrypted in the message, thus requiring each node to perform a decryption operation for any such message to know whether it is the target.

Moreover, in such mobile networks, devices may not always be accessible to the group manager, and no specific meeting times are set for the group members. In addition, the devices can change lower layer identifiers for privacy reasons. Hence it is difficult to schedule key updates between the devices. The manager GM in each group in a mobile ad hoc network is responsible for the keys of the group members. Each member has a user identifier U, a user pseudonym z and an individual user key UKj. is derived from U and UK which are in turn shared between the manager on one hand and each member on the other hand (and vice- versa: each member shares his keys with the GM).

In one or more embodiments of the invention, a group manager shares with each member an identifier called the couple identifier Qj j and a symmetric key called renewal key RKj . A new group key K ' g is updated by broadcasting its encryption under a key derived from RKj . The renewal messages are identified via including couple pseudonyms Q i j derived from the couple identifier and the renewal key. These key renewal updates are reactively broadcast upon detecting a user in proximity. An acknowledgement (ack) is broadcast by the targeted user in the opposite direction.

Device U assumes U j to be in proximity if:

(1) U j has sent a data message that has been verified by U j in some group within time T expiry or

(2) U j has sent a special user search message including a couple pseudonym of the identifier Q j .

U j sends user search messages to U if the latter is characterized by the following condition: "there is no ack from user corresponding to the last key renewal message by U j and some period T max has passed since U was last seen."

Fig. 1 illustrates a system 100 comprising a plurality of wireless devices 102A, 102B,. . .,102N, suitably equipped for peer to peer communication when within radio range of one another. The devices 102A-102E may also be equipped to communicate through a base station 104. The devices 102A-102D may belong to a first group 106, and the devices 102D-102F may belong to a second group 108, with the device 102D being designated as the group manager for both of the groups 106 and 108.

In general terms, each device in a system such as the system 100 may correspond to a single user with a static identifier U. A system may comprise n users forming the set Ui, Each of the devices 102A-102E may employ a link layer identifier, such as a media access control (MAC) address, a network layer identifier, such as an internet protocol (IP) address, and application layer identifiers. The identifiers can all be changed at desired points as part of a privacy preserving mechanism (PPM). Each user Uj belongs to a fixed number of groups n g . The entire set of groups is defined as {Gi, G2,. . ., G m ,. . .,G max } , where max is the total number of groups in the system, and G m is the static identifier of the m th group. A group G m further comprises a set of users G m = { Uj} that share a secret group key K g .

In an example, an embodiment of the present invention may be considered with respect to a discrete time system, initialized at time t = Q , and in the present discussion users may be considered at a discrete time instant t or, at appropriate points, a time period from t to t + 1. From a real system point of view, t can be incremented after a certain clock time period set by the PPM elapses. Such a time period may, for example, be 1 hour, 1 day, or another desired time period. Embodiments of the invention also address the addition of operations performed by the PPM upon each new time period.

In one or more embodiments the present invention addresses user anonymity, key renewal that preserves anonymity while avoiding excessive complexity in computation and signaling, and proximity detection in the face of changing of user identifiers.

User Anonymity

In one or more embodiments, a user may be denoted by a set of identifiers that may suitably be referred to as user pseudonyms, and that may be allowed to change over time.

Suppose that IDj(t) is the set of user pseudonyms of Uj at time t and where z i: i is the index of the / th user pseudonym. Also, a user U, initially possesses a secret user key UKj. Each group manager shares its Uj and UK, with all the group members. In turn, each group member shares its corresponding user identifier and key with the manager via an external pairwise secure channel.

The data messages securely exchanged in each group are of the format: U_k→

G m: z_(ij) \ p_(m,l) \ msg, where p_(m, I) is some group pseudonym, and m g is a message encrypted and authenticated using the group key, and may also use other keys for encryption, authentication, or both.

Identifiers from other layers exist that deterministically link two user pseudonyms to the same user. Theoretically, with each sent authenticated message, there should be a user pseudonym drawn from the set ID t) of user pseudonyms in period t.

However, no advantage with respect to unlinkability of a user pseudonym with a user identifier is achieved if different user pseudonyms are drawn from IDj(t) while the other identifiers are kept constant. Those identifiers, in turn, are only changed upon a new time period according to the PPM. Therefore, no genuine advantage is sacrificed if user pseudonyms are changed only upon incrementing t. One or more embodiments of the invention therefore employ the following approach to managing user pseudonyms for user Ui at each new time period t: o Set IDj(t) = {zjj, where ¾ = F UK (U, t, salt 2 ), F is a hash function such as HMAC-SHA-256 and safe is a string set by the system and used by all devices. o An authentication key K A , used for message authentication, is derived from the user key UK as KA,i = Fu (U t, salt]), where salt; is a string set by the system and used by all devices. The authentication key is also changed with each new time period as a part of the PPM while UK is only changed when one the user decides to prevent a previously authorized node from verifying its message. Only Uj stays constant. In that regard, each user's set of verifiers can be thought of as a group in the system, similar to the general groups, but in which the group key is the user key and group manager is the user himself.

Key Renewal

One or more embodiments of the invention recognize that the presence of multiple groups in a system such as the system 100 requires a technique for identifying the source and the destination of key renewal messages. Embodiments of the invention further recognize that explicitly including user identifiers violates the anonymity of key updates but that removing these identifiers completely requires each device to perform a decryption operation for each such message. Performing a decryption operation in every case is wasteful because the operation consumes resources, and in most cases is not needed.

Embodiments of the present invention address overcome these and other difficulties by:

o Using broadcast messages where the destination identifier is not included at any layer. The sender identifier is generally not omitted as it is likely to be deducible from other layers. The group identifier can be encrypted along with the new group key; and

o Appending a couple pseudonym unique to each couple of devices, rather than explicit identifiers or individual pseudonyms. One or more embodiments of the present invention therefore employ an identifier that represents not one node but a pair of nodes having a defined relationship. In one or more embodiments, the invention employs an identifier that identifies a couple of nodes at a time: the manager U, and the member U j . The identifier may be referred to as a couple identifier Qj j , allowing the group member U j to verify key renewal messages from the manager .

In addition, an individual key, called the Renewal Key Rj j is exclusively shared between the group manager U and the member U j . Both the couple identifier and the renewal key are the same for this couple, in any number of groups, so long as U plays the manager role and U j plays the member role. However, when the roles are reversed, the identifier and the key change. (q u ≠ q f i o RK. : t ≠ RK. ; }. ¾ ; may be referred to as the reverse couple of Q .

Couple identifiers and the renewal keys may conveniently be non-revocable. They are the basic information that characterize the individual secure channel between a couple of nodes, and there is no need for changing them because each set of a couple identifier and a renewal key relate to a single communication. If the node U is revoked, the couple identifier and the renewal key for that user can simply be abandoned; there is no need to replace the identifier and key.

However, for privacy reasons, the couple identifier should not be transmitted as it is through unprotected channels. Such an approach allows the adversary to recognize that all the messages between this couple, rendering useless other privacy preserving mechanisms where identifiers are changed.

Thus, one or more embodiments of the invention employ couple pseudonyms q i whenever is the group manager and ¾ is a group member (where I corresponds to the I th couple pseudonym). During a key sharing step (via an external pairwise secure channel), along with the user identifiers and user keys, each couple of two nodes exchange the couple identifiers and keys, as illustrated in Fig. 2 and discussed in additional detail below.

Two users ¾ and Uj are said to form a mutual couple if U t shares the user identifier, user key, % j , and RK T I with u } , and if U j shares the user identifier, user key, -Q^ , and RK with U, . The couple renewal key RX is not used directly for encrypting the renewal messages, so as to avoid exposure of information sufficient to allow an attacker to derive the key. A temporary key, called the couple encryption key , may thus be defined as follows:

ft) = where F is a hash function, for example, HMAC-SHA

256, and salt^ is a fixed, public, system-wide string. Updating this key is part of the privacy preserving module (PPM).

Couple pseudonyms are designed so as to achieve couple anonymity:

For any couple (U if Lf.-}, there is couple anonymity at time £ if and only if for all

pseudonyms q U of Q y , no node other than these two can deterministically verify that ¾ . : is a valid couple pseudonym of (£¾, ¾}.

Pseudonyms are generated as follows:

Embodiments of the invention employ mechanisms for key renewal, in which the generation of pseudonyms satisfies couple anonymity as defined above. The case in which T t renews its group key is illustrated in Figure 4 and discussed further below. 1.

t proceeds by broadcasting the new group key ¾ , encrypted via an authenticated encryption function E (e.g. AES-EAX) keyed with the couple encryption key K Q . ^ to U f .

2. If ¾ finds a match for the attached pseudonym q L i , it updates its database with the new key. If U t has not blocked U t from all its groups, it replies by broadcasting an acknowledgment message, encrypted with & 5 . ; and containing a f as a pseudonym. In case U also has a new group key K' ≤;l to transmit to K , the encrypted message contains that key to save a new key renewal operation.

3. In turn, when ¾ receives the message, it looks up the couple pseudonym and decrypts to discover that it is from U . U. records that U t now has the updated key. If the message also contains a key from L , U t must acknowledge the receipt of that key. Again, it can exploit that message to also include a new key 1 ^ not yet acknowledged by 4. When σ. receives that message and discovers its source, it proceeds by decrypting it. In case it has an ack only, it records that in its databases; otherwise it proceeds in forming a reply as in step 2.

The case in which renews the key is presented in Figure 5, and the description goes along the same lines.

Based on these figures, it is apparent that:

U; never uses an encryption key used by U t .

The pseudonyms used by ¾ for both renewal and ack messages are different from those of ?J j .

- The pseudonyms used by each node when it plays the member role are different from those used by a node playing the manager role.

Because all messages are broadcast without a destination address, there is no way to use lower layer identifiers to associate a couple pseudonym with a couple of nodes ¾ and , . In addition, because no two messages sent by both senders have an intersecting part (couple pseudonyms or encrypted messages), it is not possible to deduce the actual nodes represented by the pseudonym from the message content. Thus, couple anonymity is preserved.

Proximity Detection

One or more embodiments of the present invention recognize that in many cases where no fixed meeting times are anticipated between nodes, so that it is inefficient in terms of management of communication resources for a node to send key updates without knowing that the target node is in proximity. Moreover, it can be highly inaccurate because there is no correlation between the update instants and presence of the target in proximity. Therefore, one or more embodiments of the present invention provide for a proximity detection element that allows nodes to detect one another's presence. In many cases, it is desired to detect and identify users and all other identifiers are subject to change by the PPM, traditional mechanisms at lower layers fail. Possibilities presented by embodiments of the invention include performing proximity detection using couple pseudonyms or performing detection using user pseudonyms.

To perform proximity detection using couple pseudonyms, node ¾ periodically broadcasts beacon messages containing a list of its couple pseudonyms

Φ i s -? f ,w,i ...corresponding to nodes ¾ u « ? < ~. The use of user pseudonyms for proximity detection takes advantage of the mutual coupling between nodes. Due to the mutual coupling between the nodes, ¾ is able to authenticate messages that its group members are sending. This information can be used to determine if a user U is in proximity. The group manager ¾ maintains a table recording the last time it has received an authenticated message from each user in its group. When it needs to check if U is in proximity, ¾ performs a query to compare the duration that has elapsed since U t has last appeared with a custom expiry period 7 β¾ΒίΓ¾ , .

Such an approach accomplishes proximity detection without a need for additional communication. However, accuracy can be diminished if nodes in proximity do not have a message to send. In one or more embodiments, nodes may be required to send

authenticated presence beacons, with the user pseudonyms ¾ , when they are members of a group but have no content to share. One exemplary beacon format by U ( - is: s; ¾

where F is a hash function similar or identical to that described above and h is formed from the header information and the user pseudonym. When nodes send presence beacons, they will receive key updates from others, and will be able to receive and decrypt content.

Mechanisms according to one or more embodiments of the invention further address the effect of changing keys on proximity detection. To illustrate the need for addressing such an effect, suppose that nodes and ¾ form a mutual couple. Suppose further that at some time t both devices stop meeting. In the meantime between ¾ and t s , three possibilities might occur:

1. L updates its user key UK t ; u updates its user key LlK s , and both revoke each other. 2. U; updates its user key u& ; v * updates its user key UK , but the two users do not revoke each other.

3. ¾ updates its user key ; ¾ updates its user key UK^ , but only one of them revokes the other.

If these devices meet again at -2 , a circular dependency on the user keys exists. As previously discussed, these user keys may themselves be group keys. For the first case, there is no longer a need for key renewal messages between the two users. However, for the other two cases, simply using the proximity detection based on user pseudonyms will fail because the user pseudonyms depend on the changed user keys. We call this the deadlock problem

For the second case, in which both keys are revoked, one exemplary approach is for one of the parties, for example. ¾ to take an approach similar to that of the method used with respect to the couple pseudonyms, but using the pseudonyms of specific nodes, such as , characterized by the following condition:

"there is no ack from user L corresponding to the last key renewal message by , and some period has passed since was last seen."

The searching party sends beacons called user search messages, typically containing multiple couple pseudonyms for all the users with such a condition, performing the following steps:

1. sends a user search message containing pseudonyms for nodes with the above condition f y, }S -)·

2. If II finds a match for one of attached pseudonyms q l ti , it updates its database with the new key. If u has not blocked ¾ from all its groups, it replies by broadcasting a search acknowledgment message, encrypted with K q and containing q : i2 as a pseudonym. In case U t also has a new group key K ! gS to transmit to £ ÷ , the encrypted message contains that key to save a new key renewal operation.

3. Q replies by initiating a key renewal for ¾ as described above. In another approach, a server, such as an online server, can be employed for sharing the user key updates only. The server need not a trusted one, but may simply serve as a broadcast medium where the user key updates can be spread when the user goes online, in order to address the problem of changing keys and prevent proximity detection from being impaired by such changing of keys.

As noted above, another scenario involves the changing of keys by both users but the revocation of only one user by the other. Suppose that U s is the revoked party. There is no distributed and anonymous way to notify u÷ to stop sending user search messages including ¾ - that is, without either using a trusted third party, allowing Ό). to know that he has been revoked, or both. Proximity detection may be designed to forge a compromise between (1) detection by U< of devices that have not been seen recently when they appear again and (2) u t continuing to beacon rarely seen devices that have revoked it.

An exemplary approach according to an embodiment of the invention, applicable to the case in which neither user revokes the other and the case in which one user revokes the other, would be to stop sending such user search messages for a specific user after a certain period and to require the user's intervention to restore the shared user keys. A user would manually trigger a key renewal operation for a specific user upon physically noticing his presence while not being able to detect him via the device.

Figs. 2-7 illustrate exemplary procedures undertaken to share, update, and revoke keys while preserving anonymity, according to one or more embodiments of the present invention. Fig. 2 illustrates a mutual coupling procedure 200, where users i and j (102 and 104) exchange needed identifiers and keys. U and U j are static and persistent user identifiers for users i andy.

UKj and UK j are user specific secret user keys. Temporary authentication keys K A and KAJ are derived from the user keys. Authentication keys are used during later message exchange when user i and j originated messages are signed (by a transmitter) and verified (by a receiver).

Qi j and Q j are couple identifiers. A couple identifier identifies unique binding of one user to another user ( U , U j ) and { U j , U ). A pair of couple identifiers forms a bidirectional binding between two users.

RKj j and RK j are static renewal keys. Temporary couple encryption keys KQJ and KQJ , I are derived from the renewal keys. Couple encryption keys are used to encrypt renewal messages. In the example shown here, the user i (102) passes U, UKj, Qj , and RKj to the user j (104) in a transmission 202, and the user j (104) passes U, UKj, Qj j , and RKj j to the user i (102) in a transmission 204.

Fig. 3 illustrates a privacy preserving mechanism 300, in which keys and pseudonyms are updated at each new period (that is, at each change of the time t, marking an interval, or upon key changes.) Updating of lower level identifiers is performed at the procedure 301 , and authentication keys {K A ) and user pseudonyms (z ; ) are recalculated during the procedure 302 by the function Fu - A user table 304 contains static user identifiers (Uo), static user keys (UK 0 ) and calculated authentication keys and user pseudonyms for each known user for the current time period t. When a device receives a message containing a user pseudonym Zj there is a user table lookup 305 in order to find corresponding user and an authentication key for the user. Couple encryption keys (KQ J) and couple pseudonyms (<¾ , ;) are recalculated at the procedure 306 by the function FRKIJ.

A couple table 308 contains couple identifiers (Qi j , Q , renewal keys (RKj , RK j j) and calculated couple encryption keys (KQ J, KQ^) and couple pseudonyms (e.g. qi j ) for the current time period t. When a device receives a message containing a couple pseudonym then there is a couple table lookup 310 in order to find corresponding coupling information.

Fig. 4 illustrates key renewal 400 as initiated by user i (102):

1. User Uj owns and manages a group gi. The user U starts the key renewal procedure for a group gi. The user's device detects that a user U j (104) that belongs to the group K g i is in proximity and U j has not acknowledged key renewal. The device performs a transmission 402 of a key renewal message RnM containing a couple pseudonym qi and encrypted message contents. Because the target for key renewal may be a user key or a group key, the encrypted portion contains a pseudonym and a renewed key. For users a renewal message RnM is as follows:

RnM: qi j | EKQ J (¾ | UK'j) for renewed user key UK'j for the user U

For groups a renewal message RnM is as follows:

RnM: | EKQ J (x g | K' g ) for renewed group key K ' g for the group g U j can determine a target for key renewal by inspecting the encrypted pseudonym. If it is a user pseudonym for t/;then the user key for U is to be renewed. If it is a group pseudonym for a group g then the group key for the group g is to be renewed.

2. When the device of the user U j receives the key renewal message containing the couple pseudonym, the device performs a couple table lookup 403 in order to find stored couple information. If couple information is found and the user U is not revoked by the user U j then the device decrypts renewal message contents using the couple encryption key K QJ J. Then the device determines the target for key renewal. A lookup is done to the user table and the group table to find out whether there is a user or a group matching the encrypted pseudonym. Here the renewed key is for a known group gi and thus the key is a new group key K ' gl . Then the device constructs a reply message 404. If the device detects that there is a pending key renewal for U, concerning a group g2 then the constructed reply message contains encrypted new group key K' g 2 and acknowledgement for key renewal for the group gi. Acknowledgement contains a group pseudonym x gi for the group gi. If there is no need to renew a group key then a reply contains only encrypted key renewal acknowledgement for the group gi.

3. The device of the user U j performs a transmission 406 of the

acknowledgment message AcM containing a couple pseudonym q jii2 and the constructed reply.

4. When the device of the user receives the key renewal acknowledgement message containing the couple pseudonym, the device makes a couple table lookup 408 in order to find stored couple information. If couple information is found and the user U j is not revoked by the user U then the device decrypts the reply message by using the couple encryption key K Q J . If the reply contains an acknowledgement to key renewal of the group gi then the device updates the user table element for U j . If the reply contains a key renewal for a group g2 then the device takes the new key K' g2 into use and constructs a key renewal acknowledgement message for that group.

5. If the device of Ui has constructed a key renewal acknowledgement message (AcM) for the group g2 then the device performs a transmission 410 of the acknowledgement message.

6. The device of the user U j receives the reply message. The key renewal acknowledgement message for the group g2 indicates that U has done key renewal for that group. The key renewal for the group g3 begins an update similar to that presented in step 2 above. The device of the user U j performs a couple table lookup 412, and if there are more groups that need key renewal then renewal process continues as at (2) above (by returning to step 404) until all the pending renewals have been completed.

Fig. 5 illustrates key renewal as initiated by the user j (104), having the identifier U j .

1. The user U j owns and manages a group g2, and starts the key renewal procedure for the group g2. The user's device detects that a user U that belongs to the group K g 2 is in proximity and U has not acknowledged key renewal. The device performs a transmission of a key renewal message RnM containing a couple pseudonym q j and the new group key K' G2 encrypted using the couple encryption key K Q . The step is similar to the step 1 in Figure 4, expect that used couple pseudonym and couple encryption key is from the direction ( U j , U) instead of ( U , U j ).

2. The device of the user U performs a lookup 504 by couple pseudonym and user table update for the user U j . The device performs construction 506 of a reply message AcM containing key renewal acknowledgement for the group g 2 and key renewal for the group gi.

3. The device of the user U performs a transmission 508 of the reply message, including acknowledgement for g 2 key renewal and key renewal for gi.

4. The device of the user U j receives the reply message, performing a lookup 510 according to the couple pseudonym q^^ and user table update for the user U. The device of the user U j constructs a key renewal acknowledgement for the group gi and a key renewal for the group g 4 .

5. The device of the user U j performs transmission 512 of the

acknowledgement message, including acknowledgement for gl key renewal and key renewal for g 4 .

6. The device of the user U receives the acknowledgement message, and performs a lookup 514 based on the couple pseudonym and user table update for the user U j . The device of the user user U constructs a key renewal acknowledgement for the group g 4 . If there are more groups that need key renewal then procedure continues (by returning to 506) until all the group keys have been updated.

Fig. 6 illustrates proximity detection 600 as performed, for example, by a device of the user U (102), including the normal query, occasional beacons, and the search messages approaches.

The user table 602 contains detection time information and key renewal state for each known user. For example at time t=tl the user table contains the following information about users Uo, U j and U j+ i

1. User proximity detection information at time t=tl :

User Uo was last detected at time ti. The device has received a renewal

acknowledgement message from t/ 0 .User information between this user and the user Uo is up-to-date. 2. Users U j and U j+ i have not been detected (or they have been detected a long time ago) and thus user information between this user and the users U j and U j+ i is not up- to-date.

3. At t=t2 the device receives an authenticated data message 604 from U j . including user proximity detection information 606 at time t=t2 ' .

User Uo : no change since t=tl.

User U j was last detected at time t2. No key renewal acknowledgement since the last key renewal.

User U j+ i : no change since t=tl.

4. At time t=t3 an inquiry 610 is made as to whether the user U j is in proximity. If the last authenticated message was received within a given time threshold (by comparing at 612 the difference between t3 and t2 with an expiry time) then the user U j is considered to be in proximity; otherwise the user U j is not in proximity. A determination that the user U j is in proximity may trigger key renewal. When a key renewal or a key renewal acknowledgement message is received from U j , it is known that user information of tT, is up to date.

Determination that the user U j is within proximity may trigger a key renewal, as described above in connection with Fig. 4. When a key renewal or a key renewal acknowledgement message is received from U j , it is known that user information of U j is up to date.

User proximity detection information 614 at time t=t3 may be, for example:

User Uo : no change since t=tl.

User U j was last detected at time t4. (For example, at a received

acknowledgement 616 from Uj). User information between for the user U j is up to date.

User U j+ i : no change since t=tl.

Additional approaches include the use of beacons and the use of search messages. Upon experiencing at 618 a low message sending rate, the device, at 620, sends beacons, such as dummy authenticated messages including ¾, until the rate increases. Such an approach allows other devices to detect the presence of the user 102.

A further approach is the initiation of a user search procedure 622. A device may perform the sending 624 of user search messages if the device has performed a key renewal but has not detected another user affected by the key renewal for a specified period. Once a device is found, the device of the user 102 may perform a key renewal at 626.

Fig. 7 illustrates an example of resolution of deadlock - proximity detection failure due to key changes.

1. User Uj owns and manages a group gi. The user U has performs key renewal for a group gi. U has not detected U j , U j - and U j - in proximity for a predefined period. One reason might be that the users have updated their user keys, such as UK j , and Ui has not received renewed keys, such as UK). Thus even if U has received messages, such as from U j , U is not able to identify or verify U j , because user pseudonym z y - is unknown to U. The device of U may start a user search procedure in order to find out when the user Uj (and U j ; U j -, and so on) is in proximity. User search may be periodically run or the user may request to initiate user search when she knows that U j might be in proximity.

2. User Uj's device performs transmission 702 of a user search message (SeM). The user search message contains a set of couple pseudonyms qi j '.i, qi j -.i,■■ ) for users whose presence U wants to know. Because couple identifiers are static, a user U j should recognize the couple identifier qi j .

3. The device of U j receives the user search message 702. The device performs a couple table lookup 704 to find whether there are matching couple pseudonyms. If a match is found and U j has not revoked the user that matches then the device constructs a reply message. A reply message may contain a piggybacked key renewal for a user key or a group key. For example, E K QJ , I (x g 2 | K' G2 | zj) contains a piggybacked key renewal for a group g2 (group pseudonym x g2 and new key K' G2 ) and a presence indication for U j (user pseudonym zj). A reply message is encrypted using the couple encryption key KQ . 4. The user U s device performs transmission 706 of a user search

acknowledgement message.

5. The device of U receives the user search acknowledgement message. The device performs a couple table lookup 708 in order to find stored couple information. If couple information is found and the user U j is not revoked by the user U then the device decrypts renewal message contents using the couple encryption key Κ & 2 . By the decrypted user pseudonym z y - the device knows that the user U j is in proximity.

6. Normal key renewal procedure 710 may begin as presented in Figure 4and discussed above, if U has renewed keys and U j needs to be informed about the renewed keys.

Determination that the user U j is within proximity may trigger a key renewal procedure such as those illustrated at Figs. 3 and 4 and discussed above. When the device receives a key renewal or a key renewal acknowledgement message from U j then this device knows that user information of tT, is up-to-date.

User proximity detection information at time t=t3:

User Uo : no change since t=tl.

User U j was last detected at time t4. User information between this user and the user U j is up-to-date.

User U j+ i : no change since t=tl.

If a device has no own (authenticated) data messages to be transmitted then a device may device to transmit dummy authenticated beacon messages. This enables other devices to detect presence of this user.

A device may initiate a user search procedure if a device has made a key renewal procedure and the device has not detected another user that is affected by the key renewal procedure for a while. If a user is detected then a device may trigger the key renewal procedure.

Fig.8 illustrates an exemplary user device 800 according to an embodiment of the present invention, configured to act, for example, as a device controlled by a user of a system such as the system 100, whether by a data owner or a data requester. It will be recognized that a user may take on the role of a data owner or a data requester at different times, under appropriate circumstances. The device is illustrated here as possessing wireless communication capabilities, but it will be recognized that such a configuration is exemplary, and that any number of configurations may be employed.

The user device comprises a data processor 802 and memory 804, with the memory 804 suitably storing data 806 and software 808. The user device 800 further comprises a transmitter 810, receiver 812, and antenna 816. The software 806 stored in memory 804 includes program instructions (software (SW)) that, when executed by the associated data processor 802, enable the user device to operate in accordance with the exemplary embodiments of this invention. That is, the exemplary embodiments of this invention may be implemented at least in part by computer software executable by the DP 802 of the various electronic components illustrated here, with such components and similar components being deployed in whatever numbers, configurations, and arrangements are desired for the carrying out of the invention. Various embodiments of the invention may be carried out by hardware, or by a combination of software and hardware (and firmware).

Fig. 8 also illustrates an exemplary wireless access point 820, allowing

communication by wireless communication devices which may, for example, as part of a wireless local area network or a wireless cellular network. The access point 820 may, for example, take the form of a base station in a wireless cellular network or, to take another example, a wireless network access point. The access point 820 may take any number of other implementations.

The access point 820 comprises a data processor 822 and memory 824, with the memory 824 suitably storing data 826 and software 828. The access point 820 further comprises a transmitter 830, receiver 832, and antenna 836. The software 826 stored in memory 424 includes program instructions (software (SW)) that, when executed by the associated data processor 822, enable the user device to operate in accordance with the exemplary embodiments of this invention. That is, the exemplary embodiments of this invention may be implemented at least in part by computer software executable by the DP 802 of the various electronic components illustrated here, with such components and similar components being deployed in whatever numbers, configurations, and

arrangements are desired for the carrying out of the invention. Various embodiments of the invention may be carried out by hardware, or by a combination of software and hardware (and firmware).

The various embodiments of the user device 800 can include, but are not limited to, cellular phones, personal digital assistants (PDAs) having wireless communication capabilities, portable computers having wireless communication capabilities, image capture devices such as digital cameras having wireless communication capabilities, gaming devices having wireless communication capabilities, music storage and playback appliances having wireless communication capabilities, Internet appliances permitting wireless Internet access and browsing, as well as portable units or terminals that

incorporate combinations of such functions.

The memories 804 and 824 may be of any type suitable to the local technical environment and may be implemented using any suitable data storage technology, such as semiconductor based memory devices, flash memory, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory. The data processors 802 and 822 may be of any type suitable to the local technical environment, and may include one or more of general purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs) and processors based on multi-core processor architectures, as non-limiting examples.

In one embodiment of the invention, an apparatus comprises at least one processor and memory storing a program of instructions, wherein the memory storing the program of instructions is configured to, with the at least one processor, cause the apparatus to at least define a set of user pseudonyms for a wireless device wherein each message associated with the device employs an authentication key derived from a user key based at least in part on a user pseudonym.

In another embodiment of the invention, the authentication key is changed after each of a sequence of defined time periods.

In another embodiment of the invention, the authentication key is derived from a user key that is changed upon a determination to prevent at least one previously authorized device from verifying a message of the wireless device.

In another embodiment of the invention, an apparatus comprises at least one processor and memory storing a program of instructions, wherein the memory storing the program of instructions is configured to, with the at least one processor, cause the apparatus to at least define a couple pseudonym unique to an associated couple of devices.

In another embodiment of the invention, one member of the couple of devices is a group manager and the other member of the couple is a group member.

In another embodiment of the invention, the apparatus also defines an individual key shared between the members of the couple. In another embodiment of the invention, the couple identifier is defined so as to prevent deterministic verification that the couple pseudonym is a valid couple pseudonym of the couple sharing it.

In another embodiment of the invention, an apparatus comprises at least one processor and memory storing a program of instructions, wherein the memory storing the program of instructions is configured to, with the at least one processor, cause the apparatus to at least store data identifying its most recent detection of an authenticated message from a user in a group of which a specified wireless device is the manager and to determine if the user is in proximity by comparing an elapsed duration since a message from the user was detected with an expiration period.

In another embodiment of the invention, the apparatus authenticates a presence beacon sent periodically from a user having no content to share.

In another embodiment of the invention, an apparatus comprises at least one processor and memory storing a program of instructions, wherein the memory storing the program of instructions is configured to, with the at least one processor, cause the apparatus to at least send a user search message for containing pseudonyms for all nodes that have failed to acknowledge a most recent key renewal message by a group manager and that have not been detected for a predetermined period; and, upon receiving a search acknowledgement message, to update a database with a new key and to initiate a key renewal.

In another embodiment of the invention, the apparatus stores key information at an online server.

In another embodiment of the invention, the apparatus ceases sending user search messages after no response has been received from the user for a specified period.

In another embodiment of the invention, the apparatus performs a key renewal operation for the user upon a manual selection.

Various modifications and adaptations to the foregoing exemplary embodiments of this invention may become apparent to those skilled in the relevant arts in view of the foregoing description, when read in conjunction with the accompanying drawings.

However, any and all modifications will still fall within the scope of the non-limiting and exemplary embodiments of this invention.

Furthermore, some of the features of the various non-limiting and exemplary embodiments of this invention may be used to advantage without the corresponding use of other features. As such, the foregoing description should be considered as merely illustrative of the principles, teachings and exemplary embodiments of this invention, and not in limitation thereof.