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
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/