KR102000244B1 - Blockchain system based on Zero Knowledge Proofs with Format-Preserving Encryption and control method thereof - Google Patents

Blockchain system based on Zero Knowledge Proofs with Format-Preserving Encryption and control method thereof Download PDF

Info

Publication number
KR102000244B1
KR102000244B1 KR1020190038485A KR20190038485A KR102000244B1 KR 102000244 B1 KR102000244 B1 KR 102000244B1 KR 1020190038485 A KR1020190038485 A KR 1020190038485A KR 20190038485 A KR20190038485 A KR 20190038485A KR 102000244 B1 KR102000244 B1 KR 102000244B1
Authority
KR
South Korea
Prior art keywords
data
terminal
block
key
key value
Prior art date
Application number
KR1020190038485A
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 KR1020190038485A priority Critical patent/KR102000244B1/en
Application granted granted Critical
Publication of KR102000244B1 publication Critical patent/KR102000244B1/en

Links

Images

Classifications

    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L2209/38
    • 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

Abstract

Disclosed in the present invention are a blockchain system based on zero-knowledge proof with format-preservation encryption and a control method thereof. In the present invention, data to be kept private due to privacy protection and the like among data to be registered in a blockchain network as a transaction are encrypted through the format-preservation encryption, the data to be kept private that are encrypted by the format-preservation encryption and publicly available data are registered in the blockchain network as a transaction. Therefore, a problem that data may be searched only by knowing a hash value since a key value of the existing block is composed of hash values can be solved by encrypting some content using the format-preservation encryption, so that monitoring data can be protected by using the zero-knowledge proof.

Description

형태보존 암호화가 적용된 영지식증명 기반의 블록체인 시스템 및 그의 제어 방법{Blockchain system based on Zero Knowledge Proofs with Format-Preserving Encryption and control method thereof}BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to a block-chain system based on zero-knowledge proof with shape-preserving encryption and a control method thereof.

본 발명은 형태보존 암호화가 적용된 영지식증명 기반의 블록체인 시스템 및 그의 제어 방법에 관한 것으로서, 특히 블록체인 네트워크에 트랜잭션으로 등록될 데이터 중에서 개인정보 보호 등을 이유로 비공개하고자 하는 데이터에 대해서 형태보존 암호화를 통해 암호화하고, 형태보존 암호화로 암호화된 비공개하고자 하는 데이터와 공개 가능한 데이터를 블록체인 네트워크에 트랜잭션으로 등록하는 형태보존 암호화가 적용된 영지식증명 기반의 블록체인 시스템 및 그의 제어 방법에 관한 것이다.The present invention relates to a block-chain system based on a zero-knowledge proof based on shape-preserving encryption and a control method thereof. More particularly, the present invention relates to a block- The present invention relates to a block-chain system based on a zero-knowledge proof based on shape-preserving encryption and a control method thereof, in which shape-preserving encryption is used to register private data and openable data encrypted with shape-preserving encryption as transactions in a block-chain network.

블록체인은 분산화된 거래장부` 방식이 도입된 거래 시스템을 의미한다.The block chain means a transaction system in which a `distributed transaction book` method is introduced.

즉, 블록체인은 거래 정보를 개인 간 거래(P2P) 네트워크에 분산해 거래장부에 기록하고 참가자가 공동 관리하는 방식으로, 기존의 중앙집중형 거래 기록 보관 방식보다 보안성이 높다. 또한, 상기 블록체인의 노드는 모두 특정 정보를 공유함으로써 체인이 형성되고, 이로 인해 투명성과 신뢰성을 보장하는 장점이 있다. 또한, 모두가 블록을 공유함으로써 높은 무결성을 가질 수 있게 한다.In other words, the block chain is more secure than the existing centralized transaction record keeping method, in which the transaction information is distributed to the personal transaction (P2P) network, recorded in the transaction book, and jointly managed by the participants. In addition, the nodes of the block chain all share specific information to form a chain, thereby ensuring transparency and reliability. It also allows everyone to have high integrity by sharing blocks.

이러한 블록체인의 경우, 현재 단순히 코인 위주에 적용되고 있어, 그 응용 범위에 한계가 있는 상태이다.In the case of such a block chain, it is currently applied only to coin-oriented, and its application range is limited.

또한, 이러한 블록체인의 특성은 개인정보보호에는 독이 될 수 있다. 악의적인 목적으로 개인에 대한 정보나 사진을 올리게 되면 삭제 및 위변조가 힘든 만큼 이를 지울 수도 없기 때문에 블록체인 네트워크상에서는 잊힐 권리를 요구하기 어렵다. 그뿐만 아니라 탈중앙화 특성이 있기 때문에 게시물 삭제를 요청할 수 있는 포털사 역할의 기관도 없다는 문제점이 있다.In addition, the characteristics of such a block chain can be poisonous to privacy protection. If you upload information or photos about a person for malicious purpose, you can not delete it because it is difficult to delete and forgery, so it is difficult to demand a right to forget on a block-chain network. In addition, there is also the problem that there is no portal agency role that can request post deletion because of decentralization characteristic.

그럼에도, 블록체인이 전자화폐 시스템뿐만 아니라 클라우드 저장 서비스, 블록체인 컴퓨팅 서비스, IOT(또는 사물인터넷) 등 다양한 분야에서 적용되고 있기 때문에 많은 양의 데이터가 블록체인에 등록되고 있고, 그 과정에서 개인정보에 대해 침해 사고가 발생할 수 있다.Nevertheless, since a block chain is applied to various fields such as a cloud storage service, a block chain computing service, an IOT (or the Internet of things) as well as an electronic money system, a large amount of data is registered in a block chain, An infringement accident may occur.

한국등록특허 제10-1680260호 [제목: 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법]Korean Patent No. 10-1680260 [Title: Authorized certificate issuing system based on block chain and method of issuing public certificate based on block chain using the same]

본 발명의 목적은 블록체인 네트워크에 트랜잭션으로 등록될 데이터 중에서 개인정보 보호 등을 이유로 비공개하고자 하는 데이터에 대해서 형태보존 암호화를 통해 암호화하고, 형태보존 암호화로 암호화된 비공개하고자 하는 데이터와 공개 가능한 데이터를 블록체인 네트워크에 트랜잭션으로 등록하는 형태보존 암호화가 적용된 영지식증명 기반의 블록체인 시스템 및 그의 제어 방법을 제공하는 데 있다.It is an object of the present invention to provide a method and apparatus for encrypting data to be privately secreted by using shape-preserving encryption among data to be registered as a transaction in a block-chain network for personal information protection and the like, Block-chain system based on zero-knowledge proof to which shape-preserving encryption is applied to register as a transaction in a block-chain network, and a control method thereof.

본 발명의 다른 목적은 블록체인의 블록의 키 값을 구성하는 해쉬값 대신에 형태보존 암호화가 적용된 데이터와 모니터링을 위한 데이터로 대체하여 구성하는 형태보존 암호화가 적용된 영지식증명 기반의 블록체인 시스템 및 그의 제어 방법을 제공하는 데 있다.Another object of the present invention is to provide a block chain system based on zero-knowledge proof with shape-preserving encryption configured by replacing data having shape-preserving encryption and data for monitoring instead of hash values constituting key values of blocks of a block- And to provide a control method thereof.

본 발명의 실시예에 따른 형태보존 암호화가 적용된 영지식증명 기반의 블록체인 시스템은 블록체인에 등록하고자 하는 정보 중에서 비공개하고자 하는 데이터와 공개 가능한 데이터를 확인하고, 상기 확인된 비공개하고자 하는 데이터에 대해서 미리 설정된 형태보존 암호화를 적용하여 암호화하고, 형태보존 암호화된 데이터와 상기 확인된 공개 가능한 데이터를 포함하는 신규 데이터를 생성하고, 상기 생성된 신규 데이터 및 단말의 식별 정보를 전송하는 단말; 및 상기 단말로부터 전송되는 신규 데이터에 대응하는 키 값을 블록체인 네트워크에 트랜잭션으로 등록하는 블록체인 서버를 포함할 수 있다.The block chain system based on the zero knowledge proof based on the shape preservation encryption according to the embodiment of the present invention confirms the data to be unlisted and the data that can be released from the information to be registered in the block chain, A terminal encrypting the data by applying predetermined shape-preserving encryption, generating new data including the shape-preserved encrypted data and the identified openable data, and transmitting the generated new data and the identification information of the terminal; And a block chain server for registering a key value corresponding to new data transmitted from the terminal into a block chain network as a transaction.

본 발명과 관련된 일 예로서 상기 블록체인 서버는, 상기 형태보존 암호화에 의해 암호화된 데이터와 상기 공개 가능한 데이터로 구성된 상기 신규 데이터를 블록의 키 값으로 등록할 수 있다.As an example related to the present invention, the block-chain server may register the data encrypted by the shape-preservation encryption and the new data composed of the releasable data as a key value of the block.

본 발명과 관련된 일 예로서 상기 블록체인 서버에 등록된 복수의 키 값 중에서 상기 신규 데이터와 관련한 키 값이 선택될 때 상기 블록체인 서버로부터 제공되는 상기 키 값을 수신하고, 상기 키 값에 포함된 형태보존 암호화에 의해 암호화된 데이터에 대한 대칭키가 없을 때, 상기 키 값 중에서 공개 정보로 설정된 공개 가능한 데이터의 내용을 표시하는 다른 단말을 더 포함할 수 있다.As an example related to the present invention, when a key value related to the new data is selected from among a plurality of key values registered in the block chain server, the key value provided from the block chain server is received, When the symmetric key for the data encrypted by the shape preserving encryption is absent, the other terminal displaying the contents of the openable data set as the public information among the key values.

본 발명의 실시예에 따른 형태보존 암호화가 적용된 영지식증명 기반의 블록체인 시스템의 제어 방법은 단말에 의해, 블록체인에 등록하고자 하는 정보 중에서 비공개하고자 하는 데이터와 공개 가능한 데이터를 확인하는 단계; 상기 단말에 의해, 상기 확인된 비공개하고자 하는 데이터에 대해서 미리 설정된 형태보존 암호화를 적용하여 암호화하는 단계; 상기 단말에 의해, 형태보존 암호화된 데이터와 상기 확인된 공개 가능한 데이터를 포함하는 신규 데이터를 생성하는 단계; 상기 단말에 의해, 상기 생성된 신규 데이터 및 상기 단말의 식별 정보를 전송하는 단계; 및 블록체인 서버에 의해, 상기 단말로부터 전송되는 신규 데이터를 블록의 키 값으로 블록체인 네트워크에 트랜잭션으로 등록하는 단계를 포함할 수 있다.According to an embodiment of the present invention, there is provided a control method of a block chain system based on a zero knowledge proof based on shape-preserving encryption, comprising: checking, by the terminal, data to be unlisted and releasable data among information to be registered in a block chain; Encrypting the confirmed data to be secretly applied by the terminal by applying preset shape-preserving encryption; Generating, by the terminal, new data including shape-preserved encrypted data and the identified openable data; Transmitting the generated new data and the identification information of the terminal by the terminal; And registering, by the block-chain server, new data transmitted from the terminal as a transaction in the block-chain network as a key value of the block.

본 발명과 관련된 일 예로서 다른 단말에 의해, 상기 블록체인 서버에 등록된 복수의 키 값 중에서 상기 신규 데이터와 관련한 키 값이 선택될 때, 상기 블록체인 서버로부터 제공되는 상기 키 값을 수신하는 단계; 상기 다른 단말에 의해, 상기 키 값에 포함된 형태보존 암호화에 의해 암호화된 데이터에 대응하는 미리 설정된 대칭키가 있을 때, 상기 키 값 중에서 상기 형태보존 암호화에 의해 암호화된 데이터를 상기 대칭키를 통해 복호화하여 표시하는 단계; 및 상기 다른 단말에 의해, 상기 키 값에 포함된 공개 정보로 설정된 공개 가능한 데이터의 내용을 복호화하여 표시하는 단계를 더 포함할 수 있다.As an example related to the present invention, when a key value related to the new data is selected from among a plurality of key values registered in the block chain server by another terminal, receiving the key value provided from the block chain server ; When there is a predetermined symmetric key corresponding to the data encrypted by the shape-preservation encryption included in the key value by the other terminal, data encrypted by the shape-preservation encryption from among the key values is transmitted through the symmetric key Decoding and displaying the decoded data; And decrypting and displaying the content of the releasable data set as the public information included in the key value by the another terminal.

본 발명은 블록체인 네트워크에 트랜잭션으로 등록될 데이터 중에서 개인정보 보호 등을 이유로 비공개하고자 하는 데이터에 대해서 형태보존 암호화를 통해 암호화하고, 형태보존 암호화로 암호화된 비공개하고자 하는 데이터와 공개 가능한 데이터를 블록체인 네트워크에 트랜잭션으로 등록함으로써, 기존의 블록의 키 값이 해쉬값으로 이루어져 있어 해쉬값을 알아야만 조회 가능한 문제점을 형태보존 암호화를 활용한 일부 내용에 대한 암호화를 통해 해결하고, 영지식증명을 이용하여 모니터링 데이터 또한 보호할 수 있는 효과가 있다.The present invention relates to a method and apparatus for encrypting data to be privately secreted by way of shape-preserving encryption among data to be registered as a transaction in a block-chain network due to privacy protection or the like, By registering as a transaction in the network, the key value of the existing block is composed of the hash value. Therefore, it is possible to solve the problem that can be inquired only by knowing the hash value by encrypting some contents using the shape preservation encryption, Data can also be protected.

또한, 본 발명은 블록체인의 블록의 키 값을 구성하는 해쉬값 대신에 형태보존 암호화가 적용된 데이터와 모니터링을 위한 데이터로 대체하여 구성함으로써, 블록의 데이터의 조회, 이력관리, 추적, 모니터링 및 통계 기능을 효율적으로 제공할 수 있는 효과가 있다.In addition, the present invention can replace the hash value constituting the key value of the block of the block chain with the data to which the shape preservation encryption is applied and the data for monitoring, so that the data retrieval, history management, tracking, So that the function can be efficiently provided.

도 1은 본 발명의 실시예에 따른 형태보존 암호화가 적용된 영지식증명 기반의 블록체인 시스템의 구성을 나타낸 블록도이다.
도 2는 본 발명의 실시예에 따른 단말의 구성을 나타낸 블록도이다.
도 3은 본 발명의 실시예에 따른 형태보존 암호화 알고리즘의 예를 나타낸 도이다.
도 4는 본 발명의 실시예에 따른 형태보존 암호화가 적용된 영지식증명 기반의 블록체인 시스템의 제어 방법을 나타낸 흐름도이다.
도 5는 본 발명의 실시예에 따른 원본 데이터의 형식의 예를 나타낸 도이다.
도 6은 본 발명의 실시예에 따른 형태보존 암호화가 적용된 신규 데이터의 형식의 예를 나타낸 도이다.
FIG. 1 is a block diagram illustrating a configuration of a block-chain system based on a zero-knowledge proof applying shape preservation encryption according to an embodiment of the present invention.
2 is a block diagram illustrating a configuration of a UE according to an embodiment of the present invention.
3 is a diagram illustrating an example of a shape preservation encryption algorithm according to an embodiment of the present invention.
4 is a flowchart illustrating a method of controlling a block chain system based on a zero knowledge proof applied with shape preservation encryption according to an embodiment of the present invention.
5 is a diagram illustrating an example of a format of original data according to an embodiment of the present invention.
6 is a diagram illustrating an example of a format of new data to which shape preservation encryption is applied according to an embodiment of the present invention.

본 발명에서 사용되는 기술적 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It is noted that the technical terms used in the present invention are used only to describe specific embodiments and are not intended to limit the present invention. In addition, the technical terms used in the present invention should be construed in a sense generally understood by a person having ordinary skill in the art to which the present invention belongs, unless otherwise defined in the present invention, Should not be construed to mean, or be interpreted in an excessively reduced sense. In addition, when a technical term used in the present invention is an erroneous technical term that does not accurately express the concept of the present invention, it should be understood that technical terms that can be understood by a person skilled in the art can be properly understood. In addition, the general terms used in the present invention should be interpreted according to a predefined or prior context, and should not be construed as being excessively reduced.

또한, 본 발명에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 발명에서 "구성된다" 또는 "포함한다" 등의 용어는 발명에 기재된 여러 구성 요소들 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.Furthermore, the singular expressions used in the present invention include plural expressions unless the context clearly dictates otherwise. The term "comprising" or "comprising" or the like in the present invention should not be construed as necessarily including the various elements or steps described in the invention, Or may further include additional components or steps.

또한, 본 발명에서 사용되는 제 1, 제 2 등과 같이 서수를 포함하는 용어는 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성 요소는 제 2 구성 요소로 명명될 수 있고, 유사하게 제 2 구성 요소도 제 1 구성 요소로 명명될 수 있다.Furthermore, terms including ordinals such as first, second, etc. used in the present invention can be used to describe elements, but the elements should not be limited by terms. Terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings, wherein like reference numerals refer to like or similar elements throughout the several views, and redundant description thereof will be omitted.

또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. It is to be noted that the accompanying drawings are only for the purpose of facilitating understanding of the present invention, and should not be construed as limiting the scope of the present invention with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 따른 형태보존 암호화가 적용된 영지식증명 기반의 블록체인 시스템(10)의 구성을 나타낸 블록도이다.FIG. 1 is a block diagram showing the configuration of a block-chain system 10 based on a zero knowledge proof applying shape preservation encryption according to an embodiment of the present invention.

도 1에 도시한 바와 같이, 형태보존 암호화가 적용된 영지식증명 기반의 블록체인 시스템(10)은 단말(100), 블록체인 서버(200) 및 다른 단말(300)로 구성된다. 도 1에 도시된 블록체인 시스템(10)의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 1에 도시된 구성 요소보다 많은 구성 요소에 의해 블록체인 시스템(10)이 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 블록체인 시스템(10)이 구현될 수도 있다.As shown in FIG. 1, a block chain system 10 based on a zero knowledge proof based on shape-preserving encryption is composed of a terminal 100, a block-chain server 200, and other terminals 300. Not all of the components of the block chain system 10 shown in Fig. 1 are essential components, and the block chain system 10 may be implemented by more components than the components shown in Fig. 1, The block chain system 10 may also be implemented by components.

상기 단말(100) 및 상기 다른 단말(300)은 스마트 폰(Smart Phone), 휴대 단말기(Portable Terminal), 이동 단말기(Mobile Terminal), 폴더블 단말기(Foldable Terminal), 개인 정보 단말기(Personal Digital Assistant: PDA), PMP(Portable Multimedia Player) 단말기, 텔레매틱스(Telematics) 단말기, 내비게이션(Navigation) 단말기, 개인용 컴퓨터(Personal Computer), 노트북 컴퓨터, 슬레이트 PC(Slate PC), 태블릿 PC(Tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(Wearable Device, 예를 들어, 워치형 단말기(Smartwatch), 글래스형 단말기(Smart Glass), HMD(Head Mounted Display) 등 포함), 와이브로(Wibro) 단말기, IPTV(Internet Protocol Television) 단말기, 스마트 TV, 디지털방송용 단말기, AVN(Audio Video Navigation) 단말기, A/V(Audio/Video) 시스템, 플렉시블 단말기(Flexible Terminal), 디지털 사이니지 장치 등과 같은 다양한 단말기에 적용될 수 있다.The terminal 100 and the other terminal 300 may be a smart phone, a portable terminal, a mobile terminal, a foldable terminal, a personal digital assistant (PDA), a portable multimedia player (PMP) terminal, a telematics terminal, a navigation terminal, a personal computer, a notebook computer, a slate PC, a tablet PC, ultrabook, a wearable device such as a smartwatch, a smart glass, a head mounted display (HMD), a wibro terminal, an internet protocol television (IPTV) The present invention can be applied to various terminals such as terminals, smart TVs, digital broadcasting terminals, AVN (Audio Video Navigation) terminals, A / V (Audio / Video) systems, flexible terminals and digital signage devices.

도 2에 도시한 바와 같이, 상기 단말(100)은 통신부(110), 저장부(120), 표시부(130), 음성 출력부(140) 및 제어부(150)로 구성된다. 도 2에 도시된 단말(100)의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 2에 도시된 구성 요소보다 많은 구성 요소에 의해 단말(100)이 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 단말(100)이 구현될 수도 있다.2, the terminal 100 includes a communication unit 110, a storage unit 120, a display unit 130, a voice output unit 140, and a control unit 150. Not all the components of the terminal 100 shown in Fig. 2 are essential components, and the terminal 100 may be implemented by more components than the components shown in Fig. 2, The terminal 100 may be implemented.

상기 통신부(110)는 유/무선 통신망을 통해 내부의 임의의 구성 요소 또는 외부의 임의의 적어도 하나의 단말기와 통신 연결한다. 이때, 상기 외부의 임의의 단말기는 상기 블록체인 서버(200), 상기 다른 단말(300) 등을 포함할 수 있다. 여기서, 무선 인터넷 기술로는 무선랜(Wireless LAN: WLAN), DLNA(Digital Living Network Alliance), 와이브로(Wireless Broadband: Wibro), 와이맥스(World Interoperability for Microwave Access: Wimax), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), IEEE 802.16, 롱 텀 에볼루션(Long Term Evolution: LTE), LTE-A(Long Term Evolution-Advanced), 광대역 무선 이동 통신 서비스(Wireless Mobile Broadband Service: WMBS) 등이 있으며, 상기 통신부(110)는 상기에서 나열되지 않은 인터넷 기술까지 포함한 범위에서 적어도 하나의 무선 인터넷 기술에 따라 데이터를 송수신하게 된다. 또한, 근거리 통신 기술로는 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association: IrDA), UWB(Ultra Wideband), 지그비(ZigBee), 인접 자장 통신(Near Field Communication: NFC), 초음파 통신(Ultra Sound Communication: USC), 가시광 통신(Visible Light Communication: VLC), 와이 파이(Wi-Fi), 와이 파이 다이렉트(Wi-Fi Direct) 등이 포함될 수 있다. 또한, 유선 통신 기술로는 전력선 통신(Power Line Communication: PLC), USB 통신, 이더넷(Ethernet), 시리얼 통신(serial communication), 광/동축 케이블 등이 포함될 수 있다.The communication unit 110 communicates with at least one terminal of an external arbitrary component through a wired / wireless communication network. At this time, the external arbitrary terminal may include the block chain server 200, the other terminal 300, and the like. Here, the wireless Internet technology includes a wireless LAN (WLAN), a digital living network alliance (DLNA), a wireless broadband (Wibro), a world interoperability for a microwave (WiMAX), a high speed downlink packet access ), HSUPA (High Speed Uplink Packet Access), IEEE 802.16, Long Term Evolution (LTE), Long Term Evolution-Advanced (LTE-A), Wireless Mobile Broadband Service (WMBS) And the communication unit 110 transmits and receives data according to at least one wireless Internet technology in a range including Internet technologies not listed above. In addition, the near field communication technology includes Bluetooth, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), UWB (Ultra Wideband), ZigBee, Near Field Communication (NFC) , Ultra Sound Communication (USC), Visible Light Communication (VLC), Wi-Fi, and Wi-Fi Direct. The wired communication technology may include a power line communication (PLC), a USB communication, an Ethernet, a serial communication, an optical / coaxial cable, and the like.

또한, 상기 통신부(110)는 유니버설 시리얼 버스(Universal Serial Bus: USB)를 통해 임의의 단말과 정보를 상호 전송할 수 있다.In addition, the communication unit 110 can transmit information with an arbitrary terminal through a universal serial bus (USB).

또한, 상기 통신부(110)는 이동통신을 위한 기술표준들 또는 통신방식(예를 들어, GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등)에 따라 구축된 이동 통신망 상에서 기지국, 상기 블록체인 서버(200), 상기 다른 단말(300) 등과 무선 신호를 송수신한다.In addition, the communication unit 110 may be a mobile communication system such as a mobile communication system, a mobile communication system, a mobile communication system, a mobile communication system, a mobile communication system, (Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), Wideband CDMA (WCDMA), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), Long Term Evolution The block-chain server 200, the other terminal 300, and the like on a mobile communication network constructed according to a long-term evolution-advanced (Long Term Evolution-Advanced)

또한, 상기 통신부(110)는 상기 제어부(150)의 제어에 의해, 상기 블록체인 서버(200)로부터 제공되는 다양한 정보 등을 수신한다.The communication unit 110 receives various information provided from the block chain server 200 under the control of the control unit 150. [

상기 저장부(120)는 다양한 사용자 인터페이스(User Interface: UI), 그래픽 사용자 인터페이스(Graphic User Interface: GUI) 등을 저장한다.The storage unit 120 stores various user interfaces (UI), a graphical user interface (GUI), and the like.

또한, 상기 저장부(120)는 상기 단말(100)이 동작하는데 필요한 데이터와 프로그램 등을 저장한다.Also, the storage unit 120 stores data and programs necessary for the terminal 100 to operate.

즉, 상기 저장부(120)는 상기 단말(100)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 단말(100)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다. 또한, 이러한 응용 프로그램 중 적어도 일부는 단말(100)의 기본적인 기능을 위하여 출고 당시부터 단말(100) 상에 존재할 수 있다. 한편, 응용 프로그램은 상기 저장부(120)에 저장되고, 단말(100)에 설치되어, 제어부(150)에 의하여 상기 단말(100)의 동작(또는 기능)을 수행하도록 구동될 수 있다.That is, the storage unit 120 may store a plurality of application programs or applications that are driven by the terminal 100, data for operation of the terminal 100, and commands. At least some of these applications may be downloaded from an external server via wireless communication. At least some of these application programs may exist on the terminal 100 from the time of shipment for the basic function of the terminal 100. [ The application program may be stored in the storage unit 120 and may be installed in the terminal 100 and may be operated by the control unit 150 to perform the operation (or function) of the terminal 100.

또한, 상기 저장부(120)는 플래시 메모리 타입(Flash Memory Type), 하드 디스크 타입(Hard Disk Type), 멀티미디어 카드 마이크로 타입(Multimedia Card Micro Type), 카드 타입의 메모리(예를 들면, SD 또는 XD 메모리 등), 자기 메모리, 자기 디스크, 광디스크, 램(Random Access Memory: RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory: ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory) 중 적어도 하나의 저장매체를 포함할 수 있다. 또한, 단말(100)은 인터넷(internet)상에서 저장부(120)의 저장 기능을 수행하는 웹 스토리지(web storage)를 운영하거나, 또는 상기 웹 스토리지와 관련되어 동작할 수도 있다.The storage unit 120 may be a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (for example, SD or XD A random access memory (SRAM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic random access memory And a PROM (Programmable Read-Only Memory). In addition, the terminal 100 may operate a web storage that performs a storage function of the storage unit 120 on the Internet, or may operate in association with the web storage.

또한, 상기 저장부(120)는 상기 제어부(150)의 제어에 의해 상기 수신된 다양한 정보 등을 저장한다.Also, the storage unit 120 stores the received various information under the control of the controller 150.

상기 표시부(또는 디스플레이부)(130)는 상기 제어부(150)의 제어에 의해 상기 저장부(120)에 저장된 사용자 인터페이스 및/또는 그래픽 사용자 인터페이스를 이용하여 다양한 메뉴 화면 등과 같은 다양한 콘텐츠를 표시할 수 있다. 여기서, 상기 표시부(130)에 표시되는 콘텐츠는 다양한 텍스트 또는 이미지 데이터(각종 정보 데이터 포함)와 아이콘, 리스트 메뉴, 콤보 박스 등의 데이터를 포함하는 메뉴 화면 등을 포함한다. 또한, 상기 표시부(130)는 터치 스크린 일 수 있다.The display unit 130 may display various contents such as various menu screens by using the user interface and / or graphical user interface stored in the storage unit 120 under the control of the controller 150 have. Here, the content displayed on the display unit 130 includes various text or image data (including various information data), a menu screen including data such as an icon, a list menu, and a combo box. Also, the display unit 130 may be a touch screen.

또한, 상기 표시부(130)는 액정 디스플레이(Liquid Crystal Display: LCD), 박막 트랜지스터 액정 디스플레이(Thin Film Transistor-Liquid Crystal Display: TFT LCD), 유기 발광 다이오드(Organic Light-Emitting Diode: OLED), 플렉시블 디스플레이(Flexible Display), 3차원 디스플레이(3D Display), 전자잉크 디스플레이(e-ink display), LED(Light Emitting Diode) 중에서 적어도 하나를 포함할 수 있다.The display unit 130 may be a liquid crystal display (LCD), a thin film transistor-liquid crystal display (TFT LCD), an organic light-emitting diode (OLED) And may include at least one of a flexible display, a 3D display, an e-ink display, and an LED (Light Emitting Diode).

또한, 상기 표시부(130)는 상기 제어부(150)의 제어에 의해 상기 수신된 다양한 정보 등을 표시한다.In addition, the display unit 130 displays the received various information under the control of the controller 150.

상기 음성 출력부(140)는 상기 제어부(150)에 의해 소정 신호 처리된 신호에 포함된 음성 정보를 출력한다. 여기서, 상기 스피커(140)에는 리시버(receiver), 스피커(speaker), 버저(buzzer) 등이 포함될 수 있다.The voice output unit 140 outputs voice information included in the signal processed by the controller 150. [ Here, the speaker 140 may include a receiver, a speaker, a buzzer, and the like.

또한, 상기 음성 출력부(140)는 상기 제어부(150)에 의해 생성된 안내 음성을 출력한다.Also, the voice output unit 140 outputs the guidance voice generated by the controller 150.

또한, 상기 음성 출력부(140)는 상기 제어부(150)의 제어에 의해 상기 수신된 다양한 정보 등에 대응하는 음성 정보(또는 음향 효과)를 출력한다.In addition, the sound output unit 140 outputs sound information (or a sound effect) corresponding to the received various information or the like under the control of the controller 150.

상기 제어부(controller, 또는 MCU(microcontroller unit)(150)는 상기 단말(100)의 전반적인 제어 기능을 실행한다.The controller or microcontroller unit (MCU) 150 performs an overall control function of the terminal 100.

또한, 상기 제어부(150)는 상기 저장부(120)에 저장된 프로그램 및 데이터를 이용하여 단말(100)의 전반적인 제어 기능을 실행한다. 상기 제어부(150)는 RAM, ROM, CPU, GPU, 버스를 포함할 수 있으며, RAM, ROM, CPU, GPU 등은 버스를 통해 서로 연결될 수 있다. CPU는 상기 저장부(120)에 액세스하여, 상기 저장부(120)에 저장된 O/S를 이용하여 부팅을 수행할 수 있으며, 상기 저장부(120)에 저장된 각종 프로그램, 콘텐츠, 데이터 등을 이용하여 다양한 동작을 수행할 수 있다.Also, the controller 150 performs an overall control function of the terminal 100 using the program and data stored in the storage unit 120. [ The controller 150 may include a RAM, a ROM, a CPU, a GPU, and a bus, and the RAM, the ROM, the CPU, and the GPU may be connected to each other via a bus. The CPU accesses the storage unit 120 and can perform booting using the O / S stored in the storage unit 120. The CPU can use various programs, contents, data stored in the storage unit 120 So that various operations can be performed.

또한, 상기 제어부(150)는 상기 블록체인 서버(200)와의 연동에 의해, 상기 블록체인 서버(200)에서 제공하는 전용 앱을 통해 다양한 정보를 블록에 등록하거나, 블록체인에 등록된 블록(또는 정보/키 값)을 확인하기 위한 사용자로 회원 가입하며, 개인 정보 등을 상기 블록체인 서버(200)에 등록한다.In addition, the control unit 150 may register various information in a block through a dedicated application provided by the block-chain server 200 by interlocking with the block-chain server 200, Information / key value), and registers personal information and the like in the block-chain server 200. [

또한, 상기 제어부(150)는 해당 단말(100)의 사용자가 가입한 SNS 계정 정보를 이용하여 상기 블록체인 서버(200)에 사용자로 회원 가입할 수도 있다. 여기서, 상기 SNS 계정은 페이스북, 트위터, 카카오 스토리 등과 관련한 정보일 수 있다.Also, the controller 150 can register as a user to the block-chain server 200 by using the SNS account information registered by the user of the corresponding terminal 100. Here, the SNS account may be information related to Facebook, Twitter, cacao story, and the like.

또한, 회원 가입 절차 수행 시, 상기 제어부(150)는 본인 인증 수단(예를 들어 이동 전화, 신용카드, 아이핀 등 포함)을 통한 인증 기능을 완료해야 상기 블록체인 서버(200)에 대한 회원 가입 절차를 정상적으로 완료할 수 있다.In addition, when performing the membership registration procedure, the controller 150 must complete the authentication function through the authentication means (for example, mobile phone, credit card, Ipfin, etc.) Can normally be completed.

또한, 회원 가입이 완료된 후, 상기 제어부(150)는 상기 블록체인 서버(200)에서 제공하는 서비스를 이용하기 위해서, 상기 블록체인 서버(200)로부터 제공되는 전용 앱(또는 애플리케이션/응용 프로그램/특정 앱)을 해당 단말(100)에 설치한다. 이때, 상기 전용 앱은 정보를 블록체인에 등록하거나 또는 블록체인에 등록된 정보를 확인하기 위한 앱일 수 있다.After the subscription is completed, the controller 150 transmits a dedicated application (or an application / application program / specific application) provided from the block chain server 200 to the service provided by the block chain server 200 App) in the terminal 100. At this time, the dedicated application may be an app for registering information in a block chain or for checking information registered in a block chain.

또한, 상기 단말(100)에 설치된 전용 앱이 단말(100)의 사용자 선택(또는 사용자 터치/제어)에 따라 실행되는 경우, 상기 제어부(150)는 앱 실행 결과 화면을 상기 표시부(130)에 표시한다. 여기서, 상기 앱 실행 결과 화면은 해당 전용 앱과 관련한 블록체인 서버(200)에서 제공하는 부가 정보를 확인하기 위한 부가 메뉴(또는 항목/버튼), 정보를 등록하기 위한 등록 메뉴, 등록된 정보를 확인하기 위한 확인 메뉴, 해당 단말(100)의 사용자와 관련한 개인 정보를 설정하거나 해당 전용 앱에 대한 기능을 설정하기 위한 설정 메뉴 등을 포함한다.When the dedicated application installed in the terminal 100 is executed according to the user selection (or user touch / control) of the terminal 100, the control unit 150 displays the application execution result screen on the display unit 130 do. Here, the application execution result screen includes an additional menu (or item / button) for confirming the additional information provided by the block chain server 200 related to the dedicated application, a registration menu for registering the information, A setting menu for setting personal information related to the user of the terminal 100 or setting a function for the corresponding dedicated application, and the like.

또한, 상기 제어부(150)는 블록체인에 등록하고자 하는 하나의 정보 또는 파일 중에서 비공개하고자 하는 데이터(또는 내용/영역)와 공개 가능한 데이터(또는 모니터링을 위한 데이터)를 확인한다. 이때, 상기 블록체인에 등록하고자 하는 정보는 임의의 형식의 데이터이거나 또는 하나 이상의 데이터를 포함하는 파일일 수 있다.In addition, the controller 150 identifies data (or content / area) to be unlisted and data (or data for monitoring) that can be disclosed from among one information or files to be registered in the block chain. At this time, the information to be registered in the block chain may be any type of data or a file including one or more data.

또한, 상기 제어부(150)는 상기 확인된 비공개하고자 하는 데이터에 대해서 도 3에 도시된 미리 설정된 형태보존 암호화(Format-Preserving Encryption: FPE)를 적용하여 암호화한다. 이때, 해당 형태보존 암호화 방식은 대칭키 기반의 암호화 알고리즘으로, 암호화 및 복호화에 같은 키를 사용한다.Also, the controller 150 encrypts the data to be secreted by applying the preset Format-Preserving Encryption (FPE) shown in FIG. At this time, the shape preserving encryption method is a symmetric key based encryption algorithm, and uses the same key for encryption and decryption.

즉, 상기 제어부(150)는 상기 확인된 비공개하고자 하는 데이터에 대해서 상기 형태보존 암호화에 사용되는 미리 설정된 대칭키를 이용해서 상기 비공개하고자 하는 데이터를 암호화할 수 있다.That is, the control unit 150 can encrypt the data to be unlisted using the predetermined symmetric key used for the shape preserving encryption with respect to the confirmed non-disclosure data.

여기서, 상기 형태보존 암호화 방식(FPE)은 generalized-feistel cipher 형식의 FPE를 사용하며, 사이클 워킹 치퍼(cycle walking cipher)처럼 원본 형태와 비슷한 형태가 나올 때까지 페이스텔 네트워크(feistel network)를 반복 수행하여 데이터를 암호화한다.Here, the shape preserving cipher (FPE) uses a generalized-feistel cipher type FPE, and repeats the feistel network until a form similar to the original form is obtained, such as a cycle walking cipher And encrypts the data.

또한, 상기 제어부(150)는 상기 형태보존 암호화된 데이터와 상기 확인된 공개 가능한 데이터를 포함하는 신규 데이터(또는 신규 정보/신규 파일)를 생성한다.In addition, the control unit 150 generates new data (or new information / new file) including the shape-preserved encrypted data and the identified openable data.

즉, 상기 제어부(150)는 상기 블록체인에 등록할 원본 데이터에 대해서 블록체인의 블록의 키 값을 상기 형태보존 암호화된 데이터와 상기 확인된 공개 가능한 데이터(또는 모니터링을 위한 데이터)로 구성한다. 이때, 키 값은 미리 설정된 크기의 고유한 값일 수 있다.That is, the controller 150 configures the key value of the block in the block chain as the shape-preserved encrypted data and the identified openable data (or data for monitoring) with respect to the original data to be registered in the block chain. At this time, the key value may be a unique value of a predetermined size.

또한, 상기 제어부(150)는 미리 구성된 매뉴얼에 따라 상기 암호화된 데이터와 상기 모니터링을 위한 데이터의 위치를 설정(또는 결정)한다.In addition, the control unit 150 sets (or determines) the encrypted data and the position of the data for monitoring according to a manual that is configured in advance.

예를 들어, 전체 17비트의 신규 데이터에 대해서, 0 자리 ~ 11 자리까지는 상기 암호화된 데이터로 구성하고, 12 자리 ~ 16 자리까지는 상기 모니터링을 위한 데이터로 구성한다.For example, from 0 to 11 digits, the encrypted data is composed of 17 bits of new data, and 12 to 16 digits are composed of the data for monitoring.

또한, 상기 제어부(150)는 상기 블록체인 서버(200)에 등록된 신규 데이터에 대해서 상기 모니터링을 위한 데이터를 통해 조회 관리, 이력 관리, 데이터 통계 관리 등의 기능을 수행할 수 있다.In addition, the controller 150 may perform inquiry management, history management, data statistics management, and the like on the new data registered in the block chain server 200 through the monitoring data.

또한, 상기 제어부(150)는 지케이스나크(zkSnarks) 영지식증명을 통해 증명자가 공개하고 싶지 않은 내용을 담은 이전의 수식을 계산을 통해 QAP(이차산술프로그램)로 변환할 수 있다.In addition, the controller 150 may convert the previous expression containing contents that the certifier does not want to disclose to the QAP (secondary arithmetic program) through the calculation through the proof of case zkSnarks.

이에 따라, 구체적으로 해당 정보가 어떤 정보인지는 알 수 없으나, 해당 정보에 대한 사실 여부를 확인해줄 수 있는 결과값이 도출될 수 있다.Accordingly, although it is not known what information the corresponding information is, it is possible to derive a result value that can confirm whether the information is true or not.

즉, 모니터링을 위한 데이터(또는 공개 설정된 데이터)를 영지식증명을 활용하여 결과값만 받으며, 수집된 데이터로 전자 문서 관리 시스템의 통계 도출에 이용할 수 있다.In other words, data for monitoring (or open data) is received using only the results of the zero knowledge proof, and the collected data can be used to derive statistics of the electronic document management system.

이와 같이, 파일 형태로 전자 문서가 관리되는 경우, 해당 파일 형태의 전자 문서에 대해서 데이터 모니터링 및 통계 기능을 제공할 수 있다.In this manner, when an electronic document is managed in a file format, data monitoring and statistical functions can be provided for the electronic document in the file format.

또한, 상기 제어부(150)는 상기 생성된 신규 데이터, 상기 단말(100)의 식별 정보 등을 블록체인 서버(200)에 전송한다. 여기서, 상기 단말(100)의 식별 정보는 MDN(Mobile Directory Number), 모바일 IP, 모바일 MAC, Sim(subscriber identity module: 가입자 식별 모듈) 카드 고유정보, 시리얼번호 등을 포함한다.In addition, the controller 150 transmits the generated new data, the identification information of the terminal 100, and the like to the block chain server 200. The identification information of the terminal 100 includes a mobile directory number (MDN), a mobile IP, a mobile MAC, a SIM (subscriber identity module) card unique information, and a serial number.

상기 블록체인 서버(200)는 상기 단말(100), 상기 다른 단말(300) 등과 통신한다.The block chain server 200 communicates with the terminal 100, the other terminal 300, and the like.

또한, 상기 블록체인 서버(200)는 상기 단말(100)을 구성하는 상기 통신부(110), 상기 저장부(120), 상기 표시부(130), 상기 음성 출력부(140), 상기 제어부(150)에 대응하는 각 구성 요소를 포함하여 구성할 수 있다.The block chain server 200 includes the communication unit 110, the storage unit 120, the display unit 130, the audio output unit 140, the control unit 150, As shown in FIG.

또한, 상기 블록체인 서버(200)는 상기 단말(100), 상기 다른 단말(300) 등의 사용자에 대한 회원 가입 절차 등을 수행한다.In addition, the block-chain server 200 performs a membership registration procedure for the user of the terminal 100, the other terminal 300, and the like.

또한, 상기 블록체인 서버(200)는 상기 단말(100), 상기 다른 단말(300) 등의 사용자와 관련한 개인 정보를 등록한다. 이때, 상기 블록체인 서버(200)는 해당 개인 정보 등을 DB 서버(미도시)에 등록(또는 관리)할 수 있다.In addition, the block-chain server 200 registers personal information related to the user of the terminal 100, the other terminal 300, and the like. At this time, the block-chain server 200 may register (or manage) the personal information and the like in the DB server (not shown).

또한, 상기 블록체인 서버(200)는 상기 단말(100)의 사용자 및 상기 다른 단말(300)의 사용자에 대한 회원 관리 기능을 수행한다.In addition, the block-chain server 200 performs a member management function for a user of the terminal 100 and a user of the other terminal 300. [

또한, 상기 블록체인 서버(200)는 해당 블록체인 서버(200)에서 관리하는 다양한 정보를 제공하거나 특정 정보를 블록체인에 등록하거나 조회하기 위한 전용 앱을 상기 단말(100), 상기 다른 단말(300) 등에 제공한다.In addition, the block-chain server 200 transmits a dedicated application for providing various information managed by the corresponding block-chain server 200 or for registering or inquiring specific information in a block chain, through the terminal 100, the other terminal 300 ).

또한, 상기 블록체인 서버(200)는 상기 단말(100)로부터 전송되는 신규 데이터, 상기 단말(100)의 식별 정보 등을 수신한다. 이때, 상기 신규 데이터는 전체 정보 중에서 형태보존 암호화에 의해 암호화된 데이터와 공개 가능한 데이터로 구성된 상태일 수 있다.Also, the block-chain server 200 receives new data transmitted from the terminal 100, identification information of the terminal 100, and the like. At this time, the new data may be composed of data encrypted by shape-preservation encryption and data that can be disclosed from among all the information.

또한, 상기 블록체인 서버(200)는 상기 수신된 신규 데이터를 해당 신규 데이터와 관련한 블록의 키 값으로 블록체인에 등록(또는 저장)한다.In addition, the block-chain server 200 registers (or stores) the received new data in a block chain with a key value of a block related to the new data.

즉, 상기 블록체인 서버(200)는 상기 수신된 형태보존 암호화에 의해 암호화된 데이터와 공개 가능한 데이터를 포함하는 신규 데이터를 해당 신규 데이터와 관련한 블록의 키 값으로 블록체인 네트워크에 트랜잭션으로 등록한다. 이때, 해당 블록의 데이터는 전자문서 위변조 확인을 위해 저장하고자 하는 데이터에 따라 형태보존 암호화, SHA-256 등으로 암호화된 상태일 수 있다.That is, the block-chain server 200 registers new data including data encrypted by the received shape-preserving encryption and releasable data as a transaction in a block-chain network with a key value of a block related to the new data. At this time, the data of the corresponding block may be encrypted with shape-preserving encryption, SHA-256 or the like according to data to be stored for confirmation of forgery of electronic document.

상기 블록체인은 탈중앙화된(De-centralized) 데이터베이스의 개념이다. 즉, 상기 블록체인은 어느 한 주체가 시스템을 장악하지 않고 네트워크에 참여한 모든 노드(Node) 간의 합의에 의해서만 거래(Transaction)가 전송되고 검증되므로, 전체 시스템의 투명성, 공정성, 신뢰성 등을 제공할 수 있다.The block chain is a concept of a de-centralized database. That is, the block chain can provide transparency, fairness, and reliability of the entire system because transactions are transmitted and verified only by agreement between all the nodes participating in the network without any one party taking control of the system have.

상기 블록체인 네트워크는 트랜잭션이 한번 기록되면 분산된 모든 노드가 블록 데이터들을 보존하므로, 네트워크 전체 노드가 일시에 한 번에 셧 다운되어 완전히 폐기되지 않는 이상 트랜잭션에 대한 기록은 지워지지 않는다.The block-chain network does not erase the record of the transaction unless all the nodes of the network conserve the block data once the transaction is recorded, so that the entire node of the network is shut down at one time and completely discarded.

이를 이용하여, 정보 중에서 공개 가능한 정보와 비공개하고자 하는 정보를 분리하고, 비공개하고자 하는 정보를 형태보존암호화를 통해 암호화한 상태로 상기 공개 가능한 정보와 함께 상기 블록체인 서버(200)(또는 블록체인 네트워크)에 트랜잭션으로 등록함으로써, 임의의 공격자가 KEY 값을 탈취하더라도 어디서부터 어디까지가 암호화된 데이터인지 알 수 없어 해당 형태보존 암호화된 데이터의 복호화가 불가능하므로, 안전하여 비공개하고자 하는 정보를 보호할 수 있다.The block-chain server 200 (or the block-chain network 200) is configured to divide the information that can be opened and the information that is not to be opened, ), Even if an arbitrary attacker seizes the KEY value, it is impossible to know from where to where the encrypted data is stored, so that it is not possible to decrypt the corresponding form-preserved encrypted data, have.

또한, 상기 단말(100)에서 상기 블록체인 서버(200)에 블록으로 등록하고자 하는 상기 신규 데이터에 대응하는 키(KEY)는 형태보존 암호화에 의해 암호화된 데이터와 공개 가능한 데이터로 구성되며, 공개 가능한 데이터(또는 모니터링을 위한 데이터)는 블록 데이터 조회를 위한 인덱스 값으로 활용되며, 고유한 특성을 갖는다. 이때, 상기 키 값의 형식(또는 포맷/구조)은 사전에 미리 설정된 상태일 수 있다.In addition, the key (KEY) corresponding to the new data to be registered in the block-chain server 200 as a block in the terminal 100 is composed of data encrypted by shape-preserving encryption and data that can be published, Data (or data for monitoring) is utilized as an index value for block data inquiry, and has unique characteristics. At this time, the format (or format / structure) of the key value may be preset in advance.

또한, 상기 키는 하드웨어 보안 모듈(Hardware Secure Module: HSM)을 이용해서 관리될 수 있다. 이때, 키 정책은 JSON 형태로 정의할 수 있다.Also, the key may be managed using a hardware security module (HSM). At this time, the key policy can be defined as JSON type.

이와 같이, 미리 정의한 형태보존 암호화가 적용된 데이터와 공개 가능한 데이터로 키 정책 설정 후, 저장(또는 관리)할 수 있다.In this manner, the key policy can be set (or managed) after the pre-defined shape-preserved encryption is applied and the data can be disclosed.

또한, 상기 블록체인 서버(200)는 상기 다른 단말(300)과 통신한다.In addition, the block-chain server 200 communicates with the other terminal 300.

또한, 상기 블록체인 서버(200)에서 관리 중인 복수의 키 값 중에서 적어도 하나의 키 값이 선택되는 경우(또는 적어도 하나의 키 값에 대한 전송 요청이 수신되는 경우, 상기 블록체인 서버(200)는 상기 선택된(또는 요청된) 적어도 하나의 키 값(또는 해당 키 값에 대응하는 정보/데이터)을 상기 다른 단말(300)에 제공(또는 전송)한다.When at least one key value is selected among a plurality of key values managed by the block-chain server 200 (or when a transmission request for at least one key value is received, the block-chain server 200 transmits (Or transmits) the selected (or requested) at least one key value (or information / data corresponding to the corresponding key value) to the other terminal 300.

본 발명의 실시예에서는 단말(100)에서 블록체인에 등록할 하나의 전체 데이터 중 일부에 대해서 형태보존 암호화를 적용하고, 상기 형태보존 암호화가 적용된 데이터와 모니터링을 위한 데이터를 하나의 전체 데이터로 상기 블록체인 서버(200)에서 관리하는 블록에 트랜잭션으로 등록하는 것을 설명하고 있으나, 이에 한정되는 것은 아니며, 상기 블록체인 서버(200)에서 상기 단말(100)로부터 제공되는 하나의 전체 데이터 중 일부에 대해서 형태보존 암호화를 적용하고, 상기 형태보존 암호화가 적용된 데이터와 모니터링을 위한 데이터를 트랜잭션으로 등록하도록 구성할 수도 있다.In the exemplary embodiment of the present invention, shape-preserving encryption is applied to a part of all one piece of data to be registered in the block chain in the terminal 100, and data for the shape- However, the present invention is not limited to this. The block chain server 200 may be configured such that a part of one entire data provided from the terminal 100 is registered in a block managed by the block chain server 200 It is also possible to apply shape-preserving encryption, and to register the data to which the shape-preserving encryption is applied and the data for monitoring as a transaction.

또한, 본 발명의 실시예에서는, 상기 블록체인 서버(200)로부터 제공되는 전용 앱을 통해, 정보(또는 해당 정보에 대응하는 키 값)를 블록체인에 등록하는 것을 설명하고 있으나, 이에 한정되는 것은 아니며, 상기 전용 앱 이외에도 상기 블록체인 서버(200)에서 제공하는 웹 사이트(또는 웹 페이지)를 통해 상기 정보(또는 해당 정보에 대응하는 키 값)를 블록체인에 등록하는 기능을 제공할 수도 있다.Also, in the embodiment of the present invention, information (or a key value corresponding to the information) is registered in the block chain through the exclusive application provided from the block-chain server 200, , And may provide the function of registering the information (or a key value corresponding to the information) in a block chain through a web site (or web page) provided by the block chain server 200 in addition to the dedicated application.

상기 다른 단말(300)은 상기 단말(100), 상기 블록체인 서버(200) 등과 통신한다.The other terminal 300 communicates with the terminal 100, the block chain server 200, and the like.

또한, 상기 다른 단말(300)은 상기 단말(100)을 구성하는 상기 통신부(110), 상기 저장부(120), 상기 표시부(130), 상기 음성 출력부(140), 상기 제어부(150)에 대응하는 각 구성 요소를 포함하여 구성할 수 있다.The other terminal 300 is connected to the communication unit 110, the storage unit 120, the display unit 130, the audio output unit 140, and the control unit 150 of the terminal 100 And can include each corresponding component.

또한, 상기 다른 단말(300)은 상기 블록체인 서버(200)와의 연동에 의해, 상기 블록체인 서버(200)에서 제공하는 전용 앱을 통해 다양한 정보를 블록에 등록하거나, 블록체인에 등록된 블록(또는 정보/키 값)을 확인하기 위한 사용자로 회원 가입하며, 개인 정보 등을 상기 블록체인 서버(200)에 등록한다.In addition, the other terminal 300 may register various information in a block through a dedicated application provided by the block-chain server 200 in cooperation with the block-chain server 200, Or an information / key value), and registers personal information and the like in the block chain server 200. [

또한, 상기 다른 단말(300)은 해당 다른 단말(300)의 사용자가 가입한 SNS 계정 정보를 이용하여 상기 블록체인 서버(200)에 사용자로 회원 가입할 수도 있다. 여기서, 상기 SNS 계정은 페이스북, 트위터, 카카오 스토리 등과 관련한 정보일 수 있다.Also, the other terminal 300 may register as a user to the block-chain server 200 using the SNS account information registered by the user of the other terminal 300. [ Here, the SNS account may be information related to Facebook, Twitter, cacao story, and the like.

또한, 회원 가입 절차 수행 시, 상기 다른 단말(300)은 본인 인증 수단(예를 들어 이동 전화, 신용카드, 아이핀 등 포함)을 통한 인증 기능을 완료해야 상기 블록체인 서버(200)에 대한 회원 가입 절차를 정상적으로 완료할 수 있다.In addition, at the time of performing the membership registration procedure, the other terminal 300 must complete the authentication function through the authentication means (for example, mobile phone, credit card, Ipfin, etc.) The procedure can be completed normally.

또한, 회원 가입이 완료된 후, 상기 다른 단말(300)은 상기 블록체인 서버(200)에서 제공하는 서비스를 이용하기 위해서, 상기 블록체인 서버(200)로부터 제공되는 전용 앱을 해당 단말(100)에 설치한다. 이때, 상기 전용 앱은 정보를 블록체인에 등록하거나 또는 블록체인에 등록된 정보를 확인하기 위한 앱일 수 있다.In order to utilize the service provided by the block chain server 200, the other terminal 300 transmits a dedicated application provided from the block chain server 200 to the corresponding terminal 100 Install it. At this time, the dedicated application may be an app for registering information in a block chain or for checking information registered in a block chain.

또한, 상기 다른 단말(300)에 설치된 전용 앱이 다른 단말(300)의 사용자 선택(또는 사용자 터치/제어)에 따라 실행되는 경우, 상기 다른 단말(300)은 앱 실행 결과 화면을 표시한다. 여기서, 상기 앱 실행 결과 화면은 해당 전용 앱과 관련한 블록체인 서버(200)에서 제공하는 부가 정보를 확인하기 위한 부가 메뉴(또는 항목/버튼), 정보를 등록하기 위한 등록 메뉴, 등록된 정보를 확인하기 위한 확인 메뉴, 해당 다른 단말(300)의 사용자와 관련한 개인 정보를 설정하거나 해당 전용 앱에 대한 기능을 설정하기 위한 설정 메뉴 등을 포함한다.Also, when the dedicated application installed in the other terminal 300 is executed according to user selection (or user touch / control) of the other terminal 300, the other terminal 300 displays an application execution result screen. Here, the application execution result screen includes an additional menu (or item / button) for confirming the additional information provided by the block chain server 200 related to the dedicated application, a registration menu for registering the information, A setting menu for setting personal information related to the user of the other terminal 300 or setting a function for the corresponding dedicated application, and the like.

또한, 상기 다른 단말(300)은 해당 블록체인 서버(200)로부터 전송되는 상기 블록체인 서버(200)에 등록된 상기 신규 데이터와 관련한 키 값을 수신한다. 이때, 상기 다른 단말(300)은 상기 신규 데이터와 관련한 키 값에 포함된 형태보존 암호화된 데이터를 복호화하기 위해 상기 대칭키를 가지고 있지 않은 상태일 수 있다.The other terminal 300 receives a key value related to the new data registered in the block chain server 200 transmitted from the corresponding block chain server 200. At this time, the other terminal 300 may not have the symmetric key to decrypt the shape preserving encrypted data included in the key value related to the new data.

즉, 상기 다른 단말(300)이 상기 블록체인 서버(200)에 접속한 상태에서 상기 블록체인 서버(200)에 등록된 복수의 키 값 중에서 상기 신규 데이터와 관련한 키 값을 선택하는 경우(또는 상기 블록체인 서버(200)에 등록된 복수의 블록 중에서 상기 신규 데이터와 관련한 키 값에 대응하는 블록을 선택하는 경우), 상기 다른 단말(300)은 상기 블록체인 서버(200)로부터 제공되는 상기 선택된 키 값을 수신한다.That is, when a key value related to the new data is selected from a plurality of key values registered in the block chain server 200 while the other terminal 300 is connected to the block chain server 200 The other terminal 300 selects the block corresponding to the key value related to the new data among the plurality of blocks registered in the block chain server 200, Lt; / RTI >

또한, 상기 다른 단말(300)은 상기 수신된 키 값 중 공개 정보로 설정된 상기 공개 가능한 데이터의 내용을 표시한다.Also, the other terminal 300 displays the content of the openable data set as the open information among the received key values.

즉, 상기 다른 단말(300)은 상기 수신된 키 값 중 공개 정보로 설정된 상기 공개 가능한 데이터의 내용을 표시한다. 여기서, 상기 키 값 중 공개 정보로 설정된 상기 공개 가능한 데이터에 대해서 대칭키 방식 또는 비대칭키 방식을 통해 암호화가 된 경우, 상기 다른 단말(300)은 미리 공개된 대칭키 또는 개인키를 이용해서 복호화하고, 상기 복호화된 해당 공개 가능한 데이터의 내용을 표시할 수 있다.That is, the other terminal 300 displays the content of the openable data set as the open information among the received key values. Herein, if the openable data set as the public information among the key values is encrypted through the symmetric key method or the asymmetric key method, the other terminal 300 decrypts the openable data using the previously disclosed symmetric key or private key , And display the contents of the decrypted corresponding releasable data.

이때, 상기 다른 단말(300)에서 상기 신규 데이터와 관련한 키 값에 포함된 형태보존 암호화된 데이터를 복호화하기 위해 상기 대칭키를 가지고 있지 않은 상태이므로, 상기 다른 단말(300)은 상기 수신된 키 값 중 비공개 정보로 설정된 해당 형태보존 암호화에 의해 암호화된 데이터의 내용을 확인할 수 없다.At this time, since the other terminal 300 does not have the symmetric key for decrypting the shape-preserved encrypted data included in the key value related to the new data, the other terminal 300 transmits the received key value It is impossible to confirm the contents of the data encrypted by the corresponding shape preserving encryption which is set as the private information.

또한, 다른 단말(300)은 해당 블록체인 서버(200)로부터 전송되는 상기 블록체인 서버(200)에 등록된 상기 신규 데이터와 관련한 키 값을 수신한다. 이때, 상기 다른 단말(300)은 상기 신규 데이터와 관련한 키 값에 포함된 형태보존 암호화된 데이터를 복호화하기 위해 상기 대칭키를 가지고 있는 상태일 수 있다.The other terminal 300 receives a key value related to the new data registered in the block chain server 200 transmitted from the corresponding block chain server 200. At this time, the other terminal 300 may be in a state having the symmetric key for decrypting the shape preserving encrypted data included in the key value related to the new data.

즉, 상기 다른 단말(300)이 상기 블록체인 서버(200)에 접속한 상태에서 상기 블록체인 서버(200)에 등록된 복수의 키 값 중에서 상기 신규 데이터와 관련한 키 값을 선택하는 경우(또는 상기 블록체인 서버(200)에 등록된 복수의 블록 중에서 상기 신규 데이터와 관련한 키 값에 대응하는 블록을 선택하는 경우), 상기 다른 단말(300)은 상기 블록체인 서버(200)로부터 제공되는 상기 선택된 키 값을 수신한다.That is, when a key value related to the new data is selected from a plurality of key values registered in the block chain server 200 while the other terminal 300 is connected to the block chain server 200 The other terminal 300 selects the block corresponding to the key value related to the new data among the plurality of blocks registered in the block chain server 200, Lt; / RTI >

또한, 상기 다른 단말(300)은 상기 수신된 키 값 중 비공개 정보로 설정된 상기 형태보존 암호화에 의해 암호화된 데이터를 미리 설정된(또는 저장된) 상기 대칭키를 이용해서 복호화한다.Also, the other terminal 300 decrypts the data encrypted by the shape preserving encryption set as the secret information among the received key values using the predetermined (or stored) symmetric key.

또한, 상기 다른 단말(300)은 상기 수신된 키 값 중 공개 정보로 설정된 상기 공개 가능한 데이터를 확인한다. 여기서, 여기서, 상기 키 값 중 공개 정보로 설정된 상기 공개 가능한 데이터에 대해서 대칭키 방식 또는 비대칭키 방식을 통해 암호화가 된 경우, 상기 다른 단말(300)은 미리 공개된 대칭키 또는 개인키를 이용해서 복호화할 수 있다.Also, the other terminal 300 identifies the publicly available data set as public information among the received key values. Here, if the public key data set as the public key of the key value is encrypted using the symmetric key method or the asymmetric key method, the other terminal 300 uses the symmetric key or the private key It can be decoded.

또한, 상기 다른 단말(300)은 상기 복호화된 비공개 정보로 설정된 데이터와 상기 확인된(또는 복호화된) 공개 정보로 설정된 데이터를 표시한다.Also, the other terminal 300 displays data set as the decrypted private information and data set as the confirmed (or decrypted) public information.

이때, 상기 다른 단말(300)에서 상기 신규 데이터와 관련한 키 값에 포함된 형태보존 암호화된 데이터를 복호화하기 위해 상기 대칭키를 가지고 있는 상태이므로, 상기 다른 단말(300)은 상기 수신된 키 값 전체에 대해 해당 내용을 확인할 수 있다.At this time, since the other terminal 300 has the symmetric key for decrypting the shape-preserved encrypted data included in the key value related to the new data, the other terminal 300 transmits the received key value The contents can be confirmed.

이와 같이, 블록체인 네트워크에 트랜잭션으로 등록될 데이터 중에서 개인정보 보호 등을 이유로 비공개하고자 하는 데이터에 대해서 형태보존 암호화를 통해 암호화하고, 형태보존 암호화로 암호화된 비공개하고자 하는 데이터와 공개 가능한 데이터를 블록체인 네트워크에 트랜잭션으로 등록할 수 있다.In this way, data to be privately secreted is encrypted by shape-preserving encryption among the data to be registered as a transaction in the block-chain network due to the protection of personal information and the like. You can register as a transaction in the network.

또한, 이와 같이, 블록체인의 블록의 키 값을 구성하는 해쉬값 대신에 형태보존 암호화가 적용된 데이터와 모니터링을 위한 데이터로 대체하여 구성할 수 있다.In this manner, instead of the hash value constituting the key value of the block of the block chain, data for which shape preservation encryption is applied and data for monitoring can be replaced.

이하에서는, 본 발명에 따른 형태보존 암호화가 적용된 영지식증명 기반의 블록체인 시스템의 제어 방법을 도 1 내지 도 6을 참조하여 상세히 설명한다.Hereinafter, a method for controlling a block chain system based on a zero knowledge proof applied with shape preservation encryption according to the present invention will be described in detail with reference to FIG. 1 to FIG.

도 4는 본 발명의 실시예에 따른 형태보존 암호화가 적용된 영지식증명 기반의 블록체인 시스템의 제어 방법을 나타낸 흐름도이다.4 is a flowchart illustrating a method of controlling a block chain system based on a zero knowledge proof applied with shape preservation encryption according to an embodiment of the present invention.

먼저, 단말(100)은 블록체인에 등록하고자 하는 하나의 정보 또는 파일 중에서 비공개하고자 하는 데이터(또는 내용/영역)와 공개 가능한 데이터(또는 모니터링을 위한 데이터)를 확인한다.First, the terminal 100 identifies data (or content / area) to be unlisted and data (or data for monitoring) that can be disclosed from among one information or files to be registered in the block chain.

일 예로, 제 1 단말(100)은 홍길동이 영희에게 10만원을 계좌 이체함에 따라 발생한 제 1 데이터 중에서 비공개하고자 하는 데이터와 공개 가능한 데이터를 확인한다. 이때, 도 5에 도시된 바와 같이, 상기 제 1 데이터는 송금자명(예를 들어 홍길동), 수신인명(예를 들어 영희), 송금 계좌 정보(예를 들어 대한은행 12345-6789), 수신 계좌 정보(예를 들어 민국은행 98765-4321), 이체 일자(예를 들어 2019년 03월 01일 15:30:25), 이체 금액(예를 들어 10만원) 등을 포함하며, 이 중에서 수신인명, 송금 계좌 정보, 수신 계좌 정보와 이체 일자는 비공개하고자 하는 데이터이고, 송금자명과 이체 금액은 공개하고자 하는 데이터일 수 있다.For example, the first terminal 100 confirms the data to be unlisted and the data that can be disclosed from among the first data generated due to the transfer of 100,000 KRW to Mr. Hong. As shown in FIG. 5, the first data may include a name of a sender (for example, Hong Gil Dong), a name of a receiver (e.g., Mr. Young), remittance account information (for example, Korean Bank 12345-6789) (For example, Bank of Korea 98765-4321), a date of transfer (for example, March 15, 2019, 15:30:25), and a transfer amount (for example, 100,000 won) The account information, the receiving account information, and the transfer date are data to be closed, and the remitter name and transfer amount may be data to be disclosed.

다른 일 예로, 제 2 단말(100)은 철수가 한글 문서 파일에 대해 작업하여 신규로 생성한(또는 저장한) ABCD.HWP 파일에 대해서 비공개하고자 하는 데이터(예를 들어 파일명인 ABCD)와, 공개하고자 하는 데이터(예를 들어 파일 생성일자인 2019년 03월 03일 13:10:15)를 각각 확인한다(S410).In another example, the second terminal 100 may transmit data (for example, ABCD, which is a file name) to the non-disclosure data (e.g., ABCD) (For example, the file creation date of March 13, 2019, 13:10:15) (S410).

이후, 상기 단말(100)은 상기 확인된 비공개하고자 하는 데이터에 대해서 미리 설정된 형태보존 암호화(FPE)를 적용하여 암호화한다. 이때, 해당 형태보존 암호화 방식에 사용되는 대칭키가 미리 설정된 상태일 수 있으며, 해당 대칭키를 이용해서 상기 비공개하고자 하는 데이터를 암호화할 수 있다.Then, the terminal 100 encrypts the data to be secretly verified by applying preset shape preserving encryption (FPE). At this time, the symmetric key used in the shape preserving encryption method may be preset, and the secret data can be encrypted using the symmetric key.

또한, 상기 단말(100)은 상기 형태보존 암호화된 데이터와 상기 확인된 공개 가능한 데이터를 포함하는 신규 데이터를 생성한다.Also, the terminal 100 generates new data including the shape-preserved encrypted data and the identified openable data.

또한, 상기 단말(100)은 상기 생성된 신규 데이터, 상기 단말(100)의 식별 정보 등을 블록체인 서버(200)에 전송한다. 여기서, 상기 단말(100)의 식별 정보는 MDN, 모바일 IP, 모바일 MAC, Sim(가입자 식별 모듈) 카드 고유 정보, 시리얼번호 등을 포함한다.Also, the terminal 100 transmits the generated new data, the identification information of the terminal 100, and the like to the block chain server 200. Here, the identification information of the terminal 100 includes an MDN, a mobile IP, a mobile MAC, a SIM (subscriber identity module) card specific information, a serial number, and the like.

일 예로, 상기 제 1 단말은 상기 제 1 데이터 중에서 비공개하고자 하는 데이터인 수신인명, 송금 계좌 정보, 수신 계좌 정보와 이체 일자를 미리 설정된 제 1 대칭키 및 상기 형태보존 암호화 방식을 이용하여 암호화하여, 형태보존 암호화된 제 2 데이터를 획득한다.For example, the first terminal encrypts a recipient's name, remittance account information, receiving account information, and transfer date, which are data to be unlisted, from the first data using a first symmetric key set in advance and the shape- Obtain shape-preserved encrypted second data.

또한, 도 6에 도시된 바와 같이, 상기 제 1 단말은 상기 획득된 형태보전 암호화된 제 2 데이터와 상기 제 1 데이터 중에서 공개하고자 하는 데이터인 송금자명과 이체 금액을 포함하는 신규 제 3 데이터를 생성하고, 상기 생성된 제 3 데이터와 상기 제 1 단말의 식별 정보를 상기 블록체인 서버(200)에 전송한다.Also, as shown in FIG. 6, the first terminal generates new third data including the obtained type-preserved encrypted second data and the remitter name and transfer amount, which is data to be released from the first data And transmits the generated third data and the identification information of the first terminal to the block chain server 200.

다른 일 예로, 상기 제 2 단말은 상기 ABCD.HWP 파일 중에서 비공개하고자 하는 데이터인 파일명(예를 들어 ABCD)을 미리 설정된 제 2 대칭키 및 상기 형태보존 암호화 방식을 이용하여 암호화하여, 형태보존 암호화된 제 11 데이터를 획득한다.In another example, the second terminal encrypts a file name (for example, ABCD), which is data to be unlisted, from the ABCD.HWP file using a second symmetric key and a shape-preserving encryption method set in advance, And obtains the eleventh data.

또한, 상기 제 2 단말은 상기 획득된 형태보존 암호화된 제 11 데이터와, 상기 ABCD.HWP 파일과 관련한 정보 중에서 공개하고자 하는 데이터인 파일 생성일자를 포함하는 신규 제 12 데이터를 생성하고, 상기 생성된 제 12 데이터와 상기 제 2 단말의 식별 정보를 상기 블록체인 서버(200)에 전송한다(S420).Also, the second terminal generates new twelfth data including the obtained shape-preserved encrypted eleventh data and a file creation date, which is data to be released from information related to the ABCD.HWP file, Transmits the twelfth data and the identification information of the second terminal to the block chain server 200 (S420).

이후, 상기 블록체인 서버(200)는 상기 단말(100)로부터 전송되는 신규 데이터, 상기 단말(100)의 식별 정보 등을 수신한다. 이때, 상기 신규 데이터는 전체 정보 중에서 형태보존 암호화에 의해 암호화된 데이터와 공개 가능한 데이터로 구성된 상태일 수 있다.Then, the block-chain server 200 receives new data transmitted from the terminal 100, identification information of the terminal 100, and the like. At this time, the new data may be composed of data encrypted by shape-preservation encryption and data that can be disclosed from among all the information.

또한, 상기 블록체인 서버(200)는 상기 수신된 신규 데이터를 해당 신규 데이터와 관련한 블록의 키 값으로 블록체인에 등록(또는 저장)한다.In addition, the block-chain server 200 registers (or stores) the received new data in a block chain with a key value of a block related to the new data.

즉, 상기 블록체인 서버(200)는 상기 수신된 형태보존 암호화에 의해 암호화된 데이터와 공개 가능한 데이터를 포함하는 신규 데이터를 해당 신규 데이터와 관련한 블록의 키 값으로 블록체인 네트워크에 트랜잭션으로 등록한다. 이때, 해당 블록의 데이터는 전자문서 위변조 확인을 위해 저장하고자 하는 데이터에 따라 형태보존 암호화, SHA-256 등으로 암호화된 상태일 수 있다.That is, the block-chain server 200 registers new data including data encrypted by the received shape-preserving encryption and releasable data as a transaction in a block-chain network with a key value of a block related to the new data. At this time, the data of the corresponding block may be encrypted with shape-preserving encryption, SHA-256 or the like according to data to be stored for confirmation of forgery of electronic document.

일 예로, 상기 블록체인 서버(200)는 상기 제 1 단말로부터 전송되는 상기 제 3 데이터와 상기 제 1 단말의 식별 정보를 수신한다. 이때, 상기 제 3 데이터는 비공개하고자 하는 데이터인 수신인명, 송금 계좌 정보, 수신 계좌 정보와 이체 일자를 형태보존 암호화한 제 2 데이터와, 원본 데이터인 제 1 데이터 중에서 공개하고자 하는 데이터인 송금자명과 이체 금액을 포함한다.For example, the block-chain server 200 receives the third data transmitted from the first terminal and the identification information of the first terminal. At this time, the third data is the name of the remitter, which is the data to be disclosed from among the first data which is the original data, the second data which is the form of the transfer date, the transfer person's account, the transfer account information, Include transfer amount.

또한, 상기 블록체인 서버(200)는 상기 수신된 제 3 데이터를 해당 제 3 데이터와 관련한 제 3 블록의 제 3 키 값으로 블록체인 네트워크에 트랜잭션으로 등록한다. 이때, 해당 제 3 키 값과 관련한 제 3 블록의 데이터는 SHA-256으로 암호화된 상태일 수 있다.In addition, the block-chain server 200 registers the received third data as a transaction in the block-chain network with a third key value of a third block related to the third data. At this time, the data of the third block related to the third key value may be encrypted with SHA-256.

다른 일 예로, 상기 블록체인 서버(200)는 상기 제 2 단말로부터 전송되는 제 12 데이터와 상기 제 2 단말의 식별 정보를 수신한다. 이때, 상기 제 12 데이터는 원본 파일인 ABCD.HWP 파일에서 비공개하고자 하는 데이터인 파일명을 형태보존 암호화한 제 11 데이터와, 원본 파일인 ABCD.HWP 파일 중에서 공개하고자 하는 데이터인 파일 생성일자를 포함한다.In another example, the block-chain server 200 receives the twelfth data transmitted from the second terminal and the identification information of the second terminal. In this case, the twelfth data includes the eleventh data in which the file name of the ABCD.HWP file which is the original file and the file name of the non-disclosure data is stored in the ABCD.HWP file, and the file creation date which is data to be released from the ABCD.HWP file .

또한, 상기 블록체인 서버(200)는 상기 수신된 비공개하고자 하는 데이터인 파일명을 형태보존 암호화한 제 11 데이터와, 원본 파일인 ABCD.HWP 파일 중에서 공개하고자 하는 데이터인 파일 생성일자를 포함하는 제 12 데이터를 해당 제 12 데이터와 관련한 제 12 블록의 제 12 키 값으로 상기 블록체인 네트워크에 트랜잭션으로 등록한다(S430).In addition, the block-chain server 200 transmits the 11th data, which is the form-preserved encrypted file name of the received private data, and the 12th data including the file creation date, which is data to be released from the original file ABCD.HWP file, The data is registered as a transaction in the block-chain network with the twelfth key value of the twelfth block related to the twelfth data (S430).

이후, 다른 단말(300)은 해당 블록체인 서버(200)로부터 전송되는 상기 블록체인 서버(200)에 등록된 상기 신규 데이터와 관련한 키 값(또는 해당 신규 데이터에 대응하는 블록과 관련한 키 값)을 수신한다. 이때, 상기 다른 단말(300)은 상기 신규 데이터와 관련한 키 값에 포함된 형태보존 암호화된 데이터를 복호화하기 위해 상기 대칭키를 가지고 있지 않은 상태일 수 있다.Then, the other terminal 300 transmits a key value (or a key value related to a block corresponding to the new data) related to the new data registered in the block chain server 200 transmitted from the block chain server 200 . At this time, the other terminal 300 may not have the symmetric key to decrypt the shape preserving encrypted data included in the key value related to the new data.

즉, 상기 다른 단말(300)이 상기 블록체인 서버(200)에 접속한 상태에서 상기 블록체인 서버(200)에 등록된 복수의 키 값 중에서 상기 신규 데이터와 관련한 키 값을 선택하는 경우(또는 상기 블록체인 서버(200)에 등록된 복수의 블록 중에서 상기 신규 데이터와 관련한 키 값에 대응하는 블록을 선택하는 경우), 상기 다른 단말(300)은 상기 블록체인 서버(200)로부터 제공되는 상기 선택된 키 값을 수신한다.That is, when a key value related to the new data is selected from a plurality of key values registered in the block chain server 200 while the other terminal 300 is connected to the block chain server 200 The other terminal 300 selects the block corresponding to the key value related to the new data among the plurality of blocks registered in the block chain server 200, Lt; / RTI >

또한, 상기 다른 단말(300)은 상기 수신된 키 값 중 공개 정보로 설정된 상기 공개 가능한 데이터의 내용을 표시한다.Also, the other terminal 300 displays the content of the openable data set as the open information among the received key values.

즉, 상기 다른 단말(300)은 상기 수신된 키 값 중 공개 정보로 설정된 상기 공개 가능한 데이터의 내용을 표시한다. 여기서, 상기 키 값 중 공개 정보로 설정된 상기 공개 가능한 데이터에 대해서 대칭키 방식 또는 비대칭키 방식을 통해 암호화가 된 경우, 상기 다른 단말(300)은 미리 공개된 대칭키 또는 개인키를 이용해서 복호화하고, 상기 복호화된 해당 공개 가능한 데이터의 내용을 표시할 수 있다.That is, the other terminal 300 displays the content of the openable data set as the open information among the received key values. Herein, if the openable data set as the public information among the key values is encrypted through the symmetric key method or the asymmetric key method, the other terminal 300 decrypts the openable data using the previously disclosed symmetric key or private key , And display the contents of the decrypted corresponding releasable data.

이때, 상기 다른 단말(300)에서 상기 신규 데이터와 관련한 키 값에 포함된 형태보존 암호화된 데이터를 복호화하기 위해 상기 대칭키를 가지고 있지 않은 상태이므로, 상기 다른 단말(300)은 상기 수신된 키 값 중 비공개 정보로 설정된 해당 형태보존 암호화에 의해 암호화된 데이터의 내용을 확인할 수 없다.At this time, since the other terminal 300 does not have the symmetric key for decrypting the shape-preserved encrypted data included in the key value related to the new data, the other terminal 300 transmits the received key value It is impossible to confirm the contents of the data encrypted by the corresponding shape preserving encryption which is set as the private information.

일 예로, 제 11 다른 단말(300)이 상기 블록체인 서버(200)에 접속한 상태에서 사용자 입력에 따라 해당 블록체인 서버(200)에 등록된 복수의 키 값 중에서 상기 제 3 데이터와 관련한 키 값을 선택할 때, 상기 제 11 다른 단말은 상기 블록체인 서버(200)로부터 제공되는 상기 제 3 데이터와 관련한 제 3 키 값을 수신한다. 여기서, 상기 제 3 키 값은 비공개하고자 하는 데이터인 수신인명, 송금 계좌 정보, 수신 계좌 정보와 이체 일자를 형태보존 암호화한 제 2 데이터와, 원본 데이터인 제 1 데이터 중에서 공개하고자 하는 데이터인 송금자명과 이체 금액을 포함한다. 이때, 상기 제 11 다른 단말은 일반 사용자가 소지한 단말로, 비공개 데이터를 확인하기 위한 상기 제 1 대칭키를 소지하지 않은 단말일 수 있다.For example, when the eleventh other terminal 300 is connected to the block-chain server 200, a key value associated with the third data among a plurality of key values registered in the block-chain server 200 according to a user input , The eleventh other terminal receives a third key value related to the third data provided from the block chain server (200). Here, the third key value is a name of a remitter, which is data to be disclosed from the first data, which is the original data, And the transfer amount. At this time, the eleventh other terminal may be a terminal possessed by a general user and may not have the first symmetric key for confirming private data.

또한, 상기 제 11 다른 단말은 상기 수신된 제 3 키 값 중에서 비공개로 설정된 정보를 확인하지 못하고, 대신 공개로 설정된 정보인 송금자명(예를 들어 홍길동)과 이체 금액(예를 들어 10만원)을 표시한다(S440).Also, the eleventh other terminal can not confirm the information set as the private key among the received third key values, but instead transmits the transfer person's name (for example, Hong Kil-Dong) and the transfer amount (for example, 100,000 won) (S440).

또한, 다른 단말(300)은 해당 블록체인 서버(200)로부터 전송되는 상기 블록체인 서버(200)에 등록된 상기 신규 데이터와 관련한 키 값을 수신한다. 이때, 상기 다른 단말(300)은 상기 신규 데이터와 관련한 키 값에 포함된 형태보존 암호화된 데이터를 복호화하기 위해 상기 대칭키를 가지고 있는 상태일 수 있다.The other terminal 300 receives a key value related to the new data registered in the block chain server 200 transmitted from the corresponding block chain server 200. At this time, the other terminal 300 may be in a state having the symmetric key for decrypting the shape preserving encrypted data included in the key value related to the new data.

즉, 상기 다른 단말(300)이 상기 블록체인 서버(200)에 접속한 상태에서 상기 블록체인 서버(200)에 등록된 복수의 키 값 중에서 상기 신규 데이터와 관련한 키 값을 선택하는 경우(또는 상기 블록체인 서버(200)에 등록된 복수의 블록 중에서 상기 신규 데이터와 관련한 키 값에 대응하는 블록을 선택하는 경우), 상기 다른 단말(300)은 상기 블록체인 서버(200)로부터 제공되는 상기 선택된 키 값을 수신한다.That is, when a key value related to the new data is selected from a plurality of key values registered in the block chain server 200 while the other terminal 300 is connected to the block chain server 200 The other terminal 300 selects the block corresponding to the key value related to the new data among the plurality of blocks registered in the block chain server 200, Lt; / RTI >

또한, 상기 다른 단말(300)은 상기 수신된 키 값 중 비공개 정보로 설정된 상기 형태보존 암호화에 의해 암호화된 데이터를 미리 설정된(또는 저장된) 상기 대칭키를 이용해서 복호화한다.Also, the other terminal 300 decrypts the data encrypted by the shape preserving encryption set as the secret information among the received key values using the predetermined (or stored) symmetric key.

또한, 상기 다른 단말(300)은 상기 수신된 키 값 중 공개 정보로 설정된 상기 공개 가능한 데이터를 확인한다. 여기서, 여기서, 상기 키 값 중 공개 정보로 설정된 상기 공개 가능한 데이터에 대해서 대칭키 방식 또는 비대칭키 방식을 통해 암호화가 된 경우, 상기 다른 단말(300)은 미리 공개된 대칭키 또는 개인키를 이용해서 복호화할 수 있다.Also, the other terminal 300 identifies the publicly available data set as public information among the received key values. Here, if the public key data set as the public key of the key value is encrypted using the symmetric key method or the asymmetric key method, the other terminal 300 uses the symmetric key or the private key It can be decoded.

또한, 상기 다른 단말(300)은 상기 복호화된 비공개 정보로 설정된 데이터와 상기 확인된(또는 복호화된) 공개 정보로 설정된 데이터를 표시한다.Also, the other terminal 300 displays data set as the decrypted private information and data set as the confirmed (or decrypted) public information.

이때, 상기 다른 단말(300)에서 상기 신규 데이터와 관련한 키 값에 포함된 형태보존 암호화된 데이터를 복호화하기 위해 상기 대칭키를 가지고 있는 상태이므로, 상기 다른 단말(300)은 상기 수신된 키 값 전체에 대해 해당 내용을 확인할 수 있다.At this time, since the other terminal 300 has the symmetric key for decrypting the shape-preserved encrypted data included in the key value related to the new data, the other terminal 300 transmits the received key value The contents can be confirmed.

일 예로, 제 12 다른 단말(300)이 상기 블록체인 서버(200)에 접속하여 해당 블록체인 서버(200)에 등록된 복수의 키 값 중에서 상기 제 12 데이터와 관련한 키 값을 선택할 때, 상기 제 12 다른 단말은 상기 블록체인 서버(200)로부터 제공되는 상기 제 12 데이터와 관련한 제 12 키 값을 수신한다. 여기서, 상기 제 12 키 값은 비공개하고자 하는 데이터인 파일명을 형태보존 암호화한 제 11 데이터와, 원본 파일인 ABCD.HWP 파일 중에서 공개하고자 하는 데이터인 파일 생성일자를 포함하는 제 12 데이터를 포함한다. 이때, 상기 제 12 다른 단말은 일반 사용자가 소지한 단말로, 비공개 데이터를 확인하기 위한 상기 제 1 대칭키를 소지한 단말일 수 있다.For example, when the twelfth other terminal 300 accesses the block-chain server 200 and selects a key value related to the twelfth data among a plurality of key values registered in the block-chain server 200, 12 other terminal receives the twelfth key value associated with the twelfth data provided from the block-chain server 200. [ Here, the twelfth key value includes the twelfth data including the shape data of the file name, which is data to be closed, and the file creation date, which is the data to be released from the ABCD.HWP file, which is the original file. At this time, the twelfth other terminal may be a terminal possessed by a general user, and may be a terminal carrying the first symmetric key for checking private data.

또한, 상기 제 12 다른 단말은 상기 수신된 제 12 키 값 중에서 비공개로 설정된 형태보존 암호화한 제 11 데이터를 상기 제 1 대칭키와 형태보존 복호화를 통해 복호화하고, 상기 수신된 제 12 키 값 중에서 공개로 설정된 파일 생성일자를 확인한다.Also, the twelfth different terminal may decrypt the eleventh data with the shape-preserved encryption set to the private key among the received twelfth key values through the shape symmetric key decryption with the first symmetric key, Check the creation date of the file.

또한, 상기 제 12 다른 단말은 상기 복호화된 파일명(예를 들어 ABCD)과 상기 확인된 파일 생성일자(예를 들어 2019년 03월 03일 13:10:15)를 표시한다(S450).In addition, the 12th other terminal displays the decoded file name (for example, ABCD) and the confirmed file creation date (e.g., March 13, 2013, 13:10:15) (S450).

본 발명의 실시예는 앞서 설명된 바와 같이, 블록체인 네트워크에 트랜잭션으로 등록될 데이터 중에서 개인정보 보호 등을 이유로 비공개하고자 하는 데이터에 대해서 형태보존 암호화를 통해 암호화하고, 형태보존 암호화로 암호화된 비공개하고자 하는 데이터와 공개 가능한 데이터를 블록체인 네트워크에 트랜잭션으로 등록하여, 기존의 블록의 키 값이 해쉬값으로 이루어져 있어 해쉬값을 알아야만 조회 가능한 문제점을 형태보존 암호화를 활용한 일부 내용에 대한 암호화를 통해 해결하고, 영지식증명을 이용하여 모니터링 데이터 또한 보호할 수 있다.As described above, according to the embodiment of the present invention, data to be privately secreted is encrypted by shape-preserving encryption, and encrypted by shape-preserving encryption, And the data that can be released are registered in the block-chain network as a transaction, and the key value of the existing block is composed of the hash value. Therefore, if the hash value is known, And monitoring data can also be protected using the zero knowledge proof.

또한, 본 발명의 실시예는 앞서 설명된 바와 같이, 블록체인의 블록의 키 값을 구성하는 해쉬값 대신에 형태보존 암호화가 적용된 데이터와 모니터링을 위한 데이터로 대체하여 구성하여, 블록의 데이터의 조회, 이력관리, 추적, 모니터링 및 통계 기능을 효율적으로 제공할 수 있다.In the embodiment of the present invention, as described above, instead of the hash value constituting the key value of the block of the block chain, the data for which the shape preservation encryption is applied and the data for monitoring are constructed by replacing the hash value constituting the key value of the block of the block chain, , History management, tracking, monitoring, and statistics.

전술된 내용은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or essential characteristics thereof. Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be construed according to the following claims, and all technical ideas within the scope of equivalents should be construed as falling within the scope of the present invention.

100: 형태보존 암호화가 적용된 영지식증명 기반의 블록체인 시스템
100: 단말 200: 블록체인 서버
300: 다른 단말 110: 통신부
120: 저장부 130: 표시부
140: 음성 출력부 150: 제어부
100: A block chain system based on zero knowledge proof with shape preservation encryption
100: terminal 200: block chain server
300: another terminal 110: communication section
120: storage unit 130: display unit
140: audio output unit 150:

Claims (5)

블록체인에 등록하고자 하는 정보 중에서 비공개하고자 하는 데이터와 공개 가능한 데이터를 확인하고, 상기 확인된 비공개하고자 하는 데이터에 대해서 미리 설정된 형태보존 암호화를 적용하여 암호화하고, 형태보존 암호화된 데이터와 상기 확인된 조회 관리와 이력 관리와 데이터 통계 관리에 사용되는 공개 가능한 데이터를 포함하는 신규 데이터를 생성하고, 상기 생성된 신규 데이터 및 단말의 식별 정보를 전송하는 단말;
상기 단말로부터 전송되는 신규 데이터에 대응하는 키 값을 블록체인 네트워크에 트랜잭션으로 등록하는 블록체인 서버; 및
상기 블록체인 서버에 등록된 복수의 키 값 중에서 상기 신규 데이터와 관련한 키 값이 선택될 때 상기 블록체인 서버로부터 제공되는 상기 키 값을 수신하는 다른 단말을 포함하며,
상기 다른 단말은,
상기 키 값에 포함된 형태보존 암호화에 의해 암호화된 데이터에 대한 대칭키가 없을 때, 상기 키 값 중에서 공개 정보로 설정된 공개 가능한 데이터의 내용만을 표시하며,
상기 키 값에 포함된 형태보존 암호화에 의해 암호화된 데이터에 대응하는 미리 설정된 대칭키가 있을 때, 상기 키 값 중에서 상기 형태보존 암호화에 의해 암호화된 데이터를 상기 대칭키를 통해 복호화하여 상기 비공개하고자 하는 데이터를 확인하고, 상기 확인된 비공개하고자 하는 데이터와 상기 키 값에 포함된 공개 정보로 설정된 공개 가능한 데이터의 내용을 함께 표시하며,
상기 단말은,
지케이스나크(zkSnarks) 영지식증명을 통해 상기 비공개하고자 하는 데이터가 포함된 상기 키 값에 대해 정보에 대한 사실 여부를 확인해줄 수 있는 결과값인 상기 공개 정보로 설정된 공개 가능한 데이터를 근거로 조회 관리, 이력 관리 및 데이터 통계 관리 기능을 수행하는 것을 특징으로 하는 형태보존 암호화가 적용된 영지식증명 기반의 블록체인 시스템.
The method comprising the steps of: confirming data to be privately disclosed and data that can be disclosed from the information to be registered in the block chain, encrypting the data to be privately denied by applying preset shape-preserving encryption, A terminal for generating new data including openable data used for management and history management and data statistics management, and transmitting the generated new data and identification information of the terminal;
A block chain server for registering a key value corresponding to new data transmitted from the terminal into a block chain network as a transaction; And
And another terminal receiving the key value provided from the block chain server when a key value related to the new data is selected from a plurality of key values registered in the block chain server,
The other terminal,
When there is no symmetric key for the data encrypted by the shape preserving encryption included in the key value, only the contents of the openable data set as the public information among the key values are displayed,
When there is a predetermined symmetric key corresponding to the data encrypted by the shape preservation encryption included in the key value, data encrypted by the shape preservation encryption is decrypted through the symmetric key among the key values, Displays the data to be closed and the content of the openable data set as the open information included in the key value together,
The terminal,
Based on openable data set as the open information, which is a result value that can confirm whether or not the information is true with respect to the key value including the data to be paved through the paper case nk (zkSnarks) , History management, and data statistics management functions.
제 1 항에 있어서,
상기 블록체인 서버는,
상기 형태보존 암호화에 의해 암호화된 데이터와 상기 공개 가능한 데이터로 구성된 상기 신규 데이터를 블록의 키 값으로 등록하는 것을 특징으로 하는 형태보존 암호화가 적용된 영지식증명 기반의 블록체인 시스템.
The method according to claim 1,
The block-
Wherein the new data composed of the data encrypted by the shape preservation encryption and the new data composed of the releasable data is registered as a key value of the block.
삭제delete 단말에 의해, 블록체인에 등록하고자 하는 정보 중에서 비공개하고자 하는 데이터와 조회 관리와 이력 관리와 데이터 통계 관리에 사용되는 공개 가능한 데이터를 확인하는 단계;
상기 단말에 의해, 상기 확인된 비공개하고자 하는 데이터에 대해서 미리 설정된 형태보존 암호화를 적용하여 암호화하는 단계;
상기 단말에 의해, 형태보존 암호화된 데이터와 상기 확인된 공개 가능한 데이터를 포함하는 신규 데이터를 생성하는 단계;
상기 단말에 의해, 상기 생성된 신규 데이터 및 상기 단말의 식별 정보를 전송하는 단계;
블록체인 서버에 의해, 상기 단말로부터 전송되는 신규 데이터를 블록의 키 값으로 블록체인 네트워크에 트랜잭션으로 등록하는 단계;
다른 단말에 의해, 상기 블록체인 서버에 등록된 복수의 키 값 중에서 상기 신규 데이터와 관련한 키 값이 선택될 때, 상기 블록체인 서버로부터 제공되는 상기 키 값을 수신하는 단계;
상기 다른 단말에 의해, 상기 키 값에 포함된 형태보존 암호화에 의해 암호화된 데이터에 대한 대칭키가 없을 때, 상기 키 값 중에서 공개 정보로 설정된 공개 가능한 데이터의 내용만을 표시하는 단계; 및
상기 다른 단말에 의해, 상기 키 값에 포함된 형태보존 암호화에 의해 암호화된 데이터에 대한 대칭키가 있을 때, 상기 키 값 중에서 상기 형태보존 암호화에 의해 암호화된 데이터를 상기 대칭키를 통해 복호화하여 상기 비공개하고자 하는 데이터를 확인하고, 상기 확인된 비공개하고자 하는 데이터와 상기 키 값에 포함된 공개 정보로 설정된 공개 가능한 데이터의 내용을 함께 표시하는 단계를 포함하며,
상기 단말은,
지케이스나크 영지식증명을 통해 상기 비공개하고자 하는 데이터가 포함된 상기 키 값에 대해 정보에 대한 사실 여부를 확인해줄 수 있는 결과값인 상기 공개 정보로 설정된 공개 가능한 데이터를 근거로 조회 관리, 이력 관리 및 데이터 통계 관리 기능을 수행하는 것을 특징으로 하는 형태보존 암호화가 적용된 영지식증명 기반의 블록체인 시스템의 제어 방법.
Confirming data to be unlisted from the information to be registered in the block chain, disclosable data used for query management, history management, and data statistics management by the terminal;
Encrypting the confirmed data to be secretly applied by the terminal by applying preset shape-preserving encryption;
Generating, by the terminal, new data including shape-preserved encrypted data and the identified openable data;
Transmitting the generated new data and the identification information of the terminal by the terminal;
Registering new data transmitted from the terminal by a block chain server as a transaction in a block-chain network with a key value of the block;
Receiving, by another terminal, the key value provided from the block chain server when a key value related to the new data is selected from a plurality of key values registered in the block chain server;
Displaying only the content of the openable data set as the open information among the key values when there is no symmetric key for the data encrypted by the shape preserving encryption included in the key value by the other terminal; And
When there is a symmetric key for the data encrypted by the shape preserving encryption included in the key value, the data encrypted by the shape preserving encryption is decrypted by the other terminal through the symmetric key, Displaying the data to be privately disclosed and the contents of the openable data set as the public information included in the key value together with the confirmed private data,
The terminal,
Based on the publicly available data set as the public information, which is a result value that can confirm whether the information about the key value including the data to be non-publicized is true or not through the proof-of- And a data statistic management function. The method of controlling a block chain system based on zero knowledge proof applied with shape preserving encryption.
삭제delete
KR1020190038485A 2019-04-02 2019-04-02 Blockchain system based on Zero Knowledge Proofs with Format-Preserving Encryption and control method thereof KR102000244B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190038485A KR102000244B1 (en) 2019-04-02 2019-04-02 Blockchain system based on Zero Knowledge Proofs with Format-Preserving Encryption and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190038485A KR102000244B1 (en) 2019-04-02 2019-04-02 Blockchain system based on Zero Knowledge Proofs with Format-Preserving Encryption and control method thereof

Publications (1)

Publication Number Publication Date
KR102000244B1 true KR102000244B1 (en) 2019-07-16

Family

ID=67474352

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190038485A KR102000244B1 (en) 2019-04-02 2019-04-02 Blockchain system based on Zero Knowledge Proofs with Format-Preserving Encryption and control method thereof

Country Status (1)

Country Link
KR (1) KR102000244B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110581768A (en) * 2019-10-11 2019-12-17 上海应用技术大学 Registration login system based on block chain zero-knowledge proof and application
WO2021101023A1 (en) * 2019-11-20 2021-05-27 충남대학교산학협력단 System and method for selective verification of zero-knowledge proof for blockchain scalability
CN113326535A (en) * 2021-06-01 2021-08-31 支付宝(杭州)信息技术有限公司 Information verification method and device
WO2021189692A1 (en) * 2020-03-24 2021-09-30 平安科技(深圳)有限公司 Blockchain-based data verification method and apparatus

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101680260B1 (en) 2015-12-14 2016-11-29 주식회사 코인플러그 Certificate issuance system and method based on block chain
KR20170081506A (en) * 2016-01-04 2017-07-12 한국전자통신연구원 Apparatus and method for data storage using partial data encryption
JP2018152050A (en) * 2017-03-10 2018-09-27 セールスフォース ドット コム インコーポレイティッド Block chain version control system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101680260B1 (en) 2015-12-14 2016-11-29 주식회사 코인플러그 Certificate issuance system and method based on block chain
KR20170081506A (en) * 2016-01-04 2017-07-12 한국전자통신연구원 Apparatus and method for data storage using partial data encryption
JP2018152050A (en) * 2017-03-10 2018-09-27 セールスフォース ドット コム インコーポレイティッド Block chain version control system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110581768A (en) * 2019-10-11 2019-12-17 上海应用技术大学 Registration login system based on block chain zero-knowledge proof and application
CN110581768B (en) * 2019-10-11 2022-08-02 上海应用技术大学 Registration login system based on block chain zero-knowledge proof and application
WO2021101023A1 (en) * 2019-11-20 2021-05-27 충남대학교산학협력단 System and method for selective verification of zero-knowledge proof for blockchain scalability
WO2021189692A1 (en) * 2020-03-24 2021-09-30 平安科技(深圳)有限公司 Blockchain-based data verification method and apparatus
CN113326535A (en) * 2021-06-01 2021-08-31 支付宝(杭州)信息技术有限公司 Information verification method and device
CN113326535B (en) * 2021-06-01 2022-05-17 支付宝(杭州)信息技术有限公司 Information verification method and device

Similar Documents

Publication Publication Date Title
KR102000244B1 (en) Blockchain system based on Zero Knowledge Proofs with Format-Preserving Encryption and control method thereof
CN110199510B (en) System and method for streaming media
CN110417750B (en) Block chain technology-based file reading and storing method, terminal device and storage medium
CN111464500B (en) Method, device, equipment and storage medium for sharing protocol data
KR102137673B1 (en) Application connection method and system using same method
CN113364760A (en) Data encryption processing method and device, computer equipment and storage medium
KR102023101B1 (en) Apparatus for preventing forgery of original data and method thereof
US10230697B2 (en) User terminals, and methods and computer-readable recording mediums storing computer programs for transmitting and receiving messages
US20160323100A1 (en) Key generation device, terminal device, and data signature and encryption method
Ban et al. Fine-grained support of security services for resource constrained internet of things
CN110445840B (en) File storage and reading method based on block chain technology
CN114586314A (en) Block chain transaction control based on private key management
KR102559827B1 (en) System for authenticating image based on blockchain and hash encryption technique and method thereof
WO2017066995A1 (en) Method and device for preventing unauthorized access to server
CN105119928A (en) Data transmission method, device and system for Android intelligent terminal
US20150327064A1 (en) Message transmission system and method for a structure of a plurality of organizations
CN109891852B (en) Apparatus and method for providing a user-configured trust domain
US20140149559A1 (en) Virtual private network (vpn) system utilizing configuration message including vpn character configuration string
US9825920B1 (en) Systems and methods for multi-function and multi-purpose cryptography
WO2015186072A1 (en) Encryption and decryption of data between a communications device and smart card with near field communication function
CN106416120B (en) Apparatus, method and computer readable medium for processing information
WO2018207404A1 (en) Authentication system, authentication server, authentication method and authentication program
US20180025151A1 (en) Wireless Memory Device Authentication
KR101680536B1 (en) Method for Service Security of Mobile Business Data for Enterprise and System thereof
US10439999B2 (en) Point-to-point secure data store and communication system and method

Legal Events

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