KR102372503B1 - Method for providing authentification service by using decentralized identity and server using the same - Google Patents

Method for providing authentification service by using decentralized identity and server using the same Download PDF

Info

Publication number
KR102372503B1
KR102372503B1 KR1020210007284A KR20210007284A KR102372503B1 KR 102372503 B1 KR102372503 B1 KR 102372503B1 KR 1020210007284 A KR1020210007284 A KR 1020210007284A KR 20210007284 A KR20210007284 A KR 20210007284A KR 102372503 B1 KR102372503 B1 KR 102372503B1
Authority
KR
South Korea
Prior art keywords
user
signature
app
mobile terminal
service
Prior art date
Application number
KR1020210007284A
Other languages
Korean (ko)
Other versions
KR20210095061A (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 PCT/KR2021/000828 priority Critical patent/WO2021150032A1/en
Priority to EP21743671.6A priority patent/EP4094173A4/en
Priority to US17/153,926 priority patent/US11012233B1/en
Priority to KR1020210084363A priority patent/KR20210095093A/en
Publication of KR20210095061A publication Critical patent/KR20210095061A/en
Application granted granted Critical
Publication of KR102372503B1 publication Critical patent/KR102372503B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/72Signcrypting, i.e. digital signing and encrypting simultaneously

Abstract

본 발명은 탈중앙화 아이디(decentralized identity; DID)) 앱을 이용하여 인증 서비스를 제공하는 방법에 관한 것으로, 사용자의 모바일 단말에 설치된 DID 앱을 이용하여 서비스 제공 서버로부터 전송되는 서명확인값을 사용자의 프라이빗 키로 암호화한 서명과 사용자의 사용자 DID를 포함하는 응답 정보를 서비스 제공 서버로 전송하여 줌으로써 서비스 제공 서버가 응답 정보에 포함된 사용자의 사용자 DID를 이용하여 블록체인 네트워크로부터 사용자의 퍼블릭 키를 획득하여 사용자의 서명을 검증하여 사용자 인증을 수행할 수 있도록 하는 방법에 관한 것이다.The present invention relates to a method of providing an authentication service using a decentralized identity (DID) app, and a signature verification value transmitted from a service providing server by using the DID app installed in the user's mobile terminal. By sending the response information including the signature encrypted with the private key and the user's user DID to the service providing server, the service providing server uses the user's user DID included in the response information to obtain the user's public key from the blockchain network. It relates to a method of verifying a user's signature so that user authentication can be performed.

Figure R1020210007284
Figure R1020210007284

Description

탈중앙화 아이디 앱을 이용하여 인증 서비스를 제공하는 방법 및 이를 이용한 탈중앙화 아이디 인증 서버{METHOD FOR PROVIDING AUTHENTIFICATION SERVICE BY USING DECENTRALIZED IDENTITY AND SERVER USING THE SAME}A method of providing authentication service using a decentralized ID app and a decentralized ID authentication server using the same

본 발명은 탈중앙화 아이디(Decentralized Identity; DID) 앱을 이용하여 인증 서비스를 제공하는 방법 및 이를 이용한 탈중앙화 아이디 인증에 관한 것으로, 보다 상세하게는, 사용자 모바일 단말에 설치된 탈중앙화 아이디 앱을 이용하여 사용자에 대한 인증 서비스를 제공하여 주는 방법 및 이를 이용한 탈중앙화 아이디 인증 서버에 관한 것이다.The present invention relates to a method of providing an authentication service using a decentralized identity (DID) app and to decentralized identity authentication using the same, and more particularly, using a decentralized identity app installed in a user's mobile terminal. It relates to a method of providing an authentication service for a user and a decentralized ID authentication server using the same.

일반적으로 사용자 인증은 사용자 정보를 보관하고 있는 서비스 제공 서버에서 사용자가 등록되어 있는 정당한 사용자인지를 확인하여 사용자를 신뢰할 수 있는지 여부를 확인하는 과정으로, 서비스 제공 서버가 제공하는 서비스에 대한 사용자의 접근권한을 관리하고 불법적인 활동을 감지하는 데에 중요한 역할을 수행한다.In general, user authentication is the process of verifying whether the user can be trusted by checking whether the user is a registered legitimate user in the service providing server storing user information, and the user's access to the service provided by the service providing server It plays an important role in managing privileges and detecting illegal activities.

이러한 사용자 인증을 위한 기술로서, 사용자 아이디와 패스워드 조합을 이용하는 단일 요소 인증 방식, 카드 및 비밀번호 등과 같이 2가지를 조합하여 사용하는 이중 요소 인증 방식, 양측 간에 공유되고 있는 비밀키를 이용하는 공유 비밀키 방식, 및 지문인식이나 홍채인식 등과 같은 생물학적 방식 등이 있다.As a technology for user authentication, a single-factor authentication method using a combination of user ID and password, a two-factor authentication method using a combination of two such as a card and password, and a shared secret key method using a secret key shared between both sides , and biological methods such as fingerprint recognition or iris recognition.

하지만, 종래의 사용자 인증 방식은 여러 서비스 제공 서버에 사용자 정보가 보관되기 때문에 사용자 정보를 소유하고 있는 서버가 많아질수록 서버 해킹에 의한 사용자 정보 유출 위험도 높아진다는 문제점이 있다.However, in the conventional user authentication method, since user information is stored in various service providing servers, there is a problem in that the risk of user information leakage due to server hacking increases as the number of servers possessing user information increases.

또한, 사용자 정보가 여러 서버에 분산되어 있어서 사용자 정보 제공에 대한 이력 관리가 어렵고, 사용자 정보의 변경시 여러 서버에서 일일이 변경해야 하며, 사용자 아이디 도용에 대한 문제도 발생할 수 있다.In addition, since user information is distributed on several servers, it is difficult to manage the history of providing user information, and when user information is changed, it is necessary to change it one by one in several servers, and a problem of user ID theft may occur.

이에 더하여, 각각의 서버마다 아이디와 비밀번호를 별도로 모두 기억해야 하는 불편함이 있고, 각 서비스 제공자의 서비스에 가입 시마다 사용자 정보를 반복해서 입력하여야 하는 번거로움이 있다.In addition, there is the inconvenience of having to separately remember both an ID and a password for each server, and there is a hassle of repeatedly inputting user information every time a user subscribes to a service of each service provider.

한편, 최근에는 서버를 이용한 중앙집중 방식의 문제점을 해결하기 위하여 보안성과 안정성이 확보된 블록체인 네트워크 기술을 활용하여 정보를 관리하는 방안이 대두되고 있다.On the other hand, recently, in order to solve the problem of the centralized method using a server, a method of managing information by using a blockchain network technology that has secured security and stability is emerging.

블록체인 네트워크는 분산원장(distributed ledger)을 사용하여 다수의 참가자가 일련의 동기화된 원장을 공동으로 관리하도록 하는 것으로 해킹 등에 의한 위험성이 없으나 분산원장의 데이터들이 모든 참가자들에게 공개되므로, 사용자의 개인 정보에 대한 보호를 위하여 통상적으로 개인 정보를 암호화, 일 예로, 개인 정보를 해시값으로 변환하여 분산원장에 등록하고 있다.The blockchain network uses a distributed ledger to allow multiple participants to jointly manage a series of synchronized ledgers, and there is no risk from hacking, but since the distributed ledger data is disclosed to all participants, users In order to protect information, personal information is usually encrypted, for example, personal information is converted into a hash value and registered in a distributed ledger.

하지만, 블록체인 네트워크를 이용할 경우에도, 사용자는 이용하고자 하는 서비스를 제공하는 각각의 서비스 제공 서버에서 아이디를 발급받아야 하는 문제점이 있다.However, even when using a blockchain network, there is a problem in that the user must obtain an ID from each service providing server that provides the desired service.

따라서, 상기 문제점들을 해결하기 위한 개선 방안이 요구되는 실정이다.Accordingly, there is a need for an improvement method to solve the above problems.

본 발명은 상술한 문제점들을 모두 해결하는 것을 그 목적으로 한다.An object of the present invention is to solve all of the above problems.

또한, 본 발명은 서비스 제공 서버에서 아이디의 발급 없이 사용자 인증이 가능하도록 하는 것을 다른 목적으로 한다.Another object of the present invention is to enable user authentication without issuing an ID in a service providing server.

또한, 본 발명은 사용자 인증을 위한 별도의 정보 요청 없이 서비스 제공 서버에서 사용자 인증이 가능하도록 하는 것을 또 다른 목적으로 한다.Another object of the present invention is to enable user authentication in a service providing server without a separate request for information for user authentication.

또한, 본 발명은 사용자 단말의 탈중앙화 아이디 앱을 이용하여 사용자 인증을 수행할 수 있도록 하는 것을 또 다른 목적으로 한다.Another object of the present invention is to enable user authentication to be performed using a decentralized ID app of a user terminal.

또한, 본 발명은 탈중앙화 아이디 앱을 이용하여 서비스 제공 서버에 인증 서비스를 제공하여 주는 것을 또 다른 목적으로 한다.Another object of the present invention is to provide an authentication service to a service providing server using a decentralized ID app.

상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한, 본 발명의 특징적인 구성은 하기와 같다.In order to achieve the object of the present invention as described above and to realize the characteristic effects of the present invention to be described later, the characteristic configuration of the present invention is as follows.

본 발명의 일 태양에 따르면, 탈중앙화 아이디(Decentralized Identity; DID) 앱을 이용하여 인증 서비스를 제공하는 방법에 있어서, (a) 서비스 웹 페이지에 접속하거나 서비스 앱을 통해 서비스를 이용하는 사용자 타 단말 - 상기 사용자 타 단말은 사용자가 적어도 하나 이상의 노드로 구성된 블록체인 네트워크에 사용자 DID를 등록한 DID 앱이 설치된 사용자 모바일 단말과는 다른 단말임 - 로부터의 DID 서비스에 대한 DID 서비스 요청 정보에 대응하여 서비스 제공 서버에서 생성된 서명확인값이 상기 사용자 타 단말을 통해 전송되면, DID 인증 서버가, 상기 서명확인값을 상기 사용자 모바일 단말로 전송하여 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 서명확인값을 사용자 프라이빗 키로 서명한 사용자 서명을 생성하도록 하고 상기 사용자 서명과 상기 사용자 DID를 상기 DID 인증 서버로 전송하도록 하는 단계; 및 (b) 상기 DID 인증 서버가, 상기 사용자 모바일 단말의 상기 DID 앱으로부터의 상기 사용자 서명과 상기 사용자 DID가 수신되면, (i) 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자의 사용자 퍼블릭 키를 획득하거나 리졸버 서버를 통해 상기 블록체인 네트워크로부터 상기 퍼블릭 키를 획득하며, 상기 사용자 퍼블릭 키를 이용하여 상기 사용자 서명을 검증하고, 상기 사용자 서명을 검증한 서명 검증 결과 정보를 상기 서비스 제공 서버로 전송하여 상기 서비스 제공 서버로 하여금 상기 서명 검증 결과 정보를 참조하여 상기 DID 서비스 요청 정보에 대응되는 DID 서비스를 상기 사용자 타 단말로 제공하도록 하거나, (ii) 상기 사용자 서명과 상기 사용자 DID를 상기 서비스 제공 서버로 전송하여 상기 서비스 제공 서버로 하여금, 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자의 사용자 퍼블릭 키를 획득하거나 상기 리졸버 서버를 통해 상기 블록체인 네트워크로부터 상기 퍼블릭 키를 획득하도록 하며, 상기 사용자 퍼블릭 키를 이용하여 상기 사용자 서명을 검증하도록 한 다음, 상기 DID 서비스 요청 정보에 대응되는 상기 DID 서비스를 상기 사용자 타 단말로 제공하도록 하는 단계;를 포함하는 방법이 개시된다.According to an aspect of the present invention, in a method of providing an authentication service using a decentralized identity (DID) app, (a) a user accessing a service web page or using a service through a service app - The user's other terminal is a different terminal from the user's mobile terminal in which the DID app in which the user registered the user's DID in a blockchain network composed of at least one node is installed. When the generated signature verification value is transmitted through the other user terminal, the DID authentication server transmits the signature verification value to the user mobile terminal so that the DID app of the user mobile terminal transmits the signature verification value to the user's private generating a user signature signed with a key and transmitting the user signature and the user DID to the DID authentication server; and (b) when the DID authentication server receives the user signature and the user DID from the DID app of the user mobile terminal, (i) the user public of the user from the blockchain network using the user DID Obtain a key or obtain the public key from the block chain network through a resolver server, verify the user signature using the user public key, and transmit the signature verification result information obtained by verifying the user signature to the service providing server transmit to have the service providing server provide the DID service corresponding to the DID service request information to the other user terminal with reference to the signature verification result information, or (ii) provide the service with the user signature and the user DID transmit to a server so that the service providing server obtains the user public key of the user from the block chain network using the user DID or obtains the public key from the block chain network through the resolver server, A method comprising: verifying the user's signature using a user's public key, and then providing the DID service corresponding to the DID service request information to the user's other terminal.

일례로서, 상기 (a) 단계에서, 상기 DID 인증 서버가, (i) 상기 서비스 제공 서버로부터 상기 사용자 DID가 수신되지 않을 경우에는, 상기 서명확인값에 대한 QR 코드를 생성하여 상기 사용자 타 단말로 전송하여 상기 사용자 타 단말이 상기 QR 코드를 디스플레이하도록 하고, 상기 사용자가 상기 사용자 모바일 단말을 통해 상기 사용자 타 단말에 디스플레이되는 상기 QR 코드를 통해 상기 서명확인값을 획득하도록 함으로써 상기 서명확인값이 상기 DID 앱으로 전송되도록 하며, (ii) 상기 서비스 제공 서버로부터 상기 서명확인값에 더하여 상기 사용자 DID가 수신되는 경우에는, 상기 사용자 DID를 이용하여 상기 사용자 모바일 단말의 상기 DID 앱으로 상기 서명확인값을 전송하여 주는 것을 특징으로 하는 방법이 개시된다.As an example, in the step (a), the DID authentication server, (i) if the user DID is not received from the service providing server, generates a QR code for the signature verification value to the other user terminal The signature verification value is the signature verification value by sending it so that the other user terminal displays the QR code, and the user obtains the signature verification value through the QR code displayed on the user other terminal through the user mobile terminal (ii) when the user DID is received in addition to the signature verification value from the service providing server, the signature verification value is transmitted to the DID app of the user mobile terminal using the user DID Disclosed is a method characterized in that it is transmitted.

일례로서, 상기 DID 인증 서버가, 상기 서비스 제공 서버로부터 상기 서명확인값에 더하여 상기 사용자 DID가 수신되는 경우 상기 사용자 DID를 이용하여 상기 사용자 모바일 단말의 상기 DID 앱으로 상기 서명확인값을 전송하여 주되, 상기 DID 앱이 상기 서명확인값을 전송받지 못할 경우, 상기 서명확인값에 대한 상기 QR 코드를 생성하여 상기 사용자 타 단말로 전송하여 상기 사용자 타 단말이 상기 QR 코드를 디스플레이하도록 하고, 상기 사용자가 상기 사용자 모바일 단말을 통해 상기 사용자 타 단말에 디스플레이되는 상기 QR 코드를 통해 상기 서명확인값을 획득하도록 함으로써 상기 서명확인값이 상기 DID 앱으로 전송되도록 하는 것을 특징으로 하는 방법이 개시된다.As an example, when the DID authentication server receives the user DID in addition to the signature confirmation value from the service providing server, the user DID is used to transmit the signature confirmation value to the DID app of the user mobile terminal. , when the DID app does not receive the signature verification value, it generates the QR code for the signature verification value and transmits it to the other user terminal so that the user other terminal displays the QR code, and the user Disclosed is a method characterized in that the signature verification value is transmitted to the DID app by obtaining the signature verification value through the QR code displayed on the other user terminal through the user mobile terminal.

일례로서, 상기 DID 인증 서버가, 상기 사용자가 요청한 상기 DID 서비스에 대응하여 사용자 정보가 추가로 요구되어 상기 서비스 제공 서버가 상기 서명확인값과 함께 상기 사용자 정보에 대응되는 사용자 정보 리스트를 상기 사용자 타 단말에 전송한 경우, 상기 서명확인값과 상기 사용자 정보 리스트를 상기 사용자 모바일 단말의 상기 DID 앱으로 전송하여 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID에 더하여 상기 사용자 정보 리스트에 대응되는 상기 사용자 정보 또는 암호화된 사용자 정보를 상기 DID 인증 서버로 전송하도록 하여, 상기 서명 검증 결과 정보나 상기 사용자 서명과 상기 사용자 DID를 상기 서비스 제공 서버에 전송할 때 상기 사용자 정보 또는 상기 암호화된 사용자 정보를 함께 전송하는 것을 특징으로 하는 방법이 개시된다.As an example, when the DID authentication server requests additional user information in response to the DID service requested by the user, the service providing server returns a user information list corresponding to the user information along with the signature verification value to the user. When transmitted to the terminal, the signature verification value and the user information list are transmitted to the DID app of the user mobile terminal so that the DID app of the user mobile terminal adds the user signature and the user DID to the user information list transmit the user information or encrypted user information corresponding to the DID authentication server to transmit the signature verification result information or the user signature and the user DID to the service providing server, the user information or the encrypted user A method comprising transmitting information together is disclosed.

일례로서, 상기 (a) 단계에서, 상기 DID 인증 서버가, 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID와 함께 상기 서명확인값을 상기 DID 인증 서버로 전송하도록 하는 것을 특징으로 하는 방법이 개시된다.As an example, in step (a), the DID authentication server causes the DID app of the user mobile terminal to transmit the signature verification value together with the user signature and the user DID to the DID authentication server. A method is disclosed.

일례로서, 상기 (a) 단계에서, 상기 DID 인증 서버가, 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID와 함께 VC(verifiable credential) 또는 VP(verifiable presentation)을 상기 DID 인증 서버로 전송하도록 하는 것을 특징으로 하는 방법이 개시된다.As an example, in the step (a), the DID authentication server causes the DID app of the user mobile terminal to authenticate the VC (verifiable credential) or VP (verifiable presentation) together with the user signature and the user DID. Disclosed is a method characterized in that it is transmitted to a server.

일례로서, 상기 (a) 단계에서, 상기 DID 인증 서버가, 상기 서비스 제공 서버로 하여금 HTTP 리다이렉션(redirection)을 이용하여 상기 서명확인값을 상기 사용자 타 단말로 전송하도록 하며, 상기 사용자 타 단말로 하여금 상기 HTTP 리다이렉션을 이용하여 상기 서명확인값을 상기 DID 인증 서버에 대응되는 DID 인증 웹 페이지로 전송되도록 하여 상기 서명확인값을 획득하는 것을 특징으로 하는 방법이 개시된다.As an example, in step (a), the DID authentication server causes the service providing server to transmit the signature verification value to the other user terminal using HTTP redirection, and causes the user other terminal to Disclosed is a method characterized in that the signature verification value is obtained by transmitting the signature verification value to a DID authentication web page corresponding to the DID authentication server using the HTTP redirection.

일례로서, 상기 (b) 단계에서, 상기 DID 인증 서버가, 상기 사용자 모바일 단말의 상기 DID 앱으로부터 상기 사용자 서명과 상기 사용자 DID가 전송되면, HTTP 폴링(Polling)을 통해 상기 사용자 서명과 상기 사용자 DID나 상기 사용자 서명과 상기 사용자 DID를 참조하여 생성한 상기 서명 검증 결과 정보를 상기 DID 인증 서버에 대응되는 DID 인증 웹 페이지로 전송되도록 하여, 상기 DID 인증 웹 페이지의 HTTP 리다이렉션을 통해 상기 사용자 서명과 상기 사용자 DID나 상기 서명 검증 결과 정보를 상기 서비스 제공 서버로 전송하는 것을 특징으로 하는 방법이 개시된다.As an example, in step (b), when the DID authentication server transmits the user signature and the user DID from the DID app of the user mobile terminal, the user signature and the user DID through HTTP polling B, the signature verification result information generated by referring to the user signature and the user DID is transmitted to a DID authentication web page corresponding to the DID authentication server, and the user signature and the Disclosed is a method characterized in that the user DID or the signature verification result information is transmitted to the service providing server.

본 발명의 다른 태양에 따르면, 탈중앙화 아이디(Decentralized Identity; DID) 앱을 이용하여 인증 서비스를 제공하는 방법에 있어서, (a) 서비스 웹 페이지에 접속하거나 서비스 앱을 통해 서비스를 이용하는 사용자 모바일 단말 - 상기 사용자 모바일 단말은 사용자가 적어도 하나 이상의 노드로 구성된 블록체인 네트워크에 사용자 DID를 등록한 DID 앱이 설치된 단말임 - 로부터의 DID 서비스에 대한 DID 서비스 요청 정보에 대응하여 서비스 제공 서버에서 생성된 서명확인값이 상기 사용자 모바일 단말로 전송되어 상기 사용자 모바일 단말이 상기 모바일 단말의 상기 DID 앱으로 상기 서명확인값을 전송하면, 상기 DID 인증 서버가, 상기 DID 앱으로 하여금 상기 서명확인값을 사용자 프라이빗 키로 서명한 사용자 서명을 생성하도록 하고 상기 사용자 서명과 상기 사용자 DID를 상기 DID 인증 서버로 전송하도록 하는 단계; 및 (b) 상기 DID 인증 서버가, 상기 사용자 모바일 단말의 상기 DID 앱으로부터의 상기 사용자 서명과 상기 사용자 DID가 수신되면, (i) 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자의 사용자 퍼블릭 키를 획득하거나 리졸버 서버를 통해 상기 블록체인 네트워크로부터 상기 퍼블릭 키를 획득하며, 상기 사용자 퍼블릭 키를 이용하여 상기 사용자 서명을 검증하고, 상기 사용자 서명을 검증한 서명 검증 결과 정보를 상기 서비스 제공 서버로 전송하여 상기 서비스 제공 서버로 하여금 상기 서명 검증 결과 정보를 참조하여 상기 DID 서비스 요청 정보에 대응되는 DID 서비스를 상기 사용자 모바일 단말로 제공하도록 하거나, (ii) 상기 사용자 서명과 상기 사용자 DID를 상기 서비스 제공 서버로 전송하여 상기 서비스 제공 서버로 하여금, 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자의 사용자 퍼블릭 키를 획득하거나 상기 리졸버 서버를 통해 상기 블록체인 네트워크로부터 상기 퍼블릭 키를 획득하도록 하며, 상기 사용자 퍼블릭 키를 이용하여 상기 사용자 서명을 검증하도록 한 다음, 상기 DID 서비스 요청 정보에 대응되는 상기 DID 서비스를 상기 사용자 모바일 단말로 제공하도록 하는 단계;를 포함하는 방법이 개시된다.According to another aspect of the present invention, in a method of providing an authentication service using a decentralized identity (DID) app, (a) a user mobile terminal accessing a service web page or using a service through a service app - The user mobile terminal is a terminal in which a DID app is installed in which the user has registered the user DID in a blockchain network composed of at least one node. - A signature verification value generated by the service providing server in response to DID service request information for the DID service from This is transmitted to the user mobile terminal and when the user mobile terminal transmits the signature verification value to the DID app of the mobile terminal, the DID authentication server causes the DID app to sign the signature verification value with the user's private key. generating a user signature and sending the user signature and the user DID to the DID authentication server; and (b) when the DID authentication server receives the user signature and the user DID from the DID app of the user mobile terminal, (i) the user public of the user from the blockchain network using the user DID Obtain a key or obtain the public key from the block chain network through a resolver server, verify the user signature using the user public key, and transmit the signature verification result information obtained by verifying the user signature to the service providing server transmits so that the service providing server provides the DID service corresponding to the DID service request information to the user mobile terminal with reference to the signature verification result information, or (ii) provides the service with the user signature and the user DID transmit to a server so that the service providing server obtains the user public key of the user from the block chain network using the user DID or obtains the public key from the block chain network through the resolver server, A method comprising: verifying the user signature using a user public key and then providing the DID service corresponding to the DID service request information to the user mobile terminal.

일례로서, 상기 (a) 단계에서, 상기 DID 인증 서버가, 상기 사용자 모바일 단말로 하여금 URL 스킴(scheme)을 통해 상기 서명확인값을 상기 DID 앱으로 전송하도록 하는 것을 특징으로 하는 방법이 개시된다.As an example, in the step (a), the DID authentication server, a method characterized in that the user mobile terminal transmits the signature verification value to the DID app through a URL scheme is disclosed.

일례로서, 상기 DID 인증 서버가, 상기 사용자가 요청한 상기 DID 서비스에 대응하여 사용자 정보가 추가로 요구되어 상기 서비스 제공 서버가 상기 서명확인값과 함께 상기 사용자 정보에 대응되는 사용자 정보 리스트를 상기 사용자 모바일 단말에 전송하여 상기 서명확인값과 상기 사용자 정보 리스트가 상기 사용자 모바일 단말의 상기 DID 앱으로 전송된 경우, 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID에 더하여 상기 사용자 정보 리스트에 대응되는 상기 사용자 정보 또는 암호화된 사용자 정보를 상기 DID 인증 서버로 전송하도록 하여, 상기 서명 검증 결과 정보나 상기 사용자 서명과 상기 사용자 DID를 상기 서비스 제공 서버에 전송할 때 상기 사용자 정보 또는 상기 암호화된 사용자 정보를 함께 전송하는 것을 특징으로 하는 방법이 개시된다.As an example, when the DID authentication server requests additional user information in response to the DID service requested by the user, the service providing server provides a user information list corresponding to the user information along with the signature verification value to the user mobile. When transmitted to a terminal and the signature verification value and the user information list are transmitted to the DID app of the user mobile terminal, the DID app of the user mobile terminal adds the user signature and the user DID to the user information list transmit the user information or encrypted user information corresponding to the DID authentication server to transmit the signature verification result information or the user signature and the user DID to the service providing server, the user information or the encrypted user A method comprising transmitting information together is disclosed.

일례로서, 상기 (a) 단계에서, 상기 DID 인증 서버가, 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID와 함께 상기 서명확인값을 상기 DID 인증 서버로 전송하도록 하는 것을 특징으로 하는 방법이 개시된다.As an example, in step (a), the DID authentication server causes the DID app of the user mobile terminal to transmit the signature verification value together with the user signature and the user DID to the DID authentication server. A method is disclosed.

일례로서, 상기 (a) 단계에서, 상기 DID 인증 서버가, 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID와 함께 VC(verifiable credential) 또는 VP(verifiable presentation)을 상기 DID 인증 서버로 전송하도록 하는 것을 특징으로 하는 방법이 개시된다.As an example, in the step (a), the DID authentication server causes the DID app of the user mobile terminal to authenticate the VC (verifiable credential) or VP (verifiable presentation) together with the user signature and the user DID. Disclosed is a method characterized in that it is transmitted to a server.

일례로서, 상기 (b) 단계에서, 상기 DID 인증 서버가, (i) 상기 사용자 모바일 단말의 상기 DID 앱으로부터 전송된 상기 사용자 서명과 상기 사용자 DID나 상기 사용자 서명과 상기 사용자 DID를 참조하여 생성한 상기 서명 검증 결과 정보를 HTTP 폴링(Polling)을 통해 상기 DID 인증 서버에 대응되는 DID 인증 웹 페이지로 전송되도록 하여, 상기 DID 인증 웹 페이지의 HTTP 리다이렉션(redirection)을 통해 상기 사용자 서명과 상기 사용자 DID나 상기 서명 검증 결과 정보를 상기 서비스 제공 서버로 전송하거나, (ii) 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID를 URL 스킴(scheme)을 통해 상기 사용자 모바일 단말로 전송하도록 하여, 상기 사용자 모바일 단말로 하여금 상기 사용자 서명과 상기 사용자 DID를 상기 HTTP 리다이렉션을 통해 상기 서비스 제공 서버로 전송하도록 하거나, (iii) 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 서명 확인값과 상기 사용자 DID를 상기 DID 인증 서버로 전송하도록 하여, 상기 사용자 모바일 단말로 하여금 상기 HTTP 폴링을 통해 상기 DID 인증 서버로부터 상기 서명 확인값과 상기 사용자 DID나 상기 사용자 서명과 상기 사용자 DID를 참조하여 생성한 상기 서명 검증 결과 정보를 획득하여 상기 HTTP 리다이렉션을 통해 상기 서비스 제공 서버에 전송하도록 하는 것을 특징으로 하는 방법이 개시된다.As an example, in step (b), the DID authentication server generates (i) referring to the user signature and the user DID or the user signature and the user DID transmitted from the DID app of the user mobile terminal. The signature verification result information is transmitted to a DID authentication web page corresponding to the DID authentication server through HTTP polling, and the user signature and the user DID or transmitting the signature verification result information to the service providing server, or (ii) causing the DID app of the user mobile terminal to transmit the user signature and the user DID to the user mobile terminal through a URL scheme , cause the user mobile terminal to transmit the user signature and the user DID to the service providing server through the HTTP redirection, or (iii) cause the DID app of the user mobile terminal to determine the signature verification value and the user DID is transmitted to the DID authentication server, so that the user mobile terminal generates the signature verification value and the user DID or the user signature and the user DID from the DID authentication server through the HTTP polling to verify the generated signature. Disclosed is a method characterized in that the result information is obtained and transmitted to the service providing server through the HTTP redirection.

일례로서, 상기 (a) 단계에서, 상기 DID 인증 서버가, 상기 서비스 제공 서버로 하여금 상기 서명확인값만을 상기 사용자 모바일 단말에 전송하여 주거나, 상기 서명확인값과 함께 상기 사용자 DID를 상기 사용자 모바일 단말에 전송하도록 하는 것을 특징으로 하는 방법이 개시된다.As an example, in step (a), the DID authentication server causes the service providing server to transmit only the signature verification value to the user mobile terminal, or transmits the user DID together with the signature verification value to the user mobile terminal Disclosed is a method characterized in that it is transmitted to

본 발명의 또 다른 태양에 따르면, 탈중앙화 아이디(Decentralized Identity; DID) 앱을 이용하여 인증 서비스를 제공하는 DID 인증 서버에 있어서, DID 앱을 이용하여 인증 서비스를 제공하기 위한 인스트럭션들이 저장된 메모리; 및 상기 메모리에 저장된 상기 인스트럭션들에 따라 상기 DID 앱을 이용하여 상기 인증 서비스를 제공하기 위한 동작을 수행하는 프로세서;를 포함하되, 상기 프로세서는, (I) 서비스 웹 페이지에 접속하거나 서비스 앱을 통해 서비스를 이용하는 사용자 타 단말 - 상기 사용자 타 단말은 사용자가 적어도 하나 이상의 노드로 구성된 블록체인 네트워크에 사용자 DID를 등록한 DID 앱이 설치된 사용자 모바일 단말과는 다른 단말임 - 로부터의 DID 서비스에 대한 DID 서비스 요청 정보에 대응하여 서비스 제공 서버에서 생성된 서명확인값이 상기 사용자 타 단말을 통해 전송되면, 상기 서명확인값을 상기 사용자 모바일 단말로 전송하여 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 서명확인값을 사용자 프라이빗 키로 서명한 사용자 서명을 생성하도록 하고 상기 사용자 서명과 상기 사용자 DID를 상기 프로세서로 전송하도록 하는 프로세스, 및 (II) 상기 사용자 모바일 단말의 상기 DID 앱으로부터의 상기 사용자 서명과 상기 사용자 DID가 수신되면, (i) 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자의 사용자 퍼블릭 키를 획득하거나 리졸버 서버를 통해 상기 블록체인 네트워크로부터 상기 퍼블릭 키를 획득하며, 상기 사용자 퍼블릭 키를 이용하여 상기 사용자 서명을 검증하고, 상기 사용자 서명을 검증한 서명 검증 결과 정보를 상기 서비스 제공 서버로 전송하여 상기 서비스 제공 서버로 하여금 상기 서명 검증 결과 정보를 참조하여 상기 DID 서비스 요청 정보에 대응되는 DID 서비스를 상기 사용자 타 단말로 제공하도록 하거나, (ii) 상기 사용자 서명과 상기 사용자 DID를 상기 서비스 제공 서버로 전송하여 상기 서비스 제공 서버로 하여금, 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자의 사용자 퍼블릭 키를 획득하거나 상기 리졸버 서버를 통해 상기 블록체인 네트워크로부터 상기 퍼블릭 키를 획득하도록 하며, 상기 사용자 퍼블릭 키를 이용하여 상기 사용자 서명을 검증하도록 한 다음, 상기 DID 서비스 요청 정보에 대응되는 상기 DID 서비스를 상기 사용자 타 단말로 제공하도록 하는 프로세스를 수행하는 DID 인증 서버가 개시된다.According to another aspect of the present invention, there is provided a DID authentication server for providing an authentication service using a Decentralized Identity (DID) app, comprising: a memory in which instructions for providing an authentication service using the DID app are stored; and a processor that performs an operation for providing the authentication service using the DID app according to the instructions stored in the memory; the processor includes, (I) accessing a service web page or through a service app DID service request for DID service from other user's terminal using service When the signature verification value generated by the service providing server in response to the information is transmitted through the other user terminal, the signature verification value is transmitted to the user mobile terminal to cause the DID app of the user mobile terminal to obtain the signature verification value generating a user signature signed with a user private key and sending the user signature and the user DID to the processor; and (II) the user signature and the user DID from the DID app of the user mobile terminal are received (i) obtain the user public key of the user from the block chain network using the user DID or obtain the public key from the block chain network through a resolver server, and use the user public key to obtain the user public key The signature is verified and the signature verification result information obtained by verifying the user's signature is transmitted to the service providing server so that the service providing server provides the DID service corresponding to the DID service request information to the user with reference to the signature verification result information. to provide to another terminal, or (ii) transmit the user signature and the user DID to the service providing server so that the service providing server retrieves the user public key of the user from the blockchain network using the user DID obtain or obtain the public key from the blockchain network through the resolver server, the user Disclosed is a DID authentication server that performs a process of verifying the user's signature using a public key and then providing the DID service corresponding to the DID service request information to the user's other terminal.

일례로서, 상기 (I) 프로세스에서, 상기 프로세서는, (i) 상기 서비스 제공 서버로부터 상기 사용자 DID가 수신되지 않을 경우에는, 상기 서명확인값에 대한 QR 코드를 생성하여 상기 사용자 타 단말로 전송하여 상기 사용자 타 단말이 상기 QR 코드를 디스플레이하도록 하고, 상기 사용자가 상기 사용자 모바일 단말을 통해 상기 사용자 타 단말에 디스플레이되는 상기 QR 코드를 통해 상기 서명확인값을 획득하도록 함으로써 상기 서명확인값이 상기 DID 앱으로 전송되도록 하며, (ii) 상기 서비스 제공 서버로부터 상기 서명확인값에 더하여 상기 사용자 DID가 수신되는 경우에는, 상기 사용자 DID를 이용하여 상기 사용자 모바일 단말의 상기 DID 앱으로 상기 서명확인값을 전송하여 주는 것을 특징으로 하는 DID 인증 서버가 개시된다.As an example, in the (I) process, the processor, (i) when the user DID is not received from the service providing server, generates a QR code for the signature verification value and transmits it to the other user terminal The signature verification value is the DID app by causing the other user terminal to display the QR code, and allowing the user to obtain the signature verification value through the QR code displayed on the other user terminal through the user mobile terminal (ii) when the user DID is received in addition to the signature verification value from the service providing server, the signature verification value is transmitted to the DID app of the user mobile terminal by using the user DID Disclosed is a DID authentication server, characterized in that giving.

일례로서, 상기 프로세서는, 상기 서비스 제공 서버로부터 상기 서명확인값에 더하여 상기 사용자 DID가 수신되는 경우 상기 사용자 DID를 이용하여 상기 사용자 모바일 단말의 상기 DID 앱으로 상기 서명확인값을 전송하여 주되, 상기 DID 앱이 상기 서명확인값을 전송받지 못할 경우, 상기 서명확인값에 대한 상기 QR 코드를 생성하여 상기 사용자 타 단말로 전송하여 상기 사용자 타 단말이 상기 QR 코드를 디스플레이하도록 하고, 상기 사용자가 상기 사용자 모바일 단말을 통해 상기 사용자 타 단말에 디스플레이되는 상기 QR 코드를 통해 상기 서명확인값을 획득하도록 함으로써 상기 서명확인값이 상기 DID 앱으로 전송되도록 하는 것을 특징으로 하는 DID 인증 서버가 개시된다.As an example, when the user DID is received in addition to the signature verification value from the service providing server, the processor transmits the signature verification value to the DID app of the user mobile terminal by using the user DID, When the DID app does not receive the signature verification value, it generates the QR code for the signature verification value and transmits it to the user other terminal so that the user other terminal displays the QR code, and the user A DID authentication server is disclosed, wherein the signature verification value is transmitted to the DID app by obtaining the signature verification value through the QR code displayed on the user's other terminal through a mobile terminal.

일례로서, 상기 프로세서는, 상기 사용자가 요청한 상기 DID 서비스에 대응하여 사용자 정보가 추가로 요구되어 상기 서비스 제공 서버가 상기 서명확인값과 함께 상기 사용자 정보에 대응되는 사용자 정보 리스트를 상기 사용자 타 단말에 전송한 경우, 상기 서명확인값과 상기 사용자 정보 리스트를 상기 사용자 모바일 단말의 상기 DID 앱으로 전송하여 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID에 더하여 상기 사용자 정보 리스트에 대응되는 상기 사용자 정보 또는 암호화된 사용자 정보를 상기 프로세서로 전송하도록 하여, 상기 서명 검증 결과 정보나 상기 사용자 서명과 상기 사용자 DID를 상기 서비스 제공 서버에 전송할 때 상기 사용자 정보 또는 상기 암호화된 사용자 정보를 함께 전송하는 것을 특징으로 하는 DID 인증 서버가 개시된다.As an example, the processor may additionally request user information in response to the DID service requested by the user, so that the service providing server provides a user information list corresponding to the user information along with the signature verification value to the other user terminal. When transmitted, the signature verification value and the user information list are transmitted to the DID app of the user mobile terminal so that the DID app of the user mobile terminal corresponds to the user information list in addition to the user signature and the user DID transmits the user information or encrypted user information to the processor, and transmits the user information or the encrypted user information together when transmitting the signature verification result information or the user signature and the user DID to the service providing server DID authentication server is disclosed, characterized in that.

일례로서, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID와 함께 상기 서명확인값을 상기 프로세서로 전송하도록 하는 것을 특징으로 하는 DID 인증 서버가 개시된다.As an example, in the process (I), the processor causes the DID app of the user mobile terminal to transmit the signature verification value together with the user signature and the user DID to the processor. The server is started.

일례로서, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID와 함께 VC(verifiable credential) 또는 VP(verifiable presentation)을 상기 프로세서로 전송하도록 하는 것을 특징으로 하는 DID 인증 서버가 개시된다.As an example, in the (I) process, the processor causes the DID app of the user mobile terminal to transmit a verifiable credential (VC) or verifiable presentation (VP) together with the user signature and the user DID to the processor. DID authentication server is disclosed, characterized in that.

일례로서, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 서비스 제공 서버로 하여금 HTTP 리다이렉션(redirection)을 이용하여 상기 서명확인값을 상기 사용자 타 단말로 전송하도록 하며, 상기 사용자 타 단말로 하여금 상기 HTTP 리다이렉션을 이용하여 상기 서명확인값을 상기 프로세서에 대응되는 DID 인증 웹 페이지로 전송되도록 하여 상기 서명확인값을 획득하는 것을 특징으로 하는 DID 인증 서버가 개시된다.As an example, in the process (I), the processor causes the service providing server to transmit the signature verification value to the user other terminal using HTTP redirection, and causes the user other terminal to use the HTTP Disclosed is a DID authentication server, characterized in that the signature verification value is obtained by transmitting the signature verification value to a DID authentication web page corresponding to the processor using redirection.

일례로서, 상기 (II) 프로세스에서, 상기 프로세서는, 상기 사용자 모바일 단말의 상기 DID 앱으로부터 상기 사용자 서명과 상기 사용자 DID가 전송되면, HTTP 폴링(Polling)을 통해 상기 사용자 서명과 상기 사용자 DID나 상기 사용자 서명과 상기 사용자 DID를 참조하여 생성한 상기 서명 검증 결과 정보를 상기 프로세서에 대응되는 DID 인증 웹 페이지로 전송되도록 하여, 상기 DID 인증 웹 페이지의 HTTP 리다이렉션을 통해 상기 사용자 서명과 상기 사용자 DID나 상기 서명 검증 결과 정보를 상기 서비스 제공 서버로 전송하는 것을 특징으로 하는 DID 인증 서버가 개시된다.As an example, in the process (II), the processor, when the user signature and the user DID are transmitted from the DID app of the user mobile terminal, the user signature and the user DID or the The signature verification result information generated by referring to the user signature and the user DID is transmitted to the DID authentication web page corresponding to the processor, so that the user signature and the user DID or the above through HTTP redirection of the DID authentication web page Disclosed is a DID authentication server that transmits signature verification result information to the service providing server.

본 발명의 또 다른 태양에 따르면, 탈중앙화 아이디(Decentralized Identity; DID) 앱을 이용하여 인증 서비스를 제공하는 DID 인증 서버에 있어서, DID 앱을 이용하여 인증 서비스를 제공하기 위한 인스트럭션들이 저장된 메모리; 및 상기 메모리에 저장된 상기 인스트럭션들에 따라 상기 DID 앱을 이용하여 상기 인증 서비스를 제공하기 위한 동작을 수행하는 프로세서;를 포함하되, 상기 프로세서는, (I) 서비스 웹 페이지에 접속하거나 서비스 앱을 통해 서비스를 이용하는 사용자 모바일 단말 - 상기 사용자 모바일 단말은 사용자가 적어도 하나 이상의 노드로 구성된 블록체인 네트워크에 사용자 DID를 등록한 DID 앱이 설치된 단말임 - 로부터의 DID 서비스에 대한 DID 서비스 요청 정보에 대응하여 서비스 제공 서버에서 생성된 서명확인값이 상기 사용자 모바일 단말로 전송되어 상기 사용자 모바일 단말이 상기 모바일 단말의 상기 DID 앱으로 상기 서명확인값을 전송하면, 상기 DID 앱으로 하여금 상기 서명확인값을 사용자 프라이빗 키로 서명한 사용자 서명을 생성하도록 하고 상기 사용자 서명과 상기 사용자 DID를 상기 프로세서로 전송하도록 하는 프로세스, 및 (II) 상기 사용자 모바일 단말의 상기 DID 앱으로부터의 상기 사용자 서명과 상기 사용자 DID가 수신되면, (i) 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자의 사용자 퍼블릭 키를 획득하거나 리졸버 서버를 통해 상기 블록체인 네트워크로부터 상기 퍼블릭 키를 획득하며, 상기 사용자 퍼블릭 키를 이용하여 상기 사용자 서명을 검증하고, 상기 사용자 서명을 검증한 서명 검증 결과 정보를 상기 서비스 제공 서버로 전송하여 상기 서비스 제공 서버로 하여금 상기 서명 검증 결과 정보를 참조하여 상기 DID 서비스 요청 정보에 대응되는 DID 서비스를 상기 사용자 모바일 단말로 제공하도록 하거나, (ii) 상기 사용자 서명과 상기 사용자 DID를 상기 서비스 제공 서버로 전송하여 상기 서비스 제공 서버로 하여금, 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자의 사용자 퍼블릭 키를 획득하거나 상기 리졸버 서버를 통해 상기 블록체인 네트워크로부터 상기 퍼블릭 키를 획득하도록 하며, 상기 사용자 퍼블릭 키를 이용하여 상기 사용자 서명을 검증하도록 한 다음, 상기 DID 서비스 요청 정보에 대응되는 상기 DID 서비스를 상기 사용자 모바일 단말로 제공하도록 하는 프로세스를 수행하는 DID 인증 서버가 개시된다.According to another aspect of the present invention, there is provided a DID authentication server for providing an authentication service using a Decentralized Identity (DID) app, comprising: a memory in which instructions for providing an authentication service using the DID app are stored; and a processor that performs an operation for providing the authentication service using the DID app according to the instructions stored in the memory; the processor includes, (I) accessing a service web page or through a service app A service is provided in response to DID service request information for a DID service from a user mobile terminal using the service - The user mobile terminal is a terminal in which a DID app is installed in which the user has registered the user DID in a blockchain network composed of at least one node When the signature verification value generated by the server is transmitted to the user mobile terminal and the user mobile terminal transmits the signature verification value to the DID app of the mobile terminal, the DID app signs the signature verification value with the user's private key generating a user signature and sending the user signature and the user DID to the processor, and (II) when the user signature and the user DID from the DID app of the user mobile terminal are received, (i) ) obtain the user public key of the user from the block chain network using the user DID or obtain the public key from the block chain network through a resolver server, verify the user signature using the user public key, , transmits the signature verification result information verifying the user signature to the service providing server so that the service providing server provides the DID service corresponding to the DID service request information to the user mobile terminal with reference to the signature verification result information or (ii) transmit the user signature and the user DID to the service providing server so that the service providing server obtains the user public key of the user from the blockchain network using the user DID or the resolver to obtain the public key from the blockchain network through a server, and the user public Disclosed is a DID authentication server that verifies the user's signature using a key and then performs a process of providing the DID service corresponding to the DID service request information to the user mobile terminal.

일례로서, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 사용자 모바일 단말로 하여금 URL 스킴(scheme)을 통해 상기 서명확인값을 상기 DID 앱으로 전송하도록 하는 것을 특징으로 하는 DID 인증 서버가 개시된다.As an example, in the (I) process, the processor, a DID authentication server, characterized in that the user mobile terminal transmits the signature verification value to the DID app through a URL scheme is disclosed.

일례로서, 상기 프로세서는, 상기 사용자가 요청한 상기 DID 서비스에 대응하여 사용자 정보가 추가로 요구되어 상기 서비스 제공 서버가 상기 서명확인값과 함께 상기 사용자 정보에 대응되는 사용자 정보 리스트를 상기 사용자 모바일 단말에 전송하여 상기 서명확인값과 상기 사용자 정보 리스트가 상기 사용자 모바일 단말의 상기 DID 앱으로 전송된 경우, 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID에 더하여 상기 사용자 정보 리스트에 대응되는 상기 사용자 정보 또는 암호화된 사용자 정보를 상기 프로세서로 전송하도록 하여, 상기 서명 검증 결과 정보나 상기 사용자 서명과 상기 사용자 DID를 상기 서비스 제공 서버에 전송할 때 상기 사용자 정보 또는 상기 암호화된 사용자 정보를 함께 전송하는 것을 특징으로 하는 DID 인증 서버가 개시된다.As an example, the processor may additionally request user information in response to the DID service requested by the user, so that the service providing server provides a user information list corresponding to the user information along with the signature verification value to the user mobile terminal. When the signature verification value and the user information list are transmitted to the DID app of the user mobile terminal by transmission, the DID app of the user mobile terminal corresponds to the user information list in addition to the user signature and the user DID. transmits the user information or encrypted user information to the processor, and transmits the user information or the encrypted user information together when transmitting the signature verification result information or the user signature and the user DID to the service providing server DID authentication server is disclosed, characterized in that.

일례로서, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID와 함께 상기 서명확인값을 상기 프로세서로 전송하도록 하는 것을 특징으로 하는 DID 인증 서버가 개시된다.As an example, in the process (I), the processor causes the DID app of the user mobile terminal to transmit the signature verification value together with the user signature and the user DID to the processor. The server is started.

일례로서, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID와 함께 VC(verifiable credential) 또는 VP(verifiable presentation)을 상기 프로세서로 전송하도록 하는 것을 특징으로 하는 DID 인증 서버가 개시된다.As an example, in the (I) process, the processor causes the DID app of the user mobile terminal to transmit a verifiable credential (VC) or verifiable presentation (VP) together with the user signature and the user DID to the processor. DID authentication server is disclosed, characterized in that.

일례로서, 상기 (II) 프로세스에서, 상기 프로세서는, (i) 상기 사용자 모바일 단말의 상기 DID 앱으로부터 전송된 상기 사용자 서명과 상기 사용자 DID나 상기 사용자 서명과 상기 사용자 DID를 참조하여 생성한 상기 서명 검증 결과 정보를 HTTP 폴링(Polling)을 통해 상기 프로세서에 대응되는 DID 인증 웹 페이지로 전송되도록 하여, 상기 DID 인증 웹 페이지의 HTTP 리다이렉션(redirection)을 통해 상기 사용자 서명과 상기 사용자 DID나 상기 서명 검증 결과 정보를 상기 서비스 제공 서버로 전송하거나, (ii) 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID를 URL 스킴(scheme)을 통해 상기 사용자 모바일 단말로 전송하도록 하여, 상기 사용자 모바일 단말로 하여금 상기 사용자 서명과 상기 사용자 DID를 상기 HTTP 리다이렉션을 통해 상기 서비스 제공 서버로 전송하도록 하거나, (iii) 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 서명 확인값과 상기 사용자 DID를 상기 프로세서로 전송하도록 하여, 상기 사용자 모바일 단말로 하여금 상기 HTTP 폴링을 통해 상기 프로세서로부터 상기 서명 확인값과 상기 사용자 DID나 상기 사용자 서명과 상기 사용자 DID를 참조하여 생성한 상기 서명 검증 결과 정보를 획득하여 상기 HTTP 리다이렉션을 통해 상기 서비스 제공 서버에 전송하도록 하는 것을 특징으로 하는 DID 인증 서버가 개시된다.As an example, in the process (II), the processor is configured to: (i) the user signature and the user DID transmitted from the DID app of the user mobile terminal, or the signature generated by referring to the user signature and the user DID Verification result information is transmitted to a DID authentication web page corresponding to the processor through HTTP polling, and the user signature and the user DID or the signature verification result through HTTP redirection of the DID authentication web page transmit information to the service providing server, or (ii) cause the DID app of the user mobile terminal to transmit the user signature and the user DID to the user mobile terminal through a URL scheme, so that the user mobile have the terminal transmit the user signature and the user DID to the service providing server through the HTTP redirection, or (iii) have the DID app of the user mobile terminal transmit the signature verification value and the user DID to the processor The HTTP redirection allows the user mobile terminal to obtain the signature verification value and the user DID or the signature verification result information generated by referring to the user signature and the user DID from the processor through the HTTP polling Disclosed is a DID authentication server, characterized in that it is transmitted to the service providing server through

일례로서, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 서비스 제공 서버로 하여금, 상기 서명확인값만을 상기 사용자 모바일 단말에 전송하여 주거나, 상기 서명확인값과 함께 상기 사용자 DID를 상기 사용자 모바일 단말에 전송하도록 하는 것을 특징으로 하는 DID 인증 서버가 개시된다.As an example, in the (I) process, the processor causes the service providing server to transmit only the signature verification value to the user mobile terminal, or transmits the user DID together with the signature verification value to the user mobile terminal Disclosed is a DID authentication server, characterized in that it is transmitted.

이 외에도, 본 발명의 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.In addition to this, a computer-readable recording medium for recording a computer program for executing the method of the present invention is further provided.

본 발명에 의하면, 다음과 같은 효과가 있다.According to the present invention, the following effects are obtained.

본 발명은 서비스 제공 서버에서 아이디의 발급 없이 사용자 인증이 가능하게 된다.The present invention enables user authentication without issuing an ID in the service providing server.

본 발명은 사용자 인증을 위한 별도의 정보 요청 없이 서비스 제공 서버에서 사용자 인증이 가능하도록 할 수 있다.The present invention can enable user authentication in the service providing server without a separate request for information for user authentication.

본 발명은 사용자 단말의 탈중앙화 아이디 앱을 이용하여 사용자 인증을 수행할 수 있게 된다.According to the present invention, user authentication can be performed using the decentralized ID app of the user terminal.

본 발명은 본 발명은 탈중앙화 아이디 앱을 이용하여 서비스 제공 서버에 인증 서비스를 제공하여 줄 수 있다.The present invention can provide an authentication service to a service providing server using a decentralized ID app.

본 발명의 실시예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자(이하 "통상의 기술자")에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 본 발명의 일 실시예에 따른 탈중앙화 아이디 앱을 이용하여 서비스 제공 서버에 인증 서비스를 제공하여 주는 탈중앙화 아이디 인증 서버를 개략적으로 도시한 것이고,
도 2는 본 발명의 일 실시예에 따른 탈중앙화 아이디 앱을 이용하여 서비스 제공 서버에 인증 서비스를 제공하여 주는 방법을 개략적으로 도시한 것이고,
도 3은 본 발명의 다른 실시예에 따른 탈중앙화 아이디 앱을 이용하여 서비스 제공 서버에 인증 서비스를 제공하여 주는 방법을 개략적으로 도시한 것이고,
도 4는 본 발명의 또 다른 실시예에 따른 탈중앙화 아이디 앱을 이용하여 서비스 제공 서버에 인증 서비스를 제공하여 주는 방법을 개략적으로 도시한 것이다.
The accompanying drawings for use in the description of the embodiments of the present invention are only a part of the embodiments of the present invention, and for those of ordinary skill in the art to which the present invention pertains (hereinafter, "those of ordinary skill in the art"), the invention Other drawings may be obtained based on these drawings without any work being done.
1 schematically shows a decentralized ID authentication server that provides an authentication service to a service providing server using a decentralized ID app according to an embodiment of the present invention;
2 schematically illustrates a method for providing an authentication service to a service providing server using a decentralized ID app according to an embodiment of the present invention;
3 schematically illustrates a method for providing an authentication service to a service providing server using a decentralized ID app according to another embodiment of the present invention;
4 schematically illustrates a method for providing an authentication service to a service providing server using a decentralized ID app according to another embodiment of the present invention.

후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The following detailed description of the present invention refers to the accompanying drawings, which show by way of illustration a specific embodiment in which the present invention may be practiced, in order to clarify the objects, technical solutions and advantages of the present invention. These embodiments are described in sufficient detail to enable those skilled in the art to practice the present invention.

또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, "포함하다"라는 단어 및 그것의 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.Also, throughout this description and claims, the word "comprises" and variations thereof are not intended to exclude other technical features, additions, components or steps. Other objects, advantages and characteristics of the present invention will become apparent to a person skilled in the art in part from this description and in part from practice of the present invention. The following illustrations and drawings are provided by way of illustration and are not intended to limit the invention.

더욱이 본 발명은 본 명세서에 표시된 실시예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.Moreover, the invention encompasses all possible combinations of the embodiments indicated herein. It should be understood that the various embodiments of the present invention are different but need not be mutually exclusive. For example, certain shapes, structures, and characteristics described herein with respect to one embodiment may be implemented in other embodiments without departing from the spirit and scope of the invention. In addition, it should be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the present invention. Accordingly, the detailed description set forth below is not intended to be taken in a limiting sense, and the scope of the present invention, if properly described, is limited only by the appended claims, along with all scope equivalents as those claimed. Like reference numerals in the drawings refer to the same or similar functions throughout the various aspects.

이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings in order to enable those of ordinary skill in the art to easily practice the present invention.

도 1은 본 발명의 일 실시예에 따른 탈중앙화 아이디(Decentralized Identity; DID) 앱을 이용하여 서비스 제공 서버에 인증 서비스를 제공하여 주는 탈중앙화 아이디 인증 서버(100)를 개략적으로 도시한 것으로, 도 1을 참조하면, DID 인증 서버(100)는 DID 앱을 이용하여 서비스 제공 서버에 인증 서비스를 제공하기 위한 인스트럭션들이 저장된 메모리(110)와 메모리(110)에 저장된 인스트럭션들에 따라 DID 앱을 이용하여 서비스 제공 서버에 인증 서비스를 제공하기 위한 동작을 수행하는 프로세서(120)를 포함할 수 있다.1 schematically shows a decentralized identity authentication server 100 that provides an authentication service to a service providing server using a decentralized identity (DID) app according to an embodiment of the present invention. Referring to 1, the DID authentication server 100 uses the DID app according to the instructions stored in the memory 110 and the memory 110 in which instructions for providing an authentication service to the service providing server are stored using the DID app. The processor 120 may include an operation for providing an authentication service to the service providing server.

구체적으로, DID 인증 서버(100)는 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세스, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.Specifically, DID authentication server 100 is typically a computing device (eg, a device that may include computer processes, memory, storage, input and output devices, and other components of existing computing devices; routers, switches, etc.) electronic communication devices; electronic information storage systems such as network attached storage (NAS) and storage area networks (SANs)) and computer software (ie, instructions that cause the computing device to function in a particular way). It may be to achieve system performance.

이와 같은 컴퓨팅 장치의 통신부는 연동되는 타 컴퓨팅 장치와 요청과 응답을 송수신할 수 있는 바, 일 예시로서 그러한 요청과 응답은 동일한 TCP 세션에 의하여 이루어질 수 있지만, 이에 한정되지는 않는바, 예컨대 UDP 데이터그램으로서 송수신될 수도 있을 것이다.The communication unit of such a computing device may transmit/receive a request and a response to/from another computing device that is interlocked. As an example, such a request and a response may be made by the same TCP session, but is not limited thereto, for example, UDP data It may be transmitted and received as a gram.

또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 컴퓨팅 장치는 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.In addition, the processor of the computing device may include a hardware configuration such as a micro processing unit (MPU) or a central processing unit (CPU), a cache memory, and a data bus. In addition, the computing device may further include an operating system and a software configuration of an application for performing a specific purpose.

이와 같이 구성된 본 발명의 일 실시예에 따른 DID 인증 서버(100)를 기반으로 DID 앱을 이용하여 서비스 제공 서버에 인증 서비스를 제공하여 주는 방법을 도 2를 참조하여 설명하면 다음과 같다. 여기서, 도 2는 서비스 제공 서버가 사용자의 사용자 DID를 모르는 상태에서 DID 인증 서버(100)가 DID 앱을 이용하여 사용자에 대한 인증 서비스를 제공하는 방법을 도시하고 있다. A method of providing an authentication service to a service providing server using a DID app based on the DID authentication server 100 according to an embodiment of the present invention configured as described above will be described with reference to FIG. 2 . Here, FIG. 2 illustrates a method in which the DID authentication server 100 provides an authentication service to a user by using the DID app in a state where the service providing server does not know the user's DID of the user.

먼저, 사용자는 탈중앙화 아이디(decentralized identity; DID)를 생성하기 위하여 사용자 모바일 단말에 설치된 DID 앱(10)을 이용하여 블록체인 네트워크(200)로 DID 발급을 요청할 수 있다.First, a user may request issuance of a DID to the blockchain network 200 using the DID app 10 installed in the user's mobile terminal to generate a decentralized identity (DID).

그러면, 블록체인 네트워크(200)를 구성하는 블록체인 노드들 중 적어도 하나의 블록체인 노드가, 사용자 모바일 단말의 DID 앱(10)으로부터의 DID 발급 요청에 대응하여 사용자에 대응하는 사용자 DID를 생성하여 주며, 사용자의 사용자 DID에 대응되는 사용자 정보를 블록체인 네트워크(200)의 분산 원장에 등록하여 줄 수 있다. 이때, 사용자 정보는 사용자 DID, 사용자의 사용자 퍼블릭 키, 사용자의 개인 정보에 대한 인증 정보 등을 포함할 수 있으나, 이에 한정되지 않으며, 사용자의 사용자 DID와 관련한 다양한 정보를 포함할 수 있다.Then, at least one block chain node among block chain nodes constituting the block chain network 200 generates a user DID corresponding to the user in response to a DID issuance request from the DID app 10 of the user mobile terminal. In addition, user information corresponding to the user DID of the user can be registered in the distributed ledger of the block chain network 200 . In this case, the user information may include, but is not limited to, the user DID, the user public key of the user, authentication information for the user's personal information, and the like, and may include various information related to the user DID of the user.

그리고, 사용자 모바일 단말의 DID 앱(10)은 사용자의 사용자 DID와 관련한 개인 정보를 저장할 수 있다. 일 예로, 사용자 모바일 단말의 DID 앱(10)은 인증 서버에 의해 인증된 개인 정보에 대응하는 VC(verifiable credential)을 사용자 모바일 단말에 저장할 수 있다. 또한, 블록체인 네트워크(200)는 다수의 블록체인 노드들에 의해 분산 원장을 공유하며, 블록체인 노드들에 의한 분산 합의에 의해 검증된 트랜잭션들을 블록으로 구성하여 분산 원장에 저장할 수 있다.In addition, the DID app 10 of the user's mobile terminal may store personal information related to the user's user DID. For example, the DID app 10 of the user's mobile terminal may store a verifiable credential (VC) corresponding to the personal information authenticated by the authentication server in the user's mobile terminal. In addition, the blockchain network 200 shares the distributed ledger by a number of blockchain nodes, and can store transactions verified by the distributed consensus by the blockchain nodes into blocks and store them in the distributed ledger.

이와 같이 사용자의 사용자 DID가 생성된 상태에서, 사용자가 사용자 타 단말(20)을 사용하여 웹 브라우저를 통해 서비스 제공 서버(300)에 대응되는 서비스 웹 페이지에 접속하거나 서비스 앱을 통해 서비스를 이용하는 중, 사용자가 사용자 DID가 필요한 가입 서비스, 인증 서비스, 거래 서비스 등과 같은 DID 서비스를 선택하면, 사용자 타 단말(20)은 사용자가 선택한 DID 서비스에 대한 DID 서비스 요청 정보를 서비스 제공 서버(300)로 전송(S1)할 수 있다. 여기서, 사용자 타 단말(20)은 사용자가 적어도 하나 이상의 노드로 구성된 블록체인 네트워크(200)에 사용자 DID를 등록한 DID 앱이 설치된 사용자 모바일 단말과는 다른 단말이며, DID 앱이 설치된 사용자 모바일 단말과는 다른 모바일 단말, PC(personal computer), 랩탑, 태블릿 등과 같이 유무선 통신을 통해 서비스 제공 서버(300)에 접속할 수 있는 단말을 포함할 수 있다.In such a state that the user DID of the user is generated, the user accesses the service web page corresponding to the service providing server 300 through a web browser using the other user terminal 20 or uses the service through the service app , when the user selects a DID service such as a subscription service, authentication service, transaction service, etc. requiring user DID, the other user terminal 20 transmits DID service request information for the DID service selected by the user to the service providing server 300 (S1) You can. Here, the other user terminal 20 is a terminal different from the user mobile terminal in which the DID app is installed, in which the user registered the user DID in the block chain network 200 composed of at least one node, and is different from the user mobile terminal in which the DID app is installed Other mobile terminals, personal computers (PCs), laptops, tablets, etc. may include a terminal capable of accessing the service providing server 300 through wired/wireless communication.

사용자 타 단말(20)로부터의 DID 서비스 요청 정보에 대응하여, 서비스 제공 서버(300)는 서명확인값을 생성하고, 사용자의 사용자 DID를 알지 못하므로 사용자 DID 없이 서명확인값을 사용자 타 단말(20)로 전송(S2)하여 줄 수 있다. 이때, 서명확인값은 사용자 인증 데이터를 매번 다르게 하기 위하여 불규칙하게 생성한 값으로, 논스(nonce), 타임스탬프 등을 포함할 수 있으나, 이에 한정되지 않고 불규칙하게 생성된 임의의 값을 모두 포함할 수 있다. 그리고, 서비스 제공 서버(300)가 사용자 DID를 알지 못하는 경우는, 사용자가 사용자 타 단말(20)을 통해 서비스 제공 서버(300)에 로그인 하지 않은 상태이거나 서비스 제공 서버(300)에 회원으로 가입하지 않은 상태에서 서비스 제공 서버(300)에서 제공되는 서비스를 이용하고 있는 경우일 수 있다.In response to the DID service request information from the user other terminal 20, the service providing server 300 generates a signature verification value, and does not know the user DID of the user. ) to transmit (S2). At this time, the signature verification value is an irregularly generated value in order to vary the user authentication data each time, and may include a nonce, a timestamp, etc., but is not limited thereto, and may include all randomly generated values. can In addition, if the service providing server 300 does not know the user DID, the user does not log in to the service providing server 300 through the other user terminal 20 or join the service providing server 300 as a member It may be a case in which the service provided by the service providing server 300 is being used in a state where it is not.

또한, 서비스 제공 서버(300)는 사용자에 의해 요청된 DID 서비스가 회원가입 서비스와 같이 사용자 정보가 추가로 필요한 경우에는 이름, 전화번호 등과 같이 요구되는 사용자 정보에 대응되는 사용자 정보 리스트를 서명확인값과 동시에 사용자 타 단말(20)로 전송하여 줄 수 있다.In addition, when the DID service requested by the user requires additional user information such as a membership service, the service providing server 300 returns a user information list corresponding to the requested user information, such as a name and a phone number, as a signature verification value. At the same time, it can be transmitted to the other terminal 20 of the user.

그리고, 서비스 제공 서버(300)는 서명확인값을 전송할 때, HTTP 리다이렉션(redirection)을 사용하여 사용자 타 단말(20)로 전송하여 줄 수 있으며, 사용자 타 단말(20)은 서비스 제공 서버(300)로부터 전송되는 HTTP 리다이렉션을 이용하여 DID 인증 웹 페이지로 전환하여 서비스 제공 서버(300)로부터의 서명확인값이 DID 인증 서버(100)에 대응되는 DID 인증 웹 페이지로 전송(S3)되도록 할 수 있다.And, when the service providing server 300 transmits the signature verification value, it can be transmitted to the user other terminal 20 by using HTTP redirection, and the other user terminal 20 is the service providing server 300 . It is possible to switch to the DID authentication web page by using HTTP redirection transmitted from , so that the signature verification value from the service providing server 300 is transmitted to the DID authentication web page corresponding to the DID authentication server 100 (S3).

그리고, DID 인증 서버(100)는 DID 인증 웹 페이지를 통해 서명확인값에 대한 QR 코드를 생성(S4)하여 사용자 타 단말(20)로 전송(S5)하여 사용자 타 단말(20)이 서비스 웹 페이지나 서비스 앱을 통해 QR 코드를 디스플레이하여 사용자가 알 수 있도록 할 수 있다. 그러면, 사용자는 사용자 모바일 단말의 DID 앱(10)을 이용하여 사용자 타 단말(20)에 디스플레이되는 QR 코드를 촬영하여 획득(S6)할 수 있다.Then, the DID authentication server 100 generates a QR code for the signature verification value through the DID authentication web page (S4) and transmits it to the other user terminal 20 (S5), so that the other user terminal 20 is a service web page I can display a QR code through the service app so that the user knows. Then, the user can capture the QR code displayed on the other user terminal 20 by using the DID app 10 of the user's mobile terminal to obtain (S6).

이어서, 사용자 모바일 단말의 DID 앱(10)은 QR 코드를 해석하여 서명확인값을 획득하고, 사용자의 사용자 프라이빗 키로 서명확인값을 암호화하여 사용자의 사용자 서명을 생성(S7)할 수 있다.Subsequently, the DID app 10 of the user's mobile terminal interprets the QR code to obtain a signature verification value, and encrypts the signature verification value with the user's user private key to generate the user's user signature (S7).

이후, 사용자 모바일 단말의 DID 앱(10)은 사용자 서명과 사용자 DID를 DID 인증 서버(100)로 전송(S8)하여 줄 수 있다. 이때, 사용자 모바일 단말의 DID 앱(10)은 DID 인증 서버(100)의 사용자 서명 유효성 확인 작업을 위해 서명확인값을 추가하여 전송하여 줄 수 있다. 그리고, 사용자 모바일 단말의 DID 앱(10)은 QR 코드를 해석한 결과, 서명확인값 이외에 요청된 사용자 정보 리스트가 포함되어 있을 경우, 사용자 서명과 사용자 DID에 더하여 사용자 정보 리스트에 대응되는 사용자 정보 또는 암호화된 사용자 정보를 전송하여 줄 수 있다. 또한, 사용자 모바일 단말의 DID 앱(10)은 VC(verifiable credential) 또는 VP(verifiable presentation)을 추가하여 전송하여 줄 수 있다. Thereafter, the DID app 10 of the user mobile terminal may transmit the user signature and the user DID to the DID authentication server 100 (S8). In this case, the DID app 10 of the user's mobile terminal may add and transmit a signature verification value for the user signature validation operation of the DID authentication server 100 . And, as a result of analyzing the QR code, the DID app 10 of the user mobile terminal includes, in addition to the signature verification value, the requested user information list, user information corresponding to the user information list in addition to the user signature and user DID, or Encrypted user information can be transmitted. In addition, the DID app 10 of the user's mobile terminal may add and transmit a verifiable credential (VC) or a verifiable presentation (VP).

그리고, DID 인증 서버(100)는 사용자 모바일 단말의 DID 앱(10)로부터의 사용자 서명과 사용자 DID가 수신되면, 사용자 DID를 이용하여 블록체인 네트워크(200)로부터 사용자의 사용자 퍼블릭 키를 획득하거나 리졸버 서버(400)를 통해 사용자 퍼블릭 키를 요청(S9)하여 리졸버 서버(400)가 사용자 DID를 이용하여 블록체인 네트워크(200)로부터 사용자의 퍼블릭 키를 요청(S10)하여 획득(S11)하면, 리졸버 서버(400)로부터 사용자 퍼블릭 키를 획득(S12)할 수 있다. And, when the DID authentication server 100 receives the user signature and the user DID from the DID app 10 of the user's mobile terminal, the user's public key is obtained from the block chain network 200 by using the user DID or a resolver When the resolver server 400 requests (S10) and obtains (S11) the user's public key from the block chain network 200 using the user DID by requesting (S9) the user's public key through the server 400, the resolver A user public key may be obtained from the server 400 (S12).

이어서, DID 인증 서버(100)는 사용자 퍼블릭 키를 이용하여 사용자 서명을 복호화하여 획득한 서명확인값과 사용자 모바일 단말의 DID 앱(10)으로부터 사용자 서명과 함께 전송받은 서명확인값이 일치하는지 확인하여 사용자 서명의 유효성을 검증(S13)하고, 사용자 서명을 검증한 서명 검증 결과 정보를 서비스 제공 서버(100)로 전송(S14)할 수 있다. 이때, 서비스 제공 서버(100)에서 요청된 사용자 정보 리스트에 대응되는 사용자 정보 또는 암호화된 사용자 정보를 추가로 전송하여 줄 수 있다.Then, the DID authentication server 100 uses the user's public key to decrypt the user's signature and confirms that the obtained signature verification value matches the signature verification value transmitted along with the user's signature from the DID app 10 of the user's mobile terminal. The validity of the user's signature may be verified (S13), and signature verification result information obtained by verifying the user's signature may be transmitted to the service providing server 100 (S14). In this case, the service providing server 100 may additionally transmit user information corresponding to the requested user information list or encrypted user information.

그러면, 서비스 제공 서버(100)는 서명 검증 결과 정보를 참조하여 DID 서비스 요청 정보에 대응되는 DID 서비스를 사용자 타 단말(20)로 제공(S15)할 수 있다. 또한, 서비스 제공 서버(100)는 사용자 정보 리스트에 대응되어 획득되는 사용자 정보 또는 암호화된 사용자 정보를 이용하여 DID 서비스를 제공하기 위한 프로세스를 수행할 수 있다. Then, the service providing server 100 may provide the DID service corresponding to the DID service request information to the other user terminal 20 with reference to the signature verification result information (S15). In addition, the service providing server 100 may perform a process for providing the DID service by using user information obtained corresponding to the user information list or encrypted user information.

한편, 위의 설명에서는 DID 인증 서버(100)가 사용자 서명과 사용자 DID를 전송받아 사용자 서명의 유효성을 확인하였지만, 서비스 제공 서버(300)가 사용자 서명과 사용자 DID를 전송받아 사용자 서명의 유효성을 직접 확인할 수 있다. 이와 같이 DID 인증 서버(100)로부터 사용자의 사용자 서명과 사용자 DID를 서비스 제공 서버(300)로 전송하는 경우, 서비스 제공 서버(300)가 사용자 DID를 이용하여 블록체인 네트워크(200)로부터 사용자의 사용자 퍼블릭 키를 획득하거나 리졸버 서버(400)를 통해 블록체인 네트워크(200)로부터 사용자 퍼블릭 키를 획득하여, 사용자 퍼블릭 키를 이용하여 사용자 서명의 유효성을 검증한 다음, DID 서비스 요청 정보에 대응되는 DID 서비스를 사용자 타 단말(20)로 제공할 수 있다. 이때, 서비스 제공 서버(300)는 사용자 타 단말(20)로부터의 DID 서비스 요청에 대응하여 생성한 서명확인값을 이용하여 사용자 서명의 유효성을 검증할 수 있다. Meanwhile, in the above description, the DID authentication server 100 receives the user signature and the user DID to confirm the validity of the user signature, but the service providing server 300 receives the user signature and the user DID to directly check the validity of the user signature. can be checked In this way, when the user's signature and user DID are transmitted from the DID authentication server 100 to the service providing server 300 , the service providing server 300 uses the user DID to obtain the user's user from the blockchain network 200 . Obtain the public key or obtain the user public key from the blockchain network 200 through the resolver server 400, verify the validity of the user signature using the user public key, and then receive the DID service corresponding to the DID service request information. may be provided to the user other terminal 20 . In this case, the service providing server 300 may verify the validity of the user's signature by using the signature verification value generated in response to the DID service request from the other user terminal 20 .

여기서, DID 인증 서버(100)는 사용자 모바일 단말의 DID 앱(10)으로부터 사용자 서명과 사용자 DID가 전송되면, HTTP 폴링(Polling)을 통해 사용자 서명과 사용자 DID나 사용자 서명과 사용자 DID를 참조하여 생성한 서명 검증 결과 정보를 DID 인증 서버(100)에 대응되는 DID 인증 웹 페이지로 전송되도록 하여, DID 인증 웹 페이지의 HTTP 리다이렉션을 통해 사용자 서명과 사용자 DID나 서명 검증 결과 정보를 서비스 제공 서버(300)로 전송할 수 있다.Here, when the user signature and the user DID are transmitted from the DID app 10 of the user mobile terminal, the DID authentication server 100 generates the user signature and the user DID or the user signature and the user DID by referring to the HTTP polling. One signature verification result information is transmitted to the DID authentication web page corresponding to the DID authentication server 100, and the user signature and user DID or signature verification result information is provided through HTTP redirection of the DID authentication web page to the service providing server 300 can be sent to

도 1에서와 같이 구성된 본 발명의 일 실시예에 따른 DID 인증 서버(100)를 기반으로 DID 앱을 이용하여 서비스 제공 서버(300)에게 인증 서비스를 제공하여 주는 다른 방법을 도 3을 참조하여 설명하면 다음과 같다. 이하의 설명에서, 도 2의 설명으로부터 용이하게 이해 가능한 부분에 대해서는 상세한 설명을 생략하기로 한다. 그리고, 도 2를 참조한 설명은 서비스 제공 서버(300)가 사용자의 사용자 DID를 모르는 상태에서 인증 서비스를 제공하는 것이나, 이하의 도 3을 참조한 방법에서는 서비스 제공 서버(300)가 사용자의 사용자 DID를 알고 있는 상태에서 인증 서비스를 제공하는 것이다. 이때, 서비스 제공 서버(300)가 사용자 DID를 알고 있는 경우는, 사용자가 사용자 타 단말(20)을 통해 서비스 제공 서버(300)에 로그인하거나 사용자 DID를 서비스 제공 서버(300)에 제공한 상태에서 서비스 제공 서버(300)에서 제공되는 서비스를 이용하고 있는 경우일 수 있다.Another method of providing an authentication service to the service providing server 300 using a DID app based on the DID authentication server 100 according to an embodiment of the present invention configured as in FIG. 1 will be described with reference to FIG. 3 . If you do: In the following description, a detailed description of parts that can be easily understood from the description of FIG. 2 will be omitted. And, in the description with reference to FIG. 2, the service providing server 300 provides an authentication service in a state where the user's user DID is not known, but in the method with reference to FIG. It is to provide an authentication service in a known state. At this time, if the service providing server 300 knows the user DID, the user logs in to the service providing server 300 through the other user terminal 20 or in a state in which the user DID is provided to the service providing server 300 . It may be a case of using the service provided by the service providing server 300 .

먼저, 사용자는 탈중앙화 아이디(decentralized identity; DID)를 생성하기 위하여 사용자 모바일 단말에 설치된 DID 앱(10)을 이용하여 블록체인 네트워크(200)로 DID 발급을 요청할 수 있다.First, a user may request issuance of a DID to the blockchain network 200 using the DID app 10 installed in the user's mobile terminal to generate a decentralized identity (DID).

그러면, 블록체인 네트워크(200)를 구성하는 블록체인 노드들 중 적어도 하나의 블록체인 노드가, 사용자 모바일 단말의 DID 앱(10)으로부터의 DID 발급 요청에 대응하여 사용자에 대응하는 사용자 DID를 생성하여 주며, 사용자의 사용자 DID에 대응되는 사용자 정보를 블록체인 네트워크(200)의 분산 원장에 등록하여 줄 수 있다.Then, at least one block chain node among block chain nodes constituting the block chain network 200 generates a user DID corresponding to the user in response to a DID issuance request from the DID app 10 of the user mobile terminal. In addition, user information corresponding to the user DID of the user can be registered in the distributed ledger of the block chain network 200 .

이와 같이 사용자의 사용자 DID가 생성된 상태에서, 사용자가 사용자 타 단말(20)을 사용하여 웹 브라우저를 통해 서비스 제공 서버(300)에 대응되는 서비스 웹 페이지에 접속하거나 서비스 앱을 통해 서비스를 이용하는 중, 사용자가 사용자 DID가 필요한 가입 서비스, 인증 서비스, 거래 서비스 등과 같은 DID 서비스를 선택하면, 사용자 타 단말(20)은 사용자가 선택한 DID 서비스에 대한 DID 서비스 요청 정보를 서비스 제공 서버(300)로 전송(S21)할 수 있다. In such a state that the user DID of the user is generated, the user accesses the service web page corresponding to the service providing server 300 through a web browser using the other user terminal 20 or uses the service through the service app , when the user selects a DID service such as a subscription service, authentication service, transaction service, etc. requiring user DID, the other user terminal 20 transmits DID service request information for the DID service selected by the user to the service providing server 300 (S21) can be done.

사용자 타 단말(20)로부터의 DID 서비스 요청 정보에 대응하여, 서비스 제공 서버(300)는 서명확인값을 생성하고, 사용자 타 단말(20)로 서명확인값과 사용자의 사용자 DID를 전송(S22)하여 줄 수 있다.In response to the DID service request information from the other user terminal 20, the service providing server 300 generates a signature verification value, and transmits the signature verification value and the user DID of the user to the other user terminal 20 (S22) can give

또한, 서비스 제공 서버(300)는 사용자에 의해 요청된 DID 서비스가 회원가입 서비스와 같이 사용자 정보가 추가로 필요한 경우에는 이름, 전화번호 등과 같이 요구되는 사용자 정보에 대응되는 사용자 정보 리스트를 서명확인값과 동시에 사용자 타 단말(20)로 전송하여 줄 수 있다.In addition, when the DID service requested by the user requires additional user information such as a membership service, the service providing server 300 returns a user information list corresponding to the requested user information, such as a name and a phone number, as a signature verification value. At the same time, it can be transmitted to the other terminal 20 of the user.

그리고, 서비스 제공 서버(300)는 서명확인값과 사용자 DID를 전송할 때, HTTP 리다이렉션(redirection)을 사용하여 사용자 타 단말(20)로 전송하여 줄 수 있으며, 사용자 타 단말(20)은 서비스 제공 서버(300)로부터 전송되는 HTTP 리다이렉션을 이용하여 DID 인증 웹 페이지로 전환하여 서비스 제공 서버(300)로부터의 서명확인값과 사용자 DID가 DID 인증 서버(100)에 대응되는 DID 인증 웹 페이지로 전송(S23)되도록 할 수 있다.In addition, when the service providing server 300 transmits the signature verification value and the user DID, it may be transmitted to the user's other terminal 20 using HTTP redirection, and the user's other terminal 20 is a service providing server Switch to the DID authentication web page using HTTP redirection transmitted from 300, and the signature verification value and user DID from the service providing server 300 are transmitted to the DID authentication web page corresponding to the DID authentication server 100 (S23) ) can be done.

그리고, DID 인증 서버(100)는 DID 인증 웹 페이지를 통해 푸쉬로 전달되는 사용자 DID와 서명확인값을 획득한 후, 사용자 DID를 이용하여 서명확인값을 사용자 모바일 단말의 DID 앱(10)으로 전송(S24)하여 줄 수 있다.Then, the DID authentication server 100 acquires the user DID and signature confirmation value delivered by push through the DID authentication web page, and then transmits the signature confirmation value to the DID app 10 of the user mobile terminal using the user DID. (S24) can be given.

한편, 사용자 모바일 단말의 DID 앱(10)이 DID 인증 웹 페이지의 푸쉬를 통해 DID와 서명확인값을 전달받지 못하는 경우를 대비하여, DID 인증 서버(100)는 DID 인증 웹 페이지를 통해 서명확인값에 대한 QR 코드를 생성하여 사용자 타 단말(20)로 전송하여 사용자 타 단말이 서비스 웹 페이지나 서비스 앱을 통해 QR 코드를 디스플레이하여 사용자가 알 수 있도록 할 수 있다. 그러면, 사용자는 사용자 모바일 단말의 DID 앱(10)을 이용하여 사용자 타 단말(20)에 디스플레이되는 QR 코드를 촬영하여 획득할 수 있으며, 사용자 모바일 단말의 DID 앱(10)은 QR 코드를 해석하여 서명확인값을 획득할 수 있다.On the other hand, in case the DID app 10 of the user's mobile terminal does not receive the DID and the signature verification value through the push of the DID authentication web page, the DID authentication server 100 provides the signature verification value through the DID authentication web page. By generating a QR code for the user and transmitting it to the other terminal 20, the other user terminal can display the QR code through a service web page or a service app so that the user can know. Then, the user can obtain by photographing the QR code displayed on the user's other terminal 20 using the DID app 10 of the user's mobile terminal, and the DID app 10 of the user's mobile terminal interprets the QR code A signature verification value can be obtained.

그러면, 사용자 모바일 단말의 DID 앱(10)은 사용자의 사용자 프라이빗 키로 서명확인값을 암호화하여 사용자의 사용자 서명을 생성(S25)할 수 있다.Then, the DID app 10 of the user's mobile terminal may generate the user's user signature by encrypting the signature verification value with the user's user private key (S25).

이후, 사용자 모바일 단말의 DID 앱(10)은 사용자 서명과 사용자 DID를 DID 인증 서버(100)로 전송(S26)하여 줄 수 있다. 이때, 사용자 모바일 단말의 DID 앱(10)은 DID 인증 서버(100)의 사용자 서명 유효성 확인 작업을 위해 서명확인값을 추가하여 전송하여 줄 수 있다. 그리고, 사용자 모바일 단말의 DID 앱(10)은 서명확인값 이외에 요청된 사용자 정보 리스트가 포함되어 있을 경우, 사용자 서명과 사용자 DID에 더하여 사용자 정보 리스트에 대응되는 사용자 정보 또는 암호화된 사용자 정보를 전송하여 줄 수 있다. 또한, 사용자 모바일 단말의 DID 앱(10)은 VC(verifiable credential) 또는 VP(verifiable presentation)을 추가하여 전송하여 줄 수 있다.Thereafter, the DID app 10 of the user mobile terminal may transmit the user signature and the user DID to the DID authentication server 100 ( S26 ). In this case, the DID app 10 of the user's mobile terminal may add and transmit a signature verification value for the user signature validation operation of the DID authentication server 100 . And, when the DID app 10 of the user mobile terminal includes the requested user information list in addition to the signature verification value, in addition to the user signature and the user DID, user information corresponding to the user information list or encrypted user information is transmitted. can give In addition, the DID app 10 of the user's mobile terminal may add and transmit a verifiable credential (VC) or a verifiable presentation (VP).

그리고, DID 인증 서버(100)는 사용자 모바일 단말의 DID 앱(10)으로부터의 사용자 서명과 사용자 DID가 수신되면, 사용자 DID를 이용하여 블록체인 네트워크(200)로부터 사용자의 사용자 퍼블릭 키를 획득하거나 리졸버 서버(400)를 통해 사용자 퍼블릭 키를 요청(S27)하여 리졸버 서버(400)가 사용자 DID를 이용하여 블록체인 네트워크(200)로부터 사용자 퍼블릭 키를 요청(S28)하여 획득(S29)하면, 리졸버 서버(400)로부터 사용자 퍼블릭 키를 획득(S30)할 수 있다. Then, when the DID authentication server 100 receives the user signature and the user DID from the DID app 10 of the user's mobile terminal, the user's public key is obtained from the block chain network 200 by using the user DID or a resolver When the resolver server 400 requests (S28) and obtains (S29) the user public key from the blockchain network 200 using the user DID by requesting (S27) the user public key through the server 400, the resolver server A user public key may be obtained from ( 400 ) ( S30 ).

이어서, DID 인증 서버(100)는 사용자 퍼블릭 키를 이용하여 사용자 서명을 복호화하여 획득한 서명확인값과 사용자 모바일 단말의 DID 앱(10)으로부터 사용자 서명과 함께 전송받은 서명확인값이 일치하는지 확인하여 사용자 서명의 유효성을 검증(S31)하고, 사용자 서명을 검증한 서명 검증 결과 정보를 서비스 제공 서버(100)로 전송(S32)할 수 있다. 이때, 서비스 제공 서버(100)에서 요청된 사용자 정보 리스트에 대응되는 사용자 정보 또는 암호화된 사용자 정보를 추가로 전송하여 줄 수 있다.Then, the DID authentication server 100 uses the user's public key to decrypt the user's signature and confirms that the obtained signature verification value matches the signature verification value transmitted along with the user's signature from the DID app 10 of the user's mobile terminal. The validity of the user's signature may be verified (S31), and signature verification result information obtained by verifying the user's signature may be transmitted to the service providing server 100 (S32). In this case, the service providing server 100 may additionally transmit user information corresponding to the requested user information list or encrypted user information.

그러면, 서비스 제공 서버(100)는 서명 검증 결과 정보를 참조하여 DID 서비스 요청 정보에 대응되는 DID 서비스를 사용자 타 단말(20)로 제공(S33)할 수 있다. 또한, 서비스 제공 서버(100)는 사용자 정보 리스트에 대응되어 획득되는 사용자 정보 또는 암호화된 사용자 정보를 이용하여 DID 서비스를 제공하기 위한 프로세스를 수행할 수 있다.Then, the service providing server 100 may provide the DID service corresponding to the DID service request information to the other user terminal 20 with reference to the signature verification result information ( S33 ). In addition, the service providing server 100 may perform a process for providing the DID service by using user information obtained corresponding to the user information list or encrypted user information.

한편, 위의 설명에서는 DID 인증 서버(100)가 사용자 서명과 사용자 DID를 전송받아 사용자 서명의 유효성을 확인하였지만, 서비스 제공 서버(300)가 사용자 서명과 사용자 DID를 전송받아 사용자 서명의 유효성을 직접 확인할 수 있다. 이와 같이 DID 인증 서버(100)로부터 사용자의 사용자 서명과 사용자 DID를 서비스 제공 서버(300)로 전송하는 경우, 서비스 제공 서버(300)가 사용자 DID를 이용하여 블록체인 네트워크(200)로부터 사용자의 사용자 퍼블릭 키를 획득하거나 리졸버 서버(400)를 통해 블록체인 네트워크(200)로부터 사용자 퍼블릭 키를 획득하여, 사용자 퍼블릭 키를 이용하여 사용자 서명의 유효성을 검증한 다음, DID 서비스 요청 정보에 대응되는 DID 서비스를 사용자 타 단말(20)로 제공할 수 있다. 이때, 서비스 제공 서버(300)는 사용자 타 단말(20)로부터의 DID 서비스 요청에 대응하여 생성한 서명확인값을 이용하여 사용자 서명의 유효성을 검증할 수 있다.Meanwhile, in the above description, the DID authentication server 100 receives the user signature and the user DID to confirm the validity of the user signature, but the service providing server 300 receives the user signature and the user DID to directly check the validity of the user signature. can be checked In this way, when the user's signature and user DID are transmitted from the DID authentication server 100 to the service providing server 300 , the service providing server 300 uses the user DID to obtain the user's user from the blockchain network 200 . Obtain the public key or obtain the user public key from the blockchain network 200 through the resolver server 400, verify the validity of the user signature using the user public key, and then receive the DID service corresponding to the DID service request information. may be provided to the user other terminal 20 . In this case, the service providing server 300 may verify the validity of the user's signature by using the signature verification value generated in response to the DID service request from the other user terminal 20 .

여기서, DID 인증 서버(100)는 사용자 모바일 단말의 DID 앱(10)으로부터 사용자 서명과 사용자 DID가 전송되면, HTTP 폴링(Polling)을 통해 사용자 서명과 사용자 DID나 사용자 서명과 사용자 DID를 참조하여 생성한 서명 검증 결과 정보를 DID 인증 서버(100)에 대응되는 DID 인증 웹 페이지로 전송되도록 하여, DID 인증 웹 페이지의 HTTP 리다이렉션을 통해 사용자 서명과 사용자 DID나 서명 검증 결과 정보를 서비스 제공 서버(300)로 전송할 수 있다.Here, when the user signature and the user DID are transmitted from the DID app 10 of the user mobile terminal, the DID authentication server 100 generates the user signature and the user DID or the user signature and the user DID by referring to the HTTP polling. One signature verification result information is transmitted to the DID authentication web page corresponding to the DID authentication server 100, and the user signature and user DID or signature verification result information is provided through HTTP redirection of the DID authentication web page to the service providing server 300 can be sent to

도 1에서와 같이 구성된 본 발명의 일 실시예에 따른 DID 인증 서버(100)를 기반으로 DID 앱을 이용하여 서비스 제공 서버(300)에 인증 서비스를 제공하여 주는 또 다른 방법을 도 4를 참조하여 설명하면 다음과 같다. 이하의 설명에서, 도 2 및 도 3의 설명으로부터 용이하게 이해 가능한 부분에 대해서는 상세한 설명을 생략하기로 한다. 여기서, 도 4는 사용자가 사용자 타 단말 대신에 사용자가 DID를 등록한 DID 앱이 설치되어 있는 사용자 모바일 단말을 이용하여 DID 서비스를 요청할 때, DID 인증 서버(100)가 DID 앱을 이용하여 사용자에 대한 인증 서비스를 제공하는 방법을 도시하고 있다. Referring to FIG. 4, another method of providing an authentication service to the service providing server 300 using a DID app based on the DID authentication server 100 according to an embodiment of the present invention configured as shown in FIG. The explanation is as follows. In the following description, detailed descriptions of parts that can be easily understood from the descriptions of FIGS. 2 and 3 will be omitted. Here, FIG. 4 shows that when a user requests a DID service using a user mobile terminal in which the DID app registered by the user is installed instead of the user's other terminal, the DID authentication server 100 uses the DID app to provide A method of providing an authentication service is shown.

먼저, 사용자는 탈중앙화 아이디(decentralized identity; DID)를 생성하기 위하여 사용자 모바일 단말에 설치된 DID 앱(10)을 이용하여 블록체인 네트워크(200)로 DID 발급을 요청할 수 있다.First, a user may request issuance of a DID to the blockchain network 200 using the DID app 10 installed in the user's mobile terminal to generate a decentralized identity (DID).

그러면, 블록체인 네트워크(200)를 구성하는 블록체인 노드들 중 적어도 하나의 블록체인 노드가, 사용자 모바일 단말의 DID 앱(10)으로부터의 DID 발급 요청에 대응하여 사용자에 대응하는 사용자 DID를 생성하여 주며, 사용자의 사용자 DID에 대응되는 사용자 정보를 블록체인 네트워크(200)의 분산 원장에 등록하여 줄 수 있다. 이때, 사용자 정보는 사용자 DID, 사용자의 사용자 퍼블릭 키, 사용자의 개인 정보에 대한 인증 정보 등을 포함할 수 있으나, 이에 한정되지 않으며, 사용자의 사용자 DID와 관련한 다양한 정보를 포함할 수 있다.Then, at least one block chain node among block chain nodes constituting the block chain network 200 generates a user DID corresponding to the user in response to a DID issuance request from the DID app 10 of the user mobile terminal. In addition, user information corresponding to the user DID of the user can be registered in the distributed ledger of the block chain network 200 . In this case, the user information may include, but is not limited to, the user DID, the user public key of the user, authentication information for the user's personal information, and the like, and may include various information related to the user DID of the user.

그리고, 사용자 모바일 단말의 DID 앱(10)은 사용자의 사용자 DID와 관련한 개인 정보를 저장할 수 있다. 일 예로, 사용자 모바일 단말의 DID 앱(10)은 인증 서버에 의해 인증된 개인 정보에 대응하는 VC(verifiable credential)을 사용자 모바일 단말에 저장할 수 있다. 또한, 블록체인 네트워크(200)는 다수의 블록체인 노드들에 의해 분산 원장을 공유하며, 블록체인 노드들에 의한 분산 합의에 의해 검증된 트랜잭션들을 블록으로 구성하여 분산 원장에 저장할 수 있다.In addition, the DID app 10 of the user's mobile terminal may store personal information related to the user's user DID. For example, the DID app 10 of the user's mobile terminal may store a verifiable credential (VC) corresponding to the personal information authenticated by the authentication server in the user's mobile terminal. In addition, the blockchain network 200 shares the distributed ledger by a number of blockchain nodes, and can store transactions verified by the distributed consensus by the blockchain nodes into blocks and store them in the distributed ledger.

이와 같이 사용자의 사용자 DID가 생성된 상태에서, 사용자가 사용자 DID를 등록한 DID 앱이 설치된 사용자 모바일 단말을 사용하여 웹 브라우저를 통해 서비스 제공 서버(300)에 대응되는 서비스 웹 페이지에 접속하거나 서비스 앱을 통해 서비스를 이용하는 중, 사용자가 사용자 DID가 필요한 가입 서비스, 인증 서비스, 거래 서비스 등과 같은 DID 서비스를 선택하면, 사용자 모바일 단말의 서비스 웹 페이지나 서비스 앱(11)은 사용자가 선택한 DID 서비스에 대한 DID 서비스 요청 정보를 서비스 제공 서버(300)로 전송(S41)할 수 있다.In such a state that the user DID of the user is generated, the user accesses the service web page corresponding to the service providing server 300 through a web browser using the user mobile terminal in which the DID app registered with the user DID is installed or uses the service app. When the user selects a DID service such as a subscription service, authentication service, or transaction service that requires user DID while using the service through the service, the service web page or service app 11 of the user's mobile terminal displays the DID for the DID service selected by the user. The service request information may be transmitted to the service providing server 300 ( S41 ).

사용자 모바일 단말의 서비스 웹 페이지나 서비스 앱(11)으로부터의 DID 서비스 요청 정보에 대응하여, 서비스 제공 서버(300)는 서명확인값을 생성하여 사용자 모바일 단말의 서비스 웹 페이지나 서비스 앱(11)으로 서명확인값을 전송(S42)하여 줄 수 있다. 이때, 서비스 제공 서버(300)는 서명확인값만을 전송하거나, 서명확인값에 더하여 사용자의 사용자 DID를 추가적으로 전송할 수 있다.In response to the DID service request information from the service web page or service app 11 of the user mobile terminal, the service providing server 300 generates a signature verification value and sends it to the service web page or service app 11 of the user mobile terminal. The signature confirmation value may be transmitted (S42). In this case, the service providing server 300 may transmit only the signature verification value or additionally transmit the user DID of the user in addition to the signature verification value.

또한, 서비스 제공 서버(300)는 사용자에 의해 요청된 DID 서비스가 회원가입 서비스와 같이 사용자 정보가 추가로 필요한 경우에는 이름, 전화번호 등과 같이 요구되는 사용자 정보에 대응되는 사용자 정보 리스트를 서명확인값과 동시에 사용자 모바일 단말의 서비스 웹 페이지나 서비스 앱(11)으로 전송하여 줄 수 있다.In addition, when the DID service requested by the user requires additional user information such as a membership service, the service providing server 300 returns a user information list corresponding to the requested user information, such as a name and a phone number, as a signature verification value. At the same time, it can be transmitted to the service web page or service app 11 of the user's mobile terminal.

그러면, 사용자 모바일 단말의 서비스 웹 페이지나 서비스 앱(11)는 URL 스킴(scheme)을 통해 서비스 제공 서버(300)로부터 전달받은 서명확인값을 모바일 단말의 DID 앱(10)으로 전송(S43)하여 줄 수 있다.Then, the service web page or service app 11 of the user mobile terminal transmits (S43) the signature verification value received from the service providing server 300 through the URL scheme to the DID app 10 of the mobile terminal (S43) can give

이후, 모바일 단말의 DID 앱(10)은 사용자의 사용자 프라이빗 키로 서명확인값을 암호화하여 사용자의 사용자 서명을 생성(S44)할 수 있다.Thereafter, the DID app 10 of the mobile terminal may generate the user's user signature by encrypting the signature verification value with the user's user private key (S44).

그리고, 사용자 모바일 단말의 DID 앱(10)은 사용자 서명과 사용자 DID를 DID 인증 서버(100)로 전송(S45)할 수 있다. 이때, 사용자 모바일 단말의 DID 앱(10)은 서명확인값 이외에 요청된 사용자 정보 리스트가 포함되어 있을 경우, 사용자 서명과 사용자 DID에 더하여 사용자 정보 리스트에 대응되는 사용자 정보 또는 암호화된 사용자 정보를 전송하여 줄 수 있다. 그리고, 사용자 모바일 단말의 DID 앱(10)은 DID 인증 서버(100)의 사용자 서명 유효성 확인 작업을 위해 서명확인값을 추가하여 전송할 수 있다. 또한, 사용자 모바일 단말의 DID 앱(10)은 VC(verifiable credential) 또는 VP(verifiable presentation)을 추가하여 전송하여 줄 수 있다.Then, the DID app 10 of the user mobile terminal may transmit the user signature and the user DID to the DID authentication server 100 (S45). At this time, when the DID app 10 of the user mobile terminal includes the requested user information list in addition to the signature verification value, in addition to the user signature and user DID, user information corresponding to the user information list or encrypted user information is transmitted. can give In addition, the DID app 10 of the user's mobile terminal may add and transmit a signature verification value for the user signature validation operation of the DID authentication server 100 . In addition, the DID app 10 of the user's mobile terminal may add and transmit a verifiable credential (VC) or a verifiable presentation (VP).

다음으로, DID 인증 서버(100)는 사용자 모바일 단말의 DID 앱(10)으로부터의 사용자 서명과 사용자 DID가 수신되면, 사용자 DID를 이용하여 블록체인 네트워크(200)로부터 사용자의 사용자 퍼블릭 키를 획득하거나 리졸버 서버(400)를 통해 사용자 퍼블릭 키를 요청(S46)하여 리졸버 서버(400)가 사용자 DID를 이용하여 블록체인 네트워크(200)로부터 사용자의 사용자 퍼블릭 키를 요청(S47)하여 획득(S48)하면, 리졸버 서버(400)로부터 사용자 퍼블릭 키를 획득(S49)할 수 있다. Next, when the DID authentication server 100 receives the user signature and the user DID from the DID app 10 of the user's mobile terminal, the user's user public key is obtained from the blockchain network 200 using the user DID, or When the resolver server 400 requests (S47) and obtains (S48) the user public key from the block chain network 200 using the user DID by requesting the user public key through the resolver server 400 (S46) , it is possible to obtain a user public key from the resolver server 400 (S49).

이어서, DID 인증 서버(100)는 사용자 퍼블릭 키를 이용하여 사용자 서명을 복호화하여 획득한 서명확인값과 사용자 모바일 단말의 DID 앱(10)으로부터 사용자 서명과 함께 전송받은 서명확인값이 일치하는지 확인하여 사용자 서명의 유효성을 검증(S50)하고, 사용자 서명을 검증한 서명 검증 결과 정보를 서비스 제공 서버(100)로 전송(S51)할 수 있다. 이때, 서비스 제공 서버(100)에서 요청된 사용자 정보 리스트에 대응되는 사용자 정보 또는 암호화된 사용자 정보를 추가로 전송하여 줄 수 있다.Then, the DID authentication server 100 uses the user's public key to decrypt the user's signature and confirms that the obtained signature verification value matches the signature verification value transmitted along with the user's signature from the DID app 10 of the user's mobile terminal. The validity of the user's signature may be verified (S50), and signature verification result information obtained by verifying the user's signature may be transmitted to the service providing server 100 (S51). In this case, the service providing server 100 may additionally transmit user information corresponding to the requested user information list or encrypted user information.

그러면, 서비스 제공 서버(100)는 서명 검증 결과 정보를 참조하여 DID 서비스 요청 정보에 대응되는 DID 서비스를 사용자 모바일 단말의 서비스 웹 페이지나 서비스 앱(11)으로 제공(S52)할 수 있다. 또한, 서비스 제공 서버(100)는 사용자 정보 리스트에 대응되어 획득되는 사용자 정보 또는 암호화된 사용자 정보를 이용하여 DID 서비스를 제공하기 위한 프로세스를 수행할 수 있다.Then, the service providing server 100 may provide the DID service corresponding to the DID service request information to the service web page or the service app 11 of the user mobile terminal (S52) with reference to the signature verification result information. In addition, the service providing server 100 may perform a process for providing the DID service by using user information obtained corresponding to the user information list or encrypted user information.

한편, 위의 설명에서는 DID 인증 서버(100)가 사용자 서명과 사용자 DID를 전송받아 사용자 서명의 유효성을 확인하였지만, 서비스 제공 서버(300)가 사용자 서명과 사용자 DID를 전송받아 사용자 서명의 유효성을 직접 확인할 수 있다. 이와 같이 DID 인증 서버(100)로부터 사용자의 사용자 서명과 사용자 DID를 서비스 제공 서버(300)로 전송하는 경우, 서비스 제공 서버(300)가 사용자 DID를 이용하여 블록체인 네트워크(200)로부터 사용자의 사용자 퍼블릭 키를 획득하거나 리졸버 서버(400)를 통해 블록체인 네트워크(200)로부터 퍼블릭 키를 획득하여, 사용자 퍼블릭 키를 이용하여 사용자 서명의 유효성을 검증한 다음, DID 서비스 요청 정보에 대응되는 DID 서비스를 사용자 모바일 단말의 서비스 웹 페이지나 서비스 앱(11)으로 제공할 수 있다.Meanwhile, in the above description, the DID authentication server 100 receives the user signature and the user DID to confirm the validity of the user signature, but the service providing server 300 receives the user signature and the user DID to directly check the validity of the user signature. can be checked In this way, when the user's signature and user DID are transmitted from the DID authentication server 100 to the service providing server 300 , the service providing server 300 uses the user DID to obtain the user's user from the blockchain network 200 . Obtain the public key or obtain the public key from the blockchain network 200 through the resolver server 400, verify the validity of the user signature using the user public key, and then provide the DID service corresponding to the DID service request information. It may be provided as a service web page or service app 11 of the user's mobile terminal.

또한, DID 인증 서버(100)로부터 서비스 제공 서버(300)로 사용자 서명과 사용자 DID나 사용자 서명과 사용자 DID를 참조하여 생성한 서명 검증 결과 정보를 전송할 때, DID 인증 서버(100)는 사용자 모바일 단말의 DID 앱(10)으로부터 전송된 사용자 서명과 사용자 DID나 사용자 서명과 사용자 DID를 참조하여 생성한 서명 검증 결과 정보를 HTTP 폴링(Polling)을 통해 DID 인증 서버(100)에 대응되는 DID 인증 웹 페이지로 전송되도록 하여, DID 인증 웹 페이지의 HTTP 리다이렉션(redirection)을 통해 사용자 서명과 사용자 DID나 서명 검증 결과 정보를 서비스 제공 서버(300)로 전송하거나, 사용자 모바일 단말의 DID 앱(10)으로 하여금 서명 확인값과 사용자 DID를 DID 인증 서버(100)로 전송하도록 하여, 사용자 모바일 단말의 서비스 웹 페이지나 서비스 앱(11)으로 하여금 HTTP 폴링을 통해 DID 인증 서버(100)로부터 서명 확인값과 사용자 DID나 사용자 서명과 사용자 DID를 참조하여 생성한 서명 검증 결과 정보를 획득하여 HTTP 리다이렉션을 통해 서비스 제공 서버(300)에 전송하도록 할 수 있다.In addition, when transmitting the signature verification result information generated by referring to the user signature and the user DID or the user signature and the user DID from the DID authentication server 100 to the service providing server 300 , the DID authentication server 100 is the user mobile terminal DID authentication web page corresponding to the DID authentication server 100 through HTTP polling of the signature verification result information generated by referring to the user signature and the user DID or the user signature and the user DID transmitted from the DID app 10 of to transmit the user signature and user DID or signature verification result information to the service providing server 300 through HTTP redirection of the DID authentication web page, or have the DID app 10 of the user's mobile terminal sign By sending the confirmation value and the user DID to the DID authentication server 100, the service web page or service app 11 of the user mobile terminal receives the signature confirmation value and the user DID from the DID authentication server 100 through HTTP polling. The signature verification result information generated by referring to the user signature and the user DID may be acquired and transmitted to the service providing server 300 through HTTP redirection.

위의 전송방법 외에도, 사용자 모바일 DID 앱(10)이 서비스 제공 서버(300)로 바로 사용자 서명과 사용자 DID를 전송할 때는 사용자 서명과 사용자 DID를 URL 스킴(scheme)을 통해 사용자 모바일 단말의 서비스 웹 페이지나 서비스 앱(11)으로 전송하여, 사용자 모바일 단말의 서비스 웹 페이지나 서비스 앱(11)으로 하여금 사용자 서명과 사용자 DID를 HTTP 리다이렉션을 통해 서비스 제공 서버(300)로 전송하도록 할 수도 있다.In addition to the above transmission method, when the user mobile DID app 10 directly transmits the user signature and the user DID to the service providing server 300, the user signature and the user DID are transferred to the service web page of the user mobile terminal through the URL scheme. By transmitting to the service app 11 , the service web page or service app 11 of the user mobile terminal may transmit the user signature and the user DID to the service providing server 300 through HTTP redirection.

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

이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.In the above, the present invention has been described with specific matters such as specific components and limited embodiments and drawings, but these are provided to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , various modifications and variations can be devised from these descriptions by those of ordinary skill in the art to which the present invention pertains.

따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be limited to the above-described embodiments, and not only the claims described below, but also all modifications equivalently or equivalently to the claims described below belong to the scope of the spirit of the present invention. will do it

10: 사용자 모바일 단말의 DID 앱,
11: 사용자 모바일 단말의 서비스 웹 페이지나 서비스 앱,
20: 사용자 타 단말,
100: DID 인증 서버,
110: 메모리,
120: 프로세서,
200: 블록체인 네트워크,
300: 서비스 제공 서버,
400: 리졸버 서버
10: DID app of the user's mobile terminal,
11: The service web page or service app of the user's mobile device;
20: user other terminal,
100: DID authentication server;
110: memory,
120: processor;
200: blockchain network,
300: service providing server;
400: resolver server

Claims (30)

탈중앙화 아이디(Decentralized Identity; DID) 앱을 이용하여 인증 서비스를 제공하는 방법에 있어서,
(a) 서비스 웹 페이지에 접속하거나 서비스 앱을 통해 서비스를 이용하는 사용자 타 단말 - 상기 사용자 타 단말은 사용자가 적어도 하나 이상의 노드로 구성된 블록체인 네트워크에 사용자 DID를 등록한 DID 앱이 설치된 사용자 모바일 단말과는 다른 단말임 - 로부터의 DID 서비스에 대한 DID 서비스 요청 정보에 대응하여 서비스 제공 서버에서 생성된 서명확인값이 상기 사용자 타 단말을 통해 전송되면, DID 인증 서버가, 상기 서명확인값을 상기 사용자 모바일 단말로 전송하여 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 서명확인값을 사용자 프라이빗 키로 서명한 사용자 서명을 생성하도록 하고 상기 사용자 서명과 상기 사용자 DID를 상기 DID 인증 서버로 전송하도록 하는 단계; 및
(b) 상기 DID 인증 서버가, 상기 사용자 모바일 단말의 상기 DID 앱으로부터의 상기 사용자 서명과 상기 사용자 DID가 수신되면, (i) 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자의 사용자 퍼블릭 키를 획득하거나 리졸버 서버를 통해 상기 블록체인 네트워크로부터 상기 퍼블릭 키를 획득하며, 상기 사용자 퍼블릭 키를 이용하여 상기 사용자 서명을 검증하고, 상기 사용자 서명을 검증한 서명 검증 결과 정보를 상기 서비스 제공 서버로 전송하여 상기 서비스 제공 서버로 하여금 상기 서명 검증 결과 정보를 참조하여 상기 DID 서비스 요청 정보에 대응되는 DID 서비스를 상기 사용자 타 단말로 제공하도록 하거나, (ii) 상기 사용자 서명과 상기 사용자 DID를 상기 서비스 제공 서버로 전송하여 상기 서비스 제공 서버로 하여금, 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자의 사용자 퍼블릭 키를 획득하거나 상기 리졸버 서버를 통해 상기 블록체인 네트워크로부터 상기 퍼블릭 키를 획득하도록 하며, 상기 사용자 퍼블릭 키를 이용하여 상기 사용자 서명을 검증하도록 한 다음, 상기 DID 서비스 요청 정보에 대응되는 상기 DID 서비스를 상기 사용자 타 단말로 제공하도록 하는 단계;
를 포함하는 방법.
In the method of providing an authentication service using a decentralized identity (DID) app,
(a) User's other terminal accessing the service web page or using the service through the service app When the signature verification value generated by the service providing server in response to the DID service request information for the DID service from the other terminal is transmitted through the user's other terminal, the DID authentication server sends the signature verification value to the user's mobile terminal sending the DID app of the user mobile terminal to generate a user signature in which the signature verification value is signed with a user private key, and transmitting the user signature and the user DID to the DID authentication server; and
(b) when the DID authentication server receives the user signature and the user DID from the DID app of the user mobile terminal, (i) the user public key of the user from the blockchain network using the user DID obtains or obtains the public key from the blockchain network through a resolver server, verifies the user signature using the user public key, and transmits the signature verification result information obtained by verifying the user signature to the service providing server to cause the service providing server to provide the DID service corresponding to the DID service request information to the other user terminal with reference to the signature verification result information, or (ii) provide the user signature and the user DID to the service providing server so that the service providing server obtains the user public key of the user from the block chain network using the user DID or obtains the public key from the block chain network through the resolver server, the user verifying the user's signature using a public key and then providing the DID service corresponding to the DID service request information to the other user terminal;
How to include.
제1항에 있어서,
상기 (a) 단계에서,
상기 DID 인증 서버가, (i) 상기 서비스 제공 서버로부터 상기 사용자 DID가 수신되지 않을 경우에는, 상기 서명확인값에 대한 QR 코드를 생성하여 상기 사용자 타 단말로 전송하여 상기 사용자 타 단말이 상기 QR 코드를 디스플레이하도록 하고, 상기 사용자가 상기 사용자 모바일 단말을 통해 상기 사용자 타 단말에 디스플레이되는 상기 QR 코드를 통해 상기 서명확인값을 획득하도록 함으로써 상기 서명확인값이 상기 DID 앱으로 전송되도록 하며, (ii) 상기 서비스 제공 서버로부터 상기 서명확인값에 더하여 상기 사용자 DID가 수신되는 경우에는, 상기 사용자 DID를 이용하여 상기 사용자 모바일 단말의 상기 DID 앱으로 상기 서명확인값을 전송하여 주는 것을 특징으로 하는 방법.
According to claim 1,
In step (a),
The DID authentication server, (i) if the user DID is not received from the service providing server, generates a QR code for the signature verification value and transmits it to the other user terminal, and the other user terminal sends the QR code and the user obtains the signature verification value through the QR code displayed on the user's other terminal through the user mobile terminal, so that the signature verification value is transmitted to the DID app; (ii) When the user DID is received in addition to the signature verification value from the service providing server, the method characterized in that the signature verification value is transmitted to the DID app of the user mobile terminal by using the user DID.
제2항에 있어서,
상기 DID 인증 서버가, 상기 서비스 제공 서버로부터 상기 서명확인값에 더하여 상기 사용자 DID가 수신되는 경우 상기 사용자 DID를 이용하여 상기 사용자 모바일 단말의 상기 DID 앱으로 상기 서명확인값을 전송하여 주되, 상기 DID 앱이 상기 서명확인값을 전송받지 못할 경우, 상기 서명확인값에 대한 상기 QR 코드를 생성하여 상기 사용자 타 단말로 전송하여 상기 사용자 타 단말이 상기 QR 코드를 디스플레이하도록 하고, 상기 사용자가 상기 사용자 모바일 단말을 통해 상기 사용자 타 단말에 디스플레이되는 상기 QR 코드를 통해 상기 서명확인값을 획득하도록 함으로써 상기 서명확인값이 상기 DID 앱으로 전송되도록 하는 것을 특징으로 하는 방법.
3. The method of claim 2,
When the DID authentication server receives the user DID in addition to the signature verification value from the service providing server, the DID is used to transmit the signature verification value to the DID app of the user mobile terminal, the DID When the app does not receive the signature verification value, it generates the QR code for the signature verification value and transmits it to the other user terminal so that the other user terminal displays the QR code, and the user Method characterized in that the signature verification value is transmitted to the DID app by obtaining the signature verification value through the QR code displayed on the user's other terminal through a terminal.
제1항에 있어서,
상기 DID 인증 서버가, 상기 사용자가 요청한 상기 DID 서비스에 대응하여 사용자 정보가 추가로 요구되어 상기 서비스 제공 서버가 상기 서명확인값과 함께 상기 사용자 정보에 대응되는 사용자 정보 리스트를 상기 사용자 타 단말에 전송한 경우, 상기 서명확인값과 상기 사용자 정보 리스트를 상기 사용자 모바일 단말의 상기 DID 앱으로 전송하여 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID에 더하여 상기 사용자 정보 리스트에 대응되는 상기 사용자 정보 또는 암호화된 사용자 정보를 상기 DID 인증 서버로 전송하도록 하여, 상기 서명 검증 결과 정보나 상기 사용자 서명과 상기 사용자 DID를 상기 서비스 제공 서버에 전송할 때 상기 사용자 정보 또는 상기 암호화된 사용자 정보를 함께 전송하는 것을 특징으로 하는 방법.
According to claim 1,
When the DID authentication server requests additional user information in response to the DID service requested by the user, the service providing server transmits the user information list corresponding to the user information together with the signature verification value to the other user terminal. In one case, the signature verification value and the user information list are transmitted to the DID app of the user mobile terminal so that the DID app of the user mobile terminal corresponds to the user information list in addition to the user signature and the user DID By transmitting the user information or encrypted user information to the DID authentication server, the user information or the encrypted user information is transmitted together when the signature verification result information or the user signature and the user DID are transmitted to the service providing server. A method characterized in that it is transmitted.
제1항에 있어서,
상기 (a) 단계에서,
상기 DID 인증 서버가, 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID와 함께 상기 서명확인값을 상기 DID 인증 서버로 전송하도록 하는 것을 특징으로 하는 방법.
According to claim 1,
In step (a),
The DID authentication server causes the DID app of the user mobile terminal to transmit the signature verification value together with the user signature and the user DID to the DID authentication server.
제1항에 있어서,
상기 (a) 단계에서,
상기 DID 인증 서버가, 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID와 함께 VC(verifiable credential) 또는 VP(verifiable presentation)을 상기 DID 인증 서버로 전송하도록 하는 것을 특징으로 하는 방법.
According to claim 1,
In step (a),
The method, characterized in that the DID authentication server causes the DID app of the user mobile terminal to transmit a verifiable credential (VC) or verifiable presentation (VP) together with the user signature and the user DID to the DID authentication server. .
제1항에 있어서,
상기 (a) 단계에서,
상기 DID 인증 서버가, 상기 서비스 제공 서버로 하여금 HTTP 리다이렉션(redirection)을 이용하여 상기 서명확인값을 상기 사용자 타 단말로 전송하도록 하며, 상기 사용자 타 단말로 하여금 상기 HTTP 리다이렉션을 이용하여 상기 서명확인값을 상기 DID 인증 서버에 대응되는 DID 인증 웹 페이지로 전송되도록 하여 상기 서명확인값을 획득하는 것을 특징으로 하는 방법.
According to claim 1,
In step (a),
The DID authentication server causes the service providing server to transmit the signature verification value to the other user terminal using HTTP redirection, and causes the other user terminal to use the HTTP redirection to send the signature verification value is transmitted to a DID authentication web page corresponding to the DID authentication server to obtain the signature verification value.
제1항에 있어서,
상기 (b) 단계에서,
상기 DID 인증 서버가, 상기 사용자 모바일 단말의 상기 DID 앱으로부터 상기 사용자 서명과 상기 사용자 DID가 전송되면, HTTP 폴링(Polling)을 통해 상기 사용자 서명과 상기 사용자 DID나 상기 사용자 서명과 상기 사용자 DID를 참조하여 생성한 상기 서명 검증 결과 정보를 상기 DID 인증 서버에 대응되는 DID 인증 웹 페이지로 전송되도록 하여, 상기 DID 인증 웹 페이지의 HTTP 리다이렉션을 통해 상기 사용자 서명과 상기 사용자 DID나 상기 서명 검증 결과 정보를 상기 서비스 제공 서버로 전송하는 것을 특징으로 하는 방법.
According to claim 1,
In step (b),
When the DID authentication server transmits the user signature and the user DID from the DID app of the user mobile terminal, the user signature and the user DID or the user signature and the user DID are referenced through HTTP polling. and transmits the generated signature verification result information to a DID authentication web page corresponding to the DID authentication server, and retrieves the user signature and the user DID or the signature verification result information through HTTP redirection of the DID authentication web page. Method characterized in that it is transmitted to a service providing server.
탈중앙화 아이디(Decentralized Identity; DID) 앱을 이용하여 인증 서비스를 제공하는 방법에 있어서,
(a) 서비스 웹 페이지에 접속하거나 서비스 앱을 통해 서비스를 이용하는 사용자 모바일 단말 - 상기 사용자 모바일 단말은 사용자가 적어도 하나 이상의 노드로 구성된 블록체인 네트워크에 사용자 DID를 등록한 DID 앱이 설치된 단말임 - 로부터의 DID 서비스에 대한 DID 서비스 요청 정보에 대응하여 서비스 제공 서버에서 생성된 서명확인값이 상기 사용자 모바일 단말로 전송되어 상기 사용자 모바일 단말이 상기 모바일 단말의 상기 DID 앱으로 상기 서명확인값을 전송하면, DID 인증 서버가, 상기 DID 앱으로 하여금 상기 서명확인값을 사용자 프라이빗 키로 서명한 사용자 서명을 생성하도록 하고 상기 사용자 서명과 상기 사용자 DID를 상기 DID 인증 서버로 전송하도록 하는 단계; 및
(b) 상기 DID 인증 서버가, 상기 사용자 모바일 단말의 상기 DID 앱으로부터의 상기 사용자 서명과 상기 사용자 DID가 수신되면, (i) 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자의 사용자 퍼블릭 키를 획득하거나 리졸버 서버를 통해 상기 블록체인 네트워크로부터 상기 퍼블릭 키를 획득하며, 상기 사용자 퍼블릭 키를 이용하여 상기 사용자 서명을 검증하고, 상기 사용자 서명을 검증한 서명 검증 결과 정보를 상기 서비스 제공 서버로 전송하여 상기 서비스 제공 서버로 하여금 상기 서명 검증 결과 정보를 참조하여 상기 DID 서비스 요청 정보에 대응되는 DID 서비스를 상기 사용자 모바일 단말로 제공하도록 하거나, (ii) 상기 사용자 서명과 상기 사용자 DID를 상기 서비스 제공 서버로 전송하여 상기 서비스 제공 서버로 하여금, 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자의 사용자 퍼블릭 키를 획득하거나 상기 리졸버 서버를 통해 상기 블록체인 네트워크로부터 상기 퍼블릭 키를 획득하도록 하며, 상기 사용자 퍼블릭 키를 이용하여 상기 사용자 서명을 검증하도록 한 다음, 상기 DID 서비스 요청 정보에 대응되는 상기 DID 서비스를 상기 사용자 모바일 단말로 제공하도록 하는 단계;
를 포함하는 방법.
In the method of providing an authentication service using a decentralized identity (DID) app,
(a) A user mobile terminal that accesses the service web page or uses the service through the service app - The user mobile terminal is a terminal in which the DID app is installed in which the user has registered the user DID in a block chain network composed of at least one node - from When the signature verification value generated by the service providing server is transmitted to the user mobile terminal in response to the DID service request information for the DID service, and the user mobile terminal transmits the signature verification value to the DID app of the mobile terminal, the DID causing, by an authentication server, the DID app to generate a user signature in which the signature verification value is signed with a user private key, and transmitting the user signature and the user DID to the DID authentication server; and
(b) when the DID authentication server receives the user signature and the user DID from the DID app of the user mobile terminal, (i) the user public key of the user from the blockchain network using the user DID obtains or obtains the public key from the blockchain network through a resolver server, verifies the user signature using the user public key, and transmits the signature verification result information obtained by verifying the user signature to the service providing server to cause the service providing server to provide the DID service corresponding to the DID service request information to the user mobile terminal with reference to the signature verification result information, or (ii) provide the user signature and the user DID to the service providing server so that the service providing server obtains the user public key of the user from the block chain network using the user DID or obtains the public key from the block chain network through the resolver server, the user verifying the user signature using a public key and then providing the DID service corresponding to the DID service request information to the user mobile terminal;
How to include.
제9항에 있어서,
상기 (a) 단계에서,
상기 DID 인증 서버가, 상기 사용자 모바일 단말로 하여금 URL 스킴(scheme)을 통해 상기 서명확인값을 상기 DID 앱으로 전송하도록 하는 것을 특징으로 하는 방법.
10. The method of claim 9,
In step (a),
Method characterized in that the DID authentication server, the user mobile terminal to transmit the signature verification value to the DID app through a URL scheme (scheme).
제9항에 있어서,
상기 DID 인증 서버가, 상기 사용자가 요청한 상기 DID 서비스에 대응하여 사용자 정보가 추가로 요구되어 상기 서비스 제공 서버가 상기 서명확인값과 함께 상기 사용자 정보에 대응되는 사용자 정보 리스트를 상기 사용자 모바일 단말에 전송하여 상기 서명확인값과 상기 사용자 정보 리스트가 상기 사용자 모바일 단말의 상기 DID 앱으로 전송된 경우, 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID에 더하여 상기 사용자 정보 리스트에 대응되는 상기 사용자 정보 또는 암호화된 사용자 정보를 상기 DID 인증 서버로 전송하도록 하여, 상기 서명 검증 결과 정보나 상기 사용자 서명과 상기 사용자 DID를 상기 서비스 제공 서버에 전송할 때 상기 사용자 정보 또는 상기 암호화된 사용자 정보를 함께 전송하는 것을 특징으로 하는 방법.
10. The method of claim 9,
When the DID authentication server requests additional user information in response to the DID service requested by the user, the service providing server transmits the user information list corresponding to the user information together with the signature verification value to the user mobile terminal. Thus, when the signature confirmation value and the user information list are transmitted to the DID app of the user mobile terminal, the DID app of the user mobile terminal corresponds to the user information list in addition to the user signature and the user DID By transmitting the user information or encrypted user information to the DID authentication server, the user information or the encrypted user information is transmitted together when the signature verification result information or the user signature and the user DID are transmitted to the service providing server. A method characterized in that it is transmitted.
제9항에 있어서,
상기 (a) 단계에서,
상기 DID 인증 서버가, 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID와 함께 상기 서명확인값을 상기 DID 인증 서버로 전송하도록 하는 것을 특징으로 하는 방법.
10. The method of claim 9,
In step (a),
The DID authentication server causes the DID app of the user mobile terminal to transmit the signature verification value together with the user signature and the user DID to the DID authentication server.
제9항에 있어서,
상기 (a) 단계에서,
상기 DID 인증 서버가, 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID와 함께 VC(verifiable credential) 또는 VP(verifiable presentation)을 상기 DID 인증 서버로 전송하도록 하는 것을 특징으로 하는 방법.
10. The method of claim 9,
In step (a),
The method, characterized in that the DID authentication server causes the DID app of the user mobile terminal to transmit a verifiable credential (VC) or verifiable presentation (VP) together with the user signature and the user DID to the DID authentication server. .
제9항에 있어서,
상기 (b) 단계에서,
상기 DID 인증 서버가, (i) 상기 사용자 모바일 단말의 상기 DID 앱으로부터 전송된 상기 사용자 서명과 상기 사용자 DID나 상기 사용자 서명과 상기 사용자 DID를 참조하여 생성한 상기 서명 검증 결과 정보를 HTTP 폴링(Polling)을 통해 상기 DID 인증 서버에 대응되는 DID 인증 웹 페이지로 전송되도록 하여, 상기 DID 인증 웹 페이지의 HTTP 리다이렉션(redirection)을 통해 상기 사용자 서명과 상기 사용자 DID나 상기 서명 검증 결과 정보를 상기 서비스 제공 서버로 전송하거나, (ii) 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID를 URL 스킴(scheme)을 통해 상기 사용자 모바일 단말로 전송하도록 하여, 상기 사용자 모바일 단말로 하여금 상기 사용자 서명과 상기 사용자 DID를 상기 HTTP 리다이렉션을 통해 상기 서비스 제공 서버로 전송하도록 하거나, (iii) 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 서명 확인값과 상기 사용자 DID를 상기 DID 인증 서버로 전송하도록 하여, 상기 사용자 모바일 단말로 하여금 상기 HTTP 폴링을 통해 상기 DID 인증 서버로부터 상기 서명 확인값과 상기 사용자 DID나 상기 사용자 서명과 상기 사용자 DID를 참조하여 생성한 상기 서명 검증 결과 정보를 획득하여 상기 HTTP 리다이렉션을 통해 상기 서비스 제공 서버에 전송하도록 하는 것을 특징으로 하는 방법.
10. The method of claim 9,
In step (b),
The DID authentication server, (i) HTTP polling the signature verification result information generated by referring to the user signature and the user DID or the user signature and the user DID transmitted from the DID app of the user mobile terminal ) to transmit to a DID authentication web page corresponding to the DID authentication server, and transmit the user signature and the user DID or the signature verification result information through HTTP redirection of the DID authentication web page to the service providing server or (ii) causing the DID app of the user mobile terminal to transmit the user signature and the user DID to the user mobile terminal through a URL scheme, so that the user mobile terminal causes the user signature and transmitting the user DID to the service providing server through the HTTP redirection, or (iii) causing the DID app of the user mobile terminal to transmit the signature verification value and the user DID to the DID authentication server, The user mobile terminal obtains the signature verification result information generated by referring to the signature verification value and the user DID or the user signature and the user DID from the DID authentication server through the HTTP polling, and through the HTTP redirection Method characterized in that it is transmitted to the service providing server.
제9항에 있어서,
상기 (a) 단계에서,
상기 DID 인증 서버가, 상기 서비스 제공 서버로 하여금 상기 서명확인값만을 상기 사용자 모바일 단말에 전송하여 주거나, 상기 서명확인값과 함께 상기 사용자 DID를 상기 사용자 모바일 단말에 전송하도록 하는 것을 특징으로 하는 방법.
10. The method of claim 9,
In step (a),
The method, characterized in that the DID authentication server causes the service providing server to transmit only the signature verification value to the user mobile terminal or to transmit the user DID together with the signature verification value to the user mobile terminal.
탈중앙화 아이디(Decentralized Identity; DID) 앱을 이용하여 인증 서비스를 제공하는 DID 인증 서버에 있어서,
DID 앱을 이용하여 인증 서비스를 제공하기 위한 인스트럭션들이 저장된 메모리; 및
상기 메모리에 저장된 상기 인스트럭션들에 따라 상기 DID 앱을 이용하여 상기 인증 서비스를 제공하기 위한 동작을 수행하는 프로세서;
를 포함하되,
상기 프로세서는, (I) 서비스 웹 페이지에 접속하거나 서비스 앱을 통해 서비스를 이용하는 사용자 타 단말 - 상기 사용자 타 단말은 사용자가 적어도 하나 이상의 노드로 구성된 블록체인 네트워크에 사용자 DID를 등록한 DID 앱이 설치된 사용자 모바일 단말과는 다른 단말임 - 로부터의 DID 서비스에 대한 DID 서비스 요청 정보에 대응하여 서비스 제공 서버에서 생성된 서명확인값이 상기 사용자 타 단말을 통해 전송되면, 상기 서명확인값을 상기 사용자 모바일 단말로 전송하여 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 서명확인값을 사용자 프라이빗 키로 서명한 사용자 서명을 생성하도록 하고 상기 사용자 서명과 상기 사용자 DID를 상기 프로세서로 전송하도록 하는 프로세스, 및 (II) 상기 사용자 모바일 단말의 상기 DID 앱으로부터의 상기 사용자 서명과 상기 사용자 DID가 수신되면, (i) 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자의 사용자 퍼블릭 키를 획득하거나 리졸버 서버를 통해 상기 블록체인 네트워크로부터 상기 퍼블릭 키를 획득하며, 상기 사용자 퍼블릭 키를 이용하여 상기 사용자 서명을 검증하고, 상기 사용자 서명을 검증한 서명 검증 결과 정보를 상기 서비스 제공 서버로 전송하여 상기 서비스 제공 서버로 하여금 상기 서명 검증 결과 정보를 참조하여 상기 DID 서비스 요청 정보에 대응되는 DID 서비스를 상기 사용자 타 단말로 제공하도록 하거나, (ii) 상기 사용자 서명과 상기 사용자 DID를 상기 서비스 제공 서버로 전송하여 상기 서비스 제공 서버로 하여금, 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자의 사용자 퍼블릭 키를 획득하거나 상기 리졸버 서버를 통해 상기 블록체인 네트워크로부터 상기 퍼블릭 키를 획득하도록 하며, 상기 사용자 퍼블릭 키를 이용하여 상기 사용자 서명을 검증하도록 한 다음, 상기 DID 서비스 요청 정보에 대응되는 상기 DID 서비스를 상기 사용자 타 단말로 제공하도록 하는 프로세스를 수행하는 DID 인증 서버.
In the DID authentication server that provides an authentication service using a decentralized identity (DID) app,
a memory in which instructions for providing an authentication service using the DID app are stored; and
a processor that performs an operation for providing the authentication service using the DID app according to the instructions stored in the memory;
including,
The processor includes (I) a user who accesses a service web page or uses a service through a service app - The user other terminal is a user with a DID app installed in which the user has registered the user DID in a blockchain network composed of at least one node It is a terminal different from the mobile terminal - When the signature verification value generated by the service providing server in response to the DID service request information for the DID service from the user is transmitted through the other user terminal, the signature verification value is transmitted to the user mobile terminal sending, causing the DID app of the user mobile terminal to generate a user signature by signing the signature verification value with a user private key, and transmitting the user signature and the user DID to the processor; and (II) the user When the user signature and the user DID from the DID app of the mobile terminal are received, (i) obtain the user public key of the user from the blockchain network using the user DID or the blockchain network through a resolver server obtains the public key from the user, verifies the user signature using the user public key, and transmits signature verification result information obtained by verifying the user signature to the service providing server to cause the service providing server to verify the signature to provide the DID service corresponding to the DID service request information to the other user terminal with reference to the information, or (ii) transmit the user signature and the user DID to the service providing server to cause the service providing server to Obtain the user public key of the user from the blockchain network using the user DID or obtain the public key from the blockchain network through the resolver server, and verify the user signature using the user public key Then, the DID service corresponding to the DID service request information is transmitted to the user's other terminal. A DID authentication server that performs the process of making it available.
제16항에 있어서,
상기 (I) 프로세스에서,
상기 프로세서는, (i) 상기 서비스 제공 서버로부터 상기 사용자 DID가 수신되지 않을 경우에는, 상기 서명확인값에 대한 QR 코드를 생성하여 상기 사용자 타 단말로 전송하여 상기 사용자 타 단말이 상기 QR 코드를 디스플레이하도록 하고, 상기 사용자가 상기 사용자 모바일 단말을 통해 상기 사용자 타 단말에 디스플레이되는 상기 QR 코드를 통해 상기 서명확인값을 획득하도록 함으로써 상기 서명확인값이 상기 DID 앱으로 전송되도록 하며, (ii) 상기 서비스 제공 서버로부터 상기 서명확인값에 더하여 상기 사용자 DID가 수신되는 경우에는, 상기 사용자 DID를 이용하여 상기 사용자 모바일 단말의 상기 DID 앱으로 상기 서명확인값을 전송하여 주는 것을 특징으로 하는 DID 인증 서버.
17. The method of claim 16,
In the process (I) above,
The processor, (i) when the user DID is not received from the service providing server, generates a QR code for the signature verification value and transmits it to the other user terminal, and the other user terminal displays the QR code and the user obtains the signature verification value through the QR code displayed on the other user terminal through the user mobile terminal, so that the signature verification value is transmitted to the DID app, (ii) the service When the user DID is received in addition to the signature verification value from the providing server, the DID authentication server, characterized in that it transmits the signature verification value to the DID app of the user mobile terminal using the user DID.
제17항에 있어서,
상기 프로세서는, 상기 서비스 제공 서버로부터 상기 서명확인값에 더하여 상기 사용자 DID가 수신되는 경우 상기 사용자 DID를 이용하여 상기 사용자 모바일 단말의 상기 DID 앱으로 상기 서명확인값을 전송하여 주되, 상기 DID 앱이 상기 서명확인값을 전송받지 못할 경우, 상기 서명확인값에 대한 상기 QR 코드를 생성하여 상기 사용자 타 단말로 전송하여 상기 사용자 타 단말이 상기 QR 코드를 디스플레이하도록 하고, 상기 사용자가 상기 사용자 모바일 단말을 통해 상기 사용자 타 단말에 디스플레이되는 상기 QR 코드를 통해 상기 서명확인값을 획득하도록 함으로써 상기 서명확인값이 상기 DID 앱으로 전송되도록 하는 것을 특징으로 하는 DID 인증 서버.
18. The method of claim 17,
When the user DID is received in addition to the signature verification value from the service providing server, the processor transmits the signature verification value to the DID app of the user mobile terminal using the user DID, the DID app If the signature verification value is not received, the QR code for the signature verification value is generated and transmitted to the other user terminal so that the user other terminal displays the QR code, and the user uses the user mobile terminal The DID authentication server, characterized in that the signature verification value is transmitted to the DID app by obtaining the signature verification value through the QR code displayed on the user's other terminal.
제16항에 있어서,
상기 프로세서는, 상기 사용자가 요청한 상기 DID 서비스에 대응하여 사용자 정보가 추가로 요구되어 상기 서비스 제공 서버가 상기 서명확인값과 함께 상기 사용자 정보에 대응되는 사용자 정보 리스트를 상기 사용자 타 단말에 전송한 경우, 상기 서명확인값과 상기 사용자 정보 리스트를 상기 사용자 모바일 단말의 상기 DID 앱으로 전송하여 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID에 더하여 상기 사용자 정보 리스트에 대응되는 상기 사용자 정보 또는 암호화된 사용자 정보를 상기 프로세서로 전송하도록 하여, 상기 서명 검증 결과 정보나 상기 사용자 서명과 상기 사용자 DID를 상기 서비스 제공 서버에 전송할 때 상기 사용자 정보 또는 상기 암호화된 사용자 정보를 함께 전송하는 것을 특징으로 하는 DID 인증 서버.
17. The method of claim 16,
The processor, when additional user information is requested in response to the DID service requested by the user, and the service providing server transmits the user information list corresponding to the user information together with the signature verification value to the other user terminal , by transmitting the signature verification value and the user information list to the DID app of the user mobile terminal so that the DID app of the user mobile terminal adds the user signature and the user DID to the user corresponding to the user information list By transmitting information or encrypted user information to the processor, the user information or the encrypted user information is transmitted together when the signature verification result information or the user signature and the user DID are transmitted to the service providing server DID authentication server with
제16항에 있어서,
상기 (I) 프로세스에서,
상기 프로세서는, 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID와 함께 상기 서명확인값을 상기 프로세서로 전송하도록 하는 것을 특징으로 하는 DID 인증 서버.
17. The method of claim 16,
In the process (I) above,
The processor is configured to cause the DID app of the user mobile terminal to transmit the signature verification value together with the user signature and the user DID to the processor.
제16항에 있어서,
상기 (I) 프로세스에서,
상기 프로세서는, 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID와 함께 VC(verifiable credential) 또는 VP(verifiable presentation)을 상기 프로세서로 전송하도록 하는 것을 특징으로 하는 DID 인증 서버.
17. The method of claim 16,
In the process (I) above,
The processor, DID authentication server, characterized in that the DID app of the user mobile terminal to transmit a VC (verifiable credential) or VP (verifiable presentation) together with the user signature and the user DID to the processor.
제16항에 있어서,
상기 (I) 프로세스에서,
상기 프로세서는, 상기 서비스 제공 서버로 하여금 HTTP 리다이렉션(redirection)을 이용하여 상기 서명확인값을 상기 사용자 타 단말로 전송하도록 하며, 상기 사용자 타 단말로 하여금 상기 HTTP 리다이렉션을 이용하여 상기 서명확인값을 상기 프로세서에 대응되는 DID 인증 웹 페이지로 전송되도록 하여 상기 서명확인값을 획득하는 것을 특징으로 하는 DID 인증 서버.
17. The method of claim 16,
In the process (I) above,
The processor causes the service providing server to transmit the signature verification value to the other user terminal using HTTP redirection, and causes the user other terminal to transmit the signature verification value using the HTTP redirection. The DID authentication server, characterized in that it is transmitted to a DID authentication web page corresponding to the processor to obtain the signature verification value.
제16항에 있어서,
상기 (II) 프로세스에서,
상기 프로세서는, 상기 사용자 모바일 단말의 상기 DID 앱으로부터 상기 사용자 서명과 상기 사용자 DID가 전송되면, HTTP 폴링(Polling)을 통해 상기 사용자 서명과 상기 사용자 DID나 상기 사용자 서명과 상기 사용자 DID를 참조하여 생성한 상기 서명 검증 결과 정보를 상기 프로세서에 대응되는 DID 인증 웹 페이지로 전송되도록 하여, 상기 DID 인증 웹 페이지의 HTTP 리다이렉션을 통해 상기 사용자 서명과 상기 사용자 DID나 상기 서명 검증 결과 정보를 상기 서비스 제공 서버로 전송하는 것을 특징으로 하는 DID 인증 서버.
17. The method of claim 16,
In the process (II) above,
When the user signature and the user DID are transmitted from the DID app of the user mobile terminal, the processor is generated by referring to the user signature and the user DID or the user signature and the user DID through HTTP polling The signature verification result information is transmitted to the DID authentication web page corresponding to the processor, and the user signature and the user DID or the signature verification result information are transmitted to the service providing server through HTTP redirection of the DID authentication web page. DID authentication server, characterized in that the transmission.
탈중앙화 아이디(Decentralized Identity; DID) 앱을 이용하여 인증 서비스를 제공하는 DID 인증 서버에 있어서,
DID 앱을 이용하여 인증 서비스를 제공하기 위한 인스트럭션들이 저장된 메모리; 및
상기 메모리에 저장된 상기 인스트럭션들에 따라 상기 DID 앱을 이용하여 상기 인증 서비스를 제공하기 위한 동작을 수행하는 프로세서;
를 포함하되,
상기 프로세서는, (I) 서비스 웹 페이지에 접속하거나 서비스 앱을 통해 서비스를 이용하는 사용자 모바일 단말 - 상기 사용자 모바일 단말은 사용자가 적어도 하나 이상의 노드로 구성된 블록체인 네트워크에 사용자 DID를 등록한 DID 앱이 설치된 단말임 - 로부터의 DID 서비스에 대한 DID 서비스 요청 정보에 대응하여 서비스 제공 서버에서 생성된 서명확인값이 상기 사용자 모바일 단말로 전송되어 상기 사용자 모바일 단말이 상기 모바일 단말의 상기 DID 앱으로 상기 서명확인값을 전송하면, 상기 DID 앱으로 하여금 상기 서명확인값을 사용자 프라이빗 키로 서명한 사용자 서명을 생성하도록 하고 상기 사용자 서명과 상기 사용자 DID를 상기 프로세서로 전송하도록 하는 프로세스, 및 (II) 상기 사용자 모바일 단말의 상기 DID 앱으로부터의 상기 사용자 서명과 상기 사용자 DID가 수신되면, (i) 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자의 사용자 퍼블릭 키를 획득하거나 리졸버 서버를 통해 상기 블록체인 네트워크로부터 상기 퍼블릭 키를 획득하며, 상기 사용자 퍼블릭 키를 이용하여 상기 사용자 서명을 검증하고, 상기 사용자 서명을 검증한 서명 검증 결과 정보를 상기 서비스 제공 서버로 전송하여 상기 서비스 제공 서버로 하여금 상기 서명 검증 결과 정보를 참조하여 상기 DID 서비스 요청 정보에 대응되는 DID 서비스를 상기 사용자 모바일 단말로 제공하도록 하거나, (ii) 상기 사용자 서명과 상기 사용자 DID를 상기 서비스 제공 서버로 전송하여 상기 서비스 제공 서버로 하여금, 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자의 사용자 퍼블릭 키를 획득하거나 상기 리졸버 서버를 통해 상기 블록체인 네트워크로부터 상기 퍼블릭 키를 획득하도록 하며, 상기 사용자 퍼블릭 키를 이용하여 상기 사용자 서명을 검증하도록 한 다음, 상기 DID 서비스 요청 정보에 대응되는 상기 DID 서비스를 상기 사용자 모바일 단말로 제공하도록 하는 프로세스를 수행하는 DID 인증 서버.
In the DID authentication server that provides an authentication service using a decentralized identity (DID) app,
a memory in which instructions for providing an authentication service using the DID app are stored; and
a processor that performs an operation for providing the authentication service using the DID app according to the instructions stored in the memory;
including,
The processor includes: (I) a user mobile terminal accessing a service web page or using a service through a service app - The user mobile terminal is a terminal in which a DID app is installed in which the user registers the user DID in a blockchain network composed of at least one node In response to the DID service request information for the DID service from -, the signature verification value generated by the service providing server is transmitted to the user mobile terminal, and the user mobile terminal sends the signature verification value to the DID app of the mobile terminal. When transmitting, a process of causing the DID app to generate a user signature signed with the user private key and transmitting the user signature and the user DID to the processor, and (II) the user mobile terminal's When the user signature and the user DID from the DID app are received, (i) obtain the user public key of the user from the blockchain network using the user DID or the public key from the blockchain network through a resolver server obtains, verifies the user signature using the user public key, and transmits the signature verification result information verifying the user signature to the service providing server to cause the service providing server to refer to the signature verification result information to provide the DID service corresponding to the DID service request information to the user mobile terminal, or (ii) transmit the user signature and the user DID to the service providing server so that the service providing server uses the user DID to obtain the user public key of the user from the block chain network or obtain the public key from the block chain network through the resolver server, verify the user signature using the user public key, and then The DID service corresponding to the DID service request information is provided to the user mobile terminal A DID authentication server that performs the process to make it happen.
제24항에 있어서,
상기 (I) 프로세스에서,
상기 프로세서는, 상기 사용자 모바일 단말로 하여금 URL 스킴(scheme)을 통해 상기 서명확인값을 상기 DID 앱으로 전송하도록 하는 것을 특징으로 하는 DID 인증 서버.
25. The method of claim 24,
In the process (I) above,
The processor, DID authentication server, characterized in that the user mobile terminal to transmit the signature verification value to the DID app through a URL scheme (scheme).
제24항에 있어서,
상기 프로세서는, 상기 사용자가 요청한 상기 DID 서비스에 대응하여 사용자 정보가 추가로 요구되어 상기 서비스 제공 서버가 상기 서명확인값과 함께 상기 사용자 정보에 대응되는 사용자 정보 리스트를 상기 사용자 모바일 단말에 전송하여 상기 서명확인값과 상기 사용자 정보 리스트가 상기 사용자 모바일 단말의 상기 DID 앱으로 전송된 경우, 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID에 더하여 상기 사용자 정보 리스트에 대응되는 상기 사용자 정보 또는 암호화된 사용자 정보를 상기 프로세서로 전송하도록 하여, 상기 서명 검증 결과 정보나 상기 사용자 서명과 상기 사용자 DID를 상기 서비스 제공 서버에 전송할 때 상기 사용자 정보 또는 상기 암호화된 사용자 정보를 함께 전송하는 것을 특징으로 하는 DID 인증 서버.
25. The method of claim 24,
In the processor, user information is additionally requested in response to the DID service requested by the user, so that the service providing server transmits a user information list corresponding to the user information together with the signature verification value to the user mobile terminal. When the signature verification value and the user information list are transmitted to the DID app of the user mobile terminal, the DID app of the user mobile terminal causes the user corresponding to the user information list in addition to the user signature and the user DID By transmitting information or encrypted user information to the processor, the user information or the encrypted user information is transmitted together when the signature verification result information or the user signature and the user DID are transmitted to the service providing server DID authentication server with
제24항에 있어서,
상기 (I) 프로세스에서,
상기 프로세서는, 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID와 함께 상기 서명확인값을 상기 프로세서로 전송하도록 하는 것을 특징으로 하는 DID 인증 서버.
25. The method of claim 24,
In the process (I) above,
The processor is configured to cause the DID app of the user mobile terminal to transmit the signature verification value together with the user signature and the user DID to the processor.
제24항에 있어서,
상기 (I) 프로세스에서,
상기 프로세서는, 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID와 함께 VC(verifiable credential) 또는 VP(verifiable presentation)을 상기 프로세서로 전송하도록 하는 것을 특징으로 하는 DID 인증 서버.
25. The method of claim 24,
In the process (I) above,
The processor, DID authentication server, characterized in that the DID app of the user mobile terminal to transmit a VC (verifiable credential) or VP (verifiable presentation) together with the user signature and the user DID to the processor.
제24항에 있어서,
상기 (II) 프로세스에서,
상기 프로세서는, (i) 상기 사용자 모바일 단말의 상기 DID 앱으로부터 전송된 상기 사용자 서명과 상기 사용자 DID나 상기 사용자 서명과 상기 사용자 DID를 참조하여 생성한 상기 서명 검증 결과 정보를 HTTP 폴링(Polling)을 통해 상기 프로세서에 대응되는 DID 인증 웹 페이지로 전송되도록 하여, 상기 DID 인증 웹 페이지의 HTTP 리다이렉션(redirection)을 통해 상기 사용자 서명과 상기 사용자 DID나 상기 서명 검증 결과 정보를 상기 서비스 제공 서버로 전송하거나, (ii) 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 사용자 서명과 상기 사용자 DID를 URL 스킴(scheme)을 통해 상기 사용자 모바일 단말로 전송하도록 하여, 상기 사용자 모바일 단말로 하여금 상기 사용자 서명과 상기 사용자 DID를 상기 HTTP 리다이렉션을 통해 상기 서비스 제공 서버로 전송하도록 하거나, (iii) 상기 사용자 모바일 단말의 상기 DID 앱으로 하여금 상기 서명 확인값과 상기 사용자 DID를 상기 프로세서로 전송하도록 하여, 상기 사용자 모바일 단말로 하여금 상기 HTTP 폴링을 통해 상기 프로세서로부터 상기 서명 확인값과 상기 사용자 DID나 상기 사용자 서명과 상기 사용자 DID를 참조하여 생성한 상기 서명 검증 결과 정보를 획득하여 상기 HTTP 리다이렉션을 통해 상기 서비스 제공 서버에 전송하도록 하는 것을 특징으로 하는 DID 인증 서버.
25. The method of claim 24,
In the process (II) above,
The processor (i) HTTP polling the signature verification result information generated by referring to the user signature and the user DID or the user signature and the user DID transmitted from the DID app of the user mobile terminal transmits the user signature and the user DID or the signature verification result information to the service providing server through HTTP redirection of the DID authentication web page, (ii) cause the DID app of the user mobile terminal to transmit the user signature and the user DID to the user mobile terminal through a URL scheme, so that the user mobile terminal makes the user signature and the user DID transmits to the service providing server through the HTTP redirection, or (iii) causes the DID app of the user mobile terminal to transmit the signature verification value and the user DID to the processor, causing the user mobile terminal to Obtaining the signature verification value and the user DID or the signature verification result information generated by referring to the user signature and the user DID from the processor through the HTTP polling and transmitting the information to the service providing server through the HTTP redirection DID authentication server, characterized in that.
제24항에 있어서,
상기 (I) 프로세스에서,
상기 프로세서는, 상기 서비스 제공 서버로 하여금 상기 서명확인값만을 상기 사용자 모바일 단말에 전송하여 주거나, 상기 서명확인값과 함께 상기 사용자 DID를 상기 사용자 모바일 단말에 전송하도록 하는 것을 특징으로 하는 DID 인증 서버.
25. The method of claim 24,
In the process (I) above,
The processor, DID authentication server, characterized in that the service providing server transmits only the signature verification value to the user mobile terminal, or transmits the user DID together with the signature verification value to the user mobile terminal.
KR1020210007284A 2020-01-22 2021-01-19 Method for providing authentification service by using decentralized identity and server using the same KR102372503B1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/KR2021/000828 WO2021150032A1 (en) 2020-01-22 2021-01-21 Method for providing authentication service by using decentralized identity and server using the same
EP21743671.6A EP4094173A4 (en) 2020-01-22 2021-01-21 Method for providing authentication service by using decentralized identity and server using the same
US17/153,926 US11012233B1 (en) 2020-01-22 2021-01-21 Method for providing authentication service by using decentralized identity and server using the same
KR1020210084363A KR20210095093A (en) 2020-01-22 2021-06-28 Method for providing authentification service by using decentralized identity and server using the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200008950 2020-01-22
KR20200008950 2020-01-22

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210084363A Division KR20210095093A (en) 2020-01-22 2021-06-28 Method for providing authentification service by using decentralized identity and server using the same

Publications (2)

Publication Number Publication Date
KR20210095061A KR20210095061A (en) 2021-07-30
KR102372503B1 true KR102372503B1 (en) 2022-03-11

Family

ID=77148688

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210007284A KR102372503B1 (en) 2020-01-22 2021-01-19 Method for providing authentification service by using decentralized identity and server using the same

Country Status (1)

Country Link
KR (1) KR102372503B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102569265B1 (en) * 2021-09-06 2023-08-22 건양대학교산학협력단 Message Transmission Method Between Vehicles Based on Block Chain and Control Server in Autonomous Driving Environment
KR102612463B1 (en) * 2021-11-24 2023-12-11 (주)드림시큐리티 Method and apparatus for managing verifiable credential and device authentication based on decentralized identifier

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102216292B1 (en) * 2018-03-30 2021-02-18 주식회사 코인플러그 Method for sso service through blockchain, and terminal and server using the same

Also Published As

Publication number Publication date
KR20210095061A (en) 2021-07-30

Similar Documents

Publication Publication Date Title
CN110537346B (en) Safe decentralized domain name system
KR20210095093A (en) Method for providing authentification service by using decentralized identity and server using the same
EP2351316B1 (en) Method and system for token-based authentication
US10541991B2 (en) Method for OAuth service through blockchain network, and terminal and server using the same
KR102177848B1 (en) Method and system for verifying an access request
KR102192370B1 (en) Method for oauth service through blockchain, and terminal and server using the same
CN104270338A (en) A method and system of electronic identity registration and authentication login
JP2009510644A (en) Method and configuration for secure authentication
JP2019139520A (en) Information processing system, control method thereof, and program
KR102252086B1 (en) Method for oauth service through blockchain, and terminal and server using the same
CN108880822A (en) A kind of identity identifying method, device, system and a kind of intelligent wireless device
JP4960738B2 (en) Authentication system, authentication method, and authentication program
WO2018021708A1 (en) Public key-based service authentication method and system
CN111275419A (en) Block chain wallet signature right confirming method, device and system
KR102372503B1 (en) Method for providing authentification service by using decentralized identity and server using the same
CN114301617A (en) Identity authentication method and device for multi-cloud application gateway, computer equipment and medium
JP6240102B2 (en) Authentication system, authentication key management device, authentication key management method, and authentication key management program
KR102118556B1 (en) Method for providing private blockchain based privacy information management service
KR102284876B1 (en) System and method for federated authentication based on biometrics
KR102062851B1 (en) Single sign on service authentication method and system using token management demon
JP6714551B2 (en) Authentication key sharing system and inter-terminal key copying method
KR20190114421A (en) Method for sso service through blockchain, and terminal and server using the same
KR20190114424A (en) Method for sso service through blockchain, and terminal and server using the same
KR102160892B1 (en) Public key infrastructure based service authentication method and system
CN109936522B (en) Equipment authentication method and equipment authentication system

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
A107 Divisional application of patent