ES2278047T3 - Sistema y procedimiento para procesar un secreto compartido. - Google Patents
Sistema y procedimiento para procesar un secreto compartido. Download PDFInfo
- Publication number
- ES2278047T3 ES2278047T3 ES02766681T ES02766681T ES2278047T3 ES 2278047 T3 ES2278047 T3 ES 2278047T3 ES 02766681 T ES02766681 T ES 02766681T ES 02766681 T ES02766681 T ES 02766681T ES 2278047 T3 ES2278047 T3 ES 2278047T3
- Authority
- ES
- Spain
- Prior art keywords
- parts
- secret
- new
- parties
- accessible
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Hardware Redundancy (AREA)
- Communication Control (AREA)
Abstract
Un procedimiento de construcción de partes de un secreto, que ha de ser realizado dentro de una red que comprende varios dispositivos informáticos, cada uno dispuesto para almacenar con seguridad al menos una parte de un secreto k para el que se requieren n partes para reconstruir el secreto y al que puede proporcionarse acceso de manera fiable a un número m de dichas partes en cualquier momento dado, comprendiendo el procedimiento las etapas de: determinar n partes para un esquema de compartición de secretos de n de n, comprendiendo cada parte un valor y; almacenar al menos alguna de dichas partes en dichos dispositivos informáticos de manera que al menos m de dichas n partes sean accesibles de manera fiable; determinar el secreto compartido k según dichas partes y; caracterizado por ser m menor que n y por las etapas de: determinar unas nuevas (n-m) partes consecuentes con el secreto compartido k y las partes y; y almacenar las partes adicionales en un lugar accesible de manera fiable.
Description
Sistema y procedimiento para procesar un secreto
compartido.
La presente invención se refiere a un sistema y
procedimiento para procesar un secreto compartido. En particular,
la invención se refiere a obtener un secreto compartido a partir de
un conjunto de números arbitrarios.
En "How to Share a Secret", A. Samir,
Comunicaciones del ACM, vol. 22, págs. 612-613, 1979
(Shamir) hay descrito un procedimiento por medio del cual, dados
dos números n y m, donde m < n, un secreto arbitrario puede ser
dividido en n porciones (partes), de manera que cualesquiera m de
las partes resultantes pueden ser combinadas para recuperar el
secreto original. La técnica asegura que cualquiera que tenga menos
de m partes no se encuentra mejor que si no tuviera ninguna parte
en absoluto. Esta técnica también permite la compartición de un
secreto de manera que cualesquiera m de los n poseedores de partes
puede reconstruir el secreto sin revelar sus partes.
Haciendo referencia a la Figura 1, que ilustra
más detalladamente los principios implicados, allí se muestra un
par de gráficos cúbicos basados en la fórmula:
y = ax^{3} +
bx^{2} + cx +
d
Convencionalmente, se toma el valor y en x=0
para que sea un secreto, y las partes del secreto, que comprenden
valores de los cuales pueden obtenerse otros valores y, se
distribuyen entre n poseedores de partes, en este caso n=6,
típicamente servidores con los que un ordenador cliente puede
conectarse con seguridad. Usando ecuaciones simultáneas se verá que
dados cuatro puntos cualesquiera, (x_{1},y_{1});
(x_{2},y_{2}); (x_{3},y_{3}) y (x_{4},y_{4}) de una
curva, entonces puede determinarse cualquier otro punto de la curva
que incluya el secreto - así que aquí m=4.
En "Server-Assisted Generation
of a Strong Secret from a Password", W. Ford y B. Kaliski,
Proceedings of the IEEE 9th International Workshops on Enabling
Technologies: Infrastructure for Collaborative Enterprises, NIST,
Gaithersburg MD, 14-16 de junio de 2000
(Ford-Kaliski) que a su vez perfecciona el documento
"Strong Password-Only Authenticated Key
Exchange", D. Jablon, Computer Communication Review, ACM SIGCOMM,
vol. 26, nº 5, págs. 5-26, octubre de 1996 (Jablon)
se desvela una técnica (SPEKE) para recuperar con seguridad un
número de, por ejemplo, un servidor remoto sin revelar una
contraseña al servidor remoto.
Así, haciendo referencia a la Figura 2, usando
el procedimiento de Ford-Kaliski en combinación con
el de Shamir, un usuario que ejecuta una aplicación 12 en una
máquina cliente 10 en la que no quieren almacenar, por ejemplo, su
clave privada pueden almacenar su clave privada en un formato
cifrado en un servidor remoto de almacenamiento de credenciales 20.
La clave privada es cifrada con un número secreto generado a partir
de partes que comprenden números arbitrarios y_{i} almacenados en
servidores de posesión de partes B1...Bn.
Usando el procedimiento de
Ford-Kaliski, una vez que un secreto ha sido
construido por un componente de generación de secreto 14, el
usuario puede proporcionar su contraseña a la aplicación en la
máquina cliente y un componente de reconstrucción de secreto 16 de
la aplicación conecta a todos los n servidores y sin desvelar la
contraseña, obtiene con seguridad m partes y_{i}. Los puntos
(x_{i}) en una curva, por ejemplo una curva del tipo mostrado en
la Figura 1, se calculan a partir de la fórmula x_{i} =
g^{yi}mod p, donde g es una versión de comprobación de la
contraseña y p es número primo de 1024 bits. A partir de estos
puntos, puede determinarse el valor secreto en x=0. Entonces puede
descargarse la clave privada cifrada desde el servidor de
credenciales y descifrarse con el valor secreto, para permitir al
usuario del cliente comunicarse con seguridad con otros usuarios o
autenticarse correctamente en otros dispositivos de una red 30 como
una LAN, una intranet o Internet. Así, por ejemplo, el sistema
puede ser empleado por cajeros con puestos de trabajo compartidos
que usan regularmente diferentes terminales de ordenador en una
sucursal bancaria y cuyo acceso a registros bancarios debe ser a la
vez seguro y/o autenticado.
Puede verse a partir de la Figura 1 que en un
sistema de m de n pueden almacenarse en servidores más partes de
las que son necesarias para regenerar un secreto proporcionando así
redundancia en el caso de un fallo de comunicación con hasta
n-m de los servidores. Sin embargo, para que un
componente de actualización de secreto 18 cambie el secreto, no
sólo debe poder regenerar el secreto, sino que también debe poder
cambiar los valores de todas las partes del secreto.
Muchas patentes hacen referencia al
procedimiento de Shamir, y entran mayoritariamente en una de varias
categorías:
Patentes que hacen referencia al trabajo de
Shamir, pero no hacen uso de técnicas de compartición de
secretos:
US5.553.145; US5.629.982; US5.666.420;
US6.134.326;
US6.137.884; y US6.141.750: Transacciones
electrónicas simultáneas con verificación del suscriptor;
US5.812.670: Transacciones anónimas que pueden
rastrearse; y
US6.055.508: Procedimiento para contabilidad y
auditoría seguras en una red de comunicaciones.
Patentes que desvelan compartición de secretos
para transmisión tolerante a fallos:
US5.485.474: Esquema para dispersión y
reconstrucción de información; y
US6.012.159: Procedimiento y sistema para
transferencia de datos libre de errores.
Patentes que desvelan técnicas de compartición
de secretos, donde el secreto no es actualizado, como en:
US5.315.658; USRE036.918: Sistemas
criptográficos equitativos y procedimientos de uso;
US5.495.532: Votación electrónica segura que usa
homomorfismos parcialmente compatibles;
US5.666.414: Depósito parcial de claves
garantizado;
US5.708.714: Procedimiento para compartir
información secreta y realizar certificación en un sistema de
comunicación que tiene una pluralidad de aparatos de procesamiento
de información;
US5.768.388: Depósito de claves retardado;
US5.825.880: Procedimiento y sistema de forma
digital de etapas múltiples;
US5.903.649: Procedimiento para establecer un
código común para personas autorizadas a través de una oficina
central;
US5.991.414: Procedimiento y aparato para el
almacenamiento distribuido seguro y recuperación de información;
US6.192.472: Procedimiento y aparato para el
almacenamiento distribuido seguro y recuperación de información;
y
US6.026.163: Sistema criptográfico y de clave
dividida distribuida y aplicaciones.
Patentes varias, como:
US5.764.767: Sistema para reconstrucción de un
secreto compartido por una pluralidad de poseedores de partes, que
proporciona un mecanismo para actualizar un secreto compartido, sin
embargo, todos los lugares donde están almacenados los secretos son
poseedores de partes activos al actualizar el secreto;
US5.867.578: Sistema de firma digital adaptable
de etapas múltiples y procedimiento de funcionamiento del mismo,
donde las partes cambian pero el valor del secreto compartido se
mantiene; y
US6.122.742: Sistema criptográfico
autorrecuperable y autocertificable con claves de firma no en
depósito, que usa una función compartida, no un secreto
compartido.
Pieprzyk desvela un procedimiento de construir
partes de un secreto k que comprende las etapas de: determinar n
partes para un esquema de compartición de secretos de n de n,
comprendiendo cada parte un valor y; almacenar al menos alguna de
dichas partes en dispositivos informáticos de manera que al menos m
de dichas n partes sean accesibles de manera fiable; y determinar el
secreto k compartido según dichas partes y.
Se observará, sin embargo, que ninguno de estos
documentos desvela que pueda actualizar un secreto compartido sin
tener acceso a todos los poseedores de partes del secreto. Esto se
convierte en un requisito importante cuando clientes como el
mostrado en la Figura 2 están accediendo a servidores poseedores de
partes a través de enlaces no fiables como enlaces de red o enlaces
de comunicación o enlaces a través de los cuales puede tener que
regularse el ancho de banda mediante, por ejemplo, un servidor de
equilibrio de carga (no mostrado) que puede impedir o retrasar
demasiado el acceso de un cliente a un servidor poseedor de
partes.
Según un primer aspecto de la presente invención
hay provisto un procedimiento caracterizado por m que es menor que
n y por las etapas de: determinar unas nuevas (n-m)
partes consecuentes con el secreto compartido k y las partes y; y
almacenar las partes adicionales en un lugar accesible de manera
fiable.
Según un segundo aspecto de la invención, hay
provisto en una red que comprende varios dispositivos informáticos,
cada uno dispuesto para almacenar con seguridad al menos una parte
de un secreto k para el que se requieren n partes para reconstruir
el secreto y al que puede proporcionarse acceso de manera fiable a
un número m de dichas partes en cualquier momento dado, un
procedimiento de reconstrucción de dicho secreto que comprende las
etapas de: obtener con seguridad m partes de uno o más poseedores de
partes del secreto que incluyen al menos uno de dichos dispositivos
informáticos; caracterizado por ser m menor que n y por las etapas
de: obtener (n-m) partes de un lugar accesible de
manera fiable; y construir el secreto compartido k según dichas
partes obtenidas.
Además hay provisto un procedimiento de
actualización del secreto empleando el segundo aspecto de la
invención.
Más aspectos de la invención están plasmados
como aparatos y productos de programas informáticos respectivos
para generar y construir y actualizar un secreto compartido.
En contraste con la técnica anterior donde
claramente se considera esencial que no sea pública ninguna de las
partes de un secreto, la presente invención usa partes públicas
adicionales para implementar la invención.
En la presente invención, alguno de los lugares
de almacenamiento poseedores de partes no tiene que darse cuenta de
que está ocurriendo una actualización de un secreto compartido. Por
lo tanto, la invención permite las dos operaciones siguientes:
- \bullet
- dados n números arbitrarios cualesquiera, un secreto compartido k puede construirse y reconstruirse usando cualesquiera m de esos números, con la ayuda de datos públicos almacenados en un dispositivo de almacenamiento de datos; y
- \bullet
- el secreto compartido puede cambiarse sin tener que acceder a todas las partes almacenadas.
La invención es particularmente útil porque no
es necesariamente el caso de que n números aleatorios formarán un
conjunto consistente de partes de m de n. Sin embargo, puede haber
casos (como se explicará más adelante) donde una entidad tenga
acceso a varios valores separados, de larga vida y aleatorios y no
pueda garantizarse que tendrá acceso a todos ellos en cualquier
momento. En este caso, esta invención permite a la entidad combinar
los valores procedentes de diferentes lugares de tal manera que si
la entidad no contacta con todos ellos, no importa; y si un
atacante puede interceptar los valores procedentes de cualquier
número menor que m de los lugares, ese atacante no podrá
reconstruir el secreto a partir de los valores interceptados.
A continuación se describirán a modo de ejemplo
varias realizaciones de la invención con referencia a los dibujos
adjuntos en los que:
la Figura 1 ilustra funciones de la
técnica anterior basadas en partes del secreto para determinar un
secreto;
la Figura 2 ilustra una red de la técnica
anterior a través de la cual pueden actualizarse y accederse a
partes de un secreto compartido;
la Figura 3 ilustra funciones basadas en
partes del secreto y una parte pública para determinar y actualizar
un secreto según la invención; y
la Figura 4 ilustra una red a través de la
cual pueden actualizarse y accederse a partes de un secreto
compartido según la invención.
El principio de funcionamiento de la invención
se explica en relación con la Figura 3. Si los puntos
(x_{1},y_{1}); (x_{2},y_{2}); (x_{3},y_{3}) y
(x_{4},y_{4}) se corresponden con cuatro partes de un esquema de
compartición de secretos de 4 de 4, pero se decide que la
comunicación sólo puede establecerse de manera fiable con 3 de los
4 poseedores de partes, entonces se genera una quinta parte pública
(x_{5},y_{5}) y se almacena en un lugar accesible de manera
fiable, por ejemplo en el servidor de credenciales 20' de la Figura
4. El esquema se convierte ahora en un esquema de 4 de 5, donde una
de las partes es pública. De este modo, pueden combinarse tres
cualesquiera de las partes secretas con la parte pública, para
regenerar el secreto (0, Secreto original).
Para actualizar el secreto, se usan de nuevo
tres cualesquiera de las partes secretas obtenidas (en este caso
(x_{1},y_{1}); (x_{2},y_{2}) y (x_{4},y_{4})) junto con
la parte pública (x_{5},y_{5}) para determinar el secreto.
Después se cambia el secreto a (0, Nuevo secreto) y son
actualizados cada uno de los tres valores de las partes secretas
así como el valor de la parte pública (x_{5},y_{5}), pero
dejando sin cambiar el valor de la parte de cualquier parte no
obtenida, en este caso (x_{3},y_{3}).
Ampliando más el principio, si se decide que la
comunicación sólo puede establecerse de manera fiable con 2 de los
cuatro poseedores de partes, entonces se generan dos partes públicas
y se almacenan en el servidor de credenciales 20'. El esquema se
convierte ahora en un esquema de 4 de 6, donde dos de las partes son
públicas. De este modo, pueden combinarse dos de las partes
secretas cualesquiera con las partes públicas para regenerar el
secreto.
\global\parskip0.900000\baselineskip
Por lo tanto, se verá que en un esquema de
compartición de secretos de m de n, para cada (n-m)
partes en las que el cliente no desea confiar para regenerar o
actualizar el secreto, se genera una parte pública adicional, dando
así un esquema de n de (2n-m) donde
n-m de las partes son públicas.
Aunque parece que los ejemplos anteriores
disminuyen el nivel de seguridad reduciendo el número de partes
secretas requeridas desde un punto de partida con un número dado de
servidores, se verá que puede emplearse cualquier nivel de
seguridad y redundancia usando la invención. De este modo, para
cualquier nivel de seguridad requerido, es decir m partes secretas
requeridas, y redundancia, es decir servidores totales menos
(n-m) partes requeridas, entonces usando la
invención se emplean (n-m) partes adicionales dentro
de un esquema convencional de n de (2n-m).
Haciendo referencia ahora a la Figura 4 que
ilustra una implementación ejemplar de la invención, una aplicación
12 que se ejecuta en el cliente 10 tiene comunicaciones seguras pero
no fiables con n dispositivos de almacenamiento de datos, por
ejemplo, los servidores de posesión de partes B1...Bn, y una
conexión insegura pero fiable a otro dispositivo de almacenamiento
de datos S, por ejemplo, en el servidor de credenciales 20'. Cada
uno de los dispositivos de almacenamiento de datos Bi devuelve al
cliente el valor aleatorio yi.
Para conseguir un secreto, que puede ser
reconstruido dados sólo m de las yi, un componente de generación de
secreto 14' de la aplicación 12 hace lo siguiente:
- 1.
- obtiene (posiblemente generándolo) todos las yi;
- 2.
- trata las yi como partes en un esquema de n de n, y reconstruye el secreto compartido k dado por ellas;
- 3.
- genera unas nuevas (n-m) partes consecuentes con k y las yi; y
- 4.
- almacena estas partes adicionales en el dispositivo de almacenamiento fiable de datos S.
Para reconstruir el secreto en sesiones
subsiguientes, el componente de reconstrucción de secreto 16' hace
lo siguiente:
- 1.
- obtiene las (n-m) partes del dispositivo de almacenamiento fiable de datos S; y
- 2.
- contacta con m de los dispositivos de almacenamiento de datos Bi y recupera una yi respectiva de cada uno.
Como el cliente tiene ahora n de las partes, el
componente de generación de secreto 16' puede reconstruir ahora el
secreto k y así la aplicación cliente 12 u otras aplicaciones
clientes pueden usar el secreto para, por ejemplo, descifrar la
clave privada cifrada para el usuario de la máquina cliente.
La técnica anterior puede usarse para actualizar
el secreto incluso en el caso en que no todos los dispositivos de
almacenamiento de datos Bi estén en línea. En el procedimiento de
actualización, un componente de actualización de secreto 18' hace
lo siguiente:
- 1.
- obtiene las (n-m) partes del dispositivo de almacenamiento fiable de datos S;
- 2.
- contacta con m de los dispositivos de almacenamiento de datos Bi y recupera una yi respectiva de cada uno;
- 3.
- reconstruye el secreto k; y también deduce a partir de las partes recuperadas yi los valores de las partes para aquellos dispositivos de almacenamiento de datos que no respondieron;
- 4.
- en general, entabla un procedimiento de manera que al final se sabe que algunos dispositivos de almacenamiento de datos tienen nuevas partes yi' asociadas con ellas y se sabe que algunos sólo tienen las antiguas partes yi, por ejemplo,
- \bullet
- generando cualquier número menor que n de nuevas partes yi' y transmitiendo cada nueva parte yi' con seguridad al dispositivo de almacenamiento de datos apropiado Bi, solicitando confirmación de que han sido recibidas; o
- \bullet
- solicitando a cada dispositivo de almacenamiento de datos que genere y devuelva una nueva parte yi';
5. genera un nuevo secreto compartido k'
usando las siguientes partes:
- \bullet
- para cada Bi que no consiguió una nueva parte yi' generada para él, o que se sabe que no ha recibido la yi' que fue enviada, o que no generó una nueva parte yi', usar la antigua parte yi;
- \bullet
- para cada otro Bi, usar la nueva parte yi'. Esto da un secreto compartido que es consecuente con las partes conocidas por cada uno de los Bi;
6. genera unas nuevas
(n-m) partes que son consecuentes con las yi' e yi
usadas; y
7. almacena estas partes adicionales en
el dispositivo de almacenamiento fiable de datos S.
En un ejemplo más detallado, el esquema de
compartición de secretos está basado en el esquema de Shamir que
usa interpolación polinómica de Lagrange sobre el grupo Z*p, donde p
es un número primo de 1024 bits y los números aleatorios se
obtienen usando un refinamiento del esquema de
Ford-Kaliski que, a su vez, refina la técnica SPEKE
de Jablon.
El sistema está basado en dos números primos: p,
un número primo grande (típicamente de 1024 bits) con respecto al
cual realizamos potenciación modular; y r, que es el número primo
más pequeño que es de 160 bits de longitud.
Para generar partes de servidores poseedores de
partes, el componente de generación de secreto 14' genera un número
g < p a partir de la contraseña proporcionada por el usuario.
Para cada servidor Bi, el componente 14':
- \bullet
- selecciona un wi aleatorio de 160 bits de longitud.
- \bullet
- calcula g^wi mod p; y
- \bullet
- trunca el resultado para que sea de 159 bits de longitud. El resultado es yi, que se debe almacenar en los servidores Bi.
Obsérvese que todos los yi serán menores que r y
que el cliente tiene ahora n partes yi, con i = 1 a n. Hay un
polinomio f() de grado (m-1) sobre los números
enteros mod r, que pasa por los n puntos (i, yi).
Para generar las partes adicionales, el
componente de generación de secreto 14':
- \bullet
- calcula los n coeficientes del polinomio f();
- \bullet
- calcula el valor de f(0). Este es el secreto compartido; y
- \bullet
- calcula el valor de f(0), para i = n+1 a 2n-m. Estas son las partes adicionales. Todas ellas pueden ser almacenadas como números de 160 bits.
Para recombinar las partes, el componente de
reconstrucción de secreto 16':
- \bullet
- recupera yi de m de los Bi - esto se hace por el procedimiento esbozado en el documento de Ford-Kaliski;
- \bullet
- recupera las partes adicionales numeradas de n+1 a 2n-m del servidor adicional S. Esto da al cliente n partes en total. Hay un polinomio de grado (n-1) sobre los números enteros mod r, que pasa por los n puntos (i, yi); y
- \bullet
- calcula los n coeficientes de este polinomio, f(), y luego calcula f(0). Este es el secreto compartido.
Una vez que el secreto ha sido reconstruido
puede ser actualizado como se esbozó previamente.
Aunque las realizaciones preferidas descritas
anteriormente son ilustrativas de la invención, se verá que son
posibles muchas variaciones de la invención.
Por ejemplo, no es necesario que las partes
públicas adicionales estén almacenadas en el servidor 20' apartado
del cliente 10, sólo que las partes adicionales sean accesibles de
manera fiable cuando ha de actualizarse el secreto. Así, por
ejemplo, las partes adicionales pueden estar almacenadas en
cualquier medio legible por ordenador como un disquete, tarjeta
inteligente, etc.
También se verá que no todos los componentes
14', 16', 18' que incorpora la invención tienen que estar incluidos
en la misma aplicación. Específicamente, la generación de secretos y
los componentes actualizados pueden ejecutarse en aplicaciones o
incluso ordenadores independientemente del componente de
reconstrucción de secreto autónomo.
Igualmente, se verá que no todas las partes del
secreto tienen que estar almacenadas en servidores remotos, sólo
que al menos m de las n partes sean accesibles de manera fiable
cuando ha de reconstruirse o actualizarse el secreto. Así, por
ejemplo, las partes del secreto pueden estar almacenadas en
cualquier medio legible por ordenador como un disquete, tarjeta
inteligente, etc.
También se verá que la invención no está
limitada estrictamente al uso de la técnica de compartición de
secretos de Shamir o la técnica de Ford-Kaliski
para obtener con seguridad partes de secretos. Así, por ejemplo, no
es estrictamente necesario que se usen los valores de las partes
para construir un polinomio del tipo empleado para ilustrar el
funcionamiento de la invención.
Por último, se verá que las reivindicaciones no
están limitadas estrictamente al orden de las etapas o
características enumeradas y que, donde sea posible, la invención
puede implementarse en cualquier orden o incluso con etapas que se
realizan en paralelo.
\global\parskip1.000000\baselineskip
Claims (10)
1. Un procedimiento de construcción de partes de
un secreto, que ha de ser realizado dentro de una red que comprende
varios dispositivos informáticos, cada uno dispuesto para almacenar
con seguridad al menos una parte de un secreto k para el que se
requieren n partes para reconstruir el secreto y al que puede
proporcionarse acceso de manera fiable a un número m de dichas
partes en cualquier momento dado, comprendiendo el procedimiento
las etapas de:
determinar n partes para un esquema de
compartición de secretos de n de n, comprendiendo cada parte un
valor y;
almacenar al menos alguna de dichas partes en
dichos dispositivos informáticos de manera que al menos m de dichas
n partes sean accesibles de manera fiable;
determinar el secreto compartido k según dichas
partes y;
caracterizado por ser m menor que n y por
las etapas de:
determinar unas nuevas (n-m)
partes consecuentes con el secreto compartido k y las partes y;
y
almacenar las partes adicionales en un lugar
accesible de manera fiable.
2. Un procedimiento de reconstrucción de un
secreto, que ha de realizarse dentro de una red que comprende
varios dispositivos informáticos, cada uno dispuesto para almacenar
con seguridad al menos una parte de dicho secreto k para el que se
requieren n partes para reconstruir el secreto y al que puede
proporcionarse acceso de manera fiable a un número m de dichas
partes en cualquier momento dado, comprendiendo el procedimiento
las etapas de:
obtener con seguridad m partes de uno o más
poseedores de partes del secreto que incluyen al menos uno de
dichos dispositivos informáticos;
caracterizado por ser m menor que n y por
las etapas de:
obtener (n-m) partes de un lugar
accesible de manera fiable;
y
construir el secreto compartido k según dichas
partes obtenidas.
3. Un procedimiento de actualización de dicho
secreto que comprende las etapas de:
reconstruir dicho secreto k según las etapas de
la reivindicación 2;
deducir a partir de las partes obtenidas los
valores de las partes para las n-m partes del
secreto no obtenidas; determinar un nuevo valor de parte y' para
cada lugar del cual se obtuvo con seguridad una parte;
determinar un nuevo secreto compartido k' según
los nuevos valores de partes y' y los valores de partes no
obtenidas;
almacenar al menos alguna de dichas nuevas
partes en dichos dispositivos informáticos de manera que al menos m
de dichas nuevas partes y dichas partes no obtenidas sean accesibles
de manera fiable;
generar (n-m) partes adicionales
que sean consecuentes con los nuevos valores de partes y los valores
de partes no obtenidas; y
almacenar las partes adicionales en un lugar
accesible de manera fiable.
4. Un procedimiento según la reivindicación 3 en
el que dicha etapa de determinar un nuevo valor de parte y' para
cada lugar del que se obtuvo con seguridad una parte comprende:
generar dichas nuevas partes y' y transmitir al
menos una nueva parte y' con seguridad a uno de los dispositivos
informáticos; y
solicitar confirmación de que han sido
recibidas.
5. Un procedimiento según la reivindicación 3 en
el que dicha etapa de determinar un nuevo valor de parte y' para
cada lugar del que se obtuvo con seguridad una parte comprende:
\newpage
solicitar a cada lugar del que se obtuvo con
seguridad una parte que genere y devuelva con seguridad una nueva
parte y'.
6. Aparato para construir partes de un secreto y
que puede funcionar dentro de una red que comprende varios
dispositivos informáticos (B1...Bn), cada uno dispuesto para
almacenar con seguridad al menos una parte de un secreto k para el
que se requieren n partes para reconstruir el secreto y al que puede
proporcionarse acceso de manera fiable a un número m de dichas
partes en cualquier momento dado, que comprende:
medios (14') para determinar n partes para un
esquema de compartición de secretos de n de n, comprendiendo cada
parte un valor y;
medios para hacer que al menos alguna de dichas
partes sea almacenada en dichos dispositivos informáticos de manera
que al menos m de dichas n partes sean accesibles de manera
fiable
medios (14') para determinar el secreto
compartido k según dichas partes y;
caracterizado por ser m menor que n y
por:
medios para determinar unas nuevas
(n-m) partes consecuentes con el secreto compartido
k y las partes y; y
medios para hacer que las partes adicionales
sean almacenadas en un lugar (5) accesible de manera fiable.
7. Aparato para reconstruir un secreto y que
puede funcionar en una red que comprende varios dispositivos
informáticos (B1...Bn), cada uno dispuesto para almacenar con
seguridad al menos una parte de un secreto k para el que se
requieren n partes para reconstruir el secreto y al que puede
proporcionarse acceso de manera fiable a un número m de dichas
partes en cualquier momento dado, que comprende:
medios para obtener con seguridad m partes de
uno o más poseedores de partes del secreto que incluyen al menos
uno de dichos dispositivos informáticos;
caracterizado por ser m menor que n y
por:
medios (18') para obtener (n-m)
partes de un lugar (5) accesible de manera fiable; y
medios (18') para construir el secreto
compartido k según dichas partes obtenidas.
8. Un producto de programa informático para
construir un secreto, estando dispuesto dicho producto de programa
informático para realizar las etapas de la reivindicación 1.
9. Un producto de programa informático para
reconstruir un secreto, estando dispuesto dicho producto de
programa informático para realizar las etapas de la reivindicación
2.
10. Un procedimiento según la reivindicación
1 en el que la etapa de determinar n partes comprende:
determinar n números posiblemente arbitrarios w,
siendo calculados dichos valores y a partir de dichos números w.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IE2001/0423 | 2001-04-27 | ||
IE20010423 | 2001-04-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2278047T3 true ES2278047T3 (es) | 2007-08-01 |
Family
ID=11042774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES02766681T Expired - Lifetime ES2278047T3 (es) | 2001-04-27 | 2002-04-18 | Sistema y procedimiento para procesar un secreto compartido. |
Country Status (10)
Country | Link |
---|---|
US (1) | US8718283B2 (es) |
EP (1) | EP1386215B1 (es) |
AT (1) | ATE342540T1 (es) |
AU (1) | AU2002307851A1 (es) |
CY (1) | CY1107529T1 (es) |
DE (1) | DE60215332T2 (es) |
DK (1) | DK1386215T3 (es) |
ES (1) | ES2278047T3 (es) |
PT (1) | PT1386215E (es) |
WO (1) | WO2002088912A2 (es) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7327847B2 (en) * | 2003-01-29 | 2008-02-05 | International Business Machines Corporation | Method for distributed computation of RSA inverses in asynchronous networks |
US8842835B2 (en) * | 2005-10-27 | 2014-09-23 | Cisco Technology | Network security system |
US7835978B2 (en) * | 2005-12-23 | 2010-11-16 | International Business Machines Corporation | Method and system for linking an anonymous electronic trade order to an identity of a trader |
CN101485137B (zh) * | 2006-06-30 | 2013-07-24 | 皇家飞利浦电子股份有限公司 | 用于加密/解密数据的方法和设备 |
JP4302150B2 (ja) * | 2007-03-23 | 2009-07-22 | 株式会社東芝 | データ処理装置及びプログラム |
GB2451505A (en) * | 2007-08-01 | 2009-02-04 | Iti Scotland Ltd | Key distribution in a network using key shares in a secret sharing scheme |
GB0805830D0 (en) * | 2008-03-31 | 2008-04-30 | British Telecomm | Keys for protecting user access to media |
US8862889B2 (en) * | 2011-07-02 | 2014-10-14 | Eastcliff LLC | Protocol for controlling access to encryption keys |
US10742634B1 (en) * | 2011-12-27 | 2020-08-11 | Majid Shahbazi | Methods for single sign-on (SSO) using optical codes |
US9230075B1 (en) * | 2012-08-31 | 2016-01-05 | Emc Corporation | Multi-server authentication using proactivization journaling |
US9292671B1 (en) * | 2012-08-31 | 2016-03-22 | Emc Corporation | Multi-server authentication using personalized proactivization |
US11032259B1 (en) * | 2012-09-26 | 2021-06-08 | Pure Storage, Inc. | Data protection in a storage system |
US8745415B2 (en) * | 2012-09-26 | 2014-06-03 | Pure Storage, Inc. | Multi-drive cooperation to generate an encryption key |
US10623386B1 (en) * | 2012-09-26 | 2020-04-14 | Pure Storage, Inc. | Secret sharing data protection in a storage system |
US9654286B2 (en) * | 2013-10-04 | 2017-05-16 | Microsoft Technology Licensing, Llc | Content gathering using shared key |
US9514326B1 (en) | 2013-10-15 | 2016-12-06 | Sandia Corporation | Serial interpolation for secure membership testing and matching in a secret-split archive |
US10263770B2 (en) | 2013-11-06 | 2019-04-16 | Pure Storage, Inc. | Data protection in a storage system using external secrets |
US11128448B1 (en) | 2013-11-06 | 2021-09-21 | Pure Storage, Inc. | Quorum-aware secret sharing |
US9516016B2 (en) | 2013-11-11 | 2016-12-06 | Pure Storage, Inc. | Storage array password management |
US10623468B1 (en) | 2014-05-30 | 2020-04-14 | Mbr Innovations Llc | Systems and methods for simultaneous electronic file exchange |
US10536269B2 (en) | 2015-02-25 | 2020-01-14 | Secret Double Octopus Ltd | Method and system for authentication and preserving the integrity of communication, secured by secret sharing |
US9648012B1 (en) * | 2015-06-26 | 2017-05-09 | EMC IP Holding Company LLC | Automatic propagation of password updates on multiple devices |
US11057210B1 (en) * | 2015-09-30 | 2021-07-06 | Apple Inc. | Distribution and recovery of a user secret |
US10084596B1 (en) * | 2015-12-08 | 2018-09-25 | EMC IP Holding Company LLC | Proactivized threshold password-based secret sharing with flexible key rotation |
US10476672B2 (en) * | 2016-03-14 | 2019-11-12 | Callware Technologies, Inc | Fragmented encryption of a secret |
SG11201908666VA (en) * | 2017-03-21 | 2019-10-30 | Tora Holdings Inc | Secure order matching by distributing data and processing across multiple segregated computation nodes |
CN109726563B (zh) * | 2017-10-31 | 2020-11-03 | 创新先进技术有限公司 | 一种数据统计的方法、装置以及设备 |
US10826694B2 (en) * | 2018-04-23 | 2020-11-03 | International Business Machines Corporation | Method for leakage-resilient distributed function evaluation with CPU-enclaves |
US10742404B2 (en) * | 2018-06-05 | 2020-08-11 | Hrl Laboratories, Llc | System and asynchronous protocol for verifiable secret sharing |
US11444779B2 (en) * | 2018-08-02 | 2022-09-13 | Paypal, Inc. | Techniques for securing application programming interface requests using multi-party digital signatures |
EP3664359A1 (en) * | 2018-12-07 | 2020-06-10 | Koninklijke Philips N.V. | A computation device using shared shares |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485474A (en) * | 1988-02-25 | 1996-01-16 | The President And Fellows Of Harvard College | Scheme for information dispersal and reconstruction |
USRE36918E (en) * | 1992-04-20 | 2000-10-17 | Certco Llc | Fair cryptosystems and methods of use |
US5315658B1 (en) * | 1992-04-20 | 1995-09-12 | Silvio Micali | Fair cryptosystems and methods of use |
US5825880A (en) * | 1994-01-13 | 1998-10-20 | Sudia; Frank W. | Multi-step digital signature method and system |
US5708714A (en) * | 1994-07-29 | 1998-01-13 | Canon Kabushiki Kaisha | Method for sharing secret information and performing certification in a communication system that has a plurality of information processing apparatuses |
US5495532A (en) * | 1994-08-19 | 1996-02-27 | Nec Research Institute, Inc. | Secure electronic voting using partially compatible homomorphisms |
US5625692A (en) * | 1995-01-23 | 1997-04-29 | International Business Machines Corporation | Method and system for a public key cryptosystem having proactive, robust, and recoverable distributed threshold secret sharing |
US6141750A (en) * | 1995-03-21 | 2000-10-31 | Micali; Silvio | Simultaneous electronic transactions with subscriber verification |
US6137884A (en) * | 1995-03-21 | 2000-10-24 | Bankers Trust Corporation | Simultaneous electronic transactions with visible trusted parties |
US6134326A (en) * | 1996-11-18 | 2000-10-17 | Bankers Trust Corporation | Simultaneous electronic transactions |
US5553145A (en) * | 1995-03-21 | 1996-09-03 | Micali; Silvia | Simultaneous electronic transactions with visible trusted parties |
EP0872080B1 (en) * | 1995-06-05 | 2010-12-15 | CQRCert LLC | Multi-step digital signature method and system |
DE19538385A1 (de) * | 1995-10-14 | 1997-04-17 | Deutsche Telekom Ag | Verfahren zur Etablierung eines gemeinsamen Schlüssels für autorisierte Personen durch eine Zentrale |
US5675649A (en) * | 1995-11-30 | 1997-10-07 | Electronic Data Systems Corporation | Process for cryptographic key generation and safekeeping |
US6026163A (en) * | 1995-12-13 | 2000-02-15 | Micali; Silvio | Distributed split-key cryptosystem and applications |
US5812670A (en) * | 1995-12-28 | 1998-09-22 | Micali; Silvio | Traceable anonymous transactions |
US6012159A (en) * | 1996-01-17 | 2000-01-04 | Kencast, Inc. | Method and system for error-free data transfer |
US5768388A (en) * | 1996-03-01 | 1998-06-16 | Goldwasser; Shafi | Time delayed key escrow |
US5666414A (en) * | 1996-03-21 | 1997-09-09 | Micali; Silvio | Guaranteed partial key-escrow |
JP2000515649A (ja) * | 1996-08-07 | 2000-11-21 | バンカーズ・トラスト・コーポレーション | 見ることができ信頼できる当事者による同時性電子トランザクション |
US5764767A (en) * | 1996-08-21 | 1998-06-09 | Technion Research And Development Foundation Ltd. | System for reconstruction of a secret shared by a plurality of participants |
US6035041A (en) * | 1997-04-28 | 2000-03-07 | Certco, Inc. | Optimal-resilience, proactive, public-key cryptographic system and method |
US6122742A (en) * | 1997-06-18 | 2000-09-19 | Young; Adam Lucas | Auto-recoverable and auto-certifiable cryptosystem with unescrowed signing keys |
US5991414A (en) * | 1997-09-12 | 1999-11-23 | International Business Machines Corporation | Method and apparatus for the secure distributed storage and retrieval of information |
DE69917356T2 (de) * | 1998-02-13 | 2005-02-17 | Hitachi, Ltd. | Sicherheitstechnik an einem Computernetzwerk |
US6055508A (en) * | 1998-06-05 | 2000-04-25 | Yeda Research And Development Co. Ltd. | Method for secure accounting and auditing on a communications network |
JP4071870B2 (ja) * | 1998-08-20 | 2008-04-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 秘密鍵生成方法 |
US6587946B1 (en) * | 1998-12-29 | 2003-07-01 | Lucent Technologies Inc. | Method and system for quorum controlled asymmetric proxy encryption |
US6182214B1 (en) * | 1999-01-08 | 2001-01-30 | Bay Networks, Inc. | Exchanging a secret over an unreliable network |
US7003677B1 (en) * | 1999-11-01 | 2006-02-21 | International Business Machines Corporation | Method for operating proactively secured applications on an insecure system |
-
2002
- 2002-04-18 ES ES02766681T patent/ES2278047T3/es not_active Expired - Lifetime
- 2002-04-18 AT AT02766681T patent/ATE342540T1/de active
- 2002-04-18 EP EP02766681A patent/EP1386215B1/en not_active Expired - Lifetime
- 2002-04-18 PT PT02766681T patent/PT1386215E/pt unknown
- 2002-04-18 US US10/474,980 patent/US8718283B2/en active Active
- 2002-04-18 DE DE60215332T patent/DE60215332T2/de not_active Expired - Lifetime
- 2002-04-18 DK DK02766681T patent/DK1386215T3/da active
- 2002-04-18 WO PCT/IE2002/000050 patent/WO2002088912A2/en active IP Right Grant
- 2002-04-18 AU AU2002307851A patent/AU2002307851A1/en not_active Abandoned
-
2007
- 2007-01-10 CY CY20071100035T patent/CY1107529T1/el unknown
Also Published As
Publication number | Publication date |
---|---|
ATE342540T1 (de) | 2006-11-15 |
DK1386215T3 (da) | 2007-02-12 |
EP1386215A2 (en) | 2004-02-04 |
EP1386215B1 (en) | 2006-10-11 |
US20040117649A1 (en) | 2004-06-17 |
AU2002307851A1 (en) | 2002-11-11 |
DE60215332T2 (de) | 2007-05-24 |
PT1386215E (pt) | 2007-01-31 |
WO2002088912A3 (en) | 2003-11-06 |
WO2002088912A2 (en) | 2002-11-07 |
DE60215332D1 (de) | 2006-11-23 |
CY1107529T1 (el) | 2013-03-13 |
US8718283B2 (en) | 2014-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2278047T3 (es) | Sistema y procedimiento para procesar un secreto compartido. | |
US10673626B2 (en) | Threshold secret share authentication proof and secure blockchain voting with hardware security modules | |
US11258582B2 (en) | Distributed system and method for encryption of blockchain payloads | |
ES2687182T3 (es) | Determinar un secreto común para el intercambio seguro de información y claves criptográficas jerárquicas y deterministas | |
Xiong et al. | A key protection scheme based on secret sharing for blockchain-based construction supply chain system | |
ES2265826T3 (es) | Sistema y metodo para distribucion de documentos. | |
US7895436B2 (en) | Authentication system and remotely-distributed storage system | |
US9516002B2 (en) | Systems and methods for securing data in motion | |
US8677148B2 (en) | Systems and methods for securing data | |
US8855317B2 (en) | System for protecting an encrypted information unit | |
JP2020532168A (ja) | 閾ボールトを生成する、コンピュータにより実施される方法 | |
KR20180115701A (ko) | 지갑 관리 시스템과 연계된 블록 체인 기반 시스템을 위한 암호키의 안전한 다기관 손실 방지 저장 및 전송 | |
JP7620564B2 (ja) | データを暗号化するためのコンピュータにより実施される方法及びシステム | |
KR102546762B1 (ko) | 블룸 필터를 이용한 블록체인에서의 다중 서명 지갑 시스템 | |
CN117648706B (zh) | 基于区块链和属性加密的访问控制方法 | |
KR102139008B1 (ko) | 퍼블릭 블록체인 환경에서 개인정보보호를 위한 거래방법 | |
US12212661B2 (en) | Selective data disclosure via a block chain | |
JP4794970B2 (ja) | 秘密情報の保護方法及び通信装置 | |
JP2008124906A (ja) | 認証システム | |
KR20170031482A (ko) | 삼자 간 다중 인증 방법 및 시스템 |