1 / 39

Verschlüsselung und Digitale Signaturen

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. Symmetrische Verschlüsselung. Vorteil:

roscoe
Download Presentation

Verschlüsselung und Digitale Signaturen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Verschlüsselungsverfahren: - Symmetrische Verschlüsselung - Asymmetrische Verschlüsselung

  3. Symmetrische Verschlüsselung Vorteil: • 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

  4. Public Key A Public Key B Asymmetrische Verschlüsselung Vorteil: • 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 A B Private Key A Private Key B

  5. 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

  6. 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üssel d (e^-1) mod ((p-1)(q-1)) Verschlüsselung c = (m^e) mod n Entschlüsselung m = (c^d) mod n Wir wählen p = 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

  7. RSA-Verschlüsselung Mittels 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

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

  9. 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

  10. Digitales Signieren und Verifizieren A Daten B Daten Hashbildung z.B. MD5 Hashbildung z.B. MD5 Signatur Hash Public Key A Private Key A Hash entschlüsseln verschlüsseln Daten Hash Daten Signatur Sind die beiden Hashwerte identisch, ist die Nachricht authentisch und integer Signatur

  11. 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

  12. 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

  13. Aufgaben eines Trustcenters • Antragstellung und Registrierung • Identifizierung • Zertifikatsausstellung • Verzeichnis- und Zeitstempeldienst • Sperrmanagement • Schlüsselgenerierung

  14. Zertifikate - für wen? • Personen • Organisationen • Webserver • Software

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

  16. 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 Was enthält ein Zertifikat

  17. X.509 - Certificate chain PGP - Web of Trust Zertifikatshierarchie Root-CA Alice CA 1 Bob Dave CA n Carol Dave

  18. X509-Zertifikat Certificate: 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=certificate@trustcenter.de 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=hiller@trustcenter.de 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

  19. 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

  20. Online-Abfrage über OCSP oder LDAP • Zertifikatsstatus ist immer aktuell Aber: • Erfordert große Bandbreite beim OCSP-Responder bzw. LDAP-Server der CA

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

  22. 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)

  23. SSL-Handshake Client 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

  24. Cipher-Suiten Name VersionSchlüsselvert. AuthentifikationVerschlü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

  25. Vertragsanwendung Client Anbieter Security-Proxy SSL-We b s e r v e r 1. Zusammenstellung des Warenkorbes Web-Browser Ecommerce System 2. Bestelleingang 4. Senden des Vertrages 3. Übergabe des Vertragstextes 5. Vertragessignierung 9. Übergabe der Signatur 6. Senden der Unterschrift (Signatur und Zertifikat) Vertragsclient Vertragsserver 10. Übergabe der Anbietersignatur 7. Überprüfung des Zertifikatsstatus 8. Antwort Public Key Server Trustcenter

  26. Security Proxy Client Server Computer A Computer B Browser z.B. MSIE, Netscape 128 Bit SSL-Server 128 Bit Verbindung 40 Bit Verbindung Proxy Apache mit mod_ssl Stronghold, Roxen Challenger

  27. 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

  28. SET-Struktur

  29. SET-Zertifikatshierarchie

  30. 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

  31. 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

  32. Signaturgesetz:Anforderungen auf der Benutzerseite • Smartcard und Smartcard-Reader • Sicherheitssoftware (z.B. Anzeigekomponente) • Sorgfaltspflicht

  33. Signaturgesetzkonforme Zertifikate Vorteile: • Hohe Sicherheit / Vertrauen • Unterschriftensurrogat / Rechtsverbindlichkeit Nachteile: • Z.Z. keine Unterstützung durch Standardsoftware • Hohe Kosten für SigG-konforme Komponenten

  34. 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

  35. Vielen Dank für Ihre Aufmerksamkeit

  36. Diffie-Hellman-Schlüsselaustausch A 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

More Related