Foundations of Group Key Management - Framework, Security Model and A Generic Construction
Foundations of Group Key Management - Framework, Security Model and A Generic Construction
master secret key, and E is the underlying mKEM. is not currently part of the group.
A member with identifier i ∈ / S who wishes to join • The oracle aborts if i ∈ St− .
now
the group establishes a secure connection with the CA • The set of identifiers of current group members is
who may perform some checks before authorizing the updated as Stnow ← St− now
∪ {i}.
user to join the group. • The Rekey algorithm is run and the new ciphertext
TABLE IV.1
T IME -R ELATED N OTATIONS
2) OLeave (i) 6 — This oracle simulates the Leave algo- bs (backward secrecy) or pfs (perfect forward
rithm of the GKM, to expel the member i from the secrecy), indicating the type of security that is being
current group. attacked using this compromised member.
• Input. i should be the identifier of a member who • The oracle aborts if type = pfs and i ∈ / Stnow
is currently part of the group. because, for perfect forward secrecy, the member
• The oracle aborts if i ∈ / St− . who is to be corrupted must be part of the group
now
• The set of identifiers of current group members is when he is compromised.
updated as Stnow ← St− − {i}. • Depending on whether type is fs, bs or pfs, the
now
• The Rekey algorithm is run and the new ciphertext secret key corresponding to the user with identifier
is recorded. i at time tLeave (i), tJoin (i) or tnow respectively is
returned.
3) OCiphertext (t) — This oracle is used to retrieve the
broadcasted ciphertext of Rekey operations. Note. The challenger who runs these oracles must have some
• Input. t should be the present time or a time in the mechanism of recording the set of group members, secret keys
past. and ciphertexts as time progresses. The most natural way of
• The oracle aborts if t > tnow . doing this is to maintain lists (indexed by time) for each of
• The ciphertext (header) corresponding to time t these variables and keep appending the new values to the
is returned. By “corresponding to”, we mean the respective lists whenever changes occur.
following. C. Formal Definitions of Security
– If a Rekey operation was done at time t, then the Normal multi-receiver cryptographic schemes which do not
ciphertext broadcasted during that Rekey opera- involve operations carried out over a time-line, but are just
tion is returned. a collection of algorithms that are executed once, have two
– Otherwise, the ciphertext broadcasted during the clearly defined extremes when describing the intensity of
most recent Rekey operation done before time t attacks — static attacks, while proving the security against
is returned. which, the adversary is required to submit the identifiers of
4) ODecrypt (Hdr, t) — This oracle is used to retrieve the the entities whom he would attack during the challenge phase
DEK from its encrypted form. of the game, and adaptive attacks, in which case, the adversary
• Input. Hdr should be a ciphertext and t should be
is under no such restriction. In Group Key Management,
the present time or a time in the past. we consider static and adaptive security not only along the
• The oracle aborts if t > tnow .
dimension of receiver identifiers, but also along the time
• The set St of group members at time t is recalled
dimension. While describing adversarial games for time-static
and the secret key SKi corresponding to a user with security, the adversary would be required to submit beforehand
identifier i ∈ St at time t is obtained. the time at which he would like the challenge to be generated,
E E
• Hdr and SKi are derived from Hdr and SKi
which would eventually be given to him during the challenge
respectively. phase. The adversary is not required to do so for time-adaptive
E E E
• DecapsulateE (Hdr , PK , SKi , St ) is run, and
security. From now, when we simply say “static” (“adaptive”),
the resultant DEK is returned. we mean static (adaptive) in both dimensions. In contexts
where a mixed security is discussed, we will be explicit with
5) OCorrupt (i, type) — This oracle simulates the com- respect to the two dimensions.
promise of a member.
Before describing the adversarial games involved, we formally
• Input. i should be the identifier of a member,
define the four security notions that were informally discussed
and type should be one of fs (forward secrecy), in Section I. For simplicity, we define only the CCA2 security
6 For a set L of leaving members, this oracle can be called repeatedly on against adaptive attacks here. We discuss briefly about other
each member in L notions in a separate paragraph at the end of this section.
Definition 1: A (k, N ) − GKM scheme is forward secure • Adversarial Game for Backward Secrecy
against adaptive chosen ciphertext attacks (secure in the bs−GKM GKM
GCCA2 = GCCA2 (C bs−GKM , Abs−GKM , bs)
sense of fs-CCA2) if for all polynomials N (·), the advantage
f s−CCA2
AdvGKM of any probabilistic polynomial time adver- In this adversarial game, we allow the adversary to
f s−GKM
sary Af s−GKM in the game GCCA2 against a challenger corrupt any member of his choice at any time he wishes
C f s−GKM
is negligible in k, the security parameter. (before the challenge phase). Meanwhile, he can also
Definition 2: A (k, N )−GKM scheme is backward secure query other oracles to learn about the system. A GKM
against adaptive chosen ciphertext attacks (secure in the scheme satisfies backward secrecy, if a member who has
sense of bs-CCA2) if for all polynomials N (·), the advantage joined the group cannot decipher any past ciphertexts
AdvGKMbs−CCA2
of any probabilistic polynomial time adver- intended to the group when he was not part of the group.
sary Abs−GKM in the game GCCA2 bs−GKM
against a challenger Since we are talking about a corrupted member who has
C bs−GKM
is negligible in k, the security parameter. joined the group, during the corrupt phase, we give the
adversary the secret key of the corrupted member at the
Definition 3: A (k, N ) − GKM scheme is perfect forward
time of his joining the group. And, during the challenge
secure against adaptive chosen ciphertext attacks (secure in
phase, we allow the adversary to specify any time of
the sense of pfs-CCA2) if for all polynomials N (·), the
pf s−CCA2 his choice (before the corrupted member last joined the
advantage AdvGKM of any probabilistic polynomial time
pf s−GKM pf s−GKM group) as the time tChallenge during which the challenge
adversary A in the game GCCA2 against a chal- is to be generated. Of course, since we are dealing with
lenger C pf s−GKM is negligible in k, the security parameter. backward secrecy, the corrupted member should not be
Definition 4: A (k, N ) − GKM scheme is collusion resis- part of the group during tChallenge .
tant against adaptive chosen ciphertext attacks (secure in the • Adversarial Game for Perfect Forward Secrecy
sense of cr-CCA2) if for all polynomials N (·), the advantage
pfs−GKM GKM
AdvGKMcr−CCA2
of any probabilistic polynomial time adver- GCCA2 = GCCA2 (C pfs−GKM , Apfs−GKM , pfs)
cr−GKM
sary Acr−GKM in the game GCCA2 against a challenger In this adversarial game, we allow the adversary to
cr−GKM
C is negligible in k, the security parameter. corrupt any member of his choice at any time he
These definitions are not complete because we have neither wishes (before the challenge phase). A constraint that
described the adversarial games nor defined the advantage of we impose here is that this member should be part of
an adversary. In Game IV.1, we describe formally a generic the group when he is being corrupted. This is because
GKM
adversarial CCA2 game GCCA2 . Below, we define the games perfect forward secrecy deals with the situation when a
f s−GKM bs−GKM pf s−GKM
GCCA2 , GCCA2 and GCCA2 as special cases of member is compromised when he is part of the group.
cr−GKM
this generic game. The collusion resistance game GCCA2 Accordingly, we give the adversary the secret key of the
is described in Game IV.2. corrupted member at the time of corruption. Meanwhile,
We define the adversarial games that model attacks against he can also query other oracles to learn about the system.
forward secrecy, backward secrecy, perfect forward secrecy The compromised group member should not be able to
and collusion resistance as follows. decipher any past ciphertexts. So, we require that the time
• Adversarial Game for Forward Secrecy
tChallenge at which the adversary wants the challenge to
be generated occurs before the member was corrupted.
fs−GKM GKM
GCCA2 = GCCA2 (C fs−GKM , Afs−GKM , fs) Another constraint is that the corrupted member should
be in the group during tChallenge . Otherwise, it would
In this adversarial game, we allow the adversary to
model backward secrecy.
corrupt any member of his choice at any time he wishes
(before the challenge phase). Meanwhile, he can also • Adversarial Game for Collusion Resistance
query other oracles to learn about the system. A GKM cr−GKM
GCCA2
scheme satisfies forward secrecy, if a member who has
left the group cannot decipher any future ciphertexts This game is described in Game IV.2. Collusion resis-
intended to the group when he is no longer part of the tance means that at any point in time, even if all the
group. Since we are talking about a corrupted member members who are currently not part of the group collude,
who has left the group, during the corrupt phase, we give they will not be able to decipher the present ciphertext. To
the adversary the secret key of the corrupted member at model this, in this adversarial game, during the challenge
the time of his leaving the group. We allow the adversary phase, we give the secret keys7 of all the users who are
to enter the challenge phase at any time after the corrupt currently not part of the group to the adversary.
phase. In particular, he may choose to make the challenge Other Security Notions. We have defined only adaptive CCA2
query at the time that he thinks is most convenient for him security for GKM . Now, without going into detailed defi-
to win the challenge. Of course, since we are dealing with nitions for other security definitions, which would result in
forward secrecy, when the adversary makes the challenge
7 Since secret keys are time dependent, we give the adversary the secret
query, the corrupted member should not be in the group.
keys of the members corresponding to the time when they last left the group.
GKM
Game IV.1 GCCA2 (C GKM , AGKM , type)
This generic game is played between a challenger C GKM and an adversary AGKM . The variable type signifies the type of
security that the adversary claims he can break, and can take on any of three values fs, bs, or pfs.
Both the challenger and the adversary are given the security parameter k, the maximum number of group members N , and the
specification of the underlying mKEM E. The game consists of the following phases which are presented in the order in which
they occur. In addition to carrying out these phases, the challenger takes care of simulating the Rekey operation periodically
(if periodic rekey is carried out in the GKM scheme that is being attacked).
Setup Phase — The challenger runs Setup(k, N, Sinit , E), for any choice of Sinit by the adversary. The public key P K is
given to the adversary AGKM . A Rekey operation is simulated immediately after, and the time-line is started at this instant
(t = 0).
Query Phase 1 — During this phase, the adversary is given access to the oracles as described below.
• Queries of the form OJoin (i) and OLeave (i). The adversary can use these queries to control the group dynamics, i.e., he
can make a member with identifier i join or leave the group using these queries.
• Queries of the form OCiphertext (t). These queries help the adversary to retrieve the Hdr corresponding to the most
recent Rekey operation performed at or before a past time t (Note the Join and Leave operations also involve a Rekey
operation and such rekeys are also taken into account).
• Queries of the form ODecrypt (Hdr, t). The adversary can use these queries to learn the DEK corresponding to any
Hdr of his choice, as decrypted at any time t in the past. The challenger responds by decrypting Hdr using the secret
key SKu of some user u ∈ St .
Corrupt Phase — The adversary, at any time tCorrupt of his choice, invokes OCorrupt (ic , type), where ic is the identifier of a
member of the adversary’s choice. The only constraint is that if type = pfs, then the member with identifier ic must currently
be part of the group. The adversary receives, in return, the secret key SKic corresponding to time tLeave (ic ), tJoin (ic ), or
tnow , depending whether type is fs, bs or pfs respectively. Note that unlike in the other phases, the Corrupt oracle can
be invoked only once in this phase.
Query Phase 2 — The description of this phase is identical to that of Query Phase 1 — the adversary is given access to
OJoin , OLeave , OCiphertext and ODecrypt .
Challenge Phase — The adversary issues one challenge query to the challenger C GKM specifying the time tChallenge , subject
to one of the following restrictions depending on the value of type.
• If type = fs, the restrictions are tChallenge = tnow and ic ∈ / StChallenge .
• If type = bs, the restrictions are tChallenge < tJoin (ic ) and ic ∈
/ StChallenge .
• If type = pfs, the restrictions are tChallenge < tCorrupt and ic ∈ StChallenge .
The challenger runs EncapsulateE (DEKE , PKE , MSKE , StChallenge ), at the end of which he has the (HdrE , DEK E ) pair.
Using this, he computes (Hdr∗ , DEK ∗ ) corresponding to time tChallenge , following which he selects a random bit b, sets Kb
to DEK ∗ and K1−b to a random DEK from the key space K and challenges the adversary with hHdr∗ , K0 , K1 i.
Query Phase 3 — The adversary can continue to adaptively issue queries to all the oracles as in earlier query phases, subject
to the restriction that (Hdr∗ , tChallenge ) is not given as a query to ODecrypt .
Guess Phase The adversary outputs a guess b0 of b from {0, 1} and he wins the game if b0 = b. The adversary’s advantage in
CCA2
winning the game is defined as AdvGKM = |P r[b0 = b] − 12 |
Note. We have provided two Query Phases before the Challenge Phase to model a situation in which the Adversary can
corrupt a member at a time of his choice before receiving the challenge.
cr−GKM
Game IV.2 GCCA2
This game is played between the challenger C cr−GKM and the adversary Acr−GKM . Both the challenger and the adversary
are given the security parameter k, the maximum number of group members N , and the specification of the underlying mKEM
E. The game consists of the following phases which are presented in the order in which they occur. In addition to carrying
out these phases, the challenger takes care of simulating the Rekey operation periodically (if periodic rekey is carried out in
the GKM scheme that is being attacked).
GKM
Setup Phase — Same as in GCCA2 (C cr−GKM , Acr−GKM , ·).
GKM
Query Phase 1 — Same as in GCCA2 (C cr−GKM , Acr−GKM , ·).
Challenge Phase — The adversary issues one challenge query to the challenger C cr−GKM at any time instant tChallenge .
First, the adversary is given the secret keys SKi corresponding to time tLeave (i) of all the group members with identifiers i ∈
/
StChallenge . The challenger obtains the (HdrE , DEK E ) pair by running EncapsulateE (DEKE , PKE , MSKE , StChallenge ).
Using this, he computes (Hdr∗ , DEK ∗ ) corresponding to time tChallenge , following which he selects a random bit b, sets Kb
to DEK ∗ and K1−b to a random DEK from the key space K and challenges the adversary with hHdr∗ , K0 , K1 i.
Query Phase 2 — The adversary can continue to adaptively issue queries to all the oracles as in earlier query phase, subject
to the restriction that (Hdr∗ , tChallenge ) is not given as a query to ODecrypt .
Guess Phase The adversary outputs a guess b0 of b from {0, 1} and he wins the game if b0 = b. The adversary’s advantage in
cr−CCA2
winning the game is defined as AdvGKM = |P r[b0 = b] − 12 |
considerable repetition, we explain the intuition behind them. discussion. An mID-KEM consists of a Private Key Generator
We consider adaptive CCA and adaptive CPA security as well (PKG), who generates, using a master secret key M SK, the
as static versions of these security notions. private keys SKIDi of group members with identities IDi ,
• Adaptive CCA Security — The adversarial game and securely transmits these keys to them. The sender uses
(·)−GKM
GCCA for adaptive CCA security is the same as the public key P K and identities of the privileged receivers
the game GCCA2
(·)−GKM
, except that in the Query phase to generate a ciphertext or header, which can be decrypted only
that follows the Challenge phase, the adversary is denied by the privileged receivers to obtain a key. More formally, a
access to ODecrypt altogether. multi-receiver ID-based Key Encapsulation Mechanism (mID-
• Adaptive CPA Security — The adversarial game
KEM) with security parameter k and maximum size N of
(·)−GKM the set of privileged members, consists of the following
GCP A for adaptive CPA security is the same as the
(·)−GKM algorithms8 .
game GCCA , except that in all the Query phases, the
adversary is denied access to ODecrypt . Setup(k, N) — This algorithm inputs a security parameter
(·)−GKM k and the maximum size of the set of authorized receivers N ,
• Static Security — The adversarial games GsCCA2 ,
(·)−GKM (·)−GKM and outputs a master secret key M SK and a public key P K.
GsCCA and GsCP A for static security are the
The PKG is given M SK, and P K is made public.
same as the respective games for adaptive security, except
that the adversary must submit StChallenge (for identifier- Extract(MSK, IDi , PK) — This algorithm inputs the mas-
static) and tChallenge (for time-static) to the challenger ter secret key M SK, a user identity IDi , and the public key
in the beginning of the Setup phase. P K, and outputs the private key SKIDi of the user, which is
securely transported to the user.
V. M ULTI - RECEIVER ID- BASED K EY E NCAPSULATION Encapsulate(S, PK) — This algorithm inputs a set
M ECHANISM ( M ID-KEM) of identities of privileged (intended) receivers S =
In this section, we quickly review the basic framework of {ID1 , ID2 , . . . , IDt }, with t ≤ N and the public key P K,
an mID-KEM and the formal security model for the same. In and outputs a pair (Hdr, DEK). Hdr is called the header
the forthcoming sections, we shall be using these as black- and DEK ∈ K, where K is the key space.
boxes while taking a general mID-KEM to a GKM scheme Decapsulate(S, IDi , SKIDi , Hdr, PK) — This algorithm
and proving its security. inputs the set S of identities of the intended receivers, the
identity IDi of one of the intended receivers, and the corre-
A. General Framework of an mID-KEM sponding private key SKIDi , a header Hdr, and the public
We describe the framework of a non-trivial mID-KEM here. key P K. If IDi ∈ S, the algorithm outputs the key K.
By non-trivial, we mean that we do not consider normal 8 Our description of an mID-KEM does fall into the generic framework of
encryption schemes (which may trivially be used to encrypt the underlying mKEM discussed in Section III; the only difference is that the
keys just like messages) as KEMs for the purposes of our Setup algorithm is split here into two algorithms Setup and Extract
mID−KEM
Game V.1 GCCA2
This game is played between the challenger C mID−KEM and the adversary AmID−KEM . Both the challenger and the adversary
are given the security parameter k and the maximum number of receivers N . The game consists of the following phases that
are presented in the order in which they occur.
Setup Phase — The challenger runs Setup(k, N) and the public key P K is given to the adversary AmID−KEM .
Query Phase 1 — During this phase the adversary is given access to the oracles as described below.
• Queries of the form OExtract (IDi ) — The adversary can use this query to learn the secret keys of any of the members
of his choice.
• Queries of the form ODecapsulate (IDi , S, Hdr) — The adversary can use this query to learn the DEK corresponding
to any Hdr meant for any subset of privileged users.
Challenge Phase — During this phase the adversary issues one challenge query to the challenger, submitting a set S ∗ of
identities of users of the adversary’s choice. The only restriction is that S ∗ should not contain an identity of a user whose
secret key was queried earlier by the adversary. The challenger then uses the Encapsulate algorithm with S ∗ as input to obtain
a (Hdr∗ , DEK ∗ ) pair. He then chooses a bit b ∈ {0, 1} at random and sets Kb to DEK ∗ and K1−b to a random element
from the key space K. He then challenges the adversary with hHdr∗ , K0 , K1 i.
Query Phase 2 — During this phase the adversary can continue to query the oracles as before, subject to the following
restrictions.
∗
• He should not query the Extract oracle for the secret key of any member whose identity belongs to S .
∗ ∗ ∗
• He should not query the Decapsulate oracle with (IDi , S , Hdr ), for any IDi ∈ S .
Guess Phase — During this phase, the adversary outputs a guess b of b from {0, 1} and he wins the game if b0 = b. The
0
CCA2
adversary’s advantage in winning the game is defined as AdvmID−KEM = |P r[b0 = b] − 12 |.
B. Security Model for mID-KEM We consider adaptive CCA and adaptive CPA security as well
as static versions of these security notions.
The adversarial game involves a challenger who presents
the adversary with an interface consisting of oracles that • Adaptive CCA Security — The adversarial game
mID−KEM
model the algorithms of the real scheme. Below, we describe GCCA for adaptive CCA security is the same as
mID−KEM
in functional terms, the oracles to be implemented by a the game GCCA2 , except that in the Query phase
challenger of a generic mID-KEM. that follows the Challenge phase, the adversary is denied
access to ODecrypt altogether.
1) OExtract (IDi ) — Here, IDi is the identity of a user.
The oracle returns the secret key SKIDi of the user by • Adaptive CPA Security — The adversarial game
mID−KEM
using the Extract algorithm. GCP A for adaptive CPA security is the same as the
mID−KEM
2) ODecapsulate (IDi , S, Hdr) — Here, IDi is the iden- game GCCA , except that in all the Query phases,
tity of an intended user, S is the set of identities of the the adversary is denied access to ODecrypt .
intended (privileged) users, and Hdr is a header to be • Static Security — The adversarial games GsCCA2 mID−KEM
,
decrypted. The oracle returns the DEK corresponding mID−KEM
GsCCA mID−KEM
and GsCP A for static security are the
to Hdr by using the Decapsulate algorithm. same as the respective games for adaptive security, except
We define CCA2 security for mID-KEM using the adversarial that the adversary must submit, in the beginning of the
mID−KEM
game GCCA2 that is described in Game V.1. Setup phase, to the challenger, the set S ∗ of identities of
users he wishes to be challenged upon.9
Definition 5: A (k, N ) − mID − KEM is CCA2 secure
against adaptive chosen ciphertext attacks if for all poly- VI. A G ENERIC C ONVERSION TO C ENTRALIZED GKM
CCA2
nomials N (·), the advantage AdvmID−KEM of any proba- FROM M ID-KEM
bilistic polynomial time adversary AmID−KEM in the game Let mID − KEM be the underlying mID-KEM and let
mID−KEM
GCCA2 against a challenger C mID−KEM is negligible GKM be the centralized GKM scheme that is to be con-
in k, the security parameter. structed using mID − KEM. Before we formally describe
the constituent algorithms of GKM as per our construction,
Other Security Notions. We have defined only adaptive CCA2 we state informally what it does and the intuition behind it.
security for mID-KEM. Now, without going into detailed
definitions for other security definitions, which would result in 9 Consequently, in Query Phase 1 of G mID−KEM , the adversary should
(·)
considerable repetition, we explain the intuition behind them. not query the Extract oracle for any identities that are present in S ∗ .
Consider the following trivial (and hypothetical) construc- •Run ExtractmID−KEM (IDi ) for each identity IDi ∈
tion of GKM. For Setup, run the Setup algorithm of Sinit to obtain the secret keys of all the members
mID−KEM mID−KEM
mID − KEM, make the public key public, run the Extract SKID i
. Compute SKIDi = (SKID i
, g)
algorithm of mID − KEM for all the group members, and for all IDi ∈ Sinit and securely send these keys to
securely transport their secret keys and the initial DEK to the corresponding members. Also send the initial DEK
them. For Rekey, simply execute the Encapsulate algorithm of securely to these members.
mID − KEM and broadcast the new header to the members, Note. We refer to the second component of the secret key
who can retrieve the new DEK by running the Decapsulate SKIDi , which is common to all the group members, as the
algorithm. For Join and Leave, just update the set of identities dynamic key. It is “dynamic” because, as we shall see, it is
of the current group members accordingly and do a Rekey updated regularly during every Rekey operation.
operation. It is not difficult to see that this GKM will be Rekey(S, PK)
forward secure, backward secure and collusion resistant if • Input. Take as input the set S of the identities of current
mID − KEM is provably secure. But it is not perfect forward group members, and the public key P K.
secure because, a header generated now can be decrypted by ∗
• Select a random r ∈ Zp and update the dynamic key by
the group member (who was part of the group when the
using the one-way function F as g ← r · F(g).
ciphertext was generated) at any point in the future. This mID−KEM
• Run EncapsulatemID−KEM (S, P K ) to ob-
enables a group member to decrypt past headers and recover
past DEKs. We circumvent this problem by introducing time- tain a (HdrmID−KEM , DEK) pair.
10
dependent secret keys for group members, so that a group • Construct HdrGKM = HdrmID−KEM ⊕ (g) and
member cannot use his current secret key to decrypt a header broadcast hHdrGKM , ri to the group.
that was generated in the past. • Every group member also updates the second component
Informally, all that our construction does is to introduce of his secret key (the dynamic key) as g ← r · F(g) and
an additional time-varying secret key component g that is securely erases the old copy of g values.
common to all group members, with which the header of • Every group member with identity IDi will re-
mID − KEM is XORed before being broadcasted to the trieve HdrmID−KEM = HdrGKM ⊕ g and run
mID−KEM
group. The group members first recover the header because DecapsulatemID−KEM ( S, IDi , SKID i
,
they know the secret g, and then decrypt it to recover the DEK. HdrmID−KEM , P K mID−KEM ) to obtain DEK.
Both the CA and the members update this secret g during every Note. The CA keeps running the Rekey algorithm periodically
Rekey operation by using a one-way function, the old value of even though the group may remain static without any Join or
g, and a randomness parameter that is broadcasted by the CA. Leave operations.
Since we are using a one-way function to update the secret Join(IDi , S, PK)
keys, a group member cannot derive a past secret key from • Input. Take as input the identity IDi of a member who
his present secret key. (If he manages to do that, then he can wishes to join the group, the set S of identities of current
decrypt past headers.) Of course, the group member can store group members, and the public key P K.
his past secret keys, but we prohibit this in our construction,
• The joining member establishes a secure connection
considering it to be a violation of the protocol.
with the CA, who may perform some checks before
Formally, GKM consists of the following algorithms, all of authorizing the member to join the group. If authorized,
which are run by the CA, who plays the role of the PKG of run ExtractmID−KEM (IDi ) to obtain the secret key
mID − KEM as well. mID−KEM
SKID i
of the member.
mID−KEM
Setup(k, N, Sinit , mID − KEM) • Compute SKIDi = (SKID i
, g) and securely
• Input. Take as input the security parameter k, the maxi-
send it to the joining member.
mum number of group members N , the set Sinit of the • Update the set of identities of current group members as
identities of initial group members, and mID − KEM, S ← S ∪ {IDi }.
the underlying multi-receiver key encapsulation mecha- • Run Rekey(S, PK).
nism. Leave(L, S, PK)
• Choose a one-way function F : Z∗p → Z∗p , and a random • Input. Take as input the set L of identities of members
seed g ∈ Z∗p , where p is a large prime such that |p| = k. who wish to leave the group or are revoked, the set S of
• Run SetupmID−KEM (k, N ) to obtain P K mID−KEM identities of current group members, and the public key
and M SK mID−KEM . Construct the public key P K = P K.
hP K mID−KEM , F, mID − KEMi and make it public. • Update the set of identities of current group members as
S ← S − L.
• Set M SK = hM SK mID−KEM , gi.
• Run Rekey(S, PK).
• Choose a data encryption key DEK at random from the
10 The XOR operation is done bitwise. g is represented as bits and is padded
key space K.
with additional zeroes if necessary.
VII. F ORMAL S ECURITY P ROOF FOR GKM • Ls contains entries of the form ht, St i, where St is the
We now prove that GKM is secure against adaptive11 set of identities of the group members present at time t.
Chosen Ciphertext Attacks (CCA) with respect to all the four • Lg contains entries of the form ht, gt i, where gt is the
security properties by assuming the adaptive CCA security of dynamic key at time t.
the underlying mID-KEM and the hardness of inverting one- • Lj contains entries of the form hID, tJoin (ID)i. Recall
way functions. For proofs which involve the reduction of an that tJoin (ID) is the most recent time at which the
adversary of mID − KEM to an adversary of GKM, we will member with identity ID joined the group. For every
be running the following two adversarial games in parallel. ID, there will be a unique entry in this list.
mID−KEM
• GCCA — The CCA game corresponding to • L` contains entries of the form hID, tLeave (ID)i. Recall
mID − KEM. The challenger for this game is denoted that tLeave (ID) is the most recent time at which the
by C mID−KEM and the adversary for this game is member with identity ID left the group. For every ID,
denoted by AmID−KEM . there will be a unique entry in this list.
(·)−GKM
(·)−GKM C , acting as the challenger for A(·)−GKM , must
• GCCA — The (·)-CCA game corresponding to (·)−GKM
provide access to all the oracles involved in GCCA . In
GKM. Here, (·) can refer to f s, bs, pf s or cr depend-
those three proofs in which he is also an adversary for
ing on the security property that is being proved. The
mID − KEM, he has access to the oracles provided by
challenger and adversary for this game are denoted by mID−KEM mID−KEM
C mID−KEM , namely OExtract and ODecapsulate . In the
C (·)−GKM and A(·)−GKM respectively.
proof in which there is no access to these oracles, he can sim-
For proofs which involve the reduction of the problem of ulate them himself.13 In any case, we describe how C (·)−GKM
inverting a given one-way function to the problem of breaking simulates the oracles of GKM using those of mID − KEM
(·)−GKM
the security of GKM, we will just run the game GCCA . and a little bookkeeping.
Before presenting the formal proof, we give a short informal • OJoin (IDi ) — C
(·)−GKM
does the following.
overview of the two proof techniques that we employ.
1) Retrieve the last entry, (t0 , St0 ), from Ls and check
• Proofs for Forward Secrecy, Backward Secrecy and Col-
if IDi ∈ St0 . If so, then abort. Else, set Stnow =
lusion Resistance — For these properties, we shall be St0 ∪ {IDi } and append (tnow , Stnow ) to Ls .
reducing AmID−KEM to A(·)−GKM . That is, we assume
the existence of an adversary A(·)−GKM who can break 2) Retrieve gt− now
from Lg (gt− now
= gt00 , where
a particular security property of GKM and use him to (t00 , gt00 ) is the last entry in Lg ), pick a random
construct the adversary AmID−KEM who can break the r ∈ Z∗p , compute gtnow = r · F(gt− now
) and append
security of mID − KEM. We let AmID−KEM take on the entry (tnow , gtnow ) to Lg .
the role of C (·)−GKM and interact with A(·)−GKM on one 3) Run EncapsulatemID−KEM (Stnow , P K mID−KEM )
(·)−GKM
side through the game GCCA and simultaneously in- to obtain HdrmID−KEM corresponding
mID−KEM
teract with C mID−KEM through the game GCCA . to a new DEK, compute HdrGKM =
mID−KEM hHdrmID−KEM ⊕ gtnow , ri and append the
Thus, the task of A is to use its interaction
with A(·)−GKM to try and win against C mID−KEM . entry (tnow , HdrGKM ) to Lc .
• Proof for Perfect Forward Secrecy — For this property, 4) Record the join by appending the entry (IDi , tnow )
we shall be reducing the problem of inverting a one-way to Lj . If there already exists an entry corresponding
function F to the problem of breaking perfect forward to IDi , overwrite it.
secrecy of GKM. This reduction is somewhat weak in the
sense that we do not give an exact algorithm for inverting • OLeave (IDi ) — C (·)−GKM does the following.
a given one-way function, but merely show the existence 1) Retrieve the last entry, (t0 , St0 ), from Ls and check
of such an algorithm. The algorithm acts as the challenger if IDi ∈ / St0 . If so, then abort. Else, set Stnow =
C pf s−GKM of the adversary Apf s−GKM , and interacts St0 − {IDi } and append (tnow , Stnow ) to Ls .
pf s−GKM
with him through the game GCCA . Thus, the task 2) Retrieve gt− from Lg (gt− = gt00 , where
pf s−GKM now now
of the algorithm is to force A to invert the one- (t00 , gt00 ) is the last entry in Lg ), pick a random
pf s−GKM
way function F, if at all he is to win GCCA . r ∈ Z∗p , compute gtnow = r · F(gt− ) and append
now
(·)−GKM
We now describe the working of C , who is an the entry (tnow , gtnow ) to Lg .
important entity in all our proofs.12 He maintains five lists 3) Run EncapsulatemID−KEM (Stnow , P K mID−KEM )
Lc , Ls , Lg , Lj and L` as described below. to obtain HdrmID−KEM corresponding
• Lc contains entries of the form ht, HdrGKM i, where to a new DEK, compute HdrGKM =
HdrGKM is the broadcast ciphertext of the Rekey op- hHdrmID−KEM ⊕ gtnow , ri and append the
eration performed at time t. entry (tnow , HdrGKM ) to Lc .
11 Both time-adaptive and identity-adaptive
12 Itmust be kept in mind that in the proofs for forward secrecy, backward 13 He is able to do so because there is no game G mID−KEM and no
CCA
secrecy and collusion resistance, C (·)−GKM is also AmID−KEM corresponding challenger to win against.
4) Record the leave by appending the entry Af s−GKM . He also picks a random seed g from
(IDi , tnow ) to L` . If there already exists an Z∗p and sets the master secret key M SK to
entry corresponding to IDi , overwrite it. hM SKmID−KEM , gi.
• OCiphertext (t) — C (·)−GKM aborts if t > tnow . Oth- 2) Query Phase 1 — Af s−GKM is allowed to query the
erwise, he retrieves, if present, the entry (t0 , HdrGKM ) oracles OJoin , OLeave , OCiphertext and ODecrypt .
from Lc such that t0 is the most recent (numerically 3) Corrupt Phase — Af s−GKM chooses IDic , an iden-
largest) time stamp satisfying t0 ≤ t and returns tity which he wants to corrupt and makes the query
HdrGKM . If no such entry is present, he returns ⊥. OCorrupt (IDic , fs) at time tCorrupt (which is the
• ODecrypt (HdrGKM , t) — C (·)−GKM aborts if t > tnow . choice of Af s−GKM ).
Otherwise, he does the following. 4) Query Phase 2 — Af s−GKM can query the oracles as
1) Retrieve, if present, the entries (t0 , St0 ) from Ls in Query Phase 1.
and (t0 , gt0 ) from Lg such that t0 is the most recent
(numerically largest) time stamp satisfying t0 ≤ t. 5) Challenge Phase — Af s−GKM issues one challenge
If no such entries are present, return ⊥. query to its challenger AmID−KEM at time tChallenge
(which is the choice of Af s−GKM ), subject to the
2) Generate the header HdrmID−KEM = HdrGKM ⊕
/ StChallenge . Now, AmID−KEM
restriction that IDic ∈
gt0 corresponding to mID − KEM and return the
mID−KEM does the following before responding with the challenge.
result of ODecapsulate (IDi , St0 , HdrmID−KEM ),
• Retrieve the set StChallenge from the list Ls .
where IDi is chosen at random from St0 .
• Issue a challenge query, specifying the set
• OCorrupt (IDi , type) — C (·)−GKM does the following. StChallenge , to the challenger C mID−KEM .
1) When type = fs, retrieve if present, the entries •
∗
Receive the challenge (HdrmID−KEM , K0 , K1 ).
(IDi , tLeave (IDi )) and (tLeave (IDi ), gtLeave (IDi ) ) ∗ ∗
from L` and Lg respectively. If no such en- • Compute HdrGKM as hHdrmID−KEM ⊕
tries are present, return ⊥. Else obtain SIDi by gtChallenge , rtChallenge i.14
mID−KEM
querying OExtract (IDi ) and return SKIDi = AmID−KEM returns (HdrGKM
∗
, K0 , K1 ) as the chal-
mID−KEM f s−GKM
(SKIDi , gtLeave (IDi ) ). lenge to A .
2) When type = bs, retrieve if present, the entries
(IDi , tJoin (IDi )) and (tJoin (IDi ), gtJoin (IDi ) ) 6) Guess Phase — Af s−GKM outputs a bit b0 ∈ {0, 1}
from Lj and Lg respectively. If no such en- as its guess. AmID−KEM passes on b0 as its guess to
tries are present, return ⊥. Else obtain SIDi by C mID−KEM .
mID−KEM
querying OExtract (IDi ) and return SKIDi = It is easy to see that the advantage of Af s−GKM in break-
mID−KEM
(SKIDi , gtJoin (IDi ) ). ing the forward secrecy of GKM is the same as that of
AmID−KEM in breaking the CCA security of mID − KEM.
3) When type = pfs, retrieve the last entry (t, gt )
mID−KEM
from Lg , query OExtract (IDi ) to obtain SIDi ¯ ¯
and return SKIDi = (SKID mID−KEM
, gt ). ¯ 1 ¯¯
f s−CCA
AdvGKM = CCA
AdvmID−KEM = ¯¯P r[b = b0 ] −
2¯
i
6) Guess Phase — Abs−GKM outputs a bit b0 ∈ {0, 1} DEK and K1−b to a random element from the key
as its guess. AmID−KEM passes on b0 as its guess to space K.
C mID−KEM . Now, C pf s−GKM returns (HdrGKM
∗
, K0 , K1 ) as the
It is easy to see that the advantage of Abs−GKM in break- challenge to Apf s−GKM
.
ing the backward secrecy of GKM is the same as that of
AmID−KEM in breaking the CCA security of mID − KEM. 6) Guess Phase — Apf s−GKM outputs a bit b0 ∈ {0, 1} as
its guess.
¯ ¯ Note that since gtChallenge = rtChallenge · F(gt− ) and
¯ 1 ¯¯
bs−CCA CCA
= ¯¯P r[b = b0 ] −
Challenge
AdvGKM = AdvmID−KEM rtChallenge is random in Z∗p , gtChallenge is also random. There-
2¯ ∗
fore, the challenge HdrGKM is also random. So, the only
This means that if there exists no adversary AmID−KEM way by which the adversary Apf s−GKM can get any informa-
who can break the CCA security of mID − KEM with tion about from HdrGKM∗
about the DEK corresponding to
non-negligible advantage, then there cannot be any adversary HdrmID−KEM is by obtaining HdrmID−KEM itself. This
Abs−GKM who can break the backward secrecy of GKM with implies that, if he is able to obtain HdrmID−KEM , then
non-negligible advantage. he is also able to obtain gtChallenge 16 from gtCorrupt . Since
15 g
tChallenge < tCorrupt , this shows the ability of the adversary
tChallenge is retrieved from the list Lg . Since gtChallenge =
rtChallenge · F (gt− ), it can be seen that rtChallenge can be to invert the one-way function F. Hence the advantage of the
Challenge
computed using gtChallenge and gt− , both of which are available 16 Obtaining g ∗
Challenge tChallenge from HdrGKM and HdrmID−KEM just in-
in Lg . volves an XOR operation
adversary Apf s−GKM is at most his advantage in inverting the It is easy to see that the advantage of Acr−GKM in breaking
one-way function F. the collusion resistance of GKM is the same as that of
AmID−KEM in breaking the CCA security of mID − KEM.
pf s−CCA inv
AdvGKM < AdvF
¯ ¯
¯ 1 ¯¯
This means that if there exists no algorithm that can invert a cr−CCA
AdvGKM = CCA
AdvmID−KEM = ¯¯P r[b = b0 ] −
one-way function F with non-negligible advantage, then there 2¯
cannot be any adversary Apf s−GKM who can break the perfect This means that if there exists no adversary AmID−KEM
forward secrecy of GKM with non-negligible advantage. who can break the CCA security of mID − KEM with
non-negligible advantage, then there cannot be any adversary
Theorem 4. GKM is cr-CCA secure if mID − KEM is at Acr−GKM who can break the collusion resistance of GKM
least CCA secure. with non-negligible probability.
Proof. Here, we describe how the adversary AmID−KEM on
VIII. A N I LLUSTRATION OF THE G ENERIC C ONVERSION
one side acts as the challenger C cr−GKM who interacts with
TO C ENTRALIZED GKM
Acr−GKM , while simultaneously interacting with C mID−KEM
on the other side, trying to win against him. Since the two In this section, we present an example of the generalized
games are being run in parallel and we describe the events in transformation to centralized GKM that was presented in
chronological order, the description below switches between Section VI. We first recall the efficient mID-KEM that was
the phases of the two games. As usual, we present the proposed by Delerablée [10] in 2007, and then construct the
cr−GKM
description from the point of view of the game GCCA . most efficient centralized GKM scheme proposed till date
using this mID-KEM. This is the first efficient and scalable
1) Setup Phase — The challenger C mID−KEM runs
GKM scheme to achieve a constant size rekeying message.
SetupmID−KEM (k, N ) to obtain P K mID−KEM , and
gives it to AmID−KEM , who constructs P K = A. Delerablée’s mID-KEM
hP K mID−KEM , F, mID − KEMi and gives it to
Acr−GKM . He also picks a random seed g from Setup(k, N) — Given the security parameter k and the
Z∗p and sets the master secret key M SK to maximum number of receivers N , a bilinear map group
hM SKmID−KEM , gi. system B = (p, G1 , G2 , GT , ê(·, ·)) is constructed such that
|p| = k. Also, two generators f ∈ G1 and h ∈ G2 and
2) Query Phase — Acr−GKM is allowed to query the a secret value γ ∈ Z∗p are randomly selected. Choose a
oracles OJoin , OLeave , OCiphertext and ODecrypt . cryptographic hash function H : {0, 1}∗ → Z∗p . The master
3) Challenge Phase — Acr−GKM issues one challenge secret key is defined as M SK = (f, γ). The public key is
N
query to its challenger AmID−KEM at time tChallenge P K = (ω, v, h, hγ , . . . , hγ ) where ω = f γ , and v = ê(f, h).
(which is the choice of Acr−GKM ). Now, AmID−KEM Extract(MSK, IDi , PK) — Given M SK = (f, γ), the
does the following before responding with the challenge. public key P K and the identity IDi , this algorithm outputs
1
• Retrieve the set StChallenge from the list Ls , and SKIDi = f γ+H(IDi )
gtLeave (IDi ) from the list Lg , for all IDi ∈ /
Encapsulate(S, PK) — Assume for notational simplicity
StChallenge .
that S = {IDj }sj=1 , with s ≤ N . Given P K, this algorithm
• For each identity IDi ∈ / StChallenge , issue the
mID−KEM
randomly picks r ∈ Z∗p and computes Hdr = (C1 , C2 ) and
query OExtract (IDi ) to obtain SIDi and return DEK ∈ K where
SKIDi = (SIDi , gtLeave (IDi ) ). Q
s
α· (γ+H(IDi ))
−α
• Issue a challenge query, specifying the set C1 = ω , C2 = h i=1 , DEK = v α
StChallenge , to the challenger C mID−KEM .
∗
and outputs (Hdr, DEK).
• Receive the challenge (HdrmID−KEM , K0 , K1 ).
• Compute
∗
HdrGKM ∗
as hHdrmID−KEM ⊕ Decapsulate(S, IDi , SKIDi , Hdr, PK) — In order to re-
gtChallenge , rtChallenge i.17 trieve the DEK encapsulated in the header Hdr = (C1 , C2 ),
the user with identity IDi and the corresponding private key
AmID−KEM returns (HdrGKM ∗
, K0 , K1 ) as the chal- 1
cr−GKM SKIDi = f γ+H(IDi ) (with IDi ∈ S) computes the data
lenge to A .
encryption key as follows.
4) Guess Phase — Acr−GKM outputs a bit b0 ∈ {0, 1} 1