Una chiave host è la chiave pubblica del server in SSH. Durante la fase di connessione, il client confronta la chiave presentata con un valore noto o atteso per confermare che stia comunicando con il server previsto, non con un sistema simile. La chiave privata corrispondente rimane sul server e viene usata per dimostrare il possesso durante l'handshake.
Le chiavi host sono importanti perché costituiscono il fondamento dell'identità SSH. Se la verifica viene saltata, memorizzata in cache in modo errato o accettata in modo troppo permissivo, un aggressore in posizione man-in-the-middle può impersonare il server e intercettare le sessioni. In pratica, i difensori proteggono le chiavi host bloccando le impronte digitali, imponendo una verifica rigorosa, ruotando le chiavi con attenzione e segnalando i cambiamenti inattesi. Nelle implementazioni sicure, anche l'algoritmo e la curva o il tipo di chiave devono corrispondere a quanto negoziato, altrimenti la convalida può fallire in modi sottili.


