DPAPI equivalente su linux?

9

Ho un server app e un server db. Voglio inviare determinati dati al db crittografato, utilizzando un DEK (chiave di crittografia dei dati). Idealmente, questo DEK viene letto protetto sul file system linux e crittografato usando un KEK (chiave di crittografia chiave). Su Windows, userei DPAPI per proteggere il KEK, ma su Linux, non sono sicuro che il modo migliore per mantenere questa chiave sicura (senza un HSM).

Sono aperto ad alternare architetture o paradigmi comuni che le persone usano per risolvere questo problema.

    
posta Tom Hinkley 23.01.2014 - 02:56
fonte

1 risposta

6

Se il codice dannoso può essere eseguito nel contesto dell'utente, DPAPI non fornisce alcuna protezione, poiché detto codice dannoso può semplicemente chiedere a DPAPI di decrittografarlo.

L'unico scenario contro cui è protetto è se i dati o il disco vengono rubati, ma la password non è nota. La password può essere ripristinata facilmente, ma ciò rende i dati protetti DPAPI inaccessibili. Un utente malintenzionato dovrebbe crackare l'hash della password dalla cache delle credenziali di Windows, ma tenere presente che in genere si tratta di un'attività molto efficace. Se sai che questo è quello che devi fare, probabilmente lo puoi fare nella maggior parte dei casi.

Il tuo vero problema è "come gestire facilmente il KEK".

DPAPI si occupa della gestione delle chiavi con il porcellino di sicurezza sulla password di Windows. Avresti bisogno di un modulo PAM per farlo su Linux, e non ce n'è uno.

Dovresti prendere in considerazione il porcellino salvadanaio su qualsiasi cosa l'utente stia già utilizzando, ad es. Keychain OSX, KWallet di KDE, GnomeKeyring di Gnome ecc., Che credo abbiano API.

Se stavi usando Python, dovresti considerare qualcosa del genere:

risposta data 24.01.2014 - 13:15
fonte

Leggi altre domande sui tag