Saltar al contenido

Javascript – Cifrado del lado del cliente / key almacenamiento

El tutorial o código que hallarás en este artículo es la solución más sencilla y válida que encontramos a esta inquietud o dilema.

Solución:

(Para ser claros: esto solo protege a los usuarios en situaciones en las que el atacante solo obtiene acceso de solo lectura y protege a los usuarios que no han usado el sitio desde que un atacante reemplazó el javascript con una versión maliciosa. No protege a los usuarios de que usted sea malicioso desde el principio a menos que el usuario verifique / registre minuciosamente todos los javascript que su sitio les entrega. Si esa última parte es importante para usted, podría haber una manera de usar ServiceWorkers para alertar a los usuarios cada vez que se ejecute una nueva versión del javascript de su sitio, etc. , pero eso es para otra pregunta).

Puede almacenar cifrado keys localmente en el cliente con localStorage o IndexedDB. el cifrado keys podrían ser cadenas que usa su cliente javascript.

En navegadores compatibles, para una mayor seguridad, puede usar Web Crypto API (+ IndexedDB) en su lugar. Con Web Crypto API, puede generar keys en javascript y usarlos para cifrar/descifrar, pero el código de javascript no puede acceder al código sin procesar key materiales pase lo que pase. Eso significa que incluso si un atacante obtiene acceso a su servidor un día y reemplaza el javascript con una versión maliciosa, no puede reemplazarlo con una versión que filtra los datos de los usuarios. keys. (Sin embargo, podrían reemplazarlo con una versión que haga que los clientes descarguen sus archivos, los descifren y los vuelvan a cargar al servidor en segundo plano la próxima vez que visiten el sitio. Esto llevaría tiempo y podría ser perceptible para los usuarios. y/o usted, por lo que podría darle tiempo suficiente para solucionar el problema antes de que se filtren todos los datos del usuario).

Si utiliza el cifrado asimétrico de openpgp.js, el privado key se almacena cifrado de forma predeterminada y luego se descifra brevemente para descifrar o firmar un mensaje con la frase de contraseña de los usuarios.

Nunca se almacena sin cifrar y depende de que el usuario recuerde la frase de contraseña que utilizó para crear el key par.

En este caso, incluso si el pirata informático encontró el privado keys son inútiles sin la frase de contraseña.

¡La desventaja es que tenemos que entrenar al usuario para que almacene de forma segura su frase de contraseña en algún lugar!

Puedes animar nuestro análisis mostrando un comentario o dejando una valoración te damos la bienvenida.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *