¿Por qué debo pagar un certificado SSL?

62

Pagué un certificado SSL de Namecheap, creo que fue certificado por ComodoSSL. Me costó 7 $, les tomó una semana activarlos y tuve que hacerlo yo mismo desde SSH mientras editaba los archivos de configuración de mi sitio.

Entonces, un amigo me hizo saber de Let's Encrypt, que no solo entrega certificados SSL gratuitos, sino que también se pueden instalar ejecutando un solo comando.

Estoy seguro de que me falta algo aquí, pero ¿por qué querría pagar un certificado SSL cuando puedo instalar uno fácilmente, de forma gratuita, con la configuración de renovación automática?

Ocho
fuente
2
Esto apareció recientemente y es principalmente la misma pregunta: security.stackexchange.com/questions/45491/... La respuesta previamente validada y actualizada recientemente todavía es válida. Pero en todas las respuestas me entristece ver que nadie explica las diferencias entre los precios y los costos y el precio frente al valor (garantías y seguros asociados, lo
creas
Puedo ver el pago de uno donde hay un caso de negocios para la validación extendida, etc. para tener el nombre de la compañía al lado del ícono de bloqueo, etc. Desde una perspectiva técnica, no hay una razón real para hacerlo.
Ivanivan
La respuesta completa se puede resumir en esta oración de la respuesta de marcelm : "Para que un certificado sea significativo, los proveedores de software deben confiar en la CA emisora, de lo contrario, el certificado es inútil". Todo un certificado es un cifrado validado por un tercero partido. Si crees que Let's Encrypt nunca se equivocará y nunca será pirateado, entonces obtienes valor de eso. Pero la razón por la que las personas pagan es porque son verdaderas otras CA más. Simple como eso.
JakeGould
"Todo un certificado es cifrado validado por un tercero" no tiene sentido. Un certificado no está encriptado, para empezar, está firmado . @JakeGould
usuario207421
Me sorprende que nadie haya dicho esto todavía: "hacer pasar algo como legítimo cuando se dirige a empresas que tratan a letsencrypt con sospecha" por lo general.
Alec Teal

Respuestas:

82

¿Por qué debo pagar un certificado SSL?

Para la mayoría de los usos, no hay una buena razón para pagarlos.
Vea la parte inferior para obtener un resumen de las excepciones.

Retrocedamos un paso y expliquemos qué hacen los certificados y cómo.

Lo que comúnmente se llaman "certificados" consisten en dos piezas vinculadas:

  • El certificado propiamente dicho , que contiene una clave pública y alguna identificación (como un nombre de dominio).
  • La clave privada , que permite al titular (y solo al titular) firmar digitalmente los mensajes de tal manera que puedan verificarse utilizando el certificado anterior.

Si desea un certificado para yourdomain.com, usted:

  • Cree un par de claves privado / público y mantenga la parte privada, bueno, privada.
  • Solicite a un tercero confiable ("CrediCorp") que cree un certificado yourdomain.comcon su clave pública.
  • Demuestra de alguna manera a CrediCorp que controlas yourdomain.com.
  • Coloque la clave privada y el certificado obtenido en su servidor y configure el servidor web para usarlos.

Luego, si Alice visita yourdomain.com, su navegador obtiene el certificado de su servidor web, junto con un mensaje firmado por su clave privada. Luego su navegador verifica tres cosas:

  • Que el mensaje firmado puede ser verificado por su certificado (demostrando que ha sido firmado por la clave privada correspondiente que solo yourdomain.comdebería tener).
  • Que el dominio del certificado es el dominio que el navegador está intentando visitar ( yourdomain.com).
  • Que el certificado es de CrediCorp.

La combinación de estas tres cosas le garantiza a Alice con quien realmente está hablando yourdomain.com, y no a algún impostor ... Siempre que Alice confíe en CrediCorp .

(También sigue un poco de baile de cripto vudú para convertir esta autenticidad en confidencialidad).

¿ Cómo confía Alice en CrediCorp?

Ese es el verdadero meollo aquí. En resumen, en algún momento CrediCorp dijo "Hey, vamos a hacer certificados". Después de hacer un gran esfuerzo siguiendo muchas reglas , lograron convencer a algunas personas de que CrediCorp es, de hecho, confiable, y solo emitirán certificados correctamente.

En particular, lograron convencer a los creadores de, por ejemplo, Firefox. Como resultado, CrediCorp se incluye en la lista A de Firefox, y Firefox confía en sus certificados de manera predeterminada. Así que, realmente, Alice confía en Firefox, Firefox confía en CrediCorp y CrediCorp confiaba en usted (después de verificar) cuando afirmó que controlaba yourdomain.com. Es casi como una cadena .

Pero Firefox no solo confía en CrediCorp para emitir certificados yourdomain.com, sino que confía en los certificados de CrediCorp para cualquier dominio. Y Firefox también confía en ShabbyCorp, para cualquier dominio.

Esto tiene consecuencias. Si alguien logra convencer a ShabbyCorp de que controla yourdomain.com(porque ShabbyCorp no es muy exhaustivo), puede obtener un certificado de ShabbyCorp yourdomain.comcon la clave privada correspondiente. Y con ese certificado podrían hacerse pasar por su servidor web. Después de todo, ¡tienen un certificado (clave más) para el yourdomain.comque Firefox confía!

CrediCorp y ShabbyCorp son lo que se llama autoridades de certificación , CA para abreviar. En el mundo real, ComodoSSL y Let's Encrypt son ejemplos de AC. Pero hay muchos más de ellos; Al momento de escribir este artículo, Firefox confía en 154 AC .

Whoa Pero, ¿cómo responde eso a mi pregunta?

Estoy ehm, llegando a eso ...

Aquí está la cosa. La mecánica que describí anteriormente se aplica a todos los certificados. Si tiene un certificado correcto y confiable para su sitio web, funcionará. No hay nada especial sobre los certificados de la marca A versus los certificados de la marca B; todos están sujetos a los mismos requisitos de CA y las mismas matemáticas de cifrado.

E incluso si te gusta más CrediCorp, porque sabes que suenan mucho más confiables, usarlos realmente no te ayudará. Si un atacante puede convencer a ShabbyCorp para que le dé un certificado para su sitio, el atacante puede usar ese certificado para hacerse pasar por su sitio, independientemente de dónde haya obtenido el suyo.

Mientras Firefox confíe en ShabbyCorp, los visitantes no verán la diferencia. (Sí, los visitantes podrían extraer el certificado y buscar allí, ver quién lo emitió. ¿Pero quién lo hace?) En lo que respecta a falsificar certificados, esto hace que todo el sistema sea tan débil como el más de 150 AC más débiles. Por qué sí, eso da miedo, y es probablemente la mayor crítica que la gente tiene de todo este esquema. Aún así, es con lo que estamos atrapados.

El punto es que si no confías en una CA para dar certificados "buenos", obtener tus certificados en otro lugar no te ayuda mucho.

Gotcha, todo está igualmente condenado. ¿Sin advertencias?

Weeeelllll ...

  1. Comencemos por matar el punto que hice en la última sección. Hoy en día es posible bloquear su dominio solo para las CA de su elección utilizando DNS-CAA . Supongamos que confía en Comodo y no confía en otras CA, es posible solicitar a todas las CA que no sean Comodo que no emitan certificados para su dominio. En teoria. (Debido a que DNS-CAA no es verificado por los navegadores, solo mediante la emisión de CA. Por lo tanto, una CA comprometida podría ignorar esta protección).

    Si está dispuesto a pasar por ese problema, entonces la pregunta es: ¿es que Let's Encrypt es realmente menos confiable? O menos seguro? La confiabilidad es difícil, ¿cómo cuantificas eso? Todo lo que puedo decir es que, en mi opinión, Let's Encrypt no es menos confiable que otras AC. En cuanto a la seguridad de sus validaciones, son muy similares a lo que hacen las AC comerciales (de todos modos, para los certificados DV). Ver también esta pregunta .

    Por lo que vale: la red StackExchange, de la que forma parte este sitio, actualmente utiliza certificados Let's Encrypt. La mayoría de la gente nunca se daría cuenta de esto, y si lo hicieran, dudo sinceramente si significaría mucho para ellos.

  2. Para que un certificado sea significativo, los proveedores de software deben confiar en la CA emisora ; de lo contrario, el certificado no sirve para nada. Usé Firefox como ejemplo, pero realmente quieres que la CA sea confiable por al menos las versiones actuales y algo más antiguas de Firefox, Chrome, Windows, Mac OS X, iOS y Android. Y las docenas de jugadores más pequeños. Todas estas entidades confían en las CA que vale la pena considerar (que incluyen ComodoSSL y Let's Encrypt).

  3. Si una CA se comporta mal o se revela que no es confiable, se eliminará de las varias tiendas de confianza lo suficientemente rápido como para arruinar el día de los propietarios de certificados. Dos ejemplos notables que conozco son DigiNotar y StartCom / WoSign (revisa los artículos, ¡proporcionan ideas interesantes en la dinámica de confianza!). Entonces, si cree que Let's Encrypt se arruinará, o se caerá por alguna otra razón, no usarlos evitará que quede atrapado en esa caída en particular.

  4. Los certificados emplean algo de magia matemática criptográfica ; la pregunta es ¿ qué magia matemática criptográfica ? ¿Qué pasa si es magia débil? Esto es realmente una preocupación real, y las AC también han demostrado que se esfuerzan en actualizar esto. Afortunadamente, los proveedores de navegadores han recogido la holgura al establecer mínimos aquí para que los certificados sean aceptados. Por ejemplo, los certificados que usan RSA-1024 o SHA-1 ahora son rechazados por la mayoría de los navegadores, por lo que cualquier certificado que funcione en la práctica no usa estas primitivas criptográficas obsoletas. El resultado es que es bastante difícil para cualquier CA (incluimos Let's Encrypt) decepcionar más en esta parte.

  5. Antes, más o menos dije que todos los certificados se crean de la misma manera. Mentí, no lo son. En particular, lo que discutí hasta ahora son " certificados de dominio validado (DV)", que es lo que usa la gran mayoría de los sitios web. Proporcionan una medida de certeza de que su navegador realmente está hablando con el dominio que muestra en la barra de URL. También hay certificados de "Validación de organización (OV)" y " Validación extendida (EV)", que requieren verificaciones mucho más elaboradas de las AC. En particular, solo debería poder obtener un certificado EV para somebank.com/ SomeBank Inc., si realmente puede demostrar que es SomeBank, Inc.

    Los certificados EV son mucho más costosos de obtener (estadio: cientos de EUR / USD por año), y pueden ser recompensados ​​con una barra de URL verde o un candado en el navegador, tal vez mostrando "SomeBank, Inc." también. A diferencia de los certificados DV, también ofrecen una idea de a quién podría pertenecer realmente el sitio web. Lo bueno es que pueden parecer más legítimos. La decepción es que los usuarios rara vez les prestan atención, por lo que su efectividad es limitada.

    Un atacante con un certificado DV falsificado aún puede hacerse pasar por el sitio, solo sin la pista visual adicional que puede ofrecer un certificado EV, y los usuarios generalmente no notan la distinción. Por el contrario, es posible obtener un certificado EV engañoso para facilitar el phishing. Como resultado, tanto Chrome como Firefox dejarán de lado sus gestos visuales a los certificados EV, y algunas personas creen que desaparecerán por completo.

    Si eres un banco, probablemente aún quieras un certificado EV por ahora. De lo contrario, no tanto. Pero si lo hace necesario EV, Cifrar Vamos no es para ti, ya que simplemente no ofrecen certificados EV.

  6. Los certificados solo son válidos por tiempo limitado . Los certificados de una CA comercial típica tienden a ser válidos por un año, pero he visto algo de tres meses a tres años. Los certificados Let's Encrypt son válidos por 90 días , lo cual es un poco corto de ese rango, por lo que deberá renovarlos con frecuencia. Para los usuarios de Let's Encrypt, esto generalmente se automatiza para que los certificados se reemplacen cada 60 días.

    Ser capaz de automatizar la renovación con un software ampliamente disponible es en realidad más agradable que la anual. Oh, mierda, ¿mi certificado expiró? ¿Cuál es mi inicio de sesión en la CA? ¿Cómo funciona esto de nuevo? ritual que la mayoría de los sitios pequeños parecen terminar en las AC comerciales.

  7. Antes, lo llamaba aterrador que hay tantas AC que todos debemos confiar. Sin embargo, tener muchas AC también es una ventaja, en el sentido de que eliminar una de nuestras tiendas de confianza tiene un impacto limitado en los usuarios. En particular, expulsar una sola CA solo afectará los certificados emitidos por esa CA. Si todos terminan usando una sola CA (que algunas personas temen que suceda con Let's Encrypt ), concentramos toda nuestra confianza allí y perdemos las ventajas de esa fragmentación.

  8. Y finalmente, hay otros beneficios que una CA paga podría ofrecer, como soporte comercial o una garantía SSL de un millón de dólares . Tengo poca fe en ambos aspectos, pero son cosas que Let's Encrypt no ofrece.

Me duele la cabeza ... Creo que tenía una pregunta.

¡Usa lo que te hace sentir cómodo! Para los certificados DV, hay poco que realmente diferencie a las distintas AC. Utilizo Let's Encrypt tanto de forma profesional como privada, y estoy contento con eso.

Realmente solo veo cuatro posibles razones para evitar Let's Encrypt:

  • Si necesita certificados EV (u OV).
  • Si no puede o no desea automatizar la renovación del certificado y tres meses de validez del certificado es demasiado corto para usted.
  • Si no confía en Let's Encrypt (pero asegúrese de considerar otras medidas como DNS-CAA también, y probablemente debería incluir en la lista negra Let's Encrypt en su navegador también).
  • Si cree que Let's Encrypt se suspenderá o se eliminará de los navegadores por algún motivo.

Si ninguno de ellos se aplica a usted, no dude en no pagar sus certificados.

marcelm
fuente
17
Tenga en cuenta que los certificados EV ya no se consideran útiles porque los usuarios los ignoran; Los navegadores, especialmente Chrome y en dispositivos móviles, eliminan o entierran el texto verde y muestran el nombre.
simpleuser
8
Tenga en cuenta que no le pide al tercero confiable que cree un certificado para su clave privada, sino para la clave pública correspondiente. Minipick, pero importante. Su clave privada nunca abandona su sistema.
MechMK1
Ambos buenos puntos; Estaba tratando de gestionar el nivel de detalle sin dejar de ser correcto en términos generales, pero debería haber sido más claro en estas dos cosas. Actualicé la respuesta para reflejar estos hechos un poco mejor.
Marcelm
44
Para ser más específicos, a partir de Chrome v77 (actualmente v67), Chrome ya no mostrará directamente los certificados EV. Firefox (actualmente 68) planea hacer lo mismo a partir de v70.
knallfrosch
1
Y para agregar un tercer comentario sobre los certificados EV, Troy Hunt (re) escribe un buen artículo explicando por qué están realmente muertos: troyhunt.com/…
Neyt
7

Let's Encrypt es superior en muchos aspectos, incluidos los que ha mencionado, como:

  1. Es gratis. Difícil de superar eso.
  2. Tiene renovación automática (sin embargo, estoy seguro de que no es SOLO exclusivo con Let's Encrypt)
  3. Es bastante fácil de configurar.
  4. Google lo admite como SSL firmado, lo cual es un gran problema cuando se trata de SEO y seguridad.

Sin embargo, hay un par de contras.

  1. El sistema de verificación en el que funciona para asegurarse de que usted, bueno, es el propietario del sitio, no es compatible con algunos servidores de sitios web, he tenido una gran cantidad de dolor de cabeza al intentar que Let's Encrypt funcione en InfinityFree y acabo de aceptar el destino que no pude hacerlo
  2. No obtienes ningún tipo de seguro que diga "Si esto se rompe, te ayudaremos", ya que es de código abierto, estás solo si Let's Encrypt no funciona o está agrietado de alguna manera.
Esmoothy
fuente
"El sistema de verificación con el que funciona" Es un mecanismo estándar, tanto HTTP-01 como DNS-01, según lo descrito por los requisitos del Foro IETF y CAB. Todas las CA están vinculadas exactamente a la misma, para los certificados DV.
Patrick Mevzek
10
"ya que es de código abierto" Es gratis (como en la cerveza) no de código abierto. La API es estándar (consulte ACME en IETF) y hay clientes de código abierto (y quizás servidores).
Patrick Mevzek
44
"Tiene renovación automática" No es Let's Encrypt por sí mismo. Usted, como propietario del certificado, debe comunicarse con ellos para solicitar la renovación. No te lo empujan automáticamente. Es un efecto secundario del uso de un protocolo automatizado como ACME para la emisión de certificados.
Patrick Mevzek
"Google lo admite como SSL firmado", no solo Google, y probablemente haya querido decir que lo admite (Let's Encrypt) como una "CA totalmente confiable" ("SSL firmado" no tiene sentido). Ver letsencrypt.org/2018/08/06/…
Patrick Mevzek
En cuanto al seguro en los certificados X.509 utilizados para las comunicaciones HTTPS, consulte también security.stackexchange.com/questions/179415/… y scotthelme.co.uk/…
Patrick Mevzek
4

Los certificados LetsEncrypt son geniales. Los uso yo mismo en lugar de comprar certificados. Hay algunos inconvenientes:

  • Los certificados LetsEncrypt solo duran 3 meses. La mayoría de los certificados comprados son válidos por uno o dos años. Eso significa que absolutamente necesita un proceso automatizado para renovar sus certificados o será muy fácil olvidarlo.
  • LetsEncrypt solo ofrece el tipo de certificado de validación más bajo. La validación de dominio (DV) solo valida que el propietario del certificado tenga control sobre el dominio. Los certificados de Validación de Organización (OV) también verifican la documentación de la persona o compañía que solicita el certificado. Los certificados de Validación Extendida (EV) requieren incluso más controles. Cuanto mejor sea su certificado, más difícil será falsificarlo y más se podrá confiar en la autenticidad de su sitio. En la práctica, los navegadores solo dan un guiño visual a los certificados EV, que generalmente muestran algo en verde en la barra de direcciones para ellos. Hasta este punto, la mayoría de los usuarios no conocen ni se preocupan por los diferentes niveles de validación.
  • Los certificados comodín son un poco más difíciles de obtener de LetsEncrypt. Desde otros lugares, generalmente solo paga más dinero. LetsEncrypt requiere validación de DNS para los certificados comodín.

Históricamente, los certificados de seguridad siempre han costado algo. Otras compañías que han ofrecido certificados gratuitos han ido y venido. Solía ​​usar StartSSL, que ofrecía un certificado gratuito de dominio único hasta que hicieron algunas cosas sospechosas y los navegadores dejaron de confiar en sus certificados. LetsEncrypt tiene menos límites que los proveedores de certificados gratuitos anteriores y es mucho más automatizado. También tiene algunos grandes partidarios como EFF, Mozilla, Chrome y Cisco. Ver https://letsencrypt.org/sponsors/ Parece que se ejecuta lo suficientemente bien como para que espere que esté disponible durante años.

Stephen Ostermiller
fuente
1
¿Hay alguna diferencia funcional real entre DV y OF / EV? ¿O es literalmente solo una verificación más exhaustiva?
Ocho
44
"Los certificados LetsEncrypt solo duran 3 meses". Se hace a propósito y no se ve como un inconveniente, sino como algo positivo.
Patrick Mevzek
1
@Ocho controles diferentes y resultados finales diferentes también: un certificado DV identifica un nombre de host, un certificado OV / EV identifica una entidad. Además, los requisitos de CAB Forum ponen restricciones diferentes, no puede tener un EV por 3 años, por ejemplo, ni para comodines.
Patrick Mevzek
55
"LetsEncrypt solo ofrece el tipo de certificado de validación más bajo. [..] Cuanto mejor sea su certificado, más se puede confiar en su sitio". Esto es en gran medida una cuestión de preferencia personal y no una verdad universal. Y sobre todo no importa debido a la Web PKI actual, es la seguridad de la CA con la seguridad más baja en su almacén de confianza lo que define la seguridad de todo el ecosistema ... hasta que todos usen CAA + DNSSEC en sus dominios, y todas las CA lo usen en menos DNSSEC durante la validación y múltiples puntos de vista.
Patrick Mevzek
2
"Hasta este momento, la mayoría de los usuarios no conocen ni se preocupan por los diferentes niveles de validación". - Lo que los hace bastante inútiles. Si los usuarios no distinguen los certificados EV / DV, un atacante que obtenga un certificado DV válido para algún dominio puede realizar ataques MITM en ese dominio, incluso si el sitio original tiene un certificado EV.
marcelm
0

No todo puede usar la renovación automatizada

CertBot hace que sea fácil de usar para sitios web ... pero ¿qué pasa si está utilizando certificados para otras cosas?

Tenemos un servidor LDAP con el que nuestro sitio web se autentica. Se ejecuta sobre un puerto seguro, pero necesita un certificado firmado para ejecutarse. Podría ir con un certificado comodín gratuito ... pero eso significa convertir el certificado a PKCS12 cada 3 meses (los servidores web usan PEM) y luego importar el nuevo certificado. Ah, y nuestro firewall de red también usa PKCS12. Eso es un montón de problemas gratis.

Machavity
fuente
1
Si está tan inclinado, también podría automatizar esa conversión; ya hay un cronjob ejecutándose certbot/ acmetool/ whathaveyou para renovar el certificado, puede agregar uno que invoque opensslpara realizar la conversión.
marcelm
-1

La respuesta simple a esto es que muchos webmasters simplemente no quieren hacer estas cosas que innecesariamente consumen su valioso tiempo. En el caso de letsencrypt, es fácil de usar y gratuito, pero debe recordar y volver a instalar el certificado cada 3 meses. Si no lo hace o simplemente se olvida de hacerlo, su sitio mostrará un error 404 a sus visitantes y motores de búsqueda.

Pablo
fuente
10
"tiene que recordar" No, debe implementar la automatización necesaria y dejar que haga su trabajo sin tener nada que recordar. También debes hacer monitoreo.
Patrick Mevzek
14
"entonces tu sitio mostrará un error 404" Ciertamente no. Un certificado caducado desencadenará una falla de apretón de manos TLS y nada llegará al nivel HTTP. Los clientes verán una gran advertencia en su navegador con algo de texto (que básicamente no entenderán) y un botón que les preguntará si quieren pasar o no.
Patrick Mevzek
Muchos sitios de alojamiento solo están haciendo que vamos a encriptar un botón sin costo adicional. Literalmente, simplemente haga clic en un botón en el panel de configuración del sitio web que dice "¡Lo quiero!" y todo sucede automáticamente a partir de ese momento, incluida la renovación.
James reinstala a Monica Polk el
1
Como administrador profesional de ~ 100 dominios, puedo decirle que prefiero Let's Encrypt con renovación automática a renovar los certificados manualmente cada año, como tenía que hacer antes con nuestra CA anterior.
Marcelm
El uso acme.shpara instalar los certificados Let's Encrypt también instala la renovación. Es más trabajo no hacerlo.
Colin 't Hart