Information Technology Reference
In-Depth Information
j
i ,K
E
K
m
Algorithm 1 KHT-CM updates the KHT with
l )
Create in KHT empty nodes in path from root to l (if not present)
Find node N in KHT at position l
IF i is even //left child {
Find E(K_iˆx,K_lˆy) the left child record of N
IF ((m > y) AND (j >= x))
Overwrite E(K_iˆx,K_lˆy) with E(K_iˆj,K_lˆm)
} else //right child
Same with the right record ...
(
j
i , where
to n-ary trees. A node
i
of the LKH tree has a corresponding key
K
i
is
the position in the tree of that node 1 , and
is the version number of this key,
initially zero and incremented by one every time the key changes. We assume
that an encrypted key update record, such as
j
3 ), where the key at node
3 with version number 1 is encrypted by the key at node 7 with version number
0, contains node and version information in clear for both keys. We also assume
a “lazy” approach to key hashing during additions, where the need for hashing
a key before using it is implied by a gap in version numbers. Moreover, we deal
with partial knowledge of the tree structure by forcing that: when a leaf splits
into two nodes, the previous leaf always occupies the leftmost position; and also,
we only prune leaves and not internal nodes with a single descendent.
When in Fig. 2 “user3” is evicted, the LKH KM changes
7 ,K
E
(
K
3 to
3 and
K
K
3 with
7 , i.e., creating update
7
3 ), so that “user4” can learn
encrypts
K
K
E
(
K
,K
1 to
1 and encrypts it with the new key
the new key. Then, the KM changes
K
K
3 and the key of the sibling node
2 , i.e., generating updates
3
1 ) and
K
K
E
(
K
,K
2
1 ), so that all group members but “user3” can learn the new root key
E
(
K
,K
1 . After receiving these encrypted key updates, the KHT-CM detects that there
is a new node 3 because of the update
K
3 ), allocates a new node for it,
and stores that record as a key of a right child because 7 is an odd number. Also,
it updates the left and right child holders of the root node with
7
E
(
K
,K
2
1 ) and
E
(
K
,K
E
K
3
,K
1 ), respectively. Later, “user5” is added to the group, and keys
K
3 and
(
K
1 are hashed to obtain
K
3 and
K
1 , so that the disclosure of keys
K
6 ,
K
3 and
K
1 . This is not immediately visible
to the KHT-CM or other group members, since they only implicitly discover
these changes by the key information attached to encrypted messages. Finally,
after the eviction of “user2”, the KHT-CM overwrites updates that refer to
1 to “user5” does not compromise
K
1 or
K
1
K
2 ). Note that we
do not keep updates for older keys since an update of a key in LKH triggers an
update of its parent key.
Algorithm 1 describes in more detail the rules we use to update the KHT. In
particular, we only update when the encrypted key will be more recent and the
1 , and creates a new node 2 to capture
4 ,K
instead of
K
E
(
K
1 Our node numbering scheme assigns id ( root )=1,and id ( n )=2
id ( parent ( n )), if
n is a left child, or else id ( n )=2 id ( parent ( n ))+1.
 
Search WWH ::




Custom Search