ES2297338T3 - Autentificacion criptografica de un dispositivo. - Google Patents
Autentificacion criptografica de un dispositivo. Download PDFInfo
- 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
Links
- 238000004891 communication Methods 0.000 claims abstract description 63
- 238000000034 method Methods 0.000 claims description 71
- 230000006870 function Effects 0.000 claims description 13
- 230000000717 retained effect Effects 0.000 claims description 13
- 238000009795 derivation Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 11
- 230000004044 response Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000007799 cork Substances 0.000 description 1
- 238000002224 dissection Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/321—Cryptographic 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
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01B—SOIL WORKING IN AGRICULTURE OR FORESTRY; PARTS, DETAILS, OR ACCESSORIES OF AGRICULTURAL MACHINES OR IMPLEMENTS, IN GENERAL
- A01B1/00—Hand tools
- A01B1/02—Spades; Shovels
- A01B1/04—Spades; Shovels with teeth
-
- E—FIXED CONSTRUCTIONS
- E01—CONSTRUCTION OF ROADS, RAILWAYS, OR BRIDGES
- E01H—STREET CLEANING; CLEANING OF PERMANENT WAYS; CLEANING BEACHES; DISPERSING OR PREVENTING FOG IN GENERAL CLEANING STREET OR RAILWAY FURNITURE OR TUNNEL WALLS
- E01H5/00—Removing snow or ice from roads or like surfaces; Grading or roughening snow or ice
- E01H5/02—Hand implements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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/3273—Cryptographic 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.
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.
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.
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
\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
\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}:
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
En el dispositivo 10, existe la autentificación
del dispositivo 12 si y sólo si
En el dispositivo 12, existe autentificación del
dispositivo 10 si y sólo si
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.
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}.
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)
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)
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 |
-
2004
- 2004-04-30 EP EP04101879A patent/EP1596529B1/en not_active Expired - Lifetime
- 2004-04-30 AT AT04101879T patent/ATE380420T1/de not_active IP Right Cessation
- 2004-04-30 ES ES04101879T patent/ES2297338T3/es not_active Expired - Lifetime
- 2004-04-30 DE DE602004010494T patent/DE602004010494T2/de not_active Expired - Lifetime
-
2005
- 2005-04-21 SG SG200502605A patent/SG116650A1/en unknown
- 2005-04-27 CA CA2505460A patent/CA2505460C/en active Active
- 2005-04-28 AU AU2005201782A patent/AU2005201782B2/en active Active
- 2005-04-29 TW TW094114064A patent/TWI298980B/zh active
- 2005-04-29 KR KR1020050036429A patent/KR100720910B1/ko active IP Right Grant
- 2005-04-30 CN CN2005100668926A patent/CN1694402B/zh active Active
- 2005-05-02 JP JP2005134678A patent/JP4324128B2/ja active Active
- 2005-05-02 BR BRPI0501453A patent/BRPI0501453B1/pt active IP Right Grant
-
2006
- 2006-05-12 HK HK06105495A patent/HK1083958A1/xx not_active IP Right Cessation
-
2008
- 2008-09-19 AU AU2008221589A patent/AU2008221589B2/en active Active
-
2009
- 2009-04-20 JP JP2009102504A patent/JP5139362B2/ja active Active
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をベースとしたパスワード認証方式及びその応用 |