Lecture on IT Security and Technical Data Protection
Part 4: Cryptography
Summer term 2016
(in German: 4 Kryptographie
der Vorlesung IT-Sicherheit und Technischer Datenschutz
im Sommersemester 2016)
3. 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: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Geheimtextalphabet: DEFGHIJKLMNOPQRSTUVWXYZABC
– Schlüssel: Angabe k der Rotation
4. 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)
B
A
C
D
E
F f
e
d
c
b
a
Lampen Tastatur Stecker-
brett
3 Walzen Reflektor
Eingabe: a Ausgabe: C
5. 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
14. Erfolgsarten eines Angreifers
Ziele 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
15. 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.
16. 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
17. 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 Authentifikation
Ziel:
Angriff auf ein Challenge-Response-Protokoll, um einen gültigen MAC zu konstruieren.
18. Kerckhoffs Prinzipien
1. 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
19. Dolev Yao
m, pkBob
Alice Bob
Charlie
Verzeichnisdienst
eIDBobeIDAlice
pkBob pkBob
Dolev und Yao, On the Security of Public Key Protocols, 1983
20. Dolev Yao
m, pkBob
Alice Bob
Charlie
Verzeichnisdienst
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 bekannt Dolev und Yao, On the Security of Public Key Protocols, 1983
21. 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)
23. Symmetrische Verschlüsselung
Ziel: 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 m
Klartext Schlüsseltext
ZufallsbitsSicherheits-
parameter
Geheimer
Bereich
ver
24. Asymmetrische Verschlüsselung
Ziel: 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
25. Symmetrische Authentifikation
Ziel: 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
26. Asymmetrische Authentifikation
Ziel: 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
27. Einwegfunktion
Ziel: „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)
29. Pseudozufallszahlengenerator
Ziel: 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
30. Betriebsarten
Blockchiffre
– 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
33. One-Time-Pad / Vernam Chiffre
Informationstheoretische 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
34. Vernam Chiffre: Informationstheoretisch sicher
Schlüsseltext Schlüssel Klartext Schlüsseltext Schlüssel Klartext
sichere Chiffre unsichere Chiffre
Bsp.: 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."
35. 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
36. DES: Gesamtstruktur
• Verschlüsselung von Nachrichtenblöcken
der Größe 64 Bit
• Aufteilung eines Nachrichtenblocks
in 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
37. 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
38. 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
39. 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 F
0 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 8
2 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
Zeile
210
41. Asymmetrische Verfahren
Verschiedene 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)
42. 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.
43. Stand der Faktorisierung
RSA 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
44. 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 * q
Beispiel: n = 33
3. Wähle e zufällig, so dass
e und (p-1)(q-1) relativ prim
Beispiel: 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)
45. RSA: Verschlüsselung
pk:=(n,e)
sk:=(p,q,d)
Verschlüsselung einer Nachricht m
1. Verschlüsselung
ver(pk, m) := me mod n = c
Beispiel: ver(pk, m) := 43 mod 33
= 64 mod 33
≡ 31
2. Entschlüsselung
ent(sk, c) := cd mod n = m
Beispiel: ent(sk, c) := 317 mod 33
= 27.512.614.111 mod 33
≡ 4
Beispiel: m = 4
46. 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)
47. Einige Schwächen von RSA
Größ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
em2
e mod n
• Angriff: Digitale Signatur einer Nachricht m ohne Signaturschlüssel zu kennen
(Chosen-Message-Angriff)
1. Wähle sig1 und setze m1 := sig1
e
2. Sei m2 := m • m1
-1
3. Lasse m2 unterschreiben
4. Setze sig := sig1 • sig2 = m1
d * m2
d = (m1*m2)d = md
m2
sig2
m, m1, m2, sig1
48. Hybride Verfahren
Prinzip: 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
49. 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
51. Erweiterung des Klartextes
Idee: 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)?
52. 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
54. Schlüsselmanagement
Aufgaben:
• 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
56. Das Zuordnungsproblem von Information
Bürger(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
Rathaus(B)
57. Das Zuordnungsproblem von Information
Bürger(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
Rathaus(B)
Angreifer(C)
„Man in the Middle Attack“
Frage von A: Ist der Schlüssel von B authentisch?
59. 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
60. 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üssel
integer verteilen
ent
l z
gen
k k
m c m
Klartext Schlüsseltext
ZufallsbitsSicherheits-
parameter
Geheimer
Bereich
ver
61. 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
62. Austausch asymmetrischer Schlüssel
• Ziel ist anwendungsabhängig
– für Verschlüsselung: integrer Austausch
des ö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
63. Zeitlicher Ablauf eines Austausches
1. 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
A
B
C
64. 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
65. Zertifizierung durch vertrauenswürdigen Dritten
Public Key,
Name
Signatur der CA
Public Key, Nam
e
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
66. Zertifizierung durch vertrauenswürdigen Dritten
Echtheits-
bestätigung
des Zertifikats
Eindeutige
Zertifikats
nummer
Öffentlicher
Schlüssel
der 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 Signatur
der CA
Identifikation
der Person
Identifikation
des
Ausstellers
Zusätzliche
Angaben
Public Key,
Name
Signatur der CA
Public Key, Nam
e
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
67. Zertifikate
Schlü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.
68. 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
69. 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
70. 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
71. 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
72. 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
73. Zeitliche Definitionslücke bei einem Widerruf
t
Verifier
Certification
Authority
trequest
tsignature verification
Requester
trevocation published
Revocation
only internally
well-known
Revocation
publicly
well-known
trevocation list updated
trevocation request approved
trevocation entry created
Quelle: Bertsch, Institut für Informatik und Gesellschaft, Freiburg, 2000
Gültigkeit eines Zertifikates ist vom Zeitpunkt abhängig
75. Authentifizierungsprotokolle
Kommunikationsprotokolle 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
76. Challenge-Response
Authentifizierung mit Geheimnis
1. Alice sendet ihre Kennung an Bob
2. Bob sendet eine Nonce als Challenge C an Alice zurück (i.d.R. eine Zufallszahl)
3. Alice verschlüsselt/hashed Challenge mit ihrem Passwort
4. 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
77. Challenge-Response
Authentifizierung mit Geheimnis
1. Alice sendet ihre Kennung an Bob
2. Bob sendet eine Nonce als Challenge C an Alice zurück (i.d.R. eine Zufallszahl)
3. Alice verschlüsselt/hashed Challenge mit ihrem Passwort
4. 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
78. Challenge-Response: Needham-Schroeder
Voraussetzungen
– 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
79. 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
80. 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)
Co
m
mit
Op
eni
ng
81. 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
82. 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
Ch
alle
ng
e
Re
sp
on
se
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
83. 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/