701 yourappsandevolvingnetworksecuritystandards 04 d€¦ · •your apps and evolving network...

145
#WWDC17 © 2017 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple. Bailey Basile, Secure Transports Engineer Chris Wood, Secure Transports Engineer Your Apps and Evolving Network Security Standards Session 701 System Frameworks

Upload: others

Post on 19-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

#WWDC17

© 2017 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.

Bailey Basile, Secure Transports Engineer Chris Wood, Secure Transports Engineer

•Your Apps and Evolving Network Security Standards • Session 701

System Frameworks

Page 2: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

FREAKBEAST CRIME

Mis-issuance

DROWN 3HS

POODLE LogJam

Lucky13 BREACH

Sweet32 SLOTH

NOMORE Factoring

FLAME SHAttered

Page 3: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Sweet32 SLOTH

NOMORE Factoring

FREAKBEAST CRIME

Mis-issuanceDROWN 3HS

FLAME SHAttered

POODLE LogJam

Lucky13 BREACH

Page 4: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

•Best practices

Page 5: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

•Best practices•App Transport Security update

Page 6: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

•Best practices•App Transport Security update•Transport Layer Security

Page 7: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

•Best Practices

Page 8: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Best Practices

Page 9: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Best Practices

No “set and forget”

Page 10: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Best Practices

No “set and forget”

Standards bodies, academic research, and industry best practices

Page 11: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Best Practices

No “set and forget”

Standards bodies, academic research, and industry best practices

Update libraries

Page 12: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Best Practices

No “set and forget”

Standards bodies, academic research, and industry best practices

Update libraries

OS removes insecure options

Page 13: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Best Practices

No “set and forget”

Standards bodies, academic research, and industry best practices

Update libraries

OS removes insecure options

ATS enforces best practices

Page 14: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Best Practices

No “set and forget”

Standards bodies, academic research, and industry best practices

Update libraries

OS removes insecure options

ATS enforces best practices

Worth the maintenance cost

Page 15: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Best Practices

SHAttered

Sweet32

BEAST

BREACH

Lucky13

SLOTH

FREAK

DROWN

NOMORE

LogJam

CRIME

Mis-issuance

Factoring

FLAME

POODLE

3HS

Page 16: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Best Practices

SHAttered

Sweet32

BEAST

BREACH

Lucky13

SLOTH

FREAK

DROWN

NOMORE

LogJam

CRIME

Mis-issuance

Factoring

FLAME

POODLE

3HS

Encryption

Page 17: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Best Practices

SHAttered

Sweet32

BEAST

BREACH

Lucky13

SLOTH

FREAK

DROWN

NOMORE

LogJam

CRIME

Mis-issuance

Factoring

FLAME

POODLE

3HS

Encryption

Cryptographic hashes

Page 18: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Best Practices

Public keysSHAttered

Sweet32

BEAST

BREACH

Lucky13

SLOTH

FREAK

DROWN

NOMORE

LogJam

CRIME

Mis-issuance

Factoring

FLAME

POODLE

3HS

Encryption

Cryptographic hashes

Page 19: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Best Practices

Protocols

Public keysSHAttered

Sweet32

BEAST

BREACH

Lucky13

SLOTH

FREAK

DROWN

NOMORE

LogJam

CRIME

Mis-issuance

Factoring

FLAME

POODLE

3HS

Encryption

Cryptographic hashes

Page 20: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Best Practices

Revocation

Protocols

Public keysSHAttered

Sweet32

BEAST

BREACH

Lucky13

SLOTH

FREAK

DROWN

NOMORE

LogJam

CRIME

Mis-issuance

Factoring

FLAME

POODLE

3HS

Encryption

Cryptographic hashes

Page 21: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Best Practices

Revocation

Protocols

Public keysSHAttered

Sweet32

BEAST

BREACH

Lucky13

SLOTH

FREAK

DROWN

NOMORE

LogJam

CRIME

Mis-issuance

Factoring

FLAME

POODLE

3HS

Encryption

Cryptographic hashes

Page 22: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Encryption

Page 23: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Encryption

RC4

3DES-CBC

AES-CBC

Page 24: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Encryption

RC4

3DES-CBC

AES-CBC

Future removal: RC4 and 3DES

Page 25: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Encryption

RC4

3DES-CBC

AES-CBC

AES-GCM

ChaCha20/Poly1305

Future removal: RC4 and 3DES

Page 26: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Cryptographic Hashes

Page 27: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Cryptographic Hashes

MD5

SHA-1

Page 28: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Cryptographic Hashes

MD5

SHA-1

New removal: SHA-1 signed certificates for TLS

Page 29: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Cryptographic Hashes

MD5

SHA-1

SHA-2 Family

New removal: SHA-1 signed certificates for TLS

Page 30: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Public Keys

Page 31: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Public Keys

<1024-bit RSA

Page 32: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Public Keys

<2048-bit RSA

Page 33: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Public Keys

<2048-bit RSA

New removal: <2048-bit RSA for TLS

Page 34: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Public Keys

<2048-bit RSA ≥ 2048-bit RSA

New removal: <2048-bit RSA for TLS

Elliptic Curves

Page 35: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Protocols

Page 36: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Protocols

http://

SSLv3

TLS 1.0

TLS 1.1

Page 37: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Protocols

http://

SSLv3

TLS 1.0

TLS 1.1

https://

TLS 1.2

Page 38: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Protocols

http://

SSLv3

TLS 1.0

TLS 1.1

https://

TLS 1.2

New addition: TLS 1.3 (draft)

Page 39: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Revocation

Page 40: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Revocation

No checking

Page 41: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Revocation

No checking OCSP Stapling

Page 42: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

RevocationRevocation Online Certificate Status Protocol

Server

Certificate Authority

Client

Page 43: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

RevocationRevocation Online Certificate Status Protocol

Server

Certificate Authority

Client

Page 44: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

RevocationRevocation Online Certificate Status Protocol

Server

Certificate Authority

Client

Page 45: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

RevocationRevocation Online Certificate Status Protocol

Server

Certificate Authority

Client

?

Page 46: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

RevocationRevocation Online Certificate Status Protocol

Server

Certificate Authority

Client

?

Page 47: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Revocation Online Certificate Status Protocol

Page 48: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Revocation Online Certificate Status Protocol

Additional network connection

Page 49: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Revocation Online Certificate Status Protocol

Additional network connection

Compromises user privacy

Page 50: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Revocation Online Certificate Status Protocol

Additional network connection

Compromises user privacy

Requires app opt-in

Page 51: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Revocation OCSP Stapling

Server

Certificate Authority

Client

Page 52: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Revocation OCSP Stapling

Server

Certificate Authority

Client

Page 53: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Revocation OCSP Stapling

Server

Certificate Authority

Client

?

Page 54: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Revocation OCSP Stapling

Server

Certificate Authority

Client

?

Page 55: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Revocation OCSP Stapling

Server

Certificate Authority

Client

?

Page 56: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Revocation OCSP Stapling

Page 57: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Revocation OCSP Stapling

Slow adoption

Page 58: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Revocation OCSP Stapling

Slow adoption

Does not protect against malicious servers

Page 59: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Revocation Enhancement

Apple

Page 60: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Revocation Enhancement

CT Log

Apple

Page 61: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Revocation Enhancement

Certificate Authority

Certificate Authority

Certificate Authority

CT Log

Apple

Page 62: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Revocation Enhancement

?Certificate Authority

Certificate Authority

Certificate Authority

?

?

CT Log

Apple

Page 63: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Revocation Enhancement

CT Log

Apple

Certificate Authority

Certificate Authority

Certificate Authority

Page 64: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Revocation Enhancement

CT Log

Apple

Certificate Authority

Certificate Authority

Certificate Authority

Page 65: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Revocation Enhancement

Client

CT Log

Apple

Certificate Authority

Certificate Authority

Certificate Authority

Page 66: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Revocation Improvements

Page 67: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Revocation Improvements

Reduced privacy compromise

Page 68: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Revocation Improvements

Reduced privacy compromise

Automatic updating

Page 69: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Revocation Improvements

Reduced privacy compromise

Automatic updating

Faster connections

Page 70: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Evolving Standards

Page 71: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Evolving Standards

Encryption RC4, CBC modesAES-GCM

ChaCha20/Poly1305

Page 72: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Evolving Standards

Encryption RC4, CBC modesAES-GCM

ChaCha20/Poly1305

Hashes MD5, SHA-1 SHA-2 family

Page 73: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Evolving Standards

Encryption RC4, CBC modesAES-GCM

ChaCha20/Poly1305

Hashes MD5, SHA-1 SHA-2 family

Public Keys <2048-bit RSA≥ 2048-bit RSA Elliptic curves

Page 74: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Evolving Standards

Encryption RC4, CBC modesAES-GCM

ChaCha20/Poly1305

Hashes MD5, SHA-1 SHA-2 family

Public Keys <2048-bit RSA≥ 2048-bit RSA Elliptic curves

Protocols http://, SSLv3, TLS 1.0, TLS 1.1 https://, TLS 1.2+

Page 75: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Evolving Standards

Encryption RC4, CBC modesAES-GCM

ChaCha20/Poly1305

Hashes MD5, SHA-1 SHA-2 family

Public Keys <2048-bit RSA≥ 2048-bit RSA Elliptic curves

Protocols http://, SSLv3, TLS 1.0, TLS 1.1 https://, TLS 1.2+

Revocation No checkingCertificate Transparency

OCSP Stapling

Page 76: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

•TLS Trust Removals

Page 77: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Trust Removals

Page 78: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Trust Removals

SHA-1 signed certificates for TLS

Page 79: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Trust Removals

SHA-1 signed certificates for TLS

Certificates using <2048-bit RSA for TLS

Page 80: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Trust Removals

Page 81: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Trust Removals

Does not affect

Page 82: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Trust Removals

Does not affect• Root certificates

Page 83: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Trust Removals

Does not affect• Root certificates• Enterprise-distributed certificates

Page 84: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Trust Removals

Does not affect• Root certificates• Enterprise-distributed certificates• User-installed certificates

Page 85: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Trust Removals

Does not affect• Root certificates• Enterprise-distributed certificates• User-installed certificates• Client certificates

Page 86: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Trust Removals

sha1-intermediate.badssl.com

Page 87: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Trust Removals

sha1-intermediate.badssl.com

Page 88: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Trust Removals

Page 89: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Trust Removals

InvalidCertChain (-9807) SSL errors with URLSession

Page 90: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Trust Removals

InvalidCertChain (-9807) SSL errors with URLSession

Servers to upgrade to new certificates

Page 91: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Trust Removals

InvalidCertChain (-9807) SSL errors with URLSession

Servers to upgrade to new certificates• https://support.apple.com/kb/HT204132

Page 92: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

What to Do Now?

Page 93: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

What to Do Now?

Check your implementations, libraries, and servers

Page 94: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

What to Do Now?

Check your implementations, libraries, and servers

Server Developers

Page 95: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

What to Do Now?

Check your implementations, libraries, and servers

Server Developers• Replace any SHA-1 certificates or weak RSA keys

Page 96: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

What to Do Now?

Check your implementations, libraries, and servers

Server Developers• Replace any SHA-1 certificates or weak RSA keys• Upgrade servers to TLS 1.2 and authenticated encryption ciphers

Page 97: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

What to Do Now?

Check your implementations, libraries, and servers

Server Developers• Replace any SHA-1 certificates or weak RSA keys• Upgrade servers to TLS 1.2 and authenticated encryption ciphers• Use OCSP Stapling

Page 98: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

What to Do Now?

Check your implementations, libraries, and servers

Server Developers• Replace any SHA-1 certificates or weak RSA keys• Upgrade servers to TLS 1.2 and authenticated encryption ciphers• Use OCSP Stapling• Check that your certificates are in CT logs

Page 99: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

What to Do Now?

Check your implementations, libraries, and servers

Server Developers• Replace any SHA-1 certificates or weak RSA keys• Upgrade servers to TLS 1.2 and authenticated encryption ciphers• Use OCSP Stapling• Check that your certificates are in CT logs

App Developers

Page 100: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

What to Do Now?

Check your implementations, libraries, and servers

Server Developers• Replace any SHA-1 certificates or weak RSA keys• Upgrade servers to TLS 1.2 and authenticated encryption ciphers• Use OCSP Stapling• Check that your certificates are in CT logs

App Developers• Avoid ATS exceptions

Page 101: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Chris Wood, Secure Transports Engineer

•App Transport Security Update

Page 102: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

App Transport Security Current standards

Page 103: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

App Transport Security Current standards

From HTTP to HTTPS • TLS 1.2 • Strong cryptography—AES and SHA-2 • Forward Secrecy—ECDHE

Page 104: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

App Transport Security Current standards

From HTTP to HTTPS • TLS 1.2 • Strong cryptography—AES and SHA-2 • Forward Secrecy—ECDHE

Exceptions—per-domain, narrow

Page 105: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Exception Updates

Page 106: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Exception Updates

Expansion beyond WebKit • AVFoundation loads • WebView requests • Local network connections

Page 107: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Exception Updates

Expansion beyond WebKit • AVFoundation loads • WebView requests • Local network connections

Certificate Transparency requirement

Page 108: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

ATS-Compliant Services Practice what you preach

APNs

FaceTime

Game Center

Apple Services

iCloud Services (Mail, CloudKit)

iWork

Spotlight

iAd

iTunes

Software Update

Page 109: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

ATS on the Rise

Page 110: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

ATS on the Rise

ATS adoption is increasing

Page 111: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

ATS on the Rise

ATS adoption is increasing

Still more work to be done

Page 112: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

ATS on the Rise

ATS adoption is increasing

Still more work to be done

Minimize or reduce exceptions

Page 113: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

•Transport Layer Security

Page 114: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

SSL and TLS Lineage A long road

Page 115: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

SSL and TLS Lineage A long road

1999

TLS 1.0

Page 116: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

SSL and TLS Lineage A long road

2006

TLS 1.1

1999

TLS 1.0

Page 117: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

SSL and TLS Lineage A long road

2006

TLS 1.1

1999

TLS 1.0

2008

TLS 1.2

Page 118: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

SSL and TLS Lineage A long road

2006

TLS 1.1

1999

TLS 1.0

2008

TLS 1.2

2017

TLS 1.3 (draft)

Page 119: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

TLS 1.3 Best practice by design

Page 120: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

TLS 1.3 Best practice by design

Strong cryptography and Forward Secrecy by default • Legacy options, ciphers, and key exchange algorithms removed

Page 121: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

TLS 1.3 Best practice by design

Strong cryptography and Forward Secrecy by default • Legacy options, ciphers, and key exchange algorithms removed

Overall simpler specification

Page 122: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

TLS 1.3 Best practice by design

Strong cryptography and Forward Secrecy by default • Legacy options, ciphers, and key exchange algorithms removed

Overall simpler specification

Improved network efficiency

Page 123: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

TLS 1.3 Overview Improved efficiency

Client Server

TLS 1.2

Client Server

TLS 1.3

Tim

e

Page 124: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

TLS 1.3 Overview Improved efficiency

Client Server

TLS 1.2

SYN

SYN+ACK

ACK

Client Server

TLS 1.3

SYN

SYN+ACK

ACK

Tim

e

Page 125: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

TLS 1.3 Overview Improved efficiency

Client Server

TLS 1.2

SYN

SYN+ACK

ACK

CH

SH

Client Server

TLS 1.3

SYN

SYN+ACK

ACK

CH, KEX

SH, KEXTim

e CH - Client Hello SH - Server Hello KEX - Key Share

Page 126: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

TLS 1.3 Overview Improved efficiency

Client Server

TLS 1.2

SYN

SYN+ACK

ACK

CH

SH

KEX

KEX

Client Server

TLS 1.3

SYN

SYN+ACK

ACK

CH, KEX

SH, KEX

DATA

Tim

e CH - Client Hello SH - Server Hello KEX - Key Share

Page 127: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

TLS 1.3 Overview Improved efficiency

Client Server

TLS 1.2

SYN

SYN+ACK

ACK

CH

SH

KEX

KEX

DATA

Client Server

TLS 1.3

SYN

SYN+ACK

ACK

CH, KEX

SH, KEX

DATA

Tim

e CH - Client Hello SH - Server Hello KEX - Key Share

Page 128: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

How to Enable TLS 1.3 Beta?

Page 129: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

How to Enable TLS 1.3 Beta?

It is not on by default

Page 130: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

How to Enable TLS 1.3 Beta?

It is not on by default

You can install a profile on iOS https://developer.apple.com/go/?id=tls13-mobile-profile

Page 131: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

How to Enable TLS 1.3 Beta?

It is not on by default

You can install a profile on iOS https://developer.apple.com/go/?id=tls13-mobile-profile

You can enable system-wide TLS 1.3 on macOS

defaults write /Library/Preferences/com.apple.networkd tcp_connect_enable_tls13 1

Page 132: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

TLS 1.3 Outlook

Page 133: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

TLS 1.3 Outlook

IETF standardization (2017-2018)

Page 134: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

TLS 1.3 Outlook

IETF standardization (2017-2018)

Third-party collaboration

Page 135: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

TLS 1.3 Outlook

IETF standardization (2017-2018)

Third-party collaboration

Enterprise preparation

Page 136: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Takeaways

Page 137: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Takeaways

Implement best practices

Page 138: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Takeaways

Implement best practices

Avoid new and future algorithm removals

Page 139: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Takeaways

Implement best practices

Avoid new and future algorithm removals

Continue upgrading to modern TLS configurations

Page 140: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Takeaways

Implement best practices

Avoid new and future algorithm removals

Continue upgrading to modern TLS configurations• Minimize or remove App Transport Security exceptions

Page 141: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Takeaways

Implement best practices

Avoid new and future algorithm removals

Continue upgrading to modern TLS configurations• Minimize or remove App Transport Security exceptions• Try out TLS 1.3

Page 142: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

More Informationhttps://developer.apple.com/wwdc17/701

Page 143: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Related Sessions

Privacy and Your Apps Executive Ballroom Tuesday 11:20AM

Advances in Networking, Part 1 Executive Ballroom Wednesday 3:10PM

Advances in Networking, Part 2 Executive Ballroom Wednesday 4:10PM

Page 144: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13

Labs

Security & Privacy Technology Lab D Tue 1:50PM-3:50PM

Security & Privacy Technology Lab J Wed 1:00PM-3:30PM

Networking Lab Technology Lab D Thu 9:00AM-11:00AM

Networking Lab Technology Lab J Fri 1:50PM-3:50PM

Page 145: 701 YourAppsandEvolvingNetworkSecurityStandards 04 D€¦ · •Your Apps and Evolving Network Security Standards ... Protocols Public keys SHAttered Sweet32 BEAST BREACH Lucky13