114
Attribute-Based Cryptography Lecture 21 And Pairing-Based Cryptography 1

Attribute-Based Cryptography

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Attribute-Based Cryptography

Attribute-Based Cryptography

Lecture 21And Pairing-Based Cryptography

1

Page 2: Attribute-Based Cryptography

Identity-Based Encryption

2

Page 3: Attribute-Based Cryptography

In PKE, KeyGen produces a random (PK,SK) pair

Identity-Based Encryption

2

Page 4: Attribute-Based Cryptography

In PKE, KeyGen produces a random (PK,SK) pair

Can I have a “fancy public-key” (e.g., my name)?

Identity-Based Encryption

2

Page 5: Attribute-Based Cryptography

In PKE, KeyGen produces a random (PK,SK) pair

Can I have a “fancy public-key” (e.g., my name)?

But no one should be able to pick a PK and find an SK for it

Identity-Based Encryption

2

Page 6: Attribute-Based Cryptography

In PKE, KeyGen produces a random (PK,SK) pair

Can I have a “fancy public-key” (e.g., my name)?

But no one should be able to pick a PK and find an SK for it

But suppose a trusted authority for key generation

Identity-Based Encryption

2

Page 7: Attribute-Based Cryptography

In PKE, KeyGen produces a random (PK,SK) pair

Can I have a “fancy public-key” (e.g., my name)?

But no one should be able to pick a PK and find an SK for it

But suppose a trusted authority for key generation

Then: Can it generate a valid (PK,SK) pair for any PK?

Identity-Based Encryption

2

Page 8: Attribute-Based Cryptography

In PKE, KeyGen produces a random (PK,SK) pair

Can I have a “fancy public-key” (e.g., my name)?

But no one should be able to pick a PK and find an SK for it

But suppose a trusted authority for key generation

Then: Can it generate a valid (PK,SK) pair for any PK?

Identity-Based Encryption: a key-server (with a master secret-key) that can generate such pairs

Identity-Based Encryption

2

Page 9: Attribute-Based Cryptography

In PKE, KeyGen produces a random (PK,SK) pair

Can I have a “fancy public-key” (e.g., my name)?

But no one should be able to pick a PK and find an SK for it

But suppose a trusted authority for key generation

Then: Can it generate a valid (PK,SK) pair for any PK?

Identity-Based Encryption: a key-server (with a master secret-key) that can generate such pairs

Encryption will use the master public-key, and the receiver’s “identity” (i.e., fancy public-key)

Identity-Based Encryption

2

Page 10: Attribute-Based Cryptography

In PKE, KeyGen produces a random (PK,SK) pair

Can I have a “fancy public-key” (e.g., my name)?

But no one should be able to pick a PK and find an SK for it

But suppose a trusted authority for key generation

Then: Can it generate a valid (PK,SK) pair for any PK?

Identity-Based Encryption: a key-server (with a master secret-key) that can generate such pairs

Encryption will use the master public-key, and the receiver’s “identity” (i.e., fancy public-key)In PKE, sender has to retrieve PK for every party it wants to talk to (from a trusted public directory)

Identity-Based Encryption

2

Page 11: Attribute-Based Cryptography

In PKE, KeyGen produces a random (PK,SK) pair

Can I have a “fancy public-key” (e.g., my name)?

But no one should be able to pick a PK and find an SK for it

But suppose a trusted authority for key generation

Then: Can it generate a valid (PK,SK) pair for any PK?

Identity-Based Encryption: a key-server (with a master secret-key) that can generate such pairs

Encryption will use the master public-key, and the receiver’s “identity” (i.e., fancy public-key)In PKE, sender has to retrieve PK for every party it wants to talk to (from a trusted public directory)In IBE, receiver has to obtain its SK from the authority

Identity-Based Encryption

2

Page 12: Attribute-Based Cryptography

Identity-Based Encryption

3

Page 13: Attribute-Based Cryptography

Identity-Based EncryptionSecurity requirement for IBE (will skip formal statement):

3

Page 14: Attribute-Based Cryptography

Identity-Based EncryptionSecurity requirement for IBE (will skip formal statement):

Environment/adversary decides the ID of the honest parties (in the beginning or later on)

3

Page 15: Attribute-Based Cryptography

Identity-Based EncryptionSecurity requirement for IBE (will skip formal statement):

Environment/adversary decides the ID of the honest parties (in the beginning or later on)Adversary can adaptively request SK for any number of IDs (which are not used for honest parties)

3

Page 16: Attribute-Based Cryptography

Identity-Based EncryptionSecurity requirement for IBE (will skip formal statement):

Environment/adversary decides the ID of the honest parties (in the beginning or later on)Adversary can adaptively request SK for any number of IDs (which are not used for honest parties)“Semantic security” for encryption with the ID of honest parties (CPA: with no access to decryption)

3

Page 17: Attribute-Based Cryptography

Identity-Based EncryptionSecurity requirement for IBE (will skip formal statement):

Environment/adversary decides the ID of the honest parties (in the beginning or later on)Adversary can adaptively request SK for any number of IDs (which are not used for honest parties)“Semantic security” for encryption with the ID of honest parties (CPA: with no access to decryption)Or, CCA security: also gets (guarded) access to decryption for honest parties’ IDs

3

Page 18: Attribute-Based Cryptography

Identity-Based EncryptionSecurity requirement for IBE (will skip formal statement):

Environment/adversary decides the ID of the honest parties (in the beginning or later on)Adversary can adaptively request SK for any number of IDs (which are not used for honest parties)“Semantic security” for encryption with the ID of honest parties (CPA: with no access to decryption)Or, CCA security: also gets (guarded) access to decryption for honest parties’ IDs

IBE (even CPA-secure) can easily give CCA-secure PKE!

3

Page 19: Attribute-Based Cryptography

Identity-Based EncryptionSecurity requirement for IBE (will skip formal statement):

Environment/adversary decides the ID of the honest parties (in the beginning or later on)Adversary can adaptively request SK for any number of IDs (which are not used for honest parties)“Semantic security” for encryption with the ID of honest parties (CPA: with no access to decryption)Or, CCA security: also gets (guarded) access to decryption for honest parties’ IDs

IBE (even CPA-secure) can easily give CCA-secure PKE!IBE: Can’t malleate ciphertext for one ID into one for another

3

Page 20: Attribute-Based Cryptography

Identity-Based EncryptionSecurity requirement for IBE (will skip formal statement):

Environment/adversary decides the ID of the honest parties (in the beginning or later on)Adversary can adaptively request SK for any number of IDs (which are not used for honest parties)“Semantic security” for encryption with the ID of honest parties (CPA: with no access to decryption)Or, CCA security: also gets (guarded) access to decryption for honest parties’ IDs

IBE (even CPA-secure) can easily give CCA-secure PKE!IBE: Can’t malleate ciphertext for one ID into one for anotherPKEncMPK(m) = (verkey, C=IBEncMPK(id=verkey; m), signsignkey(C) )

3

Page 21: Attribute-Based Cryptography

Identity-Based EncryptionSecurity requirement for IBE (will skip formal statement):

Environment/adversary decides the ID of the honest parties (in the beginning or later on)Adversary can adaptively request SK for any number of IDs (which are not used for honest parties)“Semantic security” for encryption with the ID of honest parties (CPA: with no access to decryption)Or, CCA security: also gets (guarded) access to decryption for honest parties’ IDs

IBE (even CPA-secure) can easily give CCA-secure PKE!IBE: Can’t malleate ciphertext for one ID into one for anotherPKEncMPK(m) = (verkey, C=IBEncMPK(id=verkey; m), signsignkey(C) )

Digital Signature3

Page 22: Attribute-Based Cryptography

Identity-Based Encryption

4

Page 23: Attribute-Based Cryptography

Identity-Based EncryptionNotion of IBE suggested by Shamir in 1984 (but no construction)

4

Page 24: Attribute-Based Cryptography

Identity-Based EncryptionNotion 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

4

Page 25: Attribute-Based Cryptography

Identity-Based EncryptionNotion 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

4

Page 26: Attribute-Based Cryptography

Identity-Based EncryptionNotion 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)

4

Page 27: Attribute-Based Cryptography

Identity-Based EncryptionNotion 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) )

4

Page 28: Attribute-Based Cryptography

Identity-Based EncryptionNotion 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 SKO ID-NIKD (but with a proof of security in the random oracle model)

4

Page 29: Attribute-Based Cryptography

Identity-Based EncryptionNotion 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 SKO ID-NIKD (but with a proof of security in the random oracle model)

Pairing-based, without RO: Boneh-Boyen (2004), Waters (2005), ...

4

Page 30: Attribute-Based Cryptography

Identity-Based EncryptionNotion 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 SKO 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, ...

4

Page 31: Attribute-Based Cryptography

Bilinear Pairing

5

Page 32: Attribute-Based Cryptography

Bilinear PairingA relatively new (and less understood) tool

5

Page 33: Attribute-Based Cryptography

Bilinear PairingA relatively new (and less understood) tool

Two (or three) groups with an efficient pairing operation, e: G x G → GT that is “bilinear”

5

Page 34: Attribute-Based Cryptography

Bilinear PairingA relatively new (and less understood) tool

Two (or three) groups with an efficient pairing operation, e: G x G → GT that is “bilinear”

Typically, prime order (cyclic) groups

5

Page 35: Attribute-Based Cryptography

Bilinear PairingA relatively new (and less understood) tool

Two (or three) groups with an efficient pairing operation, e: G x G → GT that is “bilinear”

Typically, prime order (cyclic) groups

e(ga,hb) = e(g,h)ab

5

Page 36: Attribute-Based Cryptography

Bilinear PairingA relatively new (and less understood) tool

Two (or three) groups with an efficient pairing operation, e: G x G → GT that is “bilinear”

Typically, prime order (cyclic) groups

e(ga,hb) = e(g,h)ab

Multiplication (once) in the exponent!

5

Page 37: Attribute-Based Cryptography

Bilinear PairingA relatively new (and less understood) tool

Two (or three) groups with an efficient pairing operation, e: G x G → GT that is “bilinear”

Typically, prime order (cyclic) groups

e(ga,hb) = e(g,h)ab

Multiplication (once) in the exponent!

e(gaga’,gb) = e(ga,gb) e(ga’,gb) ; e(ga,gbc) = e(gac,gb) ; ...

5

Page 38: Attribute-Based Cryptography

Bilinear PairingA relatively new (and less understood) tool

Two (or three) groups with an efficient pairing operation, e: G x G → GT that is “bilinear”

Typically, prime order (cyclic) groups

e(ga,hb) = e(g,h)ab

Multiplication (once) in the exponent!

e(gaga’,gb) = e(ga,gb) e(ga’,gb) ; e(ga,gbc) = e(gac,gb) ; ...

Not degenerate: e(g,g,) ! 1

5

Page 39: Attribute-Based Cryptography

Decisional Bilinear- Diffie-Hellman Assumption

6

Page 40: Attribute-Based Cryptography

Decisional Bilinear- Diffie-Hellman Assumption

DDH is not hard in G, if there is a bilinear pairing

6

Page 41: Attribute-Based Cryptography

Decisional Bilinear- Diffie-Hellman Assumption

DDH is not hard in G, if there is a bilinear pairing

Given (ga,gb,gz) check if e(ga,gb) = e(gz,g)

6

Page 42: Attribute-Based Cryptography

Decisional Bilinear- Diffie-Hellman Assumption

DDH is not hard in G, if there is a bilinear pairing

Given (ga,gb,gz) check if e(ga,gb) = e(gz,g)

Decisional Bilinear DH assumption: (ga,gb,gc,gabc) is indistinguishable from (ga,gb,gc,gz). (a,b,c,z random)

6

Page 43: Attribute-Based Cryptography

IBE from Pairing

7

Page 44: Attribute-Based Cryptography

IBE from Pairing

MPK: g,h, Y=e(g,h)y, " = (u,u1,...,un)

7

Page 45: Attribute-Based Cryptography

IBE from Pairing

MPK: g,h, Y=e(g,h)y, " = (u,u1,...,un)

MSK: hy

7

Page 46: Attribute-Based Cryptography

IBE from Pairing

MPK: g,h, Y=e(g,h)y, " = (u,u1,...,un)

MSK: hy

Enc(m;s) = ( gs, "(ID)s, M.Ys)

7

Page 47: Attribute-Based Cryptography

IBE from Pairing

MPK: g,h, Y=e(g,h)y, " = (u,u1,...,un)

MSK: hy

Enc(m;s) = ( gs, "(ID)s, M.Ys)

"(ID) = u Π uii:IDi=1

7

Page 48: Attribute-Based Cryptography

IBE from Pairing

MPK: g,h, Y=e(g,h)y, " = (u,u1,...,un)

MSK: hy

Enc(m;s) = ( gs, "(ID)s, M.Ys)

SK for ID: ( hy."(ID)t, gt ) = (d1, d2)

"(ID) = u Π uii:IDi=1

7

Page 49: Attribute-Based Cryptography

IBE from Pairing

MPK: g,h, Y=e(g,h)y, " = (u,u1,...,un)

MSK: hy

Enc(m;s) = ( gs, "(ID)s, M.Ys)

SK for ID: ( hy."(ID)t, gt ) = (d1, d2)

Dec ( a, b, c; d1, d2 ) = c/ [ e(b,d2) / e(a,d1) ]

"(ID) = u Π uii:IDi=1

7

Page 50: Attribute-Based Cryptography

IBE from Pairing

MPK: g,h, Y=e(g,h)y, " = (u,u1,...,un)

MSK: hy

Enc(m;s) = ( gs, "(ID)s, M.Ys)

SK for ID: ( hy."(ID)t, gt ) = (d1, d2)

Dec ( a, b, c; d1, d2 ) = c/ [ e(b,d2) / e(a,d1) ]

CPA security based on Decisional-BDH

"(ID) = u Π uii:IDi=1

7

Page 51: Attribute-Based Cryptography

Attribute-Based Encryption

8

Page 52: Attribute-Based Cryptography

Attribute-Based Encryption

Which users can decrypt a ciphertext will be decided by the attributes and policies associated with the message and the user

8

Page 53: Attribute-Based Cryptography

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

8

Page 54: Attribute-Based Cryptography

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

8

Page 55: Attribute-Based Cryptography

Ciphertext-Policy ABE

9

Page 56: Attribute-Based Cryptography

Ciphertext-Policy ABE

Users in the system have attributes; receives a key (or “key bundle”) from an authority for its set of attributes

9

Page 57: Attribute-Based Cryptography

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)

9

Page 58: Attribute-Based Cryptography

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

9

Page 59: Attribute-Based Cryptography

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

9

Page 60: Attribute-Based Cryptography

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

9

Page 61: Attribute-Based Cryptography

Key-Policy ABE

10

Page 62: Attribute-Based Cryptography

Key-Policy ABEAttributes will be assigned to a ciphertext (when creating the ciphertext)

10

Page 63: Attribute-Based Cryptography

Key-Policy ABEAttributes will be assigned to a ciphertext (when creating the ciphertext)

Policies will be assigned to users/keys by an authority (who creates the keys)

10

Page 64: Attribute-Based Cryptography

Key-Policy ABEAttributes 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

10

Page 65: Attribute-Based Cryptography

Key-Policy ABEAttributes 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

10

Page 66: Attribute-Based Cryptography

Key-Policy ABEAttributes 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 the one in the policy

10

Page 67: Attribute-Based Cryptography

Key-Policy ABEAttributes 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 the one in the policy

Audit log inspection: grant auditor authority to read only messages with certain attributes

10

Page 68: Attribute-Based Cryptography

A KP-ABE Scheme

11

Page 69: Attribute-Based Cryptography

A KP-ABE SchemeA construction that supports “linear policies”

11

Page 70: Attribute-Based Cryptography

A KP-ABE SchemeA construction that supports “linear policies”

Policy corresponds to a (monotonic) access structure (sets of attributes that when pooled satisfy the policy)

11

Page 71: Attribute-Based Cryptography

A KP-ABE SchemeA 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

11

Page 72: Attribute-Based Cryptography

A KP-ABE SchemeA 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]

11

Page 73: Attribute-Based Cryptography

A KP-ABE SchemeA 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

11

Page 74: Attribute-Based Cryptography

A KP-ABE SchemeA 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) )

11

Page 75: Attribute-Based Cryptography

A KP-ABE SchemeA 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 matrix11

Page 76: Attribute-Based Cryptography

Example of a “Linear Policy”

12

Page 77: Attribute-Based Cryptography

Example of a “Linear Policy”

Consider this policy, over 7 attributes

12

Page 78: Attribute-Based Cryptography

Example of a “Linear Policy”

Consider this policy, over 7 attributes OR

AND ANDAND

OR

12

Page 79: Attribute-Based Cryptography

Example of a “Linear Policy”

Consider this policy, over 7 attributes

L:OR

AND ANDAND

OR

12

Page 80: Attribute-Based Cryptography

Example of a “Linear Policy”

Consider this policy, over 7 attributes

L:OR

AND ANDAND

OR

0 1 1 11 0 0 01 1 0 10 0 1 01 1 1 01 1 1 00 0 0 1

12

Page 81: Attribute-Based Cryptography

Example of a “Linear Policy”

Consider this policy, over 7 attributes

L:

Can allow threshold gates too

OR

AND ANDAND

OR

0 1 1 11 0 0 01 1 0 10 0 1 01 1 1 01 1 1 00 0 0 1

12

Page 82: Attribute-Based Cryptography

A KP-ABE Scheme

13

Page 83: Attribute-Based Cryptography

A KP-ABE SchemeMPK: g, Y=e(g,g)y, T = (gt1,..., gtn) (n attributes)

13

Page 84: Attribute-Based Cryptography

A KP-ABE SchemeMPK: g, Y=e(g,g)y, T = (gt1,..., gtn) (n attributes)

MSK: ta for each attribute

13

Page 85: Attribute-Based Cryptography

A KP-ABE SchemeMPK: g, Y=e(g,g)y, T = (gt1,..., gtn) (n attributes)

MSK: ta for each attribute

Enc(m,A;s) = ( A, { Tas }a∈A, M.Ys )

13

Page 86: Attribute-Based Cryptography

A KP-ABE SchemeMPK: g, Y=e(g,g)y, T = (gt1,..., gtn) (n attributes)

MSK: ta for each attribute

Enc(m,A;s) = ( A, { Tas }a∈A, M.Ys )

SK for policy L (with d rows): Let u=(u1 ... ud) s.t. Σi ui = y. For each row i, let xi = <Li,u>/tlabel(i). Let Key = { gxi }i=1 to d

13

Page 87: Attribute-Based Cryptography

A KP-ABE SchemeMPK: g, Y=e(g,g)y, T = (gt1,..., gtn) (n attributes)

MSK: ta for each attribute

Enc(m,A;s) = ( A, { Tas }a∈A, M.Ys )

SK for policy L (with d rows): Let u=(u1 ... ud) s.t. Σi ui = y. For each row i, let xi = <Li,u>/tlabel(i). Let Key = { gxi }i=1 to d

Dec ( (A,{Ua}a∈A,c); {Xi}row i) : Get Ys = Πi:label(i)∈A e(Ulabel(i),Xi)vi where v = [v1 ... vd] s.t. vi=0 if label(i) ∉ A, and vL=[1...1]

13

Page 88: Attribute-Based Cryptography

A KP-ABE SchemeMPK: g, Y=e(g,g)y, T = (gt1,..., gtn) (n attributes)

MSK: ta for each attribute

Enc(m,A;s) = ( A, { Tas }a∈A, M.Ys )

SK for policy L (with d rows): Let u=(u1 ... ud) s.t. Σi ui = y. For each row i, let xi = <Li,u>/tlabel(i). Let Key = { gxi }i=1 to d

Dec ( (A,{Ua}a∈A,c); {Xi}row i) : Get Ys = Πi:label(i)∈A e(Ulabel(i),Xi)vi where v = [v1 ... vd] s.t. vi=0 if label(i) ∉ A, and vL=[1...1]

CPA security based on Decisional-BDH

13

Page 89: Attribute-Based Cryptography

A KP-ABE SchemeMPK: g, Y=e(g,g)y, T = (gt1,..., gtn) (n attributes)

MSK: ta for each attribute

Enc(m,A;s) = ( A, { Tas }a∈A, M.Ys )

SK for policy L (with d rows): Let u=(u1 ... ud) s.t. Σi ui = y. For each row i, let xi = <Li,u>/tlabel(i). Let Key = { gxi }i=1 to d

Dec ( (A,{Ua}a∈A,c); {Xi}row i) : Get Ys = Πi:label(i)∈A e(Ulabel(i),Xi)vi where v = [v1 ... vd] s.t. vi=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

13

Page 90: Attribute-Based Cryptography

Predicate Encryption

14

Page 91: Attribute-Based Cryptography

Predicate Encryption

Similar to ABE, but the ciphertext hides the attributes/policy

14

Page 92: Attribute-Based Cryptography

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

14

Page 93: Attribute-Based Cryptography

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

14

Page 94: Attribute-Based Cryptography

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

14

Page 95: Attribute-Based Cryptography

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 using stronger (“non-standard”) assumptions

14

Page 96: Attribute-Based Cryptography

Attribute-Based Signatures

15

Page 97: Attribute-Based Cryptography

Attribute-Based Signatures

“Claim-and-endorse”: Claim to have attributes satisfying a certain policy, and sign a message

15

Page 98: Attribute-Based Cryptography

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

15

Page 99: Attribute-Based Cryptography

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: Verification without learning how the policy was satisfied

15

Page 100: Attribute-Based Cryptography

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: Verification without learning how the policy was satisfied

Also unlinkable: cannot link multiple signatures as originating from the same signer

15

Page 101: Attribute-Based Cryptography

An ABS Construction

16

Page 102: Attribute-Based Cryptography

An ABS ConstructionUsing “Credential Bundles” and NIZK proofs (in fact, NIWI proofs)

16

Page 103: Attribute-Based Cryptography

An ABS ConstructionUsing “Credential Bundles” and NIZK proofs (in fact, NIWI proofs)

Credential Bundle for a set of attributes:

16

Page 104: Attribute-Based Cryptography

An ABS ConstructionUsing “Credential Bundles” and NIZK proofs (in fact, NIWI proofs)

Credential Bundle for a set of attributes:

Given multiple credential bundles, can’t create a credential bundle for a new set, unless it is a subset of attributes in a single given credential bundle

16

Page 105: Attribute-Based Cryptography

An ABS ConstructionUsing “Credential Bundles” and NIZK proofs (in fact, NIWI proofs)

Credential Bundle for a set of attributes:

Given multiple credential bundles, can’t create a credential bundle for a new set, unless it is a subset of attributes in a single given credential bundle

Map each (claim,message) to a “pseudo-attribute”

16

Page 106: Attribute-Based Cryptography

An ABS ConstructionUsing “Credential Bundles” and NIZK proofs (in fact, NIWI proofs)

Credential Bundle for a set of attributes:

Given multiple credential bundles, can’t create a credential bundle for a new set, unless it is a subset of attributes in a single given credential bundle

Map each (claim,message) to a “pseudo-attribute”

Signing key: credential bundle for (real) attributes possessed

16

Page 107: Attribute-Based Cryptography

An ABS ConstructionUsing “Credential Bundles” and NIZK proofs (in fact, NIWI proofs)

Credential Bundle for a set of attributes:

Given multiple credential bundles, can’t create a credential bundle for a new set, unless it is a subset of attributes in a single given credential bundle

Map each (claim,message) to a “pseudo-attribute”

Signing key: credential bundle for (real) attributes possessed

Signature: a NIZK proof of knowledge of a credential-bundle for attributes satisfying the claim, or a credential for the pseudo-attribute corresponding to (claim,message)

16

Page 108: Attribute-Based Cryptography

An ABS ConstructionUsing “Credential Bundles” and NIZK proofs (in fact, NIWI proofs)

Credential Bundle for a set of attributes:

Given multiple credential bundles, can’t create a credential bundle for a new set, unless it is a subset of attributes in a single given credential bundle

Map each (claim,message) to a “pseudo-attribute”

Signing key: credential bundle for (real) attributes possessed

Signature: a NIZK proof of knowledge of a credential-bundle for attributes satisfying the claim, or a credential for the pseudo-attribute corresponding to (claim,message)

Using conventional tools. More efficiently using bilinear pairings.

16

Page 109: Attribute-Based Cryptography

Today

17

Page 110: Attribute-Based Cryptography

Today

IBE, ABE and ABS

17

Page 111: Attribute-Based Cryptography

Today

IBE, ABE and ABS

Pairing-based cryptography

17

Page 112: Attribute-Based Cryptography

Today

IBE, ABE and ABS

Pairing-based cryptography

Next up:

17

Page 113: Attribute-Based Cryptography

Today

IBE, ABE and ABS

Pairing-based cryptography

Next up:

Some more applications of pairing-based cryptography

17

Page 114: Attribute-Based Cryptography

Today

IBE, ABE and ABS

Pairing-based cryptography

Next up:

Some more applications of pairing-based cryptography

Generic groups

17