SSL Algorithmen und Anwendung



Ähnliche Dokumente
SSL Secure Socket Layer Algorithmen und Anwendung

Verteilte Systeme Unsicherheit in Verteilten Systemen

Verteilte Systeme. Übung 10. Jens Müller-Iden

IT-Sicherheit Kapitel 11 SSL/TLS

Bernd Blümel. Verschlüsselung. Prof. Dr. Blümel

Erste Vorlesung Kryptographie

Secure Socket Layer V.3.0

Informatik für Ökonomen II HS 09

SSL/TLS und SSL-Zertifikate

Ist das so mit HTTPS wirklich eine gute Lösung?

Netzsicherheit I, WS 2008/2009 Übung 12. Prof. Dr. Jörg Schwenk

Reale Nutzung kryptographischer Verfahren in TLS/SSL

11. Das RSA Verfahren und andere Verfahren

Nachrichten- Verschlüsselung Mit S/MIME

Virtual Private Network. David Greber und Michael Wäger

Kryptographische Anonymisierung bei Verkehrsflussanalysen

Übersicht. Was ist FTP? Übertragungsmodi. Sicherheit. Öffentliche FTP-Server. FTP-Software

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Multicast Security Group Key Management Architecture (MSEC GKMArch)

Anleitung Thunderbird Verschlu sselung

Eine Open Source SSL VPN Lösung. Patrick Oettinger Deutsche Telekom AG 2. Ausbildungsjahr

Sparkasse Duisburg. versenden aber sicher! Sichere . Anwendungsleitfaden für Kunden

Programmiertechnik II

Stammtisch Zertifikate

Installationsanleitung SSL Zertifikat

5. Testen ob TLS 1.0 auf Ihrem System im Internet-Explorer fehlerfrei funktioniert

Empfehlungen für den sicheren Einsatz. SSL-verschlüsselter Verbindungen. Dipl.-Inform. Lars Oergel Technische Universität Berlin. 13.

-Verschlüsselung viel einfacher als Sie denken!

Infrastruktur: Vertrauen herstellen, Zertifikate finden

FL1 Hosting Technische Informationen

Kundeninformationen zur Sicheren

Vertragsnummer: Deutsche Krankenhaus TrustCenter und Informationsverarbeitung GmbH im folgenden "DKTIG"

Sichere s. Kundeninformation zur Verschlüsselung von s in der L-Bank

FTP-Leitfaden RZ. Benutzerleitfaden

HTTPS Checkliste. Version 1.0 ( ) Copyright Hahn und Herden Netzdenke GbR

-Verschlüsselung

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Anleitung. Schritt für Schritt: iphone und ipad. Richten Sie Ihr -Konto mit Ihrem iphone oder ipad Schritt für Schritt ein.

PKI (public key infrastructure)

Nationale Initiative für Internet- und Informations-Sicherheit

U3L Ffm Verfahren zur Datenverschlüsselung

estos UCServer Multiline TAPI Driver

IEEE 802.1x Authentifizierung. IEEE 802.1x Authentifizierung IACBOX.COM. Version Deutsch

Umstellung des Schlüsselpaares der Elektronischen Unterschrift von A003 (768 Bit) auf A004 (1024 Bit)

Sicher kommunizieren dank Secure der Suva

Fälschungssichere RFID-Chips

Öffnen Sie den Internet-Browser Ihrer Wahl. Unabhängig von der eingestellten Startseite erscheint die folgende Seite in Ihrem Browserfenster:

Verschlüsselte s: Wie sicher ist sicher?

Senden von strukturierten Berichten über das SFTP Häufig gestellte Fragen

12 Kryptologie. ... immer wichtiger. Militär (Geheimhaltung) Telebanking, Elektronisches Geld E-Commerce

1 Konto neu in Mailprogramm einrichten

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

COMPUTER MULTIMEDIA SERVICE

Content Management System mit INTREXX 2002.

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Wichtige Informationen und Tipps zum LüneCom Mail-Server 04

Möglichkeiten der verschlüsselten -Kommunikation mit der AUDI AG Stand: 11/2015

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Secure Socket Layer v. 3.0

Verschlüsselung. Kirchstraße 18 Steinfelderstraße Birkweiler Bad Bergzabern Fabian Simon Bfit09

Merkblatt: Sichere -Kommunikation zur datenschutz cert GmbH

Einrichtung einer eduroam Verbindung unter dem Betriebssystem Android

-Verschlüsselung mit GPG. Von der Key-Erzeugung zur verschlüsselten . Chemnitzer Linux-Tage März 2010 Vortrag

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

vorab noch ein paar allgemeine informationen zur d verschlüsselung:

10. Kryptographie. Was ist Kryptographie?

BAYERISCHES STAATSMINISTERIUM DES INNERN

Herzlich willkommen zum Kurs "MS Outlook Verschlüsseln und digitales Signieren von Nachrichten

Allgemeine Erläuterungen zu

ANYWHERE Zugriff von externen Arbeitsplätzen

VIRTUAL PRIVATE NETWORKS

Task: Nmap Skripte ausführen

Ein Hinweis vorab: Mailkonfiguration am Beispiel von Thunderbird

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Kontoname ist Mailanschrift Maximale Mailboxgrösse: Maximale Nachrichtengrösse: Haltezeit der Nachrichten:

How-to: VPN mit PPTP und dem Windows VPN-Client. Securepoint Security System Version 2007nx

Secure Sockets Layer (SSL) Prof. Dr. P. Trommler

Elliptische Kurven in der Kryptographie

Asymmetrische. Verschlüsselungsverfahren. erarbeitet von: Emilia Winkler Christian-Weise-Gymnasium Zittau

Windows 8 Lizenzierung in Szenarien

Sie befinden sich hier: WebHosting-FAQ -Clients - Einrichtung und Konfiguration Outlook Express Artikel #1

Collax NCP-VPN. Howto

Guide DynDNS und Portforwarding

Apache HTTP-Server Teil 1

Lizenzen auschecken. Was ist zu tun?

Beschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing.

Outlook Express. 1. Schritt: Klicken Sie im Hauptfenster von Outlook Express bitte auf -Konto erstellen...

Leitfaden zur Nutzung von binder CryptShare

Sparkasse Vogtland. Secure Datensicherheit im Internet. Kundenleitfaden. Sparkasse Vogtland. Kundeninformation Secure 1

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

Algorithmische Kryptographie

Vorwort ist heute für Unternehmen ein häufig eingesetztes Kommunikationsmittel, das zum Austausch von Informationen verwendet wird.

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Authentifizierung. Benutzerverwaltung mit Kerberos. Referent: Jochen Merhof

Teil 1: IT- und Medientechnik

Digital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen. Public-Key-Kryptographie (2 Termine)

Secure Socket Layer (SSL) - Zertifikate

Sicherer Datenaustausch mit EurOwiG AG

Transkript:

SSL Algorithmen und Anwendung Stefan Pfab sisspfab@stud.uni-erlangen.de Abstract Viele Anwendungen erfordern nicht nur eine eindeutige und zuverlässige Identifizierung der an einer Kommunikation beteiligten Partner, sondern zusätzlich die Bereitstellung eines sicheren Kommunikationskanals zwischen diesen Partnern. Unter dieser Zielsetzung wurde SSL als Ergänzung zum weit verbreiteten TCP/IP-Protokoll entworfen. 1 Systemarchitektur 1.1 Entwicklung von SSL Die Entwicklung von SSL geht zurück ins Jahr 1994. Damals veröffentlichte Netscape erste Spezifikationen zu einer neuen Protokollschicht. Sie ist nach ISO/OSI zwischen der Anwendungsschicht und einer zuverlässigen Übermittlungssicht angesiedelt und sollte im wesentlichen zwei Aufgaben erfüllen: gegenseitige Authentifizierung von zwei Kommunikationspartnern Verschlüsselung der Kommunikation zwischen den Partnern Wesentliche Konzepte sind die Verwendung sowohl symmetrischer als auch asymmetrischer Verschlüsselungsverfahren und die Benutzung von Zertifikaten zur Authentifizierung. Anfang 1995 brachte Netscape eine fertig implementierte Version ihrer ersten Entwürfe als SSL V2 auf den Markt. Der zu diesem Zeitpunkt aktuelle Navigator 3.0 enthielt eine clientseitige Ergänzung des TCP/IP-Protokollstacks. Serverseitig war es der Netscape Internet Server, später ergänzt um das Gespann Apache mit einem SSL-Paket wie ssleay oder openssl. Ende 1995 erschien die Version V3, die im wesentlichen einige Bugs aus der Version 2 behob und außerdem neue Krypographiealgorithmen beinhaltete. Diese Version ist bis zum heutigen Tage aktuell, obwohl es Bemühungen von seiten der IETF (Internet Engineering Task Force) gibt, SSL V3 zu einem neuen Standard namens TLS (Transport Layer Security) zu erweitern. Dieser wurde aber noch nicht verabschiedet, er ist folglich auch noch in keinem Programm zu finden. Nachdem außerdem keine nennenswerten und erfolgversprechenden Angriffe bekannt sind (s.u.), besteht hierzu auch kein großer Zeitdruck. 1.2 Protokollstack Der Protokollentwurf für SSL sieht vor, dass zwischen die Anwendungsschicht und die Übermittlungsschicht des IOS/OSI-Schichtenmodells eine neue Instanz geschoben wird, die einen 1

Abbildung 1: Vergleich ISO-Protokollstack mit und ohne SSL Dienst zur Ver- und Entschlüsselung eines Datenstromes und zur Authentifizierung des Kommunikationspartners anbietet. Dieses Vorgehen bietet zwar den wesentlichen Vorteil, für ein breites Spektrum an Anwendungen zugänglich zu sein, jedoch macht dies Anpassungen bei den jeweiligen Programmen notwendig. Während für eine normale Netzwerkverbindung in C ein new_socket = socket(...); connect(new_socket,...);... char *message = Hello World!; write(new_socket, message, strlen(message)); genügt, muß für die Verwendung von SSL ein höherer Aufwand betrieben werden[8]: new_socket = socket(); connect(new_socket, ); SSL_set_fd(ssl, new_socket ); SSL_connect(ssl); server_cert = SSL_get_peer_certificate(ssl); char *message = Hello World!; SSL_write(new_socket, message, strlen(message)); 1.3 Verbindungsaufbau Der Verbindungsaufbau bei SSL wird üblicherweise vom Client initiiert. Dabei fordert er einen Server auf, seine Identität mittels eines Zertifikates zu beweisen und dabei seinen Public Key zu übertragen. Der Client berechnet aus einem zusätzlich zum Zertifikat übertragenen Zufallswert und einigen weiteren Hashwerten aus dem Zertifikat den symmetrischen Schlüssel für die Verschlüsselung des folgenden Datentransfers. Der Client überträgt den symmetrischen Schlüssel, verschlüsselt mit dem Public Key an den Server, wodurch beide Kommunikationspartner im Besitz des selben geheimen Schlüssels sind. Ab diesem Zeitpunkt findet der Datentransfer verschlüsselt mittels eines symmetrischen Verfahrens statt. Der konkret verwendete Verschlüsselungsalgorithmus wird beim Aufbau ausgehandelt, in Abhängigkeit der Version von SSL und den verfügbaren Algorithmen. SSL V3 sieht als asymmetrische Verfahren RSA und Diffie-Hellmann vor, als symmetrische DES, 3DES, Idea und RC4 (ein symmetrisches Verfahren von RSA). 2

Abbildung 2: Aufbau einer SSL-Verbindung Ab dem Zeitpunkt, der in Abb. 2 als Finished bezeichnet ist, findet die gesamte Kommunikation zwischen Client und Server verschlüsselt mittels eines symmetrischen Verfahrens statt. Damit werden die Vorteile der beiden Verschlüsselungsverfahren, symmetrischer und asymmetrischer, in idealer Weise kombiniert: Der problemlose Schlüsselaustausch der asymmetrischen Verfahren über unsichere Kanäle vereinfacht den Verbindungsaufbau zwischen beliebigen Kommunikationspartnern. Die symmetrischen Verfahren bieten eine hohe Performanz, sodass beim Datentransfer ein hoher Durchsatz gesichert ist. Zusätzlich zu diesen Möglichkeiten bietet das SSL-Protokoll eine Vielzahl an Ergänzungen, um die Sicherheit der Datenübertragung zu erhöhen, beispielsweise Authentifizierung des Client gegenüber des Servers durch ein Client-Zertifikat, regelmäßiger Schlüsselwechsel während einer Session oder Erhöhung der Schlüssellänge für das symmetrische Verfahren. 2 Zertifikate Zur Authentifizierung des Kommunikationspartners muss neben der sicheren Übermittlung der Identität der Gegenstelle auch gesichert sein, dass die Gegenstelle auch wirklich diejenige ist, für die sie sich ausgibt. Dies wird im SSL-Protokoll durch die Verwendung von Zertifikaten nach X.509-Standard erreicht. Abbildung 3 verdeutlicht deren Aufbau. Der Aufbau dieser Zertifikate leistet für SSL zwei wesentliche Dienste: das Zertifikat beinhaltet den Public Key des Zertifikat-Inhabers und es enthält den Austeller des Zertifikates, die sog. Certification Authority, kurz CA. 2.1 Certification Authorities Zur sicheren Validierung der Identität einer Einrichtung oder Person ist i.a. eine dritte, unabhängige Stelle nötig, der beide Kommunikationspartner vertrauen. Für X.509-Zertifikate sind dies sog. Certification Authorities (CA), z.b. die Firmen VeriSign oder Nortel Networks. Derjenige, der die Erstellung eines beglaubigten Zertifikates wünscht, muss bei einer dieser 3

Abbildung 3: Aufbau eines X.509-Zertifikats CAs einen Antrag für ein Zertifikat stellen. Die Certification Authority überzeugt sich von der Identität des Antragstellers auf konventionellem Weg z.b. über eine beglaubigte Kopie des Personalausweises oder nützt das in Deutschland mögliche Verfahren des PostIdent[7]. Zusätzlich wird das eigene Zertifikat von der CA signiert, d.h. weitere, verschlüsselt gespeicherte Informationen über die CA werden dem Zertifikat hinzugefügt. Danach ist es jedem Benutzer selbst überlassen, welcher CA er vertraut und welcher nicht... Für den Gebrauch in Intranets oder anderen kleinen Umgebungen ist es selbstverständlich möglich, ein sog. Self-Signed Certificate zu erzeugen, bei dem die CA und der Inhaber dieselbe Person sind. Dies ist oftmals sinnvoll, da die meist kommerziellen Certification Authorieties ihre Dienste nur gegen Bezahlung anbieten. So kostet bei VeriSign ein SSL-Zertifikat für eine Privatperson mit einer Gültigkeit von einem Jahr 895$[6]. 3 Sicherheit Um die Sicherheit von SSL zu bewerten, müssen zwei Angriffsszenarien unterschieden werden: der Angriff auf die verwendete Krypographie und der Angriff auf das Protokoll selbst. Angriffe auf die Kryptographie selbst (Mitlesen der übertragenen Daten und anschließende Entschlüsselung) sind nach heutigem Stand zwecklos (siehe Vorträge über symmetrische und asymmetrische Verfahren). Das Verfahren des Verbindungsaufbaus dagegen bietet einige Angriffspunkte, entweder in den Besitz des symmetrischen Schlüssels zu gelangen und so passiv den Traffic mitzulesen oder vollständig den eigenen Host dem Client als Server unterzuschieben. Diese Angriffe erfordern aber sehr weitgehende technische Möglichkeiten und ein umfangreiches Wissen um das Umfeld des Ziels (z.b. die Möglichkeit, unmittelbar einzelne TCP-Pakete abzufangen, zu modifizieren oder stattdessen eigene Pakete zu senden). Zu den einzelnen Angriffsmöglichkeiten verweise ich auf folgende Quelle: [3]. 4

Literatur [1] http://www.openssl.org/ [2] http://citeseer.nj.nec.com/252522.html [3] http://citeseer.nj.nec.com/mitchell98finitestate.html [4] http://www.phaos.com/sslresource.html [5] http://www.pseudonym.org/ssl/ [6] http://www.verisign.com/products/site/secure/index.html [7] http://www.deutschepost.de/brief/js/index.html?/brief/produkteservices/postident/inhalt.html [8] http://www2.psy.uq.edu.au/ ftp/crypto/ssl.html 5