Post on 06-Apr-2015
Kryptologie
Klaus Becker
2014
2 Kryptologie
An: b@ob.de
Von: a@lice.de
Hallo Bob!
3 Teil 1
Einführung
4 Big brother liest mit!
Spätestens seit der NSA-Affäre weiß jeder, dass Kommunikationsvorgänge von Nachrichtendiensten weltweit überwacht werden. Die digitale Übertragung von Nachrichten macht es recht einfach, diese abzufangen und automatisiert auszuwerten.
5 Wer kommuniziert mit mir?
Des öfteren erhält man freundliche E-Mails, die einem dabei behilflich sein wollen, ein Problem, das sich irgenwo ergeben hat, zu beheben. Man muss nur dem Link folgen.
6 Sicherheitsprobleme
Aufgabe: Beurteile diese (fiktive) E-Mail unter Sicherheitsaspekten. Welche Fragen ergeben sich hier?
An: KB@gmx.deVon: DieBilligeBank@t-online.deBetrifft: Kontoeröffnung
Sehr geehrte Herr Becker,
Sie haben mit Ihrer Mail vom 1.1.2014 ein Konto bei unserer Bank beantragt. Wir danken Ihnen für das Vertrauen in unsere Bank. Selbstverständlich können wir Ihnen ein Konto einrichten. Die Kontonummer lautet: 314 216. Sie erhalten demnächst per Post eine Kreditkarte (Geheimzahl 9138). Für die Einrichtung des Kontos müssenwir Ihnen einen Unkostenbetrag von 50 Euro in Rechnung zu stellen. Wir haben diesen Betrag bereits von Ihrem Konto abgebucht. Bitte zahlen Sie diesen Betrag schnellstmöglich auf Ihr Konto ein.
Mit freundlichen Grüßen
P. Theuerkauf(Leiter der Service-Abteilung)
7 SicherheitsproblemeAn: KB@gmx.deVon: DieBilligeBank@t-online.deBetrifft: Kontoeröffnung
Sehr geehrte Herr Becker,
Sie haben mit Ihrer Mail vom 1.1.2014 ein Konto bei unserer Bank beantragt. Wir danken Ihnen für das Vertrauen in unsere Bank. Selbstverständlich können wir Ihnen ein Konto einrichten. Die Kontonummer lautet: 314 216. Sie erhalten demnächst per Post eine Kreditkarte (Geheimzahl 9138). Für die Einrichtung des Kontos müssenwir Ihnen einen Unkostenbetrag von 50 Euro in Rechnung zu stellen. Wir haben diesen Betrag bereits von Ihrem Konto abgebucht. Bitte zahlen Sie diesen Betrag schnellstmöglich auf Ihr Konto ein.
Mit freundlichen Grüßen
P. Theuerkauf(Leiter der Service-Abteilung)
Authentizität: Stammt die Nachricht wirklich von der BilligenBank, oder erlaubt sich hier jemand einen Scherz?
Integrität: Hat jemand die Nachricht manipuliert (z.B. die PIN geändert)?
Verbindlichkeit: Die Bank behauptet, die PIN nicht mitverschickt zu haben.Stimmt das?
Vertraulichkeit: Wurde die Nachricht abgefangen und von einer unbekannten Person gelesen?
8 Sicherheitsziele
Vertraulichkeit:
Die Nachricht, die man erhält, ist nicht von dritten Personen gelesen worden.
Integrität:
Die Nachricht, die man erhält, ist von keiner dritten Person manipuliert worden.
Authentizität:
Die Nachricht, die man erhält, stammt von der Person, die als Absender angegeben ist.Verbindlichkeit:
Der Absender kann nachträglich nicht bestreiten, die Nachricht verfasst zu haben.
9 Teil 2
Klassische Chiffrierverfahren
10 Das Caesar-Verfahren
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Schlüssel: DQuelltext:
SALVEASTERIX
Geheimtext:VDOYHDVWHULA
11 Das Vigenère-Verfahren
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
Schlüssel: KUHQuelltext:
VIG ENE RE
Geheimtext:FCN OHL BY
K
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
12 Das Vigenère-Verfahren
V I G E N E R E
Schlüssel, Klartext
K U H K U H K U
F C N O H L B Y
Geheimtext
ABCDEFGHIJKLMNOPQRSTUVWXYZ
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z B C D E F G H I J K L M N O P Q R S T U V W X Y Z A C D E F G H I J K L M N O P Q R S T U V W X Y Z A B D E F G H I J K L M N O P Q R S T U V W X Y Z A B C E F G H I J K L M N O P Q R S T U V W X Y Z A B C D F G H I J K L M N O P Q R S T U V W X Y Z A B C D E G H I J K L M N O P Q R S T U V W X Y Z A B C D E F H I J K L M N O P Q R S T U V W X Y Z A B C D E F G I J K L M N O P Q R S T U V W X Y Z A B C D E F G H J K L M N O P Q R S T U V W X Y Z A B C D E F G H I K L M N O P Q R S T U V W X Y Z A B C D E F G H I J L M N O P Q R S T U V W X Y Z A B C D E F G H I J K M N O P Q R S T U V W X Y Z A B C D E F G H I J K L N O P Q R S T U V W X Y Z A B C D E F G H I J K L M O P Q R S T U V W X Y Z A B C D E F G H I J K L M N P Q R S T U V W X Y Z A B C D E F G H I J K L M N O Q R S T U V W X Y Z A B C D E F G H I J K L M N O P R S T U V W X Y Z A B C D E F G H I J K L M N O P Q S T U V W X Y Z A B C D E F G H I J K L M N O P Q R T U V W X Y Z A B C D E F G H I J K L M N O P Q R S U V W X Y Z A B C D E F G H I J K L M N O P Q R S T V W X Y Z A B C D E F G H I J K L M N O P Q R S T U W X Y Z A B C D E F G H I J K L M N O P Q R S T U V X Y Z A B C D E F G H I J K L M N O P Q R S T U V WY Z A B C D E F G H I J K L M N O P Q R S T U V W X Z A B C D E F G H I J K L M N O P Q R S T U V W X Y
Schlüsselbuchstabe
Klartextbuchstabe
13 Das Vigenère-Verfahren
Aufgabe:
Verschlüssele den Klartext 'HALLOWIEGEHTS' mit dem Schlüssel 'ESEL'.
Aufgabe:
Entschlüssele den Geheimtext 'LMSXEGXTXUS'. Der Schlüssel lautet 'ZEBRA'.
Aufgabe:
Wähle selbst einen Schlüssel. Verschlüssele einen Text mit dem Schlüssel. Gib den Geheimtext und den Schlüssel an deine Nachbarin / deinen Nachbarn zum Entschlüsseln weiter.
14
Kryptoanalyse beim Vigenère-Verfahren
HGINEHWTEIBLUNARWPCLDWCVDDYUVNCETJIBLTFTQEVIIFFJEEHRNREQGIVNZYTLRZPUVNYIJKEMHBJKNQNKMHVOZCGXBLSCINJIMREZEKYGKIRXLLEGPVEDDWELNJIMKUMHSLHHKGCIDWTKDDVSYEHREVRFMQWEKHFJBDVHVSEYOBEKXJDAAIOUSNROVNRGIVIMHJVSBLPVNRXFAUMKGIATWJKZDXEFRSSCVNVYOUEQFBIIGVHFLCRFJGDWDYMDMEVBKMUQESWJVKZINDTHLSXOKHFEERLBRRRMFBADQNKERQJKGNPEVNDQLRMLIVEDRMOXTDMOCIDHERBDMERSGEUVIMIXLNCISJALIHVWZPUXELIMFDDMEVNRGIZFEISZMJPFZNDRTTHHJGVEQKSVIEXFJMHXXZLCINNEGISJCGEVKNHGIKDHIGVLRIOIIEJFVRRGIRUSRVIHHRBLFHREZEGSFYIBLHCATFFUIDAFCLDRWVRRGICIMKFEALIOUERGIZFEISLNCOBYNTREUARLBKMHXJYRDQTZNFIOUIDPPIEKIZXESEO
Ziel: Schlüssel aus einem Geheimtext rekonstruieren
Grundidee des Kasiski-Verfahrens:
Schritt 1: Bestimme die Länge des Schlüsselwortes.
Schritt 2: Ermittle den Schlüssel mit einer Häufigkeitsanalyse.
15 Bestimmung der Schlüssellänge
S: W O I N W O I N W O I N W O I N W O I N W O I N W O I N W O I N W O
K: H A B E E I N E N K L E I N E N E S E L I M S T A L L G E S E H E N
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
G: D O J R A W V R J Y T R E B M A A G M Y E A A G W Z T T A G M U A B
Aufgabe: Begründe folgende Zusammenhänge:
Dopplungen im Klartext führen nicht unbedingt zu Dopplungen im Geheimtext.
Beispiel: EIN
Wenn Dopplungen im Geheimtext aus Dopplungen im Klartext resultieren, dann ist der Abstand der Buchstabenfolgen ein Vielfaches der Schlüssellänge.
Beispiel: AMG
Dopplungen im Geheimtext resultieren aber nicht unbedingt aus Dopplungen im Klartext. Sie können auch "zufällig" entstehen.
Beispiel: AAG
16 Bestimmung der Schlüssellänge
HGINEHWTEIBLUNARWPCLDWCVDDYUVNCETJIBLTFTQEVIIFFJEEHRNREQGIVNZYTLRZPUVNYIJKEMHBJKNQNKMHVOZCGXBLSCINJIMREZEKYGKIRXLLEGPVEDDWELNJIMKUMHSLHHKGCIDWTKDDVSYEHREVRFMQWEKHFJBDVHVSEYOBEKXJDAAIOUSNROVNRGIVIMHJVSBLPVNRXFAUMKGIATWJKZDXEFRSSCVNVYOUEQFBIIGVHFLCRFJGDWDYMDMEVBKMUQESWJVKZINDTHLSXOKHFEERLBRRRMFBADQNKERQJKGNPEVNDQLRMLIVEDRMOXTDMOCIDHERBDMERSGEUVIMIXLNCISJALIHVWZPUXELIMFDDMEVNRGIZFEISZMJPFZNDRTTHHJGVEQKSVIEXFJMHXXZLCINNEGISJCGEVKNHGIKDHIGVLRIOIIEJFVRRGIRUSRVIHHRBLFHREZEGSFYIBLHCATFFUIDAFCLDRWVRRGICIMKFEALIOUERGIZFEISLNCOBYNTREUARLBKMHXJYRDQTZNFIOUIDPPIEKIZXESEO
HGI at index 0 and 430 - difference = 430IBL at index 9 and 34 - difference = 25CLD at index 18 and 488 - difference = 470UVN at index 27 and 67 - difference = 40IBL at index 34 and 474 - difference = 440EHR at index 49 and 149 - difference = 100GIV at index 56 and 191 - difference = 135ZPU at index 65 and 360 - difference = 295QNK at index 81 and 296 - difference = 215KMH at index 83 and 533 - difference = 450CIN at index 95 and 415 - difference = 320NJI at index 97 and 124 - difference = 27JIM at index 98 and 125 - difference = 27REZ at index 101 and 466 - difference = 365EZE at index 102 and 467 - difference = 365VED at index 117 and 317 - difference = 200…
Kasiski search for repeated substrings:
http://www.staff.uni-mainz.de/pommeren/Kryptologie/Klassisch/2_Polyalph/kasiski1.html
Aufgabe: Begründe folgende Vermutung.
Die Schlüssellänge beträgt 5.
17 Bestimmung des Schlüssels
Schlüssel: W O I N
Klartext: H A B E E I N E N K L E I N E N E S E L I M S T A L L G E S E H E N
E N E E
Geheimtext: D O J R A W V R J Y T R E B M A A G M Y E A A G W Z T T A G M U A B
A B M RHäufigster Buchstabe in der Kolonne
A B C D E F G H I J K L …
W X Y Z A B C D E F G HW
A B C D E F G H I J K L …
X Y Z A B C D E F G H I
A B C D E F G H I J K L …
I J K L M N O P Q R S TI
A B C D E F G H I J K L …
N O P Q R S T U V W X YN
X
18 Bestimmung des Schlüssels
HGINEHWTEIBLUNARWPCLDWCVDDYUVNCETJIBLTFTQEVIIFFJEEHRNREQGIVNZYTLRZPUVNYIJKEMHBJKNQNKMHVOZCGXBLSCINJIMREZEKYGKIRXLLEGPVEDDWELNJIMKUMHSLHHKGCIDWTKDDVSYEHREVRFMQWEKHFJBDVHVSEYOBEKXJDAAIOUSNROVNRGIVIMHJVSBLPVNRXFAUMKGIATWJKZDXEFRSSCVNVYOUEQFBIIGVHFLCRFJGDWDYMDMEVBKMUQESWJVKZINDTHLSXOKHFEERLBRRRMFBADQNKERQJKGNPEVNDQLRMLIVEDRMOXTDMOCIDHERBDMERSGEUVIMIXLNCISJALIHVWZPUXELIMFDDMEVNRGIZFEISZMJPFZNDRTTHHJGVEQKSVIEXFJMHXXZLCINNEGISJCGEVKNHGIKDHIGVLRIOIIEJFVRRGIRUSRVIHHRBLFHREZEGSFYIBLHCATFFUIDAFCLDRWVRRGICIMKFEALIOUERGIZFEISLNCOBYNTREUARLBKMHXJYRDQTZNFIOUIDPPIEKIZXESEO
>>>
Schlüssellänge: 5
Häufigster Buchstabe:
Kolonne 0 : D
Kolonne 1 : I
Kolonne 2 : F
Kolonne 3 : V
Kolonne 4 : E
Aufgabe: Begründe folgende Vermutung.
Der Schlüssel lautet ZEBRA.
Aufgabe:
Benutze das Programm haeufigkeitsanalyse.py (siehe inf-schule), um den häufigsten Buchstaben in den Kolonnen zu bestimmen.
19
Zur Sicherheit beim Vigenère-Verfahren
. . . . .
. . . . .
T S B A CGeheimtext
Klartext
Schlüssel
Aufgabe:
Welcher der folgenden Klartexte könnte hier in verschlüsselter Form vorliegen?
KATZE, PFERD, TIGER
20
Zur Sicherheit beim Vigenère-Verfahren
K A T Z E
. . . . .
T S B A CGeheimtext
Klartext
Schlüssel
Aufgabe:
Rekonstruiere jeweils den verwendeten Schlüssel. Welche Folgerungen kannst du hieraus ziehen?
P F E R D
. . . . .
T S B A C
T I G E R
. . . . .
T S B A C
21 One-Time-Pad
Wenn der Schlüssel keine statistischen Auffälligkeiten aufweist, kann ein Angreifer, der nur den Geheimtext kennt, den Schlüssel und den Klartext nicht rekonstruieren.
Beim One-Time-Pad handelt es sich also um ein sicheres Chiffrierverfahren.
SUMMSUMMSUMMBIENCHENSUMMHERUM
HGGHFDDSABSHDGEURTTZHRJKHVFJU
ZASTXXPESVETEOIHTAXMZLVWOZWDGGeheimtext
Klartext
Schlüssel
Beim One-Time-Pad (deutsch: Verfahren mit Einmalschlüssel) benutzt man ein polyalphabetisches Ersetzungsverfahren (wie z.B. das Vigenère-Verfahren), bei dem der Schlüssel (mindestens) so lang ist wie der Klartext.
22 One-Time-Pad
Im praktischen Einsatz hat das One-Time-Pad aber einige gewaltige Nachteile:
Man darf den Schlüssel nur einmal zum Verschlüsseln eines Textes benutzen. Wenn man ihn mehrfach benutzt, liefert man dem Angreifer Möglichkeiten zu einem erfolgreichen Angriff.
Man kann sich den Schlüssel nicht merken. Er muss auf einem Medium festgehalten werden und auf sicherem Weg zwischen den Kommunikationspartnern überbracht werden.
Beim One-Time-Pad (deutsch: Verfahren mit Einmalschlüssel) benutzt man ein polyalphabetisches Ersetzungsverfahren (wie z.B. das Vigenère-Verfahren), bei dem der Schlüssel (mindestens) so lang ist wie der Klartext.
Quelle: http://www.cryptomuseum.com/crypto/otp.htm
23 Teil 3
Moderne Chiffriersysteme
24 Symmetrische Chiffriersysteme
Beispiele: Vigenère-Chiffriersystem
KUH KUH
VIGENERE
A(lice)
Klartext
Schlüssel
VIGENERE
Klartext
FCNOHLBY
Geheimtext
Verschlüsselungsverfahren Entschlüsselungsverfahren
B(ob)
Schlüssel
25 Symmetrische Chiffriersysteme
s
f(x, s)
s
x0, x1, x2, ...
A(lice)
Klartext
f*(y, s)
Schlüssel
x0, x1, x2, ...
Klartext
y0, y1, y2, ...
Geheimtext
Verschlüsselungsfunktion Entschlüsselungsfunktion
B(ob)
Schlüssel
Ein symmetrisches Chiffriersystem ist ein System zum Ver- und Entschlüsseln von Nachrichten, bei dem derselbe Schlüssel zum Ver- und Entschlüsseln benutzt wird.
26 Symmetrische Chiffriersysteme
A(lice)
Hallo Bob,
...
Alice
B(ob)
Hallo Bob,
...
Alice
27 SchlüsselverwaltungB(ob)
C(lara)
Alice
Bob
Clara
A(lice)
Bob
David
David
D(avid)
Alice
Clara
Aufgabe: Wer kann mit wem sicher kommunizieren? Welche Schloss-Schlüsselpaare fehlen noch?
28 Schlüsselverwaltung
B(ob)
E(ve)
A(lice)
F(elix)
Aufgabe: Eve und Felix werden in den Geheimbund mit aufgenommen. Wie viele verschiedene Schloss-Schlüssel-Paare werden jetzt benötigt, um Geheimnisse zwischen allen Mitgliedern des Geheimbundes austauschen zu können?
C(lara) D(avid)
29 Schwierigkeit - Schlüsselaustausch
Wer ein symmetrisches Chiffriersystem benutzen möchte, steht vor der Schwierigkeit, den gemeinsamen Schlüssel vorab sicher auszutauschen, bevor eine Nachricht verschlüsselt verschickt werden kann.
A(lice) B(ob)
30 Schwierigkeit - Schlüsselinflation
Bei symmetrischen Chiffriersystemen müssen je zwei Kommunikationspartner einen gemeinsamen Schlüssel vereinbaren. Wenn n Personen alle miteinander kommunizieren möchten, benötigt man insgesamt (n*(n-1))/2 Schlüssel. Bei größeren Gruppen führt das leicht zu einer Schlüsselinflation.
B(ob)A(lice)
C(lara) D(avid)
31 Asymmetrische Chiffriersysteme
A(lice)
Hallo Bob,
...
Alice
B(ob)
Hallo Bob,
...
Alice
public key private key
32 Asymmetrische Chiffriersysteme
Aufgabe:
(a) Warum kann Bob das gleiche Vorhängeschloss (bzw. Kopien dieses Schlosses) zu seinem Schlüssel für alle Kommunikationspartner bereitstellt?
(b) Warum benötigt Alice ein anderes Vorhängeschloss mit Schlüssel, wenn Bob eine Antwortnachricht an Alice schicken möchte?
(c) Wie viele verschiedene Vorhängeschloss-Schlüssel-Paare werden benötigt, wenn Alice, Bob, Clara und David Geheimnisse austauschen wollen?
A(lice) B(ob)
public key private keypublic key private key
C(lara) D(avid)
33 Asymmetrische Chiffriersysteme
Ein asymmetrisches Chiffriersystem ist ein System zum Ver- und Entschlüsseln von Nachrichten, bei dem ein öffentlich bereitgestellter Schlüssel (public key) zum Verschlüsseln und ein privater Schlüssel (private key) zum Entschlüsseln benutzt wird.
e
f(x, e)
d
x0, x1, x2, ...
A(lice)
Klartext
f*(y, d)
öffentlicher Schlüsselvon Bob
x0, x1, x2, ...
Klartext
y0, y1, y2, ...
Geheimtext
Verschlüsselungsfunktion Entschlüsselungsfunktion
B(ob)
privater Schlüsselvon Bob
34 Asymmetrische Chiffriersysteme
e
f(x, e)
d
x0, x1, x2, ...
A(lice)
Klartext
f*(y, d)
öffentlicher Schlüsselvon Bob
x0, x1, x2, ...
Klartext
y0, y1, y2, ...
Geheimtext
Verschlüsselungsfunktion Entschlüsselungsfunktion
B(ob)
privater Schlüsselvon Bob
Schlüsselaustausch:
Der Schlüsselaustausch ist bei asymmetrischen Chiffriersystemen unproblematisch. Der Besitzer eines Schlüsselpaares kann seinen öffentlichen Schlüssel an alle Personen weitergeben, die ihm verschlüsselte Nachrichten zukommen lassen sollen. Der Besitzer kann sogar den öffentlichen Schlüssel öffentlich bekannt machen, so dass jeder ihn benutzen kann. Schlüsselanzahl:
Wenn mehrere Personen verschlüsselte Nachrichten austauschen wollen, dann reicht es, wenn jede Person ein Schlüsselpaar aus öffentlichem und privatem Schlüssel besitzt.
35 Schwierigkeit - Rechenaufwand
e
f(x, e)
d
x0, x1, x2, ...
A(lice)
Klartext
f*(y, d)
öffentlicher Schlüsselvon Bob
x0, x1, x2, ...
Klartext
y0, y1, y2, ...
Geheimtext
Verschlüsselungsfunktion Entschlüsselungsfunktion
B(ob)
privater Schlüsselvon Bob
Bei langen Klartexten ist der Rechenaufwand bei den derzeit benutzten Verfahren recht hoch.
36 Hybridsysteme
s
f(x, e)
s
x0, x1, x2, ...
A(lice)
Klartext
f*(y, d)
erzeugterSession Key
x0, x1, x2, ...
Klartext
y0, y1, y2, ...Geheimtext
B(ob)
empfangenerSession Key
g(s, e)s
Session Key
g*(t, d) s
Session Key
tverschlüsselter Session
Key
e
öffentlicher Schlüsselvon Bob
t; y0, y1, y2, ...y0, y1, y2, ...
t
d
privater Schlüsselvon Bob
Geheimtext
verschlüsselter Session Key
Einfaches asymmetrisches
Schlüsselmanagement
Schnelles symmetrisches
Chiffrierverfahren
37
AES - ein modernes symmetrisches Ch.
38
RSA - ein modernes asymetrisches Ch.
39 Entwicklung neuer Verfahren
Am 2. Januar 1997 wurde die Entwicklung eines neuen Chiffriersystems vom amerikanische Handelsministerium ausgeschrieben. Insgesamt wurden bis zum Abgabeschluss am 15. Juni 1998 fünfzehn Vorschläge aus aller Welt eingereicht. Auf einer Konferenz wurden die Chiffrierverfahren dann vorgestellt und öffentlich diskutiert. Fünf der Kandidaten (MARS, RC6, Rijndael, Serpent, Twofish) kamen in die nächste Runde. Weitere Analysen führten dazu, dass der Rijndael-Algorithmus zum Sieger erklärt wurde und heute im AES-Verfahren benutzt wird.
Interessant ist hier, dass man bei der Entwicklung neuer Verfahren gar nicht erst versucht, die Verfahren selbst geheim zu halten. Im Gegenteil, die Verfahren werden zur öffentlichen Diskussion allen Experten zur Verfügung gestellt. Nur die Verfahren, die eine solche Prüfung bestehen, haben eine Chance, in moderen Chiffriersystemen verwendet zu werden.
40 Das Prinzip von Kerckhoff
Kerckhoff:
Die Sicherheit beruht auf der Geheimhaltung des Schlüssels, nicht des Verschlüsselungsverfahrens
Das Prinzip von Kerckhoff ist ein grundlegendes Prinzip, das bei der Entwicklung moderner Chiffriersysteme benutzt wird. Es besagt: Die Sicherheit eines Chiffriersystems darf nicht davon abhängen, ob das benutzte Verfahren zum Ver- und Entschlüsseln bekannt ist. Die Sicherheit soll nur auf der Geheimhaltung von Schlüsseln beruhen.
„security by obscurity“:
Die Sicherheit beruht auf der Geheimhaltung des verwendeten Verschlüsselungsverfahrens
Kriterien für gute Chiffrierverfahren:
Sie beruhen auf dem Kerckhoffs-Prinzip.
Sie werden von Kryptologen (bzw. -analytikern) weltweit untersucht.
Sie durchlaufen erfolgreich alle möglichen Angriffszenarien.
41 Teil 4
Experimente mit GnuPG
42 GnuPG
„GnuPG ist derzeit eine der sichersten Anwendungen zum Verschlüsseln und Signieren von Daten. Bei sorgfältiger Anwendung ist eine Verschlüsselung mit GnuPG auch in absehbarer Zukunft nicht zu knacken. Im Gegensatz zu anderen Verschlüsselungsprogrammen wie beispielsweise PGP von der Firma NAI ist GnuPG freie Software. Das bedeutet unter anderem, daß der Programm-Quellcode frei verfügbar, frei von Patenten und frei von einschränkenden Lizenzbedingungen ist. Jeder Anwender kann so das Programm auf seine Integrität hin prüfen. Das heißt beispielsweise, daß sich Hintertüren (Key Recovery) oder 'Generalschlüssel' (Key Escrow) nicht versteckt einbauen lassen und jeder Anwender die Möglichkeit hat, Fehler zu beseitigen, das Programm zu verbessern oder nach seinen Vorstellungen zu verändern. Darüberhinaus ist GnuPG nicht - wie beispielsweise amerikanische Verschlüsselungsprogramme - durch Ausfuhrbestimmungen künstlich in seiner Funktionalität und Sicherheit beschränkt.“Quelle: http://www.gnupg.de/gph/de/manual/x54.html
GnuPG gibt es für verschiedene Betriebssysteme. Gpg4win ist ein Windows-Installationspaket für die Verschlüsselungssoftware GnuPG sowie zugehörige Anwendungen und Dokumentation. Wenn man das Windows-Installationspaket Gpg4win ausführt, wird neben GnuPG auch eine Programm mit dem Namen Kleopatra installiert. Dieses Programm stellt dem Benutzer eine grafische Oberfläche zur Ausführung von GnuPG-Befehlen zur Verfügung und erleichert so den Umgang mit GnuPG. Wir werden im Folgenden dieses Programm benutzen.
43 Zielsetzung
Hallo Bob,
können wir uns heute Abend um 8 Uhr treffen?
LG Alice
A(lice)
Klartext
öffentlicher Schlüsselvon Bob
Klartext
…
GeheimtextVerschlüsselungsfunktion Entschlüsselungsfunktion
B(ob)
privater Schlüsselvon Bob
Hallo Bob,
können wir uns heute Abend um 8 Uhr treffen?
LG Alice
Wir benutzen ein modernes asymmetrisches Chiffriersystem, um verschlüsselte Nachrichten (wie in der Abbildung gezeigt) auszutauschen.
44 Schlüssel erzeugen
Mit den Menüpunkten [Datei][Neues Zertifikat...][Persönliches OpenPGP-Schlüsselpaar erzeugen] wird man aufgefordert, Namen und E-Mail-Adresse einzugeben.
Gib den Namen in der Form Vorname Name (z.B. Alice Schwarz) ein.
45 Schlüssel erzeugen
Mit den Menüpunkten [Weiter][Schlüssel erzeugen] wird man aufgefordert, eine Passphrase festzulegen.
Damit der geheime Schlüssel nicht von anderen missbraucht werden kann, wird er von GnuPG mit einem symmetrischen Verfahren verschlüsselt. Den Schlüssel gibt man als Passphrase selbst ein.
z.B.
I.d.M.g.e.h.K!In der Mensa gibt es heute Kartoffelbrei.
46 Schlüssel erzeugen
Nach Eingabe der Passphrase werden die Schlüssel erzeugt. Genau genommen werden hier Zertifikate erstellt. Jetzt sollte man eine Sicherheitskopie des geheimen Zertifikats (mit dem geheimen Schlüssel) anfertigen. Damit er nicht in falsche Hände gerät, sollte man diese Sicherheitskopie auf einem externen Datenträger speichern.
47 Öffentlichen Schlüssel exportieren
Mit [Zertifikate exportieren …] kann Bob jetzt seinen öffentlichen Schlüssel exportieren und ihn an Alice weitergeben oder an einem vereinbarten Ort hinterlegen.
48 Schlüssel anschauen
Mit einem Texteditor kann man sich den öffentlichen Schlüssel anschauen.
-----BEGIN PGP PUBLIC KEY BLOCK-----Version: GnuPG v2.0.22 (MingW32)
mQENBFK1RQ8BCADB5rL1lniAC7LeQ+4u31rGk5+EtpY1izBOqu9+HLqKxFivgm+XCZddL6UjCb+3rtVlAm+66qfvkJatm34eAypasy0xMF8QrA1EpM6Uw0ewwM0k/JVM2tSv/RgX/IQdHowIphN8TVP4rGwd/tJrU7c/vitytS4ohWxOqvW4oaRj8nOicNuS04cDBUEg8BzGasLS7SjSTrJH/zKjAzCkjsZw8HWcB7NJ/Q5RouGmngsfQM9njbhm9fySmz+hBPpY6cwPXjBNt5H6U42Rig0z5EjZS8TUQhKPuZetzi9Uyv3FwdOAl9oOBJ9Mzy+CcOeEo3/6Mt3ebUxKKd34c4aBIXrDABEBAAG0EUJvYiBELiA8Ym9iQGQuZGU+iQE5BBMBAgAjBQJStUUPAhsPBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQbyilC9+xbYuYnwf/bLouQ2gAdSmP2EWgrXVeZff88k8f4+CXQ3vX+bKJHqx8HRtY/IDY1Xjk73Ow5qkbHs3ZvJ8rGBSDBWVCSZXRe3DDptEDsnkLhOxvJ1YCYPSoYmmmydkVbg6Zz/IeJQcBMcuiIIybvAEVlzx46ABrYbMB8RcwjUQcPRvLNZdVwg54t8P/CrUDQMTyGWx/L9LCI+FsET9HHb56DWQQsaYGJizgtFOUWL46dqdB2ln8eR5k06zYsadrPm8dtAIPWgZS5wz/IT5cdgkmJe5LZeyFBQ68U1c/3CBDFdJP1ia6rWXwYsM6NRq9lqtHDXjSC10nxq0EFpmNzgKldt3uaWsFKQ===0HQt-----END PGP PUBLIC KEY BLOCK-----
49 Öffentlichen Schlüssel importieren
Mit [Datei] [Zertifikate importieren …] kann der Alice jetzt den öffentlichen Schlüssel von Bob importieren.
50 Nachricht schreiben
Mit einem Texteditor erstellt Alice die Nachricht und speichert sie in einer Textdatei ab.Hallo Bob,
können wir uns heute Abend um 8 Uhr treffen?
LG Alice
51 Datei verschlüsseln
Mit [Dateien signieren/verschlüsseln …] verschlüsselt Alice die Datei mit der Nachricht.
52 Verschlüsselte Datei anschauen
Mit einem Texteditor kann man sich die verschlüsselte Nachricht anschauen. Alles klar?-----BEGIN PGP MESSAGE-----Version: GnuPG v2.0.22 (MingW32)
hQEMA28opQvfsW2LAQf+Pux1E0rWVzCx4TlWBYJuZLMYzgX1l1SAYs9ax0IAJAZUwh3v9K+JY94N+uHg68RE3y/KJ/NnFHT6wkZTMBvP3cUtRZRZOgTazrb2ecuXEErYKw4aJU+6FgFdeh38hfdf5+Dx2twfE+C5Y2jw2b2IPozreoItxPr7Tu+DN0pjaDDq7YjbKQuyMvPBmpA4m4VeqLBP9fyhMPkq0QbDHvGljmFxhZfI40NaDQakU+jlIYtmMzyuR1MUUI5W22YLWpkzsCp1YYFExXSMH0htJCM8TXdJ7zc1ot3GahipLtwTlvAyheeocqnBLTrX9TH9+iNjJhUiKNpzKcYr4sS0/A6oQdJ9AVBuKj/TavBZwy02yGvCpnC9+GVVL5mY4O7rn81XK7VAbB+3i6KQfoGLe68OpSa6EmdkBt1xBe+x1MNZ7GH0SLgNpxL9s3IYOOvUX1vK2UAcgYn1fxrAKw/vKQ1gegXJ1hbhPy1gnXWAdjdyihheq3LGTopRiLvrHB1SXwA==HrgW-----END PGP MESSAGE-----
53 Datei entschlüsseln
Mit [Dateien entschlüsseln/überprüfen …] kann Bob die von Alice verschlüsselte und an Bob geschickte Nachricht entschlüsseln.
54 Nachricht anschauen
Mit einem Texteditor kann Bob sich die Nachricht von Alice anschauen.
Hallo Bob,
können wir uns heute Abend um 8 Uhr treffen?
LG Alice
55 Teil 5
Digitale Signatur
56 SicherheitsproblemeAn: KB@gmx.deVon: DieBilligeBank@t-online.deBetrifft: Kontoeröffnung
Sehr geehrte Herr Becker,
Sie haben mit Ihrer Mail vom 1.1.2014 ein Konto bei unserer Bank beantragt. Wir danken Ihnen für das Vertrauen in unsere Bank. Selbstverständlich können wir Ihnen ein Konto einrichten. Die Kontonummer lautet: 314 216. Sie erhalten demnächst per Post eine Kreditkarte (Geheimzahl 9138). Für die Einrichtung des Kontos müssenwir Ihnen einen Unkostenbetrag von 50 Euro in Rechnung zu stellen. Wir haben diesen Betrag bereits von Ihrem Konto abgebucht. Bitte zahlen Sie diesen Betrag schnellstmöglich auf Ihr Konto ein.
Mit freundlichen Grüßen
P. Theuerkauf(Leiter der Service-Abteilung)
Authentizität: Stammt die Nachricht wirklich von der BilligenBank, oder erlaubt sich hier jemand einen Scherz?
Integrität: Hat jemand die Nachricht manipuliert (z.B. die PIN geändert)?
Verbindlichkeit: Die Bank behauptet, die PIN nicht mitverschickt zu haben.Stimmt das?
Vertraulichkeit: Wurde die Nachricht abgefangen und von einer unbekannten Person gelesen?
57 Ein einfaches Signiersystem
x0, x1, ...
A(lice)
Text
B(ob)
f* dprivater Schlüsselvon Alice
feöffentlicher
Schlüsselvon Alice
x0, x1, ...
y0, y1, y2, ...
verschlüsselter Text
y0, y1, ...
y0, y1, ...
x0, x1, ...
Aufgabe:
(a) Wie kann Bob jetzt feststellen, ob jemand die Nachricht (bestehend aus den beiden Textteilen) verändert hat?
(b) Kann Bob auch feststellen, ob die Nachricht von Alice stammt?
58 Ein verbessertes Signiersystem
x0, x1, ...
A(lice)
Text
B(ob)
feöffentlicher
Schlüsselvon Alice
x0, x1, ... z
z
f*
Fingerabdruck des Textesy
h
zverschlüsselt
erFingerabdruc
k
dprivater Schlüsselvon Alice
y
Aufgabe:
Muss Alice wirklich den gesamten Text verschlüsseln? Würde es nicht reichen, wenn Alice eine Art Fingerabdruck des Textes erzeugen würde und diesen Fingerabdruck in verschlüsselter Form mitverschicken würde?
59 Signiersysteme
x0, x1, ...
A(lice)
Text
Hash-Funktion
B(ob)
f*
Hash-Wert als
Fingerabdruck des Textes
y
h
zverschlüsselt
erHash-Wert
als Signatur
dprivater Schlüsselvon Alice
x0', x1', ...
Mr(s) X
f
y'
h
y''
Überprüfung des berechneten und entschlüsselten
Hash-Werts
e
öffentlicher Schlüsselvon Alice
z'
Hash-Funktion
?=
x0, x1, ... z x0', x1', ... z'
60 Signiersysteme
Ein Signiersystem ist ein System zur Erzeugung einer digitalen Signatur. Mit deren Hilfe kann ein Empfänger feststellen, ob eine Nachricht tatsächlich vom angegebenen Absender stammt und ob sie unverändert beim Empfänger angekommen ist. Alice will eine signierte Nachricht an Bob senden. In einem ersten Schritt erzeugt sie mit Hilfe einer Hash-Funktion einen Fingerabdruck des zu versendenden Textes. Bei dem Fingerabdruck handelt es sich um ein Bitmuster, das dem Text zugeordnet wird. Diesen Fingerabdruck verschlüsselt Alice mit ihrem privaten Schlüssel. Das Ergebnis ist ein Bitmuster, das die digitale Signatur zum vorgegebenen Text bildet. Alice sendet jetzt den Text mit der digitalen Signatur an Bob. Wie überprüft Bob die Authentizität und Integrität der erhaltenen Nachricht? Bob benutzt dieselbe Hash-Funktion wie Alice, um einen Fingerabdruck zum übermittelten Text zu erzeugen. Bob ist im Besitz des öffentlichen Schlüssels von Alice und benutzt ihn, um die übermittelte Signatur zu entschlüsseln. Wenn die Nachricht nicht verändert wurde, dann erhält Bob durch die Entschlüsselung der Signatur den von Alice erzeugten Fingerabdruck zum versendeten Text. Dieser ist dann identisch mit dem von Bob bestimmten Fingerabdruck zum empfangenen Text. Wenn die Nachricht in Teilen verändert wurde, dann müsste das Bob beim Vergleich der Fingerabdrücke auffallen. Wenn X. z.B. den Text abändert, dann ändert sich auch der Fingerabdruck zum Text. X. kann zwar einen Fingerabdruck zum veränderten Text erzeugen, X. kann ihn aber nicht passend verschlüsseln, da X. keinen Zugang zum privaten Schlüssel von Alice hat (davon gehen wir hier natürlich aus). X. ist demnach nicht in der Lage, ein stimmiges Paar bestehend aus einem veränderten Text und einer hierzu passenden mit dem privaten schlüssel von Alice erzeugten Signatur zu erzeugen.
61 Fingerabdruck im Alltag
Fingerabdrücke werden benutzt, um Personen mit wenigen Eigenschaften zu identifizieren.
Wenn zwei Fingerabdrücke identisch sind, dann geht man davon aus, dass sie von derselben Person stammen.
62 Digitaler Fingerabdruck
„Digitale Fingerabdrücke“ werden benutzt, um Nachrichten (elektronische Dokumente) mit wenigen Bits zu identifizieren.
Wenn zwei digitale Fingerabdrücke identisch sind, dann geht man davon aus, dass sie von derselben Nachricht stammen.
Hallo Bob,können wir uns heute Abend um 8 Uhr treffen? LG Alice
7F E0 6F BF 68 34 F4 14 A6 08 EA D4 C0 B3 6E 42 A3 FD F1 28
63 Experimente mit CrypTool
Gib in der Datei „startbeispiel-de.txt“ den gewünschten Originaltext ein.
Öffne mit [Einzelverfahren] [Hashverfahren] [Hash-Demo …] [SHA-1 …] das Experimentierfenster.
64 Experimente mit CrypTool
Aufgaben:
(a) Erzeuge entsprechend einen digitalen Fingerabdruck zu verschiedenen vorgegebenen Texten. Überzeuge dich, dass der erzeugte Fingerabdruck immer dieselbe Größe hat.
(b) Ändere den vorgegebenen Text geringfügig ab (z.B. durch Einfügen eines Leerzeichens) und beobachte, wie sich der digitale Fingerabdruck verändert.
(c) Hier ein digitaler Fingerabdruck zum Antworttext von Alice:
38 8C D5 4E B5 59 99 60 95 13 48 74 17 78 C3 04 68 5A 64 0D
Kannst du den Text zu diesem Fingerabdruck rekonstruieren
(d) Versuche einmal, noch einen Text zu erzeugen, der den oben gezeigten Fingerabdruck hat.
7F E0 6F BF 68 34 F4 14 A6 08 EA D4 C0 B3 6E 42 A3 FD F1 28
(e) Begründe: Es muss verschiedene Texte geben, die den gleichen digitalen Fingerabdruck haben.
65 Hash-Funktion
Eine Hash-Funktion ist eine Funktion, die Zeichenketten neue Zeichenketten einer fest vorgegebenen Länge zuordnet.
Hallo Bob,können wir uns heute Abend um 8 Uhr treffen? LG Alice
SHA-1
7F E0 6F BF 68 34 F4 14 A6 08 EA D4 C0 B3 6E 42 A3 FD F1 28
Beispiel:
Die Hash-Funktion SHA-1 ordnet jeder Zeichenkette (jedem Text) ein Bitmuster bestehend aus 160 Bit (hier dargestellt als Hedadezimalzahl) als Hash-Wert zu.
Hash-Funktionen reduzieren in der Regel eine größere Datenmenge (wie einen Text) auf einen kleineren Datensatz mit vorgegebener Größe (wie ein 160-Bit-Muster).
66 Anforderungen an Hash-Funktionen
Eine Hash-Funktion sollte eine Einwegfunktion sein.Bei einer Einwegfunktion ist es praktisch unmöglich, aus einem möglichen Zielwert einen Ausgangswert so zu bestimmen, dass der Zielwert Funktionswert zum Ausgangswert ist.
Eine Hash-Funktion sollte kollisionsresistent sein. Eine Funktion ist kollisionsresistent, wenn es praktisch unmöglich ist, zwei verschiedene Ausgangswerte zu finden, die denselben Funktionswert haben.
67 Teil 6
Experimente zum sicheren E-Mail-Austausch
68 Thunderbird
Wir benutzen hier das E-Mail-Programm Thunderbird (in einer Portable-Version) mit den Erweiterungen GnuPG und Enigmail (siehe http://www.thunderbird-mail.de/wiki/Enigmail_OpenPGP).
69 Konto einrichten
In einem ersten Schritt musst du ein E-Mail-Konto einrichten.
70 Schlüssel erzeugen
Mit der integrierten GnuPG-Software kannst du jetzt ein neues Schlüsselpaar erzeugen (oder ein bereits vorhandenes Schlüsselpaar inegrieren). Benutze z.B. [OpenPGP] [OpenPGP-Assistent] .
71 Einstellungen vornehmen
Der OpenPGP-Assistent unterstützt dich bei der Wahl der Einstellungen.
72 Schlüssel exportieren
Rufe [Schlüssel verwalten …] auf und wähle deinen Schlüssel aus. Mit der rechten Maustaste die Menupunkte [in Datei exportieren] [Nur öffentlichen Schlüssel exportieren] auswählen. Veröffentliche deinen öffentlichen Schlüssel an einem vereinbarten Ort.
73 E-Mails versenden
Jetzt kann es losgehen. Du kannst jetzt signierte E-Mails verschicken, die dann vom Empfänger mit deinem öffentlichen überprüft werden.
-----BEGIN PGP SIGNED MESSAGE-----Hash: SHA1
Hallo KB,
die E-Mails von inf-schule sind jetzt signiert.
Ein Gruß vom inf-schule-Team-----BEGIN PGP SIGNATURE-----Version: GnuPG v1.4.11 (MingW32)Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iQEcBAEBAgAGBQJStp29AAoJEBAfzzKi+1n17GAH/2OXcWepQPK3rKKuA5ZnlIavqXqB6rA4uZBN/eZPnlxbkeP974UloEINylByNGp9yRdvVxrvujssCTuMwmfpXecmg4QY/09MP39aYdKIS4qNDsqFYodeT6NIm/e9c7igh1Twlp8cE1UZnlMu8XN6AUj1b5DbG/Nnl44E+dvus7oOFmUr9K84OXTDanSgoCKetTP8txkq+h4KKZbpQrJDqjLMmPfjkHp5Zyb0KK0S7ihu/YyndgcwTlX9I1Xj9WRAAZiRy9xCNcm0VpqkYDvb4sl/+s0xZLNMZFQLMcGR4e27gSQYwMzQtc4xQTYEdNrhFdYKU8eKoKmO1av+qW+D1H4==bNOY-----END PGP SIGNATURE-----
74 Aufgaben
Erzeuge zunächst ein E-Mail-Konto. Verwende als Benutzernamen den Nachnamen. Erzeuge ein Schlüsselpaar und veröffentliche den öffentlichen Schlüssel im Verzeichnis ….
Teste das E-Mail-Programm. Schicke hierzu dem Nachbarn eine signierte Nachricht. Schicke dem Nachbarn auch eine verschlüsselte Nachricht.
75 Teil 7
Sicherheitsinfrastruktur
76 Vertrauen in Schlüssel
Andreas, Annika, Jens, Katharina, Malte und Tanja haben ihre öffentlichen Schlüssel in ein gemeinsam zugängliches Verzeichnis kopiert, so dass jeder sich die benötigten öffentlichen Schlüssel kopieren kann. Irgendetwas stimmt hier aber nicht!
77 Öffentliche Schlüsselserver
Öffentliche Schlüssel von Kommunikationspartnern kann man sich auch auf Schlüsselservern wie z.B. sks-keyservers.net besorgen.
78 Vertrauen in Schlüssel
Auch hier tritt das Problem auf, dass man nicht weiß, ob der veröffentlichte Schlüssel tatsächlich zu der angegebenen Person gehört.
79 Schlüssel überprüfen
Wenn der öffentliche Schlüssel dir direkt von einem (vertrauenswürdigen) Bekannten übergeben wird, dann kannst du (in der Regel) von einem echten Schlüssel ausgehen.
Wenn du einen öffentliche Schlüssel über ein unsicheres Kommunikationsmedium (z.B. per E-Mail) erhalten hast oder von einem Schlüsselserver heruntergeladen hast, dann solltest du dich vergewissern, ob die Angaben zum Eigentümer stimmen. Du kannst dich z.B. mit der Person treffen (oder - wenn du die Stimme eindeutig erkennst - mit der Person telefonieren) und einen Datenabgleich machen.Beim Datenabgleich solltest du folgende Schlüsselangaben genauestens überprüfen:
Schlüssel-ID
Fingerabdruck des Schlüssels
evtl. Erstellungsdatum und Gültigkeitsdauer
80 Schlüssel zertifizieren
Erst wenn du die Echtheit eines Schlüssels genauestens geprüft hast bzw. wenn du ganz sicher bist, dass ein Schlüssel zu einer bestimmten Person gehört, dann solltest du den betreffenden Schlüssel zertifizieren. Einen Schlüssel zertifiziert man, indem man ihn mit einer digitalen Signatur versieht.
81 Web of Trust
Durch das Zertifizieren von Schlüsseln lässt sich ein Vertrauensnetz aufbauen.
82 Übungen
Im E-Mail-Programm lässt sich die Vertrauenswürdigkeit von Schlüsseln festlegen. Experimentiere mit den Möglichkeiten, die das E-Mail-Programm bietet.
83 (wo)man-in-the-middle-Angriff
A(lice) B(ob)
Hallo Bob! Wie lautet dein öffentlicher Schlüssel? Alice
B-public-key
Meine Kreditkartennummer lautet: 2101
Vielen Dank! Bob
Mr(s) X
B-public-key
private-key-B
B-public-key private-key-B
B-public-key private-key-B
Bob hat sich ein Schlüsselpaar bestehend aus einem öffentlichen und einem privaten Schlüssel erzeugt. Bob schickt seinen öffentlichen Schlüssel auf Anfrage an Alice. Alice benutzt nun diesen Schlüssel, um ihre Kreditkartennummer an Bob zu verschicken. Bob bestätigt den Erhalt der Kreditkartennummer mit einer signierten Nachricht.
Aufgabe:Beurteile die Sicherheit des beschriebenen Szenarios: Kann sich Alice sicher sein, dass sie wirklich Bobs öffentlichen Schlüssel erhält?
84 (wo)man-in-the-middle-Angriff
Aufgabe:Warum merkt Alice hier nichts vom (Wo)Man in the middle Angriff? Worin besteht die Schwierigkeit? Siehst du Lösungsansätze?
A(lice) B(ob)
Hallo Bob! Wie lau-tet dein öffentlicher Schlüssel? Alice
Mr(s) X
Hallo Bob! Wie lau-tet dein öffentlicher Schlüssel? Alice
B-public-keyX-public-key
Meine Kreditkarten-
nummer lautet2101. Alice
Meine Kreditkarten-
nummer lautet 2101. Alice
Vielen Dank!
Bob
Danke!
Bob
B-public-key
private-key-B
private-key-X
X-public-key
X-public-key
X-public-key
private-key-X
private-key-X
B-public-key
B-public-key
private-key-B
private-key-B
85 Lösung mit Zertifizierungsinstanz
Kannst du mir deinen öffentlichen Schlüssel schicken. Alice
Benutze den symmetrischen Schlüssel ZEBRA. Alice
Habe den Schlüssel erhalten! Bob
Meine Kreditkartennummer lautet 2101. Alice
Vielen Dank! Bob
CA(rl) Bob
B-public-key
private-key-B
CA-public-key
private-key-CA
B-public-keyprivate-key-CA
Bob B-public-keyprivate-key-CA
CA-public-key
Bob B-public-keyprivate-key-CACA-public-key
private-key-BB-public-key
symmetric-keysymmetric-key
symmetric-key
symmetric-key
symmetric-key
symmetric-key
A(lice) B(ob)
Mr(s) X
86 Lösung mit Zertifizierungsinstanz
Aufgabe:Alice und Bob benutzen hier ein symmetrisches Chiffrierverfahren, um ihre geheimen Nachrichten vor Mr(s) X zu verbergen. Hat Mr(s) X eine Chance, die Nachrichten mitzulesen?
87 Zertifikate
Ein Public-Key-Zertifikat dient dazu, die Zugehörigkeit eines öffentlichen Schlüssels zu einem bestimmten Eigentümer zu bestätigen.
Ein Public-Key-Zertifikat enthält in der Regel eine ganze Reihe von Informationen, u a.:
den zu bestätigenden öffentlichen Schlüssel
den Eigentümer des Schlüssels
den Aussteller des Zertifikats
die benutzten kryptografischen Verfahren
die Gültigkeitsdauer des Zertifikats
...
eine digitale Signatur des Ausstellers zur Bestätigung aller Informationen
88 Zertifikate
Ein Public-Key-Zertifikat dient dazu, die Zugehörigkeit eines öffentlichen Schlüssels zu einem bestimmten Eigentümer zu bestätigen.
Certificate: Data: Version: 3 (0x2) Serial Number: 27:d6:e5:a2:94:e6:a7:b2:65:0a:18:ad:3a:0a:5e:7d Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=Thawte, Inc., CN=Thawte SSL CA Validity Not Before: Oct 27 00:00:00 2010 GMT Not After : Oct 27 23:59:59 2011 GMT Subject: C=DE, ST=Rheinland-Pfalz, L=Montabaur, O=1&1 Mail & Media GmbH, OU=GMX, CN=service.gmx.net Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:ca:6e:7c:8f:8f:a9:49:cf:d0:02:8f:c2:ee:01: ... Exponent: 65537 (0x10001)…
89 Weitergabe von Schlüsseln
Kannst du mir deinen öffentlichen Schlüssel schicken. Alice
B-public-key
Ist das wirklich Bobs Schlüssel?
A(lice) B(ob)
Bei dieser (unpersönlichen) Weitergabe des öffentlichen Schlüssels muss dann sichergestellt werden, dass der übergebene öffentliche Schlüssel tatsächlich zu der Person gehört, die sich als Eigentümer ausgibt.
90 Weitergabe von Schlüsseln
Kannst du mir deinen öffentlichen Schlüssel schicken. Alice
A(lice) B(ob)
Bob B-public-keyprivate-key-CACA-public-key
Hierzu benutzt man Zertifikate. Mit einem (Public Key) Zertifikat wird die Authentizität eines öffentlichen Schlüssels gewährleistet. Eine vertauenswürdige Instanz beglaubigt mit ihrer digitalen Signatur, dass der öffentliche Schlüssel tatsächlich zur Person gehört, die sich als Eigentümer ausgibt.
Der Empfänger eines Zertifikats hat jetzt die Möglichkeit, den signierten Schlüssel (mit Angabe des Eigentümers) zu überprüfen.
91 Ausstellen von Zertifikaten
Zertifikate werden von sogenannten Zertifizierungsstellen (engl. certification authority, kurz CA) ausgestellt. Das sind vertrauenswürdige Organisationen, die gegen eine Gebühr vorgelegte öffentliche Schlüssel überprüfen und signieren.
Hi! Ich bin Bob. Hier ist mein öffentlicher Schlüssel. Können Sie sich
ausweisen?
Klar. Hier ist mein Ausweis.
Ok! Unsere Zertifizierungsstelle
erstellt dann ein Zertifikat.
B-public-key
private-key-B
B-public-key
Bob
CA-public-key
private-key-CA
Bob B-public-keyprivate-key-CA
Bob B-public-keyprivate-key-CA Hier das gewünsch-te
Zertifikat!
B(ob) CA:Zertifizierungs-
instanz
92 Überprüfen von Zertifikaten
Zertifikate werden überprüft, indem man die digitale Signatur der Zertifizierungsstelle überprüft. Hierzu benötigt man den öffentlichen Schlüssel der Zertifizierungsstelle.
Kannst du mir deinen öffentlichen Schlüssel schicken. Alice
Zum Überprüfen benötige ich ihren öffentlichen Schlüssel. Alice
Ok!
A(lice) B(ob)
CA:Zertifizierungs-
instanz
Bob B-public-keyprivate-key-CA
CA-public-key
Bob B-public-keyprivate-key-CACA-public-key
93 Zertifizierungskette
Kannst du mir deinen öffentlichen Schlüssel schicken. Alice
Zum Überprüfen benötige ich ihren öffentlichen Schlüssel. Alice
Zum Überprüfen benötige ich ihren öffentlichen Schlüssel. Alice
Zum Überprüfen benötige ich ihren öffentlichen Schlüssel. Alice
A(lice) B(ob)
CA1
Bob B-public-keyprivate-key-CA1
CA1 CA!-public-keyprivate-key-CA2
CA2
CA2 CA2-public-keyprivate-key-CA3
CA3
CA3 CA3-public-keyprivate-key-CA3
94 Browser-Experimente