KR20160003796A - User authentication - Google Patents
User authentication Download PDFInfo
- Publication number
- KR20160003796A KR20160003796A KR1020157033769A KR20157033769A KR20160003796A KR 20160003796 A KR20160003796 A KR 20160003796A KR 1020157033769 A KR1020157033769 A KR 1020157033769A KR 20157033769 A KR20157033769 A KR 20157033769A KR 20160003796 A KR20160003796 A KR 20160003796A
- Authority
- KR
- South Korea
- Prior art keywords
- user
- processing system
- server processing
- user device
- selection key
- Prior art date
Links
- 238000012545 processing Methods 0.000 claims abstract description 275
- 238000000034 method Methods 0.000 claims abstract description 96
- 230000004044 response Effects 0.000 claims description 37
- 238000012790 confirmation Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 150000003839 salts Chemical class 0.000 description 3
- 239000007787 solid Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/36—User authentication by graphic or iconic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4014—Identity check for transactions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
- H04L63/0838—Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2149—Restricted operating environment
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Telephonic Communication Services (AREA)
- Information Transfer Between Computers (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
안전한 환경을 액세스하려고 시도하는 사용자를 인증하는 방법, 시스템, 서버 프로세싱 시스템 및 컴퓨터 판독가능 매체가 개시된다. 일 형태에서, 서버 프로세싱 시스템은, 인증 요청을 수신하여 안전한 환경을 액세스하려고 시도하는 사용자를 인증하고, 키맵으로부터의 선택 키에 대응하는 인덱스를 사용자 또는 사용자와 연관된 사용자 장치로 전송하고, 사용자 장치에 의해 제시된 선택 키 및 개인 식별자에 기초한 코드를 나타내는 데이터를 수신하고, 코드를 이용하여 사용자가 인증되었는지를 결정하도록 구성된다. 유리하게, 서버 프로세싱 시스템은 개인 식별자를 직접 나타내는 데이터를 저장하거나 수신하지 않아, 어느 누구도, 심지어 사용자가 액세스를 시도하려는 안전한 환경의 고용인조차도, 개인 식별자를 결정할 수 없다. A method, system, server processing system, and computer readable medium for authenticating a user attempting to access a secure environment. In one form, the server processing system receives an authentication request to authenticate a user attempting to access a secure environment, sends an index corresponding to the selection key from the keymap to the user or a user device associated with the user, Receiving data representative of a code based on the selection key and the personal identifier presented by the user and using the code to determine if the user has been authenticated. Advantageously, the server processing system does not store or receive data that directly represents the individual identifier, so that no one, even an employee in a secure environment in which the user is trying to access, can determine the individual identifier.
Description
관련 출원의 상호 참조Cross reference of related application
본 출원은 2013년 4월 30일에 제출된 오스트레일리아 가출원 번호 2013901504의 우선권을 주장하며, 참고로 여기에 포함된다.This application claims priority to Australian Provisional Application No. 2013901504, filed April 30, 2013, incorporated herein by reference.
본 발명은 사용자 인증을 위한 서버 프로세싱 시스템, 방법, 컴퓨터 판독가능 매체 및 시스템에 관한 것이다.The present invention relates to a server processing system, method, computer readable medium and system for user authentication.
일반적으로, 사용자가 안전한 웹 페이지 등의 안전한 환경으로의 액세스를 필요로 할 때, 안전한 환경으로의 액세스를 허가하기 전에 사용자의 인증이 필요하다. 현재 많은 방법이 존재한다.In general, when a user needs access to a secure environment, such as a secure web page, the user's authentication is required before granting access to the secure environment. There are many ways now.
매우 공통적인 기술은 사용자가 사용자 아이덴티티 및 패스워드를 제공하도록 요청하는 것이다. 대부분의 경우, 사용자 아이덴티티 및 패스워드는 암호화되어 사용자 인증을 위한 서버 프로세싱 시스템으로 전송된다. 이러한 타입의 인증 기술에는 문제점이 존재한다. 예를 들어, 단말기 상에서 동작하는 악성 소프트웨어(즉, 키로깅(keylogging) 소프트웨어)가 사용자 입력을 로깅(logging)할 수 있고, 캡쳐된 사용자 아이덴티티와 패스워드는 나중의 사기적 활동에 악의적으로 사용될 수 있다.A very common technique is to ask the user to provide a user identity and password. In most cases, the user identity and password are encrypted and sent to the server processing system for user authentication. There is a problem with this type of authentication technique. For example, malicious software (i.e., keylogging software) running on the terminal may log user input, and the captured user identity and password may be used maliciously for later fraudulent activity .
안전한 환경으로의 액세스를 요청하는 사용자를 인증하는데 생물학적 인증 기술이 또한 이용되어 왔다. 그러나, 사용자의 생물학적 특징이 변경될 수 없기 때문에, 사용자의 생물학적 특징(들)이 위태로운(compromise) 경우에 상당한 결점이 있다.Biometric authentication techniques have also been used to authenticate users requesting access to a secure environment. However, there are significant drawbacks when the user ' s biological feature (s) compromise because the user ' s biological characteristics can not be altered.
스마트 카드 등의 물리적 토큰(token)이 또한 안전한 환경으로의 액세스를 요청하는 사용자를 인증하는 수단으로서 사용되어 왔다. 그러나, 이러한 장치는 언제나 장치를 휴대할 수 없는 사용자에게 불편하고 장치가 인증시 존재한다는 것만을 확인할 뿐 물리적 토큰을 제시한 사용자가 실제로 인증을 요청하는 정확한 사용자라는 것을 실제로 확인하지 못한다.A physical token, such as a smart card, has also been used as a means of authenticating a user requesting access to a secure environment. However, such a device is inconvenient for a user who can not carry the device at all times and only verifies that the device exists at authentication, but does not actually verify that the user who presented the physical token is actually the correct user to request authentication.
일 형태에 있어서, 원격 서버 프로세싱 시스템에 의해 제어되는 안전한 환경을 액세스하려고 시도하는 사용자를 인증하는 서버 프로세싱 시스템으로서, 상기 서버 프로세싱 시스템은, 상기 원격 서버 프로세싱 시스템으로부터 인증 요청을 수신하여 상기 안전한 환경을 액세스하려고 시도하는 사용자를 인증하고; 상기 사용자 장치의 메모리 또는 서버 액세스가능 메모리에 저장된 키맵으로부터의 선택 키에 대응하는 인덱스를 상기 사용자 또는 상기 사용자와 연관된 사용자 장치로 전송하고; 코드를 나타내는 데이터를 수신하고 - 상기 사용자는 상기 사용자 장치에 의해 제시된 선택 키 및 개인 식별자에 기초하여 상기 코드를 결정함 -; 상기 코드 및 상기 서버 액세스가능 메모리에 저장된 선택 키를 이용하여 상기 개인 식별자의 해시(hash) 값을 결정하고; 상기 결정된 해시 값을 상기 서버 액세스가능 메모리에 저장된 사용자 계정과 연관된 저장 해시 값과 비교하고; 상기 비교에 기초하여 상기 안전한 환경을 액세스하기 위하여 사용자가 인증되었는지를 나타내는 인증 응답을 상기 원격 서버 프로세싱 시스템으로 전송하도록 구성되는 서버 프로세싱 시스템이 제공된다.In one aspect, a server processing system for authenticating a user attempting to access a secure environment controlled by a remote server processing system, the server processing system comprising: means for receiving an authentication request from the remote server processing system, Authenticate the user attempting to access; Transmit an index corresponding to a selection key from a keymap stored in a memory or server accessible memory of the user device to the user or a user device associated with the user; Receiving data representative of the code, the user determining the code based on the selection key and the personal identifier presented by the user device; Determine a hash value of the individual identifier using the code and a selection key stored in the server accessible memory; Compare the determined hash value with a stored hash value associated with a user account stored in the server accessible memory; And send an authentication response to the remote server processing system indicating whether the user has been authenticated to access the secure environment based on the comparison.
소정의 실시예에서, 상기 사용자는, 상기 사용자 장치와 독립적인 사용자 프로세싱 시스템, 또는 상기 사용자 장치 중의 하나로부터 상기 안전한 환경을 액세스하도록 시도한다..In some embodiments, the user attempts to access the secure environment from either the user processing system independent of the user device, or from one of the user devices.
소정의 실시예에서, 상기 사용자 장치는 휴대용 프로세싱 시스템이다.In some embodiments, the user device is a portable processing system.
상기 서버 프로세싱 시스템은, 상기 사용자의 아이덴티티를 증명하려고 시도하는 아이덴티티 데이터, 및 상기 사용자 장치를 식별하는 고유 장치 프로파일을 나타내는 등록 요청을 수신하고; 상기 아이덴티티 데이터에 기초하여 상기 사용자의 아이덴티티를 확인하고; 상기 사용자의 아이덴티티의 긍정적인 확인에 기초하여 상기 사용자 계정을 생성하도록 구성되고, 상기 사용자 장치는 상기 고유 장치 프로파일에 기초하여 상기 사용자 계정과 연관된다.The server processing system receiving a registration request indicating identity data attempting to prove the identity of the user and a unique device profile identifying the user device; Identify the identity of the user based on the identity data; Wherein the user device is configured to create the user account based on positive identification of the identity of the user, wherein the user device is associated with the user account based on the unique device profile.
소정의 실시예에서, 사용자 등록시, 상기 서버 프로세싱 시스템은, 복수의 인덱스 키를 포함하는 상기 키맵을 상기 사용자 계정과 연관시키고; 상기 사용자 장치의 메모리에 저장하기 위하여 상기 키맵을 나타내는 데이터를 상기 사용자 장치로 전송하도록 구성된다.In some embodiments, upon user enrollment, the server processing system may associate the keymap comprising a plurality of index keys with the user account; And to transmit data indicative of the keymap to the user device for storage in a memory of the user device.
소정의 실시예에서, 상기 서버 프로세싱 시스템은, 상기 사용자로부터 개인 식별자 등록 요청을 수신하고; 상기 키맵으로부터의 선택 키를 나타내는 인덱스를 상기 사용자 장치 또는 사용자로 전송하고; 등록 코드를 수신하고 - 상기 사용자는 상기 사용자 장치에 의해 제시된 선택 키 및 원하는 개인 식별자에 기초하여 상기 등록 코드를 결정함 -; 상기 등록 코드 및 상기 선택 키에 기초하여 상기 원하는 개인 식별자의 해시 값을 결정하고; 상기 해시 값을 상기 사용자 계정에 저장하도록 구성된다.In some embodiments, the server processing system comprises: receiving a personal identifier registration request from the user; Transmitting an index indicating a selection key from the keymap to the user device or the user; Receiving a registration code, the user determining the registration code based on a selection key presented by the user device and a desired personal identifier; Determine a hash value of the desired individual identifier based on the registration code and the selection key; And store the hash value in the user account.
소정의 실시예에서, 상기 서버 프로세싱 시스템은, 상기 사용자로부터 개인 식별자 등록 요청을 수신하고; 상기 키맵으로부터의 제1 선택 키를 나타내는 제1 인덱스를 상기 사용자 장치 또는 사용자로 전송하고; 등록 코드를 수신하고 - 상기 사용자는 상기 사용자 장치에 의해 제시된 상기 제1 선택키 및 원하는 개인 식별자에 기초하여 상기 등록 코드를 결정함 -; 상기 등록 코드 및 상기 제1 선택 키에 기초하여 상기 원하는 개인 식별자의 제1 해시 값을 결정하고; 상기 키맵으로부터의 제2 선택 키를 나타내는 제2 인덱스를 상기 사용자 장치 또는 사용자로 전송하고; 제2 등록 코드를 수신하고 - 상기 사용자는 상기 제2 선택 키 및 상기 원하는 개인 식별자에 기초하여 상기 제2 등록 코드를 결정함 - ; 상기 제2 등록 코드 및 상기 키맵으로부터의 제2 인덱스에 대응하는 상기 제2 선택 키를 이용하여 제2 해시 값을 결정하고; 상기 제2 해시 값에 대응하는 제1 해시 값에 응답하여 상기 사용자 계정에 상기 제1 또는 제2 해시 값을 저장하도록 구성된다.In some embodiments, the server processing system comprises: receiving a personal identifier registration request from the user; Transmit a first index indicating a first selection key from the keymap to the user device or user; Receiving a registration code, the user determining the registration code based on the first selection key and the desired personal identifier presented by the user device; Determine a first hash value of the desired individual identifier based on the registration code and the first selection key; Transmit a second index indicating a second selection key from the keymap to the user device or user; Receiving a second registration code, the user determining the second registration code based on the second selection key and the desired individual identifier; Determine a second hash value using the second registration code and the second selection key corresponding to a second index from the keymap; And store the first or second hash value in the user account in response to the first hash value corresponding to the second hash value.
소정의 실시예에서, 상기 서버 프로세싱 시스템은, 상기 사용자로부터 리셋 개인 식별자 요청을 수신하고; 상기 사용자의 아이덴티티의 확인을 가능하게 하고; 성공적인 확인에 응답하여, 상기 키맵으로부터의 선택 키의 인덱스를 상기 사용자 장치 또는 사용자로 전송하고; 리셋 코드를 수신하고 - 상기 사용자는 상기 사용자 장치에 의해 제시된 상기 선택 키 및 새로운 개인 식별자에 기초하여 상기 리셋 코드를 결정함 -; 상기 리셋 코드 및 상기 선택 키에 기초하여 상기 새로운 개인 식별자의 해시 값을 결정하고; 상기 새로운 개인 식별자의 해시 값을 상기 사용자 계정에 저장하도록 구성된다.In some embodiments, the server processing system further comprises: receiving a reset personal identifier request from the user; Enable identification of the identity of the user; In response to a successful acknowledgment, transmit an index of a selection key from the keymap to the user device or user; Receiving a reset code, the user determining the reset code based on the selection key and the new personal identifier presented by the user device; Determine a hash value of the new individual identifier based on the reset code and the selection key; And store the hash value of the new individual identifier in the user account.
소정의 실시예에서, 상기 서버 프로세싱 시스템은 상기 사용자의 디지털 증명서에 의해 지시된 사용자의 아이덴티티를 나타내는 데이터를 상기 사용자 계정에 저장하도록 구성된다.In some embodiments, the server processing system is configured to store in the user account data indicative of the identity of the user indicated by the digital certificate of the user.
소정의 실시예에서, 상기 서버 프로세싱 시스템은 상기 사용자 장치로부터 인덱스 요청을 수신하도록 구성되고, 상기 인덱스 요청의 수신에 응답하여, 상기 서버 프로세싱 시스템은 상기 키맵으로부터의 선택 키의 인덱스를 상기 사용자 장치로 전송한다.In some embodiments, the server processing system is configured to receive an index request from the user device, and in response to receiving the index request, the server processing system sends an index of a selection key from the keymap to the user device send.
제2 형태에 있어서, 원격 서버 프로세싱 시스템에 의해 제어되는 안전한 환경을 액세스하려고 시도하는 사용자를 인증하는 방법으로서, 상기 방법은, 상기 서버 프로세싱 시스템이, 상기 원격 서버 프로세싱 시스템으로부터 인증 요청을 수신하여 상기 안전한 환경을 액세스하려고 시도하는 사용자를 인증하는 단계; 상기 사용자 장치의 메모리 또는 서버 액세스가능 메모리에 저장된 키맵으로부터의 선택 키에 대응하는 인덱스를 상기 사용자 또는 상기 사용자와 연관된 사용자 장치로 전송하는 단계; 코드를 나타내는 데이터를 수신하는 단계 - 상기 사용자는 상기 사용자 장치에 의해 제시된 선택 키 및 개인 식별자에 기초하여 상기 코드를 결정함 -; 상기 코드 및 상기 서버 액세스가능 메모리에 저장된 선택 키를 이용하여 상기 개인 식별자의 해시 값을 결정하는 단계; 상기 결정된 해시 값을 상기 서버 액세스가능 메모리에 저장된 사용자 계정과 연관된 저장 해시 값과 비교하는 단계; 및 상기 비교에 기초하여 상기 안전한 환경에 액세스하기 위하여 사용자가 인증되었는지를 나타내는 인증 응답을 상기 원격 서버 프로세싱 시스템으로 전송하는 단계를 포함하는 방법이 제공된다.[0040] In a second aspect, a method for authenticating a user attempting to access a secure environment controlled by a remote server processing system, the method comprising: receiving, by the server processing system, Authenticating a user attempting to access a secure environment; Transmitting an index corresponding to a selection key from a keymap stored in a memory or server accessible memory of the user device to the user or a user device associated with the user; Receiving data representative of the code, the user determining the code based on the selection key and the personal identifier presented by the user device; Determining a hash value of the individual identifier using the code and a selection key stored in the server accessible memory; Comparing the determined hash value to a stored hash value associated with a user account stored in the server accessible memory; And sending an authentication response to the remote server processing system indicating whether the user is authenticated to access the secure environment based on the comparison.
소정의 실시예에서, 상기 사용자는, 상기 사용자 장치와 독립적인 사용자 프로세싱 시스템, 또는 상기 사용자 장치 중의 하나로부터 상기 안전한 환경을 액세스하도록 시도한다.In certain embodiments, the user attempts to access the secure environment from one of the user processing systems, or the user device, that is independent of the user device.
소정의 실시예에서, 상기 사용자 장치는 휴대용 프로세싱 시스템이다.In some embodiments, the user device is a portable processing system.
소정의 실시예에서, 상기 방법은, 상기 서버 프로세싱 시스템이, 상기 사용자의 아이덴티티를 증명하려고 시도하는 아이덴티티 데이터, 및 상기 사용자 장치를 식별하는 고유 장치 프로파일을 나타내는 등록 요청을 수신하는 단계; 상기 아이덴티티 데이터에 기초하여 상기 사용자의 아이덴티티를 확인하는 단계; 및 상기 사용자의 아이덴티티의 긍정적인 확인에 기초하여 상기 사용자 계정을 생성하는 단계를 포함하고, 상기 사용자 장치는 상기 고유 장치 프로파일에 기초하여 상기 사용자 계정과 연관된다.In certain embodiments, the method further comprises: receiving, by the server processing system, a registration request indicating identity data attempting to prove the identity of the user, and a unique device profile identifying the user device; Confirming the identity of the user based on the identity data; And generating the user account based on positive identification of the identity of the user, wherein the user device is associated with the user account based on the unique device profile.
소정의 실시예에서, 상기 방법은, 사용자 등록시, 상기 서버 프로세싱 시스템이, 복수의 인덱스 키를 포함하는 상기 키맵을 상기 사용자 계정과 연관시키는 단계; 및 상기 사용자 장치의 메모리에 저장하기 위하여 상기 키맵을 나타내는 데이터를 상기 사용자 장치로 전송하는 단계를 포함한다.In some embodiments, the method further comprises: upon user registration, associating the keymap with a user account, the server processing system including a plurality of index keys; And transmitting data representing the keymap to the user device for storage in a memory of the user device.
소정의 실시예에서, 상기 방법은, 상기 서버 프로세싱 시스템이, 상기 사용자로부터 개인 식별자 등록 요청을 수신하는 단계; 상기 키맵으로부터의 선택 키를 나타내는 인덱스를 상기 사용자 장치 또는 사용자로 전송하는 단계; 등록 코드를 수신하는 단계 - 상기 사용자는 상기 사용자 장치에 의해 제시된 선택 키 및 원하는 개인 식별자에 기초하여 상기 등록 코드를 결정함 -; 상기 등록 코드 및 상기 선택 키에 기초하여 상기 원하는 개인 식별자의 해시 값을 결정하는 단계; 및 상기 해시 값을 상기 사용자 계정에 저장하는 단계를 포함한다.In some embodiments, the method further comprises: the server processing system receiving a personal identifier registration request from the user; Transmitting an index indicating a selection key from the keymap to the user device or the user; Receiving a registration code, the user determining the registration code based on a selection key presented by the user device and a desired personal identifier; Determining a hash value of the desired individual identifier based on the registration code and the selection key; And storing the hash value in the user account.
소정의 실시예에서, 상기 방법은, 상기 서버 프로세싱 시스템이, 상기 사용자로부터 개인 식별자 등록 요청을 수신하는 단계; 상기 키맵으로부터의 제1 선택 키를 나타내는 제1 인덱스를 상기 사용자 장치 또는 사용자로 전송하는 단계; 제1 등록 코드를 수신하는 단계 - 상기 사용자는 상기 사용자 장치에 의해 제시된 상기 제1 선택키 및 원하는 개인 식별자에 기초하여 상기 제1 등록 코드를 결정함 -; 상기 제1 등록 코드 및 상기 제1 선택 키에 기초하여 상기 원하는 개인 식별자의 제1 해시 값을 결정하는 단계; 상기 키맵으로부터의 제2 선택 키를 나타내는 제2 인덱스를 상기 사용자 또는 사용자 장치로 전송하는 단계; 제2 등록 코드를 수신하는 단계 - 상기 사용자는 상기 사용자 장치에 의해 제시된 상기 제2 선택 키 및 상기 원하는 개인 식별자에 기초하여 상기 제2 등록 코드를 결정함 -; 상기 제2 등록 코드 및 상기 키맵으로부터의 제2 인덱스에 대응하는 상기 제2 선택 키를 이용하여 제2 해시 값을 결정하는 단계; 및 상기 제2 해시 값에 대응하는 제1 해시 값에 응답하여 상기 사용자 계정에 상기 제1 또는 제2 해시 값을 저장하는 단계를 포함한다.In some embodiments, the method further comprises: the server processing system receiving a personal identifier registration request from the user; Transmitting a first index indicating a first selection key from the keymap to the user device or the user; Receiving a first registration code, the user determining the first registration code based on the first selection key and the desired personal identifier presented by the user device; Determining a first hash value of the desired individual identifier based on the first registration code and the first selection key; Transmitting a second index indicating a second selection key from the keymap to the user or user device; Receiving a second registration code, the user determining the second registration code based on the second selection key and the desired personal identifier presented by the user device; Determining a second hash value using the second registration code and the second selection key corresponding to a second index from the keymap; And storing the first or second hash value in the user account in response to a first hash value corresponding to the second hash value.
소정의 실시예에서, 상기 방법은, 상기 서버 프로세싱 시스템이, 상기 사용자로부터 리셋 개인 식별자 요청을 수신하는 단계; 상기 사용자의 아이덴티티의 확인을 가능하게 하는 단계; 성공적인 확인에 응답하여, 상기 키맵으로부터의 선택 키의 인덱스를 상기 사용자 장치 또는 사용자로 전송하는 단계; 리셋 코드를 수신하는 단계 - 상기 사용자는 상기 선택 키 및 새로운 개인 식별자에 기초하여 상기 리셋 코드를 결정함 -; 상기 리셋 코드 및 상기 선택 키에 기초하여 상기 새로운 개인 식별자의 해시 값을 결정하는 단계; 및 상기 새로운 개인 식별자의 해시 값을 상기 사용자 계정에 저장하는 단계를 포함한다.In some embodiments, the method further comprises: the server processing system receiving a reset personal identifier request from the user; Enabling identification of the identity of the user; Transmitting an index of a selection key from the keymap to the user device or user in response to a successful confirmation; Receiving a reset code, the user determining the reset code based on the selection key and a new personal identifier; Determining a hash value of the new individual identifier based on the reset code and the selection key; And storing the hash value of the new individual identifier in the user account.
소정의 실시예에서, 상기 방법은 서버 프로세싱 시스템이 상기 사용자의 디지털 증명서에 의해 지시된 사용자의 아이덴티티를 나타내는 데이터를 상기 사용자 계정에 저장하는 단계를 포함한다.In certain embodiments, the method includes storing, in the user account, data representing a user's identity as indicated by the digital certificate of the user of the server processing system.
소정의 실시예에서, 상기 방법은 상기 서버 프로세싱 시스템이 상기 사용자 장치로부터 인덱스 요청을 수신하는 단계를 포함하고, 상기 인덱스 요청의 수신에 응답하여, 상기 서버 프로세싱 시스템은 상기 키맵으로부터의 선택 키의 인덱스를 상기 사용자 장치로 전송한다.In some embodiments, the method further comprises the server processing system receiving an index request from the user device, and in response to receiving the index request, the server processing system determines the index of the selection key from the keymap To the user device.
제3 형태에 있어서, 원격 서버 프로세싱 시스템에 의해 제어되는 안전한 환경을 액세스하려고 시도하는 사용자를 인증하도록 서버 프로세싱 시스템을 구성하는 컴퓨터 판독가능 매체로서, 상기 컴퓨터 판독가능 매체는, 실행시, 제2 형태의 방법을 수행하도록 상기 서버 프로세싱 시스템을 구성하는 실행가능 명령을 포함하는 컴퓨터 판독가능 매체가 제공된다.In a third aspect, there is provided a computer-readable medium for configuring a server processing system to authenticate a user attempting to access a secure environment controlled by a remote server processing system, the computer readable medium comprising: There is provided a computer readable medium comprising executable instructions for configuring the server processing system to perform the method of
제4 형태에 있어서, 원격 서버 프로세싱 시스템에 의해 제어되는 안전한 환경을 액세스하려고 시도하는 사용자를 인증하는 시스템으로서, 상기 시스템은 서버 프로세싱 시스템 및 소프트웨어 애플리케이션을 포함하고, 상기 서버 프로세싱 시스템은, 상기 원격 서버 프로세싱 시스템으로부터 인증 요청을 수신하여 상기 안전한 환경을 액세스하려고 시도하는 사용자를 인증하고; 상기 사용자 장치의 메모리 또는 서버 액세스가능 메모리에 저장된 키맵으로부터의 선택 키에 대응하는 인덱스를 상기 사용자 또는 상기 사용자와 연관된 사용자 장치로 전송하고; 코드를 나타내는 데이터를 수신하고 - 상기 사용자는 상기 사용자 장치에 의해 제시된 선택 키 및 개인 식별자에 기초하여 상기 코드를 결정함 -; 상기 코드 및 상기 서버 액세스가능 메모리에 저장된 선택 키를 이용하여 상기 개인 식별자의 해시 값을 결정하고; 상기 결정된 해시 값을 상기 서버 액세스가능 메모리에 저장된 사용자 계정과 연관된 저장 해시 값과 비교하고; 상기 비교에 기초하여 상기 안전한 환경을 액세스하기 위하여 사용자가 인증되었는지를 나타내는 인증 응답을 상기 원격 서버 프로세싱 시스템으로 전송하도록 구성되고, 상기 소프트웨어 애플리케이션은 상기 사용자 장치에 의해 실행 가능하여, 상기 키맵을 수신하고, 상기 사용자 장치의 메모리에 상기 키맵을 저장하고, 상기 인덱스에 기초하여 상기 키맵으로부터의 상기 선택 키를 상기 사용자에게 제시하도록 상기 사용자 장치를 구성하는 시스템이 제공된다.[0030] In a fourth aspect the invention provides a system for authenticating a user attempting to access a secure environment controlled by a remote server processing system, the system comprising a server processing system and a software application, Authenticate a user who receives an authentication request from the processing system and attempts to access the secure environment; Transmit an index corresponding to a selection key from a keymap stored in a memory or server accessible memory of the user device to the user or a user device associated with the user; Receiving data representative of the code, the user determining the code based on the selection key and the personal identifier presented by the user device; Determine a hash value of the individual identifier using the code and a selection key stored in the server accessible memory; Compare the determined hash value with a stored hash value associated with a user account stored in the server accessible memory; And send an authentication response to the remote server processing system indicating whether the user is authenticated to access the secure environment based on the comparison, the software application being executable by the user device to receive the keymap , Storing the keymap in a memory of the user device, and configuring the user device to present the selection key from the keymap to the user based on the index.
제5 형태에 있어서, 원격 서버 프로세싱 시스템에 의해 제어되는 안전한 환경을 액세스하려고 시도하는 사용자를 인증하는데 사용되는 개인 식별자를 사용자가 리셋하도록 하는 서버 프로세싱 시스템으로서, 상기 서버 프로세싱 시스템은, 상기 사용자로부터 리셋 개인 식별자 요청을 수신하고; 상기 사용자의 아이덴티티의 확인을 가능하게 하고; 성공적인 확인에 응답하여, 사용자 계정과 연관된 키맵으로부터의 선택 키에 대응하는 인덱스를 상기 사용자 장치 또는 사용자에게 전송하고 - 상기 키맵은 상기 사용자 장치의 메모리 및 서버 액세스가능 메모리에 저장됨 -; 리셋 코드를 수신하고 - 상기 사용자는 상기 선택 키맵 및 새로운 개인 식별자에 기초하여 상기 리셋 코드를 결정함 -; 상기 리셋 코드 및 상기 선택 키에 기초하여 상기 새로운 개인 식별자의 해시 값을 결정하고; 상기 새로운 개인 식별자의 해시 값을 상기 사용자 계정에 저장하도록 구성되는 서버 프로세싱 시스템이 제공된다.The server processing system according to the fifth aspect is configured to cause a user to reset a personal identifier used to authenticate a user attempting to access a secure environment controlled by a remote server processing system, Receive a personal identifier request; Enable identification of the identity of the user; Responsive to successful identification, transmitting an index corresponding to a selection key from a keymap associated with the user account to the user device or user, the keymap being stored in a memory of the user device and in a server accessible memory; Receiving a reset code, the user determining the reset code based on the selection keymap and a new personal identifier; Determine a hash value of the new individual identifier based on the reset code and the selection key; And store the hash value of the new individual identifier in the user account.
제6 형태에 있어서, 원격 서버 프로세싱 시스템에 의해 제어되는 안전한 환경을 액세스하려고 시도하는 사용자를 인증하기 위하여 개인 식별자를 리셋하는 방법으로서, 상기 방법은, 상기 서버 프로세싱 시스템이, 상기 사용자로부터 리셋 개인 식별자 요청을 수신하는 단계; 상기 사용자의 아이덴티티의 확인을 가능하게 하는 단계; 성공적인 확인에 응답하여, 사용자 계정과 연관된 키맵으로부터의 선택 키에 대응하는 인덱스를 상기 사용자 장치 또는 사용자에게 전송하는 단계 - 상기 키맵은 상기 사용자 장치의 메모리 및 서버 액세스가능 메모리에 저장됨 -; 리셋 코드를 수신하는 단계 - 상기 사용자는 상기 선택 키맵 및 새로운 개인 식별자에 기초하여 상기 리셋 코드를 결정함 -; 상기 리셋 코드 및 상기 선택 키에 기초하여 상기 새로운 개인 식별자의 해시 값을 결정하는 단계; 및 상기 새로운 개인 식별자의 해시 값을 상기 사용자 계정에 저장하는 단계를 포함하는 방법이 제공된다.[0030] In a sixth aspect, a method is provided for resetting a personal identifier to authenticate a user attempting to access a secure environment controlled by a remote server processing system, the method comprising: receiving, by the server processing system, Receiving a request; Enabling identification of the identity of the user; Responsive to successful identification, transmitting an index corresponding to a selection key from a keymap associated with the user account to the user device or user, wherein the keymap is stored in memory and server accessible memory of the user device; Receiving a reset code, the user determining the reset code based on the selection keymap and a new personal identifier; Determining a hash value of the new individual identifier based on the reset code and the selection key; And storing the hash value of the new individual identifier in the user account.
제7 형태에 있어서, 원격 서버 프로세싱 시스템에 의해 제어되는 안전한 환경을 액세스하려고 시도하는 사용자를 인증하는데 사용되는 개인 식별자를 사용자가 리셋하도록 하는 서버 프로세싱 시스템을 구성하는 컴퓨터 판독가능 매체로서, 상기 컴퓨터 판독가능 매체는, 실행시, 제6 형태의 방법을 수행하도록 상기 서버 프로세싱 시스템을 구성하는 실행가능 명령을 포함하는 컴퓨터 판독가능 매체가 제공된다.[0065] In a seventh aspect there is provided a computer-readable medium constituting a server processing system for causing a user to reset a user identifier used to authenticate a user attempting to access a secure environment controlled by a remote server processing system, The computer readable medium of
다른 형태 및 실시예는 상세한 설명을 통해 실현될 것이다.Other forms and embodiments will be realized through the detailed description.
예시적인 실시예는 첨부된 도면과 결합하여 적어도 하나의 바람직한 비제한 실시예의 예로서 주어지는 다음의 설명으로부터 명백해질 것이다.
도 1은 특정 실시예를 구현하거나 그에 효과를 제공하는데 이용될 수 있는 예시적인 프로세싱 시스템의 기능 블록도.
도 2는 특정 실시예를 구현하거나 그에 효과를 제공하는데 이용될 수 있는 예시적인 네트워크 인프라스트럭쳐를 나타내는 도면.
도 3은 안전한 환경으로의 액세스를 시도하는 사용자를 인증하는 시스템의 시스템 다이어그램.
도 4는 안전한 환경으로의 액세스를 시도하는 사용자를 인증하기 위하여 서버 프로세싱 시스템에 의해 수행되는 예시적인 방법을 나타내는 흐름도.
도 5는 서버 프로세싱 시스템에 의해 제공되는 인증 서비스를 이용하기 위하여 사용자가 등록하는 예시적인 방법을 나타내는 플로우챠트.
도 6a는 예시적인 키맵을 나타내는 도면.
도 6b는 키 및 식별자 참조의 그래픽 표시를 포함하는 예시적인 사용자 인터페이스를 나타내는 도면.
도 7은 사용자를 인증하는데 사용하기 위하여 사용자가 개인 식별자를 리셋하는 예시적인 방법을 나타내는 플로우챠트.BRIEF DESCRIPTION OF THE DRAWINGS Exemplary embodiments will become apparent from the following description, taken in conjunction with the accompanying drawings, as examples of at least one preferred non-limiting embodiment.
BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a functional block diagram of an exemplary processing system that may be used to implement or provide an effect on a particular embodiment.
Figure 2 illustrates an exemplary network infrastructure that may be used to implement or provide an effect on a particular embodiment;
3 is a system diagram of a system for authenticating a user attempting to access a secure environment.
4 is a flow diagram illustrating an exemplary method performed by a server processing system to authenticate a user attempting access to a secure environment;
5 is a flow chart illustrating an exemplary method by which a user registers to use an authentication service provided by a server processing system.
6A illustrates an exemplary keymap;
Figure 6B illustrates an exemplary user interface including a graphical representation of key and identifier references;
7 is a flow chart illustrating an exemplary method for a user to reset a personal identifier for use in authenticating a user.
바람직한 실시예 또는 실시예들의 주제를 더 정밀하게 이해하기 위하여 단지 예로서 주어지는 다음의 모드가 기재된다. 예시적인 실시예의 특징을 설명하도록 포함된 도면에서, 동일한 참조 번호는 도면에 걸쳐 동일한 부분을 확인하는데 사용된다.To better understand the subject matter of the preferred embodiments or examples, the following modes are given as examples only. In the figures included to illustrate the features of the exemplary embodiments, like reference numerals are used to identify like parts throughout the drawings.
예시적인 프로세싱 시스템An exemplary processing system
특정 실시예는 프로세싱 시스템을 이용하여 실현될 수 있고, 그 예는 도 1에 도시된다. 특히, 프로세싱 시스템(100)은 일반적으로 버스 또는 버스의 그룹(110)을 통해 접속된 적어도 하나의 프로세서(102) 또는 프로세싱 유닛 또는 복수의 프로세서, 메모리(104), 적어도 하나의 입력 장치(106) 및 적어도 하나의 출력 장치(108)를 포함한다. 소정의 실시예에서, 입력 장치(106) 및 출력 장치(108)는 동일한 장치일 수 있다. 인터페이스(112)는 또한 프로세싱 시스템(100)을 하나 이상의 주변 장치에 결합하기 위하여 제공될 수 있고, 예를 들어, 인터페이스(112)는 PCI 카드 또는 PC 카드일 수 있다. 적어도 하나의 데이터베이스(116)를 하우징하는 적어도 하나의 저장 장치(114)가 또한 제공될 수 있다. 메모리(104)는 임의의 형태의 메모리 장치, 예를 들어, 휘발성 또는 비휘발성 메모리, 솔리드 스테이트 저장 장치, 자기 장치 등일 수 있다. 프로세서(102)는 예를 들어 1보다 많은 개별 프로세싱 장치를 포함하여 프로세싱 시스템(100) 내의 상이한 기능을 처리할 수 있다.A particular embodiment may be realized using a processing system, an example of which is shown in Fig. In particular, the
입력 장치(106)는 입력 데이터(118)를 수신하고 예를 들어 키보드, 펜형상 장치 또는 마우스 등의 포인터 장치, 마이크로폰 등의 보이스 제어 활성화를 위한 오디오 수신 장치, 모뎀 또는 무선 데이터 어댑터 등의 데이터 수신기 또는 안테나, 데이터 획득 카드 등을 포함할 수 있다. 입력 데이터(118)는 예를 들어 네트워크를 통해 수신된 데이터와 결합하여 상이한 소스, 예를 들어, 키보드 명령으로부터 비롯될 수 있다. 출력 장치(108)는 출력 데이터(120)를 생성 또는 발생하고 예를 들어 출력 데이터(120)가 시각적으로 보이는 경우의 디스플레이 장치 또는 모니터, 출력 데이터(120)가 인쇄되는 경우의 프린터, 포트, 예를 들어, USB 포트, 주변 컴포넌트 어댑터, 모뎀 또는 무선 네트워크 어댑터 등의 데이터 송신기 또는 안테나 등을 포함할 수 있다. 출력 데이터(120)는 개별적이며, 상이한 출력 장치, 예를 들어, 네트워크로 송신되는 데이터와 결합하여 모니터 상의 시각 디스플레이로부터 도출될 수 있다. 사용자는 예를 들어 모니터 상에서 또는 프린터를 이용하여 데이터 출력 또는 데이터 출력의 해석(interpretation)을 볼 수 있다. 저장 장치(114)는 임의의 형태의 데이터 또는 정보 저장 수단, 예를 들어, 휘발성 또는 비휘발성 메모리, 솔리드 스테이트 저장 장치, 자기 장치 등일 수 있다.The input device 106 may receive
사용에 있어서, 프로세싱 시스템(100)은 유선 또는 무선 통신 수단을 통해 데이터 또는 정보가 적어도 하나의 데이터베이스(116) 및/또는 메모리(104)에 저장되고 및/또는 그로부터 검색(retrieve)되도록 적응된다. 인터페이스(112)는 프로세싱 유닛(102) 및 특수 목적을 제공할 수 있는 주변 컴포넌트 사이의 유선 및/또는 무선 통신을 허용할 수 있다. 프로세서(102)는 입력 장치(106)를 통해 입력 데이터(118)로서 명령을 수신하고 출력 장치(108)를 이용함으로써 사용자에게 프로세싱된 결과 또는 다른 출력을 디스플레이할 수 있다. 1보다 많은 입력 장치(106) 및/또는 출력 장치(108)가 제공될 수 있다. 프로세싱 시스템(100)은 임의의 형태의 단말, 서버, 특수 하드웨어 등일 수 있음을 인식해야 한다.In use, the
프로세싱 장치(100)는 도 2에 도시된 바와 같이 네트워킹 통신 시스템(200)의 일부일 수 있다. 프로세싱 장치(100)는 네트워크(202), 예를 들어, 인터넷 또는 WAN에 접속될 수 있다. 입력 데이터(118) 및 출력 데이터(120)는 네트워크(202)를 통해 다른 장치에 전달될 수 있다. 다른 단말, 예를 들어, 씬 클라이언트(thin client)(204), 추가의 프로세싱 시스템(206, 209), 노트북 컴퓨터(210), 메인프레임 컴퓨터(212), PDA(214), 펜 기반 컴퓨터(216), 서버(218) 등이 네트워크(202)에 접속될 수 있다. 많은 다른 다양한 타입의 단말 또는 구성이 이용될 수 있다. 네트워크(202)를 통한 정보 및/또는 데이터의 전송은 유선 통신 수단(220) 또는 무선 통신 수단(222)을 이용하여 달성될 수 있다. 서버(218)는 네트워크(202) 및 하나 이상의 데이터베이스(224) 간의 데이터 전송을 가능하게 할 수 있다. 서버(218) 및 하나 이상의 데이터베이스(224)는 정보 소스의 예를 제공한다.The
다른 네트워크가 네트워크(202)와 통신할 수 있다. 예를 들어, 텔레커뮤니케이션 네트워크(230)는 무선 통신 수단(236) 및 수신/송신 스테이션(238)을 이용함으로써 네트워크(202) 및 모바일 또는 셀룰러 전화(232) 또는 PDA 타입 장치(234) 간의 데이터 전송을 가능하게 할 수 있다. 위성 통신 네트워크(240)는 위성(244)으로부터 데이터 신호를 수신하는 위성 신호 수신기(242)와 통신할 수 있고, 결과적으로, 위성 신호 송신기(246)와 원격 통신한다. 단말, 예를 들어, 추가의 프로세싱 시스템(248), 노트북 컴퓨터(250) 또는 위성 전화(252)는 네트워크(202)와 통신할 수 있다. 예를 들어 전용 네트워크, LAN 등일 수 있는 로컬 네트워크(260)가 또한 네트워크(202)에 접속될 수 있다. 예를 들어, 네트워크(202)는 단말(264), 데이터베이스(268)로 및/또는 로부터의 데이터의 전송을 제어하는 서버(266), 및 프린터(270)를 접속하는 이더넷(262)과 접속될 수 있다. 다양한 다른 타입의 네트워크가 사용될 수 있다.Another network may communicate with the
프로세싱 장치(100)는 데이터(118, 120)를 네트워크(202)로 및 로부터 송수신함으로써 다른 단말, 예를 들어, 추가의 프로세싱 시스템(206, 208)과 통신하도록 적응되어, 네트워킹 통신 시스템(200)의 다른 컴포넌트와의 가능한 통신을 가능하게 한다.The
따라서, 예를 들어, 네트워크(202, 230, 240)는 인터넷의 일부를 형성하거나 인터넷에 접속될 수 있고, 이 경우, 단말(206, 212, 218)은 예를 들어 웹 서버, 인터넷 단말 등일 수 있다. 네트워크(202, 230, 240, 260)는 LAN, WAN, 이더넷, 토큰 링, FDDI 링, 스타(star) 네트워크 등의 다른 통신 네트워크 또는 GSM, CDMA 또는 3G 네트워크 등의 모바일 전화 네트워크 등이거나 그 일부를 형성할 수 있고, 특정 구현예에 따라 예를 들어 광 파이버 또는 무선 네트워크를 포함하여 전체적으로 또는 부분적으로 유선일 수 있다.
Thus, for example, the
시스템의 개요System overview
도 3을 참조하면, 안전한 환경(325)으로의 액세스를 시도하는 사용자(350)를 인증하는 예시적인 시스템(300)을 나타내는 시스템 다이어그램이 도시된다.Referring to FIG. 3, a system diagram illustrating an
특히, 시스템(300)은 데이터 통신 수단을 통해 원격 서버 프로세싱 시스템(320)과 데이터 통신하는 서버 프로세싱 시스템(310)을 포함한다. 서버 프로세싱 시스템(310)은 데이터베이스의 형태로 제공되는 서버 액세스가능 메모리(315)와 연관되고, 서버 액세스가능 메모리는 사용자(350)를 인증하기 위한 계정(account) 데이터를 저장한다. 원격 프로세싱 시스템(320)은 허가된 사용자로 제한되는 안전한 환경(325)으로의 액세스를 제어한다. 안전한 환경(325)의 예는 안전한 웹사이트, 안전한 서버 서비스 등의 디지털 환경 또는 빌딩 내의 안전한 문 등의 잠재적으로 물리적인 환경을 포함한다.In particular, the
시스템(300)은 또한 데이터 통신 수단을 통해 원격 서버 프로세싱 시스템(320)과 데이터 통신하는 사용자 프로세싱 시스템(340)을 포함할 수 있다. 사용자(350)는 안전한 환경(325)으로 액세스하기 위하여 사용자 프로세싱 시스템(340)과 상호작용하여 원격 서버 프로세싱 시스템(320)으로 요청을 전송한다. 사용자 프로세싱 시스템(340)의 예는 데스크탑 단말, 랩탑, 태블릿 컴퓨터 등을 포함할 수 있다.The
시스템(300)은, 또한, 사용자 프로세싱 시스템(340)과 독립적이고, 사용자(350)와 연관되고 데이터 통신 수단을 통해 서버 프로세싱 시스템(310)과 데이터 통신하는 사용자 장치(330)를 포함한다. 사용자 장치(330)는 바람직하게 모바일 전화(즉, "스마트폰 등), 착용가능 프로세싱 시스템(즉, 구글 글래스(Google Glass)TM) 또는 사용자 프로세싱 시스템(340)과 별개이고 사용자(350)와 연관된 임의의 다른 상호작용 장치 등의 사용자(350)와 연관된 휴대용 프로세싱 시스템이다. 사용자 장치(330)는 인증을 위해 사용자에게 인터페이스를 제시하는 소프트웨어 애플리케이션(335)(일반적으로 "앱(app)"라 함)을 메모리에 저장한다.The
하나의 형태에 있어서, 사용자 프로세싱 시스템이 필요하지 않다. 특히, 사용자는 안전한 환경(325)으로 액세스하기 위하여 사용자 장치와 상호 작용하여 원격 서버 프로세싱 시스템(320)에 요청을 전송할 수 있다.
In one form, no user processing system is needed. In particular, a user may interact with a user device to access a
등록Enrollment
도 4를 참조하면, 원격 서버 프로세싱 시스템(320)에 의해 제어되는 안전한 환경(325)을 액세스할 때 사용자(350)를 인증하는 서버 프로세싱 시스템(310)에 사용자(350)가 등록하는 예시적인 방법(400)을 나타내는 플로우챠트가 도시된다.4, an exemplary method by which a
특히, 단계(405)에서, 방법(400)은 사용자(350)가 등록 요청을 서버 프로세싱 시스템(310)으로 전송하는 단계를 포함한다. 등록 요청은 사용자(350)에 의해 동작하는 사용자 장치(330) 및/또는 사용자 프로세싱 시스템(340)으로부터 전송될 수 있다. 특히, 등록 요청이 적어도 부분적으로 사용자 장치(330)를 이용하여 제출되는 경우에, 이것은 사용자가 사용자 장치(330) 상에 소프트웨어 애플리케이션(335)을 설치하고 소프트웨어 애플리케이션(335)을 런칭(launch)하고 사용자가 소프트웨어 애플리케이션(335)과 상호 작용하여 등록 요청을 제출하는 것에 응답할 수 있다. 등록 요청은 사용자(350)의 아이덴티티를 증명하도록 시도하는 아이덴티티 데이터를 나타낼 수 있고, 고유한 장치 식별자는 사용자 장치(330)를 나타낼 수 있다. 아이덴티티 데이터는 크레딧 카드 번호, 패스포트 번호, 유틸리티 빌(utility bills), 어드레스 및 다른 유사한 정보를 나타낼 수 있다. 특정 실시예에서, 고유 장치 식별자는 소프트웨어 애플리케이션(335)에 의해 발생된 고유 장치 프로파일이다. 소프트웨어 애플리케이션(335)은 사용자 장치(330)의 다수의 특징을 결정하고 결정된 특징을 이용하여 고유 장치 프로파일을 생성한다. 결정된 특징은 사용자 장치(330)(CPU, 메모리 등)의 하드웨어, 사용자 장치(330)의 MAC 어드레스, 사용자와 연관된 디지털 증명서를 나타낼 수 있는 소프트웨어 프로파일 및 사용자 장치(330)와 연관된 하나 이상의 식별자 중의 하나 이상의 특징을 포함할 수 있다. 소프트웨어 애플리케이션(335)은 결정된 특징에 해싱(hashing) 알고리즘을 적용하여 해시 값의 형태로 고유 장치 프로파일을 생성한다. 그 후, 고유 장치 프로파일은 저장을 위해 서버 프로세싱 시스템으로 전송된다. 고유 장치 프로파일은 장치 서명(signature)으로서 동작하여 사용자 장치(330)의 다수의 특징에 기초하여 사용자 장치(330)를 고유하게 식별한다. 특정 실시예에서, 고유 장치 프로파일은 또한 사용자 장치(330)의 메모리에 저장되고 이하에서 상세히 설명하는 바와 같이 보안 검사(security check)를 구현하는데 사용될 수 있다.In particular, at
단계(410)에서, 방법(400)은 서버 프로세싱 시스템(310)이 아이덴티티 데이터에 기초하여 사용자(350)의 아이덴티티의 확인(verification)을 가능하게 하는 단계를 포함한다. 특히, 서버 프로세싱 시스템(310)은 정보의 세트가 단일 사용자와 연관된다는 것을 확인하려는 시도에서 아이덴티티 확인기(IDV; identity verifier)를 이용할 수 있다. 긍정적인 확인에 응답하여, 방법은 단계(415)로 진행한다. 그렇지 않으면, 서버 프로세싱 시스템(310)은 사용자(350)에게 추가의 식별 정보를 요청할 수 있다.At
단계(415)에서, 방법(400)은 서버 프로세싱 시스템(310)이 서버 프로세싱 시스템(310)과 연관된 메모리(315)에 사용자 계정을 생성하는 단계를 포함한다. 메모리(315)는 바람직하게 서버 프로세싱 시스템(310)에 의해 액세스가능한 데이터베이스이다. 서버 프로세싱 시스템(310)은, 특정 실시예에서 고유 장치 프로파일인 고유 장치 식별자에 기초하여 사용자 장치(330)를 사용자 계정과 연관시킨다.At
단계(420)에서, 방법(400)은 서버 프로세싱 시스템(310)이 키맵(keymap)(600) 및 사용자 계정 간의 연관성을 저장하는 단계를 포함한다. 특히, 각각의 키맵(600)은 고유 인덱스 번호(610)(즉, 일련 번호)와 연관된 복수의 고유 키(620)를 포함한다. 복수의 키(620) 및 연관된 인덱스(660)를 포함하는 키맵(650)의 그래픽 표시의 예가 도 6a에 도시된다. 특히, 각각의 키(620)는 복수의 고유 키 부분(630)을 포함한다. 이 예에서, 각각의 키(620)는 알파벳 키 부분을 포함하지만, 다른 형태의 키가 이용될 수 있다.At
단계(425)에서, 방법(400)은 서버 프로세싱 시스템(310)이 사용자 계정과 연관된 키맵(600)의 복수의 인덱스 키를 나타내는 키맵 데이터를 사용자 장치(300)로 전송하는 단계를 포함한다.At
단계(430)에서, 방법(400)은 사용자 장치(330)가 키맵 데이터를 로컬 메모리에 저장하는 단계를 포함한다.At
단계(435)에서, 방법(400)은 서버 프로세싱 시스템(310)이 사용자(350)로부터 개인 식별자 등록 요청을 수신하는 단계를 포함한다. 개인 식별자 등록 요청은 사용자 프로세싱 시스템(340) 또는 사용자 장치(330)로부터 수신될 수 있다. 응답으로, 서버 프로세싱 시스템은 원하는 개인 식별자를 간접적으로 나타내는 코드를 사용자가 입력하도록 요청하는 코드 요청 인터페이스를 사용자에게 제시하기 위하여 사용자 프로세싱 시스템(340) 또는 사용자 장치(330)로 전송한다. 코드 요청 인터페이스는 웹 브라우저, 웹 가능 애플리케이션 등을 통해 제시될 수 있다. 코드 요청 인터페이스는 사용자(350)에 제시되는 웹 페이지 또는 웹 페이지의 일부일 수 있다. 예를 들어, 코드 요청 인터페이스는 원격 서버 프로세싱 시스템(320)에 의해 호스팅된 웹페이지 내에 위치하는 프레임 또는 윈도우일 수 있고, 코드 요청 인터페이스는 서버 프로세싱 시스템(325)에 의해 생성 및 호스팅될 수 있다. 이하에서 상세히 설명하는 바와 같이, 사용자(350)에 의해 코드 요청 인터페이스에 입력되는 코드는 서버 프로세싱 시스템(310)으로 전송된다.At
단계(437)에서, 방법(400)은 사용자가 사용자 장치(330)의 소프트웨어 애플리케이션(335)을 통해 서버 프로세싱 시스템에게 인덱스를 요청하는 단계를 포함한다. 여기에서, 요청은 인덱스 요청이라 한다. 인덱스 요청은 사용자 장치(330)로부터 서버 프로세싱 시스템으로 전송되고, 인덱스 요청은 사용자의 사용자 장치 프로파일 및/또는 아이덴티티를 나타낼 수 있다. 인덱스 요청은 이하에서 상세히 설명하는 바와 같이 사용자의 디지털 증명서와 연관된 개인키(private key)를 이용하여 디지털적으로 서명될 수 있다.At
단계(440)에서, 인덱스 요청의 수신에 응답하여, 방법(400)은 서버 프로세싱 시스템(310)이 사용자 계정과 연관된 키맵(600)으로부터의 선택 키(620)를 나타내는 인덱스(610)를 사용자 장치(330)로 전송하는 단계를 포함한다. 사용자 장치 프로파일 및/또는 사용자 아이덴티티는 서버 프로세싱 시스템(310)에 의해 사용되어 사용자 계정 및 적절한 키맵을 결정한다. 코드 요청 인터페이스가 사용자 프로세싱 시스템(340)을 통해 제시되고 사용자 장치(330)가 서버 프로세싱 시스템(310)과 통신하지 않는 상황에서, 서버 프로세싱 시스템(310)은 사용자 프로세싱 시스템(340)을 통해 인덱스(610)를 사용자에게 제공할 수 있다. 그 후, 사용자는 사용자 장치(330)의 입력 장치를 이용하여 인덱스(610)를 소프트웨어 애플리케이션(335)에 수동으로 입력할 수 있다. 사용자는, 사용자 프로세싱 시스템(340)과 상호 작용하여 사용자 프로세싱 시스템(340)으로의 인덱스(610)의 전송 및 제시를 요청하도록 요구될 수 있다.At
단계(445)에서, 방법은 사용자 장치(330)가 수신된 인덱스(610)에 기초하여 로컬 메모리에 저장된 키맵(600)으로부터 해당 키(620)를 검색하는 단계를 포함한다.At
단계(450)에서, 방법은 사용자 장치(330)가 사용자 장치(330) 상에서 사용자 인터페이스(640)를 생성하고 디스플레이하는 단계를 포함하고, 여기서, 소프트웨어 애플리케이션(335)의 사용자 인터페이스(640)는 키(620) 및 식별자 참조(650)의 그래픽 표시를 제시한다. 도 6b를 참조하면, 0 내지 9의 숫자에 대한 10개의 키를 포함하는 수치 디스플레이로서 식별자 참조(650)를 오름차순으로 제시하는 예시적인 사용자 인터페이스(640)가 도시된다. 도 6b에 도시된 바와 같이, 키(620)는 해당 수의 랜덤 알파벳 문자를 포함할 수 있다. 바람직하게, 도 6에 도시된 바와 같이, 사용자 인터페이스(640)는 해당 식별자 참조 부분(660)에 인접하여 각각의 키 부분(630)을 제시하여 식별자 참조(650)의 각 숫자가 키(620)의 해당 키 부분(630)과 정렬하고 인접하도록 한다. 키(620) 및 식별자 참조(650)에 알파벳과 문자로 이루어진 데이터의 다른 구성이 사용될 수 있음을 인식할 것이다.The method includes the step of the user device 330 creating and displaying a
단계(455)에서, 방법(400)은 사용자(350)가 제시된 키 및 원하는 개인 식별자를 사용하여 코드를 결정하는 단계를 포함한다. 일 형태에 있어서, 사용자는 시각적으로 제시된 인터페이스(640)를 검사하고 코드를 결정한다. 예를 들어, 원하는 개인 식별자의 각각의 숫자에 대하여, 사용자(350)는 식별자 참조(650) 내의 이 숫자(660)에 대응하는 키 부분(630)을 식별한다. 키 부분(630)은 사용자에 의해 함께 연결되어 코드를 형성한다. 도 6b에 제시된 인터페이스에 기초하여, 사용자의 원하는 개인 식별자가 "1032"이면, 사용자(350)에 대한 코드는 "QRSL"이다. 사용자(350)가 사용자 장치(330)를 이용하여 개인 식별자를 설정하는 경우, 사용자는 사용자 장치(330)의 입력 장치와 상호 작용하여 코드를 코드 요청 인터페이스에 입력할 수 있고, 여기서, 코드는 원하는 개인 식별자를 간접적으로 나타낸다. 대안으로, 사용자가 사용자 프로세싱 시스템(340)을 이용하여 안전한 환경으로의 액세스를 얻으면, 사용자는 사용자 프로세싱 시스템(340)의 입력 장치를 이용하여 코드를 사용자 프로세싱 시스템(340)에 의해 제시된 코드 요청 인터페이스에 입력할 수 있다.At
단계(460)에서, 방법(400)은 사용자 장치(330) 또는 사용자 프로세싱 시스템(340)이 사용자(350)에 의해 코드 요청 인터페이스에 입력된 코드를 나타내는 응답을 서버 프로세싱 시스템(310)으로 전송하는 단계를 포함한다. 사용자 장치(330) 또는 사용자 프로세싱 시스템(340)에 의해 제시된 코드 요청 인터페이스는 제출 버튼을 포함할 수 있고, 여기서, 코드는 사용자 장치(330) 또는 사용자 프로세싱 시스템(340)으로부터 제출 버튼의 사용자 선택을 통해 서버 프로세싱 시스템(310)으로 전송될 수 있다.At
단계(465)에서, 방법(400)은 서버 프로세싱 시스템(310)이 코드 및 선택 키(620)에 기초하여 해시 값을 결정하는 단계를 포함한다. 특히, 서버 프로세싱 시스템(310)은 수신된 코드의 입력 변수, 단계(440)에서 전송된 인덱스(610)에 대응하는 키맵(600)으로부터의 선택 키(620) 및 사용자(350)와 연관된 솔트(salt) 값을 서버 프로세싱 시스템(310)에 의해 실행된 해싱 알고리즘에 제공하여 해시 값을 생성한다. 바람직하게, 해싱 알고리즘은 SHA-3, MD5 또는 그 변형 등의 단방향 해싱 알고리즘이다. 해싱 알고리즘은 개인 식별자가 서버 프로세싱 시스템(310)에 의해 식별될 필요가 없도록 가환성 암호 기술(commutative cipher techniques)을 이용할 수 있다.At
단계(470)에서, 방법(400)은 서버 프로세싱 시스템(310)이 사용자 계정 내의 해시 값을 데이터베이스에 저장하는 단계를 포함한다. 유리하게, 서버 프로세싱 시스템(310)은 사용자의 개인 식별자를 저장하지 않거나 서버 프로세싱 시스템(310)이 개인 식별자를 직접적으로 나타내는 데이터를 수신하지 않아, 상당한 보안 이득을 제공할 수 있다. 임의의 실시예에서, 이들 보안 이득은, 사용자(350)가 자신의 개인 식별자를 알고 있지만, 다른 어떤 누구도, 사용자(350)가 액세스를 시도하는 안전한 환경(325)의 고용인조차도 개인 식별자를 결정할 수 없는 결과를 포함한다.At
서버 프로세싱 시스템(310)이 단계(440 내지 465)를 반복하여 2개의 해시 값을 얻을 수 있음을 인식할 것이다. 특히, 서버 프로세싱 시스템(310)은 초기 인덱스와 상이한 다른 인덱스(610)를 사용자 장치(330)(또는 사용자 장치(330)가 서버 프로세싱 시스템(310)과 통신하지 않는 경우 사용자 프로세싱 시스템을 통해 사용자)로 전송할 수 있다. 그러면, 서버 프로세싱 시스템(310)은 사용자로부터 수신된 추가의 코드에 기초하여 제2 해시 값을 산출하고, 해시 값이 적절(congruent)(즉, 매칭)하는 경우, 해시 값(즉, 이들 값이 동일하기 때문에 제1 또는 제2 해시 값)이 데이터베이스에 저장된다. 해시 값이 매칭되지 않는 경우, 이것은 사용자(350)가 적절하지 않은(non-congruent) 원하는 개인 식별자를 잘못 표시한 것을 나타낸다. 이로써, 등록 프로세스가 종료되거나 사용자(350)가 등록 프로세스를 다시 반복하도록 요청될 수 있다.
It will be appreciated that
인증certification
도 5를 참조하면, 서버 프로세싱 시스템(310)이 원격 서버 프로세싱 시스템(320)에 의해 호스팅된 안전한 환경(325)을 액세스하려고 시도하는 사용자(350)를 인증하는 예시적인 방법을 나타내는 플로우챠트가 도시된다.5, a flow chart illustrating an exemplary method of authenticating a
특히, 단계(505)에서, 방법(500)은 사용자(350)가 사용자 프로세싱 시스템(340) 또는 사용자 장치(330)를 동작하여 원격 서버 프로세싱 시스템(320)에게 안전한 환경(325)을 액세스하라는 요청을 전송하는 단계를 포함한다. 요청은 웹 브라우저, 웹 가능 애플리케이션 등을 통해 제출될 수 있다.In particular, at
단계(510)에서, 방법(500)은 원격 서버 프로세싱 시스템(320)이 인증 요청을 서버 프로세싱 시스템(310)으로 전송하여 사용자(350)를 인증하는 단계를 포함한다. 인증 요청은 사용자가 안정한 환경으로의 액세스를 요청하는 것을 나타낸다. 바람직한 형태에서, 원격 서버 프로세싱 시스템(320)은 서버 프로세싱 시스템(310)으로 원격 서버 프로세싱 시스템(320)의 아이덴티티를 확인하는 디지털 증명서를 이용하여 요청을 디지털적으로 서명할 수 있다. 그러면, 서버 프로세싱 시스템(310)은 디지털적으로 서명된 요청에 기초하여 원격 서버 프로세싱 시스템(320)의 아이덴티티의 확인을 가능하게 하여 요청이 식별가능한 엔티티로 수신되었음을 보증할 수 있다. 서버 프로세싱 시스템(310)은 사용자(350)에 대하여 인증 요청이 수신되었다는 것을 데이터베이스(315)에 기록하고 타임스탬프를 이 요청과 연관시킨다.At
원격 서버 프로세싱 시스템(320)에게 안전한 환경(325)으로의 액세스를 요청한 것에 응답하여, 원격 서버 프로세싱 시스템(320)은 서버 프로세싱 시스템(310)에 의해 호스팅된 코드 요청 인터페이스를 포함하는 인터페이스를 요청하는 장치(330 또는 340)로 전송한다. 코드 요청 인터페이스는 웹 브라우저, 웹 가능 애플리케이션을 통해 제시될 수 있다.In response to requesting access to the
단계(515)에서, 방법(500)은 사용자(350)가 사용자 장치(330)의 소프트웨어 애플리케이션(335)와 상호 작용하여 인덱스 요청을 서버 프로세싱 시스템(310)으로 전송하여 서버 프로세싱 시스템이 사용자(350)를 인증하기 위하여 사용자의 키맵(600)으로부터 키(620)의 인덱스(610)를 선택하도록 한다. 바람직한 형태에서, 서버 프로세싱 시스템(310)은 시간적인 임계 기간 내에 사용자(350)로부터 인덱스 요청을 수신하도록 요구되고, 그렇지 않으면, 서버 프로세싱 시스템(310)은 사용자(350)가 안전한 환경(325)을 액세스하도록 인증되지 않았다는 것을 나타내는 인증 응답을 원격 서버 프로세싱 시스템(320)으로 전송할 것이다. 요청을 전송하기 위하여, 사용자(350)는 사용자 장치(330) 상에 소프트웨어 애플리케이션(335)을 런칭하여 인덱스 요청의 전송을 개시할 수 있다. 이 때, 사용자 장치(330)는 또한 사용자의 디지털 증명서의 개인 키를 이용하여 인덱스 요청을 디지털적으로 서명하여 서버 프로세싱 시스템(310)이 해당 공공 키를 이용하여 사용자의 아이덴티티를 확인하도록 한다. 디지털 서명이 사용자(350)의 아이덴티티를 성공적으로 확인하지 못한 경우, 서버 프로세싱 시스템(310)은 사용자(350)가 안전한 환경(325)을 액세스하도록 인증되지 않았다는 것을 나타내는 인증 응답을 원격 서버 프로세싱 시스템(320)으로 전송할 수 있다.The
단계(520)에서, 방법(500)은 원격 서버 프로세싱 시스템(320)이 사용자 계정과 연관된 키맵(600)으로부터 선택 키(620)의 인덱스(610)를 나타내는 데이터를 사용자(350)와 연관된 사용자 장치(330)의 소프트웨어 애플리케이션으로 전송하는 단계를 포함한다. 서버 프로세싱 시스템(310)은 선택된 인덱스(610)를 나타내도록 발행된 챌린지(challenge)를 사용자 계정에 기록한다. 상술한 바와 같이, 사용자 장치(330)가 서버 프로세싱 시스템(310)과 데이터 통신하지 않는 경우에, 서버 프로세싱 시스템(310)은 사용자(350)로의 제시를 위해 선택된 인덱스(610)의 인덱스를 나타내는 데이터를 사용자 프로세싱 시스템(340)으로 전송할 수 있다. 그러면, 사용자(350)는 사용자 장치(330)의 입력 장치를 통해 제시된 인덱스를 소프트웨어 애플리케이션(335)으로 수동으로 입력하여 사용자 장치(330)가 인덱스를 성공적으로 수신하도록 한다. 사용자(350)는 사용자 프로세싱 시스템(340)과 상호 작용하여 사용자 프로세싱 시스템(340)으로의 인덱스(610)의 전송을 요청하도록 요구될 수 있다.At
선택적으로, 단계(522)에서, 방법은 사용자 장치(330)가 보안 검사를 수행하는 단계를 포함한다. 특히, 소프트웨어 애플리케이션(335)은 하나 이상의 사용자 장치 특징을 결정하여 본 문서에서 상술한 바와 같이 사용자 장치 프로파일을 생성한다. 그러면, 소프트웨어 애플리케이션(335)은 새롭게 생성된 사용자 장치 프로파일을 사용자 장치(330)의 메모리에 저장된 사용자 장치 프로파일과 비교한다. 성공적인 비교의 경우, 방법은 단계(525)로 진행하고, 그렇지 않으면, 방법은 종료한다. 이 프로세스는 사용자 장치(330)에 부당 변경(tampering)이 발생하는지를 확인할 수 있다.Optionally, at
단계(525)에서, 방법(500)은 사용자 장치(330)의 소프트웨어 애플리케이션(335)이 키맵(600)으로부터 인덱스(610)에 대응하는 키(620)를 로컬 메모리로부터 검색하는 단계를 포함한다.At
단계(530)에서, 방법(500)은 사용자 장치(330)의 소프트웨어 애플리케이션(335)이 사용자 장치(330) 상에 사용자 인터페이스(600)를 생성 및 디스플레이하는 단계를 포함하고, 사용자 인터페이스(600)는 키(620) 및 식별자 참조(650)의 그래픽 표시를 제시한다. 이 프로세스는 상술한 단계(450)와 유사하게 수행된다.The
단계(535)에서, 방법(500)은 사용자(350)가 사용자 장치(330)에 의해 제시된 소프트웨어 애플리케이션(335)의 사용자 인터페이스(640)를 이용하여 코드를 결정한다. 단계는, 코드 요청 인터페이스를 통해 사용자가 원하는 개인 식별자보다는 오히려 설정된 개인 식별자의 일부에 대응하는 키 부분을 입력하는 것을 제외하고, 상술한 단계(455)와 유사하게 수행된다.At
단계(540)에서, 방법(500)은 사용자 프로세싱 시스템(340) 또는 사용자 장치(330)가 코드 요청 인터페이스를 통해 사용자(350)에 의해 입력된 코드를 나타내는 데이터를 서버 프로세싱 시스템으로 전송하는 단계를 포함한다.At
서버 프로세싱 시스템(310)은 수신된 초기 인증 요청 및/또는 발행된 챌린지 요청의 시간적 임계 기간 내에 챌린지 응답이 수신되는지를 결정하도록 구성될 수 있다. 응답이 시간적 임계 기간 내에 수신되지 않는 경우, 서버 프로세싱 시스템(310)은 안전한 환경(325)을 액세스하기 위하여 사용자가 인증되지 않음을 나타내는 인증 응답을 원격 서버 프로세싱 시스템(320)으로 전송할 수 있다.The
단계(545)에서, 방법(500)은 서버 프로세싱 시스템(310)이 코드 및 선택 키(620)에 기초하여 해시 값을 결정하는 단계를 포함한다. 특히, 서버 프로세싱 시스템(310)은 수신된 코드의 입력 변수, 사용자 장치(330)에 의해 수신된 인덱스(610)에 대응하는 선택 키(620) 및 사용자(350)와 연관된 솔트(salt) 값을 서버 프로세싱 시스템(310)에 의해 실행된 해싱 알고리즘에 제공하여 해시 값을 생성한다. 바람직하게, 해싱 알고리즘은 SHA-3, MD5 또는 그 변형 등의 단방향 해싱 알고리즘이다. 해싱 알고리즘은 개인 식별자가 서버 프로세싱 시스템(310)에 의해 식별될 필요가 없도록 가환성 암호 기술을 이용할 수 있다.At
단계(550)에서, 방법(500)은 서버 프로세싱 시스템(310)이 결정된 해시 값을 사용자 계정 내의 저장 해시 값과 비교하는 단계를 포함한다. 유리하게, 서버 프로세싱 시스템(310)은 사용자의 개인 식별자를 얻거나 수신하지 않아, 상당한 보안 이득을 제공할 수 있다. 임의의 실시예에서, 이들 보안 이득은, 사용자(350)가 자신의 개인 식별자를 알고 있지만, 다른 어떤 누구도, 사용자(350)가 액세스를 시도하는 안전한 환경(325)의 고용인조차도, 개인 식별자를 결정할 수 없는 결과를 포함한다.At
단계(555)에서, 방법(500)은 서버 프로세싱 시스템(310)이 인증 응답을 생성하여 원격 서버 프로세싱 시스템(320)으로 전송하는 단계를 포함하고, 인증 응답은 단계(550)의 비교에 기초하여 안전한 환경(325)을 액세스하기 위하여 사용자(350)가 인증되는지를 나타낸다. 특히, 해시 값이 단계(550)에서 수행되는 비교에 대응하지 않는 경우, 서버 프로세싱 시스템(310)은 사용자(350)가 원격 서버 프로세싱 시스템(320)에 의해 제어되는 안전한 환경(325)으로의 액세스를 승인받지 않아야 한다는 것을 나타내는 인증 응답을 생성하여 전송한다. 그러나, 해시 값이 단계(560)에서 수행된 비교에 대응하는 경우, 서버 프로세싱 시스템(310)은 사용자(350)가 원격 서버 프로세싱 시스템(320)에 의해 제어되는 안전한 환경(325)으로의 액세스을 승인받아야 한다는 것을 나타내는 응답을 생성하여 전송한다.At
단계(560)에서, 방법(500)은 서버 프로세싱 시스템(310)이 챌린지 응답이 수신되고 인증 응답이 원격 서버 프로세싱 시스템(320)으로 전송되었다는 것을 사용자 계정에 기록하는 단계를 포함한다.At
사용자(350)가 사용자 프로세싱 시스템(340)을 통해 코드를 부정확하게 입력하면, 서버 프로세싱 시스템(310)은 하나 이상의 추가의 챌린지 요청을 재발생할 수 있고, 고유 및 상이한 인덱스(610)가 각 챌린지 요청에서 전송됨을 인식할 것이다. 임계수의 부정확한 코드가 원격 서버 프로세싱 시스템(320)에 의한 단일 인증 요증을 위해 서버 프로세싱 시스템(310)에 의해 식별되면, 서버 프로세싱 시스템(310)은 사용자(350)가 안전한 환경(325)으로의 액세스를 승인받지 않아야 한다는 것을 지시하는 인증 응답을 생성하여 원격 서버 프로세싱 시스템(320)으로 전송할 수 있다.
If the
개인 식별자 리셋Individual identifier reset
도 7을 참조하면, 사용자(350)가 리셋 요청을 서버 프로세싱 시스템(310)으로 전송하는 방법을 나타내는 플로우챠트가 도시된다.Referring to FIG. 7, a flowchart is shown illustrating how
특히, 단계(705)에서, 방법은 사용자(350)가 리셋 요청을 서버 프로세싱 시스템(310)으로 전송하여 사용자의 개인 식별자를 리셋하는 단계를 포함한다. 리셋 요청은 사용자 프로세싱 시스템(340) 또는 사용자 장치(330)로부터 잠재적으로 소프트웨어 애플리케이션(335)을 통해 전송될 수 있다. 리셋 요청은 서버 프로세싱 시스템에 의해 사용될 수 있는 데이터 또는 IDV를 포함하여 사용자의 아이덴티티를 확인할 수 있다.Specifically, at
단계(710)에서, 서버 프로세싱 시스템(310)은 사용자의 아이덴티티의 확인을 가능하게 한다. 사용자의 아이덴티티의 성공적인 확인에 응답하여, 서버 프로세싱 시스템에 의해 호스팅된 코드 요청 인터페이스가 사용자 장치(330) 또는 사용자 프로세싱 시스템(340)을 통해 사용자(350)에 제시되고 방법(700)은 단계(712)로 진행하고, 그렇지 않으면, 리셋 프로세스를 종료한다.At
단계(712)에서, 사용자(350)는 사용자 장치(335)의 소프트웨어 애플리케이션(335)과 상호 작용하여 인덱스 요청을 서버 프로세싱 시스템(340)으로 전송한다.At
단계(715)에서, 방법(700)은 서버 프로세싱 시스템(310)이 사용자 계정과 연관된 키맵(600)으로부터의 선택 키(620)의 인덱스(610)를 사용자 장치(330)로 전송하는 단계를 포함한다. 상술한 바와 같이, 사용자 장치(330)가 서버 프로세싱 시스템(310)과 데이터 통신하지 않는 경우에는, 사용자(350)에게 제시하기 위하여 서버 프로세싱 시스템(310)이 선택 키(620)의 인덱스(610)를 나타내는 데이터를 사용자 프로세싱 시스템(340)으로 전송할 수 있다. 그러면, 사용자(350)는 사용자 장치(330)의 입력 장치를 통해 소프트웨어 애플리케이션(335)으로 제시된 인덱스(610)를 수동으로 입력하여 사용자 장치(330)가 인덱스(610)를 성공적으로 수신하도록 한다. 사용자는 사용자 프로세싱 시스템(340)과 상호 작용하여 사용자 프로세싱 시스템(340)으로의 인덱스의 전송을 요청하도록 요구될 수 있다.At
서버 프로세싱 시스템(310)은 수신된 리셋 요청 및 사용자에게 전송된 인덱스(610)의 기록을 데이터베이스(315)에 저장할 수 있고, 이들 이벤트의 각각이 발생한 시간을 나타내는 타임스탬프가 데이터베이스(315)에 기록된다.The
단계(720)에서, 방법(700)은 사용자 장치(330)의 소프트웨어 애플리케이션(335)이 사용자 장치(330)의 메모리에 저장된 키맵(600)으로부터의 수신된 인덱스(610)와 대응하는 키(620)를 로컬 메모리로부터 검색하는 단계를 포함한다.At
단계(725)에서, 방법(700)은 사용자 장치(330)가 사용자 인터페이스(600)를 생성하여 사용자 장치(330)에 디스플레이하는 단계를 포함하고, 사용자 인터페이스(600)는 키(620) 및 식별자 참조(650)의 그래픽 표시를 제시한다. 이 단계는 상술한 단계(450)와 유사하게 수행된다.The
단계(730)에서, 방법(700)은 사용자(350)가 사용자 장치에 의해 제시된 사용자 인터페이스를 이용하여 리셋 코드를 결정하는 단계를 포함한다. 예를 들어, 새로운 개인 식별자의 각각의 숫자에 대하여, 사용자(350)는 식별자 참조(650) 내의 각각의 숫자에 대응하는 각각의 키 부분(630)을 식별하고 해당 키 부분(630)을 연결하여 리셋 코드를 형성한다. 도 6b에 제시된 인터페이스에 기초하여, 사용자의 새로운 개인 식별자가 "5732"이면, 사용자(350)에 의해 입력된 리셋 코드는 "XKSL"이다.At
단계(735)에서, 방법(700)은 사용자 프로세싱 시스템(340) 또는 사용자 장치가 사용자(350)에 의해 입력된 리셋 코드를 나타내는 응답을 코드 요청 인터페이스를 통해 서버 프로세싱 시스템(310)으로 전송하는 단계를 포함한다.At
서버 프로세싱 시스템(310)은 리셋 코드가 리셋 요청 또는 인덱스의 전송의 시간적 임계 기간 내에 수신되었는지를 결정하도록 구성될 수 있다. 리셋 코드가 시간적 임계 기간 내에서 수신되지 않은 경우에는, 서버 프로세싱 시스템(310)이 수신된 리셋 코드에 기초하여 개인 식별자를 리셋하는 것을 거절할 수 있다.The
단계(740)에서, 방법(700)은 서버 프로세싱 시스템(310)이 리셋 코드 및 선택 키에 기초하여 해시 값을 결정하는 단계를 포함한다. 특히, 서버 프로세싱 시스템(310)은 수신된 리셋 코드의 입력 변수, 사용자로 전송된 인덱스에 대응하는 키맵으로부터의 키 및 사용자(350)와 연관된 솔트 값을 서버 프로세싱 시스템(310)에 의해 실행될 해싱 알고리즘에 제공하여 해시 값을 생성한다. 바람직하게, 해싱 알고리즘은 SHA-3, MD5 또는 그 변형 등의 단방향 해싱 알고리즘이다..At
단계(745)에서, 방법(700)은 서버 프로세싱 시스템(310)이 사용자의 새로운 개인 식별자의 결정된 해시 값을 사용자 계정에 저장하고 사용자의 이전 개인 식별자에 대응하는 이전 해시 값을 삭제하는 단계를 포함한다. 유리하게, 서버 프로세싱 시스템(310)은 사용자의 새로운 개인 식별자를 저장하지 않거나 서버 프로세싱 시스템(310)이 새로운 개인 식별자를 직접적으로 나타내는 데이터를 수신하지 않아, 상당한 보안 이득을 제공한다. 임의의 실시예에서, 이들 보안 이득은 사용자(350)가 자신의 개인 식별자를 알지만, 다른 어느 누구도, 사용자(350)가 액세스를 시도하는 안전한 환경(325)의 고용인조차도, 개인 식별자를 결정할 수 없는 결과를 포함한다.At
사용자(350)가 간접적으로 동일한 새로운 개인 식별자를 식별했다는 것을 확인하기 위하여 단계(710 내지 740)가 반복될 수 있음을 인식해야 한다. 2개의 해시 값이 대응되는 경우에는, 새로운 개인 식별자에 대응하는 해시 값이 사용자 계정에 저장된다.It should be appreciated that steps 710-740 may be repeated to confirm that the
상기 프로세스의 일부는 사용자가 사용자 프로세싱 시스템(340)과 상호 작용하는 것과 관련하여 설명하였지만, 사용자가 사용자 장치(330)를 이용하여 동일한 단계를 수행할 수 있다는 것을 인식할 것이다.
Although some of the above processes have been described in connection with the user interacting with the
변형transform
도 3에 도시된 실시예는 단지 단일 사용자(350) 및 단일 원격 서버 프로세싱 시스템(320)만을 나타냄을 인식할 것이다. 서버 프로세싱 시스템(310)이 바람직하게 복수의 원격 서버 프로세싱 시스템(320)과 데이터 통신하고 각각의 원격 서버 프로세싱 시스템(320)이 각각의 안전한 환경(325)으로의 사용자 액세스를 제어하는 것을 인식할 것이다.It will be appreciated that the embodiment shown in FIG. 3 represents only a
서버 프로세싱 시스템(310)이 바람직하게 복수의 사용자(350)와 각각 연관된 복수의 사용자 장치(330)와 데이터 통신하고, 복수의 사용자(350)를 인증하기 위하여, 서버 프로세싱 시스템(310)과 연관된 메모리(325)가 복수의 사용자 계정을 저장하는 것을 인식할 것이다.The
서버 프로세싱 시스템(310)이 분배된 프로세싱 시스템 또는 단일 전용 프로세싱 시스템의 형태로 제공될 수 있다는 것을 인식할 것이다.It will be appreciated that
시스템의 다양한 컴포넌트 사이에서 전송되는 데이터가 암호화 및 디지털 서명 기술을 이용할 수 있다는 것을 인식할 것이다.It will be appreciated that the data transmitted between the various components of the system may utilize encryption and digital signature techniques.
다른 해싱 프로세스가 서버 프로세싱 시스템(310)에 의해 적용될 수 있음을 인식할 것이다. 특히, 대안으로, 서버 프로세싱 시스템(310)은 요청에서 전송된 인덱스와 연관된 선택 키를 역으로 사용자 장치(330)에 적용함으로써 사용자의 개인 식별자를 결정할 수 있다. 결정시, 서버 프로세싱 시스템(310)은 사용자의 개인 식별자를 즉시 해싱할 수 있다. 그러면, 사용자의 개인 식별자는 서버 프로세싱 시스템(310)의 RAM으로부터 즉시 제거(purge)되어 사용자의 개인 식별자를 직접 나타내는 데이터가 서버 프로세싱 시스템(310)에 의해 저장되지 않는다.It will be appreciated that other hashing processes may be applied by the
IDV는 서버 프로세싱 시스템(310) 또는 서버 프로세싱 시스템(310)과 데이터 통신하는 개별 프로세싱 시스템의 일부일 수 있다.The IDV may be part of a separate processing system that is in data communication with the
키 및 개인 식별자가 위에서 일련의 알파벳 문자 및/또는 숫자로서 예시되었지만, 고유 그래픽 아이콘, 컬러, 가청음 등의 다른 형태의 데이터가 이용될 수 있다.Although the key and the personal identifier are illustrated above as a series of alphabetic characters and / or numbers, other types of data may be used, such as a unique graphic icon, color, audible tone, and the like.
단계(522)에서 수행되는 보안 검사 프로세스는 인증 프로세스와 관련하여 설명하였지만, 보안 검사 프로세스가 또한 방법(400 및 700)에서 수행되어 악의적 부당변경(malicious tampering)이 사용자 장치에 발생하지 않도록 보장할 수 있다.Although the security checking process performed at
상기 실시예는 완전한 하드웨어 실시예, 완전한 소프트웨어 실시예, 펌웨어 또는 소프트웨어 및 하드웨어 형태를 조합한 실시예의 형태를 취할 수 있다.The embodiments may take the form of a complete hardware embodiment, a complete software embodiment, an embodiment combining firmware or software and hardware forms.
본 발명의 범위를 벗어나지 않고 많은 변형이 가능함은 당업자에게 자명하다.It will be apparent to those skilled in the art that many modifications are possible without departing from the scope of the invention.
Claims (25)
상기 원격 서버 프로세싱 시스템으로부터 인증 요청을 수신하여 상기 안전한 환경을 액세스하려고 시도하는 사용자를 인증하고;
상기 사용자 장치의 메모리 또는 서버 액세스가능 메모리에 저장된 키맵으로부터의 선택 키에 대응하는 인덱스를 상기 사용자 또는 상기 사용자와 연관된 사용자 장치로 전송하고;
코드를 나타내는 데이터를 수신하고 - 상기 사용자는 상기 사용자 장치에 의해 제시된 선택 키 및 개인 식별자에 기초하여 상기 코드를 결정함 -;
상기 코드 및 상기 서버 액세스가능 메모리에 저장된 선택 키를 이용하여 상기 개인 식별자의 해시(hash) 값을 결정하고;
상기 결정된 해시 값을 상기 서버 액세스가능 메모리에 저장된 사용자 계정과 연관된 저장 해시 값과 비교하고;
상기 비교에 기초하여 상기 안전한 환경을 액세스하기 위하여 사용자가 인증되었는지를 나타내는 인증 응답을 상기 원격 서버 프로세싱 시스템으로 전송하도록
구성되는 서버 프로세싱 시스템.A server processing system for authenticating a user attempting to access a secure environment controlled by a remote server processing system, the server processing system comprising:
Authenticate a user attempting to access the secure environment by receiving an authentication request from the remote server processing system;
Transmit an index corresponding to a selection key from a keymap stored in a memory or server accessible memory of the user device to the user or a user device associated with the user;
Receiving data representative of the code, the user determining the code based on the selection key and the personal identifier presented by the user device;
Determine a hash value of the individual identifier using the code and a selection key stored in the server accessible memory;
Compare the determined hash value with a stored hash value associated with a user account stored in the server accessible memory;
And to send an authentication response to the remote server processing system indicating whether the user is authorized to access the secure environment based on the comparison
A server processing system configured.
상기 사용자 장치와 독립적인 사용자 프로세싱 시스템, 또는
상기 사용자 장치
중의 하나로부터 상기 안전한 환경을 액세스하도록 시도하는 서버 프로세싱 시스템.The method of claim 1,
A user processing system independent of the user device, or
The user device
To access the secure environment from one of the plurality of servers.
상기 사용자의 아이덴티티를 증명하려고 시도하는 아이덴티티 데이터, 및
상기 사용자 장치를 식별하는 고유 장치 프로파일
을 나타내는 등록 요청을 수신하고;
상기 아이덴티티 데이터에 기초하여 상기 사용자의 아이덴티티를 확인하고;
상기 사용자의 아이덴티티의 긍정적인 확인에 기초하여 상기 사용자 계정을 생성하도록
구성되고,
상기 사용자 장치는 상기 고유 장치 프로파일에 기초하여 상기 사용자 계정과 연관된 서버 프로세싱 시스템.4. The server processing system according to any one of claims 1 to 3,
Identity data that attempts to prove the identity of the user, and
The unique device profile identifying the user device
Receiving a registration request indicating < RTI ID = 0.0 >
Identify the identity of the user based on the identity data;
To create the user account based on positive identification of the user ' s identity
Respectively,
Wherein the user device is associated with the user account based on the unique device profile.
복수의 인덱스 키를 포함하는 상기 키맵을 상기 사용자 계정과 연관시키고;
상기 사용자 장치의 메모리에 저장하기 위하여 상기 키맵을 나타내는 데이터를 상기 사용자 장치로 전송하도록
구성되는 서버 프로세싱 시스템.5. The method of claim 4, wherein upon user registration, the server processing system comprises:
Associating the keymap with a plurality of index keys with the user account;
To transmit data indicative of the keymap to the user device for storage in a memory of the user device
A server processing system configured.
상기 사용자로부터 개인 식별자 등록 요청을 수신하고;
상기 키맵으로부터의 선택 키를 나타내는 인덱스를 상기 사용자 장치 또는 사용자로 전송하고;
등록 코드를 수신하고 - 상기 사용자는 상기 사용자 장치에 의해 제시된 선택 키 및 원하는 개인 식별자에 기초하여 상기 등록 코드를 결정함 -;
상기 등록 코드 및 상기 선택 키에 기초하여 상기 원하는 개인 식별자의 해시 값을 결정하고;
상기 해시 값을 상기 사용자 계정에 저장하도록
구성되는 서버 프로세싱 시스템.6. The system of claim 5, wherein the server processing system comprises:
Receiving a personal identifier registration request from the user;
Transmitting an index indicating a selection key from the keymap to the user device or the user;
Receiving a registration code, the user determining the registration code based on a selection key presented by the user device and a desired personal identifier;
Determine a hash value of the desired individual identifier based on the registration code and the selection key;
To store the hash value in the user account
A server processing system configured.
상기 사용자로부터 개인 식별자 등록 요청을 수신하고;
상기 키맵으로부터의 제1 선택 키를 나타내는 제1 인덱스를 상기 사용자 장치 또는 사용자로 전송하고;
등록 코드를 수신하고 - 상기 사용자는 상기 사용자 장치에 의해 제시된 상기 제1 선택키 및 원하는 개인 식별자에 기초하여 상기 등록 코드를 결정함 -;
상기 등록 코드 및 상기 제1 선택 키에 기초하여 상기 원하는 개인 식별자의 제1 해시 값을 결정하고;
상기 키맵으로부터의 제2 선택 키를 나타내는 제2 인덱스를 상기 사용자 장치 또는 사용자로 전송하고;
제2 등록 코드를 수신하고 - 상기 사용자는 상기 제2 선택 키 및 상기 원하는 개인 식별자에 기초하여 상기 제2 등록 코드를 결정함 - ;
상기 제2 등록 코드 및 상기 키맵으로부터의 제2 인덱스에 대응하는 상기 제2 선택 키를 이용하여 제2 해시 값을 결정하고;
상기 제2 해시 값에 대응하는 제1 해시 값에 응답하여 상기 사용자 계정에 상기 제1 또는 제2 해시 값을 저장하도록
구성되는 서버 프로세싱 시스템.6. The system of claim 5, wherein the server processing system comprises:
Receiving a personal identifier registration request from the user;
Transmit a first index indicating a first selection key from the keymap to the user device or user;
Receiving a registration code, the user determining the registration code based on the first selection key and the desired personal identifier presented by the user device;
Determine a first hash value of the desired individual identifier based on the registration code and the first selection key;
Transmit a second index indicating a second selection key from the keymap to the user device or user;
Receiving a second registration code, the user determining the second registration code based on the second selection key and the desired individual identifier;
Determine a second hash value using the second registration code and the second selection key corresponding to a second index from the keymap;
And to store the first or second hash value in the user account in response to the first hash value corresponding to the second hash value
A server processing system configured.
상기 사용자로부터 리셋 개인 식별자 요청을 수신하고;
상기 사용자의 아이덴티티의 확인을 가능하게 하고;
성공적인 확인에 응답하여, 상기 키맵으로부터의 선택 키의 인덱스를 상기 사용자 장치 또는 사용자로 전송하고;
리셋 코드를 수신하고 - 상기 사용자는 상기 사용자 장치에 의해 제시된 상기 선택 키 및 새로운 개인 식별자에 기초하여 상기 리셋 코드를 결정함 -;
상기 리셋 코드 및 상기 선택 키에 기초하여 상기 새로운 개인 식별자의 해시 값을 결정하고;
상기 새로운 개인 식별자의 해시 값을 상기 사용자 계정에 저장하도록
구성되는 서버 프로세싱 시스템.8. The system according to claim 6 or 7, wherein the server processing system comprises:
Receive a reset individual identifier request from the user;
Enable identification of the identity of the user;
In response to a successful acknowledgment, transmit an index of a selection key from the keymap to the user device or user;
Receiving a reset code, the user determining the reset code based on the selection key and the new personal identifier presented by the user device;
Determine a hash value of the new individual identifier based on the reset code and the selection key;
To store the hash value of the new individual identifier in the user account
A server processing system configured.
상기 원격 서버 프로세싱 시스템으로부터 인증 요청을 수신하여 상기 안전한 환경을 액세스하려고 시도하는 사용자를 인증하는 단계;
상기 사용자 장치의 메모리 또는 서버 액세스가능 메모리에 저장된 키맵으로부터의 선택 키에 대응하는 인덱스를 상기 사용자 또는 상기 사용자와 연관된 사용자 장치로 전송하는 단계;
코드를 나타내는 데이터를 수신하는 단계 - 상기 사용자는 상기 사용자 장치에 의해 제시된 선택 키 및 개인 식별자에 기초하여 상기 코드를 결정함 -;
상기 코드 및 상기 서버 액세스가능 메모리에 저장된 선택 키를 이용하여 상기 개인 식별자의 해시 값을 결정하는 단계;
상기 결정된 해시 값을 상기 서버 액세스가능 메모리에 저장된 사용자 계정과 연관된 저장 해시 값과 비교하는 단계; 및
상기 비교에 기초하여 상기 안전한 환경에 액세스하기 위하여 사용자가 인증되었는지를 나타내는 인증 응답을 상기 원격 서버 프로세싱 시스템으로 전송하는 단계
를 포함하는 방법.A method for authenticating a user attempting to access a secure environment controlled by a remote server processing system, the method comprising:
Authenticating a user attempting to access the secure environment by receiving an authentication request from the remote server processing system;
Transmitting an index corresponding to a selection key from a keymap stored in a memory or server accessible memory of the user device to the user or a user device associated with the user;
Receiving data representative of the code, the user determining the code based on the selection key and the personal identifier presented by the user device;
Determining a hash value of the individual identifier using the code and a selection key stored in the server accessible memory;
Comparing the determined hash value to a stored hash value associated with a user account stored in the server accessible memory; And
Sending an authentication response to the remote server processing system indicating whether the user is authorized to access the secure environment based on the comparison
≪ / RTI >
상기 사용자 장치와 독립적인 사용자 프로세싱 시스템, 또는
상기 사용자 장치
중의 하나로부터 상기 안전한 환경을 액세스하도록 시도하는 방법.12. The method of claim 11,
A user processing system independent of the user device, or
The user device
To access the secure environment.
상기 사용자의 아이덴티티를 증명하려고 시도하는 아이덴티티 데이터, 및
상기 사용자 장치를 식별하는 고유 장치 프로파일
을 나타내는 등록 요청을 수신하는 단계;
상기 아이덴티티 데이터에 기초하여 상기 사용자의 아이덴티티를 확인하는 단계; 및
상기 사용자의 아이덴티티의 긍정적인 확인에 기초하여 상기 사용자 계정을 생성하는 단계
를 포함하고,
상기 사용자 장치는 상기 고유 장치 프로파일에 기초하여 상기 사용자 계정과 연관된 방법.14. The method according to any one of claims 11 to 13, wherein the server processing system comprises:
Identity data that attempts to prove the identity of the user, and
The unique device profile identifying the user device
Receiving a registration request indicating a registration request;
Confirming the identity of the user based on the identity data; And
Creating a user account based on positive identification of the identity of the user
Lt; / RTI >
Wherein the user device is associated with the user account based on the unique device profile.
복수의 인덱스 키를 포함하는 상기 키맵을 상기 사용자 계정과 연관시키는 단계; 및
상기 사용자 장치의 메모리에 저장하기 위하여 상기 키맵을 나타내는 데이터를 상기 사용자 장치로 전송하는 단계
를 포함하는 방법.15. The method of claim 14, wherein the method further comprises, upon user registration,
Associating the keymap including a plurality of index keys with the user account; And
Transmitting data indicative of the keymap to the user device for storage in a memory of the user device
≪ / RTI >
상기 사용자로부터 개인 식별자 등록 요청을 수신하는 단계;
상기 키맵으로부터의 선택 키를 나타내는 인덱스를 상기 사용자 장치 또는 사용자로 전송하는 단계;
등록 코드를 수신하는 단계 - 상기 사용자는 상기 사용자 장치에 의해 제시된 선택 키 및 원하는 개인 식별자에 기초하여 상기 등록 코드를 결정함 -;
상기 등록 코드 및 상기 선택 키에 기초하여 상기 원하는 개인 식별자의 해시 값을 결정하는 단계; 및
상기 해시 값을 상기 사용자 계정에 저장하는 단계
를 포함하는 방법.16. The method of claim 15, wherein the server processing system further comprises:
Receiving a personal identifier registration request from the user;
Transmitting an index indicating a selection key from the keymap to the user device or the user;
Receiving a registration code, the user determining the registration code based on a selection key presented by the user device and a desired personal identifier;
Determining a hash value of the desired individual identifier based on the registration code and the selection key; And
Storing the hash value in the user account
≪ / RTI >
상기 사용자로부터 개인 식별자 등록 요청을 수신하는 단계;
상기 키맵으로부터의 제1 선택 키를 나타내는 제1 인덱스를 상기 사용자 장치 또는 사용자로 전송하는 단계;
제1 등록 코드를 수신하는 단계 - 상기 사용자는 상기 사용자 장치에 의해 제시된 상기 제1 선택키 및 원하는 개인 식별자에 기초하여 상기 제1 등록 코드를 결정함 -;
상기 제1 등록 코드 및 상기 제1 선택 키에 기초하여 상기 원하는 개인 식별자의 제1 해시 값을 결정하는 단계;
상기 키맵으로부터의 제2 선택 키를 나타내는 제2 인덱스를 상기 사용자 또는 사용자 장치로 전송하는 단계;
제2 등록 코드를 수신하는 단계 - 상기 사용자는 상기 사용자 장치에 의해 제시된 상기 제2 선택 키 및 상기 원하는 개인 식별자에 기초하여 상기 제2 등록 코드를 결정함 -;
상기 제2 등록 코드 및 상기 키맵으로부터의 제2 인덱스에 대응하는 상기 제2 선택 키를 이용하여 제2 해시 값을 결정하는 단계; 및
상기 제2 해시 값에 대응하는 제1 해시 값에 응답하여 상기 사용자 계정에 상기 제1 또는 제2 해시 값을 저장하는 단계
를 포함하는 방법.16. The method of claim 15, wherein the server processing system further comprises:
Receiving a personal identifier registration request from the user;
Transmitting a first index indicating a first selection key from the keymap to the user device or the user;
Receiving a first registration code, the user determining the first registration code based on the first selection key and the desired personal identifier presented by the user device;
Determining a first hash value of the desired individual identifier based on the first registration code and the first selection key;
Transmitting a second index indicating a second selection key from the keymap to the user or user device;
Receiving a second registration code, the user determining the second registration code based on the second selection key and the desired personal identifier presented by the user device;
Determining a second hash value using the second registration code and the second selection key corresponding to a second index from the keymap; And
Storing the first or second hash value in the user account in response to a first hash value corresponding to the second hash value
≪ / RTI >
상기 사용자로부터 리셋 개인 식별자 요청을 수신하는 단계;
상기 사용자의 아이덴티티의 확인을 가능하게 하는 단계;
성공적인 확인에 응답하여, 상기 키맵으로부터의 선택 키의 인덱스를 상기 사용자 장치 또는 사용자로 전송하는 단계;
리셋 코드를 수신하는 단계 - 상기 사용자는 상기 선택 키 및 새로운 개인 식별자에 기초하여 상기 리셋 코드를 결정함 -;
상기 리셋 코드 및 상기 선택 키에 기초하여 상기 새로운 개인 식별자의 해시 값을 결정하는 단계; 및
상기 새로운 개인 식별자의 해시 값을 상기 사용자 계정에 저장하는 단계
를 포함하는 방법.18. The method of claim 16 or 17, wherein the server processing system further comprises:
Receiving a reset individual identifier request from the user;
Enabling identification of the identity of the user;
Transmitting an index of a selection key from the keymap to the user device or user in response to a successful confirmation;
Receiving a reset code, the user determining the reset code based on the selection key and a new personal identifier;
Determining a hash value of the new individual identifier based on the reset code and the selection key; And
Storing the hash value of the new individual identifier in the user account
≪ / RTI >
상기 원격 서버 프로세싱 시스템으로부터 인증 요청을 수신하여 상기 안전한 환경을 액세스하려고 시도하는 사용자를 인증하고;
상기 사용자 장치의 메모리 또는 서버 액세스가능 메모리에 저장된 키맵으로부터의 선택 키에 대응하는 인덱스를 상기 사용자 또는 상기 사용자와 연관된 사용자 장치로 전송하고;
코드를 나타내는 데이터를 수신하고 - 상기 사용자는 상기 사용자 장치에 의해 제시된 선택 키 및 개인 식별자에 기초하여 상기 코드를 결정함 -;
상기 코드 및 상기 서버 액세스가능 메모리에 저장된 선택 키를 이용하여 상기 개인 식별자의 해시 값을 결정하고;
상기 결정된 해시 값을 상기 서버 액세스가능 메모리에 저장된 사용자 계정과 연관된 저장 해시 값과 비교하고;
상기 비교에 기초하여 상기 안전한 환경을 액세스하기 위하여 사용자가 인증되었는지를 나타내는 인증 응답을 상기 원격 서버 프로세싱 시스템으로 전송하도록
구성되고,
상기 소프트웨어 애플리케이션은 상기 사용자 장치에 의해 실행 가능하여,
상기 키맵을 수신하고,
상기 사용자 장치의 메모리에 상기 키맵을 저장하고,
상기 인덱스에 기초하여 상기 키맵으로부터의 상기 선택 키를 상기 사용자에게 제시하도록
상기 사용자 장치를 구성하는 시스템.A system for authenticating a user attempting to access a secure environment controlled by a remote server processing system, the system comprising a server processing system and a software application,
Authenticate a user attempting to access the secure environment by receiving an authentication request from the remote server processing system;
Transmit an index corresponding to a selection key from a keymap stored in a memory or server accessible memory of the user device to the user or a user device associated with the user;
Receiving data representative of the code, the user determining the code based on the selection key and the personal identifier presented by the user device;
Determine a hash value of the individual identifier using the code and a selection key stored in the server accessible memory;
Compare the determined hash value with a stored hash value associated with a user account stored in the server accessible memory;
And to send an authentication response to the remote server processing system indicating whether the user is authorized to access the secure environment based on the comparison
Respectively,
The software application being executable by the user device,
Receiving the keymap,
Storing the keymap in a memory of the user device,
And to present the selection key from the keymap to the user based on the index
And the system comprising the user device.
상기 사용자로부터 리셋 개인 식별자 요청을 수신하고;
상기 사용자의 아이덴티티의 확인을 가능하게 하고;
성공적인 확인에 응답하여, 사용자 계정과 연관된 키맵으로부터의 선택 키에 대응하는 인덱스를 상기 사용자 장치 또는 사용자에게 전송하고 - 상기 키맵은 상기 사용자 장치의 메모리 및 서버 액세스가능 메모리에 저장됨 -;
리셋 코드를 수신하고 - 상기 사용자는 상기 선택 키맵 및 새로운 개인 식별자에 기초하여 상기 리셋 코드를 결정함 -;
상기 리셋 코드 및 상기 선택 키에 기초하여 상기 새로운 개인 식별자의 해시 값을 결정하고;
상기 새로운 개인 식별자의 해시 값을 상기 사용자 계정에 저장하도록
구성되는 서버 프로세싱 시스템.A server processing system for causing a user to reset a personal identifier used to authenticate a user attempting to access a secure environment controlled by a remote server processing system,
Receive a reset individual identifier request from the user;
Enable identification of the identity of the user;
Responsive to successful identification, transmitting an index corresponding to a selection key from a keymap associated with the user account to the user device or user, the keymap being stored in a memory of the user device and in a server accessible memory;
Receiving a reset code, the user determining the reset code based on the selection keymap and a new personal identifier;
Determine a hash value of the new individual identifier based on the reset code and the selection key;
To store the hash value of the new individual identifier in the user account
A server processing system configured.
상기 사용자로부터 리셋 개인 식별자 요청을 수신하는 단계;
상기 사용자의 아이덴티티의 확인을 가능하게 하는 단계;
성공적인 확인에 응답하여, 사용자 계정과 연관된 키맵으로부터의 선택 키에 대응하는 인덱스를 상기 사용자 장치 또는 사용자에게 전송하는 단계 - 상기 키맵은 상기 사용자 장치의 메모리 및 서버 액세스가능 메모리에 저장됨 -;
리셋 코드를 수신하는 단계 - 상기 사용자는 상기 선택 키맵 및 새로운 개인 식별자에 기초하여 상기 리셋 코드를 결정함 -;
상기 리셋 코드 및 상기 선택 키에 기초하여 상기 새로운 개인 식별자의 해시 값을 결정하는 단계; 및
상기 새로운 개인 식별자의 해시 값을 상기 사용자 계정에 저장하는 단계
를 포함하는 방법.A method for resetting a user identifier to authenticate a user attempting to access a secure environment controlled by a remote server processing system, the method comprising:
Receiving a reset individual identifier request from the user;
Enabling identification of the identity of the user;
Responsive to successful identification, transmitting an index corresponding to a selection key from a keymap associated with the user account to the user device or user, wherein the keymap is stored in memory and server accessible memory of the user device;
Receiving a reset code, the user determining the reset code based on the selection keymap and a new personal identifier;
Determining a hash value of the new individual identifier based on the reset code and the selection key; And
Storing the hash value of the new individual identifier in the user account
≪ / RTI >
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2013901504A AU2013901504A0 (en) | 2013-04-30 | User authentication | |
AU2013901504 | 2013-04-30 | ||
PCT/AU2014/050024 WO2014176645A1 (en) | 2013-04-30 | 2014-04-30 | User authentication |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20160003796A true KR20160003796A (en) | 2016-01-11 |
Family
ID=51842992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157033769A KR20160003796A (en) | 2013-04-30 | 2014-04-30 | User authentication |
Country Status (12)
Country | Link |
---|---|
US (1) | US9871805B2 (en) |
EP (1) | EP2992472B1 (en) |
JP (1) | JP6410798B2 (en) |
KR (1) | KR20160003796A (en) |
CN (1) | CN105164689B (en) |
AU (1) | AU2014262138B2 (en) |
BR (1) | BR112015027633A2 (en) |
CA (1) | CA2944047A1 (en) |
HK (1) | HK1222002A1 (en) |
MX (1) | MX355189B (en) |
SG (1) | SG11201506484PA (en) |
WO (1) | WO2014176645A1 (en) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015184507A1 (en) | 2014-06-04 | 2015-12-10 | Token One Pty Ltd | Identity verification |
US10757216B1 (en) | 2015-02-20 | 2020-08-25 | Amazon Technologies, Inc. | Group profiles for group item recommendations |
US11363460B1 (en) * | 2015-03-03 | 2022-06-14 | Amazon Technologies, Inc. | Device-based identification for automated user detection |
US10223160B2 (en) | 2015-08-31 | 2019-03-05 | Ayla Networks, Inc. | Compact schedules for resource-constrained devices |
CN106911641A (en) * | 2015-12-23 | 2017-06-30 | 索尼公司 | For authorizing the client terminal device for accessing, server unit and access control system |
NL2017032B1 (en) * | 2016-06-23 | 2018-01-19 | Mindyourpass Holding B V | Password generation device and password verification device |
US10171438B2 (en) * | 2017-04-04 | 2019-01-01 | International Business Machines Corporation | Generating a password |
SE1750421A1 (en) * | 2017-04-07 | 2018-10-08 | Safe Patient Identification Sweden Ab | Method performed by a computer system for biometric authentication of human beings of a first or a second category |
WO2019028493A1 (en) * | 2017-08-08 | 2019-02-14 | Token One Pty Ltd | Method, system and computer readable medium for user authentication |
US10887107B1 (en) * | 2017-10-05 | 2021-01-05 | National Technology & Engineering Solutions Of Sandia, Llc | Proof-of-work for securing IoT and autonomous systems |
CN107508686B (en) * | 2017-10-18 | 2020-07-03 | 克洛斯比尔有限公司 | Identity authentication method and system, computing device and storage medium |
GB201719666D0 (en) * | 2017-11-27 | 2018-01-10 | Loyalty Angels Ltd | Method and system for identifying users in two domains |
US10764036B1 (en) | 2018-03-06 | 2020-09-01 | Wells Fargo Bank, N.A. | Derived unique key per raindrop (DUKPR) |
US10949564B2 (en) * | 2018-05-07 | 2021-03-16 | Apple Inc. | Contact discovery service with privacy aspect |
US11126754B2 (en) * | 2018-11-30 | 2021-09-21 | BicDroid Inc. | Personalized and cryptographically secure access control in operating systems |
US11616774B2 (en) * | 2019-01-17 | 2023-03-28 | Blackberry Limited | Methods and systems for detecting unauthorized access by sending a request to one or more peer contacts |
US11634094B2 (en) * | 2019-11-08 | 2023-04-25 | Thermo King Llc | Methods and systems for secure communication and authorization of vehicle mode change |
EP3929785B1 (en) * | 2020-06-24 | 2022-05-04 | Axis AB | Remote resetting to factory default settings; a method and a device |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6272631B1 (en) * | 1997-06-30 | 2001-08-07 | Microsoft Corporation | Protected storage of core data secrets |
JP4505164B2 (en) * | 1999-06-04 | 2010-07-21 | オープン ティーヴィー インコーポレイテッド | Flexible interface for secure PIN code entry |
US20010037468A1 (en) | 2000-04-11 | 2001-11-01 | Gaddis M. Norton | Method and apparatus for creating unique image passwords |
AUPQ958400A0 (en) | 2000-08-22 | 2000-09-14 | Cmx Technologies Pty Ltd | Validation of transactions |
US8261975B2 (en) * | 2001-03-07 | 2012-09-11 | Diebold, Incorporated | Automated banking machine that operates responsive to data bearing records |
GB2378010A (en) * | 2001-07-27 | 2003-01-29 | Hewlett Packard Co | Mulit-Domain authorisation and authentication |
JP2007041801A (en) * | 2005-08-02 | 2007-02-15 | E Bank Corp | Transaction system control device |
GB2433147A (en) * | 2005-12-01 | 2007-06-13 | Jonathan Geoffrey Milt Craymer | A method for verifying a person's identity or entitlement using one-time transaction codes |
US8255981B2 (en) | 2005-12-21 | 2012-08-28 | At&T Intellectual Property I, L.P. | System and method of authentication |
US8112787B2 (en) * | 2005-12-31 | 2012-02-07 | Broadcom Corporation | System and method for securing a credential via user and server verification |
US7992005B2 (en) * | 2006-12-06 | 2011-08-02 | International Business Machines Corporation | Providing pattern based user password access |
JP5136843B2 (en) * | 2007-12-26 | 2013-02-06 | 三井住友カード株式会社 | User authentication method and system |
US20090240936A1 (en) * | 2008-03-20 | 2009-09-24 | Mark Lambiase | System and method for storing client-side certificate credentials |
US20090328203A1 (en) * | 2008-05-19 | 2009-12-31 | Honeywell International Inc. | Parametric based conditional access codes for access control applications |
US8191126B2 (en) * | 2009-05-04 | 2012-05-29 | Indian Institute Of Technology Madras | Methods and devices for pattern-based user authentication |
GB2488310B8 (en) | 2011-02-02 | 2016-01-27 | Winfrasoft Corp | A method and system for authenticating a user of a computerised system |
WO2012106778A1 (en) * | 2011-02-10 | 2012-08-16 | Beam Headquarters Pty Ltd | Mobile communication device services |
-
2013
- 2013-04-30 BR BR112015027633A patent/BR112015027633A2/en not_active Application Discontinuation
-
2014
- 2014-04-30 US US14/767,720 patent/US9871805B2/en active Active
- 2014-04-30 WO PCT/AU2014/050024 patent/WO2014176645A1/en active Application Filing
- 2014-04-30 MX MX2015015140A patent/MX355189B/en active IP Right Grant
- 2014-04-30 CN CN201480024591.4A patent/CN105164689B/en not_active Expired - Fee Related
- 2014-04-30 CA CA2944047A patent/CA2944047A1/en not_active Abandoned
- 2014-04-30 JP JP2016510901A patent/JP6410798B2/en not_active Expired - Fee Related
- 2014-04-30 AU AU2014262138A patent/AU2014262138B2/en not_active Ceased
- 2014-04-30 EP EP14791894.0A patent/EP2992472B1/en not_active Not-in-force
- 2014-04-30 KR KR1020157033769A patent/KR20160003796A/en not_active Application Discontinuation
- 2014-04-30 SG SG11201506484PA patent/SG11201506484PA/en unknown
-
2016
- 2016-08-22 HK HK16110001.8A patent/HK1222002A1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US20160099950A1 (en) | 2016-04-07 |
CN105164689B (en) | 2019-04-30 |
AU2014262138B2 (en) | 2019-07-04 |
CA2944047A1 (en) | 2014-11-06 |
JP2016518667A (en) | 2016-06-23 |
US9871805B2 (en) | 2018-01-16 |
JP6410798B2 (en) | 2018-10-24 |
EP2992472A4 (en) | 2016-10-26 |
AU2014262138A1 (en) | 2015-11-05 |
WO2014176645A1 (en) | 2014-11-06 |
EP2992472A1 (en) | 2016-03-09 |
MX355189B (en) | 2018-04-09 |
CN105164689A (en) | 2015-12-16 |
SG11201506484PA (en) | 2015-11-27 |
BR112015027633A2 (en) | 2017-08-22 |
EP2992472B1 (en) | 2017-12-06 |
HK1222002A1 (en) | 2017-06-16 |
MX2015015140A (en) | 2016-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6410798B2 (en) | User authentication | |
US20220229893A1 (en) | Identity authentication using biometrics | |
US8485438B2 (en) | Mobile computing device authentication using scannable images | |
US8041954B2 (en) | Method and system for providing a secure login solution using one-time passwords | |
US9641521B2 (en) | Systems and methods for network connected authentication | |
US20200067705A1 (en) | Methods, apparatuses, and computer program products for frictionless electronic signature management | |
US20170257363A1 (en) | Secure mobile device two-factor authentication | |
EP3824592B1 (en) | Public-private key pair protected password manager | |
AU2013205396B2 (en) | Methods and Systems for Conducting Smart Card Transactions | |
US20180316661A1 (en) | Method and apparatus for providing client-side score-based authentication | |
KR20160129839A (en) | An authentication apparatus with a bluetooth interface | |
WO2015188424A1 (en) | Key storage device and method for using same | |
EP3206329B1 (en) | Security check method, device, terminal and server | |
EP2150915B1 (en) | Secure login protocol | |
US11868457B2 (en) | Device and method for authenticating user and obtaining user signature using user's biometrics | |
JP7554197B2 (en) | One-click login procedure | |
US12105792B2 (en) | Personal launch code (PLC) created by an account owner and included within the creation of a device identification code defining the identity of a computing device seeking access to accounts | |
US11936649B2 (en) | Multi-factor authentication | |
JP2019527518A (en) | Token-based authentication using signed messages | |
CA2611549C (en) | Method and system for providing a secure login solution using one-time passwords | |
KR20180116035A (en) | User hierarchical authentication apparatus and method for the same | |
KR101879842B1 (en) | User authentication method and system using one time password | |
WO2019028493A1 (en) | Method, system and computer readable medium for user authentication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0105 | International application |
Patent event date: 20151126 Patent event code: PA01051R01D Comment text: International Patent Application |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20190304 Comment text: Request for Examination of Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20200617 Patent event code: PE09021S01D |
|
E601 | Decision to refuse application | ||
PE0601 | Decision on rejection of patent |
Patent event date: 20201128 Comment text: Decision to Refuse Application Patent event code: PE06012S01D Patent event date: 20200617 Comment text: Notification of reason for refusal Patent event code: PE06011S01I |