La tecnología SMPC/SMC (Secure Multi-Party Computation/ Secure Multiparty Computation) surge de uno de los  problemas más importantes en criptografía-ciberseguridad. Un conjunto de N partes o entidades de forma conjunta necesita calcular el resultado de una función F de N variables indeterminadas.

Identificacion1Cada parte proporciona su propia entrada privada-confidencial a esta función F pero las entradas deben permanecer en secreto para el resto de las otras partes salvo el hecho de lo que pueda inferirse del resultado final de la función F. El problema es que la tecnología SMPC/SMC debe ejecutar su cometido sin la existencia de una TTP (Trusted Third Party) real disponible. En la actualidad, nuestra sociedad demanda cada día más situaciones y casos prácticos donde la SMPC necesita estar presente. Es posible identificar esta tecnología SMPC en una jerarquía de primitivas criptográficas, sus niveles de menos a mayor complejidad son: (1) WCT (Weak Coin Tossing, echar a suertes lanzando una moneda virtual de forma débil). Dos entidades A y B generan un bit aleatorio, A desea 0 y B desea 1, ambos saben dicha circunstancia. (2) CT (Coin Tossing, echar a suertes lanzando una moneda virtual). Dos entidades A y B generan un bit aleatorio intercambiando datos. (3) BC (Bit Commitment, compromiso digital de un bit). La entidad A cifra un bit para  B y más tarde lo revela. El bit menos significativo o LSB de un dato decimal N es el módulo dos de dicho dato N. (4) OT (Oblivious Transfer o transferencia trascordada a nivel de bit). La entidad A presenta dos bits a B y B coge sólo uno a su elección y A no puede saber cual ha sido y B no sabe el otro bit de A. (4) S2-PC (Secure 2-Party Computation). Las entidades A y B introducen sus datos privados a y b y reciben funciones conjuntas FA(a, b) y FB(a,b).


Objetivos de SMPC
La tecnología SMPC (Secure Multi-Party Computation) se encarga de todas las situaciones-aplicaciones en las que dos o más partes o entidades desean realizar algún tipo de cálculo o tarea de forma conjunta y cooperativa. Cada parte necesita contribuir con su entrada confidencial-privada para la realización de dicha computación, pero ninguna parte debe revelar su entrada secreta-privada a las demás partes o a cualquier otra tercer parte e incluso a una TTP. Con la proliferación creciente de Internet, la tecnología SMPC se va haciendo cada día más importante. En computación distribuida un conjunto de participantes o entidades en red realizan el cálculo conjunto de una función de sus entradas.
Algunas aplicaciones donde la tecnología SMPC es clave son:

(i)    Una empresa desea localizar tráfico de red en busca de un comportamiento anómalo específico pero el operador de red no desea dar acceso a la red a dicha empresa y ella no desea revelar cual es el comportamiento que trata de buscar.
(ii)    Dos compañías farmacéuticas cada una dispone de una base de datos de moléculas y resultados de test toxicológico y desean combinar sus resultados sin revelar qué moléculas están en cada una de sus bases de datos.
(iii)    Dos organizaciones financieras planean trabajar cooperativamente en un proyecto para su beneficio mutuo. Cada organización le gustaría que se satisfagan sus propios requisitos. Sin embargo sus requisitos son datos secretos propietarios que incluyen proyectos de clientes de la evolución futura de ciertos precios, intereses y tasas de inflación, estadísticas económicas, etc. Consecuentemente no desean revelar sus requisitos a la otra parte o incluso a una TTP.
(iv)    Una investigadora Z piensa que tiene una enfermedad genética y desea investigarla. Sabe que un compañero X posee una base de datos que contiene patrones ADN (Ácido DesoxirriboNucleico) sobre varias enfermedades. Se trata de pedirle ayuda sin revelar sus datos secretos.
(v)    Tras una investigación de mercado costosa una empresa X decide expandir su mercado a una cierta región. La compañía X sabe que otra compañía competidora Y también planea expandir su mercado en alguna región. Estratégicamente las empresas X y Y no desean competir en la misma región de modo que desean saber si sus regiones se solapan. Por tanto necesitan una forma de resolver el problema mientras se mantiene en secreto sus localizaciones de expansión.  
(vi)    Dos personas desean pedirse en matrimonio pero ambas personas no desean dar el primer paso sin antes no estar seguras de que su pareja les va a decir que si. Para ello ejecutan un sistema SMPC cuyo resultado revelará si ambas personas desean o no casarse. Tras la ejecución de la SMPC una de ellas se decidirá a dar el primer paso.

Identificacion2El problema de los dos millonarios de Yao consiste en saber cual de los dos es más rico sin revelar su capital, este problema es análogo a un problema más general donde existen dos números A y B y el objetivo es resolver cual es mayor sin revelar los valores reales de A y de B. Una herramienta clave para la SMPC es la VSS (Verificable Secret Sharing) donde un agente honesto distribuye un valor secreto S entre los participantes de modo que algunos de los participantes pueden hacer trampas. Estos participantes tramposos no obtendrán información acerca de S y los participantes honestos podrán reconstruir el secreto S incluso ante las acciones perversas de los participantes maliciosos. Un caso lúdico es el de una pareja que tras tratarse durante mucho tiempo podrían casarse pero sus miembros no quieren dar el paso primero y declararse hasta que sepan que el otro miembro le vaya dar el si.


Caracterización de la tecnología SMPC
El objetivo de SMPC es posibilitar que los participantes realicen tareas de computación distribuida sobre sus informaciones secretas-privadas existiendo ataques tanto por parte de entidades externas como de un subconjunto de participantes maliciosos (denominados participantes confabulados). El propósito del ataque es aprender la información privada de los participantes honestos no confabulados o provocar  que sea incorrecta la computación que se desea realizar. La SMPC normalmente se enfoca en esquemas donde no se revele nada de información (modelo ideal) pero existe otro enfoque SMPC que persigue mayor rendimiento y eficiencia a los usuarios donde se acepta un cierto grado de riesgo y donde se puede revelar cierta información parcial y donde la seguridad es ajustable basada en las definiciones de seguridad aceptable por parte del usuario. La transferencia trascordada es un caso especial de computación dual-parte donde la parte A dispone de n cadenas de información (M1, . . . , Mn) y la parte B elige un entero de uno a n, por ejemplo i. El objetivo es que B conozca Mi y nada más mientras que la parte A no debería aprender nada sobre el valor de i que seleccionó B. Es posible construir esquemas SMPC pasivamente seguros utilizando diversas herramientas y primitivas como el cifrado homomórfico, las transferencias trascordadas, la compartición-fragmentación de secretos, las pruebas de conocimiento nulo, los nonces basados en PRNGs, etc. En el contexto militar un ejemplo de SMPC es la planificación de misiones de coalición donde los secretos son los recursos de los miembros de la coalición y el resultado es una asignación de dichos recursos para una misión específica. Acordando la asignación de la función F, las dos partes consiguen que la asignación sea equitativa y utilizando SMPC mantienen oculto los detalles completos de sus capacidades.


Identificacion3Identificacion4Síntesis de un mecanismo SMPC basado en cifrado homomórfico multiplicativo RSA
Supongamos que se desea obtener la media geométrica de los valores que guardan en secreto tres entidades A, B y C. La entidad A tiene como parámetros RSA, módulo n = 33, clave pública e = 3, clave privada d = 7. La entidad A posee el secreto x1 (valor 2), la entidad B custodia el valor confidencial x2 (valor 3) y la entidad C oculta el valor secreto x3 (valor 4). Se trata de aplicar un mecanismo SCMP y al final las tres entidades consigan la media geométrica sin revelar sus secretos. El algoritmo del protocolo o esquema SMPC es el siguiente: (i) La entidad A cifra con su clave pública RSA su valor x1 y se lo envía a B, en este caso es dos al cubo módulo 33 y el resultado es ocho. (ii) La entidad B cifra con la clave pública RSA de A su valor x2, en este caso es tres al cubo módulo 33, cuyo resultado es 27. Seguidamente lo multiplica por el valor recibido de A y el resultado módulo 33 que es 18 se lo envía a C. (iii)  


La entidad C cifra con la clave pública RSA de A su valor x, en este caso es cuatro al cubo módulo 33, cuyo resultado es 31. Seguidamente lo multiplica por el valor recibido de B y el resultado módulo 33 que es 30 se lo envía a A. (iv) La entidad A descifra el valor recibido, en este caso es treinta a la siete módulo 33 cuyo resultado es 24. Seguidamente divide el resultado entre el número de entidades, tres en este caso y envía el resultado 8 al resto de entidades es decir a las entidades B y C la media geométrica buscada que en este caso es el valor ocho.


Identificacion5Identificacion6Síntesis de un mecanismo dual-party basado en cifrado homomórfico aditivo
Supongamos que una entidad A desea obtener la suma aritmética sin revelar sus valores secretos a una entidad B que es la que realiza la operación de suma. La entidad A cifra sus dos secretos, por ejemplo x1 que vale dos y x2 que vale uno. Los parámetros de cifrado de A son clave secreta s = 3, valor público: g = 28, módulo secreto q = 7 menor que g. El inverso multiplicativo de s módulo siete vale 19. El proceso de cifrado de los dos secretos x1 y x2 da como resultado los valores 6 y 3, es decir: C(x1) = (x1 . s) mod g = 6 y C(x2) = (x2 . s) mod g = 3. La entidad A envía a B dichos dos valores cifrados seis y tres. La entidad B realiza la suma de los valores y devuelve la suma de valor nueve a la entidad A. La entidad A descifra la suma recibida nueve utilizando: D (9) = (9 . 19) mod 28 = 3, por tanto la suma de los valores secretos que custodia A es tres como ya sabíamos, la entidad B ha realizado la suma sin saber los sumandos secretos dos y uno respectivamente.


Consideraciones finales
La computación multiparte segura colabora con un colectivo numeroso de técnicas para proteger la información privada de cada una de las partes o entidades que se integran en una tarea común cooperativa a realizar. Actualmente se observa un crecimiento sin precedentes de este tipo de computaciones en todo tipo de sectores: industrial, negocios-comercio, redes, científico, juegos, ciberseguridad, financiero, etc. Nuestro grupo de investigación trabaja en este campo desde hace veinte años colaborando a nivel internacional con diversas Empresas, Universidades y Centros de Investigación.
Este artículo se enmarca en las actividades desarrolladas dentro de LEFIS Network.


Bibliografía


     Areitio, J. “Seguridad de la Información: Redes, Informática y Sistemas de Información”. Cengage Learning-Paraninfo. 2013.
     Areitio, J. “Implantación de ciberseguridad en el entorno de los negocios electrónicos”. Revista Conectrónica. Nº 162. Noviembre 2012.
     Areitio, J. “Gestión de riesgos de seguridad y privacidad de la información”. Revista Conectrónica. Nº 155. Marzo 2012.
     Areitio, J. “Tecnología de ocultación de información, fundamento para la privacidad de la información”. Revista Conectrónica. Nº 132. Noviembre 2009.
     Areitio, J. “Identificación, análisis y correlación entre protección física y ciberseguridad”. Revista Conectrónica. Nº 161. Octubre 2012.
     Blahut, R.E. “Cryptography and Secure Communication”. Cambridge University Press. 2014.
     Singer, P.W. and Friedman, A. “Cybersecurity and Cyberwar: What Everyone Needs to Know”. Oxford University Press. 2014.
     Wu, C.H. and Irwin, J.D. “Introduction to Computer Networks and Cybersecurity”. CRC Press. 2013.
     Kostopoulos, G. “Cyberspace and Cybersecurity”. Auerbach Publications. 2012.
     Camenish, J., Fischer-Hubner, S. and Rannenberg, K. “Privacy and Identity Management for Life”. Springer. 2011.
     Stavrou, A. “Network Availability of Internet Services: Threats and Defences”. Springer. 2010.
     Zhan, J. and Matwin, S. “Secure Data Mining”. Springer. 2012.
     Saito, W.H. “The Future of Privacy and IT Security”. Wiley. 2012.

Autor:

Prof. Dr. Javier Areitio Bertolín – E.Mail: Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
Catedrático de la Facultad de Ingeniería. Universidad de Deusto.
Director del Grupo de Investigación Redes y Sistemas

Más información o presupuesto

Submit to FacebookSubmit to Google PlusSubmit to TwitterSubmit to LinkedIn

Conectores Revista FTTH Electrónica industrial. Cursos de fibra Óptica, Seminarios Online, Noticias Tecnología y Ferias Tecnologicas,Cables y Conectores Industriales de Fibra Optica, Noticias Empresas, Osciloscopios y Herramientas, Centros de datos.