Kryptographie und Digitale Signatur in der Praxis Dipl.-Ing. Stephan Grill grill@anecon.com 1
Agenda - Einführung - Kryptographische Algorithmen - Public-Key Infrastruktur - Elektronische Signatur - PKI Architekturen - Einsatzmöglichkeiten - Fragen 3
Warum Kryptographie? - Unsicherheit im Netz TCP/IP und das Internet sind unsicher (per Design) - viele Fälle von Mißbrauch sind bekannt - Anforderungen an die IT Authentisierung / Kein Verleugnen / Digitale Signatur - Empfangene Daten müssen authentisch sein - Gesendete Daten dürfen nachträglich nicht geleugnet werden können Vertraulichkeit / Datenintegrität - Daten dürfen von Fremden nicht gelesen werden - Daten dürfen von Fremden nicht verändert werden 4
Einsatzmöglichkeiten -E-Mail S/MIME, PGP - Netzwerk-Verkehr IPSec - Electronic Commerce SET - Web-Applikationen SSL, TLS 5
Agenda - Einführung - Kryptographische Algorithmen - Public-Key Infrastruktur - Elektronische Signatur - PKI Architekturen - Einsatzmöglichkeiten - Fragen 6
Kryptographische Algorithmen - Symmetrische Verschlüsselung (Secret Key Encryption) - Asymmetrische Verschlüsselung (Public Key Encryption) - Message Digest - Digitale Signatur 7
Grundbegriffe Verschlüsselung / Entschlüsselung text Encryption $%& Decryption text Klartext (Plaintext) Verschlüsselter Text (Ciphertext) Klartext (Plaintext Key Key 8
Secret Key Encryption Symmetrische Verschlüsselung text Encryption $%& Decryption text Klartext verschlüsselter Text Klartext Secret Key 9
Secret Key Encryption Symmetrische Verschlüsselung - Das Verfahren: Für Verschlüsselung und Entschlüsselung wird der gleiche Schlüssel verwendet - Beispiele: AES, DES, 3DES, IDEA, RC2, RC4, Blowfish - Eigenschaften: Symmetrische Algorithmen sind im Allgemeinen wesentlich schneller als asymmetrische und daher für die Verschlüsselung von großen Datenmengen besser geeignet 10
Secret Key Encryption Symmetrische Verschlüsselung - Nachteile Die Schlüssel müssen vertraulich verteilt werden - Vorteile Viele Schlüssel - jedes Kommunikations-Paar braucht einen eigenen Schlüssel (n Anwender benötigen O(n2) Schlüssel) Vertrauliche Kommunikation in einer Gruppe nicht möglich Schnelle Ver-/Entschlüsselung 11
Public Key Encryption Asymmetrische Verschlüsselung text Encryption $%& Decryption text Klartext verschlüsselter Text Klartext Encryption Key Decryption Key (matching) 12
Public Key Encryption Asymmetrische Verschlüsselung - Das Verfahren Zwei Schlüssel werden so generiert, daß der eine (und nur dieser eine) die durch den anderen verschlüsselten Daten, unter Verwendung eines Public-Key-Encryption-Verfahrens entschlüsseln kann Ein Schlüssel ist privat (Private-Key), der zweite Schlüssel wird veröffentlicht (Public-Key) - Beispiele: RSA-Algorithmus, Rabin, ElGamal, ECC, - Entwicklung: 1976 durch Whitfield Diffie, Martin Hellman; Ralph Merkle unabhängig 13
Public Key Encryption Asymmetrische Verschlüsselung -Vorteile Löst das Problem der vertraulichen Schlüsselverteilung -Nachteile - die Daten werden mit dem Public-Key des Schlüssel-Empfängers verschlüsselt Langsam - 1000 mal langsamer als symmetrische Algorithmen 14
Public Key Systeme Anwendung: Vertraulichkeit text Encryption $%& Decryption text Alice verschlüsselter Text Bob Bob s Public-Key Bob s Private-Key (matching) 15
Public Key Systeme Anwendung: Authentisierung text Signature $%& Verification text signiert von Alice Alice Private-Key Alice Public-Key (matching) 16
Kombinierte Verschlüsselungssysteme - Verfahren Erzeugung eines temporären Schlüssels (Session-Key) und Verschlüsselung der Daten mit einem symmetrischen Algorithmus Verschlüsselung des Session-Keys mit den Public-Keys der Empfänger - Die Public-Key Verschlüsselung wird zur Lösung des Schlüssel-Verteilungsproblems symmetrischer Algorithmen angewandt - Bevorzugte Alternative für kommerzielle Anwendungen 17
One-Way Hash Funktionen - Zentraler Baustein der Public-Key-Verschlüsselung - Ziel ist eine eindeutige Komprimierung (fingerprint) der ursprünglichen Daten - Andere Begriffe: message digest, fingerprint, cryptographic checksum, compression function,.. - Aus einem Input mit variabler Länge (pre-image M) wird ein Output mit fixer Länge (hash value h) erzeugt, z.b. XOR h = H(M) 18
One-Way Hash Funktionen - Der Hash Value ist einfach zu berechnen die Ausgangsdaten nur sehr schwer - Jedem Hash Value darf nur ein Pre-Image zugeordnet werden können (collision-free) z.b. XOR erfüllt nicht diese Anforderung - Hash Funktionen sind öffentlich, keine Schlüssel notwendig - Hash Values haben normalerweise 128-160 Bit-Länge 19
Digitale Signatur -Eine digitale Signatur einer Nachricht ist ein message digest dieser Nachricht, verschlüsselt mit dem Private-Key der unterschreibenden Person Der Message Digest ist der Nachricht eindeutig zugeordnet Der verschlüsselte Digest ist eindeutig dem Anwender mit dem Private-Key zugeordnet 20
Erzeugen einer signierten Nachricht 1. 2. 3. Please authorize the purchase of the xyz system for $25,000. My message pq92834raosih98 248a982y3ahwf Message Digest Please authorize the purchase of the xyz system for $25,000. My message Hashing Function ouoh2q38qq ehieury*q& my private key Encrypting Function _&HUJ@#QH9j aw9823498awf + = Encrypted Message Digest unique to my pq92834raosih98 message 248a982y3ahwf Message Digest unique to me _&HUJ@#QH9j aw9823498awf Encrypted Message Digest Please authorize the purchase of the xyz system for $25,000. _&HUJ@#QH9j aw9823498awf Signed Message 21
Prüfung einer signierten Nachricht 1. Please authorize the purchase of the xyz system for $25,000. _&HUJ@#QH9j aw9823498awf Signed Message 2. Please authorize the purchase of the xyz system for $25,000. Received message _&HUJ@#QH9j aw9823498awf Encrypted Message Digest Hashing Function ouoh2q38qq ehieury*q& Senders public key Decrypting Function unique to pq92834raosih98 message 248a982y3ahwf Message Digest 1 pq92834raosih98 248a982y3ahwf Message Digest 2 3. pq92834raosih98 248a982y3ahwf Message Digest 1 =? 248a982y3ahwf Message Digest 2 pq92834raosih98 then Please authorize the purchase of the xyz system for AUTHENTIC $25,000. Received message 22
Key Länge - 40-Bit Keys bieten de facto keinen Schutz gegen systematisches Durchprobieren (brute force attacks) - 56-Bit Key (z.b. DES) schon zu schwach - 1995 empfahl eine Gruppe von Verschlüsselungsexperten eine minimale Key- Länge von 75-Bits - Diese Gruppe empfahl eine minimale Key Länge von 90 Bit um Daten für die nächsten 20 Jahre zu schützen 23
Sicherheit von Symmetrischen Algorithmen Dauer einer Brute Force Attacke für unterschiedliche Key-Längen Key Längen HW Kosten 40 56 64 80 112 128 $ 100 K 2 Sek 35 Std 1 Jahr 70 000 Jahre 10e14 Jahre 10e19 Jahre $ 100 M 2 millisek 2 Min 9 Std 70 Jahre 10e11 Jahre 10e16 Jahre $ 100 G 2 microsek 0.1 Sek 32 Sek 24 Tage 10e8 Jahre 10e13 Jahre Quelle: Applied Cryptography, Bruce Schneier, 1996 24
Sicherheit von Asymmetrischen Algorithmen Dauer einer Brute Force Attacke für unterschiedliche Key-Längen Key Länge 512 768 1024 1280 1536 2048 Mips-Years to factor < 200 100.000 3*10e7 3+10e9 2*10e11 4*1014 100 Mhz Pentium = 50 Mips Quelle: Applied Cryptography, Bruce Schneier, 1996 25
Vergleich von Key-Längen Symmetrische vs. Asymmetrische Verfahren Key-Längen mit vergleichbarem Widerstand gegen Brute-Force Attacken Symmetric Key Länge Public-key Key Länge 56 bits 64 bits 80 bits 112 bits 128 bits 384 bits 512 bits 768 bits 1792 bits 2304 bits Quelle: Applied Cryptography, Bruce Schneier, 1996 26
Agenda - Einführung - Kryptographische Algorithmen - Public-Key Infrastruktur - Elektronische Signatur - PKI Architekturen - Einsatzmöglichkeiten - Fragen 27
Public-Key Infrastruktur (PKI) - Zielsetzung - Komponenten Zertifikat, CRL Endbenutzer, Registrierungsstellen, Zertifizierungsstellen, Verzeichnisdienste - Funktionen Initialisierungsphase, Issued-Phase, Beendigungsphase 28
Zielsetzung einer PKI - Ausgangssituation Die Verwendung von Public-Key- Algorithmen löst die Probleme einer vertraulichen Schlüsselverteilung Public-Keys müssen nicht vertraulich verteilt werden - Zielsetzung Public-Keys werden zuverlässig einer Person zugeordnet 29
Das Zertifikat Subject's Information: Name, Organization, Address Subject's Public Key Certificate Validity Dates Certificate Serial Number - Ein Zertifikat ist eine Zuordnung eines Public-Keys zu anderen Informationen - Diese Information enthalten zumindest die Identität des entsprechenden Key-Inhabers, meist auch weitere Informationen - Diese Zuordnung wird digital signiert - Diese Signatur wird von einer glaubwürdigen Zertifizierungsstelle (Certificate Authority CA) unter Verwendung ihres eigenen Private-Keys angebracht - Die Überprüfung der Signatur auf dem Zertifiat geschieht mit dem öffentlichen Public-Key dieser Zertifizierungsstelle. Certificate Issuer's Name and Signature CA 30
Zertifikatsf sformate - PGP - X.509 von ITU (vormals CCITT) de facto Standard in der kommerziellen Welt Identitätszertifikat - Version 1-1988 - Version 2-1993, Ergänzung um 2 weitere Felder - Version 3-1996, Ergänzungen aufgrund der Erfahrungen mit PEM Attribut-Zertifikat 31
X.509 v3 Zertifikate Version (of Certificate Format) Certificate Serial Number Certification Authority's Private Key Signature Algorithm Identifier (for Certificate Issuer's Signature) Issuer (Certification Authority) X.500 Name Validity Period (Start and Expiry Dates/Times) Subject X.500 Name Generate Digital Signature optional Subject Algorithm Identifier Public Key Information Public Key Value { Issuer Unique Identifier Subject Unique Identifier Extensions Certification Authority's Digital Signature }version 2 version 3 Type Criticality Value 32
Eine Einfache PKI Certification Authority CA Cert/CRL Publish Repository Certs/CRLs ert Request evocation Req Registration Authority RA Registration Deregistration Cert Issuance End-Entity EE (User) Cert Validation 33
Endanwender (End Entity EE) Aufgaben - Erzeugt Keys (optional) - Sichere Aufbewahrung des Private-Keys - Verwendet Private-Keys zum Signieren von ausgehenden Nachrichten Entschlüsseln von empfangenen Nachrichten - Verwendet Public-Keys aus den Zertifikaten zum Prüfen der Signatur von empfangenen Nachrichten Verschlüsseln von ausgehenden Nachrichten - Prüft Zertifikate mit Hilfe von CRLs in einem Repository 34
Die Zertifizierungsstelle (CA) Aufgaben - Endanwender-Zertifikate bearbeitet Antrag für Zertifikatsausstellung von RA bearbeitet Erneuerungsanträge von der RA verteilt erstellte Zertifikate veröffentlicht die Zertifikate (im Directory Service) - Certificate Revocation Lists CRL bearbeitet Annulierungsanträge von der RA widerruft Zertifikate veröffentlicht CRL (im Directory Service) - Cross-Certificates bekommt Cross-Certificate- Anforderungen von anderen CAs Ausgabe von Cross-Certificates veröffentlicht Cross-Certificate - Definiert und befolgt Certificate Practice Statement CPS 35
Die Registrierungsstelle (RA) Aufgaben - Authentisiert die Anwender (on-line oder out-ofband Prozedur) - Beantragt Erstausstellung eines Zertifikats für Endanwender bei der CA - Beantragt Erneuerung eines Zertifikats für den Endanwender bei der CA - Beantragt die Annulierung eines Zertifikats für den Endanwender bei der CA - Erzeugt Key für den Endanwender (optional) - Beantragt Archivierung des Private-Key bei der CA (optional) 36
Verzeichnisdienst (Directory Service) Aufgaben - Veröffentlicht Zertifikate - Veröffentlicht Listen mit ungültigen Zertifikaten (Certificate Revocation Lists CRL) - Zu beachten CRL wird immer mit Zeitverzug veröffentlicht (time granularity) Zertifikate und CRLs müssen nicht geschützt werden Informationen in den Zertifikaten soll eventuell geschützt werden - Implementiert als LDAP bzw. X.500 Verzeichnisse 37
Lebenszyklus von Keys / Zertifikaten - Initialisierungsphase Registrierung Key-Paar Erzeugung Zertifikatserstellung und Key/Zertifikatsverteilung Zertifikatsverbreitung Key-Backup (optional) - Issued-Phase Zertifikatsabfrage Zertifikatsüberprüfung Key-Recovery Key-Erneuerung - Beendigungsphase Zertifikatsablauf Zertifikatswiderrufung Key-History Key-Archive 38
Agenda - Einführung - Kryptographische Algorithmen - Public-Key Infrastruktur - Elektronische Signatur - PKI Architekturen - Einsatzmöglichkeiten - Fragen 39
Merkmale einer Signatur - Authentisch Der Unterschreibende unterfertigt bewußt das Dokument - Fälschungssicher Nur der Unterschreibende und sonst niemand hat das Dokument unterfertigt - Nicht wiederverwendbar Die Signatur ist Bestandteil des Dokuments und kann nicht auf weitere Dokumente übertragen werden - Unveränderbares Dokument Keine Dokumentenänderung nach Unterfertigung möglich - Kein Verleugnen Der Unterschreibende kann später seine Unterfertigung nicht abstreiten 40
Elektronische Unterschrift - Gesetzeslage EU Richtlinie zur Elektronischen Unterschrift Nationale Gesetze und Verordnungen sind bzw. werden implementiert Einsatz von Verschlüsselung ist hier nicht reglementiert - Ziel Gleichsetzung der elektronischen Unterschrift mit der eigenhändigen Unterschrift Anerkennung vor Gericht 41
Elektronische Unterschrift -Definiert Qualifiziertes Zertifikat Sichere elektronische Unterschrift 42
Elektronische Unterschrift - Hohe Anforderungen an die Unverfälschbarkeit der Signatur Chipkarten Sichere Signatursoftware Einschränkungen von Datenformaten Sichere Viewer Evaluierung sämtlicher Signaturkomponenten Etc. 43
Anzahl von Keys und Zertifikaten - Ein einziger Privater Schlüssel Vision - Ein Privater Schlüssel mehrere Zertifikate Nicht sinnvoll - Mehrere Key-Paare, für jedes Paar ein Zertifikat z.b. ein Key-Paar für - die sichere elektronische Unterschrift - die normale elektronische Unterschrift - Verschlüsselung -Etc. 44
Agenda - Einführung - Kryptographische Algorithmen - Public-Key Infrastruktur - Elektronische Signatur - PKI Architekturen - Einsatzmöglichkeiten - Fragen 45
Umfassende PKI (eine Vision) Certification Authority Certification Repository Client Software Secure Data Archive Automatic Key Update Key Backup Key Recovery Key History Management Certificate Revocation Cross- Certification Authentication Integrity Confidentiality Non-Repudiation Support Secure Time Stamping Privilege/Policy Creation Notarization Privilege/Policy Verification Quelle: Understanding Public-Key Infrastructure 46
Eine typische Internet PKI Certification Authority Certification Repository Client Software Secure Data Archive Automatic Key Update Key Backup Key Recovery Key History Management Certificate Revocation Cross-Certification Authentication Integrity Confidentiality Non-Repudiation Support Secure Time Stamping Privilege/Policy Creation Notarization Privilege/Policy Verification Quelle: Understanding Public-Key Infrastructure 47
Mögliche Extranet PKI mit SSL Client Authentisierung Certification Authority Certification Repository Client Software Secure Data Archive Automatic Key Update Key Backup Key Recovery Key History Management Certificate Revocation Cross-Certification Authentication Integrity Confidentiality Non-Repudiation Support Secure Time Stamping Privilege/Policy Creation Notarization Privilege/Policy Verification Quelle: Understanding Public-Key Infrastructure 48
Mögliche Enterprise PKI für Sichere E-MailE Certification Authority Certification Repository Client Software Secure Data Archive Automatic Key Update Key Backup Key Recovery Key History Management Certificate Revocation Cross-Certification Authentication Integrity Confidentiality Non-Repudiation Support Secure Time Stamping Privilege/Policy Creation Notarization Privilege/Policy Verification Quelle: Understanding Public-Key Infrastructure 49
Mögliche Inter-Enterprise PKI für Signed Transactions Certification Authority Certification Repository Client Software Secure Data Archive Automatic Key Update Key Backup Key Recovery Key History Management Certificate Revocation Cross- Certification Confidentiality Non-Repudiation Support Authentication Secure Time Stamping Privilege/Policy Creation Integrity Notarization Privilege/Policy Verification Quelle: Understanding Public-Key Infrastructure 50
Agenda - Einführung - Kryptographische Algorithmen - Public-Key Infrastruktur - Elektronische Signatur - PKI Architekturen - Einsatzmöglichkeiten - Fragen 51
Einsatzmöglichkeiten E-Mail - Verschlüsselung und digitale Signatur von E-Mail-Nachrichten S/MIME PGP PEM 52
Einsatzmöglichkeiten Verschlüsselung des Netzwerkverkehrs - Verschlüsselung und Authentisierung des gesamten Netzwerkverkehrs (z.b. über öffentliche Netzwerke) IPSec S S FW R Intranet A I n t e r n e t R Intranet B FW S S 53
Einsatzmöglichkeiten Electronic Commerce - Sichere Zahlungsmöglichkeiten im Internet SET, DigiCash belastet Konto Bank autorisiert schreibt gut SET zahlt Kunde bestellt CA liefert verrechnet prüft Kunden-Bonität Lieferant 54
Einsatzmöglichkeiten Web-Server & Browser - Verschlüsselung und Authentisierung des gesamten http-datenverkehrs zwischen einem Web-Server und einem Browser SSL, TLS 55
Literatur - Understanding Public-Key Infrastructure - Concepts, Standards, and Deployment Considerations Carlisle Adams, Steve Lloyd Macmillan Technical Publishing, 1999 ISBN 1-57870-166-x - Secure Electronic Commerce: building the infrastructure for digital signatures and encryption Warwick Ford, Michael S. Baum Prentice Hall, 1997 ISBN 0-13-476342-4 - Applied Cryptography - Protocols, Algorithms, and Source Code in C Bruce Schneier John Wiley & Sons, 1996 ISBN 0-471-11709-9 56
Literatur - IETF PKIX Working Group http://www.ietf.org/html.charters/pkix-charter.html - XML Digital Signature http://www.ietf.org/html.charters/xmldsig-charter.html - Weitere IETF Security Working Groups http://www.ietf.org/html.charters/wgdir.html#security_area 57
Agenda - Einführung - Kryptographische Algorithmen - Public-Key Infrastruktur - Elektronische Signatur - PKI Architekturen - Einsatzmöglichkeiten - Fragen 58