Dark ITSec

SSL
SSL (Secure Socket Layer)-Protocol.Verfahren zur sicheren Übertragung verschlüsselter Daten im Internet, das sowohl im Web als auch bei FTP, Telnet, E-Mail- und anderen Kommunikationsformen einsetzbar ist. Die wichtigsten Web-Browser (Netscape Communicator, MS Internet-Explorer) unterstützen den SSL-Standard. Er ermöglicht eine abhörsichere Verbindung zwischen Web-Server und Web-Browser und bietet auch die Identifizierung des Servers, also des Empfängers der Daten, mittels digitaler Zertifikate (digitale Unterschrift).

Eine mit SSL geschützte und verschlüsselte Verbindung im Internet ist sicher durch: SSL (X.509v3) Server Zertifikate
Ein digitales Zertifikat ist eine Bescheinigung über die Identität, welche von einer unabhängigen und vertrauenswürdigen dritten Partei, der "Certification Authority (CA)", unterzeichnet wird. Also eine Art elektronische Urkunde oder die digitale Variante eines Ausweises. Normalerweise folgt ein solches Zertifikat den Regeln des X.509 Standards. Die "CA" verbürgt sich mit ihrer Unterschrift für die Richtigkeit der im Zertifikat enthaltenen Daten.

Das Protokoll ist zwischen der Anwendungsschicht (bspw. Telnet, FTP, ...) und der Transportschicht (TCP/IP, NetBios, ...) angesiedelt und lässt sich somit leicht in bereits bestehende Infrastrukturen integrieren. Entwickelt wurde SSL ursprüglich von Netscape und so ist die gesicherte Kommunikation im WWW wohl immer noch der Hauptanwendungszweck von SSL.
Handshake-Protocol: für den Verbindungsaufbau
Change CipherSpec Protocol: Austausch/Einigung über die Auswahl des Größten Gemeinsamen Algorithmen
Aliert Protocol: Für die Fehlermeldungen
Application Data Protocol: Regelt den DatenStrom zwischen Anwendungen und dem Record Protocol
SSL Record Protocol: Verschlüsselt und Entschlüsselt die Daten von und für die Anwendungen

SSL bietet dem Client immer eine Authentifizierung des Servers. Dies spielt sich in der SSL-Ebene ab. Die Anwendung bekommt also davon nichts mit. Die Authentifizierung des Clients ist optional.

Beim Aufbau einer TCP/IP-Verbindung von einem SSL-Client zu einem SSL-Server macht SSL eine Art Verhandlung zwischen diesen beiden. Es wird sich geeinigt, welchen Grad der Sicherheit erreicht werden soll.

SSL- Verbindungsaufbau (SSL-Handshake):

Nach diesem Verbindungsaufbau, kümmert sich SSL nur noch darum den Datenfluss der Applikation zu kodieren bzw. zu dekodieren.

Ein Verbindungsaufbau bei SSL läuft wie folgt ab:

  1. In der sogenannten Hello-Phase, baut der Client eine Verbindung zum Server auf und teilt diesem mit, welche Kryptographischen-Algorithmen er unterstützt. Der Server wählt von diesen ein Public-Key-Verfahren, Private-Key-Verfahren und ein Hashverfahren aus und teilt diese dem Client mit.
  2. Der Server sendet nun ein Zertifikat, das neben der Identität des Servers auch den öffentlichen Schlüssel des Servers enthält. Mit diesem Zertifikat kann der Client überprüfen, ob die Antwort wirklich vom gewünschten Server stammte.
  3. Der Client generiert nun einen Sitzungsschlüssel (Session-Key) für den Datenaustausch mit dem gewählten Private-Key-Verfahren. Diesen kodiert der Client mit dem erhaltenden öffentlichen Schlüssel des Servers und schickt diesen an den Server.
  4. Der Client authentifiziert den Server, indem der Client jetzt einige mit dem Sitzungsschlüssel kodierten Testnachrichten an den Server sendet. Der Server kann diese nur korrekt entschlüsseln, wenn es sich um den echten Server handelt. (Damit hat sich der Server also gegenüber dem Client authentifiziert)
  5. Jetzt kommt ein optionaler Schritt, wo der Client sich dem Server gegenüber authentifizieren kann. Dieser Schritt ist nur möglich, wenn der Client über ein registriertes Zertifikat verfügt
  6. Beide Seiten schließen den Verbindungsaufbau ab und kodieren alle weiteren Datenpakete mit dem Sitzungsschlüssel.

Wiederherstellung einer alten Verbindung:

 

Eine Auswahl der wichtigsten Dienste mit SSL

Dienst / Protokoll Port SSL Port Beschreibung
HTTP (HTTPS)
FTP/ FTP-DATA
TELNET
POP3
SMTP
IMAP4
NNTP
IRC
UUCP
LDAP (LDAPS)
80
21/20
23
110
25
143
119
194
540
389
443
990/ 989
992
995
465
993
563
994
4031
 636
HyperText Transfer Protokoll
File Transfer Protokoll
-
Post Office Protokoll
Simple Mail Transfer Protokoll
Internet Message Access Protocol
Network News Transfer Protokoll
Internet Relay Chat Protocol
Unix-To-Unix-Copy
Lightweight Directory Access Protocol