6. SSL / TLS Flashcards
Was ist TLS?
“Transport Layer Security”
(Früher bekannt als SSL)
Erweitert TCP um Sicherheit
–> TCP Pakete sind der Datenaustausch zwischen Web Anwendung und Benutzer.
Für was sind die TLS Protokolle zuständig?
Beispiele: - Message integrity - Message confidiality - Authentifizierung - Warn- und Fehlermeldungen etc.
Verbesserung der Sicherheit
z.B. Austausch der Schlüssel mit Diffie-Hellman
Angriffe auf TLS
SSL Stripping Angriff
Heartbleed Angriff auf openSSL
SSL Stripping Angriff (+Gegenmaßnahmen)
Man in the Middle Angreifer kann den Netzwerkverkehr mithören und die Public Keys der beiden mithören / manipulieren.
Gegenmaßnahme:
Mithilfe von HTPT (HTTP Strict Transport Security) wird gesorgt, das der Browser keine unverschlüsselte Verbindung mehr mit dem Server eingeht.
TLS Handshake
ClientHello –}
{– ServerHello
{– ServerCertificate
{– ServerKeyExchange
{– ServerHelloDone
ClientKeyExchange –}
[ChangeCypherSpecs] –}
Finished –}
{– [ChangeCypherSpecs]
{– Finished
{-- Encrypted application data --}
ClientHello: Anfrage mit den Client Daten (Vorschläge zur Verschlüsselungsart)
ServerHello: Anfrage mit den Server Daten (Ausgewählte Verschlüsselungsart)
ServerCertificate: Authorisierung des Servers
ServerKeyExchange: Parameter die für den Schlüsselaustausch nötig sind (öffentlicher Schlüssel)
ServerHelloDone: Selbsterklärend
ClientKeyExchange: öffentlicher Wert des Clients für den Schlüsselaustausch
[ChangeCypherSpecs]: ausgehandelte Verbindungseinstellungen
Finished: Erste verschlüsselte Nachricht
[ChangeCypherSpecs]: Zweites Mal: Bestätigung
Finished: Gleiches wie oben