9.1. SSH Transport
SSH 上で実行するために, クライアントルーターはまず SSHv2 トランスポートプロトコルを使用して SSH トランスポート接続を確立し, クライアントとサーバーはメッセージの完全性と暗号化のために鍵を交換します。次にクライアントは, SSH 認証プロトコル [RFC4252] で説明されているように, アプリケーションを認証するために "ssh-userauth" サービスを呼び出します。アプリケーションが正常に認証されると, クライアントは SSH 接続プロトコルとも呼ばれる "ssh-connection" サービスを呼び出します。
ssh-connection サービスが確立された後, クライアントは "session" タイプのチャネルを開き, SSH セッションが生成されます。
SSH セッションが確立されると, アプリケーションは "rpki-rtr" と呼ばれる SSH サブシステムとしてアプリケーショントランスポートを呼び出します。サブシステムのサポートは SSHv2 の機能であり, SSHv1 には含まれていません。このプロトコルを SSH サブシステムとして実行することで, シェル起動時に送信されるシステムメッセージなどの無関係な情報をアプリケーションがシェルプロンプトを認識したりスキップしたりする必要がなくなります。
ルーターとキャッシュは, 合理的に安全な手段でアウトオブバンドで鍵を交換したと想定されています。
SSH トランスポートをサポートするキャッシュサーバーは RSA 認証を受け入れなければならず, 楕円曲線デジタル署名アルゴリズム (ECDSA) 認証を受け入れるべきです。ユーザー認証はサポートされなければなりません; ホスト認証はサポートされてもよいです。実装はパスワード認証をサポートしてもよいです。クライアントルーターは MITM 攻撃を回避するためにキャッシュの公開鍵を検証すべきです。