certificado autofirmado: cómo funciona

4

Soy nuevo en SSL / certificados / firmas digitales.
Lo que sé es que una firma digital se debe verificar / descifrar con la clave pública.

Por lo tanto, un certificado firmado por una CA se debe verificar / descifrar usando la clave pública de la CA que se instala en la mayoría de los navegadores.

  1. ¿Pero qué tal un certificado autofirmado? ¿Cómo obtiene un cliente la clave pública para verificar / descifrar el certificado autofirmado?

    ¿Es este el escenario en el que el navegador le pedirá que el certificado sea de una fuente no confiable y requiera que el cliente confíe en él?

    Al confiar, ¿significa que la firma digital del certificado ya no se verifica? ¿Y que el certificado se utiliza directamente?

  1. enlace

    En el enlace anterior, ¿es "clave de servidor" una clave privada o pública? Parece que la "clave del servidor" se usa a lo largo de la generación del certificado.

    Pensé que una "clave pública" se almacenará en el certificado y que el certificado estará firmado por una clave privada.

pregunta Noob 19.01.2016 - 13:15
fuente

3 respuestas

2

Para entender el certificado autofirmado, primero debemos entender el rol de la Autoridad de Certificación (CA). Voy a explicar las cosas en el contexto de los servidores web. y los navegadores.

La función de la Autoridad de certificación (CA) en HTTPS:

HTTPS emplea criptografía de clave pública que utiliza un par de claves para cifrar y descifrar contenido. El par de claves consta de una clave pública y una privada que están matemáticamente relacionadas. Un servidor web que pretende comunicarse de forma segura con los navegadores puede distribuir la clave pública, pero debe mantener la clave privada en secreto.

Ahora el problema es que los navegadores no pueden saber con certeza que la clave que un servidor web utilizó para el cifrado realmente pertenecía al servidor web. Es posible que otra parte que supervisa el canal de comunicación entre el servidor web y el navegador haya sustituido una clave diferente. El concepto de Autoridad de certificación (CA) ha evolucionado para ayudar a solucionar este problema. La Autoridad de certificados (CA) es un tercero de confianza que establece la integridad y la propiedad de una clave pública. CA lo hace firmando el certificado (la clave pública del servidor web) utilizando su clave privada. Los navegadores han incorporado claves públicas de CA conocidas y las utilizan para verificar los certificados.

Certificado autofirmado:

En el caso de un certificado autofirmado, el servidor web firma su propio certificado en lugar de que lo firme un tercero CA. En otras palabras, el servidor web en sí mismo funciona como una CA para sí mismo. OpenSSL se puede utilizar para generar un certificado autofirmado.

En el caso de certificados autofirmados, los navegadores (por ejemplo, Chrome) no podrían verificar el certificado, por lo que se quejarán. Para resolver el problema, puede instalar el certificado de la CA autofirmada en los navegadores.

Referencias:

Wikipedia

MSDN de Microsoft

    
respondido por el Razan Paul 18.01.2017 - 04:16
fuente
2

1)

  • Un certificado autofirmado utiliza su clave para firmarse; No hay CA involucrada, no hay nada que verificar. El certificado básicamente verificará que coincide con la clave pero nada más, por lo que no tiene un propósito de verificación real.

  • Su navegador mostrará una advertencia de certificado autofirmado, lo que significa que la clave no está certificada por nadie. Esto es diferente de las claves que están certificadas por una CA con las que el cliente no está familiarizado (CA no confiable), donde el cliente tiene la opción de confiar en la CA desconocida manualmente .

2)

Aquí no trabaja con claves públicas y privadas, solo con una clave y su certificado, que es una firma y metadatos para la clave. La clave en cuestión es su clave privada: manténgala privada.

Usted proporciona el secreto generado de su clave privada al usuario junto con el certificado (firma y metadatos de una autoridad de certificación), donde el certificado debe coincidir con el secreto generado por su clave e informar al cliente sobre el nombre de la clave, propietario , validez y otros metadatos.

Sin embargo, cualquier persona podría haber creado el certificado (solo se requiere que coincida con la clave), por lo que el cliente solo confía en el certificado si está firmado por un certificado maestro (que certifica que el certificado es autoritario), o por una cadena de certificados, donde el cliente debe confiar en el principal firmante, y todas las firmas a lo largo de la cadena de firmas deben ser válidas.

Los principales certificados pueden estar integrados en su cliente (ya sea el navegador o generalmente la base de datos de certificados de seguridad de confianza) o pueden ser importados y aceptados por el usuario. Un certificado superior (CA) hecho en casa pero de confianza puede firmar claves que verificarían en cada cliente que confíe en ese CA hecho en casa, pero no en otros.

    
respondido por el grin 19.01.2016 - 13:50
fuente
1

P1 Para los sitios web públicos, el enfoque más seguro o la única forma segura es utilizar certificados de una CA de confianza. Sin embargo, en muchos casos podemos usar un certificado autofirmado para obtener conexiones "seguras" con un sitio web. Los navegadores no pueden confiar en SSC en absoluto, pero lanzan una advertencia aterradora para evitar que los usuarios conozcan un posible sitio no confiable y riesgoso.

P2 Una clave de servidor es privada, es la parte sensible del cifrado asíncrono, y se usa para firmar un certificado, o también parte pública del cifrado asíncrono. Ambos se almacenan en el sistema de archivos del servidor, pero solo la parte pública es conocida por el cliente / navegador para cifrar / descifrar datos.

Verifique Ivan Ristic OpenSSL Cook Book si quiere un depper. p>     

respondido por el jpdrummer 20.01.2016 - 06:40
fuente