Zum Hauptinhalt springen

9.1. SSH Transport

Um über SSH zu laufen, stellt der Client-Router zunächst eine SSH-Transportverbindung mit dem SSHv2-Transportprotokoll her, und Client und Server tauschen Schlüssel für Nachrichtenintegrität und Verschlüsselung aus. Der Client ruft dann den "ssh-userauth"-Dienst auf, um die Anwendung zu authentifizieren, wie im SSH-Authentifizierungsprotokoll [RFC4252] beschrieben. Sobald die Anwendung erfolgreich authentifiziert wurde, ruft der Client den "ssh-connection"-Dienst auf, auch bekannt als SSH-Verbindungsprotokoll.

Nachdem der ssh-connection-Dienst eingerichtet wurde, öffnet der Client einen Kanal vom Typ "session", was zu einer SSH-Sitzung führt.

Sobald die SSH-Sitzung eingerichtet wurde, ruft die Anwendung den Anwendungstransport als SSH-Subsystem namens "rpki-rtr" auf. Subsystem-Unterstützung ist eine Funktion von SSHv2 und ist in SSHv1 nicht enthalten. Die Ausführung dieses Protokolls als SSH-Subsystem vermeidet die Notwendigkeit für die Anwendung, Shell-Prompts zu erkennen oder überflüssige Informationen zu überspringen, wie z.B. eine Systemmeldung, die beim Shell-Start gesendet wird.

Es wird angenommen, dass Router und Cache Schlüssel außerhalb des Bands durch geeignet gesicherte Mittel ausgetauscht haben.

Cache-Server, die SSH-Transport unterstützen, MÜSSEN RSA-Authentifizierung akzeptieren und SOLLTEN Elliptic Curve Digital Signature Algorithm (ECDSA)-Authentifizierung akzeptieren. Benutzerauthentifizierung MUSS unterstützt werden; Host-Authentifizierung KANN unterstützt werden. Implementierungen KÖNNEN Passwort-Authentifizierung unterstützen. Client-Router SOLLTEN den öffentlichen Schlüssel des Caches verifizieren, um MITM-Angriffe zu vermeiden.