Cryptography Reference
In-Depth Information
Abgesehen von den genannten Verfahren können Alice und der Server auch
andere einsetzen - vorausgesetzt, dass beide sie unterstützen. Insbesondere gibt es
einige Verfahren, deren Verwendung innerhalb der Secure Shell in anderen RFCs
beschrieben wird. So geht es in [RFC4432] um RSA als Schlüsselaustausch-Ver-
fahren anstelle von Diffie-Hellman.
Der erste Schritt der Kommunikation im Transport Layer Protocol sieht vor,
dass Alice und der Server die Verfahren aushandeln, die sie verwenden. Dabei
können die beiden jeweils zwei symmetrische Verschlüsselungsverfahren und
schlüsselabhängige Hashfunktionen festlegen - jeweils eines davon für den Weg
von Alice zum Server sowie für den Weg vom Server zu Alice. Der Ablauf des dar-
auffolgenden Schlüsselaustauschs hängt von den gewählten Verfahren ab. Der
Standard schreibt vor, dass ein auf der Nutzung von Diffie-Hellman basierendes
Vorgehen unterstützt wird, das wie folgt aussieht:
1.
Alice generiert ein Diffie-Hellman-Schlüsselpaar. Sie wählt also einen Wert x
(privater Schlüssel) und berechnet g x (mod p ) (öffentlicher Schlüssel). Den
öffentlichen Schlüssel schickt sie an den Server.
2.
Der Server generiert ebenfalls ein Diffie-Hellman-Schlüsselpaar bestehend
aus y (privater Schlüssel) und g y (mod p ) (öffentlicher Schlüssel). Außerdem
berechnet er g xy (mod p ). Das Ergebnis wird K genannt und ist der gemein-
same geheime Schlüssel von Alice und dem Server. Nun signiert der Server
seinen öffentlichen Diffie-Hellman-Schlüssel (zusammen mit einigen weite-
ren Informationen, die hier nicht interessieren), wobei er das RSA-Verfahren
nutzt. Anschließend sendet er seinen öffentlichen Diffie-Hellman-Schlüssel
mit der Signatur sowie seinen öffentlichen RSA-Schlüssel (beispielsweise als
digitales Zertifikat) an Alice.
3.
Alice überprüft die Signatur des öffentlichen Diffie-Hellman-Schlüssels.
Dazu muss sie wissen, ob der öffentliche RSA-Schlüssel des Servers echt ist.
Liegt ihr dieser als digitales Zertifikat vor, dann ist dies über die bekannten
PKI-Mechanismen möglich. Falls nicht, kann Alice den öffentlichen RSA-
Schlüssel auch mit einer manuell konfigurierten Schlüsselliste abgleichen.
Eine dritte Möglichkeit wird in [RFC4255] beschrieben: Alice kann das Do-
main Name System (DNS) nutzen, um sich einen Hashwert des Schlüssels zu
besorgen, mit dem sie eine Echtheitsprüfung vornehmen kann. Ist die Verifi-
zierung der Signatur erfolgreich, dann hat Alice den Server authentifiziert.
Sie berechnet nun K = g xy (mod p ).
Am Ende dieses Ablaufs haben Alice und der Server den geheimen Schlüssel K
gemeinsam. Mallory, der die gesamte Kommunikation abgehört hat, kann K
nicht berechnen, sofern er das Diffie-Hellman-Verfahren nicht knacken kann.
K dient als Masterschlüssel, der aus Sicherheitsgründen nicht direkt verwendet
wird. Stattdessen leiten Alice und der Server daraus mithilfe der gewählten kryp-
tografischen Hashfunktion (in der Regel SHA-1) vier Sitzungsschlüssel ab: einen
Search WWH ::




Custom Search