Sicherheitsaspekte

Wie in der Einleitung beschrieben, vernachlässigen ältere Applikationen wichtige Charakteristika der IT-Sicherheit. SSH hingegen ist so konzipiert, dass es die Authentifizierung, die Vertraulichkeit und die Integrität gewährleistet.

Authentifizierung

Ein essentieller Bestandteil von IT-Sicherheitskonzepten sind Zugangskontrollverfahren. Wenn ein Benutzer Zugang zu einem bestimmten System haben möchte, so muss sich dieser Benutzer entsprechend ausweisen bzw. authentifizieren können.

Sobald sich ein Benutzer auf einem entfernten Computersystem mit Hilfe von SSH anmelden möchte, überprüft SSH die Authentizität des Benutzers automatisch. Sollte es an dieser Stelle zu Unstimmigkeiten kommen, weist SSH die Verbindung zurück. Somit ist gewährleistet, dass nur autorisierte Computersysteme miteinander kommunizieren und beispielsweise Man-In-The-Middle Attacken vermieden werden.

Jede SSH Sitzung umfasst zwei Authentifizierungen. Zum einen überprüft der SSH-Client die Identität des SSH-Servers (Serverauthentifizierung) und zum anderen überprüft der SSH-Server die Authentizität des Benutzers (Benutzerauthentifizierung), der Zugang zu dem SSH-Server erbittet. Um die Serverauthentifizierung zu gewährleisten, wird für jeden SSH-Server ein eindeutiger Hashwert errechnet, der als eindeutiges Identifikationsmerkmal dient (siehe Abbildung 3.1). Anhand dieses Hashwertes kann stets überprüft werden, ob man wirklich mit der richtigen Gegenstelle kommuniziert. Für die Benutzerauthentifikation stellt SSH mehrere Möglichkeiten zur Verfügung. Die klassische Authentifizierung mit Benutzernamen und Passwort oder über Public-Key Verfahren.

Abbildung 3.1: Eindeutiger Hashwert-Fingerprint eines SSH-Servers.
Image abbildung_hashwert

Vertraulichkeit

Niemand möchte, dass seine Daten von unbefugten Dritten mitgelesen werden. Daher ist Vertraulichkeit eines der höchsten Sicherheitsziele in der Informationstechnologie. In der Einleitung wurde schon darauf eingegangen, dass die meisten grundlegenden Netzwerkimplementierungen keine Vertraulichkeit sicherstellen (siehe Abbildung 1.1). Eine gängige Methode, um dieses Sicherheitsziel umzusetzen, ist das Verschlüsseln von Daten, so dass es Dritten nur noch mit äußerst hohem Aufwand möglich ist, Daten unbefugt einzusehen.

Daher wird jeglicher Datentransfer während einer SSH-Verbindung mit Hilfe aktueller Verschlüsselungsalgorithmen, wie AES, RC4 oder 3DES, automatisch verschlüsselt. Dieser Umstand gewährleistet, dass die Daten, die über ein Netzwerk verschickt werden, nicht von Dritten im Klartext gelesen werden können. Dies ist vor allem während der Authentifizierung ein essentieller Sicherheitsfaktor.

Integrität

Ist das Sicherheitsziel Integrität erfüllt, so ist es nur mit sehr hohem Aufwand möglich, die Daten, die beispielsweise über ein Netzwerk gesendet werden, zu verfälschen. Integrität bedeutet aber auch, dass sicher gestellt werden kann, dass die ankommenden Daten auch wirklich von der richtigen Person gesendet worden sind und kein Angreifer eine Replay-Attacke durchgeführt hat.

Um dem Verfälschen der Daten entegegen zu wirken, reicht meist der Einsatz von diversen Verschlüsselungsverfahren aus. Gegen eine Replay-Attacke hilft dies aber meist nicht. SSH gewährleistet die Datenintegrität daher mit Hilfe von kryptographischen Hashverfahren, wie MD5 und SHA-1.