Procedimiento para una firma digital múltiple.

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 α.

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

Solicitante: TELEFONICA, S.A..

Nacionalidad solicitante: España.

Inventor/es: HERNANDEZ ENCINAS,LUIS, MUÑOZ MASQUE,JAIME, DURÁN DÍAZ,José Raúl, GAYOSO MARTÍNEZ,Víctor, HERNÁNDEZ ÁLVAREZ,Fernando.

Fecha de Publicación: .

Clasificación Internacional de Patentes:

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

PDF original: ES-2548838_T3.pdf

 

google+ twitter facebook

Fragmento de la descripción:

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.

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 [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.

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,

Dd (Ee (M)) = Dd (c) = M.

Considerando el caso de las firmas digitales, los procedimientos de cifrado y descifrado, Ey 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 resultado el mensaje original, es decir, los procedimientos Ey 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 fundones 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 /-/().

El procedimiento general para realizar la firma digital de un documento, M, sigue las siguientes etapas (véase 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.

2. Generar las claves pública y privada, e, d, del usuario que va a firmar el documento.

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:

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 la clave pública del emisor, e:

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 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

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,

G={Ft, F2, Ft},

firma el mismo documento con la ¡dea 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], [0091], [Oka88], [PPKW97], [PLL85]).

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.

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 Ft 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 el crlptosistema 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 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:

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 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 [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.

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 uno de los firmantes, es decir, no es exactamente un esquema de firma múltiple.

La invención presentada en [0001] 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.

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 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... [Seguir leyendo]

 


Reivindicaciones:

1. Un procedimiento para una firma digital múltiple que comprende:

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 (Fi, F2, Ft) de un grupo de firmantes (G);

ii) generar, por cada uno de dichos firmantes (Fi, Fz Ft), una firma parcial en un resumen (m) de un documento, o mensaje, (M) usando sus claves privadas;

¡ii) generar una firma múltiple a partir de dichas firmas parciales; y iv) verificar, por un verificador, dicha firma múltiple; en el que el procedimiento comprende:

- determinar, por dicha tercera parte de confianza (7), una clave pública única y común para todos de dichos firmantes (Fi, Fz Ft) en (G), calculando dos números enteros (P) y (Q), en Z,

P=a?o p^ímodrt),

G= tf* - pf* (modo);

y

- determinar, por dicha tercera parte de confianza (7), claves privadas individuales de los firmantes (Fi, Fz F¡) del grupo de firmantes (G), asociadas a dicha determinada clave pública única y común, calculando (a b¡, c¡, d¡), para / = 1,.... t, en el que:

(3o, bo, co, do) son cuatro números enteros aleatorios que pertenecen a Zr que definen la clave privada de la tercera parte de confianza (7);

(£>/, di), para / = 1,.... t, son t pares de números enteros aleatorios en Zr, y (a¡, c¡), para i = 1,..., t, son t pares de números enteros en Z, que verifican las siguientes condiciones:

a, = (h - s b¡) (mod r),

Ci = (k - s d,) (mod r);

y h y k son dos números enteros secretos, en Zr, definidos por

h ={a0 + s bo) (mod r), k = (c0 + s do) (mod r),

y

- generar, por dicha tercera parte de confianza (7), un conjunto de parámetros {n, r, a, (3, p, q, s) de modo que publica n, r, a y (3 y mantiene p, q y s secretas, donde

n=pq,

p = ui r pi + 1 y q = U2 r gi + 1 son dos números primos grandes,

ui y u2 son dos números enteros pares, cuyo máximo común divisor (mcd) verifica

mcd(ui, u2) = 2,

p-i, q-t, r, son números primos,

a es un elemento reversible en el grupo de los enteros módulo n, Z, con orden multiplicativo r, que verifica la condición

mcd(a, (p - 1)(g - 1)) = 1;

(3 = as (mod n) y

s es un número secreto aleatorio en el subgrupo generado pora.

2. Un procedimiento según la reivindicación 1, en el que cada firmante (Fi,...Ft) calcula además, con la necesaria colaboración de la tercera parte de confianza (T), su propia firma, (f¡, g,), para un hash (m) del mensaje (M) que viene

dada por:

f¡ = a, + c¡ - m (mod t), g, = b¡ + d¡ m (mod r).

y envía además, a cada firmante, dicha propia firma calculada, de una manera segura, a la tercera parte de confianza (T).

3. Un procedimiento de acuerdo con la reivindicación 2, que comprende verificar, por la tercera parte de confianza (7), la firma calculada de cada firmante (Fi, Fz Ft) comprobando:

P Qm (modr?) = <Q(í PSj (mod o), i - 1, t.

4. Un procedimiento de acuerdo con la reivindicación 3, en el que, tras una verificación válida de la firma calculada de cada firmante (Fi, Fz..., Fi), 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:

-s

II

+

+ ft) (mod r) = I(=1

...f f¡ (mod r),

9 = (9t + -

+ gt) (mod r) = Il=1,..

...f 9¡ (mod r).

5. Un procedimiento de acuerdo con la reivindicación 1, en el que el primer firmante (Fi) además determina, sin la colaboración de la tercera parte de confianza (T), su propia firma parcial agregada (fi, gi) para el hash (m) del mensaje (M) donde:

f¡ = ai + Ci m (mod r),

g^ = bi + d^ m (mod r).

y la envía, de una manera segura, al grupo firmantes (F1t Fz Ft).

6. Un procedimiento de acuerdo con la reivindicación 5, en el que cada firmante excepto el primero (Fz F¡) verifica además, sin la colaboración de la tercera parte de confianza (T), la firma parcial agregada ((fu, fifn), i = 2,..., f) ya calculada por el firmante anterior, comprobando

pM QfMjm _ au (mod n), / = 2,.... t.

7. Un procedimiento de acuerdo con la reivindicación 6, en el que cada firmante excepto el primero (Fz Ft)

determina además, sin la colaboración de la tercera parte de confianza (T), su propia firma parcial agregada ((/h, g¡- 1), i = 2.....f) calculando

f¡ - f¡-1 + a¡ + c¡- m (mod r) = a-t + + a¡ + (Ci + + c¡) m (mod r), i = 2, t,

g¡ = + b¡ + d¡- m (mod r) = t>i + + b¡ + (di + + d¡) m (mod r), i = 2,t.

y envía además dichas firmas parciales agregadas propias, excepto la del último firmante (Ff), de una manera segura, al grupo de firmantes (F1t Fz Ft).

8. Un procedimiento de acuerdo con la reivindicación 7, en el que el último firmante (Ft) publica además, sin la 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, 9) = (ft, 9i).

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:

F* Q* pfl(modn).