83
EN 6.3: IT-Sicherheit und Technischer Datenschutz Donnerstag, den 31. März 2016 Dozent: Dr. Sven Wohlgemuth <[email protected]> Themen 1. IT-Sicherheit und Datenschutz 2. IT-Compliance und IT-Sicherheitsmanagement 3. Sicherheitsmodelle 4. Kryptographie 5. Netzwerksicherheit 6. Sichere Dienste 7. IT-Risikomanagement 8. Risikoidentifizierung 9. Risikoquantifizierung 10. Benutzbare Sicherheit

EN 6.3: 4 Kryptographie

Embed Size (px)

Citation preview

Page 1: EN 6.3: 4 Kryptographie

EN 6.3: IT-Sicherheit und Technischer DatenschutzDonnerstag, den 31. März 2016 Dozent: Dr. Sven Wohlgemuth <[email protected]>

Themen

1. IT-Sicherheit und Datenschutz 2. IT-Compliance und IT-Sicherheitsmanagement 3. Sicherheitsmodelle 4. Kryptographie 5. Netzwerksicherheit 6. Sichere Dienste 7. IT-Risikomanagement 8. Risikoidentifizierung 9. Risikoquantifizierung 10. Benutzbare Sicherheit

Page 2: EN 6.3: 4 Kryptographie

Agenda

4. Kryptographie

4.1 Historische Entwicklung 4.2 Angriffstypen 4.3 Kryptographische Primitive 4.4 Symmetrische Verfahren 4.5 Asymmetrische Verfahren 4.6 Schlüsselmanagement 4.7 Höhere kryptographische Protokolle

Page 3: EN 6.3: 4 Kryptographie

Historische Entwicklung (1/3)400 v. Chr.: Spartaner benutzen ein Stab zur

Verschlüsselung der Kommunikation: Scytale – Transpositionschiffre – Scytale: Holzstab, um den ein Pergament- oder Lederstreifen

versetzt gewickelt wird, auf dem die Nachricht geschrieben wird – Auf dem ausgewickelten Streifen erscheint

die Nachricht durcheinander – Schlüssel: die Größe der Scytale

58-51 v. Chr.: Caesar-Chiffre im Gallischen Krieg – monoalphabetische Substitution:

Rotation des Klartextalphabetes um k Zeichen k=3:Klartextalphabet: ABCDEFGHIJKLMNOPQRSTUVWXYZGeheimtextalphabet: DEFGHIJKLMNOPQRSTUVWXYZABC

– Schlüssel: Angabe k der Rotation

Page 4: EN 6.3: 4 Kryptographie

Historische Entwicklung (2/3)1586: Vigenère-Chiffre (Blaise de Vigenère)

– polyalphabetische Substitution – Verwendung von bis zu 26 Alphabeten – Schlüssel: Verwendung eines Codewortes, das die Verwendung der Alphabete

bestimmt

1923: Enigma – Verschlüsselungsmaschine nach dem Rotor- Prinzip (Arthur Scherbius)

BA

CDEF f

edcba

Lampen Tastatur Stecker- brett

3 Walzen Reflektor

Eingabe: a Ausgabe: C

Page 5: EN 6.3: 4 Kryptographie

Historische Entwicklung (3/3)1973-1977: Entwicklung von DES (Data Encryption Standard)

1976: Prinzip der asymmetrischen Kryptographie (W. Diffie und M. Hellman)

1978: RSA-Verfahren (R.L. Rivest, A. Shamir und A.M. Adleman)

1982: Konzeption der Quantenkryptographie (C. Bennett und G. Brassard)

1985: Einführung der elliptischen Kurven-Kryptograhie (N. Kobliz; V. Miller)

1998-2001: Entwicklung von AES (Advanced Encryption Standard)

2010: Einführung des Personalausweises mit Online-Ausweisfunktion

2016: Konflikte u.a. Apple vs. FBI, Initiativen wie Mozilla #youbeyou

Page 6: EN 6.3: 4 Kryptographie

Online-Ausweisfunktion des Personalausweises

Bürger

Dienstanbieter

Ausweis-App

Web-Server

eID-Server

Sperrlisten- datenbank, Zertifizierungs- infrastruktur

Browser

Lesegerät (Terminal)

Anwendung einer hierarchischen Zertifizierungsinfrastruktur (PKI)

BSI, TR-03127 eID-Karten mit eID- und Sign-Anwendung basierend auf Extended Access Controll, 2015

Page 7: EN 6.3: 4 Kryptographie

Online-Ausweisfunktion des Personalausweises

Bürger

Dienstanbieter

Ausweis-App

Web-Server

eID-Server

Sperrlisten- datenbank, Zertifizierungs- infrastruktur

Browser

1. Starte eID-basierte Authentifikation

2. Parameter

3. Starte Ausweis-App

4. Aufbau eines sicheren Kanals (z.B. SSL)

Lesegerät (Terminal)

Anwendung einer hierarchischen Zertifizierungsinfrastruktur (PKI)

BSI, TR-03127 eID-Karten mit eID- und Sign-Anwendung basierend auf Extended Access Controll, 2015

Page 8: EN 6.3: 4 Kryptographie

Online-Ausweisfunktion des Personalausweises

Bürger

Dienstanbieter

Ausweis-App

Web-Server

eID-Server

Sperrlisten- datenbank, Zertifizierungs- infrastruktur

Browser

1. Starte eID-basierte Authentifikation

2. Parameter

3. Starte Ausweis-App

4. Aufbau eines sicheren Kanals (z.B. SSL)

Lesegerät (Terminal)

5. PACE

Anwendung einer hierarchischen Zertifizierungsinfrastruktur (PKI)

BSI, TR-03127 eID-Karten mit eID- und Sign-Anwendung basierend auf Extended Access Controll, 2015

Page 9: EN 6.3: 4 Kryptographie

Online-Ausweisfunktion des Personalausweises

Bürger

Dienstanbieter

Ausweis-App

Web-Server

eID-Server

Sperrlisten- datenbank, Zertifizierungs- infrastruktur

Browser

1. Starte eID-basierte Authentifikation

2. Parameter

3. Starte Ausweis-App

4. Aufbau eines sicheren Kanals (z.B. SSL)

Lesegerät (Terminal)

5. PACE6. EAC

Anwendung einer hierarchischen Zertifizierungsinfrastruktur (PKI)

BSI, TR-03127 eID-Karten mit eID- und Sign-Anwendung basierend auf Extended Access Controll, 2015

Page 10: EN 6.3: 4 Kryptographie

Online-Ausweisfunktion des Personalausweises

Bürger

Dienstanbieter

Ausweis-App

Web-Server

eID-Server

Sperrlisten- datenbank, Zertifizierungs- infrastruktur

Browser

1. Starte eID-basierte Authentifikation

2. Parameter

3. Starte Ausweis-App

4. Aufbau eines sicheren Kanals (z.B. SSL)

Lesegerät (Terminal)

5. PACE6. EAC

7. Sicherer Kanal

Anwendung einer hierarchischen Zertifizierungsinfrastruktur (PKI)

BSI, TR-03127 eID-Karten mit eID- und Sign-Anwendung basierend auf Extended Access Controll, 2015

Page 11: EN 6.3: 4 Kryptographie

Online-Ausweisfunktion des Personalausweises

Bürger

Dienstanbieter

Ausweis-App

Web-Server

eID-Server

Sperrlisten- datenbank, Zertifizierungs- infrastruktur

Browser

1. Starte eID-basierte Authentifikation

2. Parameter

3. Starte Ausweis-App

4. Aufbau eines sicheren Kanals (z.B. SSL)

8. eID-basierte Authentifikation

Lesegerät (Terminal)

5. PACE6. EAC

7. Sicherer Kanal

Anwendung einer hierarchischen Zertifizierungsinfrastruktur (PKI)

BSI, TR-03127 eID-Karten mit eID- und Sign-Anwendung basierend auf Extended Access Controll, 2015

Page 12: EN 6.3: 4 Kryptographie

Online-Ausweisfunktion des Personalausweises

Bürger

Dienstanbieter

Ausweis-App

Web-Server

eID-Server

Sperrlisten- datenbank, Zertifizierungs- infrastruktur

Browser

1. Starte eID-basierte Authentifikation

2. Parameter

3. Starte Ausweis-App

4. Aufbau eines sicheren Kanals (z.B. SSL)

8. eID-basierte Authentifikation

9. Datenabgleich

10. Daten- austausch

Lesegerät (Terminal)

Authentifikation abgeschlossen

5. PACE6. EAC

7. Sicherer Kanal

Anwendung einer hierarchischen Zertifizierungsinfrastruktur (PKI)

BSI, TR-03127 eID-Karten mit eID- und Sign-Anwendung basierend auf Extended Access Controll, 2015

Page 13: EN 6.3: 4 Kryptographie

Agenda

4. Kryptographie

4.1 Historische Entwicklung 4.2 Angriffstypen 4.3 Kryptographische Primitive 4.4 Symmetrische Verfahren 4.5 Asymmetrische Verfahren 4.6 Schlüsselmanagement 4.7 Höhere kryptographische Protokolle

Page 14: EN 6.3: 4 Kryptographie

Erfolgsarten eines AngreifersZiele des Angreifers

– Geheimen Schlüssel berechnen (total break)

– Zum Schlüssel äquivalentes Verfahren finden (universal break)

– Einzelne Nachrichten entschlüsseln bzw. fälschen

Verschlüsselung – Ganze Nachricht entschlüsseln

– Teile einer Nachricht entschlüsseln

Authentifikation – Selektive Fälschung: vor dem Angriff wird eine best. Nachricht gewählt – Existentielle Fälschung: während des Angriffes wird eine beliebige

Nachricht gewählt

Page 15: EN 6.3: 4 Kryptographie

Passiver Angriff

Lesen des Schlüsseltextes (Ciphertext-only)

Lesen des Schlüssel- und Klartextes (Known-Plaintext)

Angreifer

Angreifer

Ziel: Angreifer beobachtet die Kommunikation und versucht,den Schlüssel zur Entschlüsselung bzw. Authentifikation zu rekonstruieren.

Page 16: EN 6.3: 4 Kryptographie

Mit gewähltem Klartext (Chosen-Plaintext)

Mit gewähltem Schlüsseltext (Chosen-Ciphertext)

Angreifer

Angreifer

bei asymmetrischem Verfahren sinnlos, da pk und sk verschieden sind

Ziel: Angreifer beeinflusst die Kommunikation zur Rekonstruktion des Schlüssels zur Entschlüsselung.

Aktive Angriffe auf Verschlüsselung

Page 17: EN 6.3: 4 Kryptographie

Angreifer lässt best. Nachrichten signieren (Chosen-Message)

Angreifer wählt MAC

• Angreifer erfährt nur 1 Bit bei einem Protokolldurchlauf. • Angriff ist bei digitaler Signatur sinnlos, da Testschlüssel pk öffentlich ist.

Angreifer

Angreifer

Aktive Angriffe auf AuthentifikationZiel: Angriff auf ein Challenge-Response-Protokoll, um einen gültigen MAC zu konstruieren.

Page 18: EN 6.3: 4 Kryptographie

Kerckhoffs Prinzipien1. Das System darf in der Praxis, falls nicht

mathematisch, nicht zu entschlüsseln sein.

2. Die Sicherheit des Systems darf nicht auf Verschwiegenheit beruhen, d.h. auch wenn das System in Besitz des Feindes gerät, so darf ihm daraus kein Vorteil entstehen.

3. Der Schlüssel sollte ohne Zuhilfenahme von Notizen sowohl kommuniziert und gespeichert als auch ausgetauscht und verändert werden können.

4. Für telegraphische Kommunikation muss das System benutzbar sein.

5. Das System muss mobil sein, und seine Anwendung darf nicht viele Personen erfordern.

6. Das System muss einfach zu benutzen sein und weder extreme geistige Anstrengungen noch Wissen über eine Vielzahl von einzuhaltenden Regeln erfordern.

Quelle: Kerckhoff 1883

Page 19: EN 6.3: 4 Kryptographie

Dolev Yao

m, pkBobAlice Bob

CharlieVerzeichnisdienst

eIDBobeIDAlice

pkBob pkBob

Dolev und Yao, On the Security of Public Key Protocols, 1983

Page 20: EN 6.3: 4 Kryptographie

Dolev Yao

m, pkBobAlice Bob

CharlieVerzeichnisdienst

eIDBobeIDAlice

pkBob pkBob

• Hashfunktionen sind nicht korrumpierbar

• Verzeichnisdienst ist öffentlich und sicher

• Alle öffentliche Schlüssel sind für jeden verfügbar

• Eigentliche Kommunikation ohne dritte Partei

• Der private Schlüssel ist nur dem Eigentümer bekanntDolev und Yao, On the Security of Public Key Protocols, 1983

Page 21: EN 6.3: 4 Kryptographie

Sicherheitsgrade

Informationstheoretische Sicherheit – Sicherheit ist unabhängig von den Ressourcen des Angreifers

– Verschlüsselung: Angreifer kann Klartext nicht besser als mit a-priori Wahrscheinlichkeit raten

– Authentifikation: Angreifer kann MAC bzw. digitale Signatur nicht besser als durch blindes Raten fälschen

Komplexitätstheoretische Sicherheit – Sicherheit beruht auf der begrenzten Rechenfähigkeit des Angreifers

– Sicherheit beruht auf Annahmen (z.B. Faktorisierungsannahme) – Angriffsmöglichkeit: Vollständige Suche (Brute Force)

Page 22: EN 6.3: 4 Kryptographie

Agenda

4. Kryptographie

4.1 Historische Entwicklung 4.2 Angriffstypen 4.3 Kryptographische Primitive 4.4 Symmetrische Verfahren 4.5 Asymmetrische Verfahren 4.6 Schlüsselmanagement 4.7 Höhere kryptographische Protokolle

Page 23: EN 6.3: 4 Kryptographie

Symmetrische VerschlüsselungZiel: Geheimhaltung der Nachricht m

– Genau ein Schlüssel k zur Ver- und Entschlüsselung – Zufallsbit z zur Vermeidung von Probierangriffen – Keine Integrität: Schlüsseltext kann unbemerkt modifiziert werden

gen := Schlüsselgenerierung ver := Verschlüsselungsfunktion ent := Entschlüsselungsfunktion

ent

l z

gen

k k

m c mKlartext Schlüsseltext

ZufallsbitsSicherheits- parameter

Geheimer Bereich

ver

Page 24: EN 6.3: 4 Kryptographie

Asymmetrische VerschlüsselungZiel: Geheimhaltung der Nachricht m

– Verschiedene Schlüssel für Ver- und Entschlüsselung – Empfänger benötigt ausschließlich ein Schlüsselpaar (pk, sk) für alle Sender – Schlüsselverteilung von pk muss integer sein

gen := Schlüsselgenerierung pk := öffentlicher Schlüssel sk := privater Schlüssel ver := Verschlüsselungsfunktion ent := Entschlüsselungsfunktion

Page 25: EN 6.3: 4 Kryptographie

Symmetrische AuthentifikationZiel: Integrität und Authentizität der Nachricht m

– Erstellung eines Prüfwertes MAC (Message Authentication Code) – Prüfung: MAC* := auth(k, m) ! MAC ?= MAC* – Geheimer und integrer Schlüsselaustausch notwendig

gen := Schlüsselgenerierung auth := Authentikationsfunktion test := Prüfsfunktion MAC:= Message Authentication Code

Page 26: EN 6.3: 4 Kryptographie

Asymmetrische AuthentifikationZiel: Integrität, Authentizität und Nicht-Abstreitbarkeit einer Nachricht m

– Disput vor Dritten möglich – Systeme zur digitalen Signatur – Sicherheit und Schlüsselverteilung analog zur asymmetrischen Verschlüsselung

gen := Schlüsselgenerierung pk := öffentlicher Schlüssel sk := privater Schlüssel sign:= Signaturfunktion test := Testfunktion

Page 27: EN 6.3: 4 Kryptographie

EinwegfunktionZiel: „Einfache“ Berechnung von f und „schwere“ Berechnung von f-1

– „Einfach“ und „schwer“ ist komplexitätstheoretisch zu verstehen – Partielle Informationen über f-1 können gefunden werden,

daher nicht zur Verschlüsselung geeignet – Beispiel: f(p,q) = pq für große Primzahlen (Annahme)

Page 28: EN 6.3: 4 Kryptographie

HashfunktionZiel: Verkürzung von Nachrichten

– Kollisionsfrei, falls hash(m) = hash(m*) ! m = m*

Page 29: EN 6.3: 4 Kryptographie

PseudozufallszahlengeneratorZiel: Deterministische Erzeugung von einer langen, „zufälligen“ Bitfolge

– Pseudozufallszahl sollte nicht von einer Zufallszahl unterscheidbar sein – Der Startwert seed ist eine kleine Zufallszahl – Beispiel: Thermisches Rauschen als seed – Anwendung: z.B. Schlüsselgenerierung

Page 30: EN 6.3: 4 Kryptographie

BetriebsartenBlockchiffre

– Ver- und Entschlüsselung für Zeichenketten fester Länge

Stromchiffre – Ver- und Entschlüsselung für Zeichenketten variabler Länge

• Synchron – Verschlüsselung eines Zeichens hängt von der Historie ab – Sender und Empfänger müssen immer im selben Takt sein.

Ein Fehler wird nicht toleriert • Selbstsynchronisierend

– Verschlüsselung eines Zeichens hängt nur von wenigen vorigen Schlüsseltextzeichen ab

Page 31: EN 6.3: 4 Kryptographie

Überblick zu konkreten Systemen

Kryptographische Verfahren

Symmetrische Verfahren

One-Time-Pad

DES

AES

Betriebsmodi

Asymmetrische Verfahren

RSA

Diffie-Hellmann

ElGamal

DSA

Kryptographische Prüfwerte

MD-5

SHA-1

One-Time-Pad

informationstheoretisch sicher

Page 32: EN 6.3: 4 Kryptographie

Agenda

4. Kryptographie

4.1 Historische Entwicklung 4.2 Angriffstypen 4.3 Kryptographische Primitive 4.4 Symmetrische Verfahren 4.5 Asymmetrische Verfahren 4.6 Schlüsselmanagement 4.7 Höhere kryptographische Protokolle

Page 33: EN 6.3: 4 Kryptographie

One-Time-Pad / Vernam ChiffreInformationstheoretische sichere Verschlüsselung

Schlüssel k – Zufallszahl – Schlüssellänge ist gleich Nachrichtenlänge – Darf nur einmal verwendet werden, da k sonst berechnet werden kann

Schlüsselverteilung – Geheimer und integrer Austausch des Schlüssels k notwendig – Beispiel: Thermisches Rauschen als Schlüssel k und Verteilung auf CD

enc(k, m) := m XOR k dec(k, c) := c XOR k

m = 1 0 1 0 1 1 0 k = 0 1 1 0 1 0 1 c = 1 1 0 0 0 1 1

Page 34: EN 6.3: 4 Kryptographie

Vernam Chiffre: Informationstheoretisch sicher

Schlüsseltext Schlüssel Klartext Schlüsseltext Schlüssel Klartext

sichere Chiffre unsichere ChiffreBsp.: Vernam-Chiffre mod 2

x = 00 01 00 10 + k = 10 11 01 00

S= 10 10 01 10

Subtraktion von einem Schlüsselbit mod 4 von zwei Klartextbits

"Hinter jedem Schlüsseltext S kann sich jeder Klartext x gleich gut verbergen."

Page 35: EN 6.3: 4 Kryptographie

Data Encryption Standard (DES)• 1977: Standardisierung als Data Encryption Standard (DES) mit 64[56]-bit

Schlüssellänge

• Kombination aus Transpositions- und Substitutionschiffre

• Erster kryptographischer Standard (NIST: FIPS PUB 46)

• Nicht patentiert ! frei benutzbar

• Heute ist die Schlüssellänge zu kurz, deshalb – 3DES mit 112 bzw. 168-bit Schlüssellänge – AES

Page 36: EN 6.3: 4 Kryptographie

DES: Gesamtstruktur• Verschlüsselung von Nachrichtenblöcken

der Größe 64 Bit

• Aufteilung eines Nachrichtenblocksin Li und Ri zu je 32 Bit

• DES besteht aus 16 Runden in denen jeweils permutiert und substituiert wird

• IP und IP-1 sind Ein- und Ausgangspermutationen

• Rundenschlüssel Ki sind unterschiedlich: Pro Runde werden 48 Bit des 56 Bit Schlüssels gewählt

Page 37: EN 6.3: 4 Kryptographie

Transpositionschiffre

• Prinzip: Anordnung der Klartextzeichen wird vertauscht • Verwendung des gleichen Alphabetes für Klar- und Schlüsseltext • Häufige Beschreibung durch Tabellen (z.B. bei DES)

• Beispiel:

9 3 1

2 8 4

7 5 6

T E L E M A T I K

K L T E I E T M A

Klartext

Schlüsseltext

Page 38: EN 6.3: 4 Kryptographie

Transpositionschiffre

• Prinzip: Anordnung der Klartextzeichen wird vertauscht • Verwendung des gleichen Alphabetes für Klar- und Schlüsseltext • Häufige Beschreibung durch Tabellen (z.B. bei DES)

• Beispiel:

9 3 1

2 8 4

7 5 6

T E L E M A T I K

K L T E I E T M A

Klartext

Schlüsseltext

Page 39: EN 6.3: 4 Kryptographie

Substitutionschiffre• Prinzip: Buchstaben(-gruppen) werden durch andere Zeichen(-gruppen) ersetzt • Verwendung eines Alphabetes: Rotation des Klartextalphabetes um k Zeichen

– Muster können erkannt werden und auf den Klartext rückschließen lassen • Verwendung mehrerer Alphabete:

– Verschleierung von Mustern durch Verwendung unabhängiger Substitutionschiffren – Beispiel: S-Box S1 aus DES (Substitutionsvorschrift)

Substitution: ein 6Bit Eingabe-Block wird substituiert durch einen 4Bit Ausgabeblock

S1 0 1 2 3 4 5 6 7 8 9 A B C D E F0 E 4 D 1 2 F B 8 3 A 6 C 5 9 0 7

1 0 F 7 4 E 2 D 1 A 6 C B 9 5 3 82 4 1 E 8 D 6 2 B F C 9 7 3 A 5 0

3 F C 8 2 4 9 1 7 5 B 3 E A 0 6 D

Beispiel: S1(0 0101 1) = (2) = (0010)⎬Spalte

Zeile210

Page 40: EN 6.3: 4 Kryptographie

Agenda

4. Kryptographie

4.1 Historische Entwicklung 4.2 Angriffstypen 4.3 Kryptographische Primitive 4.4 Symmetrische Verfahren 4.5 Asymmetrische Verfahren 4.6 Schlüsselmanagement 4.7 Höhere kryptographische Protokolle

Page 41: EN 6.3: 4 Kryptographie

Asymmetrische VerfahrenVerschiedene Schlüssel für Ver- und Entschlüsselung

– Ein Schlüsselpaar (pk, sk) des Empfängers für alle Sender

Verschiedene Schlüssel für digitale Signatur und Prüfung

– Ein Schlüsselpaar (pk, sk) des Signierers für alle digitalen Signaturen und alle Empfänger

Einfacherer Schlüsselaustausch durch Asymmetrie

– Kein geheimer Austausch von pk notwendig

– Schlüsselverteilung von pk muss integer sein

– Vertrauenswürdige Dritte bestätigen die Beziehung zwischen pk und dem Eigentümer (s. PKI)

Page 42: EN 6.3: 4 Kryptographie

RSA• 1978 entwickelt von Ronald Rivest, Adi Shamir und Leonard Adleman • Idee: RSA als Trap-door-Einwegpermutation • Basiert auf der Faktorisierungsannahme

RSA-Annahme: Das Ziehen von zufälligen e-ten Wurzeln ist genauso schwer, wie die Faktorisierung, d.h. wie große Zahlen n in ihre Primfaktoren p und q zu zerlegen.

Page 43: EN 6.3: 4 Kryptographie

Stand der FaktorisierungRSA Factoring Challenge, RSA Laboratories Inc.

(Challenge ist nicht mehr aktiv)

Quelle: http://www.emc.com/emc-plus/rsa-labs/historical/the-rsa-factoring-challenge.htm

Empfehlung des BSI(BSI Technische Richtlinie TR-02102-2

Quelle: https://www.bsi.bund.de/DE/Publikationen/TechnischeRichtlinien/tr02102/index_htm.html

• Datensparsamkeit bei der Übertragung von Informationen mit langfristigem Schutzbedarf

• Nutzung hybrider Verschlüsselung

Verfahren ECIES DLIES RSA

Länge l in Bits 250 2000 2000

Empfehlung für Einsatz > 2016

3000 3000

Page 44: EN 6.3: 4 Kryptographie

RSA: Schlüsselgenerierung

1. Wähle zwei Primzahlen p, q a) zufällig und unabhängig b) mit Länge l = |p|2 ≈ |q|2 c) p ≠ q Beispiel: p = 11, q = 3

2. Berechne n := p * qBeispiel: n = 33

3. Wähle e zufällig, so dass e und (p-1)(q-1) relativ primBeispiel: e = 3

4. Berechne Inverses von e dem Erweiterten Euklidischen Algorithmus: d := e-1 mod (p-1)(q-1)Beispiel: d = 7

Öffentlicher Schlüssel: pk := (n, e) Beispiel: pk = (n = 33, e = 3) Geheimer Schlüssel: sk := (p, q, d) Beispiel: sk = (p = 11, q = 3, d = 7)

Page 45: EN 6.3: 4 Kryptographie

RSA: Verschlüsselung

pk:=(n,e)sk:=(p,q,d)

Verschlüsselung einer Nachricht m

1. Verschlüsselungver(pk, m) := me mod n = cBeispiel: ver(pk, m) := 43 mod 33 = 64 mod 33 ≡ 31

2. Entschlüsselungent(sk, c) := cd mod n = mBeispiel: ent(sk, c) := 317 mod 33 = 27.512.614.111 mod 33 ≡ 4

Beispiel: m = 4

Page 46: EN 6.3: 4 Kryptographie

RSA: Signatursystem

Digitale Signatur – Digital Signieren: sign(sk, m) := md mod n = sig – Testen: test(pk, m, sig) = ok :↔ sige ≡ m mod n

Bemerkung – RSA-Schlüssel können für dig. Signatur und für Verschlüsselung eingesetzt werden. – Vorsicht: Kompromittierung des Signaturschlüssels = Kompromittierung des Schlüssels

zur Entschlüsselung

pk:=(n,e)sk:=(p,q,d)

Page 47: EN 6.3: 4 Kryptographie

Einige Schwächen von RSAGröße des Modulus (Empfehlung des BSI)

– Langfristig: min. 2000 Bit – Einsatz ab 2016: min. 3000 Bit

Ausnutzung der Homomorphie-Eigenschaft von RSA • Homomorphie-Eigenschaft: (m1m2)e ≡ m1

em2e mod n

• Angriff: Digitale Signatur einer Nachricht m ohne Signaturschlüssel zu kennen(Chosen-Message-Angriff)

1. Wähle sig1 und setze m1 := sig1e

2. Sei m2 := m • m1-1

3. Lasse m2 unterschreiben 4. Setze sig := sig1 • sig2 = m1

d * m2d = (m1*m2)d = md

m2

sig2m, m1, m2, sig1

Page 48: EN 6.3: 4 Kryptographie

Hybride VerfahrenPrinzip: Kombination kryptographischer Verfahren verschiedenen Typs Beispiele:

– Symmetrische mit asymmetrischer Verschlüsselung – Hashfunktionen mit Signaturverfahren

Motivation – Asymmetrische Verfahren sind langsam – Asymmetrische Kryptosysteme sind anfällig gegen Chosen-Ciphertext-Angriffe

Hybride Verfahren – Erweiterung des Klartextes um Redundanz, Hashwert, Zufallszahl, … – Hybride Verschlüsselung

Page 49: EN 6.3: 4 Kryptographie

Hybride Verschlüsselung (1/2)

Idee – Mischung aus symmetrischer und asymmetrischer Verschlüsselung – Symmetrischer Schlüssel wird nur einmal gebraucht

Vorteile – Effizienz der symmetrischen Verschlüsselung

– Einfache Schlüsselverteilung für asymmetrische Schlüsselpaare

Symmetric Key EC Key RSA Key Time to Break Machines Memory

56 112 430 less than 5 minutes 105 trivial

80 160 760 600 months 4300 4 Gb

96 192 1020 3 million years 114 170 Gb

128 256 1620 1016 yrs .16 120 Tb

Quelle: RSA Laboratories: Bulletin number 13, April 2000

Page 50: EN 6.3: 4 Kryptographie

Hybride Verschlüsselung (2/2)

Page 51: EN 6.3: 4 Kryptographie

Erweiterung des KlartextesIdee: Erweiterung des Klartextes um Redundanz, Hashwert, Zufallszahl, …

Verschlüsselung a) Verschlüsselung des Klartextblocks m

1. Wähle Zahl z mit Länge zufällig 2. Setze m* := (m, z, h(m, z)) mit Hashfunktion h und Redundanz red = h(m, z) 3. Berechne c := ver(pk, m*)

b) Entschlüsselung von c 1. m* := ent(sk, c) 2. Zerlege m* in 3 Teile: (m, z, red) 3. Prüfe, ob red = h(m, z)?

Digitale Signatur Prinzip: Statt m wird m* := hash(m) signiert

a) Signatur sig von m: sign(sk, m*) = sign(sk, hash(m)) b) Test: Prüfe, ob test(pk, m, sig) = hash(m)?

Page 52: EN 6.3: 4 Kryptographie

Erforderlich: Sicherer Schlüsselaustausch

Informatisierte, vernetzte Gesellschaft: Spontaner Informationsaustausch• Kein persönlicher Austausch • Keine zentrale Vertrauensstelle (für das Internet)

pkBob, pkCA2, pkCA1

“Man in der Mitte”

Alice Bob

Page 53: EN 6.3: 4 Kryptographie

Agenda

4. Kryptographie

4.1 Historische Entwicklung 4.2 Angriffstypen 4.3 Kryptographische Primitive 4.4 Symmetrische Verfahren 4.5 Asymmetrische Verfahren 4.6 Schlüsselmanagement 4.7 Höhere kryptographische Protokolle

Page 54: EN 6.3: 4 Kryptographie

SchlüsselmanagementAufgaben: • Erstellung von Schlüsseln • Verteilung von Schlüsseln • Widerruf von Schlüsseln

Eigenschaften: • Für symmetrische Verschlüsselung und

Authentifikation: – geheimer und integrer Austausch des

Schlüssels k

• Für asymmetrische Verschlüsselung: – Integrer Austausch des öffentlichen

Schlüssels

• Für Signatursysteme: – Integrer und konsistenter Austausch des

öffentlichen Schlüssels

Page 55: EN 6.3: 4 Kryptographie

Schlüsselverteilung: Direkter Austausch

 

Page 56: EN 6.3: 4 Kryptographie

Das Zuordnungsproblem von InformationB

ürge

r (A

)

A fordert B’s Schlüssel an

C holt B’s richtigen Schlüssel

C schickt A aber eigenen Schlüssel

Nachricht unwissentlich verschlüsselt für C Nachricht neu

verschlüsselt für B Rat

haus

(B)

Page 57: EN 6.3: 4 Kryptographie

Das Zuordnungsproblem von InformationB

ürge

r (A

)

A fordert B’s Schlüssel an

C holt B’s richtigen Schlüssel

C schickt A aber eigenen Schlüssel

Nachricht unwissentlich verschlüsselt für C Nachricht neu

verschlüsselt für B Rat

haus

(B)

Ang

reife

r (C

)

„Man in the Middle Attack“

Frage von A: Ist der Schlüssel von B authentisch?

Page 58: EN 6.3: 4 Kryptographie

Zertifizierungsinstanz (CA)

Information

Identifikation

Publikation

Widerruf

Widerrufsliste

Zeitstempel

engl.: Certification Authority

Page 59: EN 6.3: 4 Kryptographie

Drei Arten von Zertifizierungssystemen• Zentrale Zertifizierungsstelle

(Certification Authority, CA) – Eine einzige CA – Public Key der CA häufig in Anwendungs-Software integriert

• Dezentrale Zertifizierungsstelle (Vertrauensgeflecht, „Web of Trust“) – Jeder Inhaber eines Schlüssels kann als CA tätig sein – Bsp.: PGP (Pretty Good Privacy)

• Hierarchisches Zertifizierungssystem – CAs, die wiederum von „höherer“ CA bestätigt werden – Bsp.: Infrastruktur nach Signaturgesetz

Page 60: EN 6.3: 4 Kryptographie

Austausch symmetrischer Schlüssel• Ziel: geheimer und integrer Austausch des

symmetrischen Schlüssels k

• Möglichkeiten: – Persönliche Übergabe oder durch

vertrauenswürdigen Boten (Dritten) – Masterschlüssel:

• Einmal übertragen • Nur für Austausch von

mehreren Sitzungsschlüsseln verwenden – Austausch über zentrale Stelle(n) – Hybrides Verfahren

• Sitzungsschlüssel wird asymmetrisch verschlüsselt

• Asymmetrischer Schlüsselinteger verteilen

ent

l z

gen

k k

m c mKlartext Schlüsseltext

ZufallsbitsSicherheits- parameter

Geheimer Bereich

ver

Page 61: EN 6.3: 4 Kryptographie

Austausch über eine dritte Stelle

• Jeder Teilnehmer benötigt im Voraus ein kAZ • Zentrale Stelle kann Nachrichten des Nutzers lesen bzw. ihn authentisieren • Aufteilung eines Schlüssels auf mehrere Stellen, z.B. k = k1 + k2 + k3 • Vertrauen in zentrale Stellen notwendig • Beispiel: Kerberos

k(Nachrichten)

kAZ(k) kBZ(k)

kAZ kBZ

Schlüsselverteilzentrale

Page 62: EN 6.3: 4 Kryptographie

Austausch asymmetrischer Schlüssel• Ziel ist anwendungsabhängig

– für Verschlüsselung: integrer Austauschdes öffentlichen Schlüssels

– für digitale Signatur: integrer und konsistenter Austausch des öffentlichen Schlüssels

• Möglichkeiten: – Persönliche Übergabe des öffentlichen

Schlüssels – Papierverzeichnisse – Austausch über zentrale Stellen – Austausch über (mehrere)

Bekannte

Page 63: EN 6.3: 4 Kryptographie

Zeitlicher Ablauf eines Austausches1. Identitätsprüfung: Zuordnung Person/Pseudonym – Schlüssel/Attribute 2. Zertifizierung: Bestätigung der Zuordnung durch Dritte und Ausstellung von Zertifikaten 3. Verteilung solcher Zertifikate 4. Prüfung eines Zertifikates durch den Empfänger (Authentizität des erhaltenen Schlüssels)

Reg. Zert. Verteilung Prüfung

pkA

AB

C

Page 64: EN 6.3: 4 Kryptographie

Identitätsprüfung

Reg. Zert. Verteilung Prüfung

pkA

• Zuordnung: Person/Pseudonym zu Schlüssel/Attribut(e) • Prüfung ist Anker für den gesamten Verteilvorgang • Möglichkeiten:

– Persönliche Übergabe von pk auf Papier oder Diskette • evtl. mit eigenhändiger Unterschrift und Vorlage des

Ausweises – Schlüsselerstellung unter Beobachtung eines Dritten

• Aussagen einer Zuordnung: – Zuordnung – Angabe des verwendeten Kryptographiesystems – Gültigkeitsdauer der geprüften Zuordnung – Schutz vor Schlüsseldiebstahl – Haftung

Page 65: EN 6.3: 4 Kryptographie

Zertifizierung durch vertrauenswürdigen Dritten

Public Key, Name

Signatur der CA

Public Key, N

ame

Zertifizierungsinstanz (Certification Authority - CA)

Signtrust

• Semantik durch PKI und Policy der CA vorgegeben (z.B. deutsches Signaturgesetz)

• Privatsphäre: Nutzung von Zertifikaten hinterlässt verkettbare Spuren (Profilbildung)• Zertifikate können vom Empfänger nicht gefälscht werden

Page 66: EN 6.3: 4 Kryptographie

Zertifizierung durch vertrauenswürdigen Dritten

Echtheits-bestätigungdes Zertifikats

Eindeutige Zertifikats nummer

Öffentlicher Schlüsselder Person

Name: Ser. Nummer: Issued by: Issue date: Expiration: Public key: Attributes:

H. Acker 12345678 S-Trust 07/01/1999 07/01/2002 X a # 6 @ Usage Limits

Zertifikat

Digitale Signaturder CA

Identifikationder Person

Identifikationdes Ausstellers

Zusätzliche Angaben

Public Key, Name

Signatur der CA

Public Key, N

ame

Zertifizierungsinstanz (Certification Authority - CA)

Signtrust

• Semantik durch PKI und Policy der CA vorgegeben (z.B. deutsches Signaturgesetz)

• Privatsphäre: Nutzung von Zertifikaten hinterlässt verkettbare Spuren (Profilbildung)• Zertifikate können vom Empfänger nicht gefälscht werden

Page 67: EN 6.3: 4 Kryptographie

ZertifikateSchlüsselzertifikate • Digitale Bestätigung von Zuordnung

Person-Schlüssel

Attributzertifikate (Credentials) • Digitale Bestätigung von Zuordnung

Person-Eigenschaft oder Person-Recht

• Privatheit: Credentials sollten nachweisbar sein, ohne Attribute und Schlüssel zu zeigen

• Attribute ändern sich oft ! Widerruf von bestehenden Credentials und Verteilung neuer Credentials

Zert.

Page 68: EN 6.3: 4 Kryptographie

Verteilung von Zertifikaten• Sicherheit: Zertifikate können von Sender/Verteiler und Empfänger nicht

gefälscht werden • Empfänger vertraut bestimmten Sendern/Verteilern • Möglichkeiten der Verteilung:

– Zertifikate als Anhang zur geschützten Nachricht verschicken – Über CA – Über Verzeichnisdienste – Über Ketten von Bekannten

Verteilung

Reg.Zert.

pkA

Page 69: EN 6.3: 4 Kryptographie

Prüfung von Zertifikaten

• Problem: Hält der Empfänger den erhaltenen öffentlichen Schlüssel für authentisch?

• Prüfung: – basiert auf Vertrauen in Zertifizierer (Vertrauensinfrastrukturen) – anhand von Zertifizierungspfaden

• Verbesserung des Vertrauens: Prüfung anhand von Zertifikaten unterschiedlicher Zertifizierer

Zertifikat

AliceCA1 CA2 CA3

Page 70: EN 6.3: 4 Kryptographie

Wann ist ein Schlüssel authentisch?

• Schlüssel wurde persönlich geprüft

• Zertifikat des Schlüssels ist gültig, d.h. – Signatur ist korrekt – Schlüssel der Zertifizierungsstelle ist authentisch – Vertrauen in die Zertifizierungsautorität gegeben – Datum ist im Bereich der Gültigkeitsdauer – Schlüssel ist nicht widerrufen – Kontext der Schlüsselverwendung ist korrekt – Sicherheitspolicy wird akzeptiert

• Anforderungen (Sicherheitspolicy) an die Zertifizierung(spfade) sind erfüllt

Page 71: EN 6.3: 4 Kryptographie

Prüfung eines Schlüsselzertifikates

Name des Inhabers SignaturÖffentlicher Schlüssel

Schlüsselzertifikat

Hash (z.B. MD5)

Dechiffierung der Signatur

Hashwert HashwertTest auf Gleichheit

Öffentlicher Schlüssel der

CA

Page 72: EN 6.3: 4 Kryptographie

Widerruf von Zertifikaten• Notwendig wenn z.B. private Schlüssel

kompromittiert wurden oder der Eigentümer Berechtigungen verliert (Kündigung eines Arbeitnehmers)

• Publikation widerrufener Zertifikate über Certificate Revocation List (CRL) oder on-line Prüfung mit CA

• In einer CRL stehen alle Zertifikate, deren Gültigkeit vorzeitig beendet wurde

• Zertifikate, deren Gültigkeitsdauer abgelaufen ist, werden nicht in CRL aufgenommen

• Zeitstempel einer CRL markiert den Zeitpunkt der Rücknahme

• Dokumente, die vor der Rücknahme eines Schlüssels signiert wurden, bleiben gültig

Page 73: EN 6.3: 4 Kryptographie

Zeitliche Definitionslücke bei einem Widerruf

t

Verifier

CertificationAuthority

t request

t signature verification

Requester

t revocation published

Revocationonly internally

well-known

Revocationpublicly

well-known

t revocation list updated

t revocation request approved t revocation entry created

Quelle: Bertsch, Institut für Informatik und Gesellschaft, Freiburg, 2000

Gültigkeit eines Zertifikates ist vom Zeitpunkt abhängig

Page 74: EN 6.3: 4 Kryptographie

Agenda

4. Kryptographie

4.1 Historische Entwicklung 4.2 Angriffstypen 4.3 Kryptographische Primitive 4.4 Symmetrische Verfahren 4.5 Asymmetrische Verfahren 4.6 Schlüsselmanagement 4.7 Höhere kryptographische Protokolle

Page 75: EN 6.3: 4 Kryptographie

AuthentifizierungsprotokolleKommunikationsprotokolle in Verteilten Systemen in zwei Phasen

1. Initialisierungsphase mit Authentifizierung (Handshake) • Aushandlung von Verbindungsparametern • Austausch initialer Informationen

– Einige sind geheim (z.B. Passwort) – Einige nicht (z.B. Benutzerkennung)

2. Kommunikationsphase • Im Weiteren nicht betrachtet (Payload)

Benutzer Server

Alice Bob

Handshake

Datenübertragung

Page 76: EN 6.3: 4 Kryptographie

Challenge-ResponseAuthentifizierung mit Geheimnis

1. Alice sendet ihre Kennung an Bob2. Bob sendet eine Nonce als Challenge C an Alice zurück (i.d.R. eine Zufallszahl)3. Alice verschlüsselt/hashed Challenge mit ihrem Passwort4. Alice weist bei korrekter Response R Kenntnis ihres Passworts nach

gespeichert: Alice -> PA

f(PA ,C) = R ??

Alice Bob

C

R

Alice

C = Nonce

f(PA ,C) = R

Page 77: EN 6.3: 4 Kryptographie

Challenge-ResponseAuthentifizierung mit Geheimnis

1. Alice sendet ihre Kennung an Bob2. Bob sendet eine Nonce als Challenge C an Alice zurück (i.d.R. eine Zufallszahl)3. Alice verschlüsselt/hashed Challenge mit ihrem Passwort4. Alice weist bei korrekter Response R Kenntnis ihres Passworts nach

Probleme– Schlechte Wahl der Challenge kann zur Schwächung des Protokolls führen– Hat Angreifer Zugang zu Bobs Datenbank, kann er sich mit PA als Alice ausgeben

gespeichert: Alice -> PA

f(PA ,C) = R ??

Alice Bob

C

R

Alice

C = Nonce

f(PA ,C) = R

Page 78: EN 6.3: 4 Kryptographie

Challenge-Response: Needham-SchroederVoraussetzungen

– Symmetrische Verschlüsselung – Einsatz einer TTP T als Vermittler (KDC)

• Schlüssel KA,T zwischen Alice A und TTP existiert bereits • Schlüssel KB,T zwischen Bob B und TTP existiert bereits

Protokollablauf 1. A → T A, B, NA

2. T → A {NA, B, KA,B, {KA,B, A}KB,T }KA,T T erzeugt und KA,B für Alice und Bob (verschlüsselt)

3. A → B {KA,B, A}KB,T Alice leitet für Bob verschlüsselten Teil weiter

4. B → A {NB}KA,B Bob überprüft mit NB, ob auch Alice KA,B kennt

5. A → B {NB-1}KA,B

Bezug zu aktueller Transaktion – Nachrichten werden mit Zeitstempeln (Timestamps) versehen – Bob kann die Aktualität der ersten Nachricht von Eve überprüfen

Page 79: EN 6.3: 4 Kryptographie

Commitments• Ziel: Manipulationssicheres und vertrauliches Festlegen auf

einen Wert

• Beispielanwendung: Nachweis von Eigenschaften (s. Benutzbare Sicherheit)

• Interaktives 2-Parteienprotokoll (Committer und Recipient) mit Teilprotokolle:

1. Commit: Committer legt sich auf einen Wert fest, der nachträglich nicht geändert werden kann (Commitment)

2. Opening: Der festgelegte Wert wird gezeigt, d.h. das Commitment wird geöffnet

• Sicherheitseigenschaften: – Bindend (binding): Der Commiter kann den Wert nach dem Commit-Teilprotokoll nicht

mehr ändern – Versteckend (hiding): Der Recipient erhält während des Commit-Teilprotokolls keine

Information über den betreffenden Wert – Ein Commitment-Protokoll ist entweder informationstheoretisch bindend oder

versteckend, aber nicht beides zugleich

Page 80: EN 6.3: 4 Kryptographie

Protokollskizze

Committer Recipient

1. Eingabe: Wert m 2. Berechne commit(m)

4. Speichert commit(m) 5. Ausgabe: ok oder error6. Ausgabe: ok oder error

8. Prüfe, ob m* in commit(m) ist 9. Ausgabe: (accept, m*) oder reject

7. m*

3. commit(m)

Commit

Opening

Page 81: EN 6.3: 4 Kryptographie

Zero-Knowledge Proof• Probabilistisches Beweissystem • Interaktives Protokoll zwischen zwei Parteien

(Prover und Verifier) • Eigenschaften

– Kein Wissensgewinn für den Verifier bei mehreren Protokollläufen

– Vollständigkeit (Completeness): Prover kann gegenüber dem Verifier korrekte Aussagen nachweisen

– Korrektheit (Soundness): Ein betrügerischer Prover kann einem ehrlichen Verifier nicht von falschen Aussagen überzeugen

– Weiterleitung nur mit Weitergabe des zu beweisenden Geheimnisses möglich

– Erfolgswahrscheinlichkeit für einen Angreifer pro Protokolllauf: 50 %

! Mehrere Protokollläufe zur Reduzierung der Fehlerrate notwendig

Page 82: EN 6.3: 4 Kryptographie

Beispiel: Wissen über einen diskreten Logarithmus Prover Verifier

pkProver := (p, q, g, h)

8. Prüfe, ob gr = ahc

1. pkProver := (p, q, g, h)

2. Nachricht m aus Zq, t zufällig aus Zq a := gt 3. a

Challenge

Response

7. r

• n Durchläufe notwendig, da Angreifer (Prover) pro Durchlauf zu 50% richtig raten kann • One-Time Pad ist t mod q ➔ info.-theoretisch sichere Verschlüsselung

a := gt

4. c zufällig aus {0,1}5. c

6. r := t+cm mod q

Page 83: EN 6.3: 4 Kryptographie

Quellen und weiterführende Literatur• Diffie, W., Hellman, M.E. New Directions in Cryptography. IEEE Transactions on Information

Theory 22(6), 1976 • Dolev, D., Yao, A.C. On the Security of Public Key Protocols. IEEE Transactions on

Information Theory 29(2), 1983 • Eckert, C. IT-Sicherheit: Konzepte – Verfahren – Protokolle. 9. Auflage, De Gruyter

Oldenbourg, 2014 • Menezes, A.J., van Oorschot, P.C., Vanstone, S.A. Handbook of Applied Cryptography. CRC

Press, 1996 http://cacr.uwaterloo.ca/hac/