Kryptographische Grundlagen

56
Kryptographische Grundlagen Kristian Köhntopp Alter Sack SysEleven GmbH

Transcript of Kryptographische Grundlagen

Page 1: Kryptographische Grundlagen

Kryptographische GrundlagenKristian Köhntopp

Alter Sack

SysEleven GmbH

Page 2: Kryptographische Grundlagen

Agenda

• Schutzziele, Angriffe • Eigenschaften von

Verfahren • Kerckhoffs-Prinzip • Symmetrische • Asymmetrische • Hybride

• Hashes • Digitale Signatur • PKI

• CRLs • PKCS • SigG

2

Page 3: Kryptographische Grundlagen

Vorsicht, Mathematik!

Keine Mathematik

• Mathematik der Kryptographie ist gut untersucht. • Wenn wir sie auslassen, müssen wir einige Sachen

glauben: • Es gibt Algorithmen, die in eine Richtung

"leicht" und in die andere Richtung aufwendig zu rechnen sind.

• Beispiel: Multiplikation vs. Faktorisierung.

3

Page 4: Kryptographische Grundlagen

Keine Mathematik

• Was ist 3*4? • Welche Primzahlen muß man multiplizieren, damit man

35 bekommt?

• Was ist 378874676373468736 * 34976337963793? • Welche Primzahlen muß man multiplizieren, damit man

13251648726761141335314585475648 bekommt?

4

Page 5: Kryptographische Grundlagen

Grundszenario

• Andreas will Birgit eine Nachricht senden • Notation

• M: Message • K: (symmetrischer) Key • K(M): Mit K verschlüsselte Nachricht • P, Q: Public/Private Key-Paar

5

Page 6: Kryptographische Grundlagen

Transport- vs. Speicherverschlüsselung

• „Transportverschlüsselung“ - "TLS" • Vollständige Klartextkopie verbleibt zu jedem

Zeitpunkt beim Sender oder Empfänger • Ciphertext fällt nicht an • Key Recovery ist unerwünscht

• Aber „Bedarfsträger“ wollen mitschneiden

6

Page 7: Kryptographische Grundlagen

Transport- vs. Speicherverschlüsselung

• „Speicherverschlüsselung“ - "PGP" • Klartextkopie existiert nicht zwingend, aber der

Klartext ist für die Firma wertvoll. • Der Ciphertext ist wertlos. ➡ Management von Ciphertext und Keys notwendig.

• Key Recovery Strategie zwingend

• Speicherverschlüsselung ohne Recovery Key ist verboten.

7

Page 8: Kryptographische Grundlagen

Bedrohungen

• Angreifer: Insider, Außenstehender • Passive Angriffe: Abhören, Elektromagnetische

Abstrahlung • Aktive Angriffe: Veränderung, Einfügen/Löschen,

Wiedereinspielen („Replay“), Umschlüsseln („MITM“),„Denial of Service“

8

Page 9: Kryptographische Grundlagen

Schutzziele

• Verfügbarkeit • vs. Integrität

• Integrität • Vertraulichkeit • Authentizität

• vs. Unbeobachtbarkeit

9

Page 10: Kryptographische Grundlagen

Kerckhoffs Prinzip

• Kerckhoffs-Prinzip:„Der Angreifer hat Kenntnis des verwendeten Kryptosystems“

• „Security by Obscurity funktioniert nicht“ • Brute Force: Durchsuchen des K-Raumes • Klartext Brute-Force: Durchsuchen des M-Raumes

10

Page 11: Kryptographische Grundlagen

"Unsicher" vs. "Gebrochen"

• „Gebrochen“: Ein Verfahren besser als Brute Force existiert zum Auffinden des Schlüssels

• „Unsicher“: Brute Force ist in küzerer Zeit schaffbar, als für die Sicherheit notwendig

• Beispiele: • DES unsicher, aber ungebrochen • AES sicher, aber gebrochen

11

Page 12: Kryptographische Grundlagen

Andere Angriffe: Replay

• Wiederholen alter Nachrichten: • verschlüsselte Nachricht: "Zahle an den Absender

dieser Nachricht 100 Euro." • Verhinderung durch Einfügen einer „Number Used

Once“ (Nonce) • Folgenummer, Zufallszahl, Challenge-Response

12

Page 13: Kryptographische Grundlagen

Andere Angriffe: Man-in-the-Middle

• Folge fehlender Authentizität: Angreifer C • spielt gegenüber Andreas die Rolle von Birgit • gegenüber Birgit die Rolle von Andreas • A <-> “B“ = C = „A“ <-> B

• „umschlüsseln“

13

Page 14: Kryptographische Grundlagen

Symmetrische, asymmetrische und hybride Verschlüsselung

Page 15: Kryptographische Grundlagen

Symmetrische Verfahren15

Andreas Birgit

M M

K(M)

K K?

Symmetrie:

Nachricht mit demselben Key entschlüsseln, mit dem sie verschlüsselt wird.

K(K(M)) = M

Page 16: Kryptographische Grundlagen

Symmetrische Verfahren16

Verfahren Bits

DES 56

3DES 112

IDEA 128

AES 256

Page 17: Kryptographische Grundlagen

Asymmetrische Verfahren17

Andreas Birgit

M M

PB(M)

PB

QB

PB

Page 18: Kryptographische Grundlagen

Asymmetrische Verfahren

• Birgit generiert P und Q • P(Q(M) = Q(P(M)) = M "Was P verschlüsselt ist, kann Q

entschlüsseln und umgekehrt." • P wird publiziert, Q ist geheim: Birgit publiziert PB

• n User: n PQ Paare, 1024-4096 Bit RSA, DHE. • 10-20 mal langsamer; Ist PB der Key von Birgit?

18

Page 19: Kryptographische Grundlagen

Hybride Verfahren19

Andreas Birgit

M M

PB(K)

QA

PB PB

K

K(M)

Page 20: Kryptographische Grundlagen

Hybride Verfahren

• Andreas wählt zufälliges "Einmal-K" (Session Key) • Andreas sendet PB(K) (asymmetrische Komponente) • Andreas sendet K(M) (symmetrische Komponente)

• Mehr als ein Empfänger: • PA(K) PB(K) PX(K) K(M)…

Session Key mehrfach, Nachricht einfach senden.

20

Page 21: Kryptographische Grundlagen

Hybride Verfahren

• Schnell wie ein symmetrisches Verfahren (K ist klein). • Schlüsselhandling wie bei asymmetrischen Verfahren

• Asymmetrisches Verfahren stellt den fehlenden sicheren Kanal her.

• Mehrere Empfänger. • Stream-Fähig (neuer Session-Key im Strom).

21

Page 22: Kryptographische Grundlagen

Verbleibende Probleme

• Man-in-the-Middle • Gehört PB(K) wirklich Birgit oder hat uns den jemand untergeschoben?

• Replay • Ist K(M) frisch oder eine abgespielte Aufzeichnung?

• Forward Secrecy • Neuen Key haben, ohne ihn zu nennen + "alter Ciphertext + neuer Key

nützen nix"

22

Page 23: Kryptographische Grundlagen

Cipher Modi

Page 24: Kryptographische Grundlagen

Cipher Modi

• Verschlüsselungsverfahren arbeiten mit Blöcken

• Klartext ist eine Serie von Blöcken: • M -> M0 M1 M2 M3 … Mi …

• Schlüssel: K, oder von K abgeleitete Schlüssel Ki

24

Page 25: Kryptographische Grundlagen

Cipher Modi

• i - Blocknummer • Mi - i-ter Klartextblock • Ci - i-ter Ciphertextblock • Ki - i-ter Schlüssel

• Verfahren ohne Blockverkettung:

• Mi unabhängig von Mi-1, Ci-1

• sicher gegen Blockverlust • parallel berechenbar

25

Page 26: Kryptographische Grundlagen

ECB "Electronic Codebook"

• Block Mode, "naive Anwendung des Verfahrens", "kaputt" • Ci = K(Mi) • parallelisierbar, wiederaufsetzbar, permutierbar • Klartext scheint durch • Niemals verwenden.

26

Page 27: Kryptographische Grundlagen

Cipher Modi27

Page 28: Kryptographische Grundlagen

CBC "Cipher Block Chaining"

• Streaming Mode, auch kaputt • Ci = K(Mi v Mi-1); M0 = IV • "Verschlüssele das XOR-Produkt des aktuellen Blocks und

des vorhergehenden Blocks" • 2 Blöcke lang Nullbits: Klartext scheint durch. • Außerdem nicht parallel, nicht wiederaufsetzbar, nicht

permutierbar.

28

Page 29: Kryptographische Grundlagen

CFB "Cipher Feedback Mode"

• Ci = Mi ∨ K(Ci-1) C0 = IV

• "Verschlüssele den vorhergehenden Ciphertext noch einmal und ver-xor-e das Resultat mit dem aktuellen Klartextblock (Klartext scheint nicht durch)

29

Page 30: Kryptographische Grundlagen

OFB "Output Feedback Mode"

• Ci = Mi ∨ Ki, Ki = K(Ki-1) K0 = IV

• „Verschlüssele den vorhergehenden Schlüssel noch einmal und ver-xor-e das Resultat mit dem aktuellen Klartextblock“

• Wiederaufsetzbar, Schlüssel positionsabhängig

30

Page 31: Kryptographische Grundlagen

CM "Counter Mode"

• Ci = Mi ∨ K(IV+i-1)

• „Verschlüssele eine laufende Nummer, und ver-xor-e das Resultat mit dem aktuellen Klartextblock“

• Wiederaufsetzbar, Schlüssel positionsabhängig und parallelisierbar.

31

Page 32: Kryptographische Grundlagen

Hashes - kryptographische Prüfsummen

Page 33: Kryptographische Grundlagen

Hashes

• h = Hash(M): feste Länge, sehr empfindlich gegenüber Änderungen in M

• M ist nicht konstruierbar: • Gegeben ein h, finde ein M mit h = Hash(m) ist ideal

gleichbedeutend mit einer Brute-Force-Suche durch M.

33

Page 34: Kryptographische Grundlagen

Hashes

• Einsatz: • Speicherung von Passwörtern, mit Salt

• Vergleich von Geheimnisssen • ohne das Geheimnis senden zu müssen (Challenge-

Response-Authentication) • Digitale Signatur

34

Page 35: Kryptographische Grundlagen

Signatur I35

QB

PB

Andreas Birgit

M M

M

QA

PA

PA

QA(Hash(M))

Page 36: Kryptographische Grundlagen

Signatur I

• M Klartext, Hash(M) berechenbar • Birgit kann den verschlüsselten Hash QA(Hash(M)) mit PA

auspacken, • Übereinstimmung? Dann ist die Nachricht authentisch.

• "Der Absender hat QA gekannt." • Warum senden wir nicht QA(M), sondern QA(Hash(M)) M?

36

Page 37: Kryptographische Grundlagen

Signatur II37

Andreas Birgit

M M

QA

PA

PA

K( )MQA(H(M))

QB

PB

PB

PB(K)

Page 38: Kryptographische Grundlagen

Signatur II

• Lesbar mit QB: Nur Birgit kann die Nachricht lesen. • Birgit kann mit PA den Hash prüfen: Nachricht ist "von

Andreas". • Nachricht ist symmetrisch verschlüsselt:

• Schnell für große M, mehrere Empfänger.

38

Page 39: Kryptographische Grundlagen

Public Key Infrastructure PKI

Page 40: Kryptographische Grundlagen

Vorbemerkungen

• Zertifikate enthalten: • Den öffentlichen Schlüssel P. • Die Identitätsdaten zum Schlüsselinhaber. • Den Verwendungszweck des Schlüssels. • Eine Laufzeit (von, bis)

• Name und Signatur der CA.

40

Page 41: Kryptographische Grundlagen

Vorbemerkungen

• Öffentlicher Schlüssel P: Erlaubt Prüfung von Signaturen des Inhabers.

• Inhaberdaten: Immer eine natürliche Person (ggf. über eine Rolle an eine juristische Person gebunden).

• Zweck, Laufzeit: Katastrophenvorbeuge. • Name und Signatur der CA: Das "Siegel" zur

Beglaubigung der Daten.

41

Page 42: Kryptographische Grundlagen

Public Key Infrastructure

• Wie kann Andreas sicher sein, daß PB von Birgit stammt? • Ansatz:

• Alle Teilnehmer kennen einen PCA ("Notar") • Birgit verteilt QCA(H(PB)) PB über unsichere Netze

42

Page 43: Kryptographische Grundlagen

Aufgabe der CA

• QCA(H(PB)) PB

• Prüfe, ob Birgit berechtigt ist, PB zu führen.

• Merke: • CA braucht QB nicht zu kennen. • Das Zertifikat ist nur so gut, wie die Prüfung, die die CA

durchführt. • QCA muß strikt bewacht werden.

43

Page 44: Kryptographische Grundlagen

Public Key Infrastructure

• Birgit kann ihren Key mehrfach durch verschiedene CA zertifizieren lassen.

• QCB(H(PB))QCA(H(PB)) PB • "Gültig, wenn mindestens n aus m Zertifikaten gültig

sind", Sonderfälle 1 und m • Schutz vor schlampigen CAs

44

Page 45: Kryptographische Grundlagen

Public Key Infrastructure

• Andreas braucht PCA nicht zu kennen. • Andreas holt PCA, dies ist mit übergeordneter Signatur

versehen. • Rekursive Prüfung, Certificate Chaining -> Längenlimit

• Beispiel für beides: PGP

45

Page 46: Kryptographische Grundlagen

Public Key Infrastructure

• Andreas Zertifikat gilt noch ein Jahr. Andreas verbummelt QA.

• In einem Jahr löst sich das Problem von selbst. Bis dahin:

• Rückziehliste (CRL), jede Verwendung von PA erfordert ein Lookup in der CRL.

46

Page 47: Kryptographische Grundlagen

Public Key Infrastructure

• Jedes Cert muß die URL der CRL enthalten. • CRL ist endlich (Einträge können nach Ablauf der

Gültigkeit des Cert gelöscht werden). • skaliert dennoch nicht.

• Offline-Anwendungen können schon zurückgezogene Certs irrtümlich akzeptieren.

47

Page 48: Kryptographische Grundlagen

Normen und Gesetze

Page 49: Kryptographische Grundlagen

X.509

• X.509 V3, Codierung ASN.1 + Encoding Rules • OIDs zur Feldkennzeichnung • OID-Listen nicht komplett zentral verfügbar (Vendor-

Prefixe, Private Extensions) • X.509 schlecht geschrieben

• PKCS (numeriert wie RFC) als Präzisierungen

49

Page 50: Kryptographische Grundlagen

Signaturgesetz

• "Formvorschrift für Willenserklärungen" • Schriftform, gewillkürte Schriftform und Formfreiheit

• Ohne SigG: Elektronische Willenserklärung ok? • Formfreiheit: Ja!, Schriftform: Nein! • "Freie Beweiswürdigung": Der Kläger hat die

Beweislast.

50

Page 51: Kryptographische Grundlagen

Signaturgesetz

• Situation 2015: • EU-Verordnung 910/2014 EG SigRL "Signaturrichtlinie" (bis

Mitte 2016), D SigG "Signaturgesetz" und SigV "Durchführungsverordnung".

• Gesetz zur Anpassung der Formvorschriften des Privatrechts (Formanpassungsgesetz),"Drittes Gesetz zur Änderung verwaltungsverfahrensrechtlicher Vorschriften" (3. VwVfÄndG), 1. Gesetz zur Änderung des Signaturgesetzes (1. SigÄndG)

51

Page 52: Kryptographische Grundlagen

Signaturgesetz

• "Einfache elektronische Signatur" • „beigefügte oder verknüpfte Daten zur

Authentifizierung“ • From: Kristian Köhntopp <[email protected]> • „freie Beweiswürdigung“

52

Page 53: Kryptographische Grundlagen

Signaturgesetz

• Fortgeschrittene elektronische Signatur • Ausschließliche Zuordnung zum Signierer: „Eine Person“ • Signierer wird identifiziert: „Name“ • Signaturbildung mit Mitteln, die der Signierer unter alleiniger

Kontrolle halten kann:„Paßwort“ • Verknüpfung mit Daten, sodaß nachträgliche Änderungen

erkennbar sind:„Hash und Signatur“ • „freie Beweiswürdigung“

53

Page 54: Kryptographische Grundlagen

Signaturgesetz

• Qualifizierte elektronische Signatur • Basierend auf qualifiziertem Zertifikat:„abgenommenes

Verfahren“

• Verwendung einer sicheren Signaturerstellungseinheit:„Chipkarte“, „Leser mit Anzeige“

• Gleichgestellt mit handschriftlicher Unterschrift: Außer wo im Gesetz ausdrücklich anders gefordert

• „Anscheinsbeweis“

54

Page 55: Kryptographische Grundlagen
Page 56: Kryptographische Grundlagen

• Twitter: @SwiftOnSecurity @theGrugq

• http://www.cl.cam.ac.uk/~rja14/book.html »Security Engineering«, Ross Anderson

• https://crypto.stanford.edu/~dabo/cryptobook/Stanford Applied Cryptography Class

• https://www.youtube.com/watch?v=3QnD2c4Xovk Diffie Hellmann Key Exchange

• http://www.unixwiz.net/techtips/iguide-crypto-hashes.html Illustrated Guide to cryptographic hashes

56