KR20220028870A - 블록체인 네트워크 기반의 분산 아이디(Decentralized Identifier, DID)를 이용한 모바일 신분증 인증 서비스 방법 및 모바일 신분증 인증 서비스를 수행하는 사용자 단말 - Google Patents

블록체인 네트워크 기반의 분산 아이디(Decentralized Identifier, DID)를 이용한 모바일 신분증 인증 서비스 방법 및 모바일 신분증 인증 서비스를 수행하는 사용자 단말 Download PDF

Info

Publication number
KR20220028870A
KR20220028870A KR1020200110469A KR20200110469A KR20220028870A KR 20220028870 A KR20220028870 A KR 20220028870A KR 1020200110469 A KR1020200110469 A KR 1020200110469A KR 20200110469 A KR20200110469 A KR 20200110469A KR 20220028870 A KR20220028870 A KR 20220028870A
Authority
KR
South Korea
Prior art keywords
user
information
service
providing server
service providing
Prior art date
Application number
KR1020200110469A
Other languages
English (en)
Inventor
양희선
박병주
오준택
허주승
노광석
이완섭
최재혁
Original Assignee
한국조폐공사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국조폐공사 filed Critical 한국조폐공사
Priority to KR1020200110469A priority Critical patent/KR20220028870A/ko
Publication of KR20220028870A publication Critical patent/KR20220028870A/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/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
    • 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
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services
    • G06Q50/265Personal security, identity or safety
    • 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/321Cryptographic 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 a third party or a trusted authority
    • 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
    • H04L9/3273Cryptographic 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 for mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Educational Administration (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

블록체인 네트워크 기반의 분산 아이디(Decentralized Identifier, DID)를 이용한 모바일 신분증 인증 서비스 방법에 있어서,
(a) 사용자에 대응되는 사용자 DID 및 상기 사용자 DID에 대응되는 사용자 공개 정보들 - 상기 사용자 공개 정보들은 상기 사용자 DID와 사용자 단말의 신분증 DID 애플리케이션에 대응되는 제1 사용자 공개키 및 상기 사용자 DID와 상기 사용자 단말의 서비스 DID 애플리케이션에 대응되는 제2 사용자 공개키를 적어도 포함함 - 이 블록체인 네트워크에 등록되며, 신분증 발급 서버에 의해 상기 사용자 DID에 대응되는 사용자 신원 정보들 각각이 검증됨에 따라 상기 사용자 신원 정보들 각각에 대한 신원 정보 VC(verifiable credential)들이 발급되어 상기 사용자 단말의 상기 신분증 DID 애플리케이션에 연동되는 제1 저장부에 저장된 상태에서, 상기 사용자 단말이, 상기 서비스 DID 애플리케이션을 통해 사용자 정보 VC 발급 요청 정보, 상기 사용자 DID 및 상기 사용자 정보 VC 발급 요청 정보를 제2 사용자 개인키로 서명한 발급 요청 정보 서명값을 제1 서비스 제공 서버로 전송함으로써 상기 제1 서비스 제공 서버로 하여금 상기 발급 요청 정보 서명값을 검증하여 상기 사용자 정보 VC 발급 요청 정보의 유효성을 확인하도록 하며, 상기 사용자 정보 VC 발급 요청 정보가 유효한 것으로 확인되면 상기 사용자 단말로 사용자 인증 정보를 요청하도록 하는 단계; 및 (b) 상기 제1 서비스 제공 서버로부터의 상기 사용자 인증 정보의 요청에 응답하여, 상기 사용자 단말이, 상기 신분증 DID 애플리케이션을 통해 상기 사용자 DID, 적어도 하나의 특정 신원 정보 VC, 및 상기 특정 신원 정보 VC를 제1 사용자 개인키로 서명한 제1 사용자 서명값을 포함하는 상기 사용자 인증 정보를 상기 제1 서비스 제공 서버로 전송함으로써 상기 제1 서비스 제공 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 제1 사용자 공개키를 획득하도록 하거나, 리졸버(resolver) 서버를 통해 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하고 상기 사용자 DID 문서로부터 상기 제1 사용자 공개키를 획득하도록 하며, 상기 제1 사용자 공개키를 이용하여 상기 제1 사용자 서명값을 검증하도록 하며, 상기 제1 사용자 서명값이 검증되면 상기 특정 신원 정보 VC를 검증하도록 하고, 상기 특정 신원 정보 VC가 검증되면 상기 제1 서비스 제공 서버가 제공하는 제1 서비스에 관련된 사용자 정보를 이용하여 사용자 정보 VC를 생성하도록 하고, 상기 사용자 정보 VC를 상기 사용자 단말로 전송하도록 하며, 상기 사용자 정보 VC가 획득되면, 상기 서비스 DID 애플리케이션을 통해 상기 사용자 정보 VC를 상기 사용자 단말의 상기 서비스 DID 애플리케이션에 연동되는 제2 저장부에 저장하는 단계를 포함하는 방법 및 이를 수행하는 사용자 단말이 개시된다.

Description

블록체인 네트워크 기반의 분산 아이디(Decentralized Identifier, DID)를 이용한 모바일 신분증 인증 서비스 방법 및 모바일 신분증 인증 서비스를 수행하는 사용자 단말{METHOD FOR MOBILE IDENTIFICATION CARD AUTHENTICATION SERVICE USING DECENTRALIZED IDENTIFIER BASED ON BLOCKCHAIN NETWORKS AND USER DEVICE EXECUTING MOBILE IDENTIFICATION CARD AUTHENTICATION SERVICE}
본 발명은 블록체인 네트워크 기반의 분산 아이디(Decentralized Identifier, DID)를 이용한 모바일 신분증 인증 서비스 방법 및 모바일 신분증 인증 서비스를 수행하는 사용자 단말에 관한 것이다.
종래에는, 본인 인증을 위하여 사용되는 신분증은, 온라인 또는 오프라인을 통한 신분증 발급 요청에 의해 플라스틱 소재의 카드로 오프라인상에서 발급되어 왔다.
따라서, 신분증에 대응되는 본인은, 자신을 인증하고자 하는 경우 실물로 된 신분증을 직접 꺼내서 제시하여야 하므로, 항상 실물로 된 신분증을 별도로 소지하여야 하는 번거로움이 있었다.
또한, 종래에는, 본인을 인증하는 과정에서 신분증에 포함된 모든 정보를 제3자에게 불필요하게 노출하여야 하는 문제점이 존재하였다.
예를 들어, 운전 면허증에는 본인 사진, 성명, 주민등록번호, 주소, 발급일자, 발급기관정보, 면허 종류, 유효기간 등에 관한 정보가 포함되는데, 본인이 성인이라는 사실을 인증하기 위해 필요한 정보는 위 정보 중 극히 일부임에도 불구하고, 모든 정보가 제3자에게 불필요하게 노출되는 문제점이 존재하였다.
또한, 종래에는, 사용자 단말에 발급된 각종 개인 정보들이 발급 기관 등을 고려하지 않고 동일한 저장소에 저장되어 일괄적으로 관리되어 왔으므로, 개인 정보 유출에 취약한 문제점이 존재하였다.
따라서, 상기 문제점들을 해결하기 위한 개선 방안이 요구되는 실정이다.
KR 10-2017-0078122 A
본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은 실물로 된 신분증을 소지하지 않고도 사용자를 인증할 수 있도록 하는 것을 다른 목적으로 한다.
또한, 본 발명은 신분증에 포함되는 정보 중 인증에 필요한 정보만을 검증기관에 제공할 수 있도록 하는 것을 또 다른 목적으로 한다.
또한, 본 발명은 블록체인 네트워크 기반의 분산 아이디를 이용하여 모바일 신분증 인증 서비스가 이루어지도록 함으로써 사용자에 관련된 정보의 위변조를 방지하는 것을 또 다른 목적으로 한다.
또한, 본 발명은 요구되는 보안 수준에 따라 사용자에 관련된 정보를 구분하여 저장함으로써 개인 정보 유출을 방지하는 것을 또 다른 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한, 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, 블록체인 네트워크 기반의 분산 아이디(Decentralized Identifier, DID)를 이용한 모바일 신분증 인증 서비스 방법에 있어서, (a) 사용자에 대응되는 사용자 DID 및 상기 사용자 DID에 대응되는 사용자 공개 정보들 - 상기 사용자 공개 정보들은 상기 사용자 DID와 사용자 단말의 신분증 DID 애플리케이션에 대응되는 제1 사용자 공개키 및 상기 사용자 DID와 상기 사용자 단말의 서비스 DID 애플리케이션에 대응되는 제2 사용자 공개키를 적어도 포함함 - 이 블록체인 네트워크에 등록되며, 신분증 발급 서버에 의해 상기 사용자 DID에 대응되는 사용자 신원 정보들 각각이 검증됨에 따라 상기 사용자 신원 정보들 각각에 대한 신원 정보 VC(verifiable credential)들이 발급되어 상기 사용자 단말의 상기 신분증 DID 애플리케이션에 연동되는 제1 저장부에 저장된 상태에서, 상기 사용자 단말이, 상기 서비스 DID 애플리케이션을 통해 사용자 정보 VC 발급 요청 정보, 상기 사용자 DID 및 상기 사용자 정보 VC 발급 요청 정보를 제2 사용자 개인키로 서명한 발급 요청 정보 서명값을 제1 서비스 제공 서버로 전송함으로써 상기 제1 서비스 제공 서버로 하여금 상기 발급 요청 정보 서명값을 검증하여 상기 사용자 정보 VC 발급 요청 정보의 유효성을 확인하도록 하며, 상기 사용자 정보 VC 발급 요청 정보가 유효한 것으로 확인되면 상기 사용자 단말로 사용자 인증 정보를 요청하도록 하는 단계; 및 (b) 상기 제1 서비스 제공 서버로부터의 상기 사용자 인증 정보의 요청에 응답하여, 상기 사용자 단말이, 상기 신분증 DID 애플리케이션을 통해 상기 사용자 DID, 적어도 하나의 특정 신원 정보 VC, 및 상기 특정 신원 정보 VC를 제1 사용자 개인키로 서명한 제1 사용자 서명값을 포함하는 상기 사용자 인증 정보를 상기 제1 서비스 제공 서버로 전송함으로써 상기 제1 서비스 제공 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 제1 사용자 공개키를 획득하도록 하거나, 리졸버(resolver) 서버를 통해 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하고 상기 사용자 DID 문서로부터 상기 제1 사용자 공개키를 획득하도록 하며, 상기 제1 사용자 공개키를 이용하여 상기 제1 사용자 서명값을 검증하도록 하며, 상기 제1 사용자 서명값이 검증되면 상기 특정 신원 정보 VC를 검증하도록 하고, 상기 특정 신원 정보 VC가 검증되면 상기 제1 서비스 제공 서버가 제공하는 제1 서비스에 관련된 사용자 정보를 이용하여 사용자 정보 VC를 생성하도록 하고, 상기 사용자 정보 VC를 상기 사용자 단말로 전송하도록 하며, 상기 사용자 정보 VC가 획득되면, 상기 서비스 DID 애플리케이션을 통해 상기 사용자 정보 VC를 상기 사용자 단말의 상기 서비스 DID 애플리케이션에 연동되는 제2 저장부에 저장하는 단계;를 포함하는 방법이 개시된다.
일례로서, 상기 (b) 단계에서, 상기 사용자가 유효한 사용자임을 나타내는 사용자 유효 정보가 획득되면, 상기 제1 서비스 제공 서버로부터의 상기 사용자 인증 정보의 요청에 응답하여, 상기 사용자 단말이, 상기 신분증 DID 애플리케이션을 통해 상기 사용자 DID, 상기 특정 신원 정보 VC, 및 상기 특정 신원 정보 VC를 상기 제1 사용자 개인키로 서명한 상기 제1 사용자 서명값을 포함하는 상기 사용자 인증 정보를 상기 제1 서비스 제공 서버로 전송하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (b) 단계에서, 상기 사용자 단말이, 상기 제1 서비스 제공 서버로 하여금 상기 특정 신원 정보 VC를 검증하도록 하되, 상기 특정 신원 정보 VC가 유효하지 않은 것으로 판단되면, 상기 사용자 단말로 상기 사용자 인증 정보를 재요청하도록 하고, 상기 제1 서비스 제공 서버로부터의 상기 사용자 인증 정보의 재요청에 응답하여, 상기 신분증 DID 애플리케이션을 통해 타 신원 정보 VC를 포함하는 사용자 재인증 정보를 상기 제1 서비스 제공 서버로 전송함으로써 상기 제1 서비스 제공 서버로 하여금 상기 타 신원 정보 VC를 검증하도록 하고, 상기 타 신원 정보 VC가 검증되면 상기 제1 서비스 제공 서버가 제공하는 상기 제1 서비스에 관련된 상기 사용자 정보를 이용하여 상기 사용자 정보 VC를 생성하도록 하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 특정 신원 정보 VC는 신분증 발급 서버 DID 및 신분증 발급 서버 서명값을 포함하며, 상기 신분증 발급 서버 DID가 이용되어 상기 블록체인 네트워크로부터 상기 신분증 발급 서버 DID에 대응되는 신분증 발급 서버 공개키가 획득되고, 상기 신분증 발급 서버 공개키가 이용되어 상기 신분증 발급 서버 서명값이 검증됨으로써 상기 특정 신원 정보 VC가 검증되는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (a) 단계에서, 상기 사용자 DID가 이용되어 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 제2 사용자 공개키가 획득되고, 상기 제2 사용자 공개키가 이용되어 상기 발급 요청 정보 서명값이 검증됨으로써 상기 사용자 정보 VC 발급 요청 정보의 유효성이 확인되는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 사용자 단말이, 상기 신분증 DID 애플리케이션을 통해 TEE(Trusted Execution Environment)상에서 상기 신원 정보 VC를 관리하는 것을 특징으로 하는 방법이 개시된다.
본 발명의 다른 태양에 따르면, 블록체인 네트워크 기반의 분산 아이디(Decentralized Identifier, DID)를 이용한 모바일 신분증 인증 서비스 방법에 있어서, (a) 사용자에 대응되는 사용자 DID 및 상기 사용자 DID에 대응되는 사용자 공개 정보들 - 상기 사용자 공개 정보들은 상기 사용자 DID와 신분증 DID 애플리케이션에 대응되는 제1 사용자 공개키 및 상기 사용자 DID와 서비스 DID 애플리케이션에 대응되는 제2 사용자 공개키를 적어도 포함함 - 가 블록체인 네트워크에 등록되며, 사용자 신원 정보들 각각에 대한 신원 정보 VC들이 사용자 단말의 상기 신분증 DID 애플리케이션에 연동되는 제1 저장부에 저장되고, 제1 서비스 제공 서버가 제공하는 제1 서비스에 관련된 사용자 정보들에 대한 사용자 정보 VC들이 상기 사용자 단말의 상기 서비스 DID 애플리케이션에 연동되는 제2 저장부에 저장된 상태에서, 상기 사용자 단말이, 서비스 제공 요청을 제2 서비스 제공 서버로 전송함으로써 상기 제2 서비스 제공 서버로 하여금 상기 사용자 단말로 사용자 서비스 인증 정보를 요청하도록 하는 단계; 및 (b) 상기 제2 서비스 제공 서버로부터의 상기 사용자 서비스 인증 정보의 요청에 응답하여, 상기 사용자 단말이, 상기 서비스 DID 애플리케이션을 통해 상기 신분증 DID 애플리케이션으로부터 적어도 하나의 특정 신원 정보 VC, 및 상기 특정 신원 정보 VC를 제1 사용자 개인키로 서명한 제1 사용자 서명값을 획득하고, (i) 상기 사용자 DID, (ii) 상기 특정 신원 정보 VC, (iii) 상기 제1 사용자 서명값, (iv) 적어도 하나의 특정 사용자 정보 VC, 및 (v) 상기 특정 신원 정보 VC, 상기 제1 사용자 서명 값 및 상기 특정 사용자 정보 VC를 제2 사용자 개인키로 서명한 제2 사용자 서명값을 포함하는 상기 사용자 서비스 인증 정보를 상기 제2 서비스 제공 서버로 전송함으로써, 상기 제2 서비스 제공 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 제1 사용자 공개키 및 상기 제2 사용자 공개키를 획득하도록 하거나, 리졸버(resolver) 서버를 통해 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하고 상기 사용자 DID 문서로부터 상기 제1 사용자 공개키 및 상기 제2 사용자 공개키를 획득하도록 하며, 상기 제1 사용자 공개키 및 상기 제2 사용자 공개키를 이용하여 상기 제1 사용자 서명값 및 상기 제2 사용자 서명값을 검증하도록 하며, 상기 제1 사용자 서명값 및 상기 제2 사용자 서명값이 검증되면 상기 특정 신원 정보 VC 및 상기 특정 사용자 정보 VC를 검증하도록 하고, 상기 특정 신원 정보 VC 및 상기 특정 사용자 정보 VC가 검증되면 상기 서비스 제공 요청에 대응되는 서비스 정보를 상기 사용자 단말로 전송하도록 하는 단계;를 포함하는 방법이 개시된다.
일례로서, 상기 사용자 서비스 인증 정보는 제1 사용자 서비스 인증 정보 및 제2 사용자 서비스 인증 정보를 포함하고, 상기 (b) 단계에서, 상기 제2 서비스 제공 서버로부터의 상기 제1 사용자 서비스 인증 정보 및 상기 제2 사용자 서비스 인증 정보의 요청에 응답하여, 상기 사용자 단말이, (i) 상기 신분증 DID 애플리케이션을 통해 상기 사용자 DID, 상기 특정 신원 정보 VC, 및 상기 특정 신원 정보 VC를 상기 제1 사용자 개인키로 서명한 상기 제1 사용자 서명값을 포함하는 제1 사용자 서비스 인증 정보를 상기 제2 서비스 제공 서버로 전송하고, (ii) 상기 서비스 DID 애플리케이션을 통해 상기 사용자 DID, 상기 특정 사용자 정보 VC, 및 상기 특정 사용자 정보 VC를 상기 제2 사용자 개인키로 서명한 상기 제2 사용자 서명값을 포함하는 제2 사용자 서비스 인증 정보를 상기 제2 서비스 제공 서버로 전송하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 특정 신원 정보 VC는 신분증 발급 서버 DID 및 신분증 발급 서버 서명값을 포함하고, 상기 특정 사용자 정보 VC는 제1 서비스 제공 서버 DID 및 제1 서비스 제공 서버 서명값을 포함하며, 상기 신분증 발급 서버 DID 및 상기 제1 서비스 제공 서버 DID가 각각 이용되어 상기 블록체인 네트워크로부터 상기 신분증 발급 서버 DID 및 상기 제1 서비스 제공 서버 DID 각각에 대응되는 신분증 발급 서버 공개키 및 제1 서비스 제공 서버 공개키가 각각 획득되고, 상기 신분증 발급 서버 공개키 및 상기 제1 서비스 제공 서버 공개키가 각각 이용되어 상기 신분증 발급 서버 서명값 및 상기 제1 서비스 제공 서버 서명값이 각각 검증됨으로써 상기 특정 신원 정보 VC 및 상기 특정 사용자 정보 VC가 검증되는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 사용자 단말이, 상기 신분증 DID 애플리케이션을 통해 TEE(Trusted Execution Environment, TEE)에서 상기 신원 정보 VC를 관리하는 것을 특징으로 하는 방법이 개시된다.
본 발명의 또 다른 태양에 따르면, 블록체인 네트워크 기반의 분산 아이디(Decentralized Identifier, DID)를 이용한 모바일 신분증 인증 서비스를 수행하는 사용자 단말에 있어서, 인스트럭션들을 저장하는 적어도 하나의 메모리; 및 상기 인스트럭션들을 실행하기 위해 구성된 적어도 하나의 프로세서를 포함하되, 상기 프로세서는, (1) 사용자에 대응되는 사용자 DID 및 상기 사용자 DID에 대응되는 사용자 공개 정보들 - 상기 사용자 공개 정보들은 상기 사용자 DID와 사용자 단말의 신분증 DID 애플리케이션에 대응되는 제1 사용자 공개키 및 상기 사용자 DID와 상기 사용자 단말의 서비스 DID 애플리케이션에 대응되는 제2 사용자 공개키를 적어도 포함함 - 이 블록체인 네트워크에 등록되며, 신분증 발급 서버에 의해 상기 사용자 DID에 대응되는 사용자 신원 정보들 각각이 검증됨에 따라 상기 사용자 신원 정보들 각각에 대한 신원 정보 VC(verifiable credential)들이 발급되어 상기 사용자 단말의 상기 신분증 DID 애플리케이션에 연동되는 제1 저장부에 저장된 상태에서, 상기 서비스 DID 애플리케이션을 통해 사용자 정보 VC 발급 요청 정보, 상기 사용자 DID 및 상기 사용자 정보 VC 발급 요청 정보를 제2 사용자 개인키로 서명한 발급 요청 정보 서명값을 제1 서비스 제공 서버로 전송함으로써 상기 제1 서비스 제공 서버로 하여금 상기 발급 요청 정보 서명값을 검증하여 상기 사용자 정보 VC 발급 요청 정보의 유효성을 확인하도록 하며, 상기 사용자 정보 VC 발급 요청 정보가 유효한 것으로 확인되면 상기 사용자 단말로 사용자 인증 정보를 요청하도록 하는 프로세스;및 (2) 상기 제1 서비스 제공 서버로부터의 상기 사용자 인증 정보의 요청에 응답하여, 상기 신분증 DID 애플리케이션을 통해 상기 사용자 DID, 적어도 하나의 특정 신원 정보 VC, 및 상기 특정 신원 정보 VC를 제1 사용자 개인키로 서명한 제1 사용자 서명값을 포함하는 상기 사용자 인증 정보를 상기 제1 서비스 제공 서버로 전송함으로써 상기 제1 서비스 제공 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 제1 사용자 공개키를 획득하도록 하거나, 리졸버(resolver) 서버를 통해 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하고 상기 사용자 DID 문서로부터 상기 제1 사용자 공개키를 획득하도록 하며, 상기 제1 사용자 공개키를 이용하여 상기 제1 사용자 서명값을 검증하도록 하며, 상기 제1 사용자 서명값이 검증되면 상기 특정 신원 정보 VC를 검증하도록 하고, 상기 특정 신원 정보 VC가 검증되면 상기 제1 서비스 제공 서버가 제공하는 제1 서비스에 관련된 사용자 정보를 이용하여 사용자 정보 VC를 생성하도록 하고, 상기 사용자 정보 VC를 상기 사용자 단말로 전송하도록 하며, 상기 사용자 정보 VC가 획득되면, 상기 서비스 DID 애플리케이션을 통해 상기 사용자 정보 VC를 상기 사용자 단말의 상기 서비스 DID 애플리케이션에 연동되는 제2 저장부에 저장하는 프로세스를 수행하는 상기 인스트럭션들을 실행하는 사용자 단말이 개시된다.
일례로서, 상기 프로세서는, 상기 (2) 프로세스에서, 상기 사용자가 유효한 사용자임을 나타내는 사용자 유효 정보가 획득되면, 상기 제1 서비스 제공 서버로부터의 상기 사용자 인증 정보의 요청에 응답하여, 상기 신분증 DID 애플리케이션을 통해 상기 사용자 DID, 상기 특정 신원 정보 VC, 및 상기 특정 신원 정보 VC를 상기 제1 사용자 개인키로 서명한 상기 제1 사용자 서명값을 포함하는 상기 사용자 인증 정보를 상기 제1 서비스 제공 서버로 전송하는 것을 특징으로 하는 사용자 단말이 개시된다.
일례로서, 상기 프로세서는, 상기 (2) 프로세스에서, 상기 제1 서비스 제공 서버로 하여금 상기 특정 신원 정보 VC를 검증하도록 하되, 상기 특정 신원 정보 VC가 유효하지 않은 것으로 판단되면, 상기 사용자 단말로 상기 사용자 인증 정보를 재요청하도록 하고, 상기 제1 서비스 제공 서버로부터의 상기 사용자 인증 정보의 재요청에 응답하여, 상기 신분증 DID 애플리케이션을 통해 타 신원 정보 VC를 포함하는 사용자 재인증 정보를 상기 제1 서비스 제공 서버로 전송함으로써 상기 제1 서비스 제공 서버로 하여금 상기 타 신원 정보 VC를 검증하도록 하고, 상기 타 신원 정보 VC가 검증되면 상기 제1 서비스 제공 서버가 제공하는 상기 제1 서비스에 관련된 상기 사용자 정보를 이용하여 상기 사용자 정보 VC를 생성하도록 하는 것을 특징으로 하는 사용자 단말이 개시된다.
일례로서, 상기 특정 신원 정보 VC는 신분증 발급 서버 DID 및 신분증 발급 서버 서명값을 포함하며, 상기 신분증 발급 서버 DID가 이용되어 상기 블록체인 네트워크로부터 상기 신분증 발급 서버 DID에 대응되는 신분증 발급 서버 공개키가 획득되고, 상기 신분증 발급 서버 공개키가 이용되어 상기 신분증 발급 서버 서명값이 검증됨으로써 상기 특정 신원 정보 VC가 검증되는 것을 특징으로 하는 사용자 단말이 개시된다.
일례로서, 상기 프로세서는, 상기 (1) 프로세스에서, 상기 사용자 DID가 이용되어 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 제2 사용자 공개키가 획득되고, 상기 제2 사용자 공개키가 이용되어 상기 발급 요청 정보 서명값이 검증됨으로써 상기 사용자 정보 VC 발급 요청 정보의 유효성이 확인되는 것을 특징으로 하는 사용자 단말이 개시된다.
일례로서, 상기 신분증 DID 애플리케이션을 통해 TEE(Trusted Execution Environment)상에서 상기 신원 정보 VC를 관리하는 것을 특징으로 하는 사용자 단말이 개시된다.
본 발명의 또 다른 태양에 따르면, 블록체인 네트워크 기반의 분산 아이디(Decentralized Identifier, DID)를 이용한 모바일 신분증 인증 서비스를 수행하는 사용자 단말에 있어서, 인스트럭션들을 저장하는 적어도 하나의 메모리; 및 상기 인스트럭션들을 실행하기 위해 구성된 적어도 하나의 프로세서를 포함하되, 상기 프로세서는, (1) 사용자에 대응되는 사용자 DID 및 상기 사용자 DID에 대응되는 사용자 공개 정보들 - 상기 사용자 공개 정보들은 상기 사용자 DID와 신분증 DID 애플리케이션에 대응되는 제1 사용자 공개키 및 상기 사용자 DID와 서비스 DID 애플리케이션에 대응되는 제2 사용자 공개키를 적어도 포함함 - 가 블록체인 네트워크에 등록되며, 사용자 신원 정보들 각각에 대한 신원 정보 VC들이 사용자 단말의 상기 신분증 DID 애플리케이션에 연동되는 제1 저장부에 저장되고, 제1 서비스 제공 서버가 제공하는 제1 서비스에 관련된 사용자 정보들에 대한 사용자 정보 VC들이 상기 사용자 단말의 상기 서비스 DID 애플리케이션에 연동되는 제2 저장부에 저장된 상태에서, 서비스 제공 요청을 제2 서비스 제공 서버로 전송함으로써 상기 제2 서비스 제공 서버로 하여금 상기 사용자 단말로 사용자 서비스 인증 정보를 요청하도록 하는 프로세스 및 (2) 상기 제2 서비스 제공 서버로부터의 상기 사용자 서비스 인증 정보의 요청에 응답하여, 상기 서비스 DID 애플리케이션을 통해 상기 신분증 DID 애플리케이션으로부터 적어도 하나의 특정 신원 정보 VC, 및 상기 특정 신원 정보 VC를 제1 사용자 개인키로 서명한 제1 사용자 서명값을 획득하고, (i) 상기 사용자 DID, (ii) 상기 특정 신원 정보 VC, (iii) 상기 제1 사용자 서명값, (iv) 적어도 하나의 특정 사용자 정보 VC, 및 (v) 상기 특정 신원 정보 VC, 상기 제1 사용자 서명 값 및 상기 특정 사용자 정보 VC를 제2 사용자 개인키로 서명한 제2 사용자 서명값을 포함하는 상기 사용자 서비스 인증 정보를 상기 제2 서비스 제공 서버로 전송함으로써, 상기 제2 서비스 제공 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 제1 사용자 공개키 및 상기 제2 사용자 공개키를 획득하도록 하거나, 리졸버(resolver) 서버를 통해 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하고 상기 사용자 DID 문서로부터 상기 제1 사용자 공개키 및 상기 제2 사용자 공개키를 획득하도록 하며, 상기 제1 사용자 공개키 및 상기 제2 사용자 공개키를 이용하여 상기 제1 사용자 서명값 및 상기 제2 사용자 서명값을 검증하도록 하며, 상기 제1 사용자 서명값 및 상기 제2 사용자 서명값이 검증되면 상기 특정 신원 정보 VC 및 상기 특정 사용자 정보 VC를 검증하도록 하고, 상기 특정 신원 정보 VC 및 상기 특정 사용자 정보 VC가 검증되면 상기 서비스 제공 요청에 대응되는 서비스 정보를 상기 사용자 단말로 전송하도록 하는 프로세스를 수행하는 상기 인스트럭션들을 실행하는 사용자 단말이 개시된다.
일례로서, 상기 사용자 서비스 인증 정보는 제1 사용자 서비스 인증 정보 및 제2 사용자 서비스 인증 정보를 포함하고, 상기 프로세서는, 상기 (2) 프로세스에서, 상기 제2 서비스 제공 서버로부터의 상기 제1 사용자 서비스 인증 정보 및 상기 제2 사용자 서비스 인증 정보의 요청에 응답하여, (i) 상기 신분증 DID 애플리케이션을 통해 상기 사용자 DID, 상기 특정 신원 정보 VC, 및 상기 특정 신원 정보 VC를 상기 제1 사용자 개인키로 서명한 상기 제1 사용자 서명값을 포함하는 제1 사용자 서비스 인증 정보를 상기 제2 서비스 제공 서버로 전송하고, (ii) 상기 서비스 DID 애플리케이션을 통해 상기 사용자 DID, 상기 특정 사용자 정보 VC, 및 상기 특정 사용자 정보 VC를 상기 제2 사용자 개인키로 서명한 상기 제2 사용자 서명값을 포함하는 제2 사용자 서비스 인증 정보를 상기 제2 서비스 제공 서버로 전송하는 것을 특징으로 하는 사용자 단말이 개시된다.
일례로서, 상기 특정 신원 정보 VC는 신분증 발급 서버 DID 및 신분증 발급 서버 서명값을 포함하고, 상기 특정 사용자 정보 VC는 제1 서비스 제공 서버 DID 및 제1 서비스 제공 서버 서명값을 포함하며, 상기 신분증 발급 서버 DID 및 상기 제1 서비스 제공 서버 DID가 각각 이용되어 상기 블록체인 네트워크로부터 상기 신분증 발급 서버 DID 및 상기 제1 서비스 제공 서버 DID 각각에 대응되는 신분증 발급 서버 공개키 및 제1 서비스 제공 서버 공개키가 각각 획득되고, 상기 신분증 발급 서버 공개키 및 상기 제1 서비스 제공 서버 공개키가 각각 이용되어 상기 신분증 발급 서버 서명값 및 상기 제1 서비스 제공 서버 서명값이 각각 검증됨으로써 상기 특정 신원 정보 VC 및 상기 특정 사용자 정보 VC가 검증되는 것을 특징으로 하는 사용자 단말이 개시된다.
일례로서, 상기 신분증 DID 애플리케이션을 통해 TEE(Trusted Execution Environment, TEE)에서 상기 신원 정보 VC를 관리하는 것을 특징으로 하는 사용자 단말이 개시된다.
본 발명은 실물로 된 신분증을 소지하지 않고도 사용자를 인증할 수 있도록 하는 효과가 있다.
또한, 본 발명은 신분증에 포함되는 정보 중 인증에 필요한 정보만을 검증기관에 제공할 수 있도록 하는 효과가 있다.
또한, 본 발명은 블록체인 네트워크 기반의 분산 아이디를 이용하여 모바일 신분증 인증 서비스가 이루어지도록 함으로써 사용자에 관련된 정보의 위변조를 방지하는 효과가 있다.
또한, 본 발명은 요구되는 보안 수준에 따라 사용자에 관련된 정보를 구분하여 저장함으로써 개인 정보 유출을 방지하는 효과가 있다.
본 발명의 실시예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자(이하 "통상의 기술자")에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 본 발명의 일 실시예에 따른 블록체인 네트워크 기반의 분산 아이디(Decentralized Identifier, DID)를 이용한 모바일 신분증 인증 서비스를 수행하는 사용자 단말을 개략적으로 도시한 것이며,
도 2 및 도 3은 본 발명의 일 실시예에 따른 블록체인 네트워크 기반의 분산 아이디(Decentralized Identifier, DID)를 이용한 모바일 신분증 인증 서비스가 수행되는 과정에 있어서, 신원 정보 VC 및 사용자 정보 VC가 발급되는 과정을 개략적으로 도시한 것이며,
도 4 내지 도 6은 본 발명의 다른 실시예에 따른 블록체인 네트워크 기반의 분산 아이디(Decentralized Identifier, DID)를 이용한 모바일 신분증 인증 서비스가 수행되는 과정에 있어서, 기발급된 신원 정보 VC 및 사용자 정보 VC를 이용하여 사용자 인증을 수행함으로써 서비스를 제공받는 과정을 개략적으로 도시한 것이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다.
또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, "포함하다"라는 단어 및 그것의 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.
더욱이 본 발명은 본 명세서에 표시된 실시예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 블록체인 네트워크 기반의 분산 아이디(Decentralized Identifier, DID)를 이용한 모바일 신분증 인증 서비스를 수행하는 사용자 단말을 개략적으로 도시한 것이다.
도 1을 참조하면, 사용자 단말(100)은 블록체인 네트워크 기반의 분산 아이디(Decentralized Identifier, DID)를 이용한 모바일 신분증 인증 서비스를 수행하기 위한 인스트럭션들을 저장하는 메모리(110)와 메모리(110)에 저장된 인스트럭션들에 대응하여 블록체인 네트워크 기반의 분산 아이디(Decentralized Identifier, DID)를 이용한 모바일 신분증 인증 서비스를 수행하는 프로세서(120)를 포함할 수 있다. 이때, 사용자 단말(100)은 PC(Personal Computer), 모바일 컴퓨터, PDA/EDA, 휴대 전화, 스마트폰, 태블릿, IoT 기기 등을 포함할 수 있다. 그리고, 사용자 단말(100)은 이에 한정되지 않으며, 유무선 통신 기능을 가진 휴대용 게임기, 디지털 카메라, 개인 내비게이션 등의 모든 디바이스를 포함할 수 있다.
구체적으로, 사용자 단말(100)은 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 컴퓨팅 장치는 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
그러나, 컴퓨팅 장치가 본 발명을 실시하기 위한 미디엄, 프로세서 및 메모리가 통합된 형태인 integrated 프로세서를 포함하는 경우를 배제하는 것은 아니다.
이와 같이 구성된 사용자 단말(100)에 의해 블록체인 네트워크 기반의 분산 아이디(Decentralized Identifier, DID)를 이용한 모바일 신분증 인증 서비스가 수행되는 과정에 대해 도 2 내지 도 6을 참조하여 아래에서 설명하겠다.
먼저, 사용자는 사용자 단말(100)에 신분증 DID 애플리케이션을 설치하며, 신분증 DID 애플리케이션에 대응되는 제1 사용자 개인키와 제1 사용자 공개키를 생성할 수 있다. 그리고, 신분증 DID 애플리케이션을 통해 블록체인 네트워크(400), 일 예로, DID 서비스를 제공하는 블록체인 네트워크(400)로 제1 사용자 공개키를 포함하는 사용자 DID의 생성을 요청할 수 있으며, 그에 따라, 블록체인 네트워크(400)는 사용자 DID를 생성하여 사용자 단말(100)로 전송하여 주고, 제1 사용자 공개키를 사용자 DID와 매칭하여 사용자 공개정보로 블록체인 네트워크(400)에 등록할 수 있다. 이때, 사용자 DID 생성 요청에는 제1 사용자 개인키를 이용한 서명값이 포함될 수 있으며, 블록체인 네트워크(400)는 사용자 DID 생성 요청에 포함된 제1 사용자 공개키를 이용하여 서명값을 검증함으로써 사용자 DID 생성 요청이 사용자 본인에 의해 생성된 것인지를 검증할 수 있다.
또한, 제1 서비스 제공 서버(200)와 신분증 발급 서버(300)도 상기와 같은 방법에 의해 각각 제1 서비스 제공 서버 DID와 신분증 발급 서버 DID를 생성하고, 각각의 공개키들, 즉, 제1 서비스 제공 서버 공개키와 신분증 발급 서버 공개키를 블록체인 네트워크(400)에 등록할 수 있다.
그리고, 사용자는 사용자 단말(100)의 신분증 DID 애플리케이션을 통해 신분증 발급 서버(300)로 사용자 DID, 적어도 하나의 사용자 신원 정보들, 및 사용자 신원 정보들을 제1 사용자 개인키로 서명한 신원 정보 서명값을 포함하는 신원 정보 VC 발급을 요청(S201)할 수 있다. 그러면, 신분증 발급 서버(300)는 사용자 DID를 이용하여 블록체인 네트워크(400)로부터 사용자 DID에 대응되는 제1 사용자 공개키를 획득하고(S202), 제1 사용자 공개키를 이용하여 신원 정보 서명값을 검증하며(S203), 신원 정보 서명값이 검증되면 사용자 신원 정보들을 검증하고(S204), 사용자 신원 정보들이 검증되면 사용자 신원 정보들 각각에 대한 신원 정보 VC(verifiable credential)들을 생성하여 사용자 단말(100)로 전송(S205)할 수 있으며, 그에 따라, 사용자 단말(100)은 신분증 발급 서버(300)로부터 획득된 신원 정보 VC들을 사용자 단말(100)의 신분증 DID 애플리케이션에 연동되는 제1 저장부에 저장할 수 있다.
일례로, 사용자 단말(100)이, TEE(Trusted Execution Environment)상에서 신분증 DID 애플리케이션을 통해 신원 정보 VC를 관리할 수 있다.
TEE는 메인 프로세서 내 별도로 독립된 보안 영역이 제공하는 안전한 실행 환경을 의미할 수 있다. 구체적으로, 일반 영역(normal area)과 보안 영역(secure area)이 따로 분리된 프로세서에서, 보안 영역에는 생체 정보 등의 중요한 정보가 저장되고, 보안 영역과 일반 영역 사이의 정보 교환이 통제될 수 있다.
또한, 신분증 발급 서버(300)는 행정기관에 의해 운영될 수 있으며, 신분증 발급 서버(300)에서 발급할 수 있는 신원 정보 VC에는 사용자의 이름, 사용자의 주민등록번호, 사용자의 주소, 사용자의 운전면허번호, 가족관계증명서, 사용자의 신분증 발급기관 및 사용자의 신분증 발급일에 관한 정보 중 적어도 일부가 포함될 수 있다. 다만, 신원 정보 VC가 상기 예시에 한정되는 것은 아니며, 사용자의 신원 인증에 필요한 정보라면 얼마든지 신원 정보 VC가 될 수 있다.
한편, 상기에서는 사용자 단말(100)의 신분증 DID 애플리케이션을 통해 사용자 신원 정보들에 대한 신원 정보 VC 발급을 요청하였으나, 이와는 달리, 사용자 신원 정보들 각각에 대한 신원 정보 VC들을 발급 요청하여, 사용자 신원 정보들 각각에 대한 신원 정보 VC들을 각각 획득할 수도 있다.
그리고, 사용자는 사용자 단말(100)에 서비스 DID 애플리케이션을 설치하며, 서비스 DID 애플리케이션에 대응되는 제2 사용자 개인키와 제2 사용자 공개키를 생성할 수 있다. 그리고, 서비스 DID 애플리케이션을 통해 블록체인 네트워크(400)로 사용자 DID에 매칭되는 제2 사용자 공개키의 등록을 요청할 수 있으며, 그에 따라, 블록체인 네트워크(400)는 사용자 DID에 매칭하여 제2 사용자 공개키를 사용자 공개정보로 블록체인 네트워크(400)에 등록하여 줄 수 있다. 이때, 신분증 DID 애플리케이션에 대응되는 사용자 DID와 서비스 DID 애플리케이션에 대응되는 사용자 DID는 사용자에 대응되는 마스터 DID에 대응되는 사용자 서브 DID들로 생성될 수 있으며, 각각의 사용자 서브 DID들에 제1 사용자 공개키와 제2 사용자 공개키를 매칭하여 블록체인 네트워크(400)에 등록되도록 할 수도 있다.
한편, 상기에서는 신분증 DID 애플리케이션을 이용한 사용자 DID와 제1 사용자 공개키의 등록과 서비스 DID 애플리케이션을 이용한 사용자 DID와 제2 사용자 공개키의 등록을 순차적으로 설명하였으나, 신분증 DID 애플리케이션에 대한 동작과 서비스 DID 애플리케이션에 대한 동작은 시간 순서에 관계없이 각각 수행될 수 있다.
다음으로, 상기에서와 같은 방법에 의해, 사용자에 대응되는 사용자 DID 및 상기 사용자 DID에 대응되는 사용자 공개 정보들, 즉, 적어도 제1 사용자 공개키와 제2 사용자 공개키가 블록체인 네트워크(400)에 등록되며, 신분증 발급 서버(300)에 의해 사용자 DID에 대응되는 사용자 신원 정보들 각각이 검증됨에 따라 사용자 신원 정보들 각각에 대한 신원 정보 VC(verifiable credential)들이 발급되어 사용자 단말(100)의 신분증 DID 애플리케이션에 연동되는 제1 저장부에 저장된 상태에서, 제1 서비스 제공 서버(200)에서 제공되는 서비스와 관련한 사용자 정보 VC를 발급받기 위한 사용자의 인터랙션에 의해, 사용자 단말(100)이, 서비스 DID 애플리케이션을 통해 사용자 DID, 사용자 정보 VC 발급 요청 정보, 및 사용자 정보 VC 발급 요청 정보를 제2 사용자 개인키로 서명한 발급 요청 정보 서명값을 제1 서비스 제공 서버(200)로 전송할 수 있다(S206).
그리고, 사용자 단말(100)이, 제1 서비스 제공 서버(200)로 하여금 블록체인 네트워크(400)로부터 사용자 DID에 대응되는 제2 사용자 공개키를 획득하도록 하고, 제2 사용자 공개키를 이용하여 발급 요청 정보 서명값을 검증함으로써 사용자 정보 VC 발급 요청 정보의 유효성을 확인하도록 하며, 사용자 정보 VC 발급 요청 정보가 유효한 것으로 확인되면 사용자 단말(100)로 사용자 인증 정보를 요청(S207)하도록 할 수 있다.
그리고, 제1 서비스 제공 서버(200)로부터의 사용자 인증 정보의 요청에 응답하여, 사용자 단말(100)이, 신분증 DID 애플리케이션을 통해 사용자 DID, 특정 신원 정보 VC, 및 특정 신원 정보 VC를 제1 사용자 개인키로 서명한 제1 사용자 서명값을 포함하는 사용자 인증 정보를 제1 서비스 제공 서버(200)로 전송할 수 있다(S208).
여기서, 특정 신원 정보 VC는 신분증 발급 서버 DID 및 신분증 발급 서버 서명값을 포함할 수 있다.
일례로, 사용자 정보 VC 발급 요청 정보가 유효한 것으로 확인되어 제1 서비스 제공 서버(200)로부터 사용자 단말(100)로 사용자 인증 정보가 요청된 상태에서, 사용자가 유효한 사용자임을 나타내는 사용자 유효 정보가 획득되면, 제1 서비스 제공 서버(200)로부터의 사용자 인증 정보의 요청에 응답하여, 사용자 단말(100)이, 사용자 인증 정보를 제1 서비스 제공 서버(200)로 전송할 수 있다.
이때, 사용자가 사용자 단말(100)에 입력하게 되는 사용자 유효 정보에는, 사용자의 사용자 단말 패스워드 정보, 홍채 정보, 정맥 정보, 지문 정보, 망막 정보, 안면 정보, 음성 정보, DNA 패턴 정보, 손 모양 정보 중 적어도 일부가 포함될 수 있다.
그리고, 사용자 단말(100)이, 제1 서비스 제공 서버(200)로 하여금 사용자 DID를 이용하여 블록체인 네트워크(400)로부터 사용자 DID에 대응되는 제1 사용자 공개키를 획득하도록 하거나, 리졸버(resolver) 서버를 통해 사용자 DID를 이용하여 블록체인 네트워크(400)로부터 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하고 사용자 DID 문서로부터 제1 사용자 공개키를 획득하도록 하고(S209), 제1 사용자 공개키를 이용하여 제1 사용자 서명값을 검증하도록 할 수 있다(S210).
그리고, 제1 사용자 서명값이 검증되면, 사용자 단말(100)이, 제1 서비스 제공 서버(200)로 하여금 신분증 발급 서버 DID를 이용하여 블록체인 네트워크(400)로부터 신분증 발급 서버 DID에 대응되는 신분증 발급 서버 공개키를 획득하도록 하고(S211), 신분증 발급 서버 공개키를 이용하여 신분증 발급 서버 서명값을 검증함으로써 특정 신원 정보 VC를 검증하도록 할 수 있다(S212).
이때, 사용자 단말(100)이, 제1 서비스 제공 서버(200)로 하여금 특정 신원 정보 VC를 검증하도록 하되, 특정 신원 정보 VC가 유효하지 않은 것으로 판단되면, 사용자 단말(100)로 사용자 인증 정보를 재요청하도록 할 수 있다.
그리고, 제1 서비스 제공 서버(200)로부터의 사용자 인증 정보의 재요청에 응답하여, 사용자 단말(100)이, 신분증 DID 애플리케이션을 통해 타 신원 정보 VC를 포함하는 사용자 재인증 정보를 제1 서비스 제공 서버(200)로 전송함으로써 제1 서비스 제공 서버(200)로 하여금 타 신원 정보 VC를 검증하도록 할 수 있다.
여기서, 타 신원 정보 VC는, 사용자의 신원 정보 VC들 중, 유효하지 않은 것으로 판단된 특정 신원 정보 VC를 제외한 나머지 신원 정보 VC들 중 적어도 하나일 수 있다.
그리고, 특정 신원 정보 VC 또는 타 신원 정보 VC가 검증되면, 사용자 단말(100)이, 제1 서비스 제공 서버(200)로 하여금 제1 서비스 제공 서버(200)가 제공하는 제1 서비스에 관련된 사용자 정보를 이용하여 사용자 정보 VC를 생성하도록 하고(S213), 사용자 정보 VC를 사용자 단말(100)로 전송하도록 할 수 있다(S214).
또한, 사용자 정보 VC에 더하여, 사용자 단말(100)이 서비스 DID 애플리케이션을 통해 신원 정보 VC가 저장된 제1 저장부에 접근할 수 있는 접근 권한 부여 정보가 전송될 수 있다. 또는, 사용자 단말(100)이 서비스 DID 애플리케이션을 통해 신분증 DID 애플리케이션에 신원 정보 VC를 요청할 수 있는 요청 권한 부여 정보가 전송될 수 있다.
그리고, 사용자 정보 VC가 획득되면, 사용자 단말(100)이, 서비스 DID 애플리케이션을 통해 사용자 정보 VC를 사용자 단말(100)의 서비스 DID 애플리케이션에 연동되는 제2 저장부에 저장할 수 있다.
이때, 사용자 정보 VC는 제1 서비스 제공 서버(200)가 제공하는 제1 서비스에 관련된 사용자 정보에 대한 VC로서, 제1 서비스 제공 서버(200)가 제공하는 제1 서비스에 따라 다양한 정보가 포함될 수 있다.
가령, 제1 서비스 제공 서버(200)에는 금융 기관, 의료 기관, 학교 등이 대응될 수 있으나, 이에 한정되는 것은 아니며, 사용자에 관련된 정보를 발급할 수 있는 주체라면 얼마든지 제1 서비스 제공 서버(200)가 될 수 있다.
또한, 사용자의 계좌 번호, 은행명, 입출금 거래 내역, 보험금 납입 증명서, 졸업증명서 및 재직증명서에 관한 정보 중 적어도 일부가 사용자 정보 VC에 포함될 수 있으나, 이는 이해의 편의를 돕기 위한 예시일 뿐, 사용자 정보 VC에 포함되는 정보들은 상기 예시들로 한정되지 않는다.
지금까지 도 2 및 도 3을 참조하여 사용자의 신원 정보 VC를 이용하여 사용자 정보 VC를 발급받는 과정에 대해 설명하였으며, 사용자 단말(100)이 위와 같은 과정을 통해 발급받은 신원 정보 VC 및 사용자 정보 VC를 이용하여 서비스 제공 서버로부터 서비스를 제공받는 과정에 대해 아래에서 도 4 내지 도 6을 참조하여 설명하기로 한다.
먼저, 사용자에 대응되는 사용자 DID 및 사용자 DID에 대응되는 사용자 공개 정보들이 블록체인 네트워크(400)에 등록되며, 적어도 하나의 사용자 신원 정보들 각각에 대한 신원 정보 VC들이 발급되어 사용자 단말(100)의 신분증 DID 애플리케이션에 연동되는 제1 저장부에 저장되고, 제1 서비스 제공 서버(200)가 제공하는 제1 서비스에 관련된 사용자 정보들에 대한 사용자 정보 VC들이 발급되어 사용자 단말(100)의 서비스 DID 애플리케이션에 연동되는 제2 저장부에 저장될 수 있다.
여기서, 사용자 공개 정보들은 사용자 DID와 사용자 단말(100)의 신분증 DID 애플리케이션에 대응되는 제1 사용자 공개키 및 사용자 DID와 사용자 단말(100)의 서비스 DID 애플리케이션에 대응되는 제2 사용자 공개키를 적어도 포함할 수 있다.
참고로, 사용자 DID, 제1 사용자 개인키, 제1 사용자 공개키, 제2 사용자 개인키, 제2 사용자 공개키, 신분증 DID 애플리케이션, 서비스 DID 애플리케이션, 신원 정보 VC들, 사용자 정보 VC들과 관련하여, 이미 도 2 및 도 3을 참조하여 설명한 바 있으므로, 중복되는 설명은 생략하기로 한다.
또한, 제1 서비스 제공 서버(200)와 신분증 발급 서버(300)도 위에서 설명한 방법에 의해 각각 제1 서비스 제공 서버 DID와 신분증 발급 서버 DID를 생성하고, 각각의 공개키들, 즉, 제1 서비스 제공 서버 공개키와 신분증 발급 서버 공개키를 블록체인 네트워크(400)에 등록할 수 있다.
다음으로, 상기에서와 같은 방법에 의해, 사용자 DID 및 사용자 DID에 대응되는 사용자 공개 정보들, 즉 적어도 제1 사용자 공개키와 제2 사용자 공개키가 블록체인 네트워크(400)에 등록되며, 신원 정보 VC들이 사용자 단말(100)의 신분증 DID 애플리케이션에 연동되는 제1 저장부에 저장되며, 사용자 정보 VC들이 사용자 단말(100)의 서비스 DID 애플리케이션에 연동되는 제2 저장부에 저장된 상태에서, 제2 서비스 제공 서버(500)에서 제공되는 서비스를 제공받기 위한 사용자의 인터랙션에 의해, 사용자 단말(100)이, 제2 서비스 제공 서버(500)로 서비스 제공 요청을 전송함으로써(S401) 제2 서비스 제공 서버(500)로 하여금 사용자 단말(100)로 사용자 서비스 인증 정보를 요청하도록 할 수 있다(S402).
가령, 제2 서비스 제공 서버(500)에는 e-commerce 서버, 기업 입사 지원 서버 등이 포함될 수 있으나, 이에 한정되는 것은 아니며, 사용자에게 각종 서비스를 제공하는 임의의 업체에 대응되는 서버일 수 있다.
일례로, 사용자 단말(100)이, 제2 서비스 제공 서버(500)로 사용자 DID, 서비스 제공 요청 정보, 및 서비스 제공 요청 정보를 제2 사용자 개인키로 서명한 제공 요청 정보 서명값을 제2 서비스 제공 서버(500)로 전송할 수 있다. 그리고, 사용자 단말(100)이, 제2 서비스 제공 서버(500)로 하여금 블록체인 네트워크(400)로부터 사용자 DID에 대응되는 제2 사용자 공개키를 획득하도록 하고, 제2 사용자 공개키를 이용하여 제공 요청 정보 서명값을 검증함으로써 서비스 제공 요청 정보의 유효성을 확인하도록 하며, 서비스 제공 요청 정보가 유효한 것으로 확인되면 사용자 단말(100)로 사용자 서비스 인증 정보를 요청하도록 할 수 있다. 다만, 서비스 제공 요청 정보가 제2 사용자 개인키로 서명되는 것에 한정되지는 않으며, 제1 사용자 개인키로 서명될 수도 있다.
그리고, 제2 서비스 제공 서버(500)로부터의 사용자 서비스 인증 정보의 요청에 응답하여, 사용자 단말(100)이, 서비스 DID 애플리케이션을 통해 신분증 DID 애플리케이션으로부터 적어도 하나의 특정 신원 정보 VC, 및 특정 신원 정보 VC를 제1 사용자 개인키로 서명한 제1 사용자 서명값을 획득하고, (i) 사용자 DID, (ii) 특정 신원 정보 VC, (iii) 제1 사용자 서명값, (iv) 적어도 하나의 특정 사용자 정보 VC, 및 (v) 특정 신원 정보 VC, 제1 사용자 서명 값 및 특정 사용자 정보 VC를 제2 사용자 개인키로 서명한 제2 사용자 서명값을 포함하는 사용자 서비스 인증 정보를 제2 서비스 제공 서버(500)로 전송할 수 있다(S403).
여기서, 특정 신원 정보 VC는 신분증 발급 서버 DID 및 신분증 발급 서버 서명값을 포함하고, 특정 사용자 정보 VC는 제1 서비스 제공 서버 DID 및 제1 서비스 제공 서버 서명값을 포함할 수 있다.
그리고, 사용자 단말(100)이, 제2 서비스 제공 서버(500)로 하여금 사용자 DID를 이용하여 블록체인 네트워크(400)로부터 사용자 DID에 대응되는 제1 사용자 공개키 및 제2 사용자 공개키를 획득하도록 하거나, 리졸버(resolver) 서버를 통해 사용자 DID를 이용하여 블록체인 네트워크(400)로부터 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하고 사용자 DID 문서로부터 제1 사용자 공개키 및 제2 사용자 공개키를 획득하도록 하며(S404), 제1 사용자 공개키 및 제2 사용자 공개키를 이용하여 제1 사용자 서명값 및 제2 사용자 서명값을 검증하도록 할 수 있다(S405).
그리고, 제1 사용자 서명값 및 제2 사용자 서명값이 검증되면, 사용자 단말(100)이, 제2 서비스 제공 서버(500)로 하여금 신분증 발급 서버 DID 및 제1 서비스 제공 서버 DID를 각각 이용하여 블록체인 네트워크(400)로부터 신분증 발급 서버 DID 및 제1 서비스 제공 서버 DID 각각에 대응되는 신분증 발급 서버 공개키 및 제1 서비스 제공 서버 공개키를 각각 획득하도록 하고(S406), 신분증 발급 서버 공개키 및 제1 서비스 제공 서버 공개키를 각각 이용하여 신분증 발급 서버 서명값 및 제1 서비스 제공 서버 서명값을 각각 검증함으로써 특정 신원 정보 VC 및 특정 사용자 정보 VC를 검증하도록 할 수 있다(S407).
그리고, 특정 신원 정보 VC 및 특정 사용자 정보 VC가 검증되면, 사용자 단말(100)이, 제2 서비스 제공 서버(500)로 하여금 서비스 제공 요청에 대응되는 서비스 정보를 사용자 단말(100)로 전송하도록 할 수 있다(S408).
위에서는, 도 5에서 도시하는 바와 같이, 사용자 단말(100)이, 서비스 DID 애플리케이션을 통해 신분증 DID 애플리케이션으로부터 적어도 하나의 특정 신원 정보 VC, 및 특정 신원 정보 VC를 제1 사용자 개인키로 서명한 제1 사용자 서명값을 획득하고, (i) 사용자 DID, (ii) 특정 신원 정보 VC, (iii) 제1 사용자 서명값, (iv) 적어도 하나의 특정 사용자 정보 VC, 및 (v) 특정 신원 정보 VC, 제1 사용자 서명 값 및 특정 사용자 정보 VC를 제2 사용자 개인키로 서명한 제2 사용자 서명값을 포함하는 사용자 서비스 인증 정보를 제2 서비스 제공 서버(500)로 전송하는 경우를 설명하였지만, 이에 한정되는 것은 아니다.
가령, 사용자 단말(100)이, 신분증 DID 애플리케이션을 통해 서비스 DID 애플리케이션으로부터 적어도 하나의 특정 사용자 정보 VC, 및 특정 사용자 정보 VC를 제2 사용자 개인키로 서명한 제2 사용자 서명값을 획득하고, (i) 사용자 DID, (ii) 특정 사용자 정보 VC, (iii) 제2 사용자 서명값, (iv) 적어도 하나의 특정 신원 정보 VC, 및 (v) 특정 사용자 정보 VC, 제2 사용자 서명 값 및 특정 신원 정보 VC를 제1 사용자 개인키로 서명한 제1 사용자 서명값을 포함하는 사용자 서비스 인증 정보를 제2 서비스 제공 서버(500)로 전송할 수도 있다.
또는, 사용자 단말(100)이, 신분증 DID 애플리케이션 및 서비스 DID 애플리케이션 각각을 통해 사용자 인증 정보를 전송할 수도 있다.
일례로, 도 6에서 도시하는 바와 같이, 사용자 서비스 인증 정보는 제1 사용자 서비스 인증 정보 및 제2 사용자 서비스 인증 정보를 포함할 수 있으며, 제2 서비스 제공 서버(500)로부터의 제1 사용자 서비스 인증 정보 및 제2 사용자 서비스 인증 정보의 요청에 응답하여, 사용자 단말(100)이, (i) 신분증 DID 애플리케이션을 통해 사용자 DID, 특정 신원 정보 VC, 및 특정 신원 정보 VC를 제1 사용자 개인키로 서명한 제1 사용자 서명값을 포함하는 제1 사용자 서비스 인증 정보를 제2 서비스 제공 서버(500)로 전송하고, (ii) 서비스 DID 애플리케이션을 통해 사용자 DID, 특정 사용자 정보 VC, 및 특정 사용자 정보 VC를 제2 사용자 개인키로 서명한 제2 사용자 서명값을 포함하는 제2 사용자 서비스 인증 정보를 제2 서비스 제공 서버(500)로 전송하여, 특정 신원 정보 VC 및 특정 사용자 정보 VC가 각각 검증되도록 할 수 있다.
또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (20)

  1. 블록체인 네트워크 기반의 분산 아이디(Decentralized Identifier, DID)를 이용한 모바일 신분증 인증 서비스 방법에 있어서,
    (a) 사용자에 대응되는 사용자 DID 및 상기 사용자 DID에 대응되는 사용자 공개 정보들 - 상기 사용자 공개 정보들은 상기 사용자 DID와 사용자 단말의 신분증 DID 애플리케이션에 대응되는 제1 사용자 공개키 및 상기 사용자 DID와 상기 사용자 단말의 서비스 DID 애플리케이션에 대응되는 제2 사용자 공개키를 적어도 포함함 - 이 블록체인 네트워크에 등록되며, 신분증 발급 서버에 의해 상기 사용자 DID에 대응되는 사용자 신원 정보들 각각이 검증됨에 따라 상기 사용자 신원 정보들 각각에 대한 신원 정보 VC(verifiable credential)들이 발급되어 상기 사용자 단말의 상기 신분증 DID 애플리케이션에 연동되는 제1 저장부에 저장된 상태에서, 상기 사용자 단말이, 상기 서비스 DID 애플리케이션을 통해 사용자 정보 VC 발급 요청 정보, 상기 사용자 DID 및 상기 사용자 정보 VC 발급 요청 정보를 제2 사용자 개인키로 서명한 발급 요청 정보 서명값을 제1 서비스 제공 서버로 전송함으로써 상기 제1 서비스 제공 서버로 하여금 상기 발급 요청 정보 서명값을 검증하여 상기 사용자 정보 VC 발급 요청 정보의 유효성을 확인하도록 하며, 상기 사용자 정보 VC 발급 요청 정보가 유효한 것으로 확인되면 상기 사용자 단말로 사용자 인증 정보를 요청하도록 하는 단계; 및
    (b) 상기 제1 서비스 제공 서버로부터의 상기 사용자 인증 정보의 요청에 응답하여, 상기 사용자 단말이, 상기 신분증 DID 애플리케이션을 통해 상기 사용자 DID, 적어도 하나의 특정 신원 정보 VC, 및 상기 특정 신원 정보 VC를 제1 사용자 개인키로 서명한 제1 사용자 서명값을 포함하는 상기 사용자 인증 정보를 상기 제1 서비스 제공 서버로 전송함으로써 상기 제1 서비스 제공 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 제1 사용자 공개키를 획득하도록 하거나, 리졸버(resolver) 서버를 통해 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하고 상기 사용자 DID 문서로부터 상기 제1 사용자 공개키를 획득하도록 하며, 상기 제1 사용자 공개키를 이용하여 상기 제1 사용자 서명값을 검증하도록 하며, 상기 제1 사용자 서명값이 검증되면 상기 특정 신원 정보 VC를 검증하도록 하고, 상기 특정 신원 정보 VC가 검증되면 상기 제1 서비스 제공 서버가 제공하는 제1 서비스에 관련된 사용자 정보를 이용하여 사용자 정보 VC를 생성하도록 하고, 상기 사용자 정보 VC를 상기 사용자 단말로 전송하도록 하며, 상기 사용자 정보 VC가 획득되면, 상기 서비스 DID 애플리케이션을 통해 상기 사용자 정보 VC를 상기 사용자 단말의 상기 서비스 DID 애플리케이션에 연동되는 제2 저장부에 저장하는 단계;
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 사용자가 유효한 사용자임을 나타내는 사용자 유효 정보가 획득되면, 상기 제1 서비스 제공 서버로부터의 상기 사용자 인증 정보의 요청에 응답하여, 상기 사용자 단말이, 상기 신분증 DID 애플리케이션을 통해 상기 사용자 DID, 상기 특정 신원 정보 VC, 및 상기 특정 신원 정보 VC를 상기 제1 사용자 개인키로 서명한 상기 제1 사용자 서명값을 포함하는 상기 사용자 인증 정보를 상기 제1 서비스 제공 서버로 전송하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 사용자 단말이, 상기 제1 서비스 제공 서버로 하여금 상기 특정 신원 정보 VC를 검증하도록 하되, 상기 특정 신원 정보 VC가 유효하지 않은 것으로 판단되면, 상기 사용자 단말로 상기 사용자 인증 정보를 재요청하도록 하고, 상기 제1 서비스 제공 서버로부터의 상기 사용자 인증 정보의 재요청에 응답하여, 상기 신분증 DID 애플리케이션을 통해 타 신원 정보 VC를 포함하는 사용자 재인증 정보를 상기 제1 서비스 제공 서버로 전송함으로써 상기 제1 서비스 제공 서버로 하여금 상기 타 신원 정보 VC를 검증하도록 하고, 상기 타 신원 정보 VC가 검증되면 상기 제1 서비스 제공 서버가 제공하는 상기 제1 서비스에 관련된 상기 사용자 정보를 이용하여 상기 사용자 정보 VC를 생성하도록 하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 특정 신원 정보 VC는 신분증 발급 서버 DID 및 신분증 발급 서버 서명값을 포함하며,
    상기 신분증 발급 서버 DID가 이용되어 상기 블록체인 네트워크로부터 상기 신분증 발급 서버 DID에 대응되는 신분증 발급 서버 공개키가 획득되고, 상기 신분증 발급 서버 공개키가 이용되어 상기 신분증 발급 서버 서명값이 검증됨으로써 상기 특정 신원 정보 VC가 검증되는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 (a) 단계에서,
    상기 사용자 DID가 이용되어 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 제2 사용자 공개키가 획득되고, 상기 제2 사용자 공개키가 이용되어 상기 발급 요청 정보 서명값이 검증됨으로써 상기 사용자 정보 VC 발급 요청 정보의 유효성이 확인되는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 사용자 단말이, 상기 신분증 DID 애플리케이션을 통해 TEE(Trusted Execution Environment)상에서 상기 신원 정보 VC를 관리하는 것을 특징으로 하는 방법.
  7. 블록체인 네트워크 기반의 분산 아이디(Decentralized Identifier, DID)를 이용한 모바일 신분증 인증 서비스 방법에 있어서,
    (a) 사용자에 대응되는 사용자 DID 및 상기 사용자 DID에 대응되는 사용자 공개 정보들 - 상기 사용자 공개 정보들은 상기 사용자 DID와 사용자 단말의 신분증 DID 애플리케이션에 대응되는 제1 사용자 공개키 및 상기 사용자 DID와 상기 사용자 단말의 서비스 DID 애플리케이션에 대응되는 제2 사용자 공개키를 적어도 포함함 - 이 블록체인 네트워크에 등록되며, 사용자 신원 정보들 각각에 대한 신원 정보 VC들이 상기 사용자 단말의 상기 신분증 DID 애플리케이션에 연동되는 제1 저장부에 저장되고, 제1 서비스 제공 서버가 제공하는 제1 서비스에 관련된 사용자 정보들에 대한 사용자 정보 VC들이 상기 사용자 단말의 상기 서비스 DID 애플리케이션에 연동되는 제2 저장부에 저장된 상태에서, 상기 사용자 단말이, 서비스 제공 요청을 제2 서비스 제공 서버로 전송함으로써 상기 제2 서비스 제공 서버로 하여금 상기 사용자 단말로 사용자 서비스 인증 정보를 요청하도록 하는 단계; 및
    (b) 상기 제2 서비스 제공 서버로부터의 상기 사용자 서비스 인증 정보의 요청에 응답하여, 상기 사용자 단말이, 상기 서비스 DID 애플리케이션을 통해 상기 신분증 DID 애플리케이션으로부터 적어도 하나의 특정 신원 정보 VC, 및 상기 특정 신원 정보 VC를 제1 사용자 개인키로 서명한 제1 사용자 서명값을 획득하고, (i) 상기 사용자 DID, (ii) 상기 특정 신원 정보 VC, (iii) 상기 제1 사용자 서명값, (iv) 적어도 하나의 특정 사용자 정보 VC, 및 (v) 상기 특정 신원 정보 VC, 상기 제1 사용자 서명 값 및 상기 특정 사용자 정보 VC를 제2 사용자 개인키로 서명한 제2 사용자 서명값을 포함하는 상기 사용자 서비스 인증 정보를 상기 제2 서비스 제공 서버로 전송함으로써, 상기 제2 서비스 제공 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 제1 사용자 공개키 및 상기 제2 사용자 공개키를 획득하도록 하거나, 리졸버(resolver) 서버를 통해 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하고 상기 사용자 DID 문서로부터 상기 제1 사용자 공개키 및 상기 제2 사용자 공개키를 획득하도록 하며, 상기 제1 사용자 공개키 및 상기 제2 사용자 공개키를 이용하여 상기 제1 사용자 서명값 및 상기 제2 사용자 서명값을 검증하도록 하며, 상기 제1 사용자 서명값 및 상기 제2 사용자 서명값이 검증되면 상기 특정 신원 정보 VC 및 상기 특정 사용자 정보 VC를 검증하도록 하고, 상기 특정 신원 정보 VC 및 상기 특정 사용자 정보 VC가 검증되면 상기 서비스 제공 요청에 대응되는 서비스 정보를 상기 사용자 단말로 전송하도록 하는 단계;
    를 포함하는 방법.
  8. 제7항에 있어서,
    상기 사용자 서비스 인증 정보는 제1 사용자 서비스 인증 정보 및 제2 사용자 서비스 인증 정보를 포함하고,
    상기 (b) 단계에서,
    상기 제2 서비스 제공 서버로부터의 상기 제1 사용자 서비스 인증 정보 및 상기 제2 사용자 서비스 인증 정보의 요청에 응답하여, 상기 사용자 단말이, (i) 상기 신분증 DID 애플리케이션을 통해 상기 사용자 DID, 상기 특정 신원 정보 VC, 및 상기 특정 신원 정보 VC를 상기 제1 사용자 개인키로 서명한 상기 제1 사용자 서명값을 포함하는 제1 사용자 서비스 인증 정보를 상기 제2 서비스 제공 서버로 전송하고, (ii) 상기 서비스 DID 애플리케이션을 통해 상기 사용자 DID, 상기 특정 사용자 정보 VC, 및 상기 특정 사용자 정보 VC를 상기 제2 사용자 개인키로 서명한 상기 제2 사용자 서명값을 포함하는 제2 사용자 서비스 인증 정보를 상기 제2 서비스 제공 서버로 전송하는 것을 특징으로 하는 방법.
  9. 제7항에 있어서,
    상기 특정 신원 정보 VC는 신분증 발급 서버 DID 및 신분증 발급 서버 서명값을 포함하고, 상기 특정 사용자 정보 VC는 제1 서비스 제공 서버 DID 및 제1 서비스 제공 서버 서명값을 포함하며,
    상기 신분증 발급 서버 DID 및 상기 제1 서비스 제공 서버 DID가 각각 이용되어 상기 블록체인 네트워크로부터 상기 신분증 발급 서버 DID 및 상기 제1 서비스 제공 서버 DID 각각에 대응되는 신분증 발급 서버 공개키 및 제1 서비스 제공 서버 공개키가 각각 획득되고, 상기 신분증 발급 서버 공개키 및 상기 제1 서비스 제공 서버 공개키가 각각 이용되어 상기 신분증 발급 서버 서명값 및 상기 제1 서비스 제공 서버 서명값이 각각 검증됨으로써 상기 특정 신원 정보 VC 및 상기 특정 사용자 정보 VC가 검증되는 것을 특징으로 하는 방법.
  10. 제7항에 있어서,
    상기 사용자 단말이, 상기 신분증 DID 애플리케이션을 통해 TEE(Trusted Execution Environment, TEE)에서 상기 신원 정보 VC를 관리하는 것을 특징으로 하는 방법.
  11. 블록체인 네트워크 기반의 분산 아이디(Decentralized Identifier, DID)를 이용한 모바일 신분증 인증 서비스를 수행하는 사용자 단말에 있어서,
    인스트럭션들을 저장하는 적어도 하나의 메모리; 및
    상기 인스트럭션들을 실행하기 위해 구성된 적어도 하나의 프로세서를 포함하되,
    상기 프로세서는, (1) 사용자에 대응되는 사용자 DID 및 상기 사용자 DID에 대응되는 사용자 공개 정보들 - 상기 사용자 공개 정보들은 상기 사용자 DID와 사용자 단말의 신분증 DID 애플리케이션에 대응되는 제1 사용자 공개키 및 상기 사용자 DID와 상기 사용자 단말의 서비스 DID 애플리케이션에 대응되는 제2 사용자 공개키를 적어도 포함함 - 이 블록체인 네트워크에 등록되며, 신분증 발급 서버에 의해 상기 사용자 DID에 대응되는 사용자 신원 정보들 각각이 검증됨에 따라 상기 사용자 신원 정보들 각각에 대한 신원 정보 VC(verifiable credential)들이 발급되어 상기 사용자 단말의 상기 신분증 DID 애플리케이션에 연동되는 제1 저장부에 저장된 상태에서, 상기 서비스 DID 애플리케이션을 통해 사용자 정보 VC 발급 요청 정보, 상기 사용자 DID 및 상기 사용자 정보 VC 발급 요청 정보를 제2 사용자 개인키로 서명한 발급 요청 정보 서명값을 제1 서비스 제공 서버로 전송함으로써 상기 제1 서비스 제공 서버로 하여금 상기 발급 요청 정보 서명값을 검증하여 상기 사용자 정보 VC 발급 요청 정보의 유효성을 확인하도록 하며, 상기 사용자 정보 VC 발급 요청 정보가 유효한 것으로 확인되면 상기 사용자 단말로 사용자 인증 정보를 요청하도록 하는 프로세스;및 (2) 상기 제1 서비스 제공 서버로부터의 상기 사용자 인증 정보의 요청에 응답하여, 상기 신분증 DID 애플리케이션을 통해 상기 사용자 DID, 적어도 하나의 특정 신원 정보 VC, 및 상기 특정 신원 정보 VC를 제1 사용자 개인키로 서명한 제1 사용자 서명값을 포함하는 상기 사용자 인증 정보를 상기 제1 서비스 제공 서버로 전송함으로써 상기 제1 서비스 제공 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 제1 사용자 공개키를 획득하도록 하거나, 리졸버(resolver) 서버를 통해 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하고 상기 사용자 DID 문서로부터 상기 제1 사용자 공개키를 획득하도록 하며, 상기 제1 사용자 공개키를 이용하여 상기 제1 사용자 서명값을 검증하도록 하며, 상기 제1 사용자 서명값이 검증되면 상기 특정 신원 정보 VC를 검증하도록 하고, 상기 특정 신원 정보 VC가 검증되면 상기 제1 서비스 제공 서버가 제공하는 제1 서비스에 관련된 사용자 정보를 이용하여 사용자 정보 VC를 생성하도록 하고, 상기 사용자 정보 VC를 상기 사용자 단말로 전송하도록 하며, 상기 사용자 정보 VC가 획득되면, 상기 서비스 DID 애플리케이션을 통해 상기 사용자 정보 VC를 상기 사용자 단말의 상기 서비스 DID 애플리케이션에 연동되는 제2 저장부에 저장하는 프로세스를 수행하는 상기 인스트럭션들을 실행하는 사용자 단말.
  12. 제11항에 있어서,
    상기 프로세서는,
    상기 (2) 프로세스에서,
    상기 사용자가 유효한 사용자임을 나타내는 사용자 유효 정보가 획득되면, 상기 제1 서비스 제공 서버로부터의 상기 사용자 인증 정보의 요청에 응답하여, 상기 신분증 DID 애플리케이션을 통해 상기 사용자 DID, 상기 특정 신원 정보 VC, 및 상기 특정 신원 정보 VC를 상기 제1 사용자 개인키로 서명한 상기 제1 사용자 서명값을 포함하는 상기 사용자 인증 정보를 상기 제1 서비스 제공 서버로 전송하는 것을 특징으로 하는 사용자 단말.
  13. 제11항에 있어서,
    상기 프로세서는,
    상기 (2) 프로세스에서,
    상기 제1 서비스 제공 서버로 하여금 상기 특정 신원 정보 VC를 검증하도록 하되, 상기 특정 신원 정보 VC가 유효하지 않은 것으로 판단되면, 상기 사용자 단말로 상기 사용자 인증 정보를 재요청하도록 하고, 상기 제1 서비스 제공 서버로부터의 상기 사용자 인증 정보의 재요청에 응답하여, 상기 신분증 DID 애플리케이션을 통해 타 신원 정보 VC를 포함하는 사용자 재인증 정보를 상기 제1 서비스 제공 서버로 전송함으로써 상기 제1 서비스 제공 서버로 하여금 상기 타 신원 정보 VC를 검증하도록 하고, 상기 타 신원 정보 VC가 검증되면 상기 제1 서비스 제공 서버가 제공하는 상기 제1 서비스에 관련된 상기 사용자 정보를 이용하여 상기 사용자 정보 VC를 생성하도록 하는 것을 특징으로 하는 사용자 단말.
  14. 제11항에 있어서,
    상기 특정 신원 정보 VC는 신분증 발급 서버 DID 및 신분증 발급 서버 서명값을 포함하며,
    상기 신분증 발급 서버 DID가 이용되어 상기 블록체인 네트워크로부터 상기 신분증 발급 서버 DID에 대응되는 신분증 발급 서버 공개키가 획득되고, 상기 신분증 발급 서버 공개키가 이용되어 상기 신분증 발급 서버 서명값이 검증됨으로써 상기 특정 신원 정보 VC가 검증되는 것을 특징으로 하는 사용자 단말.
  15. 제11항에 있어서,
    상기 프로세서는,
    상기 (1) 프로세스에서,
    상기 사용자 DID가 이용되어 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 제2 사용자 공개키가 획득되고, 상기 제2 사용자 공개키가 이용되어 상기 발급 요청 정보 서명값이 검증됨으로써 상기 사용자 정보 VC 발급 요청 정보의 유효성이 확인되는 것을 특징으로 하는 사용자 단말.
  16. 제11항에 있어서,
    상기 신분증 DID 애플리케이션을 통해 TEE(Trusted Execution Environment)상에서 상기 신원 정보 VC를 관리하는 것을 특징으로 하는 사용자 단말.
  17. 블록체인 네트워크 기반의 분산 아이디(Decentralized Identifier, DID)를 이용한 모바일 신분증 인증 서비스를 수행하는 사용자 단말에 있어서,
    인스트럭션들을 저장하는 적어도 하나의 메모리; 및
    상기 인스트럭션들을 실행하기 위해 구성된 적어도 하나의 프로세서를 포함하되,
    상기 프로세서는, (1) 사용자에 대응되는 사용자 DID 및 상기 사용자 DID에 대응되는 사용자 공개 정보들 - 상기 사용자 공개 정보들은 상기 사용자 DID와 신분증 DID 애플리케이션에 대응되는 제1 사용자 공개키 및 상기 사용자 DID와 서비스 DID 애플리케이션에 대응되는 제2 사용자 공개키를 적어도 포함함 - 이 블록체인 네트워크에 등록되며, 사용자 신원 정보들 각각에 대한 신원 정보 VC들이 사용자 단말의 상기 신분증 DID 애플리케이션에 연동되는 제1 저장부에 저장되고, 제1 서비스 제공 서버가 제공하는 제1 서비스에 관련된 사용자 정보들에 대한 사용자 정보 VC들이 상기 사용자 단말의 상기 서비스 DID 애플리케이션에 연동되는 제2 저장부에 저장된 상태에서, 서비스 제공 요청을 제2 서비스 제공 서버로 전송함으로써 상기 제2 서비스 제공 서버로 하여금 상기 사용자 단말로 사용자 서비스 인증 정보를 요청하도록 하는 프로세스 및 (2) 상기 제2 서비스 제공 서버로부터의 상기 사용자 서비스 인증 정보의 요청에 응답하여, 상기 서비스 DID 애플리케이션을 통해 상기 신분증 DID 애플리케이션으로부터 적어도 하나의 특정 신원 정보 VC, 및 상기 특정 신원 정보 VC를 제1 사용자 개인키로 서명한 제1 사용자 서명값을 획득하고, (i) 상기 사용자 DID, (ii) 상기 특정 신원 정보 VC, (iii) 상기 제1 사용자 서명값, (iv) 적어도 하나의 특정 사용자 정보 VC, 및 (v) 상기 특정 신원 정보 VC, 상기 제1 사용자 서명 값 및 상기 특정 사용자 정보 VC를 제2 사용자 개인키로 서명한 제2 사용자 서명값을 포함하는 상기 사용자 서비스 인증 정보를 상기 제2 서비스 제공 서버로 전송함으로써, 상기 제2 서비스 제공 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 제1 사용자 공개키 및 상기 제2 사용자 공개키를 획득하도록 하거나, 리졸버(resolver) 서버를 통해 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하고 상기 사용자 DID 문서로부터 상기 제1 사용자 공개키 및 상기 제2 사용자 공개키를 획득하도록 하며, 상기 제1 사용자 공개키 및 상기 제2 사용자 공개키를 이용하여 상기 제1 사용자 서명값 및 상기 제2 사용자 서명값을 검증하도록 하며, 상기 제1 사용자 서명값 및 상기 제2 사용자 서명값이 검증되면 상기 특정 신원 정보 VC 및 상기 특정 사용자 정보 VC를 검증하도록 하고, 상기 특정 신원 정보 VC 및 상기 특정 사용자 정보 VC가 검증되면 상기 서비스 제공 요청에 대응되는 서비스 정보를 상기 사용자 단말로 전송하도록 하는 프로세스를 수행하는 상기 인스트럭션들을 실행하는 사용자 단말.
  18. 제17항에 있어서,
    상기 사용자 서비스 인증 정보는 제1 사용자 서비스 인증 정보 및 제2 사용자 서비스 인증 정보를 포함하고,
    상기 프로세서는,
    상기 (2) 프로세스에서,
    상기 제2 서비스 제공 서버로부터의 상기 제1 사용자 서비스 인증 정보 및 상기 제2 사용자 서비스 인증 정보의 요청에 응답하여, (i) 상기 신분증 DID 애플리케이션을 통해 상기 사용자 DID, 상기 특정 신원 정보 VC, 및 상기 특정 신원 정보 VC를 상기 제1 사용자 개인키로 서명한 상기 제1 사용자 서명값을 포함하는 제1 사용자 서비스 인증 정보를 상기 제2 서비스 제공 서버로 전송하고, (ii) 상기 서비스 DID 애플리케이션을 통해 상기 사용자 DID, 상기 특정 사용자 정보 VC, 및 상기 특정 사용자 정보 VC를 상기 제2 사용자 개인키로 서명한 상기 제2 사용자 서명값을 포함하는 제2 사용자 서비스 인증 정보를 상기 제2 서비스 제공 서버로 전송하는 것을 특징으로 하는 사용자 단말.
  19. 제17항에 있어서,
    상기 특정 신원 정보 VC는 신분증 발급 서버 DID 및 신분증 발급 서버 서명값을 포함하고, 상기 특정 사용자 정보 VC는 제1 서비스 제공 서버 DID 및 제1 서비스 제공 서버 서명값을 포함하며,
    상기 신분증 발급 서버 DID 및 상기 제1 서비스 제공 서버 DID가 각각 이용되어 상기 블록체인 네트워크로부터 상기 신분증 발급 서버 DID 및 상기 제1 서비스 제공 서버 DID 각각에 대응되는 신분증 발급 서버 공개키 및 제1 서비스 제공 서버 공개키가 각각 획득되고, 상기 신분증 발급 서버 공개키 및 상기 제1 서비스 제공 서버 공개키가 각각 이용되어 상기 신분증 발급 서버 서명값 및 상기 제1 서비스 제공 서버 서명값이 각각 검증됨으로써 상기 특정 신원 정보 VC 및 상기 특정 사용자 정보 VC가 검증되는 것을 특징으로 하는 사용자 단말.
  20. 제17항에 있어서,
    상기 신분증 DID 애플리케이션을 통해 TEE(Trusted Execution Environment, TEE)에서 상기 신원 정보 VC를 관리하는 것을 특징으로 하는 사용자 단말.
KR1020200110469A 2020-08-31 2020-08-31 블록체인 네트워크 기반의 분산 아이디(Decentralized Identifier, DID)를 이용한 모바일 신분증 인증 서비스 방법 및 모바일 신분증 인증 서비스를 수행하는 사용자 단말 KR20220028870A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200110469A KR20220028870A (ko) 2020-08-31 2020-08-31 블록체인 네트워크 기반의 분산 아이디(Decentralized Identifier, DID)를 이용한 모바일 신분증 인증 서비스 방법 및 모바일 신분증 인증 서비스를 수행하는 사용자 단말

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200110469A KR20220028870A (ko) 2020-08-31 2020-08-31 블록체인 네트워크 기반의 분산 아이디(Decentralized Identifier, DID)를 이용한 모바일 신분증 인증 서비스 방법 및 모바일 신분증 인증 서비스를 수행하는 사용자 단말

Publications (1)

Publication Number Publication Date
KR20220028870A true KR20220028870A (ko) 2022-03-08

Family

ID=80812992

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200110469A KR20220028870A (ko) 2020-08-31 2020-08-31 블록체인 네트워크 기반의 분산 아이디(Decentralized Identifier, DID)를 이용한 모바일 신분증 인증 서비스 방법 및 모바일 신분증 인증 서비스를 수행하는 사용자 단말

Country Status (1)

Country Link
KR (1) KR20220028870A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220173891A1 (en) * 2020-11-30 2022-06-02 Electronics And Telecommunications Research Institute Apparatus and method for managing personal information
KR102523599B1 (ko) * 2022-10-07 2023-04-20 (주)디지탈센스 모바일 출입증 발급 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170078122A (ko) 2015-12-29 2017-07-07 박승희 모바일 신분증 및 일회용 인증번호를 이용한 모바일 신분증 구현방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170078122A (ko) 2015-12-29 2017-07-07 박승희 모바일 신분증 및 일회용 인증번호를 이용한 모바일 신분증 구현방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220173891A1 (en) * 2020-11-30 2022-06-02 Electronics And Telecommunications Research Institute Apparatus and method for managing personal information
US11791990B2 (en) * 2020-11-30 2023-10-17 Electronics And Telecommunications Research Institute Apparatus and method for managing personal information
KR102523599B1 (ko) * 2022-10-07 2023-04-20 (주)디지탈센스 모바일 출입증 발급 시스템

Similar Documents

Publication Publication Date Title
KR101877333B1 (ko) 블록체인 기반의 모바일 아이디를 이용하여 사용자를 비대면 인증하는 방법, 단말 및 이를 이용한 서버
KR101877335B1 (ko) 블록체인 및 이와 연동되는 머클 트리 구조 기반의 모바일 아이디를 이용하여 사용자를 비대면 인증하는 방법, 단말 및 이를 이용한 서버
KR101829729B1 (ko) 블록체인 및 이와 연동하는 머클 트리 구조를 통해 모바일 아이디를 이용하여 사용자를 인증하는 방법, 단말 및 이를 이용한 서버
US11055802B2 (en) Methods and apparatus for implementing identity and asset sharing management
US10829088B2 (en) Identity management for implementing vehicle access and operation management
US11838425B2 (en) Systems and methods for maintaining decentralized digital identities
KR101877345B1 (ko) 블록체인 및 이와 연동되는 머클 트리 구조 기반의 토큰 아이디를 이용하여 카드 사용을 승인하는 방법 및 이를 이용한 서버
EP3701668B1 (en) Methods for recording and sharing a digital identity of a user using distributed ledgers
US8726360B2 (en) Telecommunication method, computer program product and computer system
KR101829721B1 (ko) 블록체인을 통해 모바일 아이디를 이용하여 사용자를 인증하는 방법, 단말 및 이를 이용한 서버
JP7083892B2 (ja) デジタル証明書のモバイル認証相互運用性
RU2017134723A (ru) Системы и способы персональной идентификации и верификации
KR102116235B1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
KR102118962B1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
CN109150547B (zh) 一种基于区块链的数字资产实名登记的系统和方法
KR101858653B1 (ko) 블록체인 데이터베이스 및 이와 연동하는 머클 트리 구조를 통해 모바일 아이디를 이용하여 사용자를 인증하는 방법, 단말 및 이를 이용한 서버
KR102118935B1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
CN109685664B (zh) 一种基于资产托管系统关联的数字资产实名登记系统
CN109670825B (zh) 一种基于证书关联的数字资产实名登记系统
KR20220028836A (ko) 블록체인 네트워크 기반의 분산 아이디를 이용한 운전 면허증 인증 서비스 방법 및 운전 면허증 인증 서비스를 수행하는 사용자 단말
KR20220028870A (ko) 블록체인 네트워크 기반의 분산 아이디(Decentralized Identifier, DID)를 이용한 모바일 신분증 인증 서비스 방법 및 모바일 신분증 인증 서비스를 수행하는 사용자 단말
KR102118947B1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
KR20220048997A (ko) 분산된 아이덴티티 플랫폼들을 위한 통합 인증 시스템
KR20200083396A (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
KR20200083178A (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말

Legal Events

Date Code Title Description
A201 Request for examination