Qualcuno può aiutarmi a trovare una sfida nel libro di parole di autenticazione?
In un protocollo di autenticazione, c'è prover e verifier . In crittografia e network computing in generale, sei quello che sai . In effetti, dall'esterno, "vedo" solo attraverso ciò che fai sulla rete (i pacchetti che emetti), e quindi posso fare la differenza tra "tu" e "qualcun altro" solo sulla base di ciò che puoi fare e quello qualcun'altro non potrebbe. Poiché tutti possono acquistare lo stesso tipo di PC, "ciò che puoi fare" equivale a "ciò che sai".
Ad esempio, supponiamo un semplice protocollo di autenticazione basato su password. "Quello che sai" è la password. "Quello che puoi fare" sta emettendo un pacchetto contenente la password.
Una sfida è un valore non fisso che io, come verificatore, invierò ad un provero, sfidandolo a eseguire un calcolo che implica la sfida e qualunque valore segreto che conosce il proverbio. Ad esempio, conosco una password e so che anche il "vero Hossein" lo sa. Qualcuno che sostiene di essere Hossein mi contatta. Per assicurarmi che questo sia il vero Hossein, gli mando una sfida, cioè una stringa casuale r . Dovrebbe quindi rispondere inviandomi l'hash della concatenazione della sfida r e la password p . Il vero Hossein può farlo (conosce p ) e, poiché conosco anche la password, posso calcolare la risposta attesa e vedere se è lo stesso valore restituito da Hossein.
Il vantaggio di questo protocollo rispetto al semplice metodo "mostra la password" è che la password non viene effettivamente inviata "in chiaro". Un utente malintenzionato che osserva i pacchetti di dati non apprenderà immediatamente la password; impara semplicemente la "risposta appropriata" per una data sfida r . Ma questo non lo porterà lontano: se l'attaccante cerca di impersonare Hossein più tardi, gli invierò un altro valore di sfida - una nuova sfida casuale r ', non lo stesso r di prima. L'attaccante, non conoscendo la password, non sarà in grado di calcolare la risposta corretta per r ', poiché conosce solo la risposta per il valore di sfida r .
(Questo protocollo semplicistico ha altri problemi, ma illustra ancora il concetto di base di una "sfida" in un protocollo di autenticazione.)
Leggi altre domande sui tag authentication web-service