KR20210047666A - Device for generating Hash chain and Method for generating Hash chain to have integrity based on continuous data - Google Patents

Device for generating Hash chain and Method for generating Hash chain to have integrity based on continuous data Download PDF

Info

Publication number
KR20210047666A
KR20210047666A KR1020190131544A KR20190131544A KR20210047666A KR 20210047666 A KR20210047666 A KR 20210047666A KR 1020190131544 A KR1020190131544 A KR 1020190131544A KR 20190131544 A KR20190131544 A KR 20190131544A KR 20210047666 A KR20210047666 A KR 20210047666A
Authority
KR
South Korea
Prior art keywords
hash
sub
data
main
block
Prior art date
Application number
KR1020190131544A
Other languages
Korean (ko)
Other versions
KR102408728B1 (en
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 KR1020190131544A priority Critical patent/KR102408728B1/en
Publication of KR20210047666A publication Critical patent/KR20210047666A/en
Application granted granted Critical
Publication of KR102408728B1 publication Critical patent/KR102408728B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Provided are a hash chain generation apparatus and a hash chain generation method. The hash chain generation apparatus receives main data and sub data, repeats the generation of main hash blocks on a specific cycle by using the main data to generate a main hash chain, and generates sub hash blocks by using the inputted sub data on a cycle corresponding to each of the main hash blocks to generate sub hash chains connected with each of the main hash blocks. Therefore, continuous, cyclical and seamless data is generated as a main hash chain and other data can be compiled as a sub hash chain based on the same, thereby giving integrity to data of a data storage apparatus having a limited storage space and preventing manipulation.

Description

연속데이터 기반 무결성 부여 해쉬체인 생성장치 및 해쉬체인 생성방법 {Device for generating Hash chain and Method for generating Hash chain to have integrity based on continuous data}Device for generating Hash chain and Method for generating Hash chain to have integrity based on continuous data}

본 발명은 해쉬체인 생성장치 및 해쉬체인 생성방법에 관한 것으로, 더욱 상세하게는 무결성 및 조작방지가 필요한 데이터를 위한 해쉬체인 생성장치 및 해쉬체인 생성방법에 관한 것이다. The present invention relates to a hash chain generation apparatus and a hash chain generation method, and more particularly, to a hash chain generation apparatus and a hash chain generation method for data requiring integrity and tampering.

이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The content described in this section merely provides background information on the present embodiment and does not constitute the prior art.

해쉬 체인을 기반으로 무결성과 조작방지 기능을 추가하는 방법은 데이터를 블록 단위로 분할하고 이전블럭의 해쉬값을 현재 생성할 블록에 추가하여 해쉬체인을 완성하는 방법을 사용한다(예, 비트 코인). 도 1은 기존 방식의 컨셉을 도시한 도면을 나타낸다. The method of adding integrity and tamper protection based on the hash chain uses a method of completing the hash chain by dividing the data into blocks and adding the hash value of the previous block to the block to be created (e.g., bitcoin). . 1 shows a diagram showing the concept of the conventional method.

최초 생성된 블록부터 해쉬를 통하여 모든 블록은 체인으로 연결되어 있으며, 모든 데이터를 해쉬 체인 생성 블록이 저장하고 있다. 중간의 특정 데이터의 내용을 변경하고자 하면 데이터를 저장한 모든 노드들의 데이터를 모두 변경해야만 하기 때문에 데이터의 무결성과 조작을 방지하는 효과를 얻을 수 있다. From the first block created, all blocks are chained through a hash, and all data is stored in the hash chain creation block. If you want to change the contents of specific data in the middle, you have to change all the data of all nodes that store the data, so you can get the effect of preventing data integrity and manipulation.

하지만, 해쉬 체인을 생성하는 모든 네트워크의 노드들은 현재까지의 데이터 블록을 모두 저장해야 하기 때문에 막대한 저장공간이 낭비된다. 비트코인과 같은 블록체인을 활용한 코인의 경우는 코인의 이체 이력을 모두 저장하고 있어야한다. 비트코인의 이체내역은 통장의 이체 기록처럼 모든 데이터가 중요하기 때문에 모두 저장한 가치가 있지만, 데이터의 종류에 따라서는 사무실 온도처럼 실제 활용되는 기간이 짧아서 그 시간이 지나가면 가치를 상실하는 데이터도 있다. However, since all the nodes of the network that create the hash chain have to store all the data blocks up to now, a huge amount of storage space is wasted. In the case of a coin using a blockchain such as Bitcoin, all the transfer history of the coin must be stored. Bitcoin's transfer history is worth saving because all data is important like the transfer record of a bankbook, but depending on the type of data, the actual usage period is short, such as office temperature, so data that loses value after that time passes. have.

기존의 해쉬 체인을 활용한 방안에는 데이터 저장 방식에 삭제를 하기 위한 방법이 없어서 생성되는 모든 블록을 저장해야 하는 문제점이 있다. 따라서, 이와 같은 문제점을 해결하기 위한 방안의 모색이 요청된다. There is a problem in that the method using the existing hash chain does not have a method for deleting in the data storage method, so that all blocks created have to be stored. Therefore, it is requested to find a way to solve such a problem.

본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 메인 데이터와 서브 데이터를 입력받고, 메인 데이터를 이용하여 특정 주기로 메인 해쉬블록 생성을 반복함으로써 메인 해쉬체인을 생성하고, 각각의 메인 해쉬블록에 대해 대응되는 주기에 입력된 서브 데이터들을 이용하여 서브 해쉬블록들을 생성함으로써 각각의 메인 해쉬블록에 연결된 서브 해쉬체인들을 생성하는 해쉬체인 생성장치 및 해쉬체인 생성방법을 제공함에 있다. The present invention was conceived to solve the above problems, and an object of the present invention is to generate a main hash chain by receiving main data and sub data, and repeating the generation of the main hash block at a specific period using the main data. , To provide a hash chain generation device and a hash chain generation method for generating sub hash chains connected to each main hash block by generating sub hash blocks using sub data input in a corresponding period for each main hash block. have.

본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical problems to be achieved in the present invention are not limited to the technical problems mentioned above, and other technical problems that are not mentioned will be clearly understood by those of ordinary skill in the technical field to which the present invention belongs from the following description. I will be able to.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 해쉬체인 생성장치는, 특정 주기로 메인 데이터를 입력받고, 서브 데이터를 입력받는 입력부; 및 메인 데이터를 이용하여 특정 주기로 메인 해쉬블록 생성을 반복함으로써 메인 해쉬체인을 생성하고, 각각의 메인 해쉬블록에 대해 대응되는 주기에 입력된 서브 데이터들을 이용하여 서브 해쉬블록들을 생성함으로써 각각의 메인 해쉬블록에 연결된 서브 해쉬체인들을 생성하는 제어부;를 포함한다. According to an embodiment of the present invention for achieving the above object, a hash chain generating apparatus includes: an input unit receiving main data at a specific period and receiving sub data; The main hash chain is created by repeating the generation of the main hash block at a specific period using the main data, and each main hash block is generated by generating sub hash blocks using the sub data input in the corresponding period for each main hash block. It includes; a control unit for generating sub hash chains connected to the block.

그리고, 제어부는, n번째(n은 자연수)로 입력된 제n 메인 데이터에 대해, 이전 메인 해쉬값인 제n-1 메인 해쉬값과 제n 메인 데이터를 이용하여 제n 메인 해쉬값을 생성하며, 제n-1 메인 해쉬값과 제n 메인 데이터와 제n 메인 해쉬값이 함께 저장된 제n 메인 해쉬블록을 생성하고, 특정 주기로 메인 해쉬블록 생성을 반복함으로써 메인 해쉬체인을 생성할 수도 있다. Then, the controller generates an n-th main hash value using the n-th main hash value and the n-th main data, which are the previous main hash values, for the n-th main data input as the n-th (n is a natural number). , The main hash chain may be generated by generating an n-th main hash block in which the n-th main hash value, the n-th main data, and the n-th main hash value are stored together, and the generation of the main hash block is repeated at a specific period.

또한, 제어부는, 제n 메인 해쉬블록에 대응되는 주기 동안 입력된 첫번째 서브 데이터인 제(n,1) 서브데이터에 대해, 제n 메인 해쉬값과 제(n,1) 서브 데이터를 이용하여 제(n,1) 서브 해쉬값을 생성하며, 제n 메인 해쉬값과 제(n,1) 서브 데이터와 제(n,1) 서브 해쉬값이 함께 저장된 제(n,1) 서브 해쉬블록을 생성할 수도 있다. In addition, the control unit uses the n-th main hash value and the (n, 1)-th sub-data for the first sub-data input during the period corresponding to the n-th main hash block. Generates the (n,1) sub hash value, and generates the (n,1)th sub hash block in which the nth main hash value, the (n,1)th sub data, and the (n,1)th sub hash value are stored together. You may.

그리고, 제어부는, 제n 메인 해쉬블록에 대응되는 주기 동안 m번째(m은 자연수)로 입력된 서브 데이터인 제(n,m) 서브데이터에 대해, 제(n,m-1) 서브 해쉬값과 제(n,m) 서브 데이터를 이용하여 제(n,m) 서브 해쉬값을 생성하며, 제(n,m-1) 서브 해쉬값과 제(n,m) 서브 데이터와 제(n,m) 서브 해쉬값이 함께 저장된 제(n,m) 서브 해쉬블록을 생성하며, 제n 메인 해쉬블록에 대응되는 주기 동안 제(n,m) 서브 해쉬블록 생성을 반복함으로써 제n 서브 해쉬체인을 생성할 수도 있다. And, the control unit, for the (n, m)th sub-data, which is the m-th (m is a natural number) inputted sub-data during the period corresponding to the n-th main hash block, the (n, m-1)-th sub hash value The (n,m)th sub hash value is generated using the task (n,m)-th sub-data, and the (n,m-1)th sub hash value, the (n,m)th sub-data, and the (n,m)th sub hash value m) Generates the (n,m)th sub hash block in which the sub hash value is stored together, and repeats the generation of the (n, m)th sub hash block during the period corresponding to the n-th main hash block, thereby creating the n-th sub hash chain. You can also create it.

또한, 메인 데이터는, 특정 주기로 끊김 없이 입력되는 데이터일 수도 있다. Also, the main data may be data that is continuously input at a specific period.

그리고, 메인 데이터는, 데이터의 변화가 연속적인 데이터일 수도 있다. In addition, the main data may be data in which changes in data are continuous.

또한, 메인 데이터는, 카메라로부터 입력되는 비디오 데이터 또는 GPS로부터 입력되는 위치 데이터일 수도 있다. Also, the main data may be video data input from a camera or location data input from a GPS.

그리고, 서브 데이터는, 불규칙적으로 입력되는 데이터일 수도 있다. In addition, the sub data may be data that is input irregularly.

또한, 서브 데이터는, 센서에 의해 감지되는 데이터인 센서 데이터일 수도 있다. In addition, the sub data may be sensor data, which is data sensed by the sensor.

한편, 본 발명의 일 실시예에 따른, 해쉬체인 생성장치에 의한 해쉬체인 생성방법은, 특정 주기로 메인 데이터를 입력받고, 서브 데이터를 입력받는 단계; 메인 데이터를 이용하여 특정 주기로 메인 해쉬블록 생성을 반복함으로써 메인 해쉬체인을 생성하는 단계; 및 각각의 메인 해쉬블록에 대해 대응되는 주기에 입력된 서브 데이터들을 이용하여 서브 해쉬블록들을 생성함으로써 각각의 메인 해쉬블록에 연결된 서브 해쉬체인들을 생성하는 단계;를 포함한다. On the other hand, according to an embodiment of the present invention, a method for generating a hash chain by a hash chain generating device includes the steps of: receiving main data and receiving sub-data at a specific period; Generating a main hash chain by repeating the generation of the main hash block at a specific period using the main data; And generating sub hash blocks connected to each main hash block by generating sub hash blocks using sub data input in a period corresponding to each main hash block.

한편, 본 발명의 일 실시예에 따른, 해쉬체인 생성장치에 의한 해쉬체인 생성방법을 실행하는 컴퓨터 프로그램이 수록된 컴퓨터로 읽을 수 있는 기록매체는, 특정 주기로 메인 데이터를 입력받고, 서브 데이터를 입력받는 단계; 메인 데이터를 이용하여 특정 주기로 메인 해쉬블록 생성을 반복함으로써 메인 해쉬체인을 생성하는 단계; 및 각각의 메인 해쉬블록에 대해 대응되는 주기에 입력된 서브 데이터들을 이용하여 서브 해쉬블록들을 생성함으로써 각각의 메인 해쉬블록에 연결된 서브 해쉬체인들을 생성하는 단계;를 포함하는 해쉬체인 생성방법을 실행하는 컴퓨터 프로그램이 수록된다. Meanwhile, a computer-readable recording medium containing a computer program for executing a method for generating a hash chain by a hash chain generating device according to an embodiment of the present invention receives main data and sub-data at a specific cycle. step; Generating a main hash chain by repeating the generation of the main hash block at a specific period using the main data; And generating sub hash chains connected to each main hash block by generating sub hash blocks by using the sub data input in a period corresponding to each main hash block. Computer programs are included.

한편, 본 발명의 일 실시예에 따른, 해쉬체인 생성장치는, 메인 데이터와 서브 데이터를 입력받는 입력부; 및 n번째(n은 자연수)로 입력된 제n 메인 데이터에 대해, 이전 메인 해쉬값인 제n-1 메인 해쉬값과 제n 메인 데이터를 이용하여 제n 메인 해쉬값을 생성하며, 제n-1 메인 해쉬값과 제n 메인 데이터와 제n 메인 해쉬값이 함께 저장된 제n 메인 해쉬블록을 생성하고, 특정 주기로 메인 해쉬블록 생성을 반복함으로써 메인 해쉬체인을 생성하고, 제n 메인 해쉬블록에 대응되는 주기 동안 입력된 첫번째 서브 데이터인 제(n,1) 서브데이터에 대해, 제n 메인 해쉬값과 제(n,1) 서브 데이터를 이용하여 제(n,1) 서브 해쉬값을 생성하며, 제n 메인 해쉬값과 제(n,1) 서브 데이터와 제(n,1) 서브 해쉬값이 함께 저장된 제(n,1) 서브 해쉬블록을 생성하며, 제n 메인 해쉬블록에 대응되는 주기 동안 m번째(m은 자연수)로 입력된 서브 데이터인 제(n,m) 서브데이터에 대해, 제(n,m-1) 서브 해쉬값과 제(n,m) 서브 데이터를 이용하여 제(n,m) 서브 해쉬값을 생성하며, 제(n,m-1) 서브 해쉬값과 제(n,m) 서브 데이터와 제(n,m) 서브 해쉬값이 함께 저장된 제(n,m) 서브 해쉬블록을 생성하며, 제n 메인 해쉬블록에 대응되는 주기 동안 제(n,m) 서브 해쉬블록 생성을 반복함으로써 제n 서브 해쉬체인을 생성하는 제어부;를 포함한다. Meanwhile, an apparatus for generating a hash chain according to an embodiment of the present invention includes: an input unit receiving main data and sub data; And with respect to the n-th main data input as the n-th (n is a natural number), an n-th main hash value is generated using the n-1th main hash value and the n-th main data, which are the previous main hash values, and the n-th main hash value. 1 A main hash chain is created by creating an n-th main hash block in which the main hash value, the n-th main data, and the n-th main hash value are stored, and the generation of the main hash block is repeated at a specific period, and corresponding to the n-th main hash block For the (n,1)-th sub-data, which is the first sub-data input during a period of time, the (n, 1)-th sub hash value is generated by using the n-th main hash value and the (n, 1)-th sub data, An n-th main hash value, (n,1)-th sub-data and (n, 1)-th sub hash block are stored together, and during a period corresponding to the n-th main hash block For the (n,m)th sub-data, which is the sub-data input as the m-th (m is a natural number), the (n,m-1)th sub hash value and the (n,m)th sub-data are used to ,m) A sub hash value is generated, and the (n,m)th sub hash value, the (n,m)th sub-data, and the (n,m)th sub hash value are stored together And a control unit that generates a hash block and generates an n-th sub hash chain by repeating generation of the (n,m)-th sub hash block during a period corresponding to the n-th main hash block.

본 발명의 다양한 실시예에 따르면, 메인 데이터와 서브 데이터를 입력받고, 메인 데이터를 이용하여 특정 주기로 메인 해쉬블록 생성을 반복함으로써 메인 해쉬체인을 생성하고, 각각의 메인 해쉬블록에 대해 대응되는 주기에 입력된 서브 데이터들을 이용하여 서브 해쉬블록들을 생성함으로써 각각의 메인 해쉬블록에 연결된 서브 해쉬체인들을 생성하는 해쉬체인 생성장치 및 해쉬체인 생성방법을 제공할 수 있게 되어, 연속적, 주기적, 끊김없는 데이터를 메인 해쉬체인으로 생성하고 이를 기반으로 다른 데이터를 서브 해쉬체인으로 엮을 수 있게 되므로, 한정된 저장공간을 가지는 데이터 저장 장치의 데이터에 무결성을 부여하고 조작방지를 할 수 있게 된다. According to various embodiments of the present invention, the main hash chain is generated by receiving main data and sub-data, and repeating the generation of the main hash block at a specific period using the main data, and at a corresponding period for each main hash block. By creating sub hash blocks using the input sub data, it is possible to provide a hash chain generation device and a hash chain generation method that creates sub hash chains connected to each main hash block, thereby providing continuous, periodic, and seamless data. Since it is created as a main hash chain and other data can be woven into a sub hash chain based on this, it is possible to impart integrity to data in a data storage device with a limited storage space and prevent tampering.

본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에 서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable in the present invention are not limited to the above-mentioned effects, and other effects not mentioned can be clearly understood by those of ordinary skill in the art from the following description. will be.

본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시 예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 특징을 설명한다.
도 1은 기존 방식의 컨셉을 도시한 도면,
도 2는 본 발명의 일 실시예에 따른, 해쉬체인 생성장치의 구성을 도시한 블록도,
도 3은 본 발명의 일 실시예에 따른, 해쉬체인 생성방법을 설명하기 위해 제공되는 흐름도,
도 4는 본 발명의 일 실시예에 따른, 메인 해쉬체인의 구조를 도시한 도면,
도 5는 본 발명의 일 실시예에 따른, 메인 해쉬체인과 서브 해쉬체인의 구조를 도시한 도면이다.
BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are included as part of the detailed description to aid in understanding of the present invention, provide embodiments of the present invention, and describe the technical features of the present invention together with the detailed description.
1 is a diagram showing the concept of the conventional method,
2 is a block diagram showing the configuration of an apparatus for generating a hash chain according to an embodiment of the present invention;
3 is a flowchart provided to explain a method of generating a hash chain according to an embodiment of the present invention,
4 is a diagram showing the structure of a main hash chain according to an embodiment of the present invention,
5 is a diagram showing the structure of a main hash chain and a sub hash chain according to an embodiment of the present invention.

본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다.In order to clarify the features and advantages of the problem solving means of the present invention, the present invention will be described in more detail with reference to specific embodiments of the present invention shown in the accompanying drawings.

다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.However, in the following description and the accompanying drawings, detailed descriptions of known functions or configurations that may obscure the subject matter of the present invention will be omitted. In addition, it should be noted that the same components are denoted by the same reference numerals as much as possible throughout the drawings.

이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.The terms or words used in the following description and drawings should not be interpreted as being limited to their usual or dictionary meanings, and the inventor may appropriately define the concept of terms for describing his or her invention in the best way. It should be interpreted as a meaning and concept consistent with the technical idea of the present invention based on the principle that there is.

따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.Therefore, the embodiments described in the present specification and the configurations shown in the drawings are only the most desirable embodiments of the present invention, and do not represent all the technical ideas of the present invention. It should be understood that there may be equivalents and variations.

또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다. In addition, terms including ordinal numbers such as first and second are used to describe various elements, and are used only for the purpose of distinguishing one element from other elements, and to limit the elements. Not used. For example, without departing from the scope of the present invention, the second element may be referred to as the first element, and similarly, the first element may be referred to as the second element.

더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을의미한다.In addition, when a component is referred to as being "connected" or "connected" to another component, it means that it is logically or physically connected, or can be connected.

다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.In other words, it should be understood that a component may be directly connected or connected to another component, but another component may exist in the middle, or may be indirectly connected or connected.

또한, 본 명세서에서 기술되는 "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In addition, terms such as "comprises" or "have" described herein are intended to designate the existence of features, numbers, steps, actions, components, parts, or a combination thereof described in the specification. It is to be understood that the above other features or the possibility of the presence or addition of numbers, steps, actions, components, parts, or combinations thereof are not preliminarily excluded.

또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.In addition, terms such as "... unit", "... group", and "module" described in the specification mean a unit that processes at least one function or operation, which can be implemented by hardware or software or a combination of hardware and software. have.

또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.In addition, "a or an", "one", "the" and similar words are indicated otherwise in this specification in the context of describing the present invention (especially in the context of the following claims). It may be used in a sense encompassing both the singular and the plural, unless otherwise clearly contradicted by context.

이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다. Hereinafter, the present invention will be described in more detail with reference to the drawings.

도 2는 본 발명의 일 실시예에 따른, 해쉬체인 생성장치의 구성을 도시한 블록도이다. 도 2에 도시된 바와 같이, 해쉬체인 생성장치(100)는 입력부(110), 제어부(120) 및 저장부(130)를 포함한다. 2 is a block diagram showing the configuration of an apparatus for generating a hash chain according to an embodiment of the present invention. As shown in FIG. 2, the hash chain generating apparatus 100 includes an input unit 110, a control unit 120, and a storage unit 130.

입력부(110)는 외부로부터 계속적으로 데이터를 입력받는다. 구체적으로, 입력부(110)는 차량의 블랙박스나 사고영상 저장장치(ADR: Accident Data Recoder)에 의해 생성되는 데이터를 계속적으로 입력받을 수도 있고, 비트코인과 같은 해쉬체인(또는 블록체인) 기반 가상화폐의 경우 거래 내역에 대한 데이터를 계속적으로 입력받을 수도 있다. 이와 같이, 입력부(110)는 외부로부터 다양한 종류의 데이터를 직접적으로 또는 유무선 네트워크를 통해 계속적으로 입력받을 수 있다. The input unit 110 continuously receives data from the outside. Specifically, the input unit 110 may continuously receive data generated by a black box of a vehicle or an accident image storage device (ADR: Accident Data Recoder), or a hash chain (or block chain)-based virtual device such as bitcoin. In the case of currency, data on transaction details may be continuously input. In this way, the input unit 110 may continuously receive various types of data directly from the outside or through a wired/wireless network.

구체적으로, 입력부(110)는 특정 주기로 메인 데이터를 입력받고, 서브 데이터를 입력받는다. 여기에서, 메인 데이터는, 특정 주기로 끊김 없이 입력되는 데이터이고, 데이터의 변화가 연속적인 데이터일 수 있다. 예를 들어, 메인 데이터는, 카메라로부터 입력되는 비디오 데이터 또는 GPS(Global Positioning System)로부터 입력되는 위치 데이터가 될 수도 있다. Specifically, the input unit 110 receives main data and sub data at a specific period. Here, the main data may be data that is continuously input at a specific period, and a change of data may be continuous data. For example, the main data may be video data input from a camera or location data input from a Global Positioning System (GPS).

그리고, 서브 데이터는 불규칙적으로 입력되는 데이터이다. 즉, 서브 데이터는 센서에 의해 감지되는 데이터인 센서 데이터일 수도 있다. 예를 들어, 서브 데이터는 충돌 감지 센서에 의해 감지되는 충돌 감지 데이터가 될 수도 있다. 또한, 서브 데이터는 사고 영상 저장 장치에 의해 녹화된 영상 데이터가 될 수도 있음은 물론이다. In addition, the sub data is data that is input irregularly. That is, the sub data may be sensor data, which is data sensed by the sensor. For example, the sub data may be collision detection data detected by a collision detection sensor. In addition, of course, the sub data may be image data recorded by the accident image storage device.

예를 들어, 차량의 블랙박스로부터 데이터가 입력부(110)로 입력된다면, 메인 데이터는 주행 영상 데이터 또는 GPS 위치 데이터가 될 수 있고, 서브 데이터는 이벤트 영상 데이터 또는 충돌 영상 데이터가 될 수 있다. For example, if data is input from a black box of a vehicle to the input unit 110, the main data may be driving image data or GPS location data, and the sub data may be event image data or collision image data.

제어부(120)는 해쉬체인 생성장치(100)의 전반적인 동작을 제어한다. 구체적으로, 제어부(120)는 도 3의 해쉬체인 생성방법을 수행한다. 도 3은 본 발명의 일 실시예에 따른, 해쉬체인 생성방법을 설명하기 위해 제공되는 흐름도이다. The control unit 120 controls the overall operation of the hash chain generating device 100. Specifically, the control unit 120 performs the method of generating a hash chain of FIG. 3. 3 is a flowchart provided to explain a method of generating a hash chain according to an embodiment of the present invention.

먼저, 제어부(120)는 메인 데이터 및 서브 데이터가 입력되도록 입력부(110)를 제어한다(S210).First, the control unit 120 controls the input unit 110 to input main data and sub data (S210).

그리고, 제어부(120)는 메인 데이터를 이용하여 특정 주기로 메인 해쉬블록 생성을 반복함으로써 메인 해쉬체인을 생성한다(S220). Then, the control unit 120 generates a main hash chain by repeating the generation of the main hash block at a specific period using the main data (S220).

또한, 제어부(120)는 각각의 메인 해쉬블록에 대해 대응되는 주기에 입력된 서브 데이터들을 이용하여 서브 해쉬블록들을 생성함으로써 각각의 메인 해쉬블록에 연결된 서브 해쉬체인들을 생성한다(S230). In addition, the control unit 120 generates sub hash blocks connected to each main hash block by generating sub hash blocks using sub data input in a period corresponding to each main hash block (S230).

여기에서, 해쉬블록은 해쉬 체인에 연결되는 하나의 데이터 단위를 나타내는 것으로, 블록체인의 블록을 나타낸다. 해쉬블록은 이전 해쉬값과 일정 크기의 데이터와 생성된 해쉬값이 함께 저장되며, 생성된 해쉬값은 이전 해쉬값과 데이터를 이용하여 생성되는 해쉬값을 나타낸다. 예를 들어, 제어부(120)는 입력되는 데이터가 동영상일 경우 하나의 영상 프레임을 하나의 데이터 블록하여 해쉬블록으로 설정할 수도 있고, 데이터가 가상화폐의 거래내역일 경우 일정 시간동안의 거래내역을 하나의 데이터 블록하여 해쉬블록을 설정할 수도 있다. Here, the hash block represents one data unit connected to the hash chain, and represents a block of the block chain. The hash block stores the previous hash value, the data of a certain size, and the generated hash value together, and the generated hash value represents the hash value generated by using the previous hash value and data. For example, if the input data is a video, the control unit 120 may set one image frame as a hash block by making one data block, and if the data is a transaction detail of a virtual currency, the control unit 120 may set one transaction history for a certain period of time. A hash block can also be set by using a data block of.

또한, 특정 주기는 해쉬블록을 생성하는 단위 주기를 나타내는 것으로, 시간 주기, 데이터 크기 주기 등의 다양한 주기가 될 수 있다. 예를 들어, 제어부(120)는 입력되는 데이터에 대해 1분 주기로 해쉬블록을 설정할 수도 있고, 입력되는 데이터에 대해 1메가바이트 단위로 해쉬블록을 형성할 수도 있으며, 입력되는 데이터가 동영상일 경우 하나의 영상 프레임 단위로 해쉬블록을 생성할 수도 있다.In addition, a specific period indicates a unit period for generating a hash block, and may be various periods such as a time period and a data size period. For example, the control unit 120 may set a hash block for input data at a 1-minute interval, or may form a hash block for input data in units of 1 megabyte. A hash block may be generated in units of video frames of.

그리고, 해쉬체인(Hash Chain)은 하나의 해쉬규칙에 따라 생성되는 해쉬값들로 형성되는 체인들을 나타낸다. 제어부(120)는 하나의 메인 해쉬체인을 생성하면서, 각각의 메인 해쉬블록에 대해 대응되는 주기에 입력된 서브 데이터들을 이용하여 서브 해쉬블록들을 생성함으로써 각각의 메인 해쉬블록에 연결된 서브 해쉬체인들을 생성한다. And, Hash Chain represents chains formed of hash values generated according to one hash rule. The control unit 120 generates sub hash chains connected to each main hash block by generating sub hash blocks using sub data input in a period corresponding to each main hash block while generating one main hash chain. do.

이 때, 제어부(120)는 해쉬 알고리즘을 적용함으로써, 해쉬체인의 해쉬값을 생성한다. 여기에서, 해쉬 알고리즘은 다양한 알고리즘이 적용될 수 있으며, 예를 들어, SHA-256 해쉬 알고리즘이 될 수도 있다.At this time, the control unit 120 generates a hash value of the hash chain by applying a hash algorithm. Here, the hash algorithm may be applied to various algorithms, for example, may be a SHA-256 hash algorithm.

구체적으로, 메인 해쉬체인을 생성하는 과정은 도 4를 참고하여 설명한다. 도 4는 본 발명의 일 실시예에 따른, 메인 해쉬체인의 구조를 도시한 도면이다. Specifically, the process of generating the main hash chain will be described with reference to FIG. 4. 4 is a diagram showing the structure of a main hash chain according to an embodiment of the present invention.

제어부(120)는 n번째(n은 자연수)로 입력된 제n 메인 데이터에 대해, 이전 메인 해쉬값인 제n-1 메인 해쉬값과 제n 메인 데이터를 이용하여 제n 메인 해쉬값을 생성하며, 제n-1 메인 해쉬값과 제n 메인 데이터와 제n 메인 해쉬값이 함께 저장된 제n 메인 해쉬블록을 생성하고, 특정 주기로 메인 해쉬블록 생성을 반복함으로써 메인 해쉬체인을 생성한다. The controller 120 generates an n-th main hash value with respect to the n-th main data input as the n-th (n is a natural number), using the n-1th main hash value and the n-th main data, which are the previous main hash values, and , An n-th main hash block in which the n-th main hash value, the n-th main data, and the n-th main hash value are stored together, and a main hash chain is generated by repeating the generation of the main hash block at a specific period.

도 4에는 메인 체인의 5개의 메인 해쉬블록(410, 420, 430, 440, 450)이 서로 연결되어 체인으로 구성된 것을 확인할 수 있다. n번째 메인 해쉬블록인 제n 메인 해쉬블록(410)은 제n-1 메인 해쉬값인 CH(n-1)과 제n 메인 데이터인 CD(n)과 제n 메인 해쉬값인 CH(n)이 함께 저장되어 있는 것을 확인할 수 있다. 그리고, n+1번째 해쉬블록인 제n+1 메인 해쉬블록(420)은 제n 메인 해쉬값인 CH(n)과 제n+1 메인 데이터인 CD(n+1)과 제n+1 메인 해쉬값인 CH(n+1)이 함께 저장되어 있는 것을 확인할 수 있다. 또한, 제n 메인 해쉬블록(410)과 제n+1 메인 해쉬블록(420)은 제n 메인 해쉬값인 CH(n)으로 서로 연결되어 있는 것을 확인할 수 있다. 그리고, 이와 같은 방식으로 5개의 메인 해쉬블록(410, 420, 430, 440, 450)이 서로 연결되어 메인 해쉬체인을 구성하고 있는 것을 확인할 수 있다. In FIG. 4, it can be seen that the five main hash blocks 410, 420, 430, 440, and 450 of the main chain are connected to each other to form a chain. The n-th main hash block 410, which is the n-th main hash block, includes CH(n-1) as the n-1th main hash value, CD(n) as the n-th main data, and CH(n) as the n-th main hash value. You can see that this is stored together. In addition, the n+1th main hash block 420, which is the n+1th hash block, is CH(n), which is the nth main hash value, and CD(n+1), which is the n+1th main data, and the n+1th main hash block. It can be seen that the hash value, CH(n+1), is stored together. In addition, it can be seen that the n-th main hash block 410 and the n+1-th main hash block 420 are connected to each other by CH(n), which is an n-th main hash value. In this way, it can be seen that the five main hash blocks 410, 420, 430, 440, and 450 are connected to each other to form a main hash chain.

이와 같은 방식으로, 제어부(120)는 메인 해쉬체인을 생성하게 된다. In this way, the control unit 120 generates a main hash chain.

그리고, 제어부(120)는 각각의 메인 해쉬블록에 대해 대응되는 주기에 입력된 서브 데이터들을 이용하여 서브 해쉬블록들을 생성함으로써 각각의 메인 해쉬블록에 연결된 서브 해쉬체인들을 생성한다. 구체적으로, 도 5는 본 발명의 일 실시예에 따른, 메인 해쉬체인과 서브 해쉬체인의 구조를 도시한 도면이다. In addition, the control unit 120 generates sub hash blocks connected to each main hash block by generating sub hash blocks using sub data input in a period corresponding to each main hash block. Specifically, FIG. 5 is a diagram showing the structure of a main hash chain and a sub hash chain according to an embodiment of the present invention.

도 5에 도시된 바와 같이, 메인 해쉬체인의 5개의 메인 해쉬블록(410, 420, 430, 440, 450)은 각각 서브 해쉬체인이 연결되어 있는 것을 확인할 수 있다. 구체적으로, 제n 메인 해쉬블록(410)인 CH(n)은 H(n,1), H(n,2), H(n,3), H(n,4)로 구성된 제n 서브 해쉬체인이 연결되어 있는 것을 확인할 수 있다. 그리고, 제n+1 메인 해쉬블록(420)인 CH(n+1)은 H(n+1,1) 내지 H(n+1,6)로 구성된 제n+1 서브 해쉬체인이 연결되어 있는 것을 확인할 수 있다. 또한, 제n+2 메인 해쉬블록(430)인 CH(n+2)은 H(n+2,1) 내지 H(n+2,3)로 구성된 제n+2 서브 해쉬체인이 연결되어 있는 것을 확인할 수 있다. 그리고, 제n+3 메인 해쉬블록(440)인 CH(n+3)은 H(n+3,1) 내지 H(n+3,5)로 구성된 제n+3 서브 해쉬체인이 연결되어 있는 것을 확인할 수 있다. 또한, 제n+4 메인 해쉬블록(450)인 CH(n+4)는 H(n+4,1) 내지 H(n+4,4)로 구성된 제n+4 서브 해쉬체인이 연결되어 있는 것을 확인할 수 있다.As shown in FIG. 5, it can be seen that each of the five main hash blocks 410, 420, 430, 440, and 450 of the main hash chain is connected to the sub hash chain. Specifically, the n-th main hash block 410, CH(n), is an n-th sub hash composed of H(n,1), H(n,2), H(n,3), and H(n,4) You can see that the chain is connected. In addition, CH(n+1), which is the n+1th main hash block 420, is connected to the n+1th sub hash chain consisting of H(n+1,1) to H(n+1,6). Can be confirmed. In addition, CH(n+2), which is the n+2th main hash block 430, is connected to the n+2th sub hash chain consisting of H(n+2,1) to H(n+2,3). Can be confirmed. And, CH(n+3), which is the n+3th main hash block 440, is connected to the n+3th sub hash chain consisting of H(n+3,1) to H(n+3,5). Can be confirmed. In addition, CH(n+4), which is the n+4th main hash block 450, is connected to the n+4th sub hash chain consisting of H(n+4,1) to H(n+4,4). Can be confirmed.

제어부(120)는 메인 해쉬블록 각각에 대해 이와 같은 서브 해쉬체인을 생성하기 위해서, 우선 제n 메인 해쉬블록에 대응되는 주기(T) 동안 입력된 첫번째 서브 데이터인 제(n,1) 서브데이터에 대해, 제n 메인 해쉬값과 제(n,1) 서브 데이터를 이용하여 제(n,1) 서브 해쉬값을 생성하며, 제n 메인 해쉬값과 제(n,1) 서브 데이터와 제(n,1) 서브 해쉬값이 함께 저장된 제(n,1) 서브 해쉬블록을 생성하게 된다. 제(n,1) 서브 해쉬블록은 도 5에서 H(n,1)에 대응되게 된다. In order to generate such a sub hash chain for each of the main hash blocks, the control unit 120 first applies the first sub data, which is the first sub data input during the period T corresponding to the n-th main hash block, to the (n, 1)-th sub data. On the other hand, the (n,1)th sub hash value is generated using the n-th main hash value and the (n,1)th sub-data, and the n-th main hash value, the (n,1)th sub-data, and the (n-th) ,1) The (n,1)th sub hash block in which the sub hash value is stored is generated. The (n,1)th sub hash block corresponds to H(n,1) in FIG. 5.

그리고, 제어부(120)는 제n 메인 해쉬블록에 대응되는 주기(T) 동안 m번째(m은 자연수)로 입력된 서브 데이터인 제(n,m) 서브데이터에 대해, 제(n,m-1) 서브 해쉬값과 제(n,m) 서브 데이터를 이용하여 제(n,m) 서브 해쉬값을 생성하며, 제(n,m-1) 서브 해쉬값과 제(n,m) 서브 데이터와 제(n,m) 서브 해쉬값이 함께 저장된 제(n,m) 서브 해쉬블록을 생성하며, 제n 메인 해쉬블록에 대응되는 주기 동안 제(n,m) 서브 해쉬블록 생성을 반복함으로써 제n 서브 해쉬체인을 생성하게 된다. 즉, 도 5에서는 위와 같은 과정으로, H(n,2), H(n,3), H(n,4)가 생성되게 된다. And, the control unit 120 for the (n, m)-th sub-data, which is the m-th (m is a natural number) input during the period (T) corresponding to the n-th main hash block, 1) The (n,m)th sub hash value is generated using the sub hash value and the (n,m)th sub-data, and the (n,m-1)th sub hash value and the (n,m)th sub-data And (n,m)-th sub hash blocks are stored together with the (n, m)-th sub hash blocks, and the (n, m)-th sub hash blocks are repeatedly generated during a period corresponding to the n-th main hash block. n Sub hash chain is created. That is, in FIG. 5, in the same process as above, H(n,2), H(n,3), and H(n,4) are generated.

이와 같은 과정을 통해, 제어부(120)는 메인 해쉬체인을 생성하고, 메인 해쉬체인을 구성하는 메인 해쉬블럭들 각각에 연결된 서브 해쉬체인들을 생성하게 되며, 이를 도식화한 것은 도 5에 도시된 바와 같다. Through this process, the control unit 120 generates a main hash chain, and creates sub hash chains connected to each of the main hash blocks constituting the main hash chain, and the schematic is as shown in FIG. 5. .

또한, 이와 같은 과정을 수학식으로 나타내면 다음과 같다In addition, this process can be expressed as an equation as follows.

메인 해쉬체인 : CH(1) = HASH (Main Data (1)) if n=1Main Hash Chain: CH(1) = HASH (Main Data (1)) if n=1

CH(n) = HASH (Main Data (n), CH(n-1)) if n≠1 CH(n) = HASH (Main Data (n), CH(n-1)) if n≠1

서브 해쉬체인 : H(n,1) = HASH (Sub Data (n, 1), CH(n)) if m=1Sub Hash Chain: H(n,1) = HASH (Sub Data (n, 1), CH(n)) if m=1

H(n, m) = HASH (Sub Data (n, m), H(n, m-1) if m≠1 H(n, m) = HASH (Sub Data (n, m), H(n, m-1) if m≠1

여기에서, n,m은 자연수Where n,m are natural numbers

제어부(120)는 해쉬체인을 다른 노드들에 전달하여 데이터를 공유할 수도 있으며, 이를 통해 다른 노드들과 해쉬체인 네트워크를 형성할 수도 있다.The controller 120 may transmit the hash chain to other nodes to share data, and through this, may form a hash chain network with other nodes.

다시 도 2로 돌아와서, 저장부(130)는 생성된 메인 해쉬체인 및 서브 해쉬체인을 저장하게 된다. 저장부(130)는 다양한 저장장치로 구현될 수 있으며 예를 들어 하드디스크, SSD(Solid State Drive) 등으로 구현될 수도 있음은 물론이다. Returning to FIG. 2 again, the storage unit 130 stores the generated main hash chain and the sub hash chain. It goes without saying that the storage unit 130 may be implemented as a variety of storage devices, for example, a hard disk, a solid state drive (SSD), or the like.

이와 같은 구성을 통해, 해쉬체인 생성장치(100)는 메인 해쉬체인을 생성하고, 메인 해쉬체인을 구성하는 메인 해쉬블럭들 각각에 연결된 서브 해쉬체인들을 생성할 수 있게 되어, 메인 해쉬블럭의 데이터 무결성을 조사하기 위해 메인 해쉬체인 전체를 조사할 필요 없이 조사 대상인 메인 해쉬블럭에 연결된 서브 해쉬체인만 조사하면 되기 때문에 데이터 무결성을 더욱 빠르게 검증할 수 있며, 서브 해쉬체인에 포함되는 데이터는 유실되더라도 메인 해쉬트리에 영향을 주지 않게 되므로, 한정된 저장공간을 가지는 데이터 저장 장치의 데이터에 무결성을 부여하고 조작방지를 위하여 연속적, 주기적, 끊김없는 데이터를 메인 해쉬체인으로 생성하고 이를 기반으로 다른 데이터를 서브 해쉬체인으로 엮을 수 있게 된다. Through such a configuration, the hash chain generation device 100 can generate a main hash chain and create sub hash chains connected to each of the main hash blocks constituting the main hash chain, so that the data integrity of the main hash block Data integrity can be verified more quickly because it is not necessary to investigate the entire main hash chain to investigate the data, but only the sub hash chain connected to the main hash block to be investigated can be verified, and even if the data contained in the sub hash chain is lost, the main hash chain. Since it does not affect the tree, continuous, periodic, and seamless data are created as the main hash chain to give integrity to the data of the data storage device with a limited storage space and prevent tampering, and based on this, other data are sub-hash chains. Can be woven together.

한편, 도 2에 기재된 해쉬체인 생성장치(100)는 그 자체로 물리적으로 독립된 장치로 구현될 수 있을 뿐만 아니라, 어떤 장치나 시스템의 일부로 포함되어 있는 형태로 구현될 수도 있으며, 스마트폰이나 컴퓨터나 서버 등에 설치된 프로그램 또는 프레임워크 또는 애플리케이션 등의 소프트웨어 형태로 구현될 수도 있음은 물론이다. 또한, 해쉬체인 생성장치(100)의 각 구성요소는 물리적 구성요소로 구현될 수도 있고 소프트웨어의 기능 형태의 구성요소로 구현될 수도 있다. On the other hand, the hash chain generating device 100 shown in FIG. 2 may be implemented as a physically independent device by itself, and may be implemented in a form included as a part of any device or system. Of course, it may be implemented in the form of software such as a program installed on a server, a framework, or an application. In addition, each component of the hash chain generating apparatus 100 may be implemented as a physical component or a component in the form of a function of software.

한편, 본 실시예에 따른 장치의 기능 및 방법을 수행하게 하는 컴퓨터 프로그램을 수록한 컴퓨터로 읽을 수 있는 기록매체에도 본 발명의 기술적 사상이 적용될 수 있음은 물론이다. 또한, 본 발명의 다양한 실시예에 따른 기술적 사상은 컴퓨터로 읽을 수 있는 기록매체에 기록된 컴퓨터로 읽을 수 있는 프로그래밍 언어 코드 형태로 구현될 수도 있다. 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터에 의해 읽을 수 있고 데이터를 저장할 수 있는 어떤 데이터 저장 장치이더라도 가능하다. 예를 들어, 컴퓨터로 읽을 수 있는 기록매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광디스크, 하드 디스크 드라이브, 플래시 메모리, 솔리드 스테이트 디스크(SSD) 등이 될 수 있음은 물론이다. 또한, 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터로 읽을 수 있는 코드 또는 프로그램은 컴퓨터간에 연결된 네트워크를 통해 전송될 수도 있다. On the other hand, it goes without saying that the technical idea of the present invention can be applied to a computer-readable recording medium containing a computer program for performing the functions and methods of the apparatus according to the present embodiment. Further, the technical idea according to various embodiments of the present disclosure may be implemented in the form of a computer-readable programming language code recorded on a computer-readable recording medium. The computer-readable recording medium can be any data storage device that can be read by a computer and can store data. For example, a computer-readable recording medium may be ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical disk, hard disk drive, flash memory, solid state disk (SSD), and the like. In addition, a computer-readable code or program stored in a computer-readable recording medium may be transmitted through a network connected between computers.

본 명세서와 도면에서는 예시적인 장치 구성을 기술하고 있지만, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물은 다른 유형의 디지털 전자 회로로구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다.Although this specification and drawings describe exemplary device configurations, functional operations and implementations of the subject matter described herein are implemented as other types of digital electronic circuits, or include structures disclosed herein and structural equivalents thereof. It may be implemented as computer software, firmware, or hardware, or it may be implemented as a combination of one or more of them.

따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 본 발명이속하는 분야의 통상의 기술자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다.Accordingly, although the present invention has been described in detail with reference to the above-described examples, modifications, changes, and modifications to the examples can be made without departing from the scope of the present invention by those of ordinary skill in the field to which the present invention belongs.

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.In addition, although the preferred embodiments of the present invention have been illustrated and described above, the present invention is not limited to the specific embodiments described above, and the technical field to which the present invention belongs without departing from the gist of the present invention claimed in the claims. In addition, various modifications are possible by those of ordinary skill in the art, and these modifications should not be understood individually from the technical spirit or prospect of the present invention.

100 : 해쉬체인 생성장치
110 : 입력부
120 : 제어부
130 : 저장부
100: hash chain generation device
110: input unit
120: control unit
130: storage unit

Claims (12)

특정 주기로 메인 데이터를 입력받고, 서브 데이터를 입력받는 입력부; 및
메인 데이터를 이용하여 특정 주기로 메인 해쉬블록 생성을 반복함으로써 메인 해쉬체인을 생성하고, 각각의 메인 해쉬블록에 대해 대응되는 주기에 입력된 서브 데이터들을 이용하여 서브 해쉬블록들을 생성함으로써 각각의 메인 해쉬블록에 연결된 서브 해쉬체인들을 생성하는 제어부;를 포함하는 해쉬체인 생성장치.
An input unit receiving main data and receiving sub data at a specific period; And
Each main hash block is created by repeating the creation of the main hash block at a specific period using the main data, and by generating sub hash blocks using the sub data input in the corresponding period for each main hash block. A hash chain generation device comprising a; control unit for generating sub hash chains connected to.
청구항 1에 있어서,
제어부는,
n번째(n은 자연수)로 입력된 제n 메인 데이터에 대해, 이전 메인 해쉬값인 제n-1 메인 해쉬값과 제n 메인 데이터를 이용하여 제n 메인 해쉬값을 생성하며, 제n-1 메인 해쉬값과 제n 메인 데이터와 제n 메인 해쉬값이 함께 저장된 제n 메인 해쉬블록을 생성하고, 특정 주기로 메인 해쉬블록 생성을 반복함으로써 메인 해쉬체인을 생성하는 것을 특징으로 하는 해쉬체인 생성장치.
The method according to claim 1,
The control unit,
For the n-th main data input as the n-th (n is a natural number), an n-th main hash value is generated by using the n-th main hash value and the n-th main data, which are the previous main hash values, and A hash chain generation device, characterized in that the main hash chain is generated by generating an n-th main hash block in which the main hash value, the n-th main data, and the n-th main hash value are stored together, and by repeating the generation of the main hash block at a specific period.
청구항 2에 있어서,
제어부는,
제n 메인 해쉬블록에 대응되는 주기 동안 입력된 첫번째 서브 데이터인 제(n,1) 서브데이터에 대해, 제n 메인 해쉬값과 제(n,1) 서브 데이터를 이용하여 제(n,1) 서브 해쉬값을 생성하며, 제n 메인 해쉬값과 제(n,1) 서브 데이터와 제(n,1) 서브 해쉬값이 함께 저장된 제(n,1) 서브 해쉬블록을 생성하는 것을 특징으로 하는 해쉬체인 생성장치.
The method according to claim 2,
The control unit,
For the (n,1)-th sub-data, which is the first sub-data input during the period corresponding to the n-th main hash block, the (n, 1)-th sub-data is used using the n-th main hash value and the (n, 1)-th sub data Generating a sub hash value, and generating an (n,1)th sub hash block in which the n-th main hash value, the (n,1)-th sub-data, and the (n, 1)-th sub hash value are stored together. Hash chain generation device.
청구항 3에 있어서,
제어부는,
제n 메인 해쉬블록에 대응되는 주기 동안 m번째(m은 자연수)로 입력된 서브 데이터인 제(n,m) 서브데이터에 대해, 제(n,m-1) 서브 해쉬값과 제(n,m) 서브 데이터를 이용하여 제(n,m) 서브 해쉬값을 생성하며, 제(n,m-1) 서브 해쉬값과 제(n,m) 서브 데이터와 제(n,m) 서브 해쉬값이 함께 저장된 제(n,m) 서브 해쉬블록을 생성하며, 제n 메인 해쉬블록에 대응되는 주기 동안 제(n,m) 서브 해쉬블록 생성을 반복함으로써 제n 서브 해쉬체인을 생성하는 것을 특징으로 하는 해쉬체인 생성장치.
The method of claim 3,
The control unit,
For the (n,m)th sub-data, which is the m-th (m is a natural number) inputted sub-data during the period corresponding to the n-th main hash block, the (n, m-1)th sub hash value and the (n, m) The (n,m)th sub hash value is generated using the sub data, and the (n,m-1)th sub hash value, the (n,m)th sub-data, and the (n,m)th sub hash value The (n,m)-th sub hash block stored together is generated, and the n-th sub hash chain is generated by repeating the generation of the (n, m)-th sub hash block during a period corresponding to the n-th main hash block. A hash chain generation device.
청구항 1에 있어서,
메인 데이터는,
특정 주기로 끊김 없이 입력되는 데이터인 것을 특징으로 하는 해쉬체인 생성장치.
The method according to claim 1,
The main data is,
Hash chain generation device, characterized in that the data is input without interruption in a specific period.
청구항 5에 있어서,
메인 데이터는,
데이터의 변화가 연속적인 데이터인 것을 특징으로 하는 해쉬체인 생성장치.
The method of claim 5,
The main data is,
A hash chain generation device, characterized in that the change of data is continuous data.
청구항 6에 있어서,
메인 데이터는,
카메라로부터 입력되는 비디오 데이터 또는 GPS로부터 입력되는 위치 데이터인 것을 특징으로 하는 해쉬체인 생성장치.
The method of claim 6,
The main data is,
A hash chain generator, characterized in that the video data input from the camera or the location data input from the GPS.
청구항 1에 있어서,
서브 데이터는,
불규칙적으로 입력되는 데이터인 것을 특징으로 하는 해쉬체인 생성장치.
The method according to claim 1,
The sub data is,
A hash chain generation device, characterized in that the data is input irregularly.
청구항 8에 있어서,
서브 데이터는,
센서에 의해 감지되는 데이터인 센서 데이터인 것을 특징으로 하는 해쉬체인 생성장치.
The method of claim 8,
The sub data is,
A hash chain generation device, characterized in that the data is sensor data detected by the sensor.
해쉬체인 생성장치에 의한 해쉬체인 생성방법에 있어서,
특정 주기로 메인 데이터를 입력받고, 서브 데이터를 입력받는 단계;
메인 데이터를 이용하여 특정 주기로 메인 해쉬블록 생성을 반복함으로써 메인 해쉬체인을 생성하는 단계; 및
각각의 메인 해쉬블록에 대해 대응되는 주기에 입력된 서브 데이터들을 이용하여 서브 해쉬블록들을 생성함으로써 각각의 메인 해쉬블록에 연결된 서브 해쉬체인들을 생성하는 단계;를 포함하는 해쉬체인 생성방법.
In the hash chain generation method by the hash chain generation device,
Receiving main data and sub-data at a specific period;
Generating a main hash chain by repeating the generation of the main hash block at a specific period using the main data; And
Generating sub hash blocks connected to each main hash block by generating sub hash blocks by using the sub data input in a period corresponding to each main hash block; hash chain generation method comprising a.
해쉬체인 생성장치에 의한 해쉬체인 생성방법을 실행하는 컴퓨터 프로그램이 수록된 컴퓨터로 읽을 수 있는 기록매체에 있어서,
특정 주기로 메인 데이터를 입력받고, 서브 데이터를 입력받는 단계;
메인 데이터를 이용하여 특정 주기로 메인 해쉬블록 생성을 반복함으로써 메인 해쉬체인을 생성하는 단계; 및
각각의 메인 해쉬블록에 대해 대응되는 주기에 입력된 서브 데이터들을 이용하여 서브 해쉬블록들을 생성함으로써 각각의 메인 해쉬블록에 연결된 서브 해쉬체인들을 생성하는 단계;를 포함하는 해쉬체인 생성방법을 실행하는 컴퓨터 프로그램이 수록된 컴퓨터로 읽을 수 있는 기록매체.
In a computer-readable recording medium containing a computer program for executing a hash chain generation method by a hash chain generation device,
Receiving main data and sub-data at a specific period;
Generating a main hash chain by repeating the generation of the main hash block at a specific period using the main data; And
Generating sub hash chains connected to each main hash block by generating sub hash blocks by using the sub data input in a period corresponding to each main hash block; a computer for executing a hash chain generation method comprising A computer-readable recording medium containing programs.
메인 데이터와 서브 데이터를 입력받는 입력부; 및
n번째(n은 자연수)로 입력된 제n 메인 데이터에 대해, 이전 메인 해쉬값인 제n-1 메인 해쉬값과 제n 메인 데이터를 이용하여 제n 메인 해쉬값을 생성하며, 제n-1 메인 해쉬값과 제n 메인 데이터와 제n 메인 해쉬값이 함께 저장된 제n 메인 해쉬블록을 생성하고, 특정 주기로 메인 해쉬블록 생성을 반복함으로써 메인 해쉬체인을 생성하고, 제n 메인 해쉬블록에 대응되는 주기 동안 입력된 첫번째 서브 데이터인 제(n,1) 서브데이터에 대해, 제n 메인 해쉬값과 제(n,1) 서브 데이터를 이용하여 제(n,1) 서브 해쉬값을 생성하며, 제n 메인 해쉬값과 제(n,1) 서브 데이터와 제(n,1) 서브 해쉬값이 함께 저장된 제(n,1) 서브 해쉬블록을 생성하며, 제n 메인 해쉬블록에 대응되는 주기 동안 m번째(m은 자연수)로 입력된 서브 데이터인 제(n,m) 서브데이터에 대해, 제(n,m-1) 서브 해쉬값과 제(n,m) 서브 데이터를 이용하여 제(n,m) 서브 해쉬값을 생성하며, 제(n,m-1) 서브 해쉬값과 제(n,m) 서브 데이터와 제(n,m) 서브 해쉬값이 함께 저장된 제(n,m) 서브 해쉬블록을 생성하며, 제n 메인 해쉬블록에 대응되는 주기 동안 제(n,m) 서브 해쉬블록 생성을 반복함으로써 제n 서브 해쉬체인을 생성하는 제어부;를 포함하는 해쉬체인 생성장치.
An input unit receiving main data and sub data; And
For the n-th main data input as the n-th (n is a natural number), an n-th main hash value is generated by using the n-th main hash value and the n-th main data, which are the previous main hash values, and A main hash chain is created by creating an n-th main hash block in which the main hash value, the n-th main data, and the n-th main hash value are stored together, and by repeating the generation of the main hash block at a specific cycle, For the (n,1)th sub-data, which is the first sub-data input during the period, the (n,1)-th sub hash value is generated using the n-th main hash value and the (n, 1)-th sub-data, An n main hash value, (n,1)th sub-data and (n,1)-th sub hash block are stored together, and m during a period corresponding to the n-th main hash block With respect to the (n,m)th sub-data, which is the sub-data input as the (m is a natural number), using the (n,m-1)th sub hash value and the (n,m)th sub-data, m) A sub hash value is generated, and the (n,m)th sub hash value, the (n,m-1)th sub hash value, the (n,m)th sub-data, and the (n,m)th sub hash value are stored together A hash chain generation apparatus comprising: a control unit for generating a block and generating an n-th sub hash chain by repeating generation of the (n,m)-th sub hash block during a period corresponding to the n-th main hash block.
KR1020190131544A 2019-10-22 2019-10-22 Device for generating Hash chain and Method for generating Hash chain to have integrity based on continuous data KR102408728B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190131544A KR102408728B1 (en) 2019-10-22 2019-10-22 Device for generating Hash chain and Method for generating Hash chain to have integrity based on continuous data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190131544A KR102408728B1 (en) 2019-10-22 2019-10-22 Device for generating Hash chain and Method for generating Hash chain to have integrity based on continuous data

Publications (2)

Publication Number Publication Date
KR20210047666A true KR20210047666A (en) 2021-04-30
KR102408728B1 KR102408728B1 (en) 2022-06-14

Family

ID=75740632

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190131544A KR102408728B1 (en) 2019-10-22 2019-10-22 Device for generating Hash chain and Method for generating Hash chain to have integrity based on continuous data

Country Status (1)

Country Link
KR (1) KR102408728B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023286900A1 (en) * 2021-07-14 2023-01-19 정연우 User authentication system and transfer system using blockchain authentication based on real-time proof of location

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102413313A (en) * 2010-09-26 2012-04-11 索尼公司 Data integrity authentication information generation method and device as well as data integrity authentication method and device
JP2015180097A (en) * 2011-10-14 2015-10-08 株式会社日立製作所 Method for generating signature of data, method for verifying signature of data, and management calculator
KR20190009958A (en) * 2017-07-20 2019-01-30 주식회사 더블체인 Extendable block chain system and block chain extending method
KR20190020721A (en) * 2019-02-22 2019-03-04 주식회사 엑스블록시스템즈 Blockchain system and method of creating blockchain
KR101986081B1 (en) * 2018-12-24 2019-06-05 (주)소프트제국 Method for sharing and verifing a block between specific nodes in a blockchain
KR20190093011A (en) * 2018-01-31 2019-08-08 지송학 The block-chain system with enhanced security and the method of generating a data block using a double block-chain structure
KR20190113211A (en) * 2018-03-28 2019-10-08 주식회사 엑스블록시스템즈 Blockchain system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102413313A (en) * 2010-09-26 2012-04-11 索尼公司 Data integrity authentication information generation method and device as well as data integrity authentication method and device
JP2015180097A (en) * 2011-10-14 2015-10-08 株式会社日立製作所 Method for generating signature of data, method for verifying signature of data, and management calculator
KR20190009958A (en) * 2017-07-20 2019-01-30 주식회사 더블체인 Extendable block chain system and block chain extending method
KR20190093011A (en) * 2018-01-31 2019-08-08 지송학 The block-chain system with enhanced security and the method of generating a data block using a double block-chain structure
KR20190113211A (en) * 2018-03-28 2019-10-08 주식회사 엑스블록시스템즈 Blockchain system
KR101986081B1 (en) * 2018-12-24 2019-06-05 (주)소프트제국 Method for sharing and verifing a block between specific nodes in a blockchain
KR20190020721A (en) * 2019-02-22 2019-03-04 주식회사 엑스블록시스템즈 Blockchain system and method of creating blockchain

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023286900A1 (en) * 2021-07-14 2023-01-19 정연우 User authentication system and transfer system using blockchain authentication based on real-time proof of location
KR20230011801A (en) * 2021-07-14 2023-01-25 정연우 User authentication system and transfer system using real-time proof of location based blockchain authentication

Also Published As

Publication number Publication date
KR102408728B1 (en) 2022-06-14

Similar Documents

Publication Publication Date Title
US10713491B2 (en) Object detection using spatio-temporal feature maps
EP3771179A1 (en) Graph data processing method, method and device for publishing graph data computational tasks, storage medium, and computer apparatus
EP4068165A1 (en) Wide and deep machine learning models
WO2017201507A1 (en) Memory-efficient backpropagation through time
US20170116157A1 (en) Parallelizing matrix factorization across hardware accelerators
US10339899B2 (en) Character string display method and apparatus
US10491947B1 (en) Systems and methods for personalized video rendering
US11900235B1 (en) Generating parameter values for recurrent neural networks
US11853861B2 (en) Generating output examples using bit blocks
KR20210047666A (en) Device for generating Hash chain and Method for generating Hash chain to have integrity based on continuous data
US11416625B2 (en) Protecting cryptographic keys stored in non-volatile memory
CN107122636A (en) A kind of APK reinforcement means and device based on SO files
US11836665B2 (en) Explainable process prediction
KR20230109931A (en) Apparatus and method for building a transformer model for video story question and answering
US10579428B2 (en) Data token management in distributed arbitration systems
CN107391440B (en) Processing device and method for output data of fast Fourier transform algorithm
KR102084855B1 (en) Device for generating Hash chain and Method for generating Hash chain
WO2021218626A1 (en) Data storage method and apparatus, device, and storage medium
US11720781B2 (en) Parallel execution of gated activation unit operations
KR102416336B1 (en) Device, method, system and computer readable storage medium for managing blockchain
CN105164723A (en) Shared compositional resources
US11182673B2 (en) Temporal memory adapted for single-shot learning and disambiguation of multiple predictions
US10089481B2 (en) Securing recorded data
US9552296B2 (en) Verifying shared memory integrity
US20230205500A1 (en) Computation architecture synthesis

Legal Events

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