Blockchain, anonimización y RGPD | Sepín

Tal y como se analizó en el blog de Términos y Condiciones, se utilizaba la paradoja de “La fuerza imparable contra el objeto inamovible” para explicar la relación, cuanto menos complicada, entre el Reglamento General de Protección de Datos (en lo sucesivo, RGPD) y Blockchain.

Ese choque frontal se está sucediendo desde el 25 de mayo de 2018 en materias que, a priori, son irreconciliables:

  1. La identificación clara y centralizada de responsables, encargados e interesados frente a un sistema inmensamente descentralizado.
  2. Minimizar los riesgos para los interesados al subir datos a la cadena, de modo que deba recurrirse a la anonimización de los datos personales subidos.
  3. El ejercicio de derechos, y en especial el derecho al olvido, teniendo en cuenta la inmutabilidad de la blockchain; y
  4. La prohibición (con límites) de decisiones individuales automatizadas en el caso de “contratos inteligentes” autoejecutables e irrevocables, ejecutados en la cadena.

En el día de hoy, nos centraremos en la anonimización de los datos personales y el RGPD. Como punto de partida debemos mencionar que la Comisión Nacional Francesa de Informática y Libertades (CNIL), equivalente en Francia a nuestra Agencia Española de Protección de Datos, recomienda por regla general no poner datos personales en la blockchain (podéis verlo en su informe).

Ahora bien, ¿cómo deberían ser anonimizados los datos personales que sí quieren escribirse en la blockchain? Pues bien, lo primero que tenemos que recordar es que el RGPD se aplica al tratamiento de datos personales a no ser que los mismos hayan sido completamente anonimizados. Es decir, no se aplica a datos anónimos (art. 2.2 a) RGPD.

Es importante resaltar que la técnica de anonimización no solo debe ser lo suficientemente buena para que sea imposible identificar a una persona física, sino que también el proceso debe ser irreversible de acuerdo con el informe del European Union Blockchain Observatory and Forum. Si no cumple con dichos requisitos se consideraría “semi anónima” y no anónima y, por tanto, será de aplicación el RGPD.

A lo anterior se le suma el principio de privacidad desde el diseño y por defecto (art. 25 RGPD), que como dice la CNIL obliga al responsable del tratamiento a pensar seriamente si el tratamiento de los datos a través de la tecnología blockchain es pertinente.

Si lo es y el dato personal no ha conseguido volverse totalmente anónimo, la manera más adecuada de minimizar los riesgos para los interesados es mediante técnicas de ofuscación, cifrado o agregación. Veamos qué implica cada una de ellas.

Normalmente una blockchain usa el sistema de “clave pública/privada” como una vía para proporcionar direcciones de los remitentes y receptores de las transacciones (como si de un email se tratara).

Según el RGPD, dichas direcciones serían datos seudonimizados, especialmente en los casos en que existe un claro riesgo de vinculación debido a la creación de patrones de uso.

Bajo este marco surge la ofuscación, que se refiere a encubrir el significado de una comunicación haciéndola más confusa y complicada de interpretar. En ese sentido, las técnicas de ofuscación más habituales son principalmente dos: el servicio de direccionamiento indirecto de terceros y las firmas de anillo.

La primera consiste en pedir a un tercero que agregue muchas transacciones de blockchain y las publique en la cadena utilizando su clave pública propia, encubriendo el significado de una comunicación haciéndola mucho más difícil de comprender.

La segunda, son las llamadas firmas de anillo, mediante las cuales múltiples partes firman una transacción determinada de manera que alguien externo pueda estar seguro de que una de las partes es el firmante legítimo, pero no sabe cuál.

Por otro lado, tenemos el cifrado de datos personales. Las dos técnicas más relevantes serían:

El Cifrado reversible, que implica revolver una pieza de datos de tal manera que sus contenidos no puedan ser entendidos y solo la persona en posesión de la clave de cifrado puede descifrarla.

El Hashing o cifrado no reversible, una técnica que permite generar una cadena de caracteres alfanuméricos de longitud fija y única a partir de cualquier conjunto de datos digitales. Lo más destacable es que, si cambia incluso el dato más pequeño, el hash será radicalmente diferente.

Lo anterior es importante, ya que la blockchain los utiliza para asegurar el estado actual de la cadena y además, sirve para referenciar de forma única datos que se mantienen fuera de la cadena, entre otras cosas.

En este punto nos debemos plantear dos cuestiones: ¿los datos personales cifrados mediante una técnica reversible, siguen siendo datos personales? ¿Qué pasa con el hashing, al ser no reversible?

Los datos cifrados bajo una técnica reversible, claramente son datos personales, puesto que por muy sólido que sea el cifrado empleado, existe llave para revertirlo.

Respecto al hashing, la respuesta dependerá de si el tiempo y la tecnología identifican posibles riesgos de reversibilidad o vinculación. En cuanto a lo primero, el Grupo de Trabajo del Artículo 29 ya dijo que un ataque de fuerza bruta podría revertir un hash si los datos originales son conocidos y no muy grandes.

Respecto al riesgo de vinculación habrá que tener en cuenta si hay situaciones en las que el análisis de patrones haga posible descubrir información sobre un individuo en particular.

Asimismo, debemos destacar que la comunidad blockchain trabaja en múltiples técnicas criptográficas avanzadas que podrían permitir implementar enfoques de anonimización de datos aún más sólidos, como por ejemplo las Zero-knowledge proofs (ZKP) o Pruebas de Conocimiento Cero o la llamada encriptación homomórfica.

Estas técnicas permiten a alguien presentar pruebas de una declaración sin revelar los datos que subyacen a la misma. Por ejemplo, alguien puede presentar pruebas de que tiene más de 18 años sin revelar su edad real. El sistema basado en blockchain más prometedor y que utiliza pruebas de conocimiento cero es ZCash, que también fue la primera criptomoneda en implementar zk-SNARK.

Por último, hablaremos de las técnicas de agregación, las mismas se pueden utilizar junto a las de ofuscación y encriptación. Por ejemplo, una gran cantidad de datos de interesados podrían ser agregados en una única firma digital que luego fuera incorporada a la blockchain. Esa firma serviría como la prueba de la existencia de cada uno de los datos sumados.

Estas técnicas de agregación dependen de estructuras llamadas Árbol de Merkle, que involucran funciones de hashing haciendo que el proceso sea aún más robusto, reducido en tamaño y potencialmente anónimo.

Como conclusión, las diferentes técnicas comentadas deberán analizarse caso por caso y de acuerdo con el RGPD, con la finalidad de ver si el mismo es compatible con la blockchain. Y nada mejor para cerrar la explicación que citar la opinión de la CNIL sobre el tema:

  1. Si se van a subir datos personales a blockchain, antes debemos aplicar el principio de privacidad desde el diseño y por defecto
  2. Si al final no queda más remedio que usar la cadena de bloques, adoptaremos soluciones que procesen los datos fuera de la cadena
  3. Si no queda más remedio que subir el dato a la cadena, que se haga en forma de “commitment” criptográfico, o que se suba el hash generado al aplicar la técnica de hashing al dato
  4. Si nada de eso es posible, la finalidad del tratamiento está justificada y la evaluación de impacto dice que el riesgo residual es aceptable, entonces se puede subir el dato personal en claro o simplemente hasheado.