IT-Sicherheit: Digitale Signatur, Zertifikate, PKI, Sicherheitsprotokolle 2 Digitale Signaturen ! Elektronisches Pendant zur eigenhändigen Unterschrift ! Electronic Signatures in Global and National Commerce Act („E-SIGN“, US, 2000), §106(5): The term ‘‘electronic signature’’ means an electronic sound, symbol, or process, attached to or logically associated with a contract or other record and executed or adopted by a person with the intent to sign the record.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Public modulus (no. of bits = 1024):0 CACAF080 64F76D97 EA2662FA 81FF10FF .....Public exponent (no. of bits = 17):
0 010001
14
Bsp.: X.509 v3-Zertifikat & seine CA
15
X.509 v3-Zertifikate: Details
! Im Wesentlichen entspricht ein X.509-Zertifikat derfolgenden kryptographischen Formulierung:CertCA(A) ={A, KE
A, T, L}KDCA, wobei
A – SubjectNameT – Gültigkeitsbeginn des ZertifikatesL – Gültigkeitsdauer
! CA bestätigt also durch eine digitale Signatur, dass KEA zu
A gehört und dass KEA aktuell ist.
! Woher aber kennt B nun den öffentlichen Schlüssel KECA
der CA?! Bildung von Zertifikatsketten
16
Ketten von Zertifikaten
! Kette von Zertifikaten der Certification Authorities CA1,..., CAn
! CAi bestätigt öffentlichen Schlüssel von CAi+1
! CAn bestätigt öffentlichen Schlüssel des Benutzers
! Wer bestätigt das Wurzelzertifikat?! In einem Web-Browser geschieht dies durch Einbau der
Wurzelzertifikate in den Browser.
! „Soziale“ Argumentation: Der Benutzer vertraut seiner Software(Browser) und somit auch den eingebauten Wurzelzertifikaten.
17
Public Key Infrastructure (1)
! Public Key Infrastruktur (PKI)
“Public Key Infrastructure (PKI) provides the means to bind public
keys to their owners and helps in the distribution of reliable public keys
in large heterogeneous networks. “ NIST
The set of hardware, software, people, policies and procedures
needed to create, manage, store, distribute, and revoke Public Key
Certificates based on public-key cryptography. IETF (PKIX WG)
18
Public Key Infrastructure (2)
! Public Key Infrastruktur (PKI)
“A system of CAs (and, optionally, RAs and othersupporting servers and agents) that perform some set ofcertificate management, archive management, keymanagement, and token management functions for acommunity of users in an application of asymmetriccryptography” IETF (RFC 2828)
19
Public Key Infrastructure (3)
! Komponenten einer PKI! Certification Authority (CA):
! Stellt Zertifikate aus und signiert sie! Veröffentlicht aktuelle Zertifikate! Erstellt und veröffentlicht Listen von ungültigen Zertifikaten(Certificate Revocation List, CRLs),! bietet Online Certificate Status Protocol (OCSP) für Clients
! Registration Authority (RA):! Arbeitet CA zu, bürgt für die Verbindung zwischen öffentlichem
Schlüssel und Identitäten/Attributen der Zertifikatsinhaber
! Verzeichnisdienst: i.d.R. LDAP, Verteilung der Zertifikate und CRLs! Zeitstempeldienst: signierte Zeitstempel (Gültigkeitsdauern, …)
20
Fazit zu Signaturen, PKI
! wissenschaftliche Fragestellungen sind im Prinzip schon lange gelöst! dem PKI-Hype vor ca. fünf Jahren folgte die Ernüchterung:
! das Etablieren einer Unternehmens-PKI ist aufwendig! das Ausrollen von Zertifikaten und Signaturkarten ist aufwendig, Nutzen
war gering (Anwendungen?)! Sperrlistenverwaltung, Trust-Center-Aufbau etc. schwierig! Unternehmensübergreifende PKI-Strukturen gibt es kaum (Haftung?)
! Einige Standards zur Thematik:
! X.509: Standard für digitale Zertifikate! PKCS: De-Facto Standards, definiert von RSA (vgl. RFC 3447 = PKCS#1)! PKIX: PKI-Gesamtstandard für das Internet! ISIS-MTT: deutscher PKI-Gesamtstandard, angelehnt an PKIX
21
Sicherheitsprotokolle
! Bis jetzt: Kryptographische Grundbausteine! Symmetrische und asymmetrische Verschlüsselung! Hash, MACs, Digitale Signaturen! Zufallswerte, Nonces, Zeitstempel
! Sicherheitsprotokolle (security protocols,cryptographic protocols)! basieren auf diesen Grundbausteinen! Verschiedene Arten von Protokollen:
! Protokolle zur Authentisierung (z.B. Challenge Response-Protokolle,Kerberos, Needham-Schroeder )
! Ein Protokoll besteht aus einer Menge von Regeln, die den Zustanddes Nachrichtenaustauschs zwischen zwei oder mehrerenKommunikationsteilnehmern beschreiben:
! Entwickelt von Netscape für „E-Commerce“ im Web! Online-Shops: Schutz von persönlichen Daten, Kreditkartennummern etc.
! „HTTPS“ = HTTP über TLS
! Secure Sockets Layer (SSL)! letzte Version unter dem Namen SSL: 3.0
! SSL 2.0 war unsicher
! Transport Layer Security (TLS, RFC 2246 + 3546):leicht abgewandelter Nachfolger von SSL (= SSL 3.1)! Allgemein verwendbar, nicht nur HTTPS (z.B. POP3, IMAP)
! Literatur: E. Rescorla, SSL and TLS – Designing and Building Secure
Systems, Addison-Wesley, 2001.
25
SSL/TLS: grundlegende Idee
! Hauptziel: Vertraulichkeit (Secrecy) zwischen demKunden (Web-Browser) und einem Web-Server
! SSL/TLS nutzt hybrides Verschlüsselungsverfahren:! Schlüsselaustausch mit Public-Key-Verfahren
! Öffentlicher Schlüssel des Web-Servers wird dem Web-Browser perX.509-Zertifikat bekannt gemacht (vgl. Screenshots auf früherer Folie)
! Anschließend: symmetrisches Verfahren zum Datenaustausch
! Alert-Protokoll (aufgetretene Fehler während des Protokollaufes)
! Wir betrachten zunächst das Handshake-Protokoll! Vorausgesetzte Notationen, Bezeichnungen
! Kommunikationspartner C (client) and S (server)
! C#, S# (serielle Transaktionsnummern für C und S)! CS: Serverzertifikat
CS = CertCA(S) ={S, KES, T, L}KD
CA (nächste Folie)! Client unterstützt i.d.R. verschiedene kryptographische Verfahren (Suiten);
(übernächste Folie)
27
Serverzertifikat
! Bindet den Public Keydes Servers an DNS-Namen des Servers
28
Kryptographische Suiten
29
SSL/TLS:Handshake (1)
1. C ! S: C, C#, NC, Supported_Ciphers
2. S ! C: S, S#, NS,CS, Chosen_Cipher
Server soll immer stärkeres Verfahren wählen(128Bit RC4 wird also 40 Bit RC4 vorgezogen)
3. C ! S: {K0}KS
K0 Premaster Secret;! hieraus kann das Master Secret: K1 = h(K0, Nc, Ns) berechnet werden! S und C können dann aus K1 ihre Schlüssel für die symmetrische
Verschlüsselung und für MACs berechnen (jeweils ein Schlüssel für eineKommunikationsrichtung: KCS,, KSC)
30
SSL/TLS:Handshake (2)
4. C! S {finished, MAC(K1,alles bisher Geschickte)} KCS
finished symbolisiert das Ende des Handshake-Vorganges
5. S ! C {finished, MAC(K1,alles bisher Geschickte)} KSC
Anschließend Record-Protokoll: Es könnenverschlüsselte Daten gesendet werden wie z.B.Kreditkartennummern:{data} KCS
31
SSL/TLS: Bewertung
! In SSL 3.1 = TLS 1.0 wurden bislang keine ernsthaftenSchwächen gefunden.! auch bei Analyse mit formalen Methoden
! Wohl aber in SSL 2.0 (vgl. Übung am Montag)
! Problem bei SSL/TLS: schützt nur die Kommunikation,nicht aber die Daten auf dem Server
! Performanceprobleme: Public-Key-Entschlüsselung aufdem Server! Server trägt also die Last (häufig wird TLS „abgestellt“)