2012-09-13 26 views
11

Sto creando un'applicazione Web con ASP.NET MVC e voglio memorizzare alcune password nel database.Dove memorizzare la chiave AES?

Le password devono essere recuperabili. (Non sono per me, ho bisogno di password per comunicare con un'API, che ha bisogno della vera password) Quindi non posso usare algoritmi hash o simili.

Ho trovato che AES è un buon algoritmo di crittografia per me.

Ma, il problema è: dove memorizzare la chiave AES? È sufficiente memorizzare in appsettings all'interno di web.config? Come rendere la chiave più difficile da trovare (per gli hacker)?

E la prossima domanda: qualche idea per rendere questo sistema più sicuro?

+0

Ovviamente è possibile crittografare una chiave con un'altra chiave, quindi crittografarla con un'altra chiave ad nauseum. Ma vale la pena pensare a quello che stai cercando di ottenere, e questo è limitare l'accesso alle informazioni. Ci sono un gran numero di metodi per raggiungere questo obiettivo, e la maggior parte di questi non riguarda la crittografia. –

+0

Quindi, quale modo mi consiglia? Memorizza la chiave in web.config e crittografa web.config abbastanza? –

+0

Sì, questo potrebbe certamente far parte del tuo schema * di gestione delle chiavi * (da qui il commento). Mi stavo solo assicurando che non stai solo guardando i meccanismi di crittografia. Dove vai alla chiave che decripta 'web.config'? Chi ha accesso ad esso? –

risposta

3

È possibile crittografare sezioni di file .config. Here is the msdn documentation sull'argomento, anche se troverai altre procedure dettagliate online.

+0

Grazie, ma la crittografia 'web.config' rende sufficiente la sicurezza? Come rendere questo sistema più sicuro? –

Problemi correlati