SSL/TLS
SSL/TLS (Secure Sockets Layer / Transport Layer Security)
Kryptographische Protokolle, die die Kommunikation über das Internet absichern, indem sie Daten zwischen Client (Browser) und Server verschlüsseln, die Identität des Servers authentifizieren und die Datenintegrität während der Übertragung gewährleisten.
Technisches Detail
SSL ist veraltet; TLS 1.2 und 1.3 sind die aktuellen Standards. Der TLS-Handshake stellt eine sichere Verbindung her: Der Client sendet unterstützte Cipher-Suiten, der Server antwortet mit seinem Zertifikat und der gewählten Chiffre, sie tauschen Schlüsselmaterial aus (ECDHE für Forward Secrecy) und leiten symmetrische Sitzungsschlüssel ab. TLS 1.3 reduziert den Handshake auf einen Roundtrip (1-RTT, oder 0-RTT bei Wiederaufnahme) und schreibt Forward Secrecy sowie AEAD-Chiffren (AES-GCM, ChaCha20-Poly1305) vor. Zertifikate werden von Zertifizierungsstellen (CAs) ausgestellt und über die X.509-PKI-Kette validiert. Let's Encrypt bietet kostenlose, automatisierte Zertifikate.
Beispiel
```javascript
// SSL/TLS — Web Crypto API example
const data = new TextEncoder().encode('sensitive data');
const hash = await crypto.subtle.digest('SHA-256', data);
const hex = Array.from(new Uint8Array(hash))
.map(b => b.toString(16).padStart(2, '0')).join('');
```