Cifrado homomórfico

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 28 de marzo de 2015; las comprobaciones requieren 44 ediciones .

El cifrado homomórfico  es una forma de cifrado que le permite realizar ciertas operaciones matemáticas en el texto cifrado y obtener un resultado cifrado que coincide con el resultado de las operaciones realizadas en el texto sin formato . Por ejemplo, una persona podría sumar dos números encriptados sin conocer los números descifrados, y luego otra persona podría descifrar la suma encriptada: obtener la cantidad descifrada sin tener los números descifrados. El cifrado homomórfico permitiría prestar diferentes servicios sin proporcionar datos públicos de usuario para cada servicio.

Hay criptosistemas parcialmente homomórficos y totalmente homomórficos. Un criptosistema parcialmente homomórfico le permite realizar sólo una de las operaciones, ya sea suma o multiplicación . Un criptosistema completamente homomórfico admite ambas operaciones, es decir, satisface las propiedades del homomorfismo con respecto a la multiplicación y la suma.

Historia

El concepto de "cifrado homomórfico" fue formado por primera vez [1] en 1978 por Ronald Rivest , Leonard Adleman y Michael Dertouzos  , los autores del algoritmo RSA un año después del desarrollo del algoritmo. Sugirieron la posibilidad de realizar operaciones arbitrarias en datos cifrados sin descifrarlos.

En ese momento, los intentos de crear un criptosistema completamente homomórfico no tuvieron éxito. Por ejemplo, en 1982, Shafi Goldwasser y Silvio Micali propusieron un sistema de encriptación que es homomórfico bajo multiplicación y capaz de encriptar solo un bit. Otro criptosistema homomórfico con respecto a la multiplicación fue propuesto en 1999 por Pascal Peyet .

En 2005, Dan Bone , Yu Jin Guo y Kobi Nissim propusieron [2] un criptosistema basado en el uso de pares bilineales en curvas elípticas , que permitía un número ilimitado de operaciones de suma y una operación de multiplicación.

El problema de crear un criptosistema que sea homomórfico con respecto a las operaciones de suma y multiplicación ha permanecido sin resolver durante más de 30 años.

En 2009, Craig Gentry , estudiante de posgrado en la Universidad de Stanford y pasante en IBM , justificó teóricamente la posibilidad fundamental de crear un criptosistema de cifrado completamente homomórfico y propuso uno de esos sistemas . El sistema propuesto se puede utilizar para garantizar la confidencialidad de los datos durante cualquier tipo de procesamiento de datos en entornos no confiables, por ejemplo, en la nube o computación distribuida .

Pronto apareció trabajo que sugería modificaciones para mejorar el rendimiento del criptosistema Gentry .

Los criptógrafos están trabajando en formas alternativas de construir criptosistemas totalmente homomórficos, como el uso de cifrado simétrico en lugar del cifrado de clave pública, el uso de polinomios en una o más variables, el uso de polinomios matriciales.

Vista general del cifrado homomórfico

El cifrado homomórfico es una forma de cifrado que permite realizar una operación algebraica específica en el texto sin formato mediante la realización de una operación algebraica en el texto cifrado.

Sea  la clave de cifrado,  sea el texto sin formato (mensaje) a cifrar y sea  la función que realiza el cifrado.

Una función se denomina homomórfica con respecto a la operación " " (suma o multiplicación) sobre textos planos (mensajes) y si existe un algoritmo eficiente (que requiere un número polinomial de recursos y se ejecuta en tiempo polinomial ), que habiendo recibido cualquier par de textos cifrados de la forma y como entrada , produce un texto cifrado (texto cifrado, criptograma) tal que cuando se descifra , se obtendrá el texto sin formato [3] .

En la práctica, se considera más a menudo el siguiente caso especial de encriptación homomórfica.

Sea para la función de encriptación dada y la operación “ ” en textos sin formato y haya una operación “ ” en textos cifrados, tal que el texto sin formato se extrae del texto cifrado cuando se descifra . Esto requiere que dado , , , pero con una clave desconocida , sería imposible verificar de manera efectiva que el texto cifrado se obtuvo de y .

Cualquier sistema de cifrado estándar se puede describir describiendo tres operaciones: una operación de generación de claves ( keyGen ), una operación de cifrado ( encrypt ) y una operación de descifrado ( decrypt ) [4] .

Para describir un sistema de cifrado homomórfico, además de las tres operaciones enumeradas anteriormente, es necesario describir la operación de cálculo ( eval ). El uso de cifrado homomórfico implica el uso de una secuencia de cuatro operaciones: generación de claves, cifrado, cálculo, descifrado:

  1. generación de claves  : generación por parte del cliente de una clave pública ( clave pública ) (para descifrar el texto sin formato cifrado) y una clave secreta ( clave secreta ) (para cifrar el texto sin formato);
  2. encriptación  - encriptación de cliente de texto claro (texto sin formato ) utilizando una clave secreta  - cálculo de texto cifrado ( cipher text ) ; enviar el texto cifrado del cliente y la clave pública al servidor;
  3. cálculo  : recepción de la función por parte del servidor , uso y realización de cálculos en el texto cifrado ; enviar el resultado por el servidor al cliente;
  4. descifrado  : descifrado por parte del cliente del valor recibido del servidor mediante .

Sea  la función de cifrado;  - función de expansión; y  — textos sin formato; los símbolos “ ” y “ ” denotan operaciones de multiplicación y suma en textos cifrados, correspondientes a operaciones de multiplicación y suma en textos planos.

Un sistema de cifrado es homomórfico con respecto a la operación de multiplicación (tiene propiedades homomórficas multiplicativas) si

Un sistema de cifrado es homomórfico con respecto a la operación de suma (tiene propiedades homomórficas aditivas) si

Un sistema de cifrado es homomórfico con respecto a las operaciones de multiplicación y suma, es decir, completamente homomórfico (tiene propiedades homomórficas tanto multiplicativas como aditivas) si

Si un criptosistema con estas propiedades puede cifrar dos bits, entonces, dado que las operaciones de suma y multiplicación forman una base completa de Turing sobre los bits, es posible calcular cualquier función booleana y, por lo tanto, cualquier otra función computable .

Aplicaciones

Computación en la nube

El cifrado homomórfico abre nuevas oportunidades para preservar la integridad, disponibilidad y confidencialidad de los datos cuando se procesan en sistemas en la nube. En la computación en la nube , donde el rendimiento es una prioridad máxima, se deben aplicar diferentes algoritmos, cada uno de los cuales realiza mejor la tarea en cuestión. Por ejemplo, para operaciones de multiplicación de datos cifrados, es recomendable utilizar el algoritmo RSA o el algoritmo ElGamal , y para la suma, el algoritmo Peye . En el caso de utilizar un sistema de cifrado completamente homomórfico, se debe limitar el número de operaciones que se pueden realizar sobre los datos, ya que como resultado de los cálculos se acumula algún error . Si el valor del error supera el valor del parámetro secreto , es posible que los datos no se puedan descifrar correctamente.

Voto electrónico

El voto electrónico  es otra prometedora área de aplicación del cifrado homomórfico. El sistema podrá encriptar los votos de los votantes y realizar cálculos sobre datos encriptados, manteniendo el anonimato de los votantes. Por ejemplo, en el esquema de votación electrónica de Benalo, el proceso de votación incluye los siguientes pasos [5] :

  1. cada participante votante del esquema divide su voto (secreto) en componentes (secretos parciales) de acuerdo con el correspondiente esquema de intercambio de secretos con la propiedad de homomorfismo adicional y envía secretos parciales a los representantes electos;
  2. los representantes suman sus votos; el esquema es homomórfico además, por lo tanto, las sumas de votos son secretos parciales del resultado electoral correspondiente;
  3. el síndico principal calcula el total de votos finales utilizando el conjunto de votos parciales que le otorgan los representantes electos.

Considere un ejemplo de cómo se puede implementar este enfoque.

Sea un conjunto de candidatos a partir de los cuales se forme la lista incluida en la papeleta. El iniciador de la votación tiene un criptosistema que es homomórfico respecto a la operación de suma, distribuye entre los participantes del voto secreto la clave pública del sistema de encriptación homomórfico y el voto como vector donde  se encuentra el apellido del -ésimo candidato. Cada uno de los votantes hace un vector de preferencias donde después de eso, usando la clave pública, cada uno de los votantes encripta el vector elemento por elemento y lo envía al iniciador de la votación. Para resumir los resultados de la votación, realiza cálculos sobre los elementos correspondientes de los vectores de preferencia recibidos y los descifra utilizando la clave secreta . Dado que el criptosistema es homomórfico con respecto a la operación de suma, los índices de los elementos más grandes del vector resultante serán los índices de los candidatos ganadores.

Búsqueda segura de información

El cifrado homomórfico puede brindar a los usuarios la capacidad de extraer información de los motores de búsqueda manteniendo la confidencialidad: los servicios podrán recibir y procesar solicitudes, así como emitir resultados de procesamiento sin analizar y corregir su contenido real. Por ejemplo, un método para extraer registros de una base de datos por sus índices se puede representar de la siguiente manera.

Sea  el índice del registro a recuperar; ;  - todos los registros indexados de la base de datos.

Luego, para seleccionar el registro requerido, es necesario calcular la siguiente función :

Si todos están encriptados con un criptosistema homomórfico, uno puede calcular homomórficamente sobre textos cifrados. Para ello, basta con que el cliente cifre bit a bit el índice del registro que necesita y lo envíe al servidor. El resultado de una evaluación homomórfica de una función sobre textos cifrados será el valor cifrado deseado de la entrada solicitada por el cliente. Obviamente, un criptosistema debe tener propiedades homomórficas tanto multiplicativas como aditivas.

Protección de redes inalámbricas de comunicación descentralizadas

Las redes inalámbricas descentralizadas autoorganizadas ( MANET ) son redes formadas por dispositivos móviles. Cada dispositivo de este tipo puede moverse de forma independiente en cualquier dirección y, como resultado, a menudo se rompe y establece conexiones con dispositivos vecinos. Uno de los principales problemas en la construcción de MANET es garantizar la seguridad de los datos transmitidos. Para resolver este problema, se puede utilizar el cifrado homomórfico, que está integrado en los protocolos de enrutamiento para mejorar la seguridad. En este caso, los nodos intermedios pueden realizar operaciones en textos cifrados de forma segura. En particular, para encontrar la ruta óptima entre dos nodos, es necesario realizar operaciones lineales en datos cifrados sin descifrarlos. La presencia de cifrado homomórfico no permite que un atacante encuentre una conexión entre los mensajes que ingresan al nodo y los mensajes que salen del nodo. Por lo tanto, no es posible rastrear la ruta de un mensaje utilizando el análisis de tráfico [6] .

Servicios de externalización de tarjetas inteligentes

La tendencia actual es desarrollar tarjetas universales con su propio sistema operativo , que pueden realizar una variedad de funciones e interactuar con múltiples proveedores de servicios. Se ha especulado que algunas aplicaciones pueden ejecutarse fuera del mapa en datos cifrados homomórficamente. Las aplicaciones especialmente intensivas en recursos, como las aplicaciones de proveedores de servicios, así como las verificaciones biométricas ( reconocimiento de voz , huellas dactilares o escritura a mano ), que normalmente requieren una cantidad significativa de datos y una gran cantidad de operaciones relativamente sencillas, pueden utilizar dispositivos de almacenamiento externo y procesadores , más potentes que el procesador integrado en la tarjeta.

Sistemas de retroalimentación

El cifrado homomórfico se puede utilizar, por ejemplo, en los llamados sistemas seguros de retroalimentación homomórfica cuando es necesario preservar el anonimato del usuario y ocultar los resultados intermedios de los cálculos .  Los sistemas ayudan a recopilar de forma anónima la retroalimentación (comentarios) de estudiantes o profesores sobre su trabajo. Los comentarios recibidos de esta manera se cifran y almacenan para cálculos posteriores. Los sistemas de retroalimentación se pueden utilizar para generar conciencia sobre el estado de las cosas y mejorar el desempeño. Se ha establecido que solo se puede proporcionar una retroalimentación confiable de cualquier sistema o proceso en los casos de mantener el anonimato del usuario, la inmutabilidad de los datos recopilados y garantizar la seguridad de las operaciones internas para el análisis de datos.

Ofuscación para proteger los productos de software

El objetivo principal de la ofuscación es dificultar la comprensión del funcionamiento del programa. Dado que todas las arquitecturas informáticas tradicionales utilizan cadenas binarias, al aplicar un cifrado completamente homomórfico sobre bits, se puede calcular cualquier función. Por lo tanto, es posible cifrar homomórficamente todo el programa para que conserve su funcionalidad.

Sistemas parcialmente homomórficos

Los criptosistemas parcialmente homomórficos son criptosistemas que son homomórficos con respecto a una sola operación, ya sea la operación de suma o la operación de multiplicación. En los ejemplos a continuación, la expresión denota el uso de la función de cifrado para cifrar el texto sin formato (mensaje) .

El criptosistema RSA

El criptosistema RSA es un esquema criptográfico de clave pública que es homomórfico en la multiplicación. Sea el  módulo RSA,  el texto sin formato  y la clave pública (para cifrar el texto sin formato). La función de encriptación parece . Demostremos el homomorfismo por multiplicación:

Criptosistema de ElGamal

El criptosistema ElGamal es una alternativa al criptosistema RSA y, con el mismo valor de clave, proporciona la misma seguridad criptográfica . ElGamal mejoró el algoritmo Diffie-Hellman y obtuvo algoritmos para el cifrado y para proporcionar autenticación. Un criptosistema es un criptosistema de cifrado probabilístico. Su función de cifrado es homomórfica con respecto a la operación de multiplicación de texto sin formato: un criptograma de producto se puede calcular como un producto (por pares) de criptogramas de factores. Sea  la función de cifrado; y  — textos planos. Si y entonces se puede obtener en el formulario .

Criptosistema Goldwasser-Micali

En el criptosistema Goldwasser-Micali , si el módulo es la clave pública, entonces la función de cifrado de bits es para el elemento aleatorio . Entonces este criptosistema es homomórfico para la operación de multiplicación: donde el símbolo “ ” denota la operación de suma módulo 2 .

Criptosistema de Peye

En el criptosistema Peye , si la clave pública es un módulo y  es un número aleatorio, entonces la función de cifrar un mensaje (texto plano) se representa como una variable aleatoria . Entonces el homomorfismo por adición se prueba de la siguiente manera:

Criptosistema de Benalo

En el criptosistema Benalo , si la clave pública es un módulo , entonces la función de cifrado de texto sin formato se representa como aleatoria . Entonces el homomorfismo por adición se prueba de la siguiente manera:

Otros criptosistemas parcialmente homomórficos

Cifrado totalmente homomórfico

Los criptosistemas parcialmente homomórficos permiten realizar cálculos homomórficos para una sola operación (ya sea suma o multiplicación) de textos sin formato. Un criptosistema que admite tanto la suma como la multiplicación (preservando así la estructura de anillo de texto sin formato ) se conoce como cifrado totalmente homomórfico y es más potente. Usando un sistema de este tipo, cualquier esquema puede evaluarse homomórficamente, lo que permite la creación eficiente de programas que pueden ejecutarse en el cifrado de entrada para producir el cifrado de salida. Dado que dicho programa nunca descifrará su entrada, puede ser ejecutado por una parte no confiable sin mostrar su entrada y estado interno. La existencia de un sistema criptográfico eficiente y totalmente homomórfico tendría grandes implicaciones prácticas en la externalización de la informática privada, por ejemplo en el contexto de la computación en la nube [7] . El cifrado homomórfico permitiría combinar diferentes servicios en uno sin proporcionar datos para cada servicio. Por ejemplo, agrupar los servicios de diferentes empresas podría calcular el impuesto de manera consistente, aplicar el tipo de cambio actual, enviar una solicitud de transacción, sin proporcionar datos reales para cada uno de estos servicios [8] . La propiedad homomórfica de varios sistemas criptográficos se puede utilizar para crear sistemas de votación seguros [9] , funciones hash resistentes a colisiones, información patentada de motores de búsqueda y permitir el uso generalizado de la computación en la nube pública al garantizar la confidencialidad de los datos procesados.

Problemas de rendimiento y soluciones

Uno de los problemas significativos de los criptosistemas totalmente homomórficos conocidos es su rendimiento extremadamente bajo. Actualmente, hay dos formas principales de mejorar el rendimiento: el uso de " cifrado totalmente  homomórfico limitado " [10] y el uso del llamado "método de empaquetado de texto cifrado" [11] . El primero implica un criptosistema que puede realizar operaciones de suma y multiplicación, pero en un número limitado. La esencia del segundo es que varios textos sin formato se escriben en un texto cifrado a la vez y, al mismo tiempo, durante una sola operación de dicho texto cifrado por lotes, todos los textos cifrados incluidos en él se procesan simultáneamente.

Véase también

Notas

  1. Ronald L. Rivest, Len Adleman, Michael L. Dertouzos. Sobre Bancos de Datos y Homomorfismos de Privacidad . Prensa académica (1978). Archivado desde el original el 25 de mayo de 2013.  
  2. Dan Boneh, Eu-Jin Goh, Kobbi Nissim. Evaluación de fórmulas 2-DNF en  textos cifrados . Springer-Verlag (2005). Archivado desde el original el 25 de mayo de 2013.
  3. Varnovsky, N. P.  Cifrado homomórfico / N. P. Varnovsky, A. V. Shokurov // Actas del Instituto de Programación de Sistemas de la Academia Rusa de Ciencias. — 2006.
  4. Estudio de varios esquemas y algoritmos de cifrado homomórfico / PV Parmar [et al.] // Intern. J. de Aplicaciones Informáticas. - 2014. - Vol. 91, núm. ocho.
  5. Shenets, N. N.  Sistema modular de voto electrónico e intercambio de secretos / N. N. Shenets // Bulletin of BSU. Ser. 1. - 2011. - Nº 1.
  6. Gabidulin, E. M.  Seguridad de la información en redes de telecomunicaciones / E. M. Gabidulin, N. I. Pilipchuk, O. V. Trushina // Actas del Instituto de Física y Tecnología de Moscú. - 2013. - V. 5, N° 3.
  7. Daniele Micciancio. Un primer vistazo al Santo Grial de la criptografía  (ing.) 96. Association for Computing Machinery (1 de marzo de 2010). Archivado desde el original el 24 de mayo de 2013.
  8. Craig Stuntz. ¿Qué es el cifrado homomórfico y por qué debería importarme?  (inglés) (18 de marzo de 2010). Archivado desde el original el 24 de mayo de 2013.
  9. Ron Rivest. Apuntes de clase 15: Votación, cifrado homomórfico  (inglés) (29 de octubre de 2002). Archivado desde el original el 24 de mayo de 2013.
  10. Brakerski Z., Gentry C., Vaikuntanathan V. (nivelado) cifrado completamente homomórfico sin arranque  // Ciencias informáticas  teóricas. - 2012. - P. 309-325 .
  11. Burtyka F. B. Cifrado totalmente homomórfico simétrico de paquetes basado en polinomios matriciales  // Actas del Instituto de Programación de Sistemas. Volumen 26. - 2014. - Nº 5 . - S. 99-115 .

Literatura

Enlaces