PT2150915E - Protocolo de login seguro - Google Patents

Protocolo de login seguro Download PDF

Info

Publication number
PT2150915E
PT2150915E PT08734567T PT08734567T PT2150915E PT 2150915 E PT2150915 E PT 2150915E PT 08734567 T PT08734567 T PT 08734567T PT 08734567 T PT08734567 T PT 08734567T PT 2150915 E PT2150915 E PT 2150915E
Authority
PT
Portugal
Prior art keywords
secret
data
data elements
server
quot
Prior art date
Application number
PT08734567T
Other languages
English (en)
Inventor
Claus Ambjoern Christophani
Original Assignee
Pamci Networks Denmark Aps
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 Pamci Networks Denmark Aps filed Critical Pamci Networks Denmark Aps
Publication of PT2150915E publication Critical patent/PT2150915E/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)
  • Collating Specific Patterns (AREA)
  • Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Steroid Compounds (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Description

1
DESCRIÇÃO "PROTOCOLO DE LOGIN SEGURO"
Campo da Invenção A invenção refere-se à autenticação de um utilizador perante um servidor.
Antecedentes da Invenção A Internet compreende um vasto número de serviços Online, nos quais os utilizadores clientes podem entrar. 0 acesso do utilizador cliente individual a um serviço online é muito frequentemente dependente de um login, o qual tradicionalmente consiste de um 'nome de utilizador' e uma 'palavra-passe'. 0 nome de utilizador e a palavra-passe devem ser encarados como duas chaves, as quais quando utilizadas em conjunto 'abrem' um serviço online para o utilizador cliente, se o sistema de servidor por detrás do sistema online 'encontrar' o nome de utilizador e a palavra-passe do utilizador cliente na lista de clientes que detêm o direito de aceder ao serviço online.
Se um sistema de servidor depender de dois critérios para login, como unicamente o 'nome de utilizador' e a 'palavra-passe', este concederá acesso a um utilizador cliente que submete um 'nome de utilizador' e 'palavra-passe' válidos para o sistema de servidor. Isto significa que se o utilizador cliente perder o seu nome de utilizador e palavra-passe para um determinado serviço online, qualquer pes- 2 soa que descubra o nome de utilizador e a palavra-passe pode aceder a esse serviço online. É muito frequente os utilizadores clientes perderem o seu nome de utilizador e a palavra-passe para programas ilegais que estão, sem o consentimento do utilizador cliente, armazenados no computador do utilizador e regista, a partir dai, os toques nas teclas do utilizador quando ele está a entrar num sistema online específico. Os toques nas teclas recolhidos são então enviados pelo programa ilegal através da internet para indivíduos não autorizados, que podem assim obter acesso ao serviço online.
Sumário da Invenção A presente invenção facilita a autenticação segura de um utilizador num computador servidor, isto é útil, por exemplo, como parte de um procedimento de login de transac-ções bancárias domésticas.
Um primeiro aspecto da invenção é um método para prover um segredo num computador cliente para utilização num processo de autenticação. 0 método compreende: - o computador cliente, que recebe de um computador servidor, informações que representam . um primeiro conjunto de elementos de dados, e . um segundo conjunto de elementos de dados, e . uma associação de dados entre o primeiro conjunto e o segundo conjunto, através de cuja associação de dados um elemento de dados do primeiro conjunto é unicamente associado a um elemento de dados no segundo conjunto; - prover um primeiro subconjunto que compreende 3 uma selecção de elementos de dados do primeiro conjunto de elementos de dados; - o computador cliente, que providencia um segundo subconjunto de elementos de dados, o segundo subconjunto compreendendo aqueles elementos de dados no segundo conjunto de elementos de dados que estão associados aos elementos de dados no primeiro subconjunto através da dita associação de dados; - prover o segredo, avaliando um algoritmo de cifra que depende de um elemento do segundo subconjunto e um elemento de dados de cifra predefinido. caracterizado pelo facto . de pelo menos uma parte da referida associação de dados ser apresentada através de uma primeira interface de utilizador; . a referida provisão de uma selecção de elementos de dados do primeiro conjunto de elementos de dados ser realizada por um utilizador em resposta à referida apresentação . 0 primeiro conjunto de elementos de dados poderia ser um conjunto de imagens ou um conjunto de ficheiros de áudio ou outras informações. 0 segundo conjunto de elementos de dados poderia ser, por exemplo, um conjunto de números inteiros. Neste cenário, a associação de dados poderia ser uma numeração das imagens. 0 computador servidor provê a associação de dados. As informações, que compreendem o primeiro conjunto (imagens, por exemplo) e o segundo conjunto (números inteiros, por exemplo) e a associação de dados (o mapeamento entre as imagens e os números), são en- 4 viadas para o computador do cliente. Vantajosamente, o computador servidor forma a associação de dados ao acaso. 0 segredo será utilizado como uma palavra-passe para entrar no sistema do computador servidor. Outros segundos conjuntos de elementos de dados poderiam consistir em números hexadecimais (que consistem de combinações de letras A-F e números inteiros 0-9), ou poderiam consistir de outro grupo de caracteres do caracter ASCII em geral. Estes podem ser todos convertidos em cadeias de bits e, portanto, serem utilizados num algoritmo de cifra. O número de elementos no primeiro conjunto de dados pode ser 100, e torna-se claro a partir de um exemplo abaixo providenciado, que o primeiro subconjunto é vantajosamente um subconjunto apropriado (do primeiro conjunto de elementos de dados) , o que significa que existem elementos no primeiro conjunto que não estão compreendidos no primeiro subconjunto. (Em virtude da associação de dados ser uma associação de um para um, o segundo subconjunto será um subconjunto apropriado do segundo conjunto de elementos de dados).
As ditas informações são tipicamente transmitidas pela Internet e/ou outra rede. Num cenário de transações bancárias domésticas, a rede compreende normalmente a Internet . O algoritmo de cifra pode ser seleccionado de entre muitos métodos de cifra diferentes, como será abaixo exemplificado. No caso onde as imagens são numeradas, a se-lecção resultará num segundo subconjunto que compreende números determinados através da associação de dados com base no primeiro subconjunto. Estes podem ser combinados de 5 qualquer modo, tal como por concatenação, somando-os, formando o seu produto, etc., por operações de bit directamen-te em representações de bit do sequndo subconjunto de elementos, etc. No final, o resultado pode ser representado, de um modo ou de outro, por uma cadeia de bits, como pode o elemento de dados de cifra (o qual poderia, por exemplo, ser números, caracteres ASCII, etc.), e assim podem ser manipulados aritmeticamente. A cifra pode, por exemplo, consistir em multiplicar o elemento de dados de cifra pelo grupo de números combinado, ou somando os dois, como acima discutido em relação à combinação de elementos do segundo subconjunto. As possibilidades são muitas. 0 processo é frequentemente referido como one-time-padding, e o resultado é que a combinação, por exemplo, dos números (os elementos do segundo subconjunto) torna-se criptografada (fica escondida a olho nu) . 0 segredo - o resultado da cifra -pode ser obtido somente quando o elemento de dados de cifra e a combinação do grupo de números são conhecidos. A cifra (o algoritmo) não precisa de ser reversível. Vantajosamente, esta não é, de modo que nem o segundo subconjunto nem o elemento de dados de cifra pode ser obtido.
Para facilitar o método, pelo menos uma parte do primeiro conjunto de elementos de dados e/ou uma parte do segundo conjunto de elementos de dados e/ou uma parte da associação de dados são apresentadas através de uma primeira interface de utilizador. Prover os conjuntos de dados completos e a associação de dados é a alternativa mais justa. Uma interface de utilizador neste contexto pode, por exemplo, ser um visor (por meio, por exemplo, de um navegador de Internet num ecrã de computador) ou um alto-falante. 6
Por meio disto, os conjuntos de dados e a associação de dados podem ficar disponíveis a um utilizador. 0 utilizador pode então prover a selecção simplesmente vendo a associação de dados ou clicando numa ou mais imagens, tal como num navegador onde se pode clicar em cada imagem ou torná-la de outro modo selecionável (botão de rádio, marcas, tocável, etc.) para obter o segundo subconjunto. A selecção poderia também ser executada, por exemplo, através de uma interface de voz (reconhecimento de voz) através de um meio de microfone . 0 registo por teclado é um problema amplamente difundido atualmente. De modo a evitar o registo do elemento de dados de cifra, é vantajoso prover o segundo subconjunto manualmente para uma unidade de avaliação com acesso ao e-lemento de dados de cifra predefinido e que executa a dita avaliação e providencia o segredo resultante. Alternativamente, o elemento de dados de cifra pode ser providenciado para a unidade de avaliação manualmente pelo utilizador juntamente com o segundo subconjunto ou uma sua parte. Esta unidade de avaliação poderia vantajosamente ser um dispositivo do tipo calculadora, tal como uma simples calculadora ou uma unidade de computação especificamente projectada para o propósito. Um telemóvel com implementação de um software apropriadamente projectado é outro exemplo de uma unidade, a qual poderia ser utilizada para o propósito de avaliar e providenciar o segredo. Quando o segundo subconjunto tiver sido introduzido na unidade de cifra, a unidade de cifra providencia o segredo em resposta. A unidade de cifra pode estar em ligação de dados operável com o computador cliente, podendo assim o segredo ser transmitido eletroni- 7 camente para o computador cliente, ou poderia estar separada do computador cliente e operar independentemente. Com a separação da unidade de avaliação e do computador cliente, evita-se um problema de registo por teclado no computador cliente. Neste caso, uma interface do utilizador pode permitir que um utilizador obtenha o segredo determinado, por exemplo, visualmente ou audivelmente, da unidade de avaliação .
Um segundo aspecto da invenção providencia um método de autenticação. Um utilizador de um computador cliente deseja registar-se num computador servidor. 0 método compreende: - o computador servidor que recebe um pedido de autenticação de um computador cliente; - o computador servidor que gera informação que representa um primeiro conjunto de elementos de dados, um segundo conjunto de elementos de dados e uma associação de dados entre o primeiro conjunto e o segundo conjunto, através de cuja associação de dados um elemento de dados do primeiro conjunto é unicamente associado a um elemento de dados do segundo conjunto; - o computador servidor que providencia as ditas informações para o computador cliente; - o servidor que recebe um primeiro segredo em resposta à provisão das ditas informações para o computador cliente; - o servidor que providencia um segundo segredo, avaliando um algoritmo de cifra que depende de um subconjunto de elementos de dados predefinido do segundo conjunto e um elemento de dados de cifra predefinido; 8 - o servidor que compara o primeiro segredo e o segundo segredo e providencia uma indicação de autenticação positiva se o primeiro segredo e o segundo segredo forem idênticos. 0 computador do cliente providência um segredo (primeiro segredo) como anteriormente descrito. Este primeiro segredo está baseado numa selecção sobre o computador cliente entre os elementos de dados no primeiro conjunto de elementos de dados. Um primeiro segredo é vantajosamente determinado, seja qual for a seleção. 0 computador do servidor compreende um subconjunto de elementos de dados pre-definido, o qual é uma "palavra-passe" por si só que pertence a um utilizador. 0 primeiro segredo (o segredo recebido a partir do computador cliente) será idêntico ao segundo segredo, que o próprio servidor calculou com base no subconjunto de elementos de dados predefinido somente quando o subconjunto seleccionado no computador cliente é idêntico ao subconjunto predefinido. Num cenário bancário, um utilizador do computador cliente provê algum tipo de identidade, tal como um nome de utilizador ou um número de conta. No servidor, esta identidade está confinada a um subconjunto predefinido específico. Deste modo, cada utilizador pode ter a sua selecção favorita de elementos de dados do primeiro conjunto. Isto será posteriormente exemplificado .
Para melhorar a segurança, o servidor pode substituir a associação de dados por outra associação de dados, se o primeiro segredo e o segundo segredo não forem idênticos. Isto é vantajoso porque a combinação dos elementos no segundo subconjunto torna-se diferente, apesar dos mesmos 9 elementos do primeiro conjunto sejam selecionados no computador cliente, isto aumenta significativamente a segurança, porque reduz fortemente ou elimina o valor de adivinhação sistemática. 0 acesso pode ser adicionalmente limitado, assegurando que uma indicação de autenticação positiva seja fornecida pelo servidor somente se um número de IP activo do computador cliente coincidir com um número de IP fornecida no computador do servidor. Esta propriedade é bem conhecida em alguns sistemas de autenticação existentes.
Num terceiro aspecto, a invenção provê um hardware de computador adaptado para realizar um método de entre os métodos acima descritos em relação ao primeiro e segundo aspectos da invenção. Este hardware de computador pode ser inteiramente dedicado, tal como um ASIC programado. Alternativamente, o hardware pode compreender um computador pessoal carregado com um software adequadamente programado para tornar o computador pessoal operativo para facilitar os ditos métodos.
Um quarto aspecto provê um produto de programa de computador que compreende um software que, quando executado num hardware de computador adequado, permite que o hardware do computador realize um método de acordo com um dos métodos de acordo com o primeiro e segundo aspectos. 0 software pode, por exemplo, ser gravado num DVD, num CD, num disco rígido, numa memória instantânea ou outro meio de armazenamento que compreende o produto.
Breve Descrição dos Desenhos 10 A Figura 1 ilustra a troca de dados entre um cliente e um servidor durante um processo de autenticação de acordo com a presente invenção. A Figura 2 ilustra dois conjuntos de dados utilizados num método de provisão de segredo de acordo com a presente invenção. A Figura 3 ilustra uma associação de dados entre os dois conjuntos de dados. A associação de dados é criada pelo servidor. A Figura 4 ilustra um sistema, no qual está em curso um processo de autenticação. A Figura 5 é um fluxograma que ilustra um processo de autenticação desde o início até à decisão de autenticação .
Descrição de Modalidades Selecionadas A seguir, a invenção será descrita por meio de e-xemplos. A invenção será descrita utilizando exemplos, em que o primeiro conjunto de dados é um conjunto de imagens e o segundo conjunto de elementos de dados consiste de números inteiros. A associação de dados é uma numeração das i-magens no primeiro conjunto de dados com os números inteiros do segundo conjunto de dados. A Figura 2 ilustra o primeiro conjunto de dados 210 que consiste de três imagens 211 (a torre Eiffel) , 212 (um carro) , 213 (um relógio) . A Figura 2 também ilustra o segundo conjunto de dados 220, que consiste do número inteiro "1" (221), do número inteiro "2" (222) e do número inteiro "3" (223). Num cenário da vida real, o número de imagens é "alto", como por exemplo co- 11 mo 10 ou 50 ou 100. A Figura 1 ilustra um sistema de cliente - servidor, que compreende um computador cliente 110 e um computador servidor 120. No presente cenário, um utilizador deseja entrar no sistema do servidor. Os dois computadores estão ligados a uma ligação de rede 102 através de uma rede de dados. A rede de dados pode, por exemplo, compreender uma ligação pela Internet, uma ligação sem fios e assim por diante. No presente exemplo, o cliente e o servidor comunicam utilizando o protocolo de HTTP.
Para iniciar um processo de autenticação para autorizar um utilizador do computador cliente 110 a utilizar as informações sobre o computador servidor 120, o cliente 110 envia uma solicitação "REQ" ao servidor 120, como ilustrado na Figura 1. A solicitação compreende as informações de identificação, tais como a id de utilizador e/ou uma pa-lavra-passe, ou outra identificação. A solicitação faz com que o servidor forneça o primeiro conjunto de dados Si (i-magens) e o segundo conjunto de dados S2 (números inteiros) e uma associação de dados Si<-»S2 que relaciona as imagens com os números inteiros. A associação de dados ("DA") é produzida ao acaso pelo servidor. O utilizador, juntamente com o computador cliente, cria um segredo ("sec"), o qual é enviado para o servidor. Para decidir se vai autorizar o utilizador, o servidor compara o segredo recebido com um segredo que este mesmo criou com base nas informações de identificação de REQ e na associação de dados, DA. Se os dois segredos coincidirem, o utilizador fica autorizado a aceder às informações no servidor. A Figura 3 ilustra uma associação de dados 310 en- 12 tre o primeiro e segundo conjuntos de dados da Figura 2. Depois de ter recebido a solicitação do cliente, o servidor fornece a associação de dados, que consiste de associações 301, 302 e 303. A associação 301 associa a torre 211 com o número inteiro "2", a associação 302 associa o carro com o número inteiro "3", e a associação 303 associa o relógio com o número inteiro "1".
Os conjuntos de dados 210 e 220 e a associação de dados 310 são transmitidos ao cliente. De modo a permitir que o utilizador prossega com a tentativa de autenticação, os dados transmitidos são exibidos num visor ligado ao computador cliente. A Figura 4 ilustra o computador cliente 110 ligado a um visor 401 e a um teclado 402.
Durante o processo de autenticação, o visor mostra a associação, por exemplo, como ilustrado no visor 401 na Figura 4, onde os números inteiros são apresentados por ordem crescente e as imagens associadas são apresentadas acima destes no visor 401 ligado ao computador cliente 110. O tipo e a forma de apresentação podem ser selecionados conforme desejado, desde que a associação de dados seja discernivel. Os números poderiam também ser deixados de fora e aparecer assim que o utilizador tiver feito uma selec-ção de imagens. A autenticação real baseia-se em dois mecanismos. O primeiro é que o utilizar define a "palavra-passe" final, memorizando uma sequência de imagens. Neste exemplo, assumiu-se que a palavra-passe consiste de duas imagens por uma certa ordem. O utilizador pode, por exemplo, ter escolhido uma palavra-passe que consiste de "carro" e "torre", nesta ordem. Isto pode ter significância para o utilizador (ou 13 não) . 0 utilizador pode pensar em "levar o carro para a torre Eiffel", o que poderia ser o seu passatempo favorito. 0 utilizador identifica, de seguida, os números associados, os quais são "3" e "2", nesta ordem. Estes números, incluindo a sua ordem, serão referidos como "números associados resultantes", ou RANs.
Para obter a palavra-passe, o utilizador obtém um segredo fazendo com que um algoritmo predefinido seja executado com base nos números identificados. Alternativamente, como acima discutido, pode clicar-se nas imagens e assim que o utilizador clicar em "carro" e "torre", o "3" e o "2" são exibidos com uma indicação de sua ordem correcta.
Como um segundo mecanismo, o utilizador também tem um número pin (PN), o qual é utilizado na provisão do segredo. 0 número pin é conhecido tanto do utilizador como do servidor.
Um exemplo de um algoritmo para obter o segredo consiste em concatenar os números e somar o número pin ao resultado. Como um exemplo, será assumido agora que o número pin do utilizador é "51". Os números concatenados relativos a "carro" e "torre" é "32", e somando o número pin fornece o resultado "83", o qual é o segredo no caso da associação de dados apresentada nas Figuras 3 e 4. 0 número pin actua como um preenchimento para ocultar/criptografar os números concatenados.
De seguida, o utilizador insere o segredo no teclado 402, e o segredo é submetido ao servidor. O servidor executa exactamente o mesmo cálculo. Através das informações de identificação (tais como a ID de utilizador ou o número de conta acima mencionados), o servidor sabe quem o 14 utilizador é e, assim, sabe qual número pin a utilizar no seu cálculo do segredo. Este já conhece a "palavra-passa" ("carro" e "torre", nesta ordem), e calcula o resultado "83", utilizando a associação de dados que este próprio forneceu. 0 servidor então compara o segredo (resultado) àquele que é provido pelo utilizador. Neste exemplo, os dois são idênticos, e o utilizador é autorizado. No caso do utilizador ter escolhido "torre" e depois "carro", o resultado concatenado é "23" e o segredo resultante é "74", o qual não é idêntico ao resultado "83" calculado pelo servidor. 0 servidor negaria o acesso. Como outro exemplo, a se-lecção de "carro" e "relógio", por esta ordem, iria criar um resultado de "82", o qual também é incorrecto. 0 acesso seria consequentemente negado. 0 exemplo acima de um algoritmo é um algoritmo simples. Para aumentar a segurança, o algoritmo pode, por exemplo, ser modificado. Calculando PN3 + PN2 em que os expoentes são os RANs que resultam da selecção de "carro" e "torre" como acima discutido e apresentado nas Figuras 3 e 4. A selecção do algoritmo ajuda a ocultar o número pin e os RANs. Estes aspectos são bem conhecidos no campo de cifra, onde o número pin é frequentemente referido como um "one-time-pad". No exemplo acima, o algoritmo calcula 135252.
Os números pin de 4 digitos são comumente utilizados e aumentarão a segurança. Os números pin mais longos aumentam adicionalmente a segurança. Com um número pin de 5153, por exemplo, a fórmula acima calcula 136856269986. Para obter um segredo "curto", o resultado acima pode ser 15 encurtado, por exemplo, mantendo somente os primeiros 6 dígitos do resultado tal como os seis dígitos iniciais. 0 algoritmo portanto incluiria adicionalmente a etapa de selec-cionar os primeiros 6 dígitos. O segredo de cliente resultante seria 136856, que o utilizador iria de seguida fornecer ao computador cliente, o qual por sua vez iria transmitir este segredo ao servidor. 0 servidor executaria exacta-mente o mesmo cálculo e executaria a comparação como habitual. No caso do segredo de cliente e o segredo de servidor coincidirem, o utilizador é autorizado.
Um propósito da invenção é dificultar aos registadores por teclado a obtenção do número pin. A provisão do segredo, em que o computador cliente executa o cálculo com base num número pin inserido por teclado, faz falhar o propósito. Em vez disso é utilizado um computador de cifra separado ("unidade de avaliação"). A Figura 4 ilustra uma u-nidade 430 destas. Pode, por exemplo, assumir a forma de uma calculadora convencional, apesar de especializada "por dentro". Esta está ciente do algoritmo utilizado para prover segredos. Para obter um segredo, o utilizador insere os RANs na unidade, como ilustrado pela linha tracejada 431 na Figura 4. De seguida, a unidade fornece o segredo, por e-xemplo, através de um visor. O número pin pode ser inserido pelo utilizador ao mesmo tempo, ou este pode ser armazenado na unidade mais permanentemente. A primeira solução é claramente mais desejável de um ponto de vista de segurança. Assim que a unidade fornecer o segredo, este é inserido no computador cliente, seja manualmente pelo utilizador, como ilustrado pela linha 432, ou automaticamente para o cliente, como ilustrado pela linha 433, por exemplo, através de 16 uma ligação USB ou uma liadção sem fios, em que ambasevitam a necessidade de inserir o número pin através do teclado, o que é potencialmente sujeito ao registo por teclado.
Idealmente, o algoritmo é complicado e, por isso, é indispensável uma unidade de avaliação eletrónica.. 0 exemplo acima ilustra como duas imagens são selecionadas de entre três imagens disponíveis (as duas imagens formam um subconjunto apropriado do conjunto que consiste das três imagens). Se existissem 100 imagens para escolher, seria ainda vantajoso utilizar apenas um "pequeno" número de imagens - simplesmente porque é mais difícil lembrar um número mais alto de imagens.
Alguns processos de autenticação baseiam-se, em parte, em ficheiros de autorização dependentes do utilizador armazenados no computador cliente. Estes ficheiros são necessários quando tentar aceder ao servidor desejado. É bem conhecida a utilização de tais ficheiros. Estes ficheiros podem também ser utilizados com a presente invenção. Ao tornar o ficheiro de autorização disponível para a unidade de avaliação, as informações no ficheiro podem ser utilizadas no algoritmo para aumentar a segurança com a introdução de mais entropia no segredo. A Figura 5 ilustra um exemplo de um processo de autenticação completo. Primeiro, o cliente faz uma solicitação 501 ao servidor após a iniciação do utilizador do processo de autenticação. O servidor fornece os conjuntos de dados e uma associação de dados, que o servidor criou na etapa 503. Estes são recebidos no computador cliente na e-tapa 503 e exibidos apropriadamente como anteriormente discutido. O utilizador executa agora as etapas requeridas pa- 17 ra obter o segredo de cliente, o que inclui seleccionar i-magens e calcular o segredo de cliente, na etapa 505. O segredo de cliente é inserido no computador cliente e transmitido 507 ao servidor. O servidor também calcula 509 um segredo, o segredo de servidor, e compara o segredo de cliente com o segredo de servidor na etapa 511. Se estes forem idênticos, o utilizador é autorizado (autenticado) a aceder ao servidor, na etapa 515. Caso contrário, o utilizador é rejeitado e pode ter outra oportunidade para fornecer o segredo de cliente correcto.
Para assegurar que nenhuma informação é reutilizada, por exemplo numa tentativa de adivinhar a "palavra-passe" (as imagens de "palavra-passe" e a sua sequência correcta, se aplicável), o computador servidor fornece uma nova associação de dados na etapa 503 em cada tentativa de login. Isto difculta a disponibilização de uma adivinhação sistemática para um intruso. A pessoa versada na técnica reconhecerá que as ca-racterísticas descritas podem ser combinadas, quando exequível, de vários modos e opções de designs, no âmbito das reivindicações que se seguem.
Lisboa, 19/01/2011

Claims (10)

1 REIVINDICAÇÕES 1. Um método para fornecer um segredo num computador cliente para utilização num processo de autenticação, que compreende: - o computador cliente que recebe de um computador servidor, informações que representam . um primeiro conjunto de elementos de dados, e . um segundo conjunto de elementos de dados, e . uma associação de dados entre o primeiro conjunto e o segundo conjunto, através da qual um elemento de dados do primeiro conjunto é unicamente associado a um elemento de dados no segundo conjunto; - fornecer um primeiro subconjunto que compreende uma selecção de elementos de dados do primeiro conjunto de elementos de dados; - o computador cliente que fornece um segundo subconjunto de elementos de dados, o segundo subconjunto compreendendo aqueles elementos de dados no segundo conjunto de elementos de dados que estão associados aos elementos de dados no primeiro subconjunto através da dita associação de dados; - fornecer o segredo avaliando um algoritmo de cifra que depende de um elemento do segundo subconjunto e um elemento de dados de cifra predefinido; caracterizado por: - pelo menos uma parte da associação de dados ser apresentada através de uma interface de utilizador; - o referido fornecimento de uma selecção de elementos de dados do primeiro conjunto de elementos de dados 2 ser realizado por um utilizador em resposta à referida a-presentação.
2. Um método de acordo com a reivindicação 1, em que o segundo subconjunto é fornecido a uma unidade de avaliação que tem acesso ao elemento de dados de cifra prede-finido e que executa a dita avaliação e fornece o segredo resultante, em que a unidade que efectua a cifra está ou - em ligação de dados operável com o computador cliente, pelo que o segredo pode ser transmitido eletronicamente ao computador cliente, ou - separada do computador cliente e compreende uma interface do utilizador, através da qual o segredo pode ser apresentado ao utilizador.
3. Um método de acordo com a reivindicação 2, em que a unidade de avaliação pode operar independentemente do computador cliente.
4. Um método para fornecer uma indicação de autenticação, que compreende: - um computador servidor que recebe uma solicitação de autenticação de um computador cliente; - o computador servidor que gera informação representando um primeiro conjunto de elementos de dados, um segundo conjunto de elementos de dados e uma associação de dados entre o primeiro conjunto e o segundo conjunto, através da qual um elemento de dados do primeiro conjunto é u-nicamente associado a um elemento de dados do segundo con- 3 junto; - o computador servidor que fornece as ditas informações ao computador de cliente; - o computador servidor que recebe um primeiro segredo em resposta à provisão das ditas informações ao computador cliente; caracterizado por: - o computador servidor que fornece um segundo segredo, avaliando um algoritmo de cifra que depende de um subconjunto de elemento de dados predefinido do segundo conjunto e um elemento de dados de cifra predefinido; - o computador servidor que compara o primeiro segredo com o segundo segredo e fornece uma indicação de autenticação positiva se o primeiro segredo e o segundo segredo forem idênticos.
5. Um método de acordo com a reivindicação 4, ainda compreendendo: - o computador servidor que substitui a dita associação de dados por outra associação de dados, se o primeiro segredo e o segundo segredo não forem idênticos.
6. Um método de acordo com uma das reivindicações 4 ou 5, em que uma indicação de autenticação positiva é fornecida pelo servidor somente se um número de IP activo do computador de cliente coincidir com um número de IP constante no computador servidor.
7. Um método de acordo com uma das reivindicações 1-6, em que 4 - o primeiro conjunto de elementos de dados consiste em imagens, e/ou - o segundo conjunto de elementos de dados consiste em caracteres ASCII.
8. Um método de acordo com uma das reivindicações 1-7, em que o primeiro subconjunto é um subconjunto apropriado do primeiro conjunto de elementos de dados.
9. Hardware de computador adaptado para executar pelo menos um método como definido numa das reivindicações 1-8.
10. Um produto que consiste num programa de computador que compreende software que, quando executado num hardware de computador adequado, permite que o hardware de computador execute todas as etapas de pelo menos um método como definido numa das reivindicações 1-8. Lisboa, 19/01/2011 1/5 100
FIG. 1 2/5 211 \
213 \
210 221\ 222\ 223\ » Λ Η ”3” 220 FIG.2 3/5 3/5 211 212 213
\ \ \ 221 222 223 \ \ \ FIG. 3 4/5
FIG.4 5/5
PT08734567T 2007-05-30 2008-05-19 Protocolo de login seguro PT2150915E (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US94080107P 2007-05-30 2007-05-30
DKPA200700781 2007-05-30

Publications (1)

Publication Number Publication Date
PT2150915E true PT2150915E (pt) 2011-01-25

Family

ID=39855035

Family Applications (1)

Application Number Title Priority Date Filing Date
PT08734567T PT2150915E (pt) 2007-05-30 2008-05-19 Protocolo de login seguro

Country Status (17)

Country Link
US (1) US20100174903A1 (pt)
EP (1) EP2150915B1 (pt)
JP (1) JP2010528382A (pt)
CN (1) CN101689236B (pt)
AT (1) ATE485565T1 (pt)
AU (1) AU2008255382B2 (pt)
BR (1) BRPI0811643A2 (pt)
CA (1) CA2688242A1 (pt)
CY (1) CY1111944T1 (pt)
DE (1) DE602008003120D1 (pt)
DK (1) DK2150915T3 (pt)
ES (1) ES2354932T3 (pt)
HR (1) HRP20100702T1 (pt)
PL (1) PL2150915T3 (pt)
PT (1) PT2150915E (pt)
SI (1) SI2150915T1 (pt)
WO (1) WO2008145132A2 (pt)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7953983B2 (en) 2005-03-08 2011-05-31 Microsoft Corporation Image or pictographic based computer login systems and methods
CN101901312A (zh) * 2009-05-27 2010-12-01 鸿富锦精密工业(深圳)有限公司 密码保护方法
US8458485B2 (en) 2009-06-17 2013-06-04 Microsoft Corporation Image-based unlock functionality on a computing device
CN101930510A (zh) * 2009-06-25 2010-12-29 鸿富锦精密工业(深圳)有限公司 密码保护方法
DE102010011657A1 (de) * 2010-03-17 2011-09-22 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Bereitstellen mindestens eines sicheren kryptographischen Schlüssels
AU2011202415B1 (en) 2011-05-24 2012-04-12 Microsoft Technology Licensing, Llc Picture gesture authentication
CN102271140B (zh) * 2011-09-05 2014-05-21 盛趣信息技术(上海)有限公司 身份认证方法、装置及系统
KR101328118B1 (ko) * 2013-07-25 2013-11-13 주식회사 베이스인 네트웍스 비밀 데이터 기반 로그인 서비스 제공 방법
US9646167B2 (en) 2015-06-01 2017-05-09 Light Cone Corp. Unlocking a portable electronic device by performing multiple actions on an unlock interface
DE102015016059A1 (de) * 2015-12-11 2017-06-14 Giesecke & Devrient Gmbh Verfahren zur Ausführung eines Programmcodes

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4679236A (en) * 1984-12-21 1987-07-07 Davies Richard E Identification verification method and system
WO1996034328A1 (en) * 1995-04-27 1996-10-31 Herman Weisz Method and security system for ensuring the security of a device
US5821933A (en) * 1995-09-14 1998-10-13 International Business Machines Corporation Visual access to restricted functions represented on a graphical user interface
US6484258B1 (en) * 1998-08-12 2002-11-19 Kyber Pass Corporation Access control using attributes contained within public key certificates
JP2002041478A (ja) * 2000-07-28 2002-02-08 Nec Corp 認証システムとその認証方法、及び認証プログラムを記録した記録媒体
US7149899B2 (en) * 2002-04-25 2006-12-12 Intertrust Technologies Corp. Establishing a secure channel with a human user
US20040022391A1 (en) * 2002-07-30 2004-02-05 O'brien Royal Digital content security system and method
US20040080529A1 (en) * 2002-10-24 2004-04-29 Wojcik Paul Kazimierz Method and system for securing text-entry in a web form over a computer network
US7174462B2 (en) * 2002-11-12 2007-02-06 Intel Corporation Method of authentication using familiar photographs
US7644433B2 (en) * 2002-12-23 2010-01-05 Authernative, Inc. Authentication system and method based upon random partial pattern recognition
JP4317359B2 (ja) * 2002-12-27 2009-08-19 ファルコンシステムコンサルティング株式会社 認証システム
US7735121B2 (en) * 2003-01-07 2010-06-08 Masih Madani Virtual pad
JP2005038151A (ja) * 2003-07-14 2005-02-10 Sharp Corp 個人認証装置および質問応答型の個人認証方法
US20060206919A1 (en) * 2005-03-10 2006-09-14 Axalto Sa System and method of secure login on insecure systems
US7200576B2 (en) * 2005-06-20 2007-04-03 Microsoft Corporation Secure online transactions using a captcha image as a watermark
NZ541711A (en) * 2005-09-28 2006-10-27 Chuan Pei Chen Human factors authentication using abstract definitions of viewable or audible objects
US20070083919A1 (en) * 2005-10-11 2007-04-12 Guy Heffez Secure Image Protocol
JP3996939B2 (ja) * 2006-03-30 2007-10-24 株式会社シー・エス・イー オフラインユーザ認証システム、その方法、およびそのプログラム
US7552467B2 (en) * 2006-04-24 2009-06-23 Jeffrey Dean Lindsay Security systems for protecting an asset
US8095967B2 (en) * 2006-07-27 2012-01-10 White Sky, Inc. Secure web site authentication using web site characteristics, secure user credentials and private browser
US20080052245A1 (en) * 2006-08-23 2008-02-28 Richard Love Advanced multi-factor authentication methods
US8006300B2 (en) * 2006-10-24 2011-08-23 Authernative, Inc. Two-channel challenge-response authentication method in random partial shared secret recognition system
US20090019289A1 (en) * 2007-07-13 2009-01-15 University Of Memphis Research Foundation Negative authentication system for a networked computer system
WO2010011731A2 (en) * 2008-07-22 2010-01-28 Next Access Technologies, Llc Methods and systems for secure key entry via communication networks

Also Published As

Publication number Publication date
WO2008145132A2 (en) 2008-12-04
EP2150915B1 (en) 2010-10-20
WO2008145132A3 (en) 2009-01-22
SI2150915T1 (sl) 2011-02-28
CN101689236A (zh) 2010-03-31
AU2008255382A1 (en) 2008-12-04
CN101689236B (zh) 2012-07-18
AU2008255382B2 (en) 2013-04-18
PL2150915T3 (pl) 2011-04-29
CY1111944T1 (el) 2015-11-04
DK2150915T3 (da) 2011-01-24
HRP20100702T1 (hr) 2011-01-31
ATE485565T1 (de) 2010-11-15
ES2354932T3 (es) 2011-03-21
US20100174903A1 (en) 2010-07-08
EP2150915A2 (en) 2010-02-10
BRPI0811643A2 (pt) 2014-11-11
JP2010528382A (ja) 2010-08-19
DE602008003120D1 (de) 2010-12-02
CA2688242A1 (en) 2008-12-04

Similar Documents

Publication Publication Date Title
PT2150915E (pt) Protocolo de login seguro
EP3435591B1 (en) 1:n biometric authentication, encryption, signature system
US9813411B2 (en) Method and system of providing a picture password proof of knowledge as a web service
JP4713694B1 (ja) 二要素ユーザ認証システム、およびその方法
US10313881B2 (en) System and method of authentication by leveraging mobile devices for expediting user login and registration processes online
JP3939736B1 (ja) ユーザ認証システム、およびその方法
JP5058600B2 (ja) 無連絡認証を提供するシステムおよび方法
US8041954B2 (en) Method and system for providing a secure login solution using one-time passwords
US20060294023A1 (en) System and method for secure online transactions using portable secure network devices
US9787689B2 (en) Network authentication of multiple profile accesses from a single remote device
US10909230B2 (en) Methods for user authentication
JP6702874B2 (ja) クライアント側のスコアベース認証を与える方法及び装置
US20120266224A1 (en) Method and system for user authentication
WO2012159225A1 (zh) 动态交互式身份认证方法及系统
US10277405B2 (en) Method for updating seed data in dynamic token
US8601264B2 (en) Systems and methods of user authentication
CA2611549C (en) Method and system for providing a secure login solution using one-time passwords
JP5602055B2 (ja) 二要素ユーザ認証システム、およびその方法
KR20090013616A (ko) 서버 인증 코드를 이용한 서버 인증 시스템 및 방법
JP6315080B2 (ja) 認証装置、認証システム及びプログラム
WO2023197379A1 (zh) 一种身份认证系统及方法