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?
ssl
ssl-certificate
https
SK '
fuente
fuente
Respuestas:
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).
fuente
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:
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.
fuente
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.
fuente
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
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.
fuente
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?
fuente
Recientemente, LetsEncrypt ha anunciado la disponibilidad de sus herramientas de línea de comandos para generar certificados válidos.
Para aquellos que se preguntan si esos certificados son válidos en los principales navegadores, la respuesta es Sí:
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.
fuente
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í !".
fuente
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.
fuente
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).
fuente
¿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.
fuente