attribute based cryptography
play

Attribute-Based Cryptography Lecture 21 And Pairing-Based - PowerPoint PPT Presentation

Attribute-Based Cryptography Lecture 21 And Pairing-Based Cryptography Identity-Based Encryption Identity-Based Encryption In PKE, KeyGen produces a random (PK,SK) pair Identity-Based Encryption In PKE, KeyGen produces a random (PK,SK) pair


  1. Identity-Based Encryption Notion of IBE suggested by Shamir in 1984 (but no construction) An “identity-based non-interactive key-distribution” scheme by Sakai-Ohgishi-Kasahara (2000) using bilinear-pairings and a random oracle But no formal proof of security Quadratic Residuosity based scheme by Cocks (2001) But long ciphertexts (Shorter, but slower scheme by Boneh-Gentry-Hamburg (2007) ) Boneh-Franklin IBE (2001): similar to [SOK] ID-NIKD (but with a proof of security in the random oracle model) Pairing-based, without RO: Boneh-Boyen (2004), Waters (2005), ...

  2. Identity-Based Encryption Notion of IBE suggested by Shamir in 1984 (but no construction) An “identity-based non-interactive key-distribution” scheme by Sakai-Ohgishi-Kasahara (2000) using bilinear-pairings and a random oracle But no formal proof of security Quadratic Residuosity based scheme by Cocks (2001) But long ciphertexts (Shorter, but slower scheme by Boneh-Gentry-Hamburg (2007) ) Boneh-Franklin IBE (2001): similar to [SOK] ID-NIKD (but with a proof of security in the random oracle model) Pairing-based, without RO: Boneh-Boyen (2004), Waters (2005), ... Without pairing: Using QR, Lattices, ...

  3. Bilinear Pairing

  4. Bilinear Pairing A relatively new (and less understood) tool in cryptography

  5. Bilinear Pairing A relatively new (and less understood) tool in cryptography Two (or three) groups with an efficient pairing operation, e: G x G → G T that is “bilinear”

  6. Bilinear Pairing A relatively new (and less understood) tool in cryptography Two (or three) groups with an efficient pairing operation, e: G x G → G T that is “bilinear” Typically, prime order (cyclic) groups

  7. Bilinear Pairing A relatively new (and less understood) tool in cryptography Two (or three) groups with an efficient pairing operation, e: G x G → G T that is “bilinear” Typically, prime order (cyclic) groups e(g a ,h b ) = e(g,h) ab

  8. Bilinear Pairing A relatively new (and less understood) tool in cryptography Two (or three) groups with an efficient pairing operation, e: G x G → G T that is “bilinear” Typically, prime order (cyclic) groups e(g a ,h b ) = e(g,h) ab Multiplication (once) in the exponent!

  9. Bilinear Pairing A relatively new (and less understood) tool in cryptography Two (or three) groups with an efficient pairing operation, e: G x G → G T that is “bilinear” Typically, prime order (cyclic) groups e(g a ,h b ) = e(g,h) ab Multiplication (once) in the exponent! e(g a g a’ ,g b ) = e(g a ,g b ) e(g a’ ,g b ) ; e(g a ,g bc ) = e(g ac ,g b ) ; ...

  10. Bilinear Pairing A relatively new (and less understood) tool in cryptography Two (or three) groups with an efficient pairing operation, e: G x G → G T that is “bilinear” Typically, prime order (cyclic) groups e(g a ,h b ) = e(g,h) ab Multiplication (once) in the exponent! e(g a g a’ ,g b ) = e(g a ,g b ) e(g a’ ,g b ) ; e(g a ,g bc ) = e(g ac ,g b ) ; ... Required to be not degenerate: e(g,g) ≠ 1

  11. Decisional Bilinear- Diffie-Hellman Assumption

  12. Decisional Bilinear- Diffie-Hellman Assumption DDH is not hard in G, if there is a bilinear pairing

  13. Decisional Bilinear- Diffie-Hellman Assumption DDH is not hard in G, if there is a bilinear pairing Given (g a ,g b ,g z ) check if e(g a ,g b ) = e(g z ,g)

  14. Decisional Bilinear- Diffie-Hellman Assumption DDH is not hard in G, if there is a bilinear pairing Given (g a ,g b ,g z ) check if e(g a ,g b ) = e(g z ,g) Decisional Bilinear DH assumption: (g a ,g b ,g c ,g abc ) is indistinguishable from (g a ,g b ,g c ,g z ). (a,b,c,z random)

  15. IBE from Pairing

  16. IBE from Pairing MPK: g,h, Y=e(g,h) y , π = (u,u 1 ,...,u n )

  17. IBE from Pairing MPK: g,h, Y=e(g,h) y , π = (u,u 1 ,...,u n ) MSK: h y

  18. IBE from Pairing MPK: g,h, Y=e(g,h) y , π = (u,u 1 ,...,u n ) MSK: h y Enc(m;s) = ( g s , π (ID) s , M.Y s )

  19. IBE from Pairing MPK: g,h, Y=e(g,h) y , π = (u,u 1 ,...,u n ) π (ID) = u Π u i MSK: h y i:ID i =1 Enc(m;s) = ( g s , π (ID) s , M.Y s )

  20. IBE from Pairing MPK: g,h, Y=e(g,h) y , π = (u,u 1 ,...,u n ) π (ID) = u Π u i MSK: h y i:ID i =1 Enc(m;s) = ( g s , π (ID) s , M.Y s ) SK for ID: ( g t , h y . π (ID) t ) = (d 1 , d 2 )

  21. IBE from Pairing MPK: g,h, Y=e(g,h) y , π = (u,u 1 ,...,u n ) π (ID) = u Π u i MSK: h y i:ID i =1 Enc(m;s) = ( g s , π (ID) s , M.Y s ) SK for ID: ( g t , h y . π (ID) t ) = (d 1 , d 2 ) Dec ( a, b, c; d 1 , d 2 ) = c/ [ e(a,d 2 ) / e(b,d 1 ) ]

  22. IBE from Pairing MPK: g,h, Y=e(g,h) y , π = (u,u 1 ,...,u n ) π (ID) = u Π u i MSK: h y i:ID i =1 Enc(m;s) = ( g s , π (ID) s , M.Y s ) SK for ID: ( g t , h y . π (ID) t ) = (d 1 , d 2 ) Dec ( a, b, c; d 1 , d 2 ) = c/ [ e(a,d 2 ) / e(b,d 1 ) ] CPA security based on Decisional-BDH

  23. Attribute-Based Encryption

  24. Attribute-Based Encryption Which users can decrypt a ciphertext will be decided by the attributes and policies associated with the message and the user

  25. Attribute-Based Encryption Which users can decrypt a ciphertext will be decided by the attributes and policies associated with the message and the user A central authority will create secret keys for the users (like in IBE) based on attributes/policies for each user

  26. Attribute-Based Encryption Which users can decrypt a ciphertext will be decided by the attributes and policies associated with the message and the user A central authority will create secret keys for the users (like in IBE) based on attributes/policies for each user Ciphertexts can be created (by anyone) by incorporating attributes/policies

  27. Ciphertext-Policy ABE

  28. Ciphertext-Policy ABE Users in the system have attributes; receives a key (or “key bundle”) from an authority for its set of attributes

  29. Ciphertext-Policy ABE Users in the system have attributes; receives a key (or “key bundle”) from an authority for its set of attributes Ciphertext contains a policy (a boolean predicate over the attribute space)

  30. Ciphertext-Policy ABE Users in the system have attributes; receives a key (or “key bundle”) from an authority for its set of attributes Ciphertext contains a policy (a boolean predicate over the attribute space) If a user’ s attribute set satisfies the policy, can use its key bundle to decrypt the ciphertext

  31. Ciphertext-Policy ABE Users in the system have attributes; receives a key (or “key bundle”) from an authority for its set of attributes Ciphertext contains a policy (a boolean predicate over the attribute space) If a user’ s attribute set satisfies the policy, can use its key bundle to decrypt the ciphertext Multiple users cannot pool their attributes together

  32. Ciphertext-Policy ABE Users in the system have attributes; receives a key (or “key bundle”) from an authority for its set of attributes Ciphertext contains a policy (a boolean predicate over the attribute space) If a user’ s attribute set satisfies the policy, can use its key bundle to decrypt the ciphertext Multiple users cannot pool their attributes together Application: End-to-End privacy in Attribute-Based Messaging

  33. Key-Policy ABE

  34. Key-Policy ABE Attributes will be assigned to a ciphertext (when creating the ciphertext)

  35. Key-Policy ABE Attributes will be assigned to a ciphertext (when creating the ciphertext) Policies will be assigned to users/keys by an authority (who creates the keys)

  36. Key-Policy ABE Attributes will be assigned to a ciphertext (when creating the ciphertext) Policies will be assigned to users/keys by an authority (who creates the keys) A key can decrypt only those ciphertexts whose attributes satisfy the policy

  37. Key-Policy ABE Attributes will be assigned to a ciphertext (when creating the ciphertext) Policies will be assigned to users/keys by an authority (who creates the keys) A key can decrypt only those ciphertexts whose attributes satisfy the policy E.g. Applications

  38. Key-Policy ABE Attributes will be assigned to a ciphertext (when creating the ciphertext) Policies will be assigned to users/keys by an authority (who creates the keys) A key can decrypt only those ciphertexts whose attributes satisfy the policy E.g. Applications Fuzzy IBE: use a policy that allows receiver’ s ID to be slightly different from an ID specified in the policy

  39. Key-Policy ABE Attributes will be assigned to a ciphertext (when creating the ciphertext) Policies will be assigned to users/keys by an authority (who creates the keys) A key can decrypt only those ciphertexts whose attributes satisfy the policy E.g. Applications Fuzzy IBE: use a policy that allows receiver’ s ID to be slightly different from an ID specified in the policy Audit log inspection: grant auditor authority to read only messages with certain attributes

  40. A KP-ABE Scheme

  41. A KP-ABE Scheme A construction that supports “linear policies”

  42. A KP-ABE Scheme A construction that supports “linear policies” Policy corresponds to a (monotonic) access structure (sets of attributes that when pooled satisfy the policy)

  43. A KP-ABE Scheme A construction that supports “linear policies” Policy corresponds to a (monotonic) access structure (sets of attributes that when pooled satisfy the policy) Linear: Matrix L with each row labeled by an attribute, such that a set of attributes S satisfies the policy iff

  44. A KP-ABE Scheme A construction that supports “linear policies” Policy corresponds to a (monotonic) access structure (sets of attributes that when pooled satisfy the policy) Linear: Matrix L with each row labeled by an attribute, such that a set of attributes S satisfies the policy iff there is a vector v such that v.L=[1 1 ... 1]

  45. A KP-ABE Scheme A construction that supports “linear policies” Policy corresponds to a (monotonic) access structure (sets of attributes that when pooled satisfy the policy) Linear: Matrix L with each row labeled by an attribute, such that a set of attributes S satisfies the policy iff there is a vector v such that v.L=[1 1 ... 1] and, labels corresponding to non-zero entries of v are all contained in S

  46. A KP-ABE Scheme A construction that supports “linear policies” Policy corresponds to a (monotonic) access structure (sets of attributes that when pooled satisfy the policy) Linear: Matrix L with each row labeled by an attribute, such that a set of attributes S satisfies the policy iff there is a vector v such that v.L=[1 1 ... 1] and, labels corresponding to non-zero entries of v are all contained in S Linear algebra over some finite field (e.g. GF(p) )

  47. A KP-ABE Scheme A construction that supports “linear policies” Policy corresponds to a (monotonic) access structure (sets of attributes that when pooled satisfy the policy) Linear: Matrix L with each row labeled by an attribute, such that a set of attributes S satisfies the policy iff there is a vector v such that v.L=[1 1 ... 1] and, labels corresponding to non-zero entries of v are all contained in S Linear algebra over some finite field (e.g. GF(p) ) For efficiency need a small matrix

  48. Example of a “Linear Policy”

  49. Example of a “Linear Policy” Consider this policy, over 7 attributes

  50. Example of a “Linear Policy” Consider this policy, over 7 attributes OR AND AND AND OR

  51. Example of a “Linear Policy” Consider this policy, over 7 attributes OR L: AND AND AND OR

  52. Example of a “Linear Policy” Consider this policy, over 7 attributes OR L: 0 1 1 1 AND AND 1 0 0 0 AND 1 1 0 1 0 0 1 0 OR 1 1 1 0 1 1 1 0 0 0 0 1

  53. Example of a “Linear Policy” Consider this policy, over 7 attributes OR L: 0 1 1 1 AND AND 1 0 0 0 AND 1 1 0 1 0 0 1 0 OR 1 1 1 0 1 1 1 0 0 0 0 1 Can allow threshold gates too

  54. A KP-ABE Scheme

  55. A KP-ABE Scheme MPK: g, Y=e(g,g) y , T = (g t1 ,..., g tn ) (n attributes)

  56. A KP-ABE Scheme MPK: g, Y=e(g,g) y , T = (g t1 ,..., g tn ) (n attributes) MSK: y and t a for each attribute a

  57. A KP-ABE Scheme MPK: g, Y=e(g,g) y , T = (g t1 ,..., g tn ) (n attributes) MSK: y and t a for each attribute a Enc(m,A;s) = ( A, { T as } a ∈ A , M.Y s )

  58. A KP-ABE Scheme MPK: g, Y=e(g,g) y , T = (g t1 ,..., g tn ) (n attributes) MSK: y and t a for each attribute a Enc(m,A;s) = ( A, { T as } a ∈ A , M.Y s ) SK for policy L (with d rows): Let u=(u 1 ... u d ) s.t. Σ i u i = y. For each row i, let x i = <L i ,u>/t label(i) . Let Key X = { g x i } i=1 to d

  59. A KP-ABE Scheme MPK: g, Y=e(g,g) y , T = (g t1 ,..., g tn ) (n attributes) MSK: y and t a for each attribute a Enc(m,A;s) = ( A, { T as } a ∈ A , M.Y s ) SK for policy L (with d rows): Let u=(u 1 ... u d ) s.t. Σ i u i = y. For each row i, let x i = <L i ,u>/t label(i) . Let Key X = { g x i } i=1 to d Dec ( (A, {Z a } a ∈ A ,c); {X i } row i ) : Get Y s = Π i:label(i) ∈ A e(Z label(i) ,X i ) V i where v = [v 1 ... v d ] s.t. v i =0 if label(i) ∉ A, and vL=[1...1]

  60. A KP-ABE Scheme MPK: g, Y=e(g,g) y , T = (g t1 ,..., g tn ) (n attributes) MSK: y and t a for each attribute a Enc(m,A;s) = ( A, { T as } a ∈ A , M.Y s ) SK for policy L (with d rows): Let u=(u 1 ... u d ) s.t. Σ i u i = y. For each row i, let x i = <L i ,u>/t label(i) . Let Key X = { g x i } i=1 to d Dec ( (A, {Z a } a ∈ A ,c); {X i } row i ) : Get Y s = Π i:label(i) ∈ A e(Z label(i) ,X i ) V i where v = [v 1 ... v d ] s.t. v i =0 if label(i) ∉ A, and vL=[1...1] CPA security based on Decisional-BDH

  61. A KP-ABE Scheme MPK: g, Y=e(g,g) y , T = (g t1 ,..., g tn ) (n attributes) MSK: y and t a for each attribute a Enc(m,A;s) = ( A, { T as } a ∈ A , M.Y s ) SK for policy L (with d rows): Let u=(u 1 ... u d ) s.t. Σ i u i = y. For each row i, let x i = <L i ,u>/t label(i) . Let Key X = { g x i } i=1 to d Dec ( (A, {Z a } a ∈ A ,c); {X i } row i ) : Get Y s = Π i:label(i) ∈ A e(Z label(i) ,X i ) V i where v = [v 1 ... v d ] s.t. v i =0 if label(i) ∉ A, and vL=[1...1] CPA security based on Decisional-BDH Choosing a random vector u for each key helps in preventing collusion

  62. Predicate Encryption

  63. Predicate Encryption Similar to ABE, but the ciphertext hides the attributes/policy

  64. Predicate Encryption Similar to ABE, but the ciphertext hides the attributes/policy Decryption reveals only whether a condition is satisfied by the ciphertext, and if it is, reveals the message too

  65. Predicate Encryption Similar to ABE, but the ciphertext hides the attributes/policy Decryption reveals only whether a condition is satisfied by the ciphertext, and if it is, reveals the message too e.g.: ciphertext contains a vector c, and key a vector d. Predicate: whether <c,d> = 0 or not

  66. Predicate Encryption Similar to ABE, but the ciphertext hides the attributes/policy Decryption reveals only whether a condition is satisfied by the ciphertext, and if it is, reveals the message too e.g.: ciphertext contains a vector c, and key a vector d. Predicate: whether <c,d> = 0 or not A building block for other predicates

  67. Predicate Encryption Similar to ABE, but the ciphertext hides the attributes/policy Decryption reveals only whether a condition is satisfied by the ciphertext, and if it is, reveals the message too e.g.: ciphertext contains a vector c, and key a vector d. Predicate: whether <c,d> = 0 or not A building block for other predicates Constructions based on the Decision Linear assumption

  68. Predicate Encryption Similar to ABE, but the ciphertext hides the attributes/policy Decryption reveals only whether a condition is satisfied by the ciphertext, and if it is, reveals the message too e.g.: ciphertext contains a vector c, and key a vector d. Predicate: whether <c,d> = 0 or not A building block for other predicates Constructions based on the Decision Linear assumption (f,g,h,f x ,g y ,h x+y ) and (f,g,h,f x ,g y ,h z ) indistinguishable for random f, g, h, x, y, z.

  69. Attribute-Based Signatures

  70. Attribute-Based Signatures “Claim-and-endorse”: Claim to have attributes satisfying a certain policy, and sign a message

  71. Attribute-Based Signatures “Claim-and-endorse”: Claim to have attributes satisfying a certain policy, and sign a message Soundness: can’ t forge, even by colluding

  72. Attribute-Based Signatures “Claim-and-endorse”: Claim to have attributes satisfying a certain policy, and sign a message Soundness: can’ t forge, even by colluding Hiding: Doesn’ t reveal how the policy was satisfied (beyond what is implied by the fact that it was)

Recommend


More recommend