¿Por qué no se confía en los certificados autofirmados y hay una manera de hacerlos confiables?

30

He hecho un certificado de CA raíz localmente. Utilicé el certificado CA para firmar el certificado IA y utilicé el certificado IA para firmar el certificado del servidor. Cuando intento acceder al servidor local que usa el certificado del servidor, me da una advertencia de riesgo de seguridad. ¿Hay alguna forma de evitar que dé la advertencia?

Básicamente, todo lo que quiero saber es si es posible que el certificado autofirmado sea confiable.

    
pregunta Praz 04.02.2016 - 13:46
fuente

8 respuestas

47

Debe importar el certificado raíz en el almacén de confianza para el navegador. Una vez que el navegador sepa que confía en este certificado raíz, todos los certificados firmados por este aparecerán como confiables.

Tenga en cuenta que esto solo hará que la conexión sea confiable para usted, cualquier otra persona que no tenga el certificado raíz instalado seguirá recibiendo un error.

    
respondido por el BadSkillz 04.02.2016 - 13:51
fuente
37

Los certificados autofirmados no son de confianza inherentes en su navegador porque un certificado en sí mismo no forma confianza, la confianza proviene de ser firmado por una Autoridad de Certificación en la que TODOS confían. Su navegador simplemente no confía en su certificado autofirmado como si fuera un certificado raíz. Para hacer que su navegador acepte su certificado, acceda a las configuraciones de su navegador y agregue el certificado como certificado raíz.

La mejor manera de obtener un certificado autofirmado es pasar por una Ceremonia de claves , que es básicamente una gran evento público donde todos los criptógrafos y expertos en seguridad se reúnen para presenciar cómo una CA raíz genera su par de claves y se declara una CA raíz. Todo está grabado: video, quiénes son todos y lo que hacen los abogados. La clave privada se divide en muchas partes diferentes y se almacena por separado en cajas fuertes, por lo general, después de firmar un único certificado que se utiliza como intermediario para firmar otros certificados. Puede leer sobre el procedimiento típico si lo desea. Por supuesto, necesita tener seguridad de vanguardia, tanto tecnológica como física, para hacer esto y que cualquiera quiera usar o confiar en su CA raíz. Después de hacer esto, sus certificados pueden incluirse en las distribuciones del navegador y el público en general puede utilizarlos para crear cadenas de certificados de confianza.

    
respondido por el Seth M. Larson 04.02.2016 - 13:52
fuente
13

En realidad, los certificados autofirmados pueden ser seguros, pero no bajo el modelo que estamos usando ahora.

Bajo el modelo de CA (autoridad de certificación) de amplia distribución que todos usa actualmente, el propósito del certificado firmado por una CA de confianza es proporcionar autenticación.

Cuando obtenemos un certificado, todo lo que realmente vemos es 1 y 0 que vienen del conector en la pared; no tenemos idea de donde vinieron esos 1 y 0 Sin embargo, debido a que el certificado está firmado por una CA, algo que nadie en el mundo puede hacer, y porque confiamos en que la CA verifique la identidad del propietario del certificado, confiamos en que el certificado proviene de quien afirma.

Por supuesto, si la CA está comprometida o no verifica correctamente al propietario , todas las apuestas están desactivadas.

Sin embargo, hay otro modelo, bajo el cual los certificados autofirmados do proporcionan autenticidad. Se llama el modelo de notario .

Esencialmente, en lugar de confiar en una única CA, distribuimos la confianza a cualquier número de notarios . Estos notarios recorren Internet en busca de certificados, manteniendo un caché de todos los certificados que han visto. Cuando visita un sitio por primera vez y obtiene el certificado, le pregunta a un número de notarios distribuidos globalmente cuál fue el último certificado que vieron. Si no están de acuerdo con lo que estás viendo, podrías ser parte de un ataque de hombre en el medio.

Bajo este modelo, los certificados autofirmados son perfectamente seguros, siempre y cuando asumamos que el servidor no se comprometa inmediatamente antes de que un notario pueda ver su certificado.

El modelo de notario todavía está en su infancia, y es dudoso que alguna vez se haga cargo del modelo de CA (en realidad, no tiene que hacerlo, se pueden usar en tándem) . El proyecto más prometedor hasta ahora es Convergence.io , que tiene un complemento para Firefox.

    
respondido por el BlueRaja - Danny Pflughoeft 04.02.2016 - 18:41
fuente
7

Respuesta más corta.

Aquí hay muchas respuestas, pero ninguna parece ir directamente al grano: sin un tercero neutral y reconocido, como una autoridad de certificación, que verifique la propiedad del certificado, un certificado no tiene sentido.

Respuesta más larga.

Para comprender mejor, al hacer algo como crear una conexión HTTPS, tiene la siguiente cadena:

  • Un navegador web del cliente que realiza la solicitud al servidor.
  • El servidor web remoto envía datos al cliente.
  • Y un certificado HTTPS autorizado por una tercera parte neutral que garantiza que el servidor es quien es y el cifrado es válido por eso.

Un certificado autofirmado es intrínsecamente no confiable porque cualquiera puede generar un certificado autofirmado . Cualquiera que incluya una entidad que finge deliberadamente como algo / alguien que no es. Con un certificado autofirmado, simplemente no hay un tercero de confianza que tenga los procedimientos humanos básicos establecidos para simplemente afirmar: "Bueno, este dominio tiene un certificado que les emitimos y, por lo tanto, puede confiar en ellos. Decimos que, de hecho, son el dominio que pretenden ser y no un impostor ".

Y dado que cualquier persona en el mundo puede crear un certificado autofirmado por su cuenta, su uso tiene problemas de confianza inherentes. Lo que hace que un certificado sea válido tiene muy poco que ver con la tecnología profunda o las técnicas de encriptación , pero lo que lo hace válido es un proceso centrado alrededor de un neutral — y reconocido — tercero que valida un los procedimientos de uso y los fabricantes de navegadores se adhieren al respeto de dichos procedimientos.

Al final del día, un par de claves de cifrado es un montón de bits y bytes sin ningún significado sin la aplicación de los procesos y procedimientos que los rodean.

    
respondido por el JakeGould 05.02.2016 - 06:25
fuente
4

No se puede confiar en los certificados autofirmados porque cualquiera puede crear uno.

Un atacante que realice un ataque MITM podría reemplazar fácilmente cualquier certificado por uno autofirmado y suplantar cualquier sitio web que esté navegando, incluso si está usando HTTPS.

Es por eso que estamos usando Autoridades de certificación confiables para garantizar que los certificados no puedan falsificarse.

    
respondido por el Benoit Esnard 05.02.2016 - 14:54
fuente
3

Todos necesitamos un poco de contexto.

Hay una diferencia entre "no confiable" y seguro.

Y "De confianza" no implica necesariamente Seguro (o Auténtico)

Un certificado autofirmado en una red aislada con un solo servidor y un cliente es probablemente más seguro que cualquier certificado "confiable".

Y "de confianza" implica SOLAMENTE que se ha agregado un Certificado de Autoridad de Certificación al "Almacén de Certificados de Confianza" para el cliente. Si el Certificado de la Autoridad de certificación se agregó durante una sesión de "phishing", entonces no hay nada seguro sobre el certificado.

No soy un fanático de que a menudo hay cientos de Autoridades de Certificación "Confiables" colocadas en el cliente por "otros", pero tampoco conozco un mejor enfoque.

Ciertamente, las Autoridades de Certificación deben realizar un mejor proceso de "investigación" (en general) de lo que están haciendo ahora antes de emitir un Certificado.

    
respondido por el jwilleke 05.02.2016 - 16:12
fuente
2

Cualquier aplicación debe recibir la lista de "certificados raíz" para que sea confiable.

En el caso de un navegador, existe una lista definida que viene predeterminada con cualquier navegador, pero esta lista no contiene su certificado.

Imagine que no necesita dar la lista de certificados en los que confía, entonces cualquiera podría configurar un sitio web https que un navegador en el mundo aceptaría sin avisar del riesgo de seguridad.

Por otro lado, funcionaría fuera de la caja si su certificado de CA está firmado por uno de los certificados de confianza predeterminados ... pero tiene que pagar.

Hay suficientes respuestas sobre cómo agregar un certificado de CA a la lista de confianza, así que me saltaré esta parte.

    
respondido por el Gryzorz 04.02.2016 - 15:22
fuente
0

Si desea hacerlo para navegadores, aquí están los pasos:

Para Chrome 58+:  - Configuraciones - > Mostrar configuración avanzada - > Gestionar certificados - > Importar - > navegar - > elija Trusted Root Certification Authorities - > haga clic en Sí en la ventana emergente.

    
respondido por el Dio Phung 28.06.2017 - 09:24
fuente

Lea otras preguntas en las etiquetas