Descifrado de información en tiempo de ejecución invisible al usuario

ionic security

Bajo un escenario de guerra fría digital, en el que las empresas y los usuarios están expuestos a intentos de robo de datos de forma diaria, y en la que los propios gobiernos juegan el papel del gato y el ratón con sus agencias de inteligencia, la importancia de la seguridad e integridad de los datos enviados por internet cobra cada vez más protagonismo.

Es más, ni siquiera podemos estar seguros de que la información que guardamos en nuestros dispositivos está convenientemente segurizada. Las técnicas utilizadas por Equation Group durante años (y descubiertas recientemente) dejan claro que la sociedad de control se ha sofisticado hasta el punto de ser prácticamente invisible y omnipresente.

Hablamos por tanto de una realidad compleja, en la que los grandes proveedores de servicios se deben posicionar entre la interesante gestión de conocimiento de sus usuarios y las peticiones gubernamentales que de ella podrían desprenderse, a sabiendas que su cliente (el usuario) ve con malos ojos estas prácticas.

Un dilema complicado de abarcar, que está forzando a algunas compañías como Twitter a dividirse materialmente en dos, gestionando desde EEUU los usuarios estadounidenses (y por tanto, susceptibles al espionaje masivo de la NSA) y desde Irlanda los usuarios del resto del mundo (y por tanto, amparados por una legislación más sensible con la privacidad).

Una paradoja que lleva a una compañía que vive de los datos, como es Google, a ser la cabeza de turco en forzar las conexiones seguras por defecto en todas las comunicaciones digitales (Para que luego digan que no hago más que sacar los trapos sucios de los chicos de Mountain View :)).

Y a sabiendas de esta situación, me pareció interesante debatir cómo esa misma invisibilidad que tergiversa el papel del mundo digital podría jugar a nuestro favor, si la tecnología de cifrado evolucionara hacia un estándar en cualquier tipo de comunicación, incluso en local.

Cifrado automático e invisible al usuario de toda la información almacenada y compartida

Así llego a Ionic Security (EN), una empresa que salía a la luz estos días (aunque parece que ya está en funcionamiento en algunas de las grandes empresas de la lista Fortune100) presentando una tecnología de cifrado y descifrado automático abstracto al usuario, enfocado principalmente al mundo corporativo.

Básicamente, lo que hace ionic security es controlar la apertura, lectura y escritura de datos en los soportes controlados por su tecnología, de tal manera que según el caso, cifrará o descifrará el contenido en el mismo momento en que este es precisado, volviendo a su estado normal (cifrado por defecto) hasta que un servidor, o un tercero con los permisos adecuados (dispositivos aceptados en la red de la compañía) lo abre.

El paradigma es semejante al que en su día implementaron servicios sociales corporativos como Yammer. El contenido se descifra en el momento de abrirlo o modificarlo, siendo solo visible para aquellos destinados a consumirlo. Y se cifra tan pronto se termina de consumir, de manera que cualquier ataque man in the middle, o cualquier fuga de información llegará a terceros como datos irrecuperables.

Al necesitar de una red específica, si el dispositivo es robado u olvidado en cualquier lugar, un tercero tampoco podría saber qué tiene en su interior, ya que se entiende que no tendrá acceso a la red necesaria para descifrar el contenido.

Y lo mejor de todo es que todo esto ocurre de forma automática e invisible para el usuario. No tiene que meter contraseña alguna, o abrir ese documento (que puede ser un archivo, un email, una conexión a una intranet,…) con un programa específico. Ionic Security funciona como paso previo al consumo de la información, suministrando las claves necesarias para su descifrado justo en la fase final (antes de que la información llegue a la pantalla) y cifrándola tan pronto sale de ella.

Del servicio a la estandarización

Entiendo que extrapolar esto a un escenario global y masivo es, por ahora, utópico, pero quizás por ahí vayan los tiros.

Me imagino sistemas operativos y servicios online cuya información esté permanentemente cifrada, manteniendo el anonimato y control de los mismos por parte de sus verdaderos dueños, y únicamente descifrándose en según qué lugares y qué dispositivos estemos utilizando.

¿Entraña riesgos? Como todo en esta vida.

A priori, y por lo que he podido ver, precisas de una conexión ya que las claves no se guardan en ningún momento en local. Esto juega en nuestra contra cuando además, esa conexión debe establecerse mediante un protocolo específico (lo que por otra parte, evita problemas de robo, MITM o extravío antes mencionados), por lo que en la práctica quizás sí tenga el usuario que activar manualmente una VPN cada vez que quiera acceder al contenido albergado tanto en su dispositivo como en la nube (ya que si esta conexión se hace por defecto, estaremos vendidos).

Y por otro lado, si la guardamos en local, seremos vulnerables a ataques físicos (cosa que también pasaría si optáramos por un modelo híbrido, ¿quizás acompañado de doble factor de autenticación?). Apple optaba por este en su servicio de pago digital, y quizás algo intermedio podría ser la solución.

Siempre estará además en duda la existencia de cualquier vulnerabilidad que permita a terceros controlar el sistema de confianza de una tecnología semejante.

Si las claves están en la nube, ¿qué seguridad tienen esos servidores donde se almacenan? ¿Significa esto que la compañía que está detrás tiene acceso a esas claves? ¿Significaría entonces que un gobierno puede obligar a esa compañía a ceder las claves para realizar algún tipo de espionaje investigación?

¿Delegar este paso en el usuario sería más o menos inseguro?

Preguntas que se me quedan en el aire, y de las que sigo dándole vueltas.

Pero me parece un acercamiento interesante a lo que podría sentar precedentes en un futuro próximo. Todo más abierto (espero) y con un control más cercano al usuario (quizás no nos interese ninguno de los dos extremos). Para que con ello la solución sea a la vez sencilla de utilizar (invisible) y relativamente segura, alejada de miradas indiscretas.

Tanto de los malos (cibercriminales) como de los menos buenos (gobiernos).

¿Qué le parece?