¿Qué tan seguro es cifrar y descifrar cadenas con OpenSSL? [cerrado]

0

Me pregunto qué tan seguro es cifrar y descifrar cadenas usando OpenSSL usando Sales y un Vector de Inicialización. Si tanto el vector salt como el vector de inicialización se almacenarán en una base de datos junto con la cadena cifrada, ¿no puede un posible atacante tomar la cadena cifrada, salt e IV y descifrar la cadena? Si esto es posible, ¿cómo se haría más seguro para que esto no sea posible? El principal caso de uso para esto es poder cifrar & descifrar los datos del usuario para mostrarlos al usuario.

    
pregunta Oliver Leach 02.08.2017 - 21:49
fuente

2 respuestas

1

Creo que estás mezclando varias cosas juntas aquí:

  • OpenSSL es una biblioteca que tiene implementaciones para una variedad de algoritmos criptográficos, tanto para algoritmos fuertes como débiles. Por lo tanto, la seguridad primero depende del algoritmo que utilice.
  • Está intentando usar un cifrado simétrico donde se necesita la misma clave para el cifrado y el descifrado. Por supuesto, esta llave debe estar protegida contra un adversario. Pero cómo esto se hace no es parte del algoritmo de cifrado y tampoco es parte de OpenSSL.
  • Para el cifrado, necesita una clave, no una sal. En su lugar, la sal se utiliza en el contexto de hashing de contraseña. Además, el IV no es necesario para descifrar el texto cifrado, por lo que no es necesario almacenarlo explícitamente.

Por supuesto, almacenar la clave de descifrado junto con los datos cifrados no tiene sentido porque si un atacante tiene acceso a ambos, simplemente puede descifrar los datos.
Pero, la forma en que esta clave secreta debe protegerse completamente depende de su caso de uso desconocido, del valor de los datos y de las capacidades asumidas del adversario.

    
respondido por el Steffen Ullrich 02.08.2017 - 21:58
fuente
0

Las sales son para contraseñas de hash, no para cifrado. Para cifrar o descifrar utilizando la mayoría de los modos de cifrado, necesita la clave y la IV.

Creo que debería proporcionar más información sobre lo que está intentando lograr, si está intentando almacenar contraseñas que leería a través de this answer.

    
respondido por el AndrolGenhald 02.08.2017 - 22:03
fuente

Lea otras preguntas en las etiquetas