the OPTLS protocol and TLS 1.3 Hugo Krawczyk IBM Hoeteck Wee ENS . - - PowerPoint PPT Presentation

the optls protocol and tls 1 3
SMART_READER_LITE
LIVE PREVIEW

the OPTLS protocol and TLS 1.3 Hugo Krawczyk IBM Hoeteck Wee ENS . - - PowerPoint PPT Presentation

the OPTLS protocol and TLS 1.3 Hugo Krawczyk IBM Hoeteck Wee ENS . . . . . . . . TLS = lingua franca of crypto on the Internet HTTPS, 802.1x, VPNs, email, VoIP, ... . . . . . . . . cannot inject forged data into the stream (


slide-1
SLIDE 1

. . . . . . . .

the OPTLS protocol and TLS 1.3

Hugo Krawczyk IBM Hoeteck Wee ENS

slide-2
SLIDE 2

TLS = lingua franca of

crypto on the Internet

HTTPS, 802.1x, VPNs, email, VoIP, ...

. . . . . . . .

slide-3
SLIDE 3

. . . . . . . .

TLS: transport layer security

server client

X.509

cannot

– inject forged data into the stream (authenticity) – distinguish data stream from random bytes (confidentiality)

slide-4
SLIDE 4

. . . . . . . .

goal: secure channel

server client

X.509

cannot

– inject forged data into the stream (authenticity) – distinguish data stream from random bytes (confidentiality)

slide-5
SLIDE 5

. . . . . . . .

goal: secure channel

server client

X.509

attacker

cannot

– inject forged data into the stream (authenticity) – distinguish data stream from random bytes (confidentiality)

slide-6
SLIDE 6

. . . . . . . .

TLS

1.3 and OPTLS

  • history. 20 years of attacks, fixes, and extensions

– netscape’s SSL (1994) ... TLS 1.2 (2008) ...

slide-7
SLIDE 7

. . . . . . . .

TLS 1.3

and OPTLS

  • history. 20 years of attacks, fixes, and extensions

TLS 1.3. clean-up

– improved security and privacy, e.g. forward secrecy – reduced latency: 1-rtt ; 0-rtt for repeat connections

  • OPTLS. a simple suite of protocols developed to serve as the

crypto core of TLS 1.3 handshake

slide-8
SLIDE 8

. . . . . . . .

TLS 1.3 and OPTLS

  • history. 20 years of attacks, fixes, and extensions

TLS 1.3. clean-up

– improved security and privacy, e.g. forward secrecy – reduced latency: 1-rtt ; 0-rtt for repeat connections

  • OPTLS. a simple suite of protocols developed to serve as the

crypto core of TLS 1.3 handshake

slide-9
SLIDE 9

. . . . . . . .

  • ur philosophy

CRYPTO

simple + modular + uniform crypto core as foundations

REAL-WORLD CONSTRAINTS FORMAL VERIFICATION

slide-10
SLIDE 10

. . . . . . . .

  • ur philosophy

CRYPTO

simple + modular + uniform crypto core as foundations

REAL-WORLD CONSTRAINTS FORMAL VERIFICATION

slide-11
SLIDE 11

. . . . . . . .

  • ur philosophy

CRYPTO

simple + modular + uniform crypto core as foundations

REAL-WORLD CONSTRAINTS FORMAL VERIFICATION

slide-12
SLIDE 12

. . . . . . . .

goal: secure key exchange

server client

X.509

slide-13
SLIDE 13

. . . . . . . .

goal: secure key exchange

server client

X.509

handshake

+ authenticated encryption = secure channel

record layer

slide-14
SLIDE 14

. . . . . . . .

goal: secure key exchange

server client

X.509

  • security. if a client completes with an honest server as its peer

– agreement. ∃ a server session with the same transcript – confidentiality. the key is indistinguishable from random

slide-15
SLIDE 15

. . . . . . . .

goal: secure key exchange

server client

X.509

agreement + confidentiality

= fundamental requirements

  • n which we can layer additional functionality/properties

e.g. client auth, key sync security

slide-16
SLIDE 16

. . . . . . . .

goal: secure key exchange

server client

X.509

agreement + confidentiality

= fundamental requirements

  • n which we can layer additional functionality/properties

e.g. client auth, key sync security

slide-17
SLIDE 17

. . . . . . . .

OPTLS

server client

X.509

dh cert gs

simplicity

slide-18
SLIDE 18

. . . . . . . .

OPTLS

server client

X.509

dh cert gs

ηC, gx ηS, gy

application traffic key

← gxy

slide-19
SLIDE 19

. . . . . . . .

OPTLS

server client

X.509

dh cert gs

ηC, gx ηS, gy, cert, MAC

sfk

(...)

application traffic key server finished

← gxy

slide-20
SLIDE 20

. . . . . . . .

OPTLS

server client

X.509

dh cert gs

ηC, gx ηS, gy, cert, MACsfk(...) sfk ← gxs

application traffic key server finished key server finished

← gxy

slide-21
SLIDE 21

. . . . . . . .

OPTLS

server client

X.509

dh cert gs

ηC, gx ηS, gy, cert, MACsfk(...) sfk ← gxs

application traffic key server finished key server finished

← gxy

– agreement. i. gs via cert, ii. transcript via MAC

two-layer authentication

– confidentiality.

slide-22
SLIDE 22

. . . . . . . .

OPTLS

server client

X.509

dh cert gs

ηC, gx ηS, gy, cert, MACsfk(...) sfk ← gxs

application traffic key server finished key server finished

← gxy, gxs

– agreement. i. gs via cert, ii. transcript via MAC – confidentiality.

slide-23
SLIDE 23

. . . . . . . .

OPTLS

server client

X.509

dh cert gs

ηC, gx ηS, gy, cert, MACsfk(...) sfk ← gxs

application traffic key server finished key server finished

← gxy, gxs

– agreement. i. gs via cert, ii. transcript via MAC – confidentiality. even if s or y is compromised

forward secrecy + resilience to exposure of y

slide-24
SLIDE 24

. . . . . . . .

OPTLS

server client

X.509

dh cert gs

ηC, gx early data ηS, gy, cert, MACsfk(...) sfk ← gxs

application traffic key server finished key server finished

← gxy, gxs

– agreement. i. gs via cert, ii. transcript via MAC – confidentiality. even if s or y is compromised – 0-rtt. client encrypts early data using gxs no forward secrecy

slide-25
SLIDE 25

. . . . . . . .

OPTLS: basic protocol

server client

X.509

dh cert gs

ηC, gx early data ηS, gy, cert, MACsfk(...) sfk ← gxs ← gxy, gxs

  • next. 4 modes corresponding to TLS settings

– i.e. rsa certs and pre-shared keys

slide-26
SLIDE 26

. . . . . . . .

OPTLS: 4 modes

server client

X.509

rsa cert

gs semi-static

early data

ηC, gx ηS, gy, cert, MACsfk(...) sfk ← gxs ← gxy, gxs

1 1-rtt semi-static. server signs semi-static gs 1-rtt non-static. server signs ephemeral gs gy

slide-27
SLIDE 27

. . . . . . . .

OPTLS: 4 modes

server client

X.509

rsa cert

gs semi-static

early data

ηC, gx ηS, gy, cert, MACsfk(...) sfk ← gxs ← gxy, gxs

1 1-rtt semi-static. server signs semi-static gs 1-rtt non-static. server signs ephemeral gs gy

slide-28
SLIDE 28

. . . . . . . .

OPTLS: 4 modes

server client

X.509

rsa cert

gs

early data

ηC, gx ηS, gy, cert, MACsfk(...) sfk ← gxs ← gxy, gxs

1 1-rtt semi-static. server signs semi-static gs 2 1-rtt non-static. server signs ephemeral gs gy

slide-29
SLIDE 29

. . . . . . . .

OPTLS: 4 modes

server client

X.509

rsa cert

gs

early data

ηC, gx ηS, gy, cert, MACsfk(...) sfk ← gxs ← gxy, gxs

1 1-rtt semi-static. server signs semi-static gs 2 1-rtt non-static. server signs ephemeral gs = gy

slide-30
SLIDE 30

. . . . . . . .

OPTLS: 4 modes

server client

pre-shared key psk early data

ηC, gx ηS, gy, cert, MACsfk(...) sfk ← gxs ← gxy, gxs

1 1-rtt semi-static. server signs semi-static gs 2 1-rtt non-static. server signs ephemeral gs = gy 3

psk-dhe.

uses psk in place of gxs

  • psk. psk only fast, but no forward secrecy
slide-31
SLIDE 31

. . . . . . . .

OPTLS: 4 modes

server client

pre-shared key psk early data

ηC, gx ηS, gy, cert, MACsfk(...) sfk ← psk ← gxy, psk

1 1-rtt semi-static. server signs semi-static gs 2 1-rtt non-static. server signs ephemeral gs = gy 3

psk-dhe. uses psk in place of gxs

  • psk. psk only fast, but no forward secrecy
slide-32
SLIDE 32

. . . . . . . .

OPTLS: 4 modes

server client

pre-shared key psk early data

ηC gx ηS, gy cert, MACsfk(...) sfk ← psk ← gxy psk

1 1-rtt semi-static. server signs semi-static gs 2 1-rtt non-static. server signs ephemeral gs = gy 3

psk-dhe. uses psk in place of gxs

4

  • psk. psk only fast, but no forward secrecy
slide-33
SLIDE 33

. . . . . . . .

OPTLS: key derivation

ss es gxy gxs 1-rtt semi-static gxy = gxs 1-rtt non-static gxy psk

psk-dhe

psk = psk

psk ephemeral secret static secret

slide-34
SLIDE 34

. . . . . . . .

OPTLS: key derivation

ss es gxy or psk gxs or psk edk sfk

early data key server finished key from ss ephemeral secret static secret application traffic key from ss, es

slide-35
SLIDE 35

. . . . . . . .

OPTLS: key derivation

ss es gxy or psk gxs or psk edk sfk HKDF extract ikm salt key expand info

early data key server finished key from ss ephemeral secret static secret application traffic key from ss, es

slide-36
SLIDE 36

. . . . . . . .

OPTLS: key derivation

ss es edk sfk HKDF extract ikm salt key expand info extract expand ηC

early data key server finished key from ss ephemeral secret static secret application traffic key

slide-37
SLIDE 37

. . . . . . . .

OPTLS: key derivation

ss es edk sfk extract expand ηC extract extract expand ηS

early data key server finished key ephemeral secret static secret application traffic key from ss, es

slide-38
SLIDE 38

. . . . . . . .

OPTLS: key derivation

ss es edk sfk extract expand ηC extract extract expand ηS expand ε ms

early data key server finished key ephemeral secret static secret application traffic key from ss, es master secret

slide-39
SLIDE 39

. . . . . . . .

OPTLS: key derivation

ss es edk sfk extract expand ηC extract extract expand ηS expand ε ms

early data key server finished key ephemeral secret static secret application traffic key master secret handshake traffic key

htk

slide-40
SLIDE 40

. . . . . . . .

OPTLS

crypto core

TLS 1.3

handshake

– adopts the same modes + uniform key derivation via HKDF – default full handshake = 1-rtt non-static

additions in TLS 1.3

  • i. session hash in HKDF binding to unique session parameters
  • ii. “always signs” in 1-rtt semi-static continuous possession of signing key
  • iii. client finished message client key confirmation
slide-41
SLIDE 41

. . . . . . . .

OPTLS ∼ crypto core TLS 1.3

handshake

– adopts the same modes + uniform key derivation via HKDF – default full handshake = 1-rtt non-static

additions in TLS 1.3

  • i. session hash in HKDF binding to unique session parameters
  • ii. “always signs” in 1-rtt semi-static continuous possession of signing key
  • iii. client finished message client key confirmation
slide-42
SLIDE 42

. . . . . . . .

OPTLS ∼ crypto core TLS 1.3

handshake

– adopts the same modes + uniform key derivation via HKDF – default full handshake = 1-rtt non-static

additions in TLS 1.3

  • i. session hash in HKDF binding to unique session parameters
  • ii. “always signs” in 1-rtt semi-static continuous possession of signing key
  • iii. client finished message client key confirmation
slide-43
SLIDE 43

. . . . . . . .

OPTLS

1 simple + modular + uniform crypto core upon which we could build more functionality/properties 2 served as the basis for the current TLS 1.3 crypto design future support for DH certs and offline signatures

  • acks. Eric Rescorla, TLS WG, QUIC, ...
slide-44
SLIDE 44

. . . . . . . .

OPTLS

1 simple + modular + uniform crypto core upon which we could build more functionality/properties 2 served as the basis for the current TLS 1.3 crypto design 3 future support for DH certs and offline signatures (design and analysis)

  • acks. Eric Rescorla, TLS WG, QUIC, ...
slide-45
SLIDE 45

. . . . . . . .

OPTLS

1 simple + modular + uniform crypto core upon which we could build more functionality/properties 2 served as the basis for the current TLS 1.3 crypto design 3 future support for DH certs and offline signatures

future/on-going work.

– resumption, client authentication, ... – formal verification c.f. miTLS & next talk

  • acks. Eric Rescorla, TLS WG, QUIC, ...
slide-46
SLIDE 46

. . . . . . . .

OPTLS

1 simple + modular + uniform crypto core upon which we could build more functionality/properties 2 served as the basis for the current TLS 1.3 crypto design 3 future support for DH certs and offline signatures

future/on-going work.

– resumption, client authentication, ... – formal verification

  • acks. Eric Rescorla, TLS WG, QUIC, ...