Digital Signatures Digital Signatures And Putting It All Together - - PowerPoint PPT Presentation

digital signatures digital signatures
SMART_READER_LITE
LIVE PREVIEW

Digital Signatures Digital Signatures And Putting It All Together - - PowerPoint PPT Presentation

Digital Signatures Digital Signatures And Putting It All Together Digital Signatures And Putting It All Together Lecture 12 Digital Signatures Digital Signatures Syntax: KeyGen, Sign SK and Verify VK . Security: Same experiment as MAC s,


slide-1
SLIDE 1

Digital Signatures

slide-2
SLIDE 2

Digital Signatures

And Putting It All Together

slide-3
SLIDE 3

Digital Signatures

And Putting It All Together Lecture 12

slide-4
SLIDE 4

Digital Signatures

slide-5
SLIDE 5

Digital Signatures

Syntax: KeyGen, SignSK and VerifyVK. Security: Same experiment as MAC’ s, but adversary given VK

slide-6
SLIDE 6

Digital Signatures

Syntax: KeyGen, SignSK and VerifyVK. Security: Same experiment as MAC’ s, but adversary given VK Secure digital signatures using OWF , UOWHF and PRF

slide-7
SLIDE 7

Digital Signatures

Syntax: KeyGen, SignSK and VerifyVK. Security: Same experiment as MAC’ s, but adversary given VK Secure digital signatures using OWF , UOWHF and PRF Hence, from OWF alone (more efficiently from OWP)

slide-8
SLIDE 8

Digital Signatures

Syntax: KeyGen, SignSK and VerifyVK. Security: Same experiment as MAC’ s, but adversary given VK Secure digital signatures using OWF , UOWHF and PRF Hence, from OWF alone (more efficiently from OWP) More efficient using CRHF instead of UOWHF

slide-9
SLIDE 9

Digital Signatures

Syntax: KeyGen, SignSK and VerifyVK. Security: Same experiment as MAC’ s, but adversary given VK Secure digital signatures using OWF , UOWHF and PRF Hence, from OWF alone (more efficiently from OWP) More efficient using CRHF instead of UOWHF Even more efficient based on (strong) number-theoretic assumptions

slide-10
SLIDE 10

Digital Signatures

Syntax: KeyGen, SignSK and VerifyVK. Security: Same experiment as MAC’ s, but adversary given VK Secure digital signatures using OWF , UOWHF and PRF Hence, from OWF alone (more efficiently from OWP) More efficient using CRHF instead of UOWHF Even more efficient based on (strong) number-theoretic assumptions e.g. Cramer-Shoup Signature based on “Strong RSA assumption”

slide-11
SLIDE 11

Digital Signatures

Syntax: KeyGen, SignSK and VerifyVK. Security: Same experiment as MAC’ s, but adversary given VK Secure digital signatures using OWF , UOWHF and PRF Hence, from OWF alone (more efficiently from OWP) More efficient using CRHF instead of UOWHF Even more efficient based on (strong) number-theoretic assumptions e.g. Cramer-Shoup Signature based on “Strong RSA assumption” Efficient schemes secure in the Random Oracle Model

slide-12
SLIDE 12

Digital Signatures

Syntax: KeyGen, SignSK and VerifyVK. Security: Same experiment as MAC’ s, but adversary given VK Secure digital signatures using OWF , UOWHF and PRF Hence, from OWF alone (more efficiently from OWP) More efficient using CRHF instead of UOWHF Even more efficient based on (strong) number-theoretic assumptions e.g. Cramer-Shoup Signature based on “Strong RSA assumption” Efficient schemes secure in the Random Oracle Model e.g. RSA-PSS in RSA Standard PKCS#1

slide-13
SLIDE 13

One-time Digital Signatures

slide-14
SLIDE 14

Recall One-time MAC to sign a single n bit message

One-time Digital Signatures

slide-15
SLIDE 15

Recall One-time MAC to sign a single n bit message Shared secret key: 2n random strings (each k-bit long) (ri0,ri1)i=1..n Signature for m1...mn be (rimi)i=1..n

r10 r20 r30 r11 r21 r31

One-time Digital Signatures

slide-16
SLIDE 16

Recall One-time MAC to sign a single n bit message Shared secret key: 2n random strings (each k-bit long) (ri0,ri1)i=1..n Signature for m1...mn be (rimi)i=1..n

r10 r20 r30 r11 r21 r31

One-time Digital Signatures

One-Time Digital Signature: Same signing key and signature, but VK= (f(ri0),f(ri1))i=1..n where f is a OWF

slide-17
SLIDE 17

Recall One-time MAC to sign a single n bit message Shared secret key: 2n random strings (each k-bit long) (ri0,ri1)i=1..n Signature for m1...mn be (rimi)i=1..n

r10 r20 r30 r11 r21 r31

One-time Digital Signatures

One-Time Digital Signature: Same signing key and signature, but VK= (f(ri0),f(ri1))i=1..n where f is a OWF

f(r10) f(r20) f(r30) f(r11) f(r21) f(r31)

slide-18
SLIDE 18

Recall One-time MAC to sign a single n bit message Shared secret key: 2n random strings (each k-bit long) (ri0,ri1)i=1..n Signature for m1...mn be (rimi)i=1..n

r10 r20 r30 r11 r21 r31

One-time Digital Signatures

One-Time Digital Signature: Same signing key and signature, but VK= (f(ri0),f(ri1))i=1..n where f is a OWF Verification applies f to signature elements and compares with VK

f(r10) f(r20) f(r30) f(r11) f(r21) f(r31)

slide-19
SLIDE 19

Recall One-time MAC to sign a single n bit message Shared secret key: 2n random strings (each k-bit long) (ri0,ri1)i=1..n Signature for m1...mn be (rimi)i=1..n

r10 r20 r30 r11 r21 r31

One-time Digital Signatures

One-Time Digital Signature: Same signing key and signature, but VK= (f(ri0),f(ri1))i=1..n where f is a OWF Verification applies f to signature elements and compares with VK Security [Exercise]

f(r10) f(r20) f(r30) f(r11) f(r21) f(r31)

slide-20
SLIDE 20

Recall One-time MAC to sign a single n bit message Shared secret key: 2n random strings (each k-bit long) (ri0,ri1)i=1..n Signature for m1...mn be (rimi)i=1..n

r10 r20 r30 r11 r21 r31

One-time Digital Signatures

One-Time Digital Signature: Same signing key and signature, but VK= (f(ri0),f(ri1))i=1..n where f is a OWF Verification applies f to signature elements and compares with VK Security [Exercise]

f(r10) f(r20) f(r30) f(r11) f(r21) f(r31) Lamport’ s One-Time Signature

slide-21
SLIDE 21

Domain Extension of (One-time) Signatures

slide-22
SLIDE 22

Domain Extension of (One-time) Signatures

Lamport’ s scheme has a fixed-length message (and SK/VK are much longer than the message)

slide-23
SLIDE 23

Domain Extension of (One-time) Signatures

Lamport’ s scheme has a fixed-length message (and SK/VK are much longer than the message) Hash-and-Sign domain extension

slide-24
SLIDE 24

Domain Extension of (One-time) Signatures

Lamport’ s scheme has a fixed-length message (and SK/VK are much longer than the message) Hash-and-Sign domain extension (If applied to one-time signature, still one-time, but with variable input-length)

slide-25
SLIDE 25

Domain Extension of (One-time) Signatures

Lamport’ s scheme has a fixed-length message (and SK/VK are much longer than the message) Hash-and-Sign domain extension (If applied to one-time signature, still one-time, but with variable input-length) Domain extension using a CRHF (not weak CRHF , unlike for MAC)

slide-26
SLIDE 26

Domain Extension of (One-time) Signatures

Lamport’ s scheme has a fixed-length message (and SK/VK are much longer than the message) Hash-and-Sign domain extension (If applied to one-time signature, still one-time, but with variable input-length) Domain extension using a CRHF (not weak CRHF , unlike for MAC) Sign*SK,h(M) = SignSK(h(M)) where h← in both SK,VK

slide-27
SLIDE 27

Domain Extension of (One-time) Signatures

Lamport’ s scheme has a fixed-length message (and SK/VK are much longer than the message) Hash-and-Sign domain extension (If applied to one-time signature, still one-time, but with variable input-length) Domain extension using a CRHF (not weak CRHF , unlike for MAC) Sign*SK,h(M) = SignSK(h(M)) where h← in both SK,VK Can use UOWHF , with fresh h every time (included in signature)

slide-28
SLIDE 28

Domain Extension of (One-time) Signatures

Lamport’ s scheme has a fixed-length message (and SK/VK are much longer than the message) Hash-and-Sign domain extension (If applied to one-time signature, still one-time, but with variable input-length) Domain extension using a CRHF (not weak CRHF , unlike for MAC) Sign*SK,h(M) = SignSK(h(M)) where h← in both SK,VK Can use UOWHF , with fresh h every time (included in signature) Sign*SK(M) = ( h,SignSK(h,h(M)) ) where h← picked by signer

slide-29
SLIDE 29

Domain Extension of (One-time) Signatures

Lamport’ s scheme has a fixed-length message (and SK/VK are much longer than the message) Hash-and-Sign domain extension (If applied to one-time signature, still one-time, but with variable input-length) Domain extension using a CRHF (not weak CRHF , unlike for MAC) Sign*SK,h(M) = SignSK(h(M)) where h← in both SK,VK Can use UOWHF , with fresh h every time (included in signature) Sign*SK(M) = ( h,SignSK(h,h(M)) ) where h← picked by signer This can then be used to build a full-fledged signature scheme starting from one-time signatures (skipped)

slide-30
SLIDE 30

More Efficient Signatures

slide-31
SLIDE 31

More Efficient Signatures

Diffie-Hellman suggestion (heuristic): Sign(M) = f-1(M) where (SK,VK) = (f-1,f), a Trapdoor OWP pair. Verify(M,σ) = 1 iff f(σ)=M.

slide-32
SLIDE 32

More Efficient Signatures

Diffie-Hellman suggestion (heuristic): Sign(M) = f-1(M) where (SK,VK) = (f-1,f), a Trapdoor OWP pair. Verify(M,σ) = 1 iff f(σ)=M. Attack: pick σ, let M=f(σ) (Existential forgery)

slide-33
SLIDE 33

More Efficient Signatures

Diffie-Hellman suggestion (heuristic): Sign(M) = f-1(M) where (SK,VK) = (f-1,f), a Trapdoor OWP pair. Verify(M,σ) = 1 iff f(σ)=M. Attack: pick σ, let M=f(σ) (Existential forgery) Fix: Sign(M) = f-1(Hash(M))

slide-34
SLIDE 34

More Efficient Signatures

Diffie-Hellman suggestion (heuristic): Sign(M) = f-1(M) where (SK,VK) = (f-1,f), a Trapdoor OWP pair. Verify(M,σ) = 1 iff f(σ)=M. Attack: pick σ, let M=f(σ) (Existential forgery) Fix: Sign(M) = f-1(Hash(M)) Secure? Adversary gets to choose M and hence Hash(M), and so the signing oracle gives adversary access to f-1 oracle. But T-OWP gives no guarantees when adversary is given f-1 oracle.

slide-35
SLIDE 35

More Efficient Signatures

Diffie-Hellman suggestion (heuristic): Sign(M) = f-1(M) where (SK,VK) = (f-1,f), a Trapdoor OWP pair. Verify(M,σ) = 1 iff f(σ)=M. Attack: pick σ, let M=f(σ) (Existential forgery) Fix: Sign(M) = f-1(Hash(M)) Secure? Adversary gets to choose M and hence Hash(M), and so the signing oracle gives adversary access to f-1 oracle. But T-OWP gives no guarantees when adversary is given f-1 oracle. If Hash(.) modeled as a random oracle then adversary can’ t choose Hash(M), and effectively doesn’ t have access to f-1

  • racle. Then indeed secure [coming up]
slide-36
SLIDE 36

More Efficient Signatures

Diffie-Hellman suggestion (heuristic): Sign(M) = f-1(M) where (SK,VK) = (f-1,f), a Trapdoor OWP pair. Verify(M,σ) = 1 iff f(σ)=M. Attack: pick σ, let M=f(σ) (Existential forgery) Fix: Sign(M) = f-1(Hash(M)) Secure? Adversary gets to choose M and hence Hash(M), and so the signing oracle gives adversary access to f-1 oracle. But T-OWP gives no guarantees when adversary is given f-1 oracle. If Hash(.) modeled as a random oracle then adversary can’ t choose Hash(M), and effectively doesn’ t have access to f-1

  • racle. Then indeed secure [coming up]

“Standard schemes” like RSA-PSS are based on this

slide-37
SLIDE 37

Proving Security in the RO Model

slide-38
SLIDE 38

Proving Security in the RO Model

To prove that if T-OWP secure, then Sign(M) = f-1(Hash(M)) is a secure digital signature in the RO Model, if Hash is a random oracle

slide-39
SLIDE 39

Proving Security in the RO Model

To prove that if T-OWP secure, then Sign(M) = f-1(Hash(M)) is a secure digital signature in the RO Model, if Hash is a random oracle Intuition: adversary only sees (x,f-1(x)) where x is random, which it could have obtained anyway, by picking f-1(x) first

slide-40
SLIDE 40

Proving Security in the RO Model

To prove that if T-OWP secure, then Sign(M) = f-1(Hash(M)) is a secure digital signature in the RO Model, if Hash is a random oracle Intuition: adversary only sees (x,f-1(x)) where x is random, which it could have obtained anyway, by picking f-1(x) first Modeling as an RO: RO randomly initialized to a random function H from {0,1}* to {0,1}k

slide-41
SLIDE 41

Proving Security in the RO Model

To prove that if T-OWP secure, then Sign(M) = f-1(Hash(M)) is a secure digital signature in the RO Model, if Hash is a random oracle Intuition: adversary only sees (x,f-1(x)) where x is random, which it could have obtained anyway, by picking f-1(x) first Modeling as an RO: RO randomly initialized to a random function H from {0,1}* to {0,1}k

H an infinite

  • bject
slide-42
SLIDE 42

Proving Security in the RO Model

To prove that if T-OWP secure, then Sign(M) = f-1(Hash(M)) is a secure digital signature in the RO Model, if Hash is a random oracle Intuition: adversary only sees (x,f-1(x)) where x is random, which it could have obtained anyway, by picking f-1(x) first Modeling as an RO: RO randomly initialized to a random function H from {0,1}* to {0,1}k Signer and verifier (and forger) get oracle access to H(.)

H an infinite

  • bject
slide-43
SLIDE 43

Proving Security in the RO Model

To prove that if T-OWP secure, then Sign(M) = f-1(Hash(M)) is a secure digital signature in the RO Model, if Hash is a random oracle Intuition: adversary only sees (x,f-1(x)) where x is random, which it could have obtained anyway, by picking f-1(x) first Modeling as an RO: RO randomly initialized to a random function H from {0,1}* to {0,1}k Signer and verifier (and forger) get oracle access to H(.) All probabilities also over the initialization of the RO

H an infinite

  • bject
slide-44
SLIDE 44

Proving Security in ROM

slide-45
SLIDE 45

Proving Security in ROM

Reduction: If A forges signature (where Sign(M) = f-1(H(M)) with (f,f-1) from TOWP and H an RO), then A * that can break T-OWP (i.e., given just f, and a random challenge z, can find f-1(z) w.n.n.p). A *(f,z) runs A internally.

slide-46
SLIDE 46

Proving Security in ROM

Reduction: If A forges signature (where Sign(M) = f-1(H(M)) with (f,f-1) from TOWP and H an RO), then A * that can break T-OWP (i.e., given just f, and a random challenge z, can find f-1(z) w.n.n.p). A *(f,z) runs A internally.

(f,z) A

slide-47
SLIDE 47

Proving Security in ROM

Reduction: If A forges signature (where Sign(M) = f-1(H(M)) with (f,f-1) from TOWP and H an RO), then A * that can break T-OWP (i.e., given just f, and a random challenge z, can find f-1(z) w.n.n.p). A *(f,z) runs A internally. A expects f, access to the RO and a signing oracle f-1(Hash(.)) and outputs (M,σ) as forgery

(f,z) A

slide-48
SLIDE 48

Proving Security in ROM

Reduction: If A forges signature (where Sign(M) = f-1(H(M)) with (f,f-1) from TOWP and H an RO), then A * that can break T-OWP (i.e., given just f, and a random challenge z, can find f-1(z) w.n.n.p). A *(f,z) runs A internally. A expects f, access to the RO and a signing oracle f-1(Hash(.)) and outputs (M,σ) as forgery

(f,z) A Mi f-1(H(Mi)) (M,σ)

Sig

Mj H(Mj) H

slide-49
SLIDE 49

Proving Security in ROM

Reduction: If A forges signature (where Sign(M) = f-1(H(M)) with (f,f-1) from TOWP and H an RO), then A * that can break T-OWP (i.e., given just f, and a random challenge z, can find f-1(z) w.n.n.p). A *(f,z) runs A internally. A expects f, access to the RO and a signing oracle f-1(Hash(.)) and outputs (M,σ) as forgery A * can implement RO: a random response to each new query!

(f,z) A Mi f-1(H(Mi)) (M,σ)

Sig

Mj H(Mj) H

slide-50
SLIDE 50

Proving Security in ROM

Reduction: If A forges signature (where Sign(M) = f-1(H(M)) with (f,f-1) from TOWP and H an RO), then A * that can break T-OWP (i.e., given just f, and a random challenge z, can find f-1(z) w.n.n.p). A *(f,z) runs A internally. A expects f, access to the RO and a signing oracle f-1(Hash(.)) and outputs (M,σ) as forgery A * can implement RO: a random response to each new query! A * gets f, but doesn’ t have f-1 to sign

(f,z) A Mi f-1(H(Mi)) (M,σ)

Sig

Mj H(Mj) H

slide-51
SLIDE 51

Proving Security in ROM

Reduction: If A forges signature (where Sign(M) = f-1(H(M)) with (f,f-1) from TOWP and H an RO), then A * that can break T-OWP (i.e., given just f, and a random challenge z, can find f-1(z) w.n.n.p). A *(f,z) runs A internally. A expects f, access to the RO and a signing oracle f-1(Hash(.)) and outputs (M,σ) as forgery A * can implement RO: a random response to each new query! A * gets f, but doesn’ t have f-1 to sign But x = H(M) is a random value that A * can pick!

(f,z) A Mi f-1(H(Mi)) (M,σ)

Sig

Mj H(Mj) H

slide-52
SLIDE 52

Proving Security in ROM

Reduction: If A forges signature (where Sign(M) = f-1(H(M)) with (f,f-1) from TOWP and H an RO), then A * that can break T-OWP (i.e., given just f, and a random challenge z, can find f-1(z) w.n.n.p). A *(f,z) runs A internally. A expects f, access to the RO and a signing oracle f-1(Hash(.)) and outputs (M,σ) as forgery A * can implement RO: a random response to each new query! A * gets f, but doesn’ t have f-1 to sign But x = H(M) is a random value that A * can pick! A * picks H(M) as x=f(y) for random y; then Sign(M) = f-1(x) = y

(f,z) A Mi f-1(H(Mi)) (M,σ)

Sig

Mj H(Mj) H

slide-53
SLIDE 53

Proving Security in ROM

A Mi f-1(H(Mi)) (M,σ)

Sig

(f,z) Mj H(Mj) H

slide-54
SLIDE 54

Proving Security in ROM

A * such that if A forges signature, then A * can break T-OWP

A Mi f-1(H(Mi)) (M,σ)

Sig

(f,z) Mj H(Mj) H

slide-55
SLIDE 55

Proving Security in ROM

A * such that if A forges signature, then A * can break T-OWP A * implements H and Sign: For each new M queried to H or Sign, A * sets H(M)=f(y) for random y; then Sign(M) = y

A Mi f-1(H(Mi)) (M,σ)

Sig

(f,z) Mj H(Mj) H

slide-56
SLIDE 56

Proving Security in ROM

A * such that if A forges signature, then A * can break T-OWP A * implements H and Sign: For each new M queried to H or Sign, A * sets H(M)=f(y) for random y; then Sign(M) = y But A * should force A to invert z

A Mi f-1(H(Mi)) (M,σ)

Sig

(f,z) Mj H(Mj) H

slide-57
SLIDE 57

Proving Security in ROM

A * such that if A forges signature, then A * can break T-OWP A * implements H and Sign: For each new M queried to H or Sign, A * sets H(M)=f(y) for random y; then Sign(M) = y But A * should force A to invert z For a random (new) query M (say jth) A * sets H(M)=z

A Mi f-1(H(Mi)) (M,σ)

Sig

(f,z) Mj H(Mj) H

slide-58
SLIDE 58

Proving Security in ROM

A * such that if A forges signature, then A * can break T-OWP A * implements H and Sign: For each new M queried to H or Sign, A * sets H(M)=f(y) for random y; then Sign(M) = y But A * should force A to invert z For a random (new) query M (say jth) A * sets H(M)=z Here queries includes the “last query” to H, i.e., the one for verifying the forgery (may or may not be a new query)

A Mi f-1(H(Mi)) (M,σ)

Sig

(f,z) Mj H(Mj) H

slide-59
SLIDE 59

Proving Security in ROM

A * such that if A forges signature, then A * can break T-OWP A * implements H and Sign: For each new M queried to H or Sign, A * sets H(M)=f(y) for random y; then Sign(M) = y But A * should force A to invert z For a random (new) query M (say jth) A * sets H(M)=z Here queries includes the “last query” to H, i.e., the one for verifying the forgery (may or may not be a new query) If q a bound on the number of queries that A makes to Sign/H, then with probability at least 1/ q, A * would have set H(M)=z, where M is the message in the forgery

A Mi f-1(H(Mi)) (M,σ)

Sig

(f,z) Mj H(Mj) H

slide-60
SLIDE 60

Proving Security in ROM

A * such that if A forges signature, then A * can break T-OWP A * implements H and Sign: For each new M queried to H or Sign, A * sets H(M)=f(y) for random y; then Sign(M) = y But A * should force A to invert z For a random (new) query M (say jth) A * sets H(M)=z Here queries includes the “last query” to H, i.e., the one for verifying the forgery (may or may not be a new query) If q a bound on the number of queries that A makes to Sign/H, then with probability at least 1/ q, A * would have set H(M)=z, where M is the message in the forgery In that case forgery ⇒ σ = f-1(z)

A Mi f-1(H(Mi)) (M,σ)

Sig

(f,z) Mj H(Mj) H σ

slide-61
SLIDE 61

Randomness Extraction

slide-62
SLIDE 62

Randomness Extractor

slide-63
SLIDE 63

Randomness Extractor

Consider a PRG which outputs a pseudorandom group element in some complicated group

slide-64
SLIDE 64

Randomness Extractor

Consider a PRG which outputs a pseudorandom group element in some complicated group A standard bit-string representation of a random group element may not be (pseudo)random

slide-65
SLIDE 65

Randomness Extractor

Consider a PRG which outputs a pseudorandom group element in some complicated group A standard bit-string representation of a random group element may not be (pseudo)random Can we map it to a pseudorandom bit string? Depends on the group...

slide-66
SLIDE 66

Randomness Extractor

Consider a PRG which outputs a pseudorandom group element in some complicated group A standard bit-string representation of a random group element may not be (pseudo)random Can we map it to a pseudorandom bit string? Depends on the group... Suppose a chip for producing random bits shows some complicated dependencies/biases, but still is highly unpredictable

slide-67
SLIDE 67

Randomness Extractor

Consider a PRG which outputs a pseudorandom group element in some complicated group A standard bit-string representation of a random group element may not be (pseudo)random Can we map it to a pseudorandom bit string? Depends on the group... Suppose a chip for producing random bits shows some complicated dependencies/biases, but still is highly unpredictable Can we purify it to extract uniform randomness? Depends on the specific dependencies...

slide-68
SLIDE 68

Randomness Extractor

Consider a PRG which outputs a pseudorandom group element in some complicated group A standard bit-string representation of a random group element may not be (pseudo)random Can we map it to a pseudorandom bit string? Depends on the group... Suppose a chip for producing random bits shows some complicated dependencies/biases, but still is highly unpredictable Can we purify it to extract uniform randomness? Depends on the specific dependencies... A general tool for purifying randomness: Randomness Extractor

slide-69
SLIDE 69

Randomness Extractors

slide-70
SLIDE 70

Randomness Extractors

Statistical guarantees (output not just pseudorandom, but truly random, if input has sufficient entropy)

slide-71
SLIDE 71

Randomness Extractors

Statistical guarantees (output not just pseudorandom, but truly random, if input has sufficient entropy) 2-Universal Hash Functions

slide-72
SLIDE 72

Randomness Extractors

Statistical guarantees (output not just pseudorandom, but truly random, if input has sufficient entropy) 2-Universal Hash Functions “Optimal” in all parameters except seed length

slide-73
SLIDE 73

Randomness Extractors

Statistical guarantees (output not just pseudorandom, but truly random, if input has sufficient entropy) 2-Universal Hash Functions “Optimal” in all parameters except seed length Constructions with short seeds

slide-74
SLIDE 74

Randomness Extractors

Statistical guarantees (output not just pseudorandom, but truly random, if input has sufficient entropy) 2-Universal Hash Functions “Optimal” in all parameters except seed length Constructions with short seeds e.g. Based on expander graphs

slide-75
SLIDE 75

Randomness Extractors

Statistical guarantees (output not just pseudorandom, but truly random, if input has sufficient entropy) 2-Universal Hash Functions “Optimal” in all parameters except seed length Constructions with short seeds e.g. Based on expander graphs Pseudorandomness Extractors: output is guaranteed only to be pseudorandom if input has sufficient (pseudo)entropy

slide-76
SLIDE 76

Randomness Extractors

Statistical guarantees (output not just pseudorandom, but truly random, if input has sufficient entropy) 2-Universal Hash Functions “Optimal” in all parameters except seed length Constructions with short seeds e.g. Based on expander graphs Pseudorandomness Extractors: output is guaranteed only to be pseudorandom if input has sufficient (pseudo)entropy Can be based on iterated-hash functions or CBC-MAC

slide-77
SLIDE 77

Randomness Extractors

Statistical guarantees (output not just pseudorandom, but truly random, if input has sufficient entropy) 2-Universal Hash Functions “Optimal” in all parameters except seed length Constructions with short seeds e.g. Based on expander graphs Pseudorandomness Extractors: output is guaranteed only to be pseudorandom if input has sufficient (pseudo)entropy Can be based on iterated-hash functions or CBC-MAC Statistical guarantee, if compression function/block-cipher is a random function/random permutation (not random oracle)

slide-78
SLIDE 78

Randomness Extractors

slide-79
SLIDE 79

Randomness Extractors

Strong extractor: output is random even when the seed for extraction is revealed

slide-80
SLIDE 80

Randomness Extractors

Strong extractor: output is random even when the seed for extraction is revealed 2-UHF is an example

slide-81
SLIDE 81

Randomness Extractors

Strong extractor: output is random even when the seed for extraction is revealed 2-UHF is an example Useful in key agreement

slide-82
SLIDE 82

Randomness Extractors

Strong extractor: output is random even when the seed for extraction is revealed 2-UHF is an example Useful in key agreement Alice and Bob exchange a non-uniform key, with a lot of pseudoentropy for Eve (say, gxy)

slide-83
SLIDE 83

Randomness Extractors

Strong extractor: output is random even when the seed for extraction is revealed 2-UHF is an example Useful in key agreement Alice and Bob exchange a non-uniform key, with a lot of pseudoentropy for Eve (say, gxy) Alice sends a random seed for a strong extractor to Bob, in the clear

slide-84
SLIDE 84

Randomness Extractors

Strong extractor: output is random even when the seed for extraction is revealed 2-UHF is an example Useful in key agreement Alice and Bob exchange a non-uniform key, with a lot of pseudoentropy for Eve (say, gxy) Alice sends a random seed for a strong extractor to Bob, in the clear Key derivation: Alice and Bob extract a new key, which is pseudorandom (i.e., indistinguishable from a uniform bit string)

slide-85
SLIDE 85

Secure Communication: Wrap-Up

slide-86
SLIDE 86

We saw...

Symmetric-Key Components SKE, MAC Public-Key Components PKE, Digital Signatures Building blocks: Block-ciphers (AES), Hash-functions (SHA-3), Trapdoor PRG/OWP for PKE (e.g., DDH, RSA) and Random Oracle heuristics (in RSA-OAEP, RSA-PSS) Symmetric-Key primitives much faster than Public-Key ones Hybrid Encryption gets best of both worlds

slide-87
SLIDE 87

Secure Communication in Practice

slide-88
SLIDE 88

Secure Communication in Practice

Can do at application-level

slide-89
SLIDE 89

Secure Communication in Practice

Can do at application-level e.g. between web-browser and web-server

slide-90
SLIDE 90

Secure Communication in Practice

Can do at application-level e.g. between web-browser and web-server Or lower-level infrastructure to allow use by more applications

slide-91
SLIDE 91

Secure Communication in Practice

Can do at application-level e.g. between web-browser and web-server Or lower-level infrastructure to allow use by more applications e.g. between OS kernels, or between network gateways

slide-92
SLIDE 92

Secure Communication in Practice

Can do at application-level e.g. between web-browser and web-server Or lower-level infrastructure to allow use by more applications e.g. between OS kernels, or between network gateways Standards in either case

slide-93
SLIDE 93

Secure Communication in Practice

Can do at application-level e.g. between web-browser and web-server Or lower-level infrastructure to allow use by more applications e.g. between OS kernels, or between network gateways Standards in either case To be interoperable

slide-94
SLIDE 94

Secure Communication in Practice

Can do at application-level e.g. between web-browser and web-server Or lower-level infrastructure to allow use by more applications e.g. between OS kernels, or between network gateways Standards in either case To be interoperable To not insert bugs by doing crypto engineering oneself

slide-95
SLIDE 95

Secure Communication in Practice

Can do at application-level e.g. between web-browser and web-server Or lower-level infrastructure to allow use by more applications e.g. between OS kernels, or between network gateways Standards in either case To be interoperable To not insert bugs by doing crypto engineering oneself e.g.: SSL/TLS (used in https), IPSec (in the “network layer”)

slide-96
SLIDE 96

Security Architectures

(An example)

From the IBM WebSphere Developer Technical Journal Security architecture (client perspective)

slide-97
SLIDE 97

Secure Communication Infrastructure

slide-98
SLIDE 98

Secure Communication Infrastructure

Goal: a way for Alice and Bob to get a private and authenticated communication channel (can give a detailed SIM-definition)

slide-99
SLIDE 99

Secure Communication Infrastructure

Goal: a way for Alice and Bob to get a private and authenticated communication channel (can give a detailed SIM-definition) Simplest idea: Use a (SIM-CCA secure) public-key encryption (possibly a hybrid encryption) to send signed (using an existentially unforgeable signature scheme) messages (with sequence numbers and channel id)

slide-100
SLIDE 100

Secure Communication Infrastructure

Goal: a way for Alice and Bob to get a private and authenticated communication channel (can give a detailed SIM-definition) Simplest idea: Use a (SIM-CCA secure) public-key encryption (possibly a hybrid encryption) to send signed (using an existentially unforgeable signature scheme) messages (with sequence numbers and channel id) Alice, Bob need to know each other’ s public-keys

slide-101
SLIDE 101

Secure Communication Infrastructure

Goal: a way for Alice and Bob to get a private and authenticated communication channel (can give a detailed SIM-definition) Simplest idea: Use a (SIM-CCA secure) public-key encryption (possibly a hybrid encryption) to send signed (using an existentially unforgeable signature scheme) messages (with sequence numbers and channel id) Alice, Bob need to know each other’ s public-keys But typically Alice and Bob engage in “transactions,” exchanging multiple messages, maintaining state throughout the transaction

slide-102
SLIDE 102

Secure Communication Infrastructure

Goal: a way for Alice and Bob to get a private and authenticated communication channel (can give a detailed SIM-definition) Simplest idea: Use a (SIM-CCA secure) public-key encryption (possibly a hybrid encryption) to send signed (using an existentially unforgeable signature scheme) messages (with sequence numbers and channel id) Alice, Bob need to know each other’ s public-keys But typically Alice and Bob engage in “transactions,” exchanging multiple messages, maintaining state throughout the transaction Makes several efficiency improvements possible

slide-103
SLIDE 103

Secure Communication Infrastructure

slide-104
SLIDE 104

Secure Communication Infrastructure

Secure Communication Sessions

slide-105
SLIDE 105

Secure Communication Infrastructure

Secure Communication Sessions Handshake phase: establish private shared keys

slide-106
SLIDE 106

Secure Communication Infrastructure

Secure Communication Sessions Handshake phase: establish private shared keys

( A u t h e n t i c a t e d ) K e y

  • E

x c h a n g e

slide-107
SLIDE 107

Secure Communication Infrastructure

Secure Communication Sessions Handshake phase: establish private shared keys Communication phase: use efficient shared-key schemes

( A u t h e n t i c a t e d ) K e y

  • E

x c h a n g e

slide-108
SLIDE 108

Secure Communication Infrastructure

Secure Communication Sessions Handshake phase: establish private shared keys Communication phase: use efficient shared-key schemes Client-server session

( A u t h e n t i c a t e d ) K e y

  • E

x c h a n g e

slide-109
SLIDE 109

Secure Communication Infrastructure

Secure Communication Sessions Handshake phase: establish private shared keys Communication phase: use efficient shared-key schemes Client-server session Client wants to establish a session with a server it “knows”. Server is willing to talk to all clients

( A u t h e n t i c a t e d ) K e y

  • E

x c h a n g e

slide-110
SLIDE 110

Secure Communication Infrastructure

Secure Communication Sessions Handshake phase: establish private shared keys Communication phase: use efficient shared-key schemes Client-server session Client wants to establish a session with a server it “knows”. Server is willing to talk to all clients

S e r v e r m a y “ k n

  • w

” ( s

  • m

e ) c l i e n t s t

  • ,

u s i n g p a s s w

  • r

d s , p r e

  • s

h a r e d k e y s ,

  • r

i f t h e y h a v e ( c e r t i fi e d ) p u b l i c

  • k

e y s . O f t e n i m p l e m e n t e d i n a p p l i c a t i

  • n
  • l

a y e r ( A u t h e n t i c a t e d ) K e y

  • E

x c h a n g e

slide-111
SLIDE 111

Secure Communication Infrastructure

Secure Communication Sessions Handshake phase: establish private shared keys Communication phase: use efficient shared-key schemes Client-server session Client wants to establish a session with a server it “knows”. Server is willing to talk to all clients Server has (certified) public-keys

S e r v e r m a y “ k n

  • w

” ( s

  • m

e ) c l i e n t s t

  • ,

u s i n g p a s s w

  • r

d s , p r e

  • s

h a r e d k e y s ,

  • r

i f t h e y h a v e ( c e r t i fi e d ) p u b l i c

  • k

e y s . O f t e n i m p l e m e n t e d i n a p p l i c a t i

  • n
  • l

a y e r ( A u t h e n t i c a t e d ) K e y

  • E

x c h a n g e

slide-112
SLIDE 112

Secure Communication Infrastructure

Secure Communication Sessions Handshake phase: establish private shared keys Communication phase: use efficient shared-key schemes Client-server session Client wants to establish a session with a server it “knows”. Server is willing to talk to all clients Server has (certified) public-keys Server-to-server communication

S e r v e r m a y “ k n

  • w

” ( s

  • m

e ) c l i e n t s t

  • ,

u s i n g p a s s w

  • r

d s , p r e

  • s

h a r e d k e y s ,

  • r

i f t h e y h a v e ( c e r t i fi e d ) p u b l i c

  • k

e y s . O f t e n i m p l e m e n t e d i n a p p l i c a t i

  • n
  • l

a y e r ( A u t h e n t i c a t e d ) K e y

  • E

x c h a n g e

slide-113
SLIDE 113

Secure Communication Infrastructure

Secure Communication Sessions Handshake phase: establish private shared keys Communication phase: use efficient shared-key schemes Client-server session Client wants to establish a session with a server it “knows”. Server is willing to talk to all clients Server has (certified) public-keys Server-to-server communication Both parties have (certified) public-keys

S e r v e r m a y “ k n

  • w

” ( s

  • m

e ) c l i e n t s t

  • ,

u s i n g p a s s w

  • r

d s , p r e

  • s

h a r e d k e y s ,

  • r

i f t h e y h a v e ( c e r t i fi e d ) p u b l i c

  • k

e y s . O f t e n i m p l e m e n t e d i n a p p l i c a t i

  • n
  • l

a y e r ( A u t h e n t i c a t e d ) K e y

  • E

x c h a n g e

slide-114
SLIDE 114

A Simple Secure Communication Scheme

slide-115
SLIDE 115

A Simple Secure Communication Scheme

Handshake

slide-116
SLIDE 116

A Simple Secure Communication Scheme

Handshake Client sends session keys for MAC and SKE to the server using SIM-CCA secure PKE, with server’ s PK (i.e. over an unauthenticated, but private channel)

slide-117
SLIDE 117

A Simple Secure Communication Scheme

Handshake Client sends session keys for MAC and SKE to the server using SIM-CCA secure PKE, with server’ s PK (i.e. over an unauthenticated, but private channel)

Server’ s PK either trusted (from a previous session for e.g) or certified by a trusted CA, using a Digital Signature scheme

slide-118
SLIDE 118

A Simple Secure Communication Scheme

Handshake Client sends session keys for MAC and SKE to the server using SIM-CCA secure PKE, with server’ s PK (i.e. over an unauthenticated, but private channel)

Server’ s PK either trusted (from a previous session for e.g) or certified by a trusted CA, using a Digital Signature scheme Need to avoid replay attacks (infeasible for server to explicitly check for replayed ciphertexts)

slide-119
SLIDE 119

A Simple Secure Communication Scheme

Handshake Client sends session keys for MAC and SKE to the server using SIM-CCA secure PKE, with server’ s PK (i.e. over an unauthenticated, but private channel) For authentication only: use MAC

Server’ s PK either trusted (from a previous session for e.g) or certified by a trusted CA, using a Digital Signature scheme Need to avoid replay attacks (infeasible for server to explicitly check for replayed ciphertexts)

slide-120
SLIDE 120

A Simple Secure Communication Scheme

Handshake Client sends session keys for MAC and SKE to the server using SIM-CCA secure PKE, with server’ s PK (i.e. over an unauthenticated, but private channel) For authentication only: use MAC In fact, a “stream-MAC”: To send more than one message, but without allowing reordering

Server’ s PK either trusted (from a previous session for e.g) or certified by a trusted CA, using a Digital Signature scheme Need to avoid replay attacks (infeasible for server to explicitly check for replayed ciphertexts)

slide-121
SLIDE 121

A Simple Secure Communication Scheme

Handshake Client sends session keys for MAC and SKE to the server using SIM-CCA secure PKE, with server’ s PK (i.e. over an unauthenticated, but private channel) For authentication only: use MAC In fact, a “stream-MAC”: To send more than one message, but without allowing reordering

Recall “inefficient” domain- extension of MAC: Add a session-specific nonce and a sequence number to each message before MAC’ing Server’ s PK either trusted (from a previous session for e.g) or certified by a trusted CA, using a Digital Signature scheme Need to avoid replay attacks (infeasible for server to explicitly check for replayed ciphertexts)

slide-122
SLIDE 122

A Simple Secure Communication Scheme

Handshake Client sends session keys for MAC and SKE to the server using SIM-CCA secure PKE, with server’ s PK (i.e. over an unauthenticated, but private channel) For authentication only: use MAC In fact, a “stream-MAC”: To send more than one message, but without allowing reordering For authentication + (CCA secure) encryption: encrypt-then-MAC

Recall “inefficient” domain- extension of MAC: Add a session-specific nonce and a sequence number to each message before MAC’ing Server’ s PK either trusted (from a previous session for e.g) or certified by a trusted CA, using a Digital Signature scheme Need to avoid replay attacks (infeasible for server to explicitly check for replayed ciphertexts)

slide-123
SLIDE 123

A Simple Secure Communication Scheme

Handshake Client sends session keys for MAC and SKE to the server using SIM-CCA secure PKE, with server’ s PK (i.e. over an unauthenticated, but private channel) For authentication only: use MAC In fact, a “stream-MAC”: To send more than one message, but without allowing reordering For authentication + (CCA secure) encryption: encrypt-then-MAC stream-cipher, and “stream-MAC”

Recall “inefficient” domain- extension of MAC: Add a session-specific nonce and a sequence number to each message before MAC’ing Server’ s PK either trusted (from a previous session for e.g) or certified by a trusted CA, using a Digital Signature scheme Need to avoid replay attacks (infeasible for server to explicitly check for replayed ciphertexts)

slide-124
SLIDE 124

A Simple Secure Communication Scheme

Handshake Client sends session keys for MAC and SKE to the server using SIM-CCA secure PKE, with server’ s PK (i.e. over an unauthenticated, but private channel) For authentication only: use MAC In fact, a “stream-MAC”: To send more than one message, but without allowing reordering For authentication + (CCA secure) encryption: encrypt-then-MAC stream-cipher, and “stream-MAC”

Recall “inefficient” domain- extension of MAC: Add a session-specific nonce and a sequence number to each message before MAC’ing Server’ s PK either trusted (from a previous session for e.g) or certified by a trusted CA, using a Digital Signature scheme Authentication for free: MAC serves dual purposes! Need to avoid replay attacks (infeasible for server to explicitly check for replayed ciphertexts)

slide-125
SLIDE 125

TLS (SSL)

Handshake Client sends session keys for MAC and SKE to the server using SIM-CCA secure PKE, with server’ s PK (i.e. over an unauthenticated, but private channel) For authentication only: use MAC In fact, a “stream-MAC”: To send more than one message, but without allowing reordering For authentication + (CCA secure) encryption: encrypt-then-MAC stream-cipher, and “stream-MAC”

slide-126
SLIDE 126

TLS (SSL)

Handshake Client sends session keys for MAC and SKE to the server using SIM-CCA secure PKE, with server’ s PK (i.e. over an unauthenticated, but private channel) For authentication only: use MAC In fact, a “stream-MAC”: To send more than one message, but without allowing reordering For authentication + (CCA secure) encryption: encrypt-then-MAC stream-cipher, and “stream-MAC”

Negotiations on protocol version etc. and “cipher suites” (i.e., which PKE/ key-exchange, SKE, MAC (and CRHF)).

slide-127
SLIDE 127

TLS (SSL)

Handshake Client sends session keys for MAC and SKE to the server using SIM-CCA secure PKE, with server’ s PK (i.e. over an unauthenticated, but private channel) For authentication only: use MAC In fact, a “stream-MAC”: To send more than one message, but without allowing reordering For authentication + (CCA secure) encryption: encrypt-then-MAC stream-cipher, and “stream-MAC”

Negotiations on protocol version etc. and “cipher suites” (i.e., which PKE/ key-exchange, SKE, MAC (and CRHF)). e.g. cipher-suite: RSA-OAEP for key- exchange, AES for SKE, HMAC-MD5 for MAC

slide-128
SLIDE 128

TLS (SSL)

Handshake Client sends session keys for MAC and SKE to the server using SIM-CCA secure PKE, with server’ s PK (i.e. over an unauthenticated, but private channel) For authentication only: use MAC In fact, a “stream-MAC”: To send more than one message, but without allowing reordering For authentication + (CCA secure) encryption: encrypt-then-MAC stream-cipher, and “stream-MAC”

Negotiations on protocol version etc. and “cipher suites” (i.e., which PKE/ key-exchange, SKE, MAC (and CRHF)). e.g. cipher-suite: RSA-OAEP for key- exchange, AES for SKE, HMAC-MD5 for MAC Server sends a certificate of its PKE public-key, which the client verifies

slide-129
SLIDE 129

TLS (SSL)

Handshake Client sends session keys for MAC and SKE to the server using SIM-CCA secure PKE, with server’ s PK (i.e. over an unauthenticated, but private channel) For authentication only: use MAC In fact, a “stream-MAC”: To send more than one message, but without allowing reordering For authentication + (CCA secure) encryption: encrypt-then-MAC stream-cipher, and “stream-MAC”

Negotiations on protocol version etc. and “cipher suites” (i.e., which PKE/ key-exchange, SKE, MAC (and CRHF)). e.g. cipher-suite: RSA-OAEP for key- exchange, AES for SKE, HMAC-MD5 for MAC Server sends a certificate of its PKE public-key, which the client verifies Server also “contributes” to key- generation (to avoid replay attack issues): Roughly, client sends a key K for a PRF; a master key generated as PRFK(x,y) where x from client and y from server. SKE and MAC keys derived from master key

slide-130
SLIDE 130

TLS (SSL)

Handshake Client sends session keys for MAC and SKE to the server using SIM-CCA secure PKE, with server’ s PK (i.e. over an unauthenticated, but private channel) For authentication only: use MAC In fact, a “stream-MAC”: To send more than one message, but without allowing reordering For authentication + (CCA secure) encryption: encrypt-then-MAC stream-cipher, and “stream-MAC”

Negotiations on protocol version etc. and “cipher suites” (i.e., which PKE/ key-exchange, SKE, MAC (and CRHF)). e.g. cipher-suite: RSA-OAEP for key- exchange, AES for SKE, HMAC-MD5 for MAC Server sends a certificate of its PKE public-key, which the client verifies Server also “contributes” to key- generation (to avoid replay attack issues): Roughly, client sends a key K for a PRF; a master key generated as PRFK(x,y) where x from client and y from server. SKE and MAC keys derived from master key Uses MAC-then-encrypt! Not CCA secure in general, but secure with stream-cipher (and with some other modes of block-ciphers, like CBC)

slide-131
SLIDE 131

TLS (SSL)

Handshake Client sends session keys for MAC and SKE to the server using SIM-CCA secure PKE, with server’ s PK (i.e. over an unauthenticated, but private channel) For authentication only: use MAC In fact, a “stream-MAC”: To send more than one message, but without allowing reordering For authentication + (CCA secure) encryption: encrypt-then-MAC stream-cipher, and “stream-MAC”

Negotiations on protocol version etc. and “cipher suites” (i.e., which PKE/ key-exchange, SKE, MAC (and CRHF)). e.g. cipher-suite: RSA-OAEP for key- exchange, AES for SKE, HMAC-MD5 for MAC Server sends a certificate of its PKE public-key, which the client verifies Server also “contributes” to key- generation (to avoid replay attack issues): Roughly, client sends a key K for a PRF; a master key generated as PRFK(x,y) where x from client and y from server. SKE and MAC keys derived from master key Uses MAC-then-encrypt! Not CCA secure in general, but secure with stream-cipher (and with some other modes of block-ciphers, like CBC) Several details on closing sessions, session caching, resuming sessions ...

slide-132
SLIDE 132

Coming Up

slide-133
SLIDE 133

Coming Up

Beyond communication

slide-134
SLIDE 134

Coming Up

Beyond communication Secure Multi-party computation

slide-135
SLIDE 135

Coming Up

Beyond communication Secure Multi-party computation Electronic Voting

slide-136
SLIDE 136

Coming Up

Beyond communication Secure Multi-party computation Electronic Voting Private Information Retrieval

slide-137
SLIDE 137

Coming Up

Beyond communication Secure Multi-party computation Electronic Voting Private Information Retrieval Broadcast Encryption, Searchable Encryption

slide-138
SLIDE 138

Coming Up

Beyond communication Secure Multi-party computation Electronic Voting Private Information Retrieval Broadcast Encryption, Searchable Encryption Attribute-Based cryptography

slide-139
SLIDE 139

Coming Up

Beyond communication Secure Multi-party computation Electronic Voting Private Information Retrieval Broadcast Encryption, Searchable Encryption Attribute-Based cryptography Anonymous Credentials & Digital Cash

slide-140
SLIDE 140

Coming Up

Beyond communication Secure Multi-party computation Electronic Voting Private Information Retrieval Broadcast Encryption, Searchable Encryption Attribute-Based cryptography Anonymous Credentials & Digital Cash Fancy Signatures, ...

slide-141
SLIDE 141

Coming Up

Beyond communication Secure Multi-party computation Electronic Voting Private Information Retrieval Broadcast Encryption, Searchable Encryption Attribute-Based cryptography Anonymous Credentials & Digital Cash Fancy Signatures, ... Tools: Secret sharing, homomorphic encryption, bilinear-pairings, lattices...

slide-142
SLIDE 142

Coming Up

Beyond communication Secure Multi-party computation Electronic Voting Private Information Retrieval Broadcast Encryption, Searchable Encryption Attribute-Based cryptography Anonymous Credentials & Digital Cash Fancy Signatures, ... Tools: Secret sharing, homomorphic encryption, bilinear-pairings, lattices... Quantum cryptography (secure communication)