KR102139645B1 - System for Certificating identity based on Blockchain and Driving method thereof - Google Patents

System for Certificating identity based on Blockchain and Driving method thereof Download PDF

Info

Publication number
KR102139645B1
KR102139645B1 KR1020200044776A KR20200044776A KR102139645B1 KR 102139645 B1 KR102139645 B1 KR 102139645B1 KR 1020200044776 A KR1020200044776 A KR 1020200044776A KR 20200044776 A KR20200044776 A KR 20200044776A KR 102139645 B1 KR102139645 B1 KR 102139645B1
Authority
KR
South Korea
Prior art keywords
blockchain
distributed
identity authentication
identity
hyperledger
Prior art date
Application number
KR1020200044776A
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 KR1020200044776A priority Critical patent/KR102139645B1/en
Application granted granted Critical
Publication of KR102139645B1 publication Critical patent/KR102139645B1/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
    • 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
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The present invention relates to an identity verifying system based on a blockchain, which suggests a blockchain network perfectly suitable for KISMI using hyperledger fabric and hyperledger INDY specialized in DID, and to a driving method thereof. According to the present invention, the identity verifying system based on a blockchain comprises: a distributed ID issuing unit for issuing a distributed ID in accordance with a distributed ID issuance request received from a user terminal; and an identity authenticating unit for storing the distributed ID issued by the distributed ID issuing unit as blockchain data and performing identity authentication by inquiring the stored blockchain data when an identity verifying request is received. Accordingly, the overall process from issuance to utilization of DID can be provided via a single network by generating a new blockchain network structure on the basis of hyperledger fabric and INDY by the identity verifying system based on blockchain.

Description

블록체인 기반의 신원증명 시스템 및 그 구동방법{System for Certificating identity based on Blockchain and Driving method thereof}System for Certificating identity based on Blockchain and Driving method thereof}

본 발명은 블록체인 기반의 신원증명 시스템 및 그 구동방법에 관한 것으로 보다 상세하게는 Hyperledger Fabric과 DID에 특화된 Hyperledger INDY를 활용하여 KISMI에 딱 맞는 Blockchain Netowork를 제안하는 블록체인 기반의 신원증명 시스템 및 그 구동방법에 관한 것이다.The present invention relates to a blockchain-based identity authentication system and a driving method thereof. More specifically, a blockchain-based identity authentication system that proposes a Blockchain Netowork suitable for KISMI by utilizing Hyperledger Fabric and Hyperledger INDY specialized for DID and its It relates to a driving method.

블록체인(Blockchain)은 분산 데이터 저장기술의 한 형태이다. 지속적으로 변경되는 데이터를 모든 참여 노드에 기록한 변경 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가능하도록 고안되었다. Blockchain is a form of distributed data storage technology. This is a change list in which continuously changing data is recorded in all participating nodes, and is designed so that random manipulation by the operator of the distributed node is impossible.

즉, 관리대상 데이터를 ‘블록’(소규모 데이터들이 P2P 방식을 기반으로 생성된 체인 형태의 연결고리) 기반 분산 데이터 저장 환경에 저장하여 누구라도 임의로 수정할 수 없고 누구나 변경의 결과를 열람할 수 있는 분산 컴퓨팅 기술 기반의 원장 관리 기술이다.In other words, the data to be managed is stored in a distributed data storage environment based on a'block' (chain of chains in which small data is created based on P2P method), and anyone can arbitrarily modify it and anyone can view the results of the changes. It is a ledger management technology based on computing technology.

한편, 블록체인(Blockchain) 기술을 활용한 구현 사례로는 비트코인, 이더리움 등 다양하게 존재한다. On the other hand, there are various examples of implementations using Blockchain technology, such as Bitcoin and Ethereum.

블록체인 기술이 제시된 이후 관련 기술의 발전은 박차를 가해, 현재 블록체인 기술의 구현은 산업 전반에 걸쳐 높은 수준에서 범용화가 되었으며, 관련기술을 활용한 산업 현장의 변화도 발 빠르게 이루어져 사회 곳곳에서 블록체인을 활용한 개량기술들이 활약하고 있다. 이러한 환경의 변화에 따라, 사회와 시장의 요청 또한 블록체인 기술 자체의 활용 여부 또는 복잡성보다는 기술을 활용하여 어떠한 비즈니스 모델을 창출하였는가에 자연스레 무게중심이 이동하게 되었다.After the blockchain technology was presented, the development of related technologies has spurred, and the implementation of the current blockchain technology has been generalized at a high level throughout the industry, and changes in the industrial field using related technologies are also rapidly occurring, and blocks in various parts of society Improvement techniques utilizing chains are active. In response to these changes in the environment, the request of society and market also naturally shifts the center of gravity depending on whether or not the blockchain technology itself is used or the complexity, rather than what technology is used to create a business model.

즉, 최근 블록체인 기술은 그 고도성이 충분한 성숙기에 이르러 기술 자체의 복잡성보다는 어떠한 비즈니스 모델을 창출할 것인지, 그 비즈니스 모델로 구축된 생태계 안에서 참여자들이 원활하게 기술을 활용할 수 있도록 하는 거버넌스 문제를 어떻게 해결할 것인지의 2가지 핵심 목적으로 수렴되고 있다고 할 수 있다.In other words, the recent blockchain technology has reached its maturity level, and how to create a business model rather than the complexity of the technology itself, and how to solve the governance problem that enables participants to use the technology smoothly within the ecosystem built with the business model. It can be said that it is converging for two key purposes of solving.

KRKR 10-2015-005583910-2015-0055839 AA KRKR 10-2019-012830910-2019-0128309 AA

본 발명은 이 같은 기술적 배경에서 도출된 것으로, Hyperledger Fabric과 INDY를 기반으로 새로운 하나의 블록체인 네트워크(Blockchain Network) 구조를 생성하여 DID의 발급부터 활용까지 전반적인 프로세스를 하나의 네트워크로 제공할 수 있는 블록체인 기반의 신원증명 시스템 및 그 구동방법을 제공함에 그 목적이 있다.The present invention is derived from such a technical background, and based on Hyperledger Fabric and INDY, a new Blockchain Network structure can be created to provide the overall process from issuance to utilization of DID as one network. The aim is to provide a blockchain-based identity authentication system and its driving method.

특히 Blockchain 기반의 다양한 프레임 워크들 중 기업체(enterprise)에 적합한 하이퍼레저 패브릭(Hyperledger Fabric)과 DID에 특화된 Hyperledger INDY를 활용하여 KISMI에 최적화된 블록체인 네트워크(Blockchain Netowork)구조를 제안함에 그 목적이 있다. Particularly, among the various frameworks based on Blockchain, the purpose is to propose a blockchain network structure optimized for KISMI by utilizing Hyperledger Fabric suitable for enterprise and Hyperledger INDY specialized for DID. .

상기의 과제를 달성하기 위한 본 발명은 다음과 같은 구성을 포함한다. The present invention for achieving the above object includes the following configuration.

즉 본 발명의 일 실시예에 따른 블록체인 기반의 신원증명 시스템은 사용자 단말로부터 수신되는 분산 ID 발급 요청에 따라 분산 ID를 발급하는 분산 ID 발급부 및 상기 분산 ID 발급부에서 발급된 분산 ID를 블록체인 데이터로 저장하고, 신원 증명 요청이 수신되면 상기 저장된 블록체인 데이터를 조회하여 신원 인증을 수행하는 신원 인증부를 포함한다. That is, the blockchain-based identity verification system according to an embodiment of the present invention blocks a distributed ID issuing unit that issues a distributed ID according to a request for issuing a distributed ID received from a user terminal and a distributed ID issued by the distributed ID issuing unit. It includes an identity authentication unit that stores chain data and, when an identity verification request is received, queries the stored blockchain data to perform identity authentication.

일 양상에 있어서, 신원 인증부는 Node SDK(소프트웨어 개발 키트)를 경유하여 상기 사용자 단말과 통신을 수행하는 것을 특징으로 하고, 분산 ID 발급부는 탈중앙 ID를 관리하는 하이퍼레저(Hyperledger) INDY인 것을 특징으로한다. In one aspect, the identity authentication unit is characterized by performing communication with the user terminal via a Node SDK (Software Development Kit), and the distributed ID issuing unit is characterized by being a hyperledger INDY managing a decentralized ID. Shall be

한편, 분산 ID 발급부와 신원 인증부를 포함하는 블록체인 기반의 신원증명 시스템의 구동 방법은 분산 ID 발급부가 사용자 단말로부터 수신되는 분산 ID 발급 요청에 따라 분산 ID를 발급하는 단계 및 신원 인증부가 상기 분산 ID 발급부에서 발급된 분산 ID를 블록체인 데이터로 저장하고, 신원 증명 요청이 수신되면 상기 저장된 블록체인 데이터를 조회하여 신원 인증을 수행하는 단계를 포함한다. Meanwhile, a method of driving a blockchain-based identity authentication system including a distributed ID issuing unit and an identity authentication unit includes: issuing a distributed ID according to a distributed ID issuance request received from a user terminal and the identity authentication unit is distributed And storing the distributed ID issued by the ID issuer as blockchain data, and when the identity verification request is received, querying the stored blockchain data to perform identity authentication.

일 양상에 있어서, 신원 인증부는 Node SDK(소프트웨어 개발 키트)를 경유하여 상기 사용자 단말과 통신을 수행하는 것을 특징으로 하고, 분산 ID 발급부는 탈중앙 ID를 관리하는 하이퍼레저(Hyperledger) INDY인 것을 특징으로한다. In one aspect, the identity authentication unit is characterized by performing communication with the user terminal via a Node SDK (Software Development Kit), and the distributed ID issuing unit is characterized by being a hyperledger INDY managing a decentralized ID. Shall be

본 발명에 따르면 Hyperledger Fabric과 INDY를 기반으로 새로운 하나의 블록체인 네트워크(Blockchain Network) 구조를 생성하여 DID의 발급부터 활용까지 전반적인 프로세스를 하나의 네트워크로 제공할 수 있는 블록체인 기반의 신원증명 시스템 및 그 구동방법을 제공할 수 있다는 효과가 도출된다. According to the present invention, based on the Hyperledger Fabric and INDY, a new Blockchain Network structure is created to provide an overall process from issuance to utilization of the DID as a single blockchain-based identity verification system and The effect that the driving method can be provided is derived.

특히 Blockchain 기반의 다양한 프레임 워크들 중 기업체(enterprise)에 적합한 하이퍼레저 패브릭(Hyperledger Fabric)과 DID에 특화된 Hyperledger INDY를 활용하여 KISMI에 최적화된 블록체인 네트워크(Blockchain Netowork)구조를 제안할 수 있는 효과가 있다.In particular, among the various frameworks based on Blockchain, it is effective to propose a blockchain network structure optimized for KISMI by utilizing Hyperledger Fabric suitable for the enterprise and Hyperledger INDY specialized for DID. have.

도 1 은 본 발명의 일 실시예에 따른 블록체인 기반의 신원증명 시스템의 구성을 도시한 블록도,
도 2 는 본 발명의 다른 실시예에 따른 블록체인 기반의 신원증명 시스템의 구성을 도시한 블록도,
도 3 은 본 발명의 다른 실시예에 따른 신원 인증부의 구성을 도시한 예시도,
도 4 는 본 발명의 일 실시예에 따른 신원 인증부에서의 동작을 설명하기 위한 예시도,
도 5 는 본 발명의 일 실시예에 따른 블록체인 기반의 신원증명 시스템의 구동 방법의 흐름도이다.
1 is a block diagram showing the configuration of a blockchain-based identity authentication system according to an embodiment of the present invention,
Figure 2 is a block diagram showing the configuration of a blockchain-based identity authentication system according to another embodiment of the present invention,
3 is an exemplary view showing the configuration of an identity authentication unit according to another embodiment of the present invention;
4 is an exemplary view for explaining the operation in the identity authentication unit according to an embodiment of the present invention,
5 is a flowchart of a method of driving a blockchain-based identity verification system according to an embodiment of the present invention.

본 발명에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. It should be noted that the technical terms used in the present invention are only used to describe specific embodiments, and are not intended to limit the present invention. In addition, technical terms used in the present invention should be interpreted as meanings generally understood by a person having ordinary knowledge in the technical field to which the present invention belongs, unless otherwise defined in the present invention. It should not be interpreted as a meaning or an excessively reduced meaning.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1 은 본 발명의 일 실시예에 따른 블록체인 기반의 신원증명 시스템의 구성을 도시한 블록도이다. 1 is a block diagram showing the configuration of a blockchain-based identity authentication system according to an embodiment of the present invention.

일 실시예에 따른 블록체인 기반의 신원증명 시스템(10)은 Hyperledger Fabric과 INDY를 기반으로 새로운 하나의 Blockchain Network를 생성해 DID의 발급부터 활용까지 전반적인 프로세스를 하나의 네트워크로 제공한다. The blockchain-based identity verification system 10 according to an embodiment creates a new Blockchain Network based on the Hyperledger Fabric and INDY to provide the overall process from issuance to utilization of the DID as one network.

일 실시예에 있어서 블록체인 네트워크를 구축하는 것은 Azure 클라우드에 Hyperledger Fabric과 INDY를 활용할 수 있는 환경을 구축하는 것으로 구현된다. 일예로 linux ubuntu 1604를 활용할 수 있다. In one embodiment, building a blockchain network is implemented by building an environment that can utilize Hyperledger Fabric and INDY in the Azure cloud. You can use linux ubuntu 1604 as an example.

하이퍼레저 패브릭(Hyperledger Fabric)은 Fabric 2.0.0 기반으로 도 1 에서와 같이 2 ca, 4 peer(2 org), 4 couchdb, 5 orderer를 가지는 raft network로 구성될 수 있다. 그러나 이에 한정되는 것은 아니고 향후 자동화를 통해 peer 수는 다양하게 조정 가능하다. Hyperledger Fabric (Hyperledger Fabric) can be configured as a raft network with 2 ca, 4 peers (2 org), 4 couchdb, and 5 orderers as shown in FIG. 1 based on Fabric 2.0.0. However, the present invention is not limited to this, and the number of peers can be adjusted in various ways through automation in the future.

하이퍼레저 패브릭(Hyperledger Fabric)의 각 VM간 연결은 클라우드의 peering 및 docker-swarm을 활용할 수 있다. Each VM connection of Hyperledger Fabric can utilize cloud peering and docker-swarm.

Hyperledger INDY는 일예로 indy-sdk 1.14.2가 설치된 것일 수 있다. 또한 DID를 발급하는 것은 INDY의 DID 발급 부분을 모듈화(Nodejs 활용)하는 것을 구현될 수 있다. Hyperledger INDY may be, for example, indy-sdk 1.14.2 installed. Also, issuing DID can be implemented by modularizing (using Nodejs) the DID issuing part of INDY.

또한 일 실시예에 따른 블록체인 기반의 신원증명 시스템(10)에서 발급된 DID는 Fabric chaincode를 통해 저장 및 활용하도록 구현된다. 예를들어 Go lang을 활용하여 구현될 수 있다. In addition, the DID issued by the blockchain-based identity verification system 10 according to an embodiment is implemented to be stored and utilized through the fabric chaincode. For example, it can be implemented using Go lang.

일 실시예에 따른 블록체인 기반의 신원증명 시스템(10)은 신원 증명이 필요할 때 Fabric chaincode를 통해 데이터를 조회하여 인증한다. 예를들어 Go lang 활용하여 인증할 수 있다.The blockchain-based identity authentication system 10 according to an embodiment retrieves and authenticates data through a fabric chaincode when identity authentication is required. For example, you can authenticate using Go lang.

그리고 사용자 단말(20)와의 통신을 위해 Fabric Node SDK를 활용해 express 서버를 생성하도록 구현된다. And it is implemented to generate an express server by utilizing the Fabric Node SDK for communication with the user terminal 20.

또한 엔진엑스(nginx)를 통해 SSL(Secure Sockets Layer) 적용이 가능하다. 엔진엑스(Nginx)는 웹 서버 소프트웨어로, 가벼움과 높은 성능을 목표로 한다. 웹 서버, 리버스 프록시 및 메일 프록시 기능을 가진다. In addition, Secure Sockets Layer (SSL) can be applied through nginx. Nginx is a web server software that aims for lightness and high performance. It has a web server, reverse proxy, and mail proxy functions.

SSL(Secure Sockets Layer)은 보안 소켓 계층을 이르는 말로, 인터넷에서 데이터를 안전하게 전송하기 위한 인터넷 통신 규약 프로토콜이다. SSL(Secure Sockets Layer)를 적용함으로써 인터넷 프로토콜(Internet protocol)이 보안면에서 기밀성을 유지하지 못한다는 문제를 극복할 수 있다. SSL (Secure Sockets Layer) is a term that refers to a secure socket layer, and is an Internet communication protocol for safely transmitting data on the Internet. By applying SSL (Secure Sockets Layer), it is possible to overcome the problem that the Internet protocol does not maintain confidentiality in terms of security.

일 실시예에 따르면 블록체인 기반의 신원증명 시스템(10)은 DID 발급, 저장, 조회 부분을 API화(Nodejs 활용)하여 JWT를 통해 블록체인으로의 접근을 통제, 보안을 강화시킬 수 있는 효과가 있다. According to one embodiment, the blockchain-based identity verification system 10 has an effect of controlling access to the blockchain through JWT and enhancing security by APIizing the DID issuance, storage, and inquiry parts (using Nodejs). have.

구체적으로 일 실시예에 있어서 도 1의 분산 ID 발급부(12)는 사용자 단말(20)로부터 수신되는 분산 ID 발급 요청에 따라 분산 ID를 발급한다. Specifically, in one embodiment, the distributed ID issuing unit 12 of FIG. 1 issues a distributed ID according to the distributed ID issuance request received from the user terminal 20.

본 발명의 특징적인 양상에 따라 분산 ID 발급부(12)는 탈중앙 ID를 관리하는 Hyperledger INDY인 것을 특징으로 한다. 일 실시예에 따르면, Hyperledger INDY를 활용하여 월드와이드웹 컨소시엄(W3C) 표준을 따르는 DID를 발급할 수 있다. 그러나 이에 한정되는 것은 아니다.According to a characteristic aspect of the present invention, the distributed ID issuing unit 12 is characterized in that it is a Hyperledger INDY that manages the decentralized ID. According to an embodiment, a DID conforming to the World Wide Web Consortium (W3C) standard may be issued using Hyperledger INDY. However, it is not limited thereto.

Hyperledger INDY는 분산 원장에 대한 독립적인 아이덴티티를 지원한다. 인터넷 환경에서 중개자없이 신원을 제공하는 것을 목표로 하는 플랫폼이다. Hyperledger INDY supports an independent identity for distributed ledgers. It is a platform that aims to provide identity without intermediaries in the Internet environment.

블록체인 기반으로 독립적인 디지털 ID를 만들고, 사용하게 하기위한 재사용가능한 구성요소, 도구, 라이브러리를 제공한다. It provides reusable components, tools, and libraries to create and use independent digital IDs based on blockchain.

탈중앙 식별자 서비스 DID(Decentralized Identifiers, 탈중앙 식별자 서비스)는 위/변조가 불가능한 분산원장을 통해 개인의 신원을 증명하고 본인 스스로 개인정보를 관리할 수 있는 서비스다. 블록체인을 이용한 DID의 가장 큰 특징은 자기주권형 신원증명이다. Decentralized Identifiers DID (Decentralized Identifiers) is a service that proves an individual's identity and manages personal information by himself through a distributed ledger that cannot be tampered with. The biggest feature of DID using blockchain is self-sovereignty identification.

일 예로 이용자 개인의 지갑에서 DID를 발급받고 블록에 기록되면 DID의 불변성을 통해 자신의 DID가 신뢰성을 갖고 있다는 사실이 컨세서스 내 모든 사람에게 공개된다. 따라서 외부인들은 지갑보유자에게 블록체인의 공개키 정보가 포함된 DID의 확인을 요구할 수 있고 지갑보유자는 개인 키를 이용해 자신을 증명할 수 있으며, 분산 ID를 이용해 지갑보유자는 지갑에 있는 개인정보를 외부에 선택적으로 제공할 수 있게 된다.For example, when a DID is issued from a user's personal wallet and recorded in a block, the fact that his DID has reliability through the immutability of the DID is disclosed to everyone in Consace. Therefore, outsiders can ask the wallet holder to verify the DID that contains the public key information of the blockchain, and the wallet holder can prove himself using the private key, and using the distributed ID, the wallet holder can send the personal information in the wallet to the outside. It can be provided selectively.

신원 인증부(14)는 분산 ID 발급부(12)에서 발급된 분산 ID를 블록체인 데이터로 저장하고, 신원 증명 요청이 수신되면 상기 저장된 블록체인 데이터를 조회하여 신원 인증을 수행한다. The identity authentication unit 14 stores the distributed ID issued by the distributed ID issuer 12 as blockchain data, and when an identity verification request is received, queries the stored blockchain data to perform identity authentication.

즉 신원 인증부(14)는 기발급된 분산 ID에 대한 등록을 받는다. 블록체인 기반의 분산 ID(DID)는 개인정보를 기관별로 분산해서 저장하고, 신원 검증에 필요한 정보도 나눠서 관리한다. 기존의 분산 ID의 경우에는 동시에 여러 곳을 해킹해서 정보를 조작해야 하기 때문에 중앙에서 단일하게 관리하는 것보다 안전성을 보장할 수 있다.That is, the identity authentication unit 14 receives registration for a previously issued distributed ID. Blockchain-based distributed ID (DID) stores and distributes personal information for each institution and manages information necessary for identity verification. In the case of the existing distributed ID, it is necessary to hack several places at the same time and manipulate the information, so it is possible to secure the safety than to centrally manage it.

도 1에서 CC는 Chaincode, L은 ledger이다. In FIG. 1, CC is Chaincode and L is ledger.

도 1을 참조하여 일 실시예에 따른 블록체인 기반의 신원증명 시스템의 동작을 설명한다. Referring to FIG. 1, an operation of a blockchain-based identity authentication system according to an embodiment will be described.

먼저, 분산 ID 발급부(12)가 사용자 단말(20)로부터 수신되는 DID 발급 요청을 수신한다(101). 그리고 분산 ID 발급부(12) 즉 INDY는 DID 발급 후 신원 인증부(14) 즉 Fabric에 저장한다(102). First, the distributed ID issuing unit 12 receives a DID issuing request received from the user terminal 20 (101). Then, the distributed ID issuing unit 12, or INDY, is stored in the identity authentication unit 14, that is, Fabric, after issuing the DID (102).

그리고 사용자 단말(20)로 발급된 DID 정보를 제공한다(103).In addition, DID information issued to the user terminal 20 is provided (103).

이 후에 사용자가 신원 인증부(14)에 접속하여 DID 검증 요청 또는 Chaincode 함수 접근 요청이 수신되면(201), Get stated일 경우에는 채널에 연결(join)된 피어들(peer1, peer2, peer3, peer4)의 원장 검색 후 검증 결과를 반환해준다(202). Thereafter, when the user accesses the identity authentication unit 14 and receives a DID verification request or a chaincode function access request (201), in the case of Get stated, peers joined to the channel (peer1, peer2, peer3, peer4) After returning the ledger, the verification result is returned (202).

반면, Put state일 경우 raft 합의 알고리즘을 통해 오더러들(orderer1, orderer2, orderer3, orderer4, orderer5)을 거쳐 블록체인에 결과가 기록된다(203). On the other hand, in the case of Put state, the result is recorded on the blockchain through orderers (orderer1, orderer2, orderer3, orderer4, orderer5) through the raft consensus algorithm (203).

일 실시예에 있어서, 신원 인증부(14)는 버츄얼 머신(Virtual Machine)을 포함하는 하이퍼레저 패브릭(Hyperledger Fabric) 형태로 구현될 수 있다. In one embodiment, the identity authentication unit 14 may be implemented in the form of a hyperledger fabric including a virtual machine.

하이퍼레저 패브릭은 허가형 프라이빗 블록체인 형태로 개발되었으며 MSP(Membership Services Provider) 멤버형 인증 관리 시스템에 등록된 사용자만 하이퍼레저 패브릭 블록체인에 참여할 수 있다. Hyperledger Fabric was developed in the form of an authorized private blockchain and only users registered in the Membership Services Provider (MSP) member authentication management system can participate in the Hyperledger Fabric blockchain.

일 실시예에 있어서 신원 인증부(14)는 네트워크 하이퍼레저 패브릭으로 구현되는 블록체인 상의 채널이라는 개념을 도입해서 블록체인 참여자들 간의 프라이버시를 강화할 수 있다. 이때 거래 정보를 공개 또는 기밀로 할 수 있다. 즉 채널이 있기 때문에 프라이버시와 기밀성이 있다. In one embodiment, the identity authentication unit 14 may enhance the privacy between blockchain participants by introducing the concept of a channel on a blockchain implemented with a network hyperledger fabric. At this time, the transaction information can be made public or confidential. In other words, there is a channel, so there is privacy and confidentiality.

또한 하이퍼레저 패브릭으로 구현되는 블록체인 네트워크에 의해 특정 비즈니스 목적에 따라 채널을 설정하여 정보를 상호 간 공유할 수 있다. 여러 개의 피어(peer)들이 각각 처리하는 트랜잭션을 서로 다르게 하여 분산 병렬 처리로 작업을 한다. In addition, by using a blockchain network implemented with hyperledger fabric, channels can be set up according to specific business purposes to share information with each other. The transactions processed by multiple peers are different and work in distributed parallel processing.

피어(Peer)는 하이퍼레저 패브릭 블록체인을 구성하는 네트워크 노드를 나타내는 논리적 단위로 Ledger(World state+Blockchain)과 Chain Code(비즈니스 로직을 포함)으로 구성된다. Peer is a logical unit that represents the network nodes that make up the hyperledger fabric blockchain, and consists of Ledger (World state+Blockchain) and Chain Code (including business logic).

피어(Peer)의 종류는 Endorsing, 노드 간 통신을 주고받게 해주는 역할을 수행하며 어떤 노드가 살아있고 죽어있는지를 확인하며 패킷을 던져보는 역할을 수행하는 Anchor peer, Ordering peer, 일반적인 Committing Peer, Validation peer등이 있다. 그러나 이에 한정되는 것은 아니다. The types of peers are endorsing, sending and receiving communication between nodes, checking which nodes are alive and dead, and anchor peers, ordering peers, which play the role of throwing packets, general committing peers, and validation peers And so on. However, it is not limited thereto.

하이퍼레저를 이루는 네트워크 구성요소 피어들은 원하는 순서대로 모듈화하여 네트워크를 설계할 수 있다. 이때 합의 프로토콜은 Raft 알고리즘을 사용한다.The network component peers forming the hyperledger can design the network by modularizing in a desired order. At this time, the consensus protocol uses the Raft algorithm.

또한 블록 체인 기반의 이력 관리 모듈을 사용함으로써, 사용자의 다양한 정보가 블록체인 안에 저장되어 이력에 대한 무결성을 확보할 수 있고, 신원 보증을 위한 사용자에게 신뢰성을 확보한 서비스를 제공할 수 있는 효과가 도출된다. 이때 체인 코드의 로직을 통해 트랜잭션 처리 여부를 결정한다. In addition, by using a blockchain-based history management module, various information of users can be stored in the blockchain to secure the integrity of the history, and to provide a service that secures reliability to users for identity assurance. Is derived. At this time, whether to process the transaction is determined through the logic of the chain code.

도 2 는 본 발명의 다른 실시예에 따른 블록체인 기반의 신원증명 시스템의 구성을 도시한 블록도이다. 2 is a block diagram showing the configuration of a blockchain-based identity authentication system according to another embodiment of the present invention.

도 2와 같이 신원 인증부(14)는 Node SDK(소프트웨어 개발 키트)를 경유하여 사용자 단말 1(20a) 및 사용자 단말 2(20b)와 통신을 수행할 수 있다. As illustrated in FIG. 2, the identity authentication unit 14 may communicate with the user terminal 1 20a and the user terminal 2 20b via a Node SDK (Software Development Kit).

본 실시예에 있어서 신원 증명 시스템(10)은 사용자 단말들(20a, 20b)과의 통신을 위해 Fabric Node SDK를 활용해 express 서버를 생성하도록 구현된다. In this embodiment, the identity verification system 10 is implemented to generate an express server by utilizing the Fabric Node SDK for communication with user terminals 20a and 20b.

일 양상에 있어서, 신원 인증부(14)는 도 1 및 도 2와 같이 Fabric 2.0.0 기반으로 2 ca, 4 peer(2 org), 4개의 couchDB, 5개의 오더러(orderer)를 포함하는 래프트 네트워크(raft network)로 구축된다.In one aspect, the identity authentication unit 14 is a raft including 2 ca, 4 peers (2 org), 4 couchDBs, and 5 orderers based on Fabric 2.0.0 as shown in FIGS. 1 and 2. It is built as a network (raft network).

이때 4 peer(2 org)와 5개의 오더러(orderer)는 버츄얼 머신(Virtual Machine)으로 구현되며 하이퍼레저 패브릭(Hyperledger Fabric)의 채널(channel)에 조인(join)되어 연동되는 것을 특징으로 한다. At this time, 4 peers (2 org) and 5 orderers are implemented as a virtual machine and are characterized by being joined to and connected to a channel of a hyperledger fabric.

패브릭은 자바(Java), 고(Go), 노드제이에스(node.js)와 같은 범용 프로그래밍 언어로 작성된 스마트 계약을 지원하는 최초의 분산원장 플랫폼이다. 오픈소스를 활용해 비즈니스 환경의 기밀 유지와 확장성을 지원한다.Fabric is the first distributed ledger platform to support smart contracts written in general-purpose programming languages such as Java, Go, and node.js. It uses open source to support the confidentiality and scalability of the business environment.

Couch DB는 아파치 재단에서 개발한 ‘NoSQL’형식의 데이터베이스의 하나이다. NoSQL(Not Only SQL)는 기존의 SQL이 관계형 테이블을 가진 형태로 데이터를 관리하는데 반해 관계형 테이블이 아닌 Document, Key-value, Column-family, Graph 등 다양한 형식을 지원한다. Couch DB is one of the “NoSQL” type databases developed by the Apache Foundation. NoSQL (Not Only SQL) manages data in the form of relational tables in the existing SQL, but supports various formats such as Document, Key-value, Column-family, Graph, etc. rather than relational tables.

도 3 은 본 발명의 다른 실시예에 따른 신원 인증부의 구성을 도시한 예시도이다. 3 is an exemplary view showing a configuration of an identity authentication unit according to another embodiment of the present invention.

도 3 에서와 같이 신원 인증부(14)는 3 ca, 7 peer(3 org), 7개의 couchDB를 포함하는 래프트 네트워크(raft network)로 구축될 수도 있다. 이 같이 신원 인증부(14)는 상황에 따라 Peer 확장 및 Org의 추가가 가능하다. 즉 본 발명의 일 실시예에 따른 블록체인 기반의 신원증명 시스템(10)은 필요에 따라 네트워크 확장이 가능하다. As illustrated in FIG. 3, the identity authentication unit 14 may be constructed as a raft network including 3 ca, 7 peers (3 org), and 7 couchDBs. As described above, the identity authentication unit 14 may extend the Peer and add Org depending on the situation. That is, the blockchain-based identification system 10 according to an embodiment of the present invention can expand the network as necessary.

도 4 는 본 발명의 일 실시예에 따른 신원 인증부에서의 동작을 설명하기 위한 예시도이다. 4 is an exemplary view for explaining the operation in the identity authentication unit according to an embodiment of the present invention.

오더러(orderer)는 유효성이 검증된 트랜잭션을 시간순으로 정렬하여 블록을 생성한 후 생성된 블록들을 관련된 노드들로 전달하는 역할을 수행한다. The orderer creates a block by sorting transactions that have been validated in chronological order, and then transfers the generated blocks to related nodes.

도 4에서와 같이 하이퍼레저 패브릭(Hyperledger Fabric)은 Raft 합의 알고리즘(consensus algorithm)을 통해 오더러(orderer)들 중 리더를 선출하고 Fault-tolerance를 보장할 수 있다. As shown in FIG. 4, the hyperledger fabric can select a leader among orderers and guarantee fault-tolerance through a Raft consensus algorithm.

합의 알고리즘은 블록체인 네트워크 상에서 서로 신뢰관계가 없는 노드가 의사 결정을 하기위해 사용되는 알고리즘이다. The consensus algorithm is an algorithm used by nodes that do not trust each other on the blockchain network to make decisions.

합의 알고리즘의 종류로는 POW, POS, DPOS등이 있으며 본 발명에서는 Raft알고리즘을 사용한다. The types of consensus algorithms include POW, POS, DPOS, etc., and the Raft algorithm is used in the present invention.

도 5 는 본 발명의 일 실시예에 따른 블록체인 기반의 신원증명 시스템의 구동 방법의 흐름도이다. 5 is a flowchart of a method of driving a blockchain-based identity verification system according to an embodiment of the present invention.

일 실시예에 따른 분산 ID 발급부와 신원 인증부를 포함하는 블록체인 기반의 신원증명 시스템의 구동 방법은 분산 ID 발급부가 사용자 단말로부터 수신되는 분산 ID 발급 요청에 따라 분산 ID를 발급한다(S500). A method of driving a blockchain-based identity authentication system including a distributed ID issuing unit and an identity authentication unit according to an embodiment issues a distributed ID according to a distributed ID issuance request received from a user terminal (S500).

본 발명의 일 양상에 따라 분산 ID 발급부는 탈중앙 ID를 관리하는 하이퍼레저(Hyperledger) INDY인 것을 특징으로 한다. 일 실시예에 따르면, Hyperledger INDY를 활용하여 월드와이드웹 컨소시엄(W3C) 표준을 따르는 DID를 발급할 수 있다. 그러나 이에 한정되는 것은 아니다. According to an aspect of the present invention, the distributed ID issuing unit is characterized by being a hyperledger INDY that manages a decentralized ID. According to an embodiment, a DID conforming to the World Wide Web Consortium (W3C) standard may be issued using Hyperledger INDY. However, it is not limited thereto.

Hyperledger INDY는 분산 원장에 대한 독립적인 아이덴티티를 지원한다. 인터넷 환경에서 중개자없이 신원을 제공하는 것을 목표로 하는 플랫폼이다. Hyperledger INDY supports an independent identity for distributed ledgers. It is a platform that aims to provide identity without intermediaries in the Internet environment.

블록체인 기반으로 독립적인 디지털 ID를 만들고, 사용하게 하기위한 재사용가능한 구성요소, 도구, 라이브러리를 제공한다. It provides reusable components, tools, and libraries to create and use independent digital IDs based on blockchain.

탈 중앙 식별자 서비스 DID(Decentralized Identifiers, 탈중앙 식별자 서비스)는 위/변조가 불가능한 분산원장을 통해 개인의 신원을 증명하고 본인 스스로 개인정보를 관리할 수 있는 서비스다. 블록체인을 이용한 DID의 가장 큰 특징은 자기주권형 신원증명이다. Decentralized Identifiers DID (Decentralized Identifiers) is a service that proves an individual's identity through a distributed ledger that cannot be forged/modified and manages personal information by himself. The biggest feature of DID using blockchain is self-sovereignty identification.

일 예로 이용자 개인의 지갑에서 DID를 발급받고 블록에 기록되면 DID의 불변성을 통해 자신의 DID가 신뢰성을 갖고 있다는 사실이 모든 사람에게 공개된다. 따라서 외부인들은 지갑보유자에게 블록체인의 공개키 정보가 포함된 DID의 확인을 요구할 수 있고 지갑보유자는 개인 키를 이용해 자신을 증명할 수 있으며, 분산 ID를 이용해 지갑보유자는 지갑에 있는 개인정보를 외부에 선택적으로 제공할 수 있게 된다.For example, when a DID is issued from a user's personal wallet and recorded in a block, the fact that his DID has reliability through the immutability of the DID is disclosed to everyone. Therefore, outsiders can ask the wallet holder to verify the DID that contains the public key information of the blockchain, and the wallet holder can prove himself using the private key, and using the distributed ID, the wallet holder can send the personal information in the wallet to the outside. It can be provided selectively.

그리고 신원 인증부가 분산 ID 발급부에서 발급된 분산 ID를 블록체인 데이터로 저장하고(S510), 신원 증명 요청이 수신되면(S520) 저장된 블록체인 데이터를 조회하여 신원 인증을 수행한다(S530). Then, the identity authentication unit stores the distributed ID issued by the distributed ID issuer as blockchain data (S510), and when an identity verification request is received (S520), the stored blockchain data is retrieved to perform identity authentication (S530).

본 발명의 일 양상에 있어서, 신원 인증을 수행하는 단계는 Node SDK(소프트웨어 개발 키트)를 경유하여 상기 사용자 단말과 통신을 수행하는 것을 특징으로 한다. In one aspect of the present invention, the step of performing identity authentication is characterized by performing communication with the user terminal via a Node SDK (Software Development Kit).

일 실시예에 따른 신원 증명 시스템의 구동방법은 사용자 단말들(20a, 20b)과의 통신을 위해 Fabric Node SDK를 활용해 express 서버를 생성하도록 구현된다. The method of driving the identity verification system according to an embodiment is implemented to generate an express server by utilizing a Fabric Node SDK for communication with user terminals 20a and 20b.

또한, 일 실시예에 따른 신원 인증부는 Fabric 2.0.0 기반으로 2 ca, 4 peer(2 org), 4개의 couchdb, 5개의 오더러(orderer)를 포함하는 래프트 네트워크(raft network)로 구축되는 것을 특징으로 한다. In addition, the identity authentication unit according to an embodiment of the fabric 2.0.0 based on 2 ca, 4 peer (2 org), 4 couchdb, 5 orderers (raft network) including a built-in (raft network) including that It is characterized by.

이때 신원 인증부의 4peer(2 org)와 5개의 오더러(orderer)는 버츄얼 머신(Virtual Machine)으로 구현되며 하이퍼레저 패브릭(Hyperledger Fabric)의 채널(channel)에 조인(join)되어 연동된다. At this time, the 4peer (2 org) and 5 orderers of the identity authentication unit are implemented as a virtual machine and are joined to and joined to a channel of a hyperledger fabric.

일 시예에 따른 신원 증명 시스템의 구동방법은 분산ID 발급부가 사용자 단말로부터 DID 발급 요청을 수신한다. 그리고 분산 ID 발급부 즉 INDY는 DID 발급 후 신원 인증부 즉 Fabric에 저장한다. According to an exemplary embodiment, a method of driving an identity verification system receives a DID issuance request from a user terminal by a distributed ID issuer. And the distributed ID issuing unit, or INDY, is stored in the identity authentication unit, or fabric, after issuing the DID.

그리고 사용자 단말(20)로 발급된 DID 정보를 제공한다.In addition, DID information issued to the user terminal 20 is provided.

이후에 신원 증명 시스템의 구동방법 사용자로부터 DID 검증 요청 또는 Chaincode 함수 접근 요청이 수신되면, Get stated일 경우에는 채널에 연결(join)된 피어들(peer1, peer2, peer3, peer4)의 원장 검색 후 검증 결과를 반환해준다. How to operate the identity verification system When a DID verification request or chaincode function access request is received from the user, in the case of Get stated, search and verify the ledger of peers (peer1, peer2, peer3, peer4) connected to the channel. Returns the result.

반면, Put state일 경우 raft 합의 알고리즘을 통해 오더러들(orderer1, orderer2, orderer3, orderer4, orderer5)을 거쳐 블록체인에 결과가 기록된다(203). On the other hand, in the case of Put state, the result is recorded on the blockchain through orderers (orderer1, orderer2, orderer3, orderer4, orderer5) through the raft consensus algorithm (203).

일 실시예에 있어서, 신원 인증부는 버츄얼 머신(Virtual Machine)을 포함하는 하이퍼레저 패브릭(Hyperledger Fabric) 형태로 구현될 수 있다. In one embodiment, the identity authentication unit may be implemented in the form of a hyperledger fabric including a virtual machine.

하이퍼레저 패브릭은 허가형 프라이빗 블록체인 형태로 개발되었으며 MSP(Membership Services Provider) 멤버형 인증 관리 시스템에 등록된 사용자만 하이퍼레저 패브릭 블록체인에 참여할 수 있다. Hyperledger Fabric was developed in the form of an authorized private blockchain and only users registered in the Membership Services Provider (MSP) member authentication management system can participate in the Hyperledger Fabric blockchain.

일 실시예에 있어서 신원 인증부는 네트워크 하이퍼레저 패브릭으로 구현되는 블록체인 상의 채널이라는 개념을 도입해서 블록체인 참여자들 간의 프라이버시를 강화할 수 있다. 이때 거래 정보를 공개 또는 기밀로 할 수 있다. 즉 채널이 있기 때문에 프라이버시와 기밀성이 있다. In one embodiment, the identity authentication unit may strengthen the privacy between blockchain participants by introducing the concept of a channel on a blockchain implemented with a network hyperledger fabric. At this time, the transaction information can be made public or confidential. In other words, there is a channel, so there is privacy and confidentiality.

또한 하이퍼레저 패브릭으로 구현되는 블록체인 네트워크에 의해 특정 비즈니스 목적에 따라 채널을 설정하여 정보를 상호 간 공유할 수 있다. 여러 개의 피어(peer)들이 각각 처리하는 트랜잭션을 서로 다르게 하여 분산 병렬 처리로 작업을 한다. In addition, by using a blockchain network implemented with hyperledger fabric, channels can be set up according to specific business purposes to share information with each other. The transactions processed by multiple peers are different and work in distributed parallel processing.

피어(Peer)는 하이퍼레저 패브릭 블록체인을 구성하는 네트워크 노드를 나타내는 논리적 단위로 Ledger(World state+Blockchain)과 Chain Code(비즈니스 로직을 포함)으로 구성된다. Peer is a logical unit that represents the network nodes that make up the hyperledger fabric blockchain, and consists of Ledger (World state+Blockchain) and Chain Code (including business logic).

피어(Peer)의 종류는 Endorsing, 노드 간 통신을 주고받게 해주는 역할을 수행하며 어떤 노드가 살아있고 죽어있는지를 확인하며 패킷을 던져보는 역할을 수행하는 Anchor peer, Ordering peer, 일반적인 Committing Peer, Validation peer등이 있다. 그러나 이에 한정되는 것은 아니다. The types of peers are endorsing, sending and receiving communication between nodes, checking which node is alive and dead, and anchor peer, ordering peer, which plays a role of throwing packets, general committing peer, validation peer And so on. However, it is not limited thereto.

하이퍼레저를 이루는 네트워크 구성요소 피어들은 원하는 순서대로 모듈화하여 네트워크를 설계할 수 있다. 이때 교체 가능한 합의 프로토콜은 Raft 알고리즘을 사용한다. The network component peers forming the hyperledger can design the network by modularizing in a desired order. At this time, the replaceable consensus protocol uses the Raft algorithm.

또한 블록 체인 기반의 이력 관리 모듈을 사용함으로써, 사용자의 다양한 정보가 블록체인 안에 저장되어 이력에 대한 무결성을 확보할 수 있고, 신원 보증을 위한 사용자에게 신뢰성을 확보한 서비스를 제공할 수 있는 효과가 도출된다. 이때 체인 코드의 로직을 통해 트랜잭션 처리 여부를 결정할 수 있다.In addition, by using a blockchain-based history management module, various information of users can be stored in the blockchain to secure the integrity of the history, and to provide a service that secures reliability to users for identity assurance. Is derived. At this time, it is possible to determine whether to process the transaction through the logic of the chain code.

전술한 방법은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.The above-described method may be implemented as an application or in the form of program instructions that can be executed through various computer components to be recorded on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, or the like alone or in combination.

상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.The program instructions recorded on the computer-readable recording medium are specially designed and configured for the present invention, and may be known and available to those skilled in the computer software field.

컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs, DVDs, and magneto-optical media such as floptical disks. media), and hardware devices specifically 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 produced 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 to perform processing according to the present invention, and vice versa.

이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to embodiments, those skilled in the art understand that various modifications and changes can be made to the present invention without departing from the spirit and scope of the present invention as set forth in the claims below. Will be able to.

10 : 신원 증명 시스템 20 : 사용자 단말
12 : 분산 ID 발급부 14 : 신원 인증부
10: identification system 20: user terminal
12: distributed ID issuing unit 14: identity authentication unit

Claims (10)

사용자 단말로부터 수신되는 분산 ID 발급 요청에 따라 분산 ID를 발급하는 분산 ID 발급부; 및
상기 분산 ID 발급부에서 발급된 분산 ID를 블록체인 데이터로 저장하고, 신원 증명 요청이 수신되면 상기 저장된 블록체인 데이터를 조회하여 신원 인증을 수행하는 신원 인증부를 포함하고,
상기 신원 인증부는, Fabric 2.0.0 기반으로 2 ca, 4 peer(2 org), 4개의 couchdb, 5개의 오더러(orderer)를 포함하는 래프트 네트워크(raft network)로 구축되는 블록체인 기반의 신원증명 시스템.
A distributed ID issuing unit that issues a distributed ID according to a request for issuing a distributed ID received from a user terminal; And
And an identity authentication unit that stores the distributed ID issued by the distributed ID issuance unit as blockchain data, and performs identity authentication by querying the stored blockchain data when an identity verification request is received,
The identity authentication unit, based on Fabric 2.0.0, is a blockchain-based identity authentication built with a raft network including 2 ca, 4 peers (2 org), 4 couchdbs, and 5 orderers. system.
제 1 항에 있어서,
상기 신원 인증부는 Node SDK(소프트웨어 개발 키트)를 경유하여 상기 사용자 단말과 통신을 수행하는 것을 특징으로 하는 블록체인 기반의 신원증명 시스템.
According to claim 1,
The identity authentication unit is a blockchain-based identity verification system, characterized in that for communicating with the user terminal via a Node SDK (Software Development Kit).
삭제delete 제 1 항에 있어서,
상기 4 peer(2 org)와 5개의 오더러(orderer)는 버츄얼 머신(Virtual Machine)으로 구현되며 하이퍼레저 패브릭(Hyperledger Fabric)의 채널(channel)에 조인(join)되어 연동되는 것을 특징으로 하는 블록체인 기반의 신원증명 시스템.
According to claim 1,
The 4 peers (2 org) and 5 orderers are implemented as a virtual machine, and the block is characterized by being joined to and linked to a channel of a hyperledger fabric. Chain-based identification system.
제 1 항에 있어서,
상기 분산 ID 발급부는 탈중앙 ID를 관리하는 하이퍼레저(Hyperledger) INDY인 것을 특징으로 하는 블록체인 기반의 신원증명 시스템.
According to claim 1,
The distributed ID issuing unit is a hyperledger (Hyperledger) INDY that manages the decentralized ID is a blockchain-based identity authentication system, characterized in that.
분산 ID 발급부와 신원 인증부를 포함하는 블록체인 기반의 신원증명 시스템의 구동 방법에 있어서,
분산 ID 발급부가 사용자 단말로부터 수신되는 분산 ID 발급 요청에 따라 분산 ID를 발급하는 단계; 및
신원 인증부가 상기 분산 ID 발급부에서 발급된 분산 ID를 블록체인 데이터로 저장하고, 신원 증명 요청이 수신되면 상기 저장된 블록체인 데이터를 조회하여 신원 인증을 수행하는 단계를 포함하고,
상기 신원 인증부는, Fabric 2.0.0 기반으로 2 ca, 4 peer(2 org), 4개의 couchdb, 5개의 오더러(orderer)를 포함하는 래프트 네트워크(raft network)로 구축되는 블록체인 기반의 신원 증명 시스템의 구동방법.
In the method of driving a blockchain-based identity authentication system including a distributed ID issuing unit and an identity authentication unit,
Issuing a distributed ID according to a distributed ID issuance request received from the user terminal; And
The identity authentication unit includes the step of storing the distributed ID issued by the distributed ID issuance unit as blockchain data, and when an identity verification request is received, querying the stored blockchain data to perform identity authentication.
The identity authentication unit, based on Fabric 2.0.0, is a blockchain-based identity proof built with a raft network including 2 ca, 4 peers (2 org), 4 couchdbs, and 5 orderers. How the system works.
제 6 항에 있어서,
상기 신원 인증을 수행하는 단계는 Node SDK(소프트웨어 개발 키트)를 경유하여 상기 사용자 단말과 통신을 수행하는 것을 특징으로 하는 블록체인 기반의 신원증명 시스템의 구동방법.
The method of claim 6,
The step of performing the identity authentication is a method of driving a blockchain-based identity verification system, characterized in that communication with the user terminal is performed through a Node SDK (Software Development Kit).
삭제delete 제 6 항에 있어서,
상기 4 peer(2 org)와 5개의 오더러(orderer)는 버츄얼 머신(Virtual Machine)으로 구현되며 하이퍼레저 패브릭(Hyperledger Fabric)의 채널(channel)에 조인(join)되어 연동되는 것을 특징으로 하는 블록체인 기반의 신원증명 시스템의 구동방법.
The method of claim 6,
The 4 peers (2 org) and 5 orderers are implemented as a virtual machine, and the block is characterized by being joined to and linked to a channel of a hyperledger fabric. A method of driving a chain-based identification system.
제 6 항에 있어서,
상기 분산 ID 발급부는 탈중앙 ID를 관리하는 하이퍼레저(Hyperledger) INDY인 것을 특징으로 하는 블록체인 기반의 신원증명 시스템의 구동방법.
The method of claim 6,
The distributed ID issuing unit is a hyperledger (Hyperledger) INDY to manage the decentralized ID Blockchain-based identity verification system driving method.
KR1020200044776A 2020-04-13 2020-04-13 System for Certificating identity based on Blockchain and Driving method thereof KR102139645B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200044776A KR102139645B1 (en) 2020-04-13 2020-04-13 System for Certificating identity based on Blockchain and Driving method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200044776A KR102139645B1 (en) 2020-04-13 2020-04-13 System for Certificating identity based on Blockchain and Driving method thereof

Publications (1)

Publication Number Publication Date
KR102139645B1 true KR102139645B1 (en) 2020-07-30

Family

ID=71839053

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200044776A KR102139645B1 (en) 2020-04-13 2020-04-13 System for Certificating identity based on Blockchain and Driving method thereof

Country Status (1)

Country Link
KR (1) KR102139645B1 (en)

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112104631A (en) * 2020-09-07 2020-12-18 中国联合网络通信集团有限公司 Identity verification method and device based on block chain network
KR102241940B1 (en) * 2020-11-30 2021-04-20 주식회사 한국정보보호경영연구소 Apparatus and Method for Application Software extension based on Blockchain
KR102263739B1 (en) * 2021-02-15 2021-06-11 주식회사 한국정보보호경영연구소 My data wallet system and operation method thereof
KR102267735B1 (en) 2020-11-18 2021-06-22 주식회사 케이사인 Decentralized Identity verification system using zero-knowledge proof and method thereof
KR102280061B1 (en) * 2020-12-03 2021-07-22 주식회사 마크애니 Corporation related certificate issue system and method using did based on blockchain
CN113452704A (en) * 2021-06-28 2021-09-28 湖南天河国云科技有限公司 Distributed identity identification-based credible interconnection method and device for heterogeneous industrial equipment
KR102311462B1 (en) * 2020-11-19 2021-10-13 주식회사 마크애니 Block chain did-based digital evidence management system and method
WO2022034981A1 (en) * 2020-08-13 2022-02-17 이승재 Blockchain decentralized identification-based ticket reservation method and apparatus
KR20220021536A (en) * 2020-08-14 2022-02-22 신근영 DID system based on blockchain and digital genealogy
WO2022045419A1 (en) * 2020-08-31 2022-03-03 한국조폐공사 Blockchain-network-based driver license authentication service method using decentralized id, and user terminal for performing driver license authentication service
KR20220027418A (en) * 2020-08-27 2022-03-08 최화인 Author verifying apparatus / method using decentralized network and self-sovereign id
KR20220040741A (en) * 2020-09-24 2022-03-31 주식회사 엘지유플러스 Data communication method and apparatus based on data encryption applying did
KR20220043532A (en) * 2020-09-29 2022-04-05 비씨카드(주) A method and server for supporting the provision of financial services
KR20220059790A (en) * 2020-11-03 2022-05-10 (주)드림시큐리티 Apparatus and method for verifying liveness of identity information
WO2022102930A1 (en) * 2020-11-10 2022-05-19 (주)소프트제국 Did system using browser-based security pin authentication and control method thereof
KR20220069259A (en) * 2020-11-20 2022-05-27 서울외국어대학원대학교 산학협력단 A custody and federated service model for the digital identity
KR20220070921A (en) * 2020-11-23 2022-05-31 부산대학교 산학협력단 Method and system for performing service access control based on blockchain
KR20220092751A (en) * 2020-12-24 2022-07-04 주식회사 디지털존 Document management server, blockchain server, system and control method thereof capable of electronic signature based on did
KR20220092748A (en) * 2020-12-24 2022-07-04 주식회사 디지털존 Did-based document management server, system, and control method thereof
KR20220099194A (en) * 2021-01-05 2022-07-13 고승곤 Blockchain-based prepaid content billing service method and system
WO2022149816A1 (en) * 2021-01-06 2022-07-14 이화여자대학교 산학협력단 System and method for providing blockchain-based corporate did service
KR20220122224A (en) 2021-02-26 2022-09-02 한국전자통신연구원 Integrated user authentication method based on decentralized identity in user device and server
KR20230013591A (en) * 2021-07-19 2023-01-26 케이포시큐리티 주식회사 Apparatus and method for segmenting and managing self-sovereign identity information
CN116055308A (en) * 2023-02-10 2023-05-02 青岛闪收付信息技术有限公司 Bottom layer blockchain network deployment method and device of supply chain financial platform
KR20230076419A (en) 2021-11-24 2023-05-31 (주)드림시큐리티 Method and apparatus for managing verifiable credential and device authentication based on decentralized identifier
KR102550125B1 (en) * 2022-10-04 2023-06-30 주식회사 블록오디세이 Method, Server and Computer-readable Medium for Sending and Managing NFTs for the Use of Services in Bulk

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150055839A (en) 2013-11-14 2015-05-22 김현영 Provides a system of identity authentication information through electronic processing
KR20190128309A (en) 2018-05-08 2019-11-18 라온시큐어(주) Blcok chain-based digita id and its issuance and identification method and system
KR20190138389A (en) * 2018-06-05 2019-12-13 아이리텍 잉크 Blockchain for physical identity management using One-time-password

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150055839A (en) 2013-11-14 2015-05-22 김현영 Provides a system of identity authentication information through electronic processing
KR20190128309A (en) 2018-05-08 2019-11-18 라온시큐어(주) Blcok chain-based digita id and its issuance and identification method and system
KR20190138389A (en) * 2018-06-05 2019-12-13 아이리텍 잉크 Blockchain for physical identity management using One-time-password

Cited By (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102398592B1 (en) * 2020-08-13 2022-05-13 이승재 A ticket reservation method and a device therefor based on a blockchain distributed identity verification
WO2022034981A1 (en) * 2020-08-13 2022-02-17 이승재 Blockchain decentralized identification-based ticket reservation method and apparatus
KR20220021151A (en) * 2020-08-13 2022-02-22 이승재 A ticket reservation method and a device therefor based on a blockchain distributed identity verification
KR20220021536A (en) * 2020-08-14 2022-02-22 신근영 DID system based on blockchain and digital genealogy
KR102397094B1 (en) * 2020-08-14 2022-05-12 신근영 DID system based on blockchain and digital genealogy
KR102384575B1 (en) * 2020-08-27 2022-04-07 최화인 Author verifying apparatus / method using decentralized network and self-sovereign id
KR20220027418A (en) * 2020-08-27 2022-03-08 최화인 Author verifying apparatus / method using decentralized network and self-sovereign id
WO2022045419A1 (en) * 2020-08-31 2022-03-03 한국조폐공사 Blockchain-network-based driver license authentication service method using decentralized id, and user terminal for performing driver license authentication service
CN112104631A (en) * 2020-09-07 2020-12-18 中国联合网络通信集团有限公司 Identity verification method and device based on block chain network
KR20220040741A (en) * 2020-09-24 2022-03-31 주식회사 엘지유플러스 Data communication method and apparatus based on data encryption applying did
KR102467558B1 (en) * 2020-09-24 2022-11-16 주식회사 엘지유플러스 Data communication method and apparatus based on data encryption applying did
KR20220043532A (en) * 2020-09-29 2022-04-05 비씨카드(주) A method and server for supporting the provision of financial services
KR102458263B1 (en) * 2020-09-29 2022-10-24 비씨카드(주) A method and server for supporting the provision of financial services
KR102409822B1 (en) * 2020-11-03 2022-06-20 (주)드림시큐리티 Apparatus and method for verifying liveness of identity information
KR20220059790A (en) * 2020-11-03 2022-05-10 (주)드림시큐리티 Apparatus and method for verifying liveness of identity information
WO2022097769A1 (en) * 2020-11-03 2022-05-12 주식회사 드림시큐리티 Verifiable credential verifying apparatus and method
WO2022102930A1 (en) * 2020-11-10 2022-05-19 (주)소프트제국 Did system using browser-based security pin authentication and control method thereof
KR102267735B1 (en) 2020-11-18 2021-06-22 주식회사 케이사인 Decentralized Identity verification system using zero-knowledge proof and method thereof
KR102311462B1 (en) * 2020-11-19 2021-10-13 주식회사 마크애니 Block chain did-based digital evidence management system and method
KR20220069259A (en) * 2020-11-20 2022-05-27 서울외국어대학원대학교 산학협력단 A custody and federated service model for the digital identity
WO2022107949A1 (en) * 2020-11-20 2022-05-27 서울외국어대학원대학교 산학협력단 Digital id storage and linkage service model
KR102407432B1 (en) * 2020-11-20 2022-06-10 서울외국어대학원대학교 산학협력단 A custody and federated service apparatus for the digital identity
KR102459107B1 (en) * 2020-11-23 2022-10-31 부산대학교 산학협력단 Method and system for performing service access control based on blockchain
KR20220070921A (en) * 2020-11-23 2022-05-31 부산대학교 산학협력단 Method and system for performing service access control based on blockchain
KR102241940B1 (en) * 2020-11-30 2021-04-20 주식회사 한국정보보호경영연구소 Apparatus and Method for Application Software extension based on Blockchain
KR102280061B1 (en) * 2020-12-03 2021-07-22 주식회사 마크애니 Corporation related certificate issue system and method using did based on blockchain
KR102525795B1 (en) * 2020-12-24 2023-04-27 주식회사 디지털존 Did-based document management server, system, and control method thereof
KR20220092748A (en) * 2020-12-24 2022-07-04 주식회사 디지털존 Did-based document management server, system, and control method thereof
KR20220092751A (en) * 2020-12-24 2022-07-04 주식회사 디지털존 Document management server, blockchain server, system and control method thereof capable of electronic signature based on did
KR102600260B1 (en) * 2020-12-24 2023-11-10 주식회사 디지털존 Document management server, blockchain server, system and control method thereof capable of electronic signature based on did
KR102582904B1 (en) * 2021-01-05 2023-09-27 고승곤 Blockchain-based prepaid content billing service method and system
WO2022149722A1 (en) * 2021-01-05 2022-07-14 (주) 오스리움 Method and system for prepaid content billing service based on blockchain
KR20220099194A (en) * 2021-01-05 2022-07-13 고승곤 Blockchain-based prepaid content billing service method and system
WO2022149816A1 (en) * 2021-01-06 2022-07-14 이화여자대학교 산학협력단 System and method for providing blockchain-based corporate did service
KR102263739B1 (en) * 2021-02-15 2021-06-11 주식회사 한국정보보호경영연구소 My data wallet system and operation method thereof
KR20220122224A (en) 2021-02-26 2022-09-02 한국전자통신연구원 Integrated user authentication method based on decentralized identity in user device and server
CN113452704A (en) * 2021-06-28 2021-09-28 湖南天河国云科技有限公司 Distributed identity identification-based credible interconnection method and device for heterogeneous industrial equipment
KR102563183B1 (en) 2021-07-19 2023-08-04 케이포시큐리티(주) Apparatus and method for segmenting and managing self-sovereign identity information
KR20230013591A (en) * 2021-07-19 2023-01-26 케이포시큐리티 주식회사 Apparatus and method for segmenting and managing self-sovereign identity information
KR20230076419A (en) 2021-11-24 2023-05-31 (주)드림시큐리티 Method and apparatus for managing verifiable credential and device authentication based on decentralized identifier
KR102550125B1 (en) * 2022-10-04 2023-06-30 주식회사 블록오디세이 Method, Server and Computer-readable Medium for Sending and Managing NFTs for the Use of Services in Bulk
CN116055308A (en) * 2023-02-10 2023-05-02 青岛闪收付信息技术有限公司 Bottom layer blockchain network deployment method and device of supply chain financial platform
CN116055308B (en) * 2023-02-10 2024-01-05 青岛闪收付信息技术有限公司 Bottom layer blockchain network deployment method and device of supply chain financial platform

Similar Documents

Publication Publication Date Title
KR102139645B1 (en) System for Certificating identity based on Blockchain and Driving method thereof
Bhushan et al. Untangling blockchain technology: A survey on state of the art, security threats, privacy services, applications and future research directions
Cruz et al. RBAC-SC: Role-based access control using smart contract
Sankar et al. Survey of consensus protocols on blockchain applications
JP7378451B2 (en) digital fiat currency
US11652605B2 (en) Advanced non-fungible token blockchain architecture
KR102414732B1 (en) Method for managing Digital Identity based on Blockchain
US9635000B1 (en) Blockchain identity management system based on public identities ledger
CN108615148B (en) A kind of preposition method of commerce of secured assets and system based on block chain technology
Cash et al. Two-tier permission-ed and permission-less blockchain for secure data sharing
Ismailisufi et al. A private blockchain implementation using multichain open source platform
KR102009160B1 (en) Information trust engine system based on block-chain
CN111988338B (en) Permission-controllable Internet of things cloud platform based on block chain and data interaction method
Lazarovich Invisible Ink: blockchain for data privacy
Alizadeh et al. Efficient decentralized data storage based on public blockchain and IPFS
Kaneriya et al. A comparative survey on blockchain based self sovereign identity system
Hossain Blockchain computing: Prospects and challenges for digital transformation
US20200202349A1 (en) Multiple asset transactions
CN115705571A (en) Protecting privacy of auditable accounts
JP2022514919A (en) How to share and verify blocks and electronic documents between nodes on the blockchain
Kumar et al. Front-End IoT application for the bitcoin based on proof of elapsed time (PoET)
Bilal et al. Blockchain technology: Opportunities & challenges
Almakhour et al. Trustless blockchain-based access control in dynamic collaboration.
Singh et al. Blockchain applications, opportunities, challenges and risks: a survey
Alexander et al. Cybersecurity, information assurance, and big data based on blockchain

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant