En las últimas décadas, la privacidad y la seguridad de los datos se ha convertido en la principal preocupación de todos. Debido al aumento de los avances tecnológicos e Internet, ha sido una tarea desafiante proporcionar seguridad y privacidad de los datos, cuando los datos se distribuyen a través de grandes redes distribuidas. Como ahora todos están preocupados por sus datos, se está investigando mucho sobre cómo proporcionar seguridad y privacidad de datos a los participantes en la red. Una de las técnicas que da solución a los problemas de seguridad y privacidad de los datos es la Computación Multiparte Segura.
El cómputo multipartito seguro puede definirse como el problema de ‘n’ jugadores para calcular de forma conjunta en una función acordada de forma segura en las entradas sin revelarlas.
Historia
El cómputo multipartito seguro comenzó a principios de la década de 1970. En ese momento se conocía como computación multipartita. No gana popularidad en ese momento ya que no se implementó en la práctica. En la década de 1982 se introdujo como computación multipartita bipartita segura. Se utiliza para resolver muchos problemas de cálculo sin revelar las entradas a otras partes. Finalmente, llegó con el nombre de computación multiparte segura en la que se calculan las funciones de diferentes tipos, por lo que a veces se denomina SFE (Secure Function Evaluation) .
- El cómputo multipartito seguro se utiliza para la utilización de datos sin comprometer la privacidad.
- Es el subcampo criptográfico que ayuda a preservar la privacidad de los datos.
- Las tecnologías emergentes como blockchain, computación móvil, IoT, computación en la nube han resultado en el renacimiento de la computación multipartita segura.
- El cómputo multipartito seguro se ha convertido en un área candente de investigación en la última década debido al auge de la tecnología blockchain.
- Los investigadores ahora están más interesados en implementar computación multiparte segura en sistemas distribuidos.
- A diferencia de los sistemas centralizados, el cómputo multipartito seguro puede tener un mejor rendimiento en los sistemas distribuidos.
Arquitectura
El cómputo multiparte seguro proporciona un protocolo en el que ningún individuo puede ver los datos de las otras partes mientras se distribuyen los datos entre varias partes. Permite a los científicos y analistas de datos calcular de forma privada los datos distribuidos sin exponerlos.
Los compañeros de trabajo quieren calcular el salario máximo sin revelar su salario individual a los demás. Para realizar dicho cálculo, se implementa un cálculo multipartidista seguro para calcular el salario máximo. Las partes de manera distribuida realizan conjuntamente una función para calcularlo sin revelar el salario. Los datos en uso se mantienen en forma cifrada, se dividen y se distribuyen entre las partes, no hay posibilidades de ataques cuánticos. Es imposible tener una parte de confianza en el mundo real, ya que todas las partes se comunican entre sí de una forma u otra. En tal escenario, las partes pueden corromperse. Las partes corruptas tienen un comportamiento semi-honesto y malicioso.
- Un oponente semi-honesto es aquel que sigue el protocolo especificado pero corrompe a las partes. El protocolo se ejecuta con honestidad, pero intentan extraer información de los mensajes intercambiados entre las partes.
- Un adversario malicioso intenta violar la seguridad y no sigue el protocolo especificado. El adversario puede realizar los cambios durante el proceso de ejecución del protocolo. Al utilizar el cómputo multipartidista, asumimos que la parte es honesta y sigue todos los protocolos.
Ejemplo
Supongamos que queremos calcular el salario promedio entre tres empleados sin revelar el salario real, para tales problemas se puede usar el cálculo multipartito seguro. Tomemos un ejemplo-
La representación matemática del problema se puede dar como:
F(A, B, C) = Average (A, B, C)
Sam, Bob y Cassy quieren calcular su salario promedio.
- Digamos que el salario de Sam es de $40k. Usando el intercambio aditivo, $40k se divide en tres partes generadas aleatoriamente $44k, $-11k y $7k.
- Sam guarda una de estas piezas secretas consigo misma y distribuye las otras dos a cada uno.
- El mismo procedimiento es seguido por los tres.
- El intercambio secreto mantiene los datos en forma encriptada cuando está en uso. El procedimiento se da a continuación-
Sam | Beto | cassy | |
44 | -11 | 7 | $40 |
-6 | 32 | 24 | $50 |
20 | 0 | 40 | $60 |
$58 | $21 | $71 |
Total salary = $150 Average Salary = 150/3 = $50
A partir de los datos anteriores compartidos, no hay idea sobre el salario real, pero se está calculando el salario promedio.
Técnicas
Hay una serie de técnicas desarrolladas para la construcción segura de protocolos de computación multiparte que tienen diferentes características. A continuación se enumeran algunas técnicas utilizadas en el cómputo multiparte seguro:
- Uso compartido de secretos de Shamir: el uso compartido de secretos se utiliza como la herramienta básica cuando existe una mayoría honesta en el cómputo multipartito seguro. Un esquema de intercambio de secretos consiste en que un secreto se comparte entre n partes, de modo que t+1 o más partes se unen para reconstruir el secreto. Las partes inferiores a t no pueden obtener ninguna información ni reconstruir el secreto. El esquema que cumple los requisitos de t+1 de n se denomina esquema de umbral de compartición de secretos.
- MPC de mayoría honesta: la función puede representarse mediante un circuito booleano o aritmético en una mayoría honesta. Para el intercambio de secretos basado en MPC que tiene la mayoría honesta, existe un campo finito Zp con p>n para el circuito aritmético y el circuito es Turing completo.
- Intercambio de entrada: cada parte comparte la entrada utilizando el intercambio secreto de Shamir. Al circuito se le proporciona la entrada para el cálculo. Cada parte mantiene su entrada privada agregando un número aleatorio a la entrada y, finalmente, después de obtener la salida, se elimina el número aleatorio conocido por la parte y obtenemos la salida.
- Evaluación del circuito: El circuito es evaluado por las partes una puerta a la vez. Las puertas se evalúan en serie desde la entrada hasta la salida. La evaluación consiste en el cálculo de puertas de suma y multiplicación. Para las entradas a(x) y b(x), la salida de la suma para la i-ésima parte se calcula como c(i) = a(i) + b(i) . De manera similar, la salida de la multiplicación para la i -ésima parte se calcula como c(i) = a(i) . bi).
- Intersección de conjuntos privados: El protocolo de intersección de conjuntos privados es muy eficiente para los problemas de las dos partes. Dos partes que desean encontrar los elementos de intersección con un conjunto privado de entradas sin revelar la entrada, la intersección del conjunto privado es un mejor enfoque tanto para los adversarios honestos como para los deshonestos.
- Criptografía de umbral: la criptografía de umbral tiene como objetivo llevar a cabo las operaciones criptográficas para un conjunto de partes sin que ninguna de las partes mantenga el secreto. El algoritmo RSA se utiliza para el esquema donde la función básica es y=xe mod n. RSA se utiliza para cifrar secretos o mensajes.
- MPC de mayoría deshonesta: En el cómputo multipartidista seguro, puede haber tanto partes honestas como deshonestas. El cómputo multipartidista seguro es seguro siempre que haya una mayoría honesta. Si los adversarios son más corruptos que la mayoría, se requieren nuevos enfoques para la seguridad. Para la mayoría deshonesta, existen protocolos como transferencia olvidada de GMW, circuito distorsionado, Tiny oz y muchos más protocolos.
Beneficios de la computación multiparte segura
Analicemos algunos beneficios del cómputo multipartito seguro:
- Tercero de confianza: en Computación multiparte segura, podemos compartir datos de manera distribuida con diferentes organizaciones sin ningún tercero e incluso se preservará la privacidad de los datos mientras se comparten datos.
- Privacidad de datos: los datos privados de las organizaciones se pueden compartir con fines informáticos. La preocupación por la privacidad de los datos se proporciona mediante el uso de computación multipartita segura, que mantiene los datos en uso en forma cifrada. Por lo tanto, los datos no se revelan ni se comprometen.
- Alta precisión: el cálculo multipartito seguro proporciona resultados muy precisos para diferentes cálculos mediante criptografía.
- Seguridad cuántica: los datos compartidos entre las partes están a salvo de los ataques cuánticos, ya que los datos se dividen y cifran cuando se distribuyen entre las partes para su cómputo.
Limitaciones de la computación multiparte segura
Se utiliza computación multiparte segura para resolver diferentes problemas, pero hay pocas limitaciones. Las principales limitaciones son la sobrecarga computacional y los altos costos de comunicación.
- Sobrecarga computacional: para brindar la seguridad que necesitamos para generar los números aleatorios, la generación de números aleatorios requiere más sobrecarga computacional, lo que ralentiza el tiempo de ejecución.
- Altos costos de comunicación: la distribución de los datos a múltiples partes para el cálculo a través de las redes genera mayores costos de comunicación.
Publicación traducida automáticamente
Artículo escrito por nawazmalla y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA