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