Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

28
Cryptografie Theorie in de Praktijk Luuk Danes dinsdag 10 februari 2015 PvIB - Hilversum

Transcript of Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

Page 1: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

CryptografieTheorie in de Praktijk

Luuk Danes

dinsdag 10 februari 2015PvIB - Hilversum

Page 2: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

Wat ga ik vandaag niet vertellen?

Page 3: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

Wat ga ik vandaag niet vertellen?

• Spartaanse Skytale• Ceasar cipher• Playfair cipher• Vigenère cipher• CAST• SAFER• RC5

Page 4: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

Wat ga ik vandaag wel vertellen?

• Iets over mijzelf

• Symmetrische encryptie• Hashfuncties• Message Authentication Codes• Sleuteluitwisseling• Digitale handtekeningen• … aan de hand van Transport Layer Security (TLS)

Page 5: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

• Wiskundige, gespecialiseerd in cryptologie

• Ervaring opgedaan bij de OV-chipkaart en een security evaluation lab

• Security-architect en consultantbij MakeSecure

• Bestuurslid voor deSecure Software Foundation

Luuk Danes

Page 6: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

Transport Layer Security (TLS fka SSL)

Request

Hallo www.pvib.nl

crypto & sleutel afspreken

Hallo, ik ben www.pvib.nl

Response

Request

Page 7: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

Transport Layer Security

Sleuteluitwisseling

Certificaat Authenticatie

Vertrouwelijkheid Authenticiteit

Page 8: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

Crypto-keuzes

• TLS317 cipher suites om uit te kiezen, waaronder:TLS_RSA_PSK_WITH_NULL_SHATLS_RSA_WITH_AES_128_CBC_SHATLS_DH_DSS_WITH_AES_128_CBC_SHATLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5

• Certificaat• Hash-functie• Ondertekenings-algoritme• Sleutellengte

Page 9: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

Uitgangspunten en bronnen

• Onvoldoende, Voldoende, Goed volgens de NCSC richtlijn• Er wordt een certificaat gebruikt voor authenticatie

NCSC ENISA Qualys

Page 10: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

Symmetrische encryptie

<html><h1>Hallo!</h1>

</html>

d0f2be8cc291d40e0dcdf4a820278d4341004f093725bcbe312df4c3

<html><h1>Hallo!</h1>

</html>

Sleuteluitwisseling

Certificaat Authenticatie

Vertrouwelijkheid

Authenticiteit

Page 11: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

Symmetrische encryptieTLS-opties

Algoritme Sleutelgrootte Type Optie

AES 128 / 192 / 256 Block AES_128 / AES_256

CAMELLIA 128 / 192 / 256 Block CAMELLIA_128 / CAMELLIA_256

3DES 112 / 168 Block 3DES_EDE

ARIA 128 / 192 / 256 Block ARIA_128 / ARIA_256

SEED 128 Block SEED

DES 56 Block DES

DES40 40 Block DES40

IDEA 128 Block IDEA

RC2 8 – 1024 TLS: 40 Block RC2

RC4 40 – 2048 Stream RC4_40 / RC4_128

NULL 0 - NULL

Sleuteluitwisseling

Certificaat Authenticatie

Vertrouwelijkheid

Authenticiteit

Page 12: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

Electronic Code Book Sleuteluitwisseling

Certificaat Authenticatie

Vertrouwelijkheid

Authenticiteit

Page 13: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

Cipher Block Chaining Sleuteluitwisseling

Certificaat Authenticatie

Vertrouwelijkheid

Authenticiteit

Page 14: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

Counter Mode Sleuteluitwisseling

Certificaat Authenticatie

Vertrouwelijkheid

Authenticiteit

Page 15: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

OperatiemodusTLS-opties

Operatiemodus Optie

Galois Counter Mode GCM

Counter with CBC-MAC

CCM

Cipher Block Chaining

CBC

Sleuteluitwisseling

Certificaat Authenticatie

Vertrouwelijkheid

Authenticiteit

Page 16: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

Hash-functies

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nec velit ac ex malesuada aliquam. Nunc tempus facilisis tellus, ac pellentesque nibh tincidunt in. Suspendisse potenti. Sed porttitor molestie quam, ut scelerisque urna tempus nec. Quisque non dui tortor. Nulla turpis dui, fringilla at metus eget, sollicitudin vestibulum risus. Nunc molestie nibh sit amet ex lobortis bibendum. Nulla vitae fringilla odio, sit amet tristique felis. Donec lacus metus, pharetra vel faucibus quis, ultrices non turpis. Sed nec urna eget nisi sodales feugiat.

5687e2a9e95b7fb604c3198a6f28f50c5e58b73d8d2d4c35e6d7aaa72b257b16

Sleuteluitwisseling

Certificaat Authenticatie

Vertrouwelijkheid

Authenticiteit

Page 17: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

Hash-based Message Authentication Code (H-MAC)

3747d9db5f4ff2704d468cc197261213d3e75cd564db0df5377e99fb243ede05

Sleuteluitwisseling

Certificaat Authenticatie

Vertrouwelijkheid

Authenticiteit

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nec velit ac ex malesuada aliquam. Nunc tempus facilisis tellus, ac pellentesque nibh tincidunt in. Suspendisse potenti. Sed porttitor molestie quam, ut scelerisque urna tempus nec. Quisque non dui tortor. Nulla turpis dui, fringilla at metus eget, sollicitudin vestibulum risus. Nunc molestie nibh sit amet ex lobortis bibendum. Nulla vitae fringilla odio, sit amet tristique felis. Donec lacus metus, pharetra vel faucibus quis, ultrices non turpis. Sed nec urna eget nisi sodales feugiat.

Page 18: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

Hash-functiesTLS-opties

Opmerking: CCM heeft geen hash-functie nodig

Algoritme Uitvoerlengte (bit) Optie

SHA2 224 / 256 / 384 / 512 SHA256 / SHA384

SHA 160 SHA

MD5 128 MD5

NULL 0 NULL

Sleuteluitwisseling

Certificaat Authenticatie

Vertrouwelijkheid

Authenticiteit

Page 19: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

Asymmetrische cryptografie

• Twee sleutels: één privé, één publiek

• Gebaseerd op trapdoor-functies:eenvoudig te berekenen in één richting, maar moeilijk om te berekenen in de omgekeerde richting.

Page 20: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

Asymmetrische encryptie

“Dit is een geheime

boodschap”

8f70a61fb21bc284a045e279da184def949b8c3c3cca601d1a8ea4e88bf3

“Dit is een geheime

boodschap”

Sleuteluitwisseling

Certificaat Authenticatie

Vertrouwelijkheid

Authenticiteit

publiek privé

Page 21: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

SleuteluitwisselingTLS-opties

Algoritme Optie

Elliptic Curve Diffie-Hellman Ephemeral

ECDHE

Elliptic Curve Diffie-Hellman ECDH

RSA (Rivest, Shamir, Adleman) RSA

Diffie-Hellman Ephemeral DHE

Diffie-Hellman DH

Kerberos KRB5

Pre-Shared Key PSK

Secure Remote Password SRP

Geen NULL

Sleuteluitwisseling

Certificaat Authenticatie

Vertrouwelijkheid

Authenticiteit

Page 22: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

Digitale handtekening (creatie)

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nec velit ac ex malesuada aliquam. Nunc tempus facilisis tellus, ac pellentesque nibh tincidunt in. Suspendisse potenti. Sed porttitor molestie quam, ut scelerisque urna tempus nec. Quisque non dui tortor. Nulla turpis dui, fringilla at metus eget, sollicitudin vestibulum risus. Nunc molestie nibh sit amet ex lobortis bibendum. Nulla vitae fringilla odio, sit amet tristique felis. Donec lacus metus, pharetra vel faucibus quis, ultrices non turpis. Sed nec urna eget nisi sodales feugiat.

5687e2a9e95b7fb604c3198a6f28f50c5e58b73d8d2d4c35e6d7aaa72b257b16

934d9ae42bec207a49441edaa07e6a2858e37ba57da9dee0b3859f39d24e9aea

privé

Sleuteluitwisseling

Certificaat Authenticatie

Vertrouwelijkheid

Authenticiteit

Page 23: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

Digitale handtekening (verificatie)

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nec velit ac ex malesuada aliquam. Nunc tempus facilisis tellus, ac pellentesque nibh tincidunt in. Suspendisse potenti. Sed porttitor molestie quam, ut scelerisque urna tempus nec. Quisque non dui tortor. Nulla turpis dui, fringilla at metus eget, sollicitudin vestibulum risus. Nunc molestie nibh sit amet ex lobortis bibendum. Nulla vitae fringilla odio, sit amet tristique felis. Donec lacus metus, pharetra vel faucibus quis, ultrices non turpis. Sed nec urna eget nisi sodales feugiat.

5687e2a9e95b7fb604c3198a6f28f50c5e58b73d8d2d4c35e6d7aaa72b257b16

934d9ae42bec207a49441edaa07e6a2858e37ba57da9dee0b3859f39d24e9aea

Sleuteluitwisseling

Certificaat Authenticatie

Vertrouwelijkheid

Authenticiteit

publiek

Page 24: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

Algoritme Optie

Elliptic Curve Digital Signature Algorithm

ECDSA

RSA RSA

Digital Signature Standard DSS

‘voor export toegestane algoritmes’

*_EXPORT

Kerberos KRB5

Pre-Shared Key PSK

Secure Remote Password SRP

Anoniem anon

Geen NULL

AuthenticatieCertificaat-ondertekening

Sleuteluitwisseling

Certificaat Authenticatie

Vertrouwelijkheid

Authenticiteit

Page 25: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

Crypto-keuzes

• TLS• We weten nu welke ciphersuites voldoende of goed zijn.

• Bijvoorbeeld:

TLS_RSA_PSK_WITH_NULL_SHATLS_RSA_WITH_AES_128_CBC_SHATLS_DH_DSS_WITH_AES_128_CBC_SHATLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5

Page 26: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

Crypto-keuzes

• Certificaat• De juiste hash-functie

(alleen SHA256)

• Een voldoende / goed ondertekenings-algoritme (DSS / RSA / ECDSA)

• Met een voldoende / goede sleutellengte (bijv. RSA minstens 2048 bit)

Page 27: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

Advies

• Volg de richtlijn van het NCSC,wijk alleen af met een degelijke onderbouwing

• Kies bij implementatie voor de standaard libraries en oplossingen

• Schakel een expert in, op zijn minst voor een review

Page 28: Cryptografie, theorie in de praktijk - PvIB - 10 februari 2015

www.makesecure.nl [email protected]

Verder lezen:

• Cryptografie: “Ik begrijp het niet, dus het is veilig”?

• De kracht van kaders

• Zijn uw SSL-configuratie en certificaten up-to-date?

• Correct toepassen van cryptografie

op