Ciencia y Tecnología

Ciencias de la Computación

Blockchain y la identidad digital descentralizada

Blockchain y la identidad digital descentralizada

Blockchain parece ser el Santo Grial de la identidad digital descentralizada (Decentralized digital IDentity ó DID) y pese a que este paradigma esta cerca de ser una realidad, aún no existe una solución coherente y universal. En este artículo se presentan los fundamentos de la DID y se plantean algunos de los problemas que dificultan su desarrollo.

 

Introducción

Según los datos del Banco Mundial, más de 1.100 millones de personas (el 40% son niños menores de 18 años) no pueden demostrar su identidad lo cual dificulta su acceso a servicios y beneficios críticos. Se les puede negar un lugar en la escuela o pueden ser rechazados en las urnas, pueden tener dificultades para reubicarse o viajar y es más probable que sean víctimas del comercio de seres humanos.
 
La identidad no sólo es importante, es un derecho humano, y todos los individuos deben tener la soberanía sobre su propia identidad.

En septiembre de 2015, todos los estados miembros de las Naciones Unidas adoptaron los Objetivos de Desarrollo Sostenible 2030, incluido su compromiso de "proporcionar identidad legal para todos, incluida la inscripción de nacimientos" para el año 2030.

Todo lo anterior ilustra el interés que despierta la identidad digital, Y esto es solo la punta del iceberg, porque el problema de la identidad digital  es un problema que se acarrea desde hace tiempo: es la gran carencia de Internet.
Las nuevas tecnologías, incluida blockchain, cuando se usan junto con tecnologías probadas desde hace tiempo, como la tecnología biométrica, pueden hacer posible que todas las personas tengan acceso a una forma de identidad segura, verificable y persistente. Quién diría que un campo de refugiados perdido en la jungla del noroeste de Tailandia (Mae La), sería un pionero en el uso de tales tecnologías, pero así ha sido gracias a compañías como Accenture, Microsoft y la Fundación Rockefeller que forman parte de la alianza ID2020 (más información aquí: Identity Crisis)

Disponer de una identidad digital es algo que está bien, pero al ser centralizada, y por ello no bajo el control absoluto del usuario, no es una solución completa. Por otro lado, el hecho de que pueda ser descentralizada promete grandes ventajas pero introduce variables mas complejas de gestionar. En este artículo se ponen de manifiesto algunas de estas dificultades.

 

 

La Identidad Digital Descentralizada (DID)

La realidad del mundo digital actual en el que vivimos es que usamos la identidad digital con frecuencia en nuestro día a día o, al menos una parte de ella en forma de credenciales. Cada vez que nos registramos en un servicio web, ya sea a través de nuestro computador, nuestro smartphone o incluso nuestro smart TV, estamos haciendo uso de alguna forma de identidad digital para proporcionar las credenciales que nos dan acceso a un determinado servicio online. Cada vez que nos registramos en cualquiera de esos servicios, por ejemplo Netflix, Spotify, Facebook, Twitter (por mencionar solo algunos de los más populares), estamos proporcionando nuestros datos para crear una identidad digital y esta identidad está bajo el control de aquel que nos proporciona el servicio. Sin quizás ser consciente de sus implicaciones, estamos delegando la responsabilidad de la custodia y gestión de nuestros datos personales a un tercero no necesariamente confiable. Y tras varios años de vida en el mundo digital, hemos distribuido datos nuestros por una miríada de servidores en todo el mundo. Cientos de bases de datos, algunas muy seguras (aunque nunca infalibles), y otras peligrosamente inseguras, guardan algún tipo de información sobre nosotros: nombre, dirección de correo-e, teléfono, e incluso números de tarjetas de crédito, contraseñas... Con respecto a estas últimas, ¿cuántas variaciones de las mismas contraseñas habremos distribuido de forma inconsciente por esas cientos de bases de datos, pudiendo estar expuestas a que, ya bien ciberdelincuentes o simplemente administradores de sistemas corruptos o irresponsables, puedan hacer uso de ellas sin nuestro conocimiento o consentimiento inocentemente o en nuestro perjuicio?
 
Y aunque todas estas bases de datos fueran altamente seguras (sin embargo nunca infalibles), se convertirían automáticamente, por la naturaleza de su contenido,  en un punto débil desde el punto de vista de la seguridad de la información. 
 
Cada vez que le decimos a nuestro navegador que almacene nuestras credenciales para el acceso a cualquier servicio online, estamos confiando nuestros datos al fabricante de ese navegador (Microsoft, Google, etc...), o confiando en que dicho fabricante haya diseñado su aplicación para que dicha información se custodie localmente y no salga de nuestro dispositivo (smartphone o computador). 
 
La mayor parte de los servicios digitales online, proporcionados por empresas públicas o privadas, están diseñados según un  modelo en el cual el proveedor del servicio es el encargado de custodiar las credenciales del usuario para acceder a determinadas funcionalidades. Y todo esto pone en entredicho la seguridad de nuestros datos y la soberanía sobre nuestra identidad digital.
 
Ahora imaginemos por un momento que un mundo digital diferente es posible. Imaginemos que todo lo referente a nuestra identidad está bajo nuestro absoluto control. Que cualquier atributo referente a ella es definido y custodiado por nosotros y ejercemos la potestad de decidir con quién lo compartimos, para qué propósito y durante cuanto tiempo. Imaginemos que podemos tomar la decisión, en cualquier momento, de revocar ese derecho temporal proporcionado a un tercero y que, de forma inmediata, ese tercero dejaría de tener acceso a nuestros datos. Que se volverían inmediatamente invisibles para él. Y, por qué no, imaginemos también que nosotros decidimos si queremos comercializar con el uso que hacemos de nuestra identidad cuando interactuamos con terceros. 
 
Esto es lo que pretenden la Identidad Digital Descentralizada (Decentralized Digital Iderntity) y la Identidad Soberana (Self-soverign Identity), y blockchain parece ser la tecnología de base que podría hacerlo posible.
 
Este nuevo mundo digital traería otros problemas o al menos delegaría en cada uno de nosotros otras responsabilidades. O, para ser más precisos, una mayor responsabilidad sobre nuestra identidad. Pero siempre nos quedaría el derecho y la libertad de poder decidir si ejercemos el control absoluto sobre nuestros datos o qué parte de esa responsabilidad delegamos en un tercero. Al menos tendríamos una libertad de la que ahora carecemos, y si esta libertad no está entre nuestras carencias al menos sí sufrimos unas ciertas limitaciones. Siempre es posible vivir desconectado, pero entendemos que no se trata de huir de la tecnología porque no nos presta la seguridad y libertad suficientes, sino de encontrar la forma de poder aprovechar la tecnología manteniendo nuestra libertad, seguridad y privacidad.
 
La identidad digital descentralizada (DID) es un tipo de identidad digital en la que, al contrario del modelo clásico centralizado, en la que una institución genera y mantiene la información relativa a la identidad digital, esta se gestiona a través de una red descentralizada (por ejemplo una red basada en la tecnología blockchain). Aquí cobra relevancia el concepto de identidad centrada en el usuario (user-centric identity) porque es el usuario el centro de todo el sistema y la red se encarga de registrar de forma segura las transacciones que se realizan con la misma.

Cuando nos referimos a la centralización no estamos afirmando que exista una fuente única y central para las identidades digitales, sino que estas son, frecuentemente, generadas por una tercera parte (habitualmente una entidad privada),  para un propósito especifico propio. Desde este punto de vista, la información de la identidad está centralizada en dicha organización.
Nos referimos, también, a diferentes identidades y no a una única, porque en el paradigma de la identidad digital y la era de la economía digital, cada usuario puede tener, y de hecho es común que tenga, diferentes identidades para diferentes propósitos: legal, profesional, lúdico, etc., y dichas identidades pueden, o no, compartir atributos.
 
Una consecuencia particular de la DID es la identidad soberana (self-soverign identity ó SSI), en la que el usuario no sólo define y gestiona los atributos relativos a su identidad digital, sino que tiene un control absoluto sobre la misma, pudiendo determinar con quién comparte qué información sobre la misma, para qué propósito y durante cuanto tiempo. Es el paradigma de la soberanía del usuario en el mundo digital. Es decir, la SSI está bajo el control del propietario de la identidad (identity holder) y no depende de ningún registro centralizado, proveedor de identidad o autoridad de certificación.

En este mundo digital es el usuario quien crea los artefactos digitales que contienen su identidad (o identidades), se encarga de incluir los atributos que considere oportunos y, gracias a entidades externas autorizadas, puede darle veracidad y solidez a dichas identidades... para usarlas en cualquier sitio incluso para negociar con ellas y obtener beneficio por su uso por terceras partes.
 
Pese a que muchos avances se han realizado en el desarrollo de la DID/SSI, y que se están estableciendo normativas y estándares que facilitan su desarrollo e implementación a escala global, aun no se cuenta con una solución completa. Desde el punto de vista teórico hay múltiples aproximaciones a la DID/SSI que parecen completas o prometen serlo, pero como dice el proverbio anglosajón: "El diablo está en los detalles". Es por eso que planteamos aquí algunos detalles que complican el desarrollo de una solución universal de identidad digital descentralizada que garantice la soberanía del usuario frente a sus datos.
 

Los problemas de la DID

Existen ciertas dificultades a las que se enfrenta el desarrollo de una solución de identidad digital descentralizada y en concreto una basada en la tecnología blockchain. Esto no quiere decir que blockchain no sea la tecnología que vaya a posibilitar el desarrollo de la DID universal, ni que los problemas que se indican sean responsabilidad o consecuencia exclusiva de esta tecnología, sino que aún se deben resolver ciertas dificultades para poder disponer de soluciones que realmente cubran todas las expectativas y necesidades. De estas dificultades, destacamos las siguientes, cuyo planteamiento se desarrolla a lo largo de este artículo:
 
1 - Correlación
2 - Políticas de protección de datos
3 - Participación de los reguladores
4 - Resistencia al cambio
 

Correlación

En primer lugar se sitúa el problema de la correlación porque, a nuestro entender, condiciona la estructura de la solución de DID a desarrollar. Nos referimos a la posibilidad de terceros de (verificadores o terceras partes) de correlacionar la información recibida por una misma identidad sobre diferentes atributos o propiedades de la misma, de manera que les permita conocer y almacenar diferentes atributos de una misma entidad sin necesidad del consentimiento expreso de esta. Algo que debería evitarse para garantizar la soberanía del usuario frente a sus datos.

Pongamos un ejemplo: un usuario dispone de un identificador para su DID en el que encapsula los atributos de nombre, dirección de correo-e y un alias (login name o nombre familiar), que emplea contra un proveedor de servicios online para registrarse en cualquiera de sus servicios. El usuario consiente en proporcionar al proveedor de servicio, por medio de la DID que intercambia con el (no entramos aquí en la forma de comunicación y en este ejemplo obviamos el hecho de que con la DID puede no ser necesario el proceso de registro). De acuerdo al "contrato" establecido entre el usuario y el proveedor del servicio, sujeto a los términos de servicio que el proveedor haya determinado y el usuario aceptado explícitamente, el proveedor sabe que sólo debe emplear los datos de nombre, dirección de correo-e y alias, con el propósito de proceder al registro del nuevo usuario y prestarle los servicios acordados. Al margen de que el proveedor de servicios, al tener los atributos de esa identidad, los gestionará entendemos que de acuerdo a las normas que dicten las políticas de protección de datos del país donde se circunscriba el proveedor, pero el hecho es que los almacenará (entendemos que de forma segura). Ahora bien, si más adelante, por el motivo que sea (una encuesta consentida por el usuario, una promoción, etc.), el proveedor solicita a este usuario (esta misma DID) uno o varios atributos específicos para el propósito que sea con el que el usuario haya consentido. Pongamos por ejemplo la prestación de un extra sobre el servicio prestado si el usuario es mayor de edad, en cuyo caso el usuario deberá proporcionar esta información al proveedor del servicio pero sólo para el propósito indicado. Podría ser que el usuario proporcionase su fecha de nacimiento en una alegación verificable (verifiable claim) firmado por la entidad correspondiente (en España, certificado de la FMNT, por ejemplo), o algo más restrictivo como una alegación indicando sólo su mayoría de edad. En cualquiera de los casos, nada impide (al menos técnicamente), al proveedor de servicios incluir este nuevo atributo entre los atributos relacionados con la DID del usuario y emplear esa información para realizar estudios estadísticos o de mercado sobre las tendencias de uso o comportamiento en línea, del usuario respecto a los servicios prestados. Cuanto mayor sea el número de atributos que la DID intercambia con el proveedor de servicios mayor es el conocimiento de este sobre el primero y mayor el nivel de detalle que puede realizar en su analítica de datos para inferir patrones de comportamiento o preferencias del usuario. Y todo esto ocurre, o la tecnología empleada permite que ocurra, de espaldas al usuario, sin que este haya dado su consentimiento expreso. Luego la privacidad del usuario está en compromiso.
 
Como hemos visto en la introducción, la DID y en concreto aquella implementación que cumpla con SSI, debería permitir al usuario decidir que datos de su identidad comparte con quién, para qué y durante cuanto tiempo. Hasta el momento, las implementaciones de DID hacen uso de una serie de datos regidos por uno o varios identificadores. El esquema general, podría ser algo como lo siguiente:
  1. El usuario emplea un identificador para presentar su información (alegación o credenciales) a un tercero, con uno o varios atributos de su identidad y unos atributos de control,  todo ello en una estructura de datos firmada digitalmente (habitualmente según el modelo ECDSA). 
  2. Ya sean los datos enviados directamente al tercero en una comunicación extremo a extremo (off-chain) o registrados dentro de una blockchain y regidos o no por un smart contract; y ya sean los datos enviados en claro o cifrados, el resultado es que el tercero obtiene los datos del usuario..
  3. ... y nada impide que dicho tercero guarde copia de los datos recibidos. 
Al margen que esto delega la responsabilidad del uso de los datos al tercero e implica la necesidad de un tercero de confianza (regulador, cuerpos de seguridad del estado, administración pública en general, ...) que vele por el adecuado uso de los datos por parte del tercero, desde el punto de vista de la correlación el problema se presenta cuando el usuario emplea un mismo identificador para proporcionar distintos datos al mismo tercero, con el mismo identificador, en diferentes momentos y con diferentes propósitos. Nada impide que este tercero asocie todos los datos compartidos con este identificador y obtenga un conocimiento del usuario mayor del que el propio usuario desearía proporcionar. La solución parece obvia, pero no lo es. Lo más inmediato sería pensar en una solución basada en identificadores diferentes para cada transacción con el tercero. Así es como se sugiere en Bitcoin para garantizar la privacidad de los usuarios en las transacciones (aunque es una recomendación y no una restricción del sistema), pero en Bitcoin cada transacción es única y diferente. En el caso de la DID esta solución no parece práctica. Hay que tener en cuenta que en el caso de información firmada digitalmente, el identificador estará asociado a una determinada clave pública que obligaría al usuario a mantener una cantidad desproporcionada de parejas de claves pública-privada, de todas las transacciones que haya realizado con su identidad digital, o de todas en las que haya intercambiado diferentes atributos con un mismo tercero. En el caso de que la identidad presentada fuera una identidad legal (por ejemplo el nombre legal y número de DNI firmados con un certificado digital emitido, en el caso de España, por la FMNT y validado por el cuerpo Nacional de Policía), la garantía de no-correlación basada en identificadores de identidad únicos para cada transacción sería impracticable. Por tanto, este problema se podría formular como:
 
¿Cómo garantizar que un tercero no puede correlacionar la información emitida por una entidad, basándonos en un identificador de entidad único?
 
Implementaciones de blockchain basadas en pruebas de conocimiento cero (Zero Knowledge Proofs ó ZKP) o algoritmos de cifrado homomorfico, podrían ofrecer una via de solución a este problema. Aunque hasta el momento estos algoritmos sólo permiten operaciones algebraicas simples sobre atributos numéricos. Será interesante seguir la evolución de Zcash o sus derivados. Animo al lector a profundizar en las tecnologías subyacentes a esta criptomoneda.

Otro importante actor que se sirve de las ZKPs es la red Sovrin: una de las implementaciones de SSI más significativas creada sobre la  blockchain Hyperledger Indy. En Sovrin se  hace uso de las ZKP para la validación de atributos de una identidad sin revelar sus valores. Pese a que esta solución es muy interesante desde el punto de vista de la privacidad, no resuelve el problema de la correlación.
Además de todo lo anterior el problema de la correlación va más allá, ya que existen situaciones en las que la correlación es beneficiosa, simplifica la implementación de la DID e incluso es necesaria para garantizar el cumplimiento de las leyes o dificultar actividades fraudulentas de forma anónima. 
 
Por último, y como se había apuntado antes, existe el problema, no sólo del propósito de uso de la información proporcionada a un tercero, sino el tiempo de validez de dicha información. El mecanismo empleado en las soluciones estándar de PKI basada en la expiración de certificados, requiere un tercero de confianza para verificar la validez del certificado (y que no haya expirado), pero esto introduce un grado de centralización no adecuado para una solución de identidad digital que, por definición, es o debe ser, descentralizada. La alternativa que surge dentro del ámbito de discusión de la identidad digital es la PKI descentralizada ó DPKI. Volveremos sobre esto más adelante.

Al margen de lo anterior lo que resulta evidente es que no es recomendable el guardar información personal (Personal data, también referida como Personal information, Personally identifying information ó PII) en una blockchain, pero ni siquiera un hash de dicha información. Es un riesgo innecesario. 

Políticas de protección de datos

Las políticas de protección de datos introducen unas restricciones, por otro lado necesarias para garantizar la libertad del ciudadano, que dificultan el desarrollo de soluciones de identidad digital descentralizada.

Parte de los problemas que se derivan de la GDPR se basan fundamentalmente en que dicha regulación no se diseñó con la idea de una arquitectura descentralizada en mente, sino todo lo contrario. Es por eso que algunas figuras básicas en esta regulación como son el gestor los datos o responsable de su custodia, no encajan en un modelo descentralizado en el que, por definición, no hay una autoridad centralizada.

Al margen de estos detalles que no son desdeñables, pero que consideramos que pueden ser replanteados por la Comisión Europea y adaptados a un modelo descentralizado sin corromper su esencia, hay una restricción básica de la normativa europea (GDPR), que parece chocar frontalmente con la arquitectura de blockchain. Esta se describe en el artículo 17 de la GDPR: el derecho al olvido. Pese a que dicho derecho no se describe como absoluto y se exponen muchas excepciones, algunas de las cuales podrían justificar el uso de blockchain para mantener datos del usuario en un modelo de DID, lo que parece obvio es que la arquitectura inmutable de las DLTs en general, o blockchain en particular, no encajan muy bien.
El derecho al olvido es un aspecto básico para la soberanía del usuario respecto a su identidad y todo lo relacionado en su interacción con otras entidades, públicas o privadas, en una sociedad digital. El sentido común, y las leyes de muchos países, proclaman el derecho de los ciudadanos a expiar sus culpas o errores. Nadie entendería cómo justo un sistema en el que el usuario no pueda ejercer su derecho a ocultar cualquier aspecto de su identidad y que sus datos asociados no se mantengan indefinidamente y se sigan empleando por terceras partes. Es decir, tener el control sobre su privacidad. Esto aplica tanto a la identidad digital como a la reputación online. Ningún sistema de reputación puede considerar el mantenimiento indefinido de una baja reputación, sin reincidencia del usuario en los aspectos que la hayan podido provocar. En cualquier caso, el tema de la reputación online y la confiabilidad será motivo de un artículo posterior.
 
Volviendo al derecho al olvido, ya vemos que supone una dificultad para el desarrollo de la DID basada en blockchain. Como sabemos, blockchain es un registro distribuido e inmutable. Cualquier información almacenada en blockchain estará allí de forma indefinida y no se podrá borrar. O al menos eso es lo que hasta ahora habíamos creído: los autores de "MOF-BC: A memory optimized and flexible blockchain for large scale networks"(11), han creado una blockchain que precisamente resuelve este problema permitiendo mantener la consistencia de la blockchain pero ofreciendo la posibilidad de eliminar partes para cumplir el derecho al olvido. No conocemos aún ninguna implementación de DID que se haya basado en este modelo, pero seguro que la veremos pronto. Por supuesto hay otras soluciones más triviales que se han propuesto para resolver el problema del derecho al olvido. La más simple es el borrado de las las claves privadas que cifran cualquier información que se guarde en la blockchain. Esto haría irrecuperable cualquier información, sin necesidad de actuar sobre los datos, estén estos donde estén (incluso en un silo protegido por las más estrictas medidas de seguridad física, custodiando un copia de seguridad de la información almacenada en la blockchain). Otra solución sería el empleo de un almacenamiento paralelo a la blockchain y gestionado por terceras partes, sobre las que recaería la responsabilidad de gestión de los datos. Pero como indicábamos antes, estas soluciones triviales no consideramos que den la respuesta coherente al problema planteado, al margen de que las las autoridades que velan por el cumplimiento de la GDPR las pudiesen dar por validas.

Sin embargo no sería honesto concluir con la idea de que todo son dificultades. Muchas de las directrices que protegen al ciudadano en las políticas de protección de datos se cumplen mejor en soluciones basadas en la tecnología blockchain que en las tecnologías tradicionales centralizadas. Recomendamos la lectura del artículo de Maurizio Luinetti y Bertrand Portier  de IBM (12), donde se analizan algunas de las áreas en las que blockchain puede cumplir las reglas definidas en la GDPR con ejemplos concretos.

Participación de los reguladores

No es posible una solución de DID completa sin que este participada por las administraciones públicas que regulan el funcionamiento de las identidades digitales y físicas actuales. Si serían posibles soluciones parciales que den respuesta a necesidades concretas para la industria del consumo o la venta minorista en línea, pero el ideal sería disponer de una solución global o que pueda escalar a nivel global para cubrir todas las posibles identidades de una persona física o jurídica. Nos referimos tanto a las identidades las privadas o particulares que se empleen para actividades sociales o particulares, como la legal que se emplee para gestiones con las administraciones publicas  o actividades profesionales en cualquier ámbito. Y para que esto sea posible es necesaria la implicación de los reguladores o, mas concretamente, de las administraciones públicas.
 
Esto no tiene que ser necesariamente un problema para el desarrollo de la DID, al menos no directamente, ya que muchas administraciones centrales tienen interés y foco en el desarrollo de la DID. Sin embargo no es trivial el modo en el que ellos pueden participar. Como decíamos al principio: "El diablo está en los detalles", y en este caso concreto estos se pueden materializar en la complejidad derivada de diferentes modelos de PKI y estándares criptográficos soportados. Nos referimos a la incompatibilidad de modelos de PKI empleados habitualmente por los reguladores (basados en RSA) con los algoritmos de cifrado y firma usados comúnmente en las implementaciones de Blockchain: SHA3 (implementación del Keccack Group y no el estándar FIPS del NIST validado por la NSA americana). Todo lo anterior sin olvidar que la arquitectura criptografica de clave pública X.509 es centralizada por naturaleza y no encaja de forma trivial en una arquitectura puramente descentralizada. Sin embargo este último detalle podría resolverse por medio de una arquitectura descentralizada de clave pública (DKPI), propuesta por varios autores y basada en la Web of Trust presente en PGP pero usando blockchain como registro de confianza para las claves.

Veamos esto en más profundidad. En esencia una infraestructura de clave pública o PKI es un sistema que permite la creación, revocación, almacenamiento y distribución de certificados digitales, esto es, estructuras de datos inalterables que dan testimonio de la autenticidad de la clave pública de una entidad.

En una PKI centralizada o CPKI (el modelo habitual), una autoridad de certificación (CA), es la responsable de la emisión, distribución y gestión del estado de los certificados digitales. Para el correcto funcionamiento de una CPKI se deben hacer las dos siguientes asunciones:
  1. Todo el mundo conoce la clave pública correcta de la CA.
  2. Cualquier documento firmado con la clave privada de la CA es válido, es decir, todos confían en la CA.
Las autoridades de certificación publican periódicamente estructuras de datos firmadas que contienen certificados revocados, esto es, listas de revocación de certificados (en inglés Certificate Revocation List ó CRL). Pese a ser las arquitecturas de seguridad mas comúnmente usadas, las CPKI tienen varios defectos fundamentales. La CA supone un punto simple de fallo, tanto desde el punto de vista de la disponibilidad como de la seguridad (problemas de ataques MITM o Man-in-the-Middle). Ha habido varios incidentes donde las CA han sido hackeadas y se han generado certificados falsos para dominios de prestigiosas corporaciones como Google, Symantec o TrustWave.

El propio IETF (Internet Engineering Task Force) responsable de los estándares de Internet, ha creado un documento describiendo los problemas actuales de las arquitecturas PKI. De forma independiente, un grupo de investigadores trabajando en relación Rebooting the Web of Trust (entre los que se incluye Vitalik Buterin, uno de los creadores de Ethereum), admiten las debilidades del modelo CPKI en sus publicaciones.

En la práctica existen múltiples CAs, enlazadas con relaciones parentales bien definidas, basadas en confianza y otras reglas. La arquitectura mas notable de esta arquitectura es la cadena de certificados SSL/TLS (que securiza la mayoria de transaciones en Internet). Este sistema jerárquico está diseñado para incrementar la escalabilidad y la tolerancia a fallos. Sin embargo, si se compromete la raíz, o incluso una CA subordinada, los resultados pueden ser catastróficos.

En una PKI descentralizada (o DPKI), múltiples nodos independientes cooperan y prestan el mismo conjunto de servicios, sin la necesidad de una o varias terceras partes confiables. Las DPKIs se han propuestos porque, como sistemas distribuidos, tienen la capacidad de ofrecer un conjunto de propiedades deseables, que no están  al alcance de las CPKIs, como son la escalabilidad, la tolerancia a fallos, el balanceo de carga y la disponibilidad.

Varias soluciones se han propuesto usando varios tipos de blockchain como registros subyacentes, sin embargo no hay ninguna que resuelva el problema de los incentivos que permitan un modelo asumible en costes y que mantenga el interés de los nodos de la blockchain por garantizar los servicios en el largo plazo.

En otro orden de cosas, en el caso de la Unión Europea, una de las regulaciones más significativas es la 910/2014 del 23 de julio de 2014 en identificación electrónica, que sugiere una serie de estándares para la identificación electrónica y servicios de confianza para transacciones electrónicas en el mercado único de la Unión Europea. Esta regulación es mas conocida como eIDAS (electronic IDentification, Authentication and trust Services regulation) y tiene un impacto significativo y directo sobre cualquier solución de identidad descentralizada. Este escenario común para todos los estados miembros (es de obligado cumplimiento al ser una regualción y no una directiva),  es una ventaja para la Union Europea pero fuerza a que las implementaciones de DID dentro de la misma se ajusten a un mismo modelo, requisitos e interoperabilidad, lo cual puede ralentizar el desarrollo de soluciones operativas. Por otro lado, bajo la regulación de eIDAS sólo los proveedores de confianza (Trust Service Providers, TSP), pueden sellar con marcas de tiempo que tengan validez legal, lo cual nos lleva a soluciones centralizadas, sin embargo, dada la naturaleza de blockchain, esta se podría usar como solución eIDAS-compatible, con lo cual se puede pensar en soluciones de DID compatibles con eIDAS.
 
Por último las políticas de KYC/AML (conocimiento de clientes y anti-blanqueo de dinero), pueden ir en contra de las garantías de privacidad del ciudadano y los derechos o soberanía sobre sus datos, pero por otro lado, la existencia de una arquitectura descentralizada de identidad digital, simplificaría en gran medida las reglas de KYC/AML que los reguladores requerirían para evitar los blanqueos de capital en particular y actividades económicas delictivas en general.

Resistencia al cambio

Por último, y no por ello menos importante, nos encontramos con la resistencia al cambio por parte de los proveedores de servicios digitales. La resistencia al cambio es algo inherente al ser humano y no deberíamos considerarlo como una dificultad específica de este problema sino consecuencia natural de cualquier proceso de cambio. El hecho de mencionarla aquí es porque la adopción masiva de la tecnología asociada a la DID no sólo viene determinada porque el usuario lo demande, sino porque las compañías que le prestan sus servicios entiendan esta demanda como necesaria para su negocio o imprescindible para el crecimiento del mismo y, eso precisamente, es lo que quizás se pone en riesgo al existir intereses contrapuestos o no alineados. Y, eso precisamente, es lo que resaltamos aquí.
 
Al margen de que un mundo regido por la DID simplifica y potencia la economía digital, hay grandes perjudicados. Todos los hiperescalares (Google, Facebook, Amazon,...) comercian o explotan el conocimiento que tienen de sus usuarios a cambio del acceso "gratuito" a unos valorables y generalmente valorados servicios. Una sociedad digital basada en la DID no parece compatible con sus modelos de negocio o supondría  una merma a sus ingresos. Tendrían que cambiar y ese cambio podría dar lugar a que surgieran otros nuevos competidores en una nueva arena. No parece factible ese cambio sin una necesidad que ahora no tienen.
 
Por otro lado, un alto porcentaje de las aplicaciones web (por no decir todas), desarrolladas en internet, que son la base de la evolución y sostenimiento de la sociedad digital, se basan, fundamentalmente, en una arquitectura de 3 capas:
 
  1. Capa exterior o Frontal web. Que gestiona el acceso, registro de usuario y autenticación.
  2. Capa intermedia, generalmente integrada por un servidor de aplicaciones, donde se gestiona la información y se prestan los servicios a la capa exterior con el respaldo de la información en la capa interior.
  3. Capa interior o backend de base de datos. Donde los datos residen, en particular la identificación del usuario y todos sus atributos que son explotados por la capa 2 o por otros servidores.
El modelo de desarrollo para la prestación de servicios en esta arquitectura se basa en el registro del usuario y su posterior log-in para entrar en la plataforma autentificado... gestión de la sesión, diferentes modos de autenticación, 2FA, ...
 
Y el problema común en todos ellos es que gestionan y almacenan información del usuario y en muchos casos haciendo uso de datos confidenciales. Con independencia de nuestra confianza en la gestión de nuestros datos y su grado de seguridad y cumplimiento con las normativas de los reguladores y las medidas de seguridad que empleen, son punto crítico en la seguridad de nuestra información y objetivo para hackers.
 
Como apuntábamos en la introducción la existencia de una solución basada en DID proporcionaría dos ventajas fundamentales:
 
  • Simplicidad del modelo de arquitectura de servicios. El proveedor de servicios no debe almacenar las credenciales del usuario ni ningún dato personal del mismo. Su modelo de datos es más sencillo y se simplifica la gestión de la seguridad de la información con el consiguiente ahorro en costes (OPEX y CAPEX) y la minimización de riesgos por brechas en la seguridad de la información. 
  • Seguridad del usuario. Sería el usuario el que tendría el control total de sus credenciales para el acceso a servicios proporcionados por terceros.
Pero desde el punto de vista del proveedor de servicios, estas ventajas no serían gratuitas sino más bien todo lo contrario. Pagaría un alto precio por ellas: el precio de no disponer de datos del usuario que forman parte de sus sistemas de analítica de datos para analizar sus servicios, mejorarlos y proporcionar servicios añadidos en función del conocimiento acumulado de los usuarios, y sus reacciones e interacciones con el sistema y con terceros (caso de las aplicaciones de redes sociales). Luego el cambio tampoco sería fácil para ellos y deberían encontrar los incentivos y el modelo de negocio adecuado a un nuevo paradigma digital en el que la soberanía del usuario es el eje central.

Este problema de resistencia al cambio nos pone de manifiesto otro problema, o consideración a tener en cuenta, en una economía digital centrada en el usuario. Es el modelo económico subyacente el que debe funcionar para que la solución de identidad digital descentralizada y/o auto-soberana, llegue a una adopción masiva. 
 

Situación actual

Aunque este artículo pone de manifiesto algunas de las dificultades que impiden el desarrollo de una solución universal de DID, sería injusto acabar sin mencionar algunos avances, a nuestro parecer significativos, que contribuyen al desarrollo de la DID directa o indirectamente. Por otro lado, todo lo anterior no impide que se desarrollen soluciones de identidad digital descentralizada y/o identidad soberana (o auto-soberana), que puedan funcionar a mayor o menor escala.

La DID está en el punto de mira de múltiples organizaciones públicas y privadas, y desde muchas de ellas se han realizado importantes avances en análisis de requisitos, casos de uso, estándarización de herramientas, coordinación de esfuerzos, etc. Aquí no vamos a describir todas sino sólo las que hemos considerado mas relevantes.

Desde nuestro punto de vista ConsenSys va a la cabeza con una implementación de DID sobre Ethereum que recientemente se ha adaptado a las recomendaciones de DID del grupo de trabajo "Credentials Community Group" del W3C. Esta implementación, liberada como Open Source bajo la licencia Apache, ha sido empleada por muchos otros para desarrollo de otras implementaciones de identidad digital descentralizada (por ejemplo Alastria para su AlastriaID). De hecho uPort no es una solución completa de DID/SSI sino un entorno de desarrollo (development framework) para que otros desarrollen soluciones de DID para  la web descentralizada sobre Ethereum. Una entorno brillantemente construido, públicamente accesible y muy bien  documentado.

Por otro lado, no podemos dejar de mencionar a la red Sovrin, que ha creado su propia blockchain permisionada, basada en un proyecto amparado por la Linux Foundation dentro de la incubadora de Blocchain Hyperledger: este es Hyperledger Indy. De hecho, Sovrin e Hyperledger Indy van de la mano uno del otro. Sovrin es la primera, más conocida y más extendida instancia de la blockchain Hyperledger Indy e Hyperledger Indy es una blockchain (o DLT) diseñada para la gestión de identidiades difitales descentralizadas por Evernym y donada posteriormente a la Fundación Sovrin que a su vez la cedió a la Linux Foundation constituyendo el proyecto Hyperledger Indy. La Fundación Sovrin (una empresa sin ánimo de lucro), ha atraido a sus puertas a un gran número de empresas independientes entre si, que conforman una red de mayordomos ("stewards" en la terminología de Sovrin), que ejecutan los nodos de la blockchain de Sovrin que da consistencia e interoperabilidad a su solución de identidad digital descentralizada.

Una startup a la que prestar atención es Blockstack, una startup que nació en Princeton 2013 y consiguió una inyección de capital de 50 millones de dólares para desarrollar su ecosistema descentraslizado de desarrollo y ejecución de aplicaciones. Después de varios años tiene una plataforma de más de 100 aplicaciones lanzadas en su red y más de siete millares de desarrolladores. Su plataforma incluye una solución de identidad para su propia red que integra todas las aplicaciones que se despliegan en la misma.

Por último mencionaremos AlastriaID, la solución de DID/SSI de la Fundación Alastria. Una fundación multisectorial española sin ánimo de lucro que agrupa a varias de las empresas más relevantes de nuestro país, las principales entidades financieras e instituciones públicas. A priori, es una replica de la Enterprise Ethereum Alliance, pero con ámbito peninsular o europeo. Su solución de identidad digital, AlastriaID, se basa en una adaptación de uPort. Hasta donde conocemos por la información que se ha publicado desde el consorcio, su solución se integra con smart-contracts sobre su blockchain permisionada basada en Quorum (adaptación empresarial permisionada de Ethereum desarrollada por JP Morgan). Parece que esta blockchain almacena hash de alegaciones o testimonios sobre las identidades, algo que no es muy recomendable en una blockchain pública, aunque mientras esta se mantenga permisionada y bajo control de sus miembros el riesgo es menor.

Finalizamos con una lista de referencias de organizaciones y tecnologías que hemos considerado relevantes porque contribuyen o pueden llegar a contribuir de forma más o menos directa en el desarrollo de una solución global de Identidad Digital Descentralizada e Identidad Soberana. No se incluyen aquellas que proporcionan sólo la base para el desarrollo de la DID (es decir la red blockchain pública, privada o federada). Esta lista no es en absoluto completa. La iremos completando en siguientes revisiones de este artículo.
 
Fundaciones u organizaciones sin ánimo de lucro:
  • W3C
    • Con varios grupos de trabajo
      • Credentials Community Group
      • Digital Identity Community Group 
      • Digital Verification Community Group 
      • ...
  • IETF
    • Diferentes RFC con tecnologías diversas para serialización de datos, seguridad y comunicaciones
  • ISO
    • ISO TC 307 (Blockchain and DLT)
    • ISO SC 27 (IT security techniques)
  • MIT Media Lab
  • Hyperledger
    • Un proyecto incubadora de desarrollos blockchain bajo el paraguas de la Linux Foundation. En concreto uno de ellos (Hyperledger Indy) está pensado para DDI.
  • Comisión Europea
    • Observatorio Blockchain
  • Bitcoin
    • BIP32. Hierarchical Deterministic Wallets
    • BIP39. Mnemonic code for generating deterministic keys
  • Enterprise Ethereum Alliance
  • International Association of Trusted Blockchain Associations (INATBA)
  • Decentralized Identity Foundation (DIF)
  • Internet Identity Workshop (IIW)
  • Rebooting the Web of Trust (RWoT)
  • ID2020
  • Sovrin Foundation
    • Creador de la Sovirn network, que es una solución de DDI/SSI.
  • Alastria
Compañías privadas:
  • ConsenSys
    • Miembro de los grupos de trabajo de W3C e impulsor de la DID/SSI y creador del framework uPort.
  • Learning Machine
    • Miembro del stearing commitee DIF y desarrollador, junto con el MIT Media Lab de soluciones de DID
Tecnologías y/o estándares:
 
  • JSON-LD
  • LD-SIGNATURE
  • JSON Web Tokens (RFC 7519)
  • W3C Decentralized Identifiers (DIDs) v0.13 Data Model and Syntaxes
  • W3C Verifiable Claims Data Model and Representations 1.0
  • W3C Verifiable Claims Use Cases 1.0
  • uPort. Self-sovereign identity wallet that gives you complete control over your identity and personal data.
  • Blockcerts. El MIT Media Lab y Learning Machine han desarrollado una idea que permite almacenar en la blockchain de bitcoin contenido digital verificable.
  • BIP32. Hierarchical Deterministic Wallets
  • BIP39. Mnemonic code for generating deterministic keys
  • ERC 725. Standard for managing on-chain identity on the Ethereum blockchain
  • ERC 780. 
  • ERC1056
  • MOF-BC: A memory optimized and flexible blockchain for large scale networks
 
 
Implementaciones de Identidad Digital Descentralizada:
  • uPort
  • Sovrin / Hyperledger Indy
  • Blockstack
  • AlastriaID
 

Conclusiones

Aunque hay limitaciones que superar, cada vez estamos más cerca de poder disponer de una solución al problema de la identidad digital y con ello conseguir un mundo en el que seamos auténticos soberanos de nuestra identidad.

Un sistema global de identidad descentralizada potenciará un gran número de experiencias digitales que empoderarán al usuario y a las organizaciones para tener un mayor control sobre sus datos, al tiempo que permitirá un mayor grado de confianza y seguridad para aplicaciones, dispositivos y proveedores de servicios.

Pese a que ello nos acarreará una responsabilidad que ahora delegamos de forma forzosa en terceros (con conocimiento del hecho o sin él), las ventajas que puede proporcionar a la sociedad digital son indudables y los cambios que inducirá serán muy significativos. El futuro próximo nos sorprenderá con una sociedad digital que nos hará más libres. Dependerá de nosotros saber emplear esa libertad para un buen fin.

Referencias

  • Tom Lyons, Ludovic Courcelas, Ken Timsit, "Blockchain and Digital Identity", ConsenSys AG on behalf of the European Union Blockchain Observatory & Forum, May 2019.
  • Microsoft, "Decentralized Identity. Own and control your identity", Microsoft Corporation, 2018.
  • Linda Pawczuk, Rob Massey, Jonathan Holdowsky, Deloitte’s 2019 Global Blockchain Survey, Deloitte Insights, Deloitte, 2019.
  • R. Joosten, "A Conceptual Analysis on Sovrin", TNO report, February 2018. 
  • Pierre-Louis Aublin, Sonia Ben Mokhtar, Vivien Quema, "RBFT: Redundant Byzantine Fault Tolerance", ICDCS - International Conference on Distributed Computing Systems, July 2013.
  • Andrew Tobin, "Sovrin: What Goes on the Ledger?", Evernym, 2018.
  • Dan Gisolfi, "Self-sovereign identity: Why blockchain?", Jun 2018.
  • Kaliya Young, "Is putting hashed PII on any immutable ledger(blockchain) is a bad Idea", Feb 2018.
  • Sivakumar P., Dr. Kunwar Singh, "Privacy based decentralized Public Key Infrastructure (PKI) implementation using Smart contract in Blockchain", National Institute of Technology, Trichy, Tamil Nadu 620015, 2018.
  • Christos Patsonakis, Katerina Samari, Mema Roussopoulos, Aggelos Kiayias,"Towards a Smart Contract-based, Decentralized, Public-Key infrastructure",  National and Kapodistrian University of Athens, Greece, 2018.
  • Ali Dorri, Salil S. Kanhere, Raja Jurdak, "MOF-BC: A memory optimized and flexible blockchain for large scale networks", ScienceDirect, Future Generation Computer Systems, Volume 92,  Jan 2018
  • Maurizio Luinetti, Bertrand Portier, "Blockchain and GDPR. How blockchain could address five areas associated with GDPR compliance", IBM, 2018.
  • Jane Williams, "When Blockchain Meets The Right To Be Forgotten: Technology Versus Law", Back to Blog, May 2018.
  • Alastria. "Alastria Digital Identity. An ongoing project". Asociación Alastria. March 2019.

Artículos relacionados

Sobre este Blog

Más de 13 años de pensamientos y reflexiones sobre ciencia y tecnología.