MÉTODO DE PROCESAMIENTO CRIPTOGRÁFICO DE DATOS, EN PARTICULAR CON LA AYUDA DE UNA CAJA S, DISPOSITIVO Y PROGRAMAS ASOCIADOS.
Método de procesamiento criptográfico de datos representados bajo forma digital,
poniéndose dicho método en práctica por una entidad electrónica (10) y que comprende una transformación (E110) de un dato de entrada (M'i1), enmascarado por una máscara de entrada (X; X1 + X2), en un dato de salida (M'i), poniendo en práctica dicha transformación una tabla de conversión (S), caracterizado por las etapas siguientes : - para al menos una pluralidad de valores posibles (A) para la máscara de entrada, la transferencia del valor de salida de la tabla de conversión (S) que corresponde al dato de entrada enmascarado (M'i-1) transformado por aplicación de una operación de desenmascaramiento por medio del valor posible (A), en una tabla (T) en una posición correspondiente a un valor determinado (0; Y; X3) enmascarado por la máscara de entrada y transformado por aplicación de la operación de desenmascaramiento por medio del valor posible; - determinación del dato de salida por medio del dato situado en la tabla (T) en la posición correspondiente al valor determinado (0; Y; X3).
Tipo: Patente Internacional (Tratado de Cooperación de Patentes). Resumen de patente/invención. Número de Solicitud: PCT/FR2007/002061.
Solicitante: OBERTHUR TECHNOLOGIES.
Nacionalidad solicitante: Francia.
Dirección: 50 QUAI MICHELET 92300 LEVALLOIS PERRET FRANCIA.
Inventor/es: RIVAIN,Matthieu, PROUFF,Emmanuel.
Fecha de Publicación: .
Fecha Solicitud PCT: 13 de Diciembre de 2007.
Clasificación PCT:
- H04L9/06 ELECTRICIDAD. › H04 TECNICA DE LAS COMUNICACIONES ELECTRICAS. › H04L TRANSMISION DE INFORMACION DIGITAL, p. ej. COMUNICACION TELEGRAFICA (disposiciones comunes a las comunicaciones telegráficas y telefónicas H04M). › H04L 9/00 Disposiciones para las comunicaciones secretas o protegidas. › utilizando el aparato de cifrado registros de desplazamiento o memorias para la codificación por bloques, p. ej. sistema DES.
Países PCT: Austria, Bélgica, Suiza, Alemania, Dinamarca, España, Francia, Reino Unido, Grecia, Italia, Liechtensein, Luxemburgo, Países Bajos, Suecia, Mónaco, Portugal, Irlanda, Eslovenia, Finlandia, Rumania, Chipre, Lituania, Letonia, Ex República Yugoslava de Macedonia, Albania.
PDF original: ES-2366753_T3.pdf
Fragmento de la descripción:
La invención se refiere a un método de procesamiento criptográfico de datos, así como un dispositivo y un programa asociados.
En dichos métodos, se suele recurrir al enmascaramiento de los datos con el fin de luchar contra los ataques, por ejemplo del tipo de análisis de corriente (en particular, los ataques de tipo DPA (Análisis de Potencia Diferencial)) o del tipo de análisis de radiación electromagnética.
Las técnicas de enmascaramiento consisten en combinar el dato (es decir, en la práctica, el número) que se desea utilizar (en la práctica, al que se desea realizar una operación) con un número imprevisible para un atacante exterior (en general, un número aleatorio o pseudo-aleatorio); así, los valores implicados son, cada vez, diferentes incluso utilizando un dato constante en la entrada, lo que hace imposible para el atacante deducir los datos internos del método (y, en particular, las claves criptográficas que utiliza) a partir de medidas realizadas desde el exterior.
Una parte de la seguridad criptográfica se obtiene mediante la utilización de funciones no lineales. Por ejemplo, se suele modelizar un cifrado por bloque (block cipher) mediante la combinación de funciones afines y de funciones no lineales. Las realizaciones de tales funciones no lineales son particularmente difíciles de proteger por enmascaramiento, debido a la no linealidad con respecto a la operación de enmascaramiento.
Un ejemplo del método de procesamiento criptográfico se describe por la solicitud de patente internacional WO 2007/116140 que pone en práctica una función no lineal del tipo caja S ("S-Box", según la terminología anglosajona especializada del dominio considerado) aplicada a estos datos enmascarados.
Dichas cajas S o "S-Boxes" se realizan, en la práctica, por medio de una tabla de correspondencia (que suele denominarse tabla-S o "look-up table" [LUT] en este mismo dominio) memorizada en el dispositivo criptográfico.
La solución propuesta en este documento puede, sin embargo, no convenir cuando se desee evitar la puesta en práctica de un número importante de adiciones.
En este contexto, la invención prevé un método de procesamiento criptográfico de datos representados bajo forma digital, poniéndose en práctica dicho método por una entidad electrónica y que comprende una transformación de un dato de entrada, enmascarado por una máscara de entrada, en un dato de salida, poniendo en práctica dicha transformación una tabla de conversión, caracterizado por las etapas siguientes:
- para al menos una pluralidad de valores posibles para la máscara de entrada, la transferencia del valor de salida de la tabla de conversión correspondiente al dato de entrada enmascarado, transformado aplicando una operación de desenmascaramiento por medio del valor posible, en una tabla en una posición correspondiente a un valor determinado enmascarado por la máscara de entrada y transformado aplicando la operación de desenmascaramiento por medio del valor posible;
- determinación del dato de salida por medio del dato situado en la tabla en la posición correspondiente al valor determinado.
Se reorganiza, así, una parte al menos de la tabla de conversión en la tabla, de tal modo que el valor de salida buscado (que corresponde, en esta tabla de conversión, al valor de entrada sin enmascaramiento) se coloque (con un posible enmascaramiento), en la tabla en la posición definida por el valor determinado.
Sin embargo, debido a que se trata de una pluralidad de valores posibles para la máscara y que la reorganización efectuada depende al menos de la máscara de entrada, el método está protegido contra los ataques.
La tabla de conversión define, por ejemplo, en la práctica, una función no lineal, tal como la implicada en el interior de una caja-S.
La máscara de entrada puede ser una máscara del primer orden, por ejemplo la aplicación de un valor aleatorio, o una máscara del segundo orden, que corresponde a la aplicación sucesiva de un primero y luego, un segundo valor aleatorio. En este caso, el valor determinado se puede enmascarar por la máscara de entrada por medio de las etapas siguientes:
- enmascaramiento por un primer elemento de máscara;
- enmascaramiento por un segundo elemento de máscara.
Con el fin de mejorar la seguridad en la salida de la tabla de conversión, la etapa de transferencia puede comprender el enmascaramiento del valor transferido mediante una máscara de salida, que puede ser diferente de la máscara de entrada, por ejemplo por medio de un enmascaramiento del primer o del segundo orden.
En este último caso, la aplicación de la máscara de salida se puede realizar por medio de las etapas siguientes:
- enmascaramiento por un primer valor aleatorio;
- enmascaramiento por un segundo valor aleatorio.
Según una forma de realización descrita a continuación, la etapa de transferencia se realiza para el conjunto de los valores posibles para la máscara de entrada, lo que permite no hacer aparecer, hacia el exterior ningún valor privilegiado y por lo tanto, ninguna fuga de información a este nivel.
Por otro lado, el valor determinado (que define, como se indicó anteriormente, la posición de interés en la tabla) puede ser un valor predeterminado (por ejemplo, con miras a la simplificación) o un valor obtenido mediante muestreo aleatorio, lo que mejora también la seguridad, puesto que la posición interesante, en la tabla, varía en este caso en cada puesta en práctica.
La entidad electrónica es adecuada para manipular los datos digitales procesados, por ejemplo, por medio de un microprocesador.
El método es, por ejemplo, un método de cifrado o de descifrado de datos digitales, que representa en general un mensaje, pero también potencialmente una clave criptográfica, un dato intermedio o una parte solamente de dichos elementos.
En la práctica se utilizará máscaras binarias de la misma longitud que el dato de entrada binaria. Así, el conjunto de las máscaras binarias corresponde al conjunto de las entradas de la caja-S (tabla-S).
Las máscaras binarias asociadas a una función de adición booleana tienen la ventaja de constituir una función de enmascaramiento involutivo simple, que permite encontrar el valor de un dato de entrada cuando está enmascarado dos veces por la misma máscara.
La invención se aplica así a cualquier orden de enmascaramiento, es decir, cualquiera que sea el número de máscaras aleatorias aplicadas al dato.
En particular, la función de enmascaramiento puede ser conmutativa, lo que permite aprehender el doble (incluso más) enmascaramiento cualquiera que sea el orden de aplicación de las máscaras de entrada o de salida, según se menciona más adelante.
Según un modo de realización particularmente interesante, dichas máscaras pueden ser máscaras aditivas, por ejemplo máscaras booleanas. Así, se puede poner en práctica fácilmente la adición booleana con la ayuda de funciones O EXCLUSIVA (XOR).
Según un modo de realización, que utiliza una palabra-máquina de gran longitud y que reagrupa varias sub-palabras de salida, dicho dato situado en la tabla es una palabra que comprende una pluralidad de sub-palabras de salida y la determinación del dato de salida puede comprender, entonces, una etapa de acceso al dato de salida, entre las sub-palabras, por medio de una parte del dato de entrada y de una parte de la máscara de entrada.
Dentro de este contexto, la etapa de acceso al dato de salida en dicha palabra comprende por ejemplo:
i) una etapa de separación de dicha palabra en dos mitades, respectivamente, de los bits más significativos y de los bits menos significativos,
ii) una etapa de selección de una de dichas mitades de dicha palabra en función de los valores de los bits de un mismo índice en, respectivamente, la parte del dato de entrada y la parte de la máscara de entrada.
El método se pone en práctica, por ejemplo, por una secuencia de instrucciones memorizadas en la entidad electrónica y ejecutarse por un microprocesador de la entidad electrónica.
La entidad electrónica puede ser, en la práctica, una tarjeta de microcircuito, particularmente adaptada a este tipo de operaciones aseguradas.
La... [Seguir leyendo]
Reivindicaciones:
1. Método de procesamiento criptográfico de datos representados bajo forma digital, poniéndose dicho método en práctica por una entidad electrónica (10) y que comprende una transformación (E110) de un dato de entrada (M'i1), enmascarado por una máscara de entrada (X; X1 X2), en un dato de salida (M'i), poniendo en práctica dicha transformación una tabla de conversión (S), caracterizado por las etapas siguientes :
- para al menos una pluralidad de valores posibles (A) para la máscara de entrada, la transferencia del valor de salida de la tabla de conversión (S) que corresponde al dato de entrada enmascarado (M'i-1) transformado por aplicación de una operación de desenmascaramiento por medio del valor posible (A), en una tabla (T) en una posición correspondiente a un valor determinado (0; Y; X3) enmascarado por la máscara de entrada y transformado por aplicación de la operación de desenmascaramiento por medio del valor posible;
- determinación del dato de salida por medio del dato situado en la tabla (T) en la posición correspondiente al valor determinado (0; Y; X3).
2. Dispositivo electrónico de procesamiento criptográfico de datos representados bajo forma digital, apto para realizar una transformación de un dato de entrada, enmascarado por una máscara de entrada, en un dato de salida por medio de una tabla de conversión, caracterizado por:
- medios para transferir, para al menos una pluralidad de valores posibles para la máscara de entrada, el valor de salida de la tabla de conversión correspondiente al dato de entrada enmascarado, transformado por aplicación de una operación de desenmascaramiento, por medio del valor posible, en una tabla en una posición correspondiente a un valor determinado enmascarado por la máscara de entrada y transformado por aplicación de la operación de desenmascaramiento por medio del valor posible;
- medios para determinar el dato de salida por medio del dato situado en la tabla en la posición correspondiente al valor determinado.
3. Dispositivo electrónico según la reivindicación 2, en donde la tabla de conversión define una función no lineal (F).
4. Dispositivo electrónico según la reivindicación 2 o 3, en donde la máscara de entrada es una máscara del primer orden.
5. Dispositivo electrónico según la reivindicación 2 o 3, en donde la máscara de entrada es un máscara del segundo orden.
6. Dispositivo electrónico según la reivindicación 5, que comprende:
- medios de enmascaramiento del valor determinado por un primer elemento de máscara (X1);
- medios de enmascaramiento del valor determinado por un segundo elemento de máscara (X2).
7. Dispositivo electrónico según una de las reivindicaciones 2 a 6, en donde los medios para transferir comprenden medios de enmascaramiento del valor transferido por una máscara de salida (Z; Z1, Z2).
8. Dispositivo electrónico según la reivindicación 7, en donde la máscara de salida es una máscara del segundo orden.
9. Dispositivo electrónico según la reivindicación 8, en donde los medios de enmascaramiento comprenden:
- primeros sub-medios de enmascaramiento por un primer valor aleatorio (Z1);
- segundos sub-medios de enmascaramiento por un segundo valor aleatorio (Z2).
10. Dispositivo electrónico según una de las reivindicaciones 2 a 9, en donde los medios para transferir actúan para el conjunto de los valores posibles para la máscara de entrada.
11. Dispositivo electrónico según una de las reivindicaciones 2 a 10, en donde el valor determinado es un valor predeterminado.
12. Dispositivo electrónico según una de las reivindicaciones 2 a 10, que comprende medios para obtener el valor determinado por muestreo aleatorio.
13. Dispositivo electrónico según una de las reivindicaciones 2 a 12, en donde la o las máscaras (X; X1, X2; Z; Z1, Z2) son máscaras aditivas.
14. Dispositivo electrónico según la reivindicación precedente, en donde la o las máscaras son máscaras booleanas.
15. Dispositivo según una de las reivindicaciones 2 a 14, en donde dicho dato situado en la tabla es una palabra que comprende una pluralidad de sub-palabras de salida y en donde los medios de determinación del dato de salida comprenden medios de acceso al dato de salida, entre las sub-palabras, por medio de una parte del dato de entrada (M'L) y de una parte de la máscara de entrada.
16. Dispositivo según la reivindicación 15, en donde los medios de acceso al dato de salida en dicha palabra comprenden:
i) medios de separación de dicha palabra (U, U') en dos mitades (H0 (U), H1 (U), UH, UL), respectivamente, de los bits más significativos y de los bits menos significativos,
ii) medios de selección de una de dichas mitades de dicha palabra (U, U') en función de los valores de los bits de un mismo índice en, respectivamente, la parte del dato de entrada (M'L, j') y la parte de la máscara de entrada (rj, rj1, rj2).
17. Tarjeta de microcircuito que comprende un dispositivo electrónico según una de las reivindicaciones 2 a 16.
18. Producto de programa informático, que comprende una serie de instrucciones adaptadas, cuando se ejecutan por un microprocesador, para poner en práctica un método según la reivindicación 1.
Patentes similares o relacionadas:
Procedimiento de puesta en práctica segura de un módulo funcional en un componente electrónico, y componente electrónico correspondiente, del 29 de Julio de 2020, de Thales Dis France SA: Procedimiento de puesta en práctica segura de un módulo funcional, que tiene por función un algoritmo de criptografía, en un componente electrónico, utilizando el […]
Arquitectura e instrucciones flexibles para el estándar de cifrado avanzado (AES), del 27 de Mayo de 2020, de INTEL CORPORATION: Un procesador que comprende: una pluralidad de núcleos; una caché de instrucciones de nivel 1, L1, para almacenar una pluralidad de instrucciones […]
Método y sistema para asegurar un acceso de un cliente a servicios de agente DRM para un reproductor de video, del 29 de Abril de 2020, de Orca Interactive Ltd: Un método para asegurar el acceso del módulo informático de un cliente a los servicios de un agente DRM, comprendiendo dicho método los pasos de: […]
Procedimiento y dispositivo electrónico de gestión de datos, del 1 de Abril de 2020, de SAMSUNG ELECTRONICS CO., LTD.: Un dispositivo electrónico que comprende: una memoria configurada para almacenar al menos una aplicación; un módulo de comunicación configurado […]
Algoritmo criptográfico con etapa de cálculo enmascarada dependiente de clave (llamada de SBOX), del 12 de Febrero de 2020, de Giesecke+Devrient Mobile Security GmbH: Unidad de procesador con una implementación ejecutable implementada en la misma de un algoritmo criptográfico (AES, DES), que está configurado para, […]
Componente lógico programable, circuito de formación de claves y procedimiento para proporcionar una información de seguridad, del 11 de Diciembre de 2019, de Siemens Mobility GmbH: Componente lógico programable, que se configura por un flujo de bits , donde mediante el flujo de bits se configura un circuito de formación de […]
Sistema y procedimiento para la creación y la gestión de autorizaciones descentralizadas para objetos conectados, del 31 de Octubre de 2019, de Bull SAS: Sistema informático de creación de autorizaciones, de atribuciones y de gestión de dichas autorizaciones para unos objetos conectados que […]
Dispositivo y método para criptografía resonante, del 23 de Octubre de 2019, de Global Risk Advisors: Un sistema para comunicaciones seguras usando encriptación de datos, comprendiendo el sistema: una colección de dispositivos (100A, 100B, […]