Informatik Security

Sym Enc Topic 12, TLS

Sym Enc Topic 12, TLS


M. T.
Diese Lernkarten bieten einen umfassenden Überblick über Sicherheitsprotokolle wie TLS und DTLS auf Universitätsniveau. Sie behandeln Themen wie Server-Client-Interaktionen, Zertifikate, Handshake-Protokolle und Verschlüsselungstechniken. Besonders hervorgehoben werden die Unterschiede zwischen TLS und DTLS, die Funktionsweise von Proxies und die Sicherheit von Verbindungen. Ideal für Studierende und IT-Experten, die ihr Wissen über Netzwerksicherheit vertiefen möchten.
Flashcards
48
Students
4
Language
German
Category
Computer Science
Level
University
Created / Updated
02.07.2018 / 16.01.2019

Flashcards

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 ist bei der TLS Version 1.2 neu dazu gekommen ? 

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.

Wie sieht ein TLS protokoll aus ? 

Beinhaltet folgendes

  • Handshake Protokoll (AKE)
  • CHangeChipherSpecProtocoll (CCS)
  • AlertProtocoll
  • REcord Protocol (AE)
  •  

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

Welche varianten von TLS Handshake kennen Sie sonst noch ? 

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

 

Was kennen Sie zum TLS Alert Protocol ? 

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.

wie funktioniert die Session wieder aufnahme ?

Dies kann mit einem abbreviated handshake oder einen Session ticket erfolgen. 

Danach wird für die symetrische verschlüsselung der alte Masterkey verwendet. 

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

Was sind die empfohlene TLS Configuration ? 

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.

Study