Was ist ein Sitzungsschlüssel? Sitzungsschlüssel und TLS-Handshakes

Das TLS-Protokoll (früher bekannt als „SSL“) verwendet sowohl asymmetrische/Public-Key- als auch symmetrische Kryptographie, und für jede Kommunikationssitzung müssen neue Schlüssel für die symmetrische Verschlüsselung erzeugt werden. Solche Schlüssel werden als „Sitzungsschlüssel“ bezeichnet.

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • Sie wissen, was eine Sitzung ist, was ein Schlüssel ist und wann neue Sitzungsschlüssel erstellt werden müssen
  • Die Unterschiede zwischen asymmetrischer und symmetrischer Kryptographie verstehen
  • Erfahren, wie das SSL/TLS-Verschlüsselungsprotokoll beide Arten der Kryptographie verwendet

Ähnliche Inhalte


Möchten Sie noch mehr erfahren?

Abonnieren Sie theNET, Cloudflares monatliche Zusammenfassung der beliebtesten Einblicke in das Internet!

Lesen Sie die Cloudflare Datenschutzrichtlinie, um zu erfahren, wie wir Ihre persönlichen Daten sammeln und verarbeiten.

Link zum Artikel kopieren

Was ist ein Sitzungsschlüssel?

Ein Sitzungsschlüssel ist ein symmetrischer kryptografischer Schlüssel, der zur Verschlüsselung von nur einer Kommunikationssitzung verwendet wird. Mit anderen Worten, es handelt sich um einen temporären Schlüssel, der nur einmal, während einer bestimmten Zeitspanne, für die Ver- und Entschlüsselung von Daten zwischen zwei Parteien verwendet wird; zukünftige Gespräche zwischen den beiden Parteien würden mit anderen Sitzungsschlüsseln verschlüsselt. Ein Sitzungsschlüssel ist wie ein Passwort, das bei jeder Anmeldung zurückgesetzt wird.

Bei TLS (früher bekannt als „SSL“) erzeugen die beiden kommunizierenden Parteien (Client und Server) zu Beginn jeder Kommunikationssitzung während des TLS-Handshakes Sitzungsschlüssel.Der offizielle RFC für TLS nennt diese Schlüssel nicht „Sitzungsschlüssel“, aber funktionell sind sie genau das.

Was ist eine Sitzung?

Eine Sitzung ist im Wesentlichen ein einziges Gespräch zwischen zwei Parteien. Eine Sitzung findet über ein Netzwerk statt und beginnt, wenn sich zwei Geräte gegenseitig bestätigen und eine virtuelle Verbindung herstellen. Sie endet, wenn die beiden Geräte die benötigten Informationen voneinander erhalten haben und „close_notify“-Nachrichten senden, wodurch die Verbindung beendet wird. Eine Analogie wäre, wenn sich zwei Personen gegenseitig Textnachrichten schicken und die Konversation mit den Worten „Bis später“ beenden. Die Verbindung kann auch aufgrund von Inaktivität beendet werden; das ist so, wie wenn sich zwei Personen Textnachrichten schicken und dann einfach nicht mehr antworten.

Sitzungsschlüssel – drei Sitzungen mit jeweils einem neuen Schlüssel

Eine Sitzung kann entweder eine festgelegte Zeitspanne lang dauern oder so lange, wie die beiden Parteien miteinander kommunizieren. Ist Ersteres der Fall, läuft die Sitzung nach einer gewissen Zeit ab; um die Verbindung wieder zu öffnen, müssten die beiden Geräte für die TLS-Verschlüsselung dann Informationen austauschen und neue Sitzungsschlüssel generieren.

Was ist ein kryptografischer Schlüssel?

In der Kryptographie ist es üblich, von Schlüsseln (in der Regel ein kurzes Datenstück) zu sprechen, um auf spezielle Eingaben eines kryptographischen Algorithmus hinzuweisen. Die gebräuchlichsten Schlüssel werden für die Verschlüsselung von Daten verwendet; es gibt jedoch auch andere Arten von Schlüsseln für verschiedene Zwecke.

Ein Datenverschlüsselungsalgorithmus verwendet einen (geheimen) Schlüssel, um eine Nachricht in einen Chiffretext umzuwandeln – also in eine verschlüsselte, unlesbare Version der Nachricht. Mit Hilfe eines Entschlüsselungsschlüssels kann man die ursprüngliche Nachricht aus dem Chiffretext wiederherstellen.

Bei einem symmetrischen Verschlüsselungsalgorithmus sind sowohl der Verschlüsselungs- als auch der Entschlüsselungsschlüssel identisch. Somit kann jeder, der den geheimen Schlüssel besitzt, Daten verschlüsseln und entschlüsseln. Deshalb wird oft der Begriff symmetrische Schlüssel verwendet.

Im Gegensatz dazu gibt es bei einem asymmetrischen Verschlüsselungsalgorithmus, der auch als Public-Key-Verschlüsselung bekannt ist, zwei Schlüssel: Einer ist öffentlich und kann nur zum Verschlüsseln von Daten verwendet werden, während der andere privat bleibt und nur zum Entschlüsseln von Chiffretexten verwendet wird.

Verwendet HTTPS symmetrische oder asymmetrische Kryptographie?

HTTPS (also HTTP in Kombination mit dem TLS-Protokoll) verwendet beide Arten der Verschlüsselung.Jede Kommunikation über TLS beginnt mit einem TLS-Handshake.Die asymmetrische Kryptographie ist für das Funktionieren des TLS-Handshakes von entscheidender Bedeutung.

Im Verlauf eines TLS-Handshakes legen die beiden kommunizierenden Geräte die Sitzungsschlüssel fest, die für den Rest der Sitzung zur symmetrischen Verschlüsselung verwendet werden (es sei denn, die Geräte entscheiden sich, ihre Schlüssel während der Sitzung zu aktualisieren). In der Regel handelt es sich bei den beiden kommunizierenden Geräten um einen Client, d. h. ein Benutzergerät wie ein Laptop oder ein Smartphone, und einen Server, d. h. einen Webserver, der eine Website hostet. (Weitere Informationen finden Sie unter Was ist das Client-Server-Modell?)

Beim TLS-Handshake sind auch der Client und der Server beteiligt:

  • Verhandeln, welche kryptografischen Algorithmen verwendet werden sollen (dies geschieht sicher über asymmetrische Kryptografie)
  • Authentifizierung der Identität des Servers anhand seines TLS-Zertifikats (unter Verwendung asymmetrischer Kryptografie)

Was ist das „Master-Secret“ bei einem TLS-Handshake? Was hat das mit Sitzungsschlüsseln zu tun?

Das Master-Secret ist das Ergebnis der Kombination einer vom Client gesendeten Zeichenkette aus Zufallsdaten, vom Server gesendeten Zufallsdaten und einer weiteren Zeichenkette, die als „Premaster-Secret“ bezeichnet wird, und zwar mittels eines Algorithmus. Der Client und der Server verfügen jeweils über diese drei Nachrichten, sodass sie beim Master-Secret zum gleichen Ergebnis kommen sollten.

Der Client und der Server verwenden dann das Master-Secret, um mehrere Sitzungsschlüssel zu berechnen, die nur in dieser Sitzung verwendet werden. Sie sollten am Ende die gleichen Sitzungsschlüssel erhalten.

Erfahren Sie mehr darüber, wie TLS funktioniert: Was passiert bei einem TLS-Handshake?