EN 6.3: 4 Kryptographie

Preview:

Citation preview

EN 6.3: IT-Sicherheit und Technischer DatenschutzDonnerstag, den 31. März 2016 Dozent: Dr. Sven Wohlgemuth <wohlgemuth@acm.org>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

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.

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

Dolev Yao

m, pkBobAlice Bob

CharlieVerzeichnisdienst

eIDBobeIDAlice

pkBob pkBob

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

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

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)

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

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

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

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

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

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)

HashfunktionZiel: Verkürzung von Nachrichten

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

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

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

Ü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

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

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

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."

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

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

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

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

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

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

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)

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.

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

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)

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

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)

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

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

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

Hybride Verschlüsselung (2/2)

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)?

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

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

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

Schlüsselverteilung: Direkter Austausch

 

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)

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?

Zertifizierungsinstanz (CA)

Information

Identifikation

Publikation

Widerruf

Widerrufsliste

Zeitstempel

engl.: Certification Authority

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

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

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

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

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

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

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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/

Recommended