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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H04L2209/38—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Abstract
Description
본 발명은 형태보존 암호화가 적용된 영지식증명 기반의 블록체인 시스템 및 그의 제어 방법에 관한 것으로서, 특히 블록체인 네트워크에 트랜잭션으로 등록될 데이터 중에서 개인정보 보호 등을 이유로 비공개하고자 하는 데이터에 대해서 형태보존 암호화를 통해 암호화하고, 형태보존 암호화로 암호화된 비공개하고자 하는 데이터와 공개 가능한 데이터를 블록체인 네트워크에 트랜잭션으로 등록하는 형태보존 암호화가 적용된 영지식증명 기반의 블록체인 시스템 및 그의 제어 방법에 관한 것이다.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.
본 발명의 목적은 블록체인 네트워크에 트랜잭션으로 등록될 데이터 중에서 개인정보 보호 등을 이유로 비공개하고자 하는 데이터에 대해서 형태보존 암호화를 통해 암호화하고, 형태보존 암호화로 암호화된 비공개하고자 하는 데이터와 공개 가능한 데이터를 블록체인 네트워크에 트랜잭션으로 등록하는 형태보존 암호화가 적용된 영지식증명 기반의 블록체인 시스템 및 그의 제어 방법을 제공하는 데 있다.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-
도 1에 도시한 바와 같이, 형태보존 암호화가 적용된 영지식증명 기반의 블록체인 시스템(10)은 단말(100), 블록체인 서버(200) 및 다른 단말(300)로 구성된다. 도 1에 도시된 블록체인 시스템(10)의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 1에 도시된 구성 요소보다 많은 구성 요소에 의해 블록체인 시스템(10)이 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 블록체인 시스템(10)이 구현될 수도 있다.As shown in FIG. 1, a
상기 단말(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
도 2에 도시한 바와 같이, 상기 단말(100)은 통신부(110), 저장부(120), 표시부(130), 음성 출력부(140) 및 제어부(150)로 구성된다. 도 2에 도시된 단말(100)의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 2에 도시된 구성 요소보다 많은 구성 요소에 의해 단말(100)이 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 단말(100)이 구현될 수도 있다.2, the
상기 통신부(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
또한, 상기 통신부(110)는 유니버설 시리얼 버스(Universal Serial Bus: USB)를 통해 임의의 단말과 정보를 상호 전송할 수 있다.In addition, the
또한, 상기 통신부(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
또한, 상기 통신부(110)는 상기 제어부(150)의 제어에 의해, 상기 블록체인 서버(200)로부터 제공되는 다양한 정보 등을 수신한다.The
상기 저장부(120)는 다양한 사용자 인터페이스(User Interface: UI), 그래픽 사용자 인터페이스(Graphic User Interface: GUI) 등을 저장한다.The
또한, 상기 저장부(120)는 상기 단말(100)이 동작하는데 필요한 데이터와 프로그램 등을 저장한다.Also, the
즉, 상기 저장부(120)는 상기 단말(100)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 단말(100)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다. 또한, 이러한 응용 프로그램 중 적어도 일부는 단말(100)의 기본적인 기능을 위하여 출고 당시부터 단말(100) 상에 존재할 수 있다. 한편, 응용 프로그램은 상기 저장부(120)에 저장되고, 단말(100)에 설치되어, 제어부(150)에 의하여 상기 단말(100)의 동작(또는 기능)을 수행하도록 구동될 수 있다.That is, the
또한, 상기 저장부(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
또한, 상기 저장부(120)는 상기 제어부(150)의 제어에 의해 상기 수신된 다양한 정보 등을 저장한다.Also, the
상기 표시부(또는 디스플레이부)(130)는 상기 제어부(150)의 제어에 의해 상기 저장부(120)에 저장된 사용자 인터페이스 및/또는 그래픽 사용자 인터페이스를 이용하여 다양한 메뉴 화면 등과 같은 다양한 콘텐츠를 표시할 수 있다. 여기서, 상기 표시부(130)에 표시되는 콘텐츠는 다양한 텍스트 또는 이미지 데이터(각종 정보 데이터 포함)와 아이콘, 리스트 메뉴, 콤보 박스 등의 데이터를 포함하는 메뉴 화면 등을 포함한다. 또한, 상기 표시부(130)는 터치 스크린 일 수 있다.The
또한, 상기 표시부(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
또한, 상기 표시부(130)는 상기 제어부(150)의 제어에 의해 상기 수신된 다양한 정보 등을 표시한다.In addition, the
상기 음성 출력부(140)는 상기 제어부(150)에 의해 소정 신호 처리된 신호에 포함된 음성 정보를 출력한다. 여기서, 상기 스피커(140)에는 리시버(receiver), 스피커(speaker), 버저(buzzer) 등이 포함될 수 있다.The
또한, 상기 음성 출력부(140)는 상기 제어부(150)에 의해 생성된 안내 음성을 출력한다.Also, the
또한, 상기 음성 출력부(140)는 상기 제어부(150)의 제어에 의해 상기 수신된 다양한 정보 등에 대응하는 음성 정보(또는 음향 효과)를 출력한다.In addition, the
상기 제어부(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
또한, 상기 제어부(150)는 상기 블록체인 서버(200)와의 연동에 의해, 상기 블록체인 서버(200)에서 제공하는 전용 앱을 통해 다양한 정보를 블록에 등록하거나, 블록체인에 등록된 블록(또는 정보/키 값)을 확인하기 위한 사용자로 회원 가입하며, 개인 정보 등을 상기 블록체인 서버(200)에 등록한다.In addition, the
또한, 상기 제어부(150)는 해당 단말(100)의 사용자가 가입한 SNS 계정 정보를 이용하여 상기 블록체인 서버(200)에 사용자로 회원 가입할 수도 있다. 여기서, 상기 SNS 계정은 페이스북, 트위터, 카카오 스토리 등과 관련한 정보일 수 있다.Also, the
또한, 회원 가입 절차 수행 시, 상기 제어부(150)는 본인 인증 수단(예를 들어 이동 전화, 신용카드, 아이핀 등 포함)을 통한 인증 기능을 완료해야 상기 블록체인 서버(200)에 대한 회원 가입 절차를 정상적으로 완료할 수 있다.In addition, when performing the membership registration procedure, the
또한, 회원 가입이 완료된 후, 상기 제어부(150)는 상기 블록체인 서버(200)에서 제공하는 서비스를 이용하기 위해서, 상기 블록체인 서버(200)로부터 제공되는 전용 앱(또는 애플리케이션/응용 프로그램/특정 앱)을 해당 단말(100)에 설치한다. 이때, 상기 전용 앱은 정보를 블록체인에 등록하거나 또는 블록체인에 등록된 정보를 확인하기 위한 앱일 수 있다.After the subscription is completed, the
또한, 상기 단말(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
또한, 상기 제어부(150)는 블록체인에 등록하고자 하는 하나의 정보 또는 파일 중에서 비공개하고자 하는 데이터(또는 내용/영역)와 공개 가능한 데이터(또는 모니터링을 위한 데이터)를 확인한다. 이때, 상기 블록체인에 등록하고자 하는 정보는 임의의 형식의 데이터이거나 또는 하나 이상의 데이터를 포함하는 파일일 수 있다.In addition, the
또한, 상기 제어부(150)는 상기 확인된 비공개하고자 하는 데이터에 대해서 도 3에 도시된 미리 설정된 형태보존 암호화(Format-Preserving Encryption: FPE)를 적용하여 암호화한다. 이때, 해당 형태보존 암호화 방식은 대칭키 기반의 암호화 알고리즘으로, 암호화 및 복호화에 같은 키를 사용한다.Also, the
즉, 상기 제어부(150)는 상기 확인된 비공개하고자 하는 데이터에 대해서 상기 형태보존 암호화에 사용되는 미리 설정된 대칭키를 이용해서 상기 비공개하고자 하는 데이터를 암호화할 수 있다.That is, the
여기서, 상기 형태보존 암호화 방식(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
즉, 상기 제어부(150)는 상기 블록체인에 등록할 원본 데이터에 대해서 블록체인의 블록의 키 값을 상기 형태보존 암호화된 데이터와 상기 확인된 공개 가능한 데이터(또는 모니터링을 위한 데이터)로 구성한다. 이때, 키 값은 미리 설정된 크기의 고유한 값일 수 있다.That is, the
또한, 상기 제어부(150)는 미리 구성된 매뉴얼에 따라 상기 암호화된 데이터와 상기 모니터링을 위한 데이터의 위치를 설정(또는 결정)한다.In addition, the
예를 들어, 전체 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
또한, 상기 제어부(150)는 지케이스나크(zkSnarks) 영지식증명을 통해 증명자가 공개하고 싶지 않은 내용을 담은 이전의 수식을 계산을 통해 QAP(이차산술프로그램)로 변환할 수 있다.In addition, the
이에 따라, 구체적으로 해당 정보가 어떤 정보인지는 알 수 없으나, 해당 정보에 대한 사실 여부를 확인해줄 수 있는 결과값이 도출될 수 있다.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
상기 블록체인 서버(200)는 상기 단말(100), 상기 다른 단말(300) 등과 통신한다.The
또한, 상기 블록체인 서버(200)는 상기 단말(100)을 구성하는 상기 통신부(110), 상기 저장부(120), 상기 표시부(130), 상기 음성 출력부(140), 상기 제어부(150)에 대응하는 각 구성 요소를 포함하여 구성할 수 있다.The
또한, 상기 블록체인 서버(200)는 상기 단말(100), 상기 다른 단말(300) 등의 사용자에 대한 회원 가입 절차 등을 수행한다.In addition, the block-
또한, 상기 블록체인 서버(200)는 상기 단말(100), 상기 다른 단말(300) 등의 사용자와 관련한 개인 정보를 등록한다. 이때, 상기 블록체인 서버(200)는 해당 개인 정보 등을 DB 서버(미도시)에 등록(또는 관리)할 수 있다.In addition, the block-
또한, 상기 블록체인 서버(200)는 상기 단말(100)의 사용자 및 상기 다른 단말(300)의 사용자에 대한 회원 관리 기능을 수행한다.In addition, the block-
또한, 상기 블록체인 서버(200)는 해당 블록체인 서버(200)에서 관리하는 다양한 정보를 제공하거나 특정 정보를 블록체인에 등록하거나 조회하기 위한 전용 앱을 상기 단말(100), 상기 다른 단말(300) 등에 제공한다.In addition, the block-
또한, 상기 블록체인 서버(200)는 상기 단말(100)로부터 전송되는 신규 데이터, 상기 단말(100)의 식별 정보 등을 수신한다. 이때, 상기 신규 데이터는 전체 정보 중에서 형태보존 암호화에 의해 암호화된 데이터와 공개 가능한 데이터로 구성된 상태일 수 있다.Also, the block-
또한, 상기 블록체인 서버(200)는 상기 수신된 신규 데이터를 해당 신규 데이터와 관련한 블록의 키 값으로 블록체인에 등록(또는 저장)한다.In addition, the block-
즉, 상기 블록체인 서버(200)는 상기 수신된 형태보존 암호화에 의해 암호화된 데이터와 공개 가능한 데이터를 포함하는 신규 데이터를 해당 신규 데이터와 관련한 블록의 키 값으로 블록체인 네트워크에 트랜잭션으로 등록한다. 이때, 해당 블록의 데이터는 전자문서 위변조 확인을 위해 저장하고자 하는 데이터에 따라 형태보존 암호화, SHA-256 등으로 암호화된 상태일 수 있다.That is, the block-
상기 블록체인은 탈중앙화된(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-
또한, 상기 키는 하드웨어 보안 모듈(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-
또한, 상기 블록체인 서버(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-
본 발명의 실시예에서는 단말(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
또한, 본 발명의 실시예에서는, 상기 블록체인 서버(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-
상기 다른 단말(300)은 상기 단말(100), 상기 블록체인 서버(200) 등과 통신한다.The
또한, 상기 다른 단말(300)은 상기 단말(100)을 구성하는 상기 통신부(110), 상기 저장부(120), 상기 표시부(130), 상기 음성 출력부(140), 상기 제어부(150)에 대응하는 각 구성 요소를 포함하여 구성할 수 있다.The
또한, 상기 다른 단말(300)은 상기 블록체인 서버(200)와의 연동에 의해, 상기 블록체인 서버(200)에서 제공하는 전용 앱을 통해 다양한 정보를 블록에 등록하거나, 블록체인에 등록된 블록(또는 정보/키 값)을 확인하기 위한 사용자로 회원 가입하며, 개인 정보 등을 상기 블록체인 서버(200)에 등록한다.In addition, the
또한, 상기 다른 단말(300)은 해당 다른 단말(300)의 사용자가 가입한 SNS 계정 정보를 이용하여 상기 블록체인 서버(200)에 사용자로 회원 가입할 수도 있다. 여기서, 상기 SNS 계정은 페이스북, 트위터, 카카오 스토리 등과 관련한 정보일 수 있다.Also, the
또한, 회원 가입 절차 수행 시, 상기 다른 단말(300)은 본인 인증 수단(예를 들어 이동 전화, 신용카드, 아이핀 등 포함)을 통한 인증 기능을 완료해야 상기 블록체인 서버(200)에 대한 회원 가입 절차를 정상적으로 완료할 수 있다.In addition, at the time of performing the membership registration procedure, the
또한, 회원 가입이 완료된 후, 상기 다른 단말(300)은 상기 블록체인 서버(200)에서 제공하는 서비스를 이용하기 위해서, 상기 블록체인 서버(200)로부터 제공되는 전용 앱을 해당 단말(100)에 설치한다. 이때, 상기 전용 앱은 정보를 블록체인에 등록하거나 또는 블록체인에 등록된 정보를 확인하기 위한 앱일 수 있다.In order to utilize the service provided by the
또한, 상기 다른 단말(300)에 설치된 전용 앱이 다른 단말(300)의 사용자 선택(또는 사용자 터치/제어)에 따라 실행되는 경우, 상기 다른 단말(300)은 앱 실행 결과 화면을 표시한다. 여기서, 상기 앱 실행 결과 화면은 해당 전용 앱과 관련한 블록체인 서버(200)에서 제공하는 부가 정보를 확인하기 위한 부가 메뉴(또는 항목/버튼), 정보를 등록하기 위한 등록 메뉴, 등록된 정보를 확인하기 위한 확인 메뉴, 해당 다른 단말(300)의 사용자와 관련한 개인 정보를 설정하거나 해당 전용 앱에 대한 기능을 설정하기 위한 설정 메뉴 등을 포함한다.Also, when the dedicated application installed in the
또한, 상기 다른 단말(300)은 해당 블록체인 서버(200)로부터 전송되는 상기 블록체인 서버(200)에 등록된 상기 신규 데이터와 관련한 키 값을 수신한다. 이때, 상기 다른 단말(300)은 상기 신규 데이터와 관련한 키 값에 포함된 형태보존 암호화된 데이터를 복호화하기 위해 상기 대칭키를 가지고 있지 않은 상태일 수 있다.The
즉, 상기 다른 단말(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
또한, 상기 다른 단말(300)은 상기 수신된 키 값 중 공개 정보로 설정된 상기 공개 가능한 데이터의 내용을 표시한다.Also, the
즉, 상기 다른 단말(300)은 상기 수신된 키 값 중 공개 정보로 설정된 상기 공개 가능한 데이터의 내용을 표시한다. 여기서, 상기 키 값 중 공개 정보로 설정된 상기 공개 가능한 데이터에 대해서 대칭키 방식 또는 비대칭키 방식을 통해 암호화가 된 경우, 상기 다른 단말(300)은 미리 공개된 대칭키 또는 개인키를 이용해서 복호화하고, 상기 복호화된 해당 공개 가능한 데이터의 내용을 표시할 수 있다.That is, the
이때, 상기 다른 단말(300)에서 상기 신규 데이터와 관련한 키 값에 포함된 형태보존 암호화된 데이터를 복호화하기 위해 상기 대칭키를 가지고 있지 않은 상태이므로, 상기 다른 단말(300)은 상기 수신된 키 값 중 비공개 정보로 설정된 해당 형태보존 암호화에 의해 암호화된 데이터의 내용을 확인할 수 없다.At this time, since the
또한, 다른 단말(300)은 해당 블록체인 서버(200)로부터 전송되는 상기 블록체인 서버(200)에 등록된 상기 신규 데이터와 관련한 키 값을 수신한다. 이때, 상기 다른 단말(300)은 상기 신규 데이터와 관련한 키 값에 포함된 형태보존 암호화된 데이터를 복호화하기 위해 상기 대칭키를 가지고 있는 상태일 수 있다.The
즉, 상기 다른 단말(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
또한, 상기 다른 단말(300)은 상기 수신된 키 값 중 비공개 정보로 설정된 상기 형태보존 암호화에 의해 암호화된 데이터를 미리 설정된(또는 저장된) 상기 대칭키를 이용해서 복호화한다.Also, the
또한, 상기 다른 단말(300)은 상기 수신된 키 값 중 공개 정보로 설정된 상기 공개 가능한 데이터를 확인한다. 여기서, 여기서, 상기 키 값 중 공개 정보로 설정된 상기 공개 가능한 데이터에 대해서 대칭키 방식 또는 비대칭키 방식을 통해 암호화가 된 경우, 상기 다른 단말(300)은 미리 공개된 대칭키 또는 개인키를 이용해서 복호화할 수 있다.Also, the
또한, 상기 다른 단말(300)은 상기 복호화된 비공개 정보로 설정된 데이터와 상기 확인된(또는 복호화된) 공개 정보로 설정된 데이터를 표시한다.Also, the
이때, 상기 다른 단말(300)에서 상기 신규 데이터와 관련한 키 값에 포함된 형태보존 암호화된 데이터를 복호화하기 위해 상기 대칭키를 가지고 있는 상태이므로, 상기 다른 단말(300)은 상기 수신된 키 값 전체에 대해 해당 내용을 확인할 수 있다.At this time, since the
이와 같이, 블록체인 네트워크에 트랜잭션으로 등록될 데이터 중에서 개인정보 보호 등을 이유로 비공개하고자 하는 데이터에 대해서 형태보존 암호화를 통해 암호화하고, 형태보존 암호화로 암호화된 비공개하고자 하는 데이터와 공개 가능한 데이터를 블록체인 네트워크에 트랜잭션으로 등록할 수 있다.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
다른 일 예로, 제 2 단말(100)은 철수가 한글 문서 파일에 대해 작업하여 신규로 생성한(또는 저장한) ABCD.HWP 파일에 대해서 비공개하고자 하는 데이터(예를 들어 파일명인 ABCD)와, 공개하고자 하는 데이터(예를 들어 파일 생성일자인 2019년 03월 03일 13:10:15)를 각각 확인한다(S410).In another example, the
이후, 상기 단말(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
일 예로, 상기 제 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
다른 일 예로, 상기 제 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-
또한, 상기 블록체인 서버(200)는 상기 수신된 신규 데이터를 해당 신규 데이터와 관련한 블록의 키 값으로 블록체인에 등록(또는 저장)한다.In addition, the block-
즉, 상기 블록체인 서버(200)는 상기 수신된 형태보존 암호화에 의해 암호화된 데이터와 공개 가능한 데이터를 포함하는 신규 데이터를 해당 신규 데이터와 관련한 블록의 키 값으로 블록체인 네트워크에 트랜잭션으로 등록한다. 이때, 해당 블록의 데이터는 전자문서 위변조 확인을 위해 저장하고자 하는 데이터에 따라 형태보존 암호화, SHA-256 등으로 암호화된 상태일 수 있다.That is, the block-
일 예로, 상기 블록체인 서버(200)는 상기 제 1 단말로부터 전송되는 상기 제 3 데이터와 상기 제 1 단말의 식별 정보를 수신한다. 이때, 상기 제 3 데이터는 비공개하고자 하는 데이터인 수신인명, 송금 계좌 정보, 수신 계좌 정보와 이체 일자를 형태보존 암호화한 제 2 데이터와, 원본 데이터인 제 1 데이터 중에서 공개하고자 하는 데이터인 송금자명과 이체 금액을 포함한다.For example, the block-
또한, 상기 블록체인 서버(200)는 상기 수신된 제 3 데이터를 해당 제 3 데이터와 관련한 제 3 블록의 제 3 키 값으로 블록체인 네트워크에 트랜잭션으로 등록한다. 이때, 해당 제 3 키 값과 관련한 제 3 블록의 데이터는 SHA-256으로 암호화된 상태일 수 있다.In addition, the block-
다른 일 예로, 상기 블록체인 서버(200)는 상기 제 2 단말로부터 전송되는 제 12 데이터와 상기 제 2 단말의 식별 정보를 수신한다. 이때, 상기 제 12 데이터는 원본 파일인 ABCD.HWP 파일에서 비공개하고자 하는 데이터인 파일명을 형태보존 암호화한 제 11 데이터와, 원본 파일인 ABCD.HWP 파일 중에서 공개하고자 하는 데이터인 파일 생성일자를 포함한다.In another example, the block-
또한, 상기 블록체인 서버(200)는 상기 수신된 비공개하고자 하는 데이터인 파일명을 형태보존 암호화한 제 11 데이터와, 원본 파일인 ABCD.HWP 파일 중에서 공개하고자 하는 데이터인 파일 생성일자를 포함하는 제 12 데이터를 해당 제 12 데이터와 관련한 제 12 블록의 제 12 키 값으로 상기 블록체인 네트워크에 트랜잭션으로 등록한다(S430).In addition, the block-
이후, 다른 단말(300)은 해당 블록체인 서버(200)로부터 전송되는 상기 블록체인 서버(200)에 등록된 상기 신규 데이터와 관련한 키 값(또는 해당 신규 데이터에 대응하는 블록과 관련한 키 값)을 수신한다. 이때, 상기 다른 단말(300)은 상기 신규 데이터와 관련한 키 값에 포함된 형태보존 암호화된 데이터를 복호화하기 위해 상기 대칭키를 가지고 있지 않은 상태일 수 있다.Then, the
즉, 상기 다른 단말(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
또한, 상기 다른 단말(300)은 상기 수신된 키 값 중 공개 정보로 설정된 상기 공개 가능한 데이터의 내용을 표시한다.Also, the
즉, 상기 다른 단말(300)은 상기 수신된 키 값 중 공개 정보로 설정된 상기 공개 가능한 데이터의 내용을 표시한다. 여기서, 상기 키 값 중 공개 정보로 설정된 상기 공개 가능한 데이터에 대해서 대칭키 방식 또는 비대칭키 방식을 통해 암호화가 된 경우, 상기 다른 단말(300)은 미리 공개된 대칭키 또는 개인키를 이용해서 복호화하고, 상기 복호화된 해당 공개 가능한 데이터의 내용을 표시할 수 있다.That is, the
이때, 상기 다른 단말(300)에서 상기 신규 데이터와 관련한 키 값에 포함된 형태보존 암호화된 데이터를 복호화하기 위해 상기 대칭키를 가지고 있지 않은 상태이므로, 상기 다른 단말(300)은 상기 수신된 키 값 중 비공개 정보로 설정된 해당 형태보존 암호화에 의해 암호화된 데이터의 내용을 확인할 수 없다.At this time, since the
일 예로, 제 11 다른 단말(300)이 상기 블록체인 서버(200)에 접속한 상태에서 사용자 입력에 따라 해당 블록체인 서버(200)에 등록된 복수의 키 값 중에서 상기 제 3 데이터와 관련한 키 값을 선택할 때, 상기 제 11 다른 단말은 상기 블록체인 서버(200)로부터 제공되는 상기 제 3 데이터와 관련한 제 3 키 값을 수신한다. 여기서, 상기 제 3 키 값은 비공개하고자 하는 데이터인 수신인명, 송금 계좌 정보, 수신 계좌 정보와 이체 일자를 형태보존 암호화한 제 2 데이터와, 원본 데이터인 제 1 데이터 중에서 공개하고자 하는 데이터인 송금자명과 이체 금액을 포함한다. 이때, 상기 제 11 다른 단말은 일반 사용자가 소지한 단말로, 비공개 데이터를 확인하기 위한 상기 제 1 대칭키를 소지하지 않은 단말일 수 있다.For example, when the eleventh
또한, 상기 제 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
즉, 상기 다른 단말(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
또한, 상기 다른 단말(300)은 상기 수신된 키 값 중 비공개 정보로 설정된 상기 형태보존 암호화에 의해 암호화된 데이터를 미리 설정된(또는 저장된) 상기 대칭키를 이용해서 복호화한다.Also, the
또한, 상기 다른 단말(300)은 상기 수신된 키 값 중 공개 정보로 설정된 상기 공개 가능한 데이터를 확인한다. 여기서, 여기서, 상기 키 값 중 공개 정보로 설정된 상기 공개 가능한 데이터에 대해서 대칭키 방식 또는 비대칭키 방식을 통해 암호화가 된 경우, 상기 다른 단말(300)은 미리 공개된 대칭키 또는 개인키를 이용해서 복호화할 수 있다.Also, the
또한, 상기 다른 단말(300)은 상기 복호화된 비공개 정보로 설정된 데이터와 상기 확인된(또는 복호화된) 공개 정보로 설정된 데이터를 표시한다.Also, the
이때, 상기 다른 단말(300)에서 상기 신규 데이터와 관련한 키 값에 포함된 형태보존 암호화된 데이터를 복호화하기 위해 상기 대칭키를 가지고 있는 상태이므로, 상기 다른 단말(300)은 상기 수신된 키 값 전체에 대해 해당 내용을 확인할 수 있다.At this time, since the
일 예로, 제 12 다른 단말(300)이 상기 블록체인 서버(200)에 접속하여 해당 블록체인 서버(200)에 등록된 복수의 키 값 중에서 상기 제 12 데이터와 관련한 키 값을 선택할 때, 상기 제 12 다른 단말은 상기 블록체인 서버(200)로부터 제공되는 상기 제 12 데이터와 관련한 제 12 키 값을 수신한다. 여기서, 상기 제 12 키 값은 비공개하고자 하는 데이터인 파일명을 형태보존 암호화한 제 11 데이터와, 원본 파일인 ABCD.HWP 파일 중에서 공개하고자 하는 데이터인 파일 생성일자를 포함하는 제 12 데이터를 포함한다. 이때, 상기 제 12 다른 단말은 일반 사용자가 소지한 단말로, 비공개 데이터를 확인하기 위한 상기 제 1 대칭키를 소지한 단말일 수 있다.For example, when the twelfth
또한, 상기 제 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.
상기 블록체인 서버는,
상기 형태보존 암호화에 의해 암호화된 데이터와 상기 공개 가능한 데이터로 구성된 상기 신규 데이터를 블록의 키 값으로 등록하는 것을 특징으로 하는 형태보존 암호화가 적용된 영지식증명 기반의 블록체인 시스템.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.
상기 단말에 의해, 상기 확인된 비공개하고자 하는 데이터에 대해서 미리 설정된 형태보존 암호화를 적용하여 암호화하는 단계;
상기 단말에 의해, 형태보존 암호화된 데이터와 상기 확인된 공개 가능한 데이터를 포함하는 신규 데이터를 생성하는 단계;
상기 단말에 의해, 상기 생성된 신규 데이터 및 상기 단말의 식별 정보를 전송하는 단계;
블록체인 서버에 의해, 상기 단말로부터 전송되는 신규 데이터를 블록의 키 값으로 블록체인 네트워크에 트랜잭션으로 등록하는 단계;
다른 단말에 의해, 상기 블록체인 서버에 등록된 복수의 키 값 중에서 상기 신규 데이터와 관련한 키 값이 선택될 때, 상기 블록체인 서버로부터 제공되는 상기 키 값을 수신하는 단계;
상기 다른 단말에 의해, 상기 키 값에 포함된 형태보존 암호화에 의해 암호화된 데이터에 대한 대칭키가 없을 때, 상기 키 값 중에서 공개 정보로 설정된 공개 가능한 데이터의 내용만을 표시하는 단계; 및
상기 다른 단말에 의해, 상기 키 값에 포함된 형태보존 암호화에 의해 암호화된 데이터에 대한 대칭키가 있을 때, 상기 키 값 중에서 상기 형태보존 암호화에 의해 암호화된 데이터를 상기 대칭키를 통해 복호화하여 상기 비공개하고자 하는 데이터를 확인하고, 상기 확인된 비공개하고자 하는 데이터와 상기 키 값에 포함된 공개 정보로 설정된 공개 가능한 데이터의 내용을 함께 표시하는 단계를 포함하며,
상기 단말은,
지케이스나크 영지식증명을 통해 상기 비공개하고자 하는 데이터가 포함된 상기 키 값에 대해 정보에 대한 사실 여부를 확인해줄 수 있는 결과값인 상기 공개 정보로 설정된 공개 가능한 데이터를 근거로 조회 관리, 이력 관리 및 데이터 통계 관리 기능을 수행하는 것을 특징으로 하는 형태보존 암호화가 적용된 영지식증명 기반의 블록체인 시스템의 제어 방법.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.
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)
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)
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 |
-
2019
- 2019-04-02 KR KR1020190038485A patent/KR102000244B1/en active IP Right Grant
Patent Citations (3)
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)
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 |