Pregunta

Esta es solo una pregunta general sobre el debate entre certificados autofirmados y certificados de CA ...

Entiendo los beneficios de un certificado de CA debido a las advertencias evitadas generadas en la mayoría de los navegadores, pero ¿cómo beneficia un certificado de CA de seguridad real? Comúnmente escucho que la mayor amenaza son los ataques de hombre en el medio, y aunque entiendo esta amenaza usando un certificado autofirmado, no entiendo cómo un certificado de CA impide esto. Sé que CAS realiza sus propios algoritmos de seguridad, ¿no podrían usarse los mismos algoritmos en certificados autofirmados?

Supongo que solo estoy un poco irritado por la gran empresa que gira en torno a la necesidad de certificados de CA, pero parece que no puedo encontrar nada diferente en ellos, de lo contrario, estas supuestas controles de seguridad adicionales que realizan. ¿Hay algo que una CA pueda proporcionar desde un punto de vista de seguridad que los certificados autofirmados no pueden?

¿Fue útil?

Solución

Paro. Si la otra parte finge un certificado autofirmado, no tiene forma de verificar esto. Para verificar que haya recibido el certificado válido y no uno forjado, necesita una verificación de terceros que no se pueda falsificar fácilmente. Esto se hace llevando la lista de certificados de CA root (y algunos certificados intermedios) con su software del lado del cliente (Windows incluye dichos certificados para usted y los principales navegadores hacen lo mismo) y verificar el certificado que recibe del servidor utilizando esos certificados CA . Con certificados autofirmados, dicha verificación no es posible.

Por supuesto, puede llevar el certificado autofirmado con su aplicación de cliente (y esto es lo que hacen algunos desarrolladores, especialmente para las aplicaciones internas) pero esto no funciona con los navegadores.

Otros consejos

La diferencia no está en el algoritmo, es en si las personas confían en la autoridad de certificado o no.

El punto de un certificado es verificar que está haciendo la conexión con quien sea que tenga la intención de hacer la conexión.

Si te digo "Soy el servidor correcto, confía en mí en esto", puedes elegir no creerme (después de todo, no me conoces).

Si te digo "Soy el servidor correcto y tengo un certificado para probarlo", podría decir "OK, ¿y quién te dio este certificado?" Si mi respuesta es "Joe de la vuelta de la esquina", aún puede elegir no creerme.

Pero si digo "tengo un certificado, y puede confirmarlo con un tercero en el que confíe", puede decidir que esta es una buena prueba de identidad.

Cómo confirma que es de qué se trata el estándar (por ejemplo, como se describe en RFC 5280). Pero eso es solo tecnicismos. Puede usar exactamente el mismo algoritmo para un certificado que se originó en VeriSign y para un certificado que genere usted mismo.

La verdadera pregunta es sobre la confianza: ¿confía en quien le esté dando la "prueba de identidad"? Confiamos en VeriSign lo suficiente como para permitir que cualquier prueba de identidad sea aceptada por cada navegador. ¿Deberíamos confiar en las personas que generan sus propios certificados autofirmados? Podríamos hacerlo en algunos casos (en cuyo caso puede instalar sus certificados en su navegador manualmente), pero no como regla general.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top