KR20240024112A - 비접촉식 카드 통신 및 다중 디바이스 키 쌍 암호화 인증을 위한 시스템 및 방법 - Google Patents

비접촉식 카드 통신 및 다중 디바이스 키 쌍 암호화 인증을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20240024112A
KR20240024112A KR1020237044743A KR20237044743A KR20240024112A KR 20240024112 A KR20240024112 A KR 20240024112A KR 1020237044743 A KR1020237044743 A KR 1020237044743A KR 20237044743 A KR20237044743 A KR 20237044743A KR 20240024112 A KR20240024112 A KR 20240024112A
Authority
KR
South Korea
Prior art keywords
fido
key
authenticator
processor
authentication
Prior art date
Application number
KR1020237044743A
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 KR20240024112A publication Critical patent/KR20240024112A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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/3247Cryptographic 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 involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/3231Biological data, e.g. fingerprint, voice or retina
    • 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/3234Cryptographic 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 involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Telephonic Communication Services (AREA)

Abstract

인증 시스템 및 방법은 인증기를 포함할 수 있다. 인증기는 프로세서 및 메모리를 포함할 수 있다. 프로세서는 하나 이상의 챌린지를 수신하고; 제1 신속한 온라인 인증(FIDO) 키를 검색하라는 요청을 포함하는 제1 명령어를 생성하고; 제1 명령어를 전송하고; 제1 FIDO 키를 수신하고; 제1 FIDO 키를 사용하여 하나 이상의 챌린지에 서명하고; 및 제2 FIDO 키를 사용하는 검증을 위해 하나 이상의 서명된 챌린지를 전송;하도록 형상화 될 수 있다.

Description

비접촉식 카드 통신 및 다중 디바이스 키 쌍 암호화 인증을 위한 시스템 및 방법
본 발명은 2021년 6월 18일자로 출원된 미국 특허출원 제17/352,181호에 대한 우선권을 주장하며 상기 특허출원의 내용은 그 전체로 본 발명에 참고문헌으로 포함된다.
본 발명은 비접촉식 카드 통신을 위한 시스템 및 방법에 관한 것이며 더욱 상세하게는 다수의 디바이스를 사용하는 비접촉식 카드의 키 쌍 암호화 인증을 위한 시스템 및 방법에 관한 것이다.
카드 기반 동작은 서버나 기타 디바이스와의 통신에 카드를 사용하는 경우를 수반한다. 이러한 통신을 가로채기 및 무단 액세스로부터 보호되어야 한다. 그러나 해커나 기타 사기 행위자가 데이터를 가로채기 위해 사용할 수 있는 정교한 방법이 많이 존재한다.
예를 들어 암호화 또는 기타 보호 없이 데이터를 전송하면 중간자 공격, 피싱 공격, 재생 공격 및 기타 공격에 취약하고 기타 취약점이 발생할 수 있어 보안 위험이 증가하고 계좌 또는 카드 오용의 위험이 증가한다. 이러한 위험은 다른 디바이스와 무선으로 통신하는 비접촉식 카드 사용을 통해 더욱 증가될 수 있으며 따라서 전송 중에 데이터가 잠재적인 가로채기에 노출된다.
암호화와 같이 보안 위험을 해결하기 위해 취한 조치는 시스템 자원을 소비하고 작업의 효율성을 저해 할 수 있다. 작업 수가 많은 경우 시스템 자원의 소모가 증가하고 작업 효율이 저하되어 작업 수행이 실패하거나 불만족스러운 성능을 초래할 수 있다. 또한 보안 인증 디바이스에 대한 액세스가 제한되거나 사용할 수 없는 상황이 있을 수 있으며 이로 인해 보안 암호화, 데이터 전송, 보안 등록 및 인증에 대한 액세스에 부정적인 영향을 미쳐 사기 트랜잭션 또는 계정 탈취를 개시하는 데 사용될 수 있는 계정 손상을 초래할 수 있다.
이러한 결함과 기타 결함이 존재한다. 따라서 다중 디바이스 키 쌍 암호화 인증을 효과적으로 활용하고 안전하고 신속하게 발신자를 식별하여 진위를 판별하는 동시에 안전하고 믿을 수 있는 방법으로 가로채기 및 무단 액세스로부터 통신을 보호함으로써 이러한 단점을 극복하는 인증 시스템 및 방법이 요구된다.
본 발명의 실시형태는 인증기를 제공한다. 인증기는 프로세서와 메모리를 포함할 수 있다. 프로세서는 하나 이상의 챌린지를 수신하도록 형상화 될 수 있다. 프로세서는 제1 신속한 온라인 인증(FIDO) 키를 검색하라는 요청을 포함하는 제1 명령어를 생성하도록 형상화 될 수 있다. 프로세서는 제1 명령어를 전송하도록 형상화 될 수 있다. 프로세서는 제1 FIDO 키를 수신하도록 형상화 될 수 있다. 프로세서는 제1 FIDO 키를 사용하여 하나 이상의 챌린지에 서명하도록 형상화 될 수 있다. 프로세서는 제2 FIDO 키를 사용하여 검증을 위해 하나 이상의 서명된 챌린지를 전송하도록 형상화 될 수 있다.
본 발명의 실시형태는 인증 방법을 제공한다. 방법은 하나 이상의 챌린지를 프로세서에서 수신하는 단계를 포함할 수 있다. 방법은 제1 신속한 온라인 인증(FIDO) 키를 검색하라는 요청을 포함하는 제1 명령어를 프로세서에 의해 생성하는 단계를 포함할 수 있다. 방법은 제1 명령어를 프로세서에 의해 전송하는 단계를 포함할 수 있다. 방법은 제1 FIDO 키를 수신하는 단계를 포함할 수 있다. 방법은 제1 FIDO 키를 사용하여 하나 이상의 챌린지에 프로세서에 의해 서명하는 단계를 포함할 수 있다. 방법은 제2 FIDO 키를 사용하여 검증을 위한 하나 이상의 서명된 요청을 프로세서에 의해 전송하는 단계를 포함할 수 있다.
본 발명의 실시형태는 프로세서 상에서 실행될 때 하나 이상의 챌린지를 수신하는 단계; 제1 신속한 온라인 인증(FIDO) 키를 검색하라는 요청을 포함하는 제1 명령어를 생성하는 단계; 제1 명령어를 전송하는 단계; 제1 FIDO 키를 수신하는 단계; 제1 FIDO 키를 사용하여 하나 이상의 챌린지에 서명하는 단계; 및 제2 FIDO 키를 사용하여 검증을 위해 하나 이상의 서명된 챌린지를 전송하는 단계;를 포함하는 절차를 수행하는 컴퓨터 실행가능 명령어를 포함하는 컴퓨터 판독가능 비일시적 매체를 제공한다.
본 발명의 다양한 실시형태는 추가적인 목적 및 이점과 함께 첨부한 도면과 함께 다음의 상세한 설명을 참조하여 가장 잘 이해될 수 있다.
도 1은 예시적인 실시형태에 따른 인증 시스템을 도시한 것이다.
도 2a는 예시적인 실시형태에 따른 제1 디바이스의 도면이다.
도 2b는 예시적인 실시형태에 따른 제1 디바이스의 접촉 패드의 도면이다.
도 3은 예시적인 실시형태에 따른 인증 방법을 도시한 것이다.
도 4는 예시적인 실시형태에 따른 인증 프로세스의 순서도를 도시한 것이다.
도 5는 예시적인 실시형태에 따른 인증 방법을 도시한 것이다.
도 6은 예시적인 실시형태에 따른 인증 방법을 도시한 것이다.
실시형태에 대한 다음의 설명은 본 발명의 다양한 측면의 특징 및 가르침을 구체적으로 설명하기 위해 숫자를 참조하는 비제한적인 대표적인 실시예를 제공한다. 설명된 실시형태는 실시형태의 설명으로부터 개별적으로 또는 다른 실시형태와 조합하여 구현될 수 있는 것으로 인식되어야 한다. 실시형태의 설명을 검토하는 당업자는 본 발명의 상이하게 설명된 측면을 학습하고 이해할 수 있어야 한다. 실시형태의 설명은 구체적으로 다루지는 않았지만 실시형태의 설명을 읽은 당업자의 지식 내에 있는 다른 구현이 발명의 적용과 일치하는 것으로 이해될 정도로 본 발명의 이해를 용이하게 해야 한다.
본 발명에 개시된 시스템 및 방법은 신속한 온라인 인증(FIDO) 인증, 신속한 온라인 인증 2(FIDO2) 인증, WebAuthn, 클라이언트 대 인증기 프로토콜(CTAP) FIDO, 기타 인증 구현을 제한없이 포함하는 인증 프레임워크를 보완하는 데 사용될 수 있다.
본 발명에 적용된 시스템 및 방법은 분산 저장소, 클라우드 기반 저장소 및 이러한 기능을 지원하는 다른 형태의 저장소로 구현될 수 있다. 본 발명에 개시된 시스템 및 방법을 통해 디바이스는 브라우저의 신속한 온라인 인증 2(FIDO2) 인증에서 로밍 인증기 역할을 할 수 있다.
하기 더욱 설명되는 바와 같이 사용자는 구현된 시스템 및 방법을 사용하여 패스워드 없는 환경에서 웹사이트에 인증할 수 있다. 웹사이트에 로그인하기 위해 웹사이트 등록 프로세스에서 개인 키가 디바이스에 저장될 수 있다. 사용자가 웹사이트에 다시 로그인하기를 원하는 경우, 디바이스는 탭, 스와이프, 웨이브 등을 포함하지만 이에 제한되지 않는 하나 이상의 제스처를 통해 모바일 디바이스와 같은 통신 영역에 진입할 수 있다. 그 후 개인 키는 인증기를 포함하지만 이에 제한되지 않는 모바일 디바이스에서의 실행을 위한 명령어를 포함하는 응용프로그램으로 제1 디바이스로부터 전송될 수 있다.
인증기는 개인 키를 사용하여 웹사이트에서 발급한 챌린지에 서명하도록 형상화 될 수 있다. 챌린지가 서명되면 신뢰 당사자 서버로 전송되고 저장된 공개 키를 사용하여 검증될 수 있다. 이러한 방법으로 이 인증은 사용자 로그인을 위한 기본 인증 역할을 할 수 있다. 또한 이러한 인증은 모바일 디바이스에 입력되는 생체 인식 또는 자격증명과 같은 2차 요인 인증과 함께 사용될 수도 있다.
본 발명에 개시된 시스템 및 방법의 이점은 가로채기 및 무단 액세스로부터 통신을 보호하며 발신자를 안전하고 신속하게 식별하고 진위 여부를 결정함으로써 향상된 인증을 포함한다. 본 발명에 개시된 시스템 및 방법은 조건부 다중요인 인증을 구현하는 동안 랩탑 브라우저, 태블릿 브라우저 또는 데스크탑 브라우저와 같은 브라우저의 FIDO2 인증에서 인증기로 디바이스 상에서 실행되는 iOS® 및 Android®를 제한 없이 사용함으로써 중간자 공격 및 피싱 공격 방지, 재생 공격 방지, 인증 디바이스의 향상된 접근성 및 보안, 보안 암호화 및 데이터 전송, 기타 보안 취약성의 감소를 허용한다.
또한 FIDO2 프레임워크 및 기타 인증 프레임워크에 대한 우려는 인증 프로세스를 수행하려는 사용자의 신원을 설정하는 것이다. 본 발명에 개시된 시스템 및 방법은 자격증명을 등록하고 프레임워크를 통해 인증을 시도하는 사용자가 자신이 주장하는 사용자이고 인증 프로세스를 수행하도록 승인되었는지 확인함으로써 이러한 취약점을 줄일 수 있다. 이를 통해 프레임워크 보안과 승인되지 않은 사용자를 배제하는 기능이 향상될 수 있다.
따라서 보안 위험이 더욱 완화될 수 있으며 다양한 디바이스 간의 호환성 및 트랜잭션 효율성이 더욱 향상될 수 있다. 일부 실시예에서 인증기에서 하나 이상의 FIDO 키를 생성하는 대신에 하나 이상의 FIDO 키를 검색하거나 생성하도록 제1 디바이스에 지시할 때 인증기의 연산 프로세스가 감소된다.
이러한 기능은 불필요한 보안 작업으로 사용자에게 부담을 주어 사용자 경험을 저하시키지 않고 구현될 수 있다. 또한 이러한 기능은 사용자 기대 및 트랜잭션 요구 사항을 준수하기 위해 트랜잭션의 시간 효율적인 수행을 허용하는 방식으로 수행될 수 있다.
따라서 본 발명에 개시된 시스템 및 방법은 카드 또는 카드와 연관된 계정의 오용과 같은 사기 활동의 위험을 줄이는 동시에 인증 디바이스 및 암호화된 데이터 전송에 대한 보안 액세스를 향상시킨다. 본 발명에 개시된 시스템 및 방법은 보안 인증이 결여된 구현을 개선한다. 이러한 이점은 시스템 효율성을 촉진하고 사용자 경험 저하를 방지하며 다수의 디바이스에 걸친 호환성을 향상시키면서 유리하게 달성될 수 있다.
도 1은 인증 시스템(100)을 도시한다. 시스템(100)은 브라우저 확장(101), 제1 디바이스(105), 인증기(110) 또는 제2 디바이스, 네트워크(115), 신뢰 당사자 또는 서버(120) 및 데이터베이스(125)를 포함할 수 있다. 도 1은 시스템(100)의 컴포넌트의 단일 인스턴스를 도시하였으나 시스템(100)은 임의의 수의 컴포넌트를 포함할 수 있다.
시스템(100)은 브라우저 확장(101)을 포함할 수 있다. 브라우저 확장(101)은 Chrome®, Internet Explorer®, Firefox® 또는 Safari®를 포함할 수 있다. 독립형 소프트웨어 응용프로그램을 포함하여 브라우저 확장 이외의 소프트웨어 응용프로그램이 활용될 수 있다는 것으로 이해된다. 제한 없이 웹사이트 등록과 같은 인증 요청은 브라우저 확장(101)과 연관된 랩탑이나 데스크탑을 포함하지만 이에 제한되지 않는 모든 디바이스에서 발생할 수 있다.
모바일 기반 브라우저 확장(101), 태블릿 기반 브라우저 확장(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)를 통해 인증기(110) 또는 제2 디바이스, 신뢰 당사자 또는 서버(120) 및/또는 데이터베이스(125)와 직접 통신하도록 형상화 될 수 있다.
제1 디바이스(105)는 시스템(100)의 임의의 수의 컴포넌트와 데이터 통신할 수 있다. 예를 들어 제1 디바이스(105)는 네트워크(115)를 통해 인증기(110) 또는 제2 디바이스 및/또는 신뢰 당사자 또는 서버(120)로 데이터를 전송할 수 있다. 제1 디바이스(105)는 네트워크(115)를 통해 데이터베이스(125)로 데이터를 전송할 수 있다. 일부 실시예에서 제1 디바이스(105)는 임의의 디바이스의 하나 이상의 통신 필드에 진입한 후 네트워크(115)를 통해 데이터를 전송하도록 형상화 될 수 있다. 제한 없이 각각의 진입은 탭, 스와이프, 웨이브 및/또는 이들의 조합과 연관될 수 있다.
시스템(100)은 인증기(110)를 포함할 수 있다. 인증기(110)는 다른 클라이언트 디바이스에 대한 로밍 인증기를 포함할 수 있다. 일부 실시예에서 인증기(110)는 랩탑, 데스크탑 또는 태블릿에 대한 로밍 인증기 역할을 하는 모바일 디바이스를 포함할 수 있다. 클라이언트 디바이스는 그러한 디바이스로 제한되지 않으며 다른 클라이언트 디바이스 또한 본 발명의 범위 내에 있는 것으로 이해된다.
예를 들어 인증기(110)는 제2 디바이스를 포함할 수 있다. 인증기(110)는 하나 이상의 프로세서(112) 및 메모리(114)를 포함할 수 있다. 메모리(114)는 응용프로그램(116)을 포함하지만 이에 제한되지 않는 하나 이상의 응용프로그램을 포함할 수 있다. 인증기(110)는 시스템(100)의 임의의 수의 컴포넌트와 데이터 통신할 수 있다. 예를 들어 인증기(110)는 네트워크(115)를 통해 서버(120)로 데이터를 전송할 수 있다. 인증기(110)는 네트워크(115)를 통해 데이터베이스(125)로 데이터를 전송할 수 있다.
제한 없이 인증기(110)는 네트워크 가능 컴퓨터일 수 있다. 본 발명에 언급된 바와 같이 네트워크 가능 컴퓨터는 컴퓨터 디바이스 또는 예를 들어 서버, 네트워크 기기, 개인용 컴퓨터, 워크스테이션, 전화, 휴대용 PC, 개인 정보 단말기, 비접촉식 카드, 씬 클라이언트, 팻 클라이언트, 인터넷 브라우저, 키오스크, 태블릿, 터미널 또는 기타 디바이스를 포함하는 통신 디바이스를 제한없이 포함하지만 이에 제한되지 않는다. 또한 인증기(110)는 모바일 디바이스일 수 있다. 예를 들어 모바일 디바이스에는 Apple®의 iPhone, iPod, iPad 또는 Apple의 iOS® 운영 체제를 실행하는 임의의 다른 모바일 디바이스, Microsoft의 Windows® Mobile 운영 체제를 실행하는 임의의 디바이스, Google의 Android® 운영 체제를 실행하는 임의의 디바이스 또는 기타 스마트폰, 태블릿 또는 웨어러블 모바일 디바이스를 포함할 수 있다.
인증기(110)는 처리 회로를 포함할 수 있으며 본 발명에 개시된 기능을 수행하는 데 필요한 프로세서, 메모리, 오류 및 패리티/CRC 검사기, 데이터 인코더, 충돌 방지 알고리즘, 컨트롤러, 명령 디코더, 보안 프리미티브 및 변조 방지 하드웨어를 포함하는 추가 컴포넌트를 포함할 수 있다. 인증기(110)는 디스플레이 및 입력 디바이스를 더욱 포함할 수 있다. 디스플레이는 액정 디스플레이, 발광 다이오드 디스플레이, 플라즈마 패널 및 음극선관 디스플레이를 포함하여 컴퓨터 모니터, 평면 패널 디스플레이 및 모바일 디바이스 화면과 같은 시각적 정보를 표시하기 위한 임의의 유형의 디바이스일 수 있다.
입력 디바이스는 터치 스크린, 키보드, 마우스, 커서 제어 디바이스, 터치 스크린, 마이크, 디지털 카메라, 비디오 레코더 또는 캠코더와 같이 사용자 디바이스에서 사용 가능하고 지원되는 사용자 디바이스에 정보를 입력하기 위한 모든 디바이스를 포함할 수 있다. 이러한 디바이스는 정보를 입력하고 본 발명에 설명된 소프트웨어 및 기타 디바이스와 상호 작용하는 데 사용될 수 있다.
시스템(100)은 네트워크(115)를 포함할 수 있다. 일부 실시예에서 네트워크(115)는 무선 네트워크, 유선 네트워크 또는 무선 네트워크와 유선 네트워크의 임의의 조합 중 하나 이상일 수 있으며 시스템 컴포넌트 중 어느 하나에 연결되도록 형상화 될 수 있다 예를 들어 제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)는 신뢰 당사자를 포함할 수 있다. 일부 실시예에서 서버(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)와 같은 시스템(100)의 임의의 컴포넌트에 또는 제1 디바이스(105) 및 서버(120)와 데이터 통신하는 임의의 저장 디바이스에 외부적으로 호스팅 될 수 있다.
일부 실시예에서 데이터베이스(125)는 시스템(100)의 임의의 수의 컴포넌트와 데이터 통신할 수 있다. 예를 들어 서버(120)는 애플릿(106)에 의해 전송되는 데이터베이스(125)로부터 요청된 데이터를 검색하도록 형상화 될 수 있다. 서버(120)는 네트워크(115)를 통해 데이터베이스(125)로부터 애플릿(106)으로 수신된 데이터를 전송하도록 형상화 될 수 있으며 수신된 데이터는 전송된 하나 이상의 요청에 응답한다. 다른 실시예에서 애플릿(106)은 네트워크(115)를 통해 데이터베이스(125)로부터 요청된 데이터에 대한 하나 이상의 요청을 전송하도록 형상화 될 수 있다.
일부 실시예에서 여기에 설명된 본 발명에 따른 예시적인 절차는 처리 장치 및/또는 컴퓨터 장치 예를 들어 컴퓨터 하드웨어 장치에 의해 수행될 수 있다. 이러한 처리/컴퓨터 장치는 예를 들어 하나 이상의 마이크로프로세서를 포함할 수 있고 컴퓨터 액세스 가능 매체 예를 들어 RAM, ROM, 하드 드라이브 또는 기타 저장 디바이스에 저장된 명령어를 사용할 수 있는 컴퓨터/프로세서의 예를 들어 전체 또는 일부이거나 이를 제한없이 포함할 수 있다. 예를 들어 컴퓨터 액세스 가능 매체는 제1 디바이스(105), 인증기(110), 서버(120) 및/또는 데이터베이스(125) 또는 기타 컴퓨터 하드웨어 장치의 메모리 일부일 수 있다.
일부 실시예에서 컴퓨터 접근 가능 매체 예를 들어 상기 설명한 바와 같이 하드 디스크, 플로피 디스크, 메모리 스틱, CD-ROM, RAM, ROM 등 또는 이들의 조합과 같은 저장 디바이스는 예를 들어 처리 장치와 통신하여 제공될 수 있다. 컴퓨터 접근 가능 매체는 실행 가능한 명령어를 포함할 수 있다. 추가적으로 또는 대안적으로 저장 장치는 컴퓨터 접근 가능 매체와 별도로 제공될 수 있으며 이는 본 발명에 설명된 바와 같은 특정 예시적인 절차, 프로세스 및 방법을 실행하도록 처리 장치를 형상화 하도록 처리 장치에 명령어를 제공할 수 있다.
서버(120)의 프로세서(122)는 인증 요청을 수신하도록 형상화 될 수 있다. 예를 들어 인증 요청은 브라우저 확장(101)으로부터 수신될 수 있다. 일부 실시예에서 인증 요청은 신속한 온라인 인증 2(FIDO2) 웹사이트 등록에 대한 요청을 포함할 수 있다. 프로세서(122)는 하나 이상의 챌린지를 생성하도록 형상화 될 수 있다. 예를 들어 프로세서(122)는 제1 챌린지를 생성하도록 형상화 될 수 있다.
일부 실시예에서 프로세서(122)는 인증기(110)에게 로그인을 챌린지 하도록 형상화 될 수 있다. 제1 챌린지는 적절한 FIDO 키 쌍을 선택하는 데 사용될 수 있는 사용자 식별자 또는 사이트 식별자와 같은 식별자를 포함할 수 있다. 제1 챌린지는 재생을 방지하기 위해 사용되고 서버(120)에 의해 주어질 수 있는 예측 불가능한 수를 더욱 포함할 수 있다. 예를 들어 인증의 각각의 인스턴스에 대해 새로운 예측 불가능한 수가 필요할 것이며 따라서 예측 불가능한 수는 매번 상이할 것이다. 이러한 방식으로 이는 오래된 예측 불가능한 수의 서명을 활용하는 것을 방지하고 대신 인증의 인스턴트 세션에 대한 수를 활용한다.
모바일 디바이스의 프로세서(112)와 같은 인증기(110)는 제1 디바이스(105)의 하나 이상의 진입을 프롬프트 하도록 형상화 될 수 있다. 예를 들어 하나 이상의 진입은 탭, 스와이프, 웨이브 등 및/또는 이들의 임의의 조합의 군에서 선택된 적어도 하나를 포함할 수 있다. 따라서 제1 디바이스(105)의 통신 인터페이스(107)는 모바일 디바이스의 통신 필드와 같은 인증기(110)의 통신 필드에 진입할 수 있다.
제1 디바이스(105)는 인증기(110)로부터 수신된 제1 명령어에 따라 특정 사용자 또는 사이트와 연관된 FIDO 키 쌍을 생성하거나 검색하도록 형상화 될 수 있다. 생성되거나 검색된 FIDO 키 쌍은 인증기(110)에 의해 판독될 수 있다. FIDO 키 쌍은 제1 디바이스(105)로부터 인증기(110)에 의해 판독될 수 있고 서명된 챌린지 데이터를 생성하는 제1 챌린지에 서명하기 위해 인증기(110)에 의해 사용될 수 있는 FIDO 개인 키를 포함할 수 있다.
FIDO 개인 키는 제1 디바이스(105)의 통신 인터페이스(107)의 통신 필드로의 진입을 통해 검색될 수 있다. 일부 실시예에서 FIDO 개인 키는 인증기(110)로 전송되기 전에 제1 디바이스(105)에 의해 암호화될 수 있으며 이러한 경우 모바일 디바이스의 프로세서(112)는 수신된 암호화된 FIDO 개인 키를 복호화 하도록 형상화 될 수 있다. 서버(120)는 모바일 디바이스의 프로세서(112)와 같은 인증기(110)로부터 서명된 챌린지 데이터를 수신할 수 있다. 서버(120)는 서명된 챌린지 데이터의 검증을 수행할 수 있다.
예를 들어 서버(120)는 사용자가 사이트에 등록할 때 저장된 FIDO 공개 키를 사용하여 서명된 챌린지 데이터를 검증할 수 있다. 검증은 서명 검증을 포함하는 인증 프로세스의 결과를 포함할 수 있다.
일부 실시예에서 제1 디바이스(105)로부터 인증기(110)로의 FIDO 개인 키 전송이 방지될 수 있다. 예를 들어 제1 디바이스(105)가 제1 챌린지 서명을 수행할 때 FIDO 개인 키의 무선(OTA) 전송이 방지된다. 따라서 제1 챌린지 및 사이트 또는 사용자 식별자 정보는 인증기로부터 제1 디바이스(105)로 전송되며 이에 따라 그 연산은 프록시 프로토콜을 통해 근거리 통신(NFC)에 의해 제1 디바이스(105)로 분산된다.
일부 실시예에서 FIDO 개인 키는 하나 이상의 암호화 알고리즘을 사용하여 인증 요청과 연관된 마스터 키 및 식별자를 기반으로 생성될 수 있다. 예를 들어 식별자는 사이트 식별자를 포함하고 마스터 키와 결합되어 다른 키 쌍을 생성할 수 있다. 제1 디바이스(105)는 키를 재생성해야 하는 것을 피하기 위해 메모리(104) 내에 유한한 수의 키를 저장하도록 형상화 될 수 있다. 다른 실시예에서 인증기(110)로부터의 제1 명령어는 제1 디바이스(105)에 의해 공개/개인 키 쌍의 일부인 개인 키와 같은 FIDO 개인 키를 재생성하라는 요청을 포함할 수 있다.
일부 실시예에서 마스터 키는 제1 디바이스(105)의 메모리(104) 내에 저장되고 마스터 키는 FIDO 개인 키를 생성하기 위해 제1 디바이스(105) 상의 사이트 식별자와 결합될 수 있다. 다른 실시예에서 마스터 키는 제1 디바이스(105)로부터 인증기(110)로 전송될 수 있으며 여기서 마스터 키와 사이트 식별자의 결합이 인증기(110)에 의해 수행되어 FIDO 개인 키를 생성한다.
일부 실시예에서 FIDO 개인 키를 제1 디바이스(105) 내에서 생성하거나 저장하는 대신에 FIDO 개인 키는 인증기(110)에 속하는 보안 엘레멘트 내에서 생성되거나 저장될 수 있다. 예를 들어 FIDO 개인 키는 인증기(110)에 의해 유지되는 보안 엘레멘트 내에 저장될 수 있다. 일부 실시예에서 보안 엘레멘트는 하나 이상의 키가 서버(120)에 의해 안전하게 저장되고 검색될 수 있는 변조 방지 보안 저장 영역을 포함할 수 있다.
명령어 생성 후에 인증기(110)는 제1 디바이스(105)에 제1 명령어를 전송하도록 형상화 될 수 있다. 인증기(110)는 제1 명령어에 기반하여 제1 디바이스(105)로부터 FIDO 개인 키를 수신하도록 형상화 될 수 있다. 제1 명령어는 인증기(110)에 의해 제1 디바이스(105)의 프로세서(102)로 전송될 수 있다.
예를 들어 제1 디바이스(105)의 프로세서(102)는 FIDO 개인 키를 생성하도록 형상화 될 수 있다. 제1 디바이스(105)의 프로세서(102)는 FIDO 개인 키를 전송하도록 형상화 될 수 있다. 예를 들어 제1 디바이스(105)의 프로세서(102)는 인증기(110에서 실행하기 위한 명령어를 포함하는 응용프로그램(116)과 같은 인증기(110)에 FIDO 개인 키를 전송하도록 형상화 될 수 있다. 상기 설명한 바와 같이 인증기(110)는 랩탑, 태블릿 또는 휴대폰과 같은 모바일 디바이스일 수 있으나 이에 제한되지 않는다.
일부 실시예에서 FIDO 개인 키는 하나 이상의 채널을 통해 송수신될 수 있다. 예를 들어 FIDO 개인키는 대역외 채널을 통해 송수신될 수 있다. 제1 디바이스(105)의 프로세서(102)는 인증기(110)의 통신 필드로의 통신 인터페이스(107)의 진입을 통해 인증기(110)에 FIDO 개인 키를 전송하도록 형상화 될 수 있다. 일부 실시예에서 진입은 하나 이상의 탭, 스와이프, 웨이브 및/또는 이들의 조합을 포함하지만 이에 제한되지 않는 하나 이상의 제스처와 연관될 수 있다.
인증기(110)는 검증을 위해 서버(120)의 프로세서(122)로 제1 FIDO 키를 전송하도록 형상화 될 수 있으며 이에 따라 인증기(110)는 제1 디바이스(105)와 서버(120)의 프로세서(122) 사이의 중개 디바이스 역할을 하도록 형상화 될 수 있다.
프로세서(122)는 상기 설명된 바와 같이 공개/개인 키 쌍의 일부일 수 있는 FIDO 공개 키와 같은 제2 FIDO 키를 사용하여 인증기(110)로부터 전송된 서명된 챌린지 데이터를 검증하도록 형상화 될 수 있다. 예를 들어 인증기(110)에서의 실행을 위한 명령어를 포함하는 응용프로그램(116)은 FIDO 개인 키를 사용하여 웹사이트에 의해 발행된 제1 챌린지에 서명하도록 형상화 될 수 있다. 인증기(110)에 의해 챌린지가 서명되면 이는 서버(120)의 메모리(124) 내에 저장된 FIDO 공개 키를 사용하는 검증을 위해 프로세서(122)로 전송될 수 있다.
프로세서(122)는 제2 명령어를 생성하도록 형상화 될 수 있다. 예를 들어 제2 명령어는 입력 데이터를 전송하라는 제2 요청을 포함할 수 있다. 명령어 생성 후에 프로세서(122)는 제2 명령어를 전송하도록 형상화 될 수 있다. 예를 들어 프로세서(122)는 인증기(110)에 제2 명령어를 전송하도록 형상화 될 수 있다. 일부 실시예에서 제2 명령어는 하나 이상의 푸시 알림을 통해 프로세서(122)에 의해 응용프로그램(116)으로 전달될 수 있다.
일부 실시예에서 제2 명령어는 하나 이상의 조건을 프로세서(122) 및/또는 데이터베이스(125)에 의해 평가한 후 프로세서(122)에 의해 전송될 수 있다. 예를 들어 하나 이상의 조건 중 적어도 하나는 미리 결정된 시간 기간에 걸친 인증 요청의 임계 수를 결정하는 단계를 포함할 수 있다. 예를 들어 프로세서(122) 및/또는 데이터베이스(125)는 비정상적인 횟수의 트랜잭션 또는 요청이 임의의 초, 분, 시간, 일, 주, 월, 년 등 내에 수행되었는지 여부를 결정하도록 형상화 될 수 있다.
다른 실시예에서 하나 이상 조건의 적어도 하나는 계정 및/또는 사용자와 연관된 오용 또는 사기가 발생했는지 여부를 결정하는 단계를 포함할 수 있다. 예를 들어 프로세서(122) 및/또는 데이터베이스(125)는 사용자 트랜잭션 내역이 과도한 구매 금액 또는 비정상적인 위치를 나타내는지 여부를 결정하도록 형상화 될 수 있다. 이러한 방식으로 조건부 다중 요인 인증이 구현되어 보안을 향상시킬 수 있으며 이는 입력 데이터를 수신하기 위한 제2 명령어의 전송을 트리거 할 수 있다.
프로세서(122)는 제2 명령어에 기반하여 입력 데이터를 수신하도록 형상화 될 수 있다. 프로세서(122)는 제2 디바이스에서의 실행을 위한 명령어를 포함하는 응용프로그램(116)과 같이 입력 데이터를 인증기(110)로부터 수신하도록 형상화 될 수 있다. 입력 데이터는 생체 정보 및 자격증명 데이터의 군에서 선택된 적어도 하나를 포함할 수 있다. 예를 들어 입력 데이터는 생체 인식 데이터, 자격증명 데이터 및/또는 이들의 임의의 조합을 포함할 수 있다.
제한 없이 생체 데이터는 지문, 안면 스캔, 망막 스캔, 음성 인식 및/또는 이들의 임의의 조합의 군에서 선택된 적어도 하나를 포함할 수 있다. 일부 실시예에서 입력 데이터는 자격증명 데이터를 추가적으로 및/또는 대안적으로 포함할 수 있다. 제한 없이 로그인 데이터는 사용자 이름, 패스워드, 계좌번호, 보안코드, 일회성 패스코드, 보안질문에 대한 답변 및/또는 이들의 조합 중 적어도 하나를 포함할 수 있다.
프로세서(122)는 입력 데이터를 인증함으로써 인증 요청을 완료하도록 형상화 될 수 있다. 예를 들어 프로세서(122)는 수신된 입력 데이터를 참조 입력 데이터와 비교함으로써 하나 이상의 결과를 생성하도록 형상화 될 수 있다. 일부 실시예에서 참조 입력 데이터는 서버(120)의 메모리(124) 내에 저장될 수 있다. 다른 실시예에서 참조 입력 데이터는 프로세서(122)에 의해 요청될 수 있다.
예를 들어 프로세서(122)는 하나 이상의 요청을 통해 참조 입력 데이터를 수신하거나 대안적으로 참조 입력 데이터와의 비교를 위해 입력 데이터를 데이터베이스(125)에 전송하도록 형상화 될 수 있다. 예를 들어 서버(120)의 프로세서(122)는 수신된 입력 데이터와 참조 입력 데이터 간의 비교에 기반하여 성공적인 매치가 야기될 때 성공적인 인증을 나타내는 결과를 생성하도록 형상화 될 수 있다.
다른 실시예에서 서버(120)의 프로세서(122)는 수신된 입력 데이터와 참조 입력 데이터 간의 비교에 기반하여 실패한 매치가 야기될 때 실패한 인증 결과를 생성하도록 형상화 될 수 있다. 인증 실패가 결정되면 서버(120)의 프로세서(122)는 인증 요청을 완료하기 위해 입력 데이터를 성공적으로 인증하거나 인증 요청의 완료를 중단하기 전에 미리 결정된 시도 횟수까지 입력 데이터를 재인증하도록 형상화 될 수 있다. 이러한 방식으로 시스템(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 형식을 준수하는 물리적 특성을 지닐 수 있으며 제1 디바이스(200)는 그렇지 않으면 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은 도 1의 시스템(100), 도 2a 및 도 2b의 제1 디바이스(200)와 동일하거나 유사한 컴포넌트를 참조할 수 있다.
블록 305에서 방법(300)은 하나 이상의 챌린지를 프로세서에서 수신하는 단계를 포함할 수 있다. 예를 들어 신뢰 당사자 또는 서버는 제1 챌린지를 생성하도록 형상화 될 수 있다. 일부 실시예에서 신뢰 당사자는 모바일 디바이스의 프로세서와 같은 인증기에게 로그인을 챌린지 하도록 형상화 될 수 있다. 제1 챌린지는 적절한 FIDO 키 쌍을 선택하는 데 사용될 수 있는 사용자 식별자 또는 사이트 식별자와 같은 식별자를 포함할 수 있다.
제1 챌린지는 재생을 방지하기 위해 사용되고 신뢰 당사자에 의해 주어질 수 있는 예측 불가능한 수를 더욱 포함할 수 있다. 예를 들어 인증의 각각의 인스턴스에 대해 새로운 예측 불가능한 수가 필요할 것이며 따라서 예측 불가능한 수는 매번 상이할 것이다. 이러한 방식으로 이는 오래된 예측 불가능한 수의 서명을 활용하는 것을 방지하고 대신 인증의 인스턴트 세션에 대한 수를 활용한다.
일부 실시예에서 제1 요청은 인증 요청을 포함할 수 있다. 인증 요청은 신속한 온라인 인증 2(FIDO2) 웹사이트 등록에 대한 요청을 포함할 수 있다. 프로세서는 하나 이상의 명령어를 생성하도록 형상화 될 수 있다. 예를 들어 프로세서는 제1 명령어를 생성하도록 형상화 될 수 있다. 각 명령어는 하나 이상의 요청을 포함할 수 있다. 제1 명령어는 제1 디바이스의 프로세서로부터 제1 키를 검색하라는 제1 요청을 포함할 수 있다. 키는 FIDO 키를 포함할 수 있다. 제1 키는 제1 디바이스 통신 인터페이스의 통신 필드로의 진입을 통해 검색될 수 있다.
일부 실시예에서 제1 명령어는 제1 디바이스의 프로세서에 의해 제1 키를 생성하라는 요청을 포함할 수 있다. 다른 실시예에서 제1 명령어는 제1 디바이스의 프로세서에 의해 공개/개인 키 쌍의 일부인 개인 키와 같은 제1 FIDO 키를 재생성하라는 요청을 포함할 수 있다.
블록 310에서 방법(300)은 제1 디바이스로부터 제1 신속한 온라인 인증(FIDO) 키를 검색하라는 요청을 포함하는 제1 명령어를 프로세서에 의해 생성하는 단계를 포함할 수 있다. 예를 들어 신뢰 당사자로부터 수신된 제1 요청에 기반하여 모바일 디바이스의 프로세서와 같은 인증기는 하나 이상의 명령어를 생성함으로써 제1 디바이스의 하나 이상의 진입을 프롬프트 하도록 형상화 될 수 있다.
예를 들어 하나 이상의 진입은 탭, 스와이프, 웨이브 등 및/또는 이들의 조합의 군에서 선택된 적어도 하나를 포함할 수 있다. 제1 명령어는 제1 디바이스에 의해 제1 FIDO 키를 생성하라는 요청을 포함할 수 있다. 일부 실시예에서 제1 FIDO 키는 하나 이상의 암호화 알고리즘을 사용하여 제1 요청과 연관된 마스터 키 및 식별자에 기반하여 생성될 수 있다. 예를 들어 식별자는 사이트 식별자를 포함할 수 있으며 마스터 키와 결합되어 키 쌍을 생성할 수 있다.
일부 실시예에서 마스터 키는 제1 디바이스에 저장되고 마스터 키는 제1 디바이스의 사이트 식별자와 결합되어 개인 키를 생성할 수 있다. 다른 실시예에서 마스터 키는 제2 디바이스에서의 실행을 위한 명령어를 포함하는 응용프로그램으로 제1 디바이스로부터 전송될 수 있으며 여기서 마스터 키와 사이트 식별자의 결합은 제2 디바이스의 응용프로그램에 의해 수행되어 개인 키를 생성한다.
일부 실시예에서 제1 디바이스에서 FIDO 개인 키를 생성하거나 저장하는 대신에 제1 FIDO 키는 제2 디바이스에 속하는 보안 엘레멘트에서 생성되거나 저장될 수 있다. 예를 들어 FIDO 개인 키는 제2 디바이스에 의해 유지되는 보안 엘레멘트에 저장될 수 있다. 일부 실시예에서 보안 엘레멘트는 하나 이상의 키가 서버에 의해 안전하게 저장되고 검색될 수 있는 변조 방지 보안 저장 영역을 포함할 수 있다.
블록 315에서 방법(300)은 제1 명령어를 프로세서에 의해 전송하는 단계를 포함할 수 있다. 예를 들어 프로세서는 제1 디바이스에 제1 명령어를 전송하도록 형상화 될 수 있다. 일부 실시예에서 제1 명령어는 인증기에 의해 제1 디바이스의 프로세서로 전송될 수 있다. 명령어 생성 후, 인증기는 제1 디바이스에 제1 명령어를 전송하도록 형상화 될 수 있다.
블록 320에서 방법(300)은 제1 FIDO 키를 수신하는 단계를 포함할 수 있다. 예를 들어 제1 디바이스의 통신 인터페이스는 제1 FIDO 키를 전송하기 위해 모바일 디바이스의 통신 필드와 같은 인증기의 통신 필드에 진입할 수 있다. 제1 디바이스는 인증기로부터 수신된 제1 명령어에 따라 특정 사용자 또는 사이트와 연관된 FIDO 키 쌍을 생성하거나 검색하도록 형상화 될 수 있다. 생성되거나 검색된 FIDO 키 쌍은 인증기에 의해 판독될 수 있다.
FIDO 키 쌍은 제1 디바이스로부터 인증기에 의해 판독될 수 있고 서명된 챌린지 데이터를 야기하는 제1 챌린지에 서명하기 위해 인증기에 의해 사용될 수 있는 FIDO 개인 키를 포함할 수 있다. FIDO 개인 키는 제1 디바이스 통신 인터페이스의 통신 필드로의 진입을 통해 검색될 수 있다. 일부 실시예에서 FIDO 개인 키는 인증기에게 전송되기 전에 제1 디바이스에 의해 암호화될 수 있으며 이 경우 모바일 디바이스의 프로세서는 수신된 암호화된 FIDO 개인 키를 복호화하도록 형상화 될 수 있다.
일부 실시예에서 FIDO 개인 키는 하나 이상의 암호화 알고리즘을 사용하여 인증 요청과 연관된 마스터 키 및 식별자를 기반으로 생성될 수 있다. 예를 들어 식별자는 사이트 식별자를 포함할 수 있으며 마스터 키와 결합되어 다른 키 쌍을 생성할 수 있다. 제1 디바이스는 키를 재생성해야 하는 것을 피하기 위해 메모리 내에 유한한 수의 키를 저장하도록 형상화 될 수 있다. 다른 실시예에서 인증기로부터의 제1 명령어는 제1 디바이스에 의해 공개/개인 키 쌍의 일부인 개인 키와 같은 FIDO 개인 키를 재생성하라는 요청을 포함할 수 있다.
일부 실시예에서 마스터 키는 제1 디바이스의 메모리 내에 저장되고 마스터 키는 FIDO 개인 키를 생성하기 위해 제1 디바이스의 사이트 식별자와 결합될 수 있다. 다른 실시예에서 마스터 키는 제1 디바이스로부터 인증기로 전송될 수 있으며 여기서 마스터 키와 사이트 식별자의 결합은 FIDO 개인 키를 생성하기 위해 인증기에 의해 수행된다.
일부 실시예에서 제1 디바이스에서 인증기로의 FIDO 개인 키 전송이 방지될 수 있다. 예를 들어 제1 디바이스가 제1 챌린지 서명을 수행할 때 FIDO 개인 키의 무선(OTA) 전송이 방지된다. 따라서 제1 챌린지 및 사이트 또는 사용자 식별자 정보는 인증기로부터 제1 디바이스로 전송되며 이에 따라 그 연산은 프록시 프로토콜을 통해 근거리 통신(NFC)에 의해 제1 디바이스로 분산된다.
일부 실시예에서 FIDO 개인 키를 제1 디바이스에서 생성하거나 저장하는 대신에 FIDO 개인 키는 인증기에 속하는 보안 엘레멘트에 생성되거나 저장될 수 있다. 예를 들어 FIDO 개인 키는 제2 디바이스에 의해 유지되는 보안 엘레멘트 내에 저장될 수 있다. 일부 실시예에서 보안 엘레멘트는 하나 이상의 키가 신뢰 당사자에 의해 안전하게 저장되고 검색될 수 있는 변조 방지 보안 저장 영역을 포함할 수 있다.
일부 실시예에서 제1 디바이스의 프로세서는 FIDO 개인 키를 생성하도록 형상화 될 수 있다. 제1 디바이스의 프로세서는 FIDO 개인 키를 전송하도록 형상화 될 수 있다. 예를 들어 제1 디바이스의 프로세서는 제2 디바이스에의 실행을 위한 명령어를 포함하는 응용프로그램과 같은 인증기에 FIDO 개인 키를 전송하도록 형상화 될 수 있다. 상기 설명한 바와 같이 인증기는 제한 없이 랩탑, 태블릿, 휴대폰과 같은 모바일 디바이스일 수 있다.
일부 실시예에서 FIDO 개인 키는 하나 이상의 채널을 통해 송수신될 수 있다. 예를 들어 FIDO 개인키는 대역 외 채널을 통해 송수신될 수 있다. 제1 디바이스의 프로세서는 인증기의 통신 필드로의 제1 디바이스 통신 인터페이스의 진입을 통해 인증기에 FIDO 개인 키를 전송하도록 형상화 될 수 있다. 일부 실시예에서 진입은 하나 이상의 탭, 스와이프, 웨이브 및/또는 이들의 임의의 조합을 포함하지만 이에 제한되지 않는 하나 이상의 제스처와 연관될 수 있다.
예를 들어 제1 디바이스의 프로세서는 제1 FIDO 키를 생성하도록 형상화 될 수 있다. 제1 디바이스의 프로세서는 제1 FIDO 키를 전송하도록 형상화 될 수 있다. 예를 들어 제1 디바이스의 프로세서는 제2 디바이스에서의 실행을 위한 명령어를 포함하는 응용프로그램에 제1 FIDO 키를 전송하도록 형상화 될 수 있다. 상기 설명한 바와 같이 제2 디바이스는 제한 없이 랩탑, 태블릿, 휴대폰과 같은 모바일 디바이스일 수 있다.
일부 실시예에서 제1 FIDO 키는 하나 이상의 채널을 통해 송수신될 수 있다. 예를 들어 제1 FIDO 키는 대역 외 채널을 통해 송수신될 수 있다. 제1 디바이스의 프로세서는 제2 디바이스의 통신 필드로의 통신 인터페이스의 진입을 통해 제2 디바이스의 응용프로그램에 제1 FIDO 키를 전송하도록 형상화 될 수 있다.
일부 실시예에서 진입은 하나 이상의 탭, 스와이프, 웨이브 및/또는 이들의 임의의 조합을 포함하지만 이에 제한되지 않는 하나 이상의 제스처와 연관될 수 있다. 제2 디바이스의 응용프로그램은 검증을 위해 서버의 프로세서로 제1 FIDO 키를 전송하도록 형상화 될 수 있으며 이에 따라 제2 디바이스는 제1 디바이스와 프로세서 사이의 중개 디바이스 역할을 하도록 형상화 될 수 있다.
블록 325에서 방법(300)은 제1 FIDO 키를 사용하여 하나 이상의 챌린지에 프로세서에 의해 서명하는 단계를 포함할 수 있다.
블록 330에서 방법(300)은 제2 FIDO 키를 사용하는 검증을 위해 하나 이상의 서명된 요청을 프로세서에 의해 전송하는 단계를 포함할 수 있다. 예를 들어 프로세서는 하나 이상의 서명된 챌린지를 신뢰 당사자에게 전송하도록 형상화 될 수 있다. 신뢰 당사자는 모바일 디바이스의 프로세서와 같은 인증기로부터 서명된 챌린지 데이터를 수신할 수 있다. 신뢰 당사자는 서명된 챌린지 데이터의 검증을 수행할 수 있다.
예를 들어 신뢰 당사자는 사용자가 사이트에 등록할 때 저장된 FIDO 공개 키를 사용하여 서명된 챌린지 데이터를 검증할 수 있다. 검증은 서명 검증을 포함하는 인증 프로세스의 결과를 포함할 수 있다. 인증기는 검증을 위해 제1 FIDO 키를 신뢰 당사자의 프로세서에 전송하도록 형상화 될 수 있으며 이에 따라 인증기는 제1 디바이스와 신뢰 당사자의 프로세서 사이에서 중개 디바이스 역할을 하도록 형상화 될 수 있다.
신뢰 당사자는 웹사이트 FIDO 서비스를 통해 FIDO 개인 키를 검증하도록 형상화 될 수 있다. 신뢰 당사자는 상기 설명된 공개/개인 키 쌍의 일부일 수 있는 FIDO 공개 키와 같은 제2 FIDO 키를 사용하여 인증기로부터 전송된 서명된 요청 데이터를 검증하도록 형상화 될 수 있다.
예를 들어 제2 디바이스에서의 실행을 위한 명령어를 포함하는 응용프로그램은 FIDO 개인 키를 사용하여 웹사이트에서 발급된 제1 요청에 서명하도록 형상화 될 수 있다. 인증기가 챌린지에 서명하면 이는 서버의 메모리 내에 저장된 FIDO 공개 키를 사용한 검증을 위해 프로세서로 전송될 수 있다.
신뢰 당사자는 제2 명령어를 생성하도록 형상화 될 수 있다. 예를 들어 제2 명령어는 입력 데이터를 전송하라는 제2 요청을 포함할 수 있다. 명령어 생성 후에 신뢰 당사자는 제2 명령어를 전송하도록 형상화 될 수 있다. 예를 들어 신뢰 당사자는 인증기에 제2 명령어를 전송하도록 형상화 될 수 있다.
일부 실시예에서 제2 명령어는 하나 이상의 푸시 알림을 통해 응용프로그램으로 신뢰 당사자에 의해 전달될 수 있다. 일부 실시예에서 제2 명령어는 하나 이상 조건의 신뢰 당사자 및/또는 데이터베이스에 의한 평가 후에 신뢰 당사자에 의해 전송될 수 있다. 예를 들어 하나 이상 조건의 적어도 하나는 미리 결정된 시간 기간에 걸친 인증 요청의 임계 수를 결정하는 단계를 포함할 수 있다.
예를 들어 신뢰 당사자 및/또는 데이터베이스는 초, 분, 시간, 일, 주, 월, 년 등의 기간 내에 비정상적인 수의 트랜잭션 또는 요청이 수행되었는지 여부를 결정하도록 형상화 될 수 있다.
다른 실시예에서 하나 이상 조건의 적어도 하나는 계정 및/또는 사용자와 연관된 오용 또는 사기가 발생했는지 여부를 결정하는 단계를 포함할 수 있다. 예를 들어 신뢰 당사자 및/또는 데이터베이스는 사용자 트랜잭션 내역이 과도한 구매 금액 또는 비정상적인 위치를 나타내는지 여부를 결정하도록 형상화 될 수 있다. 이러한 방식으로 조건부 다중 요인 인증이 구현되어 보안을 향상시킬 수 있으며 이는 입력 데이터를 수신하기 위한 제2 명령어의 전송을 트리거 할 수 있다.
신뢰 당사자는 제2 명령에 기반하여 입력 데이터를 수신하도록 형상화 될 수 있다. 신뢰 당사자는 제2 디바이스에서의 실행을 위한 명령어를 포함하는 응용프로그램과 같이 인증기로부터 입력 데이터를 수신하도록 형상화 될 수 있다. 입력 데이터는 생체 정보 및 자격증명 데이터의 군에서 선택된 적어도 하나를 포함할 수 있다.
예를 들어 입력 데이터는 생체 인식 데이터, 자격증명 데이터 및/또는 이들의 임의의 조합을 포함할 수 있다. 제한 없이 생체 데이터는 지문, 안면 스캔, 망막 스캔, 음성 인식 및/또는 이들의 임의의 조합의 군에서 선택된 적어도 하나를 포함할 수 있다. 일부 실시예에서 입력 데이터는 자격증명 데이터를 추가적으로 및/또는 대안적으로 포함할 수 있다. 제한 없이 로그인 데이터는 사용자 이름, 패스워드, 계좌번호, 보안코드, 일회성 패스코드, 보안질문에 대한 답변 및/또는 이들의 임의의 조합의 군에서 선택된 적어도 하나를 포함할 수 있다.
신뢰 당사자는 입력 데이터를 인증함으로써 인증 요청을 완료하도록 형상화 될 수 있다. 예를 들어 신뢰 당사자는 수신된 입력 데이터를 참조 입력 데이터와 비교함으로써 하나 이상의 결과를 생성하도록 형상화 될 수 있다. 일부 실시예에서 참조 입력 데이터는 신뢰 당사자의 메모리 내에 저장될 수 있다. 다른 실시예에서 참조 입력 데이터는 신뢰 당사자에 의해 요청될 수 있다. 예를 들어 신뢰 당사자는 하나 이상의 요청을 통해 참조 입력 데이터를 수신하거나 대안적으로 참조 입력 데이터와 비교하기 위해 입력 데이터를 데이터베이스에 전송하도록 형상화 될 수 있다.
예를 들어 신뢰 당사자의 프로세서는 수신된 입력 데이터와 참조 입력 데이터 사이의 비교에 기반하여 성공적인 매치가 야기될 때 성공적인 인증을 나타내는 결과를 생성하도록 형상화 될 수 있다. 다른 실시예에서 신뢰 당사자의 프로세서는 수신된 입력 데이터와 참조 입력 데이터 간의 비교에 기반하여 실패한 매치가 야기될 때 실패한 인증 결과를 생성하도록 형상화 될 수 있다.
인증 실패가 결정되면 신뢰 당사자의 프로세서는 인증 요청을 완료하기 위해 입력 데이터를 성공적으로 인증하거나 인증 요청의 완료를 중단하기 전에 미리 결정된 시도 횟수까지 입력 데이터를 재인증 하도록 형상화 될 수 있다. 이러한 방식으로 인증 시스템은 상기 언급된 기능을 지원하는 분산 저장소, 클라우드 기반 저장소 및 다른 형태의 저장소로 구현될 수 있다.
도 4는 예시적인 실시형태에 따른 인증 프로세스의 순서도(400)를 도시한다. 도 4는 도 1의 시스템(100), 도 2a 및 도 2b의 제1 디바이스(200) 및 도 3의 방법(300)과 동일하거나 유사한 컴포넌트를 참조할 수 있다.
단계 405에서 프로세서는 인증 요청을 수신하도록 형상화 될 수 있다. 예를 들어 프로세서는 신뢰 당사자 또는 서버의 일부일 수 있다. 일부 실시예에서 인증 요청은 신속한 온라인 인증 2(FIDO22) 웹사이트 등록에 대한 요청을 포함할 수 있다. 예를 들어 요청은 브라우저 확장으로부터 수신될 수 있다.
단계 410에서 프로세서는 인증 요청에 응답하여 하나 이상의 챌린지를 생성하도록 형상화 될 수 있다. 예를 들어 프로세서는 제1 챌린지를 생성하도록 형상화 될 수 있다. 일부 실시예에서 신뢰 당사자는 모바일 디바이스의 프로세서와 같은 인증기에게 로그인을 챌린지하도록 형상화 될 수 있다. 제1 챌린지는 적절한 FIDO 키 쌍을 선택하는 데 사용될 수 있는 사용자 식별자 또는 사이트 식별자와 같은 식별자를 포함할 수 있다.
제1 챌린지는 재생을 방지하기 위해 사용되고 신뢰 당사자에 의해 주어질 수 있는 예측 불가능한 수를 더욱 포함할 수 있다. 예를 들어 인증의 각각의 인스턴스에 대해 새로운 예측 불가능한 수가 필요할 것이며 따라서 예측 불가능한 수는 매번 상이할 것이다. 이러한 방식으로 이는 오래된 예측 불가능한 수의 서명을 활용하는 것을 방지하고 대신 인증의 인스턴트 세션에 대한 수를 활용한다.
단계 415에서 프로세서는 제1 챌린지를 전송하도록 형상화 될 수 있다. 예를 들어 프로세서는 모바일 디바이스를 포함하지만 이에 제한되지 않는 디바이스 상에서 실행하기 위한 명령어를 포함하는 응용프로그램과 같은 인증기에게 제1 명령어를 전송하도록 형상화 될 수 있다.
단계 420에서 제1 명령어가 제1 디바이스로 전송될 수 있다. 예를 들어 제1 명령어는 인증기에 의해 생성되거나 및/또는 카드 프로세서로 전송될 수 있다. 프로세서는 하나 이상의 명령어를 생성하도록 형상화 될 수 있다. 예를 들어 프로세서는 제1 명령어를 생성하도록 형상화 될 수 있다. 각 명령어는 하나 이상의 요청을 포함할 수 있다. 제1 명령어는 제1 디바이스의 프로세서로부터 제1 키를 검색하라는 제1 요청을 포함할 수 있다. 키는 FIDO 키를 포함할 수 있다.
제1 키는 인증기의 통신 필드와 같은 통신 필드로의 제1 디바이스 통신 인터페이스의 진입을 통해 검색될 수 있다. 일부 실시예에서 제1 명령어는 제1 디바이스의 프로세서에 의해 제1 키를 생성하라는 요청을 포함할 수 있다. 다른 실시예에서 제1 명령어는 제1 디바이스의 프로세서에 의한 공개/개인 키 쌍의 일부인 개인 키와 같은 제1 FIDO 키를 재생성하라는 요청을 포함할 수 있다.
예를 들어 신뢰 당사자로부터 수신된 제1 요청에 기반하여 모바일 디바이스의 프로세서와 같은 인증기는 하나 이상의 명령어를 생성함으로써 제1 디바이스의 하나 이상의 진입을 프롬프트 하도록 형상화 될 수 있다. 예를 들어 하나 이상의 진입은 탭, 스와이프, 웨이브 등 및/또는 이들의 조합의 군에서 선택된 적어도 하나를 포함할 수 있다. 제1 명령어는 제1 디바이스에 의해 제1 FIDO 키를 생성하라는 요청을 포함할 수 있다.
일부 실시예에서 제1 FIDO 키는 하나 이상의 암호화 알고리즘을 사용하여 제1 요청과 연관된 마스터 키 및 식별자에 기반하여 생성될 수 있다. 예를 들어 식별자는 사이트 식별자를 포함할 수 있으며 마스터 키와 결합되어 키 쌍을 생성할 수 있다. 일부 실시예에서 마스터 키는 제1 디바이스에 저장되며 마스터 키는 개인 키를 생성하기 위해 제1 디바이스 상의 사이트 식별자와 결합될 수 있다.
단계 425에서 제1 디바이스의 프로세서는 제1 FIDO 키를 생성하고 전송하도록 형상화 될 수 있다. 예를 들어 제1 디바이스의 통신 인터페이스는 제1 FIDO 키를 전달하기 위해 모바일 디바이스의 통신 필드와 같은 인증기의 통신 필드에 진입할 수 있다. 제1 디바이스는 인증기로부터 수신된 제1 명령어에 따라 특정 사용자 또는 사이트와 연관된 FIDO 키 쌍을 생성하거나 검색하도록 형상화 될 수 있다. 생성되거나 검색된 FIDO 키 쌍은 인증기에 의해 판독될 수 있다.
FIDO 키 쌍은 제1 디바이스로부터 인증기에 의해 판독될 수 있으며 서명된 챌린지 데이터를 야기하는 제1 챌린지에 서명하기 위해 인증기에 의해 사용될 수 있는 FIDO 개인 키를 포함할 수 있다. FIDO 개인 키는 통신 필드로의 제1 디바이스 통신 인터페이스의 진입을 통해 검색될 수 있다. 일부 실시예에서 FIDO 개인 키는 인증기에게 전송되기 전에 제1 디바이스에 의해 암호화될 수 있으며 이러한 경우 모바일 디바이스의 프로세서는 수신된 암호화된 FIDO 개인 키를 복호화 하도록 형상화 될 수 있다.
일부 실시예에서 FIDO 개인 키는 하나 이상의 암호화 알고리즘을 사용하여 인증 요청과 연관된 마스터 키 및 식별자를 기반으로 생성될 수 있다. 예를 들어 식별자는 사이트 식별자를 포함하고 마스터 키와 결합되어 다른 키 쌍을 생성할 수 있다. 제1 디바이스는 키를 재생성해야 하는 것을 방지하기 위해 유한한 수의 키를 메모리에 저장하도록 형상화 될 수 있다. 다른 실시예에서 인증기로부터의 제1 명령어는 제1 디바이스에 의해 공개/개인 키 쌍의 일부인 개인 키와 같은 FIDO 개인 키를 재생성하라는 요청을 포함할 수 있다.
일부 실시예에서 마스터 키는 제1 디바이스의 메모리에 저장되고 마스터 키는 제1 디바이스의 사이트 식별자와 결합되어 FIDO 개인 키를 생성할 수 있다. 다른 실시예에서 마스터 키는 제1 디바이스로부터 인증기로 전송될 수 있으며 여기서 마스터 키와 사이트 식별자의 결합이 인증기에 의해 수행되어 FIDO 개인 키를 생성한다.
일부 실시예에서 제1 디바이스에서 인증기로의 FIDO 개인 키 전송이 방지될 수 있다. 예를 들어 제1 디바이스가 제1 챌린지 서명을 수행할 때 FIDO 개인 키의 무선(OTA) 전송이 방지된다. 따라서 제1 챌린지 및 사이트 또는 사용자 식별자 정보는 인증기로부터 제1 디바이스로 전송되며 이에 따라 그 연산은 프록시 프로토콜을 통해 근거리 통신(NFC)에 의해 제1 디바이스로 분산된다.
일부 실시예에서 FIDO 개인 키를 제1 디바이스에서 생성하거나 저장하는 대신에 FIDO 개인 키는 인증기에 속하는 보안 엘레멘트에 생성되거나 저장될 수 있다. 예를 들어 FIDO 개인 키는 제2 디바이스에 의해 유지되는 보안 엘레멘트 내에 저장될 수 있다. 일부 실시예에서 보안 엘레멘트는 하나 이상의 키가 신뢰 당사자에 의해 안전하게 저장되고 검색될 수 있는 변조 방지 보안 저장 영역을 포함할 수 있다.
일부 실시예에서 제1 디바이스의 프로세서는 FIDO 개인 키를 생성하도록 형상화 될 수 있다. 제1 디바이스의 프로세서는 FIDO 개인 키를 전송하도록 형상화 될 수 있다. 예를 들어 제1 디바이스의 프로세서는 FIDO 개인 키를 제2 디바이스에의 실행을 위한 명령어를 포함하는 응용프로그램과 같은 인증기에 전송하도록 형상화 될 수 있다. 상기 설명한 바와 같이 인증기는 제한 없이 랩탑, 태블릿, 휴대폰 등의 모바일 디바이스일 수 있다.
일부 실시예에서 FIDO 개인 키는 하나 이상의 채널을 통해 송수신될 수 있다. 예를 들어 FIDO 개인키는 대역외 채널을 통해 송수신될 수 있다. 제1 디바이스의 프로세서는 인증기의 통신 필드로의 제1 디바이스 통신 인터페이스의 진입을 통해 인증기에 FIDO 개인 키를 전송하도록 형상화 될 수 있다. 일부 실시예에서 진입은 하나 이상의 탭, 스와이프, 웨이브 및/또는 이들의 임의의 조합을 포함하지만 이에 제한되지 않는 하나 이상의 제스처와 연관될 수 있다.
단계 430에서 인증기는 제1 FIDO 키를 수신하도록 형상화 될 수 있다. 예를 들어 제2 디바이스의 응용프로그램은 제1 디바이스의 프로세서로부터 제1 FIDO 개인 키를 수신하도록 형상화 될 수 있다. 인증기는 수신된 제1 FIDO 키를 사용하여 제1 요청에 서명하도록 형상화 될 수 있다. 인증기는 검증을 위해 서명된 제1 챌린지를 신뢰 당사자에게 전송하도록 형상화 될 수 있다.
단계 435에서 신뢰 당사자 또는 서버의 프로세서는 서명된 제1 챌린지를 검증하도록 형상화 될 수 있다. 예를 들어 신뢰 당사자 또는 서버의 프로세서는 인증기로부터 서명된 제1 요청을 수신하도록 형상화 될 수 있다. 예를 들어 신뢰 당사자는 사용자가 사이트에 등록할 때 저장된 FIDO 공개 키를 사용하여 서명된 챌린지 데이터를 검증할 수 있다.
검증은 서명 검증을 포함하는 인증 프로세스의 결과를 포함할 수 있다. 인증기는 검증을 위해 제1 FIDO 키를 신뢰 당사자의 프로세서로 전송하도록 형상화 될 수 있으며 이에 따라 인증기는 제1 디바이스와 신뢰 당사자의 프로세서 사이의 중개 디바이스 역할을 하도록 형상화 될 수 있다.
단계 440에서 신뢰 당사자 또는 서버의 프로세서는 제2 명령어를 생성하도록 형상화 될 수 있다. 예를 들어 제2 명령어는 입력 데이터를 전송하라는 제2 요청을 포함할 수 있다. 일부 실시예에서 프로세서는 하나 이상의 조건을 평가하도록 형상화 될 수 있다. 예를 들어 제2 명령어는 하나 이상 조건의 평가 후 프로세서에 의해 전송될 수 있다.
예를 들어 하나 이상 조건의 적어도 하나는 미리 결정된 시간 기간에 걸친 인증 요청의 임계 수를 결정하는 단계를 포함할 수 있다. 예를 들어 프로세서는 초, 분, 시간, 일, 주, 월, 년 등의 수 내에 비정상적인 수의 트랜잭션 또는 요청이 수행되었는지 여부를 결정하도록 형상화 될 수 있다.
다른 실시예에서 하나 이상 조건의 적어도 하나는 계정 및/또는 사용자와 연관된 오용 또는 사기가 발생했는지 여부를 결정하는 단계를 포함할 수 있다. 예를 들어 프로세서는 사용자 트랜잭션 내역이 과도한 구매 금액 또는 비정상적인 위치를 나타내는지 여부를 결정하도록 형상화 될 수 있다. 이러한 방식으로 조건부 다중 요인 인증이 구현되어 보안을 향상시킬 수 있으며 이는 입력 데이터를 수신하기 위한 제2 명령어의 전송을 트리거 할 수 있다.
단계 445에서 인증기는 제2 명령어를 수신하도록 형상화 될 수 있다. 예를 들어 모바일 디바이스의 프로세서는 신뢰 당사자 또는 서버에 의한 하나 이상 조건의 평가 이후에 신뢰 당사자 또는 서버의 프로세서로부터 제2 명령어를 수신하도록 형상화 될 수 있다. 일부 실시예에서 제2 명령어는 하나 이상의 푸시 알림을 통해 모바일 디바이스의 실행을 위한 명령어를 포함하는 응용프로그램과 같은 인증기로 신뢰 당사자 또는 서버의 프로세서에 의해 전달될 수 있다.
단계 450에서 인증기는 제2 명령어에 기반하여 입력 데이터를 전송하도록 형상화 될 수 있다. 예를 들어 모바일 디바이스의 프로세서 또는 응용프로그램은 서버의 프로세서와 같은 신뢰 당사자에게 입력 데이터를 전송하도록 형상화 될 수 있다. 입력 데이터는 생체 정보 및 자격증명 데이터의 군에서 선택된 적어도 하나를 포함할 수 있다. 예를 들어 입력 데이터는 생체 인식 데이터, 자격증명 데이터 및/또는 이들의 임의의 조합을 포함할 수 있다.
제한 없이 생체 데이터는 지문, 안면 스캔, 망막 스캔, 음성 인식 및/또는 이들의 임의의 조합의 군에서 선택된 적어도 하나를 포함할 수 있다. 일부 실시예에서 입력 데이터는 자격증명 데이터를 추가적으로 및/또는 대안적으로 포함할 수 있다. 제한 없이 로그인 데이터는 사용자 이름, 패스워드, 계좌번호, 보안코드, 일회성 패스코드, 보안질문에 대한 답변 및/또는 이들의 임의의 조합의 군에서 선택된 적어도 하나를 포함할 수 있다.
단계 455에서 신뢰 당사자 또는 서버는 입력 데이터를 인증함으로써 인증 요청을 완료하도록 형상화 될 수 있다. 예를 들어 신뢰 당사자 또는 서버의 프로세서는 모바일 디바이스의 실행을 위한 명령어를 포함하는 프로세서 또는 응용프로그램과 같은 인증기로부터 입력 데이터를 수신하도록 형상화 될 수 있다. 일부 실시예에서 신뢰 당사자 또는 서버의 프로세서는 수신된 입력 데이터를 참조 입력 데이터와 비교함으로써 하나 이상의 결과를 생성하도록 형상화 될 수 있다.
일부 실시예에서 참조 입력 데이터는 신뢰 당사자 또는 서버에 의해 저장될 수 있다. 다른 실시예에서 참조 입력 데이터는 신뢰 당사자 또는 서버에 의해 요청될 수 있다. 예를 들어 신뢰 당사자 또는 서버의 프로세서는 하나 이상의 요청을 통해 참조 입력 데이터를 수신하거나 대안적으로 참조 입력 데이터와 비교하기 위해 입력 데이터를 데이터베이스에 전송하도록 형상화 될 수 있다.
예를 들어 신뢰 당사자 또는 서버는 수신된 입력 데이터와 참조 입력 데이터 간의 비교에 기반하여 성공적인 매치가 야기될 때 성공적인 인증을 나타내는 결과를 생성하도록 형상화 될 수 있다. 다른 실시예에서 신뢰 당사자 또는 서버는 수신된 입력 데이터와 참조 입력 데이터 간의 비교에 기반하여 실패한 매치가 야기될 때 실패한 인증 결과를 생성하도록 형상화 될 수 있다.
인증 실패가 결정되면 신뢰 당사자 또는 서버는 인증 요청을 완료하기 위해 입력 데이터를 성공적으로 인증하거나 인증 요청의 완료를 중단하기 전에 미리 결정된 시도 횟수까지 입력 데이터를 재인증하도록 형상화 될 수 있다. 이러한 방식으로 인증 프로세스의 시퀀스 다이어그램(400)은 상기 언급된 기능을 지원하는 분산 저장소, 클라우드 기반 저장소 및 다른 형태의 저장소를 구현할 수 있다.
도 5는 예시적인 실시형태에 따른 인증 방법(500)을 도시한다. 도 5는 도 1의 시스템(100), 도 2a 및 도 2b의 제1 디바이스(200), 도 3의 방법(300) 및 도 4의 순서도(400)와 동일하거나 유사한 컴포넌트를 참조할 수 있다.
블록 505에서 방법(500)은 제1 명령어를 프로세서에서 수신하는 단계를 포함할 수 있다. 프로세서는 카드와 같은 제1 디바이스에서의 실행을 위한 명령어를 포함하는 응용프로그램을 포함하는 메모리에 결합될 수 있다. 일부 실시예에서 제1 명령어는 인증 요청의 완료와 연관될 수 있다.
예를 들어 인증 요청은 신속한 온라인 인증 2(FIDO2) 웹사이트 등록에 대한 요청을 포함할 수 있다. 제1 명령어는 클라이언트 디바이스 또는 모바일 디바이스와 같은 제2 디바이스에서 실행하기 위한 명령어를 포함하는 응용프로그램과 같은 인증기의 프로세서에 의해 생성 및/또는 전송되는 하나 이상 명령어의 일부일 수 있다.
예를 들어 인증기의 프로세서는 제1 명령어를 생성하도록 형상화 될 수 있다. 각각의 명령어는 하나 이상의 요청을 포함할 수 있다. 제1 명령어는 제1 디바이스의 프로세서로부터 제1 키를 생성하거나 검색하는 제1 요청을 포함할 수 있다. 키는 FIDO 개인 키와 같은 FIDO 키를 포함할 수 있다.
제1 명령어는 카드를 포함하지만 이에 제한되지 않는 제1 디바이스로부터 제1 신속한 온라인 인증(FIDO) 키를 검색하라는 요청을 포함할 수 있다. 제1 명령어는 제1 디바이스에 의해 제1 FIDO 키를 생성하라는 요청을 포함할 수 있다. 일부 실시예에서 제1 FIDO 키는 하나 이상의 암호화 알고리즘을 사용하여 제1 요청과 연관된 마스터 키 및 식별자에 기반하여 생성될 수 있다. 예를 들어 식별자는 사이트 식별자를 포함할 수 있으며 마스터 키와 결합되어 키 쌍을 생성할 수 있다.
일부 실시예에서 마스터 키는 제1 디바이스에 저장되고 마스터 키는 개인 키를 생성하기 위해 제1 디바이스의 사이트 식별자와 결합될 수 있다. 일부 실시예에서 제1 디바이스에 FIDO 개인 키를 생성하거나 저장하는 대신에 제1 FIDO 키는 모바일 디바이스를 포함할 수 있는 클라이언트 디바이스와 같은 인증기 또는 제2 디바이스에 속하는 보안 엘레멘트에 생성되거나 저장될 수 있다. 예를 들어 FIDO 개인 키는 제2 디바이스에 의해 유지되는 보안 엘레멘트에 저장될 수 있다.
일부 실시예에서 보안 엘레멘트는 하나 이상의 키가 인증기 또는 신뢰 당사자 서버에 의해 안전하게 저장되고 검색될 수 있는 변조 방지 보안 저장 영역을 포함할 수 있다. 예를 들어 인증기는 제1 명령어를 제1 디바이스에 전송하도록 형상화 될 수 있으며 이에 따라 인증기는 제1 디바이스와 신뢰 당사자 또는 서버 사이의 중개 디바이스 역할을 하도록 형상화 될 수 있다.
블록 510에서 방법(500)은 제1 키를 생성하는 단계를 포함할 수 있다. 예를 들어 제1 키는 인증기 또는 모바일 디바이스와 같은 클라이언트 디바이스의 통신 필드로의 제2 디바이스 통신 인터페이스의 진입을 통해 검색될 수 있다. 일부 실시예에서 제1 명령어는 제1 디바이스에 의해 제1 키를 생성하라는 요청을 포함할 수 있다.
다른 실시예에서 제1 명령어는 제1 디바이스에 의해 공개/개인 키 쌍의 일부인 개인 키와 같은 제1 FIDO 키를 재생성하라는 요청을 포함할 수 있다. 모바일 디바이스의 프로세서와 같은 인증기는 제1 디바이스의 하나 이상의 진입을 프롬프트 하도록 형상화 될 수 있다. 예를 들어 하나 이상의 항목은 탭, 스와이프, 웨이브 등 및/또는 이들의 조합의 군에서 선택된 적어도 하나를 포함할 수 있다.
따라서 제1 디바이스의 통신 인터페이스는 모바일 디바이스의 통신 필드와 같은 인증기의 통신 필드에 진입할 수 있다. 제1 디바이스는 인증기로부터 수신된 제1 명령어에 기반하여 특정 사용자 또는 사이트와 연관된 FIDO 키 쌍을 생성하거나 검색하도록 형상화 될 수 있다.
제1 디바이스의 프로세서는 제1 진입을 통해 인증기로부터 제1 명령어를 수신하고 인증기의 통신 필드로의 제1 디바이스 통신 인터페이스의 제2 진입을 통해 인증기로 FIDO 개인 키를 전송하도록 형상화 될 수 있다. 일부 실시예에서 하나 이상의 진입은 하나 이상의 탭, 스와이프, 웨이브 및/또는 이들의 임의의 조합을 포함하지만 이에 제한되지 않는 하나 이상의 제스처와 연관될 수 있다.
일부 실시예에서 FIDO 개인 키는 하나 이상의 암호화 알고리즘을 사용하여 인증 요청과 연관된 마스터 키 및 식별자를 기반으로 생성될 수 있다. 예를 들어 식별자는 사이트 식별자를 포함하고 마스터 키와 결합되어 다른 키 쌍을 생성할 수 있다. 제1 디바이스는 키를 재생성해야 하는 것을 방지하기 위해 유한한 수의 키를 메모리 내에 저장하도록 형상화 될 수 있다. 다른 실시예에서 인증기로부터의 제1 명령어는 제1 디바이스에 의해 공개/개인 키 쌍의 일부인 개인 키와 같은 FIDO 개인 키를 재생성하라는 요청을 포함할 수 있다.
일부 실시예에서 마스터 키는 제1 디바이스의 메모리에 저장되고 마스터 키는 FIDO 개인 키를 생성하기 위해 제1 디바이스의 사이트 식별자와 결합될 수 있다. 다른 실시예에서 마스터 키는 제1 디바이스로부터 인증기로 전송될 수 있으며 여기서 마스터 키와 사이트 식별자의 결합이 FIDO 개인 키를 생성하기 위해 인증기에 의해 수행된다.
일부 실시예에서 FIDO 개인 키를 제1 디바이스에서 생성하거나 저장하는 대신에 FIDO 개인 키는 인증기에 속하는 보안 엘레멘트에 생성되거나 저장될 수 있다. 예를 들어 FIDO 개인 키는 제2 디바이스에 의해 유지되는 보안 엘레멘트 내에 저장될 수 있다.
록 515에서 방법(500)은 제1 키를 암호화하는 단계를 포함할 수 있다. 예를 들어 FIDO 개인 키는 인증기에게 전송되기 전에 제1 디바이스에 의해 암호화될 수 있다. 따라서 모바일 디바이스의 프로세서는 하나 이상의 챌린지에 서명하기 전에 수신된 암호화된 FIDO 개인 키를 복호화하도록 형상화 될 수 있다.
블록 520에서 방법(500)은 검증을 위해 암호화된 제1 키를 전송하는 단계를 포함할 수 있다. 예를 들어 제1 디바이스의 프로세서는 검증을 위해 인증기에 암호화된 FIDO 개인 키를 전송하도록 형상화 될 수 있다. 생성되거나 검색된 FIDO 키 쌍은 근거리 통신(NFC)을 포함하지만 이에 제한되지 않는 방법을 통해 인증기에 의해 판독될 수 있다. FIDO 키 쌍은 제1 디바이스로부터 인증기에 의해 판독될 수 있는 FIDO 개인 키를 포함할 수 있다. FIDO 개인 키는 인증기의 통신 필드로의 제1 디바이스 통신 인터페이스의 하나 이상의 진입을 통해 검색될 수 있다.
일부 실시예에서 제1 디바이스에서 인증기로의 암호화된 FIDO 개인 키 전송이 방지될 수 있다. 예를 들어 제1 디바이스가 제1 챌린지 서명을 수행하도록 형상화 될 때 FIDO 개인 키의 무선(OTA) 전송이 방지된다. 따라서 제1 챌린지 및 사이트 또는 사용자 식별자 정보는 인증기로부터 제1 디바이스로 전송되며 이에 따라 그 연산은 프록시 프로토콜을 통해 근거리 통신(NFC)에 의해 제1 디바이스로 분산된다.
일부 실시예에서 FIDO 개인 키는 하나 이상의 채널을 통해 송수신될 수 있다. 예를 들어 FIDO 개인키는 대역외 채널을 통해 송수신될 수 있다. 일부 실시예에서 인증기는 대역외 채널을 통해 제1 디바이스로부터 FIDO 개인 키를 수신하도록 형상화 될 수 있다. 인증기는 검증을 위해 신뢰 당사자의 프로세서로 제1 FIDO 키를 전송하도록 형상화 될 수 있으며 이에 따라 인증기는 제1 디바이스와 신뢰 당사자의 프로세서 사이의 중개 디바이스 역할을 하도록 형상화 될 수 있다.
일부 실시예에서 신뢰 당사자는 하나 이상의 제2 명령어를 생성 및/또는 전송하도록 형상화 될 수 있다. 예를 들어 제2 명령어는 입력 데이터를 전송하라는 요청을 포함할 수 있다. 제2 디바이스의 프로세서와 같은 인증기는 제2 명령어를 수신하도록 형상화 될 수 있다. 예를 들어 제2 디바이스의 프로세서는 신뢰 당사자 또는 서버의 프로세서로부터 입력 데이터를 전송하라는 요청을 수신하도록 형상화 될 수 있다.
일부 실시예에서 제2 명령어는 하나 이상의 푸시 알림을 통해 제2 디바이스의 프로세서와 같은 인증기로 신뢰 당사자 또는 서버의 프로세서에 의해 전달될 수 있다. 일부 실시예에서 제2 명령어는 신뢰 당사자 또는 서버에 의한 하나 이상 조건의 평가 후에 인증기에 의해 수신될 수 있다.
예를 들어 하나 이상 조건의 적어도 하나는 미리 결정된 시간 기간에 걸친 인증 요청의 임계 수를 결정하는 단계를 포함할 수 있다. 예를 들어 신뢰 당사자는 초, 분, 시간, 일, 주, 월, 년 등의 기간 내에 비정상적인 수의 트랜잭션 또는 요청이 수행되었는지 여부를 결정하도록 형상화 될 수 있다.
다른 실시예에서 하나 이상 조건의 적어도 하나는 계정 및/또는 사용자와 연관된 오용 또는 사기가 발생했는지 여부를 결정하는 단계를 포함할 수 있다. 예를 들어 신뢰 당사자는 사용자 트랜잭션 내역이 과도한 구매 금액 또는 비정상적인 위치를 나타내는지 여부를 결정하도록 형상화 될 수 있다. 이러한 방식으로 조건부 다중 요인 인증이 구현되어 보안을 향상시킬 수 있으며 이는 입력 데이터를 수신하기 위한 제2 명령어의 전송을 트리거 할 수 있다.
도 6은 예시적인 실시형태에 따른 인증 방법(600)을 도시한다. 도 6은 도 1의 시스템(100), 도 2a 및 도 2b의 제1 디바이스(200), 도 3의 방법(300), 도 4의 순서도(400) 및 도 5의 방법(500)과 동일하거나 유사한 컴포넌트를 참조할 수 있다.
블록 610에서 방법(600)은 인증 요청을 프로세서에서 수신하는 단계를 포함할 수 있다. 예를 들어 프로세서는 신뢰 당사자나 서버에 속할 수 있다. 일부 실시예에서 인증 요청은 신속한 온라인 인증 2(FIDO2) 웹사이트 등록에 대한 요청을 포함할 수 있다.
블록 620에서 방법(600)은 제1 챌린지를 프로세서에 의해 전송하는 단계를 포함할 수 있다. 예를 들어 프로세서는 중개 제2 디바이스 또는 클라이언트 디바이스 상에서 실행하기 위한 명령어를 포함하는 응용프로그램과 같은 인증기로 제1 챌린지를 전송하도록 형상화 될 수 있다. 일부 실시예에서 프로세서는 인증 요청에 응답하여 하나 이상의 챌린지를 생성하도록 형상화 될 수 있다. 예를 들어 프로세서는 제1 챌린지를 생성하도록 형상화 될 수 있다.
일부 실시예에서 신뢰 당사자는 모바일 디바이스의 프로세서와 같은 인증기에게 로그인을 챌린지 하도록 형상화 될 수 있다. 제1 챌린지는 적절한 FIDO 키 쌍을 선택하는 데 사용될 수 있는 사용자 식별자 또는 사이트 식별자와 같은 식별자를 포함할 수 있다. 제1 챌린지는 재생을 방지하기 위해 사용되고 신뢰 당사자에 의해 주어질 수 있는 예측 불가능한 수를 더욱 포함할 수 있다.
예를 들어 인증의 각각의 인스턴스에 대해 새로운 예측 불가능한 수가 필요할 것이며 따라서 예측 불가능한 수는 매번 상이할 것이다. 이러한 방식으로 이는 오래된 예측 불가능한 수의 서명을 활용하는 것을 방지하고 대신 인증의 인스턴트 세션에 대한 수를 활용한다.
블록 630에서 방법(600)은 제1 챌린지를 검증하는 단계를 포함할 수 있다. 예를 들어 인증기에 의해 제1 명령어가 제1 디바이스로 전송될 수 있다. 일부 실시예에서 제1 명령어는 카드의 프로세서로 인증기에 의해 생성 및/또는 전송될 수 있다. 모바일 디바이스의 프로세서와 같은 인증기는 하나 이상의 명령어를 생성하도록 형상화 될 수 있다.
예를 들어 모바일 디바이스의 프로세서는 제1 명령어를 생성하도록 형상화 될 수 있다. 각각의 명령어는 하나 이상의 요청을 포함할 수 있다. 제1 명령어는 카드와 같은 제1 디바이스의 프로세서로부터 제1 키를 검색하라는 제1 요청을 포함할 수 있다. 키는 FIDO 키를 포함할 수 있다. FIDO 개인 키는 인증기의 통신 필드와 같은 통신 필드로의 제1 디바이스 통신 인터페이스의 진입을 통해 검색될 수 있다.
일부 실시예에서 제1 명령어는 제1 디바이스의 프로세서에 의해 FIDO 개인 키를 생성하라는 요청을 포함할 수 있다. 다른 실시예에서 제1 명령어는 제1 디바이스의 프로세서에 의해 공개/개인 키 쌍의 일부인 FIDO 개인 키와 같은 제1 FIDO 키를 재생성하라는 요청을 포함할 수 있다.
예를 들어 인증기는 신뢰 당사자 또는 서버의 프로세서로부터 수신된 제1 요청에 기반하여 하나 이상의 명령어를 생성함으로써 제1 디바이스의 하나 이상의 진입을 프롬프트 하도록 형상화 될 수 있다. 예를 들어 하나 이상의 진입은 탭, 스와이프, 웨이브 등 및/또는 이들의 조합의 군에서 선택된 적어도 하나를 포함할 수 있다.
제1 명령어는 제1 디바이스에 의해 제1 FIDO 키를 생성하라는 요청을 포함할 수 있다. 일부 실시예에서 제1 FIDO 키는 하나 이상의 암호화 알고리즘을 사용하여 제1 요청과 연관된 마스터 키 및 식별자에 기반하여 생성될 수 있다. 예를 들어 식별자는 사이트 식별자를 포함할 수 있으며 마스터 키와 결합되어 키 쌍을 생성할 수 있다. 일부 실시예에서 마스터 키는 제1 디바이스에 저장되고 마스터 키는 제1 디바이스의 사이트 식별자와 결합되어 개인 키를 생성할 수 있다.
예를 들어 제1 디바이스의 프로세서는 제1 FIDO 키를 생성하고 전송하도록 형상화 될 수 있다. 예를 들어 제1 디바이스의 통신 인터페이스는 제1 FIDO 키를 전달하기 위해 모바일 디바이스의 통신 필드와 같은 인증기의 통신 필드에 진입할 수 있다. 제1 디바이스는 인증기로부터 수신된 제1 명령어에 따라 특정 사용자 또는 사이트와 연관된 FIDO 키 쌍을 생성하거나 검색하도록 형상화 될 수 있다.
생성되거나 검색된 FIDO 키 쌍은 인증기에 의해 판독될 수 있다. FIDO 키 쌍은 제1 디바이스로부터 인증기에 의해 판독될 수 있고 서명된 챌린지 데이터를 야기하는 제1 챌린지에 서명하기 위해 인증기에 의해 사용될 수 있는 FIDO 개인 키를 포함할 수 있다. FIDO 개인 키는 통신 필드로의 제1 디바이스 통신 인터페이스의 진입을 통해 검색될 수 있다. 일부 실시예에서 FIDO 개인 키는 인증기에게 전송되기 전에 제1 디바이스에 의해 암호화될 수 있으며 이러한 경우 모바일 디바이스의 프로세서는 수신된 암호화된 FIDO 개인 키를 복호화 하도록 형상화 될 수 있다.
일부 실시예에서 FIDO 개인 키는 하나 이상의 암호화 알고리즘을 사용하여 인증 요청과 연관된 마스터 키 및 식별자를 기반으로 생성될 수 있다. 예를 들어 식별자는 사이트 식별자를 포함하고 마스터 키와 결합되어 다른 키 쌍을 생성할 수 있다. 제1 디바이스는 키를 재생성해야 하는 것을 방지하기 위해 유한한 수의 키를 메모리 내에 저장하도록 형상화 될 수 있다.
다른 실시예에서 인증기로부터의 제1 명령어는 제1 디바이스에 의한 공개/개인 키 쌍의 일부인 개인 키와 같은 FIDO 개인 키를 재생성하라는 요청을 포함할 수 있다.
일부 실시예에서 마스터 키는 제1 디바이스의 메모리에 저장되고 마스터 키는 FIDO 개인 키를 생성하기 위해 제1 디바이스의 사이트 식별자와 결합될 수 있다. 다른 실시예에서 마스터 키는 제1 디바이스로부터 인증기로 전송될 수 있으며 여기서 마스터 키와 사이트 식별자의 결합이 인증기에 의해 수행되어 FIDO 개인 키를 생성한다.
일부 실시예에서 제1 디바이스에서 인증기로의 FIDO 개인 키 전송이 방지될 수 있다. 예를 들어 제1 디바이스가 제1 챌린지 서명을 수행할 때 FIDO 개인 키의 무선(OTA) 전송이 방지된다. 따라서 제1 챌린지 및 사이트 또는 사용자 식별자 정보는 인증기로부터 제1 디바이스로 전송되며 이에 따라 그 연산이 프록시 프로토콜을 통해 근거리 통신(NFC)에 의해 제1 디바이스로 분산된다.
일부 실시예에서 FIDO 개인 키를 제1 디바이스에서 생성하거나 저장하는 대신에 FIDO 개인 키는 인증기에 속하는 보안 엘레멘트에 생성되거나 저장될 수 있다. 예를 들어 FIDO 개인 키는 제2 디바이스에 의해 유지되는 보안 엘레멘트에 저장될 수 있다. 일부 실시예에서 보안 엘레멘트는 하나 이상의 키가 신뢰 당사자에 의해 안전하게 저장되고 검색될 수 있는 변조 방지 보안 저장 영역을 포함할 수 있다.
일부 실시예에서 제1 디바이스의 프로세서는 FIDO 개인 키를 생성하도록 형상화 될 수 있다. 제1 디바이스의 프로세서는 FIDO 개인 키를 전송하도록 형상화 될 수 있다. 예를 들어 제1 디바이스의 프로세서는 제2 디바이스에서 실행하기 위한 명령어를 포함하는 응용프로그램과 같은 인증기에 FIDO 개인 키를 전송하도록 형상화 될 수 있다.
상기 설명한 바와 같이 인증기는 제한 없이 랩탑, 태블릿, 휴대폰 등의 모바일 디바이스일 수 있다. 일부 실시예에서 FIDO 개인 키는 하나 이상의 채널을 통해 송수신될 수 있다. 예를 들어 FIDO 개인키는 대역외 채널을 통해 송수신될 수 있다.
제1 디바이스의 프로세서는 인증기의 통신 필드로의 제1 디바이스 통신 인터페이스의 진입을 통해 인증기로 FIDO 개인 키를 전송하도록 형상화 될 수 있다. 일부 실시예에서 진입은 하나 이상의 탭, 스와이프, 웨이브 및/또는 이들의 임의의 조합을 포함하지만 이에 제한되지 않는 하나 이상의 제스처와 연관될 수 있다.
일부 실시예에서 인증기는 제1 FIDO 키를 수신하도록 형상화 될 수 있다. 예를 들어 제2 디바이스의 응용프로그램은 제1 디바이스의 프로세서로부터 제1 FIDO 개인 키를 수신하도록 형상화 될 수 있다. 인증기는 수신된 제1 FIDO 키를 사용하여 제1 요청에 서명하도록 형상화 될 수 있다. 인증기는 검증을 위해 신뢰 당사자에게 서명된 제1 챌린지를 전송하도록 형상화 될 수 있다.
신뢰 당사자 또는 서버의 프로세서는 서명된 제1 챌린지를 검증하도록 형상화 될 수 있다. 예를 들어 신뢰 당사자 또는 서버의 프로세서는 인증기로부터 서명된 제1 요청을 수신하도록 형상화 될 수 있다. 예를 들어 신뢰 당사자는 사용자가 사이트에 등록할 때 저장된 FIDO 공개 키를 사용하여 서명된 챌린지 데이터를 검증할 수 있다. 검증은 서명 검증을 포함하는 인증 프로세스의 결과로 형상화 될 수 있다.
인증기는 검증을 위해 제1 FIDO 키를 신뢰 당사자의 프로세서로 전송하도록 형상화 될 수 있으며 이에 따라 인증기는 제1 디바이스와 신뢰 당사자의 프로세서 사이의 중개 디바이스 역할을 하도록 형상화 될 수 있다.
블록 640에서 방법(600)은 하나 이상의 조건을 프로세서에 의해 평가하는 단계를 포함할 수 있다. 예를 들어 하나 이상 조건의 적어도 하나는 미리 결정된 시간 기간에 걸친 인증 요청의 임계 수를 결정하는 단계를 포함할 수 있다. 예를 들어 프로세서는 초, 분, 시간, 일, 주, 월, 년 등의 기간 내에 비정상적인 수의 트랜잭션 또는 요청이 수행되었는지 여부를 결정하도록 형상화 될 수 있다.
다른 실시예에서 하나 이상 조건의 적어도 하나는 계정 및/또는 사용자와 관련된 오용 또는 사기가 발생했는지 여부를 결정하는 단계를 포함할 수 있다. 예를 들어 프로세서는 사용자 트랜잭션 내역이 과도한 구매 금액 또는 비정상적인 위치를 나타내는지 여부를 결정하도록 형상화 될 수 있다. 이러한 방식으로 조건부 다중 요인 인증이 구현되어 보안을 향상시킬 수 있으며 이는 입력 데이터를 수신하기 위한 제2 챌린지의 전송을 트리거 할 수 있다.
블록 650에서 방법(600)은 제2 챌린지를 프로세서에 의해 전송하는 단계를 포함할 수 있다. 예를 들어 신뢰 당사자 또는 서버의 프로세서는 두 번째 챌린지를 생성하도록 형상화 될 수 있다. 예를 들어 제2 챌린지는 입력 데이터를 전송하라는 제2 요청을 포함할 수 있다. 일부 실시예에서 신뢰 당사자 또는 서버의 프로세서는 상기 설명된 바와 같이 하나 이상의 조건을 평가하도록 형상화 될 수 있다. 일부 실시예에서 제2 챌린지는 하나 이상 조건의 평가 후 프로세서에 의해 전송될 수 있다.
일부 실시예에서 인증기는 제2 요청을 수신하도록 형상화 될 수 있다. 예를 들어 모바일 디바이스의 프로세서는 신뢰 당사자 또는 서버에 의한 하나 이상의 조건의 평가 후 신뢰 당사자 또는 서버의 프로세서로부터 제2 챌린지를 수신하도록 형상화 될 수 있다.
일부 실시예에서 제2 챌린지는 하나 이상의 푸시 알림을 통해 모바일 디바이스의 실행을 위한 명령어를 포함하는 응용프로그램과 같이 신뢰 당사자 또는 서버의 프로세서에 의해 인증기로 전달될 수 있다.
인증기는 제2 챌린지에 기반하여 입력 데이터를 전송하도록 형상화 될 수 있다. 예를 들어 모바일 디바이스의 프로세서 또는 응용프로그램은 서버의 프로세서와 같은 신뢰 당사자에게 입력 데이터를 전송하도록 형상화 될 수 있다. 입력 데이터는 생체 정보 및 자격증명 데이터의 군에서 선택된 적어도 하나를 포함할 수 있다. 예를 들어 입력 데이터는 생체 인식 데이터, 자격증명 데이터 및/또는 이들의 임의의 조합을 포함할 수 있다.
제한 없이 생체 데이터는 지문, 안면 스캔, 망막 스캔, 음성 인식 및/또는 이들의 임의의 조합의 군에서 선택된 적어도 하나를 포함할 수 있다. 일부 실시예에서 입력 데이터는 자격증명 데이터를 추가적으로 및/또는 대안적으로 포함할 수 있다. 제한 없이 로그인 데이터는 사용자 이름, 패스워드, 계좌번호, 보안코드, 일회성 패스코드, 보안질문에 대한 답변 및/또는 이들의 임의의 조합의 군에서 선택된 적어도 하나를 포함할 수 있다.
블록 660에서 방법(600)은 수신된 입력 데이터를 프로세서에 의해 인증하는 단계를 포함할 수 있다. 예를 들어 신뢰 당사자 또는 서버의 프로세서는 입력 데이터를 인증함으로써 인증 요청을 완료하도록 형상화 될 수 있다. 예를 들어 신뢰 당사자 또는 서버의 프로세서는 모바일 디바이스의 실행을 위한 명령어를 포함하는 프로세서 또는 응용프로그램과 같은 인증기로부터 입력 데이터를 수신하도록 형상화 될 수 있다.
일부 실시예에서 신뢰 당사자 또는 서버의 프로세서는 수신된 입력 데이터를 참조 입력 데이터와 비교함으로써 하나 이상의 결과를 생성하도록 형상화 될 수 있다. 일부 실시예에서 참조 입력 데이터는 신뢰 당사자 또는 서버에 의해 저장될 수 있다. 다른 실시예에서 참조 입력 데이터는 신뢰 당사자 또는 서버에 의해 요청될 수 있다. 예를 들어 신뢰 당사자 또는 서버의 프로세서는 하나 이상의 요청을 통해 참조 입력 데이터를 수신하거나, 대안적으로 참조 입력 데이터와 비교하기 위해 입력 데이터를 데이터베이스에 전송하도록 형상화 될 수 있다.
예를 들어 신뢰 당사자 또는 서버는 수신된 입력 데이터와 참조 입력 데이터 간의 비교에 기반하여 성공적인 매치가 야기될 때 성공적인 인증을 나타내는 결과를 생성하도록 형상화 될 수 있다. 다른 실시예에서 신뢰 당사자 또는 서버는 수신된 입력 데이터와 참조 입력 데이터 간의 비교에 기반하여 실패한 매치가 야기될 때 실패한 인증 결과를 생성하도록 형상화 될 수 있다.
인증 실패가 결정되면 신뢰 당사자 또는 서버는 인증 요청을 완료하기 위해 입력 데이터를 성공적으로 인증하거나 인증 요청의 완료를 중단하기 전에 미리 결정된 시도 횟수까지 입력 데이터를 재인증하도록 형상화 될 수 있다. 이러한 방식으로 인증 프로세스의 시퀀스 다이어그램(400)은 상기 언급된 기능을 지원하는 분산 저장소, 클라우드 기반 저장소 및 다른 형태의 저장소를 구현할 수 있다.
본 발명에 개시된 시스템 및 방법은 컴팩트 디스크(CD), 디지털 다목적 디스크(DVD), 플로피 디스크, 하드 드라이브, 읽기 전용 메모리(ROM), 랜덤 액세스 메모리(RAM) 및 데이터 저장이 가능한 다른 물리적 매체와 같은 하나 이상의 물리적 매체에 유형적으로 구현될 수 있음이 추가로 언급된다. 예를 들어 데이터 저장소는 랜덤 액세스 메모리(RAM) 및 읽기 전용 메모리(ROM)를 포함할 수 있으며 이는 데이터와 정보를 저장하고 컴퓨터 프로그램 명령어에 액세스하도록 형상화 될 수 있다.
데이터 저장소는 예를 들어 RAM, ROM, 프로그래밍 가능 읽기 전용 메모리(PROM), 지울 수 있는 프로그래밍 가능 읽기 전용 메모리(EPROM), 전기적으로 지울 수 있는 프로그래밍 가능 읽기 전용 메모리(EEPROM), 자기 디스크, 광학 디스크, 플로피 디스크, 하드 디스크, 이동식 카트리지, 플래시 드라이브, 모든 유형의 유형 및 비일시적 저장 매체와 같은 저장 매체 또는 다른 적합한 메모리 유형을 포함할 수 있으며 운영 체제를 구성하는 파일, 예를 들어 웹 브라우저 응용프로그램, 이메일 응용프로그램 및/또는 기타 응용프로그램을 포함하는 응용프로그램 프로그램 및 데이터 파일이 저장될 수 있다.
네트워크 가능 컴퓨터 시스템의 데이터 저장소는 예를 들어 플랫 파일, 인덱스 파일, 계층적 데이터베이스, 관계형 데이터베이스 예를 들어 Oracle® Corporation 소프트웨어로 생성되고 유지되는 데이터베이스, Microsoft® Excel 파일, Microsoft® Access 파일, 플래시 어레이, 하이브리드 어레이 또는 서버측 제품을 포함할 수 있는 고체 상태 저장 디바이스, 온라인 또는 클라우드 스토리지를 포함할 수 있는 기업 저장소 또는 다른 저장 메커니즘을 포함하여 다양한 방식으로 저장된 전자 정보, 파일 및 문서를 포함할 수 있다,
또한 도면은 다양한 컴포넌트 예를 들어 서버, 컴퓨터, 프로세서 등을 개별적으로 도시한다. 다양한 컴포넌트에서 수행되는 것으로 설명된 기능은 다른 컴포넌트에서 수행될 수도 있으며 다양한 컴포넌트가 결합되거나 분리될 수도 있다. 다른 변형 또한 가능하다.
전술한 명세서에서는 첨부된 도면을 참조하여 다양한 실시형태가 개시되어 있다. 그러나 하기 청구범위에 기재된 본 발명의 더 넓은 범위를 벗어나지 않고 다양한 수정 및 변형이 가능하며 추가적인 실시형태가 구현될 수 있음이 명백할 것이다. 따라서 명세서와 도면은 제한적인 의미가 아닌 예시적인 의미로 간주되어야 한다.

Claims (20)

  1. 메모리 및 프로세서;
    를 포함하는 인증기에 있어서, 상기 프로세서는
    하나 이상의 챌린지를 수신하고;
    제1 신속한 온라인 인증(FIDO) 키를 검색하라는 요청을 포함하는 제1 명령어를 생성하고;
    제1 명령어를 전송하고;
    제1 FIDO 키를 수신하고;
    제1 FIDO 키를 사용하여 하나 이상의 챌린지에 서명하고; 및
    제2 FIDO 키를 사용하는 검증을 위해 하나 이상의 서명된 챌린지를 전송;
    하도록 형상화 됨을 특징으로 하는 인증기.
  2. 제 1항에 있어서, 상기 제1 명령어는 제1 FIDO 키를 생성하라는 요청을 포함힘을 특징으로 하는 인증기.
  3. 제 2항에 있어서, 상기 제1 키는 하나 이상의 암호화 알고리즘을 사용하여 인증 요청과 연관된 마스터 키 및 식별자에 기반하여 생성됨을 특징으로 하는 인증기.
  4. 제 1항에 있어서, 상기 제1 FIDO 키는 대역 외 채널을 통해 전송됨을 특징으로 하는 인증기.
  5. 제 1항에 있어서, 상기 제1 명령어는 제1 FIDO 키를 재생성하라는 요청을 포함함을 특징으로 하는 인증기.
  6. 제 1항에 있어서, 상기 하나 이상의 챌린지는 FIDO 웹사이트 등록을 위한 인증 요청에 기반하여 수신됨을 특징으로 하는 인증기.
  7. 제 1항에 있어서, 상기 프로세서는 생체 인식 데이터 및 자격증명 데이터의 군에서 선택된 적어도 하나를 포함하는 입력 데이터를 수신하도록 더욱 형상화 됨을 특징으로 하는 인증기.
  8. 제 1항에 있어서, 상기 제1 FIDO 키는 통신 필드로의 통신 인터페이스의 진입을 통해 검색됨을 특징으로 하는 인증기.
  9. 제 7항에 있어서, 상기 입력 데이터는 하나 이상 조건의 결정 후에 전송됨을 특징으로 하는 인증기.
  10. 인증 방법에 있어서, 상기 방법은
    하나 이상의 챌린지를 프로세서에서 수신하는 단계;
    제1 신속한 온라인 인증(FIDO) 키를 검색하라는 요청을 포함하는 제1 명령어를 프로세서에 의해 생성하는 단계;
    제1 명령어를 프로세서에 의해 전송하는 단계;
    제1 FIDO 키를 수신하는 단계;
    제1 FIDO 키를 사용하여 하나 이상의 챌린지에 프로세서에 의해 서명하는 단계; 및
    제2 FIDO 키를 사용하는 검증을 위해 하나 이상의 서명된 챌린지를 프로세서에 의해 전송하는 단계;
    를 포함함을 특징으로 하는 인증 방법.
  11. 제 10항에 있어서, 상기 제1 명령어는 제1 FIDO 키를 생성하라는 요청을 포함함을 특징으로 하는 방법.
  12. 제 11항에 있어서, 상기 제1 FIDO 키는 하나 이상의 암호화 알고리즘을 사용하여 인증 요청과 연관된 제3 키 및 식별자에 기반하여 생성됨을 특징으로 하는 방법.
  13. 제 10항에 있어서, 대역 외 채널을 통해 제1 FIDO 키를 전송하는 단계를 더욱 포함함을 특징으로 하는 방법.
  14. 제 10항에 있어서, 상기 제1 명령어는 제1 FIDO 키를 재생성하라는 요청을 포함함을 특징으로 하는 방법.
  15. 제 10항에 있어서, 상기 하나 이상의 챌린지는 FIDO 웹사이트 등록을 위한 인증 요청에 기반하여 수신됨을 특징으로 하는 방법.
  16. 제 10항에 있어서, 생체 인식 데이터 및 자격증명 데이터의 군에서 선택된 적어도 하나를 포함하는 입력 데이터를 프로세서에서 수신하는 단계를 더욱 포함함을 특징으로 하는 방법.
  17. 제 10항에 있어서, 상기 제1 FIDO 키는 통신 필드로의 통신 인터페이스의 진입을 통해 검색됨을 특징으로 하는 방법.
  18. 제 16항에 있어서, 상기 입력 데이터는 하나 이상 조건의 결정 후에 전송됨을 특징으로 하는 방법.
  19. 제 18항에 있어서, 적어도 하나의 조건은 미리 결정된 기간에 걸친 인증 요청의 임계 수를 결정하는 단계를 포함함을 특징으로 하는 방법.
  20. 컴퓨터 실행가능 명령어를 포함하는 컴퓨터 판독가능 비일시적 매체에 있어서, 상기 명령어는 프로세서 상에서 실행될 때
    하나 이상의 챌린지를 수신하는 단계;
    제1 신속한 온라인 인증(FIDO) 키를 검색하라는 요청을 포함하는 제1 명령어를 생성하는 단계;
    제1 명령어를 전송하는 단계;
    제1 FIDO 키를 수신하는 단계;
    제1 FIDO 키를 사용하여 하나 이상의 챌린지에 서명하는 단계; 및
    제2 FIDO 키를 사용하는 검증을 위해 하나 이상의 서명된 챌린지를 전송하는 단계;
    를 포함하는 절차를 수행함을 특징으로 하는 컴퓨터 판독가능 비일시적 매체.
KR1020237044743A 2021-06-18 2022-06-16 비접촉식 카드 통신 및 다중 디바이스 키 쌍 암호화 인증을 위한 시스템 및 방법 KR20240024112A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/352,181 US20220407723A1 (en) 2021-06-18 2021-06-18 Systems and methods for contactless card communication and multi-device key pair cryptographic authentication
US17/352,181 2021-06-18
PCT/US2022/033724 WO2022266283A1 (en) 2021-06-18 2022-06-16 Systems and methods for contactless card communication and multi-device key pair cryptographic authentication

Publications (1)

Publication Number Publication Date
KR20240024112A true KR20240024112A (ko) 2024-02-23

Family

ID=82611093

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237044743A KR20240024112A (ko) 2021-06-18 2022-06-16 비접촉식 카드 통신 및 다중 디바이스 키 쌍 암호화 인증을 위한 시스템 및 방법

Country Status (7)

Country Link
US (1) US20220407723A1 (ko)
EP (1) EP4356269A1 (ko)
KR (1) KR20240024112A (ko)
CN (1) CN117795505A (ko)
AU (1) AU2022292656A1 (ko)
CA (1) CA3222325A1 (ko)
WO (1) WO2022266283A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230091318A1 (en) * 2021-09-17 2023-03-23 Nok Nok Labs, Inc. System and method for pre-registration of fido authenticators

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9203819B2 (en) * 2012-01-18 2015-12-01 OneID Inc. Methods and systems for pairing devices
US10223549B2 (en) * 2015-01-21 2019-03-05 Onion ID Inc. Techniques for facilitating secure, credential-free user access to resources
DE102017000768A1 (de) * 2017-01-27 2018-08-02 Giesecke+Devrient Mobile Security Gmbh Verfahren zum Durchführen einer Zweifaktorauthentifizierung
US10685350B2 (en) * 2018-10-02 2020-06-16 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
FR3095528B1 (fr) * 2019-04-25 2021-05-21 CopSonic Jeton matériel d’authentification à validation déportée
WO2021212001A1 (en) * 2020-04-17 2021-10-21 Trusona, Inc. Systems and methods for cryptographic authentication
US20210352069A1 (en) * 2020-05-11 2021-11-11 Citrix Systems, Inc. Local authentication virtual authorization
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
WO2022266283A1 (en) 2022-12-22
CN117795505A (zh) 2024-03-29
CA3222325A1 (en) 2022-12-22
EP4356269A1 (en) 2024-04-24
AU2022292656A1 (en) 2024-01-04
US20220407723A1 (en) 2022-12-22

Similar Documents

Publication Publication Date Title
US20210192881A1 (en) Contactless card personal identification system
US11930120B2 (en) Call center web-based authentication using a contactless card
US20230252451A1 (en) Contactless card with multiple rotating security keys
JP2024505510A (ja) 近接場非接触カード通信および暗号認証のためのシステムおよび方法
US20230289801A1 (en) Systems and methods for authentication of access tokens
KR20240024112A (ko) 비접촉식 카드 통신 및 다중 디바이스 키 쌍 암호화 인증을 위한 시스템 및 방법
JP2024508286A (ja) 認証の持続性を確立すること
CN114631109A (zh) 用于交叉耦合风险分析和一次性口令的系统及方法
US20220405766A1 (en) Systems and methods for contactless card communication and key pair cryptographic authentication using distributed storage
US20220407724A1 (en) Systems and methods for scalable cryptographic authentication of contactless cards
US20240062216A1 (en) Systems and methods for dynamic data generation and cryptographic card authentication
KR20230137310A (ko) 보안 리프로비저닝을 위한 시스템 및 방법