14 julio 2014

SPDY, ¿héroe o villano?

SPDY, para aquellos que aún no lo conozcan, es un nuevo protocolo desarrollado principalmente por Google que incorpora una mejora en la eficiencia de las comunicaciones y que, además, lleva asociado el cifrado por defecto de todas ellas.

De hecho, este cifrado por defecto es el que hace que merezca la pena analizar en detalle las consecuencias que tendría su implementación desde una perspectiva de seguridad, puesto que SPDY ha servido como base para los primeros borradores del futuro HTTP 2.0.

En primer lugar, y basándonos en el análisis realizado por Jorge Dávila en su artículo titulado "La Internet opaca de SPDY" publicado en el número 110 de la revista SIC (junio 2014), habría que destacar que este nuevo protocolo ya se encuentra implementado en la mayoría de los navegadores (Chrome, Safari, Firefox, Opera...) e incluso por algunos servidores (pocos, pero significativos, como Google Search, Facebook o Twitter). No obstante, mientras se realiza la transición de todos los servidores a SPDY, será necesario contactar con unos servidores que ejerzan de traductores entre HTTP 1.1 y HTTP 2.0 (habiendo sido Google [lógicamente], la primera organización en poner este tipo de servidores proxy a disposición de los usuarios).

Por tanto, para analizar las consecuencias de SPDY tendremos que tener en cuenta dos momentos muy distintos:
  • la fase transitoria durante la que unos servidores proxy nuevos conocerán todos los detalles de navegación de los usuarios, puesto que deben realizar la traducción de HTTP 2.0 a HTTP 1.1.
  • la fase final en la que todas las comunicaciones de los usuarios con los servidores a los que se conectan se encontrarán cifradas, utilizando el conocido protocolo TLS (y las cabeceras comprimidas con el algoritmo DEFLATE).


Fase transitoria

El hecho diferencial de esta fase se deriva de la existencia de unos nuevos jugadores en la arquitectura de Internet, unos servidores proxy, que a modo de pasarela canalizan todas las comunicaciones de los usuarios y que tienen conocimiento de las comunicaciones realizadas a diferencia del resto de actores (para los que las comunicaciones están cifradas) al encargarse de traducir entre versiones de protocolos HTTP.

Esta circunstancia supone, claramente, un riesgo para la privacidad de las comunicaciones, en tanto en cuanto, todas las comunicaciones llegarán en claro a dichas pasarelas que se encargarán de adaptarlo a SPDY. No obstante, no deberíamos presuponer que es una situación peor que la actual, en la que todo el mundo puede escuchar las comunicaciones de una persona. En la transición, solo serán las pasarelas, y cualquiera puede implementar pasarelas. Por ejemplo, si los ISPs crearan estas pasarelas, estaríamos en una situación idéntica a la actual. Si utilizamos otras pasarelas, entonces tendremos que "confiar" en los operadores de esas pasarelas.

No obstante, ¿podremos confiar en estos nuevos actores? ¿se les podrá imponer algún tipo de requisito a sus operadores, tipo "que no puedan utilizar la información que gestionan para otros fines distintos a los propios de la pasarela"? En ese caso, ¿quién debería hacerlo y quién podría tutelar que se cumplen?

Finalmente, esta nueva actividad no deja de ser también una oportunidad para aquellos que provean servicios con confianza, ¿por qué no crear "pasarelas" robustas y confiables en el marco de la UE que sean utilizadas por los usuarios que deseen utilizar pasarelas "de confianza"?


Fase final

En este momento, la situación mejorará claramente, puesto que todas las comunicaciones serán secretas y se podrá asegurar la privacidad de las mismas, puesto que se cifrarán punto a punto (siempre quedarán riesgos como ataques man-in-the-middle, o vulneración de los extremos de las comunicaciones - troyanos, etc.) pero al menos, todo lo relativo a las escuchas pasivas se verá reducido, siendo necesario vulnerar un extremo o la connivencia del mismo para escuchar la comunicación.

Por tanto, en general, la confianza debería mejorar puesto que los usuarios podremos estar tranquilos de que las comunicaciones que mantenemos son secretas y solo se conocen por nosotros y por aquellos con los que nos comunicamos y que no pueden ser "espiadas" de manera masiva (tipo NSA).


Reflexión final

Hablando con algunos colegas sobre el protocolo y las motivaciones de Google para impulsar SDPY creo que tengo un punto de vista quizás, un poco diferente.

En mi opinión, está claro que Google está intentando escapar del efecto negativo que el "caso NSA" está teniendo sobre la confianza de los usuarios en los servicios de Internet, asegurándose de que nadie (ni siquiera la propia Google) podrá acceder al contenido de las comunicaciones (para que tampoco el gobierno americano pueda usar la Patrioct Act) y en este sentido creo que, claramente, tendrá un efecto sobre las prácticas habituales de seguridad nacional: A partir de SPDY no se podrán hacer "escuchas pasivas" de las comunicaciones y será necesario que cuando el Estado quiera escuchar mis comunicaciones tenga que "atacar" mis dispositivos de comunicación (smartphone, tablet, PC..) - algo que, por otra parte, no les es ajeno, o eso me parece. Evidentemente esto es mucho menos "eficiente", pero también es mucho menos "intrusivo" y supondrá una acción mucho más orientada de las "escuchas" a objetivos específicos (lo que será más fácil de justificar).

¿Todavía no me sigues en twitter.com/antonio_ramosga?