MX2015005690A - Metodo de control y dispositivo para controlar la autenticidad de codigos que resultan de la aplicacion de un algoritmo biyectivo a mensajes. - Google Patents

Metodo de control y dispositivo para controlar la autenticidad de codigos que resultan de la aplicacion de un algoritmo biyectivo a mensajes.

Info

Publication number
MX2015005690A
MX2015005690A MX2015005690A MX2015005690A MX2015005690A MX 2015005690 A MX2015005690 A MX 2015005690A MX 2015005690 A MX2015005690 A MX 2015005690A MX 2015005690 A MX2015005690 A MX 2015005690A MX 2015005690 A MX2015005690 A MX 2015005690A
Authority
MX
Mexico
Prior art keywords
algorithm
result
received
message
encryption
Prior art date
Application number
MX2015005690A
Other languages
English (en)
Other versions
MX343942B (es
Inventor
Stéphanie Salgado
Original Assignee
Gemalto Sa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gemalto Sa filed Critical Gemalto Sa
Publication of MX2015005690A publication Critical patent/MX2015005690A/es
Publication of MX343942B publication Critical patent/MX343942B/es

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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3249Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

Un dispositivo (CD) está destinado para controlar la autenticidad de un código recibido con un mensaje mediante un dispositivo electrónico (ED2) y que resulta de la aplicación a este mensaje de un algoritmo biyectivo con al menos una clave predeterminada. El dispositivo (CD) comprende i) un primer medio de computación (CM1) acomodado para aplicar parcialmente este algoritmo biyectivo con esta tecla predeterminada al mensaje recibido, desde un paso de inicio a un paso intermedio elegido, a fin de obtener un primer resultado, ii) un segundo medio de computación (CM2) acomodado para aplicar parcialmente en una manera inversa el algoritmo biyectivo con la clave predeterminada al código recibido, desde un paso final a este paso intermedio elegido, mientras se utiliza el mensaje recibido, a fin de obtener un segundo resultado, y iii) un medio de comparación (CM3) acomodado para comparar este primer y segundo resultados y para emitir una información representativa de la autenticidad del código recibido cuando el primer y segundo resultados son idénticos.

Description

MÉTODO DE CONTROL Y DISPOSITIVO PARA CONTROLAR LA AUTENTICIDAD DE CÓDIGOS QUE RESULTAN DE LA APLICACIÓN DE UN ALGORITMO BIYECTIVO A MENSAJES CAMPO DE LA INVENCION La presente invención se refiere a dispositivos electrónicos o productos que utilizan mensajes recibidos autenticados, y de manera más precisa al control de autenticación de códigos asociados con mensajes recibidos.
ANTECEDENTES DE LA INVENCIÓN Aquellos expertos en la téenica saben que algunos dispositivos electrónicos generan mensajes que están destinados a ser transmitidos a otros dispositivos electrónicos, por ejemplo para controlar funciones y/o derechos (tal como acceso o créditos). Para evitar que un dispositivo electrónico no autorizado transmita un mensaje no autorizado, se puede aplicar un algoritmo biyectivo con al menos una clave predeterminada a este mensaje antes de la transmisión. Este algoritmo biyectivo puede comprender un algoritmo de cifrado o criptográfico que es aplicado con éxito a N bloques de datos que resulta de la división del mensaje, por ejemplo.
El resultado de esta aplicación es un código, el cual generalmente se denomina MAC ("Código de Autenticación de Mensaje"). Este código y el mensaje asociado son transmitidos al dispositivo electrónico concerniente. Para autenticar este código recibido, el dispositivo electrónico aplica el mismo algoritmo biyectivo con la misma clave predeterminada al mensaje recibido para obtener un código de referencia. Si este código de referencia es idéntico al código recibido, este último se considera como auténtico y se puede utilizar el mensaje, de otra manera el mensaje es rechazado.
Infortunadamente, dicho algoritmo biyectivo puede ser atacado por un atacante para obtener cada clave predeterminada que utiliza y, por lo tanto, tener la capacidad para transmitir cualquier mensaje autorizado. De tal forma, este atacante puede transmitir con éxito el mismo mensaje con diferentes códigos a un dispositivo electrónico para que calcule códigos de referencia que tendrá que comparar respectivamente con los códigos recibidos, y después puede deducir cada clave predeterminada a partir de estas comparaciones sucesivas y a partir de variaciones del efecto físico que ocurre en el dispositivo electrónico atacado. Se recuerda que algunas operaciones o procesos internos pueden ser reconocidos por los efectos físicos característicos, tal como un consumo de energía específico, una temperatura específica o una interacción electromagnética específica, por ejemplo.
Los ataques basados en el análisis de consumo de energía (generalmente denominado DPA ("Análisis de Energía Diferencial")) se pueden ejecutar ya sea en los pasos de inicio del algoritmo biyectivo o en los pasos finales del algoritmo biyectivo. Los primeros (generalmente denominado "DPA al inicio") son relativamente fáciles de bloquear, por ejemplo, con contramedidas específicas. Los segundos (generalmente denominados "DPA al final") son mucho más difíciles de bloquear. Estos pueden ser llevados a cabo cuando el atacante conoce el código (o MAC entregado) que es recibido por el dispositivo electrónico atacado, debido a que tiene la capacidad de conocer el resultado de la aplicación del algoritmo de cifrado o criptográfico que se utiliza en el algoritmo biyectivo. Este segundo tipo de ataques se ve facilitado por el hecho de que el código de referencia calculado es comparado byte por byte con el código recibido (o MAC entregado).
BREVE DESCRIPCIÓN DE LA INVENCIÓN De esta manera, un objetivo de la invención es superar los inconvenientes antes descritos al menos parcialmente autenticando los códigos recibidos sin calcular códigos de referencia.
De manera más precisa, la invención proporciona un método, destinado para controlar la autenticidad de un código recibido con un mensaje mediante un dispositivo electrónico y que resulta de la aplicación a este mensaje de un algoritmo biyectivo con al menos una clave predeterminada, y comprendiendo los pasos de: (i) aplicar parcialmente este algoritmo biyectivo con esta clave predeterminada al mensaje recibido, desde el paso de inicio a un paso intermedio elegido, a fin de obtener un primer resultado, (ii) aplicar parcialmente en una manera inversa este algoritmo biyectivo con esta clave predeterminada al código recibido mientras se utiliza el mensaje recibido, desde un paso final a este paso intermedio elegido, a fin de obtener un segundo resultado y (iii) considerar que el código recibido es auténtico en caso que estos primer y segundo resultados sean idénticos.
El método de control de acuerdo con la invención puede incluir características adicionales consideradas separadamente o combinadas, y notablemente: el paso intermedio puede variar de una aplicación a otra, posiblemente en una manera aleatoria; en el caso donde el algoritmo biyectivo comprende N partes sucesivas que deben ser aplicadas respectivamente a N bloques de datos que resultan de la división del mensaje recibido y cada uno combinado con el resultado de la aplicación de la parte de algoritmo precedente al bloque precedente, se puede proceder primero a la división del mensaje recibido en el paso (i), y se puede elegir el final de una n-ava parte de algoritmo como el paso intermedio, o en una variante puede elegir una subparte intermedia de una n-ava parte de algoritmo como el paso intermedio; en los paso (i) y (ii) se puede aplicar únicamente un algoritmo de cifrado o criptográfico o una versión inversa de este algoritmo de cifrado o criptográfico con una primera parte de la clave predeterminada en cada parte de algoritmo que difiere de la N-ava parte. En este caso, en el paso (ii) se puede aplicar primero la versión inversa del algoritmo de cifrado o criptográfico al código recibido con la primera parte de la clave predeterminada, para obtener un primer resultado intermedio, después se puede aplicar el algoritmo de cifrado o criptográfico con una segunda parte de la clave predeterminada al primer resultado inmediato, para obtener un segundo resultado intermedio, después se puede aplicar nuevamente la versión inversa del algoritmo de cifrado o criptográfico con la primera parte de la clave predeterminada al segundo resultado intermedio, para obtener un tercer resultado intermedio, y finalmente se puede disociar el N-avo bloque de datos del mensaje recibido del tercer resultado intermedio para obtener el resultado de la versión inversa de la N-ava parte de algoritmo; • el algoritmo de cifrado o criptográfico puede ser elegido de un grupo que comprende al menos un algoritmo simple de Estándar de Encriptación de Datos (DES), un algoritmo Estándar de Encriptación de Datos triple (TDES), un algoritmo de Estándar de Encriptación Avanzado (AES), y un algoritmo RSA (Rivest Sha ir Adleman).
La invención también proporciona un dispositivo de control, destinado para controlar la autenticidad de un código recibido con un mensaje mediante un dispositivo electrónico y que es el resultado de la aplicación a este mensaje de un algoritmo biyectivo con al menos una clave predeterminada, y comprendiendo: - un primer medio de computación acomodado para aplicar parcialmente este algoritmo biyectivo con esta clave predeterminada al mensaje recibido, desde un paso de inicio a un paso intermedio elegido, a fin de obtener un primer resultado, - un segundo medio de computación acomodado para aplicar parcialmente en una manera inversa el algoritmo biyectivo con la clave predeterminada, desde un paso final a este paso intermedio elegido, al código recibido mientras se utiliza el mensaje recibido, a fin de obtener un segundo resultado, - un medio de comparación acomodado para comparar estos primer y segundo resultados y para emitir información representativa de la autenticidad del código recibido cuando el primer y segundo resultados son idénticos.
El dispositivo de control, de acuerdo con la invención, puede incluir características adicionales consideradas separadamente o combinadas, y notablemente: este puede comprender un medio de control acomodado para variar el paso intermedio de una aplicación a otra, posiblemente en una manera aleatoria; este puede comprender un medio de control acomodado para dividir el mensaje recibido en N bloques de datos en el caso donde el algoritmo biyectivo comprende N partes sucesivas que deben ser aplicadas respectivamente a N bloques de datos que resultan de la división del mensaje recibido y cada uno combinado con el resultado de la aplicación de la parte de algoritmo precedente al bloque precedente, y para elegir el final de una n-ava parte de algoritmo como el paso intermedio, o en una variante para elegir una subparte intermedia de una n-ava parte de algoritmo como el paso intermedio; su primer y segundo medios de computación se pueden acomodar para aplicar únicamente un algoritmo de cifrado o criptográfico o una versión inversa del algoritmo de cifrado o criptográfico con una primera parte de la clave predeterminada en cada parte de algoritmo que difiere de la N-ava parte. En este caso, su segundo medio de computación además se puede acomodar para aplicar la versión inversa del algoritmo de cifrado o criptográfico con la primera parte de la clave predeterminada al código recibido, para obtener un primer resultado intermedio, después para aplicar el algoritmo de cifrado o criptográfico con una segunda parte de la clave predeterminada al primer resultado intermedio, para obtener un segundo resultado intermedio, después para aplicar nuevamente la versión inversa del algoritmo de cifrado o criptográfico con la primera parte de la clave predeterminada al segundo resultado intermedio, para obtener un tercer resultado intermedio, y finalmente para disociar el N-avo bloque de datos del mensaje recibido del tercer resultado intermedio para obtener el resultado de la versión inversa de la N-ava parte de algoritmo; • el algoritmo de cifrado o criptográfico puede ser elegido de un grupo que comprende al menos un algoritmo simple de Estándar de Encriptación de Datos (DES), un algoritmo Estándar de Encriptación de Datos triple (TDES), un algoritmo de Estándar de Encriptación Avanzado (AES), y un algoritmo RSA (Rivest Sha ir Adleman).
La invención también proporciona un dispositivo electrónico que comprende un dispositivo de control tal como el introducido arriba.
Este dispositivo electrónico se puede elegir de un grupo que comprende al menos una tarjeta inteligente, un lector de tarjeta de memoria, un dispositivo de telecomunicaciones, y un medio de memoria portátil.
BREVE DESCRIPCIÓN DE LAS FIGURAS Otras características y ventajas de la invención serán aparentes al examinar las especificaciones detalladas a continuación y las figuras anexas, en donde: La figura 1 ilustra de manera esquemática y funcional un primer dispositivo electrónico acoplado a un segundo dispositivo electrónico que comprende un tercer dispositivo electrónico que tiene un microprocesador que comprende un dispositivo de control de acuerdo con la invención, y La figura 2 ilustra de manera esquemática y funcional un ejemplo de algoritmo que se puede utilizar en un método de control implementado por un dispositivo de control de acuerdo con la invención.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN Las figuras anexos pueden servir no solamente para completar la invención, sino también para contribuir a su definición en caso de requerirse.
La invención se enfoca, notablemente, en ofrecer un método de control, y un dispositivo de control asociado CD, destinado para controlar la autenticidad de códigos recibidos con mensajes asociados por un dispositivo electrónico ED2 y que resultan de la aplicación a estos mensajes de un algoritmo biyectivo con al menos una clave predeterminada K.
En la siguiente descripción, se considerará que el dispositivo electrónico ED2 es una tarjeta inteligente. Por ejemplo, puede ser una tarjeta de crédito o una tarjeta de identidad electrónica o incluso un pasaporte electrónico. Pero la invención no se limita a este tipo de dispositivo electrónico. Este se refiere a muchos de los dispositivos asegurados, y notablemente lectores de tarjeta, llaves de protección de software, dispositivos de telecomunicaciones (por ejemplo, teléfonos inteligentes, tabletas electrónicas, o computadoras fijas o portátiles), medios de memoria portátiles (por ejemplo, claves USB), y módulos seguros presentes en una comunicación máquina-a-maquina en dispositivos de medición inteligente.
En el ejemplo ilustrado en la figura 1, el dispositivo electrónico ED2 está ubicado en otro dispositivo electrónico ED3 que tiene la capacidad, al menos, de recibir datos transmitidos por otro dispositivo electrónico EDI.
Por ejemplo, el dispositivo electrónico ED3 es un lector de tarjeta con un módulo de telecomunicaciones, y el dispositivo electrónico EDI es una computadora fija o portátil (o cualquier otro tipo de equipo de telecomunicaciones (o dispositivo)).
El dispositivo electrónico EDI genera mensajes que van a ser transmitidos al dispositivo electrónico ED3 y comprende un módulo de computación CM4 acomodado para aplicar un algoritmo biyectivo elegido con al menos una clave predeterminada K a cada mensaje generado para producir un código que será transmitido con el mensaje asociado.
En la siguiente descripción se considerara que el algoritmo biyectivo comprende un algoritmo de cifrado o criptográfico que es aplicado con éxito a N bloques de datos Bn(n = 1 a N), cada uno resultante de la división del mensaje que se va a transmitir.
El algoritmo de cifrado o criptográfico puede ser el denominado algoritmo simple de Estándar de Encriptación de Datos (o DES). Pero también podría ser un algoritmo de Estándar de Encriptación de Datos triple (o TDES), o un algoritmo de Estándar de Encriptación Avanzada (o AES) o incluso un algoritmo RSA (Rivest Shamir Adleman), por ejemplo.
Por ejemplo, el módulo de computación CM4 está acomodado para dividir cada mensaje generado en N bloques de datos Bn, que tiene el mismo número M de bits (por ejemplo M = 8 bytes (es decir, 64 bits) y N = 16), entonces para ejecutar la primera parte PA1 del algoritmo biyectivo. Esta primera parte PA1 puede consistir en combinar (CN) el primer bloque de datos B1 (n = 1) con un valor predeterminado PV para obtener un primer valor al cual se aplica un algoritmo de cifrado CA, por ejemplo DES, con una primera parte K1 de al menos una clave predeterminada K. La aplicación del DES CA proporciona un resultado RP1, el cual también es el resultado de la ejecución de la primera parte PA1. Después, el módulo de computación CM4 combina (CN) el segundo bloque de datos B2 (n = 2) con el resultado RP1 para obtener un valor al cual se aplica el DES CA con la primera parte K1 de la clave predetermina K. La aplicación del DES CA proporciona un resultado RP2 el cual también es el resultado de la ejecución de la segunda parte PA2. El módulo de computación CM4 procede en la misma manera para cada bloque de datos Bn, con 2 < n < N-l. Finalmente, el módulo de computación CM4 combina (CN) el N-avo bloque de datos BN (n = N) con el resultado RPN-1 de la ejecución de la N-1-ava parte a N-l para obtener un valor al cual se aplica el DES CA con la primera parte Kl de la clave predeterminada K, lo cual proporciona otro valor al cual se aplica la versión inversa CA1 del DES CA (DES-1) con una segunda parte K2 de la clave predeterminada K (que es la parte complementaria de la primera parte Kl), que proporciona todavía otro valor al cual se aplica el DES CA con la primera parte K1 de la clave predeterminada K. La última aplicación del DES CA proporciona un resultado RPN, el cual también es el resultado de la ejecución de la N-ava parte PAN. Este último resultado RPN es el código (o MAC) del mensaje generado al cual se ha aplicado el algoritmo biyectivo. Una vez gue el dispositivo electrónico EDI tiene este código y el mensaje asociado a su disposición, éste puede transmitirlos al dispositivo electrónico ED3, aquí para control de autenticación por parte del dispositivo electrónico ED2.
En el ejemplo no limitativo que se ilustra en la figura 1, el dispositivo electrónico ED2 comprende un microprocesador MP que comprende un dispositivo de control CD de acuerdo con la invención.
Es importante observar que el dispositivo de control CD no está obligatoriamente ubicado en el microprocesador MP (o cualquier medio equivalente, tal como circuitos integrados, por ejemplo). Más bien, éste puede ser un dispositivo que esté acoplado al microprocesador MP y pueda tener acceso a los mensajes recibidos y códigos asociados. Dicho dispositivo de control CD también se puede ubicar en otro dispositivo del dispositivo electrónico ED2 o ED3.
De esta manera, un dispositivo de control CD puede estar hecho de módulos de software, al menos parcialmente, o de circuitos electrónicos o módulos de hardware, o incluso de una combinación de módulos de hardware y software (en este último caso, el dispositivo de control CD comprende también interfaces de software que permiten la interconexión entre sus módulos de hardware y software). En este caso donde está hecho de módulos de software, éste se puede almacenar en un medio de memoria o en cualquier producto de software de computadora que pueda ser leído por un dispositivo electrónico.
Tal como se ilustra en la figura 1, un dispositivo de control CD, de acuerdo con la invención, comprende al menos un primer medio de computación CM1 y un segundo medio de computación CM2 y un medio de comparación CM3.
El primer medio de computación CM1 está acomodado para aplicar parcialmente el mismo algoritmo biyectivo que aquél ejecutado por el módulo de computación CM4 con la misma clave predeterminada K a un mensaje recibido por el dispositivo electrónico ED2, desde un paso de inicio a un paso intermedio elegido, a fin de obtener un primer resultado FR.
El segundo medio de computación CM2 está acomodado para aplicar parcialmente en una manera inversa el mismo algoritmo biyectivo con la misma clave predeterminada K, desde un paso final al paso intermedio elegido, al código RC recibido con el mensaje considerado mientras se utiliza este mensaje considerado a fin de obtener un segundo resultado SR.
En otras palabras, el primer medio de computación CM1 ejecuta una parte del algoritmo biyectivo en una forma clásica, es decir, desde su comienzo (o paso de inicio), el cual consiste en combinar el primer bloque de datos B1 del mensaje recibido con el valor predeterminado PV para obtener un primer valor, hasta que alcanza un paso intermedio elegido, mientras que el segundo medio de computación CM2 ejecuta una parte complementaria del algoritmo biyectivo en una forma inversa, es decir, desde su final (o paso final), que consiste en aplicar una versión inversa CA1 del algoritmo de cifrado o criptográfico CA (aquí DES1, por ejemplo) con la primera parte K1 de la clave predeterminada K al código recibido RC (asociado con el mensaje concerniente) para obtener un primer resultado intermedio, hasta que alcanza el paso intermedio elegido. El algoritmo ejecutado siendo biyectivo, si el código recibido RC es auténtico, el primer resultado FR necesariamente debe ser idéntico al segundo resultado SR. Un código recibido RC es considerado como auténtico si se trata del resultado de la aplicación del algoritmo biyectivo con la clave predeterminada K al mensaje asociado mediante el módulo de computación CM4.
Los medios de comparación CM3 están acomodados para comparar el primer resultado FR y el segundo resultado SR (calculados por el primer medio de computación CM1 y el segundo medio de computación CM2 para un mensaje recibido y el código recibido RC asociado), y para emitir información que es representativa de la autenticidad de este código recibido RC cuando este primer resultado FR y segundo resultado SR son idénticos.
Por lo tanto, el código de referencia nunca es calculado y no aparece en los cálculos excepto cuando el código recibido RC ha sido considerado como auténtico.
Además, un atacante ya no puede llevar a cabo DPA al final ya que el código recibido RC es una entrada del algoritmo biyectivo.
Además, la comparación final, que es la operación sensible, al ser ejecutada con dos resultados intermedios calculados, el atacante no puede elegir ninguno de estos dos resultados intermedios calculados. De esta manera, la seguridad se mejora notablemente.
Incluso, la comparación final al no ser ejecutada con un código de referencia computado, un byte considerado como incorrecto durante esta comparación final no puede indicar cuál byte del código recibido RC es incorrecto. De esta manera, no hay necesidad de ejecutar la comparación final en orden aleatorio.
En la figura 2 se ilustra un ejemplo no limitativo de algoritmo, que puede ser implementado por un dispositivo de control CD de acuerdo con la invención. En este ejemplo se considera que el paso intermedio elegido es el final de la segunda parte de algoritmo PA2. De esta forma, el primer resultado FR es el resultado RP2 de la ejecución de la segunda parte de algoritmo PA2, mientras que el segundo resultado SR es el resultado RP3 de la ejecución en una manera inversa de la tercera parte de algoritmo PA3.
De manera más precisa, en este ejemplo una vez que un mensaje recibido ha sido dividido en N bloques de datos Bn, teniendo el mismo número M de bits (por ejemplo, M = 8 bytes (es decir, 64 bits) y N = 16), los primeros medios de computación CM1 ejecutan la primera parte PA1 del algoritmo biyectivo.
Tal como se ilustra en la figura 1, el dispositivo de control CD puede comprender un medio de control CM4 acomodado para dividir cada mensaje recibido en N bloques de datos Bn.
La primera parte PA1 puede consistir en combinar (CN) el primer bloque de datos B1 con el valor predeterminado PV para obtener un primer valor al cual se aplica el algoritmo de cifrado CA (aquí DES, por ejemplo), con la primera parte K1 de la clave predeterminada K. La aplicación del DES CA proporciona un resultado RP1, el cual también es el resultado de la ejecución de la primera parte PAl. Después, el primer medio de computación CM1 combina (CN) el segundo bloque de datos B2 con el resultado RP1 para obtener un valor al cual se aplica el DES CA con la primera parte K1 de la clave predeterminada K. La aplicación del DES CA proporciona un resultado RP2, el cual también es el resultado de la ejecución de la segunda parte PA2 y el primer resultado FR en este ejemplo.
En paralelo (pero también podría ser después) los segundos medios de computación CM2 ejecutan la N-ava parte PAN del algoritmo biyectivo en una manera inversa. De esta forma, este (CM2) aplica la versión inversa CA-1 del algoritmo de cifrado CA (aquí DES-1) con la primera parte K1 de la clave predeterminada K al código recibido RC, para obtener un primer resultado intermedio, después aplica el DES CA con la segunda parte K2 de la clave predeterminada K (que es la parte complementaria de la primera parte Kl) a este primer resultado intermedio, para obtener un segundo resultado intermedio, después aplica nuevamente la versión inversa CA-1 del algoritmo de cifrado CA (aquí DES-1) con la primera parte de Kl de la clave predeterminada K a este segundo resultado intermedio, para obtener un tercer resultado intermedio, y finalmente para disociar (CN-1) el N-avo bloque de datos BN del mensaje recibido de este tercer resultado intermedio para obtener el resultado RPN de la versión inversa de la N-ava parte de algoritmo PAN.
Aquí por "disociar" se entiende la función inversa CN1 de la combinación CN (aquí llevada a cabo en la primera parte de algoritmo PA1 y la segunda parte de algoritmo PA2).
Después, el segundo medio de computación CM2 ejecuta la N-1-ava parte PAN-1 del algoritmo biyectivo en una manera inversa. De esta manera, este (CM2) aplica la versión inversa CA1 del algoritmo de cifrado CA (aquí DES 1) con la primera parte K1 de la clave predeterminada K al resultado RPN, para obtener un valor del cual se disocia (CN-1) el N-l-avo bloque de datos BN-1 del mensaje recibido para obtener el resultado RPN-1 de la versión inversa de la N-l-ava parte de algoritmo PAN-1. El segundo medio de computación CM2 procede en la misma manera para cada bloque de datos Bn, con 3 < n < N-l, para obtener el segundo resultado SR al final de la aplicación de la versión inversa de la tercera parte de algoritmo PA3 (con SR = RP3).
Después, este segundo resultado SR se compara con el primer resultado FR a través de los medios de comparación CM3.
En el ejemplo de algoritmo antes descrito, el paso intermedio es el final de una n-ava parte de algoritmo PAn (aquí h = 2, por ejemplo) con n mayor que 1 y menor que N (2 < n < N-l). Pero esto no es obligatorio. De hecho, el paso intermedio puede ser una subparte intermedia de una n-ava parte de algoritmo PAn (con 2 < n < N-l). Por ejemplo, esta subparte intermedia puede ser el final de una combinación CN en una n-ava parte de algoritmo PAn (para los primeros medios de computación CM1) o el final de la aplicación de una versión inversa CA1 del algoritmo de cifrado CA (aquí DES1) en esta n-ava parte de algoritmo PAn (para el segundo medio de computación CM2.
Los medios de control CM4 pueden ser acomodados para elegir el paso intermedio donde los primeros medios de computación CM1 y los segundos medios de computación CM2 deben de tener sus cálculos respectivos.
Es importante observar que se puede predeterminar la elección del paso intermedio, donde los primeros medios de computación CM1 y los segundos medios de computación CM2 deben de tener sus cálculos respectivos. Pero esta elección de manera conveniente puede variar, posiblemente en una forma aleatoria, de una aplicación (o ejecución) del algoritmo biyectivo a otra. Los medios de control CM4 pueden estar a cargo de esta elección.
La invención también se puede considerar en términos de un método de control para un dispositivo electrónico ED2. Dicho método puede ser implementado por medio de un dispositivo de control CD tal como aquél antes descrito con referencia a las figuras 1 y 2. Por lo tanto, en lo sucesivo únicamente se mencionarán sus características principales.
El método de control, de acuerdo con la invención, comprende los pasos de: (i) aplicar parcialmente una algoritmo biyectivo con una clave predeterminada K a un mensaje recibido, desde un paso de inicio a un paso intermedio elegido, a fin de obtener un primer resultado, (ii) aplicar parcialmente en una manera inversa, este algoritmo biyectivo con esta clave predeterminada K, desde un paso final a este paso intermedio elegido, al código RC recibido con el mensaje mientras se utiliza este mensaje recibido, a fin de obtener un segundo resultado, y (iii) considerar que este código recibido RC es auténtico en caso que este primer y segundo resultados sean idénticos.
Este primer (i), segundo (ii) y tercer (iii) pasos pueden ser llevados a cabo respectivamente por el primer medio de computación CM1, el segundo medio de computación CM2 y el medio de comparación CM3.
La invención no se limita a las modalidades del método de control, el dispositivo de control y el dispositivo electrónico antes descritos, únicamente como ejemplos, sino que abarca todas las modalidades alternativas que pueden ser consideradas por un experto en la téenica dentro del alcance de las siguientes reivindicaciones.

Claims (15)

REIVINDICACIONES
1.- Un método para controlar la autenticidad de un código recibido con un mensaje por un dispositivo electrónico (ED2) y que resulta de la aplicación de un algoritmo biyectivo a dicho mensaje con al menos una clave predeterminada, caracterizado porque comprende los paso de: (i) aplicar parcialmente dicho algoritmo biyectivo con dicha clave predeterminada, desde un paso de inicio a un paso intermedio elegido, a dicho mensaje recibido, a fin de obtener un primer resultado, (ii) aplicar parcialmente en una manera inversa dicho algoritmo biyectivo con dicha clave predeterminada, desde un paso final a dicho paso intermedio elegido, a dicho código recibido mientras se utiliza dicho mensaje recibido, a fin de obtener un segundo resultado, y (iii) considerar que dicho código recibido es auténtico en caso que el primer y segundo resultados sean idénticos.
2.- El método de conformidad con la reivindicación 1, caracterizado porque dicho paso intermedio varia de una aplicación a otra.
3.- El método de conformidad con la reivindicación 2, caracterizado porque dicho paso intermedio varia en forma aleatoria de una aplicación a otra.
4.- El método de conformidad con cualquiera de las reivindicaciones 1 a 3, caracterizado porque, en el caso donde dicho algoritmo biyectivo comprende N partes sucesivas que respectivamente deben ser aplicadas a N bloques de datos que resultan de la división de dicho mensaje recibido y cada uno combinado con el resultado de la aplicación de la parte de algoritmo precedente al bloque precedente, se continúa primero con la división de dicho mensaje recibido en el paso (i), y se elige el final de una n-ava parte de algoritmo como el paso intermedio.
5.- El método de conformidad con cualquiera de las reivindicaciones 1 a 3, caracterizado porque, en el caso donde dicho algoritmo biyectivo comprende N partes sucesivas que deben ser aplicadas respectivamente a N bloques de datos que resultan de la división de dicho mensaje recibido y cada uno combinado con el resultado de la aplicación de la parte de algoritmo precedente al bloque precedente, se continúa primero a la división de dicho mensaje recibido en el paso (i), y se elige una subparte intermedia de una n-ava parte de algoritmo como el paso intermedio.
6.- El método de conformidad con cualquiera de las reivindicaciones 4 y 5, caracterizado porque en los pasos (i) y (ii) se aplica únicamente un algoritmo de cifrado o criptográfico o una versión inversa de dicho algoritmo de cifrado o criptográfico con una primera parte de la clave predeterminada en cada parte de algoritmo difiriendo de la N-ava parte, y porque en el paso (II) se aplica primero dicha versión inversa de dicho algoritmo de cifrado o criptográfico con dicha primera parte de la clave predeterminada a dicho código recibido, para obtener un primer resultado intermedio, después se aplica dicho algoritmo de cifrado o criptográfico con una segunda parte de dicha clave predeterminada a dicho primer resultado intermedio, para obtener un segundo resultado intermedio, después se aplica nuevamente dicha versión inversa del algoritmo de cifrado o criptográfico con dicha primera parte de la clave predeterminada a dicho segundo resultado intermedio, para obtener un tercer resultado intermedio, y finalmente se disocia dicho N-avo bloque de datos de dicho mensaje recibido de dicho tercer resultado intermedio para obtener el resultado de la versión inversa de la N-ava parte de algoritmo.
7.- El método de conformidad con la reivindicación 6, caracterizado porque dicho algoritmo de cifrado o criptográfico es elegido de un grupo que comprende al menos un algoritmo de Estándar de Encriptación de Datos simple, un algoritmo de Estándar de Encriptación de Datos triple, un algoritmo de Estándar de Encriptación Avanzada, y un algoritmo RSA.
8.- Un dispositivo de control (CD) para controlar la autenticidad de un código recibido con un mensaje mediante un dispositivo electrónico (ED2) y que resulta de la aplicación a dicho mensaje de un algoritmo biyectivo con al menos una clave predeterminada, caracterizado porque comprende, (i) un primer medio de computación (CMl) acomodado para aplicar parcialmente dicho algoritmo biyectivo con dicha clave predeterminada a dicho mensaje recibido, desde un paso de inicio a un paso intermedio elegido, a fin de obtener un primer resultado, (ii) un segundo medio de computación (CM2) acomodado para aplicar parcialmente en una manera inversa dicho algoritmo biyectivo con dicha clave predeterminada a dicho código recibido, desde un paso final a dicho paso intermedio elegido, mientras se utiliza dicho mensaje recibido, a fin de obtener un segundo resultado, y (iii) un medio de comparación (CM3) acomodado para comparar dicho primer y segundo resultados y para emitir información representativa de la autenticidad de dicho código recibido cuando dicho primer y segundo resultados son idénticos.
9.- El dispositivo de control de conformidad con la reivindicación 8, caracterizado porque éste comprende un medio de control (CM4) acomodado para variar dicho paso intermedio de una aplicación a otra.
10.- El dispositivo de control de conformidad con la reivindicación 9, caracterizado porque dicho medio de control (CM4) está acomodado para variar de manera aleatoria dicho paso intermedio de una aplicación a otra.
11.- El dispositivo de control de conformidad con cualquiera de las reivindicaciones 8 a 10, caracterizado porque éste comprende un medio de control (CM4) acomodado para dividir dicho mensaje recibido en N bloques de datos en el caso donde dicho algoritmo biyectivo comprende N partes sucesivas que deben ser aplicadas respectivamente a N bloques de datos que resultan de la división de dicho mensaje recibido y cada uno combinado con el resultado de la aplicación de la parte de algoritmo precedente al bloque precedente, y para elegir el final de una n-ava parte de algoritmo como el paso intermedio.
12.- El dispositivo de control de conformidad con cualquiera de las reivindicaciones 8 a 10, caracterizado porque éste comprende un medio de control (CM4) acomodado para dividir dicho mensaje recibido en N bloques de datos en el caso donde dicho algoritmo biyectivo comprende N partes sucesivas que deben ser aplicadas respectivamente a N bloques de datos que resultan de la división de dicho mensaje recibido y cada uno combinado con el resultado de la aplicación de la parte de algoritmo precedente al bloque precedente, y para elegir una subparte intermedia de una n-ava parte de algoritmo como el paso intermedio.
13.- El dispositivo de control de conformidad con cualquiera de las reivindicaciones 11 y 12, caracterizado porque dicho primer medio de computación (CM1) y segundo medio de computación (CM2) están acomodados para aplicar únicamente un algoritmo de cifrado o criptográfico o una versión inversa de dicho algoritmo de cifrado o criptográfico con una primera parte de la clave predeterminada en cada parte de algoritmo difiriendo de la N-ava parte, y dicho segundo medio de computación (CM2) está acomodado para aplicar dicha versión inversa de dicho algoritmo de cifrado o criptográfico con dicha primera parte de la clave predeterminada a dicho código recibido, para obtener un primer resultado intermedio, después para aplicar dicho algoritmo de cifrado o criptográfico con una segunda parte de dicha clave predeterminada a dicho primer resultado intermedio, para obtener un segundo resultado intermedio, después para aplicar nuevamente dicha versión inversa del algoritmo de cifrado o criptográfico con dicha primera parte de la clave predeterminada a dicho segundo resultado intermedio, para obtener un tercer resultado intermedio, y finalmente para disociar dicho N-avo bloque de datos de dicho mensaje recibido de dicho tercer resultado intermedio para obtener el resultado de la versión inversa de la N-ava parte de algoritmo.
14.- El dispositivo de control de conformidad con la reivindicación 13, caracterizado porque dicho algoritmo de cifrado o criptográfico es elegido de un grupo que comprende al menos una algoritmo simple de Estándar de Encriptación de Datos, un algoritmo de Estándar de Encriptación de Datos triple, un algoritmo de Estándar de Encriptación Avanzada, y un algoritmo RSA.
15.- El dispositivo electrónico (ED2), caracterizado porque éste comprende un dispositivo de control (CD) de conformidad con cualquiera de las reivindicaciones 8 a 14, caracterizado porque dicho dispositivo electrónico es elegido de un grupo que comprende al menos una tarjeta inteligente, un lector de tarjeta de memoria, un dispositivo de telecomunicaciones y un medio de memoria portátil.
MX2015005690A 2012-11-12 2013-11-12 Metodo de control y dispositivo para controlar la autenticidad de codigos que resultan de la aplicacion de un algoritmo biyectivo a mensajes. MX343942B (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP12306396.8A EP2731291A1 (en) 2012-11-12 2012-11-12 Control method and device for controlling authenticity of codes resulting from application of a bijective algorithm to messages
PCT/EP2013/073636 WO2014072529A1 (en) 2012-11-12 2013-11-12 Control method and device for controlling authenticity of codes resulting from application of a bijective algorithm to messages

Publications (2)

Publication Number Publication Date
MX2015005690A true MX2015005690A (es) 2015-08-20
MX343942B MX343942B (es) 2016-11-30

Family

ID=47355980

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2015005690A MX343942B (es) 2012-11-12 2013-11-12 Metodo de control y dispositivo para controlar la autenticidad de codigos que resultan de la aplicacion de un algoritmo biyectivo a mensajes.

Country Status (6)

Country Link
US (1) US9807063B2 (es)
EP (2) EP2731291A1 (es)
JP (1) JP6356687B2 (es)
BR (1) BR112015007982B1 (es)
MX (1) MX343942B (es)
WO (1) WO2014072529A1 (es)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106027253B (zh) * 2016-01-21 2019-05-21 李明 一种身份证认证信息的访问频度管控装置
CN106027254B (zh) * 2016-01-21 2019-05-21 李明 一种身份证认证***中身份证读卡终端使用密钥的方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2731945B2 (ja) * 1989-06-05 1998-03-25 エヌ・ティ・ティ・データ通信株式会社 個別鍵による認証が可能なicカード
JPH10154976A (ja) * 1996-11-22 1998-06-09 Toshiba Corp タンパーフリー装置
FR2829331B1 (fr) * 2001-09-04 2004-09-10 St Microelectronics Sa Procede de securisation d'une quantite secrete
JP4549303B2 (ja) * 2005-02-07 2010-09-22 株式会社ソニー・コンピュータエンタテインメント パイプラインを用いてメッセージ認証コードを提供する方法および装置
EP1912148A1 (en) * 2006-10-09 2008-04-16 Axalto S.A. Protection against side channel attacks with an integrity check
EP2001154A1 (fr) * 2007-06-05 2008-12-10 Nicolas Reffe Procédé et dispositif de chiffrement/déchiffrement d'une séquence de données d'entrée
JP5269661B2 (ja) * 2009-03-18 2013-08-21 株式会社東芝 携帯可能電子装置、及び携帯可能電子装置の制御方法

Also Published As

Publication number Publication date
JP6356687B2 (ja) 2018-07-11
BR112015007982A2 (pt) 2017-07-04
BR112015007982B1 (pt) 2022-08-23
MX343942B (es) 2016-11-30
EP2918036A1 (en) 2015-09-16
EP2731291A1 (en) 2014-05-14
US9807063B2 (en) 2017-10-31
US20160277361A1 (en) 2016-09-22
EP2918036B1 (en) 2019-01-02
WO2014072529A1 (en) 2014-05-15
JP2015534415A (ja) 2015-11-26

Similar Documents

Publication Publication Date Title
CN108833103B (zh) 射频识别标签和读取设备之间进行安全通信的方法和***
Song Advanced smart card based password authentication protocol
JP6692937B2 (ja) 通信装置、販売時点端末、支払装置、及び方法
AU2017299473B2 (en) Secure channel establishment
JP3676735B2 (ja) 2つのデータ処理ユニットの相互認証を行なう方法および装置
US9152383B2 (en) Method for encrypting a message through the computation of mathematical functions comprising modular multiplications
EP2158719B1 (en) Method of generating a public key for an electronic device and electronic device
US20120054498A1 (en) System and method for managing secure information within a hybrid portable computing device
CN104782077B (zh) 密码证书重发的方法和装置以及防篡改设备
US10721056B2 (en) Key processing method and device
WO2013107593A1 (en) Electronic device generating an identifier based on physical unclonable functions
RU2579990C2 (ru) Защита от пассивного сниффинга
US10326586B2 (en) Encryption/decryption apparatus and power analysis protecting method thereof
US10567155B2 (en) Securing a cryptographic device
MX2015005690A (es) Metodo de control y dispositivo para controlar la autenticidad de codigos que resultan de la aplicacion de un algoritmo biyectivo a mensajes.
KR101350984B1 (ko) 보안 토큰에 대한 발급자 인증 방법 및 그 장치
CN107959670B (zh) 一种动态口令的生成方法、装置、终端设备和存储介质
CN110098915B (zh) 认证方法及***、终端
US10305678B2 (en) Imbalanced montgomery ladder
EP3270344A1 (en) Payment device adapted to establish a secure messaging channel with a remote server for a payment transaction and associated remote server

Legal Events

Date Code Title Description
FG Grant or registration