La classe ProtectedData è ancora un metodo accettabile per memorizzare le password?

5

Sto scrivendo un software che dovrà memorizzare una password utente per consentire l'autenticazione con un servizio di terze parti. Sfortunatamente, questo servizio richiede attualmente l'uso di una password piuttosto che un altro metodo. Una caratteristica / vantaggio chiave di questo software sarà l'eliminazione di un prompt di accesso (dopo la prima autenticazione), quindi è assolutamente necessario archiviare la password.

Intendo utilizzare .NET ProtectedData classe per questa operazione.

In sostanza sto chiedendo - è accettabile nel 2015? C'è un metodo migliore e più sicuro per archiviare questi dati?

Ulteriori dettagli come richiesto: Il software è lato client, progettato per essere eseguito nel contesto degli utenti su desktop Windows. Queste macchine saranno generalmente macchine "gestite" (cioè, sotto il controllo di un dipartimento IT), ma sto partendo dal presupposto che questo software possa essere installato su qualsiasi client, da qualsiasi utente.

Quindi, in sostanza, ho bisogno di presumere che in qualsiasi momento una macchina possa essere persa / rubata. Detto questo, se un account utente viene compromesso, è già più dannoso di un potenziale compromesso di questa password.

    
posta Dan 25.03.2015 - 16:58
fonte

1 risposta

4

Sì, questo è uno dei casi d'uso in cui i Dati protetti (e il DPAPI sottostante) sono espressamente progettati per, ed è generalmente probabilmente il miglior meccanismo a tua disposizione.

Una cosa che aggiungerei è che è meglio impostare DataProtectionScope su CurrentUser, che offrirà una protezione più potente, poiché i dati non sono disponibili per altri utenti e processi sulla macchina come quando l'ambito è impostato su LocalMachine.

    
risposta data 25.03.2015 - 18:17
fonte

Leggi altre domande sui tag