200 likes | 284 Views
This paper explores fast algorithms for the Free Riders Problem in Broadcast Encryption, focusing on distributing keys efficiently to privileged users. It discusses parameters, security, and computational complexity, presenting a dynamic programming algorithm to optimize resource allocation. The study showcases the benefits of Free Riders and introduces the Complete Subtree Scheme for optimal solutions. It also touches on computational geometry and the MinSum Problem, offering an O(rf)-time algorithm to identify sets of free riders. The findings aim to optimize resource usage in broadcast encryption systems.
E N D
Fast Algorithms for the Free Riders Problem in Broadcast Encryption Zulfikar Ramzan David P. Woodruff Crypto 2006
Broadcast Encryption Users Server Offline phase - Server distributes keys Online phase - Encrypt a session key for privileged users Many applications: payperview TV, music, videos
Broadcast Encryption • Parameters • Storage per user (# keys) • Server storage • Communication vs. computation • Sets of privileged users it can support • Security • Computational vs. Information-theoretic
Free Riders • [ASW] If we allow a small fraction of non-privileged (revoked) users to decrypt the broadcast, can we significantly save resources? • A revoked user decrypting the broadcast is a free rider • Commercial view These savings might be worth more than the loss from allowing a few free riders • [ASW] Consider the subset-cover framework
Subset Cover Framework [NNL] [n] = {1, …, n} is set of users Offline • For some S ½ [n], server distributes a key KS to all users in S. Let C be the collection of S Online • R ½ [n] are the revoked users • Server finds subsets S1, S2, …, St in C such that S1[ S2[[ St = [n] \ R • Broadcast ES1(M), ES2(M), …, ESt(M)
Free Riders • [ASW] Hardness • Given a worst-case C, a revoked set R, and a bound f on the number of free riders • NP-hard to find smallest t and S1, S2, …, St 2 C • S1[ S2[[ St contains [n] n R • S1[ S2[[ St contains · f elements of R • Finding t’ with t’ · (1+)t also hard • Leave open the complexity for specific C
Our Contribution For a popular, information-theoretically secure scheme in subset-cover framework, known as the Complete Subtree Scheme, we find optimal t and S1, St in O(rf) time Can find t’ · (1+)t and S1, St’ for uniform R of size r in O~(rf1/3) time Techniques useful for other schemes in the subset-cover framework
Complete Subtree Scheme [NNL] v v u1 u2 u3 u4 Complete Binary Tree on n leaves Key at each node v given to users in subtree(v)
Complete Subtree Scheme [NNL] u1 u2 u u4 u6 u7 u8 u5 Communication = O(r log n/r) Information-theoretic security Supports any revoked set of any size r n users/leaves # keys = # nodes = 2n-1 # keys per user = log n + 1
Benefits of Free Riders • Can reduce communication from O(n1/2) to O(log n) in Complete Subtree Scheme • Need an algorithm to find free riders – random assignment bad with overwhelming probability • Preserve computation, storage, etc.
Benefits of Free Riders … … … Diagram shows revoked users Optimal to make all singletons free riders
Algorithm Overview • Given a set R of leaves and a bound f of free riders, find smallest t and nodes v1, v2, …, vt Privileged users covered by some subtree(vi) and at most f revoked users covered • Dynamic programming algorithm For each v with children L(v), R(v) • AL(v)[i] = optimal cost of assigning at most i free riders to subtree(L(v)) • Av[i] = minj AL(v)[j] + AR(v)[i-j] Backtrack from root to find assignment
Algorithm Overview • Algorithm has O(nf) time. Bad for large n • In practice, r very small • For CS scheme, can achieve O(rf) by only computing arrays Av at joining nodes
q p x y z Lift Ap = [0 0 0] to Ap’= [1 1 1] Lift Az = [0 0] to Az’= [2 1] Compute Aq[i] = minj Ap’[j] + Az’[i-j], Aq = [3 2 2] Initialize Ax = [0 0] Ay = [0 0] Az = [0 0] p and q are the only joining nodes Compute Ap[i] = minj Ax[j] + Ay[i-j], Ap = [0 0 0]
Algorithm Overview • Compute joining nodes v • For each v, let L(v) and R(v) be nearest joining nodes in left and right subtree of v • “Lift” AL(v) and AR[v] • Av[i] = minj AL(v)[j] + AR(v)[i-j] • Backtrack using DFS to find optimal assignment
Step 2: MinSum Problem Av[i] = minj AL(v)[j] + AR(v)[i-j] for all i Given a1¸ a2¸¸ am1 and b1¸ b2¸¸ bm2, output 8 i, minj a[j] + b[i-j] • Easy O(m1 m2) time • Computational geometry: O(m1 m2/log m1m2) • Implies overall algorithm is O(rf) time
Step 2: MinSum Problem Given a1¸ a2¸¸ am1 and b1¸ b2¸¸ bm2, output 8 i, minj a[j] + b[i-j] Relaxations • 8 i, output j’ for which a[j’] + b[i-j’] · (1+) minj a[j] + b[i-j] • Bounded differences for CS scheme a[j] – a[j+1] = O(log n) and b[j] – b[j+1] = O(log n) Our result: O~(m1 m21/3) time If R uniformly chosen from sets of size r, time is O~(rf1/3)
Summary of Results • O(rf)-time to optimally find set of f free riders given revoked set R of size r • For every > 0, given a1¸¸ am1 and b1¸¸ bm2 with aj – aj+1 and bj – bj+1 small, for all i output j’ such that aj’ + bi-j’· (1+)minj aj + bi-j in O~(m1 m21/3) time 3. Yields O~(rf1/3)-time algorithm
Open Questions • Extend to other broadcast schemes • Develop a better understanding of the benefits of free riders - computation and storage savings? • Faster algorithms for the MinSum problem
MinSum Observations • If a[j] + b[i-j] is the minimum for level i, then a[j] + b[i+-j] is the approximate minimum for level i + • To approximately solve level i, only try a few indices j because a[j] + b[i-j] ¼ a[j+1] + b[i-j-1] • If aj’ = aj’+1 = = aj’+r , then for level i, a[j’] + b[i-j’] ¸ a[j’+1] + b[i-j’-1] ¸ … ¸ a[j’+r] + b[i-j’-r], so we need only consider ai’