Public Key Infrastructure - h_da · 2017. 8. 28. · Public Key Infrastructure Dr. Christian...
Transcript of Public Key Infrastructure - h_da · 2017. 8. 28. · Public Key Infrastructure Dr. Christian...
-
IT-Sicherheit
Kapitel 5
Public Key Infrastructure
Dr. Christian Rathgeb
Sommersemester 2014
1 IT-Sicherheit – Kapitel 5 – Public Key Infrastructure
-
2
• Problembetrachtung:
• Alice bezieht den Public Key von Bob aus einem öffentlichen Verzeichnis, verschlüsselt eine Nachricht und sendet sie an Bob.
• Woher weiß Alice, dass es sich wirklich um den öffentlichen Schlüssel von Bob handelt? → Es fehlt also die Authentizität des öffentlichen Schlüssels!
• Mit Public-Key-Infrastruktur (PKI) bezeichnet man in der Kryptologie ein System, das digitale Zertifikate ausstellt, verteilt und prüft.
IT-Sicherheit – Kapitel 5 – Public Key Infrastructure
Einführung
-
3
• Man-in-the-Middle-Attack:
1. Alice fordert den Public Key von Bob an.
2. Bob sendet PubB an Alice.
3. Mallory fängt den Key PubB ab und schickt Alice ihren eigenen Public Key PubM.
4. Alice verschlüsselt (unwissend) eine Nachricht mit PubM und sendet diese an Bob.
5. Mallory fängt die Nachricht ab, entschlüsselt sie mit ihrem Private Key PrivM, liest sie, und schickt sie verschlüsselt mit PubB an Bob.
• Diese Attacke funktioniert auch, wenn die Schlüssel in einem öffentlichen Verzeichnis liegen → Mallory muss dieses nur vorher manipulieren!
IT-Sicherheit – Kapitel 5 – Public Key Infrastructure
Einführung
-
4
• Um öffentliche Schlüssel eindeutig einer Person oder Instanz
zuordnen zu können, führt man eine unabhängige
Vertrauensinstanz ein, die Certification Authority (= CA), oder
auch Trust Center genannt (oft auch Trent).
• Die CA kombiniert den öffentlichen Schlüssel PubA eines
Teilnehmers A mit Identifizierungsmerkmalen DataA und signiert
diese Kombination. Den entstehenden Datensatz bezeichnet man
als Zertifikat:
CertA = {DataA, PubA, SigA}
IT-Sicherheit – Kapitel 5 – Public Key Infrastructure
Public Key Zertifikate
-
5
• Vorgangsweise:
• Personalisierung:
1. Alice sendet PubA und DataA an die Certification Authority.
2. CA berechnet SigA := GENSIG(PrivCA, DataA||PubA) und
CertA := {DataA, PubA, SigA} und sendet CertA und PubCA an Alice.
• Zertifikatsüberprüfung:
1. Alice sendet CertA = {DataA, PubA, SigA} an Bob.
2. Bob berechnet und prüft VERFIYSIG(SigA, PubCA).
• Personalisierung geschieht in einer gesicherten Umgebung!
IT-Sicherheit – Kapitel 5 – Public Key Infrastructure
Public Key Zertifikate
-
6
• Personalisierung:
• Zertifikatsüberprüfung:
IT-Sicherheit – Kapitel 5 – Public Key Infrastructure
Public Key Zertifikate
-
7
• Certificate Revocation List (=CRL):
• Für kompromittierte private Schlüssel muss es die Möglichkeit
geben, die entsprechenden Zertifikate aus dem
Schlüsselverzeichnis zu entfernen.
• Neben dem Schlüsselverzeichnis wird daher auch eine CRL
geführt, die bei der CA abgerufen werden kann.
• Die CRL enthält die Liste der Zertifikatsnummern der gesperrten
Zertifikate und ist von der CA digital signiert.
• Die Teilnehmer rufen die CRL regelmäßig ab und können damit die
Gültigkeit der Zertifikate anderer Teilnehmer überprüfen.
IT-Sicherheit – Kapitel 5 – Public Key Infrastructure
Public Key Zertifikate
-
8
• Verschlüsselung und Signatur:
• Gelingt es einen Angreifer den privaten Signaturschlüssel eines
Teilnehmers (zB SigA) heraus zu finden, dann kann er sich damit
als dieser Teilnehmer ausgeben.
• Im Falle des privaten Schlüssels für eine Entschlüsselung (zB
PrivA) kann er „nur“ die für den Teilnehmer bestimmten Daten lesen.
• Signaturschlüssel haben höhere Anforderungen an die Sicherheit
als Schlüssel für eine Verschlüsselung.
• Daher sollten verschiedene Schlüssel für Verschlüsselung und
Signatur verwendet werden.
IT-Sicherheit – Kapitel 5 – Public Key Infrastructure
Public Key Zertifikate
-
9
• Zeitstempeldienst:
• Wie kann ein Teilnehmer A feststellen, ob eine Signatur eines
Teilnehmers B vor dem Rückruf des Zertifikats von B erstellt wurde?
• Eine CRL oder eine Datumsangabe löst dieses Problem NICHT, denn
im Falle der Kompromittierung des Schlüssels kann ein Angreifer
Signaturen zurückdatiert fälschen!
• Die Lösung ist die Einführung eines unabhängigen
Zeitstempeldienstes. Im Allgemeinen übernimmt die CA diese Aufgabe.
• Die CA signiert das Dokument plus Signatur zusammen mit einer
Zeitangabe. Das Ergebnis heißt Zeitstempel.
IT-Sicherheit – Kapitel 5 – Public Key Infrastructure
Public Key Zertifikate
-
10
• Standard Notation und Typen:
• Bezeichnung für das Zertifikat des Users X, ausgestellt von der
Certification Authority Y: Y
IT-Sicherheit – Kapitel 5 – Public Key Infrastructure
Public Key Zertifikate
Y
Z
X
Domäne von Y
Y
Z
Y
Forward Certificate:
Zertifikat für diese Entität
(unten) bzw. CA von einer
anderen CA ausgestellt (oben)
Reverse Certificate:
Zertifikat für eine andere CA
von dieser CA ausgestellt
-
• Alice möchte Bob‘s öffentlichen Schlüssel überprüfen:
1) Alice holt sich das Zertifikat von Y, erstellt von X (X). Alice überprüft das Zertifikat von Y mit dem öffentlichen Schlüssel von X, dem sie vertraut. Nun kann Alice dem öffentlichen Schlüssel von Y vertrauen.
2) Alice holt sich das Zertifikat von Bob, erstellt von Y (Y). Alice überprüft das Zertifikat mit dem öffentlichen Schlüssel von Y.
• Insgesamt prüft Alice die Zertifikatskette: XY
Public Key Zertifikate
Alice
X
X
Bob
Y
Y
11 IT-Sicherheit – Kapitel 5 – Public Key Infrastructure
-
Beispiel:
Alice prüft Carols‘s Zertifikat: YZXV
Carol prüft Alice‘s Zertifikat: VXZY
Public Key Zertifikate
X Y
Alice Bob V
Carol Dave
W
Z
Z
Y
Y Y
Z
X
X
V
X
W
V V
12 IT-Sicherheit – Kapitel 5 – Public Key Infrastructure
-
• X.509 ist ein Standard für Public-Key Infrastructure.
• X.509 wurde erstmals 1988 veröffentlicht. (aktuelle Version: v3)
(Versionen werden in verschiedenen RFCs beschrieben)
• In dem Standard werden Formate von Public-Key Zertifikaten,
CRLs etc. spezifiziert
• In den folgenden Slides wird die Struktur eines X-509-v3-Zertifikats
und die einzelnen Bestandteile beschrieben.
X.509 Zertifikat
13 IT-Sicherheit – Kapitel 5 – Public Key Infrastructure
-
• Versionsnummer: beschreibt das verwendete Zertifikatsformat.
v1: Default-Wert; v2: Falls Aussteller-Identifikator oder Benutzer-
Identifikator vorhanden; v3: Falls Erweiterungen vorhanden.
• Seriennummer: eindeutiger Wert, der innerhalb der ausstellenden
CA dem Zertifikat eindeutig zugeordnet werden kann.
• Signaturalgorithmus-Identifikator: Algorithmus, der zum
Signieren des Public Keys verwendet wird. Die Parameter werden
auch angegeben. (Die Information ist redundant und wird im
Signaturfeld erneut angegeben.)
• Ausstellername: X.500-Name der CA, welche das Zertifikat erstellt
und signiert hat.
X.509 Zertifikat
14 IT-Sicherheit – Kapitel 5 – Public Key Infrastructure
-
• Gültigkeitsdauer: besteht aus zwei Datumsangaben zur
Festlegung des Zeitintervalls, in dem das Zertifikat gültig ist.
• Benutzername: Name des Benutzers für den das Zertifikat
ausgestellt ist. Dieser ist im Besitz des korrespondieren privaten
Schlüssels.
• Benutzerschlüsselinformation: enthält den öffentlichen
Schlüssel, die Parameter und die Information für welche
Algorithmen der Schlüssel verwendet wird.
• Aussteller-Identifikator: Ein optionaler Bitstring zur eindeutigen
Identifikation, falls der Ausstellername mehrfach verwendet wird für
verschiedene Entitäten; ab Version 2.
X.509 Zertifikat
15 IT-Sicherheit – Kapitel 5 – Public Key Infrastructure
-
• Benutzer-Identifikator: Ein optionaler Bitstring zur eindeutigen
Identifikation, falls der Benutzername mehrfach verwendet wird für
verschiedene Entitäten; ab Version 2.
• Erweiterungen: für Schlüssel- und Policy-Informationen; (ab
Version 3)
• Signaturfeld: enthält die digitale Signatur über den Hashwert der
anderen Felder, erstellt mit dem privaten Schlüssel der CA. Der
Signaturalgorithmus-Identifikator ist zusätzlich enthalten.
X.509 Zertifikat
16 IT-Sicherheit – Kapitel 5 – Public Key Infrastructure
-
X.509 Zertifikat
17 IT-Sicherheit – Kapitel 5 – Public Key Infrastructure
-
• Beispiel:
X.509 Zertifikat
18 IT-Sicherheit – Kapitel 5 – Public Key Infrastructure
-
• RFC 2822 (Internet Security Glossary) definiert eine Public Key
Infrastructure (= PKI) als eine Menge von
1. Hardware,
2. Software,
3. Personen,
4. Policies und
5. Methoden,
• um digitale Zertifikate basierend auf asymmetrischer Kryptographie
1. zu erzeugen,
2. zu verwalten,
3. zu verteilen und
4. zurückzuziehen.
Public Key Infrastructure
19 IT-Sicherheit – Kapitel 5 – Public Key Infrastructure
-
• Die Internet Engineering Task Force (IETF) hat eine Working Group
installiert „Internet X.509 Public Key Infrastructure“ (= PKIX), um
ein formales Modell einer PKI zu entwickeln, welches die Verwendung
von Zertifikaten im Internet erlaubt. (Aktuelle Version: RFC 5280)
• Architektur:
PKIX
20 IT-Sicherheit – Kapitel 5 – Public Key Infrastructure
-
• End Entity: Eine generische Bezeichnung für Benutzer (Person,
Hardware, Software, Server, Router, etc.), welche mit dem Zertifikat
identifiziert werden soll.
• Certification Authority: Der Aussteller der Zertifikate sowie der
CRL. Der CA können weitere administrative Aufgaben zugeordnet
werden. Oft werden Aufgaben an eine oder mehrere Registration
Authorities delegiert.
• Registration Authority: Eine optionale Komponente, welche
administrative Aufgaben (z.B. End Entity Registrierung) übernimmt.
• CRL Issuer: Eine optionale Komponente, welche von der CA die
Aufgabe der Veröffentlichung der CRLs übernimmt.
PKIX
21 IT-Sicherheit – Kapitel 5 – Public Key Infrastructure
-
• Repository: Eine generische Bezeichnung für eine Methode,
Zertifikate und CRLs zu speichern und der End Entity zugänglich zu
machen.
• Registration: Eine End Entity stellt sich bei der CA vor (direkt oder
über eine RA). Typischerweise werden gemeinsame Schlüssel für
eine weitere Authentifikation der End Entitiy vergeben.
• Initialization: Es werden auf dem Client System auf sicherem
Wege die öffentlichen Schlüssel der CA installiert.
• Certification: Die CA stellt ein Zertifikat für die End Entity aus und
gibt das Zertifikat an das Client System der End Entity zurück und
sendet das Zertifikat auch an das Repository.
PKIX
22 IT-Sicherheit – Kapitel 5 – Public Key Infrastructure
-
• Key Pair Recovery: Falls die privaten Schlüssel einer End Entity
verloren gehen, kann die CA die privaten Schlüssel wieder herstellen
aus einem autorisierten Schlüssel-Backup.
• Key Pair Update: Schlüssel müssen regelmäßig ausgetauscht werden
und neue Zertifikate müssen ausgestellt werden, z.B. bei
Kompromittierung oder Ablauf.
• Revocation Request: Falls z.B. private Schlüssel kompromittiert
werden, sich Benutzernamen oder die Zugehörigkeit ändert, kann die
CA angewiesen werden, Zertifikate für ungültig zu erklären. Diese
werden in der CRL hinterlegt.
• Cross Certification: Eine CA kann einer zweiten CA ein Zertifikat über
einem öffentlichen Schlüssel ausstellen. Mit dem dazugehörigen
privaten Schlüssel, kann die zweite CA selbst Zertifikate ausstellen.
PKIX
23 IT-Sicherheit – Kapitel 5 – Public Key Infrastructure