2.1 Challenge/Response
2.1. Challenge/Response
Nell'autenticazione challenge/response, all'utente viene fornito un numero imprevedibile e viene sfidato a crittografarlo e restituire il risultato. Gli utenti autorizzati sono dotati di dispositivi speciali come smart card o software che facilitano il calcolo della risposta corretta con facilità. Gli utenti non autorizzati, privi del dispositivo o software appropriato e privi della conoscenza della chiave segreta necessaria per emulare tale dispositivo o software, possono solo indovinare la risposta.
Il pacchetto Access-Challenge contiene tipicamente un Reply-Message che include una challenge da visualizzare all'utente, come un valore numerico difficilmente ripetibile. Tipicamente questo è ottenuto da un server esterno che conosce quale tipo di autenticatore è in possesso dell'utente autorizzato e può quindi scegliere un numero casuale o pseudocasuale non ripetitivo di radice e lunghezza appropriate.
L'utente quindi inserisce la challenge nel suo dispositivo (o software) e questo calcola una risposta, che l'utente inserisce nel client che la inoltra al server RADIUS tramite un secondo Access-Request. Se la risposta corrisponde alla risposta attesa, il server RADIUS risponde con un Access-Accept, altrimenti un Access-Reject.
Esempio: Il NAS invia un pacchetto Access-Request al Server RADIUS con NAS-Identifier, NAS-Port, User-Name, User-Password (che potrebbe essere solo una stringa fissa come "challenge" o ignorata). Il server invia indietro un pacchetto Access-Challenge con State e un Reply-Message del tipo "Challenge 12345678, inserisci la tua risposta al prompt" che il NAS visualizza. Il NAS richiede la risposta e invia un NUOVO Access-Request al server (con un nuovo ID) con NAS-Identifier, NAS-Port, User-Name, User-Password (la risposta appena inserita dall'utente, crittografata), e lo stesso attributo State che è venuto con l'Access-Challenge. Il server quindi invia indietro un Access-Accept o Access-Reject in base al fatto che la risposta corrisponda al valore richiesto, oppure può anche inviare un altro Access-Challenge.