Si mi clave privada está protegida por contraseña, ¿cómo se usa sin preguntarme?

4

En relación con TLS y SSH. Si mi clave privada está protegida por contraseña / frase de contraseña, ¿cómo se utiliza esto automáticamente durante la comunicación TLS o SSH sin pedirme la contraseña?

    
pregunta Engineer999 17.12.2018 - 21:07
fuente

1 respuesta

4

Para SSL / TLS, normalmente no tiene ni utiliza una clave privada, a menos que sea el servidor. Si usted es el servidor, o está utilizando certificados de cliente (autenticación mutua TLS), la clave privada deberá desbloquearse (si está protegida por contraseña) antes de usarla. Los detalles son específicos de la implementación.

  • Un navegador web como Firefox podría pedirle la contraseña de una clave una vez y luego guardarla en caché hasta que se cierre el navegador.
  • Los navegadores o servidores (como IE / Edge / Chrome o IIS) que usan el almacén de claves de Windows obtendrán una solicitud de contraseña cuando se use la clave, o solo necesitarán la contraseña cuando la clave se agregó al almacén de claves y luego lo habrá cifrado con una clave protegida por sus credenciales de inicio de sesión de Windows, de modo que no necesite volver a ingresar la contraseña, pero nadie que no sepa su contraseña de Windows podrá usar la clave.
  • Las Mac pueden almacenar claves en el Llavero, que funciona de manera similar al almacén de claves de Windows y es utilizado por Safari y Chrome.
  • El software que no use la administración de claves provista por la plataforma o que solicite al usuario una contraseña deberá tener la contraseña suministrada en la línea de comandos cuando se inicie el programa, almacenado en algún lugar (preferiblemente en una variable de entorno o un archivo, pero algunos la gente insiste en codificarlo en la fuente). Esto es muy común para las aplicaciones de servidor que necesitan acceder, por ejemplo. un almacén de claves Java y sus claves privadas, y sí, es un riesgo de seguridad si un atacante obtiene la capacidad de leer archivos locales.

Para SSH, el enfoque más común es el ssh-agent programa (incluido con openssh, o puede usar uno alternativo). ssh-agent necesita la contraseña de su clave cuando se inicia, pero luego retiene la clave desbloqueada hasta que el programa se cierra. ssh-agent en realidad no revela la clave a nadie; en su lugar, actúa como un servicio que firmará datos con esa clave. El punto final de IPC del programa solo es accesible a través de los programas que se ejecutan como el mismo usuario (o con privilegios de superusuario), por lo que mientras que el software no confiable que se ejecuta en su cuenta podría usar efectivamente la clave de SSH en cualquier máquina, una vez que haya alcanzado el punto software malintencionado en su sesión de usuario ya está en un gran problema.

    
respondido por el CBHacking 17.12.2018 - 21:32
fuente

Lea otras preguntas en las etiquetas