Crittografia multi-tasto PGP per gruppi dinamici di grandi dimensioni che visualizzano documenti statici

2

Supponiamo che io abbia N utenti che dovrebbero essere in grado di decifrare un sottoinsieme di documenti D 1 ... D k . N è molto grande e gli utenti vengono spesso aggiunti e rimossi, quindi non è pratico crittografare un determinato documento D i utilizzando tutte le loro chiavi pubbliche .

Come ho letto, una soluzione comune qui è creare un gruppo G con la propria coppia di chiavi, e la sua chiave pubblica viene utilizzata per crittografare il documento.

Quello che non riesco a capire è come dare a tutti gli utenti che entrano e escono da G la possibilità di usare la chiave privata G senza memorizzarla sul server.

Ho pensato di crittografare la chiave privata di G con la chiave pubblica di tutti i suoi membri, ma cosa succede quando un nuovo utente si unisce? Mi sento come se avessi bisogno di crittografare nuovamente la chiave privata, questa volta con la chiave pubblica del nuovo utente mescolata, tuttavia come server non ho più accesso alla chiave privata non crittografata.

La soluzione più vicina che ho visto è quella di creare una nuova coppia di chiavi per G e re-encrypt D i , ma per un gran numero di documenti anche questo diventa molto poco pratico.

Devo aggiungere che il sistema non deve essere autorizzato a decrittografare i documenti dell'utente.

C'è qualche pattern che usa PGP (o qualsiasi altro standard in realtà) che può aiutarmi qui?

    
posta Dan 03.06.2017 - 00:40
fonte

1 risposta

2

Ho fornito una risposta a una domanda simile, ma non identica, qui: link

su come gestire questo aspetto per un elenco di email.

La tua soluzione specifica dovrà ovviamente conformarsi al tuo modello di minaccia e ai tuoi requisiti aziendali, ma in sostanza sarà simile a questa:

Encrypt D con una chiave monouso simmetrica (ad esempio qualcosa come AES-256). Cifra quella chiave con le chiavi pubbliche PGP di ciascun membro del gruppo G. Aggiungi e rimuovi le chiavi PGP come modifiche di appartenenza.

Almeno una chiave (appartenente a un amministratore che gestisce il gruppo o un demone che gestisce l'identità centrale) dovrà decifrare la chiave di sessione (non l'intero documento) e ricodificarla con la nuova chiave pubblica appena aggiunta.

Ovviamente, la rimozione di persone dal gruppo non sarà di aiuto se hanno copiato localmente i dati non crittografati, ma questo è al di fuori della portata della tua domanda. Se si desidera "bloccarli" presumendo che non abbiano già effettuato l'accesso al testo normale, è possibile re-crittografare D con una nuova chiave di sessione e ricodificarla nuovamente solo ai membri correnti rimanenti del gruppo G. Ma ancora una volta , non è di aiuto se la persona che lascia il gruppo ha già accesso al testo normale.

    
risposta data 03.06.2017 - 00:55
fonte

Leggi altre domande sui tag