Attribute-Based Encryption for Fine-Grained Access Control of Encrypted Data Vipul Goyal UCLA Omkant Pandey UCLA Amit Sahai UCLA Brent Waters SRI 1 Traditional Encrypted Filesystem File 1 Owner: John Encrypted Files stored on Untrusted Server Every user can decrypt its own files File 2 Owner: Tim Files to be shared across different users? 2 A New Encrypted Filesystem File 1 •“Creator: John” Label files with attributes •“Computer Science” •“Admissions” •“Date: 04-11-06” File 2 •“Creator: Tim” •“History” •“Admissions” •“Date: 03-20-05” 3 An Encrypted Filesystem Authority File 1 •“Creator: John” •“Computer Science” •“Admissions” •“Date: 04-11-06” OR File 2 •“Creator: Tim” AND •“History” “Bob” •“Admissions” •“Date: 03-20-05” “Computer Science” “Admissions” 4 Threshold Attribute-Based Enc. [SW05] Sahai-Waters introduced ABE, but only for “threshold policies”: • Ciphertext has set of attributes • User has set of attributes • If more than k attributes match, then User can decrypt. Main Application- Biometrics 5 General Attribute-Based Encryption Ciphertext has set of attributes Keys reflect a tree access structure Decrypt iff attributes from CT OR satisfy key’s policy AND “Computer Science” “Bob” “Admissions” 6 Central goal: Prevent Collusions Users shouldn’t be able to collude AND “Computer Science” “Admissions” AND “History” “Hiring” Ciphertext = M, {“Computer Science”, “Hiring”} 7 Related Work Access Control [Smart03], Hidden Credentials [Holt et al. 03-04] • Not Collusion Resistant Secret Sharing Schemes [Shamir79, Benaloh86…] • Allow Collusion 8 Techniques We combine two ideas Bilinear maps General Secret Sharing Schemes 9 Bilinear Maps G , G1 : multiplicative of prime order p. Def: An admissible bilinear map is: – Non-degenerate: g generates G – Bilinear: e: GG G1 e(g,g) generates G1 . e(ga, gb) = e(g,g)ab a,bZ, gG – Efficiently computable. – Exist based on Elliptic-Curve Cryptography 10 Secret Sharing [Ben86] Secret Sharing for tree-structure of AND + OR Replicate secret for OR’s. Split secrets for AND’s. y OR y AND “Bob” y “Computer Science” (y-r) “Admissions” r 11 The Fixed Attributes System: System Setup Public Parameters List of all possible attributes: gt1, gt2,.... gtn, e(g,g)y “Bob”, “John”, …, “Admissions” 12 Encryption Public Parameters gt1, gt2, gt3,.... gtn, e(g,g)y File 1 •“Creator: John” (attribute 2) Select set of attributes, raise them to random s •“Computer Science” (attribute 3) •“Admissions” (attribute n) Ciphertext gst2 , gst3 , gstn, e(g,g)sy M 13 Key Generation Fresh randomness used for each key generated! Public Parameters gt1, gt2,.... gtn, e(g,g)y y OR Ciphertext y Private Key gst2 , gst3 , gstn, e(g,g)sy M AND “Bob” gy1/t1 , gy3/t3 , gyn/tn “Computer Science” y3= (y-r) y1= y “Admissions” yn= r 14 Decryption Ciphertext Private Key gst2, gst3, gstn, Me(g,g)sy e(g,g)sy3 gy1/t1 , gy3/t3 , gyn/tn e(g,g)sy3e(g,g)syn = e(g,g)s(y-r+r) = e(g,g)sy (Linear operation in exponent to reconstruct e(g,g)sy) 15 Security Reduction: Bilinear Decisional Diffie-Hellman Given ga,gb,gc distinguish e(g,g)abc from random Collusion resistance Can’t combine private key components 16 The Large Universe Construction: Key Idea Any string can be a valid attribute Public Parameters Ciphertext Public Function T(.), e(g,g)y gs, e(g,g)syM For each attribute i: T(i)s e(g,g)syi Private Key For each attribute i gyiT(i)ri , gri 17 Extensions Building from any linear secret sharing scheme In particular, tree of threshold gates… Delegation of Private Keys 18 Delegation Derive a key for a more restrictive policy Subsumes Hierarchical-IBE [Horwitz-Lynn 02, …] OR AND “Computer Science” “Bob” Bob’s Assistant “admissions” Year=2006 19 Applications: Targeted Broadcast Encryption Encrypted stream Ciphertext = S, {“Sport”, “Soccer”, “Germany”, “France”, “11-01-2006”} AND “Soccer” “Germany” AND “Sport” “11-01-2006” 20 Thank You 21