La mejor manera de garantizar la integridad de los datos cifrados que se guardan en un lugar público

1

Necesito mantener los datos confidenciales en un lugar público de hecho (es decir, con un usuario, por ejemplo, en una cookie) y solo allí (no se debe guardar ninguna copia o hash de esos datos en el servidor).

Los datos se cifraron AES / CBC y la clave privada AES se mantiene en secreto en el servidor (el tipo y la seguridad de esta clave no deberían ser una preocupación aquí, digamos que está fuera de toda duda).

Para hacer uso de los datos, el usuario envía los datos cifrados al servidor, que los descifra con la clave privada.

Hasta ahora, bien, pero aquí está mi pregunta: necesito garantizar la integridad de los datos (es decir, asegurarme de que el usuario no se haya enfurecido con los datos).

¿Cuáles son mis opciones para garantizar la integridad?

Restricción: idealmente, no tendría que almacenar ningún derivado de los datos cifrados en el servidor, ni siquiera su hash HMAC.

    
pregunta robert 23.08.2015 - 13:34
fuente

1 respuesta

3

Puede adjuntar tanto el destinatario deseado como una marca de tiempo o un contador (ver el comentario de Ángel) y el hash a los datos originales, y luego cifrarlos. Tras el descifrado, puede comparar el origen y el destinatario original, así como el hash.

Esto no evitará que otras partes manipulen el blob encriptado antes de que llegue a su servidor, pero le permitirá verificarlo cuando llegue a su servidor.

    
respondido por el Sinan Ünür 23.08.2015 - 13:43
fuente

Lea otras preguntas en las etiquetas