[go: up one dir, main page]

KR102769177B1 - 동의 아키텍처용 인증자 앱 - Google Patents

동의 아키텍처용 인증자 앱 Download PDF

Info

Publication number
KR102769177B1
KR102769177B1 KR1020227005554A KR20227005554A KR102769177B1 KR 102769177 B1 KR102769177 B1 KR 102769177B1 KR 1020227005554 A KR1020227005554 A KR 1020227005554A KR 20227005554 A KR20227005554 A KR 20227005554A KR 102769177 B1 KR102769177 B1 KR 102769177B1
Authority
KR
South Korea
Prior art keywords
user
remote entity
service application
application
user authentication
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020227005554A
Other languages
English (en)
Other versions
KR20220038109A (ko
Inventor
한니아 지아
헤만 칸나
아니메시 채터지
스타반 파리크
리디마 케디아
보그단 브린자레아 이만디
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20220038109A publication Critical patent/KR20220038109A/ko
Application granted granted Critical
Publication of KR102769177B1 publication Critical patent/KR102769177B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • G06Q20/3227Aspects of commerce using mobile devices [M-devices] using secure elements embedded in M-devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/326Payment applications installed on the mobile devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06Q2220/00Business processing using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Finance (AREA)
  • Signal Processing (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

동의 아키텍처 내에서 동작들을 인증하기 위한 방법(1000)은 동작(138)을 수행하기 위해 원격 엔티티(130)에 액세스하도록 서비스 애플리케이션(140)에 요청하는 동작 요청(142)을 획득하는 단계를 포함한다. 방법은 또한 서비스 애플리케이션에 의해, 원격 엔티티가 동작을 수행하기 전에 사용자(12)를 인증하기 위해 사용자 인증 크리덴셜(154)을 획득하도록 인증자 애플리케이션(150)에 요청하는 인증 요청(152)을 발행하는 단계를 포함한다. 이 방법은 또한 인증자 애플리케이션에 의해, 원격 엔티티의 공개키(132)를 사용하여 상기 획득된 사용자 인증 크리덴셜을 암호화하는 단계를 포함한다. 서비스 애플리케이션은 암호화되지 않은 형식으로 사용자 인증 크리덴셜을 얻는 것이 제한된다. 방법은 또한 인증자 애플리케이션에 의해, 암호화된 사용자 인증 크리덴셜을 서비스 애플리케이션에 제공하는 단계 및 서비스 애플리케이션에 의해, 동작 요청 및 암호화된 사용자 인증 크리덴셜을 원격 엔티티로 전송하는 단계를 포함한다.

Description

동의 아키텍처용 인증자 앱
본 개시는 임의의 수의 애플리케이션에 대한 보안 인증을 위한 교차 애플리케이션 인증자 애플리케이션에 관한 것이다.
실시간 결제(RTP)는 수취인이 거래를 개시하는 송금 금융 기관의 몇 초 이내에(즉, "실시간"으로) 결제를 받을 수 있게 하는 금융 거래이다. 이러한 결제 시스템은 일반적으로 교환 및 결제를 처리하는 신용 카드 네트워크와 유사하게 발행자 간에 자금을 용이하게 하는 중앙 기관인 RTP 네트워크에 의해 유지 관리되는 경우가 많다. RTP는 종종 금융 기관의 한 사용자 계정에서 다른 또는 동일한 금융 기관의 다른 사용자 계정으로 즉시 자금을 이체하기 위해 결제 애플리케이션(앱)을 실행하는 사용자 디바이스(예를 들어, 휴대폰)를 통해 수행된다. 이러한 결제 앱은 일반적으로 애플리케이션 프로그래밍 인터페이스(API)를 통해 RTP 네트워크에 액세스할 수 있다. RTP는 대중적으로 크게 증가했으며, 거래 건수가 급증함에 따라 경쟁 결제 애플리케이션의 수도 증가했다. 사용자가 동일한 사용자 디바이스 상에 각 결제 앱이 하나 이상의 사용자 계정에 액세스하도록 승인된 다수의 독립적인 결제 앱을 갖는 것은 드문 일이 아니다.
본 개시의 일 양태는 동의(consent) 아키텍처 내에서 동작들을 인증하는 방법을 제공한다. 이 방법은 서비스 애플리케이션 및 인증자 애플리케이션을 실행하는 사용자 디바이스의 데이터 처리 하드웨어에서, 동작을 수행하기 위해 원격 엔티티에 액세스하도록 서비스 애플리케이션에 요청하는 동작 요청을 획득하는 단계를 포함한다. 동작 요청에는 원격 엔티티를 식별하는 원격 엔티티 식별자 및 동작과 관련된 동작 정보가 포함된다. 방법은 또한 데이터 처리 하드웨어에서 실행되는 서비스 애플리케이션에 의해, 원격 엔티티가 동작을 수행하기 전에 사용자를 인증하기 위해 원격 엔티티와 관련된 사용자 디바이스의 사용자의 사용자 인증 크리덴셜(자격 증명)을 획득하도록 인증자 애플리케이션에 요청하는 인증 요청을 발행하는 단계를 포함한다. 이 방법은 또한 데이터 처리 하드웨어에서 실행되는 인증자 애플리케이션에 의해, 서비스 애플리케이션이 암호화되지 않은 형식으로 사용자 인증 크리덴셜을 획득하는 것이 제한되도록 상기 원격 엔티티의 공개키를 사용하여 상기 획득된 사용자 인증 크리덴셜을 암호화하는 단계를 포함한다. 방법은 또한 데이터 처리 하드웨어에서 실행되는 인증자 애플리케이션에 의해 원격 엔티티로, 동작 요청 및 암호화된 사용자 인증 크리덴셜을 전송하는 단계를 포함한다. 원격 엔터티에 의해 수신될 때 동작 요청 및 암호화된 사용자 인증 크리덴셜은 원격 엔터티로 하여금 원격 엔터티의 개인키를 사용하여 암호화된 사용자 인증 크리덴셜을 복호화하고 그 복호화된 사용자 인증 크리덴셜을 검증(확인)하도록 한다.
본 개시의 구현은 다음의 선택적인 특징들 중 하나 이상을 포함할 수 있다. 일부 구현에서, 서비스 애플리케이션은 결제 애플리케이션을 포함하고 원격 엔티티는 사용자와 관련된 금융 기관을 포함한다. 원격 엔티티에 액세스하기 위해 서비스 애플리케이션을 요청하는 동작 요청은 금융 기관에서 수취인으로의 전자 결제를 개시하도록 결제 애플리케이션을 요청하는 전자 결제 요청을 포함한다. 일부 예에서 동작 정보는 전자 결제에 대한 설명, 전자 결제의 가치/금액, 금융 기관에서 사용자와 관련된 계정을 식별하는 고유 계정 식별자의 적어도 일부, 또는 수취인을 식별하는 수취인 식별자 중 적어도 하나를 포함한다.
선택적으로, 원격 엔티티는 사용자와 연관된 개인 정보를 저장하는 기록 데이터 저장소를 포함하고, 원격 엔티티에 액세스하도록 서비스 애플리케이션에 요청하는 동작 요청은 기록 데이터 저장소로부터 개인 정보의 적어도 일부를 검색하도록 서비스 애플리케이션에 요청하는 정보 검색 요청을 포함한다. 개인 정보는 사용자와 관련된 개인 기록을 포함할 수 있다. 개인 정보는 사용자가 기밀로 하고자 하는 정보이거나 서비스 제공자가 기밀로 할 의무가 있는 정보일 수 있다. 일부 구현에서, 방법은 원격 엔티티의 공개 키를 사용하여 상기 획득된 사용자 인증 크리덴셜을 암호화한 후, 데이터 처리 하드웨어에서 실행되는 인증자 애플리케이션에 의해, 원격 엔티티의 검증 네트워크와 관련된 공개키를 사용하여 상기 암호화된 사용자 인증 크리덴셜을 재암호화하는 단계를 더 포함한다.
일부 예에서, 방법은 원격 엔티티의 공개 키를 사용하여 상기 획득된 사용자 인증 크리덴셜을 암호화한 후, 데이터 처리 하드웨어에서 실행되는 인증자 애플리케이션에 의해, 사용자 디바이스의 개인키를 사용하여 상기 암호화된 사용자 인증 크리덴셜에 서명하는 단계를 더 포함한다. 사용자 디바이스의 공개키는 원격 엔티티에 등록될 수 있다. 사용자 디바이스의 공개키는 사용자 디바이스의 개인키에 해당하고, 원격 엔터티가 암호화된 사용자 인증 크리덴셜의 서명을 검증하는데 사용된다. 선택적으로, 원격 엔티티의 공개키를 사용하여 상기 획득된 사용자 인증 크리덴셜을 암호화하는 단계는 원격 엔티티의 공개키를 사용하여 동작 요청 및 사용자 인증 크리덴셜을 함께 암호화하는 단계를 더 포함한다.
일부 구현에서, 방법은 획득된 사용자 인증 크리덴셜을 암호화하기 전에, 데이터 처리 하드웨어에서 실행되는 인증자 애플리케이션에 의해, 사용자 디바이스 잠금 해제 챌린지를 사용자에게 발행하는 단계를 더 포함한다. 서비스 애플리케이션에 의해 발행된 인증 요청은 인증자 애플리케이션이 사용자 인증 크리덴셜을 획득하기 전에 서비스 애플리케이션을 검증하기 위해 사용하는 인증 토큰을 포함할 수 있다.
선택적으로, 방법은 동작 요청 및 암호화된 사용자 인증 크리덴셜을 원격 엔티티로 전송한 후, 데이터 처리 하드웨어에서 실행되는 서비스 애플리케이션에서, 원격 엔티티로부터 챌린지 요청을 수신하는 단계를 더 포함한다. 챌린지 요청은 사용자에게 추가 사용자 인증 크리덴셜을 요청한다. 방법은 또한 데이터 처리 하드웨어에서 실행되는 서비스 애플리케이션에 의해, 사용자로부터 추가 사용자 인증 크리덴셜을 획득하기 위해 인증자 애플리케이션을 호출하는 단계 및 데이터 처리 하드웨어에서 실행되는 인증자 애플리케이션에 의해, 원격 엔티티의 공개키를 사용하여 상기 획득된 추가 사용자 인증 크리덴셜을 암호화하는 단계를 포함할 수 있다. 방법은 또한 데이터 처리 하드웨어에서 실행되는 인증자 애플리케이션에 의해, 암호화된 추가 사용자 인증 크리덴셜을 서비스 애플리케이션에 제공하는 단계와 그리고 데이터 처리 하드웨어에서 실행되는 서비스 애플리케이션에 의해, 암호화된 추가 사용자 인증 크리덴셜을 포함하는 챌린지 응답을 원격 엔티티로 전송하는 단계를 포함할 수 있다. 챌린지 응답은 원격 엔터티에 의해 수신될 때 원격 엔터티로 하여금 원격 엔티티의 개인키를 사용하여 상기 암호화된 추가 사용자 인증 크리덴셜을 복호화하고 그리고 복호화된 추가 사용자 인증 크리덴셜을 검증하게 한다.
일부 예에서, 원격 엔티티는 복호화된 사용자 인증 크리덴셜 및 복호화된 추가 사용자 인증 크리덴셜 모두를 검증한 후에 동작 요청에 기초하여 동작을 수행하도록 구성된다. 원격 엔티티는 복호화된 사용자 인증 크리덴셜을 검증한 후 수취인에게 전자 결제를 전송하도록 구성될 수 있다.
일부 예에서, 방법은 데이터 처리 하드웨어에서 실행되는 인증자 애플리케이션에 의해, 사용자의 신원을 사용자 디바이스에 바인딩하는 단계를 더 포함한다. 바인딩하는 단계는 데이터 처리 하드웨어에서 실행되는 서비스 애플리케이션으로부터 서비스 등록 요청을 수신하는 단계를 포함할 수 있다. 서비스 등록 요청은 사용자 ID 및 서비스 애플리케이션 ID를 포함한다. 사용자 ID는 서비스 애플리케이션에 대해 사용자를 고유하게 식별하고, 서비스 애플리케이션 ID는 인증자 애플리케이션에 대해 서비스 애플리케이션을 고유하게 식별한다. 바인딩하는 단계는 또한 디바이스 바인딩된 키 쌍을 생성하는 단계를 포함할 수 있다. 디바이스 바인딩된 키 쌍은 사용자 ID와 서비스 애플리케이션 ID에 기초한 디바이스 공개키 및 디바이스 개인키를 포함한다. 바인딩하는 단계는 또한 디바이스 개인키로 서비스 애플리케이션 ID에 서명하는 단계와, 그리고 디바이스 공개키 및 상기 서명된 서비스 애플리케이션 ID를 원격 엔티티로 전송하는 단계를 포함할 수 있다.
일부 구현에서, 방법은 데이터 처리 하드웨어에서 실행되는 인증자 애플리케이션에 의해, 사용자 및 원격 엔티티와 관련된 사용자 계정을 사용자 디바이스와 바인딩하는 단계를 더 포함한다. 바인딩하는 단계는 디바이스 개인키로 서비스 애플리케이션 ID에 서명하는 단계와, 그리고 서명된 서비스 애플리케이션 ID를 데이터 처리 하드웨어에서 실행되는 서비스 애플리케이션으로 전송하는 단계를 포함할 수 있다. 서명된 서비스 애플리케이션 ID는 서비스 애플리케이션에 의해 수신될 때 서비스 애플리케이션으로 하여금 상기 서명된 서비스 애플리케이션 ID 및 계정 ID를 원격 엔티티로 전송하게 한다. 계정 ID는 사용자 계정을 고유하게 식별한다.
일부 예에서, 방법은 서비스 애플리케이션 및 인증자 애플리케이션을 실행할 때, 데이터 처리 하드웨어에 의해, 하나 이상의 추가 서비스 애플리케이션을 실행하는 단계를 더 포함한다. 각각의 추가 서비스 애플리케이션은 대응하는 동작을 수행하기 위해 동일한 원격 엔티티 또는 상이한 원격 엔티티에 액세스하도록 추가 서비스 애플리케이션에 요청하는 대응하는 동작 요청을 수신하도록 구성될 수 있다. 각각의 추가 서비스 애플리케이션은 또한 동일한 원격 엔티티 또는 상이한 원격 엔티티가 동작을 수행하기 전에 사용자를 인증하기 위해 사용자의 사용자 인증 크리덴셜을 획득하도록 인증자 애플리케이션에 요청하는 대응하는 인증 요청을 발행하고, 그리고 추가 서비스 애플리케이션이 암호화되지 않은 형식으로 사용자 인증 크리덴셜을 획득하는 것을 제한하기 위해 인증자 애플리케이션으로부터 상기 암호화된 사용자 인증 크리덴셜을 수신하도록 구성될 수 있다.
본 개시의 다른 양태는 동의 아키텍처 내에서 동작들을 인증하기 위한 시스템을 제공한다. 시스템은 서비스 애플리케이션 및 인증자 애플리케이션을 실행하는 사용자 디바이스의 데이터 처리 하드웨어와, 데이터 처리 하드웨어와 통신하는 메모리 하드웨어를 포함한다. 메모리 하드웨어는 데이터 처리 하드웨어에서 실행될 때 데이터 처리 하드웨어로 하여금 동작들을 수행하게 하는 명령들을 저장한다.
동작들은 동작을 수행하기 위해 원격 엔티티에 액세스하도록 서비스 애플리케이션에 요청하는 동작 요청을 획득하는 단계를 포함한다. 동작 요청은 원격 엔티티를 식별하는 원격 엔티티 식별자 및 동작과 관련된 동작 정보를 포함한다. 동작들은 또한 서비스 애플리케이션에 의해, 원격 엔티티가 동작을 수행하기 전에 사용자를 인증하기 위해 상기 원격 엔티티와 관련된 사용자 디바이스의 사용자의 사용자 인증 크리덴셜을 획득하도록 인증자 애플리케이션에 요청하는 인증 요청을 발행하는 단계를 포함한다. 동작들은 또한 인증자 애플리케이션에 의해, 서비스 애플리케이션이 암호화되지 않은 형식으로 사용자 인증 크리덴셜을 획득하는 것을 제한하도록 원격 엔티티의 공개키를 사용하여 상기 획득된 사용자 인증 크리덴셜을 암호화하는 단계를 포함한다. 동작들은 또한 인증자 애플리케이션에 의해, 암호화된 사용자 인증 크리덴셜을 서비스 애플리케이션에 제공하는 단계와, 그리고 서비스 애플리케이션에 의해, 원격 엔티티로, 동작 요청 및 암호화된 사용자 인증 크리덴셜을 전송하는 단계를 포함한다. 동작 요청 및 암호화된 사용자 인증 크리덴셜은 원격 엔티티에 의해 실행될 때 원격 엔티티로 하여금 원격 엔티티의 개인 키를 사용하여 상기 암호화된 사용자 인증 크리덴셜을 복호화하고, 복호화된 사용자 인증 크리덴셜을 검증하게 한다.
이 양태는 다음의 선택적 특징들 중 하나 이상을 포함할 수 있다. 일부 구현에서, 서비스 애플리케이션은 결제 애플리케이션을 포함하고, 원격 엔티티는 사용자와 관련된 금융 기관을 포함한다. 원격 엔티티에 액세스하도록 서비스 애플리케이션에 요청하는 동작 요청은 금융 기관으로부터 수취인으로의 전자 결제를 개시하도록 결제 애플리케이션에 요청하는 전자 결제 요청을 포함한다. 일부 예에서, 동작 정보는 전자 결제에 대한 설명, 전자 결제의 값/금액, 금융 기관에서 사용자와 관련된 계정을 식별하는 고유 계정 식별자의 적어도 일부 또는 수취인을 식별하는 수취인 식별자 중 적어도 하나를 포함한다.
선택적으로, 원격 엔티티는 사용자와 관련된 개인 정보를 저장하는 기록 데이터 저장소를 포함하고, 원격 엔티티에 액세스하도록 서비스 애플리케이션에 요청하는 동작 요청은 기록 데이터 저장소로부터 개인 정보의 적어도 일부를 검색하도록 서비스 애플리케이션에 요청하는 정보 검색 요청을 포함한다. 개인 정보는 사용자와 관련된 개인 기록을 포함할 수 있다. 일부 구현에서, 동작들은 원격 엔티티의 공개키를 사용하여 상기 획득된 사용자 인증 크리덴셜을 암호화한 후, 인증자 애플리케이션에 의해, 원격 엔티티의 검증 네트워크와 관련된 공개키를 사용하여 상기 암호화된 사용자 인증 크리덴셜을 재암호화하는 단계를 더 포함한다.
일부 예에서, 동작들은 원격 엔티티의 공개키를 사용하여 상기 획득된 사용자 인증 크리덴셜을 암호화한 후, 인증자 애플리케이션에 의해, 사용자 디바이스의 개인키를 사용하여 상기 암호화된 사용자 인증 크리덴셜에 서명하는 단계를 더 포함한다. 사용자 디바이스의 공개키는 원격 엔티티에 등록될 수 있다. 사용자 디바이스의 공개키는 사용자 디바이스의 개인키에 대응하며 상기 암호화된 사용자 인증 크리덴셜의 서명을 검증하기 위해 원격 엔티티에 의해 사용된다. 선택적으로, 원격 엔티티의 공개키를 사용하여 상기 획득된 사용자 인증 크리덴셜을 암호화하는 단계는 원격 엔티티의 공개키를 사용하여 동작 요청 및 사용자 인증 크리덴셜을 함께 암호화하는 단계를 더 포함한다.
일부 구현에서, 동작들은 획득된 사용자 인증 크리덴셜을 암호화하기 전에, 인증자 애플리케이션에 의해, 사용자 디바이스 잠금 해제 챌린지를 사용자에게 발행하는 단계를 더 포함한다. 서비스 애플리케이션에 의해 발행된 인증 요청은 인증자 애플리케이션이 사용자 인증 크리덴셜을 획득하기 전에 서비스 애플리케이션을 검증하기 위해 사용하는 인증 토큰을 포함할 수 잇다.
선택적으로, 동작들은 동작 요청 및 암호화된 사용자 인증 크리덴셜을 원격 엔티티로 전송한 후, 서비스 애플리케이션에서, 원격 엔티티로부터 챌린지 요청을 수신하는 단계를 더 포함한다. 챌린지 요청은 사용자에게 추가 사용자 인증 크리덴셜을 요청한다. 동작들은 또한 서비스 애플리케이션에 의해, 사용자로부터 추가 사용자 인증 크리덴셜을 획득하기 위해 인증자 애플리케이션을 호출하는 단계와, 그리고 인증자 애플리케이션에 의해, 원격 엔티티의 공개키를 사용하여 상기 획득된 추가 사용자 인증 크리덴셜을 암호화하는 단계를 포함할 수 있다. 동작들은 또한 인증자 애플리케이션에 의해, 암호화된 추가 사용자 인증 크리덴셜을 서비스 애플리케이션에 제공하는 단계와, 그리고 서비스 애플리케이션에 의해, 암호화된 추가 사용자 인증 크리덴셜을 포함하는 챌린지 응답을 원격 엔티티로 전송하는 단계를 포함할 수 있다. 챌린지 응답은 원격 엔터티에 의해 수신될 때 원격 엔터티로 하여금 원격 엔티티의 개인키를 사용하여 상기 암호화된 추가 사용자 인증 크리덴셜을 복호화하고, 그리고 복호화된 추가 사용자 인증 크리덴셜을 검증하게 한다.
일부 예에서, 원격 엔티티는 복호화된 사용자 인증 크리덴셜 및 복호화된 추가 사용자 인증 크리덴셜 모두를 검증한 후 동작 요청에 기초하여 동작을 수행하도록 구성된다. 원격 엔티티는 복호화된 사용자 인증 크리덴셜을 검증한 후 수취인에게 전자 결제를 전송하도록 구성될 수 있다.
일부 예에서, 동작들은 인증자 애플리케이션에 의해, 사용자의 신원을 사용자 디바이스에 바인딩하는 단계를 더 포함한다. 바인딩하는 단계는 서비스 애플리케이션으로부터 서비스 등록 요청을 수신하는 단계를 포함할 수 있다. 서비스 등록 요청은 사용자 ID 및 서비스 애플리케이션 ID를 포함할 수 있다. 사용자 ID는 서비스 애플리케이션에 대해 사용자를 고유하게 식별하고, 서비스 애플리케이션 ID는 인증자 애플리케이션에 대해 서비스 애플리케이션을 고유하게 식별한다. 바인딩하는 단계는 또한 디바이스 바인딩된 키 쌍(606)을 생성하는 단계를 포함할 수 있다. 디바이스 바인딩된 키 쌍은 사용자 ID와 서비스 애플리케이션 ID에 기초한 디바이스 공개키와 디바이스 개인키를 포함한다. 바인딩하는 단계는 또한 디바이스 개인키로 서비스 애플리케이션 ID에 서명하는 단계와, 그리고 디바이스 공개키 및 서명된 서비스 애플리케이션 ID를 원격 엔티티로 전송하는 단계를 포함할 수 있다.
일부 구현에서, 동작들은 인증자 애플리케이션에 의해, 사용자 및 원격 엔티티와 관련된 사용자 계정을 사용자 디바이스와 바인딩하는 단계를 더 포함한다. 바인딩하는 단계는 디바이스 개인키로 서비스 애플리케이션 ID에 서명하는 단계 및 서명된 서비스 애플리케이션 ID를 서비스 애플리케이션으로 전송하는 단계를 포함할 수 있다. 서명된 서비스 애플리케이션 ID는 서비스 애플리케이션에 의해 수신될 때 서비스 애플리케이션으로 하여금 상기 서명된 서비스 애플리케이션 ID 및 계정 ID를 원격 엔티티에 전송하게 한다. 계정 ID는 사용자 계정을 고유하게 식별한다.
일부 예에서, 동작들은 서비스 애플리케이션(140) 및 인증자 애플리케이션(150)을 실행할 때, 하나 이상의 추가 서비스 애플리케이션을 실행하는 단계를 더 포함한다. 각각의 추가 서비스 애플리케이션은 대응하는 동작을을 수행하기 위해 동일한 원격 엔티티 또는 상이한 원격 엔티티에 액세스하도록 추가 서비스 애플리케이션에 요청하는 대응하는 동작 요청을 수신하도록 구성될 수 있다. 각각의 추가 서비스 애플리케이션은 또한 동일한 원격 엔티티 또는 상이한 원격 엔티티가 동작을 수행하기 전에 사용자를 인증하기 위해 사용자의 사용자 인증 크리덴셜을 획득하도록 인증자 애플리케이션에 요청하는 대응하는 인증 요청을 발행하고, 그리고 추가 서비스 애플리케이션이 암호화되지 않은 형식으로 사용자 인증 크리덴셜을 획득하는 것을 제한하기 위해 인증자 애플리케이션으로부터 상기 암호화된 사용자 인증 크리덴셜을 수신하도록 구성될 수 있다.
본 개시의 하나 이상의 구현의 세부 사항은 첨부 도면 및 하기 설명에 기재되어 있다. 다른 양태, 특징 및 이점은 설명 및 도면, 그리고 청구범위로부터 명백할 것이다.
도 1은 사용자 디바이스로부터 원격 엔티티에 보안 인증을 제공하는 동의 아키텍처 시스템에 대한 예시적인 인증자의 개략도이다.
도 2는 결제 애플리케이션의 보안 인증을 제공하는 도 1의 인증자의 개략도이다.
도 3은 동작 요청의 개략도이다.
도 4는 개인 데이터 저장소에 대한 액세스를 갖는 원격 엔티티의 개략도이다.
도 5a 및 도 5b는 서비스 애플리케이션을 실행하는 예시적인 사용자 디바이스의 개략도이다.
도 6은 도 1의 인증자 애플리케이션 및 서비스 등록 요청의 개략도이다.
도 7은 디바이스 키 쌍을 생성하기 위해 사용자에게 챌린지를 발행하는 예시적인 사용자 디바이스의 개략도이다.
도 8a 및 도 8b는 계정 선택을 제공하는 서비스 애플리케이션을 실행하는 예시적인 사용자 디바이스의 개략도이다.
도 9는 도 1의 인증자 애플리케이션 및 계정 등록 요청의 개략도이다.
도 10은 동의 아키텍처에서 인증자 애플리케이션을 제공하는 방법에 대한 예시적인 동작 배열의 흐름도이다.
도 11은 본 명세서에 설명된 시스템 및 방법을 구현하는데 사용될 수 있는 예시적인 컴퓨팅 디바이스의 개략도이다.
다양한 도면에서 유사한 참조 부호는 유사한 요소를 나타낸다.
서비스 애플리케이션(예를 들어, 실시간 결제(RTP)을 수행하거나 민감한 정보에 액세스하기 위한 애플리케이션)은 종종 사용자가 요청하는 서비스를 수행(또는 활성화 또는 참여)하는 원격 엔티티에 사용자 크리덴셜을 제공해야 한다. 이러한 크리덴셜(예를 들어, 사용자 이름, 핀 번호, 암호, 지문 데이터 등)은 그 자체로 민감한 정보이다. 악의적인 공격자가 악성 서비스 애플리케이션을 통해 또는 보안 결함/취약점이 있는 합법적인 서비스 애플리케이션을 통해 이러한 크리덴셜에 액세스할 수 있는 경우, 해당 공격자는 특정 서비스 애플리케이션뿐만 아니라 잠재적으로 해당 사용자가 사용할 수 있는 다른 서비스 애플리케이션과 관련하여 승인되지 않은 거래를 수행하거나 승인되지 않은 서비스를 획득할 수 있다. 예를 들어, 공격자가 개인의 건강 기록에 액세스하는 사용자의 디바이스상에서 실행되는 서비스 애플리케이션의 보안 취약성을 통해 사용자의 크리덴셜을 획득할 수 있는 경우, 공격자는 또한 이러한 크리덴셜을 사용하여 사용자 디바이스에 설치된 결제 애플리케이션을 통해 승인되지 않은 금융 거래를 수행할 수 있다. 제1 서비스 애플리케이션에 의해 구현된 보호 및 보안 조치는 제2 서비스 애플리케이션(제1 서비스 애플리케이션의 개발자가 제어할 수 없음)이 덜 안전한 방식으로 구현되는 경우 무효화되거나 덜 효과적일 수 있다.
이를 염두에 두고, 본 발명은 하나 이상의 서비스 애플리케이션과 함께 실행되는 인증자 애플리케이션을 제공한다. 나중에 더 자세히 논의되겠지만, 인증자 애플리케이션은 서비스 애플리케이션의 요청에 응답하여, 사용자의 크리덴셜을 획득하고, (요청하는 서비스 애플리케이션과 관련된 원하는 서비스를 수행하거나 제공할) 원격 엔터티의 공개키를 사용하여 해당 크리덴셜을 암호화하고, 그리고 암호화된 크리덴셜을 서비스 애플리케이션에 다시 제공한다. 서비스 애플리케이션 자체는 사용자로부터 사용자 크리덴셜을 획득하지 않는다. 따라서, 서비스 애플리케이션은 (서비스 애플리케이션에는 암호화된 크리덴셜을 복호화하는데 필요한 원격 엔터티의 개인키가 없기 때문에) 사용자의 크리덴셜에 액세스할 수 없다. 따라서 공격자는 악성 서비스 애플리케이션 또는 다른 서비스 애플리케이션의 보안 취약성을 이용하여 크리덴셜에 액세스하고 오용(miause)할 수 없다.
더욱이, 이러한 방식으로 동일한 인증자 애플리케이션을 사용하는 다중 서비스 애플리케이션의 기능은 다양한 추가적인 기술적 이점을 제공한다. 특히, 이러한 인증 애플리케이션의 사용은 보안 업데이트를 더 빠르고 쉽게 수행할 수 있도록 하고, 인증자 애플리케이션 업데이트는 (각각의 모든 서비스 애플리케이션에 대해 업데이트를 수행해야 하는 것과 대조적으로) 인증자 애플리케이션을 사용하는 모든 서비스 애플리케이션에 대해 업데이트된 보안을 제공한다. 또한, 사용자 디바이스의 메모리가 더 효과적으로 활용되며, 서비스 애플리케이션의 크기는 더 이상 디바이스의 사용자 인터페이스를 통해 사용자 크리덴셜을 획득한 다음 해당 크리덴셜을 보호하기 위한 자체 기능을 가질 필요가 없기 때문에 축소된다. 이러한 이점은 점점 더 많은 서비스 애플리케이션이 인증자 애플리케이션을 사용함에 따라 향상된다.
본 명세서의 구현은 원격 엔티티(예를 들어, 금융 기관)와 함께 사용하기 위해 서비스 애플리케이션(예를 들어, 결제 애플리케이션)에 보안 인증을 제공하는 인증자 애플리케이션을 포함하는 동의 아키텍처를 제공하기 위한 시스템에 관한 것이다. 서비스 애플리케이션으로부터 동작 요청을 받을 때, 인증자 애플리케이션은 암호화된 인증 크리덴셜을 서비스 애플리케이션에 제공하기 전에 디바이스와 사용자가 모두 인증되었는지 확인(검증)한다. 그런 다음 서비스 애플리케이션은 크리덴셜을 확인하는 원격 엔터티에 상기 암호화된 크리덴셜을 제공한다. 따라서, 서비스 애플리케이션은 암호화되지 않은 크리덴셜을 수신하지 않으며, 사용자는 사용된 서비스 애플리케이션의 수와 관계없이 인증자 애플리케이션에 한 번만 일부 크리덴셜을 제공할 수 있다.
도 1을 참조하면, 일부 구현에서, 예시적인 시스템(100)은 개별 사용자(12)와 관련되고 네트워크(40)를 통해 원격 인증 시스템(110)(본 명세서에서 인증 서버로도 지칭됨), 원격 서비스 애플리케이션 시스템(120)(본 명세서에서 서비스 애플리케이션 서버로도 지칭됨) 및 원격 엔티티 시스템(130)(본 명세서에서 원격 엔티티로도 지칭됨)과 통신하는 사용자 디바이스(10)를 포함한다. 사용자 디바이스(10)는 데스크탑 워크스테이션, 랩탑 워크스테이션 또는 모바일 디바이스(즉, 스마트 폰)와 같은 임의의 컴퓨팅 디바이스에 해당할 수 있다. 원격 시스템(110, 120, 130)은 단일 컴퓨터, 다수의 컴퓨터 또는 확장 가능/탄력적 컴퓨팅 리소스(예를 들어, 데이터 처리 하드웨어) 및/또는 저장 리소스(예를 들어, 메모리 하드웨어)를 갖는 분산 시스템(예를 들어, 클라우드 환경)일 수 있다.
사용자(12)와 관련된 사용자 디바이스(10)(예를 들어, 모바일 폰)는 관련 메모리 하드웨어(20) 및 관련 데이터 처리 하드웨어(30)를 포함할 수 있다. 사용자 디바이스(10)는 메모리 하드웨어(20) 및 데이터 처리 하드웨어(30)를 활용하여 하나 이상의 서비스 애플리케이션(140, 140a-n)(서비스 앱이라고도 함)을 저장하고 실행한다. 일부 예에서, 서비스 애플리케이션(140)은 아래에서 더 상세히 설명되는 바와 같이, 결제자의 계정(즉, 사용자(12)의 사용자 계정)으로부터 수취인에게 실시간으로 자금을 이체하는 것을 용이하게 하는 결제 애플리케이션이다. 서비스 애플리케이션(140)은 사용자 디바이스(10)에서 또는 예를 들어, 웹 브라우저에서 독립 실행형 프로그램으로서 실행될 수 있다. 서비스 애플리케이션(140)은 동작 요청(142)을 획득, 수신 및/또는 생성한다. 동작 요청(142)은 일반적으로 사용자 액션에 응답하여 생성된다. 예를 들어, 서비스 애플리케이션(140)이 결제 애플리케이션인 경우, 사용자(12)는 결제 애플리케이션을 통해 자금을 전송하려고 시도함으로써 동작 요청(142)을 개시할 수 있다. 일부 예에서, 서비스 애플리케이션(140)은 사용자(12)로부터의 커맨드에 응답하여 동작 요청(142)을 생성한다. 다른 예에서, 서비스 애플리케이션(140)은 네트워크(40)를 통해 서비스 애플리케이션 서버(120)와 통신하고, 서비스 애플리케이션 서버(120)는 동작 요청(142)을 생성하여 동작 요청(142)을 서비스 애플리케이션(140)으로 전송한다.
동작 요청(142)은 동작과 관련된 추가 동작 정보(142b)와 함께 원격 엔티티 식별자(142a)를 포함한다. 원격 엔티티 식별자(142a)는 동작 요청(142)과 관련된 원격 엔티티(130)를 식별한다. 예를 들어, 원격 엔티티 식별자(142a)는 사용자(12)가 서비스 애플리케이션(140)과 연관시킨 금융 기관의 이름 또는 다른 고유 식별자일 수 있다. 동작 정보(142b)는 동작을 수행하는데 필요하거나 도움이 되는 정보의 호스트를 포함할 수 있다(도 3). 예를 들어, 동작 요청(142)이 금융 거래를 포함하는 경우, 동작 정보(142b)는 금융 결제에 대한 설명, 결제과 관련된 임의의 값 또는 금액, 원격 엔티티와 관련된 사용자의 계정을 식별하는 고유 식별자의 적어도 일부, 및/또는 수취인을 식별하는 수취인 식별자를 포함할 수 있다.
사용자 디바이스(10)는 또한 인증자 애플리케이션(150)을 실행한다. 여기에서 사용되는 바와 같이, 인증자 애플리케이션(150)은 또한 인증자 앱, 인증 애플리케이션, 또는 인증 앱으로 지칭될 수 있다. 인증자 애플리케이션(150)은 서비스 애플리케이션(140)으로부터 인증 요청(152)을 수신한다. 인증 요청(152)은 원격 엔티티(130)가 동작 요청(1402)과 관련된 동작(138)을 수행하기 전에 사용자(12)를 인증하기 위해 원격 엔티티(130)와 관련된 사용자 인증 크리덴셜(154)을 획득하도록 인증자 애플리케이션(150)에 요청한다.
사용자(12)는 하나 이상의 원격 엔티티(130)(예를 들어, 금융 기관)에 대한 사용자 크리덴셜(154)을 인증자 애플리케이션(150)에 제공한다. 즉, 사용자(12)는 원격 엔티티(130)에서 사용자(12)의 계정(137)(도 2)에 액세스하는데 필요한 크리덴셜(154)을 인증자 애플리케이션(150)에 제공한다. 사용자(12)는 임의의 수의 원격 엔티티(130)에 대해 별도의 크리덴셜(154)을 제공할 수 있다. 달리 말하면, 사용자는 인증자 애플리케이션(150)을 사용하여 임의의 수의 원격 엔티티(130)에 임의의 수의 사용자 계정을 "등록"할 수 있다. 사용자 크리덴셜(154)은 사용자 이름 및 패스워드, 개인 식별 번호(PIN), 일회용 패스워드(OTP), 고유 디바이스 키, 또는 원격 엔티티(130)가 인증 또는 암호화 증명(즉, 암호로 확인될 수 있는 주장)을 위해 요구하는 임의의 다른 데이터일 수 있다. 일부 예에서, 사용자(12)는 인증자 애플리케이션(150)에 원격 엔티티(130)로부터의 단일 계정을 등록하는 반면, 다른 예에서, 사용자(12)는 원격 엔티티(130)와 관련된 모든 계정을 동시에 등록한다.
각각의 원격 엔티티(130)에 대한 사용자 크리덴셜(154)을 사용자(12)로부터 수신하는 것에 추가하여, 인증자 애플리케이션(150)은 각각의 원격 엔티티(130)와 관련된 공개키(132)를 검색한다. 공개키(132)는 공개키 암호화(비대칭 암호화라고도 함)에 사용되는 키 쌍 내의 키들 중 하나를 구성한다. 공개키 암호화에서, 암호화 알고리즘은 공개키로 암호화된 데이터가 관련 개인키로만 복호화될 수 있도록 단방향 기능을 생성하는 개인키 및 대응하는 공개키를 생성한다. 이 예에서, 원격 엔티티(130)는 자신의 공개키(132)를 공개적으로 제공하고 관련된 개인키(133)를 숨긴 상태로 유지한다. 따라서, 일단 사용자 크리덴셜(154)이 원격 엔티티(130)의 공개키(132)를 사용하여 인증자 애플리케이션(150)에 의해 암호화되면, 원격 엔티티(130)(관련된 숨겨진 개인키(133) 포함)만이 암호화된 크리덴셜(154)을 복호화할 수 있다. 이러한 방식으로, 서비스 애플리케이션(140)은 암호화되지 않은 형식으로 사용자 인증 크리덴셜(154)을 획득하는 것이 제한된다.
사용자 크리덴셜(154)을 암호화하는 것에 추가하여, 인증자 애플리케이션(150)은 크리덴셜(154)으로 추가 정보(155)를 선택적으로 암호화한다. 예를 들어, 인증자 애플리케이션(150)은 암호화된 패키지(156)를 형성하기 위해 현재 타임스탬프 및 고유 ID와 같은 다른 정보와 함께 추가적인 거래 세부사항(예를 들어, 거래 금액, 계정 ID, 설명 등)을 암호화할 수 있다. 아래에서 더 자세히 논의되는 바와 같이, 이 추가 정보(155)는 동작의 추가 인증 및 검증을 제공하는 역할을 할 수 있다.
인증자 애플리케이션(150)은 암호화된 사용자 패키지(156)를 서비스 애플리케이션(140)에 제공한다. 이전에 논의된 바와 같이, 서비스 애플리케이션(140)에는 원격 엔티티의 개인키(133)(즉, 사용자 크리덴셜(154)을 암호화하는데 사용되는 공개키(132)와 관련된 키)가 없으므로 암호화되지 않은 크리덴셜(154)에 액세스할 수 없다. 서비스 애플리케이션(140)은 이제 암호화된 패키지(156)를 포함하는 동작 요청(142)을 원격 엔티티(130)로 전송한다. 원격 엔티티(130)는 관련된 개인키(133)를 사용하여 요청 복호화기(decryptor)(134)로 상기 수신된 동작 요청(142)으로부터 패키지(156)(암호화된 크리덴셜(154) 포함)를 복호화하고 그 복호화된 크리덴셜(154)을 크리덴셜 검증기(136)로 검증(확인)한다.
이제 도 2를 참조하면, 일부 구현에서, 시스템(100)은 사용자(12)와 관련된 금융 기관(130F)을 포함하는 원격 엔티티(130) 및 결제 애플리케이션(140P)을 포함하는 서비스 애플리케이션(140)을 포함한다. 이 경우, 동작 요청(142)은 금융 기관으로부터 수취인으로의 전자 결제를 개시하도록 결제 애플리케이션(140P)에 요청하는 전자 결제 요청(142P)이다. 예를 들어, 사용자 디바이스(10)는 결제 애플리케이션(140P)을 시작하여 수취인에게 자금을 이체할 수 있다. 결제 애플리케이션(140P)은 일반적으로 수취인의 신원, 거래 금액, 사용자(12)가 자금을 인출하고자 하는 계정과 같은 동작 정보(142b)를 요청한다. 사용자(12)로부터의 결제 확인(예를 들어, 사용자가 "결제 확인" 버튼(210)을 누름)은 결제 애플리케이션(140P)으로부터 인증자 애플리케이션(150)으로의 인증 요청(152)을 개시할 수 있다.
실시간 결제 네트워크(220)(본 명세서에서 검증 네트워크로도 지칭됨)는 은행간 소매 결제를 용이하게 하기 위해 일부 중앙 기관(예를 들어, 국가의 정부)에 의해 유지된다. 즉, RTP 네트워크는 신용 카드 운영과의 교환 및 결제를 처리하는 신용 카드 네트워크와 유사한 방식으로 청산소(clearing house) 역할을 하고 발행자 간에 자금을 결제할 수 있다. 예를 들어, 인도는 실시간 은행 간 결제 시스템인 즉시 결제 서비스를 포함하는 인도의 국제 결제를 유지 관리한다. 마찬가지로, 멕시코는 Banxico를 운영하여 멕시코에서 즉시 결제 서비스를 유지 관리한다. 일반적으로, 실시간 결제는 결제가 승인되기 전에 RTP 네트워크에 의해 확인 및/또는 인증되어야 한다. 일부 경우에, 중앙 기관(예를 들어, 정부)에서 RTP 네트워크를 제공하지 않고 모든 확인 및 인증을 개별 금융 기관에 맡기는 경우가 있다. RTP 네트워크 및/또는 금융 기관은 종종 애플리케이션 프로그래밍 인터페이스(API)를 통해 RTP 네트워크에 대한 액세스를 제공한다. 예를 들어, 일부 RTP 네트워크는 PISP(결제 개시 서비스 제공자) API를 제공한다.
여전히 도 2를 참조하면, 실시간 결제 네트워크(RTP 네트워크)(220)는 네트워크(40)와 통신할 수 있다. 결제 애플리케이션(140P)은 API를 통해 네트워크(220)에 액세스하여 결제를 개시할 수 있는 비금융 기관일 수 있다. 결제 애플리케이션(140P)은 일부 예에서 독립형 애플리케이션이고, 다른 예들에서는 웹 브라우저에서 실행된다. 일부 구현에서, 인증자 애플리케이션(150)으로부터 암호화된 패키지(156)를 수신한 후, 결제 애플리케이션(140P)은 패키지(156)를 결제 요청(142P)과 함께 결제 애플리케이션 서버(120P)(또는 간단히 '결제 서버(120P)')로 전송한다. 결제 애플리케이션 서버(120P)는 결제 애플리케이션(140P)으로부터의 요청을 RTP 네트워크(220)로 중계하는 컴퓨팅 엔티티이다. 결제 서버(120P)는 일반적으로 RTP 네트워크(220)에 의해 인증된다. 즉, 결제 서버(120P)는 서버(120P)가 상기 승인된 결제 애플리케이션(140P)에 서비스 중인 진짜 서버임을 RTP 네트워크(220)에 증명해야 한다. 일단 인증되면, 결제 서버(120P)는 수신된 패키지(156) 및 요청(142P)을 RTP 네트워크(220)로 포워딩한다.
아래에서 더 상세히 논의되는 바와 같이, RTP 네트워크(220)는 거래를 승인하기 전에 일련의 검증을 수행할 수 있다. 이러한 검증은 금융 기관(130F)이 요구하는 임의의 검증에 추가될 수 있다. RTP 네트워크 동작을 보호하기 위해, 인증자 애플리케이션(150)은 RTP 네트워크 공개키(222)로 크리덴셜(154)의 일부 또는 전부를 암호화할 수 있다. 원격 엔티티 공개키(132)(즉, 금융 기관(130F)의 공개키)와 같이, RTP 네트워크 공개키(222)는 RTP 네트워크가 관련된 비밀 네트워크 개인키(224)를 유지하는 동안 공개키 암호화에 사용되는 키 쌍중 하나일 수 있다. 일부 구현에서, 네트워크(220)는 RTP 네트워크(220)의 인증을 확립하는데 사용되는 별도의 마스터 서명키(225)를 갖는다. 이 키로 서명된 모든 데이터는 대응하는 마스터 공개키를 사용하여 검증될 수 있다. 예를 들어, 인증자 앱(150)은 마스터 서명 키(225)에 의해 서명된 Diffie-Hellman(DH) 키를 네트워크(220)로부터 수신하여 인증자 앱(150)이 DH 키의 진위를 확인할 수 있도록 할 수 있다. 마스터 공개키는 만료 시간이 매우 길 수 있으므로 인증자 앱(150)에 하드코딩될 수 있다. 사용자 크리덴셜(154)의 일부 또는 전부는 원격 엔티티 키(132) 및 네트워크 키(222) 중 하나 또는 둘 모두로 암호화될 수 있다. 크리덴셜(154)이 둘 다로 암호화되면, RTP 네트워크(220)는 패키지(156)를 포워딩하기 전에 네트워크 개인키(224)를 사용하여 상기 암호화된 패키지(156)를 복호화할 수 있고, 원격 엔티티(130)가 패키지(156)의 그 부분을 복호화하고 액세스할 수 있도록 원격 엔티티(130)에 대한 요청(142P)을 요청할 수 있다.
금융 기관(130F)이 RTP 네트워크(220), 결제 애플리케이션 서버(120P), 또는 일부 예에서 결제 애플리케이션(140P)으로부터 직접 결제 요청(142P)을 수신한 후, 금융 기관(130F)은 동작 요청(142) 내에 포함된 임의의 동작 정보(142b)를 검증한다. 예를 들어, 금융 기관(130F)은 동작 요청(142)의 동작 정보(142b)(예를 들어, 거래 금액, 계정 ID 등)가 인증자 애플리케이션(150)에 의해 암호화된 추가 정보(155)와 매칭(일치)되는지 검증할 수 있다. 일부 예에서, 금융 기관(140F)은 요청을 보낸 모바일 디바이스와 관련된 전화 번호가 액세스되는 계정과 관련된 전화 번호와 매칭하는지 검증(확인)한다. 금융기관(140F)이 원하는 경우(예를 들어, 거래가 의심되는 경우), 금융 기관은 사용자(12)에게 추가 사용자 인증 크리덴셜(154)을 요청하는 하나 이상의 챌린지 요청(144)을 발행할 수 있다. 금융 기관(130F)으로부터의 임의의 챌린지 요청(144)은 RTP 네트워크(220)를 통해 결제 서버(120P), 결제 애플리케이션(140P)으로 다시 전달될 수 있고, 최종적으로 인증자 애플리케이션(150)으로 다시 전달될 수 있으며, 여기서 인증자 앱(150)은 챌린지 응답(157)으로 챌린지 요청(144)을 만족시키기 위해 사용자(12)로부터 상기 획득된 추가 사용자 인증 크리덴셜(154)을 획득하고 암호화할 수 있다(도 2). 금융 기관(140F)은 챌린지 응답(157)으로부터 상기 암호화된 추가 사용자 인증 크리덴셜(154)을 유사하게 복호화하고, 복호화된 추가 사용자 인증 크리덴셜(154)을 검증하여 챌린지 요청(144)을 만족시킬 수 있다. 일단 금융 기관(130F)이 거래를 수락하면, 자금이 이체되고 금융 기관(130F)은 승인(acknowledgement)을 RTP 네트워크(220)로 다시 전달할 수 있으며, 이는 차례로 통지(212)로서 사용자(12)에게 다시 흐른다. 예를 들어, 결제 애플리케이션(140P)은 성공의 시각적 표시를 디스플레이하고 및/또는 청각적 메시지를 재생할 수 있다.
이전 예의 맥락에서 서비스 애플리케이션(140)은 결제 애플리케이션(140P)으로 설명되고 원격 엔티티(130)는 금융 기관(130F)으로 설명되었지만, 인증자 애플리케이션(150)은 사용자(12)가 신뢰할 수 없는 제3자 애플리케이션을 통해 원격 엔티티로 민감한 정보를 전송하는 모든 상황에 적용할 수 있다. 예를 들어, 사용자(12)는 평문(cleartext)/일반 텍스트(plaintext)의 사용자 크리덴셜(154)을 노출하지 않고 개인 기록 데이터 저장소로부터 사용자와 관련된 레코드(예를 들어, 원격 엔티티가 기밀을 유지할 의무가 있는 개인 레코드) 또는 다른 개인 정보에 대한 정보 검색 요청(142R)을 개시할 수 있다. 일반 텍스트/일반 텍스트에서. 이제 도 4를 참조하면, 일부 구현에서, 인증자 애플리케이션(150)은 사용자 크리덴셜(154)을 암호화하여 사용자(12)와 관련된 개인 정보(420)를 저장하는 개인 기록 데이터 저장소(410)에 대한 액세스를 가능하게 한다. 개인 데이터 저장소(410)는 민감한 정보(예를 들어, 건강 기록)의 온라인 저장소일 수 있다. 원격 엔티티(130)는 서비스 애플리케이션(140)으로부터 정보 검색 요청(142R)을 수신한 후, 요청 복호화기에서 상기 암호화된 패키지(156)를 복호화하여 복호화된 크리덴셜(154D)을 획득하고, 그 크리덴셜을 크리덴셜 검증기(136)에서 검증한다. 성공적인 검증 후에, 원격 엔티티(130)는 개인 정보를 저장하는 개인 기록 데이터 저장소(410)로부터 하나 이상의 사용자 기록(420)을 검색한다. 원격 엔티티는 검색된 기록(420)을 사용자 디바이스(10)를 통해 사용자(12)에게 반환하거나, 승인된 경우 그 기록을 제3자에게 전달할 수 있다. 예를 들어, 사용자(12)는 서비스 애플리케이션(140)이 기록을 획득하는데 필요한 임의의 정보(예를 들어, 사회 보장 번호)를 학습하지 않고 기록을 필요로 하는 시설에 개인 기록을 전송하도록 개인 기록 회사에 승인할 수 있다.
일부 구현에서 인증자 애플리케이션(150), 서비스 애플리케이션(140), 네트워크(220), 및 원격 엔티티(130)는 모든 적용 단계에서 일련의 표준 검증을 수행함으로써 보안 환경을 제공한다. 예를 들어, 인증 앱(150)이 서비스 앱(140)으로부터 요청을 수신할 때마다, 인증자 앱(150)은 서비스 앱(140)으로부터 서비스 앱 식별(ID)(즉, 서비스 앱(140)을 고유하게 식별하는 ID) 및/또는 승인 인증서 또는 어떤 다른 형태의 인증 토큰(153)을 확인할 수 있다. 서비스 앱(140)은 서비스 앱 서버(120)와 통신할 때마다 (예를 들어, x509 인증서 서명을 통해) 서버의 인증서를 확인할 수 있다. 서비스 앱 서버(120)는 일부 예에서 서비스 앱 사용자를 인증하고, 표준 검증으로서 상호 SSL(Secure Sockets Layer) 또는 PGP(Pretty Good Privacy) 암호화를 사용하여 네트워크(220)에 대해 인증한다.
네트워크(220)는 서비스 앱 서버(120)로부터 요청을 수신할 때마다 다양한 검사(check)를 수행할 수 있다. 예를 들어, 네트워크(220)는 상호 SSL 또는 PGP 암호화를 이용하여 서비스 앱 서버(120)를 인증할 수 있다. 네트워크(220)는 네트워크 개인 암호화 키(224)를 사용하여 인증자 앱(150)으로부터 데이터를 복호화할 수 있다. 네트워크(220)는 또한 (예를 들어 사용자 디바이스(10)(도 6)의 공개키를 통해) 인증자 앱(150)으로부터의 임의의 서명된 메시지의 서명을 검증할 수 있다. 일부 구현에서, 네트워크(220)는 서비스 앱 ID가 서비스 앱 서버에 의해 제공되는 ID와 매칭하는지 확인하고, 예를 들어 인증자 앱(150)에 의해 캡처된 타임스탬프를 현재 시간과 비교함으로써 인증자 앱(150)에 의해 수행된 임의의 인증이 최신임을 보장한다. 네트워크(220)는 (예를 들어, 재생(replay) 공격을 방지하기 위해) 충분히 오래된 동작을 무효화할 수 있다. 선택적으로, 네트워크(220)는 동의 아키텍처 및 관련 서비스 앱 ID에 액세스하도록 승인된 모든 서비스 애플리케이션(140)의 화이트리스트를 유지한다. 네트워크(220)는 적절한 서버 간 인증을 위해 화이트리스트에 등록된 서비스 애플리케이션에 해당하는 서버의 공개키 저장소를 유지할 수 있다.
일부 구현에서, 사용자(12)는 사용 전에 서비스 애플리케이션(140)에 사용자 디바이스(10) 및 인증자 애플리케이션(150)을 등록하거나 초기화한다. 이 등록은 디바이스(10), (서비스 애플리케이션(140)과 공유될 수 있는) 사용자(12)의 디지털 신원, 및 (원격 엔티티(130) 또는 네트워크(220)와 공유될 수 있는) 사용자(12)의 실제 신원 간의 강력한 바인딩을 제공한다. 일부 예에서, 인증자 애플리케이션(150)은 신뢰할 수 있는 앱이다. 즉, 인증자 애플리케이션(150)은 검증된 사용자 정보의 주장을 제공하기 위해 네트워크(220) 및/또는 원격 엔티티(130)에 의해 신뢰된다.
이제 도 5a를 참조하면, 서비스 애플리케이션(140)의 등록은 일반적으로 사용자(12)로부터의 요청을 통해(예를 들어, 서비스 애플리케이션 내에서 사용자 입력(52)을 작동시키는 것을 통해) 시작된다. 서비스 애플리케이션(140)은 이름, 전화번호, 고유 식별자, 및/또는 서비스 애플리케이션(140)이 인증을 위해 원하는 임의의 다른 사용자 정보와 같은 다양한 사용자 정보(504)를 수집한다(도 5b). 일부 예에서, 서비스 애플리케이션(140)은 서비스 애플리케이션 서버(120)를 이용하여 사용자 정보(504)를 검증하는 반면, 다른 예에서 서비스 애플리케이션(140)은 이미 정보를 사전 검증했다. 예를 들어, 일부 서비스 애플리케이션(140)은 일부 사용자에 대해 사전 검증된 전화번호를 이미 갖고 있을 수 있다. 일부 애플리케이션의 경우, 서비스 애플리케이션(140)은 예를 들어 중앙 데이터베이스에 질의함으로써 검증될 수 있는 식별 또는 식별 정보를 수집할 수 있다.
이제 도 6을 참조하면, 사용자 정보(94)를 수집 및 검증한 후, 서비스 애플리케이션(140)은 애플리케이션 등록 정보(604, 604a-c)를 포함하는 서비스 등록 요청(602)을 전송함으로써 인증자 애플리케이션(150)을 호출한다. 이 정보(604)는 인증자 애플리케이션(150)이 등록을 확인하고 인증하는데 사용하는 데이터를 제공한다. 예를 들어, 등록 정보(604)는 서비스 애플리케이션 ID(604a), 서비스 앱(140) 네임스페이스에서 사용자(12)를 고유하게 식별하는 사용자 식별(사용자 ID)(604b)(즉, 서비스 앱(140)의 다른 사용자가 동일한 사용자를 갖지 않음), 및 동의 식별 넌스(604c)를 포함할 수 있다. 서비스 애플리케이션 ID(604a)는 서비스 애플리케이션(140)이 승인된 애플리케이션인지 검증하기 위해 사용될 수 있다. 동의 식별 넌스(604c)는 재생 공격을 방지하기 위해 사용될 수 있다. 인증자 애플리케이션(150)은 후술하는 바와 같이 사용자 ID(604b)를 사용하여 고유한 사용자-특정 키를 생성한다.
인증자 앱(150)은 서비스 등록 요청(602)을 수신하고 위에서 논의된 일련의 표준 검증을 수행할 수 있다. 인증자 앱(150)은 디바이스(10)의 신원을 고유하게 증명하는데 사용되는 고유한 디바이스 키 쌍(606)을 생성한다. 키 쌍의 개인키(606R)는 디바이스내(예를 들어, 메모리 하드웨어(20)내)의 보안 엘리먼트(615)에 저장되는 한편, 대응하는 공개키(606U)는 공개(예를 들어, 네트워크(220) 및/또는 원격 엔티티(130))에 제공된다. 보안 엘리먼트(616)는 디바이스(10)의 임의의 사용자 또는 애플리케이션이 개인키(606R)에 대한 액세스를 얻을 수 없도록 보장한다. 인증자 앱(150)은 서비스 애플리케이션 ID(604a), 사용자 ID(604b), 고유 디바이스 정보(예를 들어, 일련 번호 등)를 사용하여 디바이스 키(606)를 생성할 수 있다. 이러한 방식으로, 인증자 애플리케이션(150)은 각 서비스 애플리케이션(140)의 각 사용자에 대해 고유한 디바이스 키(606)를 생성한다.
이제 도 7을 참조하면, 일부 예에서, 개인키(606R)의 사용은 사용자 챌린지(704)에 의해 보호된다. 예를 들어, 사용자 디바이스(10)가 개인키(606R)로 메시지에 서명하기 전에(즉, 메시지를 인증하기 위해), 사용자 디바이스(10)는 사용자(12)에게 패스워드를 입력하도록 프롬프트하거나 사용자를 인증하는데 사용할 수 있는 다른 식별자를 제공할 수 있다. 따라서, 디바이스 개인키(606R)에 의해 서명된 메시지는 본질적으로 사용자 및 디바이스 인증의 두 가지 요소(factor)를 내포한다.
다시 도 6을 참조하면, 인증자 앱(150)은 일부 구현에서 디바이스 개인키(606R)를 이용하여 서비스 앱 ID(604a), 동의 논스(604c), 및/또는 서비스 애플리케이션(140)의 임의의 인증서를 포함하는 서비스 등록 응답(608)에 서명한다. 이들 키에 의한 증명은 디바이스의 무결성과 키(606)의 강도 및 속성을 검증하기 위해 사용자 디바이스(10)의 운영 체제에 의해 제공될 수 있다. 인증자 앱(150)은 서비스 앱 서버(120)(도 1)와의 등록 요청을 개시하는 서비스 앱(140)에 상기 서명된 응답(608)(서명된 서비스 애플리케이션 ID(604a)을 포함함)을 반환한다. 서비스 앱 서버(120)는 일부 예에서는 네트워크(220)와, 다른 예에서는 원격 엔티티(130)와 등록 요청을 개시한다. 서비스 앱 서버(120)는 서비스 애플리케이션(140)으로 사용자(12)를 고유하게 식별하는 고유 사용자 ID(604b)(또는 그의 고유 파생물, 예를 들어, 해시)를 네트워크(220)(또는 원격 엔티티(130))에 전송한다. 다른 검증 정보(예를 들어, 전화번호, 고유 식별자, 디바이스 공개키(606U) 등)도 전송될 수 있다.
네트워크(220) 또는 원격 엔티티(130)는 등록 요청을 수신한 후, 위에서 논의된 일련의 표준 검증을 수행하고 디바이스 키(606R)의 속성을 검증할 수 있다. 네트워크(220) 또는 원격 엔티티(130)는 성공적인 검증에 응답하여, (예를 들어, 서비스 애플리케이션 ID(604a), 사용자 ID(604b), 확인된 전화번호, 고유 식별자 등을 사용하여) 사용자(12), 서비스 앱(140) 및 디바이스(10) 간의 연관을 포함하는 프로파일 ID(610)를 생성하고 프로파일 ID(610)를 서비스 앱 서버(120)로 다시 전송하고, 서비스 앱 서버는 프로파일 ID(610)를 저장하여 사용자 등록을 완료한다. 서비스 앱(140)은 성공적인 등록의 확인을 사용자(12)에게 제공할 수 있다. 사용자 등록은 네트워크(220) 및/또는 원격 엔티티(130)가 서비스 앱(140)에 의해 정의된 디지털 아이덴티티가 유효한 사용자 정보(604)(예를 들어, 확인된 전화번호)를 소유하고, 사용자 디바이스(10)를 소유하고, 등록에 동의했다는 것을 안정적으로 확립하도록 허용했다. 서비스 앱 서버(120)는 사용자(12)를 서비스 앱(140)과 관련시키는 프로파일 ID 및 사용자 정보(604)를 저장하고 있다. 인증자 앱(150)은 증명으로서 사용될 수 있는 사용자(12) 및 서비스 앱(140)에 특정된 상기 생성된 디바이스 키(606)를 저장했다.
서비스 앱(140)에 사용자 등록 후, 일부 구현에서, 사용자(12)는 사용자 디바이스(10), 프로파일 ID(610) 및 관련된 계정 사이의 바인딩을 설정하기 위해 원격 엔티티(130)에 계정(또는 다수의 계정)을 등록한다. 이제 도 8a를 참조하면, 사용자(12)는 사용자 입력 표시(802)를 제공함으로써(예를 들어, 디바이스(10)에서 실행되는 그래픽 사용자 인터페이스에 디스플레이된 그래픽 엘리먼트를 선택함으로써) 계정 등록 요청(902)(도 9)을 생성한다. 서비스 앱(140)은 사용자(12)가 선택할 수 있도록 그래픽 사용자 인터페이스에 표시하기 위한 유효한 기관 리스트(804)(도 8b)를 제공함으로써 응답할 수 있다. 리스트(804)는 서비스 앱 서버(120) 또는 네트워크(220)로부터 주기적으로 페치될 수 있고 이름, 로고 등과 같은 메타데이터를 포함할 수 있다. 리스트(804)는 주기적 업데이트 사이에 사용자 디바이스(10)의 메모리 하드웨어(20)에 캐시될 수 있다. 사용자(12)는 리스트(804)로부터 선택하기 위해 터치, 스타일러스, 음성, 제스처, 또는 임의의 다른 입력 메커니즘을 사용하여 입력 표시를 제공하고 및/또는 계정 등록 요청(902)을 개시하기 위한 입력 표시(802)를 제공할 수 있다.
이제 도 9를 참조하면, 일부 구현에서, 서비스 앱(140)은 인증자 앱(150)에 계정 등록 요청(902)을 전송함으로써 인증자 앱(150)으로부터 디바이스 소유권의 검증을 요청한다. 계정 등록 요청(902)은 적어도 사용자 ID(604b)를 포함한다. 인증자 앱(150)은 계정 바인딩 요청(즉, 계정 등록 요청(902))이 관련된 사용자 등록(도 6 참조)을 수행한 동일한 디바이스(10)로부터 발신되었음을 설정하는 전술한 표준 검증을 수행할 수 있다. 인증자 앱(150)은 (도 6에 도시된 바와 같은 디바이스 키(606R)로) 예를 들어, 서비스 앱(140)의 식별자 및 현재 타임스탬프를 포함하는 계정 등록 응답(908)에 서명하여 디바이스 소유의 요소를 설정한다. 일부 예에서, 인증자 앱(150)은 지식 또는 내재의 제2 요소를 설정하기 위해 사용자에게 챌린지(702)를 추가로 발행한다(도 7). 서명된 계정 등록 응답(908)은 서비스 앱(140)으로 반환된다.
일부 구현에서, 서비스 앱(140)은 서명된 응답(908), 프로파일 ID(610) 및 원격 엔티티(130)의 식별(네트워크(220)로 전송할 때)를 예를 들어, 서비스 애플리케이션 서버(120)를 통해 전송함으로써 네트워크(220) 또는 원격 엔티티(130)에 사용자의 12개의 관련 계정을 나열하도록 요청한다. 네트워크(220) 또는 원격 엔티티(130)는 자신의 표준 검증을 수행하고 임의의 애플리케이션 사용자 정보(604)(예를 들어, 검증된 전화 번호, 고유 식별자 등)를 검증할 수 있다. 일부 예에서, 네트워크(220)는 임의의 필요한 식별 데이터(예를 들어, 전화번호 또는 고유 식별자)를 원격 엔티티(130)에 전달하는 것과 함께 적용 가능한 계정(즉, 사용자(12)에 속하는 계정)을 나열하라는 요청을 전달한다. 원격 엔티티(130)는 계정 리스트(910)를 서비스 앱 서버(120)로 다시 반환할 수 있고, 이에 의해 계정 리스트(910)는 식별 데이터에 기초하여 사용자와 연관된다. 계정 리스트(910)는 계정과 관련된 이름, 계정 이름, 계정 참조 ID, 및 고유 계정 식별자의 적어도 일부(예를 들어, 계정 번호의 마지막 4자리)와 같은 추가 메타데이터(911)를 포함할 수 있다. 선택적으로, 원격 엔티티(130)는 이 시점에서 추가 챌린지(920)를 발행할 수 있다. 예를 들어, 원격 엔티티(130)는 (단문 메시지 서비스(SMS), 이메일, 하드웨어 기반 등을 통해) 일회용 패스워드, 패스워드 또는 개인 식별 번호(PIN), 특정 계정 세부 정보 등을 요청할 수 있다. 일부 구현에서, 이러한 챌린지는 한 요소는 일치하지만 다른 요소는 일치하지 않는 경우 트리거된다. 예를 들어, 사용자의 외부 데이터베이스(예를 들어, 고유 식별자)로부터의 ID는 일치하지만 전화번호는 일치하지 않는다. 이것은 "Yellow Path(황색 경로)" 인증(즉, 추가 검증이 필요한 인증)을 시작할 수 있다. 추가 보안을 위해 챌린지가 암호화될 수 있다. 예를 들어, DH 키 교환의 세션 키를 사용하여 챌린지가 암호화될 수 있다.
서비스 앱 서버(120)는 계정 리스트(910)를 사용자(12)에게 디스플레이하기 위해 사용자 디바이스(10)에서 실행되는 서비스 앱(140)으로 중계한다. 일부 구현에서, 사용자(12)는 사용자(12)와 관련된 계정 리스트(910)로부터 특정 계정을 선택한다. 일부 구현에서 사용자(12)는 모든 이용 가능한 계정을 선택한다. 서비스 앱(140)은 인증자 앱(150)으로부터 디바이스 소유권을 다시 확인하고 원격 엔티티(130)로부터의 챌린지를 만족시키는데 필요한 임의의 데이터를 캡처할 수 있다. 이 경우, 서비스 앱(140)은 사용자 ID(604b) 및 서명된 원격 엔티티 암호화 키를 전달하여 챌린지 데이터를 암호화한다. 임의의 표준 검증을 다시 수행한 후, 인증자 앱(150)은 소유를 확인하고 원격 엔티티로부터 임의의 챌린지 데이터를 발행하기 위해 사용자에게 챌린지(예를 들어, 사용자 디바이스를 잠금 해제하고, 비밀번호 입력하도록 사용자에게 요청)한다. 인증자 앱(150)은 원격 엔티티(130) 키로 임의의 챌린지 결과, 현재 타임스탬프 및 서비스 앱 ID를 암호화하고 암호화된 챌린지 응답(930)에 서명한다.
인증자 앱(150)은 서명되고 암호화된 응답(930)을 서비스 앱(140)으로 전달하고, 서비스 앱은 이를 차례로 전달하고 바인딩 요청(940)을 서비스 앱 서버(120)로 전달한다. 서비스 앱 서버(120)는 프로파일 ID(610), 원격 엔티티 ID, 및 임의의 필요한 계정 ID(909)(즉, 선택된 계정을 고유하게 식별하는 ID)와 함께 데이터를 네트워크(220) 또는 원격 엔티티(130)로 전달한다. 서비스 앱 서버(120)는 또한 계정 바인딩을 나타내기 위해 관련 ID(912)를 생성하고 이 ID(912)를 네트워크(220)/원격 엔티티(130)에도 전달할 수 있다. 원격 엔티티(130)는 (네트워크(220) 또는 서비스 앱 서버(120)로부터) 바인딩 요청(940)을 수신하고 임의의 챌린지 데이터를 복호화하고 검증한다. 그런 다음, 원격 엔티티(130)는 선택된 계정(들)과 디바이스 공개키(606U) 사이의 바인딩(960)을 저장하고 관련 ID로 표시된다. 원격 엔티티(130)는 거래 동안 인증을 돕기 위해 발행된 챌린지에 대한 임의의 세부 사항(예를 들어, 황색 경로, 녹색 경로 등)을 기록할 수 있다. 원격 엔티티는 디바이스 공개키(606U)를 저장할 수 있어 원격 엔티티(130)가 미래의 거래 이전에 또는 그 동안 디바이스 증명을 검증할 수 있다.
따라서, 계정 등록 동안, 원격 엔티티(130)는 원격 엔티티 계정 ID 및 관련 ID(912)로 표시되는 디바이스 공개키(606U) 사이의 바인딩(960)을 저장한다. 인증자 앱(150)은 이 바인딩을 나타내는 키 쌍(606)을 등록했으며 키 쌍의 개인키(606R)에 의해 서명된 임의의 향후 증명은 고유의 제2 요소뿐만 아니라 디바이스 소유권의 증거를 제공한다. 서비스 앱 서버(120)는 바인딩에 관한 다양한 데이터를 저장한다. 예를 들어, 서비스 앱 서버(120)는 관련 ID, 원격 엔티티 계정 메타데이터, 프로파일 ID(610), 사용자 ID(604b), 및 디바이스 ID를 저장할 수 있다. 이러한 방식으로, 인증자 앱(150)은 데이터를 네트워크(220) 및 원격 엔티티(130)로 안전하게 전달하는 동시에 네트워크(220) 및 원격 엔티티(130)가 사용자 등록 중에 등록된 디바이스에서 임의의 데이터가 캡처되었음을 확인할 수 있음을 보장한다.
도 10은 동의 아키텍처 내에서 동작을 인증하는 방법(1000)에 대한 동작의 예시적인 배열의 흐름도이다. 방법(1000)은 서비스 애플리케이션(140) 및 인증자 애플리케이션(150)을 실행하는 사용자 디바이스(10)의 데이터 처리 하드웨어(30)에서, 동작(138)을 수행하기 위해 원격 엔티티(130)에 액세스하도록 서비스 애플리케이션(140)에 요청하는 동작 요청(142)을 획득하는 단계로 동작(1002)에서 시작한다. 동작 요청(142)은 원격 엔티티(130)를 식별하는 원격 엔티티 식별자(142a) 및 동작(138)과 관련된 동작 정보(142b)를 포함한다. 동작(1004)에서, 방법(1000)은 데이터 처리 하드웨어(30)에서 실행되는 서비스 애플리케이션(140)에 의해, 원격 엔티티(130)가 동작(138)을 수행하기 전에 사용자(12)를 인증하기 위해 원격 엔티티(130)와 관련된 사용자 디바이스(10)의 사용자(12)의 사용자 인증 크리덴셜(154)을 획득하도록 인증자 애플리케이션(150)에 요청하는 인증 요청(152)을 발행하는 단계를 포함한다.
동작(1006)에서, 방법(1000)은 데이터 처리 하드웨어(30)에서 실행되는 인증자 애플리케이션(150)에 의해, 원격 엔티티(130)의 공개키(132)를 사용하여 상기 획득된 사용자 인증 크리덴셜(154)을 암호화하는 단계를 포함한다. 서비스 애플리케이션(140)은 암호화되지 않은 형식으로 사용자 인증 크리덴셜(154)을 획득하는 것이 제한된다. 동작(1008)에서, 방법(1000)은 또한, 데이터 처리 하드웨어(30)에서 실행되는 인증자 애플리케이션(150)에 의해, 암호화된 사용자 인증 크리덴셜(154)을 서비스 애플리케이션(140)에 제공하는 단계를 포함하고, 동작(1010)에서, 방법(1000)은 데이터 처리 하드웨어(30)에서 실행되는 서비스 애플리케이션(140)에 의해, 동작 요청(142)을 원격 엔티티(130)로 전송하는 단계를 포함한다. 동작 요청(142)은 원격 엔티티(130)에 의해 수신될 때, 원격 엔티티(130)로 하여금 원격 엔티티(130)의 개인 키(133)를 사용하여 상기 암호화된 사용자 인증 크리덴셜(자격 증명)(154)을 복호화하고 복호화된 사용자 인증 크리덴셜(154)을 검증하게 한다.
도 11은 본 문서에 설명된 시스템 및 방법을 구현하는데 사용될 수 있는 예시적인 컴퓨팅 디바이스(1100)의 개략도이다. 컴퓨팅 디바이스(1100)는 랩탑, 데스크탑, 워크스테이션, PDA, 서버, 블레이드 서버, 메인 프레임 및 기타 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내도록 의도된다. 여기에 도시된 컴포넌트(구성 요소), 이들의 연결 및 관계, 및 이들의 기능은 예시일 뿐이며, 본 문서에서 설명 및/또는 청구된 발명의 구현을 제한하려는 것이 아니다.
컴퓨팅 디바이스(1100)는 프로세서(1110), 메모리(1120), 저장 디바이스(1130), 메모리(1120) 및 고속 확장 포트(1150)에 연결되는 고속 인터페이스/제어기(1140), 저속 버스(1170) 및 저장 디바이스(1130)에 연결되는 저속 인터페이스/제어기(1160)를 포함한다. 각각의 컴포넌트(1110, 1120, 1130, 1140, 1150, 1160)는 다양한 버스를 사용하여 상호 연결되며, 공통 마더보드에 장착되거나 적절한 다른 방식으로 장착될 수 있다. 프로세서(1110)는 고속 인터페이스(1140)에 연결된 디스플레이(1180)와 같은 외부 입/출력 디바이스에 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 디스플레이하기 위해 메모리(1120) 또는 저장 디바이스(1130)에 저장된 명령들을 비롯하여 컴퓨팅 디바이스(1100) 내에서 실행하기 위한 명령들을 처리할 수 있다. 다른 구현에서, 다중 프로세서 및/또는 다중 버스가 다중 메모리 및 메모리 유형과 함께 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스(1100)가 연결될 수 있으며, 각 디바이스는 (예를 들어, 서버 뱅크, 블레이드 서버 그룹, 또는 다중 프로세서 시스템으로서) 필요한 동작들의 일부를 제공한다.
메모리(1120)는 컴퓨팅 디바이스(1100) 내에 비-일시적으로 정보를 저장한다. 메모리(1120)는 컴퓨터 판독 가능 매체, 휘발성 메모리 유닛(들), 또는 비-휘발성 메모리 유닛(들)일 수 있다. 비-일시적 메모리(1120)는 컴퓨팅 디바이스(1100)에 의한 사용을 위해 임시 또는 영구 기반으로 프로그램(예를 들어, 명령 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는데 사용되는 물리적 디바이스일 수 있다. 비-휘발성 메모리의 예로는 플래시 메모리 및 판독 전용 메모리(ROM)/프로그래밍 가능한 판독 전용 메모리(PROM)/소거 가능한 프로그래밍 가능한 판독 전용 메모리(EPROM)/전자적으로 소거할 수 있는 프로그래밍 가능한 판독 전용 메모리(EEPRON)(예를 들어, 일반적으로 부팅 프로그램과 같은 펌웨어에 사용됨)를 포함하지만 이에 국한되지 않는다. 휘발성 메모리의 예로는 RAM, DRAM, SRAM(Static Random Access Memory), PCM(Phase Change Memory) 및 디스크 또는 테이프가 포함되지만 이에 국한되지 않는다.
저장 디바이스(1130)는 컴퓨팅 디바이스(1100)를 위한 대용량 저장 디바이스를 제공할 수 있다. 일부 구현에서, 저장 디바이스(1130)는 컴퓨터 판독 가능 매체이다. 다양한 상이한 구현에서, 저장 디바이스(1130)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스, 또는 테이프 디바이스, 플래시 메모리 또는 기타 유사한 고체 상태 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 구성ㄴ의 디바이스를 포함하는 디바이스 어레이일 수 있다. 추가 구현에서, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 구현된다. 컴퓨터 프로그램 제품은 실행될 때 위에서 설명한 것과 같은 하나 이상의 방법을 수행하는 명령들을 포함한다. 정보 매체에는 메모리(1120), 저장 디바이스(1130), 또는 프로세서(1110) 상의 메모리와 같은 컴퓨터 판독 가능 매체 또는 기계 판독 가능 매체이다.
고속 제어기(1140)는 컴퓨팅 디바이스(1100)에 대한 대역폭 집약적 동작을 관리하는 반면, 저속 제어기(1160)는 더 낮은 대역폭 집약적 동작을 관리한다. 이러한 직무 할당은 예시일 뿐이다. 일부 구현에서, 고속 컨트롤러(1140)는 메모리(1120), 디스플레이(1180)(예를 들어, 그래픽 프로세서 또는 가속기를 통해), 및 다양한 확장 카드(미도시)를 수용할 수 있는 고속 확장 포트(1150)에 연결된다. 일부 구현에서, 저속 컨트롤러(1160)는 저장 디바이스(1130) 및 저속 확장 포트(1190)에 연결된다. 다양한 통신 포트(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트(1190)는 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입력/출력 디바이스, 또는 예를 들어 네트워크 어댑터를 통해 스위치나 라우터와 같은 네트워킹 디바이스에 연결될 수 있다.
컴퓨팅 디바이스(1100)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(1100a)로서 또는 이러한 서버(1100a) 그룹에서 랩톱 컴퓨터(1100b)로서 또는 랙 서버 시스템(1100c)의 일부로서 여러 번 구현될 수 있다.
본 명세서에 기술된 시스템 및 기술의 다양한 구현은 디지털 전자 및/또는 광 회로, 집적 회로, 특별히 설계된 ASIC(application specific integrated circuit), 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합으로 실현될 수 있다. 이러한 다양한 구현은 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령을 수신하고, 이들로 데이터 및 명령을 전송하도록 결합된, 특수 또는 범용일 수 있는 적어도 하나의 프로그램 가능한 프로세서를 포함하는 프로그램 가능한 시스템에서 실행 가능 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있다.
소프트웨어 애플리케이션(즉, 소프트웨어 리소스)은 컴퓨팅 디바이스가 작업을 수행하게 하는 컴퓨터 소프트웨어를 지칭할 수 있다. 일부 예에서, 소프트웨어 애플리케이션은 "애플리케이션", "앱" 또는 "프로그램"으로 지칭될 수 있다. 예시적인 애플리케이션은 시스템 진단 애플리케이션, 시스템 관리 애플리케이션, 시스템 유지 관리 애플리케이션, 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 메시징 애플리케이션, 미디어 스트리밍 애플리케이션, 소셜 네트워킹 애플리케이션 및 게임 애플리케이션을 포함하지만 이에 한정되지 않는다.
이러한 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드로도 알려짐)은 프로그램 가능한 프로세서를 위한 기계 명령을 포함하고, 고급 절차적 및/또는 객체 지향형 프로그래밍 언어 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본 명세서에서 사용되는 바와 같이, "기계 판독 가능 매체" 및 "컴퓨터 판독 가능 매체"라는 용어는 기계 판독 가능 신호로서 기계 명령을 수신하는 기계 판독 가능 매체를 포함하여, 기계 명령 및/또는 데이터를 프로그램 가능 프로세서에 제공하는데 사용되는 임의의 컴퓨터 프로그램 제품, 비-일시적 컴퓨터 판독가능 매체, 장치 및/또는 디바이스(예를 들어, 자기 디스크, 광 디스크, 메모리, 프로그래밍 가능 논리 장치(PLD)를 지칭한다. "기계 판독 가능 신호"라는 용어는 기계 명령 및/또는 데이터를 프로그래밍 가능 프로세서에 제공하는데 사용되는 모든 신호를 지칭한다.
본 명세서에 설명된 프로세스 및 논리 흐름은 데이터 처리 하드웨어라고도 하는 하나 이상의 프로그램 가능 프로세서에 의해 수행될 수 있으며, 하나 이상의 컴퓨터 프로그램을 실행하여 입력 데이터에 대해 작동하고 출력을 생성함으로써 기능을 수행할 수 있다. 프로세스 및 논리 흐름은 FPGA(필드 프로그래머블 게이트 어레이) 또는 ASIC(주문형 집적 회로)와 같은 특수 목적 논리 회로에 의해 수행될 수도 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어 범용 및 특수 목적 마이크로프로세서, 및 임의의 종류의 디지털 컴퓨터에 대한 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리나 랜덤 액세스 메모리 또는 둘 다에서 명령과 데이터를 수신한다. 컴퓨터의 필수 요소는 명령을 수행하기 위한 프로세서와 명령 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어 자기, 광자기 디스크, 또는 광 디스크로부터 데이터를 수신하거나 이들로 데이터를 전송하거나 둘 모두를 포함하거나 작동 가능하게 연결된다. 그러나 컴퓨터에는 그러한 디바이스가 필요하지 않다. 컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는 예를 들어 반도체 메모리 디바이스(예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스); 자기 디스크(예를 들어, 내부 하드 디스크 또는 이동식 디스크); 자기 광 디스크; 및 CD ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비-휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 개시의 하나 이상의 양태는 디스플레이 디바이스(예를 들어, CRT(음극선관), LCD(액정 디스플레이) 모니터), 또는 사용자에게 정보를 표시하기 위한 터치 스크린, 그리고 선택적으로 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼가 있는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스를 사용하여 사용자와 상호 작용할 수도 있는데, 예를 들어, 사용자에게 제공되는 피드백은 시각적 피드백, 청각적 피드백 또는 촉각적 피드백과 같은 임의의 형태의 감각적 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함한 모든 형태로 수신될 수 있다. 또한, 컴퓨터는 사용자가 사용하는 예를 들어 웹 브라우저에서 수신된 요청에 대한 응답으로 사용자 클라이언트 디바이스의 웹 브라우저에 웹 페이지를 전송함으로써 디바이스로 문서를 보내고 문서를 수신하여 사용자와 상호 작용할 수 있다.
다수의 구현이 설명되었다. 그럼에도 불구하고, 본 개시의 정신 및 범위를 벗어나지 않고 다양한 수정이 이루어질 수 있음이 이해될 것이다. 따라서, 다른 구현은 다음 청구항의 범위 내에 있다.

Claims (34)

  1. 방법(1000)으로서,
    서비스 애플리케이션(140) 및 인증자 애플리케이션(150)을 실행하는 사용자 디바이스(10)의 데이터 처리 하드웨어(30)에서, 동작(138)을 수행하기 위해 원격 엔티티(130)에 액세스하도록 서비스 애플리케이션(140)에 요청하는 동작 요청(142)을 획득하는 단계와, 상기 동작 요청(142)은,
    원격 엔티티(130)를 식별하는 원격 엔티티 식별자(142a); 및
    동작(138)과 관련된 동작 정보(142b)를 포함하고;
    데이터 처리 하드웨어(30)에서 실행되는 서비스 애플리케이션(140)에 의해, 원격 엔티티(130)가 동작 요청(142)과 관련된 동작(138)을 수행하기 전에 사용자(12)를 인증하기 위해 원격 엔티티(130)와 관련된 사용자 디바이스(10)의 사용자(12)로부터 인증 크리덴셜(154)을 획득하도록 인증자 애플리케이션(150)에 요청하는 인증 요청(152)을 발행하는 단계와;
    데이터 처리 하드웨어(30)에서 실행되는 인증자 애플리케이션(150)에 의해, 서비스 애플리케이션(140)이 암호화되지 않은 형식으로 사용자 인증 크리덴셜(154)을 획득하는 것을 제한하도록 원격 엔티티(130)의 공개키(132)를 사용하여 상기 획득된 사용자 인증 크리덴셜(154)을 암호화하는 단계와;
    데이터 처리 하드웨어(30)에서 실행되는 인증자 애플리케이션(150)에 의해, 암호화된 사용자 인증 크리덴셜(154)을 서비스 애플리케이션(140)에 제공하는 단계와; 그리고
    데이터 처리 하드웨어(30)에서 실행되는 서비스 애플리케이션(140)에 의해, 원격 엔티티(130)로, 동작 요청(142) 및 암호화된 사용자 인증 크리덴셜(154)을 전송하는 단계를 포함하고, 상기 동작 요청(142) 및 암호화된 사용자 인증 크리덴셜(154)은 원격 엔티티(130)에 의해 수신될 때 원격 엔티티(130)로 하여금:
    원격 엔티티(130)의 개인키(133)를 사용하여 상기 암호화된 사용자 인증 크리덴셜(154)을 복호화하고; 그리고
    복호화된 사용자 인증 크리덴셜(154)을 검증하게 하는 것을 특징으로 하는 방법(1000).
  2. 제1항에 있어서,
    상기 서비스 애플리케이션(140)은 결제 애플리케이션(140P)을 포함하고;
    상기 원격 엔티티(130)는 사용자(12)와 관련된 금융 기관(130F)을 포함하고; 그리고
    상기 원격 엔티티(130)에 액세스하도록 서비스 애플리케이션(140)에 요청하는 동작 요청(142)은 금융 기관(130F)으로부터 수취인으로의 전자 결제를 개시하도록 결제 애플리케이션(140P)에 요청하는 전자 결제 요청(142P)을 포함하는 것을 특징으로 하는 방법(1000).
  3. 제2항에 있어서,
    상기 동작 정보(142b)는,
    전자 결제에 대한 설명, 전자 결제의 값/금액, 금융 기관(130F)에서 사용자(12)와 관련된 계정을 식별하는 고유 계정 식별자의 적어도 일부, 또는 수취인을 식별하는 수취인 식별자 중 적어도 하나를 포함하는 것을 특징으로 하는 방법(1000).
  4. 제1항에 있어서,
    상기 원격 엔티티(130)는 사용자(12)와 관련된 개인 정보(420)를 저장하는 기록(record) 데이터 저장소(410)를 포함하고; 그리고
    상기 원격 엔티티(130)에 액세스하도록 서비스 애플리케이션(140)에 요청하는 동작 요청(142)은 기록 데이터 저장소(410)로부터 개인 정보(420)의 적어도 일부를 검색하도록 서비스 애플리케이션(140)에 요청하는 정보 검색 요청(142R)을 포함하는 것을 특징으로 하는 방법(1000).
  5. 제4항에 있어서,
    상기 개인 정보(420)는 사용자(12)와 관련된 개인 기록을 포함하는 것을 특징으로 하는 방법(1000).
  6. 제1항에 있어서,
    원격 엔티티(130)의 공개키(132)를 사용하여 상기 획득된 사용자 인증 크리덴셜(154)을 암호화한 후, 데이터 처리 하드웨어(30)에서 실행되는 인증자 애플리케이션(150)에 의해, 원격 엔티티(130)의 검증 네트워크(220)와 관련된 공개키(222)를 사용하여 상기 암호화된 사용자 인증 크리덴셜(154)을 재암호화하는 단계를 더 포함하는 것을 특징으로 하는 방법(1000).
  7. 제1항에 있어서,
    원격 엔티티(130)의 공개키(132)를 사용하여 상기 획득된 사용자 인증 크리덴셜(154)을 암호화한 후, 데이터 처리 하드웨어(30)에서 실행되는 인증자 애플리케이션(150)에 의해, 사용자 디바이스(10)의 개인키(606R)를 사용하여 상기 암호화된 사용자 인증 크리덴셜(154)에 서명하는 단계를 더 포함하는 것을 특징으로 하는 방법(1000).
  8. 제7항에 있어서,
    상기 사용자 디바이스(10)의 공개키(606U)는 원격 엔티티(130)에 등록되고, 상기 사용자 디바이스(10)의 공개키(606U)는 사용자 디바이스(10)의 개인키(606R)에 대응하며 상기 암호화된 사용자 인증 크리덴셜(154)의 서명을 검증하기 위해 원격 엔티티(130)에 의해 사용되는 것을 특징으로 하는 방법(1000).
  9. 제1항에 있어서,
    상기 원격 엔티티(130)의 공개키(132)를 사용하여 상기 획득된 사용자 인증 크리덴셜(154)을 암호화하는 단계는,
    원격 엔티티(130)의 공개키(132)를 사용하여 동작 요청(142) 및 사용자 인증 크리덴셜(154)을 함께 암호화하는 단계를 더 포함하는 것을 특징으로 하는 방법(1000).
  10. 제1항에 있어서,
    상기 획득된 사용자 인증 크리덴셜(154)을 암호화하기 전에, 데이터 처리 하드웨어(30)에서 실행되는 인증자 애플리케이션(150)에 의해, 사용자 디바이스(10) 잠금 해제 챌린지를 사용자(12)에게 발행하는 단계를 더 포함하는 것을 특징으로 하는 방법(1000).
  11. 제1항에 있어서,
    상기 서비스 애플리케이션(140)에 의해 발행된 인증 요청(152)은,
    인증자 애플리케이션(150)이 사용자 인증 크리덴셜(154)을 획득하기 전에 서비스 애플리케이션(140)을 검증하기 위해 사용하는 인증 토큰(153)을 포함하는 것을 특징으로 하는 방법(1000).
  12. 제1항에 있어서,
    동작 요청(142) 및 암호화된 사용자 인증 크리덴셜(154)을 원격 엔티티(130)로 전송한 후:
    데이터 처리 하드웨어(30)에서 실행되는 서비스 애플리케이션(140)에서, 원격 엔티티(130)로부터 챌린지 요청(144)을 수신하는 단계와, 상기 챌린지 요청(144)은 사용자에게 추가 사용자 인증 크리덴셜(154)을 요청하고;
    데이터 처리 하드웨어(30)에서 실행되는 서비스 애플리케이션(140)에 의해, 사용자(12)로부터 추가 사용자 인증 크리덴셜(154)을 획득하기 위해 인증자 애플리케이션(150)을 호출하는 단계와;
    데이터 처리 하드웨어(30)에서 실행되는 인증자 애플리케이션(150)에 의해, 원격 엔티티(130)의 공개키(132)를 사용하여 상기 획득된 추가 사용자 인증 크리덴셜(154)을 암호화하는 단계와;
    데이터 처리 하드웨어(30)에서 실행되는 인증자 애플리케이션(150)에 의해, 암호화된 추가 사용자 인증 크리덴셜(154)을 서비스 애플리케이션(140)에 제공하는 단계와; 그리고
    데이터 처리 하드웨어(30)에서 실행되는 서비스 애플리케이션(140)에 의해, 암호화된 추가 사용자 인증 크리덴셜(154)을 포함하는 챌린지 응답(157)을 원격 엔티티(130)로 전송하는 단계를 더 포함하고, 상기 챌린지 응답(157)은 원격 엔터티(130)에 의해 수신될 때 원격 엔터티(130)로 하여금:
    원격 엔티티(130)의 개인키(133)를 사용하여 상기 암호화된 추가 사용자 인증 크리덴셜(154)을 복호화하고; 그리고
    복호화된 추가 사용자 인증 크리덴셜(154)을 검증하게 하는 것을 특징으로 하는 방법(1000).
  13. 제12항에 있어서,
    상기 원격 엔티티(130)는,
    복호화된 사용자 인증 크리덴셜(154) 및 복호화된 추가 사용자 인증 크리덴셜(154) 모두를 검증한 후 동작 요청(142)에 기초하여 동작(138)을 수행하도록 구성되는 것을 특징으로 하는 방법(1000).
  14. 제1항에 있어서,
    상기 원격 엔티티(130)는,
    복호화된 사용자 인증 크리덴셜(154)을 검증한 후 수취인에게 전자 결제를 전송하도록 구성되는 것을 특징으로 하는 방법(1000).
  15. 제1항에 있어서,
    데이터 처리 하드웨어(30)에서 실행되는 인증자 애플리케이션(150)에 의해, 사용자(12)의 신원을 사용자 디바이스(10)에 바인딩하는 단계를 더 포함하고,
    상기 바인딩하는 단계는.
    데이터 처리 하드웨어(30)에서 실행되는 서비스 애플리케이션(140)으로부터 사용자 ID(604b) 및 서비스 애플리케이션 ID(604a)를 포함하는 서비스 등록 요청(602)을 수신하는 단계와, 상기 사용자 ID(604b)는 서비스 애플리케이션(140)에 대해 사용자(12)를 고유하게 식별하고, 그리고 서비스 애플리케이션 ID(604a)는 인증자 애플리케이션(150)에 대해 서비스 애플리케이션(140)을 고유하게 식별하며;
    디바이스 바인딩된 키 쌍(606)을 생성하는 단계와, 상기 디바이스 바인딩된 키 쌍(606)은 사용자 ID(604b)와 서비스 애플리케이션 ID(604a)에 기초한 디바이스 공개키(606U)와 디바이스 개인키(606R)를 포함하고;
    디바이스 개인키(606R)로 서비스 애플리케이션 ID(604a)에 서명하는 단계와; 그리고
    디바이스 공개키(606U) 및 상기 서명된 서비스 애플리케이션 ID(604a)를 원격 엔티티(130)로 전송하는 단계를 포함하는 것을 특징으로 하는 방법(1000).
  16. 제15항에 있어서,
    데이터 처리 하드웨어(30)에서 실행되는 인증자 애플리케이션(150)에 의해, 사용자(12) 및 원격 엔티티(130)와 관련된 사용자 계정(137)을 사용자 디바이스(10)와 바인딩하는 단계를 더 포함하고,
    상기 바인딩하는 단계는,
    디바이스 개인키(606R)로 서비스 애플리케이션 ID(604a)에 서명하는 단계와; 그리고
    서명된 서비스 애플리케이션 ID(604a)를 데이터 처리 하드웨어(30)에서 실행되는 서비스 애플리케이션(140)으로 전송하는 단계를 포함하며, 상기 서명된 서비스 애플리케이션 ID(604a)는 서비스 애플리케이션(140)에 의해 수신될 때 서비스 애플리케이션(140)으로 하여금 상기 서명된 서비스 애플리케이션 ID(604a) 및 계정 ID(909)를 원격 엔티티(130)로 전송하게 하고, 상기 계정 ID(909)는 사용자 계정(137)을 고유하게 식별하는 것을 특징으로 하는 방법(1000).
  17. 제1항에 있어서,
    서비스 애플리케이션(140) 및 인증자 애플리케이션(150)을 실행할 때:
    데이터 처리 하드웨어(30)에 의해, 하나 이상의 추가 서비스 애플리케이션(140)을 실행하는 단계를 더 포함하고,
    각각의 추가 서비스 애플리케이션(140)은,
    대응하는 동작(138)을 수행하기 위해 동일한 원격 엔티티(130) 또는 상이한 원격 엔티티(130)에 액세스하도록 추가 서비스 애플리케이션(140)에 요청하는 대응하는 동작 요청(142)을 수신하고;
    동일한 원격 엔티티(130) 또는 상이한 원격 엔티티가 동작(138)을 수행하기 전에 사용자(12)를 인증하기 위해 사용자(12)의 사용자 인증 크리덴셜(154)을 획득하도록 인증자 애플리케이션(150)에 요청하는 대응하는 인증 요청(152)을 발행하고; 그리고
    추가 서비스 애플리케이션(140)이 암호화되지 않은 형식으로 사용자 인증 크리덴셜(154)을 획득하는 것을 제한하기 위해 인증자 애플리케이션(150)으로부터 상기 암호화된 사용자 인증 크리덴셜(154)을 수신하도록 구성되는 것을 특징으로 하는 방법(1000).
  18. 시스템(100)으로서,
    서비스 애플리케이션(140) 및 인증자 애플리케이션(150)을 실행하는 사용자 디바이스(10)의 데이터 처리 하드웨어(30)와; 그리고
    데이터 처리 하드웨어(30)와 통신하는 메모리 하드웨어(20)를 포함하고, 상기 메모리 하드웨어(20)는 데이터 처리 하드웨어(30)에서 실행될 때 데이터 처리 하드웨어(30)로 하여금 동작들을 수행하게 하는 명령들을 저장하고, 상기 동작들은:
    동작(138)을 수행하기 위해 원격 엔티티(130)에 액세스하도록 서비스 애플리케이션(140)에 요청하는 동작 요청(142)을 획득하는 단계와, 상기 동작 요청(142)은,
    원격 엔티티(130)를 식별하는 원격 엔티티 식별자(142a); 및
    동작(138)과 관련된 동작 정보(142b)를 포함하고;
    서비스 애플리케이션(140)에 의해, 원격 엔티티(130)가 동작 요청(142)과 관련된 동작(138)을 수행하기 전에 사용자(12)를 인증하기 위해 원격 엔티티(130)와 관련된 사용자 디바이스(10)의 사용자(12)로부터 사용자 인증 크리덴셜(154)을 획득하도록 인증자 애플리케이션(150)에 요청하는 인증 요청(152)을 발행하는 단계와;
    인증자 애플리케이션(150)에 의해, 서비스 애플리케이션(140)이 암호화되지 않은 형식으로 사용자 인증 크리덴셜(154)을 획득하는 것을 제한하도록 원격 엔티티(130)의 공개키(132)를 사용하여 상기 획득된 사용자 인증 크리덴셜(154)을 암호화하는 단계와;
    인증자 애플리케이션(150)에 의해, 암호화된 사용자 인증 크리덴셜(154)을 서비스 애플리케이션(140)에 제공하는 단계와; 그리고
    서비스 애플리케이션(140)에 의해, 원격 엔티티(130)로, 동작 요청(142) 및 암호화된 사용자 인증 크리덴셜(154)을 전송하는 단계를 포함하고, 상기 동작 요청(142) 및 암호화된 사용자 인증 크리덴셜(154)은 원격 엔티티(130)에 의해 실행될 때 원격 엔티티(130)로 하여금:
    원격 엔티티(130)의 개인 키(133)를 사용하여 상기 암호화된 사용자 인증 크리덴셜(154)을 복호화하고; 그리고
    복호화된 사용자 인증 크리덴셜(154)을 검증하게 하는 것을 특징으로 하는 시스템(100).
  19. 제18항에 있어서,
    상기 서비스 애플리케이션(140)은 결제 애플리케이션(140P)을 포함하고;
    상기 원격 엔티티(130)는 사용자(12)와 관련된 금융 기관(130F)을 포함하고; 그리고
    상기 원격 엔티티(130)에 액세스하도록 서비스 애플리케이션(140)에 요청하는 동작 요청(142)은 금융 기관(130F)으로부터 수취인으로의 전자 결제를 개시하도록 결제 애플리케이션(140P)에 요청하는 전자 결제 요청(142P)을 포함하는 것을 특징으로 하는 시스템(100).
  20. 제18항에 있어서,
    상기 동작 정보(142b)는,
    전자 결제에 대한 설명, 전자 결제의 값/금액, 금융 기관(130F)에서 사용자(12)와 관련된 계정을 식별하는 고유 계정 식별자의 적어도 일부 또는 수취인을 식별하는 수취인 식별자 중 적어도 하나를 포함하는 것을 특징으로 하는 시스템(100).
  21. 제18항에 있어서,
    상기 원격 엔티티(130)는 사용자(12)와 관련된 개인 정보(420)를 저장하는 기록 데이터 저장소(410)를 포함하고; 그리고
    상기 원격 엔티티(130)에 액세스하도록 서비스 애플리케이션(140)에 요청하는 동작 요청(142)은 기록 데이터 저장소(410)로부터 개인 정보(420)의 적어도 일부를 검색하도록 서비스 애플리케이션(140)에 요청하는 정보 검색 요청(142R)을 포함하는 것을 특징으로 하는 시스템(100).
  22. 제21항에 있어서,
    상기 개인 정보(420)는 사용자(12)와 관련된 개인 기록을 포함하는 것을 특징으로 하는 시스템(100).
  23. 제18항에 있어서,
    원격 엔티티(130)의 공개키(132)를 사용하여 상기 획득된 사용자 인증 크리덴셜(154)을 암호화한 후, 인증자 애플리케이션(150)에 의해, 원격 엔티티(130)의 검증 네트워크(220)와 관련된 공개키(222)를 사용하여 상기 암호화된 사용자 인증 크리덴셜(154)을 재암호화하는 단계를 더 포함하는 것을 특징으로 하는 시스템(100).
  24. 제18항에 있어서,
    원격 엔티티(130)의 공개키(132)를 사용하여 상기 획득된 사용자 인증 크리덴셜(154)을 암호화한 후, 인증자 애플리케이션(150)에 의해, 사용자 디바이스(10)의 개인키(606R)를 사용하여 상기 암호화된 사용자 인증 크리덴셜(154)에 서명하는 단계를 더 포함하는 것을 특징으로 하는 시스템(100).
  25. 제24항에 있어서,
    상기 사용자 디바이스(10)의 공개키(606U)는 원격 엔티티(130)에 등록되고, 상기 사용자 디바이스(10)의 공개키(606U)는 사용자 디바이스(10)의 개인키(606R)에 대응하며 상기 암호화된 사용자 인증 크리덴셜(154)의 서명을 검증하기 위해 원격 엔티티(130)에 의해 사용되는 것을 특징으로 하는 시스템(100).
  26. 제18항에 있어서,
    상기 원격 엔티티(130)의 공개키(132)를 사용하여 상기 획득된 사용자 인증 크리덴셜(154)을 암호화하는 단계는,
    원격 엔티티(130)의 공개키(132)를 사용하여 동작 요청(142) 및 사용자 인증 크리덴셜(154)을 함께 암호화하는 단계를 더 포함하는 것을 특징으로 하는 시스템(100).
  27. 제18항에 있어서,
    상기 획득된 사용자 인증 크리덴셜(154)을 암호화하기 전에, 인증자 애플리케이션(150)에 의해, 사용자(12)에게 사용자 디바이스(10) 잠금 해제 챌린지를 발행하는 단계를 더 포함하는 것을 특징으로 하는 시스템(100).
  28. 제18항에 있어서,
    상기 서비스 애플리케이션(140)에 의해 발행된 인증 요청(152)은,
    인증자 애플리케이션(150)이 사용자 인증 크리덴셜(154)을 획득하기 전에 서비스 애플리케이션(140)을 검증하기 위해 사용하는 인증 토큰(153)을 포함하는 것을 특징으로 하는 시스템(100).
  29. 제18항에 있어서,
    상기 동작들은,
    동작 요청(142) 및 암호화된 사용자 인증 크리덴셜(154)을 원격 엔티티(130)로 전송한 후:
    서비스 애플리케이션(140)에서, 원격 엔티티(130)로부터 챌린지 요청(144)을 수신하는 단계와, 상기 챌린지 요청(144)은 사용자에게 추가 사용자 인증 크리덴셜(154)을 요청하고,
    서비스 애플리케이션(140)에 의해, 사용자(12)로부터 추가 사용자 인증 크리덴셜(154)을 획득하기 위해 인증자 애플리케이션(150)을 호출하는 단계와;
    인증자 애플리케이션(150)에 의해, 원격 엔티티(130)의 공개키(132)를 사용하여 상기 획득된 추가 사용자 인증 크리덴셜(154)을 암호화하는 단계와;
    인증자 애플리케이션(150)에 의해, 암호화된 추가 사용자 인증 크리덴셜(154)을 서비스 애플리케이션(140)에 제공하는 단계와; 그리고
    서비스 애플리케이션(140)에 의해, 암호화된 추가 사용자 인증 크리덴셜(154)을 포함하는 챌린지 응답(157)을 원격 엔티티(130)로 전송하는 단계를 더 포함하고, 상기 챌린지 응답(157)은 원격 엔터티(130)에 의해 수신될 때 원격 엔터티(130)로 하여금:
    원격 엔티티(130)의 개인키(133)를 사용하여 상기 암호화된 추가 사용자 인증 크리덴셜(154)을 복호화하고; 그리고
    복호화된 추가 사용자 인증 크리덴셜(154)을 검증하게 하는 것을 특징으로 하는 시스템(100).
  30. 제29항에 있어서,
    상기 원격 엔티티(130)는,
    복호화된 사용자 인증 크리덴셜(154) 및 복호화된 추가 사용자 인증 크리덴셜(154) 모두를 검증한 후 동작 요청(142)에 기초하여 동작(138)을 수행하도록 구성되는 것을 특징으로 하는 시스템(100).
  31. 제18항에 있어서,
    상기 원격 엔티티(130)는,
    복호화된 사용자 인증 크리덴셜(154)을 검증한 후 수취인에게 전자 결제를 전송하도록 구성되는 것을 특징으로 하는 시스템(100).
  32. 제18항에 있어서,
    인증자 애플리케이션(150)에 의해, 사용자(12)의 신원을 사용자 디바이스(10)에 바인딩하는 단계를 더 포함하고,
    상기 바인딩하는 단계는.
    서비스 애플리케이션(140)으로부터 사용자 ID(604b) 및 서비스 애플리케이션 ID(604a)를 포함하는 서비스 등록 요청(602)을 수신하는 단계와, 상기 사용자 ID(604b)는 서비스 애플리케이션(140)에 대해 사용자(12)를 고유하게 식별하고, 그리고 서비스 애플리케이션 ID(604a)는 인증자 애플리케이션(150)에 대해 서비스 애플리케이션(140)을 고유하게 식별하며;
    디바이스 바인딩된 키 쌍(606)을 생성하는 단계와, 상기 디바이스 바인딩된 키 쌍(606)은 사용자 ID(604b)와 서비스 애플리케이션 ID(604a)에 기초한 디바이스 공개키(606U)와 디바이스 개인키(606R)를 포함하고;
    디바이스 개인키(606R)로 서비스 애플리케이션 ID(604a)에 서명하는 단계와; 그리고
    디바이스 공개키(606U) 및 서명된 서비스 애플리케이션 ID(604a)를 원격 엔티티(130)로 전송하는 단계를 포함하는 것을 특징으로 하는 시스템(100).
  33. 제32항에 있어서,
    인증자 애플리케이션(150)에 의해, 사용자(12) 및 원격 엔티티(130)와 관련된 사용자 계정(137)을 사용자 디바이스(10)와 바인딩하는 단계를 더 포함하고,
    상기 바인딩하는 단계는,
    디바이스 개인키(606R)로 서비스 애플리케이션 ID(604a)에 서명하는 단계와; 그리고
    서명된 서비스 애플리케이션 ID(604a)를 서비스 애플리케이션(140)으로 전송하는 단계를 포함하며, 상기 서명된 서비스 애플리케이션 ID(604a)는 서비스 애플리케이션(140)에 의해 수신될 때 서비스 애플리케이션(140)으로 하여금 상기 서명된 서비스 애플리케이션 ID(604a) 및 계정 ID(909)를 원격 엔티티(130)에 전송하게 하고, 상기 계정 ID(909)는 사용자 계정(137)을 고유하게 식별하는 것을 특징으로 하는 시스템(100).
  34. 제19항에 있어서,
    상기 동작들은,
    서비스 애플리케이션(140) 및 인증자 애플리케이션(150)을 실행할 때:
    하나 이상의 추가 서비스 애플리케이션(140)을 실행하는 단계를 더 포함하고, 각각의 추가 서비스 애플리케이션(140)은,
    대응하는 동작을(138)을 수행하기 위해 동일한 원격 엔티티(130) 또는 상이한 원격 엔티티(130)에 액세스하도록 추가 서비스 애플리케이션(140)에 요청하는 대응하는 동작 요청(142)을 수신하고;
    동일한 원격 엔티티(130) 또는 상이한 원격 엔티티가 동작(138)을 수행하기 전에 사용자(12)를 인증하기 위해 사용자(12)의 사용자 인증 크리덴셜(154)을 획득하도록 인증자 애플리케이션(150)에 요청하는 대응하는 인증 요청(152)을 발행하고; 그리고
    추가 서비스 애플리케이션(140)이 암호화되지 않은 형식으로 사용자 인증 크리덴셜(154)을 획득하는 것을 제한하기 위해 인증자 애플리케이션(150)으로부터 상기 암호화된 사용자 인증 크리덴셜(154)을 수신하도록 구성되는 것을 특징으로 하는 시스템(100).
KR1020227005554A 2019-08-21 2019-08-21 동의 아키텍처용 인증자 앱 Active KR102769177B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2019/047399 WO2021034322A1 (en) 2019-08-21 2019-08-21 Authenticator app for consent architecture

Publications (2)

Publication Number Publication Date
KR20220038109A KR20220038109A (ko) 2022-03-25
KR102769177B1 true KR102769177B1 (ko) 2025-02-20

Family

ID=67847790

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227005554A Active KR102769177B1 (ko) 2019-08-21 2019-08-21 동의 아키텍처용 인증자 앱

Country Status (6)

Country Link
US (1) US12033142B2 (ko)
EP (1) EP4018403B1 (ko)
JP (1) JP7383796B2 (ko)
KR (1) KR102769177B1 (ko)
CN (1) CN114270386A (ko)
WO (1) WO2021034322A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG10202003630VA (en) * 2020-04-21 2021-09-29 Grabtaxi Holdings Pte Ltd Authentication and validation procedure for improved security in communications systems
EP4012970A1 (en) * 2020-12-14 2022-06-15 Nagravision Sàrl System and methods for registering or authenticating a user with a relying party
US11763613B2 (en) * 2021-03-08 2023-09-19 Johnson Controls Tyco IP Holdings LLP Automatic creation and management of digital identity profiles for access control
CN115735368B (zh) * 2021-05-27 2025-04-08 京东方科技集团股份有限公司 设备注册方法、装置、电子设备及存储介质
US20230254316A1 (en) * 2022-02-10 2023-08-10 Fall Guy Llc, Dba Fall Guy Consulting Privacy-preserving identity verification
US20230316275A1 (en) * 2022-04-04 2023-10-05 Capital One Services, Llc Systems and methods for token-based device binding during merchant checkout
US12363076B2 (en) * 2022-06-29 2025-07-15 Verizon Patent And Licensing Inc. Network exposure function (NEF) for SUCI-based UE-initiated service authorization
EP4518388A1 (en) * 2023-08-31 2025-03-05 Thales Dis France Sas Method for relay attack protection of monetary transactions

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7181017B1 (en) * 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
KR101318958B1 (ko) 2010-05-06 2013-10-29 (주)시루정보 전자결제 서비스 방법과, 이를 실행하는 전자결제 서비스 장치, 이동통신 단말기 및 거래 단말기
GB201105774D0 (en) * 2011-04-05 2011-05-18 Visa Europe Ltd Payment system
US9098687B2 (en) * 2013-05-03 2015-08-04 Citrix Systems, Inc. User and device authentication in enterprise systems
CN112116344B (zh) 2013-07-15 2024-08-13 维萨国际服务协会 安全的远程支付交易处理
US9646303B2 (en) * 2013-08-15 2017-05-09 Visa International Service Association Secure remote payment transaction processing using a secure element
EP3047437A4 (en) * 2013-09-20 2017-03-08 Visa International Service Association Secure remote payment transaction processing including consumer authentication
US20150294313A1 (en) * 2014-04-14 2015-10-15 Mastercard International Incorporated Systems, apparatus and methods for improved authentication
US10362010B2 (en) * 2014-05-29 2019-07-23 Apple Inc. Management of credentials on an electronic device using an online resource
KR101602640B1 (ko) * 2014-08-25 2016-03-21 주식회사 텔스카 이동통신단말기를 이용한 모바일 지불 결제 시스템 및 방법
US9705879B2 (en) * 2014-09-17 2017-07-11 Microsoft Technology Licensing, Llc Efficient and reliable attestation
KR101637863B1 (ko) * 2016-01-05 2016-07-08 주식회사 코인플러그 본인인증용 정보 보안 전송시스템 및 방법
US11593797B2 (en) * 2016-06-12 2023-02-28 Apple Inc. Authentication using a secure circuit
KR20180039470A (ko) * 2016-10-10 2018-04-18 (주) 티엠엑스코리아 보안 환경 및 보안 암호화 소프트웨어 솔루션 기반 온라인 결제 시스템 및 방법
KR102071984B1 (ko) * 2017-07-19 2020-02-03 라온시큐어(주) 모바일 단말기를 통한 간편 인증 방법 및 이를 위한 인증 서비스 장치
US11310052B1 (en) * 2018-07-31 2022-04-19 Block, Inc. Identity authentication blockchain
US11178148B2 (en) * 2018-08-21 2021-11-16 HYPR Corp. Out-of-band authentication to access web-service with indication of physical access to client device
CN109936509B (zh) * 2019-03-06 2021-09-10 西安电子科技大学 一种基于多元身份的设备群组认证方法及系统
US11068881B2 (en) * 2019-09-20 2021-07-20 Bank Of America Corporation System for resource distribution within an offline environment

Also Published As

Publication number Publication date
WO2021034322A1 (en) 2021-02-25
CN114270386A (zh) 2022-04-01
JP7383796B2 (ja) 2023-11-20
KR20220038109A (ko) 2022-03-25
US12033142B2 (en) 2024-07-09
JP2022545659A (ja) 2022-10-28
US20220300962A1 (en) 2022-09-22
EP4018403B1 (en) 2024-10-30
EP4018403A1 (en) 2022-06-29

Similar Documents

Publication Publication Date Title
JP7602539B2 (ja) 量子安全ネットワーキング
KR102769177B1 (ko) 동의 아키텍처용 인증자 앱
US20240333500A1 (en) Systems, methods, and devices for secure blockchain transaction and subnetworks
US20210367795A1 (en) Identity-Linked Authentication Through A User Certificate System
US12165141B1 (en) Biometrics-based e-signatures for pre-authorization and acceptance transfer
US9875368B1 (en) Remote authorization of usage of protected data in trusted execution environments
JP2023535013A (ja) 量子安全支払いシステム
US9838205B2 (en) Network authentication method for secure electronic transactions
US9231925B1 (en) Network authentication method for secure electronic transactions
US20180144114A1 (en) Securing Blockchain Transactions Against Cyberattacks
WO2021169107A1 (zh) 一种网络身份保护方法、装置及电子设备和存储介质
CN107710258A (zh) 用于个人识别和验证的系统和方法
CN110050435A (zh) 用于安全消息收发的密钥对基础架构
EP3867849B1 (en) Secure digital wallet processing system
KR20250008746A (ko) 암호화 서명 위임
US12039057B2 (en) Implementing a cryptography agent and a secure hardware-based enclave to prevent computer hacking of client applications
US11451376B2 (en) Systems and methods for secure communication
KR102211033B1 (ko) 전자인증절차의 대행 서비스 시스템
WO2024026428A1 (en) Digital identity allocation, assignment, and management
KR101708880B1 (ko) 통합 로그인 장치 및 통합 로그인 방법
Guler Secure Bitcoin Wallet
EA036643B1 (ru) Способ управления цифровыми активами

Legal Events

Date Code Title Description
A201 Request for examination
PA0105 International application

Patent event date: 20220218

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20220218

Comment text: Request for Examination of Application

PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20240315

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20241126

PG1601 Publication of registration