Revoca la capacità di decrittografia

0

Sto cercando un modo per crittografare alcuni dati in modo tale da poter revocare in seguito la capacità di una singola persona di decodificarlo.

Abbiamo una riserva di backup del database attualmente crittografati con GPG. Tuttavia, per decrittografarli, il team ha bisogno della singola chiave privata.

Invece, mi chiedo se c'è un modo per dare a tutti la possibilità di decifrare usando la propria chiave, ma essere in grado di revocare in un secondo momento una singola chiave di decrittografia pur consentendo a tutti gli altri di decodificare ancora.

L'unica opzione che posso pensare è creare un backup per chiave e poi eliminare quelli per la chiave che voglio revocare. Ma questo significa memorizzare un sacco di più dati di quanti ne possa avere.

    
posta RickMeasham 12.02.2014 - 07:40
fonte

2 risposte

2

L'unico modo per ottenere facilmente questo è non consentire all'utente di decrittografare il file. Se crei un sistema che gestirà la decrittografia e non fornirai mai all'utente la chiave di decrittografia effettiva, puoi assegnare a ciascun utente una chiave che l'applicazione utilizza per decrittografare la chiave utilizzata per proteggere i dati condivisi.

Per rimuovere un utente, è sufficiente eliminare la copia della chiave condivisa crittografata con la propria chiave utente. L'intera sicurezza di un tale sistema dipende dalla loro incapacità di ottenere effettivamente la chiave utilizzata per crittografare i dati condivisi. Se ottengono quella chiave, è impossibile impedire che aprano il file crittografato ogni volta che scelgono.

    
risposta data 12.02.2014 - 16:07
fonte
0

In generale, è fisicamente impossibile togliere la conoscenza a qualcuno. Quando dai a qualcuno sia i dati che la chiave per decrittografarli, non c'è modo di portarli via da loro, perché hanno la possibilità di creare backup illimitati da ognuno dei quali funzionerà per tutta l'eternità.

Quando vuoi essere in grado di controllare l'accesso alla conoscenza, devi mantenere una sorta di segreto per te che puoi dare a una persona solo quando vuole accedere alla conoscenza. Ma considerando che il tuo suggerimento era di creare più copie dei dati con chiavi diverse e distruggere quelle che sono state revocate, sembra che tu sappia questo.

Nel tuo scenario puoi criptare i dati con una chiave comune comune. Quindi si crea una copia di quella chiave master per ciascun utente e la si cripta con la chiave dell'utente. Quando un utente ha bisogno di decifrare i dati, gli dai la copia della chiave master crittografata con la loro chiave. Possono quindi decrittografare la chiave master e utilizzare quella comune chiave master per decrittografare i dati. Quando si desidera revocare l'accesso per un utente, si distrugge la copia della chiave master crittografata per loro.

Ricorda che dopo aver dato a un utente una copia della chiave master, avranno sempre accesso a quella chiave master. Ciò significa che è necessario modificare la chiave principale e crittografare nuovamente i dati a intervalli regolari. In questo modo hanno accesso ai dati solo nello stato in cui hanno ricevuto la copia della chiave e non hanno accesso a uno stato successivo dei dati perché sono crittografati con una chiave master diversa.

    
risposta data 12.02.2014 - 08:50
fonte

Leggi altre domande sui tag