Public Key Infrastructure - h_da · 2017. 8. 28. · Public Key Infrastructure Dr. Christian...

23
IT-Sicherheit Kapitel 5 Public Key Infrastructure Dr. Christian Rathgeb Sommersemester 2014 1 IT-Sicherheit Kapitel 5 Public Key Infrastructure

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