Crittografia a chiave simmetrica multiutente

0

Mi rendo conto che domande simili sono state poste prima, ma sto cercando alcune specifiche che non riesco a trovare altrove. La seguente domanda assomiglia molto alla mia ma non mi soddisfa nei dettagli: Strategie di crittografia per l'accesso di più utenti nei sistemi di produzione .

Sto creando un'applicazione che consente agli utenti di aggiungere contenuto, che viene quindi crittografato e memorizzati in un database utilizzando una chiave di contenuto. Questa chiave di contenuto è una stringa generata casualmente di 32 caratteri (dal momento che rijndael-256 non sembra supportare più di 32 caratteri, o certi caratteri di utf-8 per quella materia, ma quell'argomento non rientra nell'ambito di questa domanda). La chiave del contenuto è anche memorizzata nel database, crittografata con la chiave dell'applicazione privata.

Ciò che non ha senso per me è che in seguito, in base a post simili, ogni utente che dovrebbe avere accesso al contenuto crittografato dovrebbe avere una chiave univoca.

In che modo è più sicuro, ad esempio, creare un riferimento per ogni riga crittografata che indica quali utenti sono autorizzati a visualizzare il contenuto crittografato in base all'ID dell'utente?

Quello che sto cercando è una spiegazione dettagliata su come affrontare questo tipo di situazioni, e inoltre quali sono le chiavi e le password (se ce ne sono) da derivare.

    
posta Kevin Op den Kamp 02.05.2014 - 13:57
fonte

1 risposta

1

E in che modo questa tabella concede loro l'accesso ai file? L'intero punto di crittografia dovrebbe essere che il server non può accedere ai file anche se lo desidera. Se le chiavi dei dati sono archiviate in una tabella con un elenco di chi è autorizzato ad accedere alla chiave, il server può ora accedere ai file e la crittografia non ha senso.

Al contrario, una copia della chiave di contenuto del file viene crittografata con la chiave pubblica dell'utente a cui viene concesso l'accesso e memorizzata nel keyring degli utenti (una tabella molto simile a quella descritta per indicare chi ha accesso, ma memorizzando piuttosto le chiavi di accesso di una semplice ricerca dei permessi). Senza che l'utente acceda e fornisca la sua password, la sua chiave privata non può essere decifrata, la chiave del contenuto non può essere decifrata e il file non può essere accessibile utilizzando la sua copia del codice del contenuto.

Se si desidera rifiutare l'accesso, è sufficiente rimuovere la chiave del contenuto dal proprio portachiavi e distruggerlo (a condizione che il server non abbia mai perso la chiave del contenuto mentre avevano accesso, un po 'più sicuro sarebbe in realtà modificare la chiave del contenuto, ma ciò diventa costoso poiché richiede la crittografia re-crittografica del file e di tutti gli altri portachiavi).

    
risposta data 02.05.2014 - 15:40
fonte

Leggi altre domande sui tag