KR20220037403A - 제1 요인 비접촉식 카드 인증 시스템 및 방법 - Google Patents

제1 요인 비접촉식 카드 인증 시스템 및 방법 Download PDF

Info

Publication number
KR20220037403A
KR20220037403A KR1020217017171A KR20217017171A KR20220037403A KR 20220037403 A KR20220037403 A KR 20220037403A KR 1020217017171 A KR1020217017171 A KR 1020217017171A KR 20217017171 A KR20217017171 A KR 20217017171A KR 20220037403 A KR20220037403 A KR 20220037403A
Authority
KR
South Korea
Prior art keywords
client
client device
authentication
application
contactless card
Prior art date
Application number
KR1020217017171A
Other languages
English (en)
Other versions
KR102671176B1 (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 KR20220037403A publication Critical patent/KR20220037403A/ko
Application granted granted Critical
Publication of KR102671176B1 publication Critical patent/KR102671176B1/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/44Program or device authentication
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0846Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords
    • 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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)
  • Storage Device Security (AREA)

Abstract

패스워드-없는 인증 시스템 및 방법은 클라이언트의 비접촉식 카드를 응용프로그램 서비스에 등록하고 비접촉식 카드를 하나 이상의 클라이언트 디바이스에 바인딩하는 단계를 포함한다. 비접촉식 카드는 유리하게 사용자 이름과 동적 패스워드를 저장한다. 응용프로그램 서비스에 대한 클라이언트의 액세스는 임의의 클라이언트 디바이스를 사용하여 생성될 수 있으며, 액세스의 인증은 비접촉식 카드 인터페이스를 포함하고 비접촉식 카드에서 사용자 이름 및 동적 패스워드 쌍을 검색할 수 있는 모든 클라이언트 디바이스에 의해 수행될 수 있다. 사용자 입력을 요구하지 않고 사용자 이름을 카드에 저장함으로써 로그인 자격증명에 대한 액세스 및 지식이 제한되어 응용프로그램 보안이 향상된다. 또한 동적 패스워드를 사용하면 악의적인 액세스 가능성이 저하된다.

Description

제1 요인 비접촉식 카드 인증 시스템 및 방법
본 출원은 2019년 7월 23일자로 출원된 "제1 요인 비접촉식 카드 인증 시스템 및 방법"이라는 제목의 미국 특허 출원 번호 16/519,079호의 우선권을 주장한다. 출원의 내용은 그 전체가 여기에 참고 문헌으로 포함된다.
많은 서비스 공급자가 인터넷을 사용하여 잠재 고객 또는 현재 고객에게 오퍼링을 제공한다. 오퍼링은 일반적으로 서비스 공급자의 전용 리소스를 사용하여 작동하는 소프트웨어 응용프로그램의 형태로 제공될 수 있다. 많은 응용프로그램 서비스는 계정 번호, 개인 정보, 구매 내역, 비밀번호, 사회 보장 번호 등과 같은 민감한 클라이언트 콘텐츠를 저장하고 있다. 민감한 고객 콘텐츠에 대한 무단 액세스를 제한하려면 서비스 공급자가 인증 제어를 구현해야 한다
많은 인증 제어는 지식 요인(클라이언트가 알고 있는 것), 소유권 요인(클라이언트가 지니고 있는 것) 및 내재 요인(클라이언트가 물려받은 것)을 포함하는 몇 가지 요인의 조합에 기초하여 클라이언트를 검증한다. 지식 요인에는 암호, 부분 암호, 암호문 또는 개인 식별 번호(PIN) 사용자가 질문 또는 패턴에 답해야 하는 챌린지 응답 이 포함될 수 있다. 소유권 요인에는 클라이언트가 소유하고 있는 것 예를 들면 손목 밴드, ID 카드, 보안 토큰, 이식된 디바이스, 하드웨어 토큰이 내장된 휴대폰, 소프트웨어 토큰 또는 소프트웨어 토큰을 지닌 휴대폰 등이 포함될 수 있다. 내재 요인은 사용자가 개인에 특이하게 지닌 것과 관련될 수 있다. 예를 들면 지문, 망막 패턴, DNA 서열, 서명, 얼굴, 음성, 고유한 생체 전기 신호 또는 다른 생체 인식 식별자 등이다.
서비스 공급자의 정보 및 서비스에 대한 액세스는 일반적으로 다중 요인 인증 기술을 사용하여 민감하거나 중요한 정보를 보호하도록 설계된 계층화된 보안 프로토콜을 통해 제어된다. 이러한 노력에도 불구하고 서비스 공급자 시스템은 특히 여러 플랫폼에서 공통 비밀번호를 사용하는 사용자의 경향을 이해하는 해커의 특정 표적인 사용자 이름/비밀번호 교환 중에 피싱, 중간자 공격 및 기타 악의적인 공격에 취약하다. 패스워드의 암호화 인코딩은 악의적인 당사자가 클라이언트 계정을 교란시킬 수 있는 능력을 손상시킬 수 있지만 제거하지는 않는다.
본 발명의 하나의 실시형태에 따르면 클라이언트에 의해 응용프로그램에 대한 액세스를 승인하는 방법은 제1 클라이언트 디바이스로부터 응용프로그램에 액세스하기 위한 요청을 수신하는 단계; 제1 클라이언트 디바이스와 연관된 클라이언트를 식별하는 단계; 클라이언트와 연관된 제2 클라이언트 디바이스에 요청의 통지를 전달함으로써 요청의 진위를 검증하는 단계; 클라이언트와 연관된 비접촉식 카드로부터 제2 클라이언트 디바이스에 의해 검색된 사용자 이름 및 동적 패스워드를 포함하는 인증 정보를 포함하는 응답을 제2 클라이언트 디바이스로부터 수신하는 단계를 포함한다. 또한 이 방법은 또한 제2 클라이언트 디바이스에 의해 검색된 사용자 이름 및 동적 패스워드를 클라이언트에 대한 예상 사용자 이름 및 예상 동적 패스워드와 비교하는 단계를 포함한다. 이 방법은 또한 사용자 이름과 예상 사용자 이름, 동적 패스워드 및 예상 동적 패스워드 간의 일치에 응답하여 요청을 인증하고 제1 클라이언트 디바이스에서 응용프로그램을 시작(launch)하는 단계를 포함한다. 이 방법은 또한 클라이언트와 관련된 동적 패스워드를 업데이트하고 저장하는 것을 포함한다. 이 측면의 다른 실시예는 각각이 방법의 동작을 수행하도록 형상화된 상응하는 컴퓨터 시스템, 장치 및 하나 이상의 컴퓨터 저장 디바이스에 기록된 컴퓨터 프로그램을 포함한다.
다른 실시형태에 따르면 클라이언트에 의해 응용프로그램에 대한 액세스를 제어하기 위한 시스템은, 프로세서; 인증 요청은 비접촉식 카드에 의해 제2 클라이언트 디바이스에 제공되는 암호를 포함하고. 암호는 사용자 이름 및 동적 패스워드를 포함하는 응용프로그램에 액세스를 위해 클라이언트와 연관된 제1 클라이언트 디바이스에 의해 생성된 액세스 요청을 인증하기 위해 클라이언트와 연관된 제2 클라이언트 디바이스로부터 인증 요청을 수신하도록 형상화된 인터페이스; 적어도 하나의 클라이언트를 위한 적어도 하나의 클라이언트에 대한 예상 사용자 이름 및 예상되는 동적 패스워드를 포함하는 엔트리(entry)를 지닌 클라이언트 테이블을 포함하는 비 일시적 저장 매체; 비 일시적 저장 매체에 저장되고 프로세서에 의해 실행될 때 작동 가능한 프로그램 코드:를 포함한다. 시스템은 또한 사용자 이름과 예상 사용자 이름 간의 첫 번째 일치 및 동적 패스워드와 예상 동적 패스워드 간의 두 번째 일치에 대한 응답으로 인증 요청을 선택적으로 승인하는 것을 포함한다. 시스템은 또한 인증 요청의 승인에 대한 응답으로 클라이언트에 대해 예상되는 동적 패스워드를 업데이트 한다. 다른 실시형태는 각각이 방법의 동작을 수행하도록 형상화된 상응하는 컴퓨터 시스템, 장치 및 하나 이상의 컴퓨터 저장 디바이스에 기록된 컴퓨터 프로그램을 포함한다.
추가적 실시형태에 따르면 클라이언트에 의해 응용프로그램에 대한 액세스를 승인하는 방법은: 클라이언트와 연관된 제1 디바이스로부터 응용프로그램에 액세스하기 위한 요청을 수신하는 단계; 제1 디바이스와 관련된 클라이언트를 식별하는 단계; 클라이언트로부터 인증 입력을 요청하는 제2 디바이스 상에 표시하기 위한 프롬프트를 생성하는 단계를 포함하는 클라이언트와 관련된 제2 디바이스에 요청의 통지를 전달함으로써 요청의 진위를 검증하는 단계; 인증 입력은 생체 인식 입력, 질의 입력 및 클라이언트와 연관된 비접촉식 카드로부터 제2 디바이스에 의해 검색된 사용자 이름 및 동적 패스워드를 포함하는 비접촉식 카드 암호화 토큰 입력 중 하나 이상을 포함하는 제2 디바이스로부터 인증 입력을 수신하는 단계를 포함한다. 이 방법은 또한 인증 입력을 클라이언트에 대한 예상 인증 입력과 비교하는 단계를 포함한다. 이 방법은 또한 인증 입력과 예상 인증 입력 간의 일치에 응답하여 제1 디바이스가 응용프로그램에 액세스 할 수 있게 한다. 이 측면의 다른 실시형태는 각각의 방법의 동작을 수행하도록 형상화된 상응하는 컴퓨터 시스템, 장치 및 하나 이상의 컴퓨터 저장 디바이스에 기록된 컴퓨터 프로그램을 포함한다.
또 다른 측면에 따르면 서비스 공급자에 의해 호스팅 되는 응용프로그램을 시작(launching)하는 방법은 응용프로그램에 클라이언트를 등록하고 비접촉식 카드를 클라이언트에 바인딩하는 단계를 포함한다. 하나의 실시형태에서 비접촉식 카드를 클라이언트에 바인딩하는 단계는 비접촉식 카드로부터 사용자 이름 및 동적 패스워드를 포함하는 암호를 검색하는 단계, 사용자 이름 및 동적 패스워드 쌍을 인증하는 단계, 사용자 이름 및 동적 패스워드 쌍을 클라이언트와 연관시키는 단계 및 메모리내에 클라이언트를 위한 사용자 이름 및 동적 패스워드를 저장하는 단계를 포함 할 수 있다. 방법은 수정된 응용프로그램 인터페이스의 일부로서 비접촉식 카드 로그인 옵션을 제공하기 위해 클라이언트의 응용프로그램 인터페이스를 업데이트하는 단계를 더 포함한다.
추가적 측면에 따르면 응용프로그램을 시작하기 위한 시스템은 하나 이상의 커플링된 클라이언트 디바이스, 저장 디바이스 및 저장 디바이스에 저장된 테이블과 정보를 교환하기에 적합하고, 적어도 하나의 클라이언트에 대한 클라이언트를 위한 카드 식별자 및 동적 카드 패스워드를 포함하는 엔트리를 지니는 클라이언트 인터페이스를 포함한다. 시스템은 클라이언트 인터페이스 및 테이블에 커플링된 인증 유니트를 포함하고, 테이블 내에 저장된 카드 식별자 및 동적 카드 패스워드와 클라이언트의 비접촉식 카드로부터 검색된 인증 카드 식별자 및 인증 패스워드 간의 비교에 응답하여 클라이언트를 선택적으로 인증한다. 또한 시스템은 인증 유니트에 커플링되고 클라이언트의 선택적 인증에 응답하여 클라이언트를 위한 응용프로그램을 선택적으로 시작하도록 형상화된 응용프로그램 시작 제어를 포함할 수 있다.
다른 측면에 따르면 응용프로그램을 시작하는 방법은 클라이언트 디바이스를 작동하는 사용자에게 다수의 로그인 옵션을 디스플레이 하는 단계를 포함하며, 다수의 로그인 옵션은 비접촉식 카드 로그인 옵션을 포함하는 것이다. 이 방법은 비접촉식 카드 로그인 옵션의 선택에 응답하여, 비접촉식 카드의 저장 디바이스로부터 사용자 이름 및 동적 패스워드를 포함하는 인코딩된 암호를 검색하기 위해 클라이언트 디바이스와 비접촉식 카드를 연결하도록 사용자를 프롬프트 하는 단계를 포함하며 선택적 인증을 위해 사용자 이름 및 동적 패스워드와 예상되는 사용자 이름 및 예상되는 패스워드에 대한 비교를 가능하게 하기 위해 인코딩된 암호를 인증 서버로 전달하는 단계를 포함한다. 방법은 인증 서버로부터 인증 결과를 수신하는 단계 및 인증 결과에 따라 응용프로그램을 선택적으로 시작하는 단계를 포함한다.
이러한 배열을 통해 이중 요인 검증(사용자 이름, 동적 패스워드, 비접촉식 카드 소유권, 모바일 디바이스 등에 대한 지식)을 제공하는 비접촉식 카드 암호 교환은 계층화된 보안 프로토콜 내의 제1 요인 인증 메커니즘으로 사용될 수 있으며, 이에 따라 클라이언트/서버 통신 동안에 민감한 클라이언트 정보의 오용 가능성을 저하시킨다.
도 1은 예시적인 실시형태에 따라 고객 요청을 사전 인증하도록 형상화된 데이터 전송 시스템의 블록도이다
도 2 는 예시적인 실시형태에 따라 인증된 액세스를 제공하기 위한 수순을 나타내는 다이아그램이다.
도 3은 도 1의 시스템 내에서 사용될 수 있는 인증 정보를 저장하기 위한 비접촉식 카드의 실시예이다.
도 4는 도 3의 비접촉식 카드의 예시적인 컴포넌트를 나타내는 상세 블록도이다.
도 5는 도 1의 비접촉식 카드와 클라이언트 디바이스 간에 교환되는 메시지의 예시적인 필드의 다이어그램이다.
도 6은 본 발명의 측면을 지지하기 위해 사용 될 수 있는 도 1a의 시스템의 컴포넌트의 상세 블록도이다.
도 7은 본 명세서에 설명된 바와 같이 비접촉식 카드 제1 요인 인증을 가능하게 하는 클라이언트, 하나 이상의 클라이언트 디바이스 및/또는 비접촉식 카드의 등록을 위해 수행될 수 있는 예시적인 단계를 설명하기 위해 제공된 데이터 흐름도이다.
도 8은 비접촉식 카드와 클라이언트 디바이스 간의 암호 교환의 일부로서 제공된 사용자 이름/동적 패스워드 쌍을 사용하는 안전한 패스워드 없는 로그인을 위한 시스템 및 방법의 예시적인 실시예를 설명하기 위해 제공된 데이터 흐름도이다.
도 9는 본 명세서에 개시된 실시형태를 지원하기 위해 다양한 클라이언트 디바이스 상에 제공될 수 있는 예시적인 사용자 인터페이스 엘레멘트를 나타낸 것이다.
도 10은 본 명세서에 개시된 패스워드가 없는 로그인의 프로세스 동안 다양한 클라이언트 디바이스에 제공될 수 있는 예시적인 사용자 인터페이스 엘레멘트를 나타낸 것이다.
도 11a 및 도 11b는 디바이스를 사용하는 응용프로그램 실행을 위한 이중 요인 인증을 가능하게 할 수 있는 예시적인 사용자 인터페이스 엘레멘트를 나타낸 것이다.
패스워드 입력을 클라이언트에게 요구하지 않는 로그인 프로토콜을 사용하면 서비스 공급자가 패스워드 없는 로그인 프로토콜로 클라이언트를 인증 할 수 있다. 예를 들어 패스워드가 없는 이메일 기반 또는 텍스트 기반 시스템은 이메일/텍스트 주소와 복잡한 암호화 키 코드를 사용하여 사용자의 신원을 확인한다. 공개 키 인증은 패스워드 없이 로그인을 구현하는 또 다른 방법이다. FIDO(Fast ID Online) 협회에서는 공개 키 인증을 사용하여 패스워드 없이 로그인하는 방법을 지원한다. FIDO는 U2F(Universal Second Factor) 프로토콜을 포함한 다양한 인증 표준을 정의한다. U2F 프로토콜은 근거리 통신(NFC) 탭 또는 USB 보안 토큰과 같은 강력한 제2 요인 인증을 사용한다. 사용자는 로그인 중에 개인 U2F 디바이스를 삽입하고 터치하라는 메시지가 프롬프트 된다. 사용자의 FIDO 지원 디바이스는 새 키 쌍을 생성하고 공개 키는 온라인 서비스와 공유되고 사용자의 계정과 연계된다. 그런 다음 서비스는 등록된 디바이스가 개인 키로 챌린지에 서명하도록 요청하여 사용자를 인증 할 수 있다. U2F 프로토콜은 암호 기반 방법에 비해 향상된 보안을 제공하지만, 암호화된 경우에도 인증에 정적 개인 키를 사용하는 것은 전체 U2F 보안 프로토콜의 약점이다.
하나의 측면에 따르면 개선된 패스워드 없는 인증 프로토콜은 응용프로그램 서비스 보안을 희생하지 않고 응용프로그램 서비스 액세스를 용이하게 하기 위해 실질적으로 비접촉식 카드 암호 교환 프로토콜을 제1 요인 인증 메커니즘으로 적용한다.
하나의 실시형태에서 비접촉식 카드는 내장된 집적 회로, 저장 디바이스 및 근거리 통신(NFC) 프로토콜을 사용하여 카드가 전송 디바이스와 통신 할 수 있게 하는 인터페이스를 포함하는 신용 카드 차원의 카드를 포함한다. 본 명세서에서 사용될 수 있는 예시적인 비접촉식 카드는 2018년 11월 29일자로 Osborn 등에 의해 출원된 미국 특허출원 일련 번호 16/ 205,119호 "비접촉식 카드의 암호화 인증을 위한 시스템 및 방법"에 기재되어 있으며 참고문헌으로 본 명세서내에 통합되어 있다(이하 '119 출원이라고 함). 비접촉식 카드는 NFC 교환의 일부로 암호를 교환하도록 형상화 될 수 있다.
개선된 패스워드 없는 프로토콜에는 응용프로그램 서비스에 클라이언트의 비접촉식 카드를 등록하는 단계, 비접촉식 카드를 클라이언트에 바인딩하는 단계, 제1 요인, 제2 요인 및/또는 응용프로그램 서비스에 의한 클라이언트 액세스 요청의 다른 인증을 수행하기 위해 '119 출원에 개시된 바와 같은 암호문 교환 프로토콜을 사용하는 단계를 포함한다.
하나의 실시형태에서 비접촉식 카드는 하나 이상의 애플릿, 카운터 값, 다수의 키를 포함하는 메모리 및 서비스 공급자와 교환된 각각의 암호문에 대한 카운터 값을 증가시키도록 형상화된 하나 이상의 프로세서를 포함할 수 있다. 비접촉식 카드는 다수의 키와 카운터 값을 사용하여 암호를 생성하고 근거리 통신(NFC) 인터페이스와 같은 통신 인터페이스를 통해 암호문을 수신 디바이스로 전송하도록 형상화될 수 있다. 하나의 측면에 따르면 암호문은 클라이언트의 사용자 이름 또는 다른 식별자를 포함할 수 있다.
다양한 실시형태에서 사용자 이름은 클라이언트에 대해 자동으로 생성되거나 클라이언트에 의해 정의될 수 있다. 다양한 실시형태에서 사용자 이름은 비접촉식 카드를 클라이언트에게 전달하기 전에 비접촉식 카드에 내장될 수 있거나, 서비스 공급자에 의한 등록 프로세스의 일부로서 비접촉식 카드에 대안적으로 로딩되거나 내장될 수 있다. 일부 실시형태에서 사용자 이름은 비접촉식 카드에 의해 제공되는 하나 이상의 해시 기능, 대칭 암호화 알고리즘 및/또는 키를 사용하여 해시되거나 암호화될 수 있다.
또 다른 측면에 따르면 암호문은 응용프로그램 서비스에 액세스할 때 클라이언트의 제1 요인 인증을 수행하기 위해 사용자 이름과 함께 사용될 수 있는 동적 패스워드를 포함할 수 있다. 하나의 실시형태에서 동적 패스워드는 암호문 카운터를 포함하며, 따라서 동적 패스워드는 클라이언트와 응용프로그램 서비스 간에 교환되는 암호문의 수, 즉 비접촉식 카드로부터 사용자 이름이 검색된 횟수와 관련된다. 이러한 정열을 사용하면 동적 패스워드의 예측 불가능성이 클라이언트 인증의 확실성을 높이기 때문에 클라이언트/서버 통신의 보안이 향상된다.
하나의 측면에 따르면 비접촉식 카드를 클라이언트에 바인딩하는 단계는 카드를 디지털 자격증명 및/또는 클라이언트 디바이스와 연관시키는 단계를 포함한다. 카드를 클라이언트의 디지털 자격증명과 연관시키는 단계는 클라이언트를 서비스 공급자에 처음 등록하는 과정(즉, 클라이언트가 응용프로그램 서비스에 처음 액세스)의 일부로 또는 대안적으로 비접촉식 카드의 클라이언트로의 전달에 앞서 발생할 수 있다.
하나의 실시형태에서 적어도 하나의 클라이언트 디바이스는 비접촉식 카드와 통신하기 위한 인터페이스를 포함한다. 비접촉식 카드가 비접촉식 카드 인터페이스를 지니는 클라이언트 디바이스에 바인딩되면, 알려진 클라이언트 디바이스에서 실행되는 비접촉식 카드 암호문 교환으로 어떠한 웹 커플링 디바이스에서도 등록된 응용프로그램 서비스에 대한 클라이언트 액세스를 인증할 수 있다. 예를 들어 비접촉식 카드/모바일 디바이스 암호문 교환은 모바일 디바이스 또는 다른 웹-기반 디바이스에서 클라이언트에 의한 서비스 공급자 액세스 요청을 인증하는 데 사용될 수 있다.
하나의 실시형태에서 응용프로그램 서비스 클라이언트 인터페이스는 응용프로그램 서비스 액세스를 위한 암호문 교환 인증 방법의 사용을 제안하거나 지시하도록 형상화될 수 있다. 암호문 교환 프로토콜은 이중 요인 검증(즉 사용자 이름 및 동적 패스워드에 대한 지식과 비접촉식 카드 및/또는 클라이언트 디바이스의 소유)을 제공하고 동적 패스워드의 예측 불가능성으로 인해 공개된 프로토콜을 제1 요인 인증 방법으로 사용할 수 있는 기능을 제공하기 때문에 높은 보안의 패스워드 없는 인증을 원하는 클라이언트를 만족시킬 수 있다.
본 발명의 이러한 및 다른 특징은 도면을 참조하여 설명될 것이며 여기서 동일한 참조 번호는 전체에 걸쳐 동일한 엘레멘트를 지칭하기 위해 사용된다. 여기서 사용되는 표기법 및 명명법에 대한 일반적인 참조와 관련하여, 다음의 상세한 설명은 컴퓨터 또는 컴퓨터 네트워크에서 실행되는 프로그램 프로세스의 관점에서 제시될 수 있다. 이러한 프로세스 설명 및 표현은 당업자에 의해 작업의 본질을 당업자에게 가장 효과적으로 전달하기 위해 사용된다.
여기서 프로세스는 일반적으로 원하는 결과로 이어지는 일관된 작업 순서로 간주된다. 이러한 작업은 물리적 수량의 물리적 조작이 필요한 작업이다. 일반적으로 이러한 물리적 수량은 저장, 전송, 결합, 비교 및 기타 조작이 가능한 전기, 자기 또는 광학 신호의 형태를 취한다. 주로 일반적인 사용의 이유로 이러한 신호를 비트, 값, 엘레멘트, 기호, 문자, 용어, 숫자 등으로 지칭하는 것이 편리한 경우가 있다. 그러나 이러한 용어와 유사한 용어는 모두 적절한 물리적 수량과 관련되어야 하며 해당 수량에 적용되는 편리한 라벨일 뿐이라는 점에 유의해야 한다.
또한 이러한 조작은 일반적으로 인간 운영자가 수행하는 정신적 작업과 관련된 추가 또는 비교와 같은 용어로 언급된다. 그러나 인간 운영자의 그러한 능력은 하나 이상의 실시형태의 일부를 형성하는 본 명세서에 설명된 임의의 작업에서 필요하거나 바람직하지 않다. 오히려 작업은 기계 작업이다.
다양한 실시형태의 동작을 수행하기 위한 유용한 기계는 범용 디지털 컴퓨터 또는 유사한 디바이스를 포함한다. 또한 다양한 실시형태는 이러한 작동을 수행하기 위한 장치 또는 시스템에 관한 것이다. 이러한 장치는 필요한 목적을 위해 특별히 구성될 수 있거나, 컴퓨터 내에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재형상화된 범용 컴퓨터를 포함할 수 있다. 본 발명에 제시된 프로세스는 본질적으로 특정 컴퓨터 또는 기타 장치와 관련이 없다.
다양한 범용 기기가 본 발명의 가르침에 따라 작성된 프로그램과 함께 사용되거나, 필요한 방법 단계를 수행하기 위해 더욱 전문화된 장치를 구성하는 것이 편리함을 증명할 수 있다. 이러한 다양한 기기에 필요한 구조는 주어진 설명에서 나타난다.
이제 도면을 참조하며 여기서 동일한 참조 번호는 전체에 걸쳐 동일한 엘레멘트를 지칭하기 위해 사용된다. 하기 개시사항에서 설명의 목적으로 그에 대한 철저한 이해를 제공하기 위해 다수의 특정 세부 사항이 제시된다. 그러나 신규한 실시형태는 이러한 특정 세부사항 없이도 실시될 수 있음이 명백할 수 있다. 다른 예시에서 잘 알려진 구조 및 디바이스는 설명을 용이하게 하기 위해 블록 다이어그램 형태로 표시된다. 의도는 청구범위와 일치하는 모든 변형, 등가물 및 대안을 포함하는 것이다.
도 1은 네트워크(115)를 통해 서비스 공급자(120)에 결합된 하나 이상의 클라이언트 디바이스(110)를 포함하는 시스템(100)을 도시한다. 하나의 측면에 따르면 클라이언트 디바이스(110)는 네트워크-가능 컴퓨터를 포함하고 서비스 공급자 콘텐츠 및 서비스에 액세스하기 위해 네트워크(115 및 125)를 통해 서비스 공급자(120)와 통신한다.
본 명세서에 언급된 바와 같이 네트워크-가능 컴퓨터는 예를 들어 컴퓨터 디바이스 또는 예를 들어 서버, 네트워크 장치, 개인용 컴퓨터(PC), 워크스테이션, 모바일 디바이스, 전화, 핸드헬드 PC, 개인 휴대 정보 단말기(PDA), 씬 클라이언트 디바이스, 팻 클라이언트 디바이스, 인터넷 브라우저 또는 기타 디바이스를 포함하는 통신 디바이스를 포함할 수 있지만 이에 제한되지는 않는다.
따라서 클라이언트 디바이스(110)는 프로세서 및 메모리를 포함할 수 있으며, 처리 서킷은 본 발명에 설명된 기능을 수행하는데 필요한 프로세서, 메모리, 오류 및 패리티/CRC 검사기, 데이터 인코더, 충돌 방지 알고리즘, 컨트롤러, 명령 디코더, 보안 프리미티브 및 변조 방지 하드웨어를 포함하는 추가 컴포넌트를 포함할 수 있음을 이해해야 한다.
클라이언트 디바이스(110)는 디스플레이 및 입력 디바이스를 더욱 포함할 수 있다. 디스플레이는 컴퓨터 모니터, 평면 패널 디스플레이 및 액정 디스플레이, 발광 다이오드 디스플레이, 플라즈마 패널 및 음극선 관 디스플레이를 포함하는 모바일 디바이스 화면과 같은 시각 정보를 표시하기 위한 임의의 유형의 디바이스일 수 있다. 입력 장치는 터치 스크린, 키보드, 마우스, 커서 제어 디바이스, 마이크, 디지털 카메라, 비디오 레코더 또는 캠코더와 같이 사용자의 디바이스에 의해 사용 가능하고 지원하는 정보를 사용자 디바이스에 입력하기 위한 모든 디바이스를 포함할 수 있다. 이러한 디바이스는 정보를 입력하고 본 발명에 개시된 소프트웨어 및 기타 디바이스와 상호 작용하는 데 사용될 수 있다.
또한 하나 이상의 클라이언트 디바이스(110)는 예를 들어 iPhone, iPod, Apple®의 iPad 또는 Apple의 iOS 운영 체제를 실행하는 다른 모바일 디바이스, Microsoft의 Windows® Mobile 운영 체제를 실행하는 모든 디바이스 및/또는 다른 스마트폰 또는 유사한 웨어러블 모바일 디바이스일 수 있다.
도 1의 다양한 클라이언트 디바이스(110)는 휴대폰(142), 랩톱(144), 태블릿(148) 및 단말기(146)를 포함한다. 클라이언트 디바이스(110)는 서비스 공급자(120)와의 통신을 위해 특별히 적응된 씬 클라이언트 응용프로그램을 포함할 수 있다. 씬 클라이언트 응용프로그램은 클라이언트 디바이스의 메모리 내에 저장되고 클라이언트 디바이스에 의해 실행될 때 클라이언트 디바이스와 서비스 공급자 응용프로그램 간의 인터페이스를 제어하도록 작동 가능하여 클라이언트 디바이스의 사용자가 서비스 공급자 콘텐츠 및 서비스에 액세스할 수 있게 한다.
일부 실시예에서 네트워크(115)는 무선 네트워크, 유선 네트워크 또는 무선 네트워크와 유선 네트워크의 임의의 조합 중 하나 이상이며, 클라이언트 디바이스(110)를 서비스 공급자(120)에 연결하도록 형상화될 수 있다. 예를 들어, 네트워크(115)는 광섬유 네트워크, 수동 광 네트워크, 케이블 네트워크, 인터넷 네트워크, 위성 네트워크, 무선 근거리 통신망(WLAN), 모바일 전송용 글로벌 시스템, 개인 통신 서비스, 개인 영역 네트워크, 무선 애플리케이션 프로토콜, 멀티미디어 메시지 서비스, 향상된 메시지 서비스, 단문 메시지 서비스, 시분할 다중화 기반 시스템, 코드 분할 다중 액세스 기반 시스템, D-AMPS, Wi-Fi, 고정 무선 데이터, IEEE 802.11b, 802.15.1, 802.11n 및 802.11g, Bluetooth, NFC, 무선 주파수 식별(RFID), Wi-Fi 등에서 선택된 하나 이상을 포함할 수 있다
또한, 네트워크(115)는 전화선, 광섬유, IEEE 이더넷 902.3, 광역 통신망(WAN), 무선 개인 통신망(WPAN), 근거리 통신망(LAN) 또는 인터넷과 같은 글로벌 네트워크를 제한없이 포함할 수 있다. 또한 네트워크(115)는 인터넷 네트워크, 무선 통신 네트워크, 셀룰러 네트워크 또는 이들의 임의의 조합을 지원할 수 있다. 네트워크(115)는 독립형 네트워크 또는 서로 협력하여 동작하는 하나의 네트워크로서 위에서 언급한 임의의 수의 예시적인 유형의 하나 또는 그 이상의 네트워크를 더 포함할 수 있다. 네트워크(115)는 통신적으로 결합되는 하나 이상의 네트워크 요인의 하나 이상의 프로토콜을 이용할 수 있다. 네트워크(115)는 해석되거나 다른 프로토콜로 부터 다른 프로토콜로부터 네트워크 디바이스의 하나 이상의 프로토콜로 변환할 수 있다.
하나 이상의 실시예에 따르면 네트워크(115)는 예를 들어 인터넷, 서비스 공급자의 사설 네트워크(125), 케이블 텔레비전 네트워크, 신용 카드 협회 네트워크와 같은 기업 네트워크 및 홈 네트워크와 같은 다수의 상호 연결된 네트워크의 일부 일 수 있음을 이해해야 한다. 또한 사설 네트워크(125)는 네트워크(115) 상에 계층화된 가상 사설 네트워크로서 구현될 수 있다.
서비스 공급자(120)는 하나의 실시형태에서 네트워크(115)를 통해 클라이언트에게 컴퓨터 기반 서비스를 제공하는 업체이다. 서비스 공급자의 특정 서비스를 클라이언트에게 제공하는 소프트웨어와 하드웨어의 조합은 본 명세서에서 '서버'라고 한다. 서버는 종종 기업 또는 기업 네트워크라고 불리는 서비스 공급자의 사설 네트워크(125)를 통해 통신할 수 있다. 사설 네트워크(125)는 네트워크(115)와 관련하여 전술한 바와 같이 무선 네트워크, 유선 네트워크 또는 무선 네트워크와 유선 네트워크의 임의의 조합을 포함할 수 있다.
소프트웨어 서비스는 컴퓨터 디바이스의 운영 체제에서 실행되는 데스크톱 응용프로그램, 모바일 디바이스의 모바일 운영 체제에서 실행되는 모바일 응용프로그램, 또는 모바일 운영 체제 또는 데스크톱 운영 체제의 브라우저 컴포넌트 상에서 실행되는 웹 응용프로그램과 같은 전자 디바이스에서 실행되는 응용프로그램으로 구현될 수 있다. 당업자는 모든 유형의 전자 디바이스에서 소프트웨어 응용프로그램을 설계, 구축 및 배포하는 방법을 이해할 수 있을 것입니다. 일부 실시형태에서 응용프로그램은 디바이스의 운영 체제에서 실행되는 브라우저 응용프로그램 하나의 수 있다.
도 1의 시스템에서 서비스 공급자(120)는 응용프로그램 서버(150) 및 인증 서버(160)를 포함하는 것으로 나타나 있다. 각각의 서버가 개별 디바이스로 도시되어 있지만, 응용프로그램 및 서버는 기업 전체에 분산될 수 있으며, '클라우드' 리소스와 같은 분산 리소스의 경우 전체 네트워크(115)에 분산될 수 있다. 응용프로그램 서버(150)는 서비스 공급자(120)에 의해 제공되는 하나 이상의 예를 들어 계좌 관리 서비스와 같은 응용프로그램 서비스를 지원할 수 있다. 하나의 측면에 따른 인증 서버(160)는 하기에서 상세히 개시되는 바와 같이 비접촉식 카드를 사용하여 제1 요인 인증 및 제2 요인 인증 중 하나 또는 둘 다를 제공하도록 형상화될 수 있다.
데이터베이스(130)는 예를 들어, 응용프로그램 서버(150) 및 인증 서버(160)에 의해 사용하기 위한 동적 패스워드 데이터를 포함하는 고객 계좌, 크리덴셜 및 기타 인증 정보를 저장하기 위한 데이터 저장 리소스를 포함한다. 데이터베이스(130)는 로컬 스토리지, 분산 데이터 센터 스토리지 또는 클라우드 기반 스토리지의 임의의 조합을 포함하는 결합된 데이터 리소스를 포함할 수 있으며. 여기서 데이터 리소스는 반송파 또는 전파 데이터 신호를 포함하지 않는 비 일시적 유형의 저장 매체를 포함한다.
하나의 측면에 따르면 비접촉식 카드(105)는 하나 이상의 클라이언트 디바이스(110)와 무선 통신, 예를 들어 근거리 무선 통신(NFC) 내에 있을 수 있다. 예를 들어 비접촉식 카드(105)는 NFC 또는 기타 단거리 프로토콜을 통해 통신하도록 형상화된 라디오 주파수 식별 칩과 같은 하나 이상의 칩을 포함할 수 있다. 다른 실시형태에서 비접촉식 카드(105)는 블루투스, 위성 및/또는 WIFI를 포함하지만 이에 한정되지 않는 다른 수단을 통해 클라이언트 디바이스(110)와 통신할 수 있다. '119 출원에 설명된 바와 같이, 비접촉식 카드(105)는 비접촉식 카드(105)가 각각의 클라이언트 디바이스 범위 내에 있을 때 NFC를 통해 카드 리더 단말기(146), 휴대폰(142), 랩톱(144) 및/또는 태블릿(148) 중 하나와 통신하도록 형상화될 수 있다.
하기에서 상세히 설명되는 바와 같이 비접촉식 카드(105)는 클라이언트 디바이스를 인증하기 위해 서비스 공급자에 의해 사용될 수 있는 동적 패스워드를 포함하는 암호를 생성하기 위해 암호화 알고리즘을 사용하여 변환될 수 있는 사용자 이름, 키 및 카운터 정보를 포함할 수 있다. 상기에서 언급한 바와 같이 하나의 측면에 따르면 제1 요인 인증은 '119 출원에 설명된 것과 같은 암호화 통신의 일부로 사용자 이름 및 동적 패스워드를 교환함으로써 구현될 수 있다. 이제 예시적 암호 교환 시스템 및 방법에 대한 설명을 도 2 내지 도5를 참조하여 설명할 것이다.
도 2는 본 명세서에 개시된 다양한 측면에 따라 서비스 공급자 응용프로그램에 대한 클라이언트 액세스를 인증하기 위한 예시적 워크플로우를 예시하는 데이터 흐름도이다. 도 2에서 클라이언트 디바이스(110)는 응용프로그램(122) 및 프로세서(124)를 포함하는 것으로 도시되어 있다. 하나의 실시형태에서 응용프로그램은 예를 들어, 프로세서(124)에 의해 클라이언트 디바이스(110)와 서비스 공급자 네트워크의 서버에 의해 호스팅되는 서비스 공급자 응용프로그램 간의 인터페이스를 제어하기 위해 실행될 때 동작할 수 있는 프로그램 코드를 포함하는 클라이언트 측 애플릿을 포함할 수 있다.
단계 102에서 응용프로그램(122)은 예를 들어 비접촉식 카드(105)에 근접한 후 비접촉식 카드(105)와 통신한다. 응용프로그램(122)과 비접촉식 카드(105) 간의 통신은 비접촉식 카드(105)가 응용프로그램(122)과 비접촉식 카드(105) 간의 NFC 데이터 전송을 가능하게 하기 위해 클라이언트 디바이스(110)의 카드 판독기(도시되지 않음)에 충분히 근접하는 것을 포함할 수 있다.
단계 104에서 클라이언트 디바이스(110)와 비접촉식 카드(105) 간에 통신이 확립된 후, 비접촉식 카드(105)는 NFC 데이터 교환 포맷에 따라 메시지 인증 코드(MAC) 암호를 생성한다. 일부 실시예에서 이것은 비접촉식 카드(105)가 예를 들어 비접촉식 카드에 저장된 근거리 데이터 교환(NDEF) 태그의 판독을 위한 응용프로그램(122)에 응답하여 응용프로그램(122)에 의해 판독될 때 발생할 수 있다. 이때, 비접촉식 카드(105)가 유지하는 카운터 값은 업데이트 또는 증가될 수 있으며, 비접촉식 카드는 헤더, 페이로드 및 공유 비밀을 포함하는 메시지를 생성할 수 있다.
하나의 측면에 따르면 페이로드는 클라이언트의 사용자 이름을 포함할 수 있고, 공유 시크릿은 클라이언트를 인증하는 데 사용될 동적 패스워드를 포함할 수 있다. MAC 암호는 헤더, 페이로드 및 공유 비밀을 포함할 수 있는 메시지에서 생성될 수 있다. MAC 암호는 하나 이상의 임의 데이터 블록과 연결될 수 있고 MAC 암호 및 난수(RND)는 세션 키로 암호화될 수 있다. 그 후, 암호문과 헤더를 연결하여 ASCII 16 진수로 인코딩하고 NDEF 메시지 형식( "Read NDEF file"메시지에 응답)으로 반송 할 수 있다.
일부 실시예에서 MAC 암호는 NDEF 태그로 전송될 수 있고, 다른 실시예에서 MAC 암호는 고유 리소스 지시자(예를 들어, 포맷된 문자열로서)와 함께 포함될 수 있다.
일부 실시예에서 응용프로그램(122)은 요청을 비접촉식 카드(105)로 전송하도록 형상화될 수 있으며, 요청은 MAC 암호를 생성하라는 명령어를 포함한다.
단계 106에서 비접촉식 카드(105)는 MAC 암호를 응용프로그램(122)에 전송한다. 일부 실시예에서 MAC 암호의 전송은 NFC를 통해 발생한다. 그러나 본 발명은 이에 한정되지 않는다. 다른 실시예에서 이 통신은 블루투스, Wi-Fi 또는 기타 무선 데이터 통신 수단을 통해 발생할 수 있다.
단계 108에서 응용프로그램(122)은 MAC 암호를 프로세서(124)에 전달한다.
단계 112에서 프로세서(124)는 응용프로그램(122)으로부터의 명령어에 따라 MAC 암호를 검증한다. 예를 들어, MAC 암호는 후술하는 바와 같이 검증될 수 있다.
일부 실시예에서 MAC 암호를 검증하는 것은 클라이언트 디바이스(110)와 데이터 통신하는 서비스 공급자(120)와 같은 클라이언트 디바이스(110) 이외의 디바이스에 의해 수행될 수 있다(도 1에 도시됨). 예를 들어 프로세서(124)는 MAC 암호를 검증할 수 있는 서비스 공급자(120)의 인증 서버(160)로 전송하기 위해 MAC 암호를 출력할 수 있다.
하나의 측면에 따르면 1단계 보안 인증은 사용자로 하여금 하나 이상의 비접촉식 카드와 관련된 하나 이상의 행동에 참여하게 할 수 있다. 사실상, 보안 요인 인증은 사용자가 비접촉식 카드와 관련된 하나 이상의 탭 제스처를 포함하지만 이에 제한되지 않는 하나 이상의 유형의 행동에 참여하도록 장려한다. 일부 실시예에서 하나 이상의 탭 제스처는 디바이스에 대한 사용자에 의한 비접촉식 카드의 탭을 포함할 수 있다. 하나 이상의 탭 제스처는 서비스 공급자에서 클라이언트 액세스 요청을 인증하기 위해 사용자 이름 및 동적 패스워드를 포함하는 암호를 교환하는 데 사용될 수 있다.
하나의 실시형태에서 하기에서 더 상세히 설명되는 바와 같이, 비접촉식 카드는 클라이언트 디바이스의 사용자를 인증하기 위해서 사용자 이름과 함께 사용될 수 있는 동적 패스워드를 포함하는 암호를 생성하는 데 사용될 수 있는 사용자 이름, 키, 카운터 및 암호화 처리 기능을 포함한다. 하나의 실시형태에서 동적 패스워드는 카운터와 관련된다. 이러한 실시형태에서 동적 패스워드는 유리하게는 카드 소지자의 이전 행동을 반영한다. 예를 들어 카운터 기반 동적 패스워드는 사용자가 이전에 서비스 공급자의 특정 서비스에 액세스한 횟수를 반영할 수 있으며, 이는 악의적인 제3자가 확인할 수 없는 지식 요인이다.
도 3은 카드(300)의 앞면 또는 뒷면에 신원이 표시되는 서비스 공급자(305)에 의해 발행된 신용 카드, 직불 카드 또는 기프트 카드와 같은 결제 카드를 포함할 수 있는 하나 이상의 비접촉식 카드(300)를 도시한다. 일부 실시예에서 비접촉식 카드(300)는 결제 카드와 관련이 없으며, 신분증 또는 여권을 제한없이 포함할 수 있다. 일부 실시예에서 결제 카드는 이중 인터페이스 비접촉식 결제 카드를 포함할 수 있다.
비접촉식 카드(300)는 단 하나의 층 또는 플라스틱, 금속 및 기타 재료로 형상화된 하나 이상의 적층된 층을 포함할 수 있는 기판(310)을 포함할 수 있다. 예시적인 기판 재료는 폴리염화비닐, 폴리염화비닐아세테이트, 아크릴로 니트릴부타디엔스티렌, 폴리카보네이트, 폴리에스테르, 음이온화 티타늄, 팔라듐, 금, 탄소, 종이 및 생분해성 재료를 포함한다. 일부 실시예에서 비접촉식 카드(300)는 ISO/IEC 7810 표준의 ID-1 형식을 따르는 물리적 특성을 가질 수 있고, 비접촉식 카드는 그렇지 않으면 ISO/IEC 14443 표준을 따를 수 있다. 그러나 본 발명에 따른 비접촉식 카드(300)는 서로 다른 특성을 가질 수 있으며, 본 발명에서는 결제 카드 내에 비접촉식 카드를 구현할 필요가 없는 것으로 이해된다.
비접촉식 카드(300)는 또한 카드의 앞면 및/또는 뒷면에 표시된 식별 정보(315) 및 접촉 패드(320)를 포함할 수 있다. 접촉 패드(320)는 사용자 디바이스, 스마트폰, 노트북, 데스크톱 또는 태블릿 컴퓨터와 같은 다른 통신 디바이스와 접촉을 설정하도록 형상화될 수 있다. 또한 비접촉식 카드(300)는 도 3에 도시되지 않은 처리 회로, 안테나 및 기타 컴포넌트를 포함할 수 있다. 이들 컴포넌트는 접촉 패드(320) 후면 또는 기판(310)의 다른 곳에 위치할 수 있다. 비접촉식 카드(300)는 카드 뒷면에 있을 수 있는 자기 스트립 또는 테이프를 포함할 수 있다(도 3에 표시되지 않음).
도 4에 도시된 바와 같이, 접촉 패드(420)는 마이크로프로세서(430) 및 메모리(435)를 포함하여 정보를 저장하고 처리하기 위한 처리 회로를 포함할 수 있다. 처리 회로는 본 발명에 설명된 기능을 수행하는데 필요한 프로세서, 메모리, 오류 및 패리티/CRC 검사기, 데이터 인코더, 충돌 방지 알고리즘, 컨트롤러, 명령 디코더, 보안 프리미티브 및 변조 방지 하드웨어를 포함하는 추가 컴포넌트가 포함될 수 있음을 이해해야 한다.
메모리(435)는 읽기 전용 메모리, 1회 기록 다회 판독(WORM) 메모리 또는 읽기/쓰기 메모리, 예를 들어 RAM, ROM 및 EEPROM일 수 있으며, 비접촉식 카드(400)는 이들 메모리 중 하나 이상을 포함할 수 있다. 리드 온리 메모리는 공장에서 읽기 전용 또는 일회성 프로그래밍이 가능한다. 일회성 프로그래밍 기능은 한 번 쓰고 여러 번 읽을 수 있는 기회를 제공한다. WORM 메모리는 메모리 칩이 제조업체에서 출고된 후 특정 시점에 프로그래밍 될 수 있다. 메모리가 프로그래밍 되면 다시 쓸 수 없지만 여러 번 읽을 수 있다. 읽기/쓰기 메모리는 제조업체 출하 후 여러 번 프로그래밍하고 다시 프로그래밍할 수 있다. 또한 여러 번 읽을 수 있다.
메모리(435)는 하나 이상의 애플릿(440), 하나 이상의 카운터(445) 및 고객 정보(450)를 저장하도록 형상화될 수 있다. 하나 이상의 애플릿(440)은 Java 카드 애플릿과 같이 하나 이상의 비접촉식 카드에서 실행되도록 형상화된 각각의 하나 이상의 서비스 공급자 응용프로그램과 관련된 하나 이상의 소프트웨어 응용프로그램을 포함할 수 있다. 다. 하나의 측면에 따르면 각각의 애플릿은 클라이언트가 애플릿과 관련된 서비스 공급자 응용프로그램에 액세스하기 위한 사용자 이름(402)을 저장할 수 있다.
하나 이상의 카운터(445)는 정수를 저장하기에 충분한 숫자 카운터를 포함할 수 있다. 고객 정보(450)는 비접촉식 카드(400)의 사용자에게 할당된 고유한 영숫자 식별자 및/또는 비접촉식 카드의 사용자를 다른 비접촉식 카드 사용자와 구별하기 위해 함께 사용될 수 있는 하나 이상의 키를 포함할 수 있다. 일부 실시예에서 고객 정보(450)는 고객 및 그 고객에게 할당된 계좌 모두를 식별하는 정보를 포함할 수 있고 고객의 계좌와 관련된 비접촉식 카드를 추가로 식별할 수 있다. 일부 측면들에 따르면 사용자 이름(442)은 하나 이상의 고객 정보(450) 및/또는 하나 이상의 키의 조합으로부터 유도될 수 있다.
전술한 실시형태의 프로세서 및 메모리 소자는 접촉 패드를 참조하여 설명하였으나 본 발명은 이에 한정되지 않는다. 이들 엘레멘트는 패드(420) 외부에 구현되거나 완전히 분리되어 구현될 수 있거나, 또는 접촉 패드(420) 내에 위치한 마이크로프로세서(430) 및 메모리(335) 엘레멘트에 추가하여 추가 엘레멘트로서 구현될 수 있음이 이해된다.
일부 실시예에서 비접촉식 카드(400)는 비접촉식 카드(400) 내부 및 접촉 패드(420)의 처리 회로(455) 주위에 배치된 하나 이상의 안테나(425)를 포함할 수 있다. 예를 들어 하나 이상의 안테나는 처리 회로와 통합될 수 있으며, 하나 이상의 안테나는 외부 부스터 코일과 함께 사용될 수 있다. 다른 실시예로서 하나 이상의 안테나는 접촉 패드(420) 및 처리 회로의 외부에 있을 수 있다.
전술한 바와 같이 비접촉식 카드(400)는 스마트 카드 또는 JavaCard와 같은 프로그램 코드, 처리 능력 및 메모리를 포함하는 다른 디바이스에서 작동 가능한 소프트웨어 플랫폼에 구축될 수 있다. 다양한 모바일 응용프로그램 기반 사용 사례에서 다중 요인 인증(MFA)을 위한 일회용 암호(OTP)를 생성하기 위해 비접촉식 카드에 애플릿을 추가할 수 있다.
애플릿은 모바일 근거리 통신(NFC) 판독기와 같은 리더의 근거리 데이터 교환(DEF)요청과 같은 하나 이상의 요청에 응답하고 암호화 NDEF 텍스트 태그로 인코딩된 보안 OTP를 포함하는 NDEF 메시지를 생성하도록 형상화될 수 있다. 따라서 비접촉식 카드의 기능은 아래에 설명된 바와 같이 근거리 데이터 교환 통신의 일부로 고유한 일회용 암호를 제공하도록 적합화 시킨다.
도 5는 예시적인 실시형태에 따른 예시적인 NDEF 단기 레코드 레이아웃(SR=1)(500)을 도시한다. NDEF 메시지는 클라이언트 디바이스(110)가 비접촉식 카드(105)와 통신하기 위한 표준화된 방법을 제공한다. 일부 실시예에서 NDEF 메시지는 하나 이상의 레코드를 포함할 수 있다. NDEF 레코드(500)는 메시지 시작(MB) 플래그(503a), 메시지 종료(ME) 플래그(503b), 청크 플래그(CF)(503c), Short Record(SR) 플래그(503d), ID 길이(IL) 플래그(503e) 및 Type Name Format(TNF) 필드(503f) 등을 포함하여 레코드의 나머지를 해석하는 방법을 정의하는 다수의 플래그를 포함하는 헤더(502)를 포함한다.
MB(503a) 및 ME 플래그(503b)는 메시지의 각각의 첫 번째 및 마지막 레코드를 나타내도록 설정될 수 있다. CF(503c) 및 IL 플래그(503e)는 각각 데이터가 '청크(chunked)'(메시지 내의 여러 레코드 간에 데이터 확산)인지 또는 ID 유형 길이 필드(508)가 관련되는지 여부를 포함하여 레코드에 대한 정보를 제공한다. SR 플래그(503d)는 메시지가 하나의 레코드 만을 포함할 때 설정될 수 있다.
TNF 필드(503f)는 NFC 프로토콜에 의해 정의된 바와 같이 필드가 포함된 콘텐츠의 유형을 식별한다. 이러한 유형에는 비어있음, 잘 알려진(NFC 포럼의 레코드 유형 정의(RTD)에 의해 정의된 데이터), 다용도 인터넷 메일 연장[RFC 2046에 정의됨], 절대 고유 리소스 표식자(URI)[RFC 3986에 정의 됨], 외부(사용자 정의), 알 수 없음, 변경되지 않음 [청크용] 및 리저브드 등이다.
NFC 레코드의 다른 필드는 유형 길이(504), 페이로드 길이(506), ID 길이(508), 유형(510), ID(512) 및 페이로드(514)를 포함한다. 유형 길이 필드(504)는 페이로드에서 발견된 정확한 종류의 데이터를 지정한다. 페이로드 길이(506)는 바이트 단위의 페이로드 길이를 포함한다. 레코드에는 최대 4,294,967,295 바이트(또는 2 ^ 32 - 1 바이트)의 데이터가 포함될 수 있다. ID 길이(508)에는 ID 필드의 길이(바이트)가 포함된다. 유형(510)은 페이로드에 포함된 데이터 유형을 식별한다.
예를 들어, 인증 목적으로 유형(510)은 페이로드에 사용자 이름/암호 쌍이 포함되어 있음을 나타낼 수 있다. ID 필드(512)는 외부 응용프로그램이 NDEF 레코드 내에서 전달되는 전체 페이로드를 식별하는 수단을 제공한다. 페이로드(514)는 메시지를 포함한다.
일부 실시예에서 데이터는 보안 채널 프로토콜 하에서 STORE DATA(E2)를 구현함으로써 처음에 비접촉식 카드에 저장될 수 있다. 이 데이터에는 카드에 고유한 개인 사용자 ID(pUID) 또는 기타 사용자 이름 뿐만 아니라 하나 이상의 초기 키, 세션 키를 포함한 암호화 처리 데이터, 데이터 암호화 키, 난수 및 기타 값이 포함될 수 있으며, 아래에 자세히 설명되어 있다. 다른 실시형태에서 pUID 또는 다른 사용자 이름은 비접촉식 카드를 클라이언트에 전달하기 전에 비접촉식 카드에 미리 로드될 수 있다. 일부 실시형태에서 사용자 이름은 서비스 공급자에 의해 자동으로 생성될 수 있다.
일부 실시형태에서 각각의 서비스 공급자 애플릿/서비스에 대해 고유한 사용자 이름이 제공될 수 있다. 일부 실시형태에서 사용자 이름은 서비스 공급자에 의해 자동으로 생성될 수 있고 클라이언트에게는 알려지지 않을 수 있다. 다른 실시형태에서 사용자 이름은 서비스 공급자 응용프로그램을 사용한 등록 프로세스의 일부로서 클라이언트에 의해 선택될 수 있고 등록 프로세스의 일부로서 비접촉식 카드에 다운로드 될 수 있다. 따라서 사용자 이름은 자동으로 생성되거나 미리 정의된 데이터의 조합을 포함할 수 있으며, 애플릿 또는 비접촉식 카드 메모리의 다른 부분에 저장되고, pUID를 포함하거나 이산 값 일 수 있으며, 비접촉식 카드의 해시 값 또는 키를 사용하여 암호화되거나 인코딩될 수 있다
예를 들어 클라이언트 및 인증 서버 각각은 사용자 이름을 인코딩하기 위해 SHA-2 알고리즘을 포함하지만 이에 제한되지 않는 하나 이상의 해시 알고리즘을 사용할 수 있다. 선택적으로 사용자 이름 및/또는 암호화 페이로드를 암호화/복호화하기 위해 사용될 수 있는 암호화 알고리즘은 대칭 암호화 알고리즘, HMAC 알고리즘 및 CMAC 알고리즘 중 적어도 하나를 포함하는 그룹으로부터 선택될 수 있다.
사용자 이름 및/또는 패스워드를 암호화하는 데 사용될 수 있는 대칭 알고리즘의 비제한적인 실시예는 삼중 데이터 암호화 알고리즘(3DES) 또는 개선된 암호화 표준(AES)(128)과 같은 대칭 암호화 알고리즘; HMAC-SHA-256과 같은 대칭 해시-기반 메시지 인증(HMAC) 알고리즘; 및 AES-CMAC와 같은 대칭 암호 기반 메시지 인증 코드(CMAC) 알고리즘을 포함한다. 다양한 형태의 암호화가 당업자에게 알려져 있으며, 본 개시는 여기서 구체적으로 식별된 것에 한정되지 않는 것으로 이해된다.
초기화 후, 비접촉식 카드, 클라이언트 디바이스 애플릿 및/또는 인증 서버는 여기에 설명된 사용자 이름/동적 패스워드 인증 프로세스를 통해 카드 소유자를 고유하게 식별하기 위한 정보를 저장한다.
도 6은 비접촉식 카드(610)가 제1 요인 인증 동안 사용될 수 있는 정보를 저장할 수 있는 통신 시스템(600)을 도시한다. 도 4와 관련하여 설명된 바와 같이 각각의 비접촉식 카드는 식별자, 키, 난수 등과 같은 하나 이상의 고유 식별 속성을 포함하는 고객 정보(618)를 위한 마이크로프로세서(612) 및 메모리(616)를 포함할 수 있다.
하나의 측면에서 메모리는 여기에 설명된 인증 프로세스를 제어하기 위해 마이크로프로세서(612)에 의해 실행될 때 동작 가능한 인증 애플릿(617)을 더 포함한다. 전술한 바와 같이 사용자 이름(618)은 애플릿의 일부 및/또는 고객 정보(618)의 일부로서 저장될 수 있다. 또한 각 카드(610)는 하나 이상의 카운터(614) 및 인터페이스(615)를 포함할 수 있다. 하나의 실시형태에서 인터페이스는 NFC 또는 기타 통신 프로토콜을 작동시킨다.
클라이언트 디바이스(620)는 비접촉식 카드와 통신하기 위한 비접촉식 카드 인터페이스(625) 및 디바이스(620)가 전술한 바와 같이 다양한 통신 프로토콜을 사용하여 서비스 공급자와 통신할 수 있도록 하는 하나 이상의 다른 네트워크 인터페이스(도시되지 않음)를 포함한다. 클라이언트 디바이스는 하나 이상의 키보드 또는 터치 스크린 디스플레이를 포함할 수 있는 사용자 인터페이스(626)를 더 포함하여 서비스 공급자 응용프로그램과 클라이언트 디바이스(620)의 사용자 간의 통신을 허용한다. 클라이언트 디바이스(620)는 프로세서(624) 및 프로세서에 의해 실행될 때 클라이언트 디바이스(620)의 동작을 제어하는 정보 및 프로그램 코드를 저장하는 메모리(622)를 더욱 포함할 수 있으며 예를 들어 클라이언트가 사용을 용이하게 액세스하기 위해 서비스 공급자가 클라이언트에 제공할 수 있는 클라이언트 측 응용프로그램(623)을 포함할 수 있다.
하나의 실시형태에서 클라이언트 측 응용프로그램(623)은 비접촉식 카드(610)로부터 서비스 공급자에 의해 제공되는 하나 이상의 서비스로 사용자 이름 및 동적 패스워드를 포함하는 인증 정보를 전달하도록 형상화된 프로그램 코드를 포함한다. 클라이언트 측 앱(623)은 사용자 인터페이스(626)에 표시된 서비스 공급자(SP) 응용프로그램 인터페이스(627)에서 수신된 입력을 통해 제어될 수 있다. 예를 들어 사용자는 SP 응용프로그램 인터페이스(627)의 일부로 제공되는 아이콘, 링크 또는 기타 메커니즘을 선택할 수 있다. 클라이언트 측 응용프로그램을 시작하여 SP 응용 프로그램 서비스에 액세스한다. 여기서 시작에는 암호화 교환을 사용하여 클라이언트를 확인하는 작업이 포함된다.
예시적인 실시형태에서 암호 교환은 프로세서 및 메모리를 갖는 전송 디바이스와 마스터 키, 전송 데이터 및 카운터 값을 포함하는 전송 디바이스의 메모리를 포함한다. 전송 디바이스는 마스터 키를 포함하는 수신 디바이스의 메모리 및 프로세서와 메모리를 지닌 수신 디바이스와 통신한다. 전송 디바이스는 마스터 키 및 하나 이상의 암호화 알고리즘을 사용하여 다양한 키를 생성하고 전송 디바이스의 메모리에 다양한 키를 저장하고, 하나 이상의 암호화 알고리즘 및 다양한 키를 사용하여 카운터 값을 암호화하도록 형상화될 수 있다. 암호화된 카운터 값을 생성하고, 하나 이상의 암호화 알고리즘과 다양한 키를 사용하여 전송 데이터를 암호화하여 암호화된 전송 데이터를 생성하고, 암호화된 카운터 값과 암호화된 전송 데이터를 암호화된 수신 디바이스에 전송한다.
수신 디바이스는 저장된 마스터 키 및 저장된 카운터 값에 기초하여 다양화 키를 생성하고 수신 디바이스의 메모리에 다양화 키를 저장하도록 형상화될 수 있다; 및 하나 이상의 복호화 알고리즘 및 다양화 키를 사용하여 암호화된 카운터 및 암호화된 송신 데이터를 포함하는 암호화된 암호를 복호화하는 단계를 포함한다. 수신 디바이스는 복호화된 카운터와 저장된 카운터 간의 매치에 응답하여 전송 디바이스를 인증할 수 있다. 카운터는 후속 인증을 위해 각각의 송신 및 수신 디바이스에서 증분될 수 있으며, 이에 따라 디바이스/수신 디바이스 트랜잭션을 전송하기 위한 암호화 기반 동적 인증 메커니즘을 제공한다.
도 1과 관련하여 언급된 바와 같이, 클라이언트 디바이스(620)는 서비스 공급자(605)의 다양한 서비스에 연결되고 응용프로그램 서버(606)에 의해 관리될 수 있다. 예시된 실시형태에서 인증 서버(605) 및 응용프로그램 서버(606)는 별개의 컴포넌트로서 도시되어 있지만, 응용프로그램 서버는 인증 서버에 포함된 것으로 설명된 모든 기능을 포함할 수 있음을 이해해야 한다.
응용프로그램 서버(606)는 인터페이스(607) 및 응용프로그램 프로그램 코드(608)를 포함하는 것으로 도시된다. 인터페이스는 네트워크의 프로토콜을 사용하여 네트워크(630)를 통해 다른 네트워크 구성원과 통신하도록 프로그래밍된 네트워크 인터페이스 및 응용프로그램 프로그램 코드(608)를 포함할 수 있으며, 응용프로그램 서버(606)의 비일시적 저장소에 저장되고 여기에 설명된 기능을 수행하기 위해 중앙 프로세서 유니트(CPU)(609)에 의해 실행될 때 작동 할 수 있다.
인증 서버(650)는 네트워크(630) 및 중앙 처리 디바이스(CPU)(659)를 통해 네트워크 구성원과 통신하기 위한 네트워크 인터페이스(653)를 포함하는 것으로 도시되어 있다. 인증 서버는 관련된 정보를 포함하는 클라이언트 정보 테이블(652)을 저장하기 위한 비 일시적 저장 매체를 포함할 수 있다. 서비스 공급자의 클라이언트. 이러한 정보에는 클라이언트 사용자 이름, 클라이언트 개인 식별자, 클라이언트 암호화 키 및 카운터가 포함될 수 있지만 이에 한정되지는 않는다.
하나의 실시형태에서 인증 서버는 비접촉식 카드(610)와 함께 인증을 수행하기 위해 아래에 설명된 클라이언트 카운터 값 테이블(656)을 더 포함한다. 인증 유니트(654)는 테이블 652 및 656의 정보를 사용하는 클라이언트를 위해 도 7 및 도 8을 참조하여 설명된 다양한 인증 프로세스를 수행하기 위한 하드웨어 및 소프트웨어를 포함한다.
도 7은 암호 교환을 사용하여 응용프로그램 서비스에 패스워드 없는 로그인을 가능하게 하기 위해 수행될 수 있는 설정 프로세스(700)의 다양한 단계를 도시한다. 단계 710에서 클라이언트의 비접촉식 카드가 응용프로그램 서비스에 등록된다. 등록은 온라인, 오프라인 또는 이들의 조합으로 수행될 수 있다. 등록의 일부로서, 클라이언트의 사용자 이름은 응용프로그램 서버와 인증 서버 중 하나 또는 둘 모두의 클라이언트 정보 데이터베이스에 저장될 수 있다.
일부 실시형태에서 클라이언트에 대한 사용자 이름은 서비스 공급자에 의해 자동으로 생성될 수 있고, 클라이언트에게는 알려지지 않았으며, 클라이언트에 비접촉식 카드가 전달 되는 전 후에 서비스 공급자의 클라이언트 정보 테이블과 비접촉식 카드 상에 다운로드 된 애플릿 모두에 로딩될 수 있다. 대안적인 실시형태에서 클라이언트는 사용자 이름을 통지받을 수 있으며 비접촉식 카드에 저장하기 위한 사용자 이름을 스스로 선택할 수 있다. 자체 선택된 사용자 이름은 위에서 설명한 NFC 인터페이스를 사용하여 비접촉식 카드에 기록될 수 있다. 이러한 자체 선택은 응용프로그램 서비스에 카드를 등록할 때 발생하거나 또는 클라이언트에게 전달될 때 비접촉식 카드에 자체 선택한 암호가 내장되도록 비접촉식 카드를 클라이언트에 발급하는 프로세스의 일부로서 발생할 수 있다.
클라이언트가 사용자 이름을 직접 선택하거나 인지할 수 있도록 하는 이점이 있을 수 있지만 사용자 이름 및 동적 패스워드 정보가 클라이언트 개입없이 카드, NFC 지원 디바이스 및 응용프로그램 서버 간에 전자적으로 통신될 수 있으므로 여기에 설명된 패스워드 없는 인증 프로토콜의 요구 사항은 사용자 이름 지식을 요구하지 않는다. 또한 이러한 배열은 사용자 이름/암호 인증 방법의 악의적인 도청과 관련된 위험성을 줄인다.
단계 720에서 비접촉식 카드는 클라이언트에 바인딩 된다. 특히, 비접촉식 카드의 사용자 이름, pUID 등은 서비스 공급자에서 클라이언트의 디지털 ID의 일부로 저장된다. 디지털 신원은 예를 들어 SSO(Single Sign-On) 정보, 프로필 참조 식별자 또는 기타 클라이언트 식별자를 포함할 수 있다.
단계 730에서 카드가 클라이언트에 등록되면 클라이언트 및 카드 조합은 하나 이상의 클라이언트 디바이스에 바인딩 될 수 있다. 예를 들어 디지털 신원은 또한 사용자 디바이스와 관련된 고유 식별자(예: 전화 번호, 인터넷 프로토콜(IP) 주소, 네트워크 식별자, 모바일 장비 식별자(MEID), 국제 모바일 구독자 신원(IMSI), 일련 번호, 매체 접근 제어(MAC) 주소 등), 이미지를 캡처하는 데 사용된 응용프로그램과 관련된 응용프로그램 정보(예 : 응용프로그램, 응용프로그램의 응용프로그램 버전, 세션 식별자 등) 및/또는 기타 등의 정보를 포함할 수 있다.
클라이언트, 카드 및 클라이언트 디바이스 간의 삼각 측량이 설정되면, 단계 740에서 비접촉식 카드를 사용하여 임의의 클라이언트 디바이스에서 실행되는 클라이언트 응용프로그램에 대해 다중 요인 보안 패스워드 없는 로그인을 지원할 수 있다. 보다 일반적으로 암호화된 사용자 이름 및 동적 패스워드를 포함하는 암호 교환은 클라이언트 응용프로그램 액세스를 위한 다중 요인 보안 패스워드 없는 로그인을 제공하는 데 사용될 수 있다.
클라이언트 디바이스 예를 들어 도 8은 비접촉식 카드와 클라이언트 디바이스 간의 암호 교환의 일부로서 제공된 사용자 이름/동적 패스워드 쌍을 사용하는 안전한 패스워드 없는 로그인을 위한 시스템 및 방법의 예시적인 실시형태를 설명하기 위해 제공된 데이터 흐름도(800)이다. 이 실시예에서 응용프로그램 시작 요청은 응용프로그램 서버에서 지원하는 응용프로그램과 관련된 웹 사이트에서 액세스 옵션을 선택하여 클라이언트로부터 수신되며 웹 브라우저 응용프로그램을 통해 클라이언트에 액세스할 수 있다.
도 8의 실시형태에서 클라이언트, 비접촉식 카드 및 클라이언트 디바이스는 도 7과 관련하여 설명된 것과 유사한 방법을 사용하여 응용프로그램 내에 이미 등록되었으며. 응용프로그램에 대한 액세스를 추구하는 웹 디바이스(810)의 사용자는 웹 디바이스(810)에 표시된 애플리케이션 로그인 페이지에서 비접촉식 카드 인증 옵션을 선택함으로써 연관성의 이점을 이용한다. 그 결과, 비접촉식 카드 인증 요청이 단계 801에서 응용프로그램 서버(820)로 전달된다.
응용프로그램 서버는 요청에 포함된 정보를 사용하여 액세스 요청을 추구하는 클라이언트를 식별할 수 있으며, 예를 들어, 웹 디바이스의 IP 또는 MAC 주소 또는 이에 국한되지 않는 응용프로그램 액세스 요청의 속성을 식별하는 기타 디바이스를 기반으로 한다. 예를 들어 응용프로그램에 클라이언트를 등록할 때 응용프로그램에 대한 이전 액세스 동안 웹 디바이스(810) 상의 웹 브라우저에 의해. 저장된 쿠키 데이터를 포함하되 이에 국한되지 않는 응용프로그램 액세스 요청이다.
시작 요청을 수신한 응용프로그램 서버(820)는 예를 들어 비접촉식 카드 암호 교환(예를 들어 클라이언트 디바이스(620) 내에 예시된 컴포넌트를 포함하지만 이에 제한되지 않음)을 지원하는 인증 하드웨어를 포함하는 클라이언트의 하나 이상의 디바이스(예 : 클라이언트 NFC 지원 디바이스(830))를 식별하는 것을 포함하여 클라이언트와 관련된 클라이언트 디바이스 정보를 검색할 수 있다.
일부 실시형태에서 웹 디바이스(810) 및 클라이언트 NFC 가능 디바이스(830)는 동일한 디바이스일 수 있다. 다른 실시형태에서 웹 디바이스(810) 및 클라이언트 NFC 가능 디바이스(830)는 상이한 디바이스를 포함할 수 있다. 예를 들어 하나의 실시형태에서 웹 디바이스(810)는 랩탑 디바이스를 포함할 수 있고 클라이언트 NFC 가능 디바이스(830)는 랩탑 디바이스 및 모바일 전화 모두가 이전에 클라이언트에 바인딩 된 모바일 전화를 포함할 수 있다. 어느 실시형태에서 NFC 가능 디바이스(830)는 웹 디바이스(810)에 의한 웹 기반 액세스를 인증하기 위해 비접촉식 카드(840)와 협력하여 작동할 수 있다.
단계 802에서 액세스 요청에 응답하여 응용프로그램 서버(820)는 클라이언트 NFC 가능 디바이스(830)와 통신 링크를 설정하고 통신 링크를 통해 클라이언트 NFC 가능 디바이스에 통지를 전달한다. 통지는 클라이언트에 등록된 응용프로그램에 대한 액세스 요청이 수신되고 있다는 시각적 또는 청각적 표시를 제공할 수 있다. 통지에는 클라이언트의 조치에 대한 프롬프트가 추가로 포함될 수 있다. 프롬프트는 다양한 형태를 취할 수 있으며 클라이언트가 액세스 권한을 부여할 수 있는 하나 이상의 메커니즘을 포함할 수 있다.
예를 들면 도 9는 본 명세서에 개시된 측면들에 따라 형상화된 웹 디바이스(910) 및 모바일 디바이스(920)에 대한 예시적인 웹 페이지 데이터 및 제어 메커니즘을 도시한다. 웹-디바이스(910)는 응용프로그램 서비스 웹 사이트의 공공 대면 메인 웹 페이지(915)를 디스플레이 하도록 도시되어 있다. 하나의 측면에 따르면 사용자는 로그인 링크(925)의 선택 시 메뉴 풀다운 옵션(940)으로서 디스플레이 될 수 있는 다수의 메커니즘을 사용하여 응용프로그램 서비스에 로그인 할 수 있다.
클라이언트는 일반적으로 개인 선호도에 따라 웹 브라우저 보안 설정을 사용하여 로그인 옵션 유형 이용 가능성 및 선택을 사용자 정의할 수 있으며, 본 발명은 로그인 옵션의 임의의 특정 조합에 한정되지 않음을 알 수 있다. 오히려 사용자 이름 및 동적 패스워드 쌍을 제공하기 위해 비접촉식 카드 또는 기타 메커니즘을 사용하는 임의의 패스워드 없는 인증 시스템이 여기에 포함된다.
따라서 도 9의 실시형태에서 클라이언트는 응용프로그램 실행을 시작하기 위해 비접촉식 카드 로그인 옵션(905)을 선택한다. 비접촉식 카드 로그인 옵션(905)의 선택에 응답하여, 단계 802와 관련하여 설명된 바와 같이, 서비스 공급자 응용프로그램은 하나 이상의 웹 쿠키 즉, 클라이언트가 응용프로그램에 이전에 액세스하는 동안 서비스 공급자 응용프로그램이 클라이언트 장치의 웹 브라우저에 저장 한 정보, IP 주소, MAC 주소 또는 웹 디바이스의 기타 식별 측면을 사용하여 요청을 소싱(sourcing)하는 클라이언트를 식별한다.
응용프로그램 서비스는 클라이언트의 인증 디바이스 즉, 클라이언트로부터 인증 정보를 수락하도록 형상화된 클라이언트의 디바이스인 인증 디바이스를 식별한다. 이러한 인증 디바이스는 예를 들어 암호화된 사용자 이름 및 동적 패스워드를 포함하는 암호 교환을 사용하여 인증을 가능하게 하는 NFC 기능을 가진 모바일 전화, 태블릿 또는 기타 디바이스를 포함할 수 있다.
응용프로그램 액세스 요청을 승인하도록 형상화된 클라이언트 디바이스 그룹은 요청된 승인 유형 및 특정 클라이언트 디바이스의 기능에 따라 달라질 수 있음을 알 수 있다. 예를 들어 얼굴 스캔을 사용한 인증은 이미징 기능이 있는 인증 디바이스를 사용한다. 지문 스캔을 사용한 인증은 지문 스캔 기능이 있는 인증 디바이스를 사용한다. 비접촉식 카드 인증을 사용한 인증은 NFC 통신 기능을 포함하는 인증 디바이스를 활용한다.
도 9의 실시예에서 이동 전화(920)는 권한 부여 클라이언트 디바이스로 식별되고, 서비스 공급자 응용프로그램은 클라이언트에 등록된 서비스 공급자 응용프로그램에 액세스하려는 시도가 이루어졌다는 통지(930)를 권한 부여 디바이스에 전달한다. 통지(930)는 클라이언트의 전화에 제공되는 시각적 팝업 경고로 표시된다. 통지는 또한 클라이언트에 의한 추가 조치를 요청하는 프롬프트(950)를 포함할 수 있다. 예를 들어 프롬프트 950은 클라이언트에게 '승인하려면 비접촉식 카드를 탭 하시오'라고 지시한다. 서비스 공급자 응용프로그램에 액세스하기 위해 결정된 인증 레벨 임계 값에 따라 링크(955)의 선택만을 요청하는 대안적인 프롬프트가 사용될 수 있다.
도 8을 참조하여 서비스 공급자가 단계 802에서 비접촉식 카드 인증을 프롬프트 하면, 클라이언트는 예를 들어 비접촉식 카드(840)를 디바이스(830)와 NFC 근접하게 가져옴으로써 NFC 가능 디바이스(830)와 비접촉식 카드(840)를 맞물리게 한다. 도 2와 관련하여 설명된 바와 같이 비접촉식 카드(840) 및 디바이스(830)는 저장되고 암호화된 사용자 이름 및 동적 패스워드를 NFC 가능 디바이스로 전달하는 암호를 교환할 수 있다.
하나의 측면에 따르면 앞서 설명된 바와 같이, 인증 서버(850)는 각각의 클라이언트에 대한 적어도 사용자 이름, 마스터 키 정보 및 카운터 정보를 저장하도록 형상화될 수 있다. 인증 서버(850)는 암호화된 사용자 이름을 해독하고, 해독된 사용자 이름을 클라이언트 신원을 확인하기 위해 클라이언트에 상응하는 것으로 알려진 저장된 사용자 이름과 비교한다. 인증 서버(850)는 저장된 카운터 값 및 클라이언트 용 마스터 키를 이용하여 생성된 다양화 키를 이용하여 암호를 복호화 하여 암호로부터 패스워드를 추출할 수 있다.
하나의 측면에 따르면 패스워드는 카운터를 포함하거나 카운터와 관련될 수 있고 따라서 클라이언트와 응용프로그램 서버 간의 각각의 암호 교환 시 동적으로 업데이트될 수 있다. 인증 서버(850)는 클라이언트가 응용프로그램 요청을 승인 또는 거부하기 위해 암호문으로부터 추출된 패스워드를 저장된 예상 패스워드와 비교한다. 단계 805에서 승인/거부는 웹 디바이스(810)로의 통신을 위해 클라이언트 디바이스(830)로 전달된다.
하나의 실시형태에서 액세스 요청의 승인/거부의 통신은 웹 디바이스(810)에 의해 설정된 응용프로그램 세션과 클라이언트 NFC 가능 디바이스(830) 간에 서비스 공급자 응용프로그램에 의해 설정된 전용 보안 채널을 통해 웹 디바이스(810)에 제공될 수 있다. 따라서 NFC 지원 디바이스(830)에 의해 수신된 승인은 채널을 통해 브로드캐스트 되어 웹 디바이스의 응용프로그램 세션을 자동으로 업데이트하여 응용프로그램을 시작할 수 있다.
대안적인 실시형태에서 웹 디바이스에 의해 설정된 응용프로그램 세션은 승인 통지를 위해 응용프로그램과 NFC 가능 디바이스 간에 설정된 통신 링크를 모니터링 할 수 있다. 웹 디바이스는 주기적으로 서비스 공급자 응용프로그램을 폴링(polling) 하여 NFC 지원 디바이스로부터 인증 통지를 수신했는지 여부를 결정할 수 있다. 단계 806에서 승인을 수신하면, 서비스 공급자 응용프로그램은 단계 807에서 응용프로그램을 시작하여 웹 디바이스에 대한 액세스를 허용한다.
도 10은 본 명세서에 개시된 패스워드 없는 로그인 기술 동안에 시간이 지남에 따라 웹 디바이스(1010) 및 휴대전화(1020)의 디스플레이 인터페이스에 의해 제공되는 다양한 디스플레이 및 제어의 진화를 나타내는 시간적 다이어그램이다. 웹 페이지(1010A)는 웹 디바이스(1010)에서 실행되는 응용프로그램 서비스의 공개 로그인 페이지를 도시한다. 디스플레이(1020A)는 초기에 휴지 상태에 있는 휴대전화(1020)를 보여준다. 클라이언트가 서비스 공급자 응용프로그램에 액세스 하려고 할 때,도 8과 관련하여 논의된 바와 같이, 액세스 요청은 단계 1004에서 식별된 모바일 전화 디바이스(1020)로 전달되는 인증 요청으로 변환되어 통지(1025)가 휴대전화 디스플레이(1020B)로 표시되게 한다.
전술한 바와 같이 통지는 링크 선택(1026)과 같은 입력 메커니즘을 사용하여 클라이언트에게 요청을 승인하도록 요청하는 것과 같은 프롬프트를 포함할 수 있다. 일부 실시형태에서 응용프로그램 서비스는 클라이언트 디바이스(1020/비접촉식 카드/인증 서버)와 통신하는 동안 단계 1002에서 웹 디바이스(1010)의 디스플레이(1010B)는 응용프로그램이 클라이언트의 인증을 기다리고 있다는 알림을 포함할 것이다.
일부 실시형태에서 소유권을 설정하는 초기 인증 즉, 클라이언트가 알려진 모바일 디바이스를 소유 후에, 응용프로그램 서비스는 신원 및/또는 지식을 설정하는 인증을 포함하는 다른 형태의 인증을 추가로 프롬프트 할 수 있다. 이러한 배열은 패스워드 없는 로그인으로 최소한 이중 요인 인증을 가능하게 한다. 이러한 형태의 인증은 얼굴 스캔, 지문 스캔, 질의/응답 챌린지, 암호문 사용자 이름/동적 패스워드 교환 등을 포함하지만 이에 한정되지는 않는다.
이러한 실시형태에서 단계(1006)에서 휴대전화의 디스플레이(1020C)는 얼굴 스캔, 생체 인식 또는 비접촉식 카드 암호 교환과 같은 2차 요인 인증을 요청하는 추가 프롬프트(1027)를 포함할 수 있다. 제2 인증 요인의 수신 및 검증에 이어, 단계 1008에서 승인이 조건부로 응용프로그램 서비스로 전달되고, 단계 1009에서 응용프로그램 서비스 웹 사이트의 디스플레이(1010C)가 클라이언트에 의한 액세스를 가능하게 하도록 업데이트된다.
도 11a 및 11b는 본 명세서에 개시된 패스워드 없는 로그인 기술을 구현하도록 형상화된 시간 경과에 따른 휴대전화(1120)의 디스플레이 인터페이스에 의해 제공되는 다양한 디스플레이 및 제어의 진화를 예시하는 시간적 다이어그램이다. 웹 페이지(1110)는 웹 디바이스(1120)에서 실행되는 응용프로그램 서비스의 공개 로그인 페이지를 도시한다. 클라이언트가 휴대전화 디바이스에서 서비스 공급자 응용프로그램에 액세스를 시도할 때, 제1 요인 인증메뉴(1125)가 '비접촉식 카드 로그인' 옵션(1105)에 대한 선택 옵션을 포함하여 사용자에게 표시될 수 있다. 사용자는 모바일 디바이스의 NFC 판독기에 비접촉식 카드(1115)를 탭 하여 1단계 인증을 충족할 수 있다. 상술한 과정을 이용한 인증은 휴대전화(1120)가 인증 서버와 암호 인증 정보를 교환하면서 진행된다.
성공적인 비접촉식 카드 인증 후, 도 11b에 도시된 바와 같이 응용프로그램 서비스에 대한 액세스를 허용하기 전에 제2 요인 인증이 요청될 수 있다. 도 11b에서 얼굴 스캔, 음성 인식, 눈 스캔 등과 같은 다른 기술이 대체될 수 있지만, 제2 요인 인증은 생체 인식 지문 인증을 포함하는 것으로 도시되어 있다.
일부 실시형태에서 사용자는 사용할 제2 요인 인증의 형태를 선택할 수 있다. 다른 실시형태에서 응용프로그램은 제2 요인 인증의 형태를 선택할 수 있다. 어떤 경우 든 성공적인 생체 인식 인증 후 응용프로그램 서비스에 대한 클라이언트 액세스가 활성화된다.
이에 따라 다중 요인 인증을 위해 사용자 이름과 동적 패스워드를 포함하는 암호 교환을 사용하는 안전한 패스워드 없는 인증을 위한 시스템 및 방법이 제시되고 설명한다. 이러한 배열은 응용프로그램 액세스 전에 다중 요인 인증을 제공하는 프로토콜과 예측할 수 없는 동적 인코딩 된 사용자 이름 암호 쌍을 사용하여 응용프로그램 보안을 유리하게 향상시킨다.
이 응용프로그램에서 사용되는 용어 "시스템", "컴포넌트" 및 "디바이스"는 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어 또는 실행 중인 소프트웨어와 같은 컴퓨터 관련 엔티티를 의미하는 것으로 여기에 설명되어 있다. 예를 들어 컴포넌트는 프로세서, 프로세서, 하드 디스크 드라이브, 다중 저장 드라이브, 비일시적 컴퓨터 판독 가능 매체(광 및/또는 자기 저장 매체), 객체, 실행 파일, 실행 스레드, 프로그램 및/또는 컴퓨터에서 실행되는 프로세스지만 이에 국한되지는 않는다. 예를 들어 서버에서 실행되는 응용프로그램과 서버 모두 컴포넌트가 될 수 있다. 하나 이상의 컴포넌트가 프로세스 및/또는 실행 스레드 내에 존속할 수 있으며 컴포넌트는 한 컴퓨터에서 국소화 및/또는 2 대 이상의 컴퓨터 간에 분산될 수 있다.
또한 컴포넌트는 동작을 조정하기 위해 다양한 유형의 통신 매체에 의해 서로 통신 가능하게 결합될 수 있다. 조정은 정보의 단방향 또는 양방향 교환을 포함할 수 있다. 예를 들어, 컴포넌트는 통신 매체를 통해 전달되는 신호의 형태로 정보를 전달할 수 있다. 정보는 다양한 신호 라인에 할당된 신호로 구현될 수 있다. 이러한 할당에서 각 메시지는 신호이다. 그러나 추가 실시형태는 대안적으로 데이터 메시지를 사용할 수 있다. 이러한 데이터 메시지는 다양한 연결을 통해 전송될 수 있다. 예시적인 연결에는 병렬 인터페이스, 직렬 인터페이스 및 버스 인터페이스가 포함된다.
일부 실시형태는 "하나의 실시형태" 또는 "실시형태"라는 표현과 그 파생어를 사용하여 설명될 수 있다. 이러한 용어는 실시형태와 관련하여 설명된 특정 특징, 구조 또는 특성이 적어도 하나의 실시형태에 포함된다는 것을 의미한다. 명세서의 다양한 곳에서 "하나의 실시형태에서"라는 문구의 출현은 반드시 모두 동일한 실시형태를 지칭하는 것은 아니다. 더욱이, 달리 언급되지 않는 한, 설명된 특징들은 임의의 조합으로 함께 사용 가능한 것으로 인식된다. 따라서 개별적으로 논의된 임의의 특징은 특징이 서로 호환되지 않는다는 것이 언급되지 않는 한 서로 조합되어 사용될 수 있다.
본 명세서에 사용된 표기법 및 명명법에 대한 일반적인 참조와 관련하여 상세한 설명은 컴퓨터 또는 컴퓨터 네트워크에서 실행되는 프로그램 절차로서 구현될 수 있는 기능 블록 또는 단위의 관점에서 제시될 수 있다. 이러한 절차적 설명 및 표현은 당업자에 의해 작업의 본질을 당업자에게 가장 효과적으로 전달하기 위해 사용된다.
여기서 절차는 일반적으로 원하는 결과로 이어지는 일관된 작업 순서로 간주된다. 이러한 작업은 물리적 양의 물리적 조작이 필요한 작업이다. 반드시 그런 것은 아니지만 일반적으로 이러한 양은 저장, 전송, 결합, 비교 및 기타 조작이 가능한 전기, 자기 또는 광학 신호의 형태를 취한다. 주로 일반적인 사용의 이유로 이러한 신호를 비트, 값, 엘레멘트, 기호, 문자, 용어, 숫자 등으로 지칭하는 것이 편리한 경우가 있다. 그러나 이러한 용어와 유사한 용어는 모두 적절한 물리적 양과 관련되어야 하며 해당 수량에 적용되는 편리한 라벨 하나의 뿐이라는 점에 유의해야 한다.
또한 수행된 조작은 일반적으로 인간 운영자가 수행하는 정신적 작업과 관련된 추가 또는 비교와 같은 용어로 언급된다. 인간 조작자의 그러한 능력은 하나 이상의 실시형태의 일부를 형성하는 본 명세서에 설명된 임의의 동작에서 필요하지 않으며 대부분의 경우 바람직하지 않다. 오히려 작업은 기계 작업이다. 다양한 실시형태의 동작을 수행하기 위한 유용한 기계는 범용 디지털 컴퓨터 또는 유사한 디바이스를 포함한다.
일부 실시형태는 그 파생어와 함께 "커플링된" 및 "연결된" 이라는 표현을 사용하여 설명될 수 있다. 이러한 용어는 반드시 서로 동의어로 의도된 것은 아니다. 예를 들어 일부 실시형태는 2 개 이상의 요인이 서로 직접 물리적 또는 전기적 접촉을 하고 있음을 나타내기 위해 " 연결된" 및/또는 "커플링 된"이라는 용어를 사용하여 설명될 수 있다. 그러나 "커플링 된"이라는 용어는 또한 2 이상의 요인이가 서로 직접 접촉하지 않고 여전히 서로 협력하거나 상호 작용한다는 것을 의미할 수 있다.
당업자가 기술적 공개의 성격을 신속하게 확인할 수 있도록 공개 요약서가 제공된다는 점이 강조된다. 청구범위 또는 의미를 해석하거나 제한하는 데 사용되지 않는다는 이해가 요구 된다. 또한 전술한 상세한 설명에서 다양한 특징은 발명을 간소화하기 위해 단 하나의 실시형태에서 함께 그룹화된다. 발명은 청구된 실시형태가 각 청구범위에서 명시적으로 언급된 것보다 더 많은 특징을 필요로 한다는 의도를 반영하는 것으로 해석되어서는 안된다. 오히려 다음의 청구범위가 반영하는 바와 같이 발명의 주제는 하나의 개시된 실시형태의 모든 특징보다 적다.
따라서 다음의 청구범위는 상세한 설명에 통합되며 각 청구범위는 별도의 실시형태로서 그 자체로 존재한다. 첨부된 청구범위에서 "포함하는" 및 "이때" 라는 용어는 각각 "지니는" 및 "여기서"라는 용어의 평이한 영어 등가물로 사용된다. 또한 "제1", "제2", "제3" 등의 용어는 단순히 레이블로 사용되며 개체에 숫자 요구 사항을 부과하려는 의도가 아니다.
상기에서 설명된 것은 개시된 아키텍처의 실시예를 포함한다. 물론 컴포넌트 및/또는 방법론의 모든 가능한 조합을 설명하는 것은 가능하지 않지만 당업자는 많은 추가 조합 및 순서가 가능하다는 것을 인식할 수 있다. 따라서 새로운 아키텍처는 첨부된 청구범위의 사상 및 범위 내에 있는 이러한 모든 변경, 수정 및 변경을 포함하도록 의도된다.

Claims (20)

  1. 제1 클라이언트 디바이스로부터 응용프로그램 액세스 요청을 수신하는 단계;
    제1 클라이언트 디바이스와 연관된 클라이언트를 식별하는 단계;
    클라이언트와 연관된 제2 클라이언트 디바이스에 요청의 통지를 전달함으로써 요청의 진위를 검증하는 단계;
    클라이언트와 연관된 비접촉식 카드로부터 제2 클라이언트 디바이스에 의해 검색된 사용자 이름 및 동적 패스워드를 포함하는 인증 정보를 포함하는 응답을 제2 클라이언트 디바이스로부터 수신하는 단계;
    제2 클라이언트 디바이스에 의해 검색된 사용자 이름 및 동적 패스워드를 클라이언트에 대한 예상 사용자 이름 및 예상 동적 패스워드와 비교하는 단계;
    사용자 이름과 예상 사용자 이름, 동적 패스워드와 예상 동적 패스워드 간의 일치에 응답하여 요청을 인증하고 제1 클라이언트 디바이스에서 응용프로그램을 시작하는 단계; 및
    클라이언트와 연관된 동적 패스워드를 업데이트하고 저장하는 단계;
    를 포함하는 클라이언트에 의해 응용프로그램에 대한 액세스를 승인하는 방법.
  2. 제 1항에 있어서, 제1 클라이언트 디바이스 및 제2 클라이언트 디바이스는 서로 다른 디바이스를 포함하고, 제2 클라이언트 디바이스는 제1 클라이언트 디바이스에 의해 생성된 요청을 인증하는데 사용됨을 특징으로 하는 방법.
  3. 제 2항에 있어서, 응용프로그램을 시작하는 단계는 제2 클라이언트 디바이스가 응용프로그램을 시작하기 위해 웹 세션으로 인증을 전달할 수 있도록 클라이언트 요청과 관련된 웹 세션과 제2 클라이언트 디바이스 간에 통신 링크를 구축하는 단계를 포함함을 특징으로 하는 방법.
  4. 제 2항에 있어서, 응용프로그램을 시작하는 단계는 요청의 승인을 검출하기 위해 제2 클라이언트 디바이스 통신을 모니터링하는 단계 및 승인의 검출에 응답하여 응용프로그램을 선택적으로 시작하는 단계를 포함함을 특징으로 하는 방법.
  5. 제 1항에 있어서, 제1 클라이언트 디바이스 및 제2 클라이언트 디바이스는 동일한 디바이스를 포함함을 특징으로 하는 방법.
  6. 제 1항에 있어서, 제1 클라이언트 디바이스 및 제2 클라이언트 디바이스를 클라이언트에 등록하는 단계를 더욱 포함함을 특징으로 하는 방법.
  7. 제 1항에 있어서, 비접촉식 카드를 제2 클라이언트 디바이스에 바인딩하는 단계를 더욱 포함함을 특징으로 하는 방법.
  8. 제 5항에 있어서, 적어도 사용자 이름은 SHA-2 해시 알고리즘, 트리플 데이터 암호화 알고리즘, 대칭 해시 기반 메시지 인증(HMAC) 알고리즘 또는 대칭 암호-기반 메시지 인증 코드(CMAC) 알고리즘에서 선택된 하나 이상을 사용하여 인코딩 됨을 특징으로 하는 방법.
  9. 제 1항에 있어서, 클라이언트와 연관된 비접촉식 카드로부터 사용자 이름 및 동적 패스워드를 검색하도록 클라이언트를 프롬프트 하는 단계를 더욱 포함함을 특징으로 하는 방법.
  10. 제 1항에 있어서, 동적 패스워드는 클라이언트에 의해 유지되는 카운터와 연관되고 사용자 이름이 비접촉식 카드로부터 검색되는 횟수와 연관됨을 특징으로 하는 방법.
  11. 프로세서;
    인증 요청은 비접촉식 카드로부터 제2 클라이언트 디바이스로 제공된 암호를 지니며, 암호는 사용자 이름 및 동적 패스워드를 포함하고, 응용프로그램에 대한 액세스를 위해 클라이언트와 연관된 제1 클라이언트 디바이스에 의해 생성된 액세스 요청을 인증하기 위해 클라이언트와 연관된 제2 클라이언트 디바이스로부터 인증 요청을 수신하도록 형상화된 인터페이스;
    적어도 하나의 엔트리는 클라이언트에 대한 예상되는 사용자 이름 및 예상되는 동적 패스워드를 포함하고, 적어도 하나의 클라이언트에 대한 적어도 하나의 엔트리를 포함하는 클라이언트 테이블을 포함하는 비-일시적 저장 매체;
    비-일시적 저장 매체 상에 저장되고 프로세서에 의해 실행될 때 사용자 이름과 예상 사용자 이름 간의 첫 번째 일치 및 동적 패스워드와 예상 동적 패스워드 간의 두 번째 일치에 응답하여 인증 요청을 선택적으로 승인하고; 및 인증 요청의 승인에 대한 응답으로 클라이언트에 대한 예상 동적 패스워드를 업데이트;하도록 작동 가능한 프로그램 코드;
    를 포함하는 응용프로그램 클라이언트에 대한 액세스를 제어하는 시스템.
  12. 제 11항에 있어서, 제1 클라이언트 디바이스 및 제2 클라이언트 디바이스는 상이한 디바이스를 포함하고, 제2 클라이언트 디바이스는 제1 클라이언트 디바이스에 의해 생성된 요청을 인증하기 위해 사용됨을 특징으로 하는 시스템.
  13. 제 11항에 있어서, 제1 클라이언트 디바이스 및 제2 클라이언트 디바이스는 동일한 디바이스를 포함함을 특징으로 하는 시스템.
  14. 제 11항에 있어서, 프로그램 코드는 제1 클라이언트 디바이스 및 제2 클라이언트 디바이스를 클라이언트에 등록하도록 추가로 형상화됨을 특징으로 하는 시스템.
  15. 제 11항에 있어서, 프로그램 코드는 비접촉식 카드를 제2 클라이언트 디바이스에 바인딩하도록 더욱 형상화 됨을 특징으로 하는 시스템.
  16. 제 11항에 있어서, 사용자 이름의 적어도 일부는 인코딩 되고, 프로그램 코드는 SHA-2 해시 알고리즘, 트리플 데이터 암호화 알고리즘, 대칭 해시 기반 메시지 인증(HMAC) 알고리즘 또는 대칭 암호-기반 메시지 인증 코드(CMAC) 알고리즘에서 선택된 하나 이상을 사용하여 사용자 이름을 디코딩 하도록 더욱 형상화 됨을 특징으로 하는 시스템.
  17. 제 11항에 있어서, 프로그램 코드는 클라이언트와 연관된 비접촉식 카드로부터 사용자 이름 및 동적 패스워드를 검색하도록 클라이언트를 프롬프트 하도록 더욱 형상화 됨을 특징으로 하는 시스템.
  18. 제 11항에 있어서, 클라이언트 테이블의 적어도 하나의 엔트리는 클라이언트와 관련된 마스터 키 및 카운터를 포함하고,
    프로그램 코드는 클라이언트에 대한 카운터 및 마스터 키에 응답하여 클라이언트에 대한 다양화 키를 생성하고; 및 다양화 키를 사용하여 암호문을 복호화;하도록 더욱 형상화 됨을 특징으로 하는 시스템.
  19. 제 18항에 있어서, 동적 패스워드는 카운터와 연관됨을 특징으로 하는 시스템.
  20. 클라이언트와 연관된 제1 디바이스로부터 응용프로그램 액세스 요청을 수신하는 단계;
    제1 디바이스와 연관된 클라이언트를 식별하는 단계;
    클라이언트로부터 인증 입력을 요청하는 제2 디바이스 상에 표시하기 위한 프롬프트를 생성하는 단계를 포함하는 클라이언트와 연관된 제2 디바이스에 요청의 통지를 전달함으로써 요청의 진위를 검증하는 단계;
    생체인식 입력, 질의 입력 또는 클라이언트와 연관된 비접촉식 카드로부터 제2 디바이스에 의해 검색된 사용자 이름 및 동적 패스워드를 포함하는 비접촉식 카드 암호화 토큰 입력에서 선택된 하나 이상을 포함하는 인증 입력을 제2 디바이스로부터 수신하는 단계;
    인증 입력과 클라이언트에 대한 예상 인증 입력을 비교하는 단계; 및
    인증 입력과 예상 인증 입력 간의 일치에 응답하여 제1 디바이스에 의한 응용프로그램으로의 액세스를 가능하게 하는 단계:
    를 포함하는 클라이언트에 의해 응용프로그램에 대한 액세스를 승인하는 방법.
KR1020217017171A 2019-07-23 2020-07-10 제1 요인 비접촉식 카드 인증 시스템 및 방법 KR102671176B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/519,079 2019-07-23
US16/519,079 US10541995B1 (en) 2019-07-23 2019-07-23 First factor contactless card authentication system and method
PCT/US2020/041624 WO2021015969A1 (en) 2019-07-23 2020-07-10 First factor contactless card authentication system and method

Publications (2)

Publication Number Publication Date
KR20220037403A true KR20220037403A (ko) 2022-03-24
KR102671176B1 KR102671176B1 (ko) 2024-05-30

Family

ID=

Also Published As

Publication number Publication date
CN113711211A (zh) 2021-11-26
SG11202105608TA (en) 2021-06-29
AU2024200833A1 (en) 2024-02-29
AU2020316972A1 (en) 2021-06-10
US20220086141A1 (en) 2022-03-17
US20210029111A1 (en) 2021-01-28
WO2021015969A1 (en) 2021-01-28
US11956230B2 (en) 2024-04-09
JP2022541601A (ja) 2022-09-26
JP2023166562A (ja) 2023-11-21
EP4005176A1 (en) 2022-06-01
CA3121973A1 (en) 2021-01-28
US11212275B2 (en) 2021-12-28
US10541995B1 (en) 2020-01-21
AU2020316972B2 (en) 2023-11-09
JP7352008B2 (ja) 2023-09-27

Similar Documents

Publication Publication Date Title
JP7352008B2 (ja) 第1の要素非接触カード認証システムおよび方法
JP7403020B2 (ja) 顧客サポート呼の第2の要素認証のためのシステムおよび方法
US10657754B1 (en) Contactless card and personal identification system
JP7449952B2 (ja) 顧客サポート呼の事前認証のためのシステムおよび方法
KR102671176B1 (ko) 제1 요인 비접촉식 카드 인증 시스템 및 방법
CN113661699B (zh) 用于客户支持呼叫的预认证的系统和方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right