29
13. Oktober 2010 | Dr.Marc Fischlin | Kryptosicherheit | 1 Part III TLS 1.3 and other Protocols 8th BIU Winter School on Key Exchange, 2018 Marc Fischlin

Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

13. Oktober 2010 | Dr.Marc Fischlin | Kryptosicherheit | 1

Part III

TLS 1.3 and other Protocols

8th BIU Winter School on Key Exchange, 2018

Marc Fischlin

Page 2: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 2

TLS 1.3

Page 3: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 3

Development of SSL/TLS SSL=Secure Socket Layer

TLS=Transport Layer Security

SSL 2.0

(Netscape)

1995 1996 1999 2006 2008 2018?

SSL 3.0

TLS 1.0

SSL 3.1 TLS 1.1 TLS 1.2 TLS 1.3

SSL1.0 never published

(security problems)

SSL 2.0 dropped

because of security problems

„non-proprietary“

branch

small

improvements

new crypto algorithms

completely

revised protocol

Page 4: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 4

The Path to TLS 1.3

https://datatracker.ietf.org/doc/draft-ietf-tls-tls13/

Page 5: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 5

TLS 1.3: (EC)DHE-Handshake Overview

ClientHello

ClientKeyShare

ServerHello

ServerKeyShare

{ServerConfiguration*}

{ServerCertificate*}

{ServerCertificateVerify*}

{ServerFinished}

ServerConfiguration*

ServerCertificate*

ServerCertificateVerify*

ServerFinished

{ClientCertificate*}

{ClientCertificateVerify*}

{ClientFinished}

ClientCertificate*

ClientCertificateVerify*

ClientFinished

handshake keyhandshake key

channel keychannel key

Page 6: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 6

TLS 1.3: (EC)DHE-Handshake (Crypto Details)

CH

CKS

SH

SKS

{ation*}

{icate*}

{Verify*}

{ed}

SConf*

SCert*

SCertV*

SF

{Client}

{ClientC}

{Cl}

CCert*

CCertV*

CF

handshake key

channel key

handshake key

channel key

derived from handshake key

Page 7: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 7

TLS 1.3: (EC)DHE-Handshake (Crypto Details)

CH

CKS

SH

SKS

{ation*}

{icate*}

{Verify*}

{ed}

SConf*

SCert*

SCertV*

SF

{Client}

{ClientC}

{Cl}

CCert*

CCertV*

CF

handshake key

channel key

handshake key

channel key

└ client hs traffic key

└ server hs traffic key

└ client MAC key

└ server MAC key

└ client hs traffic key

└ server hs traffic key

└ client MAC key

└ server MAC key

┌ exporter EMS

┌ resumption RMS

┌ client app traffic key

┌ server app traffic key

┌ exporter EMS

┌ resumption RMS

┌ client app traffic key

┌ server app traffic key

(master secret) (master secret)

Page 8: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | Presentation Deutsche Bank | March 14th, 2017 | 8

PSK PSK

ClientHello

ClientKeyShare*

early_data

psk_key_exchange_modes

pre_shared_key

ServerHello

ServerKeyShare*

pre_shared_key

{EncryptedExtensions}

{ServerFinished}

externally or from RMS

Pre-Shared Key (PSK) Variant

Page 9: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 9

Analysis of Unilateral DH CaseDowling, Fischlin, Günther, Stebila:

A Cryptographic Analysis of the TLS 1.3 Handshake Protocol Candidates, CCS 2015 (eprint)

simplification here: no encryption in handshake and ignore finished MACs

(Warning: full analysis much more complicated and needs PRF-ODH assumption)

Page 10: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 10

Analysis of Unilateral DH Case: Strategy

Analysis according to case distinction:

1. Adversary tests client session without partner

2. Adversary tests server session without partner

3. Adversary tests session with partner

Page 11: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 11

Analysis of Unilateral DH Case: Case 1client w/o partner

TEST session

authenticated

partner S must

not be corrupt

adversary must have

forged signature for S

to make client accept

no partner

session by

assumption +

S has never

signed sid

Page 12: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 12

Analysis of Unilateral DH Case: Case 2server w/o partner

TEST session

not allowed by definition

of unilaterally authenticated

protocols

Page 13: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 13

Analysis of Unilateral DH Case: Case 3test with partner

TEST session

two honest parties

have chosen

gx resp. gy

in test session

TEST session

adversary must

compute gxy from

gx and gy

Page 14: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 14

Other Security Properties

(and Other Protocols)

Page 15: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 15

How to (not) Authenticate Anonymous Protocols

Unauthenticated Key Exchange

Authentication

pid =certificate

Page 16: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 16

Key Secrecy

Unauthenticated Key Exchange

Authentication

pid =certificate

TEST session

partner C must

not be corrupt

Sig scheme secure

can only have been

created by C

for its gx and my gy

Adversary cannot

compute gxy

Page 17: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 17

Unknown-Key-Share (UKS) AttackBlake-Wilson, Menezes: Unknown Key-Share Attacks on the Station-to-Station (STS) Protocol, PKC’99

Believes to share

key K with E

Believes to share

key K with C

Page 18: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 18

Secure and Insecure???

At most one other party (1) holds the session key

(and for authenticated cases,

if intended partner is honest then it is that party)

Believes to share

key K with E

Believes to share

key K with C

Obviously trueAlso true: only S knows key (but not E),

and intended partner E is corrupt

Security guarantees of authenticated key exchange:

Page 19: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 19

Thwarting UKS Attacks

Bind intended partner identity

into authentication

Bind intended partner identity

into key derivation

(and sid = entire transcript)(or via MACs)

Examples:

ISO/IEC 9798-3 (KE version)

IKEv2 in IPSec

TLS 1.3

Example:

TLS 1.3

Page 20: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 20

ISO/IEC 9798-3 (augmented by KE / SIG-DH)

pid =certificate

Page 21: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 21

ISO/IEC 9798-3 Resistance against UKS

pid =certificate

E

would need forgery

Page 22: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 22

TLS 1.3 and UKS-Resistance

CH

CKS

SH

SKS

{ation*}

{icate*}

{Verify*}

{ed}

SConf*

SCert*

SCertV*

SF

{Client}

{ClientC}

{Cl}

CCert*

CCertV*

CF

handshake key

channel key

handshake key

channel key

Uses MAC over

derived key

Uses identities in

key derivation

Page 23: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 23

Key Compromise Impersonation (KCI) AttackBlake-Wilson, Johnson, Menezes: Key Agreement Protocols and Their Security Analysis, IMA’97

1. Corrupt client‘s long-term secret

2. Impersonate towards client as server

Can be mounted in real life

(here: specific TLS 1.2 sub protocol)

Page 24: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 24

TLS 1.2 (static DH) and KCIs

Adversary knowing x can compute

(gy)x from server‘s public key gy

Page 25: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 25

TLS 1.3 and KCI-Resistance

CH

CKS

SH

SKS

{ation*}

{icate*}

{Verify*}

{ed}

SConf*

SCert*

SCertV*

SF

{Client}

{ClientC}

{Cl}

CCert*

CCertV*

CF

handshake key

channel key

handshake key

channel key

Knowledge of client‘s

signing key does not

help to forge server

signature

Page 26: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 27

Attacks on the State

a

Kb

SEND

TESTb

id

next-msg

REVEALKid

id

COR-

RUPTskuid

uid

{pkuid} (id, msg)

What if adversary

breaks into computer

and also finds

ephemeral keys

or randomness?

Page 27: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 28

CK and eCK SecurityLaMacchia, Lauter, Mityagin: Stronger security of authenticated key exchange. ProvSec 2007

a

Kb

SEND

TESTb

id

next-msg

REVEALKid

id

COR-

RUPTskuid

uid

{pkuid} (id, msg)

Session

STATE

REVEALrid

id

Canetti, Krawczyk: Analysis of Key-Exchange Protocols and Their Use for Building …, Eurocrypt 2001

Eph.

Key

REVEALor

CK model:

session state reveals

(but not in TEST session)

CK/HMQV model:

CK+KCI

extended CK (eCK):

ephemeral key reveal

+KCI

example: NAXOS protocol

Page 28: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 29

TLS 1.3 and eCK-Vulnerability

CH

CKS

SH

SKS

{ation*}

{icate*}

{Verify*}

{ed}

SConf*

SCert*

SCertV*

SF

{Client}

{ClientC}

{Cl}

CCert*

CCertV*

CF

handshake key

channel key

handshake key

channel key

Knowledge of

ephemeral key

breaks security

Page 29: Part III TLS 1.3 and other Protocolscyber.biu.ac.il/.../uploads/2018/02/MF_Part_III_TLS.pdf · 2018. 2. 12. · TLS 1.3: (EC)DHE-Handshake (Crypto Details) CH CKS SH SKS {ation*}

Marc Fischlin | BIU Winter School 2018 | 30

Teaser for the Break

Explain why KCI attacks are,

per se,

not covered by BR key secrecy.