KR20220058845A - 원격 검증에 관한 하드웨어 인증 토큰 - Google Patents

원격 검증에 관한 하드웨어 인증 토큰 Download PDF

Info

Publication number
KR20220058845A
KR20220058845A KR1020217038485A KR20217038485A KR20220058845A KR 20220058845 A KR20220058845 A KR 20220058845A KR 1020217038485 A KR1020217038485 A KR 1020217038485A KR 20217038485 A KR20217038485 A KR 20217038485A KR 20220058845 A KR20220058845 A KR 20220058845A
Authority
KR
South Korea
Prior art keywords
nonce
user
token
smartphone
authentication token
Prior art date
Application number
KR1020217038485A
Other languages
English (en)
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 KR20220058845A publication Critical patent/KR20220058845A/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Telephone Function (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)

Abstract

본 발명은 컴퓨터 터미널에 연결하기 위해 의도된 하드웨어 인증 토큰에 관한 것이다. 이 토큰은 확인 버튼, 프로세서 및 제1 개인 키가 저장되는 보안 메모리 영역을 포함한다. 터미널은 사용자에게 제1 넌스를 전송하여 사용자에게 토큰을 사용하여 인증할 것을 요청할 수 있다. 확인 버튼이 눌려진 후, 토큰은 제2 넌스를 생성하고, 초음파 신호들을 사용하여 인코딩하고 그 것을, 음향 채널을 통해, 사용자의 스마트폰으로 전송한다. 토큰은 응답으로부터 제2 넌스가 사용자에게 속한 제2 개인 키로 서명되었는지를 결정하고, 만약 그렇다면, 사용자를 인증하기 위해 제1 개인 키로 암호화된 제1 넌스를 컴퓨터 터미널에 반환한다.

Description

원격 검증에 관한 하드웨어 인증 토큰
본 발명은 하드웨어 인증 디바이스들의 일반적인 분야 및 보다 구체적으로 FIDO (Fast Identity Online) 2 프로토콜을 구현하는 하드웨어 토큰들에 관한 것이다.
종래에는, 컴퓨터 터미널을 경유한 온라인 서비스 또는 웹사이트에 대한 접속 보안은 사용자에 의해 입력된 로그인 및 패스워드에 의해 수행된다. 그러나, 이러한 접속 보안은 이러한 정보가, 특히 피싱 기술들에 의해, 도난될 수 있는 장치 때문에 상대적으로 기본적이다. 이러한 서비스들에 대한 접속의 보안, 특히 대역 외 인증 및 이중 요소 인증을 강화하기 위한 다양한 기술들이 제안되었다.
대역 외 인증(OOB)은 인증의 제2 수단을 제공하기 위해 접속에 사용된 것과 다른 통신 채널을 사용하는 강력한 타입의 인증이다. 대역 외 통신 채널들은 예를 들어 일회성 비밀 코드들을 전송하기 위한 이메일, SMS 등을 통한 연결일 수 있다.
이중 요소 인증 (2FA) 또는 보다 일반적으로 멀티 요소 인증 (MFA)은 일회성 암호들 (OTP) 또는 PKI (Public Key Infrastructure) 인프라 구조와 같은 여러 다른 기술들의 사용에 기반한다.
FIDO 얼라이언스 프레임워크에서 표준화된 FIDO (Fast Identity Online) 프로토콜은 PKI 인프라 구조를 제2 인증 요소로 사용한다. 보다 정확하게는, FIDO 프로토콜에 따르면, 사용자는 개인 키와 공개 키로 구성된 한 쌍의 키들을 생성한다. 공개 키는 온라인 서비스로 전송되고 사용자의 계정과 연관된다. 개인 키는 사용자의 인증 디바이스 (컴퓨터 터미널 자체 또는 예를 들어 후자에 연결된 USB 키)에 저장된 상태로 유지된다.
사용자가 온라인 서비스에 연결하려고 할 때, 그들은 먼저 로그인을 사용하여 자신을 식별한다. 그리고 사용자는 그들이 그들의 비밀 키로 서명한 넌스 (또는 챌린지)를 받고 서명된 넌스를 온라인 서비스로 다시 보낸다. 그런 다음 온라인 서비스는 후자의 개인 키에 의해 넌스가 서명되었는지 여부를 사용자의 공개 키를 사용하여 검증할 수 있다.
FIDO 프로토콜의 새로운 버전은 W3C's 웹 인증 (WebAuthn)의 사양들에 포함되었다. 이러한 사양들은 특히 도 1에 도시된 바와 같이 사용자의 개인 키 - 공개 키 쌍을 저장하기 위하여 하드웨어 토큰을 사용하는 FIDO U2F (범용 제2 요소, Universal Second Factor) 모드를 제공한다.
사용자는 사전에 자신의 터미널(110)을 이용하여 로그인을 사용하여 온라인 서비스에 등록하였고 패스워드(1차 인증 요소)를 이용하여 자신을 인증했다고 가정한다. 그들은 또한 FIDO U2F 인증 옵션을 활성화하고 싶다고 해당 서비스에 지시하고 결과적으로 해당 서비스를 위해 생성된 공개 키를 결과적으로 전송한다.
사용자의 개인 키 - 공개 키 쌍은 생성되고 하드웨어 토큰, 여기서는 USB 키 (130), 에 저장된다.
사용자가 온라인 서비스에 접속할 때, 그들은 먼저 대응하는 웹 페이지(120)에 그들의 로그인 및 비밀번호를 입력한다. 온라인 서비스는 또한 그들에게 넌스를 전송하여 그들이 그들의 제2 인증요소 (2FA)를 사용하여 자신을 인증하도록 프롬프트한다. 그런 다음 사용자는 USB 키를 그들의 컴퓨터의 USB 포트에 삽입하고 해당 넌스를 그들의 개인 키를 사용하여 서명하기 위해 USB 키의 검증 버튼(140)을 누른다. 이렇게 서명된 넌스는, USB 포트와 브라우저를 통해, 사용자의 공개 키를 사용하여, 후자가 정말로 그들의 개인 키를 가지고 서명했는지 여부를 검증할 수 있는 온라인 서비스에 전송된다.
FIDO U2F 프로토콜은 단순한 USB 키 이외의 토큰 타입들, 특히 BLE (블루투스 저전력, Bluetooth Low Energy) 또는 NFC (근거리 무선통신, Near Field Communication) 인터페이스와 함께 제공되는 하드웨어 토큰들을 승인한다는 점에 유의해야 한다.
하드웨어 인증 토큰과 결합된 FIDO U2F 프로토콜은 피싱 타입의 공격들에 대한 매우 우수한 저항성을 제공한다. 이 프로토콜과 호환되는 USB 키들 (FIO U2F 호환)은 더 이미 기성품으로 제공된다(예를 들어 Feitian 또는 YubiKey).
FIDO 프로토콜은, 암호를 제공할 필요 없이 (암호 없음), 간단한 하드웨어 토큰을 사용한 인증을 제공하는 것이 가능하도록 진화하였다. 이 새로운 버전의 FIDO 프로토콜에서, 인증 토큰은 위에서 설명한 개인 키 - 공개 키 쌍뿐만 아니라 사용자의 PIN 코드 역시 포함한다.
사용자는, 브라우저를 사용하여, 접속하고자 하는 사이트로 이동하고 인증 토큰 옵션을 통해 인증을 선택한다. 그 다음 브라우저는 사용자에게 그들의 PIN 코드를 입력하라는 메시지를 프롬프트하고, 후자는 온라인 서비스에서 미리 생성된 넌스와 함께 인증 토큰으로 전송된다. PIN 코드가 토큰에 저장된 것과 대응하는 경우, 사용자가 토큰의 검증 버튼을 누를 때, 후자는 해당 사이트에 대한 사용자의 로그인을 제공하고 개인 키로 넌스를 서명한다. 그런 다음 브라우저는 사용자의 로그인과 서명된 넌스를 온라인 서비스에 전송한다. 온라인 서비스는, 사용자의 공개 키를 사용하여, 넌스가 그들의 개인 키로 서명된 것을 검증한 후, 사용자에게 접속을 부여한다.
이 새로운 인증 프로토콜은 FIDO CTAP 2라고 호칭되며, CTAP은 Client To Authenticator Protocol의 약어를 의미한다.
토큰을 두 번째 인증 요소로써 (로그인으로써가 아님) 사용하는, 이전 프로토콜인 FIDO U2F는 새 버전의 프로토콜과 구별하기 위해서 FIDO CTAP1으로 이름이 변경되었다.
FIDO CTAP 1 프로토콜과 FIDO CTAP 2 프로토콜의 두 가지 버전들은 이제 FIDO 2 (또는 W3C WebAuthn)이라 불리는 동일한 표준 내에서 함께 그룹화된다. FIDO 2 프로토콜의 사양은 URL https://fidoalliance.org/specifications/download/ 에서 찾을 수 있다.
FIDO 2 프로토콜과 호환되는 하드웨어 토큰은 USB 포트 (또는 BLE 또는 NFC 인터페이스)가 있는 모든 터미널에서 안전하게 연결하는 것을 가능하게 한다. 반면에 그들의 USB 키를 제거하는 것을 잊은 사용자는 해킹을 당할 수 있고, 이는 특히 토큰이 로그인과 개인 키를 모두 포함하고 있다는 점에서 FIDO CTAP 2 프로토콜의 경우에 특히 사실이다: 그런 다음 온라인 서비스에 접속하기 위해 PIN 코드를 아는 것만으로 충분하다. 이러한 위험을 줄이기 위해, USB 키 자체에 지문 센서와 같은 생체 인식 센서를 제공하는 것이 가능하다. 그러나 하드웨어 토큰에 생체 인식 센서를 추가하는 것은 그것을 실질적으로 보다 복잡하고 비싸게 만들 수 있다.
본 발명의 목적은, 선행 기술의 보안 위험들 없이 USB 포트(또는 BLE 또는 NFC 인터페이스)를 제공하는 어떤 터미널에서도 인증될 수 있도록 하는, 간단하고 강력한 하드웨어 인증 토큰을 결과적으로 제안하는 것이다.
본 발명은 USB, BLE 또는 NFC 연결을 사용하여 컴퓨터 터미널에 연결되도록 의도된 하드웨어 인증 토큰에 의해 정의되며, 상기 하드웨어 토큰은 프로세서 및 보안 메모리 영역을 포함하고, 프로세서는 제1 비대칭 암호 시스템의 제1 개인 키와 제1 공개 키로 구성된 쌍을 생성하도록 적응되고, 제1 개인 키는 보안 메모리 영역에 저장되고, 상기 토큰은 다음을 더 포함한다는 점에서 고유하다:
- 그것의 코드 워드들이 보안 메모리 영역에 저장되어 있고, 상기 코드 워드들은 랜덤 또는 의사-랜덤 초음파 신호들을 나타내는, 인코딩 사전
Figure pct00001
을 사용하는 음향 인코더/디코더;
- 하드웨어 토큰이 사용자의 스마트폰과의 방출 및 수신에서 음향 채널을 설정할 수 있도록 하는 적어도 하나의 변환기;
- 상기 하드웨어 인증 토큰은 상기 연결을 통해 상기 터미널로부터 제1 넌스를 수신하고, 제1 넌스를 수신하면, 사전
Figure pct00002
를 사용하여 인코딩된 제2 넌스를 사용자의 스마트폰으로, 음향 채널을 통해서, 전송하도록 구성되고, 상기 하드웨어 인증 토큰은 음향 채널을 통해 상기 스마트폰으로부터 응답을 수신하도록 추가로 구성되고;
- 프로세서는 스마트폰으로부터의 상기 응답으로부터 제2 넌스가 사용자에게 속하는 제2 개인 키로 서명되었는지 여부를 결정하고, 만약 그렇다면, 제1 넌스를 제1 개인 키를 이용하여 암호화하도록 적응되고;
- 상기 하드웨어 인증 토큰은 사용자를 인증하기 위해 암호화된 제1 넌스를 상기 연결을 통해 터미널로 반환하도록 구성됨.
일반적으로, 토큰은 USB 키 형식이다. 이는 확인 버튼을 더 포함할 수 있으며, 토큰은 제1 넌스를 수신하고 확인 버튼이 작동될 때까지 제2 넌스를 생성하지 않고 전송하지 않는다.
이는 제1 넌스가 터미널로부터 수신되었을 때, 스마트폰으로 제2 넌스의 생성 및 전송을 확인할 것을 사용자에게 지시하는 지시등을 더 포함할 수 있다.
유리하게는, 이는 또한 음향 채널을 통해 상기 초음파 신호들을 방출 및 수신하기 위한 확성기 및 내장 마이크로폰을 포함한다.
본 발명은 또한 위에서 정의된 바와 같은 하드웨어 인증 토큰을 사용하여 컴퓨터 터미널 및 스마트폰에서 사용자를 인증하는 방법에 관한 것으로, 상기 방법은 다음을 더 포함하는 점에서 고유하다:
a) 컴퓨터 터미널이 하드웨어 인증 토큰으로 제1 넌스를 포함하는 인증 요청을 전송하는 단계;
b) 상기 하드웨어 인증 토큰의 메모리 영역에 제1 넌스를 임시로 저장;
c) 상기 하드웨어 인증 토큰이 상기 제1 넌스가 수신될 때 제2 넌스를 생성하고, 제2 넌스는 인코딩 사전
Figure pct00003
을 사용하여 제1 초음파 신호의 형태로 인코딩되는 단계;
d) 하드웨어 인증 토큰이 음향 채널을 통해, 제1 초음파 신호를 사용자의 스마트폰으로 전송하고, 제1 초음파 신호는 제2 넌스를 제공하기 위해 디코딩되는 단계;
e) 사용자의 스마트폰에 미리 오픈된 인증 어플리케이션에 의해, 제2 개인 키로 제2 넌스를 서명하고, 제2 넌스의 서명은 제2 인코딩 사전
Figure pct00004
을 사용하여 제2 초음파 신호의 형태로 인코딩되는 단계;
f) 스마트폰에 의해 제2 초음파 신호를 음향 채널을 통해 하드웨어 인증 토큰으로 전송하고, 제2 초음파 신호는 제2 넌스의 서명을 제공하기 위해 디코딩되는 단계;
g) 프로세서가 제2 공개 키를 사용하여 제2 넌스의 서명을 검증하는 단계; 및 검증이 긍정적인 경우에:
h) 프로세서가 제1 개인 키를 사용하여 제1 넌스를 서명하고, 제1 넌스의 서명은 사용자를 인증하기 위한 터미널로의 응답의 형태로 전송되는 단계.
토큰에 확인 버튼이 제공될 때, 사용자는 단계 (b) 와 (c) 사이에서 제2 넌스의 생성과 제1 초음파 신호의 스마트폰으로의 전송을 트리거하기 위해 이 버튼을 작동할 수 있다.
마찬가지로, 토큰에 지시등이 제공될 때, 후자는 단계 (b)에서 인증 요청을 수신했음을 사용자에게 지시한다.
일반적으로, 단계 (a) 이전에, 사용자는 로그인을 사용하여 접속 서버에 등록하는 동작을 진행하며, 등록 단계 (A)는 하드웨어 인증 토큰에 의해 제1 개인 키와 제1 공개 키로 구성된 쌍을 생성하는 것 및, 사용자의 로그인과 상기 토큰의 보안 메모리 영역에 제1 개인 키를 저장하는 것과 관련하여 서버에 상기 제1 공개 키를 등록하는 것을 더 포함한다.
마찬가지로, 단계 (a) 이전에, 사용자는 하드웨어 인증 토큰을 스마트폰과 연관시키는 동작을 진행하고, 연관 단계 (B)는 스마트폰의 인증 어플리케이션에 의해 제2 개인 키와 제2 공개 키로 구성된 쌍을 생성하고, 제2 공개 키는 음향 채널을 통해 토큰으로 전송되어 메모리 영역에 저장되고, 제2 개인 키는 스마트폰의 SIM 카드의 보안 메모리 영역에 저장되는 것을 더 포함한다.
유리하게는, 단계 (h) 이후에, 터미널은 테스트 루프에 들어가고 상기 루프의 각 반복에서 제1 테스트 넌스를 하드웨어 인증 토큰으로 전송하고, 후자는 현재 반복에 대한 제2 테스트 넌스를 자동으로 생성하고, 제3 초음파 신호의 형태로 인코딩 사전
Figure pct00005
을 사용하는 코드, 후자를 사용자의 스마트폰으로 음향 채널을 통해 전송하고, 사용자의 스마트폰은 제3 초음파 신호를 디코딩하고 제2 개인 키를 이용하여 자동으로 제2 테스트 넌스를 서명하고, 음향 채널을 통해 하드웨어 인증 토큰으로 전송되는 제4 초음파 신호를 생성하기 위한 제2 인코딩 사전
Figure pct00006
을 사용하여 획득된 서명을 인코딩하고, 상기 토큰은 제2 공개 키를 사용하여 제2 테스트 넌스가 제2 개인 키를 사용하여 서명되었는지를 검증하고, 만약 그렇다면, 제1 테스트 넌스를 제1 개인 키로 서명하고 획득된 서명을 터미널로 전송한다.
이 경우, 터미널은 제1 테스트 넌스가 제1 개인 키를 이용하여 서명되었는지를 검증할 수 있고, 만약 그렇다면, 다음 반복에서 새로운 제1 테스트 넌스를 생성하고, 만약 그렇지 않다면, 접속 서버에 이를 알릴 수 있다.
본 발명의 다른 특징들 및 이점들은 첨부된 도면을 참조하여 설명된, 본 발명의 바람직한 실시예를 읽을 때 나타날 것이다:
도 1은, 이미 설명된, 종래 기술로부터 알려진, FIDO 2 프로토콜과 호환되는 하드웨어 인증 토큰이 연결된 컴퓨터 터미널을 개략적으로 도시한 도면이다;
도 2는, 사용자의 스마트폰과의 통신에서, 본 발명의 실시예에 따라 하드웨어 인증 토큰이 연결된 컴퓨터 터미널을 개략적으로 도시한 도면이다.
도 3은 본 발명의 실시예에 따른 하드웨어 인증 토큰의 아키텍처를 개략적으로 도시한 도면이다.
도 4는 사용자의 인증 절차 동안에 도 2의 터미널, 하드웨어 인증 토큰 및 스마트폰 간의 교환을 개략적으로 도시한 도면이다.
FIDO 2 프로토콜과 호환되는 하드웨어 인증 토큰은 다음에서 고려된다. 다른 용어로, 이 하드웨어 토큰은 소유자에게 인증 요소(제1, 제2 또는 다중)를 사용하여 자신의 신원을 증명할 수 있도록 한다. 이 하드웨어 토큰은 USB, BLE 또는 NFC 연결을 사용하여 컴퓨터 터미널(개인용 컴퓨터, 랩탑, 패블릿 등)과 연결할 수 있는 인터페이스를 포함한다.
바람직한 실시예에 따르면, 하드웨어 인증 토큰은, 후술하는 바와 같이, 특정 특성들을 가지는 USB 키의 형태를 가질 것이다.
본 발명의 기본 아이디어는 하드웨어 인증 토큰의 검증 버튼을 스마트폰으로 벌충하는 것이다. 이 전송은 하드웨어 인증 토큰과 스마트폰 사이에 설정된 음향 채널 덕분에 가능하며, 이 커널에서 코드 워드들이 랜덤 또는 의사-랜덤 신호들인 사전을 사용한 정보 코딩을 사용하여 전송된다.
아래에서 자세히 설명하는 것처럼, 인증 절차는 하드웨어 인증 토큰과 사용자의 스마트폰을 모두 소유하는 것을 요구한다(FIDO CTAP 1에서 로그인/패스워드 쌍 또는 FIDO CTAP 2에서 PIN 코드를 아는 것을 추가). 이 사용자가 스마트폰을 잊어버리고 터미널에 연결된 하드웨어 인증 토큰을 떠날 확률은 특히 낮다. 그러므로, 스마트폰이 생체 인식 센서나 PIN 코드에 의해 잠겨 있는 경우, 한층 더, 해킹의 위험성이 특히 감소한다.
보다 정확하게는, 도 2는 본 발명의 실시예에 따른 하드웨어 인증 토큰을 사용하는 경우를 도시한다.
여기에 표현된 사용 사례는 그들의 개인용 컴퓨터(210)를 사용하여 온라인 서비스에 연결하고자 하는 사용자이다. 물론, 본 발명의 범위를 벗어나지 않고 당업자에 의해 다른 사용 사례가 고려될 수 있다. 특히, 사용자는 접속 터미널과 함께 자신의 하드웨어 인증 토큰을 사용하여 자신을 인증할 수 있다.
일반적으로 해당 온라인 서비스의 웹 페이지에 로그인과 패스워드 (또는 FIDO CTAP 2 프로토콜의 PIN 코드)를 입력한 후에, 하드웨어 토큰을 사용하여 (제1 또는 제2) 인증 요소를 제공하라는 것이 사용자에게 프롬프트된다. 이것은, 예를 들어, 그들의 계정을 생성 (등록)하거나 그들의 프로필을 등록하는 동안에, 사용자가 하드웨어 토큰 옵션을 통한 인증을 미리 선택하고 이 인증을 허용하는 웹사이트에 공개 키를 등록했다고 가정한다. 보다 정확하게는, 이를 수행하기 위해 사용자는 제1 개인 키와 제1 공개 키로 구성된 비대칭 암호화 암호 시스템 (또는 PKI 인프라 구조)의 키들의 쌍을 생성한다. 예를 들면, 이 암호 시스템은 그 자체로 알려진 타원 곡선 암호 기술 (ECC, elliptic curve cryptography)가 있는 암호 시스템일 수 있다. 어떤 경우에도, 이 제1 공개 키만 온라인 서비스의 서버에 제공되고 사용자의 프로필과 함께 저장된다.
사용자가 하드웨어 토큰 옵션을 사용한 인증을 선택한 경우, 온라인 사이트에 의해 그들의 하드웨어 인증 토큰을 제시하라는 것이 프롬프트될 수 있다.
그런 다음 사용자는 그들의 인증 토큰(220)를, 컴퓨터 터미널의 USB 포트에 꽂아서 연결한다(만약 토큰이 BLE 인터페이스를 가지는 경우 블루투스 연결을 활성화하고, 만약 토큰이 NFC 인터페이스를 가지는 경우 토큰을 NFC 리더에 가까이 가져온다).
인증 토큰은, 도 3에 도시된 바와 같이, 프로세서(DSP)(310)와 보안 메모리 영역(320)을 더 포함한다.
원래 방식으로, 하드웨어 인증 토큰(220)은 번호 FR-A-3052614로 공개된 출원에 설명된 바와 같이 랜덤 또는 의사-랜덤 초음파 신호들을 나타내는 코드 워드들을 포함하는 인코딩 사전 (코드북)
Figure pct00007
을 사용하는 음향 인코더/디코더(330)를 포함한다. 대안에 따르면 제1 인코딩 사전
Figure pct00008
은 방출에 사용되고 제2 인코딩 사전
Figure pct00009
은 토큰에 의한 수신을 위해 사용된다.
음향 인코더/디코더는 DSP에서 소프트웨어 수단들에 의해 유리하게 구현된다. 대안적으로, 그것들은 후자의 별도의 회로(330)에 의해 구현될 수 있다.
어떤 경우에도, 인코딩 사전 (또는 사전들)의 코드 워드들은 음향 코딩/디코딩이 DSP에 의해 수행될 때 보안 메모리 영역(320), 예를 들어 프로세서 자체의 메모리에 저장된다. 이 보안 메모리 영역은 앞서 언급한 제1 개인 키를 저장한다.
마지막으로, 하드웨어 인증 토큰은 사용자의 스마트폰(230)으로 방출 및 수신 시 음향 채널을 설정하는 것을 가능하게 하는 적어도 하나의 변환기를 포함한다. 하나의 변환기는 음향 채널을 통해 전송하는데 하드웨어 인증 토큰에 의해 사용되는 코드 워드들(사전
Figure pct00010
의 코드 워드들)과 스마트폰에 의해 사용되는 코드 워드들(사전
Figure pct00011
의 코드 워드들)이 약한 상관 관계가 있을 때 충분하고, 결과적으로 전이중모드에서 채널의 사용을 승인한다. 변환기는 예를 들어 압전(piezoelectric) 타입일 수 있다. 대안적으로, 도 3에서 도시된 바와 같이, 내장형 확성기(340) 및 마이크로폰(350)이 음향 채널 상에서 각각 방출 및 수신하도록 제공될 수 있다.
한 번 하드웨어 인증 토큰(220)이 연결되면, 후자는 온라인 서비스의 접속 서버에 의해 생성된 제1 넌스를 터미널(210)로부터 수신한다. FIDO CTAP 1 프로토콜에서, 제1 넌스는 예를 들어 임시 정보와 연결된 사용자의 계정 번호의 해시로서 계산될 수 있다.
이 제1 넌스를 수신하면, 토큰은 제2 넌스와 코드를 인코딩 사전
Figure pct00012
을 사용하여 생성한다. 제1 넌스가 수신될 때, 제2 넌스는 자동으로 생성될 수 있다. 그러나 바람직하게는 제2 넌스는 확인 버튼(260)을 누른 후에만 생성될 것이다. 하드웨어 인증 토큰에 의한 제1 넌스의 수신은 깜빡이는 조명 신호, 예를 들어 확인 버튼을 둘러싼 LED들의 링에 의해 생성되는 깜빡이는 빛의 링에 의해 사용자에게 보고될 수 있다.
제2 넌스는 제1 넌스와 동일할 수 있다. 바람직한 대안에 따르면, 제2 넌스는 제1 넌스와 해당 하드웨어 토큰의 일련 번호를 연결한 결과일 수 있다. 어떤 경우에도, 이렇게 인코딩된 제2 넌스는 음향 채널(250)을 통해 사용자의 스마트폰(230)으로 전송되는 초음파 신호의 형태를 가진다. 스마트폰은 인코딩 사전
Figure pct00013
을 사용하여 초음파 신호를 디코딩하여 제2 넌스를 가져온다.
그런 다음 사용자는, 그들의 스마트폰(230)을 사용하여, 제2 개인 키를 사용하여 제2 넌스를 서명하여 그들 자신을 인증할 수 있다. 이를 위해, 사용자는 스마트폰에 인증 어플리케이션(215)을 미리 다운로드해야 한다. 스마트폰을 사용한 서명은 예를 들어, 인증 어플리케이션이 사용자 (스마트폰의 소유자)에게 그들의 인증을 검증하도록 프롬프트한 후에, (촉각) 검증 버튼을 눌러, 특정한 동작을 수행하여 트리거될 수 있다.
이 인증 어플리케이션은, 제2 개인 키와 제2 공개 키로 구성된 제2 비대칭 암호화 암호 시스템에 접속할 수 있고, 제2 개인 키는 스마트 폰의 보안 메모리 영역, 예를 들어 스마트폰의 SIM 카드의 보안 영역 또는 TEE (신뢰할 수 있는 실행 환경, Trusted Execution Environment)에서 유지된다. 제2 개인 키는 사용자에게 특정된다는 점에 유의해야 한다.
제2 공개 키는, 예를 들어 후술하는 바와 같은 사전 연결 절차 동안에, 스마트폰에 의해 하드웨어 인증 토큰에 제공되었다고 가정한다.
제2 넌스의 서명은 사전
Figure pct00014
과 동일할 수 있는 인코딩 사전
Figure pct00015
을 사용해 인코딩되고 결과 초음파 신호는 음향 채널을 통해 하드웨어 인증 토큰으로 전송된다.
토큰의 변환기 (또는 내장 마이크로폰(350))에 의해 수신된 초음파 신호는 서명을 가져오기 위해 음향 디코더 (토큰의 상기 보안 메모리 영역에 역시 저장된 사전
Figure pct00016
을 사용하여)에 의해 디코딩된다. 그런 다음 프로세서는 제2 넌스가 제2 개인 키로 서명되었는지 여부를 제2 공개 키를 사용하여 결정한다. 만약 그렇다면, 그것은 제1 개인 키를 사용하여 제1 넌스를 차례로 서명하고 이 서명을 터미널로 전송한다. 그것이 존재할 때, 확인 버튼(260) 주위의 LED들의 링은 사용자에게 제2 넌스의 서명이 정말로 유효한지를 사용자에게 확인하기 위해 영구적인 조명 상태로 전환할 수 있다.
터미널은 마지막으로 제1 넌스의 서명 (어설션(assertion)이라고도 함)을 온라인 서비스의 접속 서버로 다시 보내고 후자는 제1 넌스가 제1 개인 키로 서명되었는지 검증한다.
제1 개인 키는 하드웨어 인증 토큰에 고유하며 사용자에 고유하지 않다는 것을 주의하라. 다른 용어로, 인증 토큰을 잃어도 온라인 서비스에 대한 접속 보안에 영향을 미치지 않는다. 하드웨어 인증 토큰과 스마트폰을 함께 소유하는 것만이 해당 서비스에 대한 접속을 허용한다. 그리고 또한 해커는 첫번째 식별 단계 (FIDO CTAP 2 프로토콜의 경우 PIN 코드를 아는 것으로 충분하다)를 통과하기 위해서 사용자의 로그인 및 비밀번호를 확보하는 것이 필요하다.
하드웨어 암호화 토큰과 스마트폰 사이에 음향 채널을 사용하는 것은 초음파 신호의 낮은 범위로 인해 가로채기 및 중간자(man-in-the-middle) 공격들의 위험을 실질적으로 감소시킨다. 더욱이, 랜덤 또는 의사-랜덤 음향 신호들을 사용하여 이 채널에서 전송하는 것은 이러한 공격들에 대한 채널의 견고성을 실질적으로 강화시킨다.
도 4는 사용자의 인증 절차 동안 도 2의 터미널, 하드웨어 인증 토큰 및 스마트폰 간의 교환을 개략적으로 도시하는 도면이다.
인증 절차 (C)는 토큰의 제1 공개 키가 사용자의 계정(등록 절차 A)과 관련하여 접속 서버에 미리 등록되어 있고 사용자의 제2 공개 키가 하드웨어 인증 토큰(연결 절차 B)에 미리 등록되어 있다고 가정한다.
온라인 서비스의 서버, 컴퓨터 터미널, 하드웨어 인증 토큰 및 사용자의 스마트폰은 각각 세로선(410, 420, 430, 440)으로 표시된다.
등록 절차 (A)에서, 사용자가 접속 서버에 계정을 생성할 때, 후자는 451에서 그들에게 452에서 그것에 로그인 및 패스워드를 제공하라는 것을 프롬프트한다.
만약 사용자가 자신의 계정에 접속하기 위해 하드웨어 토큰 (FIDO 2 인증자)를 통한 인증 옵션을 선택한 경우, 453에서 하드웨어 인증 토큰을 터미널에 연결하라는 것이 프롬프트된다. 454에서, 터미널은 토큰이 제1 개인 키와 제1 공개키로 구성된 비대칭 암호시스템의 쌍을 생성하도록 요청한다. 제1 개인 키,
Figure pct00017
, 는 토큰의 보호된 메모리 영역에 저장되고 제1 공개 키,
Figure pct00018
,는 455에서 터미널에 제공되고 456에서 접속 서버에 전송된다. 접속 서버는 제1 공개 키를 로그인 및, 적용 가능한 경우, 사용자의 패스워드와 연결한다. 유리하게는, 제1 공개 키는 토큰 상에 존재할 때, 단순 요청을 통해 터미널에 자동 제공되지 않고 버튼의 작동을 필요로 한다. 바람직하게는, 사용자는 스마트폰으로 제2 넌스를 전송하는 것을 확인할 때와 다른 시간(예를 들어 실질적으로 더 긴) 동안 버튼을 눌러야 한다.
연결 절차 (B)에서, 인증 토큰은 컴퓨터 터미널에 연결된다. 제어 창에서 또는, 토큰에 버튼이 제공되는 경우, 예를 들어 후자를 길게 누르면 토큰은 461에서 음향 채널에 대한 요청을 생성한다. 스마트폰의 인증 어플리케이션이 열리면, 후자는 요청 신호의 수신에 따라 제2 개인 키,
Figure pct00019
, 및 제2 공개 키,
Figure pct00020
, 로 구성된 비대칭 암호시스템의 쌍을 생성한다. 제2 개인 키는 예를 들어 SIM 카드의 보안 영역(TEE)에 저장되고, 제2 공개 키,
Figure pct00021
, 는 462에서 음향 채널을 통해 토큰으로 전송된다. 이 제2 공개 키는 토큰의 메모리 영역 (반드시 보안 영역은 아님)에 저장된다. 토큰이 단일 사용자인 경우 제2 공개 키만 저장된다. 반면, 인증 토큰을 여러 사용자들이 공유할 수 있는 경우, 스마트폰의 사용자의 로그인은 대응되는 제2 공개 키와 연계하여 메모리 영역에 저장될 수 있다. 여기서 다시, 제2 공개 키를 저장하는 동작은 자동이 아닐 수 있지만 토큰의 버튼이 작동(선택적)되는 것을 요구한다.
마지막으로 엄밀히 말하면 인증 절차에서 (C), 사용자는 먼저 471에서 자신을 식별하도록 프롬프트된다.
응답으로, 사용자는 (FIDO CTAP 1 프로토콜의 프레임워크에서) 로그인 및 패스워드를 브라우저의 키-엔트리 창에 입력하고 후자는 그것들을 472에서 접속 서버로 전송한다. 이 정보를 수신한 후, 접속 서버는 473에서 그들의 하드웨어 인증 토큰을 터미널에 연결하여 사용자에게 그들의 (제1, 제2, 제n) 인증 요소를 제공하도록 프롬프트한다.
그러면 접속 서버는 474에서 제1 넌스,
Figure pct00022
를 터미널로 전송한다. 위에서 지적한 바와 같이, 이 넌스는 리플레이 공격들을 방지하기 위한 방식으로 사용자의 계정 정보와 일시적인 정보의 연결의 결과로 발생할 수 있다. 터미널은 475에서 이를 하드웨어 인증 토큰으로 포워드한다.
FIDO CTAP 2 프로토콜의 경우, 사용자는 브라우저 창에 단지 그들의 PIN 코드만 입력하고 제1 넌스는 PIN 코드와 함께 하드웨어 인증 토큰으로 전송된다는 것을 상기하라.
이 단계에서 두 가지 대안들이 가능하다. 도시되지 않은 첫번째 대안에 따르면, 토큰은 476에서 자동으로 제2 넌스,
Figure pct00023
를 생성하고, 그것을 인코딩 사전
Figure pct00024
을 사용하여 인코딩한 이후 477에서 그것을 스마트폰으로 전송한다. 두번째 대안에 따르면, 토큰에 확인 버튼이 제공되고, 토큰은 476에서 제2 넌스를 생성하기 위해 버튼이 눌려지는 것을 대기한다.
제2 넌스는 제1 넌스의 복사본이거나 후자를 토큰의 일련 번호와 함께 연결한 결과일 수 있다.
어떤 경우에도, 제2 넌스는 인코딩 사전
Figure pct00025
을 사용하여 인코딩되고 음향 채널을 통해 초음파 신호의 형태로 스마트폰으로 전송된다. 또한 사용자가 그들의 스마트폰에서 인증 어플리케이션을 열었거나 (예를 들어 토큰의 확인 버튼을 누르기 전) 또는 후자가 제2 넌스가 수신되었을 때 자동으로 실행되었다고 가정한다. 그런 다음 스마트폰의 어플리케이션은 제2 넌스를 가져오기 위해서 초음파 신호를 디코드하고 그것을 그것의 개인 키로 서명하고, 서명은
Figure pct00026
이고, 다음으로 그 서명을 그것의 인코딩 사전
Figure pct00027
으로 인코딩한다.
481 단계에서, 스마트폰은, 음향 채널을 통해, 인코딩된 서명
Figure pct00028
에 대응하는 초음파 신호를 전송한다. 이 신호는 토큰의 음향 디코더 (또는 DSP)에 의해 수신되고 디코딩된다.
482에서, 토큰은, 제2 공개 키
Figure pct00029
를 사용하여, 서명이 정말로 유효한지, 다른 말로 제2 넌스가 제2 개인 키로 서명되었는지를 검증한다.
그렇지 않다면, 토큰은 이것을 터미널로 보고하거나 또는 단순히 터미널에 응답하지 않을 수 있다. 실패 메시지가 수신되거나 또는 미리 결정된 시간이 끝난 (타임아웃) 경우, 터미널은 토큰을 사용한 인증이 실패했다는 것을 사용자에게 지시한다.
만약 그렇다면, 토큰과, 더 정확하게는 그것의 프로세서는, 제1 넌스(버퍼에 보류된)를 제1 개인 키
Figure pct00030
를 이용하여 서명하고, 483에서 그것은
Figure pct00031
이고, 484에서 그 서명을 터미널로 전송하고 485에서 그것을 접속 서버로 포워드한다. 후자는 486에서, 제1 공개 키
Figure pct00032
를 이용하여, 그 서명이 정말로 유효한지, 다른 말로 제1 넌스가 제1 개인 키
Figure pct00033
로 서명되었는지를 검증한다.
그렇지 않다면, 서버는 터미널에 인증 실패를 알리고, 적용 가능한 경우, 사용자에게 인증 절차를 다시 반복하도록 프롬프트한다.
그렇다면, 서버는 487에서 사용자에게 해당 서비스에 접속하는 것을 허용한다.
유리하게는, 사용자가 자신의 세션을 컴퓨터 터미널에서 열어두고 떠나지 않는 것을 보장하기 위해, 연속적 (또는 주기적) 인증 절차가 터미널에 의해 개시될 수 있다. 이 절차는 사용자가 서비스에 접속할 수 있는 권한을 받았을 때 시작될 수 있다.
이 절차에 따라, 터미널은, 주기적으로 또는 사용자의 스마트폰의 존재 확인을 마지막으로 수신한 후 미리 결정된 시간이 경과할 때, 제1 테스트 넌스를 반복적으로 전송한다. 제1 테스트 넌스는 리플레이 공격들과 싸우는 방식으로 한 반복에서 그 다음으로 수정된다. 예를 들어, 만약
Figure pct00034
가 반복
Figure pct00035
에서 터미널에 의해 생성된 제1 테스트 넌스를 나타내면, 다음 반복에서 제1 테스트 넌스는
Figure pct00036
로 획득될 수 있고,
Figure pct00037
은 각 반복마다 증분되는 카운터의 출력이고, 적용 가능한 경우, 세션의 시작에서 랜덤 숫자에 의해 초기화되고,
Figure pct00038
는 연결 동작을 지정하고
Figure pct00039
는 해시 함수이다.
반복
Figure pct00040
동안, 제1 테스트 넌스,
Figure pct00041
, 는 하드웨어 인증 토큰으로 전송된다. 이 넌스를 수신하면, 토큰은 그것을 메모리에 저장하고 제2 테스트 넌스,
Figure pct00042
,를 생성한다. 이 제2 테스트 넌스는 제1 또는, 예를 들어, 제1과 임시 정보의 연결 결과와 동일할 수 있다. 그런 다음 제2 테스트 넌스는, 위에서 설명한 바와 같이, 사전
Figure pct00043
을 사용하여 초음파 신호들의 형태로 인코딩된 이후에, 음향 채널을 통해, 인증 토큰에 의해 사용자의 스마트폰으로 전송된다.
이 신호들은 스마트폰의 인증 어플리케이션에 의해 디코딩되고 제2 테스트 넌스
Figure pct00044
는 스마트폰의 보안 영역 TEE에 저장된 개인 키
Figure pct00045
로 서명된다. 서명
Figure pct00046
은 인코딩 사전
Figure pct00047
을 사용하여 초음파 신호들의 형태로 인코딩되고 음향 채널을 통해 하드웨어 인증 토큰으로 전송된다.
인증 토큰은, 해당 서명을 디코딩한 이후, 제2 공개 키
Figure pct00048
를 사용하여, 제2 테스트 넌스가 사용자의 개인 키로 서명되었는지 검증한다. 만약 이것이 정말로 그 경우라면, 그것은 제1 개인 키
Figure pct00049
를 사용하여 제1 테스트 넌스를 차례로 서명하고, 그것은
Figure pct00050
이고 그 서명을 터미널로 전송한다.
터미널은 그 서명이 정말로 유효한지, 즉 반복
Figure pct00051
의 제1 테스트 넌스,
Figure pct00052
,가 제1 개인 키,
Figure pct00053
로 서명되었는지를 검증한다. 만약 그렇다면, 터미널은 새로운 테스트 넌스
Figure pct00054
를 보내서 다음 반복으로 패스한다.
당업자는 이 테스트 루프가 사용자의 스마트폰과 인증 토큰이 여전히 존재하는지를 보장하는 것을 가능하게 한다는 것을 이해할 것이다. 만약 인증 체인에서 파열이 발생하면, 제1 또는 제2 테스트 넌스는 미리 결정된 시간 내에 다시 보내지지 않는다. 그러면 터미널은 접속 서버에 이를 알리고 사용자는 자동으로 온라인 서비스에서 연결이 끊긴다.
연속적인 인증 절차는 사용자에 의한 확인이 무시된다고 가정한다는 점을 유의해야 한다. 다른 말로, 사용자는 각 인증 요청마다 확인 버튼을 누를 필요가 없다: 제2 테스트 넌스의 생성은 자동으로 수행된다. 마찬가지로, 스마트폰에 의한 서명은 자동이고 각 반복마다 사용자의 검증 액션을 요구하지 않는다. 이 자동 모드는 해당 넌스의 특정한 접두사를 사용하여 보고될 수 있다.
위에서 설명한 연속적인 인증 절차는, 제1 테스트 넌스들을 전송하고 서명을 검증한다는 점에서, 터미널에 의해 시작되고 제어될 수 있다. 그러나, 대안에 따르면, 이 인증 절차는 접속 서버 그 자체에 의해 수행될 수 있다. 이 경우, 잘못된 응답을 수신하거나 미리 결정된 시간 동안 응답이 없을 때, 서버는 세션을 닫을 수 있다.
마지막으로, 본 발명은 온라인 서비스에 대한 접속의 프레임워크에서 설명되었다. 그러나 당업자는 이것이 또한 터미널 자체의 세션에 대한 접속을 허용하기 위해 적용될 수 있고, 터미널이 접속 서버의 역할을 할 수 있다는 것을 이해할 것이다. 이와 유사하게, 여기 이 경우에서, 터미널은 하드웨어 인증 토큰을 사용하여 연속적인 인증을 진행할 수 있고 잘못된 응답이 수신되거나 또는 미리 결정된 시간 동안 응답이 없는 경우에 터미널에서 열린 세션을 종료할 수도 있다.

Claims (12)

  1. USB, BLE 또는 NFC 연결을 사용하여 컴퓨터 터미널 (210)에 연결되도록 의도된 하드웨어 인증 토큰 (220)으로, 상기 하드웨어 토큰은 프로세서 (310) 및 보안 메모리 영역(320)을 포함하고, 상기 프로세서는 제1 비대칭 암호시스템의 제1 개인 키 및 제1 공개 키로 구성된 쌍을 생성하도록 적응되고, 상기 제1 개인 키는 상기 보안 메모리 영역에 저장되고, 이것은 다음을 더 포함하는 것을 특징으로 한다:
    - 코드 워드들이 상기 보안 메모리 영역에 저장되어 있고, 상기 코드 워드들은 랜덤 또는 의사-랜덤 초음파 신호들을 나타내는, 인코딩 사전
    Figure pct00055
    을 사용하는 음향 인코더/디코더 (330);
    - 상기 하드웨어 토큰이 사용자의 스마트폰과의 방출 및 수신에서 음향 채널을 설정할 수 있도록 하는 적어도 하나의 변환기 (340, 350);
    - 상기 하드웨어 인증 토큰은 상기 연결을 통해 상기 터미널로부터 제1 넌스를 수신하고, 상기 제1 넌스를 수신하면, 상기 사전
    Figure pct00056
    을 사용하여 인코딩된 제2 넌스를 상기 사용자의 스마트폰으로 상기 음향 채널을 통해 전송하고, 상기 하드웨어 인증 토큰은 상기 음향 채널을 통해 상기 스마트폰으로부터 응답을 수신하도록 추가로 구성되고;
    - 상기 프로세서는 상기 스마트폰으로부터의 상기 응답으로부터 상기 제2 넌스가 상기 사용자에게 속하는 제2 개인 키로 서명되었는지 여부를 결정하고, 만약 그렇다면, 상기 제1 넌스를 상기 제1 개인 키를 사용하여 암호화하도록 적응되고;
    - 상기 하드웨어 인증 토큰은 상기 사용자를 인증하기 위해 암호화된 상기 제1 넌스를 상기 연결을 통해 상기 터미널로 반환하도록 구성됨.
  2. 제1항에 있어서, 그것은 USB 키의 형태를 가지는 것을 특징으로 하는 하드웨어 인증 토큰.
  3. 제1항 또는 제2항에 있어서, 추가로 확인 버튼을 포함하고, 상기 토큰은 상기 제1 넌스를 수신하고 상기 확인 버튼이 작동될 때까지 제2 넌스를 생성하지 않고 전송하지 않는 것을 특징으로 하는 하드웨어 인증 토큰.
  4. 제3항에 있어서, 상기 제1 넌스가 상기 터미널로부터 수신되었을 때, 상기 스마트폰으로 상기 제2 넌스의 생성 및 전송을 확인할 것을 상기 사용자에게 지시하는 지시등을 포함하는 것을 특징으로 하는 하드웨어 인증 토큰.
  5. 앞의 항들 중 하나에 있어서, 상기 음향 채널을 통해 상기 초음파 신호들을 방출 및 수신하기 위한 확성기 및 내장 마이크로폰을 포함하는 하드웨어 인증 토큰.
  6. 제1항에 따른 하드웨어 인증 토큰을 사용하여 컴퓨터 터미널 및 스마트폰에서 사용자를 인증하는 방법으로, 다음을 포함하는 것을 특징으로 한다:
    a) 상기 컴퓨터 터미널이 상기 하드웨어 인증 토큰으로 상기 제1 넌스를 포함하는 인증 요청을 전송하는 단계;
    b) 상기 하드웨어 토큰의 메모리 영역에 상기 제1 넌스를 임시로 저장;
    c) 상기 하드웨어 인증 토큰이 상기 제1 넌스가 수신될 때 상기 제2 넌스를 생성하고, 상기 제2 넌스는 상기 인코딩 사전
    Figure pct00057
    를 사용하여 제1 초음파 신호의 형태로 인코딩되는 단계;
    d) 상기 하드웨어 인증 토큰이 상기 음향 채널을 통해, 상기 제1 초음파 신호를 상기 사용자의 스마트폰으로 전송하고, 상기 제1 초음파 신호는 상기 제2 넌스를 제공하기 위해 디코딩되는 단계;
    e) 상기 사용자의 스마트폰에 미리 오픈된 인증 어플리케이션에 의해, 상기 제2 개인 키로 상기 제2 넌스를 서명하고, 상기 제2 넌스의 서명은 제2 인코딩 사전
    Figure pct00058
    을 사용하여 제2 초음파 신호의 형태로 인코딩되는 단계;
    f) 상기 스마트폰에 의해 상기 제2 초음파 신호를, 상기 음향 채널을 통해, 상기 하드웨어 인증 토큰으로 전송하고, 상기 제2 초음파 신호는 상기 제2 넌스의 서명을 제공하기 위해 디코딩되는 단계;
    g) 상기 프로세서가 상기 제2 공개 키를 사용하여 상기 제2 넌스의 서명을 검증하는 단계; 및 검증이 긍정적인 경우에:
    h) 상기 프로세서가 상기 제1 개인 키를 사용하여 상기 제1 넌스를 서명하고, 상기 제1 넌스의 서명은 상기 사용자를 인증하기 위한 상기 터미널로의 응답의 형태로 전송되는 단계.
  7. 제6항에 있어서, 상기 토큰에 확인 버튼이 제공될 때, 상기 사용자는 단계 (b)와 (c)의 사이에서 상기 제2 넌스의 생성과 상기 제1 초음파 신호의 상기 스마트폰으로의 전송을 트리거하기 위해 이 버튼을 작동하는 것을 특징으로 하는, 사용자를 인증하는 방법.
  8. 제7항에 있어서, 상기 하드웨어 인증 토큰에 지시등이 제공될 때, 상기 후자는 단계 (b)에서 인증 요청을 수신했음을 상기 사용자에게 지시하는 것을 특징으로 하는, 사용자를 인증하는 방법.
  9. 제 5항 내지 제7항 중 하나에 있어서, 단계 (a) 이전에, 상기 사용자는 로그인을 사용하여 접속 서버에 등록하는 동작을 진행하며, 상기 등록 단계 (A)는 상기 하드웨어 인증 토큰에 의해 상기 제1 개인 키와 상기 제1 공개 키로 구성된 쌍을 생성하는 것 및 상기 사용자의 로그인과 상기 토큰의 상기 보안 메모리 영역에 상기 제1 개인 키를 저장하는 것과 관련하여 상기 서버에 상기 제1 공개 키를 등록하는 것을 더 포함하는 것을 특징으로 하는, 사용자를 인증하는 방법.
  10. 제 5항 내지 제9항 중 하나에 있어서, 단계 (a) 이전에, 사용자는 상기 하드웨어 인증 토큰을 상기 스마트폰과 연관시키는 동작을 진행하고, 상기 연관 단계 (B)는 상기 스마트폰의 인증 어플리케이션에 의해 상기 제2 개인 키와 상기 제2 공개 키로 구성된 쌍을 생성하고, 제2 공개 키는 상기 음향 채널을 통해 상기 토큰으로 전송되어 메모리 영역에 저장되고, 상기 제2 개인 키는 상기 스마트폰의 SIM 카드의 보안 메모리 영역에 저장되는 것을 특징으로 하는, 사용자를 인증하는 방법.
  11. 제5항 내지 제10항 중 하나에 있어서, 단계 (h) 이후에, 상기 터미널은 테스트 루프에 들어가고 상기 루프의 각 반복에서 제1 테스트 넌스를 상기 하드웨어 인증 토큰으로 전송하고, 상기 후자는 상기 현재 반복에 대한 제2 테스트 넌스를 자동으로 생성하고, 제3 초음파 신호의 형태로 상기 인코딩 사전
    Figure pct00059
    를 사용하는 코드, 상기 후자를 상기 사용자의 스마트폰으로 상기 음향 채널을 통해 전송하고, 상기 사용자의 스마트폰은 상기 제3 초음파 신호를 디코딩하고 상기 제2 개인 키를 이용하여 자동으로 상기 제2테스트 넌스를 서명하고, 상기 음향 채널을 통해 상기 하드웨어 인증 토큰으로 전송되는 제4 초음파 신호를 생성하기 위해 상기 제2 인코딩 사전
    Figure pct00060
    을 사용하여 획득된 서명을 인코딩하고, 상기 토큰은 상기 제2 공개 키를 사용하여 상기 제2 테스트 넌스가 상기 제2 개인 키를 사용하여 서명되었는지를 검증하고, 만약 그렇다면, 상기 제1 테스트 넌스를 상기 제1 개인 키로 서명하고 획득된 상기 서명을 상기 터미널로 전송하는 것을 특징으로 하는, 사용자를 인증하는 방법.
  12. 제11항에 있어서, 상기 터미널은 상기 제1 테스트 넌스가 상기 제1 개인 키를 이용하여 서명되었는지를 검증하고, 만약 그렇다면, 다음 반복에서 새로운 제1 테스트 넌스를 생성하고, 만약 그렇지 않다면 상기 접속 서버에 이를 알리는 것을 특징으로 하는, 사용자를 인증하는 방법.
KR1020217038485A 2019-04-25 2020-04-24 원격 검증에 관한 하드웨어 인증 토큰 KR20220058845A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1904394A FR3095528B1 (fr) 2019-04-25 2019-04-25 Jeton matériel d’authentification à validation déportée
FR1904394 2019-04-25
PCT/FR2020/050702 WO2020217030A1 (fr) 2019-04-25 2020-04-24 Jeton matériel d'authentification à validation déportée

Publications (1)

Publication Number Publication Date
KR20220058845A true KR20220058845A (ko) 2022-05-10

Family

ID=68733106

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217038485A KR20220058845A (ko) 2019-04-25 2020-04-24 원격 검증에 관한 하드웨어 인증 토큰

Country Status (7)

Country Link
US (1) US20220166623A1 (ko)
EP (1) EP3959629A1 (ko)
JP (1) JP2022530136A (ko)
KR (1) KR20220058845A (ko)
CN (1) CN114072796A (ko)
FR (1) FR3095528B1 (ko)
WO (1) WO2020217030A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022508010A (ja) 2018-10-02 2022-01-19 キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニー 非接触カードの暗号化認証のためのシステムおよび方法
JP2022151391A (ja) * 2021-03-27 2022-10-07 富士フイルムビジネスイノベーション株式会社 情報処理装置、情報処理システム及び情報処理プログラム
US20220407723A1 (en) * 2021-06-18 2022-12-22 Capital One Services, Llc Systems and methods for contactless card communication and multi-device key pair cryptographic authentication
CN113438246B (zh) * 2021-06-29 2023-05-30 四川巧夺天工信息安全智能设备有限公司 一种针对智能终端的数据安全及权限管控的方法
CN114172733B (zh) * 2021-12-10 2024-04-05 中科计算技术西部研究院 基于插拔式加密终端的医疗样本数据加密传输方法
CN116566746B (zh) * 2023-07-11 2023-09-19 飞天诚信科技股份有限公司 一种基于物联网的认证实现方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10075437B1 (en) * 2012-11-06 2018-09-11 Behaviosec Secure authentication of a user of a device during a session with a connected server
WO2014104284A1 (ja) * 2012-12-28 2014-07-03 楽天株式会社 超音波通信システム
US9369282B2 (en) * 2014-01-29 2016-06-14 Red Hat, Inc. Mobile device user authentication for accessing protected network resources
US9866388B2 (en) * 2014-11-20 2018-01-09 BluInk Ltd. Portable device interface methods and systems
CN105657468B (zh) * 2015-12-30 2019-03-12 深圳数字电视国家工程实验室股份有限公司 一种fido遥控器及电视支付系统及方法
US20170337369A1 (en) * 2016-05-17 2017-11-23 Clutch Authentication Systems, Llc Energy harvesting cryptosystem
FR3052614B1 (fr) 2016-06-13 2018-08-31 Raymond MOREL Methode de codage par signaux acoustiques aleatoires et methode de transmission associee
US10469490B2 (en) * 2017-10-19 2019-11-05 Mastercard International Incorporated Methods and systems for providing FIDO authentication services
JP6600369B2 (ja) * 2018-02-06 2019-10-30 日本電信電話株式会社 端末登録システムおよび端末登録方法
JP2022508010A (ja) * 2018-10-02 2022-01-19 キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニー 非接触カードの暗号化認証のためのシステムおよび方法

Also Published As

Publication number Publication date
FR3095528B1 (fr) 2021-05-21
WO2020217030A1 (fr) 2020-10-29
JP2022530136A (ja) 2022-06-27
EP3959629A1 (fr) 2022-03-02
FR3095528A1 (fr) 2020-10-30
CN114072796A (zh) 2022-02-18
US20220166623A1 (en) 2022-05-26

Similar Documents

Publication Publication Date Title
US20220166623A1 (en) Hardware authentication token with remote validation
US20170353442A1 (en) Proximity-based authentication
KR101237632B1 (ko) 토큰과 검증자 사이의 인증을 위한 네크워크 헬퍼
US10530582B2 (en) Method and device for information system access authentication
US10491587B2 (en) Method and device for information system access authentication
US8893251B2 (en) System and method for embedded authentication
US20110219427A1 (en) Smart Device User Authentication
KR100987213B1 (ko) 바이오 키를 이용하여 VoIP을 기반으로 한 통신을수행하는 방법 및 장치
US20050287985A1 (en) Using a portable security token to facilitate public key certification for devices in a network
CN106850680B (zh) 一种用于轨道交通设备的智能身份认证方法及装置
US20100293376A1 (en) Method for authenticating a clent mobile terminal with a remote server
AU2015322158B2 (en) Secure node-to-multinode communication
CN104836784B (zh) 一种信息处理方法、客户端和服务器
US8763100B2 (en) Entity authentication method with introduction of online third party
KR20120122181A (ko) 바이오메트릭 정보를 이용한 일회용 패스워드 기반 사용자 인증 방법 및 시스템
CN112311531A (zh) 一种可控的前后端安全通信方法
KR20070105072A (ko) 인터넷 전자결제 서비스 시스템에서 음성신호를 이용한일회용 비밀번호 인증 시스템 및 그 방법
US20180241576A1 (en) Photon-based ca authentication method and system
US20220138306A1 (en) Offline multi-factor one-time password authentication
CN110808998B (zh) 身份认证器的初始化、身份认证方法以及装置
Peeters et al. n-auth: Mobile authentication done right
Borisov A novel approach for user authentication to industrial components using QR codes
KR102547590B1 (ko) 바이오 인증서를 이용하여 비대면으로 본인 확인을 수행하는 장치 및 방법
WO2016112860A1 (zh) 无线设备的通讯方法、无线设备和服务器
CN115459994A (zh) 一种基于Internet网络实现的FIDO2认证系统及方法