1Password è più sicuro di un file di testo crittografato AES?

7

Esistono ulteriori misure adottate da 1Password e KeePass, che li rendono più sicuri di un file di testo crittografato AES-256? I formati di database che usano sembrano inutilmente complessi per i miei scopi.

    
posta Thomas 22.08.2013 - 22:26
fonte

4 risposte

17

Che è più veloce, un Fiat 500 o un V12 motore Ferrari ? La Fiat 500 è sicuramente un'auto piuttosto minimale ... ma almeno ha le ruote. Il motore Ferrari, per quanto magnifico possa essere, è ancora "solo un motore"; posalo su una strada e non sarà più mobile di un macigno. Pertanto, la domanda non ha molto senso.

E così è tuo. AES è un codice a blocchi, un oggetto matematico che da solo non raggiunge alcun tipo di sicurezza. Prodotti come 1Password e KeePass usano AES e altri algoritmi in elaborate costruzioni che cercano di garantire la riservatezza e l'integrità del database delle password. In questo senso, possono essere confrontati con "AES" non più di quanto una Fiat 500 sia paragonabile a un motore solitario.

Crittografare anche un semplice file di password, con una password principale, richiede una certa attenzione. La password principale deve essere convertita in una chiave di crittografia; questo è il regno di hashing della password e non è < em> semplice . Quindi, l'AES deve essere utilizzato con una modalità di funzionamento , che ha le sue regole (selezione IV, riempimento ... ). Preferibilmente, è necessaria una sorta di MAC , e combinando la crittografia simmetrica e un MAC è a materia sottile . Ultimo ma non meno importante, quando si cripta e / o decodifica un file , si tende a produrre file temporanei che verranno scritti sul disco rigido, con il contenuto del file chiaro in essi contenuto. L'eliminazione dei file non è sufficiente per garantire la distruzione dei dati. Decifrare il file "in memoria" e non lasciare mai che i dati vadano sul disco può essere complicato, specialmente in presenza di memoria virtuale .

Tutto ciò equivale a questa conclusione: mentre un file pieno di password, crittografato con AES, può essere utile, ci sono molti dettagli su cui fare attenzione, e questo è un duro lavoro. La maggior parte dei prodotti esistenti sta facendo questo tipo di lavoro. Puoi puoi farlo da solo, ma non sarà tanto immediato quanto lo slapping di alcuni script basati su OpenSSL.

Quindi prodotti come KeePass forniscono anche alcune funzionalità extra che non devono essere disprezzate; vedi l'elenco .

    
risposta data 22.08.2013 - 23:00
fonte
10

[Divulgazione: lavoro per AgileBits, i creatori di 1Password]

Pensa ad AES come a un mattone molto strong e ben progettato che tutti possono usare. Ma una casa fatta di mattoni potrebbe essere ancora molto fragile e fragile se l'architettura non è fatta bene. Ci sono molti modi in cui un sistema di gestione delle password sviluppato in casa potrebbe andare storto. Eccone alcuni:

  1. La crittografia di un singolo file di grandi dimensioni significa che quando è decodificato, tutti i dati decrittografati sono residenti in memoria (e possono essere scambiati, scaricati, ecc.). (1Password, nel contratto, decrittografa solo un singolo elemento alla volta in quanto è necessario.)

  2. Che tipo di difese offre un sistema roll-your-own contro i cracker di password automatizzati? Un utente malintenzionato può testare decine di milioni di password al secondo o solo migliaia? Le funzioni di derivazione chiave utilizzate per questo scopo sono cose sottili e complicate. (Recentemente ho presentato una presentazione a PasswordsCon su un difetto in PBKDF2.)

  3. Sorgente di casualità. Varie chiavi, IV, sali, nonces hanno requisiti per numeri casuali appropriati per crittografia. Puoi ottenere questo in un sistema "roll-your-own"?

  4. Il sistema deve essere robusto contro la perdita di dati. Un singolo, grande file crittografato è molto fragile per quanto riguarda la corruzione dei dati.

  5. Anche se fai la scelta giusta per quanto riguarda le modalità di crittografia, la derivazione delle chiavi, la gestione della memoria ecc. oggi, puoi tenere il passo con la ricerca e gli sviluppi su come tali sistemi potrebbero essere violati? Ancora una volta, per quanto riguarda 1Password, prestiamo molta attenzione sia alla letteratura crittografica che al lavoro svolto nella community di password cracking.

È fantastico che tutti e tutti gli sviluppatori abbiano AES e altre potenti primitive crittografiche a portata di mano. Ma sfortunatamente non è abbastanza per progettare un sistema strong. Queste cose sono sostanzialmente più difficili di quanto si possa inizialmente immaginare ed è facile commettere errori.

Idealmente, uno sviluppatore non dovrebbe avere una profonda conoscenza della crittografia per sviluppare sistemi sicuri. Le librerie crittografiche e le API dovrebbero essere sufficienti. Ma non siamo ancora arrivati. È ancora più facile usare gli strumenti in queste librerie in modo non corretto.

Non voglio scoraggiare nessuno dal provare e imparare. Basta capire che ci sono ragioni per i formati di dati "eccessivamente complessi" che vengono utilizzati. Non pensare di poter evitare quelle complessità finché non sai perché sono lì.

    
risposta data 24.08.2013 - 18:35
fonte
3

Per lo più organizzazione e usabilità. AES è ancora la crittografia sottostante in entrambi, ma non puoi fare cose come copiare temporaneamente una password nella memoria senza averla mai visualizzata con un semplice file di testo che è crittografato.

Il punto di software come KeePass e 1Password è quello di aiutare con l'organizzazione e l'usabilità e fornire un'implementazione di archiviazione sicura basata sul tipo di cosa a cui stai pensando.

Non c'è alcuna ragione per cui tu abbia "bisogno" di uno di loro, ma rendono la vita molto più semplice senza sacrificare la sicurezza.

    
risposta data 22.08.2013 - 22:57
fonte
2

Penso che puoi provare questo link per maggiori informazioni: link

The slightly longer answer is that your data is encrypted using AES, the same state-of-the-art encryption algorithm used as the national standard in the United States. 1Password uses 128-bit keys for encryption, which means that it would take millions of years for a criminal to decrypt your data using a brute force attack.

Per maggiori informazioni: link

Informazioni su KeePass:

KeePass supports the Advanced Encryption Standard (AES, Rijndael) and the Twofish algorithm to encrypt its password databases. Both of these ciphers are regarded as being very secure. AES e.g. became effective as a U.S. Federal government standard and is approved by the National Security Agency (NSA) for top secret information. The complete database is encrypted, not only the password fields. So, your user names, notes, etc. are encrypted, too. SHA-256 is used as password hash. SHA-256 is a 256-bit cryptographically secure one-way hash function. Your master password is hashed using this algorithm and its output is used as key for the encryption algorithms. In contrast to many other hashing algorithms, no attacks are known yet against SHA-256.

Ulteriori informazioni: keepass.info/features.html

    
risposta data 22.08.2013 - 22:44
fonte

Leggi altre domande sui tag