La scelta delle app di autenticazione 2FA può essere difficile. Ars l’ha fatto, quindi non devi

70

Aurich e Hannah Lawson

L’anno scorso Sergio Caltagirone si è trovato in una situazione difficile. Durante il viaggio, il suo telefono si è rotto e ha smesso di funzionare completamente. Senza accesso alle sue app di autenticazione Google e Microsoft, ha perso l’accesso all’autenticazione a due fattori quando ne aveva più bisogno, quando accedeva da indirizzi IP non riconosciuti dai 30-40 siti che aveva registrato.

“Avevo un sacco di siti [that] Ho dovuto affrontare un processo di ripristino dell’account estremamente lungo perché ho perso il mio 2FA”, ha affermato Caltagirone, vicepresidente senior dell’intelligence sulle minacce presso la società di sicurezza Dragos. “Ogni volta dovevo contattare il servizio clienti. Avevo diversi livelli di requisiti che dovevo soddisfare per disabilitare efficacemente la 2FA sul mio account. Qualche verifica dell’indirizzo richiesta. [For others,] Ho dovuto inviare un’ultima fattura. Il numero di quelli che ho attraversato è stato semplicemente folle”.

Lame sottili

L’esperienza mostra l’arma a doppio taglio dell’autenticazione a più fattori. Richiedere agli utenti di inserire una password generata in modo pseudocasuale ogni 30 secondi rende notevolmente più difficili le acquisizioni di account, anche quando un utente malintenzionato ha phishing o ottenuto in altro modo la password. Ma nel caso in cui quel secondo fattore (in questo caso, il “qualcosa che hai”, ovvero il telefono) non è disponibile, la stessa protezione può impedire agli utenti legittimi di accedere per periodi di tempo inaccettabilmente lunghi.

Quando Caltagirone ha raccontato la sua esperienza lo scorso settembre, una rapida indagine sugli autenticatori disponibili di consumatori e piccole imprese ha lasciato molto a desiderare. Solo pochi di loro hanno permesso di eseguire il backup dei semi crittografici univoci che ogni telefono utilizza per generare una password monouso basata sul tempo o TOTP. I siti Web, inclusi Google, Github, Facebook e centinaia di altri che implementano lo standard dell’algoritmo di password monouso basato sul tempo, richiedono la password temporanea per accedere agli utenti che aderiscono alla 2FA.

Il risultato? Quando il tuo dispositivo è stato rubato, perso o smesso di funzionare, hai dovuto affrontare gli stessi dolorosi e dispendiosi recuperi dell’account di Caltagirone. La mancanza di un meccanismo di backup e ripristino significava che l’unico modo praticabile per proteggersi da una perdita o un malfunzionamento del dispositivo era stampare, scansionare o fotografare ciascun codice QR o il collegamento Web sottostante (ad esempio, otpauth://totp/VIP%20Access :SYMC61582664?secret=LIPCXZTRT2U3ASLX4ZR2UCWNB7TUWJUU&digits=6&algorithm=SHA1&issuer=Token1&period=30) rappresentava. È stato dispendioso in termini di tempo. Peggio ancora, era ingombrante e insicuro conservarli, in particolare quando si viaggiava.

Sfortunatamente, c’è un’arma TOTP a doppio taglio che è ugualmente irritante. Archiviandoli sul server di qualcun altro, a volte con solo una password e la verifica tramite SMS necessari per ripristinarli, sono vulnerabili al furto, almeno negli scenari di modelli di minaccia più rigorosi. Ho testato Twilio Authy, Duo Mobile, LastPass Authenticator, Microsoft Authenticator e Google Authenticator e ho scoperto che tutti tranne Google Authenticator offrivano un mezzo praticabile per eseguire il backup dei seed TOTP e recuperarli in caso di smarrimento del telefono o di un altro dispositivo.

La sicurezza era accettabile per tutti e quattro gli autenticatori che offrivano il ripristino, ma ognuno presenta anche punti deboli che in casi estremi li rendono vulnerabili (a seconda dell’app) ad hacker, insider malintenzionati o forze dell’ordine con un’ingiunzione del tribunale. Ho riflettuto su tali scenari e sull’analisi rischio-beneficio di ciascun autenticatore con il prezioso aiuto di Mark Gamache, un professionista della sicurezza dell’area di Seattle focalizzato sulla crittografia applicata e sull’autenticazione.

Annuncio

Valutare la sicurezza, modellare la minaccia

Niente in questo post dovrebbe essere interpretato per dire che le persone non dovrebbero usare 2FA. Anche con i backup attivati, l’utilizzo di 2FA basato su TOTP è senza dubbio meglio che non utilizzare 2FA. Ed è importante ricordare qui, come per qualsiasi valutazione di sicurezza, che non esiste una taglia unica. Ciò che è più sicuro per una persona non è necessariamente vero per un’altra. Questo riepilogo riguarda meno di dire ai lettori quale backup dell’autenticatore è il più sicuro e più di aiutare i lettori a riflettere su tutte le varie considerazioni.

Uno dei modelli di minaccia che Gamache e io abbiamo ipotizzato è un hacker (1) che ottiene con successo una password tramite phishing o altri mezzi (dopotutto, questo è lo scenario che 2FA, per definizione, anticipa) e (2) assume il controllo del numero di telefono di un utente tramite uno scambio di SIM o altri mezzi. Sebbene questi requisiti siano elevati, non sono rari, in particolare contro obiettivi con grandi quantità di Bitcoin archiviate nei portafogli online.

Ulteriori minacce includono un insider malintenzionato in uno dei servizi di autenticazione o un’agenzia governativa che ruba dati riservati o ne obbliga a consegnarli. Ancora una volta, questi sono scenari estremi, ma non inauditi.

Alla fine, ho optato per tre autenticatori, Authy, Duo e LastPass, perché mi hanno dato la certezza che, in assenza di bug software sconosciuti o sviste crittografiche, i loro processi di backup e ripristino funzionavano senza alcuna conoscenza. Il principio significa che i semi TOTP segreti non sono mai disponibili per nessuno oltre all’utente finale. L’assicurazione richiede che tutta la crittografia e la decrittografia vengano eseguite sul dispositivo locale del client e che i dati siano crittografati sia in transito che inattivi sui server del provider.

I due autenticatori che si sono distinti erano Duo e Authy. Entrambi hanno semplificato i backup e mi hanno dato un ragionevole livello di fiducia che avrebbero mantenuto i semi segreti al sicuro e confidenziali sotto i miei modelli di minaccia. Entrambi gli autenticatori si concentrano principalmente sui clienti aziendali, che pagano per utilizzarli per registrare un gran numero di dipendenti nei portali aziendali e nelle reti private.

I produttori di entrambi gli autenticatori forniscono una suite di servizi di sicurezza aggiuntivi che vanno ben oltre la 2FA, come aiutare gli amministratori a tenere traccia di quali dei loro migliaia di dispositivi dei dipendenti non hanno installato aggiornamenti di sicurezza. Duo Security e la società dietro Authy, Twilio, offrono anche una versione di autenticazione gratuita che funziona con qualsiasi sito di terze parti che utilizza lo standard TOTP, e questo è l’obiettivo di questa carrellata.

Il bene

Authy è stata la mia prima scelta perché il backup spinge i seed crittografati su più dispositivi, inclusi Mac, PC, tablet, telefoni di riserva o macchine Linux. I semi vengono quindi sincronizzati tra tutti i dispositivi in ​​modo tale che una modifica o un’aggiunta su un dispositivo venga automaticamente popolata su tutti gli altri. Nel caso in cui un utente perda un dispositivo, gli altri suoi dispositivi continueranno a produrre TOTP. I semi possono quindi essere aggiunti al dispositivo sostitutivo.

Oltre a fornire la garanzia di un modo affidabile per eseguire il backup e il ripristino, questo metodo offre la comodità di avere più autenticatori funzionanti e di utilizzarli da una gamma molto più ampia di dispositivi rispetto a quanto è possibile con gli altri autenticatori in questa carrellata. (Duo mi ha permesso di utilizzare più telefoni, ma tutti dovevano eseguire Android o iOS. Inoltre, le modifiche o le aggiunte apportate su un dispositivo non si sincronizzavano con gli altri.)

Annuncio

Gli utenti Authy impostano una password durante il processo di backup che crittografa i semi sul dispositivo prima di inviarli ai server Authy. Senza la password, i semi non possono essere decifrati e vengono persi per sempre. Senza passare attraverso un rigoroso processo di ripristino (ne parleremo più avanti), gli utenti non possono ricevere i dati seed crittografati da Twilio senza dimostrare il controllo del dispositivo originale o del numero di telefono utilizzato durante la configurazione dell’autenticatore.

Un altro vantaggio: Authy fa di tutto rispetto a tutti gli autenticatori tranne un altro nel documentare come i semi vengono crittografati su un dispositivo. Il meccanismo Authy aggiunge un sale crittografico randomizzato al passcode scelto dall’utente e quindi lo passa attraverso almeno 1.000 round di PBKDF2, un algoritmo che è tra i migliori per contrastare gli attacchi di cracking delle password che utilizzano elenchi di parole o forza bruta per indovinare la password.

L’hash risultante viene utilizzato per generare una chiave che utilizza il collaudato Advanced Encryption Standard per crittografare i semi. Il processo aggiunge anche un vettore di inizializzazione per ogni account registrato. Solo dopo che questo processo viene eseguito localmente, ovvero sul dispositivo dell’utente, il seed crittografato, il sale e l’IV vengono inviati a Twilio.

Il risultato: Twilio non ha la capacità di archiviare o addirittura di vedere la password di backup e quindi non ha la capacità di decrittografare i dati di inizializzazione. Dopo aver ricevuto il sale, IV e crittografato, il server Twilio invierà i dati ai dispositivi di backup autorizzati. L’utente inserisce quindi la password di backup su ciascun dispositivo come ultimo pezzo mancante per decrittografare il seed. (Il valore di salt/IV è quello di fornire un altro livello di sicurezza nel caso in cui un utente malintenzionato riesca a rubare il seed crittografato da Twilio, ma non il salt/IV.)

Nel caso in cui un utente perda tutti i propri dispositivi ma abbia ancora il controllo del numero di telefono, l’utente deve passare attraverso un processo di recupero dell’account che includa un periodo di attesa obbligatorio per recuperare i dati seed crittografati. Nel caso in cui l’utente perda sia il telefono che il numero di telefono utilizzato per la configurazione di Authy, il processo di ripristino sarà più complicato e potrebbe richiedere la produzione di un documento d’identità rilasciato dal governo, tra le altre cose. Ancora una volta, tuttavia, nulla di tutto ciò aiuterà nel caso in cui la password di ripristino venga persa.

La cosa che mi è piaciuta di meno di Authy è il suo utilizzo di SMS o chiamate vocali per verificare che un nuovo dispositivo sia autorizzato a ricevere seed crittografati. Ciò significa che la conoscenza della password di backup e uno scambio di SIM potrebbero in alcuni casi essere tutto ciò che è necessario per recuperare e decrittografare i dati. Per essere chiari, questo è un modello di minaccia estremo e allo stesso modo altri autenticatori consentono SMS o un indirizzo e-mail per la verifica. Un modo per mitigare la minaccia è eseguire il backup sui dispositivi tutto in una volta, in un periodo di tempo relativamente breve, quindi disattivare il pulsante che consente di aggiungere nuovi dispositivi.

Authy ha maggiori dettagli sui processi di backup e ripristino qui. Ecco il flusso quando si utilizza un Pixel XL come dispositivo principale e si esegue il backup e la sincronizzazione su un laptop Windows:

  • Uno o più semi sul dispositivo principale.

  • Scegli le impostazioni e poi la scheda Account. Attiva il pulsante Backup.

  • Fare clic sulla scheda Dispositivi e attivare Consenti multidispositivo. Fare clic sul pulsante OK.

  • In Authy sul PC, inserisci il numero di telefono utilizzato per registrare il Pixel XL

  • Scegli un modo per verificare il backup e la sincronizzazione. Non sono a mio agio con l’utilizzo di SMS o voce, ma sono sicuro che ci siano validi motivi di usabilità per questa scelta.

  • Il Pixel XL riceverà un SMS, una chiamata vocale con un numero o un push che richiede una risposta.

  • Tutti gli account registrati verranno visualizzati sul PC, ma nota il lucchetto a destra. Ciò significa che i semi non sono ancora disponibili.

  • Sul PC, inserisci la password impostata durante il backup di Pixel XL.

  • Ecco! Tutti i semi sono disponibili. Da qui in poi, eventuali aggiunte o modifiche apportate su un dispositivo verranno sincronizzate con l’altro dispositivo.

  • Pixel XL che mostra tutti i dispositivi collegati.

  • La stessa cosa sul PC