380 likes | 488 Views
Seminar Internet-Technologie. Inhalt Zertifikate SSL HTTPS SSH. Zertifikate. Warum Zertifikate? Ziel: öffentliche Schlüssel sicher verteilen Problem: Schlüsselverteilungszentrum verteilt 24h am Tag öffentliche Schlüssel Müsste 24h am Tag online sein
E N D
Seminar Internet-Technologie • Inhalt • Zertifikate • SSL • HTTPS • SSH Seminar Internet-Technologie SS 07
Zertifikate • Warum Zertifikate? • Ziel: • öffentliche Schlüssel sicher verteilen • Problem: • Schlüsselverteilungszentrum verteilt 24h am Tag öffentliche Schlüssel • Müsste 24h am Tag online sein • Schlüsselverteilungszentrum stellt Engpass dar • Bei Ausfall Sicherheit im Netz bricht zusammen • Lösung: • Kein Schlüsselverteilungszentrum, das online sein muss • Öffentliche Schlüssel werden zertifiziert • Zertifizierungsstelle (Certification Authorithy, CA) • Zertifikate: Firefox Extras Einstellungen Erweitert Verschlüsselung Zertifikate anzeigen Seminar Internet-Technologie SS 07
Zertifikate • Zertifikate erstellen • Wer braucht Zertifikate? • Betreiber von Servern (Bob), die die gestatten möchten, das Clienten (Alice) sicher mit ihnen kommunizieren können. • Was braucht man zur Zertifizierung? • Bob braucht einen öffentlichen Schlüssel und einen Ausweis/Führerschein zur Identifizierung. • Wie wird zertifiziert? • Bob beantragt Zertifizierung gegen Aufpreis bei einer Zertifizierungsstelle. • Die Zertifizierungsstelle stellt ein Zertifikat aus, und unterzeichnet den SHA-1-Hash mit dem privaten Schlüssel der Zertifizierungsstelle. Seminar Internet-Technologie SS 07
Zertifikate • Zertifikat-Ansicht • AllgemeinDetails Seminar Internet-Technologie SS 07
Zertifikate • Die Aufgabe von Zertifikaten • Die Hauptaufgabe von Zertifikaten ist den öffentlichen Schlüssel mit dem Namen des Eigentümers zu verbinden. • Zertifikate sind selbst nicht geheim oder geschützt • Bob kann sein Zertifikat z.B. auf seiner Website verlinken Seminar Internet-Technologie SS 07
Zertifikate • „Man in the middle-Angriff“ ohne Zertifikate • Situation: • Client (Alice) will sicher mit Server (Bob) kommunizieren • Alice und Bob kennen sich nicht (auch nicht den jeweiligen öffentlichen Schlüssel) • Problem: • Alice tippt URL von Bob im Browser ein • Der Browser schlägt die DNS-Adresse von Bob Website nach und schickt eine GET-Anforderung • Trudy fängt GET-Anforderung ab und sendet eine gefälschte Website und ersetzt den öffentlichen Schlüssel k_pub[Bob] von Bob durch ihren eigenen k_pub[Trudy] • Alice sendet Nachricht mit k_pub[Trudy] verschlüsselt, Trudy entschlüsselt sie • Trudy liest (oder schlimmer ändert) die Nachricht von Alice an Bob Seminar Internet-Technologie SS 07
Zertifikate • „Man in the middle-Angriff“ mit Zertifikate • Lösung (mit Zertifikat): • Trudy schickt die gefälschte Seite mit ihrem öffentlichen Schlüssel k_pub[Trudy] und ihr eigenes Zertifikat (oder sie fälscht das von Bob) • Alice liest das Zertifikat und sieht, dass Bob‘s Name fehlt • Wenn aber Alice den SHA-1-Algorithmus für das Zertifikat ausführt, erhält die einen Hash, der nicht mit dem übereinstimmt, den sie erhält, wenn sie den bekannten öffentlichen Schlüssel der Zertifizierungsstelle auf das Zertifikat anwendet. 1. erhalte die Website von Bob 2. Falsche Website mit k_pub[Trudy] 3. Ek_pub[Trudy](p) 4. 4. Ek_pub[Bob](p) Alice Trudy Bob Seminar Internet-Technologie SS 07
Zertifikate • Zertifikate mit Attributen (Datenschutz) • Bsp: • Objektorientiertes Verteilungssystem (von Bob) bei dem Zertifikate Attribute enthalten • Jedes Objekt enthält Methoden (Premiumdienste, Jugendschutz...) • Zertifikat enthält Bitmap, welche Methoden der Client (Alice) aufrufen darf, (ist an öffentlichen Schlüssel gebunden) • Kann Alice den Besitz des entsprechenden privaten Schlüssels nachweisen, kann sie die Dienste aufrufen • Vorteil: • Identität von Alice muss nicht bekannt sein • Datenschutz gewährleistet Seminar Internet-Technologie SS 07
Zertifikate • Standard für Zertifikate: X.509 • Problem: • Verwaltung verschiedener Zertifikatsformate wird schnell problematisch • Lösung: • Standard für Zertifikate X.509 • Von ITU genehmigt • Beschreibung im RFC 3280: • http://www.ietf.org/rfc/rfc3280.txt Seminar Internet-Technologie SS 07
Zertifikate • Felder in Zertifikaten X.509: Seminar Internet-Technologie SS 07
Zertifikate • Schwachstellen von Zertifikaten • Eine Zertifizierungsstelle weltweit kann nicht funktionieren • Würde unter der Last zusammenbrechen • Würde zentralen Fehlerpunkt darstellen • Mögliche Lösung: • Mehrere Zertifizierungsstelle, die von der selber Organisation, die den gleichen privaten Schlüssel zur Unterzeichnung der Zertifikate verwenden • Neues Problem: • Dutzende Server haben den gleichen Schlüssel Schlüssel können durchsickern Seminar Internet-Technologie SS 07
Zertifikate • Zertifizierungsstellen – PKI • Problem: Welche Organisation kommt als Zertifizierungsstelle in Frage? • Eine Behörde weltweit (legitim und vertrauenswürdig?) • Stattliche Zertifizierungsstellen? • Nicht stattliche Zertifizierungsstellen? • Lösung: • Andere Vorgehensweise zur Verteilung öffentlicher Schlüssel: • PKI (Public Key Infrastructure [Infrastruktur für öffentliche Schlüssel]) Seminar Internet-Technologie SS 07
Zertifikate RA 2 ist autorisiert. Ihr öffentlicher Schlüssel ist 47383E§349... Signatur von Root Root • Zertifizierungsstellen – PKI • Root = oberste Ebene (jeder kennt sie, öffentlicher Schlüssel (meist ganz viele Roots) im Browser) • RA = Regional Authority (Regionale Zertifizierungsstelle) • CA = Certification Authority (Zertifizierungsstelle) RA 2 RA1 CA 5 ist autorisiert. Ihr öffentlicher Schlüssel ist 6384AF863B... Signatur von RA2 CA 1 CA 2 CA 3 CA 4 CA 5 Seminar Internet-Technologie SS 07
Zertifikate - Ende • Annullieren von Zertifikaten • Problem: • Zertifikate können ungültig/entzogen werden wenn sie: • Missbraucht, abgelaufen, nicht verlängert • oder der private Schlüssel der Zertifizierungsstelle abgelaufen ist • Zertifikate können wieder gültig werden (bei Nachzahlung v. Gebühren) • Lösung • Sperrlisten • Müssen aktuell gehalten werde • Als Masterliste (an verschiedenen Stellen im Netz) + häufige Aktualisierungen • Müssen vom Benutzer jedesmal kontrolliert werden • Nachteil • Eigenschaft „CA muss nicht online sein“ geht verloren Seminar Internet-Technologie SS 07
SSL – Secure Socket Layer • Warum SSL? • Internet: • Früher: nur Verteilung statischer Seiten • Später: finanzielle Transaktionen, Erfordernis von sicheren Verbindungen • 1995 führte Netscape (damals führender Browseranbieter) das Sicherheitspaket SSL (Secure Socket Layer) ein • SSL wird auch von anderen Browsern unterstützt • Hauptaufgabe: • Sichere Verbindung errichten und • Verwaltung von Komprimierung und Verschlüsselung • HTTP über SSL heißt HTTPS (Secure HTTP), hat dort neuen Port (443) Seminar Internet-Technologie SS 07
SSL – Secure Socket Layer • Sichere Verbindungen • SSL errichtet eine sichere Verbindungzwischen zwei Sockets. Dies beinhaltet: • Die Verhandlung der Parameter zwischen Client und Server • Die gegenseitige Authentifizierung von Client und Server • Die geheime Kommunikation • Den Schutz den Datenintegrität Seminar Internet-Technologie SS 07
SSL – Secure Socket Layer • ISO/OSI-Schichtenmodell Seminar Internet-Technologie SS 07
SSL – Secure Socket Layer • Was kann SSL? • SSL unterstützt Vielzahl von Algorithmen und Optionen • Zu Optionen: • Vorhandensein oder Fehlen der Komprimierung • Die verwendeten kryptografischen Algorithmen • Exportrestriktion der US-Regierung für Netscape: • Kryptografie: nur wenn sich beide Endpunkte in den USA befinden mindesten 128 Bit • Sonst sind Schlüssel auf 40 Bit begrenzt (Witz) • SSL-Protokolle: • 1. Teilprotokoll: Errichtung einer sicheren Verbindung • 2.Teilprotokoll: Verwendung der sicheren Verbindung Seminar Internet-Technologie SS 07
SSL – Secure Sockets Layer 1. SSL-Version, bevorzuge Einstellungen, RAlice • 1. Sichere Verbindung errichten Handshake Alice (Client) Bob (Server) 2. SSL-Version, gewählte Einstellung, RBob 3. SSX.509 Zertifikatskette 4. Bob (Server) fertig, Alice (Client) kann jetzt 5. EBob (Premaster-Schlüssel) 6. Ändere Chiffre 7. Beendet 8. Ändere Chiffre 9. Beendet Seminar Internet-Technologie SS 07
SSL – Secure Socket Layer • Welche Algorithmen für welche Anwendung? • Für höchste Sicherheit (Online-Banking...) • Stärkster Kryptografischer Algorithmus verwendet Triple DES mit 3 getrennten Schlüsseln für die Verschlüsselung • http://de.wikipedia.org/wiki/Triple_DES • SHA-1 für die Nachrichtenintegrtät • http://de.wikipedia.org/wiki/SHA-1 • Ist relativ langsam, und rechenaufwendig (Server CPU) • Bei normalen E-Commerce Anwendungen • RC4 mit 128 Bit Schlüssel (wird intern vergrößert)zur Verschlüsselung • http://de.wikipedia.org/wiki/RC4 • MD5 zur Nachrichtenauthentifizierung • http://de.wikipedia.org/wiki/MD5 Seminar Internet-Technologie SS 07
SSL – Secure Socket Layer Nachricht vom Browser • 1. Sichere Verbindung verwenden 1. Fragmentierung 2. Komprimierung 3. MAC hinzufügen 4. Verschlüsselung 5. Header hinzufügen Dann übertragen Fragment 1 Fragment 2 Seminar Internet-Technologie SS 07
SSL – Secure Socket Layer • Schwachstellen von SSL • RC4 hat einige schwache Schlüssel • Server (Bob) hat eventuell kein Zertifikat (oder eines das den Schlüssel verifiziert) Seminar Internet-Technologie SS 07
SSL – Secure Socket Layer - Ende • SSL und TLS • 1996 übergab Netscape SSL der IETF zur Standardisierung • Ergebnis ist TLS (Transport Layer Security) • Änderungen waren gering, aber SSL und TLS arbeiten nicht mehr zusammen • Sollte schwerer Entschlüsselbar sein: • Verstärkung das Sitzungsschlüssels (aus Premaster-Schlüssel und Einmalinformation) • Problem mit schwachen RC4 Schlüsseln bleibt Seminar Internet-Technologie SS 07
HTTPS – Hypertext Transfer Protocol Secure • Was ist HTTPS? • Eigentlich das Standard-HTTP über eine sichere SSL/TLS Verbindung • Zwischen Schicht 4 und 7 im OSI-Schichtenmodell • Verschlüsselung und zur Authentifizierung der Kommunikation zwischen Webserver und Browser • HTTPS wird unabhängig vom Netz verschlüsselt (meist im Browser integriert) Seminar Internet-Technologie SS 07
HTTPS • Was braucht HTTPS? • Verbindung wird mit SSL-Protokollen aufgebaut (siehe vorne) • Zertifikate (siehe vorne) • HTTPS-Server mit eigener IP-Adresse und SSL-Bibliothek • SSL-Server kann nur ein Zertifikat für jede IP/Port Kombination ermitteln. • Meist Port 443 Seminar Internet-Technologie SS 07
HTTPS • Wann HTTPS? • Der Server (Bob) erlaubt nur HTTPS (Online-Banking) • Login wird über HTTPS erzwungen, dann Cookie gesetzt und unverschlüsselt weiter übertragen • Client (Alice) ändert „http://...“ in „https://...“ manuell um, um Verschlüsselung zu bewirken Seminar Internet-Technologie SS 07
HTTPS • HTTPS-Ablauf / Nachteile • Ablauf • Alice hat eine „https://...“ -Verbindungsanforderung an Bob geschickt • Rest siehe Handshake-Protokoll • Bestehende HTTPS-Verbindung wird durch das SSL-Logo angezeigt • Nachteile • Wegen automatischer (Root-) Zertifizierung wird die sicher Verbindung von Alice nicht mehr bewusst wahrgenommen • Alice sieht den Unterschied zwischen original und gefälschten Websites nicht Phishing Seminar Internet-Technologie SS 07
HTTPS – Ende • Performance • Wird nur dort eingesetzt, wo Datenschutz notwendig ist (da rechenaufwendig) • Zur Entlastung der Server-CPU werden • SSL-Beschleuniger (PCI-Steckkarten) mit optimierten CPUs die von der SSL-Bibliothek angesprochen werden • Server mit programmierbaren Recheneinheiten z.B. Modular Arithmetik Unit) Seminar Internet-Technologie SS 07
SSH – Secure Shell • Was ist SSH? • Programm sowie ein Netzwerkprotokoll • Baut eine verschlüsselte Verbindung zu entfernten Computern auf, wo man sich einloggen und Programme ausführen kann Seminar Internet-Technologie SS 07
SSH • Warum SSH? / Sicherheit • 1995: Reaktion auf Passwort-Sniffingattacke • Freeware, gewann schnell an Popularität • Sichere Verschlüsselung und Authentifizierung durch kryptografische Algorithmen • In einem unsicheren Netzwerk • Ist die Weiterentwicklung von: rlogin, telnet und rsh Seminar Internet-Technologie SS 07
SSH • Entwicklung • Start: 1995 als Freeware, ab. Dez 1995 Vermarktung durch die Firma SSH Communications Security • 1996 Weiterentwicklung zu Version SSH-2 • Ab 1999: 2 Versionen • Kostenlose: OpenSSH (Quellcode offen) • Kostenpflichtige: SSHTectia (abgesicherte Lizenzrechte, Weiterentwicklungs-Know how (incl. Roadmap) und Support-Unterstützung) Seminar Internet-Technologie SS 07
SSH • Entwicklung 2 • 2005: 3. Generation, unterstützt mehrere Plattformen • (Unix, Windows, IBM z/OS) • 2006: Internetstandard durch die IETF Seminar Internet-Technologie SS 07
SSH • Authentifizierung / Verschlüsselung • Server (Bob) identifiziert sich RSA-Zertifikat beim Client (Alice) • Alice kann sich mit ihrem öffentlichen Schlüssel oder per Passwort authentisieren • Für die Dauer der Verbindung wird ein geheimer (128 Bit)Schlüssel erzeugt • Verschlüsselungsalgorithmen sind: 3DES, Blowfish, Twofish, CAST, IDEA, Arcfour, SEED und AES Seminar Internet-Technologie SS 07
SSH • Verwendung • Ursprünglich: • Anmelden an entfernten Rechnern über ein Netzwerk (per Terminal) • Erweiterungen • Ein SSH-Client kann sich wie ein SOCKS-Server verhalten und ermöglicht somit einen automatisierten Zugriff auf entfernte Rechner durch den SSH-Tunnel, etwa zum Umgehen einer Firewall. • Über SSHFS kann ein komplettes entferntes Dateisystem auf dem lokalen Rechner gemountet werden. • Weitere siehe http://de.wikipedia.org/wiki/Ssh#Verwendung Seminar Internet-Technologie SS 07
SSH • Anwendungsgebiete • Secure System Administration (Sichere Systemverwaltung) • zur Absicherung der Fernverwaltung von Servern. Ersetzt Telnet, Rlogin etc. • Secure File Transfer (Sicherer Dateitransfer) • zur Herstellung sicherer, automatisierter und interaktiver Dateitransfers. • Secure Application Tunneling • zum transparenten Schutz TCP/IP-basierender Anwendungen als „End-to-End-Security“. Seminar Internet-Technologie SS 07
SSH • Schwachstellen • Die erste Version SSH-1 ermöglicht es Trudy eine SSH1 Sitzung auszuspähen (wegen schwacher Integretiätsprüfung), besser SSH-2 • SSH-2 hat: • modularen Aufbau der Transport-, Autorisierungs- und Verbindungsschichten • verschiedene Verschlüsselungsalgorithmen. Seminar Internet-Technologie SS 07
SSH • Implementierungen • Ursprünglich nur unter UNIX • Später auch für andere Plattformen • Mit PuTTY, Tera Term, Teemtalk u.a. kann Alice sich so von Windows auf einem UNIX Rechner wie z.B. Rapunzel einloggen und bekommt dann eine Shell Seminar Internet-Technologie SS 07
Quellenangaben • Bücher • Computernetzwerke, 4. überarbeitete Auflage, Andrew S. Tanenbaum, Pearson Studium, ISBN 3-8273-7046-9 • IT-Sicherheit; Konzepte – Verfahren - Protokolle, 4. Auflage, Claudia Eckert, Oldenburg, ISBN 3-4865-7851-0 • Links • http://de.wikipedia.org/wiki/Digitales_Zertifikat • http://www.softed.de/fachthema/Allgemeines/https.asp • http://de.wikipedia.org/wiki/HTTPS • http://de.wikipedia.org/wiki/Digitales_Zertifikat • http://de.wikipedia.org/wiki/SSH Seminar Internet-Technologie SS 07