BRPI0501453B1 - autenticação de dispositivo - Google Patents

autenticação de dispositivo Download PDF

Info

Publication number
BRPI0501453B1
BRPI0501453B1 BRPI0501453A BRPI0501453A BRPI0501453B1 BR PI0501453 B1 BRPI0501453 B1 BR PI0501453B1 BR PI0501453 A BRPI0501453 A BR PI0501453A BR PI0501453 A BRPI0501453 A BR PI0501453A BR PI0501453 B1 BRPI0501453 B1 BR PI0501453B1
Authority
BR
Brazil
Prior art keywords
value
product
challenge
devices
random
Prior art date
Application number
BRPI0501453A
Other languages
English (en)
Inventor
L M Davis Dinah
A Little Herbert
K Brown Michael
Original Assignee
Blackberry Ltd
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 Blackberry Ltd, Research In Motion Ltd filed Critical Blackberry Ltd
Publication of BRPI0501453A publication Critical patent/BRPI0501453A/pt
Publication of BRPI0501453B1 publication Critical patent/BRPI0501453B1/pt

Links

Classifications

    • 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
    • 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
    • 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)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Transceivers (AREA)
  • Bidet-Like Cleaning Device And Other Flush Toilet Accessories (AREA)
  • Enzymes And Modification Thereof (AREA)
  • Vehicle Body Suspensions (AREA)

Abstract

"autenticação de dispositivo". a autenticação de dois dispositivos em comunicação com um terceiro dispositivo é alcançada em que o primeiro e o segundo dispositivos possuem, cada um, um valor secreto partilhado. a autenticação inclui a comunicação dos valores de autenticação do primeiro dispositivo para o segundo dispositivo utilizando o terceiro dispositivo. de modo similar, há uma comunicação de valores do segundo dispositivo para o primeiro dispositivo utilizando o terceiro dispositivo. o terceiro dispositivo retém os valores comunicados. os valores são calculados para permitir que o terceiro dispositivo autentique o primeiro e o segundo dispositivos sem que o terceiro dispositivo receba o valor secreto partilhado. a autenticação poderá ser utilizada para estabelecer um canal de comunicação entre o primeiro e o segundo dispositivos.

Description

AUTENTICAÇÃO DE DISPOSITIVO
Esta invenção relaciona-se genericamente à comunicação entre dispositivos eletrônicos e, mais particularmente, à autenticação de dois dispositivos eletrônicos incluindo a autenticação por um terceiro dispositivo.
Na comunicação entre dispositivos eletrônicos, é às vezes desejável que dois dispositivos se comuniquem um com o outro utilizando um terceiro dispositivo. Tipicamente, um dispositivo procurará estabelecer comunicação com o segundo dispositivo ao fazer uma solicitação para o terceiro dispositivo. Em tal circunstância, o terceiro dispositivo poderá agir como um porteiro e impedir ou permitir essa comunicação com base nas permissões definidas para os dois dispositivos.
Quando a segurança da comunicação entre dispositivos está em questão, os dois dispositivos em comunicação poderão ser dotados de um valor ou chave secreto que poderá ser utilizado para determinar se um canal de comunicação poderá ser estabelecido entre os dois dispositivos. Um terceiro dispositivo poderá executar instruções para permitir ou negar a comunicação entre os dispositivos, com base nos valores partilhados pelos respectivos dispositivos de comunicação. De uma maneira mais genérica, poderá haver outras razões para autenticar dois dispositivos a um terceiro dispositivo. Nos casos em que cada um dos dois dispositivos a serem autenticados possui, cada um, o mesmo valor secreto, o terceiro dispositivo poderá autenticar os dois dispositivos quando cada um dos dispositivos fornecer suas cópias do valor secreto para o terceiro dispositivo para fins de comparação.
No entanto, se a comunicação entre o primeiro ou o segundo· dispositivo e o terceiro dispositivo for potencialmente insegura, ou se o próprio terceiro dispositivo for potencialmente inseguro, a comunicação direta do valor ou chave secreto para o terceiro dispositivo é tipicamente indesejada, pois o segredo do valor partilhado é colocado em risco, 0 Pedido de Patente dos Estados Unidos número 2003/233546 em nome de Blom ensina um procedimento de autenticação de desafio-resposta que inclui o mascaramento da resposta esperada gerada por um centro de autenticação por meio de uma função de máscara e a transmissão da resposta esperada mascarada em vez da própria resposta esperada, para uma parte intermediária onde ocorre a efetiva autenticação do usuário. A parte intermediária também recebe uma resposta de usuário do usuário e gera uma resposta de usuário mascarada utilizando a mesma função de mascaramento que o centro de autenticação utilizou, Para autenticar o usuário, a parte intermediária então verifica se a resposta de usuário mascarada corresponde á resposta esperada mascarada recebida do centro de autenticação.
Portanto, é desejável ter um mecanismo para a autenticação de dois dispositivos por um terceiro dispositivo em que o risco de exposição do valor partilhado é reduzido.
Sinopse De acordo com um aspecto da invenção, é fornecido um. procedimento· de autenticação para autenticar dois dispositivos, cada um deles tendo um valor secreto partilhado·, em que o terceiro dispositivo é capaz de determinar se cada um dos dispositivos em comunicação tem o mesmo valor secreto partilhado sem ser suprido diretamente com aquele valor.
De acordo com outro aspecto da invenção, é fornecido um método para o estabelecimento de um canal de comunicação entre dois dispositivos utilizando um terceiro dispositivo. Os dois dispositivos que procuram se comunicar são providos de um valor secreto partilhado. Os dispositivos em comunicação são capazes de provar para o terceiro dispositivo que eles possuem, cada um, o mesmo valor secreto (e assim são autenticados). Neste procedimento de autenticação, o terceiro dispositivo é capaz de determinar se cada um dos dispositivos de comunicação tem o mesmo valor secreto partilhado sem que o terceiro dispositivo seja provido daquele valor.
De acordo com outro aspecto da invenção, é fornecido um método para fechar em segurança o canal de comunicação estabelecido utilizando a autenticação descrita acima.
De acordo com outro aspecto da invenção, é fornecido um método para a autenticação de um primeiro e de um segundo dispositivo por um terceiro dispositivo, o primeiro e o segundo dispositivos possuindo, cada um, um valor chave secreto partilhado h, cada um dos dispositivos tendo a ele disponível uma chave pública P, selecionada tal que a operação de derivar o valor de chave secreto h do produto hP é uma operação computacionalmente difícil, o método compreendendo as etapas do primeiro e do segundo dispositivos comunicando um primeiro conjunto de valores e um segundo conjunto de valores diferente um para o outro utilizando o terceiro dispositivo, tal que o primeiro dispositivo é capaz de calcular uma primeira expressão com um valor equivalente ao produto hP e o segundo dispositivo é capaz de calcular uma segunda expressão com um valor igual ao produto hP, o terceiro dispositivo retendo cópias dos valores sendo comunicado entre o primeiro e o segundo dispositivos, o método ainda compreendendo a etapa do terceiro dispositivo calcular e comparar os valores da primeira expressão e da segunda expressão para autenticar o primeiro e o segundo dispositivos.
De acordo com outro aspecto da invenção, é fornecido o método acima no qual o primeiro dispositivo é um dispositivo de mão sem fio, o segundo dispositivo é um servidor de empreendimento, e o terceiro dispositivo é um roteador e em que a etapa do terceiro dispositivo autenticar o primeiro e o segundo dispositivos compreende a etapa de estabelecer um canal de comunicação entre o primeiro e o segundo dispositivos.
De acordo com outro aspecto da invenção, é fornecido o método acima no qual o canal de comunicação estabelecido inclui o terceiro dispositivo como parte do canal e o terceiro dispositivo tendo retido os valores comunicados entre o primeiro dispositivo e o segundo dispositivo, o método ainda compreende a etapa de fechar o canal de comunicação entre o segundo dispositivo e o terceiro dispositivo, a etapa de fechar o dito canal compreende as etapas do segundo dispositivo e o terceiro dispositivo intercambiar conjuntos de valores de autenticação de fechamento para permitir que o terceiro dispositivo realize a computação de uma expressão com base nos valores retidos e os valores da autenticação de fechamento para autenticar o fechamento do canal de comunicação.
De acordo com outro aspecto da invenção, é fornecido um método para a autenticação de um primeiro e de um segundo dispositivo por um terceiro dispositivo, o primeiro e o segundo dispositivos possuindo, cada um, um valor chave secreto partilhado h, cada um dos dispositivos sendo operativo para efetuar operações matemáticas nos grupos definidos E (Fq) e Zp, em que Fq é um campo finito da ordem prima q, incluindo a multiplicação escalar definida com referência ao grupo, o método compreendendo as etapas de: a) obter uma chave pública P, tal que P gere um subgrupo primo do grupo E(Fq) da ordem p, e tornar disponível para cada um dos dispositivos a chave pública P; b) o primeiro dispositivo obter o valor aleatório rD tal que l<rD<p-l, e calcular o valor RD=roP; c) o primeiro dispositivo comunicar o valor Rd para o terceiro dispositivo; d) o terceiro dispositivo reter uma cópia do valor Rd e encaminhar o valor Rd para o segundo dispositivo; e) o segundo dispositivo obter um valor aleatório re tal que l<rB<p-l, e calcular o valor RB=rBP, onde Rb é determinado tal que ele não é igual a Rd, o segundo dispositivo obtendo um valor aleatório eD tal que l<eD<p-l, o segundo dispositivo comunicar os valores eD e Rb para o terceiro dispositivo; f) o terceiro dispositivo reter cópias dos valores Rb e eD encaminhando os ditos valores para o primeiro dispositivo; g) o primeiro dispositivo calcular um valor yD=h-eorD mod p, o primeiro dispositivo obtendo um valor aleatório ee tal que l<ee<p-l, o primeiro dispositivo comunicando os valores yo e ee para o terceiro dispositivo; h) o terceiro dispositivo reter cópias dos valores yd e ee encaminhando os ditos valores para o segundo dispositivo; i) o segundo dispositivo calcular o valor yB=h-eRrR mod p, o segundo dispositivo comunicando o valor ye para o terceiro dispositivo; e j) o terceiro dispositivo autenticar o primeiro e o segundo dispositivos quando a condição yBP+eBRB=yDP+eDRD é satisfeita.
De acordo com outro aspecto da invenção é fornecido o método acima, ainda compreendendo a etapa do primeiro dispositivo autenticar o segundo dispositivo a condição YBP+eBRB=hP é satisfeita.
De acordo com outro aspecto da invenção é fornecido o método acima, em que o primeiro dispositivo é identificado por um identificador não autenticador e em que o segundo dispositivo retém um conjunto de valores chaves cujo conjunto inclui um valor chave partilhado com o valor de chave secreta do primeiro dispositivo, o método compreendendo a etapa do primeiro dispositivo comunicar o identificador não autenticador para o segundo dispositivo pelo qual o segundo dispositivo poderá selecionar o valor chave partilhado com o valor chave secreto do primeiro dispositivo do conjunto de valores chaves.
De acordo com outro aspecto da invenção, é fornecido o método acima, ainda compreendendo a etapa de derivar o valor h de um valor secreto partilhado s.
De acordo com outro aspecto da invenção, é fornecido o método acima, em que a etapa de derivar o valor h compreende a etapa de realizar uma função aleatória unidirecional no valor secreto partilhado s.
De acordo com outro aspecto da invenção, é fornecido o método acima, ainda compreendendo as etapas de um ou mais do primeiro, do segundo e do terceiro dispositivos verificar que o valor eD não é zero e/ou que o valor eB não é zero.
De acordo com outro aspecto da invenção, é fornecido o método acima, ainda compreendendo as etapas de um ou mais do primeiro, do segundo e do terceiro dispositivos verificarem que o valor Rb não é igual ao ponto no infinito e/ou que o valor Rd não é igual ao ponto no infinito.
De acordo com outro aspecto da invenção, é fornecido o método acima, ainda compreendendo as etapas de um ou mais do primeiro, do segundo e do terceiro dispositivos verificarem que o valor Rb não é igual ao valor Rd.
De acordo com outro aspecto da invenção, é fornecido o método acima em que o primeiro dispositivo é um dispositivo de mão sem fio, o segundo dispositivo é um servidor de empreendimento, e o terceiro dispositivo é um roteador e em que a etapa do terceiro dispositivo autenticar o primeiro e o segundo dispositivos compreender a etapa de estabelecer um canal de comunicação entre o primeiro e o segundo dispositivos.
De acordo com outro aspecto da invenção, é fornecido o método acima em que o canal de comunicação é definido pela designação de um endereço de Protocolo da Internet ao primeiro dispositivo.
De acordo com outro aspecto da invenção, é fornecido o método acima em que o canal de comunicação estabelecido inclui o terceiro dispositivo como parte do canal e o terceiro dispositivo tendo retido os valores yo, P, eD e Rd, o método ainda compreende a etapa de fechar o canal de comunicação entre o segundo dispositivo e o terceiro dispositivo, a etapa de fechar o dito canal compreende as etapas de: k) o segundo dispositivo obter um valor aleatório rc tal que l<rc<p-l, e calcular o valor Rc=rcP, pelo qual Rc é limitado para ter um valor diferente tanto do Rb como Rd; l) o segundo dispositivo comunicar o valor Rc para o terceiro dispositivo; m) o terceiro dispositivo obter um valor aleatório ec tal que l<ec<p-l, o terceiro dispositivo comunicando o valor ec para o segundo dispositivo; η) o segundo dispositivo autenticar a operação de fechamento quando a condição ycP+ecRc=yDP+eDRD é satisfeita.
De acordo com outro aspecto da invenção é fornecido o método acima ainda compreendendo as etapas do segundo dispositivo verificar que o valor ec não é zero.
De acordo com outro aspecto da invenção, é fornecido o método acima, ainda compreendendo as etapas do terceiro dispositivo verificar se o valor Rc não é igual ao ponto no infinito.
De acordo com outro aspecto da invenção, é fornecido o método acima, ainda compreendendo as etapas de um ou os dois do segundo e do terceiro dispositivos verificarem se o valor Rc não é igual ao valor Rb e não é igual ao valor Rd.
De acordo com outro aspecto da invenção, é fornecido o método acima, ainda compreendendo as etapas de um ou os dois do segundo e do terceiro dispositivos verificarem se o valor ec não é igual ao valor eD e não é igual ao valor ee.
De acordo com outro aspecto da invenção, é fornecido um produto de programa que compreende um meio tendo código de programa executável embutido no dito meio, o código de programa executável sendo variadamente executável em um primeiro dispositivo, um segundo dispositivo e um terceiro dispositivo, o código de programa executável sendo operativo para fazer com que os métodos acima sejam efetuados.
De acordo com outro aspecto da invenção, é fornecido um sistema que compreende um primeiro dispositivo, um segundo dispositivo, e um terceiro dispositivo, o primeiro e o segundo dispositivos possuindo, cada um, um valor de chave secreta partilhado h, cada um dos dispositivos tendo a ele disponível uma chave pública P, selecionada tal que a operação de derivar o valor da chave secreta h do produto hP seja uma operação computacionalmente difícil, o primeiro dispositivo, o segundo dispositivo e o terceiro dispositivo, cada um deles, compreendendo unidades de memória e processadores para armazenar e executar código de programa, 0 código de programa sendo operativo para causar a comunicação de um primeiro conjunto de valores e um segundo conjunto diferente de valores entre o primeiro dispositivo e o segundo dispositivo utilizando o terceiro dispositivo; 0 código de programa sendo operativo para fazer com que o primeiro dispositivo calcule uma primeira expressão com um valor equivalente ao produto hP e o segundo dispositivo calcular uma segunda expressão com um valor igual ao produto hP; 0 código de programa sendo operativo para fazer com que o terceiro dispositivo retenha cópias dos valores sendo comunicados entre o primeiro e o segundo dispositivos; e 0 código de programa sendo operativo para fazer com que o terceiro dispositivo calcule e compare os valores da primeira expressão e da segunda expressão para autenticar o primeiro e o segundo dispositivos.
De acordo com outro aspecto da invenção, é fornecido o sistema acima em que o primeiro dispositivo é um dispositivo de mão sem fio, o segundo dispositivo é um servidor de empreendimento, e o terceiro dispositivo é um roteador e onde o código de programa operativo para fazer com que o terceiro dispositivo autentique o primeiro e o segundo dispositivos compreende código de programa operativo para estabelecer um canal de comunicação entre o primeiro e o segundo dispositivos.
De acordo com outro aspecto da invenção, é fornecido o sistema acima em que o canal de comunicação estabelecido inclui o terceiro dispositivo como parte do canal e o terceiro dispositivo compreende memória para retornar os valores comunicados entre o primeiro dispositivo e o segundo dispositivo, o código de programa ainda compreende o código de programa operativo para fechar o canal de comunicação entre o segundo dispositivo e o terceiro dispositivo, o dito código compreende código de programa operativo para intercambiar conjuntos de valores de autenticação de fechamento entre o segundo dispositivo e o terceiro dispositivo para permitir que o terceiro dispositivo efetue os cálculos de uma expressão com base nos valores retidos e os valores de autenticação de fechamento para autenticar o fechamento do canal de comunicação.
De acordo com outro aspecto da invenção, é fornecido um sistema que compreende um primeiro dispositivo, um segundo dispositivo, e um terceiro dispositivo, o primeiro e o segundo dispositivos possuindo, cada um, um valor de chave secreto partilhado h, cada um dos dispositivos sendo operativo para efetuar as operações matemáticas nos grupos definidos E (Fq) e Zp, onde Fq é um campo finito da ordem prima q, incluindo multiplicação escalar definida com referência ao grupo, o primeiro dispositivo, o segundo dispositivo e o terceiro dispositivo, cada um deles compreendendo unidades de memória e processadores para armazenar e executar o código de programa; o) o código de programa sendo operativo para obter uma chave pública P, tal que P gere um subgrupo primo do grupo E (Fq) da ordem p, e tornar disponível para cada um dos dispositivos a chave pública P. p) o código de programa sendo operativo para fazer com que o primeiro dispositivo obtenha um valor aleatório rD tal que l<rD<p-l, e calcular o valor RD=roP; q) o código de programa sendo operativo para fazer com que o primeiro dispositivo comunique o valor Rd para o terceiro dispositivo; r) o código de programa sendo operativo para fazer com que o terceiro dispositivo retenha uma cópia do valor Rd e encaminhe o valor Rd para o segundo dispositivo; s) o código de programa sendo operativo para fazer com que o segundo dispositivo obtenha um valor aleatório re tal que l<rs<p-l, e calcular o valor R.B=rBP, onde Rb é determinado tal que ele não seja igual a Rd, e fazer com que o segundo dispositivo obtenha um valor aleatório eD tal que l<eD<p-l, e comunicar os valores eD e Rb para o terceiro dispositivo; t) o código de programa sendo operativo para fazer com que o terceiro dispositivo retenha cópias dos valores Rb e eD e encaminhe os ditos valores para o primeiro dispositivo; u) o código de programa sendo operativo para fazer com que o primeiro dispositivo calcule o valor yD=h-eürD mod p, para fazer com que o primeiro dispositivo obtenha um valor aleatório ee tal que l<eB<p-l, e fazer com que o primeiro dispositivo comunique os valores yo e es para o terceiro dispositivo; v) o código de programa sendo operativo para fazer com que o terceiro dispositivo retenha cópias dos valores yD e ee e encaminhe os ditos valores para o segundo dispositivo; w) o código de programa sendo operativo para fazer com que o segundo dispositivo calcule o valor yB=h-eBrB mod p, e fazer com que o segundo dispositivo comunique o valor ye para o terceiro dispositivo; e x) o código de programa sendo operativo para fazer com que o terceiro dispositivo autentique o primeiro e o segundo dispositivos quando a condição yBP+eBRB=yDP+eoRD é satisfeita.
De acordo com outro aspecto da invenção, é fornecido o sistema acima em que o primeiro dispositivo é um dispositivo de mão sem fio, o segundo dispositivo é um servidor de empreendimento, e o terceiro dispositivo é um roteador e onde o código de programa operativo faz com que o terceiro dispositivo autentique o primeiro e o segundo dispositivos compreendendo código de programa operativo para estabelecer um canal de comunicação entre o primeiro e o segundo dispositivos.
Vantagens da invenção incluem a autenticação de dois dispositivos por um terceiro dispositivo, sem a necessidade do terceiro dispositivo ter a ele comunicado, ou ter informação direta a respeito de um valor secreto partilhado possuído pelos dois dispositivos autenticados.
Descrição sucinta dos desenhos Nos desenhos que ilustram, apenas por meio de exemplo, uma versão preferida da invenção: A Figura 1 é um diagrama de blocos que mostra dois dispositivos e um terceiro dispositivo utilizado na autenticação dos primeiros dois dispositivos.
Descrição detalhada da invenção Há muitos contextos diferentes em que se procura que a comunicação seja estabelecida entre dois dispositivos eletrônicos diferentes e um terceiro dispositivo é utilizado para controlar se essa comunicação deve ou não ocorrer. A Figura 1 é um diagrama de blocos que mostra o dispositivo 10 e o dispositivo 12, para os quais um canal de comunicação está para ser estabelecido. No exemplo da Figura 1, o dispositivo 14 determina se essa comunicação poderá ou não ocorrer. A determinação é feita com base na autenticação dos dispositivos 10, 12 ao estabelecer que cada dispositivo tem o valor secreto partilhado. No exemplo da Figura 1, um canal de comunicação direto é mostrado entre os dispositivos 10, 12. Outras disposições também são possíveis em que os dispositivos 10, 12 utilizam o dispositivo 14 para estabelecer comunicação e, em que, por exemplo, toda a comunicação é encaminhada através do dispositivo 14. A descrição da versão preferida se refere a dispositivos de comunicação, mas será compreendida por aqueles na tecnologia que a abordagem da versão preferida poderá ser implementada para outros contextos em que a autenticação de dois dispositivos é realizada por um terceiro dispositivo. Cada um dos dispositivos 10, 12 precisa ser capaz de se comunicar com o dispositivo 14, mas a finalidade última da autenticação dos dispositivos 10, 12 não precisa ser para sua comunicação um com o outro.
Será compreendido por aqueles habilitados na tecnologia que dispositivos eletrônicos, conforme referidos nesta descrição, incluem todos os tipos de dispositivos que são capazes de estabelecer comunicação com outros dispositivos e são capazes de realizar cálculos conforme descrito abaixo. Em particular, os dispositivos incluem servidores de comunicação como os servidores de mensagens de correspondência eletrônica e outros servidores de mensagens para utilização em conjunto com redes como a Internet, dispositivos de comunicação de mão sem fio, e outros dispositivos servidores, de mesa, portáteis ou de mão, incluindo dispositivos tipicamente utilizados em um ambiente de computação ou em telefonia. A versão preferida é descrita como um método que é implementado com relação a esses dispositivos eletrônicos. A implementação poderá ser incorporada em um produto de programa de computador que inclui código de programa em um meio que é entregue aos dispositivos referidos nesta descrição. Esse código de programa é executável nos dispositivos referidos de modo a realizar o método descrito.
Um exemplo de uma implementação da versão preferida inclui uma configuração em que o dispositivo 14 da Figura 1 é um roteador utilizado para designar um endereço IP (Internet Protocol) ao dispositivo 10 que é um dispositivo de mão sem fio. O roteador do dispositivo 14 estabelece a conexão entre o dispositivo de mão sem fio 10 e um servidor de empreendimento, representado no exemplo da Figura 1 pelo dispositivo 12. Neste exemplo, o dispositivo 14 roteador encaminha o tráfego para o dispositivo 10 de mão do dispositivo 12 servidor de empreendimento. Para assegurar que nenhum outro dispositivo é capaz de obter inapropriadamente o endereço IP do dispositivo 14 roteador, na versão preferida tanto o dispositivo 10 de mão como o dispositivo 12 servidor de empreendimento possuem um valor secreto s. Como é demonstrado abaixo, o dispositivo 14 roteador é capaz de estabelecer que o dispositivo 10 (de mão) é um dispositivo confiável e um canal de comunicação com o dispositivo 12 (servidor de empreendimento) deve ser estabelecido pelo dispositivo 14 (roteador). Neste exemplo, uma vez que a autenticação tenha sido feita pelo dispositivo 14 roteador, ele encaminha a comunicação para o dispositivo 10 ao utilizar um endereço IP designado e encaminhar a comunicação do servidor de empreendimento do dispositivo 12 utilizando a Internet. A descrição da versão preferida mostrada abaixo inclui várias etapas em que valores conforme enviados entre dispositivos são verificados. Para assegurar que há apenas um ponto de falha no método, quando essa verificação determinar que há uma condição de erro, a abordagem da versão preferida é redefinir um dos valores de uma maneira que fará com que o método deixe de autenticar os dispositivos em suas etapas finais. Como será apreciado por aqueles habilitados na tecnologia, poderá haver outras abordagens utilizadas para efetuar essa verificação que resultará no método ser terminado a um ponto mais cedo ou em uma condição de erro ser especificada de outra maneira. A versão preferida é descrita com referência aos dispositivos 10, 12, 14, cada um dos quais é capaz de realizar funções criptográficas e que partilham, na versão, os seguintes parâmetros de criptosistemas. As operações matemáticas descritas são realizadas nos grupos E(Fq) e Zp. O grupo E(Fq) é definido na versão preferida como a curva elíptica aleatória de 521 bits aprovada pelo National Institute of Standards and Technology (NIST) sobre Fq. Esta curva tem um cofator de um. O campo Fq é definido como um campo finito da ordem prima q. Zp é o grupo de inteiros módulo p. Na descrição abaixo, a chave pública P é definida como um ponto de E(Fq) que gera um subgrupo primo de E(Fq) da ordem p. A notação xR representa a multiplicação escalar de curva elíptica, em que x é a escalar e R é um ponto em E (Fq) . Este ponto da curva elíptica R às vezes precisa ser representado como um inteiro para alguns dos cálculos. Esta representação é R = (xmod22) + 2fn , onde x é a representação inteira da coordenada x do ponto de curva elíptica R e f = log2p+l é o comprimento de bit de p.
Como será apreciado, para diferentes implementações da versão preferida, a opção para os grupos sobre os quais as operações da versão preferida devem ser realizadas poderá variar. A curva elíptica é um grupo comum para essas operações em criptografia. Qualquer grupo matematicamente definido pode ser utilizado para a implementação da versão preferida. Por exemplo, o grupo definido por inteiros módulo a de número primo pode ser utilizado para uma implementação.
Na Tabela 1, montada conforme segue, os cálculos e as comunicações da versão preferida são estabelecidas. Na versão preferida, s é o valor partilhado conhecido tanto para o dispositivo 10 como para o dispositivo 12, mas nào para o dispositivo 14. Na versão preferida, o dispositivo 12 poderá comunicar-se com um ou mais dispositivos e, portanto, o dispositivo 10 é dotado de um identificador Key ID que especifica qual dispositivo ou classe de dispositivos está procurando comunicar-se com o dispositivo 12. De modo similar, o dispositivo 12, em outras implementações, poderá ser dotado de um identificador para permitir ao dispositivo 10 especificar qual dispositivo está procurando ser autenticado. Será apreciado que o Key ID descrito não é suficiente, era si, para autenticar o dispositivo. Também será apreciado que se a identidade do dispositivo 10 é óbvia pelo contexto, o Key ID poderá nào ser necessário. Por exemplo, se o dispositivo 12 comunica-se com um único dispositivo 10, e nenhum outro dispositivo desses, então o Key ID poderá não ser necessário.
Tabela 1 A tabela acima especifica as etapas tomadas no processo da versão preferida para efetuar a autenticação dos dois dispositivos em comunicação [dispositivos 10, 12) que inclui a autenticação por terceiro [dispositivo 14) . Será compreendido por aqueles habilitados na tecnologia que certas etapas poderão ser tomadas em ordem diferente e que, como é indicado abaixo, certas etapas poderão ser omitidas. A primeira etapa realizada na versão preferida é para cada um dos dispositivos 10, 12 calcularem uma função aleatória com base no valor secreto partilhado s- Na versão preferida, a função aleatória é a função aleatória SHA-512 conforme definida na Federal Information Processing Standards Publication 180-2. Outras funções aleatórias similares poderão ser utilizadas. 0 valor h que é atingido pela aplicação da função aleatória é utilizado por ambos os dispositivos 10, 12. A utilização de um valor de função aleatória h em vez da utilização direta do valor s torna o processo mais seguro pois o valor h partilhado secreto s não é utilizado diretamente nos cálculos diferentes mostrados abaixo, Na versão preferida, para fornecer o valor partilhado s para ambos os dispositivos em um estágio de inicialização, o valor s poderá ser gerado aleatoriamente por um dos dispositivos 10, 12 e então comunicado para o outro dispositivo utilizando um canal de comunicação seguro. Por exemplo, quando o dispositivo 10 é um dispositivo de mão sem fio e o dispositivo 12 é um servidor de empreendimento, o valor do valor secreto partilhado pode ser gerado pelo servidor de empreendimento e depois comunicado ao dispositivo de mão sem fio quando esse dispositivo estiver em um berço que está conectado ao servidor de empreendimento por uma conexão de rede segura.
Após determinar o valor h, a etapa seguinte no processo de autenticação da versão preferida é para o dispositivo 10 gerar um valor rD aleatório a ser combinado com um valor de chave pública P. Este valor aleatório é definido como sendo maior que um e inferior a p-1. Neste exemplo, p é definido como sendo a ordem do subgrupo primo de E (Fq) gerada pelo ponto P na curva elíptica E(Fq) . Uma vez obtido o valor rD aleatório, o valor Rd é calculado ao tomar o resultado da multiplicação escalar rüP. Este valor de chave pública aleatorizado (Rd) é então enviado, com o valor Key ID, para o dispositivo 14. No dispositivo 14, uma verificação de erro no valor Rd é realizada. Se Rd é igual ao ponto do infinito então há um erro no valor da chave pública (se Pé uma chave pública válida então o produto escalar não será igual ao ponto do infinito). De acordo com a versão preferida, o tratamento de erro é realizado ao estabelecer o valor Rd igual a um valor aleatório (especificado pelo pseudo código Ro-rand() na Tabela 1) . O valor Rd e o valor Key ID são então encaminhados pelo dispositivo 14 para o dispositivo 12. Será observado que na versão preferida, o dispositivo 14 reterá na memória certos dos valores que ele recebe e encaminha. Esses valores retidos são utilizados em uma etapa de autorização final, como é descrito abaixo.
No dispositivo 12, há uma outra verificação de erro no valor Rd (em comparação com o ponto do infinito) e uma etapa de tratamento de erro similar é realizada se necessário. 0 dispositivo 12 também gera seu próprio valor aleatório para combinação com a chave pública P. 0 valor aleatório rs é definido na faixa de um a p-1 e o produto escalar reP define o valor Rb. Uma verificação de erro no dispositivo 12 é realizada para assegurar que Rb não é igual a Rd. Se esses valores são equivalentes, então um novo valor aleatório re é definido e um novo valor Rb é calculado. Esta etapa é tomada porque quando Rb é equivalente a Rd, é possível para um atacante determinar o valor de h.
Também nesta etapa no dispositivo 12, um valor de desafio aleatoriamente definido eD é obtido. Este valor eD é gerado de modo a ser maior que um e inferior a p-1. Tanto o valor eD como o valor Rb conforme determinados pelo dispositivo 12 são enviados pelo dispositivo 12 para o dispositivo 14. 0 dispositivo 14 poderá estar realizando múltiplas transações similares simultaneamente com um conjunto de dispositivos que inclui o dispositivo 10. Para permitir ao dispositivo 14 determinar qual do conjunto de dispositivos que inclui o dispositivo 10 enviará os valores, o valor Key ID também é retornado para o dispositivo 14 pelo dispositivo 12, juntamente com os valores eD e Rb.
No dispositivo 14, uma verificação de erro é realizada no valor Rb. 0 valor Rb é comparado ao ponto do infinito e uma etapa de tratamento de erro é potencialmente tomada. A comparação e o tratamento de erro são realizados para o valor Rb da mesma forma que Rd foi comparado e uma etapa de tratamento de erro tomada nas etapas anteriores mostradas acima. De modo similar, os valores de Rd e de Rb são comparados um ao outro e se eles são determinados como sendo equivalentes então, como uma etapa de tratamento de erro, Rb é definido como sendo um valor aleatório. A equivalência de Rd e de Rb é reconhecida como uma condição de erro porque o dispositivo 12 gera Rb de uma maneira que assegura que ele tem um valor diferente do que Rd. Se, no recebimento pelo dispositivo 14, os dois valores são idênticos, então deverá ter havido um erro na transmissão ou um atacante redefiniu os valores.
Uma outra verificação é realizada no dispositivo 14 nesta oportunidade para assegurar que eD não tem o valor de zero. Se o valor é 0, então o valor eD é fixado para um valor aleatório. Se eD foi fixado para o valor de zero (potencialmente por um atacante em busca de obter informação para permitir uma autenticação falsa) então o valor de h poderá ficar conhecido. Para evitar isto, a eD é dado um valor aleatório. Será apreciado que embora a verificação para assegurar que Rd não é igual a Rb e a verificação para assegurar que eD não é igual a zero poderão ser referidos como verificações de erro, essas verificações são realizadas para assegurar que um atacante não será capaz de obter informação a respeito do valor de h.
Uma vez completada a verificação referida acima, o dispositivo 14 envia Key ID, Rb e eD para o dispositivo 10.
Na versão preferida, quando do recebimento dos valores de Key ID, Rb e eD, o dispositivo 10 realizará as mesmas verificações que foram realizadas no dispositivo 12, e tomará as mesmas etapas de tratamento de erro (fixar seja Rb ou eD em 0, conforme necessário). Como foi o caso com a comunicação dos valores entre o dispositivo 12 e o dispositivo 14, a comunicação entre o dispositivo 14 e o dispositivo 10 é um ponto potencial onde um atacante poderá procurar alterar valores para ganhar acesso ao canal de comunicação através da autenticação inapropriada de um dispositivo.
Como é mostrado na Tabela 1, uma vez ocorrida a verificação dos valores Rb e eD no dispositivo 10, há um cálculo do valor yo. A definição do valor é: yD = h-eDrD mod p Como é descrito em maior detalhe abaixo, o valor yD é utilizado nas comparações que autenticarão os dispositivos 10, 12 um para o outro e para o dispositivo 14.
Outra etapa realizada pelo dispositivo 10 é a geração de um valor de desafio. Este valor de desafio é um valor es que é selecionado aleatoriamente da faixa superior a um e inferior a p-1. Ambos os valores yD e ee são então enviados para o dispositivo 14.
No dispositivo 14, o valor ee é comparado com zero e com eD. Se es tem um valor igual a qualquer um deles, então es é fixado em um valor aleatório. O valor es é então enviado pelo dispositivo 14 para o dispositivo 12, juntamente com o valor yD. No dispositivo 12, o valor ee é novamente verificado (contra zero e eü) e, se a verificação não for bem sucedida, eB é fixado em um valor aleatório. 0 valor yB é então calculado: yB = h-eBrB mod p Como será observado, o valor yB é definido de uma maneira simétrica à definição de yD. 0 valor yB é enviado pelo dispositivo 12 onde ele foi calculado, para o dispositivo 14 e de lá para o dispositivo 10.
Neste ponto no processo, os valores yD e Rd foram enviados pelo dispositivo 10 para o dispositivo 12, e os valores yB e RB foram enviados pelo dispositivo 12 para o dispositivo 10. Ainda, cópias dos valores que foram encaminhados e enviados do dispositivo 14 também foram retidos no dispositivo 14. Conseqüentemente, como será observado na última etapa da Tabela 1, as etapas de autenticação são realizadas para autenticar que ambos os dispositivo 10 e o dispositivo 12 têm o mesmo valor secreto partilhado s.
Em particular, no dispositivo 14, há uma autenticação dos dois dispositivos se e apenas se YBP+eBRB=yDP+eüRD
No dispositivo 10, há a autenticação do dispositivo 12 se e apenas se yBP+eBRB=hP.
No dispositivo 12, há a autenticação do dispositivo 12 se e apenas se YüP+eDRD=hP.
Como será aparente para aqueles habilitados na tecnologia, o processo de autenticação mostrado acima faz uso de certas das operações matemáticas e equivalências descritas e utilizadas no esquema de identificação de Schnorr (ver, por exemplo, A. Menezes, P. van Oorschot e S. Vanstone. Handbook of Applied Cryptography, CRC Press, New York, 1997 nas páginas 414-415) . No entanto, a versão preferida permite que dois dispositivos autentiquem mutuamente um ao outro e permite que um terceiro dispositivo autentique ambos os dispositivos. A autenticação é realizada pelo terceiro dispositivo (o dispositivo 14 no exemplo) apesar do fato de o terceiro dispositivo não saber o valor secreto s que é partilhado entre os dois dispositivos 10, 12. Será observado que a autenticação mútua entre os dispositivos 10, 12 é realizada ao mesmo tempo, como resultado de terem sido realizadas uma série de etapas sobrepostas. O processo de autenticação da versão preferida é adequado para uso quando um canal de comunicação entre dois dispositivos está sendo definido e um terceiro dispositivo fornecerá informação para permitir que o canal seja montado. Isto poderá ocorrer quando o dispositivo de mão sem fio utiliza um dispositivo roteador para ganhar acesso ao servidor de empreendimento. O dispositivo de encaminhamento age como o terceiro dispositivo que exige a autenticação do servidor e do dispositivo de mão sem fio. O processo acima permite que essa autenticação seja realizada e fazer com que o terceiro dispositivo (o roteador, por exemplo) faça a autenticação sem ter conhecimento do valor secreto e com um conjunto reduzido de informação de estado. A descrição acima da versão preferida inclui a verificação de erro aplicada ao valor R. Isto é feito para determinar se R é um valor de chave pública válido. Como será apreciado, esta verificação de erro poderá ser omitida do método da versão preferida se puder ser assegurado que Rd não é igual a Rb, embora seja geralmente preferível realizar esta verificação para assegurar que o processo está sendo feito corretamente. Ainda, a versão preferida descreve o cálculo de um valor aleatório do valor secreto no dispositivo 10 e no dispositivo 12. A utilização de uma função aleatória para codificar o valor secreto s como o valor h, não é necessária embora ela seja uma etapa preferida para minimizar a utilização direta do valor secreto. Se não houver utilização de uma função aleatória desta maneira, o valor secreto é utilizado diretamente para calcular os diferentes valores de autenticação.
Como foi referido acima, o processo de autenticação poderá ser utilizado no estabelecimento de um canal de comunicação de um dispositivo para um segundo dispositivo através de um terceiro dispositivo. Neste caso, é vantajoso utilizar um protocolo autenticado para fechar o canal como entre o terceiro dispositivo e um dos outros dois. Na versão preferida esse protocolo de fechamento autenticado poderá ser colocado no lugar com base de que o terceiro dispositivo retém certos valores. Em particular, após a autenticação haver ocorrido antes do estabelecimento do canal de comunicação, o terceiro dispositivo (dispositivo 14, no exemplo da Figura 1) retém os valores yDP+eüRD, Rd, Rb, eD, Θβ. O dispositivo 12 retém os valores Rd, Rb, eD, Θβ, h. Na Tabela 2, um processo de autenticação é mostrado para uso quando o dispositivo 14 autenticou o dispositivo 12, como é mostrado acima e o dispositivo 12 procura fechar o canal de comunicação.
Tabela 2 Como será observado do que antecede, a autenticação para o protocolo de fechamento está disponível, embora o dispositivo 14 {o terceiro dispositivo) não possui ou utilize diretamente o valor de segurança s ou o valor aleatório h. Neste caso, a autenticação segue o esquema de identificação de Schnorr, com base nos valores que são retidos pelos dispositivos referidos acima (dispositivos 12, 14 no exemplo dado). Esses valores estão disponíveis no terceiro dispositivo como resultado da utilização do processo de autenticação descrito acima. Várias versões da presente invenção tendo sido assim descritas em detalhe por meio de exemplo, será aparente para aqueles habilitados na tecnologia que variações e modificações poderão ser feitas sem desviar da invenção. A invenção inclui todas essas variações e modificações como enquadradas dentro do escopo das reivindicações apensas.
REIVINDICAÇÕES

Claims (20)

1. Método para determinar se um primeiro dispositivo e um segundo dispositivo possuem ambos um valor h, compreendendo: transmitir o valor desafio eD ao primeiro aparelho; transmitir o valor de desafio eB ao segundo dispositivo; o método caracterizado pelo fato de ainda compreender: receber e armazenar um produto Rd do primeiro dispositivo, onde Rd é um produto de valor aleatório rD e um valor chave pública P; receber e armazenar um produto Rb e o valor de desafio eD do segundo dispositivo, onde Rb é um produto de valor re aleatório e um valor chave pública P; receber e armazenar um valor yo e o valor de desafio ee do primeiro dispositivo, onde uma primeira expressão envolvendo o valor yo, um valor aleatório rD, e o valor de desafio eD tem valor igual ao produto hP do valor h e do valor chave pública P; receber e armazenar um valor ye do segundo dispositivo, onde uma segunda expressão envolvendo o valor Yb, o valor aleatório rs, e o valor de desafio es tem um valor igual ao produto hP; e determinar que o primeiro dispositivo e o segundo dispositivo possuem, ambos, o valor h quando uma condição yBP+eBRB=yDP+eDRD é satisfeita.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de compreender: transmitir o produto Rb para o primeiro dispositivo e transmitir o valor ys para o primeiro dispositivo, permitindo assim que o primeiro dispositivo determine se o segundo dispositivo possui o valor h pela verificação, do primeiro dispositivo, se uma condição yBP+eBRB=hP estiver satisfeita.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de compreender: transmitir o produto Rd para o segundo dispositivo e transmitir o valor yd ao segundo dispositivo, permitindo assim que o segundo dispositivo determine se o primeiro dispositivo possui o valor h pela verificação, do segundo dispositivo, se uma condição yDP+eDRD=hP estiver satisfeita.
4. Método, de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pelo fato de que o valor h é derivado de um valor secreto s, o método ainda compreendendo: determinar que ambos, o primeiro dispositivo e o segundo dispositivo, possuem o valor secreto s quando a condição yBP+eBRB=yDP+eDRD for satisfeita.
5. Método, de acordo com a reivindicação 4, caracterizado pelo fato de que o valor h é derivado do valor secreto s pela aplicação de uma função hash ao valor secreto s.
6. Método, de acordo com qualquer uma das reivindicações 1 a 5, caracterizado pelo fato de que o valor chave pública P gera um subgrupo principal do grupo E (Fq) de ordem p, em que Fq é um domínio finito de ordem primária q, em que os valores aleatórios rD e rs estão entre o número 1 e o número (p-1) , e em que o valor de desafio eD e ee estão entre o número 1 e o número (p-1).
7. Método, de acordo com qualquer uma das reivindicações 1 a 6, caracterizado pelo fato de ainda compreender: estabelecer um canal de comunicação entre o primeiro dispositivo e o segundo dispositivo assim que determinado que, ambos, primeiro dispositivo e segundo dispositivo possuem o valor h.
8. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que o canal de comunicações é um canal de comunicação direta entre o primeiro dispositivo e o segundo dispositivo.
9. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que todas as comunicações através do canal de comunicações são encaminhadas através de um terceiro dispositivo.
10. Método, de acordo com qualquer uma das reivindicações 7 a 9, caracterizado pelo fato de ainda compreender: receber um produto Rc do segundo dispositivo, onde Rc é um produto do valor aleatório rc e valor chave pública P, e onde o produto Rc é coagido a ter um valor diferente de ambos os produtos Rb e Rd. obter um valor de desafio ec que é coagido a ter um valor diferente de ambos os valores de desafio ee e eD, e comunicar o valor de desafio ec ao segundo dispositivo. receber um valor yc do segundo dispositivo, onde uma terceira expressão envolvendo o valor yc, o valor aleatório rc, e o valor de desafio ec tem valor igual ao produto hP; e fechar o canal de comunicação quando uma condição ycP+ecRc=yDP+eDRD for satisfeita.
11. Terceiro dispositivo compreendendo: meios para transmitir o valor de desafio eD para o primeiro dispositivo; meios para transmitir o valor de desafio ee ao segundo dispositivo; o terceiro dispositivo caracterizado pelo fato de ainda compreender: meios para receber e armazenar um produto Rd de um primeiro dispositivo, onde Rd é o produto de um valor aleatório rD e o valor chave pública P. meios para receber e armazenar um produto Rb e o valor de desafio eD de um segundo dispositivo, onde Rb é um produto de valor aleatório re e valor chave pública P; meios para receber e armazenar um valor yv e o valor de desafio ee do primeiro dispositivo, onde uma primeira expressão envolvendo o valor yd, o valor aleatório rD, e o valor de desafio eD tem um valor igual ao produto hP de um valor h e o valor chave pública P; meios para receber e armazenar um valor ys do segundo dispositivo, onde uma segunda expressão envolvendo o valor Yb, o valor aleatório rs, e o valor de desafio es tem um valor igual ao do produto hP; e meios para determinar se, ambos, o primeiro dispositivo e o segundo dispositivo tem o valor h quando uma condição yBP+eBRB=yDP+eDRD for satisfeita.
12. Terceiro dispositivo, de acordo com a reivindicação 11, caracterizado pelo fato de ainda compreender: meios para transmissão do produto Rb ao primeiro dispositivo e transmissão do valor ys ao primeiro dispositivo, permitindo assim que o primeiro dispositivo determine se o segundo dispositivo possui o valor h pela verificação, do primeiro dispositivo, se a condição YBP+eBRB=hP estiver satisfeita.
13. Terceiro dispositivo, de acordo com a reivindicação 11, caracterizado pelo fato de compreender: meios para transmitir o produto Rd para o segundo dispositivo e transmitir o valor γη ao segundo dispositivo, permitindo assim que o segundo dispositivo determine se o primeiro dispositivo possui o valor h pela verificação, do segundo dispositivo, se uma condição yDP+eoRD=hP estiver satisfeita.
14. Terceiro dispositivo, de acordo com qualquer uma das reivindicações 11 a 13, caracterizado pelo fato de que o valor h é derivado de um valor secreto s, o dispositivo compreendendo: meios para determinar que ambos, o primeiro dispositivo e o segundo dispositivo, possuem o valor secreto s quando a condição yBP+eBRB=yDP+eDRD for satisfeita.
15. Terceiro dispositivo, de acordo com a reivindicação 14, caracterizado pelo fato de que o valor h é derivado do valor secreto s, pela aplicação de uma função hash no valor secreto s.
16. Terceiro dispositivo, de acordo com qualquer uma das reivindicações 11 a 15, caracterizado pelo fato de que o valor chave pública P gera um subgrupo principal do grupo E (Fq) de ordem p, em que Fq é um domínio finito de ordem primária q, em que os valores aleatórios rD e rs estão entre o número 1 e o número (p-1), e em que os valores de desafio eD e ee estão entre o número 1 e o número (p-1).
17. Terceiro dispositivo, de acordo com qualquer uma das reivindicações 11 a 16, caracterizado por compreender: meios para estabelecer um canal de comunicação entre o primeiro dispositivo e o segundo dispositivo assim que determinado que, ambos, primeiro dispositivo e segundo dispositivo possuem o valor h.
18. Terceiro dispositivo, de acordo com a reivindicação 17, caracterizado pelo fato de que o canal de comunicações é um canal direto de comunicações entre o primeiro dispositivo e o segundo dispositivo.
19. Terceiro dispositivo, de acordo com a reivindicação 17, caracterizado pelo fato de que todas as comunicações através dos canais de comunicação são encaminhadas através do terceiro dispositivo.
20. Terceiro dispositivo, de acordo com qualquer uma das reivindicações 17 a 19, caracterizado por ainda compreender: meios para receber um produto Rc do segundo dispositivo, onde Rc é um produto do valor aleatório rc e valor chave pública P, e onde o produto Rc é coagido a ter um valor diferente de ambos os produtos Rb e Rd; meios para obter um valor de desafio ec que é coagido a ter um valor diferente de ambos os valores de desafio ee e eD, e comunicar o valor de desafio ec ao segundo dispositivo. meios para receber um valor yc do segundo dispositivo, onde uma terceira expressão envolvendo o valor yc, o valor aleatório rc, e o valor de desafio ec tem valor igual ao produto hP; e meios para fechar o canal de comunicação quando uma condição ycP+ecRc=yDP+eDRD for satisfeita.
BRPI0501453A 2004-04-30 2005-05-02 autenticação de dispositivo BRPI0501453B1 (pt)

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
BRPI0501453A BRPI0501453A (pt) 2006-01-10
BRPI0501453B1 true BRPI0501453B1 (pt) 2017-05-23

Family

ID=34929049

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0501453A BRPI0501453B1 (pt) 2004-04-30 2005-05-02 autenticação de dispositivo

Country Status (12)

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

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
US9764712B2 (en) 2014-04-09 2017-09-19 Empire Technology Development Llc Sensor data anomaly detector
CN109891416A (zh) 2016-10-27 2019-06-14 株式会社电装 用于认证和授权装置的系统和方法
WO2021149101A1 (ja) * 2020-01-20 2021-07-29 日本電信電話株式会社 秘密選択積計算システム、秘密選択積計算方法、秘密計算装置、およびプログラム
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
KR20040093128A (ko) * 2002-03-13 2004-11-04 코닌클리케 필립스 일렉트로닉스 엔.브이. 다항식을 기반으로 한 다수-사용자 키 생성 및 인증 방법및 시스템
EP1596529B1 (en) * 2004-04-30 2007-12-05 Research In Motion Limited Cryptographic device authentication

Also Published As

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

Similar Documents

Publication Publication Date Title
US8156336B2 (en) Device authentication
TWI773199B (zh) 安全運算裝置、安全運算方法、驗證器及裝置驗證方法
JP5139362B2 (ja) 装置認証
Stebila et al. Multi-factor password-authenticated key exchange
US10110593B2 (en) Device and method certificate generation
EP2737656B1 (en) Credential validation
US20090055902A1 (en) Secure delegation using public key authentication
US20080313719A1 (en) Methods and Apparatus for Delegated Authentication
US9398024B2 (en) System and method for reliably authenticating an appliance
US8433918B2 (en) Methods and systems for improving the security of password-based authentication protocols for IEEE 802.11 networks
Hu et al. Universally composable anonymous password authenticated key exchange
Mishra et al. A secure and robust smartcard-based authentication scheme for session initiation protocol using elliptic curve cryptography
Diaz et al. On securing online registration protocols: Formal verification of a new proposal
Sudarsono et al. Anonymous IEEE802. 1X authentication system using group signatures
Zhang et al. LAPAA: A Secure and Lightweight Authentication Protocol for Edge Computing Built on ASCON Algorithm
HK1083958B (en) Cryptographic device authentication
Housley et al. RFC 4962: Guidance for Authentication, Authorization, and Accounting (AAA) Key Management

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
B25D Requested change of name of applicant approved

Owner name: BLACKBERRY LIMITED (CA)

B25G Requested change of headquarter approved

Owner name: BLACKBERRY LIMITED (CA)

B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]
B21F Lapse acc. art. 78, item iv - on non-payment of the annual fees in time

Free format text: REFERENTE A 20A ANUIDADE.

B24J Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12)

Free format text: EM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2825 DE 25-02-2025 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.