520 likes | 642 Views
This paper discusses advancements in secure group communication, focusing on key management techniques using key graphs and logical key hierarchies. It explores methods such as the Star-shaped re-keying scheme and the Logical Key Hierarchy (LKH), emphasizing their scalability and confidentiality. Techniques like the VersaKey Framework and Centralized Flat Key Management (CFKM) are also analyzed for their efficiency in handling dynamic group memberships. The objective is to ensure both forward and backward confidentiality while maintaining secure communication in applications such as video streaming and teleconferencing.
E N D
Group Key Distribution Xiuzhen Cheng The George Washington University
Paper List • C.K.Wong et al: Secure Group Communications Using Key Graphs • M.Waldvogel et al: the VersaKey Framework • D.McGrew and A.T.Sherman: Key Establishment in Large Dynamic Groups Using One-way Function Trees
Introduction • Secure group communication • Pay-per-view video streaming • Video On Demand (VOD) • Secure teleconferencing • Online games
Secure Group Communication • Authorization • Secure Multicasting • Forward confidentiality (revocation) • Backward confidentiality
Secure Group Multicasting u2 u1 u
Our Assumptions • Each node shares one or more Key Encryption Keys (KEK) with GC to encrypt TEK updates • There is a Group Controller (GC) • All nodes share a Traffic Encryption Key (TEK) to encrypt communication data. • When membership changes, TEK needs to be updated
Traffic Encryption Key A Group of Users ETEK(msg) u u sends a message encrypted with TEK
Key Encryption Key KEKs are used to encrypt TEK updates u
An Easy Re-keying Scheme : Star-shaped • Each user shares a secret KEK with GC • When a user joins or leaves, GC sends each node a re-keying message encrypted with its own KEK
Star-shaped Re-keying Scheme : Join u u wants to join the group GC
Star-shaped: Join (Cont’d) GC sends encrypted TEK to other nodes u GC
Star-shaped: Leave U tells GC that he’s leaving GC u
Star-shaped: Leave (Cont’d) GC sends encrypted TEK to other nodes GC u
Analysis of Star-shaped Scheme • Pros: • Easy to implement • Provides both forward and backward confidentiality • Cons: • Doesn't scale well ~ Θ(n) Oooooops!
Logical Key Hierarchy • Proposed by C.K.Wong, M.Gouda, and S.S.Lam • It provides both forward and backward confidentiality • It scales well ~ Θ(logn)
LKH: Key Graphs • u-nodes are real users • k-nodes represent keys • u knows k if there’s a path from u to k
LKH: Join u9 is about to join the group
LKH: Leave u9 is about to leave the group
User-oriented re-keying is nothing more than grouping re-keying messages by users ~ less but bigger messages Key-oriented re-keying is just grouping them by keys ~ more but smaller messages User, Key, or Group? • Group-oriented is putting all re-keying messages together to generate a big, fat message ~ only one gigantic message
k9 u9 User-Oriented Rekeying • Encryption Cost • Join: 1 + 2 + … + h-1 + h-1 • Leave: (d-1)(1+2+…+h-1) • Rekey Messages • Join: h • Leave: (d-1)(h-1) Leave rekey messages Join rekey messages
k9 u9 Key-Oriented Rekeying • Encryption Cost • Join: 2(h-1) • Leave: d(h-1) • Rekey Messages • Join: 2(h-1) • Leave: (d-1)(h-1) Leave rekey messages Join rekey messages
k9 u9 Group-Oriented Rekeying Two rekey messages for join: Encryption cost for join: 2(h-1) Leave Operation: Encryption cost: d(h-1) Rekey messages: 1
Analysis of LKH • Re-keying messages are sent in a top-down fashion • Complexity depends on the tree height, h=Θ(logn)
An Improvement: LKH+ • Proposed by M.Waldvogel et al in “The VersaKey Framework” • They use a one-way function to update TEK when a ‘join’ happens
LKH+: Join When u9 joins, u1 ~ u8 feed the KEK into a one-way hash function to do the update
Analysis of LKH+ • GC doesn't need to send re-keying messages when a join happens • When a join happens, every member can compute the new TEK locally • The newly joined member cannot compute the old TEK ~ backward confidentiality
Centralized Flat Key Management • Proposed by M.Waldvogel et al as well • Another logical tree-based re-keying scheme • It greatly reduces GC’s storage requirement
Flat Key Table GC maintains the following table
Flat Key Management Node 0110 knows highlighted KEKs
CFKM: Join Node #1101 is about to join the group
CFKM: Join GC first sends it the new TEK and highlighted KEKs (be updated first)
CFKM: Join GC then encrypts new TEK with the complementary KEKs (the highlighted ones)
CFKM: Join • GC then broadcasts these message to everybody • Since other nodes differ from it in at least 1 position, they can decrypt the re-keying message and get the updated TEK
CFKM: Leave Node 1010 is about to leave
CFKM: Leave GC sends everybody a new TEK encrypted with complementary KEKs
CFKM: Leave (Cont’d) • Similarly, since other nodes differ from it in at least 1 position, they can decrypt the re-keying message and get the updated TEK • Now, all KEKs known by the leaving node become invalid and need to be updated
CFKM: Leave (Cont’d) • For each of the invalid KEKs, GC selects a new replacement encrypted with both the old KEK and the new TEK • For those who are not supposed to know the replacement KEKs, they cannot decrypt the message as they don’t know the old value
CFKM: Leave (Cont’d) • For each of the invalid KEKs, GC selects a new replacement encrypted with both the old KEK and the new TEK • The evicted node cannot decrypt the message either, as it doesn't know the new TEK
CFKM: Pros and Cons • Pros: • It greatly reduces GC’s memory requirement ~ only one table needed • It maintains the same logarithmic bound as LKH, LKH+ ~ it’s efficient • Cons: • Removal of multiple nodes
CFKM: Multiple Leaves • Node 1001 and 0110 are leaving…
One-way Function Trees • Proposed by D.A.McGrew and A.T.Sherman • Logical tree-based scheme as well • Even it’s still of logarithmic bound, the coefficient is smaller than LKH ?
Structure of OFT unblinded key f G is one-way f(g(kleft),g(kright)) kright kleft g g
Blinded & Unblinded Keys • Unblinded Key: the value that hasn’t been passed though g • Blinded Key: the value that has already been passed though g • If you know the unblinded key, you can compute the blinded key • The reverse is not true
OFT Algorithm • Each member knows the blinded keys which are siblings to its path to the root • Each member knows its unblinded key • Each member can then compute the key of the root, which is the TEK (root maintains only one key)
OFT Algorithm (Cont’d) Node u knows the blinded keys of all green nodes u
OFT: Join/Leave • If a blinded key changes, its new value must be communicated to all members who store it • For a join/leave operation, Θ(logn) nodes need to update the blinded keys, where n is the distance to the root
OFT: Join/Leave (Cont’d) If u wants to join, all green nodes must update blinded keys u
Analysis of OFT • OFT has the same log-bound as LKH • LKH’s leading coefficient is 2 (binary), since updates must be sent to both children along the path to the root • OFT’s leading coefficient is 1, since updates has only to be sent to the sibling along the path to the root
Why OFT is better? • If u wants to leave, then only the green nodes need to be updated • The blue nodes can always computethe blinded key locally u