Fully Collusion Resistant Traitor Tracing with Short Ciphertexts and Private Keys Dan Boneh, Amit Sahai, and Brent Waters 1 Broadcast Systems Distribute content to a large set of users •Commercial Content Distribution •File systems •Military Grade GPS •Multicast IP 2 Tracing Pirate Devices[CFN’94] •Attacker creates “pirated device” •Want to trace origin of device 3 FAQ-1 “The Content can be Copied?” DRM- Impossibility Argument Protecting the service Goal: Stop attacker from creating devices that access the original broadcast 4 FAQ 2-Why black-box tracing? K1 K3 D: K2 D: All we know: [BF’99] K$*JWN FD&RIJ$ may contain unrecognized keys, is obfuscated, or tamper resistant. Pr[ M R G, C R Encrypt (PK, M) : D(C)=M] > 1- 5 Formally: Secure TT systems (1) Semantically secure, and TraceD( TK ) S {1, …, n } PK, TK, { Kj | j S } Pirate Decoder Attacker Challenger Run Setup(n) (2) Traceable: D i {1,…,n} Adversary wins if: (1) Pr[D(C)=M] > 1-, (2) and iS 6 Brute Force System Setup (n): Generate n PKE pairs (PKi, Ki) Output private keys K1 , …, Kn PK (PK1, …, PKn) , TK PK . C ( EPK1(M), …, EPKn(M) ) Encrypt (PK, M): Tracing: This is the best known TT system secure under arbitrary collusion. next slide. … until now 7 D Trace (PK): [BF99, NNL00, KY02] R G : For i = 1, …, n+1 define for M pi := Pr[ D( EPK1(), …, EPKi-1(), EPKi(M), …, EPKn(M) ) = M ] Then: p1 > 1- ; pn+1 0 1- = |pn+1 – p1 | = n | p i=1 i+1 – pi n | i=1 |p Exists i{1,…,n} s.t. User i must be one of the pirates. i+1 – pi | | pi+1 – pi | (1- )/n 8 Security Theorem Tracing algorithm estimates: | pi - pi | < (1-)/4n Need O(n2) samples per pi. (D – stateless) Cubic time tracing. • Can be improved to quadratic in |S| . Thm: underlying PKE system is semantically secure No eff. adv wins tracing game with non-neg adv. 9 Abstracting the Idea [BSW’06] Properties needed: For i = 1 ,… , n+1 need to encrypt M so: 1 i-1 users cannot decrypt n i users can decrypt Without Ki adversary cannot distinguish: Enc(i, PK, M) from Enc(i+1, PK, M) Linear Broadcast Encryption Private B.E. 10 Private Linear Broadcast Enc (PLBE) • Setup(n): outputs private keys and public-key PK. K1 , …, Kn • Encrypt( u, PK, M): Encrypt M for users {u, u+1, …, n} Output ciphertext CT. • Decrypt(CT, j, Kj, PK): If j u, output M Broadcast-Encrypt(PK,M) := Encrypt( 1, PK, M) Note: slightly more complicated defs in [BSW’06] 11 Security definition Message hiding: given all private keys: P Encrypt( n+1 , M, PK) Index hiding: Run Setup(n) Encrypt( n+1 , , PK) for u = 1, … , n : PK, { Kj | j u } b{0,1} C* Enc( u+b, PK, m) Attacker Challenger m b’ {0,1} 12 Results Thm: Secure PLBE Secure TT Same size CT and priv-keys (black-box and publicly traceable) New PLBE system: CT-size = O(n) enc-time = O(n) ; ; priv-key size = O(1) dec-time = O(1) 13 n PLBE Construction: hints Arrange users in matrix Key for user (x,y): Kx,y Rx Cy CT: one tuple per row, one tuple per col. size = O(n) CT to user (i,j): User (x,y) can dec. if (x > i) OR [ (x=i) AND (y j) ] n=36 users 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 Encrypt to user (4,3) 14 Bilinear groups of order N=pq G: group of order N=pq. bilinear map: G = Gp G q . Facts: hG (p,q) – secret. e: G G GT gp = gq Gp [BGN’05] ; gq = gp Gq h = (gq) (gp) a p b q N e( gp , gq ) = e(g , g ) = e(g,g) = 1 e( gp , h ) = e( gp , gp) b !! 15 A n size PLBE Ciphertext: ( C1, …, Cn, R1, …, Rn ) User (x,y) must pair Rx and Cy to decrypt Well-formed Malformed/Random Zero Type Rx : x < i Rx: x = i Rx : x > i C y: y < j C y: y j Gq Gp Case Result x<i No: Rx not well formed x=i & y < j No: Cy malformed in Gp x=i & y j Yes: both well formed x>i Yes: indep. of column 16 Summary and Open Problems New results: [BGW’05, BSW’06, BW’06] • Full collusion resistance: • B.E: O(1) CT, • T.T: O(n) CT, • T.R.: O(n) CT, O(1) priv-keys … but O(n) PK O(1) priv-keys. O(n) priv-keys. Open questions: • Private linear B.E. with O(log n) CT. • Private B.E. with short ciphertexts. 17 THE END 18 BGN encryption Subgroup assumption: E(m) : G p G p r r ZN , C gm (gp) G • Additive hom: E(m1+m2) = C1 C2 (gp)r • One mult hom: E(m1m2) = e(C1,C2) e(gp,gp)r 19 Results Thm: New PLBE system: CT-size = O(n) enc-time = O(n) Secure PLBE Secure TT Same size CT and priv-keys (black-box and publicly traceable) ; ; priv-key size = O(1) dec-time = O(1) Applications: • Tracing Traitors : • Adaptive BE. O(n) CTs and O(1) keys. (need Augmented PLBE) • Comparison searches on encrypted data. 20 T.T: a popular problem 32 papers from 49 authors O. D. H. B. Y. Y. N. A. M. E. M. D. Berkman Boneh Chabanne Chor Desmedt Dodis Fazio Fiat Franklin Gafni Goodrich Halevy G. D. H. M. A. K. J. S. M. D. M. B. B. Hanaoka Hieu-Phan Imai Kasahara Kiayias Kurosawa Lotspiech Mitsunari Naor Naor Parnas Pfitzmann Pinkas D. R. A. R. J. A. J. A. J. D. J. R. Pointcheval Safavi-Naini Sahai Sakai Sgall Shamir Shaw Silverberg Staddon Stinson Sun Tamassia G. Tardos T. Tassa V. To M. Waidner J. Walker Y. Wang Y. Watanabe B. Waters R. Wei L. Yin M. Yung F. Zhang 21 A Simple System n users in system, each gets separate key User i gets Ki Encrypt message to separately to user –lump it • (Use “hybrid encryption” and encrypt an AES key) i E(K1 , M) E(K2 , M) … E(Ki , M) … E(Kn , M) M 22 Tracing Let E’(i, M) => Encrypt R to 1,…,i-1 and M to i,…n E(K1 , R) E(K2 , R) … E(Ki-1 , R) E(Ki , M) … E(Kn , M) Pi = prob. pirate device decrypts E’(i,M) • Can learn Pi’s from probing the device i Pi 1 100 j 100 j+1 35 n+1 0 Device works User j is an attacker Everything Random 23