¿Por qué un certificado SSL sin firmar se trata peor que ningún certificado SSL?

19

Si veo un sitio que tiene un certificado SSL sin firmar o autofirmado, mi navegador me avisa. Sin embargo, el mismo navegador no tiene problemas para permitir el envío de credenciales a través de páginas no seguras.

¿Por qué el certificado autofirmado se trata peor que no tener certificado?

Macha
fuente

Respuestas:

16

Hay muchas personas que sienten que este sistema está roto.

Aquí está la lógica detrás de por qué su navegador le dará una advertencia tan alarmante cuando un certificado SSL no es válido:

Uno de los propósitos de diseño originales de la infraestructura SSL era proporcionar autenticación de servidores web. Básicamente, si visita www.bank.com, SSL permite que el servidor web que responde demuestre que, de hecho, pertenece a su banco. Esto evita que un impostor manipule DNS o use otro método para que un servidor malicioso responda.

La "confianza" en SSL se proporciona al tener un tercero de confianza (compañías como VeriSign y Thawte Consulting) que firman el certificado, lo que indica que han verificado que es propiedad de quien dice ser (en teoría visitando al administrador de TI en persona u otro método que crea confianza directa, aunque la evidencia muestra que en realidad son bastante laxos al respecto; todo lo que se necesita para obtener un certificado SSL firmado es a menudo un número 800 y un poco de habilidad para actuar).

Entonces, si se conecta a un servidor web que proporciona un certificado SSL, pero no está firmado por un tercero confiable, en teoría esto podría significar que se está comunicando con un impostor que finge ser un servidor que pertenece a una organización diferente .


En la práctica, un certificado autofirmado generalmente significa que la organización que ejecuta el servidor decidió no pagar por un certificado firmado (pueden ser bastante caros, dependiendo de las características que desee), o carecía de la experiencia técnica para configurar uno ( Algunas soluciones para pequeñas empresas ofrecen un mecanismo de un solo clic para un certificado autofirmado, pero obtener un certificado de confianza requiere más pasos técnicos).

Personalmente, creo que este sistema está roto y que comunicarse con un servidor que no ofrece cifrado es mucho más peligroso que comunicarse con un servidor que ofrece SSL con un certificado autofirmado. Hay tres razones por las que los navegadores no actúan así:

  1. Las comunicaciones sin cifrar son la norma en Internet, por lo que si los navegadores le hacen hacer clic en una advertencia para ver sitios web que no ofrecen cifrado, se molestaría rápidamente y deshabilitaría la advertencia.
  2. Debido a las terribles advertencias a los clientes, es anormal ver un certificado autofirmado en un sitio web de producción. Esto establece un sistema de autoperpetuación: los certificados autofirmados son sospechosos porque son raros, son raros porque son sospechosos.
  3. Esto me suena cínico, pero hay empresas que pueden ganar una gran cantidad de dinero con la firma de certificados SSL ( tos Verisign tos ), por lo que utilizan documentos técnicos (un término de TI que significa "anuncio largo y aburrido") y otras publicaciones para hacer cumplir la idea de que los certificados sin firmar son peligrosos.
jcrawfordor
fuente
55
Sin una cadena de confianza, que es lo que obtienes con un certificado firmado por CA y no con un certificado autofirmado, no hay forma de verificar que el servidor al que te estás conectando sea quién dice que es. Los certificados autofirmados son peligrosos en el sentido de que no proporcionan ningún medio para que un usuario verifique que los datos que están transmitiendo están llegando al destino que dicen que son. Las personas comienzan a aprender a buscar "https" cuando realizan transacciones seguras, por lo que tener una gran advertencia sobre un certificado no válido o autofirmado está garantizado al 100%, porque están perdiendo uno de los principales beneficios de SSL.
MDMarra
Yo no diría 'roto'. Creo que el complemento Firefox Certificate Patrol está mucho más cerca de la implementación correcta de los certificados y la gestión de la confianza que el valor predeterminado. Aún así, el valor predeterminado es mejor que ignorar por completo las redes de confianza.
Slartibartfast
44
@MarkM: creo que la autenticación no debe considerarse el principal beneficio de SSL. No tengo los datos que me respalden, pero creo que muchos más incidentes de seguridad resultan de los datos transferidos a través de conexiones no encriptadas (como ejemplo, el ingeniero de seguridad de Facebook cuya contraseña fue robada - olfatearon la contraseña de una red wifi , ya que el inicio de sesión de Facebook no está encriptado) que a través de MitM o ataques impostores, que son relativamente mucho más complicados de implementar. El enfoque en la autenticación sobre el cifrado en SSL es, como señalé, precisamente lo que crea esta situación.
jcrawfordor
1
@MarkM: aunque definitivamente hay gastos generales, lo cual es una preocupación legítima, el uso de certificados no firmados no ejercerá ninguna presión sobre las CA, específicamente porque una CA no se usaría para un certificado autofirmado. Además, para las organizaciones con suficiente poder, no es una preocupación: tenga en cuenta que Google ahora usa de forma predeterminada https para gmail y algunos otros servicios. Entiendo su punto de vista que sin autenticación, la utilidad de SSL se degrada. El modelo actual no está bien diseñado. Lo que realmente necesitamos es un protocolo encriptado estándar y un protocolo autenticado para usos más seguros.
nhinkle
55
El mayor significado de mi punto, y NRHinkle dijo directamente esto, es que debemos comenzar a considerar el cifrado y la autenticación como objetivos separados, y permitir que se logren por separado. Estas son las fallas fundamentales con el sistema SSL en este momento: 1) Vemos que el cifrado y la autenticación están inextricablemente unidos: para lograr uno, debe lograr el otro. Proporcionar solo uno es 'sospechoso'. 2) La autenticación debe obtenerse de un número limitado de AC principalmente con fines de lucro. En general, las AC son muy caras (Verisign, etc.) o muy sombrías (NameCheap, etc.)
jcrawfordor
6

El envío de credenciales de una página a otra es básicamente hacer HTTP POST. No hay nada especial en el envío de credenciales en comparación con el envío, por ejemplo, términos de búsqueda a través de POST. Si cualquier publicación en una página no segura desencadenaría una advertencia, los usuarios serían bombardeados por advertencias sin sentido.

El uso de un canal seguro indica la intención del programador de asegurar la transferencia. En este caso, usar la advertencia de certificado autofirmado es algo muy correcto.

Miro A.
fuente
Lo suficientemente justo para mí.
dag729
Como cuestión de hecho, recuerdo que al menos las versiones antiguas de Netscape Navigator hizo aparecer una advertencia para todos los envíos que no cifrada. Por supuesto, todos ellos desactivado después de cinco minutos, así que supongo que por eso lo quitaron ...
sleske
4

No puedo comentar, así que publicaré esta información que complementa la información correcta del usuario40350.

Sin embargo, el mismo navegador no tiene problemas para permitir el envío de credenciales a través de páginas no seguras.

Eso en realidad ni siquiera es cierto. La mayoría de los navegadores mostrarán una advertencia como si estuvieras a punto de enviar datos a través de una conexión no segura cuando lo intentas por primera vez, pero puedes desactivarlo para que nunca vuelva a aparecer, y apuesto a que eso es exactamente lo que has hecho ...

Miro A escribió:

El envío de credenciales de una página a otra es básicamente hacer HTTP POST. No hay nada especial en el envío de credenciales en comparación con el envío, por ejemplo, términos de búsqueda a través de POST

Esto también es incorrecto, ya que los campos de contraseña son etiquetas html especiales, por ejemplo. Además de eso, las etiquetas como "nombre de usuario" y "contraseña" también traicionan mucha de su sensibilidad. Sería perfectamente factible para los navegadores tener en cuenta este tipo de información.

ufotds
fuente
3

El navegador indica que las conexiones que están protegidas por el protocolo https: // están "aseguradas". Por ejemplo, se muestra un pequeño candado o partes de la URL están marcadas en verde.

Por lo tanto, se supone que el usuario debe confiar en que las páginas que está visitando provienen de la URL que ingresó y no son de otra persona.

Si no usa https: //, se supone que el usuario debe saber que los datos ingresados ​​no están protegidos y que el sitio en el que está navegando podría estar impuesto.

Un certificado autofirmado no garantiza que, una vez más, se espera que la página navegada no se imponga, por lo tanto, no ofrece seguridad adicional.

usermac75
fuente
1

Se debe hacer una distinción entre un certificado de confianza (firmado por una autoridad de confianza) y no confiable. De lo contrario, alguien podría hacerse pasar por su banco (por ejemplo) mediante el uso de un certificado autofirmado con relativa impunidad.

Una advertencia directa es preferible a una sutil en este caso porque el riesgo potencial es relativamente alto. Las personas pueden hacer clic en un enlace https y ni siquiera pensar que alguien podría estar sentado en el medio monitoreando la conexión. Si la indicación de que el certificado no es de confianza es sutil (digamos un icono rojo en lugar de verde, etc.), las personas podrían ser engañadas fácilmente, eliminando los beneficios de SSL.

Slartibartfast
fuente
¿No es fácil hacerse pasar por un banco de todos modos si tiene acceso a la computadora del usuario y modifica sus certificados? Si la computadora del usuario no se modifica, entonces el navegador web no podrá modificar la URL de la página web para afirmar que es el banco; y si obtienen una URL muy similar, aún pueden obtener un certificado para ese sitio web y al usuario no le importará con quién está firmada la página web, solo verán que es https y con suerte notarán que la URL no es la URL de su banco ...
Dmitry
El beneficio de SSL no es confiar en que el sitio web es quien usted cree que es (esto es imposible ya que una aplicación de terceros puede alterar sus certificados o el banco puede ser pirateado); sino más bien confíe en que la comunicación entre usted y quien sea que el sitio piense que es, es solo entre ustedes dos y nadie más puede darle sentido a esa comunicación. No tener un certificado es peor que tener uno autofirmado porque no importa con quién estés hablando, lo que importa es que nadie más pueda interceptar lo que estás diciendo.
Dmitry
Además como usuario, ¿sé realmente quién es Verisign y por qué debería confiar en ellos? ¿Su interés en vender certificados no es mayor que responsabilizar a los propietarios de certificados por el mal uso de la información que les envía?
Dmitry
0

Se han enumerado muchas buenas razones. Aquí hay uno más:

Piense en casos en los que una página web segura incorpora elementos de otra. Un atacante podría detectar qué solicitudes son para la página web externa (por ejemplo, al observar el tiempo, tiene que venir primero) y cuáles son para los elementos internos. Podría inyectarse como MITM solo en los elementos internos, usar un certificado autofirmado y controlar partes de la página. A menos que se presente una advertencia para los elementos internos que usan SSL pero no usan un certificado confiable, la seguridad de la página externa se vería comprometida.

Aquí hay un ejemplo realista. Digamos que soy un proveedor y tengo un enlace de "pagar con PayPal". Haces clic en eso, y lo sé. Lo redirijo a PayPal y le dejo obtener la página de PayPal legítima y segura. Si estoy viendo tu red, sé que será tu primera solicitud de PayPal, y poco después enviarás tu contraseña. Así que MITM submitcontiene su dirección de correo electrónico y contraseña, sustituyendo mi certificado autofirmado por el de PayPal.

¿Ves cómo la seguridad de la página externa se ve comprometida al no advertir si el certificado de la página interna está autofirmado? Por lo tanto, debe advertir sobre los certificados autofirmados que provienen de los enlaces.

Y, por supuesto, si ingresa httpsmanualmente, debe advertirle. Porque esperas que sea seguro.

David Schwartz
fuente
-1

Cuando el ataque man in the middle se ejecuta en https: // sitio web, la advertencia es solo una indicación de algo incorrecto para el usuario promedio. Por lo tanto, es una parte muy importante de la seguridad HTTPS.

La buena pregunta es por qué el cifrado parcialmente inseguro no es posible, por ejemplo, a través de HTTP.

Cmazay
fuente