KR102497440B1 - Method and system for providing user information management service based on decentralized identifiers - Google Patents

Method and system for providing user information management service based on decentralized identifiers Download PDF

Info

Publication number
KR102497440B1
KR102497440B1 KR1020210068292A KR20210068292A KR102497440B1 KR 102497440 B1 KR102497440 B1 KR 102497440B1 KR 1020210068292 A KR1020210068292 A KR 1020210068292A KR 20210068292 A KR20210068292 A KR 20210068292A KR 102497440 B1 KR102497440 B1 KR 102497440B1
Authority
KR
South Korea
Prior art keywords
user
service
user terminal
information
user information
Prior art date
Application number
KR1020210068292A
Other languages
Korean (ko)
Other versions
KR20220160286A (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 KR1020210068292A priority Critical patent/KR102497440B1/en
Publication of KR20220160286A publication Critical patent/KR20220160286A/en
Application granted granted Critical
Publication of KR102497440B1 publication Critical patent/KR102497440B1/en

Links

Images

Classifications

    • 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/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/567Integrating service provisioning from a plurality of service providers

Abstract

DID 기반의 사용자 정보 관리 서비스 제공 방법 및 시스템이 개시된다. 본 발명에 따른 DID 기반의 사용자 정보 관리 서비스 제공 방법은, DID 기반의 사용자 정보 관리 서비스를 이용 중인 사용자 단말에서 타 서비스에 대한 이용 요청이 발생됨에 따라, 타 서비스와 연관된 서비스 서버로부터 입력되는 서비스 인증 정보를, 블록체인의 DID 레지스트리에서 로딩한 서비스 서버의 DID 문서를 이용해 검증하여 서비스 서버를 신원 인증하는 단계와, 서비스 서버가 신원 인증되면, 사용자 단말에 관한 사용자 인증 정보를, DID 레지스트리에서 로딩한 사용자 단말의 DID 문서를 이용해 검증하여 사용자 단말을 신원 인증하는 단계, 및 사용자 단말이 신원 인증되면, 스토리지에서 사용자 단말의 사용자 정보를 리드해 서비스 서버에 전달함으로써, 사용자 단말에서 상기 타 서비스를 이용하도록 하는 단계를 포함한다.A DID-based user information management service providing method and system are disclosed. A method for providing a DID-based user information management service according to the present invention is a service authentication input from a service server associated with the other service when a user terminal using the DID-based user information management service requests to use another service. The step of verifying the identity of the service server by verifying the information using the DID document of the service server loaded from the DID registry of the blockchain; Authenticating the identity of the user terminal by verifying using the DID document of the user terminal, and when the identity of the user terminal is authenticated, reading the user information of the user terminal from the storage and delivering it to the service server so that the user terminal can use the other service. It includes steps to

Description

DID 기반의 사용자 정보 관리 서비스 제공 방법 및 시스템{METHOD AND SYSTEM FOR PROVIDING USER INFORMATION MANAGEMENT SERVICE BASED ON DECENTRALIZED IDENTIFIERS}Method and system for providing DID-based user information management service

본 발명은 사용자의 정보를 신뢰성 있게 저장, 업데이트, 타 서비스로 제공하는 DID 기반의 견고한 사용자 정보 관리 서비스(InfoDID)의 제공에 연관된다.The present invention is related to the provision of a DID-based robust user information management service (InfoDID) that reliably stores, updates, and provides other services for user information.

일반적으로, 사용자는 디지털 기반의 서비스를 이용하기 위해 각 서비스에 자신의 정보를 제공하고 서비스 계정을 만드는 개별 가입 방식으로 신원을 인증하게 된다. 이 같은 방식은 사용자가 새로운 서비스를 사용할 때마다 자신의 개인 정보를 서비스에 일일이 제공해 회원가입을 해야 하는 번거로움이 있다.In general, in order to use a digital-based service, a user provides his/her information to each service and authenticates his or her identity through an individual subscription method of creating a service account. In this method, whenever a user uses a new service, it is inconvenient for the user to register as a member by providing his or her personal information to the service.

또한, 각 서비스 마다 서비스 계정을 만들지 않고, OpenID, OAuth 등의 기반 기술을 이용해 구글이나 페이스북의 기존 서비스 계정으로 신원을 인증하는 연합 신원 인증 방식도 널리 사용되고 있으나, 이 방식에서는 사용자의 정보가 어느 수준까지 제공되는지 사용자가 알기 어렵고, 신원 증명 제공자의 서비스가 중지될 경우 신원 인증이 불가능하게 된다.In addition, a federated identity authentication method that authenticates identity with an existing service account of Google or Facebook using underlying technologies such as OpenID and OAuth without creating a service account for each service is also widely used. It is difficult for the user to know whether the level of authentication is provided, and if the service of the identity provider is stopped, identity authentication becomes impossible.

최근에는 무결성, 탈중앙화, 높은 보안성 등의 특징을 가진 블록체인 기술을 이용한 DID(Decentralized IDentifiers, 분산식별자) 기술이 차세대 신원 인증 기술로 등장함에 따라, 이러한 DID 기술을 이용한 다양한 블록체인 응용서비스가 개발, 이용되고 있다.Recently, as DID (Decentralized IDentifiers) technology using blockchain technology with characteristics such as integrity, decentralization, and high security has emerged as a next-generation identity authentication technology, various blockchain application services using this DID technology have emerged. developed and used.

DID 기술을 활용하는 블록체인 관련 선행기술로는, 분산 ID를 발급받아 블록체인 데이터로 저장하고, 신원 증명 요청이 수신되면 저장된 블록체인 데이터를 조회하여 신원 인증을 수행하는 구성을 개시하는 한국 등록번호 10-2139645와, 블록체인 네트워크 사용자들이 자신의 프라이빗 키를 효과적으로 관리, 백업, 복원할 수 있게 지원하는 한국 공개번호 10-2021-0020851, 및 블록체인 네트워크로부터 발급받은 DID를 통해 본인 인증하는 구성을 개시하는 한국 등록번호 10-2201679 등에 블록체인 기반의 DID를 활용하여 사용자 정보를 관리하는 기술이 개시되고 있다.As a prior art related to blockchain using DID technology, a Korean registration number that initiates a configuration in which a distributed ID is issued and stored as blockchain data, and when an identity verification request is received, the stored blockchain data is retrieved to perform identity authentication. 10-2139645, Korea Publication No. 10-2021-0020851, which supports blockchain network users to effectively manage, back up, and restore their private keys, and configuration for self-authentication through DID issued from the blockchain network. A technology for managing user information by utilizing a blockchain-based DID has been disclosed, such as Korean Registration No. 10-2201679.

하지만, 블록체인 기반의 DID을 활용해 사용자의 개인 정보를 신뢰성 있게 제어하여 사용자가 이용하려는 여러 다른 서비스에 꼭 필요한 사용자의 정보만을 제공하고, 사용자의 각종 서비스 이용을 위한 편리하고 안정적인 신원 인증을 지원하는 기술은 아직까지 부재하다.However, by using blockchain-based DID, users' personal information is reliably controlled to provide only the user's information necessary for various other services that users want to use, and support convenient and stable identity authentication for users' use of various services. The technology to do so is still absent.

본 발명의 실시예는 블록체인 기반의 DID 기술을 이용한 신원 인증을 통해 사용자 정보를 신뢰성 있게 저장 및 업데이트하고 사용자가 이용하려는 타 서비스로 사용자 정보를 신뢰성 있게 제공하는 견고한 사용자 정보 관리 서비스(InfoDID)를 구현함으로써, 사용자의 각종 서비스 이용의 편의성을 향상시키는 것을 목적으로 한다.An embodiment of the present invention provides a robust user information management service (InfoDID) that reliably stores and updates user information through identity authentication using blockchain-based DID technology and reliably provides user information to other services that the user wants to use. By implementing, the purpose is to improve the convenience of the user's use of various services.

본 발명의 실시예는 타 서비스로의 사용자 정보 제공 이후 업데이트되는 사용자 정보의 지속적인 제공을 통해 최신의 사용자 정보 제공을 구현함으로써, 사용자 정보 수정으로 인한 불편함을 해소하고, 사용자의 각종 서비스 이용 편의성을 보다 향상시키는 것을 목적으로 한다.Embodiments of the present invention implement the provision of up-to-date user information through continuous provision of user information that is updated after providing user information to other services, thereby solving the inconvenience caused by user information modification and improving the user's convenience in using various services. It aims to further improve.

본 발명에 따른 DID 기반의 사용자 정보 관리 서비스 제공 방법은, DID 기반의 사용자 정보 관리 서비스를 이용 중인 사용자 단말에서 타 서비스에 대한 이용 요청이 발생됨에 따라, 타 서비스와 연관된 서비스 서버로부터 입력되는 서비스 인증 정보를, 블록체인의 DID 레지스트리에서 로딩한 서비스 서버의 DID 문서를 이용해 검증하여 서비스 서버를 신원 인증하는 단계와, 서비스 서버가 신원 인증되면, 사용자 단말에 관한 사용자 인증 정보를, DID 레지스트리에서 로딩한 사용자 단말의 DID 문서를 이용해 검증하여 사용자 단말을 신원 인증하는 단계, 및 사용자 단말이 신원 인증되면, 스토리지에서 사용자 단말의 사용자 정보를 리드해 서비스 서버에 전달함으로써, 사용자 단말에서 상기 타 서비스를 이용하도록 하는 단계를 포함할 수 있다.A method for providing a DID-based user information management service according to the present invention is a service authentication input from a service server associated with the other service when a user terminal using the DID-based user information management service requests to use another service. The step of verifying the identity of the service server by verifying the information using the DID document of the service server loaded from the DID registry of the blockchain; Authenticating the identity of the user terminal by verifying using the DID document of the user terminal, and when the identity of the user terminal is authenticated, reading the user information of the user terminal from the storage and delivering it to the service server so that the user terminal can use the other service. steps may be included.

또한, 본 발명의 실시예에 따른 DID 기반의 사용자 정보 관리 서비스 제공 시스템은, DID 기반의 사용자 정보 관리 서비스를 이용 중인 사용자 단말에서 타 서비스에 대한 이용 요청이 발생됨에 따라, 타 서비스와 연관된 서비스 서버로부터 입력되는 서비스 인증 정보를, 블록체인의 DID 레지스트리에서 로딩한 서비스 서버의 DID 문서를 이용해 검증하여 서비스 서버를 신원 인증하는 서버 인증부와, 서비스 서버가 신원 인증되면, 사용자 단말에 관한 사용자 인증 정보를, DID 레지스트리에서 로딩한 사용자 단말의 DID 문서를 이용해 검증하여 사용자 단말을 신원 인증하는 사용자 인증부, 및 사용자 단말이 신원 인증되면, 스토리지에서 사용자 단말의 사용자 정보를 리드해 서비스 서버에 전달함으로써, 사용자 단말에서 상기 타 서비스를 이용하도록 하는 전달 처리부를 포함할 수 있다.In addition, in the DID-based user information management service providing system according to an embodiment of the present invention, as a user terminal using the DID-based user information management service generates a request for use of another service, a service server associated with the other service. A server authentication unit that authenticates the identity of the service server by verifying the service authentication information input from the blockchain using the DID document of the service server loaded from the DID registry of the blockchain; A user authentication unit that authenticates the user terminal by verifying the DID document of the user terminal loaded from the DID registry, and when the user terminal is authenticated, by reading the user information of the user terminal from the storage and forwarding it to the service server, It may include a delivery processing unit that allows the user terminal to use the other service.

본 발명에 따르면, 블록체인 기반의 DID 기술을 이용한 신원 인증을 통해 사용자 정보를 신뢰성 있게 관리(저장/업데이트)하는 한편, 사용자가 이용하고자 하는 서비스를 제공하는 서비스 서버로 사용자 정보를 신뢰성 있게 제공해 사용자의 각종 서비스의 편리한 이용을 지원하고, 이후에도 최신의 사용자 정보를 지속적으로 제공하는 사용자 정보 관리 서비스(InfoDID)를 구현할 수 있다.According to the present invention, user information is reliably managed (stored/updated) through identity authentication using blockchain-based DID technology, while user information is reliably provided to the service server that provides the service the user wants to use. It is possible to implement a user information management service (InfoDID) that supports convenient use of various services and continuously provides up-to-date user information.

본 발명에 따르면, 이더리움 블록체인의 스마트 컨트랙트로 개발된 DID 레지스트리를 DID 신원 인증 서비스에 활용해 사용자의 개인 정보를 신뢰성 있게 제어하여, 사용자가 이용하려는 여러 다른 서비스에 꼭 필요한 사용자의 정보만을 제공하고, 기존의 신원 증명 제공자의 서비스 중지의 우려 없이 안정적인 신원 인증을 바탕으로 사용자의 각종 서비스 이용을 지원할 수 있다.According to the present invention, the DID registry developed as a smart contract of the Ethereum blockchain is used for the DID identity authentication service to reliably control the user's personal information, and to provide only the user's information necessary for various other services that the user wants to use. In addition, it is possible to support the use of various services by users based on stable identity authentication without worrying about service suspension of existing identity verification providers.

도 1은 본 발명에 따른 DID 기반의 사용자 정보 관리 서비스 제공 시스템의 구성을 도시한 블록도이다.
도 2는 본 발명에 따른 DID 기반의 사용자 정보 관리 서비스 제공 시스템을 포함한 네트워크를 도시한 도면이다.
도 3은 본 발명에 따른 DID 기반의 사용자 정보 관리 서비스 제공 시스템에서, 확장된 DID 레지스트리에 기록되는 DID 문서를 도시한 도면이다.
도 4a 및 도 4b는 본 발명에 따른 DID 기반의 사용자 정보 관리 서비스 제공 시스템에서, 사용자 단말의 DID 문서를 이용한 신원 인증 절차를 도시한 도면이다.
도 5a는 본 발명에 따른 DID 기반의 사용자 정보 관리 서비스 제공 시스템에서, 사용자 정보의 전달 서비스 제공 과정을 설명하기 위한 도면이다.
도 5b는 본 발명에 따른 DID 기반의 사용자 정보 관리 서비스 제공 시스템에서, 최신의 사용자 정보를 제공하기 위한 과정을 설명하기 위한 도면이다.
도 6a 및 도 6b는 본 발명에 따른 DID 기반의 사용자 정보 관리 서비스 제공 방법의 순서를 도시한 흐름도이다.
1 is a block diagram showing the configuration of a DID-based user information management service providing system according to the present invention.
2 is a diagram illustrating a network including a DID-based user information management service providing system according to the present invention.
3 is a diagram illustrating a DID document recorded in an extended DID registry in the DID-based user information management service providing system according to the present invention.
4A and 4B are diagrams illustrating an identity authentication procedure using a DID document of a user terminal in the DID-based user information management service providing system according to the present invention.
5A is a diagram for explaining a process of providing a user information delivery service in the DID-based user information management service providing system according to the present invention.
5B is a diagram for explaining a process for providing up-to-date user information in the DID-based user information management service providing system according to the present invention.
6A and 6B are flowcharts illustrating a sequence of a method for providing a DID-based user information management service according to the present invention.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, since various changes can be made to the embodiments, the scope of the patent application is not limited or limited by these embodiments. It should be understood that all changes, equivalents or substitutes to the embodiments are included within the scope of rights.

실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in the examples are used only for descriptive purposes and should not be construed as limiting. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, terms such as "include" or "have" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art to which the embodiment belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in the present application, they should not be interpreted in an ideal or excessively formal meaning. don't

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same reference numerals are given to the same components regardless of reference numerals, and overlapping descriptions thereof will be omitted. In describing the embodiment, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the embodiment, the detailed description will be omitted.

본 발명에 따른 사용자 정보 관리 서비스 제공 시스템은, 블록체인의 DID 기술을 이용하여 사용자 정보를 신뢰성 있게 저장 및 업데이트하고, 타 서비스로 제공하는 견고한 사용자 정보 관리 서비스(InfoDID)를 제안한다.The user information management service providing system according to the present invention proposes a robust user information management service (InfoDID) that reliably stores and updates user information using blockchain DID technology and provides it as other services.

여기서 DID는, 중앙화된 신원 제공자, 레지스트리, 인증 기관 등으로부터 탈피해 독립적으로 검증하는 분산 디지털 신원 인증에 사용되는 분산 식별자로서, DID를 가진 주체는 해당 주체를 설명할 수 있는 DID 문서를 통해 자신의 정보에 대한 제어권을 가지게 된다. DID를 가진 주체는, 블록체인 기반의 DID 레지스트리에 저장된 DID 문서를 이용한 DID 인증(DID auth)에 의해 블록체인 상에서 언제나 식별될 수 있다.Here, DID is a decentralized identifier used for distributed digital identity authentication that independently verifies away from centralized identity providers, registries, certification authorities, etc. You have control over your information. A subject with a DID can always be identified on the blockchain by DID authentication (DID auth) using the DID document stored in the blockchain-based DID registry.

본 발명에 따른 사용자 정보 관리 서비스 제공 시스템은, DID 기반의 블록체인 응용 서비스의 형태로 사용자 정보 관리 서비스(InfoDID)를 실행하여 사용자 정보의 저장, 업데이트를 관리하고, DID 인증 기법을 이용하여 사용자가 이용하려는 다른 서비스에 사용자 정보를 손쉽게 전달할 수 있다.The user information management service providing system according to the present invention executes the user information management service (InfoDID) in the form of a DID-based blockchain application service to manage the storage and update of user information, and uses the DID authentication technique to User information can be easily transferred to other services to be used.

또한, 본 발명에 따른 사용자 정보 관리 서비스 제공 시스템은, 이더리움 블록체인(Ethereum Blockchain)에서 관리하는 확장된 형태의 DID 레지스트리를 이용해, 사용자 정보를 저장(업데이트)하려는 사용자 단말의 신원 인증에 필요한 DID 문서를 관리함으로써, 사용자 정보가 사용자의 승인 없이 임의로 변경되어 사용되지 못하도록 방지할 수 있다.In addition, the user information management service providing system according to the present invention uses an extended DID registry managed by the Ethereum blockchain to store (update) user information, and the DID required for identity authentication of the user terminal. By managing documents, it is possible to prevent user information from being arbitrarily changed and used without user approval.

여기서, 이더리움 블록체인은 전자 계약인 스마트 컨트랙트 기능을 제공하며 탈중앙 블록체인 애플리케이션을 개발하고 운영할 수 있는 블록체인 플랫폼으로서, 이더리움 블록체인에서는 스마트 컨트랙트 기반으로 간단한 거래뿐만 아니라 사용자가 원하는 복잡한 계약을 수행할 수 있다. 이더리움 블록체인 네트워크에 연결된 모든 노드는, 스마트 컨트랙트를 실행시키는 이더리움 가상머신을 통해 모든 트랜잭션을 실행하여, 모든 노드는 동일한 계산을 수행하고 같은 상태를 가진다. 여기서, 스마트 컨트랙트란 기존 대면 방식의 계약에서 벗어나 블록체인에서 특정 조건에 따라 계약을 자동으로 수행하는 스마트 계약 기능이다.Here, the Ethereum blockchain is a blockchain platform that provides smart contract functions, which are electronic contracts, and can develop and operate decentralized blockchain applications. In the Ethereum blockchain, not only simple transactions based on smart contracts but also complex contract can be performed. All nodes connected to the Ethereum blockchain network execute all transactions through the Ethereum virtual machine that executes smart contracts, so all nodes perform the same calculations and have the same state. Here, a smart contract is a smart contract function that automatically executes a contract according to specific conditions in a block chain, breaking away from the existing face-to-face contract.

도 1은 본 발명에 따른 DID 기반의 사용자 정보 관리 서비스 제공 시스템의 구성을 도시한 블록도이다.1 is a block diagram showing the configuration of a DID-based user information management service providing system according to the present invention.

도 2를 참조하면, 본 발명에 따른 DID 기반의 사용자 정보 관리 서비스 제공 시스템(100)은, 서버 인증부(110), 추출부(120), 사용자 인증부(130) 및 전달 처리부(140)를 포함하여 구성할 수 있다. 실시예에 따라, 본 발명에 따른 DID 기반의 사용자 정보 관리 서비스 제공 시스템(100)은, 저장 처리부(150) 및 스토리지(160)를 각각 추가하여 구성할 수 있다.Referring to FIG. 2, the DID-based user information management service providing system 100 according to the present invention includes a server authentication unit 110, an extraction unit 120, a user authentication unit 130, and a delivery processing unit 140. can be configured including Depending on the embodiment, the DID-based user information management service providing system 100 according to the present invention may be configured by adding a storage processing unit 150 and a storage 160, respectively.

서버 인증부(110)는 DID 기반의 사용자 정보 관리 서비스(infoDID)를 이용 중인 사용자 단말(101)에서, 타 서비스에 대한 이용 요청이 발생됨에 따라, 상기 타 서비스와 연관된 서비스 서버(102)로부터 입력되는 서비스 인증 정보를, 블록체인(170)의 DID 레지스트리(171)에서 로딩한 서비스 서버(102)의 DID 문서를 이용해 검증하여, 서비스 서버(102)를 신원 인증하는 기능을 한다.The server authentication unit 110 receives input from the service server 102 associated with the other service when a request for use of another service is generated in the user terminal 101 using the DID-based user information management service (infoDID). The service authentication information is verified using the DID document of the service server 102 loaded from the DID registry 171 of the blockchain 170 to authenticate the identity of the service server 102.

일례로, 상기 타 서비스의 이용하려는 사용자 단말(101)에서는, 자신의 사용자 인증 정보를 상기 타 서비스를 제공하는 서비스 서버(102)로 입력할 수 있다. 그러면 서비스 서버(102)에서는 상기 사용자 인증 정보를 입력한 사용자 단말(101)에 관한 사용자 정보를 획득하기 위해, 자신의 서비스 인증 정보를 포함하여 상기 사용자 정보의 전달 요청을 발생할 수 있다.For example, the user terminal 101 intending to use the other service may input its own user authentication information to the service server 102 that provides the other service. Then, the service server 102 may generate a request for transmission of the user information including its own service authentication information in order to acquire user information about the user terminal 101 having input the user authentication information.

여기서, 상기 서비스 인증 정보는, 사용자 단말(101)이 입력한 사용자 인증 정보를 서비스 서버(102)의 비밀키로 암호화한 시그니처값 및 서비스 서버(102)의 DID를 포함할 수 있다.Here, the service authentication information may include a DID of the service server 102 and a signature value obtained by encrypting the user authentication information input by the user terminal 101 with a private key of the service server 102 .

즉, 상기 타 서비스에 대한 이용 요청을 발생하는 사용자 단말에서, 상기 타 서비스의 서비스 서버(102)로 상기 사용자 인증 정보를 입력함에 따라, 서비스 서버(102)로부터, 상기 사용자 인증 정보를 서비스 서버(102)의 비밀키로 암호화한 시그니처값 및 서비스 서버(102)의 DID를 포함한 상기 서비스 인증 정보가 입력되면, 서버 인증부(110)는 상기 서비스 인증 정보 내 서비스 서버(102)의 DID를 이용하여, DID 레지스트리(171)에 기록된 서비스 서버(102)의 DID 문서를 로딩하고, 로딩한 서비스 서버(102)의 DID 문서에 기재된 공개키아이디로부터 서비스 서버(102)의 비밀키에 대칭되는 공개키를 생성하고, 상기 공개키로 상기 서비스 인증 정보 내 시그니처값을 복호화하여, 상기 시그니처값의 유효성을 검증함으로써, 서비스 서버(102)를 신원 인증할 수 있다.That is, as the user terminal generating the request for use of the other service inputs the user authentication information to the service server 102 of the other service, the user authentication information is transmitted from the service server 102 to the service server ( 102), if the service authentication information including the signature value encrypted with the private key and the DID of the service server 102 is input, the server authentication unit 110 uses the DID of the service server 102 in the service authentication information, The DID document of the service server 102 recorded in the DID registry 171 is loaded, and the public key symmetric to the private key of the service server 102 is generated from the public key ID written in the loaded DID document of the service server 102. It is possible to authenticate the identity of the service server 102 by generating, decrypting the signature value in the service authentication information with the public key, and verifying the validity of the signature value.

추출부(120)는 서비스 서버(102)가 신원 인증되면, 상기 서비스 인증 정보에 포함된 사용자 단말(101)에 관한 사용자 인증 정보를, 상기 서비스 인증 정보로부터 추출하는 기능을 한다.When the service server 102 is authenticated, the extraction unit 120 functions to extract user authentication information about the user terminal 101 included in the service authentication information from the service authentication information.

일례로, 추출부(120)는 상기 공개키로 상기 서비스 인증 정보 내 시그니처값의 복호화되어 시그니처값의 유효성이 검증되면, 상기 복호화된 시그니처값으로부터 상기 사용자 인증 정보를 추출할 수 있다.For example, the extractor 120 may extract the user authentication information from the decrypted signature value when the signature value in the service authentication information is decrypted with the public key and validity of the signature value is verified.

사용자 인증부(130)는, 추출된 사용자 인증 정보를, DID 레지스트리(171)에서 로딩한 사용자 단말(101)의 DID 문서를 이용해 검증하여, 사용자 단말(101)을 신원 인증하는 기능을 한다.The user authentication unit 130 performs a function of authenticating the identity of the user terminal 101 by verifying the extracted user authentication information using the DID document of the user terminal 101 loaded from the DID registry 171 .

일례로, 사용자 인증부(130)는, 상기 사용자 인증 정보에 포함된 사용자 단말(101)의 DID를 이용하여, DID 레지스트리(171)에 기록된 사용자 단말(101)의 DID 문서를 로딩하고, 상기 사용자 인증 정보에 포함된 사용자 단말(101)의 시그니처값을, 사용자 단말(101)의 DID 문서에 기재된 공개키아이디로부터 생성한 공개키로 복호화하여 상기 시그니처값의 유효성을 검증함으로써, 사용자 단말(101)을 신원 인증할 수 있다.For example, the user authentication unit 130 loads the DID document of the user terminal 101 recorded in the DID registry 171 using the DID of the user terminal 101 included in the user authentication information, and The user terminal 101 decrypts the signature value of the user terminal 101 included in the user authentication information with the public key generated from the public key ID written in the DID document of the user terminal 101 to verify the validity of the signature value. can authenticate your identity.

전달 처리부(140)는 사용자 단말(101)이 신원 인증되면, 스토리지(160)에 기저장된 사용자 단말(101)에 관한 사용자 정보를, 스토리지(160)에서 리드해 서비스 서버(102)에 전달함으로써, 상기 사용자 정보의 신뢰성 있는 전달 서비스를 제공하는 기능을 한다. 전달 처리부(140)는 서비스 서버(102)로 상기 사용자 정보를 전달한 후에, 서비스 서버(102)로의 사용자 정보의 전달 기록을 스토리지(160)에 생성할 수 있다.When the user terminal 101 is authenticated, the transfer processing unit 140 reads user information about the user terminal 101 previously stored in the storage 160 from the storage 160 and delivers it to the service server 102, It functions to provide a reliable delivery service of the user information. After transferring the user information to the service server 102, the transfer processing unit 140 may create a transfer record of the user information to the service server 102 in the storage 160.

상기 사용자 정보의 전달 서비스의 구현에 앞서, 본 발명에 따른 DID 기반의 사용자 정보 관리 서비스 제공 시스템(100)은, 상기 사용자 정보의 저장(업데이트) 서비스 구현을 위한 저장 처리부(150)를 더 포함하여 구성할 수 있다.Prior to implementing the user information delivery service, the DID-based user information management service providing system 100 according to the present invention further includes a storage processing unit 150 for implementing the user information storage (update) service, can be configured.

저장 처리부(150)는 상기 타 서비스에 대한 이용 요청의 발생 전/후에, 정보 저장 요청을 발생하는 사용자 단말로부터 입력되는 사용자 정보를 저장하거나 기저장된 사용 정보를 업데이트함으로써, 사용자 정보의 신뢰성 있는 저장 서비스를 제공하는 기능을 한다.The storage processing unit 150 provides a reliable storage service of user information by storing user information input from a user terminal generating an information storage request or updating pre-stored usage information before/after a request for use of the other service is generated. function to provide

구체적으로, 사용자 인증부(130)는 상기 저장 요청을 발생하는 사용자 단말로부터 입력되는 제1 사용자 인증 정보를, DID 레지스트리(171)에서 로딩한 사용자 단말(101)의 DID 문서를 이용해 검증하여, 사용자 단말(101)을 신원 인증하고, 추출부(120)는 사용자 단말(101)이 신원 인증되면, 상기 제1 사용자 인증 정보에 포함된 사용자 단말(101)에서 저장하려는 사용자 정보를, 상기 제1 사용자 인증 정보로부터 추출하고, 저장 처리부(150)는 추출된 사용자 정보를 암호화하여, 상기 제1 사용자 인증 정보와 연관시켜 스토리지(160)에 저장할 수 있다.Specifically, the user authentication unit 130 verifies the first user authentication information input from the user terminal generating the storage request using the DID document of the user terminal 101 loaded from the DID registry 171, When the terminal 101 is authenticated, and the identity of the user terminal 101 is authenticated, the extractor 120 converts user information to be stored in the user terminal 101 included in the first user authentication information to the first user. After extracting from the authentication information, the storage processing unit 150 may encrypt the extracted user information and store it in the storage 160 in association with the first user authentication information.

여기서, 스토리지(160)는 대용량의 사용자 정보를 저장 가능한 LDAP(Lightweight Directory Access Protocol) 기반의 데이터베이스로 구현될 수 있다.Here, the storage 160 may be implemented as a lightweight directory access protocol (LDAP)-based database capable of storing a large amount of user information.

즉, 저장 처리부(150)는 블록체인(170)의 저장 용량 한계와 비용 증가로 인해 블록체인(170)에 대용량의 사용자 정보를 모두 저장하기 어렵다는 점을 고려하여, 사용자 정보 관리 서비스 제공 시스템(100)의 내부 혹은 외부에 구현된 스토리지(160)를 활용해 사용자 정보를 저장, 유지할 수 있다.That is, the storage processing unit 150 considers that it is difficult to store all large-capacity user information in the blockchain 170 due to the storage capacity limit and cost increase of the blockchain 170, and the user information management service providing system 100 ) User information can be stored and maintained by utilizing the storage 160 implemented inside or outside of.

상기 사용자 정보는, 사용자의 식별자인 DID, 사용자 정보 관리 시작 시간, 사용자 정보의 마지막 업데이트 시간, 사용자 정보의 유효기간, 사용자의 성과 이름, 프로필 사진, 학력 목록, 경력 중 적어도 하나의 데이터일 수 있다.The user information may be at least one data of the user's identifier, DID, user information management start time, user information last update time, user information expiration date, user's first and last name, profile picture, educational background list, and career history. .

저장 처리부(150)는 상기 사용자 정보의 저장 후에, 저장 완료를 알리는 관리증명서를 사용자 단말(101)에 발급하고, 사용자 단말(101)에 발급한 관리증명서를, 스토리지(160)에 보관할 수 있다.After storing the user information, the storage processing unit 150 may issue a management certificate indicating completion of the storage to the user terminal 101 and store the management certificate issued to the user terminal 101 in the storage 160 .

이때, 사용자 단말(101)은, 발급받은 관리보증서의 시그니처값을 검증해서 자신의 사용자 정보가 위변조되지 않고 스토리지(160)에 저장되었음을 확인할 수 있고, 그 후, 발급받은 관리증명서를 DID 레지스트리(171)에 기록된 DID 문서에 보관할 수 있다. 사용자 단말(101)은 발급받은 관리증명서가 포함되도록, DID 레지스트리(171)에 기록된 사용자 단말(101)의 DID 문서를 갱신할 수 있다.At this time, the user terminal 101 can confirm that its user information is stored in the storage 160 without being falsified by verifying the signature value of the issued management certificate, and then, the issued management certificate can be stored in the DID registry 171 ) can be stored in the DID document recorded in The user terminal 101 may update the DID document of the user terminal 101 recorded in the DID registry 171 to include the issued management certificate.

즉 사용자 단말(101)은 자신의 사용자 정보를 저장(업데이트)할 때 마다 발급받은 관리증명서를 DID 레지스트리(171)에 기록된 DID 문서에 보관하여 DID 문서를 반복적으로 갱신할 수 있다. 본 발명에서 DID 문서는 종래보다 개인항목(Privacy)이 추가되어 확장된 형태를 이루고, 관리증명서는 DID 문서의 개인항목에 보관될 수 있다.That is, whenever the user terminal 101 stores (updates) its own user information, it can repeatedly update the DID document by storing the issued management certificate in the DID document recorded in the DID registry 171. In the present invention, the DID document has an extended form by adding privacy to the conventional document, and the management certificate can be stored in the personal item of the DID document.

전달 처리부(140)는 사용자 단말(101)에 관한 사용자 정보를 서비스 서버(102)로 전달하기에 앞서, 스토리지(160)에 저장된 사용자 정보의 사용자 단말의 승인 없는 비정상적인 변경이 있는지 확인하는 절차를 가짐으로써, 잘못된 사용자 정보가 타 서비스로 제공되는 것을 사전에 방지할 수 있다.Prior to transferring user information about the user terminal 101 to the service server 102, the transfer processing unit 140 has a procedure for checking whether there is an abnormal change in the user information stored in the storage 160 without the approval of the user terminal. As a result, it is possible to prevent incorrect user information from being provided to other services in advance.

구체적으로, 전달 처리부(140)는 스토리지(160)에서 리드한 사용자 단말(101)에 관한 사용자 정보를 서비스 서버(102)로 전달하기 전에, DID 레지스트리(171)에 기록된 사용자 단말의 DID 문서를 로딩할 수 있다. 이때 로딩되는 DID 문서는, 사용자 단말이 가장 최근에 발급받은 관리증명서를 포함하여 갱신된 DID 문서일 수 있다.Specifically, the delivery processing unit 140 transmits the user information about the user terminal 101 read from the storage 160 to the service server 102, the DID document of the user terminal recorded in the DID registry 171 can be loaded. At this time, the loaded DID document may be an updated DID document including the management certificate most recently issued by the user terminal.

전달 처리부(140)는 로딩한 DID 문서에 포함되는 관리증명서가, 저장 처리부(150)에서 상기 사용자 정보의 저장 후에 스토리지(160)에 보관한 관리증명서와 일치하는지 비교할 수 있다. 이때, 스토리지(160)에 보관한 관리증명서가 여러 개인 경우, 전달 처리부(140)는 가장 최근에 발급되어 보관된 관리증명서를, 로딩한 DID 문서 내 관리증명서와 비교할 수 있다.The delivery processing unit 140 may compare whether the management certificate included in the loaded DID document matches the management certificate stored in the storage 160 after the user information is stored in the storage processing unit 150 . At this time, if there are several management certificates stored in the storage 160, the transfer processing unit 140 may compare the most recently issued and stored management certificate with the management certificate in the loaded DID document.

양 관리증명서가 일치하는 경우, 전달 처리부(140)는 스토리지(160)에 저장된 사용자 정보를 '변경없음'으로 확인하여, 서비스 서버(102)에 전달할 수 있다.When both management certificates match, the transfer processing unit 140 may transmit the user information stored in the storage 160 to the service server 102 after confirming that there is no change.

만일, 양 관리증명서가 일치하지 않으면, 전달 처리부(140)는 스토리지(160)에 저장된 사용자 정보에, 사용자 단말의 승인 없는 비정상적인 변경이 발생한 것으로 확인하고, 저장 처리부(150)를 통해 서비스 서버(102)로 전달할 사용자 정보의 저장(업데이트)을 먼저 수행할 수 있다.If both management certificates do not match, the transfer processing unit 140 confirms that an abnormal change has occurred in the user information stored in the storage 160 without approval of the user terminal, and the service server 102 through the storage processing unit 150. ), user information to be transmitted can be stored (updated) first.

전달 처리부(140)에 의해 스토리지(160)에 저장된 사용자 정보가 서비스 서버(102)로 전달되면, 서비스 서버(102)는, 전달된 사용자 정보를 이용해 사용자 단말이 이용 요청한 타 서비스를 사용자 단말이 이용하도록 할 수 있다.When the user information stored in the storage 160 is transmitted to the service server 102 by the delivery processing unit 140, the service server 102 uses the transmitted user information to allow the user terminal to use other services requested by the user terminal. can make it

이때 서비스 서버(102)는, 전달 처리부(140)에 의해 전달된 사용자 정보를 이용해 사용자 단말에 타 서비스를 제공하는 동안에도, 전달된 사용자 정보에 갱신 조건이 성립하는지 지속적으로 확인하여, 스토리지(160)에 저장된 사용자 정보가 업데이트되어 갱신 조건이 성립할 경우 스토리지(160)에 업데이트된 사용자 정보의 전달을 요청함으로써, 최신의 사용자 정보를 획득할 수 있다.At this time, the service server 102 continuously checks whether update conditions are met in the delivered user information even while providing other services to the user terminal using the user information delivered by the delivery processing unit 140, and stores the storage 160 When the user information stored in ) is updated and the renewal condition is satisfied, the latest user information may be obtained by requesting the storage 160 to transfer the updated user information.

구체적으로 설명하면, 서비스 서버(102)는, 사용자 단말(101)에 관한 사용자 정보를 전달받은 시점에, DID 레지스트리(171)로부터 사용자 단말(101)의 DID 문서를 로딩하여, 로딩한 DID 문서에 포함된 관리증명서를, 제공된 사용자 정보와 함께 데이터베이스에 저장하고, 일정 주기로 DID 레지스트리(171)에서 재로딩한 사용자 단말(101)의 DID 문서에 포함되는 관리증명서가, 상기 데이터베이스에 저장한 관리증명서와 일치하는지 비교하고, 일치하지 않을 경우, 상기 데이터베이스에 저장한 사용자 정보에 대해 갱신 조건이 성립(스토리지(160)에 저장된 사용자 정보의 업데이트 발생)하는 것으로 판단하고, 서비스 서버(102)에 관한 서비스 인증 정보를 포함하여, 사용자 단말(101)의 업데이트된 사용자 정보의 전달 요청을 발생할 수 있다.Specifically, the service server 102 loads the DID document of the user terminal 101 from the DID registry 171 at the time of receiving the user information about the user terminal 101, and stores the loaded DID document. The included management certificate is stored in the database together with the provided user information, and the management certificate included in the DID document of the user terminal 101 reloaded in the DID registry 171 at regular intervals is different from the management certificate stored in the database. It compares whether or not they match, and if they do not match, it is determined that the update condition is satisfied for the user information stored in the database (updating of the user information stored in the storage 160 occurs), and service authentication for the service server 102 is performed. Including the information, a transfer request of updated user information of the user terminal 101 may be generated.

이에 따라 서버 인증부(110)에서 상기 서비스 인증 정보를 이용해 상기 전달 요청을 발생한 서비스 서버(102)를 신원 인증하면, 전달 처리부(140)는, 해당 서비스 서버(102)로 업데이트된 사용자 정보를 전달해 최신의 사용자 정보를 지속적으로 제공할 수 있다.Accordingly, when the server authentication unit 110 authenticates the identity of the service server 102 that generated the delivery request using the service authentication information, the delivery processing unit 140 delivers the updated user information to the corresponding service server 102 Up-to-date user information can be continuously provided.

상기 갱신 조건의 성립에 따라, 서비스 서버(102)에서 상기 사용자 정보의 전달 서비스 요청이 발생하면, 전달 처리부(140)는 상기 전달 서비스 요청을 발생한 서비스 서버(102)에 대해, 상기 전달 기록이 스토리지(160)에 생성되어 있는지 확인하고, 상기 전달 기록이 생성되어 있으면, 스토리지(160)에서 상기 사용자 단말에 관한 업데이트된 사용자 정보를 리드해 서비스 서버(102)에 전달할 수 있다.When the service server 102 requests a delivery service of the user information according to the establishment of the update condition, the delivery processing unit 140 stores the delivery record for the service server 102 that generated the delivery service request. It is checked whether it is created in 160, and if the delivery record is created, it is possible to read updated user information about the user terminal from the storage 160 and deliver it to the service server 102.

즉, 전달 처리부(140)는 상기 갱신 조건의 성립에 따라 상기 사용자 정보의 전달 서비스 요청을 발생한 서비스 서버(102)에 대해, 상기 전달 기록이 남겨져 있으면, 서버 인증부(110)에 의한 상기 서비스 인증 정보의 검증 과정을 생략하여, 보다 빠르게 업데이트된 최신의 사용자 정보를 서비스 서버(102)로 제공할 수 있다.That is, the delivery processing unit 140 authenticates the service by the server authentication unit 110 if the delivery record is left for the service server 102 that generated the request for the delivery service of the user information according to the establishment of the update condition. By omitting the information verification process, the latest user information updated more rapidly can be provided to the service server 102 .

다른 일례로, 저장 처리부(150)에서 사용자 단말에 의해 사용자 정보가 업데이트될 때마다, 전달 처리부(140)는, 스토리지(160)에 상기 사용자 정보의 전달 기록이 생성되어 있는 서비스 서버(102)를 모두 식별하여, 업데이트된 사용자 정보를 일시에 전달함으로써, 서비스 서버(102)에서 최신의 사용자 정보를 별도로 요청하지 않아도, 사용자 단말에 관해 업데이트된 사용자 정보를 지속적으로 전달할 수도 있다.As another example, whenever user information is updated by a user terminal in the storage processing unit 150, the delivery processing unit 140 stores the service server 102 in which the delivery record of the user information is created in the storage 160. By identifying all of them and delivering the updated user information at one time, the updated user information on the user terminal may be continuously delivered without a separate request for the latest user information from the service server 102 .

이와 같이, 전달 처리부(140)는 사용자 단말이 이용하는 서비스 서버(102)에 항상 최신의 사용자 정보를 제공하여, 사용자 단말에서 직접 서비스 서버(102)에 접속해 자신의 정보를 수정하는 번거로움 없이 최신의 사용자 정보에 근거한 상기 타 서비스를 이용하게 할 수 있다. 한편 실시예에 따라 업데이트된 사용자 정보가 불필요한 일부의 서비스 서버(102)에는 최신의 사용자 정보의 제공이 생략될 수도 있다.In this way, the delivery processing unit 140 always provides the latest user information to the service server 102 used by the user terminal, so that the user terminal directly accesses the service server 102 and does not have the hassle of modifying its own information. The other services based on the user information of can be used. Meanwhile, according to an embodiment, provision of the latest user information may be omitted for some service servers 102 in which updated user information is unnecessary.

도 2는 본 발명에 따른 DID 기반의 사용자 정보 관리 서비스 제공 시스템을 포함한 네트워크를 도시한 도면이다.2 is a diagram illustrating a network including a DID-based user information management service providing system according to the present invention.

본 발명에 따른 DID 기반의 사용자 정보 관리 서비스(InfoDID) 제공 시스템은, 도 2에 도시된 InfoDID 서버(210)에 의해 구현될 수 있다.A DID-based user information management service (InfoDID) providing system according to the present invention may be implemented by the InfoDID server 210 shown in FIG. 2 .

도 2를 참조하면, 네트워크(200)는 InfoDID 서버(210), 이더리움 퍼블릭 블록체인(220), DID 레지스트리(230) 및 사용자 단말(240)을 포함하여 구성할 수 있다.Referring to FIG. 2 , the network 200 may include an InfoDID server 210, an Ethereum public blockchain 220, a DID registry 230, and a user terminal 240.

InfoDID 서버(210)는, 이더리움 블록체인(220) 자체의 저장 용량과 비용 한계로 인해 사용자 정보를 LDAP 기반의 데이터베이스에 저장하여 관리하고, 이더리움 블록체인(220)에 배포된 확장된 DID 레지스트리(230)와, 상기 데이터베이스와 상호작용하여, 사용자 단말(240)에 사용자 정보 관리 서비스(infoDID)를 제공할 수 있다.The InfoDID server 210 stores and manages user information in an LDAP-based database due to the storage capacity and cost limitations of the Ethereum blockchain 220 itself, and expands the DID registry distributed on the Ethereum blockchain 220 230 and interact with the database to provide a user information management service (infoDID) to the user terminal 240 .

Figure 112021061273444-pat00001
Figure 112021061273444-pat00001

상기 데이터베이스에 저장되는 사용자 정보는, [표 1]과 같이, 사용자의 분산식별자(DID), 사용자 정보의 관리 시작 시간(createdTime), 사용자 정보의 마지막 업데이트 시간(updatedTime), 사용자 정보의 유효 기간(validTime), 사용자의 성(sn)과 이름(cn), 성별(gender), 생년월일(brith), 사는 곳(country), 주소(address), 현재 직업(job), Email, 전화번호(contact), 프로필 사진, 취미(hobby), 학력(education), 경력(career) 등이 저장된다.The user information stored in the database is, as shown in [Table 1], the user's distributed identifier (DID), the management start time of the user information (createdTime), the last updated time of the user information (updatedTime), the validity period of the user information ( validTime), user's last name (sn) and first name (cn), gender (gender), date of birth (brith), country of residence (country), address (address), current job (job), Email, phone number (contact), Profile pictures, hobbies, education, career, etc. are stored.

이러한 사용자 정보들은 DID 기반의 사용자 요청을 통해 저장되거나 업데이트 될 수 있다. InfoDID 서버(210)에서 사용자의 정보를 저장(업데이트)하는 과정은 다음과 같다.Such user information can be stored or updated through DID-based user requests. The process of storing (updating) user information in the InfoDID server 210 is as follows.

먼저, 사용자 단말(240)은 InfoDID 서버(210)에 저장(업데이트)할 자신의 정보와 자신의 신원을 증명하기 위한 사용자 인증 정보를 보낸다(도 2의 ①).First, the user terminal 240 sends its own information to be stored (updated) in the InfoDID server 210 and user authentication information for proving its own identity (① in FIG. 2).

여기서, 사용자 인증 정보는, 사용자 단말(240)의 DID와, DID 문서에 저장된 공개키의 대칭키인 비밀키(Private key)로 사용자 정보를 서명하여 만든 시그니처값, 그리고 시그니처값을 복호화할 수 있는 사용자 DID 문서의 공개키에 대한 공개키아이디(Public Key ID)가 포함된다.Here, the user authentication information includes the DID of the user terminal 240, a signature value created by signing user information with a private key that is a symmetric key of a public key stored in the DID document, and a signature value that can decrypt the signature value. The public key ID for the public key of the user DID document is included.

다음으로, InfoDID 서버(210)는 사용자 단말(240)로부터 받은 사용자 인증 정보 내 DID에 해당하는 DID 문서를 DID 레지스트리(230)에서 가져온다(도 2의 ②). 이 DID 문서는 개인항목(Privacy)을 포함하여 사용자 단말(240)에 의해 사전에 작성된 것일 수 있다.Next, the InfoDID server 210 retrieves the DID document corresponding to the DID in the user authentication information received from the user terminal 240 from the DID registry 230 (② in FIG. 2). This DID document may be prepared in advance by the user terminal 240 including privacy.

다음으로, InfoDID 서버(210)는 가져온 사용자 단말(240)의 DID 문서에서 사용자 인증 정보의 공개키아이디를 사용하여 공개키를 추출한 뒤, 대칭키 암호의 복호화 과정을 거쳐 사용자 인증 정보의 시그니처값이 유효한지 검증한다(도 2의 ③). 이 과정을 통해 InfoDID 서버(210)는 사용자 정보의 저장을 요청한 사용자 단말(240)의 신원 인증을 수행하고, 사용자 정보가 사용자 단말(240)로부터 전달되어 오는 과정에서 위조 또는 변조되었는지 여부를 확인할 수 있다.Next, the InfoDID server 210 extracts the public key using the public key ID of the user authentication information from the imported DID document of the user terminal 240, and then decrypts the symmetric key encryption to obtain a signature value of the user authentication information. Validate whether it is valid (3 in Fig. 2). Through this process, the InfoDID server 210 performs identity authentication of the user terminal 240 that has requested storage of user information, and confirms whether the user information has been forged or tampered with in the process of being transmitted from the user terminal 240. there is.

상기 사용자 인증 정보의 시그니처값이 유효하다면, InfoDID 서버(210)는 사용자 단말(240)로부터 받은 사용자 정보를 선정된 암호화 기법에 의해 암호화하여, 연결된 데이터베이스에 저장(업데이트)한다(도 2의 ④).If the signature value of the user authentication information is valid, the InfoDID server 210 encrypts the user information received from the user terminal 240 by a selected encryption technique and stores (updates) it in the connected database (④ in FIG. 2). .

이후, InfoDID 서버(210)는 사용자 정보를 위변조 없이 저장(업데이트)했음을 보장하는 관리증명서(Management certificate)를 사용자 단말(240)에 발급한다(도 2의 ⑤). 또한, InfoDID 서버(210)는 사용자 단말(240)에 발급한 관리증명서를, 데이터베이스에도 보관하여, 데이터베이스에 저장한 사용자 정보를 이후에 다른 서비스에 전달할 때, 저장된 사용자 정보가 비정상적으로 변경되었는지 확인하는데 관리증명서를 이용할 수 있다.Thereafter, the InfoDID server 210 issues a management certificate to the user terminal 240 to ensure that the user information has been stored (updated) without forgery or alteration (⑤ in FIG. 2). In addition, the InfoDID server 210 also stores the management certificate issued to the user terminal 240 in the database, and when forwarding the user information stored in the database to other services later, checks whether the stored user information has been abnormally changed management certificate is available.

여기서, 사용자 단말(240)에 발급되는 관리증명서는, 사용자의 DID, 사용자가 보내온 사용자 인증 정보의 시그니처값(User signature), 사용자 정보의 최근 처리 타입(저장 또는 업데이트), 현재 저장된 모든 사용자 정보(Informations), InfoDID 서버(210)의 DID, InfoDID 서버(210)가 발급하는 관리증명서의 시그니처값을 복호화할 수 있는 DID 문서의 공개키아이디, 보증서 생성 시간(Created time), 그리고 앞서 기술한 모든 항목을 InfoDID 서버(210)의 비밀키로 서명한 시그니처값으로 구성된다.Here, the management certificate issued to the user terminal 240 includes the user's DID, the signature value of the user authentication information sent by the user (User signature), the latest processing type of user information (save or update), all currently stored user information ( Information), the DID of the InfoDID server 210, the public key ID of the DID document that can decrypt the signature value of the management certificate issued by the InfoDID server 210, the certificate creation time (Created time), and all items described above It is composed of a signature value signed with the secret key of the InfoDID server 210.

사용자 단말(240)은 DID 레지스트리(230)에서 InfoDID 서버(210)의 DID 문서를 가져와서, 발급받은 관리증명서의 시그니처값의 유효성을 검증한다(도 2의 ⑥). 이를 통해, 사용자 단말(240)은 InfoDID 서버(210)에서 사용자 정보를 임의로 변경하지 않고 원본 그대로 저장(업데이트)하였음을 확인할 수 있다.The user terminal 240 retrieves the DID document of the InfoDID server 210 from the DID registry 230 and verifies the validity of the signature value of the management certificate issued (⑥ in FIG. 2). Through this, the user terminal 240 can confirm that the user information in the InfoDID server 210 has been stored (updated) as the original without being arbitrarily changed.

그 후, 사용자 단말(240)은 발급받은 관리증명서를 자신의 DID 문서에 등록된 첫 번째 공개키로 암호화하고, 암호화된 값을 해시 함수인 Keccak-256을 통해 해시하여, 자신의 DID 문서에 있는 개인항목(Privacy)에 저장하여 보관한다(도 2의 ⑦). 사용자 단말(240)의 DID 문서에 저장된 개인항목의 값은 오직 사용자의 비밀키에 의해서만 복호화될 수 있다.After that, the user terminal 240 encrypts the issued management certificate with the first public key registered in its own DID document, hashes the encrypted value through the hash function Keccak-256, and It is saved and stored in the item (Privacy) (⑦ in Fig. 2). The value of the personal item stored in the DID document of the user terminal 240 can be decrypted only by the user's private key.

이를 정리하면, 사용자 단말(240)에서 자신의 신원을 증명하기 위한 사용자 인증 정보(사용자 DID, 사용자 정보를 서명한 시그니처값, 공개키아이디)와, 저장/업데이트하려는 자신의 사용자 정보를 InfoDID 서버(210)로 보내면, InfoDID 서버(210)는 사용자 DID를 이용해, DID 레지스트리(230)에서 가져온 사용자 DID 문서에서 공개키를 추출한 후, 이 공개키로 사용자가 보낸 사용자 인증 정보의 시그니처값을 복호화해서 유효성 검증하고, 이를 통해 사용자 신원 인증과 사용자 정보가 전달되는 과정에서 위조/변조되지 않았음이 확인되면, 데이터베이스에 사용자 정보를 저장/업데이트 할 수 있고, 사용자 정보의 위조/변조 없는 저장(업데이트)을 보장하는 관리증명서를 사용자 단말(240)에 발급하는 동시에, 발급한 관리증명서를 InfoDID 서버(210)와 연결된 데이터베이스에도 보관하여, 이후에 데이터베이스에 저장된 사용자 정보를 다른 서비스에 전달할 때, 비정상적인 변경이 있었는지 확인하는데 관리증명서를 활용할 수 있다.In summary, the user authentication information (user DID, signature value for signing user information, public key ID) and user information to be stored/updated are stored in the user terminal 240 to the InfoDID server ( 210), the InfoDID server 210 extracts the public key from the user DID document obtained from the DID registry 230 using the user DID, and then decrypts the signature value of the user authentication information sent by the user with the public key to verify validity. and, through this, if it is confirmed that the user information is not forged/falsified in the course of user identity authentication and transmission, the user information can be stored/updated in the database, and the storage (update) of the user information without forgery/falsification is guaranteed. At the same time as issuing the management certificate to the user terminal 240, the issued management certificate is also stored in the database connected to the InfoDID server 210, and later when the user information stored in the database is transmitted to other services, whether there is an abnormal change Management certificates can be used for verification.

도 3은 본 발명에 따른 DID 기반의 사용자 정보 관리 서비스 제공 시스템에서, 확장된 DID 레지스트리에 기록되는 DID 문서를 도시한 도면이다.3 is a diagram illustrating a DID document recorded in an extended DID registry in the DID-based user information management service providing system according to the present invention.

도 3을 참조하면, 본 발명에 따른 사용자 정보 관리 서비스 제공 시스템은, 이더리움 블록체인에서 관리하는 확장된 형태의 DID 레지스트리(330)에 사용자 단말(310)에 의해 작성된 DID 문서(340)를 기록하고, 이후, 사용자 단말(310)에서 사용자 정보를 저장(업데이트)하려는 경우, InfoDID 서버(320)에서는 DID 레지스트리(330)에서 가져온 사용자 단말(310)의 DID 문서(340)를 이용해 사용자 단말(310)의 신원 인증을 수행할 수 있다.Referring to FIG. 3, the user information management service providing system according to the present invention records the DID document 340 created by the user terminal 310 in the extended DID registry 330 managed by the Ethereum blockchain. Then, when the user terminal 310 wants to store (update) user information, the InfoDID server 320 uses the DID document 340 of the user terminal 310 retrieved from the DID registry 330 to access the user terminal 310. ) can perform identity authentication.

InfoDID 서버(320)에서 제공하는 사용자 정보 관리 서비스(InfoDID)는 모두 DID(분산식별자)를 기반으로 동작하기 때문에, InfoDID 서버(320)에서는 사용자 정보의 위변조를 방지하기 위한 정보를 담을 수 있는 W3C의 DID 표준 규격을 확장한 DID 레지스트리(330)를 이용하고 있다.Since the user information management service (InfoDID) provided by the InfoDID server 320 operates based on DID (Distributed Identifier), the InfoDID server 320 provides W3C's information to prevent forgery and alteration of user information. A DID registry 330 extending the DID standard is used.

확장된 DID 레지스트리(330)에 저장되는 사용자 단말(310)의 DID 문서(340)는, 문서 주체의 분산 식별자(DID), 해당 DID 문서의 편집 권한을 가진 주체인 컨트롤러(Controller List) 리스트, 신원 증명에 사용되는 비대칭 암호화의 공개키 리스트(Public Key List), 해당 DID 문서 주체와 상호작용하는 서비스 리스트(Service List), 그리고 DID 문서의 작성 주체의 개인정보를 보관하기 위한 항목인 개인항목(Privacy)(350), 임시값(Nonce)을 포함한다.The DID document 340 of the user terminal 310 stored in the expanded DID registry 330 includes a distributed identifier (DID) of the subject of the document, a list of controllers (Controller List) that is a subject having editing rights for the corresponding DID document, and an identity A public key list of asymmetric encryption used for proof (Public Key List), a service list (Service List) that interacts with the corresponding DID document subject, and a personal item (Privacy ) 350, including a temporary value (Nonce).

여기서 개인항목(350)은, 종래의 DID 문서에 추가된 항목으로서, 사용자가 발급받은 관리증명서를 보관하는데 이용될 수 있다.Here, the personal item 350 is an item added to the conventional DID document and can be used to store the management certificate issued by the user.

또한, DID 문서(340)에서 임시값(Nonce)은, 문서 주체가 문서의 편집 작업을 시그니처값을 통해 진행할 때 사용되는 값으로, 문서에서 편집 작업이 완료될 때마다 문서의 임시값은 순차적으로 증가한다.In addition, in the DID document 340, the temporary value (Nonce) is a value used when the document subject proceeds with the editing operation of the document through the signature value, and each time the editing operation is completed in the document, the temporary value of the document is sequentially It increases.

DID 문서(340)는 문서 주체인 사용자 단말(310)이 자신의 시그니처값을 직접 사용하여 문서에 대한 작성/항목 편집을 진행할 수도 있고, 문서 주체가 아닌 타인에게 자신의 시그니처값을 전달하여 문서에 대한 작성/항목 편집을 진행할 수도 있다.In the DID document 340, the user terminal 310, which is the subject of the document, can directly use its own signature value to create/edit items on the document, or transmit its signature value to someone other than the document subject to create a document. You can also proceed to create/edit items for.

도 4a 및 도 4b는 본 발명에 따른 DID 기반의 사용자 정보 관리 서비스 제공 시스템에서, 사용자 단말의 DID 문서를 이용한 신원 인증(DID 인증) 절차를 도시한 도면이다.4A and 4B are diagrams illustrating an identity authentication (DID authentication) procedure using a DID document of a user terminal in the DID-based user information management service providing system according to the present invention.

도 4a에 도시된 DID 인증 절차에 따르면, 먼저, DID 사용자(User)는 infoDID 서비스를 제공받기 위하여, 비대칭 암호화 방식의 비밀키(Private key)가 저장된 개인 모바일 단말기나 브라우저를 통해 자신의 DID가 담긴 사용자 요청을 서비스에게 보낸다(도 4a의 step 1).According to the DID authentication procedure shown in FIG. 4A, first, in order to receive the infoDID service, a DID user stores his or her DID through a personal mobile terminal or browser in which a private key of an asymmetric encryption method is stored. A user request is sent to the service (step 1 in FIG. 4A).

사용자 요청을 수취한 infoDID 서버는, 사용자 DID를 이용하여 DID 레지스트리에 저장된 사용자 DID 문서에서 사용자 공개키를 가져오고(도 4a의 step 2), 신원 인증에 필요한 값을 암호화하여 사용자에게 보낸다(DID 인증: Challenge)(도 4a의 step 3).Upon receiving the user request, the infoDID server retrieves the user public key from the user DID document stored in the DID registry using the user DID (step 2 in FIG. 4a), encrypts the value required for identity authentication, and sends it to the user (DID authentication). : Challenge) (step 3 in Fig. 4a).

infoDID 서버로부터 암호화된 값을 받은 DID 사용자는, 자신의 비밀키를 통해 해당 값을 복호화하고 서비스에게 다시 보내 신원 인증 요청에 응답한다(DID 인증: Response)(도 4a의 step 4).The DID user who receives the encrypted value from the infoDID server decrypts the value using his/her private key and sends it back to the service to respond to the identity authentication request (DID authentication: Response) (step 4 in FIG. 4A).

그러면, infoDID 서버는 사용자가 보낸 복호화된 인증값이 유효한지 확인하여 사용자에 대한 신원 인증을 완료하고, 서비스를 제공하기 위한 채널을 만들어 사용자에게 서비스를 제공한다(도 4a의 step 5).Then, the infoDID server checks whether the decrypted authentication value sent by the user is valid, completes authentication of the user, and provides the service to the user by creating a channel for providing the service (step 5 in FIG. 4A).

상술한 도 4a의 DID 인증 절차에서는, infoDID 서버에서 신원 인증에 필요한 값을 암호화하여 사용자에게 보내는 Challenge(step 3)와, DID 사용자가 자신의 비밀키를 통해 복호화한 값을 수취해 신원 인증하는 Response(step 4)에 의해 DID 인증이 이루어지고 있는 반면, 후술하는 도 4b의 DID 인증 절차에서는, 이 두 단계를 생략하여 종래보다 간략화된 DID 인증을 수행하고 있다.In the DID authentication procedure of FIG. 4a described above, the infoDID server encrypts the value required for identity authentication and sends it to the user, and the DID user receives the value decrypted through his or her private key to authenticate the identity. Response While DID authentication is performed by (step 4), in the DID authentication procedure of FIG. 4B described later, these two steps are omitted and simplified DID authentication is performed.

구체적으로, 도 4b의 DID 인증 절차에서는, DID 사용자(User)가 자신의 DID가 담긴 사용자 요청을 서비스에게 보내면(도 4b의 step 1), 사용자 요청을 수취한 infoDID 서버는, 사용자 DID를 이용하여 DID 레지스트리에 저장된 사용자 DID 문서에서 사용자 공개키를 가져오고(도 4a의 step 2), 사용자 단말의 DID 문서에 기재된 공개키아이디로부터, 사용자 단말이 시그니처값 생성시 사용한 비밀키에 대칭되는 공개키를 추출하여 DID 사용자가 보낸 사용자 인증 정보의 서명값을 직접 검증하고(도 4b의 step 3), 서명값이 검증됨에 따라 사용자에 대한 신원 인증이 완료되면, 서비스를 제공하기 위한 채널을 만들어 사용자에게 서비스를 제공한다(도 4b의 step 5).Specifically, in the DID authentication procedure of FIG. 4b, when a DID user sends a user request containing his or her DID to the service (step 1 in FIG. 4b), the infoDID server that receives the user request uses the user DID A user public key is obtained from the user DID document stored in the DID registry (step 2 in FIG. 4a), and a public key that is symmetrical to the private key used when the user terminal generates a signature value is obtained from the public key ID written in the DID document of the user terminal. Extract and directly verify the signature value of the user authentication information sent by the DID user (step 3 in FIG. 4b), and when the identity authentication for the user is completed as the signature value is verified, a channel is created to provide the service to the user. Provides (step 5 in FIG. 4B).

즉, 도 4b의 간략화된 DID 인증 절차에 의해서는, DID 문서에서 가져온 값을 사용자에게 보내서 사용자의 비밀키로 복호화된 값을 받아낼 필요 없이, infoDID 서버에서 DID 문서의 공개키아이디에서 추출한 공개키로 서명값이 유효한지 직접 검증할 수 있기 때문에 신원 인증의 처리 속도를 향상시킬 수 있다.That is, according to the simplified DID authentication procedure of FIG. 4B, the infoDID server signs with the public key extracted from the public key ID of the DID document without the need to send the value taken from the DID document to the user and receive the decrypted value with the user's private key. Since the validity of the value can be directly verified, the processing speed of identity authentication can be improved.

도 5a 및 도 5b에서는 본 발명에 따른 DID 기반의 사용자 정보 관리 서비스 제공 시스템이 infoDID 서버(510)에 의해 구현되는 예를 설명한다.5A and 5B illustrate an example in which the DID-based user information management service providing system according to the present invention is implemented by the infoDID server 510.

도 5a는 본 발명에 따른 DID 기반의 사용자 정보 관리 서비스 제공 시스템에서, 사용자 정보의 전달 서비스 제공 과정을 설명하기 위한 도면이다.5A is a diagram for explaining a process of providing a user information delivery service in the DID-based user information management service providing system according to the present invention.

도 5a에는, 사용자 단말에서 사용자 정보 관리 서비스(infoDID) 외에 타 서비스(예, '은행 서비스')를 이용하려는 경우, 타 서비스를 제공하는 서비스 서버(520)에서 필요로 하는 사용자 정보를 infoDID 서버(510)에서 전달하는 과정이 도시된다.In FIG. 5A, when a user terminal wants to use other services (eg, 'banking service') in addition to the user information management service (infoDID), the user information required by the service server 520 providing other services is sent to the infoDID server ( In 510), the process of delivery is shown.

도 5a를 참조하면, 사용자 단말에서 이용하고자 하는 타 서비스의 서비스 서버(520)로 자신의 사용자 인증 정보를 보내면(도 5a의 ①), 서비스 서버(520)에서는, 자신의 서비스 인증 정보를, 사용자 단말로부터 받은 사용자 인증 정보를 포함하여 생성하고, 이를 infoDID 서버(510)로 보내서, 사용자 단말에 관해 저장된 사용자 정보의 전달을 요청한다(도 5a의 ②).Referring to FIG. 5A, when a user terminal sends its own user authentication information to the service server 520 of another service to be used (① in FIG. 5A), the service server 520 sends its own service authentication information to the user. It is generated by including the user authentication information received from the terminal, and sent to the infoDID server 510 to request delivery of user information stored on the user terminal (2 in FIG. 5A).

여기서, 사용자 단말에 관한 사용자 인증 정보에는, 사용자 DID, 사용자 정보를 전달받을 서비스 서버(520)의 DID, 사용자 정보, 사용자 정보의 유효시간, 앞서 기술한 모든 항목을 비밀키로 서명한 시그니처값, 시그니처값을 복호할 수 있는 사용자 DID 문서의 공개키아이디 등이 포함될 수 있다.Here, the user authentication information for the user terminal includes the user DID, the DID of the service server 520 to receive the user information, the user information, the valid time of the user information, a signature value obtained by signing all the items described above with the secret key, and the signature. A public key ID of a user DID document whose value can be decrypted may be included.

또한, 서비스 서버(520)에 관한 서비스 인증 정보에는, 서비스 서버(520)의 DID, 사용자 단말로부터 받은 사용자 인증 정보, 서비스 서버(520)의 비밀키로 앞서 기술한 두 값을 서명한 시그니처값, 시그니처값을 복호화하기 위한 서비스 서버(520)의 공개키아이디 등이 포함될 수 있다.In addition, the service authentication information for the service server 520 includes the DID of the service server 520, the user authentication information received from the user terminal, a signature value obtained by signing the above two values with the private key of the service server 520, and a signature. A public key ID of the service server 520 for decrypting a value may be included.

서비스 서버(520)로부터 사용자 정보의 전달을 요청받은 infoDID 서버(510)는, 각 주체의 DID를 이용하여, 서비스 서버(520)의 DID 문서와 사용자 단말의 DID 문서를 DID 레지스트리(530)에서 각각 가져온다(도 5a의 ③)The infoDID server 510, which has received a request for delivery of user information from the service server 520, uses the DID of each subject to store the DID document of the service server 520 and the DID document of the user terminal in the DID registry 530, respectively. Bring (③ in Fig. 5a)

infoDID 서버(510)는, 서비스 서버(520)의 DID 문서를 이용해, 서비스 인증 정보 내 서비스 서버(520)의 서명값의 유효성을 검증하고, 사용자 단말의 DID 문서를 이용해, 검증된 서비스 인증 정보에서 추출한 사용자 인증 정보 내 서명값의 유효성을 검증할 수 있다(도 5a의 ④).The infoDID server 510 verifies the validity of the signature value of the service server 520 in the service authentication information using the DID document of the service server 520, and uses the DID document of the user terminal in the verified service authentication information. The validity of the signature value in the extracted user authentication information can be verified (④ in FIG. 5A).

Figure 112021061273444-pat00002
Figure 112021061273444-pat00002

[표 2]는 서비스 서버(520)로부터 수신된 서비스 인증 정보를 infoDID 서버(510)에서 처리하는 절차를 도시한 코드 일례이다. infoDID 서버(510)는 서비스 서버(520)로부터 받은 서비스 인증 정보를 수취하면, [표 2]에 있는 line 1~6에 따라, 사용자 단말에 대한 신원 인증, '은행 서비스'를 제공하는 서비스 서버(520)에 대한 신원 인증, 서비스 서버(520)에서 사용자 정보를 읽는 기능에 대한 사용자 승인 여부를 확인할 수 있다.[Table 2] is a code example illustrating a procedure for processing service authentication information received from the service server 520 in the infoDID server 510. When the infoDID server 510 receives the service authentication information received from the service server 520, according to lines 1 to 6 in [Table 2], the service server that provides identity authentication and 'bank service' for the user terminal 520), it is possible to check whether the user approves the function of reading user information from the service server 520.

위 과정에 의해 서비스 서버(520)와 사용자 단말에 대한 모든 검증이 완료되면, infoDID 서버(510)는 데이터베이스에 저장된 사용자 정보를 사용자 단말에 전달하고, 서비스 서버(520)로의 사용자 정보 제공 기록을 데이터베이스에 기록한다(도 5a의 ⑤).When all verification of the service server 520 and the user terminal is completed by the above process, the infoDID server 510 transfers the user information stored in the database to the user terminal, and records the user information provided to the service server 520 to the database. (⑤ in Fig. 5a).

이때, infoDID 서버(510)는 데이터베이스에 저장된 사용자 정보를 사용자 단말에 전달하기 전에, 사용자 단말의 DID 문서에 저장된 관리증명서와 데이터베이스에 저장된 관리증명서가 일치하는지 비교하여, 데이터베이스에 저장된 사용자 정보에 사용자의 승인 없는 비정상적인 변경이 없는지를 확인할 수 있다. 예를 들면, InfoDID 서버는 해당 사용자에게 마지막으로 발급해준 관리보증서사용자 DID 문서의 첫 번째 공개키로 암호화하고 Keccak-256으로 해시한 값이 사용자 DID 문서에 저장된 Privacy 항목의 값과 같은지 비교할 수 있다. 이를 통해 사용자 정보에 변경이 없는 것으로 확인되면 infoDID 서버(510)는 사용자 정보를 전달할 수 있다.At this time, the infoDID server 510 compares whether the management certificate stored in the DID document of the user terminal matches the management certificate stored in the database before transferring the user information stored in the database to the user terminal. It can be checked that there are no abnormal changes without approval. For example, the InfoDID server can encrypt the last issued management certificate to the corresponding user with the first public key of the user's DID document and compare whether the value hashed with Keccak-256 is the same as the value of the Privacy item stored in the user's DID document. If it is confirmed that there is no change in the user information through this, the infoDID server 510 may deliver the user information.

서비스 서버(520)에서는, infoDID 서버(510)에 의해 전달된 사용자 정보를 저장할 때, DID 레지스트리에 기록된 사용자의 DID 문서 중 개인항목(Privacy)에 저장되어 있는 관리증명서를 가져오고, 이후 주기적으로 DID 레지스트리에 기록된 사용자의 DID 문서에서 다시 가져온 관리증명서를 처음에 가져온 관리증명서와 비교해서, 사용자 정보의 갱신 조건이 성립하는지 확인한다(도 5a의 ⑥).When the service server 520 stores the user information transmitted by the infoDID server 510, it retrieves the management certificate stored in the privacy of the user's DID documents recorded in the DID registry, and periodically thereafter. The management certificate retrieved from the user's DID document recorded in the DID registry is compared with the management certificate brought back to confirm whether the user information renewal condition is met (⑥ in FIG. 5A).

양 관리증명서가 일치하지 않으면, 서비스 서버(520)에서는, infoDID 서버(510)에서 관리하는 데이터베이스에 저장된 사용자 정보에 업데이트가 생긴 것으로 보고, infoDID 서버(510)에 사용자 정보의 갱신을 요청할 수 있다. 도 5b에는 최신의 사용자 정보를 제공하기 위한 과정이 도시된다.If both management certificates do not match, the service server 520 considers that the user information stored in the database managed by the infoDID server 510 has been updated, and requests the infoDID server 510 to update the user information. 5B shows a process for providing up-to-date user information.

도 5b는 본 발명에 따른 DID 기반의 사용자 정보 관리 서비스 제공 시스템에서, 최신의 사용자 정보를 제공하기 위한 과정을 설명하기 위한 도면이다.5B is a diagram for explaining a process for providing up-to-date user information in the DID-based user information management service providing system according to the present invention.

도 5b를 참조하면, 서비스 서버(520)는 사용자 단말의 DID를 이용해 현시점에 사용자 DID 문서에서 Privacy 항목값(관리증명서)을 가져오고, 이를 infoDID 서버(510)에 의해 사용자 정보가 전달될 때 사용자 DID 문서에서 가져온 Privacy 항목값(관리증명서)과 비교하여, 두 관리증명서가 일치하는지 확인한다(도 5b의 ①).Referring to FIG. 5B, the service server 520 retrieves the Privacy item value (management certificate) from the user DID document at the current time using the DID of the user terminal, and when user information is transmitted by the infoDID server 510, the user Compare it with the Privacy item value (management certificate) brought from the DID document, and check whether the two management certificates match (① in Fig. 5b).

두 관리증명서가 일치하면, 서비스 서버(520)는 현재 해당 사용자에 대한 최신의 사용자 정보를 보유한 상태로 판단할 수 있다.If the two management certificates match, the service server 520 may determine that the latest user information for the current user is held.

두 관리증명서가 다르면, 서비스 서버(520)는 사용자 정보의 갱신이 필요한 것으로 판단하고, infoDID 서버(510)로 자신의 서비스 인증 정보를 보내, 업데이트된 사용자 정보의 전달을 요청한다(도 5b의 ②).If the two management certificates are different, the service server 520 determines that user information needs to be updated, sends its own service authentication information to the infoDID server 510, and requests delivery of the updated user information (2 in FIG. 5B). ).

infoDID 서버(510)는, 서비스 서버(520)의 DID 문서를 DID 레지스트리에서 가져와 서비스 서버(520)에서 보내온 서비스 인증 정보 내 서명값의 유효성을 검증하고(도 5b의 ③), 사용자 단말의 DID 문서를 DID 레지스트리에서 가져와 상기 서비스 인증 정보에서 추출한 사용자 인증 정보 내 서명값의 유효성을 검증하고(도 5b의 ④), 추가적으로 서비스 서버(520)에서 사용자 정보를 읽는 기능에 대한 사용자 승인 여부를 확인한다(도 5b의 ⑤).The infoDID server 510 retrieves the DID document of the service server 520 from the DID registry and verifies the validity of the signature value in the service authentication information sent from the service server 520 (③ in FIG. 5B), and the DID document of the user terminal. from the DID registry to verify the validity of the signature value in the user authentication information extracted from the service authentication information (④ in FIG. ⑤ in Fig. 5b).

이후, infoDID 서버(510)는 데이터베이스에 업데이트된 사용자 정보를 서비스 서버(520)로 전달하고 업데이트된 사용자 정보의 전달 기록을 데이터베이스에 생성한다(도 5b의 ⑥).Thereafter, the infoDID server 510 transmits user information updated in the database to the service server 520 and creates a delivery record of the updated user information in the database (⑥ in FIG. 5B).

이러한 과정에 의해, 서비스 서버(520)는 항상 최신의 사용자 정보에 기초해서 사용자에게 유용한 서비스를 제공할 수 있고, 사용자 단말은 자신이 이용 중인 여러 서비스 서버(520)에 일일이 방문해 사용자 정보를 수정할 필요가 없게 된다.Through this process, the service server 520 can always provide useful services to the user based on the latest user information, and the user terminal needs to visit the various service servers 520 that it is using and correct the user information. there will be no

도 6a 및 도 6b는 본 발명에 따른 DID 기반의 사용자 정보 관리 서비스 제공 방법의 순서를 도시한 흐름도이다.6A and 6B are flowcharts illustrating a sequence of a method for providing a DID-based user information management service according to the present invention.

본 실시예들에 따른 DID 기반의 사용자 정보 관리 서비스 제공 방법은, 도 1에서 설명한 사용자 정보 관리 서비스 제공 시스템(100)에 의해 수행될 수 있고, 상술한 사용자 정보 관리 서비스 제공 시스템(100)은, 도 5a 및 도 5b에서 설명한 infoDID 서버(510)에 의해 구현될 수 있다.The DID-based user information management service providing method according to the present embodiments may be performed by the user information management service providing system 100 described in FIG. 1, and the above-described user information management service providing system 100, It can be implemented by the infoDID server 510 described in FIGS. 5A and 5B.

도 6a에는 사용자 정보의 신뢰성 있는 저장/업데이트의 처리 과정이 도시되고, 도 6b에는 저장/업데이트된 사용자 정보의 타 서비스 전달 처리 과정이 도시된다.FIG. 6A shows a process of reliable storage/update of user information, and FIG. 6B shows a process of delivering other services of stored/updated user information.

먼저 도 6a를 참조하면, 단계(601)에서, 사용자 정보 관리 서비스 제공 시스템(100)은 infoDID 서비스를 이용하는 사용자 단말에서 정보 저장 요청이 발생하는지 확인한다.First, referring to FIG. 6A , in step 601, the user information management service providing system 100 checks whether an information storage request occurs in a user terminal using the infoDID service.

정보 저장 요청의 발생에 따라, 단계(602)에서, 사용자 정보 관리 서비스 제공 시스템(100)은 블록체인의 DID 레지스트리에 기록된 사용자 단말의 DID 문서를 로딩하여, 사용자 인증 정보를 검증한다.According to the occurrence of the information storage request, in step 602, the user information management service providing system 100 loads the DID document of the user terminal recorded in the DID registry of the blockchain to verify the user authentication information.

사용자 인증 정보의 검증으로 사용자 단말의 신원이 인증되면, 단계(603)에서, 사용자 정보 관리 서비스 제공 시스템(100)은 사용자 단말에서 저장하려는 사용자 정보를 검증된 사용자 인증 정보에서 추출한다.When the identity of the user terminal is authenticated by verifying the user authentication information, in step 603, the user information management service providing system 100 extracts user information to be stored in the user terminal from the verified user authentication information.

단계(604)에서, 사용자 정보 관리 서비스 제공 시스템(100)은 추출한 사용자 정보를 스토리지에 저장/업데이트한다(사용자 정보 저장 서비스 제공). 여기서, 상기 사용자 정보가 유지되는 스토리지는, 예를 들면, infoDID 서버(510)에서 관리하는 LDAP 기반의 데이터베이스로 구현될 수 있다.In step 604, the user information management service providing system 100 stores/updates the extracted user information in storage (provides user information storage service). Here, the storage in which the user information is maintained may be implemented as an LDAP-based database managed by the infoDID server 510, for example.

상기 사용자 정보의 저장 후에, 단계(605)에서 사용자 정보 관리 서비스 제공 시스템(100)은 상기 사용자 단말에서 보낸 사용자 정보가 위조나 변조 없이 그대로 저장되었음을 보장하는 관리증명서를 상기 사용자 단말에 발급하고, 발급한 관리증명서를 스토리지에 보관한다.After the user information is stored, in step 605, the user information management service providing system 100 issues a management certificate to the user terminal to ensure that the user information sent from the user terminal is stored as it is without forgery or alteration, and issuance A management certificate is kept in storage.

이후, 사용자 정보 관리 서비스 제공 시스템(100)은 상기 사용자 단말의 요청에 의해 상기 스토리지에 저장된 사용자 정보가 업데이트될 때마다, 상기 사용자 단말에서 보낸 사용자 정보가 위조나 변조 없이 그대로 저장되어 업데이트되었음을 보장하는 관리증명서를 사용자 단말에 재발급하고, 업데이트된 사용자 정보와 함께, 재발급한 관리증명서를 스토리지에 보관할 수 있다.Thereafter, the user information management service providing system 100 ensures that whenever the user information stored in the storage is updated at the request of the user terminal, the user information sent from the user terminal is stored and updated as it is without forgery or falsification. The management certificate may be reissued to the user terminal, and the reissued management certificate may be stored in storage along with updated user information.

단계(606)에서, 사용자 단말은 발급받은 관리증명서를 DID 레지스트리에 기록된 DID 문서의 개인항목(Privacy)에 보관하여, 추후, 타 서비스로의 사용자 정보 전달 시 사용되게 한다.In step 606, the user terminal stores the issued management certificate in the privacy of the DID document recorded in the DID registry, so that it is used later when transferring user information to other services.

단계(607)에서, 사용자 정보 관리 서비스 제공 시스템(100)은 사용자 단말에 관한 사용자 정보를 스토리지에 저장한 이후, 사용자 단말로부터 정보 업데이트 요청이 발생하는지 확인하고, 정보 업데이트 요청의 발생 시, 상술한 단계(602 내지 606)의 과정을 반복하여, 스토리지에 저장된 사용자 정보를 업데이트 한다.In step 607, the user information management service providing system 100 stores the user information about the user terminal in the storage, then checks whether an information update request occurs from the user terminal, and when the information update request occurs, the above-mentioned By repeating the process of steps 602 to 606, the user information stored in the storage is updated.

도 6b를 참조하면, 단계(608)에서, 사용자 정보 관리 서비스 제공 시스템(100)은 사용자 단말에서 타 서비스(예, '은행 서비스')의 이용 요청이 발생하는지 확인한다.Referring to FIG. 6B , in step 608, the user information management service providing system 100 checks whether a request for use of another service (eg, 'bank service') occurs in the user terminal.

사용자 단말에서 타 서비스의 이용 요청이 발생하는 경우, 단계(609)에서, 사용자 정보 관리 서비스 제공 시스템(100)은 타 서비스와 연관된 서비스 서버의 DID 문서를 DID 레지스트리에서 가져와 서비스 인증 정보를 검증하여, 서비스 서버의 신원을 인증한다.When a request for use of another service occurs in the user terminal, in step 609, the user information management service providing system 100 retrieves the DID document of the service server associated with the other service from the DID registry and verifies the service authentication information, Authenticate the identity of the service server.

서비스 서버의 신원이 인증되면, 단계(610, 611)에서, 사용자 정보 관리 서비스 제공 시스템(100)은 서비스 인증 정보에 포함된 사용자 인증 정보를 추출하고, 추출된 사용자 인증 정보를 사용자 단말의 DID 문서를 이용해 검증하여, 사용자 단말의 신원을 인증한다.When the identity of the service server is authenticated, in steps 610 and 611, the user information management service providing system 100 extracts user authentication information included in the service authentication information, and converts the extracted user authentication information to the DID document of the user terminal. By verifying using , the identity of the user terminal is authenticated.

사용자 단말의 신원이 인증되면, 단계(612)에서, 사용자 정보 관리 서비스 제공 시스템(100)은, 스토리지에서 사용자 정보를 리드해 서비스 서버로 전달한다(사용자 정보 전달 서비스 제공).If the identity of the user terminal is authenticated, in step 612, the user information management service providing system 100 reads the user information from the storage and delivers it to the service server (providing a user information delivery service).

이때, 상기 사용자 정보를 전달받은 서비스 서버에서는, 블록체인의 DID 레지스트리에서 사용자의 DID 문서를 로딩하여, 로딩한 DID 문서의 개인항목에 저장된 관리증명서(이하, 제1 관리증명서)를, 전달된 사용자 정보와 함께 서비스 서버에서 관리하는 데이터베이스에 저장한다. 상기 제1 관리증명서는, 상기 스토리지에서 사용자 정보의 업데이트가 발생했는지, 사용자 정보의 갱신 조건이 성립하는지 확인할 때의 기준으로 사용될 수 있다.At this time, the service server that received the user information loads the user's DID document from the blockchain's DID registry, and transfers the management certificate (hereinafter referred to as the first management certificate) stored in the personal item of the loaded DID document to the delivered user. It is stored along with information in the database managed by the service server. The first management certificate may be used as a criterion for determining whether an update of user information has occurred in the storage and whether a condition for updating user information is satisfied.

단계(613)에서, 사용자 정보가 전달된 각 서비스 서버는, 블록체인의 DID 레지스트리에서 사용자의 DID 문서를 주기적으로 재로딩하여, 재로딩한 DID 문서의 개인항목에 저장된 관리증명서(이하, 제2 관리증명서)를 상기 제1 관리증명서와 일치하는지 비교하여, 사용자 정보의 갱신 조건이 성립하는지 확인한다.In step 613, each service server to which the user information is delivered periodically reloads the user's DID document in the DID registry of the blockchain, and the management certificate stored in the personal item of the reloaded DID document (hereinafter, the second management certificate) is compared with the first management certificate, and it is confirmed whether a condition for updating user information is met.

즉, 주기적으로 가져온 제2 관리증명서가 상기 제1 관리증명서와 일치하면, 서비스 서버는, 현재 데이터베이스에 저장된 사용자 정보가 최신의 사용자 정보인 것으로 확인한다(단계(613)에서 No).That is, if the second management certificate periodically retrieved matches the first management certificate, the service server confirms that the user information currently stored in the database is the latest user information (No in step 613).

한편, 주기적으로 가져온 제2 관리증명서가 상기 제1 관리증명서와 일치하지 않으면, 서비스 서버는, 상기 스토리지에서 사용자 정보가 업데이트되어 제2 관리증명서가 재발급된 것으로 판단하고, 현재 데이터베이스에 저장된 사용자 정보에 갱신이 필요한 것으로 확인한다(단계(613)에서 Yes).On the other hand, if the second management certificate periodically retrieved does not match the first management certificate, the service server determines that the second management certificate has been reissued as the user information is updated in the storage, and the user information currently stored in the database It is confirmed that renewal is necessary (Yes in step 613).

이처럼 양 관리증명서가 서로 달라서, 현재 데이터베이스에 저장된 사용자 정보의 갱신 조건이 성립하면, 서비스 서버는, 업데이트된 사용자 정보의 전달 요청을 발생하고, 상기 전달 요청에 응답하여 사용자 정보 관리 서비스 제공 시스템(100)은 상기 스토리지에 업데이트된 최신의 사용자 정보를 서비스 서버로 전달한다(최신의 사용자 정보 제공)(단계(614)).In this way, when the two management certificates are different from each other and the renewal condition of the user information currently stored in the database is met, the service server generates a transmission request for the updated user information, and in response to the transmission request, the user information management service providing system (100 ) transfers the latest user information updated to the storage to the service server (providing the latest user information) (step 614).

이와 같이 본 발명에 의하면, 사용자 정보 관리 서비스(InfoDID)의 실행에 의해, 도 6a 및 도 6b에서 설명한 단계(601 내지 614)를 수행하여, 사용자 정보의 저장, 업데이트, 타 서비스로의 제공을 구현할 수 있다.As described above, according to the present invention, by executing the user information management service (InfoDID), by performing the steps 601 to 614 described in FIGS. 6A and 6B, it is possible to implement the storage, update, and provision of user information to other services. can

따라서, 본 발명에서는, 이더리움 블록체인의 스마트 컨트랙트로 개발된 DID 레지스트리와의 연계를 통해 DID 신원 인증 서비스에 활용하여, 사용자의 정보를 신뢰성 있게 관리하고 편리한 형태로 사용자가 자신의 정보를 다른 서비스에게 제공할 수 있게 된다.Therefore, in the present invention, it is utilized for the DID identity authentication service through linkage with the DID registry developed as a smart contract of the Ethereum blockchain to reliably manage the user's information and allow the user to transfer his or her information to other services in a convenient form. be able to provide

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program commands recorded on the medium may be specially designed and configured for the embodiment or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, which configures a processing device to operate as desired or processes independently or collectively. The device can be commanded. Software and/or data may be any tangible machine, component, physical device, virtual equipment, computer storage medium or device, intended to be interpreted by or provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave. Software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer readable media.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited drawings, those skilled in the art can apply various technical modifications and variations based on the above. For example, the described techniques may be performed in an order different from the method described, and/or the components of the described system, structure, device, circuit, etc. may be combined or combined in a different form than the method described, or other components may be used. Or even if it is replaced or substituted by equivalents, appropriate results can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims are within the scope of the following claims.

200: 사용자 정보 관리 서비스 제공 시스템
210: InfoDID 서버
220: 이더리움 퍼블릭 블록체인
230: DID 레지스트리
240: 사용자 단말
200: User information management service providing system
210: InfoDID server
220: Ethereum public blockchain
230: DID registry
240: user terminal

Claims (16)

DID 기반의 사용자 정보 관리 서비스를 이용 중인 사용자 단말에서, 타 서비스에 대한 이용 요청이 발생됨에 따라,
상기 타 서비스와 연관된 서비스 서버로부터 입력되는 서비스 인증 정보를, 블록체인의 DID 레지스트리에서 로딩한 상기 서비스 서버의 DID 문서를 이용해 검증하여, 상기 서비스 서버를 신원 인증하는 단계;
상기 서비스 서버가 신원 인증되면, 상기 사용자 단말에 관한 사용자 인증 정보를, 상기 DID 레지스트리에서 로딩한 상기 사용자 단말의 DID 문서를 이용해 검증하여, 상기 사용자 단말을 신원 인증하는 단계; 및
상기 사용자 단말이 신원 인증되면, 스토리지에서 상기 사용자 단말의 사용자 정보를 리드해 상기 서비스 서버에 전달함으로써, 상기 사용자 단말에서 상기 타 서비스를 이용하도록 하는 단계
를 포함하는 DID 기반의 사용자 정보 관리 서비스 제공 방법.
As a user terminal using the DID-based user information management service generates a request for use of other services,
verifying the service authentication information input from the service server related to the other service using the DID document of the service server loaded from the DID registry of the blockchain, thereby authenticating the identity of the service server;
if the service server is authenticated, verifying user authentication information about the user terminal using the DID document of the user terminal loaded from the DID registry, thereby authenticating the identity of the user terminal; and
When the user terminal is authenticated, reading user information of the user terminal from storage and transmitting the user information to the service server, so that the user terminal uses the other service.
DID-based user information management service providing method comprising a.
제1항에 있어서,
상기 서비스 인증 정보는,
상기 사용자 인증 정보를 상기 서비스 서버의 비밀키로 암호화한 시그니처값 및 상기 서비스 서버의 DID를 포함하고,
상기 서비스 서버를 신원 인증하는 단계는,
상기 서비스 서버의 DID를 이용하여, 상기 DID 레지스트리에 기록된 상기 서비스 서버의 DID 문서를 로딩하는 단계;
로딩한 상기 서비스 서버의 DID 문서에 기재된 공개키아이디로부터 상기 서비스 서버의 비밀키에 대칭되는 공개키를 생성하는 단계; 및
생성한 상기 서비스 서버의 공개키로 상기 서비스 인증 정보 내 시그니처값을 복호화하는 단계
를 포함하는 DID 기반의 사용자 정보 관리 서비스 제공 방법.
According to claim 1,
The service authentication information,
A signature value obtained by encrypting the user authentication information with a private key of the service server and a DID of the service server;
The step of authenticating the identity of the service server,
loading the DID document of the service server recorded in the DID registry using the DID of the service server;
generating a public key symmetrical to the private key of the service server from the public key ID written in the loaded DID document of the service server; and
Decrypting the signature value in the service authentication information with the generated public key of the service server
DID-based user information management service providing method comprising a.
제2항에 있어서,
상기 복호화된 시그니처값으로부터 상기 사용자 인증 정보가 추출되면,
상기 사용자 단말을 신원 인증하는 단계는,
상기 사용자 인증 정보에 포함된 상기 사용자 단말의 DID를 이용하여, 상기 DID 레지스트리에 기록된 상기 사용자 단말의 DID 문서를 로딩하는 단계;
로딩한 상기 사용자 단말의 DID 문서에 기재된 공개키아이디로부터 상기 사용자 단말의 비밀키에 대칭되는 공개키를 생성하는 단계; 및
생성한 상기 사용자 단말의 공개키로 상기 사용자 인증 정보에 포함된 상기 사용자 단말의 시그니처값을 복호화하는 단계
를 포함하는 DID 기반의 사용자 정보 관리 서비스 제공 방법.
According to claim 2,
When the user authentication information is extracted from the decrypted signature value,
The step of authenticating the identity of the user terminal,
loading the DID document of the user terminal recorded in the DID registry by using the DID of the user terminal included in the user authentication information;
generating a public key symmetrical to the private key of the user terminal from the public key ID described in the loaded DID document of the user terminal; and
Decrypting the signature value of the user terminal included in the user authentication information with the generated public key of the user terminal.
DID-based user information management service providing method comprising a.
제1항에 있어서,
상기 사용자 단말에서 정보 저장 요청이 발생됨에 따라,
상기 사용자 단말로부터 입력되는 제1 사용자 인증 정보를, 상기 DID 레지스트리에서 로딩한 상기 사용자 단말의 DID 문서를 이용해 검증하여, 상기 사용자 단말을 신원 인증하는 단계;
상기 사용자 단말이 신원 인증되면, 상기 제1 사용자 인증 정보로부터 상기 정보 저장 요청과 관련한 사용자 정보를, 추출하는 단계; 및
추출된 사용자 정보를 암호화하여, 상기 제1 사용자 인증 정보와 연관시켜 상기 스토리지에 저장함으로써, 상기 사용자 정보의 저장 서비스를 제공하는 단계
를 더 포함하는 DID 기반의 사용자 정보 관리 서비스 제공 방법.
According to claim 1,
As the information storage request occurs in the user terminal,
verifying first user authentication information input from the user terminal using the DID document of the user terminal loaded from the DID registry, thereby authenticating the identity of the user terminal;
extracting user information related to the information storage request from the first user authentication information when the user terminal is authenticated; and
Providing a storage service of the user information by encrypting the extracted user information and storing the extracted user information in the storage in association with the first user authentication information.
DID-based user information management service providing method further comprising a.
제4항에 있어서,
상기 사용자 정보의 저장 후에, 저장 완료를 알리는 관리증명서를 상기 사용자 단말에 발급하고, 상기 스토리지에 보관하는 단계
를 더 포함하고,
상기 사용자 단말은,
발급받은 상기 관리증명서가 포함되도록, 상기 DID 레지스트리에 기록된 상기 사용자 단말의 DID 문서를 갱신하는
DID 기반의 사용자 정보 관리 서비스 제공 방법.
According to claim 4,
After storing the user information, issuing a management certificate indicating storage completion to the user terminal and storing it in the storage
Including more,
The user terminal,
Updating the DID document of the user terminal recorded in the DID registry to include the issued management certificate
DID-based user information management service provision method.
제5항에 있어서,
상기 사용자 단말의 DID 문서에 대한 갱신에 따라,
상기 DID 레지스트리에서 상기 사용자 단말에 의해 갱신된 DID 문서를 로딩하는 단계;
로딩한 상기 DID 문서에 포함되는 관리증명서가, 상기 사용자 정보의 저장 후에 상기 스토리지에 보관한 관리증명서와 일치하는지 비교하는 단계; 및
일치하는 경우, 상기 스토리지에 저장된 사용자 정보를 '변경없음'으로 확인하여, 상기 서비스 서버에 전달하는 단계
를 더 포함하는 DID 기반의 사용자 정보 관리 서비스 제공 방법.
According to claim 5,
According to the update of the DID document of the user terminal,
loading a DID document updated by the user terminal from the DID registry;
comparing whether a management certificate included in the loaded DID document matches a management certificate stored in the storage after storing the user information; and
If they match, confirming the user information stored in the storage as 'no change' and forwarding it to the service server
DID-based user information management service providing method further comprising a.
제5항에 있어서,
상기 사용자 단말의 DID 문서에 대한 갱신에 따라,
상기 서비스 서버에서, 상기 전달된 사용자 정보를 상기 서비스 서버에 마련된 데이터베이스에 저장 시, 상기 DID 레지스트리에서 상기 사용자 단말에 의해 갱신된 DID 문서를 로딩하고, 로딩한 상기 DID 문서에 포함된 관리증명서를 상기 데이터베이스에 함께 저장하는 단계;
상기 서비스 서버에서, 일정 주기로 상기 DID 레지스트리에서 재로딩한 상기 사용자 단말의 DID 문서에 포함되는 관리증명서가, 상기 데이터베이스에 저장한 관리증명서와 일치하는지 비교하는 단계; 및
일치하지 않을 경우,
상기 서비스 서버에서, 상기 데이터베이스에 저장한 사용자 정보에 대해 갱신 조건이 성립하는 것으로 판단하고, 상기 사용자 단말에 관한 사용자 정보의 전달 서비스 요청을, 상기 서비스 인증 정보를 포함하여 발생하는 단계
를 더 포함하는 DID 기반의 사용자 정보 관리 서비스 제공 방법.
According to claim 5,
According to the update of the DID document of the user terminal,
In the service server, when storing the transmitted user information in a database provided in the service server, the DID document updated by the user terminal is loaded in the DID registry, and the management certificate included in the loaded DID document is stored in the DID registry. storing them together in a database;
comparing, in the service server, whether a management certificate included in the DID document of the user terminal reloaded from the DID registry at regular intervals matches a management certificate stored in the database; and
If they do not match,
In the service server, determining that an update condition is satisfied for the user information stored in the database, and generating a request for a delivery service of user information about the user terminal, including the service authentication information.
DID-based user information management service providing method further comprising a.
제7항에 있어서,
상기 서비스 서버로 상기 사용자 정보를 전달한 후에, 상기 서비스 서버로의 사용자 정보의 전달 기록을 상기 스토리지에 생성하는 단계;
상기 갱신 조건의 성립에 따라, 상기 서비스 서버에서 상기 사용자 정보의 전달 서비스 요청이 발생하면,
상기 전달 서비스 요청을 발생한 서비스 서버에 대해, 상기 전달 기록이 상기 스토리지에 생성되어 있는지 확인하는 단계; 및
상기 전달 기록이 생성되어 있으면, 상기 스토리지에서 상기 사용자 단말에 관한 업데이트된 사용자 정보를 리드해 상기 서비스 서버에 전달하는 단계
를 더 포함하는 DID 기반의 사용자 정보 관리 서비스 제공 방법.
According to claim 7,
After transferring the user information to the service server, generating a transfer record of the user information to the service server in the storage;
When the service server requests a delivery service of the user information according to the establishment of the update condition,
confirming, with respect to the service server that generated the delivery service request, whether the delivery record is created in the storage; and
If the delivery record is generated, reading updated user information about the user terminal from the storage and delivering the updated user information to the service server.
DID-based user information management service providing method further comprising a.
DID 기반의 사용자 정보 관리 서비스를 이용 중인 사용자 단말에서, 타 서비스에 대한 이용 요청이 발생됨에 따라,
상기 타 서비스와 연관된 서비스 서버로부터 입력되는 서비스 인증 정보를, 블록체인의 DID 레지스트리에서 로딩한 상기 서비스 서버의 DID 문서를 이용해 검증하여, 상기 서비스 서버를 신원 인증하는 서버 인증부;
상기 서비스 서버가 신원 인증되면, 상기 사용자 단말에 관한 사용자 인증 정보를, 상기 DID 레지스트리에서 로딩한 상기 사용자 단말의 DID 문서를 이용해 검증하여, 상기 사용자 단말을 신원 인증하는 사용자 인증부; 및
상기 사용자 단말이 신원 인증되면, 스토리지에서 상기 사용자 단말의 사용자 정보를 리드해 상기 서비스 서버에 전달함으로써, 상기 사용자 단말에서 상기 타 서비스를 이용하도록 하는 전달 처리부
를 포함하는 DID 기반의 사용자 정보 관리 서비스 제공 시스템.
As a user terminal using the DID-based user information management service generates a request for use of other services,
a server authentication unit that authenticates the identity of the service server by verifying the service authentication information input from the service server associated with the other service using the DID document of the service server loaded from the DID registry of the blockchain;
When the service server is authenticated, a user authentication unit verifying the user authentication information on the user terminal using the DID document of the user terminal loaded from the DID registry to authenticate the identity of the user terminal; and
When the user terminal is authenticated, the delivery processing unit reads the user information of the user terminal from the storage and transmits the user information to the service server so that the user terminal uses the other service.
DID-based user information management service providing system comprising a.
제9항에 있어서,
상기 서비스 인증 정보는,
상기 사용자 인증 정보를 상기 서비스 서버의 비밀키로 암호화한 시그니처값 및 상기 서비스 서버의 DID를 포함하고,
상기 서버 인증부는,
상기 서비스 서버의 DID를 이용하여, 상기 DID 레지스트리에 기록된 상기 서비스 서버의 DID 문서를 로딩하고,
로딩한 상기 서비스 서버의 DID 문서에 기재된 공개키아이디로부터 상기 서비스 서버의 비밀키에 대칭되는 공개키를 생성하고,
생성한 상기 서비스 서버의 공개키로 상기 서비스 인증 정보 내 시그니처값을 복호화하는
DID 기반의 사용자 정보 관리 서비스 제공 시스템.
According to claim 9,
The service authentication information,
A signature value obtained by encrypting the user authentication information with a private key of the service server and a DID of the service server;
The server authentication unit,
Loading the DID document of the service server recorded in the DID registry using the DID of the service server;
generating a public key symmetrical to the private key of the service server from the public key ID described in the loaded DID document of the service server;
Decrypting the signature value in the service authentication information with the generated public key of the service server
DID-based user information management service provision system.
제10항에 있어서,
상기 복호화된 시그니처값으로부터 상기 사용자 인증 정보를 추출하는 추출부
를 더 포함하고,
상기 사용자 인증부는,
상기 사용자 인증 정보에 포함된 상기 사용자 단말의 DID를 이용하여, 상기 DID 레지스트리에 기록된 상기 사용자 단말의 DID 문서를 로딩하고,
로딩한 상기 사용자 단말의 DID 문서에 기재된 공개키아이디로부터 상기 사용자 단말의 비밀키에 대칭되는 공개키를 생성하고,
생성한 상기 사용자 단말의 공개키로 상기 사용자 인증 정보에 포함된 상기 사용자 단말의 시그니처값을 복호화하는
DID 기반의 사용자 정보 관리 서비스 제공 시스템.
According to claim 10,
Extraction unit for extracting the user authentication information from the decrypted signature value
Including more,
The user authentication unit,
Loading the DID document of the user terminal recorded in the DID registry using the DID of the user terminal included in the user authentication information;
generating a public key symmetrical to the private key of the user terminal from the public key ID described in the loaded DID document of the user terminal;
Decrypting the signature value of the user terminal included in the user authentication information with the generated public key of the user terminal
DID-based user information management service provision system.
제9항에 있어서,
상기 사용자 단말에서 정보 저장 요청이 발생됨에 따라, 상기 사용자 정보의 저장 서비스를 제공하는 저장 처리부
를 더 포함하고,
상기 사용자 인증부는,
상기 사용자 단말로부터 입력되는 제1 사용자 인증 정보를, 상기 DID 레지스트리에서 로딩한 상기 사용자 단말의 DID 문서를 이용해 검증하여, 상기 사용자 단말을 신원 인증하고,
상기 사용자 단말이 신원 인증되면,
상기 저장 처리부는,
추출부에 의해, 상기 제1 사용자 인증 정보에 포함된 상기 사용자 단말에서 저장하려는 사용자 정보를, 상기 제1 사용자 인증 정보로부터 추출하고,
추출된 사용자 정보를 암호화하여, 상기 제1 사용자 인증 정보와 연관시켜 상기 스토리지에 저장하는
DID 기반의 사용자 정보 관리 서비스 제공 시스템.
According to claim 9,
A storage processor providing a storage service of the user information when an information storage request is generated from the user terminal.
Including more,
The user authentication unit,
First user authentication information input from the user terminal is verified using the DID document of the user terminal loaded in the DID registry to authenticate the identity of the user terminal,
When the user terminal is authenticated,
The storage processing unit,
Extracting, by an extractor, user information to be stored in the user terminal included in the first user authentication information from the first user authentication information;
Encrypting the extracted user information and storing it in the storage in association with the first user authentication information
DID-based user information management service provision system.
제12항에 있어서,
상기 저장 처리부는,
상기 사용자 정보의 저장 후에, 저장 완료를 알리는 관리증명서를 상기 사용자 단말에 발급하고, 상기 스토리지에 보관하고,
상기 사용자 단말은,
발급받은 상기 관리증명서가 포함되도록, 상기 DID 레지스트리에 기록된 상기 사용자 단말의 DID 문서를 갱신하는
DID 기반의 사용자 정보 관리 서비스 제공 시스템.
According to claim 12,
The storage processing unit,
After storing the user information, a management certificate indicating completion of storage is issued to the user terminal and stored in the storage;
The user terminal,
Updating the DID document of the user terminal recorded in the DID registry to include the issued management certificate
DID-based user information management service provision system.
제13항에 있어서,
상기 사용자 단말의 DID 문서에 대한 갱신에 따라,
상기 전달 처리부는,
상기 DID 레지스트리에서 상기 사용자 단말에 의해 갱신된 DID 문서를 로딩하고,
로딩한 상기 DID 문서에 포함되는 관리증명서가, 상기 사용자 정보의 저장 후에 상기 스토리지에 보관한 관리증명서와 일치하는지 비교하고,
일치하는 경우, 상기 스토리지에 저장된 사용자 정보를 '변경없음'으로 확인하여, 상기 서비스 서버에 전달하는
DID 기반의 사용자 정보 관리 서비스 제공 시스템.
According to claim 13,
According to the update of the DID document of the user terminal,
The transfer processing unit,
loading a DID document updated by the user terminal from the DID registry;
Compare whether the management certificate included in the loaded DID document matches the management certificate stored in the storage after storing the user information;
If they match, confirming the user information stored in the storage as 'no change' and forwarding it to the service server
DID-based user information management service provision system.
제13항에 있어서,
상기 사용자 단말의 DID 문서에 대한 갱신에 따라,
상기 서비스 서버는,
상기 전달된 사용자 정보를 상기 서비스 서버에 마련된 데이터베이스에 저장 시, 상기 DID 레지스트리에서 상기 사용자 단말에 의해 갱신된 DID 문서를 로딩하고, 로딩한 상기 DID 문서에 포함된 관리증명서를 상기 데이터베이스에 함께 저장하고,
일정 주기로 상기 DID 레지스트리에서 재로딩한 상기 사용자 단말의 DID 문서에 포함되는 관리증명서가, 상기 데이터베이스에 저장한 관리증명서와 일치하는지 비교하고,
일치하지 않을 경우, 상기 데이터베이스에 저장한 사용자 정보에 대해 갱신 조건이 성립하는 것으로 판단하고, 상기 사용자 단말에 관한 사용자 정보의 전달 서비스 요청을, 상기 서비스 인증 정보를 포함하여 발생하는
DID 기반의 사용자 정보 관리 서비스 제공 시스템.
According to claim 13,
According to the update of the DID document of the user terminal,
The service server,
When the transmitted user information is stored in the database provided in the service server, the DID document updated by the user terminal is loaded in the DID registry, and the management certificate included in the loaded DID document is stored in the database together. ,
Comparing whether the management certificate included in the DID document of the user terminal reloaded from the DID registry at regular intervals matches the management certificate stored in the database;
If they do not match, it is determined that the update condition is met for the user information stored in the database, and a request for a delivery service of user information about the user terminal is generated, including the service authentication information.
DID-based user information management service provision system.
제15항에 있어서,
상기 전달 처리부는,
상기 서비스 서버로 상기 사용자 정보를 전달한 후에, 상기 서비스 서버로의 사용자 정보의 전달 기록을 상기 스토리지에 생성하고,
상기 갱신 조건의 성립에 따라, 상기 서비스 서버에서 상기 사용자 정보의 전달 서비스 요청이 발생하면,
상기 전달 서비스 요청을 발생한 서비스 서버에 대해, 상기 전달 기록이 상기 스토리지에 생성되어 있는지 확인하고,
상기 전달 기록이 생성되어 있으면, 상기 스토리지에서 상기 사용자 단말에 관한 업데이트된 사용자 정보를 리드해 상기 서비스 서버에 전달하는
DID 기반의 사용자 정보 관리 서비스 제공 시스템.
According to claim 15,
The transfer processing unit,
After transferring the user information to the service server, creating a transfer record of the user information to the service server in the storage;
When the service server requests a delivery service of the user information according to the establishment of the update condition,
For the service server that generated the delivery service request, check whether the delivery record is created in the storage;
If the delivery record is created, reading the updated user information about the user terminal from the storage and delivering it to the service server
DID-based user information management service provision system.
KR1020210068292A 2021-05-27 2021-05-27 Method and system for providing user information management service based on decentralized identifiers KR102497440B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210068292A KR102497440B1 (en) 2021-05-27 2021-05-27 Method and system for providing user information management service based on decentralized identifiers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210068292A KR102497440B1 (en) 2021-05-27 2021-05-27 Method and system for providing user information management service based on decentralized identifiers

Publications (2)

Publication Number Publication Date
KR20220160286A KR20220160286A (en) 2022-12-06
KR102497440B1 true KR102497440B1 (en) 2023-02-07

Family

ID=84407062

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210068292A KR102497440B1 (en) 2021-05-27 2021-05-27 Method and system for providing user information management service based on decentralized identifiers

Country Status (1)

Country Link
KR (1) KR102497440B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102160915B1 (en) 2019-10-08 2020-10-05 (주)드림시큐리티 Apparatus for providing purchase service through identification without media and method thereof
KR102248249B1 (en) 2020-11-10 2021-05-04 (주)소프트제국 Decentralized identifiers system using a plurality of browsers and method thereof
US11012233B1 (en) 2020-01-22 2021-05-18 Coinplug, Inc. Method for providing authentication service by using decentralized identity and server using the same

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200125279A (en) * 2019-04-26 2020-11-04 유한책임회사 빌드업웍스 User Identification Method Using Block Chain and System thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102160915B1 (en) 2019-10-08 2020-10-05 (주)드림시큐리티 Apparatus for providing purchase service through identification without media and method thereof
US11012233B1 (en) 2020-01-22 2021-05-18 Coinplug, Inc. Method for providing authentication service by using decentralized identity and server using the same
KR102248249B1 (en) 2020-11-10 2021-05-04 (주)소프트제국 Decentralized identifiers system using a plurality of browsers and method thereof

Also Published As

Publication number Publication date
KR20220160286A (en) 2022-12-06

Similar Documents

Publication Publication Date Title
US10567370B2 (en) Certificate authority
JP6810334B2 (en) Profile data distribution control device, profile data distribution control method, and profile data distribution control program
US20200412554A1 (en) Id as service based on blockchain
JP2013246655A (en) Approval server, client device, server cooperation system and token management method
KR102118962B1 (en) Method and server for managing user identity using blockchain network, and method and terminal for verifying user using user identity based on blockchain network
CN112311538B (en) Identity verification method, device, storage medium and equipment
JP2007110377A (en) Network system
KR20210095093A (en) Method for providing authentification service by using decentralized identity and server using the same
US20140013116A1 (en) Apparatus and method for performing over-the-air identity provisioning
KR102410006B1 (en) Method for creating decentralized identity able to manage user authority and system for managing user authority using the same
JP2020120173A (en) Electronic signature system, certificate issuing system, certificate issuing method, and program
KR102372503B1 (en) Method for providing authentification service by using decentralized identity and server using the same
JP6712707B2 (en) Server system and method for controlling a plurality of service systems
JPH1125045A (en) Access control method, its device, attribute certificate issuing device, and machine-readable recording medium
KR102062851B1 (en) Single sign on service authentication method and system using token management demon
JP6976405B2 (en) Access control system and its programs
KR102053993B1 (en) Method for Authenticating by using Certificate
KR102497440B1 (en) Method and system for providing user information management service based on decentralized identifiers
JP2019161405A (en) Authentication server device, and system and method for authentication
JP4058035B2 (en) Public key infrastructure system and public key infrastructure method
KR20200130191A (en) Method and server for managing user identity using blockchain network, and method and terminal for verifying user using user identity based on blockchain network
KR20200110121A (en) Method and server for managing user identity using blockchain network, and method and terminal for verifying user using user identity based on blockchain network
JP2020010299A (en) Personal authentication device and personal authentication method
US20240039723A1 (en) Information processing apparatus, non-transitory computer readable medium, and information processing system
KR100834576B1 (en) Key management method and apparatus for providing secure communication on p2p network

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant