SlideShare a Scribd company logo
1 of 14
1




          KTR: an Efficient Key Management Scheme
               for Secure Data Access Control
                in Wireless Broadcast Services
                                Qijun Gu, Peng Liu, Wang-Chien Lee, and Chao-Hsien Chu



   Abstract—Wireless broadcast is an effective approach to dis-
seminate data to a number of users. To provide secure access
to data in wireless broadcast services, symmetric key-based
encryption is used to ensure that only users who own the valid
keys can decrypt the data. Regarding various subscriptions, an
efficient key management to distribute and change keys is in great
demand for access control in broadcast services. In this paper, we
propose an efficient key management scheme (namely KTR) to
handle key distribution with regarding to complex subscription
                                                                       Fig. 1.   A wireless data broadcast system
options and user activities. KTR has the following advantages.
First, it supports all subscription activities in wireless broadcast
services. Second, in KTR, a user only needs to hold one set of
keys for all subscribed programs, instead of separate sets of keys     dissemination. Data is broadcast periodically so that users can
for each program. Third, KTR identifies the minimum set of keys         recover lost or missed data items. The uplink channels, which
that must be changed to ensure broadcast security and minimize         have limited bandwidth, are reserved for occasional uses to
the rekey cost. Our simulations show that KTR can save about
45% of communication overhead in the broadcast channel and             dynamically change subscriptions.
about 50% of decryption cost for each user, compared with logical         In broadcast services, the basic data unit is data item, such
key hierarchy based approaches.                                        as a piece of news or a stock price. Data items are grouped
   Index Terms—Wireless broadcast, key management, access              into programs and a user specifies which programs he would
control, key hierarchy, secure group communication, key dis-           like to access. Typical programs could be weather, news, stock
tribution                                                              quotes, etc. For simplicity, we assume that each program
                                                                       covers a set of data items, and programs are exclusively
                                                                       complete. A user may subscribe to one or more programs. The
                       I. I NTRODUCTION
                                                                       set of subscribed programs is called the user’s subscription.
   With the ever growing popularity of smart mobile devices            Users can subscribe via Internet or uplink channels to specify
along with the rapid advent of wireless technology, there has          the programs that they are interested in receiving.
been an increasing interest in wireless data services among               Previous studies on wireless data broadcast services have
both industrial and academic communities in recent years.              mainly focused on performance issues such as reducing data
Among various approaches, broadcast allows a very efficient             access latency and conserving battery power of mobile devices.
usage of the scarce wireless bandwidth, because it allows              Unfortunately, the critical security requirements of this type of
simultaneous access by an arbitrary number of mobile clients           broadcast service have not yet been addressed, i.e. broadcast
[1]. Wireless data broadcast services have been available              service providers need to ensure backward and forward secrecy
as commercial products for many years. In particular, the              [2], [3] with respect to membership dynamics. In the wireless
announcement of the MSN Direct Service (direct.msn.com)                broadcast environment, any user can monitor the broadcast
has further highlighted the industrial interest in and feasibility     channel and record the broadcast data. If the data is not
of utilizing broadcast for wireless data services.                     encrypted, the content is open to the public and anyone can
   A wireless data broadcast system consists of three compo-           access the data. In addition, a user may only subscribe to a
nents as depicted in Figure 1: (1) the broadcast server; (2) the       few programs. If data in other programs are not encrypted,
mobile devices; and (3) the communication mechanism. The               the user can obtain data beyond his subscription privilege.
server broadcasts data on air. A user’s mobile device receives         Hence, access control should be enforced via encrypting data
the broadcast information, and filters the subscribed data              in a proper way so that only subscribing users can access the
according to user’s queries and privileges. The specialty of the       broadcast data, and subscribing users can only access the data
broadcast system is that (a) the server determines the schedule        to which they subscribe.
to broadcast all data on air, and (b) users’ mobile devices               Symmetric-key-based encryption is a natural choice for
listen to the broadcast channel but only retrieve data (filter data     ensuring secure data dissemination and access. The broadcast
out) based on users’ queries. The communication mechanism              data can be encrypted so that only those users who own
includes wireless broadcast channels and (optional) uplink             valid keys can decrypt them. Thus, the decryption keys can
channels. Broadcast channel is the main mechanism for data             be used as an effective means for access control in wireless
2



data broadcast services. For example, each program has one         security can be ensured. In this way, rekey cost can be reduced
unique key to encrypt the data items. The key is issued to         and fewer users will be affected. Therefore, we propose a
the user who is authorized to receive and decrypt the data         new key management scheme, namely key tree reuse (KTR),
items. If a user subscribes to multiple programs, it needs an      based on two important observations: (1) users who subscribe
encryption key for each program. Since a user only has keys        to multiple programs can be captured by a shared key tree,
for his subscription, he cannot decrypt broadcast data and         and (2) old keys can be reused to save rekey cost without
rekey messages designated to other users. At the same time,        compromising security. KTR has two components: shared
a data item can be decrypted by an arbitrary number of users       key tree and shared key management, and its contribution
who subscribe to it. This allows many users to receive the         includes the following aspects.
data at the same time and addresses the scalability problem,          Contributions. First, the proposed scheme takes advantage
or request lost or missed keys.                                    of a fact in broadcast services: many users subscribe to
   Nevertheless, when a user subscribes/unsubscribes to a          multiple programs simultaneously. In other words, programs
program, the encryption key needs to be changed to ensure          overlap with each other in terms of users. Because existing
that the user can only access the data in his subscription         approaches manage keys by separating programs, they turn to
period. Consequently, a critical issue remains, i.e. how can       be demanding for the users who subscribe to many programs.
we efficiently manage keys when a user joins/leaves/changes         Hence, this study contributes to the literature a new scheme
the service without compromising security and interrupting         (namely KTR) to better support subscriptions of multiple
the operations of other users? Regarding unique features of        programs by exploiting the overlapping among programs. KTR
broadcast services, we are interested in new key management        let multiple programs share the same set of keys for the users
schemes that can simultaneously provide security, efficiency        who subscribe to these programs. KTR thus inherently enables
and flexibility. A broadcast service generally provides many        users to handle fewer keys and reduces the demands of storage
programs; at the same time, users may like to subscribe to         and processing power on resource-limited mobile devices.
an arbitrary set of programs. We envision that a user should          Second, since multiple programs are allowed to share the
be able to flexibly subscribe/unsubscribe to any program            same set of keys, a critical issue is how to manage shared keys
of interests and make changes to his subscription at any           efficiently and securely. We find that when keys need to be
time. Hence, in addition to security and efficiency, flexibility     distributed to a user, it is unnecessary to change all of them. In
that a user can customize his subscription at anytime is an        many circumstances, when a user subscribes to new programs
indispensable feature of key management in broadcast services      or unsubscribes to some programs, a large portion of keys
to support user subscriptions.                                     that the user will hold in his new subscription can be reused
   Two categories of key management schemes in the literature      without compromising security. KTR is a novel approach for
may be applied in broadcast services: (1) logic key hierarchy      determining which keys need to be changed and for finding the
(LKH) based techniques [2]–[9] proposed for multicast ser-         minimum number of keys that must be changed. Hence, KTR
vices ; and (2) broadcast encryption techniques [10]–[16] in       efficiently handles the rekey of the shared keys and minimizes
current broadcast services (such as satellite TV). We notice       the rekey costs associated with possible subscriptions. Our
that current broadcast encryption techniques, including BISS       simulations show that critical keys can be employed in logical
[17], Digicipher [18], Irdeto [19], Nagravision [20], Viaccess     key hierarchy schemes [2], [5] to improve their performance.
[21], and VideoGuard [22], cannot in fact support flexibility.         The rest of the paper is organized as follows. In Section
They normally require users to possess decryption boxes to         II, we present related works on group key management. In
receive the subscribed programs, and the broadcast services        Section III, the first component of KTR is described that fully
can only provide to users a few packages, each of which            utilizes the service structure to reduce the number of keys.
includes a fixed set of programs (TV channels). Users cannot        In Section IV, the second component of KTR is presented to
select individual programs within a package. If a user wants       reduce rekey cost when updating and distributing shared keys.
to change his subscription, the user needs to request another      In Section V, we present the results of simulations to illustrate
decryption box that can decrypt the subscribed programs.           the performance improvements in KTR. Finally, we conclude
Hence, in this paper, we will focus on adapting more flexible       in Section VI.
LKH-based techniques.
   Nevertheless, directly applying LKH in broadcast services              II. R ELATED W ORKS ON K EY M ANAGEMENT
is not the most efficient approach. In broadcast services, a
program is equivalent to a multicast group, and users who          A. Logical Key Hierarchy
subscribe to one program form a group. Intuitively, we could          Secure key management for wireless broadcast is closely
manage a separate set of keys for each program, and ask a user     related to secure group key management in networking [4].
to hold m sets of keys for his subscribed m programs. This         Logical key hierarchy (LKH) is proposed in [2], [5] that uses
straightforward approach is inefficient for users subscribing       a key tree (depicted in Figure 2) for each group of users who
to many programs. If users could use the same set of keys          subscribe the same program. The root (top node) of the tree
for multiple programs, there would be fewer requirements           is the data encryption key (DEK) of the program. Each leaf
for users to handle keys. Furthermore, when a user changes         (bottom node) in the tree represents an individual key (IDK)
subscription, we argue that it is unnecessary to change keys for   of a user that is only shared between the system and the user.
the programs to which the user is still subscribing, as long as    Other keys in the tree, namely key distribution keys (KDKs),
3


                                    Program                    g1
                                     DEK                       k1
                                                                                                           keys need be changed in stead of how keys are generated.
                                                                                                              [6] proposes a combination of key tree and Diffie-Hellman
                                         k2                                          k3
                                                                                                           key exchange to provide a simple and fault-tolerant key
                    KDKs
                                                                                                           agreement for collaborative groups. [23] reduces the number
                              k4                    k5                    k6                    k7
                                                                                                           of rekey messages, while [9], [25] improve the reliability of
                                                                                                           rekey management. Balanced and unbalanced key trees are
                        ku1        ku2        ku3        ku4        ku5        ku6        ku7        ku8   discussed in [5] and [26]. Periodic group re-keying is studied
                Users   u1         u2         u3         u4         u5         u6         u7         u8    in [7], [8] to reduce the rekey cost for groups with frequent
                                                                                                           joins and leaves. Issues on how to maintain a key tree and how
Fig. 2.     Logical key hierarchy                                                                          to efficiently place encrypted keys in multicast rekey packets
                                                                                                           are studied in [8], [26]. Moreover, the performance of LKH is
                                                                                                           thoroughly studied [3], [8].
are used to encrypt new DEKs and KDKs. A user only knows
the keys along the path from the leaf of the user to the root
of the key tree.                                                                                           B. Broadcast Encryption
   When a user joins or leaves the group, the server needs to                                                 There are some other key management schemes in the
change and broadcast the corresponding new keys, and this                                                  literature for multicast and broadcast services. [10] used
operation is called rekey, and the broadcast message of new                                                arbitrarily revealed key sequences to do scalable multicast
keys is called rekey message. In our system, data and rekey                                                key management without any overhead on joins/leaves. [11]
messages are broadcast in the same broadcast channel to the                                                proposed two schemes that insert an index head into packets
users. Assume user u1 leaves the group (in Figure 2). The                                                  for decryption. However, both of them require pre-planned
server needs to change k4 , k2 and k1 so that u1 will no longer                                            subscription, which contradicts the fact that in pervasive com-
decrypt any data for this group, which is encrypted by k1. The                                             puting and air data access a user may change subscriptions at
rekey message is                                                                                           any moment. In addition, [11] only supports a limited combi-
                  ′          ′         ′         ′         ′
                {k4 }ku2 , {k2 }k4 , {k2 }k5 , {k1 }k2 , {k1 }k3
                                 ′                   ′                                                     nation of programs. [13] proposed a scheme to yield maximal
                                                                                                           resilience against arbitrary coalitions of non-privileged users.
         ′                          ′            ′
where ki is the new key of ki and {ki }kj means ki is encrypted                                            However, the size (entropy) of its broadcast key message is
by kj . When u2 receives this message, u2 first decrypts                                                    large, at least O(n) [12]. Zero-message scheme [14], [15] does
  ′                                                     ′
{k4 }ku2 based on his individual key ku2 to obtain k4 , then                                               not require the broadcast server to disseminate any message in
       ′                ′                             ′       ′
uses k4 to decrypt {k2 }k4 and so on to obtain k2 and k1 .
                           ′
                                                                                                           order to generate a common key. But it is only resilient against
Similarly, other users can obtain the new keys in their own                                                coalitions of k non-privileged users, and requires every user
paths. It is obvious u1 cannot obtain any new keys from this                                               to store O(klog2 (k)log2 (n)) keys. Naor et al. [16] proposed
message, and thus the broadcast data in the future will not be                                             a stateless scheme to facilitate group members to obtain up-
decrypted by u1 .                                                                                          to-date session keys even if they miss some previous key
  Now assume u1 joins the group, and the server needs to                                                   distribution messages. Although this scheme is more efficient
change k4 , k2 and k1 so that u1 cannot use the old keys to                                                than LKH in rekey operations, it mainly handles revocation
decrypt old broadcast data. Note that u1 may have already                                                  when a user stops subscription. It does not efficiently support
eavesdropped on some broadcast data before he joined the                                                   joins, which are crucial in our system. Finally, [24], [27] pro-
group. If the server gives u1 the old keys, u1 can decrypt the                                             posed self-healing approaches for group members to recover
eavesdropped broadcast data. The rekey message is                                                          the session keys by combining information from previous key
            ′          ′          ′          ′         ′         ′
          {k4 }ku1 , {k2 }ku1 , {k1 }ku1 , {k4 }k4 , {k2 }k2 , {k1 }k1                                     distribution information.
                                                                                                              Compared with LKH-based approaches, key management
The first three components are for u1 to use his individual key                                             schemes in broadcast encryption are less flexible regarding
to decrypt the new keys, and the last three are for all existing                                           possible subscriptions. Conforming to the current practice
users to use their old keys to decrypt the new keys. In this                                               described in RFC2627 [2], we select binary trees to present
way, u1 will not obtain any old key.                                                                       our scheme. Note that our scheme does not require binary trees
   LKH is an efficient and secure key management for multi-                                                 and can be applied in trees of other degrees.
cast services in that each user only needs to hold O(log2 (n))
keys for the user’s group, and the size of a rekey message
                                                                                                                          III. S HARED K EY S TRUCTURE
is also O(log2 (n)), where n is the number of group users.
It is also a flexible key management approach that allows a                                                    Directly applying LKH is not efficient in broadcast services.
user to join and leave the multicast group at any time. Many                                               We use a shared key structure to address the key management.
variations of LKH have been proposed. Because LKH simply                                                   In the following, we describe how a shared key structure is
uses independent keys, researchers developed several other                                                 applied and then raise the security and efficiency problems of
approaches [23], [24] that generate new keys by exploiting                                                 this scheme. We then present a novel shared key management
the relation between child and parent keys or the relation                                                 in Section IV that ensures security and minimizes rekey
between old and new keys. Our scheme is complementary to                                                   cost, and also address major issues when applying KTR in
these schemes, since our scheme mainly examines whether                                                    a broadcast server.
4


          Programs   g1                   g2          g1     g2            programs                 g1                                    g2                                      g3

           DEK       kg1                  kg2         kg1    kg2                                    kg1                                   kg2                                     kg3                   DEKs
                                                                           root graph
                                                                                         kr1                   kr4                  kr2         kr6                   kr5                    kr3
           KDK
                                                                                                                                                                                                        KDKs
                                                                                                               knL                              knJ
                           ku1      ku1         ku2    ku1         ku2     trees
                           u1       u1          u2                                                                 kc
          Users                                        u1           u2
                                                                                                          kus
                           (a) No Share               (b) Share                          tr1                 tr4                    tr2         tr6                   tr5                    tr3
                                                                           users                              us                                us
                                                                                                   leave                        shift                      join
Fig. 3.   Shared key tree

                                                                         Fig. 4.    Key forest

A. Key Forest                                                              programs      g1               g2              g3                                g1              g2               g3

   To address scalability and flexibility in key management,                              kr1             kr2            kr3                                 kr1             kr2          kr3            DEKs

LKH is used as the basis of our scheme. An intuitive solution              root graph
is to use a key tree for each program as shown in Figure
3(a). However, when user u1 subscribes to two programs                              k1        k2          k3         k4        k5                     k1         k2         k3          k4         k5   KDKs
simultaneously, he needs to manage two sets of keys in both                trees
trees which is not very efficient (see Figure 3(a)). Hence,
shared key tree (SKT) is proposed to reduce this cost in
                                                                         Fig. 5.    Multi-layer root graph
key management. As shown in Figure 3(b), we let the two
programs share the same sub key tree as represented by the
gray triangle. We regroup users so that users subscribing to
                                                                            Property 3.3: Each user belongs only to one tree in the key
both programs only need to manage keys in the gray triangle.
                                                                         forest, and his individual key is the leaf node of the tree.
The advantage of shared key tree is clear: any user subscribing
to both g1 and g2 only needs to manage one set of keys for both
programs. Moreover, when a user joins or leaves a tree shared            B. Root Graph
by multiple programs, the encryption and communication cost                 The root graph in Figure 4 depicts how programs share
for rekey operations can be significantly less than conventional          keys. Since m programs could generate 2m − 1 different
LKH approaches.                                                          subscriptions, such a two-layer structure in fact brings two
   In this study, shared keys are modeled as a key forest (see           major problems in terms of rekey overheads when the number
Figure 4), in which all keys form a directed and acyclic graph.          of programs is large.
The top keys in the forest are the DEKs of the programs.                    First, a program may be included in many subscriptions,
All other keys (KDKs) form trees. Users are placed in trees              which means the DEK of the program is connected with many
according to their subscriptions. A tree represents not only             trees. Assume the DEK is connected with n trees. When a user
a unique subscription, but also a group of users having this             stops subscribing the program, the DEK needs to be updated
subscription. Since a subscription is a set of programs, the             and distributed to users in n trees. Because the new DEK is
root of the subscription’s tree is connected to the DEKs of              encrypted with the roots of the n trees in rekey, O(n) rekey
the programs belonging to the subscription. As keys in a tree            items are generated. Obviously, if n is large, a leave event
are shared by the programs, a user only needs to handle the              results in a huge rekey message. For example, in Figure 5(a),
keys in the tree and the DEKs of the connected programs. For             3 programs are included in 5 different subscriptions. Program
example, in Figure 4, since tr4 represents a subscription of g1          g1 ’s DEK kg1 is connected with 4 roots kr1 , kr2 kr3 and kr5 .
and g2 , its root kr4 is connected to both kg1 and kg2 . The keys        Hence, when kg1 is updated due to a leave event, 4 rekey items
in tr4 is shared by both g1 and g2 . A user us in tr4 subscribes         are needed.
g1 and g2 and needs to handle keys in the path from his leaf                To solve this problem, we use a multi-layer structure to
node to the DEKs of the subscribed programs: kus , knL , kr4 ,           connect the DEK with the roots of the shared trees. As in
kg1 and kg2 . Finally, kg1 , kg2 and kg3 are DEKs to encrypt             Figure 5(b), kg1 is connected (bold lines) with kr1 , kr2 kr3
broadcast data, and all other keys are KDKs.                             and kr5 via two intermediate key nodes (gray circles). Such
   In order to ensure that a user will not pay for subscribed            a multi-layer structure inherently exploits the advantages of
programs multiple times, the key forest obviously should have            LKH. For a leave event, the number of rekey items in the
the following properties, which are guaranteed in any directed           root graph is reduced to O(log2 (n)). Note that, for different
and acyclic graph.                                                       programs, the number of intermediate nodes and the number
   Property 3.1: Only one path exists by following the upward            of layers may be different, which is obviously determined by
links from the root of a tree trs to the DEKs of the programs            the number of trees to which the program is connected. In
that share trs ;                                                         Figure 5, program 2 is connected with 3 trees, and thus 1
   Property 3.2: Only one path exists by following the upward            node is needed. No node is needed for program 3, because it
links from any leaf node in a tree to the root;                          is only connected with 2 trees.
5


                                                                                                     TABLE I
   Second, a subscription is not a conventional plan that a                                     R EKEY OPERATIONS
broadcast service provides, because the subscribed programs
of a plan normally cannot be changed by a user. In this paper,           Tree       Program oriented events
users are able to customize the selection of programs in their           Join       Assume a user has not subscribed to any program.
subscriptions. Thereby, a broadcast service could easily have            a tree     • He subscribes to one or multiple programs.
a large number of different subscriptions. For example, even             Leave      Assume a user has subscribed to several programs.
if a service provides only 30 programs that is a small number            a tree     • He unsubscribes to all current programs.
in many broadcast services, there could be 230 = 1 billion               Shift      Assume a user has subscribed to several programs.
different subscriptions, which is much larger than the number            among      • He subscribes to one or a few more programs.
of users. Hence, managing keys for all possible subscriptions            trees      • He unsubscribes to a part of the current programs.
would overload the server. Now, assume the service has n                            • He changes a part of the current programs.
users and 2m ≫ n. Although 2m − 1 different subscriptions
exist, at most n subscriptions are valid, since the number of
valid subscriptions cannot be more than the number of users.                                               ′                       ′
                                                                        approach to encrypt a new key ki in a rekey item {ki }kj . If
Hence, this problem can be easily solved by letting the server            ′                                                ′         ′
                                                                        ki is in an enroll path, kj is the old ki , i.e. {ki }kj ≡ {ki }ki .
only manage the valid subscriptions that have at least one user.             ′                                             ′
                                                                        If ki is in a leave path, kj is a child key of ki . Readers can
   Assuming n users are distributed to e trees (e ≤ n), and             refer to [2], [5] for examples of rekey packets.
each tree is shared by d programs on average (d ≥ 1), then                  Although LKH changes all keys in leave and enroll paths,
each tree would have n users, and each program would have
                        e                                               KTR takes different rekey operations for leave path and enroll
ed
 m trees. As discussed in Section V-A, KTR requires that                paths: keys in a leave path are changed as in LKH, while only
the broadcast server manage O((2 n − 1)e + ( ed − 1)m) =
                                     e           m                      a few keys in an enroll path are changed as long as security
O(2n − e + ed − m) keys. In the worst case where e = n,                 is ensured. In addition, KTR identifies an enroll path with the
the server needs to manage only O(n(1 + d) − m) keys. In                minimum number of must-be-changed keys to reduce rekey
contrast, LKH requires the server to manage O(2nd−m) keys.              cost without compromising security. The detailed approach is
Obviously, KTR allows the server to manage much fewer keys              presented in Section IV.
than conventional LKH-based approaches.
                                                                        D. Challenges in Shared Key Management
C. Rekey Operations                                                         If keys are shared by multiple programs, it is not always
   In this study, we consider user activities of                        cost saving, especially when a user shifts to a new tree where
joining/leaving/shifting      among       trees,       instead    of    some previously subscribed programs are still subscribed to
joining/quitting/changing among programs. Table I lists                 by the user. Consider the example in Figure 4 where us shifts
the mapping between tree-oriented operations and the                    from tr4 to tr6 . Apparently, g1 and g2 are still subscribed to
corresponding program-oriented user events. Consider the                after the shift. In general, two sets of keys need to be changed
example in Figure 4, where a user us shifts from tr4 to tr6 .           to ensure security: knL and kr4 in the leave path, and knJ ,
When us was in tr4 , us subscribed g1 and g2 . After he shifts          kr6 , kg1 , kg2 and kg3 in the enroll path.
to tr6 , he subscribes g1 , g2 and g3 . Hence, the shift in fact            When keys are not shared (i.e. each program has one
means the user adds g3 into his current subscription. Note              individual key tree), fewer keys are involved in the example
that the discussion of rekey operations in this study only              shift event. As in Figure 4, tr4 is shared by g1 and g2 , while
considers individual user events.                                       tr6 is shared by g1 , g2 and g3 . The shift from tr4 to tr6
   To issue new keys upon a user event, the main task is to             in fact indicates that us adds the program g3 to his current
identify the keys that need to be changed. We use two types             subscription of g1 and g2 . Hence, if keys are not shared and
of paths in the key forest to represent the to-be-changed keys.         each program has one individual key tree, only keys in g3 ’s
When a user leaves a tree, we say, a leave path is formed,              tree need to be changed. Thus, the shared key scheme has
which consists of keys that the user will no longer use. When           more rekey cost than conventional LKH in this example.
a user joins a tree, we say, an enroll path is formed, which                Nevertheless, because us in tr6 is still subscribing to
consists of keys that the user will use in the future. Similarly,       programs g1 and g2 as he was in tr4 , we find that keys in
when a user shifts from one tree to another, a leave path and           the enroll path (e.g. knJ , kr6 , kg1 and kg2 ) might be reused
an enroll path are formed. In KTR, a complete path starts from          by us without compromising security. For example, no matter
the leaf node and ends at the multiple DEKs of the subscribed           whether us was in tr4 or shifts to tr6 , us always knows kg1 or
programs that share the tree. For example, in Figure 4, when            kg2 . Hence, these two keys can be reused in this shift event.
us shifts from tr4 to tr6 , the leave path consists of knL and          With an in-depth analysis, we find that under certain conditions
kr4 , and the enroll path consists of knJ , kr6 , kg1 , kg2 and kg3 .   kr6 and knJ can be reused as well.
Note that in this example, kg1 and kg2 are the keys that us                 Deciding whether or not a key in an enroll path can be
already has and still needs in the future. Hence, kg1 and kg2           reused depends on whether or not the key can reveal the
are not in the leave path, although us leaves tr4 .                     programs’ DEKs that us is not supposed to know. Assume that
   To broadcast new keys, the server should first compose                in the example shift event, kr6 has never been changed since
rekey packets. In this study, we take the standard LKH                  t0 , us joins tr4 at t1 and shifts to tr6 at t2 , and t0 < t1 < t2 .
6



There are at least two situations where kr6 must be changed           Algorithm 1 Update of refresh and renew spots
at t2 . Either kr6 was used to encrypt kg3 as {kg3 }kr6 during        Assume ki is used in the rekey messages upon a user event.
t0 and t2 ; or kr6 was used to encrypt kg1 or kg2 as {kg1 }kr6         1: if ki is in a leave path then
or {kg2 }kr6 during t0 and t1 .                                        2:     renew spots must be added to all ki ’s spot series;
   In the first situation, if kr6 is reused, us can decrypt kg3         3: end if
from {kg3 }kr6 , and then decrypt g3 ’s data that was broadcast        4: if ki is critical in an enroll path then
before us shifts to tr6 at t2 . Hence, the reused kr6 reveals kg3      5:     renew spots must be added to all ki ’s spot series;
before us adds g3 into his subscription. In the second situation,      6: end if
if kr6 is reused, us can decrypt kg1 or kg2 from {kg1 }kr6 or          7: if ki ’s parent key kj is in a leave path then
{kg2 }kr6 , and then decrypt g1 ’s or g2 ’s data that was broadcast    8:     refresh spots must be added to ki ’s spot series that are
before us joins tr4 at t1 . Hence, the reused kr6 reveals kg1             associated with the programs sharing kj ;
or kg2 before us joins the service. In summary, kr6 must be            9: end if
changed in both situations. If kr6 is reused without any change,
it can reveal DEKs that us should not know. Except these two
situations, if kr6 has never been used in the encryptions as             Definition 4.1: Renew spot of a key ki : the time point t
discussed above, kr6 can be reused without any change.                when ki ’s value is changed. ki ’s new value starting from t is
   A similar but more complicated inspection is required on           denoted as ki (t).
other keys in tr6 . The principle is to check whether a key              Definition 4.2: Refresh spot of a key ki : the time point t
in an enroll path can reveal the previous DEK or another              when ki is used to encrypt its parent key kj ’s new value in a
program’s DEK. The difficulty is that a key may indirectly             refreshment δ(kj , t; ki , t′ ).
reveal DEKs, because its parent key may not be a DEK.                    Definition 4.3: Refreshment, δ(kj , t; ki , t′ ): a rekey mes-
For example, although knJ ’s parent key is kr6 , knJ can still        sage broadcast at t in the form of {kj (t)}ki (t′ ) , and t′ ≤ t.
indirectly reveal the DEK kg3 . Assume that knJ was used
to encrypt kr6 and then kr6 was used to encrypt kg3 . In this             At a refresh spot t, we say ki is refreshed when it is used to
situation, a sequence of rekey items {kr6 }knJ ,{kg3 }kr6 exist in    encrypt its parent key ki ’s new value as in the δ(kj , t; ki , t′ ).
all broadcast messages. If knJ is reused without any change,          At a renew spot t, we say ki is renewed when its valued is
us can first decrypt kr6 and then kg3 . Thus, knJ must be              changed. ki is renewed only when it is in a leave path or
changed. If no such sequence of rekey items exist, knJ can            critical in an enroll path. Accordingly, the rekey message to
be reused. Hence, the challenge in reusing keys lies in how           renew ki has two possible forms. If ki is critical in an enroll
to find out which sequences of rekey items may compromise              path, ki ’s new value is encrypted with its old value. Hence,
security and which keys in such sequences may reveal DEKs.            the renew message is {ki (t)}ki (t′ ) . If ki is in a leave path,
   In the following section, we propose a novel approach in           ki ’s new value is encrypted with its child key kc . Hence, the
KTR to efficiently address the security issue in reusing keys.         renew message of ki is also the refresh message of kc , i.e.
Since rekey cost is determined by the number of must-be-              {ki (t)}kc (t′ ) .
changed keys, the cost can be minimized if we can find the                 When a user changes his subscription, the server needs to
minimum number of must-be-changed keys when the user                  change certain keys according to the algorithm presented in
joins or shifts to the tree. We name the must-be-changed keys         Section IV-C and broadcast corresponding rekey messages.
in an enroll path as critical keys. KTR changes all keys in a         Then, refresh and renew spots are logged to the keys that
leave path and only the critical keys in an enroll path, while        are used in the rekey messages. The sequence of refresh and
leaving all the other keys unchanged. In this way, the rekey          renew spots thus forms spot series in the time order. If a key
cost can be minimized.                                                is shared by multiple programs, we let the key have multiple
                                                                      spot series, each of which is associated with one program (see
                                                                      examples in Section IV-B).
              IV. S HARED K EY M ANAGEMENT
                                                                          Algorithm 1 describes the procedure to log refresh and
   In this section, we first present some important concepts in        renew spots upon a user event. According to Definition 4.1,
Section IV-A and IV-B, which are used for identifying critical        renew spots are logged to a key when the key is changed to a
keys . Then, we present the condition under which a key is            new value. Hence, when a key is in a leave path or critical in
critical in Section IV-C and IV-D and the corresponding key           an enroll path, the key must be changed and renew spots must
management algorithms.                                                be logged to that key. Furthermore, according to Definition
                                                                      4.2, refresh spots must be logged to a key when the key’s
                                                                      parent is in a leave path, because the key is used to encrypt
A. Rekey Spots                                                        its parent in order to renew its parent.
  KTR basically logs how a key was used in rekey messages.                As previously discussed, refreshments may contain informa-
We can always find two operations in any rekey message: 1) a           tion that threatens past confidentiality. For example, assume a
key’s value is changed or 2) a key is used to encrypt its parent      user joins a tree shared by program gm at tc , and k1 is in
key when the parent key’s value is changed. Accordingly, we           the enroll path. From all previous broadcast rekey messages,
define two types of spots to log the time points when either           a dangerous rekey sequence for k1 is defined as,
operation is committed.                                                   Definition 4.4: A sequence of refreshments
7


                                                                                                g1
Algorithm 2 Update of revive spots                                                                                                      refresh spot
                                                                                                g2
 1: let k be kv ;                                                                                                                       renew spot
                                                                                                g3
 2: let t be tv ;
                                                                                                         t1   t2   t3   t4 ...   time
 3: UPDATEREVIVE(k, t, tv , gv );
 4: function UPDATEREVIVE(k, t, tv , gv )                                         Fig. 6.   Spot series of key kr6
 5:     let V be the set of all child keys of k;
        for ki ∈ V do                                                                           kr2
                                                                                                                                        refresh spot
 6:
            find ti the renew spot of ki that satisfies ti ≤ t;                                   kr6
                                                                                                                                        renew spot
 7:
 8:         if δ(k, t; ki , ti ) exists then                                                    knJ
 9:               if ti is the latest renew spot of ki then                                           t0 t1   t2   t3   t4 ...   time

10:                    add tv to ki ’s revive spot series associated
                                                                                  Fig. 7.   Spot series regarding program g2
    with gv
11:               end if
12:               UPDATEREVIVE(ki , ti , tv , gv );                               to check ki ’s child keys as they may have revive spots. If
13:         end if                                                                δ(k, t; ki , ti ) does exist and ti ) is ki ’s latest renew spot, a
14:     end for                                                                   revive spot is logged to ki and the algorithm continues to
15: end function
                                                                                  check ki ’s child keys.

                                                                                  B. Examples of Spots
δ(k2 , t2 ; k1 , t1 ), δ(k3 , t3 ; k2 , t2 ), · · · , δ(km , tm ; km−1 , tm−1 )
that satisfies                                                                         In this part, we demonstrate the spot series from two
  • ki is ki−1 ’s parent key,                                                     different dimensions. First, a key has multiple spot series
  • t 1 ≤ t 2 ≤ · · · ≤ t m < tc ,                                                associated with its programs. Figure 6 depicts the spot
  • k1 (t1 ) has never been changed since t1 ,                                    series of kr6 in the key forest of Figure 4. Because kr6
  • km (tm ) is the value of gm ’s DEK.                                           is shared by three programs (i.e. g1 , g2 and g3 ), it has
   If the server sends k1 to the user without any change, the                     three spot series, and each series is represented by a line
user can decrypt k2 (t2 ) and then iteratively decrypt k3 (t3 ) to                in Figure 6. In this example, at t1 , a user leaves tr6 . kr6
km (tm ). Past confidentiality at tm is thus compromised, if the                   is first renewed, and all its spot series get a renew spot.
user uses km (tm ) to decrypt the data items that are broadcast                   Right after it is renewed, kr6 is used in the refreshments
during tm and tc , which should otherwise be inaccessible to                      δ(kr1 , t1 ; kr6 , t1 ), δ(kr2 , t1 ; kr6 , t1 ), δ(kr3 , t1 ; kr6 , t1 ).
that user. Past confidentiality at tm is preserved if the user                     Because these refreshments are related to all the programs,
either cannot find such a sequence of refreshments to obtain                       refresh spots are added to all kr6 ’s spot series. At t2 , a user
km (tm ) or has already legitimately obtained km (tm ) and the                    leaves tr5 . Because only kr2 and kr3 need to be changed, kr6 is
data items during tm and tc .                                                     used in the refreshments δ(kr2 , t2 ; kr6 , t1 ), δ(kr3 , t2 ; kr6 , t1 ).
   Therefore, to identify whether a key is critical in a program,                 Hence, only two refresh spots are added to the series
we use a third type of spot to mark the key based on its renew                    associated with g2 and g3 . Readers can find that the other
and refresh spots. Similarly, the sequence of revive spots forms                  spots are for the events where a user joins tr6 at t3 , and
revive spot series in the time order. If a key is shared by                       another user shifts from tr4 to tr3 at t4 . In brief, renew
multiple programs, the key has multiple revive spot series,                       spots of a key are the same in all of its series, while refresh
each of which is associated with one program (see examples                        and revive spots are different regarding their corresponding
in Section IV-B).                                                                 programs.
   Definition 4.5: Revive spot of a key: the time point t when                         The second dimension of spot series is illustrated in Fig-
(1) the DEK of this key’s associated program has changed or                       ure 7, where we draw spot series of knJ , kr6 and kr2
(2) a dangerous rekey sequence exists as in Definition 4.4.                        associated with only one program g2 . At t1 , a user leaves
   After the update of refresh and renew spots, the server                        tr6 . Assume kr6 and kr2 are in the leave path, but knJ is
updates revive spots according to Algorithm 2. Assume kv (the                     not. Hence, the broadcast server composes the refreshments
DEK of program gv ) is renewed at tv . Algorithm 2 updates                        δ(kr6 , t1 ; knJ , t0 ), δ(kr2 , t1 ; kr6 , t1 ) to change kr6 and kr2 . At
the revive spots of corresponding keys iteratively, starting from                 t2 , a user leaves tr5 . The refreshment δ(kr2 , t2 ; kr6 , t2 ) is
kv . At the beginning, let k = kv and t = tv . The algorithm                      broadcast to change kr2 . At t3 , a user joins tr6 . Assume knJ ,
iteratively uses the function UPDATEREVIVE(k, t, tv , gv ) to                     kr6 and kr2 are in the enroll path, these keys are changed.
update revive spots of related keys. Assuming that the al-                        At t4 , a user shifts from tr4 to tr3 , and δ(kr2 , t4 ; kr6 , t4 )
gorithm checks a key k which was renewed at t and was                             is broadcast to change kr2 . Note that at a refresh spot (for
refreshed at sometime later than t, it first selects a ki from                     instance, t1 of δ(kr6 , t1 ; knJ , t0 ), the symmetric key knJ is
all k’s child keys. According to Definition 4.5, if δ(k, t; ki , ti )              refreshed simultaneously as its parent key kr6 is renewed.
does not exist, there is no need to log a revive spot to ki and                       In Figure 8, we draw the revive spot series of the three keys
no need to further check ki ’s child keys. Also, if δ(k, t; ki , ti )             associated with g2 based on Figure 7. At t2 , kr2 is changed
does exist but ti is not ki ’s latest renew spot, there is still no               and δ(kr6 , t1 ; knJ , t0 ), δ(kr2 , t2 ; kr6 , t1 ) can be recorded by
need to log a revive spot to ki but the algorithm continues                       any user. Revive spots are added to both kr6 and knJ , since the
8


              kr2
                                                      renew spot             Theorem 4.1: Theorem of Critical Key (TCK): k in the
              kr6
                                                      revive spot         enroll path is a critical key, i.e. k must be changed before
              knJ
                                                                          being distributed to u to ensure past confidentiality, if and
                    t0 t1   t2   t3   t4 ...   time
                                                                          only if at least one pair of (kai , uai )k,u satisfies kai > uai at
Fig. 8.   Revive spots regarding program g2                               current time t, i.e. the key is older than the user’s subscription
                                                                          regarding program gi .
                                                                                a) Proof of the sufficient condition: If k is the DEK of gi ,
refreshments can expose kr2 at t2 to a new user if either kr6 or          the proof is obvious. If k’s age is older than u’s subscription
knJ is given to the user without any change. However, at t4 , a           age, there are some data items encrypted by k before the user
revive spot is only added to kr6 , because only δ(kr2 , t4 ; kr6 , t4 )   joins the program. Hence, k needs to be changed so that the
is potentially insecure. No revive spot is added to knJ at t4 ,           user cannot decrypt those data items.
since it is not used in the rekey operation.                                 If k is not a DEK, let ki be the DEK of program gi , and the
                                                                          latest renew spot of k is tk . Assume a pair of (kai , uai )k,u that
C. Critical Keys                                                          satisfies kai > uai at current time t. According to Definition
   By logging spots to keys, the server can inspect a key’s past          4.6, k’s value has never been changed since t − kai and was
usage. We introduce the concepts of key age and subscription              revived at t−kai . According to Definition 4.5, u can find such
age to decide whether a key is a critical key.                            a sequence of refreshments from all previous broadcast rekey
   Definition 4.6: Age of a key: (1) if the key is a DEK, its              messages at t − kai : δ(kα , tα ; k, tk ), ..., δ(ki , t − kai ; kβ , tβ ),
age is the time interval between the current time to its latest           where tk ≤ tα ≤ ... ≤ tβ ≤ t − kai . Hence, if k is sent to
renew spot; (2) if the key is a KDK, its age is the time interval         u without any change, u can derive ki at t − kai from these
between the current time to the revive spot that is located               refreshments.
between the current time and the latest renew spot and is                    According to Definition 4.7, u joined gi at t − uai , which
closest to the latest renew spot. Note that a key may have                means u is only allowed to decrypt data items of gi broadcast
multiple ages if it is shared by multiple programs, and each              after t − uai . Because kai > uai , t − kai < t − uai . If k is
age is associated with one program.                                       not changed, u can decrypt data items of gi broadcast between
   According to the above definition, the age of a KDK is 0                t − kai and t − uai , and thus past confidentiality at t − kai is
if and only if there is no revive spot between the current time           compromised.
and the latest renew spot. Otherwise, the age of the key is                  Therefore, if at least one pair of (kai , uai )k,u satisfies kai >
greater than 0.                                                           uai at current time t, k in an enroll path needs to be changed
   Definition 4.7: Age of a subscription: the time interval                before being distributed to user u to ensure past confidentiality.
between the current time to the latest beginning time the user                  b) Proof of the necessary condition: The necessary con-
is in a program. Note that if a user subscribes to multiple               dition is that if all pairs of (kai , uai )u,k satisfy kai ≤ uai , k
programs, he has one subscription age for each program.                   does not need to be changed. If k is the DEK of gi , the proof
   According to the above definition, the subscription’s age is            is obvious. If k’s age is younger than user’s subscription age,
0 if and only if the user is not in the program. Otherwise,               the user has already known all data items encrypted by k.
the user is in the program, and his subscription age is greater           Hence, k does not needs to be changed.
than 0. If a user stops subscribing a program, the subscription              If k is not a DEK, select any program gi that shares k. Let
age associated with this program turns to 0. If a user shifts             ki be the DEK of gi , and the latest renew spot of k is tk .
from a tree to another tree while staying in a program, his               We use reduction to absurdity to prove. The opposite of the
subscription age with this program continues. Finally, a user             necessary condition is that past confidentiality for program gi
can have different subscription ages for different programs.              will be broken if all pairs of (kai , uai )k,u satisfy kai ≤ uai
   The traditional LKH approach to protect past confidentiality            at current time t, and k is sent to u without any changed.
is to always have the server change keys in the enroll path                  According to Definition 4.7, u joined gi at t − uai and is
so that no previous refreshment can be exploited. Although                allowed to decrypt data items of gi broadcast after t − uai .
this ensures past confidentiality, this approach is costly. There          If past confidentiality for program gi is compromised, u must
are some situations where the old refreshments only contain               have derived ki ’s value before t − uai . Because kai ≤ uai ,
secrets that the user already knows. In these situations, the user        t−kai ≥ t−uai . u must have derived ki ’s value at a time point
can use the old symmetric key to decrypt the old refreshments,            t′ before t − kai , i.e. t′ < t − kai . Hence, u must have found
thus keeping past confidentiality intact. That being the case,             the refreshments from all previous broadcast rekey messages:
the server can directly distribute the old symmetric key without          δ(kα , tα ; k, tk ), ..., δ(ki , t′ ; kβ , tβ ).
compromising the past confidentiality.                                        According to Definition 4.5, t′ is a revive spot of k. If kai =
   In the following, we give a generic method to identify criti-          0, no revive spot exists after tk , and thus t′ cannot exists. If
cal keys in the enroll path and reduce the rekey cost. Assuming           kai > 0, t′ is a revive spot after k’s latest renew spot tk ,
key k is shared by m programs and will be distributed to                  and thus tk < t′ < t − kai . However, according to Definition
user u, we can get all k’s ages and all u’s subscription ages             4.6, there cannot be any revive spot of k between tk and t −
associated with these programs, denoted as [ka1 , ..., kam ]k and         kai . Hence, t′ cannot exist, and the opposite of the necessary
[ua1 , ..., uam ]u . Program gi is thus associated with a pair of         condition is false. Consequently, past confidentiality for any
ages, denoted as (kai , uai )k,u .                                        program gi will not be broken if the pair of (kai , uai )k,u
9


Algorithm 3 Algorithm of KTR in Broadcast Server                           critical keys at t2 because their ages are greater than 0. The
 1: if a join or shift event happens then                                  server needs to change kr1 and kr2 before distributing them to
 2:     according to TCK, find all critical keys in the tree the            u2 . This shows that it is not necessary to change all keys in the
    user wants to join or shift to;                                        enroll path when a user subscribes the broadcast data services
 3:     select the best enroll path that has the minimum                   as would be required in the traditional LKH approach.
    number of critical keys;                                                   Corollary 4.2: After a user enrolls in a tree, all keys in the
 4:     change all critical keys in the best enroll path, and              enroll path are not older than the user.
    broadcast corresponding rekey messages;                                    According to Theorem 4.1, if a key is older than the user’s
 5: end if                                                                 subscription regarding a program, the key needs to be changed.
 6: if a leave or shift event happens then                                 Hence, at the time when the user enrolls in a tree, the keys,
 7:     change all keys in the leave path, and broadcast                   whose ages are older than the user, are renewed and their
    corresponding rekey messages;                                          ages turns to be 0. If the key is not older than the user’s
 8: end if                                                                 subscription regarding any program, the key does not need to
 9: update renew, refresh and revive spots according to the                be changed. Hence, the key continues to be not older than the
    latest rekey messages;                                                 user. Therefore, after a user enrolls in a tree, all keys in the
                                                                           enroll path are not older than the user.
                                                                               Corollary 4.3: When a user shifts from a tree to another
satisfies kai ≤ uai at current time t, and k is sent to u without           tree, the keys overlap both trees do not need to be changed.
any changed.                                                                   Assume the user shifts from tree trα to tree trβ . According
   Theorem 4.1 indicates that changing only critical keys can              to Corollary 4.2, after the user enrolls in trα , all keys in the
ensure past confidentiality. Hence, given a key forest, Algo-               enroll path cannot not be older than the user. Hence, when
rithm 3 is applied to find the best enroll path and minimize the            the user shifts to trβ , the overlapped keys, which were in
rekey cost. When a join or shift event happens to a tree, the              the enroll path when user enrolled in trα , do not need to be
algorithm uses the depth-first tree traversal approach to find all           changed according to Theorem 4.1.
critical keys in the tree. If a path is found to have fewer critical           Example: in Figure 4, user u shifts from tree tr4 to tr6 at
keys than previously visited paths, the algorithm records it as            t1 . Assume user u is in tr4 since t0 , i.e. u can decrypt data
the best enroll path.                                                      items of g1 and g2 since t0 . kr1 and kr2 are the overlapped
                                                                           keys with tr4 and tr6 . Because u is still in g1 and g2 after he
                                                                           shifts to tr6 , kr1 and kr2 do not need to be changed.
D. Examples of Critical Keys
   Corollary 4.1: When a user joins a tree, a key in the enroll
path is a critical key if and only if one of the key’s ages is             E. Security Analysis
greater than 0.                                                               To ensure multicast or broadcast security, group key man-
   Before a user joins the tree, his subscription ages for all of          agement should satisfy four security properties [2], [3]: non-
the programs sharing this tree are 0. Hence, if the age of a key           group confidentiality, collusion freedom, future confidentiality
in the enroll path for this program is greater than 0, the key is          (forward secrecy), and past confidentiality (backward secrecy).
older than the user’s subscription. According to Theorem 4.1,              In the following, we discuss how KTR satisfies these proper-
the key needs to be changed before being distributed to the                ties.
user.                                                                         Property 4.1: Non-group confidentiality: passive adver-
   Example: consider a user event where a user u2 joins tree               saries should not have access to any group key.
tr4 at time t2 in Figure 4. Assume that before t2 , another user              Because keys are encrypted when being broadcast, passive
u1 shifts from tree tr4 to tr6 at t1 , and no other event happens          adversaries can not decrypt any key without knowing decryp-
between t1 and t2 . At t1 , assume knL and kr4 are in the leave            tion key. Hence, KTR obviously satisfies Property 4.1.
path. At t2 , assume knL and kr4 are in the enroll path. Now, we              Property 4.2: Collusion freedom: by sharing group keys,
determine which keys are critical at t2 according to Corollary             multiple present users can not derive any group key that they
4.1.                                                                       are not holding.
   At t1 , because u1 is still in g1 and g2 , the broadcast server            When multiple users collude, they may try to share their
does not need to change kr1 and kr2 , and only needs to send               keys to derived unknown group keys. The sharing can be
the refreshments δ(knL , t1 ; kc , tkc ), δ(kr4 , t1 ; knL , t1 ), where   represented by a subgraph of the paths belonging to the
kc is a child key of knL and not known by u1 . According to                colluding users. However, in KTR, a user does not know any
Definition 4.5, no revive spot is added to knL and kr4 , and                key not on this path. Hence, colluding users do not know any
these two keys are renewed after t1 . Consequently, according              key outside the subgraph that represents the collusion. KTR
to Definition 4.6, at t2 , the ages of both knL and kr4 are 0.              thus satisfies Property 4.2.
The server can give knL and kr4 to u2 without any change                      Property 4.3: Future confidentiality (forward secrecy): a
according to TCK, since u2 cannot derive kr1 and kr2 before                leaving user should not have access to any group key after
t2 from the previous refreshments.                                         leaving his present group.
   In this example, knL and kr4 are not critical keys, although               According to Algorithm 3, KTR changes all keys in the
they are in the enroll path at t2 . However, kr1 and kr2 are               leave path, because the leaving user holds these keys. Hence,
10


                                                                                               TABLE II
the leaving user will not have the new keys after the user                          C OMPUTATION AT THE SEVER   SIDE
leaves his group. KTR thus satisfies Property 4.3.
   Property 4.4: Past confidentiality (backward secrecy): a          service         parameters          inspe-         upd-   computa-
joining user added at time t should not have access to any            size     n     m     e       d     ction          ate   tion (ms)
keys used to encrypt data before t.                                  small    10K     5   31      2.5     655          50K      16 ± 2
   According to Algorithm 3, KTR changes all critical keys           large    10K    50 300       12      141          240K    68 ± 16
in the enroll path when a user joins. Theorem 4.1 basically
proves that the joining user can only derive past group keys
from critical keys. Hence, changing critical keys and reusing      enroll path, and (3) update renew, refresh and revive spots
non-critical keys prevent the joining user from obtaining past     for affected keys. Compared with LKH, steps (1) and (3)
group keys. KTR thus satisfies Property 4.4.                        in KTR incur extra cost that includes only comparison and
                                                                   assignment operations. The leave path simply consists of keys
              V. P ERFORMANCE E VALUATION                          that the user will no longer hold, and thus the server can
                                                                   easily find out the leave path. Nevertheless, the server needs
   In this section, we analyze and evaluate the performance
                                                                   to inspect the to-be-joined tree and find out the enroll path
of KTR at the server side and the client side respec-
                                                                   with the minimum number of critical keys. Hence, according
tively. We define the following parameters for the analysis.
                                                                   to Algorithm 3, the computation complexity on the server side
  • The service provides m programs;
                                                                   is mainly determined by the number of keys to be inspected
  • n users subscribes the service;
                                                                   and the number of updates to be committed.
  • n users are distributed to e trees;
                                                                      The number of keys to be inspected is determined by the
  • Each tree is shared by d programs on average;
                                                                   number of users in the to-be-joined tree and the number
  • The leave rate is λl : the number of users unsubscribing
                                                                   of programs that share that tree. Inside the tree, there are
  to the service per unit time;
                                                                   O(2 n ) keys. The root of the tree is connected to DEKs of
  • The join rate is λj : the number of users subscribing to            e
                                                                   the programs that share the tree. As in Figure 5, the path
  he service per unit time;
                                                                   between the root and one DEK has O(log2 ( ed )) keys on
  • The shift rate is λs : the number of users changing                                                              m
  subscriptions per unit time;                                     average. Hence, there are O(dlog2 ( ed )) keys between the root
                                                                                                        m
  • The total event rate Λ = λl + λj + λs                          and the connected DEKs. In total, the server needs to inspect
                                                                   O(2 n + dlog2 ( ed )) keys in order to find the best enroll path
                                                                        e           m
                                                                   and the critical keys.
A. Server Side                                                        The number of updates to be committed is determined by
   1) Analysis: Since a server is generally abundant in energy     the number of DEKs that must be changed. In the worst case,
and memory, its computation capacity becomes the main factor       all DEKs need to be changed and all keys under the DEKs
that affects the performance of the whole system. If the           need to be changed. Because each tree is shared by d programs
processing time for each event is large, this would delay user’s   on average, one DEK is connected with de trees. Hence, in the
                                                                                                             m
request. We measured the management cost of a server by two        worst case, a changed DEK will require the server to update
metrics: (a) the total number of keys to be managed, and (b)       all keys in the trees that are connected with the DEK. Hence,
the number of keys to be inspected and updated per rekey           for each DEK, O(2 de n ) = O(2 dn ) keys need to be updated.
                                                                                         m e         m
event.                                                             In the worst case (i.e. m DEKs need to be changed), the server
   Since a tree has n users in average, there are O(2 n − 1)
                     e                                    e        needs to commit O(2dn) updates.
keys to be handled, including the root. For e trees, the server       2) Simulation: We did simulations on a server (a computer
needs to manage O(e(2 n − 1)) = O(2n − e) keys. Because
                          e                                        with a 2GHz CPU and 2GB RAM running Linux). On average,
a key in any tree needs to keep a separate spot series for         the server uses tens of milliseconds for one rekey operation
each program that shares the tree and each tree is shared by d     in the KTR scheme. Table II shows the simulation results for
programs on average, the server needs to keep O((2n − e)d)         two services with 10000 users. The first row is a small service
spot series. In the multi-layer root graph, the server needs to    that provides only 5 programs and 31 valid trees, and each
manage DEKs and other non-root keys. Because one program           tree is shared by 2.5 programs on average. The second row
is connected with O( ed ) trees, the server needs to manage
                        m                                          is a large service that provides 50 programs and 300 valid
O(( ed − 1)m) = O(ed − m) keys (including DEKs and non-
     m                                                             trees, and each tree is shared by 12 programs on average.
root keys) for m programs. We notice that any one of these         Column “inspection” is the estimate of the number of keys to
keys is connected with only one program. Hence, each key           be inspected in the worst case. Column “update” estimates the
requires only one spot series, and thus the server needs to keep   number of updates to be committed in the worst case. Column
O(ed − m) spot series. In total, the server needs to manage        “computation” measures the average computation time for one
O(2n−e+ed−m) keys with a storage requirement of O((2n−             rekey operation in simulation.
e)d + ed − m) = O(2nd − m). In comparison, LKH requires               Obviously, the computation time on the server side is mainly
that the server manages O((2 ed n −1)m) = O(2nd−m) keys.
                               m e                                 determined by the number of updates to be committed in the
   According to Algorithm 3, KTR needs three steps for each        simulations, as the computation time is almost proportional to
rekey operation: (1) find the leave path and the best enroll        the number of updates (via regression analysis). First, since
path, (2) change keys in the leave path and critical keys in the   the number of users is fixed in these simulations, when the
11


                                                                                                                                    2
service has more trees, the average number of users in one tree       a shift event, the number of decryptions is O(2(1 + ρ) nd ).  m
decreases. Accordingly, the server takes less time to inspect         Considering user activities, the average number of decryptions
                                                                                                                         2
                                                                                      1
keys in the large service than in the small service. Hence,           would be O( Λ (2λl + 2ρλj + 2(1 + ρ)λs ) nd ). Hence, on
                                                                                                                        m             2
                                                                                                        1
the server spends the most time on updating spots for affected        average, each user decrypts O( Λ (2λl + 2ρλj + 2(1 + ρ)λs ) d )m
keys. Since a program is connected with more trees in the large       rekey items upon receiving a rekey message.
service, a changed DEK will affect more keys. According to               The third metric, maximum number of keys to be stored,
the estimation, in the worst case, the server needs to commit         represents the storage demand which is proportional to the
updates in the large service 240000 = 4.8 times as much
                                 50000                                number of keys a user needs to hold. Inside a tree, a user
as in the small service. Overall, as measured, the server’s           needs to hold keys along the path from its leave node to the
computation time in the large service is 68 = 4.3 times as
                                            16                        root of the tree. Because a tree has O( n ) users, a user holds
                                                                                                                 e
much as in the small service.                                         O(log2 ( n )) keys inside a tree. In the root graph, a user hold
                                                                                e
                                                                      keys from the root of the tree to all DEKs of the programs
B. Client Side                                                        that share the tree. Because a root is connected with d DEKs
   1) Analysis: At the client side, three main performance            and each DEK is connected with O( ed ) trees, a user holds
                                                                                                                m
metrics need to be measured: average rekey message size per           O(dlog2 ( de )) keys in the root graph. In total, a user should
                                                                                  m
event, average number of decryption per event per user, and           hold O(log2 ( n ) + dlog2 ( de )) keys. Because a user stays in
                                                                                      e            m
maximum number of keys to be stored, that can well capture            multiple trees in LKH, the user should hold O(dlog2 ( n ) +  e
the overhead of KTR on resource limited mobile devices                dlog2 ( de )) keys if keys are not shared.
                                                                              m
in terms of communication, storage, power consumption and                2) Simulation: The analysis gives estimates on major per-
computation. Based on these three metrics, we can infer other         formance metrics. We notice that some factors could bring
metrics that are more directly related to the mobile devices.         more insightful results. For example, users may not be evenly
For example, if we decide a particular encryption algorithm,          distributed in trees due to the fact that some programs may be
we know the length of a key, the time to compute a key, and the       more popular than other programs. Also, users may be more or
energy consumption to execute the algorithm. Consequently,            less likely to stay in current subscriptions than to frequently
we can obtain metrics, such as the communication overhead             change their subscriptions. Hence, in the following, we use
in the rekey messages, etc.                                           simulation to examine the impacts of these user behaviors.
   The first metric, average rekey message size per event, is             In the simulation, we compare KTR with three other rep-
measured as the number of encryptions {∗}k in the rekey               resentative schemes: SKT, eLKH, LKH, as listed in Table
message, represents communication cost and power consump-             III, to illustrate how shared key and critical key improve
tion in a mobile device. In a leave event, the rekey message          the performance of key management in wireless broadcast
consists of rekey items for keys in the leave path. Hence, the        services. SKT is the approach in [28] where only shared key
number of encryptions is O(2(log2 ( n )+dlog2 ( de ))). In a join
                                       e           m                  tree is applied. eLKH is an approach where only critical key is
event, the rekey message consists of rekey items for critical         applied to enhance LKH. Neither shared key tree nor critical
keys in the enroll path. Hence, the number of encryptions is          key is adopted in LKH. If shared key tree is adopted, key
O((1+ρ)(log2 ( n )+dlog2 ( de ))), where ρ is the ratio of critical
                 e           m                                        management is based on the key forest as illustrated in Figure
keys over all keys in the enroll path. Our simulation shows that      4; otherwise, a key tree is created for each program and a
ρ is around 22.9 ± 1.8% in an enroll path. In a shift event, the      user is assigned to all trees corresponding to the programs he
rekey message consists of rekey items for keys in the leave           subscribes. If critical key is used, a key in an enroll path is
path and critical keys in the enroll path. Hence, the number of       changed if and only if it is a critical key; otherwise, all keys
encryptions is O((3 + ρ)(log2 ( n ) + dlog2 ( de ))). Considering
                                  e            m                      in the enroll path need to be changed (as in the other old
user activities, the average rekey message size would be              schemes). Table III lists four schemes representing different
    1
O( Λ (2λl + (1 + ρ)λj + (3 + ρ)λs )(log2 ( n ) + dlog2 ( de ))).
                                              e            m          solutions which may or may not adopt these two ideas. The
   The second metric, average number of decryption per event          names of the schemes are self-explanatory. If key tree reuse
per user, measures computation cost and power consumption             is adopted, key management is based on the key forest as
in a mobile device, since the device needs to decrypt new             illustrated in Figure 4; otherwise, a key tree is created for
keys from rekey messages. Define the height of a key as its            each program and a user is assigned to all trees corresponding
distance to the bottom of a tree. For example, if a tree has n        to the programs he subscribes. If critical key is used, a key
users, the height of its root key is log2 n. Obviously, if a key’s    in an enroll path is changed if and only if it is a critical key;
height is h, 2h users need to decrypt it when it is updated           otherwise, all keys in the enroll path need to be changed (as
in a rekey event. Hence, in a tree of n users, when a path            in other schemes). Note that the well-known LKH is used as
of keys need to be changed, the total number of decryptions
            n
                                                                      a base line (i.e. neither shared key nor critical key is adopted).
         log2
is O( i=1 2i ) ≈ O(2n). In a leave event, because there are                 a) Settings: We assume that the server provides 50
O( n de ) users under a to-be-changed DEK, the total number
    e m                                                               programs. In our experiments, the key forest consists of 300
of encryptions for this DEK and its downward keys is O(2 nd ). m2     trees when shared key tree is adopted. Each tree represents a
Because d DEKs need to be changed in a leave event, O(2 nd )   m      different option of subscriptions. We also assume that there
decryptions are committed by affected users. Similarly, in a          are 10000 users (on average) subscribing to the services. The
                                                            2
join event, the total number of decryptions is O(2ρ nd ). In
                                                          m           root graph in key forest was automatically generated according
12


                             TABLE III                                                           TABLE IV
                   K EY   MANAGEMENT SCHEMES                                           C ASES   IN KEY MANAGEMENT


             Schemes       shared key    critical key                        Case      Major subscriptions      Major events
               KTR             Y               Y                            Case I          Multiple           Join and leave
               SKT             Y               N                           Case II           Single            Join and leave
              eLKH             N               Y                           Case III         Multiple                Shift
              LKH              N               N                           Case IV           Single                 Shift


to subscriptions. Each program had a different depth in root        server to change fewer keys.
graph depending on the number of subscriptions that include            Then, we evaluate performance of the key management
the program. In the worst case where a program is included in       schemes by fixing λl = 1 and varying λs (x-axis) from 1 to
all subscriptions, the depth for this program in root graph is 9.   9 as shown in Figure 9(c) and (d). Obviously, when the shift
Most programs had a depth of 8 or less, because the probability     rate grows, the performance of SKT turns worse because of
that a program is selected by more than 256 subscriptions is        the extra overhead that is introduced in managing shared keys
low. At the same time, the tree depth is around 5, since 10000      when a user quits or adds some but not all of his subscribed
users are randomly distributed to 300 trees.                        programs. Obviously, the adoption of critical keys incurs the
   In each experiment, we compare two equivalent key graphs         major improvement in terms of rekey message size. KTR and
for shared key schemes and non-shared key schemes. We first          eLKH are the best solutions.
generate a random key forest and assign users to leaf nodes            By comparing CASE III and CASE IV (corresponding to
of the key forest. Then, for non-shared key schemes (LKH            the subscriptions of multiple programs and single program,
and eLKH), we assign users to different key trees according         respectively), we found that the extra overhead of shift is
to their subscriptions in shared key schemes. Any user event        higher in CASE III. Figure 9 also shows that KTR and STK are
in shared key schemes was also mapped into the equivalent           more sensitive to these types of major user events than eLKH
event in non-shared key schemes.                                    and LKH. The average rekey message size in KTR and STK
   All three user events (i.e. join, shift and leave) are modeled   grows as the shift rate increases and shrinks as the join/leave
as independent Poisson processes. We let λl = λj so the total       rate increases. On the contrary, the average rekey message size
number of users remains constant (i.e. around 10000). We vary       in eLKH and LKH remains almost flat regardless of the rate
λl and λs separately in order to observe their impacts on the       of user events.
rekey performance. The result of our performance comparison            Based on our experimental results, by adopting only shared
is obtained by averaging the rekey cost over 3000 random user       key tree, SKT reduces the rekey message size to around 60% to
events. Here, a user event is referred to an event in schemes       90% of LKH. By adopting critical keys alone, eLKH reduces
that adopt shared key tree. Such an event is mapped into            the rekey message size to around 55% to 65% of LKH. This
several user events in schemes that do not adopt shared key         result also validates our claim that many keys in the enroll path
tree. For example, a user joins a tree of multiple programs         do not need to be changed. In fact, over all the experiments,
in KTR is mapped as a sequence of events in LKH (each is            only around 23% keys in the enroll path need to be changed.
corresponding to the user joining a tree of these programs).              c) Average Number of Decryption Per Event Per User:
   Four test cases are generated for evaluation based on major      Power consumption and computation cost are two primary
subscriptions and major events (summarized in Table IV). In         concerns for mobile users. We use the average number of
Case I and Case III, 80% of the users subscribe to multiple         decryptions to measure these costs. Similar to the experiments
programs and the other 20% only subscribe to one of the             in the previous section, we vary the rates of major events to
programs. In Case II and Case IV, 20% of the users subscribe        observe their impacts on decryption overhead. Figure 10 shows
to multiple programs and the other 80% subscribe to only one        that the schemes adopting critical keys (i.e. KTR and eLKH)
program. Furthermore, in Case I and Case II, the major events       are better than SKT and LKH. The number of decryption in
are joins and leaves; while in Case III and Case IV, the major      eLKH is around 80% of that in LKH, and KTR’s is around
events are shifts. In the simulations, we vary the rates for the    80% of SKT’s too. In all schemes, the number of decryptions
major events while keeping the other rates at 1.                    drops as the join/leave rate increases and rises as the shift rate
      b) Average Rekey Message Size Per Event: We first              increases.
evaluate performance of the key management schemes in terms            However, the adoption of shared key has negative impacts
of average rekey message size, by fixing λs = 1 and varying          on reducing user’s decryption cost. In Figure 10, LKH is better
λl (x-axis) from 1 to 9 as shown in Figure 9(a) and (b).            than SKT, especially when the shift rate is high. So does eLKH
KTR and SKT that adopt shared keys significantly outperforms         in comparison with KTR. This can be explained as follows. In
LKH, Because the major user events are join and leave, a            shared key schemes, when a user shifts from a tree to another,
user only needs to join or leave one tree when he subscribes        some users will be affected by the changed keys in both the
or unsubscribes to multiple programs. In contrast, LKH that         leave and the enroll paths if they subscribe to the programs that
does not have shared keys requires a user needs to join or          the user keeps subscribing to. As previously discussed, shared
leave multiple trees for multiple programs. Furthermore, KTR        key schemes introduce extra rekey cost because they change
is better than SKT, because critical key in KTR allows the          keys in two paths. On the contrary, in non-shared key schemes,
Ktr an efficient key management scheme for secure data access control in wireless broadcast services
Ktr an efficient key management scheme for secure data access control in wireless broadcast services

More Related Content

What's hot

EFFICIENT DETECTION OF SYBIL ATTACK BASED ON CRYPTOGRAPHY IN VANET
EFFICIENT DETECTION OF SYBIL ATTACK BASED ON CRYPTOGRAPHY IN VANETEFFICIENT DETECTION OF SYBIL ATTACK BASED ON CRYPTOGRAPHY IN VANET
EFFICIENT DETECTION OF SYBIL ATTACK BASED ON CRYPTOGRAPHY IN VANETIJNSA Journal
 
An Enhanced Approach to Avoid Black hole Attack in Mobile Ad hoc Networks usi...
An Enhanced Approach to Avoid Black hole Attack in Mobile Ad hoc Networks usi...An Enhanced Approach to Avoid Black hole Attack in Mobile Ad hoc Networks usi...
An Enhanced Approach to Avoid Black hole Attack in Mobile Ad hoc Networks usi...ijsrd.com
 
Security Issues & Challenging Attributes in Mobile Ad-Hoc Networks (MANET)
Security Issues & Challenging Attributes in Mobile Ad-Hoc Networks (MANET)Security Issues & Challenging Attributes in Mobile Ad-Hoc Networks (MANET)
Security Issues & Challenging Attributes in Mobile Ad-Hoc Networks (MANET)IRJET Journal
 
A Survey of Key Management Framework for Wireless Mobile Environment
A Survey of Key Management Framework for Wireless Mobile EnvironmentA Survey of Key Management Framework for Wireless Mobile Environment
A Survey of Key Management Framework for Wireless Mobile EnvironmentAM Publications,India
 
Review of authentication techniques for wireless networks &amp; manet
Review of authentication techniques for wireless networks &amp; manetReview of authentication techniques for wireless networks &amp; manet
Review of authentication techniques for wireless networks &amp; maneteSAT Journals
 
The apt identification and blocking through ids in manet
The apt identification and blocking through ids in manetThe apt identification and blocking through ids in manet
The apt identification and blocking through ids in manetijctet
 
Security in manet via different intrusion detection techniques
Security in manet via different intrusion detection techniquesSecurity in manet via different intrusion detection techniques
Security in manet via different intrusion detection techniquesIAEME Publication
 
An ids scheme against black hole attack to secure aomdv routing in manet
An ids scheme against black hole attack to secure aomdv routing in manet An ids scheme against black hole attack to secure aomdv routing in manet
An ids scheme against black hole attack to secure aomdv routing in manet pijans
 
A SYMMETRIC TOKEN ROUTING FOR SECURED COMMUNICATION OF MANET
A SYMMETRIC TOKEN ROUTING FOR SECURED COMMUNICATION OF MANET A SYMMETRIC TOKEN ROUTING FOR SECURED COMMUNICATION OF MANET
A SYMMETRIC TOKEN ROUTING FOR SECURED COMMUNICATION OF MANET cscpconf
 
SECURE ADHOC ROUTING PROTOCOL FOR PRIVACY RESERVATION
SECURE ADHOC ROUTING PROTOCOL FOR PRIVACY RESERVATIONSECURE ADHOC ROUTING PROTOCOL FOR PRIVACY RESERVATION
SECURE ADHOC ROUTING PROTOCOL FOR PRIVACY RESERVATIONEditor IJMTER
 
Sunilkumar2017
Sunilkumar2017Sunilkumar2017
Sunilkumar2017Sharonp15
 
A comparative study of black hole attack in manet 2
A comparative study of black hole attack in manet 2A comparative study of black hole attack in manet 2
A comparative study of black hole attack in manet 2IAEME Publication
 
V3 i301
V3 i301V3 i301
V3 i301IJCERT
 
VANET Security against Sybil Attack by Using New SRAN Routing Protocol
VANET Security against Sybil Attack by Using New SRAN Routing ProtocolVANET Security against Sybil Attack by Using New SRAN Routing Protocol
VANET Security against Sybil Attack by Using New SRAN Routing ProtocolEditor IJCATR
 

What's hot (17)

EFFICIENT DETECTION OF SYBIL ATTACK BASED ON CRYPTOGRAPHY IN VANET
EFFICIENT DETECTION OF SYBIL ATTACK BASED ON CRYPTOGRAPHY IN VANETEFFICIENT DETECTION OF SYBIL ATTACK BASED ON CRYPTOGRAPHY IN VANET
EFFICIENT DETECTION OF SYBIL ATTACK BASED ON CRYPTOGRAPHY IN VANET
 
An Enhanced Approach to Avoid Black hole Attack in Mobile Ad hoc Networks usi...
An Enhanced Approach to Avoid Black hole Attack in Mobile Ad hoc Networks usi...An Enhanced Approach to Avoid Black hole Attack in Mobile Ad hoc Networks usi...
An Enhanced Approach to Avoid Black hole Attack in Mobile Ad hoc Networks usi...
 
Security Issues & Challenging Attributes in Mobile Ad-Hoc Networks (MANET)
Security Issues & Challenging Attributes in Mobile Ad-Hoc Networks (MANET)Security Issues & Challenging Attributes in Mobile Ad-Hoc Networks (MANET)
Security Issues & Challenging Attributes in Mobile Ad-Hoc Networks (MANET)
 
A Survey of Key Management Framework for Wireless Mobile Environment
A Survey of Key Management Framework for Wireless Mobile EnvironmentA Survey of Key Management Framework for Wireless Mobile Environment
A Survey of Key Management Framework for Wireless Mobile Environment
 
IJMNDI.2015.069218
IJMNDI.2015.069218IJMNDI.2015.069218
IJMNDI.2015.069218
 
Review of authentication techniques for wireless networks &amp; manet
Review of authentication techniques for wireless networks &amp; manetReview of authentication techniques for wireless networks &amp; manet
Review of authentication techniques for wireless networks &amp; manet
 
The apt identification and blocking through ids in manet
The apt identification and blocking through ids in manetThe apt identification and blocking through ids in manet
The apt identification and blocking through ids in manet
 
Security in manet via different intrusion detection techniques
Security in manet via different intrusion detection techniquesSecurity in manet via different intrusion detection techniques
Security in manet via different intrusion detection techniques
 
An ids scheme against black hole attack to secure aomdv routing in manet
An ids scheme against black hole attack to secure aomdv routing in manet An ids scheme against black hole attack to secure aomdv routing in manet
An ids scheme against black hole attack to secure aomdv routing in manet
 
A SYMMETRIC TOKEN ROUTING FOR SECURED COMMUNICATION OF MANET
A SYMMETRIC TOKEN ROUTING FOR SECURED COMMUNICATION OF MANET A SYMMETRIC TOKEN ROUTING FOR SECURED COMMUNICATION OF MANET
A SYMMETRIC TOKEN ROUTING FOR SECURED COMMUNICATION OF MANET
 
Dt36717722
Dt36717722Dt36717722
Dt36717722
 
SECURE ADHOC ROUTING PROTOCOL FOR PRIVACY RESERVATION
SECURE ADHOC ROUTING PROTOCOL FOR PRIVACY RESERVATIONSECURE ADHOC ROUTING PROTOCOL FOR PRIVACY RESERVATION
SECURE ADHOC ROUTING PROTOCOL FOR PRIVACY RESERVATION
 
Sunilkumar2017
Sunilkumar2017Sunilkumar2017
Sunilkumar2017
 
A comparative study of black hole attack in manet 2
A comparative study of black hole attack in manet 2A comparative study of black hole attack in manet 2
A comparative study of black hole attack in manet 2
 
V3 i301
V3 i301V3 i301
V3 i301
 
VANET Security against Sybil Attack by Using New SRAN Routing Protocol
VANET Security against Sybil Attack by Using New SRAN Routing ProtocolVANET Security against Sybil Attack by Using New SRAN Routing Protocol
VANET Security against Sybil Attack by Using New SRAN Routing Protocol
 
1705 1708
1705 17081705 1708
1705 1708
 

Similar to Ktr an efficient key management scheme for secure data access control in wireless broadcast services

Secure cloud storage privacy preserving public auditing for data storage secu...
Secure cloud storage privacy preserving public auditing for data storage secu...Secure cloud storage privacy preserving public auditing for data storage secu...
Secure cloud storage privacy preserving public auditing for data storage secu...rajender147
 
Privacy Preserving Public Auditing and Data Integrity for Secure Cloud Storag...
Privacy Preserving Public Auditing and Data Integrity for Secure Cloud Storag...Privacy Preserving Public Auditing and Data Integrity for Secure Cloud Storag...
Privacy Preserving Public Auditing and Data Integrity for Secure Cloud Storag...INFOGAIN PUBLICATION
 
iaetsd Shared authority based privacy preserving protocol
iaetsd Shared authority based privacy preserving protocoliaetsd Shared authority based privacy preserving protocol
iaetsd Shared authority based privacy preserving protocolIaetsd Iaetsd
 
IRJET- An Efficient Data Sharing Scheme in Mobile Cloud Computing using Attri...
IRJET- An Efficient Data Sharing Scheme in Mobile Cloud Computing using Attri...IRJET- An Efficient Data Sharing Scheme in Mobile Cloud Computing using Attri...
IRJET- An Efficient Data Sharing Scheme in Mobile Cloud Computing using Attri...IRJET Journal
 
CLOUD BASED ACCESS CONTROL MODEL FOR SELECTIVE ENCRYPTION OF DOCUMENTS WITH T...
CLOUD BASED ACCESS CONTROL MODEL FOR SELECTIVE ENCRYPTION OF DOCUMENTS WITH T...CLOUD BASED ACCESS CONTROL MODEL FOR SELECTIVE ENCRYPTION OF DOCUMENTS WITH T...
CLOUD BASED ACCESS CONTROL MODEL FOR SELECTIVE ENCRYPTION OF DOCUMENTS WITH T...IJNSA Journal
 
Enhanced security framework to ensure data security in cloud using security b...
Enhanced security framework to ensure data security in cloud using security b...Enhanced security framework to ensure data security in cloud using security b...
Enhanced security framework to ensure data security in cloud using security b...eSAT Journals
 
Enhanced security framework to ensure data security
Enhanced security framework to ensure data securityEnhanced security framework to ensure data security
Enhanced security framework to ensure data securityeSAT Publishing House
 
710201940
710201940710201940
710201940IJRAT
 
A cloud storage system for sharing data securely with privacy preservation an...
A cloud storage system for sharing data securely with privacy preservation an...A cloud storage system for sharing data securely with privacy preservation an...
A cloud storage system for sharing data securely with privacy preservation an...eSAT Journals
 
IRJET- Compress and Secure Data Sharing for Mobile Cloud Computing
IRJET- Compress and Secure Data Sharing for Mobile Cloud ComputingIRJET- Compress and Secure Data Sharing for Mobile Cloud Computing
IRJET- Compress and Secure Data Sharing for Mobile Cloud ComputingIRJET Journal
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER) International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER) ijceronline
 
Privacy and quality preserving multimedia data
Privacy and quality preserving multimedia dataPrivacy and quality preserving multimedia data
Privacy and quality preserving multimedia datajpstudcorner
 
IRJET- Secure Scheme For Cloud-Based Multimedia Content Storage
IRJET-  	  Secure Scheme For Cloud-Based Multimedia Content StorageIRJET-  	  Secure Scheme For Cloud-Based Multimedia Content Storage
IRJET- Secure Scheme For Cloud-Based Multimedia Content StorageIRJET Journal
 
SURVEY ON DYNAMIC DATA SHARING IN PUBLIC CLOUD USING MULTI-AUTHORITY SYSTEM
SURVEY ON DYNAMIC DATA SHARING IN PUBLIC CLOUD USING MULTI-AUTHORITY SYSTEMSURVEY ON DYNAMIC DATA SHARING IN PUBLIC CLOUD USING MULTI-AUTHORITY SYSTEM
SURVEY ON DYNAMIC DATA SHARING IN PUBLIC CLOUD USING MULTI-AUTHORITY SYSTEMijiert bestjournal
 
Zálohování a DR do cloudu - přehled technologií
Zálohování a DR do cloudu - přehled technologiíZálohování a DR do cloudu - přehled technologií
Zálohování a DR do cloudu - přehled technologiíMarketingArrowECS_CZ
 
CLOUD BASED ACCESS CONTROL MODEL FOR SELECTIVE ENCRYPTION OF DOCUMENTS WITH T...
CLOUD BASED ACCESS CONTROL MODEL FOR SELECTIVE ENCRYPTION OF DOCUMENTS WITH T...CLOUD BASED ACCESS CONTROL MODEL FOR SELECTIVE ENCRYPTION OF DOCUMENTS WITH T...
CLOUD BASED ACCESS CONTROL MODEL FOR SELECTIVE ENCRYPTION OF DOCUMENTS WITH T...IJNSA Journal
 
Adaptive Delegation Authority Enhancement to Hasbe for Efficient Access Contr...
Adaptive Delegation Authority Enhancement to Hasbe for Efficient Access Contr...Adaptive Delegation Authority Enhancement to Hasbe for Efficient Access Contr...
Adaptive Delegation Authority Enhancement to Hasbe for Efficient Access Contr...ijsrd.com
 
IRJET- Security Enhancement for Sharing Data within Group Members in Cloud
IRJET- Security Enhancement for Sharing Data within Group Members in CloudIRJET- Security Enhancement for Sharing Data within Group Members in Cloud
IRJET- Security Enhancement for Sharing Data within Group Members in CloudIRJET Journal
 
Trust Assessment Policy Manager in Cloud Computing – Cloud Service Provider’s...
Trust Assessment Policy Manager in Cloud Computing – Cloud Service Provider’s...Trust Assessment Policy Manager in Cloud Computing – Cloud Service Provider’s...
Trust Assessment Policy Manager in Cloud Computing – Cloud Service Provider’s...idescitation
 

Similar to Ktr an efficient key management scheme for secure data access control in wireless broadcast services (20)

Secure cloud storage privacy preserving public auditing for data storage secu...
Secure cloud storage privacy preserving public auditing for data storage secu...Secure cloud storage privacy preserving public auditing for data storage secu...
Secure cloud storage privacy preserving public auditing for data storage secu...
 
Privacy Preserving Public Auditing and Data Integrity for Secure Cloud Storag...
Privacy Preserving Public Auditing and Data Integrity for Secure Cloud Storag...Privacy Preserving Public Auditing and Data Integrity for Secure Cloud Storag...
Privacy Preserving Public Auditing and Data Integrity for Secure Cloud Storag...
 
iaetsd Shared authority based privacy preserving protocol
iaetsd Shared authority based privacy preserving protocoliaetsd Shared authority based privacy preserving protocol
iaetsd Shared authority based privacy preserving protocol
 
IRJET- An Efficient Data Sharing Scheme in Mobile Cloud Computing using Attri...
IRJET- An Efficient Data Sharing Scheme in Mobile Cloud Computing using Attri...IRJET- An Efficient Data Sharing Scheme in Mobile Cloud Computing using Attri...
IRJET- An Efficient Data Sharing Scheme in Mobile Cloud Computing using Attri...
 
Ngn
NgnNgn
Ngn
 
CLOUD BASED ACCESS CONTROL MODEL FOR SELECTIVE ENCRYPTION OF DOCUMENTS WITH T...
CLOUD BASED ACCESS CONTROL MODEL FOR SELECTIVE ENCRYPTION OF DOCUMENTS WITH T...CLOUD BASED ACCESS CONTROL MODEL FOR SELECTIVE ENCRYPTION OF DOCUMENTS WITH T...
CLOUD BASED ACCESS CONTROL MODEL FOR SELECTIVE ENCRYPTION OF DOCUMENTS WITH T...
 
Enhanced security framework to ensure data security in cloud using security b...
Enhanced security framework to ensure data security in cloud using security b...Enhanced security framework to ensure data security in cloud using security b...
Enhanced security framework to ensure data security in cloud using security b...
 
Enhanced security framework to ensure data security
Enhanced security framework to ensure data securityEnhanced security framework to ensure data security
Enhanced security framework to ensure data security
 
710201940
710201940710201940
710201940
 
A cloud storage system for sharing data securely with privacy preservation an...
A cloud storage system for sharing data securely with privacy preservation an...A cloud storage system for sharing data securely with privacy preservation an...
A cloud storage system for sharing data securely with privacy preservation an...
 
IRJET- Compress and Secure Data Sharing for Mobile Cloud Computing
IRJET- Compress and Secure Data Sharing for Mobile Cloud ComputingIRJET- Compress and Secure Data Sharing for Mobile Cloud Computing
IRJET- Compress and Secure Data Sharing for Mobile Cloud Computing
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER) International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
Privacy and quality preserving multimedia data
Privacy and quality preserving multimedia dataPrivacy and quality preserving multimedia data
Privacy and quality preserving multimedia data
 
IRJET- Secure Scheme For Cloud-Based Multimedia Content Storage
IRJET-  	  Secure Scheme For Cloud-Based Multimedia Content StorageIRJET-  	  Secure Scheme For Cloud-Based Multimedia Content Storage
IRJET- Secure Scheme For Cloud-Based Multimedia Content Storage
 
SURVEY ON DYNAMIC DATA SHARING IN PUBLIC CLOUD USING MULTI-AUTHORITY SYSTEM
SURVEY ON DYNAMIC DATA SHARING IN PUBLIC CLOUD USING MULTI-AUTHORITY SYSTEMSURVEY ON DYNAMIC DATA SHARING IN PUBLIC CLOUD USING MULTI-AUTHORITY SYSTEM
SURVEY ON DYNAMIC DATA SHARING IN PUBLIC CLOUD USING MULTI-AUTHORITY SYSTEM
 
Zálohování a DR do cloudu - přehled technologií
Zálohování a DR do cloudu - přehled technologiíZálohování a DR do cloudu - přehled technologií
Zálohování a DR do cloudu - přehled technologií
 
CLOUD BASED ACCESS CONTROL MODEL FOR SELECTIVE ENCRYPTION OF DOCUMENTS WITH T...
CLOUD BASED ACCESS CONTROL MODEL FOR SELECTIVE ENCRYPTION OF DOCUMENTS WITH T...CLOUD BASED ACCESS CONTROL MODEL FOR SELECTIVE ENCRYPTION OF DOCUMENTS WITH T...
CLOUD BASED ACCESS CONTROL MODEL FOR SELECTIVE ENCRYPTION OF DOCUMENTS WITH T...
 
Adaptive Delegation Authority Enhancement to Hasbe for Efficient Access Contr...
Adaptive Delegation Authority Enhancement to Hasbe for Efficient Access Contr...Adaptive Delegation Authority Enhancement to Hasbe for Efficient Access Contr...
Adaptive Delegation Authority Enhancement to Hasbe for Efficient Access Contr...
 
IRJET- Security Enhancement for Sharing Data within Group Members in Cloud
IRJET- Security Enhancement for Sharing Data within Group Members in CloudIRJET- Security Enhancement for Sharing Data within Group Members in Cloud
IRJET- Security Enhancement for Sharing Data within Group Members in Cloud
 
Trust Assessment Policy Manager in Cloud Computing – Cloud Service Provider’s...
Trust Assessment Policy Manager in Cloud Computing – Cloud Service Provider’s...Trust Assessment Policy Manager in Cloud Computing – Cloud Service Provider’s...
Trust Assessment Policy Manager in Cloud Computing – Cloud Service Provider’s...
 

More from ambitlick

DCIM: Distributed Cache Invalidation Method for Maintaining Cache Consistency...
DCIM: Distributed Cache Invalidation Method for Maintaining Cache Consistency...DCIM: Distributed Cache Invalidation Method for Maintaining Cache Consistency...
DCIM: Distributed Cache Invalidation Method for Maintaining Cache Consistency...ambitlick
 
Low cost Java 2013 IEEE projects
Low cost Java 2013 IEEE projectsLow cost Java 2013 IEEE projects
Low cost Java 2013 IEEE projectsambitlick
 
Ambitlick ns2 2013
Ambitlick ns2 2013Ambitlick ns2 2013
Ambitlick ns2 2013ambitlick
 
Low cost Java IEEE Projects 2013
Low cost Java IEEE Projects 2013Low cost Java IEEE Projects 2013
Low cost Java IEEE Projects 2013ambitlick
 
Handling selfishness in replica allocation
Handling selfishness in replica allocationHandling selfishness in replica allocation
Handling selfishness in replica allocationambitlick
 
Mutual distance bounding protocols
Mutual distance bounding protocolsMutual distance bounding protocols
Mutual distance bounding protocolsambitlick
 
Moderated group authoring system for campus wide workgroups
Moderated group authoring system for campus wide workgroupsModerated group authoring system for campus wide workgroups
Moderated group authoring system for campus wide workgroupsambitlick
 
Efficient spread spectrum communication without pre shared secrets
Efficient spread spectrum communication without pre shared secretsEfficient spread spectrum communication without pre shared secrets
Efficient spread spectrum communication without pre shared secretsambitlick
 
IEEE -2012-13 Projects IN NS2
IEEE -2012-13 Projects IN NS2  IEEE -2012-13 Projects IN NS2
IEEE -2012-13 Projects IN NS2 ambitlick
 
Adaptive weight factor estimation from user review 1
Adaptive weight factor estimation from user   review 1Adaptive weight factor estimation from user   review 1
Adaptive weight factor estimation from user review 1ambitlick
 
Integrated institutional portal
Integrated institutional portalIntegrated institutional portal
Integrated institutional portalambitlick
 
Mutual distance bounding protocols
Mutual distance bounding protocolsMutual distance bounding protocols
Mutual distance bounding protocolsambitlick
 
Moderated group authoring system for campus wide workgroups
Moderated group authoring system for campus wide workgroupsModerated group authoring system for campus wide workgroups
Moderated group authoring system for campus wide workgroupsambitlick
 
Efficient spread spectrum communication without pre shared secrets
Efficient spread spectrum communication without pre shared secretsEfficient spread spectrum communication without pre shared secrets
Efficient spread spectrum communication without pre shared secretsambitlick
 
Comments on “mabs multicast authentication based on batch signature”
Comments on “mabs multicast authentication based on batch signature”Comments on “mabs multicast authentication based on batch signature”
Comments on “mabs multicast authentication based on batch signature”ambitlick
 
Energy-Efficient Protocol for Deterministic and Probabilistic Coverage In Sen...
Energy-Efficient Protocol for Deterministic and Probabilistic Coverage In Sen...Energy-Efficient Protocol for Deterministic and Probabilistic Coverage In Sen...
Energy-Efficient Protocol for Deterministic and Probabilistic Coverage In Sen...ambitlick
 
Energy efficient protocol for deterministic
Energy efficient protocol for deterministicEnergy efficient protocol for deterministic
Energy efficient protocol for deterministicambitlick
 
Estimating Parameters of Multiple Heterogeneous Target Objects Using Composit...
Estimating Parameters of Multiple Heterogeneous Target Objects Using Composit...Estimating Parameters of Multiple Heterogeneous Target Objects Using Composit...
Estimating Parameters of Multiple Heterogeneous Target Objects Using Composit...ambitlick
 

More from ambitlick (20)

DCIM: Distributed Cache Invalidation Method for Maintaining Cache Consistency...
DCIM: Distributed Cache Invalidation Method for Maintaining Cache Consistency...DCIM: Distributed Cache Invalidation Method for Maintaining Cache Consistency...
DCIM: Distributed Cache Invalidation Method for Maintaining Cache Consistency...
 
Low cost Java 2013 IEEE projects
Low cost Java 2013 IEEE projectsLow cost Java 2013 IEEE projects
Low cost Java 2013 IEEE projects
 
Ambitlick ns2 2013
Ambitlick ns2 2013Ambitlick ns2 2013
Ambitlick ns2 2013
 
Low cost Java IEEE Projects 2013
Low cost Java IEEE Projects 2013Low cost Java IEEE Projects 2013
Low cost Java IEEE Projects 2013
 
Handling selfishness in replica allocation
Handling selfishness in replica allocationHandling selfishness in replica allocation
Handling selfishness in replica allocation
 
Mutual distance bounding protocols
Mutual distance bounding protocolsMutual distance bounding protocols
Mutual distance bounding protocols
 
Moderated group authoring system for campus wide workgroups
Moderated group authoring system for campus wide workgroupsModerated group authoring system for campus wide workgroups
Moderated group authoring system for campus wide workgroups
 
Efficient spread spectrum communication without pre shared secrets
Efficient spread spectrum communication without pre shared secretsEfficient spread spectrum communication without pre shared secrets
Efficient spread spectrum communication without pre shared secrets
 
IEEE -2012-13 Projects IN NS2
IEEE -2012-13 Projects IN NS2  IEEE -2012-13 Projects IN NS2
IEEE -2012-13 Projects IN NS2
 
Adaptive weight factor estimation from user review 1
Adaptive weight factor estimation from user   review 1Adaptive weight factor estimation from user   review 1
Adaptive weight factor estimation from user review 1
 
Integrated institutional portal
Integrated institutional portalIntegrated institutional portal
Integrated institutional portal
 
Embassy
EmbassyEmbassy
Embassy
 
Crm
Crm Crm
Crm
 
Mutual distance bounding protocols
Mutual distance bounding protocolsMutual distance bounding protocols
Mutual distance bounding protocols
 
Moderated group authoring system for campus wide workgroups
Moderated group authoring system for campus wide workgroupsModerated group authoring system for campus wide workgroups
Moderated group authoring system for campus wide workgroups
 
Efficient spread spectrum communication without pre shared secrets
Efficient spread spectrum communication without pre shared secretsEfficient spread spectrum communication without pre shared secrets
Efficient spread spectrum communication without pre shared secrets
 
Comments on “mabs multicast authentication based on batch signature”
Comments on “mabs multicast authentication based on batch signature”Comments on “mabs multicast authentication based on batch signature”
Comments on “mabs multicast authentication based on batch signature”
 
Energy-Efficient Protocol for Deterministic and Probabilistic Coverage In Sen...
Energy-Efficient Protocol for Deterministic and Probabilistic Coverage In Sen...Energy-Efficient Protocol for Deterministic and Probabilistic Coverage In Sen...
Energy-Efficient Protocol for Deterministic and Probabilistic Coverage In Sen...
 
Energy efficient protocol for deterministic
Energy efficient protocol for deterministicEnergy efficient protocol for deterministic
Energy efficient protocol for deterministic
 
Estimating Parameters of Multiple Heterogeneous Target Objects Using Composit...
Estimating Parameters of Multiple Heterogeneous Target Objects Using Composit...Estimating Parameters of Multiple Heterogeneous Target Objects Using Composit...
Estimating Parameters of Multiple Heterogeneous Target Objects Using Composit...
 

Recently uploaded

2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxnegromaestrong
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin ClassesCeline George
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxVishalSingh1417
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxAmita Gupta
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Jisc
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
Magic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxMagic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxdhanalakshmis0310
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 

Recently uploaded (20)

2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptx
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Magic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxMagic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptx
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 

Ktr an efficient key management scheme for secure data access control in wireless broadcast services

  • 1. 1 KTR: an Efficient Key Management Scheme for Secure Data Access Control in Wireless Broadcast Services Qijun Gu, Peng Liu, Wang-Chien Lee, and Chao-Hsien Chu Abstract—Wireless broadcast is an effective approach to dis- seminate data to a number of users. To provide secure access to data in wireless broadcast services, symmetric key-based encryption is used to ensure that only users who own the valid keys can decrypt the data. Regarding various subscriptions, an efficient key management to distribute and change keys is in great demand for access control in broadcast services. In this paper, we propose an efficient key management scheme (namely KTR) to handle key distribution with regarding to complex subscription Fig. 1. A wireless data broadcast system options and user activities. KTR has the following advantages. First, it supports all subscription activities in wireless broadcast services. Second, in KTR, a user only needs to hold one set of keys for all subscribed programs, instead of separate sets of keys dissemination. Data is broadcast periodically so that users can for each program. Third, KTR identifies the minimum set of keys recover lost or missed data items. The uplink channels, which that must be changed to ensure broadcast security and minimize have limited bandwidth, are reserved for occasional uses to the rekey cost. Our simulations show that KTR can save about 45% of communication overhead in the broadcast channel and dynamically change subscriptions. about 50% of decryption cost for each user, compared with logical In broadcast services, the basic data unit is data item, such key hierarchy based approaches. as a piece of news or a stock price. Data items are grouped Index Terms—Wireless broadcast, key management, access into programs and a user specifies which programs he would control, key hierarchy, secure group communication, key dis- like to access. Typical programs could be weather, news, stock tribution quotes, etc. For simplicity, we assume that each program covers a set of data items, and programs are exclusively complete. A user may subscribe to one or more programs. The I. I NTRODUCTION set of subscribed programs is called the user’s subscription. With the ever growing popularity of smart mobile devices Users can subscribe via Internet or uplink channels to specify along with the rapid advent of wireless technology, there has the programs that they are interested in receiving. been an increasing interest in wireless data services among Previous studies on wireless data broadcast services have both industrial and academic communities in recent years. mainly focused on performance issues such as reducing data Among various approaches, broadcast allows a very efficient access latency and conserving battery power of mobile devices. usage of the scarce wireless bandwidth, because it allows Unfortunately, the critical security requirements of this type of simultaneous access by an arbitrary number of mobile clients broadcast service have not yet been addressed, i.e. broadcast [1]. Wireless data broadcast services have been available service providers need to ensure backward and forward secrecy as commercial products for many years. In particular, the [2], [3] with respect to membership dynamics. In the wireless announcement of the MSN Direct Service (direct.msn.com) broadcast environment, any user can monitor the broadcast has further highlighted the industrial interest in and feasibility channel and record the broadcast data. If the data is not of utilizing broadcast for wireless data services. encrypted, the content is open to the public and anyone can A wireless data broadcast system consists of three compo- access the data. In addition, a user may only subscribe to a nents as depicted in Figure 1: (1) the broadcast server; (2) the few programs. If data in other programs are not encrypted, mobile devices; and (3) the communication mechanism. The the user can obtain data beyond his subscription privilege. server broadcasts data on air. A user’s mobile device receives Hence, access control should be enforced via encrypting data the broadcast information, and filters the subscribed data in a proper way so that only subscribing users can access the according to user’s queries and privileges. The specialty of the broadcast data, and subscribing users can only access the data broadcast system is that (a) the server determines the schedule to which they subscribe. to broadcast all data on air, and (b) users’ mobile devices Symmetric-key-based encryption is a natural choice for listen to the broadcast channel but only retrieve data (filter data ensuring secure data dissemination and access. The broadcast out) based on users’ queries. The communication mechanism data can be encrypted so that only those users who own includes wireless broadcast channels and (optional) uplink valid keys can decrypt them. Thus, the decryption keys can channels. Broadcast channel is the main mechanism for data be used as an effective means for access control in wireless
  • 2. 2 data broadcast services. For example, each program has one security can be ensured. In this way, rekey cost can be reduced unique key to encrypt the data items. The key is issued to and fewer users will be affected. Therefore, we propose a the user who is authorized to receive and decrypt the data new key management scheme, namely key tree reuse (KTR), items. If a user subscribes to multiple programs, it needs an based on two important observations: (1) users who subscribe encryption key for each program. Since a user only has keys to multiple programs can be captured by a shared key tree, for his subscription, he cannot decrypt broadcast data and and (2) old keys can be reused to save rekey cost without rekey messages designated to other users. At the same time, compromising security. KTR has two components: shared a data item can be decrypted by an arbitrary number of users key tree and shared key management, and its contribution who subscribe to it. This allows many users to receive the includes the following aspects. data at the same time and addresses the scalability problem, Contributions. First, the proposed scheme takes advantage or request lost or missed keys. of a fact in broadcast services: many users subscribe to Nevertheless, when a user subscribes/unsubscribes to a multiple programs simultaneously. In other words, programs program, the encryption key needs to be changed to ensure overlap with each other in terms of users. Because existing that the user can only access the data in his subscription approaches manage keys by separating programs, they turn to period. Consequently, a critical issue remains, i.e. how can be demanding for the users who subscribe to many programs. we efficiently manage keys when a user joins/leaves/changes Hence, this study contributes to the literature a new scheme the service without compromising security and interrupting (namely KTR) to better support subscriptions of multiple the operations of other users? Regarding unique features of programs by exploiting the overlapping among programs. KTR broadcast services, we are interested in new key management let multiple programs share the same set of keys for the users schemes that can simultaneously provide security, efficiency who subscribe to these programs. KTR thus inherently enables and flexibility. A broadcast service generally provides many users to handle fewer keys and reduces the demands of storage programs; at the same time, users may like to subscribe to and processing power on resource-limited mobile devices. an arbitrary set of programs. We envision that a user should Second, since multiple programs are allowed to share the be able to flexibly subscribe/unsubscribe to any program same set of keys, a critical issue is how to manage shared keys of interests and make changes to his subscription at any efficiently and securely. We find that when keys need to be time. Hence, in addition to security and efficiency, flexibility distributed to a user, it is unnecessary to change all of them. In that a user can customize his subscription at anytime is an many circumstances, when a user subscribes to new programs indispensable feature of key management in broadcast services or unsubscribes to some programs, a large portion of keys to support user subscriptions. that the user will hold in his new subscription can be reused Two categories of key management schemes in the literature without compromising security. KTR is a novel approach for may be applied in broadcast services: (1) logic key hierarchy determining which keys need to be changed and for finding the (LKH) based techniques [2]–[9] proposed for multicast ser- minimum number of keys that must be changed. Hence, KTR vices ; and (2) broadcast encryption techniques [10]–[16] in efficiently handles the rekey of the shared keys and minimizes current broadcast services (such as satellite TV). We notice the rekey costs associated with possible subscriptions. Our that current broadcast encryption techniques, including BISS simulations show that critical keys can be employed in logical [17], Digicipher [18], Irdeto [19], Nagravision [20], Viaccess key hierarchy schemes [2], [5] to improve their performance. [21], and VideoGuard [22], cannot in fact support flexibility. The rest of the paper is organized as follows. In Section They normally require users to possess decryption boxes to II, we present related works on group key management. In receive the subscribed programs, and the broadcast services Section III, the first component of KTR is described that fully can only provide to users a few packages, each of which utilizes the service structure to reduce the number of keys. includes a fixed set of programs (TV channels). Users cannot In Section IV, the second component of KTR is presented to select individual programs within a package. If a user wants reduce rekey cost when updating and distributing shared keys. to change his subscription, the user needs to request another In Section V, we present the results of simulations to illustrate decryption box that can decrypt the subscribed programs. the performance improvements in KTR. Finally, we conclude Hence, in this paper, we will focus on adapting more flexible in Section VI. LKH-based techniques. Nevertheless, directly applying LKH in broadcast services II. R ELATED W ORKS ON K EY M ANAGEMENT is not the most efficient approach. In broadcast services, a program is equivalent to a multicast group, and users who A. Logical Key Hierarchy subscribe to one program form a group. Intuitively, we could Secure key management for wireless broadcast is closely manage a separate set of keys for each program, and ask a user related to secure group key management in networking [4]. to hold m sets of keys for his subscribed m programs. This Logical key hierarchy (LKH) is proposed in [2], [5] that uses straightforward approach is inefficient for users subscribing a key tree (depicted in Figure 2) for each group of users who to many programs. If users could use the same set of keys subscribe the same program. The root (top node) of the tree for multiple programs, there would be fewer requirements is the data encryption key (DEK) of the program. Each leaf for users to handle keys. Furthermore, when a user changes (bottom node) in the tree represents an individual key (IDK) subscription, we argue that it is unnecessary to change keys for of a user that is only shared between the system and the user. the programs to which the user is still subscribing, as long as Other keys in the tree, namely key distribution keys (KDKs),
  • 3. 3 Program g1 DEK k1 keys need be changed in stead of how keys are generated. [6] proposes a combination of key tree and Diffie-Hellman k2 k3 key exchange to provide a simple and fault-tolerant key KDKs agreement for collaborative groups. [23] reduces the number k4 k5 k6 k7 of rekey messages, while [9], [25] improve the reliability of rekey management. Balanced and unbalanced key trees are ku1 ku2 ku3 ku4 ku5 ku6 ku7 ku8 discussed in [5] and [26]. Periodic group re-keying is studied Users u1 u2 u3 u4 u5 u6 u7 u8 in [7], [8] to reduce the rekey cost for groups with frequent joins and leaves. Issues on how to maintain a key tree and how Fig. 2. Logical key hierarchy to efficiently place encrypted keys in multicast rekey packets are studied in [8], [26]. Moreover, the performance of LKH is thoroughly studied [3], [8]. are used to encrypt new DEKs and KDKs. A user only knows the keys along the path from the leaf of the user to the root of the key tree. B. Broadcast Encryption When a user joins or leaves the group, the server needs to There are some other key management schemes in the change and broadcast the corresponding new keys, and this literature for multicast and broadcast services. [10] used operation is called rekey, and the broadcast message of new arbitrarily revealed key sequences to do scalable multicast keys is called rekey message. In our system, data and rekey key management without any overhead on joins/leaves. [11] messages are broadcast in the same broadcast channel to the proposed two schemes that insert an index head into packets users. Assume user u1 leaves the group (in Figure 2). The for decryption. However, both of them require pre-planned server needs to change k4 , k2 and k1 so that u1 will no longer subscription, which contradicts the fact that in pervasive com- decrypt any data for this group, which is encrypted by k1. The puting and air data access a user may change subscriptions at rekey message is any moment. In addition, [11] only supports a limited combi- ′ ′ ′ ′ ′ {k4 }ku2 , {k2 }k4 , {k2 }k5 , {k1 }k2 , {k1 }k3 ′ ′ nation of programs. [13] proposed a scheme to yield maximal resilience against arbitrary coalitions of non-privileged users. ′ ′ ′ where ki is the new key of ki and {ki }kj means ki is encrypted However, the size (entropy) of its broadcast key message is by kj . When u2 receives this message, u2 first decrypts large, at least O(n) [12]. Zero-message scheme [14], [15] does ′ ′ {k4 }ku2 based on his individual key ku2 to obtain k4 , then not require the broadcast server to disseminate any message in ′ ′ ′ ′ uses k4 to decrypt {k2 }k4 and so on to obtain k2 and k1 . ′ order to generate a common key. But it is only resilient against Similarly, other users can obtain the new keys in their own coalitions of k non-privileged users, and requires every user paths. It is obvious u1 cannot obtain any new keys from this to store O(klog2 (k)log2 (n)) keys. Naor et al. [16] proposed message, and thus the broadcast data in the future will not be a stateless scheme to facilitate group members to obtain up- decrypted by u1 . to-date session keys even if they miss some previous key Now assume u1 joins the group, and the server needs to distribution messages. Although this scheme is more efficient change k4 , k2 and k1 so that u1 cannot use the old keys to than LKH in rekey operations, it mainly handles revocation decrypt old broadcast data. Note that u1 may have already when a user stops subscription. It does not efficiently support eavesdropped on some broadcast data before he joined the joins, which are crucial in our system. Finally, [24], [27] pro- group. If the server gives u1 the old keys, u1 can decrypt the posed self-healing approaches for group members to recover eavesdropped broadcast data. The rekey message is the session keys by combining information from previous key ′ ′ ′ ′ ′ ′ {k4 }ku1 , {k2 }ku1 , {k1 }ku1 , {k4 }k4 , {k2 }k2 , {k1 }k1 distribution information. Compared with LKH-based approaches, key management The first three components are for u1 to use his individual key schemes in broadcast encryption are less flexible regarding to decrypt the new keys, and the last three are for all existing possible subscriptions. Conforming to the current practice users to use their old keys to decrypt the new keys. In this described in RFC2627 [2], we select binary trees to present way, u1 will not obtain any old key. our scheme. Note that our scheme does not require binary trees LKH is an efficient and secure key management for multi- and can be applied in trees of other degrees. cast services in that each user only needs to hold O(log2 (n)) keys for the user’s group, and the size of a rekey message III. S HARED K EY S TRUCTURE is also O(log2 (n)), where n is the number of group users. It is also a flexible key management approach that allows a Directly applying LKH is not efficient in broadcast services. user to join and leave the multicast group at any time. Many We use a shared key structure to address the key management. variations of LKH have been proposed. Because LKH simply In the following, we describe how a shared key structure is uses independent keys, researchers developed several other applied and then raise the security and efficiency problems of approaches [23], [24] that generate new keys by exploiting this scheme. We then present a novel shared key management the relation between child and parent keys or the relation in Section IV that ensures security and minimizes rekey between old and new keys. Our scheme is complementary to cost, and also address major issues when applying KTR in these schemes, since our scheme mainly examines whether a broadcast server.
  • 4. 4 Programs g1 g2 g1 g2 programs g1 g2 g3 DEK kg1 kg2 kg1 kg2 kg1 kg2 kg3 DEKs root graph kr1 kr4 kr2 kr6 kr5 kr3 KDK KDKs knL knJ ku1 ku1 ku2 ku1 ku2 trees u1 u1 u2 kc Users u1 u2 kus (a) No Share (b) Share tr1 tr4 tr2 tr6 tr5 tr3 users us us leave shift join Fig. 3. Shared key tree Fig. 4. Key forest A. Key Forest programs g1 g2 g3 g1 g2 g3 To address scalability and flexibility in key management, kr1 kr2 kr3 kr1 kr2 kr3 DEKs LKH is used as the basis of our scheme. An intuitive solution root graph is to use a key tree for each program as shown in Figure 3(a). However, when user u1 subscribes to two programs k1 k2 k3 k4 k5 k1 k2 k3 k4 k5 KDKs simultaneously, he needs to manage two sets of keys in both trees trees which is not very efficient (see Figure 3(a)). Hence, shared key tree (SKT) is proposed to reduce this cost in Fig. 5. Multi-layer root graph key management. As shown in Figure 3(b), we let the two programs share the same sub key tree as represented by the gray triangle. We regroup users so that users subscribing to Property 3.3: Each user belongs only to one tree in the key both programs only need to manage keys in the gray triangle. forest, and his individual key is the leaf node of the tree. The advantage of shared key tree is clear: any user subscribing to both g1 and g2 only needs to manage one set of keys for both programs. Moreover, when a user joins or leaves a tree shared B. Root Graph by multiple programs, the encryption and communication cost The root graph in Figure 4 depicts how programs share for rekey operations can be significantly less than conventional keys. Since m programs could generate 2m − 1 different LKH approaches. subscriptions, such a two-layer structure in fact brings two In this study, shared keys are modeled as a key forest (see major problems in terms of rekey overheads when the number Figure 4), in which all keys form a directed and acyclic graph. of programs is large. The top keys in the forest are the DEKs of the programs. First, a program may be included in many subscriptions, All other keys (KDKs) form trees. Users are placed in trees which means the DEK of the program is connected with many according to their subscriptions. A tree represents not only trees. Assume the DEK is connected with n trees. When a user a unique subscription, but also a group of users having this stops subscribing the program, the DEK needs to be updated subscription. Since a subscription is a set of programs, the and distributed to users in n trees. Because the new DEK is root of the subscription’s tree is connected to the DEKs of encrypted with the roots of the n trees in rekey, O(n) rekey the programs belonging to the subscription. As keys in a tree items are generated. Obviously, if n is large, a leave event are shared by the programs, a user only needs to handle the results in a huge rekey message. For example, in Figure 5(a), keys in the tree and the DEKs of the connected programs. For 3 programs are included in 5 different subscriptions. Program example, in Figure 4, since tr4 represents a subscription of g1 g1 ’s DEK kg1 is connected with 4 roots kr1 , kr2 kr3 and kr5 . and g2 , its root kr4 is connected to both kg1 and kg2 . The keys Hence, when kg1 is updated due to a leave event, 4 rekey items in tr4 is shared by both g1 and g2 . A user us in tr4 subscribes are needed. g1 and g2 and needs to handle keys in the path from his leaf To solve this problem, we use a multi-layer structure to node to the DEKs of the subscribed programs: kus , knL , kr4 , connect the DEK with the roots of the shared trees. As in kg1 and kg2 . Finally, kg1 , kg2 and kg3 are DEKs to encrypt Figure 5(b), kg1 is connected (bold lines) with kr1 , kr2 kr3 broadcast data, and all other keys are KDKs. and kr5 via two intermediate key nodes (gray circles). Such In order to ensure that a user will not pay for subscribed a multi-layer structure inherently exploits the advantages of programs multiple times, the key forest obviously should have LKH. For a leave event, the number of rekey items in the the following properties, which are guaranteed in any directed root graph is reduced to O(log2 (n)). Note that, for different and acyclic graph. programs, the number of intermediate nodes and the number Property 3.1: Only one path exists by following the upward of layers may be different, which is obviously determined by links from the root of a tree trs to the DEKs of the programs the number of trees to which the program is connected. In that share trs ; Figure 5, program 2 is connected with 3 trees, and thus 1 Property 3.2: Only one path exists by following the upward node is needed. No node is needed for program 3, because it links from any leaf node in a tree to the root; is only connected with 2 trees.
  • 5. 5 TABLE I Second, a subscription is not a conventional plan that a R EKEY OPERATIONS broadcast service provides, because the subscribed programs of a plan normally cannot be changed by a user. In this paper, Tree Program oriented events users are able to customize the selection of programs in their Join Assume a user has not subscribed to any program. subscriptions. Thereby, a broadcast service could easily have a tree • He subscribes to one or multiple programs. a large number of different subscriptions. For example, even Leave Assume a user has subscribed to several programs. if a service provides only 30 programs that is a small number a tree • He unsubscribes to all current programs. in many broadcast services, there could be 230 = 1 billion Shift Assume a user has subscribed to several programs. different subscriptions, which is much larger than the number among • He subscribes to one or a few more programs. of users. Hence, managing keys for all possible subscriptions trees • He unsubscribes to a part of the current programs. would overload the server. Now, assume the service has n • He changes a part of the current programs. users and 2m ≫ n. Although 2m − 1 different subscriptions exist, at most n subscriptions are valid, since the number of valid subscriptions cannot be more than the number of users. ′ ′ approach to encrypt a new key ki in a rekey item {ki }kj . If Hence, this problem can be easily solved by letting the server ′ ′ ′ ki is in an enroll path, kj is the old ki , i.e. {ki }kj ≡ {ki }ki . only manage the valid subscriptions that have at least one user. ′ ′ If ki is in a leave path, kj is a child key of ki . Readers can Assuming n users are distributed to e trees (e ≤ n), and refer to [2], [5] for examples of rekey packets. each tree is shared by d programs on average (d ≥ 1), then Although LKH changes all keys in leave and enroll paths, each tree would have n users, and each program would have e KTR takes different rekey operations for leave path and enroll ed m trees. As discussed in Section V-A, KTR requires that paths: keys in a leave path are changed as in LKH, while only the broadcast server manage O((2 n − 1)e + ( ed − 1)m) = e m a few keys in an enroll path are changed as long as security O(2n − e + ed − m) keys. In the worst case where e = n, is ensured. In addition, KTR identifies an enroll path with the the server needs to manage only O(n(1 + d) − m) keys. In minimum number of must-be-changed keys to reduce rekey contrast, LKH requires the server to manage O(2nd−m) keys. cost without compromising security. The detailed approach is Obviously, KTR allows the server to manage much fewer keys presented in Section IV. than conventional LKH-based approaches. D. Challenges in Shared Key Management C. Rekey Operations If keys are shared by multiple programs, it is not always In this study, we consider user activities of cost saving, especially when a user shifts to a new tree where joining/leaving/shifting among trees, instead of some previously subscribed programs are still subscribed to joining/quitting/changing among programs. Table I lists by the user. Consider the example in Figure 4 where us shifts the mapping between tree-oriented operations and the from tr4 to tr6 . Apparently, g1 and g2 are still subscribed to corresponding program-oriented user events. Consider the after the shift. In general, two sets of keys need to be changed example in Figure 4, where a user us shifts from tr4 to tr6 . to ensure security: knL and kr4 in the leave path, and knJ , When us was in tr4 , us subscribed g1 and g2 . After he shifts kr6 , kg1 , kg2 and kg3 in the enroll path. to tr6 , he subscribes g1 , g2 and g3 . Hence, the shift in fact When keys are not shared (i.e. each program has one means the user adds g3 into his current subscription. Note individual key tree), fewer keys are involved in the example that the discussion of rekey operations in this study only shift event. As in Figure 4, tr4 is shared by g1 and g2 , while considers individual user events. tr6 is shared by g1 , g2 and g3 . The shift from tr4 to tr6 To issue new keys upon a user event, the main task is to in fact indicates that us adds the program g3 to his current identify the keys that need to be changed. We use two types subscription of g1 and g2 . Hence, if keys are not shared and of paths in the key forest to represent the to-be-changed keys. each program has one individual key tree, only keys in g3 ’s When a user leaves a tree, we say, a leave path is formed, tree need to be changed. Thus, the shared key scheme has which consists of keys that the user will no longer use. When more rekey cost than conventional LKH in this example. a user joins a tree, we say, an enroll path is formed, which Nevertheless, because us in tr6 is still subscribing to consists of keys that the user will use in the future. Similarly, programs g1 and g2 as he was in tr4 , we find that keys in when a user shifts from one tree to another, a leave path and the enroll path (e.g. knJ , kr6 , kg1 and kg2 ) might be reused an enroll path are formed. In KTR, a complete path starts from by us without compromising security. For example, no matter the leaf node and ends at the multiple DEKs of the subscribed whether us was in tr4 or shifts to tr6 , us always knows kg1 or programs that share the tree. For example, in Figure 4, when kg2 . Hence, these two keys can be reused in this shift event. us shifts from tr4 to tr6 , the leave path consists of knL and With an in-depth analysis, we find that under certain conditions kr4 , and the enroll path consists of knJ , kr6 , kg1 , kg2 and kg3 . kr6 and knJ can be reused as well. Note that in this example, kg1 and kg2 are the keys that us Deciding whether or not a key in an enroll path can be already has and still needs in the future. Hence, kg1 and kg2 reused depends on whether or not the key can reveal the are not in the leave path, although us leaves tr4 . programs’ DEKs that us is not supposed to know. Assume that To broadcast new keys, the server should first compose in the example shift event, kr6 has never been changed since rekey packets. In this study, we take the standard LKH t0 , us joins tr4 at t1 and shifts to tr6 at t2 , and t0 < t1 < t2 .
  • 6. 6 There are at least two situations where kr6 must be changed Algorithm 1 Update of refresh and renew spots at t2 . Either kr6 was used to encrypt kg3 as {kg3 }kr6 during Assume ki is used in the rekey messages upon a user event. t0 and t2 ; or kr6 was used to encrypt kg1 or kg2 as {kg1 }kr6 1: if ki is in a leave path then or {kg2 }kr6 during t0 and t1 . 2: renew spots must be added to all ki ’s spot series; In the first situation, if kr6 is reused, us can decrypt kg3 3: end if from {kg3 }kr6 , and then decrypt g3 ’s data that was broadcast 4: if ki is critical in an enroll path then before us shifts to tr6 at t2 . Hence, the reused kr6 reveals kg3 5: renew spots must be added to all ki ’s spot series; before us adds g3 into his subscription. In the second situation, 6: end if if kr6 is reused, us can decrypt kg1 or kg2 from {kg1 }kr6 or 7: if ki ’s parent key kj is in a leave path then {kg2 }kr6 , and then decrypt g1 ’s or g2 ’s data that was broadcast 8: refresh spots must be added to ki ’s spot series that are before us joins tr4 at t1 . Hence, the reused kr6 reveals kg1 associated with the programs sharing kj ; or kg2 before us joins the service. In summary, kr6 must be 9: end if changed in both situations. If kr6 is reused without any change, it can reveal DEKs that us should not know. Except these two situations, if kr6 has never been used in the encryptions as Definition 4.1: Renew spot of a key ki : the time point t discussed above, kr6 can be reused without any change. when ki ’s value is changed. ki ’s new value starting from t is A similar but more complicated inspection is required on denoted as ki (t). other keys in tr6 . The principle is to check whether a key Definition 4.2: Refresh spot of a key ki : the time point t in an enroll path can reveal the previous DEK or another when ki is used to encrypt its parent key kj ’s new value in a program’s DEK. The difficulty is that a key may indirectly refreshment δ(kj , t; ki , t′ ). reveal DEKs, because its parent key may not be a DEK. Definition 4.3: Refreshment, δ(kj , t; ki , t′ ): a rekey mes- For example, although knJ ’s parent key is kr6 , knJ can still sage broadcast at t in the form of {kj (t)}ki (t′ ) , and t′ ≤ t. indirectly reveal the DEK kg3 . Assume that knJ was used to encrypt kr6 and then kr6 was used to encrypt kg3 . In this At a refresh spot t, we say ki is refreshed when it is used to situation, a sequence of rekey items {kr6 }knJ ,{kg3 }kr6 exist in encrypt its parent key ki ’s new value as in the δ(kj , t; ki , t′ ). all broadcast messages. If knJ is reused without any change, At a renew spot t, we say ki is renewed when its valued is us can first decrypt kr6 and then kg3 . Thus, knJ must be changed. ki is renewed only when it is in a leave path or changed. If no such sequence of rekey items exist, knJ can critical in an enroll path. Accordingly, the rekey message to be reused. Hence, the challenge in reusing keys lies in how renew ki has two possible forms. If ki is critical in an enroll to find out which sequences of rekey items may compromise path, ki ’s new value is encrypted with its old value. Hence, security and which keys in such sequences may reveal DEKs. the renew message is {ki (t)}ki (t′ ) . If ki is in a leave path, In the following section, we propose a novel approach in ki ’s new value is encrypted with its child key kc . Hence, the KTR to efficiently address the security issue in reusing keys. renew message of ki is also the refresh message of kc , i.e. Since rekey cost is determined by the number of must-be- {ki (t)}kc (t′ ) . changed keys, the cost can be minimized if we can find the When a user changes his subscription, the server needs to minimum number of must-be-changed keys when the user change certain keys according to the algorithm presented in joins or shifts to the tree. We name the must-be-changed keys Section IV-C and broadcast corresponding rekey messages. in an enroll path as critical keys. KTR changes all keys in a Then, refresh and renew spots are logged to the keys that leave path and only the critical keys in an enroll path, while are used in the rekey messages. The sequence of refresh and leaving all the other keys unchanged. In this way, the rekey renew spots thus forms spot series in the time order. If a key cost can be minimized. is shared by multiple programs, we let the key have multiple spot series, each of which is associated with one program (see examples in Section IV-B). IV. S HARED K EY M ANAGEMENT Algorithm 1 describes the procedure to log refresh and In this section, we first present some important concepts in renew spots upon a user event. According to Definition 4.1, Section IV-A and IV-B, which are used for identifying critical renew spots are logged to a key when the key is changed to a keys . Then, we present the condition under which a key is new value. Hence, when a key is in a leave path or critical in critical in Section IV-C and IV-D and the corresponding key an enroll path, the key must be changed and renew spots must management algorithms. be logged to that key. Furthermore, according to Definition 4.2, refresh spots must be logged to a key when the key’s parent is in a leave path, because the key is used to encrypt A. Rekey Spots its parent in order to renew its parent. KTR basically logs how a key was used in rekey messages. As previously discussed, refreshments may contain informa- We can always find two operations in any rekey message: 1) a tion that threatens past confidentiality. For example, assume a key’s value is changed or 2) a key is used to encrypt its parent user joins a tree shared by program gm at tc , and k1 is in key when the parent key’s value is changed. Accordingly, we the enroll path. From all previous broadcast rekey messages, define two types of spots to log the time points when either a dangerous rekey sequence for k1 is defined as, operation is committed. Definition 4.4: A sequence of refreshments
  • 7. 7 g1 Algorithm 2 Update of revive spots refresh spot g2 1: let k be kv ; renew spot g3 2: let t be tv ; t1 t2 t3 t4 ... time 3: UPDATEREVIVE(k, t, tv , gv ); 4: function UPDATEREVIVE(k, t, tv , gv ) Fig. 6. Spot series of key kr6 5: let V be the set of all child keys of k; for ki ∈ V do kr2 refresh spot 6: find ti the renew spot of ki that satisfies ti ≤ t; kr6 renew spot 7: 8: if δ(k, t; ki , ti ) exists then knJ 9: if ti is the latest renew spot of ki then t0 t1 t2 t3 t4 ... time 10: add tv to ki ’s revive spot series associated Fig. 7. Spot series regarding program g2 with gv 11: end if 12: UPDATEREVIVE(ki , ti , tv , gv ); to check ki ’s child keys as they may have revive spots. If 13: end if δ(k, t; ki , ti ) does exist and ti ) is ki ’s latest renew spot, a 14: end for revive spot is logged to ki and the algorithm continues to 15: end function check ki ’s child keys. B. Examples of Spots δ(k2 , t2 ; k1 , t1 ), δ(k3 , t3 ; k2 , t2 ), · · · , δ(km , tm ; km−1 , tm−1 ) that satisfies In this part, we demonstrate the spot series from two • ki is ki−1 ’s parent key, different dimensions. First, a key has multiple spot series • t 1 ≤ t 2 ≤ · · · ≤ t m < tc , associated with its programs. Figure 6 depicts the spot • k1 (t1 ) has never been changed since t1 , series of kr6 in the key forest of Figure 4. Because kr6 • km (tm ) is the value of gm ’s DEK. is shared by three programs (i.e. g1 , g2 and g3 ), it has If the server sends k1 to the user without any change, the three spot series, and each series is represented by a line user can decrypt k2 (t2 ) and then iteratively decrypt k3 (t3 ) to in Figure 6. In this example, at t1 , a user leaves tr6 . kr6 km (tm ). Past confidentiality at tm is thus compromised, if the is first renewed, and all its spot series get a renew spot. user uses km (tm ) to decrypt the data items that are broadcast Right after it is renewed, kr6 is used in the refreshments during tm and tc , which should otherwise be inaccessible to δ(kr1 , t1 ; kr6 , t1 ), δ(kr2 , t1 ; kr6 , t1 ), δ(kr3 , t1 ; kr6 , t1 ). that user. Past confidentiality at tm is preserved if the user Because these refreshments are related to all the programs, either cannot find such a sequence of refreshments to obtain refresh spots are added to all kr6 ’s spot series. At t2 , a user km (tm ) or has already legitimately obtained km (tm ) and the leaves tr5 . Because only kr2 and kr3 need to be changed, kr6 is data items during tm and tc . used in the refreshments δ(kr2 , t2 ; kr6 , t1 ), δ(kr3 , t2 ; kr6 , t1 ). Therefore, to identify whether a key is critical in a program, Hence, only two refresh spots are added to the series we use a third type of spot to mark the key based on its renew associated with g2 and g3 . Readers can find that the other and refresh spots. Similarly, the sequence of revive spots forms spots are for the events where a user joins tr6 at t3 , and revive spot series in the time order. If a key is shared by another user shifts from tr4 to tr3 at t4 . In brief, renew multiple programs, the key has multiple revive spot series, spots of a key are the same in all of its series, while refresh each of which is associated with one program (see examples and revive spots are different regarding their corresponding in Section IV-B). programs. Definition 4.5: Revive spot of a key: the time point t when The second dimension of spot series is illustrated in Fig- (1) the DEK of this key’s associated program has changed or ure 7, where we draw spot series of knJ , kr6 and kr2 (2) a dangerous rekey sequence exists as in Definition 4.4. associated with only one program g2 . At t1 , a user leaves After the update of refresh and renew spots, the server tr6 . Assume kr6 and kr2 are in the leave path, but knJ is updates revive spots according to Algorithm 2. Assume kv (the not. Hence, the broadcast server composes the refreshments DEK of program gv ) is renewed at tv . Algorithm 2 updates δ(kr6 , t1 ; knJ , t0 ), δ(kr2 , t1 ; kr6 , t1 ) to change kr6 and kr2 . At the revive spots of corresponding keys iteratively, starting from t2 , a user leaves tr5 . The refreshment δ(kr2 , t2 ; kr6 , t2 ) is kv . At the beginning, let k = kv and t = tv . The algorithm broadcast to change kr2 . At t3 , a user joins tr6 . Assume knJ , iteratively uses the function UPDATEREVIVE(k, t, tv , gv ) to kr6 and kr2 are in the enroll path, these keys are changed. update revive spots of related keys. Assuming that the al- At t4 , a user shifts from tr4 to tr3 , and δ(kr2 , t4 ; kr6 , t4 ) gorithm checks a key k which was renewed at t and was is broadcast to change kr2 . Note that at a refresh spot (for refreshed at sometime later than t, it first selects a ki from instance, t1 of δ(kr6 , t1 ; knJ , t0 ), the symmetric key knJ is all k’s child keys. According to Definition 4.5, if δ(k, t; ki , ti ) refreshed simultaneously as its parent key kr6 is renewed. does not exist, there is no need to log a revive spot to ki and In Figure 8, we draw the revive spot series of the three keys no need to further check ki ’s child keys. Also, if δ(k, t; ki , ti ) associated with g2 based on Figure 7. At t2 , kr2 is changed does exist but ti is not ki ’s latest renew spot, there is still no and δ(kr6 , t1 ; knJ , t0 ), δ(kr2 , t2 ; kr6 , t1 ) can be recorded by need to log a revive spot to ki but the algorithm continues any user. Revive spots are added to both kr6 and knJ , since the
  • 8. 8 kr2 renew spot Theorem 4.1: Theorem of Critical Key (TCK): k in the kr6 revive spot enroll path is a critical key, i.e. k must be changed before knJ being distributed to u to ensure past confidentiality, if and t0 t1 t2 t3 t4 ... time only if at least one pair of (kai , uai )k,u satisfies kai > uai at Fig. 8. Revive spots regarding program g2 current time t, i.e. the key is older than the user’s subscription regarding program gi . a) Proof of the sufficient condition: If k is the DEK of gi , refreshments can expose kr2 at t2 to a new user if either kr6 or the proof is obvious. If k’s age is older than u’s subscription knJ is given to the user without any change. However, at t4 , a age, there are some data items encrypted by k before the user revive spot is only added to kr6 , because only δ(kr2 , t4 ; kr6 , t4 ) joins the program. Hence, k needs to be changed so that the is potentially insecure. No revive spot is added to knJ at t4 , user cannot decrypt those data items. since it is not used in the rekey operation. If k is not a DEK, let ki be the DEK of program gi , and the latest renew spot of k is tk . Assume a pair of (kai , uai )k,u that C. Critical Keys satisfies kai > uai at current time t. According to Definition By logging spots to keys, the server can inspect a key’s past 4.6, k’s value has never been changed since t − kai and was usage. We introduce the concepts of key age and subscription revived at t−kai . According to Definition 4.5, u can find such age to decide whether a key is a critical key. a sequence of refreshments from all previous broadcast rekey Definition 4.6: Age of a key: (1) if the key is a DEK, its messages at t − kai : δ(kα , tα ; k, tk ), ..., δ(ki , t − kai ; kβ , tβ ), age is the time interval between the current time to its latest where tk ≤ tα ≤ ... ≤ tβ ≤ t − kai . Hence, if k is sent to renew spot; (2) if the key is a KDK, its age is the time interval u without any change, u can derive ki at t − kai from these between the current time to the revive spot that is located refreshments. between the current time and the latest renew spot and is According to Definition 4.7, u joined gi at t − uai , which closest to the latest renew spot. Note that a key may have means u is only allowed to decrypt data items of gi broadcast multiple ages if it is shared by multiple programs, and each after t − uai . Because kai > uai , t − kai < t − uai . If k is age is associated with one program. not changed, u can decrypt data items of gi broadcast between According to the above definition, the age of a KDK is 0 t − kai and t − uai , and thus past confidentiality at t − kai is if and only if there is no revive spot between the current time compromised. and the latest renew spot. Otherwise, the age of the key is Therefore, if at least one pair of (kai , uai )k,u satisfies kai > greater than 0. uai at current time t, k in an enroll path needs to be changed Definition 4.7: Age of a subscription: the time interval before being distributed to user u to ensure past confidentiality. between the current time to the latest beginning time the user b) Proof of the necessary condition: The necessary con- is in a program. Note that if a user subscribes to multiple dition is that if all pairs of (kai , uai )u,k satisfy kai ≤ uai , k programs, he has one subscription age for each program. does not need to be changed. If k is the DEK of gi , the proof According to the above definition, the subscription’s age is is obvious. If k’s age is younger than user’s subscription age, 0 if and only if the user is not in the program. Otherwise, the user has already known all data items encrypted by k. the user is in the program, and his subscription age is greater Hence, k does not needs to be changed. than 0. If a user stops subscribing a program, the subscription If k is not a DEK, select any program gi that shares k. Let age associated with this program turns to 0. If a user shifts ki be the DEK of gi , and the latest renew spot of k is tk . from a tree to another tree while staying in a program, his We use reduction to absurdity to prove. The opposite of the subscription age with this program continues. Finally, a user necessary condition is that past confidentiality for program gi can have different subscription ages for different programs. will be broken if all pairs of (kai , uai )k,u satisfy kai ≤ uai The traditional LKH approach to protect past confidentiality at current time t, and k is sent to u without any changed. is to always have the server change keys in the enroll path According to Definition 4.7, u joined gi at t − uai and is so that no previous refreshment can be exploited. Although allowed to decrypt data items of gi broadcast after t − uai . this ensures past confidentiality, this approach is costly. There If past confidentiality for program gi is compromised, u must are some situations where the old refreshments only contain have derived ki ’s value before t − uai . Because kai ≤ uai , secrets that the user already knows. In these situations, the user t−kai ≥ t−uai . u must have derived ki ’s value at a time point can use the old symmetric key to decrypt the old refreshments, t′ before t − kai , i.e. t′ < t − kai . Hence, u must have found thus keeping past confidentiality intact. That being the case, the refreshments from all previous broadcast rekey messages: the server can directly distribute the old symmetric key without δ(kα , tα ; k, tk ), ..., δ(ki , t′ ; kβ , tβ ). compromising the past confidentiality. According to Definition 4.5, t′ is a revive spot of k. If kai = In the following, we give a generic method to identify criti- 0, no revive spot exists after tk , and thus t′ cannot exists. If cal keys in the enroll path and reduce the rekey cost. Assuming kai > 0, t′ is a revive spot after k’s latest renew spot tk , key k is shared by m programs and will be distributed to and thus tk < t′ < t − kai . However, according to Definition user u, we can get all k’s ages and all u’s subscription ages 4.6, there cannot be any revive spot of k between tk and t − associated with these programs, denoted as [ka1 , ..., kam ]k and kai . Hence, t′ cannot exist, and the opposite of the necessary [ua1 , ..., uam ]u . Program gi is thus associated with a pair of condition is false. Consequently, past confidentiality for any ages, denoted as (kai , uai )k,u . program gi will not be broken if the pair of (kai , uai )k,u
  • 9. 9 Algorithm 3 Algorithm of KTR in Broadcast Server critical keys at t2 because their ages are greater than 0. The 1: if a join or shift event happens then server needs to change kr1 and kr2 before distributing them to 2: according to TCK, find all critical keys in the tree the u2 . This shows that it is not necessary to change all keys in the user wants to join or shift to; enroll path when a user subscribes the broadcast data services 3: select the best enroll path that has the minimum as would be required in the traditional LKH approach. number of critical keys; Corollary 4.2: After a user enrolls in a tree, all keys in the 4: change all critical keys in the best enroll path, and enroll path are not older than the user. broadcast corresponding rekey messages; According to Theorem 4.1, if a key is older than the user’s 5: end if subscription regarding a program, the key needs to be changed. 6: if a leave or shift event happens then Hence, at the time when the user enrolls in a tree, the keys, 7: change all keys in the leave path, and broadcast whose ages are older than the user, are renewed and their corresponding rekey messages; ages turns to be 0. If the key is not older than the user’s 8: end if subscription regarding any program, the key does not need to 9: update renew, refresh and revive spots according to the be changed. Hence, the key continues to be not older than the latest rekey messages; user. Therefore, after a user enrolls in a tree, all keys in the enroll path are not older than the user. Corollary 4.3: When a user shifts from a tree to another satisfies kai ≤ uai at current time t, and k is sent to u without tree, the keys overlap both trees do not need to be changed. any changed. Assume the user shifts from tree trα to tree trβ . According Theorem 4.1 indicates that changing only critical keys can to Corollary 4.2, after the user enrolls in trα , all keys in the ensure past confidentiality. Hence, given a key forest, Algo- enroll path cannot not be older than the user. Hence, when rithm 3 is applied to find the best enroll path and minimize the the user shifts to trβ , the overlapped keys, which were in rekey cost. When a join or shift event happens to a tree, the the enroll path when user enrolled in trα , do not need to be algorithm uses the depth-first tree traversal approach to find all changed according to Theorem 4.1. critical keys in the tree. If a path is found to have fewer critical Example: in Figure 4, user u shifts from tree tr4 to tr6 at keys than previously visited paths, the algorithm records it as t1 . Assume user u is in tr4 since t0 , i.e. u can decrypt data the best enroll path. items of g1 and g2 since t0 . kr1 and kr2 are the overlapped keys with tr4 and tr6 . Because u is still in g1 and g2 after he shifts to tr6 , kr1 and kr2 do not need to be changed. D. Examples of Critical Keys Corollary 4.1: When a user joins a tree, a key in the enroll path is a critical key if and only if one of the key’s ages is E. Security Analysis greater than 0. To ensure multicast or broadcast security, group key man- Before a user joins the tree, his subscription ages for all of agement should satisfy four security properties [2], [3]: non- the programs sharing this tree are 0. Hence, if the age of a key group confidentiality, collusion freedom, future confidentiality in the enroll path for this program is greater than 0, the key is (forward secrecy), and past confidentiality (backward secrecy). older than the user’s subscription. According to Theorem 4.1, In the following, we discuss how KTR satisfies these proper- the key needs to be changed before being distributed to the ties. user. Property 4.1: Non-group confidentiality: passive adver- Example: consider a user event where a user u2 joins tree saries should not have access to any group key. tr4 at time t2 in Figure 4. Assume that before t2 , another user Because keys are encrypted when being broadcast, passive u1 shifts from tree tr4 to tr6 at t1 , and no other event happens adversaries can not decrypt any key without knowing decryp- between t1 and t2 . At t1 , assume knL and kr4 are in the leave tion key. Hence, KTR obviously satisfies Property 4.1. path. At t2 , assume knL and kr4 are in the enroll path. Now, we Property 4.2: Collusion freedom: by sharing group keys, determine which keys are critical at t2 according to Corollary multiple present users can not derive any group key that they 4.1. are not holding. At t1 , because u1 is still in g1 and g2 , the broadcast server When multiple users collude, they may try to share their does not need to change kr1 and kr2 , and only needs to send keys to derived unknown group keys. The sharing can be the refreshments δ(knL , t1 ; kc , tkc ), δ(kr4 , t1 ; knL , t1 ), where represented by a subgraph of the paths belonging to the kc is a child key of knL and not known by u1 . According to colluding users. However, in KTR, a user does not know any Definition 4.5, no revive spot is added to knL and kr4 , and key not on this path. Hence, colluding users do not know any these two keys are renewed after t1 . Consequently, according key outside the subgraph that represents the collusion. KTR to Definition 4.6, at t2 , the ages of both knL and kr4 are 0. thus satisfies Property 4.2. The server can give knL and kr4 to u2 without any change Property 4.3: Future confidentiality (forward secrecy): a according to TCK, since u2 cannot derive kr1 and kr2 before leaving user should not have access to any group key after t2 from the previous refreshments. leaving his present group. In this example, knL and kr4 are not critical keys, although According to Algorithm 3, KTR changes all keys in the they are in the enroll path at t2 . However, kr1 and kr2 are leave path, because the leaving user holds these keys. Hence,
  • 10. 10 TABLE II the leaving user will not have the new keys after the user C OMPUTATION AT THE SEVER SIDE leaves his group. KTR thus satisfies Property 4.3. Property 4.4: Past confidentiality (backward secrecy): a service parameters inspe- upd- computa- joining user added at time t should not have access to any size n m e d ction ate tion (ms) keys used to encrypt data before t. small 10K 5 31 2.5 655 50K 16 ± 2 According to Algorithm 3, KTR changes all critical keys large 10K 50 300 12 141 240K 68 ± 16 in the enroll path when a user joins. Theorem 4.1 basically proves that the joining user can only derive past group keys from critical keys. Hence, changing critical keys and reusing enroll path, and (3) update renew, refresh and revive spots non-critical keys prevent the joining user from obtaining past for affected keys. Compared with LKH, steps (1) and (3) group keys. KTR thus satisfies Property 4.4. in KTR incur extra cost that includes only comparison and assignment operations. The leave path simply consists of keys V. P ERFORMANCE E VALUATION that the user will no longer hold, and thus the server can easily find out the leave path. Nevertheless, the server needs In this section, we analyze and evaluate the performance to inspect the to-be-joined tree and find out the enroll path of KTR at the server side and the client side respec- with the minimum number of critical keys. Hence, according tively. We define the following parameters for the analysis. to Algorithm 3, the computation complexity on the server side • The service provides m programs; is mainly determined by the number of keys to be inspected • n users subscribes the service; and the number of updates to be committed. • n users are distributed to e trees; The number of keys to be inspected is determined by the • Each tree is shared by d programs on average; number of users in the to-be-joined tree and the number • The leave rate is λl : the number of users unsubscribing of programs that share that tree. Inside the tree, there are to the service per unit time; O(2 n ) keys. The root of the tree is connected to DEKs of • The join rate is λj : the number of users subscribing to e the programs that share the tree. As in Figure 5, the path he service per unit time; between the root and one DEK has O(log2 ( ed )) keys on • The shift rate is λs : the number of users changing m subscriptions per unit time; average. Hence, there are O(dlog2 ( ed )) keys between the root m • The total event rate Λ = λl + λj + λs and the connected DEKs. In total, the server needs to inspect O(2 n + dlog2 ( ed )) keys in order to find the best enroll path e m and the critical keys. A. Server Side The number of updates to be committed is determined by 1) Analysis: Since a server is generally abundant in energy the number of DEKs that must be changed. In the worst case, and memory, its computation capacity becomes the main factor all DEKs need to be changed and all keys under the DEKs that affects the performance of the whole system. If the need to be changed. Because each tree is shared by d programs processing time for each event is large, this would delay user’s on average, one DEK is connected with de trees. Hence, in the m request. We measured the management cost of a server by two worst case, a changed DEK will require the server to update metrics: (a) the total number of keys to be managed, and (b) all keys in the trees that are connected with the DEK. Hence, the number of keys to be inspected and updated per rekey for each DEK, O(2 de n ) = O(2 dn ) keys need to be updated. m e m event. In the worst case (i.e. m DEKs need to be changed), the server Since a tree has n users in average, there are O(2 n − 1) e e needs to commit O(2dn) updates. keys to be handled, including the root. For e trees, the server 2) Simulation: We did simulations on a server (a computer needs to manage O(e(2 n − 1)) = O(2n − e) keys. Because e with a 2GHz CPU and 2GB RAM running Linux). On average, a key in any tree needs to keep a separate spot series for the server uses tens of milliseconds for one rekey operation each program that shares the tree and each tree is shared by d in the KTR scheme. Table II shows the simulation results for programs on average, the server needs to keep O((2n − e)d) two services with 10000 users. The first row is a small service spot series. In the multi-layer root graph, the server needs to that provides only 5 programs and 31 valid trees, and each manage DEKs and other non-root keys. Because one program tree is shared by 2.5 programs on average. The second row is connected with O( ed ) trees, the server needs to manage m is a large service that provides 50 programs and 300 valid O(( ed − 1)m) = O(ed − m) keys (including DEKs and non- m trees, and each tree is shared by 12 programs on average. root keys) for m programs. We notice that any one of these Column “inspection” is the estimate of the number of keys to keys is connected with only one program. Hence, each key be inspected in the worst case. Column “update” estimates the requires only one spot series, and thus the server needs to keep number of updates to be committed in the worst case. Column O(ed − m) spot series. In total, the server needs to manage “computation” measures the average computation time for one O(2n−e+ed−m) keys with a storage requirement of O((2n− rekey operation in simulation. e)d + ed − m) = O(2nd − m). In comparison, LKH requires Obviously, the computation time on the server side is mainly that the server manages O((2 ed n −1)m) = O(2nd−m) keys. m e determined by the number of updates to be committed in the According to Algorithm 3, KTR needs three steps for each simulations, as the computation time is almost proportional to rekey operation: (1) find the leave path and the best enroll the number of updates (via regression analysis). First, since path, (2) change keys in the leave path and critical keys in the the number of users is fixed in these simulations, when the
  • 11. 11 2 service has more trees, the average number of users in one tree a shift event, the number of decryptions is O(2(1 + ρ) nd ). m decreases. Accordingly, the server takes less time to inspect Considering user activities, the average number of decryptions 2 1 keys in the large service than in the small service. Hence, would be O( Λ (2λl + 2ρλj + 2(1 + ρ)λs ) nd ). Hence, on m 2 1 the server spends the most time on updating spots for affected average, each user decrypts O( Λ (2λl + 2ρλj + 2(1 + ρ)λs ) d )m keys. Since a program is connected with more trees in the large rekey items upon receiving a rekey message. service, a changed DEK will affect more keys. According to The third metric, maximum number of keys to be stored, the estimation, in the worst case, the server needs to commit represents the storage demand which is proportional to the updates in the large service 240000 = 4.8 times as much 50000 number of keys a user needs to hold. Inside a tree, a user as in the small service. Overall, as measured, the server’s needs to hold keys along the path from its leave node to the computation time in the large service is 68 = 4.3 times as 16 root of the tree. Because a tree has O( n ) users, a user holds e much as in the small service. O(log2 ( n )) keys inside a tree. In the root graph, a user hold e keys from the root of the tree to all DEKs of the programs B. Client Side that share the tree. Because a root is connected with d DEKs 1) Analysis: At the client side, three main performance and each DEK is connected with O( ed ) trees, a user holds m metrics need to be measured: average rekey message size per O(dlog2 ( de )) keys in the root graph. In total, a user should m event, average number of decryption per event per user, and hold O(log2 ( n ) + dlog2 ( de )) keys. Because a user stays in e m maximum number of keys to be stored, that can well capture multiple trees in LKH, the user should hold O(dlog2 ( n ) + e the overhead of KTR on resource limited mobile devices dlog2 ( de )) keys if keys are not shared. m in terms of communication, storage, power consumption and 2) Simulation: The analysis gives estimates on major per- computation. Based on these three metrics, we can infer other formance metrics. We notice that some factors could bring metrics that are more directly related to the mobile devices. more insightful results. For example, users may not be evenly For example, if we decide a particular encryption algorithm, distributed in trees due to the fact that some programs may be we know the length of a key, the time to compute a key, and the more popular than other programs. Also, users may be more or energy consumption to execute the algorithm. Consequently, less likely to stay in current subscriptions than to frequently we can obtain metrics, such as the communication overhead change their subscriptions. Hence, in the following, we use in the rekey messages, etc. simulation to examine the impacts of these user behaviors. The first metric, average rekey message size per event, is In the simulation, we compare KTR with three other rep- measured as the number of encryptions {∗}k in the rekey resentative schemes: SKT, eLKH, LKH, as listed in Table message, represents communication cost and power consump- III, to illustrate how shared key and critical key improve tion in a mobile device. In a leave event, the rekey message the performance of key management in wireless broadcast consists of rekey items for keys in the leave path. Hence, the services. SKT is the approach in [28] where only shared key number of encryptions is O(2(log2 ( n )+dlog2 ( de ))). In a join e m tree is applied. eLKH is an approach where only critical key is event, the rekey message consists of rekey items for critical applied to enhance LKH. Neither shared key tree nor critical keys in the enroll path. Hence, the number of encryptions is key is adopted in LKH. If shared key tree is adopted, key O((1+ρ)(log2 ( n )+dlog2 ( de ))), where ρ is the ratio of critical e m management is based on the key forest as illustrated in Figure keys over all keys in the enroll path. Our simulation shows that 4; otherwise, a key tree is created for each program and a ρ is around 22.9 ± 1.8% in an enroll path. In a shift event, the user is assigned to all trees corresponding to the programs he rekey message consists of rekey items for keys in the leave subscribes. If critical key is used, a key in an enroll path is path and critical keys in the enroll path. Hence, the number of changed if and only if it is a critical key; otherwise, all keys encryptions is O((3 + ρ)(log2 ( n ) + dlog2 ( de ))). Considering e m in the enroll path need to be changed (as in the other old user activities, the average rekey message size would be schemes). Table III lists four schemes representing different 1 O( Λ (2λl + (1 + ρ)λj + (3 + ρ)λs )(log2 ( n ) + dlog2 ( de ))). e m solutions which may or may not adopt these two ideas. The The second metric, average number of decryption per event names of the schemes are self-explanatory. If key tree reuse per user, measures computation cost and power consumption is adopted, key management is based on the key forest as in a mobile device, since the device needs to decrypt new illustrated in Figure 4; otherwise, a key tree is created for keys from rekey messages. Define the height of a key as its each program and a user is assigned to all trees corresponding distance to the bottom of a tree. For example, if a tree has n to the programs he subscribes. If critical key is used, a key users, the height of its root key is log2 n. Obviously, if a key’s in an enroll path is changed if and only if it is a critical key; height is h, 2h users need to decrypt it when it is updated otherwise, all keys in the enroll path need to be changed (as in a rekey event. Hence, in a tree of n users, when a path in other schemes). Note that the well-known LKH is used as of keys need to be changed, the total number of decryptions n a base line (i.e. neither shared key nor critical key is adopted). log2 is O( i=1 2i ) ≈ O(2n). In a leave event, because there are a) Settings: We assume that the server provides 50 O( n de ) users under a to-be-changed DEK, the total number e m programs. In our experiments, the key forest consists of 300 of encryptions for this DEK and its downward keys is O(2 nd ). m2 trees when shared key tree is adopted. Each tree represents a Because d DEKs need to be changed in a leave event, O(2 nd ) m different option of subscriptions. We also assume that there decryptions are committed by affected users. Similarly, in a are 10000 users (on average) subscribing to the services. The 2 join event, the total number of decryptions is O(2ρ nd ). In m root graph in key forest was automatically generated according
  • 12. 12 TABLE III TABLE IV K EY MANAGEMENT SCHEMES C ASES IN KEY MANAGEMENT Schemes shared key critical key Case Major subscriptions Major events KTR Y Y Case I Multiple Join and leave SKT Y N Case II Single Join and leave eLKH N Y Case III Multiple Shift LKH N N Case IV Single Shift to subscriptions. Each program had a different depth in root server to change fewer keys. graph depending on the number of subscriptions that include Then, we evaluate performance of the key management the program. In the worst case where a program is included in schemes by fixing λl = 1 and varying λs (x-axis) from 1 to all subscriptions, the depth for this program in root graph is 9. 9 as shown in Figure 9(c) and (d). Obviously, when the shift Most programs had a depth of 8 or less, because the probability rate grows, the performance of SKT turns worse because of that a program is selected by more than 256 subscriptions is the extra overhead that is introduced in managing shared keys low. At the same time, the tree depth is around 5, since 10000 when a user quits or adds some but not all of his subscribed users are randomly distributed to 300 trees. programs. Obviously, the adoption of critical keys incurs the In each experiment, we compare two equivalent key graphs major improvement in terms of rekey message size. KTR and for shared key schemes and non-shared key schemes. We first eLKH are the best solutions. generate a random key forest and assign users to leaf nodes By comparing CASE III and CASE IV (corresponding to of the key forest. Then, for non-shared key schemes (LKH the subscriptions of multiple programs and single program, and eLKH), we assign users to different key trees according respectively), we found that the extra overhead of shift is to their subscriptions in shared key schemes. Any user event higher in CASE III. Figure 9 also shows that KTR and STK are in shared key schemes was also mapped into the equivalent more sensitive to these types of major user events than eLKH event in non-shared key schemes. and LKH. The average rekey message size in KTR and STK All three user events (i.e. join, shift and leave) are modeled grows as the shift rate increases and shrinks as the join/leave as independent Poisson processes. We let λl = λj so the total rate increases. On the contrary, the average rekey message size number of users remains constant (i.e. around 10000). We vary in eLKH and LKH remains almost flat regardless of the rate λl and λs separately in order to observe their impacts on the of user events. rekey performance. The result of our performance comparison Based on our experimental results, by adopting only shared is obtained by averaging the rekey cost over 3000 random user key tree, SKT reduces the rekey message size to around 60% to events. Here, a user event is referred to an event in schemes 90% of LKH. By adopting critical keys alone, eLKH reduces that adopt shared key tree. Such an event is mapped into the rekey message size to around 55% to 65% of LKH. This several user events in schemes that do not adopt shared key result also validates our claim that many keys in the enroll path tree. For example, a user joins a tree of multiple programs do not need to be changed. In fact, over all the experiments, in KTR is mapped as a sequence of events in LKH (each is only around 23% keys in the enroll path need to be changed. corresponding to the user joining a tree of these programs). c) Average Number of Decryption Per Event Per User: Four test cases are generated for evaluation based on major Power consumption and computation cost are two primary subscriptions and major events (summarized in Table IV). In concerns for mobile users. We use the average number of Case I and Case III, 80% of the users subscribe to multiple decryptions to measure these costs. Similar to the experiments programs and the other 20% only subscribe to one of the in the previous section, we vary the rates of major events to programs. In Case II and Case IV, 20% of the users subscribe observe their impacts on decryption overhead. Figure 10 shows to multiple programs and the other 80% subscribe to only one that the schemes adopting critical keys (i.e. KTR and eLKH) program. Furthermore, in Case I and Case II, the major events are better than SKT and LKH. The number of decryption in are joins and leaves; while in Case III and Case IV, the major eLKH is around 80% of that in LKH, and KTR’s is around events are shifts. In the simulations, we vary the rates for the 80% of SKT’s too. In all schemes, the number of decryptions major events while keeping the other rates at 1. drops as the join/leave rate increases and rises as the shift rate b) Average Rekey Message Size Per Event: We first increases. evaluate performance of the key management schemes in terms However, the adoption of shared key has negative impacts of average rekey message size, by fixing λs = 1 and varying on reducing user’s decryption cost. In Figure 10, LKH is better λl (x-axis) from 1 to 9 as shown in Figure 9(a) and (b). than SKT, especially when the shift rate is high. So does eLKH KTR and SKT that adopt shared keys significantly outperforms in comparison with KTR. This can be explained as follows. In LKH, Because the major user events are join and leave, a shared key schemes, when a user shifts from a tree to another, user only needs to join or leave one tree when he subscribes some users will be affected by the changed keys in both the or unsubscribes to multiple programs. In contrast, LKH that leave and the enroll paths if they subscribe to the programs that does not have shared keys requires a user needs to join or the user keeps subscribing to. As previously discussed, shared leave multiple trees for multiple programs. Furthermore, KTR key schemes introduce extra rekey cost because they change is better than SKT, because critical key in KTR allows the keys in two paths. On the contrary, in non-shared key schemes,