Dónde almacenar IV y sal cuando se realiza el cifrado del lado del cliente sin servidor

3

Estoy creando una aplicación de Chrome que realiza el cifrado del lado del cliente de los mensajes de usuario. No hay servidor en mi arquitectura. Los mensajes de texto cifrados se guardan como archivos en el Google Drive del usuario. Estoy usando la biblioteca de forja javascript para cifrar los mensajes. Quiero que la contraseña del usuario se use para cifrar y descifrar, sin guardarla en ningún lugar.

Actualmente tengo la sal y IV codificados en el código javascript. Pero eso significa que está disponible para cualquier persona que instale la aplicación Chrome. ¿Es mejor generar un IV y sal al azar para cada mensaje y guardarlo en el Google Drive del usuario junto con los mensajes cifrados? ¿O es lo suficientemente bueno como para tenerlo codificado como js global? ¿Hay una forma más segura de hacer esto?

    
pregunta syonip 01.01.2016 - 01:31
fuente

1 respuesta

2

En todos los protocolos que he visto, el IV y / o la sal no se consideran secretos, y se almacenan con el texto cifrado. Sin embargo, generalmente es importante usar un IV / salt único para cada mensaje. (A menudo no es necesario que sean impredecibles, solo que no se reutilicen). Sin embargo, los requisitos de cada modo pueden ser un poco diferentes.

    
respondido por el Wim Lewis 01.01.2016 - 09:37
fuente

Lea otras preguntas en las etiquetas