KR102303253B1 - System for managing did for blockchain platform user - Google Patents

System for managing did for blockchain platform user Download PDF

Info

Publication number
KR102303253B1
KR102303253B1 KR1020210033195A KR20210033195A KR102303253B1 KR 102303253 B1 KR102303253 B1 KR 102303253B1 KR 1020210033195 A KR1020210033195 A KR 1020210033195A KR 20210033195 A KR20210033195 A KR 20210033195A KR 102303253 B1 KR102303253 B1 KR 102303253B1
Authority
KR
South Korea
Prior art keywords
user terminal
user
data
identity information
server
Prior art date
Application number
KR1020210033195A
Other languages
Korean (ko)
Inventor
이대호
이동근
오승환
서영교
이형
김기환
Original Assignee
주식회사 에프원시큐리티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 에프원시큐리티 filed Critical 주식회사 에프원시큐리티
Priority to KR1020210033195A priority Critical patent/KR102303253B1/en
Application granted granted Critical
Publication of KR102303253B1 publication Critical patent/KR102303253B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

The present invention relates to a blockchain-based user distribution identifier management system. The user distribution identifier management system comprises: an issuance server that guarantees the identity of a user; a service providing server configured to verify the identity of the user if a service request is received from the user; a user terminal configured to separate verifiable identity information into a plurality of data when the verifiable identity information is received from the issuance server and homomorphically encrypt each separated data by using a pre-stored algorithm; and a management server that distributes and stores each homomorphically encrypted data received from the user terminal in each node on a blockchain network.

Description

블록체인 플랫폼 사용주체의 분산식별자 관리 시스템{SYSTEM FOR MANAGING DID FOR BLOCKCHAIN PLATFORM USER}Distributed identifier management system of blockchain platform users {SYSTEM FOR MANAGING DID FOR BLOCKCHAIN PLATFORM USER}

본 발명은 분산식별자 관리 시스템에 관한 것으로, 특히 블록체인 플랫폼 사용주체의 분산식별자를 발급, 검증, 및 관리하는 사용자 분산 식별자 관리 시스템에 관한 것이다.The present invention relates to a distributed identifier management system, and more particularly, to a user distributed identifier management system for issuing, verifying, and managing distributed identifiers of blockchain platform users.

신원(identity)은 어떤 도메인에서 하나의 실체를 구별해 주는 여러 속성의 집합이고, 식별자(identifier, id)는 그 신원을 고유하게 지칭하는 일련의 숫자, 문자 또는 기호 등으로 이루어진 표식을 말한다.An identity is a set of attributes that distinguishes an entity in a certain domain, and an identifier (id) is a mark made up of a series of numbers, letters, or symbols that uniquely designate the identity.

종래의 중앙화된 신원 관리 시스템에서 서비스 제공 기관은 중앙에서 사용자의 디지털 신원을 관리한다. 사용자 ID와 이를 검증하기 위한 크리덴셜(credentials, 예: 패스워드)을 발행하고, 사용자 이름, 주소 등의 사용자 정보를 보유하며 관리한다.In a conventional centralized identity management system, a service provider centrally manages a user's digital identity. Issues user ID and credentials (eg, password) to verify it, and retains and manages user information such as user name and address.

종래의 시스템은 사용자 신원이 중앙 기관에 위임되어 관리되므로 중앙 기관이 관리하는 자신의 신원, 개인 데이터, 관련 속성 정보를 사용자가 통제하기 어려운 문제점이 있다.In the conventional system, since the user's identity is delegated to a central authority and managed, there is a problem in that it is difficult for the user to control his/her own identity, personal data, and related attribute information managed by the central authority.

종래의 시스템은 모든 사용자의 디지털 신원을 관리하기 때문에 해킹시 다수의 개인정보가 유출될 수 있는 문제점이 있다.Since the conventional system manages the digital identities of all users, there is a problem that a large number of personal information may be leaked during hacking.

이에 따라, 사용자(Holder) 스스로 자신의 신원정보를 관리 및 통제할 수 있고, 발급자(Issuer)로부터 발급받은 신원정보을 안전하게 관리할 수 있는 기술이 요구된다.Accordingly, a technology capable of managing and controlling the user's own identity information and safely managing the identity information issued from the issuer is required.

본 발명이 이루고자 하는 기술적 과제는 사용자 스스로 자신의 신원정보를 관리 및 통제할 수 있고, 발급자로부터 발급받은 신원정보를 안전하게 관리할 수 있는 사용자 분산 식별자 관리 시스템을 제공하는 것이다.An object of the present invention is to provide a user-distributed identifier management system that allows users to manage and control their own identity information and safely manage identity information issued from an issuer.

한 실시예에 따르면, 블록체인 기반 사용자 분산 식별자 관리 시스템이 제공된다. 상기 사용자 분산 식별자 관리 시스템은 사용자의 신원을 보증하는 발행 서버, 사용자로부터 서비스 요청을 수신하면, 사용자의 신원을 검증하는 서비스 제공 서버, 상기 발행 서버로부터 검증가능한 신원정보를 수신하면, 상기 검증가능한 신원정보를 복수의 데이터로 분리하고, 분리된 각각의 데이터를 미리 저장된 알고리즘을 이용하여 동형 암호화하는 사용자 단말, 그리고 상기 사용자 단말로부터 수신하는 동형 암호화된 각각의 데이터를 블록체인 네트워크 상의 각 노드에 분산 저장하는 관리 서버를 포함할 수 있다.According to one embodiment, a blockchain-based user distributed identifier management system is provided. The user distributed identifier management system includes an issuing server that guarantees the user's identity, a service providing server that verifies the user's identity when receiving a service request from the user, and a verifiable identity when receiving verifiable identity information from the issuing server A user terminal that separates information into a plurality of data, homogeneously encrypts each separated data using a pre-stored algorithm, and distributed storage of each homomorphic encrypted data received from the user terminal in each node on the block chain network It may include a management server that

상기 사용자 단말은 상기 서비스 제공 서버로부터 신원 검증 요청을 수신하면, 상기 관리 서버에게 상기 동형 암호화된 각각의 데이터를 요청하고, 상기 관리 서버는 상기 사용자 단말에 대한 인증을 수행할 수 있다.When the user terminal receives an identity verification request from the service providing server, the user terminal may request each of the isomorphic encrypted data from the management server, and the management server may perform authentication for the user terminal.

상기 관리 서버는, 상기 사용자 단말에 대한 인증이 완료되면, 상기 블록체인 네트워크로부터 상기 동형 암호화된 각각의 데이터를 획득하고, 상기 동형 암호화된 각각의 데이터를 상기 사용자 단말에게 송신할 수 있다.When the authentication for the user terminal is completed, the management server may obtain each of the isomorphic-encrypted data from the block chain network, and transmit each of the isomorphically-encrypted data to the user terminal.

상기 사용자 단말은, 상기 관리 서버로부터 상기 동형 암호화된 각각의 데이터를 수신하면, 미리 저장된 알고리즘을 이용하여 상기 동형 암호화된 각각의 데이터를 복호화할 수 있다.When the user terminal receives each of the isomorphic-encrypted data from the management server, it can decrypt each of the isomorphically-encrypted data using a pre-stored algorithm.

상기 사용자 단말은, 복호화된 각각의 데이터를 병합하여 상기 검증가능한 신원정보를 생성할 수 있다.The user terminal may generate the verifiable identity information by merging each decrypted data.

블록체인 기반 사용자 분산 식별자 관리 시스템을 통해 사용자 스스로 자신의 신원정보를 관리 및 통제할 수 있고, 발급자로부터 발급받은 신원정보를 안전하게 관리할 수 있다.Through the blockchain-based user distributed identifier management system, users can manage and control their own identity information and safely manage identity information issued by the issuer.

도 1은 한 실시예에 따른 사용자 분산 식별자 관리 시스템의 블록도이다.
도 2 내지 도 4는 한 실시예에 따른 검증가능한 신원정보 및 검증가능한 프레젠테이션을 설명하기 위한 도면이다.
도 5는 한 실시예에 따른 사용자 단말의 블록도이다.
도 6 내지 도 8은 한 실시예에 따른 사용자 분산 식별자 관리 시스템의 동작 내용을 설명하기 위한 도면이다.
1 is a block diagram of a user distributed identifier management system according to an embodiment.
2 to 4 are diagrams for explaining verifiable identity information and verifiable presentation according to an embodiment.
5 is a block diagram of a user terminal according to an embodiment.
6 to 8 are diagrams for explaining the operation contents of the user distributed identifier management system according to an embodiment.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, with reference to the accompanying drawings, the embodiments of the present invention will be described in detail so that those of ordinary skill in the art to which the present invention pertains can easily implement them. However, the present invention may be embodied in many different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated.

본 발명의 실시 예에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 실시 예들의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 실시 예들에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 실시 예들의 전반에 걸친 내용을 토대로 정의되어야 한다. Terms used in the embodiments of the present invention have been selected as currently widely used general terms as possible while considering the functions in the present invention, which may vary depending on the intention or precedent of a person skilled in the art, the emergence of new technology, etc. . In addition, in a specific case, there is a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the corresponding embodiments. Therefore, the terms used in the present embodiments should be defined based on the meaning of the term and the overall contents of the present embodiments, rather than the simple name of the term.

본 발명의 실시 예에서, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. In an embodiment of the present invention, terms including ordinal numbers such as first, second, etc. may be used to describe various elements, but the elements are not limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.

또한, 본 발명의 실시 예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. Also, in an embodiment of the present invention, the singular expression includes the plural expression unless the context clearly dictates otherwise.

또한, 본 발명의 실시 예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In addition, in an embodiment of the present invention, terms such as "comprise" or "have" are intended to designate that the features, numbers, steps, operations, components, parts, or combinations thereof described in the specification exist, but one It should be understood that it does not preclude the possibility of the presence or addition of or more other features or numbers, steps, operations, components, parts, or combinations thereof.

또한, 본 발명의 실시 예에서, '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의'모듈' 혹은 복수의'부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.In addition, in an embodiment of the present invention, a 'module' or 'unit' performs at least one function or operation, and may be implemented as hardware or software, or a combination of hardware and software. In addition, a plurality of 'modules' or a plurality of 'units' may be integrated into at least one module and implemented by at least one processor, except for 'modules' or 'units' that need to be implemented with specific hardware.

도 1은 한 실시예에 따른 사용자 분산 식별자 관리 시스템의 블록도이다. 도 2 내지 도 4는 한 실시예에 따른 검증가능한 신원정보 및 검증가능한 프레젠테이션을 설명하기 위한 도면이다. 도 5는 한 실시예에 따른 사용자 단말의 블록도이다.1 is a block diagram of a user distributed identifier management system according to an embodiment. 2 to 4 are diagrams for explaining verifiable identity information and verifiable presentation according to an embodiment. 5 is a block diagram of a user terminal according to an embodiment.

도 1을 참조하면, 한 실시예에 따른 사용자 분산 식별자 관리 시스템은 발행 서버(100), 서비스 제공 서버(200), 사용자 단말(300), 관리 서버(400)를 포함한다.Referring to FIG. 1 , the user distributed identifier management system according to an embodiment includes a issuing server 100 , a service providing server 200 , a user terminal 300 , and a management server 400 .

발행 서버(100) 및 사용자 단말(300)은 각 주체의 계정을 생성하여 블록체인 네트워크에 등록할 수 있다.The issuance server 100 and the user terminal 300 may create an account for each subject and register it in the blockchain network.

발행 서버(100)는 사용자의 신원을 보증한다. The issuing server 100 guarantees the identity of the user.

발행 서버(100)는 한 실시예로서, 발행자(Issuer)로서, 사용자 단말(300)로부터 검증가능한 신원정보(Verifiable Credential, VC) 발급 요청을 수신하면, 사용자 단말(300)의 개인식별정보를 확인한 후 사용자 단말(300)에게 검증가능한 신원정보(VC)를 발급할 수 있다.The issuance server 100 as an embodiment, as an issuer (Issuer), when receiving a request to issue verifiable identity information (Verifiable Credential, VC) from the user terminal 300, the user terminal 300 to confirm the personal identification information Then, verifiable identity information VC may be issued to the user terminal 300 .

서비스 제공 서버(200)는 사용자 단말(300)로부터 서비스 요청을 수신하면, 해당 서비스를 제공하기 전 사용자의 신원을 검증한다. When receiving a service request from the user terminal 300 , the service providing server 200 verifies the identity of the user before providing the corresponding service.

서비스 제공 서버(200)는 한 실시예로서, 검증자(Verifie)로서, 사용자 단말(300)로부터 서비스 요청을 수신하면, 사용자 단말(300)에게 신원 검증을 위한 정보를 요청할 수 있다.As an embodiment, the service providing server 200 may request information for identity verification from the user terminal 300 when receiving a service request from the user terminal 300 as a verifie.

사용자 단말(300)은 서비스 제공 서버(200)로부터 신원 검증을 위한 정보를 요청받으면, 신원 검증을 위한 정보를 제출한다.When the user terminal 300 receives a request for information for identity verification from the service providing server 200 , it submits information for identity verification.

사용자 단말(300)은 한 실시예로서, 사용자(Holder)로서, 서비스 제공 서버(200)로부터 신원 검증을 위한 정보를 요청받으면, 발행 서버(100)로부터 발급받은 검증가능한 신원정보(VC) 중 서비스 제공 서버(200)가 요청한 정보에 대응하는 정보만 포함하는 검증가능한 프레젠테이션(Verifiable Presentation, VP)을 서비스 제공 서버(200)에게 제출할 수 있다.As an embodiment, the user terminal 300, as a user (Holder), receives a request for information for identity verification from the service providing server 200, a service among verifiable identity information (VC) issued from the issuing server 100 A verifiable presentation (VP) including only information corresponding to the information requested by the providing server 200 may be submitted to the service providing server 200 .

서비스 제공 서버(200)는 한 실시예로서, 블록체인 네트워크에 등록된 정보를 바탕으로 사용자 단말(300)로부터 수신한 검증가능한 프레젠테이션(VP)을 검증하고, 검증이 완료되면 사용자 단말(300)에게 서비스를 제공할 수 있다.As an embodiment, the service providing server 200 verifies the verifiable presentation (VP) received from the user terminal 300 based on information registered in the block chain network, and when the verification is completed, to the user terminal 300 service can be provided.

도 2를 참조하면, 검증가능한 신원정보(VC)는 클레임(Clacim) 단위로 구성될 수 있다. 예를 들어, A라는 주체(subject)의 이름이라는 속성(property)은 홍길동이라는 값(value)을 가질 수 있다. 클레임(Clacim)은 다른 클레임(Clacim)과 결합하여 연결 정보를 생성할 수 있다.Referring to FIG. 2 , verifiable identity information VC may be configured in units of claims. For example, a property called the name of a subject A may have a value of Gildong Hong. A claim (Clacim) can be combined with other claims (Clacim) to create connection information.

검증가능한 신원정보(VC)는 주체(subject)에 대한 클레임(Clacim), 자격증명을 설명하는 메타데이터(MetaData), 자격증명을 검증 가능하도록 하는 암호학적 요소들이 포함된 증명(Proofs)을 포함할 수 있다.Verifiable identity information (VC) may include a claim about a subject, metadata describing the credential (MetaData), and proofs (Proofs) containing cryptographic elements that make the credential verifiable. can

도 3 및 도 4를 참조하면, 검증가능한 프레젠테이션(VP)은 하나 또는 그 이상의 검증가능한 신원정보(VC)를 포함할 수 있다.3 and 4 , the verifiable presentation VP may include one or more verifiable identity information VC.

사용자 단말(300)은 발행 서버(100)로부터 검증가능한 신원정보(VC)를 수신하면, 검증가능한 신원정보(VC)를 복수의 데이터로 분리하고, 분리된 각각의 데이터를 미리 저장된 알고리즘을 이용하여 동형 암호화(homomophic encryption)한다. 동형 암호화는 암호화 상태에서 데이터 결합, 연산, 분석 등이 가능한 기법이다.When the user terminal 300 receives the verifiable identity information (VC) from the issuance server 100, the verifiable identity information (VC) is divided into a plurality of data, and each of the separated data is stored in advance using an algorithm. Homomorphic encryption. Homomorphic encryption is a technique that enables data combination, operation, and analysis in an encrypted state.

도 5를 참조하면, 한 실시예에 따른 사용자 단말(300)은 통신부(310), 분리부(320), 암호화부(330), 복호화부(340), 병합부(350)를 포함할 수 있다.Referring to FIG. 5 , the user terminal 300 according to an embodiment may include a communication unit 310 , a separation unit 320 , an encryption unit 330 , a decryption unit 340 , and a merging unit 350 . .

통신부(310)는 한 실시예로서, 발행 서버(100)로부터 검증가능한 신원정보(VC)를 수신하고, 검증가능한 프레젠테이션(VP)을 서비스 제공 서버(200)에게 송신할 수 있다. As an embodiment, the communication unit 310 may receive the verifiable identity information VC from the issuing server 100 and transmit the verifiable presentation VP to the service providing server 200 .

분리부(320)는 한 실시예로서, 발행 서버(100)로부터 수신한 검증가능한 신원정보(VC)를 복수의 데이터로 분리할 수 있다.The separation unit 320 may separate the verifiable identity information (VC) received from the issuing server 100 into a plurality of data as an embodiment.

암호화부(330)는 한 실시예로서, 분리된 각각의 데이터를 미리 저장된 알고리즘을 이용하여 동형 암호화(homomophic encryption)할 수 있다. 미리 저장된 알고리즘은 한 실시예로서, Homomorphic cipher 알고리즘일 수 있다.As an embodiment, the encryption unit 330 may perform homomorphic encryption on each of the separated data using a pre-stored algorithm. The pre-stored algorithm may be a homomorphic cipher algorithm as an example.

복호화부(340)는 한 실시예로서, 관리 서버(400)로부터 수신한 동형 암호화된 각각의 데이터를 미리 저장된 알고리즘을 이용하여 복호화할 수 있다. 미리 저장된 알고리즘은 한 실시예로서, Homomorphic cipher 알고리즘일 수 있다.As an embodiment, the decryption unit 340 may decrypt each homomorphic-encrypted data received from the management server 400 using a pre-stored algorithm. The pre-stored algorithm may be a homomorphic cipher algorithm as an example.

병합부(350)는 한 실시예로서, 복호화된 각각의 데이터를 병합하여 분리부(320)가 데이터를 분리하기 전 원데이터인 검증가능한 신원정보(VC)를 생성할 수 있다.The merging unit 350 may generate verifiable identity information VC that is original data before the separation unit 320 separates the data by merging the respective decrypted data as an embodiment.

관리 서버(400)는 한 실시예로서, 사용자 단말(300)로부터 수신하는 동형 암호화된 각각의 데이터를 블록체인 네트워크 상의 각 노드에 분산 저장할 수 있다.As an embodiment, the management server 400 may distribute and store isomorphic encrypted data received from the user terminal 300 in each node on the block chain network.

관리 서버(400)는 한 실시예로서, 사용자 단말(300)로부터 검증가능한 신원정보(VC) 요청을 수신하면, 미리 저장된 알고리즘을 이용하여 사용자 단말(300)에 대한 인증을 수행할 수 있다. 미리 저장된 알고리즘은 한 실시예로서, 영지식증명(Zero knowledge proof, ZKP) 알고리즘일 수 있다.As an embodiment, the management server 400 may perform authentication on the user terminal 300 by using a pre-stored algorithm upon receiving a verifiable identity information (VC) request from the user terminal 300 . The pre-stored algorithm may be a zero knowledge proof (ZKP) algorithm as an embodiment.

관리 서버(400)는 한 실시예로서, 사용자 단말에 대한 인증이 완료되면, 블록체인 네트워크로부터 동형 암호화된 각각의 데이터를 획득하고, 획득한 동형 암호화된 각각의 데이터를 사용자 단말(300)에게 송신할 수 있다.The management server 400, as an embodiment, when authentication for the user terminal is completed, obtains each homomorphic-encrypted data from the block chain network, and transmits each of the obtained isomorphic-encrypted data to the user terminal 300 can do.

도 6 내지 도 8은 한 실시예에 따른 사용자 분산 식별자 관리 시스템의 동작 내용을 설명하기 위한 도면이다.6 to 8 are diagrams for explaining the operation of the user distributed identifier management system according to an embodiment.

도 6 내지 7을 참조하면, 사용자 단말(300)은 한 실시예로서, 발행 서버(100)로부터 검증가능한 신원정보(VC)를 수신하면, 검증가능한 신원정보(예, M0) 를 복수의 데이터(예, M1, M2)로 분리하고(S10), 분리된 각각의 데이터(예, M1, M2)를 미리 저장된 알고리즘을 이용하여 동형 암호화하며, 동형 암호화된 각각의 데이터(예, C1h(C1), C2h(C2))를 관리 서버(400)에게 전달할 수 있다(S20).6 to 7, the user terminal 300 as an embodiment, when receiving the verifiable identity information (VC) from the issuance server 100, verifiable identity information (eg, M0) a plurality of data ( For example, M1, M2) is separated (S10), each of the separated data (eg, M1, M2) is homomorphically encrypted using a pre-stored algorithm, and each homomorphically encrypted data (eg, C1h (C1), C2h (C2)) may be transmitted to the management server 400 (S20).

관리 서버(400)는 한 실시예로서, 동형 암호화된 각각의 데이터(예, C1h(C1), C2h(C2))에 아이디 및 시퀀스를 부여하여 매핑하는 작업을 수행할 수 있다.As an embodiment, the management server 400 may perform mapping by assigning an ID and a sequence to each homomorphic-encrypted data (eg, C1h(C1), C2h(C2)).

관리 서버(400)는 한 실시예로서, 동형 암호화된 각각의 데이터(예, C1h(C1), C2h(C2))를 블록체인 네트워크 상의 각 노드에 분산 저장할 수 있다(S30). 관리 서버(400)는 한 실시예로서, 동형 암호화된 각각의 데이터의 해시(hash) 값을 프라이빗-퍼플릭 블록체인(private & public blockchain)을 통해 관리할 수 있다. 관리 서버(400)는 한 실시예로서, 블록체인 네트워크 상의 인근 노드(node)에 각각의 동형 암호화된 각각의 데이터를 분산 저장할 수 있고, 이에 대한 MAC 해시값은 블록체인을 통해 관리될 수 있다(도 7 참조).As an embodiment, the management server 400 may distribute and store homomorphically-encrypted data (eg, C1h(C1), C2h(C2)) in each node on the block chain network (S30). As an embodiment, the management server 400 may manage a hash value of each homomorphic-encrypted data through a private & public blockchain. As an embodiment, the management server 400 may distribute and store each isomorphic encrypted data in neighboring nodes on the blockchain network, and the MAC hash value for this may be managed through the blockchain ( see Fig. 7).

사용자 단말(300)은 한 실시예로서, 서비스 제공 서버(200)로부터 신원 검증 요청을 수신하면, 관리 서버(400)에게 동형 암호화된 각각의 데이터를 요청하고, 관리 서버(400)는 미리 저장된 알고리즘을 이용하여 사용자 단말(300)에 대한 인증(영지식증명 인증)을 수행할 수 있다(S40). 미리 저장된 알고리즘은 한 실시예로서, 영지식증명(Zero knowledge proof, ZKP) 알고리즘일 수 있다(도 8 참조).The user terminal 300, as an embodiment, when receiving an identity verification request from the service providing server 200, requests each of the isomorphic encrypted data to the management server 400, the management server 400 is a pre-stored algorithm can be used to perform authentication (zero-knowledge authentication authentication) for the user terminal 300 (S40). The pre-stored algorithm may be a zero knowledge proof (ZKP) algorithm as an embodiment (see FIG. 8 ).

관리 서버(400)는 한 실시예로서, 사용자 단말(300)에 대한 인증이 완료되면, 블록체인 네트워크로부터 동형 암호화된 각각의 데이터(예, C1h(C1), C2h(C2))를 획득하고, 동형 암호화된 각각의 데이터(예, C1h(C1), C2h(C2))를 사용자 단말(300)에게 송신할 수 있다(S50).As an embodiment, the management server 400 obtains homomorphic-encrypted data (eg, C1h(C1), C2h(C2)) from the block chain network when authentication for the user terminal 300 is completed, Each of the homomorphically encrypted data (eg, C1h(C1) and C2h(C2)) may be transmitted to the user terminal 300 (S50).

사용자 단말(300)은 한 실시예로서, 관리 서버(400)로부터 동형 암호화된 각각의 데이터(예, C1h(C1), C2h(C2))를 수신하면, 미리 저장된 알고리즘을 이용하여 동형 암호화된 각각의 데이터를 복호화할 수 있다(S60).The user terminal 300 as an embodiment, when receiving each of the isomorphic-encrypted data (eg, C1h (C1), C2h (C2)) from the management server 400, using a pre-stored algorithm, each isomorphically encrypted data can be decoded (S60).

사용자 단말(300)은 한 실시예로서, 복호화된 각각의 데이터를 병합하여 데이터를 분리하기 전 원데이터인 검증가능한 신원정보(예, M0)를 생성할 수 있다(S70).As an embodiment, the user terminal 300 may generate verifiable identity information (eg, M0) that is original data before separating the data by merging each of the decrypted data (S70).

본 실시 예와 관련된 기술 분야에서 통상의 지식을 가진 자는 상기된 기재의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시 방법들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.A person of ordinary skill in the art related to this embodiment will understand that it can be implemented in a modified form within a range that does not deviate from the essential characteristics of the above description. Therefore, the disclosed methods should be considered in an illustrative and not a restrictive sense. The scope of the present invention is indicated in the claims rather than the foregoing description, and all differences within the scope equivalent thereto should be construed as being included in the present invention.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improved forms of the present invention are also provided by those skilled in the art using the basic concept of the present invention as defined in the following claims. is within the scope of the right.

Claims (5)

블록체인 기반 사용자 분산 식별자 관리 시스템으로서,
사용자의 신원을 보증하는 발행 서버,
사용자로부터 서비스 요청을 수신하면, 사용자의 신원을 검증하는 서비스 제공 서버,
상기 발행 서버로부터 검증가능한 신원정보를 수신하면, 상기 검증가능한 신원정보를 복수의 데이터로 분리하고, 분리된 각각의 데이터를 미리 저장된 알고리즘을 이용하여 동형 암호화하는 사용자 단말, 그리고
상기 사용자 단말로부터 수신하는 동형 암호화된 각각의 데이터를 블록체인 네트워크 상의 각 노드에 분산 저장하는 관리 서버
를 포함하고,
상기 사용자 단말은
상기 발행 서버로부터 상기 검증가능한 신원정보를 수신하는 통신부,
상기 검증가능한 신원정보를 상기 복수의 데이터로 분리하는 분리부,
상기 분리된 각각의 데이터를 미리 저장된 알고리즘을 이용하여 동형 암호화하는 암호화부,
상기 관리 서버로부터 수신하는 상기 동형 암호화된 각각의 데이터를 미리 저장된 알고리즘을 이용하여 복호화하는 복호화부, 및
복호화된 각각의 데이터를 병합하여 상기 분리부가 상기 복수의 데이터로 분리하기 전 원데이터인 검증가능한 신원정보를 생성하는 병합부를 포함하며,
상기 사용자 단말은
상기 서비스 제공 서버로부터 신원 검증 요청을 수신하면, 상기 관리 서버에게 상기 동형 암호화된 각각의 데이터를 요청하고,
상기 관리 서버는
미리 저장된 알고리즘을 이용하여 상기 사용자 단말에 대한 인증을 수행하며,
상기 관리 서버는
상기 사용자 단말에 대한 인증이 완료되면, 상기 블록체인 네트워크로부터 상기 동형 암호화된 각각의 데이터를 획득하고, 상기 동형 암호화된 각각의 데이터를 상기 사용자 단말에게 송신하며
상기 사용자 단말은
상기 관리 서버로부터 상기 동형 암호화된 각각의 데이터를 수신하면, 미리 저장된 알고리즘을 이용하여 상기 동형 암호화된 각각의 데이터를 복호화하며,
상기 사용자 단말은
복호화된 각각의 데이터를 병합하여 상기 검증가능한 신원정보를 생성하고, 상기 검증가능한 신원정보를 상기 서비스 제공 서버에게 송신하는 사용자 분산 식별자 관리 시스템.
As a blockchain-based user distributed identifier management system,
issuance server that guarantees the identity of the user;
When receiving a service request from a user, a service providing server that verifies the identity of the user;
When receiving verifiable identity information from the issuing server, a user terminal that separates the verifiable identity information into a plurality of data, and homomorphically encrypts each of the separated data using a pre-stored algorithm; and
A management server that distributes and stores each homomorphic encrypted data received from the user terminal in each node on the block chain network.
including,
The user terminal is
a communication unit for receiving the verifiable identity information from the issuing server;
a separation unit that separates the verifiable identity information into the plurality of data;
An encryption unit that homogeneously encrypts each of the separated data using a pre-stored algorithm;
A decryption unit for decrypting each of the isomorphic encrypted data received from the management server using a pre-stored algorithm, and
and a merging unit that merges each decrypted data to generate verifiable identity information that is original data before the separation unit separates the plurality of data,
The user terminal is
Upon receiving the identity verification request from the service providing server, requesting each of the isomorphic encrypted data to the management server,
the management server
Perform authentication for the user terminal using a pre-stored algorithm,
the management server
When authentication for the user terminal is completed, each of the isomorphic encrypted data is obtained from the block chain network, and each isomorphically encrypted data is transmitted to the user terminal,
The user terminal is
Upon receiving each of the isomorphic-encrypted data from the management server, it decrypts each of the isomorphically-encrypted data using a pre-stored algorithm,
The user terminal is
A user distributed identifier management system for generating the verifiable identity information by merging each decrypted data, and transmitting the verifiable identity information to the service providing server.
삭제delete 삭제delete 삭제delete 삭제delete
KR1020210033195A 2021-03-15 2021-03-15 System for managing did for blockchain platform user KR102303253B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210033195A KR102303253B1 (en) 2021-03-15 2021-03-15 System for managing did for blockchain platform user

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210033195A KR102303253B1 (en) 2021-03-15 2021-03-15 System for managing did for blockchain platform user

Publications (1)

Publication Number Publication Date
KR102303253B1 true KR102303253B1 (en) 2021-09-17

Family

ID=77923998

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210033195A KR102303253B1 (en) 2021-03-15 2021-03-15 System for managing did for blockchain platform user

Country Status (1)

Country Link
KR (1) KR102303253B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023128340A1 (en) * 2021-12-30 2023-07-06 주식회사 디사일로 Method and system for processing homomorphic encrypted data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102173426B1 (en) * 2020-07-08 2020-11-03 주식회사 아이오트러스트 Privacy preserving public key infrastructure based self sign and verification system and method in decentralized identity
KR20210017432A (en) * 2019-08-08 2021-02-17 한국전자통신연구원 Apparatus and method for managing personal information based on blockchain

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210017432A (en) * 2019-08-08 2021-02-17 한국전자통신연구원 Apparatus and method for managing personal information based on blockchain
KR102173426B1 (en) * 2020-07-08 2020-11-03 주식회사 아이오트러스트 Privacy preserving public key infrastructure based self sign and verification system and method in decentralized identity

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023128340A1 (en) * 2021-12-30 2023-07-06 주식회사 디사일로 Method and system for processing homomorphic encrypted data

Similar Documents

Publication Publication Date Title
KR102025409B1 (en) Data access management system based on blockchain and method thereof
US11271730B2 (en) Systems and methods for deployment, management and use of dynamic cipher key systems
US6915434B1 (en) Electronic data storage apparatus with key management function and electronic data storage method
KR100734162B1 (en) Method and apparatus for secure distribution of public/private key pairs
KR100568233B1 (en) Device Authentication Method using certificate and digital content processing device using the method
US10567370B2 (en) Certificate authority
JP5215289B2 (en) Method, apparatus and system for distributed delegation and verification
KR102307574B1 (en) Cloud data storage system based on blockchain and method for storing in cloud
AU2006283634A1 (en) Distributed single sign-on service
JPH05103094A (en) Method and apparatus for mutually certifying users in communication system
JP6667371B2 (en) Communication system, communication device, communication method, and program
CN111294349B (en) Method and device for sharing data of Internet of things equipment
US20210105136A1 (en) Method for securing a data exchange in a distributed infrastructure
US7315950B1 (en) Method of securely sharing information over public networks using untrusted service providers and tightly controlling client accessibility
US20220020020A1 (en) Methods, systems, and devices for managing digital assets
Downnard Public-key cryptography extensions into Kerberos
KR102303253B1 (en) System for managing did for blockchain platform user
CN111131160B (en) User, service and data authentication system
KR20210020699A (en) Method for performing backup and recovery private key in consortium blockchain network, and device using them
CN106790185B (en) CP-ABE-based method and device for safely accessing authority dynamic update centralized information
US20220200792A1 (en) Selective data disclosure via a block chain
JPH09294120A (en) Access control method and system for ciphered shared data
CN105187213B (en) A kind of method of computer information safe
KR20210020851A (en) Method for performing backup and recovery private key in consortium blockchain network, and device using them
JPH11331145A (en) Information sharing system, information preserving device, information processing method and recording medium therefor

Legal Events

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