KR102177848B1 - 액세스 요청을 검증하기 위한 방법 및 시스템 - Google Patents

액세스 요청을 검증하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR102177848B1
KR102177848B1 KR1020157008621A KR20157008621A KR102177848B1 KR 102177848 B1 KR102177848 B1 KR 102177848B1 KR 1020157008621 A KR1020157008621 A KR 1020157008621A KR 20157008621 A KR20157008621 A KR 20157008621A KR 102177848 B1 KR102177848 B1 KR 102177848B1
Authority
KR
South Korea
Prior art keywords
module
data
indicator
computing device
password
Prior art date
Application number
KR1020157008621A
Other languages
English (en)
Other versions
KR20150052261A (ko
Inventor
보리스 타라틴
매튜 존슨
사이먼 피터 러스트
앤드류 워렌 라운즈
Original Assignee
비자 유럽 리미티드
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 비자 유럽 리미티드 filed Critical 비자 유럽 리미티드
Publication of KR20150052261A publication Critical patent/KR20150052261A/ko
Application granted granted Critical
Publication of KR102177848B1 publication Critical patent/KR102177848B1/ko

Links

Images

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/45Structures or tools for the administration of authentication
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • G06F21/725Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits operating on a secure reference time value
    • 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
    • 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/0846Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • User Interface Of Digital Computer (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

시스템에서 데이터에 대한 액세스를 위한 요청을 검증하는데 사용하기 위한 방법 및 시스템이 제공되며, 이러한 시스템은 제 1의 신뢰할 수 있는 시간의 표시기에 액세스하는 제 1 모듈, 신뢰할 수 없는 시간의 표시기에 액세스하는 제 2 모듈, 및 제 2의 신뢰할 수 있는 시간의 표시기에 액세스하는 컴퓨팅 장치를 포함한다. 제 1 모듈은 적어도 제 1의 신뢰할 수 있는 시간의 표시기를 이용하여 암호를 생성한다. 제 2 모듈은 데이터에 대한 액세스를 위한 요청과 관련된 암호를 수신하고, 적어도 신뢰할 수 없는 시간의 표시기를 이용하여 수신된 암호를 검증한다. 그 후, 제 2 모듈은 메시지가 컴퓨팅 장치로 전송되도록 배치되며, 메시지는 수신된 암호를 검증하는데 사용되는 적어도 신뢰할 수 없는 시간의 표시기를 나타내는 데이터를 포함한다. 그 다음, 컴퓨팅 장치는 신뢰할 수 없는 시간의 표시기와 제 2의 신뢰할 수 있는 시간의 표시기 사이의 비교를 나타내는 데이터를 생성하며, 생성된 데이터를 이용하여 상기 데이터에 대한 액세스를 제공한다.

Description

액세스 요청을 검증하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR VERIFYING AN ACCESS REQUEST}
본 발명은 액세스를 위한 요청을 검증하기 위한 방법 및 시스템에 관한 것이지만, 특히, 데이터, 서비스 또는 자산(assets)에 대한 액세스를 위한 요청을 검증하는데 독점적으로 적합하지는 않은 것이다.
기밀 또는 사용자 특정 데이터(또는 자산 또는 서비스)에 대한 액세스 수요가 증가하고 있다. 예를 들면, 은행 계좌에 대한 액세스를 제공하고, 이 계좌에서 돈의 송신을 허용하는 것은 계좌 보유자와 같은 권한이 있는 사용자로 제한되어야 한다. 일반적으로, 사용자는 데이터에 대한 액세스를 요청하는 사람을 식별하는 자격 인증서(credentials)에 의해 데이터에 대한 액세스를 요청하는 경우에 인증된다. 데이터의 원격 액세스는 데이터, 자산 또는 서비스를 요청하는 사람이 일반적으로 요청에 응답하는 당사자(party)와 다른 물리적 위치에 있기 때문에 특정 문제를 제시한다. 결과적으로, 요청을 서비스하는 당사자는 요청을 하는 엔티티가 a) 주장하는 사람(who they claim to be)인지, b) 요청이 생긴 장치를 사용할 권리가 있는지, 및 c) 요청이 생긴 장치를 소유하고 있는지를 알기가 매우 어렵다.
일반적으로, 계좌가 사람과 데이터 제공자와 같은 당사자 사이에 설정되면, 사람은 향후 요청을 위해 사람을 식별하고 인증할 시에 데이터 제공자에 의해 사용하기 위해 상술한 자격 인증서를 확립할 것이다. 이러한 자격 인증서는 사람의 신원(identity)을 검증하는데 사용하기 위한 파슨(parson)(예를 들어 개인 식별 정보(PII)) 및 비밀(예를 들어 암호)을 고유 식별하는 정보를 포함할 수 있다. 이제 데이터 제공자가 자신을 데이터에 액세스하는데 사용되는 장치의 소유자로 등록하기 위한 사람을 필요로 하는 것도 일반적이다. 장치와 장치의 소유자 사이의 등록 관련성(registered association)은 데이터 제공자에 의해 추가적인 검증 요소(validation factor)로서 이용될 수 있다. 예를 들면, 데이터 제공자가 사람에게 등록된 장치가 아닌 특정 장치로부터 특정 사람을 대신하여 계좌에 대한 액세스를 위한 요청을 수신하는 경우에, 데이터 제공자는 계좌에 등록된 사람에 의해 요청이 행해졌다는 것을 신뢰하도록 판정할 수 있다.
데이터 제공자의 계좌를 가진 다른 사람을 대신하여 데이터 제공자로부터의 데이터에 액세스하기를 원하는 사람이 범죄의 그림자의 온라인 시장(criminal shadow online markets)에서 자신의 사용자 자격 인증서(즉, PII, 사용자 ID 및 암호)를 구입하여 획득한 후에 다른 사람의 데이터에 부정하게 액세스하는 것은 비교적 쉬울 수 있다. 부가적으로, 장치에 원격적으로 액세스하고 제어할 수 있음으로써, 이러한 장치의 등록된 소유자를 대신하여 데이터를 요청할 수 있다. 종종 장치를 물리적으로 소유하고 있는 사용자에 의해 요청이 행해졌는지, 또는 요청이 행해진 장치를 원격적으로 제어하기 위해 다른 장치를 이용하는 사용자에 의해 요청이 원격적으로 행해졌는지를 판정할 수 없다.
일회용 암호(OTP)는 일반적으로 이러한 문제를 완화하기 위해 사용된다: 인증 서버는 OTP 생성 키를 장치의 등록된 소유자에게 고유 할당하고, OTP 생성 키는 OTP를 생성하고 검증하는데 사용하기 위한 것이다. 인증 서버는 일반적으로 각각 서로 다른 사람에 고유 할당되거나 서로 다른 사람에 대하여 등록된 수백 또는 수천의 OTP 생성 키를 보유하고 있다. 인증 서버는 자신의 할당된 OTP 생성 키를 가진 등록된 소유자의 소유인 OTP 토큰을 구성한다. 이러한 OTP 토큰은 예를 들어 새로운 암호가 등록된 사용자에 의해 요청될 때마다 서로 다른 암호를 생성하기 위한 OTP 생성 키를 사용할 수 있거나, 다른 예로서 일정한 시간 간격에서 새로운 암호를 생성하기 위한 OTP 생성 키를 사용할 수 있다. OTP 토큰은 추가적으로 OTP를 생성하고, OTP가 나중에 저장되고 재생되는 것을 방지하기 위해 현재 시간의 표시를 이용할 수 있다.
장치를 통해 사용자가 제한된 데이터에 액세스하기 위해, 사용자는 장치의 소유자를 고유 식별하는 자격 인증서와 함께 데이터 제공자에 OTP 토큰에 의해 생성된 OTP를 제공한다. 일반적으로, 그 후, 데이터 제공자는 장치의 소유자를 식별하고, 수신된 OTP를 인증 서버로 전달한다. 인증 서버는 식별된 사람과 관련된 OTP 생성 키를 검색하고, 이러한 키를 이용하여, 현재 시간을 필요로 하면, 수신된 OTP가 현재 시간에서나 적어도 현재 시간의 미리 정해진 기간 내에서 장치의 소유자에 의해 유지되는 OTP 토큰에 의해 생성된 OTP에 대응하는지를 판정한다. 그 후, 인증 서버는 수신된 OTP가 유효한지를 데이터 제공자에게 나타낸다. 정확한 OTP가 데이터 제공자에게 송신되었다면, 장치의 사용자는 OTP 토큰을 소유하고 있는 것으로 결정될 수 있다. 그러나, 인증 서버는 손상할 정도로 취약하여 다른 엔티티로의 무단 유통(distribution)을 용이하게 하고, 유통된 OTP 생성 키로 (불법적) 액세스하는 모든 사람이 이러한 키와 관련된 사람을 대신하여 데이터에 액세스할 수 있도록 한다.
본 발명의 제 1 양태에 따르면, 데이터에 대한 액세스를 위한 요청을 검증하는데 사용하기 위한 시스템이 제공되며, 이러한 시스템은 제 1의 신뢰할 수 있는 시간의 표시기(first trusted indicator of time)와 통신하도록 구성되는 컴퓨팅 장치에 액세스하며, 시스템은 제 2의 신뢰할 수 있는 시간의 표시기에 액세스하는 제 1 모듈; 및 신뢰할 수 없는 시간의 표시기에 액세스하는 제 2 모듈을 포함하며, 제 1 모듈은 적어도 제 2의 신뢰할 수 있는 시간의 표시기를 이용하여 암호를 생성하도록 배치되고; 제 2 모듈은 데이터에 대한 액세스를 위한 요청과 관련된 암호를 수신하고, 적어도 신뢰할 수 없는 시간의 표시기를 이용하여 수신된 암호를 검증하고, 메시지가 컴퓨팅 장치로 전송되도록 배치되며, 메시지는 수신된 암호를 검증하는데 사용되는 신뢰할 수 없는 시간의 표시기를 나타내는 데이터를 포함하고, 시스템은 컴퓨팅 장치가 신뢰할 수 없는 시간의 표시기와 제 1의 신뢰할 수 있는 시간의 표시기 사이의 비교를 나타내는 데이터를 생성하도록 배치되며, 생성된 데이터는 상기 데이터에 대한 액세스를 제공하는데 사용하기 위한 것이다.
어떤 상황에서, 제 2 모듈은 (외부 요소와 통신하지 않고) 신뢰할 수 있는 시간의 표시기에 액세스할 수 없다. 따라서, 신뢰할 수 없는 시간에 대한 수정은 공격에 이르기까지 시스템을 열 수 있다. 신뢰할 수 없는 시간의 표시기를 이용하여 암호를 검증하고, 그 후에 메시지가 컴퓨팅 장치로 전송되도록 함으로써, 신뢰할 수 없는 시간이 신뢰할 수 있는 시간과 비교되는 경우, 공격에 대한 가능성은 없어진다. 더욱이, 단일의 메시지만이 제 2 모듈로부터 컴퓨팅 장치 또는 시스템으로 전송될 필요가 있을 수 있을 때에 검증을 위한 신호의 량은 감소된다.
일 실시예에서, 시스템은 컴퓨팅 장치가 상기 생성된 데이터에 기초하여 상기 데이터에 대한 액세스를 시스템에 선택적으로 제공하도록 배치된다. 본 실시예에서, 그것은 요청된 데이터에 대한 액세스를 용이하게 하는 컴퓨팅 장치이다.
이점으로, 컴퓨팅 장치로 송신된 메시지는 제 2 모듈에 의해 적어도 신뢰할 수 없는 시간의 표시기를 사용하여 수신된 암호의 검증을 나타내는 데이터를 포함할 수 있다.
일 배치에서, 제 1 및 제 2 모듈은 여기에 고유 할당된 비밀을 공유하며, 제 1 모듈은 암호를 생성하기 위해 비밀을 사용하도록 배치되고, 제 2 모듈은 수신된 암호를 검증하기 위해 비밀을 사용하도록 배치된다. 공유된 비밀은 제 1 모듈의 보안 요소에 저장될 수 있다. 대안적으로 또는 추가적으로, 비밀은 제 2 모듈의 보안 요소에 저장될 수 있다. 다른 실시예에서, 제 1 및 제 2 모듈은 암호를 생성하고 검증할 시에 사용하기 위한 비밀을 공유하지 않는다.
일 배치에서, 제 1 모듈은 클록을 포함하는 변조 방지(tamper-resistant) 하드웨어를 포함하며, 클록은 제 2의 신뢰할 수 있는 시간의 표시기를 제공하도록 배치된다.
일부 배치에서, 제 2 모듈은 클록을 갖는 장치에 통신 가능하게 접속될 수 있고, 클록은 신뢰할 수 있는 시간의 표시기를 제공하도록 배치된다.
이점으로, 일 배치에서, 시스템은 컴퓨팅 장치가 생성된 데이터를 포함하는 메시지를 추가의 컴퓨팅 장치로 송신하도록 하여, 상기 데이터에 대한 액세스를 시스템에 제공하도록 하기 위해 배치될 수 있으며, 추가의 컴퓨팅 장치는 생성된 데이터를 수신할 경우에 상기 데이터에 대한 액세스를 제공하도록 배치될 수 있다.
대안적으로, 요청된 데이터가 컴퓨팅 장치에 저장되거나 컴퓨팅 장치에 의해 생성되는 배치에서, 시스템은 컴퓨팅 장치가 생성된 데이터에 기초하여 상기 데이터에 대한 액세스를 제공하도록 배치될 수 있다.
일부 배치에서, 제 1 모듈은 제 1 모듈의 인터페이스를 통해 제 2 모듈 또는 컴퓨팅 장치에 의해 생성된 질의(challenge) 코드를 수신하여 적어도 질의 코드를 이용하여 암호를 생성하도록 배치될 수 있다.
일부 배치에서, 제 1 모듈은 복수의 암호 중 다른 암호와 상이한 복수의 암호 중 적어도 하나의 암호를 생성하고, 생성된 암호 중 적어도 하나를 제 1 모듈의 인터페이스를 통해 사용자에게 제공하도록 배치될 수 있다.
이점으로, 제 2 모듈 및 컴퓨팅 장치는 그 사이의 통신에 사용하기 위한 추가의 비밀을 공유할 수 있다.
일 배치에서, 제 2 모듈은 상기 수신된 암호를 저장하고, 상기 수신된 암호를 임의의 이전에 저장된 수신된 암호와 비교하여 수신된 암호를 검증하도록 배치될 수 있다.
본 발명의 대안적인 실시예에서, 제 2 모듈은 컴퓨팅 장치로부터 상기 생성된 데이터를 수신하고, 상기 데이터에 대한 액세스를 제공하기 위해 상기 수신된 데이터를 사용하도록 배치될 수 있다. 본 실시예에서 시스템이 컴퓨팅 장치보다는 요청된 데이터에 대한 액세스를 용이하게 하는 제 2 모듈이라는 점에서 본 실시예는 컴퓨터 장치가 상기 생성된 데이터에 기초하여 상기 데이터에 대한 액세스를 시스템에 선택적으로 제공하도록 배치되는 실시예와는 대조적일 수 있다.
일부 배치에서, 제 1 및 제 2 모듈은 통신이 단절될 수 있다. 이것은 제 1 모듈에 의해 생성된 암호가 제 2 모듈을 통해 원격적으로 액세스될 수 없는 이점을 갖는다. 따라서, 사용자가 제 1 모듈에 의해 생성된 암호를 제 2 모듈에 정확하게 입력할 수 있도록 하기 위해, 사용자는 제 1 모듈을 소유해야 한다. 따라서, 이러한 배치에서, 사용자는 제 1 모듈을 소유하는지가 판정될 수 있다. 이것은 예를 들어 제 1 모듈의 사용자가 인간 사용자인지를 판정할 시에 유용할 수 있다.
일부 배치에서, 컴퓨팅 장치로부터 수신된 상기 데이터는 신뢰할 수 없는 시간의 표시기가 제 1의 신뢰할 수 있는 시간의 표시기의 미리 정해진 범위 내에 있는지를 나타내는 데이터를 포함한다.
일부 배치에서, 요청된 데이터는 제 2 모듈에 의해 유지될 수 있고, 제 2 모듈은 상기 요청된 데이터에 대한 액세스를 제공할지를 판정하기 위해 컴퓨팅 장치로부터 수신된 상기 데이터를 사용하도록 구성될 수 있다.
제 2의 신뢰할 수 있는 시간의 표시기는 제 1 모듈의 클록일 수 있고, 제 1의 신뢰할 수 있는 시간의 표시기는 제 1 모듈의 클록과 동기화되는 클록일 수 있다.
이점으로, 컴퓨팅 장치 및 제 2 모듈은 그 사이로 송신된 데이터를 서명할 시에 사용하기 위한 암호화 키로 미리 구성될 수 있고, 제 2 모듈은 컴퓨팅 장치로 전송된 상기 메시지를 서명하고, 컴퓨팅 장치로부터 수신된 상기 데이터가 상기 암호화 키를 이용하여 컴퓨팅 장치에 의해 서명되는 것을 검증하도록 배치될 수 있다.
일부 배치에서, 제 2 모듈은 상기 수신된 암호를 저장하고, 상기 수신된 암호를 임의의 이전에 저장된 수신된 암호와 비교하여 수신된 암호를 검증하도록 배치될 수 있다.
본 발명의 제 2 양태에 따르면, 시스템에 의해 제 1의 신뢰할 수 있는 시간의 표시기와 통신하도록 구성되는 컴퓨팅 장치를 이용하여 데이터에 대한 액세스를 위한 요청을 검증하는 방법이 제공되며, 이러한 방법은 제 1 모듈에서 적어도 제 2의 신뢰할 수 있는 시간의 표시기를 이용하여 암호를 생성하는 단계; 제 2 모듈에서 데이터에 대한 액세스를 위한 요청과 관련된 암호를 수신하는 단계; 제 2 모듈에서 적어도 신뢰할 수 없는 시간의 표시기를 이용하여 수신된 암호를 검증하는 단계; 및 메시지가 컴퓨팅 장치로 전송되도록 하는 단계로서, 메시지는 수신된 암호를 검증하는데 사용되는 신뢰할 수 없는 시간의 표시기를 나타내는 데이터를 포함하는 단계를 포함하며, 시스템은 컴퓨팅 장치가 신뢰할 수 없는 시간의 표시기와 제 1의 신뢰할 수 있는 시간의 표시기 사이의 비교를 나타내는 데이터를 생성하도록 하며, 생성된 데이터는 상기 데이터에 대한 액세스를 제공하는데 사용하기 위한 것이며, 시스템은 제 1 모듈 및 제 2 모듈을 포함한다.
본 발명의 추가의 특징 및 이점은 예로서만 주어지고, 첨부된 도면을 참조하여 이루어지는 본 발명의 바람직한 실시예에 대한 다음의 설명으로부터 명백해질 것이다.
도 1은 본 발명의 실시예에 따른 시스템의 블록도를 도시한다.
도 2는 본 발명의 실시예에 따른 방법을 개략적으로 도시한다.
도 3은 본 발명의 추가의 실시예에 따른 방법을 개략적으로 도시한다.
본 발명의 실시예는 요청된 데이터, 자산 또는 서비스에 대한 액세스를 가능하게 하는지를 판정하는 것과 관련된다. 도 1은 본 발명의 실시예에 따른 시스템(10)의 블록도를 도시한다. 시스템(10)은 제 1 모듈(20) 및 제 2 모듈(30)을 포함한다. 제 1 모듈(20)은 암호를 생성하도록 배치되고, 제 2 모듈(30)은 시스템(10)의 사용자로부터 암호를 수신하고, 수신된 암호를 검증하도록 배치된다. 도 1에 도시된 실시예에서, 점선(15)으로 나타낸 바와 같이, 제 1 모듈(20)은 제 2 모듈(30)과 통신이 단절된다. 다시 말하면, 시스템(10)은 두 모듈(20 및 30) 사이에 (인간 사용자를 통하는 것을 제외하고) 통신하는 수단이 없도록 구성된다. 특정한 일 실시예에서, 모듈(20 및 30)이 서로 물리적으로 분리됨으로써 두 모듈(20 및 30) 사이의 통신은 방지된다. 그러나, 두 모듈(20 및 30)은 예를 들어 이들이 임의의 공통 회로 또는 시스템 인터페이스를 공유하지 않거나 서로 정보를 교환하는 임의의 다른 수단을 포함하지 않는 경우에 물리적으로 접속(즉 통합)되지만, 통신이 단절되는 것으로 이해된다.
대안적인 실시예에서, 제 1 및 제 2 모듈(20,30)은 통신이 접속될 수 있다.
제 1 모듈(20)은 사용자 인터페이스일 수 있는 인터페이스(21)를 포함한다. 인터페이스(21)는 적어도 하나의 입력 및/또는 출력을 포함할 수 있다. 장치의 사용자 인터페이스의 입력은 예를 들어 버튼, 키보드, 숫자 패드, 마우스, 터치 스크린, 마이크로폰 또는 사용자가 입력을 장치에 제공하도록 하는 임의의 다른 구성 요소일 수 있다. 장치의 사용자 인터페이스의 출력은 예를 들어 스크린, 스피커, 점자 코더(Braille coder), 또는 장치로부터의 정보를 인터페이스(21)의 사용자로 출력할 수 있는 임의의 다른 구성 요소일 수 있다.
제 1 모듈(20)은 또한 보안 요소(22)를 포함할 수 있다. 아래에 보다 상세히 설명되는 바와 같이, 일부 실시예에서, 보안 요소(22)는 제 1 및 제 2 모듈에 할당되는 비밀을 저장할 수 있다. 보안 요소(22)는 또한 신뢰할 수 있는 시간의 표시기(이하, "제 2의 신뢰할 수 있는 시간의 표시기"로 지칭됨)를 제공할 수 있는 클록(23)을 포함할 수 있다. 보안 요소(22)는 변조 방지(tamper-proof)될 수 있으며; 즉 보안 요소(22)는 제 2의 신뢰할 수 있는 시간의 표시기가 변경될 수 없도록 구성될 수 있으며, 따라서 제 2의 신뢰할 수 있는 시간의 표시기는 신뢰할 수 있다. 마찬가지로, 변조 방지는 저장된 비밀이 판독될 수 없으며, 따라서 제 1 모듈(20)의 협력 없이 사용될 수 없음을 의미한다.
제 2 모듈(30)은 장치(35)의 일부로서 도시된다. 장치(35)는 사용자 인터페이스일 수 있고, 인터페이스(21)를 참조하여 상술한 특징 중 어느 하나 또는 모두를 포함할 수 있는 인터페이스(31)를 포함할 수 있다. 게다가, 장치는 시간의 표시를 제공할 수 있는 클록을 포함한다. 제 2 모듈(30)은 장치의 인터페이스(31) 및 클록(33)과 통신할 수 있고, 이와 같이 사용자와 통신할 수 있으며, 특히 사용자에 의해 제공된 암호를 수신할 수 있고, 클록(33)으로부터 시간의 표시를 액세스할 수 있다.
제 2 모듈(30) 자체는 보안 요소(32)를 포함할 수 있다. 일부 실시예에서, 보안 요소(22)처럼, 보안 요소(32)는 제 1 및 제 2 모듈에 할당된 비밀을 저장할 수 있다. 일부 실시예에서, 제 2 모듈 및/또는 보안 요소(32)는 장치(35)로부터 제거 가능하다. 장치(35)의 클록(33)이 보안 요소(32)의 일부가 아닌 경우, 클록(33)에 의해 제공되는 시간의 표시기는 그것이 사용자 또는 다른 당사자(예를 들어 원격 상대방)에 의해 변경될 수 있을 때 신뢰할 수 없다.
제 2 모듈은 적어도 하나의 추가의 컴퓨팅 장치 또는 시스템, 예를 들어, 하나 또는 둘의 컴퓨팅 장치(50 및 60)에 통신 가능하게 접속된다. 이러한 컴퓨팅 장치는 네트워크를 통해 장치(35)에 접속된 서버일 수 있다. 대안적으로, 컴퓨팅 장치는 장치(35)가 예를 들어 접속부(51 및 61)를 통해 접속되는 데스크톱 컴퓨터와 같은 컴퓨터의 다른 형태일 수 있다. 컴퓨팅 장치는 분산형 시스템, 즉 클라우드 컴퓨팅 시스템 등일 수 있다. 컴퓨팅 장치(50 및 60)는 접속부(52)를 통해 접속될 수 있다. 아래에 더욱 상세히 설명되는 바와 같이, 컴퓨팅 장치(50)는 또한 제 1의 신뢰할 수 있는 시간의 표시기를 제공할 수 있는 클록(53)을 포함한다. 제 2 모듈(30)은 컴퓨팅 장치(50)와 짝을 이룰 수 있다. 예를 들면, 제 2 모듈(30)은 암호화 키가 제 2 모듈(30)과 컴퓨팅 장치(50) 사이의 보안 통신에 사용하기 위해 이들 모두에 할당되는 구성 프로세스 동안에 컴퓨팅 장치(50)와 짝을 이룰 수 있다.
상술한 바와 같이, 본 실시예에서, 제 1 및 제 2 통신 모듈은 통신 단절된다. 따라서, 사용 시에, 제 1 모듈(20)의 인터페이스(21)는 생성된 암호를 블록(40)으로 도시된 사용자에게 제공하도록 구성되고, 제 2 모듈(30)에 의해 액세스 가능한 인터페이스(31)는 사용자(40)로부터 암호를 수신하도록 구성된다.
일부 실시예에서, 제 1 모듈(20) 및 제 2 모듈(30)은 총체적으로 데이터에 대한 액세스를 위한 요청이 제 2 모듈(30)을 물리적으로 소유한 사용자로부터 유래될 가능성이 있는지를 판정하도록 구성되는 별도의 장치일 수 있다. 일례로서, 2개의 모듈(20 및 30)은 함께 제조되고 판매될 수 있고, 특정 사람에게 소유될 수 있다. 일례에서, 장치(35)는 이동 전화 또는 은행 카드 판독기와 같은 통신 장치일 수 있다. 이와 같이, 제 2 모듈은 SIM 카드, 또는 장치(35)에 삽입될 수 있는 은행 카드일 수 있다. 대안적인 실시예에서, 제 1 및 제 2 모듈(20 및 30)은 단일 장치의 구성 요소일 수 있다.
제 2 모듈(30)은 장치(35)의 인터페이스(31)를 통해 제 2 모듈(30)을 소유하고 있는 사용자의 제어 하에 동작할 수 있다. 그러나, 제 2 모듈(30)은 또한 제 2 모듈(30)에 대한 통신 링크를 갖는 원격 엔티티의 제어 하에 동작할 수 있다. 본 실시예에서, 아래에서 더욱 상세히 설명되는 바와 같이, 제 1 모듈(20)이 제 2 모듈(30)에서 통신이 단절되는 경우, 제 2 모듈(31)의 인터페이스(31)를 통해 제어될 수 없고, 원격 통신 링크에 의해서도 제어될 수 없다.
장치(35)는 특정 사람과 관련된 기밀 데이터를 저장할 수 있다. 특정 예로서, 제 2 모듈(30)은 데이터를 해독하기 위한 사용자가 제한된 암호화 키를 저장할 수 있다. 추가적으로 또는 대안적으로, 제 2 모듈(30)은 예를 들어 컴퓨팅 장치(50 및 60) 중 하나 또는 둘 다에서 제 3 자에 의해 외부에 저장되는 기밀 데이터에 대한 액세스를 제공하거나 용이하게 할 수 있다, 이러한 후자의 경우에, 제 3 자는 데이터가 특정 사람, 즉 제 1 및 제 2 모듈(20 및 30)을 물리적으로 소유한 사람)에 제공되는 것(다시 말하면, 데이터는 사용자가 제한될 수 있는 것)으로 결정될 경우에만 데이터에 대한 액세스를 허용할 수 있다. 제 3 자가 특정 장치를 통해 사용자가 제한된 데이터에 대한 액세스를 승인하기 전에, 제 3 자는 장치의 소유자가 장치와 소유자 사이의 관련성을 등록하는 것을 필요로 할 수 있다. 그 후, 이 경우에, 제 3 자는 특정 사람에 의해 수신되도록 의도되는 데이터를 특정 사람과 관련되는 장치로만 송신할 수 있다. 추가의 실시예에서, 제 3 자는 기밀 정보 및/또는 지불 데이터에 액세스하여, 그렇게 할 명령어가 제 2 모듈(30)을 통해 수신될 경우에 이를 제 4 자에게 송신하는 것과 같은 동작을 취할 수 있다. 예를 들면, 컴퓨팅 장치(50)는 기밀 정보를 컴퓨팅 장치(60)로 송신할 수 있다. 이와 같이, 본 예에서, 제 2 모듈(30)은 특정 사람과 함께 등록된 관련성을 가질 수 있고, 따라서, 제 2 모듈(30)은 특정 사람, 즉 요청을 하는 계좌 보유자임을 식별하는데 사용될 수 있다.
제 2 모듈(30)이 통신 모듈을 포함할 경우, 권한이 없는 사람은 제 2 모듈(30)에 접속하여, 요청을 제 3 자에게 송신하기 위해 제 2 모듈(30)을 원격적으로 제어할 수 있다는 것을 이해할 것이다. 제 2 모듈(30)은 데이터에 대한 액세스를 위한 요청이 제 2 모듈(30)을 소유한 사용자에 의해서나 제 2 모듈(30)로부터의 원격 사용자에 의해 행해졌는지를 판정할 수 있을 경우, 적절한 응답 동작을 취할 수 있고, 예를 들어, 요청이 원격 사용자에 의해 행해졌다는 결정을 할 시에 제 2 모듈(30)의 추가의 사용을 허용하지 않을 수 있다.
이제 설명되는 바와 같이, 실시예는 이와 같은 판정을 행하는 수단을 제공한다. 제 1 모듈(20)은 클록(23)으로부터 신뢰할 수 있는 시간의 표시기(즉 상술한 제 2의 신뢰할 수 있는 시간의 표시기)에 기초하여 암호를 생성하도록 구성되는 회로 및/또는 소프트웨어를 포함한다. 이러한 회로 및/또는 소프트웨어는 적어도 부분적으로 보안 요소(23) 내에 포함될 수 있다.
상술한 바와 같이, 일 실시예에서, 제 1 및 제 2 모듈(20,30)은 암호를 생성하고 검증할 시에 사용하기 위한 공유 비밀로 구성될 수 있다. 본 실시예에서, 제 1 모듈(20)은 또한 공유 비밀에 기초하여 암호를 생성하도록 배치될 수 있다. 일 실시예에서, 비밀은 제 1 및 제 2 모듈(20,30)에 고유 할당될 수 있다.
제 1 및 제 2 모듈(20,30)에 할당되는 비밀은 OTP 생성 키일 수 있으며, 따라서 제 1 모듈(20)에 의해 생성되는 암호는 일회용 암호(OTP)이다. 본 실시예에서, 제 1 모듈(20)에 의해 생성된 후속 암호는 이전에 생성된 암호와 상이하고, 각각의 생성된 암호는 하나의 인증 시도에 대해서만 유효하다. 특정한 일 배치에서, 생성된 OTP는 시간 의존적이고, 미리 정해진 기간 동안 유효하다. 대안적인 배치에서, 제 1 모듈(20)은 이전에 생성된 암호 및 OTP 생성 키를 사용한 제 2의 신뢰할 수 있는 시간의 표시기에 따라 암호를 생성할 수 있다.
OTP는 제 1 모듈(20) 및 OTP 생성 키(즉, 비밀)의 클록(23)에 의해 제공되는 제 2의 신뢰할 수 있는 시간의 표시에 따라 제 1 모듈(20)에 의해 생성된다. OTP는 OTP 생성 키 및 현재 시간의 암호화 함수일 수 있다. 제 1 모듈(20) 및 제 2 모듈(30)이 단일 장치의 복합 부품인 경우에, OTP는 추가적으로 장치와 고유 관련된 장치 ID에 따라 생성될 수 있다. 이러한 장치 ID는 예를 들어 장치의 CPU ID의 해시 함수, 장치의 GPU ID의 해시 함수, 또는 이의 조합일 수 있다. 이 경우에, OTP는 OTP 생성 키, 장치 ID 및 제 2의 신뢰할 수 있는 시간의 표시기의 암호화 함수일 수 있다. 제 2의 신뢰할 수 있는 시간의 표시기의 값은 본 명세서에서 "생성 시간" TG로서 알려질 것이며, 제 1 모듈(20)의 클록(23)에 대해 측정된 것으로 이해될 것이다. 이 경우에, 생성된 특정 OTP만이 생성 시간 TG의 미리 정해진 기간 내에 사용되는 경우 데이터에 대한 액세스를 위한 요청을 검증하는데 사용될 수 있다. 이러한 경우, 생성된 OTP는 시간 TRU가 제 1 모듈(20)에서 암호를 생성하기 위해 사용되는 생성 시간 TG에 선행하거나 후행하는 미리 정해진 기간 내에 있는지 검증될 수 있으며, 여기서 TRU는 두 시간의 표시기 사이의 시간 드리프트 때문에 TG를 선행할 수 있다.
이름(name)에도 불구하고, OTP를 재사용할 수 있는 기회가 낮지만 유한한 기회가 있는 것으로 이해될 수 있을 것이다. 그럼에도 불구하고, 이전에 생성된 암호가 나중에 유효할 기회는 효과적으로 랜덤 암호 작업(random password working)의 기회와 동일하며, 이와 같이, 본 문서의 목적을 위해, 주어진 암호만이 모듈의 수명 동안 한번 유효하며, 따라서 OTP인 것으로 추정된다. 게다가, OTP가 유효한 미리 정해진 기간 내에 두 번 사용된다면, 그것은 거부되고, 이것은 암호의 재사용을 방지한다.
제 2 모듈(30)은 또한, 클록(23)으로부터 신뢰할 수 없는 시간의 표시기(및 제 2 모듈(30)이 그렇게 구성될 경우에 선택적으로 또한 공유 비밀)에 기초하여, 제 2 모듈(30)의 사용자(40)로부터 수신된 암호가 클록(33)으로부터 신뢰할 수 없는 시간의 표시기에 의해 나타낸 바와 같이 그때에 제 1 모듈(20)에 의해 생성된 암호와 일치하는지를 판정하도록 구성되는 회로 및/또는 소프트웨어를 포함한다. 다시 말하면, 이러한 회로 및/또는 소프트웨어의 적어도 일부는 보안 요소(32) 내에 포함될 수 있다.
도 1에 도시된 특정 실시예에서, 비밀은 제 1 및 제 2 모듈(20 및 30)에 고유 할당된다. 다시 말하면, 비밀은 제 1 및 제 2 모듈(20 및 30)과만 관련될 수 있다. 그러나, 이것은 필수적인 요구 사항이 아니다. 실시예에서, 제 1 및 제 2 모듈(20 및 30)의 보안 요소(22 및 32)는 변조 방지(tamper-resistant)되고, 즉 보안 요소(23 및 33) 내에 저장된 암호를 생성하는데 사용된 비밀 및 알고리즘은 변경될 수 없다.
상술한 바와 같이, 제 1 장치(20)에 의해 생성된 암호는 적절한 알고리즘 및 시간의 표시를 이용하여 생성되며, 따라서 OTP이다. 시간의 표시기(즉, 상술한 제 2의 신뢰할 수 있는 시간의 표시기)는 예를 들어 정수일 수 있으며, 정수는 (매 30 초 또는 매분마다와 같은) 미리 정해진 주파수에서 증가한다. 정수는 과거에는 알려진 시점에 대응하는 제로 값을 가질 수 있고, 정수가 롤 오버(roll over)하지 않는 장치의 수명에 걸쳐 정수를 저장한 레지스터의 최대값에 도달하지 않고, 따라서 제로로 복귀하도록 배치될 수 있다. 이것은 제 2의 신뢰할 수 있는 시간의 표시기가 반복되지 않는 고유 값을 가지며, 따라서 제 2의 신뢰할 수 있는 표시기를 사용하여 생성된 임의의 암호는 반복되지 않을 것임을 보장한다. 상술한 것에도 불구하고, 임의의 다른 신뢰할 수 있는 시간의 표시기가 대신에 사용될 수 있다는 것이 명백할 것이다. 제 2의 신뢰할 수 있는 시간의 표시기는 보안 요소(23) 내에 포함된 클록에 의해 생성될 수 있다.
도 2는 본 실시예에 따른 예시적인 방법을 개략적으로 도시한다. 이러한 방법에서, 화살표(74)로 나타낸 바와 같이 사용자(40)는 데이터에 대한 액세스를 위한 요청을 한다. 데이터에 대한 액세스를 위한 요청은 예를 들어 제한된 웹페이지에 대한 액세스를 위한 요청, 기밀 정보에 대한 액세스를 위한 요청, 또는 서비스에 대한 액세스를 가능하게 할 시에 사용하기 위한 데이터에 대한 액세스를 위한 요청일 수 있다. 요청은 장치(35)에서 행해질 수 있고, 따라서 제 2 모듈(30)을 통해, 대안적으로 요청은 사용자에 의해 컴퓨팅 장치(50 및 60) 중 어느 하나에 대해 행해질 수 있다. 일반적으로, 사용자(40)가 액세스하기를 원하는 데이터는 시스템(10)의 임의의 구성 요소에 저장되거나 이러한 구성 요소에 의해 생성되는 데이터일 수 있거나, 시스템(10)의 외부에 있는 엔티티(예를 들어 외부 데이터베이스 또는 서버)에 저장되거나 이러한 엔티티에 의해 생성되는 데이터일 수 있다. 제 2 모듈(30)의 사용자(35)가 액세스하기를 원하는 데이터는 예를 들어 시스템(10)의 외부에 있는 서버상에 호스팅되는 제한된 웹페이지일 수 있고, 이 경우에, 웹페이지에 대한 액세스는 데이터를 제 2 모듈(30)로 송신하는 서버에 의해 가능하게 될 수 있다. 제 2 모듈(30)에 의해 송신된 데이터에 포함되는 정보는 아래에서 더욱 상세히 설명될 것이다.
단계(74)에서 데이터에 대한 액세스를 위한 요청에 응답하여, 단계(76)에서 제 2 모듈(30)은 사용자(40)가 제 1 모듈(20)에 의해 생성된 암호를 입력하도록 할 수 있다. 그 후, 단계(78)에서 사용자는 예를 들어 제 1 모듈의 인터페이스(21)의 버튼을 누르거나 암호가 필요한 제 1 모듈(20)에 나타냄으로써 제 1 모듈(20)이 암호를 생성하도록 할 수 있다.
단계(80)에서, 제 1 모듈(20)은 제 1 및 제 2 모듈(20 및 30) 뿐만 아니라, 클록(33)에 의해 제공되는 제 2의 신뢰할 수 있는 시간의 표시에 고유 할당되는 비밀을 사용하여, 단계(82)에서 사용자(40)에게 제공되는 암호를 생성한다. 생성된 암호는 예를 들어 일련 번호, 일련의 문자, 문자의 조합, 숫자 및 다른 문자 또는 이미지일 수 있고, 예를 들어 인터페이스(21)의 화면상에서 사용자(40)에게 제시될 수 있다.
대안적으로, 제 1 모듈(20)은 일정한 시간 간격에서 (공유 비밀 및 제 2의 신뢰할 수 있는 시간의 표시기에 따라) 암호를 생성할 수 있고, 제 1 모듈(20)의 인터페이스(21)에서 가장 최근에 생성된 암호를 자동으로 제공할 수 있다. 이러한 상황에서, 단계(78)는 제 1 모듈(20)이 요청 없이 암호를 제공할 경우에는 필요치 않다.
어떤 경우에도, 그 후 사용자(40)는 단계(84)에서 제 1 모듈(20)에 의해 생성된 암호를 제 2 모듈(30)에 제공할 수 있다. 이것은 암호를 장치(35)의 인터페이스(31)에 입력하는 사용자에 의해 행해질 수 있고, 이러한 인터페이스(31)를 통해 암호가 제 2 모듈(30)에 제공된다. 그 후, 단계(86)에서, 제 2 모듈(30)은 제 1 및 제 2 모듈(20 및 30)에 고유 할당되는 비밀, 및 장치(35)의 클록(33)으로부터의 신뢰할 수 없는 시간의 표시기를 이용하여, 사용자(40)로부터 수신된 암호가 제 1 모듈(20)에 의해 생성된 암호와 동일한지를 검증한다.
제 1 모듈(20)에 의해 생성되는 암호가 제 2 모듈(30)에 입력되는 경우, 암호는 제 1 모듈(20)로부터 이전에 검색되었어야 하는 것으로 이해될 것이다, 본 실시예에서, 제 1 모듈(20)이 제 2 모듈(30)과 통신이 단절되는 경우에, 사용자(40)는 제 1 모듈(20)뿐만 아니라 제 2 모듈(30)을 소유하거나 적어도 이에 액세스하는 인간이고, 따라서 제 1 모듈(20)로부터 암호를 검색하여, 그것을 수동으로 제 2 모듈(30)에 제공할 수 있을 가능성이 높다.
상술한 바와 같이, 제 1 모듈(20) 및 제 2 모듈(30)은 각각 비밀이 저장되는 각각의 보안 요소(22 및 32)를 포함할 수 있다. 비밀은 제 1 및 제 2 모듈(20 및 30)에 고유 할당되고, 보안 요소(22 및 32)에 저장될 수 있다. 다시 말하면, 제 1 및 제 2 모듈(20 및 30)에 고유 할당되는 비밀은 사용자(40)와 같은 사용자, 및 제 1 및 제 2 모듈(20 및 30)에 액세스할 수 있는 동등한 임의의 다른 당사자에 의해 액세스될 수 없는 제 1 및 제 2 모듈(20 및 30)의 부분에 저장된다.
이 경우에, 비밀은 제조 시에 제 1 및 제 2 모듈(20 및 30)의 보안 요소(22 및 32)에 제공될 수 있다. 일 실시예에서, 보안 요소(22 및 32)는 모듈(20 및 30)의 다른 구성 요소에 대해 개별적으로 제조되며, 따라서, 모듈(20 및 30) 사이의 관련성 및 보안 요소(22 및 32) 상에 저장된 비밀은 시스템(10)의 외부에 있는 임의의 엔티티에 의해 알려지지 않을 수 있다. 비밀을 보안 요소(22 및 32) 내에 저장하는 것은 모듈(20 및 30) 중 어느 하나에 액세스하는 임의의 사용자가 비밀을 발견하여, 요청된 데이터를 액세스하기 위해 제 2 모듈(30)에 입력될 필요가 있는 암호를 알아내는 것을 방지한다. 그것은 또한 제 1 모듈(20) 또는 제 2 모듈(30)이 거짓 응답을 생성하도록 할 수 있는 암호를 생성하기 위한 알고리즘을 임의의 사용자가 변경하는 것을 방지한다. 예를 들면, 제 2 모듈에 대한 알고리즘은 임의의 입력을 유효한 것으로 수용하도록 변경될 수 있다.
본 실시예의 하나의 특정한 이점은 암호를 생성하고 검증하기 위한 비밀이 제 1 및 제 2 모듈(20 및 30)에 고유 할당된다는 사실로부터 발생한다. 보다 구체적으로는, 비밀과, 암호를 검증하기 위해 비밀을 사용하는 모듈(30) 사이의 일대일 매핑, 및 또한 비밀과, 암호를 생성하기 위해 비밀을 사용하는 모듈(20) 사이의 일대일 매핑이 존재하기 때문에, 그 후 비밀이 손상되는 경우, 모듈(20 및 30)은 (다시 모듈(20 및 30)에 고유 할당되는) 새로운 비밀로만 재구성될 필요가 있다. 이것은 예를 들어 모듈(20 및 30)의 보안 요소(22 및 32)를 새로운 비밀을 저장한 새로운 보안 요소로 대체함으로써 달성될 수 있다. 대안적으로, 모듈이 전화 SIM(제 2 모듈(30)) 및 관련된 암호 생성기 모듈(제 1 모듈(20))과 같은 비교적 저가의 아이템인 경우에, 두 모듈은 대체될 수 있다.
이것은 주어진 OTP 키가 한 쌍의 모듈(20 및 30)보다는 특정 사용자에 고유 관련된 배경 기술 부분에서 설명된 공지된 OTP 시스템과는 대조적이다. 이러한 공지된 시스템에서, OTP 키와, 암호를 생성하기 위해 OTP 키를 사용하는 장치 사이의 일대다 관계가 존재할 수 있다. 그렇다면, OTP 키가 손상되는 경우, 데이터는 OTP 키를 사용하는 임의의 장치를 통해 해당 사용자를 대신하여 액세스될 수 있다. OTP 키가 통상적으로 다수의 OTP 토큰 및 또한 인증 서버에 모두 저장될 경우, 인증 서버가 새로운 OTP 생성 키를 해당 사용자에 재할당하고, 새로운 OTP 생성 키로 OTP 토큰의 새로운 세트를 구성하는데 모두 필요로 될 때 새로운 OTP 키를 확립하는 것은 인증 서버에 상당히 부담이 될 수 있다.
제 2 모듈(30)은 클록(33) 및 OTP 생성 키(즉 공유 비밀)로부터의 신뢰할 수 없는 시간의 표시기를 이용하여, 암호가 제 2 모듈(30)에 의해 수신된 시간으로부터 미리 정해진 시간 내의 시간에서 암호가 제 1 모듈(20)에 의해 생성된 암호와 동일한지를 판정한다. 암호가 제 2 모듈(30)에 의해 수신된 신뢰할 수 없는 시간의 표시기의 값은 본 명세서에서 "신뢰할 수 없는 수신 시간" TRU로서 알려질 것이다.
수신된 암호를 검증하기 위해 제 2 모듈(30)에 의해 이용되는 방법은 암호를 생성하기 위해 제 1 모듈(20)에 의해 이용된 방법에 의존할 것이다. 이러한 많은 방법은 이미 공지되어 있고, 특정 방법은 본 발명의 범위를 벗어나는 것으로 간주된다.
제 2 모듈(30)은 수신된 암호가 수신 시간 TRU의 미리 정해진 기간 내에 있는 시간 TG에서 제 1 모듈(20)에 의해 생성된 OTP와 일치하는 것으로 결정하면, 제 2 모듈(30)은 수신된 암호를 검증한다.
그러나, 이러한 암호는 초기에 제 1 모듈(20)에 의해 생성되어 제 2 모듈(30)에 재생될 수 있다. 이것은 장치(35)가 손상된 경우에 발생할 수 있으며, 따라서 인터페이스(31)를 통해 입력된 암호는 인터셉트될 수 있다. 상술한 바와 같이, 이러한 암호는 시간의 표시를 이용하여 생성된 일회용 암호(OTP)이다. 따라서, 제 1 모듈(20)에 의해 생성되는 암호와 제 2 모듈(30)에 의해 수신되는 암호 사이의 시간 지연은 통상적으로 OTP가 더 이상 유효하지 않을 정도로 충분히 길다.
그럼에도 불구하고, 제 2 모듈(30)만이 신뢰할 수 없는 시간의 표시기에 액세스할 수 있다. 이것은 통상적으로 시간의 표시기가 장치(35)의 클록(33)에 의해 제공되기 때문이다. 이와 같이, 클록은 장치의 원격 액세스를 통해 장치(35)를 변조시키거나, 상당히 합법적으로 사용자 환경 설정(user preference)을 통해 클록(33)을 간단히 설정하여 조정되었을 수 있다. 이것은 신뢰할 수 없는 시간의 표시기가 암호가 제 1 모듈(20)에 의해 생성된 시간에 대응하며, 따라서 상대방에 의해 초기에 인터셉트된 암호에 대응하는 시간에 대응하도록 조정될 수 있다는 것을 의미한다. 결과적으로, 이것은 제 2 모듈이 재생된 암호가 유효한 것으로 잘못 결정하도록 할 수 있다.
제 2 모듈(30)은 안전하고 신뢰할 수 있는 시간을 제 2 모듈(30) 또는 이의 보안 요소(32)에 제공하는 것이 비실용적이기 때문에 신뢰할 수 없는 시간에만 액세스할 수 있다. 예를 들면, 보안 요소가 SIM 또는 은행 카드인 경우, 전력은 제 2 모듈(30)로부터 제거될 수 있고, 이와 같이 모듈 상에서 실행하는 임의의 클록은 시간을 낭비할 수 있다. 이것은 제 2 모듈(30)을 장치(35)의 클록(33)에 의존하게 하며, 이는 상술한 바와 같이 신뢰할 수 없다.
이와 같이, 제 2 모듈(30)이 신뢰할 수 없는 시간의 표시기 TRU를 사용하여 수신된 암호를 검증하면, 제 2 모듈(30)은 단계(88)에서 메시지를 컴퓨팅 장치(50)로 송신한다. 이러한 메시지는 수신된 암호(즉 신뢰할 수 없는 타임 스탬프 TRU)를 검증하는데 사용되는 시간의 표시기를 나타내는 데이터를 포함한다. 메시지는 또한 제 2 모듈(30)에 의해 (신뢰할 수 없는 시간을 사용하여) 수신된 암호의 검증을 나타내는 데이터를 포함할 수 있다.
상술한 바와 같이, 컴퓨팅 장치(50)는 예를 들어 클록(53)을 통해 제 1의 신뢰할 수 있는 시간의 표시기에 액세스할 있다. 이러한 클록(53)은 제 1 모듈(20)의 클록(23)과 동기화될 수 있다. 여기서, 동기화된다는 것은 컴퓨팅 장치(50)가 제 1 모듈(20)에 의해 암호를 생성하는데 사용되는 시간 TG으로부터 (클록 사이의 드리프트를 허용하기 위해) 미리 정해진 범위 내에 있는 시간의 표시기 T'G에 액세스할 수 있다는 것을 의미한다. 더욱이, 아래에서 더욱 상세히 논의되는 바와 같이, 신뢰는 서명할 시에 사용하기 위한 암호화 키를 공유하여, 컴퓨팅 장치(50)와 제 2 모듈(30) 사이로 송신된 메시지를 인증함으로써 컴퓨팅 장치(50)와 제 2 모듈(30) 사이에 확립되었을 수 있다.
신뢰할 수 없는 시간의 표시기를 포함하는 메시지를 수신하면, 컴퓨팅 장치(50)는 수신된 메시지에 나타낸 신뢰할 수 없는 시간의 표시기 TRU를 컴퓨팅 장치(50)의 클록(53)에 의해 결정된 바와 같은 제 1의 신뢰할 수 있는 시간의 표시기 T'G와 비교한다. 신뢰할 수 없는 시간 TRU이 제 1의 신뢰할 수 있는 시간 T'G의 미리 정해진 범위 내에 있도록 결정되고, 메시지는 제 2 모듈(30)에 의해 수신된 암호가 유효한 것으로 나타낼 경우, 컴퓨팅 장치(50)는 사용자(40)가 제 1 및 제 2 모듈(20 및 30) 둘 다에 액세스하는 것을 신뢰할 수 있도록 판정한다. 결과적으로, 초기에 단계(74)에서 요청된 바와 같이, 컴퓨팅 장치(50)는 이러한 비교를 나타내는 데이터를 생성하고, 데이터에 대한 액세스를 제공하기 위해 생성된 데이터를 사용할 수 있다.
이것은, 제 2 모듈(30)이 타임스탬프 TRU를 사용하여 수신된 암호를 분명히 검증한 경우, 사용자(40)는 TRU에 가까운 신뢰할 수 있는 시간 TG에서 제 1 모듈(20)에 의해 생성된 암호를 제공해야 하기 때문이다. 그리고 나서, TRU이 컴퓨팅 장치(50)에 의해 결정된 바와 같이 신뢰할 수 있는 시간 T'G에 가깝다면, TG는 또한 현재 시간에 가까워야 하며, 따라서 사용자(40)는 T'G에 의해 나타낸 바와 같이 현재 시간에 가까운, 즉 현재 시간의 미리 정해진 범위 내의 어떤 시간 TG에서 제 1 모듈(20)에 의해 생성된 암호를 제공해야 하는 것이 판정될 수 있다. 따라서, 사용자(40)는 현재 제 1 모듈(20)을 소유하거나 제 1 모듈(20)에 적어도 액세스할 가능성이 있다. 제 1 모듈(20)에 의해 생성된 암호를 제 2 모듈(30)로 자동으로 송신할 수 있는 방법이 없는 경우, 제 2 모듈(20)을 소유한 사람은 또한 제 1 모듈(30)을 소유하고, 이에 의해 제 1 모듈(20)에 의해 생성된 암호를 제 2 모듈(30)로 수동으로 송신할 수 있는 가능성이 매우 높다.
이점으로, 컴퓨팅 장치(50)가 신뢰할 수 없는 타임스탬프 TRU가 신뢰할 수 있는 시간 T'G의 미리 정해진 범위 내에 있지 않고, 따라서 제 1 모듈(20)의 클록과 동기화되지 않는 시간 소스로부터 획득된 것으로 판정하면, 컴퓨팅 장치(50)는 데이터에 대한 액세스를 거부할 수 있다.
결과적으로, 단계(92)에 의해 도시된 바와 같이, 컴퓨팅 장치(50)는 데이터에 대한 액세스를 달성하기 위해 시스템의 다른 요소와 통신하며, 이에 의해 위의 비교에 의해 생성된 데이터를 이용할 수 있다. 예를 들면, 컴퓨팅 장치(50)는 시간 TR이 미리 정해진 시간 범위 내에 있는지를 나타내는 메시지를 제 2 모듈(30)로 전송할 수 있다. 시간 TR이 미리 정해진 시간 범위 내에 있는 경우, 제 2 모듈(30)은 요청된 데이터에 대한 액세스를 가능하게 할 수 있다. 대안적으로, 시간 TR이 미리 정해진 시간 범위를 벗어나면, 제 2 모듈은 요청된 데이터에 대한 액세스를 거부 할 수 있다.
사용자(40)는 컴퓨팅 장치(50)에 의해 외부에 유지되는 데이터에 대한 액세스를 요청했을 수 있다. 이 경우에, 컴퓨팅 장치(50)는 요청된 데이터를 제 2 모듈 (30)로 전송하거나 액세스를 거부하여 응답할 수 있다.
대안적으로, 추가의 예에서, 컴퓨팅 장치(50)는 컴퓨팅 장치(60)에 의해 컴퓨팅 장치(50) 또는 제 2 모듈(30) 중 어느 하나 또는 둘 다에 저장된 데이터에 대한 액세스를 가능하게 할 수 있다. 또 다른 예에서, 성공적인 검증은 컴퓨팅 장치(50) 및/또는 제 2 모듈(30)이 컴퓨팅 장치(60) 상에 데이터를 액세스할 수 있도록 하는데 사용될 수 있다.
위의 예에서, 제 2 모듈(30)은 이전에 수신된 OTP를 저장할 수 있고, 이전에 수신된 임의의 OTP를 무효화할 수 있다. 이것은 특히 제 2 모듈(30)이 원격 상대방과 제 1 및 제 2 모듈(20 및 30) 둘 다를 소유한 사용자(즉, 로컬 사용자(40)) 모두에 의해 동시에 액세스되는 상황에 유용하다. 원격 사용자가 이전에 입력된 OTP를 로컬 사용자(40)에 의해 제 2 모듈(30)에 복제하여 데이터에 액세스하기를 시도한다고 가정하면, 제 2 모듈(30)은 중복(duplicate)으로서 복제된 OTP를 거부할 것이다. 일 배치에서, 제 2 모듈(30)은 중복을 거부할 수 있도록 하기 위해 이전에 수신된 제한된 수의 OTP를 저장할 수 있다. 저장된 중복의 수는 제 2 모듈(30)에 의해 더 이상 저장되지 않는 특정 OTP가 복제되는 경우, 제 3 자(100)는 현재 시간의 미리 정해진 범위 밖에 있는 타임스탬프과 관련되기 때문에 해당 OTP를 거부할 가능성이 있다.
제 2 모듈(30)에 의해 수신된 암호를 검증하는데 사용되는 신뢰할 수 없는 타임스탬프 TRU를 포함하는 메시지는 (예를 들어 제 2 모듈(30) 및 컴퓨팅 장치(50)와 관련된 암호화 키를 사용하여) 제 2 모듈(30)에 의해 서명되며, 이에 의해 컴퓨팅 장치(50)가 메시지의 출처를 검증하도록 할 수 있다. 이것은, 원격 사용자가 신뢰할 수 없는 시간을 포함하는 제 2 모듈(30)에 의해 송신된 메시지를 변경하기를 시도하는 경우, 컴퓨팅 장치(50)는 제 2 모듈의 정확한 서명을 포함하지 않고, 관련 요청된 데이터에 대한 액세스를 거부할 것이기 때문에 메시지가 변경되었음을 인식한다는 것을 의미한다. 마찬가지로, 재생된 메시지, 즉 컴퓨팅 장치(50)로 재전송되는 제 2 모듈(30)에 의해 이전에 송신된 메시지는 과거에 있는 신뢰할 수 없는 시간의 표시기 TRU를 포함하며, 따라서 거부될 것이다.
더욱이, 컴퓨팅 장치(50)가 수신된 타임스탬프가 유효한지를 나타내는 메시지를 제 2 모듈(30)로 송신하도록 구성되는 경우, 메시지는 또한 서명될 수 있다. 이것은 제 2 모듈(30)이 신뢰할 수 없는 컴퓨팅 장치(50)와 다른 당사자에 의해 제 2 모듈(30)로 송신된 메시지를 식별하도록 한다.
상술한 것은 제 2 모듈(30)이 제 3 자로부터 타임스탬프를 검색하는 시스템과는 대조적일 수 있다. 이러한 시스템에서, 원격 사용자는 제 1 및 제 2 모듈(20 및 30) 둘 다를 소유하고 있는 사용자(40)에 의해 입력된 OTP를 관찰할 수 있고, 또한 제 3 자로부터 수신된 타임스탬프를 관찰할 수 있다. 원격 사용자는 일정 시간 이후에 관찰된 타임스탬프 및 관찰된 OTP를 제 2 모듈(30)에 공급할 수 있다. 이 경우에, 제 2 모듈(30)은 원격 사용자의 암호를 검증할 수 있다. 그러나, 상술 한 실시예에 따라 구성된 시스템에서, 제 2 모듈(30)은 암호를 검증하는데 사용된 타임스탬프를 컴퓨팅 장치(50)로 송신하고, 컴퓨팅 장치(50)는 임의의 타임스탬프가 오래된 것임을 식별할 수 있고, 따라서 요청된 데이터에 대한 액세스를 거부할 것이다.
상술한 실시예에 따라 구성된 시스템은 제 2 모듈이 원격 타임스탬프를 액세스할 필요없이 제공된 암호를 검증할 시에 제 1 단계를 수행할 수 있는 이점을 갖는다. 이것은 단일 메시지(단계(88))만이 전체적으로 검증을 완료하도록 시스템에 전송될 필요가 있을 경우에 검증 시간을 단축한다. 대조적으로, 신뢰할 수 있는 타임스탬프가 제 2 모듈(30)에 제공되는 시스템은 적어도 2개의 메시지, 즉 신뢰할 수 있는 시간에 대한 요청 및 응답을 필요로 한다.
도 3은 데이터에 대한 액세스를 제공하는 방법으로서 컴퓨팅 장치(50)일 수 있는 뱅킹 서비스 제공자와 제 2 모듈(30) 사이의 임시 암호화 키를 공유하기 위한 예시적인 방법을 개략적으로 도시한다. 이러한 예에서, 뱅킹 서비스 제공자(50)는 컴퓨팅 장치(60)와 관련될 수 있는 다른 서비스 제공자와 임시 암호화 키를 공유하였다. 아래에서 더욱 상세히 논의되는 바와 같이, 서비스 제공자(60)와 공유된 암호화 키 및 제 2 모듈(30)과 공유된 암호화 키는 함께 제 2 모듈(30)과 서비스 제공자(60) 사이로 송신된 메시지를 인증 및/또는 암호화/해독할 시에 사용될 수 있다.
상술한 바와 같이, 제 2 모듈(30) 및 뱅킹 서비스 제공자(50)는 이미 그 사이로 송신된 메시지를 암호화 및 인증할 시에 사용하기 위한 사전 할당된 암호화 키를 갖고 있다. 더욱이, 뱅킹 서비스 제공자(50)는 제 2 모듈(30)과 특정 은행 계좌 보유자 사이의 관련성을 저장할 수 있다.
상술한 바와 같이, 제 2 모듈(30)은 제 1 모듈(20)의 클록과 동기화되는 클록을 갖지 않는다. 그러나, 뱅킹 서비스 제공자(50)는 제 1 모듈(20)의 클록과 동기화되는 클록을 갖는다(예를 들어 두 클록은 세계시에서 실행할 수 있거나, 뱅킹 서비스 제공자(50)가 제 1 모듈(20) 상에서 타임스탬프를 유도할 수 있다.
이러한 특정 예에서, 단계(96)에서, 사용자(40)는 제 2 모듈(30) 및 장치(35)를 통해 뱅킹 서비스 제공자(50)로부터 임시 암호화 키를 요청한다. 임시 암호화 키에 대한 액세스를 요청하면, 사용자(40)는 어떤 사용자(40)가 임시 암호화 키를 획득하기를 원하는지에 대한 특정 은행 계좌 보유자를 식별하는 정보를 제 2 모듈(30) 및/또는 장치(35)에 제공할 수 있다.
임시 암호화 키에 대한 요청, 즉 데이터에 대한 요청을 수신하면, 제 2 모듈(30)은 임시 암호화 키에 대한 액세스를 위한 요청이 사용자(40)에 의해 행해졌다는 것을 나타내고, 모듈(20 및 30)이 암호를 생성 및 검증하는데 이용 가능한 것을 나타내는 메시지(단계(98))를 뱅킹 서비스 제공자(50)로 전송한다. (단계(98)에서 전송된) 이러한 메시지는 임시 암호화 키에 액세스하기 위한 (단계(98)에서의) 요청이 제 1 및 제 2 모듈(20 및 30)을 물리적으로 소유한 사용자로부터 유래되는지를 판정할 수 있다는 것을 뱅킹 서비스 제공자(50)에 통지한다.
따라서, 단계(74')에 의해 도시된 바와 같이, 뱅킹 서비스 제공자(50)는 제 2 모듈이 올바른 암호가 제공되었다는 표시를 제공할 것을 요청할 수 있다. 본 실시예에서, 방법은 일반적으로 단계(76 내지 88)를 참조하여 상술한 바와 같이 진행하고, 암호는 제 1 모듈로부터 요청되고, 제 2 모듈에 의해 검증된다.
그러나, 게다가, 질의 코드(challenge code)는 더욱 보안을 제공하는데 사용될 수 있다. 질의 코드는 제 2 모듈(30)에 의해 생성될 수 있거나, 제 2 모듈(30)단계(74')에서 제 2 모듈(30)에 의해 뱅킹 서비스 제공자(50)로부터 수신될 수 있다. 질의 코드는 단계(76)에서 사용자(40)에 제공되고, 단계(78)에서 사용자(40)에 의해 제 1 모듈(30)에 제공된다. 질의 코드는 단계(80)에서 암호의 생성 시에 제 1 모듈(20)에 의해 사용되고, 후속하여 단계(86)에서 제 2 모듈에 의해 암호의 검증 시에 사용된다.
(참조되지 않은) 추가적인 단계에서, 사용자(40)는 뱅킹 서비스 제공자(50)와 은행 계좌 보유자(즉 사용자(40)) 사이에 사전 합의된 (사용자 이름 및 PIN 또는 암호와 같은) 자격 인증서(credentials)를 입력하는 것을 필요로 할 수 있다. 이것은 뱅킹 서비스 제공자(50)가 제 2 모듈(30)의 사용자(40)가 식별된 은행 계좌 보유자인지 또는 사용자가 (예를 들어, 모듈(20 및 30)을 도난당할 수 있는) 다른 사람인지를 검증할 수 있는 이점을 갖는다.
상술한 바와 같이, 단계(86)에서, 제 2 모듈(30)은 사용자(40)로부터 수신된 암호가 제 2 모듈(30)에 사용 가능한 신뢰할 수 없는 시간의 표시 및 적절한 경우에 제공될 수 있는 임의의 질의 코드에 기초하여 유효한지를 판정한다. 후속하여, 단계(88)에서, 제 2 모듈(30)은 수신된 OTP를 검증하는 데 사용되는 신뢰할 수 없는 시간의 표시를 제공하는 메시지를 전송한다. 메시지는 추가적으로 수신된 OTP가 유효한 것으로 발견되었고, 올바른 질의 코드가 암호를 생성하기 위해 사용된 것을 나타내는 데이터를 포함할 수 있다. 응답은 예를 들어 제 2 모듈(30)과 컴퓨팅 장치(50) 사이에서 공유된 암호화 키를 사용하여 암호화 및/또는 서명화될 수 있다.
다른 한편으로, 제 2 모듈(30)이 수신된 암호를 성공적으로 검증하지 않으면, 제 2 모듈(30)은 수신된 OTP가 무효인 것으로 발견되었음을 나타내는 서명된 메시지를 뱅킹 서비스 제공자(50)로 전송할 수 있다.
단계(88)에서 전송된 메시지가 수신된 OTP가 검증되었음을 나타내면, 뱅킹 서비스 제공자(50)는 단계(88)에서 전송된 신뢰할 수 없는 타임스탬프에 나타낸 시간을 제 1의 신뢰할 수 있는 시간의 표시기와 비교할 수 있다. 이러한 단계는 예를 들어 상술한 바와 같이 사용자 이름 및 암호를 검증하는 임의의 다른 형태의 인증을 포함할 수 있다. 뱅킹 서비스 제공자(50)가 (단계(88)에서 제공되는) 신뢰할 수 없는 시간이 미리 정해진 시간 간격 내에 있고, 필요한 경우, 임의의 다른 인증 자격 증명서(즉, 사용자 이름 및 암호)가 유효한 것으로 판정하면, 뱅킹 서비스 제공자(50)는 (단계(100)에서) 요청된 임시 암호화 키를 제 2 모듈(30)로 전송하여 저장된다.
대안적인 예에서, 임시 암호화 키를 생성 및 분배하는 뱅킹 서비스 제공자(50)보다는 오히려, 임시 암호화 키는 서비스 제공자(60)에 의해 생성되고, 뱅킹 서비스 제공자(50)로 송신되어, 임시 암호화 키가 뱅킹 서비스 제공자(50)에 의해 생성되는 경우에서와 같이 이러한 키를 제 2 모듈(30)과 공유하는지를 판정할 것이다. 대안적으로, 임시 암호화 키는 제 2 모듈(30)에 의해 생성될 수 있고, 예를 들어 메시지(88)에서 뱅킹 서비스 제공자(50)로 송신될 수 있다. 이러한 배치에서, 그 후 뱅킹 서비스 제공자(50)는 서비스 제공자(60)와 임시 암호화 키를 공유할 수 있다.
상술한 바와 같이, 제 2 모듈(30)은 특정 은행 계좌 소유자에 의해 소유되는 경우에 뱅킹 서비스 제공자(50)에 등록된다. 뱅킹 서비스 제공자(50)는 제 2 모듈(30) 및 서비스 제공자(60)와 임시 암호화 키를 공유한다. 서비스 제공자(60)는 이미 은행 계좌 보유자가 제 2 모듈(30)의 등록된 소유자인 것을 알고 있을 수 있으며, 이 경우에, 임시 암호화 키가 서비스 제공자(60)와 공유되면, 이러한 키와 관련된 은행 계좌 보유자는 서비스 제공자(60)에게 식별된다. 대안적으로, 은행 계좌 보유자가 이미 서비스 제공자(60)에 의해 알려지면, 뱅킹 서비스 제공자(50)는 관련된 임시 암호화 키가 공유될 때에 은행 계좌 보유자에 대한 서비스를 식별하여 제공할 시에 사용하기 위한 정보를 서비스 제공자(60)로 전송할 수 있다.
본 예에서, 사용자(40)는 은행 계좌 보유자의 계좌로부터 결제를 하거나 자금을 이체할 시에 사용하기 위한 추가의 서비스 제공자(60)에 대한 액세스를 요청할 수 있다(단계(102)).
일부 실시예에서, 사용자(40)로부터 제 2 모듈(30), 컴퓨팅 장치(50) 또는 컴퓨팅 장치(60) 중 어느 하나에서 수신되는 데이터에 대한 액세스를 위한 요청보다는 오히려, 데이터에 대한 액세스를 위한 요청은 사용자 입력 없이 제 2 모듈(30), 컴퓨팅 장치(50) 또는 컴퓨팅 장치(60) 중 어느 하나에 의해 생성될 수 있다. 예를 들면, 컴퓨팅 장치(50)를 동작하는 제 3 자는 제 2 모듈(30)을 물리적으로 소유하고 있는 제 2 모듈(30)의 사용자(40)가 있는지를 판정하기를 원할 수 있으며, 따라서 컴퓨팅 장치(50)는 메시지를 이를 나타내는 제 2 모듈(30)로 전송한다. 이러한 메시지를 수신하면, 제 2 모듈(30)은 제 2 모듈(30)의 사용자(40)가 제 1 모듈(20)에 의해 생성된 암호를 제 2 모듈(30)로 입력하도록 하며, 이러한 방법은 상술한 바와 같이 진행한다.
본 발명의 실시예는 제 1 모듈(20)에 의해 암호를 생성하기 위해 사용된 비밀이 제 2 모듈(30)에 의해 알려지지 않고, 대신에 컴퓨팅 장치(50)와 같은 인증 서버와 제 1 모듈(20) 사이에 공유되는 시스템과는 대조적일 수 있다. 이러한 실시예에서의 제 2 모듈(30)이 시간의 표시에 액세스하는데 필요로 하지 않지만, 신뢰할 수 있든 신뢰할 수 없든, 비밀이 제 1 모듈(20)과 컴퓨팅 장치(50) 사이에 공유될 경우에 시스템은 제 1 및 제 2 모듈 사이에 고유 공유된 비밀을 갖는 보안을 상실할 수 있다. 사실은, 컴퓨팅 장치(50)가 손상되면, 단일 비밀만이 손상되는 제 1 또는 제 2 모듈을 통해 알려질 수 있는 위의 시스템과는 대조적으로 많은 비밀이 알려질 수 있다.
상술한 바와 같이, 제 1 및 제 2 모듈(20 및 30)는 동일한 장치의 복합 부품이며, 이 장치 내에서 서로 통신이 단절될 수 있다. 이러한 실시예에서, 사용자(40)가 제 1 모듈(20)로부터 암호를 검색하여 제 2 모듈(30)에 입력하는 유일한 (현실적으로 가능한) 방법은 사용자(40)가 제 1 모듈(20)을 소유하고 있을 경우이다. 따라서, 이 경우에, 사용자(40)는 장치를 소유할 가능성이 매우 높으며, 따라서 인간 사용자이다. 따라서, 제 2 모듈(30)이 사용자(40)로부터 수신된 암호를 검증하는 경우, 제 2 모듈(30)은 데이터에 대한 액세스를 위한 요청이 장치를 소유하고 있는(따라서 원격 엔티티가 아닌) 인간으로부터 유래하는 매우 높은 수준의 신뢰도로 판정할 수 있다. 요청된 데이터에 대한 액세스를 가능하게 하는 것은 장치에 유지된 제한된 데이터에 대한 액세스를 허용하는 것을 포함할 수 있거나, 요청된 데이터가 (컴퓨팅 장치(50)와 같은) 제 3 자에 의해 유지되는 경우에는 그것은 요청된 데이터에 대한 액세스를 가능하게 할 시에 사용하기 위해 제 3 자에게 데이터를 송신하는 것을 포함할 수 있다.
상술한 바와 같이, 사용자(40)는 단일의 물리적인 사람이 아닐 수 있고, 이와 같이 제 1 사용자가 암호를 제 2 사용자에 제공할 수 있으며, 이러한 제 2 사용자로부터 암호가 인터페이스(31)에 의해 수신되는 것으로 이해될 것이다.
제 1 모듈(20)의 인터페이스(21) 및 장치(35)의 인터페이스(31)는 상술한 바와 같이 사용자 인터페이스일 수 있다. 그러나 일부 실시예에서, 인터페이스는 적절한 사용자 인터페이스에 접속하는 입력/출력 인터페이스를 제공할 수 있다. 이것은 제 1 모듈(30) 또는 장치(35)가 분산될 수 있도록 수행될 수 있기 때문에, 암호가 제공되는 사용자 인터페이스가 물리적으로 분리될 수 있다.
위의 실시예는 본 발명의 예시적인 예로서 이해되어야 한다. 본 발명의 추가의 실시예가 구상된다. 예를 들면, 제 2 모듈(30)은 복수의 제 3 자, 예를 들어 컴퓨팅 장치(50 및 60) 및 도시되지 않은 다른 시스템에 의해 유지되거나 공급되는 데이터, 자산 또는 서비스에 대한 액세스를 가능하게 할 시에 사용하기 위한 것일 수 있다. 상술한 많은 실시예에서, 제 1 및 제 2 모듈이 통신이 접속되는 것으로 설명되었지만, 이러한 특징은 본 발명의 본질적인 특징이 아닌 것으로 이해될 것이며, 다른 실시예에서, 제 1 및 제 2 모듈(20,30)은 통신이 접속될 수 있다. 마찬가지로, 바람직하지만, 제 1 및 제 2 모듈(20,30)은 암호를 생성하고 검증할 시에 사용하기 위한 비밀을 공유할 필요는 없다. 어느 하나의 실시예에 관하여 설명된 임의의 특징은 단독으로 또는 설명된 다른 특징과 조합하여 사용될 수 있고, 또한 임의의 다른 실시예의 하나 이상의 특징 또는 임의의 다른 실시예의 임의의 조합과 조합하여 사용될 수 있다는 것이 이해되어야 한다. 더욱이, 상술하지 않은 등가물 및 수정은 또한 첨부한 청구항에서 정의되는 본 발명의 범위에서 벗어나지 않고 이용될 수 있다.
다음의 번호가 매겨진 클로즈(clause)는 본 발명의 바람직한 실시예를 설명한다:
1. 데이터에 대한 액세스를 위한 요청을 검증하는데 사용하기 위한 시스템으로서, 시스템은 제 1의 신뢰할 수 있는 시간의 표시기와 통신하도록 구성되는 컴퓨팅 장치에 액세스하며, 시스템은:
제 2의 신뢰할 수 있는 시간의 표시기에 액세스하는 제 1 모듈; 및
신뢰할 수 없는 시간의 표시기에 액세스하는 제 2 모듈을 포함하며,
제 1 모듈은 적어도 제 2의 신뢰할 수 있는 시간의 표시기를 이용하여 암호를 생성하도록 배치되고;
제 2 모듈은:
데이터에 대한 액세스를 위한 요청과 관련된 암호를 수신하고,
적어도 신뢰할 수 없는 시간의 표시기를 이용하여 수신된 암호를 검증하고,
메시지가 컴퓨팅 장치로 전송되도록 하고, 메시지는 수신된 암호를 검증하는데 사용되는 신뢰할 수 없는 시간의 표시기를 나타내는 데이터를 포함하도록 배치되며,
시스템은 컴퓨팅 장치가:
신뢰할 수 없는 시간의 표시기와 제 1의 신뢰할 수 있는 시간의 표시기 사이의 비교를 나타내는 데이터를 생성하고,
생성된 데이터에 기초하여 상기 데이터에 대한 액세스를 시스템에 선택적으로 제공하도록 배치된다.
2. 클로즈 1에 따른 시스템으로서, 컴퓨팅 장치로 송신된 메시지는 제 2 모듈에 의해 적어도 신뢰할 수 없는 시간의 표시기를 사용하여 수신된 암호의 검증을 나타내는 데이터를 포함한다.
3. 클로즈 1 또는 클로즈 2에 따른 시스템으로서, 제 1 및 제 2 모듈은 여기에 고유 할당된 비밀을 공유하며, 제 1 모듈은 암호를 생성하기 위해 비밀을 사용하도록 배치되고, 제 2 모듈은 수신된 암호를 검증하기 위해 비밀을 사용하도록 배치된다.
4. 클로즈 3에 따른 시스템으로서, 비밀은 제 1 모듈의 보안 요소에 저장된다.
5. 클로즈 1 내지 클로즈 4 중 어느 하나에 따른 시스템으로서, 비밀은 제 2 모듈의 보안 요소에 저장된다.
6. 클로즈 1 내지 클로즈 5 중 어느 하나에 따른 시스템으로서, 제 1 모듈은 클록을 포함하는 변조 방지 하드웨어를 포함하며, 클록은 제 2의 신뢰할 수 있는 시간의 표시기를 제공하도록 배치된다.
7. 클로즈 1 내지 클로즈 6 중 어느 하나에 따른 시스템으로서, 제 2 모듈은 클록을 갖는 장치에 통신 가능하게 접속되고, 클록은 신뢰할 수 있는 시간의 표시기를 제공하도록 배치된다.
8. 클로즈 1 내지 클로즈 7 중 어느 하나에 따른 시스템으로서, 컴퓨팅 장치는 생성된 데이터를 포함하는 메시지를 추가의 컴퓨팅 장치로 송신하도록 하여, 상기 데이터에 대한 액세스를 시스템에 제공하도록 하기 위해 배치되며, 추가의 컴퓨팅 장치는 생성된 데이터를 수신할 경우에 상기 데이터에 대한 액세스를 제공하도록 배치된다.
9. 클로즈 1 내지 클로즈 7 중 어느 하나에 따른 시스템으로서, 상기 요청된 데이터는 컴퓨팅 장치에 저장되거나 컴퓨팅 장치에 의해 생성되며, 컴퓨팅 장치는 생성된 데이터에 기초하여 상기 데이터에 대한 액세스를 제공하도록 배치된다.
10. 클로즈 1 내지 클로즈 9 중 어느 하나에 따른 시스템으로서, 제 1 모듈은 제 1 모듈의 인터페이스를 통해 제 2 모듈 또는 컴퓨팅 장치에 의해 생성된 질의 코드를 수신하여 적어도 질의 코드를 이용하여 암호를 생성하도록 배치된다.
11. 클로즈 1 내지 클로즈 10 중 어느 하나에 따른 시스템으로서, 제 1 모듈은 복수의 암호 중 적어도 하나의 암호가 복수의 암호 중 다른 암호와 상이한 복수의 암호를 생성하고, 생성된 암호 중 적어도 하나를 제 1 모듈의 인터페이스를 통해 사용자에게 제공하도록 배치된다.
12. 클로즈 1 내지 클로즈 11 중 어느 하나에 따른 시스템으로서, 제 2 모듈 및 컴퓨팅 장치는 그 사이의 통신에 사용하기 위한 추가의 비밀을 공유한다.
13. 클로즈 1 내지 클로즈 12 중 어느 하나에 따른 시스템으로서, 제 2 모듈은 상기 수신된 암호를 저장하고, 상기 수신된 암호를 임의의 이전에 저장된 수신된 암호와 비교하여 수신된 암호를 검증하도록 배치된다.
14. 데이터에 대한 액세스를 위한 요청을 검증하는데 사용하기 위한 시스템으로서, 시스템은:
신뢰할 수 있는 시간의 표시기에 액세스하는 제 1 모듈; 및
신뢰할 수 없는 시간의 표시기에 액세스하는 제 2 모듈을 포함하며,
제 1 모듈은 적어도 신뢰할 수 있는 시간의 표시기를 이용하여 암호를 생성하도록 배치되고;
제 2 모듈은:
데이터에 대한 액세스를 위한 요청과 관련된 암호를 수신하고,
적어도 신뢰할 수 없는 시간의 표시기를 이용하여 수신된 암호를 검증하고,
메시지가 컴퓨팅 장치로 전송되도록 하고, 메시지는 수신된 암호를 검증하는데 사용되는 신뢰할 수 없는 시간의 표시기를 나타내는 데이터를 포함하고,
신뢰할 수 없는 시간의 표시기와 추가의 신뢰할 수 있는 시간의 표시기 사이의 비교를 나타내는 데이터를 컴퓨팅 장치로부터 수신하고,
상기 데이터에 대한 액세스를 제공하기 위해 수신된 데이터를 이용하도록 배치되며,
제 1 모듈 및 제 2 모듈은 통신이 단절된다.
15. 클로즈 14에 따른 시스템으로서, 컴퓨팅 장치로부터 수신된 상기 데이터는 신뢰할 수 없는 시간의 표시기가 제 1의 신뢰할 수 있는 시간의 표시기의 미리 정해진 범위 내에 있는지를 나타내는 데이터를 포함한다.
16. 클로즈 14 또는 클로즈 15에 따른 시스템으로서, 상기 요청된 데이터는 제 2 모듈에 의해 유지되고, 제 2 모듈은 상기 요청된 데이터에 대한 액세스를 제공할지를 판정하기 위해 컴퓨팅 장치로부터 수신된 상기 데이터를 사용하도록 구성된다.
17. 클로즈 14 내지 클로즈 16 중 어느 하나에 따른 시스템으로서, 제 1 모듈이 액세스하는 상기 신뢰할 수 있는 시간의 표시기는 제 1 모듈의 클록이고, 컴퓨팅 장치가 액세스하는 추가의 신뢰할 수 있는 시간의 표시기는 제 1 모듈의 클록과 동기화되는 클록이다.
18. 클로즈 14 내지 클로즈 17 중 어느 하나에 따른 시스템으로서, 컴퓨팅 장치 및 제 2 모듈은 그 사이로 송신된 데이터를 서명할 시에 사용하기 위한 암호화 키로 미리 구성되고, 제 2 모듈은 컴퓨팅 장치로 전송된 상기 메시지를 서명하고, 컴퓨팅 장치로부터 수신된 상기 데이터가 상기 암호화 키를 이용하여 컴퓨팅 장치에 의해 서명되는 것을 검증하도록 배치된다.
19. 클로즈 14 내지 클로즈 18 중 어느 하나에 따른 시스템으로서, 제 2 모듈은 상기 수신된 암호를 저장하고, 상기 수신된 암호를 임의의 이전에 저장된 수신된 암호와 비교하여 수신된 암호를 검증하도록 배치된다.

Claims (40)

  1. 데이터에 대한 액세스를 위한 요청을 검증하는데 사용하기 위한 시스템으로서, 제 1의 신뢰할 수 있는 시간의 표시기와 통신하도록 구성되는 컴퓨팅 장치에 액세스하는 시스템에 있어서,
    제 2의 신뢰할 수 있는 시간의 표시기에 액세스하는 제 1 모듈; 및
    신뢰할 수 없는 시간의 표시기에 액세스하는 제 2 모듈을 포함하며,
    상기 제 1 모듈은 적어도 상기 제 2의 신뢰할 수 있는 시간의 표시기를 사용하여 암호를 생성하도록 배치되고;
    상기 제 2 모듈은
    상기 데이터에 대한 액세스를 위한 요청과 관련된 암호를 수신하고,
    적어도 상기 신뢰할 수 없는 시간의 표시기를 사용하여 수신된 암호를 검증하고,
    메시지를 상기 컴퓨팅 장치로 전송하도록 배치하고, 상기 메시지는 상기 수신된 암호를 검증하는데 사용되는 상기 신뢰할 수 없는 시간의 표시기를 나타내는 데이터를 포함하며,
    상기 시스템은 상기 컴퓨팅 장치가 상기 신뢰할 수 없는 시간의 표시기와 상기 제 1의 신뢰할 수 있는 시간의 표시기 사이의 비교를 나타내는 데이터를 생성하도록 배치되며, 생성된 데이터는 상기 데이터에 대한 액세스를 제공할 시에 사용하기 위한 시스템.
  2. 청구항 1에 있어서,
    상기 시스템은 상기 컴퓨팅 장치가 상기 생성된 데이터에 기초하여 상기 데이터에 대한 액세스를 상기 시스템에 선택적으로 제공하도록 배치되는 시스템.
  3. 청구항 1 또는 청구항 2에 있어서,
    상기 컴퓨팅 장치로 송신된 상기 메시지는 상기 제 2 모듈에 의해 적어도 상기 신뢰할 수 없는 시간의 표시기를 사용하여 수신된 암호의 검증을 나타내는 데이터를 포함하는 시스템.
  4. 청구항 1 또는 청구항 2에 있어서,
    상기 제 1 및 제 2 모듈은 고유 할당된 비밀을 공유하며, 상기 제 1 모듈은 상기 암호를 생성하기 위해 상기 비밀을 사용하도록 배치되고, 상기 제 2 모듈은 상기 수신된 암호를 검증하기 위해 상기 비밀을 사용하도록 배치되는 시스템.
  5. 청구항 1 또는 청구항 2에 있어서,
    상기 제 1 모듈은 클록을 포함하는 변조 방지 하드웨어를 포함하며, 상기 클록은 상기 제 2의 신뢰할 수 있는 시간의 표시기를 제공하도록 배치되는 시스템.
  6. 청구항 1 또는 청구항 2에 있어서,
    상기 제 2 모듈은 클록을 갖는 장치에 통신 가능하게 접속되고, 상기 클록은 상기 신뢰할 수 없는 시간의 표시기를 제공하도록 배치되는 시스템.
  7. 청구항 1 또는 청구항 2에 있어서,
    상기 시스템은 상기 컴퓨팅 장치가 생성된 데이터를 포함하는 메시지를 추가의 컴퓨팅 장치로 송신하도록 하여, 상기 데이터에 대한 액세스를 상기 시스템에 제공하도록 배치되며, 상기 추가의 컴퓨팅 장치는 상기 생성된 데이터를 수신할 경우에 상기 데이터에 대한 액세스를 제공하도록 배치되는 시스템.
  8. 청구항 1 또는 청구항 2에 있어서,
    상기 제 1 모듈은, 상기 제 1 모듈의 인터페이스를 통해, 상기 제 2 모듈 또는 상기 컴퓨팅 장치에 의해 생성된 질의 코드를 수신하여 적어도 상기 질의 코드를 사용하여 상기 암호를 생성하도록 배치되는 시스템.
  9. 청구항 1 또는 청구항 2에 있어서,
    상기 제 1 모듈은 복수의 암호 중 적어도 하나의 암호가 상기 복수의 암호 중 다른 암호와 상이한 상기 복수의 암호를 생성하고, 생성된 암호 중 적어도 하나를 상기 제 1 모듈의 인터페이스를 통해 사용자에게 제공하도록 배치되는 시스템.
  10. 청구항 1 또는 청구항 2에 있어서,
    상기 제 2 모듈 및 상기 컴퓨팅 장치는 이들 사이의 통신에 사용하기 위한 추가의 비밀을 공유하는 시스템.
  11. 청구항 1 또는 청구항 2에 있어서,
    상기 제 2 모듈은 상기 수신된 암호를 저장하고, 상기 수신된 암호를 임의의 이전에 저장된 수신된 암호와 비교하여 수신된 암호를 검증하도록 배치되는 시스템.
  12. 청구항 1에 있어서,
    상기 제 1 및 제 2 모듈은 통신 단절되고, 상기 제 2 모듈은 상기 컴퓨팅 장치로부터 상기 생성된 데이터를 수신하고, 상기 데이터에 대한 액세스를 제공하기 위해 상기 수신된 데이터를 사용하도록 배치되는 시스템.
  13. 청구항 12에 있어서,
    상기 컴퓨팅 장치로부터 수신된 상기 데이터는 상기 신뢰할 수 없는 시간의 표시기가 상기 제 1의 신뢰할 수 있는 시간의 표시기의 미리 정해진 범위 내에 있는지를 나타내는 데이터를 포함하는 시스템.
  14. 청구항 12 또는 청구항 13에 있어서,
    상기 요청된 데이터는 상기 제 2 모듈에 의해 유지되고, 상기 제 2 모듈은 상기 요청된 데이터에 대한 액세스를 제공할지를 판정하기 위해 상기 컴퓨팅 장치로부터 수신된 상기 데이터를 사용하도록 구성되는 시스템.
  15. 청구항 12 또는 청구항 13에 있어서,
    상기 제 2의 신뢰할 수 있는 시간의 표시기는 상기 제 1 모듈의 클록이고, 상기 제 1의 신뢰할 수 있는 시간의 표시기는 상기 제 1 모듈의 클록과 동기화되는 클록인 시스템.
  16. 청구항 12 또는 청구항 13에 있어서,
    상기 컴퓨팅 장치 및 상기 제 2 모듈은 이들 사이로 송신된 데이터를 서명할 시에 사용하기 위한 암호화 키로 미리 구성되고, 상기 제 2 모듈은 상기 컴퓨팅 장치로 전송된 상기 메시지를 서명하고, 상기 컴퓨팅 장치로부터 수신된 상기 데이터가 상기 암호화 키를 이용하여 상기 컴퓨팅 장치에 의해 서명되는 것을 검증하도록 배치되는 시스템.
  17. 청구항 12 또는 청구항 13에 있어서,
    상기 제 2 모듈은 상기 수신된 암호를 저장하고, 상기 수신된 암호를 임의의 이전에 저장된 수신된 암호와 비교하여 상기 수신된 암호를 검증하도록 배치되는 시스템.
  18. 시스템에 의해 제 1의 신뢰할 수 있는 시간의 표시기와 통신하도록 구성되는 컴퓨팅 장치를 사용하여 데이터에 대한 액세스를 위한 요청을 검증하는 방법에 있어서,
    제 1 모듈에서 적어도 제 2의 신뢰할 수 있는 시간의 표시기를 사용하여 암호를 생성하는 단계;
    제 2 모듈에서 상기 데이터에 대한 액세스를 위한 요청과 관련된 암호를 수신하는 단계;
    상기 제 2 모듈에서 적어도 신뢰할 수 없는 시간의 표시기를 사용하여 수신된 암호를 검증하는 단계; 및
    메시지가 상기 컴퓨팅 장치로 전송되도록 하는 단계를 포함하며, 상기 메시지는 상기 수신된 암호를 검증하는데 사용되는 상기 신뢰할 수 없는 시간의 표시기를 나타내는 데이터를 포함하며,
    상기 시스템은 상기 컴퓨팅 장치가 상기 신뢰할 수 없는 시간의 표시기와 상기 제 1의 신뢰할 수 있는 시간의 표시기 사이의 비교를 나타내는 데이터를 생성하도록 하며, 생성된 데이터는 상기 데이터에 대한 액세스를 제공하는데 사용하기 위한 것이며,
    상기 시스템은 상기 제 1 모듈 및 상기 제 2 모듈을 포함하는
    데이터에 대한 액세스를 위한 요청을 검증하는 방법.
  19. 청구항 18에 있어서,
    상기 제 1 및 제 2 모듈은 고유 할당된 비밀을 공유하며, 상기 비밀은 상기 암호를 생성하고 상기 수신된 암호를 검증할 시에 사용하기 위한
    데이터에 대한 액세스를 위한 요청을 검증하는 방법.
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
KR1020157008621A 2012-09-06 2013-09-06 액세스 요청을 검증하기 위한 방법 및 시스템 KR102177848B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB1215951.3A GB2505678B (en) 2012-09-06 2012-09-06 Method and system for verifying an access request
GB1215951.3 2012-09-06
GB1222090.1A GB2505532B (en) 2012-09-06 2012-12-07 Method and system for verifying an access request
GB1222090.1 2012-12-07
PCT/GB2013/052347 WO2014037741A1 (en) 2012-09-06 2013-09-06 Method and system for verifying an access request

Publications (2)

Publication Number Publication Date
KR20150052261A KR20150052261A (ko) 2015-05-13
KR102177848B1 true KR102177848B1 (ko) 2020-11-11

Family

ID=47137069

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020157008620A KR102202547B1 (ko) 2012-09-06 2013-09-06 액세스 요청을 검증하기 위한 방법 및 시스템
KR1020157008621A KR102177848B1 (ko) 2012-09-06 2013-09-06 액세스 요청을 검증하기 위한 방법 및 시스템

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020157008620A KR102202547B1 (ko) 2012-09-06 2013-09-06 액세스 요청을 검증하기 위한 방법 및 시스템

Country Status (11)

Country Link
US (4) US8806600B2 (ko)
EP (2) EP2732400B1 (ko)
KR (2) KR102202547B1 (ko)
CN (2) CN104769602B (ko)
AU (2) AU2013311424B2 (ko)
CA (2) CA2884002C (ko)
ES (1) ES2590678T3 (ko)
GB (2) GB2505678B (ko)
HK (2) HK1208278A1 (ko)
MX (2) MX362307B (ko)
WO (2) WO2014037740A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110111087B (zh) * 2011-08-30 2024-01-02 欧威环公司 用于授权利用不可预期密码的交易的系统和方法
US10129249B1 (en) * 2013-03-14 2018-11-13 EMC IP Holding Company LLC Randomizing state transitions for one-time authentication tokens
GB2505678B (en) 2012-09-06 2014-09-17 Visa Europe Ltd Method and system for verifying an access request
US9178708B2 (en) * 2013-12-02 2015-11-03 Guardtime Ip Holdings Limited Non-deterministic time systems and methods
US9424410B2 (en) * 2013-12-09 2016-08-23 Mastercard International Incorporated Methods and systems for leveraging transaction data to dynamically authenticate a user
US9332008B2 (en) * 2014-03-28 2016-05-03 Netiq Corporation Time-based one time password (TOTP) for network authentication
US9223960B1 (en) * 2014-07-31 2015-12-29 Winbond Electronics Corporation State-machine clock tampering detection
US9984247B2 (en) * 2015-11-19 2018-05-29 International Business Machines Corporation Password theft protection for controlling access to computer software
US9948673B2 (en) 2016-05-26 2018-04-17 Visa International Service Association Reliable timestamp credential
US10491391B1 (en) * 2016-09-23 2019-11-26 Amazon Technologies, Inc. Feedback-based data security
KR20180070278A (ko) 2016-12-16 2018-06-26 백민경 영구거푸집 및 이를 이용한 벽체구조물 시공방법
US10846417B2 (en) * 2017-03-17 2020-11-24 Oracle International Corporation Identifying permitted illegal access operations in a module system
SG10201702881VA (en) * 2017-04-07 2018-11-29 Mastercard International Inc Systems and methods for processing an access request
US11257078B2 (en) * 2018-08-20 2022-02-22 Mastercard International Incorporated Method and system for utilizing blockchain and telecom network for two factor authentication and enhancing security
US10419219B1 (en) * 2018-10-08 2019-09-17 Capital One Services, Llc System, method, and computer-accessible medium for actionable push notifications
CN110224713B (zh) * 2019-06-12 2020-09-15 读书郎教育科技有限公司 一种基于高安全性智能儿童手表的安全防护方法及系统
EP4028871A4 (en) * 2019-09-11 2023-10-11 ARRIS Enterprises LLC PASSPHASE AND POLICY-BASED DEVICE-INDEPENDENT AUTHENTICATION
CN114083913B (zh) * 2021-11-02 2022-09-16 珠海艾派克微电子有限公司 一种芯片、耗材盒及数据传输方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4998279A (en) 1984-11-30 1991-03-05 Weiss Kenneth P Method and apparatus for personal verification utilizing nonpredictable codes and biocharacteristics
US20050005114A1 (en) 2003-07-05 2005-01-06 General Instrument Corporation Ticket-based secure time delivery in digital networks

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367572A (en) * 1984-11-30 1994-11-22 Weiss Kenneth P Method and apparatus for personal identification
US4720860A (en) * 1984-11-30 1988-01-19 Security Dynamics Technologies, Inc. Method and apparatus for positively identifying an individual
US5361062A (en) * 1992-11-25 1994-11-01 Security Dynamics Technologies, Inc. Personal security system
EP1139200A3 (en) * 2000-03-23 2002-10-16 Tradecard Inc. Access code generating system including smart card and smart card reader
US7904583B2 (en) * 2003-07-11 2011-03-08 Ge Fanuc Automation North America, Inc. Methods and systems for managing and controlling an automation control module system
US7801819B2 (en) * 2003-10-03 2010-09-21 Sony Corporation Rendering rights delegation system and method
KR20050096040A (ko) * 2004-03-29 2005-10-05 삼성전자주식회사 휴대형 저장장치와 디바이스간에 디지털 저작권 관리를이용한 콘텐츠 재생방법 및 장치와, 이를 위한 휴대형저장장치
WO2006040820A1 (ja) 2004-10-14 2006-04-20 Mitsubishi Denki Kabushiki Kaisha パスワード生成装置及びicカード及び認証装置
JP2006268689A (ja) * 2005-03-25 2006-10-05 Nec Corp 移動体通信ネットワークシステム、認証装置、Webサーバ及びこれらの駆動方法、駆動プログラム
EP1737179A1 (en) * 2005-06-20 2006-12-27 Thomson Licensing Method and devices for secure measurements of time-based distance between two devices
US9258124B2 (en) * 2006-04-21 2016-02-09 Symantec Corporation Time and event based one time password
TWI484769B (zh) * 2006-05-09 2015-05-11 內數位科技公司 無線裝置安全時間功能
US8266711B2 (en) * 2006-07-07 2012-09-11 Sandisk Technologies Inc. Method for controlling information supplied from memory device
US8543829B2 (en) * 2007-01-05 2013-09-24 Ebay Inc. Token device re-synchronization through a network solution
US8281375B2 (en) * 2007-01-05 2012-10-02 Ebay Inc. One time password authentication of websites
EP2034458A3 (en) * 2007-03-09 2009-09-02 ActivIdentity, Inc. One-time passwords
CN101051908B (zh) * 2007-05-21 2011-05-18 北京飞天诚信科技有限公司 动态密码认证系统及方法
US8627419B1 (en) * 2007-05-25 2014-01-07 Michael J VanDeMar Multiple image reverse turing test
US8200978B2 (en) * 2007-07-06 2012-06-12 Gong Ling LI Security device and method incorporating multiple varying password generator
US7990292B2 (en) 2008-03-11 2011-08-02 Vasco Data Security, Inc. Method for transmission of a digital message from a display to a handheld receiver
US8949955B2 (en) * 2008-10-29 2015-02-03 Symantec Corporation Method and apparatus for mobile time-based UI for VIP
CH701050A1 (fr) * 2009-05-07 2010-11-15 Haute Ecole Specialisee Bernoise Technique Inf Procédé d'authentification.
EP2296311A1 (en) * 2009-09-10 2011-03-16 Gemalto SA Method for ciphering messages exchanged between two entities
US8701183B2 (en) * 2010-09-30 2014-04-15 Intel Corporation Hardware-based human presence detection
US20120089519A1 (en) * 2010-10-06 2012-04-12 Prasad Peddada System and method for single use transaction signatures
WO2012106757A1 (en) * 2011-02-07 2012-08-16 David Ball A smart card with verification means
CN102185838B (zh) * 2011-04-21 2014-06-25 杭州驭强科技有限公司 基于时间因子的主动式动态密码生成和认证系统及方法
CN102368230A (zh) * 2011-10-31 2012-03-07 北京天地融科技有限公司 移动存储器的访问控制方法、移动存储器及系统
DE102011118510A1 (de) * 2011-11-14 2013-05-16 Biso Schrattenecker Gmbh Anschlußvorrichtung für ein Vorsatzgerät einer selbstfahrenden Arbeitsmaschine
US8396452B1 (en) * 2012-05-04 2013-03-12 Google Inc. Proximity login and logoff
US9053312B2 (en) * 2012-06-19 2015-06-09 Paychief, Llc Methods and systems for providing bidirectional authentication
GB2505678B (en) 2012-09-06 2014-09-17 Visa Europe Ltd Method and system for verifying an access request
US9230084B2 (en) * 2012-10-23 2016-01-05 Verizon Patent And Licensing Inc. Method and system for enabling secure one-time password authentication
DE102012219618B4 (de) * 2012-10-26 2016-02-18 Bundesdruckerei Gmbh Verfahren zur Erzeugung eines Soft-Tokens, Computerprogrammprodukt und Dienst-Computersystem

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4998279A (en) 1984-11-30 1991-03-05 Weiss Kenneth P Method and apparatus for personal verification utilizing nonpredictable codes and biocharacteristics
US20050005114A1 (en) 2003-07-05 2005-01-06 General Instrument Corporation Ticket-based secure time delivery in digital networks

Also Published As

Publication number Publication date
EP2732400B1 (en) 2016-06-15
AU2013311424B2 (en) 2019-02-14
GB201215951D0 (en) 2012-10-24
EP2893484B1 (en) 2020-12-02
CA2884002C (en) 2022-10-11
MX362308B (es) 2019-01-10
WO2014037740A1 (en) 2014-03-13
GB2505678B (en) 2014-09-17
US20190213321A1 (en) 2019-07-11
US9830447B2 (en) 2017-11-28
HK1208546A1 (en) 2016-03-04
GB2505532B (en) 2014-08-06
GB2505532A (en) 2014-03-05
AU2013311425A1 (en) 2015-03-26
AU2013311425B2 (en) 2018-09-20
US8806600B2 (en) 2014-08-12
MX362307B (es) 2019-01-10
US20150178518A1 (en) 2015-06-25
ES2590678T3 (es) 2016-11-23
MX2015002928A (es) 2015-06-02
US20140068739A1 (en) 2014-03-06
KR20150052260A (ko) 2015-05-13
CN104769602A (zh) 2015-07-08
CA2884005C (en) 2021-10-26
CN104769602B (zh) 2019-06-14
MX2015002929A (es) 2015-06-02
EP2893484A1 (en) 2015-07-15
KR20150052261A (ko) 2015-05-13
EP2732400A1 (en) 2014-05-21
CA2884002A1 (en) 2014-03-13
AU2013311424A1 (en) 2015-03-26
US10929524B2 (en) 2021-02-23
WO2014037741A1 (en) 2014-03-13
US10282541B2 (en) 2019-05-07
HK1208278A1 (en) 2016-02-26
KR102202547B1 (ko) 2021-01-13
US20150178494A1 (en) 2015-06-25
GB2505678A (en) 2014-03-12
CN104798083A (zh) 2015-07-22
CN104798083B (zh) 2017-06-23
CA2884005A1 (en) 2014-03-13

Similar Documents

Publication Publication Date Title
KR102177848B1 (ko) 액세스 요청을 검증하기 위한 방법 및 시스템
US9160732B2 (en) System and methods for online authentication
AU2010215040B2 (en) System and methods for online authentication
US20170171183A1 (en) Authentication of access request of a device and protecting confidential information
KR20210095093A (ko) 탈중앙화 아이디 앱을 이용하여 인증 서비스를 제공하는 방법 및 이를 이용한 탈중앙화 아이디 인증 서버
JPH1165443A (ja) 個人認証情報の管理方式
AU2015202661B2 (en) System and methods for online authentication

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant