• Inicio
  • Blog
  • Garantizando la autoría del mensaje digital o cómo la preocupación por la privacidad llevó a la firma digital (Explorando la frontera digital IV)

Garantizando la autoría del mensaje digital o cómo la preocupación por la privacidad llevó a la firma digital (Explorando la frontera digital IV)

24 mayo 2019

En mi post anterior me ocupé de la cuestión de cómo garantizar la integridad del contenido de eso en apariencia tan evanescente como un archivo digital: cómo de la conservación controlada del soporte físico en que está registrado el archivo se pasa a ese sistema de identificación puramente “lógica” del contenido del archivo que resulta del empleo de las funciones de hashing.
Ahora procede que nos ocupemos de una cuestión distinta: cómo asegurar no el contenido sino la autoría o procedencia del archivo. Esto es algo fundamental si se pretende emplear el medio electrónico para comunicaciones con trascendencia jurídica, para transmitir declaraciones de ciencia o de voluntad jurídicamente imputables a personas determinadas.
Cómo se llegó a idear una herramienta técnica capaz de semejante utilidad es una historia tan interesante desde el punto de vista intelectual como extravagante.

Whitfield Diffie contra el secretismo y el monopolio de la criptografía por la  Agencia de Seguridad Nacional


Corrían los primeros años de la década de los setenta cuando Whitfield Diffie, un melenudo matemático graduado en el MIT y aficionado a la cría de mofetas y otros animales exóticos, vagaba con su novia de un estado a otro de los USA en un destartalado Datsun 510, visitando bibliotecas y tratando de entrevistarse con todo el que tuviera alguna información sobre un tema sobre el que nadie parecía dispuesto a hablar: las técnicas modernas de criptografía matemática, una peculiar rama del conocimiento que había sido vital para la conclusión con éxito de la Segunda Guerra Mundial y que durante los tiempos de la Guerra Fría era objeto del más absoluto secretismo por parte de los servicios de inteligencia nacionales, en particular la NSA estadounidense, una agencia estatal tan críptica que prácticamente nadie sabía de sus actividades y ni siquiera de su existencia.
Diffie era un tipo tan excéntrico como visionario, y por entonces estaba obsesionado por la amenaza para la privacidad de las vidas humanas que a su juicio iba a traer consigo el desarrollo y difusión de la tecnología informática. Y ello porque cualquier información en soporte digital resulta muy vulnerable tanto a la intromisión como a la copia. En un contexto en el que una cantidad ingente de información sobre nuestras vidas iba a ser digitalizada, la preservación de la privacidad requería una herramienta específica que no podía ser otra que la moderna criptografía, la cual hacía uso precisamente de la capacidad de cómputo de los propios ordenadores. Los ciudadanos debían poder acceder al uso de este tipo de criptografía para proteger su privacidad. Incluso esto era una necesidad para el posible desarrollo de actividades económicas y en particular del comercio en el nuevo medio digital. Pero resulta que todo lo que tuviera que ver con la criptografía era secreto de Estado. Toda la información sobre esta materia estaba clasificada, no se podían registrar patentes, los trabajos científicos se supervisaban, los mejores cerebros eran captados por la NSA y trabajaban en un recinto cerrado bajo graves compromisos de confidencialidad y cualquiera que cometiese la osadía de investigar por su cuenta se encontraba pronto con algún agente federal mirando por encima de su hombro y anunciándole todo tipo de problemas.
En sus viajes en el Datsun Whit Diffie no consiguió apenas la información que buscaba pero sí terminó encontrando un espíritu afín, con el que aunó sus esfuerzos: Martin Hellman, un ingeniero electrónico que daba clases en la Universidad de Stanford y que compartía tanto su interés por la criptografía como una actitud contestataria ante los planteamientos secretistas oficiales.
Dándole vueltas al asunto, Diffie llegó a la conclusión de que era necesario desarrollar un sistema de criptografía de carácter descentralizado, es decir, un sistema en el que no existe un administrador que asigna claves a cada uno de los usuarios y por tanto conoce las claves de todos, como venía sucediendo cuando se empezó a compartir entre varios usuarios el tiempo de trabajo o la capacidad de un mismo equipo informático. Una completa seguridad para la información generada y registrada en el nuevo medio digital sólo sería factible si cada uno de los usuarios pudiera cifrar sus archivos con una clave sólo conocida por él. Además, para cifrar tanto la información de uso personal y privado como las comunicaciones o mensajes entre sujetos determinados la única criptografía hasta entonces conocida era siempre de tipo “simétrico”, lo que quiere decir que la misma clave que se emplea para cifrar o encriptar un texto es la que se debe aplicar para descifrarlo y hacerlo legible. Como consecuencia de ello, en el ámbito de las comunicaciones esta criptografía sólo puede operar entre sujetos que se conocen y confían entre sí, porque han de compartir el secreto de esa clave única, y además está expuesta al problema del conocimiento o interceptación de la clave por un tercero, porque necesariamente debe existir una previa comunicación entre las partes de la clave que se va a emplear y en esa comunicación se encuentra el punto débil del sistema, siendo éste más inseguro cuanto más elevado es el número de participantes que conocen la clave, pues el sistema es tan confiable como lo sea el menos fiel o cuidadoso de éstos.

La visión de un sistema de criptografía asimétrica


Pues bien, en un día del mes de mayo de 1976 a Diffie le sobrevino la idea que revolucionó para siempre la historia de la criptografía: la descomposición de la clave en dos, de manera que lo que se cifra con una sólo se puede descifrar con la otra y además el conocimiento de una de ellas no permite deducir la otra clave. Generado un par de claves con estas propiedades, una de las claves podría darse a conocer por un medio inseguro e incluso hacerse pública (una verdadera herejía en la historia milenaria de la criptografía), mientras la otra se mantendría reservada y secreta por el usuario. Esto a su vez podía proporcionar dos funcionalidades diferentes, que no debemos confundir:

  • Primero, puede servir para transmitir mensajes de forma confidencial por un medio inseguro (como pronto sería Internet). El remitente cifra o encripta el mensaje aplicando precisamente la clave pública del destinatario, que le ha sido dada a conocer previamente por éste por un medio que no tiene por qué ser confidencial o que incluso puede ser de conocimiento público general. De esta manera, sólo esa concreta persona destinataria podrá leer el mensaje, porque sólo ella puede desencriptarlo aplicando su clave privada (que es la clave correlativa a la clave que se empleó para cifrar).

  • Y segundo, para algo diferente y muy importante que no tiene que ver con la confidencialidad o el secreto, sino con la autoría, con el aseguramiento de la procedencia y por tanto la imputación de un mensaje: como herramienta de firma electrónica o digital. Para ello el remitente encripta la totalidad del mensaje o ese breve destilado de su contenido que es su hash (para la explicación de este concepto me remito a mi post anterior) con su clave privada y lo envía. Cualquiera que reciba un mensaje total o parcialmente encriptado de esta forma puede verificar su procedencia simplemente aplicando la clave pública de la persona que aparece como remitente. Si el mensaje o la parte encriptada de éste se desencripta, entonces podemos tener la seguridad de que fue encriptado precisamente por esa determinada persona que se supone que es la única que conoce y pudo aplicar la clave privada correlativa. De esta manera, la criptografía de doble clave se convierte en un instrumento para que los destinatarios de los mensajes puedan verificar de forma indubitada su procedencia. Lo que es lo mismo que decir que esta criptografía se convierte en una herramienta para generar una firma electrónica: aplicando mi clave privada a cualquier mensaje lo estoy firmando, en la medida en que le estoy aplicando una marca o señal de reconocimiento que se supone que sólo yo puedo aplicar, en cuanto se supone a su vez que soy la única persona del mundo que conoce esa clave privada.


Además, las dos funciones expuestas de la criptografía asimétrica se pueden combinar: el remitente firma el mensaje aplicándole su clave privada y luego lo encripta aplicando la clave pública del destinatario. De esta manera solo éste puede leerlo y además tiene garantía de procedencia.

En busca de una función matemática unidireccional


¿Y cómo conseguir un par de claves que tengan estas propiedades?
En el mes de junio de 1976 Diffie y Hellman publicaron un primer artículo con el título «Multiuser Cryptographic Techniques», en el que se limitaban a exponer su visión de un posible sistema criptográfico de doble clave, mediante el cual se podría proporcionar seguridad (tanto confidencialidad como autenticidad) a las comunicaciones entre desconocidos. La herramienta matemática para ello debía ser una “función unidireccional” –fácil de computar en un sentido pero muy difícil de revertir–, que estuviera dotada de una “puerta trasera”, que permitiese al conocedor de una determinada clave secreta (una parte crucial de la información sobre cómo se había hecho el cómputo original) un fácil descifrado del mensaje. El problema era encontrar esa rareza matemática que es una función unidireccional.
Como consecuencia de la publicación de ese artículo, se puso en contacto con ellos un tal Ralph Merkle, un estudiante de computación en la Universidad de Berkeley, que por entonces estaba trabajando por su cuenta en algo parecido (sus propuestas se conocen como los Puzzles de Merkle y el problema de la mochila).
Después de ser influenciados por las ideas de Merkle, Diffie y Hellman, en una versión remozada de su primer artículo, publicada con el título «New Directions in Cryptography» en noviembre de 1976, propusieron el que sería conocido como Algoritmo Diffie-Hellman, basado en una función unidireccional consistente en la operación matemática de la exponenciación discreta o modular y su difícil operación inversa que es el logaritmo discreto. La exponenciación discreta o modular consiste en calcular el resto c que resulta de elevar una base b a un determinado exponente e y dividir el resultado por un módulo m. Es una operación fácil de realizar aun tratándose de números muy grandes. La operación inversa, es decir, calcular el exponente e dados b, m y c –el logaritmo discreto- es, sin embargo, una operación muy difícil.
Sin entrar en el tecnicismo de la fórmula matemática, lo que nos interesa saber es lo siguiente: Bob y Alice generan cada uno de ellos dos números al azar, uno lo mantienen secreto y el otro lo intercambian por un medio inseguro; a continuación, mediante la aplicación del algoritmo sobre el número recibido de la contraparte y su propio número secreto, cada uno de ellos obtiene un nuevo número que vuelven a intercambiar. Partiendo de estos dos últimos números diferentes, Bob y Alice realizan una operación que arroja como resultado en ambos casos el mismo número, un número que sólo conocen ellos y que pueden emplear como clave. En este modelo, la diferencia entre el cálculo que requiere la aplicación de la puerta trasera de que disponen Bob y Alice y el esfuerzo computacional de fuerza bruta que exigiría el ataque de un tercero viene a ser exponencial (puede requerir millones de años de tiempo de computación). No obstante, este diseño tiene el inconveniente de que no proporciona autenticidad de origen, es decir, no sirve para firmar un mensaje y permitir su imputación segura a un determinado remitente. Simplemente, sirve para generar de forma segura una clave compartida, es decir, simétrica, entre sujetos desconocidos o que operan en un medio de comunicación inseguro.

El algoritmo RSA


El paso definitivo en el camino hacia la criptografía asimétrica se lo debemos a Ronald Rivest y sus colaboradores Adi Shamir y Leonard Adleman, todos ellos matemáticos del MIT, que publicaron en el año 1977 un trabajo con el título «A method for obtaining digital signatures and public-key cryptosystems». El método en cuestión empleaba como función unidireccional el producto de dos grandes primos –de más de cien dígitos-, cuya operación inversa, la factorización para hallar los dos primos que han sido multiplicados, es una tarea computacionalmente muy costosa, que sólo se puede resolver por fuerza bruta. Sobre esta base idearon un algoritmo, conocido como RSA (de Rivest, Shamir y Adleman), consistente en una secuencia de operaciones que sí permitía la generación de dos claves enlazadas matemáticamente entre sí, con las propiedades que antes he anticipado: lo que se encripta con una sólo se puede desencriptar con la otra y viceversa, y el conocimiento de una de ellas no permite deducir la otra clave. Y esto es lo que a su vez permite que una de las claves se pueda hacer pública y la doble funcionalidad que había imaginado Whitfield Diffie.

La base no matemática de un sistema de firma electrónica de criptografía asimétrica


Ahora bien –y esto es extraordinariamente importante entenderlo–, para que el juego de clave privada/clave pública pueda utilizarse como mecanismo de firma no basta con esas propiedades matemáticas de las claves que genera el algoritmo RSA, sino que es necesario introducir dos elementos completamente ajenos a la ciencia matemática.

  1. En primer lugar, alguien tiene que vincular o asociar ese par de claves, en concreto la clave pública, que es la única que se da a conocer a terceros, a una persona determinada. Imaginemos que mi clave privada fuera xyzw y mi clave pública 1234. Si alguien recibe un mensaje que se descifra aplicando la clave 1234, podrá asumir que el mensaje procede de mí si tiene la seguridad de que 1234 es la clave pública que precisamente yo uso para mis comunicaciones. Si Alice y Bob se conocen y confían entre sí, Alice puede comunicar previamente a Bob su clave pública, para que éste pueda hacer con seguridad esa vinculación entre esa concreta clave pública y la identidad de Alice. Podríamos decir que Bob conoce la firma de Alice (me refiero siempre a la clave pública, no a la privada, que Alice no debe comunicar a nadie, ni siquiera a su buen amigo Bob), porque Alice se la ha dado a conocer o está familiarizado con ella, que es como si Bob conociera la firma manuscrita de Alice.


¿Pero qué sucede si Alice y Bob no se conocen? ¿Cómo puede saber Bob con seguridad cuál es la clave pública que usa Alice y que permite considerarla como autora de determinados mensajes? Pues porque interviene un tercer sujeto en quien confía Bob que le certifica cuál es la clave pública de Alice.
En relación con este tercero caben a su vez dos sistemas: un sistema descentralizado o peer-to-peer, en el cual unos usuarios confirman las firmas de otros, generándose una red de reconocimientos; y un sistema centralizado, que se suele conocer con la sigla PKI (Public Key Infrastructure), en el cual un determinado sujeto asume de forma profesional la condición de certificante de claves públicas. En concreto, lo que hace este sujeto o agente se descompone en dos actividades: una actividad de identificación (lo que se suele conocer como “autoridad de registro”); y una actividad de certificación (“autoridad de certificación”).
El cometido de la autoridad de registro es identificar –normalmente mediante comparecencia personal y cotejo de algún documento oficial de identificación– a la persona que pretende generar un par de claves para utilizarlas como instrumento de firma digital. De esta manera, este tercero se responsabiliza de la vinculación entre una persona determinada y una concreta clave pública. La actividad de certificación consiste a su vez en mantener un registro accesible online de los certificados vigentes mediante los que se afirma para conocimiento de cualquier interesado la identidad del titular de una determinada clave pública (como si se tratase de un listín de teléfonos, con los nombres correspondientes al titular de cada línea).
Así, cuando alguien recibe un mensaje firmado con este tipo de firma electrónica, el programa de verificación de firmas de que debe disponer el destinatario realiza automáticamente dos operaciones: primero, verifica que el mensaje ha sido efectivamente firmado con la clave privada del pretendido remitente (para esto hace a su vez tres cosas: aplica la clave pública del pretendido remitente, que se indica en el propio mensaje, sobre el hash cifrado de éste para obtener la versión no cifrada de dicho hash; a continuación calcula directamente el hash del mensaje recibido aplicando la correspondiente función de hashing; y por último compara el hash así obtenido con el hash descifrado, para verificar que coinciden); y segundo, verifica que la clave pública aplicada en la operación anterior está efectivamente atribuida a la persona del remitente en un certificado vigente según el registro online que mantiene la autoridad de certificación correspondiente (para lo que tendrá que acceder a la web del certificador).
En nuestro derecho positivo las aludidas figuras de la autoridad de registro y la autoridad de certificación son el principal objeto de la mayor parte de los preceptos de la Ley de firma electrónica, que considera, de conformidad con la normativa comunitaria europea, que la prestación de servicios de certificación de firmas electrónicas no es una función pública sino una actividad empresarial en régimen de libre competencia, si bien con sujeción a determinados requisitos legales para que las firmas apoyadas en sus certificados tengan la consideración de “firmas electrónicas reconocidas”, que son las que nuestra ley equipara en pleno valor jurídico a las firmas manuscritas.
En cualquier caso, lo que a nuestros efectos interesa retener de esta cuestión es que la vinculación entre una clave pública y una persona determinada no resulta de la aplicación de la propia técnica criptográfica, ni de función matemática alguna, sino del testimonio o certificación de este tercero de confianza que es la autoridad de registro y certificación.

  1. Además de esta confianza en el tercero que certifica la vinculación entre una clave pública y una persona determinada, este sistema de firma electrónica se basa en otro elemento no matemático sino normativo: la presuposición de que la persona que ha generado para este uso de firma un determinado par de claves mantiene secreta su clave privada.


Así, la atribución del significado de “firma” de un mensaje al empleo de este instrumento de la criptografía de doble clave descansa en último término en esta idea de que sólo la persona que ha dado a conocer como propia una determinada clave pública es la única persona que conoce la correlativa clave privada y por tanto puede aplicar ésta. Y he calificado este elemento como normativo, porque no pertenece propiamente al ámbito de los hechos sino al ámbito del deber ser: se supone que cuando uno genera un par de claves y registra como propia una determinada clave pública asume la obligación o al menos la carga de custodiar diligentemente y mantener reservada la clave privada correlativa, aunque de hecho no lo haga así.
Esto es lo que sirve de fundamento al tópico de la “no repudiabilidad” del mensaje firmado con una firma electrónica de este tipo, aunque lo cierto es que, si uno busca en el texto de la Ley de firma electrónica alguna enunciación explícita de esta importantísima regla, no la va a encontrar.
En relación con esta cuestión se plantea el problema jurídico fundamental de si puede existir vinculación contractual o negocial para una persona por razón de la existencia de un mensaje firmado con su dispositivo de firma electrónica (es decir, mediante la aplicación de la clave privada correlativa a la clave pública por él registrada), en aquellos casos en que ha sido un tercero el que ha hecho uso del dispositivo por haber tenido conocimiento de la clave privada, ya porque se la ha dado a conocer el titular voluntariamente, ya porque la ha obtenido de forma subrepticia o con violencia (el supuesto que los criptógrafos conocen como the rubber hose attack o el ataque de la manguera, que es una contingencia a la que está expuesto en último término cualquier sistema criptográfico por matemáticamente seguro que éste sea).
(Para quien sienta el gusanillo por este tema de la criptografía recomiendo el fascinante libro “Cripto. Cómo los informáticos libertarios vencieron al gobierno y salvaguardaron la intimidad en la era digital”, de Steven Levy, Alianza Editorial, 2001)

Para comprender en su totalidad este texto, te invito a leer las ediciones anteriores de la serie ‘Explorando la frontera digital’: De Grouchy al smartphone (Explorando la frontera digital I), Sobre electrones, bits y códigos (Explorando la frontera digital II)La integridad documental en el medio digital: del depósito del soporte a la función hash (Explorando la frontera digital III)

Otros artículos
  • Legal Tech
La integridad documental en el medio digital: del depósito del soporte a la función hash (Explorando la frontera digital III)
por Manuel González-Meneses
En el anterior post de esta serie intenté explicar cómo la digitalización es una peculiar forma de codificar información, consistente en emplear un código de dígitos binarios (cuestión puramente lógica o lingüística), lo que a su vez permite la mecanización
22 marzo 2019
  • Fiscalidad
¿Existe el dinero público?
por Federico Durán
Hace años hizo fortuna la afirmación, atribuida a una alta autoridad política, de que “el dinero público no es de nadie”. No se sabe con certeza si la cita es real y se produjo en esos términos, o si es apócrifa. El caso es que se vuelve con frecuencia sobre
8 febrero 2019
  • Legal Tech
Sobre electrones, bits y códigos (Explorando la frontera digital II)
por Manuel González-Meneses
Cuando los juristas nos internamos en el medio digital con una visión específicamente jurídica -es decir, no cómo simples usuarios de una tecnología-, nuestro primer obstáculo es simplemente conceptual, por no decir terminológico. Empezamos a emplear un poco
18 enero 2019
Share
Llámanos
Admisiones: +34 662 98 80 37Información General: +34 91 514 53 30