KR20240021850A - 분산 저장소를 사용한 비접촉식 카드 통신 및 키 쌍 암호화 인증을 위한 시스템 및 방법 - Google Patents

분산 저장소를 사용한 비접촉식 카드 통신 및 키 쌍 암호화 인증을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20240021850A
KR20240021850A KR1020247000347A KR20247000347A KR20240021850A KR 20240021850 A KR20240021850 A KR 20240021850A KR 1020247000347 A KR1020247000347 A KR 1020247000347A KR 20247000347 A KR20247000347 A KR 20247000347A KR 20240021850 A KR20240021850 A KR 20240021850A
Authority
KR
South Korea
Prior art keywords
processor
fido
request
authentication
server
Prior art date
Application number
KR1020247000347A
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 KR20240021850A publication Critical patent/KR20240021850A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
    • 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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/388Payment protocols; Details thereof using mutual authentication without cards, e.g. challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • G06Q20/40145Biometric identity checks
    • 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
    • H04L63/067Network architectures or network communication protocols for network security for supporting key management in a packet data network using one-time keys
    • 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/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • 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/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
    • 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/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Telephonic Communication Services (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

인증을 위한 시스템 및 방법은 인증 서버를 포함할 수 있다. 인증 서버는 프로세서 및 메모리를 포함할 수 있다. 프로세서는 인증 요청을 수신하도록 형상화 될 수 있다. 프로세서는 통지를 전송하도록 형상화 될 수 있다. 프로세서는 통지에 응답하는 응답을 수신하도록 형상화 될 수 있으며 응답은 암호문 및 입력 데이터를 포함한다. 프로세서는 FIDO 공개 키와 FIDO 개인 키를 포함하는 신속한 온라인 인증(FIDO) 키 쌍을 생성하도록 형상화 될 수 있다. 프로세서는 FIDO 개인 키를 사용하여 챌린지를 암호화하도록 형상화 될 수 있다. 프로세서는 인증 요청을 완료하기 위하여 챌린지를 복호화하기 위해 FIDO 공개 키를 전송하도록 형상화 될 수 있다.

Description

분산 저장소를 사용한 비접촉식 카드 통신 및 키 쌍 암호화 인증을 위한 시스템 및 방법
본 발명은 2021년 6월 18일자로 출원된 미국 특허출원 제17/352,143호에 대한 우선권을 주장하며 상기 특허출원의 내용은 그 전체로 본 발명에 참고문헌으로 포함된다.
본 발명은 비접촉식 카드 통신을 위한 시스템 및 방법에 관한 것이며 더욱 상세하게는 분산 저장소를 사용한 비접촉식 카드의 키 쌍 암호화 인증을 위한 시스템 및 방법에 관한 것이다.
카드 기반 작업에는 서버나 다른 디바이스와의 통신에 카드를 사용하는 경우가 많다. 이러한 통신을 가로채기 및 무단 액세스로부터 보호해야 한다. 그러나 해커나 기타 사기 행위자가 데이터를 가로채기 위해 사용할 수 있는 정교한 방법이 많이 있다.
예를 들어 암호화 또는 기타 보호 없이 데이터를 전송하면 중간자 공격, 피싱 공격, 재생 공격 및 기타 공격에 취약하며 다른 취약점이 발생할 수 있으므로 보안 위험과 계좌 또는 카드 오용의 위험이 증가하게 된다. 이러한 위험은 다른 디바이스와 무선으로 통신하는 비접촉식 카드를 사용하면 더욱 높아질 수 있으며 이로 인해 전송 중에 데이터가 가로채어질 가능성이 있다.
암호화와 같이 보안 위험을 해결하기 위해 취한 조치는 시스템 리소스를 소모하고 운영 효율성을 저해할 수 있다. 작업 수가 많은 경우 시스템 리소스 소모가 증가하고 운영 효율이 저하되어 작업 수행이 실패하거나 성능이 만족스럽지 못한 결과를 초래할 수 있다.
이러한 결함과 기타 결함이 존재한다. 따라서 안전하고 신뢰할 수 있는 방식으로 통신을 가로채기 및 무단 액세스로부터 보호함으로써 이러한 결함을 극복하는 인증 시스템 및 방법이 필요하다.
본 발명의 실시형태는 인증 서버를 제공한다. 인증 서버는 프로세서 및 메모리를 포함할 수 있다. 프로세서는 인증 요청을 수신하도록 형상화 될 수 있다. 프로세서는 통지를 전송하도록 형상화 될 수 있다. 프로세서는 통지에 응답하는 응답을 수신하도록 형상화 될 수 있으며 응답은 암호문 및 입력 데이터를 포함한다. 프로세서는 FIDO 공개 키와 FIDO 개인 키를 포함하는 신속한 온라인 인증(FIDO) 키 쌍을 생성하도록 형상화 될 수 있다. 프로세서는 FIDO 개인 키를 사용하여 챌린지를 암호화하도록 형상화 될 수 있다. 프로세서는 인증 요청을 완료하기 위하여 챌린지를 복호화하기 위해 FIDO 공개 키를 전송하도록 형상화 될 수 있다.
본 발명의 실시형태는 인증 방법을 제공한다. 방법은 제1 요청을 프로세서에 의해 수신하는 단계를 포함할 수 있다. 방법은 제2 요청을 프로세서에 의해 전송하는 단계를 포함할 수 있다. 방법은 암호문을 포함하는, 제2 요청에 응답하는 제1 응답을 프로세서에 의해 수신하는 단계를 포함할 수 있다. 방법은 FIDO 공개 키와 FIDO 개인 키를 포함하는 신속한 온라인 인증(FIDO) 키 쌍을 프로세서에 의해 생성하는 단계를 포함할 수 있다. 방법은 FIDO 개인 키를 사용하여 챌린지를 프로세서에 의해 암호화하는 단계를 포함할 수 있다. 방법은 제1 요청을 완료하기 위하여 챌린지를 복호화하기 위해 FIDO 공개 키를 프로세서에 의해 전송하는 단계를 포함할 수 있다.
본 발명의 실시형태는 프로세서에서 실행될 때, 인증 요청을 수신하는 단계; 통지를 전송하는 단계; 암호문 및 입력 데이터를 포함하는, 통지에 응답하는 응답을 수신하는 단계; FIDO 공개 키와 FIDO 개인 키를 포함하는 신속한 온라인 인증(FIDO) 키 쌍을 생성하는 단계; FIDO 개인 키를 사용하여 챌린지를 암호화하는 단계; 및 인증 요청을 완료하기 위하여 챌린지를 복호화하기 위해 FIDO 공개 키를 전송하는 단계;를 포함한다.
본 발명의 다양한 실시형태는 추가적인 목적 및 이점과 함께 첨부된 도면과 함께 다음의 상세한 설명을 참조함으로써 가장 잘 이해될 수 있다.
도 1은 예시적인 실시형태에 따른 인증 시스템을 도시한 것이다.
도 2a는 예시적인 실시형태에 따른 제1 디바이스를 예시한 것이다.
도 2b는 예시적인 실시형태에 따른 제1 디바이스 접촉 패드를 예시한 것이다.
도 3은 예시적인 실시형태에 따른 인증 방법을 도시한 것이다.
도 4는 예시적인 실시형태에 따른 인증 프로세스의 순서도를 도시한 것이다.
도 5는 예시적인 실시형태에 따른 인증 방법을 도시한 것이다.
도 6은 예시적인 실시형태에 따른 인증 방법을 도시한 것이다.
실시형태에 대한 다음의 설명은 본 발명의 다양한 측면의 특징 및 가르침을 구체적으로 설명하기 위해 숫자를 참조하는 비제한적인 대표적인 실시예를 제공한다. 개시된 실시형태들은 실시형태의 설명으로부터 개별적으로 또는 다른 실시형태와 결합하여 구현될 수 있는 것으로 이해되어야 한다. 실시형태의 설명을 검토하는 당업자는 본 발명의 다르게 설명된 측면을 학습하고 이해할 수 있어야 한다. 실시형태의 설명은 구체적으로 다루지는 않았지만 실시형태의 설명을 읽은 당업자의 지식 범위 내에서 다른 구현이 발명의 적용과 일치하는 것으로 이해될 정도로 본 발명의 이해를 용이하게 해야 한다.
본 발명에 개시된 시스템 및 방법은 신속한 온라인 인증(FIDO) 인증, 신속한 온라인 인증 2(FIDO2) 인증, WebAuthn, 클라이언트 대 인증기 프로토콜(CTAP) FIDO, 기타 인증 구현을 제한없이 포함하는 인증 프레임워크를 보완하는 데 사용될 수 있다. 본 발명에 적용된 시스템과 방법은 분산 저장소, 클라우드 기반 저장소 및 이러한 기능을 지원하는 다른 형태의 저장소로 구현될 수 있다.
다양한 인증 프로세스가 구현된다. 여기서 제1 인증 프로세스는 특정 응답 데이터를 필요로 하는 디바이스의 응용프로그램으로 전송될 수 있으며 제2 인증 프로세스는 특정 입력 데이터를 필요로 하는 응용프로그램으로 전송될 수 있다. 응답 및 입력 데이터가 클라우드 기반 인증기에 의해 인증되면 키 중 하나가 보안 엘레멘트에 저장되는 키 쌍이 생성될 수 있으며 키 중 하나는 브라우저 확장으로 전송되어 인증 요청을 완료하기 위해 챌린지에 서명한다. 제한 없이 서버는 클라우드 기반 인증기로서 및/또는 분산 저장소를 사용하여 구현되는 것을 포함하여 인증기를 포함할 수 있다.
본 발명에 개시된 시스템 및 방법의 이점은 가로채기 및 무단 액세스로부터 통신을 보호함으로써 향상된 인증을 포함한다. 본 발명에 개시된 시스템 및 방법은 중간자 공격 및 피싱 공격을 회피하고 재생 공격을 방지하며 기타 보안 취약성을 감소시킬 수 있다.
또한 FIDO2 프레임워크 및 기타 인증 프레임워크에 대한 우려는 인증 프로세스를 수행하려는 사용자의 신원을 설정하는 것이다. 본 발명에 설명된 시스템 및 방법은 자격증명을 등록하고 프레임워크를 통해 인증을 시도하는 사용자가 자신이 주장하는 사용자이고 인증 프로세스를 수행하도록 승인되었지 확인함으로써 이러한 취약성을 감소시킬 수 있다. 이를 통해 프레임워크 보안과 승인되지 않은 사용자를 배제하는 기능이 향상될 수 있다.
또한 인증을 향상시키기 위해 수많은 인증 프로세스가 수행될 수 있으며 통지에 대한 응답을 통해 맞춤형 쿼리가 전송될 수 있다. 이를 통해 챌린지에 서명하려고 할 때 키에 액세스하거나 분실, 도난 또는 잘못 배치된 키를 검색하는 데 물리적 디바이스 예를 들어 하드웨어 동글이 필요하지 않게 된다. 이에 따라 보안 위험이 더욱 완화될 수 있으며 다양한 디바이스 간의 호환성 및 트랜잭션 효율성이 향상될 수 있다.
이러한 기능은 불필요한 보안 작업으로 사용자에게 부담을 주어 사용자 경험을 저하시키지 않고 구현될 수 있다. 또한 이러한 기능은 사용자 기대 및 트랜잭션 요구 사항을 준수하기 위해 트랜잭션의 시간 효율적인 수행을 허용하는 방식으로 수행될 수 있다.
따라서 본 발명에 개시된 시스템 및 방법은 카드 또는 카드와 연관된 계정의 오용과 같은 사기 행위의 위험을 줄인다. 본 발명에 개시된 시스템 및 방법은 보안 인증이 결여된 구현을 개선한다. 이러한 이점은 시스템 효율성을 높이고 사용자 경험 저하를 방지하며 다수의 디바이스에 걸친 호환성을 향상시키면서 유리하게 달성될 수 있다.
도 1은 인증 시스템(100)을 도시한다. 시스템(100)은 브라우저 확장(101), 제1 디바이스(105), 제2 디바이스(110), 네트워크(115), 서버(120) 및 데이터베이스(125)를 포함할 수 있다. 도 1은 시스템 컴포넌트의 단일 인스턴스를 도시하였으나 시스템(100)은 임의의 수의 컴포넌트를 포함할 수 있다.
시스템(100)은 브라우저 확장(101)을 포함할 수 있다. 브라우저 확장(101)은 Chrome®, Internet Explorer®, Firefox® 또는 Safari®를 포함할 수 있다. 독립형 소프트웨어 응용프로그램을 포함하여 브라우저 확장 이외의 소프트웨어 응용프로그램이 활용될 수 있는 것으로 이해된다. 제한 없이 웹사이트 등록 또는 응용프로그램 실행과 같은 인증 요청은 브라우저 확장(101)과 연관된 랩탑이나 데스크탑을 제한없이 포함하는 모든 디바이스에서 발생할 수 있다. 모바일 기반 브라우저(101) 또는 데스크톱-기반 브라우저(101)는 하기 더욱 설명되는 바와 같이 하나 이상의 요청을 전송 및 수신하도록 형상화 될 수 있다.
시스템(100)은 제1 디바이스(105)를 포함할 수 있다. 제한 없이 제1 디바이스(105)는 비접촉식 카드, 접촉 기반 카드, 네트워크 가능 컴퓨터, 또는 본 발명에 설명된 다른 디바이스를 포함할 수 있다. 본 발명에 언급된 바와 같이 네트워크 가능 컴퓨터는 컴퓨터 디바이스 또는 예를 들어 서버, 네트워크 기기, 개인용 컴퓨터, 워크스테이션, 전화, 휴대용 PC, 휴대 정보 단말기, 비접촉식 카드, 씬 클라이언트, 팻 클라이언트, 인터넷 브라우저, 키오스크, 태블릿, 단말기 또는 기타 디바이스를 포함하는 통신 디바이스를 제한없이 포함할 수 있다.
하기 도 2a 및 도 2b에 더욱 설명되는 바와 같이 제1 디바이스(105)는 하나 이상의 프로세서(102) 및 메모리(104)를 포함할 수 있다. 메모리(104)는 하나 이상의 애플릿(106) 및 하나 이상의 카운터(108)를 포함할 수 있다. 각각의 카운터(108)는 카운터 값을 포함할 수 있다. 메모리(104)는 카운터 값, 전송 데이터 및 적어도 하나의 키를 포함할 수 있다.
제1 디바이스(105)는 통신 인터페이스(107)를 포함할 수 있다. 통신 인터페이스(107)는 물리적 인터페이스 및 비접촉식 인터페이스를 지니는 통신 기능을 포함할 수 있다. 예를 들어 통신 인터페이스(107)는 카드 스와이프 인터페이스를 통해 스와이프 하거나 현금 자동 입출금기(ATM) 또는 물리적 인터페이스를 통해 통신하도록 형상화 된 다른 디바이스에 있는 카드 칩 판독기에 삽입하는 것과 같이 물리적 인터페이스와 통신하도록 형상화 될 수 있다.
다른 실시예에서 통신 인터페이스(107)는 NFC, 블루투스, Wi-Fi, RFID 및 다른 형태의 비접촉식 통신과 같은 단거리 무선 통신 수단을 통해 카드 판독 디바이스와 비접촉식 통신을 설정하도록 형상화 될 수 있다. 도 1에 도시된 바와 같이 통신 인터페이스(107)는 네트워크(115)를 통해 제2 디바이스(110), 서버(120) 및/또는 데이터베이스(125)와 직접 통신하도록 형상화 될 수 있다.
제1 디바이스(105)는 시스템(100)의 임의의 수의 컴포넌트와 데이터 통신할 수 있다. 예를 들어 제1 디바이스(105)는 네트워크(115)를 통해 제2 디바이스(110) 및/또는 서버(120)로 데이터를 전송할 수 있다. 제1 디바이스(105)는 네트워크(115)를 통해 데이터베이스(125)로 데이터를 전송할 수 있다. 일부 실시예에서 제1 디바이스(105)는 임의의 디바이스의 하나 이상의 통신 필드에 진입한 후 네트워크(115)를 통해 데이터를 전송하도록 형상화 될 수 있다. 제한 없이 각각의 진입은 탭, 스와이프, 웨이브 및/또는 이들의 조합과 연관될 수 있다.
시스템(100)은 제2 디바이스(110)를 포함할 수 있다. 제2 디바이스(110)는 하나 이상의 프로세서(112) 및 메모리(114)를 포함할 수 있다. 메모리(114)는 응용프로그램(116)을 제한없이 포함하는 하나 이상의 응용프로그램을 포함할 수 있다. 제2 디바이스(110)는 시스템(100)의 임의의 수의 컴포넌트와 데이터 통신할 수 있다. 예를 들어 제2 디바이스(110)는 네트워크(115)를 통해 서버(120)로 데이터를 전송할 수 있다. 제2 디바이스(110)는 네트워크(115)를 통해 데이터베이스(125)로 데이터를 전송할 수 있다. 제한 없이 제2 디바이스(110)는 네트워크 가능 컴퓨터일 수 있다.
본 발명에 언급된 바와 같이 네트워크 가능 컴퓨터는 컴퓨터 디바이스 또는 예를 들어 서버, 네트워크 기기, 개인용 컴퓨터, 워크스테이션, 전화, 휴대용 PC, 휴대 정보 단말기, 비접촉식 카드, 씬 클라이언트, 팻 클라이언트, 인터넷 브라우저, 키오스크, 태블릿, 터미널 또는 기타 디바이스를 포함하는 통신 디바이스를 제한없이 포함할 수 있다. 또한 제2 디바이스(110)는 모바일 디바이스일 수 있다. 예를 들어 모바일 디바이스는 Apple®의 iPhone, iPod, iPad 또는 Apple의 iOS® 운영 체제를 실행하는 기타 모바일 디바이스, Microsoft의 Windows® Mobile 운영 체제를 실행하는 모든 디바이스, Google의 Android® 운영 체제를 실행하는 모든 디바이스 및/또는 기타 스마트폰, 태블릿 또는 웨어러블 모바일 디바이스를 포함할 수 있다..
제2 디바이스(110)는 처리 회로를 포함할 수 있으며 본 발명에 개시된 기능을 수행하기 위해 필요한 프로세서, 메모리, 오류 및 패리티/CRC 검사기, 데이터 인코더, 충돌 방지 알고리즘, 컨트롤러, 명령 디코더, 보안 프리미티브 및 변조 방지 하드웨어를 포함하는 추가 컴포넌트를 포함할 수 있다.
제2 디바이스(110)는 디스플레이 및 입력 디바이스를 더욱 포함할 수 있다. 디스플레이는 액정 디스플레이, 발광 다이오드 디스플레이, 플라즈마 패널 및 음극선관 디스플레이를 포함하여 컴퓨터 모니터, 평면 패널 디스플레이 및 모바일 디바이스 ㅅ크린과 같이 시각적 정보를 표시하기 위한 모든 유형의 디바이스일 수 있다. 입력 디바이스는 터치 스크린, 키보드, 마우스, 커서 제어 디바이스, 터치 스크린, 마이크, 디지털 카메라, 비디오 레코더 또는 캠코더와 같이 사용자 디바이스에서 사용 가능하고 지원되는 정보를 사용자 디바이스에 입력하기 위한 모든 디바이스를 포함할 수 있다. 이러한 디바이스는 정보를 입력하고 본 발명에 설명된 소프트웨어 및 기타 디바이스와 상호 작용하는 데 사용될 수 있다.
시스템(100)은 네트워크(115)를 포함할 수 있다. 일부 실시예에서 네트워크(115)는 무선 네트워크, 유선 네트워크 또는 무선 네트워크와 유선 네트워크의 임의의 조합 중 하나 이상일 수 있으며 시스템(100)의 컴포넌트 중 어느 하나에 연결되도록 형상화 될 수 있다 예를 들어 제1 디바이스(105)는 네트워크(115)를 통해 서버(120)에 연결되도록 형상화 될 수 있다.
일부 실시예에서 네트워크(115)는 광섬유 네트워크, 수동 광 네트워크, 케이블 네트워크, 인터넷 네트워크, 위성 네트워크, 무선 근거리 네트워크(LAN), 이동 통신을 위한 글로벌 시스템, 개인 통신 서비스, 개인 영역 네트워크, 무선 응용프로그램 프로토콜, 멀티미디어 메시지 서비스, 향상된 메시지 서비스, 단문 메시지 서비스, 시분할 다중 접속 기반 시스템, 코드 분할 다중 접속 기반 시스템, D-AMPS, Wi-Fi, 고정 무선 데이터 , IEEE 802.11b, 802.15.1, 802.11n 및 802.11g, Bluetooth, NFC, RFID(무선 주파수 식별), Wi-Fi 등 중에서 하나 이상을 포함할 수 있다..
또한 네트워크(115)는 전화선, 광섬유, IEEE 이더넷 902.3, 광역 네트워크, 무선 개인 영역 네트워크, LAN, 또는 인터넷과 같은 글로벌 네트워크를 제한 없이 포함할 수 있다. 또한 네트워크(115)는 인터넷 네트워크, 무선 통신 네트워크, 셀룰러 네트워크 등 또는 이들의 임의의 조합을 지원할 수 있다. 네트워크(115)는 독립형 네트워크로서 또는 서로 협력하여 동작하는 하나의 네트워크 또는 상기 언급된 임의의 수의 예시적인 유형의 네트워크를 더욱 포함할 수 있다. 네트워크(115)는 통신 가능하게 연결된 하나 이상의 네트워크 엘레멘트의 하나 이상의 프로토콜을 활용할 수 있다.
네트워크(115)는 다른 프로토콜을 네트워크 디바이스의 하나 이상의 프로토콜로 변환할 수 있다. 네트워크(115)가 단일 네트워크로 도시되어 있으나 하나 이상의 실시예에 따르면 네트워크(115)는 예를 들어 인터넷, 서비스 공급자의 네트워크, 케이블 텔레비전 네트워크, 신용 카드 협회 네트워크와 같은 기업 네트워크 및 홈 네트워크와 같은 다수의 상호 연결된 네트워크를 포함할 수 있는 것으로 이해된다.
시스템(100)은 하나 이상의 서버(120)를 포함할 수 있다. 일부 실시예에서 서버(120)는 메모리(124)에 결합된 하나 이상의 프로세서(122)를 포함할 수 있다. 제한 없이 서버(120)는 클라우드 기반 인증기를 포함할 수 있다. 서버(120)는 다수의 워크플로우 동작을 실행하기 위해 상이한 시간에 다양한 데이터를 제어하고 호출하는 중앙 시스템, 서버 또는 플랫폼으로 형상화 될 수 있다. 서버(120)는 제1 디바이스(105)에 연결되도록 형상화 될 수 있다. 서버(120)는 애플릿(106) 및/또는 응용프로그램(116)과 데이터 통신할 수 있다.
예를 들어 서버(120)는 하나 이상의 네트워크(115)를 통해 애플릿(106)과 데이터 통신할 수 있다. 제1 디바이스(105)는 하나 이상의 네트워크(115)를 통해 하나 이상의 서버(120)와 통신할 수 있으며 서버(120)와 각각의 프런트-엔드 대 백-엔드 쌍으로 작동할 수 있다. 제1 디바이스(105)는 예를 들어 실행 중인 애플릿(106)으로부터 하나 이상의 요청을 서버(120)로 전송할 수 있다. 하나 이상의 요청은 서버(120)로부터 데이터를 검색하는 것과 연관될 수 있다. 서버(120)는 제1 디바이스(105)로부터 하나 이상의 요청을 수신할 수 있다. 애플릿(106)으로부터의 하나 이상의 요청에 기반하여 서버(120)는 요청된 데이터를 검색하도록 형상화 될 수 있다. 서버(120)는 수신된 데이터를 애플릿(106)에 전송하도록 형상화 될 수 있으며 수신된 데이터는 하나 이상의 요청에 응답한다.
일부 실시예에서 서버(120)는 블레이드 서버와 같은 전용 서버 컴퓨터일 수 있거나 개인용 컴퓨터, 랩탑 컴퓨터, 노트북 컴퓨터, 팜탑 컴퓨터, 네트워크 컴퓨터, 모바일 디바이스, 웨어러블 디바이스 또는 시스템(100)을 지원하는 것이 가능한 임의의 프로세서-제어 디바이스일 수 있다. 도 1은 단일 서버(120)를 도시하였으나 다른 실시형태는 사용자를 지원하기 위해 필요하거나 원하는 대로 다중 서버 또는 다중 컴퓨터 시스템을 사용할 수 있으며 특정 서버에 장애 발생 시 네트워크 가동중지 시간을 방지하기 위해 백업 또는 중복 서버를 사용할 수도 있는 것으로 이해된다.
서버(120)는 실행을 위한 명령어를 포함하는 응용프로그램을 포함할 수 있다. 예를 들어 응용프로그램은 서버(120)에서 실행하기 위한 명령어를 포함할 수 있다. 서버(120)의 응용프로그램은 시스템(100)의 임의의 컴포넌트와 통신할 수 있다. 예를 들어 서버(120)는 예를 들어 시스템(100)의 하나 이상의 컴포넌트와 네트워크 및/또는 데이터 통신을 가능하게 하고 데이터를 전송 및/또는 수신하는 하나 이상의 응용프로그램을 실행할 수 있다. 제한 없이 서버(120)는 네트워크 가능 컴퓨터일 수 있다.
본 발명에 언급된 바와 같이 네트워크 가능 컴퓨터는 컴퓨터 디바이스 또는 예를 들어 서버, 네트워크 기기, 개인용 컴퓨터, 워크스테이션, 전화, 휴대용 PC, 휴대 정보 단말기, 비접촉식 카드, 씬 클라이언트, 팻 클라이언트, 인터넷 브라우저 또는 기타 디바이스를 포함하는 통신 디바이스를 제한없이 포함할 수 있다. 또한 서버(120)는 모바일 디바이스일 수 있으며 예를 들어 모바일 디바이스는 Apple®의 iPhone, iPod, iPad 또는 Apple의 iOS® 운영 체제를 실행하는 기타 모바일 디바이스, Microsoft의 Windows® Mobile 운영 체제를 실행하는 모든 디바이스, Google의 Android® 운영 체제를 실행하는 모든 디바이스 또는 기타 스마트폰, 태블릿 또는 웨어러블 모바일 디바이스를 포함할 수 있다.
서버(120)는 처리 회로를 포함할 수 있으며 본 발명에 개시된 기능을 수행하기 위해 필요한 프로세서, 메모리, 오류 및 패리티/CRC 검사기, 데이터 인코더, 충돌 방지 알고리즘, 컨트롤러, 명령 디코더, 보안 프리미티브 및 변조 방지 하드웨어를 포함하는 추가 컴포넌트를 포함할 수 있다.
서버(120)는 디스플레이 및 입력 디바이스를 더욱 포함할 수 있다. 디스플레이는 액정 디스플레이 발광 다이오드 디스플레이 플라즈마 패널 및 음극선관 디스플레이를 포함하여 컴퓨터 모니터, 평면 패널 디스플레이 및 모바일 디바이스 스크린과 같이 시각적 정보를 표시하기 위한 모든 유형의 디바이스일 수 있다. 입력 디바이스는 터치 스크린, 키보드, 마우스, 커서 제어 디바이스, 터치 스크린, 마이크, 디지털 카메라, 비디오 레코더 또는 캠코더와 같이 사용자 디바이스에서 사용 가능하고 지원되는 정보를 사용자 디바이스에 입력하기 위한 모든 디바이스를 포함할 수 있다. 이러한 디바이스는 정보를 입력하고 본 발명에 설명된 소프트웨어 및 기타 디바이스와 상호 작용하는 데 사용될 수 있다.
시스템(100)은 하나 이상의 데이터베이스(125)를 포함할 수 있다. 데이터베이스(125)는 관계형 데이터베이스, 비관계형 데이터베이스 또는 다른 데이터베이스 구현 및 다수의 관계형 데이터베이스 및 비관계형 데이터베이스를 포함하는 이들의 임의의 조합을 포함할 수 있다. 일부 실시예에서 데이터베이스(125)는 데스크톱 데이터베이스, 모바일 데이터베이스 또는 인메모리 데이터베이스를 포함할 수 있다. 또한 데이터베이스(125)는 제1 디바이스(105) 또는 서버(120)와 같은 시스템(100)의 임의의 컴포넌트에 의해 내부적으로 호스팅 될 수 있거나 데이터베이스(125)는 클라우드 기반 플랫폼에 의해 또는 제1 디바이스(105) 및 서버(120)와 데이터 통신하는 임의의 저장 디바이스에서 제1 디바이스(105) 또는 서버(120)와 같은 시스템(100)의 임의의 컴포넌트에 외부적으로 호스팅 될 수 있다.
일부 실시예에서 데이터베이스(125)는 시스템(100)의 임의의 수의 컴포넌트와 데이터 통신할 수 있다. 예를 들어 서버(120)는 애플릿(106)에 의해 전송되는 데이터베이스(125)로부터 요청된 데이터를 검색하도록 형상화 될 수 있다. 서버(120)는 네트워크(115)를 통해 애플릿(106)으로 데이터베이스(125)로부터 수신된 데이터를 전송하도록 형상화 될 수 있으며 수신된 데이터는 전송된 하나 이상의 요청에 응답한다. 다른 실시예에서 애플릿(106)은 요청된 데이터에 대한 하나 이상의 요청을 네트워크(115)를 통해 데이터베이스(125)로부터 전송하도록 형상화 될 수 있다.
일부 실시예에서 본 발명에 설명된 본 발명에 따른 예시적인 절차는 처리 장치 및/또는 컴퓨터 장치 예를 들어 컴퓨터 하드웨어 장치에 의해 수행될 수 있다. 이러한 처리/컴퓨터 장치는 예를 들어 하나 이상의 마이크로프로세서를 포함할 수 있고 컴퓨터 액세스 가능 매체 예를 들어 RAM, ROM, 하드 드라이브 또는 기타 저장 디바이스 상에 저장된 명령어를 사용할 수 있는 컴퓨터/프로세서의 예를 들어 전체 또는 일부이거나 이를 제한없이 포함할 수 있다. 예를 들어 컴퓨터 액세스 가능 매체는 제1 디바이스(105), 제2 디바이스(110), 서버(120) 및/또는 데이터베이스(125)의 메모리 또는 기타 컴퓨터 하드웨어 장치의 일부일 수 있다.
일부 실시예에서 컴퓨터 접근 가능 매체 예를 들어 상기 설명된 바와 같이 하드 디스크, 플로피 디스크, 메모리 스틱, CD-ROM, RAM, ROM 등 또는 이들의 조합과 같은 저장 디바이스는 예를 들어 처리 장치와 통신하여 제공될 수 있다. 컴퓨터 접근 가능 매체는 실행 가능한 명령어를 포함할 수 있다. 추가로 또는 대안적으로 저장 장치는 컴퓨터 접근 가능 매체와 별도로 제공될 수 있으며 이는 예를 들어 상기 설명한 바와 같이 특정 예시적인 절차, 프로세스 및 방법을 실행하도록 처리 장치를 형상화하도록 처리 장치에 명령어를 제공할 수 있다.
프로세서(122)는 인증 요청을 수신하도록 형상화 될 수 있다. 일부 실시예에서 인증 요청은 웹사이트 등록에 대한 요청을 포함할 수 있다. 예를 들어 인증 요청은 신속한 온라인 인증(FIDO) 웹사이트 등록에 대한 요청을 포함할 수 있다. 프로세서(122)는 다수의 요청을 처리하도록 형상화 될 수 있다. 요청 중 적어도 하나는 FIDO 등록 요청을 포함할 수 있다. 또한 요청 중 적어도 하나는 FIDO 인증 요청을 포함할 수 있다. 다수의 요청은 푸시 알림과 같은 알림이 응용프로그램(116) 또는 실행을 위한 명령어를 포함하는 다른 응용프로그램과 같은 응용프로그램을 실행하기 위해 디바이스(110)에 전송되는 결과를 야기할 수 있다. 다른 실시예에서 인증 요청은 임의의 디바이스에서 응용프로그램을 실행하기 위한 요청을 포함할 수 있다.
인증 요청은 리디렉션 될 수 있다. 예를 들어 인증 요청은 브라우저 확장(101)으로부터 리디렉션 될 수 있다. 일부 실시예에서 브라우저 확장(101)은 FIDO 웹사이트 등록을 가로채서 이를 클라우드 기반 인증기 서버(120)의 프로세서 (122)로 리디렉션하도록 형상화 될 수 있다. 브라우저 확장(101)은 Chrome®, Internet Explorer®, Firefox® 및/또는 Safari® 브라우저에 대한 확장을 포함할 수 있다. 다른 브라우저 확장(101)이 활용될 수 있는 것으로 이해되며 독립형 소프트웨어 응용프로그램 또한 사용될 수 있는 것으로 이해된다.
제한 없이 FIDO 웹사이트 등록은 랩탑이나 데스크탑을 제한없이 포함하는 모든 디바이스에서 이루어질 수 있다. 모바일 기반 브라우저(101) 또는 데스크탑 기반 브라우저(101)는 FIDO 웹사이트 등록을 가로채서 이를 서버(120)의 프로세서(122)로 전송하도록 형상화 될 수 있다. 예를 들어 웹사이트는 하이퍼텍스트 전송 프로토콜 보안(HTTPS)을 제한없이 포함하는 프로토콜을 통해 챌린지를 발행하도록 형상화 될 수 있다. 브라우저 확장(101)은 FIDO2 가능 디바이스가 있는 디바이스에서 로컬로 이에 응답하는 대신 프로세서(122)와 같은 서버(120)로 이러한 트래픽을 리디렉션 하도록 형상화 될 수 있다.
하기 더욱 설명되는 바와 같이 서버(120)의 프로세서(122)는 디바이스(110)의 응용프로그램(116)으로 챌린지를 리디렉션 하도록 형상화 될 수 있으며 이는 제1 디바이스(105)의 프로세서(102)를 사용하여 챌린지에 서명하도록 형상화 된다. 여기서 서명된 챌린지는 원래의 디바이스로 전송되고 로그인을 위해 웹사이트로 반환된다. 다른 실시예에서 디바이스(110)의 응용프로그램(116)은 하기 더욱 설명되는 바와 같이 사용자를 인증하도록 형상화 될 수 있으며 여기서 디바이스 (110)의 응용프로그램(116)은 수신된 암호문을 서버(120)의 프로세서(122)에 전송할 수 있다. 이후 이는 수신된 암호문으로부터 사용자의 신원을 검증하도록 형상화되며 서버(120)의 프로세서(122)는 등록 프로세스 중에 생성된 FIDO 개인 키를 사용하여 챌린지에 서명하게 된다.
이러한 구현은 웹사이트 등록 및/또는 응용프로그램 실행에 적용 가능하도록 형상화 될 수 있다. 예를 들어 응용프로그램은 요청이 서버(120)의 프로세서(122)로 리디렉션되고 있음을 인식하도록 형상화될 수 있다. 디바이스(110)의 응용프로그램 (116)은 서버(120)의 프로세서(122)로부터 푸시 통지를 수신할 때 실행되도록 형상화 될 수 있으며 암호문을 제1 디바이스(105)로부터 서버(120)의 프로세서(122)로 수신하고 전송하도록 형상화 된다.
프로세서(122)는 하나 이상의 통지를 전송하도록 형상화 될 수 있다. 일부 실시예에서 프로세서(122)는 신원 검증을 요구하는 통지를 전송하도록 형상화 될 수 있다. 예를 들어 적어도 하나의 통지가 프로세서(122)로부터 신원 확인을 요청하는 제2 디바이스와 같은 디바이스(110)의 응용프로그램(116)으로 전송될 수 있다. 하나 이상의 통지는 프로세서(122)에 의해 응용프로그램(116)으로 전송될 수 있으며 응용프로그램(116)에 의한 하나 이상의 응답을 요구할 수 있다. 프로세서(122)는 하나 이상의 통지를 생성하고 전송하도록 형상화 될 수 있다. 제한 없이 하나 이상의 통지는 프로세서(122)로부터 디바이스(110)의 응용프로그램(116)으로 전달되는 푸시 통지를 포함할 수 있다.
프로세서(122)는 하나 이상의 통지에 응답하는 하나 이상의 응답을 수신하도록 형상화 될 수 있다. 일부 실시예에서 응답은 암호문, 암호 또는 기타 암호화 결과 및 입력 데이터를 포함할 수 있다. 프로세서(122)는 카드와 같은 제1 디바이스(105)의 프로세서(102)로부터 하나 이상의 응답을 수신하도록 형상화 될 수 있다. 예를 들어 카드의 프로세서(102)는 적어도 하나의 키와 카운터 값을 사용하여 암호문을 생성하도록 형상화 될 수 있다.
암호문은 카운터 값을 포함할 수 있다. 제1 디바이스(105)의 프로세서(102)는 암호문 및 입력 데이터를 포함하는 임의의 데이터를 전송하기 위해 프로세서(122)와 제1 디바이스(105) 사이의 중개 디바이스 역할을 할 수 있는 디바이스(110)의 응용프로그램(116)으로 통신 인터페이스(107)를 통해 암호문을 전송하도록 형상화 될 수 있다. 예를 들어 카드의 프로세서(102)는 암호문을 프로세서(122)에 전송하도록 형상화 될 수 있다. 제1 디바이스(105)의 프로세서(102)는 암호문의 전송 후에 카운터 값을 업데이트하도록 형상화 될 수 있다.
암호문은 하나 이상의 근거리 통신 데이터 교환 형식(NDEF) 판독을 제한없이 포함하는 하나 이상의 판독을 통해 수득될 수 있다. 디바이스(110)의 응용프로그램 (116)은 제1 디바이스(105)의 근거리 통신(NFC) 태그와 같은 태그의 하나 이상의 판독을 수행하도록 형상화 될 수 있다. 예를 들어 카드의 프로세서(102)는 디바이스의 통신 필드로 하나 이상의 진입 후에 암호문을 전송하도록 형상화 될 수 있다. 제한 없이 각각의 진입은 탭, 스와이프, 웨이브 및/또는 이들의 조합과 연관될 수 있다.
프로세서(122)는 제1 응답을 요구하는 제1 통지를 전송하도록 형상화 될 수 있다. 제1 응답은 암호문을 포함할 수 있다. 프로세서(122)는 디바이스(110)의 응용프로그램(116)으로부터 제1 응답을 수신하도록 형상화 될 수 있다. 프로세서 (122)는 암호문을 검증하도록 형상화 될 수 있다. 예를 들어 디바이스(110)의 응용프로그램(116)으로부터 서버(120)의 프로세서(122)로 전송하기 전에 암호화될 수 있는 암호문을 복호화 함으로써 암호문을 검증한 후, 프로세서(122)는 제2 응답을 요청하는 응용프로그램(116)으로 제2 통지를 전송하도록 형상화 될 수 있다.
제2 응답은 입력 데이터를 포함할 수 있다. 프로세서(122)는 제2 응답의 입력 데이터를 수신하도록 형상화 될 수 있다. 프로세서(122)는 참조 입력 데이터를 응용프로그램(116)으로부터 전송된 입력 데이터와 비교함으로써 입력 데이터를 검증하도록 형상화 될 수 있다. 참조 입력 데이터는 메모리(124) 내와 같이 서버(120)에 의해 저장될 수 있다. 다른 실시예에서 참조 입력 데이터는 예를 들어 데이터베이스(125)를 통해 서버(120)에 의해 검색될 수 있다.
예를 들어 서버(120)는 참조 입력 데이터를 수득하기 위한 요청을 데이터베이스(125)에 전송하도록 형상화 될 수 있으며 데이터베이스(125)는 서버(120)에 의해 전송된 요청에 응답하여 요청을 수신하고 참조 입력 데이터를 전송하도록 형상화 될 수 있다.
다른 실시예에서 단일 통지가 프로세서(122)에 의해 응용프로그램(116)으로 전송될 수 있으며 별도의 응답을 요구하는 별도의 통지를 전송하는 대신 단일 응답을 통해 암호문과 입력 데이터 모두를 요청하도록 형상화 될 수 있다. 또한 입력 데이터는 제1 통지에 대한 제1 응답을 통해 및 제2 통지에 대한 제2 응답 이전에 요청될 수 있다. 다른 실시예에서 입력 데이터는 제2 통지에 대한 제2 응답을 통해 및 제1 통지에 대한 제1 응답 이후에 요청될 수 있다.
일부 실시예에서 입력 데이터는 생체 인식 데이터를 포함할 수 있다. 제한 없이 생체 인식 데이터는 지문, 안면 스캔, 망막 스캔, 음성 인식 및/또는 이들의 임의의 조합의 군에서 선택된 적어도 하나를 포함할 수 있다. 일부 실시예에서 입력 데이터는 추가적으로 및/또는 대안적으로 로그인 데이터를 포함할 수 있다. 제한 없이 로그인 데이터는 사용자 이름, 패스워드, 계좌번호, 보안코드, 일회성 패스코드, 보안 질문에 대한 답변 및/또는 이들의 조합 중 적어도 하나를 포함할 수 있다. 입력 데이터는 생체인식 데이터 및 로그인 데이터의 군에서 선택된 적어도 하나를 포함할 수 있다. 입력 데이터는 생체인식 데이터, 로그인 데이터 및/또는 이들의 조합을 포함할 수 있다.
암호문과 입력 데이터 모두를 포함하는 신원 검증 후에 프로세서(122)는 키 쌍을 생성하도록 형상화 될 수 있다. 예를 들어 프로세서(122)는 FIDO 키 쌍을 생성하도록 형상화 될 수 있다. 키 쌍은 키 세트를 포함할 수 있다. 일부 실시예에서 FIDO 키 쌍은 개인 키와 공개 키를 포함할 수 있다. 예를 들어 FIDO 키 쌍은 FIDO 개인 키와 FIDO 공개 키를 포함할 수 있다. 프로세서(122)는 하나 이상의 키를 저장하도록 형상화 될 수 있다.
예를 들어 프로세서는 FIDO 개인 키를 보안 엘레멘트 내에 저장하도록 형상화 될 수 있다. 제1 디바이스(105)에 FIDO 개인 키를 저장하는 대신에 FIDO 개인 키는 서버(120)에 속하는 보안 엘레멘트 내에 저장될 수 있다. FIDO 개인 키는 클라우드 기반 인증기에 의해 유지되는 보안 엘레멘트 내에 저장될 수 있다. 보안 엘레멘트는 클라우드에서 호스팅 될 수 있으며 하나 이상의 키가 안전하게 저장되고 검색될 수 있는 변조 방지 보안 저장 영역을 포함할 수 있다.
일부 실시예에서 프로세서(122)에 의해서만 액세스하는 것과 같이 보안 엘레멘트에 대한 액세스가 제한될 수 있다. 프로세서(122)는 보안 엘레멘트로부터 FIDO 개인 키를 검색하도록 형상화 될 수 있다. 다른 실시예에서 보안 엘레멘트에 대한 액세스는 제한되지 않을 수 있으며 이에 따라 전용 디바이스 상에 검색을 위한 키를 저장하지 않는다. 초기 FIDO 등록 중에 웹사이트는 웹사이트 및/또는 사용자를 고유하게 식별하는 식별자를 전송하도록 형상화 될 수 있다. FIDO 개인 키와 같은 키가 생성되면 클라우드의 서버(120)는 식별자를 사용하여 이 키를 보안 엘레멘트에 저장하도록 형상화 될 수 있다.
후속 FIDO 인증 요청 중에 웹사이트는 챌린지와 함께 식별자를 전송하도록 형상화 될 수 있다. 챌린지에 서명할 때 FIDO 개인 키는 식별자를 사용하여 보안 엘레멘트에서 조회되고 검색된다. 이러한 방식으로 키 쌍이 분실되거나 잘못 배치되거나 도난당한 경우, 클라우드 기반 인증기와 같은 서버(120)는 키를 포함하는 물리적 디바이스 필요 없이 FIDO 공개 키와 같은 키를 생성하고 전송하도록 형상화 될 수 있다.
프로세서(122)는 키 쌍으로부터의 키 중 적어도 하나를 사용하여 하나 이상의 챌린지를 암호화하도록 형상화 될 수 있다. 예를 들어 프로세서(122)는 브라우저 확장(101)으로부터 챌린지를 수신하도록 형상화 될 수 있다. 일부 실시예에서 서버(120)의 프로세서(122)는 FIDO 개인 키를 사용하여 챌린지를 암호화하도록 형상화 될 수 있다. 챌린지를 복호화하는 데 키 중 적어도 하나가 사용될 수 있다. 예를 들어 프로세서(122)는 인증 요청을 완료하기 위하여 챌린지를 복호화하기 위해 FIDO 공개 키를 전송하도록 형상화 될 수 있다.
일부 실시예에서 인증 요청의 완료는 웹사이트가 서명된 챌린지를 확인하고 웹사이트에 대한 액세스를 허용하는 FIDO 공개 키로 확인될 수 있다. 예를 들어 브라우저 확장(101)에 의해 수신된 FIDO 공개 키를 사용하여 챌린지가 복호화되어 결과가 원래 챌린지와 매치하는지 확인함으로써 디지털 서명되었는지 검증할 수 있다.
일부 실시예에서 브라우저 확장(101)은 인증 요청을 처리하기 위하여 챌린지의 복호화를 수행하기 위해 별도의 서버 또는 데이터베이스를 제한없이 포함하는 임의의 디바이스에 공개 키를 전송하도록 형상화 될 수 있다. 이러한 방식으로 시스템(100)은 상기 언급된 기능을 지원하는 분산 저장소, 클라우드 기반 저장소 및 기타 형태의 저장소를 구현할 수 있다.
도 2a는 하나 이상의 제1 디바이스(200)를 도시한다. 제1 디바이스(200)는 도 1과 관련하여 전술한 바와 같은 제1 디바이스(105)의 동일하거나 유사한 컴포넌트를 참조할 수 있다. 도 2a 및 도 2b는 제1 디바이스(200) 컴포넌트의 단일 인스턴스를 도시하였으나 임의의 수의 컴포넌트를 활용할 수 있다.
제1 디바이스(200)는 시스템(100)의 하나 이상의 컴포넌트와 통신하도록 형상화 될 수 있다. 제1 디바이스(200)는 접촉 기반 카드 예를 들어 자기 스트립을 스와이프 하거나 칩 판독기에 삽입하여 판독되는 카드 또는 비접촉식 카드 및 제1 디바이스(200)는 제1 디바이스(200)의 전면 또는 후면에 표시된 서비스 공급자(205)에 의해 발행된 신용 카드, 직불 카드 또는 기프트 카드와 같은 결제 카드를 포함할 수 있다. 제1 디바이스(200)는 결제 카드와 관련이 없으며 제한없이 신분증, 회원카드, 교통카드 등을 포함할 수 있다. 일부 실시예에서 결제 카드는 이중 인터페이스 비접촉식 결제 카드를 포함할 수 있다.
제1 디바이스(200)는 플라스틱, 금속 및 기타 재료로 구성된 단일 층 또는 하나 이상의 적층된 층을 포함할 수 있는 기판(210)을 포함할 수 있다. 예시적인 기판 재료로는 폴리염화비닐, 폴리염화비닐 아세테이트, 아크릴로니트릴 부타디엔 스티렌, 폴리카보네이트, 폴리에스테르, 양극성 산화 티타늄, 팔라듐, 금, 탄소, 종이 및 생분해성 물질을 포함한다. 일부 실시예에서 제1 디바이스(200)는 ISO/IEC 7810 표준의 ID-1 형식을 준수하는 물리적 특성을 지닐 수 있으며 그렇지 않으면 ISO/IEC 14443 표준을 준수할 수 있다. 다만 본 발명에 따른 제1 디바이스(200)는 서로 상이한 특성을 지닐 수 있으며 본 발명은 결제 카드 내에서 구현될 필요가 없는 것으로 이해된다.
또한 제1 디바이스(200)는 카드의 전면 및/또는 후면에 표시된 식별 정보(215) 및 접촉 패드(220)를 포함할 수 있다. 접촉 패드(220)는 사용자 디바이스, 스마트폰, 랩탑, 데스크탑 또는 태블릿 컴퓨터를 제한없이 포함하는 다른 통신 디바이스와 접촉을 설정하도록 형상화 될 수 있다. 또한 제1 디바이스(200)는 처리 회로, 안테나 및 도 2a에 도시되지 않은 다른 컴포넌트를 포함할 수 있다. 이러한 컴포넌트는 접촉 패드(220) 후면에 또는 기판(210) 상의 다른 곳에 위치할 수 있다. 또한 제1 디바이스(200)는 카드 후면에 위치할 수 있는 자기 스트립 또는 테이프를 포함할 수 있다(도 2a에 나타내지 않음).
도 2b에 도시된 바와 같이 도 2a의 접촉 패드(220)는 마이크로프로세서와 같은 프로세서(230) 및 메모리(235)를 포함하여 정보를 저장하고 처리하기 위한 처리 회로(225)를 포함할 수 있다. 처리 회로(225)는 본 발명에 설명된 기능을 수행하기 위해 필요한 프로세서, 메모리, 오류 및 패리티/CRC 검사기, 데이터 인코더, 충돌 방지 알고리즘, 컨트롤러, 명령 디코더, 보안 프리미티브 및 변조 방지 하드웨어를 포함하는 추가 컴포넌트를 포함할 수 있는 것으로 이해된다.
메모리(235)는 읽기 전용 메모리, 1회 쓰기 다회 읽기 메모리 또는 읽기/쓰기 메모리, 예를 들어 RAM, ROM, EEPROM일 수 있으며 제1 디바이스(200)는 이들 메모리 중 하나 이상을 포함할 수 있다. 읽기 전용 메모리는 공장에서 읽기 전용 또는 일회성 프로그래밍이 가능으로 프로그래밍할 수 있다. 일회성 프로그래밍 기능은 한 번 쓰고 여러 번 읽을 수 있는 기회를 제공한다. 1회 쓰기/다회 읽기 메모리는 메모리 칩이 공장에서 출고된 후 특정 시점에 프로그래밍 될 수 있다. 메모리가 프로그래밍 되면 다시 쓸 수는 없지만 여러 번 읽을 수는 있다. 읽기/쓰기 메모리는 공장에서 출고된 후에도 여러 번 프로그래밍 되고 다시 프로그래밍 될 수 있다. 여러 번 읽을 수도 있다.
메모리(235)는 하나 이상의 애플릿(240), 하나 이상의 카운터(245) 및 고객 식별자(250)를 저장하도록 형상화 될 수 있다. 하나 이상의 애플릿(240)은 Java 카드 애플릿과 같이 하나 이상의 접촉 기반 또는 비접촉식 카드 상에서 실행되도록 형상화 된 하나 이상의 소프트웨어 응용프로그램을 포함할 수 있다. 그러나 애플릿(240)은 자바 카드 애플릿으로 제한되지 않으며 대신 접촉 기반 또는 비접촉식 카드 또는 제한된 메모리를 지니는 다른 디바이스 상에서 작동 가능한 임의의 소프트웨어 응용프로그램일 수 있는 것으로 이해된다.
하나 이상의 카운터(245)는 정수를 저장하기에 충분한 숫자 카운터를 포함할 수 있다. 고객 식별자(250)는 제1 디바이스(200)의 사용자에게 할당된 고유 영숫자 식별자를 포함할 수 있으며 식별자는 비접촉식 카드 사용자를 다른 비접촉식 카드 사용자와 구별할 수 있다. 일부 실시예에서 고객 식별자(250)는 고객과 그 고객에게 할당된 계정을 모두 식별할 수 있으며 고객의 계정과 연관된 비접촉식 카드를 추가로 식별할 수 있다.
전술한 실시형태의 프로세서 및 메모리 엘레멘트는 접촉 패드를 참조하여 설명되었으나 본 발명은 이에 제한되지 않는다. 이들 엘레멘트는 접촉 패드(220) 외부에 구현되거나 접촉 패드와 완전히 별개로 구현될 수 있거나, 접촉 패드(220) 내에 위치하는 프로세서(230) 및 메모리(235) 엘레멘트에 추가하는 추가 엘레멘트로서 구현될 수 있는 것으로 이해된다.
일부 실시예에서 제1 디바이스(200)는 하나 이상의 안테나(255)를 포함할 수 있다. 하나 이상의 안테나(255)는 제1 디바이스(200) 내에 그리고 접촉 패드(220)의 처리 회로(225) 주위에 배치될 수 있다. 안테나(255)는 처리 회로(225)와 통합될 수 있으며 하나 이상의 안테나(255)는 외부 부스터 코일과 함께 사용될 수 있다. 다른 예로서 하나 이상의 안테나(255)는 접촉 패드(220) 및 처리 회로(225) 외부에 있을 수 있다.
하나의 실시형태에서 제1 디바이스(200)의 코일은 공심 변압기의 2차 역할을 할 수 있다. 단말은 전력 차단 또는 진폭 변조를 통해 제 1 디바이스(200)와 통신할 수 있다. 제1 디바이스(200)는 하나 이상의 커패시터를 통해 기능적으로 유지될 수 있는 제1 디바이스의 전원 연결 갭을 이용하여 단말기에서 전송되는 데이터를 추론할 수 있다. 제1 디바이스(200)는 제1 디바이스 코일의 부하를 전환하거나 부하 변조를 통해 다시 통신할 수 있다. 간섭을 통해 단말기의 코일에서 부하 변조가 감지될 수 있다.
도 3은 등록 프로세스 및/또는 응용프로그램 실행 프로세스를 포함할 수 있는 인증 방법(300)을 도시한다. 도 3은 도 2a 및 도 2b의 시스템(100) 및 제1 디바이스(200)와 동일하거나 유사한 컴포넌트를 참조할 수 있다.
블록 310에서 방법(300)은 제1 요청을 프로세서에 의해 수신하는 단계를 포함할 수 있다. 예를 들어 프로세서는 서버에 속할 수 있다. 제1 요청은 인증 요청을 포함할 수 있다. 프로세서는 인증 요청을 수신하도록 형상화 될 수 있다. 일부 실시예에서 인증 요청은 웹사이트 등록에 대한 요청을 포함할 수 있다. 예를 들어 인증 요청은 FIDO 웹사이트 등록에 대한 요청을 포함할 수 있다. 다른 실시예에서 인증 요청은 임의의 디바이스에서 응용프로그램을 실행하라는 요청을 포함할 수 있다. 다른 실시예에서 인증 요청은 다른 동작을 포함할 수 있다.
인증 요청은 리디렉션 될 수 있다. 예를 들어 인증 요청은 브라우저 확장으로부터 리디렉션 될 수 있다. 일부 실시예에서 브라우저 확장은 FIDO 웹사이트 등록을 가로채서 클라우드 기반 인증기 서버로 리디렉션하도록 형상화 될 수 있다. 브라우저 확장은 Chrome®, Internet Explorer®, Firefox® 및/또는 Safari® 브라우저에 대한 확장으로 형상화 될 수 있다. 다른 브라우저 확장이 활용될 수 있으며 독립형 소프트웨어 응용프로그램 또한 사용될 수 있는 것으로 이해된다.
제한 없이 FIDO 웹사이트 등록은 모바일 디바이스, 태블릿, 랩탑, 데스크탑을 포함하되 이에 제한되지 않는 모든 디바이스 상에서 이루어질 수 있다. 모바일 기반 브라우저, 태블릿 기반 브라우저, 랩탑 기반 브라우저, 데스크탑 기반 브라우저는 FIDO 웹사이트 등록을 가로채서 서버로 전송하도록 형상화 될 수 있다. 예를 들어 웹사이트는 하이퍼텍스트 전송 프로토콜 보안(HTTPS)를 제한없이 포함하는 프로토콜을 통해 챌린지를 발행하도록 형상화 될 수 있다.
로컬 FIDO2-가능 디바이스를 사용하여 디바이스에 직접 응답하는 대신에 이러한 트래픽을 서버로 리디렉션 하도록 브라우저 확장이 형상화 될 수 있다. 하기 더욱 설명하는 바와 같이 서버는 제1 디바이스의 프로세서를 사용하여 챌린지에 서명하도록 형상화 된 디바이스의 응용프로그램으로 챌린지를 리디렉션하도록 형상화 될 수 있다. 여기서 서명된 챌린지는 원래의 디바이스로 다시 전송되어 로그인을 위한 웹사이트로 반송된다.
다른 실시예에서 디바이스의 응용프로그램은 하기 더욱 설명되는 바와 같이 사용자를 인증하도록 형상화 될 수 있으며 여기서 디바이스의 응용프로그램은 수신된 암호문을 서버에 전송할 수 있으며 서버는 수신된 암호문으로부터 사용자의 신원을 검증할 수 있다. 서버의 프로세서는 등록 프로세스 중에 생성된 FIDO 개인 키를 사용하여 챌린지에 서명할 수 있다.
이러한 구현은 웹사이트 등록 및/또는 응용프로그램 실행에 적용 가능하도록 형상화 될 수 있다. 예를 들어 요청이 리디렉션 되고 있음을 인식하도록 응용프로그램이 형상화 될 수 있다. 디바이스의 응용프로그램은 서버의 프로세서로부터 푸시 통지를 수신할 때 실행되도록 형상화 될 수 있으며 제1 디바이스로부터 암호문을 수신하여 서버로 전송하도록 형상화 될 수 있다.
블록 320에서 방법(300)은 제2 요청을 프로세서에 의해 전송하는 단계를 포함할 수 있다. 예를 들어 제2 요청은 통지를 포함할 수 있다. 프로세서는 하나 이상의 통지를 전송하도록 형상화 될 수 있다. 일부 실시예에서 프로세서는 신원 검증을 요청하는 통지를 전송하도록 형상화 될 수 있다. 예를 들어 적어도 하나의 통지가 프로세서로부터 신원 검증을 요청하는 디바이스의 응용프로그램으로 전송될 수 있다.
하나 이상의 통지는 프로세서에 의해 응용프로그램에 전송될 수 있으며 응용프로그램에 의한 하나 이상의 응답을 필요로 할 수 있다. 프로세서는 하나 이상의 통지를 생성하고 전송하도록 형상화 될 수 있다. 제한 없이 하나 이상의 통지는 프로세서에서 응용프로그램으로 전달되는 푸시 통지를 포함할 수 있다.
블록 330에서 방법(300)은 제2 요청에 응답하는 제1 응답을 프로세서에 의해 수신하는 단계를 포함할 수 있으며 제1 응답은 암호문을 포함한다. 예를 들어 프로세서는 하나 이상의 통지를 포함하는 제2 요청에 응답하는 하나 이상의 응답을 수신하도록 형상화 될 수 있다. 일부 실시예에서 응답은 암호 또는 암호화 결과와 같은 암호문 및 입력 데이터를 포함할 수 있다. 프로세서는 카드의 프로세서로부터 하나 이상의 응답을 수신하도록 형상화 될 수 있다.
예를 들어 카드의 프로세서는 적어도 하나의 키와 카운터 값을 사용하여 암호문을 생성하도록 형상화 될 수 있다. 암호문은 카운터 값을 포함할 수 있다. 카드의 프로세서는 암호문을 통신 인터페이스를 통해 디바이스의 응용프로그램으로 전송하도록 형상화 될 수 있으며 이는 암호문과 입력 데이터를 포함하는 임의의 데이터를 전송하기 위해 프로세서와 카드 사이에서 중개 디바이스 역할을 할 수 있다.
예를 들어 카드의 프로세서는 암호문을 프로세서로 전송하도록 형상화 될 수 있다. 카드의 프로세서는 암호문 전송 이후에 카운터 값을 업데이트하도록 형상화 될 수 있다. 암호문은 하나 이상의 근거리 통신 데이터 교환 형식(NDEF) 판독을 제한없이 포함하는 하나 이상의 판독을 통해 수득될 수 있다. 디바이스의 응용프로그램은 카드의 근거리 통신(NFC) 태그와 같은 태그의 하나 이상의 판독을 수행하도록 형상화 될 수 있다. 예를 들어 카드는 디바이스 통신 필드로의 하나 이상의 진입 후에 암호문을 전송하도록 형상화 될 수 있다. 제한 없이 각각의 진입은 탭, 스와이프, 웨이브 및/또는 이들의 조합과 연관될 수 있다.
프로세서는 제1 응답을 요구하는 제1 통지를 전송하도록 형상화 될 수 있다. 제1 응답은 암호문을 포함할 수 있다. 프로세서는 응용프로그램으로부터 제1 응답을 수신하도록 형상화 될 수 있다. 프로세서는 암호문을 검증하도록 형상화 될 수 있다. 예를 들어 응용프로그램에서 프로세서로 전송하기 전에 암호화될 수 있는 암호문을 복호화 함으로써 암호문을 검증한 후, 프로세서는 제2 응답을 요구하는 응용프로그램으로 제2 통지를 전송하도록 형상화 될 수 있다.
제2 응답은 입력 데이터를 포함할 수 있다. 프로세서는 제2 응답의 입력 데이터를 수신하도록 형상화 될 수 있다. 프로세서는 참조 입력 데이터를 응용프로그램으로부터 전송된 입력 데이터와 비교함으로써 입력 데이터를 검증하도록 형상화 될 수 있다. 참조 입력 데이터는 서버에 의해 저장될 수 있다. 다른 실시예에서 참조 입력 데이터는 예를 들어 데이터베이스를 통해 서버에 의해 검색될 수 있다. 예를 들어 서버는 참조 입력 데이터를 수득하기 위한 요청을 데이터베이스에 전송하도록 형상화 될 수 있으며 데이터베이스는 서버에 의해 전송된 요청에 대한 응답으로 요청을 수신하고 참조 입력 데이터를 전송하도록 형상화 될 수 있다.
다른 실시예에서 단일 통지는 프로세서에 의해 응용프로그램으로 전송될 수 있으며 별도의 응답을 요구하는 별도의 통지를 전송하는 대신 단일 응답을 통해 암호문과 입력 데이터 모두를 요청하도록 형상화 될 수 있다. 또한 입력 데이터는 제1 통지에 대한 제1 응답을 통해 및 제2 통지에 대한 제2 응답 이전에 요청될 수 있다. 다른 실시예에서 입력 데이터는 제2 통지에 대한 제2 응답을 통해 및 제1 통지에 대한 제1 응답 이후에 요청될 수 있다.
일부 실시예에서 입력 데이터는 생체 인식 데이터를 포함할 수 있다. 제한 없이 생체 인식 데이터는 지문, 안면 스캔, 망막 스캔, 음성 인식 및/또는 이들의 임의의 조합의 군에서 선택된 적어도 하나를 포함할 수 있다. 일부 실시예에서 입력 데이터는 추가적으로 및/또는 대안적으로 로그인 데이터를 포함할 수 있다. 제한 없이 로그인 데이터는 사용자 이름, 패스워드, 계좌 번호, 보안 코드, 일회성 패스코드, 보안 질문에 대한 답변 및/또는 이들의 조합의 군에서 선택된 적어도 하나를 포함할 수 있다. 입력 데이터는 생체 정보 및 로그인 데이터의 군에서 선택된 적어도 하나를 포함할 수 있다. 입력 데이터는 생체 인식 데이터, 로그인 데이터 및/또는 이들의 조합을 포함할 수 있다.
블록 340에서 방법(300)은 신속한 온라인 인증(FIDO) 키 쌍을 프로세서에 의해 생성하는 단계를 포함할 수 있다. 신원 검증 후에 프로세서는 키 쌍을 생성하도록 형상화 될 수 있다. 키 쌍은 키 세트를 포함할 수 있다. 일부 실시예에서 FIDO 키 쌍은 개인 키와 공개 키를 포함할 수 있다. 예를 들어 FIDO 키 쌍은 FIDO 개인 키와 FIDO 공개 키를 포함할 수 있다. 프로세서는 하나 이상의 키를 저장하도록 형상화 될 수 있다.
예를 들어 프로세서는 FIDO 개인 키를 보안 엘레멘트 내에 저장하도록 형상화 될 수 있다. FIDO 개인 키를 카드에 저장하는 대신 FIDO 개인 키를 서버에 속하는 보안 엘레멘트 내에 저장할 수도 있다. FIDO 개인 키는 클라우드 기반 인증기가 관리하는 보안 엘레멘트 내에 저장될 수 있다. 보안 엘레멘트는 클라우드에서 호스팅 될 수 있으며 하나 이상의 키가 안전하게 저장되고 검색될 수 있는 변조 방지 보안 저장 영역을 포함할 수 있다.
일부 실시예에서 보안 엘레멘트에 대한 액세스는 프로세서에 의해서만으로 제한될 수 있다. 프로세서는 보안 엘레멘트에서 FIDO 개인 키를 검색하도록 형상화 될 수 있다. 다른 실시예에서 보안 엘레멘트에 대한 액세스가 제한되지 않아 검색을 위한 키를 전용 디바이스 상에 저장하지 않을 수 있다. 초기 FIDO 등록 중에 웹사이트는 웹사이트 및/또는 사용자를 고유하게 식별하는 식별자를 전송하도록 형상화 될 수 있다. FIDO 개인 키와 같은 키가 생성되면 클라우드의 서버는 식별자를 사용하여 이러한 키를 보안 엘레멘트 내에 저장하도록 형상화 될 수 있다.
후속 FIDO 인증 요청 중에 웹사이트는 챌린지와 함께 식별자를 전송하도록 형상화 될 수 있다. 챌린지에 서명할 때 서버는 식별자를 사용하여 보안 엘레멘트에서 FIDO 개인 키를 조회하고 검색할 수 있다. 이러한 방식으로 키 쌍이 분실되거나 잘못 배치되거나 도난당한 경우, 클라우드 기반 인증기는 키를 저장하는 물리적 디바이스 없이도 FIDO 공개 키와 같은 키를 생성하고 전송하도록 형상화 될 수 있다.
블록 350에서 방법(300)은 FIDO 개인 키를 사용하여 챌린지를 프로세서에 의해 암호화하는 단계를 포함할 수 있다. 예를 들어 프로세서는 키 쌍의 키 중 적어도 하나를 사용하여 하나 이상의 챌린지를 암호화하도록 형상화 될 수 있다. 예를 들어 프로세서는 브라우저 확장으로부터 챌린지를 수신하도록 형상화 될 수 있다. 일부 실시예에서 프로세서는 FIDO 개인 키를 사용하여 챌린지를 암호화하도록 형상화 될 수 있다.
블록 360에서 방법(300)은 제1 요청을 완료하기 위하여 챌린지를 복호화하기 위해 FIDO 공개 키를 프로세서에 의해 전송하는 단계를 포함할 수 있다. 예를 들어 프로세서는 인증 요청을 완료하기 위하여 챌린지를 복호화하기 위해 FIDO 공개 키를 전송하도록 형상화 될 수 있다. 챌린지를 복호화하기 위해 키의 적어도 하나가 사용될 수 있다. 일부 실시예에서 인증 요청의 완료는 웹사이트가 서명된 챌린지를 확인하고 웹사이트에 대한 액세스를 허용하는 FIDO 공개 키로 확인될 수 있다.
예를 들어 수신된 FIDO 공개 키로 챌린지를 복호화 함으로써 결과가 원래 챌린지와 매치하는지 확인하여 디지털 서명되었는지 검증할 수 있다. 이러한 방식으로 방법(300)은 상기 언급된 기능을 지원하는 분산 저장소, 클라우드 기반 저장소 및 기타 형태의 저장소로 구현될 수 있다.
도 4는 예시적인 실시형태에 따른 인증 프로세스의 순서도(400)를 도시한다. 방법(400)은 등록 프로세스를 포함할 수 있다. 도 4는 시스템(100), 도 2a 및 도 2b의 제1 디바이스(200) 및 도 3의 방법(300)의 동일하거나 유사한 컴포넌트를 참조할 수 있다.
단계 410에서 사용자는 등록을 위해 웹사이트에 의해 프롬프트 될 수 있다. 예를 들어 사용자는 FIDO 웹사이트 등록을 위해 브라우저 확장을 통해 프롬프트 될 수 있다. 제한 없이 브라우저 확장은 Chrome®, Internet Explorer®, Firefox® 또는 Safari®로 구성될 수 있다. 브라우저 확장 이외의 소프트웨어 응용프로그램 예를 들어 독립형 소프트웨어 응용프로그램이 사용될 수 있는 것으로 이해된다. 또한 사용자는 랩탑, 데스크탑 또는 임의의 다른 디바이스를 제한없이 포함하는 디바이스 상에서 실행을 위한 명령어를 포함하는 응용프로그램에 의해 프롬프트 될 수 있다.
단계 420에서 브라우저 확장은 FIDO 웹사이트 등록을 가로채고 이러한 요청을 클라우드 기반 인증기와 같은 인증기로 리디렉션 하도록 형상화 될 수 있다. 일부 실시예에서 서버는 클라우드 기반 인증기를 포함할 수 있다. 일부 실시예에서 브라우저 확장이 FIDO 웹사이트 등록을 개시할 수 있다. 제한 없이 FIDO 웹사이트 등록은 랩탑 또는 데스크탑을 제한없이 포함하는 임의의 디바이스 상에서 발생할 수 있다. 모바일 기반 브라우저 또는 데스크탑 기반 브라우저는 FIDO 웹사이트 등록을 가로채서 클라우드 기반 인증기로 전송하도록 형상화 될 수 있다.
일부 실시예에서 요청은 인증 요청을 포함할 수 있다. 클라우드 기반 인증기는 인증 요청을 수신하도록 형상화 될 수 있다. 일부 실시예에서 인증 요청은 웹사이트 등록에 대한 요청을 포함할 수 있다. 예를 들어 인증 요청은 신속한 온라인 인증(FIDO) 웹사이트 등록에 대한 요청을 포함할 수 있다. 다른 실시예에서 인증 요청은 임의의 디바이스 상에서 응용프로그램을 실행하라는 요청을 포함할 수 있다.
인증 요청은 리디렉션 될 수 있다. 예를 들어 인증 요청은 브라우저 확장에서 리디렉션 될 수 있다. 일부 실시예에서 브라우저 확장은 FIDO 웹사이트 등록을 가로채서 이를 클라우드 기반 인증기 서버로 리디렉션 하도록 형상화 될 수 있다. 예를 들어 웹사이트는 하이퍼텍스트 전송 프로토콜 보안(HTTPS)를 제한없이 포함하는 프로토콜을 통해 챌린지를 발행하도록 형상화 될 수 있다.
로컬 FIDO2 가능 디바이스로 디바이스에 직접 응답하는 대신 이러한 트래픽을 클라우드 기반 인증기 서버로 리디렉션 하도록 브라우저 확장이 형상화 될 수 있다. 하기 더욱 설명하는 바와 같이 클라우드 기반 인증기 서버는 제1 디바이스의 프로세서를 사용하여 챌린지에 서명하도록 형상화 된 디바이스의 응용프로그램으로 챌린지를 리디렉션 하도록 형상화 될 수 있다. 여기서 서명된 챌린지는 원래의 디바이스로 다시 전송되어 로그인을 위해 웹사이트로 반송된다.
다른 실시예에서 디바이스의 응용프로그램은 하기 더욱 설명되는 바와 같이 사용자를 인증하도록 형상화 될 수 있으며 여기서 디바이스의 응용프로그램은 수신된 암호문을 클라우드 기반 인증기 서버의 프로세서로 전송할 수 있으며 이는 수신된 암호문으로부터 사용자의 신원을 검증할 수 있다. 클라우드 기반 인증기 서버의 프로세서는 등록 프로세스 중에 생성된 FIDO 개인 키를 사용하여 챌린지에 서명할 수 있다. 이러한 구현은 웹사이트 등록 및/또는 응용프로그램 실행에 적용 가능하도록 형상화 될 수 있다.
예를 들어 요청이 리디렉션 되고 있음을 인식하도록 응용프로그램이 형상화 될 수 있다. 디바이스의 응용프로그램은 클라우드 기반 인증기 서버의 프로세서로부터 푸시 통지를 수신하면 실행되도록 형상화 될 수 있으며 제1 디바이스로부터 암호문을 수신하여 클라우드 기반 인증 서버로 전송하도록 형상화 될 수 있다.
단계 430에서 클라우드 기반 인증기는 신원 검증 프로세스를 수행하도록 형상화 될 수 있다. 예를 들어 클라우드 기반 인증기는 디바이스 상에서 실행하기 위한 명령어를 포함하는 하나 이상의 통지를 생성하고 응용프로그램에 전송함으로써 신원 검증 프로세스를 수행할 수 있다. 예를 들어 클라우드 기반 인증기는 하나 이상의 통지를 전송하도록 형상화 될 수 있다.
일부 실시예에서 클라우드 기반 인증기는 신원 검증을 요구하는 통지를 전송하도록 형상화 될 수 있다. 예를 들어 클라우드 기반 인증기로부터 응용프로그램으로 적어도 하나의 통지가 전송될 수 있다. 하나 이상의 통지가 클라우드 기반 인증기에 의해 응용프로그램에 전송될 수 있으며 응용프로그램에 의한 하나 이상의 응답을 필요로 할 수 있다. 클라우드 기반 인증기는 하나 이상의 통지를 생성하고 전송하도록 형상화 될 수 있다. 제한 없이 하나 이상의 통지는 클라우드 기반 인증기로부터 응용프로그램으로 전달되는 푸시 통지를 포함할 수 있다.
단계 440에서 디바이스의 응용프로그램은 클라우드 기반 인증기에 의해 전송된 하나 이상의 통지를 수신하도록 형상화 될 수 있다. 하나 이상의 통지에 응답하여 디바이스의 응용프로그램은 카드의 하나 이상의 판독을 수행하도록 형상화 될 수 있다. 암호문은 하나 이상의 근거리 통신 데이터 교환 형식(NDEF) 판독을 제한없이 포함하는 하나 이상의 판독을 통해 수득 될 수 있다. 디바이스의 응용프로그램은 카드의 근거리 통신(NFC) 태그와 같은 태그에 대한 하나 이상의 판독을 수행하도록 형상화 될 수 있다.
예를 들어 카드는 디바이스의 통신 필드에 대한 하나 이상의 진입 후에 암호문을 전송하도록 형상화 될 수 있다. 제한 없이 각각의 진입은 탭, 스와이프, 웨이브 및/또는 이들의 조합과 연관될 수 있다. 예를 들어 카드의 프로세서는 적어도 하나의 키 및 카운터 값을 사용하여 암호문을 생성하도록 형상화 될 수 있다. 암호문은 카운터 값을 포함할 수 있다.
단계 450에서 카드의 프로세서는 암호문을 통신 인터페이스를 통해 디바이스의 응용프로그램으로 전송하도록 형상화 될 수 있으며 이는 암호문 및 입력 데이터를 포함하는 임의의 데이터를 전송하기 위해 클라우드 기반 인증기와 카드 사이에서 중개 디바이스 역할을 할 수 있다. 예를 들어 카드의 프로세서는 암호문을 클라우드 기반 인증기에게 전송하도록 형상화 될 수 있다. 카드의 프로세서는 암호문의 전송 후에 카운터 값을 업데이트 하도록 형상화 될 수 있다.
단계 460에서 디바이스의 응용프로그램은 클라우드 기반 인증기에 의해 전송된 하나 이상의 통지에 응답하는 하나 이상의 응답을 전송하도록 형상화 될 수 있다. 하나 이상의 통지에 응답하여 디바이스의 응용프로그램은 디바이스 통신 필드로의 카드의 진입을 프롬프트 할 수 있다. 예를 들어 디바이스의 응용프로그램은 클라우드 기반 인증기로부터의 하나 이상의 통지에 응답하는 제1 응답을 전송할 수 있으며 제1 응답은 암호문을 포함한다. 일부 실시예에서 응답은 암호 또는 암호화 결과와 같은 암호문 및 입력 데이터를 포함할 수 있다.
예를 들어 카드의 프로세서는 적어도 하나의 키 및 카운터 값을 사용하여 암호문을 생성하도록 형상화 될 수 있다. 암호문은 카운터 값을 포함할 수 있다. 카드의 프로세서는 암호문을 통신 인터페이스를 통해 디바이스의 응용프로그램으로 전송하도록 형상화 될 수 있으며 이는 암호문 및 입력 데이터를 포함하는 임의의 데이터를 전송하기 위해 클라우드 기반 인증기와 카드 사이에서 중개 디바이스 역할을 할 수 있다. 예를 들어 카드의 프로세서는 암호문을 클라우드 기반 인증기에 전송하도록 형상화 될 수 있다.
일부 실시예에서 입력 데이터는 생체 인식 데이터를 포함할 수 있다. 제한 없이 생체 인식 데이터는 지문, 안면 스캔, 망막 스캔, 음성 인식 및/또는 이들의 임의의 조합의 군에서 선택된 적어도 하나를 포함할 수 있다. 일부 실시예에서 입력 데이터는 추가적으로 및/또는 대안적으로 로그인 데이터를 포함할 수 있다.
제한 없이 로그인 데이터는 사용자 이름, 패스워드, 계좌 번호, 보안 코드, 일회성 패스코드, 보안질문에 대한 답변 및/또는 이들의 임의의 조합의 군에서 선택된 적어도 하나를 포함할 수 있다. 입력 데이터는 생체 정보 및 로그인 데이터의 군에서 선택된 적어도 하나를 포함할 수 있다. 입력 데이터는 생체 인식 데이터, 로그인 데이터 및/또는 이들의 임의의 조합을 포함할 수 있다. 이러한 방식으로 암호문과 입력 데이터 모두를 인증한 후에 신원 검증이 완료될 수 있다.
단계 470에서 클라우드 기반 인증기는 디바이스의 응용프로그램에 의해 전송된 하나 이상의 응답을 수신하도록 형상화 될 수 있다. 일부 실시예에서 클라우드 기반 인증기는 카드로부터 하나 이상의 응답을 수신하도록 형상화 될 수 있다. 클라우드 기반 인증기는 신원 검증 프로세스를 통해 수신된 하나 이상의 응답을 검증하도록 형상화 될 수 있다. 클라우드 기반 인증기는 응용프로그램으로부터 제1 응답을 수신하고 인증하도록 형상화 될 수 있다. 클라우드 기반 인증기는 암호문을 검증하도록 형상화 될 수 있다.
예를 들어 응용프로그램에서 클라우드 기반 인증기로 전송하기 전에 암호화될 수 있는 암호문을 복호화 함으로써 암호문을 검증한 후, 클라우드 기반 인증기는 제2 응답을 필요로 하는 응용프로그램에 제2 통지를 전송하도록 형상화 될 수 있다. 제2 응답은 입력 데이터를 포함할 수 있다. 클라우드 기반 인증기는 제2 응답의 입력 데이터를 수신하도록 형상화 될 수 있다. 클라우드 기반 인증기는 참조 입력 데이터를 응용프로그램으로부터 전송된 입력 데이터와 비교함으로써 입력 데이터를 검증하도록 형상화 될 수 있다.
참조 입력 데이터는 클라우드 기반 인증기에 의해 저장될 수 있다. 다른 실시예에서 참조 입력 데이터는 예를 들어 데이터베이스를 통해 클라우드 기반 인증기에 의해 검색될 수 있다. 예를 들어 클라우드 기반 인증기는 참조 입력 데이터를 수득하기 위한 요청을 데이터베이스에 전송하도록 형상화 될 수 있으며 데이터베이스는 클라우드 기반 인증기에 의해 전송된 요청에 대한 응답으로 요청을 수신하고 참조 입력 데이터를 전송하도록 형상화 될 수 있다.
다른 실시예에서 단일 통지는 클라우드 기반 인증기에 의해 응용프로그램으로 전송될 수 있으며 별도의 응답을 요구하는 별도의 통지를 전송하는 대신 단일 응답을 통해 암호문 및 입력 데이터 모두를 요청하도록 형상화 될 수 있다. 또한 입력 데이터는 제1 통지에 대한 제1 응답을 통해 및 제2 통지에 대한 제2 응답 이전에 요청될 수 있다. 다른 실시예에서 입력 데이터는 제2 통지에 대한 제2 응답을 통해 및 제1 통지에 대한 제1 응답 이후에 요청될 수 있다.
단계 480에서 클라우드 기반 인증기는 사용자에게 고유한 키 쌍을 생성하도록 형상화 될 수 있다. 예를 들어 신원 검증 후 클라우드 기반 인증기는 키 쌍을 생성하도록 형상화 될 수 있다. FIDO 키 쌍과 같은 키 쌍은 키 세트를 포함할 수 있다. 일부 실시예에서 FIDO 키 쌍은 개인 키와 공개 키를 포함할 수 있다. 예를 들어 FIDO 키 쌍은 FIDO 개인 키와 FIDO 공개 키를 포함할 수 있다. 클라우드 기반 인증기는 하나 이상의 키를 저장하도록 형상화 될 수 있다.
예를 들어 클라우드 기반 인증기는 FIDO 개인 키를 보안 엘레멘트 내에 저장하도록 형상화 될 수 있다. FIDO 개인 키를 카드에 저장하는 대신에 FIDO 개인 키를 클라우드 기반 인증기에 속하는 보안 엘레멘트 내에 저장할 수도 있다. FIDO 개인 키는 클라우드 기반 인증기에 의해 유지되는 보안 엘레멘트 내에 저장될 수 있다. 보안 엘레멘트는 클라우드에서 호스팅 될 수 있으며 하나 이상의 키가 안전하게 저장되고 검색될 수 있는 변조 방지 보안 저장 영역을 포함할 수 있다.
일부 실시예에서 보안 엘레멘트에 대한 액세스는 클라우드 기반 인증기에 의해서만으로 제한될 수 있다. 클라우드 기반 인증기는 보안 엘레멘트 로부터 FIDO 개인 키를 검색하도록 형상화 될 수 있다. 다른 실시예에서 보안 엘레멘트에 대한 액세스가 제한되지 않아 검색을 위한 키를 전용 디바이스에 저장하지 않을 수 있다. 초기 FIDO 등록 중에 웹사이트는 웹사이트 및/또는 사용자를 고유하게 식별하는 식별자를 전송하도록 형상화 될 수 있다. FIDO 개인 키와 같은 키가 생성되면 클라우드의 클라우드 기반 인증기는 식별자를 사용하여 이러한 키를 보안 엘레멘트 내에 저장하도록 형상화 될 수 있다.
후속 FIDO 인증 요청 중에 웹사이트는 챌린지와 함께 식별자를 전송하도록 형상화 될 수 있다. 챌린지에 서명할 때 서버는 식별자를 사용하여 보안 엘레멘트로부터 FIDO 개인 키를 조회하고 검색할 수 있다. 이러한 방식으로 키 쌍이 분실되거나 잘못 배치되거나 도난당한 경우, 클라우드 기반 인증기는 키를 저장하는 물리적 디바이스 없이도 FIDO 공개 키와 같은 키를 생성하고 전송하도록 형상화 될 수 있다.
클라우드 기반 인증기는 키 중 하나를 브라우저 확장에 전송하도록 형상화 될 수 있다. 예를 들어 클라우드 기반 인증기는 챌린지를 암호화하는 데 사용될 수 있는 FIDO 개인 키를 전송하도록 형상화 될 수 있다. 일부 실시예에서 클라우드 기반 인증기는 키 쌍의 키 중 적어도 하나를 사용하여 하나 이상의 챌린지를 암호화하도록 형상화 될 수 있다. 예를 들어 클라우드 기반 인증기는 브라우저 확장으로부터 챌린지를 수신하도록 형상화 될 수 있다. 일부 실시예에서 클라우드 기반 인증기는 FIDO 개인 키를 사용하여 챌린지를 암호화하도록 형상화 될 수 있다.
단계 490에서 브라우저 확장은 클라우드 기반 인증기에 의해 전송된 키 중 하나를 수신하도록 형상화 될 수 있다. 예를 들어 브라우저 확장은 인증 요청을 완료하기 위하여 챌린지를 복호화 하기 위해 데이터베이스와 같은 FIDO 공개 키를 수신하고 전송하도록 형상화 될 수 있다. 일부 실시예에서 인증 요청의 완료는 웹사이트가 서명된 챌린지를 확인하고 웹사이트에 대한 액세스를 허용하는 FIDO 공개 키로 확인될 수 있다.
예를 들어 클라우드 기반 인증기로부터 수신된 FIDO 공개 키를 사용하여 챌린지를 복호화 함으로써 결과가 원래의 챌린지와 매치하는지 결정하여 디지털 서명되었는지 검증할 수 있다. 이러한 방식으로 인증 프로세스의 시퀀스 다이어그램(400)은 분산 저장소, 클라우드 기반 저장소 및 상기 언급된 기능을 지원하는 다른 형태의 저장소로 구현될 수 있다.
도 5는 예시적인 실시형태에 따른 인증 방법(500)을 도시한다. 방법(500)은 등록 프로세스를 포함할 수 있다. 도 5는 시스템(100), 도 2a 및 도 2b의 제1 디바이스(200), 도 3의 방법(300) 및 도 4의 시퀀스 다이어그램(400)과 동일하거나 유사한 컴포넌트를 참조할 수 있다.
블록 510에서 방법(500)은 요청을 리디렉션하는 단계를 포함할 수 있다. 예를 들어 요청은 인증 요청을 포함할 수 있다. 서버의 프로세서는 인증 요청을 수신하도록 형상화 될 수 있다. 일부 실시예에서 인증 요청은 웹사이트 등록에 대한 요청을 포함할 수 있다. 예를 들어 인증 요청은 신속한 온라인 인증(FIDO) 웹사이트 등록에 대한 요청을 포함할 수 있다. 다른 실시예에서 인증 요청은 임의의 디바이스 상에서 응용프로그램을 실행하기 위한 요청을 포함할 수 있다.
인증 요청은 리디렉션 될 수 있다. 예를 들어 인증 요청은 브라우저 확장으로부터 리디렉션 될 수 있다. 일부 실시예에서 브라우저 확장은 FIDO 웹사이트 등록을 가로채서 이를 클라우드 기반 인증기 서버로 리디렉션 하도록 형상화 될 수 있다. 브라우저 확장(101)은 Chrome®, Internet Explorer®, Firefox® 및/또는 Safari® 브라우저에 대한 확장을 포함할 수 있다. 다른 브라우저 확장(101)이 활용될 수 있으며 독립형 소프트웨어 응용프로그램 또한 사용될 수 있는 것으로 이해된다.
제한 없이 FIDO 웹사이트 등록은 랩탑 또는 데스크탑을 제한없이 포함하는 임의의 디바이스 상에서 발생할 수 있다. 모바일 기반 브라우저 또는 데스크탑 기반 브라우저는 FIDO 웹사이트 등록을 가로채서 이를 서버에 전송하도록 형상화 될 수 있다. 예를 들어 웹사이트는 하이퍼텍스트 전송 프로토콜 보안(HTTPS)을 제한없이 포함하는 프로토콜을 통해 챌린지를 발행하도록 형상화 될 수 있다. 로컬 FIDO2 가능 디바이스를 사용하여 디바이스에 직접 응답하는 대신에 이러한 트래픽을 서버로 리디렉션 하도록 브라우저 확장이 형상화 될 수 있다.
하기 더욱 설명되는 바와 같이 서버는 제1 디바이스의 프로세서를 사용하여 챌린지에 서명하도록 형상화 된 디바이스의 응용프로그램으로 챌린지를 리디렉션 하도록 형상화 될 수 있으며 여기서 서명된 챌린지는 원래의 디바이스로 다시 전송되어 로그인을 위해 웹사이트로 반송된다. 다른 실시예에서 디바이스의 응용프로그램은 하기 더욱 설명되는 바와 같이 사용자를 인증하도록 형상화 될 수 있으며 여기서 디바이스의 응용프로그램은 수신된 암호문을 서버에 전송할 수 있으며 서버는 수신된 암호문으로부터 사용자의 신원을 검증할 수 있다.
그 후 서버는 등록 프로세스 중에 생성된 FIDO 개인 키를 사용하여 챌린지에 서명할 수 있다. 이러한 구현은 웹사이트 등록 및/또는 응용프로그램 실행에 적용 가능하도록 형상화 될 수 있다. 예를 들어 요청이 리디렉션 되고 있음을 인식하도록 응용프로그램이 형상화 될 수 있다. 디바이스의 응용프로그램은 서버의 프로세서로부터 푸시 통지를 수신하면 실행되도록 형상화 될 수 있으며 제1 디바이스로부터 암호문을 수신하여 서버에 전송하도록 형상화 될 수 있다.
블록 520에서 방법(500)은 푸시 통지를 전송하는 단계를 포함할 수 있다. 예를 들어 푸시 통지는 프로세서에 의해 전송될 수 있다. 일부 실시예에서 프로세서는 통지를 전송함으로써 신원 검증을 수행하도록 형상화 될 수 있다. 예를 들어 프로세서로부터 신원 검증을 요청하는 디바이스의 응용프로그램으로 적어도 하나의 통지가 전송될 수 있다. 하나 이상의 통지는 프로세서에 의해 응용프로그램으로 전송될 수 있으며 응용프로그램에 의한 하나 이상의 응답을 필요로 할 수 있다. 프로세서는 하나 이상의 통지를 생성하고 전송하도록 형상화 될 수 있다. 제한 없이 하나 이상의 통지는 프로세서에서 응용프로그램으로 전달되는 푸시 통지를 포함할 수 있다.
블록 530에서 방법(500)은 응답을 인증하는 단계를 포함할 수 있다. 예를 들어 프로세서는 디바이스의 응용프로그램에 의해 전송되고 푸시 통지에 응답하는 하나 이상의 응답을 인증하도록 형상화 될 수 있다. 일부 실시예에서 응답은 암호 또는 암호화 결과와 같은 암호문 및 입력 데이터를 포함할 수 있다. 프로세서는 카드의 프로세서로부터 하나 이상의 응답을 수신하도록 형상화 될 수 있다.
예를 들어 카드의 프로세서는 적어도 하나의 키 및 카운터 값을 사용하여 암호문을 생성하도록 형상화 될 수 있다. 암호문은 카운터 값을 포함할 수 있다. 카드의 프로세서는 암호문을 통신 인터페이스를 통해 디바이스의 응용프로그램으로 전송하도록 형상화 될 수 있으며 이는 암호문과 입력 데이터를 포함하는 임의의 데이터를 전송하기 위해 프로세서와 카드 사이에서 중개 디바이스 역할을 할 수 있다.
예를 들어 카드의 프로세서는 암호문을 프로세서로 전송하도록 형상화 될 수 있다. 카드의 프로세서는 암호문의 전송 후에 카운터 값을 업데이트 하도록 형상화 될 수 있다. 암호문은 하나 이상의 근거리 통신 데이터 교환 형식(NDEF) 판독을 제한없이 포함하는 하나 이상의 판독을 통해 수득될 수 있다.
디바이스의 응용프로그램은 카드의 근거리 통신(NFC) 태그와 같은 태그의 하나 이상의 판독을 수행하도록 형상화 될 수 있다. 예를 들어 카드는 디바이스 통신 필드로의 하나 이상의 진입 후에 암호문을 전송하도록 형상화 될 수 있다. 제한 없이 각각의 진입은 탭, 스와이프, 웨이브 및/또는 이들의 조합과 연관될 수 있다.
프로세서는 제1 응답을 요구하는 제1 통지를 전송하도록 형상화 될 수 있다. 제1 응답은 암호문을 포함할 수 있다. 프로세서는 응용프로그램으로부터 제1 응답을 수신하도록 형상화 될 수 있다. 프로세서는 암호문을 검증하도록 형상화 될 수 있다. 예를 들어 응용프로그램에서 프로세서로 전송하기 전에 암호화될 수 있는 암호문을 복호화 함으로써 암호문을 검증한 후, 프로세서는 제2 응답을 요구하는 제2 통지를 응용프로그램으로 전송하도록 형상화 될 수 있다.
제2 응답은 입력 데이터를 포함할 수 있다. 프로세서는 제2 응답의 입력 데이터를 수신하도록 형상화 될 수 있다. 프로세서는 참조 입력 데이터를 응용프로그램으로부터 전송된 입력 데이터와 비교함으로써 입력 데이터를 검증하도록 형상화 될 수 있다. 참조 입력 데이터는 서버에 의해 저장될 수 있다. 다른 실시예에서 참조 입력 데이터는 예를 들어 데이터베이스를 통해 서버에 의해 검색될 수 있다. 예를 들어 서버는 참조 입력 데이터를 수득하기 위한 요청을 데이터베이스에 전송하도록 형상화 될 수 있으며 데이터베이스는 서버에 의해 전송된 요청에 대한 응답으로 요청을 수신하고 참조 입력 데이터를 전송하도록 형상화 될 수 있다.
다른 실시예에서 단일 통지가 프로세서에 의해 응용프로그램으로 전송될 수 있으며 별도의 응답을 요구하는 별도의 통지를 전송하는 대신에 단일 응답을 통해 암호문과 입력 데이터 모두를 요청하도록 형상화 될 수 있다. 또한 입력 데이터는 제1 통지에 대한 제1 응답을 통해 및 제2 통지에 대한 제2 응답 이전에 요청될 수 있다. 다른 실시예에서 입력 데이터는 제2 통지에 대한 제2 응답을 통해 및 제1 통지에 대한 제1 응답 이후에 요청될 수 있다.
일부 실시예에서 입력 데이터는 생체 인식 데이터를 포함할 수 있다. 제한 없이 생체 인식 데이터는 지문, 안면 스캔, 망막 스캔, 음성 인식 및/또는 이들의 임의의 조합의 군에서 선택된 적어도 하나를 포함할 수 있다. 일부 실시예에서 입력 데이터는 추가적으로 및/또는 대안적으로 로그인 데이터를 포함할 수 있다.
제한 없이 로그인 데이터는 사용자 이름, 패스워드, 계좌 번호, 보안 코드, 일회성 패스코드, 보안질문에 대한 답변 및/또는 이들의 임의의 조합 입력의 군에서 선택된 적어도 하나를 포함할 수 있다. 입력 데이터는 생체 정보 및 로그인 데이터의 군에서 선택된 적어도 하나를 포함할 수 있다. 입력 데이터는 생체 인식 데이터, 로그인 데이터 및/또는 이들의 임의의 조합을 포함할 수 있다.
블록 540에서 방법(500)은 키 쌍을 생성하는 단계를 포함할 수 있다. 예를 들어 프로세서는 FIDO 키 쌍을 생성하도록 형상화 될 수 있다. 신원 검증 후에 프로세서는 키 쌍을 생성하도록 형상화 될 수 있다. 키 쌍은 키 세트를 포함할 수 있다. 일부 실시예에서 FIDO 키 쌍은 개인 키 및 공개 키를 포함할 수 있다. 예를 들어 FIDO 키 쌍은 FIDO 개인 키 및 FIDO 공개 키를 포함할 수 있다. 프로세서는 하나 이상의 키를 저장하도록 형상화 될 수 있다.
예를 들어 프로세서는 FIDO 개인 키를 보안 엘레멘트 내에 저장하도록 형상화 될 수 있다. FIDO 개인 키를 카드에 저장하는 대신에 FIDO 개인 키를 서버에 속한 보안 엘레멘트 내에 저장할 수 있다. FIDO 개인 키는 서버의 프로세서에 의해 유지되는 보안 엘레멘트 내에 저장될 수 있다. 보안 엘레멘트는 클라우드에서 호스팅 될 수 있으며 하나 이상의 키가 안전하게 저장되고 검색될 수 있는 변조 방지 보안 저장 영역을 포함할 수 있다. 일부 실시예에서 보안 엘레멘트에 대한 액세스는 프로세서에 의해서만으로 제한될 수 있다. 프로세서는 보안 엘레멘트 내에서 FIDO 개인 키를 검색하도록 형상화 될 수 있다.
다른 실시예에서 보안 엘레멘트에 대한 액세스가 제한되지 않아 검색을 위한 키를 전용 디바이스에 저장하지 않을 수 있다. 초기 FIDO 등록 중에 웹사이트는 웹사이트 및/또는 사용자를 고유하게 식별하는 식별자를 전송하도록 형상화 될 수 있다. FIDO 개인 키와 같은 키가 생성되면 클라우드의 서버는 식별자를 사용하여 이러한 키를 보안 엘레멘트 내에 저장하도록 형상화 될 수 있다. 후속 FIDO 인증 요청 중에 웹사이트는 챌린지와 함께 식별자를 전송하도록 형상화 될 수 있다.
챌린지에 서명할 때 FIDO 개인 키가 식별자를 사용하여 보안 엘레멘트에서 조회되고 검색된다. 이러한 방식으로 키 쌍이 분실되거나 잘못 배치되거나 도난 당하는 경우, 클라우드 기반 인증기는 키를 포함하는 물리적 디바이스 필요 없이 FIDO 공개 키와 같은 키를 생성하고 전송하도록 형상화 될 수 있다.
블록 550에서 방법(500)은 복호화를 위한 키를 전송하는 단계를 포함할 수 있다. 예를 들어 FIDO 개인 키와 같은 키 중 하나는 프로세서에 의해 챌린지를 암호화하도록 형상화 될 수 있으며 이는 챌린지를 복호화하기 위해 FIDO 공개 키를 전송하도록 형상화 될 수도 있다. 예를 들어 프로세서는 인증 요청을 완료하기 위하여 챌린지를 복호화하기 위해 FIDO 공개 키를 전송하도록 형상화 될 수 있다. 챌린지 복호화에 키 중 하나 이상이 사용될 수 있다.
일부 실시예에서 인증 요청의 완료는 웹사이트가 서명된 챌린지를 확인하고 웹사이트에 대한 액세스를 허용하는 FIDO 공개 키로 확인될 수 있다. 예를 들어 수신된 FIDO 공개 키로 챌린지를 복호화하여 결과가 원래 챌린지와 일치하는지 확인하여 디지털 서명되었는지 확인할 수 있다. 이러한 방식으로 방법(500)은 상기 언급된 기능을 지원하는 분산 저장소, 클라우드 기반 저장소 및 기타 형태의 저장소로 구현될 수 있다.
도 6은 예시적인 실시형태에 따른 인증 방법(600)을 도시한다. 방법(600)은 등록 프로세스를 포함할 수 있다. 도 6은 시스템(100), 도 2a 및 도 2b의 제1 디바이스(200), 도 3의 방법(300), 도 4의 시퀀스 다이어그램(400) 및 도 5의 방법(500)의 동일하거나 유사한 컴포넌트를 참조할 수 있다.
블록 610에서 방법(600)은 암호문을 생성하는 단계를 포함할 수 있다. 예를 들어 카드의 프로세서는 암호문을 생성하도록 형상화 될 수 있다. 일부 실시예에서 카드의 프로세서는 적어도 하나의 키와 카운터 값을 사용하여 암호문을 생성하도록 형상화 될 수 있다. 암호문은 카운터 값을 포함할 수 있다. 암호문은 디바이스에 의한 하나 이상의 근거리 통신 데이터 교환 형식(NDEF) 판독을 제한없이 포함하는 하나 이상의 판독을 통해 수득될 수 있다.
디바이스의 응용프로그램은 카드의 근거리 통신(NFC) 태그와 같은 태그의 하나 이상의 판독을 수행하도록 형상화 될 수 있다. 예를 들어 카드는 디바이스 통신 필드로의 하나 이상의 진입 후에 암호문을 전송하도록 형상화 될 수 있다. 제한 없이 각 항목은 탭, 스와이프, 웨이브 및/또는 이들의 조합과 연관될 수 있다.
블록 620에서 방법(600)은 암호문을 암호화하는 단계를 포함할 수 있다. 예를 들어 카드의 프로세서는 하나 이상의 암호화 알고리즘을 사용하여 암호문을 암호화하도록 형상화 될 수 있다.
블록 630에서 방법(600)은 챌린지 서명을 위한 키 쌍의 생성을 트리거하기 위해 인증을 위한 암호문을 전송하는 단계를 포함할 수 있다. 예를 들어 카드의 프로세서는 암호문을 포함하는 임의의 데이터를 전송하기 위해 서버와 카드 사이에서 중개 디바이스 역할을 할 수 있는 디바이스의 응용프로그램으로 통신 인터페이스를 통해 암호문을 전송하도록 형상화 될 수 있다. 일부 실시예에서 암호문은 인증을 위한 디바이스의 응용프로그램에 의해 하나 이상의 암호화 알고리즘을 통해 복호화 될 수 있다.
암호문의 성공적인 복호화에 기반하여 디바이스의 응용프로그램은 암호화되거나 복호화 된 형태로 카드의 프로세서에 의해 생성된 암호문을 포함하는 응답을 서버에 전송하도록 형상화 될 수 있다. 서버에 의해 암호화되거나 복호화된 암호문을 포함하는 응답이 검증되면 서버에 의해 키 쌍이 생성될 수 있다. 여기서 개인 키 중 하나가 챌린지를 암호화하기 위해 사용되고 공개 키 중 하나는 챌린지를 복호화 하기 위해 전송된다. 공개 키를 사용한 챌린지의 성공적인 복호화 시에 웹사이트 등록이나 응용프로그램 실행과 같은 인증 요청이 성공적으로 처리될 수 있다.
블록 640에서 방법(600)은 카운터 값을 업데이트하는 단계를 포함할 수 있다. 예를 들어 카드의 프로세서는 암호문의 전송 후에 카운터 값을 업데이트 하도록 형상화 될 수 있다. 다른 실시예에서 카드의 프로세서는 디바이스에서의 실행을 위한 명령어를 포함하는 응용프로그램에 의해 또는 서버에 의해 암호문의 전송 및 성공적인 복호화 후에 카운터 값을 업데이트 하도록 형상화 될 수 있다.
다른 실시예에서 카드의 프로세서는 웹사이트 등록 응용프로그램의 성공적인 실행을 가능하게 하는 챌린지의 성공적인 복호화 후에 카운터 값을 업데이트 하도록 형상화 될 수 있다. 이러한 방식으로 방법(600)은 상기 언급된 기능을 지원하는 분산 저장소, 클라우드 기반 저장소, 기타 형태의 저장소로 구현될 수 있다.
본 발명에 기술된 시스템 및 방법은 컴팩트 디스크(CD), 디지털 다목적 디스크(DVD), 플로피 디스크, USB 디스크, 하드 드라이브, 읽기 전용 메모리(ROM), 랜덤 액세스 메모리(RAM) 및 데이터를 저장할 수 있는 기타 물리적 매체와 같으나 이에 제한되지 않는 하나 이상의 물리적 매체에 유형적으로 구현될 수 있다. 예를 들어 데이터 저장 디바이스는 랜덤 액세스 메모리(RAM) 및 읽기 전용 메모리(ROM)를 포함할 수 있으며 이는 데이터와 정보, 컴퓨터 프로그램 명령어에 액세스하고 이를 저장하도록 형상화 될 수 있다.
데이터 저장소는 저장 매체 또는 기타 적합한 유형의 메모리 예를 들어 RAM, ROM, 프로그래밍 가능 읽기 전용 메모리(PROM), 지울 수 있는 프로그래밍 가능 읽기 전용 메모리(EPROM), 전기적으로 지울 수 있는 프로그래밍 가능 읽기 전용 메모리 (EEPROM), 자기 디스크, 광학 디스크, 플로피 디스크, 하드 디스크, 이동식 카트리지, 플래시 드라이브, 모든 유형의 유형 및 비일시적 저장 매체 등을 또한 포함할 수 있다. 여기서 운영 체제를 구성하는 파일, 예를 들어 웹 브라우저 응용프로그램, 이메일 응용프로그램 및/또는 기타 응용프로그램을 포함하는 응용프로그램 및 데이터 파일이 저장될 수 있다.
네트워크 가능 컴퓨터 시스템의 데이터 저장소는 전자 정보, 파일 및 예를 들어 플랫 파일, 색인 파일, 계층적 데이터베이스, 관계형 데이터베이스, 예를 들어 Oracle® Corporation, Microsoft® Excel 파일, Microsoft® Access 파일을 포함하여 다양한 방식으로 저장된 문서, 고체 상태 저장 디바이스를 포함할 수 있다. 이는 플래시 어레이, 하이브리드 어레이 또는 온라인 또는 클라우드 저장소를 포함할 수 있는 서버측 제품, 기업 저장소 또는 기타 저장 메커니즘을 포함할 수 있다.
또한 도면은 다양한 컴포넌트 예를 들어 서버, 컴퓨터, 프로세서 등을 개별적으로 설명한다. 다양한 컴포넌트에서 수행되는 것으로 설명된 기능은 다른 컴포넌트에서 수행될 수도 있으며 다양한 컴포넌트가 결합되거나 분리될 수도 있다. 다른 변형 또한 가능하다.
전술한 명세서에서는 첨부된 도면을 참조하여 다양한 실시형태를 설명하였다. 그러나 다음의 청구범위에 설명된 본 발명의 더 넓은 범위를 벗어나지 않으면서 다양한 수정 및 변형이 가능하며 추가적인 실시형태가 구현될 수 있음이 명백할 것이다. 따라서 명세서와 도면은 제한적인 의미 보다는 예시적인 의미로 간주되어야 한다.

Claims (20)

  1. 프로세서; 및
    메모리;
    를 포함하는 인증 서버에 있어서,
    상기 프로세서는
    인증 요청을 수신하고;
    통지를 전송하고;
    통지에 응답하고 암호문과 입력 데이터를 포함하는 응답을 수신하고;
    FIDO 공개 키와 FIDO 개인 키를 포함하는 신속한 온라인 인증(FIDO) 키 쌍을 생성하고;
    FIDO 개인 키를 사용하여 챌린지를 암호화하고; 및
    인증 요청을 완료하기 위하여 챌린지를 복호화 하기 위해 FIDO 공개 키를 전송;
    하도록 형상화 됨을 특징으로 하는 인증 서버.
  2. 제 1항에 있어서, 상기 인증 요청은 브라우저 확장으로부터 리디렉션 됨을 특징으로 하는 인증 서버.
  3. 제 1항에 있어서, 상기 입력 데이터는 생체 정보 및 로그인 데이터의 군에서 선택된 적어도 하나를 포함함을 특징으로 하는 인증 서버.
  4. 제 1항에 있어서, 상기 프로세서는 상기 FIDO 개인 키를 보안 엘레멘트 내에 저장하도록 더욱 형상화 됨을 특징으로 하는 인증 서버.
  5. 제 1항에 있어서, 상기 프로세서는 브라우저 확장으로부터 챌린지를 수신하도록 더욱 형상화 됨을 특징으로 하는 인증 서버.
  6. 제 1항에 있어서, 상기 인증 요청은 FIDO 웹사이트 등록 요청을 포함함을 특징으로 하는 인증 서버.
  7. 제 1항에 있어서, 상기 서버는 클라우드 기반 인증기를 포함함을 특징으로 하는 인증 서버.
  8. 제 1항에 있어서, 상기 인증 요청은 응용프로그램 실행 요청을 포함함을 특징으로 하는 인증 서버.
  9. 제 1항에 있어서, 상기 암호문은 근거리 통신 데이터 교환 형식(NDEF) 판독을 통해 수득됨을 특징으로 하는 인증 서버.
  10. 인증 방법에 있어서,
    방법은
    제1 요청을 프로세서에 의해 수신하는 단계;
    제2 요청을 프로세서에 의해 전송하는 단계;
    제2 요청에 응답하고 암호문을 포함하는 제1 응답을 프로세서에 의해 수신하는 단계;
    FIDO 공개키와 FIDO 개인키를 포함하는 신속한 온라인 인증(FIDO) 키 쌍을 프로세서에 의해 생성하는 단계;
    FIDO 개인 키를 사용하여 챌린지를 프로세서에 의해 암호화하는 단계; 및
    제1 요청을 완료하기 위하여 챌린지를 복호화하기 위해 FIDO 공개 키를 프로세서에 의해 전송하는 단계;
    를 포함하는 인증 방법.
  11. 제 10항에 있어서, 상기 제1 요청은 브라우저 확장으로부터 리디렉션 됨을 특징으로 하는 방법.
  12. 제 10항에 있어서, 제3 요청을 프로세서에 의해 전송하는 단계를 더욱 포함함을 특징으로 하는 방법.
  13. 제 12항에 있어서, 제3 요청에 응답하고 입력 데이터를 포함하는 제2 응답을 프로세서에 의해 수신하는 단계를 더욱 포함함을 특징으로 하는 방법.
  14. 제 13항에 있어서, 상기 입력 데이터는 생체 정보 및 로그인 정보의 군에서 선택된 적어도 하나를 포함함을 특징으로 하는 방법.
  15. 제 10항에 있어서, 보안 엘레멘트 내에 FIDO 개인 키를 프로세서에 의해 저장하는 단계를 더욱 포함함을 특징으로 하는 방법.
  16. 제 10항에 있어서, 브라우저 확장으로부터 챌린지를 프로세서에 의해 수신하는 단계를 더욱 포함함을 특징으로 하는 방법.
  17. 제 10항에 있어서, 제1 요청은 FIDO 웹사이트 등록에 대한 요청을 포함함을 특징으로 하는 방법.
  18. 제 10항에 있어서, 제1 요청은 응용프로그램 실행 요청을 포함함을 특징으로 하는 방법.
  19. 제 10항에 있어서, 암호문은 근거리 통신 데이터 교환 형식(NDEF) 판독을 통해 수득됨을 특징으로 하는 방법.
  20. 컴퓨터 실행가능 명령어를 저장하는 컴퓨터 판독가능 비일시적 저장 매체에 있어서,
    상기 명령어는 프로세서에 의해 실행될 때
    인증 요청을 수신하는 단계;
    통지를 전송하는 단계;
    통지에 응답하고 암호문과 입력 데이터를 포함하는 응답을 수신하는 단계;
    FIDO 공개키와 FIDO 개인키를 포함하는 신속한 온라인 인증(FIDO) 키 쌍을 생성하는 단계;
    FIDO 개인 키를 사용하여 챌린지를 암호화하는 단계; 및
    인증 요청을 완료하기 위하여 챌린지를 복호화하기 위해 FIDO 공개 키를 전송하는 단계;
    를 포함하는 절차를 수행함을 특징으로 하는 컴퓨터 판독가능 비일시적 저장 매체.
KR1020247000347A 2021-06-18 2022-06-15 분산 저장소를 사용한 비접촉식 카드 통신 및 키 쌍 암호화 인증을 위한 시스템 및 방법 KR20240021850A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/352,143 US20220405766A1 (en) 2021-06-18 2021-06-18 Systems and methods for contactless card communication and key pair cryptographic authentication using distributed storage
US17/352,143 2021-06-18
PCT/US2022/033593 WO2022266199A1 (en) 2021-06-18 2022-06-15 Systems and methods for contactless card communication and key pair cryptographic authentication using distributed storage

Publications (1)

Publication Number Publication Date
KR20240021850A true KR20240021850A (ko) 2024-02-19

Family

ID=82483283

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247000347A KR20240021850A (ko) 2021-06-18 2022-06-15 분산 저장소를 사용한 비접촉식 카드 통신 및 키 쌍 암호화 인증을 위한 시스템 및 방법

Country Status (7)

Country Link
US (1) US20220405766A1 (ko)
EP (1) EP4356566A1 (ko)
KR (1) KR20240021850A (ko)
CN (1) CN117795904A (ko)
AU (1) AU2022293469A1 (ko)
CA (1) CA3222332A1 (ko)
WO (1) WO2022266199A1 (ko)

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5262941B2 (ja) * 2009-04-10 2013-08-14 ソニー株式会社 認証装置、認証方法、及びプログラム
US8433914B1 (en) * 2010-02-25 2013-04-30 Emc Corporation Multi-channel transaction signing
US9015482B2 (en) * 2012-12-28 2015-04-21 Nok Nok Labs, Inc. System and method for efficiently enrolling, registering, and authenticating with multiple authentication devices
US20150180869A1 (en) * 2013-12-23 2015-06-25 Samsung Electronics Company, Ltd. Cloud-based scalable authentication for electronic devices
US10771459B2 (en) * 2017-09-04 2020-09-08 Electronics And Telecommunications Research Institute Terminal apparatus, server apparatus, blockchain and method for FIDO universal authentication using the same
US11245523B2 (en) * 2017-11-22 2022-02-08 András VILMOS Method for implementing client side credential control to authorize access to a protected device
EP4160988A1 (en) * 2018-03-16 2023-04-05 IOT and M2M Technologies, LLC Configuration systems and methods for secure operation of networked transducers
EP3582166A1 (en) * 2018-06-15 2019-12-18 Thales Dis France SA Method and system to create a trusted record or message and usage for a secure activation or strong customer authentication
CN110932858B (zh) * 2018-09-19 2023-05-02 阿里巴巴集团控股有限公司 认证方法和系统
JP2022508010A (ja) * 2018-10-02 2022-01-19 キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニー 非接触カードの暗号化認証のためのシステムおよび方法
WO2020092351A1 (en) * 2018-10-29 2020-05-07 Login Id Inc. Decentralized computing systems for strong user authentication and related methods
US11245700B2 (en) * 2018-12-06 2022-02-08 Fujitsu Limited Information processing apparatus, information processing method, and recording medium recording information processing program
US11381676B2 (en) * 2020-06-30 2022-07-05 Qualcomm Incorporated Quick launcher user interface
US10848309B2 (en) * 2020-07-02 2020-11-24 BehavioSec Inc Fido authentication with behavior report to maintain secure data connection

Also Published As

Publication number Publication date
US20220405766A1 (en) 2022-12-22
CA3222332A1 (en) 2022-12-22
AU2022293469A1 (en) 2024-01-04
CN117795904A (zh) 2024-03-29
WO2022266199A1 (en) 2022-12-22
EP4356566A1 (en) 2024-04-24

Similar Documents

Publication Publication Date Title
US11956230B2 (en) First factor contactless card authentication system and method
JP2023120203A (ja) サードパーティのデジタルウォレットプロビジョニングのための認証
JP2024505510A (ja) 近接場非接触カード通信および暗号認証のためのシステムおよび方法
US20230289801A1 (en) Systems and methods for authentication of access tokens
KR20240024112A (ko) 비접촉식 카드 통신 및 다중 디바이스 키 쌍 암호화 인증을 위한 시스템 및 방법
KR20230137892A (ko) 비접촉식 전달 시스템 및 방법
JP2024508286A (ja) 認証の持続性を確立すること
US20220405766A1 (en) Systems and methods for contactless card communication and key pair cryptographic authentication using distributed storage
CN114631109A (zh) 用于交叉耦合风险分析和一次性口令的系统及方法
KR20240023613A (ko) 비접촉식 카드의 확장 가능한 암호화 인증을 위한 시스템 및 방법