Error-prone cryptographic designs Crypto horror story #1 Daniel J. - - PowerPoint PPT Presentation

error prone cryptographic designs crypto horror story 1
SMART_READER_LITE
LIVE PREVIEW

Error-prone cryptographic designs Crypto horror story #1 Daniel J. - - PowerPoint PPT Presentation

Error-prone cryptographic designs Crypto horror story #1 Daniel J. Bernstein 2010 BushingMarcanSegher University of Illinois at Chicago & Sven failOverflow demolition Technische Universiteit Eindhoven of Sony PS3 security


slide-1
SLIDE 1

Error-prone cryptographic designs Daniel J. Bernstein University of Illinois at Chicago & Technische Universiteit Eindhoven “The poor user is given enough rope with which to hang himself—something a standard should not do.” —1992 Rivest, commenting on nonce generation inside Digital Signature Algorithm (1991 proposal by NIST, 1992 credited to NSA, 1994 standardized by NIST) Crypto horror story #1 2010 Bushing–Marcan–Segher– Sven “failOverflow” demolition

  • f Sony PS3 security system:

Sony had ignored requirement to generate new random nonce for each ECDSA signature. ⇒ Sony’s signatures leaked Sony’s secret code-signing key.

slide-2
SLIDE 2

Error-prone cryptographic designs Daniel J. Bernstein University of Illinois at Chicago & Technische Universiteit Eindhoven “The poor user is given enough rope with which to hang himself—something a standard should not do.” —1992 Rivest, commenting on nonce generation inside Digital Signature Algorithm (1991 proposal by NIST, 1992 credited to NSA, 1994 standardized by NIST) Crypto horror story #1 2010 Bushing–Marcan–Segher– Sven “failOverflow” demolition

  • f Sony PS3 security system:

Sony had ignored requirement to generate new random nonce for each ECDSA signature. ⇒ Sony’s signatures leaked Sony’s secret code-signing key. Traditional response: Blame Sony. Blame the crypto implementor.

slide-3
SLIDE 3

Error-prone cryptographic designs Daniel J. Bernstein University of Illinois at Chicago & Technische Universiteit Eindhoven “The poor user is given enough rope with which to hang himself—something a standard should not do.” —1992 Rivest, commenting on nonce generation inside Digital Signature Algorithm (1991 proposal by NIST, 1992 credited to NSA, 1994 standardized by NIST) Crypto horror story #1 2010 Bushing–Marcan–Segher– Sven “failOverflow” demolition

  • f Sony PS3 security system:

Sony had ignored requirement to generate new random nonce for each ECDSA signature. ⇒ Sony’s signatures leaked Sony’s secret code-signing key. Traditional response: Blame Sony. Blame the crypto implementor. Rivest’s response: Blame DSA. Blame the crypto designer.

slide-4
SLIDE 4

Error-prone cryptographic designs Daniel J. Bernstein University of Illinois at Chicago & Technische Universiteit Eindhoven “The poor user is given enough rope with which to hang himself—something a standard should not do.” —1992 Rivest, commenting on nonce generation inside Digital Signature Algorithm (1991 proposal by NIST, 1992 credited to NSA, 1994 standardized by NIST) Crypto horror story #1 2010 Bushing–Marcan–Segher– Sven “failOverflow” demolition

  • f Sony PS3 security system:

Sony had ignored requirement to generate new random nonce for each ECDSA signature. ⇒ Sony’s signatures leaked Sony’s secret code-signing key. Traditional response: Blame Sony. Blame the crypto implementor. Rivest’s response: Blame DSA. Blame the crypto designer. Change DSA to avoid this pitfall!

slide-5
SLIDE 5

rone cryptographic designs

  • J. Bernstein

University of Illinois at Chicago & echnische Universiteit Eindhoven poor user is enough rope with which hang himself—something standard should not do.” —1992 Rivest, commenting on nonce generation Digital Signature Algorithm proposal by NIST, credited to NSA, standardized by NIST) Crypto horror story #1 2010 Bushing–Marcan–Segher– Sven “failOverflow” demolition

  • f Sony PS3 security system:

Sony had ignored requirement to generate new random nonce for each ECDSA signature. ⇒ Sony’s signatures leaked Sony’s secret code-signing key. Traditional response: Blame Sony. Blame the crypto implementor. Rivest’s response: Blame DSA. Blame the crypto designer. Change DSA to avoid this pitfall! Crypto ho 2005 Osvik–Shamir–T 65ms to used for Attack p but without Almost all use fast Kernel’s influences influencing influencing

  • f the attack

65ms to

slide-6
SLIDE 6

cryptographic designs Bernstein Illinois at Chicago & Universiteit Eindhoven is rope with which himself—something should not do.” nonce generation Signature Algorithm y NIST, NSA, rdized by NIST) Crypto horror story #1 2010 Bushing–Marcan–Segher– Sven “failOverflow” demolition

  • f Sony PS3 security system:

Sony had ignored requirement to generate new random nonce for each ECDSA signature. ⇒ Sony’s signatures leaked Sony’s secret code-signing key. Traditional response: Blame Sony. Blame the crypto implementor. Rivest’s response: Blame DSA. Blame the crypto designer. Change DSA to avoid this pitfall! Crypto horror story 2005 Osvik–Shamir–T 65ms to steal Linux used for hard-disk Attack process on but without privileges. Almost all AES implementations use fast lookup tables. Kernel’s secret AES influences table-load influencing CPU cache influencing measurable

  • f the attack process.

65ms to compute influence

slide-7
SLIDE 7

designs Chicago & Eindhoven which himself—something ” generation Algorithm NIST) Crypto horror story #1 2010 Bushing–Marcan–Segher– Sven “failOverflow” demolition

  • f Sony PS3 security system:

Sony had ignored requirement to generate new random nonce for each ECDSA signature. ⇒ Sony’s signatures leaked Sony’s secret code-signing key. Traditional response: Blame Sony. Blame the crypto implementor. Rivest’s response: Blame DSA. Blame the crypto designer. Change DSA to avoid this pitfall! Crypto horror story #2 2005 Osvik–Shamir–Tromer: 65ms to steal Linux AES key used for hard-disk encryption. Attack process on same CPU but without privileges. Almost all AES implementations use fast lookup tables. Kernel’s secret AES key influences table-load addresses, influencing CPU cache state, influencing measurable timings

  • f the attack process.

65ms to compute influence−

slide-8
SLIDE 8

Crypto horror story #1 2010 Bushing–Marcan–Segher– Sven “failOverflow” demolition

  • f Sony PS3 security system:

Sony had ignored requirement to generate new random nonce for each ECDSA signature. ⇒ Sony’s signatures leaked Sony’s secret code-signing key. Traditional response: Blame Sony. Blame the crypto implementor. Rivest’s response: Blame DSA. Blame the crypto designer. Change DSA to avoid this pitfall! Crypto horror story #2 2005 Osvik–Shamir–Tromer: 65ms to steal Linux AES key used for hard-disk encryption. Attack process on same CPU but without privileges. Almost all AES implementations use fast lookup tables. Kernel’s secret AES key influences table-load addresses, influencing CPU cache state, influencing measurable timings

  • f the attack process.

65ms to compute influence−1.

slide-9
SLIDE 9

horror story #1 Bushing–Marcan–Segher– “failOverflow” demolition Sony PS3 security system: had ignored requirement generate new random nonce h ECDSA signature. Sony’s signatures leaked secret code-signing key. raditional response: Blame Sony. Blame the crypto implementor. Rivest’s response: Blame DSA. Blame the crypto designer. Change DSA to avoid this pitfall! Crypto horror story #2 2005 Osvik–Shamir–Tromer: 65ms to steal Linux AES key used for hard-disk encryption. Attack process on same CPU but without privileges. Almost all AES implementations use fast lookup tables. Kernel’s secret AES key influences table-load addresses, influencing CPU cache state, influencing measurable timings

  • f the attack process.

65ms to compute influence−1. 2012 Mo Shacham: data-cache x86 processo somehow physical memory programs

slide-10
SLIDE 10

story #1 Bushing–Marcan–Segher– “failOverflow” demolition security system: red requirement random nonce signature. signatures leaked de-signing key.

  • nse: Blame Sony.

crypto implementor.

  • nse: Blame DSA.

crypto designer. avoid this pitfall! Crypto horror story #2 2005 Osvik–Shamir–Tromer: 65ms to steal Linux AES key used for hard-disk encryption. Attack process on same CPU but without privileges. Almost all AES implementations use fast lookup tables. Kernel’s secret AES key influences table-load addresses, influencing CPU cache state, influencing measurable timings

  • f the attack process.

65ms to compute influence−1. 2012 Mowery–Keelveedhi– Shacham: “We posit data-cache timing x86 processors that somehow subvert the physical indexing, memory requirements programs is doomed

slide-11
SLIDE 11

rcan–Segher– demolition m: requirement nonce signature. ed key. Blame Sony. implementor. DSA. designer. pitfall! Crypto horror story #2 2005 Osvik–Shamir–Tromer: 65ms to steal Linux AES key used for hard-disk encryption. Attack process on same CPU but without privileges. Almost all AES implementations use fast lookup tables. Kernel’s secret AES key influences table-load addresses, influencing CPU cache state, influencing measurable timings

  • f the attack process.

65ms to compute influence−1. 2012 Mowery–Keelveedhi– Shacham: “We posit that any data-cache timing attack against x86 processors that does not somehow subvert the prefetcher, physical indexing, and massive memory requirements of modern programs is doomed to fail.”

slide-12
SLIDE 12

Crypto horror story #2 2005 Osvik–Shamir–Tromer: 65ms to steal Linux AES key used for hard-disk encryption. Attack process on same CPU but without privileges. Almost all AES implementations use fast lookup tables. Kernel’s secret AES key influences table-load addresses, influencing CPU cache state, influencing measurable timings

  • f the attack process.

65ms to compute influence−1. 2012 Mowery–Keelveedhi– Shacham: “We posit that any data-cache timing attack against x86 processors that does not somehow subvert the prefetcher, physical indexing, and massive memory requirements of modern programs is doomed to fail.”

slide-13
SLIDE 13

Crypto horror story #2 2005 Osvik–Shamir–Tromer: 65ms to steal Linux AES key used for hard-disk encryption. Attack process on same CPU but without privileges. Almost all AES implementations use fast lookup tables. Kernel’s secret AES key influences table-load addresses, influencing CPU cache state, influencing measurable timings

  • f the attack process.

65ms to compute influence−1. 2012 Mowery–Keelveedhi– Shacham: “We posit that any data-cache timing attack against x86 processors that does not somehow subvert the prefetcher, physical indexing, and massive memory requirements of modern programs is doomed to fail.” 2014 Irazoqui–Inci–Eisenbarth– Sunar “Wait a minute! A fast, Cross-VM attack on AES” recovers “the AES keys

  • f OpenSSL 1.0.1 running inside

the victim VM” in 60 seconds despite VMware virtualization.

slide-14
SLIDE 14

horror story #2 Osvik–Shamir–Tromer: to steal Linux AES key for hard-disk encryption. process on same CPU without privileges. Almost all AES implementations fast lookup tables. Kernel’s secret AES key influences table-load addresses, influencing CPU cache state, influencing measurable timings attack process. to compute influence−1. 2012 Mowery–Keelveedhi– Shacham: “We posit that any data-cache timing attack against x86 processors that does not somehow subvert the prefetcher, physical indexing, and massive memory requirements of modern programs is doomed to fail.” 2014 Irazoqui–Inci–Eisenbarth– Sunar “Wait a minute! A fast, Cross-VM attack on AES” recovers “the AES keys

  • f OpenSSL 1.0.1 running inside

the victim VM” in 60 seconds despite VMware virtualization. After many

  • n implementations

today we plagued Warning:

slide-15
SLIDE 15

story #2 Osvik–Shamir–Tromer: Linux AES key rd-disk encryption.

  • n same CPU

rivileges. implementations tables. AES key table-load addresses, cache state, measurable timings cess. compute influence−1. 2012 Mowery–Keelveedhi– Shacham: “We posit that any data-cache timing attack against x86 processors that does not somehow subvert the prefetcher, physical indexing, and massive memory requirements of modern programs is doomed to fail.” 2014 Irazoqui–Inci–Eisenbarth– Sunar “Wait a minute! A fast, Cross-VM attack on AES” recovers “the AES keys

  • f OpenSSL 1.0.1 running inside

the victim VM” in 60 seconds despite VMware virtualization. After many, many,

  • n implementations

today we still have plagued with AES Warning: more pap

slide-16
SLIDE 16

romer: ey encryption. CPU implementations addresses, state, timings influence−1. 2012 Mowery–Keelveedhi– Shacham: “We posit that any data-cache timing attack against x86 processors that does not somehow subvert the prefetcher, physical indexing, and massive memory requirements of modern programs is doomed to fail.” 2014 Irazoqui–Inci–Eisenbarth– Sunar “Wait a minute! A fast, Cross-VM attack on AES” recovers “the AES keys

  • f OpenSSL 1.0.1 running inside

the victim VM” in 60 seconds despite VMware virtualization. After many, many, many pap

  • n implementations and attacks,

today we still have an ecosystem plagued with AES vulnerabilities. Warning: more papers = securit

slide-17
SLIDE 17

2012 Mowery–Keelveedhi– Shacham: “We posit that any data-cache timing attack against x86 processors that does not somehow subvert the prefetcher, physical indexing, and massive memory requirements of modern programs is doomed to fail.” 2014 Irazoqui–Inci–Eisenbarth– Sunar “Wait a minute! A fast, Cross-VM attack on AES” recovers “the AES keys

  • f OpenSSL 1.0.1 running inside

the victim VM” in 60 seconds despite VMware virtualization. After many, many, many papers

  • n implementations and attacks,

today we still have an ecosystem plagued with AES vulnerabilities. Warning: more papers = security.

slide-18
SLIDE 18

2012 Mowery–Keelveedhi– Shacham: “We posit that any data-cache timing attack against x86 processors that does not somehow subvert the prefetcher, physical indexing, and massive memory requirements of modern programs is doomed to fail.” 2014 Irazoqui–Inci–Eisenbarth– Sunar “Wait a minute! A fast, Cross-VM attack on AES” recovers “the AES keys

  • f OpenSSL 1.0.1 running inside

the victim VM” in 60 seconds despite VMware virtualization. After many, many, many papers

  • n implementations and attacks,

today we still have an ecosystem plagued with AES vulnerabilities. Warning: more papers = security. AES has a serious conflict between security, simplicity, speed. It’s tough to achieve security while insisting on the AES design —i.e., blaming the implementor.

slide-19
SLIDE 19

2012 Mowery–Keelveedhi– Shacham: “We posit that any data-cache timing attack against x86 processors that does not somehow subvert the prefetcher, physical indexing, and massive memory requirements of modern programs is doomed to fail.” 2014 Irazoqui–Inci–Eisenbarth– Sunar “Wait a minute! A fast, Cross-VM attack on AES” recovers “the AES keys

  • f OpenSSL 1.0.1 running inside

the victim VM” in 60 seconds despite VMware virtualization. After many, many, many papers

  • n implementations and attacks,

today we still have an ecosystem plagued with AES vulnerabilities. Warning: more papers = security. AES has a serious conflict between security, simplicity, speed. It’s tough to achieve security while insisting on the AES design —i.e., blaming the implementor. Allowing the design to vary makes security much easier. Next-generation ciphers are naturally constant-time and fast.

slide-20
SLIDE 20

Mowery–Keelveedhi– Shacham: “We posit that any data-cache timing attack against rocessors that does not somehow subvert the prefetcher, physical indexing, and massive ry requirements of modern rograms is doomed to fail.” Irazoqui–Inci–Eisenbarth– “Wait a minute! A fast, Cross-VM attack on AES” recovers “the AES keys enSSL 1.0.1 running inside victim VM” in 60 seconds despite VMware virtualization. After many, many, many papers

  • n implementations and attacks,

today we still have an ecosystem plagued with AES vulnerabilities. Warning: more papers = security. AES has a serious conflict between security, simplicity, speed. It’s tough to achieve security while insisting on the AES design —i.e., blaming the implementor. Allowing the design to vary makes security much easier. Next-generation ciphers are naturally constant-time and fast. The big Crypto designs

  • Crypto

implementations

slide-21
SLIDE 21

ery–Keelveedhi– posit that any timing attack against that does not subvert the prefetcher, indexing, and massive requirements of modern

  • med to fail.”

qui–Inci–Eisenbarth– minute! A fast, attack on AES” AES keys 1.0.1 running inside in 60 seconds virtualization. After many, many, many papers

  • n implementations and attacks,

today we still have an ecosystem plagued with AES vulnerabilities. Warning: more papers = security. AES has a serious conflict between security, simplicity, speed. It’s tough to achieve security while insisting on the AES design —i.e., blaming the implementor. Allowing the design to vary makes security much easier. Next-generation ciphers are naturally constant-time and fast. The big picture Crypto designs more complexit less review more attacks less secur

  • Crypto

implementations

slide-22
SLIDE 22

any against not fetcher, massive modern fail.” qui–Inci–Eisenbarth– fast, inside seconds virtualization. After many, many, many papers

  • n implementations and attacks,

today we still have an ecosystem plagued with AES vulnerabilities. Warning: more papers = security. AES has a serious conflict between security, simplicity, speed. It’s tough to achieve security while insisting on the AES design —i.e., blaming the implementor. Allowing the design to vary makes security much easier. Next-generation ciphers are naturally constant-time and fast. The big picture Crypto designs more complexity less review more attacks less security

  • Crypto

implementations

slide-23
SLIDE 23

After many, many, many papers

  • n implementations and attacks,

today we still have an ecosystem plagued with AES vulnerabilities. Warning: more papers = security. AES has a serious conflict between security, simplicity, speed. It’s tough to achieve security while insisting on the AES design —i.e., blaming the implementor. Allowing the design to vary makes security much easier. Next-generation ciphers are naturally constant-time and fast. The big picture Crypto designs more complexity less review more attacks less security

  • Crypto

implementations

slide-24
SLIDE 24

After many, many, many papers

  • n implementations and attacks,

today we still have an ecosystem plagued with AES vulnerabilities. Warning: more papers = security. AES has a serious conflict between security, simplicity, speed. It’s tough to achieve security while insisting on the AES design —i.e., blaming the implementor. Allowing the design to vary makes security much easier. Next-generation ciphers are naturally constant-time and fast. The big picture Primitive designs more complexity less review more attacks less security

  • Primitive

implementations

  • Protocol

designs more complexity less review more attacks less security

  • Protocol

implementations

slide-25
SLIDE 25

many, many, many papers implementations and attacks, we still have an ecosystem plagued with AES vulnerabilities. rning: more papers = security. has a serious conflict een security, simplicity, speed. tough to achieve security insisting on the AES design blaming the implementor. wing the design to vary security much easier. Next-generation ciphers are naturally constant-time and fast. The big picture Primitive designs more complexity less review more attacks less security

  • Primitive

implementations

  • Protocol

designs more complexity less review more attacks less security

  • Protocol

implementations Public review towards ignoring protocols There’s much

  • f, e.g.,

than of ECDSA

slide-26
SLIDE 26

many, many papers implementations and attacks, have an ecosystem AES vulnerabilities. papers = security. serious conflict , simplicity, speed. achieve security

  • n the AES design

the implementor. design to vary much easier. ciphers are constant-time and fast. The big picture Primitive designs more complexity less review more attacks less security

  • Primitive

implementations

  • Protocol

designs more complexity less review more attacks less security

  • Protocol

implementations Public review is naturally towards the simplest ignoring complication protocols and implementations. There’s much more

  • f, e.g., discrete loga

than of ECDSA signatures.

slide-27
SLIDE 27

papers attacks, ecosystem vulnerabilities. security. y, speed. security design implementor. ry easier. re and fast. The big picture Primitive designs more complexity less review more attacks less security

  • Primitive

implementations

  • Protocol

designs more complexity less review more attacks less security

  • Protocol

implementations Public review is naturally biased towards the simplest targets, ignoring complications of protocols and implementations. There’s much more public re

  • f, e.g., discrete logarithms

than of ECDSA signatures.

slide-28
SLIDE 28

The big picture Primitive designs more complexity less review more attacks less security

  • Primitive

implementations

  • Protocol

designs more complexity less review more attacks less security

  • Protocol

implementations Public review is naturally biased towards the simplest targets, ignoring complications of protocols and implementations. There’s much more public review

  • f, e.g., discrete logarithms

than of ECDSA signatures.

slide-29
SLIDE 29

The big picture Primitive designs more complexity less review more attacks less security

  • Primitive

implementations

  • Protocol

designs more complexity less review more attacks less security

  • Protocol

implementations Public review is naturally biased towards the simplest targets, ignoring complications of protocols and implementations. There’s much more public review

  • f, e.g., discrete logarithms

than of ECDSA signatures. There’s much more public review

  • f the ECDSA design

than of ECDSA implementations.

slide-30
SLIDE 30

The big picture Primitive designs more complexity less review more attacks less security

  • Primitive

implementations

  • Protocol

designs more complexity less review more attacks less security

  • Protocol

implementations Public review is naturally biased towards the simplest targets, ignoring complications of protocols and implementations. There’s much more public review

  • f, e.g., discrete logarithms

than of ECDSA signatures. There’s much more public review

  • f the ECDSA design

than of ECDSA implementations. There’s much more public review

  • f ECDSA implementations

than of ECDSA applications.

slide-31
SLIDE 31

big picture Primitive designs more complexity less review more attacks less security

  • Primitive

implementations

  • Protocol

designs more complexity less review more attacks less security

  • Protocol

implementations Public review is naturally biased towards the simplest targets, ignoring complications of protocols and implementations. There’s much more public review

  • f, e.g., discrete logarithms

than of ECDSA signatures. There’s much more public review

  • f the ECDSA design

than of ECDSA implementations. There’s much more public review

  • f ECDSA implementations

than of ECDSA applications. What ab The fundamental

  • f “provable

Prove that is as secure i.e.: Prove is as secure Prove that is as secure Then it’s to focus

slide-32
SLIDE 32

complexity review attacks security

  • implementations
  • Protocol

designs complexity less review re attacks security

  • Protocol

implementations Public review is naturally biased towards the simplest targets, ignoring complications of protocols and implementations. There’s much more public review

  • f, e.g., discrete logarithms

than of ECDSA signatures. There’s much more public review

  • f the ECDSA design

than of ECDSA implementations. There’s much more public review

  • f ECDSA implementations

than of ECDSA applications. What about securit The fundamental goal

  • f “provable securit

Prove that the whole is as secure as the i.e.: Prove that the is as secure as the Prove that the implementation is as secure as the Then it’s safe for review to focus on the primitive

slide-33
SLIDE 33
  • Protocol

designs y

  • Protocol

implementations Public review is naturally biased towards the simplest targets, ignoring complications of protocols and implementations. There’s much more public review

  • f, e.g., discrete logarithms

than of ECDSA signatures. There’s much more public review

  • f the ECDSA design

than of ECDSA implementations. There’s much more public review

  • f ECDSA implementations

than of ECDSA applications. What about security proofs? The fundamental goal

  • f “provable security”:

Prove that the whole system is as secure as the primitive. i.e.: Prove that the protocol is as secure as the primitive. Prove that the implementation is as secure as the design. Then it’s safe for reviewers to focus on the primitive design.

slide-34
SLIDE 34

Public review is naturally biased towards the simplest targets, ignoring complications of protocols and implementations. There’s much more public review

  • f, e.g., discrete logarithms

than of ECDSA signatures. There’s much more public review

  • f the ECDSA design

than of ECDSA implementations. There’s much more public review

  • f ECDSA implementations

than of ECDSA applications. What about security proofs? The fundamental goal

  • f “provable security”:

Prove that the whole system is as secure as the primitive. i.e.: Prove that the protocol is as secure as the primitive. Prove that the implementation is as secure as the design. Then it’s safe for reviewers to focus on the primitive design.

slide-35
SLIDE 35

Public review is naturally biased towards the simplest targets, ignoring complications of protocols and implementations. There’s much more public review

  • f, e.g., discrete logarithms

than of ECDSA signatures. There’s much more public review

  • f the ECDSA design

than of ECDSA implementations. There’s much more public review

  • f ECDSA implementations

than of ECDSA applications. What about security proofs? The fundamental goal

  • f “provable security”:

Prove that the whole system is as secure as the primitive. i.e.: Prove that the protocol is as secure as the primitive. Prove that the implementation is as secure as the design. Then it’s safe for reviewers to focus on the primitive design. Maybe will succeed someday, but needs to overcome huge problems.

slide-36
SLIDE 36

review is naturally biased rds the simplest targets, ring complications of cols and implementations. There’s much more public review e.g., discrete logarithms

  • f ECDSA signatures.

There’s much more public review ECDSA design

  • f ECDSA implementations.

There’s much more public review ECDSA implementations

  • f ECDSA applications.

What about security proofs? The fundamental goal

  • f “provable security”:

Prove that the whole system is as secure as the primitive. i.e.: Prove that the protocol is as secure as the primitive. Prove that the implementation is as secure as the design. Then it’s safe for reviewers to focus on the primitive design. Maybe will succeed someday, but needs to overcome huge problems. Problem Proofs are rarely review

slide-37
SLIDE 37

naturally biased simplest targets,

  • mplications of

implementations. more public review logarithms signatures. more public review design implementations. more public review implementations applications. What about security proofs? The fundamental goal

  • f “provable security”:

Prove that the whole system is as secure as the primitive. i.e.: Prove that the protocol is as secure as the primitive. Prove that the implementation is as secure as the design. Then it’s safe for reviewers to focus on the primitive design. Maybe will succeed someday, but needs to overcome huge problems. Problem 1: “Proofs” Proofs are increasingly rarely reviewed, rarely

slide-38
SLIDE 38

biased rgets, implementations. review rithms signatures. review implementations. review implementations applications. What about security proofs? The fundamental goal

  • f “provable security”:

Prove that the whole system is as secure as the primitive. i.e.: Prove that the protocol is as secure as the primitive. Prove that the implementation is as secure as the design. Then it’s safe for reviewers to focus on the primitive design. Maybe will succeed someday, but needs to overcome huge problems. Problem 1: “Proofs” have erro Proofs are increasingly complex, rarely reviewed, rarely automated.

slide-39
SLIDE 39

What about security proofs? The fundamental goal

  • f “provable security”:

Prove that the whole system is as secure as the primitive. i.e.: Prove that the protocol is as secure as the primitive. Prove that the implementation is as secure as the design. Then it’s safe for reviewers to focus on the primitive design. Maybe will succeed someday, but needs to overcome huge problems. Problem 1: “Proofs” have errors. Proofs are increasingly complex, rarely reviewed, rarely automated.

slide-40
SLIDE 40

What about security proofs? The fundamental goal

  • f “provable security”:

Prove that the whole system is as secure as the primitive. i.e.: Prove that the protocol is as secure as the primitive. Prove that the implementation is as secure as the design. Then it’s safe for reviewers to focus on the primitive design. Maybe will succeed someday, but needs to overcome huge problems. Problem 1: “Proofs” have errors. Proofs are increasingly complex, rarely reviewed, rarely automated. Problem 2: Most proofs are of security bounds that aren’t tight: e.g. forking-lemma “security” is pure deception for typical sizes.

slide-41
SLIDE 41

What about security proofs? The fundamental goal

  • f “provable security”:

Prove that the whole system is as secure as the primitive. i.e.: Prove that the protocol is as secure as the primitive. Prove that the implementation is as secure as the design. Then it’s safe for reviewers to focus on the primitive design. Maybe will succeed someday, but needs to overcome huge problems. Problem 1: “Proofs” have errors. Proofs are increasingly complex, rarely reviewed, rarely automated. Problem 2: Most proofs are of security bounds that aren’t tight: e.g. forking-lemma “security” is pure deception for typical sizes. Problem 3: “Security” definitions prioritize simplicity over accuracy. e.g. is MAC-pad-encrypt secure?

slide-42
SLIDE 42

What about security proofs? The fundamental goal

  • f “provable security”:

Prove that the whole system is as secure as the primitive. i.e.: Prove that the protocol is as secure as the primitive. Prove that the implementation is as secure as the design. Then it’s safe for reviewers to focus on the primitive design. Maybe will succeed someday, but needs to overcome huge problems. Problem 1: “Proofs” have errors. Proofs are increasingly complex, rarely reviewed, rarely automated. Problem 2: Most proofs are of security bounds that aren’t tight: e.g. forking-lemma “security” is pure deception for typical sizes. Problem 3: “Security” definitions prioritize simplicity over accuracy. e.g. is MAC-pad-encrypt secure? Problem 4: Maybe the only way to achieve the fundamental goal is to switch to weak primitives.

slide-43
SLIDE 43

about security proofs? fundamental goal rovable security”: that the whole system secure as the primitive. Prove that the protocol secure as the primitive. that the implementation secure as the design. it’s safe for reviewers cus on the primitive design. will succeed someday, but to overcome huge problems. Problem 1: “Proofs” have errors. Proofs are increasingly complex, rarely reviewed, rarely automated. Problem 2: Most proofs are of security bounds that aren’t tight: e.g. forking-lemma “security” is pure deception for typical sizes. Problem 3: “Security” definitions prioritize simplicity over accuracy. e.g. is MAC-pad-encrypt secure? Problem 4: Maybe the only way to achieve the fundamental goal is to switch to weak primitives. Some advice Creating Think ab implementations. What will What erro to appea Can you

slide-44
SLIDE 44

security proofs? fundamental goal security”: whole system the primitive. the protocol the primitive. implementation the design. r reviewers primitive design. succeed someday, but

  • vercome huge problems.

Problem 1: “Proofs” have errors. Proofs are increasingly complex, rarely reviewed, rarely automated. Problem 2: Most proofs are of security bounds that aren’t tight: e.g. forking-lemma “security” is pure deception for typical sizes. Problem 3: “Security” definitions prioritize simplicity over accuracy. e.g. is MAC-pad-encrypt secure? Problem 4: Maybe the only way to achieve the fundamental goal is to switch to weak primitives. Some advice to crypto Creating or evaluating Think about the implementations. What will the implemento What errors are lik to appear in implementations? Can you compensate

slide-45
SLIDE 45
  • fs?

system rimitive. col rimitive. implementation ers design. someday, but roblems. Problem 1: “Proofs” have errors. Proofs are increasingly complex, rarely reviewed, rarely automated. Problem 2: Most proofs are of security bounds that aren’t tight: e.g. forking-lemma “security” is pure deception for typical sizes. Problem 3: “Security” definitions prioritize simplicity over accuracy. e.g. is MAC-pad-encrypt secure? Problem 4: Maybe the only way to achieve the fundamental goal is to switch to weak primitives. Some advice to crypto designers Creating or evaluating a design? Think about the implementations. What will the implementors What errors are likely to appear in implementations? Can you compensate for this?

slide-46
SLIDE 46

Problem 1: “Proofs” have errors. Proofs are increasingly complex, rarely reviewed, rarely automated. Problem 2: Most proofs are of security bounds that aren’t tight: e.g. forking-lemma “security” is pure deception for typical sizes. Problem 3: “Security” definitions prioritize simplicity over accuracy. e.g. is MAC-pad-encrypt secure? Problem 4: Maybe the only way to achieve the fundamental goal is to switch to weak primitives. Some advice to crypto designers Creating or evaluating a design? Think about the implementations. What will the implementors do? What errors are likely to appear in implementations? Can you compensate for this?

slide-47
SLIDE 47

Problem 1: “Proofs” have errors. Proofs are increasingly complex, rarely reviewed, rarely automated. Problem 2: Most proofs are of security bounds that aren’t tight: e.g. forking-lemma “security” is pure deception for typical sizes. Problem 3: “Security” definitions prioritize simplicity over accuracy. e.g. is MAC-pad-encrypt secure? Problem 4: Maybe the only way to achieve the fundamental goal is to switch to weak primitives. Some advice to crypto designers Creating or evaluating a design? Think about the implementations. What will the implementors do? What errors are likely to appear in implementations? Can you compensate for this? Is the design a primitive? Think about the protocols. Is the design a protocol? Think about the higher-level protocols. Will the system be secure?

slide-48
SLIDE 48

Problem 1: “Proofs” have errors. are increasingly complex, reviewed, rarely automated. Problem 2: Most proofs are of y bounds that aren’t tight: rking-lemma “security” deception for typical sizes. Problem 3: “Security” definitions ritize simplicity over accuracy. MAC-pad-encrypt secure? Problem 4: Maybe the only way achieve the fundamental goal switch to weak primitives. Some advice to crypto designers Creating or evaluating a design? Think about the implementations. What will the implementors do? What errors are likely to appear in implementations? Can you compensate for this? Is the design a primitive? Think about the protocols. Is the design a protocol? Think about the higher-level protocols. Will the system be secure? Crypto ho HTTPS.

slide-49
SLIDE 49
  • fs” have errors.

increasingly complex, rarely automated. Most proofs are of that aren’t tight: mma “security” for typical sizes. “Security” definitions simplicity over accuracy. C-pad-encrypt secure? ybe the only way fundamental goal eak primitives. Some advice to crypto designers Creating or evaluating a design? Think about the implementations. What will the implementors do? What errors are likely to appear in implementations? Can you compensate for this? Is the design a primitive? Think about the protocols. Is the design a protocol? Think about the higher-level protocols. Will the system be secure? Crypto horror story HTTPS.

slide-50
SLIDE 50

errors. complex, automated. re of ren’t tight: “security” ypical sizes. definitions accuracy. secure?

  • nly way

fundamental goal rimitives. Some advice to crypto designers Creating or evaluating a design? Think about the implementations. What will the implementors do? What errors are likely to appear in implementations? Can you compensate for this? Is the design a primitive? Think about the protocols. Is the design a protocol? Think about the higher-level protocols. Will the system be secure? Crypto horror story #3 HTTPS.

slide-51
SLIDE 51

Some advice to crypto designers Creating or evaluating a design? Think about the implementations. What will the implementors do? What errors are likely to appear in implementations? Can you compensate for this? Is the design a primitive? Think about the protocols. Is the design a protocol? Think about the higher-level protocols. Will the system be secure? Crypto horror story #3 HTTPS.

slide-52
SLIDE 52

Some advice to crypto designers Creating or evaluating a design? Think about the implementations. What will the implementors do? What errors are likely to appear in implementations? Can you compensate for this? Is the design a primitive? Think about the protocols. Is the design a protocol? Think about the higher-level protocols. Will the system be secure? Crypto horror story #3 HTTPS. letsencrypt.org is a huge improvement in HTTPS usability; will obviously be widely used. But is HTTPS actually secure?

slide-53
SLIDE 53

Some advice to crypto designers Creating or evaluating a design? Think about the implementations. What will the implementors do? What errors are likely to appear in implementations? Can you compensate for this? Is the design a primitive? Think about the protocols. Is the design a protocol? Think about the higher-level protocols. Will the system be secure? Crypto horror story #3 HTTPS. letsencrypt.org is a huge improvement in HTTPS usability; will obviously be widely used. But is HTTPS actually secure? “It’s not so bad against passive eavesdroppers!” —The eavesdroppers will start forging (more) packets.

slide-54
SLIDE 54

Some advice to crypto designers Creating or evaluating a design? Think about the implementations. What will the implementors do? What errors are likely to appear in implementations? Can you compensate for this? Is the design a primitive? Think about the protocols. Is the design a protocol? Think about the higher-level protocols. Will the system be secure? Crypto horror story #3 HTTPS. letsencrypt.org is a huge improvement in HTTPS usability; will obviously be widely used. But is HTTPS actually secure? “It’s not so bad against passive eavesdroppers!” —The eavesdroppers will start forging (more) packets. “Then we’ll know they’re there!” —Yes, we knew that already. What we want is security.

slide-55
SLIDE 55

advice to crypto designers Creating or evaluating a design? about the implementations. will the implementors do? errors are likely ear in implementations?

  • u compensate for this?

design a primitive? about the protocols. design a protocol? about the higher-level protocols. the system be secure? Crypto horror story #3 HTTPS. letsencrypt.org is a huge improvement in HTTPS usability; will obviously be widely used. But is HTTPS actually secure? “It’s not so bad against passive eavesdroppers!” —The eavesdroppers will start forging (more) packets. “Then we’ll know they’re there!” —Yes, we knew that already. What we want is security. 2013.01 State-of-the-a are obviou e.g. Defense requires assumption”

slide-56
SLIDE 56

crypto designers evaluating a design? the implementations. implementors do? likely implementations? ensate for this? rimitive? the protocols. rotocol? the rotocols. be secure? Crypto horror story #3 HTTPS. letsencrypt.org is a huge improvement in HTTPS usability; will obviously be widely used. But is HTTPS actually secure? “It’s not so bad against passive eavesdroppers!” —The eavesdroppers will start forging (more) packets. “Then we’ll know they’re there!” —Yes, we knew that already. What we want is security. 2013.01 Green: State-of-the-art TLS are obviously unsatisfacto e.g. Defense vs. Bleichenbacher requires “goofy made-up assumption” for pro

slide-57
SLIDE 57

designers design? rs do? implementations? this? cols. Crypto horror story #3 HTTPS. letsencrypt.org is a huge improvement in HTTPS usability; will obviously be widely used. But is HTTPS actually secure? “It’s not so bad against passive eavesdroppers!” —The eavesdroppers will start forging (more) packets. “Then we’ll know they’re there!” —Yes, we knew that already. What we want is security. 2013.01 Green: State-of-the-art TLS proofs are obviously unsatisfactory. e.g. Defense vs. Bleichenbacher requires “goofy made-up assumption” for proof.

slide-58
SLIDE 58

Crypto horror story #3 HTTPS. letsencrypt.org is a huge improvement in HTTPS usability; will obviously be widely used. But is HTTPS actually secure? “It’s not so bad against passive eavesdroppers!” —The eavesdroppers will start forging (more) packets. “Then we’ll know they’re there!” —Yes, we knew that already. What we want is security. 2013.01 Green: State-of-the-art TLS proofs are obviously unsatisfactory. e.g. Defense vs. Bleichenbacher requires “goofy made-up assumption” for proof.

slide-59
SLIDE 59

Crypto horror story #3 HTTPS. letsencrypt.org is a huge improvement in HTTPS usability; will obviously be widely used. But is HTTPS actually secure? “It’s not so bad against passive eavesdroppers!” —The eavesdroppers will start forging (more) packets. “Then we’ll know they’re there!” —Yes, we knew that already. What we want is security. 2013.01 Green: State-of-the-art TLS proofs are obviously unsatisfactory. e.g. Defense vs. Bleichenbacher requires “goofy made-up assumption” for proof. But that was “the good news : : : The problem with TLS is that we are cursed with implementations.” e.g. Defense vs. Bleichenbacher is in wrong order in OpenSSL. Does this allow timing attacks?

slide-60
SLIDE 60

horror story #3 HTTPS. letsencrypt.org is a huge rovement in HTTPS usability;

  • bviously be widely used.

HTTPS actually secure? not so bad against passive eavesdroppers!” eavesdroppers will start (more) packets. we’ll know they’re there!” we knew that already. we want is security. 2013.01 Green: State-of-the-art TLS proofs are obviously unsatisfactory. e.g. Defense vs. Bleichenbacher requires “goofy made-up assumption” for proof. But that was “the good news : : : The problem with TLS is that we are cursed with implementations.” e.g. Defense vs. Bleichenbacher is in wrong order in OpenSSL. Does this allow timing attacks? 2014.08 Weiss–Schw Successful exploiting variations NITROX

slide-61
SLIDE 61

story #3 letsencrypt.org is a huge HTTPS usability; widely used. actually secure? eavesdroppers!” eavesdroppers will start packets. w they’re there!” that already. is security. 2013.01 Green: State-of-the-art TLS proofs are obviously unsatisfactory. e.g. Defense vs. Bleichenbacher requires “goofy made-up assumption” for proof. But that was “the good news : : : The problem with TLS is that we are cursed with implementations.” e.g. Defense vs. Bleichenbacher is in wrong order in OpenSSL. Does this allow timing attacks? 2014.08 Meyer–Somo Weiss–Schwenk–Schin Successful Bleichenbacher exploiting analogous variations in Java SSE, NITROX SSL accelerato

slide-62
SLIDE 62

huge usability; used. secure? ers!” start there!” already. 2013.01 Green: State-of-the-art TLS proofs are obviously unsatisfactory. e.g. Defense vs. Bleichenbacher requires “goofy made-up assumption” for proof. But that was “the good news : : : The problem with TLS is that we are cursed with implementations.” e.g. Defense vs. Bleichenbacher is in wrong order in OpenSSL. Does this allow timing attacks? 2014.08 Meyer–Somorovsky– Weiss–Schwenk–Schinzel–Tews: Successful Bleichenbacher attacks, exploiting analogous timing variations in Java SSE, Cavium NITROX SSL accelerator chip.

slide-63
SLIDE 63

2013.01 Green: State-of-the-art TLS proofs are obviously unsatisfactory. e.g. Defense vs. Bleichenbacher requires “goofy made-up assumption” for proof. But that was “the good news : : : The problem with TLS is that we are cursed with implementations.” e.g. Defense vs. Bleichenbacher is in wrong order in OpenSSL. Does this allow timing attacks? 2014.08 Meyer–Somorovsky– Weiss–Schwenk–Schinzel–Tews: Successful Bleichenbacher attacks, exploiting analogous timing variations in Java SSE, Cavium NITROX SSL accelerator chip.

slide-64
SLIDE 64

2013.01 Green: State-of-the-art TLS proofs are obviously unsatisfactory. e.g. Defense vs. Bleichenbacher requires “goofy made-up assumption” for proof. But that was “the good news : : : The problem with TLS is that we are cursed with implementations.” e.g. Defense vs. Bleichenbacher is in wrong order in OpenSSL. Does this allow timing attacks? 2014.08 Meyer–Somorovsky– Weiss–Schwenk–Schinzel–Tews: Successful Bleichenbacher attacks, exploiting analogous timing variations in Java SSE, Cavium NITROX SSL accelerator chip. The whole concept of a “public-key cryptosystem” is a historical accident, dangerously unauthenticated.

slide-65
SLIDE 65

2013.01 Green: State-of-the-art TLS proofs are obviously unsatisfactory. e.g. Defense vs. Bleichenbacher requires “goofy made-up assumption” for proof. But that was “the good news : : : The problem with TLS is that we are cursed with implementations.” e.g. Defense vs. Bleichenbacher is in wrong order in OpenSSL. Does this allow timing attacks? 2014.08 Meyer–Somorovsky– Weiss–Schwenk–Schinzel–Tews: Successful Bleichenbacher attacks, exploiting analogous timing variations in Java SSE, Cavium NITROX SSL accelerator chip. The whole concept of a “public-key cryptosystem” is a historical accident, dangerously unauthenticated. Do we seriously believe that we’ll make HTTPS secure by fixing the implementations? Fix the bad crypto design.

slide-66
SLIDE 66

2013.01 Green: State-of-the-art TLS proofs

  • bviously unsatisfactory.

Defense vs. Bleichenbacher requires “goofy made-up assumption” for proof. that was “the good : : The problem with that we are cursed with implementations.” Defense vs. Bleichenbacher wrong order in OpenSSL. this allow timing attacks? 2014.08 Meyer–Somorovsky– Weiss–Schwenk–Schinzel–Tews: Successful Bleichenbacher attacks, exploiting analogous timing variations in Java SSE, Cavium NITROX SSL accelerator chip. The whole concept of a “public-key cryptosystem” is a historical accident, dangerously unauthenticated. Do we seriously believe that we’ll make HTTPS secure by fixing the implementations? Fix the bad crypto design. Exercise: failures can Renegotiation Diginota BEAST Trustwave CRIME comp Lucky 13 RC4 keystream TLS truncation. gotofail signature-verification Triple Handshak Heartbleed POODLE Winshock

slide-67
SLIDE 67

TLS proofs unsatisfactory. Bleichenbacher made-up proof. “the good roblem with re cursed with .” Bleichenbacher rder in OpenSSL. timing attacks? 2014.08 Meyer–Somorovsky– Weiss–Schwenk–Schinzel–Tews: Successful Bleichenbacher attacks, exploiting analogous timing variations in Java SSE, Cavium NITROX SSL accelerator chip. The whole concept of a “public-key cryptosystem” is a historical accident, dangerously unauthenticated. Do we seriously believe that we’ll make HTTPS secure by fixing the implementations? Fix the bad crypto design. Exercise: How many failures can a designer Renegotiation attack. Diginotar CA comp BEAST CBC attack. Trustwave HTTPS CRIME compression Lucky 13 padding/tim RC4 keystream bias. TLS truncation. gotofail signature-verification Triple Handshake. Heartbleed buffer overread. POODLE padding-o Winshock buffer overflo

slide-68
SLIDE 68
  • fs

ry. Bleichenbacher with with Bleichenbacher enSSL. attacks? 2014.08 Meyer–Somorovsky– Weiss–Schwenk–Schinzel–Tews: Successful Bleichenbacher attacks, exploiting analogous timing variations in Java SSE, Cavium NITROX SSL accelerator chip. The whole concept of a “public-key cryptosystem” is a historical accident, dangerously unauthenticated. Do we seriously believe that we’ll make HTTPS secure by fixing the implementations? Fix the bad crypto design. Exercise: How many of these failures can a designer address? Renegotiation attack. Diginotar CA compromise. BEAST CBC attack. Trustwave HTTPS interception. CRIME compression attack. Lucky 13 padding/timing attack. RC4 keystream bias. TLS truncation. gotofail signature-verification Triple Handshake. Heartbleed buffer overread. POODLE padding-oracle attack. Winshock buffer overflow.

slide-69
SLIDE 69

2014.08 Meyer–Somorovsky– Weiss–Schwenk–Schinzel–Tews: Successful Bleichenbacher attacks, exploiting analogous timing variations in Java SSE, Cavium NITROX SSL accelerator chip. The whole concept of a “public-key cryptosystem” is a historical accident, dangerously unauthenticated. Do we seriously believe that we’ll make HTTPS secure by fixing the implementations? Fix the bad crypto design. Exercise: How many of these TLS failures can a designer address? Renegotiation attack. Diginotar CA compromise. BEAST CBC attack. Trustwave HTTPS interception. CRIME compression attack. Lucky 13 padding/timing attack. RC4 keystream bias. TLS truncation. gotofail signature-verification bug. Triple Handshake. Heartbleed buffer overread. POODLE padding-oracle attack. Winshock buffer overflow.