ES2400895A2 - Método para realizar una firma digital de grupo - Google Patents

Método para realizar una firma digital de grupo Download PDF

Info

Publication number
ES2400895A2
ES2400895A2 ES201130779A ES201130779A ES2400895A2 ES 2400895 A2 ES2400895 A2 ES 2400895A2 ES 201130779 A ES201130779 A ES 201130779A ES 201130779 A ES201130779 A ES 201130779A ES 2400895 A2 ES2400895 A2 ES 2400895A2
Authority
ES
Spain
Prior art keywords
group
mod
signature
digital
party
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.)
Granted
Application number
ES201130779A
Other languages
English (en)
Other versions
ES2400895R1 (es
ES2400895B1 (es
Inventor
Luis HERNÁNDEZ ENCINAS
Jaime MÚÑOZ MASQUÉ
José Raúl DURÁN DÍAZ
Víctor GAYOSO MARTÍNEZ
Agustín MARTÍN MUÑOZ
Vïctor FENÁNDEZ MATEOS
David PRIETO MARQUÉS
Fernando HERNÁNDEZ ÁLVAREZ
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
Priority to ES201130779A priority Critical patent/ES2400895B1/es
Priority to PCT/EP2012/058578 priority patent/WO2012156254A1/en
Priority to ARP120101654 priority patent/AR086343A1/es
Publication of ES2400895A2 publication Critical patent/ES2400895A2/es
Publication of ES2400895R1 publication Critical patent/ES2400895R1/es
Application granted granted Critical
Publication of ES2400895B1 publication Critical patent/ES2400895B1/es
Withdrawn - After Issue 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

Método para realizar una firma digital de grupo. Comprende: i) generar, por una tercera parte de confianza (T), una clave privada para cada miembro (F1, F2, ..., Ft) de un grupo (G); ii) seleccionar aleatoriamente, dicha tercera parte de confianza (T), un miembro de dicho grupo (G) para que actúe como firmante encargado de firmar un documento digital (M) en nombre del grupo (G); iii) elaborar, dicho firmante, una firma digital de grupo usando su clave privada para firmar dicho documento digital (M); y iv) verificar dicha firma digital de grupo. El método comprende generar, por dicha tercera parte de confianza (T), una clave pública común para todos los miembros de dicho grupo (F{sub,1, F2, ..., Ft) y usar dicha clave pública común para realizar dicha verificación de la firma digital de grupo de la etapa iv).

Description

Método para realizar una firma digital de grupo
Campo de la técnica
La presente invención se refiere, en general, a un método para realizar una firma digital de grupo, en la que un miembro seleccionado de un grupo firma un documento digital en nombre del resto de miembros del grupo, y más particularmente a un método que comprende usar una clave pública común para verificar la firma digital de grupo.
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 (PKC), (véase [ElG85], [MOV97], [RSA78]). 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. Los procesos de cifrado y descifrado se indicarán, respectivamente, como Ek y Dk cuando se usa la clave k.
Los algoritmos, E y D, para cifrado y descifrado en protocolos de firma digital deben cumplir las siguientes condiciones:
1.
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,
Dd (Ee (M)) = Dd (c) = M.
2.
El cifrado de un mensaje M realizado con una clave privada Ed, seguido por su descifrado realizado con la correspondiente clave pública De debe tener como 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 funciones hash (véase [MOV97], [NIST02]). Estas funciones calculan un hash o resumen del documento, de modo que es este resumen lo que se firma en última instancia, en lugar del documento completo. Las funciones hash se indicarán como H(·) a lo largo del presente documento.
El procedimiento general para realizar la firma digital de un documento, M, sigue las siguientes etapas, tal como se muestra en la 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 de firma. El triplete (E, D, H) se conocerá públicamente.
2.
Generar las claves pública y privada, e, d, del usuario que va a firmar el documento. Las claves también pueden proporcionarse por una tercera parte.
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, d: Ed (m) = f.
5. Publicar el documento original y su correspondiente firma digital: (M, f). A su vez, el verificador de la firma digital:
1. comprueba la corrección de la firma del documento firmado usando el mensaje publicado, M, la firma digital, f, y la clave pública del firmante, e, de la siguiente manera: De (f) = De (Ed (m)) = m,
H(M) = m’, m’ ¿=? m.
El desarrollo y la simplicidad con respecto al uso de ordenadores y el acceso generalizado a Internet para los ciudadanos han conducido a la aparición de nuevos métodos de firma digital. Hoy en día es posible abordar problemas que no tenían solución en el pasado.
Uno de estos problemas es cómo permitir que un único usuario firme digitalmente un documento de tal manera que la firma se realice en nombre de un grupo previamente determinado de usuarios (al que pertenece el firmante). Este tipo de firma se conoce como firma de grupo o firma en nombre de un grupo.
Una firma de grupo es un protocolo de firma digital mediante el cual un miembro de un grupo de t firmantes,
G = {F1, F2, …, Ft},
firma un documento en nombre del resto de miembros del grupo (véase, por ejemplo, [ACJ00], [AM03], [BSZ05], [BBX04], [CL04], [CH91], [CHY05], [FC04], [NS04], [TW05]).
Estos esquemas de firma muestran algunas características notables:
1.
Sólo un miembro del grupo puede firmar de manera válida un documento o mensaje.
2.
El receptor del mensaje firmado puede verificar que la firma es una firma de grupo válida, es decir, que se ha llevado a cabo por un miembro legítimo del grupo. Sin embargo, el receptor no podrá determinar qué miembro particular del grupo realmente firmó el mensaje.
3.
Si se requiere (en caso de una disputa, por ejemplo), es posible dar a conocer al firmante, es decir, revelar qué usuario firmó realmente el mensaje.
Las firmas de grupo pueden considerarse una generalización de esquemas de autenticación mediante credenciales, mediante las que una persona demuestra que pertenece a un grupo particular. En particular, pueden considerarse como una extensión de los mecanismos de credenciales propuestos por Chaum ([Cha85]), y esquemas de autenticación de miembros ([OOK90], [SKI90]), en los que un miembro de un grupo puede convencer a un verificador de que pertenece a un determinado grupo sin revelar su identidad.
Existen varias propuestas para firmas de grupo, que usan una serie de primitivas criptográficas (por ejemplo, [CH91]). Algunas de estas propuestas necesitan una tercera parte de confianza (TTP), al menos para el proceso de inicialización. Otros esquemas, sin embargo, permiten a cualquier usuario crear el grupo al que elige pertenecer.
Por regla general, las firmas de grupo hacen uso de esquemas cuya seguridad se basa en problemas matemáticos computacionalmente irresolubles. Normalmente, tales problemas son el problema de factorización de enteros (IFP) y el problema de logaritmo discreto (DLP).
Tal como se muestra en la figura 2, el proceso más sencillo para llevar a cabo una firma digital de grupo es el siguiente:
1.
La tercera parte de confianza, T, selecciona el criptosistema de clave pública, (E, D), y la función hash, H, que van a usarse en el proceso de firma digital de grupo. T da a conocer el triplete (E, D, H) de manera pública.
2.
T genera un par de claves pública y privada (ei, di), i = 1, …, t, para cada uno de los usuarios en el grupo G.
3.
T ordena aleatoriamente la lista de claves públicas de los usuarios y publica la lista ordenada.
4.
Uno de los usuarios en G se selecciona aleatoriamente (la elección puede realizarla T), sea F. Este firmante, cuyo par de claves se indica como (e, d), llevará a cabo el proceso de firma en nombre del grupo.
5.
F determina el hash del mensaje que va a firmarse: H (M) = m.
6.
F realiza la firma digital del hash del mensaje usando su propia clave privada, d: Ed (m) = f.
7. T publica tanto el mensaje firmado como la firma de grupo calculada por F: (M, f). El verificador de la firma digital:
1.
Obtiene la lista de claves públicas de los usuarios en G.
2.
Comprueba si la siguiente fórmula aplicada al mensaje publicado, M, se cumple cuando se usa una
de las claves públicas en la lista, e:
De (f) = De (Ed (m)) = m,
H(M) = m’,
m’ ¿=? m.
Si se cumple la fórmula para una de las claves públicas, el verificador está seguro de que la firma es válida, puesto que cada clave pública está asociada con una correspondiente clave privada. Sin embargo, el verificador no puede determinar quién fue el firmante real, ya que la lista de claves públicas se ha ordenado aleatoriamente.
Si el número de posibles firmantes es elevado, también lo es el número de claves públicas. Esto significa que el proceso de verificación puede conllevar una gran carga computacional ya que, en el peor de los casos, deben comprobarse todas las claves públicas antes de completarse la verificación.
Además de los esquemas ya mencionados, existen varias patentes relativas a firmas de grupo: [HCW06], [KT08], [MFM09], [MCGT10] y [Ter08].
Problemas con las soluciones existentes:
Los protocolos mencionados anteriormente muestran ciertas limitaciones.
Por ejemplo, los esquemas descritos en [ACJ00], [AM03], y [NS04] tienen un problema de seguridad (véase [SG02] para una explicación ampliada). Además, la seguridad de los esquemas presentados en [BBX04] y [CL04] se prueba en condiciones artificiales y poco probables (véase [BB04]).
Varias patentes muestran también algunos inconvenientes. Entre éstos se encuentra la diferente definición del término “firma de grupo”. En muchos casos, este término se usa en un sentido diferente al usado en este documento.
En [HCW06], se propone un método que permite generar firmas de grupo para cualquier mensaje m con la condición de que 1 : m : n, siendo n un número compuesto, el producto de al menos 2 primos distintos. Este esquema usa un sistema RSA, puesto que la firma se calcula como f = md, siendo d la clave privada del usuario. En realidad, se trata de una firma múltiple, más que de una firma de grupo.
La invención presentada en [KT08] consiste en un método y aparato que genera una firma digital única de un mensaje firmado por S/MIME, transmitido adicionalmente por un miembro del grupo de firmantes. De hecho, [KT08] no es útil para firmar en nombre de un grupo.
En [MFM09], se adapta un esquema de firma en anillo de modo que al menos uno de los valores de parámetros de variabilidad usados es una traza de identidad del firmante anónimo, determinada en función de los datos de retirada de anonimato almacenados y mantenidos en secreto por una entidad de retirada de anonimato en conexión con una identificación del signatario anónimo. Esto proporciona una capacidad controlada posterior de retirar el anonimato del signatario, ya sea por una autoridad, o por el propio signatario. Como se conoce bien, las firmas en anillo no cumplen con los requisitos de firmas de grupo ya que no hay una autoridad central y el anonimato no puede eliminarse, a menos que el firmante decida lo contrario. Por este motivo, para [MFM09] el esquema de firma en anillo se ha modificado convenientemente: cada posible firmante tiene su par de claves pública-privada, asociadas con el sistema RSA. Sin embargo, esta invención es lenta, y requiere mucha memoria y cálculo.
En [MCGT10] se da a conocer un método que permite a cualquier miembro de un grupo (por medio de datos personales) generar una firma de mensaje que puede usarse para demostrar ante un juez o verificador que el mensaje se ha originado de hecho por un miembro del grupo. La invención se caracteriza por el hecho de que los datos personales se transmiten mediante algún dispositivo electrónico físico, tal como una tarjeta inteligente. Este dispositivo tiene un sistema integrado, basado en RSA y AES, que puede cifrar los datos personales y firmar el mensaje, que se concatenan adicionalmente. En la práctica, el uso de datos personales puede considerarse un inconveniente y el rendimiento global del sistema es menor que el de nuestra invención.
El objetivo de la patente [Ter08] es proporcionar un esquema de firma de grupo en el que se proporciona un medio abierto no a un emisor sino a un elemento de apertura y los dato requeridos para operar el medio abierto no incluyen un par de claves del emisor, de modo que es posible operar de manera precisa el medio abierto incluso aunque el emisor genere la clave pública de manera ilegal. La implementación puede basarse en el logaritmo discreto; en ese caso, el sistema funciona de manera similar a los sistemas basados en el esquema de ElGamal.
A continuación se proporcionan algunas definiciones técnicas útiles para entender la presente invención:
Firma digital: Es una primitiva criptográfica para demostrar la autenticidad de un mensaje o documento digital. La finalidad de una firma digital es proporcionar un medio para que una entidad vincule su identidad con una información.
Problema de logaritmo discreto: Dado un número primo p, un generador g de Z*p y un elemento y en Z*p hallan el entero x, 0 : x : p–2, de manera que gx = y (mod p).
Firma de grupo: Una firma digital llevada a cabo por un único firmante en nombre de un grupo de firmantes.
Función hash: Es una función computacionalmente eficaz que correlaciona cadenas binarias de longitud arbitraria con cadenas binarias de una determinada longitud fija.
Problema de factorización de enteros: Dado un entero positivo n, halla su factorización prima; es decir, se
e1 e2
escribe n = p1 p2 ··· pkek donde los pi son primos en pares distintos y cada ei ; 1.
Problema de logaritmo discreto en subgrupo: Sea p un primo y q un divisor primo de p–1. Sea G el único subgrupo cíclico de Z*p de orden q, y sea g un generador de G. El problema de logaritmo discreto en subgrupo en G es el siguiente: Dados p, q, g y y en G, halla el único entero x, 0 : x : q–1, de manera que gx = y (mod p).
Descripción de la invención
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 método para realizar una firma digital de grupo, que comprende:
i) generar, por una tercera parte de confianza, una clave privada para cada miembro de un grupo;
ii) seleccionar aleatoriamente, dicha tercera parte de confianza, un miembro de dicho grupo para que actúe como firmante encargado de firmar un documento digital en nombre del grupo;
iii) elaborar, dicho firmante, una firma digital de grupo usando su clave privada para firmar dicho documento digital; y
iv) verificar dicha firma digital de grupo.
A diferencia de las propuestas conocidas, el método de la invención comprende generar, por dicha tercera parte de confianza, una clave pública común para todos los miembros de dicho grupo y usar dicha clave pública común para realizar dicha verificación de la firma digital de grupo de la etapa iv).
En la presente descripción, el término “firma de grupo” se define como una firma llevada a cabo por un único firmante en nombre de un grupo de firmantes.
El método de la invención permite generar las claves para una tercera parte de confianza, que generará la clave pública común y las claves privadas de cada usuario en un grupo dado de usuarios. Uno de los usuarios firmará un documento en nombre del grupo de tal manera que será posible verificar que un usuario del grupo firmó el documento, pero no será posible determinar su identidad dentro del grupo.
Una vez realizada la firma de grupo, cualquiera que conozca la clave pública común del grupo de usuarios podrá verificar la corrección de la firma de grupo o bien declararla inválida.
Otras realizaciones del procedimiento de la invención se describen según las reivindicaciones 2 a 6 adjuntas, y en una sección posterior relativa a la descripción detallada de varias realizaciones.
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 (algunos de los cuales ya se han descrito en la sección de estado de la técnica anterior), que deben considerarse de manera ilustrativa y no limitativa, en los que:
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 muestra el diagrama de flujo para un esquema de firma de grupo genérico, indicando los actores y el proceso seguido con el fin de realizar una firma de grupo.
La figura 3 muestra, por medio de un diagrama de flujo, el esquema propuesto para una firma de grupo según una realización del método de la invención, mostrando los actores y el proceso para elaborar una firma de grupo.
La figura 4 muestra una arquitectura de un sistema que implementa el procedimiento de la invención para una realización.
Descripción detallada de varias realizaciones
Como ya se mencionó al comentar las tecnologías existentes, el proceso general para que los dispositivos permitan una firma de grupo (véase la figura 2) sigue las siguientes etapas:
1.
Generar las claves, realizada por TTP.
2.
Verificar las claves de los firmantes.
3.
Elaborar la firma de grupo, realizada por uno de los miembros del grupo.
4.
Verificar la firma de grupo.
En esta invención se presenta un procedimiento que permite llevar a cabo todas las etapas mencionadas anteriormente. Es importante destacar que las etapas 1 (generar las claves, realizada por TTP) y 2 (verificar las claves del firmante) anteriores forman parte del procedimiento pero no de la invención. Por este motivo, no se reivindica ninguna de ellas.
Uno de los miembros del grupo, elegido aleatoriamente, firma un documento en nombre del grupo, usando su propia clave privada. Usando una clave pública, que se comparte por todos los miembros del grupo, el verificador puede comprobar tanto que la firma es válida como que se ha elaborado por uno de los miembros del grupo. Sin embargo, el verificador no puede decir qué miembro particular realmente firmó el documento.
Sean G = {F1, F2, …, Ft} los individuos del grupo a los que se permite firmar un documento y sea T una tercera parte de confianza (TTP). La TTP genera tanto sus propias claves como las claves para cada miembro del grupo. La TTP podrá determinar qué miembro del grupo realmente firmó un documento, si tal información debe revelarse ante el juez, o en caso de disputa.
La invención presentada aquí garantiza que se genera una firma de grupo auténtica para un mensaje dado. Además, la invención mejora los protocolos existentes en cuanto a facilidad de uso, eficacia computacional, ahorro de tiempo y ancho de banda.
Para un conjunto dado F1, F2, …, Ft de t usuarios, una firma de grupo o firma en nombre de un grupo es un procedimiento mediante el cual un miembro elegido aleatoriamente del grupo
G = {F1, F2, …, Ft}
firma un documento en nombre del grupo siguiendo un protocolo específico. La firma así elaborada puede verificarla cualquiera que conozca el documento original, (o un hash del mismo, m), la firma, y la clave pública asociada al protocolo.
Como se mencionó anteriormente, estos protocolos de firma digital necesitan una tercera parte de confianza, T, que genera tanto sus propias claves como las claves de cada firmante.
Esta invención presenta un protocolo para elaborar una firma.
El protocolo se divide en varias fases, de la siguiente manera (véase la figura 3):
1.
Generación de las claves.
2.
Verificación de las claves.
3.
Elaboración de la firma digital de grupo.
4. Verificación de la firma digital. Como se mencionó anteriormente, las fases 1 (generación de las claves) y 2 (verificación de las claves) forman
parte del procedimiento pero no de la invención. Por este motivo, no se reivindica ninguna de ellas. A continuación, se presentará una descripción detallada de cada fase.
1. Generación de las claves En primer lugar, deben generarse las claves de T y luego las claves de los firmantes. Las etapas para generar las claves de T son las siguientes:
1. T elige dos números primos grandes p y q que satisfagan las siguientes condiciones: p = u1 · r · p1 + 1,
q = u2 · r · q1 + 1, donde r, p1 y q1 son números primos y u1, u2 números enteros pares, cuyo máximo común divisor (mcd) es
mcd(u1, u2) = 2, es decir, u1 =2 · v1 y u2= 2 · v2.
Para garantizar la seguridad del protocolo, el tamaño de r, es decir, su longitud de bits, debe ser suficientemente grande para hacer computacionalmente inviable el problema de logaritmo discreto en subgrupo (SDLP) con orden r de los enteros módulo n, Z*n .
2. T calcula
n = p · q, <(n) = (p–1)(q–1) = u1 · u2 · r2 · p1 · q1,
A(n) = mcm(p–1, q–1) = 2 v1 · v2 · r·p1 · q1, donde mcm representa el mínimo común múltiplo, <(n) es la función phi de Euler, y A(n) es la función de Carmichael.
3. A continuación, T elige un número entero a E Z*n con orden multiplicativo r, módulo n, y que cumpla la condición
mcd(a, <(n)) = mcd(a, u1 · u2 · r2 · p1 · q1) = 1.
Sea Sr el subgrupo de Z*n generado por a. La obtención del generador a puede llevarse a cabo de manera eficaz, es decir, en un tiempo polinomial, simplemente siguiendo el lema 3.1 de [Sus09].
De hecho, según este lema, la primera etapa es determinar un elemento g E Z*n cuyo orden sea A(n). El procedimiento consiste en elegir aleatoriamente un elemento g E Z*n y verificar que g elevado a todos los posibles divisores de A(n), módulo n, es diferente de 1 en todos los casos.
Este procedimiento es rápido ya que la factorización de A(n) se conoce y sólo 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 A(n), el generador buscado a se calcula como: a = g2v1.v2.p1.q1(mod n).
4. T genera un número secreto aleatorio s > r en Sr y calcula
�=as (mod n). (1)
Los valores (a, �, 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 (un algoritmo se considera eficaz si el resultado puede obtenerse en tiempo de ejecución polinomial; de lo contrario, los algoritmos con tiempos de ejecución exponenciales o subexponenciales se consideran ineficaces).
Para generar las claves de los miembros del grupo G, T lleva a cabo el siguiente proceso:
1. En primer lugar, T determina su clave privada generando aleatoriamente cuatro números enteros
a0, b0, c0, d0 E Zr.
A continuación, obtiene la clave pública común para todos los firmantes calculando
P = a a0 . � b0 (mod n), (2)
Q = a c0 . � d0 (mod n), (3)
A partir de las expresiones anteriores, T determina los siguientes valores: = a a0 +s . b0(mod n),
P = a a0 . � b0 (mod n),
� d0 (mod n) = a c0+s . d0(mod n),
Q = a c0 .
Puesto que tanto P como Q son elementos del subgrupo Sr, esto significa que existen números enteros k, h E Zr, de manera que h = (a0 + s · b0) (mod r), k = (c0 + s · d0) (mod r).
2. A continuación, T determina la clave privada para cada firmante Fi E G, con i = 1, …, t, teniendo en cuenta que todos ellos compartirán una clave pública común (P, Q). Para cada miembro del grupo, calcula cuatro número enteros ai, bi, ci, di E Zr, que satisfagan
h = (ai + s · bi) (mod r), k = (ci + s · di) (mod r),
o, de manera equivalente, ai = (h – s · bi) (mod r), (4) ci = (k – s · di) (mod r). (5)
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 E Zr y, entonces, calculando los valores correspondientes para ai, ci E Zr según las ecuaciones (4) y (5).
Después de que T haya obtenido las claves privadas, las distribuye a los firmantes a través de algún canal seguro.
2. Verificación de las claves
Para verificar que la clave de T es correcta, cada firmante, Fi E G, i = 1, …, t, simplemente comprueba que: a f 1 (mod n), a 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 debe verificar si se cumplen las dos ecuaciones siguientes:
P = a ai . bi(mod n),
Q = aci . di(mod n).
Tras este procedimiento, cada participante en el protocolo de firma de grupo está en posesión de una clave privada, y todos los participantes comparten una clave pública común.
3. Elaboración de la firma digital de grupo La tercera parte de confianza elige aleatoriamente uno de los miembros del grupo, sea Fi, en G. A continuación, determina el hash del mensaje que va a firmarse, H(M) =m, y lo firma calculando la firma de grupo como
sigue: fi = ai + ci · m (mod r), gi = bi + di · m (mod r).
Por último, T publica el par (f, g) = (fi, gi), como la firma de grupo G del mensaje M.
4. Verificación de la firma digital Sea (f, g) la firma digital correspondiente al mensaje hash m para el grupo G. Para verificar la validez de tal firma, el verificador debe proceder de la siguiente manera. En primer lugar, el verificador obtiene la clave pública, (P, Q), correspondiente al grupo G. A continuación, basta con comprobar si se cumple la siguiente igualdad:
P · Qm = af · �g (mod n). En realidad, si se cumple la igualdad, entonces la firma es válida ya que
ai . bi (aci .
P . Qm = a di)m (mod n) = a ai+m . ci . bi+m .ci(mod n) = af · �g (mod n).
5. Seguridad de la firma de grupo
El esquema propuesto en esta invención es seguro, puesto que ningún miembro del grupo G puede determinar ni el valor secreto s ni la clave privada de la TTP.
a) De hecho, calcular s a partir de a y � = as (mod n) (véase la ecuación (1)) requeriría el cálculo de logaritmos discretos en el subgrupo Sr generado por a, de orden r, y r se eligió de manera que hace que el SDLP sea irresoluble.
b) La clave privada (a0, b0, c0, d0) de T se generó aleatoriamente. En realidad, las ecuaciones (2) y (3) se cumplen para estos valores, pero su cálculo también es irresoluble, ya que implicaría resolver los DLP.
c) Dos miembros cualesquiera del grupo G, sean Fi y Fj, podrían conspirar para obtener el valor secreto s de T. Cada uno podría firmar un mensaje fijado obteniendo las firmas, sean (fi, gi) y (fj, gj). Entonces, calculan:
fi gifj
a . = a . gj(mod n)
fi+S . gi.fj+S.gj(mod n)
a = a
fi,- fjS(gj - gi ) (mod n)
a = a
Sin embargo, puesto que el orden de a módulo n es r, entonces
fi – fj = s (gj – gi) (mod r)
y, por consiguiente, obtienen el siguiente valor
s’ = (fi – fj) (gj – gi)–1 (mod r).
Sin embargo, el valor s’ difiere de s ya que s > r, con s E Sr E Zn y s’ E Z*r, con n >> r.
La arquitectura global de un sistema que implementa el procedimiento propuesto en esta invención se ilustra en la figura 4, en una realización.
A continuación se describe una posible implementación del procedimiento de firma de grupo completo, empezando con la generación de claves hasta la verificación de 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 n o en un subgrupo de orden r.
Supóngase que el grupo de firmantes consiste en t = 5 miembros: G = {F1, F2, F3, F4, F5} y que T es la tercera parte de confianza.
1. Generación de las 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. Además, se han generado los números primos p y q 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).
Los valores calculados son los siguientes:
u1 = 34 = 2 · 17,
u2 = 92 = 2 · 46,
r = 5196327729 7212780082 4848913362 2135332644 9216681008 58471147,
p1 = 2028030256 8624283012 4917097720 9990926008 1778040407 0833743250 8411552997 5896618235 6493244941 0114807,
q1 = 1383267238 8083602865 6088052772 3360516183 2923846298 4673026119 7962825109 1940681433 8179650989 2194549,
p = 3583025352 5523207970 9356443848 9739083662 8681740844 7277976277 9970616586 5447536616 7403235326 3974113364 9332978571 4305849991 1196721619 4346808025 4032680077 103387,
q = 6612877117 7840782959 2482914689 4056162094 7923138658 3375138116 7095506192 9552960216 8655806913 9429106295 0100969439 6903737016 4875673000 0462980089 4112076100 348677,
n = 2369410636 6333472157 0279162522 3265024454 3745068299 0936304998 6644279605 2216764909 4596790023 2779151836 5681758028 1475578173 8081159949 5241657168 8724667837 0631434633 1727045533 1896986032 7171936812 4846595370 6087676670 7393446416 2920016216 0102642221 2628222865 0029175235 5574874469 7936927230 9061086193 7352777702 9948776689 99,
<(n) = 2369410636 6333472157 0279162522 3265024454 3745068299 0936304998 6644279605 2216764909 4596790023 2779151836 5681758028 1475578173 8081159949 5241657168 8724667837 0631424437 2702342169 1987684193 3586553017 2389018765 7292646017 6249499350 1692221215 5134306162 2205819461 7832575801 6094763260 2066851158 5114891383 9471629558 2387002169 36,
A(n) = 2279889529 5624842025 0564697110 6664790296 5569615758 5687024706 7558976288 6870103849 0869858508 9424366650 9701841095 9948209301 5685993352 5851815894 1821280462 6749131753 6173614621 4316553449 4947413447 4462654398 4562121360 0477629718 4131725282 2242458184 7267613757 4044.
Entonces, T determina un elemento, g en el grupo de entero módulo n, Z*n, cuyo orden es A(n), y calcula el elemento, a E Z*n, de orden r:
g = 6079318766 2986796287 0007977731 1862235207 4445856138 0231899149 5774688205 8571151224 5379513946 3465899529 7629149469 8738881432 7092495744 2014011430 6452298559 5837148062 3223570321 1246080863 8620308474 1211868723 8171601682 6840575721 9008403383 2065415409 4371455844 6131628250 8442318044 3471825171 4396414097 0291128632 0782852649 2,
a = 1367564182 4033610260 0495280576 7420842676 8287195239 0233472697 1916347971 3979505094 3642389948 2653639814 9026918385 0736850236 9757062812 1638110173 3904619494 1041274736 7750086756 4943939381 6216777468 7068215125 8169301237 3397103889 8395685305 7355517115 7894840723 9702895081 4465244741 2119441623 6438825980 7605306745 6179684654 7.
A continuación, T genera un número secreto s E Sr. Para lograr esto, genera un número aleatorio, z, en el intervalo [1, r] y calcula s = az (mod n). Entonces, determina el elemento �:
z = 4713658101 7409167224 1142496711 8332602621 2793905993 24379912,
s = 1585746780 5269067300 7933645724 8967015527 9838982770 1279763950 2590148357 1963787196 3948637783 3416367703 4001959902 4692205809 3413173591 6691873990 5078914274 6726839667 1174004262 2033806000 7817705947 3452504019 6230047079 7953885522 0274335694 7206830011 1930792201 3823780217 3944205729 9182407986 7576676015 2866532316 3184671843 86,
� = 1901252829 3242521658 5096999145 8430186762 0141372828 8055465598 3793301373 2578581115 1574791997 6954083566 4380158002 6354548744 2233477774 3799357310 1119331834 5172543184 8212732727 2677129698 5449221730 0628514918 5270759863 3847617316 9101112119 6087752277 6586337221 0233970579 6105677764 3286911277 2559077381 5849672544 8197917407 84.
T determina su clave privada, a0, b0, c0, d0 E Z*r y la clave pública, (P, Q), que compartirán todos los firmantes en el grupo G:
a0 = 2851470515 8070556667 6188814197 9230706395 5633135103 98864021,
b0 =3871692298 3490241676 2100311099 7045266628 2845940533 75975881,
c0 = 1250361890 7338822746 5235333397 2625961733 7110909230 81656835,
d0 = 4854925496 4785812096 9396766705 0103771180 2586686698 1758690,
P = 1226458762 4175407165 4051082387 1553818459 1598871990 4675567454 9670283196 4320692391 1611779270 2373692361 7846971407 8865007637 6391593968 2090275901 7750095104 8721273004 0817313882 2214546153 9470395358 4876291347 0933634186 5534838215 2543262919 7979623531 7314657081 7644049726 9331991569 3961121667 7706643586 6011002403 3573611685 98,
Q = 1665567910 7051229440 5936855255 5459822448 0387667463 6073700364 2485848931 9637920347 6571603265 1246134221 2407959462 4717449986 2434868723 0802677050 4358873236 2610930359 0961055894 0789864769 8680793795 2990988175 3035373059 1963401532 8728418038 7655281422 8922019579 7261119084 6795757324 3510158991 8731540560 6953777900 5866751462 51.
T difunde los valores (a, �, n, r).
La siguiente etapa es el cálculo de las claves privadas de los firmantes del grupo G. Para ello, T calcula, en primer lugar, los siguientes valores:
h = 1113594031 8537712759 8124811264 7511481251 3165082263 18956218,
k = 7645981190 6907469606 9780226135 1488448627 6736518190 3762615.
Finalmente, T genera valores aleatorios bi, di E Z*r, con i = 1, …, 5, y determina los correspondientes valores para ai y ci. De este modo, obtiene las 5 claves privadas, que se distribuirán a través de un canal seguro a cada uno de los firmantes del grupo:
(a1, b1, c1, d1) = (9479193074 2466673250 0634860276 3943818730 4116012949 4952436, 4301760524 6488056343 6683482412 6114962548 2702116042 12840856, 2979008705 2077810470 3193418338 1577854476 5341402439 64385827, 5149141898 9810007125 5381706490 8786375894 2847279054 78622779),
(a2, b2, c2, d2) = (3010140312 4934156505 7125465680 4869003288 5082440003 81031466, 6594843413 5490440166 4484106044 7753596711 3287485785 8952323, 1682895911 4519780206 8229290917 3191198386 9614555863 74806087, 1323473114 8161819659 2881035741 2074512927 9273132360 55494277),
(a3, b3, c3, d3) = (4836736540 7039577719 5091696231 3781699510 7745955366 19214332, 4923959429 6583787879 8856884940 2795390361 3394207522 27899026, 3182589277 0974074122 8808824677 4298378445 5515681187 01723599, 3090586737 5349950405 9938048150 8025032564 6581174412 54195906),
(a4, b4, c4, d4) = (3191510562 4343544216 2249837614 1865586533 2451137671 9229447, 2317496376 4788189350 9391095274 8545719917 0057279761 10944450, 3920175057 4468125384 9387692633 6252461429 4125190461 91997478, 2484680209 6165988309 3927117852 4378624954 9728688978 62713852),
(a5, b5, c5, d5) = (1764981422 1800430392 9194620558 2932409511 3545719870 78142692, 2969747205 3508890348 7533120624 1667568859 6375484360 2785686, 5100875944 6457789426 1242532111 9520492788 4522110733 05695885, 9692033568 7059209502 6100039850 3589986984 46061762).
2. Verificación de las claves Para verificar tanto la clave de T como la clave pública compartida, basta con que cada firmante simplemente
compruebe las siguientes igualdades: a f 1 (mod n), a r = 1 (mod n),
P = aai-bi(mod n);
Q = aci-di(mod n);
3. Elaboración de la firma de grupo Supóngase que el mensaje que va a firmarse es el siguiente: “Ejemplo de mensaje a firmar con firma en nombre de un grupo” El hash para este mensaje, calculado usando la función hash MD5, proporciona el siguiente resultado de 160
bits, expresado en hexadecimal y decimal, respectivamente:
m = 9c ec 27 95 0d 94 9d 7f 3a bc a7 6b cd d0 cc 11
= 2085857522 2423482244 1347134656 246500369.
T elige aleatoriamente uno de los miembros, el segundo por ejemplo. La firma de este firmante es:
(f, g) = (f2, g2) = (3738700843 5180238287 7240373797 3862403206 8446309874 54969275, 4851882837
8284593233 8822347014 7866172039 9022155598 71520407).
4. Verificación de la firma de grupo
Para verificar la validez de la firma anterior, cualquier verificador que conozca el hash, m, y la clave pública, (P, Q), debe comprobar la siguiente igualdad:
P · Qm = af · �g (mod n),
que es inmediata, ya que ambos lados de la igualdad son:
7226358811 7679130110 6290398898 2601254475 7169925672 5283234060 9391467192 6653770575 7429123255 0896510955 7868587451 9573256644 2567828104 0207863021 6026845753 0918869684 6333651455 6337178119 6462482598 1572657201 7634003862 2192804379 5623719366 6112433138 3563203426 3810189932 7060204871 4980943789 3713986455 4777545955 5067471910 5.
5. Seguridad
En el caso de que dos firmantes cualesquiera, por ejemplo, F2 y F3, intenten conspirar para obtener el valor secreto, s, de T, unirían sus respectivas firmas, (f2, g2) y (f3, g3), y calcularían
s’ = (f2 – f3) (g3 – g2)–1 (mod r) =
1648311949 6452759530 1243710909 1236881133 1380800474 69066335,
pero éste no es valor real de s:
s = 1585746780 5269067300 7933645724 8967015527 9838982770 1279763950 2590148357 1963787196 3948637783 3416367703 4001959902 4692205809 3413173591 6691873990 5078914274 6726839667 1174004262 2033806000 7817705947 3452504019 6230047079 7953885522 0274335694 7206830011 1930792201 3823780217 3944205729 9182407986 7576676015 2866532316 3184671843 86.
Cualquier otro par de firmantes obtendría el mismo valor s’, si intentasen montar el mismo ataque. Por tanto, no se filtra más información aunque aumente el número de conspiradores.
Finalmente, la misma clase de conspiración para lograr firmas de diferentes mensajes tampoco proporcionará mejora alguna, porque el valor obtenido al firmar diferentes mensajes es el mismo que antes.
6. Aspectos operativos y de implementación
El esquema propuesto para realizar firmas digitales de grupo se ha implementado como “Notebook” de la aplicación de software Maple v.13 en un ordenador con una CPU Intel® Core™2, procesador Quad Q4900 a 2,66 GHz, con el sistema operativo Windows 7 de Microsoft con 64 bits y con una RAM de 4 GB.
Puesto que cada usuario necesita su propia clave privada (secreta), deben generarse más claves por lo que se requiere más tiempo. A pesar de ello, una vez finalizada la fase de generación de claves, el tiempo de ejecución de firma depende únicamente de la longitud de la clave que se use, ya que el esquema sólo calcula una firma en todos los casos, independientemente del número de miembros en el grupo.
Ventajas de la invención:
El esquema propuesto disfruta de las siguientes propiedades:
1.
Su seguridad se basa en tres problemas matemáticos computacionalmente irresolubles: el problema de factorización de enteros (IFP), el problema de logaritmo discreto (DLP), y el problema de logaritmo discreto en subgrupo (SDLP).
2.
Es eficaz ya que todas las operaciones se ejecutan en tiempo polinomial.
3.
Los requisitos de memoria son reducidos. Además, el número de claves es igual a una más el número de usuarios, que sólo tienen su clave privada (por tanto, secreta). La clave pública es común para todos ellos.
4.
El verificador puede comprobar la validez de la firma de grupo, ya que este proceso sólo requiere conocer la clave pública. Sin embargo el verificador no puede identificar al firmante real, ya que esto implicaría conocer las claves privadas de los firmantes.
5.
En caso de disputa, la TTP puede “abrir” una firma y revelar el firmante real. Esto es posible porque la TTP está en posesión de las claves privadas de todos los firmantes.
6.
Un nuevo usuario puede unirse al grupo en cualquier momento sin perturbar el esquema. De hecho, basta con que T determine una nueva clave privada para el usuario que acaba de unirse al grupo,
pasando éste a ser candidato para el proceso de firma de grupo, si éste es aleatorio
Aplicaciones de la invención:
La invención es aplicable siempre que se requiera que una persona firme un documento en nombre de un grupo de personas. Entre otras, pueden mencionarse estas aplicaciones:
Cualquier proceso que requiera una firma digital y que implique a varios firmantes.
Acceso a recursos específicos para los que se requieren algunas credenciales o permiso especial. El permiso o las credenciales pueden considerarse equivalentes a la posesión de una clave privada asociada con una clave pública dada.
Firmas digitales corporativas, acuerdos firmados digitalmente entre empresas o entre empresa y cliente.
Firmas digitales entre empresas o ciudadanos y administraciones públicas.
Firmas digitales para la firma de contratos.
Firma de acuerdos, actas, y/o alianzas estratégicas (joint ventures) entre varias entidades.
Estas aplicaciones pueden resultar muy útiles en diversos escenarios:
Gobierno electrónico (administración pública local, regional, o nacional). Siempre que un comité, compuesto por varios miembros, deba firmar digitalmente un documento elaborado conjuntamente, puede aprovecharse de la presente invención: un único miembro del comité podrá firmar en nombre todo el comité. El proceso se vuelve mucho más sencillo, rápido y flexible, ya que la tarea de firmar puede delegarse en un único firmante. La verificación garantiza la validez del documento así firmado.
Corporaciones. En este caso, ejemplos de grupos podrían ser varias empresas como miembros de una alianza estratégica, o varias personas como miembros de un comité interno de una empresa. En estos casos y en casos similares, pueden aprovecharse de la presente invención para firmar digitalmente documentos o acuerdos que impliquen a todas las partes. Evidentemente, es más conveniente si el proceso de firma puede delegarse en uno de los miembros, que actuará como representante del grupo en el proceso de firma. Cabe destacar que el representante puede cambiar en cualquier momento sin afectar al proceso.
Uso de recursos. La presente invención puede usarse para restringir el acceso a un conjunto de recursos dados a conjuntos de usuarios que cumplan determinadas propiedades especiales (tal como ser miembros de un departamento dado, tener cargos o estatus especiales, etc.). Sólo si un usuario está en posesión de una clave privada, que le identifica como miembro de un grupo específico, podrá acceder a los recursos disponibles para tal grupo.
Documentos de notaría. La mayor parte de los documentos notariales (documentos de compraventa, hipotecas, declaraciones de herencia, y similares) necesitan las firmas de todas las partes implicadas, así como la firma del notario que certifica la validez del proceso. La invención propuesta puede resultar útil cuando una de las está formada por un grupo de personas, representadas por un único individuo de entre las mismas.
Banca. De manera similar, los procesos relacionados con bancos requieren a menudo la firma de documentos en los que están implicadas varias partes, incluyendo el banco. La invención también puede resultar útil en este escenario.
Internet. El creciente uso de Internet puede llevar a la necesidad de firmar acuerdos o documentos on-line. La invención propuesta puede usarse de manera conveniente ya que las partes implicadas pueden estar representadas por un único miembro de cada una de las dos partes, quienes firmarán realmente el acuerdo o documento on-line en nombre de su respectiva parte.
Un experto en la técnica puede introducir cambios y modificaciones en las realizaciones descritas sin apartarse del alcance de la invención tal como se define en las reivindicaciones adjuntas.
Siglas
5
DLP IFP SDLP TTP Discrete Logarithm Problem; Problema de logaritmo discreto Integer Factorization Problem; Problema de factorización de enteros Subgroup Discrete Logarithm Problem; Problema de logaritmo discreto en subgrupo Trusted Third Party; Tercera parte de confianza
BIBLIOGRAFÍA
[ACJ00] G. Ateniese, J. Camenish, M. Joyce, y G. Tsudik, A practical and provable secure coalition-resistant group signature scheme, Lecture Notes in Comput. Sci. 1880 (2000), 255–270.
[AM03] G. Ateniese y B. de Medeiros, Efficient group signatures without trapdoors, Lecture Notes in Comput. Sci. 2894 (2003), 246-268.
[BSZ05] M. Bellare, H. Shi, y C. Zhang, Foundations of group signatures: the case of dynamic groups, Lecture Notes in Comput. Sci. 3376 (2005), 136-153.
[BB04] D. Boneh y X. Boyen, Short Signatures Without Random Oracles, Lecture Notes in Comput. Sci. 3027 (2004), 56
73. [BBX04] D. Boneh, X. Boiyen, y H. Shacham, Short group signatures, Lecture Notes in Comput. Sci. 3152 (2004), 41-55. [CL04] J. Camenisch y A. Lysyanskaya, Signature Schemes and Anonymous Credentials from Bilinear Maps, Lecture
Notes in Comput. Sci. 3152 (2004), 56-72.
[Cha85] D. Chaum, Showing credentials without identification, Lecture Notes in Comput. Sci. 219 (1985), 241–244.
[CH91] D. Chaum y E. van Heyst, Group signatures, Lecture Notes in Comput. Sci. 547 (1991), 257-265.
[CHY05] L. Chen, X. Huan, y Y. You, Group signature schemes with forward secure properties, Appl. Math. Comput. 170
(2005), 841-849. [ElG85] T. ElGamal, A public-key cryptosystem and a signature scheme based on discrete logarithm, IEEE Trans. Inform. Theory 31 (1985), 469-472. [FC04] X. Fu and C. Xu, A new group signature scheme with unlimited group size, Progress on Cryptography. 25 Years of Cryptography in China, Kluwer Academic Publishers, 89-96, Nueva York, 2004. [HCW06] D.W. Hopkins, T.W. Collins, y S.W. Wierenga, (Hewlett-Packard Development Company, L.P., Houston, TX, USA), Group signature generation system using multiple primes, patente estadounidense: US 7093133B2, 15 de agosto de 2006. [KT08] M. Kurosaki y N. Terao, (Fiju Xerox Co. Ltd, Tokyo, Japan), Group signature apparatus and method, patente estadounidense: US 7318156B2, 8 de enero de 2008. [MOV97] A. Menezes, P. van Oorschot y S. Vanstone, Handbook of applied cryptography, CRC Press, Boca Raton, FL, EE.UU., 1997. [MFM09] D.A. Modiano, L. Frish, y D. Mouton, (France Telecom, Paris, France), Electronic group signature method with revocable anonymity, equipment and programs for implementing the method, patente estadounidense: US 7526651B2, 28 de abril de 2009. [MCGT10] D.A. Modiano, S. Canard, M. Girault, y J. Traore, (France Telecom, Paris, France), Cryptographic system for group signature, patente estadounidense: US 7673144B2, 2 de marzo de 2010. [NIST02] National Institute of Standards and Technology, Secure Hash Standard (SHS), Federal Information Processing Standard Publication 180-2, 2002. [NS04] L. Nguyen y R. Safavi-Naini, Efficient and Provably Secure Trapdoor-free Group Signature Schemes from Bilinear Pairings, Lecture Notes in Comput. Sci. 3329 (2004), 89-102. [OOK90] K. Ohta, T. Okamoto, K. Koyama, Membership authentication for hierachical multigroup using the extended Fiat-Shamir scheme, Lecture Notes in Comput. Sci. 473 (1990), 446–457. [SKI90] H. Shizuya, S. Koyama, T. Itoh, Demostrating possession without revelating factors and its applications, Lecture Notes in Comput. Sci. 453 (1990), 273–293. [RSA78] R.L. Rivest, A. Shamir y L. Adleman, A method for obtaining digital signatures and public-key cryptosystems”, Comm. ACM 21 (1978), 120-126. [SG02] V. Shoup y R. Gennaro, Securing Threshold Cryptosystems against Chosen Ciphertext Attack, Journal of Cryptology 15, 2 (2002), 75-96. [Sus09] W. Susilo, Short fail-stop signature scheme based on factorization and discrete logarithm assumption”, Theor. Comput. Sci. 410 (2009), 736-744.
[Ter08] I. Teranishi, (NEC Corporation), Group signature scheme, US 2008/0152130A1, Jun. 26, 2008. [TW05] M. Trolin and D. Wikström, Hierarchical group signatures, Lecture Notes in Comput. Sci. 3580 (2005), 446-458.

Claims (6)

  1. REIVINDICACIONES
    1. Método para realizar una firma digital de grupo, que comprende:
    i) generar, por una tercera parte de confianza (T), una clave privada para cada miembro (F1, F2, …, Ft) de un grupo (G);
    ii) seleccionar aleatoriamente, dicha tercera parte de confianza (T), un miembro de dicho grupo (G) para que actúe como firmante encargado de firmar un documento digital (M) en nombre del grupo (G);
    iii) elaborar, dicho firmante, una firma digital de grupo usando su clave privada para firmar dicho documento digital (M); y
    iv) verificar dicha firma digital de grupo;
    estando el método caracterizado porque comprende generar, por dicha tercera parte de confianza (T), una clave pública común para todos los miembros de dicho grupo (F1, F2, …, Ft) y usar dicha clave pública común para realizar dicha verificación de la firma digital de grupo de la etapa iv).
  2. 2.
    Método según la reivindicación 1, en el que dicha etapa iii) comprende elaborar, dicho firmante, dicha firma digital de grupo en un resumen (m) de dicho documento (M).
  3. 3.
    Método según la reivindicación 2, en el que dicha elaboración de la firma digital de grupo de la etapa iii) se calcula como: fi = ai + ci · m (mod r), gi = bi + di · m (mod r) donde i = 1, …, t; ai= (h – s · bi) (mod r); ci = (k – s · di) (mod r); bi, di son pares de números aleatorios generados por dicha tercera parte de confianza (T); m es el resumen o hash del documento (M) que va a firmarse; r es un número primo; s es un número secreto aleatorio generado por dicha tercera parte de confianza (T); h = (a0 + s · b0)(mod r);
    h= (c0 + s · d0)(mod r); y a0, b0, c0, d0 son números enteros generados aleatoriamente por la tercera parte de confianza (T).
  4. 4.
    Método según la reivindicación 3, en el que ai, ci, bi, di E Zr donde Zr es el conjunto de enteros módulo r, s > r y pertenece a un subgrupo Sr de Zn; donde Zn es el conjunto de enteros módulo n y a0, b0, c0, d0 E Zr son las clave privadas de la tercera parte de confianza (T).
  5. 5.
    Método según la reivindicación 4, que comprende verificar, en iv), la firma digital de grupo comprobando si se cumple la siguiente igualdad:
    P · Qm = af · �g (mod n)
    donde P y Q forman dicha clave pública común, f y g son la firma digital de grupo, a E Z*n es un número entero elegido por la tercera parte de confianza (T) con orden multiplicativo r, módulo n, y� = as (mod n).
  6. 6. Método según la reivindicación 5, en el que:
    P = aai- bi(mod n);
    Q = aci-di(mod n); 2v1.v2.p1.q1(mod n);
    a = g � = as (mod n);
    n = p · q;
    g es un elemento elegido aleatoriamente que cumple que g E Z*n cuyo orden es A(n);
    p1, q1 son números primos;
    u1 y u2 son números enteros, donde u1 = 2 · v1 y u2 = 2 · v2;
    5 v1, v2 son primos entre sí;
    p = u1 · r · p1 + 1;
    q = u2 · r · q1 + 1;
    <(n) = (p–1)(q–1) = u1 · u2 · r2 · p1 · q1; donde <(n) es la función phi de Euler; A(n) = mcm(p–1, q–1) = 2 · v1 · v2 · r · p1 · q1; donde mcm representa el mínimo común múltiplo, y A(n) es10 la función de Carmichael; y a cumple la condición: mcd(a, <(n)) = mcd(a, u1 · u2 · r2 · p1 · q1) = 1 donde mcd es el máximo común divisor.
ES201130779A 2011-05-13 2011-05-13 Método para realizar una firma digital de grupo Withdrawn - After Issue ES2400895B1 (es)

Priority Applications (3)

Application Number Priority Date Filing Date Title
ES201130779A ES2400895B1 (es) 2011-05-13 2011-05-13 Método para realizar una firma digital de grupo
PCT/EP2012/058578 WO2012156254A1 (en) 2011-05-13 2012-05-09 A method for performing a group digital signature
ARP120101654 AR086343A1 (es) 2011-05-13 2012-05-10 Metodo para realizar una firma digital de grupo

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ES201130779A ES2400895B1 (es) 2011-05-13 2011-05-13 Método para realizar una firma digital de grupo

Publications (3)

Publication Number Publication Date
ES2400895A2 true ES2400895A2 (es) 2013-04-15
ES2400895R1 ES2400895R1 (es) 2013-09-11
ES2400895B1 ES2400895B1 (es) 2014-03-24

Family

ID=46046224

Family Applications (1)

Application Number Title Priority Date Filing Date
ES201130779A Withdrawn - After Issue ES2400895B1 (es) 2011-05-13 2011-05-13 Método para realizar una firma digital de grupo

Country Status (3)

Country Link
AR (1) AR086343A1 (es)
ES (1) ES2400895B1 (es)
WO (1) WO2012156254A1 (es)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103414569B (zh) * 2013-08-21 2016-08-10 王威鉴 一种建立抗攻击的公钥密码的方法
WO2017063114A1 (zh) * 2015-10-12 2017-04-20 王晓峰 建立抗攻击的安全性公钥密码的方法
CN110826091B (zh) * 2018-08-14 2022-05-06 珠海金山办公软件有限公司 一种文件签名方法、装置、电子设备及可读存储介质
GB2578864B (en) * 2018-09-24 2022-09-21 Metrarc Ltd Trusted ring
CN112528237B (zh) * 2021-02-08 2021-06-22 北京关键科技股份有限公司 一种基于共识机制的软件版本状态保护方法
CN113225190B (zh) * 2021-02-08 2024-05-03 数字兵符(福州)科技有限公司 一种使用新难题的量子安全的数字签名方法
CN112926959A (zh) * 2021-03-26 2021-06-08 陈丽燕 Hash-RSA盲签名的数字货币方案
CN115442044B (zh) * 2022-05-25 2024-05-03 北京航空航天大学 基于可链接环签名的高效秘密选举方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2904819B2 (ja) * 1989-08-25 1999-06-14 日本電信電話株式会社 ディジタル署名方式
US7093133B2 (en) 2001-12-20 2006-08-15 Hewlett-Packard Development Company, L.P. Group signature generation system using multiple primes
FR2834403B1 (fr) * 2001-12-27 2004-02-06 France Telecom Systeme cryptographique de signature de groupe
FR2834598B1 (fr) * 2002-01-04 2004-02-20 France Telecom Procede et dispositif de signature anonyme au moyen d'une cle privee partagee
JP2003298576A (ja) 2002-03-29 2003-10-17 Fuji Xerox Co Ltd グループ署名装置および方法
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
EP2634958A1 (en) 2005-01-21 2013-09-04 Nec Corporation Group Signature Scheme

Also Published As

Publication number Publication date
ES2400895R1 (es) 2013-09-11
WO2012156254A1 (en) 2012-11-22
AR086343A1 (es) 2013-12-04
ES2400895B1 (es) 2014-03-24

Similar Documents

Publication Publication Date Title
ES2400894B1 (es) Procedimiento para una firma digital múltiple
ES2400895B1 (es) Método para realizar una firma digital de grupo
Almajed et al. SE-ENC: A secure and efficient encoding scheme using elliptic curve cryptography
US8429408B2 (en) Masking the output of random number generators in key generation protocols
ES2308725T3 (es) Firmas de pregunta-respuesta y protocolos de seguridad de diffie-hellman.
ES2960797T3 (es) Encadenamiento seguro e implícito de certificados
US20150003615A1 (en) Key agreement protocol
US9800418B2 (en) Signature protocol
TW202347988A (zh) 用以獲取數位簽署資料之電腦實行方法及系統
US9088419B2 (en) Keyed PV signatures
TW202029693A (zh) 用以分配數位簽署資料之份額的電腦實施系統及方法
CN111030821B (zh) 一种基于双线性映射技术的联盟链的加密方法
KR20030062401A (ko) 겹선형쌍을 이용한 개인식별정보 기반의 은닉서명 장치 및방법
CN110519040B (zh) 基于身份的抗量子计算数字签名方法和系统
Ki et al. Constructing Strong Identity‐Based Designated Verifier Signatures with Self‐Unverifiability
Zhang et al. Efficient and provably secure distributed signing protocol for mobile devices in wireless networks
Kumar et al. An efficient implementation of digital signature algorithm with SRNN public key cryptography
US20200344052A1 (en) Advanced modular handshake for key agreement and optional authentication
Chen et al. Blockchain as a CA: A provably secure signcryption scheme leveraging blockchains
Tanwar Basics of cryptographic primitives for blockchain development
CN107733649A (zh) 一种基于身份标识的层级化公钥信任模型构建方法
Nabil et al. New authenticated key agreement protocols
Sajeev et al. Elliptic curve cryptography enabled security for wireless communication
Qin et al. A Provably Secure Certificate Based Ring Signature Without Pairing.
Udin et al. Application of Lamport Digital Signature Scheme into the station-to-station protocol

Legal Events

Date Code Title Description
FG2A Definitive protection

Ref document number: 2400895

Country of ref document: ES

Kind code of ref document: B1

Effective date: 20140324

FA2A Application withdrawn

Effective date: 20140903