Client Side Encryption (CSE) su più client

3

Lavorare sulla sicurezza a 2 livelli nel cloud (AWS). Avere più client che spingono i file nella memoria del documento S3 che vengono poi recuperati da un'istanza EC2.

Più clienti esterni che richiedono ciascuno la propria crittografia (file PUT in S3). Avere 1 istanza interna che deve essere in grado di ottenere file da S3 e decodificare.

Come possiamo gestire più chiavi in modo semplice?
3 gambe del nostro problema

  1. Trasporto crittografato - risolto tramite SSL
  2. Cifra a riposo - risolto tramite S3 SSE
  3. Crittografia lato client

È possibile per ogni client crittografare (CSE), trasportare e quindi decifrare da S3 che poi crittografa (SSE)? Qualche altro pensiero o riferimento che potrebbe aiutare?

    
posta csi 19.04.2016 - 19:57
fonte

1 risposta

0

Non sono sicuro se vuoi decrittografare i file solo nell'istanza interna, o ogni client deve anche essere in grado di decrittografare i propri dati.

Comunque, la soluzione è utilizzare uno schema di crittografia ibrido con chiavi pubbliche.

Ogni client crittografa i dati con un codice simmetrico come AES e una chiave casuale per ogni file. La chiave casuale viene quindi crittografata con la chiave pubblica dell'istanza interna. Se il client deve anche decodificare il file, la chiave AES viene ulteriormente crittografata con la chiave pubblica del client.

Se è necessario garantire l'autenticità, il file viene anche firmato con la chiave privata del client.

È necessario, in base ai propri requisiti, una coppia di chiavi per l'istanza interna o n + 1 coppie di chiavi (l'istanza interna e ciascun client) per n client.

Un software in grado di fare esattamente quello che ho descritto è GNU Privacy Guard .

    
risposta data 30.01.2017 - 16:11
fonte

Leggi altre domande sui tag