Public Key Infrastrukturen Sichere Aufbewahrung privater Schlüssel Prof. J. Buchmann FG Theoretische Informatik TU Darmstadt
Personal Security Environment (PSE) Abstrakte Modellierung der Tatsache, dass manche Objekte und Berechnungen in einer sicheren Umgebung des Teilnehmers stattfinden müssen: Private Schlüssel Operationen, die den Priv. Schlüssel verwenden Vertrauensanker 2
Realisierung von PSEs : Tokens sichere Aufbewahrung privater Schlüssel in Software Server-basiert ( hybrid ) in Hardware PKCS#12 Java Key-Store anwendungsspezifisch (Netscape,Windows) USB-Token Smartcard Hardware Security Module (HSM) 3
Eigenschaften von Tokens Kompatibilität Portabilität Verfügbarkeit Zugriffsschutz PKCS#12 gut sehr gut gut schlecht Java Key-Store eingeschränkt sehr gut gut schlecht anwendungsspezifisch schlecht schlecht eingeschränkt schlecht USB-Token gut gut gut sehr gut Smartcard gut gut gut sehr gut HSM gut schlecht gut sehr gut Server-basiert schlecht (spezielle Clients) (entfällt) sehr gut gut 4
PKCS#12: Modi Modi für die gesicherte Übertragung: Public Key Privacy Mode: Mit symmetrischem Schlüssel verschlüsselt, der mit einem öffentlichem Schlüssel des Empfängers verschlüsselt ist. Password Privacy Mode: Mit symmetrischem Schlüssel verschlüsselt, der von einem Passwort abgeleitet wurde. Public Key Integrity Mode: Mit privatem Schlüssel signiert und kann vom Empfänger verifiziert werden. Password Integrity Mode: Mit MAC signiert und kann vom Empfänger verifiziert werden. 5
PKCS#12: Struktur AuthenticatedSafe ContentInfo Plain Data Encrypted Data Enveloped data 6
Java Keystores Implementation of the Keystore Class JKS Proprietäre Algorithmen Schwache Verschlüsselung JCEKS Standard Algorithmen Starke Verschlüsselung Teil der JCE (Java Cryptography Extensions) Seit Java 1.4, aber nicht Bestandteil der Standardklassen1 Einfache Verwaltung mit Keytool 7
Anwendung Spezifisch Netscape Familie Mozilla, Firefox, Thunderbird Durch Software Security Module Standard-Implementierung proprietär Importformat PKCS#12 Windows Internet Explorer,Outlook/Express Standard-Implementierung proprietär Durch Cryptographic Service Provider Importformat PKCS#12 8
Hardware Security Module Sichere Aufbewahrung und Nutzung der Schlüssel Zufallszahlengenerierung Schlüsselgenerierung Erstellung digitaler Signaturen Schlüsselarchivierung Beschleunigung der kryptographischen Verfahren 9
Hardware Security Module Schützen die Schlüssel vor Mechanischen Angriffen Temperatur Angriffen Manipulation der elektrischen Spannung Chemische Angriffe Schlüssel werden bei Gefahr zerstört! 10
Hardware Security Module Aber... Schlüsseln können versehentlich zerstört werden z.b. Mechanische Einwirkungen beim Transport Anzahl der Schlüssel begrenzt 11
Smartcards Sichere Schlüssel Aufbewahrung und Nutzung Schlüsselgenerierung (nicht alle) Erstellung digitaler Signaturen Entschlüsselung 12
Schnittstelle zur Karte Zugriff über PKCS#11 Unterstützt die Funktionen: Change PIN Sign Decrypt Write Certificate Aber: Kartenstruktur und Fähigkeiten der Karte und des Lesers fest in der PKCS#11-Bibliothek kodiert Eine Bibiliothek für jede Kombination von Karte und Leser 13
Zugriff über PKCS#15 Struktur auf der Karte gespeichert Verzeichnis auf der Karte entspricht Applikation Zeiger auf kryptographische Objekte (ODF) PrivateKey PublicKey Certificate 14
Aufbau PKCS#15 MasterFile Descriptor DF(PKCS#15) Nutzdaten EF (DIR) Weitere DFs/EFs ODF PrKDF CDF ADF TokenInfo Zeiger auf PrivateKey Data, Certificate Data, Authentication Data (PIN) und Token Information (Seriennummer) 15
E4 NetKey (TeleSec) E4 evaluiert (nach ITSEC) Globale Files (Serienummer, etc.) SigG Applikation Vorbeschlüsselt mit einem Schlüsselpaar nach SigG NetKey Applikation 3 Schlüsselpaare vorbeschlüsselt Null-PIN Verfahren (Patentiert) 16
Java Cards Keine Dateisystem Struktur sondern Applets JCRE (Java Card Runtime Environment) verwaltet: Ressourcen der Karte Kommunikation mit den Außenwelt Ausführung der Applets kontrolliert Einhaltung der Sicherheitsbeschränkungen 17
Java Cards Wie normaler Java code aber... Kein long, double, float Characters and Strings Mehrdimensionale Arrays Threads Object Serialisation und cloning Dynamische Laden von Klassen (wie bei Treibern) Sicherheitsmanager Garbage Collector muss nicht vorhanden sein 18
Einsatz von PKIs Sichere Internetkommunikation WWW Email Programmcode Virtual Privat Networks Datei- und Datenbank-Sicherheit Wireless LAN Elektronisches Büro Elektronische Verwaltung Medizinischer Bereich 19
Anwendungsszenarien 20
Vereinfachtes Schichtenmodell 5 4 3 2 1 Anwendungsschicht Application Layer Transportschicht Transport Layer Vermittlungsschicht Network Layer Sicherungsschicht Data Link Layer Bitübertragungsschicht Physical Layer 21
Vereinfachtes Schichtenmodell 22
Bitübertragungsschicht 5 4 3 2 1 Anwendungsschicht Application Layer Transportschicht Transport Layer Vermittlungsschicht Network Layer Sicherungsschicht Data Link Layer Bitübertragungsschicht Physical Layer 23
Bitübertragungsschicht Datenstrom zwischen 2 Nachbarn Dateneinheit: Bit Übertragungsfehler (Verlust, Einfügung, Änderung von Bits, aber keine Reihenfolgefehler) Beispiele: Koaxialkabel Twisted Pair Funkverbindung Optische Leiter 24
Twisted Pair Mehradriges Kupferkabel Daten als elektrische Impulse 25
Bit-Sniffing Angreifer belauscht die Leitung Abstrahlung Man In The Middle 26
Abwehr von Bit-Sniffing Einsatz einer Stromchiffre Aber: Kommunikation über Zwischenknoten Muss umverschlüsseln Kennt alle Klartexte Sicherung auf darüberliegender Schicht 27
Sicherungsschicht 5 4 3 2 Anwendungsschicht Application Layer Transportschicht Transport Layer Vermittlungsschicht Network Layer Sicherungsschicht Data Link Layer 1 Bitübertragungsschicht Physical Layer 28
Sicherungsschicht Datenaustausch zwischen vielen Nachbarn Dateneinheit: Frame Fehlererkennung und korrektur(crc) Reihenfolge und Integrität (in Grenzen) gewahrt Flusssteuerung Beispiele: HDLC Token Ring Ethernet PPP 29
Beispiel: Ethernet Genau ein Weg zwischen zwei Stationen Carrier Sense Multiple Access Collison Detection 30
Beispiel: Ethernet 31
Frame-Sniffing Mitlauschen aller Frames z.b. Ethereal: Zusammengesetzte Pakete der höheren Protokollebenen Aufbau von Frame bis TCP 32
Abwehr von Frame-Sniffing Geswitchtes Netz Aber: Überlast hebelt Switcht aus (Flooding) Verschlüsselte Frames Aber: Bridge muss umverschlüsseln sieht alle Klartexte Sicherung auf darüber liegender Schicht 33
Vermittlungsschicht 5 4 Anwendungsschicht Application Layer Transportschicht Transport Layer 3 Vermittlungsschicht Network Layer 2 Sicherungsschicht Data Link Layer 1 Bitübertragungsschicht Physical Layer 34
Vermittlungsschicht Datenaustausch über LAN-Grenzen Dateneinheit: Paket Einfügung (Verdopplung), Reihenfolgefehler und Verlust möglich Beispiele: IP IPX X.25 35
Beispiel: IP Internet Protokoll Header und Payload Verteiltes Routing mittels Tabellen Fragmentierung IP-Packet Routing-Tabelle 36
Packet-Sniffing Angreifer lauscht IP-Pakete ab Ideal: Am Sender- bzw Empfänger-Gateway 01 37
IPsec: Encapsulated Security Payload 38
IP-Spoofing Angreifer versendet IP-Pakete mit falscher Absender-Adresse 01 39
IP-Spoofing Angreifer gibt vor, der Empfänger zu sein 01 40
IPsec: Authentication Header 41
Transportschicht 5 Anwendungsschicht Application Layer 4 Transportschicht Transport Layer 3 Vermittlungsschicht Network Layer 2 Sicherungsschicht Data Link Layer 1 Bitübertragungsschicht Physical Layer 42
Transportschicht Datenstrom zwischen entfernten Applikationen Dateneinheit: Datagramme oder Streams Zuverlässiger Datentransport von Quelle zu Ziel (Anwendung zu Anwendung) Unabhängig von physischem Netz Beispiele: RSVP UDP TCP 43
TCP Garantiert Reihenfolge und Prüft auf Übertragungsfehler (CRC) Anwendungen lauschen auf Ports Portnummern < 1024 sind reserviert 44
TCP HTTP, Port #80 SMTP, Port #25 DNS, Port #42 WWW-Browser File-Transfer (FTP-Data, Port #21) FTP, Port #20 Telnet, Port #23 DNS, Port #42 Email-Client 45
SSL/TLS: Absicherung mit SSL / TLS Wrapper um TCP (zur Anwendungschich hin) Server- und Client-Authentisierung Key Exchange für symmetrische Datenverschlüsselung MACs zur Integritätssicherung Sicherheitsziel authentisch verbindlich vertraulich unverändert datiert http https (SSL/TLS) (meist nur Server) 46
SSL / TLS Ablauf SSL/TLS (sehr vereinfacht): Hallo! Serverauthentisierung Schlüsselaustausch Nutzdaten (verschlüsselt) 142.254. 112.17 47
Anwendungsschicht 5 Anwendungsschicht Application Layer 4 Transportschicht Transport Layer 3 Vermittlungsschicht Network Layer 2 Sicherungsschicht Data Link Layer 1 Bitübertragungsschicht Physical Layer 48
Anwendungsschicht Applikationsspezifische Protokolle Dateneinheit, Flußkontrolle, Fehlerkontrolle obliegt den jeweiligen Applikationen Beispiele: HTTP FTP POP 49
WWW: Online-Banking http://www.my-bank.de/kontostand.html Aktionen des Browsers: 1. DNS-Anfrage 2. http-request named get www.my-bank.de Kontostand.html 142.254.112.17 142.254. 112.17 50
DNS-Spoofing Angriffsmöglichkeiten: 1. DNS kompromittieren (DNS-Spoofing) Serverauthentifizierung named www.my-bank.de 142.254.112.17 23.17.34.16 get Kontostand.html 142.254. 112.17 23.17. 34.16 51
HTTP-Sniffing Angriffsmöglichkeiten: 1. DNS kompromittieren 2. Lauschen Verschlüsselung (SSL/TLS) named 142.254.112.17 get www.my-bank.de Kontostand.html? 142.254. 112.17 23.17. 34.16 52
Web Security Webprotokolle DNS und http: DNS-spoofing http://www.my-bank.de/kontostand.html http://142.254.112.17/kontostand.html eavesdropping 53
Web Security Anwendungsbeispiele: Home-Banking Online-Handel Webmail Prüfungsverwaltung Anmeldung Ergebnisabfrage 54
Schreiben und speichern auf der Festplatte Email-Sicherheit Versand über SMTP Bob s Email-Provider CryptoMail (nur Empfangsteil) Alice Alice Computer Modem Versand über SMTP MX-Server POP3-Server Bob s Postfach Alice Email-Provider (nur Sendeteil) Internet Lesen und speichern auf der Festplatte Wilhelminenstraße (Funklan und Netzdosen) Hub Mailserver Cryptomail s Backupmailserver Router Abholen über POP3 Bob s Laptop Bob 55
Email-Versand (SMTP) Alice PC Alice Mailserver Applikationsspezifisches Protokoll (basiert auf TCP, Port 25) Keine Authentifizierung Versand unter anderem Namen SPAM-Mails Klartextprotokoll Mitlauschen Verändern 56
Absicherung Authentizität: SMTP nach POP Passwort (Klartext) Passwort-Hashes (z.b. Simple Authentication and Security Layer, SASL) SMTP over SSL (mit Client-Authentication) Vertraulichkeit: SMTP over SSL mehr Sicherheit 57
Bewertung Absicherung einfach möglich Versender kennt Mailserver Mailserver kennt Versender SSL: Mittel der Wahl (wenn vom Mailclient unterstützt) 58
Transport (SMTP) Alice Mailserver Bobs Mailserver: Eigenschaften wie Email-Versand ZUSÄTZLICH: Mailserver kennen sich i.d.r. nicht! Authentifizierung schwieriger Nicht vom Benutzer kontrollierbar Keine Garantien 59
Email-Abholung (POP3) Bobs Mailserver Bobs PC: Applikationsspezifisches Protokoll (TCP, Port 110) Klartext-Protokoll Passwörter mitlesbar unberechtigter Zugriff auf Postfach Emails lesbar Mitlesen und Verändern von Emails 60
Absicherung Authentizität Passwort-Hashes POP over SSL (mit Client-Authentication) Vertraulichkeit POP over SSL mehr Sicherheit 61
Bewertung Absicherung gut möglich: Benutzer kennt Postfach-Server Postfach-Server kennt Benutzer SSL: Mittel der Wahl (wenn vom Mailclient unterstützt) 62
Noch nicht gelöste Probleme Bob s Email-Provider CryptoMail (nur Empfangsteil) Alice Alice Computer Alice Email-Provider (nur Sendeteil) Modem E-Mail an sich ist nicht authentisch, nicht verbindlich, nicht vertraulich. Internet Im Netz: ungeschützte Kopien Man in the Middle -Angriffe Malicious Hosts MX-Server POP3-Server Bob s Postfach Wilhelminenstraße (Funklan und Netzdosen) Hub Mailserver Cryptomail s Backupmailserver Router Bob s Laptop Bob 63
S/MIME MIME Emails + hybride Verschlüsselung + digitale Signatur 64
S/MIME signierte Email: Integrität Authentizität Verbindlichkeit verschlüsselte Email: Vertraulichkeit während der gesamten Lebensdauer der Email 65