¿Por qué necesito comprar un certificado SSL cuando puedo generar uno localmente?

57

Tengo problemas para entender por qué necesitamos comprar certificados SSL cuando podemos generarlos localmente usando openSSL. ¿Cuál es la diferencia entre el certificado que compro y el certificado de prueba que genero localmente? ¿Es solo una gran estafa?

SK '
fuente
17
En términos de la tríada de la CIA para la seguridad de la información, los certificados autofirmados proporcionan confidencialidad e integridad (es decir, permiten mensajes cifrados entre dos partes), pero solo los certificados firmados por una fuente confiable proporcionan autenticidad (es decir, la otra parte en su conversación cifrada es realmente quien crees que es).
apsillers
10
Con suerte, cuando DNSSEC entre en juego, las personas podrán crear su propio certificado y almacenarlo en un registro DNS. La cadena de confianza DNSSEC sería suficiente para demostrar que el certificado pertenece al propietario del dominio. (No creo que esta sea una especificación formalizada (todavía), pero sería bueno)
jackweirdy
2
Para uso interno, puede implementar el certificado como confiable utilizando la Política de grupo (en Windows).
Ben
44
A menudo me pregunto por qué la gente no acepta mi propio dinero impreso también;)
tgkprog
1
Nota: Existen proveedores de certificados básicos gratuitos . El 90% de las necesidades de las personas pueden ser satisfechas por estos. Y algunas CA tienen certificados de muy bajo costo, no hay razón para romper el banco sin importar lo que necesite. (menos una delegación, por supuesto)
Chris S

Respuestas:

72

Una palabra: confianza. El certificado SSL de un proveedor en el que confía su navegador significa que al menos han realizado una verificación básica para decir que usted es quien dice ser.

De lo contrario, podría hacer mis propios certificados para google.com o yourbank.com y pretender ser ellos.

Los certificados pagados no proporcionan ningún nivel adicional de cifrado sobre el autofirmado (generalmente). Pero un certificado autofirmado hará que el navegador arroje un error.

Sí, partes de SSL son una estafa (un certificado de Verisign versus un geotrust donde Verisign es hasta 100 veces más caro) pero no todo.

Si todo esto es interno, no hay necesidad de un certificado pagado, ya que puede emplear sus propios métodos de confianza (por ejemplo, no hacer nada, o tal vez solo verificar las huellas digitales).

Mark Henderson
fuente
8
Si se trata de todo lo interno, puede implementar su certificado como confiable utilizando la política de grupo.
Ben
2
Por otro lado, la firma del controlador es un poco una estafa. Por lo que es, sí, es una gran estafa, pero no tenemos otra opción. successfulsoftware.net/2008/02/27/…
Matt
2
@ Matt - He leído ese artículo antes; cuando estábamos buscando hacer firma de código en el trabajo. Decidimos simplemente firmar y aconsejar a las personas que verifiquen las firmas. Afortunadamente, tenemos usuarios de muy alta tecnología (principalmente).
Mark Henderson
Y los certificados autofirmados generan advertencias en todos los navegadores. Si bien los certificados de los proveedores pueden ser verificados por todos los principales navegadores porque tienen las claves públicas de esos proveedores incorporadas y pueden verificar sus certificados y confirmar que efectivamente fueron firmados por el proveedor.
Matt
23

El objetivo de un certificado SSL es que el navegador tenga un grado razonable de confianza en la clave pública del servidor para las transacciones HTTPS.

Primero, exploremos qué sucedería si no utilizáramos certificados. En cambio, el servidor enviaría la clave pública en texto sin formato y el navegador iniciaría la comunicación cifrada usándola (lo primero que haría sería encriptar su propia clave pública y enviarla de forma segura). ¿Qué pasa si yo y el atacante me metí en el medio? Podría reemplazar su clave pública sobre la marcha con la mía, tener una conexión cifrada con el navegador, descifrar todo lo que recibo, cifrarlo con su clave pública y enviarlo (y viceversa para el tráfico de tipo de respuesta). Ninguna de las partes notaría la diferencia, ya que nadie conocía las claves públicas de antemano.

Bien, hemos establecido que necesitamos alguna forma para que el navegador confíe en mi clave pública. Una forma de hacerlo sería almacenar todas las claves públicas registradas en el navegador. Por supuesto, esto requeriría una actualización cada vez que alguien registrara una clave pública, y esto llevaría a la hinchazón. También se pueden mantener las claves públicas en manos de los servidores DNS 1 , pero los servidores DNS también pueden ser falsificados y DNS no es un protocolo seguro.

Entonces, la única opción que queda es "encadenar" la confianza a través de un mecanismo de firma. El navegador almacena los detalles de algunas CA y su certificado se enviará junto con una cadena de otros certificados, cada uno firmando el siguiente y subiendo a la CA raíz / de confianza / incorporada. Es el trabajo de la CA asegurarse de que el dominio le pertenece antes de firmar un certificado por usted.

Como ser una CA es un negocio, cobran por esto. Algunos más que otros.


Si hiciera su propio certificado, obtendría un error similar a:

ingrese la descripción del enlace aquí

No hay valor para un certificado sin firmar. Es como tomar un lápiz y un folleto, un dibujo de un pasaporte que dice que eres Barack Obama. Nadie confiará en ello.

1. Después de todo, su entrada DNS se crea cuando registra un dominio. Usar un protocolo más robusto que le permita registrar simultáneamente claves públicas sería un concepto interesante.

Manishearth
fuente
También puede usar el engrapado DNSSEC para su certificado SSL, por lo que el certificado deriva (en última instancia) de ICANN como CA, en lugar de otra autoridad de certificación. Ninguno de los navegadores actuales lo admite, aunque Chrome solía hacerlo.
Richard Gadsden
Y hoy en día tiene DANE y sus registros DNS TLSA que le permiten limitar ciertos servicios a claves específicas o CA específicas.
Patrick Mevzek
5

La respuesta a su pregunta depende de su audiencia: dado que todo el sistema de certificados se basa en la "confianza", sus usuarios deben tener la disponibilidad para probar sus certificados o confiar en un tercero que haya realizado estas comprobaciones y muestre el éxito al firmar su certificado El término "para probar sus certificados" que utilicé es un poco inexacto: la versión larga debería ser: "para probar que usted es el propietario del certificado y está autorizado a usarlo".

Si todos sus usuarios lo conocen personalmente y tienen la capacidad técnica de probar que su certificado ha sido emitido por usted mismo, no hay necesidad técnica de usar un certificado de un proveedor "certificado". En este caso, el certificado autofirmado podría ser incluso mejor que uno de uno de sus proveedores.

Pero en la mayoría de los casos, no existe la posibilidad de que los usuarios realicen este proceso por sí mismos. Aquí, esos proveedores de SSL entran al mercado. Ofrecen el servicio para hacer estos controles y expresan el resultado de los controles firmando el certificado. Pero un hecho importante a tener en cuenta es: al firmar un certificado, un proveedor de SSL expresa que ha verificado la identidad del emisor del certificado de acuerdo con su propia política de firma. Por lo tanto, el usuario debe decidir si esta política es lo suficientemente precisa y si puede confiar en el proveedor.

mschenk74
fuente
4

El punto principal es que, si el certificado es autogenerado, los usuarios comunes no tienen forma de verificar su veracidad. Para un certificado comprado, suponen al menos verificar que lo que está impreso dentro del certificado es correcto. Idea: si coloca su teléfono y dirección en el certificado, la AC supone verificarlo, pero rara vez lo hacen.

Además, el certificado de compra es rastreable, lo que significa que el usuario siempre puede rastrear de dónde proviene el certificado, mientras que un certificado autofirmado es solo una identidad aleatoria.

Para muchos sistemas, en el pasado se requería la "firma de código" de una CA autorizada, que está impulsada por políticas, pero dado que los certificados autofirmados son tan numerosos, ya no se aplica al 100%.


fuente
4

No existe una diferencia técnica (las suyas no son menos seguras), solo una organización: el certificado de su CA no forma parte de la instalación estándar de los navegadores. Esto hace que sea incómodo para la mayoría de las personas conectarse a su certificado. Pero no tendría sentido comprar un certificado para una red interna.

Hauke ​​Laging
fuente
3

Todo se reduce a la confianza. Se supone que un proveedor SSL "certificado" tiene buena reputación (aunque esto puede ser manipulado) frente a un certificado autofirmado del servidor mismo.

Si su organización tiene su propia firma de certificado, entonces esto es perfectamente aceptable y no debería causar ninguna advertencia a los usuarios (siempre que estén usando su llavero cert como fuente confiable), pero aún creará una advertencia si intenta usarlo externamente.

En pocas palabras: para uso interno está bien, si se lo proporciona externamente a un cliente que paga, no tener advertencias es tranquilidad. ¿Te sentirías más seguro si tus transacciones financieras se realizan a través de una fuente acreditada, o algún tipo parado en la calle que realmente no conoces?

szukalski
fuente
3

Recientemente, LetsEncrypt ha anunciado la disponibilidad de sus herramientas de línea de comandos para generar certificados válidos.

Sin correos electrónicos de validación, sin edición de configuración complicada, sin certificados vencidos que rompan su sitio web. Y, por supuesto, porque Let's Encrypt proporciona certificados de forma gratuita, no es necesario organizar el pago.

Para aquellos que se preguntan si esos certificados son válidos en los principales navegadores, la respuesta es Sí:

El 19 de octubre de 2015, IdenTrust firmó de forma cruzada los certificados intermedios, lo que hizo que todos los principales navegadores confiaran en todos los certificados emitidos por Let's Encrypt. [20]

..... El 8 de marzo de 2016, Let's Encrypt emitió su millonésimo certificado después de siete meses de existencia. [39]

El 12 de abril de 2016, Let's Encrypt dejó Beta.

Enlace para administradores y desarrolladores del sistema: https://letsencrypt.org/getting-started/

En la era de la tecnología blockchain y la eliminación de los sistemas de confianza de terceros, ya era hora de que algunas autoridades elegidas comenzaran a cuestionarse la emisión de costosos certificados.

Aunque Letsencrypt no tiene nada que ver con la tecnología blockchain, es un comienzo en la dirección correcta. La necesidad de pagar una tarifa alta cada año a una Autoridad de Certificación costosa está llegando a su fin lógico.

Surfbuds
fuente
2

En pocas palabras, un certificado SSL autofirmado no significa nada. No tiene valor para el mundo externo. Es como decir "Soy dueño de España". Puede pensar honestamente que lo hace, pero nadie reconocerá su reclamo.

Una analogía similar sería inventar algo y luego reclamar que posee los derechos de la invención, pero a menos que haya registrado una patente en la oficina, será difícil aceptar su palabra, ¿verdad?


El objetivo de un certificado es que está firmado por una autoridad en la que las personas confían. Si algún sitio web tiene un certificado SSL válido, significa que el propietario se tomó la molestia de registrar su sitio web, pagar el certificado SSL y obtener la certificación oficial de alguna autoridad de certificación del mundo real, por lo que probablemente no sea un sitio web de phishing barato. Por otro lado, si confía en los certificados autofirmados, entonces dicho sitio web de phishing podría simplemente generar su propio certificado falsificado (que felizmente aceptará) y listo.

Por supuesto, si se trata de una red interna en una intranet privada, es probable que ya confíen entre sí, por lo que en este caso un certificado autorizado realmente no agrega nada, por lo que puede ignorar con seguridad las brillantes luces rojas que su navegador le arrojará . Lo mismo para los sitios web pequeños donde aún desea que se encripte el tráfico cliente-servidor, pero su modelo de amenaza no garantiza una autenticación sólida, en cuyo caso puede obtener un certificado autofirmado y aceptar el (insignificante por su modelo de amenaza) riesgo de un MITM.

Lo que probablemente sea satisfactorio considerando lo caros que pueden ser los certificados SSL confiables.


En otras palabras, un certificado autofirmado equivale a decir "Certifico que soy quien soy, ¡ confía en mí !".

Thomas
fuente
2
Esto es correcto, pero aún vale la pena señalar que los certificados pagados son solo una prueba de que alguien pasó por la molestia de pagar dinero a una autoridad cert. Los vendedores del otro lado de Verisign / Namecheap / Whatever-CA no harán nada más que enviar un certificado a [email protected] (por ejemplo, enviarán uno a un sitio de phishing potencial exqmple.org) .
89c3b1b8-b1ae-11e6-b842-48d705
1
@tristan Muy cierto, podrían usar mejores procedimientos formales para este tipo de cosas, pero supongo que los requisitos logísticos no serían razonables.
Thomas
1
@tristan: es un sistema imperfecto, pero las autoridades certificadas tienen algún incentivo para ser confiables. Por ejemplo, si le otorgan a una persona aleatoria un certificado de Google, se eliminarán de todos los navegadores en poco tiempo. También ofrecen certificados de "validación extendida" que, en teoría, significan que realizan más comprobaciones. Cualquiera de ellos podría decidir que esto requiere pruebas de ADN en persona si pensaran que reforzaría su reputación y les haría ganar negocios.
Nathan Long
1
@NathanLong No se trata de dar un 'certificado de Google' a un tipo sin escrúpulos, es que incluso el certificado EV sigue siendo solo un cheque de "alguien puede responder a correos electrónicos de este dominio". De todos modos, estamos circulando los mismos puntos de: a) los usuarios aún necesitan saber para no dar dinero a payqal.com, b) la barrera de costo para SSL no vale la pena para algunos estafadores, c) los certificados pagados significan que es más es probable que un sitio sea la búsqueda de DNS que uno quería, y d) es un enfoque razonable para proporcionar el valor inicial en el escenario de "este servidor es propiedad de las mismas personas / diferentes que la última vez que lo revisó"
89c3b1b8- b1ae-11e6-b842-48d705
Tristán, eso es parte del costo. Los certificados muy económicos hacen una validación muy económica. Los certificados muy caros (nivel empresarial) pueden hacer una validación muy costosa. (aunque el precio no es en modo alguno un indicador directo de cuán bien se realizó un trabajo de validación) Algunos certificados brindan una garantía absoluta de quién es usted, pero la mayoría solo garantiza que tiene algún tipo de control sobre el dominio para el que se emitieron. .
1

Para que sea breve y simple ... y disimistir un poco lo que se dijo ...

No es el problema del cifrado, con las herramientas adecuadas puede generar un certificado localmente con el tipo de cifrado que desea ... y obtener un certificado válido.

La principal ventaja que tiene al comprar un certificado de una entidad de certificación es que durante el período de validez del certificado tienen en sus servidores un mecanismo para validar todo lo que firmó con su certificación en línea ...

No es necesario que sus PC estén conectadas para que sus productos digitales sean verificados y validados con su certificado ... debe redirigir la validación a la entidad de certificación.

ZEE
fuente
1

Lamento entrar en esta discusión tan tarde: pensé que valía la pena señalar que usando openssl, es posible configurar una CA privada, con su propio certificado raíz, y luego crear certificados de servidor firmados por esta CA. Siempre que el certificado raíz de CA se importe al navegador y se le diga al navegador que lo acepte, el certificado del servidor se aceptará sin comentarios. (Obviamente, esta es solo una opción viable si la comunidad de usuarios es pequeña y todos los usuarios se conocen personalmente).

pd9370
fuente
-2

¿Confiarías en alguien que dice "Confía en mí"? La confianza en la autenticidad solo puede ser proporcionada por una "Autoridad de confianza", en la que todos confíen. Es por eso que tenemos que gastar mucho dinero para los certificados.

Ravi
fuente
2
Según esa lógica, no habría proveedores de certificados gratuitos. Pero hay.
Chris S