Circuito criptográfico protegido contra los ataques de observación, en particular de orden elevado.

Circuito criptográfico que comprende al menos un registro (R, 22) que suministra una variable x enmascarada (x Åm) por una variable de máscara (m), caracterizado porque dicha variable enmascarada se cifra mediante unaprimera caja de sustitución S(1) de forma cíclica, comprendiendo dicho circuito un registro de máscara (M, 23) queemite en cada ciclo una máscara transformada (mt) a su vez transformada por una función de modificación (41, 61)en la variable de máscara m, siendo dicha función de modificación una biyección o una función de descomposición,transformándose dicha variable enmascarada (x Å m) al final de un ciclo en una nueva máscara (S(x) Å m') de dichavariable (x), cifrada por la primera caja de sustitución S, mediante una nueva máscara (m'), calculándose dichanueva máscara (m') en función de dicha variable de máscara (m) y de dicha variable enmascarada (x Å m) pormedio de una segunda caja de sustitución S' (21).

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

Solicitante: Institut Telecom - Telecom Paristech.

Nacionalidad solicitante: Francia.

Dirección: 46 Rue Barrault 75013 Paris FRANCIA.

Inventor/es: DANGER,Jean-Luc, GUILLEY,Sylvain.

Fecha de Publicación: .

Clasificación Internacional de Patentes:

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

PDF original: ES-2435721_T3.pdf

 


Fragmento de la descripción:

Circuito criptográfico protegido contra los ataques de observación, en particular de orden elevado La presente invención se refiere a un circuito criptográfico protegido contra los ataques de observación. Esta se aplica en particular para la protección de circuitos criptográficos contra los ataques de observación de orden elevado 5 sobre implantaciones basadas en el enmascaramiento.

La criptografía tiene, en particular, como objetivos proteger:

-o bien la confidencialidad de una información, por medio del cifrado y de la operación dual: el descifrado; -o bien solo la autenticidad de una información, mediante las operaciones de firma y de verificación, mediante las operaciones de firma y de verificación de las firmas.

La criptografía utiliza métodos matemáticos, los cuales se ha demostrado que conducen a sistemas seguros. Por ejemplo, un cifrado se considera seguro cuando se ha probado que no existen, en el estado actual de los conocimientos publicados, métodos de ataque significativamente más rápidos que el ataque exhaustivo, que corresponde a la prueba de todas las claves posibles.

En general, los métodos de cifrado implican unos cálculos complejos, necesarios para la seguridad de los sistemas.

Esta complejidad no plantea problemas particulares a los ordenadores, pero es un grave inconveniente en el caso de dispositivos que no tienen una gran potencia de cálculo, por lo general animados por microprocesadores de « 8 bits », de bajo coste. Las consecuencias pueden ser de varios tipos, como:

-un obstáculo para un buen uso, un ejemplo típico sería una tarjeta bancaria que necesita varios minutos para firmar una factura; 20 -una denegación de servicio, un ejemplo típico sería un decodificador de televisión de pago que no puede seguir el flujo de información emitido.

Para resolver esta dificultad sin aumentar el precio de los sistemas, es habitual añadir un sistema de ayuda a la unidad central del dispositivo utilizado, en forma de un coprocesador dedicado a la criptografía.

Sin embargo, lo aplique la unidad central o un coprocesador especializado, el algoritmo criptográfico se aplica mediante un dispositivo físico, en la actualidad de tipo electrónico. Estos dispositivos físicos presentan imperfecciones inevitables, ligadas a las propiedades inherentes a las leyes básicas de la electricidad.

Es por ello por lo que sistemas de criptografía seguros desde el punto de vista matemático pueden ser atacados aprovechando las imperfecciones inherentes de los sistemas físicos que aplican el algoritmo, así pues:

-la duración de los cálculos puede depender de los valores de los datos, en particular en los sistemas

informáticos optimizados en velocidad, lo que ha dado lugar a los ataques de tipo « Timing Attack » que se describen en particular en el documento de P. Kocher y otros: Timing Attack on Implementation of Diffie-Hellman, RSA, DSS and other systems, en Proceedings of CRYPTO’96, volumen 1.109 de LNCS, páginas 104113, Springer-Verlag, 1996, permitiendo estos ataques en algunos casos encontrar todas las claves secretas a partir de simples mediciones de los tiempos de ejecución;

- el consumo instantáneo también puede depender de los datos, lo que ha dado lugar a una serie de ataques como:

-el ataque SPA (Simple Power Analysis) que se describe en particular en el documento de Thomas S. Messerges y otros: Investigations of Power Analysis Attacks on Smartcards, en USENIX - Smartcard’99, páginas 151-162, mayo 10-11, 1999, Chicago USA, intentando este ataque distinguir las operaciones

ejecutadas por una unidad central a partir de una medición de su consumo eléctrico durante una operación criptográfica; -el ataque DPA (Differential Power Analysis) que se describe en particular en el documento de S. Guilley y otros: Differential Power Analysis Model and some Results, en Proceedings of WCC/CARDIS, páginas 127142, agosto de 2004, Toulouse, Francia, utilizando este ataque operaciones estadísticas sobre numerosas 45 mediciones de consumo eléctrico, realizadas durante operaciones criptográficas sobre mensajes aleatorios y con una clave constante, para validar o invalidar una hipótesis hecha sobre una parte limitada de la clave;

-toda corriente eléctrica que circula por un conductor genera un campo electromagnético cuya medición puede dar lugar a ataques de tipo EMA (Electro Magnetic Attack) idénticos en su principio a los ataques que se basan en el consumo eléctrico;

-algunos ataques alteran de forma intencionada el funcionamiento de los sistemas con el fin de aprovechar los resultados erróneos para encontrar los secretos del sistema, se conoce a estos ataques bajo la denominación de ataques por inyección de errores.

Se llama canal oculto a cualquier imperfección de un dispositivo físico que aplica un algoritmo criptográfico y es susceptible de sufrir fugas de información vinculada a los secretos conservados en la memoria del dispositivo.

Se han propuesto algunas protecciones contra estos ataques en los canales ocultos, basadas en particular en:

-el ocultamiento, donde se trata de que la fuga sea constante, en este caso independiente del secreto; -el enmascaramiento, donde se trata de que la fuga sea aleatoria, imprevisible y por lo tanto inservible.

Estas dos técnicas hacen que sean más difíciles los ataques que buscan encontrar información, pero siguen siendo no obstante vulnerables a los ataques que se beneficiarían de los fallos de implementación. Existen numerosos ejemplos de vulnerabilidades potenciales o demostradas, por ejemplo:

-el ocultamiento basado en lógica diferencial (como WDDL) puede ser vulnerable a un ataque sobre las

diferencias de plazos combinatorios acumulativos entre una y otra de las fases de cálculo, fase de evaluación y

fase de precarga; -el enmascaramiento, que puede ser sensible a los ataques de orden elevado, denominados HO-DPA.

El documento WO 01/61916 A describe un método de contramedida con un enmascaramiento de los datos.

El documento XP 2 455 442: "Third order differential Analysis and split mask countermeasure for low Energy Embedded processor" describe una contramedida sobre los ataques de tercer orden por medio de varias máscaras intermedias generadas de forma iterativa.

Un objetivo de la invención es, en particular, permitir una protección eficaz contra los ataques de observación de orden elevado. Para ello, la invención tiene por objeto un circuito criptográfico que comprende al menos un registro que suministra una variable x enmascarada (x ⊕ m) por una variable de máscara (m) , caracterizado porque dicha variable enmascarada se cifra mediante una primera caja de sustitución S de forma cíclica, comprendiendo dicho circuito un registro de máscara que emite en cada ciclo una máscara transformada (mt) a su vez transformada por una función de modificación (41, 61) en la variable de máscara m, siendo dicha función de modificación una biyección o una función de descomposición, transformándose dicha variable enmascarada (x ⊕ m) al final de un ciclo en una nueva máscara (S (x) ⊕ m’) de dicha variable (x) , cifrada por la primera caja de sustitución S, mediante una nueva máscara (m’) , calculándose dicha nueva máscara (m’) en función de dicha variable de máscara (m) y de dicha variable enmascarada (x ⊕ m) por medio de una segunda caja de sustitución S’.

La nueva máscara transformada m’t se introduce, por ejemplo, en el registro de máscara M tras haberse sometido a la modificación inversa en la salida de la segunda caja de sustitución S’.

En un primer modo posible de aplicación, la modificación puede ser una biyección B de tal modo que la máscara transformada mt se almacena en el registro M, valiendo B (mt) la máscara m aplicada a la caja de sustitución y siendo B-1 (m’) el nuevo valor que hay que almacenar en el registro, siendo m’ la salida de la segunda caja de sustitución S’ (21) .

La biyección B es, por ejemplo, tal que el peso de Hamming de la máscara m no siempre es idéntica al peso de Hamming de su imagen por la biyección B (m) .

En un segundo modo posible de aplicación, la modificación de la máscara m se puede realizar mediante la descomposición en dos submáscaras m1 y m2 de tal modo que m = m1 8 m2 donde 8 es una ley de composición de grupo, almacenándose la primera submáscara m1 en un primer registro de máscara M1 y almacenándose la segunda submáscara m2 en un segundo registro de máscara M2, siendo m’1 = m’ 8-1 m’2 el nuevo valor que hay que almacenar en el registro M1 y siendo m’2 el nuevo... [Seguir leyendo]

 


Reivindicaciones:

1. Circuito criptográfico que comprende al menos un registro (R, 22) que suministra una variable x enmascarada (x ⊕ m) por una variable de máscara (m) , caracterizado porque dicha variable enmascarada se cifra mediante una primera caja de sustitución S (1) de forma cíclica, comprendiendo dicho circuito un registro de máscara (M, 23) que emite en cada ciclo una máscara transformada (mt) a su vez transformada por una función de modificación (41, 61) en la variable de máscara m, siendo dicha función de modificación una biyección o una función de descomposición, transformándose dicha variable enmascarada (x ⊕ m) al final de un ciclo en una nueva máscara (S (x) ⊕ m’) de dicha variable (x) , cifrada por la primera caja de sustitución S, mediante una nueva máscara (m’) , calculándose dicha nueva máscara (m’) en función de dicha variable de máscara (m) y de dicha variable enmascarada (x ⊕ m) por medio de una segunda caja de sustitución S’ (21) .

2. Circuito de acuerdo con la reivindicación 1, caracterizado porque la nueva máscara transformada m’ se introduce en el registro de máscara M tras haberse sometido a la función inversa de modificación (42, 62) de dicha función de modificación (41, 61) en la salida de la segunda caja de sustitución S’ (21) .

3. Circuito de acuerdo con una cualquiera de las reivindicaciones anteriores, caracterizado porque la función de modificación es una biyección (41) B tal que la máscara transformada mt se almacena en el registro M, valiendo B (mt) la máscara m aplicada a la caja de sustitución y siendo B-1 (m ’) el nuevo valor que hay que almacenar en el registro, siendo m’ la salida de la segunda caja de sustitución S’ (21) .

4. Circuito de acuerdo con una cualquiera de las reivindicaciones anteriores, caracterizado porque la biyección B es tal que el peso de Hamming de la máscara m no siempre es idéntico al peso de Hamming de su imagen por la biyección B (m) .

5. Circuito de acuerdo con una cualquiera de las reivindicaciones 1 a 2, caracterizado porque la modificación de la máscara m se realiza mediante la descomposición en dos submáscaras m1 y m2 de tal modo que m = m1 θ m2 , en la que θ es una ley de composición de grupo, almacenándose la primera submáscara m1 en un primer registro de máscara M1 (231) y almacenándose la segunda submáscara m2 en un segundo registro de máscara M2 (232) , siendo m’1= m’θ-1 m’2 el nuevo valor que hay que almacenar en el registro M1 y siendo m’2 el nuevo valor que hay almacenar, siendo m’ el valor de la máscara en la salida de la segunda caja de sustitución S’ (21) .

6. Circuito de acuerdo con una cualquiera de las reivindicaciones 1 a 2 y 5, caracterizado porque la ley de composición es la operación « o exclusiva » XOR.

7. Circuito de acuerdo con una cualquiera de las reivindicaciones 1, 2 y 5, caracterizado porque la ley de composición es la operación de suma.

8. Circuito de acuerdo con una cualquiera de las reivindicaciones 1, 2 y 5, caracterizado porque la ley de composición es la operación de multiplicación.

9. Circuito de acuerdo con una cualquiera de las reivindicaciones 1, 2 y 5, caracterizado porque la ley de composición es la operación de tipo s = a*b + (a+b) /2 , siendo * la multiplicación y + la suma.

10. Circuito de acuerdo con una cualquiera de las reivindicaciones 1, 2 y 5, caracterizado porque la ley de composición tiene una distancia de Hamming entre dos submáscaras consecutivas m2 de un ciclo al otro, lm2, no nula.

11. Circuito de acuerdo con la reivindicación 10, caracterizado porque al tener las submáscaras m1, m2 un número par de bits, la ley de composición de grupo (a) que permite obtener la máscara m a partir de las submáscaras m1, m2 verifica:

-lm2 = 1 por grupos de 2 bits ;

-m = m1 ⊕ m2 si m2 MSB = 1 o m = m1 si m2 MSB = 0

siendo respectivamente m2 MSB, m2 LSB los bits de alto peso y de bajo peso de la submáscara m2.

12. Circuito de acuerdo con una cualquiera de las reivindicaciones anteriores salvo 3 y 4, caracterizado porque comprende un generador de valores aleatorios (71) , emitiendo dicho generador el valor de la segunda submáscara m’2.

13. Circuito de acuerdo con una cualquiera de las reivindicaciones anteriores salvo 3 y 4, caracterizado porque esta submáscara m1 procedente del primer registro de máscara M1 se guarda en el segundo registro de máscara M2 al final del ciclo, recibiendo por su parte el primer registro M1 la nueva máscara m’1 de tal modo que reconstruya la nueva máscara completa m’= m’1 8 m’2.

14. Circuito de acuerdo con una cualquiera de las reivindicaciones anteriores salvo 3 y 4, caracterizado porque el algoritmo de cifrado es de tipo DES, estando el camino de los datos x, m dividido en dos partes, izquierda (91, 221) y

derecha (92, 222) , dicho circuito comprende además del registro de máscara izquierda ML (91) y del registro de máscara derecha MR (92) un tercer registro de máscara M (93) , conteniendo el registro MR la submáscara derecha mr1 y conteniendo el registro ML la submáscara izquierda ml2, conteniendo el registro M la submáscara mr2 igual a la submáscara ml1, siendo los valores efectivos de la máscara derecha mr y de la máscara izquierda ml tales que:

-mr = mr1 8 mr2 -ml = ml1 8 ml2

15. Circuito de acuerdo con una cualquiera de las reivindicaciones anteriores, caracterizado porque la segunda caja de sustitución S’ (21) comprende dos cajas idénticas a la primera caja de sustitución S (1) y dos puertas XOR (111, 112) , estando las salidas de las dos cajas (1) conectadas a una puerta XOR (112) cuya salida emite la nueva máscara m’, entrando la variable enmascarada (x ⊕ m) en una caja (1) y en la otra puerta XOR (111) cuya otra entrada recibe la máscara m, entrando la salida de esta puerta (111) en la otra caja (1)

16. Circuito de acuerdo con la reivindicación 15, caracterizado porque una memoria ROM (113) realiza la lógica de las puertas XOR (111, 112) y la sustitución de las cajas (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 […]

Imagen de 'Sistema y procedimiento para la creación y la gestión de autorizaciones…'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, […]

Utilizamos cookies para mejorar nuestros servicios y mostrarle publicidad relevante. Si continua navegando, consideramos que acepta su uso. Puede obtener más información aquí. .