Utilizzo di un codice manuale per proteggere i codici di backup di Two Factor Authentication (2FA) [duplicato]

0

La maggior parte degli account con autenticazione a due fattori (2FA) fornisce codici di backup da utilizzare nel caso in cui il telefono venga perso o rubato. Ad esempio, Google fornisce un elenco di 10 codici di backup durante l'impostazione di 2FA. Questi codici devono essere memorizzati in modo sicuro , ma devono anche essere accessibili . Se qualcuno è in grado di ottenere i codici 2FA, può ignorare 2FA sul mio account.

Alcune persone hanno suggerito di stampare i codici e di conservarli nel bagaglio. Invece, ho inserito i codici di backup in un archivio di crittografia digitale con una chiave unica conosciuta solo a me. Sto usando la crittografia lato client che richiede un software speciale a cui non posso avere accesso mentre viaggio.

Poiché il mio telefono è l'unico dispositivo di elaborazione che ho quando viaggio, sto cercando di eliminare il requisito per il software di decrittografia. Mi piacerebbe anche mantenere il controllo delle mie chiavi in modo che una cassastrong con conoscenze chiave (Dropbox, Google Drive, ecc.) Sia anche fuori questione.

Pertanto, sto prendendo in considerazione un'altra opzione. Invece di archiviare i codici di backup in un vault digitale che richiede software per la decrittografia, cosa succede se li crittaggio con il metodo one-time pad manuale (char di testo + char key quindi mod 26) e rendere i cifrari disponibili al pubblico? Quando perdo il mio telefono, posso decifrare i cifrari a mano con la chiave che ho memorizzato senza bisogno di software speciale.

Questo fornisce un paio di ulteriori vantaggi:

  1. Posso memorizzare i codici di backup crittografati in più posizioni, come il mio portafoglio, i miei bagagli, e su una pagina web accessibile al pubblico.
  2. Ho solo bisogno di memorizzare una chiave per tutti i miei codici di backup su più account.
  3. Non importa se i codici del codice di backup vengono persi o rubati.

La mia domanda è: è un metodo sicuro per la memorizzazione dei codici di backup 2FA? Quali sono i rischi per la sicurezza? Cosa sto trascurando?

    
posta Justin J Stark 27.02.2018 - 20:32
fonte

1 risposta

1

Ho fatto le mie ricerche su questo e crittografando i codici 2FA con il metodo One-Time Pad e una frase non ovvia è unbreakable a causa dell'uniformità dei codici 2FA.

Se si utilizza One-Time Pad (OTP) per crittografare una frase, la chiave deve essere uniforme da custodire contro l'analisi di frequenza. Ma in generale il testo in chiaro o la chiave devono essere uniformi. Google Authenticator e altri provider 2fa utilizzano un hash generato da SHA-1 per generare i codici 2fa, che è lo standard per HOTP (RFC4226) e TOTP (RFC6238) . Mentre SHA-1 potrebbe non essere perfettamente uniforme, SHA-1 è quasi uniforme e abbastanza vicino alla divisa quell'analisi di frequenza non è un attacco fattibile. Pertanto, qualsiasi chiave non ovvia, come una frase o frase facile da ricordare, può essere utilizzata per crittografare i codici 2fa.

Un punto debole di questo è se si utilizza la stessa chiave per utilizzare un One-Time Pad per crittografare tutti i codici di backup 2fa e uno dei codici viene sottoposto a forzatura bruta, l'utente malintenzionato può derivare la chiave e quindi decrittografare tutti i codici . Mentre per i provider di account è prassi standard l'accesso con limite di velocità per impedire attacchi di forza bruta, alcuni fornitori di account potrebbero avere una protezione peggiore di altri e non si dovrebbe presumere che tutti i fornitori di account dispongano di una protezione adeguata. La sicurezza del codice di backup 2fa è valida solo quanto il fornitore di account più debole. Pertanto, dovresti utilizzare una chiave diversa per ogni account che annulli uno dei principali vantaggi di questo metodo: devi solo memorizzare una chiave.

    
risposta data 02.03.2018 - 17:14
fonte

Leggi altre domande sui tag