Netzwerksicherheit – Übung 5 Transport Layer Security
Transcription
Netzwerksicherheit – Übung 5 Transport Layer Security
SSL/TLS Zertifikate OpenSSL Beispiel Netzwerksicherheit – Übung 5 Transport Layer Security Tobias Limmer, Christoph Sommer, David Eckhoff Computer Networks and Communication Systems Dept. of Computer Science, University of Erlangen-Nuremberg, Germany 6. – 10.12.2010 Tobias Limmer, Christoph Sommer, David Eckhoff: Netzwerksicherheit – Übung 5 Transport Layer Security 1 / 13 SSL/TLS Zertifikate OpenSSL Beispiel Einführung Transport Layer Security (TLS) hervorgegangen aus Secure Socket Layer (SSL) TLS 1.0 ist Nachfolger von SSL 3 SSL/TLS stellt Werkzeuge für . . . Authentifizierung mit Zertifikaten (RSA, DSA, etc.) Schlüsseltausch (RSA, DH, etc.) Verschlüsselung (RC4, DES, 3DES, IDEA, AES, etc.) Integritätsprüfung (MD5, SHA-1, etc.) Konvention: Dienst + „s“ = Dienst über TLS https = http + TLS pop3s = pop3 + TLS Tobias Limmer, Christoph Sommer, David Eckhoff: Netzwerksicherheit – Übung 5 Transport Layer Security 2 / 13 SSL/TLS Zertifikate OpenSSL Beispiel Zertifikats-basierte Authentifizierung Inhalt: Public-Key Klartext-Name ... Signatur einer CA Erlaubt sichere Kommunikation zwischen Teilnehmern Voraussetzung: beide können der CA vertrauen Tobias Limmer, Christoph Sommer, David Eckhoff: Netzwerksicherheit – Übung 5 Transport Layer Security 3 / 13 SSL/TLS Zertifikate OpenSSL Beispiel X509-Zertifikate Version Certificate Serial Number Signature Si t Algorithm Algorithm ID Parameters Not After Veersion 3 Not Before Veersion 2 Period of Validity Veersion 1 Issuer Name Subject Name Subject‘s Public Key Info Algorithm ID Parameters Key Issuer Unique ID q Subject Unique ID Extensions Signature All Versions Tobias Limmer, Christoph Sommer, David Eckhoff: Netzwerksicherheit – Übung 5 Transport Layer Security 4 / 13 SSL/TLS Zertifikate OpenSSL Beispiel Zertifikathierarchie Root CA Foo CA Baz CA Bar CA Alice Bob Eve Tobias Limmer, Christoph Sommer, David Eckhoff: Netzwerksicherheit – Übung 5 Transport Layer Security 5 / 13 SSL/TLS Zertifikate OpenSSL Beispiel OpenSSL: Was es sonst noch so kann... Primzahlen generieren, PKCS12, PKCS8, PKCS7, Diffie-Hellman-Parameter Zufallszahlen, RSA, X509, CAs, Hardwareunterstützung für Cryptodevices CRL (Certificate Revocation Lists) Message-Digests (MD2, MD4, MD5, MDC2, RMD160, SHA, SHA1) Ciphers (AES, BF, Camellia, CAST, IDEA, DES, 3DES, RC2, RC4, RC5) Tobias Limmer, Christoph Sommer, David Eckhoff: Netzwerksicherheit – Übung 5 Transport Layer Security 6 / 13 SSL/TLS Zertifikate OpenSSL Beispiel OpenSSL: Dateinamensverwirrung PEM = Privacy Enhanced Mail CSR = Certificate Sign Request CRT = Certificate KEY = Key... Tobias Limmer, Christoph Sommer, David Eckhoff: Netzwerksicherheit – Übung 5 Transport Layer Security 7 / 13 SSL/TLS Zertifikate OpenSSL Beispiel Benutzung: Grundlegendes RSA-Schlüsselpaar erstellen, 1024 Bits, unverschlüsselt: openssl genrsa -out keypair.pem 1024 RSA-Schlüsselpaar erstellen, 1024 Bits, mit AES 256 verschlüsselt: openssl genrsa -aes256 -out cakeypair.pem 1024 RSA-Schlüsselpaar anzeigen: openssl rsa -text -in {ca}keypair.pem Tobias Limmer, Christoph Sommer, David Eckhoff: Netzwerksicherheit – Übung 5 Transport Layer Security 8 / 13 SSL/TLS Zertifikate OpenSSL Beispiel Benutzung: Grundlegendes Selbstsigniertes Root-Zertifikat aus RSA-Schlüsselpaar erzeugen: openssl req -new -x509 -key cakeypair.pem -out ca.crt Zertifikat anzeigen: openssl x509 -text -in ca.crt Tobias Limmer, Christoph Sommer, David Eckhoff: Netzwerksicherheit – Übung 5 Transport Layer Security 9 / 13 SSL/TLS Zertifikate OpenSSL Beispiel Benutzung: Grundlegendes CSR aus RSA-Schlüsselpaar erzeugen: openssl req -new -key keypair.pem -out request.csr CSR anzeigen: openssl req -text -in request.csr Tobias Limmer, Christoph Sommer, David Eckhoff: Netzwerksicherheit – Übung 5 Transport Layer Security 10 / 13 SSL/TLS Zertifikate OpenSSL Beispiel Benutzung: Grundlegendes Signieren eines CSR durch eine CA: openssl x509 -req -in request.csr -CA ca.crt -CAkey cakeypair.pem -CAcreateserial -out usercert.crt Tobias Limmer, Christoph Sommer, David Eckhoff: Netzwerksicherheit – Übung 5 Transport Layer Security 11 / 13 SSL/TLS Zertifikate OpenSSL Beispiel Unsere NetSec-CA SHA-1-Fingerprint (Key-Identifier): 89:C5:CC:F2:6A:24:C9:BB:20:B9 A1:57:FE:2E:1A:42:35:A6:09:44 Tobias Limmer, Christoph Sommer, David Eckhoff: Netzwerksicherheit – Übung 5 Transport Layer Security 12 / 13 SSL/TLS Zertifikate OpenSSL Beispiel Euer eigenes CSR Schlüssel erstellen: openssl genrsa -aes256 -out gruppe99.key 1024 CSR erzeugen: openssl req -new -utf8 -key gruppe99.key -out gruppe99.csr C (Country Name): DE ST (State): Bayern L (Locality): Erlangen O (Organization): FAU OU (Organizational Unit): CS 7 NetSec CN (Common Name): Gruppe 99, [NAME] EMail Address: [Mailadresse] Tobias Limmer, Christoph Sommer, David Eckhoff: Netzwerksicherheit – Übung 5 Transport Layer Security 13 / 13