La integridad documental en el medio digital: del depósito del soporte a la función hash (Explorando la frontera digital III)

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 electrónica del manejo de esa información (cuestión tecnológica).

La importancia del mensaje para los juristas

Dando un paso adelante, introduzco ahora la idea de que los juristas tenemos una relación muy especial con la información, o lo que es lo mismo, con el lenguaje. Para nosotros el lenguaje no es simplemente un medio para comunicar o transmitir información sobre el mundo, o para expresar y compartir nuestros sentimientos, emociones o estados de ánimo, sino que con el propio lenguaje hacemos cosas: contratamos, nos obligamos, renunciamos derechos, disponemos de nuestros bienes para cuando hayamos muerto, contraemos matrimonio, y también promulgamos leyes, dictamos sentencias y condenamos e imponemos sanciones… Todas estas peculiares acciones forman parte de eso que los filósofos del lenguaje llaman el uso performativo del lenguaje: acciones que sólo se realizan pronunciando o escribiendo determinadas palabras y que producen efecto en ese peculiar plano de realidad o sentido que es el plano de la validez o eficacia jurídica.

Y precisamente por ello, para nosotros la “documentación” –la fijación con certeza de quién y cuándo ha dicho exactamente qué, de manera que se olvide y se pueda hacer presente y acreditar en cualquier momento- no es una tarea secundaria o accesoria, sino algo que pertenece al mismo núcleo de nuestro ámbito de actividad y preocupación.

Y también por ello, cómo podemos documentar en ese entorno digital y sin papel al que nos vemos inexorablemente abocados se convierte en una cuestión de gran relevancia jurídica.

Al respecto, son tres las exigencias básicas que ha de satisfacer un sistema documental: integridad, autoría y sello de tiempo (como anticipé: qué se ha dicho, por quién y cuándo).

El documento: intgredidad, autoría y sello de tiempo

En la civilización del papel, la integridad se garantiza mediante la inextricable unión física entre la tinta con la que se han trazado unos determinados símbolos alfanuméricos y la fibra de que está hecha una concreta e individual hoja de papel. Por eso, el documento, en su significado clásico, es siempre un objeto que pertenece al mundo material. Se identifica con ese espécimen individual que forman unas determinadas hojas escritas. Y es algo que podemos destruir, pero no fácilmente adulterar, o al menos no de forma que sea difícil de detectar (intercalando, enmendando o tachando alguna palabra o cifra para modificar el sentido de lo originariamente escrito).

En cuanto a la autoría, es decir, a la posibilidad de imputar la responsabilidad por lo dicho a una persona o personas determinadas, la herramienta que se ha venido empleando por excelencia para ello en el universo del papel ha sido la firma manuscrita o autógrafa. Se trata de un signo cuya generación requiere intervención física personal, que está vinculado de forma reconocible o acreditable a una determinada persona y cuya incorporación al pie del texto escrito tiene atribuido el significado jurídico de asentimiento voluntario y asunción como propias de las declaraciones que contiene dicho texto (algo que en sí puede ser independiente de la autoría tanto intelectual como material del texto en que consiste el documento).

Y en cuanto al sello de tiempo, aunque la propia materialidad del documento y de su firma puede ser reveladora de su antigüedad temporal, la precisión con exactitud del momento en que ha sido creado y suscrito un documento con relevancia jurídica es algo que se ha solido confiar a la intervención de alguna autoridad u oficina pública confiable (un notario, un registro público).

¿Y cómo satisfacemos estas mismas necesidades de certeza documental –que son vitales desde un punto de vista jurídico- una vez que abandonamos el escrito en soporte papel y lo sustituimos por eso tan evanescente como es un archivo informático sobre soporte electrónico? ¿Cómo identificamos el contenido exacto de un concreto archivo? ¿Cómo imputamos su autoría a una persona determinada? ¿Y cómo acreditamos su fecha de forma indubitada?

En este post me ocuparé de cómo se ha dado respuesta a la primera de estas cuestiones.

El problema de la integridad

Al respecto, he de empezar diciendo que no ha habido una respuesta o solución única, sino varias, siendo algunas más rudimentarias que otras.

La primera solución -y la menos sofisticada- ha consistido en identificar el archivo (es decir, el fragmento de información digitalizada) por el soporte. Se graba una copia del archivo cuyo contenido se quiere asegurar con certeza en un determinado soporte físico y se confía la custodia de éste a un agente merecedor de confianza, por excelencia, un notario. Así, hace años que los notarios venimos recibiendo en depósito disquetes, discos CD-ROM, DVD, lápices de memoria e incluso discos duros y hasta ordenadores enteros como forma de poder acreditar a posteriori el contenido de un determinado archivo o archivos registrados en esos soportes.

Se trata de un procedimiento muy poco sofisticado porque, en último término, se basa en la conservación de un concreto soporte físico, en la interposición de un tercero de confianza y en una cadena de custodia que se rompe en el mismo momento en que el soporte se restituye por el notario a quien lo depositó o se entrega a cualquier otra persona, salvo si el mismo notario, antes de esa entrega, procede a acceder al contenido del soporte y a generar una copia en papel y bajo su fe del archivo correspondiente (lo que supone, en definitiva, tener que volver al mundo del papel y a las herramientas de autenticación propias de éste).

Un segundo sistema consiste en la referencia a una información registrada en una web confiable. Este es el sistema que se emplea para verificar la autenticidad de certificados, autorizaciones, licencias y otro tipo de documentos emitidos en formato electrónico por determinadas autoridades u organismos públicos. Un ejemplo pueden ser las certificaciones de reserva de denominación social emitidas en formato electrónico por nuestro Registro Mercantil Central. El texto del archivo incorpora un CSV (código seguro de verificación), que es un código alfanumérico que sirve simplemente para identificar el documento y poder hacer una búsqueda de éste en un repositorio accesible en la web de la autoridad o entidad emisora.

A este concepto se refiere el artículo 18.1.b) de la Ley 11/2007, de Acceso Electrónico de los Ciudadanos a los Servicios Públicos, en los siguientes términos: “Código seguro de verificación vinculado a la Administración Pública, órgano o entidad y, en su caso, a la persona firmante del documento, permitiéndose en todo caso la comprobación de la integridad del documento mediante el acceso a la sede electrónica correspondiente”. Y el artículo 30.5 de la misma Ley nos dice que “Las copias realizadas en soporte papel de documentos públicos administrativos emitidos por medios electrónicos y firmados electrónicamente tendrán la consideración de copias auténticas siempre que incluyan la impresión de un código generado electrónicamente u otros sistemas de verificación que permitan contrastar su autenticidad mediante el acceso a los archivos electrónicos de la Administración Pública, órgano o entidad emisora.”

En un sistema como éste, la integridad documental se basa en un cotejo de la copia electrónica (o impresa en papel) que se presenta como auténtica con el archivo accesible en la web correspondiente, y por tanto, en definitiva, en la fiabilidad de dicha web y de su sistema de acceso online. En definitiva, si desaparece la copia registrada en esa web oficial y que permite el cotejo, no hay forma de saber si cualquier otro pretendido ejemplar en soporte electrónico o en papel del mismo archivo es auténtico e íntegro o no.

Y el hecho de que estos csv sean series alfanuméricas generadas de forma aleatoria no es algo que tenga que ver con el propio contenido del documento (a diferencia de lo que enseguida vamos a ver en relación con el hash), sino que es una forma de preservar la confidencialidad del repositorio documental de acceso necesariamente público en la web correspondiente. Para acceder a un determinado documento en la web es necesario introducir un determinado “metadato”, ese concreto csv, que sólo conoce la persona que tiene ya a la vista una pretendida copia del archivo correspondiente (porque figura trascrito en ella).

El Hash

La siguiente herramienta que se ha ideado para asegurar la integridad de los archivos informáticos es mucho más técnica: el hash o función resumen.

“Hash” es una palabra inglesa que significa algo así como picadillo. La función hash es un algoritmo matemático que, aplicado sobre un archivo o ítem digital cualquiera, da como resultado una determinada secuencia de longitud fija, de aproximadamente unos treinta caracteres alfanuméricos (letras y números). En realidad, esta secuencia es un número, que se suele expresar en numeración no decimal sino hexadecimal, es decir, empleando esos dieciséis dígitos que son los números del 0 al y las primeras seis letras del alfabeto latino (de la a a la f). Un ejemplo de hash (SHA-1) puede ser el siguiente: 8b9248a4e0b64bbccf82e7723a3734279bf9bbc4.

Este algoritmo tiene la maravillosa propiedad de que siempre que se aplica sobre el mismo archivo el hash resultante es el mismo, y basta con la alteración de un solo bit del archivo en cuestión para que el hash resultante sea completamente diferente. Además, la probabilidad de que dos archivos diferentes arrojen un mismo hash (lo que se conoce como “colisión de hashes”) es muy remota. Al respecto hay que tener en cuenta que el número de posibles entradas del algoritmo es infinito (cualquier cadena de dígitos, sea cual sea su extensión), mientras que su salida tiene un número finito de posibilidades, porque, al tener el hash un número fijo de dígitos, las posibles combinaciones de ceros y unos son muchísimas pero no infinitas. Por ello, por definición, es posible que dos entradas diferentes arrojen el mismo hash.

Ahora bien, otra importantísima propiedad del algoritmo es su carácter unidireccional, es decir, que no es reversible, o lo que es lo mismo, partiendo del hash no es posible reconstruir el archivo original.

Las consecuencias del Hash

Esta propiedad tiene dos consecuencias muy relevantes.

En primer lugar, que un hash por sí mismo no significa ni simboliza nada, no tiene “semántica”, no transmite información alguna ni la conserva, porque, como he indicado, partiendo del hash no se puede reconstruir el archivo original. De manera que el hash sólo sirve para garantizar que un determinado archivo no ha sido alterado.

Con más precisión, no evita la alteración, sino que permite detectarla, y por tanto, permite acreditar que no ha existido alteración. Si en un momento dado se calcula el hash de un determinado archivo y queda constancia confiable de este hash, en cualquier momento posterior se puede tener certeza de que cualquier pretendida nueva imagen o copia de ese mismo archivo que se presente se corresponde exactamente con el archivo original. Para ello basta con volver a calcular el hash del archivo que ahora se nos presenta: si este hash que calculamos ahora coincide con el hash que se obtuvo en su día del archivo original, es que éste no ha sido alterado, tiene exactamente su mismo contenido. Por tanto, la función hash no sirve para guardar y conservar una información (si el archivo original se ha perdido o destruido, de nada nos sirve disponer de su hash), ni para asegurar su procedencia (la función hash es anónima, cualquiera la puede aplicar sobre un archivo), pero sí para asegurar su integridad, que su contenido no ha sido alterado, siempre y cuando, por supuesto, tengamos certeza de cuál era el hash que correspondía al archivo original.

Así, para que la garantía simplemente tecnológica que proporciona la función hash sea realmente efectiva es necesario que alguien certifique cuál es el hash que se ha obtenido inicialmente de un determinado archivo. Sin esa certificación jurídicamente confiable, cualquier cotejo de hashes podrá ser matemáticamente muy seguro, pero jurídicamente resulta inane.

La segunda consecuencia de la unidireccionalidad o “asimetría computacional” de la función hash es la seguridad que proporciona frente a la pretensión de una colisión de hashes buscada de propósito.

Dado un determinado archivo, calcular su hash es una operación que un ordenador hace en un instante. Sin embargo, reconstruir el archivo original partiendo del hash es algo para lo que no existe ninguna fórmula o algoritmo. Es algo que sólo se podría hacer por “fuerza bruta computacional”, es decir, probando una a una todas las infinitas combinaciones de bits que como entrada generan un determinado hash.

Esto es absolutamente fundamental para la seguridad de esta herramienta, porque es lo que evita o dificulta extraordinariamente la generación premeditada de una colisión de hashes. Así, la “unicidad” de la referencia o metadato que supone un hash estaría en peligro y con ello toda la seguridad que proporciona esta tecnología si alguien pudiera generar premeditadamente un archivo cuyo hash fuera exactamente coincidente con el de otro archivo diferente (pero lo suficientemente parecido como para que hubiera riesgo de confusión entre los dos archivos). Pues bien, –y esto es lo importante y donde incide la indicada asimetría computacional– una cosa es que la colisión sea teóricamente posible y otra que se pueda buscar de propósito para un determinado archivo, que es lo que permitiría la manipulación maliciosa de una información registrada o certificada sobre la base de esta herramienta del hash.

La dificultad en términos computacionales de una maniobra como ésta tendría una dimensión astronómica, nos obligaría a emplear un esfuerzo de computación en un tiempo no polinomial sino exponencial.

Para comprender en su totalidad este texto, te invito a leer las dos edciones anteriores de la serie ‘Explorando la frontera digital’: De Grouchy al smartphone (Explorando la frontera digital I) y Sobre electrones, bits y códigos (Explorando la frontera digital II).

Gracias por compartir!