La encriptación homomórfica es una tecnología que permite securizar el tratamiento de los datos en entornos no confiables. Hoy día se utiliza la encriptación para proteger los datos mientras los transmitimos por una red (data-in-flight) o cuando los almacenamos en disco (data-at-rest); no obstante, también hay que garantizar su seguridad mientras los estamos usando (data-in-use).

La homomórfica es un tipo de encriptación que permite efectuar cálculos directamente con datos encriptados sin necesidad de desencriptarlos. Por ejemplo: si tenemos dos números (a y b) y los encriptamos, obtenemos un texto cifrado para cada uno de ellos. Ahora sumamos estos textos y el resultado, que sigue siendo un texto cifrado, lo desencriptamos y obtenemos el resultante de la suma, que es el mismo que habríamos obtenido sumando a y b directamente.

Las propiedades de la encriptación homomórfica abren un amplio abanico de posibilidades a la hora de operar con datos en entornos de zero trust (confianza cero), tanto en modelo de cloud pública como en modelos híbridos y privados. Pero ¿dónde está la gracia de todo esto? Pues, precisamente, en que existe una única clave de encriptación, que siempre está en manos del cliente, en un entorno seguro, y que nunca viaja.

Big data e IA en cloud

¿Cuáles son las aplicaciones de esta tecnología? La respuesta más amplia a esta cuestión es que la encriptación homomórfica es un habilitador de las soluciones en cloud de big data e inteligencia artificial para industrias de todo tipo, en especial para las fuertemente reguladas. A grandes rasgos, estas son las aplicaciones más características:

  • Acceso a información restringida. En muchos países el uso de datos financieros y personales está rigurosamente limitado. De hecho, resulta prácticamente imposible que algunas de estas grandes corporaciones, muchas de ellas de ámbito global, puedan mover datos fuera del país de origen.
  • Habilitar colaboraciones con datos entre empresas. Otro de los escenarios de uso podría plantearse cuando se generan sinergias entre diferentes organizaciones para cooperar en un proyecto determinado. Existen aplicaciones en las que dos o más partes estarían dispuestas a obtener conocimientos relacionados con modelos y con el análisis de datos, pero en las que no sea preciso compartir la información fuente (sin procesar), por razones obvias de privacidad o de ventaja comercial. Como ejemplo se podría mencionar la mejora de patrones de detección de fraude en entidades financieras, en los que se comparten modelos y parámetros de diferentes entidades. Este tipo de asociaciones reciben el nombre de federation learning.

La encriptación homomórfica es un habilitador de las soluciones en cloud de big data e inteligencia artificial

  • Salvaguardar los datos de la nube. Mantener los datos más sensibles o confidenciales encriptados en la nube ayuda a las organizaciones a aprovechar los beneficios de las infraestructuras cloud. Esta encriptación se puede aplicar tanto a los datos que están almacenados en unidades físicas (data-at-rest) como a aquellos que se transmiten por la red (data-in-flight), o incluso a los que se están utilizando (data-in-use). Por ejemplo, es posible aprovechar las capacidades de infraestructura en cloud para entrenar modelos de machine learning e inteligencia artificial de forma totalmente segura: utilizando datos encriptados.
  • Distribuir la inteligencia artificial en el edge. Esta tecnología ofrece también la capacidad de implementar modelos de inteligencia artificial encriptados en el edge, todo ello sin perder el control sobre los datos, lo que deriva también en poder salvaguardar la propiedad intelectual y la información técnica de los modelos.

Los siguientes son algunos casos concretos donde se ha aplicado con éxito la tecnología de encriptación homomórfica:

  • Sentiment analysis (análisis del sentimiento). En esencia, se trata de servirse de redes neuronales para categorizar —en positivas, negativas o neutras— las opiniones extraídas de, por ejemplo, las transcripciones de las llamadas recibidas en el call center de un banco.
  • Detección de fraude. Clasificación mediante modelos de redes neuronales o árboles de decisión de las operaciones llevadas a cabo con tarjetas de crédito.
  • Scoring de riesgo en aprobación de un crédito. Predicción mediante logistic regression y árboles de decisión del riesgo en la concesión de un crédito.
  • Entity resolution. Analítica especializada en eliminar la ambigüedad de los registros en un data-set que corresponden a un mismo cliente.
  • Autenticación biométrica en el servidor. Certificar la autentificación a través de vectores biométricos (ya sean faciales o de voz) en un servidor.
  • Clasificación de imágenes. Uso de redes neuronales que posibilitan el diagnóstico por imágenes.

El reto del rendimiento

Vistas las ventajas, hay que preguntarse cuáles son los inconvenientes de esta tecnología. El principal de ellos está relacionado con el rendimiento. Cuando se habla de esta cuestión, siempre nos encontramos con el compromiso entre rendimiento y seguridad.

El principal reto que se presenta a la hora de operar con estos datos encriptados está relacionado con el rendimiento

Ciertamente, la encriptación homomórfica supone operar con datos encriptados cuyo volumen puede ser —dependiendo de la longitud de la clave de encriptación— mucho mayor que el de los datos sin encriptar. Por ejemplo, si usamos una encriptación de 128 bits, la ratio de aumento de tamaño en los datos encriptados de forma homomórfica puede llegar a 1:8. Esto implica un mayor tiempo de proceso, lo que se traduce en que, por ejemplo, si estamos entrenando un modelo, necesitaremos más tiempo y más capacidades de cómputo en la infraestructura subyacente.

Disponibilidad

Por otra parte, hay que considerar que se trata de una tecnología en continuo desarrollo, aunque cuenta con la atención especial de fabricantes como Microsoft, Google e IBM. Microsoft dispone de la librería SEAL, con el esquema de encriptación CKKS. Por su parte, Google plantea un enfoque novedoso de transpiler o traductor de código, que permite transformar operaciones en código fuente a su versión homomórfica, aunque con unas limitaciones todavía notables. Por último, IBM dispone de un SDK muy completo y de alto nivel, denominado HELayers, que permite a los científicos de datos usar encriptación homomórfica sin exigirles conocimientos de criptografía. Este SDK está disponible como docker en Docker Hub.

Por nuestra parte, en Kyndryl contamos con el talento, las capacidades y la experiencia necesarios para trabajar con soluciones de encriptación homomórfica y securizar el dato también mientras lo estamos usando.