Come reimpostare l'autenticazione di un secondo fattore senza compromettere il processo di autenticazione

2

Sto progettando un sistema che utilizza l'autenticazione a due fattori. Dove l'utente può accedere solo se i due fattori di autenticazione hanno superato la verifica.

Supponiamo che il primo fattore sia semplicemente un'autenticazione basata su password e il secondo fattore è un'impronta digitale biometrica.

Ora, se l'utente vuole reimpostare la sua password, non ci sono grossi problemi. L'utente preme un pulsante di reimpostazione della password e l'e-mail di sistema all'utente un link di reimpostazione della password o forse il sistema può essere più aggressivo e chiedere all'utente di verificare la sua identità usando l'impronta digitale prima di inviarlo tramite e-mail. Per me, questo suona OK

Ma il contrario è ciò che non mi piace. Diciamo che l'utente vuole reimpostare la sua impronta digitale, ovviamente qualcuno può chiedere perché l'impronta digitale non cambia (nonostante il fatto che non sia del tutto corretta) ma diciamo che l'utente userà un dito come il pollice invece dell'indice. Qui, posso vedere un problema il livello di sicurezza del sistema scende al livello di sicurezza basato su password.

Un hacker che è riuscito a ottenere la password dell'utente per il nostro sistema. Può affermare di voler ripristinare l'impronta digitale perché il suo dito è ferito. Se gli permettiamo di ripristinare la sua impronta digitale, allora perché abbiamo un'autenticazione di secondo fattore?

Posso inviare all'utente un link alla sua email in cui può reimpostare la propria impronta digitale tramite questo link. Ma ancora una volta la casella di posta elettronica è solo protetta da password. In effetti, potrebbe essere la cosa peggiore se il nostro sistema e la casella di posta dell'utente utilizzano un unico segno o una directory attiva.

Non vedo una soluzione tecnica per questo problema. Credo che solo una politica di sicurezza possa solo aiutare in questo caso. Ma non sono sicuro di quale sia esattamente la politica.

    
posta Ubaidah 03.04.2015 - 00:16
fonte

1 risposta

2

Ecco tre soluzioni:

Avere un numero limitato di codici di ripristino utilizzabili una sola volta che l'utente è incaricato di stampare e archiviare in un luogo fisicamente sicuro. Questo è essenzialmente un sostituto di "qualcosa che hai" in quanto è improbabile che l'utente ricordi uno dei codici. Questo è l'approccio utilizzato da Google.

Utilizza il trust transitivo, questo funziona se sai che esiste una relazione tra gli utenti. Ad esempio, se si conoscono due account appartenenti a dipendenti della stessa azienda, è possibile consentire a un dipendente che ha eseguito l'autenticazione completa di approvare l'autenticazione per un altro dipendente che accede con la sola password. In una certa misura, AWS utilizza questo metodo in quanto non esiste una funzionalità di reset 2FA esplicita, ma puoi consentire ad alcuni utenti di disporre dell'autorizzazione per modificare le impostazioni 2FA per gli altri.

Introdurre un ritardo di tempo sui ripristini di autenticazione con l'opportunità di negarlo. Ad esempio, se l'utente accede con la propria password e sceglie di iniziare il ripristino dell'impronta digitale, deve attendere 72 ore prima di poter procedere. Durante questo periodo viene inviato un avviso all'utente tramite e-mail, SMS, ecc. E in qualsiasi momento l'utente può accedere utilizzando sia la propria password che l'impronta digitale e annullare la richiesta di ripristino. Questo approccio viene utilizzato da Apple quando si abilita 2FA per impedire agli utenti che solo le password vengono bloccate dal proprio account da un hacker che abilita 2FA.

    
risposta data 03.04.2015 - 01:18
fonte

Leggi altre domande sui tag