Quanto è sicura la chiave dell'host visivo e in che modo SHA2 viene convertito in quella rappresentazione?

4

SHA2 ha 256 bit di possibilità.

La chiave dell'host visivo sembra avere il seguente

  • maiuscolo e minuscolo = 26 * 2
  • numeri e simboli = 20
  • Simboli aggiuntivi = 22

Totale di 94 caratteri rappresentati in

  • 9 colonne
  • 17 righe

In che modo la chiave dell'host visivo genera l'immagine?

    
posta random65537 17.03.2015 - 18:58
fonte

1 risposta

3

L'impronta visiva identifica in modo univoco la chiave di un server?

No; l'algoritmo "visual host key" non conserva abbastanza informazioni per fornire ad ogni chiave un'immagine univoca garantita al 100%. Ma nemmeno un'impronta digitale più tradizionale. Le chiavi ECDSA come la tua hanno 256 bit. Le chiavi RSA hanno 2048. Ma se conti le cifre esadecimali nell'immagine, ne ottieni 32: 128 bit.

Questi 128 bit sono un hash MD5 della chiave pubblica. L'algoritmo MD5 è hard-coded in un sacco di codice che genera le impronte digitali per la visualizzazione.

L'algoritmo della chiave dell'host visivo (noto come "randomart" nell'origine), prende l'hash MD5 e lo usa per tracciare un percorso. Per quanto riguarda "sicuro", lascerò che l'origine parli per sé:

If you see the picture is different, the key is different. If the picture looks the same, you still know nothing.

Non è insicuro? MD5 non è sicuro?

Se volessi ingannarti con un'impronta digitale tradizionale, non mi preoccuperei di provare a generare una collisione MD5 completa di una chiave SSH preesistente. È dura anche oggi.

Invece, genererei le chiavi fino a quando ne ho trovato uno in cui le prime cifre e le ultime cifre delle impronte digitali corrispondono. A meno che non siate molto disciplinati sulla convalida, non importa se l'impronta digitale è MD5 o SHA256; i tuoi occhi avrebbero sfiorato il numero e sarebbe sembrato "abbastanza buono". Questo è ciò che l'impronta visiva sta cercando di proteggere contro.

Se sei paranoico, non utilizzare impronte digitali verificate dall'uomo se puoi aiutarlo, visivamente o in altro modo. Invece, metti una copia nota della chiave server prevista nel tuo file known_hosts.

Per ulteriori informazioni, prova:

  • link - che include un link a un documento sulla logica dietro l'algoritmo.
  • link - che include un link a un documento sull'attacco dell'algoritmo.

Come viene generata l'immagine?

Ancora, dall'origine :

The algorithm used here is a worm crawling over a discrete plane, leaving a trace (augmenting the field) everywhere it goes. Movement is taken from dgst_raw 2bit-wise. Bumping into walls makes the respective movement vector be ignored for this turn. Graphs are not unambiguous, because circles in graphs can be walked in either direction.

Più in dettaglio, l'algoritmo funziona in modo approssimativo come questo:

Inizia nel mezzo e usa l'hash come una sorta di mappa del tesoro per dove spostarti. Per ogni passaggio, prendi i due bit successivi nell'hash. 00 significa muovere a nord-ovest; 01 significa nord-est; 10 significa sud-ovest; 11 significa sud-est. Abbraccia il muro se lo incontri. Contare il numero di volte in cui passi per ogni quadrato.

Infine, per ogni quadrato che hai calpestato, scegli un simbolo in base al numero di volte che hai calpestato il quadrato, dal seguente elenco di 14 simboli: .o+=*BOX@%&#/^ . (Sono 15 i simboli totali se includi " " per i quadrati non visitati.) Segna i tuoi punti di inizio e fine in particolare, con S e E , rispettivamente.

    
risposta data 06.05.2015 - 08:15
fonte

Leggi altre domande sui tag