Public-Key-Infrastrukturen - CDC - Technische Universität Darmstadt
Transcription
Public-Key-Infrastrukturen - CDC - Technische Universität Darmstadt
T ECHNISCHE U NIVERSITÄT DARMSTADT FACHGEBIET T HEORETISCHE I NFORMATIK P ROF. D R . J. B UCHMANN J. B RAUN 7. Übung zur Vorlesung Public-Key-Infrastrukturen Sommersemester 2012 Aufgabe 1: Smartcards Wir betrachten folgendes Szenario: Sie wollen auf Ihrem PC eine E-Mail verschicken und diese zur Wahrung der Authentizität digital signieren. Zur Erstellung der Signatur verwenden Sie eine Smartcard mit einem geeigneten Signaturschlüssel und ein Kartenlesegerät (Class 3) mit eingebauter Tastatur und einem Display (2*12 Zeichen). Sie erstellen also zunächst die E-Mail in Ihrem Mailclient und setzen dann den Signiervorgang in Gang. Skizzieren Sie den Verlauf der Signaturerstellung! Insbesondere soll daraus hervorgehen, welche Daten wo errechnet werden, wohin sie übertragen werden und in welcher Reihenfolge dies geschieht. Aufgabe 2: Smartcards (2) Die Smartcard „E4 NetKey“ der Firma Telesec wird, wie in den Folien beschrieben, mit drei Schlüsselpaaren ausgeliefert. Dabei ist je eines für die Erlangung der Schutzziele Authentizität (z.B. Zugriff auf eine Webseite via SSL mit Clientauthentifizierung), Nicht-Abstreitbarkeit (z.B. Signatur eines Kaufvertrages) und Vertraulichkeit (z.B. verschlüsselte E-Mail) gedacht. Warum ist das sinnvoll? Überlegen Sie sich dafür, wie und wann die privaten Schlüssel jeweils eingesetzt werden! Aufgabe 3: Gültigkeitszeitraum Benutzen Sie für Ihre Antworten auch die Spezifikationen der Zertifikate und Sperrlisten im RFC 5280. Diese finden Sie unter http://www.ietf.org/rfc/rfc5280.txt oder auf der PKI-Homepage. a) Nennen Sie die Gültigkeitszeiträume der unten angegebenen Zertifikate. b) Müssen diese mit den Gültigkeitszeiträumen der Schlüssel übereinstimmen? Bewerten Sie dabei die keyUsage-Extension sowie die Informationen der CRL. 1 Serial No.: Issuer: NotBefore: NotAfter: Subject: Public Key: X509v3Extensions: Subject Alternative Name: Key Usage: Certificate Policy: Subject Key Identifier: Authority Key Identifier: Zertifikat 1 2593 CN=Uebung CA, OU=FB Informatik, O=TU Darmstadt, C=DE Jun 2 09:43:55 2004 GMT Jun 1 22:00:00 2005 GMT CN=Bob, OU=CDC, OU=FB Informatik, O=TU Darmstadt, C=DE key-0x4599AB34 email:bob@cdc.informatik.tu-darmstadt.de critical Digital Signature not critical 1.3.6.1.4.1.8301.1.1.1.3 keyIdentifier:99:13:D5:FD:90:31:7B:56:7F:BD keyIdentifier:0B:F8:2B:B7:B5:88:C8:03:7E:EB authorityCertIssuer:CN=Master CA, OU=FB Informatik, O=TU Darmstadt, C=DE authorityCertSerialNumber:03 Signature: verifiable with 0xC37C64C0 (SHA1withRSA) Serial No.: Issuer: NotBefore: NotAfter: Subject: Public Key: X509v3Extensions: Subject Alternative Name: Key Usage: Certificate Policy: Subject Key Identifier: Authority Key Identifier: Zertifikat 2 2594 CN=Uebung CA, OU=FB Informatik, O=TU Darmstadt, C=DE Jun 2 09:43:55 2004 GMT Jun 1 22:00:00 2005 GMT CN=Alice, OU=CDC, OU=FB Informatik, O=TU Darmstadt, C=DE key-0x7773B534 email:alice@cdc.informatik.tu-darmstadt.de critical Encryption not critical 1.3.6.1.4.1.8301.1.1.1.3 keyIdentifier:A2:F4:67:23:28:C2:C8:64:A8:45 keyIdentifier:0B:F8:2B:B7:B5:88:C8:03:7E:EB authorityCertIssuer:CN=Master CA, OU=FB Informatik, O=TU Darmstadt, C=DE authorityCertSerialNumber:03 Signature: verifiable with 0xC37C64C0 (SHA1withRSA) 2 Serial No.: Issuer: NotBefore: NotAfter: Subject: Public Key: X509v3Extensions: Subject Alternative Name: Key Usage: Certificate Policy: Subject Key Identifier: Authority Key Identifier: Zertifikat 3 2595 CN=Uebung CA, OU=FB Informatik, O=TU Darmstadt, C=DE Apr 25 09:00:00 2005 GMT Apr 25 09:00:00 2006 GMT CN=Alice’s New Name, OU=CDC, OU=FB Informatik, O=TU Darmstadt, C=DE key-0x7773B534 email:alice.new.name@cdc.informatik.tu-darmstadt.de critical Encryption not critical 1.3.6.1.4.1.8301.1.1.1.3 keyIdentifier:A2:F4:67:23:28:C2:C8:64:A8:45 keyIdentifier:0B:F8:2B:B7:B5:88:C8:03:7E:EB authorityCertIssuer:CN=Master CA, OU=FB Informatik, O=TU Darmstadt, C=DE authorityCertSerialNumber:03 Signature: verifiable with 0xC37C64C0 (SHA1withRSA) Serial No.: Issuer: NotBefore: NotAfter: Subject: Public Key: X509v3Extensions: Basic Constraints: Key Usage: Certificate Policy: Subject Key Identifier: Authority Key Identifier: Zertifikat 4 1 CN=Master CA, OU=FB Informatik, O=TU Darmstadt, C=DE Dec 1 08:59:59 2002 GMT Dec 1 08:59:59 2007 GMT CN=Master CA, OU=FB Informatik, O=TU Darmstadt, C=DE key-0xA0906E89 critical CA: TRUE pathlen=1 critical Digital Signature, Certificate Sign, CRL Sign not critical 1.3.6.1.4.1.8301.1.1.1.3 keyIdentifier:54:23:AA:12:AB:CD:4E:5F:3A:11 keyIdentifier:54:23:AA:12:AB:CD:4E:5F:3A:11 authorityCertIssuer:CN=Master CA, OU=FB Informatik, O=TU Darmstadt, C=DE authorityCertSerialNumber:01 Signature: verifiable with 0xA0906E89 (SHA1withRSA) 3 Serial No.: Issuer: NotBefore: NotAfter: Subject: Public Key: X509v3Extensions: Basic Constraints: Key Usage: Certificate Policy: Subject Key Identifier: Authority Key Identifier: Zertifikat 5 3 CN=Master CA, OU=FB Informatik, O=TU Darmstadt, C=DE Dec 1 09:34:55 2002 GMT Dec 1 09:34:55 2007 GMT CN=Uebung CA, OU=FB Informatik, O=TU Darmstadt, C=DE key-0xC37C64C0 critical CA: TRUE pathlen=0 critical Digital Signature, Certificate Sign, CRL Sign not critical 1.3.6.1.4.1.8301.1.1.1.3 keyIdentifier:0B:F8:2B:B7:B5:88:C8:03:7E:EB keyIdentifier:54:23:AA:12:AB:CD:4E:5F:3A:11 authorityCertIssuer:CN=Master CA, OU=FB Informatik, O=TU Darmstadt, C=DE authorityCertSerialNumber:01 Signature: verifiable with 0xA0906E89 (SHA1withRSA) CRL A Issuer: CN=Uebung CA, OU=FB Informatik, O=TU Darmstadt, C=DE ThisUpdate: Apr 25 11:53:09 2005 GMT NextUpdate: May 25 11:53:09 2005 GMT Revoked Certificates: Serial Nr.: 2594 Revocation Date: Apr 25 08:55:36 2005 GMT Reason: Affiliation Changed Serial Nr.: 2595 Revocation Date: Apr 25 11:52:39 2005 GMT Reason: keyCompromise X509v2 CRL Extensions: CRLNumber: non-critical 500 Signature: verifiable with 0xC37C64C0 Aufgabe 4: CRLs kombinieren Folgende Notation wird in dieser Übung benutzt: • F 12 ist die Full-CRL mit der CRLNumber 12. • ∆45 30 ist die ∆-CRL mit der CRLNumber 45 und hat als Basis-CRL die CRL mit der CRLNumber 30. Bei der Bearbeitung von Full-CRLs oder ∆-CRLs gelten folgende Regeln: F x + ∆wy ` F y (wenn x ≥ w und y ≥ x ) ( F +F ` x y Fx x≥y y x<y F (1) (2) 4 Beantworten Sie mit Hilfe dieser Regeln, ob ein Benutzer vollständige Revokationsinformationen für den Zeitpunkt thisUpdate der Full-CRL #14 hat. Falls nein, fügen Sie genau eine CRL (ausgenommen F 14 ) ein, damit das möglich ist. 12 15 a) {F 1 , ∆51 , ∆10 5 , ∆10 , ∆10 } b) {F 1 , ∆51 , F 5 , F 12 , ∆14 10 } 14 15 c) {F 1 , ∆52 , ∆10 5 , ∆12 , ∆10 } Aufgabe 5: Neues Modell In einer vorherigen Übung wurde ein formales Modell (Modell von Maurer) für ein Web of Trust vorgestellt. Zur Erinnerung: Dieses Modell bietet die Möglichkeit, sich der Authentizität des öffentlichen Schlüssels eines Kommunikationspartners zu versichern. Dies geschieht, indem eine Person selbst schon andere authentische Schlüssel kennt, Personen als vertrauenswürdig ansieht oder Zertifikate und Empfehlungen zu Hilfe nimmt. Dieses Modell reicht nicht aus, um reale Gegebenheiten bzw. Systeme aus der Praxis zu modellieren. Es ist zwar simpel und flexibel, erfährt aber Grenzen in seiner Anwendbarkeit. Denn gewisse Aspekte, die uns in der Realität begegnen, lassen sich mit dem Modell von Maurer nicht darstellen. Wir diskutieren kurz die Eigenschaften dieses Modells und deren Begrenzungen: • Es legt großen Wert auf die Authentizität eines öffentlichen Schlüssels. Allerdings ist die Verbindlichkeit zwischen öffentlichem Schlüssel und den Informationen im Zertifikat von großer Bedeutung. • Ohne die Zeit als Dimension können die zeitlichen Veränderungen in der PKI (Auslauf von Glauben/Zertifikaten, Revokationen) nicht im Modell abgebildet werden. • Die Delegierung von einzelnen Attributen des Zertifikats ist nicht möglich. Entweder wird alles (per Recommendation) weitergegeben oder nichts. In der Praxis kann es aber durchaus sinnvoll sein, nur bestimmte Eigenschaften (Properties) weiterzugeben. • Die Verifikation liegt außerhalb der Betrachtung. Durch Ableitungsregeln werden falsche Schlussfolgerungen ermöglicht, wenn ein Zertifikat nicht mehr gültig ist. Wegen der oben genannten Nachteile halten es die Autoren von „Modeling Public Key Infrastructure in the RealWorld“1 für zweckmäßig, das Modell zu erweitern, und führen ein neues Konzept ein, welches den Anforderungen realer PKI-Systeme besser gerecht wird. Folgende Elemente sind im Rahmen der Erweiterung des Modells hinzugekommen: • Die Authentizität des öffentlichen Schlüssels wird verallgemeinert, um die Verbindlichkeit zwischen öffentlichem Schlüssel und den Zertifikatseigenschaften zu erfassen. • Die Zeit wird als Merkmal hinzugefügt, um Revokation und Auslauf modellieren zu können. Hierzu werden zwei Konzepte vorgestellt. – Die Lebensdauer (lifespan) einer Aussage (statement) s ist gegeben durch ein Intervall I , das vom Zeitpunkt t j bis zum Zeitpunkt t k reicht, also I = [t j , t k ]. Zum Zeitpunkt t > t k ist s abgelaufen und in Berechnungen nicht mehr benutzbar. – s ist aktiv zum Zeitpunkt t nur dann, wenn t ∈ I gilt. 1 Verfügbar unter http://www.cs.dartmouth.edu/~sws/pubs/ms05a.pdf. 5 • Die Domäne (domain) wird benutzt, um eine Menge von Properties anzugeben, die eine zertifikatausstellende Einheit einem Subjekt zuweisen darf. Properties können etwa Attribute des Zertifikats sein, die in den Erweiterungen stehen. Als typisches Beispiel sei die KeyUsage-Extension genannt. Die Domäne ist also alles, für das eine CA bürgen darf. • Die Benutzung von Recommendations wird durch das Trust Transfer-Konzept ersetzt, damit eine Teilmenge der Zertifikationseigenschaften weitergegeben werden kann. • Validity Templates werden eingeführt, um formatspezifische Definitionen der Gültigkeit einer Aussage zu erfassen. Im erweiterten Modell gibt es somit folgende Schreibweisen für Aussagen über den Kenntnisstand: a) Authentizität der Verbindlichkeit / Authenticity of binding Aut(A, X , P , I ) bezeichnet den Glauben von A, dass die Einheit X die in P enthaltenen Properties während des Intervalls I besitzt. b) Vertrauen / Trust Trust(A, X , D, I ) kennzeichnet den Glauben von A, dass die Einheit X vertrauenswürdig ist bezüglich der Ausstellung von Zertifikaten über die Domäne D während des Intervalls I . c) Zertifikate / Certificates Cert(X , Y, P , I ) bedeutet, dass X ein Zertifikat für Y ausgestellt hat, welches die Verbindlichkeit zwischen dem öffentlichen Schlüssel von Y und der Menge von Properties P im Intervall I sicherstellt. d) Übertragungen von Vertrauen / Trust Transfers Tran(X , Y, P , I ) besagt, dass Y einen Vertrauensübertrag von X erhalten hat, so dass eine Verbindlichkeit zwischen dem öffentlichen Schlüssel von Y und der Menge von Properties P im Intervall I besteht. e) Zertifikatsgültigkeitsschablonen / Certificate Validity Templates Valid〈A, C, t〉 bezeichnet den Glauben von A, dass das Zertifikat C zur Auswertungszeit t gültig ist. f) Übertragungsgültigkeitsschablonen / Transfer Validity Templates Valid〈A, T, t〉 bezeichnet den Glauben von A, dass die Vertrauensübertragung T zur Auswertungszeit t gültig ist. Eine Aussage ist in diesem erweiterten Modell nur dann gültig, wenn sie entweder in ViewA enthalten ist oder aus ViewA abgeleitet werden kann. Die Ableitungsregeln müssen angepasst werden, um diese neuen Elemente nutzen zu können. ∀X , Y, t ∈ I0 ∩ I1 , Q ⊆ D : Aut(A, X , P , I0 ), Trust(A, X , D, I1 ), Valid A, Cert(X , Y, Q, I2 ), t ` Aut(A, Y, Q, I2 ) (3) ∀X , Y, t ∈ I0 ∩ I1 , Q ⊆ D : Aut(A, X , P , I0 ), Trust(A, X , D, I1 ), Valid A, Tran(X , Y, Q, I2 ), t ` Trust(A, Y, Q, I2 ) a) (4) i) Warum ist eine Erweiterung des formalen Modells für ein Web of Trust notwendig? ii) Welche Merkmale sind im erweiterten Modell hinzugekommen? Ergänzen Sie die Vergleichstabelle in Tabelle 1, um die Unterschiede zwischen dem ursprünglichen und neuen Modell anhand der zusätzlichen Komponenten deutlich zu machen. b) Gegeben sei folgende Sicht ViewA = {Aut(A, X , P , I0 ), Cert(X , Y, P , I2 ), Cert(Y, Z, D, I2 ), Tran(X , Y, D, I2 ), Tran(Z, B, D, I2 ), Trust(A, Z, D, I2 ), Trust(A, X , D, I1 )} 6 PKI-System mehrere Formate Revokation Autorisierung Delegierung Zeitverhalten Maurers Modell erweitertes Modell ermöglichendes neues Merkmal Tabelle 1: Vergleichstabelle von A mit I0 ∩ I1 6= ; und P ⊆ D . i) Zeigen Sie, warum A sich sicher sein kann, dass B vertrauenswürdig ist. ii) Für welchen Zeitraum ist B für A vertrauenswürdig? c) Sei ViewB gegeben als ViewB = {Aut(B, X , P , I ), Aut(A, Y, P , I ), Cert(X , A, P , I ), Cert(A, C, P , I ), Tran(X , A, P , I ), Tran(C, B, P , I ), Trust(A, Y, P , I ), Trust(B, C, P , I ), Trust(B, X , P , I )}. Entscheiden Sie, ob B gegenüber Y Vertrauen aufbringt. d) Gegeben sei ViewC = {Aut(C, B, P , I ), Cert(A, X , P , I ), Cert(B, A, P , I ), Cert(X , Y, P , I ), Tran(A, X , P , I ), Tran(B, A, P , I ), Trust(C, B, P , I )}. Prüfen Sie, ob C davon ausgehen kann, dass Y zum Zeitpunkt t ∈ I über die in P enthaltenen Eigenschaften verfügt. 7