TU Braunschweig Institut für Betriebssysteme und Rechnerverbund Sicherheit in Netzen und verteilten Systemen Prof. Dr. Stefan Fischer Kapitel 6: Protokolle und Anwendungen Wintersemester 2002/2003 Überblick • IPsec • Authentisierungsanwendungen – Kerberos • Vertraulichkeit in Electronic Mail – PGP – S/MIME • Vertraulichkeit im WWW – SSL – SET Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-2 Anordnung der Techniken • Auf welcher Schicht bringt man Sicherheitsmechanismen an? • Es haben sich verschiedene Varianten entwickelt (und entwickeln sich noch). HTTP HTTP FTP SMTP FTP SMTP SSL/TLS Kerberos TCP TCP UDP IP/IPsec IP Netzwerkebene Prof. Dr. Stefan Fischer IBR, TU Braunschweig Transportebene Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle SET PGP S/MIME HTTP SMTP TCP IP Anwendungsebene 6-3 1 FTP HTTP IPsec SMTP TCP IP/IPsec • IPsec = IP security • Initiiert 1994 durch das Internet Architecture Board (IAB) • Insbesondere als Reaktion auf die verschiedenen bekannten IP-Angriffe (IP Spoofing etc.) • Architektur – Spezifiziert in vier RFCs – Architektur, Authentifizierung, Vertraulichkeit, Schlüsselmanagement werden abgedeckt • Für IPv4 als Zusatzprotokoll, in IPv6 bereits integriert Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-4 Anwendungen von IPsec • Vor allem geeignet, um Kommunikation in einem LAN, in privaten und öffentlichen WANS und über das Internet • Beispiele: – Aufbau eines Virtual Private Network über ein öffentliches WAN bzw. das Internet – Sicherer entfernter Zugriff über das Internet (Telecommuting) – Extranet-Anbindung für Datenaustausch mit Partnern Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-5 IPsec – Beispiel Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-6 2 IPsec – Architektur • Sicherheitsmechanismen werden über IP Extension Header zur Verfügung gestellt (nach dem normalen IP-Protokollkopf) • Zwei wesentliche Protokolle bzw. Header: – Authentication Header (AH) – Encapsulating Security Payload Header (ESP) • Aufgaben/Fähigkeiten: AH ESP (ohne Auth.) ESP (mit Auth) Zugangskontrolle ✪ ✪ ✪ Verbindungslose Integrität ✪ Authentifizierung ✪ Replay-Verhinderung ✪ ✪ ✪ ✪ ✪ Vertraulichkeit ✪ ✪ Datenflussvertraulichkeit ✪ ✪ Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-7 Security Associations • Zwischen dem Sender eines IPsec-Paketes und dem Empfänger besteht eine sog. Security Association, über die die Pakete identifiziert/zugeordnet werden • Für voll-duplex: zwei Associations notwendig • Eine SA wird beschrieben durch: – Einen Security Parameter Index (SPI): eindeutiger Identifier – Die Ziel-IP-Adresse – Security Protocol Identifier: gibt an, ob es sich um eine AH- oder ESP-Verbindung handelt Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-8 Benutzungsmodi • Beide Protokolle können im – Transportmodus (nur Payload wird behandelt) und im – Tunnelmodus (ganzes Paket wird behandelt und in ein neues Paket eingepackt) betrieben werden • Implikationen: Transport Mode Tunnel Mode AH Authentifiziert IP Payload und Teile des IP Headers Authentifiziert das gesamte innere IPPaket und Teile des Headers des äußeren Pakets ESP (ohne Auth.) Verschlüsselt IP Payload und alle dem ESP-Header folgenden Erweiterungsheader Verschlüsselt das innere IP-Paket ESP (mit Auth.) Verschlüsselt IP Payload und alle dem ESP-Header folgenden Erweiterungsheader; autrhentifiziert nur IP Payload Verschlüsselt und authentifziert das innere IP-Paket Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-9 3 Authentication Header • Authentifzierung basiert auf einem Message Authentication Code • Unterstützt werden müssen – MD5 – SHA-1 • Beispiel für einen Header im Tunnelmodus: Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-10 Encapsulating Security Payload • ESP verwendet symmetrische Verschlüsselung, unterstützt werden muss auf jeden Fall DES (Schlüsselaustausch: ISAKMP/Oakley auf Basis von Diffie-Hellman) • Optional: Triple-DES, IDEA, CAST, Blowfish, etc. • Beispiel im Tunnelmodus Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-11 Vorteile von IPsec • Kann im Firewall implementiert werden Æ sichere Kommunikation mit außen; innen kann „normal“ kommuniziert werden • Transparent für Anwendungen Æ keine Code-Änderungen nötig • Transparent für Benutzer (kein Sicherheitswissen notwendig) • Verschiedene Granularitäten möglich (alle, einige, einer) • Kann außerdem für sicheres Routing eingesetzt werden (mit Autorisierungen) Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-12 4 HTTP Secure Socket Layer FTP SMTP SSL/TLS TCP IP • Erfunden von Netscape, um Daten im WWW sicher übertragen zu können • Hat sich heute zu Transport Layer Security (TLS) weiter entwickelt • Kann als Transportschichtprotokoll entweder – Direkt mit der Applikation geliefert werden (Netscape Navigator, Internet Explorer, die meisten Web-Server) oder – Für ähnlich allgemeine Nutzbarkeit wie IPsec in das Betriebssystem integriert werden Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-13 Architektur von SSL • SSL setzt direkt auf TCP auf, um eine zuverlässige und sichere Ende-zu-Ende-Verbindung zur Verfügung zu stellen. • Es ist kein einzelnes Protokoll, sondern eine Sammlung: Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-14 Wichtige Konzepte • SSL Connection: – Eine Transportverbindung im Sinne des OSIModells – Peer-to-peer-Semantik – Jede Connection gehört zu einer Session • SSL Session – Eine Assoziation zwischen zwei kommunizierenden Partnern, die mehrere Connections umfassen kann – Ziel: Security-Parameter werden nur einmal zu Beginn der Session ausgehandelt und dann für jede Connection verwendet Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-15 5 SSL Record Protocol • Zwei Dienste für SSL-Connections: – Vertraulichkeit: symmetrische Verschlüsselung von SSL Payload (Schlüssel kommt vom SSL Handshake Protocol) – Nachrichtenintegrität: basierend auf verschlüsseltem MAC Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-16 SSL Change Cipher Spec Protocol • Sehr einfaches Protokoll – Eine einzige Nachricht bestehend aus – Einem einzigen Byte • Zweck: Änderung des Zustands der Verbindung, indem die Änderung des Chiffriersystems bestätigt wird Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-17 SSL Alert Protocol • Wird benutzt, um das Gegenüber über Probleme einer Verbindung bzw. Session zu unterrichten • Nachrichten werden ebenfalls verschlüsselt übertragen • Verschiedene Level; der Level „fatal“ sorgt für den Abbruch der Verbindung und das Verbot eines Neuaufbaus für die aktuelle Session • Gründe für „fatal“: – – – – – Unerwartete Nachrichten Inkorrekte MACs Misslingen des Handshakes Illegale Parameter Dekompressionsfehler Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-18 6 SSL Handshake Protocol • Das komplexeste der SSL-Protokolle • Aufgaben: – Authentifizierung von Client und Server – Verhandlung eines Verschlüsselungs- und MACAlgorithmus – Verhandlung entsprechender Schlüssel • Wird ausgeführt, bevor irgendwelche Anwendungsdaten übermittelt werden Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-19 Handshake-Protokollablauf Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-20 SET Kerberos PGP Kerberos HTTP S/MIME SMTP TCP UDP IP • Kerberos ist eine Authentifzierungsanwendung, entwickelt am MIT • Zweck: authentifzierter Zugriff auf Services in einem offenen Netz; insbesondere kann den Clientrechnern nicht getraut werden: – Ein Benutzer könnte unrechtmäßig eine Workstation bzw. ein fremdes Konto nutzen. – Ein Benutzer könnte die IP-Adresse seines Rechners spoofen. – Ein Benutzer könnte Replay-Attacken ausführen. • Ansatz: – ein zentralisierter Authentifizierungsserver – Authentifiziert Clients gegenüber Servern und umgekehrt – Basiert vollständig auf symmetrischer Kryptographie Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-21 7 Überblick über die Kerberos-Operationen Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle PGP 6-22 Kerberos UDP SET PGP S/MIME HTTP SMTP TCP IP • PGP = Pretty Good Privacy • Ein Programm (mit Plugins) für praktisch alle Plattformen, das Vertraulichkeit und Authentifizierung für Email und Dateispeicher anbietet • Entwickelt von Phil Zimmermann gegen den Widerstand von NSA & Co, hat sich aber am Ende durchgesetzt • Heute äußerst populär insbesondere für die sichere Email-Kommunikation Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-23 PGP – Vorteile • Es gibt immer eine frei verfügbare Version für alle Plattformen. • Es werden die besten Krypto-Algorithmen eingesetzt – RSA, DSS, Diffie-Hellman – IDEA, 3DES, CAST-128 – SHA-1 • Anwendung im industriellen genauso wie im privaten Bereich • Privat entwickelt, ohne jegliche Regierungskontrolle (wichtig für die komplett Paranoiden) • Wird heute als RFC standardisiert (RFC 3156) Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-24 8 Wichtige Eigenschaften • Authentifzierung: – Mittels SHA-1; der MAC-Code wird mit dem privaten RSA-Schlüssel des Senders verschlüsselt • Vertraulichkeit: – Zwei Schlüssel: für jede Nachricht wird ein symmetrischer Schlüssel (session key) generiert, mittels RSA verschlüsselt und der Nachricht vorangestellt – Nachricht wird mit diesem Schlüssel verschlüsselt – Empfänger entschlüsselt erst den Session Key und dann damit die Nachricht Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-25 Schlüsselringe • Jeder Kommunikationspartner besitzt zwei Schlüsselringe: – Einer für die eigenen privaten/öffentlichen Schlüssel – Der andere für die öffentlichen Schlüssel der Partner • Der eigene private Schlüssel wird nicht offen gespeichert, sondern geschützt: – Der Benutzer muss eine Passphrase eingeben – Daraus wird ein 160-Bit-Hashwert generiert. – Mit diesem wird der private Schlüssel symmetrisch verschlüsselt und erst dann abgespeichert – Passphrase und Hashwert werden weggeworfen. → nur mit der Passphrase kann der private Schlüssel wieder gewonnen werden Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-26 PGP Nachrichtengenerierung Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-27 9 Public-Key Management • Wie gibt man seinen Schlüssel sicher weiter bzw. kommt an die seiner Partner? • Verschiedene Methoden: – Physikalisch auf Floppy – Verifikation über telefonischen Kontakt, Vergleich der Fingerprints (Hashwerte), s. Fischer-PGP – Vermittlung eines vertrauenswürdigen Dritten • Vertrauensnetzwerk spielt in PGP eine große Rolle Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-28 SET S/MIME Kerberos PGP S/MIME HTTP SMTP TCP UDP IP • Das eher industriell geprägte Gegenstück zu PGP • Basiert auf dem MIME-Email-Austauschformat • MIME = Multipurpose Internet Mail Extensions, eingeführt im wesentlichen, um auch binäre Daten flexibel übertragen zu können • Zu diesem Zweck wurden zahlreiche MIME Content Types definiert z.B. – – – – text/plain image/jpeg video/mpeg application/postscript • Für jeden Typ ist eine Kodierung definiert. Außerdem kann der Empfänger sagen, wie ein bestimmter empfangener MIME-Typ behandelt werden soll. Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-29 Funktionen von S/MIME • Enveloped Data – Verschlüsselter Inhalt beliebigen Typs • Signed Data – Message Digest der MIME-Nachricht (bzw. Teilen davon) wird mit privatem Schlüssel signiert • Signed-and-Enveloped Data – Kombination der beiden • Eingesetzte Verfahren: – SHA-1, MD5 – DSS, RSA, Diffie-Hellman – Triple-DES, RC2/40 • Definition neuer MIME-Typen (signed, enveloped) Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-30 10 SET Kerberos SET PGP S/MIME HTTP SMTP TCP UDP IP • SET = Secure Electronic Transaction • Entstanden aus einer 1996-Initiative von Visa und Master Card • Ziel: sichere Bezahlung per Kreditkarte in öffentlichen Netzen • Seit 1998 gibt es Produkte • SET ist kein Bezahlsystem, sondern eine Menge von Sicherheitsprotokollen, die im Grunde 3 Dienste erbringen: – Sicherer Kommunikationskanal zwischen allen an einer Transaktion beteiligten Parteien – Vertrauen durch die Verwendung von X.509-Zertifikaten – Stellt den Schutz privater Daten sicher Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-31 Wichtigste Eigenschaften • Vertraulichkeit – DES – Der Verkäufer sieht die Kreditkartennummer des Käufers nicht! • Integrität der Daten: – Digitale Signaturen mittels RSA und SHA-1 Hashwerten • Authentifizierung des Kundenkontos: – Mittels X.509 Zertifikaten und RSA • Authentifizierung des Händlers – Ebenfalls X.509 und RSA Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-32 Teilnehmer an SET z.B. Bank z.B. Visa Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-33 11 Ablauf einer SET-Transaktion 1. Der Kunde eröffnet bei einer (SET-unterstützenden) Bank ein Kredidkartenkonto. 2. Der Kunde bekommt dafür ein von der Bank digital unterschriebenes Zertifikat. Dieses verifiziert den öffentlichen Schlüssel des Kunden. 3. Auch die Händler müssen Zertifikate erwerben. 4. Der Kunde wählt beim Händler ein Produkt aus und initiiert den Bestellprozess. 5. Der Händler kann vom Kunden verifiziert werden. 6. Der Kunde schickt die Bestellung und die Bezahlung. Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-34 Ablauf einer SET-Transaktion (II) 7. Der Händler fragt über das Payment Gateway beim Acquirer nach einer Autorisierung für diese Zahlung. 8. Der Händler bestätigt die Bestellung. 9. Der Händler stellt die Güter bzw. Dienstleistungen zur Verfügung. 10. Der Händler erbittet vom Bezahlnetzwerk die Bezahlung. Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-35 Duale Signatur • Erstmals verwendet von SET • Ziele: – Kunde soll nachweisen können, dass eine bestimmte Bezahlinformation zu einert bestimmten Bestellung gehört – Die Bank muss die Bestellung nicht kennen – Der Händler muss die Kreditkarteninfo nicht kennen. • Idee: signiere beide Dokumente mit je einem Hashwert, bilde über diese wieder einen Hash und signiere den. Dann kann kein Hashwert bzw. kein Dokument gefälscht werden Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-36 12 Duale Signatur (II) Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-37 Weitere Protokolle • Es gibt eine Reihe weiterer spezialisierter Anwendungen und Protokolle, die den Sicherheitsbereich tangieren. • Insbesondere im ePayment haben sich einige Verfahren herausgebildet: – eCoins – Millicent –… Prof. Dr. Stefan Fischer IBR, TU Braunschweig Sicherheit in Netzen u. verteilten Systemen Kapitel 6: Anwendungen u. Protokolle 6-38 13