¿Dónde se almacenan las claves privadas? [cerrado]

2

Puede sonar como una pregunta tonta, pero ¿dónde se almacenan las claves privadas como parte del cifrado asimétrico?

Por ejemplo, digamos que tengo un servidor web e instalo un certificado SSL de terceros de un tercero. Cuando se instala, el certificado se presenta a los usuarios finales para verificar la identidad del servidor web y la clave pública dentro del certificado se utiliza para cifrar los datos como parte de SSL. ¿Dónde guarda normalmente el servidor web la clave privada correspondiente para descifrar los datos y cómo se mantiene seguro? ¿Estarían en "tiendas clave"?

    
pregunta deltzy 04.06.2018 - 18:00
fuente

3 respuestas

2

Además de las otras respuestas, que cubren el almacenamiento de la clave privada dentro del servidor; También debe tener en cuenta que las claves privadas se pueden almacenar fuera de su servidor en un dispositivo especializado llamado Módulo de seguridad de hardware (HSM). Este suele ser el caso en entornos de alta seguridad donde el costo de una brecha supera con creces el costo relativamente alto del HSM.

La clave privada se almacena en el HSM y nunca deja el dispositivo sin cifrar. Cualquier actividad criptográfica que implique la clave privada se lleva a cabo internamente dentro del dispositivo. Los HSM se comunican con los servidores utilizando protocolos compatibles con los estándares o, con los controladores instalados en los servidores, utilizando protocolos específicos del proveedor.

Para maximizar el ROI, muchos HSM se pueden comprar como dispositivos habilitados para la red; que puede compartirse entre muchos servidores y, por lo tanto, distribuir el costo.

Si no está habilitado para la red, la mayoría se conecta a un solo servidor a través de USB; o internamente como una tarjeta PCI.

    
respondido por el garethTheRed 04.06.2018 - 22:36
fuente
2

Depende del servidor web y del sistema operativo, por ejemplo:

  1. El servidor web Apache en Linux los almacenaría en archivos planos en un directorio dedicado, que depende de la distribución, por ejemplo. / etc / apache2 / ssl. Puede elegir una ruta personalizada en su definición de host virtual, por lo que la ruta / ubicación es más una convención que un estándar o un requisito.

  2. Apache Tomcat, por ejemplo, utiliza un almacén de claves, que se cifra mediante una clave simétrica, y generalmente el archivo de configuración SSL / TLS específico contendrá la contraseña del almacén de claves.

  3. IIS en Windows puede usar una variedad de almacenes de certificados, la mayoría de los cuales se encuentran físicamente en el registro de Windows.

Como puede ver, la implementación varía de una plataforma a otra, desde archivos sin formato, a través de un archivo de base de datos cifrado, hasta un almacén de certificados especializado administrado / proporcionado por el sistema operativo.

Espero que esto ayude.

    
respondido por el Milen 04.06.2018 - 19:06
fuente
1

Como se mencionó en @ Crypt32, su pregunta es demasiado amplia ya que no especifica una aplicación o sistema.

En general, las claves privadas son muy sensibles y deben almacenarse de forma segura. Cualquier persona con una copia de su clave privada podría hacerse pasar por usted con éxito. Eso significa que debe bloquear cuidadosamente todo acceso al archivo. El archivo de la clave privada debe estar cifrado, con la clave de descifrado separada del archivo cifrado, y el almacenamiento de la clave de descifrado también debe estar protegido.

Si está tratando con Apache, Tomcat u otra aplicación java, es bastante común almacenar la clave privada en un Java Key Store cifrado. Otras alternativas incluyen un archivo PKCS # 12, que es un formato de contenedor más estandarizado (menos específico para cada idioma) que JKS. Otros servidores y sistemas tendrán diferentes necesidades. Por ejemplo, en Windows, las claves privadas pueden almacenarse en el Almacén de certificados.

    
respondido por el John Deters 04.06.2018 - 19:10
fuente

Lea otras preguntas en las etiquetas