es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Arquitectura de conocimiento cero.

Me gustaría encriptar algunos datos de usuario con la arquitectura de cero conocimiento. Hago referencia a la implementación de Bitwarden y no comprendo algunas partes.

En primer lugar, me gustaría utilizar argon2 para derivar la clave en lugar de pbkdf2, ya que parece más seguro debido a que resiste los ataques de fuerza bruta paralela.

En segundo lugar, ¿cuál es el propósito de HKDF para estirar la clave maestra (256 bits) a 512 bits? ¿Por qué no se puede usar directamente la clave maestra para encriptar la clave simétrica generada?

En tercer lugar, ¿puedo usar la clave maestra para encriptar directamente los datos de usuario en lugar de generar una nueva clave simétrica y usarla para encriptar los datos de usuario?

En cuarto lugar, ¿por qué se crea el hash de la contraseña maestra con sólo 1 iteración en lugar de 100.000?

Imagen de referencia de Bitwarden: https://i.stack.imgur.com/dY1ee.jpg

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Respuestas

    1. Utilizar argon2 para derivar la clave para cifrar los datos de usuario en una arquitectura de conocimiento cero es una buena elección ya que proporciona una mejor seguridad contra ataques de fuerza bruta en paralelo en comparación con pbkdf2.

    2. El propósito de HKDF es mejorar aún más la entropía de la clave maestra para una mejor seguridad. Si utilizamos la clave maestra directamente para cifrar la clave simétrica, un atacante que logre obtener la clave maestra puede descifrar fácilmente los datos del usuario. Estirar la clave utilizando HKDF asegura que incluso si la clave maestra está comprometida, el atacante no puede descifrar fácilmente los datos.

    3. No se recomienda utilizar la clave maestra para cifrar directamente los datos de usuario, ya que puede comprometer la seguridad del sistema. En su lugar, debe generarse una nueva clave simétrica para cada pieza de datos de usuario y usarse para cifrarla. Esto proporciona una mejor seguridad, ya que incluso si una clave es comprometida, el atacante no puede acceder a todos los datos de usuario.

    4. El número de iteraciones para el hash de la contraseña maestra depende del equilibrio entre seguridad y rendimiento. Si bien aumentar el número de iteraciones puede mejorar la seguridad, también aumenta el tiempo requerido para el hash. Debe alcanzarse un equilibrio entre ambos. Una iteración puede ser suficiente para algunos casos de uso mientras que pueden requerirse 100,000 para otros. Bitwarden probablemente determinó que una iteración es suficiente para su caso de uso.

Comments are closed.