HTTPs no es la panacea

Las filtraciones de Snowden vuelven a abrir debate, con el artículo publicado en The Guardian (EN) sobre una de las herramientas usadas por la NSA, con nombre XKeyscore, y que la mayoría de grandes medios han vendido como “el espía que lo ve todo en internet“.

PatriotAct

PRISM es solo la punta del iceberg, algo que ya sabíamos, y conforme más pasa el tiempo más información tenemos sobre el caso. Lo peor de todo es que no es el primer artículo que leo en donde vanaglorian las ventajas del protocolo HTTPs como el talón de Aquiles de toda esta red de espionaje gubernamental.

Y te das cuenta de ello cuando otra noticia totalmente ajena, como es la del opt-in del HTTPs en las conexiones de Facebook, toma un cáliz casi religioso, emponderando la seguridad de esta red como si hubieran descubierto el Santo Grial.

Nada más lejos de la realidad.

Las ventajas del protocolo seguro

Aunque Chema (ES) ya se me ha adelantado ayer con una entrada de carácter técnico, quería dejar por aquí mi pinito de arena sobre la situación sin adentrarnos excesivamente en complejismos de criptografía y RSA, para que todos nos entendamos.

HTTPs define un modelo de comunicación con servicios de internet, en el que una compañía certificadora, certifica (valga la redundancia) que el contenido de esa web es legítimo. Por tanto, ofrece una capa extra de seguridad, de cara principalmente a webs impostoras (como el caso de gogle.com o yutube.com).

PabloYglesias-certificados

Diferencia entre una página de Google certificada, y otra página llamada Gogle que es un timo

Que una web cuente con un protocolo de comunicación seguro es bueno, sobre todo para evitar casos de engaño como el de la imagen superior, y de los que ya hablamos recientemente en el artículo #MundoHacker: Estafas online, certificados y muleros. Además, es una de las opciones que en más de una ocasión os he instado a usar por defecto (mejor acceder a una web mediante protocolo seguro que por HTTP convencional). La mayoría de grandes webs y herramientas de reconocida reputación tienen con mínimo la alternativa a su uso, y cada vez, ésta se vuelve la única manera de conectarse a sus servicios. Ya sea la App Store, los servicios de Google, Twitter, y desde hace unos días, Facebook (y muchísimos más, que conste).

Pero todo esto no nos protege de escuchas indiscriminadas, ni mucho menos.

Desmontando el mito entorno al protocolo seguro

Como ya dije, para que una web cuente con HTTPS precisa de la certificación de un organismo certificador. Por tanto, esta capa de seguridad se basa en la confianza depositada en este organismo. Pero todo es en vano cuando te das cuenta que la mayoría de compañías de certificados pertenecen a EEUU y China, dos gobiernos que están en la potestad de obligar a cualquier compañía a actuar como les plazca, siempre y cuando sea por el bien del país.

Más aún, y obviando lo anterior, vamos a suponer que esas escasas grandes compañías certificadoras no están obligadas a ceder sus canales de comunicación seguros al gobierno de turno. Las entidades de confianza son gestionadas por cada sistema operativo de forma diferente (en algunos como windows se actualizan dinámicamente, en otros delegan en el navegador que se esté usando, etc,..). Pero lo cierto es que resulta complicado gestionar de antemano dichas certificaciones sin acceder a la herramienta en cuestión (una situación que ya hemos vivido con la gestión de redes WIFI en dispositivos iOS). La cosa se complica aún más cuando nos damos cuenta que una compañía certificadora, puede certificar a otra compañía como entidad de confianza, de tal forma que tenemos en la mesa compañías certificadoras originales y compañías certificadoras intermedias, que a efectos prácticos tienen la misma validez, y que en algún caso no dudéis que son tapaderas gubernamentales.

Para colmo, para un mismo sitio puede haber decenas o cientos de certificaciones, que además cumplen a rajatabla la regla de herencia (el certificado de una certificadora intermedia certificada por otra intermedia certificada por otra intermedia certificada… por una original, es tan válido como cualquiera), por lo que a la hora de la verdad, esos datos que en un principio se pasan seguros, pueden ser descifrados por cualquiera de estas empresas certificadoras, sean originales o intermedias (un man in the middle de guión, como el que ya hemos vivido con Opera).

Resumiendo.

El protocolo seguro es más seguro que el convencional, pero tan rastreable como éste por parte de gobiernos (y más si hablamos de EEUU o China).

¿Qué alternativa tenemos?

Pues pocas, si os soy sincero:

  • Redes basadas en TOR: Un extra de seguridad, pero aún así vulnerables. Recordar que este tipo de conexiones se producen a partir de nodos distribuidos que agregan capas de cifrado siguiendo un trayecto en particular. Pero hay un porcentaje significativo de estos nodos que pertenecen al gobierno de Estados Unidos, y bastaría que pasara por alguno de ellos para pode rastrearlo (y si da la casualidad que el nodo final es de ellos, le estarías sirviendo en bandeja los datos).
  • VPN: Los túneles de cifrado son quizás una de las mejores alternativas que tenemos, descontando el hecho que dependemos de una compañía externa mediante la cual entablamos la conexión. Hay más seguridad ya que en principio sólo dependemos de una compañía (y no de miles como el caso del protocolo HTTPs), pero siempre queda la duda de si confiar en una estadounidense (por eso de la Patriot Act (ES)) o delegar en una Rusa o China y rezar para que no sea una mafia.
  • Cifrado de punto a punto: El más molesto de todos, pero el mejor. Se basa en que sean los propios interesados quien cifren la comunicación, de tal manera que el receptor necesite una clave pública que le ofrece el emisor por otro canal. Nos evitamos así el modelo de confianza que como hemos visto no es lo mejor que hay, pero tiene asociado el inconveniente de cómo enviar la clave pública al receptor sin que esta pueda ser rastreada. Aún así, es útil para entablar conexiones seguras para SMTP (emails), o comunicación VoIP entre conocidos (quedamos un día, te doy en persona mi clave pública, y tú la tuya, y a partir de ahí nos enviamos lo que queramos usando este cifrado).