it-swarm.dev

L'aggiunta dell'autenticazione a due fattori tramite OTP rende KeePass più sicuro

KeePass è un'applicazione che conserva tutte le password per te in un database. È principalmente protetto da una password principale e/o un file di chiavi. Se il database è correttamente crittografato con quella password, questo può essere abbastanza sicuro.

C'è un plugin OtpKeyProv che presumibilmente aumenta la sicurezza aggiungendo un secondo fattore di autenticazione. Dopo aver protetto il database utilizzando questo plug-in, è necessario generare e inserire password singole per aprire il database.

La mia domanda: questo aumenta davvero la sicurezza? Non vedo come utilizzare il meccanismo OTP per crittografare ulteriormente il database. Un hacker che ottiene il database non può semplicemente compilare una versione di KeePass (è open source) che non richiede il valore OTP?

Per quanto posso vedere il plugin ti dà fastidio solo quando vuoi accedere all'applicazione, portando a un falso senso di sicurezza aggiuntiva.

O sto trascurando qualcosa.

21
Jeff

No. La sicurezza rimane la stessa + sovraccarico cognitivo extra.

Presumibilmente il plug-in utilizza OATH HOTP in cui il file KeePass o la chiave master viene nuovamente crittografato dopo ogni accesso con la successiva password una tantum.

Tuttavia, per generare la password successiva sul dispositivo, il plug-in richiederebbe un segreto memorizzato sul dispositivo o la password normale per il file KeePass.

La sicurezza da una password singola proviene da due parti che conoscono la stessa chiave e lo stesso contatore - HOTP(Key,Counter) - mentre un utente malintenzionato non conosce la chiave. Se l'attaccante ha accesso al dispositivo che archivia l'installazione e i file di KeePass, la sicurezza ricomincia da sola con la sicurezza della normale password. Se il file KeePass è ancora interoperabile con altri programmi KeePass, in questo modo non si ottiene nulla dall'uso di una password una tantum.

Le password monouso funzionano bene per l'autenticazione del server perché entrambi gli endpoint client e server sono considerati sicuri e l'attaccante ha bisogno di ' qualcosa che possiedi' così come ' qualcosa che conosci '. Se l'attaccante ha il tuo computer, ora ha " la cosa che possiedi".

15
LateralFractal

Dalla lettura della fonte sembra che il segreto sia archiviato su Yubikey e archiviato più volte crittografato con chiavi diverse all'interno del file otp.xml. Le chiavi di crittografia derivano dai successivi n OTP (derivati ​​dal segreto) a partire da OTP i..i + m dove i è il contatore corrente e m è il valore di previsione. Quando l'utente immette i propri valori OTP, il plug-in crea una chiave da tali valori e tenta di decrittografare una delle copie crittografate del segreto utilizzando quella chiave. Se ha esito positivo, il segreto viene utilizzato per derivare le OTP n + m successive e generare le chiavi m utilizzate per crittografare il segreto per la volta successiva prima di sbloccare il database. Ciò significa che la protezione non può essere ignorata senza avere una copia del segreto, che non è memorizzato in testo normale accanto al database.

Sebbene apparentemente sicuro, questo plugin non mi piace a causa della possibilità che i contatori non vadano sincronizzati. Assicurati di avere una copia del segreto scritta in un posto sicuro.

11
mdonoughe

KeePass ha una chiave master che viene normalmente crittografata con la tua password. Se quella chiave è crittografata con qualcosa generato dall'OTP e dalla tua password, entrambi i meccanismi sarebbero necessari per decrittografare la chiave principale che crittografa l'archivio dati. Detto questo, non sono sicuro di come possano aver implementato un'impostazione OTP sicura poiché normalmente un OTP è un metodo di autenticazione piuttosto che un archivio di chiavi (ovvero, non so come faresti che l'OTP sblocchi la chiave) .

È anche sospetto che potrebbero effettivamente impedire la riproduzione poiché il db è controllato da un utente malintenzionato nella maggior parte degli scenari di attacco, semplicemente non necessariamente nel modo previsto. Potrebbero avere un modo per aggirare questo problema, ma non riesco a pensare a uno.

2
AJ Henderson