Ir al contenido principal

De cómo hemos perdido la batalla de la privacidad en Internet

Últimamente es raro el día que no aparecen noticias nuevas relacionadas con la privacidad en Internet y los esfuerzos de la NSA por escudriñar cada milímetro de la red de redes. El desencadenante de todo esto fue la información filtrada por Edward Snowden días después de que tuviéramos conocimiento del proyecto PRISM de la NSA (en colaboración con la GCHQ inglesa y el gobierno de Israel).
Lo sospechábamos, pero ahora ya sabemos que grandes empresas como Google, Microsoft o Apple cede información privada de sus usuarios al Gobierno Americano. No en vano, la NSA ha hecho grandes esfuerzos por desarrollar técnicas de datamining con la intención de que nada escape a sus ojos y poder procesar las grandes cantidades de información a la que tienen acceso, tanto de ciudadanos americanos como de cualquier otra parte del mundo.




El nivel de colaboración es tal que empresas tan emblemáticas como Microsoft ofrece acceso a los mensajes cifrados de sus usuarios de outlook.com o a las videollamadas de Skype. También cuentan con la colaboración de operadoras de telecomunicaciones, que ofrecen libre acceso a los datos que viajan por sus redes y a las claves de cifrado de las comunicaciones móviles.

Pero el gobierno americano no sólo se conforma con mirar tu correo e invadir tu privacidad considerándote como un potencial terrorista. Para ellos, el resto de paises también es sospechoso, incluidos los integrantes del G20, a los que espió monitorizando sus llamadas telefónicas o montando cibercafés falsos en la cumbre del G20 de Londres en 2009 o las de la Commonwealth. No se salvan ni las embajadas europeas.

Llegados a este punto, y ya con la certeza de que la privacidad en Internet está seriamente comprometida, cabe preguntarse qué implicaciones tiene esto para las empresas y los gobiernos del resto de paises. Pongamos España.
A nadie se le escapa que nuestros políticos y grandes empresarios se comunican mediante sus teléfonos inteligentes y sus tablets intercambiando mensajes y llamadas alegremente, sin plantearse siquiera que la información que envían puede estar siendo monitorizada. ¿Se imaginan al Gobierno Americano conociendo los planes del Gobierno Español antes incluso de que se anuncien públicamente? ¿Y obteniendo información crítica de innovaciones de empresas españolas antes de que puedan ser patentadas? Ya entramos en terrenos farragosos donde no sólo se pone en peligro la acción de un gobierno. Además tiene implicaciones económicas y de espionaje industrial. ¿Qué pasaría si un empresa estadounidense conoce de antemano cual será la oferta de las empresas rivales a la hora de adjudicarse una gran obra en algún país emergente?
Incluso si se llega al máximo nivel de paranoia y se toma la radical resolución de no usar las redes para comunicarse, nos queda el pequeño inconveniente de que el sistema operativo mayoritario, Windows, es sospechoso de esconder una puerta trasera.

La solución pasa por hacer uso intensivo de la Criptografía, estarás pensado. Y sí, personalmente creo que es la opción más segura, pero parece que incluso aquí, la NSA se ha cubierto las espaldas.
En principio, la mayoría de los algoritmos criptográficos que se usan actualmente pueden considerarse seguros. Si nos ponemos paranoicos, es cierto que no está matemáticamente demostrado que RSA sea seguro, pero la opinión general de los cientificos de la criptografía es que sí. El problema es cuando emergen sospechas sobre puertas traseras en programas criptográficos como OpenSSL.
El proyecto Bullrun deja pequeño a PRISM y permite al Gobierno Americano acceder a las comunicaciones cifradas mediante argucias como la inclusión de puertas traseras en la implementación de los algoritmos criptográficos. Ni siquiera la red Tor, supuestamente anónima, escapa de sus garras.
Y el problema es que lo tiene relativamente fácil. Recordemos que NIST, el National Institute of Standards and Technology depende del gobierno, y es precisamente allí donde se deciden los estándares criptográficos que luego usamos en el resto del planeta, por lo que no sería de extrañar que traten de promover estándares criptográficos débiles o directamente vulnerables.
Incluso el hardware y el firmware que hay en nuestros ordenadores son sospechosos, incluido el generador de números aleatorios de los micros Intel, basados en el estandard NIST SP800-90, que fue muy influenciado (por decirlo suavemente) por miembros de la NSA.
También es sospechosa Microsoft y su CriptoAPI. Así pues tenemos a millones de servidores web sirviendo páginas supuestamente seguras a través de SSL de los cuales una gran cantidad usan IIS con CriptoAPI y casi todos los demás que usan Linux con Apache o similares y que basan su seguridad en OpenSSL. Es decir, las comunicaciones cifradas por SSL son más que sospechosas, y eso tiene implicaciones muy serias. Recordemos que la mayoría de las transacciones económicas mundiales se hacen por Internet. Desde operaciones bancarias y bursátiles hasta una simple compra en cualquier comercio electrónico.

En resumen, la red Internet se haya tocada de muerte si no podemos confiar en ella, con las implicaciones sociales y económicas que ello conlleva. Quiero recalcar que no es la Criptografía la que está fallando, sino los "fallos" en las implementaciones, puertas traseras y mal uso de los programas que la utilizan.
Así las cosas, sólo veo dos salidas: o nos conformamos con la situación actual y nos acostumbramos a un presente orwelliano donde el Gran Hemano nos vigila o, alternativamente, repensamos la seguridad en la red, o incluso la propia red misma, y hacemos un esfuerzo por mantener la transparencia absoluta en todo lo relacionado con los estándares criptográficos. Creo que debe implicarse más al mundo académico de todo el mundo y a los cientificos y matemáticos que investigan en Criptografía. Si no somos capaces de llegar a la máxima transparencia y a diseñar un método que nos permita tener ciertas garantías de que las implementaciones de los algoritmos criptográficos son seguras, no podremos retomar la confianza en la red de redes.
Personamente creo que si en nombre de la guerra contra el terrorismo cedemos nuestra privacidad, los terroristas ya habrán ganado.

Comentarios

Entradas populares de este blog

Criptografía en Python con PyCrypto

A la hora de cifrar información con Python, tenemos algunas opciones, pero una de las más fiables es la librería criptográfica PyCrypto, que soporta funciones para cifrado por bloques, cifrado por flujo y cálculo de hash. Además incorpora sus propios generadores de números aleatorios. Seguidamente os presento algunas de sus características y también como se usa.


Regresión lineal y descenso de gradiente con Python

En machine learning, el objetivo principal es encontrar un modelo que explique el comportamiento de un sistema (en el amplio sentido de la palabra). A partir de unos datos de entrenamiento, un sistema de aprendizaje automático ha de ser capaz de inferir un modelo capaz de explicar, al menos en su mayoría, los efectos observados. Pero también aplicar ese aprendizaje. Por ejemplo, un sistema de machine learning muy lucrativo para las empresas anunciantes es aquél que dado un perfil de usuario (datos de entrada A), sea capaz de predecir si pinchará o no (salida B) sobre un anuncio publicitario de, por ejemplo, comida para gatos. No es sencillo crear un modelo capaz de predecir el comportamiento del usuario (o sí), pero en todo caso, existen diferentes técnicas que nos permiten abordar el problema. En el caso del ejemplo que acabamos de ver, el modelo debería ser capaz de clasificar a los usuarios en dos clases diferentes, los que pulsarán y los que no pulsarán el anuncio de comida de ga…

Desbordamiento de enteros (Integer Overflow)

Ya os he hablado en este blog de posibles problemas potenciales que se pueden dar en los programas y que son susceptibles de ser explotados para hacer que dichos programas se comporten de forma diferente a la que deberían. Uno de estos problemas es el del desbordamiento de la pila. Sin embargo, hay otros posibles errores de programación que, aunque menos obvios, son igual de peligrosos. Uno de ellos es el desbordamiento de enteros o integer overflow. Para entender cómo funciona os presento un ejemplo muy sencillo pero didáctico.