Mind the Gap

Este mes de Septiembre tenemos el placer de presentar a Manuel José Lucena López como nuevo blogger invitado. Manuel es Doctor en Informática de la Universidad de Jaén, experto reconocido en criptografía y colaborador habitual de Kriptópolis. Su libro Criptografía y Seguridad en Computadores (electrónico, gratuíto, licencia Creative Commons) es todo un clásico, una obra de referencia utilizada en docenas de universidades y por miles de estudiantes que dan sus primeros pasos en este mundillo.

Manuel apostó por Negonation desde el principio. De hecho, es uno de los primeros negonators. En el 2004, cuando el proyecto no era más que un cúmulo abstracto de ideas, nos reuníamos el primer sábado de cada mes en Madrid, en una sala que nos dejaba la gente de la Biblioteca de las Indias Electrónicas. Los colaboradores venían de toda España y Manuel, desde Jaén, cada Sábado, tras una paliza de tren. En la actualidad, Manuel trabaja en el algoritmo de verificación de certificados X.509 de nuestra Autoridad de Validación. Una tarea matemática y de detalle que le viene como anillo al dedo y cuyo resultado haremos software libre.

Sin más preámbulo, maestro, bienvenido al blog. El post nº 50 es todo suyo… :D

Cualquiera que haya estado en Londres reconocerá inmediatamente el famosísimo aviso de las estaciones de metro, cuyo propósito es recordarnos que hay que tener cuidado con el hueco existente entre el andén y los vagones. En Informática ocurre algo muy parecido: tenemos que desenvolvernos en varios planos, y tener en cuenta los “gaps” que hay entre los mismos.

Mind the Gap. Don't Gap the Mind.

Siempre que queremos resolver un problema mediante el uso de computadores, tenemos necesariamente que movernos en tres universos diferentes, cada uno de ellos con sus propias reglas: en primer lugar está el mundo real, el de toda la vida, que es donde habitualmente surge el problema; no menos importante es el mundo abstracto, lugar donde residen los formalismos matemáticos (normalmente algoritmos) que permiten construir el software necesario; y finalmente tenemos el mundo de electrones, cables, bits, memorias, buses y demás componentes electrónicos de la computadora en sí, que da soporte a los algoritmos, a la vez que permite crear representaciones de los problemas y sus correspondientes soluciones legibles desde el mundo real. De nada nos sirve, por ejemplo, diseñar un algoritmo de gran belleza, matemáticamente elegante e impecable, si luego el soporte físico donde debe correr -la computadora- no es capaz de ejecutarlo de manera práctica.

La firma digital es una de esas aplicaciones en las que estos tres planos interaccionan de una manera más fascinante y donde, a la vez, los “huecos” entre cada plano resultan más evidentes. Esto explicaría muchas de las dificultades que han experimentado diversas aplicaciones de firma digital, a la hora de llegar al gran público.

Cuando alguien firma un documento al modo tradicional, produce una marca que es fruto de la interacción del bolígrafo o pluma con el papel, y que responde a las características biomecánicas de su brazo. Estas características pueden ser analizadas por un grafólogo con objeto de detectar una falsificación. Pero no nos engañemos: una firma puede falsificarse. Lo que ocurre es que sabemos que la probabilidad de conseguirlo es baja, y hemos aprendido a aceptar ese riesgo (igual que otros muchos), lo cual nos permite dormir por las noches sin demasiados problemas.

Una firma digital debe ser analizada en los tres planos antes mencionados. En el de las matemáticas, podemos afirmar que disponemos de técnicas que aportan un nivel de seguridad extraordinariamente alto, por lo que los riesgos que aparecen a ese nivel son prácticamente nulos. Sin embargo, la cosa se complica (y mucho) si queremos construir una solución “real”, para el mundo real. De hecho, cuando yo firmo digitalmente un documento, en realidad es la computadora la que hace los cálculos, limitándose mi papel a la aportación de alguna prueba (contraseña, dispositivo, etc) que acredite mi identidad. Y el proceso de aportar dicha prueba, desde que sale de mí hasta que llega a plasmarse en la secuencia apropiada de bits dentro de la memoria del ordenador, puede convertirse en un auténtico campo minado. Recorrerlo de una manera que sea absolutamente segura es del todo imposible, pero estoy convencido de que, si se hace de forma apropiada, los riesgos pueden reducirse muy por debajo de los que presenta la firma tradicional.

El proyecto Tractis me ha enseñado la tremenda importancia que tiene salvar correctamente todos los “gaps” que hay entre la firma digital, entendida desde el punto de vista matemático, y la firma digital entendida como aplicación para los usuarios del mundo real. Escuchando a los miembros del equipo me he dado cuenta de lo complejo que puede resultar hacer las cosas sencillas y útiles a la vez para la gente. Desconozco si al final esta aventura tendrá éxito, pero puedo afirmar, al más puro estilo hollywoodiense, que si alguien puede conseguirlo, son ellos.

Por Manuel Lucena
Guardado en: Bloggers invitados, Firma digital, Tractis | Sin comentarios » | 11 de Septiembre de 2006

Más entradas en Negonation Blog