Cálculo de protocolo de descifrado de umbral de seguridad.

Un procedimiento para convertir un conjunto de datos cifrados en un cifrado de bits individuales que representan el conjunto de datos

, comprendiendo el procedimiento las etapas de:

generar un número aleatorio y calcular un cifrado basado en bits del número aleatorio;

calcular de manera segura una suma cifrada en función del conjunto de datos cifrados y el número aleatorio cifrado;

descifrar la suma cifrada y determinar una representación binaria de la suma; y

crear el cifrado de dichos bits individuales que representan el conjunto de datos cifrados procesando la representación binaria de la suma con el número aleatorio cifrado.

Tipo: Patente Internacional (Tratado de Cooperación de Patentes). Resumen de patente/invención. Número de Solicitud: PCT/IB2006/054646.

Solicitante: KONINKLIJKE PHILIPS N.V.

Inventor/es: TUYLS,PIM,T, SCHOENMAKERS,BERRY.

Fecha de Publicación: .

Clasificación Internacional de Patentes:

  • SECCION H — ELECTRICIDAD > TECNICA DE LAS COMUNICACIONES ELECTRICAS > TRANSMISION DE INFORMACION DIGITAL, p. ej. COMUNICACION... > Disposiciones para las comunicaciones secretas o... > H04L9/30 (Clave pública, es decir, siendo imposible de invertir por computador el algoritmo de cifrado, y no exigiéndose secreto a las claves de cifrado de los utilizadores)

PDF original: ES-2509345_T3.pdf

 

google+ twitter facebookPin it
Cálculo de protocolo de descifrado de umbral de seguridad.
Cálculo de protocolo de descifrado de umbral de seguridad.

Fragmento de la descripción:

Cálculo de protocolo de descifrado de umbral de seguridad

La presente Invención se refiere a un procedimiento de conversión de un conjunto de datos cifrados en el cifrado de bits individuales que representan el conjunto de datos. Además, la invención se refiere a un sistema para convertir un conjunto de datos cifrados en un cifrado de bits individuales que representan el conjunto de datos.

En esquemas de cálculo seguro de múltiples partes, un grupo de participantes, también denominados `jugadores, los cuales no se fían necesariamente unos de otros, desean calcular una función común usando datos privados como entradas de la función, sin revelar los datos privados, mientras se garantiza que la salida de la función se calcula correctamente. Por ejemplo, en el ampliamente conocido protocolo del millonario, dos millonarios desean saber quién es el más rico de los dos sin revelar ninguna información sobre su fortuna. Los dos millonarios proporcionan a una función pública datos privados (es decir, la fortuna del millonario respectivo), y la función proporciona una variable que indica cuál de los dos es el más rico, sin revelar nada más acerca de los datos privados.

Las técnicas utilizadas en esquemas de cálculo seguro de múltiples partes son muy adecuadas para llevar a cabo operaciones que conservan la privacidad entre un grupo de jugadores. Estas técnicas pueden implementarse, por ejemplo, en campos técnicos tales como subastas seguras, la comparación segura de perfiles, votaciones electrónicas seguras y la autenticación biométrica segura. Algoritmos eficaces para el cálculo seguro de múltiples partes basados en sistemas de cifrado homomórfico de umbrales se describen en el documento "Practica! Two-Party Computation based on the Conditional Gate" de B. Schoenmakers y P. Tuyls, Asiacrypt 24, páginas 119 a 126, LNCS Springer-Verlag 24.

La autenticación de objetos físicos puede usarse en muchas aplicaciones, tal como el acceso condicional a edificios seguros o el acceso condicional a datos digitales (por ejemplo, almacenados en un ordenador o en medios de almacenamiento extraíbles), o con fines de identificación (por ejemplo, para cobrar a una persona identificada una actividad particular, o incluso para entrar en un país). El uso de la biometría para la identificación y/o la autenticación, en donde se usan características que son únicas para un usuario tales como las huellas dactilares, el iris, los oídos, el rostro, etc., se considera cada vez más una mejor alternativa a los medios de identificación tradicionales, tales como las contraseñas y los códigos PIN, y la identificación manual que implica la comparación visual entre una persona y, por ejemplo, una foto.

Un problema que debe resolverse en la técnica anterior es cómo dividir el cifrado de un conjunto de datos en forma de, por ejemplo, una característica biométrica, tal como un número x, donde x e {, 1,..., n-1}, en cifrados

individuales de bits xo, Xi....xt.i que forman el número x, donde t es el número de bits del número n-1, sin perder

información acerca de x o sus bits x, Xi....xt.i. Las aplicaciones de un algoritmo de este tipo son numerosas, por

ejemplo test conjuntos y seguros de primalidad, exponenciación segura, reducción de la carga computacional y de comunicación de un sensor biométrico, reducción de la carga computacional en protocolos de votación, etc. Un protocolo para dividir un número cifrado [[x]] en bits cifrados [[xo]], [[xi]],... [[xn]] se denomina protocolo de división en bits.

En el documento How to Split a Shared Secret into Shared Bits in Constant-Round", de I. Damgaard et al, Universidad de Aarhus, 23 de junio de 25, se trata un problema similar. Sin embargo, se utiliza una configuración segura sin condiciones. En esta divulgación, se supone que los jugadores implicados en los cálculos seguros de múltiples partes descritos en ese documento tienen acceso a una parte de un conjunto de datos binarios para la que va a determinarse de manera segura una representación binaria. Como resultado, un jugador adquiere parte de los bits que forman el conjunto de datos binarios y tiene que hacer que los otros jugadores consigan un conjunto de datos binarios completo.

El documento WO 25/4388 da a conocer un procedimiento para una multiplicación eficaz de múltiples partes.

Un objeto de la presente invención es resolver los problemas mencionados anteriormente y proporcionar un procedimiento/dispositivo para llevar a cabo una división segura en bits; es decir, convertir un número cifrado [[xj] en cifrados de bits [[xo]], [[xi]],... [[xt-i]] que forman el número usando propiedades del cifrado homomórfico.

Este objeto se consigue mediante un procedimiento de conversión de un conjunto de datos cifrados en un cifrado de bits individuales que representan el conjunto de datos según la reivindicación 1, y un sistema para convertir un conjunto de datos cifrados en un cifrado de bits individuales que representan el conjunto de datos según la reivindicación 11.

Según un primer aspecto de la presente invención, se proporciona un procedimiento que comprende las etapas de generar un número aleatorio y calcular un cifrado basado en bits del número aleatorio, calcular de manera segura una suma cifrada en función del conjunto de datos cifrados y del número aleatorio cifrado, descifrar la suma cifrada y

determinar una representación binaria de la suma y crear el cifrado de los bits Individuales que representan el conjunto de datos cifrados procesando la suma con el número aleatorio cifrado.

Según un segundo aspecto de la presente invención, se proporciona un sistema que comprende al menos un primer y un segundo dispositivo de cálculo dispuestos para generar conjuntamente un número aleatorio y calcular un cifrado basado en bits del número aleatorio. Al menos uno de los dispositivos de cálculo está dispuesto para calcular una suma cifrada en función del conjunto de datos cifrados y del número aleatorio cifrado, y estando dispuestos el primer y el segundo dispositivo de cálculo para descifrar conjuntamente la suma cifrada y determinar una representación binaria de la suma. Además, el primer y el segundo dispositivo de cálculo están dispuestos para crear conjuntamente el cifrado de los bits individuales que representan el conjunto de datos cifrados procesando la suma con el número aleatorio cifrado.

Una ¡dea básica de la presente invención es proporcionar un protocolo en el que sea posible dividir un cifrado de un conjunto de datos en forma de, por ejemplo, una característica biométrica, tal como un número x, donde x e {, 1,..., n-1}, en un cifrado de bits respectivos Xo, x-i,.- ,Xt-i que forman el número x, donde t es el número de bits del número n-1, sin perder información acerca de x o sus bits xo, xi,...,xt-i. Por tanto, la presente invención permite dividir el cifrado [[xj] en bits cifrados respectivos [[xo]], [[xi]],... [[xt-ij] que forman el número cifrado x=Zi=in x; 2.

Esto es ventajoso ya que permite, por ejemplo en la autenticación biométrica, un único cifrado inicial de una cadena de bits expresada como un número x=Z_x¡2'. Por tanto, uno/varios servidor(es) de verificación ejecuta(n) un protocolo de división en bits para obtener cifrados de los bits que forman el número. La cadena de bits cifrados puede compararse posteriormente con características biométricas cifradas obtenidas durante un registro, de modo que puede realizarse una comprobación de correspondencia para autenticar a un usuario. La comparación real de datos biométricos cifrados se lleva a cabo normalmente haciendo que un sensor biométrico y un dispositivo de verificación participen en un protocolo de dos partes (o de múltiples partes) en el que dos conjuntos de datos... [Seguir leyendo]

 


Reivindicaciones:

1.- Un procedimiento para convertir un conjunto de datos cifrados en un cifrado de bits individuales que representan el conjunto de datos, comprendiendo el procedimiento las etapas de:

generar un número aleatorio y calcular un cifrado basado en bits del número aleatorio;

calcular de manera segura una suma cifrada en función del conjunto de datos cifrados y el número aleatorio

cifrado;

descifrar la suma cifrada y determinar una representación binaria de la suma; y

crear el cifrado de dichos bits individuales que representan el conjunto de datos cifrados procesando la representación binaria de la suma con el número aleatorio cifrado.

2.- El procedimiento según la reivindicación 1, que comprende además la etapa de adquirir el conjunto de datos cifrados.

3.- El procedimiento según la reivindicación 1, que comprende además la etapa de proporcionar una prueba públicamente verificable de que los cifrados del número aleatorio se han calculado correctamente.

4.- El procedimiento según la reivindicación 1, en el que dicha etapa de calcular una suma cifrada se lleva a cabo multiplicando el conjunto de datos cifrados y el número aleatorio cifrado usando una puerta de multiplicación segura.

5.- El procedimiento según la reivindicación 1, en el que la etapa de descifrar dicha suma cifrada se lleva a cabo usando un protocolo de descifrado de umbral.

6.- El procedimiento según la reivindicación 1, en el que la etapa de crear el cifrado de dichos bits individuales que

representan el conjunto de datos cifrados se lleva a cabo restando de la representación binaria de la suma el

numero aleatorio cifrado.

7.- El procedimiento según la reivindicación 6, en el que la resta se lleva a cabo usando una puerta de resta segura.

8.- El procedimiento según la reivindicación 6, en el que la etapa de crear el cifrado de dichos bits individuales comprende además la etapa de añadir un bit de signo a la representación binaria de la suma.

9 - El procedimiento según la reivindicación 1, en el que la etapa de crear el cifrado de dichos bits individuales que

representan el conjunto de datos cifrados se lleva a cabo añadiendo el número aleatorio cifrado a la representación

binaria de la suma.

1.- El procedimiento según la reivindicación 1, en el que el conjunto de datos que está cifrado se extrae de una característica biométrica de una persona.

11.- Un sistema para convertir un conjunto de datos cifrados en un cifrado de bits individuales que representan el conjunto de datos, comprendiendo el sistema:

al menos un primer y un segundo dispositivo de cálculo (212, 213) dispuestos para generar conjuntamente un número aleatorio y calcular un cifrado basado en bits del número aleatorio; en el que

al menos uno de los dispositivos de cálculo está dispuesto para calcular una suma cifrada en función del conjunto de datos cifrados y el número aleatorio cifrado;

estando dispuestos dichos primer y segundo dispositivos de cálculo para descifrar conjuntamente la suma cifrada y determinar una representación binaria de la suma, y

estando dispuestos dichos primer y segundo dispositivos de cálculo para crear conjuntamente el cifrado de dichos bits individuales que representan el conjunto de datos cifrados procesando la representación binaria de la suma con el número aleatorio cifrado.

12.- El sistema según la reivindicación 11, en el que dichos primer y segundo dispositivos de cálculo (212, 213) están dispuestos además para calcular una prueba públicamente verificable de que los cifrados del número aleatorio se han calculado correctamente.

13.- El sistema según la reivindicación 11, en el que dichos primer y segundo dispositivos de cálculo (212, 213) están dispuestos para descifrar la suma cifrada ejecutando conjuntamente un protocolo de descifrado de umbral.

14.- El sistema según la reivindicación 11, en el que dichos primer y segundo dispositivos de cálculo (212, 213) están dispuestos para generar conjuntamente un número aleatorio y calcular un cifrado basado en bits del número aleatorio:

generando un bit respectivo para cada bit del número aleatorio y aplicando una función XOR a dichos bits respectivos para crear cada dicho bit del número aleatorio; y

cifrar de manera segura cada bit del número aleatorio.

15.- Un programa informático que comprende componentes ejecutables por ordenador para hacer que un dispositivo lleve a cabo las etapas mencionadas en la reivindicación 1 cuando los componentes ejecutables por ordenador se 5 ejecutan en una unidad de procesamiento incluida en el dispositivo.