È ragionevole memorizzare chiavi TOTP crittografate + credenziali di autenticazione su un singolo dispositivo (per l'utente finale)?

3

Il mio attuale modello di sicurezza (almeno per le password) è quello di archiviarli crittografati a riposo e utilizzare GPG (in combinazione con un Yubikey) per eseguire la crittografia / decrittografia. Sto utilizzando pass ( link ) per automatizzare il processo di crittografia / decrittografia. Questi file sono memorizzati 0700 e ho intenzione di sincronizzarli su iCloud Drive o su un repository git appropriato (ad un certo punto). In questo momento sto solo facendo loro il backup di un Ironkey (D20402A). Sto usando sottochiavi da 4096 bit per la crittografia / decodifica GPG.

Tuttavia, i codici TOTP vengono memorizzati sul mio iPhone (utilizzando Google Authenticator). So che ci sono soluzioni di terze parti come Authy, ma mi piacerebbe migrare lontano dal mio telefono, se possibile.

Idealmente mi piacerebbe conservare le mie chiavi segrete TOTP in un modo che possa essere recuperato (e adeguatamente sottoposto a backup) dal mio computer per semplificare lo scripting e l'automazione. Ci sono alcuni servizi come AWS che richiedono un codice TOTP insieme alle mie normali credenziali di autenticazione che lo motivano.

Conserveresti questi segreti TOTP insieme alle mie password (purché entrambe siano crittografate) abbastanza sicure o solo una cattiva idea? Il modo in cui lo vedo sono fondamentalmente quattro elementi necessari a qualcuno per sbloccare le mie chiavi:

  • Computer fisico (crittografia dell'intero disco con APFS) o Ironkey
  • Yubikey fisico (o il backup o il backup della chiave master)
  • Password di decrittografia di Disk o Ironkey
  • Il mio PIN Yubikey

C'è uno strumento chiamato link che posso utilizzare per questo.

Sono indeciso se si tratta di una soluzione di sicurezza accettabile. Da un lato, l'aspetto "secondo fattore" che il TOTP comporta viene sovvertito archiviando tutti i segreti su un singolo dispositivo.

D'altra parte, sono ragionevolmente sicuro che il dispositivo e i metodi che ho intenzione di utilizzare attorno alla mia soluzione proposta siano sufficientemente adeguati per proteggere questi dati. Riconosco che tutto questo vola fuori dalla finestra se la mia macchina stessa è compromessa (ma questo mi lascia fregato in ogni situazione).

    
posta Aea 05.09.2018 - 20:23
fonte

1 risposta

3

Dato che si menziona che si utilizzano le funzionalità di smartcard di Yubikey per memorizzare la chiave di crittografia PGP necessaria per accedere al database pass , direi che è opportuno mantenere i segreti condivisi di TOTP in aggiunta ad altri dati di password. Il TOTP è un meccanismo per garantire l'autenticazione a 2 fattori, quindi finché si richiede a Yubikey di decrittografarli, si utilizzano ancora 2 fattori (yubikey = qualcosa che si ha, il PIN = qualcosa che si conosce).

Anche qui c'è un avvertimento importante: c'è molto più sandboxing delle applicazioni sui moderni telefoni Android rispetto a una moderna workstation Linux. Chiunque sia in grado di eseguire codice sulla propria workstation (come utente) sarà probabilmente in grado di afferrare i segreti TOTP dalla RAM o aspettando di inserire la chiave yubikey e decrittografarli direttamente una volta che conoscono il PIN. D'altra parte, la memoria e l'archiviazione che appartengono a un'applicazione TOTP sul telefono saranno generalmente meglio isolate dalle altre applicazioni che stai usando, quindi richiederebbe un compromesso a livello di root prima che un utente malintenzionato possa accedi ai segreti memorizzati in una app TOTP.

Se questo è un compromesso accettabile per te, allora puoi mettere in pratica quei segreti TOTP condivisi. In caso contrario, dovresti mantenerli sullo smartphone.

    
risposta data 05.09.2018 - 20:46
fonte

Leggi altre domande sui tag