DPAPI Gestore delle chiavi distribuito

4

Ho un numero di file di configurazione e dati binari che devono essere memorizzati su disco crittografati. Solo l'utente che ha crittografato dovrebbe essere in grado di decifrare le informazioni. Finora, ho usato DPAPI con successo per crittografare e decifrare queste informazioni.

Nuovo requisito: il sistema / questi dati devono ora essere distribuiti su più macchine. È fondamentalmente un problema di distribuzione, ma leggermente più complicato e automatizzato. Ora devo essere in grado di decodificare i dati su una macchina diversa da quella che ha crittografato i dati.

Quindi, non posso più usare DPAPI out of the box poiché i dati crittografati possono essere decifrati solo sulla stessa macchina. Tuttavia, mi piacerebbe usare questo preciso principio di crittografia legato all'utente, senza essere legato a una macchina.

Ho trovato questo link ma è un po 'eccessivo e, in ogni caso, non è come se ci fosse un prodotto che posso usare.

Tutti i client (beh, sono tutti server di applicazioni virtuali, ma in questo scenario, chiamiamo i client) in questo progetto sono in qualche modo connessi al server SQL. La mia idea è quindi quella di utilizzare SQL Server / SQLCLR come gestore di chiavi distribuito.

DPAPI viene quindi convertito in AES su ciascun client. La chiave per enc / dec AES locale viene recuperata durante la crittografia / decrittografia dal server sql. Su SQL Server, la chiave AES viene crittografata usando DPAPI con SQLCLR, quindi ottengo la stessa funzionalità di ish di prima. Sto pensando a una tabella di base con due colonne non metadata: utente e la chiave AES (crittografata) distribuita. Ovviamente limiterò l'accesso a questo database / tabella solo agli account degli utenti interessati.

  • Qualche difetto di sicurezza evidente in questa architettura? Ho capito che il tasto AES deve essere "in chiaro" in memoria a un certo punto per poterlo assegnare all'implementazione dell'algoritmo .net, che non è eccezionale.

  • C'è un modo migliore per ottenere la stessa cosa? Ho la sensazione che non possa essere la prima persona ad avere questo problema e odio reinventare la ruota.

posta Tewr 19.10.2015 - 11:03
fonte

0 risposte

Leggi altre domande sui tag