it-swarm-es.com

¿Cómo prueba un servidor SSL su identidad?

Este documento dice que una autenticación de respuesta de desafío prueba la identidad del servidor. Pero, ¿es posible un ataque de hombre en el medio si el cliente no verifica el nombre de dominio? Por favor, ayúdame a entender esto.

11
user1157

El protocolo de enlace SSL implica el uso de certificados; el servidor tiene un certificado que el cliente deberá validar (con respecto a sus anclajes de confianza conocidos, también conocidos como "CA raíz"). El certificado contiene una clave pública y los algoritmos criptográficos utilizados en SSL de que la conexión es segura de la siguiente manera:

  1. El cliente sabe que los datos que envíe y reciba serán utilizados únicamente por el servidor que posee la clave privada asociada con la clave pública que recibió (dentro de un certificado).

  2. El certificado prueba al cliente que dicha clave privada es propiedad (controlada) de alguna entidad cuyo nombre está escrito en el certificado; para SSL, el nombre es un nombre DNS como "www.example.com".

Todavía depende del cliente verificar que el nombre en el certificado sea el nombre del servidor que el cliente pretendía contactar en primer lugar.

Analogía: conoces a alguien que te dice que se llama Bob. Le pides que te muestre una tarjeta de identificación. Verificar que la tarjeta de identificación es una tarjeta de identificación genuina no es suficiente; usted también tiene que verificar que el nombre en la tarjeta de identificación sea "Bob". De lo contrario, Charlie podría decirte "Soy Bob" y mostrarte su tarjeta de identificación con el nombre "Charlie".

20
Thomas Pornin

La respuesta de Thomas es genial en lo que va. Solo notaré que todavía hay agujeros en el sistema, y ​​tienes razón al prestar mucha atención.

El mayor problema es que, por defecto, es probable que tenga una gran cantidad de certificados raíz "de confianza", cualquiera de los cuales puede certificar cualquier nombre DNS. Creo que hay razones para no confiar realmente en todos ellos.

Por ejemplo, en 2009, Etisalat (60% propiedad del gobierno de los Emiratos Árabes Unidos) lanzó un parche BlackBerry de aspecto inocuo que insertó spyware en los dispositivos RIM, lo que permite el monitoreo del correo electrónico, por lo que difícilmente puede considerarse confiable. Pero está en muchas listas de CA confiables: http://arstechnica.com/business/news/2009/07/mobile-carrier-rolls-out-spyware-as-a-3g-update.ars

Los mecanismos utilizados por muchas CA para validar que usted posee un nombre de dominio son vulnerables a varios ataques, por lo que las personas pueden obtener credenciales que no deberían.

Además, las personas pueden robar certificados, como lo hicieron dos veces los desarrolladores de stuxnet.

Las partes relacionadas con las políticas del rompecabezas de la clave pública/privada son realmente mucho más difíciles que la criptografía misma.

Actualización: Vea también una excelente publicación sobre cómo arreglar nuestra peligrosa infraestructura de CA en Freedom to Tinker: Construyendo una mejor infraestructura de CA

7
nealmcb

Un servidor demuestra su identidad al estar firmado por una autoridad de certificación raíz (o intermediaria) en la que su navegador confía.

La CA raíz (por ejemplo, Verisign) firmará digitalmente la solicitud de certificado del sitio. La firma digital es la forma en que Verisign certifica la identidad del sitio web original. Verisign tiene métodos para evitar que alguien como yo genere un certificado para eBay, generalmente mediante el registro en persona o mediante el uso de una combinación de pruebas de identidad.

La lista de CA raíz se actualiza y se revoca a medida que pasa el tiempo, puede notar esto en su actualización de Windows.

Dicho esto, si alguien tiene acceso físico a una máquina, siempre puede instalar certificados raíz falsos ... lo que hace posible al hombre en el medio nuevamente, sin advertencias.

1
oreoshake