Invio di e-mail con chiave segreta di autenticazione a due fattori

1

Nella nostra applicazione web PHP abbiamo incluso l'autenticazione a due fattori. Gli utenti hanno generato una chiave segreta una tantum che poi inseriscono (o eseguono la scansione di un codice QR) nell'app Google Authenticator.

L'autenticazione è basata sul tempo, quindi un nuovo token viene generato dall'app Authenticator ogni 60 secondi e questo token deve essere inserito quando l'utente tenta di accedere alla nostra app.

Funziona perfettamente alla perfezione, tuttavia quando un nuovo utente viene aggiunto al nostro sistema, il loro token segreto (e il codice QR associato) viene inviato loro per email una prima volta.

Inoltre, proprio come abbiamo una funzione di "password dimenticata" per reimpostare la password di un utente via e-mail, stiamo pensando di avere l'opzione per re-email o reimpostare la chiave segreta di Authenticator di un utente (ad esempio, se il telefono di un utente viene distrutto e sostituito con uno nuovo, e hanno bisogno di impostare di nuovo l'app).

Tuttavia, non ho trovato esempi di vita reale di poter inviare o resettare via e-mail una chiave segreta di autenticazione a due fattori. È un peccato capitale comunicare queste informazioni via e-mail e dovrebbe essere fatto in un altro modo?

Oltre all'autenticazione Two-Factor abbiamo una serie di altre misure di sicurezza (password, accesso al sistema bloccato su indirizzo IP, avvisi quando nuovi / non riconosciuti browser web accedono al sistema, ecc.) se questo fa qualche differenza .

    
posta MrCarrot 26.06.2017 - 20:49
fonte

3 risposte

1

2FA sfrutta il fatto che un probabile attaccante non può controllare abbastanza segreti / cose da poter entrare in un account. In questo caso, stai facendo affidamento su qualcosa che l'utente conosce (passphrase) e qualcosa che hanno (lo smartphone, correttamente configurato e registrato).

La trasmissione di segreti, come le informazioni di ripristino, dovrebbe avvantaggiarsi del non controllo o della visibilità di tutti i canali di comunicazione. Se l'utente deve fare affidamento esclusivamente sulla connettività Internet, un determinato attaccante può intercettarlo in vari modi.

Inserendo sia la reimpostazione della password che il reset 2FA nello stesso canale (in questo esempio via e-mail) è necessario fare attenzione e alcuni controlli come non consentire una richiesta 2FA in un determinato periodo di tempo da una reimpostazione della password (prima e dopo), sfruttando i sistemi di geolocalizzazione che hai già, e altri dovrebbero essere studiati. In questo caso, sii il più pessimista e paranoico possibile quando sogna scenari di attacco.

La posta di lumaca è, nella maggior parte dei paesi, un meccanismo di trasmissione piuttosto sicuro. Se la busta non attira l'attenzione su di sé, non vi è alcun motivo per cui un normale impiegato postale presta attenzione, e se il contenuto è esattamente il codice di ripristino senza altri contesti, un intercettore casuale non avrebbe idea di quale sia il suo scopo. / p>

I codici QR sono un modo valido e affidabile per inviare queste informazioni, ridurre i problemi di immissione dei dati ed è un ottimo modo per inviare informazioni binarie su carta.

    
risposta data 27.07.2017 - 12:27
fonte
1

Esiste un protocollo chiamato Dynamic Symmetric Key Provisioning Protocol (DSKPP). Questo è un protocollo client-server che consente di inizializzare l'autenticatore con una chiave segreta senza inviarlo tramite e-mail: link

    
risposta data 26.06.2017 - 21:00
fonte
0

Scorro molto inviando il segreto del TOTP via email. In questo modo non saprai mai, se un utente è stato violato! Guarda un mio vecchio post: link

Raccomando di inviare le cose solo via email, che saranno utilizzate una sola volta. In modo che

  1. l'utente sa, ha usato il segreto e nessun altro può usarlo male o
  2. l'utente si rende conto che non può usare il segreto e quindi sa che è stato usato da qualcun altro!

Dai un'occhiata alla soluzione open source 2FA privacyIDEA ( link ) Qui puoi inviare un codice di registrazione all'utente. Il codice di registrazione può essere utilizzato solo una volta e quindi l'utente può registrare il segreto TOTP nel suo Google Authenticator. Il segreto TOTP non può essere utilizzato in modo errato quando marcisce nella posta in arrivo degli utenti ...

    
risposta data 07.08.2017 - 19:44
fonte

Leggi altre domande sui tag