Procedimiento y sistema de protección de firma electrónica.

Un procedimiento de protección de la firma electrónica de un documento (D), que comprende:

• leer

(500, 600) un documento a firmar (D) por una aplicación (54, 64);

• presentar (510, 610) una representación gráfica de dicho documento (D) a un usuario (51, 61);

• aceptar (531, 631) el documento a firmar (D) por dicho usuario (51, 61);

estando el procedimiento caracterizado por:

• en un servidor (50, 60), computar (542, 642) una función hash (H(D)), una función validación extendida del hash (EV(H(D))) y una función resumen legible del documento a firmar (RS(D));

• desde dicho servidor (50, 60), enviar (543, 643; 551, 651;) dicha función hash (H(D)) y dicha función validación extendida del hash (EV(H(D))) a dicha aplicación (54, 64) y a un dispositivo de firma (53, 63);

• desde dicho servidor (50, 60), enviar (552, 652) dicha función hash (H(D)) y dicha función resumen legible del documento a firmar (RS(D)) a un dispositivo secundario (52, 62).

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

Solicitante: TELEFONICA, S.A..

Nacionalidad solicitante: España.

Inventor/es: AMAYA CALVO,ANTONIO MANUEL, OCHOA FUENTES,MIGUEL.

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)

PDF original: ES-2526318_T3.pdf

 

google+ twitter facebook

Fragmento de la descripción:

Procedimiento y sistema de protección de firma electrónica Campo técnico

La presente invención se relaciona con seguridad en documentos electrónicos. Más particularmente, la presente invención se refiere a proteger la firma electrónica de documentos.

Descripción del estado de la técnica

Los documentos electrónicos se usan en todo tipo de negocios hoy día, complementando o sustituyendo a los documentos en papel. Cuando esos documentos se usan para cualquier tipo de transacción legal, normalmente requieren una firma, de la misma forma que los documentos en papel deben firmarse.

La firma manuscrita implica la intención del firmante pero no se liga a ningún documento particular. Es perfectamente posible "levantar" una firma manuscrita de un documento en papel, copiarla en otro y, salvo que se demuestre la falsificación de la firma, el nuevo documento sería considerado firmado. Las firmas digitales, sin embargo, son únicas para cada firmante y documento, de forma que las firmas están ligadas a un documento particular. Si algo cambia en el documento, la firma no sería válida.

Las firmas digitales se componen usando algoritmos de encriptación. Podemos modelar un esquema digital simple

como sigue:

1. Los firmantes tienen dos claves, una clave de verificación (o pública) (PbK) y una firma o clave privada (PvK). PbK se conoce públicamente, y es computacionalmente inviable conseguir PvK a partir de PbK. Solo el firmante conoce y tiene acceso a PvK.

2. Existe un par de funciones S(k,x) (función firma) y V(k,x) (función verificación,) con la siguiente propiedad:

V(PbK,S(PvK,x)) = x

3. Existe una función hash o función para generar claves H(x) con las siguientes propiedades:

La salida de H(x), siendo x un flujo de bits de cualquier longitud, es una longitud fija de bytes.

Dado x es computacionalmente eficiente computar H(x)

Dado cualquier valor h que sea una salida válida de H(), es computacionalmente inviable computar cualquier valor x tal que H(x)=h.

Así que dado el esquema (Pvk, PbK, S(), V(), H()), el algoritmo para computar una firma digital de un documento D es como sigue:

1. Computar h = H(D).

2. Computar s = S(PvK,h)

Mientras que el algoritmo para verificar una firma digital para un documento D es como sigue:

1. Computar h = H(d)

2. Verificar que V(PbK,s) = h

Con el esquema definido, las firmas digitales se ligan a un documento y no solo implican el consentimiento del firmante a los contenidos, sino que también previenen cualquier manipulación del documento.

Nótese que para que este esquema funcione, debe haber alguna forma de distribuir, verificar y ligar PbK al firmante.

Esquemáticamente, el proceso de firma convencional se representa en la Figura 1. En la figura 1, Bob es el firmante del documento y Alice la receptora/verificadora del documento firmado.

Un esquema que detalla el proceso de firma, en el que la clave privada PvK se almacena en hardware seguro, como se implementa normalmente, se representa gráficamente en la Figura 2. La figura 3 representa el mismo proceso en un esquema cronológico, por claridad. La siguiente tabla resume el proceso ilustrado:

Una aplicación de firma (SA) lee el documento a firmar (D) del almacenamiento (local o en red)

La aplicación presenta una representación gráfica de D a Bob, de forma que él pueda revisarlo antes de firmar. Esta parte del proceso se requiere por la mayoría de las legislaciones de firma digital.

Bob lee (y entiende) la representación de D.

Bob afirma su intención de firmar el documento. Es posible que en esta etapa un PIN (Número de Identificación Personal) sea requerido. Este PIN se usará para "desbloquear" PvK.

La aplicación de firma (SA) computa H(D).

SA envía H(D) al dispositivo de firma, con el PIN del usuario si se ha requerido.

16

El dispositivo de firma, usando la clave privada almacenada de forma segura, computa y devuelve S(PvK,H(D))

Nótese que el esquema representado es válido para cualquier triada de funciones (S(),V(), H()).

El Estándar de Firma Digital (DSS) presenta un esquema de firma que, si bien especifica las funciones hash y de encriptación concretas, sigue el esquema general que se acaba de describir. Este esquema se describe en completo detalle en el Estándar de Firma Digital (DSS) ( http://www.itl.nist.gov/fipspubs/fip186.html .

PKCS#7 (RFC-2315 http://tools.ietf.ora/html/rfc2315 ~> define un Formato de Mensaje para datos firmados. PKCS es el acrónlmo de Estándares de Criptografía de Clave Pública.

XML-DSIg ( http://www.w3.org/TR/xmldslg-core/ ) es una recomendación de W3C (World Wide Web Consortium) que define una sintaxis XML (Lenguaje de Marcas Extensible) para firmas digitales. Funcionalmente, tiene mucho en común con PKCS#7 pero es más extensible y orientado hacia firmar documentos XML

La solicitud de patente europea "Method and system for implementing a digital signature" (EP1142194 A1) describe un Procedimiento para realizar la firma digital en una estación móvil, pero no dice nada sobre el problema de la no- repudiación.

La solicitud de patente `Electronic document processing system and method of forming digital signatura (US 5465299 A) describe un Procedimiento para crear `versiones de un documento firmado digitalmente, en el que cada versión sucesiva se firma e incluye la firma de la versión anterior.

La patente `Method and apparatus for an adapted digital signatura (US 6615348 B1) describe un algoritmo para generar identidades de usuario usando un algoritmo de firma digital modificado.

La patente `Method and apparatus for validating a digital signatura (US 717829 B2) describe una forma de verificar que una firma que incluye un certificado digital es válida incluso si el certificado digital ha sido revocado. Es básicamente un servicio de sello de tiempo.

La solicitud de patente europea "Signatur erfahren" (EP 1261165 A1) describe un procedimiento para generar una firma sobre un dispositivo móvil y transferirla a un ordenador personal.

La solicitud de patente "Server-side digital signatura system" (US 23/93678) describe un servicio de generación de firma a distancia basado en un navegador".

La solicitud de patente europea "Methods and system for providing a public key fingerprint list in a PK system" (EP 141143 A1) describe un servidor que almacena una lista de huellas dactilares clave públicas.

La solicitud de patente "Toolbar signatura" (US 29/11199) describe una barra de herramientas de un navegador Web para generar firmas.

Sin embargo, las soluciones actuales presentan varios problemas: Según Ross Anderson, Profesor de Ingeniería de la Seguridad en la Universidad de Cambridge: `Simplemente no sé cómo tener confianza en una firma digital que hago incluso en mi propio PC - y llevo trabajando en seguridad más de quince años. Chequear todo el software en el camino crítico entre el display y el software de firma va más allá de mi paciencia." Y: `Sin embargo, si fuera lo suficientemente tonto como para aceptar un dispositivo avanzado de firma electrónica, entonces habría una presunción de la validez de cualquier firma que pareciese haber sido hecha con él. [...] Esto, unido a los hechos de que las tarjetas inteligentes no tienen una interfaz de usuario de confianza y de que los PCs que la mayoría de la gente usaría para proporcionar esta interfaz... [Seguir leyendo]

 


Reivindicaciones:

1. Un procedimiento de protección de la firma electrónica de un documento (D), que comprende:

leer (5, 6) un documento a firmar (D) por una aplicación (54, 64);

presentar (51, 61) una representación gráfica de dicho documento (D) a un usuario (51, 61); aceptar (531, 631) el documento a firmar (D) por dicho usuario (51, 61); estando el procedimiento caracterizado por:

en un servidor (5, 6), computar (542, 642) una función hash (H(D)), una función validación extendida del hash (EV(H(D))) y una función resumen legible del documento a firmar (RS(D)); desde dicho servidor (5, 6), enviar (543, 643; 551, 651;) dicha función hash (H(D)) y dicha función validación extendida del hash (EV(H(D))) a dicha aplicación (54, 64) y a un dispositivo de firma (53, 63);

desde dicho servidor (5, 6), enviar (552, 652) dicha función hash (H(D)) y dicha función resumen legible del documento a firmar (RS(D)) a un dispositivo secundario (52, 62).

2. El procedimiento de la reivindicación 1, que comprende además:

verificar (553, 653) por el usuario (51, 61) que dicha función resumen legible del documento a firmar (RS(D)) recibida en el dispositivo secundario (52, 62) corresponde a dicho documento (D); verificar (554, 654) por el usuario (51, 61) que dicha función hash (H(D)) recibida en el dispositivo secundario (52, 62) es la misma que la que el dispositivo de firma (53, 63) está presentando al usuario (51, 61) para su revisión;

si la verificación de datos es correcta, aceptarlo (555, 655) por el usuario (51, 61).

3. El procedimiento de la reivindicación 2, en el que dicha aceptación (555, 655) se hace introduciendo el PIN del usuario en el dispositivo de firma (53, 63).

4. El procedimiento de cualquiera de las reivindicaciones 2 ó 3, que comprende además:

computar (561, 661) por dicho dispositivo de firma (53, 63) una función firma;

enviar (571,671) dicha función firma por dicho dispositivo de firma (53, 63) a dicha aplicación (54, 64).

5. El procedimiento de la reivindicación 4, en el que dicha función firma depende de una clave privada almacenada de forma segura, de dicha función hash (H(D)) y de dicha función validación extendida del hash (EV(H(D))).

6. El procedimiento de cualquiera de las reivindicaciones anteriores, en el que dicho dispositivo secundario (52, 62) es un terminal móvil.

7. El procedimiento de cualquiera de las reivindicaciones anteriores, en el que dicha etapa de aceptar (531, 631) el documento a firmar (D) por dicho usuario (51, 61) se hace sin requerir el PIN del usuario.

8. El procedimiento de cualquiera de las reivindicaciones 2-7, en el que, una vez que el usuario (51, 61) ha aceptado (531, 631) el documento a firmar (D), dicha aplicación envía (541, 641) a dicho servidor (5, 6) información sobre dicho documento (D) y sobre el dispositivo de firma (53, 63) y el dispositivo secundario (52, 62).

9. El procedimiento de la reivindicación 8, en el que dicha información sobre el dispositivo de firma (53, 63) y el dispositivo secundario (52, 62) es la dirección del dispositivo de firma (53, 63) y la dirección del dispositivo secundario (52, 62).

1. Un sistema que comprende medios adaptados para llevar a cabo el procedimiento según cualquiera de las reivindicaciones anteriores.

11. Un programa informático que comprende medios de código de programa informático adaptados para realizar el procedimiento según cualquiera de las reivindicaciones de la 1 a la 9, cuando dicho programa se ejecuta en un ordenador, un procesador de señal digital, una disposición de puertas de campo programable, un circuito integrado de aplicación específica, un microprocesador, un microcontrolador, y cualquier otra forma de hardware programable.