KR20160129839A - 블루투스 인터페이스를 갖는 인증 장치 - Google Patents

블루투스 인터페이스를 갖는 인증 장치 Download PDF

Info

Publication number
KR20160129839A
KR20160129839A KR1020167021000A KR20167021000A KR20160129839A KR 20160129839 A KR20160129839 A KR 20160129839A KR 1020167021000 A KR1020167021000 A KR 1020167021000A KR 20167021000 A KR20167021000 A KR 20167021000A KR 20160129839 A KR20160129839 A KR 20160129839A
Authority
KR
South Korea
Prior art keywords
authentication device
user
application
host computer
bluetooth connection
Prior art date
Application number
KR1020167021000A
Other languages
English (en)
Other versions
KR102144528B1 (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 KR20160129839A publication Critical patent/KR20160129839A/ko
Application granted granted Critical
Publication of KR102144528B1 publication Critical patent/KR102144528B1/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/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • 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
    • G06F21/35User authentication involving the use of external additional devices, e.g. dongles or smart cards communicating wirelessly
    • 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/42User authentication using separate channels for security data
    • G06F21/43User authentication using separate channels for security data wireless channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/3827Portable transceivers
    • H04B1/3833Hand-held transceivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-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/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • 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/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
    • H04W4/008
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup

Abstract

블루투스 가능 인증 디바이스를 사용하여 애플리케이션과 사용자의 상호작용을 보안시키기 위한 방법들, 장치 및 시스템들이 개시된다.

Description

블루투스 인터페이스를 갖는 인증 장치{AN AUTHENTICATION APPARATUS WITH A BLUETOOTH INTERFACE}
[0001] 본 출원은 "An Authentication Apparatus with a Bluetooth Interface"라는 명칭으로 2013년 12월 30일에 출원된 미국 가출원 일련번호 제61/921,743호의 우선권을 주장하며, 이 가출원은 전체가 인용에 의해 본원에 통합된다.
[0002] 본 발명은 컴퓨터 네트워크들을 통해 컴퓨터들 및 애플리케이션들에의 원격 액세스와 원격 트랜잭션들을 보안하는 것에 관한 것이다. 특히, 본 발명은 인증 디바이스와 호스트 컴퓨터 사이의 블루투스 연결을 사용하여 원격 애플리케이션 서버들에 사용자들을 인증하기 위한 방법들 및 장치에 관한 것이다.
[0003] 컴퓨터 시스템들 및 애플리케이션들의 원격 액세스의 인기가 상승함에 따라, 인터넷과 같은 공개 네트워크들을 통해 원격적으로 액세스되는 트랜잭션들의 수 및 종류가 드라마틱하게 증가하였다. 이러한 인기는 보안성의 필요성, 특히 애플리케이션을 원격적으로 액세스하고 있는 중인 사람들이 진정한 그 사람들임을 보장하는 방법, 원격적으로 수행하고 있는 중인 트랜잭션들이 적법한 개인들에 의해 개시되도록 보장하는 방법, 및 트랜잭션 데이터가 애플리케이션 서버에서 수신되기 전에 변경되지 않도록 보장하는 방법을 분명히 보여주고 있다.
[0004] 과거에, 애플리케이션 제공자들은 원격 애플리케이션들에 보안을 제공하기 위하여 정적 패스워드들에 의존해 왔다. 최근에, 정적 패스워드들이 충분하지 않아서 더 진보적인 보안 기술이 요구되고 있음이 분명해지고 있다.
[0005] 공지된 정적-패스워드 인증 방법에 대한 대안 방법들은 바람직하게 비용 효율적이고 신뢰성이 있으며 사용자 편의성이 보장되어야 한다.
[0006] 본 발명의 일 양상은 동적 크리덴셜을 생성하기 위한 블루투스 인터페이스를 가진 인증 디바이스를 제공한다.
[0007] 일부 실시예들에서, 인증 디바이스(100)는 휴대용 핸드헬드 장치일 수 있다. 일부 실시예들에서, 인증 디바이스는 암호 크리덴셜 생성 시크릿(secret) 키를 보안적으로 저장하도록 적응되는 저장 컴포넌트(130); 인증 디바이스의 사용자로부터 입력들을 수신하기 위한 사용자 입력 인터페이스(120); 출력들을 사용자에게 제시하기 위한 사용자 출력 인터페이스(110); 암호 크리덴셜 생성 시크릿 키를 동적 변수와 암호적으로 결합함으로써 상기 동적 크리덴셜을 생성하도록 적응되는 데이터 프로세싱 컴포넌트(140); 및 인증 디바이스와 상기 호스트 컴퓨터 간의 블루투스 연결을 통해 인증 디바이스를 호스트 컴퓨터에 연결하기 위한 블루투스 인터페이스(150)를 포함할 수 있으며, 상기 인증 디바이스는 상기 호스트 컴퓨터와의 블루투스 연결을 통해서 상기 생성되는 동적 크리덴셜을 전송하도록 적응된다.
[0008] 일부 실시예들에서, 인증 디바이스는 이전 실시예들의 인증 디바이스들 중 임의의 디바이스일 수 있으며, 시간 값을 제공하기 위한 시계(160)를 더 포함하고, 인증 디바이스는 상기 시계에 의해 제공되는 상기 시간 값의 함수로서 상기 동적 변수의 값을 결정하도록 추가로 적응된다.
[0009] 일부 실시예들에서, 인증 디바이스는 이전 실시예들의 인증 디바이스들 중 임의의 인증 디바이스일 수 있으며, 상기 저장 컴포넌트에 제 2 변수를 저장하고; 상기 저장되는 제 2 변수의 함수로서 상기 동적 변수의 값을 결정하며; 그리고 상기 제 2 변수의 값이 상기 동적 크리덴셜을 생성하기 위해 사용되었을 때, 상기 제 2 변수의 값을 업데이트하고 상기 저장 컴포넌트에 저장하도록 추가로 적응된다. 일부 실시예들에서, 상기 제 2 변수는 카운터를 포함하고, 및 상기 제 2 변수를 업데이트하는 것은 상기 카운터의 값을 단조롭게 증가(또는 증분)시키거나 또는 단조롭게 감소(감분)시키는 것 중 적어도 하나를 포함할 수 있다. 예컨대, 일부 실시예들에서, 동적 변수는 인증 디바이스가 자신의 메모리에 저장할 수 있고 인증 디바이스의 데이터 프로세싱 컴포넌트가 동적 크리덴셜을 생성할 때마다 1씩 증가(또는 감소)시킬 수 있는 카운터일 수 있다.
[0010] 일부 실시예들에서, 인증 디바이스는 이전 실시예들의 인증 디바이스들 중 임의의 인증 디바이스일 수 있으며, 상기 동적 크리덴셜에 대한 요청을 상기 블루투스 연결을 통해서 수신하고, 상기 동적 크리덴셜에 대한 요청에 대한 응답으로 (예컨대, 데이터 프로세싱 컴포넌트에 의해) 상기 동적 크리덴셜을 생성하며, 그리고 상기 생성된 동적 크리덴셜을 상기 블루투스 연결을 통해서 리턴하도록 추가로 적응된다. 일부 실시예들에서, 인증 디바이스는 상기 동적 크리덴셜을 생성하기 이전에 상기 동적 크리덴셜을 생성하기 위한 상기 사용자로부터의 승인 또는 상기 동적 크리덴셜을 리턴하기 이전에 상기 동적 크리덴셜을 리턴하기 위한 상기 사용자로부터의 승인을 상기 사용자 입력 인터페이스에 의해, 예컨대 상기 요청을 수신한 이후에, 캡처하도록 추가로 적응될 수 있다. 일부 실시예들에서, 상기 인증 디바이스에 의한 상기 동적 크리덴셜의 생성 및 리턴은 상기 사용자 승인에 의해 좌우될 수 있다.
[0011] 일부 실시예들에서, 인증 디바이스는 이전 실시예들의 인증 디바이스들 중 임의의 인증 디바이스일 수 있으며, 상기 블루투스 연결을 통해 챌린지를 수신하고, 그리고 상기 동적 크리덴셜을 생성할 때 상기 수신되는 챌린지를 사용하도록 추가로 적응된다. 일부 실시예들에서, 챌린지는 인증 디바이스가 상기 블루투스 연결을 통해 수신하는 동적 크리덴셜을 생성하고 리턴하기 위한 요청에 포함될 수 있다.
[0012] 일부 실시예들에서, 인증 디바이스는 이전 실시예들의 인증 디바이스들 중 임의의 인증 디바이스일 수 있으며, 상기 블루투스 연결을 통해 트랜잭션 관련 데이터를 수신하고, 상기 수신되는 트랜잭션 관련 데이터를 상기 사용자 출력 인터페이스에 의해 사용자에게 제시하고, 상기 트랜잭션 관련 데이터에 대한 상기 사용자의 승인을 상기 사용자 입력 인터페이스에 의해 캡처하며, 그리고 상기 동적 크리덴셜을 생성할 때 상기 수신되는 트랜잭션 관련 데이터를 사용하도록 추가로 적응된다. 일부 실시예들에서, 상기 인증 디바이스에 의한 상기 동적 크리덴셜의 생성 및 리턴은 상기 트랜잭션 관련 데이터의 상기 사용자 승인에 의해 좌우될 수 있다. 일부 실시예들에서, 트랜잭션 관련 데이터는 사용자가 수행할 애플리케이션을 요청한 트랜잭션 나타내는 트랜잭션 데이터를 포함할 수 있다.
[0013] 일부 실시예들에서, 인증 디바이스는 이전 실시예들의 인증 디바이스들 중 임의의 인증 디바이스일 수 있으며, 디바이스 식별 데이터 엘리먼트를 저장하고, 그리고 상기 디바이스 식별 데이터 엘리먼트가 상기 블루투스 연결을 통해서 상기 호스트 컴퓨터에 이용가능하게 하도록 추가로 적응된다.
[0014] 일부 실시예들에서, 인증 디바이스는 사용자 이름을 저장하고 상기 사용자 이름을 상기 블루투스 연결을 통해서 상기 호스트 컴퓨터에 이용가능하게 하도록 추가로 적응되는, 이전 실시예들의 인증 디바이스들 중 임의의 것일 수 있다. 일부 실시예들에서, 인증 디바이스는 상기 블루투스 연결을 통해서 상기 사용자 이름을 수신하고 상기 블루투스 연결을 통해서 나중의 리트리벌(retrieval)을 위해 상기 사용자 이름을 저장하도록 추가로 적응될 수 있다.
[0015] 일부 실시예들에서, 인증 디바이스는 애플리케이션 상태가 상기 블루투스 연결을 통해서 상기 호스트 컴퓨터에 이용가능하게 하도록 추가로 적응되는, 이전 실시예들의 인증 디바이스들 중 임의의 것일 수 있다.
[0016] 일부 실시예들에서, 인증 디바이스는 상기 호스트 컴퓨터에 의해 실행될 하나 또는 그 초과의 커맨드들을 상기 블루투스 연결을 통해서 상기 호스트 컴퓨터에 전송하도록 추가로 적응되는, 이전 실시예들의 인증 디바이스들 중 임의의 것일 수 있다.
[0017] 일부 실시예들에서, 인증 디바이스는 PIN 및/또는 패스워드를 검증하도록 추가로 적응되는, 이전 실시예들의 인증 디바이스들 중 임의의 것일 수 있다. 일부 실시예들에서, 인증 디바이스 상기 사용자 입력 인터페이스를 통해서 인증 디바이스에 제공되는 상기 PIN 및/또는 패스워드를 캡처하도록 추가로 적응될 수 있다. 일부 실시예들에서, 인증 디바이스는 상기 블루투스 연결을 통해서 상기 PIN 및/또는 패스워드를 수신하도록 추가로 적응될 수 있다. 일부 실시예들에서, 인증 디바이스는 상기 PIN 및/또는 패스워드의 상기 검증이 성공적인 경우에만 상기 동적 크리덴셜을 생성하도록 추가로 적응될 수 있다.
[0018] 일부 실시예들에서, 인증 디바이스는, 바이오메트릭 기준 데이터를 저장하고 상기 사용자의 바이오메트릭 측정을 검증하도록 추가로 적응되는, 이전 실시예들의 인증 디바이스들 중 임의의 것일 수 있다. 일부 실시예들에서, 인증 디바이스는 바이오메트릭 센서를 더 포함할 수 있고 그리고 상기 바이오메트릭 센서로 상기 바이오메트릭 측정을 캡처하도록 추가로 적응될 수 있다. 일부 실시예들에서, 인증 디바이스는 상기 블루투스 연결을 통해서 상기 바이오메트릭 측정을 수신하도록 추가로 적응될 수 있다. 일부 실시예들에서, 인증 디바이스는 상기 바이오메트릭 측정의 상기 검증이 성공적인 경우에만 상기 동적 크리덴셜을 생성하도록 추가로 적응될 수 있다.
[0019] 일부 실시예들에서, 인증 디바이스는 이전 실시예들의 인증 디바이스들 중 임의의 것일 수 있으며, 상기 사용자 입력 인터페이스는 단일 버튼으로 구성되고, 상기 인증 디바이스는 상기 사용자가 상기 버튼을 누름으로써 상기 사용자의 승인을 캡처하도록 추가로 적응된다. 다른 실시예들에서, 인증 디바이스는 이전 실시예들의 인증 디바이스들 중 임의의 것일 수 있으며, 사용자 입력 인터페이스는 두 개의 버튼들로 구성되고, 상기 인증 디바이스는 상기 사용자가 상기 두 개의 버튼들 중 제 1 버튼을 누름으로써 상기 사용자의 승인을 캡처하고 그리고 상기 사용자가 상기 두 개의 버튼들 중 제 2 버튼을 누름으로써 상기 사용자의 거부 또는 취소 중 적어도 하나를 캡처하도록 추가로 적응된다.
[0020] 일부 실시예들에서, 인증 디바이스는 애플리케이션 메시지의 무결성, 신뢰성 또는 진정성을 보호하기 위한 보안 메시징 기술에 의해 보안되는 상기 애플리케이션 메시지들을 상기 블루투스 연결을 통해서 수신 또는 전송하도록 추가로 적응되고, 이로 인해서, 상기 인증 디바이스가 상기 보안 메시징 기술을 지원하고 그리고 상기 보안 메시징 기술에서 사용되는 암호 보안 메시징 동작들을 수행하도록 추가로 적응됨으로써, 상기 보안 메시징 기술이 임의의 블루투스 보안 메시징 메커니즘으로부터 독립적이게 되는, 이전 실시예들의 인증 디바이스들 중 임의의 것일 수 있다. 일부 실시예들에서, 인증 디바이스는 보안 메시징 시크릿(secret)을 저장하고, 그리고 암호 보안 메시징 키의 값을 결정하여 상기 암호 보안 메시징 동작들에서 상기 암호 보안 메시징 키를 사용하기 위해 상기 보안 메시징 시크릿을 사용하도록 추가로 적응될 수 있다.
[0021] 일부 실시예들에서, 인증 디바이스는 이전 실시예들의 인증 디바이스들 중 임의의 것일 수 있으며, 상기 암호 크리덴셜 생성 시크릿 키를 상기 동적 변수와 암호적으로 결합하는 것은 상기 암호 크리덴셜 생성 시크릿 키로 파라미터화되는 대칭 암호 알고리즘을 실행하는 것을 포함한다. 일부 실시예들에서, 상기 대칭 암호 알고리즘은 대칭 암호화 또는 대칭 복호화 알고리즘을 포함할 수 있다. 일부 실시예들에서, 상기 대칭 암호 알고리즘은 키 해싱 알고리즘(keyed hashing algorithm)을 포함할 수 있다.
[0022] 일부 실시예들에서, 인증 디바이스는 이전 실시예들의 인증 디바이스들 중 임의의 것일 수 있으며, 상기 블루투스 인터페이스는 블루투스 저 에너지를 지원한다.
[0023] 본 발명의 다른 양상은 애플리케이션과 사용자 간의 상호작용을 보안시키기 위한 시스템을 제공한다. 애플리케이션은 서버 부분 및 클라이언트 부분을 포함할 수 있다.
[0024] 일부 실시예들에서 시스템은: 애플리케이션의 서버 부분을 호스팅하는 애플리케이션 서버(210); 상기 애플리케이션의 클라이언트 부분인 클라이언트 애플리케이션을 실행하고, 그리고 사용자(290)가 컴퓨터 네트워크(250)를 통해서 애플리케이션의 서버 부분에 원격으로 액세스하게 허용하는 호스트 컴퓨터(230) ―상기 호스트 컴퓨터는 사용자로부터 입력들을 수신하기 위한 사용자 입력 인터페이스 및 사용자에게 출력들을 제공하기 위한 사용자 출력 인터페이스를 포함함―; 동적 크리덴셜을 생성하기 위한 인증 디바이스(240); 및 상기 동적 크리덴셜의 유효성(validity)을 검증하기 위한 검증 서버(220)를 포함하고, 상기 인증 디바이스는, 암호 크리덴셜 생성 시크릿 키를 보안적으로 저장하도록 적응되는 저장 컴포넌트(130), 상기 암호 크리덴셜 생성 시크릿 키를 동적 변수와 암호적으로 결합함으로써 상기 동적 크리덴셜을 생성하기 위한 데이터 프로세싱 컴포넌트(140), 및 인증 디바이스와 상기 호스트 컴퓨터 간의 블루투스 연결을 사용하여 인증 디바이스를 상기 호스트 컴퓨터에 연결하기 위한 블루투스 인터페이스(150)를 포함하고, 이로 인해서, 상기 호스트 컴퓨터는 상기 인증 디바이스와의 블루투스 연결을 셋업하도록 적응되고, 상기 인증 디바이스는 상기 동적 크리덴셜을 생성하고 블루투스 연결을 통해서 상기 동적 크리덴셜을 상기 호스트 컴퓨터에 리턴하도록 적응되고, 상기 호스트 컴퓨터 상의 상기 클라이언트 애플리케이션은 상기 블루투스 연결을 통해서 상기 동적 크리덴셜을 수신하고 그리고 상기 생성되는 동적 크리덴셜을 검증을 위해 상기 검증 서버에 포워딩하도록 추가로 적응되며, 그리고 상기 검증 서버는 상기 생성되는 동적 크리덴셜을 검증하고 그리고 상기 동적 크리덴셜이 유효한 것으로 검증되었는지를 상기 애플리케이션 서버에 시그널링하도록 적응된다.
[0025] 일부 실시예들에서, 시스템은 앞선 실시예들의 시스템들 중 임의의 시스템일 수 있으며, 여기서 인증 디바이스 및 검증 서버는 암호 크리덴셜 생성 시크릿 키를 공유하고, 동적 크리덴셜의 생성 및 검증은 인증 디바이스와 검증 서버 간에 공유되는 시크릿 인증 키를 사용하는 대칭 암호 알고리즘을 이용하여 이루어진다.
[0026] 일부 실시예들에서, 시스템은 앞선 실시예들의 시스템들 중 임의의 시스템일 수 있으며, 여기서 한편으로는 인증 디바이스 및 다른 한편으로는 검증 서버 또는 애플리케이션 서버가 하나 또는 그 초과의 보안 메시징 키들을 공유하고, 애플리케이션 서버 또는 검증 서버는 애플리케이션 메시지를 생성하고 그리고 공유되는 하나 또는 그 초과의 보안 메시징 키들을 사용하는 보안 메시징 기술들을 통해 애플리케이션 메시지를 보안시키도록 적응되며, 클라이언트 애플리케이션은 보안된 애플리케이션 메시지를 수신하고 그리고 보안된 애플리케이션 메시지를 블루투스 연결을 통해서 인증 디바이스에 포워딩하도록 적응되며, 그리고 인증 디바이스는 보안된 애플리케이션 메시지를 블루투스 연결을 통해서 수신하고 그리고 공유되는 하나 또는 그 초과의 보안 메시징 키들을 사용하여 보안 메시징 키들을 지원하고 보안된 애플리케이션 메시지에 대해 동작하도록 적응된다.
[0027] 일부 실시예들에서, 시스템은 앞선 실시예들의 시스템들 중 임의의 시스템일 수 있으며, 여기서 인증 디바이스는, 인증 디바이스에게 동적 크리덴셜을 생성 및 리턴하라는 요청을 포함하는 애플리케이션 메시지를 블루투스 연결을 통해서 수신하고, 그리고 애플리케이션 메시지를 수신하는 것에 대한 응답으로, 동적 크리덴션을 생성하고 동적 크리덴셜을 블루투스 연결을 통해서 리턴하도록 적응된다. 일부 실시예들에서, 애플리케이션 메시지는 챌린지를 포함할 수 있고, 동적 변수는 동적 챌린지에 기초할 수 있다. 일부 실시예들에서, 챌린지는 애플리케이션 서버 또는 검증 서버에 의해 생성된 예측불가능한 값을 포함할 수 있다. 일부 실시예들에서, 애플리케이션 메시지는 사용자에 의해 애플리케이션에 제출된 트랜잭션 데이터를 포함할 수 있고, 동적 변수는 트랜잭션 데이터에 기초할 수 있다.
[0028] 일부 실시예들에서, 시스템은 앞선 실시예들의 시스템들 중 임의의 시스템일 수 있으며, 여기서 인증 디바이스는 시간에 따라 변하는 애플리케이션 상태를 유지하고 그리고 인증 디바이스의 현재 애플리케이션 상태에 대한 정보를 블루투스 연결을 통해서 호스트 컴퓨터에 통신하도록 추가로 적응되고, 클라이언트 애플리케이션은 인증 디바이스로부터 현재 애플리케이션 상태 정보를 블루투스 연결을 통해서 수신하고 그리고 인증 디바이스를 어떻게 처리할 지에 대한 가이드라인들 또는 명령들을 사용자에게 제공하도록 추가로 적응되고, 그로 인해서 가이드라인들 또는 명령들은 수신되는 현재 애플리케이션 상태 정보의 함수이다.
[0029] 일부 실시예들에서, 시스템은 앞선 실시예들의 시스템들 중 임의의 시스템일 수 있으며, 여기서 인증 디바이스는 호스트 컴퓨터에 의해 실행될 코맨드들을 생성하고, 블루투스 연결을 통해 코맨드들을 호스트 컴퓨터에 통신하도록 추가로 적응되며; 클라이언트 애플리케이션은 인증 디바이스로부터 블루투스 연결을 통해 코맨드들을 수신하고 코맨드들을 수행하도록 추가로 적응된다. 일부 실시예들에서, 호스트 컴퓨터에 의해 코맨드들을 수행하는 것은, 사용자 출력 인터페이스 또는 사용자 입력 인터페이스에 의해 호스트 컴퓨터가 사용자와 인터페이싱하는 것을 포함할 수 있다. 일부 실시예들에서, 호스트 컴퓨터에 의해 코맨드들을 수행하는 것은, 특정 데이터 또는 특정 입력들을 제공하도록 호스트 컴퓨터가 사용자에게 요청하는 것, (예를 들어, 호스트 컴퓨터의 사용자 인터페이스에 의해) 호스트 컴퓨터가 사용자로부터 데이터 또는 입력들을 획득하는 것, 그리고 획득된 데이터 또는 입력들을 호스트 컴퓨터가 블루투스 연결을 통해 인증 디바이스로 통신하는 것을 포함할 수 있다.
[0030] 일부 실시예들에서, 시스템은 앞선 실시예들의 시스템들 중 임의의 시스템일 수 있으며, 여기서 클라이언트 애플리케이션은 호스트 컴퓨터의 사용자 입력 인터페이스에 의해서 사용자로부터 PIN 값 및/또는 패스워드 값을 획득하고 그리고 획득되는 PIN 값 및/또는 획득되는 패스워드 값을 블루투스 연결을 통해서 인증 디바이스에 전송하도록 추가로 적응되고, 그리고 인증 디바이스는 PIN 값 및/또는 패스워드 값을 블루투스 연결을 통해서 수신하고 그리고 수신되는 PIN 값 및/또는 수신되는 패스워드 값을 검증하도록 추가로 적응된다.
[0031] 일부 실시예들에서, 시스템은 앞선 실시예들의 시스템들 중 임의의 시스템일 수 있으며, 여기서, 호스트 컴퓨터는 사용자로부터의 바이오메트릭 측정을 캡처하도록 적응되는 바이오메트릭 측정 컴포넌트를 더 포함하고, 클라이언트 애플리케이션은 사용자로부터의 바이오메트릭 측정을 호트스 컴퓨터의 바이오메트릭 측정 컴포넌트에 의해 획득하고 그리고 획득되는 바이오메트릭 측정 컴포넌트를 블루투스 연결을 통해서 인증 디바이스에 전송하도록 추가로 적응되며, 그리고 인증 디바이스는 바이오메트릭 측정을 블루투스 연결을 통해서 수신하고 그리고 수신되는 바이오메트릭 측정을 검증하도록 추가로 적응된다.
[0032] 일부 실시예들에서, 시스템은 앞선 실시예들의 시스템들 중 임의의 시스템일 수 있으며, 여기서, 클라이언트 애플리케이션은, 인증 디바이스가 블루투스 연결을 통해 호스트 컴퓨터에 연결될 때, 호스트 컴퓨터까지 인증 디바이스의 거리에 대한 표시를 획득하도록 추가로 적응되고, 그리고 애플리케이션은 사용자에 대한 하나 또는 그 초과의 액세스 권한들을 허가할지, 유지할지 또는 철회할지를 판단할 때 거리 표시를 고려하도록 적응된다.
[0033] 또 다른 양상에서, 본 발명은 사용자와의 컴퓨터-기반 애플리케이션의 상호작용을 보안시키는 방법을 제공하며, 그로 인해서 사용자는 동적 크리덴션을 생성하기 위해 애플리케이션 디바이스를 동작시키거나 휴대하며, 그로 인해서 인증 디바이스는 블루투스 호스트 디바이스와 통신하기 위해 블루투스 인터페이스를 포함할 수 있다. 일부 실시예들에서, 인증 디바이스는 앞서 설명된 인증 디바이스들 중 임의의 인증 디바이스 일 수 있다. 일부 실시예들에서, 이 방법은 앞서 설명된 시스템들 중 임의의 시스템에 사용될 수 있다.
[0034] 일부 실시예들에서, 방법은, 로컬 호스트 컴퓨터의 사용자 입력 인터페이스 및 사용자 출력 인터페이스를 사용함으로써 사용자가 애플리케이션과 상호작용하도록 허용하기 위해 애플리케이션의 클라이언트 부분인 클라이언트 애플리케이션을 로컬 호스트 컴퓨터 상에서 실행하는 단계; 로컬 호스트 컴퓨터에서 인증 디바이스와의 블루투스 연결을 셋업하는 단계; 상기 블루투스 연결을 통해서 인증 디바이스로부터 동적 크리덴셜을 수신하는 단계 ― 동적 크리덴셜은 동적 변수를 상기 인증 디바이스에 저장된 제 1 암호 인증 키와 암호적으로 결합함으로써 상기 인증 디바이스에 의해 생성됨 ―; 및 제 2 암호 인증 키로 파라미터화되는 암호 알고리즘을 사용하여 상기 동적 크리덴셜을 검증하는 단계를 포함할 수 있다.
[0035] 일부 실시예들에서, 방법은, 애플리케이션 메시지를 생성하는 단계; 상기 인증 디바이스와 공유되는 적어도 하나의 대칭 보안 메시징 키로 파라미터화되는 대칭 암호 알고리즘에 기초하는 보안 메시징 기술들을 적용함으로써 상기 애플리케이션을 보안시키는 단계; 및 호스트 컴퓨터에서 상기 블루투스 연결을 통해 상기 애플리케이션 메시지를 인증 디바이스에 전송하는 단계를 더 포함하는 이전의 실시예들의 방법들 중 임의의 방법일 수 있다.
[0036] 일부 실시예들에서, 방법은, 인증 디바이스에게 상기 동적 크리덴셜을 생성 및 리턴하라는 요청을 포함하는 애플리케이션 메시지를 생성하는 단계; 및 호스트 컴퓨터에서 상기 블루투스 연결을 통해 상기 애플리케이션 메시지를 인증 디바이스에 전송하는 단계 ― 이로 인해서, 인증 디바이스가 상기 블루투스 연결을 통해서 상기 애플리케이션 메시지를 수신하는 것에 대한 응답으로, 인증 디바이스는 상기 동적 크리덴셜을 생성하고 상기 블루투스 연결을 통해서 호스트 컴퓨터에 리턴함 ―를 더 포함하는 이전의 실시예들의 방법들 중 임의의 방법일 수 있다. 일부 실시예들에서, 방법은, 챌린지를 생성하는 단계; 및 상기 챌린지를 상기 애플리케이션 메시지에 포함시키는 단계를 더 포함할 수 있고, 이로 인해서, 상기 동적 변수는 상기 챌린지에 기초한다. 일부 실시예들에서, 방법은, 트랜잭션을 수행하라는 요청을 상기 사용자로부터 수신하는 단계; 상기 트랜잭션을 나타내는 트랜잭션 데이터를 상기 애플리케이션 메시지에 포함시키는 단계; 및 상기 동적 크리덴셜의 검증이 성공적인 경우에 상기 트랜잭션 요청을 수행하는 단계를 더 포함할 수 있으며, 이로 인해서, 상기 동적 변수는 상기 애플리케이션 메시지에 포함된 상기 트랜잭션 데이터에 기초할 수 있다.
[0037] 일부 실시예들에서, 방법은, 상기 로컬 호스트 컴퓨터에서 인증 디바이스의 애플리케이션 상태에 대한 정보를 상기 블루투스 연결을 통해 상기 인증 디바이스로부터 수신하는 단계; 로컬 호스트 컴퓨터에서 상기 인증 디바이스의 동작에 관한 가이드라인들 또는 명령들을 상기 사용자 출력 인터페이스에 의해 사용자에게 제공하는 단계 ― 이로 인해서, 상기 가이드라인들 또는 명령들은 인증 디바이스의 애플리케이션 상태에 대한 상기 수신되는 정보의 함수일 수 있음 ―를 더 포함하는 이전의 실시예들의 방법들 중 임의의 방법일 수 있다.
[0038] 일부 실시예들에서, 방법은, 수행될 커맨드를 상기 로컬 호스트 컴퓨터에서 상기 블루투스 연결을 통해 상기 인증 디바이스로부터 수신하는 단계 및 상기 로컬 호스트 컴퓨터에서 상기 커맨드를 수행하는 단계를 더 포함하는 이전의 실시예들의 방법들 중 임의의 방법일 수 있다.
[0039] 일부 실시예들에서, 방법은, 상기 로컬 호스트 컴퓨터에서 상기 사용자 입력 인터페이스를 의해 상기 사용자로부터 PIN 및/또는 패스워드 값을 획득하는 단계 및 상기 획득되는 PIN 및/또는 패스워드 값이 상기 인증 디바이스에 의해 검증되도록 하기 위해서 상기 획득되는 PIN 및/또는 패스워드 값을 상기 블루투스 연결을 통해서 상기 인증 디바이스에 전송하는 단계를 더 포함하는 이전의 실시예들의 방법들 중 임의의 방법일 수 있다.
[0040] 일부 실시예들에서, 방법은, 상기 로컬 호스트 컴퓨터에서 바이오메트릭 센서에 의해 상기 사용자로부터의 바이오메트릭 측정을 획득하는 단계 및 상기 획득되는 바이오메트릭 측정이 상기 인증 디바이스에 의해 검증되도록 하기 위해서 상기 획득되는 바이오메트릭 측정을 상기 블루투스 연결을 통해서 상기 인증 디바이스에 전송하는 단계를 더 포함하는 이전의 실시예들의 방법들 중 임의의 방법일 수 있다.
[0041] 일부 실시예들에서, 방법은, 로컬 호스트 컴퓨터와 인증 디바이스 간의 실제 거리를 표시하는 거리 표시 값을 로컬 호스트 컴퓨터에서 획득하는 단계 및 사용자에 대한 하나 또는 그 초과의 액세스 권한들을 허가할지, 유지할지 또는 철회할지를 결정하는데 있어 상기 거리 표시 값을 사용하는 단계를 더 포함하는 이전의 실시예들의 방법들 중 임의의 방법일 수 있다.
[0042] 일부 실시예들에서, 방법은, 로컬 호스트 컴퓨터의 사용자 입력 인터페이스 및 사용자 출력 인터페이스를 사용함으로써 사용자가 애플리케이션과 상호작용하도록 허용하기 위해 애플리케이션의 클라이언트 부분인 클라이언트 애플리케이션을 로컬 호스트 컴퓨터 상에서 실행하는 단계; 로컬 호스트 컴퓨터에서 인증 디바이스와의 블루투스 연결을 셋업하는 단계; 로컬 호스트 컴퓨터와 인증 디바이스 간의 실제 거리를 표시하는 거리 표시 값을 로컬 호스트 컴퓨터에서 획득하는 단계; 및 사용자에 대한 하나 또는 그 초과의 액세스 권한들을 허가할지, 유지할지, 또는 철회할지를 결정하는데 있어 상기 거리 표시 값을 사용하는 단계를 적어도 더 포함하는 이전의 실시예들의 방법들 중 임의의 방법일 수 있다. 일부 실시예들에서, 방법은, 상기 거리 표시 값을 미리 정의된 임계값에 비교하는 단계, 및 인증 디바이스가 상기 임계값과 연관된 거리보다 호스트 컴퓨터로부터 더 멀리 있다고 상기 비교하는 단계가 표시하는 경우에는 사용자에 대한 상기 하나 또는 그 초과의 액세스 권한들 중 적어도 일부를 철회하는 단계를 더 포함할 수 있다. 일부 실시예들에서, 방법은, 상기 거리 표시 값을 미리 정의된 임계값에 비교하는 단계, 및 인증 디바이스가 상기 임계값과 연관된 거리보다 호스트 컴퓨터에 더 가까이 있다고 상기 비교하는 단계가 표시하는 경우에는 사용자에 대한 상기 하나 또는 그 초과의 액세스 권한들 중 적어도 일부를 허가하는 단계를 더 포함할 수 있다.
[0043] 일부 실시예들에서, 인증 디바이스는 자율적인 배터리 전력공급형(battery-powered) 디바이스일 수 있다. 일부 실시예들에서, 배터리들은 재충전가능할 수 있다. 일부 실시예들에서, 배터리들은 교체가능할 수 있다. 일부 실시예들에서, 인증 디바이스는 포켓-사이즈의 휴대용 핸드헬드 디바이스일 수 있다.
[0044] 일부 실시예들에서, 인증 디바이스는, 예컨대 디스플레이를 포함할 수 있는 그 자체의 사용자 출력 인터페이스를 가질 수 있다. 일부 실시예들에서, 인증 디바이스는, 예컨대 키패드를 포함할 수 있는 그 자체의 사용자 입력 인터페이스를 가질 수 있다. 일부 경우들에서 키패드는 단일 버튼으로 축소될 수 있고, 다른 경우에서 키패드는 2개의 버튼들로 이루어질 수 있고, 또 다른 경우들에서 키패드는 완전한 키보드일 수 있다.
[0045] 일부 실시예들에서, 사용자 입력 인터페이스 및 사용자 출력 인터페이스는 제거가능하지 않고 사용자 서비스가능하지 않을 수 있고, 인증 디바이스에 의해 완전히 제어될 수 있고, 호스트 컴퓨터 상의 악의적 소프트웨어에 의한 간섭의 영향을 받지 않을 수 있다. 그러한 실시예들에서, 인증 디바이스는 그에 따라, 예컨대, 바이러스 또는 트로이와 같은 악의적 소프트웨어가 사용자에게 페이크 메시지들을 제시하거나, 사용자가 키패드 상에 무엇을 입력하든지 간에 캡처하거나, 보안 애플리케이션과 연관된 민감한 데이터를 메모리에서 판독하거나, 데이터가 신호되기(signed) 전에 데이터를 변경하는 가능성이 항상 존재하는 PC들과 대조적으로, 신뢰성있는 사용자 인터페이스를 갖는 것으로 고려될 수 있다.
[0046] 일부 실시예들에서, 인증 디바이스의 펌웨어는 변경할 수 없을 수도 있다. 일부 실시예들에서, 인증 디바이스는 탬퍼 확인용 프로비전들을 가질 수도 있다. 일부 실시예들에서, 인증 디바이스는 인증 및/또는 트랜잭션 서명 기능들의 제공에 전용되는 전용 보안 하드웨어 디바이스일 수도 있다. 일부 실시예들에서, 인증 디바이스의 주요 목적은 일부 경우들에는 '1회용 패스워드들'(OTP들) 또는 동적 패스워드로 지칭될 수도 있는 동적 크리덴셜을 생성하는 것이다.
[0047] 일부 실시예들에서, 인증 디바이스는 시크릿을 동적 변수의 값과 암호적으로 결합함으로써 이러한 동적 크리덴셜들을 생성하도록 적응될 수도 있다.
[0048] 일부 실시예들에서, 이러한 시크릿은 인증 디바이스에 보안 저장된 암호 시크릿 키일 수도 있다. 일부 실시예들에서, 인증 디바이스는 동적 변수를 입력으로 사용하는 암호 알고리즘을 파라미터화하기 위해 시크릿을 사용할 수도 있다. 일부 실시예들에서, 시크릿은 인증 디바이스와 검증 또는 인증 서버 간에 공유되는 시크릿 값을 포함할 수도 있다. 일부 실시예들에서, 시크릿은 대칭 시크릿 키를 포함할 수도 있다. 일부 실시예들에서, 시크릿은 공개-개인 키 쌍의 개인 키를 포함할 수도 있다. 일부 실시예들에서, 각각의 특정 인증 디바이스의 시크릿은 각자의 개별 또는 고유 값을 가질 수도 있다.
[0049] 일부 실시예들에서, 동적 변수는 디바이스에 제공되는 시간 값, 카운터 값 또는 서버 챌린지, 또는 이들의 결합으로부터 또는 이들을 기초로 도출될 수도 있다. 일부 실시예들에서, 인증 디바이스는 또한 동적 값으로서 디바이스에 제공된 데이터(예컨대, 트랜잭션 데이터)를 사용할 수도 있고 또는 디바이스는 동적 크리덴셜을 생성하기 위해 이러한 데이터를 앞서 언급한 동적 값들 중 임의의 값과 결합하여 사용할 수도 있다. 동적 변수가 트랜잭션 데이터를 기초로 하는 경우들에, 결과적인 동적 크리덴셜은 데이터에 대한 사용자의 승인을 나타내는 것으로 여겨질 수도 있고, 동적 크리덴셜은 전자 서명 또는 MAC(Message Authentication Code)으로 지칭될 수도 있다. 예컨대, 일부 실시예들에서, 인증 디바이스는 암호 시크릿을 시간 값 및 트랜잭션 데이터와 암호적으로 결합하여 트랜잭션 데이터에 대한 전자 서명을 포함하는 동적 크리덴셜을 생성할 수도 있다.
[0050] 일부 실시예들에서, 인증 디바이스가 시크릿을 동적 변수와 암호적으로 결합하는 것은 인증 디바이스가 대칭 암호 알고리즘을 수행하는 것을 포함할 수도 있다. 일부 실시예들에서, 이 대칭 암호 알고리즘은 입력으로서 동적 변수를 택할 수 있고 디바이스에 보안 저장된 시크릿으로 파라미터화될 수도 있다. 일부 실시예들에서, 동적 암호 알고리즘은 동적 값과 관련된 데이터에 대한 그리고 시크릿을 대칭 암호화 또는 복호화 키로서 사용하는 (예컨대, DES, 3DES 또는 AES와 같은) 대칭 암호화 또는 복호화 알고리즘을 포함할 수도 있다. 일부 경우들에, 인증 디바이스가 시크릿을 동적 값과 암호적으로 결합하는 것은 시크릿이 입력되며 동적 값과 관련된 데이터를 해시 함수에 대한 입력 데이터로서 사용하는 (예컨대, SHA-1와 같은) 암호 해시 함수를 수행하는 것을 포함할 수도 있다. 일부 실시예들에서, 인증 디바이스가 동적 크리덴셜을 생성하기 위해 사용하는 시크릿은 애플리케이션 또는 애플리케이션 대신 동적 크리덴셜을 검증하는 검증 서버와 공유될 수 있으며, 이로써 애플리케이션 또는 검증 서버는 인증 디바이스에 의해 생성된 동적 크리덴셜의 검증에 공유되는 시크릿을 사용할 수 있다.
[0051] 일부 실시예들에서, 시크릿 자체가 동적 변수일 수도 있다. 예를 들어, 일부 실시예들에서는, 동적 크리덴셜을 생성하기 위해 시크릿이 사용될 때, 그 값은 이전 값의 함수인 새로운 값으로 대체될 수 있다(시크릿의 새로운 값은 예컨대, 이전 값의 1회 해시 값으로서 계산될 수도 있다). 이러한 실시예들에서, 시크릿의 값은 시크릿의 초기 값과 시크릿 값이 변경된 횟수의 함수로서 결정될 수 있기 때문에, 이러한 실시예들은 카운터 값을 포함하는 동적 변수와 결합하여 정적 시크릿을 사용하는 것과 수학적으로 등가이다.
[0052] 일부 실시예들에서, 동적 크리덴셜을 생성하기 위해 인증 디바이스가 사용할 수 있는 동적 변수는 인증 디바이스 외부의 어떤 엔티티에 의해 인증 디바이스로 제공되는 외부 변수의 값(예컨대, 챌린지 또는 트랜잭션 데이터)에 기초할 수도 있다. 일부 실시예들에서, 동적 크리덴셜을 생성하기 위해 인증 디바이스가 사용할 수 있는 동적 변수는 예컨대, 인증 디바이스에 포함된 시계의 시간 값 또는 인증 디바이스에 의한 업데이트시 저장된 카운터의 값과 같이, 인증 디바이스 자체에 의해 제공되는 내부 변수의 값에 기초할 수도 있다. 일부 실시예들에서, 동적 변수는 외부 변수와 내부 변수 둘 다에 기초할 수도 있다.
[0053] 일부 실시예들에서, 인증 디바이스는 삽입된 스마트 카드와 통신하는 것이 가능할 수도 있으며, 이로써 동적 크리덴셜의 생성은 부분적으로는 인증 디바이스 자체에 의해 그리고 부분적으로는 삽입된 스마트 카드에 의해 이루어진다.
[0054] 일부 실시예들에서, 인증 디바이스는 인증 디바이스의 사용자 입력 인터페이스에 의해 인증 디바이스에 데이터를 제공하는 사용자에 의해 동적 크리덴셜들을 생성하기 위해 인증 디바이스가 사용할 수 있는 데이터(예컨대, 서버 챌린지 또는 트랜잭션 데이터)를 수신하도록 적응될 수도 있다. 예컨대, 일부 실시예들에서 사용자는 인증 디바이스의 키패드 상에서 수동으로 데이터를 입력할 수도 있다. 이런 식으로 사용자에 의해 인증 디바이스에 제공되어야 하는 데이터의 양이 몇 십개의 문자들을 초과할 때, 이 프로세스는 사용자에 의해 너무 복잡하고 느린 것으로 인지될 수도 있다.
[0055] 일부 실시예들에서, 인증 디바이스는 생성된 동적 크리덴셜을 인간 출력 인터페이스에 의해 사용자에게 제시하여, 사용자가 제시된 동적 크리덴셜을 이러한 동적 크리덴셜을 검증할 필요가 있는 시스템에 제공하거나 포워딩할 수 있도록 적응될 수도 있다. 예를 들어, 일부 실시예들에서 인증 디바이스는 생성된 OTP 또는 MAC을 인증 디바이스의 디스플레이 상에 디스플레이하여, 사용자가 디스플레이된 OTP 또는 MAC을, 이후에 OTP 또는 MAC의 유효성이 검증될 수 있는 애플리케이션 또는 인증 서버에 이 OTP 또는 MAC을 송신할 수 있는 자신의 PC(또는 다른 인터넷 액세스 디바이스)에 복사할 수 있도록 적응될 수도 있다. 그러나 이는 또한 불편하다고 인지될 수도 있는 사용자로부터의 어떤 동작들을 필요로 한다.
[0056] 일부 실시예들에서, 인증 디바이스는 블루투스 인터페이스를 포함할 수 있다. 일부 실시예들에서, 인증 디바이스의 블루투스 인터페이스는, 블루투스를 지원하는 호스트 컴퓨터에 인증 디바이스를 연결하기 위해 이용될 수 있다. 호스트 컴퓨터는, 사용자가 (예컨대, 인터넷과 같은 공개 전기통신 네트워크를 통해) 애플리케이션(원격 액세스가능한 애플리케이션일 수 있음)과 상호작용하기 위해 이용하는 액세스 디바이스일 수 있다. 일부 실시예들에서, 인증 디바이스는, 인증 디바이스의 블루투스 인터페이스를 이용하여 호스트 컴퓨터와 데이터를 교환하도록 적응될 수 있다.
[0057] 일부 실시예들에서, 인증 디바이스는, 자신의 블루투스 인터페이스를 통해 데이터를 수신하도록 적응될 수 있다. 일부 실시예들에서, 인증 디바이스는, 동적 크리덴셜을 생성하기 위해 자신이 이용할 수 있는 자신의 블루투스 인터페이스를 통해 데이터를 수신하도록 적응될 수 있다. 예컨대, 일부 실시예들에서, 인증 디바이스는 자신의 블루투스 인터페이스를 통해 호스트 컴퓨터로부터 서버 챌린지 및/또는 트랜잭션 데이터를 수신할 수 있고, 인증 디바이스는 이러한 챌린지 및/또는 트랜잭션 데이터를 이용하여 동적 크리덴셜을 생성할 수 있다. 일부 실시예들에서, 인증 디바이스는, 자신이 생성한 동적 크리덴셜을 자신의 블루투스 인터페이스를 통해 호스트 컴퓨터에 리턴하도록 적응될 수 있다. 일부 실시예들에서, 블루투스 인터페이스는 BLE(Bluetooth Low Energy)를 지원할 수 있다.
[0058] 일부 실시예들에서, 인증 디바이스는 다음과 같이 애플리케이션과 사용자의 상호작용을 보안하기 위해 이용될 수 있다.
[0059] 일부 실시예들에서, 사용자는 컴퓨터-기반 애플리케이션과 상호작용하기 위한 액세스 디바이스로서 호스트 컴퓨터를 이용할 수 있다. 일부 실시예들에서, 호스트 컴퓨터는, 예컨대, PC(Personal Computer), 태블릿 또는 스마트폰을 포함할 수 있다. 일부 실시예들에서, 호스트 컴퓨터는 예컨대, Windows 8, Android 또는 iOS와 같은 운영 시스템을 실행할 수 있다.
[0060] 애플리케이션과의 상호작용 동안, 애플리케이션은 사용자가 동적 크리덴셜을 공급하도록 요구할 수 있다. 예컨대, 일부 실시예들에서, 사용자는 로그인 절차 동안 애플리케이션이 검증할 유효한 동적 크리덴셜을 애플리케이션에 제공해야 할 수 있고, 애플리케이션은, 이러한 검증이 성공적인 경우에만 사용자에게 액세스를 승인할 수 있다. 예컨대, 일부 실시예들에서, 사용자는 애플리케이션에 트랜잭션을 제출할 수 있고 (예컨대, 사용자는 인터넷 뱅킹 애플리케이션에 송금 트랜잭션을 제출할 수 있고), 그 결과, 애플리케이션은, 트랜잭션 데이터를 통해 전자 서명을 포함하는 동적 크리덴셜을 공급하도록 사용자에게 요구할 수 있다.
[0061] 일부 실시예들에서, 동적 크리덴셜은 사용자의 인증 디바이스에 의해 생성될 수 있다. 일부 실시예들에서, 애플리케이션과 인증 디바이스 사이의 데이터 교환은, 인증 디바이스의 블루투스 인터페이스를 통해 행해질 수 있다. 일부 실시예들에서, (애플리케이션의 일부일 수 있거나 애플리케이션에 의해 이용될 수 있는) 인증 시스템은, 예컨대, 인증 디바이스의 블루투스 인터페이스를 이용하여 인증 디바이스와 인터페이싱하기 위해, 호스트 컴퓨터 상에 클라이언트 인증 애플리케이션을 포함할 수 있다.
[0062] 일부 실시예들에서, 애플리케이션은 컴퓨터-기반일 수 있다. 일부 실시예들에서, 애플리케이션은, 사용자가 상호작용할 수 있는 컴퓨터 상에서 실행되는 애플리케이션 소프트웨어 컴포넌트들을 포함하는 클라이언트 애플리케이션을 포함할 수 있다. 클라이언트 애플리케이션은, 클라이언트 애플리케이션이 실행되고 있는 컴퓨터의 사용자 입력 인터페이스(예컨대, 마우스 및/또는 키보드 및/또는 터치 스크린) 및/또는 사용자 출력 인터페이스(예컨대, 스피커들 및/또는 디스플레이)를 통해 사용자와 상호작용하도록 적응될 수 있다. 일부 실시예들에서, 애플리케이션은 하나 또는 그 초과의 서버 기반 컴포넌트들을 포함할 수 있다. 일부 실시예들에서, 애플리케이션은, 클라이언트 애플리케이션을 실행하는 컴퓨터에 연결되고 그와 상호작용할 수 있는 서버 컴퓨터들 상에서 실행되는 소프트웨어를 포함하는 서버 부분들을 포함할 수 있다. 서버 컴퓨터들, 및 클라이언트 애플리케이션을 실행하는 컴퓨터는, 예컨대, 인터넷과 같은 컴퓨터 네트워크에 의해 서로 연결될 수 있다. 본 설명에서 호스트 컴퓨터에 의해 수행되는 것으로 설명되는 액션들은, 적어도 일부 실시예들에서, 그 호스트 컴퓨터 상에서 실행되는 클라이언트 애플리케이션의 임펄스 및 제어 하에서 호스트 컴퓨터에 의해 수행될 수 있다.
[0063] 일부 실시예들에서, 인증 디바이스는 애플리케이션의 서버 기반 컴포넌트와 메시지들을 교환할 수 있다. 일부 실시예들에서, 애플리케이션의 서버-기반 컴포넌트와 인증 디바이스 사이에서 교환되는 메시지들은 보안 메시징 기술들로 보호될 수 있다. 일부 실시예들에서, 애플리케이션의 서버-기반 컴포넌트와 인증 디바이스 사이에서 교환되는 적어도 일부의 메시지들의 데이터 중 적어도 일부의 무결성이 보안 메시징 기술들을 이용하여 보호될 수 있다. 일부 실시예들에서, 애플리케이션의 서버-기반 컴포넌트와 인증 디바이스 사이에서 교환되는 적어도 일부의 메시지들의 데이터 중 적어도 일부의 신뢰성이 보안 메시징 기술들을 이용하여 보호될 수 있다. 일부 실시예들에서, 애플리케이션의 서버-기반 컴포넌트와 인증 디바이스 사이에서 교환되는 적어도 일부의 메시지들을 전송하는 엔티티의 진정성이 보안 메시징 기술들을 이용하여 보호될 수 있다.
[0064] 일부 실시예들에서, 애플리케이션의 서버-기반 컴포넌트와 인증 디바이스 사이에서 교환되는 적어도 일부의 메시지들의 데이터 중 적어도 일부는, 예컨대, 메시지들의 데이터의 신뢰성, 무결성 또는 진정성을 보호 또는 보장하기 위해 암호화될 수 있다. 일부 실시예들에서, 이러한 암호화는, 예컨대, 인증 디바이스와 서버-기반 애플리케이션 컴포넌트 사이에서 공유될 수 있는 대칭 시크릿 키로 파라미터화될 수 있는 AES(Advanced Encryption Standard)와 같은 대칭 암호화 알고리즘을 이용하여 행해질 수 있다.
[0065] 일부 실시예들에서, 애플리케이션의 서버-기반 컴포넌트와 인증 디바이스 사이에서 교환되는 적어도 일부의 메시지들은, 예컨대, 메시지들의 데이터의 무결성 또는 진정성을 보호 또는 보장하기 위해, 이러한 메시지에 포함되는 데이터의 적어도 일부 상에 MAC(Message Authentication Code)를 포함할 수 있다. 일부 실시예들에서, 이러한 MAC들은, 대칭 암호화 알고리즘, 예컨대, 대칭 암호화 또는 복호화 알고리즘, 예컨대, AES(Advanced Encryption Standard), 또는 일부 키 해싱 알고리즘, 예컨대 HMAC를 이용하여 생성 및 또는 검증될 수 있고, 이들은, 인증 디바이스와 서버-기반 애플리케이션 컴포넌트 사이에서 공유될 수 있는 대칭 시크릿 키로 파라미터화될 수 있다.
[0066] 일부 실시예에서, 복수의 인증 디바이스들의 각각의 개별 인증 디바이스는, 인증 디바이스가 상기 설명된 보안 메시징 기술들의 암호 알고리즘들을 파라미터화하기 위하여 사용할 수 있는 하나 또는 그 초과의 보안 메시징 키들의 값들을 인증 디바이스가 결정하기 위하여 사용할 수 있는 하나 또는 그 초과의 보안 메시징 시크릿(secret)들의 상이한 세트를 저장할 수 있다. 일부 실시예들에서, 서버는, 서버가 주어진 인증 디바이스에 대해 그 인증 디바이스에 사용될 보안 메시징 시크릿들을 결정하게 할 수 있는 하나 또는 그 초과의 시크릿들을 저장할 수 있다. 일부 실시예들에서, 서버는, 서버가 그 인증 디바이스에 대한 보안 메시징 키들의 값들을 유도하기 위하여 각각의 개별 인증 디바이스(예컨대, 인증 디바이스의 일련 번호)에 대한 고유 값을 가지는 예컨대 데이터 엘리먼트와 함께 사용할 수 있는 하나 또는 그 초과의 보안 메시징 마스터 키들을 저장할 수 있다. 일부 실시예들에서, 서버는, 각각의 인증 디바이스에 대해, 인증 디바이스의 디바이스 식별 데이터 엘리먼트(예컨대, 일련 번호)와 연관된 그 인증 디바이스에 저장된 보안 메시징 시크릿들을 데이터베이스에 저장할 수 있다.
[0067] 일부 실시예들에서, 블루투스 인터페이스는, 인증 디바이스가 액티브일 때 항상 액티브이다. 일부 실시예들에서, 사용자는 인증 디바이스를 턴 온할 수 있고(예컨대, 버튼을 누름으로써) 인증 디바이스가 턴 온될 때, 또한 그의 블루투스 인터페이스를 가능하게 할 수 있다. 일부 실시예들에서, 사용자는 예컨대 버튼을 누름으로써 블루투스 인터페이스를 인에이블하도록 인증 디바이스에게 명시적으로 명령하여야 할 수 있다.
[0068] 일부 실시예들에서, 인증 디바이스의 블루투스 인터페이스는, 인증 디바이스의 블루투스 인터페이스가 활성화될 때 그의 존재를 광고/선언할 수 있다(예컨대, 메시지를 송신함으로써). 일부 실시예들에서, 인증 디바이스는 단지 제한된 시간 기간 동안만(예컨대, 5분 미만의 기간 동안) 블루투스 인터페이스 인터페이스를 통해 그의 존재를 광고하도록 구성될 수 있다. 일부 실시예들에서, 인증 디바이스는 블루투스 제한 발견가능 모드(Bluetooth Limited Discoverable mode)를 지원한다. 일부 실시예들에서, 인증 디바이스는 블루투스 일반 발견 모드를 지원한다. 일부 실시예들에서, 인증 디바이스는 제한된 시간 기간 동안 일부 발견 모드에 있을 수 있고 그후 예컨대 그 자체를 턴 오프할 수 있다.
[0069] 일부 실시예들에서, 호스트 컴퓨터(예컨대 클라이언트 인증 애플리케이션)의 컴포넌트는 액티브 블루투스를 가진 인증 디바이스가 존재한다는 것을 주목하고, 인증 디바이스와 블루투스 연결을 개시할 수 있다.
[0070] 일부 실시예들에서, 인증 디바이스는 호스트 컴퓨터와의 블루투스 페어링(pairing) 메커니즘을 지원하도록 적응된다. 일부 실시예들에서, 인증 디바이스는 블루투스 저(low) 에너지 페어링 메커니즘을 지원하도록 적응된다. 일부 실시예들에서, 인증 디바이스는 패스키(Passkey) 입력 페어링 방법으로 블루투스 저 에너지 클라이언트들과 페어링을 지원하도록 적응된다. 일부 실시예들에서, 인증 디바이스는 블루투스 페어링 요청을 수신하도록 적응될 수 있고 페어링 요청을 수신할 때 인증 디바이스는 페어링 코드를 생성하고 생성된 페어링 코드를 사용자에게 디스플레이할 수 있고 사용자는 디스플레이된 페어링 코드를 호스트 컴퓨터(예컨대, 클라이언트 인증 애플리케이션)에 제공할 수 있다. 일부 실시예들에서, 인증 디바이스는, 페어링 코드의 숫자들 또는 문자들의 번호가 인증 디바이스에 의해 생성된 동적 크리덴셜의 숫자들 또는 문자들의 번호와 상이할 수 있도록 구성될 수 있다.
[0071] 일단 블루투스가 호스트 컴퓨터와 인증 디바이스 사이에서 수립(establish)되면, 호스트 컴퓨터(예컨대, 클라이언트 인증 애플리케이션) 상의 컴포넌트는 동적 크리덴셜을 위한 요청을 인증 디바이스에 전송하기 위하여 블루투스 연결을 사용할 수 있다. 일부 실시예들에서, 인증 디바이스는 동적 크리덴셜을 생성하기 위한 그런 요청을 인증 디바이스의 블루투스 인터페이스에 의해 수신하도록 적응될 수 있다. 일부 실시예들에서, 동적 크리덴셜을 생성하기 위한 요청을 수신할 때 인증 디바이스는 (예컨대, 버튼을 누름으로써) 요청된 동적 크리덴셜의 생성을 추진하기 위해 사용자에게 확인할 것을 요청할 수 있다.
[0072] 일부 실시예들에서, 인증 디바이스는 동적 크리덴셜의 생성을 위하여 어떠한 다른 외부 데이터도 필요하지 않을 수 있고 이제 동적 크리덴셜의 생성을 계속할 수 있다. 예컨대 인증 디바이스는 인증 디바이스의 시계(clock)에 의해 생성된 시간 값에 기초하거나 또는 인증 디바이스가 그의 메모리에 저장할 수 있는 그리고 인증 디바이스가 동적 크리덴셜을 생성하는 각각의 시간을 증가시키는 카운터 값에 기초할 수 있는 시크릿 및 동적 변수를 사용하여 동적 크리덴셜을 생성할 수 있다.
[0073] 일부 실시예들에서, 인증 디바이스는 애플리케이션에 의해 생성된 챌린지에 기초하는 동적 변수를 사용하여 동적 크리덴셜을 생성할 수 있다. 일부 실시예들에서, 챌린지는 애플리케이션의 서버 부분에 의해 생성될 수 있고 클라이언트 애플리케이션에 통신될 수 있고 클라이언트 애플리케이션은 챌린지를 블루투스 연결을 통해 인증 디바이스에 포워딩할 수 있다. 일부 실시예들에서, 클라이언트 애플리케이션은 챌린지를 생성할 수 있고, 챌린지를 블루투스 연결을 통해 인증 디바이스에 전송할 수 있고 챌린지를 애플리케이션의 서버 부분에 통신할 수 있다(예컨대 챌린지에 대한 인증 디바이스의 응답과 함께). 일부 실시예들에서, 인증 디바이스는 이 챌린지를 블루투스 연결을 통해 수신할 수 있다. 일부 실시예들에서, 인증 디바이스는 동적 크리덴셜을 생성하기 위한 요청의 부분으로서 챌린지를 수신할 수 있다. 다른 실시예들에서, 인증 디바이스는 다른 메시지의 부분으로서 챌린지를 수신할 수 있다.
[0074] 일부 실시예들에서, 인증 디바이스는 트랜잭션 데이터에 기초한 동적 변수를 사용하여 동적 크리덴셜을 생성할 수 있다. 일부 실시예들에서, 인증 디바이스는 블루투스 연결을 통해 이들 트랜잭션 데이터를 수신할 수 있다. 일부 실시예들에서, 인증 디바이스는 동적 크리덴셜을 생성하기 위한 요청의 부분으로서 이들 트랜잭션 데이터를 수신할 수 있다. 다른 실시예들에서, 인증 디바이스는 다른 메시지의 부분으로서(또는 다수의 다른 메시지들의 부분으로서) 이들 트랜잭션 데이터를 수신할 수 있다. 일부 실시예들에서, 인증 디바이스는 수신된 트랜잭션 데이터를 사용자에게 제시하고, 동적 크리덴셜을 생성하기 전에, 인증 디바이스 상에서 이들 데이터를 승인하도록 사용자에게 요청할 수 있다. 일부 실시예들에서, 트랜잭션 데이터는 부분들로(예컨대, 데이터 필드들로) 분할될 수 있고, 각각의 부분은 사용자에 제시되고, 사용자에 의해 별도로 승인될 수 있다. 일부 실시예들에서, 인증 디바이스는 트랜잭션 데이터의 사용자의 승인을 캡처하도록 적응된 사용자 입력 인터페이스를 가질 수 있다. 일부 실시예들에서, 인증 디바이스는 사용자가 트랜잭션 데이터를 승인하기 위해 누를 수 있는 버튼을 가질 수 있다. 일부 실시예들에서, 사용자가 트랜잭션 데이터의 모든 부분들을 승인하였다면, 인증 디바이스는 이들 승인된 트랜잭션 데이터에 기초하여 시크릿과 동적 변수를 암호로 결합함으로써 동적 크리덴셜을 생성할 수 있다. 일부 실시예들에서, 동적 변수는 또한, 예컨대, 인증 디바이스에 포함된 시계에 의해 제공될 수 있는 시간 값에 기초할 수 있다. 일부 실시예들에서, 전부는 아니지만 트랜잭션 데이터는 사용자에게 제시되고, 인증 디바이스 상에서 사용자에 의해 승인될 수 있고, 동적 변수는 사용자에게 제시되고 인증 디바이스 상에서 사용자에 의해 승인된 트랜잭션 데이터뿐만 아니라 사용자에게 제시되지 않고 인증 디바이스 상에서 사용자에 의해 승인되지 않은 데이터에 기초할 수 있다.
[0075] 일부 실시예들에서, 인증 디바이스는 또한 호스트 컴퓨터와의 블루투스 연결을 통해 호스트 컴퓨터의 메시지를 수신한 것과 다른 이벤트에 대한 응답으로 동적 크리덴셜을 생성할 수 있다. 예컨대, 일부 실시예들에서, 인증 디바이스는, 예컨대, 사용자가 인증 디바이스의 사용자 입력 인터페이스의 버튼을 누르는 것과 같이 인증 디바이스에 의해 캡처된 사용자 액션에 대한 응답으로 동적 크리덴셜을 생성할 수 있다. 일부 실시예들에서, 인증 디바이스는 생성된 동적 크리덴셜을 사용자에게 제시하기 위해 자신의 사용자 출력 인터페이스를 사용할 수 있다. 일부 실시예들에서, 인증 디바이스는 호스트 컴퓨터와 인증 디바이스 사이의 블루투스 연결을 사용하여 생성된 동적 크리덴셜을 호스트 컴퓨터에 푸시할 수 있다.
[0076] 일부 실시예들에서, 인증 디바이스가 동적 크리덴셜을 생성하였을 때 ― 이것은 블루투스 메시지를 수신하는 것에 응답하거나 다른 이벤트에 응답할 수 있음 ― , 인증 디바이스는 생성된 동적 크리덴셜을 호스트 컴퓨터로 전송하기 위해 블루투스 연결을 사용할 수 있다. 일부 실시예들에서, 인증 디바이스는 생성된 동적 크리덴셜을 호스트 컴퓨터로 전송하기 전에 생성된 동적 크리덴셜을 사용자에게 디스플레이할 수 있다. 일부 실시예들에서, 인증 디바이스는 생성된 동적 크리덴셜을 호스트 컴퓨터로 전송하기 위해 확인하도록 사용자에게 요청할 수 있다. 일부 실시예들에서, 사용자는 인증 디바이스의 버튼을 누름으로써 생성된 동적 크리덴셜을 호스트 컴퓨터로 전송하기 위해 확인할 수 있다.
[0077] 일부 실시예들에서, 인증 디바이스의 사용자 입력 인터페이스는 인간 사용자에 의한 작동을 위한 하나의 단일 버튼을 갖는다. 일부 실시예들에서, 사용자는, 예컨대, 인증 디바이스를 턴 온하기 위해 및/또는 블루투스 인터페이스를 활성화하기 위해 및/또는 트랜잭션 데이터를 승인하기 위해 및/또는 동적 크리덴셜이 생성되고 및/또는 호스트 컴퓨터로 전송되어야 한다고 확인하기 위해 이러한 단일 버튼을 누를 수 있다. 일부 실시예들에서, 사용자가 동작을 취소하거나 사용자에게 제시된 데이터를 부인하거나 디바이스를 턴 오프하는 것을 가능하게 하기 위해, 인증 디바이스는 타임-아웃 기간을 설정할 수 있고, 타임-아웃 기간이 만료되기 전에 사용자가 단일 버튼을 누르지 않았다면, 인증 디바이스는 이것을 취소, 부인 또는 턴-오프로서 해석할 수 있다.
[0078] 일부 실시예들에서, 인증 디바이스의 사용자 입력 인터페이스는 인간의 작동을 위해 정확히 2 개의 버튼들을 가질 수 있다. 일부 실시예들에서, 사용자 입력 인터페이스의 제 1 버튼은 인증 디바이스를 턴 온하기 위해 및/또는 블루투스 인터페이스를 활성화하기 위해 및/또는 트랜잭션 데이터를 승인하기 위해 및/또는 동적 크리덴셜이 생성 및/또는 호스트 컴퓨터로 전송되어야 한다고 확인하기 위해 사용자에 의해 사용될 수 있고, 제 2 버튼은 인증 디바이스를 턴 오프하기 위해 및/또는 블루투스 인터페이스를 비활성화하기 위해 및/또는 트랜잭션 데이터를 거부하기 위해 및/또는 동적 크리덴셜이 생성 및/또는 호스트 컴퓨터로 전송되어야 한다는 것을 거부하기 위해 사용될 수 있다.
[0079] 일부 실시예들에서, 인증 디바이스는 또한 블루투스 연결을 통해 디바이스 식별 데이터 엘리먼트를 호스트 컴퓨터에 제공하도록 적응될 수 있다. 각각의 특정 인증 디바이스는, 이러한 디바이스 식별 데이터 엘리먼트의 값이, 예컨대, 동적 크리덴셜을 생성한 특정 인증 디바이스를 식별하는데 사용될 수 있도록 이러한 디바이스 식별 데이터 엘리먼트에 대한 상이한 고유 값을 가질 수 있다. 일부 실시예들에서, 인증 디바이스는 호스트 컴퓨터의 특정 요청에 대한 응답으로 자신의 디바이스 식별 데이터 엘리먼트를 리턴할 수 있다. 일부 실시예들에서, 인증 디바이스는 (동일하거나 다른 메시지에서) 생성된 동적 크리덴셜과 함께 자신의 디바이스 식별 데이터 엘리먼트를 리턴할 수 있다. 일부 실시예들에서, 디바이스 식별 데이터 엘리먼트는, 예컨대, 친숙한 블루투스 이름 또는 디바이스 이름 또는 블루투스 어드레스(의 부분)로서 연결 셋-업 동안에 호스트 컴퓨터에 제공될 수 있다. 일부 실시예들에서, 인증 디바이스는 블루투스 광고 메시지의 부분으로서 디바이스 식별 데이터 엘리먼트를 제공할 수 있다. 일부 실시예들에서, 이것은 다음과 같이 호스트 컴퓨터에 의해 사용될 수 있다. 호스트 컴퓨터가 자신들의 존재를 광고하는 다수의 인증 디바이스들의 존재를 검출하면, 호스트 컴퓨터는 자신이 블루투스 연결을 설정하기를 원하는 인증 디바이스를 선택하기 위해 광고 메시지들 내의 디바이스 식별 데이터 엘리먼트들을 사용할 수 있다. 예컨대, 호스트 컴퓨터는 이전에 그 호스트 컴퓨터에서 이미 사용된 인증 디바이스의 디바이스 식별 데이터 엘리먼트에 대응하는 디바이스 식별 데이터 엘리먼트를 갖는 인증 디바이스를 선택할 수 있다. 다수의 인증 디바이스들이 그 호스트 컴퓨터에서 이전에 사용된 경우에, 호스트 컴퓨터는, 예컨대, 가장 최근에 사용된 인증 디바이스 또는 대안적으로 과거에 가장 자주 사용된 인증 디바이스를 선택할 수 있다.
[0080] 일부 실시예들에서, 호스트 컴퓨터 상의 호스트 애플리케이션은 인증 디바이스를 사용하여 사용자로부터 사용자 이름과 같은 사용자 식별자를 획득할 수 있고, 그 사용자와 연관된 하나 또는 그 초과의 인증 디바이스들의 리스트를 결정하기 위해 그 사용자 식별자를 사용할 수 있다. 예컨대, 클라이언트 애플리케이션은 사용자 식별자를 애플리케이션의 서버 부분으로 전송할 수 있고, 대신에 서버 부분으로부터 하나 또는 그 초과의 인증 디바이스 식별자들의 리스트를 수신할 수 있다. 이어서, 클라이언트 애플리케이션은 자신들의 존재를 광고하는 다수의 인증 디바이스들 중 어느 것이 그 리스트 내에 있는지를 검증하고, 그 리스트 내에 있는 인증 디바이스를 선택할 수 있다.
[0081] 일부 실시예들에서, 호스트 컴퓨터 상의 컴포넌트(예를 들어, 클라이언트 인증 애플리케이션)가 인증 디바이스로부터 인증 디바이스의 디바이스 식별 데이터 엘리먼트를 수신할 때, 호스트 컴퓨터는 수신된 디바이스 식별 데이터 엘리먼트를 애플리케이션 서버에 포워딩할 수 있다. 일부 실시예들에서, 특정 사용자의 인증 디바이스의 디바이스 식별 데이터 엘리먼트 값은 서버측에서 그 특정 사용자와 연관될 수 있다. 예를 들어, 각각의 사용자의 사용자 id 및/또는 사용자 이름은 서버의 데이터베이스에서 그 사용자에 할당된 인증 디바이스의 디바이스 식별 데이터 엘리먼트 값과 연관될 수 있다. 일부 실시예들에서, 특정 인증 디바이스의 디바이스 식별 데이터 엘리먼트 값의 수신 시에, 서버는 연관된 사용자 id 및/또는 사용자 이름을 룩-업할 수 있다. 일부 실시예들에서, 이는 사용자가 예를 들어, 로그인할 때 식별된 사용자 이름을 능동적으로 제공해야 할 필요성을 방지할 수 있다.
[0082] 일부 실시예들에서, 인증 디바이스는 (예를 들어, 호스트 컴퓨터들의 블루투스 어드레스들의 리스트의 형태의) 호스트 컴퓨터들의 화이트 리스트를 지원할 수 있다. 일부 실시예들에서, 이러한 화이트 리스트는 인증 디바이스와의 블루투스 연결을 셋-업하도록 허용되는 호스트 컴퓨터들을 포함할 수 있다. 호스트 컴퓨터가 인증 디바이스와의 블루투스 연결을 설정하도록 시도하는 경우, 인증 디바이스는 그 호스트 컴퓨터가 그 화이트 리스트에 포함되는지 여부를 검증할 수 있고, 호스트 컴퓨터가 사실상 그 화이트 리스트에 포함되는 경우, 인증 디바이스는 연결 시도를 수락할 수 있다. 일부 실시예들에서, 인증 디바이스는 인증 디바이스의 화이트 리스트에 있지 않은 호스트 컴퓨터의 연결 시도를 거부할 수 있다. 일부 실시예들에서, 인증 디바이스는 인증 디바이스의 화이트 리스트에 호스트 컴퓨터들을 부가하거나 이로부터 호스트 컴퓨터를 제거하기 위한 메커니즘을 지원할 수 있다. 일부 실시예들에서, 인증 디바이스는 인증 디바이스의 화이트 리스트에 호스트 컴퓨터들을 부가하거나 이로부터 호스트 컴퓨터들을 제거하도록 애플리케이션에 의해 발행될 수 있는 커맨드들을 지원할 수 있다. 일부 실시예들에서, 이러한 커맨드들은 예를 들어, 커맨드들의 진정성 및/또는 무결성을 보장하기 위해 이 설명의 어딘가에서 보다 상세히 설명되는 바와 같은 보안 메시징 메커니즘들에 의해 보안될 수 있다. 일부 실시예들에서, 호스트 컴퓨터가 인증 디바이스와의 블루투스 연결을 셋-업하도록 시도하고 호스트 컴퓨터가 인증 디바이스의 화이트 리스트에 있지 않을 때, 인증 디바이스는 연결을 수락할지 또는 안할지 여부 및/또는 호스트 컴퓨터를 화이트 리스트에 포함할지 여부를 확인하도록 사용자에게 요청할 수 있다.
[0083] 일부 실시예들에서, 인증 디바이스는 수락 가능한 호스트 컴퓨터들의 초기 빌트-인 화이트 리스트를 갖도록 제조될 수 있다. 일부 실시예들에서, 이러한 빌트-인 초기 화이트 리스트는 추후의 스테이지에서, 개인화 및 구성 데이터를 인증 디바이스에 로딩하는데 이용될 수 있는 호스트 컴퓨터들을 포함할 수 있다. 일부 실시예들에서, 초기 화이트 리스트는 제거되고, 다른 화이트 리스트에 의해 대체되고 및/또는 개인화 및/또는 구성 스테이지와 같은 추후의 스테이지 동안 업데이트될 수 있다.
[0084] 일부 실시예들에서, 사용자는 또한 인증 디바이스에 의해 생성된 동적 크리덴셜 외에 애플리케이션에 추가 정적 패스워드를 제공하도록 요청받을 수 있다. 이는 2-팩터 인증: 당신이 알고 있는 어떤 것(정적 패스워드) 및 당신이 갖고 있는 어떤 것(사용자와 연관되는 특정 인증 디바이스(그의 소유는 올바른 동적 크리덴셜을 애플리케이션에 제공하는 사용자의 능력에 의해 증명됨))을 제공한다.
[0085] 일부 실시예들에서, 인증 디바이스는 사용자에 의해 제공되는 PIN 및/또는 패스워드 값을 캡처하도록 적응되는 사용자 입력 인터페이스를 가질 수 있다. 일부 실시예들에서, 인증 디바이스는 호스트 컴퓨터로부터의 블루투스 연결을 통해 PIN(Personal Identification Number) 및/또는 패스워드 값을 수신하도록 적응될 수 있다. 일부 실시예들에서, 호스트 컴퓨터 상에서 실행되는 클라이언트 애플리케이션은 호스트 컴퓨터의 사용자 입력 인터페이스 상에 PIN 및/또는 패스워드 값을 입력하도록 사용자에게 요청할 수 있고, 호스트 컴퓨터와 인증 디바이스 간에 셋업된 블루투스 연결을 통해 PIN 및/또는 패스워드 값을 인증 디바이스에 포워딩할 수 있다. 일부 실시예들에서, 인증 디바이스는 그것이 블루투스 연결을 통해 수신한 또는 그것이 인증 디바이스의 사용자 입력 디바이스를 통해 사용자로부터 수신한 PIN 및/또는 패스워드 값을 검증하도록 적응될 수 있다. 일부 실시예들에서, 인증 디바이스는 PIN 및/또는 패스워드 기준 값을 저장하도록 적응될 수 있고 수신된 값을 저장된 기준 값에 비교함으로써 수신된 PIN 및/또는 패스워드 값을 검증할 수 있다. 일부 실시예들에서, 성공적인 PIN 및/또는 패스워드 검증은 인증 디바이스가 동적 크리덴셜을 생성하기 위한 조건일 수 있다. 즉, 일부 실시예들에서, 인증 디바이스는 PIN 및/또는 패스워드가 인증 디바이스에 의해 먼저 제공되고 인증 디바이스에 의해 성공적으로 검증된 경우에만 동적 크리덴셜을 생성할 수 있다.
[0086] 일부 실시예들에서, 인증 디바이스는 사용자의 일부 바이오메트릭의 측정을 캡처하기 위해 바이오메트릭 센서를 가질 수 있다. 예를 들어, 일부 실시예들에서, 인증 디바이스는 지문 센서를 가질 수 있다. 일부 실시예들에서, 인증 디바이스는 호스트 컴퓨터에 의해 획득되었을 수 있는 사용자의 일부 바이오메트릭의 측정을 호스트 컴퓨터와의 블루투스 연결을 통해 수신하도록 적응될 수 있다. 일부 실시예들에서, 인증 디바이스는 사용자에 대한 바이오메트릭 기준 데이터를 저장할 수 있다. 일부 실시예들에서, 인증 디바이스는 (인증 디바이스가 인증 디바이스의 바이오메트릭 센서를 이용하여 캡처했을 수 있거나 인증 디바이스가 호스트 컴퓨터로부터 수신했을 수 있는) 사용자의 바이오메트릭의 측정을 인증 디바이스에 저장된 바이오메트릭 기준 데이터에 비교하도록 적응될 수 있다. 일부 실시예들에서, 이러한 비교의 성공은 인증 디바이스가 동적 크리덴셜을 생성하기 위한 조건일 수 있다. 즉, 일부 실시예들에서, 인증 디바이스는 사용자의 바이오메트릭의 측정이 인증 디바이스에 먼저 제공되고 인증 디바이스에 의해 디바이스에 저장된 바이오메트릭 기준 데이터에 성공적으로 비교된 경우에만 동적 크리덴셜을 생성할 수 있다.
[0087] 일부 실시예들에서, 호스트 컴퓨터(예컨대, 클라이언트 인증 애플리케이션) 상의 컴포넌트들이 인증 디바이스에 의해 생성된 동적 크리덴셜을 인증 디바이스로부터 수신하는 경우, 호스트 컴퓨터는, 수신된 동적 크리덴셜을 애플리케이션 서버 또는 일부 동적 크리덴셜 검증 서버에 포워딩할 수 있다. 포워딩된 동적 크리덴셜을 수신할 시에, 검증 서버의 애플리케이션 서버는 수신된 동적 크리덴셜을 검증할 수 있다. 동적 크리덴셜의 성공적인 검증 시에, 애플리케이션 서버는, 사용자를 로그인시키는 것 또는 특정한 리소스 또는 특정한 정보로의 액세스를 사용자에게 제공하는 것 또는 사용자에 의해 제공된 트랜잭션을 수용하는 것과 같은 적합한 액션을 취할 수 있다.
[0088] 일부 실시예들에서, 블루투스 연결은 또한, 예컨대, 인증 디바이스가 연관되는 사용자와 연관된 데이터(예컨대, 사용자 이름) 또는 암호 키들과 같은 여분의 시크릿 데이터와 같은 개인화 데이터를 인증 디바이스에 제공하기 위해 사용될 수 있다.
[0089] 일부 실시예들에서, 인증 디바이스는, 인증 디바이스와 연관된 사용자의 하나 또는 그 초과의 사용자 이름들을 저장하도록 적응될 수 있다. 일부 실시예들에서, 인증 디바이스와 블루투스 연결에 의해 연결된 호스트 컴퓨터 상의 클라이언트 애플리케이션은, 블루투스 연결을 사용하여 인증 디바이스에 저장된 사용자 이름들 중 하나를 판독할 수 있다. 일부 실시예들에서, 클라이언트 애플리케이션은 또한, 블루투스 연결을 사용하여 인증 디바이스로 사용자 이름을 기입할 수 있다.
[0090] 일부 실시예들에서, 사용자 이름을 저장하기 위한 인증 디바이스의 능력은 다음과 같이 애플리케이션에 의해 사용될 수 있다. 사용자가 애플리케이션으로 로그인하기를 시도하는 경우, 애플리케이션은 사용자 이름 및 사용자 크리덴셜들을 요구할 수 있다. 사용자가 애플리케이션에 액세스하기 위해 사용하고 있는 호스트 컴퓨터 상의 클라이언트 애플리케이션은, 사용자의 인증 디바이스와 블루투스 연결을 셋업할 수 있다. 이것은, 클라이언트 애플리케이션이 인증 디바이스를 턴 온시키도록 사용자에게 명령 또는 요청하는 것을 수반할 수 있다. 대안적으로, 사용자는, 인증 디바이스가 자신의 존재를 호스트 컴퓨터에게 알리기 위해 자신의 블루투스 인터페이스를 사용할 수 있는 인증 디바이스를 턴 온시킬 수 있으며, 블루투스 연결은 호스트 컴퓨터와 인증 디바이스 사이에서 셋업될 수 있고, 클라이언트 애플리케이션은, 인증 디바이스를 인증 디바이스로서 인식할 수 있고, 사용자가 로그인을 수행할 것이라고 자동적으로 가정할 수 있다. 그 후, 클라이언트 애플리케이션은, 인증 디바이스가 저장된 사용자 이름을 갖는지를 검증하고, 실제로 인증 디바이스가 사용자 이름을 저장하면 그 사용자 이름을 획득하기 위해 블루투스 연결을 사용할 수 있다. 클라이언트 애플리케이션이 인증 디바이스로부터 사용자 이름을 획득할 수 없었다면, 그것은, 호스트 컴퓨터의 사용자 입력 인터페이스를 통해 적절한 사용자 이름을 수동으로 제공하도록 사용자에게 요청 또는 명령할 수 있다. 클라이언트 애플리케이션은, 인증 디바이스로부터 1회용 패스워드 또는 챌린지에 대한 응답과 같은 사용자 크리덴셜을 또한 획득하기 위해 블루투스 연결을 사용할 수 있다. 클라이언트 애플리케이션은, 검증을 위해 사용자 이름 및 사용자 크리덴셜을 애플리케이션에 포워딩할 수 있다. 검증이 성공적이었다면, 클라이언트 애플리케이션은, 성공적으로 사용되었던 사용자 이름을 블루투스 연결을 사용하여 인증 디바이스에 저장할 수 있다.
[0091] 일부 실시예들에서, 인증 디바이스는, 커맨드들을 생성하고, 블루투스 연결을 통해 이들 커맨드들을 연결된 호스트 컴퓨터에 통신하도록 적응될 수 있으며, 그 때에, 이들 커맨드들은 호스트 컴퓨터 상의 클라이언트 애플리케이션에 의해 실행될 수 있다. 예컨대, 일부 실시예들에서, 인증 디바이스는, 사용자에게 제시될 메시지를 포함하는 커맨드를 호스트 컴퓨터에 전송하기 위해 블루투스 연결을 사용할 수 있으며, 클라이언트 애플리케이션은, 그러한 커맨드를 수신하고, 호스트 컴퓨터의 사용자 출력 인터페이스 상에서 커맨드에 포함된 메시지를 사용자에게 제시할 수 있다. 일부 실시예들에서, 커맨드에 포함된 메시지는 문자들의 스트링(예컨대, ASCII 또는 유니코드 문자들의 스트링)의 형태일 수 있다. 일부 실시예들에서, 메시지는, 클라이언트 애플리케이션이 사용자에게 제시할 실제 메시지를 결정하기 위해 사용할 수 있는 메시지 포인터 또는 기준의 형태로 커맨드에 포함될 수 있다.
[0092] 일부 실시예들에서, 인증 디바이스는, PIN 또는 패스워드를 인증 디바이스에 리턴하도록 요청하는 커맨드를 호스트 컴퓨터에 전송하기 위해 블루투스 연결을 사용할 수 있다. 호스트 컴퓨터 상의 클라이언트 애플리케이션은, 이러한 메시지를 수신하고, 응답으로, PIN 및/또는 패스워드를 제공하도록 사용자를 촉구하기 위해 호스트 컴퓨터의 사용자 출력 인터페이스를 사용할 수 있으며, 클라이언트 애플리케이션은, 호스트 컴퓨터의 사용자 입력 인터페이스를 사용하여 사용자에 의해 제공된 PIN 및/또는 패스워드를 캡처할 수 있고, 캡처된 PIN 및/또는 패스워드를 전송하기 위해 블루투스 연결을 사용할 수 있다. 일부 실시예들에서, 인증 디바이스는, 사용자의 바이오메트릭 측정을 인증 디바이스에 리턴하도록 요청하는 커맨드를 호스트 컴퓨터에 전송하기 위해 블루투스 연결을 사용할 수 있다. 호스트 컴퓨터 상의 클라이언트 애플리케이션은 이러한 메시지를 수신할 수 있으며, 응답으로, 바이오메트릭을 제공하도록 사용자를 촉구하기 위해 호스트 컴퓨터의 사용자 출력 인터페이스를 사용할 수 있고, 클라이언트 애플리케이션은, 사용자에 의해 제시된 바이오메트릭을 측정하기 위해, 예컨대, 호스트 컴퓨터의 (지문 센서와 같은) 바이오메트릭 센서를 사용할 수 있고, 그 바이오메트릭 측정을 인증 디바이스에 전송하기 위해 블루투스 연결을 사용할 수 있다.
[0093] 일부 실시예들에서, 애플리케이션은 또한, 사용자를 인증하기 위해 블루투스 가능 인증 디바이스의 존재만을 고려할 수 있다. 예컨대, 일부 실시예들에서, 사용자는, 인증 디바이스의 호스트 컴퓨터에 의해 블루투스 검출에만 기초하여 인증될 수 있다. 일부 실시예들에서, 애플리케이션은, 사용자의 인증 디바이스의 존재가 검출되자마자 일부 액션들을 수행하기 위해 사용자를 인증할 수 있으며, 일단 인증 디바이스에 의해 생성된 동적 크리덴셜이 수신되고 성공적으로 검증되면, 다른 (부가적인) 액션들을 수행하기 위해 사용자를 허가할 수 있다.
[0094] 일부 실시예들에서, 애플리케이션은, 인증 디바이스의 계속된 존재를 모니터링할 수 있다. 일부 실시예들에서, 애플리케이션은, 인증들을 그 사용자에게 허가 또는 철회하는 경우, 사용자의 인증 디바이스의 존재 또는 부재를 고려할 수 있다. 예컨대, 일부 실시예들에서, 사용자가 성공적으로 인증된 이후, (예컨대, 특정한 액션들을 수행하거나 특정한 리소스들에 대한 액세스를 갖기 위해) 그 성공적인 인증에 대한 응답으로 사용자가 수신할 수 있는 허가는, 인증 디바이스가 호스트 컴퓨터에서 더 이상 존재하지 않는다는 것을 애플리케이션이 검출하는 경우, 취소될 수 있다. 일부 실시예들에서, 애플리케이션은, 블루투스 연결이 유지되는 한 존재하는 것으로 디바이스를 고려할 수 있다. 일부 실시예들에서, 애플리케이션은, 인증 디바이스가 호스트 컴퓨터의 특정한 거리 내에서 유지되는 한, 존재하는 것으로 인증 디바이스를 고려할 수 있다(그에 의해, 인증 디바이스의 블루투스 신호의 강도가 더 상세히 아래에서 설명되는 바와 같이 거리에 대한 프록시로서 사용될 수 있음). 일부 실시예들에서, 애플리케이션은, 블루투스 연결이 해제되는 경우 부재하는 것으로 디바이스를 고려할 수 있다. 일부 실시예들에서, 애플리케이션은, 인증 디바이스가 호스트 컴퓨터의 특정한 최소 거리 내에 더 이상 존재하지 않는 경우, 부재하는 것으로 인증 디바이스를 고려할 수 있다(그에 의해, 인증 디바이스의 블루투스 신호의 강도가 더 상세히 아래에서 설명되는 바와 같이 거리에 대한 프록시로서 사용될 수 있음).
[0095] 일부 실시예들에서, 애플리케이션은 호스트 컴퓨터로부터 인증 디바이스의 거리를 고려할 수 있다. 예를 들어, 일부 실시예들에서, 애플리케이션은, 호스트 컴퓨터로부터 사용자의 인증 디바이스의 거리가 특정 임계치 보다 작은 경우, 단지 사용자를 수락하거나 또는 사용자에 의한 요청들을 수락할 수 있다. 일부 실시예들에서, 애플리케이션이, 인증 디바이스와 호스트 컴퓨터 간의 거리가 특정 임계치를 초과했다는 것을 감지할 경우, 애플리케이션은, 사용자가 인증 디바이스를 이용하여 셋업하는 세션을 폐쇄할 수 있다. 일부 실시예들에서, 애플리케이션은, 인증 디바이스와 호스트 컴퓨터 사이의 거리에 대한 프록시로서 인증 디바이스 의해 방사되는 블루투스 신호의 세기를 이용할 수 있다. 일부 실시예들에서, 인증 디바이스는, 예를 들어, 연결 시도를 수락할 것을 결정한 경우 또는 인입하는 애플리케이션 메시지 또는 커맨드를 수락하거나 또는 거절할 것을 결정한 경우 호스트 컴퓨터로부터 수신되는 신호의 세기를 고려할 수 있다. 일부 실시예들에서, 블루투스 연결의 RSSI(수신 신호 강도 표시자)가 신호 세기에 대한 척도로서 사용될 수 있다.
[0096] 일부 실시예들에서, 애플리케이션은, 호스트 컴퓨터의 근방에 있는 인증 디바이스와의 블루투스 연결을 자동으로 셋업할 수 있다. 일부 실시예들에서, 애플리케이션은, 인증 디바이스의 블루투스 신호 세기가 특정 최소 레벨보다 더 양호할 경우 인증 디바이스와의 블루투스 연결을 셋업할 수 있다. 일부 실시예들에서, 블루투스 또는 블루투스 저전력 페어링이, 셋업되는 블루투스 연결을 위해 자동으로 이용된다. 일부 실시예들에서, 서로 다른 개별 인증의 디바이스들은 상이한 페어링 키들을 가질 수 있다. 일부 실시예들에서, 애플리케이션은, 인증 디바이스의 (예를 들어, 블루투스 어드레스와 같은) 디바이스 식별 데이터 엘리먼트를 이용하여 특정 인증 디바이스용으로 사용될 페어링 키를 리트리브할 수 있다. 일부 실시예들에서, 애플리케이션은 인증 디바이스의 디바이스 식별 데이터 엘리먼트로부터 인증 디바이스의 페어링 키 및 복수의 인증 디바이스들에 대해 동일한 일부 마스터 키를 유도할 수 있다. 일부 실시예들에서, 사용자는 (예를 들어, 인증 디바이스의 제 1 사용 시) 페어링 키를 애플리케이션으로 제공할 수 있고 애플리케이션은 사용자에 의해 제공된 페어링 키와 인증 디바이스의 디바이스 식별 데이터 엘리먼트 사이의 관계를 (예를 들어, 데이터베이스에) 저장할 수 있다. 일부 실시예들에서, 블루투스 연결이 셋업된 이후, 애플리케이션은 (예를 들어, 블루투스 연결을 통해 인증 디바이스에 의해 제공되는 사용자 식별자 또는 디바이스 식별 데이터 엘리먼트를 이용하여) 인증 디바이스의 사용자를 자동으로 식별할 수 있다. 일부 실시예들에서, 애플리케이션은 사용자를 인증할 수 있다. 일부 실시예들에서, (예를 들어, 페어링이 각각의 상이한 인증 디바이스를 위한 고유 페어링 키와 함께 사용되는 경우) 일단 블루투스 연결이 페어링을 이용하여 성공적으로 셋업되었다면 사용자는 묵시적으로, 성공적으로 인증될 것으로 간주할 수 있다. 일부 실시예들에서, 애플리케이션은 인증 디바이스에, 애플리케이션에 의해 이후에 검증될 수 있는 동적 크리덴셜을 생성하고 (블루투스 연결을 통해) 리턴할 것을 요청할 수 있다. 일부 실시예들에서, 사용자는 인증 프로세스 동안 일부 동작을 수행할 것을 요청받을 수 있다. 예를 들어, 일부 실시예들에서, 사용자는 (예를 들어, 인증 디바이스 상의 특정 버튼을 누름으로써) 인증 디바이스에 그의 또는 그녀의 승인을 나타내야 한다. 일부 실시예들에서, 사용자는, 애플리케이션에 의해 이후에 검증될 수 있는 정적 PIN 또는 패스워드를 제공할 것을 인증 프로세스 동안 요청받을 수 있다. 일부 실시예들에서, 애플리케이션은 성공적인 사용자 인증 시 일부 권한들을 사용자에게 허가(이를 테면, 일부 리소스들에 대한 액세스를 허가 또는 특정 동작들 또는 거래들을 수행하라는 요청들과 같은 사용자 애플리케이션 요청들을 수용)할 수 있다. 그런 다음, 애플리케이션은 인증 디바이스가 존재하는 상태로 남아 있는지 여부를 모니터링할 수 있다. 일부 실시예들에서, 인증 디바이스가 더 이상 존재하지 않는다는 것을 애플리케이션이 통지할 경우 애플리케이션이 허가된 인증들 중 하나 또는 그 초과의 것을 철회할 수 있다. 일부 실시예들에서, 인증 디바이스가 (동일한 또는 다른 호스트 컴퓨터에) 다시 존재한다는 것을 애플리케이션이 검출한 후라면, 애플리케이션은 철회된 인증들 중 하나 또는 그 초과의 것을 다시 허가할 수 있다. 일부 실시예들에서, 인증 디바이스가 다시 존재한다는 것을 애플리케이션이 검출하는 경우, 애플리케이션은 사용자를 재인증할 수 있다. 일부 실시예들에서, 사용자를 재인증하는 것은, 이전 인증을 위해 사용되는 인증 방법보다 더 단순할 수 있는 인증 방법을 이용하여 완료될 수 있다. 예를 들어, 일부 실시예들에서, 더 단순한 인증 방법은, 정적 PIN 또는 패스워드의 공급의 승인을 나타내는 것과 같은 명시적인 사용자 동작들을 요구할 수 없는 반면, 원래의 또는 표준 인증 방법은 이러한 명시적인 사용자 동작들을 요구할 수 있다. 일부 실시예들에서, 재인증의 순간과 이전 인증과 같은 일부 기준 이벤트 사이에 경과되었던 시간 또는 인증 디바이스가 더 이상 존재하지 않는다는 것을 애플리케이션이 통지하는 시기에 기초하여 사용자 대해 어떤 타입의 재인증을 할지(및/또는 재인증이 적어도 발생해야 할지)를 애플리케이션이 결정할 수 있다.
[0097] 예를 들어, 일부 실시예들에서, 사용자에게, 애플리케이션이 호스트 컴퓨터에서 사용자의 인증 디바이스의 존재를 검출하는 즉시 일부 호스트 컴퓨터에서 특정 인증들이 허가될 수 있고, 애플리케이션이 사용자의 인증 디바이스가 더 이상 존재하지 않는다는 것을 검출할 경우 이러한 인증들이 철회될 수 있다. 이 메커니즘은, 병원 내 컴퓨터들에 있는 환자의 의료 파일들에 대한 의료진의 접근을 보안적으로 하기 위해 또는 도어들에서 사용자들의 인증 디바이스들의 존재에 의존하여 도어들의 잠금해제 및 재잠금에 의해 물리적인 위치들에 대한 물리적인 접근을 보안적으로 하기 위해 사용될 수 있다.
[0098] 본 발명의 앞의 특징들 및 이점들 그리고 다른 특징들 및 이점들은, 첨부된 도면들에 도시된 바와 같이, 본 발명의 다음의 실시예들의 보다 구체적인 설명으로부터 명백하게 될 것이다.
[0099] 도 1은 본 발명의 일 양상에 따른 예시적인 장치를 개략적으로 도시한다.
[00100] 도 2는 본 발명의 일 양상에 따른 시스템의 일 예를 개략적으로 도시한다.
[00101] 도 3a 및 도 3b는 본 발명의 일 양상에 따른 방법의 일 예를 개략적으로 도시한다.
[00102] 본 발명의 일부 구현들이 하기에서 논의된다. 특정 구현들이 논의되지만, 이것이 예시 목적들을 위해서만 수행됨이 이해되어야 한다. 당업자는, 본 발명의 사상 및 범위로부터 벗어나지 않고, 다른 컴포넌트들 및 구성들이 사용될 수 있음을 인식할 것이다.
[00103] 도 1은 본 발명의 양상에 따른 본 발명의 예시적 장치를 개략적으로 예시한다.
[00104] 일부 실시예들에서, 장치는 동적 크리덴셜을 생성하기 위한 인증 디바이스(100)를 포함하며, 이 인증 디바이스(100)는, 암호 시크릿을 보안적으로 저장하도록 적응된 저장 컴포넌트(130); 인증 디바이스의 사용자로부터 입력들을 수신하기 위한 사용자 입력 인터페이스(120); 출력들을 사용자에게 제시하기 위한 사용자 출력 인터페이스(110); 암호 시크릿 키를 동적 변수와 암호적으로 결합시킴으로써, 동적 크리덴셜을 생성하도록 적응된 데이터 프로세싱 컴포넌트(140); 및 인증 디바이스를 호스트 컴퓨터에 연결시키기 위한 블루투스 인터페이스(150)를 포함할 수 있고; 인증 디바이스는, 생성된 동적 크리덴셜을 호스트 컴퓨터에 전송하도록 적응된다. 일부 실시예들에서, 인증 디바이스는 또한 시계(160)를 포함할 수 있다. 일부 실시예들에서, 인증 디바이스는 또한 바이오메트릭 센서(170)를 포함할 수 있다.
[00105] 일부 실시예들에서, 사용자 출력 인터페이스(110)는 액정 디스플레이(LCD:Liquid Crystal Display)와 같은 디스플레이를 포함할 수 있다. 일부 실시예들에서, 사용자 출력 인터페이스는 라우드 스피커를 포함할 수 있다. 일부 실시예들에서, 사용자 출력 인터페이스는 음성 합성 컴포넌트를 포함할 수 있다. 일부 실시예들에서, 사용자 출력 인터페이스(110)는, 사용자에 대해 승인되도록 하기 위해, 사용자 데이터, 이를테면, 예컨대, 트랜잭션 데이터를 제시하도록 적응될 수 있다. 일부 실시예들에서, 사용자 출력 인터페이스는 생성된 동적 크리덴셜을 사용자에게 제시하도록 적응될 수 있다. 일부 실시예들에서, 생성된 동적 크리덴셜은, 인증 디바이스에 의해 사용자에게 숫자(digit)들 또는 캐릭터들의 스트링으로서 제시될 수 있다. 일부 실시예들에서, 숫자들의 스트링은 숫자위(numerical digit)들의 스트링으로 구성될 수 있다. 일부 실시예들에서, 캐릭터들의 스트링은 알파벳 캐릭터들의 스트링으로 구성될 수 있다. 일부 실시예들에서, 사용자 출력 인터페이스는, 사용자에게 캐릭터들의 단일 라인을 디스플레이하는 것으로 제한되는 디스플레이로 구성될 수 있다. 일부 실시예들에서, 사용자 출력 인터페이스는, 사용자에게 캐릭터들의 두 개의 라인들을 디스플레이하는 것으로 제한되는 디스플레이로 구성될 수 있다. 사용자에게 단지 단일 또는 두 개의 라인들만을 디스플레이하는 것으로 제한되는 디스플레이를 갖는 인증 디바이스는 매우 콤팩트한 폼 팩터를 가질 수 있다.
[00106] 일부 실시예에서, 사용자 입력 인터페이스(120)는 키보드를 포함할 수 있다. 일부 실시예들에서, 사용자 입력 인터페이스는 단일 버튼으로 구성될 수 있다. 일부 실시예들에서, 사용자 입력 인터페이스는 정확하게 두 개의 버튼들로 구성될 수 있는데, 하나의 버튼이 예컨대 사용자 승인을 표시하기 위해 사용될 수 있는 반면에, 다른 버튼은 예컨대 데이터를 거부하거나 또는 동작을 취소하기 위해 사용자에 의해 사용될 수 있다. 일부 실시예들에서, 사용자는, 두 개의 버튼들을 동시에 누르거나 또는 하나의 버튼을 누른 직후에 바로 다른 버튼을 누름으로써(예컨대, 두 번의 누름들 사이에 2초 미만의 시간 간격으로), 디바이스를 턴 온시킬 수 있다. 일부 실시예들에서, 사용자 입력 인터페이스는 사용자의 승인을 캡처하도록 적응될 수 있다. 일부 실시예들에서, 사용자 입력 인터페이스는 사용자의 거부를 캡처하도록 적응될 수 있다. 일부 실시예들에서, 사용자 입력 인터페이스는 사용자에 의해 인증 디바이스에 제공되는 PIN 또는 패스워드의 값을 캡처하도록 적응될 수 있다.
[00107] 일부 실시예들에서, 저장 컴포넌트(130)는 예컨대 ROM, EEPROM, 플래시 또는 RAM 메모리를 포함할 수 있다. 일부 실시예들에서, 저장 컴포넌트는, 암호 시크릿들 및/또는 암호 키들을 보안적으로 저장하도록 적응될 수 있고, 인증 디바이스는 예컨대, 동적 크리덴셜을 생성할 때, 이 암호 시크릿들 및/또는 암호 키들을 사용할 수 있거나, 또는 보안 메시징에 의해 보호되는 애플리케이션 메시지들을 수신하거나 또는 생성할 때, 보안 메시징 기술들을 지원하기 위해, 이 암호 시크릿들 및/또는 암호 키들을 사용할 수 있다. 일부 실시예들에서, 저장 컴포넌트는 PIN 및/또는 패스워드 기준 데이터를 저장하도록 적응될 수 있다. 일부 실시예들에서, 저장 컴포넌트는 바이오메트릭 기준 데이터를 저장하도록 적응될 수 있다. 일부 실시예들에서, 저장 컴포넌트는 동적 변수를 저장하도록 적응될 수 있고, 이 동적 변수의 값은, 인증 디바이스에 의해, 예컨대, 동적 크리덴셜을 생성하기 위해 인증 디바이스가 저장된 동적 변수를 사용할 때마다, 업데이트될 수 있다.
[00108] 일부 실시예들에서, 데이터 프로세싱 컴포넌트(140)는 예컨대, 하나 또는 그 초과의 마이크로프로세서들, (예컨대, 입력 및 출력 인터페이스들을 다루기 위한) 제어기들, FPGA(Field Programmable Gate Array)들, 및/또는 ASIC(Application Specific Integrated Circuit)들을 포함할 수 있다. 일부 실시예들에서, 데이터 프로세싱 컴포넌트는 암호 알고리즘들을 수행하도록 적응될 수 있다. 일부 실시예들에서, 데이터 프로세싱 컴포넌트는 동적 크리덴셜들을 생성하도록 적응될 수 있다. 일부 실시예들에서, 데이터 프로세싱 컴포넌트는, 시크릿(이 시크릿은 예컨대 저장 컴포넌트(130)에 저장될 수 있음)을 동적 변수와 암호적으로 결합시킴으로써, 동적 크리덴셜을 생성하도록 적응될 수 있다. 일부 실시예들에서, 동적 변수는 내부 변수의 값, 예컨대, 인증 디바이스의 시계에 의해 제공되는 시간 값, 또는 예컨대, 저장 컴포넌트(130)에 저장될 수 있는 카운터-관련 값에 기초할 수 있다. 일부 실시예들에서, 동적 변수는 외부적으로 생성된 값, 이를테면, 예컨대, 챌린지 또는 트랜잭션 데이터에 기초할 수 있고, 이 외부적으로 생성된 값은 예컨대 블루투스 연결을 통해 인증 디바이스에 제공될 수 있다. 일부 실시예들에서, 데이터 프로세싱 컴포넌트는, 예컨대, PIN 및/또는 패스워드 값을 저장 컴포넌트(130)에 저장될 수 있는 PIN 및/또는 패스워드 기준 데이터와 비교함으로써, 이 PIN 및/또는 패스워드 값을 검증하도록 적응될 수 있다. 일부 실시예들에서, 데이터 프로세싱 컴포넌트는, 예컨대, 사용자의 바이오메트릭의 측정을 저장 컴포넌트(130)에 저장될 수 있는 바이오메트릭 기준 데이터와 비교함으로써, 이 사용자의 바이오메트릭의 측정을 검증하도록 적응될 수 있다.
[00109] 일부 실시예들에서, 블루투스 인터페이스(150)는 블루투스 저에너지 또는 블루투스 LE 타입을 가질 수 있다. 일부 실시예들에서, 블루투스 인터페이스는 블루투스 코어 스펙 버전 4.0과 호환가능할 수 있고, 이 블루투스 코어 스펙 버전 4.0은 본원에 인용에 의해 통합된다. 일부 실시예들에서, 블루투스 인터페이스는 주변장치(슬레이브) 역할 동작을 지원할 수 있다. 일부 실시예들에서, 인증 디바이스는 블루투스 일반 액세스 프로파일(GAP:Generic Access Profile) 주변장치로서 동작할 수 있고, 그리고 블루투스 LE 슬레이브 및/또는 일반 속성 프로파일(GATT:Generic Attribute Profile) 서버일 수 있다.
[00110] 일부 실시예들에서, 블루투스 인터페이스는 블루투스 페어링을 지원한다. 일부 실시예들에서, 인증 디바이스는 다수의 호스트 컴퓨터들과의 페어링을 지원할 수 있으며, 다수의 호스트 컴퓨터들에 대한 페어링 정보를 저장할 수 있다. 일부 실시예들에서, 인증 디바이스는 많아야 단일 호스트 컴퓨터와의 페어링을 지원할 수 있고 그리고 단지 단일 호스트 컴퓨터에 대한 페어링 정보를 저장할 수 있다. 일부 실시예들에서, 인증 디바이스가 페어링되었으면, 인증 디바이스는 단지, 기존의 페어링이 먼저 명시적으로 제거되는 경우 새로운 페어링을 허용할 수 있다. 일부 실시예들에서, 인증 디바이스는 사용자가 기존의 페어링이 제거되어야 함을 표시하게 하도록 적응될 수 있다.
[00111] 일부 실시예들에서, 인증 디바이스의 블루투스 인터페이스가 광고 상태에 있는 경우, 그것은 단지 연결가능한 무방향성 광고 이벤트들을 전송한다. 일부 실시예들에서, 인증 디바이스의 블루투스 인터페이스는 제한된 발견가능한 발견 모드를 지원한다. 일부 실시예들에서, 인증 디바이스는 사용자가 버튼을 누르는 것과 같은 특정 사용자 개시 이벤트 시 제한된 발견가능한 발견 모드를 개시하도록 적응된다. 일부 실시예들에서, 인증 디바이스는 60초 미만 동안 발견가능하게 유지된다.
[00112] 일부 실시예들에서, 인증 디바이스는 다수의 GATT 서비스들을 지원한다. 일부 실시예들에서, 인증 디바이스는 하나 또는 그 초과의 서비스들을 지원하며, 이들은 호스트 컴퓨터와 인증 메시지들을 교환하기 위한 GATT 서비스들일 수 있다. 일부 실시예들에서, 인증 디바이스는 하나 또는 그 초과의 서비스들을 지원하며, 이들은 인증 디바이스의 상태에 대해 그리고 보다 특히, 인증 디바이스에 대한 인증 애플리케이션의 상태에 대해 호스트 컴퓨터에게 알려주기 위한 GATT 서비스들일 수 있다. 일부 실시예들에서, 인증 디바이스는 인증 디바이스에 연결된 호스트 컴퓨터로부터 특정 데이터(예를 들어, 동적 크리덴셜을 생성할 시 인증 디바이스에 의해 사용될 트랜잭션 데이터 또는 챌린지 값들)를 수신하기 위한 특정 서비스 특성들에 전용될 수 있다. 일부 실시예들에서, 인증 디바이스는 인증 디바이스에 연결된 호스트 컴퓨터에 특정 데이터(예를 들어, 인증 디바이스에 의해 생성되는 동적 크리덴셜들 또는 상태 정보)를 전송하기 위한 특정 서비스 특성들에 전용될 수 있다.
[00113] 예를 들어, 일부 실시예들에서, 인증 디바이스는, 한편으로는 인증 디바이스와 다른 한편으로는 호스트 컴퓨터 또는 (호스트 컴퓨터를 통해) 애플리케이션 서버 사이의 인증 애플리케이션 메시지들을 교환하기 위한 인증 애플리케이션 메시징 GATT 서비스를 지원할 수 있다. 이 애플리케이션 메시징 GATT 서비스는 호스트 컴퓨터로부터 인증 디바이스로 인증 애플리케이션 메시지들을 송신하기 위한 하나의 특성 및 인증 디바이스로부터 호스트 컴퓨터로 인증 애플리케이션 메시지들을 송신하기 위한 또 다른 특성을 포함할 수 있다.
[00114] 인증 디바이스는 또한, 인증 디바이스로부터 호스트 컴퓨터로 애플리케이션 상태에 대한 업데이트들을 전송하기 위한 적어도 하나의 특성을 포함하는 또 다른 애플리케이션 상태 정보 GATT 서비스를 지원할 수 있다.
[00115] 일부 실시예들에서, 애플리케이션은 인증 디바이스를 정규적으로 폴링함으로써, 예를 들어, 하나 또는 그 초과의 특성들을 정규적으로 판독함으로써 인증 디바이스로부터 특정 데이터 또는 정보를 수신할 수 있다.
[00116] 일부 실시예들에서, 인증 디바이스는 블루투스 GATT 통보 메커니즘을 사용하여 인증 디바이스에 연결된 호스트 컴퓨터에 특정 데이터를 전송할 수 있다. 일부 실시예들에서, 인증 디바이스는 블루투스 GATT 표시 메커니즘을 사용하여 인증 디바이스에 연결된 호스트 컴퓨터에 특정 데이터를 전송할 수 있다. 인증 디바이스가 그 표시 메커니즘을 사용하여 호스트 컴퓨터에 특정 데이터를 전송하는 실시예들에서, 인증 디바이스는 따라서, 호스트 컴퓨터가 인증 디바이스가 호스트 컴퓨터에 전송하도록 의도하였던 데이터를 실제로 수신하였다는 확인을 받을 수 있는데, 이는 결국 인증 디바이스가 호스트 컴퓨터가 인증 디바이스와 동기화된 상태를 유지함을 보장하게 허용할 수 있다. 예를 들어, 일부 실시예들에서, 인증 디바이스는 단지 호스트 컴퓨터가 자신이 최후 애플리케이션 상태 정보를 수신하였음을 확인한 경우에만 애플리케이션 상태를 변경하도록 적응될 수 있다. 일부 실시예들에서, 인증 디바이스는 (예를 들어, 동일한 특성을 사용하여) 다수의 패킷들에서 인증 애플리케이션 메시지들을 차례로 전송할 수 있으며, 단지 호스트 컴퓨터가 자신이 이전 패킷을 수신하였음을 확인한 이후에만 다음 패킷을 전송하도록 적응될 수 있다.
[00117] 일부 실시예들에서, 인증 디바이스는 애플리케이션에 의해 생성될 수 있는 인입 애플리케이션 메시지들을 블루투스 인터페이스를 통해 수신하도록 적응될 수 있다. 일부 실시예들에서, 인증 디바이스는 인증 디바이스가 블루투스 인터페이스를 통해 애플리케이션에 통신할 수 있다는 인출 애플리케이션 메시지들을 생성하도록 적응될 수 있다. 일부 실시예들에서, 이러한 인입 및/또는 인출 애플리케이션 메시지들 중 적어도 일부는 보안 메시징 기법들에 의해 보안될 수 있고, 인증 디바이스는 이 보안 메시징 기법들을 지원하도록 적응될 수 있다. 인증 디바이스의 데이터 프로세싱 컴포넌트는 이 애플리케이션 메시지들을 보안하는데 사용되는 암호 알고리즘들을 실행시키도록 적응될 수 있다. 예를 들어, 데이터 프로세싱 컴포넌트는 애플리케이션 메시지들에서 전송되는 데이터를 암호화 및/또는 복호화하도록 적응될 수 있으며, 그리고/또는 이 메시지들의 무결성 및/또는 확실성을 보장하기 위해서 애플리케이션 메시지들에 포함될 수 있는 MAC들을 생성 또는 검증하도록 적응될 수 있다.
[00118] 일부 실시예들에서, 인증 디바이스는 동적 변수의 값을 결정하기 위해 인증 디바이스에 의해 사용될 수 있는 시간 값을 제공하기 위한 시계(160)를 더 포함할 수 있다.
[00119] 일부 실시예들에서, 인증 디바이스는 또한, 바이오메트릭 센서(170)를 포함할 수 있다. 일부 실시예들에서, 바이오메트릭 센서는, 예를 들어, 지문 센서를 포함할 수 있다. 일부 실시예들에서, 지문 센서는, 예를 들어, 스와이프 센서를 포함할 수 있다.
[00120] 일부 실시예들에서, 인증 디바이스는 포켓 크기의, 휴대용 및 핸드헬드 디바이스일 수 있다. 일부 실시예들에서, 인증 디바이스는 7 cm보다 적은 길이, 3 cm보다 적은 폭 및 1 cm보다 적은 두께를 가질 수 있다. 일부 실시예들에서, 디바이스는 20 그램보다 적은 총 무게(배터리들 포함)를 가질 수 있다. 일부 실시예들에서, 인증 디바이스는 10 cm보다 적은 길이, 6 cm보다 적은 폭 및 1.5 cm보다 적은 두께를 가질 수 있고, 인증 디바이스는 100 그램보다 적은 총 무게(배터리들 포함)를 가질 수 있다.
[00121] 도 2는 본 발명의 양상에 따른 시스템의 예를 개략적으로 예시한다.
[00122] 일부 실시예들에서, 예컨대 도 2에 예시된 시스템(200)과 같은, 애플리케이션과 사용자 간의 상호작용을 보안시키기 위한 시스템은: 애플리케이션의 서버 부분들을 호스팅하는 애플리케이션 서버(들)(210); 사용자(290)가 공중 전기통신 네트워크(250)를 통해서 애플리케이션에 원격으로 액세스하게 허용하는 호스트 컴퓨터(230); 예컨대, 이전 패러그래프들에서 설명된 인증 디바이스들 중 임의의 인증 디바이스와 같은, 동적 크리덴셜을 생성하기 위한 인증 디바이스(240); 및 동적 크리덴셜의 유효성(validity)을 검증하기 위한 검증 서버(220)를 포함할 수 있고, 그로 인해서, 호스트 컴퓨터는 인증 디바이스와의 블루투스 연결을 셋업하도록 적응될 수 있고, 애플리케이션의 클라이언트 부분을 실행하도록 적응될 수 있고, 인증 디바이스는 동적 크리덴셜을 생성하고 동적 크리덴셜을 호스트 컴퓨터에 리턴시키도록 적응될 수 있고, 호스트 컴퓨터는 생성된 동적 크리덴셜을 검증을 위해 검증 서버에 포워딩하도록 추가로 적응될 수 있고; 검증 서버는 생성된 동적 크리덴셜을 검증하고 그리고 동적 크리덴셜이 유효한 것으로 검증되었는지를 애플리케이션 서버에 시그널링하도록 적응될 수 있다.
[00123] 일부 실시예들에서, 애플리케이션 서버 및 검증 서버는 동일한 서버일 수 있다. 일부 실시예들에서, 애플리케이션 서버 및 검증 서버는 하나 또는 그 초과의 서버 컴퓨터들을 포함할 수 있다. 일부 실시예들에서, 전기통신 네트워크는 인터넷 및/또는 무선 전기통신 네트워크를 포함할 수 있다. 일부 실시예들에서, 호스트 컴퓨터는 사용자와 국부적으로 상호작용하기 위한 사용자 인터페이스를 가질 수 있다. 예컨대, 일부 실시예들에서, 호스트 컴퓨터는 사용자 입력 인터페이스, 예컨대 키보드, 마우스, 또는 사용자 입력을 수신하기 위한 터치스크린을 가질 수 있다. 일부 실시예들에서, 호스트 컴퓨터는, 시각 또는 청각 신호들을 포함할 수 있는 출력을 사용자에게 제시하기 위한 사용자 출력 인터페이스, 예컨대 디스플레이 또는 확성기를 가질 수 있다. 일부 실시예들에서, 호스트 컴퓨터는 PC(개인용 컴퓨터), 태블릿 컴퓨터 또는 스마트폰을 포함할 수 있다.
[00124] 일부 실시예들에서, 애플리케이션(예컨대, 인터넷 뱅킹 애플리케이션)은 원격 애플리케이션 서버 상에서 실행되는 서버 부분, 및 사용자의 로컬 호스트 컴퓨터 상에서 실행되며 그리고 사용자가, 예컨대 인터넷을 통해 애플리케이션의 서버 부분을 액세스하기 위해 상호작용하는 클라이언트 부분을 포함할 수 있다. 일부 실시예들에서, 애플리케이션은 웹-기반 애플리케이션을 포함할 수 있고, 애플리케이션 서버는 웹 서버를 포함할 수 있다. 일부 실시예들에서, 애플리케이션 서버는, 사용자의 호스트 컴퓨터 상의 웹 브라우저를 사용하여 사용자에 의해 액세스될 수 있다. 일부 실시예들에서, 애플리케이션의 클라이언트 부분은 사용자의 호스트 컴퓨터 상의 웹 브라우저에서 실행되는 애플릿(예컨대, 자바 애플릿) 또는 스크립트를 포함할 수 있다. 일부 실시예들에서, 웹 브라우저는, 블루투스 연결을 통해 호스트 컴퓨터에 연결되는 인증 디바이스와 상호작용하기 위해 인증 클라이언트 플러그-인 또는 인증 클라이언트 익스텐션(extension)을 사용할 수 있다. 일부 실시예들에서, 사용자는 스마트폰에 의해 애플리케이션의 서버 부분을 액세스할 수 있다. 이렇게 되면, 스마트폰은 호스트 컴퓨터(230)로서 기능할 수 있으며, 그리고 스마트폰 상에서 실행되는 클라이언트 애플리케이션은 스마트폰 상에 앱(예컨대, 인터넷 뱅킹 앱)을 포함할 수 있고, 그에 의해 앱은, 스마트폰의 사용자 인터페이스를 통해 사용자와, 예컨대 인터넷을 통해 애플리케이션 서버와, 그리고 스마트폰과 인증 디바이스 간의 블루투스 연결을 통해 인증 디바이스와 상호작용할 수 있다. 일부 실시예들에서, 호스트 컴퓨터 상에서 실행되는 애플리케이션의 클라이언트 부분은 사용자에게 인증 디바이스와 상호작용하는 방법에 대한 가이드라인들을 제공하도록 적응될 수 있다. 일부 실시예들에서, 애플리케이션의 클라이언트 부분이 사용자에게 인증 디바이스와 상호작용하는 방법에 대해 제공할 수 있는 가이드라인들은 인증 디바이스의 실제 애플리케이션 상태에 관련될 수 있다. 일부 실시예들에서, 애플리케이션의 클라이언트 부분은 인증 디바이스의 실제 애플리케이션 상태를 계속 추적하도록 적응된다. 일부 실시예들에서, 인증 디바이스는 인증 디바이스의 실제 애플리케이션 상태를 반영할 수 있는 애플리케이션 상태 정보를 호스트 컴퓨터에 전송하도록 적응될 수 있으며, 그리고 호스트 컴퓨터 상에서 실행되는 애플리케이션의 클라이언트 부분은 그러한 애플리케이션 상태 정보를 수신하고, 인증 디바이스의 애플리케이션 상태에 대한 그러한 정보를 사용하여, 사용자에게 인증 디바이스와 상호작용하는 방법에 대한 적합한 가이드라인들 또는 명령들을 제공하도록 적응될 수 있다.
[00125] 예컨대, 일부 실시예들에서, 호스트 컴퓨터가 인증 디바이스의 존재를 아직 검출하지 않은 동안, 호스트 컴퓨터 상의 클라이언트 애플리케이션은 인증 디바이스를 턴 온하도록 사용자에게 명령할 수 있다. 호스트 컴퓨터가 사용자의 인증 디바이스와의 블루투스 연결을 셋업할 때, 호스트 컴퓨터는 1회용 패스워드와 같은 동적 크리덴셜을 요청하는 메시지를 인증 디바이스에 전송할 수 있다. 일부 실시예들에서, 인증 디바이스는, 이러한 요청 메시지를 수신시에, 하나의 상태로 진행할 수 있고, 이에 의해, 인증 디바이스는, 요청된 동적 크리덴셜의 생성을 사용자가 승인하기를 기다리고, 이러한 상태를 호스트 컴퓨터에 표시할 수 있다. 그 다음으로, 호스트 컴퓨터는, (예컨대, 인증 디바이스의 사용자 입력 인터페이스의 특정 버튼을 누름으로써) 요청된 동적 크리덴셜의 생성을 사용자가 실제로 승인했음을 인증 디바이스에 표시하도록 사용자에게 요청할 수 있다. 사용자가 (예컨대, 거부를 표시하기 위해 특정 버튼을 누름으로써) 요청을 거부하는 경우 또는 타임-아웃이 발생하는 경우, 인증 디바이스는 대응하는 상태로 진행하여, 그 상태를 호스트 컴퓨터에 통신할 수 있고, 그에 따라, 호스트 컴퓨터가 적합한 액션을 취할 수 있다.
[00126] 일부 실시예들에서, 애플리케이션은 다수의 데이터 필드들에 서명하도록 인증 디바이스에 요청할 수 있다. 예컨대, 일부 실시예들에서, 호스트 컴퓨터 상의 클라이언트 애플리케이션은 다수의 데이터 필드들에 서명하도록 인증 디바이스에 애플리케이션 요청을 전송 또는 포워딩하기 위해 블루투스 연결을 사용할 수 있다. 일부 실시예들에서, 클라이언트 애플리케이션은 애플리케이션의 서버 부분으로부터 이러한 요청을 수신할 수 있고, 그 요청을 블루투스 연결을 사용하여 인증 디바이스에 포워딩할 수 있다. 일부 실시예들에서, 인증 디바이스는, 사용자가 인증 디바이스 상에서 리뷰 및 승인하도록 (인증 디바이스의 사용자 출력 인터페이스를 사용하여) 서명될 데이터 필드들을 사용자에게 하나씩 제시할 수 있다(이에 의해, 인증 디바이스는 인증 디바이스의 사용자 입력 인터페이스를 사용하여 사용자의 승인을 캡처할 수 있음). 일부 실시예들에서, 인증 디바이스가 승인을 위해 데이터 필드를 사용자에게 제시할 때마다, 인증 디바이스는 하나의 상태에 진입할 수 있고, 여기서 인증 디바이스는 인증 디바이스 상에서의 데이터 필드의 사용자 승인을 기다리며, 자신은, 사용자가 데이터 필드를 승인하기를 기다리는 그 상태에 있음을 호스트 컴퓨터에 알려줄 수 있다. 그 다음으로, 호스트 컴퓨터 상의 클라이언트 애플리케이션은, 인증 디바이스에 의해 제시되는 데이터 필드를 인증 디바이스 상에서 리뷰하고 그리고 데이터 필드가 정확한 것으로 보이는 경우에는 그 데이터 필드를 인증 디바이스 상에서 승인하도록 사용자에게 요청할 수 있다. 사용자가 데이터 필드를 승인할 때, 인증 디바이스는 다음번 상태로 이동할 수 있고, 그 다음번 상태에서, 인증 디바이스는 다음번 데이터 필드를 제시하고 그 다음번 데이터 필드의 승인을 기다리며, 인증 디바이스는 자신이 그 다음번 상태로 이동했음을 호스트 컴퓨터에 알려줄 수 있다. 호스트 컴퓨터 상의 클라이언트 애플리케이션은, 사용자가 인증 디바이스 상의 이전의 데이터 필드를 승인하였고 인증 디바이스가 다음번 데이터 필드의 승인을 기다리고 있음을 추론하기 위해 그 새로운 상태 정보를 사용할 수 있고, 호스트 컴퓨터 상의 클라이언트 애플리케이션은 이제, 인증 디바이스 상의 다음번 데이터 필드를 리뷰 및 승인하도록 사용자에게 요청할 수 있다. 사용자가 데이터 필드를 거부하거나 또는 데이터 필드의 사용자 승인을 기다리는 동안 인증 디바이스가 타임-아웃되는 경우, 인증 디바이스는 대응하는 상태로 이동하여 그 상태를 호스트 컴퓨터에 알려줄 수 있다. 그 상태가, 사용자가 데이터를 거부한 상태임이 호스트 컴퓨터에 표시되는 경우, 애플리케이션은 그 데이터가 대응하는 트랜잭션을 취소할 수 있다. 그 상태가, 사용자의 승인을 기다리는 동안 인증 디바이스가 타임-아웃된 상태임이 호스트 컴퓨터에 표시되는 경우, 호스트 컴퓨터 상의 클라이언트 애플리케이션은, 트랜잭션이 취소되어야 하는지 또는 서명 프로세스가 재시작되어야 하는지를 사용자에게 문의할 수 있다.
[00127] 도 3a 및 3b는 본 발명의 양상에 따른 방법(300)의 예를 개략적으로 예시한다.
[00128] 일부 실시예들에서, 위의 문단들 중 임의의 문단에서 설명된 바와 같은 인증 시스템 및/또는 인증 디바이스는, 컴퓨터 기반 애플리케이션과의 사용자의 상호작용을 보안하기 위한 방법에서 다음과 같이 사용될 수 있다. 일부 실시예들에서, 사용자는 애플리케이션과 상호작용하기 위해 로컬 호스트 컴퓨터 상의 클라이언트 애플리케이션을 사용할 수 있고, 이에 의해, 로컬 호스트 컴퓨터는 예컨대, 인터넷과 같은 컴퓨터 네트워크를 통해, 애플리케이션의 서버 부분을 실행하는 원격 애플리케이션 서버에 연결될 수 있다.
[00129] 일부 실시예들에서, 클라이언트 애플리케이션은 (가능하게는) 적절한 블루투스 인에이블된 인증 디바이스의 존재를 스캔할 수 있다(305). 클라이언트 애플리케이션이 (가능하게는) 적절한 액티브 블루투스 인에이블된 인증 디바이스의 존재를 검출할 수 없는 경우, 클라이언트 애플리케이션은, (예컨대, 호스트 컴퓨터의 사용자 출력 인터페이스 상에 적합한 메시지를 디스플레이함으로써) 블루투스 인에이블된 인증 디바이스를 턴 온하거나 또는 인증 디바이스의 블루투스 인터페이스를 활성화하도록 사용자에게 요청 또는 제안할 수 있다(306).
[00130] 클라이언트 애플리케이션이, 블루투스가 활성화된 다수의 (아마도) 적합한 인증 디바이스들의 존재를 검출한다면, 클라이언트 애플리케이션은 인증 디바이스들 중 하나를 선택할 수 있다(307). 예컨대, 일부 실시예들에서, 클라이언트 애플리케이션은 검출된 인증 디바이스들 각각으로부터 디바이스 식별 데이터 엘리먼트를 리트리브할 수 있으며, 함께 상호작용할 인증 디바이스를 선택하기 위해서 그러한 데이터를 사용할 수 있다. 예컨대, 클라이언트 애플리케이션은, 검출된 인증 디바이스들의 디바이스 식별 데이터 엘리먼트의 리트리브된 값들을, 과거에 이러한 호스트 컴퓨터와 이미 함께 사용되었을 수 있는 하나 또는 그 초과의 인증 디바이스들의 디바이스 식별 데이터 엘리먼트들과 비교할 수 있다. 일부 실시예들에서, 클라이언트 애플리케이션은 검출된 인증 디바이스들의 목록을 사용자에게 제시할 수 있고, 사용자가 하나를 선택하게 할 수 있다.
[00131] 클라이언트 애플리케이션이, 블루투스가 활성화된 단일 인증 디바이스를 검출한 경우, 또는 블루투스가 활성화된 검출된 복수의 인증 디바이스들 중 하나를 선택한 경우, 클라이언트 애플리케이션은 검출된 또는 선택된 인증 디바이스와 블루투스 연결을 셋업할 수 있다(310).
[00132] 일부 실시예들에서, 클라이언트 애플리케이션은 인증 디바이스로부터 디바이스 식별 데이터 엘리먼트, 예컨대, 일련 번호를 리트리브할 수 있고(315), 그러한 디바이스 식별 데이터 엘리먼트를 애플리케이션의 서버 컴포넌트로 포워딩할 수 있다. 이에 대응하여, 클라이언트 애플리케이션은 애플리케이션의 서버 컴포넌트로부터 사용자 이름을 수신할 수 있다. 일부 실시예들에서, 클라이언트 애플리케이션은 블루투스 연결을 사용하여, 인증 디바이스로부터 사용자 이름을 리트리브할 수 있다(317). 클라이언트 애플리케이션은 획득된 사용자 이름을 애플리케이션의 서버 컴포넌트 및/또는 사용자와의 추가적인 상호작용들에서, 예컨대, 예를 들어, 로그인 시도 동안에 사용할 수 있다. 일부 실시예들에서, 애플리케이션의 서버 컴포넌트는, 인증 디바이스와 연관된 암호 키들, 예컨대, 예를 들어, 인증 디바이스에 의해 생성된 동적 크리덴셜들을 검증하기 위한 하나 또는 그 초과의 시크릿들 또는 인증 디바이스에 전송하기 위한 메시지들을 보안시키기 위한 보안 메시징 키들의 세트, 또는 하나 또는 그 초과의 시크릿 값들의 값을 결정하기 위해, 수신된 디바이스 식별 데이터 엘리먼트를 사용할 수 있다.
[00133] 일부 실시예들에서, 클라이언트 애플리케이션은, 블루투스 연결을 사용하여, 연결된 인증 디바이스가 동적 크리덴셜을 생성하여 리턴할 것을 요구할 수 있다(320). 일부 실시예들에서, 클라이언트 애플리케이션은 요청을 생성했을 수 있다. 일부 실시예들에서, 이러한 요청은 애플리케이션의 서버 부분에 의해 생성되었을 수 있고, 클라이언트 애플리케이션은 그러한 요청을 애플리케이션의 서버 부분으로부터 수신했을 수 있으며, 그러한 요청을 인증 디바이스로 포워딩할 수 있다. 일부 실시예들에서, 클라이언트 애플리케이션은, 동적 크리덴셜의 생성에서 인증 디바이스에 의해 사용될 챌린지를, 블루투스 연결을 통해, 인증 디바이스에 전송할 수 있다(321). 일부 실시예들에서, 클라이언트 애플리케이션은 애플리케이션의 서버 컴포넌트로부터 챌린지를 수신했을 수 있다. 일부 실시예들에서, 클라이언트 애플리케이션은, 애플리케이션에 의해 수행될 트랜잭션을 사용자가 정의하는 것을 허용하기 위해, 사용자와 상호작용했을 수 있으며, 클라이언트 애플리케이션은 인증 디바이스에 의해 서명될 그러한 트랜잭션과 관련된 데이터를 블루투스 연결을 통해 인증 디바이스에 제출할 수 있다(322). 일부 실시예들에서, 클라이언트 애플리케이션은, 애플리케이션의 서버 부분에 의해 생성되었을 수 있는 애플리케이션 메시지에서, 트랜잭션 데이터를 인증 디바이스에 전달할 수 있다.
[00134] 일부 실시예들에서, 인증 디바이스는, 동적 크리덴셜을 생성하고 그리고/또는 동적 크리덴셜을 클라이언트 애플리케이션을 실행하는 호스트 컴퓨터에 리턴하기 위해, 사용자에 의한 승인을 캡처할 수 있다(325). 일부 실시예들에서, 인증 디바이스는 데이터를 사용자에게 제시할 수 있고(326), 제시된 데이터의 승인(또는 거절)을 캡처할 수 있으며(327), 제시되고 승인된 데이터는, 인증 디바이스에 의해, 동적 크리덴셜의 생성에서 사용될 수 있다.
[00135] 일부 실시예들에서, 인증 디바이스는, 사용자에 의해 인증 디바이스에 제공되는 PIN 및/또는 패스워드 값을 캡처할 수 있거나(330), 또는 인증 디바이스는, 사용자가 클라이언트 애플리케이션에 제공한 PIN 및/또는 패스워드 값을, 블루투스 연결을 통해 클라이언트 애플리케이션으로부터 수신할 수 있다(331). 일부 실시예들에서, 본 설명의 다른 곳에서 더 상세하세 설명되는 바와 같이, 인증 디바이스는 캡처된 또는 수신된 PIN 및/또는 패스워드를 검증할 수 있다(332).
[00136] 일부 실시예들에서, 인증 디바이스는, 인증 디바이스 상의 바이오메트릭 센서에 의해 취해진, 사용자의 바이오메트릭의 측정을 캡처할 수 있거나(335), 또는 인증 디바이스는, 호스트 컴퓨터에 의해 취해진, 사용자의 바이오메트릭의 측정을 클라이언트 애플리케이션으로부터 블루투스 연결을 통해 수신할 수 있다(336). 일부 실시예들에서, 본 설명의 다른 곳에서 더 상세하세 설명되는 바와 같이, 인증 디바이스는 캡처된 또는 수신된 바이오메트릭 측정을 검증할 수 있다(337).
[00137] 일부 실시예들에서, 인증 디바이스의 사용자 출력 인터페이스는, 인증 디바이스가 이러한 사용자 출력 인터페이스를 사용하여, 인증 디바이스 상의 인증 애플리케이션이 어떤 상태에 있는지 그리고 사용자가 무엇을 할 수 있고 사용자의 액션이 어떠한 영향이 될 것인지에 대한 사용자 클리어 가이던스를 제공하는 것이 가능하지 않을 수 있도록, 다소 제한된 능력들을 가질 수 있다. 일부 실시예들에서, 클라이언트 애플리케이션은, 예컨대, 특정한 효과들을 얻기 위해(예컨대, 트랜잭션 데이터의 승인 또는 거절) 사용자가 어떠한 액션들(예컨대, 다양한 버튼들을 누르는 것, 타임-아웃을 기다리는 것, 등)을 할 수 있는지 그리고/또는 해야하는지에 대한 가이던스를 제공함으로써, 사용자가 인증 디바이스와 상호작용하는 것을 보조할 수 있다(340). 일부 실시예들에서, 인증 디바이스는, 인증 디바이스가 처한 애플리케이션 상태를 클라이언트 애플리케이션에 알려줄 수 있다(341). 일부 실시예들에서, 본 설명의 다른 곳에서 더 상세하게 설명되는 바와 같이, 클라이언트 애플리케이션은 인증 디바이스가 처한 애플리케이션 상태를 계속 추적할 수 있고(342), 인증 디바이스가 제공하는 가이던스가, 인증 디바이스가 처한 실제 애플리케이션 상태에 적절하도록, 그러한 지식을, 사용자가 인증 디바이스와 어떻게 상호작용하는 지에 대한, 인증 디바이스의 가이던스를 미세-조정하기 위해 사용할 수 있다.
[00138] 일부 실시예들에서, 본 설명의 다른 곳에서 더 상세하게 설명되는 바와 같이, 인증 디바이스는 블루투스 연결을 사용하여, 인증 디바이스와 연결된 호스트 컴퓨터에 커맨드들을 전송할 수 있고(345), 호스트 컴퓨터 상의 클라이언트 애플리케이션은 이러한 커맨드들을 수신하고 실행할 수 있다(346). 일부 실시예들에서, 이러한 커맨드들의 실행은, 예컨대, 호스트 컴퓨터의 사용자 출력 인터페이스에 의해, 예컨대, 사용자에게 출력을 제공함으로써, 그리고/또는, 예컨대, 호스트 컴퓨터의 사용자 입력 인터페이스에 의해, 사용자로부터 입력을 획득함으로써, 호스트 컴퓨터 상의 클라이언트 애플리케이션이 사용자와 상호작용하는 것을 필요로 할 수 있다(347).
[00139] 일부 실시예들에서, 인증 디바이스는, 본 설명의 다른 곳에서 더 상세히 설명된 바와 같이, 동적 크리덴셜을 생성할 수 있다(350). 일부 실시예들에서, 인증은, 예컨대, PIN 또는 패스워드 또는 바이오메트릭 측정이 성공적으로 검증되거나 또는 사용자가 동적 크리덴셜을 생성하기 위해 명시적 승인을 표시하는 것과 같은 특정 조건들이 달성되는 경우에만 동적 크리덴셜을 생성할 수 있다.
[00140] 일부 실시예들에서, 동적 크리덴셜이 생성된 이후에, 인증 디바이스는, 생성된 동적 크리덴셜을 블루투스 연결을 통해 호스트 컴퓨터에 전송할 수 있다(351).
[00141] 일부 실시예들에서, 클라이언트 애플리케이션은, 블루투스 연결을 통해, 생성된 동적 크리덴셜을 연결된 인증 디바이스로부터 수신할 수 있고(352), 수신된 동적 크리덴셜을 애플리케이션의 서버 부분으로 포워딩할 수 있다(353).
[00142] 일부 실시예들에서, 애플리케이션의 서버 부분은, 클라이언트 애플리케이션으로부터 동적 크리덴셜을 수신할 수 있고(354), 수신된 동적 크리덴셜의 정확성을 검증할 수 있다. 일부 실시예들에서, 애플리케이션의 서버 부분은, 인증 디바이스와 연관된 암호 시크릿에 의해 파라미터화될 수 있는 암호 크리덴셜 검증 알고리즘을 적용함으로써, 수신된 동적 크리덴셜의 정확성을 검증할 수 있다(360). 일부 실시예들에서, 애플리케이션의 서버 부분은, 수신된 동적 크리덴셜의 검증에서, 인증 디바이스와 애플리케이션의 검증 서버 부분 사이에서 공유되는 시크릿 암호 키로 파라미터화되는 대칭적 암호 알고리즘을 사용할 수 있다. 일부 실시예들에서, 애플리케이션의 서버 부분은, 동적 크리덴셜의 검증에서 사용될 수 있는 시크릿을 획득하기 위해, 인증 디바이스의 (일련 번호와 같은) 디바이스 식별 데이터 엘리먼트를 사용할 수 있다. 예컨대, 일부 실시예들에서, 애플리케이션의 서버 부분은, 각각의 개별적인 인증 디바이스에 대한 데이터베이스에 그 인증 디바이스와 관련된 하나 또는 그 초과의 시크릿들을 저장할 수 있고, 예컨대, 데이터베이스 질의에서, 디바이스 식별 데이터 엘리먼트를 사용하여 데이터베이스로부터 이러한 시크릿들을 리트리브할 수 있다. 일부 실시예들에서, 애플리케이션의 서버 부분은, 동적 크리덴셜의 검증에서 사용하기 위한 시크릿의 값을, 추정상 동적 크리덴셜을 생성한 인증 디바이스의 디바이스 식별 데이터 엘리먼트 및 마스터 시크릿으로부터 그 값을 도출함으로써 결정할 수 있다.
[00143] 일부 실시예들에서, 애플리케이션의 서버 부분은, 특정 액션(예컨대, 사용자 로그인, 또는 특정 정보와 같은 애플리케이션 리소스에 대한 사용자 액세스를 허가하는 것, 또는 사용자에 의해 요청된 트랜잭션을 수행하는 것(이에 의해, 이러한 트랜잭션과 관련된 데이터가 동적 크리덴셜에 의해 서명되었을 수 있음))을 수행할지 또는 수행하지 않을지 여부를 결정하는데 있어, 수신된 동적 크리덴셜의 검증의 결과를 사용할 수 있다(370). 예컨대, 일부 실시예들에서, 애플리케이션의 서버 부분은, 동적 크리덴셜 검증이 성공적이었으면, 액션을 수행한다고 결정할 수 있다. 일부 실시예들에서, 애플리케이션의 서버 부분은, 동적 크리덴셜 검증이 성공적이지 않았으면, 액션을 수행하지 않는다고 결정할 수 있다. 일부 실시예들에서, 서버 부분은, 액션을 수행할지 또는 수행하지 않을지 여부를 결정하기 위해, 예컨대, 클라이언트 애플리케이션이 사용자로부터 수신했을 수 있고 그리고 애플리케이션의 서버 부분이 클라이언트 애플리케이션으로부터 수신했을 수 있는 패스워드 또는 정적 PIN의 검증의 결과와 같은 다른 엘리먼트들을 또한 고려할 수 있다.
[00144] 다수의 구현들이 설명되었다. 그렇지만, 다양한 변경들이 이루어질 수 있다는 것이 이해될 것이다. 예컨대, 하나 또는 그 초과의 구현들의 엘리먼트들이 결합되거나, 삭제되거나, 수정되거나, 또는 보충됨으로써 추가적인 구현들을 형성할 수 있다. 따라서, 다른 구현들이 첨부된 청구항들의 범위 내에 있다. 게다가, 본 발명의 특정 특성이 수 개의 구현들 중 오직 하나의 구현에 관해 개시되었을 수 있지만, 그러한 특성은, 임의의 주어진 애플리케이션 또는 특정 애플리케이션에 대해 바람직하고 유리할 수 있기 때문에, 다른 구현들의 하나 또는 그 초과의 다른 특성들과 결합될 수 있다. 본 발명의 다양한 실시예들이 위에 설명되었지만, 그들 실시예들은 제한으로서가 아닌 단지 예로서만 제시되었다는 것이 이해되어야 한다. 특히, 청구된 요지를 설명하려는 목적들을 위해 컴포넌트들 또는 방법들의 모든 각각의 가능한 결합을 설명하는 것은 물론 가능하지 않지만, 당업자는, 본 발명의 많은 추가적인 결합들 및 치환들이 가능하다는 것을 인지할 수 있다. 특히, 설명된 방법들에 관하여, 제시된 방법들의 일부 단계들이 생략될 수 있고, 다른 단계들이 부가될 수 있으며, 다양한 단계들이 수행되는 순서는 이들 단계들이 설명된 순서와 상이할 수 있다. 따라서, 본 발명의 외연 및 범위는 위에 설명된 예시적인 실시예들 중 임의의 실시예에 의해 제한되어서는 안되며, 오직 다음의 청구항들 및 그들의 등가물들에 따라서만 정의되어야 한다.

Claims (55)

  1. 동적 크리덴셜(dynamic credential)을 생성하기 위한 휴대용 핸드헬드 인증 디바이스(100)로서,
    암호 크리덴셜 생성 시크릿(secret) 키를 보안적으로 저장하도록 적응되는 저장 컴포넌트(130);
    상기 인증 디바이스의 사용자로부터 입력들을 수신하기 위한 사용자 입력 인터페이스(120);
    출력들을 상기 사용자에게 제시하기 위한 사용자 출력 인터페이스(110);
    상기 암호 크리덴셜 생성 시크릿 키를 동적 변수와 암호적으로 결합함으로써 상기 동적 크리덴셜을 생성하도록 적응되는 데이터 프로세싱 컴포넌트(140); 및
    상기 인증 디바이스와 호스트 컴퓨터 간의 블루투스 연결을 통해 상기 인증 디바이스를 상기 호스트 컴퓨터에 연결하기 위한 블루투스 인터페이스(150)를 포함하고,
    상기 인증 디바이스는 상기 호스트 컴퓨터와의 블루투스 연결을 통해서 상기 생성되는 동적 크리덴셜을 전송하도록 적응되는, 휴대용 핸드헬드 인증 디바이스(100).
  2. 제 1항에 있어서,
    시간 값을 제공하기 위한 시계(160)를 더 포함하고,
    상기 인증 디바이스는 상기 시계에 의해 제공되는 상기 시간 값의 함수로서 상기 동적 변수의 값을 결정하도록 추가로 적응되는, 휴대용 핸드헬드 인증 디바이스(100).
  3. 제 1항에 있어서,
    상기 저장 컴포넌트에 제 2 변수를 저장하고;
    상기 저장되는 제 2 변수의 함수로서 상기 동적 변수의 값을 결정하며; 그리고
    상기 제 2 변수의 값이 상기 동적 크리덴셜을 생성하기 위해 사용되었을 때, 상기 제 2 변수의 값을 업데이트하고 상기 저장 컴포넌트에 저장하도록 추가로 적응되는, 휴대용 핸드헬드 인증 디바이스(100).
  4. 제 3항에 있어서,
    상기 제 2 변수는 카운터를 포함하고, 및
    상기 제 2 변수를 업데이트하는 것은 상기 카운터의 값을 단조롭게 증가시키거나 또는 단조롭게 감소시키는 것 중 적어도 하나를 포함하는, 휴대용 핸드헬드 인증 디바이스(100).
  5. 제 1항에 있어서,
    상기 동적 크리덴셜에 대한 요청을 상기 블루투스 연결을 통해서 수신하고, 상기 동적 크리덴셜에 대한 요청에 대한 응답으로 상기 데이터 프로세싱 컴포넌트를 통해 상기 동적 크리덴셜을 생성하며, 그리고 상기 생성된 동적 크리덴셜을 상기 블루투스 연결을 통해서 리턴하도록 추가로 적응되는, 휴대용 핸드헬드 인증 디바이스(100).
  6. 제 5항에 있어서,
    상기 동적 크리덴셜을 생성하기 이전에 상기 동적 크리덴셜을 생성하기 위한 상기 사용자로부터의 승인 또는 상기 동적 크리덴셜을 리턴하기 이전에 상기 동적 크리덴셜을 리턴하기 위한 상기 사용자로부터의 승인 중 적어도 하나를 상기 사용자 입력 인터페이스에 의해 캡처하도록 추가로 적응되는, 휴대용 핸드헬드 인증 디바이스(100).
  7. 제 5항에 있어서,
    상기 블루투스 연결을 통해 챌린지를 수신하고, 그리고 상기 데이터 프로세싱 컴포넌트에 의해 상기 동적 크리덴셜을 생성하기 위해서 상기 수신되는 챌린지를 사용하도록 추가로 적응되는, 휴대용 핸드헬드 인증 디바이스(100).
  8. 제 5항에 있어서,
    상기 블루투스 연결을 통해 트랜잭션 관련 데이터를 수신하고, 상기 수신되는 트랜잭션 관련 데이터를 상기 사용자 출력 인터페이스에 의해 사용자에게 제시하고, 상기 트랜잭션 관련 데이터에 대한 상기 사용자의 승인을 상기 사용자 입력 인터페이스에 의해 캡처하며, 그리고 상기 데이터 프로세싱 컴포넌트에 의해 상기 동적 크리덴셜을 생성하기 위해서 상기 수신되는 트랜잭션 관련 데이터를 사용하도록 추가로 적응되는, 휴대용 핸드헬드 인증 디바이스(100).
  9. 제 1항에 있어서,
    상기 저장 컴포넌트에 디바이스 식별 데이터 엘리먼트를 저장하고, 그리고 상기 디바이스 식별 데이터 엘리먼트가 상기 블루투스 연결을 통해서 상기 호스트 컴퓨터에 이용가능하게 하도록 추가로 적응되는, 휴대용 핸드헬드 인증 디바이스(100).
  10. 제 1항에 있어서,
    상기 저장 컴포넌트에 사용자 이름을 저장하고, 그리고 상기 사용자 이름이 상기 블루투스 연결을 통해서 상기 호스트 컴퓨터에 이용가능하게 하도록 추가로 적응되는, 휴대용 핸드헬드 인증 디바이스(100).
  11. 제 10항에 있어서,
    상기 블루투스 연결을 통해서 상기 사용자 이름을 수신하고, 그리고 상기 블루투스 연결을 통해서 나중의 리트리벌(retrieval)을 위해 상기 저장 컴포넌트에 상기 사용자 이름을 저장하도록 추가로 적응되는, 휴대용 핸드헬드 인증 디바이스(100).
  12. 제 1항에 있어서,
    애플리케이션 상태가 상기 블루투스 연결을 통해서 상기 호스트 컴퓨터에 이용가능하게 하도록 추가로 적응되는, 휴대용 핸드헬드 인증 디바이스(100).
  13. 제 1항에 있어서,
    상기 호스트 컴퓨터에 의해 실행될 하나 또는 그 초과의 커맨드들을 상기 블루투스 연결을 통해서 상기 호스트 컴퓨터에 전송하도록 추가로 적응되는, 휴대용 핸드헬드 인증 디바이스(100).
  14. 제 1항에 있어서,
    PIN 또는 패스워드 중 적어도 하나를 검증하도록 추가로 적응되는, 휴대용 핸드헬드 인증 디바이스(100).
  15. 제 14항에 있어서,
    상기 사용자 입력 인터페이스를 통해서 상기 인증 디바이스에 제공되는 상기 PIN 또는 상기 패스워드 중 적어도 하나를 캡처하도록 추가로 적응되는, 휴대용 핸드헬드 인증 디바이스(100).
  16. 제 14항에 있어서,
    상기 블루투스 연결을 통해서 상기 PIN 또는 상기 패스워드 중 적어도 하나를 수신하도록 추가로 적응되는, 휴대용 핸드헬드 인증 디바이스(100).
  17. 제 14항에 있어서,
    상기 PIN 또는 상기 패스워드 중 적어도 하나에 대한 상기 검증이 성공적인 경우에만 상기 동적 크리덴셜을 생성하도록 추가로 적응되는, 휴대용 핸드헬드 인증 디바이스(100).
  18. 제 1항에 있어서,
    상기 저장 컴포넌트에 바이오메트릭 기준 데이터를 저장하고, 그리고 상기 사용자의 바이오메트릭 측정을 검증하도록 추가로 적응되는, 휴대용 핸드헬드 인증 디바이스(100).
  19. 제 18항에 있어서,
    바이오메트릭 센서를 더 포함하고,
    상기 바이오메트릭 센서를 통해서 상기 바이오메트릭 측정을 캡처하도록 추가로 적응되는, 휴대용 핸드헬드 인증 디바이스(100).
  20. 제 18항에 있어서,
    상기 블루투스 연결을 통해서 상기 바이오메트릭 측정을 수신하도록 추가로 적응되는, 휴대용 핸드헬드 인증 디바이스(100).
  21. 제 18항에 있어서,
    상기 바이오메트릭 측정의 상기 검증이 성공적인 경우에만 상기 데이터 프로세싱 컴포넌트에 의해 상기 동적 크리덴셜을 생성하도록 추가로 적응되는, 휴대용 핸드헬드 인증 디바이스(100).
  22. 제 1항에 있어서,
    상기 사용자 입력 인터페이스는 단일 버튼으로 구성되고,
    상기 인증 디바이스는 상기 사용자가 상기 단일 버튼을 누름으로써 상기 사용자의 승인을 캡처하도록 추가로 적응되는, 휴대용 핸드헬드 인증 디바이스(100).
  23. 제 1항에 있어서,
    애플리케이션 메시지들의 무결성(integrity), 신뢰성(confidentiality) 또는 진정성(authenticity) 중 적어도 하나를 보호하기 위한 보안 메시징 기술에 의해 보안되는 상기 애플리케이션 메시지들을 상기 블루투스 연결을 통해서 수신 또는 전송하도록 추가로 적응되고,
    이로 인해서, 상기 인증 디바이스가 상기 보안 메시징 기술을 지원하고 그리고 상기 보안 메시징 기술에서 사용되는 암호 보안 메시징 동작들을 수행하도록 추가로 적응됨으로써, 상기 보안 메시징 기술이 임의의 블루투스 보안 메시징 메커니즘으로부터 독립적이게 되는, 휴대용 핸드헬드 인증 디바이스(100).
  24. 제 23항에 있어서,
    상기 저장 컴포넌트에 보안 메시징 시크릿(secret)을 저장하고, 그리고 암호 보안 메시징 키의 값을 결정하여 상기 암호 보안 메시징 동작들에서 상기 암호 보안 메시징 키를 사용하기 위해 상기 보안 메시징 시크릿을 사용하도록 추가로 적응되는, 휴대용 핸드헬드 인증 디바이스(100).
  25. 제 1항에 있어서,
    상기 암호 크리덴셜 생성 시크릿 키를 상기 동적 변수와 암호적으로 결합하는 것은 상기 암호 크리덴셜 생성 시크릿 키로 파라미터화되는 대칭 암호 알고리즘을 실행하는 것을 포함하는, 휴대용 핸드헬드 인증 디바이스(100).
  26. 제 25항에 있어서,
    상기 대칭 암호 알고리즘은 대칭 암호화 또는 대칭 복호화 알고리즘 중 적어도 하나를 포함하는, 휴대용 핸드헬드 인증 디바이스(100).
  27. 제 25항에 있어서,
    상기 대칭 암호 알고리즘은 키 해싱 알고리즘(keyed hashing algorithm)을 포함하는, 휴대용 핸드헬드 인증 디바이스(100).
  28. 제 1항에 있어서,
    상기 사용자 입력 인터페이스는 두 개의 버튼들로 구성되고,
    상기 인증 디바이스는 상기 사용자가 상기 두 개의 버튼들 중 제 1 버튼을 누름으로써 상기 사용자의 승인을 캡처하고 그리고 상기 사용자가 상기 두 개의 버튼들 중 제 2 버튼을 누름으로써 상기 사용자의 거부 또는 취소 중 적어도 하나를 캡처하도록 추가로 적응되는, 휴대용 핸드헬드 인증 디바이스(100).
  29. 제 1항에 있어서,
    상기 블루투스 인터페이스는 블루투스 저 에너지를 지원하는, 휴대용 핸드헬드 인증 디바이스(100).
  30. 애플리케이션과 사용자 간의 상호작용을 보안시키기 위한 시스템으로서,
    상기 애플리케이션은 서버 부분 및 클라이언트 부분을 포함하고, 상기 시스템은,
    상기 애플리케이션의 상기 서버 부분을 호스팅하는 애플리케이션 서버(210);
    상기 애플리케이션의 상기 클라이언트 부분인 클라이언트 애플리케이션을 실행하고, 그리고 사용자(290)가 컴퓨터 네트워크(250)를 통해서 상기 애플리케이션의 서버 부분에 원격으로 액세스하게 허용하는 호스트 컴퓨터(230) ― 상기 호스트 컴퓨터는 상기 사용자로부터 입력들을 수신하기 위한 사용자 입력 인터페이스 및 상기 사용자에게 출력들을 제공하기 위한 사용자 출력 인터페이스를 포함함 ―;
    동적 크리덴셜을 생성하기 위한 인증 디바이스(240); 및
    상기 동적 크리덴셜의 유효성(validity)을 검증하기 위한 검증 서버(220)를 포함하고,
    상기 인증 디바이스는,
    암호 크리덴셜 생성 시크릿 키를 보안적으로 저장하도록 적응되는 저장 컴포넌트(130),
    상기 암호 크리덴셜 생성 시크릿 키를 동적 변수와 암호적으로 결합함으로써 상기 동적 크리덴셜을 생성하도록 적응되는 데이터 프로세싱 컴포넌트(140), 및
    상기 인증 디바이스와 상기 호스트 컴퓨터 간의 블루투스 연결을 통해 상기 인증 디바이스를 상기 호스트 컴퓨터에 연결하기 위한 블루투스 인터페이스(150)를 포함하고,
    이로 인해서,
    상기 호스트 컴퓨터는 상기 인증 디바이스와의 블루투스 연결을 셋업하도록 적응되고,
    상기 인증 디바이스는 블루투스 연결을 통해서 상기 동적 크리덴셜을 상기 호스트 컴퓨터에 리턴하도록 적응되고,
    상기 호스트 컴퓨터 상의 상기 클라이언트 애플리케이션은 상기 블루투스 연결을 통해서 상기 동적 크리덴셜을 수신하고 그리고 상기 생성되는 동적 크리덴셜을 검증을 위해 상기 검증 서버에 포워딩하도록 추가로 적응되며, 그리고
    상기 검증 서버는 상기 생성되는 동적 크리덴셜을 검증하고 그리고 상기 동적 크리덴셜이 유효한 것으로 검증되었는지를 상기 애플리케이션 서버에 시그널링하도록 적응되는, 상호작용을 보안시키기 위한 시스템.
  31. 제 30항에 있어서,
    상기 인증 디바이스 및 상기 검증 서버는 상기 암호 크리덴셜 생성 시크릿 키를 공유하고,
    상기 동적 크리덴셜의 상기 생성 및 상기 검증은 상기 인증 디바이스와 상기 검증 서버 간에 공유되는 시크릿 인증 키를 사용하는 대칭 암호 알고리즘을 통해 이루어지는, 상호작용을 보안시키기 위한 시스템.
  32. 제 30항에 있어서,
    상기 인증 디바이스는 상기 검증 서버 또는 상기 애플리케이션 서버 중 적어도 하나와 하나 또는 그 초과의 보안 메시징 키들을 공유하고,
    상기 애플리케이션 서버 또는 상기 검증 서버 중 적어도 하나는 애플리케이션 메시지를 생성하고 그리고 상기 공유되는 하나 또는 그 초과의 보안 메시징 키들을 사용하는 보안 메시징 기술들을 통해 상기 애플리케이션 메시지를 보안시키도록 적응되며,
    상기 클라이언트 애플리케이션은 상기 보안된 애플리케이션 메시지를 수신하고 그리고 상기 보안된 애플리케이션 메시지를 상기 블루투스 연결을 통해서 상기 인증 디바이스에 포워딩하도록 적응되며, 그리고
    상기 인증 디바이스는 상기 보안된 애플리케이션 메시지를 상기 블루투스 연결을 통해서 수신하고 그리고 상기 공유되는 하나 또는 그 초과의 보안 메시징 키들을 사용하여 상기 보안 메시징 키들을 지원하고 상기 보안된 애플리케이션 메시지에 대해 동작하도록 적응되는, 상호작용을 보안시키기 위한 시스템.
  33. 제 30항에 있어서,
    상기 인증 디바이스는,
    상기 인증 디바이스에게 상기 동적 크리덴셜을 생성 및 리턴하라는 요청을 포함하는 애플리케이션 메시지를 상기 블루투스 연결을 통해서 수신하고, 그리고
    상기 애플리케이션 메시지를 수신하는 것에 대한 응답으로, 상기 동적 크리덴셜을 생성하고 그리고 상기 동적 크리덴셜을 상기 블루투스 연결을 통해서 리턴하도록 적응되는, 상호작용을 보안시키기 위한 시스템.
  34. 제 33항에 있어서,
    상기 애플리케이션 메시지는 챌린지를 포함하는, 상호작용을 보안시키기 위한 시스템.
  35. 제 34항에 있어서,
    상기 챌린지는 상기 애플리케이션 서버 또는 상기 검증 서버 중 적어도 하나에 의해 생성되는 비예측가능 값을 포함하는, 상호작용을 보안시키기 위한 시스템.
  36. 제 33항에 있어서,
    상기 애플리케이션 메시지는 상기 사용자에 의해서 상기 애플리케이션에 제출되는 트랜잭션 데이터를 포함하고, 상기 동적 변수는 상기 트랜잭션 데이터에 기초하는, 상호작용을 보안시키기 위한 시스템.
  37. 제 30항에 있어서,
    상기 인증 디바이스는 시간에 따라 변하는 애플리케이션 상태를 유지하고 그리고 상기 인증 디바이스의 현재 애플리케이션 상태에 대한 정보를 상기 블루투스 연결을 통해서 상기 호스트 컴퓨터에 통신하도록 추가로 적응되고, 그리고
    상기 클라이언트 애플리케이션은 상기 인증 디바이스로부터 상기 현재 애플리케이션 상태 정보를 상기 블루투스 연결을 통해서 수신하고 그리고 상기 인증 디바이스를 어떻게 처리할 지에 대한 가이드라인들 또는 명령들 중 적어도 하나를 상기 사용자에게 제공하도록 추가로 적응되어, 상기 가이드라인들 또는 명령들 중 적어도 하나는 상기 수신되는 현재 애플리케이션 상태 정보의 함수인, 상호작용을 보안시키기 위한 시스템.
  38. 제 30항에 있어서,
    상기 클라이언트 애플리케이션은 상기 호스트 컴퓨터의 상기 사용자 입력 인터페이스에 의해서 상기 사용자로부터 PIN 값 또는 패스워드 값 중 적어도 하나를 획득하고 그리고 상기 획득되는 PIN 값 또는 상기 획득되는 패스워드 값 중 적어도 하나를 상기 블루투스 연결을 통해서 상기 인증 디바이스에 전송하도록 추가로 적응되고, 그리고
    상기 인증 디바이스는 상기 PIN 값 또는 상기 패스워드 값 중 적어도 하나를 상기 블루투스 연결을 통해서 수신하고 그리고 상기 수신되는 PIN 값 또는 상기 수신되는 패스워드 값 중 적어도 하나를 검증하도록 추가로 적응되는, 상호작용을 보안시키기 위한 시스템.
  39. 제 30항에 있어서,
    상기 호스트 컴퓨터는 상기 사용자로부터의 바이오메트릭 측정을 캡처하도록 적응되는 바이오메트릭 측정 컴포넌트를 더 포함하고,
    상기 클라이언트 애플리케이션은 상기 사용자로부터의 바이오메트릭 측정을 상기 호스트 컴퓨터의 상기 바이오메트릭 측정 컴포넌트에 의해 획득하고 그리고 상기 획득되는 바이오메트릭 측정 컴포넌트를 상기 블루투스 연결을 통해서 상기 인증 디바이스에 전송하도록 추가로 적응되며, 그리고
    상기 인증 디바이스는 상기 바이오메트릭 측정을 상기 블루투스 연결을 통해서 수신하고 그리고 상기 수신되는 바이오메트릭 측정을 검증하도록 추가로 적응되는, 상호작용을 보안시키기 위한 시스템.
  40. 제 30항에 있어서,
    상기 인증 디바이스는 상기 호트스 컴포넌트에 의해 실행될 커맨드들을 생성하고 그리고 상기 커맨드들을 상기 블루투스 연결을 통해서 상기 호스트 컴퓨터에 통신하도록 추가로 적응되고, 그리고
    상기 클라이언트 애플리케이션은 상기 블루투스 연결을 통해서 상기 인증 디바이스로부터 상기 커맨드들을 수신하고 그리고 상기 커맨드들을 수행하도록 추가로 적응되는, 상호작용을 보안시키기 위한 시스템.
  41. 제 40항에 있어서,
    상기 호스트 컴퓨터에 의해 상기 커맨드들을 수행하는 것은 상기 호스트 컴퓨터가 상기 사용자 출력 인터페이스 또는 상기 사용자 입력 인터페이스 중 적어도 하나를 사용하여 상기 사용자와 상호작용하는 것을 포함하는, 상호작용을 보안시키기 위한 시스템.
  42. 제 30항에 있어서,
    상기 클라이언트 애플리케이션은, 상기 인증 디바이스가 상기 블루투스 연결에 의해 상기 호스트 컴퓨터에 연결될 때, 상기 호스트 컴퓨터까지 상기 인증 디바이스의 거리에 대한 표시를 획득하도록 추가로 적응되고, 그리고
    상기 애플리케이션은 상기 사용자에 대한 하나 또는 그 초과의 액세스 권한들을 허가할지, 유지할지 또는 철회할지를 판단할 때 상기 거리 표시를 고려하도록 적응되는, 상호작용을 보안시키기 위한 시스템.
  43. 사용자와의 컴퓨터-기반 애플리케이션의 상호작용을 보안시키는 방법으로서,
    상기 컴퓨터-기반 애플리케이션은 클라이언트 부분 및 호스트 부분을 포함하고, 이로 인해서 사용자는 동적 크리덴셜을 생성하기 위해 인증 디바이스를 동작시키고, 상기 인증 디바이스는 블루투스 호스트 디바이스와 통신하기 위해 블루투스 인터페이스를 포함하며,
    상기 방법은,
    로컬 호스트 컴퓨터의 사용자 입력 인터페이스 및 사용자 출력 인터페이스를 사용함으로써 상기 사용자가 상기 컴퓨터-기반 애플리케이션과 상호작용하도록 허용하기 위해 상기 컴퓨터-기반 애플리케이션의 상기 클라이언트 부분인 클라이언트 애플리케이션을 상기 로컬 호스트 컴퓨터 상에서 실행하는 단계;
    상기 로컬 호스트 컴퓨터에서 상기 인증 디바이스와의 블루투스 연결을 셋업하는 단계;
    상기 블루투스 연결을 통해서 상기 인증 디바이스로부터 상기 동적 크리덴셜을 수신하는 단계 ― 상기 동적 크리덴셜은 동적 변수를 상기 인증 디바이스에 저장된 제 1 암호 인증 키와 암호적으로 결합함으로써 상기 인증 디바이스에 의해 생성됨 ―;
    제 2 암호 인증 키로 파라미터화되는 암호 알고리즘을 사용하여 상기 동적 크리덴셜을 검증하는 단계를 포함하는, 상호작용을 보안시키는 방법.
  44. 제 43항에 있어서,
    애플리케이션 메시지를 생성하는 단계;
    상기 인증 디바이스와 공유되는 적어도 하나의 대칭 보안 메시징 키로 파라미터화되는 대칭 암호 알고리즘에 기초하는 보안 메시징 기술들을 적용함으로써 상기 애플리케이션을 보안시키는 단계; 및
    상기 호스트 컴퓨터에서 상기 블루투스 연결을 통해 상기 애플리케이션 메시지를 상기 인증 디바이스에 전송하는 단계를 더 포함하는, 상호작용을 보안시키는 방법.
  45. 제 43항에 있어서,
    상기 인증 디바이스에게 상기 동적 크리덴셜을 생성 및 리턴하라는 요청을 포함하는 애플리케이션 메시지를 생성하는 단계; 및
    상기 호스트 컴퓨터에서 상기 블루투스 연결을 통해 상기 애플리케이션 메시지를 상기 인증 디바이스에 전송하는 단계를 더 포함하고,
    이로 인해서, 상기 인증 디바이스가 상기 블루투스 연결을 통해서 상기 애플리케이션 메시지를 수신하는 것에 대한 응답으로, 상기 인증 디바이스는 상기 동적 크리덴셜을 생성하고 상기 블루투스 연결을 통해서 상기 호스트 컴퓨터에 리턴하는, 상호작용을 보안시키는 방법.
  46. 제 45항에 있어서,
    챌린지를 생성하는 단계; 및
    상기 챌린지를 상기 애플리케이션 메시지에 포함시키는 단계를 더 포함하고,
    이로 인해서, 상기 동적 변수는 상기 챌린지에 기초하는, 상호작용을 보안시키는 방법.
  47. 제 45항에 있어서,
    트랜잭션을 수행하라는 요청을 상기 사용자로부터 수신하는 단계;
    상기 트랜잭션을 나타내는 트랜잭션 데이터를 상기 애플리케이션 메시지에 포함시키는 단계; 및
    상기 동적 크리덴셜의 검증이 성공적인 경우에 상기 트랜잭션 요청을 수행하는 단계를 포함하고,
    이로 인해서, 상기 동적 변수는 상기 애플리케이션 메시지에 포함된 상기 트랜잭션 데이터에 기초하는, 상호작용을 보안시키는 방법.
  48. 제 43항에 있어서,
    상기 로컬 호스트 컴퓨터에서 상기 인증 디바이스의 애플리케이션 상태에 대한 정보를 상기 블루투스 연결을 통해 상기 인증 디바이스로부터 수신하는 단계;
    상기 로컬 호스트 컴퓨터에서 상기 인증 디바이스의 동작에 관한 가이드라인들 또는 명령들 중 적어도 하나를 상기 사용자 출력 인터페이스에 의해 상기 사용자에게 제공하는 단계를 포함하고,
    이로 인해서, 상기 가이드라인들 또는 상기 명령들 중 적어도 하나는 상기 인증 디바이스의 애플리케이션 상태에 대한 상기 수신되는 정보의 함수인, 상호작용을 보안시키는 방법.
  49. 제 43항에 있어서,
    수행될 커맨드를 상기 로컬 호스트 컴퓨터에서 상기 블루투스 연결을 통해 상기 인증 디바이스로부터 수신하는 단계 및 상기 로컬 호스트 컴퓨터에서 상기 커맨드를 수행하는 단계를 더 포함하는, 상호작용을 보안시키는 방법.
  50. 제 43항에 있어서,
    상기 로컬 호스트 컴퓨터에서 상기 사용자 입력 인터페이스에 의해 상기 사용자로부터 PIN 값 또는 패스워드 값 중 적어도 하나를 획득하는 단계 및 상기 획득되는 PIN 값 또는 상기 획득되는 패스워드 값 중 적어도 하나가 상기 인증 디바이스에 의해 검증되도록 하기 위해서 상기 획득되는 PIN 값 또는 상기 획득되는 패스워드 값 중 적어도 하나를 상기 블루투스 연결을 통해서 상기 인증 디바이스에 전송하는 단계를 더 포함하는, 상호작용을 보안시키는 방법.
  51. 제 43항에 있어서,
    상기 로컬 호스트 컴퓨터에서 바이오메트릭 센서에 의해 상기 사용자로부터의 바이오메트릭 측정을 획득하는 단계 및 상기 획득되는 바이오메트릭 측정이 상기 인증 디바이스에 의해 검증되도록 하기 위해서 상기 획득되는 바이오메트릭 측정을 상기 블루투스 연결을 통해서 상기 인증 디바이스에 전송하는 단계를 더 포함하는, 상호작용을 보안시키는 방법.
  52. 제 43항에 있어서,
    상기 로컬 호스트 컴퓨터와 상기 인증 디바이스 간의 실제 거리를 표시하는 거리 표시 값을 상기 로컬 호스트 컴퓨터에서 획득하는 단계 및 상기 사용자에 대한 하나 또는 그 초과의 액세스 권한들을 허가할지, 유지할지 또는 철회할지를 결정하는데 있어 상기 거리 표시 값을 사용하는 단계를 더 포함하는, 상호작용을 보안시키는 방법.
  53. 사용자와의 컴퓨터-기반 애플리케이션의 상호작용을 보안시키는 방법으로서,
    상기 컴퓨터-기반 애플리케이션은 클라이언트 부분 및 호스트 부분을 포함하고, 이로 인해서 사용자는 인증 디바이스를 휴대하고, 상기 인증 디바이스는 블루투스 호스트 디바이스와 통신하기 위해 블루투스 인터페이스를 포함하며,
    상기 방법은,
    로컬 호스트 컴퓨터의 사용자 입력 인터페이스 및 사용자 출력 인터페이스를 사용함으로써 상기 사용자가 상기 컴퓨터-기반 애플리케이션과 상호작용하도록 허용하기 위해 상기 컴퓨터-기반 애플리케이션의 상기 클라이언트 부분인 클라이언트 애플리케이션을 상기 로컬 호스트 컴퓨터 상에서 실행하는 단계;
    상기 로컬 호스트 컴퓨터에서 상기 인증 디바이스와의 블루투스 연결을 셋업하는 단계;
    상기 로컬 호스트 컴퓨터와 상기 인증 디바이스 간의 실제 거리를 표시하는 거리 표시 값을 상기 로컬 호스트 컴퓨터에서 획득하는 단계; 및
    상기 사용자에 대한 하나 또는 그 초과의 액세스 권한들을 허가할지, 유지할지, 또는 철회할지를 결정하는데 있어 상기 거리 표시 값을 사용하는 단계를 포함하는, 상호작용을 보안시키는 방법.
  54. 제 53항에 있어서,
    상기 거리 표시 값을 미리 정의된 임계값에 비교하는 단계 및 상기 인증 디바이스가 상기 임계값과 연관된 거리보다 상기 호스트 컴퓨터로부터 더 멀리 있다고 상기 비교하는 단계가 표시하는 경우에는 상기 사용자에 대한 상기 하나 또는 그 초과의 액세스 권한들 중 적어도 하나를 철회하는 단계를 더 포함하는, 상호작용을 보안시키는 방법.
  55. 제 53항에 있어서,
    상기 거리 표시 값을 미리 정의된 임계값에 비교하는 단계 및 상기 인증 디바이스가 상기 임계값과 연관된 거리보다 상기 호스트 컴퓨터에 더 가까이 있다고 상기 비교하는 단계가 표시하는 경우에는 상기 사용자에 대한 상기 하나 또는 그 초과의 액세스 권한들 중 적어도 하나를 허가하는 단계를 더 포함하는, 상호작용을 보안시키는 방법.
KR1020167021000A 2013-12-30 2014-12-16 블루투스 인터페이스를 갖는 인증 장치 KR102144528B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361921743P 2013-12-30 2013-12-30
US61/921,743 2013-12-30
PCT/US2014/070485 WO2015102880A1 (en) 2013-12-30 2014-12-16 An authentication apparatus with a bluetooth interface

Publications (2)

Publication Number Publication Date
KR20160129839A true KR20160129839A (ko) 2016-11-09
KR102144528B1 KR102144528B1 (ko) 2020-08-14

Family

ID=52345546

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167021000A KR102144528B1 (ko) 2013-12-30 2014-12-16 블루투스 인터페이스를 갖는 인증 장치

Country Status (7)

Country Link
US (2) US9614815B2 (ko)
EP (1) EP3090373B1 (ko)
JP (2) JP2017507549A (ko)
KR (1) KR102144528B1 (ko)
CN (2) CN204948095U (ko)
ES (1) ES2812541T3 (ko)
WO (1) WO2015102880A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180081308A (ko) * 2017-01-06 2018-07-16 (주)비콘테크놀로지 BLE 기반의 애드버타이징(advertising)을 이용한 보안 시스템 및 방법

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140207686A1 (en) * 2013-01-21 2014-07-24 Humetrix.Com, Inc. Secure real-time health record exchange
US10235512B2 (en) 2014-06-24 2019-03-19 Paypal, Inc. Systems and methods for authentication via bluetooth device
CN205721792U (zh) * 2014-09-30 2016-11-23 苹果公司 电子设备
WO2016088310A1 (ja) 2014-12-04 2016-06-09 セイコーエプソン株式会社 印刷装置、印刷装置の制御方法、及び、記憶媒体
JP6488865B2 (ja) 2014-12-04 2019-03-27 セイコーエプソン株式会社 印刷装置、印刷装置の制御方法、及び、記憶媒体
US9621948B2 (en) 2015-01-29 2017-04-11 Universal Electronics Inc. System and method for prioritizing and filtering CEC commands
US20160314294A1 (en) * 2015-04-24 2016-10-27 Hand Held Products, Inc. Secure unattended network authentication
US10015987B2 (en) * 2015-07-24 2018-07-10 Rai Strategic Holdings Inc. Trigger-based wireless broadcasting for aerosol delivery devices
WO2017033766A1 (ja) * 2015-08-25 2017-03-02 ソニー株式会社 通信装置、通信方法、及び、通信システム
US10261568B2 (en) 2015-09-16 2019-04-16 Microsoft Technology Licensing, Llc Enhancing user experience relative to peripheral devices
US9912668B2 (en) * 2015-09-16 2018-03-06 Microsoft Technology Licensing, Llc Enhancing user experience relative to peripheral devices
CN108027854B (zh) 2015-09-21 2023-03-21 万思伴国际有限公司 多用户强认证令牌
WO2017064361A1 (en) * 2015-10-16 2017-04-20 Nokia Technologies Oy Message authentication
US10511438B2 (en) * 2015-12-30 2019-12-17 Onespan North America Inc. Method, system and apparatus using forward-secure cryptography for passcode verification
JP6733238B2 (ja) * 2016-03-18 2020-07-29 富士ゼロックス株式会社 認証装置及び認証プログラム
US10009340B2 (en) * 2016-03-25 2018-06-26 Fortinet, Inc. Secure, automatic second factor user authentication using push services
US10530768B2 (en) * 2016-04-19 2020-01-07 Microsoft Technology Licensing, Llc Two-factor authentication
SE540967C2 (en) * 2016-04-29 2019-02-05 Stoneridge Electronics Ab An arrangement and a method for managing pin codes in a vehicle unit
WO2018004303A1 (ko) * 2016-07-01 2018-01-04 엘지전자(주) 블루투스 기술을 사용하는 장치의 인증 방법 및 장치
US10334434B2 (en) * 2016-09-08 2019-06-25 Vmware, Inc. Phone factor authentication
WO2018111302A1 (en) * 2016-12-16 2018-06-21 Visa International Service Association System and method for securely processing an electronic identity
US10691788B2 (en) * 2017-02-03 2020-06-23 Ademco Inc. Systems and methods for provisioning a camera with a dynamic QR code and a BLE connection
CN110326265B (zh) * 2017-02-22 2022-07-12 瑞典爱立信有限公司 用于客户端的认证的方法和装置
US11184765B2 (en) * 2017-07-21 2021-11-23 Thales Dis France Sa Method for authenticating a user and corresponding user device, server and system
US11062050B2 (en) 2017-11-24 2021-07-13 Elsi Inc Devices, systems, and methods for securely storing and managing sensitive information
CN109005541B (zh) * 2018-07-20 2019-12-06 北京海泰方圆科技股份有限公司 蓝牙连接方法、装置和系统
WO2020089724A1 (en) * 2018-11-01 2020-05-07 3M Innovative Properties Company Device, user, or server registration and verification
US11032716B2 (en) 2018-11-30 2021-06-08 Blackberry Limited Secure communication for machine to machine connections
CA3121179A1 (en) 2018-12-06 2020-06-11 Entrust, Inc. Single sign-on using smart credential
US11637825B2 (en) * 2019-01-11 2023-04-25 Visa International Service Association Authentication with offline device
US11394712B2 (en) * 2019-01-18 2022-07-19 Anchor Labs, Inc. Secure account access
US10733283B1 (en) 2019-12-23 2020-08-04 Capital One Services, Llc Secure password generation and management using NFC and contactless smart cards
EP3923223A1 (en) * 2020-06-10 2021-12-15 Mastercard International Incorporated Iot devices
US20220400108A1 (en) * 2021-06-09 2022-12-15 Capital One Services, Llc Tokenizing authentication information
US20230089689A1 (en) * 2021-09-20 2023-03-23 Apple Inc. User interfaces for digital identification

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001352324A (ja) * 2000-06-07 2001-12-21 Nec Corp ワンタイムパスワード生成装置、認証方法およびワンタイムパスワード生成プログラムを記録した記録媒体
JP2008040907A (ja) * 2006-08-08 2008-02-21 Softbank Mobile Corp 携帯端末、icカード、パスコード生成プログラムおよびパスコード生成方法
JP2010204809A (ja) * 2009-03-02 2010-09-16 Toppan Printing Co Ltd Usb型トークン

Family Cites Families (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0727894B1 (en) * 1994-08-30 2004-08-04 Kokusai Denshin Denwa Co., Ltd Certifying system
US6772331B1 (en) * 1999-05-21 2004-08-03 International Business Machines Corporation Method and apparatus for exclusively pairing wireless devices
US7032240B1 (en) * 1999-12-07 2006-04-18 Pace Anti-Piracy, Inc. Portable authorization device for authorizing use of protected information and associated method
US20010045451A1 (en) * 2000-02-28 2001-11-29 Tan Warren Yung-Hang Method and system for token-based authentication
US7379919B2 (en) * 2000-04-11 2008-05-27 Mastercard International Incorporated Method and system for conducting secure payments over a computer network
JP3544918B2 (ja) * 2000-04-28 2004-07-21 株式会社東芝 無線通信装置及びユーザ認証方法
DE20012538U1 (de) * 2000-07-19 2000-10-12 Dosch & Amand Gmbh & Co Kg Internet-Endgerät mit Identifikationsmodul
JP4839516B2 (ja) * 2001-02-27 2011-12-21 ソニー株式会社 認証システム及び認証方法
JP2002259344A (ja) * 2001-02-28 2002-09-13 Mitsubishi Electric Corp ワンタイムパスワード認証システム及び携帯電話及びユーザ認証サーバ
US8554607B2 (en) * 2001-03-13 2013-10-08 Science Applications International Corporation Method and system for securing network-based electronic voting
TW552786B (en) * 2001-04-30 2003-09-11 Activcard Method and system for remote activation and management of personal security devices
US7194761B1 (en) * 2002-01-22 2007-03-20 Cisco Technology, Inc. Methods and apparatus providing automatic client authentication
JP3988510B2 (ja) * 2002-04-11 2007-10-10 株式会社デンソー 情報端末
US8406478B2 (en) * 2002-08-08 2013-03-26 Agency for Science, Technology and Research Nanyang Technological University Distributed processing in authentication
WO2004036513A1 (en) * 2002-10-17 2004-04-29 Vodafone Group Plc Facilitating and authenticating transactions
US7895443B2 (en) * 2002-11-05 2011-02-22 Safenet, Inc. Secure authentication using hardware token and computer fingerprint
JP4068512B2 (ja) * 2003-06-10 2008-03-26 株式会社東芝 通信装置、携帯端末装置、通信システム、通信制御プログラム及び通信制御方法
JP2005117430A (ja) * 2003-10-08 2005-04-28 Nec Saitama Ltd 携帯端末紛失時の不正使用防止方法及び携帯端末
GB2408129A (en) * 2003-11-14 2005-05-18 Isolve Ltd User authentication via short range communication from a portable device (eg a mobile phone)
JP2005173197A (ja) * 2003-12-11 2005-06-30 Buffalo Inc 暗号復号処理システム及び暗号復号処理装置
US20050223233A1 (en) * 2004-04-01 2005-10-06 Fujitsu Limited Authentication method and system
JP4817814B2 (ja) * 2004-11-19 2011-11-16 富士通株式会社 アプリケーション状態情報転送システム
US7636323B2 (en) * 2005-06-14 2009-12-22 Broadcom Corporation Method and system for handling connection setup in a network
US20070022196A1 (en) * 2005-06-29 2007-01-25 Subodh Agrawal Single token multifactor authentication system and method
AU2006278422B2 (en) * 2005-08-03 2011-10-06 Intercomputer Corporation System and method for user identification and authentication
EP1802155A1 (en) * 2005-12-21 2007-06-27 Cronto Limited System and method for dynamic multifactor authentication
US7480637B2 (en) * 2005-12-23 2009-01-20 Biometric Associates, Lp Internet transaction authentication apparatus, method, and system for improving security of internet transactions
US8112787B2 (en) * 2005-12-31 2012-02-07 Broadcom Corporation System and method for securing a credential via user and server verification
US7464865B2 (en) * 2006-04-28 2008-12-16 Research In Motion Limited System and method for managing multiple smart card sessions
JP4868947B2 (ja) * 2006-06-05 2012-02-01 株式会社日立製作所 生体認証装置と生体認証システム及びicカード並びに生体認証方法
JP4584192B2 (ja) * 2006-06-15 2010-11-17 Necビッグローブ株式会社 認証システム、認証サーバ、端末、認証方法、プログラム
US20080216172A1 (en) * 2006-07-13 2008-09-04 Victor Forman Systems, methods, and apparatus for secure transactions in trusted systems
US8667285B2 (en) * 2007-05-31 2014-03-04 Vasco Data Security, Inc. Remote authentication and transaction signatures
JP4790678B2 (ja) * 2007-09-05 2011-10-12 パナソニック株式会社 携帯端末装置及び認証エリア拡張システム
JP2009064310A (ja) * 2007-09-07 2009-03-26 Yamatake Corp データ通信方法およびクライアントサーバシステム
US8220034B2 (en) * 2007-12-17 2012-07-10 International Business Machines Corporation User authentication based on authentication credentials and location information
US8214888B2 (en) * 2008-01-30 2012-07-03 Vasco Data Security, Inc. Two-factor USB authentication token
JP5078675B2 (ja) * 2008-03-03 2012-11-21 三菱電機株式会社 会員認証システム及び携帯端末装置
US8302167B2 (en) * 2008-03-11 2012-10-30 Vasco Data Security, Inc. Strong authentication token generating one-time passwords and signatures upon server credential verification
US7996571B2 (en) * 2008-03-25 2011-08-09 Nokia Corporation Wireless coordination of apparatus interaction
US9286742B2 (en) * 2008-03-31 2016-03-15 Plantronics, Inc. User authentication system and method
CN102007726B (zh) * 2008-04-24 2014-05-14 富士通株式会社 节点装置以及程序
US20100138914A1 (en) * 2008-12-01 2010-06-03 Research In Motion Limited System and method of providing biometric quick launch
US20100222000A1 (en) * 2009-02-27 2010-09-02 Research In Motion Limited Methods And Apparatus For Use In Selectively Retrieving And Displaying User Interface Information Of A Wireless Peripheral Device
US8347096B2 (en) * 2009-07-10 2013-01-01 Vasco Data Security, Inc. Authentication token with incremental key establishment capacity
US9021601B2 (en) * 2009-10-23 2015-04-28 Vasco Data Security, Inc. Strong authentication token usable with a plurality of independent application providers
US8826030B2 (en) * 2010-03-22 2014-09-02 Daon Holdings Limited Methods and systems for authenticating users
WO2012023050A2 (en) * 2010-08-20 2012-02-23 Overtis Group Limited Secure cloud computing system and method
JP2012073902A (ja) * 2010-09-29 2012-04-12 Dainippon Printing Co Ltd 個人認証システム、個人認証方法、プログラム及び記憶媒体
CN102457824B (zh) * 2010-10-26 2015-05-27 中国移动通信集团公司 一种事件处理方法和装置
GB2485594B (en) * 2010-11-22 2012-10-24 Alan Wilkinson Shim-mask stencil
US8620379B2 (en) * 2010-12-06 2013-12-31 Broadcom Corporation Windows portable devices interface for Bluetooth low energy devices
DE212012000065U1 (de) * 2011-02-25 2013-09-27 Vasco Data Security International Gmbh Ein Token für eine starke Authentisierung mit akustischer Dateneingabe
EP2680485B1 (en) 2011-06-02 2016-04-06 Mitsubishi Electric Corporation Key information generation device and key information generation method
JP2013031151A (ja) * 2011-06-20 2013-02-07 Renesas Electronics Corp 暗号通信システムおよび暗号通信方法
US20130041790A1 (en) * 2011-08-12 2013-02-14 Sivakumar Murugesan Method and system for transferring an application state
US8453223B2 (en) * 2011-09-23 2013-05-28 Jerome Svigals Method, device and system for secure transactions
EP2575084A1 (en) * 2011-09-30 2013-04-03 Nxp B.V. Security token and authentication system
CN104160652B (zh) * 2011-12-27 2017-06-13 英特尔公司 用于使用一次性密码的分布式离线登录的方法和系统
US8819798B2 (en) * 2011-12-29 2014-08-26 Ebay Inc. System and method for transferring states between electronic devices
JP5844001B2 (ja) * 2012-04-01 2016-01-13 オーセンティファイ・インクAuthentify Inc. マルチパーティシステムにおける安全な認証
US8819445B2 (en) * 2012-04-09 2014-08-26 Mcafee, Inc. Wireless token authentication
DK2885904T3 (en) * 2012-08-03 2018-08-06 Onespan Int Gmbh PROCEDURE FOR USER-EASY AUTHENTICATION AND DEVICE USING A MOBILE APPLICATION FOR AUTHENTICATION
US8787902B2 (en) * 2012-10-31 2014-07-22 Irevo, Inc. Method for mobile-key service
US20140149742A1 (en) * 2012-11-28 2014-05-29 Arnold Yau Method and system of providing authentication of user access to a computer resource via a mobile device using multiple separate security factors
US8595810B1 (en) * 2013-01-13 2013-11-26 Mourad Ben Ayed Method for automatically updating application access security
US9154483B1 (en) * 2013-02-21 2015-10-06 Amazon Technologies, Inc. Secure device configuration
CN103312508A (zh) * 2013-05-15 2013-09-18 飞天诚信科技股份有限公司 一种动态令牌的工作方法
US20150033306A1 (en) * 2013-07-25 2015-01-29 International Business Machines Corporation Apparatus and method for system user authentication
WO2015068988A1 (ko) * 2013-11-06 2015-05-14 엘지전자(주) 무선 통신 시스템에서 데이터를 송수신하는 방법 및 이를 수행하기 위한 장치
US9113329B2 (en) * 2013-11-18 2015-08-18 Tyfone, Inc. Mobile device learning mode for secure identification
US9319401B2 (en) * 2014-01-27 2016-04-19 Bank Of America Corporation System and method for cross-channel authentication
US9462469B2 (en) * 2014-04-21 2016-10-04 Arm Limited Systems and methods for short range wireless data transfer
US9631933B1 (en) * 2014-05-23 2017-04-25 Google Inc. Specifying unavailable locations for autonomous vehicles
US10055567B2 (en) * 2014-05-30 2018-08-21 Apple Inc. Proximity unlock and lock operations for electronic devices
KR20160000534A (ko) * 2014-06-24 2016-01-05 (주)휴맥스 홈 네트워크 자동 연결형 영상 스트리밍 서비스 시스템 및 방법
JP6190538B2 (ja) * 2014-09-01 2017-08-30 パスロジ株式会社 ユーザ認証方法及びこれを実現するためのシステム
EP3241159A1 (en) * 2014-12-31 2017-11-08 Vasco Data Security International GmbH A method and apparatus for securing an application using a measurement of a location dependent physical property of the environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001352324A (ja) * 2000-06-07 2001-12-21 Nec Corp ワンタイムパスワード生成装置、認証方法およびワンタイムパスワード生成プログラムを記録した記録媒体
JP2008040907A (ja) * 2006-08-08 2008-02-21 Softbank Mobile Corp 携帯端末、icカード、パスコード生成プログラムおよびパスコード生成方法
JP2010204809A (ja) * 2009-03-02 2010-09-16 Toppan Printing Co Ltd Usb型トークン

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180081308A (ko) * 2017-01-06 2018-07-16 (주)비콘테크놀로지 BLE 기반의 애드버타이징(advertising)을 이용한 보안 시스템 및 방법

Also Published As

Publication number Publication date
CN204948095U (zh) 2016-01-06
WO2015102880A1 (en) 2015-07-09
JP2019083560A (ja) 2019-05-30
US20170171755A1 (en) 2017-06-15
CN104811308A (zh) 2015-07-29
JP6703151B2 (ja) 2020-06-03
ES2812541T3 (es) 2021-03-17
US9614815B2 (en) 2017-04-04
JP2017507549A (ja) 2017-03-16
US11026085B2 (en) 2021-06-01
KR102144528B1 (ko) 2020-08-14
US20150188891A1 (en) 2015-07-02
EP3090373B1 (en) 2020-05-27
EP3090373A1 (en) 2016-11-09

Similar Documents

Publication Publication Date Title
US11026085B2 (en) Authentication apparatus with a bluetooth interface
US10404754B2 (en) Query system and method to determine authentication capabilities
US10075437B1 (en) Secure authentication of a user of a device during a session with a connected server
US10205711B2 (en) Multi-user strong authentication token
US9219732B2 (en) System and method for processing random challenges within an authentication framework
EP3916593B1 (en) System and method for efficiently enrolling, registering, and authenticating with multiple authentication devices
EP3138265B1 (en) Enhanced security for registration of authentication devices
US9306754B2 (en) System and method for implementing transaction signing within an authentication framework
US9015482B2 (en) System and method for efficiently enrolling, registering, and authenticating with multiple authentication devices
US9083689B2 (en) System and method for implementing privacy classes within an authentication framework
US8769289B1 (en) Authentication of a user accessing a protected resource using multi-channel protocol
US20140068744A1 (en) Surrogate Secure Pairing of Devices
US9935953B1 (en) Secure authenticating an user of a device during a session with a connected server
US11544365B2 (en) Authentication system using a visual representation of an authentication challenge
WO2019133769A1 (en) Single sign on (sso) using continuous authentication
KR20160097323A (ko) Nfc 인증 메커니즘
CN105325021B (zh) 用于远程便携式无线设备认证的方法和装置
CN108322507A (zh) 一种利用安全设备执行安全操作的方法及系统
EP2959420B1 (en) Methods, apparatus and computer programs for entity authentication
JP6005232B1 (ja) リカバリシステム、サーバ装置、端末装置、リカバリ方法及びリカバリプログラム
JP2009020783A (ja) 非接触icと携帯情報端末を使用した認証システム及び認証方法
EP2645275A1 (en) Method, device and system for accessing a service

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right