KR102373264B1 - 인증 프로세싱 서비스 - Google Patents

인증 프로세싱 서비스 Download PDF

Info

Publication number
KR102373264B1
KR102373264B1 KR1020217019846A KR20217019846A KR102373264B1 KR 102373264 B1 KR102373264 B1 KR 102373264B1 KR 1020217019846 A KR1020217019846 A KR 1020217019846A KR 20217019846 A KR20217019846 A KR 20217019846A KR 102373264 B1 KR102373264 B1 KR 102373264B1
Authority
KR
South Korea
Prior art keywords
user
authentication
key
user device
encrypted
Prior art date
Application number
KR1020217019846A
Other languages
English (en)
Other versions
KR20210084652A (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 KR20210084652A publication Critical patent/KR20210084652A/ko
Application granted granted Critical
Publication of KR102373264B1 publication Critical patent/KR102373264B1/ko

Links

Images

Classifications

    • 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/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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
    • H04L9/3255Cryptographic 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 using group based signatures, e.g. ring or threshold 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/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
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0478Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Telephonic Communication Services (AREA)
  • User Interface Of Digital Computer (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Telephone Function (AREA)

Abstract

인증 프로세싱 서비스를 용이하게 하기 위한 시스템, 방법, 및 컴퓨터-판독가능 매체가 제공된다. 방법은, 제한된 등록 입력; 제한되지 않은 인증 입력; 및 2개의 입력을 이용하여 변환된 매칭 함수를 성공적으로 평가하는 것에 응답하여 성공 키를 출력하도록 동작하는 변환된 매칭 함수를 포함하는 통신 프로토콜 정보를 수신하는 단계; 제1 순간 이후이지만 제2 순간 이전인 인증 순간에 캡처된 사용자 인증 생체인식을 나타내는 인증 생체인식 샘플에 의해 제한되었던 제한되지 않은 인증 입력에 대응하는 제한된 인증 입력을 수신하는 단계; 제한된 인증 입력을 수신한 이후에, 제한된 등록 입력 및 제한된 인증 입력을 이용하여 변환된 매칭 함수를 평가하는 단계; 및 평가가 성공적이면, 보안 동작을 인에이블하기 위하여 변환된 매칭 함수에 의해 출력된 성공 키를 이용하는 단계를 포함한다.

Description

인증 프로세싱 서비스
관련 출원(들)의 상호 참조
본 출원은 2019년 2월 8일자로 출원된 선행 출원된 미국 특허 가출원 제62/802,854호 및 2019년 6월 17일자로 출원된 선행 출원된 미국 특허 가출원 제62/862,454호의 이익을 주장하며, 이들의 각각은 본 명세서에서 전체적으로 참조로서 여기에 포함된다.
저작권 공지
본 특허 문서의 개시내용의 적어도 일부분은 저작권 보호를 받는 자료를 포함한다. 저작권 소유자는 누구든 특허청 특허 파일 또는 기록에 나타난 대로 특허 문서 또는 특허 개시내용을 그대로 재현하는 것에 이의를 제기하지 않지만, 그렇지 않으면 모든 저작권 권리를 보유한다.
기술분야
본 개시내용은 인증 프로세싱 서비스에 관한 것으로, 더 구체적으로는, 보안 동작을 인에이블하기 위하여 보안 멀티-파티 연산을 이용하는 탈중앙화된 생체인식 인증 프로세싱 서비스에 관한 것이다.
사용자를 인증하는 것은 종종 공격에 취약할 수 있는 저장 시스템 상의 사용자의 보안 상세사항들의 저장을 요구하고, 그럼으로써 인증 프로세스를 위협한다.
본 명세서는 인증 프로세싱 서비스를 제공하기 위한 시스템, 방법, 및 컴퓨터-판독가능 매체를 기술한다.
예를 들어, 네트워크 노드를 이용하여 적어도 제1 사용자 전자 디바이스 및 제2 사용자 전자 디바이스의 사용자를 인증하기 위한 방법이 제공된다. 방법은 네트워크 노드에서, 제1 사용자 전자 디바이스로부터, 제1 순간에, 제1 순간 이전인 등록 순간에 캡처된 사용자 등록 생체인식을 나타내는 등록 생체인식 템플릿에 의해 제한되었던 제한되지 않은 등록 입력에 대응하는 제한된 등록 입력, 제한되지 않은 인증 입력, 및 2개의 입력을 이용하여 변환된 매칭 함수를 성공적으로 평가하는 것에 응답하여 성공 키를 출력하도록 동작하는 변환된 매칭 함수를 포함하는 통신 프로토콜 정보를 수신하는 단계, 네트워크 노드에서, 제2 사용자 전자 디바이스로부터, 제1 순간 이후의 제2 순간에, 제1 순간 이후지만 제2 순간 이전인 인증 순간에 캡처된 사용자 인증 생체인식을 나타내는 인증 생체인식 샘플에 의해 제한되었던 제한되지 않은 인증 입력에 대응하는 제한된 인증 입력을 수신하는 단계, 제한된 인증 입력을 수신한 후에, 네트워크 노드에서, 제한된 등록 입력 및 제한된 인증 입력을 이용하여 변환된 매칭 함수를 평가하는 단계, 및 평가가 성공적이면, 네트워크 노드에서, 보안 동작을 인에이블하기 위하여 변환된 매칭 함수에 의해 출력된 성공 키를 이용하는 단계를 포함할 수 있다.
또 다른 예로서, 네트워크 노드를 이용하여 사용자 전자 디바이스의 사용자를 인증하기 위한 방법이 제공된다. 방법은, 사용자 전자 디바이스에서, 시드를 획득하는 단계, 사용자 전자 디바이스에서, 사용자 등록 생체인식 식별자 정보를 나타내는 등록 생체인식 템플릿을 생성하는 단계, 사용자 전자 디바이스에서, 제1 입력 및 제2 입력을 이용하여 변환된 매칭 함수를 성공적으로 평가하는 것에 응답하여 성공 키를 출력하도록 동작하는 변환된 매칭 함수를 식별하는 단계, 사용자 전자 디바이스에서, 등록 생체인식 템플릿을 이용하여 제1 입력을 제한함으로써 제한된 등록 입력을 생성하는 단계, 사용자 전자 디바이스에서, 성공 키를 이용하여 시드의 적어도 일부분을 포함하는 시드 정보를 암호화하는 단계, 암호화 후에, 사용자 전자 디바이스로부터 시드를 삭제하는 단계, 및 사용자 전자 디바이스로부터, 네트워크 노드로, 암호화된 시드 정보 및 변환된 매칭 함수 및 제한된 등록 입력을 포함하는 등록 데이터를 전송하는 단계를 포함할 수 있다.
또 다른 예로서, 적어도 하나의 프로그램을 저장하는 비일시적 컴퓨터-판독가능 저장 매체가 제공되고, 적어도 하나의 프로그램은, 전자 서브시스템의 적어도 하나의 프로세서에 의해 실행 시, 적어도 하나의 프로세서로 하여금, 사용자 전자 디바이스로부터, 등록 순간에 캡처된 사용자 등록 생체인식을 나타내는 등록 생체인식 템플릿에 제한되었던 제한되지 않은 등록 입력에 대응하는 제한된 등록 입력을 수신하고, 사용자 전자 디바이스로부터, 등록 순간 이후의 인증 순간에 캡처된 사용자 인증 생체인식을 나타내는 인증 생체인식 샘플에 의해 제한되었던 제한되지 않은 인증 입력에 대응하는 제한된 인증 입력을 수신하고, 사용자 전자 디바이스로부터, 2개의 입력을 이용하여 변환된 매칭 함수를 성공적으로 평가하는 것에 응답하여 성공 키를 출력하도록 동작하는 변환된 매칭 함수를 수신하고, 수신된 제한된 등록 입력 및 수신된 제한된 인증 입력을 이용하여 수신된 변환된 매칭 함수를 평가하고, 평가가 성공적이면, 보안 동작을 인에이블하기 위하여 변환된 매칭 함수에 의해 출력된 성공 키를 이용하게 할 수 있는 명령어들을 포함한다.
일부 예시적인 실시예들을 요약하기 위하여 발명의 내용이 제공되어, 본 명세서에 기재된 주제의 일부 양태들의 기본 이해를 제공하도록 한다. 따라서, 발명의 내용에 기재된 특징부들은 단지 예들이며 본 명세서에 기재된 주제의 범주 또는 사상을 어떤 방식으로든 한정하도록 해석되어서는 안된다는 것이 이해될 것이다. 달리 언급되지 않는 한, 하나의 예의 맥락에서 기재된 특징부들은 하나 이상의 다른 예들의 맥락에서 기재된 특징부들과 조합되거나 또는 함께 사용될 수 있다. 본 명세서에 기재된 주제의 기타 특징부들, 양태들, 및 이점은 하기의 발명을 실시하기 위한 구체적인 내용, 도면, 및 청구범위로부터 명백해질 것이다.
아래의 논의는 하기의 도면을 참조하며, 도면에서 유사한 도면 부호는 전체에 걸쳐 유사한 부분을 지칭할 수 있다.
도 1은 개시내용의 인증 프로세싱 서비스를 제공하기 위한 예시적인 시스템의 개략도이다.
도 1a는 도 1의 시스템의 사용자 디바이스의 더 상세한 개략도이다.
도 1b는 도 1의 시스템의 네트워크 노드의 더 상세한 개략도이다.
도 1c는 도 1의 시스템의 저장소의 더 상세한 개략도이다.
도 1d는 도 1의 시스템의 서드 파티 서브시스템의 더 상세한 개략도이다.
도 1e는 도 1의 시스템의 인증 프로세싱 서비스 서브시스템의 더 상세한 개략도이다.
도 1f는 도 1의 시스템의 일부분의 더 상세한 개략도이다.
도 2a 및 도 2b는 APS 플랫폼으로 사용자 디바이스 및 그것의 사용자를 등록하기 위한 예시적인 프로세스의 흐름도를 도시한다.
도 3은 보안 멀티-파티 연산을 이용하여 네트워크 노드들의 세트에 대한 인증 회로 정보의 하나 이상의 세트들을 생성하기 위한 예시적인 프로세스의 흐름도를 도시한다.
도 4a, 도 4b, 및 도 4c는 APS 플랫폼으로 등록된 APS 사용자 디바이스의 등록된 APS 사용자를 인증하기 위한 예시적인 프로세스의 흐름도를 도시한다.
도 5는 서드 파티 서비스를 등록된 APS 사용자 디바이스의 등록된 APS 사용자에 등록하기 위한 예시적인 프로세스의 흐름도를 도시한다.
도 6은 APS 플랫폼을 이용하여 등록 서드 파티 서비스로 등록된 APS 사용자 디바이스의 등록된 APS 사용자를 인증하기 위한 예시적인 프로세스의 흐름도를 도시한다.
도 7a, 도 7b, 도 7c, 도 7d, 도 7e, 도 7f, 도 7g, 도 7h, 도 7i, 도 7j, 도 7k, 도 7l, 도 7m, 도 7n, 도 7o, 도 7p, 도 7q, 도 7r, 도 7s, 도 7t, 도 7u, 도 7v, 및 도 7w는 도 2a 내지 도 6의 프로세스들을 수행하는 하나 이상의 사용자 디바이스들의 그래픽 사용자 인터페이스("UI")의 예시적인 스크린들을 도시한다.
도 8 및 도 9는 인증 프로세싱 서비스를 이용하기 위한 다른 예시적인 프로세스들의 흐름도들을 도시한다.
인증 프로세싱 서비스를 제공하기 위한 시스템, 방법, 및 컴퓨터-판독가능 매체가 제공된다.
본 명세서에서 다양한 기재된 실시예들의 설명에 사용된 용어는 단지 특정 실시예들을 설명하는 목적을 위한 것이며 제한하고자 의도되지 않는다. 다양한 기재된 실시예들 및 첨부 청구범위의 설명에 사용되는 바와 같이, 단수 형태 "a", "an" 및 "the"는 문맥상 명백히 달리 지시하지 않는 한 복수 형태도 포함하는 것으로 의도된다. 용어 "및/또는"은 본 명세서에 사용된 바와 같이 하나 이상의 관련 나열 항목들의 임의의 그리고 모든 가능한 조합들을 지칭하고 이를 포함한다. 용어 "포함하다(includes)", "포함하는(including)", "포함하다(comprises)" 및/또는 "포함하는(comprising)"은 본 명세서에서 사용될 때, 언급된 특징부, 정수, 단계, 동작, 구성요소, 및/또는 컴포넌트의 존재를 명시하지만, 하나 이상의 다른 특징부, 정수, 단계, 동작, 구성요소, 컴포넌트, 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는다.
용어 "만약"은, 옵션적으로, 문맥에 따라 "~할 때" 또는 "~하면" 또는 "~ 결정하는 것에 응답하여" 또는 "~ 검출하는 것에 응답하여"를 의미하는 것으로 해석된다. 유사하게, 어구 "결정되는 경우" 또는 "[진술된 조건 또는 사건]이 검출되는 경우"는, 옵션적으로, 문맥에 따라, "결정하면" 또는 "결정하는 것에 응답하여" 또는 "[진술된 조건 또는 사건] 결정 시" 또는 "[진술된 조건 또는 사건]을 검출하는 것에 응답하여"를 의미하는 것으로 해석된다.
본 명세서에 사용된 바와 같이, 용어 "컴퓨터", "개인용 컴퓨터", "디바이스", 및 "컴퓨팅 디바이스"는 공지되어 있거나 또는 향후에 개발될 임의의 프로그램가능 컴퓨터 시스템을 지칭할 수 있다. 소정 실시예들에서, 컴퓨터가 본 명세서에 기재된 바와 같은 네트워크에 결합될 것이다. 컴퓨터 시스템은 본 명세서에 기재된 프로세스들을 수행하도록 프로세서-실행가능 소프트웨어 명령어들로 구성될 수 있다. 이러한 컴퓨팅 디바이스들은 모바일 전화기, 데이터 어시스턴트, 태블릿 컴퓨터와 같은 모바일 디바이스들, 또는 기타 그러한 모바일 디바이스일 수 있다. 대안적으로, 이러한 컴퓨팅 디바이스들은 (예컨대, 적어도 소정의 사용 사례에서), 예컨대 서버 컴퓨터들, 데스크톱 컴퓨팅 시스템, 또는 비-모바일 컴포넌트들과 통합된 시스템의 경우에, 모바일이 아닐 수 있다.
본 명세서에 사용된 바와 같이, 용어 "컴포넌트", "모듈" 및 "시스템"은 컴퓨터-관련 개체, 하드웨어, 하드웨어 및 소프트웨어의 조합, 소프트웨어, 또는 실행 시 소프트웨어를 지칭한다. 예를 들어, 컴포넌트는 프로세서 상에서 실행되는 프로세스, 프로세서, 객체, 실행가능물, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이에 제한되지 않는다. 예로서, 서버 상에서 실행되는 애플리케이션 및 서버 둘 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트들은 프로세스 및/또는 실행 스레드 내에 존재할 수 있고, 컴포넌트는 하나의 컴퓨터에 국한되거나/되고 둘 이상의 컴퓨터들 사이에 분산될 수 있다.
도 1은 인증 프로세싱 서비스("APS")가 다양한 사용자 디바이스들(60)(예컨대, 하나 이상의 APS 사용자 디바이스들(예컨대, APS 사용자 디바이스들(60a, 60b)) 및/또는 하나 이상의 서드 파티 서비스("TPS") 사용자 디바이스들(예컨대, TPS 사용자 디바이스 60c)), 다양한 네트워크 서버들 또는 네트워크 노드들(70), 저장소(80), 서드 파티 서브시스템(90), 및 APS 서브시스템(100) 사이에서 가능하게 될 수 있는 시스템(1)을 도시한다. 도 1a는 시스템(1)의 사용자 디바이스(60)의 특정 실시예에 관하여 추가적인 상세사항들을 도시하고, 도 1b는 시스템(1)의 네트워크 노드(70)의 특정 실시예에 관하여 추가적인 상세사항들을 도시하고, 도 1c는 시스템(1)의 저장소(80)의 특정 실시예에 관한 추가적인 상세사항들을 도시하고, 도 1d는 시스템(1)의 서드 파티 서브시스템(90)의 특정 실시예에 관한 추가적인 상세사항들을 도시하고, 도 1e는 시스템(1)의 APS 서브시스템(10)의 특정 실시예에 관하여 추가적인 상세사항들을 도시하고, 도 1f는 시스템(1)의 일부분의 특정 실시예에 관하여 추가적인 상세사항들을 도시하고, 도 2a 및 도 2b는 APS 플랫폼으로 사용자 디바이스(60) 및 그것의 사용자를 등록하기 위한 예시적인 프로세스의 흐름도를 도시하고, 도 3은 보안 멀티-파티 연산을 이용하여 네트워크 노드들(70)의 세트에 대한 인증 회로 정보의 하나 이상의 세트들을 생성하기 위한 예시적인 프로세스의 흐름도를 도시하고, 도 4a 내지 도 4c는 APS 플랫폼으로 등록된 APS 사용자 디바이스(60)의 등록된 APS 사용자를 인증하기 위한 예시적인 프로세스의 흐름도를 도시하고, 도 5는 서드 파티 서브시스템(90)의 서드 파티 서비스를 등록된 APS 사용자 디바이스(60)의 등록된 APS 사용자에 등록하기 위한 예시적인 프로세스의 흐름도를 도시하고, 도 6은 APS 플랫폼을 이용하여 등록된 APS 사용자 디바이스(60)의 등록된 APS 사용자를 서드 파티 서브시스템(90)의 등록된 서드 파티 서비스로 인증하기 위한 예시적인 프로세스의 흐름도를 도시하고, 도 7a 내지 도 7w는 도 2a 내지 도 6의 프로세스들을 수행하는 하나 이상의 사용자 디바이스들(60)의 그래픽 사용자 인터페이스("UI")의 예시적인 스크린들을 도시하고, 도 8 및 도 9는 인증 프로세싱 서비스를 이용하기 위한 다른 예시적인 프로세스들의 흐름도들을 도시한다.
도 1 내지 도 1f
도 1은 인증 프로세싱이 사용자 디바이스 및 하나 이상의 네트워크 노드들을 이용하여 용이하게 될 수 있는 예시적인 시스템(1)의 개략도이다. 예를 들어, 도 1에 도시된 바와 같이, 시스템(1)은 인증 프로세싱 서비스("APS") 서브시스템(100), 하나 이상의 사용자 디바이스들(60)(예컨대, 사용자 디바이스들(60a 내지 60c)), 하나 이상의 네트워크 노드들(70)(예컨대, 네트워크 노드들(70a 내지 70c)), 적어도 하나의 저장소(80), 및 적어도 하나의 서드 파티 서브시스템(90), 및 APS 서브시스템(100) 및 적어도 하나의 사용자 디바이스(60) 및/또는 적어도 하나의 네트워크 노드(70) 및/또는 적어도 하나의 저장소(80) 및/또는 적어도 하나의 서드 파티 인에이블 서브시스템(90)이 통신할수 있는 적어도 하나의 통신 네트워크(50)를 포함할 수 있다.
도 1a에 도시된 바와 같이, 그리고 아래 더 상세하게 논의되는 바와 같이, 사용자 디바이스(60)(예컨대, 도 1의 디바이스들(60a 내지 60c) 중 하나, 일부, 또는 각각)는 프로세서 컴포넌트(62), 메모리 컴포넌트(63), 통신 컴포넌트(64), 센서(65), 입력/출력("I/O") 컴포넌트(66), 전력공급 컴포넌트(67), 하우징(61), 및/또는 사용자 디바이스(60)의 기타 다양한 컴포넌트들로, 그로부터, 또는 그들 사이에서 데이터 및/또는 전력을 전달하기 위한 하나 이상의 유선 또는 무선 통신 링크들 또는 경로들을 제공할 수 있는 버스(68)를 포함할 수 있다. 일부 실시예들에서, 사용자 디바이스(60)의 하나 이상의 컴포넌트들은 조합되거나 또는 생략될 수 있다. 또한, 사용자 디바이스(60)는 도 1a에서 조합 또는 포함되지 않은 다른 컴포넌트들 및/또는 도 1a에 도시된 컴포넌트들의 여러 인스턴스들을 포함할 수 있다. 간략함을 위하여, 사용자 디바이스(60)의 컴포넌트들의 각각의 하나만이 도 1a에 도시된다. I/O 컴포넌트(66)는 사용자로부터 정보를 수신하기 위한 적어도 하나의 입력 컴포넌트(예컨대, 버튼, 마우스, 키보드 등) 및/또는 사용자에게 정보를 제공하기 위한 적어도 하나의 출력 컴포넌트(예컨대, 오디오 스피커, 비디오 디스플레이, 햅틱 컴포넌트 등), 예컨대, 디스플레이 스크린의 사용자의 터치를 통해 입력 정보를 수신할 수 있고 또한 동일한 디스플레이 스크린을 통해 사용자에게 시각적 정보를 제공할 수 있는 터치 스크린을 포함할 수 있다. 메모리(63)는, 예를 들어, 하드-드라이브, 플래시 메모리, 판독전용 메모리("ROM")와 같은 영구 메모리, 랜덤 액세스 메모리("RAM")와 같은 반영구 메모리, 임의의 다른 적합한 유형의 저장 컴포넌트, 또는 이들의 임의의 조합(예컨대, 데이터(예컨대, 사용자 APSP 데이터(69d))를 저장하기 위함)을 포함하는 하나 이상의 저장 매체들을 포함할 수 있다. 통신 컴포넌트(64)가 제공되어 사용자 디바이스(60)로 하여금 임의의 적합한 통신 프로토콜을 이용하여(예컨대, 통신 네트워크(50)를 통해) 하나 이상의 다른 사용자 디바이스들(60) 및/또는 네트워크 노드들(70) 및/또는 저장소(80) 및/또는 서드 파티 서브시스템(90) 및/또는 APS 서브시스템(100)과 통신하도록 할 수 있다. 통신 컴포넌트(64)는 통신 네트워크(예컨대, 네트워크(50))를 생성 또는 그에 접속하도록 동작할 수 있다. 통신 컴포넌트(64)는 임의의 적합한 단거리 또는 장거리 통신 프로토콜, 예컨대, Wi-Fi(예컨대, 802.11 프로토콜), 블루투스, 무선 주파수 시스템들(예컨대, 1200 ㎒, 2.4 ㎓, 및 5.6 ㎓ 통신 시스템들), 근거리 통신("NFC"), 적외선, 무선 및 셀룰러 전화기 및 개인용 이메일 디바이스들에 의해 사용되는 프로토콜을 이용하는 무선 통신, 또는 임의의 기타 프로토콜 지원 무선 통신을 제공할 수 있다. 통신 컴포넌트(64)는 또한 유선 통신 네트워크에 접속되거나 또는 무선으로 또는 하나 이상의 유선 연결을 통해 다른 데이터 소스에 직접 접속되도록 동작할 수 있다. 통신 컴포넌트(64)는 네트워크(50)에 결합될 수 있는 물리적 링크들을 통해 데이터를 전달하기 위한 기계적, 전기적, 및/또는 신호 회로부를 포함할 수 있는 네트워크 인터페이스일 수 있다. 이러한 네트워크 인터페이스(들)는 TCP/IP, UDP, ATM, 동기 광학 네트워크("SONET"), 임의의 적합한 무선 프로토콜들, 프레임 릴레이, 이더넷, FDDI(Fiber Distributed Data Interface) 등을 포함하지만, 이에 한정되지 않는 다양한 상이한 통신 프로토콜들을 이용하여 임의의 적합한 데이터를 전송 및/또는 수신하도록 구성될 수 있다. 일부 실시예들에서, 이러한 네트워크 인터페이스들의 하나, 일부, 또는 각각은, 예컨대, VPN(Virtual Private Network) 액세스를 위한 하나 이상의 가상 네트워크 인터페이스들을 구현하도록 구성될 수 있다.
센서(65)는 사용자 디바이스(60)에 대한 임의의 적합한 데이터(예컨대, GPS 센서 시스템을 통한 위치기반 데이터, 모션 데이터, 환경 데이터, 생체측정 데이터 등)를 감지하도록 구성될 수 있는 임의의 적합한 센서일 수 있다. 센서(65)는 사용자 디바이스(60) 및/또는 그것의 사용자의 이동 및/또는 사용자 디바이스(60) 및/또는 그것의 환경의 임의의 기타 특성들(예컨대, 사용자 디바이스(60)의 사용자의 신체적 활동 또는 기타 특성들, 디바이스 환경의 광 콘텐츠, 디바이스 환경의 가스 오염 콘텐츠, 디바이스 환경의 소음 오염 콘텐츠, 디바이스의 고도 등)을 검출하도록 동작하는 임의의 적합한 센서 또는 센서들의 임의의 적합한 조합을 포함할 수 있는 센서 조립체일 수 있다. 센서(65)는 GPS 센서, 무선 통신 센서, 가속도계, 방향 센서(예컨대, 나침반), 자이로스코프, 모션 센서, 보수계, 수동형 적외선 센서, 초음파 센서, 마이크로파 센서, 단층촬영 모션 검출기, 카메라, 생체측정 센서, 광 센서, 타이머 등 중 하나 이상을 포함하지만, 이에 한정되지 않는 임의의 적합한 센서(들)를 포함할 수 있다. 센서(65)는 사용자 디바이스(60) 및/또는 그것의 사용자의 임의의 적합한 움직임을 검출하기 위한 임의의 적합한 센서 컴포넌트들 또는 하위조립체들을 포함할 수 있다. 예를 들어, 센서(65)는 3방향(즉, x- 또는 좌측/우측 방향, y- 또는 위/아래 방향, 및 z- 또는 전/후 방향)에서 선형 가속을 검출하도록 동작할 수 있는 하나 이상의 3축 가속 모션 센서들(예컨대, 가속도계)을 포함할 수 있다. 다른 예로서, 센서(65)는 x- 또는 좌측/우측 방향 및 y- 또는 위/아래 방향, 또는 임의의 다른 방향 쌍의 각각을 따라서만 선형 가속을 검출하도록 동작할 수 있는 하나 이상의 단일-축 또는 2축 가속 모션 센서들을 포함할 수 있다. 일부 실시예들에서, 센서(65)는 실리콘 마이크로-기계가공 마이크로 전자-기계 시스템("MEMS") 기술, 예컨대, 열-기반 MEMS형 가속도계, 압전형 가속도계, 압전-저항형 가속도계, 및/또는 임의의 기타 적합한 가속도계(예컨대, 계보기 또는 기타 적합한 기능을 제공할 수 있음)에 기초할 수 있는 정전용량(예컨대, 용량성-결합) 가속도계를 포함할 수 있다. 센서(65)는 회전, 회전 이동, 각변위, 기울기, 위치, 배향, 비선형적(예컨대, 아치형) 경로에 따른 모션, 또는 임의의 기타 비선형적 모션들을 직접 또는 간접적으로 검출하도록 동작할 수 있다. 추가적으로 또는 대안적으로, 센서(65)는 회전 이동을 검출하기 위한 하나 이상의 각속도, 관성, 및/또는 자이로-모션 센서 또는 자이로스코프를 포함할 수 있다. 예를 들어, 센서(65)는 하나 이상의 회전 또는 진동 요소들, 광학 자이로스코프, 진동 자이로스코프, 가스 속도 자이로스코프, 링 자이로스코프, 자력계(예컨대, 스칼라 또는 벡터 자력계), 나침반 등을 포함할 수 있다. 임의의 기타 적합한 센서들은 또한 또는 대안적으로 사용자 디바이스(60) 상의 모션을 검출하기 위한 센서(65), 예컨대 임의의 적합한 압력 센서들, 고도계 등에 의해 제공될 수 있다. 센서(65)를 이용하여, 사용자 디바이스(60)는 사용자 디바이스(60)의 속도, 가속, 배향, 및/또는 임의의 기타 적합한 모션 속성을 결정하도록 구성될 수 있다. 센서(65)는 사용자 디바이스(60)의 사용자의 임의의 적합한 생체측정 데이터 및/또는 건강 데이터 및/또는 수면 데이터 및/또는 명상 데이터 등을 검출하기 위한 임의의 적합한 센서 컴포넌트들 또는 하위조립체들을 포함할 수 있다. 예를 들어, 센서(65)는, 하나 이상의 얼굴 인식 센서, 지문 스캐너, 홍채 스캐너, 망막 스캐너, 음성 인식 센서, 걸음걸이 센서, 모발 센서, 손 기하학적 형상 센서(hand geometry sensor), 서명 스캐너, 키스트로크 역학 센서, 정맥 매칭 센서, 심장 박동 센서, 체온 센서, 체취 또는 향기 센서, 행동 생체인식 센서(예컨대, 움직임, 배향, 제스처, 멈춘 자세 등의 사용자 행동 모델링), DNA 센서, 복제불가능하거나 또는 복제하기 매우 어려운 개인적 기능에 대한 센서, 및/또는 사용자의 임의의 적합한 특성들에 관련된 임의의 적합한 메트릭들을 검출하기 위한 임의의 기타 적합한 센서들을 포함할 수 있지만, 이에 한정되지 않는 임의의 적합한 생체인식 센서를 포함할 수 있고, 이는 또한 건강-관련 광학 센서, 용량성 센서, 열 센서들, 전기장("eField") 센서, 및/또는 초음파 센서, 예컨대, 광혈류측정(photoplethysmogram)("PPG") 센서, 심전도("ECG") 센서, 전기 피부 반응(galvanic skin response)("GSR") 센서, 자세 센서, 스트레스 센서, 광혈류 측정 센서 등을 포함할 수 있다. 이러한 센서들은 사용자와 연관된 건강-관련 정보를 제공하는 데이터를 생성할 수 있다. 예를 들어, PPG 센서들은 사용자의 호흡률, 혈압, 및/또는 산소포화도에 관한 정보를 제공할 수 있다. ECG 센서들은 사용자의 심장박동에 관한 정보를 제공할 수 있다. GSR 센서들은 발한을 나타낼 수 있는 사용자의 피부 수분에 관한 정보를 제공할 수 있으며, 사용자의 체온을 결정하기 위하여 온도조절 애플리케이션을 우선순위화할 수 있다. 하나 이상의 생체인식 센서들은 다중-모드 생체인식 센서들일 수 있고/있거나 장수(long-lived) 생체인식, 현대 생체(modern liveness)(예컨대, 능동적, 수동적 등) 생체인식 검출 등을 검출하도록 동작할 수 있다. 센서(65)는 마이크로폰, 카메라, 스캐너(예컨대, 선형 바코드, 매트릭스 바코드와 같은 코드로부터 제품 식별 정보를 획득할 수 있는 바코드 스캐너 또는 임의의 기타 적합한 스캐너(예컨대, QR(quick response) 코드) 등), 근접 센서, 광 검출기, 온도 센서, 모션 센서, 생체인식 센서(예컨대, 지문 판독기 또는 기타 특징(예컨대, 얼굴) 인식 센서, 이는 사용자를 인증하려고 시도하기 위하여 사용자 디바이스(60)에 액세스가능할 수 있는 특징-프로세싱 애플리케이션과 함께 동작할 수 있음), 데이터 및/또는 전력을 위한 라인-인(line-in) 커넥터, 및/또는 이들의 조합들을 포함할 수 있다. 일부 예들에서, 각각의 센서는 별개의 디바이스일 수 있지만, 다른 예들에서, 센서들 중 둘 이상의 임의의 조합이 단일 디바이스 내에 포함될 수 있다. 예를 들어, 자이로스코프, 가속도계, 광혈류측정, 전기 피부 응답 센서, 및 온도 센서가 스마트 워치와 같은 웨어러블 전자 디바이스 내에 포함될 수 있지만, 저울, 혈압 커프, 혈당 측정기, SpO2 센서, 호흡 센서, 자세 센서, 스트레스 센서, 및 천식 흡입기는 각각 별개의 디바이스들일 수 있다. 구체적인 예들이 제공되지만, 다른 센서들이 사용될 수 있고 센서들의 기타 조합들이 단일 디바이스에 조합될 수 있음이 이해되어야 한다. 하나 이상의 이러한 센서들을 이용하여, 사용자 디바이스(60)는 검출된 활동을 수행하는 동안, 검출된 활동과 연관된 사용자의 심박수, 검출된 활동 동안 검출된 사용자의 평균 체온, 검출된 활동과 연관된 임의의 정상 또는 비정상 신체 상태 등과 같은 사용자의 생리학적 특성들을 결정할 수 있다. 일부 예들에서, 사용자 디바이스(60)의 GPS 센서 또는 임의의 기타 적합한 위치 검출 컴포넌트(들)는 사용자의 위치(예컨대, 지형-위치 및/또는 주소 및/또는 위치 유형(예컨대, 도서관, 학교, 사무실, 동물원 등)) 및 움직임뿐만 아니라 사용자의 모션의 변위를 결정하는 데 사용될 수 있다. 가속도계, 방향 센서, 및/또는 자이로스코프는 사용자 디바이스(60)의 사용자가 활동에 관여하고 있는지, 비활동적인지, 또는 제스처를 수행하고 있는지 결정하는 데 사용될 수 있는 활동 데이터를 추가로 생성할 수 있다. 걸은 걸음, 계단 오르기, 소모된 칼로리, 걸은 거리, 달린 거리, 수행된 운동 시간 및 운동 내용, 수면 시간 및 수면 질, 영양학적 섭취(예컨대, 섭취된 음식 및 그것들의 영양 값), 명상 활동 및 그것의 양과 질(예컨대, 판독 효율성, 데이터 유지 효율성), 임의의 적합한 유형의 임의의 적합한 운동 성과를 포함하지만, 이에 한정되지 않는 사용자의 임의의 적합한 활동이 센서(65)에 의해 (예컨대, 이러한 성과를 나타내는 사용자 입력 정보에 의해 감지 또는 기록될 수 있는 바와 같이) 추적될 수 있다. 사용자 디바이스(60)는, 예를 들어, 검출된 신체적 활동의 다양한 속성들에 시간 차원, 예컨대, 사용자의 신체적 활동 또는 비활동의 지속시간, 활동이 검출되거나 또는 검출되지 않는 하루 중 시간(들) 등을 추가하는 데 사용될 수 있는 타이머를 추가로 포함할 수 있다. 센서(65)는 사용자 디바이스(60)의 환경의 조명의 임의의 적합한 조건의 임의의 적합한 특성들을 검출하기 위한 임의의 적합한 센서 컴포넌트들 또는 하위조립체들을 포함할 수 있다. 예를 들어, 센서(65)는 하나 이상의 주변 가시광 색상 센서들, 조도 주변광 레벨 센서들, 자외선("UV") 지수 및/또는 UV 방사선 주변광 센서들 등을 포함할 수 있지만, 이에 한정되지 않는, 임의의 적합한 광 센서를 포함할 수 있다. 임의의 적합한 광 센서 또는 광 센서들의 조합은 사용자 디바이스(60)의 환경에서의 주변 광의 조도 또는 광 레벨(예컨대, 제곱미터당 럭스(lux) 또는 루멘 등)을 결정 및/또는 사용자 디바이스(60)의 환경에서의 주변 광의 주변색 또는 백색 점 색도(예컨대, 색조(hue) 및 채도(colorfulness) 또는 x-y 색도 공간에 대한 x/y 파라미터들 등)를 결정 및/또는 사용자 디바이스(60)의 환경에서의 UV 지수 또는 UV 방사선(예컨대, UV 지수 단위 등)을 결정하기 위하여 제공될 수 있다. 적합한 광 센서는, 예를 들어, 포토다이오드, 포토트랜지스터, 집적 포토다이오드 및 증폭기, 또는 임의의 기타 적합한 광-감응형 디바이스를 포함할 수 있다. 일부 실시예들에서, 하나 초과의 광 센서가 사용자 디바이스(60)에 통합될 수 있다. 센서(65)는 사용자 디바이스(60)의 환경의 공기 질의 임의의 적합한 조건의 임의의 적합한 특성들을 검출하기 위한 임의의 적합한 센서 컴포넌트들 또는 하위조립체들을 포함할 수 있다. 예를 들어, 센서(65)는 하나 이상의 주변 공기 흐름 또는 공기 속도 측정기, 주변 산소 레벨 센서들, 휘발성 유기화합물("VOC") 센서들, 주변 습도 센서들, 주변 온도 센서들 등을 포함할 수 있지만, 이에 한정되지 않는, 임의의 적합한 공기 질 센서를 포함할 수 있다. 임의의 적합한 주변 공기 센서 또는 주변 공기 센서들의 조합은 사용자 디바이스(60)의 환경에서의 주변 공기의 산소 레벨(예컨대, 리터당 O2% 등)을 결정 및/또는 사용자 디바이스(60)의 환경에서의 주변 공기의 공기 속도(예컨대, 초당 킬로그램)를 결정 및/또는 사용자 디바이스(60)의 환경 내의 주변 공기의 임의의 적합한 유해 가스 또는 잠재적으로 유해 물질(예컨대, VOC(예컨대, 임의의 적합한 유해 가스, 향기, 냄새 등) 또는 미립자 또는 먼지 또는 화분 또는 곰팡이 등)의 레벨(예컨대, 리터당 HG % 등)을 결정 및/또는 디바이스(100)의 환경 내의 주변 공기의 습도(예컨대, 세제곱 미터당 물의 그램 등 (예컨대, 습도계를 이용하여)) 결정 및/또는 사용자 디바이스(60)의 환경 내의 주변 공기의 온도 (예컨대, 섭씨 온도 등 (예컨대, 온도계를 이용하여))를 결정하기 위하여 제공될 수 있다. 센서(65)는 사용자 디바이스(60)의 환경의 음질의 임의의 적합한 조건의 임의의 적합한 특성들을 검출하기 위한 임의의 적합한 센서 컴포넌트들 또는 하위조립체들을 포함할 수 있다. 예를 들어, 센서(65)는 사용자 디바이스(60)의 환경에서의 소음 공해 또는 잡음의 레벨을 (예컨대, 데시벨 등) 결정할 수 있는 하나 이상의 마이크로폰 등을 포함할 수 있지만 이에 한정되지 않는 임의의 적합한 음질 센서를 포함할 수 있다. 센서(65)는 또한 사용자 디바이스(60)의 사용자 및/또는 사용자 디바이스(60)의 환경 및/또는 사용자 디바이스(60)가 존재할 수 있는 임의의 상황에 관한 임의의 기타 적합한 특성들을 결정하기 위한 임의의 기타 적합한 센서를 포함할 수 있다. 예를 들어, 임의의 적합한 클록 및/또는 위치 센서(들)가 현재 시간 및/또는 사용자 디바이스(60)가 위치될 수 있는 시간대를 결정하기 위하여 제공될 수 있다. 센서(65)는, 예컨대, 사용자와 접촉하도록 동작할 수 있는 저부 표면을 따라, 사용자 디바이스(60)의 본체(예컨대, 하우징(61))에 매립될 수 있거나 또는 임의의 다른 바람직한 위치에 위치될 수 있다. 일부 예들에서, 상이한 센서들은 사용자 디바이스(60)의 표면 내의 또는 그 위의 상이한 위치들에 배치될 수 있다(예컨대, 일부는 하우징(61) 내에 위치하고 일부는 부착 메커니즘(예컨대, 웨어러블 디바이스의 하우징에 결합된 손목 밴드) 등에 부착됨). 다른 예들에서, 하나 이상의 센서들은 사용자에 의해 단일 사용자 디바이스(60)의 상이한 부분들로서 또는 상이한 디바이스들로서 별도로 착용될 수 있다. 이러한 경우들에서, 센서들은 (예컨대, 통신 컴포넌트(64)를 통해) 유선 및/또는 무선 기술을 이용하여 사용자 디바이스(60)와 통신하도록 구성될 수 있다. 일부 예들에서, 센서들은 서로 통신하고/하거나 하나 이상의 센서들로부터 수집된 데이터를 공유하도록 구성될 수 있다. 일부 예들에서, 사용자 디바이스(60)는 센서들이 사용자의 수중 활동을 검출할 수 있도록 방수일 수 있다.
전력공급(67)은 전력을 수신 및/또는 생성하고, 이러한 전력을 사용자 디바이스(60)의 하나 이상의 다른 컴포넌트들에 제공하기 위한 임의의 적합한 회로부를 포함할 수 있다. 예를 들어, 전력공급 조립체(67)는 (예컨대, 디바이스(60)가 휴대용 디바이스로서 작동하지 않거나 또는 디바이스의 배터리가 전기 콘센트에서 전력 발전소에 의해 생성된 전력으로 충전될 때) 전력 그리드에 결합될 수 있다. 다른 예로서, 전력공급 조립체(67)는 천연 자원으로부터 발전하도록 구성될 수 있다(예컨대, 태양전지를 이용한 태양광 발전). 다른 예로서, 전력공급 조립체(67)는 (예컨대, 디바이스(60)가 휴대용 디바이스로서 작용할 때) 전력을 제공하기 위한 하나 이상의 배터리들을 포함할 수 있다. 사용자 디바이스(60)에는 또한 하우징(61)이 제공될 수 있으며, 이는 사용자 디바이스(60)의 외부에서 부스러기 및 기타 저하시키는 힘으로부터 보호하기 위하여 사용자 디바이스(60)의 하나 이상의 컴포넌트들을 적어도 부분적으로 인클로징할 수 있다. 사용자 디바이스(60)의 각각의 컴포넌트는 (예컨대, 휴대용 미디어 디바이스 또는 서버와 같은 단일 일체형 디바이스로서) 동일한 하우징(61)에 포함될 수 있고/있거나 상이한 컴포넌트들이 상이한 하우징들에 제공될 수 있다(예컨대, 키보드 입력 컴포넌트가 프로세서 컴포넌트에 통신가능하게 결합될 수 있는 제1 하우징에 제공될 수 있고 디스플레이 출력 컴포넌트가 데스크톱 컴퓨터 셋업과 같은 제2 하우징에 제공될 수 있다). 일부 실시예들에서, 사용자 디바이스(60)는 도시된 것들에 조합되지 않거나 또는 포함되지 않은 다른 컴포넌트들을 포함할 수 있거나 또는 도시된 컴포넌트들의 여러 인스턴스들을 포함할 수 있다.
프로세서(62)는 메모리(63) 및/또는 임의의 기타 적합한 소스로부터(예컨대, APS 서브시스템(100) 또는 임의의 기타 서브시스템 및 활성 인터넷 또는 기타 적합한 데이터 접속을 통해 네트워크(50)로부터) 액세스가능할 수 있는 애플리케이션(69)과 같은, 하나 이상의 애플리케이션들을 (예컨대, 사용자 APSP 데이터(69d)의 일부분으로서) 실행하는 데 사용될 수 있다. 애플리케이션(69)은 하나 이상의 운영체제 애플리케이션들, 펌웨어 애플리케이션들, (예컨대, 사용자 디바이스들(60)과 APS 서브시스템(100) 및/또는 노드들(70) 및/또는 저장소(80) 및/또는 서드 파티 서브시스템(90) 사이의 데이터의 통신을 인에이블하기 위한) 통신 애플리케이션들, 서드 파티 서비스 애플리케이션들(예컨대, 지갑 애플리케이션들, 은행 애플리케이션들, 소셜 미디어 애플리케이션들 등), (예컨대, 사용자 디바이스(60)가 온라인 서비스와 상호작용할 수 있도록 서드 파티 서브시스템(90) 및/또는 APS 서브시스템(100)에 의해 제공된 웹사이트와 상호작용하기 위한) 인터넷 브라우징 애플리케이션들, 애플리케이션 프로그래밍 인터페이스("API"), 소프트웨어 개발 키트("SDK"), APS 애플리케이션들(예컨대, 사용자 디바이스(60)가 온라인 서비스 및/또는 하나 이상의 네트워크 노드들(70) 및/또는 저장소(80) 및/또는 서드 파티 서브시스템(90)과 상호작용할 수 있도록 APS 서브시스템(100)에 의해 적어도 부분적으로 생성될 수 있는 웹 애플리케이션 또는 네이티브 애플리케이션), 또는 임의의 기타 적합한 애플리케이션들을 포함할 수 있지만, 이에 한정되지 않는다. 예를 들어, 프로세서(62)는 애플리케이션(69)을 사용자 인터페이스 프로그램으로서 로딩하여 I/O 컴포넌트(66)의 입력 컴포넌트 또는 클라이언트 서브시스템(70)의 다른 컴포넌트(예컨대, 센서(65) 및/또는 통신 컴포넌트(64))를 통해 수신된 명령어들 또는 데이터가 어떻게 정보가 (예컨대, 메모리(63)에) 저장 및/또는 I/O 컴포넌트(66)의 출력 컴포넌트를 통해 사용자에게 제공 및/또는 통신 컴포넌트(64)를 통해 다른 서브시스템에 제공될 수 있는 방법을 조작할 수 있는지 결정할 수 있다. 예를 들어, 애플리케이션(69)은 시스템(1)의 인증 프로세싱 서비스 플랫폼("APSP")과 상호작용하는 능력을 사용자에게 제공할 수 있고, 애플리케이션(69)은 (예컨대, 통신 컴포넌트(64)를 이용하여) 애플리케이션 마켓, 예컨대, 애플 앱 스토어 또는 구글 플레이를 통해 사용자 디바이스(60) 상에 로딩될 수 있거나 또는 사용자 디바이스(60) 상에서 실행될 수 있고 목표 또는 웹 리소스가 APSP에 의해 관리될 수 있거나 또는 다른 방식으로 제휴되는 URL(uniform resource locator)로 지정될 수 있는 (예컨대, 애플 사파리 또는 구글 크롬에 의해) 인터넷 애플리케이션 또는 웹 브라우저를 통해 액세스될 수 있는, 사용자 디바이스(60) 상에서 실행될 수 있는 서드 파티 애플리케이션(예컨대, APS 서브시스템(100) 및/또는 서드 파티 서브시스템(90)과 연관된 애플리케이션)일 수 있다.
사용자 디바이스(60)는 시스템(1)의 APSP와 동작하도록 구성된 임의의 휴대용, 모바일, 웨어러블, 이식형, 또는 핸드-헬드 전자 디바이스일 수 있다. 대안적으로, 사용자 디바이스(60)는 사용 중에 휴대용이 아닐 수 있고, 대신 일반적으로 고정될 수 있다. 사용자 디바이스(60)는 미디어 플레이어, 비디오 플레이어, 스틸 이미지 플레이어, 게임 플레이어, 기타 미디어 플레이어, 음악 리코더, 영화 또는 비디오 카메라 또는 리코더, 스틸 카메라, 기타 미디어 리코더, 라디오, 의료 장비, 백색 가전, 스마트 가전(예컨대, 스마트 도어 손잡이, 스마트 도어락 등), 수송 차량 기구, 악기, 계산기, 셀룰러 전화기, 기타 무선 통신 디바이스, 개인용 디지털 어시스턴트, 원격 제어, 호출기, 컴퓨터(예컨대, 데스크톱, 랩톱, 태블릿, 서버 등), 모니터, 텔레비전, 스테레오 장비, 셋업 박스, 셋톱 박스, 웨어러블 디바이스(예컨대, 애플 인크사의 애플 워치™), 붐박스, 모뎀, 라우터, 프린터, 키오스크(예컨대, 개별 등록 및/또는 인증 프로세스들을 통해 다양한 사용자들을 등록 및/또는 인증함으로써 개인용 가상 디바이스를 제공하는 데 사용될 수 있는 공개 키오스크), 비콘(예컨대, 블루투스 로우 에너지 비콘 송신기 디바이스), 및 임의의 이들의 조합들을 포함할 수 있지만, 이에 한정되지 않는다.
도 1b에 도시된 바와 같이, 네트워크 노드(70)(예컨대, 도 1의 노드들(70a 내지 70c) 중 하나, 일부, 또는 각각)는 프로세서(62)와 유사할 수 있는 프로세서 컴포넌트(72), 애플리케이션(69)과 유사할 수 있는 애플리케이션(79), 메모리 컴포넌트(63)와 유사할 수 있는 메모리 컴포넌트(73)(예컨대, 데이터(예컨대, 노드 APSP 데이터(79d))를 저장하기 위함), 통신 컴포넌트(64)와 유사할 수 있는 통신 컴포넌트(74), 센서(65)와 유사할 수 있는 센서(75), I/O 컴포넌트(66)와 유사할 수 있는 I/O 컴포넌트(76), 전력공급 컴포넌트(67)와 유사할 수 있는 전력공급 컴포넌트(77), 하우징(61)과 유사할 수 있는 하우징(71), 및/또는 버스(68)와 유사할 수 있는 버스(78)를 포함할 수 있다. 하나, 일부, 또는 각각의 통신 컴포넌트(64) 및/또는 하나, 일부, 또는 각각의 통신 컴포넌트(74)는 네트워크(50)에 결합된 물리적 링크들을 통해 데이터를 전달하기 위한 기계적, 전기적, 및 신호 회로부를 포함할 수 있는 네트워크 인터페이스일 수 있다.
도 1c에 도시된 바와 같이, 저장소(80)는 프로세서(62)와 유사할 수 있는 프로세서 컴포넌트(82), 애플리케이션(69)과 유사할 수 있는 애플리케이션(89), 메모리 컴포넌트(63)와 유사할 수 있는 메모리 컴포넌트(83)(예컨대, 데이터(예컨대, 저장소 APSP 데이터(89d))를 저장하기 위함), 통신 컴포넌트(64)와 유사할 수 있는 통신 컴포넌트(84), 센서(65)와 유사할 수 있는 센서(85), I/O 컴포넌트(66)와 유사할 수 있는 I/O 컴포넌트(86), 전력공급 컴포넌트(67)와 유사할 수 있는 전력공급 컴포넌트(87), 하우징(61)과 유사할 수 있는 하우징(81), 및/또는 버스(68)와 유사할 수 있는 버스(88)를 포함할 수 있다. 하나, 일부, 또는 각각의 통신 컴포넌트(64) 및/또는 하나, 일부, 또는 각각의 통신 컴포넌트(84)는 네트워크(50)에 결합된 물리적 링크들을 통해 데이터를 전달하기 위한 기계적, 전기적, 및 신호 회로부를 포함할 수 있는 네트워크 인터페이스일 수 있다.
도 1d에 도시된 바와 같이, 서드 파티 서브시스템(90)은 프로세서(62)와 유사할 수 있는 프로세서 컴포넌트(92), 애플리케이션(69)과 유사할 수 있는 애플리케이션(99), 메모리 컴포넌트(63)와 유사할 수 있는 메모리 컴포넌트(93)(예컨대, 데이터(예컨대, 서드 파티 APSP 데이터(99d))를 저장하기 위함), 통신 컴포넌트(64)와 유사할 수 있는 통신 컴포넌트(94), 센서(65)와 유사할 수 있는 센서(95), I/O 컴포넌트(66)와 유사할 수 있는 I/O 컴포넌트(96), 전력공급 컴포넌트(67)와 유사할 수 있는 전력공급 컴포넌트(97), 하우징(61)과 유사할 수 있는 하우징(81), 및/또는 버스(68)와 유사할 수 있는 버스(98)를 포함할 수 있다. 하나, 일부, 또는 각각의 통신 컴포넌트(64) 및/또는 하나, 일부, 또는 각각의 통신 컴포넌트(94)는 네트워크(50)에 결합된 물리적 링크들을 통해 데이터를 전달하기 위한 기계적, 전기적, 및 신호 회로부를 포함할 수 있는 네트워크 인터페이스일 수 있다.
도 1e에 도시된 바와 같이, APS 서브시스템(100)은 프로세서(62)와 유사할 수 있는 프로세서 컴포넌트(12), 메모리 컴포넌트(63)와 유사할 수 있는 메모리 컴포넌트(13)(예컨대, 데이터(예컨대, APS 서브시스템 APSP 데이터(19d))를 저장하기 위함), 통신 컴포넌트(64)와 유사할 수 있는 통신 컴포넌트(14), 센서(65)와 유사할 수 있는 센서(15), I/O 컴포넌트(66)와 유사할 수 있는 I/O 컴포넌트(16), 전력공급 컴포넌트(67)와 유사할 수 있는 전력공급 컴포넌트(17), 하우징(61)과 유사할 수 있는 하우징(11), 및/또는 버스(68)와 유사할 수 있는 버스(18)를 포함할 수 있다. APS 서브시스템 APSP 데이터(19d)는 APS 서브시스템(100) 및/또는 시스템(1)의 임의의 다른 개체들에 의해 하나 이상의 사용자들에 제공될 수 있는 인증 프로세싱 서비스 또는 APSP를 용이하게 하기 위하여, 임의의 적합한 데이터 및/또는 애플리케이션들(예컨대, 사용자 디바이스(60)에 의해 사용될 애플리케이션(69) 및/또는 네트워크 노드에 의해 사용될 애플리케이션(79) 및/또는 APS 서브시스템(100)의 프로세서(12)에 의해 실행될 애플리케이션(19) 등)을 포함할 수 있는 하나 이상의 데이터 소스들 또는 데이터 구조들을 포함할 수 있다. APS 서브시스템(100)의 일부 또는 모든 부분들은 하나 이상의 사용자들 또는 시스템(1)의 개체들에 인증 프로세싱 서비스 또는 APSP를 제공하는 것을 담당하는 개체에 의해 운영, 관리, 또는 다른 방식으로 적어도 부분적으로 제어될 수 있고, 이는 본 명세서에서 Keyless™ 플랫폼으로 지칭될 수 있다.
APS 서브시스템(100)은 하나 이상의 통신 네트워크들(50)을 통해 하나 이상의 사용자 디바이스들(60) 및/또는 네트워크 노드들(70) 및/또는 저장소(80) 및/또는 서드 파티 인에이블 서브시스템들(90)과 통신할 수 있고/있거나 임의의 사용자 디바이스(60)는 하나 이상의 통신 네트워크들(50)을 통해 임의의 다른 사용자 디바이스(60) 및/또는 네트워크 노드(70) 및/또는 저장소(80) 및/또는 서브시스템(90)과 통신할 수 있고/있거나 임의의 네트워크 노드(70)는 하나 이상의 통신 네트워크들(50)을 통해 임의의 다른 네트워크 노드(70) 및/또는 사용자 디바이스(60) 및/또는 저장소(80) 및/또는 서브시스템(90)과 통신할 수 있다. 네트워크(50)는 인터넷 또는 임의의 다른 네트워크일 수 있고, 접속되면, 마치 이러한 정보가 그 사용자 디바이스에 (예컨대, 메모리 컴포넌트(63)에) 국지적으로 저장되어 있는 것처럼, 사용자 디바이스(60)가 정보(예컨대, API, SDK, 프로토콜, 애플리케이션 등(예컨대, APS 서브시스템(100)의 데이터 구조(19d)로부터, 인증 프로세싱 서비스로서 APS 서브시스템(100)의 프로세서(12)를 통해 제공될 수 있는 바와 같이))에 액세스할 수 있다.
사용자 디바이스(60)는 임의의 적합한 APSP 프로토콜들을 따름으로써, 예컨대 사용자 디바이스 상에서 실행될 수 있는 임의의 적합한 클라이언트 애플리케이션(예컨대, 임의의 적합한 APSP-인에이블 애플리케이션)을 이용함으로써 자신 및 사용자를 시스템(1)의 APSP에 등록하고 이어서 인증하도록 구성될 수 있고, 다양한 노드들(70)은 사용자의 생체인식 데이터 및 키들의 암호로 보호된 공유들을 저장하는 데 사용될 수 있다. 예를 들어, 도 1f에 도시된 바와 같이, APS 서브시스템(100)에 의해 적어도 부분적으로 정의될 수 있는 APSP API 및/또는 APSP SDK를 포함할 수 있는 클라이언트 애플리케이션(69a)(예컨대, APSP 앱(예컨대, 생성 및/또는 관리 또는 달리 적어도 부분적으로 APS 서브시스템(100)의 원조 하에 있을 수 있는 바와 같이))은 사용자 디바이스(60a) 상에서 실행될 수 있다. 클라이언트 애플리케이션(69)의 APSP API는 임의의 적합한 사용자 디바이스 컴포넌트들(예컨대, 사용자의 생체인식을 나타내는 이미지들을 캡처하기 위한 카메라 같은 생체인식 센서들)과의 상호작용을 가능하게 하도록 구성될 수 있다. 클라이언트 애플리케이션(69)의 APSP SDK는 (예컨대, 캡처된 생체인식 이미지를 프로세싱 및/또는 시드/비밀 값을 결정 및/또는 생체인식의 공유들 및/또는 시드의 공유를 생성 및/또는 하나 이상의 키들로 공유들을 암호화 및/또는 암호화된 공유들을 다양한 각자의 노드들에 전달 및/또는 임의의 기타 적합한 태스크들을 수행(예컨대, 캡처된 사용자 생체인식을 신경망을 통해 전달하여 임베딩을 추출함)하기 위한) 사용자 디바이스와 다양한 네트워크 노드들 사이의 상호작용을 인에이블하기 위하여 클라이언트-/사용자-측 보안 멀티-파티 연산("SMPC") 프로토콜 엔진 및/또는 통신 프로토콜을 포함 또는 정의하도록 구성될 수 있다. 또한, 도 1f에 도시된 바와 같이, 네트워크 노드들(70)(예컨대, 노드들(70a 내지 70c))의 각각은 APS 서브시스템(100)에 의해 적어도 부분적으로 정의될 수 있는 임의의 적합한 SMPC 엔진(들) 및/또는 임의의 적합한 APSP 프로토콜(들)을 포함할 수 있는 임의의 적합한 애플리케이션(들)(예컨대, 각각의 애플리케이션들(79a 내지 79c))을 실행시키도록 구성될 수 있다.
사용자의 생체인식을 캡처하거나 또는 달리 APSP로 사용자 등록 및/또는 사용자 인증에 사용될 수 있는 본 명세서에서 APS 사용자 디바이스(60a)로 지칭될 수 있는, 사용자 디바이스(60a)의 APSP 등록 동안, 사용자의 생체인식을 캡처하거나 또는 달리 APSP로 사용자 등록 및/또는 사용자 인증에 사용될 수 없지만 그럼에도 불구하고 사용자에 의해 APSP의 등록/인증으로부터 이익을 얻을 수 있는 서드 파티 서브시스템(90)과 상호작용하는 데 사용될 수 있는 TPS 사용자 디바이스(예컨대, TPS 사용자 디바이스(60c))와 비교하여, APS 사용자 디바이스는 임의의 적합한 키들을 제공 또는 정의하는 데 사용될 수 있는 임의의 적합한 시드(예컨대, 비밀 값(예컨대, 기밀 및/또는 낮은 예측가능성일 수 있는 임의의 값))를 생성 또는 다른 방식으로 획득하도록 구성될 수 있다. 이러한 키들(예컨대, 공개 키(들)) 중 소정의 키들은 APS 사용자 디바이스 및 그것의 사용자를 APSP에 등록(registration) 및 등록(enrollment)하는 것을 인에이블하기 위하여 APS 사용자 디바이스(60)에 의해 저장소(80) 및/또는 하나 이상의 네트워크 노드들(70)에 전달 및 저장될 수 있다. 저장소(80)는 (예컨대, 블록체인, 분산 개체("DID") 등을 이용하여) 사용자 식별자 및/또는 디바이스 식별자를 임의의 적합한 키들과 연관시키기 위하여 임의의 적합한 데이터(예컨대, 저장소 APSP 데이터(89d)의 적어도 일부분으로서)를 저장하도록 동작할 수 있는 임의의 적합한 서브시스템일 수 있어서, (예컨대, 다양한 디바이스 식별자들(예컨대, 다양한 디바이스들의 다양한 공개 디바이스 서명 키들)을 특정 사용자 식별자(예컨대, 공개 사용자 키)와 연관시키기 위하여) 데이터는 시스템의 다양한 다른 개체들에 의해 (예컨대, 네트워크(50)를 통해) 액세스가능할 수 있도록 한다. 예를 들어, 저장소(80)는 각각의 네트워크 노드와 구별될 수 있거나, 또는 네트워크 노드일 수 있거나, 또는 APS 서브시스템(100)의 일부일 수 있다. 도 1f에 도시된 바와 같이, APS 사용자 디바이스(60a)는 또한 (예컨대, 그 사용자 디바이스(60a)의 센서(65) 및/또는 임의의 기타 적합한 특징부들을 이용하여) 디바이스 사용자(U)의 임의의 적합한 사용자 생체인식(ub)을 캡처하도록 또한 구성될 수 있다. 예를 들어, 등록 동안, APS 사용자 디바이스는 사용자의 임의의 적합한 사용자 등록 생체인식을 캡처하도록 구성될 수 있고, 이 캡처된 사용자 등록 생체인식은 APS 사용자 디바이스에 의해 등록 생체인식 템플릿("EBT")을 생성하는 데 사용될 수 있다(예컨대, 사용자의 얼굴은 이미지로서 사용자 디바이스에 의해(예컨대, 카메라 센서를 이용하여) 캡처될 수 있고, 잘라진 및/또는 크기조정된 버전의 그 이미지는 입력으로서 신경망에 제공되어 EBT로서 사용될 수 있는 임베딩을 생성할 수 있다(예컨대, EBT는 캡처된 사용자 등록 생체인식으로부터 특징부 벡터로서 획득될 수 있다)).
또한, 이러한 등록 동안, APS 사용자 디바이스는 시드 및 EBT의 각각을 임의의 적합한 수의 공유들로 분할하고, 각각의 시드 공유 및 각각의 EBT 공유를 하나 이상의 키들로 암호화하고, 암호화된 시드 공유(들)를 하나 이상의 네트워크 노드들(70) 상에 저장하고, 암호화된 EBT 공유(들)를 하나 이상의 네트워크 노드들(70) 상에 저장하고, 시드 및 EBT 및 그것들의 모든 공유들을 APS 사용자 디바이스로부터 (예컨대, APSP 프로토콜에 따라) 삭제하도록 구성될 수 있다. 시드 공유들의 수, 생체인식 템플릿 공유들의 수, 및 등록 동안 사용된 노드들의 수는 서로 상이할 수 있거나, 서로 동일할 수 있거나, 또는 수들 중 어느 2개는 서로 동일하지만 3번째 수와는 상이할 수 있다. 일부 실시예들에서, 시드 공유들의 수는 시드 공유를 저장하는 노드들의 수와 동일할 수 있도록 각각의 시드 공유가 각자의 상이한 노드 상에 저장될 수 있고, 생체인식 템플릿 공유들의 수가 생체인식 템플릿 공유를 저장하는 노드들의 수와 동일할 수 있도록 각각의 생체인식 템플릿 공유가 각자의 상이한 노드 상에 저장될 수 있고, 여기서 시드 공유들의 수는 생체인식 템플릿 공유들의 수와 동일할 수 있고 시드 공유들을 저장하는 노드들의 수는 생체인식 템플릿 공유들을 저장하는 노드들의 수와 동일할 수 있지만 시드 공유들을 저장하는 노드들의 세트는 생체인식 공유들을 저장하는 노드들의 세트와 동일하거나 동일하지 않을 수 있고, 이러한 세트들은 서로 모든 노드들, 일부 노드들을 공유할 수 있거나, 또는 노드들을 공유하지 않을 수 있다. 일부 실시예들에서, 시드 공유들의 수는 생체인식 템플릿 공유들의 수와 동일하지 않을 수 있다. 일부 실시예들에서, 둘 이상의 시드 공유들은 하나의 노드(예컨대, 더 신뢰되거나 또는 더 선호되는 노드) 상에 저장될 수 있지만 더 적은 시드 공유들이 다른 노드(예컨대, 덜 신뢰되거나 또는 덜 선호되는 노드) 상에 저장될 수 있다. 유사하게, 일부 실시예들에서, 둘 이상의 생체인식 템플릿 공유들은 하나의 노드(예컨대, 더 신뢰되거나 또는 더 선호되는 노드) 상에 저장될 수 있지만 더 적은 생체인식 템플릿 공유들이 다른 노드(예컨대, 덜 신뢰되거나 또는 덜 선호되는 노드) 상에 저장될 수 있다. 이러한 방식으로, 더 신뢰되거나 또는 선호되는 노드는 시드 및/또는 생체인식 템플릿을 재구성할 때 프로토콜 내의 둘 이상의 노드들을 대체할 수 있다. 일부 실시예들에서, (예컨대, 시드 및/또는 템플릿의) 모든 암호화된 공유들은 단일 노드로 전송될 수 있거나, 또는 단일 노드는 먼저 다수의 시드 공유들로 분할되지 않고 전체 암호화된 시드를 수신할 수 있고/있거나 단일 노드는 먼저 다수의 생체인식 템플릿 공유들로 분할되지 않고 전체 암호화된 생체인식 템플릿을 수신할 수 있다. 일부 실시예들에서, 생체인식 템플릿은 등록 동안 하나 이상의 노드들과 공유되지 않을 수 있다(예컨대, SMPC 프로토콜이 생체인식 템플릿의 사용을 통해 어떠한 특징부(예컨대, 가블드 회로들(garbled circuits))를 재생성할 필요가 없는 경우). 각각의 공유는 이중으로 암호화될 수 있다. 예를 들어, 각각의 공유는 디바이스에 의해 생성될 수 있는 랜덤 키로 먼저 암호화될 수 있다. 이어서, 예를 들어, 각각의 공유는 성공적인 인증 후에 인증 프로토콜에 의해 개시될 수 있는 성공 키(예컨대, APSP의 인증의 성공 프로토콜에 의해 개시된 키(예컨대, SMPC 프로토콜의 성공(예컨대, 매칭 함수의 성공적인 평가(예컨대, 사용자의 인증 생체인식 샘플에 대한 사용자의 EBT의 성공적인 평가))))로 이중으로 암호화될 수 있다. 이러한 성공 키는 등록된 APS 사용자 디바이스에 의한 인증 시도 시까지 임의의 네트워크 노드에 알려지지 않을 수 있다. 이러한 인증 시도 동안, 성공 키를 네트워크 노드에 노출시키기 위하여, 등록된 APS 사용자 디바이스는 APSP에 의해 (예컨대, EBT 자체의 액세스가능성을 보호하기 위하여 SMPC를 이용하여) 사용자의 EBT에 대하여 네트워크 노드에 의해 공유되고 성공적으로 평가될 사용자의 인증 생체인식 샘플을 생성하도록 인에이블 될 수 있다. 이러한 성공 키는 각각의 인증 시도에 따라 변경될 수 있다.
따라서, 시스템(1)의 APSP에 등록 동안, APS 사용자 디바이스(60)는 사용자 및 디바이스 자체를 APSP에 등록하고, 시드 재료가 여러 조각들 또는 공유들로 분할되어, 그 수가 시드 재료를 재구성하는 데 요구될 수 있도록 선택될 수 있는 비밀 공유 기법과 같은 임의의 적합한 임계 비밀 공유를 이용하여(예컨대, 샤미르(Shamir)의 비밀 공유를 이용하여) 다양한 노드들 상에 분산된 형태로 암호화된 시드 재료 및 암호화된 생체인식 데이터를 저장하도록 구성될 수 있고, 그럼으로써 각각의 공유는 암호화되고 각자의 노드 상에 저장될 수 있고(예컨대, 하나의 노드 상에 하나의 공유), 그럼으로써 개체가 최소로 요구되는 수의 공유들에 대한 액세스를 갖지 않는 한 시드는 개시되지 않을 수 있거나 또는 그 개체에 의해 액세스가능하지 않을 수 있다. 일부 실시예들에서, 제1 비밀 공유 기법은 시드 공유에 사용될 수 있고, 제2 비밀 공유 기법은 생체인식 템플릿 공유에 사용될 수 있고, 제1 비밀 공유 기법은 제2 비밀 공유 기법과 동일할 수 있거나 또는 제1 비밀 공유 기법은 임의의 적합한 방법(들)으로 제2 비밀 공유 기법과 상이할 수 있다. 이러한 등록의 종료 시, 시드, 생체인식, 및 일부 다른 민감한 정보는 APS 사용자 디바이스 또는 임의의 중앙 서버 또는 개별 개체에 저장되거나 또는 액세스가능하지 않을 수 있지만, 대신에, 시드의 암호화된 공유들(또는 암호화된 시드) 및 생체인식의 암호화된 공유들(또는 암호화된 생체인식 템플릿)만이 다양한 네트워크 노드들 사이에서 (또는 단일 노드 상에) 분산될 수 있다. 시드의 암호화된 공유들 및 EBT의 암호화된 공유들을 다양한 노드들 상에 저장하는 것에 더하여, APSP에 등록 동안, APS 사용자 디바이스는 또한 잠재적으로 성공 키(들)를 노드(들)에 노출시키기 위하여 등록의 EBT와 향후(예컨대, 인증 동안) 획득된 인증 생체인식 샘플("ABS") 사이에 매칭 함수를 수행하기 위하여 노드들에 의해 수행될 임의의 적합한 프로토콜(들)(예컨대, 임의의 적합한 SMPC 프로토콜(들), 이는 임의의 적합한 보안 양자(two-party) 연산 프로토콜(들)을 포함할 수 있음)을 향후(예컨대, 인증 동안) 인에이블할 수 있는 임의의 적합한 메커니즘들을 생성하고 네트워크 노드들 상에 저장하도록 구성될 수 있다. 야오(Yao)의 가블드 회로들, 동형(예컨대, 완전 또는 일부 동형) 암호화 기술들, 골드레이치-미칼리-위그더슨 프로토콜(Goldreich-Micali-Wigderson protocol), 0-지식 프로토콜(zero-knowledge protocol) 등을 포함하지만 이에 한정되지 않는 임의의 적합한 SMPC 프로토콜(들) 및/또는 임의의 적합한 SMPC 프로토콜 빌딩 툴들(예컨대, SMPC 프로토콜이 APSP에 의한 사용을 위해 구축될 수 있는 툴(들))이 APSP에 의해 사용될수 있다.
APSP에 등록 후에, APS 사용자 디바이스(60)는 이어서 그것의 사용자를 APSP로 인증하는 데 사용될 수 있다. APS 사용자 디바이스는 이러한 인증을 위하여 APSP 프로토콜을 따르도록 구성될 수 있다. APS 사용자 디바이스(60)는 (예컨대, 디바이스의 개인 키로, 등록의 디바이스 등록 단계 동안 사용된 대응하는 공개 키에 대한 (예컨대, 국부적 및/또는 저장소(80)를 통한)액세스를 가질 수 있는 다양한 네트워크 노드들 중 각각으로부터의 시도를 적절히 서명함으로써) 디바이스 자체를 APSP로 인증하도록 구성될 수 있다. 이어서, APS 사용자 디바이스(60)는 이어서 ABS를 생성하는 데 사용될 수 있는 그것의 사용자의 임의의 적합한 사용자 인증 생체인식(예컨대, 등록의 EBT를 생성하는 데 사용된 사용자 등록 생체인식과 유사한 사용자 인증 생체인식(예컨대, 사용자의 얼굴의 사진(들), 사용자의 지문의 스캔(들) 등))을 먼저 캡처함으로써 그것의 사용자를 인증하도록 구성될 수 있다. 이 ABS는 이어서 암호화 또는 다른 방식으로 보호되어 APS 사용자 디바이스에 의해 다양한 네트워크 노드들과 안전하게 공유될 수 있도록 (예컨대, 어떠한 노드도 ABS 자체에 대한 직접 액세스를 갖지 않도록 암호화됨) 하고, 이어서 이러한 보호된 ABS는 각각의 네트워크 노드에 의해 등록된 SMPC 프로토콜에 따라 ABS와 EBT 사이의 매칭 함수(예컨대, 설정 교차)를 평가하는 데 사용될 수 있다(예컨대, 가블드 회로를 이용하여, ABS 또는 EBT 어느 것도 임의의 노드에 의해 직접 액세스될 수 없도록 함). 특정 네트워크 노드에 의해 수행된 평가가 성공적인 경우(예컨대, 평가가 2개의 생체인식 데이터포인트가 높은 확률로 동일한 사람으로부터 나온 것이라고 나타내는 경우), 특정 네트워크 노드는 그것의 각자의 암호화된 EBT 공유 및/또는 그것의 각자의 암호화된 시드 공유를 (예컨대, 성공적인 평가에 기초하여 네트워크 노드에 노출된 성공 키를 이용하여 공유(들)의 부분 복호화 후에) APS 사용자 디바이스에 반환할 수 있다. 따라서, 노드에 의해 수행된 매칭 함수가 APS 인증(예컨대, TPS 인증(예컨대, TPS의 인증 또는 APS 인증에 기초한 임의의 적합한 보안 동작)에 반대인, APS 사용자/APS 사용자 디바이스의 인증) 동안 사용자의 EBT 및 ABS의 성공적인 평가를 내놓은 경우, 성공 키는 노드에 노출될 수 있고(예컨대, 노드가 노드 상에서 이중으로 암호화된 시드 공유를 부분적으로 복호화할 수 있게 하고/하거나 노드가 노드 상에서 이중으로 암호화된 EBT 공유를 부분적으로 복호화할 수 있게 함), 모든 노드는 EBT 자체에 대한 액세스가 절대 없다.
사용자의 EBT 및 ABS의 평가가 충분한 수(예컨대, 1 또는 이상(예컨대, n개의 비밀 공유 중에서 m개에 대한 m-수))의 네트워크 노드들에서 성공적인 경우(예컨대, APSP의 사용자 인증이 충분한 수의 노드들에서 성공적인 경우), APS 사용자 디바이스는 노드(들)로부터 시드를 복구 또는 재구성하기에 충분한 시드 공유들을 수신하고 추가로 복호화할 수 있다(또는 노드로부터 시드를 수신하고 추가로 복호화함). 이러한 복구 또는 재구성된 시드는 이어서 APS 사용자 디바이스에 의해 임의의 적합한 목적을 위하여, 예컨대 임의의 적합한 보안 동작(예컨대, 무결절성 인증, 고유 식별, 액세스 제어, 키 생성, e-서명 등)을 인에이블하기 위하여, 임의의 적합한 섹터(예컨대, e-지갑, 핀테크, 은행, 기업, A&D/여행, 보건, 정부 등)에서 (예컨대, 디바이스의 메모리의 하드 드라이브 부분을 암호화/복호화하기 위하여, 블록체인 발행을 위하여 디바이스 상의 사용자의 디지털 지갑으로 암호화폐 거래를 암호화 또는 서명하기 위하여 재구성된 시드 또는 그로부터 도출된 키를 이용하여) APS 사용자 디바이스 상에 국지적인 임의의 적합한 서비스에 및/또는 (예컨대, 서드 파티 앱 또는 웹사이트 브라우저를 통해 서드 파티 웹사이트(예컨대, 소셜 네트워크 사이트 또는 은행 사이트)의 서버 또는 신원 및 액세스 관리("IAM") 서버에 대한 보안 사용자 액세스를 인에이블하기 위하여 재구성된 시드 또는 그로부터 도출된 키를 이용하여) 임의의 적합한 서드 파티 서브시스템(90)에 의해 제공되는 임의의 적합한 서비스에 사용될 수 있다. 보안 동작은 APSP의 복구 또는 재구성된 시드를 이용 및/또는 하나 이상의 노출된 성공 키들을 이용하여 비밀 키들(개인 키 포함)을 생성, 유지 및/또는 사용하는 임의의 프로세스일 수 있다. 예를 들어, APS 사용자 디바이스는, DID 키를 도출하고 사용자의 신원과 연관된 서명된 클레임을 발행하고, 암호화폐 거래를 수행하기 위한 암호 지갑 비밀 키를 도출하고, 사용자의 잔고를 확인하기 위하여 암호 지갑 공개 키들의 목록을 도출하고, 서드 파티 키를 도출하고 이어서 그 서드 파티 키를 이용하여 서드 파티로부터의 시도를 서명 또는 암호화하는 것을 포함하지만 이에 한정되지 않는, 복구된 시드와 임의의 적합한 작용을 수행하도록 구성될 수 있다. 시드가 임의의 적합한 목적(예컨대, 일회용)을 위하여 APS 사용자 디바이스에 의해 복구 및 사용되면, 시드는 다시 APS 사용자 디바이스로부터 (예컨대, APSP 프로토콜에 따라) 삭제되어야 한다.
따라서, APS 등록의 종료(예컨대, 프로세스(200) 참조)와 APS 성공적인 APS 인증(예컨대, 프로세스(400) 참조) 사이에서뿐만 아니라, 인증들 사이에서, 시드, 생체인식, 및 일부 다른 민감한 정보는 APS 사용자 디바이스 또는 임의의 중앙 서버 또는 개별 개체에 저장되지 않을 수 있고 액세스가능하지 않을 수 있지만, 대신에, 시드의 암호화된 공유들(또는 암호화된 시드) 및 생체인식의 암호화된 공유들(또는 암호화된 생체인식 템플릿)만이 다양한 네트워크 노드들 사이에서 (또는 단일 노드 상에) 분산될 수 있다. 사용자의 등록 생체인식은 (예컨대, 신경망을 통한 특징부 추출에 의해) 비밀 시드와 함께, 이어서 분할되고 사용자 디바이스 상에 일방향 암호화될 수 있는 EBT로서 캡처 및 프로세싱될 수 있다. 이러한 일방향 암호화된 생체인식 공유들 및 일방향 암호화된 비밀 시드 공유들은 관련 SMPC 특징부들(예컨대, 등록된 가블드 회로들)과 함께 많은 곳(예컨대, 다양한 네트워크 노드들 (예컨대, 상이한 노드들 상에 상이한 공유들) 및/또는 다양한 네트워크 도메인들 및/또는 다양한 제어 도메인들 등에)에 저장될 수 있지만, 공유들 및 기초 생체인식 및 비밀 시드는 사용자 디바이스로부터 삭제된다. 나중에, 사용자 디바이스는 이어서 다른 사용자 생체인식을 ABS로서 캡처 및 프로세싱할 수 있고, 노드들의 등록된 SMPC 특징부들은 각각의 노드 상에서 ABS와 EBT의 비교를 평가하여, 보안 인증-종속 동작에서 사용하기 위하여 사용자 디바이스 상의 시드를 복구하기 위하여 다른 노드들로부터의 다른 반환된 시드 공유들과의 잠재적 재조합을 위하여 노드 상의 암호화된 시드 공유가 노드로부터 사용자 디바이스로 반환될수 있는지 여부를를 결정하도록 사용될 수 있다. APSP에 따른 이러한 등록 및 인증의 이점은 많이 있으며, 예컨대, 사용자 디바이스 또는 임의의 중앙 서버 상에 민감한 정보(예컨대, 시드, 생체인식 템플릿, 또는 심지어 이들의 공유들)의 장기 저장(예컨대, APS 등록과 APS 인증 사이 또는 개별적 인증들 사이)을 회피하고, (예컨대, 다양한 유형들 및/또는 실행중인 다양한 운영체제들의 APS 사용자 디바이스들에 대하여, 다양한 유형들 및/또는 실행중인 다양한 운영체제의 TPS 사용자 디바이스들에 대하여, APSP의 상이한 단계들(예컨대, APS 등록, APS 인증, TPS 등록, TPS 인증, 다양한 보안 동작 등)에 대한) 일관된 플랫폼-간 사용자 경험, 자체적인 사용자 디바이스 상의 고속 및 로컬 사용자 인증, 그것의 개인용 데이터를 제어하는 사용자의 능력을 유지하는 등을 포함하지만, 이에 한정되지 않는다. 이 APSP에 의해 제공되는 보안은 중앙 서버(예컨대, 회사의 중앙 서버)보다는 사용자 및 탈중앙화 및 분산된 시스템이 제어될 수 있도록 할 수 있고, 임의의 하나의 개체 상에 영구적으로 저장된 비밀 시드 인에이블 인증이 없을 수 있기 때문에(예컨대, 사용자 디바이스 또는 단일 네트워크 노드 상에 저장된 허니팟(honeypot), 인증 비밀 등이 없음), APSP는 SMPC를 통해 진정한 패스워드-없는 환경을 제공할 수 있다. APSP 시스템은, 시스템의 하나 이상의 부분들(예컨대, 노드들)이 다운(예컨대, 적절히 기능하지 않음)된 경우, APSP는 여전히 적절히 기능할 수 있을 정도로 견고할 수 있다. 상이한 노드들은 상이한 개체들에 의해 제어(예컨대, 관리, 유지, 동작 등)될 수 있고, 이는 제어 및 비용이 분할되도록 할 수 있고, 이는 시스템의 견고함을 증가시킬 수 있다. 이 APSP에 의해 제공되는 프라이버시는 GDPR(General Data Protection Regulation)에 부합할 수 있다. 0-지식 생체인식 인증이 인에이블될 수 있고, 사용자는 APSP에 의해 어떤 데이터가 선택적 데이터 개시내용을 통해 공유되는지를 제어하도록 인에이블 될 수 있다.
APSP는 분산 연산, 임계 암호화, 및/또는 SMPC를 이용하여 사용자의 비밀을 재조합하거나 또는 다른 방식으로 복구할 수 있는 보안 동작을 인에이블하기 위하여 사용자의 생체인식을 인증하는 방법을 제공함으로써 크리덴셜 저장 문제를 해결할 수 있다. APSP에 의해, 사용자들(예컨대, 그들의 생체인식)은 그들의 패스워드가 되고, 그들의 크리덴셜을 생체인식을 통해 제어할 수 있다. APSP는 0-지식 시스템을 생성하여 생체인식 템플릿 데이터 또는 시드를 인증의 결과에 의존할 수 있는 것들(예컨대, 서드 파티 서브시스템(예컨대, 소셜 미디어 웹사이트의 서버 또는 IAM 서버))과 공유할 필요 없이 보안 동작을 인에이블하기 위한 생체인식 인증을 달성할 수 있다. APSP의 등록 단계 동안, 사용자는 자신(예컨대, 사용자의 생체인식을 등록) 및 그것의 사용자 디바이스를 APSP 네트워크에 등록할 수 있다. 이는 임계 비밀 공유를 이용하여 암호화된 키 재료 및 암호화된 생체인식 데이터(예컨대, 암호화된 EBT)를 분산된 형태로 하나 이상의 노드들 상에 저장하는 단계를 포함할 수 있다. APSP의 인증 단계 동안, 사용자는 먼저 그것의 디바이스를 (예컨대, 네트워크 노드 시도의 적절한 처리를 통해) 인증하고 이어서 사용자 인증을 인에이블하기 위하여 ABS를 생성하기 위한 인증 생체인식을 제공할 수 있다. ABS는 사용자의 디바이스 상에서 암호화될 수 있고, (예컨대, 등록된 SMPC 특징부들(예컨대, 등록된 가블드 회로들)을 이용하여) 등록 동안 네트워크 노드(들)에 전송된 암호화된 EBT에 대해 매칭될 수 있다. 노드들 중 어느 것도 암호화된 EBT 또는 암호화된 ABS를 복호화할 수 없을 수 있다. 매칭은 (예컨대, 야오의 가블드 회로 기술에 기초하여) SMPC 프로토콜을 이용하여 수행될 수 있다. 따라서, APSP 프로토콜은 노드들 및 사용자 디바이스들 중 일부가 위태로운 경우에도 안전하게 유지될 수 있다. 구체적으로, 비밀 사용자 정보(예컨대, 생체인식 데이터, 시드 등)는, 상대방이 모든 노드들을 제어할 수 있는 경우, 또는 상대방이 사용자-정의 임계치 미만의 APS 사용자 디바이스 및 노드들의 서브세트를 제어할 수 있는 경우, 개시되지 않을 수 있다. 또한, 노드들 상에 저장된 데이터의 프라이버시는 생체인식 신호와 연관된 엔트로피의 양에 따라 달라지지 않을 수 있는데, 그 이유는 노드들 상에 저장된 모든 정보 조각은 의사랜덤이거나 또는 (예컨대, (무작위) 128-비트 키들의 고급 암호화 표준("AES")을 이용 및/또는 RSA(Rivest-Shamir-Adleman)-2048을 이용하여) 암호화될 수 있기 때문이다. 따라서, 키들(예컨대, 사용자의 비밀 키, 시드 등)의 강도는 생체인식 신호와 연관된 엔트로피의 양에 독립적일 수 있다. 이는 노드 상에 저장된 데이터에 대한 거친 오프라인 공격들을 무위로 만들 수 있다.
각각의 노드(70)는 독립적으로 운영되거나 또는 단일 개체(예컨대, APS 서브시스템(100)의 관리자)에 의해 적어도 부분적으로 관리될 수 있는 임의의 적합한 서버 또는 디바이스 또는 서브시스템일 수 있다. 일부 실시예들에서, 노드(70)는 다른 사용자에 의한 사용을 위해 사용자 디바이스(60)에 의해 제공될 수 있다(예컨대, 시스템(1)의 하나의 사용자 디바이스(60)는 시스템(1)의 다른 사용자 디바이스(60)에 대한 노드(70)로서 동작하도록 구성될 수 있다). 시스템(1)의 노드들(70)은 이용가능해야 하고 비-공모적(non-colluding)이어야 한다. 예를 들어, 시스템(1)의 APSP 네트워크(40)(예컨대, 탈중앙화 및/또는 분산 네트워크)는 둘 이상의 노드들(70)을 포함할 수 있다. 일부 실시예들에서, APSP 네트워크(40)는 하나 이상의 기타 사용자 디바이스들에 대한 노드로서 적어도 부분적으로 구성될 수 있는 하나 이상의 사용자 디바이스들을 포함할 수 있다. 네트워크(40)는 지리적으로-분산된, 많은 수의 사용자들로 확장되도록 설계될 수 있다. 결과적으로, APSP 프로토콜은 네트워크 용량(예컨대, 네트워크가 처리할 수 있는 사용자들의 수)이 노드들의 수에 따라 선형적으로 증가해야 한다거나, 다수의 노드들이 실패한 경우, 네트워크가 여전히 대다수의 사용자들에 대하여 동작하도록 해야 하는 등을 포함하지만, 이에 한정되지 않는 하나 이상의 적합한 설계 요건들을 준수하도록 구성될 수 있다. 임의의 시점에 사용자 디바이스는 네트워크 내의 노드들의 특정(예컨대, 고정된) 서브세트로 등록 또는 인증될 수 있다. 신규 노드들을 추가함으로써 더 많은 사용자들이 네트워크를 활용할 수 있게 할 수 있다. 추가적으로 또는 대안적으로, 임계 비밀 공유의 사용을 통해, 시드를 복구하는 것은 네트워크 내의 소수의 노드들만이 임의의 시점에서 운영되도록 요구할 수 있다. 레이턴시를 감소시키기 위하여, 노드들은 전략적으로 그것들의 사용자들에 가까이 배치될 수 있다. 주요 클라우드 제공자들로부터의 지리적으로 분산된 데이터 센터들의 이용가능성을 고려하면, 이는 사용자 경험을 개선하고 서비스의 품질을 제공하기 위한 단순하고 비용효율적인 방법일 수 있다. 분리형 네트워크(예컨대, 기업 등)의 경우, 노드들은 분리형 네트워크의 주연부 내에 배치될 수 있다. 물리적으로 분리된 네트워크들(air-gapped networks)(예컨대, 군사, 정보, 및 재난 복구 네트워크들 등)의 경우, 노드들은 물리적으로 분리된 네트워크 내부에 배치될 수 있다. APSP는 APS 사용자 디바이스가 다양한 개인 정보(예컨대, 시드, 생체인식 템플릿 등)의 암호화된 공유들을 생성하고 적절한 네트워크 노드들로 전달하도록 인에이블함으로써 민감한 데이터의 비밀 공유 및 암호화를 이용할 수 있다. 이는 특정 노드가 위태로운 경우 2층의 보안을 제공할 수 있다 (1) 상당한 수의 노드들을 위태롭게 할 수 있어야 하는 상대방은 사용자의 비밀을 재구성하기에 충분한 수의 공유들을 복구할 수 있어야 하는데, 이는 실질적으로 상대방에 대한 기대치를 높이게 된다 (2) 상대방은 각각이 독립 키(예컨대, 성공 키) 하에서 암호화될 수 있는 공유들을 복호화할 수 있어야 한다. 야오의 가블드 회로 기술이 APSP의 SMPC 프로토콜에 사용될 수 있는 예에서, ABS가 가블드 회로 프로토콜의 보안 속성들로 인해 EBT에 가까운(예컨대, 임계 거리 내에 있음) 경우에만 가블드 회로는 유효 성공 키를 출력하도록 구성될 수 있다. 결과적으로, 그것이 신뢰받는 디바이스와 상호작용하고, 인증이 성공하지 않는 한, 오류가 생긴 노드의 공격자는 일반적으로 회로 출력 키(예컨대, 성공 키)를 연산할 수 없을 것이다.
도 2a 내지 도 7w
다양한 프로세스들은 (예컨대, 서드 파티 웹사이트 또는 앱에 안전하게 액세스하기 위하여) 도 2a 내지 도 6의 프로세스들(200 내지 600)을 포함하지만, 이에 한정되지 않는, 임의의 적합한 보안 동작을 실행하기 위하여 사용자 디바이스의 사용자가 APSP에 의해 인증되도록 수행될 수 있다. 도 2a 및 도 2b는 APS 사용자 디바이스 및 그것의 사용자를 APSP에 등록하기 위한 예시적인 프로세스(200)의 흐름도를 도시한다. 도 3은 프로세스(200)에 의해 사용될 수 있는 보안 멀티-파티 연산을 이용하여 네트워크 노드들의 세트에 대한 인증 회로 정보의 하나 이상의 세트들을 생성하기 위한 예시적인 프로세스(300)의 흐름도를 도시한다. 도 4a 내지 도 4c는 APSP로 등록된 APS 사용자 디바이스의 등록된 APS 사용자를 인증하기 위한 예시적인 프로세스(400)의 흐름도를 도시한다. 도 5는 서드 파티 서비스를 등록된 APS 사용자 디바이스의 등록된 APS 사용자에 등록하기 위한 예시적인 프로세스(500)의 흐름도를 도시한다. 도 6은 APSP를 이용하여 등록 서드 파티 서비스로 등록된 APS 사용자 디바이스의 등록된 APS 사용자를 인증하기 위한 예시적인 프로세스(600)의 흐름도를 도시한다. 도 7a 내지 도 7w는 도 2a 내지 도 6의 프로세스들을 수행하는 하나 이상의 사용자 디바이스들의 그래픽 사용자 인터페이스들("UI")의 예시적인 스크린들을 도시한다(예컨대, 각각의 UI는 프로세스들(200 내지 600) 동안 임의의 적합한 사용자 디바이스(60)의 임의의 적합한 I/O 컴포넌트(66)에 의해 제시될 수 있음). 도 7a 내지 도 7w의 각각의 UI는 디바이스의 I/O 컴포넌트의 임의의 적합한 디스플레이에 의해 디스플레이될 수 있는 현재 실행되는 애플리케이션(예컨대, 애플리케이션(69))의 다양한 층들, 윈도우들, 스크린들, 템플릿들, 구성요소들(예컨대, 버튼, 슬라이더, 라벨, 상태표시 바 등), 메뉴들, 및/또는 다른 컴포넌트들을 포함할 수 있는 그래픽 사용자 인터페이스("GUI")일 수 있다. 추가적으로 또는 대안적으로, 실행하는 애플리케이션에 대하여, 다양한 다른 유형들의 비-시각적 정보는 사용자 디바이스의 다양한 다른 출력 컴포넌트들(예컨대, 청각적, 촉각적 등)을 통해 다양한 다른 유형들의 UI로서 사용자에 제공될 수 있다. 기재된 프로세스들의 동작들은 매우 다양한 그래픽 요소들 및 시각적 기법들로 달성될 수 있다. 따라서, 도 7a 내지 도 7w의 실시예들은 본 명세서에서 채택된 정확한 사용자 인터페이스 규약에 한정되도록 의도되지 않는다. 오히려, 실시예들은 비-그래픽 또는 다른 비-시각적 인터페이스 스타일들을 포함하는, 매우 다양한 사용자 인터페이스 스타일들을 포함할 수 있다.
도 2a, 도 2b, 및 도 7a 내지 도 7i
도 2a 및 도 2b는 APS 사용자 디바이스 및 그것의 사용자를 APSP에 등록하기 위한 예시적인 프로세스(200)의 흐름도를 도시한다. 프로세스(200)는 APS 사용자 디바이스(60a), 그것의 사용자(U), 노드들(70)의 선택(예컨대, 선택된 노드들(70)의 수(n)(예컨대, 노드들(70a, 70b, 70c, …, 70n))), 및 저장소(80)에 의해 구현되는 것으로 도시된다. 그러나, 프로세스(200)는 도 1의 시스템(1)의 임의의 기타 적합한 컴포넌트들 또는 서브시스템들 또는 개체들을 이용하거나 또는 다른 방식으로 구현될 수 있다. 프로세스(200)는 사용자(U) 및 그것의 사용자 디바이스(60a)를 APSP에 안전하고 효율적으로 등록하기 위한 무결절성 사용자 경험을 제공할 수 있다. 도 2a 및 도 2b의 프로세스(200)에 따라 사용자(U) 및 그것의 사용자 디바이스(60a)를 APSP에 등록하기 위하여 시스템(1)의 동작에 관한 하기 논의를 용이하게 하기 위하여, 도 1 내지 도 1f의 개략도들의 시스템(1)의 다양한 컴포넌트들, 및 (예컨대, 도 7a 내지 도 7i에 도시된 바와 같이) 이러한 프로세스 동안 APS 사용자 디바이스(60a)의 그래픽 사용자 인터페이스를 나타낼 수 있는 스크린들(700a 내지 700i)을 참조한다. 기재된 동작들은 매우 다양한 그래픽 요소들 및 시각적 기법들로 달성될 수 있다. 따라서, 도 7a 내지 도 7i의 실시예들은 본 명세서에서 채택된 정확한 사용자 인터페이스 규약에 한정되도록 의도되지 않는다. 오히려, 실시예들은 매우 다양한 사용자 인터페이스 스타일들을 포함할 수 있다.
프로세스(200)는 동작(202)에서 시작할 수 있고, 사용자(U)는 사용자의 APS 사용자 디바이스(60a) 상에서 실행될 수 있는 APS 애플리케이션(69)으로 임의의 적합한 등록 개시 상호작용(eii)(202d)을 수행함으로써 등록을 개시할 수 있다. 예를 들어, 도7a의 스크린(700a)에 도시된 바와 같이, APS 디바이스(60a)의 UI는 APSP에 등록하기 위한 프로세스(200)를 진행하기 위하여 사용자(U)가 그것의 등록 개시 상호작용(eii)으로 선택하기 위한 "등록" 옵션을 제시할 수 있다. 동작(202)에 앞서, APS 애플리케이션(69)은 디바이스(60a)에 의해 임의의 적합한 방식으로(예컨대, APS 서브시스템(100) 또는 임의의 적합한 앱 스토어로부터 다운로드되거나 또는 달리 다운로드된 앱과 같이) 액세스될 수 있고, 사용자(U)는 애플리케이션에 관하여 임의의 적합한 계정 셋업 동작들을 수행할 수 있지만, 도시되지 않은 임의의 셋-업 동작들은 필요할 수 있거나 또는 필요하지 않을 수 있다.
동작(204)에서, APS 사용자 디바이스(60a)는 이러한 등록 개시 상호작용(eii)을 검출할 수 있고, 이러한 검출에 응답하여, 사용자 디바이스(60a)는 임의의 적합한 비밀 값 또는 시드(s)를 임의의 적합한 방식으로(예컨대, 애플리케이션(69)에 따라) 획득할 수 있다. 예를 들어, 시드(s)는 애플리케이션(69)에 의해 생성되거나 또는 다른 애플리케이션(예컨대, 암호화 지갑 및/또는 프로토콜(예컨대 키 협상)의 결과로서)으로부터 안전하게 입수된 랜덤 암호화 요소일 수 있다. 예를 들어, 시드(s)는 임의의 적합한 방식으로 {0,1}v로부터 균일하게 선택된 일부 길이(v)(예컨대, v = 256 비트)의 랜덤 스트링으로서 생성될 수 있다. 그것은 또한 일부 다른 비밀로부터의 의사랜덤 스트링일 수 있거나, 또는 APSP를 이용하는 앱에 의해 제공될 수 있다(예컨대, 그것은 "BIP"(Bitcoin Improvement Proposal) 32 또는 44 결정론적 키 생성기를 사용할 수 있는 암호화 지갑의 루트 시드일 수 있다). 시드는, 예컨대 일부 랜덤성을 위하여 하나 이상의 노드들 또는 서드 파티 서브시스템(들)에 요구함으로써 얻은 하나 이상의 다른 소스들로부터의 랜덤성의 임의의 적합한 조각(들)을 이용하거나 또는 이용하지 않고 (예컨대, APS 사용자 디바이스 상에서 실행될 수 있는 APS 애플리케이션을 이용하여) APS 사용자 디바이스 상에 생성될 수 있다.
동작(206)에서, 사용자 디바이스(60a)는 이어서 (예컨대, 애플리케이션(69)에 따라) 하나 이상의 키들 및/또는 하나 이상의 키 쌍들을 도출 또는 다른 방식으로 생성할 수 있다. 예를 들어, 사용자 디바이스는 임의의 적합한 상수 스트링(c)(예컨대, "사용자_id")을 획득하고 이어서 그 상수 스트링(c) 및 시드(s)를 이용하여, 예컨대, 개인 사용자 키(sku) = HMACs(c)로 정의함으로써, 개인 사용자 키(sku)를 생성할 수 있다. 이러한 해시-기반 메시지 인증 코드("HMAC")에 대하여, APSP는 HMAC-SHA256을 사용할 수 있지만, 다른 실시예들에서, HMAC는 프로토콜의 보안에 영향을 주지 않으면서 다른 충돌 방지 해시 함수로 인스턴스화될 수 있다. 또한, HMAC는 임의의 적합한 의사랜덤 함수 패밀리("PRF")(예컨대, PRF의 임의의 적합한 효율적-연산가능 함수)에 의해 대체될 수 있고, 개인 사용자 키(sku)는 시드(s) 및 상수 스트링(c)에 대하여 계산된 임의의 PRF를 이용하여 생성될 수 있다. 대안적으로, APSP는 HMACs(c)를 개인 사용자 키(sku)를 생성하는 데 사용될 수 있는 임의의 적합한 키 생성 알고리즘의 랜덤성 소스(예컨대, 타원 곡선 디지털 서명 알고리즘("ECDSA"))로서 사용할 수 있다. 개인 사용자 키(sku)에 대한 상대방 공개 사용자 키(pku)는 또한 동작(206)에서 (예컨대, 사용자 키쌍(sku, pku)을 제공하기 위한) 임의의 적합한 방식으로 생성될 수 있다. 예를 들어, 개인 사용자 키(sku)는 ECDSA에 대한 개인키로서 사용될 수 있고, 대응하는 공개 상대방은 공개 사용자 키(pku)이다(예컨대, pku = sku x G이고, 여기서 G는 타원곡선 기점일 수 있음). 따라서, 사용자 키쌍(sku, pku)은 시드(s)로부터 결정론적으로 생성될 수 있다. 일부 실시예들에서, 상수 스트링(c)이 이용되지 않을 수 있다. 일부 실시예들에서, 개인 사용자 키(sku)는 시드(s)로서 정의될 수 있다. 공개/개인 암호체계는 키 생성 프로세스가 동반될 수 있고, 키 생성 프로세스는 일부 랜덤성을 요구할 수 있다. 예를 들어, 적합한 공개/개인 암호체계가 선택될 수 있고, 선택된 암호체계의 대응하는 키 생성 프로세스는 개인 사용자 키(sku) 및 공개 사용자 키(pku)를 획득하는 데 사용될 수 있고, 여기서 시드(s) 또는 시드(s)의 일부 변환은 그 키 생성 프로세스에 대한 랜덤성의 소스로서 사용될 수 있다. 랜덤 디바이스 서명 키쌍(skd, pkd)은 또한 동작(206)에서 생성될 수 있다(예컨대, EdDSA 서명 키에 대한 키쌍). 예를 들어, 개인 디바이스 서명 키(skd)는 임의의 적합한 크기(예컨대, 256 비트)의 무작위 정수로서 생성될 수 있고 이어서 개인 디바이스 서명 키(skd)에 대한 상대방 공개 디바이스 서명 키(pkd)가 또한 임의의 적합한 방식으로(예컨대, 랜덤 디바이스 서명 키쌍(skd, pkd)을 제공하기 위하여) 생성될 수 있고, 예컨대, 개인 디바이스 서명 키(skd)가 에드워즈-곡선(Edwards-curve) 디지털 서명 알고리즘("EdDSA") 또는 ECDSA에 대한 개인 키로서 사용될 수 있고, 대응하는 공개 상대방은 공개 디바이스 서명 키(pkd)이다(예컨대, pkd = skd x G, 여기서 G는 타원 곡선 기점일 수 있음). 본 명세서에 기재된 바와 같이, 이러한 서명 키쌍은 지식의 영-지식 증명(zero-knowledge proof)에 기초하여 무작위화된 시도-응답 프로토콜을 통해 사용자 디바이스를 인증하는 데 사용될 수 있다. 랜덤 암호화 키쌍(ske, pke)이 또한 동작(206)에서 생성될 수 있다. 본 명세서에 기재된 바와 같이, 이러한 암호화 키쌍은 다양한 네트워크 노드들에 전송될 수 있는 데이터(예컨대, 생체인식 공유들 및 시드 공유들)를 암호화하는 데 사용되는 대칭 암호화 키를 암호화하는 데 사용될 수 있다. 랜덤 TPS 키쌍(skt, pkt)이 생성될 수 있다(예컨대, 프로세스(500)의 동작(526)). 이러한 TPS 키쌍은 EdDSA를 이용하여 생성될 수 있고, 사용자 키쌍(sku, pku), 디바이스 서명 키쌍(skd, pkd), 및 암호화 키쌍(ske, pke) 중 하나, 일부, 또는 각각은 ECDSA를 이용하여 생성될 수 있다. 그러나, APSP의 임의의 적합한 키쌍은 임의의 적합한 프로세스를 이용하여 생성될 수 있다.
동작(208)에서, APS 디바이스(60a)는 (예컨대, 애플리케이션(69)에 따른) 시스템(1)의 노드들(n)의 선택된 세트의 각각의 노드(j)(예컨대, 노드들(70a, …, 70n)의 각각의 노드(70))에 대한 데이터(208d)로서 공개 사용자 키(pku) 및 공개 디바이스 서명 키(pkd)를 전송할 수 있다. APS 프로토콜은 네트워크 노드들의 (가능하게는 큰) 서브세트를 위태롭게 하는 것을 수반하는 공격들을 완화시키기 위하여 임계 비밀 공유 기법을 사용하도록 구성될 수 있다. (m, n) 임계 비밀 공유 기법에서, 시드(s)는 (예컨대, 스플릿 공유로서) |Q| ≥ m 인 P의 임의의 서브세트 Q는 비밀 값(s)를 재구성할 수 있지만, |Q'| < m인 한 P의 서브세트 Q'는 시드(s)를 복구할 수 없는 방식으로 당사자들(P)의 세트와 공유될 수 있다. 사용자 디바이스는 속도, 이용가능성, 역량, 신뢰성 등을 포함하지만, 이에 한정되지 않는 임의의 적합한 특성들에 기초하여 노드들의 세트(예컨대, 하나 이상의 노드들의 임의의 세트)를 선택할 수 있다. 비밀 공유 기술은 특정 또는 임의의 값(m) 및/또는 특정 또는 임의의 값(n)을 허용할 수 있는데, 여기서 n은 m 이상의 임의의 수일 수 있다(예컨대, m = 2, 및 n = 3). APSP는 사용자가 m 및 n을 (예컨대, 사용자 디바이스 상의 임의의 적합한 사용자 인터페이스를 이용하여) 고르게 하거나 또는 서드 파티가 m 및 n을 (예컨대, 특정 사용 사례를 위하여(예컨대, 특정 보안 동작을 위하여)) 고르게 하도록 구성될 수 있다. APS 애플리케이션(69)은 랜덤으로 또는 임의의 적합한 기업 정책에 기초하여 네트워크(40)로부터 노드들(n)의 세트를 선택하도록 구성될 수 있다. 예를 들어, 소정 정책들은 프로토콜의 인스턴스 생성 전에 사전정의될 수 있다. 필요할 경우, 정책들은 또한 업데이트될 수 있고 이에 대응하여 사용자는 정책 업데이트 후에 네트워크 내의 노드들의 새로운 세트와 상호작용할 수 있다. 노드는 그것의 응답시간에 기초하여 선택될 수 있지만, 다른 선택 정책들이 또한 적절하다. 노드들(n)의 최소 개수는 1일 수 있지만, 이 수는 중복을 제공하지 않고 비밀 공유를 사용하거나 또는 비밀의 공유를 분배할 능력이 없다. 노드들(n)의 더 통상적인 최소 개수는 3일 수 있으며, 노드들(m)의 수는 n 또는 n-1 등, 또는 임의의 기타 적합한 수일 수 있다.
동작(210)에서, 선택된 노드들(n)의 각각의 노드(j)는 사용자 디바이스(60a)로부터 데이터(208d)를 수신하고 (예컨대, 그 특정 노드(70)의 애플리케이션(79)에 따라) 데이터(208d)의 공개 사용자 키(pku) 및 공개 디바이스 서명 키(pkd)를 저장할 수 있다(예컨대, 키들(pku 및 pkd)은 노드의 메모리(73) 내의 노드 APSP 데이터(79d)의 일부분으로서 (예컨대, 링크 방식으로) 함께 저장될 수 있다).
동작(212)에서, 각각의 노드(j)는 그 노드에서 수신된 공개 키들에 대하여 시도(rj)(예컨대, 부분적으로 랜덤 데이터 구조)를 생성할 수 있고, 이어서 노드는 그 시도(rj)를 데이터(212d)의 적어도 일부분으로서 (예컨대, 그 특정 노드(70)의 애플리케이션(79)에 따라) 다시 사용자 디바이스(60a)에 전송할 수 있다.
동작(214)에서, 사용자 디바이스(60a)는 노드들(n) 중 하나 또는 각각으로부터 데이터(212d)의 시도(rj)를 수신하고, 그 시도(rj)를 디바이스의 개인 사용자 키(sku)로 서명함으로써 각각의 수신된 시도(rj))에 대하여 시도 응답(rjσsku)을 생성하고(예컨대, 시도 응답(rjσsku) = Signsku (rj)), 이어서 그 시도 응답(rjσsku)을 데이터(214d)의 적어도 일부분으로서 다시 적절한 노드(j)로 (예컨대, 사용자 디바이스(60a)의 애플리케이션(69)에 따라) 전송할 수 있다.
동작(216)에서, 선택된 노드들(n) 중 하나, 일부, 또는 각각의 노드(j)는 사용자 디바이스(60a)로부터 데이터(214d)를 수신할 수 있고, 최근 수신된 데이터(214d)의 시도 응답(rjσsku)을 이용하여 먼저 수신된 데이터(208d)의 공개 사용자 키(pku)의 검증을 시도할 수 있고, 노드가 공개 사용자 키를 검증할 수 있었는지 여부를 나타낼 수 있는 검증 확인(ackj)(예컨대, 검증을 컨펌 또는 부정)을 생성할 수 있고, 이어서 노드는 그 검증 확인(ackj)을 데이터(216d)의 적어도 일부분으로서 (예컨대, 그 특정 노드(70)의 애플리케이션(79)에 따라) 다시 사용자 디바이스(60a)에 전송할 수 있다. 이는 노드가 공개 사용자 키(pku)가 실제로 사용자 디바이스(60a)의 공개 사용자 키인지 검증할 수 있게 할 수 있다. 노드가 검증할 수 없는 경우, 노드는 (예컨대, 동작(210)에 저장된 바와 같은) 키들을 삭제할 수 있다.
동작(218)에서, 사용자 디바이스(60a)는 (예컨대, 사용자 디바이스(60a)의 애플리케이션(69)에 따라) 노드들(n)의 하나 또는 각각의 노드(j)로부터 데이터(216d)의 검증 확인(ackj)을 수신 및 등록할 수 있다. 수신된 ackj가 노드(j)에 의한 긍정적 검증을 나타내는 경우, 사용자 디바이스(60a)는 그것의 공개 키들(pku 및 pkd)이 그 특정 노드에 의해 수신, 저장, 및 검증되었다고 결정할 수 있고, 이로써 사용자 디바이스(60a)는 프로세스(200)의 등록(예컨대, 동작들(220/222))를 진행하도록 인에이블될 수 있다. 그러나, 수신된 ackj가 노드(j)에 의해 부정적 검증을 나타내는 경우, 사용자 디바이스(60a)는 그것의 공개 키들(pku 및 pkd)이 그 특정 노드에 의해 수신, 저장, 및 검증되지 않았다고 결정할 수 있고, 이로써 사용자 디바이스(60a)는 그것의 시도의 이러한 부정적 검증을 제공했던 적어도 각각의 노드에 대하여 동작들(208 내지 218)을 반복하도록 구성될 수 있다.
긍정적 검증이 사용자 디바이스(60a)에 의해 선택된 노드들(n)의 각각의 노드(j)에 대하여 동작(218)에서 등록되면, 프로세스(200)는 동작(220)으로 진행할 수 있고, 사용자(U)는 디바이스(60a)와 임의의 적합한 사용자 생체인식 등록 상호작용을 수행함으로써 사용자 등록 생체인식(ueb)을 (예컨대, 사용자 등록 생체인식 식별자 정보 또는 사용자 등록 생체인식 정보(220d)로서) 사용자 디바이스(60a)에 제시할 수 있다. APS 사용자 디바이스(60a)는 등록 생체인식 템플릿("EBT")(B)를 생성하기 위하여 동작(222)에서 (예컨대, APS 애플리케이션(69)에 따라 (예컨대, 상이한 사용자들이 상이한 생체인식을 사용할 수 있고, 상이한 디바이스들이 상이한 센서들을 이용할 수 있고, 상이한 유형들의 데이터(예컨대, 디바이스 환경 데이터)가 생체인식에 더하여 캡처될 수 있고/있거나 특성들의 세트 및 연관된 활동들 자체가 하나의 등록으로부터 다음으로 변경될 수 있는 등)) 이러한 등록 생체인식(ueb)을 캡처하도록 구성될 수 있다. 예를 들어, 도 7b의 스크린(700b)에 의해 도시된 바와 같이, APS 디바이스(60a)의 UI는 옵션적으로 사용자 생체인식을 캡처하기 위한 임의의 적합한 센서(들) 또는 기타 디바이스 컴포넌트들(예컨대, 디바이스(60a)의 카메라)에 액세스하기 위한 사용자 승인 요청, 사용자가 수락 또는 거부할 수 있는 요청을 제시할 수 있다. 수락되거나 또는 자동으로 허용되는 경우, APS 디바이스(60a)의 UI는 캡처를 위하여 사용자가 어떻게 사용자 등록 생체인식(ueb)을 사용자 디바이스(60a)에 제시해야 하는지에 관한 명령어들을 제시할 수 있다. 예를 들어, 도 7c 내지 도 7e의 하나 이상의 스크린들(700c 내지 700e)에 의해 도시된 바와 같이, 사용자의 얼굴(미도시)이 디바이스 카메라 센서의 시선에 있는 동안, 디바이스(60a)는 사용자에게 좌측을 보고, 이어서 결국 카메라를 바로 보고, 이어서 결국 우측을 보게 지시할 수 있다. 이는 디바이스(60a)가 회전하는 사용자의 얼굴의 비디오 또는 사진 시퀀스의 형태로 사용자 등록 생체인식(ueb)을 캡처하도록 할 수 있다. 이는 사용자의 "활성(liveness)" 검출을 가능하게 할 수 있다(예컨대, 생체인식이 캡처되는 동안, 한쪽 눈을 윙크한 뒤 다른쪽 눈을 윙크하거나, 또는 미소지은 뒤 찌푸리거나, 또는 단어 또는 어구를 말하게 하는 등과 같이, 사용자가 임의의 기타 적합한 행동을 수행하도록 지시할 수 있다). 이는 본의 아닌 사용자의 생체인식을 위조 및/또는 캡처하는 것을 방지하도록 도울 수 있다.
사용자가 동작(220)에서 임의의 적합한 방식(들)으로 사용자 디바이스에 자신을 제시하는 것에 응답하여 사용자 디바이스(60a)의 임의의 적합한 센서(들)에 의해 임의의 적합한 방식으로 사용자의 임의의 적합한 생체인식이 캡처될 수 있다. 예를 들어, 얼굴 정보, 지문 정보, 홍채 정보, 망막 스캔 정보, 이동, 배향, 제스처, 걸음걸이, 멈춘 자세, 언행 정보, 임의의 적합한 행동 생체인식, 서열분석된 DNA, 임의의 물리적으로 복제불가능한 기능의 출력 등을 포함하지만, 이에 한정되지 않는, 사용자에 관하여 본 명세서에 기재된 임의의 센서(65)에 의해 또는 다른 방식으로 감지될 수 있는 임의의 정보가 사용자 디바이스(60a)에 의해 캡처될 사용자 등록 생체인식(ueb)을 한정하는 데 사용될 수 있다. 생체인식 특징들은 사용자를 고유하게 식별할수 있는 생리학적 또는 거동 특성들일 수 있다. 이러한 특징들의 고유성 때문에, 지문, 얼굴, 홍채, 음성, 말투, 및 키스트로크 역학을 포함하는 생체인식 양식들에 관한 것을 포함하는, 생체인식 신호에 기초한 여러 인증 기술들이 도입되었다. 생체인식은 사용자의 내재 특성들(예컨대, 사용자가 있는 어떤 것)을 캡처하여, 사용자가 임의의 비밀(예컨대, 패스워드 또는 PIN)을 기억하거나, 또는 물리적 디바이스(예컨대, 하드웨어 토큰 또는 스마트 카드)를 소유해야 할 필요성을 제거할 수 있다. 경험은 통상적으로 다른 양식들보다 더 사용자-친화적일 수 있다. 또한, 생체인식 인증은 일반적으로 패스워드보다 더 안전할 수 있는 반면, 생체인식 인증 시스템의 보안은 대체로 사용자의 선택 및 행동에 독립적이다.
그러나, 생체인식 신호들은 다소 노이즈가 발생할 수 있다. 예를 들어, 동일한 사용자로부터 수집된 다수의 측정치들은 센서 노이즈, 수집 환경의 변화(예컨대, EBT가 캡처될 때의 환경 광이 ABS가 캡처될 때의 환경 광과 상이할 수 있음), 수집 센서들의 변화(예컨대, EBT를 캡처하는 데 사용된 디바이스가 ABS를 캡처하는 데 사용된 디바이스와 상이할 수 있음), 및 샘플링되는 생리학적 특성의 자연적 변동(예컨대, 사용자가 수염 없이 EBT를 캡처하는 것은 사용자가 수염을 기르고 ABS를 캡처하는 것과 상이함)을 포함하지만, 이에 한정되지 않는, 여러 요인들로 인해 약간 달라지는 경향이 있을 수 있다. 예를 들어, 지문으로부터 수집된 이미지는 샘플들 간에 달라질 수 있는데, 그 이유는 센서 상의 손가락의 압력의 양, 손가락이 센서를 터치하는 각도, 및 피부 건조도 때문이다. 유사하게, 얼굴 인증에 사용되는 이미지들의 개별적인 픽셀들은 조명, 프레임 내의 사용자의 얼굴의 위치, 얼굴의 모발의 존재 등에 의해 영향받을 수 있다(예컨대, 사용자는 EBT(B)를 생성하기 위하여 그것의 등록 생체인식이 캡처될 때와 ABS(b)를 생성하기 위하여 그것의 인증 생체인식이 캡처될 때 사이에 수염을 기를 수 있다). 따라서, 이러한 노이즈 때문에, APSP는 원시 생체인식 신호들을 직접 비교하지 않도록 구성될 수 있다(예컨대, 사용자의 등록 생체인식의 지문 이미지 내의 픽셀들 및 사용자의 인증 생체인식의 지문 이미지 내의 픽셀들). 대신에, APSP는 원시 신호들로부터 관련 특징부들(예컨대, 지문 이미지에서의 사소한 점들의 상대적 위치 및 배향)을 추출하고, 임의의 적합한 패턴 인식 시스템을 이용하여 이 특징부들을 매칭시키도록 구성될 수 있다. 예를 들어, 동작(222)에서, 사용자 디바이스(60a)는 사용자 등록 생체인식(ueb)(예컨대, 원시 생체인식 신호들)을 캡처하도록 구성될 수 있을뿐만 아니라 (예컨대, 애플리케이션(69)에 따라) 임의의 적합한 기술들을 이용하여 이러한 캡처된 사용자 등록 생체인식(ueb)에 기초하여 등록 생체인식 템플릿("EBT")(B)를 생성하도록 구성될 수 있다. 예를 들어, 캡처된 ueb가 사용자의 얼굴의 이미지인 경우, 디바이스(60a)는 사용자의 얼굴을 포함하는 꽉 찬 정사각형 오려내기를 수행하고, 그것을 160x160 픽셀들로 스케일링하고, 이어서 사전프로세싱된 이미지를 사용자의 캡처된 ueb에 대하여 EBT(B)를 구성하기 위하여 임베딩을 생성할 수 있는 컨볼루션 신경망(예컨대, 디바이스(60a) 상에 실행될 수 있음)에 공급하도록 구성될 수 있다 (예컨대, 이미지 x의 경우, 임베딩은
Figure 112021073466711-pct00001
로 표현될 수 있고, 이는 x를 d-차원 유클리드 공간으로 임베딩하고, 임베딩 공간에서의 유클리드 거리(예컨대, 근접도)는 ABS에 대하여 사용자의 EBT를 평가할 때 얼굴 유사도에 대응할 수 있도록(예컨대, 동일한 사람의 얼굴들은 짧은 거리를 갖고 상이한 사람들의 얼굴들은 먼 거리를 가짐) 네트워크 노드들이 (예컨대, SMPC 프로토콜에 의해) 트레이닝될 수 있다). 따라서, 일부 실시예들에서, 동작(222)은 신경망을 이용하거나 또는 다른 방식으로 캡처된 ueb를 EBT(B)를 한정하기 위한 하나 이상의 벡터들로 프로세싱하여, (예컨대, SMPC의 매칭 함수를 이용하여) 그 사이의 거리를 연산하기 위하여 이러한 EBT(B)의 벡터(들)이 나중에 ABS의 벡터(들)와 비교될 수 있도록 할 수 있다. 그러나, 임의의 적합한 등록 생체인식(ueb)은 임의의 적합한 방식으로 임의의 적합한 등록 생체인식 템플릿(B)를 정의하는 데 사용될 수 있다(예컨대, 지문 생체인식(ueb)은 EBT(B)로서 세트로 전달될 수 있다). 일반적으로, 데이터는 사용자 디바이스의 임의의 또는 모든 센서들로부터 임의의 길이의 시간 동안 수집될 수 있고(예컨대, 사용자에게 협력을 요구하거나 또는 (예컨대, 디바이스를 휴대한 채 걸을 수 있는 사용자의 걸음걸이를 감지할 때) 백그라운드에서 명백하게 사용자의 협력을 요구하지 않음), 이어서 원시 수집된 데이터의 서브세트가 임의의 적합한 데이터 품질 체크(들)에 기초하여 선택될 수 있고, 이어서 원시 데이터(예컨대, 서브세트 또는 다른 방식)는 임의의 적합한 알고리즘들(예컨대, 레거시 특징부 추출, 머신 러닝 등) 및/또는 (예컨대, 활성 체크를 위하여(예컨대, 스냅샷 이미지 데이터와 구분될 수 있도록)) 시간-일련 정보의 인코딩을 이용하여 프로세싱될 수 있다. 예를 들어, 이는 감지된 데이터(예컨대, 사용자 생체인식 데이터 및/또는 디바이스 환경 데이터)의 임의의 적합한 표현(예컨대, 비트들의 스트링 또는 디지털 표현)으로서 EBT(B)를 정의하는 데 사용될 수 있는 세트 및/또는 벡터 및/또는 매트릭스 등을 나타낼 수 있다.
동작(224)에서, 사용자 디바이스(60a)는 이어서 (예컨대, 애플리케이션(69)에 따라) 보안 멀티-파티 연산을 이용하여 선택된 노드들(n)에 대하여 시드(s) 및 EBT(B) 상에 인증 회로 정보(ACI)의 하나 이상의 세트들을 생성할 수 있다. 동작(224)은, APSP에 의한 SMPC로 하여금 노드가 실제 EBT 또는 실제 ABS에 대한 액세스 없이, 노드들(n)의 각각의 노드(j)가 EBT(B)와 나중에 생성된 인증 생체인식 샘플(ABS)의 비교를 수행하게 허용하도록, 임의의 적합한 방식으로 수행될 수 있다. 예를 들어, 동작(224)은 임의의 나중에 고정된 EBT 및 인증-시간에 제공된 다른 입력 ABS 상의 매칭 함수의 평가를 통해 사용자를 인증하는 데 사용될 수 있는 생체인식 인증("CPBA")을 위한 암호화 프로세스를 생성/정의하고, 사용자가 암호화 동작들을 (예컨대, 옵션적으로) 수행하게 하고/하거나 암호화 프로세스의 새로운 인스턴스들을 리프레시 또는 재업로드하여 후속 인증들을 (예컨대, 옵션적으로) 허용할 수 있다. ACI를 이용하여, CPBA는 사용자 디바이스에 의해 준비되고 노드(들)에 업로드될 수 있다. 일반적으로, CPBA는 사용자 디바이스 및 노드(들)이 서로 협력함으로써 생성될 수 있다(예컨대, 부담이 디바이스와 노드(들) 사이에 공유될 수 있거나 또는 디바이스에 의해 더 비중있게 처리되거나 또는 노드(들)에 의해 더 비중있게 처리될 수 있다). 가블드 회로에 대안적으로, 많은 기타 적합한 프로토콜(들) 및/또는 CPBA에 사용될 수 있는 프로토콜 툴(들)이 있다. 일반적으로, 동작(224)의 ACI는 재사용가능할 수 있지만, 하나 이상의 실시예들에서 보안 목적을 위해서만 사용가능할 수 있다. 일반적으로, 프로세스는 이전 코멘트에 열거된 바와 같은 임의의 SMPC 기술(들)에 기초할 수 있다. 생체인식(예컨대, 사용자 생체인식 및/또는 디바이스 환경 생체인식)은 CPBA에 대한 입력(예컨대, EBT 및 ABS)으로서 캡처되고 사용될 수 있고, 이는 CPBA에 대한 출력으로서 보안 동작을 인에이블할 수 있는데, 여기서 임의의 노드가 입력들 중 하나 또는 둘 모두에 대한 직접 액세스 없이 CPBA에 의해 입력들에 대한 노드(들)의 각각이 비교를 실행하고 이어서 비교의 성공적인 결과(예컨대, 노출된 성공 키)를 이용하여 출력을 제공하도록(예컨대, 보안 동작을 인에이블하도록) 사용될 수 있다. 동작(224)에 의한 인증 회로 정보(ACI)의 특정 세트의 생성은 도 3의 프로세스(300)의 특정 반복에 의해 수행될 수 있다.
도 3
도 3은 프로세스(200)에 의해 사용될 수 있는 보안 멀티-파티 연산을 이용하여 네트워크 노드들의 세트에 대한 인증 회로 정보의 세트를 생성하기 위한 예시적인 프로세스(300)의 흐름도를 도시한다. 프로세스(300)는 (예컨대, 애플리케이션(69)에 따라) APS 사용자 디바이스(60a)에 의해 구현되는 것으로 도시된다. 그러나, 프로세스(300)는 도 1의 시스템(1)의 임의의 기타 적합한 컴포넌트들 또는 서브시스템들 또는 개체들을 이용하거나 또는 다른 방식으로 구현될 수 있다. 예를 들어, 프로세스(300)는 도 2a 및 도 2b의 프로세스(200)의 동작(224)에 의해 1회 이상 수행될 수 있고/있거나 도 4a 내지 도 4c의 프로세스(400)의 동작(446)에 의해 1회 이상 수행될 수 있다.
프로세스(300)는 동작(302)에서 시작할 수 있고, 새로운 회로 식별자(Cid)가 생성될 인증 회로 정보의 새로운 세트에 대하여 획득될 수 있다. 회로 식별자(Cid)는 임의의 적합한 방식으로 정의되거나 또는 액세스되거나 또는 생성되거나 또는 다른 방식으로(예컨대, 랜덤으로 생성되거나 또는 디바이스(60a)에 의해 순차적으로 정의됨) 획득될 수 있고, 임의의 적합한 크기 구성(예컨대, 8 bit 식별자)의 것일 수 있어서, 프로세스(300)의 나머지에 의해 생성될 인증 회로 정보의 각각의 새로운 세트는 자신만의 고유 회로 식별자(Cid)와 연관될 수 있고, 그럼으로써 인증 회로 정보의 상이한 세트들은 그것들의 상이한 고유 회로 식별자들(Cids)에 의해 구별될 수 있도록 한다.
동작(304)에서, 시드(s)는 n-개의 시드 공유들([s]1, …, n)로 분할되어, 생성된 시드 공유들([s])의 수가 등록 프로세스(200)에 의해 사용되고 있는 선택된 노드들(n)의 수와 같아지도록 할 수 있고, 그럼으로써 시드 공유들([s]1, …, n) 중 특정 시드 공유가 선택된 노드들(n) 중 특정 노드와 연관될 수 있다. 대안적으로, 선택된 노드들보다 더 많은 시드 공유들이 생성될 수 있고, 둘 이상의 시드 공유들이 단일 노드에 제공된다. 시드(s)는 샤미르(Shamir)의 비밀 공유와 같은 임의의 적합한 비밀 공유 기법에 따라 n-개의 시드 공유들([s]1, …, n)로 분할될 수 있다. 예를 들어, (m, n) 기법의 경우, 전체 n개의 시드 공유들 중 적어도 m개의 시드 공유들이 시드를 재구성하는 데 요구될 수 있다. 추가적으로 또는 대안적으로, 하나 이상의 노드들이 무효 공유들을 제공하는 것을 방지할 수 있는 보장을 제공할 수 있는 펠드만(Feldman)의 비밀 공유 기법과 같은 임의의 적합한 검증가능한 비밀 공유 기법이 이용될 수 있다.
동작(306)에서, EBT(B)는 n-개의 EBT 공유들([B]1, …, n)로 분할되어, 생성된 EBT 공유들([B])의 수가 등록 프로세스(200)에 의해 사용되고 있는 선택된 노드들(n)의 수와 같아지도록 할 수 있고, 그럼으로써 EBT 공유들([B]1, …, n) 중 특정 EBT 공유가 선택된 노드들(n) 중 특정 노드와 연관될 수 있다. 대안적으로, 선택된 노드들보다 더 많은 EBT 공유들이 생성될 수 있고, 둘 이상의 EBT 공유들이 단일 노드에 제공된다. EBT(B)는 샤미르의 비밀 공유와 같은 임의의 적합한 비밀 공유 기법에 따라 n-개의 EBT 공유들([B]1, …, n)로 분할될 수 있다. 예를 들어, (m, n) 기법의 경우, 전체 n개의 EBT 공유들 중 적어도 m개의 EBT 공유들이 EBT를 재구성하는 데 요구될 수 있다. 추가적으로 또는 대안적으로, 하나 이상의 노드들이 무효 공유들을 제공하는 것을 방지할 수 있는 보장을 제공할 수 있는 펠드만의 비밀 공유 기법과 같은 임의의 적합한 검증가능한 비밀 공유 기법이 이용될 수 있다. 시드 공유에 사용되는 기법(들)은 EBT 공유에 사용되는 기법(들)과 동일하거나 또는 상이할 수 있다.
동작(308)에서, 동작(302)의 새로운 회로 식별자(Cid)에 대하여, 새로운 인증 회로 정보(ACICid_j)가 각자의 특정 시드 공유([s]j) 및 각자의 특정 EBT 공유([B]j)를 이용하여 선택된 노드들(n)의 특정 노드(j)에 대하여 생성될 수 있다. 동작(308)은 노드들(n)의 각각에 대하여, 프로세스(300)에 의해 n-회(예컨대, 직렬로 또는 병렬로) 수행될 수 있다. 도시된 바와 같이, 동작(308)의 이러한 n-반복의 각각은 프로세스(300)의 동작들(310 내지 328)을 수행하는 것을 포함할 수 있다.
동작(310)에서, 노드(j)에 대하여 새로운 인증 회로 정보(ACICid_j)를 생성하기 위하여, 가블드 회로(Cj)가 생성될 수 있다. 가블드 회로는 임의의 적합한 SMPC 프로토콜에 따라 생성될 수 있고 기초 생체인식에 무관하도록 설계될 수 있고, 얼굴 인식, 지문, 말하기 녹음, 및 홍채 스캐닝을 포함하는 여러 모드들을 지원할 수 있다. 예를 들어, 기본 함수(예컨대, 비교 함수)를 구비한 회로는 2-입력 로직 게이트를 구비한 부울 회로로서 기술될 수 있다. 이러한 함수는 사용자 디바이스(60a)에 의해 생성될 수 있거나 또는 다른 방식으로 획득될 수 있고, 함수는 사용자 디바이스(60a)에 의해 가블드 회로로 변환 또는 가블링(예컨대, 암호화)될 수 있다(예컨대, 함수를 정의하는 부울 게이트들의 집합이 가블드 부울 회로로 변환될 수 있다). 가블드 회로(Cj)는 매칭 함수 mf: βy x βz -> {FAIL, SUCCESS}를 위한 회로 입력 테이블("CIT")(Kj) 및 CIT(Tj)로 생성될 수 있다. 예를 들어, APSP는 사용자의 등록된 생체인식과 인증 생체인식 사이(예컨대, 사용자의 EBT와 ABS 사이)의 "근접도"의 평가를 위하여 원래 명칭 가블드 회로들에 기초한 것과 같은, 고도로 최적화된 SMPC 구성을 이용하도록 구성될 수 있다. 가블드 회로들은 당사자들이 그들의 입력을 나타내지 않으면서 개인 연산을 인에이블할 수 있다. 여기서, 근접도의 계산은 사용자 디바이스(60a)와 노드들(70)의 n-세트 사이에서 수행될 수 있다. 따라서, 이 가블드 회로 기술로, 두 당사자들이 그들의 각자의 입력들 βy 및 βz 상에서 공유된 매칭 함수 mf(βy, βz)를 연산하여, 함수의 출력만을 개시할 수 있다. 이는 회로가 βy 및 βz를 표현하는 제공된 적절한 복호화 키들을 평가될 수 있도록 함수 f(βy, βz)를 부울 회로로서 표현하고 이어서 각각의 부울 게이트의 진리표를 "가블링"함으로써 달성될 수 있다. 그러나, 중간 게이트 출력들 중 어느 것도 당사자들에게 개시되지 않을 수 있다. APSP는 등록 생체인식 템플릿을 표현하는 벡터들 및 인증 생체인식 샘플을 표현하는 벡터들에 적용될 수 있는 거리 함수를 구현하기 위하여 가블드 회로들을 사용할 수 있지만, EBT 및 ABS는 벡터들 이외의 다른 형태들로 정의될 수 있고 함수는 이러한 다른 형태(들) 상에서 동작하도록 정의될 수 있다. 이어서 벡터들 사이의 거리는 고정 임계치와 비교될 수 있고, 및 가블드 회로는 이 비교의 결과를 출력하고, 실제 거리를 숨길 수 있다. 예를 들어, 가블드 회로는 그것의 매칭 함수 mf(βy, βz)의 2개의 입력(βy, βz) (예컨대, 2개의 생체인식 샘플(예컨대, βy로서 EBT 및 βz로서 ABS)) 사이의 근접도 또는 거리(d)를 연산하고, 이어서 연산된 거리(d)를 임계치(τ)와 비교하도록 구성될 수 있으며, 여기서 회로는 d < τ인 경우 성공 출력(예컨대, 성공 키(ckj)가 되도록 설정된 0이 아닌 스트링 세트)을 출력하고 d ≥ τ인 경우 실패 출력(예컨대, 0의 스트링)을 출력하도록 구성될 수 있다. 이러한 임계치(τ)는 임의의 적합한 방법으로 정의될 수 있고, 구체적 응용예(예컨대, 구체적 매칭 기능 및/또는 구체적 유형의 EBT 및/또는 ABS)에 기초하여 달라질 수 있다. 더 일반적으로, 매칭 함수는 전체 시스템의 올바른 수락(예컨대, 옳은 성공)을 최대화하고 잘못된 수락(예컨대, 옳지 않은 성공)을 최소화화도록 사용될 수 있다. 트레이드-오프를 충족하기 위하여 (예컨대, 가능한 많은 정확한 생체인식 샘플들을 허용하고, 가능한 많은 거짓 샘플들을 거부하도록) 임계치가 선택될 수 있다.
가블드 회로들을 이용하여, 일 당사자(예컨대, 회로 생성기(예컨대, 사용자 디바이스(60a)))는 함수 f(·, ·)를 연산할 수 있고 그것을 "암호화" 또는 "가블링"할 수 있는 부울 회로를 구성할 수 있다. 다른 당사자(예컨대, 회로 평가기(예컨대, 노드(j)))는 회로의 출력을 연산할 수 있고 그것을 회로 생성기 당사자와 공유할 수 있다. 회로는 3종류의 와이어(p)에 의해 연결된 이진 게이트들(g)을 포함할 수 있다: (1) 당사자들의 입력들의 값을 추정할 수 있는 입력 와이어들, (2) 평가 종료 시 함수 f(·, ·)의 출력으로 설정될 수 있는 출력 와이어들, 및 (3) 중간 값들이 회로를 통해 전파됨에 따라 그것들을 전달하는 중간 와이어들. 생성기는 한 쌍의 키들 또는 라벨들
Figure 112021073466711-pct00002
을 회로의 각각의 와이어(p)에 연관시킬 수 있다. 라벨들 중 하나는 비트 값 0에 대응할 수 있는 반면, 라벨들 중 다른 하나는 비트 값 1에 대응할 수 있다. 입력들(
Figure 112021073466711-pct00003
})을 구비한 입력 와이어들(y, z) 및 출력 와이어(k)를 구비한 각각의 게이트(g)에 대하여, 생성기는
Figure 112021073466711-pct00004
을 암호화 키로서 이용하여 4개의 암호문(예컨대, 각각의 게이트 입력 조합에 하나씩)을 연산할 수 있다. 구체적으로, 생성기는
Figure 112021073466711-pct00005
의 4개의 인스턴스를 모두 연산할 수 있고, g(b y , b z )는 입력들(b y , b z ) 상에 게이트(g)의 출력을 나타낼 수 있다. 이 암호문들은 "가블드" 게이트를 생성할 수 있고 평가기로 전달될 수 있다.
게이트들을 복호화하고 회로를 평가하기 위하여, 평가기는 수행되고 있는 연산과 연관된 쌍
Figure 112021073466711-pct00006
에 대응하는 2개의 입력 라벨을 필요할 수 있다. 중간 와이어 라벨들이 선행 게이트들의 출력으로서 계산될 수 있는 반면, 입력 라벨들은 생성기로부터 평가기로 전송될 수 있다. 생성기 라벨들은, 예를 들어, 있는 그대로 전송될 수 있는데, 그 이유는 그것들의 값들이 0 또는 1 비트 값을 표현하는지 개시하지 않을 수 있기 때문이다. 그러나, 생성기는 평가기의 입력을 알지 못할 수 있고, 따라서 정확한 라벨들만을 평가기에 직접 전송하지 않을 수 있다. 대안으로서, 생성기는 모든 평가기 라벨들을 생성기에 전송할 수 있다. 그러나, 평가기는 함수f(·, ·)의 다수의 출력들을 관찰함으로써 생성기의 입력에 관한 정보를 학습하기 위하여 평가기의 참인 입력과는 상이한 값들을 선택적으로 이용할 수 있다. 이 이슈를 해결하기 위하여, 생성기 및 평가기는 평가기의 입력 비트들의 각각에 대하여 불확정 전송("OT") 프로토콜 인스턴스를 실행할 수 있다. 구체적으로, 각각의 OT 인스턴스에 대한 평가기의 입력은 평가기의 입력 비트들 중 하나일 수 있지만, 생성기의 입력은 2개의 대응하는 입력 라벨들일 수 있다. 이러한 프로세스의 끝에서, 평가기는 모든 평가기의 입력 라벨들을 학습할 수 있는 반면, 생성기는 아무것도 학습하지 않을 수 있다.
APSP는 가블드 회로 프로토콜의 신규 변형을 사용할 수 있는데, 생성기 역할을 하는 당자사(예컨대, 사용자 디바이스(60a))는 그것의 매칭 함수 mf(βy, βz)에 대하여 비록 상이한 시점이지만 (예컨대, 각각, 등록 동안 및 인증 동안) 2개의 입력(예컨대, 2개의 생체인식 샘플(예컨대, βy로서 EBT 및 βz로서 ABS))을 가질 수 있고, 평가기의 역할을 하는 당사자(예컨대, 노드(j))는 실질적으로 입력을 갖지 않을 수 있다. 이로써 APSP는 통상적인 가블드 회로 프로토콜의 연산 및 통신 비용의 상당 부분을 통상적으로 차지하는 OT 단계를 제거할 수 있다. 이를 달성하기 위하여, 평가기의 입력 라벨들은 네트워크 노드 상에 저장(예컨대, 암호화)될 수 있다. 인증 동안, 노드는 라벨들을 사용자의 디바이스에 반환할 수 있고, 이는 입력 라벨들을 복호화하고 제2 입력(예컨대, βz로서 ABS)에 기초하여 라벨들의 적절한 서브세트를 선택한다. 결과적으로, 이 시점에서, 노드는 인증의 출력을 연산하는 데 필요한 모든 정보(예컨대, 가블드 회로, 평가기의 입력, 및 생성기의 입력)를 수신할 수 있다.
언급된 바와 같이, 가블드 회로는 그것의 매칭 함수 mf(βy, βz)의 두 입력들(βy 및 βz) 사이의 근접도 또는 거리(d), 예컨대 βy로서 생체인식 EBT와 βz로서 생체인식 ABS사이의 거리를 연산하여, 연산된 거리(d)를 임계치(τ)와 비교하도록 구성될 수 있다. d < τ일 때 함수는 1을 출력하도록 구성될 수 있지만, 가블드 회로는 d < τ일 때 유효 성공 키(ckj)로서 설정될 수 있는 암호화된 버전의 "1"일 수 있는 성공 출력을 출력하도록 구성될 수 있고, d ≥ τ일 때 함수는 0을 출력하도록 구성될 수 있지만, 가블드 회로는 d ≥ τ일 때 널(예컨대, 0의 스트링)로서 설정될 수 있는 암호화된 버전의 "0"일 수 있는 실패 출력을 출력하도록 구성될 수 있다. 따라서, 본 명세서에 기재된 바와 같이, 가블드 회로 프로토콜의 보안 속성들 때문에, APSP의 SMPC 프로토콜은 ABS가 EBT에 가까운 (예컨대, 임계 거리 내에 있는) 경우에만 유효 성공 키(ckj)를 출력하도록 가블드 회로를 구성할 수 있다. 결과적으로, 오류가 생긴 노드는 신뢰받는 디바이스와 상호작용하여, 인증이 성공적이지 않는 한 유효 성공 키(ckj)를 연산할 수 없다. 사용될 수 있는 매칭 또는 거리 함수는 EBT 및 ABS의 구체적 생체인식 양식에 따라 달라질 수 있다. 예를 들어, 해밍 거리(Hamming distance)가 홍채 스캔 생체인식에 사용될 수 있고, 유클리드 거리(Euclidean distance)가 얼굴 스캔 생체인식에 사용될 수 있다. APSP는 회로 가블링 및 평가를 위한 적절한 부울 표현을 간단히 제공함으로써 각각의 거리 함수를 구현하도록 구성될 수 있다. 인증 동안, 노드 및 사용자 디바이스는 공동으로 가블드 회로에 대한 입력들을 재구성할 수 있고, 노드는 등록 동안 확립된 암호화된 템플릿을 사용할 수 있는 반면, 사용자 디바이스는 인증을 위하여 새로운 생체인식 샘플을 수집 및 암호화할 수 있다. 사용자로부터 암호화된 샘플을 수신하면, 노드는 가블드 회로의 그것들의 사본을 평가할 수 있다. 인증이 성공하면, 노드는 시드의 상이한 공유를 복구하고, 그것을 사용자 디바이스에 전송할 수 있다. 사용자가 충분한 수의 시드 공유를 수신하면, 사용자 디바이스는 시드를 재구성할 수 있다. 해밍 거리는 이진 영역에 걸쳐 맨하탄 거리(Manhattan distance) 및 유클리드 거리의 구체적인 실현일 수 있지만, 임의의 구체적인 거리 또는 심지어 메트릭으로 매칭 함수를 제한할 이유는 없다. 매칭 함수가 근접도의 "위상적" 개념을 결정할 수 있는 한 APSP는 효과적으로 동작할 수 있다. 예를 들어, 매칭 함수는 (예컨대, 아마도 동일한 사용자 및/또는 동일한 환경으로부터) EBT 및 ABS가 가까운지 여부에 대해서 평가를 내리도록 동작할 수 있고, 그럼으로써 EBT와 ABS 사이의 명백하게 연산가능한 "거리"일 필요는 없고, 단지 EBT 및 ABS가 가까운지 여부를 나타내는 평가 출력이 있을 수 있다.
따라서, 동작(310)에서, 노드(j)에 대한 새로운 인증 회로 정보(ACICid_j)를 생성하기 위하여, 가블드 회로(Cj)가 매칭 함수 mf: βy x βz -> {FAIL, SUCCESS}에 대한 CIT(Kj) 및 CIT(Tj)를 이용하여 생성될 수 있고, 각각의 CIT는 랜덤 스트링(예컨대, 프로그램이 입력들을 결정할 명령어들일 수 있는 암호화된 입력 테이블)일 수 있다.
동작(312)에서, 가블드 회로(Cj)의 성공 출력(예컨대, 출력 라벨)이 결정되고 성공 키(ckj)를 정의하는 데 사용된다(예컨대, 성공 키(ckj)가 가블드 회로(Cj)의 성공 출력(예컨대, 임의의 적합한 길이의 비트들의 스트링)과 동일하게 설정될 수 있다). 예를 들어, 성공 키(ckj)는 사용자 디바이스에 의한 회로 생성 동작(310)의 일부로서 생성될 수 있다. 전체 회로(Cj)는 디바이스에 의해 생성될 수 있고, 성공 키(ckj)는 회로의 일부일 수 있다. 성공 키(ckj)는 회로(Cj)에 의해 생성된 랜덤 대칭 암호화 키일 수 있다.
동작(314)에서, 내부 키(kj)가 생성될 수 있다. 내부 키(kj)가 회로(Cj)에 독립적으로 (예컨대, 임의의 적합한 랜덤 생성 기술을 이용하여) 생성될 수 있다. 내부 키(kj)는 사용자 디바이스(60a)에 의해 생성된 랜덤 대칭 암호화 키일 수 있다.
동작(316)에서, 내부 키(kj)는 암호화된 키(
Figure 112021073466711-pct00007
) (예컨대,
Figure 112021073466711-pct00008
= Εpke (kj))를 정의하기 위하여 공개 암호화 키(pke)로 암호화될 수 있다. 이는 디바이스(60a)가 안전하게 암호화된 키(
Figure 112021073466711-pct00009
)를 원격에서 (예컨대, 디바이스(60a)보다는 노드(j)에서) 통신 및 저장하도록 인에이블할 수 있고, 또한 디바이스(60a)가 (예컨대, 개인 암호화 키(ske)를 이용하여) 내부 키(kj)에 다시 액세스하기 위하여 그 암호화된 키(
Figure 112021073466711-pct00010
)를 나중에 검색하도록 인에이블할 수 있다.
동작(318)에서, CIT(Tj)의 서브세트는 EBT(B)를 나타낼 수 있는 제한된 CIT(T'j)를 정의하도록 선택될 수 있다. 이는 제한된 CIT(T'j)가 EBT(B)의 인스턴스 생성이 될 수 있게 할 수 있다. CIT(Tj)는 입력 키들을 입력 값들에 연결하도록 동작하는 테이블일 수 있는 반면, 동작(318)은 EBT(B)의 각각의 비트에 기초하여 CIT(Tj)의 모든 입력 라벨들로부터 각각의 입력 라벨의 절반(예컨대, 0 비트 또는 1 비트)을 제거함으로써 CIT(Tj)를 제한 또는 조정함으로써 CIT(T'j)를 정의할 수 있다. 사용자 디바이스는 회로에 대한 입력을 선택 및/또는 제한할 수 있다(예컨대, 입력을 분할). 이는 사용자 디바이스(60a)가 회로(Cj)를 평가할 때 노드(70)가 EBT(B)를 검색하거나, 또는 상이한 입력에 의해 EBT(B)를 대체하지 않고, 회로(Cj)에 대한 입력으로서 노드(70)에 의한 입력에 대하여 EBT(B)를 보호(예컨대, 암호화 또는 다른 방식으로 보호)하도록 할수 있다.
동작(320)에서, CIT(Kj)는 내부 키(kj)로 암호화되어 암호화된 CIT(
Figure 112021073466711-pct00011
)를 정의할 수 있다(예컨대,
Figure 112021073466711-pct00012
= Εkj (Kj)). CIT(Kj)의 서브세트는 나중에 ABS를 나타낼 수 있는 제한된 CIT(K'j)를 정의하도록 선택될 수 있지만(예컨대, 도 4a 내지 도 4c의 인증 프로세스(400)의 동작(432)에서), 이러한 동작은 등록 프로세스(200) 동안 발생하기에 아직 적당하지 않으며, 여기서 프로세스(300)가 일어날 수 있는데, 왜냐하면 이러한 ABS는 아직 정의되지 않았기 때문이다(예컨대, 사용자 인증 생체인식은 아직 캡처되지 않았음). 따라서, 동작(320)은 CIT(Kj)를 변수로서 유지할 수 있지만, CIT(Kj)를 내부 키(kj)로 암호화하여 암호화된 CIT(
Figure 112021073466711-pct00013
)를 정의할 수 있고, 이는 이 등록 프로세스 동안 평가기 노드(j)가 CIT(Kj)에 액세스할 수 있게 하지 않으면서 평가기 노드(j)와 공유될 수 있다.
동작(322)에서, 시드 공유([s]j)는 이중으로 암호화되어 이중으로 암호화된 시드 공유([
Figure 112021073466711-pct00014
]j)를 정의할 수 있다. 예를 들어, 시드 공유([s]j)는 먼저 내부 키(kj)로 암호화되어 단독으로 암호화된 시드 공유([
Figure 112021073466711-pct00015
]j)를 정의하여(예컨대, [
Figure 112021073466711-pct00016
]j = Ekj ([s]j)) 시드 공유 암호화의 제1 층을 인에이블할 수 있고, 이어서 단독으로 암호화된 시드 공유([
Figure 112021073466711-pct00017
]j)는 성공 키(ckj)로 암호화되어 이중으로 암호화된 시드 공유([
Figure 112021073466711-pct00018
]j)를 정의하여(예컨대, [
Figure 112021073466711-pct00019
]j = Eckj ([
Figure 112021073466711-pct00020
]j) = Eckj (Ekj ([s]j))) 시드 공유 암호화의 제2 층을 인에이블할 수 있다. 따라서, 시드 공유는 먼저 평가기 노드(j)에 액세스가능하지 않을 수 있는 키(예컨대, 내부 키(kj))로 암호화될 수 있고, 이어서 그 암호화된 시드 공유는 일부 시점에(예컨대, 인증 단계 동안) 평가기 노드(j)에 액세스가능해질 수 있는 키(예컨대, 성공 키(ckj))로 암호화될 수 있다(예컨대, 평가기 노드(j)는 회로(Cj)가 성공 출력 결과(예컨대, 성공적인 인증)를 반환하도록 할 수 있다).
동작(324)에서, EBT 공유([B]j)는 이중으로 암호화되어 이중으로 암호화된 EBT 공유([
Figure 112021073466711-pct00021
]j)를 정의할 수 있다. 예를 들어, EBT 공유([B]j)는 먼저 내부 키(kj)로 암호화되어 단독으로 암호화된 EBT 공유([
Figure 112021073466711-pct00022
]j)를 정의하여(예컨대, [
Figure 112021073466711-pct00023
]j = Ekj ([B]j)) EBT 공유 암호화의 제1 층을 인에이블할 수 있고, 이어서 단독으로 암호화된 EBT 공유([
Figure 112021073466711-pct00024
]j)는 성공 키(ckj)로 암호화되어 이중으로 암호화된 EBT 공유([
Figure 112021073466711-pct00025
]j)를 정의하여(예컨대, [
Figure 112021073466711-pct00026
]j = Eckj ([
Figure 112021073466711-pct00027
]j) = Eckj (Ekj ([B]j)))) EBT 공유 암호화의 제2 층을 인에이블할 수 있다. 따라서, EBT 공유는 먼저 평가기 노드(j)에 액세스가능하지 않을 수 있는 키(예컨대, 내부 키(kj))로 암호화될 수 있고, 이어서 그 암호화된 EBT 공유는 일부 시점에(예컨대, 인증 단계 동안) 평가기 노드(j)에 액세스가능해질 수 있는 키(예컨대, 성공 키(ckj))로 암호화될 수 있다(예컨대, 평가기 노드(j)는 회로(Cj)가 (예컨대, 성공적인 인증에 응답하여)성공 출력 결과를 반환하도록 할 수 있다).
동작(326)에서, 동작(308)의 새로운 회로 식별자(Cid)에 대한 각각의 노드(j)에 대한 인증 회로 정보(ACICid_j)의 생성 동안 생성된 다양한 요소들, 예컨대 동작(310)의 회로(Cj)의 각각, 동작(316)의 암호화된 키(
Figure 112021073466711-pct00028
j ), 동작(318)의 제한된 CIT(T'j), 동작(320)의 암호화된 CIT(
Figure 112021073466711-pct00029
j), 동작(322)의 이중으로 암호화된 시드 공유([
Figure 112021073466711-pct00030
]j), 및 동작(324)의 이중으로 암호화된 EBT 공유([
Figure 112021073466711-pct00031
]j)는 개인 디바이스 서명 키(skd)로 서명되어 서명들(SVEj)을 정의할 수 있다.
동작(328)에서, 동작(308)의 새로운 회로 식별자(Cid)에 대한 각각의 노드(j)에 대한 인증 회로 정보(ACICid_j)의 생성 동안 생성된 다양한 요소들(민감한 회로 생성 정보(SCGI))은 사용자 디바이스(60a)로부터 삭제될 수 있다. 예를 들어, 동작(328)에서 사용자 디바이스(60a)로부터 삭제될 이러한 민감한 회로 생성 정보(SCGI)는 동작(304)의 시드 공유([s]j), 동작(306)의 EBT 공유([B]j), 동작(310)의 CIT(Kj), 동작(310)의 CIT(Tj), 동작(312)의 성공 키(ckj), 및 동작(314)의 내부 키(kj)를 포함할 수 있다. 이 등록 프로세스 동안 사용자 디바이스(60a)로부터 이러한 SCGI의 삭제는 디바이스(60a)가 다소 보안이 위태로운 경우 이러한 정보가 디바이스(60a)에 의해 액세스되는 것을 방지할 수 있다.
동작(330)에서, 동작(308)의 동작들(310 내지 328)의 각각이 선택된 노드들(n)의 각각의 노드(j)에 대하여 완료된 후에, 회로 식별자(Cid) 및 노드들(1, …, n)에 대한 인증 회로 정보(ACICid_1, …, n)의 세트는 동작(310)의 n번 반복에 의해 생성된 바와 같은 회로들(C1, …, n), 동작(316)의 n번 반복에 의해 생성된 바와 같은 암호화된 키들(
Figure 112021073466711-pct00032
1, …, n ), 동작(318)의 n번 반복에 의해 생성된 바와 같은 제한된 CIT들(T'1, …, n), 동작(320)의 n번 반복에 의해 생성된 바와 같은 암호화된 CIT들(
Figure 112021073466711-pct00033
1, …, n ), 동작(322)의 n번 반복에 의해 생성된 바와 같은 이중으로 암호화된 시드 공유들([
Figure 112021073466711-pct00034
]1, …, n), 동작(324)의 n번 반복에 의해 생성된 바와 같은 이중으로 암호화된 EBT 공유들([
Figure 112021073466711-pct00035
]1, …, n), 및 동작(326)의 n번 반복에 의해 생성된 바와 같은 서명들(SVE1, …, n)을 포함하도록 정의될 수 있다. 사용자 디바이스(60a) 및 그것의 사용자(U)를 APSP의 네트워크 노드들에 등록하는 것을 추가로 하기 위하여 회로 식별자(Cid)에 대한 인증 회로 정보(ACICid_1, …, n)의 이러한 세트는 결과적으로 각자의 노드들(701, …, n)과 공유되고 그 위에 저장될 수 있다. 프로세스(300)는 동작(330) 후에 종료될 수 있다.
도 3의 프로세스(300)에 도시된 동작들은 단지 예시적인 것이고, 기존의 동작들이 변경 또는 생략될 수 있고, 추가 동작들이 추가될 수 있고, 소정 동작들의 순서가 변경될 수 있다.
도 2a, 도 2b, 및 도 7a 내지 도 7i(계속)
프로세스(300) 후에, 프로세스(200)는 동작(224)에서 재개할 수 있고, 여기서 인증 회로 정보(ACI)의 하나 이상의 추가적인 세트들이 (예컨대, 새로운 고유 회로 식별자 및 연관된 인증 회로 정보를 생성하기 위하여 프로세스(300)를 한번 이상 추가로 반복함으로써) 생성되어야 하는지 결정될 수 있다. 그러나, 인증 회로 정보(ACI)의 적절한 수의 세트들이 생성되면, 프로세스(200)는 동작(224)으로부터 동작(226)으로 진행할 수 있다. APSP는 사용자 디바이스 및 그것의 연관된 네트워크 노드들에 이용가능한 최소의 임계 수의 고유 회로 식별자 및 연관된 회로 정보의 이러한 세트들을 갖도록 구성될 수 있는데, 각각의 인증 시도는 하나의 이러한 세트를 소모할 수 있고, 그럼으로써 소정 횟수의 실패된 인증 시도들은 사용자 디바이스가 재등록 없이 인증할 수 없도록 렌더링할 수 있다.
동작(226)에서, 사용자 디바이스(60a) 및 그것의 사용자(U)를 APSP의 네트워크 노드들에 등록하는 것을 추가로 하기 위하여 각각의 고유 회로 식별자(Cid)에 대한 인증 회로 정보(ACICid_1, …, n)의 각각의 생성된 세트는 데이터(226d)로서 각자의 노드들(701, …, n)에 전송될 수 있다. 예를 들어, 각각의 노드(j)는 각각의 고유 회로 식별자(Cid)에 대한 인증 회로 정보(ACICid_j)(예컨대, 각각의 고유 회로 식별자(Cid)의 회로(Cj), 각각의 고유 회로 식별자(Cid)의 암호화된 키(
Figure 112021073466711-pct00036
j), 각각의 고유 회로 식별자(Cid)의 제한된 CIT(T'j), 각각의 고유 회로 식별자(Cid)의 암호화된 CIT(
Figure 112021073466711-pct00037
j), 각각의 고유 회로 식별자(Cid)의 이중으로 암호화된 시드 공유([
Figure 112021073466711-pct00038
]j), 각각의 고유 회로 식별자(Cid)의 이중으로 암호화된 EBT 공유([
Figure 112021073466711-pct00039
]j), 및 각각의 고유 회로 식별자(Cid)의 서명들(SVEj))를 전송될 수 있다.
동작(228)에서, 노드들(701, …, n)의 각각의 노드(j)는 (예컨대, 데이터(226d)로서) 각각의 고유 회로 식별자(Cid)에 대한 그것의 각자의 인증 회로 정보(ACICid_j)를 수신하고, 이전에 수신된 데이터(208d)의 공개 디바이스 서명 키(pkd)를 이용하여 각각의 고유 회로 식별자(Cid)에 대한 수신된 인증 회로 정보(ACICid_j)의 서명들(SVEj)을 검증하려고 시도하고, 노드가 각각의 고유 회로 식별자(Cid)에 대하여 수신된 인증 회로 정보(ACICid_j)의 서명들(SVEj)을 검증할 수 있는지 여부를 나타낼 수 있는 검증 확인(ack'CID_j)을 생성(예컨대, 이러한 검증을 컨펌 또는 거부)할 수 있고, 이어서 노드는 그 검증 확인(ack'CID_j)을 데이터(228d)의 적어도 일부분으로서 (예컨대, 그 특정 노드(70)의 애플리케이션(79)에 따라) 사용자 디바이스(60a)로 다시 전송할 수 있다. 이는 노드가 사용자 디바이스(60a)의 공개 디바이스 서명 키(pk d )를 이용하여 각각의 고유 회로 식별자(Ci d )에 대한 수신된 인증 회로 정보(ACICid_j)의 서명들(SVEj)을 검증할 수 있게 할 수 있다. 검증이 부정적인 경우, ACI는 노드에 의해 거부될 것이고 노드는 심지어 저장된 키들(pku 및 pkd)을 삭제할 수 있다.
동작(230)에서, 사용자 디바이스(60a)는 (예컨대, 사용자 디바이스(60a)의 애플리케이션(69)에 따라) 각각의 고유 회로 식별자(Cid)에 대한 노드들(n)의 하나 또는 각각의 노드(j)로부터의 데이터(228d)의 검증 확인(ack'CID_j)을 수신 및 등록할 수 있다. 수신된 ack'CID_j가 특정 고유 회로 식별자(Cid)에 대한 노드(j)에 의한 긍정적 검증을 나타내는 경우, 사용자 디바이스(60a)는 그것의 인증 회로 정보(ACICid_j)가 노드(j)에 의해 그것의 공개 키들(pku, pkd)에 대하여 저장될 수 있다고 결정할 수 있고, 그럼으로써 사용자 디바이스(60a)는 동작(230)으로부터 동작(232)으로 진행함으로써 프로세스(200)의 등록으로 진행하도록 인에이블될 수 있다. 그러나, 수신된 ack'j가 특정 고유 회로 식별자(Cid)에 대하여 노드(j)에 의한 부정적 검증을 나타내는 경우, 사용자 디바이스(60a)는 그것의 인증 회로 정보(ACICid_j)가 노드(j)에 의해 그것의 공개 키들(pku, pkd)에 저장되지 않을 수 있다고 결정할 수 있고, 그럼으로써 사용자 디바이스(60a)는 적어도 각각의 노드 및 이러한 부정적 검증을 제공한 각각의 고유 회로 식별자(Cid)에 대한 동작들(224, 226) 중 하나 이상을 반복하도록 구성될 수 있다.
긍정적 검증이 사용자 디바이스(60a)에 의해 고유 회로 식별자(Cid)에 대한 그것의 각자의 인증 회로 정보(ACICid_j)에 대하여 노드(j)에 등록되면, 프로세스(200)는 동작(232)으로 진행할 수 있고, 여기서 사용자 디바이스(60a)는 그 노드가 공개 키들(pku, pkd)로 고유 회로 식별자(Cid)에 대하여 그것의 수신된 인증 회로 정보(ACICid_j)를 저장하도록 지시하고, 그 노드가 이 공개 키들(pku, pkd)을 발행하도록 지시하기 위한 저장/발행 명령(SPICID_j)을 생성하고, 데이터(232d)의 적어도 일부분으로서 그 특정 노드(j)로 전송할 수 있다.
동작(234)에서, 노드들(701, …, n)의 각각의 노드(j)는 특정 고유 회로 식별자(Cid)에 대한 인증 회로 정보(ACICid_j)에 대한 그것의 각자의 저장/발행 명령(SPICID_j)을 (예컨대, 데이터(232d)로서) 수신할 수 있고, 이러한 수신에 응답하여, 노드는 사용자 디바이스(60a) 및 그것의 사용자(U)를 노드에 등록하기 위하여 수신된 인증 회로 정보(ACICid_j)를 사용자 디바이스(60a)의 저장된 공개 키들(pku, pkd)과 함께 저장할 수 있고, 노드는 사용자 디바이스(60a)의 저장된 공개 키들(pku, pkd)을 데이터(234d)의 적어도 일부분으로서 저장소(80)로 전송할 수 있고, 노드는 노드가 완전히 특정 고유 회로 식별자(Cid)에 대한 인증 회로 정보(ACICid_j)를 사용자 디바이스(60a)의 저장된 공개 키들과 함께 등록하는 것을 나타낼 수 있는 등록 검증 확인(ack''CID_j)을 생성할 수 있고, 이어서 노드는 검증 확인(ack''CID_j)을 데이터(235d)의 적어도 일부분으로서 사용자 디바이스(60a)로 (예컨대, 그 특정 노드(70)의 애플리케이션(79)에 따라) 다시 전송할 수 있다.
동작(236)에서, 저장소(380)는 데이터(234d)를 수신하고 사용자 디바이스(60a)의 공개 키들(pku, pkd)을 (예컨대, 저장소 메모리(383) 내의 데이터(89d)의 일부분으로서) 저장할 수 있다.
동작(238)에서, 사용자 디바이스(60a)는 (예컨대, 사용자 디바이스(60a)의 애플리케이션(69)에 따라) 각각의 고유 회로 식별자(Cid)에 대한 노드들(n)의 하나 또는 각각의 노드(j)로부터의 데이터(235d)의 검증 확인(ack''CID_j)을 수신 및 등록할 수 있다. 수신된 ack''CID_j가 특정 고유 회로 식별자(Cid)에 대하여 노드(j)에 의한 긍정적 검증을 나타내는 경우, 사용자 디바이스(60a)는 그것의 인증 회로 정보(ACICid_j)가 노드(j)에 의해 그것의 공개 키들(pku, pkd)에 대하여 저장되어 있고, 그것의 공개 키들(pku, pkd))은 저장소(80)(적절한 경우)에 저장되어 있다고 결정할 수 있고, 그럼으로써 사용자 디바이스(60a)는 등록 프로세스(200)를 종료하도록 인에이블될 수 있다. 등록 프로세스(200)를 종료하는 것은 디바이스(60a) 상에 민감한 등록 정보(SEI)가 남아 있지 않음을 컨펌하는 것을 포함할 수 있다. 이는 각각의 적용가능한 회로 식별자(Cid)에 대한 및/또는 전체 등록 프로세스에 대한 각각의 적용가능한 노드(j)의 정보(SEI)의 다음 항목들 중 임의의 것 또는 각각을 삭제하는 것을 포함할 수 있다: 등록 프로세스의 사용자 등록 생체인식(ueb), 등록 프로세스의 시드(s), 등록 프로세스의 EBT(B), 등록 프로세스의 개인 사용자 키(sku), 각각의 고유 회로 식별자(Cid)의 n-노드들의 각각의 회로(Cj), 각각의 고유 회로 식별자(Cid)의 n-노드들의 각각의 암호화된 CIT(
Figure 112021073466711-pct00040
j), 각각의 고유 회로 식별자(Cid)의 n-노드들의 각각의 제한된 CIT(T'j), 각각의 고유 회로 식별자(Cid)의 n-노드들의 각각의 암호화된 키(
Figure 112021073466711-pct00041
j), 각각의 고유 회로 식별자(Cid)의 n-노드들의 각각의 이중으로 암호화된 시드 공유([
Figure 112021073466711-pct00042
]j), 각각의 고유 회로 식별자(Cid)의 n-노드들의 각각의 이중으로 암호화된 EBT 공유([
Figure 112021073466711-pct00043
]j), 및 각각의 고유 회로 식별자(Cid)의 n-노드들의 각각의 서명들(SVEj). 이 등록 프로세스 동안 사용자 디바이스(60a)로부터 민감한 등록 정보(SEI)(예컨대, 동작(238)에서) 및 민감한 회로 생성 정보(SCGI)(예컨대, 동작(328)에서 또는 달리(예컨대, 동작(238)에서))의 이러한 삭제는, 디바이스(60a)가 등록 후에 다소 위태로워진 경우, 이러한 정보가 디바이스(60a)에 의해 액세스되는 것을 방지할 수 있다. 또한, 소정 정보는, 삭제 전이라도, 결코 사용자 디바이스(60a)의 메모리(63)의 소정 부분들에 제공되지 않을 수 있다. 예를 들어, 사용자 디바이스(60a)의 클라이언트 APS 애플리케이션(69a)의 APSP SDK는 적어도 시드(s) 및 EBT(B) 및/또는 APSP SDK 내부의 SEI 및/또는 SCGI의 임의의 기타 적합한 데이터를 유지할 수 있고, 이러한 데이터가 APS 애플리케이션(69a)의 다른 부분들 및/또는 디바이스(60a)의 다른 애플리케이션들에 제공되도록 허용하지 않는다. APSP SDK는 이러한 데이터를 디바이스 메모리(63)의 영구 저장장치(예컨대, 메모리(63)의 플래시 메모리 부분)에는 결코 저장하지 않고 디바이스 휘발성 메모리 또는 디바이스 메모리(63)의 다른 형태(예컨대, 메모리(63)의 RAM 부분)에만 저장하도록 구성될 수 있고, 값들이 더 이상 등록 프로세스에 필요하지 않으면 (예컨대, 동작(328) 및/또는 동작(238)에서) 이러한 데이터를 0으로 덮어쓰거나 또는 다른 방식으로 이러한 데이터를 삭제(예컨대, 0으로 덮어쓰고 이어서 1로 덮어쓰고 이어서 랜덤 데이터로 덮어씀) 하도록 구성될 수 있다. 등록 프로세스(200)를 종료하는 것은 또한 (예컨대, 프로세스(400)의 동작(406) 및/또는 동작(424)에서) 나중에 검색을 위하여, 각각의 고유 회로 식별자(Cid) 및 그것의 연관된 노드들(1, … n)을 나타내는 데이터를 (예컨대, 데이터(69d)의 일부분으로서(예컨대, 영구 저장장치(예컨대, 메모리(63)의 플래시 메모리 부분)에서)) 등록된 사용자 디바이스(60a) 상에 저장하는 것을 포함할 수 있다. 동작(206)에서 생성된 키들 중 일부(예컨대, 공개 사용자 키(pku)(그러나 삭제된 민감한 등록 정보(SEI)의 개인 사용자 키(sku) 아님), 개인 디바이스 서명 키(skd)(개인 디바이스 서명 키(skd)로 연산될 수 있는 공개 디바이스 서명 키(pkd)가 있거나 또는 없음), 및 개인 암호화 키(ske)(개인 암호화 키(ske)를 이용하여 연산될 수 있는 공개 암호화 키(pke)가 있거나 또는 없음))는 또한 등록 프로세스(200)를 종료하기 전에 등록된 사용자 디바이스(60a) 상에 (예컨대, 데이터(69d)의 일부분으로서(예컨대, 영구 저장장치(예컨대, 메모리(63)의 플래시 메모리 부분)에)) 저장될 수 있다. 도시된 바와 같이, 도 7f 내지 도 7h의 스크린들(700f 내지 700h)은 이러한 등록 동안 사용자 디바이스(60a)의 애플리케이션(69)에 의해 제공될 수 있지만, 도 7i의 스크린(700i)은 이러한 등록이 완료되고 컨펌되면(예컨대, 동작(238) 후에) 제시될 수 있고, 이 때 사용자에게 임의의 적합한 등록된 옵션들(예컨대, 등록된 디바이스 상의 APSP로부터의 푸시 통지들을 인에이블할지 여부)이 제시될 수 있다. 그러나, 수신된 ack''j가 특정 고유 회로 식별자(Cid)에 대하여 노드(j)에 의한 부정적 검증을 나타내는 경우, 사용자 디바이스(60a)는 그것의 인증 회로 정보(ACICid_j)가 노드(j)에 의해 그것의 공개 키들(pku, pkd)에 대하여 저장되지 않았을 수 있고/있거나 그것의 공개 키들(pku, pkd)이 저장소(80)(적절한 경우)에 저장되지 않았다고 결정할 수 있고, 그럼으로써 사용자 디바이스(60a)는 이러한 부정적 검증을 제공한 적어도 각각의 노드 및 각각의 고유 회로 식별자(Cid)에 대하여 동작들(222 내지 232) 중 하나 이상을 반복하도록 구성될수 있다. (예컨대, 공개 블록체인으로서) 저장소(80)의 일부 실시예들에서, 사용자 디바이스는 공개 키들이 저장소에 발행되었는지를 독립적으로 검증가능할 수 있다.
도 2a 및 도 2b의 프로세스(200)에 도시된 동작들은 단지 예시적인 것이고, 기존의 동작들이 변경 또는 생략될 수 있고, 추가 동작들이 추가될 수 있고, 소정 동작들의 순서가 변경될 수 있다. 등록 프로세스(200)의 많은 부분이 더 무결절성이고 효율적인 사용자 경험을 제공하기 위하여 사용자(U)에게 투명하게 수행될 수 있다. 예를 들어, 동작들(204 내지 222)은 (예컨대, 도 7a의 스크린(700a)으로 제시되는 것과 도 7b의 스크린(700b)으로 제시되는 것 사이에서) 사용자(U)에 투명할 수 있다. 다른 예로서, 프로세스(300)의 하나 이상의 반복들의 전체를 포함하는 동작들(222 내지 238)은 (예컨대, 도 7f의 스크린(700f)으로 제시되는 것과 도 7i의 스크린(700i)으로 제시되는 것 사이에서) 사용자(U)에 투명할 수 있다.
도 4a 내지 도 4c, 도 7s 내지 도 7u, 및 도 7w
도 4a 내지 도 4c는 APSP로 등록된 APS 사용자 디바이스의 등록된 APS 사용자를 인증하기 위한 예시적인 프로세스(400)의 흐름도를 도시한다. 프로세스(400)는 APS 사용자 디바이스(60a), 그것의 사용자(U), 노드들(70)의 선택(예컨대, 선택된 노드들(70)의 수(n)(예컨대, 노드들(70a, 70b, 70c, …, 70n))), 및 저장소(80)에 의해 구현되는 것으로 도시된다. 그러나, 프로세스(400)는 도 1의 시스템(1)의 임의의 기타 적합한 컴포넌트들 또는 서브시스템들 또는 개체들을 이용하거나 또는 다른 방식으로 구현될 수 있다. 프로세스(400)는 등록된 APS 사용자(U) 및 그것의 등록된 APS 사용자 디바이스(60a)를 APSP로 안전하고 효율적으로 인증하기 위하여 무결절성 사용자 경험을 제공할 수 있다. 도 4a 내지 도 4c의 프로세스(400)에 따라 사용자(U) 및 그것의 사용자 디바이스(60a)를 APSP로 인증하기 위하여 시스템(1)의 동작에 관한 하기 논의를 용이하게 하기 위하여, 도 1 내지 도 1f의 개략도들의 시스템(1)의 다양한 컴포넌트들, 및 (예컨대, 도 7s 내지 도 7u 및 도 7w에 도시된 바와 같이) 이러한 프로세스 동안 APS 사용자 디바이스(60a)의 그래픽 사용자 인터페이스를 나타낼 수 있는 스크린들(700s 내지 700u 및 700w)을 참조한다. 기재된 동작들은 매우 다양한 그래픽 요소들 및 시각적 기법들로 달성될 수 있다. 따라서, 도 7s 내지 도 7u 및 도 7w의 실시예들은 본 명세서에서 채택된 정확한 사용자 인터페이스 규약에 한정되도록 의도되지 않는다. 오히려, 실시예들은 매우 다양한 사용자 인터페이스 스타일들을 포함할 수 있다.
프로세스(400)는 동작(402)에서 시작할 수 있고, 사용자(U)는 사용자의 등록된 APS 사용자 디바이스(60a)(예컨대, (예컨대, 프로세스(200)를 통해) APSP에 등록된 디바이스) 상에서 실행될 수 있는 APS 애플리케이션(69)으로 임의의 적합한 인증 개시 상호작용(aii)(402d)을 수행함으로써 등록을 개시할 수 있다. 예를 들어, 도 7s의 스크린(700s)에 의해 도시된 바와 같이, APS 디바이스(60a)의 UI는 인증(예컨대, 특정 보안 동작(예컨대, 특정 서비스(예컨대, 도 5 및 도 6에 관하여 구체적으로 기재된 "B'Gock" 서비스)에 액세스하기)을 인에이블하기 위하여 인증)하기 위한 요청과 연관된 선택가능한 옵션들("[예]" 및 "[아니오]")을 제시할 수 있고, 사용자는 APSP로 인증하기 위한 프로세스(400)로 진행하기 위하여 그것의 인증 개시 상호작용(aii)을 이용하여 옵션들 중 하나를 선택하도록 인에이블될 수 있다. 사용자 디바이스가 APSP를 이용한 인증을 통해 이용가능하게 될 수 있는 특정 보안 동작을 인에이블하기 위한 임의의 적합한 요청 또는 시도를 수신하는 것에 응답하여 이러한 인증 옵션 제시가 푸시 통지로서 (예컨대, 사용자에 의해 등록 프로세스의 스크린(700i)에서 수락되었을 수 있는 바와 같이) 제공될 수 있다. 동작(402)에 앞서, APS 애플리케이션(69)은 디바이스(60a)에 의해 (예컨대, APS 서브시스템(100) 또는 임의의 적합한 앱 스토어로부터 다운로드되거나 또는 달리 다운로드된 앱과 같이) 임의의 적합한 방식으로 액세스될 수 있고 사용자(U)는 먼저 APSP로 (예컨대, 도 2a 및 도 2b의 프로세스(200)를 통해) 자신 및 디바이스를 등록할 수 있다.
동작(404)에서, APS 사용자 디바이스(60a)는 긍정적 인증 개시 상호작용(aii)(예컨대, 인증에 개시하는 것에 관심을 나타내는 상호작용)을 검출할 수 있고, 이러한 검출에 응답하여, 사용자 디바이스(60a)는 이전의 디바이스 등록과 연관된 소정 키들, 예컨대, 공개 사용자 키(pku)(예컨대, 디바이스(60a)의 메모리(63) 내에 저장될 수 있는 바와 같이) 및 공개 디바이스 서명 키(pkd)(예컨대, 디바이스(60a)의 메모리(63) 내에 저장될 수 있거나 또는 디바이스(60a)의 메모리(63) 내에 저장될 수 있는 바와 같이 개인 디바이스 서명 키(skd)를 이용하여 연산될 수 있는 바와 같이)에 액세스할 수 있다. 이어서 이 키들은 (예컨대, 동작들(406 내지 418) 동안) 디바이스(60a)를 APSP의 노드들로 인증하는 데(예컨대, 등록 프로세스(200)의 동작들(208 내지 218)과 유사하지만, 아마도 상이한 개인 디바이스 키들을 이용한 서명을 통해) 사용될 수 있다.
동작(406)에서, APS 디바이스(60a)는 (예컨대, 애플리케이션(69)에 따라) 공개 사용자 키(pku) 및 공개 디바이스 서명 키(pkd)를 데이터(406d)로서 시스템(1)의 노드들(n)의 선택된 세트의 각각의 노드(j)(예컨대, 노드들(70a, …, 70n)의 각각의 노드(70))에 전송할 수 있고, 노드들(n)의 그 세트를 나타내는 정보는 등록 동안(예컨대, 동작(238)에서) 디바이스 상에 저장되었을 수 있다. 예를 들어, 특정 이용가능한 저장된 회로 식별자는 동작(406)에서 식별될 수 있고, (예컨대, 동작(238)에서) 그 식별자에 대하여 저장된 노드들(n)의 세트가 이용될 수 있다. 단일 사용자 및/또는 단일 APS 사용자 디바이스가 노드들의 다수의 상이한 세트들에 등록될 수 있고, 사용자는 (예컨대, 특정 회로 식별자를 이용하여) 특정 인증 프로세스에 대하여 다수의 세트들 중 특정한 하나를 선택해야 할 수도 있다.
동작(408)에서, 선택된 노드들(n)의 각각의 노드(j)는 사용자 디바이스(60a)로부터 데이터(406d)를 수신할 수 있고 이어서 (예컨대, 그 특정 노드(70)의 애플리케이션(79)에 따라) 데이터(208d)의 공개 사용자 키(pku) 및 공개 디바이스 서명 키(pkd)가 (예컨대, 등록 프로세스(200)의 동작(216)에서) 이미 검증되었는지 여부를 동작(408)에서 그 특정 노드(j)의 임의의 적합한 노드 데이터(79d)의 리뷰를 통한 내부 결정을 내림으로써 결정할 수 있고/있거나, 데이터(208d)의 공개 사용자 키(pku) 및 공개 디바이스 서명 키(pkd)가 이미 (예컨대, 등록 프로세스(200)의 동작(236)에서) 저장소(80)에서 있고 함께 저장된 상태로 있는지 여부를 키들 및 저장소 요청을 데이터(408d)로서 저장소(80)로 전송하고 이어서 (예컨대, 저장소(80)에 의한 임의의 적합한 수신 및 검증 동작(410)에 기초한) 저장소(80)로부터의 데이터(408d')에 의해 이 동일한 공개 키들이 이미 저장소(80)에 있고 함께 저장된 상태로 있다는 검증을 수신함으로써 결정할 수 있다. 노드에서의 이러한 내부 검증 및 저장소에 의한 이러한 저장소 검증 중 하나 또는 둘 모두가 데이터(406d)에 의해 제공된 바와 같이 키들(pku, pkd) 사이의 기존 링크의 긍정적 검증인 경우, 노드는 동작(408)부터 동작(412)까지의 프로세스(400)의 진행을 인에이블할 수 있고, 그렇지 않으면 프로세스(400)는 노드에 대하여 실패하거나 또는 디바이스의 재등록 프로세스로 다시 복귀될 수 있다.
동작(412)에서, 각각의 노드(j)는 동작(408)에서 수신되고 검증된 공개 키들에 대하여 시도(lj)(예컨대, 부분적으로 랜덤 데이터 구조)를 생성할 수 있고, 이어서 노드는 그 시도(lj)를 데이터(412d)의 적어도 일부분으로서 (예컨대, 그 특정 노드(70)의 애플리케이션(79)에 따라) 다시 사용자 디바이스(60a)에 전송할 수 있다.
동작(414)에서, 사용자 디바이스(60a)는 데이터(412d)의 시도(lj)를 노드들(n) 중 하나 또는 각각으로부터 수신하고, 그 시도(lj)를 디바이스의 개인 디바이스 서명 키(skd)로 서명함으로써 각각의 수신된 시도(lj)에 대한 시도 응답(ljσskd)을 생성하고(예컨대, 시도 응답(ljσskd) = Signskd (lj)), 이어서 그 시도 응답(ljσskd)을 적절한 노드(j)로 데이터(414d)의 적어도 일부분으로서 (예컨대, 사용자 디바이스(60a)의 애플리케이션(69)에 따라) 다시 전송할 수 있다.
동작(416)에서, 선택된 노드들(n) 중 하나, 일부, 또는 각각의 노드(j)는 사용자 디바이스(60a)로부터 데이터(414d)를 수신할 수 있고, 최근 수신된 데이터(414d)의 시도 응답(ljσskd)을 이용하여 먼저 수신된 데이터(406d)의 공개 디바이스 서명 키(pkd)의 검증을 시도할 수 있고, 노드가 공개 디바이스 서명 키(pkd)를 검증할 수 있었는지 여부를 나타낼 수 있는 검증 확인(verj)(예컨대, 검증을 컨펌 또는 부정)을 생성할 수 있고, 이어서 노드는 그 검증 확인(verj)을 데이터(416d)의 적어도 일부분으로서 (예컨대, 그 특정 노드(70)의 애플리케이션(79)에 따라) 다시 사용자 디바이스(60a)에 전송할 수 있다. 이는 노드로 하여금 공개 디바이스 서명 키(pkd)가 실제로 사용자 디바이스(60a)의 공개 디바이스 서명 키인지 여부 및/또는 프로세싱 에러가 노드 및/또는 사용자 디바이스 상에서 발생했는지 여부 및/또는 사용자로서 인증하려는 시도가 공격자에 의해 시도되고 있는지 여부를 검증하도록 인에이블할 수 있다.
동작(418)에서, 사용자 디바이스(60a)는 (예컨대, 사용자 디바이스(60a)의 애플리케이션(69)에 따라) 노드들(n)의 하나 또는 각각의 노드(j)으로부터 데이터(416d)의 검증 확인(verj)을 수신 및 등록할 수 있다. 수신된 검증 확인(verj)이 노드(j)에 의해 긍정적 검증을 나타내는 경우, 사용자 디바이스(60a)는 그것의 공개 키들(pku, pkd)이 그 특정 노드에 의해 수신, 저장, 검증되었다고 결정할 수 있고, 이는 디바이스가 인증됨을 나타낼 수 있고, 그럼으로써 사용자 디바이스(60a)는 프로세스(400)의 인증으로 (예컨대, 동작들(420/422)로 (예컨대, 디바이스의 사용자를 인증하기 위하여)) 추가로 진행하도록 인에이블될 수 있다. 등록 프로세스의 동작들(208 내지 218)은 등록을 허용하기 위하여 각각의 노드가 디바이스(60a)가 개인 사용자 키(sku)(예컨대, 공개 사용자 키(pku)에 대한 상대방)를 소유하고 있는지 검증하도록 인에이블할 수 있고, 인증 프로세스의 동작들(406 내지 418)은 적어도 2개의 형태의 인증의 첫번째(예컨대, 사용자 인증을 또한 포함할 수 있는 적어도 2개의 형태의 인증의 디바이스 인증)를 충족하기 위하여 각각의 노드가 디바이스(60a)가 개인 디바이스 서명 키(skd)(예컨대, 공개 디바이스 서명 키(pkd)에 대한 상대방)를 소유하고 있는지 검증하도록 인에이블할 수 있다. 예를 들어, 사용자 디바이스가 그것의 시드(s) 및/또는 그것의 EBT(B)를 재구성할 수 있게 하기 전에, APSP는 등록된 사용자가 그의 등록된 사용자 디바이스를 APSP로 (예컨대, 동작들(406 내지 418)에서(예컨대, 1차 인증)) 인증하고, 등록된 사용자가 자신의 생체인식 템플릿을 제공하여 사용자 자신을 APSP로 (예컨대, 동작들(422 내지 438)에서(예컨대, 2차 인증)) 인증하도록 요구하도록 구성될 수 있고, 이는 이중 인증의 형태일 수 있다. 그러나, 수신된 검증 확인(verj)이 노드(j)에 의해 부정적 검증을 나타내는 경우, 사용자 디바이스(60a)는 그것의 공개 키들(pku, pkd)이 그 특정 노드에 의해 수신, 저장, 및 검증되지 않았다고 결정할 수 있고, 이는 디바이스가 인증되지 않음을 나타낼 수 있고, 그럼으로써 사용자 디바이스(60a)는 그것의 시도의 이러한 부정적 검증을 제공한 적어도 각각의 노드에 대하여 동작들(404 내지 418)을 반복하거나 또는 디바이스(예컨대, 프로세스(200)에서) 재등록하도록 구성될 수 있다.
동작(418)에서 선택된 노드들(n) 중 충분한 수(예컨대, 수 m)의 노드들(j)에 대하여 사용자 디바이스(60a)에 의해 긍정적 검증이 등록되면, 프로세스(400)는 동작(420)으로 진행할 수 있고, 디바이스(60a)와의 임의의 적합한 사용자 생체인식 인증 상호작용을 수행함으로써 사용자(U)는 사용자 인증 생체인식(uab)을 (예컨대, 사용자 인증 생체인식 식별자 정보 또는 사용자 인증 생체인식 정보(420d)로서) 사용자 디바이스(60a)에 제시할 수 있고, 이는 동작(422)에서 (예컨대, APS 애플리케이션(69)에 따라) 인증 생체인식 샘플("ABS")(b)을 생성하기 위한 이러한 인증 생체인식(uab)을 캡처하도록 구성될 수 있다. 예를 들어, 도 7t의 스크린(700t)에 의해 도시되는 바와 같이, APS 디바이스(60a)의 UI는 캡처를 위하여 사용자가 어떻게 사용자 인증 생체인식(uab)을 사용자 디바이스(60a)에게 제시해야 하는지에 관한 명령어들을 제시할 수 있다. 예를 들어, 도 7c 내지 도 7e의 하나 이상의 스크린들(700c 내지 700e)에 의해 도시된 바와 유사하게, 사용자의 얼굴(미도시)이 디바이스 카메라 센서의 시선에 있는 동안, 디바이스(60a)는 사용자에게 좌측을 보고, 이어서 결국 카메라를 바로 보고, 이어서 결국 우측을 보게 (예컨대, 도 7t에 도시된 바와 같이) 지시할 수 있다. 이는 디바이스(60a)가 회전하는 사용자의 얼굴의 비디오 또는 사진 시퀀스의 형태로 사용자 인증 생체인식(uab)을 캡처하도록 할 수 있다. 이는 사용자의 "활성" 검출을 가능하게 할 수 있다(예컨대, 생체인식이 캡처되는 동안, 한쪽 눈을 윙크한 뒤 다른쪽 눈을 윙크하거나, 또는 미소지은 뒤 찌푸리거나, 또는 단어 또는 어구를 말하게 하는 등과 같이, 사용자가 임의의 기타 적합한 행동을 수행하도록 지시할 수 있다). 이는 본의 아닌 사용자의 생체인식을 위조 및/또는 캡처하는 것을 방지하도록 도울 수 있다. 사용자가 자신을 임의의 적합한 방식(들)으로 등록 프로세스(200)의 동작(220)에서 사용자 디바이스에 제시하는 것에 응답하여 사용자의 임의의 적합한 등록 생체인식(ueb)이 임의의 적합한 방식(들)으로 사용자 디바이스(60a)의 임의의 적합한 센서(들)에 의해 동작(222)에서 캡처될 수 있는 것과 같이, (예컨대, APS 사용자 디바이스의 APS 애플리케이션에 따라) 사용자의 임의의 적합한 인증 생체인식(uab)이 사용자가 자신을 임의의 적합한 방식(들)으로 인증 프로세스(400)의 동작(420)에서 사용자 디바이스에 제시하는 것에 응답하여 임의의 적합한 방식(들)으로 사용자 디바이스(60a)의 임의의 적합한 센서(들)에 의해 동작(422)에서 캡처될 수 있다. 또한, 임의의 적합한 EBT(B)가 등록 프로세스(200)의 동작(222)에서 임의의 적합한 등록 생체인식(ueb)을 이용하여 임의의 적합한 방식(들)으로 생성될 수 있는 것과 같이, (예컨대, APS 사용자 디바이스의 APS 애플리케이션에 따라) 임의의 적합한 ABS(b)가 인증 프로세스(400)의 동작(422)에서 임의의 적합한 인증 생체인식(uab)을 이용하여 임의의 적합한 방식(들)으로 생성될 수 있다. 언급된 바와 같이, 동작(222)은 임의의 적합한 신경망(들)을 이용하여 EBT(B)를 정의하기 위한 캡처된 ueb를 프로세싱할 수 있다. 유사하게, 동작(422)은 임의의 적합한 신경망(들)을 이용하여 ABS(b)를 정의하기 위한 캡처된 uab를 프로세싱할 수 있고, 여기서 동작(422)에 사용된 이러한 신경망(들)은 동작(222)에 사용된 신경망(들)과 동일하거나 또는 상이할 수 있다. 그러나, 등록 생체인식이 캡처되는 방식은 임의의 적합한 방법(들)으로 인증 생체인식이 캡처되는 방식과 상이할 수 있다(예컨대, 캡처되는 정보의 양(예컨대, 캡처의 품질 또는 해상도)이 EBT에 대한 것보다 ABS에 대한 것이 더 작을 수 있음). 예를 들어, 이는 인증 동안 고품질의 등록 템플릿 및, 예컨대, 더 적은 잘못된 거절 및 잘못된 수락을 보장하도록 도울 수 있고, 차이점들은 캡처된 데이터의 양, 사용자로부터의 가능한 추가적/상이한 협업, 가능한 품질 체크 및 데이터의 반복된 캡처, 다른 프로세싱 기술들 등을 포함할 수 있지만, 이에 한정되지 않는다.
동작(424)에서 (동작(406)에서 이전에 하지 않은 경우), 사용자 디바이스(60a)는 (예컨대, APS 애플리케이션(69)에 따라) 저장된 고유 회로 식별자(Cid) 및 노드들(n)의 그것의 연관된 세트를 (예컨대, 디바이스(60a) 상의 목록에 (예컨대, 로컬 영구 저장장치에서) 등록 프로세스(200)의 동작(238) 및/또는 인증 프로세스(400)의 이전 반복의 동작(452)에서 저장될 수 있는 바와 같이) 식별할 수 있다. 이는 모든 이용가능한 회로 식별자들로부터 랜덤으로 행해질 수 있다. 이어서 식별된 고유 회로 식별자(Cid)는 데이터(424d)의 적어도 일부분으로서 그 고유 회로 식별자(Cid)와 연관된 노드들(n)의 각각의 노드(j)에 전송될 수 있고 이어서 그 식별 및 공유된 고유 회로 식별자(Cid)는 디바이스(60a)로부터 제거될 수 있다(예컨대, 그 식별 및 공유된 고유 회로 식별자(Cid)는 저장된 목록으로부터 제거되어 동일한 회로 식별자(Cid)가 인증 프로세스(400)의 동작(424)의 다른 반복에서 다른 인증 시도에 다시 사용되도록 선택되지 않을 수 있도록 할 수 있다).
동작(426)에서, 노드들(701, …, n)의 각각의 노드(j)는 (예컨대, 데이터(424d)로서) 식별 및 공유된 고유 회로 식별자(Cid)를 수신하고, 그 고유 회로 식별자(Cid)의 각자의 인증 회로 정보(ACICid_j)를 이전에 그 노드(j) 상에 수신되고 저장된 바와 같이 (예컨대, 등록 프로세스(200)의 동작들(228/234) 및/또는 인증 프로세스(400)의 이전 반복의 동작(450)에서 이전에 노드의 메모리(73) 내에 수신 및 저장된 바와 같이) 식별하고, 이어서 그 식별된 인증 회로 정보(ACICid_j)의 소정 구성요소들을 데이터(426d)의 적어도 일부분으로서 사용자 디바이스(60a)로 반환할 수 있고, 여기서 이러한 구성요소들은 (예컨대, 노드 애플리케이션(79)에 따라) 암호화된 CIT(
Figure 112021073466711-pct00044
j) 및 암호화된 키(
Figure 112021073466711-pct00045
j)를 포함할 수 있다.
동작(428)에서, 사용자 디바이스(60a)는 암호화된 CIT(
Figure 112021073466711-pct00046
j) 및 암호화된 키(
Figure 112021073466711-pct00047
j)를 포함하는 데이터(426d)를 노드들(n)의 하나 또는 각각의 노드(j)로부터 수신하고 이어서 (예컨대, APS 애플리케이션(69)에 따라) 디바이스의 개인 암호화 키(ske)를 이용하여 각각의 노드(j)로부터 수신된 바와 같이 암호화된 키(
Figure 112021073466711-pct00048
j)를 복호화함으로써 내부 키(kj)를 획득할 수 있다.
동작(430)에서, 사용자 디바이스(60a)는 (예컨대, APS 애플리케이션(69)에 따라) 획득된 내부 키(kj)를 이용하여 각각의 노드(j)로부터 수신된 바와 같이 암호화된 CIT(
Figure 112021073466711-pct00049
j)를 복호화함으로써 CIT(Kj)를 획득할 수 있다.
동작(432)에서, 획득된 CIT(Kj)의 서브세트는 (예컨대, APS 애플리케이션(69)에 따라) ABS(b)를 나타낼 수 있는 제한된 CIT(K'j)를 정의하도록 선택될 수 있다. 이는 제한된 CIT(K'j)가 ABS(b)의 인스턴스 생성이 될 수 있게 할 수 있다. CIT(Kj)는 입력 키들을 입력 값들에 연결하도록 동작하는 테이블일 수 있는 반면, 동작(432)은 ABS(b)의 각각의 비트에 기초하여 CIT(Kj)의 모든 입력 라벨들로부터 각각의 입력 라벨의 절반(예컨대, 0 비트 또는 1 비트)을 제거함으로써 CIT(Kj)를 제한 또는 조정함으로써 CIT(K'j)를 정의할 수 있다. 사용자 디바이스는 회로에 대한 입력을 선택 및/또는 제한할 수 있다(예컨대, 입력을 분할). 이는 사용자 디바이스(60a)가 회로(Cj)를 평가할 때 노드(70)가 ABS(b)를 검색하거나, 또는 상이한 입력에 의해 ABS(b)를 대체하지 않고, 회로(Cj)에 대한 입력으로서 노드(70)에 의한 입력에 대하여 ABS(b)를 보호(예컨대, 암호화 또는 다른 방식으로 보호)하도록 할 수 있다. 동작(432)은 또한 사용자 디바이스(60a)가 각각의 제한된 CIT(K'j)를 그것의 각자의 노드(j)에 데이터(432d)의 적어도 일부분으로 전송하는 것을 포함할 수 있다.
동작(434)에서, 노드들(701, …, n)의 각각의 노드(j)는 (예컨대, 데이터(432d)로서) 제한된 CIT(K'j)를 수신하고 이어서 그 제한된 CIT(K'j)를 특정 인증 회로 정보(ACICid_j)의 제한된 CIT(T'j)와 함께 이전에 수신되어 그 노드(j)에 저장된 바와 같이 (예컨대, 등록 프로세스(200)의 동작들(228/234)에서 이전에 수신 및/또는 인증 프로세스(400)의 이전 반복의 동작(450)에서 노드의 메모리(73)에 저장된 바와 같이) 이용하여 특정 인증 회로 정보(ACICid_j)의 회로(Cj)를 (예컨대, 등록 프로세스(200)의 동작들(228/234)에서 이전에 수신 및/또는 인증 프로세스(400)의 이전 반복의 동작(450)에서 노드의 메모리(73)에 저장된 바와 같이) 평가할 수 있다. 언급된 바와 같이, 회로(Cj)는 그것의 매칭 함수 mf(βy, βz)의 2개의 입력(βy, βz) 사이의 근접도 또는 거리(d), 예컨대, βy로서 EBT(B)와 βz로서 ABS(b) 사이의 거리를 연산하고, 이어서 연산된 거리(d)를 임계치(τ)와 비교하도록 구성될 수 있지만, SMPC 프로토콜을 따르기 위하여 제한된 CIT(K'j) 및 제한된 CIT(K'j)를 회로(Cj)에 대한 각자의 입력들로서 사용한다. d < τ일 때 함수는 1을 출력하도록 구성될 수 있지만, 가블드 회로는 d < τ일 때 유효 성공 키(ckj)로서 설정될 수 있는 암호화된 버전의 "1"일 수 있는 성공 출력을 출력하도록 구성될 수 있고, d ≥ τ일 때 함수는 0을 출력하도록 구성될 수 있지만, 가블드 회로는 d ≥ τ일 때 널(예컨대, 0의 스트링)로서 설정될 수 있는 암호화된 버전의 "0"일 수 있는 실패 출력을 출력하도록 구성될 수 있다. 따라서, 본 명세서에 기재된 바와 같이, 가블드 회로 프로토콜의 보안 속성들 때문에, APSP의 SMPC 프로토콜은 ABS(b)가 EBT(B)에 가까운 (예컨대, 임계 거리 내에 있는) 경우에만 유효 성공 키(ckj)를 출력하도록 가블드 회로를 구성할 수 있다.
동작(436)에서, 노드들(701, …, n)의 각각의 노드(j)는 동작(434)의 그것의 평가가 성공 출력 또는 실패 출력을 초래하였는지 결정할 수 있다. 실패 출력이 결정된 경우, 노드는 사용자 디바이스(60a)에 의해 동작들(420 내지 432) 중 하나, 일부, 또는 각각의 동작을 다른 저장된 회로 식별자(Cid)와 반복하거나 또는 임의의 기타 적합한 동작들을 수행하는 데 사용될 수 있는 인증 실패 응답(미도시)을 사용자 디바이스(60a)에 반환할 수 있다. 그러나, 성공 출력이 결정되는 경우, 유효 성공 키(ckj)는 노드에 노출될 수 있고 노드는, 단독으로 암호화된 시드 공유([
Figure 112021073466711-pct00050
]j)를 나타내기 위하여 이전에 수신되고 그 노드(j) 상에 저장된 바와 같이(예컨대, 이전에 등록 프로세스(200)의 동작들(228/234)에서 수신 및/또는 인증 프로세스(400)의 이전 반복의 동작(450)에서 노드의 메모리(73)에 저장된 바와 같이) 그 유효 성공 키(ckj)를 동작(436)에서 사용하여 특정 인증 회로 정보(ACICid_j)의 이중으로 암호화된 시드 공유([
Figure 112021073466711-pct00051
]j)를 복호화할 수 있다. 그러나, 성공 출력이 결정되는 경우, 유효 성공 키(ckj)는 노드에 노출될 수 있고 노드는, 단독으로 암호화된 EBT 공유([
Figure 112021073466711-pct00052
]j)를 나타내기 위하여 이전에 수신되고 그 노드(j) 상에 저장된 바와 같이(예컨대, 이전에 등록 프로세스(200)의 동작들(228/234)에서 수신 및/또는 인증 프로세스(400)의 이전 반복의 동작(450)에서 노드의 메모리(73)에 저장된 바와 같이) 그 유효 성공 키(ckj)를 동작(436)에서 사용하여 특정 인증 회로 정보(ACICid_j)의 이중으로 암호화된 EBT 공유([
Figure 112021073466711-pct00053
]j)를 복호화할 수 있다. 이어서, 노드는 노출된 단독으로 암호화된 시드 공유([
Figure 112021073466711-pct00054
]j) 및 노출된 단독으로 암호화된 EBT 공유([
Figure 112021073466711-pct00055
]j)를 데이터(436d)의 적어도 일부분으로서 사용자 디바이스(60a)에 전송할 수 있다. 따라서, 유효 성공 키를 노출시키기 위하여 가블드 회로로부터 만들어진 성공 평가를 획득하는 것은 노드 상에서 1층의 시드 공유 복호화 및/또는 1층의 EBT 공유 복호화를 인에이블할 수 있다(예컨대, 사용자 디바이스 상에서 인에이블되지 않을 층). 동작(436)에서, 노드는 이어서 소정 보안 고려사항들을 위태롭게 하는 것을 회피하기 위하여 방금 사용된 특정 회로 식별자(Cid)에 대한 그것의 특정 인증 회로 정보(ACICid_j)를 삭제할 수 있으며, 그렇게 하지 않는 한 노드 상의 나머지 인증 회로 정보(ACICid_j)만을 삭제할 것이고, 달리 재등록이 필요할 수 있다.
동작(438)에서, 사용자 디바이스(60a)는 단독으로 암호화된 시드 공유([
Figure 112021073466711-pct00056
]j) 및 단독으로 암호화된 EBT 공유([
Figure 112021073466711-pct00057
]j)를 각각의 노드(j)로부터 수신된 데이터(436d)로부터 수신하고, 노드들(n)의 각각의 노드(j)로부터의 각각의 단독으로 암호화된 시드 공유([
Figure 112021073466711-pct00058
]j)를 획득된 내부 키(kj)로 복호화함으로써 각각의 시드 공유([s]j)를 획득하고, 노드들(n)의 각각의 노드(j)로부터의 각각의 단독으로 암호화된 EBT 공유([
Figure 112021073466711-pct00059
]j)를 획득된 내부 키(kj)로 복호화함으로써 각각의 EBT 공유([B]j)를 획득할 수 있다. 따라서, 단지 내부 키(kj)가 사용자 디바이스(60a)에 의해 액세스가능하도록 인에이블함으로써, 다른 층의 시드 공유 복호화 및/또는 다른 층의 EBT 공유 복호화가 디바이스(60a) 상에서 인에이블될 수 있다(예컨대, 노드 상에서 인이에블되지 않을 층).
동작(440)에서, 사용자 디바이스(60a)는 동작(438)에서 (예컨대, APSP가 (m, n) 임계 비밀 공유 기법을 이용할 때) 획득된 적어도 m개의 시드 공유들([s]j)을 조합함으로써 시드(s)를 재구성하고, 동작(438)에서 (예컨대, APSP가 (m, n) 임계 비밀 공유 기법을 이용할 때) 획득된 적어도 m개의 EBT 공유들([B]j)을 조합함으로써 EBT(B)를 재구성할 수 있고, 이는 샤미르의 비밀 공유, 블라인드 서명 프로토콜, 임계치 조합 등을 포함하지만 이에 한정되지 않는 임의의 적합한 비밀 공유 기술(들)/프로토콜(들)을 이용하고, 이어서 임의의 적합한 보안 동작(SO)을 수행하기 위하여 재구성된 시드(s)를 이용하여, 예컨대 APSP에 등록될 수 있는 서드 파티 서비스의 비밀 키의 도출을 위하여 (예컨대, 도 5 및 도 6에 대하여 기재된 바와 같이) 재구성된 시드(s)를 이용하여 수행될 수 있다. m개 미만의 시드 공유들([s]j)이 동작(438)에서 획득된 경우(예컨대, m개 미만의 평가들이 동작(434)에서 성공한 경우), 획득된 시드 공유들의 수는 사용자 디바이스가 그것의 시드를 재구성하게 하는 데 적절하지 않을 수 있다. 유사하게, m개 미만의 EBT 공유들([B]j)이 동작(438)에서 획득되는 경우(예컨대, m개 미만의 평가들이 동작(434)에서 성공한 경우), 획득된 EBT 공유들의 수는 사용자 디바이스가 그것의 EBT를 재구성하게 하는 데 적절하지 않을 수 있고, 예를 들어, 프로세스(400)는 동작(420)부터 재시작할 수 있다. 도시된 바와 같이, 도 7u의 스크린(700u)은 사용자 디바이스(60a)의 애플리케이션(69)에 의해 이러한 인증 동안(예컨대, 동작(422) 후) 제공될 수 있지만, 이러한 인증이 완료되고 컨펌되면(예컨대, 동작(440) 후) 도 7w의 스크린(700w)이 제시될 수 있고, 이 때 프로세스(400)는 동작들(442/444)로 진행할 수 있다. 재구성된 EBT(B)는 보안 동작(SO)을 수행하는 데 사용되지 않을 수 있지만, 재구성된 EBT(B)는 (예컨대, 동작들(424 내지 440)에서 사용된 고유 회로 식별자(Cid)에 대한 인증 회로 정보를 (예컨대, 동작들(446 내지 452)에 대하여 기재된 바와 같이) 적어도 대체하기 위하여) 인증 회로 정보(ACI)의 하나 이상의 새로운 세트들을 생성하는 데 사용될 수 있다. 또한, EBT(B)가 동작(440)에서 재구성 또는 복구되면, 그 EBT(B)는 APSP에 의해 동작(422)에서 생성된 ABS(b)와 성공적으로 매칭된다고 결정되어서, APS 사용자 디바이스(60a)는 그 EBT(B) 및 그 ABS(b)를 이용하여 (예컨대, 이러한 민감한 생체인식 데이터를 임의의 원격 개체들(예컨대, APS 서브시스템(100) 등)과 공유해야 할 필요 없이) 캡처된 ueb를 프로세싱하기 위하여 동작(222)에서 사용될 수 있는 임의의 적합한 신경망(들)의 임의의 적합한 모델(들), 캡처된 uab를 프로세싱하기 위하여 동작(422)에 사용될 수 있는 임의의 적합한 신경망(들)의 임의의 적합한 모델(들) 등을 포함하지만, 이에 한정되지 않는, APS 사용자 디바이스(60a) 상의 임의의 적합한 모델(들)을 개선(예컨대, 트레이닝 또는 다른 방식으로 조정) 하도록 구성될 수 있다.
동작(442)에서, 사용자(U)는 사용자 그리고 인증된 APS 사용자 디바이스(60a)(예컨대, APSP(예컨대, 프로세스(400)의 동작들(402 내지 440)을 통해)로 인증된 디바이스) 상에서 실행될 수 있는 APS 애플리케이션(69)으로 임의의 적합한 생체인식 업데이트 상호작용(bui)(442d)을 수행함으로써 생체인식 업데이트를 개시할 수 있다. 도시되지 않았지만, APS 디바이스(60a)의 UI는 인증된 사용자의 EBT(B)를 업데이트하기 위한 요청과 연관된 선택가능한 옵션들("[예]" 및 "[아니오]")을 (예컨대, 동작(440)에서 재구성된 바와 같이) 제시할 수 있고, 사용자는 프로세스(400)를 진행하기 위하여 그것의 생체인식 업데이트 상호작용(bui)으로 옵션들 중 하나를 선택하도록 인에이블될 수 있다. 사용자가 EBT(B)를 업데이트하도록 고른 경우, 동작(444)은 디바이스가 사용자가 (예컨대, 동작들(220, 222)과 유사하게) 새로운 EBT(B)를 정의하기 위하여 새로운 사용자 등록 생체인식을 캡처하도록 선택하게 하는 것을 포함할 수 있고 그 새로운 EBT(B)를 정의한 후, 모든 나머지 고유 회로 식별자들(Cids)이 이제 새로운 EBT(B)와 연관되지 않을 수 있기 때문에 동작(444)은 그것들을 디바이스(60a)로부터 삭제할 수 있고, 이어서 동작(444)은 그 새로운 EBT(B)과 함께 동작(446)으로 진행할 수 있다. 다른 예로서, 사용자가 EBT(B)를 업데이트하도록 고른 경우, 동작(444)은 디바이스가 사용자가 (예컨대, 동작(422)에서 캡처된 바와 같은) 기존 ABS(b)를 이용하여 기존 EBT(B)를 대체 또는 변경하도록 고르게 하는 것을 포함할 수 있고 ABS(b)를 이용하여 그 새로운 EBT(B)를 정의한 후, 모든 나머지 고유 회로 식별자들(Cids)이 이제 새로운 EBT(B)와 연관되지 않을 수 있기 때문에 동작(444)은 그것들을 디바이스(60a)로부터 삭제할 수 있고 이어서 동작(444)은 그 새로운 EBT(B)과 함께 동작(446)으로 진행할 수 있다. 다른 예로서, 사용자가 EBT(B)를 업데이트하지 않도록 고른 경우, 동작(444)은 그 동일한 EBT(B)와 함께 동작(446)으로 진행할 수 있다. 이러한 잠재적 템플릿 업데이트는 APSP가 엄격한 임계치를 지키도록 할 수 있는데, 그 이유는 템플릿이 노화, 성장, 수염, 상이한 이발 등과 같은 시간 경과에 따른 사용자 변동을 나타낼 수 있기 때문이다.
동작(446)에서, 사용자 디바이스(60a)는 이어서 (예컨대, 동작(440)에서 재구성되는 바와 같이) 시드(s) 상에 인증 회로 정보(ACI)의 하나 이상의 새로운 세트들을 생성할 수 있고, 보안 멀티-파티 연산을 이용하여 (예컨대, 애플리케이션(69)에 따라) 선택된 노드들(n)에 대하여 EBT(B)를 생성할 수 있다(예컨대, 어떠한 EBT(B)가 동작(444)으로부터 전달될 수 있든지, 변하지 않을 수 있거나, ABS(b)에 의해 수정될 수 있거나, ABS(b)에 의해 대체될 수 있거나, 또는 완전히 새로 정의된 EBT(B)가 될 수 있다). 동작(446)은 프로세스(200)의 동작(224)과 유사하게 수행될 수 있지만, 잠재적으로 EBT(B)는 상이하다.
동작(448)에서, 각각의 새로운 고유 회로 식별자(Cid)에 대한 인증 회로 정보(ACICid_1, …, n)의 각각의 생성된 새로운 세트는, 향후에 등록된 사용자 및 디바이스에 의한 추가 인증 시도들을 인에이블하기 위하여 발행 키들(pku, pkd)과 함께 인증 회로 정보(ACICid_1, …, n)의 각각의 새로운 세트를 저장하기 위하여 각자의 노드들(701, …, n)에 일부 데이터(448d)로서 전송될 수 있다. 예를 들어, 각각의 노드(j)는 각각의 새로운 고유 회로 식별자(Cid)에 대한 새로운 인증 회로 정보(ACICid_j)(예컨대, 각각의 새로운 고유 회로 식별자(Cid)의 회로(Cj), 각각의 새로운 고유 회로 식별자(Cid)의 암호화된 키(
Figure 112021073466711-pct00060
j), 각각의 새로운 고유 회로 식별자(Cid)의 제한된 CIT(T'j), 각각의 새로운 고유 회로 식별자(Cid)의 암호화된 CIT(
Figure 112021073466711-pct00061
j), 각각의 새로운 고유 회로 식별자(Cid)의 이중으로 암호화된 시드 공유([
Figure 112021073466711-pct00062
]j), 각각의 새로운 고유 회로 식별자(Cid)의 이중으로 암호화된 EBT 공유([
Figure 112021073466711-pct00063
]j), 및 각각의 새로운 고유 회로 식별자(Cid)의 서명들(SVEj))를 전송될 수 있다.
동작(450)에서, 노드들(701, …, n)의 각각의 노드(j)는 (예컨대, 데이터(448d)로서) 각각의 새로운 고유 회로 식별자(Cid)에 대한 그것의 각자의 새로운 인증 회로 정보(ACICid_j)를 수신할 수 있고, 수신된 새로운 인증 회로 정보(ACICid_j)를 사용자 디바이스(60a)의 저장된 공개 키들(pku, pkd)과 함께 노드에 저장할 수 있고, 노드는 노드가 각각의 새로운 특정 고유 회로 식별자(Cid)에 대한 인증 회로 정보(ACICid_j)를 사용자 디바이스(60a)의 저장된 공개 키들과 함께 완전히 등록했음을 나타낼 수 있는 저장 컨펌 확인(cnfCID_j)을 생성할 수 있고, 이어서 노드는 그 저장 컨펌 확인(cnfCID_j)을 데이터(450d)의 적어도 일부분으로서 사용자 디바이스(60a)로 (예컨대, 그 특정 노드(70)의 애플리케이션(79)에 따라) 전송할 수 있다.
동작(452)에서, 사용자 디바이스(60a)는 (예컨대, 사용자 디바이스(60a)의 애플리케이션(69)에 따라) 각각의 새로운 고유 회로 식별자(Cid)에 대하여 노드들(n)의 하나 또는 각각의 노드(j)로부터의 데이터(450d)의 저장 컨펌 확인(cnfCID_j)을 수신 및 등록할 수 있다. 수신된 저장 컨펌 확인(cnfCID_j)이 특정 새로운 고유 회로 식별자(Cid)에 대하여 노드(j)에 의한 긍정적 저장을 나타내는 경우, 사용자 디바이스(60a)는 그것의 새로운 인증 회로 정보(ACICid_j)가 노드(j)에 의해 그것의 공개 키들(pku, pkd)에 대하여 저장되었다고 결정할 수 있고, 그럼으로써 사용자 디바이스(60a)는 프로세스(400)를 종료하도록 인에이블될 수 있다. 프로세스(400)를 종료하는 것은 민감한 인증 정보(SAI)가 디바이스(60a) 상에 남아 있지 않음을 컨펌하는 것을 포함할 수 있다. 이는 각각의 적용가능한 새로운 회로 식별자(Cid)에 대한 및/또는 전체 인증 프로세스에 대한 각각의 적용가능한 노드(j)의 정보(SAI)의 다음 항목들 중 임의의 것 또는 각각을 삭제하는 것을 포함할 수 있다: 인증 프로세스의 사용자 인증 생체인식(uab), 인증 프로세스의 재구성된 시드(s), 인증 프로세스의 재구성된 또는 새로운 EBT(B), 인증 프로세스의 ABS(b), (개인 사용자 키(sku)가 보통 인증 프로세스 동안 재구성되지 않을지라도) 개인 사용자 키(sku), 각각의 새로운 고유 회로 식별자(Cid)의 n-노드들의 각각의 회로(Cj), 각각의 새로운 고유 회로 식별자(Cid)의 n-노드들의 각각의 암호화된 CIT(
Figure 112021073466711-pct00064
j), 각각의 새로운 고유 회로 식별자(Cid)의 n-노드들의 각각의 제한된 CIT(T'j), 각각의 새로운 고유 회로 식별자(Cid)의 n-노드들의 각각의 암호화된 키(
Figure 112021073466711-pct00065
j ), 각각의 새로운 고유 회로 식별자(Cid)의 n-노드들의 각각의 이중으로 암호화된 시드 공유([
Figure 112021073466711-pct00066
]j), 각각의 새로운 고유 회로 식별자(Cid)의 n-노드들의 각각의 이중으로 암호화된 EBT 공유([
Figure 112021073466711-pct00067
]j) 및 각각의 새로운 고유 회로 식별자(Cid)의 n-노드들의 각각의 서명들(SVEj). 이 인증 프로세스 동안 사용자 디바이스(60a)로부터 민감한 인증 정보(SAI)(예컨대, 동작(452)에서) 및 민감한 새로운 회로 생성 정보(SCGI)(예컨대, 동작(446)의 동작(328)에서 또는 달리(예컨대, 동작(452))에서)의 이 삭제는 디바이스(60a)가 이 인증 프로세스 후에 다소 위태로워진 경우 이러한 정보가 디바이스(60a)에 의해 액세스되는 것을 방지할 수 있다. 또한, 소정 정보는, 삭제 전이라도, 결코 사용자 디바이스(60a)의 메모리(63)의 소정 부분들에 제공되지 않을 수 있다. 예를 들어, 사용자 디바이스(60a)의 클라이언트 APS 애플리케이션(69a)의 APSP SDK는 적어도 재구성된 시드(s) 및 재구성된 EBT(B) 및/또는 APSP SDK 내부의 SAI 및/또는 SCGI의 임의의 기타 적합한 데이터를 유지할 수 있고, 이러한 데이터가 APS 애플리케이션(69a)의 다른 부분들 및/또는 디바이스(60a)의 다른 애플리케이션들에 제공되도록 허용하지 않는다. APSP SDK는 이러한 데이터를 디바이스 메모리(63)의 영구 저장장치(예컨대, 메모리(63)의 플래시 메모리 부분)에 절대 저장하지 않고, 디바이스 휘발성 메모리 또는 디바이스 메모리(63)의 다른 부분(예컨대, 메모리(63)의 RAM 부분)에만 저장하도록 구성될 수 있고, 값들이 더 이상 인증 프로세스에 필요하지 않으면 이러한 데이터를 0으로 덮어쓰거나 또는 다른 방식으로 이러한 데이터를 삭제하도록 구성될 수 있다(예컨대, 동작(446) 및/또는 동작(452)의 동작(328)). 인증 프로세스(400)를 종료하는 것은 또한 (예컨대, 인증 프로세스(400)의 이후 반복의 동작(406) 및/또는 동작(424)에서) 나중에 검색을 위하여, 각각의 새로운 고유 회로 식별자(Cid) 및 그것의 연관된 노드들(1, … n)을 나타내는 데이터를 (예컨대, 데이터(69d)의 일부분으로서(예컨대, 영구 저장장치(예컨대, 메모리(63)의 플래시 메모리 부분)에서)) 인증된 사용자 디바이스(60a) 상에 저장하는 것을 포함할 수 있다. 프로세스(400)에 의해 사용될 수 있는 키들 중 일부(예컨대, 공개 사용자 키(pku)(그러나 잠재적으로 삭제된 민감한 등록 정보(SAI)의 개인 사용자 키(sku) 아님), 개인 디바이스 서명 키(skd)(개인 디바이스 서명 키(skd)를 이용하여 연산될 수 있는 공개 디바이스 서명 키(pkd)가 있거나 또는 없음), 및 개인 암호화 키(ske)(개인 암호화 키(ske)를 이용하여 연산될 수 있는 공개 암호화 키(pke)가 있거나 또는 없음))는 또한 인증 프로세스(400)를 종료하기 전에 사용자 디바이스(60a) 상에 (예컨대, 데이터(69d)의 일부분으로서(예컨대, 영구 저장장치(예컨대, 메모리(63)의 플래시 메모리 부분)에)) 저장될 수 있다. 그러나, 수신된 저장 컨펌 확인(cnfCID_j)이 특정 새로운 고유 회로 식별자(Cid)에 대하여 노드(j)에 의해 부정적(예컨대, 실패) 저장을 나타내는 경우, 사용자 디바이스(60a)는 그것의 새로운 인증 회로 정보(ACICid_j)가 노드(j)에 의해 그것의 공개 키들(pku, pkd)에 대하여 저장되지 않았을 수 있다고 결정할 수 있고, 사용자 디바이스(60a)는 이러한 부정적 컨펌 확인을 제공한 적어도 각각의 노드 및 각각의 고유 회로 식별자(Cid)에 대하여 동작들(444 내지 452) 중 하나 이상을 반복하도록 구성될 수 있다.
따라서, APSP는 가블드 회로 프로토콜의 신규 변형을 사용할 수 있는데, 생성기 역할을 하는 당자사(예컨대, 사용자 디바이스(60a))는 비록 상이한 시점이지만 (예컨대, 각각, (예컨대, 프로세스(200)의 동작들(222 내지 226)에서) APS 등록 동안 그리고 (예컨대, 프로세스(400)의 동작들(422 내지 432)에서) APS 인증 동안) 그것의 매칭 함수 mf(βy, βz)의 2개의 입력(예컨대, 2개의 생체인식 샘플(예컨대, βy로서 EBT(B) 및 βz로서 ABS(b)))을 가질 수 있고, 평가기의 역할을 하는 당사자(예컨대, 노드(j))는 실질적으로 입력을 갖지 않을 수 있다. 이로써 APSP는 통상적인 가블드 회로 프로토콜의 연산 및 통신 비용의 상당 부분을 통상적으로 차지하는 OT 단계들 중 하나, 일부, 또는 각각을 제거할 수 있다. 이를 달성하기 위하여, 평가기의 입력 라벨들은 네트워크 노드 상에 저장(예컨대, 암호화)될 수 있다. APS 인증 동안, 노드는 라벨들을 사용자의 디바이스에 반환할 수 있고, 이는 입력 라벨들을 복호화하고 (예컨대, 동작(432)에서) 제2 입력(예컨대, βz로서 ABS(b))에 기초하여 라벨들의 적절한 서브세트를 선택할 수 있다. 결과적으로, 이 시점에서, 노드는 인증의 출력을 연산하는 데 필요한 모든 정보(예컨대, 가블드 회로, 평가기의 입력, 및 생성기의 입력)를 수신할 수 있다. 따라서, 프로세스들(200 내지 400)의 APSP의 이러한 APS 등록 및 APS 인증은 흔한 SMPC 기술들보다 훨씬 빠를 수 있다. 예를 들어, 표준 가블드 회로에 비교하여, APSP는 OT를 제거할 수 있고, 이는 매우 연산적으로 요구될 수 있다. 일부 공통 가블드 회로 평가에서, 불확정 전송(oblivious transfer)이 CIT를 제한하는 데 사용될 수 있다. 그러나, APSP는 대신에 APS 사용자 디바이스 상의 각각의 CIT를 제한할 수 있다(예컨대, APS 사용자 디바이스(60a) 상의 동작(224)의 동작(318)에서 EBT(B)에 대하여 CIT(Tj)부터 CIT(T'j)까지(예컨대, APS 등록 프로세스(200) 동안) 그리고 APS 사용자 디바이스(60a) 상의 동작(432)에서 ABS(b)에 대하여 CIT(Kj)부터 CIT(K'j)까지(예컨대, 추후 APS 인증 프로세스(400) 동안)). 이러한 변경은 EBT(B)가 회로(Cj)를 구성하는 동안 APS 사용자 디바이스(60a)에 공지될 수 있지만, 이러한 입력이 미리 일부 공통 가블드 회로 평가 프로토콜들에서 공지되지 않는다는 사실로 인해 및/또는 APS 사용자 디바이스(60a) 및 그것의 사용자(U)를 인증하려고 시도하는 동안 ABS(b)가 APS 사용자 디바이스(60a)에 공지될 수 있다는 사실로 인해 가능하게 될 수 있다. 따라서, APSP는 (예컨대, 비록 프로토콜의 상이한 단계들이지만) OT 프로토콜을 실행하지 않고 APS 사용자 디바이스 상의 입력 테이블들(T 및 K)의 각각의 감소를 통해 OT를 직접 제거함으로써 속도 증가를 가능하게 할 수 있다.
임의의 특정 회로 식별자(Cid)에 대하여, 동작들(422 내지 440)의 반복에 사용된 매칭 함수, EBT, 및 ABS는 모든 노드들에 대하여 동일할 수 있지만, 각각의 노드 상의 회로(Cj)의 형태의 매칭 함수의 표현, 각각의 노드 상의 T'j로서의 EBT(B)의 표현, 및 동작들(422 내지 440)의 반복에 사용되는 각각의 노드 상의 Kj 또는 K'j로서의 ABS(b)의 표현은 각각의 노드에 대하여 상이하고 관련되지 않을 수 있다. 각각의 노드가 상이한 회로 및 상이한 입력들을 가짐에도 불구하고, 각각의 노드의 매칭 함수의 결과(예컨대, 성공 또는 실패)는 주어진 EBT, ABS, 및 회로 식별자(Cid)에 대하여 동일할 것이지만, 이러한 성공적인 결과에 의해 노출될 수 있는 성공 키는 노드들 사이에서 상이할 수 있다.
APS 인증 프로세스(400)는 CPBA(예컨대, 인증 회로 정보(ACI)(예컨대, 가블드 회로(들) 및 연관된 성공 키(들)))의 다양한 특징부들이 성공적인 인증 후에 리프레시되고, 회전되고, 롤링되거나, 또는 다른 방식으로 업데이트되도록 할 수 있다. EBT(B)가 동작(444)에서 업데이트될 수 있는지 여부에 따라, 동작(440)으로부터의 적어도 복구 및/또는 재구성된 시드(s)는 성공적인 인증의 결과로서 동작(446)에서 인증 회로 정보(ACI)의 하나 이상의 새로운 세트들의 생성을 인에이블하는 데 사용될 수 있고, 이는 이어서 성공적인 인증을 인에이블하는 데 방금 사용되었던 인증 회로 정보(ACI)의 오래된 세트를 (예컨대, 동작(450)에서) 대체하는 데 사용될 수 있다. 따라서, 또한 동일한 EBT(B)를 유지하지 않는 경우에도 안전하게 동일한 시드(s)를 유지하면서, CPBA는 업데이트될 수 있다. 따라서, APS 등록 단계의 종료에서(예컨대, 동작(238)에서) 또는 APS 인증 단계의 종료에서(예컨대, 동작(452)에서) APS 사용자 디바이스(60a)로부터 시드(s) 및 EBT(B)를 삭제한 후에, 새로운 APS 인증 단계는 인증 회로 정보(ACI)의 제1 세트의 가블드 회로(들)의 성공적인 평가를 통해 그 삭제된 시드(s) 및 EBT(B)의 복구 또는 재구성을 인에이블할 수 있고, 그 복구 또는 재구성된 시드(s) 및 EBT(B)는 이어서 향후 APS 인증 단계에 사용될 수 있는 인증 회로 정보(ACI)의 제2 세트를 생성하는 데 사용될 수 있다(예컨대, 인증 회로 정보(ACI)는 인증 회로 정보(ACI)가 보안 시드(s)의 복구 또는 재구성을 인에이블하는 것에 응답하여 하나 이상의 노드들 상에 롤링되거나 또는 다른 방식으로 업데이트될 수 있다). 이는 본질적으로 향후에 APSP가 자신에게 메시지를 전송하게 할 수 있다.
도 4a 내지 도 4c의 프로세스(400)에 도시된 동작들은 단지 예시적인 것이고, 기존의 동작들이 변경 또는 생략될 수 있고, 추가 동작들이 추가될 수 있고, 소정 동작들의 순서가 변경될 수 있다. 인증 프로세스(400)의 많은 부분이 더 무결절성이고 효율적인 사용자 경험을 제공하기 위하여 사용자(U)에게 투명하게 수행될 수 있다. 예를 들어, 동작들(404 내지 422)은 (예컨대, 도 7s의 스크린(700s)으로 제시되는 것과 도 7t의 스크린(700t)으로 제시되는 것 사이에서) 사용자(U)에 투명할 수 있다. 다른 예로서, 동작들(422 내지 440)은 (예컨대, 도 7u의 스크린(700u)으로 제시되는 것과 도 7w의 스크린(700w)으로 제시되는 것 사이에) 사용자(U)에 투명할 수 있다. 일부 실시예들에서, 인증의 성공이 사용자에게 개시되지 않을 수 있다. 일부 실시예들에서, 인증의 성공이 노드에 의해 사용자 디바이스와 공유되지 않을 수 있다.
언급된 바와 같이, 하나 이상의 노드들(70) 및/또는 저장소(80)는 APS 사용자 식별자를 APS 디바이스 식별자와 연관시키기 위한 (예컨대, 공개 사용자 키(pku)를 공개 디바이스 서명 키(pkd)와 함께 등록하기 위한, (예컨대, 제1 APS 사용자 디바이스(60a)의 사용자에 대한 APS 등록 프로세스의 동작(210) 및/또는 동작(236)에서)) 임의의 적합한 데이터를 저장하도록 동작할 수 있다. 그러나, 둘 이상의 상이한 APS 사용자 디바이스들(예컨대, 제1 APS 사용자 디바이스(60a) 및 제2 APS 사용자 디바이스(60b))이 단일 사용자에 대하여 APSP에 등록될 수 있다(예컨대, 단일 사용자 페르소나(예컨대, 단일 EBT(B))). 예를 들어, (예컨대, 동작(210)에서 하나 이상의 노드들(70) 상에 및/또는 동작(236)에서 저장소(80) 상에) 이 공개 키들을 함께 저장하고 (예컨대, 동작(216)에서) 제1 APS 사용자 디바이스(60a)가 공개 사용자 키(pku)에 대한 상대방으로서 개인 사용자 키(sku)에 대한 액세스를 갖고 있음을 검증하고 (예컨대, 동작들(222 내지 238)에서) 사용자(U)의 EBT(B)에 대한 인증 회로 정보(ACI)의 하나 이상의 세트들을 생성하고 하나 이상의 노드들(70) 상에 저장함으로써 사용자(U)의 공개 사용자 키(pku) 및 제1 APS 사용자 디바이스(60a)의 공개 디바이스 서명 키들(pkd)이 APSP로 등록될 수 있는, 프로세스(200)의 사용자(U) 및 제1 APS 사용자 디바이스(60a)의 등록 후에, 사용자(U) 및 제2 APS 사용자 디바이스(60b)는 APSP로 등록될 수 있다. 따라서, 제2 APS 사용자 디바이스(60b)는 이어서 제1 사용자 디바이스(60a)의 등록으로부터의 동일한 EBT(B) 및 제2 APS 사용자 디바이스(60b)를 이용하여 인증 동안 캡처될 수 있는 ABS(b)를 이용하여 APSP로 제2 APS 사용자 디바이스(60b)를 인증하도록 인에이블될 수 있다(예컨대, 동작들(402 내지 418)에서 제1 APS 사용자 디바이스(60a)에 의해서가 아니라 제2 APS 사용자 디바이스(60b)에 의해 수행될 때).
일부 실시예들에서, 상이한 암호화된 EBT 공유들은 상이한 노드들 상에 저장될 필요가 없지만, 대신에 하나의 특정 노드(예컨대, 더 선호되거나 또는 더 신뢰되는 노드) 상에 저장될 수 있다. 예를 들어, EBT(B)의 제1 이중으로 암호화된 EBT 공유는 제1 회로와 함께 사용되어 부분적으로 특정 회로 식별자(Cid)에 대하여 제1 ACI를 정의할 수 있고 그 제1 ACI는 제1 노드와 공유될 수 있지만, 동일한 EBT(B)의 제2 이중으로 암호화된 EBT 공유는 제2 회로와 함께 사용되어 부분적으로 동일한 특정 회로 식별자(Cid)에 대하여 제2 ACI를 정의할 수 있고 그 제2 ACI는 동일한 제1 노드와 공유될 수 있어서, APS 인증 단계 동안, APS 사용자 디바이스가 (예컨대, 동작(424)에서) 그 특정 회로 식별자(Cid)를 식별하고, 제1 ACI 및 제2 ACI의 각각에 하나씩, 2개의 상이한 제한된 CIT들(K')을 만들고, (예컨대, 동작(432)에서) 이 제1 및 제2 제한된 CIT들(K') 둘 모두를 동일한 제1 노드로 전송하도록 한다. 이어서, 제1 ACI의 제1 회로는 제1 이중으로 암호화된 EBT 공유를 복호화하는 데 사용될 수 있는 제1 성공 키를 나타내기 위한 제1 제한된 CIT(K')를 이용하여 성공적으로 평가될 수 있지만, 제2 ACI의 제2 회로는 제2 이중으로 암호화된 EBT 공유를 복호화하는 데 사용될 수 있는 제2 성공 키를 나타내기 위한 제2 제한된 CIT(K')를 이용하여 성공적으로 평가될 수 있어서, 제1 및 제2 단독으로 암호화된 EBT 공유들 둘 모두가 이어서 동일한 노드로부터 APS 사용자 디바이스로 전송될 수 있도록 한다. 따라서, 동작(308)은 단일 노드에 대하여 2회 이상 수행될 수 있다. 다른 예로서, 단일 성공 키가 단일 노드에 제공된 다수의 EBT 공유들을 암호화 및 복호화하는 데 사용될 수 있고, EBT(B)의 제1 이중으로 암호화된 EBT 공유 및 동일한 EBT(B)의 제2 이중으로 암호화된 EBT 공유의 각각은 회로와 함께 사용되어 부분적으로 특정 회로 식별자(Cid)에 대하여 ACI를 정의할 수 있고, 그 ACI는 노드와 공유될 수 있어서, APS 인증 단계 동안, APS 사용자 디바이스가 그 특정 회로 식별자(Cid)를 (예컨대, 동작(424)에서) 식별하고 ACI를 위하여 단일의 제한된 CIT(K')를 만들고, (예컨대, 동작(432)에서) 그 제한된 CIT(K')를 동일한 노드로 전송할 수 있도록 한다. 이어서, ACI의 회로는 제1 이중으로 암호화된 EBT 공유 및 제2 이중으로 암호화된 EBT 공유의 각각을 복호화하는 데 사용될 수 있는 성공 키를 나타내기 위한 제한된 CIT(K')를 이용하여 성공적으로 평가될 수 있어서, 제1 및 제2 단독으로 암호화된 EBT 공유들 둘 모두가 이어서 동일한 노드로부터 APS 사용자 디바이스로 다시 전송될 수 있도록 한다. 따라서, 동작(308)의 동작(324)은 단일 노드에 대하여 2회 이상 수행될 수 있는 반면, 동작(436)은 단일 동작(434)에 대하여 2회 이상 수행될 수 있다. 대안적으로, 일부 실시예들에서, EBT(B)는 암호화되고 하나 이상의 노드들 상에 저장되기 전에 (예컨대, 동작(304)에서) 둘 이상의 EBT 공유들로 분할될 필요가 없다. 대신에, 전체 EBT(B)는 내부 키 및 성공 키로 (예컨대, 동작(322)에서) 이중으로 암호화될 수 있고, 이중으로 암호화된 EBT는 인증 회로 정보(ACI)의 일부분으로서 하나 이상의 노드들 상에 저장될 수 있어서, 이러한 노드에 의한 성공적인 평가가 이중으로 암호화된 EBT를 노출된 성공 키로 복호화하고 단독으로 암호화된 EBT를 내부 키에 의해 암호화된 상태로 다시 APS 사용자 디바이스에 전송할 수 있도록 한다. 이는 EBT 공유들의 임의의 재구성의 필요성을 제거할 수 있지만, APS 사용자 디바이스가 단순히 노드에 의해 제공된 암호화된 EBT를 복호화함으로써 EBT를 복구할 수 있도록 할 수 있다. 대안적으로, 일부 실시예들에서, (예컨대, 동작(318)에서) 하나 이상의 노드들(70)에 의해 저장되고 사용될 인증 회로 정보(ACI)의 일부분을 정의할수 있는 EBT(B)를 이용하여 제한된 CIT(T')를 만들 CIT(T)의 서브세트를 선택하는 것 이외에, 이러한 EBT(B)는 임의의 형태로 임의의 노드들 상에 저장될 필요가 없다. 예를 들어, 이중으로 암호화된 EBT 또는 임의의 이중으로 암호화된 EBT 공유들 모두 어떠한 노드들 상에도 저장될 필요가 없어서, 노드가 이러한 이중으로 암호화된 EBT 또는 이중으로 암호화된 EBT 공유를 노출된 성공 키로 단독으로 암호화할 필요가 없고, APS 사용자 디바이스가 APS 인증 단계 동안 EBT를 복구 또는 재구성할 필요가 없다. 이는 APS 사용자 디바이스가 (예컨대, 동작(440)에서) APS 인증 단계 동안 등록된 EBT(예컨대, APS 인증 단계 동안 ABS가 평가될 수 있는 등록된 EBT)에 액세스하는 것을 방지할 수 있고, 이것이 APS 사용자 디바이스가 인증 회로 정보(ACI)의 하나 이상의 새로운 세트들을 생성하기 위하여 이러한 등록된 EBT를 이용하는 것을 방지할 수 있지만, 프로세스(400)는 (예컨대, 동작(446)에서) 인증 회로 정보(ACI)의 하나 이상의 새로운 세트들을 생성하기 위하여 이러한 새로운 EBT를 사용하기 전에 여전히 APS 사용자 디바이스가 등록된 EBT를 새로운 EBT로 (예컨대, 동작(444)에서) 대체하는 것을 허용할 수 있다.
일부 실시예들에서, 상이한 암호화된 시드 공유들은 상이한 노드들 상에 저장될 필요가 없지만, 대신에 하나의 특정 노드(예컨대, 더 선호되거나 또는 더 신뢰되는 노드) 상에 저장될 수 있다. 예를 들어,시드(s)의 제1 이중으로 암호화된 시드 공유는 제1 회로와 함께 사용되어 부분적으로 특정 회로 식별자(Cid)에 대하여 제1 ACI를 정의할 수 있고 그 제1 ACI는 제1 노드와 공유될 수 있지만, 동일한 시드(s)의 제2 이중으로 암호화된 시드 공유는 제2 회로와 함께 사용되어 부분적으로 동일한 특정 회로 식별자(Cid)에 대하여 제2 ACI를 정의할 수 있고 그 제2 ACI는 동일한 제1 노드와 공유될 수 있어서, APS 인증 단계 동안, APS 사용자 디바이스가 (예컨대, 동작(424)에서) 그 특정 회로 식별자(Cid)를 식별하고, 제1 ACI 및 제2 ACI의 각각에 하나씩, 2개의 상이한 제한된 CIT들(K')을 만들고, (예컨대, 동작(432)에서) 이 제1 및 제2 제한된 CIT들(K') 둘 모두를 동일한 제1 노드로 전송하도록 한다. 이어서, 제1 ACI의 제1 회로는 제1 이중으로 암호화된 시드 공유를 복호화하는 데 사용될 수 있는 제1 성공 키를 나타내기 위한 제1 제한된 CIT(K')를 이용하여 성공적으로 평가될 수 있지만, 제2 ACI의 제2 회로는 제2 이중으로 암호화된 시드 공유를 복호화하는 데 사용될 수 있는 제2 성공 키를 나타내기 위한 제2 제한된 CIT(K')를 이용하여 성공적으로 평가될 수 있어서, 제1 및 제2 단독으로 암호화된 시드 공유들 둘 모두가 이어서 동일한 노드로부터 APS 사용자 디바이스로 전송될수 있도록 한다. 따라서, 동작(308)은 단일 노드에 대하여 2회 이상 수행될 수 있다. 다른 예로서, 단일 성공 키가 단일 노드에 제공된 다수의 시드 공유들을 암호화 및 복호화하는 데 사용될 수 있고, 시드(s)의 제1 이중으로 암호화된 시드 공유 및 동일한 시드(s)의 제2 이중으로 암호화된 시드 공유의 각각은 회로와 함께 사용되어 부분적으로 특정 회로 식별자(Cid)에 대하여 ACI를 정의할 수 있고, 그 ACI는 노드와 공유될 수 있어서, APS 인증 단계 동안, APS 사용자 디바이스가 그 특정 회로 식별자(Cid)를 (예컨대, 동작(424)에서) 식별하고 ACI를 위하여 단일의 제한된 CIT(K')를 만들고, (예컨대, 동작(432)에서) 그 제한된 CIT(K')를 동일한 노드로 전송할 수 있도록 한다. 이어서, ACI의 회로는 제1 이중으로 암호화된 시드 공유 및 제2 이중으로 암호화된 시드 공유의 각각을 복호화하는 데 사용될 수 있는 성공 키를 나타내기 위한 제한된 CIT(K')를 이용하여 성공적으로 평가될 수 있어서, 제1 및 제2 단독으로 암호화된 시드 공유들 둘 모두가 이어서 동일한 노드로부터 APS 사용자 디바이스로 다시 전송될 수 있도록 한다. 따라서, 동작(308)의 동작(322)은 단일 노드에 대하여 2회 이상 수행될 수 있는 반면, 동작(436)은 단일 동작(434)에 대하여 2회 이상 수행될 수 있다. 대안적으로, 일부 실시예들에서, 시드(s)는 암호화되고 하나 이상의 노드들 상에 저장되기 전에 (예컨대, 동작(304)에서) 둘 이상의 시드 공유들로 분할될 필요가 없다. 대신에, 전체 시드(s)는 내부 키 및 성공 키로 (예컨대, 동작(322)에서) 이중으로 암호화될 수 있고, 이중으로 암호화된 시드는 인증 회로 정보(ACI)의 일부분으로서 하나 이상의 노드들 상에 저장될 수 있어서, 이러한 노드에 의한 성공적인 평가가 이중으로 암호화된 시드를 노출된 성공 키로 복호화하고 단독으로 암호화된 시드를 내부 키에 의해 암호화된 상태로 다시 APS 사용자 디바이스에 전송할 수 있도록 한다. 이는 시드 공유들의 임의의 재구성의 필요성을 제거할 수 있지만, APS 사용자 디바이스가 단순히 노드에 의해 제공된 암호화된 시드를 복호화함으로써 시드를 복구할 수 있도록 할 수 있다. 대안적으로, 일부 실시예들에서, 시드(s)는 임의의 노드들 상에 임의의 형태로 저장되거나 또는 APS 사용자 디바이스에서 하나 이상의 노드들로부터 수신된 임의의 데이터에 기초하여 APS 사용자 디바이스 상에 복구 또는 재구성될 필요가 없다. 대신에, (예컨대, 동작(434)에서) 하나 이상의 노드들 상의 임의의 성공적인 평가(들)를 통해 노출될 수 있는 임의의 성공 키(들)는 이어서 보안 동작(SO)을 수행하기 위하여 하나 이상의 노드들에 의해 사용될 수 있다. 단지 일례로서, (예컨대, APS 인증 단계를 위한 동작(434)에서) 하나 이상의 노드들에 의해 노출될 수 있는 성공 키(또는 성공 키들)는 상이한 작은 조각들의 비밀로서 사용될 수 있고, 이는 노드(들)에 의해 또는 임의의 기타 적합한 개체에 의해 직접 보안 동작을 수행하는 데 사용될 수 있다.
도 5 및 도 7j 내지 도 7p
도 5는 서드 파티 서비스를 등록된 APS 사용자 디바이스의 등록된 APS 사용자에 등록하기 위한 예시적인 프로세스(500)의 흐름도를 도시한다. 프로세스(500)는 사용자(U), 그것의 APS 사용자 디바이스(60a), TPS 사용자 디바이스(60c), TP 서브시스템(90), 노드들(70)의 선택(예컨대, 선택된 노드들(70)의 수(n)(예컨대, 노드들(70a, 70b, 70c, …, 70n))), 및 저장소(80)에 의해 구현되는 것으로 도시된다. 그러나, 프로세스(500)는 도 1의 시스템(1)의 임의의 기타 적합한 컴포넌트들 또는 서브시스템들 또는 개체들을 이용하거나 또는 다른 방식으로 구현될 수 있다. 프로세스(500)는 TP 서브시스템(90)의 서드 파티 서비스를 TPS 사용자 디바이스(60c)를 통해 등록된 APS 사용자 디바이스(60a) 및 그것의 등록된 APS 사용자(U)에 안전하고 효율적으로 등록하기 위한 무결절성 사용자 경험을 제공할 수 있다. 도 5의 프로세스(500)를 따라 TPS 사용자 디바이스(60c)를 통해 등록된 APS 사용자 디바이스(60a) 및 그것의 등록된 APS 사용자(U)에 TP 서브시스템(90)의 서드 파티 서비스를 등록하기 위하여 시스템(1)의 동작에 관한 하기 논의를 용이하게 하기 위하여, 도 1 내지 도 1f의 개략도들의 시스템(1)의 다양한 컴포넌트들, 및 (예컨대, 도 7j 내지 도 7p에 도시된 바와 같이) 이러한 프로세스 동안 등록된 APS 사용자 디바이스(60a) 또는 TPS 사용자 디바이스(60c)의 그래픽 사용자 인터페이스를 나타낼 수 있는 스크린들(700j 내지 700p)을 참조한다. 기재된 동작들은 매우 다양한 그래픽 요소들 및 시각적 기법들로 달성될 수 있다. 따라서, 도 7j 내지 도 7p의 실시예들은 본 명세서에서 채택된 정확한 사용자 인터페이스 규약에 한정되도록 의도되지 않는다. 오히려, 실시예들은 매우 다양한 사용자 인터페이스 스타일들을 포함할 수 있다.
프로세스(500)는 동작(502)에서 시작할 수 있고, 사용자(U)는 사용자의 TPS 사용자 디바이스(60c) 상에서 실행될 수 있는 서드 파티 서비스("TPS") 애플리케이션으로 임의의 적합한 TP 서비스 활동(tpsa)(502d)을 수행함으로써 서드 파티("TP") 서비스 활동 등록을 개시할 수 있고, 이는 등록된 APS 사용자 디바이스(60a)와 동일할 수 있거나 또는 APSP에 등록되지 않을(또는 심지어 등록될 수 없을) 수 있지만 그럼에도 불구하고 사용자(U)에 의해 APSP의 등록/인증으로부터 이익을 얻을 수 있는 서드 파티 서브시스템(90)과 상호작용하는 데 사용될 수 있는 상이한 디바이스일 수 있다. 예를 들어, 도 7j의 스크린(700j)에 의해 도시된 바와 같이, TPS 디바이스(60c)의 UI는 사용자(U)가 TPS(예컨대, 서드 파티 서브시스템(90a)에 의해 관리되거나 또는 그의 제어 하에 있을 수 있는 TPS 웹사이트(예컨대, "B'Gock 서비스" 서브시스템))에 로그인하기 위한 "LOG-IN" 옵션을, 등록된 APS 사용자 디바이스(60a)의 등록된 APS 사용자를 TPS에 등록하기 위한 프로세스(500)를 진행하기 위한 그것의 TP 서비스 활동(tpsa)과 함께 제시할 수 있다. 동작(502) 이전에, TPS 애플리케이션(69)은 TPS 디바이스(60c)에 의해 임의의 적합한 방식으로(예컨대, 임의의 적합한 앱 스토어로부터 다운로드된 앱으로서 또는 임의의 적합한 웹 브라우저 또는 다른 방식을 통한 웹사이트로서) 액세스될 수 있고 사용자(U)는 동작(502)에서 사용자가 로그인할 수 있게 하기 위하여 (예컨대, 도 7j에 도시된 바와 같이 <사용자 이름> 및 <패스워드>를 이용하여) TPS 및 TPS 애플리케이션에 대하여 임의의 적합한 계정 셋업 동작들을 수행할 수 있다.
동작(504)에서, TPS 사용자 디바이스(60c) 상에서 실행될 수 있는 TPS 애플리케이션은 TP 서비스 활동(tpsa) 데이터(502d)를 TP 서브시스템(90)(예컨대, "B'Gock 서비스"의 서버) 상에서 TP 서비스 활동(tpsa) 데이터(504d)의 적어도 일부분으로서 수신 및 전송하도록 동작할 수 있다. 동작(506)에서, TP 서브시스템(90)은 동작(508)에서 TPS에 대한 임의의 APSP 이용가능성을 결정하기 위하여 TP 서비스 활동(tpsa) 데이터(504d)를 수신 및 프로세싱하도록 동작할 수 있다. 예를 들어, TP 서브시스템(90)은 사용자(U)가 TPS를 APSP에 (예컨대, APS 서브시스템(100)에 의해 또는 방식으로 TP 서브시스템(90)에 제공된 임의의 적합한 코드를 이용하여) 등록할 수 있도록 할 수 있다고 결정하도록 동작할 수 있다. 이러한 결정에 응답하여, TP 서브시스템(90)은 동작(508)에서 연관된 APSP 이용가능성("apspa") 데이터(508d)를 다시 TPS 사용자 디바이스(60c)에 전송하도록 동작할 수 있다. 이러한 apspa 데이터(508d)를 수신하는 것에 응답하여, TPS 사용자 디바이스(60c)는 (예컨대, 그것의 TPS 애플리케이션에 따라) TPS에 대한 임의의 적합한 apspa 정보를 사용자(U)에게. 예를 들어, 도 7k의 스크린(700k)에 의해 도시된 바와 같이 제시하도록 동작할 수 있고, TPS 애플리케이션은 잠재적으로 TPS를 APSP에 등록하는 것에 관하여 사용자에게 이용가능할 수 있는 임의의 적합한 옵션들, 예컨대 "인에이블된 디바이스를 이용하여 서비스 등록"(예컨대, APS 인에이블된 다른 디바이스를 이용하여 TPS를 등록) 또는 "앱 받기"(예컨대, APS를 위하여 이 디바이스를 인에이블하고 이 디바이스 상에서 TPS를 APSP에 등록하기 위하여 이 디바이스 상에 APSP 앱을 획득) 또는 "이 단계 건너뛰기"(예컨대, TPS를 APSP에 등록하지 않음)를 제시할 수 있다. 동작들(504 내지 510)이 프로세싱의 일부를 처리할 수 있는 TP 서브시스템(90)과 데이터를 교환하는 것을 포함할 수 있지만, 이 동작들의 기능은 전체적으로 오프라인 모드에서 (예컨대, TPS 서버의 어떠한 프로세싱에도 의존하지 않고) TPS 애플리케이션을 실행하는 TPS 사용자 디바이스(60c) 상에서 대안적으로 수행될 수 있다.
동작(512)에서 사용자(U)는 활동 apspr(512d)로 임의의 적합한 APSP 등록을 수행함으로써 TPS 사용자 디바이스(60c) 상에서 실행될 수 있는 TPS 애플리케이션과 통신하는 동안 TPS에 대한 임의의 적합한 APSP 등록을 개시할 수 있다. 예를 들어, 언급되고 도 7k의 스크린(700k)에 의해 도시되는 바와 같이, TPS 디바이스(60c)의 UI는 동작(510)에서 잠재적으로 TPS를 APSP에 등록하는 것에 관하여 사용자에게 이용가능할 수 있는 임의의 적합한 옵션들을 제시할 수 있고, 사용자는 동작(512)에서 데이터(512d)를 이용하여 옵션들 중 하나, 예컨대 "인에이블된 디바이스를 이용하여 서비스 등록"(예컨대, APS 인에이블된 다른 디바이스를 이용하여 TPS를 등록)을 고를 수 있다.
동작(514)에서, TPS 사용자 디바이스(60c) 상에서 실행될 수 있는 TPS 애플리케이션은 APSP 활동 apspr(512d)를 TP 서브시스템(90)(예컨대, "B'Gock 서비스"의 서버) 상에서 APSP 활동 apspr 데이터(514d)의 적어도 일부분으로서 수신 및 전송하도록 동작할 수 있다. 동작(518)에서 임의의 적절한 APS 디바이스 등록("apsdr") 정보를 TPS에 대한 aspdr 데이터(518d)로서 결정하기 위하여, TP 서브시스템(90)은 동작(516)에서 APSP 활동 apspr 데이터(514d)를 수신 및 프로세싱하도록 동작할 수 있다. 예를 들어, TP 서브시스템(90)은 이러한 등록을 인에이블하기 위하여 임의의 적합한 방식으로 TPS 사용자 디바이스(60c)로부터 등록된 APS 사용자 디바이스(60a)로 전송가능할 수 있는 정보를 생성함으로써 사용자(U)가 TPS 사용자 디바이스(60c)가 아닌 등록된 APS 디바이스 상에서 TPS를 APSP에 등록할 수 있게 할 수 있다고 결정하도록 동작할 수 있다. 예를 들어, 동작(520)에서 QR 코드 또는 임의의 기타 적합한 정보가, 동작(518)에서 TP 서브시스템(90)으로부터 전송되고, 이어서 동작(524)에서 APS 사용자 디바이스(60a)에 의해 캡처된 연관된 apsdr 데이터(518d)를 수신하는 것에 응답하여, 디바이스(60c) 상에 apspr 데이터(520d)로서 제시될 수 있다
(예컨대, 동작(522)에서 사용자(U)의 도움으로 (예컨대, 도 7l의 스크린(700l)은 동작(520)에서 TPS 디바이스(60c)에 의해 이러한 QR 코드가 제시될 수 있고, (예컨대, 사용자(U)가 (예컨대, 동작(238) 후에) 등록된 사용자 디바이스(60a) 상에서 실행될 수 있는 APSP 애플리케이션에 의해 제공된 "새로운 서비스 등록하기" 옵션을 선택하는 것에 응답하여) 도 7m의 스크린(700m)은 동작(524)에서 등록된 APS 디바이스(60a)에 의해 사용자가 등록된 APS 디바이스(60a)를 이용하여 APSP 상에 새로운 서비스를 등록하도록 긍정적으로 선택하게 할 수 있는 것이 제시될 수 있고, 이어서 도 7n의 스크린(700n)은 APS 디바이스(60a)에 의해 사용자에게 TPS 디바이스(60c)에 의해 제시되고 있는 QR 코드를 캡처함으로써 동작(524)에서 등록을 보조하는 방법을 지시하는 것이 제시될 수 있다)). 다른 실시예들에서 QR 코드에 의해 제공된 apspr 데이터(520d)의 정보는 사용자로 하여금 통신을 도울 것을 요구하지 않고, TPS 디바이스(60c)로부터 APS 디바이스(60a)로 또는 TP 서브시스템(90)으로부터 APS 디바이스(60a)로 직접 전송될 수 있다. 이러한 apspr 데이터(520d)는 TPS 및/또는 TPS를 갖는 사용자의 계정(예컨대, 동작들(502 내지 506)에서 사용자(U)에 의해 로그인된 계정)을 나타내는 임의의 적합한 데이터를 포함할 수 있다.
동작(524)에서, 이러한 apspr 데이터(520d)를 수신하는 것에 응답하여, 등록된 APS 사용자 디바이스(60a)는 이러한 데이터를 프로세싱하고 요청된 등록을 인에이블하는 방법을 결정할 수 있다. 예를 들어, 동작(524)에 응답하여, APS 사용자 디바이스(60a)는 동작(526)에서 TPS 키쌍(skt, pkt)을 생성하도록 동작할 수 있다. 예를 들어, 개인 TPS 키(skt)는 무작위 정수의 임의의 적합한 크기(예컨대, 256 비트)로서 생성될 수 있고 이어서 개인 TPS 키(skt)에 대한 상대방 공개 TPS 키(pkt)가 또한 예컨대 개인 TPS 키(skt)가 EdDSA 또는 ECDSA와 같은 서명 기법을 위하여 개인 키로서 사용될 수 있고, 대응하는 공개 상대방은 공개 TPS 키(pkt)인, 임의의 적합한 방식으로 (예컨대, 랜덤 TPS 키쌍(skt, pkt)을 제공하기 위하여) 생성될 수 있다(예컨대, pkt = skt x G, 여기서 G는 ECDSA의 경우에 타원 곡선 기점일 수 있다). 또한, 동작(526)에서, APS 사용자 디바이스(60a)는 개인 TPS 키(skt)를 공개 사용자 키(pku)로 암호화하여 암호화된 개인 TPS 키
Figure 112021073466711-pct00068
(예컨대,
Figure 112021073466711-pct00069
))를 유도할 수 있고 이어서, 동작(526)에서, APS 사용자 디바이스(60a)는 개인 TPS 키(skt)를 삭제하여, APSP로의 인증을 통해 시드(s)를 재구성함으로서 암호화된 개인 TPS 키
Figure 112021073466711-pct00070
를 복호화하기 위하여 APS 사용자 디바이스가 개인 TPS 키(skt)에 대한 액세스를 다시 얻을 수 있는 유일한 방법은 개인 사용자 키(sku)(예컨대, 공개 사용자 키(pku)의 상대방)에 대한 액세스를 다시 얻는 것이 되도록 할 수 있다. 동작(528)에서, APS 사용자 디바이스(60a)는 저장된 암호화된 개인 TPS 키
Figure 112021073466711-pct00071
를 TPS 및 그것의 사용자(U)의 계정과 연관시키기 위하여 apspr 데이터(520d)의 적어도 일부분과 함께 암호화된 개인 TPS 키
Figure 112021073466711-pct00072
를 저장할 수 있다. 일부 실시예들에서, 암호화된 개인 TPS 키
Figure 112021073466711-pct00073
는 apspr 데이터(520d)의 적어도 일부분과 함께 (예컨대, 동작(528)에서) APS 사용자 디바이스(60a) 상에 바로 저장될 수 있다. 추가적으로 또는 대안적으로 암호화된 개인 TPS 키
Figure 112021073466711-pct00074
는 apspr 데이터(520d)의 적어도 일부분과 함께 APSP의 하나 이상의 노드들(70) 상에 (예컨대, 동작(530)에서 사용자 디바이스(60a)로부터의 데이터(530d)를 통해) 저장될 수 있다. 추가적으로 또는 대안적으로 암호화된 개인 TPS 키
Figure 112021073466711-pct00075
는 apspr 데이터(520d)의 적어도 일부분과 함께 저장소(80) 상에 (예컨대, 동작(532)에서 사용자 디바이스(60a)로부터의 데이터(532d)를 통해) 저장될 수 있다. 이어서, 동작(534)에서, APS 사용자 디바이스(60a)는 공개 TPS 키(pkt)를 apspr 데이터(520d)의 적어도 일부분과 함께 apsrc 데이터(534d)로서 TP 서브시스템(90)에 전송할 수 있는데, 이러한 데이터는 또한 등록된 APS 사용자 디바이스(60a)를 나타낼 수 있다. 마지막으로, 동작(534)에서, APS 사용자 디바이스(60a)는 APSP에 대한 TPS의 등록의 컨펌을 (예컨대, 도 7o의 스크린(700o)을 제시함으로써) 제공할 수 있다.
동작(536)에서, TP 서브시스템(90)은 apsrc 데이터(534d)를 수신하고 이어서 TP 서브시스템(90) 상에 apsrc 데이터(534d)의 공개 TPS 키(pkt)를 apsrc 데이터(534d) 또는 그것과 연관된 일부 기타 데이터의 apspr 데이터(520d)의 적어도 일부분과 연관시켜 저장할 수 있다. 따라서, TPS 및/또는 사용자의 TPS 계정(예컨대, 사용자(U)에 의해 동작들(502 내지 506)에서 로그인되는 계정)을 나타내는 임의의 적합한 데이터는 공개 TPS 키(pkt)와 함께 TP 서브시스템(90) 상에 저장될 수 있고, TPS 및/또는 사용자의 TPS 계정을 나타내는 이러한 데이터는 또한 등록된 APS 사용자 디바이스(60a) 및/또는 APSP의 노드(들)(70) 및/또는 저장소(80) 상에 저장될 수 있다. 동작(538)에서, TP 서브시스템(90)은 TPS의 APSP 등록의 컨펌을 결정하고 동작(538)에서 달성된 TPS의 APSP 등록의 컨펌을 apscr 데이터(538d)로서 TPS 사용자 디바이스(60c)로 전송할 수 있고, 이는 이어서 (예컨대, 도 7p의 스크린(700p)을 제시함으로써) 사용자에게 TPS의 이러한 APSP 등록의 컨펌을 제시하기 위한 이러한 데이터를 수신 및 프로세싱할 수 있다. 프로세스(500)는, TPS의 APSP 등록이 디바이스들(60a, 60c) 중 하나 또는 둘 모두를 통해 사용자에게 컨펌된 후에 종료될 수 있다. 동작들(514 내지 520)이 프로세싱의 일부를 처리할 수 있는 TP 서브시스템(90)과 데이터를 교환하는 것을 포함할 수 있지만, 이 동작들의 기능은 전체적으로 오프라인 모드에서 (예컨대, TPS 서버의 어떠한 프로세싱에도 의존하지 않고) TPS 애플리케이션을 실행하는 TPS 사용자 디바이스(60c) 상에서 대안적으로 수행될 수 있다. 동작들(536 내지 540)이 프로세싱의 일부를 처리할 수 있는 TP 서브시스템(90)과 데이터를 교환하는 것을 포함할 수 있지만, 이 동작들의 기능은 전체적으로 오프라인 모드에서 (예컨대, TPS 서버의 어떠한 프로세싱에도 의존하지 않고) TPS 애플리케이션을 실행하는 TPS 사용자 디바이스(60c) 상에서 대안적으로 수행될 수 있다.
도 5의 프로세스(500)에 도시된 동작들은 단지 예시적인 것이고, 기존의 동작들이 변경 또는 생략될 수 있고, 추가 동작들이 추가될 수 있고, 소정 동작들의 순서가 변경될 수 있다. 등록 프로세스(500)의 많은 부분이 더 무결절성이고 효율적인 사용자 경험을 제공하기 위하여 사용자(U)에게 투명하게 수행될 수 있다. 예를 들어, 동작들(504 내지 510)은 (예컨대, 도 7j의 스크린(700j)으로 제시된 것과 도 7k의 스크린(700k)으로 제시된 것 사이에서) 사용자(U)에 투명할 수 있다. 다른 예로서, 동작들(514 내지 534)은 (예컨대, 도 7k의 스크린(700k)으로 제시된 것과 도 7o의 스크린(700o)으로 제시된 것 사이에서) 사용자(U)에 투명할 수 있다. 다른 예로서, 동작들(514 내지 540)은 (예컨대, 도 7k의 스크린(700k)로 제시되는 것과 도 7p의 스크린(700p)으로 제시되는 것 사이에서(예컨대, 일부 실시예들에서 잠재적으로 동작(522) 및 도 7l 내지 도 7n을 제외하고)) 사용자(U)에 투명할 수 있다. 프로세스(500)는 (예컨대, 단일 또는 다양한 서드 파티 서브시스템들의) 다양한 서드 파티 서비스들을 APSP의 단일 사용자 페르소나(예컨대, 특정 사용자의 단일 등록된 EBT(B))에 등록하기 위하여 반복될 수 있다. 예를 들어, 단일 사용자(U)는 다수의 개별 사용자 계정들을 B'Gock 서비스로 열 수 있고, 이들의 각각은 그 사용자의 단일 APSP 페르소나에 등록될 수 있다. 추가적으로 또는 대안적으로, 단일 사용자(U)가 다수의 사용자 페르소나들을 APSP 상에 (예컨대, 상이한 키쌍들 및 상이한 EBT(B)로 프로세스(200)를 반복함으로써) 등록할 수 있다.
도 6 및 도 7q 내지 도 7w
도 6은 APSP를 이용하여 등록 서드 파티 서비스로 등록된 APS 사용자 디바이스의 등록된 APS 사용자를 인증하기 위한 예시적인 프로세스(600)의 흐름도를 도시한다. 프로세스(600)는 사용자(U), 그것의 APS 사용자 디바이스(60a), TPS 사용자 디바이스(60c), TP 서브시스템(90), 노드들(70)의 선택(예컨대, 선택된 노드들(70)의 수(n)(예컨대, 노드들(70a, 70b, 70c, …, 70n))), 및 저장소(80)에 의해 구현되는 것으로 도시된다. 그러나, 프로세스(600)는 도 1의 시스템(1)의 임의의 기타 적합한 컴포넌트들 또는 서브시스템들 또는 개체들을 이용하거나 또는 다른 방식으로 구현될 수 있다. 프로세스(600)는 TPS 사용자 디바이스(60c)를 통해 APSP를 이용하는 TP 서브시스템(90)의 등록된 서드 파티 서비스로 등록된 APS 사용자 디바이스(60a)의 등록된 APS 사용자(U)를 안전하고 효율적으로 인증하기 위한 무결절성 사용자 경험을 제공할 수 있다. 도 6의 프로세스(600)에 따라 TPS 사용자 디바이스(60c)를 통해 APSP를 이용하는 TP 서브시스템(90)의 등록된 서드 파티 서비스로 등록된 APS 사용자 디바이스(60a)의 등록된 APS 사용자(U)를 인증하기 위한 시스템(1)의 동작에 관한 하기 논의를 용이하게 하기 위하여, 도 1 내지 도 1f의 개략도들의 시스템(1)의 다양한 컴포넌트들, 및 (예컨대, 도 7q 내지 도 7w에 도시된 바와 같이) 이러한 프로세스 동안 등록된 APS 사용자 디바이스(60a) 또는 TPS 사용자 디바이스(60c)의 그래픽 사용자 인터페이스를 나타낼 수 있는 스크린들(700q 내지 700w)을 참조한다. 기재된 동작들은 매우 다양한 그래픽 요소들 및 시각적 기법들로 달성될 수 있다. 따라서, 도 7q 내지 도 7w의 실시예들은 본 명세서에서 채택된 정확한 사용자 인터페이스 규약에 한정되도록 의도되지 않는다. 오히려, 실시예들은 매우 다양한 사용자 인터페이스 스타일들을 포함할 수 있다.
프로세스(600)는 동작(602)에서 시작할 수 있고, 사용자(U)는 사용자의 TPS 사용자 디바이스(60c) 상에서 실행될 수 있는 서드 파티 서비스("TPS") 애플리케이션으로 임의의 적합한 rtps 행동(rtpsa)(602d)을 수행함으로써 등록된 TPS 인증("rtpsa")을 개시할 수 있고, 이는 등록된 APS 사용자 디바이스(60a)와 동일할 수 있거나 또는 APSP에 등록되지 않을(또는 심지어 등록될 수 없을) 수 있지만 그럼에도 불구하고 사용자(U)에 의해 APSP의 등록/인증으로부터 이익을 얻을 수 있는 서드 파티 서브시스템(90)과 상호작용하는 데 사용될 수 있는 상이한 디바이스일 수 있다. 예를 들어, 도 7q의 스크린(700q)에 의해 도시된 바와 같이, TPS 디바이스(60c)의 UI는 사용자(U)가 APSP를 이용하여 등록된 TPS로 등록된 APS 사용자 디바이스의 등록된 APS 사용자를 인증하기 위하여 프로세스(600)로 진행하기 위하여 그것의 RTPS 행동(rtpsa)으로 등록된 TPS(예컨대, 프로세스(500) 동안 등록되었을 수 있는 서드 파티 서브시스템(90a)(예컨대, "B'Gock 서비스" 서브시스템)의 관리 또는 제어될수 있는 TPS 웹사이트)를 로그인하기 위한 "로그인" 옵션을 제시할 수 있다. 미등록 TPS에 의해 제시될 수 있는 도 7j의 스크린(700j)과 다르게, 등록된 TPS의 도 7q의 스크린(700q)은 단지 사용자에게 <사용자 이름>만을 입력하도록 요구하고, 패스워드도 입력하도록 요구하지 않는다.
동작(604)에서, TPS 사용자 디바이스(60c) 상에서 실행될 수 있는 TPS 애플리케이션은 RTPS 활동 rtpsa 데이터(602d)를 TP 서브시스템(90)(예컨대, 등록된 "B'Gock 서비스"의 서버) 상에서 RTPS 활동 rtpsa 데이터(604d)의 적어도 일부분으로서 수신 및 전송하도록 동작할 수 있다. 동작(606)에서, TP 서브시스템(90)은 등록된 TPS에 이용가능할 수 있는 임의의 APSP 데이터를 결정하기 위하여 (예컨대, 그 사용자의 등록된 서비스 및 등록된 APS 사용자 디바이스의 현재 로그인된 계정을 나타낼 수 있는 apspr 데이터(520d)의 적어도 일부분과 연관되어 저장된 바와 같이 공개 TPS 키(pkt)를 식별하기 위하여) RTPS 행동(rtpsa) 데이터(604d)를 수신 및 프로세싱하도록 동작할 수 있다. 이러한 프로세싱에 응답하여, TP 서브시스템(90)은 시도를 생성하고 그것을 그 APSP 데이터와 연관된 등록된 APS 사용자 디바이스(예컨대, 등록된 APS 사용자 디바이스(60a))로 전송해야 한다고 결정할 수 있다. 이어서, 동작(608)에서, TP 서브시스템(90)은 시도(tj) 및 임의의 적합한 APS 디바이스 인증 정보("apsdi")를 생성하고 그 시도(tj) 및 apsdi를 데이터(608d)로서 등록된 APS 사용자 디바이스(60a)로 전송할 수 있고, 이러한 apsdi는 사용자(U)에 의해 등록되고 현재 로그인된 TPS를 나타내는 정보와 같은 임의의 적합한 정보를 포함할 수 있다. 추가적으로, 동작(608) 후에, TP 서브시스템(90)은 동작(610)에서 TPS 인증의 상태 업데이트를 결정하고 apsas 데이터(610d)를 이용하여 TPS 사용자 디바이스(60c)로 전송할 수 있다. 동작(612)에서, TPS 사용자 디바이스(60c)는 apsas 데이터(610d)를 수신 및 프로세싱하고, 이어서 TPS 인증의 업데이트를 사용자에게 제시할 수 있다(예컨대, 도 7r의 스크린(70r)이 TPS 사용자 디바이스(60c)에 의해 동작(612)에 제시되어 사용자에게 TPS 사용자 디바이스(60c) 및 TPS 자체가 (예컨대, 등록된 APS 사용자 디바이스(60a)에 대한) APSP로부터의 인증 승인을 기다리고 있음을 나타낼 수 있다).
동작(614)에서, 등록된 APS 사용자 디바이스(60a)는 시도(tj) 및 데이터(608d)의 apsdi를 수신 및 프로세싱할 수 있고, 이는 (예컨대, 그 위에서 실행되는 APS 애플리케이션(69a)에 따라)
등록된 서비스로부터의 시도(tj)에 적절히 응답하기 위하여 개인 TPS 키(skt)에 대한 액세스를 재획득해야 하고, 그렇게 하기 위하여, 시드(s)를 재구성해야 하는 사용자 디바이스(60a)를 포함할 수 있다. 따라서, 동작(616)에서, 등록된 APS 사용자 디바이스(60a)는 시도(tj)를 처리하기 위하여 시드(s)를 획득하려고 시도할 수 있다. 이러한 동작(616)은 등록된 APS 사용자 디바이스(60a)가 인증 프로세스(400)의 적어도 일부분(예컨대, 동작들(402 내지 440), 이는 노드들(70) 및 저장소(80)를 수반할 수 있음)을 수행하여 등록된 APS 사용자 디바이스(60a)가 시드(s)를 재구성할 수 있게 하는 것을 포함할 수 있다(예컨대, 도 7s 내지 도 7u의 스크린들(700s 내지 700u)에 의해 도시된 바와 같이, 등록된 APS 사용자 디바이스(60a)는 사용자가 시드(s)를 재구성하려고 시도하게 할 수 있는 정보를 제시할 수 있다). 이어서, 시드(s)가 등록된 APS 사용자 디바이스(60a)에 의해 재구성되면, 디바이스(60a)는 암호화된 개인 TPS 키
Figure 112021073466711-pct00076
에 (예컨대, 디바이스(60a)에 국한된 메모리로부터 또는 하나 이상의 노드들(70)로부터 또는 저장소(80)로부터) 액세스하고, 이어서 재구성된 시드(s)를 이용하여 액세스된 암호화된 개인 TPS 키
Figure 112021073466711-pct00077
로부터 개인 TPS 키(skt)를 도출할 수 있다. 특히, 일부 실시예들에서, 이는 디바이스(60a)가 암호화된 개인 TPS 키
Figure 112021073466711-pct00078
를 개인 사용자 키(sku)로 복호화하기 위하여 개인 사용자 키(sku)(예컨대, 공개 사용자 키(pku)의 상대방)에 대한 액세스를 다시 얻는 것을 포함할 수 있으며, 이는 디바이스(60a)가 재구성된 시드(s) 및 상수(c)를 이용하여 개인 사용자 키(sku)(예컨대, 개인 사용자 키(sku) = HMACs(c))를 재생성하는 것을 포함할 수 있다. 이어서, 사용자 디바이스(60a)가 동작(618)에서 재구성된 시드(s)를 이용하여 액세스된 암호화된 개인 TPS 키
Figure 112021073466711-pct00079
로부터 개인 TPS 키(skt)를 도출하면, 디바이스(60a)는 동작(620)에서 수신된 시도(tj)를 도출된 개인 TPS 키(skt)로 서명하고, 이어서 그 시도 응답(σskt)을 데이터(620d)의 적어도 일부분으로서 TP 서브시스템(90)에 전송함으로써 시도 응답σskt (tj)을 생성할 수 있다. 도시되지 않았지만, 동작(620)은 이어서 또한 재구성된 시드(s), 개인 사용자 키(sku), 임의의 생체인식, 임의의 시드 공유들, 임의의 생체인식 공유들, 시스템에 추가 보안을 제공하기 위한 임의의 적합한 회로 정보 등을 포함하지만, 이에 한정되지 않는 임의의 적합한 민감한 데이터를 사용자 디바이스(60a)로부터 삭제하는 것을 포함할 수 있다.
동작(622)에서, TP 서브시스템(90)은 (예컨대, TP 서브시스템(90) 상에서 실행될 수 있는 APS 애플리케이션(99)에 따라) 사용자(U)를 위하여 TPS를 인증하기 위하여 (예컨대, 등록 프로세스(500)의 동작(536)에서 저장되는 바와 같이) 저장된 공개 TPS 키(pkt)를 이용하여 데이터(620d)의 시도 응답(σskt)을 수신하고 이를 검증하려고 시도할 수 있다. 시도 응답(σskt)의 검증이 성공적인 경우, TP 서브시스템(90)은 사용자(U)를 위하여 TPS를 인증하고(예컨대, TPS에 대한 액세스를 허가(예컨대, TPS 사용자 디바이스(60c)에 의해 제공되는 B'Gock 서비스에 대한 액세스를 허가)) 이러한 TPS 인증의 컨펌을 apsac 데이터(622d)로서 TPS 사용자 디바이스(60c)에 전송할 수 있고, 이는 동작(624)에서 TPS 인증의 컨펌을 사용자에게 제시하기 위하여 TPS 사용자 디바이스(60c)에 의해 수신 및 프로세싱될 수 있다(예컨대, 도 7v의 스크린(700v)이 사용자가 TPS로 인증되었음을 나타내기 위하여 TPS 사용자 디바이스(60c)에 의해 제시될 수 있다(예컨대, 서드 파티 서비스에 대한 사용자 액세스를 허가하는 보안 동작은 APSP를 통해 재구성된 시드(s)를 이용하여 달성되었다)). 또한, TP 서브시스템(90)은 apsac 데이터(623d)로서 이러한 TPS 인증의 컨펌을 APS 사용자 디바이스(60a)로 전송할 수 있고, 이는 동작(626)에서 TPS 인증의 컨펌을 사용자에 제공하기 위하여 APS 사용자 디바이스(60a)에 의해 수신 및 프로세싱될 수 있다(예컨대, 도 7w의 스크린(700w)은 사용자가 TPS로 인증되었음을 나타내기 위하여 APS 사용자 디바이스(60a)에 의해 제시될 수 있다(예컨대, 서드 파티 서비스에 대한 사용자 액세스를 허가하는 보안 동작은 APSP를 통해 재구성된 시드(s)를 이용하여 달성되었다)). 동작들(604 내지 612)이 프로세싱의 일부를 처리할 수 있는 TP 서브시스템(90)과 데이터를 교환하는 것을 포함할 수 있지만, 이 동작들의 기능은 전체적으로 오프라인 모드에서 (예컨대, TPS 서버의 어떠한 프로세싱에도 의존하지 않고) TPS 애플리케이션을 실행하는 TPS 사용자 디바이스(60c) 상에서 대안적으로 수행될 수 있다. 동작들(622 내지 624)이 프로세싱의 일부를 처리할 수 있는 TP 서브시스템(90)과 데이터를 교환하는 것을 포함할 수 있지만, 이 동작들의 기능은 전체적으로 오프라인 모드에서 (예컨대, TPS 서버의 어떠한 프로세싱에도 의존하지 않고) TPS 애플리케이션을 실행하는 TPS 사용자 디바이스(60c) 상에서 대안적으로 수행될 수 있다. 그러나 이는 단지 재구성된 시드(s)가 어떻게 (예컨대, 시드(s)로부터 도출될 수 있는(예컨대, 영향을 받을 수 있는) 새로운 대칭 키 또는 키 쌍을 이용하여) TPS 사용자 디바이스 또는 TP 서브시스템(90)을 수반하지 않을 수 있는, 등록된 APS 사용자 디바이스의 하드 드라이브를 암호화 또는 복호화 또는 블록체인 및/또는 사용자 지갑과의 보안 동작(예컨대, 비트코인 거래를 서명) 등을 수행하기 위한 것과 같은 임의의 적합한 서비스의 보안 동작(SO)(예컨대, 서드 파티 서비스 또는 임의의 기타 적합한 서비스)을 가능하게 하기 위하여 등록된 APS 사용자 디바이스에 의해 사용될 수 있는지에 대한 일례일뿐이다.
다른 특정 예로서, TP 서브시스템(90)은 사용자의 호텔 방 예약 및 APSP를 이용하여 그 호텔 방으로 보안 입력을 가능하게 하는 것을 관리하도록 동작할 수 있다. 예를 들어, 프로세스(500) 동안, TPS 사용자 디바이스(60c)는 사용자(U)가 APSP를 이용하여 사용자의 등록으로 특정 날짜에 호텔 방을 예약하고/하거나 사용자의 호텔 예약 또는 그 사용자의 호텔 예약 서비스 계정을 등록하기 위하여 인터페이싱할 수 있는 임의의 적합한 디바이스(예컨대, 여행사 또는 호텔 관리 개체의 앱 또는 웹사이트를 실행하도록 동작하는 임의의 디바이스, 이는 APS 사용자 디바이스(60a) 또는 별개의 상이한 디바이스일 수 있음)일 수 있다. 이어서, 프로세스(600) 동안, TPS 사용자 디바이스(60c)는 사용자(U)가 특정 날짜에 예약된 호텔 방에 대한 액세스를 얻기 위하여 인터페이싱할 수 있는 임의의 적합한 디바이스(예컨대, 사용자가 APSP에 의해 인증될 수 있는 경우 자동으로 호텔 방을 잠금해제하고 액세스를 허가하도록 동작할 수 있는 스마트 문손잡이 또는 잠금장치)일 수 있다. 예를 들어, 동작들(602, 604)에서, 사용자(U)는 APS 사용자 디바이스(60a)를 활용하여 데이터(602d)를 이러한 TPS 사용자 디바이스(60c)와 (예컨대, NFC 또는 블루투스 또는 임의의 기타 적합한 통신 경로를 이용하여) 교환할 수 있는데, 이는 사용자가 호텔 방 밖에 있고 호텔 예약 서비스로 인증하기를 원한다고 나타낼 수 있고, 이어서 APS 사용자 디바이스(60a)에는 TP 서브시스템(90)에 의한 시도가 제공될 수 있고, APS 사용자 디바이스(60a)는 APSP로 인증함으로써 이러한 시도에 응답하여 보안 동작을 수행하도록 동작할 수 있고, 보안 동작은 문을 잠금해제하기 위하여 TP 서브시스템(90)에 의해 활용될 수 있는 시도 응답을 TPS 사용자 디바이스(60c)(예컨대, 스마트 문손잡이)를 이용하여 호텔 방에 제공하는 것을 포함할 수 있다.
다른 특정 예로서, TP 서브시스템(90)은 (예컨대, 사용자가 그것의 지정된 태스크들(예컨대, 보안 요원이 교대근무를 통해 다양한 위치들을 확인)을 수행하고 있음을 컨펌하기 위하여) APSP를 이용하여 사용자의 위치를 추적하도록 동작할 수 있다. 예를 들어, 프로세스(500) 동안, TPS 사용자 디바이스(60c)는 사용자(U)가 추적 서비스에 등록 및/또는 그 사용자의 등록을 이용하여 그 추적 서비스를 APSP로 등록하기 위하여 인터페이싱할 수 있는 임의의 적합한 디바이스일 수 있다. 이어서, 프로세스(600) 동안, TPS 사용자 디바이스(60c)는 사용자(U)가 비콘 및/또는 그것의 위치뿐만 아니라 그 데이터가 교환된 시간을 나타내는 데이터를 교환하도록 동작할 수 있는 TPS 사용자 디바이스(60c)(예컨대, 비콘(예컨대, 블루투스 로우 에너지 비콘 송신기 디바이스)) 에 가까이 위치되어 있음을 제공하기 위하여 사용자(U)가 인터페이싱할 수 있는 임의의 적합한 디바이스일 수 있다. 예를 들어, 동작들(602, 604)에서, 사용자(U)는 APS 사용자 디바이스(60a)를 이용하여 TPS 사용자 디바이스로부터 비콘 데이터를 요청할 수 있는, 이러한 TPS 사용자 디바이스(60c)와 데이터(602d)를 (예컨대, NFC 또는 블루투스 또는 임의의 기타 적합한 통신 경로를 이용하여) 교환할 수 있고/있거나 비콘 데이터는 자동으로(예컨대, 주기적으로) TPS 사용자 디바이스(60c)에 의해 교환되고 APS 사용자 디바이스(60a)에 의해 (예컨대, 데이터(608d)로서) 수신될 수 있다. 이러한 시도(예컨대, 타임스탬핑된 비콘 데이터)를 수신하는 것에 응답하여, APS 사용자 디바이스(60a)는 (예컨대, 동작들(614 내지 620)에서) 이러한 시도를 개인 TPS 키(skt)로 서명하고, 이어서 그 서명된 시도를 변경불가능한 정보로서 (예컨대, 저장소(80) 상에(예컨대, 공개 블록체인 상에)) 저장하도록 동작할 수 있다. 이는, APS 사용자 디바이스(60a) 및 사용자(U)가 시도를 수신했고 따라서 타임스탬프의 시간에 비콘 TPS 사용자 디바이스(60c)에 근접했음을 증명하기 위하여 사용자가 APSP로 인증했다고 안전하게 결정하기 위하여 (예컨대, 서명을 그것의 공개 TPS 키(pkt)로 컨펌함으로써) TP 서브시스템이 이어서 그 저장된 서명된 시도를 활용함에 따라 보안 동작을 용이하게 하는 데 사용될 수 있다.
도 6의 프로세스(600)에 도시된 동작들은 단지 예시적인 것이고, 기존의 동작들이 변경 또는 생략될 수 있고, 추가 동작들이 추가될 수 있고, 소정 동작들의 순서가 변경될 수 있다. 예를 들어, 동작들(604 내지 612)은 (예컨대, 도 7q의 스크린(700q)으로 제시된 것과 도 7r의 스크린(700r)으로 제시된 것 사이에서) 사용자(U)에 투명할 수 있다. 다른 예로서, 동작들(604 내지 616)은 (예컨대, 도 7q의 스크린(700q)으로 제시된 것과 도 7s의 스크린(700s)으로 제시된 것 사이에서) 사용자(U)에 투명할 수 있다. 다른 예로서, 동작들(618 내지 624)은 (예컨대, 도 7t의 스크린(700t)으로 제시된 것과 도 7v의 스크린(700v)으로 제시된 것 사이에서) 사용자(U)에 투명할 수 있다. 다른 예로서, 동작들(618 내지 626)은 (예컨대, 도 7t의 스크린(700t)으로 제시된 것과 도 7w의 스크린(700w)으로 제시된 것 사이에서) 사용자(U)에 투명할 수 있다.
일부 실시예들에서, TPS 키쌍(skt, pkt)이 (예컨대, 프로세스(500)의 동작(526)에서) 시드(s)를 이용하여 생성될 수 있다. 예를 들어, 프로세스(500)의 동작(526)은 APS 사용자 디바이스(60a)가 먼저 (예컨대, 동작(616)에 유사하게(예컨대, APS 인증 프로세스(400)의 적어도 일부분을 통해)) 시드(s)를 획득하려고 시도하는 것, 및 그 획득된 시드(s)를 이용하여 TPS 키쌍을 생성하는 것을 포함할 수 있다. 이어서, 프로세스(600)의 동작(618)은 동작(616)에서 획득된 시드를 이용하여 임의의 적합한 보안 동작을 인에이블하도록 동작할 수 있는 임의의 적합한 동작(620)을 인에이블하기 위하여 그 TPS 키쌍의 적어도 일부분을 재생성할 수 있다.
일부 실시예들에서, 캡처된 사용자 등록 생체인식(ueb)에 기초하여 EBT(B)를 생성하기 보다는(예컨대, 사용자의 생리학적 및/또는 행동 특성들을 나타낼 수 있는 사용자 등록 생체인식 식별자 정보 또는 사용자 등록 생체인식 정보, (예컨대, 동작(222)에서) APS 사용자 디바이스의 하나 이상의 적합한 센서들에 의해 캡처된 바와 같이), EBT(B)는 추가적으로 또는 대안적으로 디바이스 환경의 임의의 적합한 특성(들)을 나타내는 바와 같이 APS 사용자 디바이스의 임의의 적합한 센서들에 의해 캡처될 수 있고/있거나 임의의 적합한 서드 파티 소스로부터 APS 사용자 디바이스에 제공될 수 있는 임의의 적합한 등록 디바이스 환경 데이터에 기초하여 APS 등록 프로세스 동안 생성될 수 있다. 또한, 캡처된 사용자 인증 생체인식(uab)에 기초하여 ABS(b)를 생성하기보다는(예컨대, 사용자의 생리학적 및/또는 행동 특성들을 나타낼 수 있는 사용자 인증 생체인식 식별자 정보 또는 사용자 인증 생체인식 정보로서, (예컨대, 동작(422)에서) APS 사용자 디바이스의 하나 이상의 적합한 센서들에 의해 캡처되는 바와 같이), ABS(b)는 추가적으로 또는 대안적으로 디바이스 환경의 임의의 적합한 특성(들)을 나타내는 바와 같이 APS 사용자 디바이스의 임의의 적합한 센서들에 의해(예컨대, 임의의 캡처된 사용자 인증 생체인식(uab)과 함께) 캡처될 수 있는 임의의 적합한 인증 디바이스 환경 데이터에 기초하여 APS 인증 프로세스 동안 생성될 수 있다. 따라서, (예컨대, 동작(434)에서) EBT(B) 및 ABS(b)의 임의의 평가의 성공 또는 실패는 EBT(B)의 등록 디바이스 환경 데이터와 ABS(b)의 인증 디바이스 환경 데이터 사이의 결정된 근접도에 (없는 경우 또한 EBT(B)의 사용자 등록 생체인식(ueb)과 ABS(b)의 사용자 인증 생체인식(uab) 사이의 결정된 근접도에) 기초할 수 있다. 이러한 환경 데이터는 위치, 온도, 공기질, 광 품질, 음질, 고도, 무선 센서(들)에 의해 캡처된 데이터 등을 포함하지만, 이에 한정되지 않는, APS 사용자 디바이스의 환경의 임의의 적합한 특성(들)을 나타내는 임의의 적합한 데이터일 수 있다.
도 8
도 8은 네트워크 노드를 이용하여 적어도 제1 사용자 전자 디바이스 및 제2 사용자 전자 디바이스의 사용자를 인증하기 위한 예시적인 프로세스(800)의 흐름도이다. 동작(802)에서, 네트워크 노드는, 네트워크 노드에서, 제1 사용자 전자 디바이스로부터, 제1 순간에, 제1 순간 이전인 등록 순간에 캡처된 사용자 등록 생체인식을 나타내는 등록 생체인식 템플릿에 의해 제한되어 왔던 제한되지 않은 등록 입력에 대응하는 제한된 등록 입력을 포함할 수 있는 통신 프로토콜 정보, 제한되지 않은 인증 입력, 및 2개의 입력을 이용하여 변환된 매칭 함수를 성공적으로 평가하는 것에 응답하여 성공 키를 출력하도록 동작하는 변환된 매칭 함수를 수신할 수 있다(예컨대, 노드(j)는 프로세스(200)의 동작(228)에서 ACIj를 수신할 수 있다). 동작(804)에서, 네트워크 노드는, 네트워크 노드에서, 제2 사용자 전자 디바이스로부터, 제1 순간 후의 제2 순간에, 제1 순간 이후지만 제2 순간 이전인 인증 순간에 캡처된 사용자 인증 생체인식을 나타내는 인증 생체인식 샘플에 의해 제한되어 왔던 제한되지 않은 인증 입력에 대응하는 제한된 인증 입력을 수신할 수 있다(예컨대, 노드(j)는 제한된 CIT(K'j)를 프로세스(400)의 동작(434)에서 수신할 수 있다). 동작(806)에서, 네트워크 노드가 제한된 인증 입력을 동작(804)에서 수신한 후에, 네트워크 노드는, 네트워크 노드에서, 제한된 등록 입력 및 제한된 인증 입력을 이용하여 변환된 매칭 함수를 평가할 수 있다(예컨대, 노드(j)는 제한된 CIT(K'j) 및 제한된 CIT(T'j)를 이용하여 회로(Cj)를 프로세스(400)의 동작(434)에서 평가할 수 있다). 동작(806)의 평가가 성공적이면, 네트워크 노드는, 동작(808)에서, 네트워크 노드에서, 변환된 매칭 함수에 의해 출력된 성공 키를 이용하여 보안 동작을 인에이블할 수 있다(예컨대, 노드(j)는 프로세스(400)의 동작(436)에서 성공 키(ckj)를 이용할 수 있다).
도 8의 프로세스(800)에 도시된 동작들은 단지 예시적인 것이고, 기존의 동작들이 변경 또는 생략될 수 있고, 추가 동작들이 추가될 수 있고, 소정 동작들의 순서가 변경될 수 있다.
도 9
도 9는 네트워크 노드를 이용하여 사용자 전자 디바이스의 사용자를 인증하기 위한 예시적인 프로세스(900)의 흐름도이다. 동작(902)에서, 사용자 전자 디바이스는, 사용자 전자 디바이스에서, 시드를 획득할 수 있다(예컨대, 디바이스(60a)는 시드(s)를 프로세스(200)의 동작(204)에서 획득할 수 있다). 동작(904)에서, 사용자 전자 디바이스는, 사용자 전자 디바이스에서, 사용자 등록 생체인식 식별자 정보를 나타내는 등록 생체인식 템플릿을 생성할 수 있다(예컨대, 디바이스(60a)는 EBT(B)를 프로세스(200)의 동작(222)에서 생성할 수 있다). 동작(906)에서, 사용자 전자 디바이스는, 사용자 전자 디바이스에서, 제1 입력 및 제2 입력을 이용하여 변환된 매칭 함수를 성공적으로 평가하는 것에 응답하여 성공 키를 출력하도록 동작하는 변환된 매칭 함수를 식별할 수 있다(예컨대, 디바이스(60a)는 가블드 회로를 프로세스(200)의 동작(224)의 동작(310)에서 식별할 수 있다). 동작(908)에서, 사용자 전자 디바이스는, 사용자 전자 디바이스에서, 등록 생체인식 템플릿을 이용하여 제1 입력을 제한함으로써 제한된 등록 입력을 생성할 수 있다(예컨대, 디바이스(60a)는 EBT(B)를 나타내는 제한된 CIT(T'j)를 프로세스(200)의 동작(224)의 동작(318)에서 만들 수 있다). 동작(910)에서, 사용자 전자 디바이스는, 사용자 전자 디바이스에서, 성공 키를 이용하여, 시드의 적어도 일부분을 포함하는 시드 정보를 암호화할 수 있다(예컨대, 디바이스(60a)는 적어도 시드 공유를 성공 키(ckj)를 이용하여 프로세스(200)의 동작(224)의 동작(322)에서 암호화할 수 있다). 동작(910)의 암호화 이후에, 동작(912)에서, 사용자 전자 디바이스는 시드를 사용자 전자 디바이스로부터 삭제할 수 있다(예컨대, 디바이스(60a)는 시드(s)를 프로세스(200)의 동작(238)에서 삭제할 수 있다). 동작(914)에서, 사용자 전자 디바이스는, 사용자 전자 디바이스로부터, 네트워크 노드로, 암호화된 시드 정보를 포함하는 등록 데이터 및 변환된 매칭 함수 및 제한된 등록 입력을 전송할 수 있다(예컨대, 디바이스(60a)는 인증 회로 정보(ACIj)를 노드(j)로 프로세스(200)의 동작(226)에서 전송할 수 있다).
도 9의 프로세스(900)에 도시된 동작들은 단지 예시적인 것이고, 기존의 동작들이 변경 또는 생략될 수 있고, 추가 동작들이 추가될 수 있고, 소정 동작들의 순서가 변경될 수 있다.
랩-업
도 1 내지 도 9에 관하여 기재된 프로세스들 중 하나, 일부, 또는 전부는 각각 소프트웨어에 의해 구현될 수 있지만, 또한 하드웨어, 펌웨어, 또는 소프트웨어, 하드웨어, 및 펌웨어의 임의의 조합으로 구현될 수 있다. 이 프로세스들을 수행하기 위한 명령어들은 또한 기계- 또는 컴퓨터-판독가능 매체 상에 기록된 기계- 또는 컴퓨터-판독가능 코드로서 구현될 수 있다. 일부 실시예들에서, 컴퓨터-판독가능 매체는 비일시적 컴퓨터-판독가능 매체일 수 있다. 이러한 비일시적 컴퓨터-판독가능 매체의 예들은 판독전용 메모리, 랜덤-액세스 메모리, 플래시 메모리, CD-ROM, DVD, 자기 테이프, 제거가능 메모리 카드, 및 데이터 저장 디바이스(예컨대, 도 1 내지 도 1f의 메모리(13), 메모리(63), 메모리(73), 메모리 83, 및/또는 메모리(93))를 포함하지만, 이에 한정되지 않는다. 다른 실시예들에서, 컴퓨터-판독가능 매체는 일시적 컴퓨터-판독가능 매체일 수 있다. 이러한 실시예들에서, 일시적 컴퓨터-판독가능 매체는 네트워크-결합 컴퓨터 시스템들에 걸쳐 분산되어 컴퓨터-판독가능 코드가 분산 방식으로 저장 및 실행되도록 할 수 있다. 예를 들어, 이러한 일시적 컴퓨터-판독가능 매체는 임의의 적합한 통신 프로토콜을 이용하여 APS 서브시스템으로부터 클라이언트 서브시스템으로, 클라이언트 서브시스템(예컨대, 사용자 디바이스, 노드, 저장소, 서드 파티 서브시스템 등)으로부터 APS 서브시스템으로, 그리고/또는 하나의 클라이언트 서브시스템으로부터 다른 클라이언트 서브시스템으로 통신될 수 있다(예컨대, 컴퓨터-판독가능 매체는 임의의 적합한 통신 컴포넌트들을 통해 및/또는 임의의 적합한 네트워크(들)(50)를 통해 애플리케이션(69)의 적어도 일부분으로서 사용자 디바이스(60)에, 애플리케이션(79)의 적어도 일부분으로서 노드(70)에, 애플리케이션(83)의 적어도 일부분으로서 저장소(80)에, 애플리케이션(93)의 적어도 일부분으로서 서드 파티 서브시스템(90)에 통신될 수 있다). 이러한 일시적 컴퓨터-판독가능 매체는 컴퓨터-판독가능 코드, 명령어들, 데이터 구조들, 프로그램 모듈들, 또는 변조된 데이터 신호의 기타 데이터, 예컨대, 반송파 또는 기타 전달 메커니즘을 구현할 수 있고, 임의의 정보 전달 매체를 포함할 수 있다. 변조된 데이터 신호는 신호에 정보를 인코딩하도록 하는 방식으로 설정 또는 변경되는 하나 이상의 그것의 특성들을 갖는 신호일 수 있다.
개시내용의 임의의, 각각의, 또는 적어도 하나의 모듈 또는 컴포넌트 또는 서브시스템은 소프트웨어 구성, 펌웨어 구성, 하나 이상의 하드웨어 컴포넌트들, 또는 이들의 조합으로서 제공될 수 있다. 예를 들어, 시스템(1)의 임의의, 각각의, 또는 적어도 하나의 모듈 또는 컴포넌트 또는 서브시스템은 하나 이상의 컴퓨터들 또는 기타 디바이스들에 의해 실행될 수 있는 컴퓨터-실행가능 명령어들, 예컨대 프로그램 모듈들의 일반적인 콘텍스트로 기술될 수 있다. 일반적으로, 프로그램 모듈은 하나 이상의 특정 태스크들을 수행할 수 있거나 또는 하나 이상의 특정 추상적 데이터 유형들을 구현할수 있는 하나 이상의 루틴들, 프로그램들, 객체들, 컴포넌트들, 및/또는 데이터 구조들을 포함할 수 있다. 시스템(1)의 모듈들 및 컴포넌트들 및 서브시스템들의 개수, 구성, 기능, 및 상호연결은 단지 예시적일 뿐이며, 기존 모듈들, 컴포넌트들, 및/또는 서브시스템들의 개수, 구성, 기능, 및 상호연결은 수정 또는 생략될 수 있고, 추가적인 모듈들, 컴포넌트들, 및/또는 서브시스템들이 추가될 수 있고, 소정 모듈들, 컴포넌드들, 및/또는 서브시스템들의 상호연결은 변경될 수 있다.
인증 프로세싱 서비스를 제공하기 위한 시스템, 방법, 및 컴퓨터-판독가능 매체가 기재되었지만, 본 명세서에 기재된 주제의 사상 및 범주를 어떠한 방식으로든 벗어나지 않으면서 많은 변화들이 이루어질 수 있다. 현재 알려져 있거나 추후에 고안된, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 관찰되는 바와 같은 청구된 주제로부터의 크지 않은 변화는 등가적으로 청구범위의 범주 내에서 있는 것으로 명백히 고려된다. 따라서, 현재 또는 나중에 통상의 기술자에게 알려진 명백한 치환은 정의된 요소의 범주 내에 있는 것으로 정의된다.
따라서, 통상의 기술자는 본 발명이 기술된 실시예들 이외의 것에 의해 실시될 수 있음을 이해할 것이며, 이는 제한이 아닌 예시의 목적을 위해 제시된다.

Claims (20)

  1. 네트워크 노드를 이용하여 적어도 제1 사용자 전자 디바이스 및 제2 사용자 전자 디바이스의 사용자를 인증하기 위한 방법으로서,
    상기 네트워크 노드에서, 상기 제1 사용자 전자 디바이스로부터, 제1 순간에, 통신 프로토콜 정보를 수신하는 단계 - 상기 통신 프로토콜 정보는:
    제한된 등록 입력 - 상기 제한된 등록 입력은 제한되지 않은 등록 입력을 상기 제1 순간 이전인 등록 순간에 캡처된 사용자 등록 생체인식을 나타내는 등록 생체인식 템플릿에 의해 제한함으로써 생성됨 - ;
    제한되지 않은 인증 입력; 및
    2개의 입력을 이용하여 변환된 매칭 함수를 성공적으로 평가하는 데 응답하여 성공 키를 출력하도록 동작하는 상기 변환된 매칭 함수를 포함함 -;
    상기 네트워크 노드에서, 상기 제2 사용자 전자 디바이스로부터, 상기 제1 순간 후의 제2 순간에, 제한된 인증 입력 - 상기 제한된 인증 입력은 상기 제한되지 않은 인증 입력을 상기 제1 순간 이후이지만 상기 제2 순간 이전인 인증 순간에 캡처된 사용자 인증 생체인식을 나타내는 인증 생체인식 샘플에 의해 제한함으로써 생성됨 - 을 수신하는 단계;
    상기 제한된 인증 입력을 수신한 이후에, 상기 네트워크 노드에서, 상기 제한된 등록 입력 및 상기 제한된 인증 입력을 이용하여 상기 변환된 매칭 함수를 평가하는 단계; 및
    상기 평가가 성공적이면, 상기 네트워크 노드에서, 보안 동작을 인에이블하기 위하여 상기 변환된 매칭 함수에 의해 출력된 상기 성공 키를 이용하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 제2 사용자 전자 디바이스는 상기 제1 사용자 전자 디바이스인, 방법.
  3. 제1항에 있어서, 상기 등록 생체인식 템플릿은 상기 네트워크 노드에 액세스가능하지 않은, 방법.
  4. 제1항에 있어서, 상기 인증 생체인식 샘플은 상기 네트워크 노드에 액세스가능하지 않은, 방법.
  5. 제4항에 있어서, 상기 등록 생체인식 템플릿은 상기 네트워크 노드에 액세스가능하지 않은, 방법.
  6. 네트워크 노드를 이용하여 적어도 제1 사용자 전자 디바이스 및 제2 사용자 전자 디바이스의 사용자를 인증하기 위한 방법으로서,
    상기 네트워크 노드에서, 상기 제1 사용자 전자 디바이스로부터, 제1 순간에, 통신 프로토콜 정보를 수신하는 단계 - 상기 통신 프로토콜 정보는:
    제한된 등록 입력 - 상기 제한된 등록 입력은 제한되지 않은 등록 입력을 상기 제1 순간 이전인 등록 순간에 캡처된 사용자 등록 생체인식을 나타내는 등록 생체인식 템플릿에 의해 제한함으로써 생성됨 - ;
    제한되지 않은 인증 입력; 및
    2개의 입력을 이용하여 변환된 매칭 함수를 성공적으로 평가하는 데 응답하여 성공 키를 출력하도록 동작하는 상기 변환된 매칭 함수를 포함함 -;
    상기 네트워크 노드에서, 상기 제2 사용자 전자 디바이스로부터, 상기 제1 순간 후의 제2 순간에, 제한된 인증 입력 - 상기 제한된 인증 입력은 상기 제한되지 않은 인증 입력을 상기 제1 순간 이후이지만 상기 제2 순간 이전인 인증 순간에 캡처된 사용자 인증 생체인식을 나타내는 인증 생체인식 샘플에 의해 제한함으로써 생성됨 - 을 수신하는 단계;
    상기 제한된 인증 입력을 수신한 이후에, 상기 네트워크 노드에서, 상기 제한된 등록 입력 및 상기 제한된 인증 입력을 이용하여 상기 변환된 매칭 함수를 평가하는 단계; 및
    상기 평가가 성공적이면, 상기 네트워크 노드에서, 보안 동작을 인에이블하기 위하여 상기 변환된 매칭 함수에 의해 출력된 상기 성공 키를 이용하는 단계를 포함하고,
    상기 통신 프로토콜 정보는 내부 키로 암호화되고 이어서 상기 성공 키로 암호화된 시드 정보를 포함하는 이중으로 암호화된 시드 데이터를 추가로 포함하고;
    상기 성공 키를 이용하는 단계는:
    상기 네트워크 노드에서, 상기 내부 키로 암호화된 상기 시드 정보를 포함하는 단독으로 암호화된 시드 데이터를 노출시키기 위하여, 상기 변환된 매칭 함수에 의해 출력된 상기 성공 키를 이용하여, 상기 이중으로 암호화된 시드 데이터를 복호화하는 단계; 및
    상기 복호화 이후에, 상기 보안 동작을 추가로 인에이블하기 위하여, 상기 네트워크 노드로부터, 원격 개체로, 상기 단독으로 암호화된 시드 데이터를 전송하는 단계를 포함하는, 방법.
  7. 제6항에 있어서, 상기 원격 개체는 상기 제1 사용자 전자 디바이스인, 방법.
  8. 제6항에 있어서, 상기 원격 개체는 상기 제2 사용자 전자 디바이스인, 방법.
  9. 제6항에 있어서, 상기 통신 프로토콜 정보는 상기 제1 사용자 전자 디바이스의 공개 암호화 키로 암호화된 상기 내부 키를 포함하는 암호화된 내부 키 데이터를 추가로 포함하는, 방법.
  10. 제9항에 있어서,
    상기 제2 사용자 전자 디바이스는 상기 제1 사용자 전자 디바이스이고;
    상기 통신 프로토콜 정보의 상기 제한되지 않은 인증 입력은 상기 내부 키로 암호화되고;
    상기 방법은, 상기 통신 프로토콜 정보를 수신한 이후지만, 상기 제한된 인증 입력을 수신하기 전에, 상기 네트워크 노드로부터, 상기 제1 사용자 전자 디바이스로, 상기 암호화된 내부 키 데이터 및 상기 내부 키로 암호화된 상기 제한되지 않은 인증 입력을 전송하는 단계를 추가로 포함하는, 방법.
  11. 제6항에 있어서, 상기 시드 정보는 상기 제1 사용자 전자 디바이스에 의해 생성된 비밀 시드의 적어도 일부분을 포함하는, 방법.
  12. 제11항에 있어서, 상기 비밀 시드는 상기 제2 순간에 상기 제1 사용자 전자 디바이스 상에 저장되지 않는, 방법.
  13. 제6항에 있어서,
    상기 통신 프로토콜 정보는 상기 내부 키로 암호화되고 이어서 상기 성공 키로 암호화된 등록 생체인식 템플릿 정보를 포함하는 이중으로 암호화된 등록 생체인식 템플릿 데이터를 추가로 포함하고;
    상기 성공 키를 이용하는 단계는:
    상기 네트워크 노드에서, 상기 변환된 매칭 함수에 의해 출력된 상기 성공 키를 이용하여, 상기 내부 키로 암호화된 상기 등록 생체인식 템플릿 정보를 포함하는 단독으로 암호화된 등록 생체인식 템플릿 데이터를 노출시키기 위하여 상기 이중으로 암호화된 등록 생체인식 템플릿 데이터를 복호화하는 단계; 및
    상기 복호화 이후에, 상기 네트워크 노드로부터, 상기 원격 개체로, 상기 단독으로 암호화된 등록 생체인식 템플릿 데이터를 전송하는 단계를 추가로 포함하는, 방법.
  14. 제6항에 있어서, 상기 원격 개체는 서드 파티 서브시스템으로부터의 시도를 인증하기 위하여 상기 시드 정보를 이용하도록 구성된, 방법.
  15. 네트워크 노드를 이용하여 사용자 전자 디바이스의 사용자를 인증하기 위한 방법으로서,
    상기 사용자 전자 디바이스에서, 시드를 획득하는 단계;
    상기 사용자 전자 디바이스에서, 사용자 등록 생체인식 식별자 정보를 나타내는 등록 생체인식 템플릿을 생성하는 단계;
    상기 사용자 전자 디바이스에서, 제1 입력 및 제2 입력을 이용하여 변환된 매칭 함수를 성공적으로 평가하는 것에 응답하여 성공 키를 출력하도록 동작하는 상기 변환된 매칭 함수를 식별하는 단계;
    상기 사용자 전자 디바이스에서, 상기 등록 생체인식 템플릿을 이용하여 상기 제1 입력을 제한함으로써 제한된 등록 입력을 생성하는 단계;
    상기 사용자 전자 디바이스에서, 상기 성공 키로, 상기 시드의 적어도 일부분을 포함하는 시드 정보를 암호화하는 단계;
    상기 암호화 이후에, 상기 시드를 상기 사용자 전자 디바이스로부터 삭제하는 단계; 및
    상기 사용자 전자 디바이스로부터, 상기 네트워크 노드로, 상기 암호화된 시드 정보를 포함하는 등록 데이터 및 상기 변환된 매칭 함수 및 상기 제한된 등록 입력을 전송하는 단계를 포함하는, 방법.
  16. 제15항에 있어서,
    상기 방법은, 상기 사용자 전자 디바이스에서, 내부 키를 생성하는 단계를 추가로 포함하고;
    상기 시드 정보는 상기 내부 키로 암호화된 상기 시드의 상기 적어도 일부분을 포함하는, 방법.
  17. 제15항에 있어서,
    상기 전송 이후에, 상기 사용자 전자 디바이스에서, 상기 네트워크 노드로부터, 상기 시드 정보를 수신하는 단계;
    상기 사용자 전자 디바이스에서, 상기 수신된 시드 정보를 이용하여 상기 시드를 복구하는 단계; 및
    상기 전자 디바이스에서, 보안 동작을 인에이블하기 위하여 상기 복구된 시드를 이용하는 단계를 추가로 포함하는, 방법.
  18. 제15항에 있어서,
    상기 전송 이후에, 상기 사용자 전자 디바이스에서, 사용자 인증 생체인식 식별자 정보를 나타내는 인증 생체인식 샘플을 생성하는 단계;
    상기 사용자 전자 디바이스에서, 상기 인증 생체인식 샘플을 이용하여 상기 제2 입력을 제한함으로써 제한된 인증 입력을 생성하는 단계; 및
    상기 사용자 전자 디바이스로부터, 상기 네트워크 노드로, 상기 제한된 인증 입력을 전송하는 단계를 추가로 포함하는, 방법.
  19. 제15항에 있어서,
    상기 사용자 전자 디바이스에서, 상기 성공 키로, 상기 등록 생체인식 템플릿의 적어도 일부분을 포함하는 등록 생체인식 템플릿 정보를 암호화하는 단계; 및
    상기 등록 생체인식 템플릿 정보의 암호화 및 상기 제한된 등록 입력의 생성 둘 모두의 이후에, 상기 등록 생체인식 템플릿을 상기 사용자 전자 디바이스로부터 삭제하는 단계를 추가로 포함하고, 상기 등록 데이터는 상기 암호화된 등록 생체인식 템플릿 정보를 추가로 포함하는, 방법.
  20. 적어도 하나의 프로그램을 저장하는 비일시적 컴퓨터-판독가능 저장 매체로서, 상기 적어도 하나의 프로그램은, 전자 서브시스템의 적어도 하나의 프로세서에 의해 실행 시, 상기 적어도 하나의 프로세서로 하여금:
    사용자 전자 디바이스로부터, 제한된 등록 입력 - 상기 제한된 등록 입력은 제한되지 않은 등록 입력을 등록 순간에 캡처된 사용자 등록 생체인식을 나타내는 등록 생체인식 템플릿에 의해 제한함으로써 생성됨 - 을 수신하고;
    상기 사용자 전자 디바이스로부터, 제한된 인증 입력 - 상기 제한된 인증 입력은 제한되지 않은 인증 입력을 상기 등록 순간 이후인 인증 순간에 캡처된 사용자 인증 생체인식을 나타내는 인증 생체인식 샘플에 의해 제한함으로써 생성됨 - 을 수신하고;
    상기 사용자 전자 디바이스로부터, 2개의 입력을 이용하여 변환된 매칭 함수를 성공적으로 평가하는 것에 응답하여 성공 키를 출력하도록 동작하는 상기 변환된 매칭 함수를 수신하고;
    상기 수신된 제한된 등록 입력 및 상기 수신된 제한된 인증 입력을 이용하여 상기 수신된 변환된 매칭 함수를 평가하고;
    상기 평가가 성공적이면, 보안 동작을 인에이블하기 위하여 상기 변환된 매칭 함수에 의해 출력된 상기 성공 키를 사용하게 하는 명령어들을 포함하는, 비일시적 컴퓨터-판독가능 저장 매체.
KR1020217019846A 2019-02-08 2020-02-10 인증 프로세싱 서비스 KR102373264B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962802854P 2019-02-08 2019-02-08
US62/802,854 2019-02-08
US201962862454P 2019-06-17 2019-06-17
US62/862,454 2019-06-17
PCT/US2020/017511 WO2020163865A1 (en) 2019-02-08 2020-02-10 Authentication processing service

Publications (2)

Publication Number Publication Date
KR20210084652A KR20210084652A (ko) 2021-07-07
KR102373264B1 true KR102373264B1 (ko) 2022-03-10

Family

ID=71945407

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217019846A KR102373264B1 (ko) 2019-02-08 2020-02-10 인증 프로세싱 서비스

Country Status (5)

Country Link
US (2) US11101986B2 (ko)
EP (1) EP3909198B1 (ko)
KR (1) KR102373264B1 (ko)
SG (1) SG11202106461YA (ko)
WO (1) WO2020163865A1 (ko)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11527107B1 (en) * 2018-06-29 2022-12-13 Apple Inc. On the fly enrollment for facial recognition
US11411738B2 (en) * 2018-10-04 2022-08-09 Visa International Service Association Leveraging multiple devices to enhance security of biometric authentication
US11411955B2 (en) * 2019-03-15 2022-08-09 Microsoft Technology Licensing, Llc User choice in data location and policy adherence
US11412002B2 (en) * 2019-03-15 2022-08-09 Microsoft Technology Licensing, Llc Provision of policy compliant storage for DID data
JP2022534338A (ja) 2019-03-27 2022-07-29 インテル コーポレイション スマート・ディスプレイ・パネル装置および関連する方法
US11218307B1 (en) 2019-04-24 2022-01-04 Wells Fargo Bank, N.A. Systems and methods for generation of the last obfuscated secret using a seed
US11379016B2 (en) 2019-05-23 2022-07-05 Intel Corporation Methods and apparatus to operate closed-lid portable computers
US11543873B2 (en) 2019-09-27 2023-01-03 Intel Corporation Wake-on-touch display screen devices and related methods
US11733761B2 (en) 2019-11-11 2023-08-22 Intel Corporation Methods and apparatus to manage power and performance of computing devices based on user presence
FR3103938B1 (fr) * 2019-12-03 2021-11-12 Idemia Identity & Security France Procédé de détection d’au moins un élément d’intérêt visible dans une image d’entrée au moyen d’un réseau de neurones à convolution
WO2021113034A1 (en) * 2019-12-05 2021-06-10 Identité, Inc. Full-duplex password-less authentication
US20220116385A1 (en) * 2019-12-05 2022-04-14 Identité, Inc. Full-Duplex Password-less Authentication
US20210194874A1 (en) * 2019-12-09 2021-06-24 Badge Inc. Privacy-Preserving Biometric Authentication
US11809535B2 (en) * 2019-12-23 2023-11-07 Intel Corporation Systems and methods for multi-modal user device authentication
GB2592893A (en) * 2019-12-24 2021-09-15 Geromics Ltd Method and system for digital attestation
US11360528B2 (en) 2019-12-27 2022-06-14 Intel Corporation Apparatus and methods for thermal management of electronic user devices based on user activity
US20210266170A1 (en) * 2020-02-26 2021-08-26 Antonio Rossi System and method of trustless confidential positive identification and de-anonymization of data using blockchain
US20210314293A1 (en) * 2020-04-02 2021-10-07 Hewlett Packard Enterprise Development Lp Method and system for using tunnel extensible authentication protocol (teap) for self-sovereign identity based authentication
US11601279B2 (en) * 2020-06-12 2023-03-07 Capital One Services, Llc Systems and methods for payment authentication
CA3189780A1 (en) * 2020-07-21 2022-01-27 Royal Bank Of Canada Facial recognition tokenization
US20220103362A1 (en) * 2020-09-30 2022-03-31 214 Technologies Inc. Biometric-based identity authentication
WO2022132950A1 (en) * 2020-12-15 2022-06-23 ClearVector, Inc. Computer-implemented methods, systems comprising computer-readable media, and electronic devices for resource preservation and intervention within a network computing environment
US11750391B2 (en) * 2020-12-20 2023-09-05 Secret Double Octopus Ltd. System and method for performing a secure online and offline login process
EP4272378A1 (en) 2020-12-30 2023-11-08 Rosas Bustos, Jose R. Systems and methods of creating and operating a cloudless infrastructure of computing devices
CN112749402B (zh) * 2021-01-07 2024-04-23 苍穹数码技术股份有限公司 电子数据的处理方法、装置、电子设备及存储介质
US11663318B2 (en) * 2021-01-26 2023-05-30 Secret Double Octopus Ltd. Decentralized password vault
US20220245225A1 (en) * 2021-02-02 2022-08-04 Clarkson University System and method to authenticate users on a computing system using a free text behavioral biometric method
US20220255759A1 (en) * 2021-02-08 2022-08-11 Twilio Inc. Verification push notifications through web-browser
WO2022189605A1 (en) * 2021-03-11 2022-09-15 Jt International S.A. Vaping device biometric data authentication method, vaping device for implementing said method, and computer-readable storage medium for implementing said method
US11803842B2 (en) * 2021-06-18 2023-10-31 Knabu Distributed Systems Ltd System and method for authenticating digital transaction by implementing multi-party computation protocol
US11831688B2 (en) * 2021-06-18 2023-11-28 Capital One Services, Llc Systems and methods for network security
US11991282B2 (en) * 2021-07-30 2024-05-21 Visa International Service Association Distributed private key recovery
US11567319B1 (en) * 2021-10-06 2023-01-31 Piamond Corp Method and system for implementing platform for providing offline information to smart glass
US11960585B2 (en) * 2021-11-30 2024-04-16 Micro Focus Llc Obfuscating biometric data to provide enhanced authentication security
US11727100B1 (en) * 2022-06-09 2023-08-15 The Government of the United States of America, as represented by the Secretary of Homeland Security Biometric identification using homomorphic primary matching with failover non-encrypted exception handling
US11777727B1 (en) * 2022-08-29 2023-10-03 Osom Products, Inc. Distributed digital wallet seed phrase
WO2024072911A1 (en) * 2022-09-27 2024-04-04 Thirdwayv, Inc. Securing browser extension crypto wallets using a hardware dongle
DE102022210717A1 (de) 2022-10-11 2024-04-11 Volkswagen Aktiengesellschaft Verfahren für ein Fahrzeug, Computerprogramm, Vorrichtung und Fahrzeug
US12067750B2 (en) 2022-10-27 2024-08-20 The Government of the United States of America, as represented by the Secretary of Homeland Security Methods and systems for establishing accurate phenotype metrics
CN115714689B (zh) * 2022-11-30 2023-08-08 重庆忽米网络科技有限公司 基于iam的ui资源访问控制方法
WO2024129643A1 (en) * 2022-12-13 2024-06-20 Visa International Service Association System and method for a network authentication with device level authentication controls

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013134299A1 (en) 2012-03-05 2013-09-12 Visa International Service Association Authentication using biometric technology through a consumer device
US20140259120A1 (en) 2005-07-07 2014-09-11 Kabushiki Kaisha Toshiba Authentication Entity Device, Verification Device and Authentication Request Device

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110116913A (ko) 2010-04-20 2011-10-26 엘지전자 주식회사 서비스 인증 장치 및 그 방법
US9053310B2 (en) * 2013-08-08 2015-06-09 Duo Security, Inc. System and method for verifying status of an authentication device through a biometric profile
US8965066B1 (en) * 2013-09-16 2015-02-24 Eye Verify LLC Biometric template security and key generation
US9838388B2 (en) * 2014-08-26 2017-12-05 Veridium Ip Limited System and method for biometric protocol standards
US9537661B2 (en) 2014-02-28 2017-01-03 Verizon Patent And Licensing Inc. Password-less authentication service
US9749128B2 (en) * 2014-05-15 2017-08-29 Xerox Corporation Compact fuzzy private matching using a fully-homomorphic encryption scheme
WO2016135738A1 (en) 2015-02-27 2016-09-01 Dyadic Security Ltd Asystem and methods for protecting keys using garbled circuits
WO2017195886A1 (ja) * 2016-05-13 2017-11-16 日本電気株式会社 認証システム、認証方法およびプログラム
US10091195B2 (en) * 2016-12-31 2018-10-02 Nok Nok Labs, Inc. System and method for bootstrapping a user binding
US10237070B2 (en) * 2016-12-31 2019-03-19 Nok Nok Labs, Inc. System and method for sharing keys across authenticators
CN110494854B (zh) 2017-03-24 2023-09-01 维萨国际服务协会 使用安全多方计算的认证系统
WO2019222709A1 (en) * 2018-05-17 2019-11-21 Badge Inc. System and method for securing personal information via biometric public key

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140259120A1 (en) 2005-07-07 2014-09-11 Kabushiki Kaisha Toshiba Authentication Entity Device, Verification Device and Authentication Request Device
WO2013134299A1 (en) 2012-03-05 2013-09-12 Visa International Service Association Authentication using biometric technology through a consumer device

Also Published As

Publication number Publication date
EP3909198B1 (en) 2024-09-18
EP3909198A4 (en) 2022-03-23
KR20210084652A (ko) 2021-07-07
US20210344487A1 (en) 2021-11-04
US11563564B2 (en) 2023-01-24
US11101986B2 (en) 2021-08-24
EP3909198A1 (en) 2021-11-17
US20200259638A1 (en) 2020-08-13
SG11202106461YA (en) 2021-07-29
WO2020163865A1 (en) 2020-08-13

Similar Documents

Publication Publication Date Title
KR102373264B1 (ko) 인증 프로세싱 서비스
US9832020B2 (en) Cryptographic protocol for portable devices
CA2898609C (en) Cryptographic protocol for portable devices
Praveen et al. A secure lightweight fuzzy embedder based user authentication scheme for internet of medical things applications
KR102582094B1 (ko) 컨센서스 기반 온라인 인증
US11223478B2 (en) Biometric authentication with template privacy and non-interactive re-enrollment
WO2017044554A1 (en) Biometric verification of a blockchain database transaction contributor
CN108140082A (zh) 使用非对称密钥的多因素用户认证框架
US11664980B1 (en) Brain-actuated control authenticated key exchange
US20240098491A1 (en) Cryptographic process for portable devices, and user presence and/or access authorization system and method employing same
US10719594B2 (en) Secure re-enrollment of biometric templates using distributed secure computation and secret sharing
Gope et al. A comparative study of design paradigms for PUF-based security protocols for IoT devices: Current progress, challenges, and future expectation
Zhang et al. Privacy-preserving fast three-factor authentication and key agreement for IoT-based E-health systems
Ying et al. Efficient authentication protocol for continuous monitoring in medical sensor networks
US11936775B2 (en) Authentication processing services for generating high-entropy cryptographic keys
Zhao et al. Electrocardiogram based group device pairing for wearables
Sigg Context-based security: State of the art, open research topics and a case study
CA2924926C (en) Cryptographic protocol for portable devices
US11947648B2 (en) Electronic device related to user identification, authentication, liveliness, encryption using biometrics technology and methods for operation thereof
Mukherjee An Approach to Software Development for Continuous Authentication of Smart Wearable Device Users
Lopez et al. Erinyes: A Continuous Authentication Protocol
Acar Privacy-aware Security Applications in the Era of Internet of Things
Radwan Mohsen Lightweight & Efficient Authentication for Continuous Static and Dynamic Patient Monitoring in Wireless Body Sensor Networks
EP4150493A1 (en) Electronic devices related to physiological certificate using biometrics technology and methods for operation thereof

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant