Ho trovato questo articolo che afferma che la firma crittografica asimmetrica della chiave ottenuta da DH impedisce MITM:
Idea chiave:
The value of 'signature' is a signature by the corresponding private key over the following data, in the following order:
string session identifier byte SSH_MSG_USERAUTH_REQUESTNow the attacker has a problem, as the client and the server have different ideas about what session identifier is supposed to be. Obviously, the server will reject the signature supplied by the client and public-key authentication will fail.
Vorrei verificare se la mia comprensione di ciò è corretta:
Lascia che Alice ( A ) sia client, MITM ( M ) un utente malintenzionato e Bob ( B ) un server ssh.
Ipotesi:
-
Msi trova nel mezzo della comunicazione, intercettando tutte le comunicazioni traAeB -
Min qualche modo ingannatoAnel pensare che siaBe anche ingannatoBa pensare che siaA(re impronte digitali ecc.) -
Tuttavia,
Mnon è riuscito a penetrare nella macchina diAné nella macchina diB, lasciando la chiave pubblica diAnell'accountAsuBmacchina intatta
Finché le condizioni sopra riportate rimangono sopra:
The session identifier is calculated based on (among other things) the shared secret negotiated by the peers using Diffie-Hellman algorithm.
= > mentre M può falsificare gli scambi DH in A e B , quelli necessariamente dovranno essere 2 diversi (finti) segreti condivisi (a meno che non ci sia un modo per M di comprometterli con modificando scambiati i numeri DH, non osservandoli).
Quando questo segreto condiviso viene utilizzato come componente della creazione di dati da firmare (parte o l'intero identificatore di sessione), una cosa che M non può falsificare e non sa è la chiave privata di A che verrà utilizzata per la firma dell'ID di sessione basato sul (1) segreto condiviso simulato.
Pertanto, la firma digitale dell'ID di sessione (+ altri dati di sessione per descrizione sopra) non riesce la verifica a B , oppure gli ID di sessione non corrispondono, interrompendo in modo efficace la comunicazione.
Domande:
-
questo ragionamento è corretto? se no, dove sono gli errori?
-
l'ID sessione crea il "link più debole" in questa catena? Cioè, se
Mpotrebbe prevederlo (ad esempio se è prevedibile hash unidirezionale che è suscettibile di attacco statistico, anche se DH non lo è) e indovinarlo in qualche modo (molto improbabile, sì, ma è anche teoricamente impossibile ?), quindiMavrebbe l'ID di sessione "genuino" firmato daAe quindiBpenserebbe che la firma dell'autenticazione sia OK?
Mi rendo conto che è praticamente impossibile in pratica, ma è completamente teoricamente impossibile?