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

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

Info

Publication number
KR102202547B1
KR102202547B1 KR1020157008620A KR20157008620A KR102202547B1 KR 102202547 B1 KR102202547 B1 KR 102202547B1 KR 1020157008620 A KR1020157008620 A KR 1020157008620A KR 20157008620 A KR20157008620 A KR 20157008620A KR 102202547 B1 KR102202547 B1 KR 102202547B1
Authority
KR
South Korea
Prior art keywords
module
password
data
user
received
Prior art date
Application number
KR1020157008620A
Other languages
English (en)
Other versions
KR20150052260A (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 KR20150052260A publication Critical patent/KR20150052260A/ko
Application granted granted Critical
Publication of KR102202547B1 publication Critical patent/KR102202547B1/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

Abstract

데이터에 대한 액세스를 위한 요청을 검증하기 위한 시스템이 제공되며, 이러한 시스템은 제 1 모듈(20) 및 제 2 모듈(30)을 포함한다. 제 1 모듈(20)은 암호를 생성하도록 배치되고, 제 2 모듈은 데이터에 대한 요청과 관련된 암호를 수신하고, 수신된 암호를 검증하며, 요청된 데이터에 대한 액세스를 가능하게 하도록 배치된다. 시스템은 제 1 및 제 2 모듈(20,30)이 여기에 고유하게 할당된 비밀을 공유하며, 공유된 비밀은 상기 암호의 생성 및 검증에 사용하기 위한 것이다. 더욱이, 제 1 모듈(20)은 제 2 모듈(30)로부터 통신이 단절된다.

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 토큰을 소유하고 있는 것으로 결정될 수 있다. 그러나, 인증 서버는 손상할 정도로 취약하여 다른 엔티티로의 무단 유통(distribution)을 용이하게 하고, 유통된 OTP 생성 키로 (불법적) 액세스하는 모든 사람이 이러한 키와 관련된 사람을 대신하여 데이터에 액세스할 수 있도록 한다.
미국 특허 제7,721,107호는 장치의 사용자가 인간인지를 검증하는 특정 방법을 개시한다. 상술한 방법에서, OTP에 대한 액세스를 요청하는 장치의 사용자에게는 장치의 사용자 인터페이스의 제 1 영역을 통해 "상호 작용 명령어(interaction instructions)"가 제공된다. 일례에서, 사용자는 일련의 숫자를 사용자 인터페이스의 제 2 영역에 입력하도록 지시를 받고; 다른 예에서, 사용자는 사용자 인터페이스의 제 2 영역(예를 들어, 터치 스크린) 내에서 곡선을 트레이싱(tracing)하는 것과 같은 물리적 동작을 수행하도록 지시를 받는다. 그 후, 장치는 사용자가 정확한 숫자를 입력하고 정확한 곡선 등을 트레이싱하는지를 판정하며, 그럴 경우, 장치는 요청된 OTP를 사용자에게 제공한다. 그러나, 상호 작용 명령어를 제공하는 모듈 및 상호 작용 명령어에 대한 사용자의 응답을 처리하는 모듈이 통신 가능하게 접속되는 경우, 사용자는 상호 작용 명령어에 액세스하여 장치에 적절하게 응답함으로써 자신을 장치에 부정하게 인증할 수 있다.
본 발명의 제 1 양태에 따르면, 데이터에 대한 액세스를 위한 요청을 검증하는데 사용하기 위한 시스템이 제공되며, 이러한 시스템은 암호를 생성하여 제 1 모듈의 인터페이스를 통해 생성된 암호를 출력하도록 배치된 제 1 모듈; 데이터에 대한 요청과 관련된 암호를 수신하고, 수신된 암호를 검증하며, 요청된 데이터에 대한 액세스를 가능하게 하도록 배치되는 제 2 모듈을 포함하는데, 상기 수신된 암호는 제 2 모듈의 인터페이스를 통해 수신되고, 제 1 모듈에 의해 생성된 암호에 대응하며, 제 1 및 제 2 모듈은 상기 암호의 생성 및 검증에 사용하기 위한 제 1 및 제 2 모듈에 고유하게 할당된 비밀을 공유하며, 제 1 모듈은 제 2 모듈로부터 통신이 단절된다.
공유된 비밀은 제 2 모듈의 사용자로부터 수신된 암호가 제 1 모듈에 의해 생성된 암호와 일치하는지를 제 2 모듈이 판정하여, 제 2 모듈이 수신된 암호를 검증하게 할 수 있다. 이러한 비밀이 제 1 및 제 2 모듈에 고유 할당될 때(즉 비밀과 암호를 생성하기 위한 모듈 사이의 일대일 매핑, 및 또한 비밀과 암호를 검증하기 위한 모듈 사이의 일대일 매핑이 존재할 때), 비밀이 손상되는 경우, 이러한 2개의 모듈만이 새로운 비밀로 재구성될 필요가 있다. 이것은 주어진 OTP 키가 한쌍의 모듈에 대해서보다는 사람에게 고유하게 관련되고, 많은 서로 다른 사람에 대한 많은 서로 다른 OTP 키를 보유한 OTP 검증 서버에 유지되는 배경 기술 부분에서 설명된 공지된 OTP 시스템과는 대조적이다. 이것은 OTP 검증 서버와 암호를 생성하기 위한 OTP 키를 사용하는 장치 사이의 일대다 관계(one-to-many relationship)를 생성한다. 그렇다면, OTP 검증 서버가 손상될 경우, 데이터는 키가 데이터, 자산 또는 서비스에 대한 액세스를 제어하기 위해 사람의 OTP 키를 사용하는 임의의 장치를 통해 검증 서버에 의해 유지되는 사용자를 대신하여 액세스될 수 있다. OTP 키는 일반적으로 다수의 OTP 토큰 및 또한 인증 서버 둘 다에 저장됨에 따라, 인증 서버가 사람에게 새로운 OTP 생성 키를 재할당하고, 새로운 OTP 생성 키로 OTP 토큰의 새로운 세트를 구성하기 위해 인증 서버가 필요로 될 때 새로운 OTP 키를 확립하는 것은 인증 서버에 상당히 부담이 될 수 있다.
이점으로, 상기 제 2 모듈은 비밀이 제 2 모듈 및 추가의 모듈에 할당되는 구성 프로세스 동안 페어링된(paired) 추가의 모듈과 관련된 암호를 검증하도록 배치된다. 추가의 모듈은 제 3 자(third party)의 모듈일 수 있으며, 이 경우에, 비밀은 제 3 자에 의해 알려진 특정 사용자와 관련될 수 있다. 따라서, 제 2 모듈은 제 2 모듈의 사용자가 제 3 자에 의해 알려진 사용자인지를 검증하기 위해 비밀을 사용할 수 있다.
배치에서, 상기 제 1 모듈 및 상기 제 2 모듈은 장치의 복합 부품이다. 이 경우에, 제 2 모듈의 사용자가 제 1 모듈로부터 암호를 검색하여 제 2 모듈에 입력할 수 있다면, 제 2 모듈의 사용자는 제 1 모듈을 소유하며, 따라서 또한 제 2 모듈을 소유할 가능성이 매우 높다. 따라서, 제 2 모듈이 제 2 모듈의 사용자로부터 수신된 암호를 검증하는 경우, 사용자는 제 2 모듈을 소유할 가능성이 매우 높다. 다시 말하면, 장치의 사용자는 장치를 원격적으로 제어하지 않을 것 같다.
일 실시예에서, 상기 제 1 모듈 및 상기 제 2 모듈은 장치 내에 통합된다. 예를 들면, 이러한 모듈은 배터리를 공유할 수 있다.
일 배치에서, 상기 장치는 고유 장치 식별자를 가지며, 상기 생성 및 수신된 암호는 고유 장치 식별자에 따라 생성되고 검증된다. 이것은 제 2 모듈의 사용자가 장치를 소유하고 있다는 추가적인 보증(assurance)을 제공한다.
이점으로, 상기 공유된 비밀은 제 2 모듈의 보안 요소에 저장된다. 이것은 제 1 모듈에 의해 생성되는 암호를 결정하기 위해 제 2 모듈의 사용자가 수신된 암호를 검증하는데 사용된 비밀에 액세스하는 것을 방지한다.
실시예에서, 상기 공유된 비밀은 제 1 모듈의 보안 요소에 저장된다. 이것은 제 1 모듈의 사용자가 암호를 생성하는데 사용된 비밀에 액세스하는 것을 방지한다.
일 배치에서, 제 2 모듈은 요청된 데이터에 대한 액세스를 가능하게 하는데 사용하기 위한 데이터를 송신하여 요청된 데이터에 대한 액세스를 가능하게 하도록 배치된다. 이것은 요청된 데이터가 제 3 자에 의해 외부에서 보유되는 경우, 또는 암호가 시간에 따라 생성되고 검증되는 특정한 경우에 특히 유용하지만, 제 2 모듈은 제 1 모듈의 클록과 동기화되는 클록을 갖지 않는다.
실시예에서, 제 1 모듈은 데이터에 대한 상기 액세스를 위한 요청에 관련된 입력에 응답하여 상기 생성된 암호를 생성하도록 배치된다.
이점으로, 제 1 모듈은 데이터에 대한 액세스를 위한 요청에 관련된 후속 입력에 응답하여 후속 암호를 생성하도록 배치되고, 후속 생성된 암호는 이전에 생성된 암호와 상이하다. 따라서, 원격 사용자가 (예를 들어 제 2 모듈의 인터페이스를 통해) 제 1 및 제 2 모듈을 모두 소유하고 있는 사용자가 입력한 암호를 관찰한 경우, 암호의 유효 기간이 만료되었을때 원격 사용자는 추가의 데이터에 액세스하기 위해 관찰된 암호를 재사용할 수 없다.
대안적으로, 제 1 모듈은 일정한 시간 간격에서 암호를 생성하도록 배치되고, 각각의 연속 생성된 암호는 이전에 생성된 암호와 상이하다. 이 경우에, 특정 생성된 암호는 미리 정해진 기간 동안에만 유효하며, 따라서 제 1 및 제 2 모듈을 모두 소유하고 있는 사용자가 입력한 암호를 관찰한 원격 사용자는 미리 정해진 기간의 밖에서 이러한 암호를 재사용할 수 없다.
일 배치에서, 상기 암호는 적어도 상기 공유된 비밀 및 현재 시간에 따라 생성되고 검증된다.
특정 배치에서, 제 1 모듈은 암호를 생성하는데 사용하기 위한 제 1 클록을 포함하고, 제 2 모듈은 수신된 암호를 검증하는데 사용하기 위한 제 2 클록을 포함하며, 제 1 및 제 2 클록은 동기화된다.
다른 배치에서, 제 1 모듈은 암호를 생성하는데 사용하기 위한 클록을 포함하고, 제 2 모듈은 수신된 암호를 검증하는데 사용하기 위한 타임스탬프를 수신하도록 배치되며, 타임스탬프는 제 1 모듈의 클록과 동기화되는 클록을 갖는 제 3 자로부터 수신된다. 이것은 제 2 모듈이 제 1 클록과 동기화되는 클록을 갖는데 필요로 되지 않는 이점을 갖는다.
추가의 대안적인 배치에서, 제 1 모듈은 암호를 생성하는데 사용하기 위한 클록을 포함하고, 제 2 모듈은 수신된 암호를 검증하는데 사용하기 위한 타임스탬프를 수신하도록 배치되며, 데이터에 대한 액세스를 가능하게 하는데 사용하기 위한 제 2 모듈에 의해 송신된 상기 데이터는 제 1 모듈의 클록과 동기화되는 클록을 가진 제 3 자로 송신되고, 상기 수신된 암호를 검증하는데 사용된 타임스탬프의 표시를 포함한다. 이것은 제 2 모듈이 제 1 클록과 동기화되는 클록을 갖는데 필요로 되지 않는 이점을 갖는다.
일 실시예에서, 데이터에 대한 액세스를 가능하게 하는데 사용하기 위한 제 2 모듈에 의해 송신된 상기 데이터는 수신된 암호가 유효하다는 판정을 나타내는 데이터를 포함한다. 제 2 모듈은 사용자 인터페이스를 포함할 수 있고, 사용자 인터페이스를 통해 제 2 모듈의 사용자로부터 데이터에 대한 액세스를 위한 요청을 수신하도록 배치될 수 있다.
일 배치에서, 제 2 모듈은 인간을 고유하게 식별하는 제 2 모듈의 사용자 인터페이스를 통해 정보를 수신하도록 더 배치되고, 데이터에 대한 액세스를 가능하게 하는데 사용하기 위한 제 2 모듈에 의해 송신된 상기 데이터는 상기 인간을 고유하게 식별하는 데이터를 포함한다.
본 발명의 제 2 양태에 따르면, 데이터에 대한 액세스를 위한 요청을 검증하는 방법이 제공되며, 이러한 방법은 제 1 모듈에서 암호를 생성하여 제 1 모듈의 인터페이스를 통해 생성된 암호를 출력하는 단계; 제 2 모듈에서 제 2 모듈의 인터페이스를 통해 데이터에 대한 요청과 관련된 암호를 수신하는 단계로서, 상기 수신된 암호는 제 1 모듈에 의해 생성된 암호에 대응하는 수신하는 단계; 제 2 모듈에서 상기 수신된 암호를 검증하는 단계; 및 제 2 모듈에서 요청된 데이터에 대한 액세스를 가능하게 하는 단계를 포함하는데, 제 1 및 제 2 모듈은 상기 암호의 생성 및 검증에 사용하기 위한 제 1 및 제 2 모듈에 고유하게 할당된 비밀을 공유하며, 제 1 모듈은 제 2 모듈로부터 통신이 단절된다.
본 발명의 제 3 양태에 따르면, 장치를 소유하고 있는 인간으로부터 유래되는 요청으로서 장치에서 수신된 데이터에 대한 요청을 검증하는데 사용하기 위한 시스템이 제공되며, 이러한 시스템은 암호를 생성하여 제 1 모듈의 인터페이스를 통해 생성된 암호를 출력하도록 배치된 제 1 모듈; 데이터에 대한 요청과 관련된 암호를 수신하고, 수신된 암호를 검증하며, 데이터에 대한 액세스를 가능하게 하도록 배치되는 제 2 모듈을 포함하는데, 상기 수신된 암호는 제 2 모듈의 인터페이스를 통해 수신되고, 제 1 모듈에 의해 생성된 암호에 대응하며, 제 1 모듈 및 제 2 모듈은 장치의 복합 부품이고, 제 1 모듈은 제 2 모듈로부터 통신이 단절된다.
제 1 및 제 2 모듈이 서로 통신이 단절될 때, 제 2 모듈의 사용자가 제 1 모듈에 의해 생성된 암호를 검색할 수 있는 경우, 제 2 모듈의 사용자가 제 1 모듈을 소유할 가능성이 있는 것으로 이해된다. 더욱이, 제 1 및 제 2 모듈이 단일 장치의 복합 부품인 경우, 그리고 나서 제 2 모듈의 사용자가 제 1 모듈을 소유하고 있는 경우, 사용자는 또한 제 2 모듈을 소유해야 한다. 제 1 모듈에 의해 생성된 암호가 제 1 모듈의 사용자 인터페이스를 통해 표시되고, 제 2 모듈의 사용자 인터페이스를 통해 수신되는 경우, 제 2 모듈은 데이터에 대한 액세스를 위한 요청이 장치를 소유하고 있는 인간으로부터 생성된다는 적정한 수준의 신뢰도로 결정할 수 있다. 이것은 제 1 모듈이 제 2 모듈로부터 통신이 단절될 때 제 1 모듈에 의해 생성된 암호를 자동으로 제 2 모듈로 송신하는 수단이 없기 때문이며, 따라서 암호는 제 1 모듈의 사용자 인터페이스로부터 판독되어, 제 2 모듈의 사용자 인터페이스를 통해 수동으로 입력시켜야 한다.
편리하게도, 상기 제 1 모듈 및 상기 제 2 모듈은 장치 내에 통합된다.
일 배치에서, 제 1 및 제 2 모듈은 상기 암호의 생성 및 검증에 사용하기 위한 비밀을 공유한다. 이 경우에, 제 2 모듈은 제 2 모듈의 사용자로부터 수신된 암호가 제 3 자를 이용하지 않고 제 1 모듈에 의해 생성된 암호와 일치하는지를 판정할 수 있다.
대안적인 배치에서, 제 2 모듈은 수신된 암호를 제 3 자로 송신하고, 수신된 암호가 유효한 제 3 자로부터 표시를 수신하며, 이를 통해 수신된 암호를 검증하도록 배치된다. 이 경우에, 제 2 모듈은 비밀로 구성될 필요가 없다.
추가의 대안적인 배치에서, 제 2 모듈은 수신된 암호를 제 3 모듈에 의해 생성된 암호와 비교하여 수신된 암호를 검증하도록 배치된다.
일 실시예에서, 제 1 모듈은 데이터에 대한 상기 액세스를 위한 요청과 관련된 입력에 응답하여 상기 암호를 생성하도록 배치된다.
이점으로, 제 1 모듈은 데이터에 대한 액세스를 위한 요청과 관련된 후속 입력에 응답하여 후속 암호를 생성하도록 배치되며, 후속 생성된 암호는 이전에 생성된 암호와 상이하다.
대안적인 실시예에서, 제 1 모듈은 일정한 시간 간격에서 암호를 생성하도록 배치되며, 각각의 연속 생성된 암호는 이전에 생성된 암호와 상이하다.
본 발명의 제 4 양태에 따르면, 장치를 소유하고 있는 인간으로부터 유래되는 요청으로서 장치에서 수신된 데이터에 대한 요청을 검증하는 방법이 제공되며, 이러한 방법은 제 1 모듈에서 암호를 생성하여 제 1 모듈의 인터페이스를 통해 생성된 암호를 출력하는 단계; 제 2 모듈에서 제 2 모듈의 인터페이스를 통해 데이터에 대한 요청과 관련된 암호를 수신하는 단계로서, 상기 수신된 암호는 제 1 모듈에 의해 생성된 암호에 대응하는 수신하는 단계; 제 2 모듈에서 수신된 암호를 검증하는 단계; 및 제 2 모듈에서 데이터에 대한 액세스를 가능하게 하는 단계를 포함하는데, 제 1 모듈 및 제 2 모듈은 장치의 복합 부품이고, 제 1 모듈은 제 2 모듈로부터 통신이 단절된다.
본 발명의 추가의 특징 및 이점은 예로서만 주어지고, 첨부된 도면을 참조하여 행해지는 본 발명의 바람직한 실시예의 다음의 설명으로부터 명백해진다.
도 1은 본 발명의 실시예에 따른 시스템의 블록도를 도시한다.
도 2는 본 발명의 실시예에 따른 방법을 개략적으로 도시한다.
도 3은 본 발명의 실시예에 따른 시스템의 블록도를 도시한다.
도 4는 본 발명의 실시예에 따른 방법을 개략적으로 도시한다.
도 5는 본 발명의 실시예에 따른 방법을 개략적으로 도시한다.
도 6은 본 발명의 실시예에 따른 방법을 개략적으로 도시한다.
도 7은 본 발명의 실시예에 따른 방법을 개략적으로 도시한다.
본 발명의 실시예는 요청된 데이터, 자산 또는 서비스에 대한 액세스를 가능하게 하는지를 판정하는 것과 관련된다. 도 1은 본 발명의 실시예에 따른 시스템(10)의 블록도를 도시한다. 시스템(10)은 제 1 모듈(20) 및 제 2 모듈(30)을 포함한다. 제 1 모듈(20)은 암호를 생성하도록 배치되고, 제 2 모듈(30)은 시스템(10)의 사용자로부터 암호를 수신하고, 수신된 암호를 검증하도록 배치된다. 필수적인 것은 아니지만, 일 실시예에서, 제 1 및 제 2 모듈(20, 30)의 각각은 각각의 사용자 인터페이스(21, 31)를 포함한다. 사용자 인터페이스(21, 31)는 통상적으로 적어도 하나의 입력 또는 출력을 포함한다. 장치의 사용자 인터페이스의 입력은 예를 들어 키보드, 마우스, 터치 스크린, 마이크로폰 또는 사용자가 장치에 대한 입력을 제공하도록 하는 임의의 다른 구성 요소일 수 있다. 장치의 사용자 인터페이스의 출력은 예를 들어 스크린, 스피커, 또는 장치로부터의 정보를 사용자 인터페이스의 사용자로 출력할 수 있는 임의의 다른 구성 요소일 수 있다. 제 1 모듈(20)의 사용자 인터페이스(21)는 생성된 암호를 제 1 모듈(20)의 사용자에 제공하도록 구성되고, 제 2 모듈(30)의 사용자 인터페이스(31)는 제 2 모듈(30)의 사용자로부터 암호를 수신하도록 구성된다. 본 실시예에서, 제 1 모듈(20) 및 제 2 모듈(30)은 전체적으로 데이터에 대한 액세스를 위한 요청이 제 2 모듈(30)을 소유하고 있는 사용자로부터 생성된 가능성이 있는지를 판정하도록 구성되는 별도의 장치이다. 일례로서, 2개의 모듈(20,30)은 함께 제조되고 판매될 수 있고, 특정 사람이 소유할 수 있다. 제 2 모듈(30)은 일례에서 무선 장치(또는 무선 장치의 구성 요소)일 수 있다. 일 배치에서, 제 1 및 제 2 모듈(20,30)은 단일 무선 장치의 구성 요소일 수 있다.
제 2 모듈(30)은 제 2 모듈(30)의 사용자 인터페이스(31)를 통해 제 2 모듈(30)을 소유하고 있는 사용자의 제어 하에 동작할 수 있거나, 제 2 모듈(30)에 대한 통신 링크를 갖는 원격 엔티티의 제어 하에 동작할 수 있다. 아래에 더욱 상세히 설명되는 바와 같이, 제 1 모듈(20)은 제 1 모듈(20)의 사용자 인터페이스(21)를 통해 제어될 수 있고, 제 2 모듈(30)로부터 통신이 단절되며, 따라서 제 2 모듈(30)의 사용자 인터페이스(31)를 통해 제어될 수 없다.
제 2 모듈(30)은 특정 사람과만 관련된 기밀 데이터를 저장하는 장치의 복합 부품일 수 있다. 특정 예로서, 제 2 모듈(30)은 데이터를 해독하기 위한 사용자 제한된 암호화 키를 저장할 수 있다. 추가적으로 또는 대안적으로, 제 2 모듈(30)은 제 3 자에 의해 외부에 저장되는 기밀 데이터에 대한 액세스를 제공하거나 용이하게 할 수 있다. 이러한 후자의 경우에, 데이터가 특정 사람에 제공되는 것(다시 말하면, 데이터가 사용자 제한될 수 있는 것)으로 판정될 경우에 제 3 자는 데이터에 대한 액세스만을 허용할 수 있다. 상술한 바와 같이, 제 3 자가 특정 장치를 통해 사용자 제한된 데이터에 대한 액세스를 승인하기 전에, 제 3 자는 장치의 소유자가 장치와 소유자 사이의 관련성을 등록하는 것을 필요로 한다. 그리고 나서, 이 경우에, 제 3 자는 단지 특정 사람에 의해 수신되도록 의도되는 데이터를 이러한 사람과 관련되는 장치로 송신할 수 있다. 본 예에서, 제 2 모듈(30)은 특정 사람과의 등록 관련성을 가질 수 있으며, 따라서 제 2 모듈(30)의 소유자에게 의도되는 데이터에 대한 액세스는 제 2 모듈(30)만을 통해 액세스될 수 있다.
제 2 모듈(30)이 통신 모듈을 포함할 때, 권한이 없는 사람이 제 2 모듈(30)에 대한 접속을 행하고, 기밀 데이터를 유지하는 제 3 자에게 요청을 송신하기 위해 제 2 모듈(30)을 원격적으로 제어할 수 있다는 것이 이해될 것이다. 제 2 모듈(30)은 데이터에 대한 액세스를 위한 요청이 제 2 모듈(30)을 소유한 사용자 또는 제 2 모듈(30)로부터 떨어진 사용자에 의해 행해진 것으로 판정할 수 있는 경우에는, 적당한 응답 동작을 취할 수 있으며, 예를 들어 요청이 원격 사용자에 의해 행해졌다는 판정할 시에 제 2 모듈(30)의 추가의 사용을 허용하지 않을 수 있다.
이제 설명되는 바와 같이, 실시예는 이러한 판정을 수행하는 수단을 제공한다. 제 1 및 제 2 모듈(20,30)은 암호를 생성하고 암호를 검증할 시에 모두 사용하기 위한 공유 비밀로 구성된다. 특히, 제 1 모듈(20)은 비밀에 기초하여 암호를 생성하도록 구성되는 회로 및/또는 소프트웨어를 포함하고, 제 2 모듈(30)은 비밀에 기초하여 제 2 모듈(30)의 사용자로부터 수신된 암호가 제 1 모듈(20)에 의해 생성된 암호와 일치하는지를 판정하도록 구성되는 회로 및/또는 소프트웨어를 포함한다. 도 1에 도시된 특정 실시예에서, 이러한 비밀은 제 1 및 제 2 모듈(20,30)에 고유하게 할당된다. 다시 말하면, 비밀은 제 1 및 제 2 모듈(20,30)과만 관련된다. 하나의 배치에서, 제 1 및 제 2 모듈(20,30)는 변조 방지(tamper-resistant)되고, 즉 제 1 및 제 2 모듈(20,30) 내에 저장된 비밀 및 암호를 생성하는 데 사용된 알고리즘은 변경될 수 없다.
본 실시예에서, 시스템(10)은 제 1 모듈(20)이 제 2 모듈(30)로부터 통신이 단절되도록 구성된다. 다시 말하면, 시스템(10)은 2개의 모듈(20,30) 사이에서 (직간접적으로) 통신하는 수단이 없도록 구성된다. 특정한 일 실시예에서, 2개의 모듈(20,30) 사이의 통신은 서로 물리적으로 분리되는 모듈(20,30)에 의해 방지된다. 그러나, 2개의 모듈(20,30)은 예를 들어 임의의 공동 회로 또는 시스템 인터페이스를 공유하지 않거나 서로 정보를 교환하는 임의의 다른 수단을 포함하지 않는 경우에 통신이 단절되면서 물리적으로 접속(즉, 통합)될 수 있다는 것이 이해될 것이다.
도 2는 본 실시예에 따른 예시적인 방법을 개략적으로 도시한다. 이러한 방법에서, 제 2 모듈(30)의 사용자(35)는 데이터에 대한 액세스를 위한 요청(단계(40))을 한다. 데이터에 대한 액세스를 위한 요청(단계(40))은 예를 들어 사용자가 제한된 웹페이지에 대한 액세스를 위한 요청, 기밀 정보에 대한 액세스를 위한 요청, 서비스에 대한 액세스를 가능하게 할 시에 사용하기 위한 데이터에 대한 액세스를 위한 요청일 수 있다. 일반적으로, 제 2 모듈(30)의 사용자(35)가 액세스하기를 바라는 데이터는 시스템(10)의 구성 요소에 저장되거나 이러한 구성 요소에 의해 생성된 데이터일 수 있거나, 시스템(10) 외부에 있는 엔티티(예를 들어 외부 데이터베이스 또는 서버)에 저장되거나 이러한 엔티티에 의해 생성되는 데이터일 수 있다는 것이 이해될 것이다. 제 2 모듈(30)의 사용자(35)가 액세스하기를 바라는 데이터는 예를 들어 시스템(10) 외부에 있는 서버에 호스팅되는 제한된 웹페이지일 수 있고, 이 경우에, 웹 페이지에 대한 액세스는 데이터를 제 2 모듈(30)로 송신하는 서버에 의해 가능하게 될 수 있다. 제 2 모듈(30)에 의해 송신된 데이터에 포함되는 정보는 아래에 더욱 상세히 설명된다.
단계(40)에서 데이터에 대한 액세스를 위한 요청에 응답하여, 제 2 모듈(30)은 사용자가 제 1 모듈(20)에 의해 생성된 암호를 입력하도록 촉구한다. 이러한 예에서, 제 2 모듈(30)의 사용자(35)는 또한 (도 2에서 점선으로 개략적으로 도시된 바와 같이) 제 1 모듈(20)의 사용자(25)이며, 따라서 사용자는 예를 들어 제 1 모듈의 사용자 인터페이스(21)의 버튼을 누르거나 그렇지 않으면 암호가 필요한 제 1 모듈(20)에 나타냄으로써 제 1 모듈(20)이 암호를 생성하도록 한다(단계(50)).
응답하여, 제 1 모듈(20)은 제 1 및 제 2 모듈(20,30)에 고유 할당되는 비밀을 사용하여 제 1 모듈(20)의 사용자(25)에게 제공되는 암호를 생성한다(단계(60)). 생성된 암호는 예를 들어 일련 번호, 일련 문자, 문자 및 캐릭터 또는 이미지의 조합일 수 있고, 예를 들어 사용자 인터페이스(21)의 화면 상에서 제 1 모듈(20)의 사용자(25)에게 제시될 수 있다.
대안적으로, 제 1 모듈(20)은 일정한 시간 간격에서 (공유 비밀에 따라) 암호를 생성할 수 있고, 제 1 모듈(20)의 사용자 인터페이스(21)에서 가장 최근에 생성된 암호를 자동으로 제공할 수 있다.
어떤 경우에도, 제 2 모듈(30)의 사용자(35)가 제 1 모듈(20)의 사용자(25)이면, 사용자는 제 1 모듈(20)에 의해 생성된 암호를 제 2 모듈(30)의 사용자 인터페이스(31)에 입력할 수 있다(단계(70)). 그 다음, 제 2 모듈(30)은 제 1 및 제 2 모듈(20,30)에 고유 할당되는 비밀을 사용하여 제 2 모듈(30)의 사용자(35)로부터 수신된 암호가 제 1 모듈(20)에 의해 생성된 암호와 동일한지를 검증한다. 수신된 암호를 검증할 시에, 제 2 모듈(30)은 요청된 데이터에 대한 액세스를 가능하게 한다(단계(80)).
제 1 모듈(20)에 의해 생성되는 암호가 제 2 모듈(30)에 입력되면, 암호는 이전에 제 1 모듈(20)로부터 검색되어야 하는 것이 이해될 것이다. 제 1 모듈(20)이 제 2 모듈(30)로부터 통신이 단절되면, 사용자(35)는 제 1 모듈(20)뿐만 아니라 제 2 모듈(30)도 소유하며, 따라서 제 1 모듈(20)로부터 암호를 검색하여 제 2 모듈(30)에 수동으로 입력할 수 있을 가능성이 높다.
이점으로, 제 1 모듈(20) 및 제 2 모듈(30)은 각각 보안 SIM 카드 또는 보안 메모리 카드와 같은 각각의 보안 요소(22,32)를 포함할 수 있고, 제 1 및 제 2 모듈(20,30)에 고유 할당되는 비밀은 제 1 및 제 2 모듈(20,30)의 보안 요소(22,32)에 저장된다. 다시 말하면, 제 1 및 제 2 모듈(20,30)에 고유 할당되는 비밀은 이러한 모듈(20,30)의 사용자(25,35)에 의해 액세스될 수 없는 제 1 및 제 2 모듈(20,30)의 부분 내에 저장된다. 이 경우에, 비밀은 제조 시와 바람직한 실시예에서 제 1 및 제 2 모듈(20,30)의 보안 요소(22,32)에 제공될 수 있고, 보안 요소(22,32)는 모듈(20,30)의 다른 구성 요소에 대해 별도로 제조되며, 따라서 모듈(20,30)과 보안 요소(22,32)에 저장된 비밀 사이의 관련은 시스템(10) 외부의 임의의 엔티티에 의해 알려질 수 없다. 보안 요소(22,32) 내에 비밀을 저장한다는 것은 모듈(20,30) 중 하나 상의 사용자(25,35)가 비밀을 발견하지 못하게 하고, 이에 의해 요청된 데이터를 액세스하기 위해 제 2 모듈(30)에 입력될 필요가 있는 암호를 해결할 수 있고, 또한 사용자(25,35)가 암호를 생성시키기 위한 알고리즘을 변경하지 못하게 하며, 이에 의해 제 1 모듈(20)이 거짓 응답을 생성하도록 할 수 있다.
본 실시예의 하나의 특정한 이점은 암호를 생성하고 검증하기 위한 비밀이 제 1 및 제 2 모듈(20,30)에 고유하게 할당된다는 사실로부터 발생한다. 보다 구체적으로는, 비밀과, 암호를 검증하기 위해 비밀을 사용하는 모듈(30) 사이의 일대일 매핑, 및 또한 비밀과, 암호를 생성하기 위해 비밀을 사용하는 모듈(20) 사이의 일대일 매핑이 존재하기 때문에, 그 후 비밀이 손상되는 경우, 모듈(20,30)은 (다시 모듈(20,30)에 고유 할당되는) 새로운 비밀로만 재구성될 필요가 있다. 이것은 예를 들어 모듈(20,30)의 보안 요소(22,32)를 새로운 비밀을 저장한 새로운 보안 요소로 대체함으로써 달성될 수 있다. 이것은 주어진 OTP 키가 한 쌍의 모듈(20,30)보다는 특정 사용자에 고유 관련된 배경 기술 부분에서 설명된 공지된 OTP 시스템과는 대조적이다. 이러한 공지된 시스템에서, OTP 키와, 암호를 생성하기 위해 OTP 키를 사용하는 장치 사이의 일대다 관계가 존재할 수 있다. 그렇다면, OTP 키가 손상되는 경우, 데이터는 OTP 키를 사용하는 임의의 장치를 통해 해당 사용자를 대신하여 액세스될 수 있다. OTP 키가 통상적으로 다수의 OTP 토큰 및 또한 인증 서버에 모두 저장될 경우, 인증 서버가 새로운 OTP 생성 키를 해당 사용자에 재할당하고, 새로운 OTP 생성 키로 OTP 토큰의 새로운 세트를 구성하는데 모두 필요로 될 때 새로운 OTP 키를 확립하는 것은 인증 서버에 상당히 부담이 될 수 있다.
일 배치에서, 제 2 모듈(30)은 또한 제 3 자의 모듈과 같은 추가의 모듈과 쌍을 이루게 되고, 이 추가의 모듈과 관련된 암호를 검증하도록 배치된다. 이 경우, 제 2 모듈(30)은 비밀이 제 2 모듈(30) 및 추가의 모듈 모두에 할당되는 구성 프로세스 동안 추가의 모듈과 쌍을 이루게 되었을 수 있다. 일반적으로, 제 2 모듈(30)은 다수의 추가의 모듈과 쌍을 이루게 될 수 있다는 것이 이해될 수 있다.
상술한 바와 같이, 도 1에 도시되고, 2개의 모듈(20,30)이 별도의 장치인 실시예에서, 제 2 모듈(30)의 등록된 소유자가 아니지만, 제 2 모듈(30)로 통신 링크를 확립하여, 제 2 모듈(30)을 원격적으로 제어하는 제 2 모듈(30)의 원격 사용자는 제 1 모듈(20)을 소유한다는 것이 가능하다. 예를 들면, 원격 사용자는 제 1 모듈(20)을 도난당할 수 있다. 원격 사용자는 통신 링크를 통해 데이터에 대한 액세스를 요청한 다음에, 제 1 모듈(20)에 의해 생성된 암호를 검색하여, 이것을 통신 링크를 통해 제 2 모듈(30)에 입력할 수 있다. 이 경우에, 제 2 모듈(30)은 데이터에 대한 액세스를 위한 요청을 검증하고, 원격 사용자가 데이터에 액세스할 수 있도록 한다. 다시 말하면, 원격 사용자가 제 1 모듈(20)로부터 암호를 검색하여 제 2 모듈(30)에 입력할 수 있기 때문에 제 1 모듈(20)을 소유한 원격 사용자는 제 1 및 제 2 모듈(20,30) 둘다를 소유하고 있는 제 2 모듈(30)의 등록된 사용자와 구별될 수 있다.
도 3은 이러한 시나리오를 다루는 특정 실시예의 블록도를 도시한다. 이러한 배치에서, 제 1 및 제 2 모듈(20,30)은 단일 장치(90)의 복합 부품이다. 모듈(20, 30)은 장치(90)내에 물리적으로 분리될 수 있거나, 모듈(20,30)은 장치(90)내에 물리적으로 접속(즉, 통합)될 수 있다. 이점으로, 이들은 (도시되지 않은) 전원과 같은 장치(90) 내의 일부 구성 요소를 공유할 수 있다. 어쨌든, 제 1 및 제 2 모듈(20, 30)은 장치(90) 내에서 서로에 대해 통신이 단절된다. 이해되는 바와 같이, 제 1 및 제 2 모듈(20,30)이 단일 장치(90)의 복합 부품인 경우, 제 2 모듈(30)의 사용자(35)가 제 1 모듈(20)을 소유하고 있다면(따라서 제 1 모듈(20)에 의해 생성된 암호를 검색할 수 있다면(60)), 사용자는 또한 제 2 모듈(30)을 소유하고 있어야 한다. 제 1 모듈(20)에 의해 생성된 암호가 사용자 인터페이스(21)를 통해 표시되면, 제 1 및 제 2 모듈(20,30)이 단일 장치의 복합 부품일 때, 제 2 모듈(30)은 데이터(40)에 대한 액세스를 위한 요청이 장치(90)를 소유하고 있는 사용자로부터 생성되는지를 높은 수준의 신뢰도로 판정할 수 있다. 이것은, 제 1 및 제 2 모듈(20,30) 사이에 (직간접적으로) 통신하는 수단이 없는 경우에 제 1 모듈(20)에 의해 생성된 암호를 제 2 모듈(30)로 자동으로 또는 원격적으로 송신하기 위한 수단이 없으며, 따라서 암호는 사용자 인터페이스(21)로부터 물리적으로 검색되고, 제 2 모듈(30)의 사용자 인터페이스(31)를 통해 수동으로 입력시켜야 하기 때문이다.
일 배치에서, 제 1 및 제 2 모듈(20,30)에 고유 할당되는 비밀은 OTP 생성 키이며, 따라서 제 1 모듈(20)에 의해 생성되는 암호는 일회용 암호(OTP)이다. 본 실시예에서, 제 1 모듈(20)에 의해 생성된 후속 암호는 이전에 생성된 암호와 상이하고, 각각의 생성된 암호는 하나의 인증 시도에만 유효하다.
특정한 일 배치에서, 생성된 OTP는 시간 의존적이며, 미리 정해진 기간 동안 유효하다. 대안적인 배치에서, 제 1 모듈(20)은 이전에 생성된 암호 및 OTP 생성 키에 따라 암호를 생성할 수 있다.
본 발명의 특정 실시예에서, 제 1 모듈(20)은 클록을 포함하고, OTP는 현재 시간(즉 제 1 모듈의 클록에 의해 측정되는 바와 같이 OTP가 생성되는 시간) 및 OTP 생성 키에 따라 생성된다. OTP는 OTP 생성 키 및 현재 시간의 암호화 함수일 수 있다. 제 1 모듈(20) 및 제 2 모듈(30)이 장치(90)의 복합 부품인 경우에, OTP는 추가적으로 장치(90)와 고유 관련된 장치 ID에 따라 생성될 수 있다. 이러한 장치 ID는 예를 들어 장치(90)의 CPU ID의 해시 함수, 장치(90)의 GPU ID의 해시 함수, 또는 이의 조합일 수 있다. 이 경우에, OTP는 OTP 생성 키, 장치 ID 및 현재 시간의 암호화 함수일 수 있다. 현재 시간은 본 명세서에서 "생성 시간" TG로서 알려질 것이며, 제 1 모듈(20)의 클록에 대해 측정된 것으로 이해될 것이다. 이 경우에, 생성된 특정 OTP만이 생성 시간 TG에 뒤따라 미리 정해진 기간 내에 사용되는 경우 데이터에 대한 액세스를 위한 요청을 검증하는데 사용될 수 있다.
일 배치에서, 제 2 모듈(30)은 제 1 모듈(20)의 클록(즉, "제 1 클록")과 동기화되는 제 2 클록을 포함할 수 있다. 제 2 모듈(30)이 쉽게 변경할 수 없음에 따라, 제 2 클록은 변경될 수 없으며, 따라서, 제 2 모듈(30)은 제 2 클록이 제 1 클록과 동기화되는 것을 신뢰할 수 있다.
제 2 모듈의 사용자(35)로부터 암호를 수신하면, 제 2 모듈(30)은 제 2 클록 및 OTP 생성 키를 사용하여 제 2 모듈(30)의 사용자(35)로부터 수신되는(70) 암호가 제 2 모듈(30)에 의해 암호가 수신된(70) 시간으로부터 미리 정해진 시간 내의 시간에 제 1 모듈(20)에 의해 생성된 암호와 동일한지를 판정한다. 제 2 모듈(30)에 의해 암호가 수신된(70) 시간은 본 명세서에서 "수신 시간" TR로서 알려질 것이다.
수신된 암호를 검증하기 위해 제 2 모듈(30)에 의해 이용되는 방법은 암호를 생성하기 위해 제 1 모듈(20)에 의해 이용되는 방법에 의존할 것이다. 이러한 많은 방법은 이미 공지되어 있고, 특정 방법은 본 발명의 범위를 벗어나는 것으로 간주된다.
제 2 모듈(30)이 수신된 암호가 수신 시간 TR의 미리 정해진 기간 내에 있는 시간 TG에서 제 2 모듈(30)에 의해 생성된 OTP와 일치하는 것으로 판정하면, 제 2 모듈(30)은 수신된 암호를 검증하며, 따라서 데이터에 대한 액세스를 위한 요청이 제 1 모듈(20)을 소유하고 있는 사용자로부터 생성될 가능성이 있는지를 판정할 수 있다(따라서 제 2 모듈(30)의 원격 제어 시에 있을 가능성이 적다). 요청된 데이터가 제 2 모듈(30)(또는 제 2 모듈이 구성 요소인 장치)에 저장되는 경우에, 제 2 모듈(30)은 요청된 데이터로의 액세스를 가능하게 한다(단계(80)). 대안적으로, 제 2 모듈(30)은 특정 사람(또는 다수의 특정 사람)만이 데이터에 액세스할 수 있도록 구성될 수 있고, 이 경우에, 제 2 모듈(30)은 제 2 모듈(30)의 사용자(35)가 요청된 데이터에 대한 액세스가 승인되기 전에 특정 사람과 관련된 자격 인증서(예를 들어 사용자 이름 및 암호 또는 PIN)를 제 2 모듈(30)에 입력하는 것을 필요로 할 수 있다. 특정 예로서, 제 2 모듈(30)의 사용자(35)는 제 2 모듈(30)의 보안 요소(32)에 유지되는 제한된 파일에 대한 액세스를 요청할 수 있다. 이 경우에, 제 2 모듈이 제 2 모듈(30)의 사용자(35)로부터 단계(70)에서 수신된 암호를 검증하고, 사용자(35)가 해당 파일에 액세스하도록 허용되는 사람과 관련된 정확한 PIN을 공급하면, 제 2 모듈(30)은 해당 파일에 대한 액세스를 가능하게 한다(단계(80)).
제 2 모듈은 일 배치에서 이전에 수신된 암호를 저장할 수 있고, 제 2 모듈(30)의 사용자(35)로부터 특정의 암호를 수신한 경우, 제 2 모듈(30)은 암호가 이전에 수신된 경우에 특정 암호에 관련하여 요청된 데이터에 대한 액세스를 거부할 수 있다. 따라서, 사용자(35)가 (어떤 시간 TG에 제 1 모듈(20)에 의해 생성된) 이전에 검증된 OTP를 복제할 시도를 하는 경우, 복제된 OTP가 TG의 미리 정해진 시간 내에 수신된 것으로 판정날지라도(즉 사용자(35)가 원래의 OTP가 제 2 모듈(30)에 의해 수신된 직후 검증된 OTP를 복제하는 경우) 제 2 모듈(30)은 이전에 수신된 OTP의 복제본으로 OTP를 거부할 것이다.
상술한 바와 같이, 제 1 및 제 2 모듈(20,30)이 장치(90)의 복합 부품인 경우, 제 1 모듈(20)은 장치(90)의 장치 ID에 따라 암호를 생성할 수 있다. 이 경우에, 제 2 모듈(30)의 사용자(35)는 장치 ID를 암호와 함께 제 2 모듈(30)에 입력하는데 필요로 될 수 있다. 그리고 나서, 제 2 모듈(30)은 수신 시간 TR과 함께 사용자(35)에 의해 제공되는 장치 ID를 이용하여 사용자(35)로부터 수신된 암호가 유효한지를 판정할 수 있다. 제 2 모듈(30)은 또한 제 2 모듈(30)의 사용자(35)에 의해 입력된 장치 ID가 장치(90)의 장치 ID와 일치하는지를 별도로 체크할 수 있다. 이 경우에, 사용자(35)로부터 수신된 장치 ID(35)가 정확하지 않다면, 제 2 모듈은 수신된 암호가 유효한지 여부에 관계없이 요청된 데이터에 대한 액세스를 거부할 수 있다. 장치(90)의 고유 장치 ID를 제공하기 위해 사용자(35)를 필요로 하는 것은 제 2 모듈(30)의 사용자(35)가 장치(90)를 소유하고 있다는 신뢰도를 증가시킨다. 장치 ID는 대안적으로 장치(90)의 응용 프로그래밍 인터페이스에 의해 제 2 모듈(30)에 제공될 수 있다. 이것은 제 2 모듈(30)이 도난당하지 않고, 서로 다른 장치에서 교체되지 않았다는 몇몇 추가적인 보증을 제공한다.
다른 배치에서, 제 1 모듈(20)의 클록과 동기화되는 클록으로 구성되기 보다는, 제 2 모듈(30)은 대신에 제 2 모듈(30)의 외부에 있는 대안적인 시간 소스에 액세스할 수 있다. 특정 예로서, 제 1 및 제 2 모듈(20,30)이 장치(90)의 복합 부품인 경우, 제 2 모듈(30)은 장치(90)의 클록에 액세스할 수 있고, 장치(90)의 클록은 시간 소스로서 사용될 수 있다. 이 경우에, 제 2 모듈의 사용자(35)로부터 암호를 수신하면, 제 2 모듈(30)은 시간 소스로부터 (암호가 수신된 시간 TR을 나타내는) 신뢰할 수 없는 타임스탬프를 획득할 수 있고, 상술한 바와 같이 수신된 암호를 검증하기 위해 (공유 비밀과 선택적으로 또한 제 2 모듈(30))의 사용자(35)로부터 수신된 장치 ID와 함께) 신뢰할 수 없는 타임스탬프를 사용할 수 있다.
설명을 통해, 신뢰할 수 없는 시간 소스는 예를 들어 제 2 모듈의 지식으로 무단으로 변경되거나 제 2 모듈의 지식 없이 변경될 수 있는 시간 소스, 또는 쉽게 복제될 수 있는 인증되지 않은 타임스탬프를 제공하는 시간 소스일 수 있다. 위의 특정 예에서, 장치(90)의 클록은 원격 사용자에 의해 변경될 수 있으며, 따라서 제 2 모듈(30)에 의해 신뢰할 수 없다.
이러한 특정 배치에서, 제 2 모듈(30)이 수신된 암호를 검증하면, 제 2 모듈(30)은 수신된 암호를 검증하는데 이용되는 타임스탬프(즉 신뢰할 수 없는 타임스탬프 TR)를 포함하는 메시지를 제 1 모듈(20)의 클록과 동기화되는 클록을 가진 신뢰할 수 있는 제 3 자로 송신한다. 아래에 더욱 상세히 논의되는 바와 같이, 신뢰는 서명에 사용하기 위한 암호화 키를 공유하여 제 3 자와 제 2 모듈(30) 사이에서 확립될 수 있으며, 이에 의해 그 사이로 송신된 메시지를 인증할 수 있다.
신뢰할 수 없는 타임스탬프를 포함하는 메시지를 수신하면, 제 3 자는 타임스탬프에 의해 나타낸 시간 TR이 제 3 자의 클록에 의해 측정되는 바와 같이 현재 시간의 미리 정해진 범위 내에 있는지를 판정한다. 시간 TR이 현재 시간의 미리 정해진 범위 내에 있는 것으로 판정되고, 메시지가 제 2 모듈(30)에 의해 수신된 암호가 유효함을 나타내면, 제 3 자는 제 2 모듈(30)의 사용자(35)가 제 1 및 제 2 모듈(20,30) 모두를 소유하고 있다는 것을 신뢰하도록 판정한다. 이것은, 제 2 모듈(30)이 타임스탬프 TR를 사용하여 수신된 암호를 분명히 검증한 경우, 제 2 모듈(30)의 사용자(35)는 TR에 가까운 시간 TG에서 제 1 모듈(20)에 의해 생성된 암호를 제공해야 하기 때문이다. 그리고 나서, TR이 현재 시간에 가깝다면, TG는 또한 현재 시간에 가까워야 하며, 따라서 제 2 모듈(30)의 사용자(35)는 현재 시간에 가까운 어떤 시간 TG에서 제 1 모듈(20)에 의해 생성된 암호를 제공해야 하며, 따라서 제 2 모듈(30)의 사용자(35)는 현재 제 1 모듈(20)을 소유할 가능성이 있는 것으로 판정될 수 있다. 제 1 모듈(20)에 의해 생성된 암호를 제 2 모듈(30)로 자동으로 송신할 수 있는 방법이 없는 경우, 제 2 모듈(30)을 소유한 사람은 또한 제 1 모듈(20)을 소유하고, 이에 의해 제 1 모듈(20)에 의해 생성된 암호를 제 2 모듈(30)로 수동으로 송신할 수 있는 가능성이 높다.
이점으로, 제 3 자가 타임스탬프 TR이 현재 시간의 미리 정해진 범위 내에 있지 않고, 따라서 제 1 모듈(20)의 클록과 동기화되지 않는 시간 소스로부터 획득된 것으로 판정하면, 제 3 자는 시간 소스를 재동기화하기 위해 재동기화 절차를 호출할 수 있다.
그 후, 본 배치에서, 신뢰할 수 있는 제 3 자는 시간 TR이 미리 정해진 시간 범위 내에 있는지를 나타내는 메시지를 제 2 모듈(30)로 송신한다. 시간 TR이 미리 정해진 시간 범위 내에 있는 경우, 제 2 모듈(30)은 요청된 데이터에 대한 액세스를 가능하게 한다. 대안적으로, 시간 TR이 미리 정해진 시간 범위 밖에 있는 경우, 제 2 모듈(30)은 요청된 데이터에 대한 액세스를 거부한다.
제 2 모듈(30)의 사용자(35)는 신뢰할 수 있는 제 3 자에 의해 외부에 유지되는 데이터에 대한 액세스를 요청할 수 있다. 이 경우에, 제 3 자는 세계시에서 실행하는 클록과 같은 제 1 모듈(20)의 클록과 동기화되는 클록에 액세스할 수 있다. 제 2 모듈(30)이 (상술한 바와 같이 제 2 모듈(30)의 외부에 있는 신뢰할 수 없는 시간 소스에 의해 제공되는 타임스탬프를 사용하여) 제 2 모듈(30)의 사용자(35)로부터 수신된 암호를 검증한 경우에, 제 2 모듈(30)은 데이터에 대한 액세스를 위한 요청을 제 3 자에게 송신하도록 구성된다. 요청은, 데이터에 대한 액세스를 위한 요청에 관련하여 제 2 모듈(30)에 의해 수신된 암호가 검증되었다는 표시(indication)와 또한 암호를 검증하는데 사용된 (신뢰할 수 없는 시간 소스로부터 획득된) 시간 TR을 나타내는 타임스탬프 둘 다를 포함한다. 제 2 모듈(30)로부터 요청을 수신하면, 제 3 자는 시간 TR이 상술한 바와 같이 현재 시간의 미리 정해진 범위 내에 있는지를 판정하고, 이에 응답하여 요청된 데이터를 제 2 모듈(30)로 송신하거나 액세스를 거부한다.
위의 예에서, 제 2 모듈(30)은 이전에 수신된 OTP를 저장할 수 있고, 이전에 수신된 임의의 OTP를 무효화할 수 있다. 이것은 특히 제 2 모듈(30)이 원격 사용자(35)와 제 1 및 제 2 모듈(20,30) 둘 다를 소유한 사용자(35)(즉, 로컬 사용자(35)) 모두에 의해 동시에 액세스되는 상황에 유용하다. 원격 사용자(35)가 이전에 입력된 OTP를 로컬 사용자(35)에 의해 제 2 모듈(30)에 복제하여 데이터에 액세스하기를 시도한다고 가정하면, 제 2 모듈(30)은 중복(duplicate)으로서 복제된 OTP를 거부할 것이다. 일 배치에서, 제 2 모듈(30)은 이전에 수신된 제한된 수의 OTP를 저장할 수 있고, 제 2 모듈(30)에 의해 이전에 저장되었지만, 더 이상 제 2 모듈(30)에 의해 저장되지 않는 특정한 OTP가 복제되는 경우, 제 3 자(100)는 현재 시간의 미리 정해진 범위 밖에 있는 타임스탬프과 관련되기 때문에 해당 OTP를 거부할 가능성이 있다.
상술한 바와 같이, 수신된 암호를 검증하기 위해 제 2 모듈(30)에 의해 사용되는 타임스탬프를 포함하는 메시지는 (예를 들어 제 2 모듈(30) 및 제 3 자와 관련된 암호화 키를 사용하여) 제 2 모듈(30)에 의해 서명되고, 이에 의해 제 3 자가 메시지의 출처(origin)를 검증하도록 한다. 이것은, 원격 사용자(35)가 신뢰할 수없는 타임스탬프를 포함하는 제 2 모듈(30)에 의해 송신된 메시지를 변경하기를 시도하는 경우, 제 3 자는 제 2 모듈의 정확한 서명을 포함하지 않고, 관련 요청된 데이터에 대한 액세스를 거부할 것이기 때문에 메시지가 변경되었음을 인식한다는 것을 의미한다. 원래의 송신자와 다른 누군가에 의해 변경된 메시지는 일반적으로 "스푸핑 메시지(spoofed message)"로 지칭된다.
더욱이, 신뢰할 수 있는 제 3 자가 수신된 타임스탬프가 유효한지를 나타내는 메시지를 제 2 모듈(30)에 송신하도록 구성되는 경우, 그 메시지는 또한 서명될 수 있다. 이것은 제 2 모듈(30)이 신뢰할 수 있는 제 3 자와 다른 신뢰할 수 없는 자에 의해 제 2 모듈(30)로 송신된 메시지를 식별하도록 한다.
다른 배치에서, 신뢰할 수 없는 시간 소스로부터 수신된 암호를 검증할 시에 사용하기 위한 타임스탬프를 획득하기보다는, 제 2 모듈(30)은 제 1 모듈(20)의 클록과 동기화되는 클록을 가진 신뢰할 수 있는 제 3 자로부터 타임스탬프를 획득할 수 있다. 위의 예에서와 같이, 제 3 자 및 제 2 모듈(30)은 서명하고, 이에 의해 예를 들어 암호화 키를 사용하여 이 사이에 송신된 메시지를 인증할 수 있으며, 따라서 제 3 자에 의해 서명된 타임스탬프는 제 2 모듈(30)에 의해 신뢰할 수 있다. 특정한 일 배치에서, 단계(40)에서 사용자(35)로부터 데이터에 대한 액세스를 위한 요청을 수신하면, 제 2 모듈(30)은 메시지를 타임스탬프를 요청하는 제 3 자에게 송신할 수 있고, 제 3 자는 타임스탬프에 대한 요청이 (제 3 자의 클록에 의해 측정되는 바와 같이) 수신된 시간을 나타내는 타임스탬프를 포함하는 메시지를 송신하여 응답할 수 있다.
후속하여 제 2 모듈(30)이 제 2 모듈(30)의 사용자(35)로부터 암호를 수신하면, 제 2 모듈(30)은 OTP 생성 키 및 선택적으로 또한 제 2 모듈(30)의 사용자(35)로부터 수신된 장치 ID와 함께 TG에 가까운 시간을 나타내는 것으로 추정되는 수신된 타임스탬프를 사용하여, 수신된 암호가 수신된 타임스탬프에 나타내는 시간의 미리 정해진 시간 범위 내의 시간에 제 1 모듈(20)에 의해 생성된 암호에 대응하는지를 판정한다.
일 배치에서, 제 2 모듈(30)이 수신된 암호가 수신된 타임스탬프에 나타내는 시간의 미리 정해진 시간 범위 내의 시간에 제 1 모듈(20)에 의해 생성된 암호에 대응하는 것으로 판정하면, 제 2 모듈(30)은 암호를 검증하는데 사용되는 타임스탬프를 확인하는 제 3 자에게 메시지를 송신하고, (a) 타임스탬프가 현재 시간의 미리 정해진 범위 내에 있는지와 (b) 타임스탬프가 제 3 자에 의해 제 2 모듈(30)로 송신된 타임스탬프와 일치하는지에 따라 제 3 자는 관련된 요청된 데이터에 대한 액세스가 허용되어야 하는지에 관한 판정을 한다. 메시지는 제 2 모듈(30)에 의해 서명되고, 이러한 메시지를 수신하면, 제 3 자는 또한 메시지가 제 2 모듈(30)에 의해 서명되는지를 검증할 수 있고, 제 2 모듈(30)에 의해 서명되지 않은 타임스탬프를 포함하는 메시지와 관련하여 제 2 모듈(30)에 의해 요청된 임의의 데이터에 대한 액세스를 거부할 수 있다.
제 2 모듈(30)의 원격 사용자(35)가 제 1 및 제 2 모듈(20,30) 모두를 소유한 사용자에 의해 입력된 OTP를 관찰할 수 있고, 또한 제 3 자로부터 수신된 타임스탬프를 관찰할 수 있는 것이 가능하다. 원격 사용자는 일정 시간 이후에 관찰된 타임스탬프 및 관찰된 OTP를 제 2 모듈(30)에 공급할 수 있다. 이 경우에, 제 2 모듈(30)이 이전에 수신된 OTP를 저장하지 않거나 예를 들어 이전에 수신된 OTP의 미리 정해진 수만을 저장하는 경우, 제 2 모듈(30)은 원격 사용자의 암호를 검증할 수 있다. 그러나, 제 2 모듈(30)은 그 후에 암호를 검증하는 데 사용되는 타임스탬프를 제 3 자로 송신할 경우, 제 3 자는 해당 타임스탬프를 오래된 것으로 식별할 수 있으며, 따라서 요청된 데이터에 대한 액세스를 거부한다.
도 4 내지 6을 참조하는 다음의 설명은 본 발명의 다수의 특정한 예시적인 실시예에 대해 시작한다. 다음의 예에서, 제 1 및 제 2 모듈(20,30)은 장치(90)의 복합 부품이고. 예를 들어 도 1을 참조하여 상술한 바와 같이, 각각 OTP를 생성 및 검증할 시에 사용하기 위한 것이다. 제 1 및 제 2 모듈(20,30)은 또한 서로 통신이 단절된다. 다음의 예에서, 제 1 및 제 2 모듈(20,30)은 제 1 및 제 2 모듈(20,30)에 고유하게 할당된 OTP 생성 키를 공유한다. 각각의 예에서, 제 1 모듈(20)은 (제 1 모듈(20)의 클록에 의해 측정되는 바와 같은) 생성 시간의 암호화 함수, OTP 생성 키, 및 고유 장치 식별 번호로서 OTP를 생성하도록 구성된다. 각각의 다음의 경우에, 장치(90)는 2개의 별도의 사용자 인터페이스(21,31)를 포함한다. 제 1 모듈(20)의 사용자 인터페이스(21)는 버튼 및 스크린을 포함하는데, 버튼은 제 1 모듈이 암호를 생성하도록 하기 위해 구성되고, 스크린은 생성된 암호를 제 1 모듈(20)의 사용자(25)에게 제공하도록 구성된다. 다른 한편으로, 제 2 모듈(30)의 사용자 인터페이스(31)는 적어도 스크린 및 키패드를 포함한다.
도 4는 뱅킹 서비스 제공자(101)와 장치(90)의 제 2 모듈(30) 사이의 임시 암호화 키를 공유하기 위한 예시적인 방법을 개략적으로 도시한다. 이러한 예에서, 아래에서 더욱 상세히 논의되는 바와 같이, 뱅킹 서비스 제공자(101)는 임시 암호화 키를 다른 서비스 제공자(102)와 공유하고(도 5 참조), 서비스 제공자(102)와 공유된 암호화 키 및 제 2 모듈(30)과 공유된 암호화 키는 함께 제 2 모듈(30)과 서비스 제공자(102) 사이로 송신된 메시지를 인증/암호화/해독할 시에 사용하기 위한 것이다.
상술한 바와 같이, 제 2 모듈(30) 및 뱅킹 서비스 제공자(101)는 이미 그 사이로 송신된 메시지를 암호화 및 인증할 시에 사용하기 위한 사전 할당된 암호화 키를 갖고 있다. 더욱이, 뱅킹 서비스 제공자(101)는 장치(90)와 특정 은행 계좌 보유자 사이의 관련성을 저장한다.
이러한 예에서, 제 2 모듈(30)은 제 1 모듈(20)의 클록과 동기화되는 클록을 갖지 않으며, 장치(90)는 뱅킹 서비스 제공자(101)에 등록된다.
뱅킹 서비스 제공자(101)는 제 1 모듈(20)의 클록과 동기화되는 클록을 갖는다(예를 들어 클록은 세계시에서 실행할 수 있다). 이러한 특정 예에서, 장치(90)의 제 2 모듈(30)의 사용자(35)는 뱅킹 서비스 제공자(101)로부터 임시 암호화 키를 요청한다(단계(40)). 임시 암호화 키에 대한 액세스를 요청하면, 제 2 모듈(30)의 사용자(35)는 어떤 사용자(35)가 임시 암호화 키를 획득하기를 원하는지에 대한 특정 은행 계좌 보유자를 식별하는 정보를 제 2 모듈(30)에 입력할 수 있다.
임시 암호화 키(40)에 대한 요청을 수신하면, 제 2 모듈(30)은 임시 암호화 키에 대한 액세스를 위한 요청이 장치(90)의 사용자(35)에 의해 행해졌다는 것을 나타내고, 장치(90)가 암호를 생성 및 검증하기 위한 모듈(20,30)을 갖고 있음을 나타내는 메시지를 뱅킹 서비스 제공자(101)로 송신한다(단계(130)). 단계(130)에서 송신된) 이런 메시지는 장치(90)가 임시 암호화 키에 액세스하기 위한 (단계(40)에서의) 요청이 장치(90)를 물리적으로 소유한 사용자로부터 시작되는지를 판정할 수 있다는 것을 뱅킹 서비스 제공자(101)에 통지하고, 또한 뱅킹 서비스 제공자(101)가 뱅킹 서비스 제공자(101)의 클록에 의해 측정된 바와 같이 현재 시간을 나타내는 타임스탬프를 제공하도록 한다(단계(140)). 타임스탬프는 뱅킹 서비스 제공자(101)에 의해 서명되고, 따라서 제 2 모듈(30)은 타임스탬프가 신뢰할 수 있는 뱅킹 서비스 제공자(101)로부터 수신되었으며, 따라서 타임스탬프가 신뢰할 수 있고, 제 1 모듈(20)의 클록과 동기화되는 클록에 의해 생성되었음을 신뢰할 수 있다.
메시지(130)는 또한 장치(90)와 관련된 장치 ID를 뱅킹 서비스 제공자(101)로 송신함으로써 뱅킹 서비스 제공자(101)에 대한 장치(90)(및 이에 의해 장치(90)와 관련되는 은행 계좌 보유자)를 식별할 수 있다.
(단계(140)에서) 메시지를 수신한 후, 제 2 모듈(30)은 제 2 모듈의 사용자가 장치(90)의 제 1 모듈(20) 및 또한 장치(90)의 고유 장치 ID에 의해 생성된 암호를 입력하도록 한다. 이러한 특정 예에서, 제 2 모듈(30)의 사용자(35)는 장치(90)를 소유하고 있으며, 따라서 또한 제 1 모듈(20)의 사용자(25)이다. 따라서 장치(90)의 사용자(25,35)는 제 1 모듈(20)의 사용자 인터페이스의 버튼을 누를 수 있고, 제 1 모듈(20)이 OTP를 생성시키도록 한다(단계(50)). 그 다음, 사용자(25)는 제 1 모듈(20)의 스크린으로부터 생성된 암호를 검색할 수 있고(단계(60)), 장치(90)의 장치 ID와 함께 검색된 암호를 제 2 모듈(30)의 사용자 인터페이스(31)에 입력할 수 있다(단계(70)).
상술한 바와 같이, 메시지(130)를 수신하면, 뱅킹 서비스 제공자(101)는 타임스탬프를 포함하는 서명된 메시지를 제 2 모듈(30)로 송신한다(단계(140)). 이러한 메시지(140)는 또한 장치(90)의 사용자(25,35)에 대한 질의(challenge)를 포함할 수 있다. 특정 예로서, 단계(140)에서 송신된 메시지는 장치(90)의 사용자(25,35)에게 뱅킹 서비스 제공자(101)와 장치(90)와 관련된 은행 계좌 보유자 사이에 사전 합의된 (사용자 이름 및 PIN과 같은)에 자격 인증서를 입력하도록 요구할 수 있다. 이것은, 제 2 모듈(30)의 사용자(35)가 장치(90)와 관련된 은행 계좌 보유자인지 또는 사용자(35)가 (예를 들어, 장치(90)를 도난당한) 다른 사람인지를 뱅킹 서비스 제공자(101)가 검증할 수 있는 이점을 갖는다.
(단계(70)에서) 제 2 모듈(30)의 사용자(35)로부터 암호 및 장치 ID를 수신하면, 제 2 모듈(30)은 암호를 검증하기 위해 단계(140)에서 수신된 메시지 내의 타임스탬프를 사용한다. 본 배치에서, 타임스탬프, 제 1 및 제 2 모듈(20,30)에 할당된 OTP 생성 키, 및 수신된 암호가 수신된 타임스탬프에 주어진 시간과 동일하거나 가까운 시간 TG에서 제 1 모듈(20)에 의해 생성된 임의의 암호와 일치하는지를 판정하기 위해 사용자(35)로부터 수신된 장치 ID를 이용하여 제 2 모듈은 수신된 암호를 검증한다. 제 2 모듈(30)이 유효한 것으로 수신된 암호를 판정하는 타임스탬프와 TG 사이의 최대 시간차는 제 2 모듈(30) 또는 뱅킹 서비스 제공자(101)에 의해 설정될 수 있고, 이러한 후자의 경우에, 최대 시간차는 메시지(140)에서 제 2 모듈(30)에 나타낼 수 있다.
제 2 모듈(30)이 제 2 모듈(30)의 사용자(35)로부터 수신된 암호가 올바른 것으로 판정하면, 제 2 모듈(30)은 단계(140)에서 뱅킹 서비스 제공자(101)로부터 제 2 모듈(30)로 송신된 메시지에 수신된 질의를 사용자(35)에게 제시하고, 그 다음에 제 2 모듈(30)의 사용자(35)는 이러한 질의에 응답한다(단계(150)).
단계(150)에서 질의에 대한 응답을 수신한 후, 제 2 모듈(30)은 수신된 OTP가 유효한 것으로 발견되었음을 나타내고, 수신된 OTP를 검증하는데 사용된 시간을 확인하며, 또한 제 2 모듈의 사용자(35)로부터 (단계(150)에서) 수신된 질의에 대한 응답을 포함하는 서명된 메시지를 송신한다(단계(160)). 이러한 예에서, 응답은 암호화된다.
다른 한편, 제 2 모듈(30)이 수신된 암호를 성공적으로 검증하지 못하면, 제 2 모듈(30)은 수신된 OTP가 무효인 것으로 발견된 것을 나타내는 서명된 메시지를 뱅킹 서비스 제공자(101)로 송신한다(단계(160)). 특정한 일 배치에서, 단계(160)에서 제 2 모듈(30)로부터 뱅킹 서비스 제공자(101)로 송신된 메시지는 검증 결과가 긍정적이든 부정적이든 관계없이 OTP 검증 결과, 타임스탬프 및 질의 응답을 포함한다. 이것은 단계(160)에서 송신된 메시지가 구분이 안 되고, 서비스 거부 공격을 실행하기 위해 추가적인 정보를 허가받지 않은 자에게 제공할 수 없다는 것을 보장한다.
단계(160)에서 송신된 메시지가 수신된 OTP가 검증되었음을 나타내고, 수신된 OTP를 검증하는데 사용되는 시간이 단계(140)에서 송신된 타임스탬프에 나타낸 시간과 일치하고, 현재 시간의 미리 정해진 범위 내에 있는 경우, 뱅킹 서비스 제공자(101)는 단계(150)에서 제 2 모듈의 사용자(35)로부터 수신된 질의에 대한 응답이 올바른지를 판정한다. 예를 들면, 질의는 사용자(35)가 뱅킹 서비스 제공자(101)와 (장치(90)와 관련되는) 식별된 은행 계좌 보유자 사이에 사전 합의된 PIN을 입력하도록 하기 위한 요청인 경우에, 뱅킹 서비스 제공자(101)는 제 2 모듈(30)의 사용자(35)에 의해 입력된 PIN이 식별된 은행 계좌 보유자의 PIN과 일치하는지를 판정할 수 있다. 뱅킹 서비스 제공자(101)는 질의에 대한 (150에서) 응답이 올바른 것으로 판정하면, 뱅킹 서비스 제공자(101)는 요청된 임시 암호화 키를 제 2 모듈(30)로 송신할 수 있으며(단계(120)), 그 후에 그것은 저장된다.
대안적인 실시예에서, 제 2 모듈(30)은 질의를 제 2 모듈(30)의 사용자(35)에 제시할 시에 사용하기 위한 비밀로 재배치될 수 있다. 예를 들면, 비밀은 장치(90)와 관련된 은행 계좌 보유자와 관련된 PIN일 수 있고, 이 경우에, 제 2 모듈(30)은 PIN을 입력하기 위해 제 2 모듈(30)의 사용자(35)에게 질의할 수 있다. 그 후, 제 2 모듈(30)은 단계(150)에서 제 2 모듈(30)의 사용자(35)로부터 수신된 질의에 대한 응답을 검증하기 위해 비밀을 사용할 수 있고, 단계(160)에서 뱅킹 서비스 제공자(101)에 대한 검증 결과를 나타낼 수 있다.
단계(160)에서 제 2 모듈(30)로부터 송신된 메시지는 제 2 모듈의 사용자(35)로부터 수신된 OTP가 성공적으로 검증되지 않았다는 것을 나타내는 경우나 제 2 모듈(30)에 의해 사용된 시간이 현재 시간의 미리 정해진 범위를 벗어나거나 단계(140)에서 송신된 타임스탬프와 일치하지 않는 경우에, 뱅킹 서비스 제공자(101)는 요청된 임시 암호화 키에 대한 액세스를 거부한다.
대안적인 예에서, 임시 암호화 키를 생성 및 분배하는 뱅킹 서비스 제공자(101)보다는 오히려, 임시 암호화 키는 서비스 제공자(102)에 의해 생성되고(도 5 참조), 뱅킹 서비스 제공자(101)로 송신되어, 임시 암호화 키가 뱅킹 서비스 제공자(101)에 의해 생성되는 경우에서와 같이 이러한 키를 제 2 모듈(30)와 공유하는지를 판정할 것이다. 대안적으로, 임시 암호화 키는 제 2 모듈(30)에 의해 생성될 수 있고, 예를 들어 메시지(130)에서 뱅킹 서비스 제공자(101)로 송신될 수 있다. 이러한 배치에서, 그 후 제 2 모듈(30)의 사용자(35)가 제 1 모듈(20)에 의해 생성된 암호를 제 2 모듈(30)로 정확히 입력하였음을 판정한 경우에 뱅킹 서비스 제공자(101)는 서비스 제공자(102)와 임시 암호화 키를 공유할 수 있다.
도 5는 본 발명의 실시예에 따른 추가적인 단계를 개략적으로 도시하며, 이러한 단계는 제 2 모듈(30)이 뱅킹 서비스 제공자(101)로부터 임시 암호화 키를 수신하면 서비스 제공자(102) 및 제 2 모듈(30)에 의해 수행될 수 있다. 상술한 바와 같이, 은행 계좌 보유자와 관련되는 서비스 제공자(102)와 임시 암호화 키를 공유한 뱅킹 서비스 제공자(101) 및 특정 은행 계좌 보유자에 의해 소유되는 경우에 장치(90)에는 뱅킹 서비스 제공자(101)가 등록된다. 서비스 제공자(102)는 이미 장치(90)의 등록된 소유자인 은행 계좌 보유자를 알 수 있고, 이 경우, 임시 암호화 키가 서비스 제공자(102)와 공유되면, 이러한 키와 관련되는 은행 계좌 보유자는 서비스 제공자(102)에 식별된다. 대안적으로, 은행 계좌 보유자가 이미 서비스 제공자(102)에 의해 알려져 있지 않으면, 뱅킹 서비스 제공자(101)는 관련된 임시 암호화 키가 공유되는 경우에 서비스를 식별하여 은행 계좌 보유자에 제공할 시에 사용하기 위한 정보를 서비스 제공자(102)에게 송신할 수 있다.
본 예에서, 제 2 모듈(30)의 사용자(35)는 장치(90)와 관련된 은행 계좌 보유자의 계좌에서 결제를 하거나 자금을 이체할 시에 사용하기 위한 서버에 대한 액세스를 요청한다(단계(40)). 이러한 특정 예에서, 서버는 장치(90)와 관련된 은행 계좌 보유자의 계좌으로부터 장치(90)를 통해 개인 대 개인(P2P) 결제를 용이하게 할 시에 사용하기 위한 것이다. P2P 서버에 대한 액세스를 요청하면(단계(40)), 제 2 모듈(30)의 사용자(35)는 사용자(35)가 P2P 서비스를 획득하기를 원하는 것에 대하여 은행 계좌 보유자를 식별하는 제 2 모듈(30)에 정보를 입력할 수 있다.
제 2 모듈(30)의 사용자(35)로부터 요청을 수신하면(단계(40)), 제 2 모듈(30)은 사용자(35)가 장치(90) 및 또한 장치(90)의 고유 장치 ID에 의해 생성된 OTP를 입력하도록 한다. 사용자(35)로부터 암호를 수신하면, 제 2 모듈(30)은 장치(90)의 클록으로부터 타임스탬프를 검색하고, 이러한 타임스탬프는 이러한 클록에 의해 측정되는 바와 같이 암호가 제 2 모듈(30)에 의해 수신된 시간 TR을 나타낸다. 그 다음, 제 2 모듈은 OTP 생성 키 및 사용자(35)로부터 수신된 장치 ID와 함께 이러한 타임스탬프를 사용하여 수신된 암호를 검증할지를 판정한다. 상술한 바와 같이, 장치(90)의 클록은 제 2 모듈(30)에 의해 신뢰받을 수 없으며, 따라서 이 경우에, 제 2 모듈(30)은 제 2 모듈(30)의 사용자(35)로부터 수신된 암호가 제 1 모듈에 의해 생성된 암호와 일치하는 것으로 판정하면(즉, 제 2 모듈(30)이 수신된 암호를 검증하는 경우), 제 2 모듈은, 제 2 모듈(30)에 저장된 임시 암호화 키를 사용하여 암호화되고 서명되어, 메시지의 콘텐츠가 발견되는 것을 방지하고, 서비스 제공자(102)가 메시지의 출처를 검증할 수 있도록 하는 (즉 서비스 제공자(102)가 메시지가 위조되지 않았다는 것을 검증할 수 있도록 하는) 메시지를 서비스 제공자(102)로 송신한다(단계(180)). 단계(180)에서 송신된 메시지는 P2P 서버에 대한 액세스를 위한 요청이 특정 은행 계좌 보유자를 대신하여 행해졌다는 표시; 장치(90)의 제 2 모듈(30)이 사용자(35)로부터 수신된 암호를 검증했다는 표시; 및 암호가 제 2 모듈(30)의 사용자(35)로부터 수신되었다는 (장치(90)의 클록에 의해 측정된 바와 같은) 시간(즉 수신 시간)의 표시를 포함한다.
제 2 모듈(30)로부터 긍정적인 검증 결과를 포함하는 메시지를 수신하면(단계(180)), 서비스 제공자(102)는 뱅킹 서비스 제공자(101)와 서비스 제공자(102) 사이에 공유된 임시 암호화 키를 사용하여, 뱅킹 서비스 제공자(101)와 제 2 모듈(30) 사이에 공유된 임시 암호화 키(즉, 제 2 모듈(30)과 관련된 임시 암호화 키)에 의해 메시지가 서명되는지를 검증한다.
서비스 제공자(102)는 메시지가 제 2 모듈(30)과 관련된 임시 암호화 키를 사용하여 서명되었다고 판정하는 경우, 서비스 제공자(102)는 수신 시간이 현재 시간의 미리 정해진 범위 내에 있는지를 결정하기 위해 제 1 모듈(20)의 클록과 동기화되는 클록을 사용한다. 서비스 제공자(102)는 또한 수신된 타임스탬프를 제 2 모듈(30)로부터 이전에 수신된 타임스탬프와 비교한다. 서비스 제공자(102)는 수신 시간이 미리 정해진 시간 범위를 벗어나거나, 타임스탬프가 이전에 수신된 타임스탬프와 중복하는 것으로 판정하면, 서비스 제공자(102)는 P2P 서버에 대한 액세스를 거부한다. 그러나, 서비스 제공자(102)는 수신 시간이 미리 정해진 시간 범위 내에 있고, 중복하지 않는 것으로 판정하면, 서비스 제공자(102)는 P2P 서버에 대한 액세스를 허용한다(단계(190 및 80)). 상술한 바와 같이, 본 실시예에서, 제 2 모듈(30)의 원격 사용자(35)가 올바른 OTP-타임스탬프 조합을 관찰하고 재생하여, 제 2 모듈(30)이 재생된 암호를 검증하도록 할 수 있을지라도, 서비스 제공자(102)는 재생되거나 오래된 타임스탬프를 거부하고 관련된 요청된 데이터에 대한 액세스를 거부하기 때문에 수신된 암호를 검증하기 위해 신뢰할 수 없는 시간 소스를 사용하는 것은 문제를 제시하지 않는다.
도 6은 데이터에 대한 액세스를 위한 요청이 제 2 모듈(30)에서 제 2 모듈(30)의 사용자(35)로부터 수신되기 보다는, 데이터에 대한 액세스를 위한 요청(단계(200))은 대신에 제 2 모듈(30)에서 제 3 자(100)로부터 수신되는 본 발명의 대안적인 실시예를 개략적으로 도시한다. 특히, 이러한 시나리오에서, 제 3 자(100)는 제 2 모듈을 물리적으로 소유하고 있는 제 2 모듈(30)의 사용자(35)가 있는지를 판정하기를 원하며, 따라서 제 3 자(100)는 메시지(단계(200))를 이를 나타내는 제 2 모듈(30)로 송신한다. 이러한 메시지를 수신하면, 제 2 모듈(30)은 제 2 모듈(30)의 사용자(35)가 제 1 모듈(20)에 의해 생성된 암호를 제 2 모듈(30)에 입력하도록 한다(단계(205)). 제 2 모듈(30)을 소유하고, 또한 제 1 모듈(20)을 소유한 사용자(35)가 생기면, 사용자(25,35)는 (단계(50, 60 및 70)를 통해) 제 1 모듈(20)에 의해 생성된 암호를 제 2 모듈(30)에 입력할 수 있다.
암호를 수신하면(단계(70)), 제 2 모듈(30)은 도 1 내지 5를 참조하여 위에서 설명한 바와 같은 방법 중 하나를 이용하여, 수신된 암호가 제 1 모듈(20)에 의해 생성된 암호에 대응하고, 검증 결과의 표시를 제 3 자(100)로 송신(단계(210))하는 지를 판정한다. 그 다음, 제 3 자는 제 2 모듈(30)의 사용자(35)가 검증 결과(및 선택적으로 또한 상술한 바와 같은 추가적인 요인)에 따라 제 2 모듈(30)을 소유하고 있다는 것을 신뢰할지를 판정할 것이다.
제 3 자는 특정 사람이 제 2 모듈(30)을 소유하고 있는지를 검증하기를 원할 수 있으며, 이 경우에, 제 2 모듈(30)은 도 4를 참조로 상술한 바와 같이 제 2 모듈(30)의 사용자(35)에 질의을 제시할 수 있다.
다음에는 본 발명의 대안적인 양태를 설명한다. 이러한 양태에 따른 예시적인 실시예에서, 장치(90)는 예를 들어 도 1을 참조로 상술한 이전의 실시예에서와 같이 서로 통신이 절단되는 제 1 및 제 2 모듈(20, 30)을 포함한다. 다시 말하면, 장치(90)는 2개의 모듈(20,30) 사이에 (직간접적으로) 통신하는 수단이 없도록 구성된다. 제 1 및 제 2 모듈(20,30)은 장치(90) 내에 통합될 수 있거나, 완전히 별도의 회로 및 구성 요소를 가질 수 있다. 제 1 모듈(20)은 다시 암호를 생성할 시에 사용하기 위한 것이고, 제 2 모듈은 제 2 모듈(30)의 사용자(35)로부터 수신될 수 있는 수신된 암호를 검증할 시에 사용하기 위한 것이다. 제 1 모듈(20)은 비밀로 구성되고, 비밀에 기초하여 암호를 생성하도록 구성되는 회로 및/또는 소프트웨어를 포함한다. 그러나, 상술한 배치와는 달리, 이러한 비밀은 제 1 및 제 2 모듈(20,30)에 고유 할당되지 않았다. 이러한 배치에서, 동일한 비밀로 구성되고, 제 2 모듈(30)을 포함하거나 포함하지 않을 수 있는 다수의 모듈이 있을 수 있다. 특정 예에서, 비밀은 특정 사용자와 관련될 수 있고, 사람에 의해 유지되는 다수의 모듈에 사전 배치될 수 있으며, 이러한 모듈의 각각은 이러한 장치 중 하나를 통해 행해진 데이터에 대한 액세스를 위한 요청이 장치(90)를 소유한 사용자로부터 유래되는지를 (적절한 수준의 신뢰도까지) 판정할 시에 사용하기 위한 암호를 생성하는데 사용하기 위한 것이다.
상술한 배치에 대해, 제 2 모듈(30)의 사용자(35)로부터 데이터에 대한 액세스를 위한 요청을 수신하면(단계(40)), 제 2 모듈(30)은 제 2 모듈(30)의 사용자가 장치(90)의 제 1 모듈(20)에 의해 생성된 암호를 입력할 것을 필요로 하도록 구성된다.
일 배치에서, 데이터에 대한 액세스를 위한 요청이 행해졌다는 표시의 수신에 응답하여(예를 들어 버튼을 누르는 제 1 모듈(20)의 사용자(25)에 응답하여), 제 1 모듈(20)은 암호를 생성하고, 생성된 암호를 제 1 모듈(20)의 사용자(25)에게 제공하기 위해 제 1 모듈(20)에 할당된 비밀을 사용하도록 구성된다. 대안적인 배치에서, 제 1 모듈(20)은 일정한 시간 간격으로 암호를 자동으로 생성하기 위해 비밀을 사용하도록 구성될 수 있다.
제 2 모듈(30)의 사용자(35)가 장치(90)를 소유하고 있는 경우, 사용자(35)는 제 1 모듈(20)로부터(예를 들어 제 1 모듈(20)의 스크린으로부터) 암호를 검색하여 검색된 암호를 (예를 들어 제 2 모듈(30)의 키패드를 통해) 장치(90)의 제 2 모듈(30)에 입력할 수 있다.
제 2 모듈(30)은 제 1 모듈(20)과 동일한 비밀로 사전 배치되는 하나의 모듈일 수 있고, 이러한 경우에, 제 2 모듈(30)은 제 2 모듈(30)의 사용자(35)로부터 수신된 암호가 장치(90)의 제 1 모듈(20)(또는 암호를 생성하기 위해 비밀을 사용하는 임의의 다른 모듈)에 의해 생성된 암호에 대응하는지를 판정하기 위해 비밀을 사용한다. 이 경우에, 제 2 모듈(30)은 제 2 모듈(30)의 사용자(35)로부터 수신된 암호가 장치(90)의 제 1 모듈(20)에 의해 생성된 암호에 대응하는지를 판정하기 위해 상술한 바와 같은 방법 중 어느 하나(즉 도 1 내지 5를 참조하여 상술한 방법 중 어느 하나)를 사용할 수 있다. 상술한 배치에서와 같이, 제 1 및 제 2 모듈(20,30) 사이에 공유된 비밀은 OTP 생성 키일 수 있고, 제 1 모듈(20)은 OTP 생성 키 및 현재 시간에 따라 OTP를 생성할 수 있다. 이 경우에, 제 2 모듈이 암호를 생성하기 위해 제 1 모듈(20)에 의해 사용되는 클록과 동기화되는 클록을 갖는지에 따라, 제 2 모듈(30)은 상술한 바와 같은 방법 중 어느 하나를 사용할 수 있다.
제 2 모듈(30)은 제 2 모듈(30)의 사용자(35)로부터 수신된 암호가 장치(90)의 제 1 모듈(20)에 의해 생성된 암호에 대응하는 것으로 판정하면, 제 2 모듈은 수신된 암호를 검증한다.
도 7은 암호를 생성하기 위해 제 1 모듈(20)에 의해 사용된 비밀이 제 2 모듈(30)에 의해 알려지지 않고, 대신에 인증 서버(230)와 제 1 모듈(20) 사이에 공유되는 대안적인 배치를 개략적으로 도시한다. 이 경우에, 제 2 모듈(30)의 사용자(35)는 데이터에 대한 액세스를 요청하고(단계(40)), 그 후에 제 2 모듈(30)은 사용자(35)가 장치(90)의 제 1 모듈에 의해 생성된 암호를 입력하도록 한다. 제 2 모듈(30)의 사용자(35)가 장치(90)를 소유하고 있는 경우에는 제 1 모듈(20)에 의해 생성된 암호를 검색하여(단계(60)) 제 2 모듈(30)에 입력할 수 있다(단계(70)).
이러한 특정 배치에서, 수신된 암호를 검증할지를 판정하기 위해, 제 2 모듈(30)은 제 2 모듈(30)의 사용자(35)로부터 수신된 암호를 포함하는 인증 서버(230)로 메시지(단계(240))를 송신한다. 이점으로, 단계(240)에서 송신된 메시지는 위에서 상세히 논의된 바와 같이 스푸핑될 수 없도록 제 3 자(230)에 의해 서명될 수 있다.
단계(240)에서 송신된 메시지를 수신하면, 인증 서버(230)는 인증 서버와 제 1 모듈(20) 사이에 공유되는 비밀을 사용하여 제 2 모듈(30)의 사용자(35)로부터 수신된 암호가 장치(90)의 제 1 모듈(20)에 의해 생성된 암호에 대응하는지를 판정한다. 이전의 예에서와 같이, 인증 서버(230)와 제 1 모듈(20) 사이에 공유되는 비밀은 OTP 생성 키일 수 있고, 제 1 모듈(20)은 (제 1 모듈의 클록에 의해 측정되는 바와 같은) 현재 시간 및 OTP 생성 키에 따라 OTP를 생성하도록 구성될 수 있다. 이 경우에, 인증 서버는 수신된 암호를 검증할 시에 사용하기 위한 제 1 모듈(20)의 클록과 동기화되는 클록을 가질 수 있다.
특정한 일 배치에서, 인증 서버(230)와 제 1 모듈(20) 사이에 공유되는 비밀은 특정 사람과 관련되고, 인증 서버는 특정 사람과 비밀 사이의 관련성을 저장한다. 이 경우에, 제 2 모듈(30)의 사용자(35)로부터 수신된 암호를 포함하는 단계(240)에서 송신된 메시지는 또한 인증 서버에 대한 비밀과 관련된 사람을 고유하게 식별하는 정보를 포함한다. 인증 서버(230)는 여러 사람과 관련된 각각의 많은 비밀을 보유할 수 있으며, 따라서 메시지(240)는 인증 서버(230)가 제 2 모듈(30)의 사용자(35)로부터 수신된 암호가 장치(90)의 제 1 모듈(20)에 의해 생성된 암호에 대응하는지를 판정하기 위해 사용할 어떤 비밀을 결정하도록 할 수 있다.
이 경우에, 인증 서버(230)는 제 2 모듈(30)의 사용자(35)로부터 수신된 암호가 제 1 모듈(20)에 의해 생성된 암호에 대응하는 것으로 판정하면, 인증 서버(230)는 제 2 모듈(30)의 사용자(35)로부터 수신된 암호가 유효함을 나타내는 메시지(단계(250))를 제 2 모듈(30)로 송신하며, 이러한 메시지를 수신하면, 제 2 모듈은 수신된 암호를 검증한다.
다른 한편으로, 인증 서버(230)는 제 2 모듈(30)의 사용자(35)로부터 수신된 암호가 제 1 모듈(20)에 의해 생성된 암호에 대응하지 않는 것으로 판정하면, 인증 서버(230)는 제 2 모듈(30)의 사용자(35)로부터 수신된 암호가 유효하지 않다는 것을 나타내는 메시지(단계(250))를 제 2 모듈(30)로 송신하며, 제 2 모듈은 수신된 암호를 무효화한다.
인증 서버(230)와 제 1 모듈(20) 사이에 공유되는 비밀은 대안적으로 제 1 모듈(20)과만 관련되고, 인증 서버(230)는 제 1 모듈(20)(또는 제 1 모듈(20)이 구성 요소인 장치(90))과 비밀 사이의 관련성을 저장할 수 있다. 이 경우에, 제 2 모듈(30)의 사용자(35)로부터 수신된 암호를 포함하는 단계(240)에서 송신된 메시지는 또한 장치(90)를 고유하게 식별하는 정보(예를 들어 고유 장치 ID)를 포함할 수 있다.
이점으로, 위에서 상세히 논의된 바와 같이, 단계(250)에서 송신된 메시지는 스푸핑될 수 없도록 제 3 자(230)에 의해 서명될 수 있다.
대안적인 배치에서, 제 2 모듈(30)의 사용자(35)로부터 암호를 수신하면, 제 2 모듈(30)은 제 1 모듈(20)과 동일한 비밀로 구성되는 제 3 모듈로부터 암호를 검색하여 암호를 검증할 수 있다. 이 경우에, 제 2 모듈은 제 3 모듈이 이 비밀을 사용하여 암호를 생성하도록 할 수 있다. 그 다음에, 제 2 모듈은 제 2 모듈(30)의 사용자(35)로부터 수신된 암호와 제 3 모듈에 의해 생성된 암호를 비교할 수 있고, 대응성(correspondence)이 있는 경우에 사용자(35)로부터 수신된 암호를 검증할 수 있다.
제 1 및 제 2 모듈(20,30)은 동일한 장치(90)의 복합 부품이며, 이 장치(90) 내에서 서로 통신이 단절되는 위의 대안적인 배치에서, 제 2 모듈(30)의 사용자(35)가 제 1 모듈(20)로부터 암호를 검색하여 제 2 모듈(30)에 입력하는 유일한 (현실적으로 가능한) 방법은 제 2 모듈의 사용자(35)가 제 1 모듈(20)을 소유하고 있을 경우이다. 따라서, 이 경우에, 제 1 모듈의 사용자(25)는 장치(90)를 소유할 가능성이 매우 높으며, 따라서 인간 사용자이다. 따라서, 제 2 모듈이 제 2 모듈(30)의 사용자(35)로부터 수신된 암호를 검증하는 경우, 제 2 모듈은 데이터에 대한 액세스를 위한 요청이 장치(90)를 소유하고 있는(따라서 원격 엔티티가 아닌) 인간으로부터 유래하는 매우 높은 수준의 신뢰도로 판정할 수 있으며, 따라서 요청된 데이터에 대한 액세스를 가능하게 할 수 있다. 요청된 데이터에 대한 액세스를 가능하게 하는 것은 장치(90)에 유지된 제한된 데이터에 대한 액세스를 허용하는 것을 포함하거나, 요청된 데이터가 제 3 자에 의해 유지되는 경우에는 그것은 요청된 데이터에 대한 액세스를 가능하게 할 시에 사용하기 위한 제 3 자에게 데이터를 송신하는 것을 포함할 수 있다.
이점으로, 위의 실시예 중 어느 하나에서, 메시지가 제 2 모듈(30) 및 제 3 자 사이에 송신되는 경우에, 이러한 메시지의 각각은 암호화된다. 따라서, 메시지가 인터셉트되는 경우, 그 내에 포함된 정보는 추출될 수 없고, 이에 의해 손상될 수 있다. 메시지가 또한 서명되는 경우, 메시지가 암호화되고 서명되는 순서는 사용되는 특정 암호화 알고리즘에 의존하며, 일반적으로, 암호화 및 서명은 별도로 또는 조합하여 메시지에 적용될 수 있다는 것이 이해될 것이다 .
위의 실시예는 본 발명의 예시적인 예로서 이해되어야 한다. 본 발명의 추가의 실시예가 구상된다. 예를 들면, 제 2 모듈(30)은 복수의 제 3 자(100)에 의해 유지되거나 공급되는 데이터, 자산 또는 서비스에 대한 액세스를 가능하게 할 시에 사용하기 위한 것일 수 있다. 어느 하나의 실시예에 관하여 설명된 임의의 특징은 단독으로 또는 설명된 다른 특징과 조합하여 사용될 수 있고, 또한 임의의 다른 실시예의 하나 이상의 특징 또는 임의의 다른 실시예의 임의의 조합과 조합하여 사용될 수 있다는 것이 이해되어야 한다. 더욱이, 상술하지 않은 등가물 및 수정은 또한 첨부한 청구항에서 정의되는 본 발명의 범위에서 벗어나지 않고 이용될 수 있다.

Claims (48)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 장치를 소유하고 있는 인간으로부터 유래되는 요청으로서 장치에서 수신된 데이터에 대한 요청을 검증하는데 사용하기 위한 장치로서,
    암호를 생성하여 제 1 모듈의 인터페이스를 통해 생성된 암호를 상기 장치를 소유하고 있는 상기 인간에게 출력하도록 배치된 제 1 모듈;
    상기 데이터에 대한 요청과 관련된 상기 암호를 상기 장치를 소유하고 있는 상기 인간으로부터 수신하고, 수신된 상기 암호를 검증하며, 데이터에 대한 액세스를 가능하게 하도록 배치되는 제 2 모듈로서, 수신된 상기 암호는 상기 제 2 모듈의 인터페이스를 통해 수신되고, 상기 제 1 모듈에 의해 생성된 상기 암호에 대응하는 상기 제 2 모듈을 포함하며,
    상기 제 1 모듈은 상기 제 2 모듈로부터 통신이 단절되는,
    데이터에 대한 요청을 검증하는데 사용하기 위한 장치.
  34. 삭제
  35. 청구항 33에 있어서,
    상기 제 1 모듈 및 상기 제 2 모듈은 상기 암호의 생성 및 검증에 사용하기 위한 비밀을 공유하는
    데이터에 대한 요청을 검증하는데 사용하기 위한 장치.
  36. 청구항 33에 있어서,
    상기 제 2 모듈은 수신된 암호를 제 3 자에게 송신하고, 상기 수신된 암호가 유효하다는 제 3 자로부터의 표시를 수신하여, 수신된 암호를 검증하도록 배치되는
    데이터에 대한 요청을 검증하는데 사용하기 위한 장치.
  37. 청구항 33에 있어서,
    상기 제 2 모듈은 수신된 암호를 제 3 모듈에 의해 생성된 암호와 비교하여 상기 수신된 암호를 검증하도록 배치되는
    데이터에 대한 요청을 검증하는데 사용하기 위한 장치.
  38. 청구항 33에 있어서,
    상기 제 1 모듈은 상기 데이터에 대한 액세스를 위한 요청과 관련된 입력에 응답하여 상기 암호를 생성하도록 배치되는
    데이터에 대한 요청을 검증하는데 사용하기 위한 장치.
  39. 청구항 38에 있어서,
    상기 제 1 모듈은 데이터에 대한 액세스를 위한 요청과 관련된 후속 입력에 응답하여 후속 암호를 생성하도록 배치되며, 후속 생성된 암호는 이전에 생성된 암호와 상이한
    데이터에 대한 요청을 검증하는데 사용하기 위한 장치.
  40. 청구항 33에 있어서,
    상기 제 1 모듈은 복수의 암호 중 적어도 하나의 암호가 복수의 암호 중 다른 암호와 상이한 복수의 암호를 생성하여, 생성된 암호 중 적어도 하나를 상기 제 1 모듈의 인터페이스를 통해 사용자에게 제공하도록 배치되는
    데이터에 대한 요청을 검증하는데 사용하기 위한 장치.
  41. 장치를 소유하고 있는 인간으로부터 유래되는 요청으로서 장치에서 수신된 데이터에 대한 요청을 검증하는 방법에 있어서,
    장치의 제 1 모듈에서 암호를 생성하여 상기 제 1 모듈의 인터페이스를 통해 생성된 암호를 상기 장치를 소유하고 있는 상기 인간에게 출력하는 단계;
    상기 장치의 제 2 모듈에서 상기 제 2 모듈의 인터페이스를 통해 데이터에 대한 요청과 관련된 상기 암호를 상기 장치를 소유하고 있는 상기 인간으로부터 수신하는 단계로서, 수신된 상기 암호는 상기 제 1 모듈에 의해 생성된 암호에 대응하는 상기 수신하는 단계;
    상기 제 2 모듈에서 수신된 암호를 검증하는 단계; 및
    상기 제 2 모듈에서 데이터에 대한 액세스를 가능하게 하는 단계를 포함하며,
    상기 제 1 모듈은 상기 제 2 모듈로부터 통신이 단절되는,
    데이터에 대한 요청을 검증하는 방법.
  42. 삭제
  43. 청구항 41에 있어서,
    상기 제 1 모듈 및 상기 제 2 모듈은 상기 암호의 생성 및 검증에 사용하기 위한 비밀을 공유하는
    데이터에 대한 요청을 검증하는 방법.
  44. 청구항 41에 있어서,
    상기 제 2 모듈은 수신된 암호를 제 3 자에게 송신하고, 상기 수신된 암호가 유효하다는 제 3 자로부터의 후속 표시를 수신하여, 수신된 암호를 검증하는
    데이터에 대한 요청을 검증하는 방법.
  45. 청구항 41에 있어서,
    상기 제 2 모듈은 수신된 암호를 제 3 모듈에 의해 생성된 암호와 비교하여 상기 수신된 암호를 검증하는
    데이터에 대한 요청을 검증하는 방법.
  46. 청구항 41에 있어서,
    상기 제 1 모듈은 데이터에 대한 액세스를 위한 요청과 관련된 입력에 응답하여 상기 암호를 생성하는
    데이터에 대한 요청을 검증하는 방법.
  47. 청구항 46에 있어서,
    상기 제 1 모듈은 데이터에 대한 액세스를 위한 요청과 관련된 후속 입력에 응답하여 후속 암호를 생성하며, 후속 생성된 암호는 이전에 생성된 암호와 상이한
    데이터에 대한 요청을 검증하는 방법.
  48. 삭제
KR1020157008620A 2012-09-06 2013-09-06 액세스 요청을 검증하기 위한 방법 및 시스템 KR102202547B1 (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.1 2012-12-07
GB1222090.1A GB2505532B (en) 2012-09-06 2012-12-07 Method and system for verifying an access request
PCT/GB2013/052346 WO2014037740A1 (en) 2012-09-06 2013-09-06 Method and system for verifying an access request

Publications (2)

Publication Number Publication Date
KR20150052260A KR20150052260A (ko) 2015-05-13
KR102202547B1 true KR102202547B1 (ko) 2021-01-13

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 After (1)

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

Country Status (11)

Country Link
US (4) US8806600B2 (ko)
EP (2) EP2893484B1 (ko)
KR (2) KR102202547B1 (ko)
CN (2) CN104798083B (ko)
AU (2) AU2013311424B2 (ko)
CA (2) CA2884005C (ko)
ES (1) ES2590678T3 (ko)
GB (2) GB2505678B (ko)
HK (2) HK1208278A1 (ko)
MX (2) MX362308B (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
EP3754577A1 (en) * 2011-08-30 2020-12-23 SimplyTapp, Inc. Systems and methods for authorizing a transaction with an unexpected cryptogram
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 读书郎教育科技有限公司 一种基于高安全性智能儿童手表的安全防护方法及系统
CN114667499A (zh) * 2019-09-11 2022-06-24 艾锐势有限责任公司 基于口令和策略的设备无关认证
EP4349608A1 (en) * 2021-11-02 2024-04-10 Geehy Microelectronics Inc. Chip, consumable cartridge, and data transmission method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070250923A1 (en) * 2006-04-21 2007-10-25 M Raihi David Time and event based one time password
US20080022413A1 (en) * 2006-07-07 2008-01-24 Michael Holtzman Method for Controlling Information Supplied from Memory Device

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
US4998279A (en) * 1984-11-30 1991-03-05 Weiss Kenneth P Method and apparatus for personal verification utilizing nonpredictable codes and biocharacteristics
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
US20050005114A1 (en) * 2003-07-05 2005-01-06 General Instrument Corporation Ticket-based secure time delivery in digital networks
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
WO2007149154A2 (en) * 2006-05-09 2007-12-27 Interdigital Technology Corporation Secure time functionality for a wireless device
US8281375B2 (en) * 2007-01-05 2012-10-02 Ebay Inc. One time password authentication of websites
US8543829B2 (en) * 2007-01-05 2013-09-24 Ebay Inc. Token device re-synchronization through a network solution
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
ES2844348T3 (es) * 2011-02-07 2021-07-21 Scramcard Holdings Hong Kong Ltd Tarjeta inteligente con medio de verificación
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
US20070250923A1 (en) * 2006-04-21 2007-10-25 M Raihi David Time and event based one time password
US20080022413A1 (en) * 2006-07-07 2008-01-24 Michael Holtzman Method for Controlling Information Supplied from Memory Device

Also Published As

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

Similar Documents

Publication Publication Date Title
US10929524B2 (en) Method and system for verifying an access request
US9160732B2 (en) System and methods for online authentication
US7366904B2 (en) Method for modifying validity of a certificate using biometric information in public key infrastructure-based authentication system
US20180288031A1 (en) Collection point anchored multi-property identity based application specific token origination
KR101611872B1 (ko) Fido와 인증서를 이용한 인증 방법
CA2753039A1 (en) System and methods for online authentication
US11569991B1 (en) Biometric authenticated biometric enrollment
KR101856530B1 (ko) 사용자 인지 기반 암호화 프로토콜을 제공하는 암호화 시스템 및 이를 이용하는 온라인 결제 처리 방법, 보안 장치 및 거래 승인 서버
JP2004013560A (ja) 認証システム、通信端末及びサーバ
JPH1165443A (ja) 個人認証情報の管理方式
JP4578352B2 (ja) 通信媒介装置、データ提供装置およびデータ提供システム
US20180332028A1 (en) Method For Detecting Unauthorized Copies Of Digital Security Tokens

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