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?
Desde hace tiempos tenia dudas si existia alguna palabra o abreviatura que definiera un concepto que se venia escuchando sobre la criptografia o en relacion al pgp, pensaba que si alguien sabia sobre las llaves podria leer tranquilo el mensaje enviado y luego enviarlo y posiblemente haber hecho algun cambio… el MITM viene siendo ese concepto, si vengo a equivocarme entonces espero correcion. pgp y mitm podrian verse involucrados en algun momento.
Un man in the middle es un tipo de ataque en el que el criminal se sitúa entre el que envía el mensaje y quien lo recibe, pudiendo leerlo entre medias.
Pero si ese mensaje viaja cifrado, el delincuente podría leer únicamente el mensaje cifrado, y necesitaría por tanto las claves para compenderlo. El problema surge cuando, dependiendo de dónde se sitúe el atacante, puede que todavía no se haya aplicado el cifrado, y entonces sí lo leería en texto plano.
De ahí la importancia de descifrar en la última capa posible. Mientras más cerca del emisor y/o receptor, mejor, ya que minimizas el riesgo.
Saludos dbillyx!
Muy interesante Pablo. ¿No se acerca en algún grado I2P a este modelo?
A la vista de la intermediación y control que hay en TOR, si es verdad que I2P empieza a cobrar fuerza.
Pero ten en cuenta que TOR está diseñada para ofuscar comunicaciones, y I2P para anonimizar los mensajes. Son dos paradigmas distintos.
Además que I2P no cuenta con un soporte tan amplio como TOR (cosa, por otro lado, que le hace de facto una buena propuesta).
No olvidar que esos servicios al vuelo empezaron con los cifrados de disco y TrueCrypt fue el que más abanderó esa iniciativa (AES). Luego SSL y posteriormente TLS (firma digital, PKI, etc) “garantizan” que la información no pueda ser interceptada por un MITM en una conexión remota. Lo más probable es que esta empresa utilice estas 2 tecnologías existentes para darle ese toque de “cifrado al vuelo”.
Hay más propuestas en el mercado, claro está. Aquí más que la tecnología quería hablar de la propuesta en sí. Por supuesto, usará algún AES potentillo para el cifrado, pero el problema es dónde se aplica dentro de las numerosas capas de la comunicación.
Y quizás el futuro pase porque este tipo de estrategias vengan por defecto aplicadas a los SO, o cuenten con unos permisos suficientes para compatibilizar su uso con el de programas de terceros, de forma que en todo momento se trabaje con información cifrada, que únicamente se descifra al momento de ser mostrada, y se va cifrando conforme deja de ser necesitada.
Buen recordatorio LordZero.