9.1. SSH Transport
Per funzionare su SSH, il router client stabilisce prima una connessione di trasporto SSH utilizzando il protocollo di trasporto SSHv2, e il client e il server scambiano chiavi per l'integrità e la crittografia dei messaggi. Il client invoca quindi il servizio "ssh-userauth" per autenticare l'applicazione, come descritto nel protocollo di autenticazione SSH [RFC4252]. Una volta che l'applicazione è stata autenticata con successo, il client invoca il servizio "ssh-connection", noto anche come protocollo di connessione SSH.
Dopo che il servizio ssh-connection è stato stabilito, il client apre un canale di tipo "session", che risulta in una sessione SSH.
Una volta stabilita la sessione SSH, l'applicazione invoca il trasporto dell'applicazione come sottosistema SSH chiamato "rpki-rtr". Il supporto del sottosistema è una caratteristica di SSHv2 e non è incluso in SSHv1. L'esecuzione di questo protocollo come sottosistema SSH evita la necessità per l'applicazione di riconoscere i prompt della shell o saltare informazioni estranee, come un messaggio di sistema inviato all'avvio della shell.
Si presume che il router e la cache abbiano scambiato chiavi fuori banda tramite mezzi ragionevolmente sicuri.
I server cache che supportano il trasporto SSH DEVONO accettare l'autenticazione RSA e DOVREBBERO accettare l'autenticazione con algoritmo di firma digitale a curva ellittica (ECDSA). L'autenticazione utente DEVE essere supportata; l'autenticazione host PUÒ essere supportata. Le implementazioni POSSONO supportare l'autenticazione tramite password. I router client DOVREBBERO verificare la chiave pubblica della cache per evitare attacchi MITM.