Transport Layer Security
Das Transport Layer Security (TLS)-Protokoll und sein Vorgänger, Secure Sockets Layer (SSL), sind kryptographische Protokolle, die Sicherheit und Datenintegrität für die Kommunikation über TCP/IP-Netzwerke wie das Internet bieten. Mehrere Versionen der Protokolle sind in Anwendungen wie Web-Browsing, elektronischer Post, Internet-Faxen, Instant Messaging und Voice-over-IP (VoIP) üblich.
Beschreibung
Das TLS-Protokoll ermöglicht es Anwendungen, über ein Netzwerk so zu kommunizieren, dass Abhören, Manipulation und Nachrichtenfälschung verhindert werden. TLS bietet Endpunkt-Authentifizierung und Vertraulichkeit der Kommunikation über das Internet durch Kryptographie. Meistens wird nur der Server authentifiziert (d.h. seine Identität wird sichergestellt), während der Client nicht authentifiziert bleibt; dies bedeutet, dass der Endbenutzer (sei es eine Einzelperson oder eine Anwendung, wie z.B. ein Webbrowser) sicher sein kann, mit wem er kommuniziert. Die nächste Sicherheitsstufe ist die so genannte gegenseitige Authentisierung. Gegenseitige Authentifizierung erfordert die Bereitstellung einer Infrastruktur mit öffentlichem Schlüssel (Public Key Infrastructure, PKI) für Clients, es sei denn, es werden TLS-PSK oder das Secure Remote Password (SRP)-Protokoll verwendet, die eine starke gegenseitige Authentifizierung bieten, ohne dass eine PKI bereitgestellt werden muss.
Verwendung
SSL und TLS wurden in mehreren Open-Source-Software-Projekten umfassend eingesetzt. Programmierer können die OpenSSL-, NSS- oder GnuTLS-Bibliotheken für die SSL/TLS-Funktionalität verwenden. Microsoft Windows schließt die Verwendung von SSL und TLS als Teil seines Secure Channel-Pakets ein. Delphi-Programmierer können eine Bibliothek namens Indy verwenden.
Normen
Die derzeit genehmigte Version ist 1.2, die in:
- RFC 5246: "Das Transport Layer Security (TLS) Protokoll Version 1.2".
Der aktuelle Standard veraltet diese früheren Versionen:
- RFC 2246: "Das TLS-Protokoll Version 1.0".
- RFC 4346: "Das Transport Layer Security (TLS) Protokoll Version 1.1".
Andere RFCs erweiterten später TLS, darunter
- RFC 2595: "Verwendung von TLS mit IMAP, POP3 und ACAP". Gibt eine Erweiterung der IMAP-, POP3- und ACAP-Dienste an, die es dem Server und dem Client ermöglicht, die Sicherheit der Transportschicht zu nutzen, um private, authentifizierte Kommunikation über das Internet bereitzustellen.
- RFC 2712: "Hinzufügung von Kerberos-Verschlüsselungssuiten zur Sicherheit der Transportschicht (TLS)". Die in diesem Memo definierten 40-Bit-Chiffrensuiten erscheinen nur zu dem Zweck, die Tatsache zu dokumentieren, dass diese Chiffrensuite-Codes bereits zugewiesen wurden.
- RFC 2817: "Upgrading to TLS Within HTTP/1.1", erklärt, wie der Upgrade-Mechanismus in HTTP/1.1 verwendet wird, um Transport Layer Security (TLS) über eine bestehende TCP-Verbindung zu initiieren. Dadurch kann ungesicherter und gesicherter HTTP-Verkehr den gleichen bekannten Port benutzen (in diesem Fall http: bei 80 statt https: bei 443).
- RFC 2818: "HTTP Over TLS", unterscheidet zwischen gesichertem und ungesichertem Datenverkehr durch die Verwendung eines anderen "Server-Ports".
- RFC 3207: "SMTP Service Extension for Secure SMTP over Transport Layer Security". Gibt eine Erweiterung des SMTP-Dienstes an, die es einem SMTP-Server und -Client ermöglicht, die Sicherheit der Transportschicht zu nutzen, um private, authentifizierte Kommunikation über das Internet bereitzustellen.
- RFC 3268: "AES-Chiffrierverfahren für TLS". Fügt Advanced Encryption Standard (AES)-Chiffrierkombinationen zu den bisher existierenden symmetrischen Chiffren hinzu.
- RFC 3546: "Transport Layer Security (TLS) Extensions", fügt einen Mechanismus zum Aushandeln von Protokoll-Erweiterungen während der Sitzungsinitialisierung hinzu und definiert einige Erweiterungen. Durch RFC 4366 obsolet geworden.
- RFC 3749: "Transport Layer Security Protocol Compression Methods", spezifiziert den Rahmen für Kompressionsverfahren und das Kompressionsverfahren DEFLATE.
- RFC 3943: "Komprimierung des Transport Layer Security (TLS)-Protokolls mit Lempel-Ziv-Stac (LZS)".
- RFC 4132: "Hinzufügen von Camellia Cipher Suites zur Transport Layer Security (TLS)".
- RFC 4162: "Hinzufügung von SEED-Verschlüsselungs-Suiten zur Transportschicht-Sicherheit (TLS)".
- RFC 4217: "Sichern von FTP mit TLS".
- RFC 4279: "Pre-Shared Key Ciphersuites for Transport Layer Security (TLS)", fügt drei Sätze neuer Verschlüsselungssuiten für das TLS-Protokoll hinzu, um die Authentifizierung auf der Grundlage von Pre-Shared Keys zu unterstützen.
- RFC 4347: "Datagram Transport Layer Security" spezifiziert eine TLS-Variante, die über Datagramm-Protokolle (wie z.B. UDP) arbeitet.
- RFC 4366: "Transport Layer Security (TLS) Extensions" beschreibt sowohl einen Satz spezifischer Erweiterungen als auch einen generischen Erweiterungsmechanismus.
- RFC 4492: "Elliptische-Kurven-Kryptographie (ECC) Verschlüsselungs-Suiten für Transport Layer Security (TLS)".
- RFC 4507: "Transport Layer Security (TLS) Session Resumption Resumption without Server-Side State".
- RFC 4680: "TLS Handshake-Nachricht für ergänzende Daten".
- RFC 4681: "TLS User Mapping Erweiterung".
- RFC 4785: "PSK-Verschlüsselungen (Pre-Shared Key) mit NULL-Verschlüsselung für Transport Layer Security (TLS)".
Verwandte Seiten
- Zertifizierungsstelle
- Zertifikat für öffentliche Schlüssel
- Extended Validation-Zertifikat
- SSL-Beschleunigung
- Sicherheit der Datagramm-Transportschicht
- Sicherheit der Multiplex-Transportschicht
- X.509
- Virtuelles privates Netzwerk
- SEED
- Server-gated-Kryptographie
Software
- OpenSSL: eine freie (und sehr beliebte) Implementierung (BSD-Lizenz mit einigen scherzhaften Erweiterungen)
- GnuTLS: eine freie LGPL-lizenzierte Implementierung
- JSSE: eine Java-Implementierung, die in der Java-Laufzeitumgebung enthalten ist
- Netzsicherheitsdienste (NSS): FIPS 140-validierte Open-Source-Bibliothek