KR20220043086A - 사용자 비대면 인증 VC(verifiable credential)를 이용한 DID(decentralized identifier) 기반의 사용자 비대면 인증 방법 및 이를 이용한 인증 지원 서버 - Google Patents

사용자 비대면 인증 VC(verifiable credential)를 이용한 DID(decentralized identifier) 기반의 사용자 비대면 인증 방법 및 이를 이용한 인증 지원 서버 Download PDF

Info

Publication number
KR20220043086A
KR20220043086A KR1020220035995A KR20220035995A KR20220043086A KR 20220043086 A KR20220043086 A KR 20220043086A KR 1020220035995 A KR1020220035995 A KR 1020220035995A KR 20220035995 A KR20220035995 A KR 20220035995A KR 20220043086 A KR20220043086 A KR 20220043086A
Authority
KR
South Korea
Prior art keywords
user
information
server
face
authentication
Prior art date
Application number
KR1020220035995A
Other languages
English (en)
Inventor
어준선
서문규
송주한
Original Assignee
주식회사 코인플러그
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020210095189A external-priority patent/KR102455825B1/ko
Application filed by 주식회사 코인플러그 filed Critical 주식회사 코인플러그
Publication of KR20220043086A publication Critical patent/KR20220043086A/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/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
    • 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
    • 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/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • G06Q20/40145Biometric identity checks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • 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/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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/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/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Optics & Photonics (AREA)
  • Bioethics (AREA)
  • Collating Specific Patterns (AREA)

Abstract

사용자 비대면 인증 VC(verifiable credential)를 이용한 DID(decentralized identifier) 기반의 사용자 비대면 인증 방법에 있어서, (a) 블록체인 네트워크를 통해 사용자 DID가 발행되며, 상기 사용자 DID에 대응되는 사용자 퍼블릭키가 상기 블록체인 네트워크에 등록된 상태에서, 사용자 단말로부터 상기 사용자 DID, 본인확인 정보, 실시간 사용자 생체 정보, 및 상기 실시간 사용자 생체 정보를 상기 사용자 퍼블릭키에 대응되는 사용자 프라이빗키로 서명한 사용자 서명값을 포함하는 비대면 정보 인증 요청이 획득되면, 인증 지원 서버가, 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키를 획득하거나, 리졸버 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크에 등록된 적어도 상기 사용자 퍼블릭키를 포함하는 상기 사용자 DID에 대응되는 정보들을 획득하여 사용자 DID 문서를 생성하여 상기 인증 지원 서버로 전송하도록 함으로써 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키를 획득하고, 상기 사용자 퍼블릭키를 이용하여 상기 사용자 서명값을 검증하는 단계; 및 (b) 상기 사용자 서명값이 검증되면, 상기 인증 지원 서버가, 상기 실시간 사용자 생체 정보로부터 추출된 실시간 특징점 정보 및 상기 본인확인 정보를 CA(certification authority) 서버로 전송하여 상기 CA 서버로 하여금 상기 본인확인 정보를 인증하도록 하며, 상기 본인확인 정보의 인증 결과에 따라 CA 서버 DID, 상기 실시간 특징점 정보를 가공한 가공 정보, 및 상기 가공 정보를 CA 서버 프라이빗키로 서명한 CA 서버 서명값을 포함하는 인증 결과 정보를 상기 인증 지원 서버로 전송하도록 하며, 상기 인증 결과 정보가 획득되면, 상기 CA 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 CA 서버 DID에 대응되는 CA 서버 퍼블릭키를 획득하거나, 상기 리졸버 서버로 하여금 상기 CA 서버 DID를 이용하여 상기 블록체인 네트워크에 등록된 적어도 상기 CA 서버 퍼블릭키를 포함하는 상기 CA 서버 DID에 대응되는 정보들을 획득하여 CA 서버 DID 문서를 생성하여 상기 인증 지원 서버로 전송하도록 함으로써 상기 CA 서버 DID 문서로부터 상기 CA 서버 퍼블릭키를 획득하고, 상기 CA 서버 퍼블릭키를 이용하여 상기 CA 서버 서명값을 검증하며, 상기 CA 서버 서명값이 검증되면 상기 인증 결과 정보를 상기 블록체인 네트워크에 등록하며, 상기 블록체인 네트워크에 등록된 상기 인증 결과 정보에 대한 상기 사용자 비대면 인증 VC를 상기 사용자 단말로 전송하여 주는 단계;를 포함하는 방법 및 이를 이용한 인증 지원 서버가 개시된다.

Description

사용자 비대면 인증 VC(verifiable credential)를 이용한 DID(decentralized identifier) 기반의 사용자 비대면 인증 방법 및 이를 이용한 인증 지원 서버{METHOD FOR AUTHENTICATING USER CONTACTLESSLY BASED ON DECENTRALIZED IDENTIFIER USING VERIFIABLE CREDENTIAL AND AUTHENTICATION SUPPORTING SERVER USING THE SAME}
본 발명은 사용자 비대면 인증 VC(verifiable credential)를 이용한 DID(decentralized identifier) 기반의 사용자 비대면 인증 방법 및 이를 이용한 인증 지원 서버에 관한 것으로, 보다 상세하게는, DID 기반의 사용자 서명 인증과 비대면 정보를 이용하여 사용자를 비대면 인증하는 사용자 비대면 인증 VC를 이용한 DID 기반의 사용자 비대면 인증 방법 및 이를 이용한 인증 지원 서버에 관한 것이다.
기존에 개인 인증을 위한 보안 영역의 기술은 일반적으로 사용자가 기억하고 있는 보안정보 키인(Key-in) 방식이나, 생체 인증을 이용한 지문, 지정맥, 장정맥 등과 같은 접촉식 보안 기술이 주류를 이루고 있다.
하지만, 이러한 기술들은 피측정자들의 불필요한 간접 접촉을 유발하여 질병 감염을 비롯한 위생 문제를 초래할 수 있으며, 인증 과정에서도 피측정자에게 복잡한 절차를 요구하였으므로, 피측정자의 기술에 대한 이해가 부족할 경우 불편함이 수반될 수밖에 없었고, 이는 결국 편의성 측면에서 기술의 보편성을 제공하기 어려운 요소로 인식되는 문제점이 존재하였다.
이러한 문제점을 해결하기 위하여 최근에는 비대면 인증 방식이 적용되고 있으며, 이에 따라, 일 예로, 은행창구에 가지 않더라도 비대면 인증을 통해 계좌 개설이 가능하게 되었다. 이는 법적규제로 인해 새로운 금융서비스가 적용되지 못하는 상황을 해결하기 위해, 금융위원회에서 금융개혁의 일환으로서 허용한 조치로서, 금융실명법 및 전자금융거래법에서 비대면 인증 방식을 허용하게 되었다.
이러한 비대면 인증 방식에서는, 금융 거래 등에서 비대면 인증이 필요한 경우 금융보안원의 가이드를 준수하여 보안심사과정을 통과해야만 서비스를 제공할 수 있었다.
일례로, 일반적인 비대면 인증 방식에는, 필수적으로 포함되어야 하는 인증 방식으로서 본인증표 사본 제출, 영상통화, 접근매체 전달 시 확인, 기존계좌 활용 및 기타 이에 준하는 방식 등이 있으며, 선택적으로 포함되는 인증 방식으로서 다수의 개인 정보 검증 및 타기관 확인결과 활용 등이 존재하였다.
하지만, 종래의 중앙집중형 신원확인 기술에서는 개인 정보(생체 정보 포함)의 주권이 보장되지 않으며, 개인 정보 유출 등의 한계를 보이고 있다.
또한, 종래에 널리 이용되던 공인인증서의 경우, 복사 및 탈취가 가능하였으므로, 비대면 서비스 분야에 적용되기에는 부족한 인증 수단으로 인식되는 문제점이 존재하였다.
따라서, 비대면 서비스 분야에 적용할 수 있는 간편하면서도 안전한 본인인증 방식과 이를 입증할 전자서명의 검증된 기술이 요구되는 실정이다.
본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은 생체 정보를 통해 각각의 사용자를 식별하는 생체인식 기술을 이용하여, 비대면/비접촉식 신원 인증이 이루어지도록 하는 것을 다른 목적으로 한다.
또한, 본 발명은 블록체인 기반의 Decentralized Identifier를 이용하여 인증 및 전자서명이 이루어지도록 함으로써, 신원정보를 사용자 스스로 관리/감독하고, 신원정보의 공개 대상 및 범위를 사용자 스스로 선택할 수 있도록 자기 통제형 분산 디지털 신원정보 관리 기술을 제공하는 것을 또 다른 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한, 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, 사용자 비대면 인증 VC(verifiable credential)를 이용한 DID(decentralized identifier) 기반의 사용자 비대면 인증 방법에 있어서, (a) 블록체인 네트워크를 통해 사용자 DID가 발행되며, 상기 사용자 DID에 대응되는 사용자 퍼블릭키가 상기 블록체인 네트워크에 등록된 상태에서, 사용자 단말로부터 상기 사용자 DID, 본인확인 정보, 실시간 사용자 생체 정보, 및 상기 실시간 사용자 생체 정보를 상기 사용자 퍼블릭키에 대응되는 사용자 프라이빗키로 서명한 사용자 서명값을 포함하는 비대면 정보 인증 요청이 획득되면, 인증 지원 서버가, 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키를 획득하거나, 리졸버 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크에 등록된 적어도 상기 사용자 퍼블릭키를 포함하는 상기 사용자 DID에 대응되는 정보들을 획득하여 사용자 DID 문서를 생성하여 상기 인증 지원 서버로 전송하도록 함으로써 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키를 획득하고, 상기 사용자 퍼블릭키를 이용하여 상기 사용자 서명값을 검증하는 단계; 및 (b) 상기 사용자 서명값이 검증되면, 상기 인증 지원 서버가, 상기 실시간 사용자 생체 정보로부터 추출된 실시간 특징점 정보 및 상기 본인확인 정보를 CA(certification authority) 서버로 전송하여 상기 CA 서버로 하여금 상기 본인확인 정보를 인증하도록 하며, 상기 본인확인 정보의 인증 결과에 따라 CA 서버 DID, 상기 실시간 특징점 정보를 가공한 가공 정보, 및 상기 가공 정보를 CA 서버 프라이빗키로 서명한 CA 서버 서명값을 포함하는 인증 결과 정보를 상기 인증 지원 서버로 전송하도록 하며, 상기 인증 결과 정보가 획득되면, 상기 CA 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 CA 서버 DID에 대응되는 CA 서버 퍼블릭키를 획득하거나, 상기 리졸버 서버로 하여금 상기 CA 서버 DID를 이용하여 상기 블록체인 네트워크에 등록된 적어도 상기 CA 서버 퍼블릭키를 포함하는 상기 CA 서버 DID에 대응되는 정보들을 획득하여 CA 서버 DID 문서를 생성하여 상기 인증 지원 서버로 전송하도록 함으로써 상기 CA 서버 DID 문서로부터 상기 CA 서버 퍼블릭키를 획득하고, 상기 CA 서버 퍼블릭키를 이용하여 상기 CA 서버 서명값을 검증하며, 상기 CA 서버 서명값이 검증되면 상기 인증 결과 정보를 상기 블록체인 네트워크에 등록하며, 상기 블록체인 네트워크에 등록된 상기 인증 결과 정보에 대한 상기 사용자 비대면 인증 VC를 상기 사용자 단말로 전송하여 주는 단계;를 포함하는 방법이 개시된다.
일례로서, 상기 본인확인 정보는 상기 사용자의 본인증표 정보이며, 상기 (a) 단계에서, 상기 인증 지원 서버가, 상기 실시간 사용자 생체 정보가 위변조 되었는지 여부를 판단하며, 상기 실시간 사용자 생체 정보가 위변조 되지 않은 것으로 판단되면, 상기 본인증표 정보에 포함된 사용자 생체 정보로부터 추출된 본인증표 특징점 정보 및 상기 실시간 특징점 정보를 참조하여 상기 사용자 생체 정보 및 상기 실시간 사용자 생체 정보의 일치 여부를 판단함으로써 상기 실시간 사용자 생체 정보의 유효성을 확인하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 실시간 사용자 생체 정보는, 상기 사용자 단말이 상기 사용자의 안면부를 촬상함으로써 생성되는 이미지 정보로서, 상기 사용자 단말의 ToF(Time of Flight) 모듈을 통해 센싱되는 상기 사용자의 상기 안면부에 대한 공간 정보를 포함하며, 상기 (a) 단계에서, 상기 인증 지원 서버가, 상기 사용자 단말로부터 상기 사용자의 상기 안면부 각각의 지점까지의 거리 정보를 나타내는 상기 공간 정보를 참조하여 상기 실시간 사용자 생체 정보가 위변조 되었는지 여부를 판단하는 것을 특징으로 하는 방법이 개시된다.
일례로서, (i) 상기 사용자 생체 정보는, 상기 본인증표 정보에 포함되는 상기 사용자의 안면 이미지 정보이며, (ii) 상기 실시간 사용자 생체 정보는, 상기 인증 지원 서버가 상기 실시간 사용자 생체 정보를 요청함에 따라 상기 사용자의 안면부가 촬상됨으로써 생성되는 실시간 이미지 정보인 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (a) 단계에서, 상기 인증 지원 서버가, 상기 본인증표 정보에 포함되는 상기 안면 이미지 정보 및 상기 실시간 이미지 정보 각각을 컨볼루션 레이어에 각각 입력시킴으로써 상기 컨볼루션 레이어로 하여금 상기 안면 이미지 정보 및 상기 실시간 이미지 정보 각각에 적어도 한 번 컨볼루션 연산을 적용하도록 하여 상기 안면 이미지 정보 및 상기 실시간 이미지 정보 각각에 대응되는 안면 피처 맵(feature map) 및 실시간 피처 맵 각각을 출력하도록 하며, 상기 안면 피처 맵 및 상기 실시간 피처 맵 각각을 상기 RPN으로 각각 입력하여 상기 RPN으로 하여금 상기 안면 피처 맵 및 상기 실시간 피처 맵 상에서 상기 사용자의 안면부 영역에 대응되는 프로포잘 박스(proposal box)들을 각각 출력하도록 하며, 상기 풀링 레이어로 하여금 상기 프로포잘 박스들에 각각 대응되는 상기 안면 피처 맵 및 상기 실시간 피처 맵 상의 영역들을 각각 풀링하여 풀링된 피처 맵들에 대응되는 안면 피처 벡터 및 실시간 피처 벡터 각각을 출력하도록 하고, 상기 안면 피처 벡터 및 상기 실시간 피처 벡터 각각을 FC 레이어로 입력하여 상기 FC 레이어로 하여금 상기 안면 피처 벡터 및 상기 실시간 피처 벡터 각각에 대응되는 제1 스코어 및 제2 스코어를 각각 출력하도록 하고, 상기 제1 스코어 및 상기 제2 스코어를 참조하여 상기 실시간 사용자 생체 정보의 유효성을 확인하도록 하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 본인확인 정보는 상기 사용자의 본인증표 정보이며, 상기 (b) 단계에서, 상기 인증 지원 서버가, 상기 CA 서버로 하여금 상기 본인증표 정보로부터 본인증표 특징점 정보를 추출하도록 하며, 상기 본인증표 정보에 대응되는 본인증표 원부 정보로부터 본인증표 원부 특징점 정보를 추출하도록 하고, 상기 본인증표 특징점 정보 및 상기 본인증표 원부 특징점 정보를 참조하여 상기 본인증표 정보 및 상기 본인증표 원부 정보의 일치 여부를 판단하도록 함으로써 상기 본인증표 정보를 인증하도록 하는 것을 특징으로 하는 방법이 개시된다.
일례로서, (c) 상기 사용자 단말로부터 서비스 제공 요청이 서비스 제공 서버로 전송되고, 상기 서비스 제공 서버에 의한 서비스가 상기 사용자 단말로 제공되기 위한 인증 정보로서 상기 실시간 사용자 생체 정보에 대한 비대면 인증 요청이 상기 서비스 제공 서버로부터 상기 사용자 단말로 전송되고, 상기 사용자 단말로부터 상기 서비스 제공 서버로 상기 사용자 DID 및 상기 실시간 사용자 생체 정보에 대한 상기 사용자 비대면 인증 VC가 전송되어, 상기 서비스 제공 서버로부터 상기 사용자 비대면 인증 VC에 대한 인증 요청 - 상기 사용자 비대면 인증 VC에 대한 인증 요청은 사용자 DID, 상기 사용자 비대면 인증 VC 및 상기 사용자 비대면 인증 VC를 상기 사용자 프라이빗키로 서명한 VC 사용자 서명값을 포함함 - 이 획득되면, 상기 인증 지원 서버가, 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키를 획득하거나, 상기 리졸버 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크에 등록된 적어도 상기 사용자 퍼블릭키를 포함하는 상기 사용자 DID에 대응되는 정보들을 획득하여 상기 사용자 DID 문서를 생성하여 상기 인증 지원 서버로 전송하도록 함으로써 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키를 획득하고, 상기 사용자 퍼블릭키를 이용하여 상기 VC 사용자 서명값을 검증하며, 상기 VC 사용자 서명값이 검증되어 상기 사용자 비대면 인증 VC가 획득되면, 상기 사용자 비대면 인증 VC에 포함된 상기 CA 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 CA 서버 DID에 대응되는 상기 CA 서버 퍼블릭키를 획득하거나, 상기 리졸버 서버로 하여금 상기 CA 서버 DID를 이용하여 상기 블록체인 네트워크에 등록된 적어도 상기 CA 서버 퍼블릭키를 포함하는 상기 CA 서버 DID에 대응되는 정보들을 획득하여 상기 CA 서버 DID 문서를 생성하여 상기 인증 지원 서버로 전송하도록 함으로써 상기 CA 서버 DID 문서로부터 상기 CA 서버 퍼블릭키를 획득하고, 상기 CA 서버 퍼블릭키를 이용하여 상기 사용자 비대면 인증 VC에 포함된 상기 CA 서버 서명값을 검증하며, 상기 CA 서버 서명값이 검증되어 상기 가공 정보가 획득되면, 상기 사용자 단말로 제1 인증 정보를 요청하고, 상기 사용자 단말로부터 상기 제1 인증 정보로서 신규 사용자 생체 정보가 획득되면, 상기 신규 사용자 생체 정보로부터 추출된 신규 특징점 정보가 가공된 신규 가공 정보와 상기 가공 정보를 참조하여 상기 신규 사용자 생체 정보의 유효성을 확인하며, 상기 신규 사용자 생체 정보의 유효성이 확인되면 상기 비대면 인증 요청에 대응되는 비대면 인증 결과를 상기 서비스 제공 서버로 전송하여 주는 단계;를 더 포함하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 실시간 특징점 정보를 가공한 상기 가공 정보는, 상기 실시간 사용자 생체 정보로부터 추출된 상기 실시간 특징점 정보에 대해 해시 연산이 적용됨으로써 생성되며, 상기 (c) 단계에서, 상기 인증 지원 서버가, 상기 신규 사용자 생체 정보로부터 추출한 신규 특징점 정보에 대해 해시 연산을 적용하여 신규 해시값을 생성하고, 상기 신규 해시값과 상기 가공 정보를 참조하여 상기 신규 사용자 생체 정보의 유효성을 확인하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (c) 단계에서, 상기 신규 사용자 생체 정보는, 상기 사용자의 안면부가 촬상됨으로써 생성되는 이미지 정보로서, ToF(Time of Flight) 모듈을 통해 센싱되는 상기 사용자의 상기 안면부에 대한 공간 정보를 포함하며, 상기 인증 지원 서버가, 상기 ToF 모듈로부터 상기 사용자의 상기 안면부 각각의 지점까지의 거리 정보를 나타내는 상기 공간 정보를 참조하여 상기 신규 사용자 생체 정보가 위변조 되었는지 여부를 판단하고, 상기 신규 사용자 생체 정보가 위변조 되지 않은 것으로 판단되면, 상기 신규 가공 정보 및 상기 가공 정보를 참조하여 상기 신규 사용자 생체 정보의 유효성을 확인하는 것을 특징으로 하는 방법이 개시된다.
본 발명의 다른 태양에 따르면, 사용자 비대면 인증 VC(verifiable credential)를 이용한 DID(decentralized identifier) 기반의 사용자 비대면 인증을 수행하는 인증 지원 서버에 있어서, 인스트럭션들을 저장하는 적어도 하나의 메모리; 및 상기 인스트럭션들을 실행하기 위해 구성된 적어도 하나의 프로세서를 포함하되, 상기 프로세서는, (1) 블록체인 네트워크를 통해 사용자 DID가 발행되며, 상기 사용자 DID에 대응되는 사용자 퍼블릭키가 상기 블록체인 네트워크에 등록된 상태에서, 사용자 단말로부터 상기 사용자 DID, 본인확인 정보, 실시간 사용자 생체 정보, 및 상기 실시간 사용자 생체 정보를 상기 사용자 퍼블릭키에 대응되는 사용자 프라이빗키로 서명한 사용자 서명값을 포함하는 비대면 정보 인증 요청이 획득되면, 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키를 획득하거나, 리졸버 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크에 등록된 적어도 상기 사용자 퍼블릭키를 포함하는 상기 사용자 DID에 대응되는 정보들을 획득하여 사용자 DID 문서를 생성하여 상기 인증 지원 서버로 전송하도록 함으로써 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키를 획득하고, 상기 사용자 퍼블릭키를 이용하여 상기 사용자 서명값을 검증하는 프로세스 및 (2) 상기 사용자 서명값이 검증되면, 상기 실시간 사용자 생체 정보로부터 추출된 실시간 특징점 정보 및 상기 본인확인 정보를 CA(certification authority) 서버로 전송하여 상기 CA 서버로 하여금 상기 본인확인 정보를 인증하도록 하며, 상기 본인확인 정보의 인증 결과에 따라 CA 서버 DID, 상기 실시간 특징점 정보를 가공한 가공 정보, 및 상기 가공 정보를 CA 서버 프라이빗키로 서명한 CA 서버 서명값을 포함하는 인증 결과 정보를 상기 인증 지원 서버로 전송하도록 하며, 상기 인증 결과 정보가 획득되면, 상기 CA 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 CA 서버 DID에 대응되는 CA 서버 퍼블릭키를 획득하거나, 상기 리졸버 서버로 하여금 상기 CA 서버 DID를 이용하여 상기 블록체인 네트워크에 등록된 적어도 상기 CA 서버 퍼블릭키를 포함하는 상기 CA 서버 DID에 대응되는 정보들을 획득하여 CA 서버 DID 문서를 생성하여 상기 인증 지원 서버로 전송하도록 함으로써 상기 CA 서버 DID 문서로부터 상기 CA 서버 퍼블릭키를 획득하고, 상기 CA 서버 퍼블릭키를 이용하여 상기 CA 서버 서명값을 검증하며, 상기 CA 서버 서명값이 검증되면 상기 인증 결과 정보를 상기 블록체인 네트워크에 등록하며, 상기 블록체인 네트워크에 등록된 상기 인증 결과 정보에 대한 상기 사용자 비대면 인증 VC를 상기 사용자 단말로 전송하여 주는 프로세스를 수행하는 인증 지원 서버가 개시된다.
일례로서, 상기 본인확인 정보는 상기 사용자의 본인증표 정보이며, 상기 프로세서는, 상기 (1) 프로세스에서, 상기 실시간 사용자 생체 정보가 위변조 되었는지 여부를 판단하며, 상기 실시간 사용자 생체 정보가 위변조 되지 않은 것으로 판단되면, 상기 본인증표 정보에 포함된 사용자 생체 정보로부터 추출된 본인증표 특징점 정보 및 상기 실시간 특징점 정보를 참조하여 상기 사용자 생체 정보 및 상기 실시간 사용자 생체 정보의 일치 여부를 판단함으로써 상기 실시간 사용자 생체 정보의 유효성을 확인하는 것을 특징으로 하는 인증 지원 서버가 개시된다.
일례로서, 상기 실시간 사용자 생체 정보는, 상기 사용자 단말이 상기 사용자의 안면부를 촬상함으로써 생성되는 이미지 정보로서, 상기 사용자 단말의 ToF(Time of Flight) 모듈을 통해 센싱되는 상기 사용자의 상기 안면부에 대한 공간 정보를 포함하며, 상기 프로세서는, 상기 (1) 프로세스에서, 상기 사용자 단말로부터 상기 사용자의 상기 안면부 각각의 지점까지의 거리 정보를 나타내는 상기 공간 정보를 참조하여 상기 실시간 사용자 생체 정보가 위변조 되었는지 여부를 판단하는 것을 특징으로 하는 인증 지원 서버가 개시된다.
일례로서, (i) 상기 사용자 생체 정보는, 상기 본인증표 정보에 포함되는 상기 사용자의 안면 이미지 정보이며, (ii) 상기 실시간 사용자 생체 정보는, 상기 인증 지원 서버가 상기 실시간 사용자 생체 정보를 요청함에 따라 상기 사용자의 안면부가 촬상됨으로써 생성되는 실시간 이미지 정보인 것을 특징으로 하는 인증 지원 서버가 개시된다.
일례로서, 상기 프로세서는, 상기 (1) 프로세스에서, 상기 본인증표 정보에 포함되는 상기 안면 이미지 정보 및 상기 실시간 이미지 정보 각각을 컨볼루션 레이어에 각각 입력시킴으로써 상기 컨볼루션 레이어로 하여금 상기 안면 이미지 정보 및 상기 실시간 이미지 정보 각각에 적어도 한 번 컨볼루션 연산을 적용하도록 하여 상기 안면 이미지 정보 및 상기 실시간 이미지 정보 각각에 대응되는 안면 피처 맵(feature map) 및 실시간 피처 맵 각각을 출력하도록 하며, 상기 안면 피처 맵 및 상기 실시간 피처 맵 각각을 상기 RPN으로 각각 입력하여 상기 RPN으로 하여금 상기 안면 피처 맵 및 상기 실시간 피처 맵 상에서 상기 사용자의 안면부 영역에 대응되는 프로포잘 박스(proposal box)들을 각각 출력하도록 하며, 상기 풀링 레이어로 하여금 상기 프로포잘 박스들에 각각 대응되는 상기 안면 피처 맵 및 상기 실시간 피처 맵 상의 영역들을 각각 풀링하여 풀링된 피처 맵들에 대응되는 안면 피처 벡터 및 실시간 피처 벡터 각각을 출력하도록 하고, 상기 안면 피처 벡터 및 상기 실시간 피처 벡터 각각을 FC 레이어로 입력하여 상기 FC 레이어로 하여금 상기 안면 피처 벡터 및 상기 실시간 피처 벡터 각각에 대응되는 제1 스코어 및 제2 스코어를 각각 출력하도록 하고, 상기 제1 스코어 및 상기 제2 스코어를 참조하여 상기 실시간 사용자 생체 정보의 유효성을 확인하도록 하는 것을 특징으로 하는 인증 지원 서버가 개시된다.
일례로서, 상기 본인확인 정보는 상기 사용자의 본인증표 정보이며, 상기 프로세서는, 상기 (2) 프로세스에서, 상기 CA 서버로 하여금 상기 본인증표 정보로부터 본인증표 특징점 정보를 추출하도록 하며, 상기 본인증표 정보에 대응되는 본인증표 원부 정보로부터 본인증표 원부 특징점 정보를 추출하도록 하고, 상기 본인증표 특징점 정보 및 상기 본인증표 원부 특징점 정보를 참조하여 상기 본인증표 정보 및 상기 본인증표 원부 정보의 일치 여부를 판단하도록 함으로써 상기 본인증표 정보를 인증하도록 하는 것을 특징으로 하는 인증 지원 서버가 개시된다.
일례로서, (3) 상기 프로세서는, 상기 사용자 단말로부터 서비스 제공 요청이 서비스 제공 서버로 전송되고, 상기 서비스 제공 서버에 의한 서비스가 상기 사용자 단말로 제공되기 위한 인증 정보로서 상기 실시간 사용자 생체 정보에 대한 비대면 인증 요청이 상기 서비스 제공 서버로부터 상기 사용자 단말로 전송되고, 상기 사용자 단말로부터 상기 서비스 제공 서버로 상기 사용자 DID 및 상기 실시간 사용자 생체 정보에 대한 상기 사용자 비대면 인증 VC가 전송되어, 상기 서비스 제공 서버로부터 상기 사용자 비대면 인증 VC에 대한 인증 요청 - 상기 사용자 비대면 인증 VC에 대한 인증 요청은 사용자 DID, 상기 사용자 비대면 인증 VC 및 상기 사용자 비대면 인증 VC를 상기 사용자 프라이빗키로 서명한 VC 사용자 서명값을 포함함 - 이 획득되면, 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키를 획득하거나, 상기 리졸버 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크에 등록된 적어도 상기 사용자 퍼블릭키를 포함하는 상기 사용자 DID에 대응되는 정보들을 획득하여 상기 사용자 DID 문서를 생성하여 상기 인증 지원 서버로 전송하도록 함으로써 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키를 획득하고, 상기 사용자 퍼블릭키를 이용하여 상기 VC 사용자 서명값을 검증하며, 상기 VC 사용자 서명값이 검증되어 상기 사용자 비대면 인증 VC가 획득되면, 상기 사용자 비대면 인증 VC에 포함된 상기 CA 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 CA 서버 DID에 대응되는 상기 CA 서버 퍼블릭키를 획득하거나, 상기 리졸버 서버로 하여금 상기 CA 서버 DID를 이용하여 상기 블록체인 네트워크에 등록된 적어도 상기 CA 서버 퍼블릭키를 포함하는 상기 CA 서버 DID에 대응되는 정보들을 획득하여 상기 CA 서버 DID 문서를 생성하여 상기 인증 지원 서버로 전송하도록 함으로써 상기 CA 서버 DID 문서로부터 상기 CA 서버 퍼블릭키를 획득하고, 상기 CA 서버 퍼블릭키를 이용하여 상기 사용자 비대면 인증 VC에 포함된 상기 CA 서버 서명값을 검증하며, 상기 CA 서버 서명값이 검증되어 상기 가공 정보가 획득되면, 상기 사용자 단말로 제1 인증 정보를 요청하고, 상기 사용자 단말로부터 상기 제1 인증 정보로서 신규 사용자 생체 정보가 획득되면, 상기 신규 사용자 생체 정보로부터 추출된 신규 특징점 정보가 가공된 신규 가공 정보와 상기 가공 정보를 참조하여 상기 신규 사용자 생체 정보의 유효성을 확인하며, 상기 신규 사용자 생체 정보의 유효성이 확인되면 상기 비대면 인증 요청에 대응되는 비대면 인증 결과를 상기 서비스 제공 서버로 전송하여 주는 프로세스;를 더 수행하는 것을 특징으로 하는 인증 지원 서버가 개시된다.
일례로서, 상기 실시간 특징점 정보를 가공한 상기 가공 정보는, 상기 실시간 사용자 생체 정보로부터 추출된 상기 실시간 특징점 정보에 대해 해시 연산이 적용됨으로써 생성되며, 상기 프로세서는, 상기 (3) 프로세스에서, 상기 신규 사용자 생체 정보로부터 추출한 신규 특징점 정보에 대해 해시 연산을 적용하여 신규 해시값을 생성하고, 상기 신규 해시값과 상기 가공 정보를 참조하여 상기 신규 사용자 생체 정보의 유효성을 확인하는 것을 특징으로 하는 인증 지원 서버가 개시된다.
일례로서, 상기 프로세서는, 상기 (3) 프로세스에서, 상기 신규 사용자 생체 정보는, 상기 사용자의 안면부가 촬상됨으로써 생성되는 이미지 정보로서, ToF(Time of Flight) 모듈을 통해 센싱되는 상기 사용자의 상기 안면부에 대한 공간 정보를 포함하며, 상기 ToF 모듈로부터 상기 사용자의 상기 안면부 각각의 지점까지의 거리 정보를 나타내는 상기 공간 정보를 참조하여 상기 신규 사용자 생체 정보가 위변조 되었는지 여부를 판단하고, 상기 신규 사용자 생체 정보가 위변조 되지 않은 것으로 판단되면, 상기 신규 가공 정보 및 상기 가공 정보를 참조하여 상기 신규 사용자 생체 정보의 유효성을 확인하는 것을 특징으로 하는 인증 지원 서버가 개시된다.
본 발명은 생체 정보를 통해 각각의 사용자를 식별하는 생체인식 기술을 이용하여, 비대면/비접촉식 신원 인증이 이루어지도록 하는 효과가 있다.
또한, 본 발명은 블록체인 기반의 Decentralized Identifier를 이용하여 인증 및 전자서명이 이루어지도록 함으로써, 신원정보를 사용자 스스로 관리/감독하고, 신원정보의 공개 대상 및 범위를 사용자 스스로 선택할 수 있도록 자기 통제형 분산 디지털 신원정보 관리 기술을 제공하는 효과가 있다.
본 발명의 실시예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자(이하 "통상의 기술자")에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 본 발명의 일 실시예에 따른 사용자 비대면 인증 VC를 이용한 DID 기반의 사용자 비대면 인증을 수행하는 인증 지원 서버 및 블록체인 네트워크를 개략적으로 도시한 것이며,
도 2는 본 발명의 일 실시예에 따른 사용자 비대면 인증 VC를 이용한 DID 기반의 사용자 비대면 인증을 수행하는 방법에서 사용자 DID를 생성하는 과정을 개략적으로 도시한 것이며,
도 3은 본 발명의 일 실시예에 따른 사용자 비대면 인증 VC를 이용한 DID 기반의 사용자 비대면 인증을 수행하는 방법에서 사용자 비대면 VC를 발행하는 과정을 개략적으로 도시한 것이며,
도 4 및 도 5는 본 발명의 일 실시예에 따른 사용자 비대면 인증 VC를 이용한 DID 기반의 사용자 비대면 인증을 수행하는 방법에서 안면 매칭을 수행하는 과정을 개략적으로 도시한 것이며,
도 6a 내지 도 6f는, 본 발명의 일 실시예에 따른 사용자 비대면 인증 VC를 이용한 DID 기반의 사용자 비대면 인증을 수행하는 방법에서 사용자 비대면 정보에 대한 실시간 정보 여부를 확인하는 상태를 개략적으로 도시한 것이며,
도 7은 본 발명의 일 실시예에 따른 사용자 비대면 인증 VC를 이용한 DID 기반의 사용자 비대면 인증을 수행하는 방법에서 사용자 비대면 정보에 대한 실시간 정보 여부를 확인하기 위한 심층 신경망이 다중 채널 영상 정보를 출력하는 과정을 개략적으로 도시한 것이며,
도 8 및 도 9는 본 발명의 일 실시예에 따른 사용자 비대면 인증 VC를 이용한 DID 기반의 사용자 비대면 인증을 수행하는 방법에서 TOF 카메라를 이용하여 스푸핑 공격을 판단하는 프로세스를 개략적으로 도시한 것이며,
도 10은, 본 발명의 일 실시예에 따른 사용자 비대면 인증 VC를 이용한 DID 기반의 사용자 비대면 인증을 수행하는 방법에서 RGB 카메라로부터 입력 이미지가 획득될 경우, active liveness detection을 통해 스푸핑 공격을 판단하는 프로세스를 개략적으로 도시한 것이며,
도 11은 본 발명의 일 실시예에 따른 사용자 비대면 인증 VC를 이용한 DID 기반의 사용자 비대면 인증을 수행하는 방법에서 안면 인식 알고리즘의 성능을 향상시키기 위한 과정을 개략적으로 도시한 것이며,
도 12는 본 발명의 일 실시예에 따른 사용자 비대면 인증 VC를 이용한 DID 기반의 사용자 비대면 인증을 수행하는 방법에서 사용자 비대면 정보에 대한 실시간 정보 여부를 확인한 후, 사용자 비대면 정보에 대한 특징이 추출되는 프로세스를 개략적으로 도시한 것이며,
도 13은 본 발명의 일 실시예에 따른 사용자 비대면 인증 VC를 이용한 DID 기반의 사용자 비대면 인증을 수행하는 방법에서 사용자 비대면 인증 VC를 이용한 DID 기반의 사용자 비대면 인증이 수행되는 프로세스를 개략적으로 도시한 것이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다.
또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, "포함하다"라는 단어 및 그것의 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.
더욱이 본 발명은 본 명세서에 표시된 실시예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 사용자 비대면 인증 VC를 이용한 DID 기반의 사용자 비대면 인증을 수행하는 인증 지원 서버 및 블록체인 네트워크를 개략적으로 도시한 것이다.
도 1을 참조하면, 인증 지원 서버(100)는 비대면 사용자 인증을 위한 DID(decentralized identifier) 기반의 사용자 비대면 인증 VC(verifiable credential)를 발급하기 위한 인스트럭션들을 저장하는 메모리(110)와 메모리(110)에 저장된 인스트럭션들에 대응하여 비대면 사용자 인증을 위한 DID(decentralized identifier) 기반의 사용자 비대면 인증 VC(verifiable credential)를 발급하는 프로세서(120)를 포함할 수 있다. 이때, 인증 지원 서버(100)는 PC(Personal Computer), 모바일 컴퓨터 등을 포함할 수 있다.
구체적으로, 인증 지원 서버(100)는 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 컴퓨팅 장치는 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
그러나, 컴퓨팅 장치가 본 발명을 실시하기 위한 미디엄, 프로세서 및 메모리가 통합된 형태인 integrated 프로세서를 포함하는 경우를 배제하는 것은 아니다.
참고로, 인증 지원 서버(100)는, 블록체인 네트워크(200)를 구성하는 블록체인 노드들 중의 어느 하나의 노드에 대응되는 서버이거나, 해당 블록체인 노드를 관리하는 서버일 수 있다.
한편, 블록체인 네트워크(200)는 적어도 하나의 블록체인 노드(200-1, 200-2, ..., 200-n)를 포함하며, 각각의 블록체인 노드(200-1, 200-2, ..., 200-n)는 적어도 메모리 및 프로세서를 포함하는 컴퓨팅 장치일 수 있다.
이때, 컴퓨팅 장치의 메모리는 인스트럭션들을 저장할 수 잇는데, 구체적으로, 인스트럭션들은 블록체인 네트워크(200)를 구성하는 적어도 하나의 블록체인 노드로 하여금 특정의 방식으로 기능하도록 하기 위한 컴퓨터 소프트웨어로서, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 잇는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장될 수 있다. 인스트럭션들은 도면에 도시된 기능들을 실행하기 위한 프로세스들을 수행하는 것도 가능하다.
또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 컴퓨팅 장치는 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
그러나, 컴퓨팅 장치가 본 발명을 실시하기 위한 미디엄, 프로세서 및 메모리가 통합된 형태인 integrated 프로세서를 포함하는 경우를 배제하는 것은 아니다.
이와 같이 구성된 인증 지원 서버(100) 및 블록체인 네트워크(200)에 의해 사용자 비대면 인증 VC를 이용한 DID 기반의 사용자 비대면 인증을 수행하는 방법에서 사용자 DID를 생성하는 과정에 대해 아래에서 설명하겠다.
먼저, 사용자의 사용자 프라이빗키 및 이에 대응되는 사용자 퍼블릭키가 생성된 상태에서, 사용자 단말이 사용자 퍼블릭키를 포함하는 사용자 DID 생성 요청을 전송하고(S201), 사용자 퍼블릭키가 블록체인 네트워크로 전송됨에 따라(S202),사용자 퍼블릭키가 블록체인 네트워크(200)에 등록되며, 블록체인 네트워크(200)를 통해 사용자 퍼블릭키에 대응되는 사용자 DID가 발행될 수 있다(S203, S204, S205). 이때, 사용자 DID 생성 요청에는 사용자 프라이빗키를 이용한 서명값이 포함될 수 있으며, 블록체인 네트워크(200)는 사용자 DID 생성 요청에 포함된 사용자 퍼블릭키를 이용하여 서명값을 검증함으로써 사용자 DID 생성 요청이 사용자 본인에 의해 생성된 것인지를 검증할 수 있다.
그리고, 사용자 단말로부터, 사용자 DID, 사용자의 특정 개인 정보(가령, 사용자의 주민등록번호 등) 및 특정 개인 정보를 사용자의 프라이빗키로 서명한 특정 사용자 서명값을 포함하는 특정 사용자 VC 생성 요청이 획득되면(S206), 인증 지원 서버(100)는, (i) 사용자 DID를 이용하여 블록체인 네트워크(200)로부터 사용자 DID에 대응되는 사용자 퍼블릭키를 획득하거나, (ii) 리졸버 서버로 하여금 사용자 DID를 이용하여 블록체인 네트워크(200)에 등록된 적어도 사용자 퍼블릭키를 포함하는 사용자 DID에 대응되는 정보들을 획득하여 사용자 DID 문서를 생성하여 인증 지원 서버(100)로 전송하도록 함으로써 사용자 DID 문서로부터 사용자 퍼블릭키를 획득하고(S207), 사용자 퍼블릭키를 이용하여 특정 사용자 서명값을 검증할 수 있다.
그리고, 사용자 서명값이 검증되면(S208), 인증 지원 서버(100)는, 특정 개인 정보에 대응되는 정보를 관리하는 CA 서버로 특정 개인 정보를 전송하여(S209), CA 서버로 하여금 특정 개인 정보를 인증하도록 하며(S210), 특정 개인 정보가 인증되면, CA 서버 DID, 특정 개인 정보를 가공한 특정 가공 정보, 및 특정 가공 정보를 CA 서버 프라이빗키로 서명한 특정 CA 서버 서명값을 포함하는 특정 인증 결과 정보를 인증 지원 서버(100)로 전송하도록 할 수 있다(S211).
그리고, 인증 지원 서버(100)는, 특정 인증 결과 정보가 획득되면, (i) CA 서버 DID를 이용하여 블록체인 네트워크(200)로부터 CA 서버 DID에 대응되는 CA 서버 퍼블릭키를 획득하거나, (ii) 리졸버 서버로 하여금 CA 서버 DID를 이용하여 블록체인 네트워크(200)에 등록된 적어도 CA 서버 퍼블릭키를 포함하는 CA 서버 DID에 대응되는 정보들을 획득하여 CA 서버 DID 문서를 생성하여 인증 지원 서버(100)로 전송하도록 함으로써 CA 서버 DID 문서로부터 CA 서버 퍼블릭키를 획득할 수 있다(S212).
그리고, 인증 지원 서버(100)는, CA 서버 퍼블릭키를 이용하여 특정 CA 서버 서명값을 검증하고(S213), 특정 CA 서버 서명값이 검증되면 특정 인증 결과 정보를 블록체인 네트워크에 등록하며(S214), 블록체인 네트워크에 등록된 특정 인증 결과 정보에 대한 특정 사용자 VC를 사용자 단말로 전송할 수 있다(S215).
이처럼, 사용자 DID가 발행되고, 사용자 DID에 매칭되는 특정 사용자 VC가 사용자 단말로 전송된 상태에서, 사용자가 자신의 생체 정보를 이용하여 비대면 인증을 하기 위한 사용자 비대면 인증 VC를 추가로 발급받기를 원할 수 있다.
이와 관련하여, 도 3을 참조하여, 본 발명의 일 실시예에 따른 사용자 비대면 인증 VC를 이용한 DID 기반의 사용자 비대면 인증을 수행하는 방법에서 사용자 비대면 VC를 발행하는 과정을 구체적으로 설명하기로 한다.
사용자 단말은, 사용자 DID, 본인확인 정보, 실시간 사용자 생체 정보, 및 실시간 사용자 생체 정보를 사용자 프라이빗키로 서명한 사용자 서명값을 포함하는 비대면 정보 인증 요청을 인증 지원 서버로 전송할 수 있다(S301).
이때, 본인확인 정보는 사용자 생체 정보를 포함하는 본인증표 정보일 수 있다.
일례로, 본인증표 정보는, 사용자의 안면 이미지를 포함하는 신분증 가령, 주민등록증, 운전면허증, 여권, 청소년증 중 적어도 하나일 수 있으나, 이에 한정되는 것은 아니며, 사용자의 신원을 나타내는 임의의 증서는 본인증표 정보가 될 수 있다.
또한, 실시간 사용자 생체 정보는, 사용자 비대면 인증 VC가 발급되기 위해, 본인증표 정보에 이미 포함된 사용자 생체 정보(가령, 제1 사용자 생체 정보)와 함께 획득되는 별도의 사용자 생체 정보(가령, 제2 사용자 생체 정보)일 수 있다.
일례로, 실시간 사용자 생체 정보는, 사용자 단말에 의해 사용자의 안면부가 촬상됨으로써 생성되는 안면 이미지 정보일 수 있다.
한편, 생체 정보에는, 홍채 정보, 망막 정보, 음성 정보, DNA 패턴 정보, 손 모양 정보, 정맥 정보, 지문 정보, 안면부 정보 중 적어도 일부가 포함될 수 있다.
다만, 상기 생체 정보는 이해의 편의를 돕기 위해서 예시적으로 열거된 것이며, 상기 예시에 한정되지는 않는다.
설명의 편의상, 아래에서는 사용자의 안면부에 대한 안면 이미지 정보를 위주로 설명하지만, 이는 하나의 예시일 뿐, 본 발명의 실시예가 이에 한정되는 것은 아니다.
비대면 정보 인증 요청이 획득되면, 인증 지원 서버(100)는, (i) 사용자 DID를 이용하여 블록체인 네트워크(200)로부터 사용자 DID에 대응되는 사용자 퍼블릭키를 획득하거나, (ii) 리졸버 서버로 하여금 사용자 DID를 이용하여 블록체인 네트워크(200)에 등록된 적어도 사용자 퍼블릭키를 포함하는 사용자 DID에 대응되는 정보들을 획득하여 사용자 DID 문서를 생성하여 인증 지원 서버(100)로 전송하도록 함으로써 사용자 DID 문서로부터 사용자 퍼블릭키를 획득하고(S302), 사용자 퍼블릭키를 이용하여 사용자 서명값을 검증할 수 있다(S303).
일례로, 인증 지원 서버(100)는, 사용자 퍼블릭키를 이용하여 사용자 서명값을 복호화하여 사용자 서명값에 포함된 실시간 사용자 생체 정보를 획득하며, (i) 사용자 서명값으로부터 획득한 실시간 사용자 생체 정보 및 (ii) 사용자 단말로부터 획득한 실시간 사용자 생체 정보가 일치하는지를 확인함으로써 사용자 서명값을 검증할 수 있다.
이때, 인증 지원 서버(100)는, 안면 인식 기술 등을 활용하여 실시간 사용자 생체 정보가 위변조 되었는지 여부를 판단하고(S304), 실시간 사용자 생체 정보가 위변조 되지 않은 것으로 판단되면, 본인증표 정보에 포함된 사용자 생체 정보로부터 추출된 본인증표 특징점 정보 및 실시간 특징점 정보를 참조하여 사용자 생체 정보 및 실시간 사용자 생체 정보의 일치 여부를 판단함으로써 실시간 사용자 생체 정보의 유효성을 확인할 수 있다(S305).
아래에서는, 인증 지원 서버가, 사용자 비대면 정보에 대한 실시간 정보 여부, 즉, 실시간 사용자 생체 정보가 위변조 되었는지 여부를 판단하고, 실시간 사용자 생체 정보의 유효성을 판단하는 방법에 대해 예시적으로 설명하기로 한다.
참고로, (i) 사용자의 본인증표 정보에 포함되는 사용자 생체 정보는, 사용자의 안면 이미지 정보이며, (ii) 실시간 사용자 생체 정보는, 인증 지원 서버(100)에 의해 실시간 사용자 생체 정보가 요청됨에 따라 사용자의 안면부가 실시간으로 촬상됨으로써 생성되는 실시간 이미지 정보라고 가정하고 설명하기로 한다.
먼저, 이해를 돕기 위해, 도 4 및 도 5를 참조하여 본 발명의 일 실시예에 따른 사용자 비대면 인증 VC를 이용한 DID 기반의 사용자 비대면 인증을 수행하는 방법에서 안면 매칭이 이루어지는 프로세스를 예시적으로 설명한다.
도 4를 참조하면, 사용자의 안면부를 나타내는 이미지로부터 안면 검출이 이루어지고, 안면 이미지가 위변조 되었는지를 확인되며, 안면 랜드마크가 검출되고 이미지가 정규화되며, 안면 특징점이 추출되고, 추출된 안면 특징점과 데이터베이스에 기저장된 안면 특징점이 비교됨으로써 안면 매칭이 이루어질 수 있다.
도 5를 참조하면, 이미지 센서, 가령, 카메라가 촬영한 안면 이미지에서 눈, 눈썹, 코, 입, 턱 등 얼굴 특징이 변하는 각 부위가 분석됨으로써, 촬영된 안면 이미지로부터 특징점이 추출된다. 그리고, 데이터베이스에 저장된 얼굴 이미지에 대해서도 동일한 프로세스가 수행됨으로써 데이터베이스에 저장된 안면 이미지로부터 특징점이 추출된다. 그리고, 추출된 특징점이 비교됨으로써, 카메라에 의해 촬영된 이미지 상의 사용자가, 데이터베이스에 기저장된 이미지상의 사용자와 동일한지 여부가 확인된다.
다음으로, 사용자 비대면 정보에 대한 실시간 정보 여부, 즉, 위변조 여부를 판단하기 위한 방법에 대해 예시적으로 설명하기로 한다.
참고로, 안면 인식 기술을 무력화하기 위한 위변조 기술, 즉 스푸핑 공격(spoofing attack)에는, 인화된 사진 공격(photo attack), 비디오 리플레이 공격(video attack), 3D 마스크 공격(mask attack) 등이 존재한다.
인증 지원 서버는, 위와 같은 스푸핑 공격에 대처하기 위해, 다양한 검출 기법을 이용할 수 있다.
일례로, 본 발명의 일 실시예에 따른 사용자 비대면 인증 VC를 이용한 DID 기반의 사용자 비대면 인증을 수행하는 방법에서 사용자 비대면 정보에 대한 실시간 정보 여부를 확인하는 상태를 도시하는 도 6a 내지 도 6f를 각각 참조하면, 스푸핑 공격에 대처하기 위한 방법으로서, 텍스처 정보를 이용한 검출 기법, 빈도 정보를 이용한 검출 기법, 가변 초점 정보를 이용한 검출 기법, RGB 카메라 정보를 이용한 검출 기법, IR 정보를 이용한 검출 기법 및 제스처 기반 정보를 이용한 검출 기법을 각각 확인할 수 있다.
다른 예로, 심층 신경망을 통해 출력된 다중 채널 영상 정보를 이용함으로써, 실시간 사용자 생체 정보, 가령 사용자의 안면부 이미지 정보가 위변조 되었는지가 판단될 수 있다.
일례로, 도 7을 참조하면, 사용자 비대면 인증 VC를 이용한 DID 기반의 사용자 비대면 인증을 수행하는 방법에서 사용자 비대면 정보에 대한 실시간 정보 여부를 확인하기 위한 심층 신경망이 다중 채널 영상 정보를 출력하는 과정을 확인할 수 있다.
이처럼, 심층 신경망의 깊은 적층 구조를 기반으로, 다양한 방법으로 위변조된 사용자 비대면 정보의 실시간 정보 여부가 효과적으로 판단될 수 있다.
사용자 비대면 인증 VC를 이용한 DID 기반의 사용자 비대면 인증을 수행하는 방법에서 사용자 비대면 정보에 대한 실시간 정보 여부를 확인하기 위한 일례로서, 실시간 사용자 생체 정보는, 사용자 단말이 사용자의 안면부를 촬상함으로써 생성되는 이미지 정보이고, 이러한 실시간 사용자 생체 정보가 사용자 단말의 ToF(Time of Flight) 모듈을 통해 센싱되는 사용자의 안면부에 대한 공간 정보를 포함하는 경우, 인증 지원 서버(100)는, 사용자 단말로부터 사용자의 안면부 각각의 지점까지의 거리 정보를 나타내는 공간 정보를 참조하여 실시간 사용자 생체 정보가 위변조 되었는지 여부를 판단할 수 있다.
이때, ToF 모듈에 이용되는 ToF 기술은, 피사체를 향해 발사한 빛이 튕겨져 돌아오는 시간으로 거리를 계산, 사물의 입체감과 공간 정보, 움직임을 인식하는 3D 센싱 기술이다.
인증 지원 서버는, 이러한 ToF 모듈을 이용하여 깊이 값을 이용한 검출을 수행할 수 있으며, 그에 따라 얼굴 인식 기술의 정확도를 높이고, 다양한 스푸핑 공격으로부터 높은 안정성을 보장할 수 있다.
또한, 도 8 및 도 9를 참조하면 본 발명의 일 실시예에 따른 사용자 비대면 인증 VC를 이용한 DID 기반의 사용자 비대면 인증을 수행하는 방법에서, RGB 카메라와 TOF 카메라 각각으로부터의 입력 이미지를 이용하여 스푸핑 공격 여부를 판단하는 예시적인 프로세스를 확인할 수 있다.
또한, 도 10을 참조하면, 본 발명의 일 실시예에 따른 사용자 비대면 인증 VC를 이용한 DID 기반의 사용자 비대면 인증을 수행하는 방법에서, 공간 정보(또는, 거리 정보)를 획득하기 위한 ToF 모듈이 없고, RGB 카메라만 있는 경우, 스푸핑 공격에 대처하기 위한 방법 중 하나로서, active liveness detection이 수행되는 예시적인 프로세스를 확인할 수 있다.
또한, 동적 안티스푸핑 스위칭 기술을 통해, 다양한 안티스푸핑 기술들 중, 단말의 하드웨어적 사양에 따라 적합한 안티스푸핑 기술이 선택될 수 있다.
참고로, 상술한 사용자 비대면 정보의 실시간 정보 여부를 판단하기 위한 심층 신경망과, 후술할 사용자 비대면 정보의 유효성을 판단하기 위한 심층 신경망은 서로 별개의 신경망일 수 있으나, 이에 한정되는 것은 아니며, 하나의 심층 신경망을 통해, 사용자 비대면 정보의 실시간 정보 여부가 판단되고, 사용자 비대면 정보의 유효성이 판단될 수도 있다.
또한, 도 11을 참조하면, 본 발명의 일 실시예에 따른 사용자 비대면 인증 VC를 이용한 DID 기반의 사용자 비대면 인증을 수행하는 방법에서, 안면 인식 알고리즘의 성능을 향상시키기 위한 과정을 확인할 수 있다.
또한, 도 12을 참조하면, 본 발명의 일 실시예에 따른 사용자 비대면 인증 VC를 이용한 DID 기반의 사용자 비대면 인증을 수행하는 방법에서, 사용자 비대면 정보에 대한 실시간 정보 여부를 확인한 후, 사용자 비대면 정보에 대한 특징이 추출되는 프로세스를 확인할 수 있다.
아래에서는 사용자 비대면 정보에 대한 특징을 추출하여 사용자 비대면 정보의 유효성을 확인하는 방법에 대해 구체적으로 설명하기로 한다.
인증 지원 서버(100)는, 실시간 사용자 생체 정보(즉, 사용자 비대면 정보), 가령, 안면부 이미지 정보를 분석함으로써 실시간 사용자 생체 정보의 유효성을 확인할 수 있다.
일례로, 인증 지원 서버(100)는, 사용자의 안면부 이미지 정보가 나타내는 사용자의 눈, 눈썹, 코, 입, 턱 등 얼굴 특징이 변하는 각 부위를 분석해 특징이 되는 데이터가 추출되며, 추출된 특징을 참조하여 실시간 사용자 생체 정보의 유효성을 확인할 수 있다.
구체적으로, 인증 지원 서버(100)는, 안면 이미지 정보 및 실시간 이미지 정보 각각을 컨볼루션 레이어에 각각 입력시킴으로써 컨볼루션 레이어로 하여금 안면 이미지 정보 및 실시간 이미지 정보 각각에 적어도 한 번 컨볼루션 연산을 적용하도록 하여 안면 이미지 정보 및 실시간 이미지 정보 각각에 대응되는 안면 피처 맵(feature map) 및 실시간 피처 맵 각각을 출력하도록 할 수 있다.
그리고, 인증 지원 서버(100)는, 안면 피처 맵 및 실시간 피처 맵 각각을 RPN(region proposal network)으로 각각 입력하여 RPN으로 하여금 안면 피처 맵 및 실시간 피처 맵 상에서 사용자의 안면부 영역에 대응되는 프로포잘 박스(proposal box)들을 각각 출력하도록 할 수 있다.
그리고, 인증 지원 서버(100)는, 풀링 레이어로 하여금 프로포잘 박스들에 각각 대응되는 안면 피처 맵 및 실시간 피처 맵 상의 영역들을 각각 풀링하여 풀링된 피처 맵들에 대응되는 안면 피처 벡터 및 실시간 피처 벡터 각각을 출력하도록 할 수 있다.
그리고, 인증 지원 서버(100)는, 안면 피처 벡터 및 실시간 피처 벡터 각각을 FC 레이어로 입력하여 FC 레이어로 하여금 안면 피처 벡터 및 실시간 피처 벡터 각각에 대응되는 제1 스코어 및 제2 스코어를 각각 출력하도록 하고, 제1 스코어 및 제2 스코어를 참조하여 실시간 사용자 생체 정보의 유효성을 확인할 수 있다.
그리고, 인증 지원 서버(100)는, 사용자 서명값이 검증되면, 실시간 사용자 생체 정보로부터 추출된 실시간 특징점 정보 및 본인확인 정보를 CA(certification authority) 서버로 전송하여(S306) CA 서버로 하여금 본인확인 정보를 인증하도록 할 수 있다(S307).
일례로, 인증 지원 서버(100)는, CA 서버로 하여금 본인확인 정보, 즉, 본인증표 정보로부터 본인증표 특징점 정보를 추출하도록 하며, 본인증표 정보에 대응되는 본인증표 원부 정보로부터 본인증표 원부 특징점 정보를 추출하도록 할 수 있다. 그리고, 인증 지원 서버(100)는, 본인증표 특징점 정보 및 본인증표 원부 특징점 정보를 참조하여 본인증표 정보 및 본인증표 원부 정보의 일치 여부를 판단하도록 함으로써 본인증표 정보를 인증하도록 할 수 있다.
가령, 상기에서 설명한, 인증 지원 서버(100)가 사용자 생체 정보 및 실시간 사용자 생체 정보의 일치 여부를 판단한 방식과 마찬가지의 방식으로, CA 서버가 본인증표 정보 및 본인증표 원부 정보의 일치 여부를 판단할 수 있다.
그리고, 인증 지원 서버(100)는, CA 서버로 하여금 본인확인 정보의 인증 결과에 따라 CA 서버 DID, 실시간 특징점 정보를 가공한 가공 정보, 및 가공 정보를 CA 서버 프라이빗키로 서명한 CA 서버 서명값을 포함하는 인증 결과 정보를 인증 지원 서버(100)로 전송하도록 할 수 있다(S308).
다른 예로, 인증 지원 서버(100)가 본인확인 정보와 본인확인 원부 정보의 일치 여부를 판단할 수도 있다.
가령, 인증 지원 서버(100)는, 사용자 서명값이 검증되면, CA 서버로부터 본인확인 정보, 즉 본인증표 정보에 대응되는 본인증표 원부 정보를 획득하고, 본인증표 정보로부터 본인증표 특징점 정보를 추출하며, 본인증표 원부 정보로부터 본인증표 원부 특징점 정보를 추출할 수 있다. 그리고, 인증 지원 서버(100)는, 본인증표 특징점 정보 및 본인증표 원부 특징점 정보를 참조하여 본인증표 정보 및 본인증표 원부 정보의 일치 여부를 판단하고, 본인증표 정보 및 본인증표 원부 정보가 일치할 경우, 실시간 사용자 생체 정보로부터 추출된 실시간 특징점 정보를 CA 서버로 전송하고, CA 서버로 하여금 CA 서버 DID, 실시간 특징점 정보를 가공한 가공 정보, 및 가공 정보를 CA 서버 프라이빗키로 서명한 CA 서버 서명값을 포함하는 인증 결과 정보를 인증 지원 서버(100)로 전송하도록 할 수 있다.
그리고, 인증 지원 서버(100)는, 인증 결과 정보가 획득되면, (i) CA 서버 DID를 이용하여 블록체인 네트워크(200)로부터 CA 서버 DID에 대응되는 CA 서버 퍼블릭키를 획득하거나, (ii) 리졸버 서버로 하여금 CA 서버 DID를 이용하여 블록체인 네트워크(200)에 등록된 적어도 CA 서버 퍼블릭키를 포함하는 CA 서버 DID에 대응되는 정보들을 획득하여 CA 서버 DID 문서를 생성하여 인증 지원 서버(100)로 전송하도록 함으로써 CA 서버 DID 문서로부터 CA 서버 퍼블릭키를 획득할 수 있다(S309).
그리고, 인증 지원 서버(100)는, CA 서버 퍼블릭키를 이용하여 CA 서버 서명값을 검증하고(S310), CA 서버 서명값이 검증되면 인증 결과 정보를 블록체인 네트워크(200)에 등록하며(S311), 블록체인 네트워크(200)에 등록된 인증 결과 정보에 대한 사용자 비대면 인증 VC를 사용자 단말로 전송하여 줄 수 있다(S312).
한편, 위와 같이 발급된 사용자 비대면 인증 VC를 이용한 DID 기반의 사용자 비대면 인증이 수행되는 프로세스에 대해 도 13을 참조하여 아래에서 설명하겠다.
먼저, 사용자 단말이 서비스 제공 서버로 서비스 제공 요청을 전송(S401)함에 따라, 서비스 제공 서버가 서비스 제공 서버에 의한 서비스를 사용자 단말로 제공하기 위한 인증 정보로서 실시간 사용자 생체 정보에 대한 비대면 인증 요청을 사용자 단말로 전송할 수 있다(S402).
그리고, 비대면 인증 요청에 대응하여, 사용자 단말이 사용자 DID, 실시간 사용자 생체 정보에 대한 사용자 비대면 인증 VC 및 사용자 비대면 인증 VC를 사용자 프라이빗키로 서명한 VC 사용자 서명값을 서비스 제공 서버로 전송하면(S403), 서비스 제공 서버는, 사용자 단말로부터 획득한 사용자 비대면 인증 VC에 대한 인증 요청을 인증 지원 서버(100)로 전송할 수 있다(S404). 이때, 사용자 비대면 인증 VC에 대한 인증 요청은 사용자 DID, 사용자 비대면 인증 VC 및 VC 사용자 서명값을 포함할 수 있다.
그리고, 인증 지원 서버(100)는, (i) 사용자 DID를 이용하여 블록체인 네트워크(200)로부터 사용자 DID에 대응되는 사용자 퍼블릭키를 획득하거나, (ii) 리졸버 서버로 하여금 사용자 DID를 이용하여 블록체인 네트워크(200)에 등록된 적어도 사용자 퍼블릭키를 포함하는 사용자 DID에 대응되는 정보들을 획득하여 사용자 DID 문서를 생성하여 인증 지원 서버(100)로 전송하도록 함으로써 사용자 DID 문서로부터 사용자 퍼블릭키를 획득하고(S405), 사용자 퍼블릭키를 이용하여 VC 사용자 서명값을 검증할 수 있다.
그리고, 인증 지원 서버(100)는, VC 사용자 서명값이 검증되어 사용자 비대면 인증 VC가 획득되면, (i) 사용자 비대면 인증 VC에 포함된 CA 서버 DID를 이용하여 블록체인 네트워크(200)로부터 CA 서버 DID에 대응되는 CA 서버 퍼블릭키를 획득하거나, (ii) 리졸버 서버로 하여금 CA 서버 DID를 이용하여 블록체인 네트워크(200)에 등록된 적어도 CA 서버 퍼블릭키를 포함하는 CA 서버 DID에 대응되는 정보들을 획득하여 CA 서버 DID 문서를 생성하여 인증 지원 서버(100)로 전송하도록 함으로써 CA 서버 DID 문서로부터 CA 서버 퍼블릭키를 획득하고, CA 서버 퍼블릭키를 이용하여 사용자 비대면 인증 VC에 포함된 CA 서버 서명값을 검증할 수 있다.
그리고, 인증 지원 서버(100)는, CA 서버 서명값이 검증되어 가공 정보가 획득되면(S406), 사용자 단말로 제1 인증 정보를 요청하여(S407), 사용자 단말로부터 제1 인증 정보로서 신규 사용자 생체 정보를 획득할 수 있다(S408).
참고로, 사용자 단말은, 신규 사용자 생체 정보 생성하는 주체를 의미할 수 있다.
가령, 사용자가 오프라인 매장에서 서비스 대금을 결제하고자 할 경우, 오프라인 매장의 POS기에 연동되어 설치된 안면 인식 단말에 사용자의 안면부가 스캐닝됨으로써, 사용자의 안면부에 대한 이미지 정보가 신규 사용자 생체 정보로서 생성되고, 안면 인식 단말로부터 신규 사용자 생체 정보가 획득될 수 있다.
그리고, 인증 지원 서버(100)는, 신규 사용자 생체 정보로부터 추출된 신규 특징점 정보가 가공된 신규 가공 정보와 가공 정보를 참조하여 신규 사용자 생체 정보의 유효성을 확인할 수 있다(S409).
일례로, 실시간 특징점 정보를 가공한 가공 정보는, 실시간 사용자 생체 정보로부터 추출된 실시간 특징점 정보에 대해 해시 연산이 적용됨으로써 생성되었다고 할 때, 인증 지원 서버(100)는, 신규 사용자 생체 정보로부터 추출한 신규 특징점 정보에 대해 해시 연산을 적용하여 신규 해시값을 생성하고, 신규 해시값과 가공 정보를 참조하여 신규 사용자 생체 정보의 유효성을 확인할 수 있다.
이때, 인증 지원 서버(100)는, 신규 사용자 생체 정보로부터 추출된 신규 특징점 정보가 가공된 신규 가공 정보와 가공 정보를 참조하여 신규 사용자 생체 정보의 유효성을 확인하는 것에 더해, 신규 사용자 생체 정보가 위변조 되었는지 여부를 판단할 수 있다.
일례로, 신규 사용자 생체 정보가, 사용자의 안면부가 촬상됨으로써 생성되는 이미지 정보로서, ToF 모듈을 통해 센싱되는 사용자의 안면부에 대한 공간 정보를 포함한다고 할 때, 인증 지원 서버(100)는, ToF 모듈로부터 사용자의 안면부 각각의 지점까지의 거리 정보를 나타내는 공간 정보를 참조하여 신규 사용자 생체 정보가 위변조 되었는지 여부를 판단할 수 있다.
그리고, 인증 지원 서버(100)는, 신규 사용자 생체 정보의 유효성이 확인되면 비대면 인증 요청에 대응되는 비대면 인증 결과를 서비스 제공 서버로 전송하고(S410), 서비스 제공 서버는, 획득한 비대면 인증 결과에 따라, 사용자 단말에게 서비스를 제공할 수 있게 된다(S411).
또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (18)

  1. 사용자 비대면 인증 VC(verifiable credential)를 이용한 DID(decentralized identifier) 기반의 사용자 비대면 인증 방법에 있어서,
    (a) 블록체인 네트워크를 통해 사용자 DID가 발행되며, 상기 사용자 DID에 대응되는 사용자 퍼블릭키가 상기 블록체인 네트워크에 등록된 상태에서, 사용자 단말로부터 상기 사용자 DID, 본인확인 정보, 실시간 사용자 생체 정보, 및 상기 실시간 사용자 생체 정보를 상기 사용자 퍼블릭키에 대응되는 사용자 프라이빗키로 서명한 사용자 서명값을 포함하는 비대면 정보 인증 요청이 획득되면, 인증 지원 서버가, 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키를 획득하거나, 리졸버 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크에 등록된 적어도 상기 사용자 퍼블릭키를 포함하는 상기 사용자 DID에 대응되는 정보들을 획득하여 사용자 DID 문서를 생성하여 상기 인증 지원 서버로 전송하도록 함으로써 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키를 획득하고, 상기 사용자 퍼블릭키를 이용하여 상기 사용자 서명값을 검증하는 단계; 및
    (b) 상기 사용자 서명값이 검증되면, 상기 인증 지원 서버가, 상기 실시간 사용자 생체 정보로부터 추출된 실시간 특징점 정보 및 상기 본인확인 정보를 CA(certification authority) 서버로 전송하여 상기 CA 서버로 하여금 상기 본인확인 정보를 인증하도록 하며, 상기 본인확인 정보의 인증 결과에 따라 CA 서버 DID, 상기 실시간 특징점 정보를 가공한 가공 정보, 및 상기 가공 정보를 CA 서버 프라이빗키로 서명한 CA 서버 서명값을 포함하는 인증 결과 정보를 상기 인증 지원 서버로 전송하도록 하며, 상기 인증 결과 정보가 획득되면, 상기 CA 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 CA 서버 DID에 대응되는 CA 서버 퍼블릭키를 획득하거나, 상기 리졸버 서버로 하여금 상기 CA 서버 DID를 이용하여 상기 블록체인 네트워크에 등록된 적어도 상기 CA 서버 퍼블릭키를 포함하는 상기 CA 서버 DID에 대응되는 정보들을 획득하여 CA 서버 DID 문서를 생성하여 상기 인증 지원 서버로 전송하도록 함으로써 상기 CA 서버 DID 문서로부터 상기 CA 서버 퍼블릭키를 획득하고, 상기 CA 서버 퍼블릭키를 이용하여 상기 CA 서버 서명값을 검증하며, 상기 CA 서버 서명값이 검증되면 상기 인증 결과 정보를 상기 블록체인 네트워크에 등록하며, 상기 블록체인 네트워크에 등록된 상기 인증 결과 정보에 대한 상기 사용자 비대면 인증 VC를 상기 사용자 단말로 전송하여 주는 단계;
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 본인확인 정보는 상기 사용자의 본인증표 정보이며,
    상기 (a) 단계에서,
    상기 인증 지원 서버가, 상기 실시간 사용자 생체 정보가 위변조 되었는지 여부를 판단하며, 상기 실시간 사용자 생체 정보가 위변조 되지 않은 것으로 판단되면, 상기 본인증표 정보에 포함된 사용자 생체 정보로부터 추출된 본인증표 특징점 정보 및 상기 실시간 특징점 정보를 참조하여 상기 사용자 생체 정보 및 상기 실시간 사용자 생체 정보의 일치 여부를 판단함으로써 상기 실시간 사용자 생체 정보의 유효성을 확인하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 실시간 사용자 생체 정보는, 상기 사용자 단말이 상기 사용자의 안면부를 촬상함으로써 생성되는 이미지 정보로서, 상기 사용자 단말의 ToF(Time of Flight) 모듈을 통해 센싱되는 상기 사용자의 상기 안면부에 대한 공간 정보를 포함하며,
    상기 (a) 단계에서,
    상기 인증 지원 서버가, 상기 사용자 단말로부터 상기 사용자의 상기 안면부 각각의 지점까지의 거리 정보를 나타내는 상기 공간 정보를 참조하여 상기 실시간 사용자 생체 정보가 위변조 되었는지 여부를 판단하는 것을 특징으로 하는 방법.
  4. 제2항에 있어서,
    (i) 상기 사용자 생체 정보는, 상기 본인증표 정보에 포함되는 상기 사용자의 안면 이미지 정보이며, (ii) 상기 실시간 사용자 생체 정보는, 상기 인증 지원 서버가 상기 실시간 사용자 생체 정보를 요청함에 따라 상기 사용자의 안면부가 촬상됨으로써 생성되는 실시간 이미지 정보인 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 (a) 단계에서,
    상기 인증 지원 서버가, 상기 본인증표 정보에 포함되는 상기 안면 이미지 정보 및 상기 실시간 이미지 정보 각각을 컨볼루션 레이어에 각각 입력시킴으로써 상기 컨볼루션 레이어로 하여금 상기 안면 이미지 정보 및 상기 실시간 이미지 정보 각각에 적어도 한 번 컨볼루션 연산을 적용하도록 하여 상기 안면 이미지 정보 및 상기 실시간 이미지 정보 각각에 대응되는 안면 피처 맵(feature map) 및 실시간 피처 맵 각각을 출력하도록 하며, 상기 안면 피처 맵 및 상기 실시간 피처 맵 각각을 상기 RPN으로 각각 입력하여 상기 RPN으로 하여금 상기 안면 피처 맵 및 상기 실시간 피처 맵 상에서 상기 사용자의 안면부 영역에 대응되는 프로포잘 박스(proposal box)들을 각각 출력하도록 하며, 상기 풀링 레이어로 하여금 상기 프로포잘 박스들에 각각 대응되는 상기 안면 피처 맵 및 상기 실시간 피처 맵 상의 영역들을 각각 풀링하여 풀링된 피처 맵들에 대응되는 안면 피처 벡터 및 실시간 피처 벡터 각각을 출력하도록 하고, 상기 안면 피처 벡터 및 상기 실시간 피처 벡터 각각을 FC 레이어로 입력하여 상기 FC 레이어로 하여금 상기 안면 피처 벡터 및 상기 실시간 피처 벡터 각각에 대응되는 제1 스코어 및 제2 스코어를 각각 출력하도록 하고, 상기 제1 스코어 및 상기 제2 스코어를 참조하여 상기 실시간 사용자 생체 정보의 유효성을 확인하도록 하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 본인확인 정보는 상기 사용자의 본인증표 정보이며,
    상기 (b) 단계에서,
    상기 인증 지원 서버가, 상기 CA 서버로 하여금 상기 본인증표 정보로부터 본인증표 특징점 정보를 추출하도록 하며, 상기 본인증표 정보에 대응되는 본인증표 원부 정보로부터 본인증표 원부 특징점 정보를 추출하도록 하고, 상기 본인증표 특징점 정보 및 상기 본인증표 원부 특징점 정보를 참조하여 상기 본인증표 정보 및 상기 본인증표 원부 정보의 일치 여부를 판단하도록 함으로써 상기 본인증표 정보를 인증하도록 하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    (c) 상기 사용자 단말로부터 서비스 제공 요청이 서비스 제공 서버로 전송되고, 상기 서비스 제공 서버에 의한 서비스가 상기 사용자 단말로 제공되기 위한 인증 정보로서 상기 실시간 사용자 생체 정보에 대한 비대면 인증 요청이 상기 서비스 제공 서버로부터 상기 사용자 단말로 전송되고, 상기 사용자 단말로부터 상기 서비스 제공 서버로 상기 사용자 DID 및 상기 실시간 사용자 생체 정보에 대한 상기 사용자 비대면 인증 VC가 전송되어, 상기 서비스 제공 서버로부터 상기 사용자 비대면 인증 VC에 대한 인증 요청 - 상기 사용자 비대면 인증 VC에 대한 인증 요청은 상기 사용자 DID, 상기 사용자 비대면 인증 VC 및 상기 사용자 비대면 인증 VC를 상기 사용자 프라이빗키로 서명한 VC 사용자 서명값을 포함함 - 이 획득되면, 상기 인증 지원 서버가, 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키를 획득하거나, 상기 리졸버 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크에 등록된 적어도 상기 사용자 퍼블릭키를 포함하는 상기 사용자 DID에 대응되는 정보들을 획득하여 상기 사용자 DID 문서를 생성하여 상기 인증 지원 서버로 전송하도록 함으로써 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키를 획득하고, 상기 사용자 퍼블릭키를 이용하여 상기 VC 사용자 서명값을 검증하며, 상기 VC 사용자 서명값이 검증되어 상기 사용자 비대면 인증 VC가 획득되면, 상기 사용자 비대면 인증 VC에 포함된 상기 CA 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 CA 서버 DID에 대응되는 상기 CA 서버 퍼블릭키를 획득하거나, 상기 리졸버 서버로 하여금 상기 CA 서버 DID를 이용하여 상기 블록체인 네트워크에 등록된 적어도 상기 CA 서버 퍼블릭키를 포함하는 상기 CA 서버 DID에 대응되는 정보들을 획득하여 상기 CA 서버 DID 문서를 생성하여 상기 인증 지원 서버로 전송하도록 함으로써 상기 CA 서버 DID 문서로부터 상기 CA 서버 퍼블릭키를 획득하고, 상기 CA 서버 퍼블릭키를 이용하여 상기 사용자 비대면 인증 VC에 포함된 상기 CA 서버 서명값을 검증하며, 상기 CA 서버 서명값이 검증되어 상기 가공 정보가 획득되면, 상기 사용자 단말로 제1 인증 정보를 요청하고, 상기 사용자 단말로부터 상기 제1 인증 정보로서 신규 사용자 생체 정보가 획득되면, 상기 신규 사용자 생체 정보로부터 추출된 신규 특징점 정보가 가공된 신규 가공 정보와 상기 가공 정보를 참조하여 상기 신규 사용자 생체 정보의 유효성을 확인하며, 상기 신규 사용자 생체 정보의 유효성이 확인되면 상기 비대면 인증 요청에 대응되는 비대면 인증 결과를 상기 서비스 제공 서버로 전송하여 주는 단계;
    를 더 포함하는 것을 특징으로 하는 방법.
  8. 제7항에 있어서,
    상기 실시간 특징점 정보를 가공한 상기 가공 정보는, 상기 실시간 사용자 생체 정보로부터 추출된 상기 실시간 특징점 정보에 대해 해시 연산이 적용됨으로써 생성되며,
    상기 (c) 단계에서,
    상기 인증 지원 서버가, 상기 신규 사용자 생체 정보로부터 추출한 신규 특징점 정보에 대해 해시 연산을 적용하여 신규 해시값을 생성하고, 상기 신규 해시값과 상기 가공 정보를 참조하여 상기 신규 사용자 생체 정보의 유효성을 확인하는 것을 특징으로 하는 방법.
  9. 제7항에 있어서,
    상기 (c) 단계에서,
    상기 신규 사용자 생체 정보는, 상기 사용자의 안면부가 촬상됨으로써 생성되는 이미지 정보로서, ToF(Time of Flight) 모듈을 통해 센싱되는 상기 사용자의 상기 안면부에 대한 공간 정보를 포함하며,
    상기 인증 지원 서버가, 상기 ToF 모듈로부터 상기 사용자의 상기 안면부 각각의 지점까지의 거리 정보를 나타내는 상기 공간 정보를 참조하여 상기 신규 사용자 생체 정보가 위변조 되었는지 여부를 판단하고, 상기 신규 사용자 생체 정보가 위변조 되지 않은 것으로 판단되면, 상기 신규 가공 정보 및 상기 가공 정보를 참조하여 상기 신규 사용자 생체 정보의 유효성을 확인하는 것을 특징으로 하는 방법.
  10. 사용자 비대면 인증 VC를 이용한 DID 기반의 사용자 비대면 인증을 수행하는 인증 지원 서버에 있어서,
    인스트럭션들을 저장하는 적어도 하나의 메모리; 및
    상기 인스트럭션들을 실행하기 위해 구성된 적어도 하나의 프로세서를 포함하되,
    상기 프로세서는, (1) 블록체인 네트워크를 통해 사용자 DID가 발행되며, 상기 사용자 DID에 대응되는 사용자 퍼블릭키가 상기 블록체인 네트워크에 등록된 상태에서, 사용자 단말로부터 상기 사용자 DID, 본인확인 정보, 실시간 사용자 생체 정보, 및 상기 실시간 사용자 생체 정보를 상기 사용자 퍼블릭키에 대응되는 사용자 프라이빗키로 서명한 사용자 서명값을 포함하는 비대면 정보 인증 요청이 획득되면, 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키를 획득하거나, 리졸버 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크에 등록된 적어도 상기 사용자 퍼블릭키를 포함하는 상기 사용자 DID에 대응되는 정보들을 획득하여 사용자 DID 문서를 생성하여 상기 인증 지원 서버로 전송하도록 함으로써 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키를 획득하고, 상기 사용자 퍼블릭키를 이용하여 상기 사용자 서명값을 검증하는 프로세스 및 (2) 상기 사용자 서명값이 검증되면, 상기 실시간 사용자 생체 정보로부터 추출된 실시간 특징점 정보 및 상기 본인확인 정보를 CA(certification authority) 서버로 전송하여 상기 CA 서버로 하여금 상기 본인확인 정보를 인증하도록 하며, 상기 본인확인 정보의 인증 결과에 따라 CA 서버 DID, 상기 실시간 특징점 정보를 가공한 가공 정보, 및 상기 가공 정보를 CA 서버 프라이빗키로 서명한 CA 서버 서명값을 포함하는 인증 결과 정보를 상기 인증 지원 서버로 전송하도록 하며, 상기 인증 결과 정보가 획득되면, 상기 CA 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 CA 서버 DID에 대응되는 CA 서버 퍼블릭키를 획득하거나, 상기 리졸버 서버로 하여금 상기 CA 서버 DID를 이용하여 상기 블록체인 네트워크에 등록된 적어도 상기 CA 서버 퍼블릭키를 포함하는 상기 CA 서버 DID에 대응되는 정보들을 획득하여 CA 서버 DID 문서를 생성하여 상기 인증 지원 서버로 전송하도록 함으로써 상기 CA 서버 DID 문서로부터 상기 CA 서버 퍼블릭키를 획득하고, 상기 CA 서버 퍼블릭키를 이용하여 상기 CA 서버 서명값을 검증하며, 상기 CA 서버 서명값이 검증되면 상기 인증 결과 정보를 상기 블록체인 네트워크에 등록하며, 상기 블록체인 네트워크에 등록된 상기 인증 결과 정보에 대한 상기 사용자 비대면 인증 VC를 상기 사용자 단말로 전송하여 주는 프로세스를 수행하는 인증 지원 서버.
  11. 제10항에 있어서,
    상기 본인확인 정보는 상기 사용자의 본인증표 정보이며,
    상기 프로세서는,
    상기 (1) 프로세스에서,
    상기 실시간 사용자 생체 정보가 위변조 되었는지 여부를 판단하며, 상기 실시간 사용자 생체 정보가 위변조 되지 않은 것으로 판단되면, 상기 본인증표 정보에 포함된 사용자 생체 정보로부터 추출된 본인증표 특징점 정보 및 상기 실시간 특징점 정보를 참조하여 상기 사용자 생체 정보 및 상기 실시간 사용자 생체 정보의 일치 여부를 판단함으로써 상기 실시간 사용자 생체 정보의 유효성을 확인하는 것을 특징으로 하는 인증 지원 서버.
  12. 제11항에 있어서,
    상기 실시간 사용자 생체 정보는, 상기 사용자 단말이 상기 사용자의 안면부를 촬상함으로써 생성되는 이미지 정보로서, 상기 사용자 단말의 ToF(Time of Flight) 모듈을 통해 센싱되는 상기 사용자의 상기 안면부에 대한 공간 정보를 포함하며,
    상기 프로세서는,
    상기 (1) 프로세스에서,
    상기 사용자 단말로부터 상기 사용자의 상기 안면부 각각의 지점까지의 거리 정보를 나타내는 상기 공간 정보를 참조하여 상기 실시간 사용자 생체 정보가 위변조 되었는지 여부를 판단하는 것을 특징으로 하는 인증 지원 서버.
  13. 제11항에 있어서,
    (i) 상기 사용자 생체 정보는, 상기 본인증표 정보에 포함되는 상기 사용자의 안면 이미지 정보이며, (ii) 상기 실시간 사용자 생체 정보는, 상기 인증 지원 서버가 상기 실시간 사용자 생체 정보를 요청함에 따라 상기 사용자의 안면부가 촬상됨으로써 생성되는 실시간 이미지 정보인 것을 특징으로 하는 인증 지원 서버.
  14. 제13항에 있어서,
    상기 프로세서는,
    상기 (1) 프로세스에서,
    상기 본인증표 정보에 포함되는 상기 안면 이미지 정보 및 상기 실시간 이미지 정보 각각을 컨볼루션 레이어에 각각 입력시킴으로써 상기 컨볼루션 레이어로 하여금 상기 안면 이미지 정보 및 상기 실시간 이미지 정보 각각에 적어도 한 번 컨볼루션 연산을 적용하도록 하여 상기 안면 이미지 정보 및 상기 실시간 이미지 정보 각각에 대응되는 안면 피처 맵(feature map) 및 실시간 피처 맵 각각을 출력하도록 하며, 상기 안면 피처 맵 및 상기 실시간 피처 맵 각각을 상기 RPN으로 각각 입력하여 상기 RPN으로 하여금 상기 안면 피처 맵 및 상기 실시간 피처 맵 상에서 상기 사용자의 안면부 영역에 대응되는 프로포잘 박스(proposal box)들을 각각 출력하도록 하며, 상기 풀링 레이어로 하여금 상기 프로포잘 박스들에 각각 대응되는 상기 안면 피처 맵 및 상기 실시간 피처 맵 상의 영역들을 각각 풀링하여 풀링된 피처 맵들에 대응되는 안면 피처 벡터 및 실시간 피처 벡터 각각을 출력하도록 하고, 상기 안면 피처 벡터 및 상기 실시간 피처 벡터 각각을 FC 레이어로 입력하여 상기 FC 레이어로 하여금 상기 안면 피처 벡터 및 상기 실시간 피처 벡터 각각에 대응되는 제1 스코어 및 제2 스코어를 각각 출력하도록 하고, 상기 제1 스코어 및 상기 제2 스코어를 참조하여 상기 실시간 사용자 생체 정보의 유효성을 확인하도록 하는 것을 특징으로 하는 인증 지원 서버.
  15. 제10항에 있어서,
    상기 본인확인 정보는 상기 사용자의 본인증표 정보이며,
    상기 프로세서는,
    상기 (2) 프로세스에서,
    상기 CA 서버로 하여금 상기 본인증표 정보로부터 본인증표 특징점 정보를 추출하도록 하며, 상기 본인증표 정보에 대응되는 본인증표 원부 정보로부터 본인증표 원부 특징점 정보를 추출하도록 하고, 상기 본인증표 특징점 정보 및 상기 본인증표 원부 특징점 정보를 참조하여 상기 본인증표 정보 및 상기 본인증표 원부 정보의 일치 여부를 판단하도록 함으로써 상기 본인증표 정보를 인증하도록 하는 것을 특징으로 하는 인증 지원 서버.
  16. 제10항에 있어서,
    (3) 상기 프로세서는, 상기 사용자 단말로부터 서비스 제공 요청이 서비스 제공 서버로 전송되고, 상기 서비스 제공 서버에 의한 서비스가 상기 사용자 단말로 제공되기 위한 인증 정보로서 상기 실시간 사용자 생체 정보에 대한 비대면 인증 요청이 상기 서비스 제공 서버로부터 상기 사용자 단말로 전송되고, 상기 사용자 단말로부터 상기 서비스 제공 서버로 상기 사용자 DID 및 상기 실시간 사용자 생체 정보에 대한 상기 사용자 비대면 인증 VC가 전송되어, 상기 서비스 제공 서버로부터 상기 사용자 비대면 인증 VC에 대한 인증 요청 - 상기 사용자 비대면 인증 VC에 대한 인증 요청은 상기 사용자 DID, 상기 사용자 비대면 인증 VC 및 상기 사용자 비대면 인증 VC를 상기 사용자 프라이빗키로 서명한 VC 사용자 서명값을 포함함 - 이 획득되면, 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키를 획득하거나, 상기 리졸버 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크에 등록된 적어도 상기 사용자 퍼블릭키를 포함하는 상기 사용자 DID에 대응되는 정보들을 획득하여 상기 사용자 DID 문서를 생성하여 상기 인증 지원 서버로 전송하도록 함으로써 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키를 획득하고, 상기 사용자 퍼블릭키를 이용하여 상기 VC 사용자 서명값을 검증하며, 상기 VC 사용자 서명값이 검증되어 상기 사용자 비대면 인증 VC가 획득되면, 상기 사용자 비대면 인증 VC에 포함된 상기 CA 서버 DID를 이용하여 상기 블록체인 네트워크로부터 상기 CA 서버 DID에 대응되는 상기 CA 서버 퍼블릭키를 획득하거나, 상기 리졸버 서버로 하여금 상기 CA 서버 DID를 이용하여 상기 블록체인 네트워크에 등록된 적어도 상기 CA 서버 퍼블릭키를 포함하는 상기 CA 서버 DID에 대응되는 정보들을 획득하여 상기 CA 서버 DID 문서를 생성하여 상기 인증 지원 서버로 전송하도록 함으로써 상기 CA 서버 DID 문서로부터 상기 CA 서버 퍼블릭키를 획득하고, 상기 CA 서버 퍼블릭키를 이용하여 상기 사용자 비대면 인증 VC에 포함된 상기 CA 서버 서명값을 검증하며, 상기 CA 서버 서명값이 검증되어 상기 가공 정보가 획득되면, 상기 사용자 단말로 제1 인증 정보를 요청하고, 상기 사용자 단말로부터 상기 제1 인증 정보로서 신규 사용자 생체 정보가 획득되면, 상기 신규 사용자 생체 정보로부터 추출된 신규 특징점 정보가 가공된 신규 가공 정보와 상기 가공 정보를 참조하여 상기 신규 사용자 생체 정보의 유효성을 확인하며, 상기 신규 사용자 생체 정보의 유효성이 확인되면 상기 비대면 인증 요청에 대응되는 비대면 인증 결과를 상기 서비스 제공 서버로 전송하여 주는 프로세스;
    를 더 수행하는 것을 특징으로 하는 인증 지원 서버.
  17. 제16항에 있어서,
    상기 실시간 특징점 정보를 가공한 상기 가공 정보는, 상기 실시간 사용자 생체 정보로부터 추출된 상기 실시간 특징점 정보에 대해 해시 연산이 적용됨으로써 생성되며,
    상기 프로세서는,
    상기 (3) 프로세스에서,
    상기 신규 사용자 생체 정보로부터 추출한 신규 특징점 정보에 대해 해시 연산을 적용하여 신규 해시값을 생성하고, 상기 신규 해시값과 상기 가공 정보를 참조하여 상기 신규 사용자 생체 정보의 유효성을 확인하는 것을 특징으로 하는 인증 지원 서버.
  18. 제16항에 있어서,
    상기 프로세서는,
    상기 (3) 프로세스에서,
    상기 신규 사용자 생체 정보는, 상기 사용자의 안면부가 촬상됨으로써 생성되는 이미지 정보로서, ToF(Time of Flight) 모듈을 통해 센싱되는 상기 사용자의 상기 안면부에 대한 공간 정보를 포함하며,
    상기 ToF 모듈로부터 상기 사용자의 상기 안면부 각각의 지점까지의 거리 정보를 나타내는 상기 공간 정보를 참조하여 상기 신규 사용자 생체 정보가 위변조 되었는지 여부를 판단하고, 상기 신규 사용자 생체 정보가 위변조 되지 않은 것으로 판단되면, 상기 신규 가공 정보 및 상기 가공 정보를 참조하여 상기 신규 사용자 생체 정보의 유효성을 확인하는 것을 특징으로 하는 인증 지원 서버.
KR1020220035995A 2020-07-24 2022-03-23 사용자 비대면 인증 VC(verifiable credential)를 이용한 DID(decentralized identifier) 기반의 사용자 비대면 인증 방법 및 이를 이용한 인증 지원 서버 KR20220043086A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20200092632 2020-07-24
KR1020200092632 2020-07-24
KR1020210095189A KR102455825B1 (ko) 2020-07-24 2021-07-20 사용자 비대면 인증 VC(verifiable credential)를 이용한 DID(decentralized identifier) 기반의 사용자 비대면 인증 방법 및 이를 이용한 인증 지원 서버

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020210095189A Division KR102455825B1 (ko) 2020-07-24 2021-07-20 사용자 비대면 인증 VC(verifiable credential)를 이용한 DID(decentralized identifier) 기반의 사용자 비대면 인증 방법 및 이를 이용한 인증 지원 서버

Publications (1)

Publication Number Publication Date
KR20220043086A true KR20220043086A (ko) 2022-04-05

Family

ID=79689548

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220035995A KR20220043086A (ko) 2020-07-24 2022-03-23 사용자 비대면 인증 VC(verifiable credential)를 이용한 DID(decentralized identifier) 기반의 사용자 비대면 인증 방법 및 이를 이용한 인증 지원 서버

Country Status (3)

Country Link
US (1) US11316699B2 (ko)
KR (1) KR20220043086A (ko)
WO (1) WO2022019693A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102439879B1 (ko) * 2022-04-28 2022-09-02 주식회사 잇다헬스케어 블록체인 기반의 신원 인증용 시스템 및 그에 관한 동작방법

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11838450B2 (en) 2020-02-26 2023-12-05 Dish Network L.L.C. Devices, systems and processes for facilitating watch parties
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
US11606597B2 (en) 2020-09-03 2023-03-14 Dish Network Technologies India Private Limited Devices, systems, and processes for facilitating live and recorded content watch parties
US11849171B2 (en) 2021-12-07 2023-12-19 Dish Network L.L.C. Deepfake content watch parties
US11974005B2 (en) 2021-12-07 2024-04-30 Dish Network L.L.C. Cell phone content watch parties
US11973999B2 (en) 2022-08-19 2024-04-30 Dish Network L.L.C. User chosen watch parties
CN115550067B (zh) * 2022-11-28 2023-03-31 北京泰尔英福科技有限公司 基于分布式标识的工业互联网互操作方法、系统及设备
US11870905B1 (en) * 2023-04-20 2024-01-09 Cplabs, Inc. Method for providing user identity based on zero-knowledge proof over blockchain network by using user certificate and blockchain system using the same

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9985964B2 (en) * 2016-03-28 2018-05-29 Black Gold Coin, Inc. Systems and methods for providing block chain-based multifactor personal identity verification
US11431509B2 (en) * 2016-09-13 2022-08-30 Queralt, Inc. Bridging digital identity validation and verification with the FIDO authentication framework
US10810290B2 (en) * 2017-03-05 2020-10-20 Ronald H Minter Robust method and an apparatus for authenticating a client in non-face-to-face online interactions based on a combination of live biometrics, biographical data, blockchain transactions and signed digital certificates
US10541818B2 (en) * 2017-04-19 2020-01-21 International Business Machines Corporation Decentralized biometric signing of digital contracts
US11792181B2 (en) * 2018-03-27 2023-10-17 Workday, Inc. Digital credentials as guest check-in for physical building access
GB2593116A (en) * 2018-07-16 2021-09-22 Sita Information Networking Computing Uk Ltd Self sovereign identity
US20200026834A1 (en) * 2018-07-23 2020-01-23 One Kosmos Inc. Blockchain identity safe and authentication system
KR102171746B1 (ko) * 2018-11-26 2020-10-29 주식회사 시큐센 블록체인을 이용한 바이오전자서명 방법, 및 장치
KR102284396B1 (ko) * 2018-12-07 2021-08-03 주식회사 코인플러그 생체 정보 기반의 pki 키 생성 방법 및 이를 이용한 키 생성 장치
US10964163B2 (en) * 2019-04-12 2021-03-30 block.one Security and gaming device for gamifying decentralized distribution of virtual tokens
CN111213147B (zh) * 2019-07-02 2023-10-13 创新先进技术有限公司 用于基于区块链的交叉实体认证的系统和方法
KR102522381B1 (ko) * 2019-09-06 2023-04-18 주식회사 코인플러그 블록체인 토큰 기반의 페이먼트를 수행하는 방법 및 이를 이용한 카드사 서버
US11626997B2 (en) * 2020-03-06 2023-04-11 Vaultie, Inc. System and method for authenticating digitally signed documents
EP3799684A4 (en) * 2020-03-13 2021-06-09 Alipay (Hangzhou) Information Technology Co., Ltd. DATA AUTHORIZATION BASED ON DECENTRALIZED IDENTIFICATORS

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102439879B1 (ko) * 2022-04-28 2022-09-02 주식회사 잇다헬스케어 블록체인 기반의 신원 인증용 시스템 및 그에 관한 동작방법

Also Published As

Publication number Publication date
US20220029825A1 (en) 2022-01-27
WO2022019693A1 (ko) 2022-01-27
US11316699B2 (en) 2022-04-26

Similar Documents

Publication Publication Date Title
KR20220043086A (ko) 사용자 비대면 인증 VC(verifiable credential)를 이용한 DID(decentralized identifier) 기반의 사용자 비대면 인증 방법 및 이를 이용한 인증 지원 서버
KR102139548B1 (ko) 안면인식 기술 기반 분산화된 신원증명 시스템 및 방법
KR102038851B1 (ko) 신원들을 검증하기 위한 방법 및 시스템
EP1480105B1 (en) Secure messaging for security token
EP2087641B1 (en) Fuzzy biometrics based signatures
JP2018205906A5 (ko)
US10963552B2 (en) Method and electronic device for authenticating a user
US10482225B1 (en) Method of authorization dialog organizing
KR20180138002A (ko) 지문 인증 방법 및 장치
KR20190017975A (ko) 생물학적 특징 인식 장치와 방법 및 생물학적 특징 템플릿 등록 방법
KR20220028836A (ko) 블록체인 네트워크 기반의 분산 아이디를 이용한 운전 면허증 인증 서비스 방법 및 운전 면허증 인증 서비스를 수행하는 사용자 단말
Alotaibi et al. Enhancing OAuth services security by an authentication service with face recognition
JP7364057B2 (ja) 情報処理装置、システム、顔画像の更新方法及びプログラム
KR102455825B1 (ko) 사용자 비대면 인증 VC(verifiable credential)를 이용한 DID(decentralized identifier) 기반의 사용자 비대면 인증 방법 및 이를 이용한 인증 지원 서버
KR102172200B1 (ko) 라이브니스를 검증하는 모바일 장치 및 방법
JP6222692B2 (ja) 機密生体サーバー認証
Raina Integration of Biometric authentication procedure in customer oriented payment system in trusted mobile devices.
EP3745289A1 (en) Apparatus and method for registering biometric information, apparatus and method for biometric authentication
KR102187545B1 (ko) 얼굴인식 기반의 사용자 인증을 통해 보안 문서를 제공하는 문서 관리 장치 및 그 동작 방법
JP2018169943A (ja) 顔認証処理装置、顔認証処理方法及び顔認証処理システム
KR101988365B1 (ko) 얼굴 인식 시스템 및 그 방법
KR102389587B1 (ko) 안면인식 바이오 정보 라이브니스 검증 장치 및 방법
US20210344491A1 (en) System and method to generate a unique security proof for secure accessing of data
EP3937037A1 (en) A system and method for digital identity authentication based on biometric data
KR101937785B1 (ko) 인증용 생체 정보 생성 방법 및 이를 이용한 생체 정보 인증 방법

Legal Events

Date Code Title Description
A107 Divisional application of patent