OTP Challenge-Response: Come funzionano le One Time Password basate sulla sfida

OTP Challenge-Response: Come funzionano le One Time Password basate sulla sfida

Definizione OTP

In sicurezza informatica e precisamente in crittografia, una one-time password (OTP) o in italiano password valida una sola volta è appunto una password che è valida solo per una singola sessione di accesso o una transazione. Per questo suo scopo l’OTP è anche detta password usa e getta.

La OTP evita una serie di carenze associate all’uso della tradizionale password statica. Il più importante problema che viene risolto da OTP è che, al contrario della password statica, essa non è vulnerabile agli attacchi con replica. Ciò significa che, se un potenziale intruso riesce a intercettare una OTP che è stata già utilizzata per accedere a un servizio o eseguire una transazione, non sarà in grado di riutilizzarla, in quanto non sarà più valida. D’altra parte, una OTP non può essere memorizzata da una persona in quanto sarebbe inutile per lo stesso motivo. Essa richiede quindi una tecnologia supplementare per poter essere utilizzata (un dispositivo fisico con la calcolatrice OTP incorporata, o un numero di cellulare specifico). Le OTP possono essere utilizzate come unico fattore di autenticazione, o in aggiunta ad un altro fattore, come può essere la password dell’utente, i dati della carta di credito o un PIN in modo da realizzare una autenticazione a due fattori.

Metodo Challenge-Response

Ci sono diversi casi d’uso e scenari, che richiedono una variante asincrona per accontentare gli utenti, che non vogliono mantenere un sistema di autenticazione sincronizzato per le OTP. Un metodo comunemente utilizzato è dato dallo schema Challenge-Response.

In questo caso l’utente che vuol accedere al sistema digita il proprio login name e il server di sicurezza gli invia, in risposta, un numero pseudocasuale, che presenta come sfida (o in inglese challenge) all’utente. L’utente per usare il token in suo possesso, dotato oltre che dello schermo di un tastierino numerico tipo calcolatrice,  inserisce il proprio PIN e successivamente la sfida fornita dal server. Il token, così, provvede a crittografare la sfida usando la chiave segreta dell’utente. Il risultato (response) viene inviato dall’utente al server come risposta alla sfida. Nel frattempo il server accede tramite il login name ricevuto, al PIN e alla chiave segreta dell’utente ad esso associata, crittografa lo stesso la sua sfida, e attende la risposta dell’utente, se i due numeri coincidono l’utente può accedere al sistema. Il funzionamento dello schema Challenge-Response, appena descritto, è illustrato nella figura sottostante.

Meccanismo del Challenge-Response token
Meccanismo del Challenge-Response token con f una funzione unidirezionale

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *