TLS Historie
SSL 2.0 1995
SSL 3.0 1996
TLS 1.0 1999
TLS 1.1 2006
TLS 1.2 2008
TLS 1.3 2018
3 TLS Arten
Browser Based
Client Based
Enhanced Browser Based
Browser Based VPN
=>Browser mit TLS unterstützung => keine Extra Programme => Kommunikation über HTTPS
Client Based =>>>>> Zugriff auf eine Website mittels HTTPS Verbindung, die als VPN-Gateway dient und dann Zugriff auf Interne vom Browser erreichbare Dienste liefert
=>Eigener Client Benötigt=>Kompletter Zugriff auf Netzwerk => Integriert sich als eigene Schnittstellte im OS
Enhanced Broswer Based
>=> Kombination aus Browser basierten und TLS basierten VPN => Browser baut verbindung auf und lädt Aktive Applikationen herunter
=> keine INstallation von vollständigen Client benötigt
=>>>>>> Enhanced Browser-Based VPN ermöglicht Zugriff auf eine Website über HTTPS-Verbindung, die als VPN-Gateway fungiert und zusätzlich Funktionen bietet, wie den Zugriff auf Browser erreichbare Dienste
sowie die Unterstützung für Nicht-HTTP-Protokolle durch temporär geladene Browser-Plugins
Funktionsweise TLS
Besteht im Wesentlichen aus 2 Protokollen
Handshake und Record Protokoll
TLS Handshake Protokoll
1: Client Hello
Client sendet unterstützte TLS-Version, Cipher Suites und eine eine Zufallszahl (Client Random) an den Server und versucht
die außerdem unterstützte Schlüsselaustauschmethode des Servers zu raten
2: Server Hello
Server sendet Zertifikat, digitale Signatur, eine Zufallszahl (Server Random) und gewählte CipherSuite an Client
3: Handshake-Abschluss
Client verifiziert Signatur und Zertifikat, bevor beide Parteien das Master-Secret berechnen und die verschlüsselte
Kommunikation beginnen
TLS Record Protokoll
Das TLS Record-Protokoll ist die Grundlage für die sichere Datenübertragung in TLS-Verbindungen.
Es verarbeitet eingehende Daten durch mehrere standardisierte Schritte und nutzt dabei Algorithmen, die in der Cipher-Suite festgelegt sind.
Schlüsselschritte:
Fragmentieren der Daten in Blöcke mit max 16 Byte
MAC (Message Authentitication Code) => Wichtig für Integrität Später
Verschlüsselung des gesamten Records => AES-GCM, ChaCha20
Change Cipher Spec Protokoll
Das ChangeCipherSpec-Protokoll ist eine Nachricht innerhalb des TLS-Protokolls,
die verwendet wird, um die Verschlüsselung in der Verbindung zu aktivieren
Es gibt 2 Nachrichten in dem Protokoll
=>Client sendet ChangeCipherSpec: Nachdem der Handshake abgeschlossen ist, signalisiert der Client mit dieser Nachricht,
dass alle weiteren Nachrichten mit den neuen, ausgehandelten Verschlüsselungsparametern (Schlüssel, Algorithmen usw.) verschlüsselt werden.
Server sendet ChangeCipherSpec: Der Server sendet dann ebenfalls eine ChangeCipherSpec-Nachricht, um dem Client mitzuteilen,
dass auch er die neuen Verschlüsselungsparameter aktiviert hat.
Das ChangeCipherSpec-Protokoll ist ein eigenes Protokoll, weil es als separates Fragment innerhalb des TLS-Record-Protokolls
behandelt wird, die den Übergang zu verschlüsselten Nachrichten markiert. Es verhindert, dass unverschlüsselte und verschlüsselte
Daten im selben Fragment vermischt werden, was Sicherheitslücken birgt
TLS Alert Protokoll
dient der Fehler- und Warnmeldung während einer TLS-Sitzung
es gibt eine Nachricht => 1 Byte AlertLevel 1 Byte AlertDescription
Alert Level Protokoll
Warning: Signalisiert ein Problem aber keIN Zwingender Verbindungsabbruch
Fatal: Erzwingt sofortigen Verbindungsabbruch z.B Bad MAC
TLS Application Data
Anwendungsdaten (z. B. HTTP/HTTPS) an das TLS Record Protocol weiterzuleiten
Algorithmen TLS
RSA
=Asymetrische Verschlüsselung
=Sicherheit von Schlüssellänge Abhängig
AES-GCM
=symetrisches
ChaCha20
ChaCha20 generiert 256-Bit Schlüssel und einer 96-Bit Noance, und noch einen Wert mit 32 Bit Blockzähler und einer 128 Bit Konstanze, verknüpft die alle miteinander.
Diese Zahl wird in 20 Runden bearbeitet, um zufällige Zahlen zu erzeugen.
Diese zufälligen Zahlen werden dann mit den echten Daten verknüpft (durch eine mathematische Operation namens XOR),
wodurch der Text verschlüsselt wird.
Keyexchange TLS RSA
Server sendet seinen öffentlichen RSA-Schlüssel an den Client.
Client erzeugt einen zufälligen Sitzungsschlüssel und verschlüsselt ihn mit dem öffentlichen RSA-Schlüssel des Servers.
Client sendet den verschlüsselten Sitzungsschlüssel an den Server.
Server entschlüsselt den Sitzungsschlüssel mit seinem privaten RSA-Schlüssel.
Beide Parteien verwenden nun denselben Sitzungsschlüssel zur sicheren Kommunikation.
Keyexchange TLS DH
Client und Server einigen sich auf eine gemeinsame Basis (z.B. große Primzahlen).
Beide generieren private Werte und berechnen öffentliche Werte mithilfe der basis und primzahl
Client sendet seinen öffentlichen Wert an den Server und umgekehrt.
Beide berechnen unabhängig den gleichen Sitzungsschlüssel, indem sie ihren privaten Wert mit dem öffentlichen Wert des anderen verwenden.
Der Sitzungsschlüssel wird nun für die sichere Kommunikation genutzt.
Ciphersuits
sind Kombinationen von Algorithmen für verschiedene Sicherheitsfunktionen in einer TLS-Verbindung.
Jede Cipher Suite besteht aus drei Hauptkomponenten:
Schlüsselaustauschverfahren
Verschlüsselungsmethode
Authentifizierungsalgorithmus
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256“ – ECDHE für Schlüsselaustausch, RSA für Authentifizierung, AES für Verschlüsselung, SHA256 für Integrität.
Validierungszertifikate und warum man die Zertifikate braucht
Zertifikatsprüfung: Sicherstellen, dass der Server ein gültiges und vertrauenswürdiges Zertifikat verwendet
Integrität der Verbindung
Integrität TLS:
MAC (Message Authentication Code)
Prüft, ob die Nachricht während der Übertragung verändert wurde.
HMAC wird über die Nachricht erzeugt und mitgesendet
Angriffsmöglichkeiten:
Man-in-the-Middle (MITM): Abfangen/Manipulation durch Zertifikatsschwachstellen
Downgrade-Angriffe (z. B. POODLE): Erzwingt veraltete & unsichere Protokolle
TLS-Stripping: Wandelt HTTPS in HTTP um, entfernt Verschlüsselung
Schwachstellen in TLS: z. B. Heartbleed-Bug ermöglicht Speicherauslesung
Best Pracitses TLS
Starke Schlüssel mit mind 2048 Bit
Zertifikate von vertrauenswürdigen CAs
Nur moderne TLS Varianten
Authentifizierungsverfahren TLS
Benutzername und Passwort: Einfach, aber unsicher, anfällig für Angriffe
Zertifikatbasierte Authentifizierung (CA): Sehr sicher, nutzt ein von einer Zertifizierungsstelle (Certificate Authority, CA) ausgestelltes digitales Zertifikat zur Verifizierung
Zwei-Faktor-Authentifizierung (2FA): Erhöht Sicherheit durch einen zweiten Faktor (z. B. OTP)
Multi-Faktor-Authentifizierung (MFA): Maximale Sicherheit durch mehrere Authentifizierungsmethoden
Smartcard-basierte Authentifizierung: Sehr sicher, benötigt physische Smartcard
TLS 1.2 Vergeleich und Vor/Nachteile
Veraltete Algorithmen
Schlüsselaustausch
Langsamer
unsichere Funktionen
Vorteile Nachteile
Vorteile:
Verschlüsselung
Integrität
Authentifizierung
Vertrauen
Nachteile:
Zertifikatsverwaltung
Leistung
Kompatibilität
3 Zertifikate
Domain Validation:
nicht streng
Nachweis dass Organisation Domain kontrolliert
einfache Websitets
Organisation Validation:
Manuelle Überprüfung
Kontrolle über Domain und Identität überprüng
Extended Validation
höchste Stufe
Überprüfung des rechtl. Status, Existenz und andresse der Organisation
z.B Banken
Zuletzt geändertvor 23 Tagen