notiz-blog |
Dienstag, 20. Januar 2004
1. SSL (Secure Socket Layer)
katrin.sonnweber.salzburg, 18:06h
(Quelle: http://www.internetboom.de)
SSL ist ein Protokoll, mit welchem Standards für eine sichere Datenübertragung im Internet definiert sind. Mit Hilfe von SSL soll der unberechtigte Zugriff auf sicherheitsrelevante In-formationen wie etwa Kreditkartennummern oder persönliche Daten verhindert werden. Da-durch soll vor allem ein sicherer elektronischer Zahlungsverkehr im Internet gewährleistet sein. Das Verfahren Secure Socket Layer ist ein Sicherungsprotokoll, das 1994 durch die Firma Netscape entwickelt wurde. Ursprünglich wurde dieses Protokoll vor allem für den Austausch von Daten zwischen WWW-Servern und WWW-Clients konzipiert. Inzwischen wurden aller-dings auch Anpassungen für andere Anwendungen wie Telnet, FTP und NNTP entwickelt. Mit der Version 3.0 des Netscape Navigators fand SSL erstmals praktische Anwendung. SSL wurde entwickelt um eine gesicherte TCP-Verbindung aufzubauen. Dabei geht es zum einen darum, die Daten von unbefugten Dritten zu schützen und zum anderen sollten die Da-tenpakte gegen Verfälschung geschützt werden. Derzeit wird SSL hauptsächlich bei http-Anwendungen verwendet. Internetseiten, welche SSL zur Sicherung der Daten benutzen, sind mit https://... Statt http://... gekennzeichnet. Grundsätzlich gibt es zwei verschiedene Verfahren zur Verschlüsselung von Daten: Symmetrische Verschlüsselung Hierbei wird der gleiche Schlüssel zur Ver- und Entschlüsselung benutzt. Dieses Verfahren ist sehr schnell und daher in der Lage große Datenmengen innerhalb kürzester Zeit zu verschlüs-seln. Allerdings muss der Schlüssel beiden Seiten der Kommunikation bekannt und gegenüber allen anderen geheim sein. Asymmetrische Verschlüsselung Die asymmetrische Verschlüsselung benutzt zwei verschiedene Schlüssel zur Ver- und Ent-schlüsselung. Das hat den Vorteil, dass einer der Schlüssel veröffentlicht werden kann. Man spricht dabei vom so genannten Public Key. Diese Form der Verschlüsselung ist aufwendiger und daher auch langsamer und für große Daten- mengen eher nicht geeignet. Bei der SSL-Verschlüsselung werden sowohl symmetrische als auch asymmetrische Ver-schlüsselung genutzt. Man spricht daher auch von einem hybriden Verfahren. Es folgt dabei der Austausch eines Schlüssels per asymmetrischem Verfahren. Das verbindet die Vorteile beider Verfahren. SSL benutzt darüber hinaus ein Prüfsummenverfahren, das die Integrität der übertragenen Daten sicherstellt. Anschließend wird dieser Schlüssel dann zur symmetrischen Verschlüsselung genutzt. Au-ßerdem arbeitet SSL mit so genannten Zertifikaten. Diese Zertifikate werden von bestimmten Vergabestellen ausgestellt. Dabei wird ein Zertifikat immer für einen bestimmten Server er-stellt. Dieses enthält dann die ID des Servers und seinen öffentlichen Schlüssel. Dieses Zerti-fikat wird dann mit dem privaten Schlüssel der Zertifizierungsstelle unterschrieben und ist somit fälschungssicher. Fordert nun ein Client Daten von diesem Server per SSL an, so über-trägt der Server sein Zertifikat. Der Client kann das Zertifikat mit dem Schlüssel der Zertifi-zierungsstelle, der öffentlich ist, entschlüsseln und somit die Echtheit des Zertifikates und die Identität des Servers verifizieren. Diese Vorgänge sind natürlich in modernen Browsern au-tomatisiert und für den Benutzer transparent. Die meisten Browser teilen dem Nutzer lediglich die erfolgreiche Prüfung und den Aufbau einer sicheren Verbindung mit. Die zur Prüfung von Zertifikaten nötigen Public Keys der Zertifizierungsstellen sind also bereits im Browser ge-speichert. Der Aufbau einer sicheren Verbindung mit SSL erfolgt im so genannten Handshake-Verfahren, also einer wechselseitigen Kommunikation. Man spricht auch davon, dass die Kommunikation ausgehandelt wird. Eine einfache sichere Kommunikation, bei der nur eine Zertifizierung seitens des Servers notwendig ist, erfolgt in 6 Schritten: Ablauf einer SSL-Verbindung im Überblick 1. Der Client (z.B. ein Kunde) schickt eine Initialisierungsanfrage an den Server (z.B.) des Händlers) und gibt ihm eine List der vom Client unterstützten Verschlüsselungsverfahren. 2. Der Server wählt nun ein Verfahren aus und übermittelt dem Client sein Zertifikat, das den Public-Key des Servers beinhaltet. 3. Der Client überprüft nun anhand des Zertifikats die Identität des Servers. Überprüfen be-deutet festzustellen, ob die digitale Signatur der Zertifizierungsstelle unter dem Zertifikat echt ist und damit auch die Angaben. 4. Anschließend erstellt der Client einen zufällig erzeugten symmetrischen Sitzungsschlüssel (Session Key) nach dem vereinbarten Verschlüsselungsverfahren. 5. Der Sitzungsschlüssel wird nun mit dem Public-Key des Servers verschlüsselt und an ihn übertragen. Damit ist sichergestellt, dass der Sitzungsschlüssel nur von dem Server entschlüs-selt werden kann, da nur dieser im Besitz seines Privat-Key ist (asymmetrisches Verschlüsse-lungsverfahren). 6. Optional kann der Client zum Sitzungsschlüssel auch noch sein eigenes Zertifikat (falls vorhanden) übermitteln, sodass der Server analog zu Punkt 3 die Identität des Client über-prüft. Da beide Seiten nun den Sitzungsschlüssel besitzen, werden die Daten ab jetzt symmetrisch verschlüsselt übermittelt. ... comment |
Online for 7690 days
Last update: 2004.01.20, 20:27 You're not logged in ... login
Sicherheitsaspekte des...
Nachdem sich Martina Mahlknecht im häuser-blog... by katrin.sonnweber.salzburg (2004.01.20, 20:27) 6. Die wichtigsten Verschlüsselungsalgorithme
(Quelle: http://www.fh-wedel.de/~si/seminare/ws96/ by katrin.sonnweber.salzburg (2004.01.20, 20:22) 5. Verschlüsselung
(Quelle: http://www.gnupp.de/veschluesselung) Unt by katrin.sonnweber.salzburg (2004.01.20, 20:15) 2. SET
(Quelle: http://www.aspheute.com) Um finanzielle Transaktionen... by katrin.sonnweber.salzburg (2004.01.20, 20:13) 1. SSL (Secure Socket...
(Quelle: http://www.internetboom.de) SSL ist ein Protokoll,... by katrin.sonnweber.salzburg (2004.01.20, 20:11) |