I. Introducción
BLOCKCHAIN, o cadena de bloques, es una de las tecnologías más prometedoras en la actualidad, gracias a sus características principales: transparencia e inmutabilidad de la información registrada. Se define como “un libro mayor distribuido que actúa como un registro abierto y fiable de transacciones de una parte a otra y que, además, no está almacenado por una autoridad central, sino que todos los participantes tienen una copia y las actualizaciones se propagan por toda la red” 1.
Surgió en 2008 cuando Satoshi Nakamoto dio a conocer Bitcoin. Desde ese momento se han realizado numerosos estudios para aprovechar sus beneficios en diversos campos, entre los que se encuentra la gestión documental. El interés en este tema surge debido a la transformación digital que está ocurriendo en las empresas, donde la emisión de documentos se realiza en formato digital y requiere mecanismos que permitan asegurar la integridad y la validez de estos.
Generalmente, cuando los documentos se emiten en papel es más difícil falsificarlos porque se incluyen algunas características de seguridad 2. Sin embargo, una de las desventajas de este formato es la ralentización en la verificación de los documentos, ya que se debe hacer principalmente de manera manual2. Esta es una tarea común en la contratación de personal, debido a que hay estudios que sugieren que el 30% de los solicitantes de empleo falsifican información relacionada con títulos recibidos, instituciones a las que asistieron o membresías profesionales 3), (4.
El compartir documentos también ha sido un proceso complicado, pues algunas organizaciones (por ejemplo, universidades u hospitales) suelen ser reacias a permitir que sus usuarios compartan sus datos fuera de su dominio administrativo 5. Existen casos, como los mencionados en 5 donde las universidades de Australia y Nueva Zelanda subcontrataron el intercambio de registros académicos a una organización de terceros llamada My eQuals (https://www.myequals.edu.au/), que emite los certificados de forma digital facilitando la experiencia para el usuario. Sin embargo, generalmente el propietario del documento debe ir a la organización a solicitarlo, e incluso escanearlo, para poder compartirlo con algún interesado.
En busca de mejorar estas situaciones, se han construido soluciones para gestionar el proceso de emisión y verificación de documentos utilizando la tecnología Blockchain. En este trabajo se realiza un estudio de los elementos implementados en dichas soluciones para conservar la seguridad de la información.
Este artículo está organizado de la siguiente forma: en la Sección II se presentan una introducción a la tecnología Blockchain. En la sección III se mencionan algunas soluciones desarrolladas para la gestión documental con Blockchain. Luego, en la sección IV se realiza una síntesis de la información encontrada. Finalmente, en la sección V se presentan las conclusiones.
II. Tecnología Blockchain
El nombre de la cadena de bloques deriva de la manera en la que se guarda la información, pues las transacciones son registradas en bloques y cada uno de estos contiene un encabezado que lo enlaza al bloque anterior, formando una “cadena de bloques”. Este enlace se crea usando funciones hash, que según el contenido del bloque generan de manera determinista una cadena de caracteres, de un tamaño determinado, llamada “valor hash”. Con esto se logra la inmutabilidad de los datos, pues cualquier variación en el contenido de un bloque, genera un valor hash diferente al que se encuentra almacenado en el bloque siguiente.
La infraestructura de Blockchain se basa en una red entre pares (peer-to-peer) donde cada participante de la red se denomina nodo y funciona de manera autónoma conforme al mismo conjunto de reglas que abarcan el protocolo de pares, el protocolo de consenso, el procesamiento de transacciones, la gestión de libros mayores, entre otros 6.
Algunas de las características más relevantes de la cadena de bloques son: la descentralización, es decir, no depende de una autoridad central; inmutabilidad, ya que los datos una vez incluidos en la cadena no pueden ser modificados; y la transparencia, lograda al tener el libro mayor visible para todos los nodos.
Para lograr todo esto, Blockchain se basa en conceptos de criptografía para mantener la seguridad de las transacciones, teoría de juegos para alcanzar un consenso entre los participantes y ciencias de la computación para llevar todos los conceptos a una aplicación7), (8.
Además, las cadenas de bloques pueden ser clasificadas, según el control de acceso, en públicas, privadas y de consorcio. Una cadena de bloques pública permite a cualquier persona unirse a la red, participar en el proceso de consenso y en la creación de transacciones. Una cadena privada es propiedad de una sola entidad que restringe el acceso y se encarga de asignar los permisos de lectura y escritura a los participantes. Mientras que en una cadena de tipo consorcio, el control se divide entre varias organizaciones.
Uno de los componentes principales de cualquier cadena de bloques es el algoritmo de consenso, que es el mecanismo a través del cual todos los participantes logran ponerse de acuerdo en el estado de la cadena. Existen varios algoritmos de consenso con características propias y que se enfocan en diferentes propósitos. El más conocido es Prueba de Trabajo (Proof of Work, PoW), pero también existe la Prueba de Participación (PoS), Prueba de Participación Delegada (DPoS), Tolerancia Práctica a Fallas Bizantinas (PBFT), Prueba de Autoridad, Prueba de Importancia, entre otros.
III. Gestión Documental con Blockchain
Las soluciones que se han desarrollado para gestión documental con Blockchain han incluido información sobre certificados académicos, currículum vitae, registros médicos, entre otros. En cuanto a certificados académicos, en 2014 la Universidad de Nicosia se convirtió en la primera institución en emplear la cadena de bloques de Bitcoin para registrar los certificados de los estudiantes recibidos de las plataformas de cursos en línea 9), (10. A partir de ahí, se han propuesto nuevos proyectos e integraciones con otras tecnologías que buscan mejorar la gestión de los documentos con Blockchain.
Es el caso de Blockcerts (https://www.blockcerts.org/), un proyecto que comenzó en 2015 como un estándar para crear, emitir, visualizar y verificar certificados basados en Blockchain y en el marco de Open Badges, a través del Verificador Universal de Blockcerts o creando uno propio a través del código abierto disponible en la página oficial 11), (12.
0xcert es otro proyecto que, a diferencia de Blockcerts, crea una Blockchain privada con diferentes tipos de moneda en la red que amplían el uso de la Blockchain 13. Esta cadena de bloques privada separa el uso común de las transacciones y el proceso de certificación. Por lo tanto, la tasa de certificación se vuelve estable debido a los tokens no fungibles 13.
Otras soluciones para verificar la existencia de un artefacto digital se mencionan en 14, entre las que se encuentran: Veridoc Global (https://veridocglobal.com/Passport) que provee una solución para minimizar la creación de pasaportes falsos. POEX (https://poex.io/) es una solución basada en Bitcoin que brinda una prueba de existencia de cualquier documento digital. Los registros seguros de NEM (https://nem.io/) almacenan el hash del documento junto con los detalles de propiedad y la marca de tiempo en Mijin Blockchain. La solución Factoms Proof of Existence (https://www.factom.com/solutions/connect/) almacena el hash del documento en Factom Blockchain y confirma la existencia de datos y documentos con transacciones con marca de tiempo. La empresa SAP desarrolló TrueRec, una billetera digital segura y confiable para almacenar credenciales profesionales y académicas basadas en Ethereum 16.
También, se han desarrollado modelos con el objetivo de servir como guía para la construcción de aplicaciones. Das et al.17 en su propuesta de un sistema de gestión de documentos descentralizado que utiliza Blockchain, diseñaron un modelo de datos para el libro mayor que incluye un identificador de la transacción, direcciones de origen y destino de la solicitud, tipo de transacción, fase del proyecto, identificador y estado del documento, marca de tiempo y firma del emisor. Además, crearon un marco de contrato inteligente dividido en dos tipos de lógicas: un ejecutor de subprocesos y un orquestador de procesos, encargado de llamar las funciones de los ejecutores de subprocesos según el flujo de trabajo. Aunque todo fue planteado para proyectos de construcción, su diseño permite adaptarlo a cualquier proyecto.
Investigaciones recientes siguen avanzando en análisis específicos sobre la pertinencia de implementación de esta tecnología, es así como los autores en 53 realizaron análisis de tres escenarios de implementación diferentes y concluyeron que sería ventajoso una adaptación rápida de innovaciones basadas en blockchain, y consideran como retos más allá de la tecnología los cambios a nivel de procedimientos de los diferentes actores y organizaciones involucradas en los procesos de despacho de aduanas. También se tienen investigaciones con propuestas específicas que llegan hasta la generación de sistemas orientados a la prestación de servicios, los autores en 54.
Adicionalmente, sigue siendo vigente el análisis de la tecnología para identificar las áreas de mayor aplicación e identificar posibles nuevas áreas en las que se requiera la aplicación de esta tecnología. Un ejemplo de esto es el análisis realizado por los autores en 55, estos realizaron una revisión bibliográfica que permitió conocer sobre la tecnología y concluir que la mayoría de las aplicaciones blockchain se centraron los procesos de construcción, incluyendo como temáticas principales la gestión de pagos por uso y la gestión de la cadena de suministro.
A nivel de instituciones de educación superior, en especial el proceso de generación y validación de diplomas, los autores en 56 encontraron a partir del análisis realizado que se tienen muchas dificultades en la práctica durante la implementación de sistemas de blockchain, entre las que se encuentran, el mantenimiento del sistema y el consumo de energía, el aumento en la dificultad de actualizar los datos debido al proceso de hash, revocación de títulos y regeneración, falta de conocimiento y dificultad de uso.
Se presenta a continuación un análisis de elementos asociados a la seguridad de la información y cómo diferentes estudios han abordado esta temática.
IV. Seguridad de la Información en Gestión Documental con Blockchain
Un sistema de gestión de documentos debe contar con características como la transparencia y la seguridad del documento 14, es decir, de la información que va a tratar. La seguridad de la información es definida por el estándar internacional ISO/IEC 27000:2018 como “la preservación de la confidencialidad, la integridad y la disponibilidad de la información. También incluye la preservación de la autenticidad, la responsabilidad, el no repudio y la confiabilidad, cuando sea necesario. Su propósito es la protección de la información y de los sistemas de información del acceso no autorizado, el uso, la revelación, la interrupción, la modificación o la destrucción” 18.
Las tres primeras propiedades son conocidas como los pilares de la seguridad de la información, siendo la confidencialidad la que asegura que la información solo esté disponible o sea divulgada a personas, entidades o procesos autorizados; la integridad garantiza la exactitud y completitud de la información; y la disponibilidad pone la información accesible y utilizable a petición de una entidad autorizada 18.
Para lograr todas estas características empleando una cadena de bloques, hay que utilizar una configuración adecuada y elementos que refuercen la seguridad de la información.
A. Configuración básica de la red Blockchain
Generalmente, para aplicaciones de gestión documental se elige una cadena de bloques de tipo consorcio 5), (19), (20 debido a que los documentos suelen contener información sensible y los usuarios quieren estar seguros de con quién la están compartiendo 5. Sin embargo, en 10 y 21 utilizaron cadenas de bloques públicas para que nadie tuviera el derecho de excluir datos o participantes. Respecto a las plataformas, las más usadas son Ethereum 10), (20)-(22 y Hyperledger Fabric 14), (19), (23, a esta última le resaltan como beneficio la modularidad ofrecida.
El almacenamiento fuera de la cadena es la opción preferida para guardar los documentos 10), (14), (19), (22), (23, tanto por privacidad como por las limitaciones de almacenamiento que presenta la cadena de bloques. Dentro de esta se guarda únicamente el hash del documento, que es un identificador único basado en su contenido 17 y conserva la privacidad al ser prácticamente imposible averiguar el contenido original de un hash.
Como sistema de archivos las aplicaciones han optado por IPFS (InterPlanetary File System) 10), (14), (17), (22, ya que permite mantener la plataforma completamente descentralizada10 evitando el problema de tener un único punto de fallo y garantizando la disponibilidad de la información 24. También, existen alternativas como un servidor de almacenamiento 20 o un almacén de datos personales (Personal Data Store) que permite a los usuarios recopilar, almacenar y dar acceso exclusivo a sus datos mientras protege su privacidad 5), (25, como es el caso de OpenPDS25.
Por otra parte, si se utilizan Contratos inteligentes, es crucial garantizar que su implementación esté libre de errores y vulnerabilidades y sea segura contra ataques 26. Para esto, en 26 utilizaron herramientas como ChainSecurity, Securify 27 y Oyente 28.
Finalmente, para asegurar el acceso a la cadena de bloques, en 29 se propone un sistema de autenticación multifactor que utiliza huellas digitales y preguntas secretas para asegurar las llaves privadas de los usuarios en una red Blockchain. Este es un punto importante a tener en cuenta, puesto que, si una persona obtiene de alguna manera la llave privada de otro usuario, tendría la capacidad de hacerse pasar por ese usuario si no existen medidas de autenticación adicionales para garantizar que la llave realmente le pertenece 30.
B. Métodos de Protección de la Confidencialidad
Para conservar la confidencialidad de la información, en 31 la red se segrega en canales, donde cada canal contiene únicamente a los participantes autorizados a acceder a los datos que se despliegan en él, manteniéndolos privados para otras entidades. Además, todos los datos que transitan entre los nodos son cifrados a través de TLS (Transport Layer Security). Un aspecto clave, que se incluye en 31 es el registro automático en la Blockchain de todo aquel que solicite un documento, en su caso un certificado electrónico. De esta manera, se puede realizar una auditoría y un seguimiento confiable.
Los autores de 32 incluyeron en su sistema un módulo de protección de privacidad descentralizado que le permite a los propietarios de los datos seleccionar la configuración de privacidad deseada para estos antes de compartirlos.
Como se menciona en 33, el cifrado de datos se recomienda tanto cuando los datos se envían a través de redes (datos en movimiento) como cuando se almacenan (datos en reposo). Para esto se utilizan principalmente las funciones hash y la criptografía asimétrica 34), (35 que utiliza claves de cifrado (también llamadas llaves), cuya administración y distribución deben ser “seguras y estrictamente controladas” 33. Además, se debe tener en cuenta la existencia de herramientas como las Tablas Arcoíris, que contienen una gran cantidad de hashes con su respectivo dato en bruto y permiten a los atacantes descifrar información en un periodo de tiempo corto en comparación con la técnica de fuerza bruta 36. Por esta razón, es importante utilizar un algoritmo de encriptación fuerte.
El sistema CP-ABE (Ciphertext-Policy Attribute-Based Encryption) 37 ha sido utilizado en 38)-(40 para controlar el acceso a los documentos al trabajar con Blockchain. Una ventaja de CP-ABE es que permite realizar una autorización implícita, es decir, la autorización se incluye en los datos cifrados y solo las personas que cumplen con la política asociada pueden descifrar los datos38, logrando un control de acceso detallado sobre estos 24. Por lo tanto, no es necesario conocer con anticipación el conjunto de usuarios que podrán descifrar los datos.
Para incrementar la seguridad también se utilizan los hashes salados, que añaden unos bits aleatorios a la cadena antes de pasarla a la función hash, de esta manera se hace más complicado un ataque de fuerza bruta. Sin embargo, en 10 identificaron que al usar la misma “sal” para todos los cálculos de hash, se genera un problema de trazabilidad, por lo cual sugieren generar diferentes valores de sal para cada documento.
De manera similar, Brunner et al.10 notaron que utilizar el mismo par de llaves para todas las transacciones también ocasiona trazabilidad, es decir, si un atacante conoce la identidad del propietario de una llave también podría conocer todas las transacciones que este ha realizado. La solución implementada por los autores consiste en utilizar un nuevo par de llaves en cada transacción, por lo cual se emplea un Monedero Determinista Jerárquico (HD wallet) que genera diferentes llaves a partir de un solo par.
C. Validación de los Documentos
En las aplicaciones que utilizan Blockchain, la forma más común para verificar si un documento es auténtico es calcular el hash del documento que se ha recibido y compararlo con el hash que se encuentra almacenado en la cadena de bloques, si coinciden entonces se puede confirmar su autenticidad, sino el documento es falso 19. Además, es necesario contar con un mecanismo que permita autenticar a todo aquel que emita un documento, con el fin de evitar la suplantación.
Baldi et al.11 proponen el uso de certificados X.509 que enlazan la identificación del emisor a su llave pública, aunque esto requiere de una Autoridad de Certificación que centralizaría la red. Por lo que sugieren usar Identificadores Descentralizados (DID) para contrarrestar los ataques de falsificación a la vez que se mantiene la descentralización.
En 41 se tiene una estructura de datos donde se almacena la información personal del propietario, en su caso, del título académico. Esta información se encripta con la llave pública del propietario, de manera que este pueda acceder de manera segura a su información y editarla, reduciendo la interacción con terceros. También, se encripta la información del perfil con la llave pública de cada tercero que tenga autorización para verla.
Como medida de seguridad, también se pueden tener en cuenta las marcas de tiempo. Por ejemplo, en 42 se plantea añadir un criterio adicional en el que se defina un tiempo específico durante el cual se debe emitir el título para que se considere válido. Si el diploma, se emite en un tiempo diferente, el diploma no se validará a pesar de contar con una firma potencialmente válida. Esto se hace con el fin de evitar vulnerabilidades, por ejemplo, si se filtra la llave privada de un emisor.
D. Revocación de Documentos
Según el Reglamento General de Protección de Datos (GDPR, por sus siglas en inglés) los propietarios de los datos tienen derecho a pedir que estos sean eliminados 43. También, las organizaciones emisoras de los documentos pueden considerar necesario revocar un documento, por ejemplo, si contiene información errónea o ha cambiado alguna condición desde que fue expedido.
Sin embargo, en la cadena de bloques no se pueden realizar modificaciones y por lo tanto tampoco se puede borrar la información que se encuentre allí registrada. Por esta razón, los investigadores han desarrollado estrategias que permitan obtener los beneficios de la cadena de bloques a la vez que se puede cumplir con este requisito.
En SPROOF 10 y Cerberus 44 cada emisor contiene dentro de la información de su perfil, una lista de revocación donde se registran las URL de los certificados que han sido revocados. Para este proceso se utilizan contratos inteligentes 44 que contienen las reglas que se deben seguir antes de añadir un certificado a la lista de revocación.
Además de esto, los autores de 45 proponen enlazar, de manera opcional, el hash del certificado con un documento en formato JSON (JavaScript Object Notation) que contenga información complementaria como el motivo y la fecha de revocación. Este debe almacenarse también en un recurso distribuido como IPFS para conservar la descentralización.
E. Ataques a la cadena de bloques
Para garantizar la seguridad de los datos también se deben considerar los ataques informáticos que podría sufrir la cadena de bloques, de manera que se puedan establecer estrategias para evitarlos o mitigar su impacto.
En primer lugar, un atacante puede atentar contra el protocolo de consenso con el fin de alterar los datos de los bloques 20, por lo que su objetivo es conseguir la mayoría del poder de consenso, como es el caso de los ataques del 51% en los algoritmos de PoW o PoS 46 o los ataques bizantinos en el protocolo BFT donde 1/3 de los nodos de consenso adversarios pueden causar que el protocolo se interrumpa o se detenga46. Por esta razón, en 46 se recomienda el uso de incentivos que recompensen la participación honesta y desalienten o castiguen las violaciones del protocolo.
También han surgido propuestas para evitar los ataques del 51%, por ejemplo, Bae y Lim 47 sugieren dividir a los mineros en grupos y elegir aleatoriamente un único grupo de manera que solo los que pertenezcan a él puedan minar el siguiente bloque, con el fin de reducir las posibilidades de un ataque exitoso. Mientras que, Gupta et al.48 en su investigación describieron paso a paso el proceso para implementar un protocolo de consenso híbrido basado en PoW-PoS como solución a este problema.
Un ataque similar es la minería egoísta, también llamado de retención de bloque, en el que un atacante intenta construir en forma privada una cadena secreta y revelar esta al público solo cuando la cadena honesta esté alcanzando la secreta 46. Por la regla de la cadena más larga, la cadena secreta sería aceptada y el minero egoísta obtendría todas las recompensas. Es más factible que se presente cuando el poder de consenso del minero egoísta alcanza un umbral, por ejemplo del 30% 46. La mayoría de los estudios realizados en torno a la minería egoísta se han enfocado en desarrollar estrategias de detección o diseños conceptuales 49, tal como el Estado de Verdad propuesto por Saad et al.50 que busca identificar comportamientos de minería egoísta usando la altura de confirmación de transacción esperada y la altura de publicación del bloque.
Con un ataque Sybil también se pretende obtener el control de la red, para lo cual un nodo malicioso forja múltiples identidades a través de la virtualización20. Este ataque puede conducir a otros ataques como el de denegación de servicio y denegación de servicio distribuido 51, que atentan contra la disponibilidad de la información 52. Para prevenirlo, en EduRSS 20 usaron una Blockchain de consorcio donde los miembros votan a favor o en contra de la unión de un nuevo nodo a la red. Este a su vez debe proveer información oficial que permita su identificación. Otra opción, es que cada nodo monitoree el comportamiento de los demás y verifique si algún nodo está reenviando bloques de un solo usuario en particular durante un periodo de tiempo 51.
Algo similar ocurre en un ataque de repetición, en el que un atacante logra camuflar las identidades interceptando y reproduciendo mensajes de un nodo específico 20.
También, uno de los ataques más perjudiciales para un sistema de gestión de documentos es la manipulación por colusión, en la que una transacción realizada con éxito se distribuye y se almacena en cada nodo. Sin embargo, en este caso, más de la mitad de los nodos se confabulan para manipular los datos de transacciones almacenadas en la etapa inicial de la red de Blockchain 20. Es más factible que este se dé cuando hay pocos miembros.
V. Conclusiones
La implementación de Blockchain en la gestión documental es un tema en el que varios autores han realizado sus aportes para reforzar los beneficios ofrecidos por esta tecnología, especialmente la seguridad de la información.
A partir de la revisión de la literatura, se puede notar que las principales preocupaciones son la protección de la confidencialidad y la construcción de sistemas robustos que puedan soportar los ataques más comunes a la cadena de bloques, como el ataque del 51% o la manipulación por colusión.
La mayor parte de los artículos analizados emplearon una Blockchain de tipo consorcio para los sistemas de gestión documental, debido a que consideran importante conocer la identidad tanto de los que emisores como de los receptores de los documentos para evitar suplantaciones.
Es importante notar que algunas soluciones de seguridad implican centralizar parcial o completamente la red, dejando de lado una de las principales características de Blockchain; es de aclarar que si bien la tecnología funciona de manera descentralizada, para aplicaciones relacionadas con la seguridad documental es necesario considerar el conjunto de involucrados con los documentos y quien debe garantizar la custodia de los mismos no sólo en términos de confidencialidad sino también legales, siendo esta la razón por la que las organizaciones deberán optar por soluciones donde se tenga la certeza de confiabilidad de quienes intervienen en el proceso, y esto se puede evidenciar al hacer énfasis en que la mayoría de Blockchain implementadas son de tipo consorcio. En cada proyecto se deben analizar las diferentes alternativas y optar por aquella que mejor se adapte a sus requisitos.