Post on 05-Apr-2015
S/MIME & RSA
Email-Verschlüsselung
für Jedermann
Kryptographische Verfahren
Symmetrische Verfahren- DES (Data Encryption Standard)- Triple-DES (3DES)- RC2, RC4- IDEA
Asymmetrische Verfahren- Diffie Hellman- RSA- DSS
Symmetrische Verschlüsselung
Bei diesen klassischen Verschlüsselungsverfahren benutzen Sender und Empfänger dieselben Ver- und Entschlüsselungsschlüssel e und d.
Problem: Sender und Empfänger müssen diese Schlüssel austauschen, bevor Sie korrespondieren können. Was ist, wenn der Schlüsselaustausch abgehört wird?
Asymmetrische Verschlüsselungsverfahren Im Jahr 1976 hatten Diffie und Hellman eine
revolutionierende Idee. Bei den von ihnen erfundenen asymmetrischen
Verschlüsselungsverfahren benutzen alle Teilnehmer dieselben Verschlüsselungsfunktionen V und E, aber jeder Teilnehmer hat seine eigenen Schlüssel e und d (zwei Stück).
Diese Verfahren heißen Public-Key-Verfahren, aus folgendem Grund.
Öffentlicher und privater Schlüssel
Public Key: Jeder Teilnehmer macht seinen Verschlüsselungsschlüssel e öffentlich bekannt, beispielsweise in einer öffentlichen Schlüsselliste im Internet, damit ihm jeder andere Teilnehmer verschlüsselte Nachrichten senden kann.
Private Key: Jeder Teilnehmer hält seinen privaten Entschlüsselungsschlüssel d dagegen absolut geheim.
Public Key Kryptographie
Eine mit einem Public Key verschlüsselte Nachricht kann nurmit zugehörigem Private Key entschlüsselt werden.
Public Key Kryptographie
Integrität wird gewährleistet durch Message Digest - Hash über den Inhalt der Nachricht
Identität kann durch digitale Unterschrift sichergestellt werden. Diese wird mit dem Private Key erzeugt und kann mit dem Public Key verifiziert werden
Beispiel Algorithmen von Public-Key-Systemen:– Diffie-Hellman; Logarithmus– RSA; Faktorisieren vom Produkt zweier Primzahlen
Public Key Kryptographie
PK-Verfahren
Damit ein Public-Key-Verfahren sicher ist, muss es folgende Eigenschaften haben:
Da der Verschlüsselungsschlüssel bekannt ist, darf es (mit vertretbarem Aufwand) nicht möglich sein, hieraus den Entschlüsselungsschlüssel zu bestimmen.
Das RSA-Verfahren
Ist ein „Asymmetrisches“ Verfahren, verwendet also verschiedene Schlüssel zum Ver- und Entschlüsseln
Benannt nach seinen Erfindern Rivest, Shamir und Adleman
Beruht auf der Idee, dass die Primfaktorenzerlegung von großen Zahlen (>512 Bit) enormen Rechenaufwand verursacht.
3 Schlüssel (2 öffentliche, 1 geheimer):öffentlich: das Modul n, der Encryptor egeheim: der Decryptor d
Schwer invertierbares Verfahren
Das RSA-Verfahren
Wähle zwei Primzahlen p und q mit jeweils mindestens 100 Dezimalstellen
Berechne N = p · q Berechne die Hilfsgröße φ(N) = (p-1) · (q-1), wobei φ für
die Eulersche φ-Funktion steht Wähle eine Zahl e > 1, die teilerfremd zu φ(N) ist Berechne die Zahl d so, dass das Produkt e·d kongruent
1 bezüglich des "Moduls" φ(N) ist, dass also e·d ≡ 1 mod φ(N) gilt, dies geht mit dem euklidischen Algorithmus
Schlüsselerzeugung
Die Zahlen N und e werden veröffentlicht (öffentlicher Schlüssel, public key), d, p und q und damit auch φ(N) bilden den geheimen Schlüssel (secret key)
Das RSA-Verfahren
Angriffsmöglichkeiten:
BruteForce-Attacke (aussichtslos)
Primfaktorzerlegung von n um auf d zu schließen (bei n >= 1000 Bits aussichtslos)
„Knacken“ des RSA-Verfahrens Zahlen p, q und d sind geheim und lassen sich nur mit
sehr hohem Aufwand aus n und e berechnen:
Einsatz von PK-Kryptographie
SSL von Netscape PCT von Microsoft S-HTTP von EIT Ecash von Digicash SET von Visa,Mastercard S/MIME (Secure E-Mail) von Microsoft, Lotus
Das Copyright für den RSA-Algorithmushat die RSA Data Security Inc.(http://www.rsa.com)
Einige Lizenznehmer und Produkte sind:
S/MIME
… steht für „Secure MIME“ S/MIME vertraut einer hierarchischen
Authentisierungsstruktur Der Standard S/MIME baut auf digitalen Zertifikaten auf Erweitert den bereits etablierten MIME Standard;
zusätzliche Informationen werden als Teile einer „Multipart-MIME“-Nachricht integriert:- multipart/signed- multipart/encryptedBinäre Daten werden base64-kodiert übertragen
S/MIME – Aufbau einer Nachricht
Content-Type: multipart/type; boundary="Boundary"
Content-Transfer-Encoding: base64
--Boundary
encryption info
--Boundary
message
--Boundary
signature
--Boundary--
Zertifikatsbasierte Systeme
Jeder Benutzer erhält ein digitales Zertifikat welches seine Identität beschreibt und die öffentlichen bzw. privaten Schlüssel enthält.
Jedes Zertifikat ist von einer ausgebenden Stelle beglaubigt, die ihrerseits wieder von höheren Stellen beglaubigt sein können.
Das Vertrauenssystem ist streng hierarchisch. Den gemeinsamen Vertrauensanker bildet ein sog.
Wurzel-Zertifikat (Root Certificate). Zertifikatsbasierte Systeme passen sich gut in
Unternehmenshierarchien ein.
Zertifikate
Ein Zertifikat verknüpft Daten eines kryptographischen Schlüssels (oder Schlüsselpaars, bestehend aus öffentlichem und privatem Schlüssel) mit Daten des Inhabers und einer Zertifizierungsstelle, sowie weitere Spezifikationen wie Version, Gültigkeitsdauer, Verwendungszweck und Fingerprint.
Die Definitionen nach PKCS legen das Inhalts-Format fest, der Standard X.509 (genauer: ITU x.509 v3 nach RFC3280, basierend auf ASN.1 Format) beschreibt das Binär-Datenformat, oftmals als Base-64 oder DER kodiert.
Zertifikate
Von der Zertifizierungsstelle unterschriebener öffentlicher Schlüssel Wesentliche Bestandteile:
- Seriennummer- Persönliche Daten (Name, Firmenzugehörigkeit)- Öffentliche Schlüssel einer Person oder Organisation- Unterschrift der Zertifizierungsstelle
Von Dritten leicht überprüfbar Beschränkte Gültigkeitsdauer
- Ungültigkeit nach Ablauf der Frist- Möglichkeit des vorzeitigen Widerrufs (Certificate Revocation)
State-Of-The-Practice: Identitäts-Zertifikate für Server und Anwender nach dem Standard X.509 Version 3
Zertifikate nach ITU-T X.509v3
ZertifikatBeispiel
Certificate name TC TrustCenter for Security in Data Networks GmbH TC TrustCenter Class 0 CA Hamburg Hamburg, DE emailAddress: certificate@trustcenter.de Issuer TC TrustCenter for Security in Data Networks GmbH TC TrustCenter Class 0 CA Hamburg Hamburg, DE emailAddress: certificate@trustcenter.de Details Certificate version: 3 Serial number: 1 Not valid before: Mar 9 13:54:48 1998 GMT Not valid after: Dec 31 13:54:48 2005 GMT Fingerprint: (MD5) 35 85 49 8E 6E 57 FE BD 97 F1 C9 46 23 3A B6 7D Fingerprint: (SHA-1) 44 81 A7 D6 C9 44 75 84 CF ED 8A 47 C9 AE 6A F0 1E 39 75 18 Public key algorithm: rsaEncryption Public-Key (1024 bit): Modulus: 00: A3 CC 7E E4 FA 5F E5 D7 39 67 86 38 AA 5B 37 6D 10: 0F 01 2B 08 01 FA A1 B4 6A F4 73 05 C3 18 B4 DC 20: 8D F4 1E DE 5C AB 21 8A 3B 63 C8 23 8B D8 C1 3F 30: 7C A2 74 99 67 19 71 9F CC 40 4E 18 2A 09 2B 27 40: 6B DB DB 11 78 C4 A0 85 9C 34 C2 A1 2E 02 4B 0B 50: 21 F4 B3 4B 1D B3 46 B2 B4 6B 12 54 4C 1A CA 27 60: F5 27 33 B3 B9 C6 8A C5 28 9F B0 E2 8A E8 54 3B 70: 7F 0B 8D E0 D1 0E 4E 6D 2F F0 D5 BF BE E6 7D DF Exponent: 01 00 01 Public key algorithm: md5WithRSAEncryption 00: 4D 07 7F 5F 09 30 19 92 AA 05 47 7A 94 75 54 2A 10: AE CF FC D8 0C 42 E1 45 38 2B 24 95 B2 CA 87 CA 20: 79 C4 C3 97 90 5E 62 18 C6 C9 38 61 4C 68 35 D3 30: 4C 14 11 EB C4 CD A1 A9 D8 C5 9E 68 27 32 07 35 40: 45 04 F8 5F 21 A0 60 1E 1C 00 48 04 58 D2 C5 CB 50: AE 6D 32 6E 3D 77 95 8C 85 C7 E5 AE 50 9D 75 4A 60: 7B FF 0B 27 79 EA 4D A4 59 FF EC 5A EA 26 A5 39 70: 83 A4 D1 78 CE A7 A9 7E BC DD 2B CA 12 93 03 4A Extensions: Netscape Revocation Url: https://www.trustcenter.de/cgi-bin/check-rev.cgi? Netscape CA Revocation Url: https://www.trustcenter.de/cgi-bin/check-rev.cgi? 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 0 CA Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA
Das folgende Beispiel zeigt ein selbstsigniertes Wurzel-Zertifikat (root-certificate) einer Wurzel-Zertifizierungsstelle (sog. Certificate Authority (CA))
Zertifikate - Abwicklung
Lebenszyklus eines Zertifikates
Schlüsselpaar wird selbst oder von der Registrierungsstelle erzeugt
Registrierung beinhaltet Erbringung der vorgeschriebenen Identitätsnachweise
Verzeichnisdienst ermöglicht anderen Benutzern Zugriff auf das Zertifikat
Bei Widerruf: Publikation des ungültigen Zertifikates über Sperrliste
Zertifikate: State-of-the-Practice
Entsteht 1993 mit Entwicklung von SSL Primäres Ziel: Server-Authentifizierung für Electronic-Commerce-
Anwendungen Flaches Vertrauensmodell, mehrere Zertifikate sind Bestandteil des
WWW-Browser (z.B.: Netscape Communicator, Internet Explorer) Beispiel Zertifizierungsstelle: RSA-Tocher Verisign
(www.verisign.com) Server müssen von einer dieser Stellen zertifiziert werden Zertifizierungsstellen-Software auch für den unternehmensinternen
Bereich erhältlich (Netscape, Xcert) Benutzer-Zertifikate sind immer mehr verbreitet
Was noch übrig war:
PEM: privacy enhanced mail PGP: pretty good privacy
Quellen:
http://www.informatik.uni-leipzig.de/~meiler/Schuelerseiten.dir/TZuther/Pres/Crypt.ppt
http://www.mathematik.uni-kassel.de/~koepf/Vortrag/geheim.pdf http://www.computec.ch/dokumente/unsortiert/sicherheit.pdf http://de.wikipedia.org/wiki/RSA-Kryptosystem http://de.wikipedia.org/wiki/Elektronische_Unterschrift http://www-sal.cs.uiuc.edu/~steng/cs497_01/pgp_smime.ppt