Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks...

39
Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH [email protected]

Transcript of Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks...

Page 1: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Verschlüsselung und Digitale Signaturen

Stephan Hiller

TC TrustCenter for Security in Data Networks GmbH

[email protected]

Page 2: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Verschlüsselungsverfahren:

- Symmetrische Verschlüsselung

- Asymmetrische Verschlüsselung

Page 3: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Symmetrische VerschlüsselungVorteil:– Verschlüsselung ist sehr schnell

Nachteil:– Schlüsselverteilungsproblem: Wie bekomme ich

einen symmetrischen Schlüssel über einen unsicheren Kanal?

Algorithmen: DES, 3DES, IDEA, RC2, RC4

A B

Page 4: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Asymmetrische VerschlüsselungVorteil:

– Schlüsselverteilungsproblem ist gelöst, da der Transport der Public Key über unsicheren Kanal unkritisch ist.

– Private und Public Key sind komplementär zueinander

Nachteil:

– Asymmetrische Verschlüsselung ist zeitintensiv

Algorithmen: RSA, DSA

Public Key B Public Key A BA

Private Key A Private Key B

Page 5: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Hybridverfahren

– Kombination beider Verschlüsselungsverfahren– Daten werden mit symm. Schlüssel verschlüsselt– Symm. Schlüssel wird mit Public Key des

Empfängers verschlüsselt

Vorteil:– Schlüsselverteilungsproblem ist gelöst und die

Verschlüsselung kann trotzdem sehr schnell durchgeführt werden

Page 6: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

RSA-VerschlüsselungÖffentlicher Schlüssel:n Produkt zweier Primzahlen p und q (diese müssen geheim bleiben)e relativ prim zu (p-1)(q-1), d.h. sie sind keine Faktoren von e

Privater Schlüsseld (e^-1) mod ((p-1)(q-1))

Verschlüsselungc = (m^e) mod n Entschlüsselungm = (c^d) mod n

Wir wählenp = 47; q = 71

n = pq = 3337

Der Chiffrierschlüssel e darf keine gemeinsamen Faktoren mit(p-1)(q-1) = 46 * 70 = 3220 haben.

Wir wählen als Wert für e (zufällig) e = 79

Page 7: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

RSA-VerschlüsselungMittels des erweiterten Euklidischen Algorithmus wird daraufhin d (privater Schlüssel) berechnet

d = (79^-1) mod 3220 = 1019 ((79*1019) mod 3220 = 1)

e und n werden veröffentlicht (bilden den öffentlichen Schlüssel), d bleibt geheim. p und q werden vernichtet.

Zur Verschlüsselung der Nachricht 688232687 wird diese zuerst in kleine Blöcke zerlegt.

m1 = 688

m2 = 232

m3 = 687

Der erste Block wird folgendermaßen verschlüsselt

(688^79) mod 3337 = 1570

Führt man diese Operation auch für die anderen Blöcke durch, so erhält man den Ciphertext

c = 1570 2756 2091

Zur Entschlüsselung der Nachricht wird eine ähnliche Potenzierung mit dem Dechiffrierschlüssel (privater Schlüssel), also 1019, durchgeführt.

(1570^1019) mod 3337 = 688 = m1

Page 8: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Sicherheit der Schlüssellängen (Stand 08/97)

Symmetrisch Asymmetrisch Priv. Angreifer Kleine Gruppe Uni-Rechenzentrum Große Firma Militär

40 274 Wochen Tage Stunden Millisekunden Mikrosekunden

56 384 Jahrhunderte Jahrzehnte Jahre Stunden Sekunden

64 512 Jahrtausende Jahrhunderte Jahrzehnte Tage Minuten

80 768 Unendlich Unendlich Unendlich Jahrhunderte Jahrhunderte

96 1024 Unendlich Unendlich Unendlich Jahrtausende Jahrhunderte

112 1792 Unendlich Unendlich Unendlich Jahrtausende Jahrhunderte

120 2048 Unendlich Unendlich Unendlich Unendlich Jahrtausende

128 2304 Unendlich Unendlich Unendlich Unendlich Jahrtausende

Page 9: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Digitale Signaturen

– Verschlüsselung sichert die Vertraulichkeit

Aber:

– Wer ist der Absender ?

– Wurden die Daten von Dritten verändert ?

Lösung:

– Eindeutige Abbildung der Daten auf einen Bitstring (Hashwert)

– Hashwert wird mit privatem Schlüssel des Absenders verschlüsselt und bildet die Signatur

Page 10: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Digitales Signieren und Verifizieren

Daten

Signatur

Hashbildungz.B. MD5

verschlüsseln

Daten

Hash

A

Signatur

Daten

Hash

Hashbildungz.B. MD5

Hash

entschlüsseln

Public Key A

Private Key A

B

Sind die beiden Hashwerte identisch,ist die Nachricht authentisch und integer

Signatur

Daten

Page 11: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Kombinationen

– Verschlüsseln (Vertraulichkeit)

– Signieren (Integrität, Authentizität)

– Verschlüsseln und Signieren

Aber:

– Ein Dritter könnte sich für Kommunikationspartner ausgeben und öffentlichen Schlüssel unter falschen Namen publizieren

Page 12: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Zertifikate

„Ein Zertifikat [...] ist eine mit einer digitalen Signatur versehene digitale Bescheinigung über die Zuordnung eines öffentlichen Signaturschlüssels zu einer natürlichen Person (Signaturschlüssel-Zertifikat) [...].“ (SigG § 2 Abs. 3)

– Zertifikate werden von Trustcentern bzw. Certficate Authorities (CA) ausgestellt

Page 13: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Aufgaben eines Trustcenters

– Antragstellung und Registrierung

– Identifizierung

– Zertifikatsausstellung

– Verzeichnis- und Zeitstempeldienst

– Sperrmanagement

– Schlüsselgenerierung

Page 14: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Zertifikate - für wen?

– Personen

– Organisationen

– Webserver

– Software

Page 15: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Zertifikatstypen

– PGP-Zertifikate– Email– Dateiverschlüsselung

– X.509-Zertifikate– Email (S/MIME)– SSL-Verbindungen / „Sicheres Browsen“– Dateiverschlüsselung

Page 16: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Was enthält ein Zertifikat

X.509:– Angaben zur Person (Name,

Firma, Abteilung, Land, Bundesland, Ort, Email, etc.)

– Seriennummer– Aussteller– Gültigkeitsdauer– Öffentlichen Schlüssel– Signatur eines Trustcenters– Extensions

PGP V. 5.X– Angabe zur Person (Name,

Email)– Gültigkeitsdauer (optional)– Öffentlicher Schlüssel– Signaturen Dritter

Page 17: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Zertifikatshierarchie

X.509 - Certificate chain PGP - Web of Trust

Alice

Bob

Carol

Dave

Root-CA

CA 1

CA n

Dave

Page 18: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

X509-ZertifikatCertificate: Data: Version: 3 (0x2) Serial Number: 126636 (0x1eeac) Signature Algorithm: md5WithRSAEncryption Issuer: C=DE, ST=Hamburg, L=Hamburg, O=TC TrustCenter for Security in Data Networks GmbH, OU=TC TrustCenter Class 3 CA/[email protected] Validity Not Before: Nov 18 15:22:37 1998 GMT Not After : Nov 18 15:22:37 1999 GMT Subject: C=DE, ST=Bremen, L=Bremen, O=, OU=, CN=Stephan Hiller/[email protected] Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:bf:37:be:d2:f8:33:cd:1c:60:b8:a5:bf:51:04: 71:8c:b4:29:c4:39:93:24:da:b5:f4:55:34:fc:bf: 07:0b:fc:77:bd:fa:86:b9:b5:98:2f:5b:fe:9b:8e: 99:b9:65:2b:8a:5e:30:e1:7c:16:8a:28:fe:5a:6c: b2:47:56:83:73:ba:73:86:c2:01:d5:ad:69:25:54: 81:b9:45:c7:78:6c:3a:12:2b:f8:43:a8:d1:8a:81: 57:d1:92:e3:51:43:f0:22:87:4c:e5:96:23:de:5e: 41:5e:c8:82:6d:d7:6e:f9:c1:9d:06:03:34:42:61: bc:5c:39:9a:2f:11:80:a5:0b Exponent: 65537 (0x10001) X509v3 extensions: Netscape Revocation Url: https://www.trustcenter.de/cgi-bin/check-rev.cgi/01EEAC? Netscape Renewal Url: https://www.trustcenter.de/cgi-bin/Renew.cgi? Netscape CA Policy Url: http://www.trustcenter.de/guidelines/index.html Netscape Comment: TC TrustCenter Class 3 Netscape Cert Type: .... Signature Algorithm: md5WithRSAEncryption 7d:80:98:2d:56:35:b5:d7:d9:c2:a6:a8:db:d5:80:2d:f7:89: 55:99:2d:34:04:7a:fb:c1:ec:30:64:0e:2f:43:a5:45:e0:70: 81:15:a0:5a:f0:c6:a3:cd:c1:d2:9b:87:fb:46:a3:a1:2d:8b: ba:d7:12:25:1f:53:30:13:03:75:9d:97:59:b7:31:3b:fb:29: 77:d5:08:46:80:d0:1d:7b:c5:be:81:5c:ba:b1:d9:86:44:09: d9:73:fe:59:3f:df:c7:24:bf:45:84:48:f2:08:0e:00:d9:87: 1f:ef:60:6e:c1:62:f4:1c:00:08:e3:43:b9:98:f5:2d:da:0a: ff:3e

Page 19: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

CRL (Certificate Revocation List)

– Sperrliste mit kompromittierten Zertifikaten– Enthält Seriennummer des Zertifikates mit Signatur der CA– Wird in regelmäßigen Intervallen veröffentlicht

Aber:– Ist nicht immer aktuell

Page 20: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Online-Abfrage über OCSP oder LDAP

– Zertifikatsstatus ist immer aktuell

Aber:– Erfordert große Bandbreite beim OCSP-Responder

bzw. LDAP-Server der CA

Page 21: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Anwendungen

– Telearbeit– Online-Shopping– Elektronische Bankgeschäfte– E-Mail– Intranet Anwendungen– Online-Reisebuchung – Verbindliche Verträge– Online-Behördengänge– Sicheres „Surfen“

etc.

Page 22: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

SSL-Protokoll

– Entwicklung von Netscape (1994)– Bietet die Möglichkeit der End-zu-End-

Verschlüsselung, Authentifizierung und Integritätsüberprüfung

– Basiert auf X.509-Zertifikaten– Unabhängig von Protokollen der Applikationsschicht

(HTTP, Telnet, FTP)

Page 23: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

SSL-HandshakeClient Client Hello Server

Festlegung der Protokoll-Version (SSL2, SSL3),

Server Hello Session ID, Cipher-Suite und Austausch von

Zufallswerten, Kompressionsmethode

Certificate Optional Versenden des Server-Zertifikats

und Nachfrage nach dem Client-Zertifikat

Server Key Exchange

Certificate Request

Server Hello Done

Certificate Senden des Client-Zertifikats

Client Key Exchange

RSA encrypted premaster secret Senden des 48 Byte Premaster secrets

Finished

Finished

Page 24: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Cipher-Suiten

Name Version Schlüsselvert. Authentifikation Verschlüselung Hash

EDH-RSA-DES-CBC3-SHA SSLv3 Kx=DH Au=RSA Enc=3DES(168) Mac=SHA1

EDH-DSS-DES-CBC3-SHA SSLv3 Kx=DH Au=DSS Enc=3DES(168) Mac=SHA1

DES-CBC3-SHA SSLv3 Kx=RSA Au=RSA Enc=3DES(168) Mac=SHA1

IDEA-CBC-SHA SSLv3 Kx=RSA Au=RSA Enc=IDEA(128) Mac=SHA1

RC4-SHA SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=SHA1

RC4-MD5 SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=MD5

EDH-RSA-DES-CBC-SHA SSLv3 Kx=DH Au=RSA Enc=DES(56) Mac=SHA1

EDH-DSS-DES-CBC-SHA SSLv3 Kx=DH Au=DSS Enc=DES(56) Mac=SHA1

DES-CBC-SHA SSLv3 Kx=RSA Au=RSA Enc=DES(56) Mac=SHA1

DES-CBC3-MD5 SSLv2 Kx=RSA Au=RSA Enc=3DES(168) Mac=MD5

IDEA-CBC-MD5 SSLv2 Kx=RSA Au=RSA Enc=IDEA(128) Mac=MD5

RC2-CBC-MD5 SSLv2 Kx=RSA Au=RSA Enc=RC2(128) Mac=MD5

RC4-MD5 SSLv2 Kx=RSA Au=RSA Enc=RC4(128) Mac=MD5

RC4-64-MD5 SSLv2 Kx=RSA Au=RSA Enc=RC4(64) Mac=MD5

DES-CBC-MD5 SSLv2 Kx=RSA Au=RSA Enc=DES(56) Mac=MD5

EXP-EDH-RSA-DES-CBC-SHA SSLv3 Kx=DH(512) Au=RSA Enc=DES(40) Mac=SHA1 export

EXP-EDH-DSS-DES-CBC-SHA SSLv3 Kx=DH(512) Au=DSS Enc=DES(40) Mac=SHA1 export

EXP-DES-CBC-SHA SSLv3 Kx=RSA(512) Au=RSA Enc=DES(40) Mac=SHA1 export

EXP-RC2-CBC-MD5 SSLv3 Kx=RSA(512) Au=RSA Enc=RC2(40) Mac=MD5 export

EXP-RC4-MD5 SSLv3 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export

EXP-RC2-CBC-MD5 SSLv2 Kx=RSA(512) Au=RSA Enc=RC2(40) Mac=MD5 export

EXP-RC4-MD5 SSLv2 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export

Page 25: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Vertragsanwendung

Web-Browser

Vertragsclient

Security-Proxy

Client

Ecommerce System

Vertragsserver

SSL-Webserver

Anbieter

Public Key Server

1. Zusammenstellung des Warenkorbes

2. Bestelleingang

9. Übergabeder Signatur

3. Übergabe des Vertragstextes4. Senden des Vertrages

6. Senden der Unterschrift (Signatur und Zertifikat)

10. Übergabe der Anbietersignatur

Trustcenter

5. Vertragessignierung

7. Überprüfung des Zertifikatsstatus 8. Antwort

Page 26: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.
Page 27: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.
Page 28: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.
Page 29: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Security Proxy

Browserz.B. MSIE,Netscape

128 BitSSL-Server

Proxy

Client Server

Computer A Computer B

40 Bit Verbindung

128 Bit Verbindung

Apache mit mod_sslStronghold, Roxen Challenger

Page 30: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Secure Electronic Transaction (SET)

– Entwickelt von VISA und MasterCard (V 1.0 - Juni 1997)– Protokoll für sichere Kreditkartenzahlungen– Basierend auf X.509-Zertifikaten– Zertifikatshierarchie

Page 31: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

SET-Struktur

Page 32: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

SET-Zertifikatshierarchie

Page 33: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Signaturgesetz / Signaturverordnung

– SigG (22. Juli 1997), SigV (8. Oktober 1997)

– SigG regelt Genehmigung von Zertifizierungsstellen, Inhalt, Vergabe und Sperrung von Zertifikaten, Zeitstempeldienste etc.

– SigG schafft die Rahmenbedingungen für die rechts-verbindliche digitale Signatur

– SigV regelt die Anforderungen für den Betrieb einer Zertifizierungsinstanz / Trustcenter

Page 34: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Signaturgesetz:Anforderungen an das Trustcenter

– Zuverlässige Mitarbeiter

– Begrenzte Anzahl von Mitarbeitern darf zertifizieren

– Bauliche Maßnahmen

– Vier-Augen Prinzip

– Lückenlose und manipulationsfreie Protokollierung

– Signaturschlüssel sind nicht kopierbar

– Hohe Verfügbarkeit von Public Key Servern

Page 35: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Signaturgesetz:Anforderungen auf der Benutzerseite

– Smartcard und Smartcard-Reader

– Sicherheitssoftware (z.B. Anzeigekomponente)

– Sorgfaltspflicht

Page 36: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Signaturgesetzkonforme Zertifikate

Vorteile:– Hohe Sicherheit / Vertrauen– Unterschriftensurrogat / Rechtsverbindlichkeit

Nachteile:– Z.Z. keine Unterstützung durch Standardsoftware– Hohe Kosten für SigG-konforme Komponenten

Page 37: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Softwarezertifikate (nicht-SigG-konform)

Vorteile:

– Unterstützung durch Standardsoftware

– Unterschiedliche Identifizierungsverfahren / Trustlevel

Nachteile:

– Keine Mindestanforderungen an Trustcenter

– Schlechte Einschätzung der Vertrauenswürdigkeit

– Häufig nur geringe Schlüssellängen

Page 38: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Vielen Dank für Ihre Aufmerksamkeit

Page 39: Verschlüsselung und Digitale Signaturen Stephan Hiller TC TrustCenter for Security in Data Networks GmbH hiller@trustcenter.de.

Diffie-Hellman-SchlüsselaustauschA und B einigen sich auf eine große Primzahl n und eine Zahl g. Diese beiden Zahlen müssen nicht geheim bleiben.

A wählt eine große zufällige Zahl x und sendet B

X = (g^x) mod n

B wählt eine große zufällige Zahl y und sendet A

Y = (g^y) mod n

A berechnet

k = (Y^x) mod n

B berechnet

k‘ = (X^y) mod n

Sowohl k als auch k‘ sind gleich (g^(xy)) mod n

Beispiel:

n = 7 g = 3 x = 9 y = 11

A berechnet:

X = (3^9) mod 7 == 19683 mod 7 = 6

B berechnet:

Y = (3^11) mod 7 == 177147 mod 7 = 5

k = (5^9) mod 7 = 1953125 mod 7 = 6

k‘ = (6^11) mod 7 = 362797056 mod 7 = 6