Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
IMPROVEMENTS IN AND RELATING TO SECRET COMMUNICATIONS
Document Type and Number:
WIPO Patent Application WO/2016/016656
Kind Code:
A1
Abstract:
A method of establishing a network by sharing a secret between a first entity (A) and a second entity (B), comprising the steps of: the first entity (A) broadcasting (100) an ANNOUNCE message announcing its identity and details of other entities it is aware of, wherein each of the other entities of which it is aware is associated with a particular nonce, and the message is encrypted using a broadcast encryption scheme common to the first and second entities (A,B), and; the second entity (B), upon receiving and decrypting the ANNOUNCE message, transmitting (110) to the first entity (A) a SHARE message, wherein the SHARE message comprises a signcryption of the secret, authenticated using signcryption data associated with the particular nonce associated with the second entity (B).

Inventors:
DEARLOVE CHRISTOPHER MARK (GB)
CULLEN ALAN MANUEL (GB)
PATERSON KENNETH GRAHAM (GB)
SCHULDT JACOB CHROEIS NAKAMURA (JP)
Application Number:
PCT/GB2015/052214
Publication Date:
February 04, 2016
Filing Date:
July 31, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BAE SYSTEMS PLC (GB)
International Classes:
H04L29/06; H04L9/08; H04W12/04; H04W84/18
Domestic Patent References:
WO2014017959A12014-01-30
Other References:
"Wireless Network Security", 1 January 2007, SPRINGER US, Boston, MA, ISBN: 978-0-387-28040-0, article JIANPING PAN ET AL: "Promoting Identity-Based Key Management in Wireless Ad Hoc Networks", pages: 83 - 102, XP055223130, DOI: 10.1007/978-0-387-33112-6_4
SHAMIR ADI ED - KERMARREC YVON (EDITOR): "Identity-Based Cryptosystems and Signature Schemes", 1 January 1901, ADVANCES IN COMMUNICATION NETWORKING : 20TH EUNICE/IFIP EG 6.2, 6.6 INTERNATIONAL WORKSHOP, RENNES, FRANCE, SEPTEMBER 1-5, 2014, REVISED SELECTED PAPERS; [LECTURE NOTES IN COMPUTER SCIENCE , ISSN 1611-3349], SPRINGER VERLAG, DE, PAGE(S) 47 - 53, ISBN: 978-3-642-36699-4, ISSN: 0302-9743, XP047288160
YULIANG ZHENG: "Signcryption or How to Achieve CostSignature & Encryption CostSignature + CostEncryption", 29 March 1999 (1999-03-29), XP055224516, Retrieved from the Internet [retrieved on 20151029]
AMOS FIAT ET AL: "Broadcast Encryption", 22 August 1993, ADVANCES IN CRYPTOLOGY (CRYPTO). SANTA BARBARA, AUG. 22 - 26, 1993; [PROCEEDINGS OF THE ANNUAL INTERNATIONAL CRYPTOLOGY CONFERENCE (CRYPTO)], BERLIN, SPRINGER, DE, PAGE(S) 480 - 491, ISBN: 978-3-540-57766-9, XP019194081
Attorney, Agent or Firm:
BAE SYSTEMS PLC, GROUP IP DEPT (Farnborough Aerospace CentreFarnborough, Hampshire GU14 6YU, GB)
Download PDF:
Claims:
CLAIMS

1. A method of establishing a network by sharing a secret between a first entity and a second entity, comprising the steps of:

the first entity broadcasting an ANNOUNCE message announcing its identity and details of other entities it is aware of, wherein each of the other entities of which it is aware is associated with a particular nonce, and the message is encrypted using a broadcast encryption scheme common to the first and second entities, and;

the second entity, upon receiving and decrypting the ANNOUNCE message, transmitting to the first entity a SHARE message, wherein the SHARE message comprises a signcryption of the secret, authenticated using signcryption data associated with the particular nonce associated with the second entity.

2. The method of claim 1 wherein the secret is a local area key LAK, shared by the first and second entities and used for encrypting subsequent messages therebetween.

3. The method of any preceding claim wherein the details of other entities are included in a Neighbour Candidate List NCL, wherein each entity therein is identified by a neighbour identity ID’ and is associated with a nonce RID’.

4. The method of any preceding claims wherein the secret is associated with a sequence number seq.

5. The method of claim 4 where the sequence number is signed with a signature∀ generated using an identity-based signature scheme.

6. The method of claim 4 or 5 wherein the first entity, upon successful decryption of the SHARE message, stores in a Neighbour List NL, details of the second entity, including its identity ID’, its local area key LAK’ and its sequence number seq’.

7. The method of any preceding claim wherein each of the first and second entities stores information relating to the identities of revoked entities, forbidden from participating in communications, wherein said revoked entities are not able to decrypt ANNOUNCE messages.

8. A method of revoking a node ID in a network, comprising the steps of:

each node, other than the node ID, determines if node ID is included in its Neighbour List, which includes details of nodes with which communication protocols have been agreed; and

if the node ID is included in the Neighbour List, it is removed from the Neighbour List, and each node, other than the node ID, refreshes a local area key LAK, used for communication between respective nodes, and increments a sequence number seq, associated with the local area key.

9. The method of claim 8 wherein each node, other than the node ID, deletes any messages or data received from node ID prior to its revocation.

10. A device for communicating with another device, wherein both devices are arranged to perform the method of any preceding claim.

Description:
IMPROVEMENTS IN AND RELATING TO SECRET COMMUNICATIONS

The present invention relates to a method of sharing a secret between two entities which are not necessarily aware of each other before sharing the secret.

More particularly, but not exclusively, the present invention relates to ad hoc networks, and particularly to a bootstrapping mechanism of use in setting up such networks. Bootstrapping refers to the management of keys used in the subsequent encryption of routing messages in the network, and may also be used to support encryption of other packets. The key is a special instance of a secret which needs to be shared between entities.

Ad hoc networks may be used in a variety of different situations, ranging from commercial telecommunication networks to secure networks. Regardless of the end use of such ad hoc networks, certain features are common to all of them. By their very nature, since the networks are assembled and used without the routing topology being planned, as such, there is no controlling entity effectively in charge of routing signals and messages in the network.

In a very simple abstraction of an ad hoc network, it is possible to say that there is no preplanned means of getting a message from a first, source node to a second, destination node. This is in contrast to a more structured network where there is some form of managing entity which actively routes messages between different parties or nodes. In an ad hoc network, the routing of the messages is more dynamic in nature and the ultimate route taken is generally not known in advance. Figure 1 shows a simple illustration of an ad hoc network. If a node A wishes to communicate with a distant node D, it is necessary to relay any messages between A and D via an intermediate node B. Node A knows about node B and node C and has established links and, if required, communication protocols with these nodes, but cannot communicate directly with node D. However, node B can communicate with node D and may assist in passing a message from A to D.

Broadly speaking, ad hoc networks may be defined as either reactive or proactive. In a reactive ad hoc network, a route between nodes is found only when needed, i.e. only when a first node wishes to send a message to a second node. In such networks, a significant amount of time may be required to set up a route when one is needed.

In a proactive ad hoc network, there is some signalling between the various nodes of the network at all times so that a basic level of networked topology is always defined. Such a proactive ad hoc network may have a relatively higher level of administrative signalling overhead than a reactive ad hoc network.

An important feature of an ad hoc network is that only authorised parties are permitted to send and receive messages via the ad hoc network. In the case of a commercial communication network, for instance, this means that only valid subscribers are permitted to make and receive calls. In some circumstances, it is possible to pre-program the devices, which will be used to access the network with suitable credentials, to enable them to join the network and to send and receive messages. In other scenarios, it is desirable to carefully control those devices which are able to join the network and, in cases where a particular device has been compromised, to revoke its access to the network. This places an additional burden on the management of the network and poses a problem in most practical situations. Furthermore, in setting up an ad hoc network, a particular problem is presented when it comes to the issue of maintaining the confidentiality of the participants in the network, and of the manner in which they are connected (the topology of the network). Encryption to protect this information comes with the additional problem that the participants may not themselves know who the other participants are. The simplest solution to this problem, sharing a single key among all participants, is vulnerable to the loss of that key, and furthermore, as there are no individual keys, it is not possible to exclude a compromised participant from the network, which may be done with individual keys that can be revoked.

It is an aim of embodiments of the present invention to provide a system which allows a first entity to establish a network by sharing a secret with a second entity in a secure manner, which reduces or minimises the possibility of the secret being decoded by an unauthorised party. More particularly, but not exclusively, embodiments of the invention aim to address issues with the setting up of an ad hoc network in a manner which ensures the security of all information about the network participants and their topology, and furthermore allows individual participants to be excluded from the network if that is required.

According to the present invention there is provided an apparatus and method as set forth in the appended claims. Other features of the invention will be apparent from the dependent claims, and the description which follows.

For a better understanding of the invention, and to show how embodiments of the same may be carried into effect, reference will now be made, by way of example, to the accompanying diagrammatic drawings in which: Figure 1 shows a simple illustration of a prior art ad hoc network;

Figure 2 shows the steps involved in sharing a key between 2 nodes in a network; and

Figure 3 shows a device according to an embodiment of the invention.

In order for two nodes in an ad hoc network to attempt to share a secret (i.e. a key), then they must be pre-initialised with a means for decrypting a broadcast message which comes from another node which is similarly pre- initialised.

A particular problem in the setup of an ad hoc network is that when a new node wishes to join the ad hoc network, it must announce its presence to any nearby nodes. These nodes may be unaware not just that the new node is about to join the network, but even of the existence of the new node. In principle, it is possible that an unauthorised third-party could listen in to these announcement or beacon messages, and other routing signalling messages, and, from them, it would be possible to determine at least some of the network topology. This, in itself, could pose a threat to the security of the ad hoc network. Ideally, it would be desirable for any messages involved in the setting up of the network to be entirely hidden from any eavesdropping third parties. Certainly, it is highly desirable that no messages are transmitted in clear, which would enable a third party to intercept messages or otherwise interfere in the operation of the network.

The messaging which is required in order to set up an ad hoc network is especially vulnerable to interception and, if intercepted and decoded successfully, puts at risk any subsequent messages. As such, it is highly desirable that any bootstrapping messages, i.e. those involving key distribution, are not transmitted in clear. The embodiments which are described herein are particular examples of sharing a secret between two entities, but the underlying concept has broader application and the skilled person will readily appreciate that key distribution is only one possible embodiment of the invention.

In an embodiment directed to ad hoc networks, in the event that a particular node is compromised, it is desirable that such a node may have its ability to operate within the network revoked. This fact means that it is not possible to simply equip all possible nodes in the network with the same pre- programmed information before they are sent into the field, because it would not then be possible to revoke any one particular node without affecting other similarly programmed nodes at the same time.

In order to ensure that control is maintained over the network and, in particular, to ensure that any particular node, which has been compromised may be revoked, it is necessary that each potential node has a unique identifier, which is linked to that node, and that node only. Hereafter, the identifier is referred to as an identity. Also, to ensure security, it is desirable that the unique identity for a particular node is not transmitted in clear. It is this requirement which causes particular difficulty, and which embodiments of the present invention seek to address.

Embodiments of the present invention are primarily concerned with setting up (bootstrapping) the security arrangements in an ad hoc network. The actual means by which messages are communicated between the nodes once the security arrangements have been set up are beyond the scope of this particular application and any suitable secure messaging protocol may be used. Embodiments of the present invention enable a particular node to discover the identities of neighbouring nodes, nodes that it can communicate directly with, and to securely distribute, and possibly subsequently update, a local area key (LAK) to those nodes, without sending any identity information that is not encrypted. These LAKs will then be used to encrypt all of the messages that are used to establish the ad hoc network, such as the previously mentioned beacon messages. In order to allow the necessary encryption of the messages that make the LAKs available, each node is configured by a trusted authority with a public key (PK) that is the same for all nodes, and a private (secret) key SK that is specific to that node, and based on an identity ID assigned to that node. The trusted authority is required only to create these public and private keys, which will be distributed by a secure channel to each node. Nodes can be independently initialised in this manner, without knowledge of any other nodes, other than that each node must have a unique identity. In a realisation of this invention, those identities are numbers in the range 1 to N, for some chosen N (the maximum possible number of nodes), or any other values that may be mapped to such values.

While one of the objectives of embodiments of the present invention is to securely distribute keys to enable confidentiality to be provided for subsequent routing protocol messages in an ad hoc network, an underlying aim of embodiments of the invention is to ensure that the topology of the ad hoc network remains hidden from third parties who may wish to infiltrate or compromise the network. This assumes that the third party has not compromised any particular node, but is merely listening in on messages.

There are various possible forms of attack which might be used against an ad hoc network and it is not necessary to go into the details of these at this time. It is sufficient to say that a third party wishing to interfere with or infiltrate an ad hoc network may use a variety of different techniques, and embodiments of the present invention aim to mitigate any such possible attacks and to render the ad hoc network as secure as possible in the circumstances. One particular form of attack, however, which embodiments of the present invention aim to guard against is when a node becomes compromised or controlled by a hostile party, providing having access to its key material, and can proceed to operate that node improperly, or to clone and impersonate that node, potentially indefinitely. The hostile party may then be able to disrupt the network operations via various attacks, such as traffic redirection, creating network wormholes or creating a network black hole. Clearly, such forms of attack could render the entire ad hoc network inoperable or at least substantially degraded.

The threat of an insider attack is potent, and is generally difficult to defend against. It is possible to make nodes which are tamper resistant or such that their keys are destroyed when the node is physically compromised. However, such techniques are difficult and not always possible to implement in practice, and may not be reliable if the node in question is not physically compromised.

An approach that may be used against an insider attack used is to identify a compromised node, by detecting unusual behaviour, or otherwise, and then to utilise a revocation mechanism to make sure that a nodes that is suspected to have been compromised is excluded from further network communications. This typically involves updating key material at other nodes in the network so that exclusion of the suspect node is enabled cryptographically. Embodiments of the present invention directly support this approach.

Embodiments of the present invention provide that an unrevoked node is able to determine the identity of nodes with which it can establish a two-way link in one hop. Furthermore, embodiments of the present invention aim to ensure that a node is able to securely transport a symmetric cryptographic key (LAK) to these nodes. Still further, embodiments of the present invention enable the distribution of additional routing protocol information, previously distributed by the local area node discovery procedure. Embodiments of the present invention distribute local area keys (LAK), but without revealing any identity information of the nodes concerned. These local area keys are directional symmetric keys, which can then be used to protect subsequent routing messages using appropriate cryptographic mechanisms. The subsequent routing messages are passed from one node to another. Since these local area keys will only be locally established, rather than globally, each node which receives a subsequent routing message must remove any cryptographic protection and then reapply it using an appropriate key that it shares with the intended recipient. That is, the local area keys are used on a local hop by hop basis.

Even if a third party could somehow learn details of the local area key (LAK) used for communications between any two given nodes, then that particular Local Area Key would only permit interception of communications in that local area of the network. If a node has any suspicion that this has taken place (i.e. interception), it can change its LAK and, in most cases, should do so on a regular basis anyway as a precaution.

Figure 2 shows the steps involved in setting up a shared key between 2 nodes.

To enable secure node discovery to occur, a broadcast encryption scheme is used to protect so-called ANNOUNCE messages. This message will also use a form of identity-based signature to authenticate the sender. The ANNOUNCE message is used by a node to signal its presence to other nodes in its neighbourhood. The broadcasting of an ANNOUNCE message is shown at step 100 of Figure 2. This enables a node to safely broadcast information about its local view of the network whilst preventing external third parties from learning this view. Details of suitable broadcast encryption and identity based signatures schemes are given later. However, any cryptographic schemes that operate with embodiments of the present invention, or can be adopted to do so, may be used. An ANNOUNCE message can also carry additional information; this may be used, in some embodiments of this invention, to carry some information normally carried in other routing signalling messages, such as beacon messages.

A node B that receives and successfully decrypts an ANNOUNCE ciphertext will learn that the sending node A has received an earlier ANNOUNCE message from node B. This will trigger node B to attempt to establish a local area key with node A by sending to node A, a SHARE message, which is shown in step 110. Such a message will need to provide confidentiality for the transported local area, key, as well as integrity and data origin authentication. To efficiently and simultaneously achieve these differing security properties, an anonymous identity-based signcryption scheme is used. Details of a suitable anonymous identity-based signcryption scheme are given later. However, any cryptographic scheme that operate iwht embodiments of the invention, or can be adopted to do so, may be.

In most practical situations, individual nodes will broadcast ANNOUNCE messages at periodic intervals. This is so that the changing nature of the nodes' local network views, caused by mobility and availability issues, are reflected in the network.

Each node will store node specific information which will enable that node to participate in the bootstrap protocol. The information stored in each node comprises a variety of different types of data. The different types of data include: ● The public key (PK) shared by all nodes. The nodes will use a combination of cryptographic methods, and this public key is a combination of the public keys for all of those methods.

● The node's identity (ID). This uniquely identifies the node. In an embodiment of the invention, the identity is a number chosen from the set {1 , ..., N} where N is the maximum possible number of nodes in the network. Other embodiments may use other forms of identity.

● The node’s private key (SK) corresponding to its identity. The nodes will use a combination of cryptographic methods, and this private key is a combination of the private keys for all of those methods.

● The node's own local key (LAK) and a corresponding sequence number (seq) for that particular key. The node may change LAK and update seq at any time. It should always do so whenever any other node is revoked. This key will be distributed to neighbouring nodes in the network using SHARE messages and will be used to protect the routing protocol messages which are sent later using an authenticated symmetric encryption process. There are two possible approaches to protecting routing protocol messages. These are that the local area key will be used by neighbouring nodes to communicate to the node holding the key or the local area key will be used by the node holding the key to communicate to neighbouring nodes, i.e. a particular node will either decrypt incoming messages using its local area key or encrypt outgoing messages using its local area key. The choice between these approaches is a matter of choice in a particular embodiment. Either will work, as both source and destination nodes will know both local area keys. ● The node's neighbour list (NL), consisting of a table of entries (ID', LAK', seq'), each of which identifies another node in the locality, its current local area key and its current local area key sequence number. ● The node's neighbour candidate list (NCL), consisting of a table of identities representing those nodes from which the node has received a message but not yet established a 2 way link and a key. As well as a neighbour identity ID', each entry in NCL will additionally store a nonce RID' created by the recording node, and may also record a time after which this entry will be discarded.

● A list REV of revoked user identities.

The protocol for distributing the local area key of a node to its neighbouring nodes uses two distinct message types, which will be referred to as ANNOUNCE and SHARE. It should be noted that the ANNOUNCE and SHARE messages may be transmitted in more than one part or, alternatively, may be concatenated with other messages, as required. For instance, a node sending a SHARE message, may concatenate it with its own ANNOUNCE message.

The ANNOUNCE messages are encrypted using the selected broadcast encryption scheme, containing as plaintext the identity ID of the sending node, its current sequence number seq, the signature (∀) of seq using the selected identity-based signature scheme, the list of node identities and nonces from the node's NCL, and any additional information RI that may be required in a particular embodiment. The target set S for the broadcast encryption is configured to a known set containing all non-revoked nodes in the network, thereby enabling any non-revoked node to decrypt the ciphertext. In an embodiment where identities are chosen from the set {1 ,…, N} it may be all non-revoked identities in this set.

SHARE messages are each created in direct response to a received ANNOUNCE message, if and only if the ANNOUNCE message contains an NCL entry for the ANNOUNCE message receiving (and SHARE message sending) node’s identity ID’. A SHARE message consists of a concatenation of a nonce R and a ciphertext C, created using the selected anonymous identity- based signcryption scheme. The nonce R is that in the NCL entry in the ANNOUNCE message containing ID’.

A recipient of the SHARE message should attempt unsigncryption (step 120) only if R equals any RID’ in its NCL, thereby allowing the recipient to deduce ID’. The ciphertext C in the SHARE message is a signcryption of the sequence number (seq) and LAK of the sender, authenticated using the signcryption associated data that consists of the nonce R.

Initially, all nodes are assumed to be unaware of the presence and identity of any of their neighbouring nodes. Therefore, initially, the neighbour list NL and the neighbour candidate list NCL of any node is empty. In order to populate these lists and to establish connections between nodes, the following protocol is followed. Each node will periodically broadcast an ANNOUNCE message containing its identity ID, its current sequence number seq, the signature (∀) of seq using the selected identity-based signature scheme, and its neighbour candidate list NCL. All of these items are encrypted using the broadcast encryption scheme. The signature∀may be precalculated, changed only when seq (and LAK) is changed. The transmission of the ANNOUNCE message acts as a beacon, advertising the presence of the node in the local area and also relaying information about which other nodes it is currently aware of. Upon receiving an ANNOUNCE message containing a broadcast encryption ciphertext C, a node with identity ID decrypts C using its private key for the broadcast encryption scheme and the known target set S (excluding all revoked users in REV). If decryption succeeds, then the plaintext produced is parsed to yield an identity ID', a sequence number seq', a signature∀and a neighbour candidate list NCL'. The node then adds ID' and a fresh nonce RID' to its NCL if there is no entry in the NL containing ID', or if there is an entry in NL containing ID' with a sequence number lower than the present sequence number. For reasons of efficiency, these tests may be carried out before signature verification. The updated NCL will then be transmitted in the receiving node's next ANNOUNCE message.

If a node with identity ID receives an ANNOUNCE message which, after successful decryption, is found to contain an identity ID' and a list NCL' in which its own identity ID and a nonce RID appears, the node will first check whether ID' is contained in the list of revoked users. If this is the case, the node will take no further action. Otherwise, the node computes and broadcasts a SHARE message containing RID and a signcryption C of its sequence number seq and its local area key LAK, with authentication using the associated data of the nonce RID ID. If a node with identity ID receives a SHARE message consisting of a nonce R and ciphertext C, it first checks if R is contained in its own NCL list, as the entry RID’ associated with the identity ID’. If this is not the case, the node will do no further processing. Otherwise, the node attempts to unsigncrypt the ciphertext C using its anonymous identity-based signcryption private key and associated data of RID’. If unsigncryption fails, the node will do no further processing.

If unsigncryption succeeds, the node parses the resulting plaintext to yield seq’ and LAK’. If the value of seq' is less than or equal to that currently stored in NL for the identity ID' then the node does no further processing. If the value of seq' is greater than that currently stored in NL for the identity ID' (or if there is no entry for the identity ID' in NL) then the node stores the tuple (ID', LAK', seq') in NL. Finally, the node removes the entry for identity ID' from NCL, since it is no longer a candidate, and is stored in NL. At this point, the nodes are each in possession of the local area key required for them to transmit encrypted messages between each other, and no third parties have been exposed to the key in clear.

By all nodes in an ad hoc network setting up shared keys in this way, it is possible to construct and maintain an ad hoc network in which messages between nodes are encrypted using a local area key known only to the respective transmitting and receiving nodes. This key will be know by other nodes in the local area, who will also be intended recipients of the same information, but not by other nodes or third parties. This provides a high level of security and ensures that the keys are kept confidential, minimising the risk of interception of messages by third parties.

While the main objective of the bootstrapping mechanism is to securely distribute local area keys to enable confidentiality to be provided for subsequent routing protocol messages in an ad hoc network, an aim of embodiments of this invention is to ensure that the topology of the established ad hoc network remains hidden from an adversary who has not compromised any of the participating nodes.

Leakage of topology-related information may come from the data link layer or the network layer of the ad hoc network, which may include addresses that leak identity and topology information. A solution to this, applied at all relevant layers, is based on the fact that ANNOUNCE and SHARE messages require no additional address information, and can be sent to a broadcast address, and from a common address used by all nodes, or from a random address. For the encrypted routing signalling messages, any required encapsulating address information can be included in that encryption. This means that all routing signalling messages have to be decrypted by all possible recipients, even if the message need not be broadcast. However use of broadcast packets for most or all ad hoc routing protocol message is common, thus incurring no additional cost (beyond the decryption) in this case.

In the construction of a bootstrapping mechanism according to an embodiment of the invention, several cryptographic schemes are used; those so far identified are broadcast encryption, anonymous identity-based signcryption and identity-based signatures. Authenticated symmetric encryption is used for encrypting the routing signalling messages, and may be used as part of the implementation of other schemes, as will be described. Identity-based encryption may be used as part of the implementation of other schemes, as will be described.

First the three identified schemes are specified. A (static) broadcast encryption scheme provides a sender with the ability to encrypt a message for a selected subset of receivers chosen from a set of all users. In such a scheme, a trusted authority generates a public key PK for a chosen set of possible users {1, 2,…, N}. To identify users, the trusted authority assigns each user a unique identity id consisting of an index between 1 and N. The trusted authority will, for each user id, generate a secret key A broadcast encryption scheme is defined as one including the following algorithms:

Setup(λ, N): An algorithm that, given a security parameter λ and the maximum number of users N, returns a public key PK and, for each user id, a private key This algorithm is run by the trusted authority.

Encrypt(PK, S, M): An algorithm that, given a public key PK, a target set S, and a message M, returns a ciphertext C. This algorithm is run by any user.

Decrypt An algorithm that, given a private key for a user id and a ciphertext C, returns either a message M or an error symbol⊥ indicating that the ciphertext could not be decrypted using This algorithm is

run by the user id. An identity-based signature scheme allows a user id with corresponding private key to produce a publicly verifiable signature for a given

message.

An identity-based signature scheme is defined as one including the following algorithms:

Setup(λ): An algorithm that, given a security parameter λ, returns a public key PK and a master secret msk. This algorithm is run by the trusted authority. Extract(msk, id): An algorithm that, given the master secret msk and the identity id of a user, returns the private key of the user. This algorithm is run by the trusted authority.

Si gn(PK, , M): An algorithm that, given the public key PK, the private key of a user with identity id, and a message M, returns a signature σ. This algorithm is run by the user id.

Veri fy(PK, id, σ, M): An algorithm that, given the public key PK, a signer identity id, a purported signature σ, and a message M, returns either “accept” indicating that σ is deemed valid, or“reject”.

A signcryption scheme simultaneously provides confidentiality, integrity and origin authentication of encrypted messages. An identity-based signcryption scheme does so in the identity-based setting, where users are identified by their identities rather than by their public keys.

An anonymous signcryption with associated data scheme hides both sender and receiver identities in the ciphertext, and the receiver will not be able to determine the identity of the sender of a ciphertext without successfully decrypting it. The ciphertext will not only authenticate the origin of the encrypted data but also the associated data (which is assumed to be available to the receiver in unencrypted form when the ciphertext is being decrypted).

An identity-based anonymous signcryption scheme with associated data is defined as one including the following algorithms: Setup(λ): An algorithm that, given a security parameter λ, returns the public key PK and a master secret msk. This algorithm is run by the trusted authority.

Extract(msk, id): An algorithm that, given the master secret msk and the identity id of a user, returns the private key of the user. This

algorithm is run by the trusted authority.

An algorithm that, given public key PK, the

identity id s and private key of the sender, the identity id r of the

receiver, a message M, and associated data d, returns a ciphertext C. This algorithm is run by the user with identity

An algorithm that, given the public key PK, the identity of the receiver id r , the corresponding private key a ciphertext

C, and associated data d, returns either the error symbol ⊥ or a tuple (id s , m) consisting of the sender identity id s and a message M . This algorithm is run by the user with identity id r . An aim of a bootstrapping mechanism according to an embodiment of the present invention is to establish symmetric keys (called local area keys) that can be used to provide confidentiality of the subsequent routing messages. These are encrypted using an authenticated encryption scheme that ensures confidentiality and integrity of the routing messages.

An authenticated encryption scheme is defined as one including the following algorithms: KeyGen(λ): An algorithm that, given a security parameter λ, selects a key K at random from {0,1 } λ .

Encrypt(K, M): An algorithm that, given a key K ∈ {0, 1} λ and a message M, returns a ciphertext C.

Decrypt(K, C): An algorithm that, given a key K∈ {0, 1 } λ and a ciphertext C, returns either the error symbol⊥ or a message M .

If it is decided, by some means, to revoke the node with identity id then the following steps are followed. Note that it is important that they are followed by all nodes in the network. Because they add id to REV, id will not be included in any future target set S. The means by which the decision to revoke a particular node is taken is beyond the scope of this application. However, such a decision may be taken on the basis of unusual behaviour related to a particular node.

1. Each other node adds id to REV, the list of revoked nodes’ identities.

2. Each node removes the revoked node’s information from its neighbour list NL (if it is in that list).

3. Each node refreshes its local area key LAK and increments its sequence number seq.

If a particular node (Node K) is to be revoked, then it is necessary for each other node in the ad hoc network to know this, since each node in the network should operate with the same set S of non-revoked users. Once a node is informed by some means that node K is revoked, node K is added to the list REV of revoked nodes. Until each node which is a neighbour of node K updates its LAK, then node K could, in theory, still decrypt messages. This is why as part of the revocation process, all nodes should update their LAK and sequence number so that the revoked node is unable to participate in any communications, since it will be unable to decrypt any messages.

One or more nodes may be revoked at any one time, and the same procedure is applied to ensure that each revoked node is effectively removed from the ad hoc network. In addition to the revocation of the node, meaning that a revoked node will not be able to participate in any future communications, it is advisable to delete or disregard an data or message originating from the revoked node, prior to its revocation. A decision to revoke is made based upon some objective criteria, and it could well be that messages sent by the node before revocation are potentially dangerous, in that they may include bogus or harmful information.

To know, with a degree of confidence, which information is received from which other nodes, in order that it can be correctly removed in this manner, an identity based signature scheme may be used. This may use the originating node’s identity and may be attached to such data or messages, allowing their provenance to be determined.

Therefore, at the same time as revoking a particular node, the other nodes may be instructed to destroy any data or messages received from that node.

Anonymous signcryption can be implemented using an identity-based signature scheme (IBS), as described above, and an identity-based encryption scheme (IBE). An identity-based encryption scheme is defined as one including the following algorithms:

Setup(λ): An algorithm that, given a security parameter λ, returns a public key PK and a master secret msk. This algorithm is run by the trusted authority.

Extract(msk, id): An algorithm that, given the master secret msk and the identity id of a user, returns the private key of the user. This algorithm is run

by the trusted authority.

Encrypt(PK, id, M): An algorithm that, given the public key PK, the identity id of a user and a message M, returns a ciphertext C. This algorithm is run by any user.

Decrypt(PK, An algorithm that, giv

iedn the public key PK, a private key for a user id and a ciphertext C, returns either a message M or an

error symbol⊥ indicating that the ciphertext could not be decrypted using This algorithm is run by the user id.

An anonymous signcryption scheme can then be constructed by:

Setup(λ): Use IBS. Setup (returning PK I B S and msk I B S ) and IBE.Setup ( returning PK I B E and msk I B E ) . PK is ( PK I B S , PK I B E ) and msk is ( msk I B S , msk I B E ) . Extract(msk, id): Use IBS.Extract and IBE. Extract

Use IBE.Decrypt If that returns⊥ then return⊥, otherwise parse return into id s |M|σ and use IBS.Veri fy(PK I B S , id s , id r |M|d, σ). If that returns⊥ then return⊥, otherwise return (id s , M).

Using the above, to implement embodiments of the invention requires the four schemes: broadcast encryption, identity-based signatures, identity-based encryption and authenticated symmetric encryption. (Identity-based anonymous signcryption can be constructed from these.)

Examples of authenticated symmetric encryption are well known to the skilled person. The remaining three schemes have realisations using a bilinear group, consisting of the following: Cyclic groups G 1 , G 2 and G T of prime order q. • A non-trivial asymmetric bilinear map e : G 1 × G 2 → G T .

Realisations of such a bilinear group specific to a security parameter λ using elliptic curve groups are well-known to the skilled person. In each of the following constructions, hash functions H k (for some values of k) each have their appropriate domain and codomain, specific to that construction, and will be well-known to the skilled person. In each construction g is a random element of G 1 and h is a random element of G 2 , selected by the appropriate Setup algorithm. PK always includes all groups, functions, g and h; only additional elements are specified below. The cyclic group of order q is denoted Z q . id is from {1,…, N}.

A broadcast encryption scheme can be constructed, using an authenticated encryption scheme (AE), for target set S, by:

An identity-based signature scheme can be constructed by:

Setup(λ): Pick random # % Z q . Compute z = e(g, h), h pub = h # . PK includes z and h pub .

An identity-based encryption scheme can be constructed, using an authenticated encryption scheme (AE), by:

By using embodiments of the present invention, it is possible to share a secret (secret information) without revealing details of the parties in clear. This allows an ad hoc network to be constructed and minimises the opportunity for an eavesdropping third party to intercept messages and learn about the identity of the individual nodes or the topology of the network.

Furthermore, if any one particular node is compromised, and this is detected an entity having suitable authority within the network, the ability of that node to participate in the ad hoc network can be revoked, meaning that it will no longer be able to decrypt any messages it receives. This advantageously allows individual nodes to be excluded from the ad hoc network as required, without requiring any physical access to the individual nodes to re-program them, since the revocation process, as well as the supply of keys, is managed by over the air signalling.

Figure 3 shows a typical hardware embodiment of the present invention. As will be understood by the skilled person from the preceding description of embodiments of the invention, the hardware requirements are not essential and a variety of different hardware configurations may be used to implement embodiments of the invention. However, for the sake of completeness, Figure 3 shows a wireless device 200, arranged to perform a method according to an embodiment of the present invention.

The device 200 is configured as a portable wireless data transmitter. It comprises a power source 210, such as a battery pack, which may be rechargeable and/or removable.

At the heart of the device 200 is processor 230, which is operably connected to the power source 210, memory store 250, User I/O unit 220 and communication unit 240. The memory store 250 comprises digital memory for operating programs and storing data. It may comprises static and/or dynamic memory. It is also operable to store one or more keys used by embodiments of the invention.

The User I/O unit 220 is operable to receive commands from a user and to output information to the user. The commands may be received by key pad, individual buttons, a touch screen, voice activation, gestures or any other suitable input means. Information may be output to the user by a display, by audio output or any other suitable means of conveying information.

The device 200 is operable to communicate with other similar devices by means of a communication unit 240. In an embodiment, this is a wireless communication unit, operable to one or more suitable protocols, to transmit and receive information.

Attention is directed to all papers and documents which are filed concurrently with or previous to this specification in connection with this application and which are open to public inspection with this specification, and the contents of all such papers and documents are incorporated herein by reference.

All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and/or all of the steps of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and/or steps are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise. Thus, unless expressly stated otherwise, each feature disclosed is one example only of a generic series of equivalent or similar features.

The invention is not restricted to the details of the foregoing embodiment(s). The invention extends to any novel one, or any novel combination, of the features disclosed in this specification (including any accompanying claims, abstract and drawings), or to any novel one, or any novel combination, of the steps of any method or process so disclosed.