CANAL AUTENTICADO SEGURO.

Método para calcular una clave de sesión compartida por un primer y un segundo dispositivos

(11, 21), teniendo dicho primer dispositivo (11), un certificado (Ca) que comprende una clave pública (ga) y una identidad correspondiente a sí mismo (IDa), y el conocimiento de la identidad correspondiente a sí mismo (IDa), a una clave privada (a) y a la clave pública (ga), teniendo dicho segundo dispositivo (21) un certificado (Cb) que comprende una clave pública (gb) y una identidad correspondiente a sí mismo (IDb), y el conocimiento de la identidad correspondiente a sí mismo (IDb), a una clave privada (b) y a la clave pública (gb), comprendiendo dicho método las siguientes etapas: en el primer dispositivo (11): -selección (252) de una primera clave privada efímera (x); -cálculo (252) de una primera clave pública efímera (gx); -envío (254) al segundo dispositivo de su certificado (Ca) y de la primera clave pública efímera (gx); en el segundo dispositivo (21): - recepción (254) del certificado del primer dispositivo (Ca) y de la primera clave pública efímera (gx); - verificación (256) del certificado del primer dispositivo (Ca); - selección (258) de una segunda clave privada efímera (y); - cálculo (258) de una segunda clave pública efímera (gy); - cálculo (258) de una clave compartida efímera (Keph) a partir de la primera clave pública efímera (gx) y de la segunda clave privada efímera (y); - cálculo (258) de una clave permanente (Kperm) a partir de la clave pública del primer dispositivo (ga) y su propia clave privada (b); - cálculo (260) de un primer valor (H(gy, Keph, Kperm, IDb)) a partir de la segunda clave pública efímera (gy), la clave efímera compartida (Keph), la clave permanente (Kperm) y la identidad correspondiente a sí mismo (IDb); - envío (262) al primer dispositivo, de su certificado (Cb), de la segunda clave pública efímera (gy) y del primer valor (H(gy, Keph, Kperm, IDb)); en el primer dispositivo (11): - recepción (262) del certificado del segundo dispositivo (Cb), de la segunda clave pública efímera (gy) y del primer valor (H(gy, Keph, Kperm, IDb)) procedentes del segundo dispositivo; - verificación (264) del certificado del segundo dispositivo (Cb); - cálculo (266) de la clave efímera compartida (Keph) a partir de la segunda clave pública efímera (gy) y de la primera clave privada efímera (x); - cálculo (266) de la clave permanente (Kperm) a partir de la clave pública del segundo dispositivo (gb) y de su propia clave privada (a); - verificación (268) del primer valor (H(gy, Keph, Kperm, IDb)); - cálculo (270) de un segundo valor (H(gx, Keph, Kperm, IDa)) a partir de la primera clave pública efímera (gx), de la clave compartida efímera (Keph), de la clave permanente (Kperm) y de la identidad correspondiente a sí mismo (IDa); - envío (272) al segundo dispositivo, del segundo valor (H(gx, Keph, Kperm, IDa)); en el segundo dispositivo (21): - recepción (272) del segundo valor (H(gx, Keph, Kperm, IDa)); - verificación (274) del segundo valor (H(gx, Keph, Kperm, IDa)); y - cálculo (276) de una clave de sesión (Ksess) en función de la clave compartida efímera (Keph); y en el primer dispositivo (11): - cálculo (280) de la clave de sesión (Ksess) en función de la clave efímera compartida (Keph)

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

Solicitante: THOMSON LICENSING.

Nacionalidad solicitante: Francia.

Dirección: 1-5, RUE JEANNE D'ARC 92130 ISSY-LES-MOULINEAUX FRANCIA.

Inventor/es: ANDREAUX, JEAN-PIERRE, DURAND, ALAIN, SIRVENT,THOMAS.

Fecha de Publicación: .

Fecha Solicitud PCT: 29 de Octubre de 2004.

Fecha Concesión Europea: 11 de Agosto de 2010.

Clasificación Internacional de Patentes:

  • SECCION H — ELECTRICIDAD > TECNICA DE LAS COMUNICACIONES ELECTRICAS > TRANSMISION DE INFORMACION DIGITAL, p. ej. COMUNICACION... > Disposiciones para las comunicaciones secretas o... > H04L9/08 (distribución de claves)

Clasificación PCT:

  • SECCION H — ELECTRICIDAD > TECNICA DE LAS COMUNICACIONES ELECTRICAS > TRANSMISION DE INFORMACION DIGITAL, p. ej. COMUNICACION... > Disposiciones para las comunicaciones secretas o... > H04L9/08 (distribución de claves)

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.

google+ twitter facebook

Fragmento de la descripción:

La invención se refiere en general a canales autenticados seguros, y concretamente, al cálculo de claves de sesión para el establecimiento de dichos canales, destinadas a la protección de contenidos digitales, por ejemplo, en un sistema de televisión digital. [0002] Los canales autenticados seguros, que son muy conocidos en la técnica de la criptografía, se han establecido para permitir que dos dispositivos mutuamente autenticados (denominados con frecuencia pares) intercambien

información confidencialmente. Un canal autenticado seguro debería tener, preferiblemente, las siguientes características:

- autenticación mutua de los pares;

- confirmación de la clave, es decir, establecimiento de un secreto compartido estando al menos uno de los pares capacitado para verificar que el secreto es común a ambos;

- utilización del método de secreto hacia delante (forward secrecy), es decir, las claves de sesión antiguas no pueden calcularse aun cuando las claves secretas a largo plazo (como la claves secretas del certificado) sean conocidas. [0003] Estas características pueden demostrarse formalmente desde un punto de vista matemático, y se ha demostrado que si existe una forma de saltarse una de las características que anteceden para un protocolo criptográfico específico, podrá quebrantarse todo el protocolo con relativa facilidad. [0004] A lo largo de los años, la comunidad criptográfica ha propuesto muchos protocolos relativos a los canales

autenticados seguros. Tan sólo algunos de dichos canales han demostrado cumplir las características que anteceden. [0005] El documento US 5889865 describe un protocolo de establecimiento de claves entre un par de corresponsales, que incluye la generación por parte de cada corresponsal de las correspondientes firmas. Las firmas se obtienen a partir de una información que es privada del corresponsal, así como a partir de una información que es pública. Tras el intercambio de firmas, la integridad de los mensajes intercambiados puede verificarse extrayendo la información pública contenida en la firma, y comparándola con la información utilizada para generar la firma. A continuación podrá generarse una clave de sesión común a partir de la información pública y privada de los respectivos corresponsales. [0006] El documento US 5953420 describe la generación de claves Diffie-Hellman autenticadas. En primer lugar, cada uno de los usuarios genera un primer valor secreto compartido autenticado a partir de un primer valor secreto persistente no compartido generado por dicho usuario y de un primer valor transformado autenticado recibido del otro usuario a través de un canal de comunicaciones de confianza. A continuación, cada usuario genera dinámicamente un segundo valor secreto compartido a partir de un segundo valor secreto no compartido generado dinámicamente por dicho usuario y un segundo valor transformado generado dinámicamente y recibido del otro usuario. A continuación, cada usuario genera una o más claves mediante la concatenación del primer y el segundo de los valores secretos compartidos conjuntamente con un recuento, para generar un valor concatenado y haciendo pasar el valor concatenado a través de una función de troceo monodireccional para generar un valor de troceo a partir del cual se extraigan las claves. Teniendo en cuenta que los usuarios

legítimos poseen la información necesaria para construir el primer valor secreto compartido, un suplantador que interactúe con un usuario para generar un segundo valor secreto compartido no podrá generar la misma clave. El aumento del recuento de los sucesivos troceos permite la generación de una multiplicidad de claves a partir de una pareja de valores secretos compartidos dada. [0007] El documento US 2004/081321 describe un protocolo de establecimiento de claves que incluye la generación de un valor de función criptográfica, normalmente un valor de troceo, de una clave de sesión y de información pública. Este valor se transfiere entre los corresponsales junto con la información necesaria para generar la clave de sesión. Siempre que la clave de sesión no se encuentre comprometida, el valor de la función criptográfica será el mismo en cada corresponsal. El valor de la función criptográfica no puede comprometerse ni modificarse sin acceder a la clave de la sesión. [0008] Todos los protocolos que proporcionan canales con las características necesarias utilizan diversas primitivas criptográficas: al menos una primitiva asimétrica (como el criptado asimétrico o la firma digital), las funciones de troceo, el Código de Autenticación de Mensaje (MAC) y en algunos de ellos, otras primitivas, tal como el criptado simétrico. Un problema de estos protocolos es que consumen gran cantidad de recursos y son muy difíciles de llevar a cabo en un dispositivo que tenga limitadas capacidades de cálculo, como por ejemplo, un módulo de seguridad portátil, tal como una tarjeta inteligente. Otro problema es que la utilización de muchas primitivas criptográficas hace que sea difícil demostrar la seguridad de un protocolo.

La presente invención proporciona un protocolo de canal de acceso seguro que tiene las características necesarias y que resulta especialmente adecuado para su

implementación en un dispositivo con limitadas capacidades de cálculo. [0010] A lo largo de la descripción se asumirá que, ya que la criptografía es una técnica en plena madurez, los conceptos básicos son perfectamente conocidos. Por razones de claridad y concisión, estos conceptos no se describirán más de lo necesario para la comprensión de la invención. [0011] En un primer aspecto, la invención se refiere a un método de cálculo de una clave de sesión común a un primer y a un segundo dispositivo (11, 21). El primer dispositivo tiene un certificado (Ca) que comprende una clave pública (ga) y una identidad correspondiente a sí mismo (IDa), y un conocimiento de la identidad correspondiente a sí mismo (IDa), una clave privada (a) y la clave pública (ga). El segundo dispositivo tiene el correspondiente certificado y conocimiento. El primer dispositivo selecciona una primera clave privada efímera (x), calcula una primera clave pública efímera (gx), y envía su certificado (Ca) y la primera clave pública efímera (gx) al segundo dispositivo. Cuando se recibe el certificado del primer dispositivo (Ca) y la primera clave pública efímera (gx), el segundo dispositivo verifica el certificado del primer dispositivo (Ca), selecciona una segunda clave privada efímera (y), calcula una segunda clave pública efímera (gy), calcula una clave compartida efímera (Keph) a partir de la primera clave pública efímera (gx) y de la segunda clave privada efímera (y), calcula una clave permanente (Kperm) a partir de la clave pública del primer dispositivo (ga) y de su propia clave privada (b), calcula un primer valor (H(gy, Keph, Kperm, IDb)) a partir de la segunda

clave pública efímera (gy), de la clave efímera compartida (Keph), de la clave permanente (Kperm) y de la identidad correspondiente a sí mismo (IDb), y envía su certificado (Cb), la segunda clave pública efímera (gy) y el primer valor (H(gy, Keph, Kperm, IDb)) al primer dispositivo. Cuando desde el segundo dispositivo se recibe el certificado de dicho segundo dispositivo (Cb), la segunda clave pública (gy) y el primer valor (H(gy, Keph, Kperm, IDb)), el primer dispositivo verifica el certificado del segundo dispositivo (Cb), calcula la clave efímera compartida (Keph) a partir de la segunda clave pública

efímera (gy) y de la primera clave privada efímera (x), calcula la clave permanente (Kperm) a partir de la clave pública del segundo dispositivo (gb) y de su propia clave

privada (a), verifica...

 


Reivindicaciones:

1. Método para calcular una clave de sesión compartida por un primer y un segundo dispositivos (11, 21),

teniendo dicho primer dispositivo (11), un certificado (Ca) que comprende una clave pública (ga) y una identidad

correspondiente a sí mismo (IDa), y el conocimiento de la identidad correspondiente a sí mismo (IDa), a una clave privada (a) y a la clave pública (ga),

teniendo dicho segundo dispositivo (21) un certificado (Cb) que comprende una clave pública (gb) y una identidad correspondiente a sí mismo (IDb), y el conocimiento de la identidad correspondiente a sí mismo (IDb), a una clave privada (b) y a la clave pública (gb),

comprendiendo dicho método las siguientes etapas: en el primer dispositivo (11): -selección (252) de una primera clave privada efímera (x); -cálculo (252) de una primera clave pública efímera (gx); -envío (254) al segundo dispositivo de su certificado

(Ca) y de la primera clave pública efímera (gx);

en el segundo dispositivo (21):

- recepción (254) del certificado del primer dispositivo (Ca) y de la primera clave pública efímera (gx);

- verificación (256) del certificado del primer dispositivo (Ca);

- selección (258) de una segunda clave privada efímera (y);

- cálculo (258) de una segunda clave pública efímera (gy);

- cálculo (258) de una clave compartida efímera (Keph) a partir de la primera clave pública efímera (gx) y de la segunda clave privada efímera (y);

- cálculo (258) de una clave permanente (Kperm) a partir de la clave pública del primer dispositivo (ga) y su propia clave privada (b);

- cálculo (260) de un primer valor (H(gy, Keph, Kperm, IDb)) a partir de la segunda clave pública efímera (gy), la clave efímera compartida (Keph), la clave permanente (Kperm) y la identidad correspondiente a sí mismo (IDb);

- envío (262) al primer dispositivo, de su certificado (Cb), de la segunda clave pública efímera (gy) y del primer valor (H(gy, Keph, Kperm, IDb));

en el primer dispositivo (11):

- recepción (262) del certificado del segundo dispositivo (Cb), de la segunda clave pública efímera (gy) y del primer valor (H(gy, Keph, Kperm, IDb)) procedentes del segundo dispositivo;

- verificación (264) del certificado del segundo dispositivo (Cb);

- cálculo (266) de la clave efímera compartida (Keph) a partir de la segunda clave pública efímera (gy) y de la primera clave privada efímera (x);

- cálculo (266) de la clave permanente (Kperm) a partir de la clave pública del segundo dispositivo (gb) y de su propia clave privada (a);

- verificación (268) del primer valor (H(gy, Keph, Kperm, IDb));

- cálculo (270) de un segundo valor (H(gx, Keph, Kperm, IDa)) a partir de la primera clave pública efímera (gx), de la clave compartida efímera (Keph), de la clave permanente (Kperm) y de la identidad correspondiente a sí mismo (IDa);

- envío (272) al segundo dispositivo, del segundo valor (H(gx, Keph, Kperm, IDa));

en el segundo dispositivo (21):

- recepción (272) del segundo valor (H(gx, Keph, Kperm, IDa));

- verificación (274) del segundo valor (H(gx, Keph, Kperm, IDa)); y

- cálculo (276) de una clave de sesión (Ksess) en función de la clave compartida efímera (Keph); y

en el primer dispositivo (11):

- cálculo (280) de la clave de sesión (Ksess) en función de la clave efímera compartida (Keph).

2. Primer dispositivo (11) para participar, junto con un segundo dispositivo (21) en el cálculo de una clave de sesión compartida, teniendo dicho primer dispositivo un certificado (Ca) que comprende una clave pública (ga) y una identidad correspondiente a sí mismo (IDa), y el conocimiento de la identidad correspondiente a sí mismo (IDa), una clave privada (a) y la clave pública (ga), comprendiendo dicho primer dispositivo (11) un procesador (12) para:

- seleccionar una primera clave privada efímera (x);

- calcular una primera clave pública efímera (gx);

- enviar al segundo dispositivo su certificado (Ca) y la primera clave pública efímera (gx);

- recepción de un certificado del segundo dispositivo (Cb), de una segunda clave pública efímera (gy) y de un primer valor (H(gy, Keph, Kperm, IDb)) procedentes del segundo dispositivo, comprendiendo el certificado (Cb) una clave pública (gb) y una identidad del segundo dispositivo (Idb), calculándose el primer valor (H(gy, Keph, Kperm, IDb)) a partir de la segunda clave pública efímera (gy), de una clave

compartida efímera (Keph), de una clave permanente (Kperm) y de la identidad correspondiente al segundo dispositivo (IDb);

- verificación del certificado del segundo dispositivo (Cb);

- cálculo de la clave compartida efímera (Keph) a partir de la segunda clave pública efímera (gy) y de la clave privada efímera (x);

- cálculo de la clave permanente (Kperm) a partir de la clave pública del segundo dispositivo (gb) y de su propia clave privada (a);

- verificación del primer valor (H(gy, Keph, Kperm, IDb));

- cálculo de un segundo valor (H(gx, Keph, Kperm, IDa)) a partir de la primera clave pública efímera (gx), de la clave compartida efímera (Keph), de la clave permanente (Kperm), y de la identidad correspondiente a sí mismo (IDa);

- envío al segundo dispositivo del segundo valor (H(gx, Keph, Kperm, IDa)); y

- cálculo de una clave de sesión (Ksess) en función de la clave compartida efímera (Keph).

3. Segundo dispositivo (21) para participar, junto con un primer dispositivo (11) en el cálculo de una clave de sesión compartida, teniendo dicho segundo dispositivo un certificado (Cb) que comprende una clave pública (gb) y una identidad correspondiente a sí mismo (IDb), una clave privada

(b) y la clave pública (gb), teniendo dicho segundo dispositivo (21) un procesador (22) para cuanto sigue:

- recepción de un certificado del primer dispositivo (Ca) y una primera clave pública efímera (gx), comprendiendo el certificado una clave pública (ga) y una identidad del primer dispositivo (IDa);

- verificación del certificado del primer dispositivo (Ca);

- selección de una clave privada efímera (y); -cálculo de una segunda clave pública efímera (gy); -cálculo de una clave compartida efímera (Keph) a

partir de la primera clave pública efímera (gx) y de la clave 5 privada efímera (y);

- cálculo de una clave permanente (Kperm) a partir de la

clave pública del primer dispositivo (ga) y de su propia

clave privada (b);

- cálculo de un primer valor (H(gy, Keph, Kperm, IDb)) a partir de la segunda clave pública efímera (gy), de la clave compartida efímera (Keph), de la clave permanente (Kperm) y de la identidad correspondiente a sí mismo (IDb);

- envío al primer dispositivo de su certificado (Cb), de la segunda clave pública efímera (gy) y del primer valor 15 (H(gy, Keph, Kperm, IDb));

- recepción de un segundo valor (H(gx, Keph, Kperm, IDa)) desde el primer dispositivo, calculándose el segundo valor a partir de la primera clave pública efímera (gx), de la clave compartida efímera (Keph), de la clave permanente (Kperm) y de

20 la identidad correspondiente al primer dispositivo (IDa); -verificación del segundo valor (H(gx, Keph, Kperm, IDa)); y -cálculo de la clave de sesión (Ksess) en función de la clave compartida efímera (Keph).