Encriptación completamente homomórfica: Introducción y casos de uso

Avanzado8/22/2024, 9:21:34 AM
Este artículo tiene como objetivo proporcionar al lector una descripción general de alto nivel de para qué se puede utilizar FHE y los diferentes escenarios o configuraciones que aprovechan FHE. En una futura publicación de blog, profundizaremos más en los detalles sobre los tipos de FHE (que influyen en el tipo de cálculos que podemos realizar) y, finalmente, qué tipo de compiladores podemos encontrar para traducir nuestros programas en operaciones que se pueden calcular utilizando FHE.

Cuando uno piensa en encriptación, los primeros usos que vienen a la mente son la encriptación en reposo y la encriptación durante el transporte. El primero permite almacenar datos en discos duros encriptados, dispositivos extraíbles o incluso bases de datos en la nube, y ofrece la garantía de que solo el propietario legítimo puede ver o editar el contenido en texto plano. La encriptación durante el transporte garantiza que los datos transmitidos a través de Internet solo sean accesibles por sus destinatarios designados, incluso si transitan por enrutadores o canales públicos. Ambos escenarios se basan en la encriptación, con la garantía adicional de integridad de que los datos tampoco han sido manipulados por un atacante malicioso en el camino. Esto se conoce como encriptación autenticada: una vez que los datos están encriptados, nadie en la cadena puede inferir ningún bit de datos (confidencialidad) y nadie puede alterar el texto cifrado sin que se detecte (integridad/autenticidad).

Algunos casos de uso colaborativo requieren que se permita algún procesamiento no trivial incluso en textos cifrados. Este es el dominio de las técnicas de preservación de la privacidad, o el cifrado en uso, siendo el cifrado totalmente homomórfico (FHE) uno de ellos. Un ejemplo es el voto electrónico en la nube: los votantes pueden, por ejemplo, encriptar su boleta, luego alguna entidad en el medio agregaría todas las boletas para contar el número de votos, y solo se publicaría el resultado final. Desafortunadamente, con el cifrado autenticado, la entidad en el medio necesitaría descifrar todas las boletas para realizar dicho cómputo y vería los votos individuales sin cifrar, lo cual es bastante engorroso. Podríamos, en teoría, barajar las papeletas (algunos protocolos de voto electrónico se basan en esto), pero, a diferencia de las papeletas, los mecanismos criptográficos tradicionales que garantizan la integridad también hacen que sea mucho más difícil desvincular una papeleta encriptada de la identidad de su remitente. En un esquema de voto electrónico, se podría agregar una pared de hardware alrededor de la entidad que cuenta los votos. Este es, por ejemplo, el objetivo de los enclaves de ejecución de confianza. Estos enclaves harían mucho más difícil que un atacante interactuara con la entidad. Pero entonces, una falla en el hardware podría filtrar la clave de descifrado y, a diferencia de los errores de software, las vulnerabilidades de diseño de hardware no se pueden parchear fácilmente.

Para abordar este y otros casos de uso similares, podemos hacer uso de la Encriptación Completamente Homomórfica (FHE). FHE es una forma especial de encriptación que permite calcular una función sobre los textos cifrados sin descifrarlos y obtener directamente un cifrado de la salida de la función.

La mayor parte del tiempo, la función f a evaluar es pública, por lo que la secuencia de pasos de procesamiento para convertir una encriptación de f(x) es de conocimiento público y puede llevarse a cabo en la nube sin involucrar ningún secreto.

Esta figura representa los 3 escenarios para la votación electrónica: en la imagen más a la izquierda, una entidad de confianza baraja y descifra los votos individuales antes de publicar su adición. Debemos confiar en la entidad que realiza el cálculo para que se preserve la privacidad del votante y se cuenten correctamente los votos. En la imagen central se utiliza una Enclave de Confianza, confiable para proporcionar garantías de integridad y privacidad, para realizar el mismo cálculo. En la imagen de la derecha, se utiliza encriptación homomórfica: los votos encriptados pueden ser sumados (públicamente) antes de que se descifre el resultado. E( ) significa la operación de encriptación, mientras que D( ) denota descifrado.

FHE también es compacto, lo que significa que el tamaño de bits del texto cifrado de salida y el esfuerzo para descifrarlo solo depende del número de bits en el resultado del texto plano. No depende de la cadena de operaciones que se aplicaron. Esto excluye los criptosistemas no compactos triviales que simplemente concatenarían el texto cifrado de entrada de x con el código fuente de f, y dejarían que el destinatario haga todo el trabajo descifrando x y luego aplicando f.

La externalización de FHE se presenta a menudo como una alternativa a los recintos seguros, basada en la dificultad de un problema matemático en lugar de en barreras prácticas. Por lo tanto, FHE es completamente invulnerable a los ataques pasivos de canal lateral o a otras corrupciones del host de la nube. Imagina que alguien necesita externalizar algún cálculo, pero los datos son realmente sensibles. Esa persona probablemente se mostraría reacia a utilizar una VM en la nube si alguien más puede ser root en la máquina. Probablemente también dudaría en ejecutarla en un enclave como SGX, sabiendo que la CPU y la memoria de los hosts de la nube se monitorizan constantemente para detectar carga, potencia, temperatura. Tal vez se pueda extraer alguna información de estas mediciones. Esa persona puede estar tranquilizada por la promesa de FHE de que la extracción de cualquier bit de información requiere la resolución de un problema matemático post-cuántico, independientemente de cualquier tipo de medición que se pueda recopilar.

Si la confidencialidad proporcionada por el esquema evita que un atacante lea cualquier bit de información sin la clave secreta, la maleabilidad universal de FHE permite, por otro lado, que un atacante cambie cualquier bit que se calcule: en un circuito, esto sería equivalente a ataques activos de canal lateral, donde se le otorga al atacante un rayo láser mágico que puede apuntar a cualquier bit. Puede sonar muy aterrador al principio, pero en FHE estos ataques corresponden a ejecuciones deshonestas de las operaciones homomórficas. Se pueden evitar agregando replicación o redundancias en el cálculo.

FHE a menudo se presenta de manera de clave pública. Hay:

  1. Una clave de descifrado: Este es el maestro del criptosistema, del cual se pueden derivar todas las demás claves. La clave de descifrado suele generarse localmente y nunca se transmite, y la única persona que puede descifrar un texto cifrado completamente homomórfico es el propietario de la clave de descifrado.
  2. Una clave de encriptación: En modo de clave pública, cuando la parte que proporciona el texto cifrado inicial no es el propietario de la clave de descifrado, esta clave de tamaño mediano suele consistir en encriptaciones aleatorias de cero. Dado que el FHE soporta funciones afines, esto es suficiente para encriptar cualquier mensaje.
  3. Una clave de evaluación: esta clave se debe dar a cualquier parte que evalúe una función en textos cifrados. Esta clave también es segura para ser publicada o transmitida como cualquier clave pública. El tamaño de la clave de evaluación varía de vacío a muy grande, dependiendo de si la función a evaluar es lineal o arbitraria.

El propietario de la clave de descifrado es el propietario del secreto más sensible del criptosistema. Esta persona es responsable de asegurarse de que la cadena de operaciones homomórficas que se ejecutaron sea legítima y de que el texto cifrado final sea seguro para descifrar, y luego descifrar el resultado del texto plano. Si se introducen operaciones maliciosas en la cadena, la clave de descifrado podría filtrarse potencialmente en el momento del descifrado. Afortunadamente, las operaciones homomórficas se pueden realizar de forma pública y verificada.

Escenarios FHE

En esta sección, describimos algunos escenarios en los que se puede utilizar el cifrado completamente homomórfico, así como algunos pros y contras de cada configuración.

Modo de externalización


En esta figura, el símbolo de llave naranja simboliza la clave de descifrado (y su propietario). Los textos cifrados FHE se representan por cerraduras del mismo color que la clave de descifrado. Las partes que contribuyen con datos privados se representan por un cilindro: aquí, solo Alice contribuye con datos privados. En el lado de Bob, la función de evaluación y la clave de evaluación son públicas, y el cálculo, representado por un cuadro verde, se puede realizar de manera determinista. Todos pueden seguir el cálculo y detectar si el texto cifrado de salida reclamado es incorrecto.

Este es históricamente el primer caso de uso que se publicó para FHE. Su objetivo es convertir la computación en la nube en una computación privada análoga a una enclave seguro, pero basada en seguridad criptográfica en lugar de seguridad de hardware. En este escenario, Alice posee algunos datos privados, pero tiene capacidades de computación limitadas. Bob imita una instancia de nube con mucho más poder de computación. Bob no contribuye con ningún dato privado adicional. Alice puede externalizar una computación mediante la encriptación de las entradas, luego Bob evalúa la función (pública) deseada de forma homomórfica y envía el resultado encriptado de vuelta a Alice.

Con las capacidades de hardware actuales, el modo de externalización aún es un poco lento para su uso en plena generalidad en la práctica; típicamente podemos contar con un factor de sobrecarga de tiempo de ejecución de 1 millón y una sobrecarga de memoria de 1 mil en casos de uso no lineales. Sin embargo, actualmente se está desarrollando hardware FHE para cerrar la brecha, como el Proyecto DPRIVE de DarpaoCryptoLight.

Actualmente, el modo de subcontratación se utiliza en la práctica para casos de uso de PIR (Recuperación de Información Privada), donde un servidor (Bob) tiene una gran base de datos pública, un cliente (Alice) emite una consulta y el índice que se consulta debe permanecer privado. Estos esquemas de PIR se benefician mucho de la linealidad y la compacidad de las operaciones encriptadas homomórficas, mientras que la pequeña profundidad multiplicativa de los circuitos mantiene los costos de computación dentro de límites razonables.

Esta tabla resume los pros y los contras del modo de subcontratación.

Modo de computación de dos partes

Esta figura utiliza el mismo código de colores que anteriormente. Esta vez, Bob contribuye a la computación con algunos datos privados. La computación en el lado de Bob ya no es públicamente verificable, simbolizado por un cuadro rojo, este modo debería estar restringido a casos de uso honesto pero curiosos.

En esta nueva configuración, la única diferencia es que Bob contribuye a la computación con algunos datos privados. En este caso, la encriptación completamente homomórfica es una buena solución de cálculo de dos partes, con una comunicación mínima, y brinda garantías sólidas en el lado del consultante: Bob no aprende nada sobre los datos de Alice, y Alice aprende el resultado de la computación.

Una posible aplicación para este escenario sería el problema del millonario, donde Alice y Bob son dos millonarios que quieren saber quién es más rico sin revelar su riqueza a la otra parte. Las soluciones a este problema se utilizan en aplicaciones de comercio electrónico.

Modo de Agregación

Esta es una mejora del modo de externalización, donde los datos de muchos participantes pueden ser agregados de manera compacta (en el sentido de que la salida no crece con la cantidad de participantes) y de forma públicamente verificable. Los usos típicos incluyen el aprendizaje federado y la votación electrónica.

Modo cliente-servidor

Esta configuración es un refinamiento del modo de cálculo de dos partes, donde la parte de cálculo ahora proporciona un servicio de cálculo seguro a múltiples clientes que tienen su propia clave secreta. FHE puede utilizarse, por ejemplo, como un servicio de predicción de modelos privados (por ejemplo, un servicio de aprendizaje automático con un modelo y entradas privadas): el servidor tiene el modelo privado (privado pero en texto sin formato) y cada cliente tiene sus propios datos y desea ejecutar una predicción. Como resultado, cada cliente recibe su propia predicción cifrada, con su propia clave secreta.

¿Cómo asegura el cifrado homomórfico que la función calculada es legítima?

Siempre es más fácil usar la encriptación completamente homomórfica en escenarios colaborativos donde cada participante tiene un incentivo para seguir el protocolo honestamente. Por ejemplo, la encriptación completamente homomórfica se puede usar para calcular estadísticas entre dos entidades legales del mismo grupo en dos países diferentes: regulaciones como el GDPR permiten que algunas estadísticas se publiquen, pero evitan en general la recopilación de todos los datos individuales en el mismo lugar. En este caso, usar la encriptación completamente homomórfica es posible y todos los participantes tienen incentivo para seguir el protocolo honestamente. En un escenario no colaborativo, la forma más fácil de asegurarse de que la función relevante se haya calculado es introducir redundancia. Por ejemplo, en los escenarios de externalización y agregación, los cálculos homomórficos son completamente públicos y pueden hacerse determinísticos. Siempre que dos o más entidades independientes obtengan el mismo texto cifrado de salida, entonces el cálculo es correcto y el resultado es seguro para descifrar. Cuanta más redundancia, más confianza podemos tener en el resultado, lo que por supuesto es un compromiso con la eficiencia.

Además, cuando la parte computadora respalda un resultado de encriptación totalmente homomórfica (FHE) mediante la firma digital de los textos cifrados de entrada y salida, todos pueden rehacer la misma operación de encriptación totalmente homomórfica y verificar si la prueba es válida. Cualquier intento de hacer trampa por parte de la parte computadora de encriptación totalmente homomórfica puede ser públicamente descubierto y asociado con un certificado públicamente verificable que expone el engaño y el tramposo, a esto lo llamamos un modelo de seguridad encubierta fuerte.

Firmas completamente homomórficasson otra forma de verificar la corrección de un cálculo, sin necesidad de un verificador independiente, pero en general requiere muchos más recursos.

¿Cómo asegura el cifrado homomórfico completamente que el destinatario final descifra solo el resultado final y no las variables intermedias?

La forma más fácil de hacer esto es asegurarse de que el propietario de la clave de descifrado no tenga acceso a ningún texto cifrado intermedio.

En el escenario de dos partes, o en el cliente-servidor, Alice cifra la entrada, Bob realiza el cálculo sobre los textos cifrados y transmite el resultado cifrado de vuelta a Alice, está claro que Alice solo podrá descifrar el resultado, no tiene acceso a ninguna otra variable.

En un escenario de agregación en la nube, como el voto electrónico, en el que muchos participantes envían papeletas cifradas en una nube común, se utiliza otra técnica: la clave de descifrado, en general, no se entrega a un único destinatario, sino que se comparte en secreto entre diferentes miembros de una autoridad de descifrado. En este caso, el descifrado solo se puede activar en un texto cifrado en particular mediante la ejecución de un cálculo multipartito, que implica la comunicación en línea entre los miembros de la autoridad. Si un miembro se niega a descifrar un texto cifrado, el descifrado es imposible. Esto garantiza que solo se puedan descifrar los textos cifrados acordados por todos los miembros de la autoridad.

Los Bloques de Construcción de la Encriptación Homomórfica

Existen tres tipos de cifrado homomórfico: cifrado homomórfico parcial (PHE), cifrado homomórfico nivelado (LHE) y encriptación homomórfica completamente (FHE). El cifrado homomórfico parcial solo nos permite calcular un conjunto restringido de funciones (por ejemplo, solo una suma, solo funciones lineales, solo funciones bilineales), mientras que el cifrado homomórfico nivelado y completamente homomórfico pueden evaluar circuitos arbitrarios, o, equivalente, funciones cuyos flujos de control son independientes de los datos. Para LHE, los parámetros criptográficos dependen de la función y crecen con la complejidad del circuito, lo que a su vez resulta en cifrados y claves más grandes. Los esquemas FHE permiten, para un conjunto de parámetros dados, y por lo tanto para una clave y tamaño de cifrado dado, evaluar cualquier función que pueda ser representada como un circuito con compuertas aritméticas o binarias. Es decir, a diferencia de LHE, incluso si el circuito a evaluar crece cada vez más, los parámetros del esquema (y las claves y cifrados) no se hacen más grandes.

En otras palabras, cuando se pregunta si un circuito de texto sin formato dado se puede ejecutar de manera homomórfica y a qué costo (en tiempo y sobrecarga de memoria), PHE puede responder no a la pregunta. LHE responde sí, pero puede establecer un costo arbitrariamente alto para circuitos complejos. FHE también responde sí y, además, proporciona las claves, algoritmos de encriptación y desencriptación, y cómo evaluar de manera homomórfica un conjunto universal de Gates antes de que se especifique el circuito de texto sin formato. Por lo tanto, FHE es el único modo que garantiza que la memoria y el tiempo de ejecución de la evaluación homomórfica sean proporcionales al circuito de texto sin formato original. Para lograr esto, todos los esquemas FHE conocidos actualmente manejan textos cifrados ruidosos que se vuelven cada vez más ruidosos a medida que se realizan cálculos. Para evitar que el ruido se desborde en el cálculo realizado y conduzca a errores de desencriptación, estos esquemas realizan regularmente una operación bastante costosa llamada reinicio, que reduce el ruido a un nivel manejable. ¡Más detalles sobre las especificidades de cada tipo de esquema, sobre el reinicio y sobre cómo minimizar el ruido y otros costos con compiladores FHE, en la segunda publicación del blog de esta serie!

Descargo de responsabilidad:

  1. Este artículo se reproduce de [ cryptographycaffe], Todos los derechos de autor pertenecen al autor original [Nicolas Gama y Sandra Guasch]. Si hay objeciones a esta reimpresión, por favor contacte alGate Learnequipo y lo manejarán rápidamente.
  2. Descargo de responsabilidad por responsabilidad: Las opiniones y puntos de vista expresados en este artículo son únicamente los del autor y no constituyen ningún consejo de inversión.
  3. Las traducciones del artículo a otros idiomas son realizadas por el equipo de Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.

Encriptación completamente homomórfica: Introducción y casos de uso

Avanzado8/22/2024, 9:21:34 AM
Este artículo tiene como objetivo proporcionar al lector una descripción general de alto nivel de para qué se puede utilizar FHE y los diferentes escenarios o configuraciones que aprovechan FHE. En una futura publicación de blog, profundizaremos más en los detalles sobre los tipos de FHE (que influyen en el tipo de cálculos que podemos realizar) y, finalmente, qué tipo de compiladores podemos encontrar para traducir nuestros programas en operaciones que se pueden calcular utilizando FHE.

Cuando uno piensa en encriptación, los primeros usos que vienen a la mente son la encriptación en reposo y la encriptación durante el transporte. El primero permite almacenar datos en discos duros encriptados, dispositivos extraíbles o incluso bases de datos en la nube, y ofrece la garantía de que solo el propietario legítimo puede ver o editar el contenido en texto plano. La encriptación durante el transporte garantiza que los datos transmitidos a través de Internet solo sean accesibles por sus destinatarios designados, incluso si transitan por enrutadores o canales públicos. Ambos escenarios se basan en la encriptación, con la garantía adicional de integridad de que los datos tampoco han sido manipulados por un atacante malicioso en el camino. Esto se conoce como encriptación autenticada: una vez que los datos están encriptados, nadie en la cadena puede inferir ningún bit de datos (confidencialidad) y nadie puede alterar el texto cifrado sin que se detecte (integridad/autenticidad).

Algunos casos de uso colaborativo requieren que se permita algún procesamiento no trivial incluso en textos cifrados. Este es el dominio de las técnicas de preservación de la privacidad, o el cifrado en uso, siendo el cifrado totalmente homomórfico (FHE) uno de ellos. Un ejemplo es el voto electrónico en la nube: los votantes pueden, por ejemplo, encriptar su boleta, luego alguna entidad en el medio agregaría todas las boletas para contar el número de votos, y solo se publicaría el resultado final. Desafortunadamente, con el cifrado autenticado, la entidad en el medio necesitaría descifrar todas las boletas para realizar dicho cómputo y vería los votos individuales sin cifrar, lo cual es bastante engorroso. Podríamos, en teoría, barajar las papeletas (algunos protocolos de voto electrónico se basan en esto), pero, a diferencia de las papeletas, los mecanismos criptográficos tradicionales que garantizan la integridad también hacen que sea mucho más difícil desvincular una papeleta encriptada de la identidad de su remitente. En un esquema de voto electrónico, se podría agregar una pared de hardware alrededor de la entidad que cuenta los votos. Este es, por ejemplo, el objetivo de los enclaves de ejecución de confianza. Estos enclaves harían mucho más difícil que un atacante interactuara con la entidad. Pero entonces, una falla en el hardware podría filtrar la clave de descifrado y, a diferencia de los errores de software, las vulnerabilidades de diseño de hardware no se pueden parchear fácilmente.

Para abordar este y otros casos de uso similares, podemos hacer uso de la Encriptación Completamente Homomórfica (FHE). FHE es una forma especial de encriptación que permite calcular una función sobre los textos cifrados sin descifrarlos y obtener directamente un cifrado de la salida de la función.

La mayor parte del tiempo, la función f a evaluar es pública, por lo que la secuencia de pasos de procesamiento para convertir una encriptación de f(x) es de conocimiento público y puede llevarse a cabo en la nube sin involucrar ningún secreto.

Esta figura representa los 3 escenarios para la votación electrónica: en la imagen más a la izquierda, una entidad de confianza baraja y descifra los votos individuales antes de publicar su adición. Debemos confiar en la entidad que realiza el cálculo para que se preserve la privacidad del votante y se cuenten correctamente los votos. En la imagen central se utiliza una Enclave de Confianza, confiable para proporcionar garantías de integridad y privacidad, para realizar el mismo cálculo. En la imagen de la derecha, se utiliza encriptación homomórfica: los votos encriptados pueden ser sumados (públicamente) antes de que se descifre el resultado. E( ) significa la operación de encriptación, mientras que D( ) denota descifrado.

FHE también es compacto, lo que significa que el tamaño de bits del texto cifrado de salida y el esfuerzo para descifrarlo solo depende del número de bits en el resultado del texto plano. No depende de la cadena de operaciones que se aplicaron. Esto excluye los criptosistemas no compactos triviales que simplemente concatenarían el texto cifrado de entrada de x con el código fuente de f, y dejarían que el destinatario haga todo el trabajo descifrando x y luego aplicando f.

La externalización de FHE se presenta a menudo como una alternativa a los recintos seguros, basada en la dificultad de un problema matemático en lugar de en barreras prácticas. Por lo tanto, FHE es completamente invulnerable a los ataques pasivos de canal lateral o a otras corrupciones del host de la nube. Imagina que alguien necesita externalizar algún cálculo, pero los datos son realmente sensibles. Esa persona probablemente se mostraría reacia a utilizar una VM en la nube si alguien más puede ser root en la máquina. Probablemente también dudaría en ejecutarla en un enclave como SGX, sabiendo que la CPU y la memoria de los hosts de la nube se monitorizan constantemente para detectar carga, potencia, temperatura. Tal vez se pueda extraer alguna información de estas mediciones. Esa persona puede estar tranquilizada por la promesa de FHE de que la extracción de cualquier bit de información requiere la resolución de un problema matemático post-cuántico, independientemente de cualquier tipo de medición que se pueda recopilar.

Si la confidencialidad proporcionada por el esquema evita que un atacante lea cualquier bit de información sin la clave secreta, la maleabilidad universal de FHE permite, por otro lado, que un atacante cambie cualquier bit que se calcule: en un circuito, esto sería equivalente a ataques activos de canal lateral, donde se le otorga al atacante un rayo láser mágico que puede apuntar a cualquier bit. Puede sonar muy aterrador al principio, pero en FHE estos ataques corresponden a ejecuciones deshonestas de las operaciones homomórficas. Se pueden evitar agregando replicación o redundancias en el cálculo.

FHE a menudo se presenta de manera de clave pública. Hay:

  1. Una clave de descifrado: Este es el maestro del criptosistema, del cual se pueden derivar todas las demás claves. La clave de descifrado suele generarse localmente y nunca se transmite, y la única persona que puede descifrar un texto cifrado completamente homomórfico es el propietario de la clave de descifrado.
  2. Una clave de encriptación: En modo de clave pública, cuando la parte que proporciona el texto cifrado inicial no es el propietario de la clave de descifrado, esta clave de tamaño mediano suele consistir en encriptaciones aleatorias de cero. Dado que el FHE soporta funciones afines, esto es suficiente para encriptar cualquier mensaje.
  3. Una clave de evaluación: esta clave se debe dar a cualquier parte que evalúe una función en textos cifrados. Esta clave también es segura para ser publicada o transmitida como cualquier clave pública. El tamaño de la clave de evaluación varía de vacío a muy grande, dependiendo de si la función a evaluar es lineal o arbitraria.

El propietario de la clave de descifrado es el propietario del secreto más sensible del criptosistema. Esta persona es responsable de asegurarse de que la cadena de operaciones homomórficas que se ejecutaron sea legítima y de que el texto cifrado final sea seguro para descifrar, y luego descifrar el resultado del texto plano. Si se introducen operaciones maliciosas en la cadena, la clave de descifrado podría filtrarse potencialmente en el momento del descifrado. Afortunadamente, las operaciones homomórficas se pueden realizar de forma pública y verificada.

Escenarios FHE

En esta sección, describimos algunos escenarios en los que se puede utilizar el cifrado completamente homomórfico, así como algunos pros y contras de cada configuración.

Modo de externalización


En esta figura, el símbolo de llave naranja simboliza la clave de descifrado (y su propietario). Los textos cifrados FHE se representan por cerraduras del mismo color que la clave de descifrado. Las partes que contribuyen con datos privados se representan por un cilindro: aquí, solo Alice contribuye con datos privados. En el lado de Bob, la función de evaluación y la clave de evaluación son públicas, y el cálculo, representado por un cuadro verde, se puede realizar de manera determinista. Todos pueden seguir el cálculo y detectar si el texto cifrado de salida reclamado es incorrecto.

Este es históricamente el primer caso de uso que se publicó para FHE. Su objetivo es convertir la computación en la nube en una computación privada análoga a una enclave seguro, pero basada en seguridad criptográfica en lugar de seguridad de hardware. En este escenario, Alice posee algunos datos privados, pero tiene capacidades de computación limitadas. Bob imita una instancia de nube con mucho más poder de computación. Bob no contribuye con ningún dato privado adicional. Alice puede externalizar una computación mediante la encriptación de las entradas, luego Bob evalúa la función (pública) deseada de forma homomórfica y envía el resultado encriptado de vuelta a Alice.

Con las capacidades de hardware actuales, el modo de externalización aún es un poco lento para su uso en plena generalidad en la práctica; típicamente podemos contar con un factor de sobrecarga de tiempo de ejecución de 1 millón y una sobrecarga de memoria de 1 mil en casos de uso no lineales. Sin embargo, actualmente se está desarrollando hardware FHE para cerrar la brecha, como el Proyecto DPRIVE de DarpaoCryptoLight.

Actualmente, el modo de subcontratación se utiliza en la práctica para casos de uso de PIR (Recuperación de Información Privada), donde un servidor (Bob) tiene una gran base de datos pública, un cliente (Alice) emite una consulta y el índice que se consulta debe permanecer privado. Estos esquemas de PIR se benefician mucho de la linealidad y la compacidad de las operaciones encriptadas homomórficas, mientras que la pequeña profundidad multiplicativa de los circuitos mantiene los costos de computación dentro de límites razonables.

Esta tabla resume los pros y los contras del modo de subcontratación.

Modo de computación de dos partes

Esta figura utiliza el mismo código de colores que anteriormente. Esta vez, Bob contribuye a la computación con algunos datos privados. La computación en el lado de Bob ya no es públicamente verificable, simbolizado por un cuadro rojo, este modo debería estar restringido a casos de uso honesto pero curiosos.

En esta nueva configuración, la única diferencia es que Bob contribuye a la computación con algunos datos privados. En este caso, la encriptación completamente homomórfica es una buena solución de cálculo de dos partes, con una comunicación mínima, y brinda garantías sólidas en el lado del consultante: Bob no aprende nada sobre los datos de Alice, y Alice aprende el resultado de la computación.

Una posible aplicación para este escenario sería el problema del millonario, donde Alice y Bob son dos millonarios que quieren saber quién es más rico sin revelar su riqueza a la otra parte. Las soluciones a este problema se utilizan en aplicaciones de comercio electrónico.

Modo de Agregación

Esta es una mejora del modo de externalización, donde los datos de muchos participantes pueden ser agregados de manera compacta (en el sentido de que la salida no crece con la cantidad de participantes) y de forma públicamente verificable. Los usos típicos incluyen el aprendizaje federado y la votación electrónica.

Modo cliente-servidor

Esta configuración es un refinamiento del modo de cálculo de dos partes, donde la parte de cálculo ahora proporciona un servicio de cálculo seguro a múltiples clientes que tienen su propia clave secreta. FHE puede utilizarse, por ejemplo, como un servicio de predicción de modelos privados (por ejemplo, un servicio de aprendizaje automático con un modelo y entradas privadas): el servidor tiene el modelo privado (privado pero en texto sin formato) y cada cliente tiene sus propios datos y desea ejecutar una predicción. Como resultado, cada cliente recibe su propia predicción cifrada, con su propia clave secreta.

¿Cómo asegura el cifrado homomórfico que la función calculada es legítima?

Siempre es más fácil usar la encriptación completamente homomórfica en escenarios colaborativos donde cada participante tiene un incentivo para seguir el protocolo honestamente. Por ejemplo, la encriptación completamente homomórfica se puede usar para calcular estadísticas entre dos entidades legales del mismo grupo en dos países diferentes: regulaciones como el GDPR permiten que algunas estadísticas se publiquen, pero evitan en general la recopilación de todos los datos individuales en el mismo lugar. En este caso, usar la encriptación completamente homomórfica es posible y todos los participantes tienen incentivo para seguir el protocolo honestamente. En un escenario no colaborativo, la forma más fácil de asegurarse de que la función relevante se haya calculado es introducir redundancia. Por ejemplo, en los escenarios de externalización y agregación, los cálculos homomórficos son completamente públicos y pueden hacerse determinísticos. Siempre que dos o más entidades independientes obtengan el mismo texto cifrado de salida, entonces el cálculo es correcto y el resultado es seguro para descifrar. Cuanta más redundancia, más confianza podemos tener en el resultado, lo que por supuesto es un compromiso con la eficiencia.

Además, cuando la parte computadora respalda un resultado de encriptación totalmente homomórfica (FHE) mediante la firma digital de los textos cifrados de entrada y salida, todos pueden rehacer la misma operación de encriptación totalmente homomórfica y verificar si la prueba es válida. Cualquier intento de hacer trampa por parte de la parte computadora de encriptación totalmente homomórfica puede ser públicamente descubierto y asociado con un certificado públicamente verificable que expone el engaño y el tramposo, a esto lo llamamos un modelo de seguridad encubierta fuerte.

Firmas completamente homomórficasson otra forma de verificar la corrección de un cálculo, sin necesidad de un verificador independiente, pero en general requiere muchos más recursos.

¿Cómo asegura el cifrado homomórfico completamente que el destinatario final descifra solo el resultado final y no las variables intermedias?

La forma más fácil de hacer esto es asegurarse de que el propietario de la clave de descifrado no tenga acceso a ningún texto cifrado intermedio.

En el escenario de dos partes, o en el cliente-servidor, Alice cifra la entrada, Bob realiza el cálculo sobre los textos cifrados y transmite el resultado cifrado de vuelta a Alice, está claro que Alice solo podrá descifrar el resultado, no tiene acceso a ninguna otra variable.

En un escenario de agregación en la nube, como el voto electrónico, en el que muchos participantes envían papeletas cifradas en una nube común, se utiliza otra técnica: la clave de descifrado, en general, no se entrega a un único destinatario, sino que se comparte en secreto entre diferentes miembros de una autoridad de descifrado. En este caso, el descifrado solo se puede activar en un texto cifrado en particular mediante la ejecución de un cálculo multipartito, que implica la comunicación en línea entre los miembros de la autoridad. Si un miembro se niega a descifrar un texto cifrado, el descifrado es imposible. Esto garantiza que solo se puedan descifrar los textos cifrados acordados por todos los miembros de la autoridad.

Los Bloques de Construcción de la Encriptación Homomórfica

Existen tres tipos de cifrado homomórfico: cifrado homomórfico parcial (PHE), cifrado homomórfico nivelado (LHE) y encriptación homomórfica completamente (FHE). El cifrado homomórfico parcial solo nos permite calcular un conjunto restringido de funciones (por ejemplo, solo una suma, solo funciones lineales, solo funciones bilineales), mientras que el cifrado homomórfico nivelado y completamente homomórfico pueden evaluar circuitos arbitrarios, o, equivalente, funciones cuyos flujos de control son independientes de los datos. Para LHE, los parámetros criptográficos dependen de la función y crecen con la complejidad del circuito, lo que a su vez resulta en cifrados y claves más grandes. Los esquemas FHE permiten, para un conjunto de parámetros dados, y por lo tanto para una clave y tamaño de cifrado dado, evaluar cualquier función que pueda ser representada como un circuito con compuertas aritméticas o binarias. Es decir, a diferencia de LHE, incluso si el circuito a evaluar crece cada vez más, los parámetros del esquema (y las claves y cifrados) no se hacen más grandes.

En otras palabras, cuando se pregunta si un circuito de texto sin formato dado se puede ejecutar de manera homomórfica y a qué costo (en tiempo y sobrecarga de memoria), PHE puede responder no a la pregunta. LHE responde sí, pero puede establecer un costo arbitrariamente alto para circuitos complejos. FHE también responde sí y, además, proporciona las claves, algoritmos de encriptación y desencriptación, y cómo evaluar de manera homomórfica un conjunto universal de Gates antes de que se especifique el circuito de texto sin formato. Por lo tanto, FHE es el único modo que garantiza que la memoria y el tiempo de ejecución de la evaluación homomórfica sean proporcionales al circuito de texto sin formato original. Para lograr esto, todos los esquemas FHE conocidos actualmente manejan textos cifrados ruidosos que se vuelven cada vez más ruidosos a medida que se realizan cálculos. Para evitar que el ruido se desborde en el cálculo realizado y conduzca a errores de desencriptación, estos esquemas realizan regularmente una operación bastante costosa llamada reinicio, que reduce el ruido a un nivel manejable. ¡Más detalles sobre las especificidades de cada tipo de esquema, sobre el reinicio y sobre cómo minimizar el ruido y otros costos con compiladores FHE, en la segunda publicación del blog de esta serie!

Descargo de responsabilidad:

  1. Este artículo se reproduce de [ cryptographycaffe], Todos los derechos de autor pertenecen al autor original [Nicolas Gama y Sandra Guasch]. Si hay objeciones a esta reimpresión, por favor contacte alGate Learnequipo y lo manejarán rápidamente.
  2. Descargo de responsabilidad por responsabilidad: Las opiniones y puntos de vista expresados en este artículo son únicamente los del autor y no constituyen ningún consejo de inversión.
  3. Las traducciones del artículo a otros idiomas son realizadas por el equipo de Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.
今すぐ始める
登録して、
$100
のボーナスを獲得しよう!