ES2297338T3 - Autentificacion criptografica de un dispositivo. - Google Patents

Autentificacion criptografica de un dispositivo. Download PDF

Info

Publication number
ES2297338T3
ES2297338T3 ES04101879T ES04101879T ES2297338T3 ES 2297338 T3 ES2297338 T3 ES 2297338T3 ES 04101879 T ES04101879 T ES 04101879T ES 04101879 T ES04101879 T ES 04101879T ES 2297338 T3 ES2297338 T3 ES 2297338T3
Authority
ES
Spain
Prior art keywords
value
values
devices
equal
make
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES04101879T
Other languages
English (en)
Inventor
Michael K. Brown
Herbert A. Little
Dinah L. M. Davis
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
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 Research in Motion Ltd filed Critical Research in Motion Ltd
Application granted granted Critical
Publication of ES2297338T3 publication Critical patent/ES2297338T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/321Cryptographic 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 a third party or a trusted authority
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01BSOIL WORKING IN AGRICULTURE OR FORESTRY; PARTS, DETAILS, OR ACCESSORIES OF AGRICULTURAL MACHINES OR IMPLEMENTS, IN GENERAL
    • A01B1/00Hand tools
    • A01B1/02Spades; Shovels
    • A01B1/04Spades; Shovels with teeth
    • EFIXED CONSTRUCTIONS
    • E01CONSTRUCTION OF ROADS, RAILWAYS, OR BRIDGES
    • E01HSTREET CLEANING; CLEANING OF PERMANENT WAYS; CLEANING BEACHES; DISPERSING OR PREVENTING FOG IN GENERAL CLEANING STREET OR RAILWAY FURNITURE OR TUNNEL WALLS
    • E01H5/00Removing snow or ice from roads or like surfaces; Grading or roughening snow or ice
    • E01H5/02Hand implements
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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/3271Cryptographic 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 challenge-response
    • H04L9/3273Cryptographic 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 challenge-response for mutual authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Civil Engineering (AREA)
  • Architecture (AREA)
  • Environmental Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Soil Sciences (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Structural Engineering (AREA)
  • Mechanical Engineering (AREA)
  • Computing Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Lock And Its Accessories (AREA)
  • Enzymes And Modification Thereof (AREA)
  • Vehicle Body Suspensions (AREA)
  • Transceivers (AREA)
  • Bidet-Like Cleaning Device And Other Flush Toilet Accessories (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

Un método para la autentificación de un primer y un segundo dispositivos por un tercer dispositivo, poseyendo el primer y el segundo dispositivos, cada uno, un valor de clave secreto compartido h, teniendo cada uno de los dispositivos accesibilidad a una clave pública P, seleccionada de manera que la operación de derivación del valor de clave secreta h del producto hP es una operación informáticamente difícil, comprendiendo el método las etapas de que el primer y el segundo dispositivo comuniquen o bien un primer conjunto de valores o bien un segundo conjunto diferente de valores uno a otro utilizando el tercer dispositivo, de manera que el primer dispositivo comunica un conjunto de valores que es diferente del conjunto de valores que recibe, el primer dispositivo calcula, utilizando una primera selección de valores procedentes del primer y el segundo conjunto diferentes de valores, una primera expresión con un valor igual al producto hP y el segundo dispositivo calcula, utilizando una selección diferente de valores procedentes del primer conjunto y del segundo conjunto diferente de valores, una segunda expresión con un valor igual al producto hP, reteniendo el tercer dispositivo copias del primer y segundo conjunto de valores que son comunicados entre el primer y segundo dispositivos, comprendiendo el método además la etapa de que el tercer dispositivo calcule y compare los valores de la primera expresión y de la segunda expresión para autentificar el primer y segundo dispositivos.

Description

Autentificación criptográfica de un dispositivo.
Esta invención se refiere generalmente la comunicación entre dispositivos electrónicos, y más concretamente, a la autentificación de dos dispositivos electrónicos incluyendo la autentificación de un tercer dispositivo.
En la comunicación entre dispositivos electrónicos, a veces es deseable que dos dispositivos se comuniquen entre sí utilizando un tercer dispositivo. Típicamente, un dispositivo solicita establecer comunicación con un segundo dispositivo haciendo una solicitud al tercer dispositivo. En tal circunstancia, el tercer dispositivo puede actuar como guardián de puerta y evitar o permitir tal comunicación sobre la base de los permisos definidos para los dos dispositivos.
Cuando la seguridad de la comunicación entre dispositivos está en cuestión, los dos dispositivos comunicantes pueden estar provistos de un valor secreto o clave que se puede utilizar para determinar si se puede establecer un canal de comunicación entre los dos dispositivos. Un tercer dispositivo puede ejecutar instrucciones para permitir o denegar la comunicación entre los dispositivos, sobre la base de los valores compartidos retenidos por los respectivos dispositivos de comunicación.
De una manera más general, existen muchas razones para autentificar dos dispositivos a un tercer dispositivo. En los casos en los que cada uno de los dos dispositivos que va a ser autentificado tenga el mismo valor secreto, el tercer dispositivo puede autentificar los dos dispositivos proporcionando cada uno de los dispositivos sus copias del valor secreto al tercer dispositivo para la comparación. Sin embargo, si la comunicación entre el primer o segundo dispositivo y el tercer dispositivo no es potencialmente segura, o si el tercer dispositivo no es en sí mismo seguro, la comunicación directa del valor secreto como clave al tercer dispositivo típicamente no es deseable ya que el secreto del valor compartido se pone en riesgo.
La Solicitud de Patente de Estados Unidos Nº 2003/233546 a nombre de Blom enseña un procedimiento de autentificación de reto-respuesta que incluye enmascarar la respuesta esperada generada por el centro de autentificación por medio de una función de enmascaramiento y transmisión de la respuesta esperada enmascarada en lugar de la propia respuesta esperada, a una parte intermedia en la cual tiene lugar la autentificación real de usuario. La parte intermedia recibe también una respuesta de usuario procedente del usuario y genera una respuesta de usuario enmascarada que utiliza la misma función de enmascaramiento que utilizó el centro de autentificación. Para autentificar al usuario, la parte intermedia verifica entonces que la respuesta de usuario enmascarada corresponde a la respuesta esperada enmascarada recibida del centro de autentificación.
Por tanto, es deseable tener un mecanismo para la autentificación de dos dispositivos por un tercer dispositivo en el cual se reduzca el riesgo de exposición del valor compartido.
Sumario general
De acuerdo con un aspecto de la invención se proporciona un método mejorado de autentificación de dispositivo.
De acuerdo con otro aspecto de la invención se proporciona un procedimiento de autentificación, para autentificar dos dispositivos teniendo cada uno un valor secreto compartido, en el cual un tercer dispositivo es capaz de determinar si cada uno de los dispositivos comunicantes tiene el mismo valor secreto compartido si que directamente sea provisto de ese valor.
De acuerdo con otro aspecto de la invención se proporciona un método para cerrar de forma segura el canal de comunicaciones establecido utilizando la autentificación descrita anteriormente. De acuerdo con un aspecto de la invención se proporciona un método para la autentificación de un primer y un segundo dispositivo por un tercer dispositivo, poseyendo el primer y el segundo dispositivos un valor de clave compartido h, teniendo cada uno de los dispositivos accesibilidad a una clave pública P, seleccionada de manera que el funcionamiento de la derivación del valor de clave secreto h del producto hP es una operación informáticamente difícil, comprendiendo el método las etapas de la comunicación del primer y segundo dispositivos o bien con un tercer conjunto de valores o bien con un segundo conjunto de valores entre sí utilizando el tercer dispositivo, de manera que el primer dispositivo comunica un conjunto de valores que es diferente del conjunto de valores que recibe, el primer dispositivo calcula, utilizando la primera selección de valores procedentes tanto del primer como del segundo diferentes conjunto de valores, una primera expresión con un valor igual al producto hP y el segundo dispositivo calcula, utilizando una selección de valores procedente tanto del primer conjunto como del segundo conjunto diferente de valores, una segunda expresión con un valor igual al producto hP, reteniendo el tercer dispositivo copias del primer y segundo conjunto de valores que son comunicados entre el primer y segundo dispositivo, comprendiendo además el método la etapa de que el tercer dispositivo calcule y compare los valores de la primera expresión y de la segunda expresión para autentificar el primer y segundo dispositivos.
De acuerdo con otro aspecto de la invención, se proporciona el método anterior en el cual el primer dispositivo es un dispositivo de mano inalámbrico, el segundo dispositivo es un servidor de empresa, y el tercer dispositivo es un encaminador o router y en el cual la etapa de que el tercer dispositivo autentifique el primer y segundo dispositivos comprende la etapa de establecer un canal de comunicación entre el primer y segundo dispositivos.
De acuerdo con otro aspecto de la invención, se proporciona el método anterior en el cual el canal de comunicación establecido incluye el tercer dispositivo como parte del canal y teniendo el tercer dispositivo los valores retenidos comunicados entre el primer dispositivo y el segundo dispositivo, comprendiendo el método anterior la etapa de cerrar el canal de comunicación entre el segundo dispositivo y el tercer dispositivo, comprendiendo la etapa de cerrar dicho canal las etapas de que el segundo dispositivo y el tercer dispositivo intercambien conjuntos de valores de autentificación para permitir que el tercer dispositivo realice la computación de una extensión sobre la base de los valores retenidos y los valores de autentificación de cierre para autentificar el cierre del canal de comunicación.
De acuerdo con otro aspecto de la invención, se proporciona un método para la autentificación de un primer y un segundo dispositivo por un tercer dispositivo, poseyendo el segundo y el tercer dispositivo un valor de clave secreta compartida h, cada uno de los dispositivos está operativo para realizar las operaciones matemáticas en los grupos definidos E(F_{q}) y Z_{p}, en donde F_{q} es un campo finito de orden principal que incluye la multiplicación escalar definida con referencia al grupo, comprendiendo el método las etapas de:
\vskip1.000000\baselineskip
a) obtener una clave pública P, de tal manera que P genera un subgrupo principal del grupo E(F_{q}) de orden p, y poner a disposición de cada uno de los dispositivos la clave pública P.
b) que el primer dispositivo obtenga un valor aleatorio r_{D} de tal manera que 1<r_{D}<p-1, y calcular un valor R_{D} = r_{D}P,
c) que el primer dispositivo comunique el valor R_{D} al tercer dispositivo,
d) que el tercer dispositivo retenga una copia del valor R_{D} y envíe el valor R_{D} al segundo dispositivo
e) que el segundo dispositivo obtenga un valor aleatorio r_{B} tal que 1 < r_{B} < p-1, y calcular un valor R_{B} = r_{B}P, en donde R_{B} es determinado de manera que no sea igual a R_{D}, obteniendo el segundo dispositivo un valor aleatorio e_{D} de manera que 1< e_{D} <p-1, comunicando el segundo dispositivo el valor e_{D} y R_{B} al tercer dispositivo,
f) que el tercer dispositivo retenga copias de los valores R_{B} y e_{D} enviando dichos valores al primer dispositivo
g) que el primer dispositivo calcule un valor y_{D} = h- e_{D}r_{D} mod p, obteniendo el primer dispositivo un valor aleatorio e_{B} tal que 1< e_{B}< p-1, comunicando el primer dispositivo los valores y_{D} a e_{B} al tercer dispositivo,
h) que el tercer dispositivo retenga copias de los valores y_{D} y e_{B} enviando dichos valores al segundo dispositivo,
i) que el segundo dispositivo calcule un valor y_{B} = h- e_{B}r_{B} mod p, comunicando el segundo dispositivo el valor y_{B} al tercer dispositivo, y
j) que el tercer dispositivo autentifique el primer y segundo dispositivos cuando se satisface la condición y_{B}P + e_{B}R_{B} = y_{D}P +e_{D}R_{D}.
\vskip1.000000\baselineskip
De acuerdo con otro aspecto de la invención se proporciona en método anterior que comprende la etapa de que el primer dispositivo autentifique el segundo dispositivo cuando se cumple la condición y_{B}P + e_{B}R_{B} = hP.
De acuerdo con otro aspecto de la invención se proporciona el método anterior que además comprende a etapa de que el segundo dispositivo autentifique el primer dispositivo cuando se cumple la condición y_{D}P + e_{D}R_{D} = hP.
De acuerdo con otro aspecto de la invención se proporciona el método anterior, en el cual el primer dispositivo es autentificado por un identificador de no autentificación y en el cual el segundo dispositivo retiene un conjunto de valores cuyo conjunto incluye un valor clave compartido con el valor clave secreto del primer dispositivo, comprendiendo el método las etapas de que el primer dispositivo se comunique el identificador de no autentificación al segundo dispositivo por lo que el segundo dispositivo puede seleccionar el valor de clave compartidor con el valor de clave secreto del primer dispositivo desde el conjunto de valores de clave.
De acuerdo con otro aspecto de la invención se proporciona el método anterior, que además comprende la etapa de derivar el valor h de un valor secreto compartido s.
De acuerdo con otro aspecto de la invención se proporciona el método anterior, en el cual la etapa de derivar el valor h comprende la etapa de realizar una función de generación de dígitos de control o hash de un sentido en el valor secreto compartido s.
De acuerdo con otro aspecto de la invención se proporciona el método anterior, que además comprende las etapas de que uno o más del prime, segundo y tercer dispositivos comprueben que el valor e_{D} es un valor distinto de cero y/o que el valor e_{B} no es cero.
\newpage
\global\parskip0.900000\baselineskip
De acuerdo con otro aspecto de la invención se proporciona el método anterior, que además comprende las etapas de que uno o más del primer, segundo y tercer dispositivos comprueben que el valor R_{B} no es igual al punto en el infinito y/o que el valor R_{D} no es igual al punto en el infinito.
De acuerdo con otro aspecto de la invención se proporciona el método anterior, que además comprende las etapas de que uno o más del primer, segundo y tercer dispositivos comprueben que el valor R_{B} no es igual al valor R_{D}.
De acuerdo con otro aspecto de la invención se proporciona el método anterior en el cual el primer dispositivo es un dispositivo de mano inalámbrico, el segundo dispositivo es un servidor de empresa, y el tercer dispositivo es un router y en el cual la etapa de que el tercer dispositivo autentifique al primer y segundo dispositivos comprende la etapa de establecer canal de comunicaciones entre el primer y el segundo dispositivos.
De acuerdo con otro aspecto de la invención se proporciona el método anterior en el cual el canal de comunicaciones está definido por la asignación de una dirección de Protocolo de Internet al primer dispositivo.
De acuerdo con otro aspecto de la invención, se proporciona el método anterior en el cual el canal de comunicaciones establecido incluye el tercer dispositivo como parte del canal y habiendo retenido el tercer dispositivo retenidos los valores y_{D}, P, e_{D} y R_{D}, comprendiendo además el método la etapa de cerrar el canal de comunicación entre el segundo dispositivo y el tercer dispositivo, comprendiendo la etapa de cerrar dicho canal las etapas de:
\vskip1.000000\baselineskip
k) que el segundo dispositivo obtenga un valor aleatorio r_{C} tal que 1< r_{C} < p-1, y calcule un valor R_{C} = r_{C}P, por lo que R_{C} está obligado a tener un valor diferente tanto de R_{B} como de R_{D},
l) que el segundo dispositivo comunique el valor R_{C} al tercer dispositivo,
m) que el tercer dispositivo obtenga un valor aleatorio e_{C} tal que 1< e_{C} < p-1, comunicando el tercer dispositivo el valor e_{C} al segundo dispositivo,
n) que el segundo dispositivo autentifique la operación de cierre cuando se cumpla la condición Y_{C}P+ e_{C}R_{C} = Y_{D}P+ e_{D}R_{D}.
\vskip1.000000\baselineskip
De acuerdo con otro aspecto de la invención se proporciona el método anterior que comprende las etapas de que del segundo dispositivo compruebe que el valor e_{C} no es cero.
De acuerdo con otro aspecto de la invención, se proporciona el método anterior, que además comprende las etapas de que el tercer dispositivo compruebe que el valor R_{C} no es igual al punto en el infinito.
De acuerdo con otro aspecto de la invención, se proporciona el método anterior, que además comprende las etapas de que uno o ambos del segundo y tercer dispositivos comprueben que el valor R_{C} no es igual al valor R_{B} y no es igual al valor R_{D}.
De acuerdo con otro aspecto de la invención, se proporciona el método anterior, que además comprende las etapas de que el primer y tercer dispositivos o ambos comprueben que el valor e_{C} no es igual al valor e_{D} y no es igual al valor e_{B}.
De acuerdo con otro aspecto de la invención, se proporciona un producto de programa que comprende un medio que tiene un código de programa ejecutable incluido en dicho medio, siendo el código de programa ejecutable de forma diversa en un primer dispositivo, un segundo dispositivo y un tercer dispositivo, siendo el código de programa operativo para realizar los métodos anteriores.
De acuerdo con otro aspecto de la invención, se proporciona un sistema que comprende un primer dispositivo, un segundo dispositivo, y un tercer dispositivo, poseyendo el primer y el segundo dispositivo cada uno un valor de clave secreto h compartido, teniendo disponible para el cada uno de los dispositivos una clave pública P, seleccionada de manera que la operación de derivación del valor de clave secreto h del producto hP es una operación informáticamente difícil, el primer dispositivo, el segundo dispositivo y en tercer dispositivo, comprendiendo cada uno unidades de memoria y procesadores para almacenar y ejecutar el código de programa, comprendiendo el sistema medios adaptados para establecer comunicación de o bien el primer conjunto de valores o un segundo conjuntó de valores diferentes entre el primer dispositivo y el segundo dispositivo utilizando el tercer dispositivo, de manera que el primer dispositivo comunica un conjunto de valores que es diferente del conjunto de valores que recibe, comprendiendo el sistema medios adaptados para hacer que el primer dispositivo calcule, utilizando una selección de valores procedentes tanto del primer conjunto como del segundo conjunto diferente de valores, una primera expresión con un valor igual al producto hP y el segundo dispositivo calcule, utilizando una selección diferente de valores procedentes tanto del primer conjunto como del segundo conjunto diferente de valores, una segunda expresión con un valor igual al producto hP, comprendiendo el sistema medios adaptados para hacer que el tercer dispositivo retenga copias del primer y segundo conjunto de valores que son comunicados entre el primer y segundo dispositivo, y comprendiendo el sistema medios adaptados para hacer que el tercer dispositivo calcule y compare los valores de la primera expresión y de la segunda expresión para autentificar el primer y segundo dispositivos.
De acuerdo con otro aspecto de la invención, se proporciona el sistema anterior en el cual el primer dispositivo es un dispositivo de mano inalámbrico, el segundo dispositivo es un ordenador de empresa, y el tercer dispositivo es un router comprendiendo el sistema medios adaptados para hacer que el tercer dispositivo autentifique al primer y segundo dispositivos y establezca un canal de comunicaciones entre el primer y segundo dispositivos.
De acuerdo con otro aspecto de la invención, se proporciona el sistema anterior en el cual el canal de comunicaciones establecido incluye el tercer dispositivo como parte del canal y el tercer dispositivo comprende memoria para retener los valores comunicados entre el primer dispositivo y el segundo dispositivo, comprendiendo además el sistema medios adaptados para cerrar el canal de comunicaciones entre el segundo dispositivo y el tercer dispositivo, comprendiendo dicho sistema medios adaptados para intercambiar conjuntos de valores de autentificación de cierre entre el segundo dispositivo y el tercer dispositivo para permitir que el tercer dispositivo realice una computación de una expresión basada en los valores retenidos y los valores de autentificación de cierre para autentificar el cierre del canal de comunicación. De acuerdo con otro aspecto de la invención se proporciona un sistema que comprende un primer dispositivo, un segundo dispositivo y un tercer dispositivo, poseyendo el primer y segundo dispositivos, cada uno, un valor de clave secreto h, estando cada uno de los dispositivos adaptado para realizar operaciones matemáticas en grupos definidos E(F_{q}) y Z_{p}, en donde F_{q} es un campo finito de orden principal q, que incluye multiplicación escalar definida con referencia al grupo, comprendiendo el primer dispositivo, el segundo dispositivo y el tercer dispositivo, cada uno, unidades de memoria y procesadores para almacenar y ejecutar el código de programa
\vskip1.000000\baselineskip
o) comprendiendo el sistema medios adaptados para obtener una clave pública P, de manera que P genera un subgrupo principal del grupo E(F_{q}) de orden p, y hace accesible a cada uno de los dispositivos la clave pública P,
p) comprendiendo el sistema medios adaptados para hacer que el primer dispositivo obtenga un valor aleatorio r_{D} tal que 1< r_{D} < p-1, y calcule un valor R_{D} = r_{D}P,
q) comprendiendo el sistema medios adaptados para hacer que el primer dispositivo comunique el valor R_{D} al tercer dispositivo,
r) comprendiendo el sistema medios adaptados para hacer que el tercer dispositivo retenga una copia del valor R_{D} y envía en valor R_{D} al segundo dispositivo,
s) comprendiendo el sistema medios adaptados para hacer que el segundo dispositivo obtenga un valor aleatorio r_{B} tal que 1< r_{B} < p-1 y calcule un valor R_{B} = r_{B}P, en donde R_{B} se determina de manera que no sea igual a R_{D} y haga que el segundo dispositivo obtenga un valor aleatorio e_{D} tal que 1 < e_{D} < p-1, y comunique los valores e_{D} al tercer dispositivo,
t) comprendiendo el sistema medios adaptados para hacer que el tercer dispositivo retenga copias de los valores R_{B} y e_{D} y envíe los valores al primer dispositivo,
u) comprendiendo el sistema medios adaptados para hacer que el primer dispositivo calcule un valor y_{D} = h-e_{D}r_{D} mod p para hacer que el primer dispositivo obtenga un valor aleatorio e_{B} tal que 1< e_{B} < p-1, y hacer que el primer dispositivo comunique los valores y_{D} y e_{B} al tercer dispositivo,
v) comprendiendo el sistema medios adaptados para hacer que el tercer dispositivo retenga copias de los valores y_{D} y e_{B} y envíe dichos valores al segundo dispositivo.
w) comprendiendo el sistema medios adaptados para hacer que el segundo dispositivo calcule un valor y_{B} = h- e_{B}r_{B} mod p, y para hacer que el segundo dispositivo comunique el valor y_{B} al tercer dispositivo, y
x) comprendiendo el sistema medios adaptados para hacer que el tercer dispositivo autentifique el primer y segundo dispositivos cuando se cumple la condición Y_{B}P+ e_{B}R_{B} = Y_{D}P+ e_{D}R_{D}.
\vskip1.000000\baselineskip
De acuerdo con otro aspecto de la invención, se proporciona el sistema anterior en el cual el primer dispositivo es un dispositivo de mano inalámbrico, el segundo dispositivo es un servidor de empresa, y el tercer dispositivo es un router, en el que los medios adaptados para hacer que el tercer dispositivo autentifique el primer y segundo dispositivos comprenden medios adaptados para establecer un canal de comunicaciones entre el primer y segundo dispositivos.
Ventajas de la invención incluyen la autentificación de dos dispositivos por un tercer dispositivo, sin la necesidad de que el tercer dispositivo haya comunicado con él, o haya dirigido información acerca de un valor secreto compartido poseído por los dos dispositivos autentificados.
Breve descripción de los dibujos
En los dibujos en los que se ilustra a modo de ejemplo sólo una realización preferida de la invención,
la Figura 1 es un diagrama de bloques que muestra dos dispositivos y un tercer dispositivo utilizado en la autentificación de los dos primeros dispositivos.
Descripción de las realizaciones preferidas
Existen muchos contextos diferentes en los que las comunicaciones son solicitadas entre dos dispositivos electrónicos diferentes y un tercer dispositivo se utiliza para controlar si tal comunicación tiene lugar o no. La Figura 1 es un diagrama de bloques que muestra el dispositivo 10 y el dispositivo 12, para los cuales se va a establecer un canal de comunicaciones. En el ejemplo de la Figura 1, el dispositivo 14 determina si tal comunicación tiene lugar o no. La determinación se hace sobre la base de la autentificación de los dispositivos 10, 12 estableciendo que cada dispositivo tiene un valor secreto compartido. En ejemplo de la Figura 1, un canal de comunicaciones directo se muestra entre los dispositivos 10 y 12. También son posible otras disposiciones en las que los dispositivos 10, 12 utilizan el dispositivo 14 para establecer comunicación y en las que, por ejemplo, todas las comunicaciones son conducidas a través del dispositivo 14.
\global\parskip1.000000\baselineskip
La descripción de la realización preferida se refiere a dispositivos de comunicación pero se entenderá por los expertos en la técnica que el enfoque de la realización preferida se puede realizar para otros contextos en los que la autentificación de los dispositivos se realiza por el tercer dispositivo. Cada uno de los dispositivos 10, 12 es capaz de comunicarse con el dispositivo 14, pero el fin último de la autentificación de los dispositivos 10, 12 no necesita ser la comunicación entre ellos.
Se entenderá por los expertos en la técnica que los dispositivos electrónicos, como se han referido en esta descripción, incluyen todas las formas de dispositivos que son capaces de establecer comunicación con otros dispositivos y son capaces de realizar computaciones como se describirá a continuación. En particular, los dispositivos incluyen servidores de comunicaciones tales como correo electrónico y otros servidores de mensaje para utilizar en combinación con redes tales como Internet, dispositivos de comunicación de mano inalámbricos, y otros servidores, escritorio, dispositivos de mano o portátiles, que incluyen dispositivos típicamente utilizados en un ambiente de computación o en telefonía.
La realización preferida está descrita como un método que es implementado con respecto a tales dispositivos electrónicos. La implementación se puede llevar a cabo en un producto de programa de ordenador que incluye código de programa o un medio que se puede enviar a los dispositivos referidos en esta descripción. Tal código de programa es ejecutable en los dispositivos referidos de manera que se realice el método descrito.
Un ejemplo de una implementación de la realización preferida incluye una configuración en la que el dispositivo 14 de la Figura 1 es un router utilizado para asignar una dirección IP (Protocolo de Internet) al dispositivo 10 que es un dispositivo de mano inalámbrico. El router del dispositivo 14 establece la conexión entre el dispositivo de mano inalámbrico 10 y el servidor de empresa, representado en el ejemplo de la Figura 1 por el dispositivo 12. En este ejemplo, el router del dispositivo 14 encauza el tráfico al dispositivo 10 de mano desde el dispositivo 12 servidor de empresa. Para asegurar que ningún otro dispositivo es capaz de obtener una dirección IP de forma inapropiada del router de dispositivo 14, en la realización preferida tanto el dispositivo de mano 14 como el dispositivo de servidor de empresa 12 tiene un valor secreto s. Como se describe a continuación, el dispositivo de router 14 es capaz de establecer que el dispositivo 10 (de mano) sea un dispositivo fiable y se haya establecido un canal de comunicación por el dispositivo de router 14, envía comunicaciones al dispositivo de mano 10 utilizando una disección IP asignada y envía comunicaciones desde el servidor de empresa del dispositivo 12 utilizando Internet.
La descripción de la realización preferida propuesta a continuación incluye varias etapas en las cuales los valores enviados entre los dispositivos son comprobados. Para asegurar que sólo hay un punto de fallo en el método, cuando tal comprobación determina no existe una condición de error, el enfoque de la realización preferida es redefinir uno de los valores de manera que se hará que el método falle para autentificar los dispositivos en sus etapas finales. Como se apreciará por los expertos en la técnica, existen muchos otros enfoques utilizados para realizar tal comprobación que darán lugar a que el método termine en un punto anterior o a que una condición de error sea especificada de otra manera.
La realización preferida se describe con referencia a los dispositivos 10, 12, 14, cada uno de los cuales es capaz de realizar funciones criptográficas y que comparten, en la realización los parámetros del criptosistema siguientes. Las operaciones matemáticas descritas se realizan en grupos E(F_{q}) y Z_{p}. El grupo E(F_{q}) está definido en la realización preferida como una curva elíptica aleatoria de 521 k sobre F_{q} aprobada por el Instituto Nacional de Normas y Tecnología (NIST). Esta curva tiene un cofactor de uno. El campo F_{q} está definido como un campo finito de oren principal q. Z_{q} es el grupo de números enteros de módulo p. En la siguiente descripción, la clave pública P está definida como un punto de E(F_{q}) que genera un subgrupo principal de E(F_{q}) de orden p. La notación xR representa la multiplicación escalar de curva elíptica, en donde x es el escalar y R es un punto en E(F_{q}). Este punto de curva elíptica R a veces necesita ser representado como un número entero para algunos de los cálculos. Esta representación es \bar{R} = (\bar{x} mod 2^{f/2}) + 2^{f/2}, en donde \bar{x} es la representación de número entero de la coordenada x del punto de curva elíptica R y f=log_{2} p+1 es la longitud de bit de p.
Como se apreciará, para diferentes implementaciones de la realización preferida, la elección de los grupos sobre los cuales se van a realizar las operaciones de las realizaciones preferidas varían. La curva elíptica es un grupo común para tales operaciones en criptografía. Se puede utilizar cualquier grupo definido matemáticamente para la implementación de la realización preferida. Por ejemplo, se puede utilizar el grupo definido por números enteros de módulo un número principal para una implementación.
En la tabla 1, propuesta como sigue, se proponen los cálculos y combinaciones de la realización preferida. En la realización preferida, s es el valor conocido compartido tanto por el dispositivo 10 como por el dispositivo 12, pero no por el dispositivo 14. En la realización preferida, el dispositivo 12 puede comunicar con uno o más dispositivos y por tanto, el dispositivo 10 está provisto de una Clave identificadora ID que especifica qué el dispositivo o clase de dispositivos es solicitado para comunicar con el dispositivo 12. De manera similar, el dispositivo 12 puede, en otras realizaciones, estar provisto de un identificador para permitir que el dispositivo 10 especifique que el dispositivo está solicitando ser autentificado. Se apreciará que la Clave ID descrita no es suficiente, en sí misma, para autentificar el dispositivo. Se apreciará también que si la identidad del dispositivo 10 es obvia a partir del contexto, la Clave ID puede no serlo necesariamente. Por ejemplo, si el dispositivo 12 comunica con un único dispositivo 10, y no otros dispositivos, entonces la Clave ID puede no ser necesaria.
\vskip1.000000\baselineskip
TABLA 1
1
2
\vskip1.000000\baselineskip
La tabla anterior especifica las etapas realizadas en el proceso de la realización preferida para realizar la autentificación de los dos dispositivos comunicantes (dispositivos 10, 12) que incluye la tercera autentificación de parte (dispositivo 14). Los expertos en la técnica entenderán que se pueden realizar ciertas etapas en diferente orden y que, como se indica más adelante, se pueden omitir ciertas etapas.
La primera etapa realizada en la realización preferida consiste en que los dispositivos 10, 12 computen una función de generación de dígitos de control sobre la base del valor secreto compartido s. En la realización preferida está función de generación de dígitos de control es la función de has SHA-512 según está definida en la Publicación de Normas de Procesamiento de Información 180-2. Se pueden utilizar otras funciones de generación de dígitos de control similares. El valor h que se obtiene aplicando la función generación de dígitos de control es utilizado por ambos dispositivos 10, 12. El uso de un valor de función generación de dígitos de control h en lugar del uso directo del valor s hace el proceso más seguro ya que el valor secreto compartido s no se utiliza directamente en los diferentes cálculos propuestos más adelante. En la realización preferida, para proporcionar el valor compartido s a ambos dispositivos en una etapa de inicialización, el valor s se puede generar aleatoriamente por uno de los dispositivos 10, 12 y después ser comunicado al otro utilizando un canal de comunicación seguro. Por ejemplo, cuando el dispositivo 10 es un dispositivo de mano inalámbrico y el dispositivo 12 es un servidor de empresa, el valor del valor secreto compartido puede ser generado por el servidor de empresa y después comunicado al dispositivo de mano inalámbrico cuando el dispositivo está en una soporte que está conectada al servidor de empresa mediante una conexión de red segura.
Después de determinar el valor h, la siguiente etapa en el proceso de autentificación de la realización preferida es que el dispositivo 10 genere un valor aleatorio r_{D} para ser combinado con el valor de clave público P. Este valor aleatorio está definido para ser mayor que 1 y menos que p-1. En este ejemplo, p está definido para ser el orden del subgrupo principal de E(F_{q}) generado por el punto P en una curva elíptica E(F_{q}). Una vez que se obtiene el valor aleatorio r_{D}, se calcula en valor R_{D} tomando el resultado de la multiplicación escalar r_{D}P. Este valor de clave público obtenido aleatoriamente (R_{D}) es después enviado, con el valor de Clave ID, al dispositivo 14. En el dispositivo 14, se realiza una comprobación de error sobre el valor R_{D}. Si R_{D} es igual al punto en el infinito entonces existe un error en el valor de clave público (si P es una clave pública entonces el producto escalar no será igual al punto en el infinito). De acuerdo con la realización preferida, la manipulación del error se realiza estableciendo en valor R_{D} igual a un valor aleatorio (especificado por el pseudo código R_{D}= aleat() en la Tabla 1). El valor R_{D} y el valor de Clave ID son entonces enviados por el dispositivo 14 al dispositivo 12. Se observará que en la realización preferida el dispositivo 14 retiene en la memoria ciertos valores que recibe y envía. Estos valores retenidos son utilizados en una etapa de autorización final, como se describirá más adelante.
En el dispositivo 12, existe una comprobación de error adicional sobre el valor R_{D} (en comparación con el punto en el infinito) y se realiza una etapa de manipulación de error similar si es necesario. El dispositivo 12 genera también su propio valor aleatorio para la combinación con la clave pública P. El valor aleatorio r_{B} está definido en el intervalo de 1 a p-1 y el producto escalar r_{B}P define el valor R_{B}. En el dispositivo 12 se realiza una comprobación de error para asegurar que R_{B} no es igual a R_{D}. Si estos valores son equivalentes, entonces se define un nuevo valor aleatorio r_{B} y se calcula un nuevo valor R_{B}. Esta etapa realizada debido a que cuando R_{B} es el equivalente de R_{D}, es posible que un atacante determina en valor de h.
También en esta etapa el dispositivo 12 se obtiene un valor de desafió e_{D} definido aleatoriamente. Este valor e_{D} se genera de manera que es mayor que 1 y menor que p-1. Ambos valores e_{D} y R_{B} como se han determinado por el dispositivo 12 son enviados por el dispositivo 12 al dispositivo 14. El dispositivo 14 puede realizar transacciones similares múltiples simultáneamente con un conjunto de dispositivos que incluye el dispositivo 10. Con el fin de permitir que el dispositivo 14 determine a cual del conjunto de dispositivos incluyendo el dispositivo 10 enviar los valores a, el valor de Clave ID es también devuelto al dispositivo 14 por el dispositivo 12, junto con los valores e_{D} y R_{B}.
En el dispositivo 14, se realiza una comprobación de error sobre el valor R_{B}. El valor R_{B} es comparado con el punto en el infinito y una etapa de manipulación de error se realiza potencialmente. La comparación y la manipulación de error se realizan para el valor R_{B} de la misma forma que R_{D} fue comparado y una etapa de manipulación de error se realiza en las etapas más tempranas propuestas anteriormente. De manera similar, los valores de R_{D} y R_{B} son comparados entre sí y si se determina que son equivalentes entonces como una etapa de manipulación de error R_{D} se define como un valor aleatorio. La equivalencia de R_{D} y R_{B} se reconoce como una condición de error debido a que el dispositivo 12 genera R_{B} de una manera que asegura que tiene un valor diferente de R_{D}. Si, en la recepción por el dispositivo 14, los dos valores son idénticos entonces debe haber sido un error en la transmisión o un atacante ha redefinido los valores.
Una comprobación adicional se realiza en el dispositivo 14 en este momento para asegurar que e_{D} no tiene un valor de 0. Si el valor es 0 entonces el valor e_{D} es establecido como un valor aleatorio. Si e_{D} ha sido establecido como un valor de 0 (potencialmente por una solicitud de atacante para obtener información para permitir y una falsa autentificación) entonces el valor de h puede llegar a ser conocido. Para evitar esto, a e_{D} se le da un valor aleatorio. Se apreciará que aunque la comprobación para asegurar que R_{D} no es igual R_{B} y la comprobación para asegurar que e_{D} no es igual a 0 se puede referir como comprobaciones de error, estas comprobaciones se realizan para asegurar que un atacante no es capaz de obtener información acerca del valor de h.
Una vez que la comprobación referida a lo anterior se ha completado, el dispositivo 14 envía una Clave ID, R_{B} y e_{D} al dispositivo 10.
En la realización preferida, cuando se recibe la clave ID, los valores R_{B} y e_{D}, el dispositivo 10 realizará las mismas comprobaciones que fueron realizadas en el dispositivo 12, y se realizarán las mismas etapas de manipulación de error (estableciendo o bien R_{B} o bien e_{D} a 0, cuando sea necesario). Como en el caso con comunicación de los valores entre el dispositivo 12 y el dispositivo 14, la comunicación entre el dispositivo 14 y el dispositivo 10 es un punto potencial en el que el atacante puede solicitar alterar valores para obtener acceso al canal de comunicación a través de la autentificación inapropiada de un dispositivo.
Como se muestra en la Tabla 1, una vez que la comprobación de los valores R_{B} y e_{D} ha tenido lugar en el dispositivo 10, existe un cálculo del valor y_{D}. La definición del valor es
\vskip1.000000\baselineskip
100
\vskip1.000000\baselineskip
Como se ha descrito con más detalle a continuación, el valor y_{D} se utiliza en las comparaciones que autentificarán los dispositivos 10, 12 entre sí y con el dispositivo 14.
Otra etapa realizada por el dispositivo 10 es la generación de un valor de reto. Este valor de reto es un valor e_{B} que se elige aleatoriamente de un intervalo mayor que 1 y menor que p-1. Ambos valores y_{D} y e_{D} son después enviados al dispositivo 14.
En el dispositivo 14, el valor e_{B} es comparado con 0 y con e_{D}. Si e_{B} tiene un valor igual a uno de ellos, entonces e_{B} es establecido como un valor aleatorio.
El valor e_{B} es después enviado por el dispositivo 14 al dispositivo 12, junto con el valor y_{D}. En el dispositivo 12, el valor e_{B} es de nuevo comprobado (con 0 y e_{D}) y si la comprobación no es exitosa, e_{B} es establecido como un valor aleatorio. Se calcula un valor y_{B}:
101
Como se observará, el valor y_{B} está definido de manera simétrica a la definición de y_{D}. El valor y_{B} es enviado por el dispositivo 12 donde fue calculado, al dispositivo 14 y desde allí al dispositivo 10.
En este punto del proceso, los valores y_{D} y R_{D} han sido enviados por el dispositivo 10 al dispositivo 12 y los valores y_{B}, R_{B} han sido enviados por el dispositivo 12 al dispositivo 10. Además, las copias de los valores que han sido enviados a y recibidos desde el dispositivo 14 también han sido retenidas en el dispositivo 14. En consecuencia, se observará que en la última etapa de la Tabla 1, las etapas de autentificación realizadas para autentificar tanto el dispositivo 10 como el dispositivo 12 tienen el mismo valor secreto s.
En particular, en el dispositivo 14, existe una autentificación de los dos dispositivos si y sólo si
102
En el dispositivo 10, existe la autentificación del dispositivo 12 si y sólo si
103
En el dispositivo 12, existe autentificación del dispositivo 10 si y sólo si
104
Como se hará evidente para los expertos en la técnica, el proceso de autentificación propuesto anteriormente hace uso de ciertas operaciones y equivalencias matemáticas descritas y utilizadas en el esquema de identificación de Schnorr (véase por ejemplo A. Menezes, P. van Oorschot y S. Vanstone. Handbook of Applied Cryptography, CRC Press, New Cork 1997, en las páginas 414-415). Sin embargo, la realización preferida permite que dos dispositivos se autentifiquen mutuamente entre sí y permite que un tercer dispositivo autentifique ambos dispositivos. La autentificación se realiza por el tercer dispositivo (dispositivo 14 en el ejemplo) a pesar del hecho de que el tercer dispositivo no conoce el valor secreto s que es compartido entre los dos dispositivos 10, 12. Se observará que la autentificación mutua entre los dispositivos 10, 12 se realiza al mismo tiempo, como resultado de una serie de etapas superpuestas que tienen lugar.
El proceso de autentificación de la realización preferida es adecuado para utilizar cuando un canal de comunicaciones entre dos dispositivos está siendo definido y un tercer dispositivo proporcionará información para permitir que se establezca el canal. Esto puede ocurrir cuando un dispositivo de mano inalámbrico utiliza un dispositivo de encaminamiento para obtener acceso a un servidor de empresa. El dispositivo de encaminamiento actúa como el tercer dispositivo que requiere la autentificación del servidor y el dispositivo de mano inalámbrico. El proceso anterior permite realizar tal autentificación y que el tercer dispositivo haga al autentificación sin tener conocimiento del valor secreto y con un reducido ajuste de la información de estado.
La descripción anterior de la realización preferida incluye la comprobación de error aplicada al valor R. Esta se realiza para determinar si R es un valor de clave público. Como se apreciará, esta comprobación de error se puede omitir del método de la realización preferida si se puede asegurar que R_{D} no es igual a R_{B}, aunque generalmente es preferible realizar estas comprobaciones para asegurar que el proceso está siendo realizado correctamente. Además, la realización preferida describe la computación de un valor de generación de dígitos de control del valor secreto en el dispositivo 10 y el dispositivo 12. El uso de una función de generación de dígitos de control para codificar el valor secreto s como el valor h, no se requiere aunque es una etapa preferida para reducir al mínimo el uso directo del valor secreto. Si no se utiliza una función de generación de dígitos de control, el valor secreto es utilizado directamente para calcular los diferentes valores de autentificación.
Como se ha hecho referencia anteriormente, el proceso de autentificación se puede utilizar en el establecimiento de un canal de comunicaciones desde un dispositivo hasta un segundo dispositivo a través de un tercer dispositivo. En este caso, es ventajoso utilizar un protocolo autentificado para cerrar el canal entre el tercer dispositivo y uno de los otros dos. En la realización preferida, tal protocolo de cierre autentificado puede tener lugar sobre la base de que el tercer dispositivo retiene ciertos valores. En particular, después de que la autentificación ha tenido lugar antes del establecimiento del canal de comunicaciones, el tercer dispositivo (dispositivo 14 en el Ejemplo de la Figura 1) retiene valores y_{D}P + e_{D}R_{D}, R_{D}, R_{B}, e_{D}, e_{B}. El dispositivo 12 retiene valores R_{D}, R_{B}, e_{D}, e_{B}, h. En la tabla 2, se propone un proceso de autentificación para utilizar cuando el dispositivo 14 ha autentificado el dispositivo 12, como se ha propuesto anteriormente y el dispositivo 12 solicita el cierre del canal de comunicación.
3
Como se observará de lo anterior, la autentificación para el protocolo de cierre está disponible, incluso aunque el dispositivo 14 (el tercer dispositivo) no posea o utilice directamente el valor de seguridad s o el valor de generación de dígitos de control h. En este caso, la autentificación sigue el esquema de identificación de Schnorr, basado en los valores que han sido retenidos por los dispositivos referidos anteriormente (dispositivos 12, 14 en el ejemplo dado). Estos valores están disponibles para el tercer dispositivo como resultado de la utilización del proceso de autentificación descrito anteriormente.
Habiendo sido descritas diversas realizaciones de la presente invención con detalle a nodo de ejemplo, los expertos en la técnica encontrarán evidente que se pueden hacer variaciones y modificaciones sin que se salgan del campo de la invención. La invención incluye tales variaciones y modificaciones como parte del alcance de las reivindicaciones adjuntas.

Claims (21)

1. Un método para la autentificación de un primer y un segundo dispositivos por un tercer dispositivo, poseyendo el primer y el segundo dispositivos, cada uno, un valor de clave secreto compartido h, teniendo cada uno de los dispositivos accesibilidad a una clave pública P, seleccionada de manera que la operación de derivación del valor de clave secreta h del producto hP es una operación informáticamente difícil, comprendiendo el método las etapas de que el primer y el segundo dispositivo comuniquen o bien un primer conjunto de valores o bien un segundo conjunto diferente de valores uno a otro utilizando el tercer dispositivo, de manera que el primer dispositivo comunica un conjunto de valores que es diferente del conjunto de valores que recibe, el primer dispositivo calcula, utilizando una primera selección de valores procedentes del primer y el segundo conjunto diferentes de valores, una primera expresión con un valor igual al producto hP y el segundo dispositivo calcula, utilizando una selección diferente de valores procedentes del primer conjunto y del segundo conjunto diferente de valores, una segunda expresión con un valor igual al producto hP, reteniendo el tercer dispositivo copias del primer y segundo conjunto de valores que son comunicados entre el primer y segundo dispositivos, comprendiendo el método además la etapa de que el tercer dispositivo calcule y compare los valores de la primera expresión y de la segunda expresión para autentificar el primer y segundo dispositivos.
2. El método de la reivindicación 1, en el que el primer dispositivo es un dispositivo de mano inalámbrico, el segundo dispositivo es un servidor de empresa, y el tercer dispositivo es un router y en el cual la etapa de que el tercer dispositivo autentifique el primer y segundo dispositivos comprende la etapa de establecer un canal de comunicaciones entre el primer y el segundo dispositivos.
3. El método de la reivindicación 2, en el cual el canal de comunicaciones comprende el tercer dispositivo como parte del canal y teniendo el tercer dispositivo retenidos los valores comunicados entre el primer dispositivo y el segundo dispositivo, comprendiendo el método utilizado la etapa de cerrar el canal de comunicaciones entre el segundo dispositivo y el tercer dispositivo, comprendiendo la etapa de cerrar dicho canal las etapas de que el segundo dispositivo y el tercer dispositivo intercambien conjuntos de valores de autentificación de cierre para permitir que el tercer dispositivo realice una computación de una expresión basada en los valores retenidos y los valores de autentificación de cierre para autentificar el cierre del canal de comunicación.
4. El método de acuerdo con una cualquiera de las reivindicaciones 1 a 3, en el que cada uno de los dispositivos es operativo para realizar las operaciones matemáticas en grupos definidos E(F_{q}) y Z_{p}, en donde Z_{p} es un campo finito de orden principal q, que incluye una multiplicación escalar definida con referencia al grupo y la clave pública P disponible para cada uno de los dispositivos genere un subgrupo principal del grupo E(F_{q}) de orden p, comprendiendo el método las etapas de:
que el primer y obtenga un valor aleatorio r_{D} tal que r_{D}<1<p-1, y calcule un valor R_{D} = r_{D}P, el primer dispositivo envíe el valor R_{D} al tercer dispositivo,
que el tercer dispositivo retenga una copia del valor R_{D} y envíe el valor R_{D} al segundo dispositivo,
que el segundo dispositivo obtenga un valor aleatorio r_{B} tal que 1< r_{B} < p-1 y calcule un valor R_{B} = r_{B}P, en donde R_{B} se determina de tal manera que no sea igual a R_{D}, obteniendo el segundo dispositivo un valor aleatorio e_{D} tal que 1<e_{D}<p-1, comunicando el segundo dispositivo los valores e_{D} y R_{B} al tercer dispositivo,
que el tercer dispositivo retenga copias de los valores R_{B} y e_{D} enviando dichos valores al primer dispositivo,
que el primer dispositivo calcule un valor y_{D} = h-e_{D}r_{D} mod p, obteniendo el primer dispositivo un valor aleatorio e_{B} tal que 1 < e_{B} < p-1, comunicando el primer dispositivo los valores y_{D} y e_{B} al tercer dispositivo,
que el tercer dispositivo retenga copias de los valores y_{D} y e_{B} enviando dichos valores al segundo dispositivo,
que el segundo dispositivo calcule un valor y_{B} = h-e_{B}r_{B} mod p, comunicando el segundo dispositivo el valor y_{B} al tercer dispositivo, y
que el tercer dispositivo autentifique al primer y segundo dispositivos cuando se cumpla la condición y_{B}P + e_{B}R_{B} = y_{D}P + e_{D}R_{D}.
5. El método de la reivindicación 4, que además comprende la etapa de que el primer dispositivo autentifique al segundo dispositivo cuando se cumple la condición y_{B}P + e_{B}R_{B} = hP.
6. El método de la reivindicación 4 ó la reivindicación 5, que además comprende la etapa de que el segundo dispositivo autentifique el primer dispositivo cuando la condición y_{D}P + e_{D}R_{D} = hP se cumple.
7. El método de acuerdo con una de las reivindicaciones 4 a 6, en el que el primer dispositivo es identificado por un identificador de no autentificación y en el que el segundo dispositivo retiene un conjunto de valores clave cuyo conjunto incluye un valor de clave compartido con el valor de clave secreto del primer dispositivo, comprendiendo el método la etapa de que el primer dispositivo comunique el identificador de no autentificación al segundo dispositivo de tal manera que el segundo dispositivo puede seleccionar el valor de clave compartido con el valor de clave secreto del primer dispositivo del conjunto de valores de clave.
8. El método de una cualquiera de las reivindicaciones 4 a 7, que además comprende la etapa de derivar el valor h del valor secreto compartido s.
9. El método de la reivindicación 8, en el que la etapa de derivar el valor h comprende la etapa de realizar una función de generación de dígitos de control de un sentido en el valor secreto compartido s.
10. El método de cualquiera de las reivindicaciones 4 a 8, que además comprende las etapas de que uno o más del primer, segundo y tercer dispositivos comprueben que el valor e_{D} no es cero y/o que el valor e_{B} no es cero.
11. El método de una de las reivindicaciones 4 a 10, que además comprende las etapas de que uno o más del primer, segundo y tercer dispositivos comprueben que el valor R_{B} no es igual al punto en el infinito y/o que el valor R_{D} no es igual al punto en el infinito y/o que el valor R_{B} no es igual al valor R_{D}.
12. El método de una de las reivindicaciones 2 a 11, en el que el canal de comunicaciones está definido por la asignación de una dirección de Protocolo de Internet al primer dispositivo.
13. El método de una cualquiera de las reivindicaciones 3 a 12, en el que el tercer dispositivo tiene retenidos los valores y_{D}, P, e_{D} y R_{D} y cuyo método además comprende las etapas de:
que un segundo dispositivo obtenga un valor aleatorio r_{C} tal que 1 < r_{C} < p-1, y calcule un valor R_{C} = r_{C}P, por lo que R_{C} está obligado a tener un valor diferente tanto de R_{B} como de R_{D},
que el segundo dispositivo comunique el valor R_{C} al tercer dispositivo,
que el tercer dispositivo obtenga un valor aleatorio e_{C} tal que 1 < e_{C} < p-1, comunicando el tercer dispositivo el valor e_{C} al segundo dispositivo,
que el segundo dispositivo autentifique la operación de cierre cuando se cumple la condición y_{C}P + e_{C}R_{C} = y_{D}P + e_{D}R_{D}.
14. El método de la reivindicación 13, que además comprende las etapas de que el segundo dispositivo compruebe que el valor e_{C} no es cero.
15. El método de la reivindicación 13 ó la reivindicación 14, que además comprende las etapas de que el tercer dispositivo compruebe que el valor R_{C} no es igual al punto en el infinito.
16. El método de una cualquiera de las reivindicaciones 13 a 15, que además comprende las etapas de que uno o ambos del segundo y tercer dispositivos comprueben que el valor R_{C} no es igual al valor R_{B} y no es igual al valor R_{D} y/o que el valor e_{C} no es igual al valor e_{D} y que no es igual al valor e_{B}.
17. Un producto de programa que comprende un medio que tiene código de programa ejecutable incorporado en dicho medio, siendo el código de programa ejecutable, ejecutable de diversas formas sobre un primer dispositivo un segundo dispositivo y un tercer dispositivo, siendo el código de programa ejecutable operativo para hacer que el método de cualquiera de las reivindicaciones 1 a 16 sea llevado a cabo.
18. Un sistema que comprende un primer dispositivo, un segundo dispositivo, y un tercer dispositivo, poseyendo el primer y segundo dispositivos, cada uno un valor de clave secreto compartido h, teniendo cada uno de los dispositivos accesibilidad a una clave pública P, seleccionada de tal manera que la operación de derivación del valor de clave secreta h del producto hP es una operación informáticamente difícil, comprendiendo el primer dispositivo, el segundo dispositivo y el tercer dispositivo, cada uno, unidades de memoria y procesadores para almacenar y ejecutar el código de programa,
comprendiendo el sistema medios adaptador para hacer que la comunicación de o bien el primer conjunto de valores o bien un segundo conjunto diferente de valores entre el primer dispositivo y el segundo dispositivo utilice el tercer dispositivo, tal que el primer dispositivo comunica un conjunto de valores que es diferente del conjunto de valores que recibe.
comprendiendo el sistema medios adaptados para hacer que el primer dispositivo calcule, utilizando una selección de valores tanto del primer conjunto como del segundo conjunto diferente de valores, una primera expresión con un valor igual al producto hP y el segundo dispositivo calcule, utilizando una selección diferente de valores tanto del primer conjunto como del segundo conjunto de valores, una segunda expresión con un valor igual al producto hP.
comprendiendo el sistema medios adaptados para hacer que el tercer dispositivo obtenga copias del primer y segundo conjunto de valores que son comunicados entre el primer y el segundo dispositivo, y
comprendiendo el sistema medios adaptados para hacer que el tercer dispositivo calcule y compare los valores de la primera expresión y de la segunda expresión para autentificar el primer y segundo dispositivos.
19. El sistema de la reivindicación 18, en el que el primer dispositivo es un dispositivo de mano inalámbrico, el segundo dispositivo es un servidor de empresa, y el tercer dispositivo es un router, en el que los medios adaptados para hacer que el tercer dispositivo autentifique el primer y segundo dispositivos comprende medios adaptados para establecer un canal de comunicación entre el primer y el segundo dispositivos.
20. El sistema de la reivindicación 19, en el que el canal de comunicaciones establecido comprende el tercer dispositivo como parte del canal y el tercer dispositivo comprende memoria para retener los valores comunicados entre el primer dispositivo y el segundo dispositivo, comprendiendo el sistema además medios adaptados para cerrar el canal de comunicación entre el segundo dispositivo y el tercer dispositivo, y comprendiendo dicho sistema medios adaptados para intercambiar conjuntos de valores de autentificación de cierre entre el segundo dispositivo y el tercer dispositivo para permitir que el tercer dispositivo realice una computación de una expresión sobre la base de los valores retenidos y los valores de autentificación de cierre para autentificar el cierre del canal de comunicación.
21. El sistema de una cualquiera de las reivindicaciones 18 a 20, en el que cada uno de los dispositivos está adaptado para realizar operaciones matemáticas en grupos definidos E(F_{q}) y Z_{p}, en donde F_{q} es un campo finito de orden principal p, que incluye multiplicación escalar definida con referencia al grupo y la clave pública P disponible para cada uno de los dispositivos que generan un subgrupo principal del grupo E(F_{q}) de orden p,
comprendiendo el sistema medios adaptados para hacer que el primer dispositivo obtenga un valor aleatorio r_{D} tal que 1<r_{D}<p-1, y calcule un valor R_{D} = r_{D}P,
comprendiendo el sistema medios adaptados para hacer que el primer dispositivo comunique el valor R_{D} al tercer dispositivo,
comprendiendo el sistema medios adaptados para hacer que el tercer dispositivo retenga una copia del valor R_{D} y envíe el valor R_{D} al segundo dispositivo,
comprendiendo el sistema medios adaptados para hacer que el segundo dispositivo obtenga un valor aleatorio r_{B} tal que 1<r_{B}<p-1 y calcule un valor R_{B} = r_{B}P, en donde RB se determina de manera que no sea igual a R_{B} y para hacer que el segundo dispositivo obtenga un valor aleatorio e_{D} de manera que 1<e_{D}<p-1 y comunique los valores e_{D} y R_{B} al tercer dispositivo,
comprendiendo el sistema medios adaptados para hacer que el tercer dispositivo retenga copias de los valores R_{B} y e_{D} y envíe dichos valores al primer dispositivo,
comprendiendo el sistema medios adaptados para hacer que el primer dispositivo calcule un valor y_{D} = he_{D}r_{D}, para hacer que el primer dispositivo obtenga un valor aleatorio e_{B} tal que 1<e_{B}<p-1, y para hacer que el primer dispositivo comunique valores y_{D} y e_{B} al tercer dispositivo,
comprendiendo el sistema medios adaptados para hacer que el dispositivo retenga copias de los valores y_{D} y e_{B} y envía dichos valores al segundo dispositivo.
comprendiendo el sistema medios adaptados para hacer que el segundo dispositivo calcule un valor y_{B} = he_{B}r_{B}, y para hacer que el segundo dispositivo comunique el valor y_{B} al tercer dispositivo, y
comprendiendo el sistema medios adaptados para hacer que el tercer dispositivo autentifique el primer y segundo dispositivos cuando se cumpla la condición y_{B}P + e_{B}R_{B} = y_{D}P + e_{D}R_{D}.
ES04101879T 2004-04-30 2004-04-30 Autentificacion criptografica de un dispositivo. Expired - Lifetime ES2297338T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP04101879A EP1596529B1 (en) 2004-04-30 2004-04-30 Cryptographic device authentication

Publications (1)

Publication Number Publication Date
ES2297338T3 true ES2297338T3 (es) 2008-05-01

Family

ID=34929049

Family Applications (1)

Application Number Title Priority Date Filing Date
ES04101879T Expired - Lifetime ES2297338T3 (es) 2004-04-30 2004-04-30 Autentificacion criptografica de un dispositivo.

Country Status (13)

Country Link
EP (1) EP1596529B1 (es)
JP (2) JP4324128B2 (es)
KR (1) KR100720910B1 (es)
CN (1) CN1694402B (es)
AT (1) ATE380420T1 (es)
AU (2) AU2005201782B2 (es)
BR (1) BRPI0501453B1 (es)
CA (1) CA2505460C (es)
DE (1) DE602004010494T2 (es)
ES (1) ES2297338T3 (es)
HK (1) HK1083958A1 (es)
SG (1) SG116650A1 (es)
TW (1) TWI298980B (es)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1596529B1 (en) * 2004-04-30 2007-12-05 Research In Motion Limited Cryptographic device authentication
GB2453383A (en) * 2007-10-05 2009-04-08 Iti Scotland Ltd Authentication method using a third party
KR101337877B1 (ko) * 2009-12-11 2013-12-06 한국전자통신연구원 인증된 무선 채널을 이용한 데이터 통신 장치 및 방법
CA2830283C (en) 2011-03-25 2016-11-01 Certicom Corp. Interrogating an authentication device
US9369290B2 (en) * 2012-11-30 2016-06-14 Certicom Corp. Challenge-response authentication using a masked response value
US9727720B2 (en) 2012-11-30 2017-08-08 Certicom Corp. Challenge-response authentication using a masked response value
WO2015126398A1 (en) * 2014-02-20 2015-08-27 Empire Technology Development, Llc Device authentication in ad-hoc networks
WO2015156795A1 (en) 2014-04-09 2015-10-15 Empire Technology Development, Llc Sensor data anomaly detector
WO2018081583A1 (en) * 2016-10-27 2018-05-03 Infinitekey, Inc. System and method for authenticating and authorizing devices
US20230036496A1 (en) * 2020-01-20 2023-02-02 Nippon Telegraph And Telephone Corporation Secure selective product computation system, secure selective product computation method, secure computation apparatus, and program
CN111698225B (zh) * 2020-05-28 2022-08-19 国家电网有限公司 一种适用于电力调度控制系统的应用服务认证加密方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3308561B2 (ja) * 1990-11-14 2002-07-29 株式会社東芝 電子メール通信方法および送信側端末
US5491750A (en) * 1993-12-30 1996-02-13 International Business Machines Corporation Method and apparatus for three-party entity authentication and key distribution using message authentication codes
CN1181641C (zh) * 2001-11-13 2004-12-22 杭州中正生物认证技术有限公司 使用随机数的通信安全认证方法
US7194765B2 (en) * 2002-06-12 2007-03-20 Telefonaktiebolaget Lm Ericsson (Publ) Challenge-response user authentication
DE60303018T2 (de) * 2002-03-13 2006-08-24 Koninklijke Philips Electronics N.V. Mehrbenutzerschlüsselerzeugung auf polynombasis und Authentisierungsverfahren uns System
EP1596529B1 (en) * 2004-04-30 2007-12-05 Research In Motion Limited Cryptographic device authentication

Also Published As

Publication number Publication date
JP4324128B2 (ja) 2009-09-02
JP5139362B2 (ja) 2013-02-06
SG116650A1 (en) 2005-11-28
CN1694400A (zh) 2005-11-09
AU2008221589A1 (en) 2008-10-16
CA2505460A1 (en) 2005-10-30
HK1083958A1 (en) 2006-07-14
AU2008221589B2 (en) 2010-09-16
JP2009165176A (ja) 2009-07-23
AU2005201782A1 (en) 2005-11-17
KR100720910B1 (ko) 2007-05-25
EP1596529A1 (en) 2005-11-16
EP1596529B1 (en) 2007-12-05
ATE380420T1 (de) 2007-12-15
DE602004010494D1 (de) 2008-01-17
TWI298980B (en) 2008-07-11
KR20060047665A (ko) 2006-05-18
TW200610340A (en) 2006-03-16
JP2005323371A (ja) 2005-11-17
DE602004010494T2 (de) 2008-11-27
BRPI0501453B1 (pt) 2017-05-23
CA2505460C (en) 2010-11-02
CN1694402B (zh) 2011-09-14
AU2005201782B2 (en) 2008-06-19
BRPI0501453A (pt) 2006-01-10

Similar Documents

Publication Publication Date Title
US8156336B2 (en) Device authentication
US11838407B2 (en) Computer-implemented systems and methods for using a blockchain to perform an atomic swap
US9967239B2 (en) Method and apparatus for verifiable generation of public keys
US9853816B2 (en) Credential validation
RU2175465C2 (ru) Способ обмена криптографическими ключами между компьютерным блоком пользователя и сетевым компьютерным блоком
US20190052622A1 (en) Device and method certificate generation
JP5139362B2 (ja) 装置認証
CN110268676A (zh) 基于身份的自认证签名方案的私有密钥计算系统和方法
US12047519B2 (en) Physical unclonable function based mutual authentication and key exchange
JP2017517229A (ja) 動的鍵生成を用いるネットワーク認証システム
JP2006513641A (ja) 暗号鍵を入れ替えるためのシステム、装置及び方法
KR100989185B1 (ko) Rsa기반 패스워드 인증을 통한 세션키 분배방법
Jung et al. Password-based independent authentication and key exchange protocol
JP5392741B2 (ja) Rsaをベースとしたパスワード認証方式及びその応用