KR20190095067A - Method for managing information using merkle tree based on blockchain, server and terminal using the same - Google Patents

Method for managing information using merkle tree based on blockchain, server and terminal using the same Download PDF

Info

Publication number
KR20190095067A
KR20190095067A KR1020180072330A KR20180072330A KR20190095067A KR 20190095067 A KR20190095067 A KR 20190095067A KR 1020180072330 A KR1020180072330 A KR 1020180072330A KR 20180072330 A KR20180072330 A KR 20180072330A KR 20190095067 A KR20190095067 A KR 20190095067A
Authority
KR
South Korea
Prior art keywords
private data
value
specific
merkle tree
hash
Prior art date
Application number
KR1020180072330A
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 KR1020180072330A priority Critical patent/KR20190095067A/en
Publication of KR20190095067A publication Critical patent/KR20190095067A/en

Links

Images

Classifications

    • 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
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Abstract

The present invention relates to an information management method using a blockchain-based merkle tree, a server and a terminal using the same. More particularly, the information management method using a blockchain-based Merkle tree comprises: generating, when private data related to the target is acquired, a Merkle tree where each of the hash values generated by applying a hash function to each of the private data or each of the hash values generated by applying a hash function to a value obtained by processing each of the private data are assigned to at least some of leaf nodes; registering a root value of the Merkle tree in a blockchain with an identification code of an object by corresponding to the object or registering the information of the Merkle tree in the blockchain with an identification code of an object by corresponding to the object; and comparing the root value of the Merkle tree calculated using specific private data with the root value of the Merkle tree registered in the blockchain in response to a confirmation request using the specific private data related to the object to verify the authenticity of the specific private data.

Description

블록체인 기반의 머클트리를 이용한 정보 관리 방법, 이를 이용한 서버 및 단말{METHOD FOR MANAGING INFORMATION USING MERKLE TREE BASED ON BLOCKCHAIN, SERVER AND TERMINAL USING THE SAME}Information management method using blockchain-based Merkle Tree, server and terminal using the same {METHOD FOR MANAGING INFORMATION USING MERKLE TREE BASED ON BLOCKCHAIN, SERVER AND TERMINAL USING THE SAME}

본 발명은 블록체인 기반의 머클트리를 이용한 정보 관리 방법, 이를 이용한 서버 및 단말에 관한 것으로, 보다 상세하게는, 대상과 관련한 프라이빗 데이터들이 획득되면, 프라이빗 데이터들 각각에 해쉬함수를 적용하여 생성한 각각의 해쉬값들 또는 프라이빗 데이터들 각각을 가공한 값에 해쉬함수를 적용하여 생성한 각각의 해쉬값들이 각각의 리프 노드들 중 적어도 일부에 할당된 머클트리를 생성하며, 머클트리의 루트값을 대상의 식별 부호로 대상에 대응하여 블록체인에 등록하거나 머클트리의 정보를 대상의 식별 부호로 대상에 대응하여 블록체인에 등록하고, 대상과 관련한 특정 프라이빗 데이터를 이용한 확인 요청에 대응하여 특정 프라이빗 데이터를 이용하여 연산한 머클트리의 루트값과 블록체인에 등록된 머클트리의 루트값을 비교하여 특정 프라이빗 데이터의 진위를 확인하는 블록체인 기반의 머클트리를 이용한 정보 관리 방법, 이를 이용한 서버 및 단말에 관한 것이다.The present invention relates to an information management method using a blockchain-based merkle tree, a server and a terminal using the same. More specifically, when private data related to an object are obtained, a hash function is applied to each of the private data. Each hash value generated by applying a hash function to each of the hash values or the private data is generated, and a Merkle tree assigned to at least some of the leaf nodes is generated. Register the information in the blockchain with the object's identification code in correspondence with the object, or register the information in the Merkle Tree in the blockchain with the object's identification code in the object with the object's identification code, and respond to the request for confirmation using specific private data related to the object. Compares the root value of the Merkle Tree computed by using and the root value of the Merkle Tree registered in the blockchain. W information management method using a block-based chain of meokeul tree to determine the authenticity of a particular private data, to a server and a terminal using the same.

개인 정보는 개인에 관한 정보 가운데 직접 또는 간접적으로 각 개인을 식별할 수 있는 정보를 가리킨다. 개인 정보는 정보 주체의 프라이버시 보호와 사업자의 마케팅 등을 위한 수집 및 활용 사이에서 이해상충 관계에 있으며, 이에 따라 개인 정보 침해의 위험성이 증가되고 있다.Personal information refers to information that can identify each individual directly or indirectly among the information about the individual. Personal information has a conflict of interest between the privacy protection of information subjects and the collection and use of the data for marketing by operators, and thus the risk of personal information infringement is increasing.

그리고, 최근에는 IoT(Internet of Things) 기기가 대중화되고 있으며, 사용자의 개인 정보에 해당하는 IoT 기기들의 개별 정보에 대한 침해의 위험성도 증가하고 있다.Recently, Internet of Things (IoT) devices have been popularized, and the risk of infringement on individual information of IoT devices corresponding to user's personal information is also increasing.

또한, 사용자의 개인 정보 및 IoT 기기의 개별 정보 등의 대상의 프라이빗 데이터가 중앙집중 방식으로 수집되어 데이터베이스화되면 사업자의 고의 및/또는 과실에 의해 언제라도 개인 정보가 침해되거나 누설될 수밖에 없는 위험에 놓이게 된다. 따라서, 대상의 프라이빗 데이터가 무차별적으로 노출되는 것을 방지하는 방안이 요구된다.In addition, if private data such as user's personal information and individual information of IoT devices are collected and centralized, there is a risk that personal information is infringed or leaked at any time by intention and / or negligence of the operator. Will be placed. Therefore, a method of preventing indiscriminate exposure of the private data of the target is required.

이러한 중앙집중 방식의 문제점을 해결하기 위하여 보안성과 안정성이 확보된 블록체인 기술을 활용하여 정보를 관리하는 방안이 대두되고 있다.In order to solve the problem of the centralized method, a method of managing information by using blockchain technology that has secured security and stability has emerged.

블로체인은 분산원장(distributed ledger)을 사용하여 다수의 참가자가 일련의 동기화된 원장을 공동으로 관리하도록 하는 것으로 해킹 등에 의한 위험성이 없으나 분산원장의 데이터들이 모든 참가자들에게 공개되므로, 대상의 프라이빗 데이터에 대한 보호를 위하여 통상적으로 프라이빗 데이터를 암호화, 일 예로, 프라이빗 데이터를 해쉬값으로 변환하여 분산원장에 등록하고 있다.Blockchain uses a distributed ledger to allow multiple participants to co-manage a series of synchronized ledgers, without the risk of hacking, etc., but because the data of the distributed ledger is open to all participants, the target's private data In order to protect the private data, private data is encrypted, for example, private data is converted into a hash value and registered in the distributed ledger.

그러나, 종래의 대상의 프라이빗 데이터를 블록체인의 분산원장에 등록하고 관리하는 방법에 있어서는, 대상의 프라이빗 데이터 전체에 대한 해쉬값을 분산원장에 등록하며, 대상의 프라이빗 데이터에 대한 진위를 확인하기 위해서는 제시된 프라이빗 데이터의 해쉬값을 연산하며 연산된 프라이빗 데이터의 해쉬값이 분산원장에 등록된 해쉬값과 일치하는지 비교하여 제시된 프라이빗 데이터의 진위 여부, 즉, 대상이 권한자인지를 확인하고 있다.However, in the conventional method of registering and managing the private data of the target object in the distributed ledger of the blockchain, in order to confirm the authenticity of the target private data, the hash value of the entire target data is registered in the distributed ledger. The hash value of the presented private data is calculated and the calculated hash value of the private data is compared with the hash value registered in the distributed ledger to confirm the authenticity of the presented private data, that is, whether the subject is an authorized person.

따라서, 대상의 프라이빗 데이터가 복수 개일 경우 분산원장에 등록된 모든 프라이빗 데이터를 제시하여야만 해쉬값을 통한 진위 여부를 확인할 수 있으므로, 불필요한 프라이빗 데이터의 공개가 많아지게 되며 그에 따라 프라이빗 데이터의 노출 위험성도 높아지는 문제점이 있다.Therefore, if there are a plurality of target private data, all the private data registered in the distributed ledger can be checked to verify the authenticity through the hash value. Therefore, the disclosure of unnecessary private data increases, thereby increasing the risk of exposure of the private data. There is a problem.

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

또한, 본 발명은 보안성이 우수한 블록체인 기술을 이용하여 대상의 프라이빗 데이터를 관리할 수 있도록 하는 것을 다른 목적으로 한다.In addition, another object of the present invention is to be able to manage the private data of the target by using a blockchain technology excellent in security.

또한, 본 발명은 프라이빗 데이터들 중 개별 프라이빗 데이터만을 이용하여 대상을 확인할 수 있도록 하는 것을 또 다른 목적으로 한다.In addition, another object of the present invention is to be able to identify the target using only the individual private data of the private data.

또한, 본 발명은 대상을 확인하기 위한 프라이빗 데이터의 공개를 최소화할 수 있도록 하는 것을 또 다른 목적으로 한다.It is another object of the present invention to minimize the disclosure of private data for identifying a subject.

또한, 본 발명은 대상을 확인하기 위한 프라이빗 데이터의 일부를 공개 데이터로 공개할 수 있도록 하는 것을 또 다른 목적으로 한다.In addition, another object of the present invention is to enable a portion of private data for identifying a subject to be disclosed as public data.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따르면, 블록체인 기반의 머클트리를 이용한 정보 관리 방법에 있어서, (a) 사용자 단말로부터 대상과 관련한 프라이빗 데이터들이 획득되면, 정보 관리 서버가, 상기 프라이빗 데이터들 각각에 해쉬함수를 적용하여 생성한 각각의 해쉬값들 또는 상기 프라이빗 데이터들 각각을 가공한 값에 해쉬함수를 적용하여 생성한 각각의 해쉬값들이 각각의 리프 노드들 중 적어도 일부에 할당된 머클트리를 생성하거나 상기 정보 관리 서버에 연동되는 타 장치로 하여금 상기 머클트리를 생성하도록 지원하는 단계; 및 (b) 상기 정보 관리 서버가, (i) 상기 머클트리의 루트값을 상기 대상의 식별 부호로 상기 대상에 대응하여 블록체인에 등록하거나 상기 머클트리의 정보를 상기 대상의 식별 부호로 상기 대상에 대응하여 상기 블록체인에 등록하는 프로세스, 및 (ii) 상기 정보 관리 서버에 연동되는 타 장치로 하여금 상기 머클트리의 루트값을 상기 대상의 식별 부호로 상기 대상에 대응하여 상기 블록체인에 등록하도록 지원하거나 상기 머클트리의 정보를 상기 대상의 식별 부호로 상기 대상에 대응하여 상기 블록체인에 등록하도록 지원하는 프로세스 중 적어도 하나를 수행하는 단계; 를 포함하는 블록체인 기반의 머클트리를 이용한 정보 관리 방법이 제공된다.According to an embodiment of the present invention for achieving the above object, in the information management method using a blockchain-based Merkle Tree, (a) if the private data related to the object is obtained from the user terminal, the information management server, Each hash value generated by applying a hash function to each private data or each hash value generated by applying a hash function to a processed value of each private data is assigned to at least some of the leaf nodes. Generating the merger tree or allowing another device linked to the information management server to generate the merger tree; And (b) the information management server registers (i) the root value of the Merkle Tree in the blockchain corresponding to the object with the identification code of the object or the information of the Merkle tree with the identification code of the object. Corresponding to the blockchain, and (ii) causing another device linked to the information management server to register the root value of the Merkle Tree in the blockchain corresponding to the object with the identification code of the object. Performing at least one of a process of supporting or registering information of the Merkle Tree in the blockchain corresponding to the object with an identification code of the object; Provided is an information management method using a blockchain-based merkle tree comprising a.

또한, 본 발명의 일 실시예에 따르면, 블록체인 기반의 머클트리를 이용한 정보 관리 방법에 있어서, (a) 사용자로부터 대상과 관련한 프라이빗 데이터들이 획득되면, 사용자 단말이, 상기 프라이빗 데이터들 각각에 해쉬함수를 적용하여 생성한 각각의 해쉬값들 또는 상기 프라이빗 데이터들 각각을 가공한 값에 해쉬함수를 적용하여 생성한 각각의 해쉬값들이 각각의 리프 노드들 중 적어도 일부에 할당된 머클트리를 생성하는 단계; 및 (b) 상기 사용자 단말이, (i) 상기 머클트리의 루트값을 상기 대상의 식별 부호로 상기 대상에 대응하여 블록체인에 등록하거나 상기 머클트리의 정보를 상기 대상의 식별 부호로 상기 대상에 대응하여 상기 블록체인에 등록하는 프로세스 및, (ii) 상기 사용자 단말에 연동되는 서버로 하여금 상기 머클트리의 루트값을 상기 대상의 식별 부호로 상기 대상에 대응하여 블록체인에 등록하도록 지원하거나 상기 머클트리의 정보를 상기 대상의 식별 부호로 상기 대상에 대응하여 상기 블록체인에 등록하도록 지원하는 프로세스 중 적어도 하나를 수행하는 단계; 를 포함하는 블록체인 기반의 머클트리를 이용한 정보 관리 방법이 제공된다.In addition, according to an embodiment of the present invention, in the information management method using a blockchain-based Merkle tree, (a) if the private data related to the object is obtained from the user, the user terminal is hashed to each of the private data A hash tree generated by applying a hash function to each hash value generated by applying a function or a processed value of each of the private data generates a Merkle Tree assigned to at least some of the leaf nodes. step; And (b) the user terminal registers (i) the root value of the Merkle Tree in the blockchain corresponding to the object with the identification code of the object or the information of the Merkle Tree in the object with the identification code of the object. Correspondingly registering with the blockchain and (ii) allowing the server linked to the user terminal to register the root value of the Merkle Tree in the blockchain in correspondence with the object with the identification code of the object; Performing at least one of a process of supporting information of a tree in the blockchain corresponding to the object with an identification code of the object; Provided is an information management method using a blockchain-based merkle tree comprising a.

또한, 본 발명의 일 실시예에 따르면, 블록체인 기반의 머클트리를 이용한 정보 관리 방법에 있어서, (a) 대상과 관련한 프라이빗 데이터들 각각에 해쉬함수를 적용하여 생성한 해쉬값들 또는 상기 프라이빗 데이터들 각각을 가공한 값에 해쉬함수를 적용하여 생성한 각각의 해쉬값들이 각각의 리프 노드들 중 적어도 일부에 할당된 머클트리가 생성되고, 상기 머클트리의 루트값이 상기 대상의 식별 부호로 상기 대상에 대응하여 블록체인에 등록된 상태에서, 사용자 단말로부터 (i) 상기 대상과 관련한 프라이빗 데이터들 중 특정 프라이빗 데이터 또는 상기 특정 프라이빗 데이터를 가공한 값과 (ii) 상기 머클트리 중 상기 특정 프라이빗 데이터 또는 상기 특정 프라이빗 데이터를 가공한 값을 포함하지 않는 브랜치 노드 정보 중 적어도 일부가 획득되면, 서비스 제공 서버가, 상기 사용자 단말로부터 제공된 상기 특정 프라이빗 데이터 또는 상기 특정 프라이빗 데이터를 가공한 값에 해쉬함수를 적용하여 생성한 해쉬값과 상기 사용자 단말로부터 제공된 상기 브랜치 노드 정보를 참조하여 확인용 머클트리 루트값을 생성하는 단계; 및 (b) 상기 서비스 제공 서버가, 상기 대상에 대응하여 상기 블록체인에 등록된 상기 대상의 식별 부호인 상기 머클트리의 루트값을 획득하며, 상기 블록체인에 등록된 상기 머클트리의 루트값과 상기 확인용 머클트리 루트값을 비교하여 상기 사용자 단말로부터 제공된 상기 특정 프라이빗 데이터 또는 상기 특정 프라이빗 데이터를 가공한 값의 진위를 확인하는 단계; 를 포함하는 블록체인 기반의 머클트리를 이용한 정보 관리 방법이 제공된다.In addition, according to an embodiment of the present invention, in the information management method using a blockchain-based Merkle tree, (a) hash values generated by applying a hash function to each of the private data related to the object or the private data A Merkle Tree is created in which each hash value generated by applying a hash function to each of the processed values is assigned to at least some of the leaf nodes, and the root value of the Merkle Tree is identified by the identification code of the object. In the state registered in the blockchain corresponding to the object, from (i) the specific private data or the value of the specific private data of the private data related to the object from the user terminal and (ii) the specific private data of the Merkle Tree Or if at least some of the branch node information that does not include the processed value of the specific private data is obtained , The service providing server by referring to the hash value generated by applying a hash function to the specific private data provided from the user terminal or the processed value of the specific private data and the branch node information provided from the user terminal Generating a tree root value; And (b) the service providing server obtains a root value of the Merkle Tree, which is an identification code of the object registered in the blockchain, in response to the subject, and obtains a root value of the Merkle Tree registered in the blockchain. Checking the authenticity of the specific private data or the value of processing the specific private data provided from the user terminal by comparing the identification Merkle tree root value; Provided is an information management method using a blockchain-based merkle tree comprising a.

또한, 본 발명의 일 실시예에 따르면, 블록체인 기반의 머클트리를 이용한 정보 관리 방법에 있어서, (a) 대상과 관련한 프라이빗 데이터들 각각에 해쉬함수를 적용하여 생성한 해쉬값들 또는 상기 프라이빗 데이터들 각각을 가공한 값에 해쉬함수를 적용하여 생성한 각각의 해쉬값들이 각각의 리프 노드들 중 적어도 일부에 할당된 머클트리가 생성되고, 상기 머클트리 정보가 상기 대상의 식별 부호로 상기 대상에 대응하여 블록체인에 등록된 상태에서, 사용자 단말로부터 상기 대상과 관련한 프라이빗 데이터들 중 특정 프라이빗 데이터가 획득되면, 서비스 제공 서버가, 상기 대상에 대응하여 상기 블록체인에 등록된 상기 머클트리의 정보를 획득하는 단계; 및 (b) 상기 서비스 제공 서버가, 상기 머클트리 정보를 참조하여 상기 특정 프라이빗 데이터에 대응되는 위치의 특정 리프 노드에 상기 특정 프라이빗 데이터의 해쉬값을 할당하거나 상기 특정 프라이빗 데이터를 가공한 값에 해쉬함수를 적용하여 생성한 해쉬값을 할당하여 확인용 머클트리를 생성하며, 상기 확인용 머클트리의 루트값과 상기 블록체인으로부터 획득한 상기 머클트리 정보에서의 루트값을 비교하여 상기 사용자 단말로부터 획득된 상기 특정 프라이빗 데이터의 진위를 확인하는 단계; 를 포함하는 블록체인 기반의 머클트리를 이용한 정보 관리 방법이 제공된다.In addition, according to an embodiment of the present invention, in the information management method using a blockchain-based Merkle tree, (a) hash values generated by applying a hash function to each of the private data related to the object or the private data A Merkle Tree, in which each hash value generated by applying a hash function to the processed values of each of them, is assigned to at least some of the leaf nodes, is generated, and the Merkle Tree information is assigned to the object by the identification code of the object. In response to the specific private data among the private data related to the object being obtained from the user terminal in the state registered in the blockchain, the service providing server may obtain information of the Merkle Tree registered in the blockchain in correspondence to the object. Obtaining; And (b) the service providing server allocates a hash value of the specific private data to a specific leaf node at a location corresponding to the specific private data with reference to the Merkle tree information, or hashes the processed private data. Generates a check muckle tree by assigning a hash value generated by applying a function, and obtains from the user terminal by comparing the root value of the check muckle tree and the root value in the Merkle tree information obtained from the blockchain. Verifying the authenticity of the specific private data; Provided is an information management method using a blockchain-based merkle tree comprising a.

또한 본 발명의 일 실시예에 따르면, 상기의 방법들을 수행하는 정보 관리 서버, 사용자 단말, 및 서비스 제공 단말이 제공된다.In addition, according to an embodiment of the present invention, an information management server, a user terminal, and a service providing terminal are provided.

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

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

본 발명은 보안성이 우수한 블록체인 기술을 이용하여 대상의 프라이빗 데이터를 관리함으로써 프라이빗 데이터의 노출 위험성을 감소시킬 수 있게 된다.The present invention can reduce the risk of exposure of private data by managing the private data of the target using a blockchain technology with excellent security.

또한, 본 발명은 프라이빗 데이터들 중 개별 프라이빗 데이터만을 이용하여 대상을 확인할 수 있도록 함으로서 불필요한 프라이빗 데이터의 노출을 최소화할 수 있도록 하며, 그에 따라 대상의 프라이빗 데이터에 대한 보안성을 향상시킬 수 있게 된다.In addition, the present invention can minimize the exposure of unnecessary private data by enabling the identification of the target using only individual private data among the private data, thereby improving the security of the target private data.

또한, 본 발명은 대상을 확인하기 위한 프라이빗 데이터의 일부를 공개 데이터로 공개할 수 있도록 함으로써 대상의 일반적인 정보를 쉽게 확인할 수 있게 된다.In addition, the present invention makes it possible to easily disclose a part of the private data for identifying the subject to the public data, so that the general information of the subject can be easily confirmed.

도 1은 본 발명의 일 실시예에 따른 블록체인 기반의 머클트리를 이용한 정보 관리 시스템을 개략적으로 도시한 것이고,
도 2는 본 발명의 일 실시예에 따른 블록체인 기반의 머클트리를 이용하여 대상의 프라이빗 데이터를 관리하는 상태를 개략적으로 도시한 것이고,
도 3은 본 발명의 일 실시예에 따른 블록체인 기반의 머클트리를 이용하여 대상의 프라이빗 데이터를 관리하는 다른 상태를 개략적으로 도시한 것이고,
도 4는 본 발명의 일 실시예에 따른 블록체인 기반의 머클트리를 이용하여 대상의 프라이빗 데이터를 관리하는 또 다른 상태를 개략적으로 도시한 것이고,
도 5는 본 발명의 일 실시예에 따른 블록체인 기반의 머클트리를 이용하여 대상의 프라이빗 데이터를 확인하는 상태를 개략적으로 도시한 것이다.
1 schematically illustrates an information management system using a blockchain-based Merkle Tree according to an embodiment of the present invention.
FIG. 2 schematically illustrates a state of managing private data of a target using a blockchain-based Merkle Tree according to an embodiment of the present invention.
FIG. 3 schematically illustrates another state of managing private data of a target using a blockchain-based Merkle Tree according to an embodiment of the present invention.
FIG. 4 schematically illustrates another state of managing private data of a target using a blockchain-based Merkle Tree according to an embodiment of the present invention.
FIG. 5 schematically illustrates a state of confirming private data of a target using a blockchain-based Merkle Tree according to an embodiment of the present invention.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.DETAILED DESCRIPTION The following detailed description of the invention refers to the accompanying drawings that show, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that the various embodiments of the present invention are different but need not be mutually exclusive. For example, certain shapes, structures, and characteristics described herein may be embodied in other embodiments without departing from the spirit and scope of the invention with respect to one embodiment. In addition, it is to be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the invention. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present invention, if properly described, is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled. Like reference numerals in the drawings refer to the same or similar functions throughout the several aspects.

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

도 1은 본 발명의 일 실시예에 따른 블록체인 기반의 머클트리를 이용한 정보 관리 시스템을 개략적으로 도시한 것으로, 정보 관리 시스템(1000)은 사용자 단말(100), 정보 관리 서버(200), 및 서비스 제공 서버(300)를 포함할 수 있다.FIG. 1 schematically illustrates an information management system using a blockchain-based merkle tree according to an embodiment of the present invention. The information management system 1000 includes a user terminal 100, an information management server 200, and It may include a service providing server 300.

먼저, 사용자 단말(100)은 대상의 프라이빗 데이터를 생성하는 주체로, PC(Personal Computer), 모바일 컴퓨터, PDA/EDA, 휴대 전화, 스마트폰, 태블릿 IoT 기기 등을 포함할 수 있다. 그리고, 사용자 단말(100)은 이에 한정되지 않으며, 유무선 통신 기능을 가진 휴대용 게임기, 디지털 카메라, 개인 내비게이션 등의 모든 디바이스를 포함할 수 있다. 또한, 사용자 단말(100)은 정보의 송수신을 지원하는 통신부와 정보를 처리하는 프로세서를 포함할 수 있다.First, the user terminal 100 may be a subject for generating private data of a target, and may include a personal computer (PC), a mobile computer, a PDA / EDA, a mobile phone, a smartphone, a tablet IoT device, and the like. The user terminal 100 is not limited thereto, and may include all devices such as a portable game machine, a digital camera, and a personal navigation device having a wired / wireless communication function. In addition, the user terminal 100 may include a communication unit that supports the transmission and reception of information and a processor that processes the information.

또한, 사용자 단말(100)은 대상과 관련한 프라이빗 데이터들 각각에 해쉬함수를 적용하여 생성한 각각의 해쉬값들 또는 프라이빗 데이터들 각각을 가공한 값에 해쉬함수를 적용하여 생성한 각각의 해쉬값들이 각각의 리프 노드들 중 적어도 일부에 할당된 머클트리를 생성하고, 이와 대응되는 머클트리의 루트값 또는 머클트리의 정보를 대상의 식별 부호로 대상에 대응하여 블록체인에 등록하거나 사용자 단말에 연동되는 서버로 하여금 블록체인에 등록하도록 지원할 수 있다.In addition, the user terminal 100 may generate each hash value generated by applying a hash function to each hash value generated by applying a hash function to each of the private data related to the object or a value processed for each of the private data. Generates the Merkle Tree assigned to at least some of the leaf nodes, and registers the root value of the corresponding Merkle Tree or the information of the Merkle Tree in the blockchain corresponding to the target with the identification code of the target, or is linked to the user terminal. You can support the server to register with the blockchain.

다음으로, 정보 관리 서버(200)는 대상과 관련한 프라이빗 데이터들 또는 프라이빗 데이터들과 관련한 정보를 관리하거나, 대상의 프라이빗 데이터 관리와 관련한 동작을 수행할 수 있다. 또한, 정보 관리 서버(200)는 블록체인의 각각의 노드(N1, N2)에 대응되는 서버이거나, 블록체인의 각각의 노드(N1, N2)를 관리하는 서버일 수 있다. 이때, 도 1에서는 블록체인의 노드(N1, N2)를 2개로 표시하였으나, 노드의 개수는 이에 한정되지 않는다. 이에 더하여, 정보 관리 서버(200)는 대상과 관련한 프라이빗 데이터 관리와 관련하여 다른 장치와의 트랜잭션을 관리하는 트랜잭션 서버일 수 있다.Next, the information management server 200 may manage private data related to the subject or information related to the private data, or perform an operation related to managing the private data of the subject. In addition, the information management server 200 may be a server corresponding to each node (N1, N2) of the blockchain, or may be a server managing each node (N1, N2) of the blockchain. In this case, although the nodes N1 and N2 of the block chain are represented by two, the number of nodes is not limited thereto. In addition, the information management server 200 may be a transaction server that manages transactions with other devices in connection with private data management related to the subject.

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

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

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

다음으로, 서비스 제공 서버(300)는 사용자 또는 다른 컴퓨팅 장치로 온라인 또는 오프라인의 서비스를 제공하는 것으로, 제공되는 대상의 최소한의 프라이빗 데이터를 블록체인을 통해 진위 확인을 하여 서비스 제공 여부를 결정하여 줄 수 있다. 또한, 서비스 제공 서버(300)는 정보의 송수신을 지원하는 통신부와 정보를 처리하는 프로세서를 포함할 수 있다.Next, the service providing server 300 provides an online or offline service to a user or another computing device, and determines whether to provide a service by verifying authenticity through a blockchain with minimal private data of a provided target. Can be. In addition, the service providing server 300 may include a communication unit that supports the transmission and reception of information and a processor that processes the information.

이에 더하여, 정보 관리 시스템(1000)은 정보 확인 서버(400)를 더 포함할 수 있으며, 정보 확인 서버(400)는 대상의 프라이빗 데이터들에 대한 진위 여부 또는 신뢰성을 확인하여 주는 것으로, 정보의 송수신을 지원하는 통신부와 정보를 처리하는 프로세서를 포함할 수 있다.In addition, the information management system 1000 may further include an information verification server 400. The information verification server 400 confirms authenticity or reliability of the target private data, and transmits and receives information. It may include a communication unit for supporting and a processor for processing information.

이와 같이 구성된 정보 관리 시스템을 통해 본 발명의 일 실시예에 따른 블록체인 기반의 머클트리를 이용한 정보 관리 방법을 설명하면 다음과 같다.The information management method using the blockchain-based Merkle Tree according to an embodiment of the present invention through the information management system configured as described above is as follows.

먼저, 사용자가 사용자 단말(100)을 통해 관리하고자 하는 대상, 일 예로 개인 사용자 또는 특정 기기와 관련한 프라이빗 데이터들을 전송한다. 즉, 사용자가 사용자 단말(100)을 관리하고자 하는 프라이빗 데이터들을 입력하거나, 등록이 필요한 IoT 기기 자체가 내부에 저장된 프라이빗 데이터들을 전송할 수 있다. 이때, 프라이빗 데이터는 사용자의 개인 정보 또는 특정 기기, 일 예로 IoT 기기의 개별 정보일 수 있으며, 프라이빗 데이터는 사용자의 성명, 이메일 어드레스, 전화번호, 생일, 주민등록번호, 주소, 계좌번호 등의 개인 정보 및 특정 기기의 고유 명칭, 일련번호, 아이피 주소, MAC 어드레스, 제조 번호 등의 제품 정보 등을 포함할 수 있다.First, the user transmits private data related to an object, for example, an individual user or a specific device, to be managed by the user terminal 100. That is, the user may input private data for managing the user terminal 100 or the IoT device itself that needs to be registered may transmit private data stored therein. In this case, the private data may be personal information of a user or individual information of a specific device, for example, an IoT device, and private data may include personal information such as a name, an email address, a phone number, a birthday, a social security number, an address, an account number, and the like. Product information, such as a unique name, serial number, IP address, MAC address, manufacturing number of the specific device may be included.

그러면, 정보 관리 서버(200)의 통신부는 사용자 단말(100)을 통해 전송되는 대상과 관련한 프라이빗 데이터들을 획득하고, 정보 관리 서버(200)의 프로세서는 통신부를 통해 획득된 대상과 관련한 프라이빗 데이터들 각각에 해쉬함수를 적용하여 생성한 각각의 해쉬값들 또는 프라이빗 데이터들 각각을 가공한 값에 해쉬함수를 적용하여 생성한 각각의 해쉬값들이 각각의 리프 노드들 중 적어도 일부에 할당된 머클트리를 생성하거나 정보 관리 서버에 연동되는 타 장치로 하여금 머클트리를 생성하도록 지원한다.Then, the communication unit of the information management server 200 obtains private data related to the object transmitted through the user terminal 100, and the processor of the information management server 200 each of the private data related to the object obtained through the communication unit. Each hash value generated by applying the hash function to each of the hash values or the processed data of the private data is generated and generates a Merkle Tree assigned to at least some of the leaf nodes. Or to allow other devices linked to the information management server to create the Merkle Tree.

즉, 도 2를 참조하면, 정보 관리 서버(200)는 level0의 프라이빗 데이터들 각각에 해쉬함수를 적용하여 각각의 해쉬값 H1, H2, H3, 및 H4를 생성한다. 이때, H1=Hash(name), H2=Hash(email), H3=Hash(phone), 및 H4=Hash(account)로 각각 표현될 수 있다. 그리고, 도 2에서는 4개의 프라이빗 데이터를 예시적으로 도시하였으나, 프라이빗 데이터의 개수는 이에 한정되지 않는다.That is, referring to FIG. 2, the information management server 200 generates a hash value H1, H2, H3, and H4 by applying a hash function to each of private data of level0. In this case, H1 = Hash (name), H2 = Hash (email), H3 = Hash (phone), and H4 = Hash (account), respectively. 2 exemplarily shows four private data, the number of private data is not limited thereto.

이후, 생성된 프라이빗 데이터들 각각에 대응되는 해쉬값 H1, H2, H3, H4를 level1의 각각의 리프 노드들 중 적어도 일부에 할당하고 머클트리 연산을 통해 머클트리를 생성하게 된다.Thereafter, hash values H1, H2, H3, and H4 corresponding to each of the generated private data are assigned to at least some of the leaf nodes of level1, and a Merkle Tree is generated through a Merkle Tree operation.

이때, 정보 관리 서버(200)는 해쉬값이 할당된 노드들 중 서로 이웃하는 형제 노드들에 할당된 해쉬값들에 해쉬함수를 적용하여 해쉬값을 생성하거나 정보 관리 서버에 연동되는 타 장치로 하여금 상기 해쉬값을 생성하도록 지원하고, 생성된 해쉬값을 형제 노드들의 부모 노드에 할당하거나 정보 관리 서버에 연동되는 타 장치로 하여금 상기 부모 노드에 할당하도록 지원하며, 부모 노드가 머클트리의 루트 노드이면 부모 노드에 할당된 해쉬값을 머클트리의 루트값으로 확정하거나 정보 관리 서버에 연동되는 타 장치로 하여금 머클트리의 루트값으로 확정하도록 지원하고, 부모 노드가 머클트리의 루트 노드가 아니면 부모 노드들을 형제 노드들로 하여 상기의 동작을 반복 수행하여 도 2에서와 같은 머클트리를 생성할 수 있다.At this time, the information management server 200 generates a hash value by applying a hash function to hash values assigned to neighboring sibling nodes among the nodes to which the hash value is assigned, or causes other devices to be linked to the information management server. Supports generating the hash value, and assigns the generated hash value to a parent node of sibling nodes or allows another device linked with an information management server to assign the parent node to the parent node, and if the parent node is the root node of the Merkle Tree. The hash value assigned to the parent node is determined to be the root value of the Merkle Tree, or other devices linked to the information management server are determined to be the root value of the Merkle Tree, and if the parent node is not the root node of the Merkle Tree, By repeating the above operation with sibling nodes, the merkle tree as shown in FIG. 2 may be generated.

즉, 도 2에서와 같이, 정보 관리 서버(200)는 level1의 리프 노드들 중 이웃하는 형제 노드의 해쉬값인 H1과 H2에 해쉬함수를 적용하여 해쉬값 H12(H12=Hash(H1:H2))를 생성하며, H3과 H4에 해쉬함수를 적용하여 해쉬값 H34(H34=Hash(H3:H4))를 생성하고, 생성된 해쉬값 H12와 H34를 부모 노드인 level2의 브랜치 노드에 각각 할당한다.That is, as shown in FIG. 2, the information management server 200 applies the hash function to the hash values H1 and H2 of neighboring sibling nodes among the leaf nodes of level1 by applying the hash function H12 (H12 = Hash (H1: H2)). ), Hash values H34 (H34 = Hash (H3: H4)) are applied to H3 and H4, and the generated hash values H12 and H34 are assigned to branch nodes of level2, the parent node, respectively. .

이때, level2의 부모 노드는 머클트리의 루트 노드가 아니므로, 정보 관리 서버(200)는 level2의 브랜치 노드들 중 이웃하는 형제 노드의 해쉬값인 H12와 H34에 해쉬함수를 적용하여 해쉬값 H1234를 생성하고, 생성된 해쉬값 H1234를 부모 노드인 level3의 브랜치 노드에 할당한다. 이때, 해쉬값 H1234는 Hash(H12:H34), Hash(Hash(H1:H2)):Hash(H3:H4)) 또는 Hash(Hash(Hash(name):Hash(email)):Hash(Hash(phone):Hash(account)))로 나타낼 수 있다.At this time, since the parent node of level2 is not the root node of the Merkle tree, the information management server 200 applies the hash function to the hash values H12 and H34 of neighboring sibling nodes among the branch nodes of level2 and applies the hash value H1234. The generated hash value H1234 is assigned to the branch node of level3 which is the parent node. At this time, the hash value H1234 is Hash (H12: H34), Hash (Hash (H1: H2)): Hash (H3: H4)) or Hash (Hash (Hash (name): Hash (email)): Hash (Hash ( phone): Hash (account))).

그리고, level3의 부모 노드는 머클트리의 루트 노드이므로 정보 관리 서버(200)는 도 2에서와 같은 머클트리를 생성하게 되며, 도 2에서와는 달리 리프 노드의 개수에 따라 머클트리는 더 많은 레벨의 브랜치 노드들을 가지는 머클트리로 생성될 수 있다.Since the parent node of level3 is the root node of the Merkle tree, the information management server 200 generates the Merkle tree as shown in FIG. 2, and unlike in FIG. 2, the Merkle tree is a branch node of a higher level depending on the number of leaf nodes. It can be generated as a Merkle Tree having a.

또한, 정보 관리 서버(200)는 머클트리를 생성할 시, 리프 노드들 중 적어도 일부에 프라이빗 데이터들 각각의 해쉬값 또는 프라이빗 데이터들 각각을 가공한 값에 해쉬함수를 적용하여 생성한 각각의 해쉬값들이 할당되지 않은 경우, 프라이빗 데이터들 각각의 해쉬값 또는 상기 프라이빗 데이터들 각각을 가공한 값에 해쉬함수를 적용하여 생성한 각각의 해쉬값들이 할당되지 않은 리프 노드들에 소정의 해쉬값을 할당하거나 정보 관리 서버에 연동되는 타 장치로 하여금 소정의 해쉬값이 할당하도록 지원할 수 있다. 즉, 머클트리를 생성하기 위하여 리프 노드는

Figure pat00001
개수가 필요하므로, 관리하고자 하는 대상의 프라이빗 데이터들의 개수가
Figure pat00002
에 대응되지 않으며 소정의 해쉬값을 할당하여 머클트리 생성에 필요한 리프 노드의 개수를 추가할 수 있다.In addition, when the information management server 200 generates the Merkle Tree, each hash generated by applying a hash function to a hash value of each of the private data or a value of each of the private data is applied to at least some of the leaf nodes. If no values are assigned, each hash value generated by applying a hash function to a hash value of each private data or a processed value of each private data is assigned a predetermined hash value to leaf nodes to which no hash values are assigned. Or to allow other devices linked to the information management server to allocate a predetermined hash value. In other words, in order to create the Merkle Tree, the leaf node
Figure pat00001
Since the number is required, the number of private data of the object
Figure pat00002
The number of leaf nodes required for generating the Merkle Tree can be added by assigning a predetermined hash value.

상기에서 프라이빗 데이터들 각각을 가공한 값은 프라이빗 데이터들 중 특정 프라이빗 데이터에 대응하는 프리픽스값과 특정 프라이빗 데이터의 해쉬값을 포함하는 일부 공개 데이터일 수 있다.The processed value of each of the private data may be some public data including a prefix value corresponding to specific private data among the private data and a hash value of the specific private data.

이때, 프리픽스값은 특정 프라이빗 데이터 중 특정 범위 영역의 정보를 대표화한 값일 수 있다. 일 예로, 특정 프라이빗 데이터가 주소 정보로 “서울시 강남구 역삼동 ***”일 경우, 프리픽스값으로 “서울시”, “서울시 강남구”, 또는 “서울시 강남구 역삼동”을 생성하거나, 프리픽스값으로 ”서울시”, “강남구”, 또는 “역삼동”을 생성할 수 있다. 즉, 프리픽스값은 프라이빗 데이터 중에서 일부 정보가 공개되어도 무방하거나, 대상의 개략적인 정보가 확인할 수 있도록 하기 위하여 최소한으로 설정된 공개 범위 일 수 있다. 이는 블록체인의 공개 장부의 특성 상 공개 장부에 등록된 모든 정보는 모든 사용자가 확인할 수 있게 되므로 대상의 프라이빗 데이터의 미공개를 위하여 암호화하거나, 프라이빗 데이터를 암호화하되 일부 범위의 정보를 공개하기 위한 것일 수 있다.In this case, the prefix value may be a value representing representative information of a specific range region among specific private data. For example, if the specific private data is “Yeoksam-dong ***, Gangnam-gu, Seoul,” the address information, create “Seoul City”, “Gangnam-gu, Seoul”, or “Yeoksam-dong, Gangnam-gu, Seoul” as the prefix value, or “Seoul” as the prefix value. "Gangnam-gu" or "Yeoksam-dong" can be created. That is, the prefix value may be some information may be disclosed in the private data, or may be a minimum disclosure range set to allow the general information of the subject to be confirmed. This is because the nature of the public ledger of the blockchain, all information registered in the public ledger can be verified by all users, so it may be for the purpose of encrypting the private data of the target to be disclosed or encrypting the private data, but revealing some range of information. have.

상기에서는 특정 프라이빗 데이터에 대한 프리픽스값을 머클트리의 리프 노드들 중 일부에 할당한 것을 설명하였지만, 이와는 달리 리프 노드의 서브 데이터로 등록할 수도 있다.In the above description, the prefix value for the specific private data has been assigned to some of the leaf nodes of the Merkle Tree. However, it may be registered as sub data of the leaf node.

즉, 도 3을 참조하면, 정보 관리 서버(200)는 프라이빗 데이터들 중 특정 프라이빗 데이터에 대응하는 프리픽스값과 특정 프라이빗 데이터의 해쉬값을 포함하는 일부 공개 데이터(H0.5)를 생성하며, 생성된 일부 공개 데이터를 특정 프라이빗 데이터에 대응되는 특정 리프 노드에 대응되는 서브 데이터로서 등록하며, 일부 공개 데이터에 해쉬함수를 적용하여 생성한 해쉬값(H1=Hash(H0.5))을 특정 리프 노드에 할당할 수 있다. 이를 통해 머클 트리 정보와 함께 특정 리프 노드에 등록된 서브 데이터는 블록체인에서 모든 사용자에게 공개될 수 있으나, 공개되는 정보는 프리픽스값과 특정 프라이빗 데이터의 해쉬값이므로 실제적으로 블록체인에서 특정 프라이빗 데이터의 프리픽스값만 모든 사용자에게 공개되며 특정 프라이빗 데이터는 공개가 되지 않게 된다.That is, referring to FIG. 3, the information management server 200 generates and generates some public data H0.5 including a prefix value corresponding to specific private data among the private data and a hash value of the specific private data. Registered public data as sub data corresponding to a specific leaf node corresponding to specific private data, and a hash value (H1 = Hash (H0.5)) generated by applying a hash function to some public data is identified as a specific leaf node. Can be assigned to Through this, the sub data registered in the specific leaf node together with the Merkle tree information can be disclosed to all users in the blockchain.However, the information disclosed is the hash value of the prefix value and the specific private data. Only the prefix value is visible to all users, and certain private data will not be made public.

또한, 도 4를 참조하면, 정보 관리 서버(200)는 특정 프라이빗 데이터에 대응하는 다수의 프리픽스값(prefix1, prefix2, prefix3)을 생성하며, 다수의 프리픽스값 각각과 특정 프라이빗 데이터에 대응되는 해쉬값(Hash(birthday))을 포함하는 다중 레벨의 일부 공개 데이터들(H08, H0.5, H0.2)을 생성하며, 다중 레벨의 일부 공개 데이터들을 특정 리프 노드에 대응되는 서브 데이터(level0.8, level0.5, level0.2)로서 등록하며, 다중 레벨의 일부 공개 데이터들 중 적어도 일부에 해쉬함수를 적용하여 생성한 해쉬값을 특정 리프 노드에 할당할 수 있다.4, the information management server 200 generates a plurality of prefix values (prefix1, prefix2, and prefix3) corresponding to specific private data, and each of the plurality of prefix values and a hash value corresponding to the specific private data. Generate some public data (H08, H0.5, H0.2) of multiple levels, including (Hash (birthday)), and generate some public data of multiple levels of sub-data corresponding to a particular leaf node (level0.8). , level0.5, level0.2), and a hash value generated by applying a hash function to at least some of some public data of multiple levels can be assigned to a specific leaf node.

일 예로, 특정 프라이빗 데이터를 주민등록번호인 “180101-*******”로 가정할 경우, 다음과 같이 서브 데이터가 생성될 수 있다.For example, assuming that private data is “180101-*******”, which is a social security number, sub data may be generated as follows.

level1 H1=Hash(H0.8)level1 H1 = Hash (H0.8)

level0.8 H0.8=18:Hash(H0.5) 또는 H0.8=18:Hash(180101-*******)level0.8 H0.8 = 18: Hash (H0.5) or H0.8 = 18: Hash (180101-*******)

level0.5 H0.5=1801:Hash(H0.2) 또는 H0.5=180101:Hash(180101-*******)level0.5 H0.5 = 1801: Hash (H0.2) or H0.5 = 180101: Hash (180101-*******)

level0.2 H0.2=180101:Hash(180101-*******)level0.2 H0.2 = 180101: Hash (180101-*******)

level0 180101-*******level0 180101-*******

즉, 프리픽스값을 이용하여 주민등록번호에 대하여 level0.8에서는 년도(18), level0.5에서는 년월(1801), level0.2에서는 년월일(180101)만 공개될 수 있다.That is, the year 18 at level0.8, the year month 1801 at level0.5, and the year month 180180 at level0.2 may be disclosed with respect to the resident registration number using the prefix value.

이때, 정보 관리 서버(200)는 다중 레벨 일부 공개 데이터들이 하위 레벨로 갈수록 특정 프라이빗 데이터 중 공개되는 범위가 넓어지도록 할 수 있으며, 특정 레벨의 일부 공개 데이터는 특정 레벨에 대응되는 특정 프리픽스값과 특정 레벨의 바로 하위 레벨의 일부 공개 데이터의 해쉬값을 포함하거나, 특정 레벨에 대응되는 특정 프리픽스값과 특정 프라이빗 데이터의 해쉬값을 포함하도록 할 수 있다.In this case, the information management server 200 may allow a wide range of disclosure of specific private data as the multiple levels of some public data become lower, and some public data of a specific level may have a specific prefix value and a specific level corresponding to the specific level. It may include a hash value of some public data immediately below the level, or may include a specific prefix value corresponding to a specific level and a hash value of the specific private data.

그리고, 정보 관리 서버(200)는 다중 레벨의 일부 공개 데이터들 중 최상위 레벨의 일부 공개 데이터에 해쉬함수를 적용하여 생성한 해쉬값을 특정 리프 노드에 할당할 수 있다.The information management server 200 may allocate a hash value generated by applying a hash function to some public data of the highest level among some public data of multiple levels to a specific leaf node.

이후, 정보 관리 서버(200)는 생성된 머클트리의 루트값(userID=Hash1234=Hash(Hash(H1:H2):Hash(H3:H4))를 대상의 식별 부호로 대상에 대응하여 블록체인에 등록하거나 머클트리의 정보를 대상의 식별 부호로 대상에 대응하여 블록체인에 등록할 수 있다. 또한, 정보 관리 서버(200)는 정보 관리 서버에 연동되는 타 장치로 하여금 머클트리의 루트값 또는 머클트리의 정보를 대상의 식별 부호로 대상에 대응하여 블록체인에 등록하도록 지원할 수 있다.Thereafter, the information management server 200 uses the root value (userID = Hash1234 = Hash (Hash (H1: H2): Hash (H3: H4)) of the generated Merkle Tree to the blockchain in correspondence with the target identification code. The information may be registered or the information of the Merkle Tree may be registered in the blockchain in response to the object using the identification code of the object. The information of the tree can be supported to be registered in the blockchain in correspondence with the target by the identification code of the target.

특히, 정보 관리 서버(200)가 블록체인의 적어도 하나의 노드로 기능할 경우에는, 상기 방법을 수행할 수 있는 스마트컨트랙트를 블록체인에 등록하며, 트리거링 신호에 의해 블록체인 노드 중 하나인 정보 관리 서버(200)가 스마트컨트랙트를 실행함으로써 대상의 프라이빗 데이터들에 대한 머클트리를 생성하고, 이에 대응하는 대상의 식별 부호를 블록체인에 등록할 수도 있다.In particular, when the information management server 200 functions as at least one node of the blockchain, a smart contract capable of performing the method is registered in the blockchain, and information management, which is one of the blockchain nodes, by a triggering signal. By executing the smart contract, the server 200 may generate a merkle tree for the private data of the target, and register the corresponding identification code of the target in the blockchain.

상기에서는 정보 관리 서버(200)에서 대상과 관련하여 관리하고자 하는 프라이빗 데이터들을 머클트리를 이용하여 대상의 식별 부호를 생성한 이후, 이를 블록체인에 등록하여 관리하도록 하였으나, 이와는 달리 사용자 단말(100)에서 직접적으로 머클트리를 이용한 대상의 식별 부호를 생성하고 블록체인에 등록하여 관리할 수도 있다.In the above, the information management server 200 generates the identification code of the object by using Merkle Tree to manage the private data related to the object, and then registers and manages the object in the blockchain. However, the user terminal 100 You can also create and manage the identification code of the object using Merkle Tree directly on the blockchain.

즉, 사용자에 의한 입력이나 특정 기기의 내부에 등록된 대상과 관련한 프라이빗 데이터들이 획득되면, 사용자 단말(100)이 프라이빗 데이터들 각각에 해쉬함수를 적용하여 생성한 각각의 해쉬값들 또는 프라이빗 데이터들 각각을 가공한 값에 해쉬함수를 적용하여 생성한 각각의 해쉬값들이 각각의 리프 노드들 중 적어도 일부에 할당된 머클트리를 생성하고, 머클트리의 루트값 또는 머클트리의 정보를 대상의 식별 부호로 대상에 대응하여 블록체인에 등록하거나 사용자 단말에 연동되는 서버로 하여금 머클트리의 루트값 또는 머클트리의 정보를 대상의 식별 부호로 대상에 대응하여 블록체인에 등록하도록 지원할 수 있다.That is, when private data related to an object input by a user or an object registered inside a specific device are obtained, each hash value or private data generated by the user terminal 100 by applying a hash function to each of the private data is obtained. Each hash value generated by applying a hash function to each processed value generates a Merkle Tree assigned to at least some of the leaf nodes, and identifies the root value of the Merkle Tree or information of the Merkle Tree as an object identification code. The server may be registered in the blockchain corresponding to the target, or the server linked to the user terminal may register the root value of the Merkle Tree or the information of the Merkle Tree in the blockchain in correspondence with the target with an identification code of the target.

또한, 사용자 단말(100)에서 머클트리를 생성할 경우, 상기에서와 같은 방법에 의해 특정 프라이빗 데이터에 대한 프리픽스값을 이용하여 프라이빗 데이터들 각각을 가공한 값을 생성할 수도 있다.In addition, when generating the merkle tree in the user terminal 100, a value obtained by processing each of the private data may be generated by using the prefix value for the specific private data by the same method as described above.

상기에서는 프리픽스값을 특정 프라이빗 데이터를 이용하여 생성하였으나, 이와는 달리 프리픽스값으로 정보 확인 서버(400)에서 확인된 특정 프라이빗 데이터에 대한 신뢰도값을 설정할 수도 있다.In the above, the prefix value is generated using the specific private data. Alternatively, the reliability value for the specific private data identified by the information verification server 400 may be set as the prefix value.

일 예로, 사용자 단말(100) 또는 정보 관리 서버(200)가 대상의 특정 프라이빗 데이터를 정보 확인 서버(400)에 전송하여 신뢰도를 평가하도록 하며, 평가된 특정 프라이빗 데이터의 신뢰도값을 수신하여 특정 프라이빗 데이터의 프리픽스값으로 생성하고, 상기와 같은 방법에 의해 특정 리프 노드의 서브 데이터에 등록할 수도 있다.For example, the user terminal 100 or the information management server 200 transmits the specific private data of the target to the information verification server 400 to evaluate the reliability, and receives the reliability value of the evaluated specific private data to receive the specific private data. It is also possible to generate a prefix value of the data and register it in the sub data of a specific leaf node by the above method.

또한, 상기에서 사용자 단말(100)은 프라이빗키와 퍼블릭키를 생성하고, 퍼블릭키를 등록하여 대상을 식별할 수 있도록 할 수 있으며, 프라이빗키를 이용한 서명값을 이용하여 대상으로부터 생성되는 트랜잭션의 유효성 여부를 확인할 수도 있다.In addition, the user terminal 100 may generate a private key and a public key, register the public key to identify the subject, and validate the transaction generated from the subject using the signature value using the private key. You can also check.

상기와 같은 방법에 의해 대상의 프라이빗 데이터들과 관련한 대상의 식별 정보가 블록체인에 등록된 상태에서 이를 확인하는 방법을 도 5를 참조하여 설명하면 다음과 같다.Referring to FIG. 5, a method of confirming the identification information of the target related to the private data of the target by the above method is registered in the blockchain as follows.

먼저, 상기에서와 같은 방법에 의해 대상과 관련한 프라이빗 데이터들 각각에 해쉬함수를 적용하여 생성한 해쉬값들 또는 프라이빗 데이터들 각각을 가공한 값에 해쉬함수를 적용하여 생성한 각각의 해쉬값들이 각각의 리프 노드들 중 적어도 일부에 할당된 머클트리가 생성되고, 머클트리의 루트값이 대상의 식별 부호로 대상에 대응하여 블록체인에 등록될 수 있다.First, the hash values generated by applying the hash function to each of the private data related to the object by the method as described above, or the hash values generated by applying the hash function to the processed values of the private data, respectively Merkle tree assigned to at least some of the leaf nodes of the generated tree may be generated, and the root value of the Merkle tree may be registered in the blockchain corresponding to the object with an identification code of the object.

이 상태에서, 서비스 제공 서버(300)로부터 제공되는 서비스를 이용하기 위하여 사용자 단말(100)로부터 대상과 관련한 프라이빗 데이터들 중 특정 프라이빗 데이터 또는 특정 프라이빗 데이터를 가공한 값과, 머클트리 중 특정 프라이빗 데이터 또는 특정 프라이빗 데이터를 가공한 값을 포함하지 않는 브랜치 노드 정보 중 적어도 일부가 전송될 수 있다. 즉, 서비스 제공 서버(300)에서 제공되는 서비스를 이용하기 위한 권한자 확인 등을 위한 정보로서 대상의 전체 프라이빗 데이터가 아닌 특정 프라이빗 데이터 또는 특정 프라이빗 데이터를 가공한 값과, 이를 확인하기 위한 확인 정보로서 머클트리 정보 중 특정 프라이빗 데이터 또는 특정 프라이빗 데이터를 가공한 값을 포함하지 않는 브랜치 노드 정보 중 적어도 일부, 일 예로, 도 5에서의 H2, H34, H1234(userID)가 전송될 수 있다. 이는 서비스 제공 서버(300)가 특정 프라이빗 데이터 또는 이를 가공한 값을 이용하여 대상이 권한자인지를 확인할 수 있도록 하는 최소한의 정보이며, 머클트리 정보 전체가 전송될 수도 있다.In this state, in order to use the service provided from the service providing server 300, a value obtained by processing the specific private data or the specific private data of the private data related to the object from the user terminal 100, and the specific private data of the Merkle Tree Alternatively, at least some of the branch node information not including the processed value of the specific private data may be transmitted. That is, as information for checking the authority for using the service provided by the service providing server 300, etc., the value of processing the specific private data or the specific private data, not the entire private data of the target, and confirmation information for confirming the same. As at least some of the branch node information that does not include the specific private data or the processed value of the specific private data, for example, H2, H34, H1234 (userID) in FIG. 5 may be transmitted. This is the minimum information that enables the service providing server 300 to check whether the target is the authorized person using specific private data or a processed value thereof, and the entire Merkle tree information may be transmitted.

그러면, 서비스 제공 서버(300)는 사용자 단말(100)로부터 제공된 특정 프라이빗 데이터 또는 특정 프라이빗 데이터를 가공한 값에 해쉬함수를 적용하여 해쉬값을 생성하고, 생성된 해쉬값과 사용자 단말(100)로부터 제공된 브랜치 노드 정보를 참조하여 확인용 머클트리 루트값을 생성한다.Then, the service providing server 300 generates a hash value by applying a hash function to the specific private data or the value of processing the specific private data provided from the user terminal 100, from the generated hash value and the user terminal 100 The merkle tree root value for confirmation is generated by referring to the branch node information provided.

그리고, 서비스 제공 서버(100)는 대상에 대응하여 블록체인에 등록된 대상의 식별 부호인 머클트리의 루트값을 획득한다. 이때, 서비스 제공 서버(100)는 블록체인에서 대상에 대응하는 식별 부호인 머클트리의 루트값을 획득하기 위하여 사용자 단말(100)에서 전송되는 퍼블릭키를 이용할 수 있다.The service providing server 100 obtains the root value of the Merkle Tree, which is an identification code of the object registered in the blockchain, in correspondence to the object. In this case, the service providing server 100 may use the public key transmitted from the user terminal 100 to obtain the root value of the Merkle Tree, which is an identification code corresponding to the object in the blockchain.

이후, 서비스 제공 서버(300)는 블록체인으로부터 획득된 머클트리의 루트값과 생성된 확인용 머클트리 루트값을 비교하여 사용자 단말(100)로부터 제공된 특정 프라이빗 데이터 또는 특정 프라이빗 데이터를 가공한 값의 진위를 확인할 수 있으며, 블록체인에 등록된 머클트리의 루트값과 확인용 머클트리의 루트값이 동일할 경우, 권한자에 의한 서비스 접근임을 확인하고 사용자 단말(100)이 서비스를 이용할 수 있도록 할 수 있다.Thereafter, the service providing server 300 compares the root value of the Merkle Tree obtained from the blockchain with the generated Merkle Tree root value to determine the value of the specific private data or the specific private data provided from the user terminal 100. The authenticity can be checked, and if the root value of the Merkle Tree registered in the blockchain and the root value of the Checking Merkle Tree are the same, it is confirmed that the service is accessed by the authority and the user terminal 100 can use the service. Can be.

이때, 사용자 단말(100)에서 제공되는 정보는 대상의 프라이빗 데이터들에 대한 전제 정보가 아닌 일부인 특정 프라이빗 데이터만을 제공하게 되며, 서비스 제공 단말(300)은 이를 이용하여 블록체인에 등록된 사용자 식별 정보를 통해 권한자인지의 여부를 확인할 수 있게 되므로 불필요한 프라이빗 데이터들에 대한 노출을 최소화할 수 있게 된다.In this case, the information provided by the user terminal 100 may provide only specific private data, which is a part of the target private data, rather than premise information, and the service providing terminal 300 may use the user identification information registered in the blockchain. Through this, you can check whether you are an authorized user, thereby minimizing exposure to unnecessary private data.

이와는 달리, 대상과 관련한 프라이빗 데이터들 각각에 해쉬함수를 적용하여 생성한 해쉬값들 또는 프라이빗 데이터들 각각을 가공한 값에 해쉬함수를 적용하여 생성한 각각의 해쉬값들이 각각의 리프 노드들 중 적어도 일부에 할당된 머클트리가 생성되고, 머클트리 정보가 대상의 식별 부호로 대상에 대응하여 블록체인에 등록될 수 있다.In contrast, the hash values generated by applying the hash function to each of the private data related to the object or the hash values generated by applying the hash function to the processed values of the private data are each at least among the leaf nodes. The Merkle Tree assigned to a part may be generated, and the Merkle Tree information may be registered in the blockchain in correspondence with the target by the identification code of the target.

이 경우, 서비스 제공 서버(300)로부터 제공되는 서비스를 이용하기 위하여 사용자 단말(100)은 대상과 관련한 프라이빗 데이터들 중 특정 프라이빗 데이터가 전송하게 된다.In this case, in order to use the service provided from the service providing server 300, the user terminal 100 transmits specific private data among private data related to the object.

그러면, 서비스 제공 서버(300)는 대상에 대응하여 블록체인에 등록된 머클트리의 정보를 획득한다. 이때, 서비스 제공 서버(300)는 블록체인에 등록된 대상에 대응하는 머클트리의 정보를 획득하기 위하여 사용자 단말(100)에서 전송되는 퍼블릭키를 이용할 수 있다.Then, the service providing server 300 obtains the information of the Merkle tree registered in the block chain corresponding to the target. In this case, the service providing server 300 may use the public key transmitted from the user terminal 100 to obtain information of the Merkle Tree corresponding to the object registered in the blockchain.

그리고, 서비스 제공 서버(300)는 블록체인으로부터 획득된 머클트리 정보를 참조하여 특정 프라이빗 데이터에 대응되는 위치의 특정 리프 노드에 사용자 단말(100)로부터 획득한 특정 프라이빗 데이터의 해쉬값을 할당하거나 특정 프라이빗 데이터를 가공한 값에 해쉬함수를 적용하여 생성한 해쉬값을 할당하여 확인용 머클트리를 생성한다. 이때, 특정 프라이빗 데이터를 가공한 값은 상기에서 설명한 바와 같이 일부 공개 데이터로 머클트리와 동시에 공개된 정보이므로 특정 프라이빗 데이터의 해쉬값과 공개된 프리픽스값을 이용하여 생성할 수 있다.The service providing server 300 allocates or specifies a hash value of the specific private data obtained from the user terminal 100 to a specific leaf node at a location corresponding to the specific private data with reference to the Merkle Tree information obtained from the blockchain. Generates the Merkle Tree for verification by assigning the hash value generated by applying the hash function to the processed data. In this case, since the value of processing the specific private data is information that is simultaneously disclosed with the Merkle Tree as some public data as described above, the value may be generated using the hash value and the public prefix value of the specific private data.

이후, 서비스 제공 서버(300)는 확인용 머클트리의 루트값과 블록체인으로부터 획득한 머클트리 정보에서의 루트값을 비교하여 사용자 단말(100)로부터 제공된 특정 프라이빗 데이터의 진위를 확인할 수 있으며, 블록체인에 등록된 머클트리의 루트값과 확인용 머클트리의 루트값이 동일할 경우, 권한자에 의한 서비스 접근임을 확인하고 사용자 단말(100)이 서비스를 이용할 수 있도록 할 수 있다.Thereafter, the service providing server 300 may check the authenticity of the specific private data provided from the user terminal 100 by comparing the root value of the checking Merkle tree and the root value in the Merkle tree information obtained from the block chain. If the root value of the Merkle tree registered in the chain is the same as the root value of the checking Merkle tree, it may be confirmed that the service access by the authority, and the user terminal 100 can use the service.

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

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

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

1000: 정보 관리 시스템,
100: 사용자 단말,
200: 정보 관리 서버,
300: 서비스 제공 서버,
400: 정보 확인 서버
1000: information management system,
100: user terminal,
200: information management server,
300: service providing server,
400: information verification server

Claims (36)

블록체인 기반의 머클트리를 이용한 정보 관리 방법에 있어서,
(a) 사용자 단말로부터 대상과 관련한 프라이빗 데이터들이 획득되면, 정보 관리 서버가, 상기 프라이빗 데이터들 각각에 해쉬함수를 적용하여 생성한 각각의 해쉬값들 또는 상기 프라이빗 데이터들 각각을 가공한 값에 해쉬함수를 적용하여 생성한 각각의 해쉬값들이 각각의 리프 노드들 중 적어도 일부에 할당된 머클트리를 생성하거나 상기 정보 관리 서버에 연동되는 타 장치로 하여금 상기 머클트리를 생성하도록 지원하는 단계; 및
(b) 상기 정보 관리 서버가, (i) 상기 머클트리의 루트값을 상기 대상의 식별 부호로 상기 대상에 대응하여 블록체인에 등록하거나 상기 머클트리의 정보를 상기 대상의 식별 부호로 상기 대상에 대응하여 상기 블록체인에 등록하는 프로세스, 및 (ii) 상기 정보 관리 서버에 연동되는 타 장치로 하여금 상기 머클트리의 루트값을 상기 대상의 식별 부호로 상기 대상에 대응하여 상기 블록체인에 등록하도록 지원하거나 상기 머클트리의 정보를 상기 대상의 식별 부호로 상기 대상에 대응하여 상기 블록체인에 등록하도록 지원하는 프로세스 중 적어도 하나를 수행하는 단계;
를 포함하는 것을 특징으로 하는 블록체인 기반의 머클트리를 이용한 정보 관리 방법.
In the information management method using a blockchain-based Merkle Tree,
(a) When the private data related to the object are obtained from the user terminal, the information management server hashes each of the hash values generated by applying a hash function to each of the private data or the processed values of each of the private data. Generating a merkle tree in which each hash value generated by applying a function is assigned to at least some of the leaf nodes or allowing another device linked to the information management server to generate the merkle tree; And
(b) the information management server registers (i) the root value of the Merkle Tree in the blockchain corresponding to the object with the identification code of the object, or the information of the Merkle Tree in the object with the identification code of the object. Correspondingly registering with the blockchain, and (ii) allowing another device interworking with the information management server to register the root value of the Merkle Tree in the blockchain corresponding to the object with the identification code of the object. Or performing at least one of a process of supporting information of the Merkle Tree in the blockchain in correspondence with the object with an identification code of the object;
Information management method using a blockchain-based Merkle tree comprising a.
제1항에 있어서,
상기 (a) 단계에서,
상기 정보 관리 서버가, 상기 프라이빗 데이터들 중 특정 프라이빗 데이터에 대응하는 프리픽스값 - 상기 프리픽스값은 상기 특정 프라이빗 데이터 중 특정 범위 영역의 데이터를 대표화한 값 또는 상기 특정 프라이빗 데이터에 대한 신뢰도값임 - 과 상기 특정 프라이빗 데이터의 해쉬값을 포함하는 일부 공개 데이터를 생성하며, 상기 생성된 상기 일부 공개 데이터를 상기 특정 프라이빗 데이터에 대응되는 특정 리프 노드에 대응되는 서브 데이터로서 등록하며, 상기 일부 공개 데이터에 해쉬함수를 적용하여 생성한 해쉬값을 상기 특정 리프 노드에 할당하는 것을 특징으로 하는 블록체인 기반의 머클트리를 이용한 정보 관리 방법.
The method of claim 1,
In the step (a),
A prefix value corresponding to specific private data of the private data, wherein the prefix value represents a value representing data of a specific range region among the specific private data or a reliability value of the specific private data; and Generates some public data including a hash value of the specific private data, registers the generated some public data as sub data corresponding to a specific leaf node corresponding to the specific private data, and hashes the partial public data. And a hash value generated by applying a function to the specific leaf node.
제2항에 있어서,
상기 정보 관리 서버는, 상기 특정 프라이빗 데이터에 대응하는 다수의 프리픽스값을 생성하며, 상기 다수의 프리픽스값 각각과 상기 특정 프라이빗 데이터에 대응되는 해쉬값을 포함하는 다중 레벨의 일부 공개 데이터들을 생성하며, 상기 다중 레벨의 일부 공개 데이터들을 상기 특정 리프 노드에 대응되는 서브 데이터로서 등록하며, 상기 다중 레벨의 일부 공개 데이터들 중 적어도 일부에 해쉬함수를 적용하여 생성한 해쉬값을 상기 특정 리프 노드에 할당하는 것을 특징으로 하는 블록체인 기반의 머클트리를 이용한 정보 관리 방법.
The method of claim 2,
The information management server generates a plurality of prefix values corresponding to the specific private data, generates some public data of multiple levels including each of the plurality of prefix values and a hash value corresponding to the specific private data, Registering some public data of the multilevel as sub data corresponding to the specific leaf node, and assigning a hash value generated by applying a hash function to at least some of the multilevel public data; Information management method using a blockchain-based Merkle tree, characterized in that.
제3항에 있어서,
상기 다중 레벨 일부 공개 데이터들은 하위 레벨로 갈수록 상기 특정 프라이빗 데이터 중 공개되는 범위가 넓어지며, 특정 레벨의 일부 공개 데이터는 (i) 상기 특정 레벨에 대응되는 특정 프리픽스값과 (ii) 상기 특정 레벨의 바로 하위 레벨의 일부 공개 데이터의 해쉬값 또는 상기 특정 프라이빗 데이터의 해쉬값을 포함하는 것을 특징으로 하는 블록체인 기반의 머클트리를 이용한 정보 관리 방법.
The method of claim 3,
As the multi-level partial public data becomes lower level, the range of disclosure of the specific private data becomes wider, and some public data of a specific level includes (i) a specific prefix value corresponding to the specific level and (ii) the specific level. Information management method using a blockchain-based merkle tree, characterized in that it comprises a hash value of some public data of a lower level or a hash value of the specific private data.
제4항에 있어서,
상기 정보 관리 서버는, 상기 다중 레벨의 일부 공개 데이터들 중 최상위 레벨의 일부 공개 데이터에 해쉬함수를 적용하여 생성한 해쉬값을 상기 특정 리프 노드에 할당하는 것을 특징으로 하는 블록체인 기반의 머클트리를 이용한 정보 관리 방법.
The method of claim 4, wherein
The information management server assigns a hash value generated by applying a hash function to some public data of the highest level among some public data of the multi-level to the specific leaf node. Information management method used.
제1항에 있어서,
상기 (a) 단계에서,
상기 프라이빗 데이터를 가공한 값은, 상기 프라이빗 데이터들 중 특정 프라이빗 데이터에 대응하는 프리픽스값 - 상기 프리픽스값은 상기 특정 프라이빗 데이터 중 특정 범위 영역의 정보를 대표화한 값 또는 상기 특정 프라이빗 데이터에 대한 신뢰도값임 - 과 상기 특정 프라이빗 데이터의 해쉬값을 포함하는 일부 공개 데이터인 것을 특징으로 하는 블록체인 기반의 머클트리를 이용한 정보 관리 방법.
The method of claim 1,
In the step (a),
The value of processing the private data is a prefix value corresponding to specific private data among the private data-the prefix value represents a value representing the information of a specific range region among the specific private data or the reliability of the specific private data. Value-and some public data including a hash value of the specific private data.
제1항에 있어서,
상기 (a) 단계에서,
상기 정보 관리 서버는, (x1) 상기 해쉬값이 할당된 노드들 중 서로 이웃하는 형제 노드들에 할당된 해쉬값들에 해쉬함수를 적용하여 해쉬값을 생성하거나 상기 정보 관리 서버에 연동되는 타 장치로 하여금 상기 해쉬값을 생성하도록 지원하고, 상기 생성된 해쉬값을 상기 형제 노드들의 부모 노드에 할당하거나 상기 정보 관리 서버에 연동되는 타 장치로 하여금 상기 부모 노드에 할당하도록 지원하며,
(x2) 상기 부모 노드가 상기 머클트리의 루트 노드이면, 상기 부모 노드에 할당된 해쉬값을 상기 머클트리의 루트값으로 확정하거나 상기 정보 관리 서버에 연동되는 타 장치로 하여금 상기 머클트리의 루트값으로 확정하도록 지원하고,
(x3) 상기 부모 노드가 상기 머클트리의 루트 노드가 아니면, 상기 부모 노드들을 상기 형제 노드들로 하여 상기 (x1) 내지 (x2)를 반복하여 수행하는 것을 특징으로 하는 블록체인 기반의 머클트리를 이용한 정보 관리 방법.
The method of claim 1,
In the step (a),
The information management server generates a hash value by applying a hash function to the hash values assigned to neighboring sibling nodes among the nodes to which the hash value is assigned (x1) or another device linked to the information management server. Support to generate the hash value, assign the generated hash value to a parent node of the sibling nodes, or allow another device interworking with the information management server to assign to the parent node,
(x2) If the parent node is the root node of the Merkle Tree, the hash value assigned to the parent node is determined as the root value of the Merkle Tree, or other device linked to the information management server causes the root value of the Merkle Tree. To confirm,
(x3) If the parent node is not the root node of the Merkle Tree, the blockchain-based Merkle Tree is repeated by performing the (x1) to (x2) by using the parent nodes as the sibling nodes. Information management method used.
제1항에 있어서,
상기 (a) 단계에서, 상기 리프 노드들 중 적어도 일부에 상기 프라이빗 데이터들 각각의 해쉬값 또는 상기 프라이빗 데이터들 각각을 가공한 값에 해쉬함수를 적용하여 생성한 각각의 해쉬값들이 할당되지 않은 경우, 상기 정보 관리 서버는, 상기 프라이빗 데이터들 각각의 해쉬값 또는 상기 프라이빗 데이터들 각각을 가공한 값에 해쉬함수를 적용하여 생성한 각각의 해쉬값들이 할당되지 않은 상기 리프 노드들에 소정의 해쉬값을 할당하거나 상기 정보 관리 서버에 연동되는 타 장치로 하여금 상기 소정의 해쉬값이 할당하도록 지원하는 것을 특징으로 하는 블록체인 기반의 머클트리를 이용한 정보 관리 방법.
The method of claim 1,
In the step (a), when each hash value generated by applying a hash function to a hash value of each of the private data or a value of each of the private data is not assigned to at least some of the leaf nodes. The hashing value is determined by the information management server by applying a hash function to a hash value of each of the private data or a processed value of each of the private data. The information management method using a blockchain-based merkle tree, which allocates or supports other devices linked to the information management server to allocate the predetermined hash value.
블록체인 기반의 머클트리를 이용한 정보 관리 방법에 있어서,
(a) 사용자로부터 대상과 관련한 프라이빗 데이터들이 획득되면, 사용자 단말이, 상기 프라이빗 데이터들 각각에 해쉬함수를 적용하여 생성한 각각의 해쉬값들 또는 상기 프라이빗 데이터들 각각을 가공한 값에 해쉬함수를 적용하여 생성한 각각의 해쉬값들이 각각의 리프 노드들 중 적어도 일부에 할당된 머클트리를 생성하는 단계; 및
(b) 상기 사용자 단말이, (i) 상기 머클트리의 루트값을 상기 대상의 식별 부호로 상기 대상에 대응하여 블록체인에 등록하거나 상기 머클트리의 정보를 상기 대상의 식별 부호로 상기 대상에 대응하여 상기 블록체인에 등록하는 프로세스 및, (ii) 상기 사용자 단말에 연동되는 서버로 하여금 상기 머클트리의 루트값을 상기 대상의 식별 부호로 상기 대상에 대응하여 블록체인에 등록하도록 지원하거나 상기 머클트리의 정보를 상기 대상의 식별 부호로 상기 대상에 대응하여 상기 블록체인에 등록하도록 지원하는 프로세스 중 적어도 하나를 수행하는 단계;
를 포함하는 것을 특징으로 하는 블록체인 기반의 머클트리를 이용한 정보 관리 방법.
In the information management method using a blockchain-based Merkle Tree,
(a) When the private data related to the object is obtained from the user, the user terminal generates a hash function on each of the hash values generated by applying a hash function to each of the private data or the processed values of each of the private data. Generating a merkle tree to which each generated hash value is assigned to at least some of each leaf nodes; And
(b) the user terminal registers (i) the root value of the Merkle Tree in the blockchain corresponding to the object with the identification code of the object, or corresponds to the object in the object code with the identification code of the object And registering the blockchain with the blockchain, and (ii) allowing the server linked to the user terminal to register the root value of the Merkle Tree in the blockchain in correspondence with the object with the identification code of the object. Performing at least one of a process of supporting information of the object with the identification code of the object in the blockchain corresponding to the object;
Information management method using a blockchain-based Merkle tree comprising a.
제9항에 있어서,
상기 (a) 단계에서,
상기 사용자 단말이, 상기 프라이빗 데이터들 중 특정 프라이빗 데이터에 대응하는 프리픽스값 - 상기 프리픽스값은 상기 특정 프라이빗 데이터 중 특정 범위 영역의 데이터를 대표화한 값 또는 상기 특정 프라이빗 데이터에 대한 신뢰도값임 - 과 상기 특정 프라이빗 데이터의 해쉬값을 포함하는 일부 공개 데이터를 생성하며, 상기 생성된 상기 일부 공개 데이터를 상기 특정 프라이빗 데이터에 대응되는 특정 리프 노드 하부에 대응되는 서브 데이터로서 등록하며, 상기 일부 공개 데이터에 해쉬함수를 적용하여 생성한 해쉬값을 상기 특정 리프 노드에 할당하는 것을 특징으로 하는 블록체인 기반의 머클트리를 이용한 정보 관리 방법.
The method of claim 9,
In the step (a),
A prefix value corresponding to specific private data among the private data, wherein the prefix value represents a value representing data of a specific range region among the specific private data or a reliability value of the specific private data; and Generates some public data including a hash value of specific private data, registers the generated some public data as sub data corresponding to a lower portion of a specific leaf node corresponding to the specific private data, and hashes the partial public data. And a hash value generated by applying a function to the specific leaf node.
제10항에 있어서,
상기 사용자 단말이, 상기 특정 프라이빗 데이터에 대응하는 다수의 프리픽스값을 생성하며, 상기 다수의 프리픽스값 각각과 상기 특정 프라이빗 데이터에 대응되는 해쉬값을 포함하는 다중 레벨의 일부 공개 데이터들을 결정하며, 상기 다중 레벨의 일부 공개 데이터들을 상기 특정 리프 노드에 대응되는 서브 데이터로 등록하며, 상기 다중 레벨의 일부 공개 데이터들 중 적어도 일부에 해쉬함수를 적용하여 생성한 해쉬값을 상기 특정 리프 노드에 할당하는 것을 특징으로 하는 블록체인 기반의 머클트리를 이용한 정보 관리 방법.
The method of claim 10,
The user terminal generates a plurality of prefix values corresponding to the specific private data, and determines some public data of multiple levels including each of the plurality of prefix values and a hash value corresponding to the specific private data, Registering some public data of multiple levels as sub data corresponding to the specific leaf node, and allocating a hash value generated by applying a hash function to at least some of the multiple public data of the multiple level to the specific leaf node; Information management method using a blockchain-based merkle tree.
제11항에 있어서,
상기 다중 레벨 일부 공개 데이터들은 하위 레벨로 갈수록 상기 특정 프라이빗 데이터 중 공개되는 범위가 넓어지며, 특정 레벨의 일부 공개 데이터는 (i) 상기 특정 레벨에 대응되는 특정 프리픽스값과 (ii) 상기 특정 레벨의 바로 하위 레벨의 일부 공개 데이터의 해쉬값 또는 상기 특정 프라이빗 데이터의 해쉬값을 포함하는 것을 특징으로 하는 블록체인 기반의 머클트리를 이용한 정보 관리 방법.
The method of claim 11,
As the multi-level partial public data becomes lower level, the range of disclosure of the specific private data becomes wider, and some public data of a specific level includes (i) a specific prefix value corresponding to the specific level and (ii) the specific level. Information management method using a blockchain-based merkle tree, characterized in that it comprises a hash value of some public data of a lower level or a hash value of the specific private data.
제12항에 있어서,
상기 사용자 단말은, 상기 다중 레벨의 일부 공개 데이터들 중 최상위 레벨의 일부 공개 데이터에 해쉬함수를 적용하여 생성한 해쉬값을 상기 특정 리프 노드에 할당하는 것을 특징으로 하는 블록체인 기반의 머클트리를 이용한 정보 관리 방법.
The method of claim 12,
The user terminal uses a blockchain-based merkle tree to allocate a hash value generated by applying a hash function to some public data of the highest level among some public data of the multilevel to the specific leaf node. How Information is Managed.
제9항에 있어서,
상기 (a) 단계에서,
상기 프라이빗 데이터를 가공한 값은, 상기 프라이빗 데이터들 중 특정 프라이빗 데이터에 대응하는 프리픽스값 - 상기 프리픽스값은 상기 특정 프라이빗 데이터 중 특정 범위 영역의 정보를 대표화한 값 또는 상기 특정 프라이빗 데이터에 대한 신뢰도값임 - 과 상기 특정 프라이빗 데이터의 해쉬값을 포함하는 일부 공개 데이터인 것을 특징으로 하는 블록체인 기반의 머클트리를 이용한 정보 관리 방법.
The method of claim 9,
In the step (a),
The value of processing the private data is a prefix value corresponding to specific private data among the private data-the prefix value represents a value representing the information of a specific range region among the specific private data or the reliability of the specific private data. Value-and some public data including a hash value of the specific private data.
제9항에 있어서,
상기 (a) 단계에서,
상기 사용자 단말이, (x1) 상기 해쉬값이 할당된 노드들 중 서로 이웃하는 형제 노드들에 할당된 해쉬값들에 해쉬함수를 적용하여 해쉬값을 생성하고, 상기 생성된 해쉬값을 상기 형제 노드들의 부모 노드에 할당하며,
(x2) 상기 부모 노드가 상기 머클트리의 루트 노드이면, 상기 부모 노드에 할당된 해쉬값을 상기 머클트리의 루트값으로 확정하고,
(x3) 상기 부모 노드가 상기 머클트리의 루트 노드가 아니면, 상기 부모 노드들을 상기 형제 노드들로 하여 상기 (x1) 내지 (x2)를 반복하여 수행하는 것을 특징으로 하는 블록체인 기반의 머클트리를 이용한 정보 관리 방법.
The method of claim 9,
In the step (a),
The user terminal (x1) generates a hash value by applying a hash function to hash values assigned to neighboring sibling nodes among the nodes to which the hash value is assigned, and generates the hash value to the sibling node. To their parent node,
(x2) if the parent node is the root node of the Merkle Tree, the hash value assigned to the parent node is determined as the root value of the Merkle Tree,
(x3) If the parent node is not the root node of the Merkle Tree, the blockchain-based Merkle Tree is repeated by performing the (x1) to (x2) by using the parent nodes as the sibling nodes. Information management method used.
제9항에 있어서,
상기 (a) 단계에서, 상기 리프 노드들 중 적어도 일부에 상기 프라이빗 데이터들 각각의 해쉬값이 할당되지 않은 경우, 상기 사용자 단말은, 상기 프라이빗 데이터들 각각의 해쉬값이 할당되지 않은 상기 리프 노드들에 소정의 해쉬값을 할당하는 것을 특징으로 하는 블록체인 기반의 머클트리를 이용한 정보 관리 방법.
The method of claim 9,
In the step (a), when the hash value of each of the private data is not assigned to at least some of the leaf nodes, the user terminal may include the leaf nodes to which the hash value of each of the private data is not assigned. Information management method using a blockchain-based Merkle Tree, which assigns a predetermined hash value to.
블록체인 기반의 머클트리를 이용한 정보 관리 방법에 있어서,
(a) 대상과 관련한 프라이빗 데이터들 각각에 해쉬함수를 적용하여 생성한 해쉬값들 또는 상기 프라이빗 데이터들 각각을 가공한 값에 해쉬함수를 적용하여 생성한 각각의 해쉬값들이 각각의 리프 노드들 중 적어도 일부에 할당된 머클트리가 생성되고, 상기 머클트리의 루트값이 상기 대상의 식별 부호로 상기 대상에 대응하여 블록체인에 등록된 상태에서, 사용자 단말로부터 (i) 상기 대상과 관련한 프라이빗 데이터들 중 특정 프라이빗 데이터 또는 상기 특정 프라이빗 데이터를 가공한 값과 (ii) 상기 머클트리 중 상기 특정 프라이빗 데이터 또는 상기 특정 프라이빗 데이터를 가공한 값을 포함하지 않는 브랜치 노드 정보 중 적어도 일부가 획득되면, 서비스 제공 서버가, 상기 사용자 단말로부터 제공된 상기 특정 프라이빗 데이터 또는 상기 특정 프라이빗 데이터를 가공한 값에 해쉬함수를 적용하여 생성한 해쉬값과 상기 사용자 단말로부터 제공된 상기 브랜치 노드 정보를 참조하여 확인용 머클트리 루트값을 생성하는 단계; 및
(b) 상기 서비스 제공 서버가, 상기 대상에 대응하여 상기 블록체인에 등록된 상기 대상의 식별 부호인 상기 머클트리의 루트값을 획득하며, 상기 블록체인에 등록된 상기 머클트리의 루트값과 상기 확인용 머클트리 루트값을 비교하여 상기 사용자 단말로부터 제공된 상기 특정 프라이빗 데이터 또는 상기 특정 프라이빗 데이터를 가공한 값의 진위를 확인하는 단계;
를 포함하는 것을 특징으로 하는 블록체인 기반의 머클트리를 이용한 정보 관리 방법.
In the information management method using a blockchain-based Merkle Tree,
(a) The hash values generated by applying a hash function to each of the private data related to the object or the hash values generated by applying the hash function to the processed values of each of the private data are among the leaf nodes. (I) private data related to the object from a user terminal, with a Merkle tree assigned to at least a portion being generated, and the root value of the Merkle tree registered in the blockchain corresponding to the object with an identification code of the object; If at least some of the specific private data or a value obtained by processing the specific private data and (ii) a branch node information that does not include the specific private data or the processed value of the specific private data in the Merkle Tree are obtained, the service is provided. The server provides the specific private data or the specific program provided from the user terminal. Generating a mercury tree root value for confirmation by referring to a hash value generated by applying a hash function to the processed raw data and the branch node information provided from the user terminal; And
(b) the service providing server obtains a root value of the Merkle Tree, which is an identification code of the object registered in the blockchain in correspondence with the subject, and the root value of the Merkle Tree registered in the blockchain and the Comparing the identification Merkle tree root value and confirming the authenticity of the specific private data or the processed value of the specific private data provided from the user terminal;
Information management method using a blockchain-based Merkle tree comprising a.
블록체인 기반의 머클트리를 이용한 정보 관리 방법에 있어서,
(a) 대상과 관련한 프라이빗 데이터들 각각에 해쉬함수를 적용하여 생성한 해쉬값들 또는 상기 프라이빗 데이터들 각각을 가공한 값에 해쉬함수를 적용하여 생성한 각각의 해쉬값들이 각각의 리프 노드들 중 적어도 일부에 할당된 머클트리가 생성되고, 상기 머클트리 정보가 상기 대상의 식별 부호로 상기 대상에 대응하여 블록체인에 등록된 상태에서, 사용자 단말로부터 상기 대상과 관련한 프라이빗 데이터들 중 특정 프라이빗 데이터가 획득되면, 서비스 제공 서버가, 상기 대상에 대응하여 상기 블록체인에 등록된 상기 머클트리의 정보를 획득하는 단계; 및
(b) 상기 서비스 제공 서버가, 상기 머클트리 정보를 참조하여 상기 특정 프라이빗 데이터에 대응되는 위치의 특정 리프 노드에 상기 특정 프라이빗 데이터의 해쉬값을 할당하거나 상기 특정 프라이빗 데이터를 가공한 값에 해쉬함수를 적용하여 생성한 해쉬값을 할당하여 확인용 머클트리를 생성하며, 상기 확인용 머클트리의 루트값과 상기 블록체인으로부터 획득한 상기 머클트리 정보에서의 루트값을 비교하여 상기 사용자 단말로부터 획득된 상기 특정 프라이빗 데이터의 진위를 확인하는 단계;
를 포함하는 것을 특징으로 하는 블록체인 기반의 머클트리를 이용한 정보 관리 방법.
In the information management method using a blockchain-based Merkle Tree,
(a) The hash values generated by applying a hash function to each of the private data related to the object or the hash values generated by applying the hash function to the processed values of each of the private data are among the leaf nodes. At least a portion of the Merkle Tree is generated, and the Merkle Tree information is registered in the blockchain in correspondence with the object with the identification code of the object. Obtaining, by the service providing server, information of the Merkle Tree registered in the blockchain in response to the object; And
(b) The service providing server allocates a hash value of the specific private data to a specific leaf node at a location corresponding to the specific private data with reference to the Merkle tree information, or a hash function to a value obtained by processing the specific private data. Applies a hash value generated by applying to generate a confirmation Merkle tree, and compares the root value of the confirmation Merkle tree and the root value in the Merkle tree information obtained from the block chain obtained from the user terminal Confirming the authenticity of the specific private data;
Information management method using a blockchain-based Merkle tree comprising a.
블록체인 기반의 머클트리를 이용하여 정보를 관리하는 정보 관리 서버에 있어서,
사용자 단말로부터 대상과 관련한 프라이빗 데이터들이 획득하는 통신부; 및
상기 통신부로부터 획득된 상기 프라이빗 데이터들 각각에 해쉬함수를 적용하여 생성한 각각의 해쉬값들 또는 상기 프라이빗 데이터들 각각을 가공한 값에 해쉬함수를 적용하여 생성한 각각의 해쉬값들이 각각의 리프 노드들 중 적어도 일부에 할당된 머클트리를 생성하거나 상기 정보 관리 서버에 연동되는 타 장치로 하여금 상기 머클트리를 생성하도록 지원하는 제1 프로세스와, (i) 상기 머클트리의 루트값을 상기 대상의 식별 부호로 상기 대상에 대응하여 블록체인에 등록하거나 상기 머클트리의 정보를 상기 대상의 식별 부호로 상기 대상에 대응하여 상기 블록체인에 등록하는 프로세스, 및 (ii) 상기 정보 관리 서버에 연동되는 타 장치로 하여금 상기 머클트리의 루트값을 상기 대상의 식별 부호로 상기 대상에 대응하여 상기 블록체인에 등록하도록 지원하거나 상기 머클트리의 정보를 상기 대상의 식별 부호로 상기 대상에 대응하여 상기 블록체인에 등록하도록 지원하는 프로세스 중 적어도 하나를 수행하는 제2 프로세스를 수행하는 프로세서;
를 포함하는 것을 특징으로 하는 정보 관리 서버.
An information management server that manages information using a blockchain-based merkle tree,
A communication unit for obtaining private data related to an object from a user terminal; And
Each hash value generated by applying a hash function to each of the private data obtained from the communication unit, or each hash value generated by applying a hash function to a processed value of each of the private data, is each leaf node. A first process of generating a Merkle Tree assigned to at least some of them or allowing another device linked with the information management server to generate the Merkle Tree; and (i) identifying the root value of the Merkle Tree as the target; Registering in the blockchain in correspondence with the object by code or registering information of the Merkle Tree in the blockchain in correspondence with the object by the identification code of the object; and (ii) other devices linked to the information management server. Register the root value of the Merkle Tree in the blockchain corresponding to the object with the identification code of the object. A second process of performing at least one of a process of supporting the information on the Merkle Tree or registering information of the Merkle Tree on the blockchain in correspondence with the object with an identification code of the object;
Information management server comprising a.
제19항에 있어서,
상기 프로세서는,
상기 제1 프로세스에서, 상기 프라이빗 데이터들 중 특정 프라이빗 데이터에 대응하는 프리픽스값 - 상기 프리픽스값은 상기 특정 프라이빗 데이터 중 특정 범위 영역의 데이터를 대표화한 값 또는 상기 특정 프라이빗 데이터에 대한 신뢰도값임 - 과 상기 특정 프라이빗 데이터의 해쉬값을 포함하는 일부 공개 데이터를 생성하며, 상기 생성된 상기 일부 공개 데이터를 상기 특정 프라이빗 데이터에 대응되는 특정 리프 노드에 대응되는 서브 데이터로서 등록하며, 상기 일부 공개 데이터에 해쉬함수를 적용하여 생성한 해쉬값을 상기 특정 리프 노드에 할당하는 것을 특징으로 하는 정보 관리 서버.
The method of claim 19,
The processor,
In the first process, a prefix value corresponding to specific private data among the private data, wherein the prefix value represents a value representing data of a specific range region among the specific private data or a reliability value for the specific private data. Generates some public data including a hash value of the specific private data, registers the generated some public data as sub data corresponding to a specific leaf node corresponding to the specific private data, and hashes the partial public data. And a hash value generated by applying a function to the specific leaf node.
제20항에 있어서,
상기 프로세서는, 상기 특정 프라이빗 데이터에 대응하는 다수의 프리픽스값을 생성하며, 상기 다수의 프리픽스값 각각과 상기 특정 프라이빗 데이터에 대응되는 해쉬값을 포함하는 다중 레벨의 일부 공개 데이터들을 생성하며, 상기 다중 레벨의 일부 공개 데이터들을 상기 특정 리프 노드에 대응되는 서브 데이터로서 등록하며, 상기 다중 레벨의 일부 공개 데이터들 중 적어도 일부에 해쉬함수를 적용하여 생성한 해쉬값을 상기 특정 리프 노드에 할당하는 것을 특징으로 하는 정보 관리 서버.
The method of claim 20,
The processor generates a plurality of prefix values corresponding to the specific private data, generates a plurality of levels of some public data including each of the plurality of prefix values and a hash value corresponding to the specific private data. Registering some public data of the level as sub data corresponding to the specific leaf node, and assigning a hash value generated by applying a hash function to at least some of the public data of the multiple levels to the specific leaf node. Information management server.
제21항에 있어서,
상기 다중 레벨 일부 공개 데이터들은 하위 레벨로 갈수록 상기 특정 프라이빗 데이터 중 공개되는 범위가 넓어지며, 특정 레벨의 일부 공개 데이터는 (i) 상기 특정 레벨에 대응되는 특정 프리픽스값과 (ii) 상기 특정 레벨의 바로 하위 레벨의 일부 공개 데이터의 해쉬값 또는 상기 특정 프라이빗 데이터의 해쉬값을 포함하는 것을 특징으로 하는 정보 관리 서버.
The method of claim 21,
As the multi-level partial public data becomes lower level, the range of disclosure of the specific private data becomes wider, and some public data of a specific level includes (i) a specific prefix value corresponding to the specific level and (ii) the specific level. An information management server comprising a hash value of some public data at a lower level or a hash value of the specific private data.
제22항에 있어서,
상기 프로세서는, 상기 다중 레벨의 일부 공개 데이터들 중 최상위 레벨의 일부 공개 데이터에 해쉬함수를 적용하여 생성한 해쉬값을 상기 특정 리프 노드에 할당하는 것을 특징으로 하는 정보 관리 서버.
The method of claim 22,
And the processor is configured to allocate a hash value generated by applying a hash function to some public data of the highest level among some public data of the multiple levels to the specific leaf node.
제19항에 있어서,
상기 프라이빗 데이터를 가공한 값은, 상기 프라이빗 데이터들 중 특정 프라이빗 데이터에 대응하는 프리픽스값 - 상기 프리픽스값은 상기 특정 프라이빗 데이터 중 특정 범위 영역의 정보를 대표화한 값 또는 상기 특정 프라이빗 데이터에 대한 신뢰도값임 - 과 상기 특정 프라이빗 데이터의 해쉬값을 포함하는 일부 공개 데이터인 것을 특징으로 하는 정보 관리 서버.
The method of claim 19,
The value of processing the private data is a prefix value corresponding to specific private data among the private data-the prefix value represents a value representing the information of a specific range region among the specific private data or the reliability of the specific private data. Is a value-and some public data including a hash value of the specific private data.
제19항에 있어서,
상기 프로세서는, 상기 제1 프로세스에서,
(x1) 상기 해쉬값이 할당된 노드들 중 서로 이웃하는 형제 노드들에 할당된 해쉬값들에 해쉬함수를 적용하여 해쉬값을 생성하거나 상기 정보 관리 서버에 연동되는 타 장치로 하여금 상기 해쉬값을 생성하도록 지원하고, 상기 생성된 해쉬값을 상기 형제 노드들의 부모 노드에 할당하거나 상기 정보 관리 서버에 연동되는 타 장치로 하여금 상기 부모 노드에 할당하도록 지원하며,
(x2) 상기 부모 노드가 상기 머클트리의 루트 노드이면, 상기 부모 노드에 할당된 해쉬값을 상기 머클트리의 루트값으로 확정하거나 상기 정보 관리 서버에 연동되는 타 장치로 하여금 상기 머클트리의 루트값으로 확정하도록 지원하고,
(x3) 상기 부모 노드가 상기 머클트리의 루트 노드가 아니면, 상기 부모 노드들을 상기 형제 노드들로 하여 상기 (x1) 내지 (x2)를 반복하여 수행하는 것을 특징으로 하는 정보 관리 서버.
The method of claim 19,
The processor, in the first process,
(x1) Generate a hash value by applying a hash function to the hash values assigned to neighboring sibling nodes among the nodes to which the hash value is assigned, or allow other devices linked to the information management server to generate the hash value. Generate the hash value and assign the generated hash value to a parent node of the sibling nodes or allow another device linked to the information management server to assign the generated hash value to the parent node,
(x2) If the parent node is the root node of the Merkle Tree, the hash value assigned to the parent node is determined as the root value of the Merkle Tree, or other device linked to the information management server causes the root value of the Merkle Tree. To confirm,
(x3) if the parent node is not the root node of the Merkle tree, repeating the steps (x1) to (x2) using the parent nodes as the sibling nodes.
제19항에 있어서,
상기 프로세서는,
상기 제1 프로세스에서, 상기 리프 노드들 중 적어도 일부에 상기 프라이빗 데이터들 각각의 해쉬값들 또는 상기 프라이빗 데이터들 각각을 가공한 값에 해쉬함수를 적용하여 생성한 각각의 해쉬값들이 할당되지 않은 경우, 상기 프라이빗 데이터들 각각의 해쉬값 또는 상기 프라이빗 데이터들 각각을 가공한 값에 해쉬함수를 적용하여 생성한 각각의 해쉬값들이 할당되지 않은 상기 리프 노드들에 소정의 해쉬값을 할당하거나 상기 정보 관리 서버에 연동되는 타 장치로 하여금 상기 소정의 해쉬값이 할당하도록 지원하는 것을 특징으로 하는 정보 관리 서버.
The method of claim 19,
The processor,
In the first process, each hash value generated by applying a hash function to a hash value of each of the private data or a processed value of each of the private data is not assigned to at least some of the leaf nodes. And assigning a predetermined hash value to the leaf nodes to which the hash values generated by applying a hash function to the hash value of each of the private data or the processed data of the private data are not assigned. Information management server, characterized in that for supporting other devices linked to the server to assign the predetermined hash value.
블록체인 기반의 머클트리를 이용하여 정보를 관리하는 사용자 단말에 있어서,
사용자로부터 대상과 관련한 프라이빗 데이터들을 획득하는 통신부; 및
상기 통신부로부터 획득된 상기 프라이빗 데이터들 각각에 해쉬함수를 적용하여 생성한 각각의 해쉬값들 또는 상기 프라이빗 데이터들 각각을 가공한 값에 해쉬함수를 적용하여 생성한 각각의 해쉬값들이 각각의 리프 노드들 중 적어도 일부에 할당된 머클트리를 생성하는 제1 프로세스와, (i) 상기 머클트리의 루트값을 상기 대상의 식별 부호로 상기 대상에 대응하여 블록체인에 등록하거나 상기 머클트리의 정보를 상기 대상의 식별 부호로 상기 대상에 대응하여 상기 블록체인에 등록하는 프로세스, 및 (ii) 상기 사용자 단말에 연동되는 서버로 하여금 상기 머클트리의 루트값을 상기 대상의 식별 부호로 상기 대상에 대응하여 블록체인에 등록하도록 지원하거나 상기 머클트리의 정보를 상기 대상의 식별 부호로 상기 대상에 대응하여 상기 블록체인에 등록하도록 지원하는 프로세스 중 적어도 하나를 수행하는 제2 프로세스를 수행하는 프로세스를 수행하는 프로세서;
를 포함하는 것을 특징으로 하는 사용자 단말.
In the user terminal for managing information using a blockchain-based Merkle Tree,
A communication unit for obtaining private data related to an object from a user; And
Each hash value generated by applying a hash function to each of the private data obtained from the communication unit, or each hash value generated by applying a hash function to a processed value of each of the private data, is each leaf node. A first process of generating a Merkle tree assigned to at least some of them, and (i) registering the root value of the Merkle Tree in the blockchain corresponding to the object with an identification code of the object or storing the information of the Merkle tree; Registering with the blockchain corresponding to the object with an identification code of the object, and (ii) causing a server linked to the user terminal to block the root value of the Merkle Tree with the identification code of the object with the identification code of the object; The block body corresponding to the object by supporting registration in the chain or by using the identification code of the object in the Merkle Tree; The processor that performs a process for performing a second process for performing at least one of an application process to be registered with;
A user terminal comprising a.
제27항에 있어서,
상기 프로세서는,
상기 제1 프로세스에서, 상기 프라이빗 데이터들 중 특정 프라이빗 데이터에 대응하는 프리픽스값 - 상기 프리픽스값은 상기 특정 프라이빗 데이터 중 특정 범위 영역의 데이터를 대표화한 값 또는 상기 특정 프라이빗 데이터에 대한 신뢰도값임 - 과 상기 특정 프라이빗 데이터의 해쉬값을 포함하는 일부 공개 데이터를 생성하며, 상기 생성된 상기 일부 공개 데이터를 상기 특정 프라이빗 데이터에 대응되는 특정 리프 노드 하부에 대응되는 서브 데이터로서 등록하며, 상기 일부 공개 데이터에 해쉬함수를 적용하여 생성한 해쉬값을 상기 특정 리프 노드에 할당하는 것을 특징으로 하는 사용자 단말.
The method of claim 27,
The processor,
In the first process, a prefix value corresponding to specific private data among the private data, wherein the prefix value represents a value representing data of a specific range region among the specific private data or a reliability value for the specific private data. Generates some public data including a hash value of the specific private data, registers the generated some public data as sub data corresponding to a lower portion of a specific leaf node corresponding to the specific private data, and registers the partial public data in the partial public data. And a hash value generated by applying a hash function to the specific leaf node.
제28항에 있어서,
상기 프로세서는, 상기 특정 프라이빗 데이터에 대응하는 다수의 프리픽스값을 생성하며, 상기 다수의 프리픽스값 각각과 상기 특정 프라이빗 데이터에 대응되는 해쉬값을 포함하는 다중 레벨의 일부 공개 데이터들을 결정하며, 상기 다중 레벨의 일부 공개 데이터들을 상기 특정 리프 노드에 대응되는 서브 데이터로 등록하며, 상기 다중 레벨의 일부 공개 데이터들 중 적어도 일부에 해쉬함수를 적용하여 생성한 해쉬값을 상기 특정 리프 노드에 할당하는 것을 특징으로 하는 사용자 단말.
The method of claim 28,
The processor may generate a plurality of prefix values corresponding to the specific private data, determine a plurality of levels of some public data including each of the plurality of prefix values and a hash value corresponding to the specific private data. Registering some public data of a level as sub data corresponding to the specific leaf node, and assigning a hash value generated by applying a hash function to at least some of the plurality of public data of the multiple levels to the specific leaf node. User terminal.
제29항에 있어서,
상기 다중 레벨 일부 공개 데이터들은 하위 레벨로 갈수록 상기 특정 프라이빗 데이터 중 공개되는 범위가 넓어지며, 특정 레벨의 일부 공개 데이터는 (i) 상기 특정 레벨에 대응되는 특정 프리픽스값과 (ii) 상기 특정 레벨의 바로 하위 레벨의 일부 공개 데이터의 해쉬값 또는 상기 특정 프라이빗 데이터의 해쉬값을 포함하는 것을 특징으로 하는 사용자 단말.
The method of claim 29,
As the multi-level partial public data becomes lower level, the range of disclosure of the specific private data becomes wider, and some public data of a specific level includes (i) a specific prefix value corresponding to the specific level and (ii) the specific level. And a hash value of some public data at a lower level or a hash value of the specific private data.
제30항에 있어서,
상기 프로세서는, 상기 다중 레벨의 일부 공개 데이터들 중 최상위 레벨의 일부 공개 데이터에 해쉬함수를 적용하여 생성한 해쉬값을 상기 특정 리프 노드에 할당하는 것을 특징으로 하는 사용자 단말.
The method of claim 30,
The processor may be configured to allocate a hash value generated by applying a hash function to some public data of the highest level among some public data of the multi-level to the specific leaf node.
제27항에 있어서,
상기 프라이빗 데이터를 가공한 값은, 상기 프라이빗 데이터들 중 특정 프라이빗 데이터에 대응하는 프리픽스값 - 상기 프리픽스값은 상기 특정 프라이빗 데이터 중 특정 범위 영역의 정보를 대표화한 값 또는 상기 특정 프라이빗 데이터에 대한 신뢰도값임 - 과 상기 특정 프라이빗 데이터의 해쉬값을 포함하는 일부 공개 데이터인 것을 특징으로 하는 사용자 단말.
The method of claim 27,
The value of processing the private data is a prefix value corresponding to specific private data among the private data-the prefix value represents a value representing the information of a specific range region among the specific private data or the reliability of the specific private data. Is a value-and some public data including a hash value of the specific private data.
제27항에 있어서,
상기 프로세서는, 상기 제1 프로세스에서,
(x1) 상기 해쉬값이 할당된 노드들 중 서로 이웃하는 형제 노드들에 할당된 해쉬값들에 해쉬함수를 적용하여 해쉬값을 생성하고, 상기 생성된 해쉬값을 상기 형제 노드들의 부모 노드에 할당하며,
(x2) 상기 부모 노드가 상기 머클트리의 루트 노드이면, 상기 부모 노드에 할당된 해쉬값을 상기 머클트리의 루트값으로 확정하고,
(x3) 상기 부모 노드가 상기 머클트리의 루트 노드가 아니면, 상기 부모 노드들을 상기 형제 노드들로 하여 상기 (x1) 내지 (x2)를 반복하여 수행하는 것을 특징으로 하는 사용자 단말.
The method of claim 27,
The processor, in the first process,
(x1) generates a hash value by applying a hash function to hash values assigned to neighboring sibling nodes among the nodes to which the hash value is assigned, and assigns the generated hash value to a parent node of the sibling nodes ,
(x2) if the parent node is the root node of the Merkle Tree, the hash value assigned to the parent node is determined as the root value of the Merkle Tree,
(x3) if the parent node is not the root node of the Merkle tree, repeating the steps (x1) to (x2) by using the parent nodes as the sibling nodes.
제27항에 있어서,
상기 프로세서는,
상기 제1 프로세스에서, 상기 리프 노드들 중 적어도 일부에 상기 프라이빗 데이터들 각각의 해쉬값들 또는 상기 프라이빗 데이터들 각각을 가공한 값에 해쉬함수를 적용하여 생성한 각각의 해쉬값들이 할당되지 않은 경우, 상기 프라이빗 데이터들 각각의 해쉬값들 또는 상기 프라이빗 데이터들 각각을 가공한 값에 해쉬함수를 적용하여 생성한 각각의 해쉬값들이 할당되지 않은 상기 리프 노드들에 소정의 해쉬값을 할당하는 것을 특징으로 하는 사용자 단말.
The method of claim 27,
The processor,
In the first process, each hash value generated by applying a hash function to a hash value of each of the private data or a processed value of each of the private data is not assigned to at least some of the leaf nodes. And assigning a predetermined hash value to the leaf nodes to which the hash values generated by applying a hash function to the hash values of each of the private data or the processed values of the private data are not assigned. User terminal.
블록체인 기반의 머클트리를 이용하여 정보를 관리하는 서비스 제공 서버에 있어서,
대상과 관련한 프라이빗 데이터들 각각에 해쉬함수를 적용하여 생성한 해쉬값들 또는 상기 프라이빗 데이터들 각각을 가공한 값에 해쉬함수를 적용하여 생성한 각각의 해쉬값들이 각각의 리프 노드들 중 적어도 일부에 할당된 머클트리가 생성되고, 상기 머클트리의 루트값이 상기 대상의 식별 부호로 상기 대상에 대응하여 블록체인에 등록된 상태에서, 사용자 단말로부터 (i) 상기 대상과 관련한 프라이빗 데이터들 중 특정 프라이빗 데이터 또는 상기 특정 프라이빗 데이터를 가공한 값과 (ii) 상기 머클트리 중 상기 특정 프라이빗 데이터 또는 상기 특정 프라이빗 데이터를 가공한 값을 포함하지 않는 브랜치 노드 정보 중 적어도 일부를 획득하는 통신부; 및
상기 사용자 단말로부터 제공된 상기 특정 프라이빗 데이터 또는 상기 특정 프라이빗 데이터를 가공한 값에 해쉬함수를 적용하여 생성한 해쉬값과 상기 사용자 단말로부터 제공된 상기 브랜치 노드 정보를 참조하여 확인용 머클트리 루트값을 생성하는 제1 프로세스와, 상기 대상에 대응하여 상기 블록체인에 등록된 상기 대상의 식별 부호인 상기 머클트리의 루트값을 획득하며, 상기 블록체인에 등록된 상기 머클트리의 루트값과 상기 확인용 머클트리 루트값을 비교하여 상기 사용자 단말로부터 제공된 상기 특정 프라이빗 데이터 또는 상기 특정 프라이빗 데이터를 가공한 값의 진위를 확인하는 제2 프로세스를 수행하는 프로세서;
를 포함하는 것을 특징으로 하는 서비스 제공 서버.
In the service providing server for managing information using a blockchain-based Merkle Tree,
The hash values generated by applying the hash function to each of the private data related to the object or the hash values generated by applying the hash function to the processed values of the private data are applied to at least some of the leaf nodes. An allocated Merkle Tree is created, and the root value of the Merkle Tree is registered in the blockchain in correspondence with the object with the identification code of the object, from the user terminal (i) specific private data among the private data related to the object. A communication unit for obtaining at least a portion of data or the value of processing the specific private data and (ii) branch node information not including the value of processing the specific private data or the specific private data of the Merkle Tree; And
Generating a confirmation Merkle tree root value by referring to a hash value generated by applying a hash function to the specific private data provided from the user terminal or a processed value of the specific private data and the branch node information provided from the user terminal Obtaining a root value of the Merkle Tree, which is an identification code of the object registered in the blockchain in correspondence with the first process, and a root value of the Merkle Tree registered in the blockchain and the identification Merkle Tree; A processor configured to compare a root value and to verify the authenticity of the specific private data provided from the user terminal or a value obtained by processing the specific private data;
Service providing server comprising a.
블록체인 기반의 머클트리를 이용하여 정보를 관리하는 서비스 제공 서버에 있어서,
(a) 대상과 관련한 프라이빗 데이터들 각각에 해쉬함수를 적용하여 생성한 해쉬값들 또는 상기 프라이빗 데이터들 각각을 가공한 값에 해쉬함수를 적용하여 생성한 각각의 해쉬값들이 각각의 리프 노드들 중 적어도 일부에 할당된 머클트리가 생성되고, 상기 머클트리 정보가 상기 대상의 식별 부호로 상기 대상에 대응하여 블록체인에 등록된 상태에서, 사용자 단말로부터 상기 대상과 관련한 프라이빗 데이터들 중 특정 프라이빗 데이터를 획득하는 통신부; 및
상기 대상에 대응하여 상기 블록체인에 등록된 상기 머클트리의 정보를 획득하는 제1 프로세스와, 상기 머클트리 정보를 참조하여 상기 특정 프라이빗 데이터에 대응되는 위치의 특정 리프 노드에 상기 특정 프라이빗 데이터의 해쉬값을 할당하거나 상기 특정 프라이빗 데이터를 가공한 값에 해쉬함수를 적용하여 생성한 해쉬값을 할당하여 확인용 머클트리를 생성하며, 상기 확인용 머클트리의 루트값과 상기 블록체인으로부터 획득한 상기 머클트리 정보에서의 루트값을 비교하여 상기 사용자 단말로부터 획득된 상기 특정 프라이빗 데이터의 진위를 확인하는 제2 프로세스를 수행하는 프로세서;
를 포함하는 것을 특징으로 하는 서비스 제공 서버.
In the service providing server for managing information using a blockchain-based Merkle Tree,
(a) The hash values generated by applying a hash function to each of the private data related to the object or the hash values generated by applying the hash function to the processed values of each of the private data are among the leaf nodes. At least a portion of the Merkle Tree is generated, and the Merkle Tree information is registered in the blockchain in correspondence with the object with the identification code of the object. Acquisition communication unit; And
A first process of acquiring information of the Merkle Tree registered in the blockchain corresponding to the object; and a hash of the specific private data to a specific leaf node at a position corresponding to the specific private data with reference to the Merkle Tree information Assigns a value or assigns a hash value generated by applying a hash function to a processed value of the specific private data to generate a confirmation Merkle tree, and obtains the root value of the confirmation Merkle Tree and the Merkle obtained from the blockchain. A processor for performing a second process of checking the authenticity of the specific private data obtained from the user terminal by comparing a root value in tree information;
Service providing server comprising a.
KR1020180072330A 2018-06-22 2018-06-22 Method for managing information using merkle tree based on blockchain, server and terminal using the same KR20190095067A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180072330A KR20190095067A (en) 2018-06-22 2018-06-22 Method for managing information using merkle tree based on blockchain, server and terminal using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180072330A KR20190095067A (en) 2018-06-22 2018-06-22 Method for managing information using merkle tree based on blockchain, server and terminal using the same

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020180014749A Division KR101937188B1 (en) 2018-02-06 2018-02-06 Method for managing information using merkle tree based on blockchain, server and terminal using the same

Publications (1)

Publication Number Publication Date
KR20190095067A true KR20190095067A (en) 2019-08-14

Family

ID=67622047

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180072330A KR20190095067A (en) 2018-06-22 2018-06-22 Method for managing information using merkle tree based on blockchain, server and terminal using the same

Country Status (1)

Country Link
KR (1) KR20190095067A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110958324A (en) * 2019-12-12 2020-04-03 上海优扬新媒信息技术有限公司 Data processing method and device of block chain network
CN111444535A (en) * 2020-03-20 2020-07-24 苏州链原信息科技有限公司 Method, apparatus, and computer storage medium for generating aggregated data tags
KR102182750B1 (en) * 2019-09-16 2020-11-25 주식회사 마크애니 System and method for distributing data using block chain
CN115277080A (en) * 2022-06-22 2022-11-01 西安电子科技大学 Content distribution network cache pollution defense method based on Mercker tree

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102182750B1 (en) * 2019-09-16 2020-11-25 주식회사 마크애니 System and method for distributing data using block chain
US11669500B2 (en) 2019-09-16 2023-06-06 Markany, Inc. System and method for distributing data using block chain
CN110958324A (en) * 2019-12-12 2020-04-03 上海优扬新媒信息技术有限公司 Data processing method and device of block chain network
CN110958324B (en) * 2019-12-12 2023-12-19 度小满科技(北京)有限公司 Data processing method and device of block chain network
CN111444535A (en) * 2020-03-20 2020-07-24 苏州链原信息科技有限公司 Method, apparatus, and computer storage medium for generating aggregated data tags
CN111444535B (en) * 2020-03-20 2024-01-26 苏州链原信息科技有限公司 Method, apparatus and computer storage medium for generating aggregated data tag
CN115277080A (en) * 2022-06-22 2022-11-01 西安电子科技大学 Content distribution network cache pollution defense method based on Mercker tree
CN115277080B (en) * 2022-06-22 2023-11-14 西安电子科技大学 Content distribution network cache pollution defense method based on merck tree

Similar Documents

Publication Publication Date Title
KR101937188B1 (en) Method for managing information using merkle tree based on blockchain, server and terminal using the same
US10862870B2 (en) Privacy as a service by offloading user identification and network protection to a third party
US10454918B1 (en) Method for SSO service using PKI based on blockchain networks, and device and server using the same
US10776786B2 (en) Method for creating, registering, revoking authentication information and server using the same
US20210006410A1 (en) Method for providing virtual asset service based on decentralized identifier and virtual asset service providing server using them
KR102237014B1 (en) System and method for blockchain-based authentication
US10541991B2 (en) Method for OAuth service through blockchain network, and terminal and server using the same
KR101956486B1 (en) Method and system for facilitating terminal identifiers
JP6574168B2 (en) Terminal identification method, and method, system, and apparatus for registering machine identification code
KR20190095067A (en) Method for managing information using merkle tree based on blockchain, server and terminal using the same
KR102236341B1 (en) System and method for blockchain-based data management
US10204237B2 (en) Sensitive data service access
KR102252086B1 (en) Method for oauth service through blockchain, and terminal and server using the same
WO2021258898A1 (en) Device fingerprint generation method, apparatus and device, and storage medium
KR102227578B1 (en) Method for serving certificate based on zero knowledge proof by using blockchain network, and server and terminal for using them
CN111343298B (en) Method for generating IPv6 address, storage device and processing device
CN111147235B (en) Object access method and device, electronic equipment and machine-readable storage medium
KR102271201B1 (en) Method for maintaining private information on blockchain network and device thereof
KR20190114424A (en) Method for sso service through blockchain, and terminal and server using the same
KR102332004B1 (en) Method, system and non-transitory computer-readable recording medium for managing an account on blockchain network
JP2023521901A (en) Mobile application forgery/falsification detection method, computer program, computer-readable recording medium and computer device using user identifier and signature collection
KR102602086B1 (en) Operation server for safe phone service using qr code and its operation method
KR102666687B1 (en) Operating server for providing a safe phone service using qr code without exposing personal information by granting a communication authority level according to nickname and its operation method
CN113810516B (en) Method and system for searching true IP, readable storage medium and computer equipment
US20230073894A1 (en) Blockchain network-based virtual common id service method and service provision server using same

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
WITB Written withdrawal of application