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

attribute based cryptography
SMART_READER_LITE
LIVE PREVIEW

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

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


slide-1
SLIDE 1

Attribute-Based Cryptography

Lecture 21 And Pairing-Based Cryptography

1

slide-2
SLIDE 2

Identity-Based Encryption

2

slide-3
SLIDE 3

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

Identity-Based Encryption

2

slide-4
SLIDE 4

In PKE, KeyGen produces a random (PK,SK) pair Can I have a “fancy public-key” (e.g., my name)?

Identity-Based Encryption

2

slide-5
SLIDE 5

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

slide-6
SLIDE 6

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

slide-7
SLIDE 7

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

slide-8
SLIDE 8

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

slide-9
SLIDE 9

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

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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

slide-12
SLIDE 12

Identity-Based Encryption

3

slide-13
SLIDE 13

Identity-Based Encryption

Security requirement for IBE (will skip formal statement):

3

slide-14
SLIDE 14

Identity-Based Encryption

Security requirement for IBE (will skip formal statement): Environment/adversary decides the ID of the honest parties (in the beginning or later on)

3

slide-15
SLIDE 15

Identity-Based Encryption

Security 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

slide-16
SLIDE 16

Identity-Based Encryption

Security 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

slide-17
SLIDE 17

Identity-Based Encryption

Security 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

slide-18
SLIDE 18

Identity-Based Encryption

Security 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

slide-19
SLIDE 19

Identity-Based Encryption

Security 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

slide-20
SLIDE 20

Identity-Based Encryption

Security 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 PKEncMPK(m) = (verkey, C=IBEncMPK(id=verkey; m), signsignkey(C) )

3

slide-21
SLIDE 21

Identity-Based Encryption

Security 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 PKEncMPK(m) = (verkey, C=IBEncMPK(id=verkey; m), signsignkey(C) )

Digital Signature

3

slide-22
SLIDE 22

Identity-Based Encryption

4

slide-23
SLIDE 23

Identity-Based Encryption

Notion of IBE suggested by Shamir in 1984 (but no construction)

4

slide-24
SLIDE 24

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

  • racle

4

slide-25
SLIDE 25

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

  • racle

But no formal proof of security

4

slide-26
SLIDE 26

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

  • racle

But no formal proof of security Quadratic Residuosity based scheme by Cocks (2001)

4

slide-27
SLIDE 27

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

  • racle

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

slide-28
SLIDE 28

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

  • racle

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

slide-29
SLIDE 29

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

  • racle

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

slide-30
SLIDE 30

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

  • racle

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

slide-31
SLIDE 31

Bilinear Pairing

5

slide-32
SLIDE 32

Bilinear Pairing

A relatively new (and less understood) tool

5

slide-33
SLIDE 33

Bilinear Pairing

A relatively new (and less understood) tool Two (or three) groups with an efficient pairing operation, e: G x G → GT that is “bilinear”

5

slide-34
SLIDE 34

Bilinear Pairing

A 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

slide-35
SLIDE 35

Bilinear Pairing

A 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

slide-36
SLIDE 36

Bilinear Pairing

A 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

slide-37
SLIDE 37

Bilinear Pairing

A 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

slide-38
SLIDE 38

Bilinear Pairing

A 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

slide-39
SLIDE 39

Decisional Bilinear- Diffie-Hellman Assumption

6

slide-40
SLIDE 40

Decisional Bilinear- Diffie-Hellman Assumption

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

6

slide-41
SLIDE 41

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

slide-42
SLIDE 42

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

slide-43
SLIDE 43

IBE from Pairing

7

slide-44
SLIDE 44

IBE from Pairing

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

7

slide-45
SLIDE 45

IBE from Pairing

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

MSK: hy

7

slide-46
SLIDE 46

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

slide-47
SLIDE 47

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 Π ui

i:IDi=1

7

slide-48
SLIDE 48

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 Π ui

i:IDi=1

7

slide-49
SLIDE 49

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 Π ui

i:IDi=1

7

slide-50
SLIDE 50

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 Π ui

i:IDi=1

7

slide-51
SLIDE 51

Attribute-Based Encryption

8

slide-52
SLIDE 52

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

slide-53
SLIDE 53

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

slide-54
SLIDE 54

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

slide-55
SLIDE 55

Ciphertext-Policy ABE

9

slide-56
SLIDE 56

Ciphertext-Policy ABE

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

9

slide-57
SLIDE 57

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

slide-58
SLIDE 58

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

slide-59
SLIDE 59

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

slide-60
SLIDE 60

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

slide-61
SLIDE 61

Key-Policy ABE

10

slide-62
SLIDE 62

Key-Policy ABE

Attributes will be assigned to a ciphertext (when creating the ciphertext)

10

slide-63
SLIDE 63

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)

10

slide-64
SLIDE 64

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

10

slide-65
SLIDE 65

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

10

slide-66
SLIDE 66

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

10

slide-67
SLIDE 67

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 the one in the policy Audit log inspection: grant auditor authority to read

  • nly messages with certain attributes

10

slide-68
SLIDE 68

A KP-ABE Scheme

11

slide-69
SLIDE 69

A KP-ABE Scheme

A construction that supports “linear policies”

11

slide-70
SLIDE 70

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)

11

slide-71
SLIDE 71

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

11

slide-72
SLIDE 72

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]

11

slide-73
SLIDE 73

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

11

slide-74
SLIDE 74

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) )

11

slide-75
SLIDE 75

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

11

slide-76
SLIDE 76

Example of a “Linear Policy”

12

slide-77
SLIDE 77

Example of a “Linear Policy”

Consider this policy, over 7 attributes

12

slide-78
SLIDE 78

Example of a “Linear Policy”

Consider this policy, over 7 attributes

OR AND AND AND OR

12

slide-79
SLIDE 79

Example of a “Linear Policy”

Consider this policy, over 7 attributes L:

OR AND AND AND OR

12

slide-80
SLIDE 80

Example of a “Linear Policy”

Consider this policy, over 7 attributes L:

OR AND AND AND OR 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

12

slide-81
SLIDE 81

Example of a “Linear Policy”

Consider this policy, over 7 attributes L: Can allow threshold gates too

OR AND AND AND OR 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

12

slide-82
SLIDE 82

A KP-ABE Scheme

13

slide-83
SLIDE 83

A KP-ABE Scheme

MPK: g, Y=e(g,g)y, T = (gt1,..., gtn) (n attributes)

13

slide-84
SLIDE 84

A KP-ABE Scheme

MPK: g, Y=e(g,g)y, T = (gt1,..., gtn) (n attributes)

MSK: ta for each attribute

13

slide-85
SLIDE 85

A KP-ABE Scheme

MPK: 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

slide-86
SLIDE 86

A KP-ABE Scheme

MPK: 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

slide-87
SLIDE 87

A KP-ABE Scheme

MPK: 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

slide-88
SLIDE 88

A KP-ABE Scheme

MPK: 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

slide-89
SLIDE 89

A KP-ABE Scheme

MPK: 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

slide-90
SLIDE 90

Predicate Encryption

14

slide-91
SLIDE 91

Predicate Encryption

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

14

slide-92
SLIDE 92

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

slide-93
SLIDE 93

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

slide-94
SLIDE 94

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

slide-95
SLIDE 95

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

slide-96
SLIDE 96

Attribute-Based Signatures

15

slide-97
SLIDE 97

Attribute-Based Signatures

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

15

slide-98
SLIDE 98

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

slide-99
SLIDE 99

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

slide-100
SLIDE 100

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

slide-101
SLIDE 101

An ABS Construction

16

slide-102
SLIDE 102

An ABS Construction

Using “Credential Bundles” and NIZK proofs (in fact, NIWI proofs)

16

slide-103
SLIDE 103

An ABS Construction

Using “Credential Bundles” and NIZK proofs (in fact, NIWI proofs) Credential Bundle for a set of attributes:

16

slide-104
SLIDE 104

An ABS Construction

Using “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

slide-105
SLIDE 105

An ABS Construction

Using “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

slide-106
SLIDE 106

An ABS Construction

Using “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

slide-107
SLIDE 107

An ABS Construction

Using “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

slide-108
SLIDE 108

An ABS Construction

Using “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

slide-109
SLIDE 109

Today

17

slide-110
SLIDE 110

Today

IBE, ABE and ABS

17

slide-111
SLIDE 111

Today

IBE, ABE and ABS Pairing-based cryptography

17

slide-112
SLIDE 112

Today

IBE, ABE and ABS Pairing-based cryptography Next up:

17

slide-113
SLIDE 113

Today

IBE, ABE and ABS Pairing-based cryptography Next up: Some more applications of pairing-based cryptography

17

slide-114
SLIDE 114

Today

IBE, ABE and ABS Pairing-based cryptography Next up: Some more applications of pairing-based cryptography Generic groups

17