ES2548838T3 - Procedimiento para una firma digital múltiple - Google Patents

Procedimiento para una firma digital múltiple Download PDF

Info

Publication number
ES2548838T3
ES2548838T3 ES12722319.6T ES12722319T ES2548838T3 ES 2548838 T3 ES2548838 T3 ES 2548838T3 ES 12722319 T ES12722319 T ES 12722319T ES 2548838 T3 ES2548838 T3 ES 2548838T3
Authority
ES
Spain
Prior art keywords
signature
mod
signer
signers
group
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.)
Active
Application number
ES12722319.6T
Other languages
English (en)
Inventor
Luis HERNÁNDEZ ENCINAS
Jaime MUÑOZ MASQUÉ
José Raúl DURÁN DÍAZ
Fernando HERNÁNDEZ ÁLVAREZ
Víctor GAYOSO MARTÍNEZ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonica SA
Original Assignee
Telefonica SA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Telefonica SA filed Critical Telefonica SA
Application granted granted Critical
Publication of ES2548838T3 publication Critical patent/ES2548838T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Un procedimiento para una firma digital multiple que comprende: i) generar, por una tercera parte de confianza (T), un conjunto de parametros, su propia clave privada y una clave privada para cada firmante o miembro (F1, F2, ..., Ft) de un grupo de firmantes (G); ii) generar, por cada uno de dichos firmantes (F1, F2, ..., Ft), una firma parcial en un resumen (m) de un documento, o mensaje, (M) usando sus claves privadas; iii) generar una firma multiple a partir de dichas firmas parciales; y iv) verificar, por un verificador, dicha firma multiple; en el que el procedimiento comprende: - determinar, por dicha tercera parte de confianza (T), una clave publica unica y comun para todos de dichos firmantes (F1, F2, ..., Ft) en (G), calculando dos numeros enteros (P) y (Q), en Zn, y - determinar, por dicha tercera parte de confianza (T), claves privadas individuales de los firmantes (F1, F2, ..., Ft) del grupo de firmantes (G), asociadas a dicha determinada clave publica unica y comun, calculando (ai, bi, ci, di), para i >= 1, ..., t, en el que: (a0, b0, c0, d0) son cuatro numeros enteros aleatorios que pertenecen a Zr que definen la clave privada de la tercera parte de confianza (T); (bi, di), para i >= 1, ..., t, son t pares de numeros enteros aleatorios en Zr, y (ai, ci), para i >= 1, ..., t, son t pares de numeros enteros en Zr que verifican las siguientes condiciones: ai >= (h - s . bi) (mod r), ci >= (k - s . di) (mod r); y h y k son dos numeros enteros secretos, en Zr, definidos por h >= (a0 + s . b0) (mod r), k >= (c0 + s . d0) (mod r), y - generar, por dicha tercera parte de confianza (T), un conjunto de parametros (n, r, α, ß, p, q, s) de modo que publica n, r, α y ß y mantiene p, q y s secretas, donde n >= p . q, p >= u1 . r . p1 + 1 y q >= u2 . r . q1 + 1 son dos numeros primos grandes, u1 y u2 son dos numeros enteros pares, cuyo maximo comun divisor (mcd) verifica mcd(u1, u2) >= 2, p1, q1, r, son numeros primos, α es un elemento reversible en el grupo de los enteros modulo n, Zn, con orden multiplicativo r, que verifica la condicion mcd(α, (p - 1)(q - 1)) >= 1; ß >= αs (mod n) y s es un numero secreto aleatorio en el subgrupo generado por α.

Description

E12722319
30-09-2015
Procedimiento para una firma digital múltiple
DESCRIPCIÓN 5 Campo de la técnica
La presente invención se refiere, en general, a un procedimiento para una firma digital múltiple, basándose en la generación de una firma múltiple a partir de dichas firmas parciales y la verificación de las mismas, y más particularmente a un método que comprende usar una clave pública común para realizar dicha verificación.
10
Estado de la técnica anterior
En la actualidad hay diferentes métodos y algoritmos para realizar, de manera segura, firmas electrónicas o digitales por medio de redes informáticas. La mayor parte de estos protocolos se basan en criptografía de clave pública
15 (PKC), (véase [MOV97]). La característica principal de este tipo de criptografía es que cada individuo tiene dos claves, una clave pública, denominada e, y una clave privada, denominada d. La clave pública permite a cualquier usuario cifrar los mensajes dirigidos al propietario de la clave, usando un procedimiento de cifrado, E. Por tanto, esta clave se conoce públicamente. Por otro lado, la clave privada solo la conoce su propietario y es la que permite descifrar los mensajes cifrados recibidos, a través de un procedimiento de descifrado, D.
20 En general, el único requisito para un criptosistema de clave pública es que el cifrado de un mensaje M, con la clave pública, Ee, seguido de su descifrado con la clave privada, Dd, debe dar como resultado el mensaje original, es decir,
25 Dd (Ee (M)) = Dd (c) = M.
Considerando el caso de las firmas digitales, los procedimientos de cifrado y descifrado, E y D, en los que se basan, deben verificar condiciones adicionales. Una de ellas es que el procedimiento de cifrado realizado con la clave privada, seguido del procedimiento de descifrado realizado con la respectiva clave pública deben tener como
30 resultado el mensaje original, es decir, los procedimientos E y D deben verificar que:
De (Ed (M)) = De (c´) = M.
Además, para que los procedimientos de firmas digitales y su transmisión electrónica sean más eficaces, se usan
35 funciones hash (véase [FGHMM04], [MOV97], [NIST02]). Estas funciones se conocen públicamente y permiten firmar un resumen del documento original en lugar de todo el documento. En este documento estas funciones se indicarán por H(—).
El procedimiento general para realizar la firma digital de un documento, M, sigue las siguientes etapas (véase la 40 figura 1):
1.
Seleccionar el criptosistema de clave pública, (E, D), y la función hash, H, que van a usarse en el procedimiento.
2.
Generar las claves pública y privada, e, d, del usuario que va a firmar el documento.
45 3. Calcular el resumen del mensaje que va a firmarse:
H (M) = m.
4. Firmar digitalmente el resumen del mensaje usando la clave privada del firmante:
50 Ed (m) = f.
5. Publicar el documento original y su correspondiente firma digital: (M, f).
6. Verificar y autenticar la firma del documento. Esta verificación se lleva a cabo usando el mensaje original, M,y 55 la clave pública del emisor, e:
De (f) = De (Ed (m)) = m,
H(M) = m´
60 m´ ¿=? m.
El desarrollo y la simplicidad con respecto al uso de ordenadores y el acceso a Internet para los ciudadanos han conducido a la aparición de nuevas necesidades y requisitos que la tecnología debe satisfacer, de modo que ahora
E12722319
30-09-2015
debe ser posible llevar a cabo protocolos de firma digital que no se consideraban antes. Éste es el caso de las firmas múltiples. Una firma múltiple es un protocolo de firma digital en el que un grupo de t firmantes,
5 G= {F1,F2, �, Ft},
firma el mismo documento con la idea de que la firma digital del documento solo será válida si todos ellos participan en el protocolo (véase, por ejemplo, [Abo07], [AA07], [BN06], [Boy88], [HK89], [IN83], [KH90], [OO91], [Oka88], [PPKW97], [PLL85]).
10 La manera más sencilla de llevar a cabo una firma múltiple para un mensaje es considerar como tal firma la lista formada por todas las firmas parciales de cada uno de los firmantes. Sin embargo, esta firma no es práctica ya que su longitud es proporcional al número de firmantes.
15 En general, la mayoría de protocolos de firma múltiple basados en criptosistemas de clave pública se realizan de la siguiente manera:
1. El firmante F1 firma un resumen del mensaje original, calculado a partir de una función hash que se conoce
públicamente. Esta firma se realiza usando la clave privada del firmante y siguiendo el protocolo establecido por 20 el criptosistema de clave pública que esté usándose.
2.
A continuación, cada uno de los firmantes siguientes, de manera ordenada, firma el documento, ya firmado por el que le antecede en el grupo, siguiendo el mismo protocolo de firma ya establecido en la primera etapa.
3.
Finalmente, el último miembro del grupo de firmantes, Ft, firma el correspondiente documento firmado que le ha enviado el firmante previo. Esta firma se determina usando su clave privada y, si es necesario, con la clave
25 pública del verificador. Posteriormente, Ft envía al verificador no solo el mensaje sino también la firma múltiple calculada por el grupo de firmantes.
El procedimiento de verificación se realiza como sigue:
30 1. El verificador recibe el mensaje y la firma múltiple calculada por el grupo de firmantes.
2. El verificador realiza la verificación de la firma múltiple comprobando cada una de las firmas parciales del grupo de firmantes, siguiendo el protocolo y manteniendo el orden en el que se firmaron.
Hay diversas invenciones relativas a métodos de firma digital. Ninguna de ellas tiene una relación directa con el 35 esquema de firma múltiple propuesto en esta invención.
Por ejemplo, varias patentes proponen métodos para elaborar una firma digital usando criptografía de clave pública, tal como RSA ([DHM05], [KOKS09]), curvas elípticas sobre campos finitos ([Shi01], [TK02]), y por medio de correlaciones bilineales ([Gen10]). Además, se presenta un método de firma de grupo basado en firmas anulares en
40 [MFM04] y se presenta un esquema de firma digital usando firmas agregadas de identidad en [GR10].
La mayoría de las invenciones anteriores proponen métodos de firma digital individual y se basan en herramientas matemáticas distintas, pero todas ellas son diferentes de las herramientas usadas en esta invención.
45 Hay otros esquemas de firma propuestos para un grupo de firmantes. Por ejemplo, se presenta un sistema de firmado de múltiples etapas en [SFH01]. Este método usa múltiples dispositivos de firmado para asociar una firma individual que puede verificarse usando una única clave de verificación pública. En este caso, cada dispositivo de firmado tiene una cuota de la clave de firma y asocia una firma parcial en respuesta a la autorización de una pluralidad de agentes de autorización. Además, esta patente no da a conocer el uso de una clave privada para cada
50 uno de los firmantes, es decir, no es exactamente un esquema de firma múltiple.
La invención presentada en [OO01] es un método que permite a un verificador efectuar una verificación en bloque de firmas individuales, múltiples o superpuestas asociadas electrónicamente por una pluralidad de firmantes a uno o más documentos.
55 Estos métodos, propuestos todos ellos para varios firmantes, difícilmente pueden considerarse esquemas de firma múltiple.
Por otro lado, la invención dada en [KOKS09] se basa en el criptosistema de clave pública RSA y es un verdadero
60 método de firma múltiple mediante el cual una pluralidad de firmantes realizan de manera sucesiva un proceso de generación de firma de un documento dado para generar de ese modo una firma. En este caso, la firma se calcula usando el sistema RSA. Finalmente, en [FSNT09], la invención proporciona un sistema de verificación de firma múltiple sumando nuevos datos adicionales a los datos originales con una firma asociada a los mismos y verificando la validez de los datos originales y los datos adicionales.
E12722319
30-09-2015
El artículo [WCW96] propone un esquema de firma múltiple basado en la identificación de los firmantes. En este caso, cada firmante tiene su propio par de claves pública/privada, de las que la clave pública se obtiene a partir de información pública del firmante, relacionada en general con su identidad, tal como su dirección de correo
5 electrónico, por ejemplo.
Otra propuesta para esquemas de firma múltiple se ha propuesto en [QX10]. En esta propuesta, la herramienta matemática depende de un mapa bilineal. La propuesta es bastante teórica ya que no se proponen implementaciones eficaces y prácticas de mapas bilineales.
10 La patente [ZWW10] da a conocer un método para proteger la seguridad de documentos de firma digital de múltiples verificadores designados firmemente por múltiples firmantes, donde cada firmante tiene su propia clave pública.
La patente [MS10] da a conocer un método para firmar digitalmente datos que incluye recoger un grupo de
15 firmantes, teniendo cada uno una clave pública y una clave secreta correspondientes, un subgrupo de firmantes cada uno produciendo una firma digital parcial de los datos y obtener una firma combinada de los datos combinando las firmas parciales de los datos.
La patente [MS11] del mismo autor de [MS10] da a conocer un método particular para certificar datos que incluye
20 tener un subgrupo de autoridades, contribuyendo cada uno una firma digital parcial de los datos para posibilitar el cálculo de una firma combinada, donde el subgrupo incluye algunos, pero no todos, del número total de autoridades que pueden aplicar una firma parcial a los datos, emitir un certificado para los datos y almacenar información para mantener al subgrupo de autoridades responsables de los datos que el subgrupo de autoridades contribuye a certificar.
25 Finalmente, el documento [CJ97] presenta un esquema de firma en grupo donde un gestor de grupo calcula dos pares de claves públicasprivadas, y publica las dos claves públicas como las claves públicas para el grupo.
Problemas con las soluciones existentes
30 Los protocolos genéricos descritos anteriormente presentan habitualmente algunas deficiencias, tales como:
1.
Ya se ha demostrado que muchos de los esquemas propuestos no son seguros.
2.
Implican un gran esfuerzo computacional.
35 3. En la mayoría de los esquemas de firma múltiple, el tamaño de la firma de un mensaje aumenta en la misma medida que el grupo de firmantes, lo que no es en absoluto deseable.
4. La necesidad de que todos los firmantes deban estar presentes simultáneamente para llevar a cabo la firma puede provocar un retraso en la obtención de la firma múltiple.
5. El hecho de que la firma múltiple tenga que llevarse a cabo en un orden determinado del grupo de usuarios 40 obliga a verificar la firma de cada firmante en el orden inverso.
6.
Dado un grupo de firmantes y una firma múltiple para un mensaje dado, el protocolo de firma múltiple tiene que realizarse una vez más por todos los miembros del grupo cada vez que un nuevo firmante se une al grupo.
7.
En varios esquemas de firma múltiple, son necesarias algunas condiciones adicionales, más restrictivas sobre las claves del firmante. Éste es el caso para esquemas basados en RSA ([DHM05], [RSA78]). En estos
45 esquemas, el módulo RSA de cada firmante debe aumentar a medida que aumenta el orden de cada firmante. De lo contrario, o bien la firma no puede realizarse o bien debe dividirse en bloques y entonces debe firmarse cada uno de estos bloques. El hecho de firmar varios bloques implica un mayor tamaño de la firma y más esfuerzo computacional.
50 Como ya se ha mencionado, la mayoría de los esquemas de firma múltiple se basan en criptosistemas de clave pública. Los dos criptosistemas más generalizados en la actualidad son aquellos cuya seguridad se basa o bien en factorización numérica (RSA [RSA78]), o bien en el problema de logaritmo discreto (ElGamal [ElG85], Elliptic curves [HMV04], [Men93]), y por tanto las características generales de los esquemas de firma múltiple se basan en estos sistemas. En esta invención, se usará un sistema ligeramente diferente, que representa una novedad y
55 proporcionará algunas ventajas en comparación con los sistemas mencionados anteriormente.
El primer esquema de firma múltiple fue diseñado por Itakura y Nakamura ([IN83]). Desde entonces no se ha propuesto ninguna solución al problema de firmar un documento conjuntamente de manera eficaz. En esa propuesta, se realizó una modificación de RSA de tal manera que el módulo considerado era el producto de tres
60 primos en lugar de solo dos. Además, cada uno de los firmantes, en orden, firma la firma del firmante que le precede en el grupo, de modo que el último miembro del grupo es quien realmente calcula la firma de todo el grupo ya que firma el resultado de la firma de todos los firmantes anteriores que él. Para verificar la firma múltiple, el verificador actúa verificando la firma de cada firmante del grupo en el orden correcto.
E12722319
30-09-2015
Okamoto ([Oka88]) propuso otro esquema de firma múltiple, basado también en RSA. En este esquema, la longitud de la firma es similar a la longitud obtenida a partir de un esquema de firma simple, y más corta que la firma obtenida a partir del esquema propuesto por Itakura y Nakamura. Además, esta propuesta puede usarse solo si el criptosistema es biyectivo; por ejemplo, en el caso de RSA, pero este hecho no se verifica en criptosistemas
5 basados en el problema de logaritmo discreto.
El esquema de Harn y Kiesler ([HK89]) propone una modificación de RSA que permite a un grupo de usuarios firmar un documento y enviarlo a un receptor o verificador, que debe conocerse de antemano. En este caso, la longitud del texto cifrado es fija y no depende del número de firmantes del grupo. Sin embargo, los firmantes deben firmar el
10 documento de manera consecutiva; por tanto es necesario aplicar varias transformaciones a las firmas parciales.
Más tarde, Kiesler y Harn ([KH90]) propusieron otras opciones para solucionar las limitaciones que los autores mencionan en la utilización del criptosistema RSA como un esquema de firma digital, es decir: bloquear la expansión de bits del mensaje, problema del tamaño de módulo para firmas múltiples, y el problema de módulo relacionado con
15 la firma digital, y confidencialidad.
En [PPKW97] se proponen dos esquemas que mejoran los presentados en [Oka88] y [KH90]. El primero implica un aumento en el número de bits en la firma múltiple aunque este aumento no excede el número de firmantes. El segundo esquema no implica ningún aumento en el número de bits, pero se requiere que cada firmante tenga
20 módulos RSA con el mismo número de bits y con el mismo patrón en los bits más significativos, lo que induce un defecto importante en su seguridad.
Para intentar resolver algunas de las desventajas anteriores, otra propuesta es el uso de rebloqueo ([PLL85]), pero esta opción todavía presenta el problema de mantener el orden de los firmantes.
25 En [AA07] se propone otro esquema más en el que cada firmante puede usar un módulo RSA de diferente tamaño. Esta opción produce un aumento en el número de bits, pero esta vez, el aumento se refiere al número de firmantes y no al tamaño del módulo usado.
30 Por lo que respecta a los esquemas de firma múltiple basados en el problema de logaritmo discreto, es importante mencionar el esquema propuesto por Laih y Yen ([LY96]). En este esquema, el grupo de firmantes debe cooperar para firmar el mensaje y enviarlo a un grupo dado de verificadores. Entonces, solo la unión de todos los verificadores puede validar la firma múltiple. Además, los firmantes no solo deben usar sus propias claves privadas, sino también la clave pública de todos los verificadores. En cualquier caso, el uso de este esquema no es recomendable ya que
35 se han detectado ciertas debilidades ([He02], [Yen96]).
Hwang, Chen y Chang ([HCC98]) diseñaron otro esquema de firma múltiple para un grupo dado de verificadores, que proporciona autenticidad y confidencialidad; sin embargo, en este esquema, el mensaje solo puede recuperarse si todos los verificadores junto con su correspondiente firma múltiple se unen entre sí.
40 Otro nuevo esquema (véase [ZX04]) permite realizar una firma múltiple si los verificadores de la firma pertenecen a un grupo previamente especificado. No obstante, para este esquema se han encontrado también ciertas debilidades ([LWK05], [YY05]).
45 En [MS10] cada firmante en el grupo tiene una clave pública y una clave secreta correspondiente y existe una clave pública combinada (CPK = (PK1, ..., PKn)), como resultado, si un nuevo participante se une al grupo obligará un cambio en CPK.
En todos los artículos y patentes anteriores, cada firmante tiene un par de claves pública/privada, lo que no sucede
50 en esta propuesta. Como se mencionó anteriormente, este esquema de firma múltiple tiene la propiedad y la ventaja de que cada firmante tiene su propia clave privada, pero todos ellos comparten la misma clave pública. Este hecho simplifica y evita en gran medida los problemas mencionados anteriormente en relación con el esfuerzo computacional para el cálculo, ancho de banda y, por tanto, la eficacia global del protocolo propuesto.
55 Finalmente, un artículo de gran interés es el publicado por Bellare y Neven ([BN06]), porque los autores presentan un esquema de firma múltiple general para un modelo genérico de clave pública. Desde su publicación, esta propuesta se ha considerado una referencia esencial para los esquemas de firma múltiple. No obstante, en este modelo se han considerado obligatorios algunos requisitos, tales como los siguientes:
60 • Cada uno de los firmantes debe tener una clave pública certificada, con su correspondiente clave privada, que debe generarla el propio firmante.
Los firmantes deben interaccionar en un número dado de ciclos. En cada ciclo, cada firmante recibe un mensaje, realiza varios cálculos y envía otro mensaje al siguiente firmante.
Debe ser computacionalmente inviable falsificar una firma múltiple si existe un firmante honesto.
E12722319
30-09-2015
Hasta la fecha no se ha propuesto ningún esquema ni patente eficaz, que pueda solucionar todos los problemas mencionados anteriormente, es decir, no se ha diseñado ningún esquema con los siguientes requisitos:
5 1. Seguridad.
2.
Eficacia.
3.
Independencia del tamaño de la firma múltiple con respecto al número de firmantes.
4.
Posibilidad de firma fuera de línea, es decir, no todos los firmantes deben estar en línea simultáneamente.
5.
Firma del mensaje por todos los firmantes en cualquier orden.
10 6. Simplicidad en el procedimiento para añadir nuevos firmantes.
7. Simplicidad en el procedimiento verificación de la firma múltiple (que no sea necesario verificar la firma parcial de cada miembro del grupo de firmantes).
Descripción de la invención
15 Es necesario ofrecer una alternativa al estado de la técnica que supere los problemas mencionados anteriormente que sufren las soluciones existentes.
Con este fin, la presente invención proporciona un procedimiento para una firma digital múltiple, que comprende:
20 i) generar, por una tercera parte de confianza, un conjunto de parámetros, su propia clave privada y una clave privada para cada firmante o miembro de un grupo de firmantes; ii) generar, por cada uno de dichos firmantes, una firma parcial en un resumen de un mensaje, o documento, usando sus claves privadas;
25 iii) generar una firma múltiple a partir de dichas firmas parciales; y iv) verificar, por un verificador, dicha firma múltiple.
A diferencia de las propuestas conocidas, el procedimiento de la invención comprende:
30 determinar, por dicha tercera parte de confianza, una clave pública única y común para todos de dichos firmantes en el grupo de firmantes, calculando dos números enteros, en Zn,
imagen1
35
40 45
y determinar, por dicha tercera parte de confianza, claves privadas individuales de los firmantes del grupo de firmantes, asociadas a dicha determinada clave pública única y común, calculando (ai, bi, ci, di), para i = 1, ..., t, en el que: (a0, b0, c0, d0) son cuatro números enteros aleatorios que pertenecen a Zr que definen la clave privada de la tercera parte de confianza (T); (bi, di), para i = 1, ..., t, son t pares de números enteros aleatorios en Zr, y (ai, ci), para i = 1, ..., t, son t pares de números enteros en Zr que verifican las siguientes condiciones: ai = (h – s — bi) (mod r),
ci = (k – s — di) (mod r);
50
y h y k son dos números enteros secretos, en Zr, definidos por
h = (a0 + s — b0) (mod r),
55
k = (c0 + s — d0) (mod r),
y
60
generar, por dicha tercera parte de confianza (T), un conjunto de parámetros (n, r, α, β, p, q, s) de modo que publica n, r, α y β y mantiene p, q y s secretas, donde
n = p — q,
6 p = u1 — r — p1 + 1 y q = u2 — r — q1 + 1 son dos números primos grandes,
E12722319
30-09-2015
u1y u2 son dos números enteros pares, cuyo máximo común divisor (mcd) verifica
mcd(u1, u2) = 2, p1, q1, r, son números primos, 5 α es un elemento reversible en el grupo de los enteros módulo n, Zn, con orden multiplicativo r, que verifica la condición
mcd(α, (p – 1)(q 1)) = 1;
10 β=αs(mod n)y s es un número secreto aleatorio en el subgrupo generado por α.
Por tanto, este procedimiento permite generar las claves de una tercera parte de confianza, que generará la clave pública común y las claves privadas de un determinado grupo de usuarios. Estos usuarios firmarán conjuntamente 15 un documento de tal manera que las firmas de todos los miembros del grupo constituirán la firma múltiple de tal grupo para el documento dado.
Una vez realizada la firma múltiple, cualquiera que conozca la clave pública común del grupo de usuarios podrá verificar la autenticación de la firma múltiple o bien declararla inválida.
20 La presente invención se basa en un nuevo esquema de firma múltiple, que no se ha propuesto ni publicado antes, que cumple todos los requisitos mencionados anteriormente. Por tanto, garantiza que todos los problemas descritos en el apartado anterior se solucionan de manera precisa.
25 Cabe destacar que este nuevo esquema no coincide con el modelo propuesto en [BN06] ya que el procedimiento se lleva a cabo en un único ciclo en el que participan todos los firmantes. Además, no todos los firmantes tienen que tener su propio par de claves certificadas (pública y privada). De hecho, en el protocolo propuesto en esta invención todos los firmantes comparten la misma clave pública, pero cada uno tiene una clave privada diferente, que se mantiene en secreto y que solo conoce él mismo y el centro generador de claves o tercera parte de confianza.
30 En particular, se proponen dos protocolos diferentes para obtener una firma múltiple para un documento. El primero, que requiere una tercera parte de confianza no solo para generar las claves sino también para realizar la firma múltiple, es más eficaz que el segundo, que no necesita una tercera parte de confianza para realizar la firma.
35 Como se mencionó en la sección de estado de la técnica anterior, el esquema general de los dispositivos que llevan a cabo el procedimiento de firma múltiple considera las siguientes etapas (véase la figura 2):
1.
Generar las claves por una tercera parte de confianza.
2.
Verificar las claves del firmante.
40 3. Generar la firma múltiple por medio de la firma parcial de cada miembro del grupo de firmantes.
4. Verificar la firma múltiple.
En esta invención, se presenta un procedimiento para llevar a cabo los procesos de generación de claves, generación de la firma múltiple y verificación de la firma múltiple.
45 Esta invención no solo garantiza la generación de una firma digital múltiple de un documento por un grupo de firmantes, sino que también mejora sustancialmente otros protocolos publicados anteriormente de muchas formas diferentes. Por ejemplo, es más fácil de usar, es más eficaz computacionalmente y permite ahorrar tiempo y ancho de banda.
50 Otras realizaciones del procedimiento de la invención, para algunas de las cuales se requiere la colaboración de la tercera parte de confianza mientras que para otras no, se describen según las reivindicaciones 2 a 9 adjuntas, y en una sección posterior relativa a la descripción detallada de varias realizaciones.
55 Breve descripción de los dibujos
Las anteriores y otras ventajas y características se entenderán más completamente a partir de la siguiente descripción detallada de realizaciones, con referencia a los dibujos adjuntos, que deben considerarse de manera ilustrativa y no limitativa, en los que:
60 La figura 1 muestra un esquema general de un procedimiento de firma digital representativo del protocolo de un procedimiento de firma digital convencional; La figura 2 es un diagrama de flujo que ilustra un procedimiento convencional usado para realizar una firma múltiple;
E12722319
30-09-2015
La figura 3 ilustra, por medio de un diagrama de flujo, una realización del procedimiento de la invención que usa una tercera parte de confianza para realizar la firma múltiple; La figura 4 es un diagrama de flujo que ilustra una realización del procedimiento de la invención para el que no requiere la colaboración de una tercera parte de confianza para realizar la firma múltiple; y
5 La figura 5 muestra una arquitectura que implementa el procedimiento de la invención para una realización.
Descripción detallada de varias realizaciones
Siendo {F1, F2, �, FN} un grupo de N usuarios, una firma digital múltiple es un procedimiento mediante el cual cada 10 subgrupo de t miembros del mismo,
G ={F1,F2, �, Ft},
puede realizar, en cualquier momento, a través de un protocolo especificado, una firma común de un documento o
15 de un mensaje previamente fijado. Además, una firma de este tipo puede verificarse y validarse por cualquier otro usuario. Para llevar a cabo la verificación es necesario conocer el número de usuarios, t, el documento original o un resumen de tal mensaje generado mediante una función hash, m, la firma múltiple, y la(s) clave(s) pública(s) usada(s) en el protocolo.
20 Tal como se mencionó anteriormente, estos protocolos de firma digital necesitan un centro de claves o una tercera parte de confianza, T, que genere tanto sus propias claves como las claves de cada uno de los firmantes.
En esta propuesta, se describirán dos protocolos para realizar la firma. Los dos protocolos proporcionan la misma firma múltiple cada vez que se usan las mismas entradas del protocolo. Por tanto, ambos son esencialmente el 25 mismo, aunque presentan algunas diferencias con respecto a las acciones que llevan a cabo tanto la tercera parte de confianza como los usuarios que participan en el protocolo.
Por otro lado, la tercera parte de confianza, T, puede formar parte del grupo de firmantes o no, lo que no afecta ni al procedimiento de firma ni a la propia firma múltiple. 30 Las fases en las que se divide este protocolo son las siguientes (véanse las figuras 34):
1.
Generación de claves.
2.
Verificación de claves.
35 3. Generación de la firma digital múltiple.
a) Con la colaboración de T. b) Sin la colaboración de T.
40 4. Verificación de la firma digital múltiple.
A continuación se describe más detalladamente cada una de las fases:
1. Generación de claves
45 En primer lugar, deben generarse la clave de T y después las claves de los firmantes. Las etapas para generar la clave de T son las siguientes:
1. T elige dos números primos grandes p y q, que deben cumplir las siguientes condiciones:
50 p=u1 —r—p1+1,
q=u2 —r—q1+1,
55 donde r, p1, q1 son números primos y u1, u2 número enteros pares, cuyo máximo común divisor (mcd) es
mcd(u1, u2) = 2,
es decir, u1 = 2 —v1 yu2 = 2— v2. 60
2. T calcula
n = p —q,
E12722319
30-09-2015
φ(n) = (p–1)(q–1) =u1— u2 —r 2 —p1 —q1,
λ(n) = mcm(p–1, q–1) = 2 v1 —v2 —r—p1 —q1,
5 donde mcm representa el mínimo común múltiplo, φ(n) es la función de Euler y λ(n) es la función de Carmichael. Para garantizar la seguridad del protocolo, el tamaño de r, es decir, su longitud de bits, debe ser suficientemente grande para hacer computacionalmente irresoluble el problema de logaritmo discreto en subgrupo (SDLP), con orden r de los enteros módulo n, Z*n.
10 3. A continuación, T elige un número entero α imagen2Z*n con orden multiplicativo r, módulo n y que cumpla la condición
mcd(α, φ(n)) = mcd(α,u1 —u2 —r 2 —p1 —q1) = 1. Siendo Sr el subgrupo de Z*n generado por α. La obtención del generador α puede llevarse a cabo de manera 15 eficaz, es decir, en un tiempo polinomial, simplemente siguiendo el lema 3.1 de [Sus09].
En realidad, según este lema, la primera etapa es determinar un elemento g imagen3Z*n cuyo orden es λ(n). El procedimiento consiste en elegir un elemento g imagen4Z*n y en verificar que g elevado a todos los posibles divisores de λ(n), módulo n, es diferente de 1 en todos los casos. Este procedimiento es rápido ya que la factorización de
20 λ(n) se conoce y solo tiene unos pocos factores primos, de modo que la lista de sus divisores puede calcularse fácilmente. En caso de que el elemento elegido aleatoriamente no satisfaga esta condición, debe elegirse otro y repetirse el procedimiento. Una vez determinado el elemento g con orden λ(n), la siguiente etapa es calcular el elemento
α = g2v1.v2.p1.q1(mod n)
25
4. T genera un número secreto aleatorio s en Sr y calcula
β=αs (mod n). 30
5. Los valores (α, r, β, n) se hacen públicos, mientras que T mantiene los valores (p, q,s) en secreto.
Aunque el factor r de p–1 y q–1 se conoce y n es el producto de dos primos, p y q, actualmente no hay ningún algoritmo eficaz que pueda calcular los dos factores de n. 35 Las etapas seguidas por T para generar las claves de los firmantes son:
1. T determina su clave privada generando aleatoriamente cuatro números enteros 40 a0, b0, c0, d0 imagen5Zr.
2.
T obtiene la clave pública común para todos los firmantes calculando
3.
A partir de las expresiones anteriores, T determina
imagen6
imagen7
Por tanto, tanto P como Q son elementos del subgrupo Sr; es decir, existen números enteros h, k imagen8Zr, que 55 satisfagan
h =(a0+ s — b0) (mod r),
k =(c0+ s — d0) (mod r). 60
4. T determina la clave privada para cada firmante Fi imagen9G, con i = 1, �, t, generando cuatro número enteros para
E12722319
30-09-2015
cada uno de ellos, ai, bi, ci, di ∈ Zr , 5 de modo que los firmantes compartirán la misma clave pública (P, Q). Por tanto, para los valores de i = 1, �, t, deben cumplirse las siguientes dos condiciones Zr, h =(ai + s — bi) (mod r), 10 k =(ci + s — di) (mod r),
o de manera equivalente
ai =(h – s — bi) (mod r), (1) 15 ci =(k – s — di) (mod r). (2)
Por tanto, puesto que T conoce los valores s, h y k, determina t claves privadas para los firmantes Fi simplemente generando t pares de números aleatorios bi, di imagen10Zr y entonces, calculando los valores correspondientes ai, ci imagen11Zr 20 según las ecuaciones anteriores (1) y (2).
Una vez que T ha calculado las claves privadas, las distribuye de manera segura a los firmantes.
2. Verificación de claves
25 Para verificar que la clave de T es correcta, cada firmante, Fi imagen12G, i = 1, �, t, solo tiene que comprobar si:
α ≠ 1 (mod n),
30 αr = 1 (mod n).
Además, cada firmante debe comprobar si la clave pública conocida corresponde a su clave privada. Para ello, cada firmante solo tiene que verificar si se cumplen estas dos ecuaciones siguientes
imagen13
Para realizar la firma digital múltiple, se consideran dos escenarios, dependiendo de si la tercera parte de confianza 40 T colabora con el grupo de firmantes o no.
El primer caso, concretamente, cuando la firma múltiple se realiza con la colaboración de T, es más rápido, más eficaz y seguro que el segundo.
45 3a. Firma digital múltiple realizada con la colaboración de T
En este protocolo (véase la figura 3), cada uno de los firmantes realiza su firma particular para el resumen del mensaje, m, y la envía, de manera segura, a T, que se encarga de realizar la firma múltiple. Para ello, en primer lugar debe verificar la validez de todas las firmas recibidas y después sumarlas todas, módulo r.
50
1. Cada firmante Fi imagen14G, i = 1, �, t, calcula su firma como sigue:
fi = ai + ci — m (mod r), 55 gi = bi + di — m (mod r).
2.
El firmante Fi envía, de manera segura, su firma a T.
3.
T verifica la validez de cada una de las firmas recibidas comprobando si
E12722319
30-09-2015
4. Una vez verificadas todas las firmas, T calcula la firma múltiple para el documento m,(f, g), simplemente sumando todas las firmas parciales:
f =Σi=1, �, t fi (mod r), 5 g =Σi=1, �, t gi (mod r).
5. Finalmente, T publica (f, g) como la firma múltiple de G para m. 10 3b. Firma digital múltiple realizada sin la colaboración de T Es posible realizar la firma múltiple de m sin la colaboración de T, pero en este caso el procedimiento no es tan directo como el anterior (véase la figura 4). En este procedimiento cada firmante firma la firma del anterior, de modo que es necesario difundir las firmas parciales entre el grupo de firmantes y establecer un orden en el grupo de 15 firmantes para evitar posibles ataques por un firmante o una conspiración de varios firmantes. Cuando T colaboraba para realizar la firma múltiple, las firmas parciales podían realizarse fuera de línea, es decir, cada firmante podía realizar su firma en cualquier momento sin necesidad de que todos ellos estén conectados al mismo tiempo. Para el presente caso, todos los firmantes deben estar conectados simultáneamente y la firma se
20 realiza en un solo acto. No hay necesidad de esperar al cálculo de la firma de cada firmante.
Sea G ={F1, �, Ft} el grupo de firmantes en un orden fijo arbitrario.
En este caso, en lugar de ser la tercera parte de confianza la que verifica la firma de todos los firmantes, cada
25 firmante verifica por sí mismo la firma del firmante previo. Después realiza su propia firma y la suma a la firma recibida. Más precisamente, el procedimiento es el siguiente: 1) El primer firmante, F1, realiza su firma para el resumen de un mensaje dado, m, calculando 30 f1= a1+ c1— m (mod r), g1= b1+ d1— m (mod r) y envía (f1, g1) al grupo de firmantes. 35 2) El segundo firmante, F2: a) Verifica la firma de F1 comprobando si
imagen15
40
b) Calcula la firma parcial acumulada para el mensaje, calculando f2= f1+ a2+ c2— m (mod r)= a1+ a2+(c1+ c2) m (mod r), 45 g2=g1+ b2+ d2— m (mod r)= b1+ b2+(d1+ d2) m (mod r). c) Envía (f2, g2), como la firma parcial acumulada al grupo de firmantes. 3) El firmante F3 recibe la firma parcial (f2, g2) y
50
a) Verifica la firma parcial de F2 comprobando si
55 b) Calcula su propia firma parcial acumulada para el mensaje, calculando f3= f2+ a3+ c3— m (mod r)= a1+ a2+ a3+(c1+ c2+ c3) m (mod r), g3= g2+ b3+ d3— m (mod r)= b1+ b2+ b3+(d1+ d2+ d3) m (mod r).
60
c) Envía (f3, g3) al grupo de firmantes como su firma parcial. i) El firmante Fi usa la firma parcial de Fi–1, (fi–1, gi–1), y
E12722319
30-09-2015
a) La verifica, comprobando
imagen16
5
b) Calcula su firma parcial acumulada para el mensaje, calculando
fi = fi–1 + ai + ci — m (mod r) = a1 + + ai + (c1 + + ci) m (mod r),
10
gi = gi–1 + bi + di — m (mod r) = b1 + + bi + (d1 + + di) m (mod r).
c) Envía (fi, gi) al grupo de firmantes.
15
t) El último firmante, Ft a) Verifica la firma parcial de Ft–1 comprobando si
imagen17
20 b) Calcula su firma parcial acumulada para el mensaje, calculando ft = ft–1 + at + ct — m (mod r)= a1+ + at +(c1+ + ct) m (mod r), gt = gt–1 + bt + dt — m (mod r)= b1+ + bt +(d1+ + dt) m (mod r).
c) Publica la firma múltiple para m:(f, g)=(ft, gt).
25 La condición que debe satisfacer la firma parcial del firmante Fi–1 llevada a cabo por el firmante Fi se cumple puesto que:
imagen18
30 La verificación de todas las firmas parciales acumuladas realizada por cada uno de los firmantes (salvo por el primero) es obligatoria: ningún firmante debe firmar un mensaje sin haber comprobado la validez de la firma realizada hasta ese momento. Haciendo esto y dado que todos los firmantes son honestos, en la mayoría de los casos, se evitan verificaciones adicionales. En realidad, cada firmante puede actuar como el verificador y puede verificar la firma múltiple usando la firma múltiple y la clave pública común puesto que son conocidas por todos los
35 firmantes.
Si o bien la firma múltiple final o bien cualquiera de las firmas parciales acumuladas no ha satisfecho una o más pruebas de verificación, se sabrá que, al menos, uno de los firmantes ha falsificado su firma o que ha tenido lugar algún tipo de conspiración entre varios firmantes. El motivo por el que todas las firmas parciales acumuladas deben
40 difundirse a todo el grupo es para conocer exactamente dónde ha sucedido la falsificación. En ese momento, el problema será decidir qué firmante es el falsificador. Puesto que todo el grupo conoce las firmas parciales, la única tarea que hay que realizar es restar pares de firmas consecutivas y verificar la firma del firmante correspondiente.
La difusión de las firmas parciales dentro del grupo de firmantes compensa mutuamente las ventajas y desventajas,
45 ya que, por ejemplo, cualquier firma parcial acumulada se verifica solo por un firmante, no por todos. Además, la firma del último firmante no se verifica por ninguno de los firmantes restantes y el primer firmante envía su firma
E12722319
30-09-2015
directamente, sin que haya sido sumada a otra.
Es importante señalar que las firmas múltiples obtenidas a partir de los dos procedimientos explicados, con o sin la colaboración de T, coinciden. Por tanto, la verificación de la firma múltiple del primer procedimiento se aplica 5 también al segundo.
4. Verificación de la firma múltiple Sea (f, g) una firma digital múltiple para un resumen de un mensaje, m, realizada por el siguiente grupo de t 10 usuarios: G ={F1, �, Ft}. Para verificar la validez de tal firma el procedimiento es el siguiente, independientemente de si la firma se realizó con
15 o sin la colaboración de la tercera parte de confianza. La firma múltiple del grupo G, con t miembros, para m es válida si se cumple la siguiente condición
imagen19
En realidad, es suficiente con tener en cuenta que
imagen20
25 El diseño global para la arquitectura del procedimiento propuesto en esta invención se muestra en la figura 5. Ventajas de la invención: Puede verse que tanto el procedimiento de verificación de la firma múltiple como las verificaciones de las firmas
30 parciales son similares al procedimiento usado en el esquema clásico de ElGamal ([ElG85], [FGHMM04]). Este hecho aumenta la confianza en la seguridad de esta propuesta. No obstante, esta similitud no es una equivalencia, ya que el esquema de esta invención es nuevo y no sigue los mismos patrones que otros esquemas ya publicados.
De hecho, en esta invención, la firma se verifica comprobando si se cumple la siguiente ecuación: 35 αf —βg (= αf — (αs)g )¿=? P — Qm (mod n). Sin embargo, la verificación de firma en el esquema de ElGamal usa la siguiente ecuación
40 (αa)r — (αh)s ¿=?αm (mod p). En ambas expresiones, todos los parámetros los conoce el verificador de la firma; y m, en ambas expresiones, es el resumen del mensaje cuya firma debe verificarse.
45 La similitud de ambas verificaciones reside en el hecho de que en ambas expresiones el objetivo es comprobar una igualdad usando el resumen del mensaje como el exponente de un parámetro público. Ventajas adicionales del presente esquema son:
E12722319
30-09-2015
1.
La longitud de la firma es siempre la misma, independientemente del tamaño del mensaje o del número de firmantes. Además, la firma es corta, ya que el par (f, g) son dos elementos del subgrupo Sr de Z*n.
2.
El tiempo de cálculo de todas las operaciones es polinomial.
5 3. Si la tercera parte de confianza participa en el protocolo, cada firmante calcula su firma por su cuenta; no se espera que los firmantes estén en línea al mismo tiempo. Una vez que T ha recibido todas las sumas parciales, determinará la firma múltiple.
4. Además, cuando T colabora en el protocolo, no hay obstáculo alguno para añadir nuevos firmantes al grupo original de firmantes en cualquier momento sin tener que realizar todo el protocolo una vez más. La única tarea
10 que los recién llegados tienen que hacer es calcular sus correspondientes firmas y enviarlas a T. Después, T verificará estas firmas y calculará la nueva firma múltiple sumando las nuevas firmas a la firma múltiple original.
5. Si el protocolo se realiza sin la colaboración de T, los firmantes deben estar en línea simultáneamente, de modo que la firma múltiple pueda realizarse en un solo acto. De esta manera no es necesario esperar a que todos los firmantes calculen, en un orden establecido, su firma parcial acumulada.
15 6. También es posible añadir nuevos firmantes al procedimiento cuando T no colabora sin tener que realizar todo el protocolo una vez más. En este caso los nuevos firmantes solo tienen que ordenarse aleatoriamente después del último firmante del grupo original y calcular sus firmas acumuladas usando la última firma conocida.
7. La verificación de la firma múltiple en ambos protocolos es muy simple y eficaz, ya que solo es necesario un cálculo. Este cálculo permite la validación de todas las firmas parciales de todos los miembros del grupo.
20 Seguridad de la firma múltiple
En caso de usar el protocolo en el que T colabora, no existe la posibilidad de que dos firmantes conspiren para generar una firma falsa ya que la firma múltiple la determina la tercera parte de confianza y ésta verifica en el 25 procedimiento que cada una de las firmas parciales corresponde a cada uno de los firmantes.
Si el protocolo se lleva a cabo sin la colaboración de T, una conspiración entre dos o más firmantes no es posible porque todos los firmantes participan en el protocolo y cada uno verifica la firma del firmante previo. Además, si cualquiera de los firmantes tuviese alguna sospecha de posibles conspiraciones o firmas falsificadas, podría verificar
30 todas y cada una de las firmas parciales porque todas las firmas parciales acumuladas se difunden a todos los miembros del grupo. De esta manera, pueden detectarse fácilmente tanto la falsificación como al culpable.
Por otro lado, ningún firmante puede determinar el valor secreto s elegido por T conociendo solo su clave privada y αs
la clave pública común. Debe señalarse que la determinación de s a partir de los parámetros α y β = (mod n) 35 implica el cálculo de logaritmos discretos en el subgrupo, Sr, de orden r, generado por α. Este hecho es imposible ya que r se eligió de tal manera que este problema fuese irresoluble en Sr.
Si dos, o más, firmantes, por ejemplo, Fi y Fj, conspiran para obtener el valor secreto s de T, pueden determinar sus correspondientes firmas parciales para un mensaje dado, (fi, gi)y(fj, gj), respectivamente. Puesto que se cumple la 40 siguiente ecuación
imagen21
pueden realizar el siguiente cálculo:
imagen22
50 Sin embargo, puesto que α es un elemento de orden r, se cumple la siguiente expresión: fi – fj = s (gj – gi) (mod r), (4) es decir, 55 s´ = s (mod r)=(fi – fj)(gj – gi)–1 (mod r). (5) No obstante, después de estos cálculos, los firmantes solo obtendrán el valor de s´= s (mod r) y no el valor real de
s. Por tanto, este tipo de ataque no afecta a la seguridad del protocolo.
60 Usando la misma hipótesis, si varios firmantes quieren forzar el sistema y calcular s firmando diferentes mensajes, elegidos por ellos mismos o aleatoriamente, intentando obtener más información sobre el protocolo y forzarlo, no
E12722319
30-09-2015
obtendrán más información que la obtenida al firmar un único mensaje.
En realidad, supóngase que dos firmantes, Fi y Fj, eligen dos mensajes diferentes, por ejemplo, m1 y m2, y calculan sus correspondientes firmas para cada uno de ellos. Sean (fi, gi)y(hi, ki) las firmas de Fi para tales mensajes, y sean (fj, gj)y(hj, kj) las correspondientes firmas de Fj.
En este caso, usando la expresión (3) para cada mensaje, se cumplen las siguientes ecuaciones:
imagen23
donde, tal como sucede en (4), puede obtenerse:
fi – fj = s (gj – gi) (mod r), 15 hi – hj = s (kj – ki) (mod r),
por tanto, tal como sucede en (3), el resultado es
20 s´ = s (mod r)=(fi – fj)(gj – gi)–1 (mod r)=(hi – hj)(kj – ki)–1 (mod r)
y el valor obtenido para s´ es el mismo que el obtenido cuando se usó solo un mensaje.
Aplicaciones de la invención:
25 La invención puede aplicarse de manera satisfactoria cuando las firmas digitales son obligatorias pero varias entidades o personas deben firmar conjuntamente el mismo documento, mensaje, contrato, etc. Entre otras aplicaciones, pueden mencionarse las siguientes:
30 • Cualquier proceso que requiera una firma digital en el que esté implicado más de un firmante.
Firmas digitales en escenarios corporativos para firmar contratos entre empresas o entre una empresa y un cliente.
Firmas digitales entre empresas o usuarios y el gobierno y las administraciones públicas.
• Firmas digitales usadas para contratos con varios miembros. 35 • Firmas digitales para acuerdos o actas entre diferentes organizaciones.
Estas aplicaciones son muy útiles en entornos relacionados con estas actividades:
• Gobierno y administración pública (local, regional o nacional). En particular, es muy conocido que el Ministerio de
40 Comercio, Turismo e Industria español ha desarrollado una aplicación, denominada eCoFirma, para realizar y verificar firmas digitales. Además, este proyecto implementa la validación de archivos compuestos por firmas múltiples (http://oficinavirtual.mityc.es/javawebstart/soc_info/ecofirma/index.html). Esta aplicación usa certificados digitales, por tanto usa claves RSA. Como se sabe, estas claves son grandes y hacen que el archivo que contiene la firma aumente a medida que se añaden más firmas. Con nuestra propuesta, la firma múltiple puede
45 realizarse de manera más eficaz y por tanto el procedimiento de validación es más rápido, aunque las claves usadas tengan un origen muy diferente, tal como se mencionó anteriormente.
• Negocios. En este caso, es posible que diferentes empresas que pertenecen a un grupo específico, o que diferentes personas de un comité, usen esta propuesta para firmar de manera múltiple determinados documentos
o acuerdos a los que todos se acogen.
50 • Declaraciones juradas. La mayoría de los documentos legales requieren firmas de todos los miembros implicados (compraventa, hipoteca, divorcios, declaración de herencia, etc.), así como la certificación notarial del documento. Esta propuesta puede usarse como una aplicación fiable y segura para llevar a cabo estas clases de procesos.
• Banca. Al igual que con los procesos legales, los procedimientos bancarios, en muchas situaciones, requieren
55 firmar documentos en los que están implicadas varias partes, incluyendo la propia entidad bancaria. En este caso, también es posible usar esta invención.
• Militar. En entornos militares, es posible que algunas decisiones deban llevarse a cabo siguiendo un orden predeterminado dependiendo del rango de mando. En un determinado momento, cada una de las autoridades implicadas debe firmar una decisión determinada. Cada una de estas firmas podría llevarse a cabo usando la
60 firma múltiple de cada una de las partes implicadas, aunque en este caso debe establecerse un orden específico en todo el proceso.
• Internet. El creciente uso de Internet podría requerir que dos, o más partes, deban llevar a cabo un acuerdo online. Este compromiso puede realizarse usando nuestra propuesta de procedimiento digital electrónico. De esta
E12722319
30-09-2015
manera, todas las partes implicadas recurren a una tercera parte de confianza para llevar a cabo tal acuerdo.
• Autoridades de certificación. En general, son necesarias autoridades de certificación para emitir certificados digitales fiables, que cumplan con la norma X.509.v3. Este hecho implica el uso de grandes claves (como sucede con las claves RSA) y procedimientos de firma digital que, en caso de usar un software para realizar firmas
5 múltiples, presentan algunos problemas ya mencionados en el presente documento: un gran esfuerzo computacional, un aumento en el tamaño de los archivos a medida que aumenta el número de firmantes, etc. Con nuestra propuesta, estas autoridades de certificación podrían desarrollar sus propias aplicaciones y pasar a ser la tercera parte de confianza necesaria en la invención.
10 A continuación se describe una posible implementación del procedimiento de firma múltiple en su conjunto, comenzando con la generación de claves hasta la verificación de la firma, pasando por la generación de la firma. En esta implementación se usarán los tamaños de clave actualmente recomendados para evitar posibles ataques. Tales ataques pueden montarse si fuese posible factorizar el módulo n (problema de factorización de enteros), o si fuese posible resolver el problema de logaritmo discreto, ya sea en el subgrupo multiplicativo de números enteros módulo
15 n o en un subgrupo de orden r.
Supóngase que el grupo de firmantes consiste en t = 5 usuarios: G ={F1, F2, F3, F4, F5} yque T es la tercera parte de confianza.
20 Generación de claves
Tras las etapas mencionadas en las secciones anteriores, T genera su propia clave privada y la clave pública. Para mostrar un ejemplo que puede usarse en aplicaciones prácticas, con garantías de seguridad, se ha generado un número r con 192 bits, que hace que el problema de logaritmo discreto sea irresoluble en un subgrupo de orden r.
25 Además, se han generado los números primos pyq para tener, aproximadamente, 512 bits cada uno, lo que significa que n tiene aproximadamente 1024 bits. Este tamaño es suficientemente grande para garantizar su seguridad frente a los ataques de factorización durante un tiempo razonable (los dígitos de cada número se han separado en grupos de 10 para facilitar su legibilidad).
30 Los valores calculados son los siguientes:
u1 = 74 = 2— 37,
u2 = 188 =2 — 94, 35 r = 4280023136 1972361770 9720134208 9944684948 9050016803 52659163,
p1 = 3098365935 5115484298 6754567228 9635523537 4615761798 4830977826 9780185513 2773111664 9369523991 95821,
40 q1 = 1520450525 2113540207 5164722445 6778025701 0592684151 0042773032 3583726574 4664496833 3500176742 76217,
p = 9813197637 4121676342 6568482314 0310918044 3735395146 3165527063 6735923149 3320377492 45 6066484931 1740863445 7483957527 4926886593 9416106694 0401463789 3848791487 8903,
q = 1223421923 9653928573 7921720553 5181885769 8744000443 3360186341 6722487366 9987835834 7336009802 3419921079 1174748161 9489598922 7394318308 0189542960 9232557889 57749,
50 n = 1200568113 3815441777 9200008036 6880591092 5122610186 1101012447 6894157975 4465649221 2596080380 9123496642 1067708087 9742404316 7621962457 4759824948 7705927686 2918453404 3641462423 0810501474 4219629870 8072023173 2433241319 0597257452 8032813795 4341600436 0856910403 2445755423 0802903516 3200102347 0407173383 4836375827 918469347,
55 φ(n) = 1200568113 3815441777 9200008036 6880591092 5122610186 1101012447 6894157975 4465649221 2596080380 9123496642 1067708087 9742404316 7621962457 4759824948 7705927686 2918232930 1953755813 4602443617 5434708573 0497711419 2475273645 1549217844 8350881808 0757606170 2561451002 5022063108 6888205287 5617968754 1429750414 5496514084 214632696,
60 λ(n) = 1402525261 1697779776 1246015561 0377785768 6729617252 9437752774 8325801441 1744936419 7360621133 0844851766 7090293566 1320231059 3956741493 0846169277 4865387347 5469537220 7724643327 9875093536 1891321645 6744284572 2113021501 6365721481 5842212697 6943090932 1704533099 6.
E12722319
30-09-2015
A continuación, T determina un elemento g del grupo de los números enteros módulo n, Z*n cuyo orden es λ(n), y entonces calcula el elemento, α ∈ Z*n de orden r.
g = 6717842480 6844949028 2650889244 7341097607 4856794135 4583987170 7599944781 2359090515
5 8314497447 7912737103 9877888876 4046534433 0747123418 0588943781 6284997792 9837297897 4063898679 2643451640 5737585977 8744839425 8032592210 1563318039 7169841482 5698356635 9188997629 5351471211 3905774450 1739771466 4650268641 0946248241 08211637, α = 8220765701 6677161639 2295645083 3786098404 5377364917 3263164161 5842095460 8347176795 8314383910 6838300087 8332450440 8079227722 7829626715 4492401350 5177874046 3160709427
10 8939487852 8737556254 2790192185 4409743264 1912537776 6579916297 4553776942 1764040414 7985455200 6834952531 2224875762 4602378529 0612313367 0589148641 54862251.
Entonces, T genera un número secreto s ∈ Sr. Para lograr esto, necesita generar un número aleatorio, z, en el intervalo [1, r] y calcular s =αz (mod n). Entonces, determina el elemento β: 15 z = 2562266773 7774597450 4409468429 7834074901 8000412016 9914173,
s = 4753261714 1928251118 2743629876 4391793367 2307333076 1603563912 5002000524 9060497658 0824242118 6704298946 3445895108 4404897626 6689329111 3557924664 5307037629 8989659634 20 5807828772 4429722874 3556504143 8852477027 0325311761 9225951212 8994160952 8446681790 9094409361 4867349016 1812858607 1648136904 8090599371 8575649900 69295616,
β = 4861935264 2803079954 6555178384 8192834398 3164492398 1652625442 7161959668 1467074572 8858845443 7528030493 1407985056 2750859231 2565714340 0369700824 6078908252 2563853007 25 1595785428 4460245931 4579818936 4632592036 1993827761 2083044887 0729245762 1484480929
0382280230 6144704709 2769342983 0689033301 5305777214 2718955708 68985223. T calcula su clave privada, a0, b0, c0, d0 ∈ Zr y la clave pública, (P, Q), que compartirán todos los firmantes del grupo
G:
30 a0 = 3796851234 6569680283 3338368391 5365556062 4833209082 53580661,
b0 = 2591850459 9367460902 5934873820 3760658099 0333592083 17194694,
c0 = 1518925798 4392236395 1016813551 4526953578 9549887870 12160497, 35 d0 = 3795856474 1095936126 3365200938 2597076303 2769773305 51257252,
P = 8319958649 6056447734 7328052772 9933714896 8407194844 8369500960 5176404651 5164701887 3220925662 9019150287 7627255992 0904205949 0852478635 0690085650 7726157268 1634089222 40 5831822786 0354912705 0697911594 1772574866 2925316237 6241224905 7755828693 7646145188 0473447052 8492011177 6049627590 7768935677 1530034818 3540964671 99575149,
Q = 7646114260 2099407040 5307511791 2284288636 2591565615 1338741603 2204187548 9954259612 1452554504 1316398658 6916773912 5040898369 8517070596 9516952757 9781255613 9956857784 45 9279960920 3809990561 1580294365 3546145623 3432930343 3600377178 5723369168 1634251649 1476315642 6634673934 9718641568 1411906770 6077428431 1364467438 92098833.
A continuación, T difunde los valores (α, β, n, r).
50 La siguiente etapa es el cálculo de las claves privadas de los firmantes del grupo G. Para lograr esto, T calcula, en primer lugar, los siguientes valores:
h = 3872871254 9788136665 1132678495 1408621258 8355187161 47094974,
55 k = 9595184946 6557841042 7041038895 8525680100 0947749031 804377.
Finalmente, T genera los valores aleatorios bi, di ∈ Z*r para i = 1, �, 5, y determina los correspondientes valores para ai y ci. De esta manera, obtiene las 5 claves privadas, que se distribuirán de manera segura a cada uno de los firmantes del grupo:
60 (a1, b1, c1, d1) = (3283241757 5870636656 2148739413 6347233920 8366198197 35436378, 1151430213 9289655133 5986558470 5215666832 7514688545 71831717, 3839753842 7757266331 6697562043 9112177778 0738242539 93302939, 2403125912 8894003222 9570075762 6023463547 5329056797 71114669),
E12722319
30-09-2015
(a2, b2, c2, d2) = (1550178576 4794736629 8920233691 3661760348 7403838961 45128686, 1563760386 7728655548 8657603181 0647710782 2162854443 65985785, 6103724830 5688795750 4070736808 6412512413 3278352318 4958155, 1759919831 6288861490 4411691354 5080836678 8884940065 70680177), (a3, b3, c3, d3) = (2791564021 0033574126 8721638070 1589015898 1812242310 5344330, 6677309778
5 5621420138 9539159254 2346765657 8489201524 0252392, 1221691357 9545259603 5141749286 9077438598 0549008717 28371300, 4095493946 8040799465 7837334005 8468133920 9532706455 00497958), (a4, b4, c4, d4) = (2453365078 9361925247 4551356603 8117805834 4499954214 11351773, 6930834099 0325869370 2436425339 9961527746 8907567771 7562893, 2396464971 9220531648 9542977954
10 4179966718 7496705898 02476593, 3647109711 1114185126 8934154780 7991224353 9039657962 55314516), (a5, b5, c5, d5) = (2814663960 7597908778 4976941814 3370387434 4440465417 57439916, 3435450655 2240480352 2565604258 5579327971 4569713507 39009618, 4168673880 1586125932 7609156104 2565600095 2678283105 60380425, 1821609138 4217289729 1499706890 6952954417 7710311415
15 86835967).
Verificación de claves
Para verificar la clave de T y la clave común de todos los firmantes, simplemente es necesario que todos ellos 20 comprueben las ecuaciones
α ≠ 1 (mod n),
α r = 1 (mod n), 25
imagen24
30 lo cual es casi inmediato. Generación de la firma múltiple con la colaboración de T Supóngase que el mensaje que va a firmarse está almacenado en un archivo, cuyo contenido es el siguiente (es un
35 fragmento de “El Quijote”):
“En esto, descubrieron treinta o cuarenta molinos de viento que hay en aquel campo, y así como don Quijote los vio, dijo a su escudero:
40 La aventura va guiando nuestras cosas mejor de lo que acertáramos a desear; porque ves allí, amigo Sancho Panza, donde se descubrieron treinta, o poco más desaforados gigantes, con quien pienso hacer batalla y quitarles a todos las vidas, con cuyos despojos comenzaremos a enriquecer, que ésta es buena guerra, y es gran servicio de Dios quitar tan mala simiente de sobre la faz de la tierra.
45 ¿ Qué gigantes ? dijo Sancho Panza.
Aquellos que allí ves respondió su amode los brazos largos, que los suelen tener algunos de casi dos leguas.
Mire vuestra merced respondió Sanchoque aquellos que allí se parecen no son gigantes, sino molinos de 50 viento, y lo que en ellos parecen brazos son las aspas, que volteadas del viento, hacen andar la piedra del molino.”
El cálculo de su resumen usando la función SHA1 proporciona el siguiente valor de 160 bits, siendo sus expresiones hexadecimal y decimal, respectivamente:
55 m = 7b 30 e0 ac a8 c5 7b 09 0a cb a4 b0 54 38 b7 a1 0c d0 41 f3 = 7032958724 8581323731 3907950135 0552221954 30113779.
Las firmas parciales de cada uno de los 5 firmantes son las siguientes:
60 (f1, g1) = (2072061490 3529681837 0518359522 5737119748 8834793544 63211454, 3424899271 6561622167 2309350509 1899483096 2204248546 1401791),
E12722319
30-09-2015
(f2, g2) = (7519865574 6123920960 8321708870 7222592072 2194208225 5244963, 3052287160 9193339307 3261388288 7970269665 4298411495 82863325),
(f3, g3) = (3035127013 8473367395 5815130273 0222450081 2709055452 62584542, 3343996361 8263990970 5 5373048282 9321275620 4171100823 79165477),
(f4, g4) = (5045916079 6959772237 4311181991 8729548876 2656407924 8876843, 2222053057 4350855533 1345730712 8312259343 4626990198 61867838),
10 (f5, g5) = (2569158690 2819158389 3813867008 1064366690 7818627298 94259816, 3005227651 1941091704 8712925875 3266438452 3528620588 04923843).
T verifica la firma de cada uno de los firmantes comprobando que cada firma satisface la siguiente ecuación:
15
imagen25
A partir de las firmas anteriores, T determina la firma múltiple simplemente sumando todas ellas entre sí, módulo r.
(f, g) = (3728790875 1858533998 9703774719 7297807179 7475043041 8859292, 3406007886 1460716190 20 6483759792 8170821493 4745514353 84903948).
Generación de la firma múltiple sin la colaboración de T
En caso de que T no colabore y suponiendo que el mensaje que va a firmarse es el mismo que antes, el cálculo de 25 cada una de las firmas parciales acumuladas proporciona los siguientes resultados.
La firma de F1 es:
(f1, g1) = (2072061490 3529681837 0518359522 5737119748 8834793544 63211454, 3424899271 6561622167 30 2309350509 1899483096 2204248546 1401791).
La verificación de la firma de F1 llevada a cabo por F2 es correcta:
P — Qm (mod n) = 1170109731 2819367894 2005216580 6494377952 0636567548 9262094548 8344339052
35 7421432596 8875335205 2402155197 2230378307 2371932777 1738710426 2768241265 6183149313 3478950938 7479706527 9175557453 9751639118 0565551090 7789905395 4819196663 7323682277 9020280066 1028233179 3869192910 1434425082 3384981457 9716434249 5003307128 728028411.
La firma parcial acumulada de F2 es:
40 (f2, g2) = (2824048047 8142073933 1350530409 645937895 6105421436 718456417, 3394777088 0849501524 0492323339 7160217975 0518836350 44265116).
La verificación de la firma de F2 llevada a cabo por F3 es correcta:
45 P2— Q2m (mod n) = 7450100059 1091930946 2501858785 0941187993 2537915629 2584859948 2097737510 5853453621 2291364319 8207733759 5107023683 8537744090 0352638596 6504088919 1070451647 0331532795 8444989461 6206800852 4483586001 3000717481 6710298328 4937496631 1635361223 1293962768 8337804042 4332811755 2543722126 3844271970 1015657563 2043360173 11602864.
50 La firma parcial acumulada de F3 es:
(f3, g3) = (1579151925 4643079557 7445526473 6737144088 4713253016 28381796, 2458750313 7141130723 6145237413 6536808646 5639920370 70771430). 55 La verificación de la firma de F3 llevada a cabo por F4 es correcta:
P3— Q3m (mod n) = 1082550119 8844366296 9941799029 9216293849 1473245559 8632411906 1624560875 2927058733 8646774165 2669903997 4431524996 7382651963 1695679541 3626062206 6708356175 60 6861427098 3545735602 5434248163 0193576555 6718878697 5260754944 4570751541 8377058742 3008072805 0382838655 9480158601 5234920504 3658404027 6285123608 4428151260 693636413.
La firma parcial acumulada de F4 es:
E12722319
30-09-2015
(f4, g4) = (2083743533 4339056781 4876644672 8610098976 0978893808 77258639, 4007802349 5196244857 7708339174 9043830411 2168937657 9980105).
La verificación de la firma de F4 llevada a cabo por F5 es correcta:
5 P4— Q4m (mod n) = 2709868377 7138928608 4769512938 6848964463 7670022794 1393921794 4877807748 7124069046 1975743029 9505734207 6216783854 6104882998 0222474430 8776847832 3556946739 5710850579 9846374769 1955854682 9555230522 0066146680 9121213039 1802059312 0565937216 9390100135 5015555941 6181673016 9769298446 6748808181 1849405818 8552528092 36031649.
10 La firma parcial acumulada de F5, que coincide con la firma múltiple de todo el grupo, es:
(f, g)=(f5, g5) = (3728790875 1858533998 9703774719 7297807179 7475043041 8859292, 3406007886 1460716190 6483759792 8170821493 4745514353 84903948). 15 Verificación de la firma múltiple
Para verificar la validez de la firma múltiple anterior si haya colaborado T o no, cualquier verificador que conozca el mensaje, m, el número de firmantes y la clave pública, (P, Q), no tiene más que comprobar la siguiente ecuación
20
imagen26
lo cual es inmediato, ya que ambos valores son
25 1170109731 2819367894 2005216580 6494377952 0636567548 9262094548 8344339052 7421432596 8875335205 2402155197 2230378307 2371932777 1738710426 2768241265 6183149313 3478950938 7479706527 9175557453 9751639118 0565551090 7789905395 4819196663 7323682277 9020280066 1028233179 3869192910 1434425082 3384981457 9716434249 5003307128 728028411.
30 Seguridad En caso de que dos firmantes cualesquiera, por ejemplo, F1 yF3, intenten conspirar para calcular el valor secreto, s, de T, unirían sus respectivas firmas, (f1, g1) y(f3, g3), de modo que se calcularía el siguiente valor
s´=(f1f3) (g3g1)–1 (mod r) = 2495841599 2675813433 1673611873 1109209990 5818069416 83953188, 35 pero este valor no es el valor real de s:
s = 4753261714 1928251118 2743629876 4391793367 2307333076 1603563912 5002000524 9060497658 0824242118 6704298946 3445895108 4404897626 6689329111 3557924664 5307037629 8989659634 40 5807828772 4429722874 3556504143 8852477027 0325311761 9225951212 8994160952 8446681790 9094409361 4867349016 1812858607 1648136904 8090599371 8575649900 69295616.
Si cualquier otro par de firmantes intentan llevar a cabo el mismo ataque, obtendrán el mismo valor de s´. Por tanto no se obtendrá ningún beneficio si hubiese más firmantes en la conspiración.
45 Finalmente, la misma clase de conspiración para firmas de diferentes mensajes tampoco proporcionaría ninguna mejora, porque el valor obtenido al firmar diferentes mensajes es el mismo una vez más.
Funcionamiento e implementación
50 El esquema propuesto para realizar firmas digitales múltiples se ha implementado como un Notebook de software Maple v.13 en un ordenador con un procesador Intel® Core™2 Quad CPU Q4900 a 2,66 GHz, con el sistema operativo Windows 7 de Microsoft con 64 bits y con una RAM de 4 GB.
55 El tiempo de cálculo necesario para cada una de las tareas depende, básicamente, de la longitud de las claves y del número de firmantes que participan en la ejecución de la firma múltiple.
Algunos ejemplos de tiempo de cálculo (en segundos) para las diferentes tareas, con diferentes entradas, se muestran en la siguiente tabla: 60
Tamaño (en bits) de r y n, respectivamente
128, 1024 192, 1024 192, 1024 192, 1024 256, 2048
Número de firmantes
5 5 15 50 10
Tiempo para la generación de claves
6,879 5,397 5,413 5,413 132,211
E12722319
30-09-2015
Tiempo para la verificación de claves
0,015 0,031 0,062 0,187 0,187
Tiempo de cálculo de la firma múltiple con la colaboración de una tercera parte de confianza
0,000 0,015 0,031 0,110 0,094
Tiempo de cálculo de la firma múltiple sin la colaboración de una tercera parte de confianza
0,000 0,015 0,047 0,140 0,093
Tiempo para la verificación de la firma múltiple
0,000 0,000 0,000 0,000 0,016
Como puede verse, la mayor parte del tiempo de cálculo se gasta en la fase de generación de claves, lo cual no es un inconveniente ya que una vez generadas las claves, pueden usarse durante un largo periodo de tiempo para firmar diferentes mensajes.
5 Como comentario final, los tiempos de cálculo anteriores pueden considerarse bastante grandes, ya que se ha usado el paquete computacional Maple v13. Como es de sobra conocido, Maple es un lenguaje interpretado, un hecho que afecta negativamente a los tiempos de ejecución. Para llevar a cabo una optimización de esta invención, es aconsejable desarrollar una implementación de hardware y/o software específica, usando las herramientas de
10 última tecnología más adecuadas.
Un experto en la técnica puede introducir cambios y modificaciones en las realizaciones descritas sin alejarse del alcance de la invención tal como se define en las reivindicaciones adjuntas.
15 Siglas y abreviaturas
DLP Problema de logaritmo discreto
RSA Criptosistema RivestShamirAdleman 20 SDLP Problema de logaritmo discreto en subgrupo
Referencias
25 [Abo07] S.J. Aboud, Two efficient digital multisignature schemes, Int. J. Soft. Comput. 2 (2007), 113117. [AA07] S.J. Aboud y M.A. AlFayoumi, A new multisignature scheme using reencryption technique, J. Applied Sci. 7 (2007), 18131817.
[BN06] M. Bellare y G. Neven, Multisignatures in the plain publickey model and a general forking lemma, 30 Proceedings of the 13th ACM conference on Computer and Communications Security (CCS’06), 390399, 2006, Alexandria, Virginia, EE.UU.
[DHM05] R. Durán Díaz, L. Hernández Encinas y J. Muñoz Masqué, El criptosistema RSA, RAMA, Madrid, 2005.
35 [Boy88] C. Boyd, Some applications of multiple key ciphers`, Lecture Notes in Comput. Sci. 330 (1988), 445467.
[ElG85] T. ElGamal, A publickey cryptosystem and a signature scheme based on discrete logarithm, IEEE Trans. Inform. Theory 31 (1985), 469472.
40 [FSNT09] H. Fujimoto, T. Suzuki, T. Nakayama, A. Takeshita, (NTT DoCoMo, Inc., Tokyo, JP), Multi signature verification system, electronic signature attaching apparatus, data addition apparatus, and electronic signature verification apparatus, patente estadounidense: US 7.627.763 B2, 1 de diciembre de 2009.
[FGHMM04] A. Fúster Sabater, D. de la Guía Martínez, L. Hernández Encinas, F. Montoya Vitini y J. Muñoz 45 Masqué, Técnicas criptográficas de protección de datos, RAMA, 3ª ed., Madrid, 2004.
[Gen10] C.B. Gentry (NTT DoCoMo, Inc., Tokyo, JP), Signature schemes using bilinear mappings, patente estadounidense: US 7.653.817 B2, 26 de enero de 2010.
50 [GR10] C.B. Gentry y Z.A. Ramzan (NTT DoCoMo, Inc., Tokyo, JP), Digital signatures including identitybased aggregate signatures, patente estadounidense: US 7.664.957 B2, 16 de febrero de 2010.
[HK89] L. Harn y T. Kiesler, New scheme for digital multisignature, Elect. Lett. 25 (1989), 10021003.
55 [He02] W.H. He, Weakness in some multisignature schemes for specified group of verifiers, Inform. Proc. Lett. 83 (2002), 9599.
[HCC98] S.J. Hwang, C.Y. Chen y C.C. Chang, An encryption/multisignature scheme with specified receiving
E12722319
30-09-2015
groups, Comput. System Sci. Engrg. 13, 2 (1998), 109112. [IN83] K. Itakura y K. Nakamura, A publickey cryptosystem suitable for digital multisignatures, NEC Res. Development 71 (1983), 18.
5 [KH90] T. Kiesler y L. Harn, RSA blocking and multisignature schemes with no bit expansion, Elect. Lett. 26 (1990), 14901491.
[KOKS09] Y. Komano, K. Ohta, S. Kawamura, y A. Shimbo (Toshiba Corp., Tokyo, JP), Multisignature method, apparatus, program, and system, patente estadounidense: US 7.496.759 B2, 24 de febrero de 2009.
10 [LY96] C.S. Laih y S.M. Yen, Multisignature for specified group of verifiers, J. Inform. Sci. Engrg. 12, 1 (1996), 143–152.
[MFM04] D.A. Modiano, L. Friseh, y D. Mouton (France Telecom, París, FR), Electronic group signature method 15 with revocable anonymity, equipment and programs for implementing the method, solicitud de patente estadounidense: US 2004/0260926 A1, 23 de diciembre de 2004.
[LWK05] J. Lv, X. Wang y K. Kim, Security of a multisignature scheme for specified group of verifiers, Appl. Math. Comput. 166 (2005), 5863.
20 [HMV04] D. Hankerson, A.J. Menezes y S. Vanstone, Guide to elliptic curve cryptography, SpringerVerlag, Nueva York, 2004.
[Men93] A.J. Menezes. Elliptic curve public key cryptosystems. Kluwer Academic Publishers, Boston, 1993.
25 [MOV97] A. Menezes, P. van Oorschot y S. Vanstone, Handbook of applied cryptography, CRC Press, Boca Raton, FL, EE.UU., 1997.
[NIST02] National Institute of Standards and Technology, Secure Hash Standard (SHS), Federal Information 30 Processing Standard Publication 1802, 2002.
[OO91] K. Ohta y T. Okamoto, Multisignature schemes based on the FiatShamir scheme, Lecture Notes in Comput. Sci. 739 (1991), 139148. [OO01] K. Ohta y T. Okamoto (Nippon Telegraph and Telephone Corporation, Tokyo, JP), Method and apparatus
35 for enbloc verification of plural digital signatures and recording medium with the method recorded thereon, patente estadounidense: US 6.212.637 B1, 3 de abril de 2001.
[Oka88] T. Okamoto, A digital multisignature scheme using bijective publickey cryptosystems, Commun. ACM Trans. Computer Systems 6 (1988), 432441.
40 [PPKW97] S. Park, S. Park, K. Kim y D. Won, Two efficient RSA multisignature schemes, Lecture Notes in Comput. Sci. 1334 (1997), 217222.
[PLL85] S.F. Pon, E.H. Lu y J.Y. Lee, Dynamic reblocking RSAbased multisignatures scheme for computer and 45 communication networks, IEEE Communications Letters 6 (2002), 4344.
[QX10] H. Qian y S. Xu, Noninteractive multisignatures in the plain publickey model with efficient verification, Inform. Proces. Letters 111 (2010), 8289.
50 [RSA78] R.L. Rivest, A. Shamir y L. Adleman, A method for obtaining digital signatures and publickey cryptosystems, Comm. ACM 21 (1978), 120126.
[Shi01] A. Shimbo (Kabushiki Kaisha Toshiba, Kawasaki, JP), Digital signature method using an elliptic curve, a digital signature system, and a program storage medium having the digital signature method stored therein, 55 patente estadounidense: US 6.088.798 A, 27 de marzo de 2001.
[SFH01] F.W. Sudia y P.C. Freund, S.T.F. Huang (CertCo Inc., Nueva York, US), Multistep digital signature method and system, patente estadounidense: US 6.209.091 B1, 27 de marzo de 2001.
60 [Sus09] W. Susilo, Short failstop signature scheme based on factorization and discrete logarithm assumptions, Theor. Comput. Sci. 410 (2009), 736744.
[TK02] K. Takaragi, H. Kurumatani (Hitachi, Ltd., Tokyo, JP), Digital signature generating/verifying method and system using public key encryption, patente estadounidense: US 6.341,349 B1, 22 de enero de 2002.
E12722319
30-09-2015
[WP95] M. Waidner y B. Pfitzmann, The dining cryptographers in the disco: Unconditional sender and recipient untraceability with computationally secure serviceability, Lecture Notes in Comput. Sci. 434 (1989), 690.
5 [WCW96] T.C. Wu, S.L. Chou, y T.S. Wu, Two IDbased multisignature protocols for sequential and broadcasting architectures, Comput. Comm. 19 (1996), 851856.
[Yen96] S.M. Yen, Cryptanalysis and repair of the multiverifier signature with verifier specification, Computers & Security 15, 6 (1996), 537544.
10 [YY05] E.J. Yoon y K.Y. Yoo, Cryptanalysis of ZhangXiao’s multisignature scheme for specified group of verifiers, Appl. Math. Comput. 170 (2005), 226229.
[ZW10] Y. Zhang, S. Wang, y X. Wang, Method for protecting security of digital signature documents of multiple 15 verifiers strongly designated by multiple signers, patente china: CN 101651541, 17 de febrero de 2010.
[ZX04] Z. Zhang y G. Xiao, New multisignature scheme for specified group of verifiers, Appl. Math. Comput. 157 (2004), 425431.
20 [MS10] Micali Silvio US 5638447 10 de junio de 1997.
[MS11] Micali Silvio US 5610982 11 de marzo de 1997.
[CJ97] Camenisch J. et al, Efficient group signature schemes for large groups, Advances in CryptologyCrypto 97. 25 Santa Barbara, 1721 de agosto de 1997.

Claims (8)

  1. REIVINDICACIONES
    1. Un procedimiento para una firma digital múltiple que comprende:
    5 i) generar, por una tercera parte de confianza (T), un conjunto de parámetros, su propia clave privada y una clave privada para cada firmante o miembro (F1, F2, ..., Ft) de un grupo de firmantes (G); ii) generar, por cada uno de dichos firmantes (F1, F2, ..., Ft), una firma parcial en un resumen (m) de un documento, o mensaje, (M) usando sus claves privadas; iii) generar una firma múltiple a partir de dichas firmas parciales; y
    10 iv) verificar, por un verificador, dicha firma múltiple; en el que el procedimiento comprende:
    determinar, por dicha tercera parte de confianza (T), una clave pública única y común para todos de dichos firmantes (F1, F2, ..., Ft) en (G), calculando dos números enteros (P) y (Q), en Zn, 15
    imagen1
    20 y determinar, por dicha tercera parte de confianza (T), claves privadas individuales de los firmantes (F1, F2, ..., Ft) del grupo de firmantes (G), asociadas a dicha determinada clave pública única y común, calculando (ai, bi, ci, di), para i = 1, ..., t, en el que:
    25 (a0, b0, c0, d0) son cuatro números enteros aleatorios que pertenecen a Zr que definen la clave privada de la tercera parte de confianza (T); (bi, di), para i = 1, ..., t, son t pares de números enteros aleatorios en Zr, y(ai, ci), para i = 1, ..., t, son t pares de números enteros en Zr que verifican las siguientes condiciones:
    30 ai = (h – s —bi) (mod r),
    ci = (k – s — di) (mod r);
    35 y h y k son dos números enteros secretos, en Zr, definidos por
    h= (a0+ s—b0) (mod r),
    k= (c0+ s—d0) (mod r), 40 y
    generar, por dicha tercera parte de confianza (T), un conjunto de parámetros (n, r, α, β, p, q, s) de modo que publica n, r, α y β y mantiene p, q y s secretas, donde 45
    n = p —q,
    p = u1— r — p1 +1y q = u2— r — q1 + 1 son dos números primos grandes, u1y u2 son dos números enteros pares, cuyo máximo común divisor (mcd) verifica 50 mcd(u1, u2) = 2,
    p1, q1, r, son números primos, α es un elemento reversible en el grupo de los enteros módulo n, Zn, con orden multiplicativo r, que verifica la 55 condición
    mcd(α, (p – 1)(q – 1)) = 1;
    β = αs (mod n)y 60 s es un número secreto aleatorio en el subgrupo generado por α.
  2. 2. Un procedimiento según la reivindicación 1, en el que cada firmante (F1,.Ft) calcula además, con la necesaria colaboración de la tercera parte de confianza (T), su propia firma, (fi, gi), para un hash (m) del mensaje (M) que viene
    24
    dada por: fi = ai + ci — m (mod r),
    gi = bi + di — m (mod r).
    5 y envía además, a cada firmante, dicha propia firma calculada, de una manera segura, a la tercera parte de confianza (T).
  3. 3. Un procedimiento de acuerdo con la reivindicación 2, que comprende verificar, por la tercera parte de confianza 10 (T), la firma calculada de cada firmante (F1, F2, ..., Ft) comprobando:
    imagen2
  4. 4. Un procedimiento de acuerdo con la reivindicación 3, en el que, tras una verificación válida de la firma calculada
    15 de cada firmante (F1, F2, ..., Ft), la tercera parte de confianza (T) calcula y publica además la firma digital múltiple corta, (f, g), del grupo (G) para el hash (m) del mensaje (M) que comprende además lo siguiente:
    imagen3
    20
  5. 5. Un procedimiento de acuerdo con la reivindicación 1, en el que el primer firmante (F1) además determina, sin la colaboración de la tercera parte de confianza (T), su propia firma parcial agregada (f1, g1) para el hash (m) del mensaje (M) donde:
    25 fi = a1+ c1— m (mod r),
    g1= b1+ d1— m (mod r).
    30 y la envía, de una manera segura, al grupo firmantes (F1, F2, ..., Ft).
  6. 6. Un procedimiento de acuerdo con la reivindicación 5, en el que cada firmante excepto el primero (F2, ..., Ft) verifica además, sin la colaboración de la tercera parte de confianza (T), la firma parcial agregada ((fi1, gi1), i = 2, ..., t) ya calculada por el firmante anterior, comprobando
    35
    imagen4
  7. 7. Un procedimiento de acuerdo con la reivindicación 6, en el que cada firmante excepto el primero (F2, ..., Ft)
    determina además, sin la colaboración de la tercera parte de confianza (T), su propia firma parcial agregada ((fi1, gi40 1), i = 2, ..., t) calculando
    imagen5
    45 y envía además dichas firmas parciales agregadas propias, excepto la del último firmante (Ft), de una manera segura, al grupo de firmantes (F1, F2, ..., Ft).
  8. 8. Un procedimiento de acuerdo con la reivindicación 7, en el que el último firmante (Ft) publica además, sin la
    50 colaboración de la tercera parte de confianza (T), su firma parcial agregada como la firma digital múltiple corta, (f, g), de todo el grupo de firmantes:
    (f, g)=(ft, gt).
    55 9. Un procedimiento de acuerdo con las reivindicaciones 4 u 8, en el que un verificador determina si la firma digital múltiple corta (f, g) del grupo (G) para el hash (m) del mensaje (M), se cumple la siguiente expresión:
    imagen6
    25
ES12722319.6T 2011-05-13 2012-05-09 Procedimiento para una firma digital múltiple Active ES2548838T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
ES201130777A ES2400894B1 (es) 2011-05-13 2011-05-13 Procedimiento para una firma digital múltiple
ES201130777 2011-05-13
PCT/EP2012/058583 WO2012156255A1 (en) 2011-05-13 2012-05-09 Procedure for a multiple digital signature

Publications (1)

Publication Number Publication Date
ES2548838T3 true ES2548838T3 (es) 2015-10-21

Family

ID=46146833

Family Applications (2)

Application Number Title Priority Date Filing Date
ES201130777A Withdrawn - After Issue ES2400894B1 (es) 2011-05-13 2011-05-13 Procedimiento para una firma digital múltiple
ES12722319.6T Active ES2548838T3 (es) 2011-05-13 2012-05-09 Procedimiento para una firma digital múltiple

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES201130777A Withdrawn - After Issue ES2400894B1 (es) 2011-05-13 2011-05-13 Procedimiento para una firma digital múltiple

Country Status (6)

Country Link
US (1) US9191214B2 (es)
EP (1) EP2707990B1 (es)
AR (1) AR086339A1 (es)
BR (1) BR112013029138A2 (es)
ES (2) ES2400894B1 (es)
WO (1) WO2012156255A1 (es)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10657523B2 (en) * 2013-08-16 2020-05-19 Arm Ip Limited Reconciling electronic transactions
US9722798B2 (en) * 2014-02-10 2017-08-01 Security Innovation Inc. Digital signature method
DE102015201161A1 (de) * 2015-01-23 2016-03-24 Siemens Aktiengesellschaft Verfahren zur Überprüfung der Integrität von Komponenten einer Datenverarbeitungsanlage, Datenverarbeitungsanlage sowie Komponente einer Datenverarbeitungsanlage
US10015016B2 (en) 2015-01-28 2018-07-03 Bank Of America Corporation Method and apparatus for maintaining a centralized repository that stores entitlement capability for authorized signatories
US11392955B2 (en) * 2015-05-20 2022-07-19 Ripple Luxembourg S.A. Temporary consensus networks in a resource transfer system
US10504080B2 (en) * 2015-09-14 2019-12-10 OX Labs Inc. Cryptographically managingtelecommunications settlement
CN106330462A (zh) * 2016-09-05 2017-01-11 广东省电子商务认证有限公司 一种支持多算法的pdf签名方法及系统
GB201707168D0 (en) * 2017-05-05 2017-06-21 Nchain Holdings Ltd Computer-implemented system and method
CN107370599B (zh) * 2017-08-07 2020-07-10 收付宝科技有限公司 一种远程销毁私钥的管理方法、装置和系统
US20200313856A1 (en) * 2019-03-29 2020-10-01 0Chain, LLC Systems and methods of blockchain platform for intermediaries and passwordless login
CN107872322B (zh) * 2017-11-02 2020-08-04 武汉理工大学 基于同态加密的数字签名协同生成方法及系统
CN110826091B (zh) * 2018-08-14 2022-05-06 珠海金山办公软件有限公司 一种文件签名方法、装置、电子设备及可读存储介质
CN109743166B (zh) * 2018-12-10 2023-06-23 普华诚信信息技术有限公司 多方签名生成方法及安全信息验证系统
US11374771B2 (en) 2019-03-08 2022-06-28 Ares Technologies, Inc. Methods and systems for implementing mixed protocol certificates
TWI695614B (zh) * 2019-03-13 2020-06-01 開曼群島商庫幣科技有限公司 多重密鑰授權的數位貨幣交易方法
US11601284B2 (en) * 2019-06-14 2023-03-07 Planetway Corporation Digital signature system based on a cloud of dedicated local devices
EP4091290A4 (en) * 2020-01-15 2023-10-11 Planetway Corporation DIGITAL SIGNATURE SYSTEM USING SCALABLE SERVERS
CN111314087B (zh) * 2020-02-11 2023-04-07 南京信息工程大学 基于代理重签名的电子文件前端控制方法
WO2021195219A1 (en) * 2020-03-24 2021-09-30 Ares Technologies, Inc Methods and systems for implementing mixed protocol certificates
CN111754233B (zh) * 2020-06-29 2023-11-07 兴唐通信科技有限公司 基于多方签名的电子支付方法和系统
CN114024680A (zh) * 2020-12-14 2022-02-08 北京八分量信息科技有限公司 一种多签共识架构中的多重签名方法
CN113225190B (zh) * 2021-02-08 2024-05-03 数字兵符(福州)科技有限公司 一种使用新难题的量子安全的数字签名方法
CN113158258B (zh) * 2021-03-31 2022-02-11 郑州信大捷安信息技术股份有限公司 一种基于椭圆曲线的协同签名方法、装置和系统
CN115442052B (zh) * 2022-08-30 2023-06-23 云海链控股股份有限公司 一种协同签名方法、系统、设备及计算机可读存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2904819B2 (ja) * 1989-08-25 1999-06-14 日本電信電話株式会社 ディジタル署名方式
US5825880A (en) 1994-01-13 1998-10-20 Sudia; Frank W. Multi-step digital signature method and system
US5610982A (en) * 1996-05-15 1997-03-11 Micali; Silvio Compact certification with threshold signatures
US5638447A (en) * 1996-05-15 1997-06-10 Micali; Silvio Compact digital signatures
US6088798A (en) 1996-09-27 2000-07-11 Kabushiki Kaisha Toshiba Digital signature method using an elliptic curve, a digital signature system, and a program storage medium having the digital signature method stored therein
JPH10133576A (ja) 1996-10-31 1998-05-22 Hitachi Ltd 公開鍵暗号方法および装置
US6212637B1 (en) 1997-07-04 2001-04-03 Nippon Telegraph And Telephone Corporation Method and apparatus for en-bloc verification of plural digital signatures and recording medium with the method recorded thereon
US7146500B2 (en) * 2001-11-14 2006-12-05 Compass Technology Management, Inc. System for obtaining signatures on a single authoritative copy of an electronic record
US7093133B2 (en) * 2001-12-20 2006-08-15 Hewlett-Packard Development Company, L.P. Group signature generation system using multiple primes
AU2003226413A1 (en) 2002-04-15 2003-11-03 Docomo Communications Laboratories Usa, Inc. Signature schemes using bilinear mappings
US7318155B2 (en) * 2002-12-06 2008-01-08 International Business Machines Corporation Method and system for configuring highly available online certificate status protocol responders
FR2855343B1 (fr) 2003-05-20 2005-10-07 France Telecom Procede de signature electronique de groupe avec anonymat revocable, equipements et programmes pour la mise en oeuvre du procede
JP4390570B2 (ja) 2004-01-21 2009-12-24 株式会社エヌ・ティ・ティ・ドコモ 多段署名検証システム、電子署名付与装置、データ追加装置及び電子署名検証装置
JP4034743B2 (ja) 2004-01-23 2008-01-16 株式会社東芝 多重署名方法、装置、プログラム及びシステム
US7664957B2 (en) 2004-05-20 2010-02-16 Ntt Docomo, Inc. Digital signatures including identity-based aggregate signatures
CN101651541A (zh) 2008-08-14 2010-02-17 中华电信股份有限公司 网络用户身份验证系统与方法
US20130326602A1 (en) * 2011-02-22 2013-12-05 Hewlett-Packard Development Company, L.P. Digital Signatures

Also Published As

Publication number Publication date
AR086339A1 (es) 2013-12-04
US20140164765A1 (en) 2014-06-12
ES2400894A2 (es) 2013-04-15
EP2707990B1 (en) 2015-07-01
BR112013029138A2 (pt) 2019-09-24
ES2400894B1 (es) 2014-03-11
US9191214B2 (en) 2015-11-17
EP2707990A1 (en) 2014-03-19
ES2400894R1 (es) 2013-05-08
WO2012156255A1 (en) 2012-11-22

Similar Documents

Publication Publication Date Title
ES2548838T3 (es) Procedimiento para una firma digital múltiple
US8429408B2 (en) Masking the output of random number generators in key generation protocols
Chang et al. A threshold signature scheme for group communications without a shared distribution center
US9800418B2 (en) Signature protocol
ES2400895B1 (es) Método para realizar una firma digital de grupo
Khan et al. Analysis of asymmetric cryptography in information security based on computational study to ensure confidentiality during information exchange
CN104821880A (zh) 一种无证书广义代理签密方法
KR100989185B1 (ko) Rsa기반 패스워드 인증을 통한 세션키 분배방법
JP2019537349A (ja) 複合デジタル署名
Kuppuswamy et al. A new efficient digital signature scheme algorithm based on block cipher
Meshram Modified ID-based public key cryptosystem using double discrete logarithm problem
Elkamchouchi et al. An efficient proxy signcryption scheme based on the discrete logarithm problem
EP2395698A1 (en) Implicit certificate generation in the case of weak pseudo-random number generators
JP4307589B2 (ja) 認証プロトコル
Nithya et al. Survey on asymmetric key cryptography algorithms
Andreevich et al. On Using Mersenne Primes in Designing Cryptoschemes
Chen et al. Blockchain as a CA: A provably secure signcryption scheme leveraging blockchains
Sun et al. An improved proxy signature scheme based on elliptic curve cryptography
Rasslan et al. On the security of two improved authenticated encryption schemes
Ricci et al. Privacy-enhancing group signcryption scheme
Chandra Design of blind signature protocol based upon dlp
Chande et al. An elliptic curve based multi-signature scheme for wireless network
Tahat et al. A New Authentication Scheme Based on Chaotic Maps and Factoring Problems Check for updates
CA2892318C (en) Signature protocol
Tian et al. Secure ID-based proxy signcryption scheme with designated proxy signcrypter