TLS (Transport Layer Security) funktioniert über TCP (Transmission Control Protocol), indem es einen sicheren Kommunikationskanal zwischen einem Client und einem Server herstellt. Wenn TLS über TCP verwendet wird, wird es in die zuverlässige, verbindungsorientierte Kommunikation von TCP integriert, um Datenintegrität, Sequenzierung und zuverlässige Zustellung sicherzustellen. Der TLS-Handshake-Prozess initiiert die sichere Verbindung, bei der Client und Server kryptografische Algorithmen aushandeln, Schlüssel austauschen und sich gegenseitig mithilfe digitaler Zertifikate authentifizieren. Sobald der TLS-Handshake abgeschlossen ist, werden die über die TCP-Verbindung übertragenen Daten mithilfe von Sitzungsschlüsseln, die aus den ausgetauschten Geheimnissen abgeleitet werden, verschlüsselt und entschlüsselt, um Vertraulichkeit und Schutz vor Abhören oder Manipulation zu gewährleisten.
TLS arbeitet Schritt für Schritt daran, die Kommunikation zwischen einem Client und einem Server über ein Netzwerk zu sichern. Der Prozess beginnt damit, dass der Client eine „ClientHello“-Nachricht an den Server sendet und dabei unterstützte TLS-Versionen, kryptografische Algorithmen und Sitzungsparameter angibt. Der Server antwortet mit einer „ServerHello“-Nachricht, wählt eine gegenseitig unterstützte Verschlüsselungssuite aus und generiert einen Sitzungsschlüssel. Der Server sendet außerdem sein digitales Zertifikat zur Authentifizierung an den Client. Der Client überprüft das Zertifikat des Servers, generiert ein Premaster-Geheimnis, verschlüsselt es mit dem öffentlichen Schlüssel des Servers und sendet es an den Server. Beide Parteien leiten Sitzungsschlüssel aus dem Premaster-Geheimnis ab und verwenden sie zur Verschlüsselung nachfolgender Datenübertragungen, wodurch Vertraulichkeit, Integrität und Authentizität der Kommunikation gewährleistet werden.
Aufgrund der Zuverlässigkeit, Sequenzierung und verbindungsorientierten Natur von TCP, die für eine sichere Kommunikation, die eine garantierte Datenübermittlung und -reihenfolge erfordert, unerlässlich sind, wird TLS hauptsächlich über TCP betrieben. TLS nutzt die Fähigkeiten von TCP, um sichere Verbindungen aufzubauen und zu verwalten, Datennutzlasten zu verschlüsseln, um sie vor Abfangen und Manipulation zu schützen und gleichzeitig eine zuverlässige Übertragung zwischen Clients und Servern über IP-Netzwerke sicherzustellen.
TLS kann technisch gesehen über UDP (User Datagram Protocol) funktionieren, wird in der Praxis jedoch weniger häufig verwendet. UDP ist verbindungslos und garantiert keine zuverlässige Zustellung oder Sequenzierung von Daten, was die Implementierung von TLS vor Herausforderungen stellt. In bestimmten Szenarien, in denen einfache Echtzeitkommunikation Vorrang vor Zuverlässigkeit hat (z. B. VoIP oder Online-Gaming), kann jedoch Datagram Transport Layer Security (DTLS), eine für UDP entwickelte Variante von TLS, verwendet werden. DTLS umfasst Mechanismen, um die Eigenschaften von UDP zu berücksichtigen, wie etwa Handshake-Neuübertragungen und die Überprüfung der Sequenznummer, um eine sichere Kommunikation über unzuverlässige UDP-Netzwerke zu gewährleisten.
TLS arbeitet mit HTTP (Hypertext Transfer Protocol) zusammen, um eine sichere Kommunikation zwischen Clients (z. B. Webbrowsern) und Servern (z. B. Websites) bereitzustellen. Wenn TLS mit HTTP verwendet wird, wird es allgemein als HTTPS (HTTP Secure) bezeichnet. HTTPS verschlüsselt HTTP-Anfragen und -Antworten mithilfe von TLS und schützt so sensible Daten wie Anmeldeinformationen, Finanztransaktionen und persönliche Informationen vor dem Abfangen durch böswillige Akteure. TLS sichert die HTTP-Kommunikation, indem es über einen Handshake-Prozess eine sichere TLS-Sitzung aufbaut, die Serveridentität mit digitalen Zertifikaten überprüft und über die HTTP-Verbindung übertragene Daten verschlüsselt, um Vertraulichkeit, Integrität und Authentizität von Webinteraktionen sicherzustellen.