Webtechnologien Teil 3: Sicheres HTTP



Ähnliche Dokumente
Netzwerke Teil 10: Einführung in die Kryptographie

IT-Sicherheitsmanagement Teil 6: Einführung in die Kryptographie

IT-Sicherheitsmanagement Teil 8: Einführung in die Kryptographie

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

Informatik für Ökonomen II HS 09

IT-Sicherheit Kapitel 11 SSL/TLS

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

Programmiertechnik II

Stammtisch Zertifikate

Verteilte Systeme Unsicherheit in Verteilten Systemen

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

Anleitung Thunderbird Verschlu sselung

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

Nachrichten- Verschlüsselung Mit S/MIME

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

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

Allgemeine Erläuterungen zu

Erste Vorlesung Kryptographie

Guide DynDNS und Portforwarding

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Digital signierte Rechnungen mit ProSaldo.net

COMPUTER MULTIMEDIA SERVICE

Fragen und Antworten zu Secure

OP-LOG

-Verschlüsselung mit S/MIME

11. Das RSA Verfahren und andere Verfahren

Datenempfang von crossinx

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

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

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

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

9 Schlüsseleinigung, Schlüsselaustausch

Installationsanleitung für die h_da Zertifikate

Community Zertifizierungsstelle. Digitale Identität & Privatsphäre. SSL / S/MIME Zertifikate

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

Schritt 1: Auswahl Schritt 3 Extras > Konten Schritt 2: Konto erstellen Konto hinzufügen klicken

10.6 Authentizität. Geheimhaltung: nur der Empfänger kann die Nachricht lesen

-Verschlüsselung

PKI (public key infrastructure)

Ein Hinweis vorab: Mailkonfiguration am Beispiel von Thunderbird

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

-Verschlüsselung

Thunderbird Portable + GPG/Enigmail

10. Kryptographie. Was ist Kryptographie?

Multicast Security Group Key Management Architecture (MSEC GKMArch)

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

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

POP3 über Outlook einrichten

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

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

Infrastruktur: Vertrauen herstellen, Zertifikate finden

Erste Hilfe. «/IE Cache & Cookies» Logout, alte Seiten erscheinen, Erfasstes verschwindet?

SSL Secure Socket Layer Algorithmen und Anwendung

Sicherer Datenaustausch mit Sticky Password 8


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

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

Sicherer Datenaustausch mit EurOwiG AG

Bedienungsanleitung für den SecureCourier

Handbuch für Nutzer von Zertifikaten der Zertifizierungsstellen (CAs) des Bayerischen Behördennetzes (BYBN) zur Sicherung von s Teil D2:


Erstellen einer digitalen Signatur für Adobe-Formulare

Sicherheit in Netzwerken. Leonard Claus, WS 2012 / 2013

Cryptoparty: Einführung

IT-Security. Teil 6: Einführung in die Kryptographie

Datenübertragungsportal

Einrichten von Outlook Express

Sicher kommunizieren dank Secure der Suva

PeDaS Personal Data Safe. - Bedienungsanleitung -

Leichte-Sprache-Bilder

Verschlüsselte s: Wie sicher ist sicher?

estos UCServer Multiline TAPI Driver

Einrichtung eines Zugangs mit einer HBCI-Chipkarte bei der Commerzbank

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Sichere Kommunikation mit Ihrer Sparkasse

Import des persönlichen Zertifikats in Outlook 2003

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Tutorium Fortgeschrittene

Primzahlen und RSA-Verschlüsselung

How to install freesshd

Sichere Kommunikation mit Ihrer Sparkasse

Anleitung für -Client Thunderbird mit SSL Verschlüsselung

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

GnuPG für Mail Mac OS X 10.4 und 10.5

Import des persönlichen Zertifikats in Outlook Express

Merkblatt: Sichere -Kommunikation zur datenschutz cert GmbH

ICS-Addin. Benutzerhandbuch. Version: 1.0

-Zertifikatsverwaltung

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Handbuch für Nutzer von Zertifikaten der Zertifizierungsstellen (CAs) des Bayerischen Behördennetzes (BYBN) zur Sicherung von s Teil D7:

Elliptische Kurven in der Kryptographie

Transkript:

Webtechnologien Teil 3: Sicheres HTTP 23.03.15 1

Literatur [3-1] Gourley, David; Totty, Brian: HTTP. The definitive Guide. O'Reilly, 2002 [3-2] Badach, Anatol; Rieger, Sebastian; Schmauch, Matthias: Web- Technologien. Hanser, 2003 [3-3] Upgrading to TLS Within HTTP/1.1 http://tools.ietf.org/html/rfc2817 [3-4] Günter Schäfer: Netzsicherheit. dpunkt, 2003 [3-5] Klaus Schmeh: Kryptografie. dpunkt, 3. Auflage, 2007 [3-6] Bruce Schneier: Secrets & Lies. dpunkt, 2001 2

Überblick Verschlüsselungsverfahren Elektronisches Unterschreiben (Signaturen) Zertifikate SSL bzw. TLS http://de.wikipedia.org/wiki/kryptologie 3

Symmetrische Verschlüsselung I Schlüssel = Key = Bitkette, deren Aufbau statistisch gleich verteilt und lang genug ist, um nicht unter definierten Bedingungen durch Ausprobieren bestimmt werden zu können Ein Schlüssel ist eine lange Bitkette, z.b. 1024 bit lang, die nicht mehr wie ein Passwort eingegeben werden kann Vorteil: höhere Sicherheit Secret Key = Geheimschlüssel = Schlüssel einer Identität, der bis auf berechtigte Identitäten gegenüber allen anderen geheim gehalten werden muss. Identität = Person, Organisation, Rolle oder Sache mit einem Namen Symmetrische Verschlüsselung = Verschlüsselung mit einem Schlüssel zum Ver- und Entschlüsseln 4

Symmetrische Verschlüsselung II Beispiele DES (Data Encryption Standard) mit einem 56 bit langen Schlüssel AES (Heutiges Standard-Verfahren) Beispiele für Benutzung symmetrischer Verfahren: Homebanking HBCI (Home Banking Computer Interface) SSL (Secure Socket Layer) Weitere Beispiele für symmetrische Verfahren: International Data Encryption Algorithm (IDEA) Triple-DES (bis 168 bit, 3x 56 bit) Bluefish Twofish 5

Symmetrische Verschlüsselung II Person A Person B Key-> Verschlüsselung Verschlüsselung <- Key? Person C 6

Erläuterungen Den Schlüssel müssen beide Personen A und B kennen, auf keinen Fall der Abhörer C. Nachteil dieses Verfahrens: Wenn A und B nicht über einen weiteren Kanal kommunizieren können, müssen sie den Schlüssel über das Netz austauschen, was die Gefahr birgt, dass C diesen abhört. Was in einen infiniten Regress führt, denn mit welchem Schlüssel sollte der zu schützende Schlüssel geschützt werden? 7

Asymmetrische Verschlüsselungen I Bei der asymmetrischen Verschlüsselung wird ein Schlüsselpaar verwendet, das folgende Eigenschaften hat: Das Paar ist einmalig. Aus dem einen Schlüssel kann nicht der andere rekonstruiert werden. Wenn ein Text mit dem einen Schlüssel verschlüsselt wurde, kann er nur von dem anderen entschlüsselt werden, wobei es egal ist, mit welchem von beiden Schlüsseln begonnen wurde. Einer der beiden Schlüssel wird öffentlich gemacht, der andere bleibt geheim: Public Key = Öffentlicher Schlüssel = Schlüssel einer Identität, der bekannt gegeben werden kann Secret Key = Private Key = Geheimer Teil des Schlüsselpaares, der immer gegenüber allen anderen Identitäten geheim gehalten werden muss. 8

Asymmetrische Verschlüsselungen II Person A Öffentlich Geheim Key 2-B Key 1-B Beide Schlüssel gehören zusammen der Person B Person B Verschlüsselung Verschlüsselung? Person C 9

Verfahren 1. Die Person A holt sich von einem öffentlich zugänglichen Rechner (Server), dem sie vertraut, den öffentlichen Schlüssel der Person B. 2. Mit diesem Schlüssel verschlüsselt A seinen Text, was bedeutet, dass nur Person B mit dem geheimen den Text entschlüsseln kann. 3. Person B entschlüsselt den Text mit seinem geheimen Schlüssel. Person C kann den Text nicht rekonstruieren. Damit ist das erste Problem der Vertraulichkeit gelöst. Symmetrische und asymmetrische Verfahren werden kombiniert, z. B. bei SSL. 10

Authentifizierung und Integrität (Signieren) Authentifizierung und Integrität werden zusammen mit dem folgenden beispielhaften technischen Verfahren realisiert: 1. Es wird ein Hash-Code (Fingerabdruck, Fingerprint) des Textes erstellt. 2. Der Fingerabdruck wird mit dem geheimen Schlüssel von Person A verschlüsselt. 3. Person B erstellt auch einen Fingerabdruck mit demselben Verfahren wie A. 4. Person B entschlüsselt den überlieferten Abdruck mit dem öffentlichen Schlüssel von Person A. 5. Nun vergleicht Person B den selbst erstellten Fingerabdruck und den entschlüsselten. Sind sie gleich, weiß Person B, dass der Text wirklich von Person A stammt. 11

Signieren Beide Schlüssel gehören zusammen der Person A Person A Key 2-A Öffentlich Key 1-A Geheim Person B Falls ja: Text kommt von A Gleich? Hashcode Verschlüsselung Verschlüsselung Hashcode + Person C + Verändern? 12

Fingerprint (Fingerabdruck, Hash-Wert) Das Erstellen eines Fingerabdrucks erfolgt mit einem mathematischen Verfahren (Hash), das zu einem Text eine Bitkette generiert, die den Text "repräsentiert". Wird der Text auch nur minimal verändert, so entsteht eine andere Bitkette. Es gibt also in der Praxis keine zwei Texte, die zum selben Fingerabdruck führen. Beispiel b02dbaa49aafdb9586ffc74abdd5402d *KNOPPIX_V6.4.3CD-2010-12-20-DE.iso ----------- Hashcode ------------------ Siehe auch: http://en.wikipedia.org/wiki/comparison_of_cryptographic_hash_functions http://de.wikipedia.org/wiki/message-digest_algorithm_5 13

Digitale Unterschrift (Signatur) Wird nun ein Fingerabdruck mit dem geheimen Schlüssel verschlüsselt, so wird das Resultat digitale Unterschrift oder Signatur genannt. Eine Signatur ist deshalb eindeutig, da nur derjenige, der im Besitz des geheimen Schlüssels ist, in der Lage ist, sie zu erstellen. Eine Unterschrift ist immer individuell an einen bestimmten Text so gekoppelt, dass schon die kleinste Änderung ein Nicht- Zusammenpassen anzeigt. Damit das gelingt, müssen die Hash-Verfahren strengen Bedingungen genügen. Nachteil dieser Authentifizierung des Textes: Der Text kann abgehört werden daher werden beide Verfahren kombiniert. 14

Kombination Person A Öffentlich Key 2-A Key 1-A Geheim Geheim Key 1-B Key 2-B Öffentlich Person B Falls ja: Text kommt von A Hashcode Gleich? Hashcode Verschlüsselung??? Verschlüsselung Verschlüsselung + + Person C Verschlüsselung 15

Man in the middle I Ein Beispiel Ihr Rechner (4) (5) (7) Böser Hacker (6) Ihre Bank (3) (2) (1) DNS Server 16

Man in the middle II Ein Beispiel (1) Hacker ändert die IP-Adresse von www.bank.de auf sein System (2) Ihr Rechner fragt nach der IP-Adresse von www.bank.de (3) Und erhält die gefälschte Adresse (4) Aufbau einer Verbindung zum Hacker-System (5) Der Hacker holt sich live die aktuellen Daten von der Bank anhand Ihrer Daten (6) Die Daten kommen zum Hacker (7) Der Hacker sendet die korrekten(!) aktuellen Daten Ihrem Rechner Frage: Können Sie das mit den "üblichen" Methoden (TAN, PIN) verhindern? Antwort: nein. 17

Prüfung der Identität des Partners I 1. A generiert Zufallsbitfolge (Challenge) und verschlüsselt sie mit dem öffentlichen Schlüssel von B 2. A sendet Nachricht an B (und auch C) 3. B entschlüsselt mit dem geheimen Schlüssel die Nachricht 4. B sendet die entschlüsselte Nachricht an A 5. A prüft, ob die gleiche Nachricht geliefert wurde. Bei Gleichheit wird die Authentifizierung als erfolgreich angenommen. Vorteil: Es wird weder ein Schlüssel, noch ein Passwort übertragen. Ergebnis: A hat sich davon überzeugt, dass einer der Kommunikations- Partner wirklich B ist, denn nur B besitzt den geheimen Schlüssel. 18

Prüfung der Identität des Partners II 1. A erzeugt sich einen symmetrischen Schlüssel. 2. A verschlüsselt diesen Schlüssel mit dem öffentlichen Schlüssel von B und sendet dies B. 3. A sendet Nachricht an B (und auch C). Nur B kann den richtigen symmetrischen Schlüssel benutzen. 4. Nun verschlüsselt A die gesamte Kommunikation mit dem symmetrischen Schlüssel. Wenn die Kommunikation dann problemlos weiter geht, ist alles in Ordnung. Dieser 2. Schritt hätte auch als einziger Erfolg haben können. Ergebnis: A hat sich davon überzeugt, dass der Kommunikationspartner wirklich B ist, denn nur B besitzt den geheimen Schlüssel. Das ist eine Möglichkeit zur Verhinderung des Man-in-the-middle-Angriffs. 19

Zertifikate Ein Schwachpunkt verbleibt noch: Wie kann sichergestellt werden, dass eine Identität den korrekten öffentlichen Schlüssel einer fremden Identität erfährt? Eine Certification Authority (CA) - oder Trustcenter genannt - hat ein Verzeichnis von öffentlichen Schlüsseln samt Identitätsbeschreibungen und beglaubigt die Verbindung zwischen Identität und öffentlichen Schlüssel durch ein Zertifikat. Ein Zertifikat besteht aus Beschreibung einer Identität Öffentlicher Schlüssel der Identität Unterschrift (Signatur) der CA 20

Prüfung des Zertifikats Wie kann sich Person A von der Glaubwürdigkeit des Zertifikats überzeugen? Indem A mit dem öffentlichen Schlüssel vom Trustcenter dessen Unterschrift prüft (mit demselben Verfahren, wie jede Unterschrift geprüft wird). Dadurch entsteht eine Kette von Zertifikaten, die sich jeweils bis auf das erste bestätigen. Das erste muss geglaubt werden. 21

X.509 Zertifikate Rahmenwerk zur Bereitstellung von Authentifizierungs-diensten im Zusammenhang mit den X.500-Verzeichnis-diensten CCITT/ITU-T-Empfehlung Versionen: 1988, 1993, 1995 Public-Key-Zertifikat, das fest einer Identität zugeordnet und von einer Certification Authority (CA) beglaubigt ist 22

Aufbau des X.509-Zertifikats 23

Rücknahme von Zertifikaten Rücknahme des Zertifikats vor Verfallsdatum aus folgenden Gründen: Geheimer Schlüssel der Identität ist aufgedeckt Identität wird von CA nicht länger akzeptiert Geheimer Schlüssel der CA ist aufgedeckt Die Trustcenter haben eine Datenbank mit allen Zertifikaten einschließlich der Rückrufe (revocation list). 24

Format der Rückrufliste 25

Beispiel LSF-Zertifikat I Firefox 16.01 Ausgabe der Seiteninformation von https://lsf.htw-berlin.de 26

Beispiel LSF-Zertifikat II Einzelne Komponenten des Zertifikats Fingerabdrücke 27

Beispiel LSF-Zertifikat III Die Details Zertifizierungspfad 28

Beispiel LSF-Zertifikat IV Zertifizierungspfad 29

Beispiel LSF-Zertifikat V Liste der vertrauenswürdigen Zertifikate im Browser 30

Beispiel LSF-Zertifikat VI Japan, Hongkong, Microsoft 31

Secure Socket Layer (SSL) Ursprünglich von Netscape zur Sicherung beim Surfen entwickelt Version 3: 1996 SSLv3 Weiterentwicklung zum Transport Layer Security (TLS): RFC2246, ab 1999 Oberhalb von TCP an der Socket-Schnittstelle Arbeitet nicht mit UDP zusammen Ziele: Verschlüsselung, Authentifikation Socket = Sockel = Begriff aus dem UNIX-Kernel für Schnittstellen zu anderen Prozessen auf demselben oder fremden Systemen (über ein Netz) 32

Allgemeiner Begriff der Sitzung I Zeit (a) Sitzung Verbindungen (b) Sitzung Verbindungen Mehrere Verbindungen bilden eine Sitzung Verbindungen sind hier zwischen den Endsystemen und gehören zu einer Sitzung. Eine Sitzung besteht aus mindestens eine Verbindung, kann aber auch mehrere nacheinander umfassen. In diesem Fall werden Verbindungen wieder fortgesetzt. Sitzung = Session = Zusammenhang zwischen Prozessen mit der Gültigkeit von ausgehandelten Parametern, kann mehrere Verbindungen nacheinander zusammenfassen 33

Allgemeiner Begriff der Sitzung II Bei HTTP entspricht eine Verbindung einem Request-Response- Paar. HTTP ist ein "zustandsloses" Protokoll, da ein "Erinnern" an vorherige Aktivitäten nicht möglich ist. In einer Session werden mehrere Aktivitäten, die z. T. über mehrere Verbindungen laufen, zu einem Kontext zusammengefasst. Der Kontext wird pro Session nur einmal ausgehandelt, die Eigenschaften der Verbindungen bei jedem Verbindungsaufbau bzw. Fortsetzung. SSL arbeitet nach dem Client-Server-Prinzip, wobei angenommen wird, dass der Client die Startinitiative hat. 34

Eigenschaften einer Sitzung Session Identifier X.509-Zertifikat des Partners - kann leer sein Kompressionsmethode Verwendete Verschlüsselungs- und Hash-Verfahren Geheime Schlüssel Sequence Numbers 35

SSL-Protokollstack I 36

SSL-Protokollstack II SSL besteht aus 2 Schichten: Record-Protokoll SSL-Teilprotokolle Im selben System können Prozesse an SSL vorbei direkt auf TCP zugreifen, aber auch über SSL vermittelt. Die Entscheidung darüber fällen die Applikationen: Browser erkennen die SSL-Erfordernis an der URL: https://... Erzwingt SSL SSL können auch andere Applikationen benutzen, z. B. SFTP 37

SSL-Record-Protokoll Verfahren beim Senden 1. Anwendungsdaten aufteilen in kleinere Blöcke 2. Fragmente komprimieren 3. Berechnen und Hinzufügen des MAC 4. Verschlüsseln des gesamten neuen Pakets 5. Voranhängen des SSL-Headers Verfahren beim Empfangen: entsprechend umgekehrt 38

Handshake Protokoll Ziel Gegenseitige Authentifizierung Aushandeln von Verfahren Austausch von Signaturen und Zertifikaten Phasen Phase 1: Einrichten von Sicherheitsfähigkeiten Phase 2: Server-Authentifizierung und Schlüsselaustausch Phase 3: Client-Authentifizierung und Schlüsselaustausch Phase 4: Beendigung (des Aufbaus) 39

Zusammenfassender Überblick HTTP: Web FTP: Filetransfer SMTP: EMail 40

Nach dieser Anstrengung etwas Entspannung... 41