ES2687396T3 - Métodos y dispositivos para la transferencia segura de datos útiles - Google Patents

Métodos y dispositivos para la transferencia segura de datos útiles Download PDF

Info

Publication number
ES2687396T3
ES2687396T3 ES16155540.4T ES16155540T ES2687396T3 ES 2687396 T3 ES2687396 T3 ES 2687396T3 ES 16155540 T ES16155540 T ES 16155540T ES 2687396 T3 ES2687396 T3 ES 2687396T3
Authority
ES
Spain
Prior art keywords
key
encrypted text
value
encryption
verification value
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
ES16155540.4T
Other languages
English (en)
Inventor
Burkhard Fuchs
Olaf Stücker
Dennis KÜGLER
Dominik Klein
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.)
Deutsche Telekom AG
Original Assignee
Deutsche Telekom AG
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 Deutsche Telekom AG filed Critical Deutsche Telekom AG
Application granted granted Critical
Publication of ES2687396T3 publication Critical patent/ES2687396T3/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

Método (200) para la transferencia segura de datos útiles a un elemento de seguridad (101), comprendiendo el método (200): la facilitación (201) de una clave de encriptación (KENC) y de una clave de valor de comprobación (KMAC) en el elemento de seguridad (101); la encriptación (203) de los datos útiles mediante la clave de encriptación (KENC) empleando un cifrado, para generar al menos un primer texto cifrado (c1) y un segundo texto cifrado (c2); la transferencia (205) de un conjunto de datos (120) al elemento de seguridad (101), comprendiendo el conjunto de datos transferido completamente (120) el primer texto cifrado (c1), el segundo texto cifrado (c2), un valor de comprobación del primer texto cifrado (h(c1)), un valor de comprobación del segundo texto cifrado (h(c2)), un valor de comprobación de un primer valor de comprobación basado en claves (h(MAC1)), estando incluido en el primer valor de comprobación basado en claves (MAC1) el valor de comprobación del primer texto cifrado (h(c1)), un valor de comprobación de un segundo valor de comprobación basado en claves (h(MAC2)), estando incluidos en el segundo valor de comprobación basado en claves (MAC2) el primer valor de comprobación basado en claves (MAC1) y el valor de comprobación del segundo texto cifrado (h(c2)), así como una firma sobre del valor de comprobación del primer texto cifrado y el valor de comprobación del primer valor de comprobación basado en claves (Sign1[h(c1)||h(MAC1)]).

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Metodos y dispositivos para la transferencia segura de datos utiles
La invencion se refiere a metodos y dispositivos para la transferencia segura de datos utiles. En particular la invencion se refiere a un metodo para la transferencia segura de datos utiles desde un sistema en segundo plano, en particular un servidor, a un elemento de seguridad, un sistema en segundo plano, en particular un servidor, para la transferencia segura de datos utiles a un elemento de seguridad as! como a un elemento de seguridad correspondiente.
Los elementos de seguridad en forma de tarjetas con chip se emplean con frecuencia como documentos de seguridad, por ejemplo en forma de un documento de identidad electronico, de una tarjeta con firma o similar. En este sentido los elementos de seguridad modernos disponen por regla general de una memoria as! como de un procesador y estan configurados mediante un sistema operativo para ejecutar aplicaciones de seguridad. Ejemplos de aplicacion para tales aplicaciones de seguridad son una autenticacion con respecto a un terminal, el establecimiento de un canal de comunicacion de datos asegurado, la firma electronica de datos as! como la verificacion de firmas y similares. De este modo tales elementos de seguridad pueden utilizarse para interactuar con proveedores de servicios discrecionales, para autenticarse por ejemplo para transacciones electronicas, por ejemplo a traves de Internet y ejecutarlas de manera segura. Adicionalmente pueden utilizarse elementos de seguridad para el almacenamiento de datos, como por ejemplo datos personales y/o relevantes para la seguridad as! como otros datos utiles y respaldar por ejemplo sistemas de control de fronteras o de control de acceso.
Con frecuencia los elementos de seguridad disponen de una interfaz de comunicacion adecuada, por ejemplo una interfaz de comunicacion RF-o NFC para poder comunicarse sin contacto con un terminal o un servidor de un sistema en segundo plano conectado con el terminal.
En sistemas operativos para PC se sabe como reequipar o modificar mediante actualizaciones de software por un lado la funcionalidad de un sistema operativo y por otro lado mejorar mecanismos de seguridad, por ejemplo mediante el cierre de fallos de seguridad descubiertos. A este respecto un mecanismo de actualizacion de software comprende habitualmente una prueba de autenticidad, con lo que puede garantizarse que solo se instalen tales actualizaciones de software cuya autenticidad esta garantizada por el fabricante de la actualizacion.
En el marco de elementos de seguridad, en particular tarjetas con chip, se conocen actualizaciones de software, que actualizan o ampllan la funcionalidad de los elementos de seguridad, es decir de las aplicaciones implementadas en el elemento de seguridad, que se ejecutan en el sistema operativo del elemento de seguridad. Un mecanismo de actualizacion de software puede comprenden en este campo igualmente una prueba de autenticidad. Se conocen estandares correspondientes para una gestion de aplicacion de este tipo en elementos de seguridad, por ejemplo el estandar ''Global Platform Specification". Segun este estandar se instala la actualizacion de software, al establecerse entre un servidor de un sistema en segundo plano y el elemento de seguridad una conexion encriptada. Los datos de actualizacion sin encriptar existentes en el servidor se transmiten entonces a traves de la conexion con el elemento de seguridad y se instalan tras una prueba de autenticidad realizada con exito.
En varios escenarios de aplicacion se emiten elementos de seguridad durante un largo periodo de tiempo. Por ejemplo pueden operarse elementos de seguridad en forma de documentos de identidad electronicos durante un periodo de tiempo de diez anos o mas en el campo. No ha de descartarse que durante tales largos periodos de tiempo los mecanismos de seguridad originales del sistema operativo de un elemento de seguridad pierdan su eficacia o incluso se vean comprometidos por completo, entre otros mediante fallos de seguridad descubiertos en el hardware o en el sistema operativo del elemento de seguridad. Ademas tambien los avances tecnicos y/o criptoanallticos pueden llevar a que la seguridad de los metodos criptograficos empleados en el momento de emision de un elemento de seguridad se vea perjudicada, por ejemplo debido a longitudes de clave demasiado cortas y/o avances tecnicos y/o criptoanallticos que hacen posible debido a fenomenos que pueden observarse flsicamente comprometer la funcionalidad de seguridad de un elemento de seguridad mediante un denominado ataque de canal lateral.
A menudo los problemas de seguridad de este tipo pueden eliminarse mediante actualizaciones de software de los mecanismos de seguridad del sistema operativo de un elemento de seguridad. La utilizacion directa de tecnicas establecidas de actualizaciones de software para sistema operativos de PC o para aplicaciones sobre elementos de seguridad lleva no obstante en este sentido a los siguientes problemas.
Un mecanismo de actualizacion de software puede servir incluso a un atacante como canal lateral o simplificar un ataque mediante analisis de canal lateral, cuando el mecanismo permite a un atacante realizar operaciones criptograficas con la funcionalidad de seguridad del elemento de seguridad utilizada en el momento de la actualizacion de software y posiblemente debilitada para generar fenomenos que puedan observarse flsicamente. Ademas un mecanismo de actualizacion de software debe garantizar que el caracter confidencial de los datos de actualizacion este presente continuamente desde el momento de la creacion en el lado del fabricante hasta la activacion tras la transferencia al elemento de seguridad. Si un atacante obtiene acceso a los datos de actualizacion,
5
10
15
20
25
30
35
40
45
50
55
60
65
entonces mediante ingenierla inversa pueden extraerse conclusiones directas sobre los fallos de seguridad del elemento de seguridad tomados como base. Un elemento de seguridad presenta por regla general tanto una capacidad de almacenamiento o comunicacion limitada como una capacidad de computo restringida, lo que limita la complejidad de las operaciones criptograficas que pueden utilizarse en un mecanismo de actualization de software para elementos de seguridad. Finalmente un mecanismo de actualizacion de software debe garantizar que la autenticidad de los datos de actualizacion quede garantizada antes de la instalacion en el elemento de seguridad.
Ante este trasfondo el objetivo de la presente invention es facilitar metodos y dispositivos mejorados para la transmision segura de datos utiles, en particular de datos utiles en forma de una actualizacion de software para un elemento de seguridad.
Este objetivo se resuelve mediante las caracterlsticas de las reivindicaciones independientes. Las formas de perfeccionamientos ventajosos son objeto de las reivindicaciones dependientes.
Segun un primer aspecto a la invencion se refiere un metodo para la transferencia segura de datos utiles a un elemento de seguridad, comprendiendo el metodo: la facilitation de una clave de encriptacion KENc y de una clave de valor de comprobacion KMAC en el elemento de seguridad; la encriptacion de los datos utiles mediante la clave de encriptacion KENC empleando un cifrado, para generar al menos un primer texto cifrado c1 y un segundo texto cifrado c2; la transferencia de un conjunto de datos al elemento de seguridad, comprendiendo el conjunto de datos transferido completamente el primer texto cifrado ci, el segundo texto cifrado c2, un valor de comprobacion del primer texto cifrado h(ci), un valor de comprobacion del segundo texto cifrado h(c2), un valor de comprobacion de un primer valor de comprobacion basado en claves h(MACi), estando incluido en el primer valor de comprobacion basado en claves MACi el valor de comprobacion del primer texto cifrado h(ci), un valor de comprobacion de un segundo valor de comprobacion basado en claves h(MAC2), estando incluido en el segundo valor de comprobacion basado en claves MAC2 el primer valor de comprobacion basado en claves MACi y el valor de comprobacion del segundo texto cifrado h(c2), as! como una firma sobre del valor de comprobacion del primer texto cifrado y el valor de comprobacion del primer valor de comprobacion basado en claves Signi[h(ci)||h(MACi)].
Segun una forma de realization del primer aspecto de la invencion en el primer valor de comprobacion basado en claves MACi esta incluido ademas un parametro de initialization IVmac.
Segun una forma de realizacion del primer aspecto de la invencion en la etapa de la transferencia del conjunto de datos al elemento de seguridad se transfieren un primer mensaje, que comprende el valor de comprobacion del primer texto cifrado h(ci) y el valor de comprobacion del primer valor de comprobacion basado en claves h(MACi), y un segundo mensaje, que comprende el valor de comprobacion del segundo texto cifrado h(c2) y el valor de comprobacion del segundo valor de comprobacion basado en claves h(MAC2), al elemento de seguridad.
Segun una forma de realizacion del primer aspecto de la invencion el primer mensaje comprende ademas la firma sobre del valor de comprobacion del primer texto cifrado y el valor de comprobacion del primer valor de comprobacion basado en claves Signi[h(ci)||h(MACi)].
Segun una forma de realizacion del primer aspecto de la invencion el metodo comprende las etapas adicionales, comprobar como respuesta a la transferencia del primer mensaje al elemento de seguridad la firma sobre del valor de comprobacion del primer texto cifrado h(ci) y el valor de comprobacion del primer valor de comprobacion basado en claves h(MACi) del elemento de seguridad y, en caso de que la firma del elemento de seguridad no pueda verificarse, el elemento de seguridad interrumpe el proceso.
Segun una forma de realizacion del primer aspecto de la invencion el segundo mensaje comprende el primer texto cifrado ci.
Segun una forma de realizacion del primer aspecto de la invencion el conjunto de datos comprende ademas una firma sobre del valor de comprobacion del segundo valor de comprobacion basado en claves Sign2[h(MAC2)].
Segun una forma de realizacion del primer aspecto de la invencion en la etapa de la transferencia del conjunto de datos al elemento de seguridad se transfiere un mensaje adicional al elemento de seguridad, que comprende la firma sobre del valor de comprobacion del segundo valor de comprobacion basado en claves Sign2[h(MAC2)].
Segun una forma de realizacion del primer aspecto de la invencion en caso del valor de comprobacion del primer texto cifrado se trata de un valor de resumen criptografico (hash) del primer texto cifrado h(ci) y en caso del valor de comprobacion del segundo texto cifrado se trata de un valor hash del segundo texto cifrado h(c2).
Segun una forma de realizacion del primer aspecto de la invencion en el caso del cifrado, que se emplea para la encriptacion de los datos utiles mediante la clave de encriptacion Kenc, se trata de un cifrado por bloques y/o de un cifrado en flujo.
Segun una forma de realizacion del primer aspecto de la invencion en el caso del cifrado, que se emplea para la
5
10
15
20
25
30
35
40
45
50
55
60
65
encriptacion de los datos utiles mediante la clave de encriptacion Kenc, se trata de un cifrado en flujo, que en una parte basada en claves del metodo genera un flujo de claves, mediante el cual en una parte del metodo no basada en claves se generan el primer texto cifrado ci y el segundo texto cifrado c2.
Segun una forma de realizacion del primer aspecto de la invencion en el caso del cifrado, que se emplea para la encriptacion de los datos utiles mediante la clave de encriptacion Kenc, se trata de un cifrado por bloques AES, en particular un cifrado por bloques AES en el modo OFB o modo CTR, o de un cifrado por bloques TDES.
Segun una forma de realizacion del primer aspecto de la invencion el primer valor de comprobacion basado en claves y el segundo valor de comprobacion basado en claves son un MAC, en particular un CMAC o CBC-MAC, y se calculan empleando el cifrado por bloques AES o el cifrado por bloques TDES que se emplea tambien para la encriptacion.
Segun una forma de realizacion del primer aspecto de la invencion para la encriptacion de los datos utiles mediante la clave de encriptacion Kenc y para la creacion de los valores de comprobacion basados en claves tambien puede emplearse un cifrado por bloques AES en el modo Galois/CTR.
Segun una forma de realizacion del primer aspecto de la invencion la facilitacion de la clave de encriptacion Kenc y de la clave de valor de comprobacion Kmac en el elemento de seguridad comprende la etapa del calculo de un secreto y la etapa de la derivacion de la clave de encriptacion Kenc y de la clave de valor de comprobacion Kmac a partir del secreto calculado.
Segun una forma de realizacion del primer aspecto de la invencion el conjunto de datos comprende ademas una clave publica de un par de claves eflmeras PA y comprendiendo la etapa del calculo de un secreto comprende el calculo del secreto basandose de la clave publica del par de claves eflmeras PA y de una clave privada dB depositado de manera segura en el elemento de seguridad.
Segun una forma de realizacion del primer aspecto de la invencion el conjunto de datos comprende ademas una firma sobre de la clave publica del par de claves eflmeras PA o al menos sobre de una parte significativa del mismo.
Segun un segundo aspecto la invencion se refiere a un elemento de seguridad con: una interfaz de comunicacion, que esta configurada para recibir un conjunto de datos transferido por un sistema en segundo plano, comprendiendo el conjunto de datos transferido completamente un primer texto de cifrado c1, un segundo texto cifrado c2, un valor de comprobacion del primer texto cifrado h(c1), un valor de comprobacion del segundo texto cifrado h(c2), un valor de comprobacion de un primer valor de comprobacion basado en claves h(MAC1), estando incluido en el primer valor de comprobacion basado en claves MAC1 el valor de comprobacion del primer texto cifrado h(c1), un valor de comprobacion de un segundo valor de comprobacion basado en claves h(MAC2), estando incluidos en el segundo valor de comprobacion basado en claves MAC2 el primer valor de comprobacion basado en claves MAC1 y el valor de comprobacion del segundo texto cifrado h(c2), as! como una firma sobre del valor de comprobacion del primer texto cifrado y el valor de comprobacion del primer valor de comprobacion basado en claves Sign1[h(c1)||h(MAC1)]; y un procesador, que esta configurado para verificar basandose en una clave de encriptacion Kenc y en una clave de valor de comprobacion Kmac el conjunto de datos y desencriptar el primer texto cifrado c1 y el segundo texto cifrado c2.
Segun un tercer aspecto la invencion se refiere a un sistema en segundo plano, en particular un servidor, con: un procesador, que esta configurado para encriptar datos utiles mediante una clave de encriptacion Kenc empleando un cifrado, para obtener al menos un primer texto cifrado c1 y un segundo texto cifrado c2; y una interfaz de comunicacion, que esta configurada para transferir un conjunto de datos a un elemento de seguridad, comprendiendo el conjunto de datos transferido completamente el primer texto cifrado c1, el segundo texto cifrado c2, un valor de comprobacion del primer texto cifrado h(c1), un valor de comprobacion del segundo texto cifrado h(c2), un valor de comprobacion de un primer valor de comprobacion basado en claves h(MAC1), estando incluido en el primer valor de comprobacion basado en claves MAC1 el valor de comprobacion del primer texto cifrado h(c1), un valor de comprobacion de un segundo valor de comprobacion basado en claves h(MAC2), estando incluidos en el segundo valor de comprobacion basado en claves MAC2 el primer valor de comprobacion basado en claves MAC1 y el valor de comprobacion del segundo texto cifrado h(c2), as! como una firma sobre del valor de comprobacion del primer texto cifrado y el valor de comprobacion del primer valor de comprobacion basado en claves Sign1[h(c1)||h(MAC1)].
Otros ejemplos de realizacion se explican con referencia a los dibujos adjuntos. Muestran:
La figura 1, una representacion esquematica de un sistema de comunicacion con un servidor de un sistema en segundo plano y un elemento de seguridad segun una forma de realizacion;
la figura 2, una representacion esquematica de un metodo para la transmision segura de datos utiles desde un servidor de un sistema en segundo plano a un elemento de seguridad segun una forma de realizacion; la figura 3, una representacion esquematica de un conjunto de datos que puede emplearse para la transmision segura de datos utiles desde un servidor de un sistema en segundo plano a un elemento de seguridad segun una forma de realizacion; y
5
10
15
20
25
30
35
40
45
50
55
60
65
la figura 4, una representacion esquematica del desarrollo de un posible metodo para la encriptacion de los datos utiles en un sistema en segundo plano segun una forma de realizacion.
En la siguiente descripcion detallada se hace referencia a los dibujos adjuntos que forman una parte de esta y en los que se muestran como ilustracion formas de realizacion especlficas en las que puede realizarse la invencion. Se entiende que tambien pueden utilizarse otras formas de realizacion y pueden llevarse a cabo variaciones estructurales o logicas sin desviarse del concepto de la presente invencion. La siguiente descripcion detallada por lo tanto no ha de entenderse en un sentido limitativo. Ademas se entiende que las caracterlsticas de los diferentes ejemplos de realizacion descritos en la presente memoria pueden combinarse entre si, siempre y cuando no este indicado especlficamente lo contrario.
Los aspectos y formas de realizacion se describen con referencia a los dibujos, refiriendose los mismos numeros de referencia en general a los mismos elementos. En la siguiente descripcion para fines descriptivos se representan numerosos detalles especlficos para otorgar una comprension extensa de uno o varios aspectos de la invencion. Sin embargo para un experto en la materia puede ser obvio sin embargo que pueden realizarse uno o varios aspectos o formas de realizacion con un menor grado de detalles especlficos. En otros casos se representan estructuras y elementos conocidos en forma esquematica para facilitar la descripcion de uno o varios aspectos o formas de realizacion. Se entienden que pueden utilizarse otras formas de realizacion y llevarse a cabo variaciones estructurales o logicas sin desviarse del concepto de la presente invencion.
Se describen dispositivos, y se describen metodos. Se entiende que las propiedades basicas de los dispositivos tambien son validas para los metodos y a la inversa. Por lo tanto para mayor brevedad se renuncia dado el caso a una descripcion duplicada de tales propiedades.
La figura 1 muestra una representacion esquematica de una forma de realizacion preferida de un elemento de seguridad 101 en forma de una tarjeta con chip en comunicacion con un sistema en segundo plano, en particular un servidor 111, que configuran parte de un sistema de comunicacion 100. Ademas del servidor 111 el sistema en segundo plano puede presentar componentes adicionales, en particular servidor y/o terminales en las cuales adicionalmente al servidor 111 pueden facilitarse algunas de las funcionalidades descritas a continuacion. Preferiblemente se trata en el caso del elemento de seguridad 101 de un documento de seguridad electronico, como por ejemplo un carne de identidad electronico, un pasaporte electronico, una tarjeta con firma o similar. Sin embargo en el caso del elemento de seguridad 101 puede es tratarse igualmente de una tarjeta con chip para realizar transacciones sin dinero en metalico, por ejemplo una tarjeta de debito o una tarjeta de credito, o tambien una tarjeta SIM o un modulo SIM que estan conectados puede insertarse o fijamente conectado por cables con un terminal movil y sirven para la identificacion del abonado de telefonla movil.
La tarjeta con chip 101 representada en la figura 1 esta configurada para intercambiar datos con el servidor 111. Por intercambio de datos se entiende en este caso una transmision de senales, un control alterno y en casos sencillos tambien una conexion entre el servidor 111 y la tarjeta con chip 101. En la teorla de la information un intercambio de datos esta marcado en particular mediante el modelo emisor-receptor: datos o informaciones se codifican en signos y se transmiten despues por un emisor a traves de un canal de transmision a un receptor. En este sentido es decisivo que emisor y receptor empleen la misma codification para que el receptor pueda decodificar los datos.
Para la comunicacion entre la tarjeta con chip 101 y el servidor 111 del sistema en segundo plano tanto la tarjeta con chip 101 como el servidor 111 presentan interfaces de comunicacion 105 y 113 adecuadas. Las interfaces 105 y 113 pueden estar disenadas por ejemplo de modo que la comunicacion entre estas o entre la tarjeta con chip 101 y el servidor 111 se realice al menos parcialmente sin contacto, es decir a traves de la interfaz aerea, por ejemplo a traves de una interfaz RF o NFC. En este caso la interfaz 105 de la tarjeta con chip 101 puede presentar una estructura de antena configurada de manera adecuada y la interfaz 113 del servidor o del sistema en segundo plano 111 puede comprender un aparato de lectura. En formas de realizacion adicionales la tarjeta con chip 101 puede conectarse a traves de la interfaz 105 de modo galvanico, es decir por contacto, con la interfaz 113 del servidor o del sistema en segundo plano 111. En este caso la interfaz 105 comprende por regla general un campo de contacto dispuesto en un lado de la tarjeta con chip 101 con superficies de contacto para el intercambio de datos con el servidor 111 y la interfaz 113 del servidor o del sistema en segundo plano 111 un lector de tarjeta. Naturalmente por la presente invencion tambien estan comprendidos elementos de seguridad en forma de tarjetas con chip que presentan tanto una interfaz para la comunicacion con contacto como una interfaz para la comunicacion sin contacto y que se conocen como tarjetas con chip con interfaz dual.
En la forma de realizacion representada en la figura 1 la tarjeta con chip 101 comprende ademas de la interfaz 105 para la comunicacion con el servidor o el sistema en segundo plano 111 un procesador 103, que esta conectado en comunicacion con la interfaz 105. Tal como se sabe entre las tareas primarias del procesador 103 se encuentran la ejecucion de funciones aritmeticas y logicas y la lectura y escritura de datos, tal como se define mediante una aplicacion de software que se ejecuta en el procesador 103. El procesador 103 puede estar conectado ademas con una memoria de trabajo volatil (RAM) 109 y una memoria 107 no volatil regrabable (denominada en la figura 1 "NVM" (nonvolatile memory)). En formas de realizacion de la invencion en el caso de la memoria no volatil 107 puede tratarse de una memoria flash (Flash-EEPROM), por ejemplo de una memoria flash con una arquitectura
5
10
15
20
25
30
35
40
45
50
55
60
65
NAND o una arquitectura NOR. Ademas de una parte regrabable la memoria no volatil 107 puede presentar ademas una memoria ROM (no representada en la figura 1).
Naturalmente en formas de realization de la invention la tarjeta con chip 101 puede presentar tambien componentes adicionales o bloques funcionales que no estan representados en la figura 1, como por ejemplo un coprocesador criptografico que puede respaldar como componentes hardware dedicado al procesador 103 en la realizacion de operaciones criptograficas.
La memoria no volatil 107 de la tarjeta con chip 101 puede estar configurada de modo que este almacenada en este clave de programa que puede ejecutarse por el procesador 103. Por ejemplo en la memoria no volatil pueden estar almacenados un sistema operativo, aplicaciones y similares. En particular en la memoria no volatil 107 de la tarjeta con chip 101 puede estar implementado una clave de programa, mediante el cual la tarjeta con chip 101 esta
disenada para procesar un conjunto de datos 120 que comprende datos utiles encriptados que se transmite a la
tarjeta con chip 101 por el servidor o el sistema en segundo plano 111 de modo que se describira en detalle a continuation en relation con las figuras 2 a 4 adicionales. En el caso de datos utiles encriptados del conjunto de datos 120, que segun formas de realizacion de la invencion puede componerse de varios bloques de mensajes, puede tratarse por ejemplo de una actualization de software para la tarjeta con chip 101, en particular para su sistema operativo.
La figura 2 muestra un metodo 200 para la transferencia segura de datos utiles desde el sistema en segundo plano, en particular servidor, 111 al elemento de seguridad 101 segun una forma de realizacion.
El metodo 200 comprende la facilitation 201 de una clave de encriptacion Kenc y de una clave de valor de
comprobacion Kmac en el elemento de seguridad 101. En caso de la clave de valor de comprobacion Kmac puede tratarse en particular de una clave para la creation de un MAC (Message Authentication Code).
El metodo 200 comprende ademas la encriptacion 203 de los datos utiles mediante la clave de encriptacion KENC empleando un cifrado, para generar al menos un primer texto cifrado c1 y un segundo texto cifrado c2.
Tal como se describe con detalle a continuacion, en el caso del cifrado, que se emplea para la encriptacion (as! como para la desencriptacion) de los datos utiles mediante la clave de encriptacion KENC, segun formas de realizacion de la invencion puede tratarse de un cifrado por bloques y/o de un cifrado en flujo. En el uso de un cifrado por bloques se trata en caso del primer texto cifrado c1 y el segundo texto cifrado c2 de un primer bloque de cifras c1 y de un segundo bloque de cifras c2.
El metodo comprende ademas la transferencia 205 de un conjunto de datos 120 al elemento de seguridad 101, comprendiendo el conjunto de datos transferido completamente 120 el primer texto cifrado c1, el segundo texto cifrado c2, un valor de comprobacion del primer texto cifrado h(c1), un valor de comprobacion del segundo texto cifrado h(c2), un valor de comprobacion de un primer valor de comprobacion basado en claves h(MAC1), estando incluido en el primer valor de comprobacion basado en claves MAC1 el valor de comprobacion del primer texto cifrado h(c1), un valor de comprobacion de un segundo valor de comprobacion basado en claves h(MAC2), estando incluidos en el segundo valor de comprobacion basado en claves MAC2 el primer valor de comprobacion basado en claves MAC1 y el valor de comprobacion del segundo texto cifrado h(c2), as! como una firma sobre del valor de comprobacion del primer texto cifrado y el valor de comprobacion del primer valor de comprobacion basado en claves Sign1[h(c1)||h(MAC1)].
Tal como se describe en detalle a continuacion, en caso de valores de comprobacion puede tratarse en particular de valor de resumen criptografico y en el caso de valores de comprobacion basados en claves de MAC.
Formas de realizacion adicionales del metodo 200, del elemento de seguridad 101 y del sistema en segundo plano, en particular del servidor, 111 se describen a continuacion.
Por parte del elemento de seguridad en forma de la tarjeta con chip 101 se genera un par de claves asimetrico con una clave publica PB y una clave privada dB que sirve para la derivation de claves simetricos utilizados en metodos adicionales. En el sistema en segundo plano, en particular servidor, 111 se generan dos pares de claves de firma asimetricos con claves publicos PSA1 y PSA2 y en cada caso claves privados dSA1 y dSA2 correspondientes. El clave privada dB as! como los claves de firma publicos PSA1 y PSA2 se almacenan protegidos en la tarjeta con chip 101 frente a manipulation y acceso, por ejemplo en la memoria flash 107 de la tarjeta con chip 101. Estas etapas pueden realizarse en el marco de una personalization de la tarjeta con chip 101 por parte del fabricante de la tarjeta con chip 101.
Segun formas de realizacion de la invencion los pares de claves descritos anteriormente pueden generarse por ejemplo mediante curvas ellpticas, es decir en caso de los pares de claves dB, PB y dA, PA puede tratarse de pares de claves EC. En este sentido se aplica para PA := dA*G y para PB := dB*G, designando G el punto basico que se compone de la coordenada x Gx y de la coordenada y Gy de la curva ellptica E(F(p)). La curva ellptica esta definida por los parametros de sistema publicos /no publicos, concretamente p, a, b, Gx, Gy, n y el cofactor h. La
5
10
15
20
25
30
35
40
45
50
55
60
65
multiplicacion escalar en el grupo implicado mediante E() se designa con *. La concatenation (en ingles concatenation) se representa con ||.
Si la tarjeta con chip 101 se encuentra en uso y resulta que es necesaria una actualization del sistema operativo implementado en la tarjeta con chip 101 segun formas de realization de la invention se procede como sigue.
Inicialmente por el sistema en segundo plano, en particular servidor, 111 se genera un par de claves eflmeras con clave publica PA y clave privada dA. Ademas los datos utiles pueden dividirse en una secuencia de n bloques de datos datos1 a datosn. Con ayuda de la clave privada del par de claves eflmeras dA y de la clave publica PB, por el sistema en segundo plano, en particular servidor, 111 empleando una funcion de establecimiento de claves KA(x) se calcula un secreto para derivar mediante una funcion de derivation de claves KDF(x) a partir de este secreto una clave de encriptacion Kenc, una clave para generar codigos de autenticacion de mensajes Kmac as! como parametros de initialization IVenc y IVmac. Con un metodo de encriptacion simetrico y la clave de encriptacion Kenc a partir de los n bloques de datos se generan despues n textos cifrados c1 a cn.
KA(x) designa una funcion para el establecimiento de claves (Key Agreement) que empleando una clave privada de una sucesion de bytes x calcula una nueva sucesion de byte que representa un secreto comun que el propietario de la clave privada comparte con un socio. Para que el socio pueda calcular igualmente la sucesion de bytes identica al socio ademas de la sucesion de bytes x debe facilitarsele un parametro adicional que le posibilite el calculo de valor identico del secreto (por ejemplo la clave publica del par de claves asimetricas). Las propiedades necesarias de KA(x) son que debe ser practicamente imposible que (i) mediante conocimiento de la sucesion de bytes x y de la clave publica pueda deducirse la clave privada empleada e (ii) mediante conocimiento de la sucesion de bytes x y de la clave publica pueda deducirse el valor del secreto resultante. Los protocolos de establecimiento de claves habituales, por ejemplo el protocolo de establecimiento de claves de Diffie-Hellman o ECKA en una implementation adecuada reunen estas propiedades criptograficas y por lo tanto son adecuadas para el uso en formas de realizacion de la invencion. Segun formas de realizacion de la invencion la funcion para el establecimiento de claves puede realizarse mediante una implementacion de software que puede recurrir a componentes de hardware dedicados con el fin de llevar a cabo las operaciones basicas matematicas necesarias para precision arbitraria, por ejemplo multiplicaciones de numeros grandes modulares en cuerpos primos, mediante componentes de hardware.
KDF(x) designa una funcion para la derivacion de claves (Key Derivation), que empleando la sucesion de bytes x genera una sucesion de bytes de longitud arbitraria. Segun formas de realizacion de la invencion a partir de esta sucesion de bytes pueden derivarse las claves KENC y KMAC as! como los vectores de inicializacion IVenc y IVmac para las funciones ENOPk(x) y MACK(x). Las propiedades necesarias de una funcion de derivacion de claves adecuada segun la invencion son que (i) practicamente debe ser imposible imitar la sucesion de bytes generada en el marco de un ataque de fuerza bruta "Brute Force", e (ii) se realiza una reproduction determinlstica de la sucesion de bytes Las funciones de derivacion de claves habituales, por ejemplo funciones de derivacion de claves basadas en SHAx o basadas en AES, cumplen en el caso de una implementacion adecuada estas propiedades criptograficas y por lo tanto son adecuadas para el uso en formas de realizacion de la invencion. Segun formas de realizacion de la invencion la funcion para la derivacion de claves puede realizarse mediante una implementacion de software, que puede recurrir a componentes de hardware dedicados, para poder permitir realizar las operaciones basicas matematicas necesarias, por ejemplo AES, mediante componentes de hardware.
A continuation se genera la secuencia de mensajes 120 representada en la figura 1, que se denomina en este caso tambien conjunto de datos 120, por el sistema en segundo plano, en particular servidor, 111 como sigue, tal como esta representado en detalle en la figura 3 en el marco de una forma de realizacion. El primer mensaje 121 del conjunto de datos 120 se compone de la clave eflmera publica PA, un valor de resumen criptografico del primer texto cifrados h(c1) con c1 = ENC(Kenc, IVenc || datos), un valor de resumen criptografico de un primer codigos de autenticacion de mensajes h(MAC1) con mAc1 = MAC(Kmac, IVmac || c1) del primer texto cifrado, que se genera con la clave KMAC, as! como de una firma Sign1 generada con la clave de firma privada dSA1 a traves de la clave eflmera publica PA, el valor de resumen criptografico del primer texto cifrados h(c1) as! como el valor de resumen criptografico h(MAC1).
El segundo mensaje hasta el antepenultimo incluido 123-129 se componen de triples de un texto cifrado q con i = 1 ... n-1, un valor de resumen criptografico del texto cifrado siguiente h(Ci+1) as! como un valor de resumen criptografico de un MAC o codigo de autenticacion de mensajes, que se calcula a traves del MAC o codigo de autenticacion de mensajes del texto cifrado actual ci as! como el valor de resumen criptografico del siguiente texto cifrado, es decir h(MAC(KMAC, MACi || h(ci+1)).
El penultimo mensaje 129 se compone del texto cifrado cn.
El ultimo mensaje 131 se compone de una firma del valor de resumen criptografico generada con la clave de firma privada dSA2 del MAC o codigo de autenticacion de mensaje a traves del ultimo texto cifrado cn, es decir h(MACn).
ENC(K, x) o ENCK(x) designa una funcion de encriptacion que transforma una sucesion de bytes x con ayuda de un algoritmo de encriptacion y de una clave simetrica K en un criptograma (ciphertext o texto cifrado). Segun formas de
5
10
15
20
25
30
35
40
45
50
55
60
65
realizacion de realizacion preferentes de la invencion se trata en este sentido de un cifrado en flujo basado en un algoritmo de encriptacion por bloques, por ejemplo AES-128. Segun formas de realizacion de la invencion el encriptado por bloques puede realizarse mediante un componente de hardware dedicado, por ejemplo mediante un coprocesador criptografico.
h(x) designa una funcion de resumen criptografico (hash), que reproduce una sucesion de bytes x de (en teorla) longitud discrecional en una sucesion de bytes de longitud definida, es decir el valor de resumen criptografico. Las propiedades necesarias de una funcion resumen adecuada para formas de realizacion de la invencion son que practicamente debe ser imposible, (i) mediante el conocimiento del valor de resumen criptografico deducir la sucesion de bytes x y (ii) encontrar al valor de resumen criptografico de una sucesion de bytes x una segunda sucesion de bytes x' que entregue un valor de resumen criptografico identico. Los algoritmos de resumen criptografico habituales (por ejemplo algoritmos de las familias de funciones de resumen criptografico SHA2 o SHA3) reunen en caso de una implementacion correcta estas propiedades criptograficas, y por lo tanto son adecuadas para el uso en formas de realizacion de la invencion. Segun formas de realizacion de la invencion la funcion resumen puede realizarse mediante una implementacion de software correspondiente o como alternativa mediante un componente de hardware dedicado.
MAC(K, x) o MACK(x) designa una funcion, que a una sucesion de bytes x (de longitud en teorla arbitraria) con ayuda de una clave secreta K calcula un codigo de autenticacion de mensajes (MAC) de longitud definida, que se denomina tambien valor de resumen criptografico basado en codigo. Las propiedades necesarias de una funcion MAC son que practicamente debe ser imposible, (i) mediante conocimiento del MAC deducir la clave empleada, (ii) encontrar a un codigo de autenticacion de mensajes de una sucesion de bytes x una segunda sucesion de bytes x' que suministre un codigo de autenticacion de mensajes identico, y (iii) sin conocimiento de la clave K calcular a una sucesion de bytes el codigo de autenticacion de mensajes correcto. Los algoritmos MAC habituales, preferiblemente basados en algoritmos de encriptacion por bloques, por ejemplo AES-CBC o AES-CMAC, o algoritmos de resumen criptografico, por ejemplo HMAC, cumplen en el caso de una implementacion adecuada estas propiedades criptograficas y por lo tanto son adecuados para el uso en formas de realizacion de la invencion. Segun formas de realizacion de la invencion la encriptacion por bloques y por lo tanto el calculo MAC puede realizarse mediante un componente de hardware dedicado.
Sign(x) designa una funcion de firma que calcula a una sucesion de bytes x con ayuda de la clave privada dSA1 o dSA2 de un par de claves asimetricas calcula una firma criptografica. La correccion de la firma puede verificarse con ayuda de la clave publica PSA1 o PSA2 del par de claves asimetricas. Las propiedades necesarias de una funcion de firma son que practicamente debe ser imposible, (i) deducir mediante conocimiento de la sucesion de bytes x y de la firma la clave privada empleada dSA1 o dSA2, (ii) deducir mediante conocimiento de la clave de verificacion publica PSA1 o PSA2 la clave privada empleada dSA1 o dSA2, (iii) encontrar a la firma de una sucesion de bytes x encontrar una segunda sucesion de bytes x' que suministre una firma identica, y (iv) sin conocimiento de la clave privada dSA1 o dSA2 calcular a una sucesion de bytes x la firma correcta. Los algoritmos de firma habituales, por ejemplo RSA o ECDSA, reunen en caso de una implementacion correcta estas propiedades criptograficas y por lo tanto son adecuados para el uso en formas de realizacion de la invencion. Segun formas de realizacion de la invencion la funcion de firma Sign(x) puede realizarse mediante una implementacion de software, que puede recurrir a componentes de hardware dedicados, para poder permitir realizar las operaciones basicas matematicas necesarias para precision arbitraria, como por ejemplo multiplicaciones de numeros grandes modulares en cuerpos primos, mediante componentes de hardware.
La secuencia de mensajes 120 se transfiere del sistema en segundo plano, en particular servidor, 111 al elemento de seguridad en forma de la tarjeta con chip 101. Tras la obtencion del primer mensaje 121 la tarjeta con chip 101 verifica inicialmente la firma sobre los datos transferidos con la clave de firma publica PSA1 almacenada y continua solo en caso de una comprobacion de firma exitosa. Con ayuda de la clave privada dB as! como de la clave publica eflmera PA se calcula de la tarjeta con chip 101 el secreto comun empleando una funcion de establecimiento de claves, por ejemplo el protocolo de establecimiento de claves de Diffie-Hellman o ECKA, y a partir de ello se deriva la clave de encriptacion Kenc, la clave para generar codigos de autenticacion de mensajes KMAC, el parametro de inicializacion IVenc y el parametro de inicializacion IVmac. Para el segundo hasta el penultimo mensaje 123-129 la tarjeta con chip 101 comprueba en cada caso, si el valor de resumen criptografico, transferido en el mensaje anterior, del codigo de autenticacion de mensajes del texto cifrado actual coincide realmente con el valor de resumen criptografico calculado del codigo de autenticacion de mensajes del texto cifrado transferido realmente en el mensaje anterior. En el caso de que no se presente ninguna coincidencia, la tarjeta con chip 101 interrumpe el proceso de transferencia. De lo contrario la tarjeta con chip 101 desencripta el texto cifrado con ayuda de la clave derivada KENC al bloque de datos.
En el ultimo mensaje 131 del conjunto de datos 120 mediante la tarjeta con chip 101 se verifica la firma del valor de resumen criptografico del codigo de autenticacion de mensajes sobre el ultimo texto cifrado con ayuda de la clave de firma publica PSA2. Solo cuando la firma se haya verificado correctamente se siguen empleando los datos utiles datos1 a datosn encriptados, por ejemplo para actualizar funciones de seguridad del sistema operativo del elemento de seguridad. De lo contrario estos datos son rechazados por la tarjeta con chip 101.
5
10
15
20
25
30
35
40
45
50
55
60
65
Segun formas de realizacion de realizacion preferentes de la invention para la encriptacion de los bloques de datos utiles se emplean datosi del estandar AES (Advanced Encryption Standard) en el modo OFB, tal como esta representado esquematicamente en la figura 4, en la que bloques de datos utiles se enlazan mediante una operation XOR con una clave que varla. En otras palabras, segun formas de realizacion de la invencion en el caso del cifrado, que se emplea para la encriptacion de los datos utiles mediante la clave de encriptacion Kenc se trata de un cifrado en flujo, que en una parte del metodo basada en claves genera un flujo de claves, mediante el cual en una parte del metodo no basada en claves se generan el primer texto cifrado (c1) y el segundo texto cifrado (c2).
Por ello se impide que una unidad AES procese datos que se conocen fuera de la tarjeta con chip 101. Para el inicio de la encriptacion segun formas de realizacion de la invencion se emplea el parametro de initialization IVenc (apartado 401-1 en la figura 4). Para todas las operaciones siguientes se utiliza el bloque de texto cifrado AES, que se empleo para la encriptacion del ultimo bloque de datos en el comando anterior, como bloque encadenado (chaining-block) (apartados 401-2 a 401-n de la figura 4).
Segun formas de realizacion de la invencion los bloques de cifras q pueden calcularse de la siguiente manera:
c1 := AES-OFB(Kenc, IVenc || datos^
ci := AES-OFB(Kenc, datosi); con i = 2, 3, ..., n,
refiriendose AES-OFB al "Advanced Encryption Standard' en el modo "Output Feedback" (retroalimentacion de salida).
Segun formas de realizacion de la invencion los codigos de autenticacion de mensajes MACi pueden calcularse de la siguiente manera:
MAC1 := AES-CMAC(Kmac, IVmac || h(q,))
MACi := AES-CMAC(Kmac, MACm || h(q)); con i := 2, 3, ..., n,
refiriendose AES-CMAC a "Cipher-based Message Authentication Code" (codigo de autenticacion de mensajes basado en cifrado) empleando el estandar "Advanced Encryption Standard'. Por lo tanto segun formas de realizacion de la invencion tanto para la encriptacion como para el calculo de los codigos de autenticacion de mensajes puede utilizarse ventajosamente una unidad AES.
Segun formas de realizacion de la invencion, las firmas anteriormente descritas se basan en curvas ellpticas. Por ejemplo las firmas pueden calcularse de la siguiente manera:
Sigm:= ECDSA[dSA1, h(PA.x || h(d) || h(MAC1)]
Sign2:= ECDSA[dSA2, h(MACn)],
refiriendose ECDSA a "Elliptic Curve Digital Signature Algorithm" (algoritmo de firma digital de curva ellptica).
Por razones de rendimiento en caso de formas de realizacion del elemento de seguridad de acuerdo con la invencion en forma la tarjeta con chip 101 pueden realizarse las rutinas de encriptacion y desencriptacion criptograficas anteriormente descritas as! como las rutinas anteriormente descritas para el calculo de codigos de autenticacion de mensajes en hardware, por ejemplo empleando un coprocesador criptografico. Dado que para el calculo se emplea material de clave secreto (en la presente memoria: las claves derivadas Kenc y Kmac) segun formas de realizacion de la invencion la utilidad de tales rutinas se minimiza mediante un atacante por medio de la transferencia de datos modificados - en particular antes de garantizar la autenticidad de los datos transferidos, para generar lo menos posible fenomenos observables flsica o logicamente. Las formas de realizacion de la invencion presentan varias propiedades que pueden limitar al mlnimo un uso tal de rutinas tal como se describe detalladamente a continuation.
Segun formas de realizacion de la invencion la desencriptacion de datos se realiza exclusivamente tras garantizar la autenticidad de los datos transferidos. Tecnicamente esto sucede en formas de realizacion de la invencion mediante la comprobacion de la firma y del codigo de autenticacion de mensajes en el primer mensaje averiguado 121 antes de que se descodifique el primer texto cifrado c1 que es parte del mensaje 123. Mediante el encadenamiento de codigos de autenticacion de mensajes (el codigo MAci esta incluido en el codigo MACi+1) tambien para los bloques de sucesion de los mensajes adicionales queda garantizado que se descodifiquen exclusivamente bloques de datos autentificados. Esto minimiza la posibilidad de que un atacante mediante la observation de la tarjeta con chip 101 durante un proceso de desencriptacion de bloques de datos preparados puedan obtenerse informaciones flsicas o logicas utilizables, siempre que el no posea la clave de firma secreta dSA1 y dSA2. Sin embargo estas no estan almacenadas en la tarjeta con chip 101, sino en el sistema en segundo plano, en particular, servidor 111. Mediante el mantenimiento en secreto adicional de los parametros de sistema, que se utilizan en el marco del metodo de firma, como por ejemplo parametros de una curva ellptica empleada para el metodo de firma se descartan ataques matematicos en el metodo criptografico asimetrico empleado, de modo que el calculo de dSA1 o dSA2 a partir de PSA1 o PSA2 no es posible. Dado que los parametros de sistema exclusivamente tienen que ser conocidos por el
5
10
15
20
25
30
35
40
45
50
55
60
65
fabricante o el creador de los datos utiles no es necesaria una distribucion. Ademas en la tarjeta con chip 101 estan presentes varios conjuntos de parametros de sistema, y se emplean para distintas actualizaciones. La referencia del conjunto de parametros de sistema empleados puede ser en este caso parte de la clave publica PSA1 o PSA2.
Segun formas de realizacion de la invencion los valores de resumen criptografico de los bloques de cifras sirven como entrada para el calculo de los codigos de autenticacion de mensajes. Las funciones resumen criptograficas reproducen los bloques de cifras, potencialmente grandes, en una sucesion de signos con longitud reducida, fija. El calculo de los codigos de autenticacion de mensajes se realiza solo en esta sucesion de signos corta. Por ello la utilizacion de la rutina para el calculo del codigo de autenticacion de mensajes se limita al mlnimo, de modo que pueden producirse fenomenos observables solo durante un espacio de tiempo reducido.
Segun formas de realizacion de la invencion en el calculo de los codigos de autenticacion de mensajes esta incluida la clave secreta Kmac. Para evitar que un atacante mediante el conocimiento de varios codigos de autenticacion de mensajes pueda extraer conclusiones sobre la clave secreta Kmac, los parametros para generar la clave secretan o el secreto calculado comun que sirve de base el metodo posee segun formas de realizacion de la invencion la propiedad de que se transmiten valores de resumen criptografico de los codigos de autenticacion de mensajes como parte de los mensajes del conjunto de datos 120. Mediante el metodo asimetrico de la derivacion de la clave Kmac comun y secreta el calculo del codigo de autenticacion de mensajes puede realizarse exclusivamente sobre la tarjeta con chip 101. Por lo tanto la transferencia del codigo de autenticacion de mensajes a la tarjeta con chip 101 no es necesaria; la transferencia de los valores de resumen criptografico criptograficos es suficiente. Un atacante por tanto incluso al obtener el conocimiento de la secuencia de mensajes no posee ningun conocimiento de los codigos de autenticacion de mensajes.
Para evitar que un atacante mediante el conocimiento de varios bloques de datos utiles pueda sacar conclusiones de la clave secreta Kmac y/o los parametros para generar la clave secreta o el secreto comun calculado tomado como base, el metodo segun formas de realizacion de la invencion posee la propiedad de que se anticipe un bloque de datos desconocido para el calculo del codigo de autenticacion de mensajes. Ya que segun formas de realizacion de la invencion a los datos de entrada para el calculo del codigo de autenticacion de mensajes MACi+1 se anticipa el codigo de autenticacion de mensajes MACi desconocido fuera de la tarjeta con chip 101. Todos los demas bloques de datos se enlazan en caso de una seleccion adecuada de la funcion de enlace (por ejemplo modo CBC) con el resultado intermedio del bloque de datos precedente en cada caso. Para el primer codigo de autenticacion de mensajes se anticipa el valor IVMAC que puede calcularse junto con la clave Kmac a partir del secreto comun.
Segun formas de realizacion de la invencion en el calculo de los bloques de mensajes esta incluida la clave secreta Kenc. Para evitar que un atacante mediante del conocimiento de varios bloques de cifras pueda sacar conclusiones sobre la clave secreta Kenc y/o los parametros para generar la clave secreta o el secreto comun calculado tomado como base, el metodo segun formas de realizacion de la invencion posee la propiedad de que pueda evitarse un metodo basado en claves para generar los bloques de cifras en los mensajes. Mediante el metodo asimetrico de la derivacion del secreto comun y con ello de la clave secreta Kenc el metodo de desencriptacion puede exclusivamente realizarse exclusivamente en el entorno seguro de la tarjeta con chip 101. Segun formas de realizacion de la invencion el metodo de desencriptacion esta seleccionado de modo que esta compuesto de una parte basada en claves y una parte no basada en claves, procesandose directamente el texto cifrado conocido externamente solo mediante la parte no basada en claves del metodo. Esta configuracion puede garantizar que un atacante para el analisis de fenomenos observables flsica o logicamente que estan correlacionados con la clave Kenc, no pueda emplear datos conocidos fuera de la tarjeta con chip 101.
Existe el peligro de que un atacante consiga la posesion de una tarjeta con chip 101 y pueda la utilizar para leer la clave privada dB depositada por ejemplo en la memoria flash 107, por ejemplo mediante fenomenos observables flsica o logicamente. Con el conocimiento de la clave dB el atacante puede derivar las claves Kenc y Kmac y con ello encriptar datos discrecionales y falsificar codigos de autenticacion de mensajes. Mediante la siguiente propiedad de formas de realizacion de la invencion el atacante no obstante no puede reproducir datos utiles falsificados. En el caso de que un atacante sustituya en un lugar discrecional el texto cifrado ci por un texto cifrado ci' falsificado. Para que el texto cifrado falsificado q' se reconozca como autentico por la tarjeta con chip 101, segun formas de realizacion de la invencion tambien el codigo de autenticacion de mensajes correspondiente MACi = MAC(Kmac, MACi-1 || h(Ci)) tiene que ser correcto. Segun formas de realizacion de la invencion el valor calculado MACi sin embargo sirve a su vez como entrada para el codigo de autenticacion de mensajes siguiente MACi+1, de modo que tambien el atacante debe crear como nuevo este codigo de autenticacion de mensajes hasta el ultimo codigo de autenticacion de mensajes. Sin embargo este esta provisto con una firma, de modo que la tarjeta con chip 101 detecta como muy tarde en este punto que el texto cifrado ci mediante se ha sustituido por un texto cifrado Ci' falsificado.
Segun formas de realizacion de la invencion el caracter confidencial de los datos utiles se produce continuamente tras la creacion de la secuencia de mensajes 120. Esto se garantiza segun formas de realizacion de la invencion porque los datos utiles se encriptan con ayuda de una clave simetrica derivada Kenc. Un atacante puede solo con conocimiento de la clave secreta dB (que esta almacenada en la tarjeta con chip 101 protegida contra el acceso) o conocimiento de la clave secreta dA (mantenida en secreto mediante la creacion de la secuencia de mensajes 120)
5
10
15
20
25
30
35
40
45
50
55
60
65
desencriptar de nuevo los datos utiles encriptados. Los parametros de sistema (por ejemplo mediante el empleo de curvas elipticas los parametros de curvas) necesarios para el metodo de establecimiento de claves pueden mantenerse en secreto adicionalmente. En particular una extraction de la clave secreta dB con ayuda de fenomenos observables fisica o logicamente se ve dificultada de manera significativa mediante un conjunto de parametros de sistema desconocido dado que los analisis matematicos necesarios condicionan el conocimiento de parametros de sistema. Ademas incluso con una extraccion exitosa de dB sin conocimiento de los parametros de sistema el calculo del secreto comun y como consecuencia el calculo de KENc y KMAc no es posible. Ademas se descartan ataques matematicos en el metodo criptografico asimetrico empleado, de modo que el calculo de dA a partir de no es posible. Dado que los parametros de sistema deben ser conocidos exclusivamente por el fabricante de la tarjeta con chip 101 o el proveedor de los datos utiles no es necesaria una distribucion. Ademas segun formas de realization de la invention en la tarjeta con chip 101 pueden estar depositados varios conjuntos de parametros de sistema y emplearse para la reproduction reiterada de datos utiles. Segun formas de realizacion de la invencion en este caso un identificador que identifique el conjunto de parametros de sistema que va a emplearse por ejemplo puede ser parte de la clave publica PA.
Las formas de realizacion de la invencion gracias al tipo de la garantia del caracter confidencial de los datos utiles presentan ademas la siguiente propiedad. Dado que el caracter confidencial de los datos utiles tambien se da en el caso de conocimiento de la secuencia de mensajes 120 los datos utiles tambien pueden usarse, por ejemplo instalarse sin conocimiento de las claves secretas por parte de terceros.
Las formas de realizacion de la invencion pueden utilizarse ventajosamente en caso de elementos de seguridad que no disponen de capacidad de almacenamiento suficiente con el fin de almacenar el texto cifrado en su totalidad en conjunto y desencriptar en el elemento de seguridad. Ademas pueden utilizarse formas de realizacion de la invencion en caso de elementos de seguridad, en los que no es posible realizar al mismo tiempo un codigo de determinadas zonas de almacenamiento (prueba de autenticidad, desencriptado y al mismo tiempo leer datos de esta zona de almacenamiento y grabarlos alli. En particular la division del conjunto de datos 120 en varios mensajes o bloques de mensajes segun formas de realizacion de la invencion posibilita un aprovechamiento en elementos de seguridad con recursos limitados. Esto posibilita comprobar para cada bloque de mensajes inicialmente la autenticidad del texto cifrado del bloque de mensajes y tras la comprobacion desencriptar los datos utiles y depositarlos en una memoria del elemento de seguridad en forma de la tarjeta con chip 101. Segun formas de realizacion de la invencion no existe por tanto ninguna necesidad de depositar todo el texto cifrado en conjunto en la memoria 107 de la tarjeta con chip 101. Mediante el tamano reducido seleccionable de los bloques de cifras individuales mas pequenos pueden realizarse prueba de autenticidad y desencriptacion en la memoria aleatoria.
Las formas de realizacion de la invencion necesitan como maximo dos comprobaciones de firma, concretamente de la firma en el primer bloque de mensajes 121 y de la firma en el ultimo bloque de mensajes 131, y por lo tanto presentan un alto rendimiento, lo que es ventajoso en particular en caso de elementos de seguridad con reducida capacidad de computo.
Las formas de realizacion de la invencion consideran la capacidad de comunicacion posiblemente limitada de elementos de seguridad, distribuyendose cantidades de datos mayores de una operation de actualization en varios mensajes. En este sentido la granularidad en la que se descomponen las cantidades de datos puede ajustarse a escala de manera arbitraria y depende principalmente solo de la capacidad de la interfaz de comunicacion del elemento de seguridad.
Tal como ya se ha descrito anteriormente, en la figura 3 se ilustra como pueden realizarse segun formas de realizacion de la invencion la descomposicion de todos los datos utiles 120 en unidades mas pequenas datos1, datos2 ... datosn. Las formas de realizacion de la invencion garantizan que todos los mensajes de la para todos los mensajes quede garantizada la protection de autenticidad. Para ello segun formas de realizacion de la invencion con ayuda de una funcion de establecimiento de claves KA(x) en combination con la derivation de claves KDF(x) se averiguan los parametros de sistema KENC, KMAC, IVENC y IVMAC necesarios para la seguridad simetrica ENCK(x)/MACK(x) de los datos de actualizacion.
En la figura 3 mediante el mensaje 121 se representa que inicialmente se transmiten los valores para las KA(x)/KDF(x) en forma de PA asi como los valores de entrada para la funcion Sign1(x) a la tarjeta con chip 101. La firma Sign1(x) garantiza la integridad y la autenticidad de los valores de entrada. Una manipulation posterior de PA, h(c1) o h(MAC1) puede detectarse por lo tanto de manera fiable. Segun formas de realizacion de la invencion se transmiten por lo tanto inicialmente los valores de entrada anteriormente mencionados. Tal como muestra la figura 3 ademas en el calculo de MACK(x) y en la firma final Sign2(x) los valores MAC de las funciones anteriores MACK(x). Por ello queda garantizada una autenticidad e integridad continuas hasta el ultimo bloque de mensajes 131.
En la etapa siguiente se realiza la comprobacion de la correction de los valores de resumen criptografico a traves de los bloques de cifras. El empleo de valores de resumen criptografico en la comprobacion de MAC tiene dos ventajas. Por un lado el valor de MAC mismo no tiene que desvelarse. Por otro lado para un atacante mediante el calculo de MAC a traves de los valores de resumen criptografico solo hay disponible una cantidad muy reducida de datos aprovechables. En el calculo del MAC no se emplea el valor de resumen criptografico mismo como entrada en el
calculo de MAC, sino que se anticipa al valor de resumen criptografico el CMAC o CBC-MAC de la comprobacion de MAC anterior, por lo que ambos bloques estan enlazados o encadenados entre si. El enlace, que se realiza en formas de realization de la invention empleando el modo Block-Chaining de encadenamiento de bloques lleva a que el bloque de entrada en la operation basada en claves (encriptado por bloques AES) del calculo de MAC no se 5 conozca. Despues de que se haya realizado con exito la comprobacion de MAC mediante una nueva comprobacion de valores de resumen criptografico queda garantizada la integridad del texto cifrado. Tras la comprobacion exitosa del valor de resumen criptografico se desencriptan los bloques de cifras. Para la desencriptacion de los bloques de cifras segun formas de realizacion de la invencion se utiliza un cifrado por bloques y/o cifrado en flujo. El flujo de claves puede generarse en este sentido por ejemplo mediante un algoritmo de bloque en el modo OFB o un modo 10 de contador (modo CTR), de modo que no estan datos de entrada disponibles de manera externa en la operacion de la encriptacion basada en claves. Antes de que se acepten todos los datos de actualization encadenados como actualization permitida del sistema operativo mediante el elemento de seguridad se realiza la comprobacion de la firma final.
15

Claims (18)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    REIVINDICACIONES
    1. Metodo (200) para la transferencia segura de datos utiles a un elemento de seguridad (101), comprendiendo el metodo (200):
    la facilitacion (201) de una clave de encriptacion (Kenc) y de una clave de valor de comprobacion (Kmac) en el elemento de seguridad (101);
    la encriptacion (203) de los datos utiles mediante la clave de encriptacion (Kenc) empleando un cifrado, para generar al menos un primer texto cifrado (c1) y un segundo texto cifrado (c2);
    la transferencia (205) de un conjunto de datos (120) al elemento de seguridad (101), comprendiendo el conjunto de datos transferido completamente (120) el primer texto cifrado (c1), el segundo texto cifrado (c2), un valor de comprobacion del primer texto cifrado (h(c^), un valor de comprobacion del segundo texto cifrado (h(c2)), un valor de comprobacion de un primer valor de comprobacion basado en claves (h(MAC1)), estando incluido en el primer valor de comprobacion basado en claves (MAC1) el valor de comprobacion del primer texto cifrado (h(c1)), un valor de comprobacion de un segundo valor de comprobacion basado en claves (h(MAC2)), estando incluidos en el segundo valor de comprobacion basado en claves (MAC2) el primer valor de comprobacion basado en claves (MAC1) y el valor de comprobacion del segundo texto cifrado (h(c2)), as! como una firma sobre del valor de comprobacion del primer texto cifrado y el valor de comprobacion del primer valor de comprobacion basado en claves (Sign1[h(c1)||h(MAC1)]).
  2. 2. Metodo segun la reivindicacion 1, estando incluido en el primer valor de comprobacion basado en claves (MAC1) ademas un parametro de inicializacion (IVmac).
  3. 3. Metodo segun la reivindicacion 1 o 2, transfiriendose en la etapa (205) de la transferencia del conjunto de datos (120) al elemento de seguridad (101) un primer mensaje (121), que comprende el valor de comprobacion del primer texto cifrado (h(c1)) y el valor de comprobacion del primer valor de comprobacion basado en claves (h(MAC1)), y transfiriendose un segundo mensaje (123), que comprende el valor de comprobacion del segundo texto cifrado (h(c2)) y el valor de comprobacion del segundo valor de comprobacion basado en claves (h(MAC2)), al elemento de seguridad (101).
  4. 4. Metodo segun la reivindicacion 3, comprendiendo el primer mensaje (121) ademas la firma sobre del valor de comprobacion del primer texto cifrado y el valor de comprobacion del primer valor de comprobacion basado en claves Sign1[h(c1)||h(MAC1)].
  5. 5. Metodo segun la reivindicacion 4, comprendiendo el metodo las etapas adicionales de, como respuesta a la transferencia del primer mensaje (121) al elemento de seguridad (101) se comprueba la firma sobre del valor de comprobacion del primer texto cifrado (h(c1)) y el valor de comprobacion del primer valor de comprobacion basado en claves (h(MAC1)) del elemento de seguridad (101) y, en caso de que la firma del elemento de seguridad (101) no pueda verificarse, el elemento de seguridad (101) interrumpe el proceso.
  6. 6. Metodo segun una de las reivindicaciones 3 a 5, comprendiendo el segundo mensaje (123) ademas el primer texto cifrado (c1).
  7. 7. Metodo segun una de las reivindicaciones anteriores, comprendiendo el conjunto de datos (120) ademas una firma sobre del valor de comprobacion del segundo valor de comprobacion basado en claves Sign2[h(MAC2)].
  8. 8. Metodo segun la reivindicacion 7, transfiriendose en la etapa (205) de la transferencia del conjunto de datos (120) al elemento de seguridad (101) un mensaje adicional (131) al elemento de seguridad (101), que comprende la firma sobre del valor de comprobacion del segundo valor de comprobacion basado en claves Sign2[h(MAC2)].
  9. 9. Metodo segun una de las reivindicaciones anteriores, tratandose en caso del valor de comprobacion del primer texto cifrado (h(c1)) de un valor de resumen criptografico (hash) del primer texto cifrado (h(c1)) y en caso del valor de comprobacion del segundo texto cifrado (h(c2)) de un valor de resumen criptografico del segundo texto cifrado (h(cs)).
  10. 10. Metodo segun una de las reivindicaciones anteriores, tratandose en el caso del cifrado, que se emplea para la encriptacion de los datos utiles mediante la clave de encriptacion (Kenc), de un cifrado en flujo que, en una parte basada en claves del metodo, genera un flujo de claves, mediante el cual en una parte del metodo no basada en claves se generan el primer texto cifrado (c1) y el segundo texto cifrado (c2).
  11. 11. Metodo segun la reivindicacion 10, tratandose en el caso del cifrado, que se emplea para la encriptacion de los datos utiles mediante la clave de encriptacion (Kenc), de un cifrado por bloques AES, en particular un cifrado por bloques AES en el modo OFB o modo CTR, o de un cifrado por bloques TDES.
  12. 12. Metodo segun la reivindicacion 11, siendo el primer valor de comprobacion basado en claves y el segundo valor de comprobacion basado en claves un MAC, en particular un CMAC o CBC-MAC, y calculandose empleando el
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    cifrado por bloques AES o el cifrado por bloques TDES.
  13. 13. Metodo segun una de las reivindicaciones 1 a 9, empleandose para la encriptacion de los datos utiles mediante la clave de encriptacion (Kenc) y para la creacion de los valores de comprobacion basados en claves un cifrado por bloques AES en el modo Galois/CTR.
  14. 14. Metodo segun una de las reivindicaciones anteriores, comprendiendo la facilitacion (201) de la clave de encriptacion (Kenc) y de la clave de valor de comprobacion (Kmac) en el elemento de seguridad (101) la etapa del calculo de un secreto y la etapa de la derivacion de la clave de encriptacion (Kenc) y de la clave de valor de comprobacion (Kmac) a partir del secreto calculado.
  15. 15. Metodo segun la reivindicacion 14, comprendiendo el conjunto de datos (120) ademas una clave publica de un par de claves eflmeras (PA) y comprendiendo la etapa del calculo de un secreto el calculo del secreto basandose en la clave publica del par de claves eflmeras (PA) y de una clave (dB) privada depositada de manera segura en el elemento de seguridad (101).
  16. 16. Metodo segun la reivindicacion 15, comprendiendo el conjunto de datos (120) ademas una firma sobre de la clave publica del par de claves eflmeras (PA) o de una parte de la misma.
  17. 17. Elemento de seguridad (101) con:
    una interfaz de comunicacion (105), que esta configurada para recibir un conjunto de datos (120) transferido de un sistema en segundo plano (111), comprendiendo el conjunto de datos (120) transferido completamente un primer texto cifrado (c1), un segundo texto cifrado (c2), un valor de comprobacion del primer texto cifrado (h(c1)), un valor de comprobacion del segundo texto cifrado (h(c2)), un valor de comprobacion de un primer valor de comprobacion basado en claves (h(MAC1)), estando incluido en el primer valor de comprobacion basado en claves (MAC1) el valor de comprobacion del primer texto cifrado (h(c1)), un valor de comprobacion de un segundo valor de comprobacion basado en claves (h(MAC2)), estando incluidos en el segundo valor de comprobacion basado en claves (MAC2) el primer valor de comprobacion basado en claves (MAC1) y el valor de comprobacion del segundo texto cifrado (h(c2)), as! como una firma sobre del valor de comprobacion del primer texto cifrado y el valor de comprobacion del primer valor de comprobacion basado en claves (Sign1[h(c1)||h(MAC1)]); y
    un procesador (103), que esta configurado para verificar basandose en una clave de encriptacion (Kenc) y en una clave de valor de comprobacion (Kmac) el conjunto de datos (120) y desencriptar el primer texto cifrado (c1) y el segundo texto cifrado (c2).
  18. 18. Sistema en segundo plano, en particular servidor, (111) con:
    un procesador, que esta configurado para encriptar datos utiles mediante una clave de encriptacion (Kenc) empleando un cifrado, para obtener al menos un primer texto cifrado (c1) y un segundo texto cifrado (c2) y una interfaz de comunicacion (113), que esta configurada para transferir un conjunto de datos (120) a un elemento de seguridad (101), comprendiendo el conjunto de datos transferido completamente (120) el primer texto cifrado (c1), el segundo texto cifrado (c2) un valor de comprobacion del primer texto cifrado (h(c1)), un valor de comprobacion del segundo texto cifrado (h(c2)), un valor de comprobacion de un primer valor de comprobacion basado en claves (h(MAC^), estando incluido en el primer valor de comprobacion basado en claves (MAC1) el valor de comprobacion del primer texto cifrado (h(c1)), un valor de comprobacion de un segundo valor de comprobacion basado en claves (h(MAC2)), estando incluidos en el segundo valor de comprobacion basado en claves (MAC2) el primer valor de comprobacion basado en claves (MAC1) y el valor de comprobacion del segundo texto cifrado (h(c2)), as! como una firma sobre el valor de comprobacion del primer texto cifrado y el valor de comprobacion del primer valor de comprobacion basado en claves (Sigm[h(c1)||h(MAC1)]).
ES16155540.4T 2016-02-12 2016-02-12 Métodos y dispositivos para la transferencia segura de datos útiles Active ES2687396T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP16155540.4A EP3206154B1 (de) 2016-02-12 2016-02-12 Verfahren und vorrichtungen zum sicheren übermitteln von nutzdaten

Publications (1)

Publication Number Publication Date
ES2687396T3 true ES2687396T3 (es) 2018-10-25

Family

ID=55443068

Family Applications (1)

Application Number Title Priority Date Filing Date
ES16155540.4T Active ES2687396T3 (es) 2016-02-12 2016-02-12 Métodos y dispositivos para la transferencia segura de datos útiles

Country Status (5)

Country Link
EP (1) EP3206154B1 (es)
ES (1) ES2687396T3 (es)
HU (1) HUE039965T2 (es)
PL (1) PL3206154T3 (es)
PT (1) PT3206154T (es)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110311773B (zh) * 2019-06-28 2022-05-17 兆讯恒达科技股份有限公司 一种高级加密标准协处理器防注入式攻击的方法
CN112769778B (zh) * 2020-12-28 2023-05-23 福建正孚软件有限公司 一种基于跨网跨境数据安全传输的加解密处理方法和系统
CN112541197B (zh) * 2020-12-28 2024-07-09 深圳前海微众银行股份有限公司 一种结果验证方法及装置
CN114553498B (zh) * 2022-01-28 2023-06-23 郑州信大捷安信息技术股份有限公司 一种适用于芯片的线路保护方法和系统
US20240303638A1 (en) * 2023-03-08 2024-09-12 Capital One Services, Llc Systems and methods for secure authentication of contactless card

Also Published As

Publication number Publication date
PL3206154T3 (pl) 2018-11-30
EP3206154B1 (de) 2018-06-13
HUE039965T2 (hu) 2019-02-28
PT3206154T (pt) 2018-10-19
EP3206154A1 (de) 2017-08-16

Similar Documents

Publication Publication Date Title
US11210658B2 (en) Constructing a distributed ledger transaction on a cold hardware wallet
ES2665987T3 (es) Dispositivo y procedimiento para la decodificación de datos
EP3444999B1 (en) Method for generating a public/private key pair and public key certificate for an internet of things device
EP2204008B1 (en) Credential provisioning
EP3386143B1 (en) Method and system for generating a private key for encrypted data transfer between an electronic identity document and a terminal
RU158940U1 (ru) Токен строгой аутентификации с визуальным выводом подписей инфраструктуры открытых ключей (pki)
EP3457310B1 (en) Method for protecting the confidentiality and integrity of firmware for an internet of things device
ES2632795T3 (es) Sistema de pago
JP4593533B2 (ja) 公開鍵暗号方式に使用する鍵を更新するシステムおよび方法
ES2835780T3 (es) Procedimiento para emitir una versión virtual de un documento
US9705683B2 (en) Verifiable implicit certificates
US11882101B2 (en) Methods and devices for generating a symmetric session key for encrypted communication
EP3669294A1 (en) Nfc tag authentication to remote server with applications to secure supply chain asset management
CN107852404A (zh) 保密通信的相互认证
KR20120098764A (ko) 검증가능 누출 방지 암호화 및 복호화
ES2837138T3 (es) Procedimiento y sistema para la autentificación de un terminal de telecomunicación móvil en un sistema informático de servicio y terminal de telecomunicación móvil
CN120110677B (zh) 基于后量子混合算法的数字证书签发方法及相关装置
WO2013138867A1 (en) Secure nfc apparatus and method
Yoon et al. Security enhancement scheme for mobile device using H/W cryptographic module
Malina et al. Assessment of cryptography support and security on programmable smart cards
CN104917616B (zh) 一种基于智能卡的软件定义网络中网络设备认证方法
CN108075896A (zh) 使用基于标识的密码学构建自认证消息的系统和方法
WO2017109058A1 (en) Security management system for securing a communication between a remote server and an electronic device
CN120642293A (zh) 通过远程安全通道更新和撤销安全密钥和敏感数据的方法
ES2828451T3 (es) Procedimiento de autenticación de atributos de una manera no rastreable y sin conexión a un servidor