Client Side Encryption (CSE) en varios clientes

3

Trabajando en seguridad de 2 capas en la nube (AWS). Haga que varios clientes envíen archivos al almacenamiento de documentos S3, que luego serán recuperados por una instancia de EC2.

Varios clientes externos, cada uno de los cuales requiere su propio cifrado (archivos PUT a S3). Tiene 1 instancia interna que debe poder GET archivos desde S3 y descifrar.

¿Cómo podemos gestionar varias claves de una manera fácil?
3 patas de nuestro problema

  1. Transporte cifrado: resuelto mediante SSL
  2. Cifrado en reposo: resuelto mediante S3 SSE
  3. cifrado del lado del cliente

¿Es posible que cada cliente encripte (CSE), transporte y luego descifre mediante S3 que luego encripta (SSE)? ¿Algún otro pensamiento o referencias que puedan ayudar?

    
pregunta csi 19.04.2016 - 19:57
fuente

1 respuesta

0

No estoy seguro de si solo desea descifrar los archivos en la instancia interna, o cada cliente también tiene que poder descifrar sus propios datos.

De todos modos, la solución es utilizar un esquema de cifrado híbrido con claves públicas.

Cada cliente cifra los datos con un cifrado simétrico como AES y una clave aleatoria para cada archivo. La clave aleatoria se cifra con la clave pública de la instancia interna. Si el cliente también tiene que descifrar el archivo, la clave AES se cifra adicionalmente con la clave pública del cliente.

Si necesita garantizar la autenticidad, el archivo también se firma con la clave privada del cliente.

Usted necesita, dependiendo de sus requisitos exactos, ya sea un par de llaves para la instancia interna o n + 1 par de llaves (instancia interna y cada cliente) para n clientes.

Un software que puede hacer exactamente lo que describí es el GNU Privacy Guard .

    
respondido por el Josef 30.01.2017 - 16:11
fuente

Lea otras preguntas en las etiquetas