Búsqueda en datos encriptados de múltiples usuarios

3

Quiero implementar una búsqueda sobre datos encriptados. Encontré un blogpost , que explica 3 métodos . Un método es usar el cifrado determinista, que estoy tratando de implementar. Pero mi caso de uso es un poco diferente.

Mi aplicación proporciona codificación de extremo a extremo, de modo que yo (como proveedor de servicios) no puedo leer los datos del usuario. Los datos están encriptados en el cliente del usuario. Ahora quiero buscar a través de datos de diferentes usuarios. La función de búsqueda y los resultados no son públicos, solo se utilizarán internamente para calcular algunos metadatos, que se envían al propietario de los datos. No necesito saber los datos sin cifrar, solo su relación. Los datos no son lenguaje natural, por lo que el análisis de frecuencia o los ataques de diccionario no deberían ser un problema, por ejemplo, nombres de personas y direcciones de correo electrónico.

Para hacer que el cifrado sea determinista, tengo que usar la misma sal para cada información y es conocida por todos. (Por ejemplo, usaría la función hashpw de bcrypt siempre con la sal "staticsalt".)

  • ¿Es esto todavía lo suficientemente seguro o utiliza el mismo contenido salino para todos, por lo que es inútil?
  • Si es inútil, ¿cómo debo implementar una búsqueda a través de datos encriptados de múltiples usuarios? Los otros dos métodos de búsqueda en el blogpost no parecen proporcionar funcionalidad multiusuario.
pregunta Marvin 13.05.2014 - 08:36
fuente

1 respuesta

1

Lo que estás buscando hacer no se puede asegurar. Independientemente de la implementación, si es posible buscar de manera eficiente en múltiples usuarios, entonces el esquema es necesariamente vulnerable a los ataques de diccionario. Tenga en cuenta que es muy probable que un atacante pueda obtener una gran lista de nombres y direcciones de correo electrónico. Lo mejor que realmente puede esperar es ofuscar levemente los datos para que nada se pueda aprender de una mirada casual.

    
respondido por el jbms 27.05.2014 - 20:06
fuente

Lea otras preguntas en las etiquetas