Accedi a un client VPN che chiede una password e poi un codice di sei cifre, e due richieste sembrano due barriere indipendenti. Contate per tipo di fattore, lo sono: la password è qualcosa che sai, il codice è qualcosa che possiedi. Contate per ciò che espone un solo portatile compromesso, possono collassare in un unico confine, perché ciò che possiedi è un file sulla macchina in cui digiti. Il divario tra questi due conteggi è l’argomento di questo percorso.

Segui un accesso dal campo password alla casella del codice

Osserva la sequenza, non le etichette. Il client invia la password, il server risponde che serve una seconda prova, e il client apre un campo per sei o otto cifre. Dietro quel campo c’è un’applicazione generatrice che custodisce un segreto condiviso e un orologio. Calcola un valore dal segreto e dal passo di tempo corrente, e il server ricalcola lo stesso valore dalla propria copia del segreto.

Entrambi i lati custodiscono lo stesso materiale di chiave. Quella simmetria è la parte che le persone trascurano quando descrivono il codice come un segreto: il fornitore può generare anche i tuoi codici, ed è per questo che il seme vale più di qualsiasi singolo output. Un codice che trapela è un valore monouso; il seme che lo ha prodotto è una credenziale permanente che continua a produrre valori validi finché non viene sostituita.

L’attivazione è l’altra metà del flusso. Un generatore che si sblocca con un codice del dispositivo, una richiesta biometrica o un contenitore cifrato presenta una prova di possesso più qualcos’altro. Uno che gira senza cifratura e si sblocca con la sessione del sistema operativo presenta solo il file. La stessa applicazione può offrire entrambe le disposizioni a seconda di come è stata fatta l’iscrizione, quindi la decisione di distribuzione sta in quel passo, non nella pagina marketing dell’app.

Decidi che cosa dimostra davvero il codice

Il linguaggio degli standard è insolitamente chiaro qui, e merita una lettura diretta. La guida agli autenticatori del NIST elenca i generatori OTP software come autenticatori, distingue l’OTP a fattore singolo dall’OTP multifattore con un fattore di attivazione, e afferma che l’autenticazione OTP non è resistente al phishing. Ciascuna di queste tre clausole cambia ciò che puoi affermare sulla richiesta.

Non resistere al phishing è il bordo più affilato. Un codice digitato in un campo può essere digitato nel campo di qualcun altro, in tempo reale, da una persona convinta a farlo. La finestra è breve, il che riduce il numero di tentativi utili ma non chiude la tecnica. Se il tuo requisito include resistere a questo, l’OTP è la primitiva sbagliata, indipendentemente da dove gira il generatore.

Fattore singolo contro multifattore è la seconda distinzione. Un codice che appare senza passo di attivazione dimostra il possesso di un file e nulla più, e il file è forte quanto l’account che può leggerlo. Aggiungi un fattore di attivazione e l’affermazione migliora, anche se descrive ancora la prova presentata all’accesso, non l’isolamento della macchina che la produce.

Guarda fin dove può arrivare un portatile compromesso

Un attaccante con esecuzione di codice sulla postazione di lavoro non è limitato a leggere il campo in cui digiti. La sessione stabilita dopo un accesso riuscito è di solito un token o un cookie, e un token può essere usato da un’altra macchina senza alcun codice. Se è questa la capacità contro cui ti difendi, aggiungere una seconda richiesta all’accesso cambia il numero di passi dell’attacco, non l’esito.

ArrangementWhat it adds at loginWhat it leaves inside the laptop boundary
Password plus TOTP app on the same machineA possession proof the password alone does not supplyThe seed, the unlock step and the authenticated session
TOTP app on a separate phoneSeed storage outside the workstationSession cookies, the typed password and any prompt that can be proxied
Hardware key with a signed challengeA per-login signature bound to the originWhatever the browser and the workstation are already trusted to do

Leggi la terza colonna come quella onesta. Ogni disposizione sopra lascia qualcosa dentro il confine di fiducia della postazione di lavoro, perché è lì che si usa la sessione. Ciò che cambia è se il segreto di lunga durata viaggia con quel confine o resta fuori, e se la prova è legata a un’origine specifica così che una pagina imitata non possa inoltrarla.

Due dettagli più piccoli appartengono alla stessa immagine. Un codice resta valido per la sua finestra di accettazione, spesso trenta secondi più una tolleranza alla deriva dell’orologio, così un valore catturato può essere riprodotto dentro quella finestra a meno che il verificatore rifiuti il riuso. E installare un nuovo generatore non termina le sessioni già autenticate, quindi una sessione vecchia sopravvive al cambio di credenziale che avrebbe dovuto contenere l’incidente.

Sposta il generatore solo dove la separazione aiuta

Mettere il generatore di codici sul telefono è un miglioramento reale per un guasto specifico: un portatile rubato non porta più entrambe le prove. Non fa nulla contro il dirottamento di sessione sul portatile, nulla per un utente che digita un codice in una pagina di phishing, e nulla per i codici di recupero che sono stati stampati una volta e fotografati in un’app di note.

Scrivi quindi il requisito prima di scegliere lo strumento. Se l’obiettivo è una prova in più contro una password trapelata, dillo chiaramente, e l’app sullo stesso dispositivo la fornisce già. Se l’obiettivo è la resilienza alla compromissione della postazione di lavoro VPN, nomina quella capacità dell’attaccante e scegli una disposizione valutata per essa, con il requisito phishing enunciato a parte invece che assunto.

Poi affronta la metà operativa, che decide se qualcosa di tutto ciò sopravvive al contatto con un incidente. La perdita di un dispositivo richiede un percorso di sostituzione documentato, la rotazione delle credenziali richiede di revocare le sessioni attive, e il materiale di iscrizione richiede la stessa protezione del seme, poiché una copia di iscrizione non protetta consegna a un attaccante gli stessi codici futuri per una via più breve. Enumerare quei quattro punti è più utile che discutere se i token sullo stesso dispositivo siano buoni o inutili.

Articoli correlati