fernando_acero (fernando_acero) wrote,
fernando_acero
fernando_acero

BidiKey: una solución "made in Spain" para la seguridad de la nube y mucho más





Creo que a estas alturas todo el mundo reconoce que el sistema de nombre de usuario y contraseña para acceder a la web, la banca, la nube o a las redes sociales tiene una seguridad que deja mucho que desear y en esas circunstancias será muy complicado que usuarios y/o empresas confíen lo suficiente como para que la nube y todos sus servicios asociados sean un éxito. En teoría, un buen sistema de seguridad debería basarse en lo que tengo, en lo que soy y en lo que conozco y además, cumplir con los principios de Kerckhoffs, lo que no siempre es sencillo de lograr en muchos entornos. Esto nos provoca que en ocasiones se sacrifique la seguridad por la comodidad de los usuarios, con lo que los resultados en ocasiones son desastrosos y aunque algunos usuarios ya lo consideran como un mal menor, o un riesgo asumible, es una situación que dificulta la aceptación y el despliegue de muchos interesantes servicios en la Red.

Es frecuente encontrar noticias tan preocupantes relativas al el creciente robo de contraseña de servicios Web y de redes sociales, como este robo de 45.000 cuentas de Facebook.

Basta un troyano en el ordenador con el que se accede a los servicios, algo que desgraciadamente es muy frecuente, para que alguien pueda disponer de tu nombre de usuario y contraseña, aunque también es cierto, que en muchas ocasiones ni siquiera es necesario un troyano en en el ordenador ya que miles de usuarios siguen siendo víctimas del phishing y las cifras de fraude informático que se manejan, solamente en España, son astronómicas (26 millones de euros en tres años).

Asimismo, no se puede decir que la seguridad proporcionada por las tarjetas bancarias sea demasiado grande, en este caso, el número de noticias sobre fraudes o clonación de tarjetas, es más frecuente todavía que las de robo de identidades en la Red. Aunque también es cierto, que un usuario se da cuenta más rápidamente de que le han limpiado la cuenta, que de los robos de identidad en su red social favorita, o del acceso no autorizado a todos los datos que almacenaba cándidamente en la nube.

Pues bien, la empresa Alter Core, radicada en el Parque Tecnológico de Alcalá de Henares, ha desarrollado la tecnología BidiKey (TM), un sistema simple y elegante, que puede solucionar todos estos problemas de seguridad y abre las puertas a otras interesantes posibilidades de negocio tanto en la Red, como en entornos presenciales. Pensando un poco, creo que lo que aporta BidiKey va mucho más allá de lo que aparece en su sitio web, ya que la información que contiene dicha web no refleja todo su potencial como sistema de acreditación y firma electrónica. Desde mi punto de vista, BidiKey es una solución de seguridad muy interesante para la nube, que además, representa un entorno seguro de firma, y estas características pueden ser muy interesantes y valiosas, para muchas empresas tecnológicas actuales, en especial, cuando hablamos de la necesaria seguridad y privacidad de las transacciones económicas o en los accesos a datos sensibles almacenados en la nube.

El sistema BidiKey se basa en el uso del móvil, algo que llevamos casi todos en estos días casi como un apéndice nuestro, en un sistema de clave pública (PKI) asociado al teléfono, una aplicación de gestión y en los códigos bidimensionales firmados y cifrados. Estos códigos bidimensionales son similares a los QR tradicionales, pero se les ha añadido una capa de seguridad basada en la criptografía de clave pública.

Bueno, creo que explicarlo con palabras, es mucho más complicado que verlo funcionar, por ejemplo, para sacar dinero de un cajero sin necesidad de tarjeta, o para acceder a la nube, como se puede ver en estos vídeos. En ambos casos, se aprecia en los vídeos que se trata de un proceso relativamente sencillo y que se realiza ágilmente en pocos segundos.

Desde mi punto de vista, la tecnología BidiKey es tan simple como eficaz y aplica también con suma eficacia la navaja de Ockham a los complejos sistemas de seguridad basados en soluciones de hardware y software que se requieren en muchos casos. El teléfono móvil del cliente dispone de un programa muy sencillo y una pareja de claves, una pública y otra privada, vinculadas al usuario del mismo. Estas claves son similares a las usadas por los certificados digitales X.509 de la FNMT o de tu eDNI.

Una vez que el usuario se identifica en el servicio con su código (correo electrónico, número de documento, número de teléfono, etc), en la pantalla aparece un código bidimensional firmado y cifrado, que solamente puede ser decodificado con el teléfono móvil que disponga de la clave de ese usuario. Para poder hacerlo, es necesario que el usuario que conozca el PIN y/o el código de seguridad del teléfono y el PIN de la aplicación BidiKey. Como es lógico, el sistema se bloquea cuando cualquiera de estos códigos de acceso se introduce mal un número veces seguidas y que normalmente es tres, por lo que el sistema sigue siendo seguro aunque se pierda o roben el teléfono. Como en cualquier sistema de clave pública, en caso de robo o pérdida del teléfono, el usuario puede revocar las claves y obtener otras nuevas, tras acreditar su identidad, como ocurre con cualquier sistema PKI o tarjeta bancaria.

Una vez que se captura el código con la cámara de su teléfono, y digo capturar, ya que no se trata de hacer una foto y el teléfono efectúa automáticamente la operación, tras enfocar e iluminar la imagen si es necesario, BidiKey comprueba la firma del código, con la clave pública del servicio que lo ha generado, lo que evita los problemas de phishing y luego, usa la clave privada del usuario, para decodificar el código bidimensional capturado con la cámara, obteniendo una contraseña o PIN de un único uso, es decir, se desactiva una vez que es utilizada por el usuario y además, es na contraseña o PIN que tiene una validez temporal para minimizar el riesgo que alguien la pueda usar antes que nosotros. Si se pasa el tiempo de validez de la clave, el proceso es tan sencillo como empezar el procedimiento obteniendo otro código bidimensional cifrado y decodificarlo con el teléfono.

Creo que la verdadera genialidad del sistema BidiKey, es que sigue siendo seguro aunque el teléfono móvil, el ordenador o incluso, cuando ambos estén comprometidos mediante malware o monitorizados de alguna forma. Ello se logra mediante la disociación de la información entre los elementos que participan en la transacción y la conciencia situacional del usuario, que no puede ser suplantada ni modificada por nadie. Además, como no hay una conexión física entre el teléfono y el ordenador, un presunto atacante no puede interactuar sobre los dos equipos al mismo tiempo, ni puede interferir de ninguna forma, o leer el flujo de fotones cifrados, que circula desde el soporte que presenta el código bidimensional cifrado y la cámara del teléfono, podemos decir que esto es la idea más simple de "criptografía cuántica fotónica" que conozco. Expliquemos un poco mejor esto.

Supongamos que vamos a acceder a Facebook desde un cibercafé y el ordenador tiene un troyano. Nosotros introducimos nuestro nombre de usuario, número de usuario, o similar, en los vídeos de demostración que he visto hasta el momento, se usa el número de teléfono (pero no tiene que ser necesariamente así) y seleccionamos BidiKey como método elegido para la autentificación del usuario en Facebook. Inmediatamente nos aparecería en la pantalla un código bidimensional firmado por Facebook y cifrado para que solamente pueda ser decodificado por la clave privada que almacena nuestro teléfono y solamente nuestro teléfono. Después de leer nuestro código de acceso en la pantalla del teléfono, lo introduciremos como si fuera nuestra contraseña para esa sesión en Facdebook. El el peor de los casos, el atacante tendría nuestro nombre de usuario y la contraseña, pero una vez que la hemos usado en Facebook, ese código de acceso queda desactivado para siempre y no le servirá para nada al atacante el conocerlo.

Como se puede apreciar, no es necesario que el teléfono tenga línea para que BidiKey funcione, lo que permite trabajar con otros dispositivos, como PDA's. Esto también significa que podemos poner el teléfono en modo "avión" para entornos que requieran una mayor seguridad, así como en aquellos sitios en los que no se pueda usar el teléfono, o en los que no llega la cobertura de la telefonía móvil.

Lo mismo ocurre si lo que está comprometido es nuestro "smartphone". El atacante, en este caso, solamente verá un código numérico o alfanumérico, que usuario tendrá que usar para autentificarse ante un servicio, pero no sabrá si ese código lo usará para entrar en Facebook, o para sacar dinero del banco, o para entrar en casa o en el trabajo, para él, solamente son una serie de caracteres alfanuméricos sin mucho sentido. De nuevo, una vez que sea utilizado por el usuario, quedará inutilizado, así como si no lo utiliza en un tiempo razonablemente corto.

En el caso de que un atacante controle los dos dispositivos al mismo tiempo, estaría en el primer caso, salvo que estuviera monitorizando de forma permanente nuestro dispositivo y teclease el código antes que nosotros. Pero eso es imposible si la autentificación se inició mediante una conexión segura con el proveedor de servicios, por ejemplo Facebook. Una conexión nueva con nuestro identificador de usuario, implicaría la necesidad de decodificar un un código BidiKey nuevo, lo que no estaría al alcance del presunto atacante al no tener nuestro teléfono con las claves y las contraseñas necesarias para hacerlo.

Algunos podrán decir que una clave en un teléfono móvil puede ser vulnerable en caso de que un atacante tenga acceso físico al teléfono. Bueno, la clave o claves pueden ir almacenadas en el teléfono usando el contenedor de software del navegador (firma avanzada), pero para mayor seguridad, también pueden ir asociadas a la tarjeta del teléfono (SIM/SAM) o a una tarjeta de memoria especial, que además de 1Gb de memoria, dispone de un chip inteligente similar al que tiene nuestro eDNI, (en ambos casos sería una firma reconocida),

Además, si se opta por la solución en tarjeta, al ser un sistema más rápido, podemos tener otro bonus adicional muy interesante, las comunicaciones entre dos teléfonos que dispongan de tarjetas similares, podrían estar cifradas mediante un algoritmo y unas claves de alta seguridad.

Bueno, hasta aquí hemos visto que este sistema funciona como medio de acreditación personal de alta seguridad, pero lo mejor de todo, es que además de ser seguro, también es muy flexible y útil en muchos otros entornos, ya que además de comprobar las firmas y decodificar los códigos que capturamos con la cámara del teléfono, también puede generar códigos firmados y cifrados por nosotros para un determinado servicio. Códigos que se pueden presentar en la pantalla del teléfono para ser leídos por una cámara, o que se pueden enviar mediante SMS multimedia, correo electrónico o mensajería instantánea, por ejemplo, para contratar de forma segura servicios o bienes, para operaciones de banca electrónica, operaciones con la administración electrónica, firma remota de documentos, acceder a eventos, usar billetes electrónicos, intercambio de moneda electrónica, etc.

Recordemos por ejemplo, el problema de las entradas falsas del concierto de Lady Gaga en Madrid, el pasado diciembre de 2010. El sistema BidiKey permite comprobar la validez de las entradas mediante la firma electrónica del emisor, antes de proceder al pago de las mismas. Posteriormente, bastaría presentar en la pantalla del teléfono la entrada adquirida ante una cámara a la entrada del concierto, para acceder a él, eliminando así los problemas de la venta de entradas falsas o incluso, de la reventa no autorizada ya que las entradas se podrían vincular a la persona que las adquirió.

Se pueden utilizar operativas similares a ésta para acceder a zonas de seguridad, garajes comunitarios, acceso a instalaciones, entradas a eventos, para la compra y uso de billetes de avión, tren o barco, para abonos de transporte público (inmunes a la pérdida de los títulos de transporte) y todo ello, sin los problemas e inconvenientes del NFC o del RFID. Para acceder a todos estos escenarios, solamente es necesaria una cámara que lea el código que mostramos en la pantalla de nuestro teléfono móvil.

Es más, el sistema BidiKey no compite directamente con NFC y podría ser usado en combinación con BidiKey para mejorar la seguridad en algunos entornos críticos. Por ejemplo, se podría usar el NFC asociado al teléfono como medio de identificación en lugar de teclearla ante el sistema, así dicha identificación también estaría protegida y el acceso a algunos servicios podría ser más rápido.

Otra cosa que me gusta del sistema BidiKey, es que no es estrictamente necesario presentar un documento para verificar la identidad del usuario en las transacciones presenciales, por lo que también es más respetuoso con la privacidad de las personas. Por ejemplo, para pagar en un restaurante indicaremos al camarero que queremos pagar con BidiKey y teclearemos en el TPV nuestra identificación de usuario. El camarero nos presentará una factura o un ticket con los datos de nuestra consumición "en claro" y un código bidimensional impreso que tenemos que descifar con nuestro teléfono, con lo que nos podemos llevar el papel como justificante, tal como hacemos habitualmente. Luego decodificaremos el código impreso en el papel con nuestro teléfono y leeremos en la pantalla la hora, la fecha de la transacción, el lugar y la cantidad a pagar y una vez que vemos que coincide con los datos del ticket, teclearemos en TPV el código de validación de la operación, que también le aparece en la pantalla del teléfono junto a toda esa información. Una vez introducido el código de validación, el sistema comprueba y que la identidad del usuario es la correcta y autoriza o deniega la operación. Es decir, que nuestra identidad ya no es aportada por nuestro DNI o pasaporte como cuando usábamos la tarjeta, está implícita en el sistema, como ocurre en las transacciones no presenciales en la Red.

En sitios en los que la rapidez sea importante para evitar colas, por ejemplo, en micropagos, como al pagar en una gasolinera, en un peaje o en comercios, la operación puede ser a la inversa. Es decir, el usuario puede teclear la cantidad a pagar y seleccionar la cuenta con la que desea pagar entre las que tenga dadas de alta en el sistema BidiKey. Una vez introducido el PIN de la aplicación, se generará un código bidimensional firmado con su clave privada y cifrado con la clave pública del servicio de pago seleccionado que aparecerá en la pantalla del teléfono. Dicho código, también incluirá un código de operación único y un código de tiempo, para que no se puedan duplicar los pagos usando una copia del mismo. Estas sencillas operaciones se pueden hacer en pocos segundos mientras se espera en la cola de la caja, o de camino a ella. Para pagar, el cliente solamente tiene que mostrar el teléfono ante un cámara o escáner instalado en la caja del establecimiento y el sistema, en pocos segundos, deniega la operación si no hay fondos, o la autoriza y efectúa el pago, simple, seguro, rápido y efectivo y además, sin el problema de teclear erróneamente el código de autentificación en el TPV, como ocurre en ocasiones con las tarjetas de crédito. De forma similar, se pueden establecer operativas más o menos complejas como la emisión de recetas, la ransferencia de dinero electrónico, como bitcoin a cajero, TPV o entre terminales, etc, las posibilidades son infinitas.

Aunque parece complicado, la mayor parte de estas operaciones son transparentes para el usuario, que usará procedimientos idénticos para las tres operaciones básicas, con independencia del servicio al que acceda, es decir, siempre se autentificará, firmará o demostrará su identidad de la misma forma. En realidad, el usuario solamente tiene que recordar el PIN del teléfono y/o su código de seguridad y el PIN de la aplicación BidiKey y en el caso más frecuente, este último PIN es el único que tendrá que teclear cada vez que quiera acceder a un servicio. La consecuencia de esto, es que con BidiKey también solucionamos los problemas de recordar, almacenar o gestionar múltiples contraseñas y códigos de acceso. Además, la aplicación es muy sencilla y solamente tiene tres opciones, leer, firmar e identidad.

Como hemos dicho, el sistema es muy flexible e incorpora muchas opciones de seguridad adicionales, como la vinculación de la clave con la SIM del teléfono o el uso de tarjetas inteligentes asociadas a la aplicación y utiliza los algoritmos criptográficos más modernos, pero también se pueden diseñar operativas de doble canal, por ejemplo, mediante SMS, si se renuncia a la posible ventaja de que el teléfono no tenga que estar conectado a la Red del operador para trabajar, lo que añadiría mucha más seguridad a la operativa, aunque restaría un poco de flexibilidad y podría aumentar los gastos de la transacción.

BidiKey se puede adaptar con facilidad a cualquier problema y nivel de seguridad que requiera cualquier servicio presencial, o no presencial. Recordemos otras tres ventajas muy importantes de BidiKey. En primer lugar, el sistema no requiere que el teléfono esté conectado a Internet, ni siquiera a la red de la operadora para funcionar. En segundo lugar, los códigos bidimensionales se pueden presentar al teléfono en cualquier soporte como papel (facturas), pantalla de ordenador, pantalla LCD de un TPV, etc, no hay restricciones para su uso y ni siquiera habría que modificar el software de los cajeros para poder utilizarlo. Y en tercer lugar, algo mucho más importante, Bidikey es interoperable con cualquier plataforma o sistema ya que no es necesario instalar software o hardware en un ordenador para poder trabajar con BidiKey. Así puedo ir a cualquier cibercafé del mundo, con independencia de su hardware (teléfono, TPV, televisón, papel, monitor, PDA, etc) o software (Windows, Linux, MacOS, etc), y puede operar con toda seguridad y comodidad con mi banco o en la nube, simplemente disponiendo de mi teléfono móvil, sin hardware adicional, sin controladores, sin contraseñas y sin lectores de tarjetas inteligentes o de NFC.

Desde mi punto de vista, cualquier empresa como Google, Facebook, Microsoft que incorporase un sistema como Bidikey también tendría una importante ventaja competitiva, en especial, si es la primera en adoptarlo, al mejorar de forma muy significativa la seguridad de acceso a su nube o servicios y al mismo tiempo, disponer de una herramienta muy eficaz para desplegar otros tipos de negocio que antes eran impensables puesto que BidiKey, además de seguro, es bidireccional. Por ejemplo, BidiKey se puede usar, intercambio de "bitcoins", venta de entradas online, acceso a contenidos de pago en la Red, comercio electrónico, banca online, venta de entradas, etc incluso vendiendo esos servicios a terceros.

Pero pensando un poco, se me ocurren otros muchos escenarios en los que se podría usar BidiKey con mucho éxito. Por ejemplo, para recibir información sensible, como el saldo de la cuenta o el número de cuenta, manejo de datos personales protegidos, comprobación de la autenticidad de productos, programas de fidelización de clientes, gestión de promociones y ofertas en la Red, factura electrónica, receta electrónica, administración electrónica, autentificación de usuarios ante servicios de terceros, pagos presenciales, acceso seguro a ordenadores portátiles, etc, etc, etc.

La flexibilidad del sistema y los escenarios son infinitos, y en especial, creo que es una solución muy interesante para todos aquellos entornos en los que se requiera sencillez, alta seguridad y privacidad de los usuarios.

NOTA LEGAL: La tecnología BidiKey, así como las operativas y escenarios de uso de códigos bidimensionales cifrados y/o firmados descritos en el presente artículo, son propiedad de Alter Core y se han publicado con su consentimiento.

"Copyleft 2012 Fernando Acero Martí­n. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved. Quotation is allowed."

Tags: alter core., banca electrónica, bidikey, nube, seguridad
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 4 comments