Informatik Security
Sym Enc Topic 12, TLS
Sym Enc Topic 12, TLS
-
- 1 / 48
-
Cartes-fiches
Was verstehen SIe unter AKE ?
Authenticated Key Establishment
Dies ist ein Key Austausch verfahren welche die Authentizität der Parteien überprüft
Was verstehen Sie unter dem Begriff AE?
Authenticated Encryption
Authenticated Encryption is a keyed, symmetric crypto primitive that allows to wrap
and un-wrap messages to provide authenticity, integrity and confidentiality.
Wie läuft der Aufbau von einem AKE und KDF ? was pasiert in der sogenannten Phase 1 ?
Step 1:the communication peers try to negotiate an acceptable set of security parameters for both partners.
Step II: Using Diffie-Hellman or RSA based Key Exchange the peers derive and agree on a
common Master Key.
Step III: The peers will identify and authenticate each other. This can be done encrypted or
non-encrypted.
Step IV: Several Session Keys will be deduced on both sides according to a predefined Key
Derivation Function (KDF) which usually is a pseudo random function (PRF) based on HMAC.
Step V: The peers prove and verify the derived session keys by sending encrypted messages
(which easily can be checked by the peers).
Welche Phasen gibt es bei der Secure Channel ?
2 Phasen !
Phase 6: Data will be encrypted using a symetric algorithm with the derived Session Key (DES, 3DES, IDEA, RC4, AES) and will be authenticated using a MAC
Phase 7: After a first period (e.g 60 min) the key of the encrypted and authenticated datastream will be automatically renewed
Was ist SSL / TLS?
SSL oder TLS bauen sichere transport verbindungen(secure transport connection) zwischen applikationen auf (zb. zwischen server und browser)
Was sind die herausforderung für die kommenden TLS versionen ?
Hardening by “simplifying” the handshake protocol
Speeding up the initial handshake that authenticates
and secures the connection
Enabling a fast, but secure connection resumption
Was kann die TLS ?
TLS liefert secure communication (AKE und AE) auf der oder besser über der Transport layes mit TCP (statefull connection)
Typischer weise ist nur der Server authentifiziert.
Beidseitige authentifizierung ist möglich wenn ein secure channel aufgebaut wurde
Beidseitige Authentifizierung benötigt PKI auf dem Client
A stateless TLS is also possible using Datagramm TLS
Wie laufen die TLS verhandlungen zwischen den peers ab ?
Um TLS zu verwenden muss man zuerst wissen das der partner auch TLS unterstützt
verwenden von dedicated port numbers
Use standard port number for ordinary application
protocol and negotiate security options as part of the
- slightly modified - application protocol.
Use a TCP option to negotiate the use of SSL during
the normal TCP connection establishment phase.
welches niveau ist das TLS record protocol ?
TLS Record Protocol ist auf der tiefsten ebene des TLS prokolls
Was können Sie zum TLS Record Protocol sagen ?
fragmentiert, komprimiert, authentifizierter verschlüsselung und übertragung der Daten
Nach dem erfolgreichem TLS Handshake werden 2 unabhängige Channels ziwschen den beiden Parteien aufgebaut
In diesen Beiden Kanälen werden die Daten mit hilfe von authenticated encryption scheme welches im Handshake ausgemacht wurde geschützt.
Die Applikations daten werden als stream fragmentiert und dann der reihe nach übertragen
Wenn Client oder der Server die verbindung terminieren wollen dann wird ein close_notify alert signal am ende des Streams gesendet.
Welches sind die Header information zum TLS Record Protocol ?
Type
Version
Length
Wie sieht der überblick auf den TLS Record Prtokoll aus ?
Framentierung auf 2^14 bytes oder weniger
Header anhängen
Komprimierung (TLSPlaintext --> TLSCompressed)
apply mac and encrypt (pad if necessary) (sequence number im MAC um reihenfolge der chunks richtig zu halten)
Was können Sie zu einem TLS Session sagen ?
Die TLS Session ist eine verbindung (einigung) zwischen CLient und Server
Sessions sind statefull und beinhalten die sicherheits parameter
Eine Session kann auch mehrere Verbindung zwischen demselben server und client haben
Sessions verhindern das bei jeder verbindung neue sicherheits parameter ausgemacht werden
Was ist das Ziel einer TLS Handshake Protocol ?
Authentifizierung des Servers (optional auch den Client)
aushandlung der sicherheits parameter (versionen, cipher arten etc)
derive authenticated encryption key
einigung über den verwendungsart über alle teilnehmer
Wann beginnt der TLS handshake
Sobald die TCP verbindung aufgebaut wurde.
welches parameter werden im TLS Handshake ausgemacht ?
Session Identifier
peer certificate
cipher spec (PRF, encryption algo,MAC)
master secret 46byte secret key
reconnectable flag
Wie ist die Reihenfolge des TLS Handshake Protokolls ?
Client Server
>>>>>>>>clientHello>>>>>>>>>>>>>>>>>>>>>>
<<<<<<<<<ServerHello<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<ServerCertificate<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<ServerHelloDone<<<<<<<<<<
>>>>>>>>>>ClientKeyExchange>>>>>>>>>>>>>
>>>>>>>>>>>ChangeCipherSpec>>>>>(erste verschlüsselte nachricht vom Client)
>>>>>>>>>>>>>Client Finished>>>>>>>>>>>>>(verschlüsselt)
<<<<<<<<<<ChangeCipherSpec<<<<<<(erste verschlüsselte nachricht vom Server)
<<<<<<<<<<<<ServerFinished <<<<<<<<<<<<<(verschlüsselt)
How is the key derivation function done in TLS?
The key derivation is the process to create a session key from the master key
In TLS 1.2 this is done with the HMAC-SHA256 as PRF
Wie wird bei der TLS Handshake das Masterkey vom Client zum Server verschlüsselt ?
Im Certifikat welches der Server am Client zustellt ist der Public key vom Server, diesen Public key kann der Client verwenden um den Masterkey verschlüsselt an den Server zu senden.
KeyExchange Authentication TLS_RSA
was können Sie dazu sagen ?
Key Exchange und Server authentifizierung erfolgt auf RSA Key Transport
Certifikat des Servers muss keyEncipherment bit enbaled haben
Nachteil: kein PFS (perfect forward secrecy) die TLS daten können aufgezeichnet und entschlüsslet werden sobal der server private key gestohlen/entwendet weren kann
KeyEx and Authentication TLS_DH_RSA/DSS
Was können Sie hierzu sagen ?
Key austausch mit FIxed Difie Hellman
Server Authentifizierung basiert auf DiffieHellman public key certifikat signiert mit RSA oder DSS
Key Agreement bit im certifikat muss true sein
Key Exchange nd AUthentication TLS_DHE_RSA/DSS
Key Austausch mit Ephemeral Diffie Hellamn
Server Authentifizierung basiert auf RSA/DSS Signatur
digistalSignature bit im Server Cert muss enabled sein
Key Exchange and Authentication TLS_DH_anon?
Key Austausch Anonymous Diffie Hellman
Keine Authentifizierung --> ist angreifbar durch MännerIrMitti attacke aber die peers beliben anonym
Key Exchange and Athentication TLS_ECDHE_RSA/DSS
was können Sie hierzu sagen ?
Beside modp-based DHE unterstützt auch ECDHE
wie läuft die CLient Authentifizierung?
Der Server stellt einen Certificate Req an den CLient.
Der Client liefert seinen cert der signiert ist und den dazugehörigen publickey
Der client signier die nachrichetn bis dahin und sendet es am server
Server kann dies verifizieren
Was kennen Sie zum ChangeCipherSpec Protocol ?
wird es vorausichtlich in det V1.3 nicht mehr geben
conent ist 1 byte mit value 1
ist die erste verschlüsslte Nachricht unter den verieinbarten bedingungen
Warum gibt es TLS Sesssion resumption ?
Weil ein TLS handshake viel serveraufwand bedeutet können die mit den TLS Session wiene verbindung wieder aufgebaut werden.
Was ist eine TLS Connection Renogiation?
Hier wird ein neuer Session erstellt mit einem neuen TLS Handshake
Was für verletzlichkeiten gibt es auf dem TLS 1.2 ?
es hat sich zwar bis jetzt gut bewährt aber in der letzten Zeit hat sich vermehrt angriffe auf das TLS stattgefunden.
BEAST, POODLE, FREAK, TIME, etc
Diese sollten mit der neuen version 1.3 verhindert werden
welche 2 arten von Webhosting gibt es ?
Name based virtual Hosting (shared web hosting)
IP-based virtual Hosting (dedicated IP hosting)
Wie funktioniert das Name Based virtual hosting? grob!
the virtual host serves multiple hostnames on a single machine with a single IP address.
When a web browser requests a resource from this web server using HTTP/1.1 it includes the requested hostname as part of the request. The server uses this information to determine which web site to show the user
WIe funktioniert das IP based Virtual hosting ?
each virtual host has a different IP address. The web server is configured with multiple physical network interfaces, or virtual network interfaces on the same physical interface.
The web server software uses the IP address the client connects to in order to determine which web site to show the user.
Was gibt es für Probleme mit Name Based virtual hosting und TLS? und welche lösungen sind vorhanden ?
Da ei TLS Handshake vor dem ertsen HTTP Pakcet stattfindet weiss zu diesem Zietpunkt der Server nicht welches certifikat er dem client zusenden soll
Lösungen:
verwende ip based virtual hosting mit einem certifikat pro ip adresse
certifikate verwenden mit mehreren FQDN in certifikat extension (Subject Alternative Names)
extension RFC436 oder TLS V1.2 (SNI protocol)
wildcard certificate
Was ist das SNI protocol ?
Server Name Indication
SNI protocol ist ab v1.2 im TLS vorhanden. Ist für das Namebased virtual hosting und TLS problem zu beheben. Hiermit wird bei CLient hello der Hostname mitgesendet. DAmit der Server weiss welches certifikat er ausliefern soll.