Es un hash HMAC de datos de texto simple lo suficientemente seguro como para usarlo como un índice de búsqueda para datos cifrados

0

Estoy trabajando en una aplicación que descargará archivos de servidores externos a través de https y los almacenará en el disco de forma relativamente segura. Específicamente, utilizando un IV criptográficamente único, un bloque de cifrado AES256, el modo de bloque CTR y un hash HMAC de los datos cifrados y IV.

Uno de los requisitos de este proyecto es que no se deben almacenar archivos duplicados. Dada la necesidad de un IV único para almacenar de forma segura los archivos, no puedo simplemente usar un hash del archivo cifrado para ver si la descarga es un duplicado. Un sha256 o sha512 del contenido de texto sin formato tampoco es suficiente porque el cliente puede descargar y almacenar archivos de un solo carácter, lo que hace que su contenido sea fácil de adivinar, lo que potencialmente abre el sistema a vectores de ataque de texto sin formato conocidos.

¿Entonces me preguntaba si se consideraría razonablemente seguro almacenar los hashes HMAC del texto sin formato, usando una clave derivada de Argon2ID como la clave de firma de HMAC?

Estos hashes se almacenarán en una base de datos de clave / valor, y se utilizarán como clave de búsqueda para ver si un archivo descargado es uno que ya tenemos. La clave Argon2ID nunca se almacenará.

    
pregunta Raz Varren 16.06.2018 - 20:44
fuente

1 respuesta

1

Sí. Puedes hacerlo. Es seguro Una aplicación es el cifrado SSN. Si simplemente hash un ssn, es trivial recorrer todo el ssn, hash todos ellos y crear un mapa. Pero si usa hmac con un secreto bien protegido, puede hmac (secreto, consulta) y usarlo para buscar datos.

Necesitas proteger el secreto.

    
respondido por el Jonathan 16.06.2018 - 23:39
fuente

Lea otras preguntas en las etiquetas