¿Puedo agregar una contraseña a una clave privada existente?

54

Diga que anteriormente he creado una combinación de clave pública / privada y decidí en ese momento no proteger la clave privada con una contraseña. Si más tarde decido "reforzar" la seguridad y utilizar una clave privada protegida por contraseña, ¿necesitaré generar un nuevo par de claves privada / pública, o simplemente puedo agregar una contraseña a mi clave privada existente?

También es posible lo contrario, ¿puedo "eliminar" una contraseña de una clave privada existente?

    
pregunta IQAndreas 31.05.2014 - 22:18
fuente

2 respuestas

72

Por supuesto, puedes agregar / eliminar una frase de contraseña más adelante.

  • agrega uno (asumiendo que era una clave rsa , de lo contrario usa dsa )

    openssl rsa -aes256 -in your.key -out your.encrypted.key
    mv your.encrypted.key your.key
    chmod 600 your.key
    

    -aes256 le dice a openssl que encripte la clave con AES256.

    Como ArianFaurtosh ha señalado correctamente: para el algoritmo de cifrado puede usar aes128 , aes192 , aes256 , camellia128 , camellia192 , camellia256 , des (lo que definitivamente debe evitar ), des3 o idea

  • eliminarlo

    openssl rsa -in your.key -out your.open.key
    

    se le pedirá su contraseña por última vez
    al omitir -aes256 , le dice a openssl que no encripte la salida.

    mv your.open.key your.key
    chmod 600 your.key
    
respondido por el guntbert 01.06.2014 - 19:10
fuente
7

Cuando un privado está "protegido por una contraseña", simplemente significa que los bytes de la clave, tal como están almacenados en algún lugar, están cifrados con una clave simétrica derivada de la contraseña. Una clave privada se puede codificar fácilmente como una secuencia de bytes y se puede copiar, cifrar y descifrar como cualquier archivo. El punto importante aquí es que la contraseña tiene que ver con almacenamiento : cuando se va a utilizar la clave privada (por ejemplo, para firmar algo), primero se descifra en la RAM de una computadora, que luego continúa para utilizar la clave privada no cifrada. En consecuencia, no hay nada especial en un par de claves RSA que lo haría adecuado o inadecuado para la protección de contraseña. La protección de contraseña es realmente un problema ortogonal.

Por supuesto, si alguna vez se ha almacenado una clave privada en algún medio físico (por ejemplo, un disco duro) sin ninguna protección adicional, es posible que haya dejado rastros explotables allí. Los detalles dependen mucho de qué sistema se utiliza realmente para el almacenamiento de claves privadas. Por ejemplo, los sistemas de Windows usan DPAPI para almacenar las claves privadas del usuario, y DPAPI hace algunos esfuerzos adicionales para evitar que las claves almacenadas se filtren ( si estos esfuerzos tienen éxito aún no se ha comprobado).

    
respondido por el Thomas Pornin 31.05.2014 - 22:28
fuente

Lea otras preguntas en las etiquetas