KR101855442B1 - A method for determining forgeries of media files - Google Patents
A method for determining forgeries of media files Download PDFInfo
- Publication number
- KR101855442B1 KR101855442B1 KR1020170181736A KR20170181736A KR101855442B1 KR 101855442 B1 KR101855442 B1 KR 101855442B1 KR 1020170181736 A KR1020170181736 A KR 1020170181736A KR 20170181736 A KR20170181736 A KR 20170181736A KR 101855442 B1 KR101855442 B1 KR 101855442B1
- Authority
- KR
- South Korea
- Prior art keywords
- media file
- hash
- hash value
- data
- generating
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
실시예에 따른 미디어 파일 위변조 검증 방법은, 해시 트리를 생성하여 미디어 파일의 위변조 여부를 검증하는 미디어 파일 위변조 검증 방법에 있어서: (1) 상기 미디어 파일에 포함된 각각의 트랙에 대해 상기 트랙의 각각의 표현 시간이 동기화된 구간 데이터를 구성하는 단계, (2) 상기 단계 (1)에서 구성한 상기 구간 데이터 중 하나의 구간 데이터에 대해 해시값을 생성하는 단계, (3) 상기 단계 (2)에서 생성한 상기 해시값을 리프로 하여 상기 해시 트리에 추가하는 단계 및 (4) 상기 단계 (1)에서 구성한 각각의 상기 구간 데이터에 대해 상기 단계 (2) 및 (3)을 반복하여 최종 해시 트리를 생성하는 단계를 포함할 수 있다.
실시예에 따른 미디어 파일 위변조 검증 방법은, 상기 최종 해시 트리의 루트 해시값을 블록체인에 게재하는 단계를 더 포함할 수 있다.
또한 실시예에 따른 미디어 파일 위변조 검증 방법은, 해시 트리를 생성하여 미디어 파일의 위변조 여부를 검증하는 미디어 파일 위변조 검증 방법에 있어서: (1) 상기 미디어 파일에 포함된 각각의 트랙에 대해 상기 트랙의 각각의 표현 시간이 동기화된 구간 데이터를 구성하는 단계, (2) 상기 단계 (1)에서 구성한 각각의 상기 구간 데이터에 대해 해시값을 생성하는 단계, (3) 상기 단계 (2)에서 생성한 상기 해시값을 리프로 하여 상기 해시 트리에 추가하는 단계, (4) 상기 단계 (1)에서 구성한 각각의 상기 구간 데이터에 대해 상기 단계 (2) 및 (3)을 반복하여 최종 해시 트리를 생성하는 단계, (5) 상기 미디어 파일의 전체 시간 구간 중 일부 시간 구간을 포함하는 연속하는 시간의 상기 구간 데이터의 집합인 구간 데이터 집합을 선택하는 단계, (6) 상기 최종 해시 트리에서 상기 구간 데이터 집합 중에서 가장 선행 시간의 상기 구간 데이터와 가장 후행 시간의 상기 구간 데이터에 대해 부가 정보 노드의 집합인 해시 체인을 선택하는 단계, (7) 상기 구간 데이터 집합을 상기 부분 미디어 파일로 생성하는 단계 및 (8) 상기 부분 미디어 파일에 상기 해시 체인을 포함한 데이터를 추가하는 단계를 포함할 수 있다.
실시예에 따른 미디어 파일 위변조 검증 방법은, 상기 해시 체인과 상기 부분 미디어 파일을 이용하여 상기 미디어 파일과 동일한 루트 해시값을 생성하는 단계를 더 포함할 수 있다.
개시된 내용에 따른 미디어 파일 위변조 검증 방법은, 미디어 파일 생성 단계에서 해시 트리를 생성하고 루트 해시값을 블록체인에 게재함으로써, 블록체인에 게재된 루트 해시값은 현실적으로 위변조의 가능성이 거의 없는 점에서, 미디어 파일 생성 시부터 미디어 파일의 위변조 여부를 효과적으로 확실하게 검증할 수 있다.
루트 해시값 생성에 필요한 부가 정보 노드의 집합인 해시 체인을 포함한 데이터는 미디어 파일에 호환되는 객체로서 미디어 파일 내에 보관하므로, 해시 체인을 포함한 데이터를 별도의 파일로 따로 보관하거나 또는 별도의 보관 수단을 이용할 필요가 없으며, 해시 체인을 포함한 데이터의 손실 위험이 낮아진다.
또한, 개시된 내용에 따른 미디어 파일 위변조 검증 방법은, 미디어 파일의 특정 부분을 부분 미디어 파일로 잘라 분리하여도 기존의 원본 미디어 파일에서 생성한 해시 트리의 루트 해시값의 재현이 용이하게 가능하여, 부분 미디어 파일이 위변조되었는지 여부를 안정적, 효과적으로 검증할 수 있다.A method for verifying a media file forgery verification according to an embodiment of the present invention is a method for verifying whether a media file is falsified or not by generating a hash tree, the method comprising: (1) for each track included in the media file, (2) generating a hash value for one piece of section data of the section data constructed in the step (1), (3) generating a hash value for the section data of the section data constructed in the step (1) (4) repeating the steps (2) and (3) with respect to each piece of the interval data formed in the step (1) to generate a final hash tree .
The media file forgery verification method according to an embodiment may further include displaying a root hash value of the last hash tree in a block chain.
Also, the method for verifying a media file forgery verification according to an embodiment of the present invention is a method for verifying whether a media file is falsified or not by generating a hash tree, the method comprising: (1) for each track included in the media file, (2) generating a hash value for each of the interval data configured in the step (1); (3) generating a hash value for each of the interval data configured in the step (1) (4) repeating the steps (2) and (3) for each piece of the interval data constructed in the step (1) to generate a final hash tree , (5) selecting an interval data set that is a set of the interval data of consecutive times including a certain time interval of the entire time interval of the media file, (6) Selecting a hash chain that is a set of additional information nodes for the interval data of the earliest preceding time and the interval data of the most trailing time among the interval data sets in the hash tree, (7) And (8) adding data including the hash chain to the partial media file.
The media file forgery verification method according to an exemplary embodiment may further include generating a root hash value identical to the media file using the hash chain and the partial media file.
In the media file forgery verification method according to the disclosure, since the hash tree is generated in the media file creation step and the root hash value is placed in the block chain, the root hash value displayed in the block chain is practically unlikely to be falsified, From the generation of the media file, it is possible to effectively and surely verify whether the media file is forged or not.
Since the data including the hash chain, which is a set of additional information nodes necessary for generating the root hash value, is stored in the media file as a compatible object in the media file, the data including the hash chain may be separately stored in a separate file, The risk of loss of data including hash chains is reduced.
The method of verifying the forgery of the media file according to the disclosed contents can easily reproduce the root hash value of the hash tree generated in the existing original media file even if the specific part of the media file is cut and separated into the partial media file, It is possible to reliably and effectively verify whether or not the media file is forged or altered.
Description
개시된 내용은 미디어 파일 위변조 검증 방법에 관한 것으로서, 보다 구체적으로는 해시 트리를 생성하고 루트 해시값을 블록체인에 게재하여 미디어 파일의 위변조 여부를 검증하는 블록체인을 이용한 미디어 파일 위변조 검증 방법에 관한 것이다.The present invention relates to a media file forgery verification method, and more particularly, to a media file forgery verification method using a block chain for generating a hash tree and verifying whether a media file is forged or falsified by placing a root hash value in a block chain .
종래에는 서로 다툼이 있을 수 있는 사항 또는 당사자 간 중요한 사항에 관해 약정할 때, 자필로 문서를 작성하는 경우가 많았다. 설혹 자필로 작성하지 않은 출력 문서라고 하더라도 문서 작성자의 서명, 날인 등으로 해당 문서 내용의 진정성을 담보하곤 하였다.In many cases, documents were written in a handwritten manner when a contract was made with respect to matters that may have a conflict with each other or important matters between the parties. Even if the output document was not handwritten, it would guarantee the authenticity of the document by the signature of the author of the document and the seal.
최근 정보통신기술이 비약적으로 발전하면서 컴퓨터, CCTV 및 블랙박스 등 전자기기 내부의 저장장치, 외장형 하드디스크 등 전자기적 저장매체를 이용한 정보 저장이 일상화되었다. 또한, 파기나 훼손이 용이한 종이 문서와 달리 전자기적 저장매체를 이용한 디지털 파일들의 경우 삭제한 자료 등도 복원이 가능한 경우가 많아, 각종 디지털 파일들이 법정 등에서 증거로서 결정적인 역할을 하는 경우가 많아지고 있다.Recently, as information and communication technology has developed remarkably, information storage using an electromagnetic storage medium such as a storage device in an electronic device such as a computer, a CCTV and a black box, and an external hard disk has become commonplace. In addition, unlike paper documents that are easily destroyed or damaged, digital files using an electromagnetic storage medium can often be restored, and various digital files are often played a decisive role in evidence in court and the like .
이러한 시대적 흐름에 발맞추어, 2016년 05월 19일 이메일, 컴퓨터 문서 파일 등 디지털 파일의 증거 능력을 인정하는 내용의 '형사소송법'이 개정되어 시행 중에 있다. 이에 수사기관에서는 통화기록, CCTV 영상, 블랙박스 영상 및 이메일 등 디지털 파일 형태의 정보를 수집하고 분석하는 디지털 포렌식 수사기법을 널리 활용하고 있다.In keeping with this trend, the 'Criminal Procedure Act', which recognizes the ability of digital files such as e-mails and computer document files, has been revised and implemented on May 19, 2016. Therefore, the investigation agency widely uses digital forensic investigation technique to collect and analyze digital file information such as call log, CCTV image, black box image and e-mail.
그러나 지금까지는 디지털 파일 형태의 정보 중 CCTV, 블랙박스 등에서 촬영한 영상 파일 등 미디어 파일의 경우, 수사기관의 요청에 의해 채증을 할 때에서야 미디어 파일 각각에 대해 각각의 해시값을 생성하여 해당 해시값을 추후에 상호 대비하는 방식으로 각각의 미디어 파일에 대한 위변조 검증을 하였다. 여기서 해시값은 미디어 파일 데이터에 해시 함수를 적용하여 출력한 값이다. 해시 함수는 입력되는 데이터에 따라 다른 해시값이 나오는 것이 특징이다. 따라서 입력 데이터의 일부만 변경이 되어도 전혀 다른 해시값이 나온다. 해시 함수는 출력된 해시값을 가지고 역으로 입력 데이터를 유추하기 어렵다는 특징이 있다. 이러한 방식으로 해시 함수를 사용하면 채증 이후 시점의 미디어 파일의 위변조 여부를 알 수 있다. 다만, 수사기관 채증 전 시점에 누군가의 미디어 파일에 대한 위변조 행위가 있었는지 여부를 확인하기 곤란하다는 문제점이 있다.However, up to now, in the case of media files such as image files photographed in CCTV, black box, etc. among the digital file information, each hash value is generated for each media file only when requested by the investigation agency, And then forgery verification of each media file was performed in a manner to be mutually prepared. Here, the hash value is a value obtained by applying a hash function to the media file data. The hash function is characterized by a different hash value depending on the input data. Therefore, even if only a part of the input data is changed, a completely different hash value is obtained. The hash function is characterized in that it is difficult to infer the input data with the output hash value. By using the hash function in this way, it is possible to know whether or not the media file is forged or modified after the saving time. However, there is a problem that it is difficult to confirm whether or not there has been a forgery or falsification of a media file of someone at the time of the investigation of the investigation agency.
또한, 미디어 파일 원본 전부가 아닌 미디어 파일 원본의 일부 시간에 해당하는 일부분만이 증거 자료로 필요한 경우에 미디어 파일의 일부만을 미디어 파일 원본으로부터 분리해낼 경우, 분리된 미디어 파일의 해시값은 미디어 파일 원본의 해시값과 서로 달라지게 된다. 이는 입력 데이터의 값이 변경됨에 따라 다른 해시값이 출력되기 때문이다. 따라서 미디어 파일 원본의 일부만을 분리해낼 경우 해당 부분 미디어 파일의 위변조 검증이 어려워지는 문제점이 있다.In addition, if only a portion of the media file source, not all of the media file source, is needed as proof, only the portion of the media file is detached from the media file source, the hash value of the detached media file is And the hash value of the hash value. This is because another hash value is output as the value of the input data is changed. Therefore, if only a part of the original of the media file is separated, there is a problem that it is difficult to verify forgery of the corresponding partial media file.
이외에도, 미디어 파일 각각에 대해 별도로 해시값을 텍스트(Text) 파일 형태 등으로 저장/보관하고 있기 때문에 해당 해시값 자체의 분실 위험이 있다는 한계점이 있었다. 만약 비트코인에 적용되는 기술인 P2P 네트워트를 이용한 블록체인을 활용하여 미디어 파일 각각에 대한 해시값을 저장할 경우, 중앙 집중화 데이터 저장 방식에 비해 해시값 등 데이터 분실의 위험이 낮아질 수 있다. 그리고 중앙 집중화 데이터 저장 방식에서는 관리자의 권한으로 저장된 데이터의 위변조가 가능할 수 있으나, 블록체인을 활용할 경우 데이터 위변조의 위험이 상대적으로 낮아질 수 있을 것이다. In addition, since the hash value is separately stored in the form of a text file for each media file, there is a risk that the hash value itself is lost. If a hash value for each media file is stored using a block chain using a P2P network, which is a technology applied to bit coin, the risk of data loss such as hash value may be lower than the centralized data storage method. In the centralized data storage method, the stored data can be forged or modified by the administrator's authority. However, if the block chain is used, the risk of data forgery can be relatively reduced.
미디어 파일 생성 단계에서 미디어 파일의 해시값을 생성하여 미디어 파일에 호환되는 객체로서 미디어 파일 내에 보관함으로써, 미디어 파일 생성 시부터 미디어 파일의 위변조가 되었는지 여부를 검증할 수 있는, 미디어 파일 위변조 검증 방법을 제공하고자 한다.A hash value of the media file is generated in the media file creation step and is stored in the media file as a compatible object in the media file to verify whether or not the media file has been tampered with from the generation of the media file, .
또한, 미디어 파일 생성 이후 그 일부인 특정 시간 부분을 부분 미디어 파일로 잘라 분리하여도, 상기 부분 미디어 파일이 상기 미디어 파일의 일부로서 위변조가 되었는지 여부를 검증할 수 있는, 미디어 파일 위변조 검증 방법을 제공하고자 한다.Also, there is provided a method for verifying a forgery of a media file, which can verify whether the partial media file is forged or altered as a part of the media file even if a specific time portion, which is a part of the media file, do.
실시예에 따른 미디어 파일 위변조 검증 방법은, 해시 트리를 생성하여 미디어 파일의 위변조 여부를 검증하는 미디어 파일 위변조 검증 방법에 있어서:A method for verifying a media file forgery verification according to an embodiment includes: generating a hash tree to verify whether a media file is falsified or not, the method comprising:
(1) 상기 미디어 파일에 포함된 각각의 트랙에 대해 상기 트랙의 각각의 표현 시간이 동기화된 구간 데이터를 구성하는 단계;(1) constructing interval data in which each presentation time of each of the tracks is synchronized with respect to each of the tracks included in the media file;
(2) 상기 단계 (1)에서 구성한 상기 구간 데이터 중 하나의 구간 데이터에 대해 해시값을 생성하는 단계;(2) generating a hash value for one of the interval data constructed in the step (1);
(3) 상기 단계 (2)에서 생성한 상기 해시값을 리프로 하여 상기 해시 트리에 추가하는 단계; 및(3) adding the hash value generated in the step (2) to the hash tree as a leaf; And
(4) 상기 단계 (1)에서 구성한 각각의 상기 구간 데이터에 대해 상기 단계 (2) 및 (3)을 반복하여 최종 해시 트리를 생성하는 단계; 를 포함할 수 있다.(4) generating a final hash tree by repeating the steps (2) and (3) with respect to each of the section data configured in the step (1); . ≪ / RTI >
바람직하게는, 상기 미디어 파일 위변조 검증 방법은,Preferably, the media file forgery verification method further comprises:
상기 최종 해시 트리의 루트 해시값을 블록체인에 게재하는 단계; 를 더 포함하는 것을 특징으로 할 수 있다.Placing a root hash value of the last hash tree in a block chain; And further comprising:
바람직하게는, 상기 단계 (4)는, Preferably, the step (4)
상기 해시 트리에서 서로 인접한 리프 해시값을 이용하여 생성한 노드 해시값 및 최종 하나의 해시값인 루트 해시값을 상기 해시 트리에 추가하여 상기 최종 해시 트리를 생성하는 것을 특징으로 할 수 있다.And the final hash tree is generated by adding the node hash value generated using the leaf hash values adjacent to each other in the hash tree and the root hash value, which is the last hash value, to the hash tree.
바람직하게는, 상기 단계 (4)는,Preferably, the step (4)
메타 데이터에 대해 해시값을 생성하고, 상기 해시값을 리프로 하여 상기 해시 트리에 추가함으로써 상기 최종 해시 트리를 생성하는 것을 특징으로 할 수 있다.Generating the hash value for the metadata, adding the hash value to the hash tree, and creating the final hash tree.
더욱 바람직하게는, 상기 단계 (5)의 상기 루트 해시값은,More preferably, the root hash value of step (5)
상기 미디어 파일이 복수개인 경우, 상기 미디어 파일 각각에 대한 상기 루트 해시값을 리프로 하여 상기 해시 트리를 생성하여 도출되는 루트 해시값인 것을 특징으로 할 수 있다.And a root hash value derived by generating the hash tree by reefing the root hash value for each of the media files when the media files are plural.
바람직하게는, 상기 미디어 파일 위변조 검증 방법은,Preferably, the media file forgery verification method further comprises:
블록체인에 루트 해시값이 게재되어 있음을 확인하는 검증 단계; 를 더 포함하는 것을 특징으로 할 수 있다.A verification step of confirming that a root hash value is placed in a block chain; And further comprising:
또한, 실시예에 따른 미디어 파일 위변조 검증 방법은,According to another aspect of the present invention, there is provided a media file forgery verification method,
해시 트리를 생성하여 미디어 파일의 위변조 여부를 검증하는 미디어 파일 위변조 검증 방법에 있어서:A media file forgery verification method for generating a hash tree to verify whether a media file is falsified or not, the method comprising:
(1) 상기 미디어 파일에 포함된 각각의 트랙에 대해 상기 트랙의 각각의 표현 시간이 동기화된 구간 데이터를 구성하는 단계;(1) constructing interval data in which each presentation time of each of the tracks is synchronized with respect to each of the tracks included in the media file;
(2) 상기 단계 (1)에서 구성한 각각의 상기 구간 데이터에 대해 해시값을 생성하는 단계;(2) generating a hash value for each of the interval data configured in the step (1);
(3) 상기 단계 (2)에서 생성한 상기 해시값을 리프로 하여 상기 해시 트리에 추가하는 단계;(3) adding the hash value generated in the step (2) to the hash tree as a leaf;
(4) 상기 단계 (1)에서 구성한 각각의 상기 구간 데이터에 대해 상기 단계 (2) 및 (3)을 반복하여 최종 해시 트리를 생성하는 단계;(4) generating a final hash tree by repeating the steps (2) and (3) with respect to each of the section data configured in the step (1);
(5) 상기 미디어 파일의 전체 시간 구간 중 일부 시간 구간을 포함하는 연속하는 시간의 상기 구간 데이터의 집합인 구간 데이터 집합을 선택하는 단계; (5) selecting an interval data set that is a set of the interval data of consecutive times including a certain time interval of the entire time interval of the media file;
(6) 상기 최종 해시 트리에서 상기 구간 데이터 집합 중에서 가장 선행 시간의 상기 구간 데이터와 가장 후행 시간의 상기 구간 데이터에 대해 부가 정보 노드의 집합인 해시 체인을 선택하는 단계;(6) selecting a hash chain that is a set of additional information nodes for the interval data of the earliest preceding time and the interval data of the latest time in the last hash tree;
(7) 상기 구간 데이터 집합을 상기 부분 미디어 파일로 생성하는 단계; 및(7) generating the partial data file as the partial data file; And
(8) 상기 부분 미디어 파일에 상기 해시 체인을 포함한 데이터를 추가하는 단계; 를 포함할 수 있다.(8) adding data including the hash chain to the partial media file; . ≪ / RTI >
바람직하게는, 상기 미디어 파일 위변조 검증 방법은,Preferably, the media file forgery verification method further comprises:
상기 해시 체인과 상기 부분 미디어 파일을 이용하여 상기 미디어 파일과 동일한 루트 해시값을 생성하는 단계; 를 더 포함하는 것을 특징으로 할 수 있다.Generating a root hash value identical to the media file using the hash chain and the partial media file; And further comprising:
개시된 내용에 따른 미디어 파일 위변조 검증 방법은, 미디어 파일 생성 단계에서 해시 트리를 생성하고 루트 해시값을 블록체인에 게재함으로써, 블록체인에 게재된 루트 해시값은 현실적으로 위변조의 가능성이 거의 없는 점에서, 미디어 파일 생성 시부터 미디어 파일의 위변조 여부를 효과적으로 확실하게 검증할 수 있다.In the media file forgery verification method according to the disclosure, since the hash tree is generated in the media file creation step and the root hash value is placed in the block chain, the root hash value displayed in the block chain is practically unlikely to be falsified, From the generation of the media file, it is possible to effectively and surely verify whether the media file is forged or not.
루트 해시값 생성에 필요한 부가 정보 노드의 집합인 해시 체인을 포함한 데이터는 미디어 파일에 호환되는 객체로서 미디어 파일 내에 보관하므로, 해시 체인을 포함한 데이터를 별도의 파일로 따로 보관하거나 또는 별도의 보관 수단을 이용할 필요가 없으며, 해시 체인을 포함한 데이터의 손실 위험이 낮아진다.Since the data including the hash chain, which is a set of additional information nodes necessary for generating the root hash value, is stored in the media file as a compatible object in the media file, the data including the hash chain may be separately stored in a separate file, The risk of loss of data including hash chains is reduced.
또한, 개시된 내용에 따른 미디어 파일 위변조 검증 방법은, 미디어 파일의 특정 부분을 부분 미디어 파일로 잘라 분리하여도 기존의 원본 미디어 파일에서 생성한 해시 트리의 루트 해시값의 재현이 용이하게 가능하여, 부분 미디어 파일이 위변조되었는지 여부를 안정적, 효과적으로 검증할 수 있다.The method of verifying the forgery of the media file according to the disclosed contents can easily reproduce the root hash value of the hash tree generated in the existing original media file even if the specific part of the media file is cut and separated into the partial media file, It is possible to reliably and effectively verify whether or not the media file is forged or altered.
도 1은 일 실시예에 따른 미디어 파일 위변조 검증 방법을 도시한 도면.
도 2는 일 실시예에 따른 미디어 파일에서 구간 데이터를 구분하는 부분을 도시한 도면.
도 3은 일 실시예에 따른 해시 트리를 도시한 도면.
도 4는 일 실시예에 따른 경로 노드와 부가 정보 노드를 해시 트리에서 구분하여 도시한 도면.
도 5는 일 실시예에 따른 해시 트리 중 경로 노드와 부가 정보 노드만을 분리하여 도시한 도면.
도 6은 일 실시예에 따른 해시 트리를 생성하여 미디어 파일의 위변조 여부를 검증하는 미디어 파일 위변조 검증 방법을 도시한 도면.
도 7은 일 실시예에 따른 구간 데이터의 리프 해시값을 기반으로 해시 트리를 생성하는 과정을 도시한 도면.
도 8은 일 실시예에 따른 구간 데이터의 리프 해시값에 메타 데이터의 리프 해시값이 더 포함되어 해시 트리를 생성하는 과정을 도시한 도면.
도 9는 일 실시예에 따른 구간 데이터의 리프 해시값에 구간 데이터마다의 메타 데이터의 리프 해시값이 더 포함되어 해시 트리를 생성하는 과정을 도시한 도면.
도 10은 일 실시예에 따른 부분 미디어 파일을 생성함에 있어서 미디어 파일 위변조 검증 방법을 도시한 도면.
도 11은 일 실시예에 따른 부분 미디어 파일을 생성하는 과정에서 미디어 파일의 해시 트리에서 부분 미디어 파일에 해당하는 해시값과 해시 체인을 도시한 도면.
도 12는 일 실시예에 따른 해시 체인을 포함한 데이터를 도시한 도면.1 illustrates a method for verifying a forgery of a media file according to an exemplary embodiment;
FIG. 2 is a diagram illustrating a section for distinguishing interval data in a media file according to an exemplary embodiment; FIG.
3 illustrates a hash tree according to one embodiment;
4 is a diagram illustrating a path node and an additional information node according to an embodiment in a hash tree.
FIG. 5 is a diagram illustrating only a path node and an additional information node among the hash trees according to an exemplary embodiment; FIG.
FIG. 6 illustrates a method of verifying a forgery of a media file by generating a hash tree according to an exemplary embodiment of the present invention. FIG.
FIG. 7 illustrates a process of generating a hash tree based on a leaf hash value of interval data according to an exemplary embodiment; FIG.
FIG. 8 illustrates a process of generating a hash tree by further including a leaf hash value of metadata in a leaf hash value of interval data according to an exemplary embodiment. FIG.
9 is a diagram illustrating a process of generating a hash tree by further including a leaf hash value of meta data for each section data in a leaf hash value of interval data according to an embodiment.
10 is a diagram illustrating a method of verifying a forgery of a media file in generating a partial media file according to an exemplary embodiment;
11 is a view showing a hash value and a hash chain corresponding to a partial media file in a hash tree of a media file in the process of generating a partial media file according to an exemplary embodiment;
12 illustrates data including a hash chain according to one embodiment;
개시된 실시예들을 설명함에 있어서, 공지된 기능 또는 구성이 이 기술분야의 기술자에게 자명한 사항에 해당하고, 개시된 실시예들의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.In the following description of the disclosed embodiments, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the disclosed embodiments unnecessarily obscure.
그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있다. 단지 개시된 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.However, the present invention is not limited to the embodiments described below, but may be embodied in various forms. It is to be understood that the disclosed embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art to which the invention pertains. Only. Therefore, the definition should be based on the contents throughout this specification.
도 1은 일 실시예에 따른 미디어 파일 위변조 검증 방법(100)을 도시한 도면이다. 일 실시예에 따른 미디어 파일 위변조 검증 방법(100)에 의하면, 영상 촬영 기기(110)에서 촬영한 영상을 녹화하여 생성된 미디어 파일(300)에 대해 루트 해시값(230)을 생성하고, 서버(120)를 경유하여 블록체인에 루트 해시값(230)을 게재한다. 상기 미디어 파일(300)의 루트 해시값(230)이 블록체인에 게재된 이후에 배포되는 미디어 파일(300)에 대해 루트 해시값(230)을 생성한 뒤, 상기 블록체인에 동일한 루트 해시값(230)이 게재되어 있음을 확인하는 방식으로 배포된 미디어 파일(300)에 대한 위변조를 검증할 수 있다. 미디어 파일 위변조 검증 방법(100)에서 미디어 파일(300)에 대해 루트 해시값(230)을 생성하는 단계에 대해서는 도 6과 관련하여 이하에서 구체적으로 설명한다.1 is a diagram illustrating a media file
미디어 파일(300)이란, 음성 및 영상 중 적어도 어느 하나를 객체로 하는 파일일 수 있다. 자막이나 실시간 대화형 통신을 위한 부가 정보 등도 객체로 포함할 수 있다. 미디어 파일(300)은 KS X ISO/IEC 14496-12 에서 정의하는 ISO 기반 미디어 파일(MPEG-4), Microsoft 사에서 정의하는 AVI 파일 또는 Apple 사에서 정의하는 MOV 파일 등을 포괄적으로 지칭할 수 있다. 미디어 파일(300)은 음성만 담겨 있는 MPEG-3/FLAC/AAC 등과 같은 형식의 파일이나, 영상만 담겨 있는 FLV 같은 형식의 파일도 포함할 수 있다.The media file 300 may be a file having at least one of audio and video as objects. Subtitles and additional information for real-time interactive communication can also be included as objects. The media file 300 may refer to an ISO based media file (MPEG-4) defined in ISO / IEC 14496-12, an AVI file defined by Microsoft Corporation, or an MOV file defined by Apple Inc. . The media file 300 may include a file format such as MPEG-3 / FLAC / AAC, which contains only audio, or a file format such as FLV, which contains only video.
미디어 파일(300)은 복수개의 트랙을 포함할 수 있다. 미디어 파일(300)의 비디오 트랙은 비디오의 각 장면을 특정 시간에 표시하기 위한 장면, 프레임 등의 샘플에 대한 정보와 시간에 대한 정보를 포함할 수 있다. 비디오 샘플의 효율적인 저장을 위해 최근의 비디오 코덱은 키프레임과 같은 특정 샘플을 기준으로 하여 키프레임 전 또는 후의 샘플과의 연관성을 수학적으로 계산하여 그 차이만을 기록하는 방식을 이용하는 경우가 많다. 이러한 방식에 의할 때, 키프레임이나 키프레임 전 또는 후의 샘플과 연관성을 갖는 샘플은 독립적으로 처리할 수가 없다. 따라서 샘플의 재현에 있어서 상호 의존적으로 처리해야 하는 샘플의 집합이 존재하게 된다. 이러한 샘플의 집합에서 해당 집합에 속하는 샘플 데이터 및 해당 샘플 집합이 재현되어야 하는 시간에 대한 표현 시간 데이터를 포함하여 구간 데이터(310)로 지칭할 수 있다.The media file 300 may include a plurality of tracks. The video track of the
구간 데이터(310)와 관련하여 각각의 샘플에 대한 정보를 독립적으로 기록하는 방식도 존재한다. 그러한 경우에는 가장 작은 단위의 각각의 샘플이 구간 데이터(310)가 될 수 있다.There is also a method of independently recording the information of each sample with respect to the
구간 데이터(310)는 반드시 하나의 구간 데이터(310)로 처리될 필요는 없다. 필요한 경우에는 여러 개의 연속한 구간 데이터(310)를 결합한 구분 데이터(310)의 결합을 하나의 구분 데이터로 간주하여 구분할 수도 있다. 그리고 각 구간 데이터(310) 별로 부가 정보인 메타 데이터를 포함할 수 있다. 상기 메타 데이터에는 미디어 파일(300)이 생성된 카메라 등 영상 촬영 기기(110)의 시리얼 번호, 위치에 대한 고유 번호, 워터마크, 각각의 구간 데이터(310)의 디코딩 타임스탬프(Decoding Timestamp) 및 프리젠테이션 타임스탬프(Presentation Timestamp) 시간 정보 등이 포함될 수 있다.The
도 2는 일 실시예에 따른 미디어 파일(300)에서 구간 데이터(310)를 구분하는 부분을 도시한 도면이다. 도 2는 일 실시예에 따른 미디어 파일(300)에 2개의 트랙이 있는 경우를 상정하였다. 좌에서 우로 향하는 화살표 모양의 트랙 1의 시간축을 따라 트랙 1의 시간축과 수직한 방향의 각각의 트랙 1 표현시간(330)이 표시되어 있다. 마찬가지로 좌에서 우로 향하는 화살표 모양의 트랙 2의 시간축을 따라 트랙 2의 시간축과 수직한 방향의 각각의 트랙 2 표현시간(340)이 표시되어 있다. 구간 데이터(310)는 좌우에 구간 데이터 경계(320)를 가지게 될 수 있다. 구간 데이터(310)는 해당 시간의 구간 데이터 경계(320) 안에 표현시간이 포함되는 각각의 트랙의 모든 샘플로 구성될 수 있다. 구간 데이터 경계(320)는 연관성 내지 의존성을 갖는 샘플 집합을 기준으로 구분될 수 있다.FIG. 2 is a diagram illustrating a section for separating
도 3은 일 실시예에 따른 해시 트리(200)를 도시한 도면이다. 일 실시예에 따른 해시 트리(200)는 각각의 노드를 해시값으로 하는 이진 트리의 자료 구조일 수 있다. 부모 노드는 연접한 자식 노드들과 필요한 경우 부가 정보를 포함한 값의 해시값일 수 있다. 도 2에서 원형의 도형은 리프 해시값(210), 육각형 도형은 노드 해시값(220), 삼각형 도형은 루트 해시값(230)으로 할 수 있다. 리프 해시값(210)과 노드 해시값(220)의 개수는 상황에 따라 달라질 수 있다. 다만 루트 해시값(230)은 하나의 값이다.FIG. 3 is a diagram illustrating a
도 4는 일 실시예에 따른 경로 노드(240)와 부가 정보 노드(250)를 해시 트리(200)에서 구분하여 도시한 도면이다. 도 4에서도 도 3과 마찬가지로, 원형의 도형은 리프 해시값(210), 육각형 도형은 노드 해시값(220), 삼각형 도형은 루트 해시값(230)으로 할 수 있다. 해시 트리(200)의 일부분으로서 경로 노드(240)는 도 4의 맨 하단 왼쪽에서 세번째 리프 해시값(210)에 해당하는 숫자 0에서 경로를 따라 루트 해시값(230)에 해당하는 숫자 3까지 0-1-2-3 으로 이어지는 부분을 가리킬 수 있다. 해시 트리(200)의 일부분으로서 부가 정보 노드(250)는 경로 노드(240)의 경로에서 루트 해시값(230)을 구하기 위한 부가 정보 노드(250)의 집합인 도 4의 맨 하단 왼쪽에서 4번째 리프 해시값(210) A, 왼쪽에서 첫번째 노드 해시값(220) B, 루트 해시값(230)과 연접한 오른쪽 하단의 노드 해시값(220) C를 포함할 수 있다. 검증의 관점에서 부가 정보 노드(250)의 집합인 A, B 및 C를 해시 체인으로 부를 수 있다.FIG. 4 is a diagram illustrating the
도 5는 일 실시예에 따른 도 3의 해시 트리(200) 중 경로 노드(240)와 부가 정보 노드(250)만을 분리하여 도시한 도면이다. 해시 트리(200)의 일부분으로서 경로 노드(240)는 0-1-2-3 으로 이어지는 도 5의 직사각형 부분을 가리킬 수 있다. 해시 트리(200)의 일부분으로서 부가 정보 노드(250)는 리프 해시값(210) A, 노드 해시값(220) B 및 노드 해시값(220) C를 포함할 수 있다. 검증의 관점에서 부가 정보 노드(250)의 집합인 A, B 및 C를 해시 체인으로 부를 수 있다.FIG. 5 is a diagram illustrating only the
도 6은 일 실시예에 따른 해시 트리(200)를 생성하여 미디어 파일(300)의 위변조 여부를 검증하는 미디어 파일 위변조 검증 방법(100)을 도시한 도면이다. 일 실시예에 따른 미디어 파일 위변조 검증 방법(100)은, 해시 트리(200)를 생성하여 미디어 파일(300)의 위변조 여부를 검증하는 미디어 파일 위변조 검증 방법(100)에 있어서, (1) 상기 미디어 파일(300)에 포함된 각각의 트랙에 대해 상기 트랙의 각각의 표현 시간이 동기화된 구간 데이터(310)를 구성하는 단계(S100), (2) 상기 단계 (1)에서 구성한 구간 데이터(310) 중 하나의 구간 데이터(310)에 대해 해시값을 생성하는 단계(S200), (3) 상기 단계 (2)에서 생성한 상기 해시값을 리프로 하여 상기 해시 트리(200)에 추가하는 단계(S300), (4) 상기 단계 (1)에서 구성한 각각의 구간 데이터(310)에 대해 상기 단계 (2) 및 (3)을 반복하여 최종 해시 트리를 생성하는 단계(S400) 및 (5) 상기 최종 해시 트리의 루트 해시값(230)을 블록체인에 게재하는 단계(S500)를 포함할 수 있다. FIG. 6 is a diagram illustrating a media file
단계 S100은, 미디어 파일(300)에 포함된 하나 또는 복수의 트랙 각각에 대해 상기 트랙의 각각의 표현 시간이 동기화된 구간 데이터(310)를 구성할 수 있다. 구간 데이터 경계(320)는 연관성 내지 의존성을 갖는 샘플 집합을 기준으로 구분될 수 있다. 또한 구간 데이터(310)는 반드시 하나의 구간 데이터(310)로 처리될 필요는 없다. 필요한 경우에는 여러 개의 연속한 구간 데이터(310)를 결합한 구분 데이터(310)의 결합을 하나의 구분 데이터(310)로 간주하여 구분할 수도 있다.Step S100 may constitute
단계 S200은, 단계 (1)에서 구성한 구간 데이터(310) 중 하나의 구간 데이터(310)에 대해 해시값을 생성할 수 있다. 구간 데이터(310)에 대해 직접적으로 생성한 해시값을 리프 해시값(210)으로 할 수 있다. In step S200, a hash value may be generated for one of the
단계 S300은, 단계 (2)에서 생성한 상기 해시값을 리프로 하여 상기 해시 트리(200)에 추가할 수 있다. 따라서 구간 데이터(310)의 개수가 많아지면 해시 트리(200)에 추가되는 리프 해시값(210)의 개수가 증가하게 될 수 있다. In step S300, the hash value generated in step (2) may be added to the
단계 S400은, 단계 (1)에서 구성한 각각의 구간 데이터(310)에 대해 상기 단계 (2) 및 (3)을 반복하여 최종 해시 트리를 생성할 수 있다. 구간 데이터(310)에 대해 직접적으로 생성된 해시값을 리프 해시값(210)으로 하되, 인접한 리프 해시값(210)을 이용하여 새로운 해시값인 노드 해시값(220)을 생성할 수 있다. 또한 종국적으로는 해시 트리(200)를 생성하는 과정에서 최종적으로 생성되는 루트 해시값(230)을 생성하면서 최종 해시 트리를 생성할 수 있다.In step S400, the final hash tree can be generated by repeating the above steps (2) and (3) for each
또한, 미디어 파일 위변조 검증 방법(100)은 상기 미디어 파일(300)에 상기 루트 해시값(230)과 상기 루트 해시값(230)에 대한 메타 데이터를 추가하는 단계를 더 포함할 수 있다. The media file
단계 S500은, 최종 해시 트리의 루트 해시값(230)을 블록체인에 게재할 수 있다. 도 1에서 영상 촬영 기기(110)에서 촬영한 영상을 녹화하여 생성된 미디어 파일(300)에 대해 루트 해시값(230)을 생성하고, 상기 루트 해시값을 블록체인에 게재하기 위해 서버(120)로 전송할 수 있다. 서버(120)에서는 전송 받은 루트 해시값(230)을 블록체인에 게재할 수 있다. Step S500 can place the
바람직하게는, 미디어 파일(300)의 개수가 많아 서버(120)에서 전송 받은 루트 해시값(230)이 많을 경우에는, 효율적으로 블록체인에 게재하기 위해, 미디어 파일 각각에 대해 전송 받은 루트 해시값(230)을 리프로 하여 해시 트리(200)를 생성하였을 때 생성되는 루트 해시값(230)을 블록체인에 게재할 수 있다.Preferably, when the number of
도 7은 일 실시예에 따른 구간 데이터(310)의 리프 해시값(210)을 기반으로 해시 트리(200)를 생성하는 과정을 도시한 도면이다. 구간 데이터(310)의 개수는 가변적이나 도 7의 경우 구간 데이터(310)가 4개 있는 경우를 상정하였다. 도 7을 참조하면, 4개의 구간 데이터(310)가 있는 경우 각각의 구간 데이터(310)에 대해 H1, H2, H4, H5에 해당하는 리프 해시값(210) 4개를 생성할 수 있다. 인접한 리프 해시값(210)인 H1, H2와 H4, H5를 이용하여 새로운 해시값인 노드 해시값(220) H3, H6를 생성할 수 있다. 그리고 노드 해시값(220) H3, H6를 이용하여 루트 해시값(230) H7을 생성하면서 최종적으로 해시 트리(200)를 생성할 수 있다.7 is a diagram illustrating a process of generating a
도 8은 일 실시예에 따른 구간 데이터(310)의 리프 해시값(210)에 메타 데이터의 리프 해시값(210)이 더 포함되어 해시 트리(200)를 생성하는 과정을 도시한 도면이다. 각각의 구간 데이터(310)에 대해 H1, H2, H4, H5에 해당하는 리프 해시값(210) 4개가 생성될 수 있고, 구간 데이터(310) 자체가 아닌 구간 데이터(310)에 대한 부가 정보인 메타 데이터를 기반으로 한 리프 해시값(210) H8을 생성하는 경우를 상정하였다. 인접한 리프 해시값(210)인 H1, H2와 H4, H5를 이용하여 새로운 해시값인 노드 해시값(220) H3, H6를 생성할 수 있다. 그리고 노드 해시값(220) H3, H6를 이용하여 노드 해시값(220) H7을 생성할 수 있다. 노드 해시값(220) H7과 메타 데이터를 기반으로 한 리프 해시값(210) H8을 이용하여 루트 해시값(230) H9을 생성하면서 최종적으로 해시 트리(200)를 생성할 수 있다.8 is a diagram illustrating a process of generating a
도 9는 일 실시예에 따른 구간 데이터(310)의 리프 해시값(210)에 구간 데이터(310)마다의 메타 데이터의 리프 해시값(210)이 더 포함되어 해시 트리(200)를 생성하는 과정을 도시한 도면이다. 각각의 구간 데이터(310)에 대해 H1, H4, H8, H11에 해당하는 리프 해시값(210) 4개가 생성될 수 있고, 구간 데이터(310) 각각에 대한 부가 정보인 메타 데이터 1 내지 4를 기반으로 한 리프 해시값(210) H2, H5, H9, H12를 생성하는 경우를 상정하였다. 인접한 리프 해시값(210)을 이용하여 새로운 해시값인 노드 해시값(220) H3, H6, H10, H13을 생성할 수 있다. 그리고 노드 해시값(220) H3, H6, H10, H13을 이용하여 노드 해시값(220) H7, H14를 생성할 수 있다. 노드 해시값(220) H7, H14를 이용하여 루트 해시값(230) H15를 생성하면서 최종적으로 해시 트리(200)를 생성할 수 있다. 9 is a flowchart illustrating a process of generating a
또한, 도 8 및 도 9의 실시예 외에도 구간 데이터(310)의 개수와 메타 데이터의 개수가 상이한 경우에 해시 트리(200)를 생성하는 경우도 상정할 수 있다. 이외에도 해시 트리(200)를 생성하여 루트 해시값(230)을 생성하는 방법은 상황에 따라 적절하게 상정할 수 있을 것이다.It is also possible to generate the
바람직하게는, 영상 촬영 기기(110)에서 촬영한 영상을 녹화하여 생성된 미디어 파일(300)에 대해 루트 해시값(230)을 생성하고, 서버(120)를 경유하여 블록체인에 루트 해시값(230)을 게재한다. 블록체인에 루트 해시값(230)이 게재되어 있음을 확인하는 검증 단계를 포함할 수 있다.Preferably, the
또한, 미디어 파일(300)의 위변조 여부에 대한 검증을 원하는 요청자에게 루트 해시값(230)이 블록체인에 게재되어 있음을 확인할 수 있는 트랙잭션 고유번호 또는 블록체인에 게재되어 있는 트랙잭션 데이터 등을 전송할 수 있다. 그 이후 미디어 파일(300)의 위변조 여부에 대한 검증을 원하는 요청자는 루트 해시값(230)을 확인할 수 있다. Also, it is possible to transmit a transaction specific number or transaction data placed in a block chain to the requester who wants to verify whether the
도 10은 일 실시예에 따른 부분 미디어 파일(360)을 생성함에 있어서 미디어 파일 위변조 검증 방법(100)을 도시한 도면이다. 일 실시예에 따른 미디어 파일 위변조 검증 방법(100)은, 해시 트리(200)를 생성하여 미디어 파일(300)의 위변조 여부를 검증하는 미디어 파일 위변조 검증 방법(100)에 있어서, (1) 상기 미디어 파일(300)에 포함된 각각의 트랙에 대해 상기 트랙의 각각의 표현 시간이 동기화된 구간 데이터(310)를 구성하는 단계(S100), (2) 상기 단계 (1)에서 구성한 구간 데이터(310) 중 하나의 구간 데이터(310)에 대해 해시값을 생성하는 단계(S200), (3) 상기 단계 (2)에서 생성한 상기 해시값을 리프로 하여 상기 해시 트리(200)에 추가하는 단계(S300), (4) 상기 단계 (1)에서 구성한 각각의 구간 데이터(310)에 대해 상기 단계 (2) 및 (3)을 반복하여 최종 해시 트리를 생성하는 단계(S400) (5) 상기 미디어 파일(300)의 전체 시간 구간 중 일부 시간 구간을 포함하는 연속하는 시간의 상기 구간 데이터(310)의 집합인 구간 데이터 집합을 선택하는 단계(S600), (6) 상기 최종 해시 트리에서 상기 구간 데이터 집합 중 가장 선행 시간의 구간 데이터(310)와 가장 후행 시간의 구간 데이터(310)에 대해 부가 정보 노드(250)의 집합인 해시 체인을 선택하는 단계(S700), (7) 상기 구간 데이터 집합을 부분 미디어 파일(360)로 생성하는 단계(S800) 및 (8) 상기 부분 미디어 파일(360)에 상기 해시 체인을 포함한 데이터(350)를 추가하는 단계(S900)를 포함할 수 있다.10 is a diagram illustrating a media file
단계 S100은, 미디어 파일(300)에 포함된 하나 또는 복수의 트랙 각각에 대해 상기 트랙의 각각의 표현 시간이 동기화된 구간 데이터(310)를 구성할 수 있다. 구간 데이터 경계(320)는 연관성 내지 의존성을 갖는 샘플 집합을 기준으로 구분될 수 있다. 또한 구간 데이터(310)는 반드시 하나의 구간 데이터(310)로 처리될 필요는 없다. 필요한 경우에는 여러 개의 연속한 구간 데이터(310)를 결합한 구분 데이터(310)의 결합을 하나의 구분 데이터(310)로 간주하여 구분할 수도 있다.Step S100 may constitute
단계 S200은, 단계 (1)에서 구성한 구간 데이터(310) 중 하나의 구간 데이터(310)에 대해 해시값을 생성할 수 있다. 구간 데이터(310)에 대해 직접적으로 생성한 해시값을 리프 해시값(210)으로 할 수 있다. In step S200, a hash value may be generated for one of the
단계 S300은, 단계 (2)에서 생성한 상기 해시값을 리프로 하여 상기 해시 트리(200)에 추가할 수 있다. 따라서 구간 데이터(310)의 개수가 많아지면 해시 트리(200)에 추가되는 리프 해시값(210)의 개수가 증가하게 될 수 있다. In step S300, the hash value generated in step (2) may be added to the
단계 S400은, 단계 (1)에서 구성한 각각의 구간 데이터(310)에 대해 상기 단계 (2) 및 (3)을 반복하여 최종 해시 트리를 생성할 수 있다. 구간 데이터(310)에 대해 직접적으로 생성된 해시값을 리프 해시값(210)으로 하되, 인접한 리프 해시값(210)을 이용하여 새로운 해시값인 노드 해시값(220)을 생성할 수 있다. 또한 종국적으로는 해시 트리(200)를 생성하는 과정에서 최종적으로 생성되는 루트 해시값(230)을 생성하면서 최종 해시 트리를 생성할 수 있다.In step S400, the final hash tree can be generated by repeating the above steps (2) and (3) for each
단계 S600은, 미디어 파일(300)의 전체 시간 구간 중 일부 시간 구간을 포함하는 연속하는 시간의 상기 구간 데이터(310)의 집합인 구간 데이터 집합을 선택할 수 있다. 예를 들어, 재생시간이 14분 30초인 미디어 파일(300) 중 5분부터 10분까지의 부분만이 법원에 증거 자료로 제출이 필요한 경우에, 미디어 파일(300)의 전체 재생시간 14분 30초 중 5분부터 10분까지의 연속된 5분 동안의 구간을 포함하는 구간 데이터(310)의 집합을 구간 데이터 집합으로 선택할 수 있다.The step S600 may select a set of interval data that is a set of the
단계 S700은, 최종 해시 트리에서 상기 구간 데이터 집합 중 가장 선행 시간의 구간 데이터(310)와 가장 후행 시간의 구간 데이터(310)에 대해 부가 정보 노드(250)의 집합인 해시 체인을 선택할 수 있다. 예를 들어, 재생시간이 14분 30초인 미디어 파일(300) 중 5분부터 10분까지의 부분만이 법원에 증거 자료로 제출이 필요한 경우에, 미디어 파일(300)의 전체 재생시간 14분 30초 중 5분부터 10분까지의 연속된 5분 동안의 구간을 포함하는 구간 데이터(310)의 리프 해시값(210)을 기반으로 하는 경로 노드(240)와 관련된 부가 정보 노드(250)의 집합인 해시 체인을 선택할 수 있다.In step S700, the hash chain, which is a set of the
단계 S800은, 구간 데이터 집합을 부분 미디어 파일(360)로 생성할 수 있다. 부분 미디어 파일(360)은 미디어 파일(300)의 일부분에 해당하나 부분 미디어 파일(360)과 미디어 파일(300)로 생성한 루트 해시값(230)이 동일하다는 특징을 가질 수 있다.Step S800 may generate the section data set as the
단계 S900은, 부분 미디어 파일(360)에 상기 해시 체인을 포함한 데이터(350)를 추가할 수 있다. 부분 미디어 파일(360)은 미디어 파일(300)의 구간 데이터(310)들 중 일부 구간 데이터(310)의 집합으로서, 영상 촬영 기기(110)에서 촬영한 영상을 녹화하여 최초로 생성된 미디어 파일(300)을 필요한 부분만 잘라내어 분리하여도 부분 미디어 파일(360)이 미디어 파일(300)과 여전히 동일한 루트 해시값(230)을 가지게 할 수 있다. 따라서 미디어 파일(300)이 최초로 생성된 이후 어느 시점에서나 미디어 파일 위변조 검증을 안정적이고 효과적으로 할 수 있다. 다만, 부분 미디어 파일(360)이 미디어 파일(300)과 여전히 동일한 루트 해시값(230)을 가지는지 여부를 확인하려면 미디어 파일(300)의 구간 데이터(310)들 중 일부 구간 데이터(310)들의 집합인 부분 미디어 파일(360)에 더하여 상기 해시 체인을 포함한 데이터(350)가 필요한 경우가 있을 수 있다.Step S900 may add the
바람직하게는, 상기 해시 체인과 상기 부분 미디어 파일(360)을 이용하여 상기 미디어 파일(300)과 동일한 루트 해시값(230)을 생성할 수 있다. 부분 미디어 파일(360)은 미디어 파일(300)의 일부분에 해당하나 부분 미디어 파일(360)과 미디어 파일(300)로 생성한 루트 해시값(230)이 동일하다는 특징을 가질 수 있다. 다만, 부분 미디어 파일(360)과 미디어 파일(300)이 동일한 루트 해시값(230)을 생성하기 위해서는 구간 데이터(310)의 리프 해시값(210)을 기반으로 하는 경로 노드(240)와 관련된 부가 정보 노드(250)의 집합인 해시 체인이 필요할 것이다. 부분 미디어 파일(360)과 미디어 파일(300)이 동일한 루트 해시값(230)을 가진다는 특징은, 미디어 파일(300)의 부분만이 필요한 경우에 부분 미디어 파일(360)의 위변조 검증을 안정적이고 효과적으로 할 수 있다는 실제 이용상의 장점을 제공할 수 있다.Preferably, the hash chain and the
도 11은 일 실시예에 따른 부분 미디어 파일(360)을 생성하는 과정에서 미디어 파일(300)의 해시 트리(200)에서 부분 미디어 파일(360)에 해당하는 해시값과 해시 체인을 도시한 도면이다. 도 11의 경우, 부분 미디어 파일(360) 해당 부분은 3개의 구간 데이터(310)의 집합으로 3개의 리프 해시값(210)을 결과물로 생성할 수 있다. 해당 3개의 리프 해시값(210)은 점선의 경로를 따라 노드 해시값(220) 4개와 루트 해시값(230) 1개로 구성된 경로 노드(240)을 구성할 수 있다. 그리고 해당 경로 노드(240)에 대응하는 부가 정보 노드(250) 4개가 해시 체인을 구성할 수 있다. 부분 미디어 파일(360) 해당 부분은 3개의 구간 데이터(310)의 집합으로 3개의 리프 해시값(210)을 결과물로 생성할 수 있으나, 미디어 파일(300)의 루트 해시값(230)과 동일한 부분 미디어 파일(360)의 루트 해시값(230)을 추후에 다시 생성하여 부분 미디어 파일(360)의 위변조 검증을 하기 위해서는, 상기 경로 노드(240)에 대응하는 부가 정보 노드(250) 4개에 해당하는 해시 체인이 있어야만 가능할 것이다. 11 is a diagram showing a hash value and a hash chain corresponding to a
도 12는 일 실시예에 따른 해시 체인을 포함한 데이터(350)를 도시한 도면이다. 해시 체인을 포함한 데이터(350)는 루트 해시값(230), 메타 데이터 길이, 메타 데이터 정보, 부분 미디어 파일(360) 시작시간, 미디어 파일(300)의 구간 데이터(310) 개수, 해시 체인 높이 및 해시 체인 등의 정보로 구성될 수 있다. 해시 체인을 포함한 데이터(350)의 각각의 구성 정보는 저장 공간의 효율적인 활용을 위해 경우에 따라 생략 될 수 있다. 또한, 각각의 구성 정보는 각각의 구성 정보의 유무에 따라 생략 될 수 있다. 예를 들어, 카메라의 고유 번호에 해당하는 메타 데이터가 존재하지 않을 경우에 메타 데이터 길이, 메타 데이터 정보는 생략 될 수 있다. 12 is a
개시된 내용에 따른 미디어 파일 위변조 검증 방법(100)은, 미디어 파일(300) 생성 단계에서 해시 트리(200)를 생성하고 루트 해시값(230)을 블록체인에 게재함으로써, 블록체인에 게재된 루트 해시값(230)은 현실적으로 위변조의 가능성이 거의 없는 점에서, 미디어 파일(300) 생성 시부터 미디어 파일(300)의 위변조 여부를 효과적으로 확실하게 검증할 수 있다.The media file
루트 해시값(230) 생성에 필요한 부가 정보 노드의 집합인 해시 체인을 포함한 데이터(350)는 미디어 파일(300)에 호환되는 객체로서 미디어 파일(300) 내에 보관하므로, 해시 체인을 포함한 데이터(350)를 별도의 파일로 따로 보관하거나 또는 별도의 보관 수단을 이용할 필요가 없으며, 해시 체인을 포함한 데이터(350)의 손실 위험이 낮아진다.The
또한, 개시된 내용에 따른 미디어 파일 위변조 검증 방법(100)은, 미디어 파일(300)의 특정 부분을 부분 미디어 파일(360)로 잘라 분리하여도 기존의 원본 미디어 파일(300)에서 생성한 해시 트리(200)의 루트 해시값(230)의 재현이 용이하게 가능하여, 부분 미디어 파일(360)이 위변조되었는지 여부를 안정적, 효과적으로 검증할 수 있다.The method for verifying the forgery of a media file according to the disclosed contents may further include extracting a hash tree generated from an existing original media file (300) by separating a specific portion of the media file (300) It is possible to easily reproduce the
100 : 미디어 파일 위변조 검증 방법
110 : 영상 촬영 기기
120 : 서버
200 : 해시 트리
210 : 리프 해시값
220 : 노드 해시값
230 : 루트 해시값
240 : 경로 노드
250 : 부가 정보 노드
300 : 미디어 파일
310 : 구간 데이터
320 : 구간 데이터 경계
330 : 트랙 1 표현시간
340 : 트랙 2 표현시간
350 : 해시 체인을 포함한 데이터
360 : 부분 미디어 파일
S100 : 미디어 파일에 포함된 각각의 트랙에 대해 각각의 표현 시간이 동기화된 구간 데이터를 구성하는 단계
S200 : 구간 데이터 중 하나의 구간 데이터에 대해 해시값을 생성하는 단계
S300 : 해시값을 리프로 하여 해시 트리에 추가하는 단계
S400 : 각각의 구간 데이터에 대해 해시값 생성과 해당 해시값을 리프로 하여 해시 트리에 추가하는 단계을 반복하여 최종 해시 트리를 생성하는 단계
S500 : 최종 해시 트리의 루트 해시값을 블록체인에 게재하는 단계
S600 : 미디어 파일의 전체 시간 구간 중 일부 시간 구간을 포함하는 연속하는 시간의 구간 데이터의 집합인 구간 데이터 집합을 선택하는 단계
S700 : 최종 해시 트리에서 구간 데이터 집합 중 가장 선행 시간의 구간 데이터와 가장 후행 시간의 구간 데이터에 대해 부가 정보 노드의 집합인 해시 체인을 선택하는 단계
S800 : 구간 데이터 집합을 부분 미디어 파일로 생성하는 단계
S900 : 부분 미디어 파일에 해시 체인을 포함한 데이터를 추가하는 단계100: How to verify forgery of media files
110: Video shooting device
120: Server
200: Hash tree
210: leaf hash value
220: Node hash value
230: root hash value
240: Path node
250: additional information node
300: Media file
310: interval data
320: interval data boundary
330:
340:
350: Data including hash chain
360: Partial media file
S100: constituting section data in which the presentation time of each track included in the media file is synchronized
S200: a step of generating a hash value for one piece of interval data
S300: Steps to add a hash value to the hash tree
S400: Creating a final hash tree by repeating the steps of generating a hash value for each section data and adding the hash value to the hash tree as a leaf
S500: Placing the root hash value of the last hash tree in the block chain
S600: selecting an interval data set that is a set of interval data of continuous time including a certain time interval of the entire time interval of the media file
S700: a step of selecting a hash chain, which is a set of additional information nodes, with respect to interval data of the earliest preceding time and interval data of the latest time in the last hash tree
S800: Steps to Generate Interval Data Set as Partial Media File
S900: Adding data to a partial media file, including hash chain
Claims (8)
(1) 상기 미디어 파일에 포함된 각각의 트랙에 대해 상기 트랙의 각각의 표현 시간이 동기화된 구간 데이터를 구성하는 단계;
(2) 상기 단계 (1)에서 구성한 상기 구간 데이터 중에서 하나의 구간 데이터에 대해 해시값을 생성하는 단계;
(3) 상기 단계 (2)에서 생성한 상기 해시값을 리프로 하여 상기 해시 트리에 추가하는 단계; 및
(4) 상기 단계 (1)에서 구성한 각각의 상기 구간 데이터에 대해 상기 단계 (2) 및 (3)을 반복하여 최종 해시 트리를 생성하는 단계; 를 포함하되,
상기 단계 (4)는,
상기 해시 트리에서 서로 인접한 리프 해시값을 이용하여 생성한 노드 해시값 및 최종 하나의 해시값인 루트 해시값을 상기 해시 트리에 추가하여 상기 최종 해시 트리를 생성하는 것을 특징으로 하는, 미디어 파일 위변조 검증 방법
A media file forgery verification method for generating a hash tree to verify whether a media file is falsified or not, the method comprising:
(1) constructing interval data in which each presentation time of each of the tracks is synchronized with respect to each of the tracks included in the media file;
(2) generating a hash value for one piece of section data out of the section data constructed in the step (1);
(3) adding the hash value generated in the step (2) to the hash tree as a leaf; And
(4) generating a final hash tree by repeating the steps (2) and (3) with respect to each of the section data configured in the step (1); , ≪ / RTI &
The step (4)
Wherein the final hash tree is generated by adding a node hash value generated using leaf hash values adjacent to each other in the hash tree and a root hash value that is a final hash value to the hash tree, Way
상기 최종 해시 트리의 루트 해시값을 블록체인에 게재하는 단계; 를 더 포함하는 것을 특징으로 하는, 미디어 파일 위변조 검증 방법
The method according to claim 1,
Placing a root hash value of the last hash tree in a block chain; Further comprising: a media file forgery verification method
메타 데이터에 대해 해시값을 생성하고, 상기 해시값을 리프로 하여 상기 해시 트리에 추가함으로써 상기 최종 해시 트리를 생성하는 것을 특징으로 하는, 미디어 파일 위변조 검증 방법
2. The method of claim 1, wherein step (4)
And generating the hash value for the metadata, and adding the hash value to the hash tree by creating the final hash tree.
상기 미디어 파일이 복수개인 경우, 상기 미디어 파일 각각에 대한 상기 루트 해시값을 리프로 하여 상기 해시 트리를 생성하여 도출되는 루트 해시값인 것을 특징으로 하는, 미디어 파일 위변조 검증 방법
3. The method of claim 2,
And a root hash value obtained by creating the hash tree by re-establishing the root hash value for each of the media files when the media file is a plurality of media files.
블록체인에 루트 해시값이 게재되어 있음을 확인하는 검증 단계; 를 더 포함하는 것을 특징으로 하는, 미디어 파일 위변조 검증 방법
The method according to claim 1,
A verification step of confirming that a root hash value is placed in a block chain; Further comprising: a media file forgery verification method
(1) 상기 미디어 파일에 포함된 각각의 트랙에 대해 상기 트랙의 각각의 표현 시간이 동기화된 구간 데이터를 구성하는 단계;
(2) 상기 단계 (1)에서 구성한 각각의 상기 구간 데이터에 대해 해시값을 생성하는 단계;
(3) 상기 단계 (2)에서 생성한 상기 해시값을 리프로 하여 상기 해시 트리에 추가하는 단계;
(4) 상기 단계 (1)에서 구성한 각각의 상기 구간 데이터에 대해 상기 단계 (2) 및 (3)을 반복하여 최종 해시 트리를 생성하는 단계;
(5) 상기 미디어 파일의 전체 시간 구간 중 일부 시간 구간을 포함하는 연속하는 시간의 상기 구간 데이터의 집합인 구간 데이터 집합을 선택하는 단계;
(6) 상기 최종 해시 트리에서 상기 구간 데이터 집합 중에서 가장 선행 시간의 상기 구간 데이터와 가장 후행 시간의 상기 구간 데이터에 대해 부가 정보 노드의 집합인 해시 체인을 선택하는 단계;
(7) 상기 구간 데이터 집합을 상기 부분 미디어 파일로 생성하는 단계; 및
(8) 상기 부분 미디어 파일에 상기 해시 체인을 포함한 데이터를 추가하는 단계; 를 포함하는, 미디어 파일 위변조 검증 방법
A media file forgery verification method for generating a hash tree to verify whether a partial media file is falsified or not, the method comprising:
(1) constructing interval data in which each presentation time of each of the tracks is synchronized with respect to each of the tracks included in the media file;
(2) generating a hash value for each of the interval data configured in the step (1);
(3) adding the hash value generated in the step (2) to the hash tree as a leaf;
(4) generating a final hash tree by repeating the steps (2) and (3) with respect to each of the section data configured in the step (1);
(5) selecting an interval data set that is a set of the interval data of consecutive times including a certain time interval of the entire time interval of the media file;
(6) selecting a hash chain that is a set of additional information nodes for the interval data of the earliest preceding time and the interval data of the latest time in the last hash tree;
(7) generating the partial data file as the partial data file; And
(8) adding data including the hash chain to the partial media file; A media file forgery verification method
상기 해시 체인과 상기 부분 미디어 파일을 이용하여 상기 미디어 파일과 동일한 루트 해시값을 생성하는 단계; 를 더 포함하는 것을 특징으로 하는, 미디어 파일 위변조 검증 방법
8. The method of claim 7,
Generating a root hash value identical to the media file using the hash chain and the partial media file; Further comprising: a media file forgery verification method
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170181736A KR101855442B1 (en) | 2017-12-28 | 2017-12-28 | A method for determining forgeries of media files |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170181736A KR101855442B1 (en) | 2017-12-28 | 2017-12-28 | A method for determining forgeries of media files |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180042145A KR20180042145A (en) | 2018-04-25 |
KR101855442B1 true KR101855442B1 (en) | 2018-05-09 |
Family
ID=62088639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170181736A KR101855442B1 (en) | 2017-12-28 | 2017-12-28 | A method for determining forgeries of media files |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101855442B1 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109034807B (en) * | 2018-08-15 | 2021-07-06 | 杭州复杂美科技有限公司 | Block chain data synchronization method |
KR102110163B1 (en) * | 2018-09-07 | 2020-05-14 | 주식회사 비지트 | System and method for managing watermark in virtual reality contents using blockchain network |
KR102100178B1 (en) * | 2019-01-21 | 2020-05-15 | 퓨렌스 주식회사 | System for check falsify recording file based on block chain and method performing thereof |
CN109756589B (en) * | 2019-02-20 | 2020-11-13 | 中国互联网络信息中心 | Domain name information maintenance system based on block chain multi-party co-treatment |
KR102213839B1 (en) * | 2019-07-11 | 2021-02-08 | 제주대학교 산학협력단 | Method for preventing video falsification and apparatus therefor |
KR102516548B1 (en) * | 2021-03-10 | 2023-03-31 | 숭실대학교 산학협력단 | System and method for preventing forgery of video based on blockchain and computer program for the same |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5739079B2 (en) * | 1979-05-14 | 1982-08-19 | ||
JPH0573513B2 (en) * | 1984-09-04 | 1993-10-14 | Daihen Corp | |
JP2004364263A (en) * | 2003-05-14 | 2004-12-24 | Matsushita Electric Ind Co Ltd | Information embedding apparatus and method, tampering detecting apparatus and method, and recording medium |
KR20060038462A (en) * | 2003-07-26 | 2006-05-03 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | Content identification for broadcast media |
KR101452299B1 (en) * | 2012-11-14 | 2014-10-21 | 주식회사 예티소프트 | Security metohd and server using program code guaranteed integrity |
KR101628005B1 (en) * | 2015-02-05 | 2016-06-13 | 주식회사 코인플러그 | Copyright detection system that is based on the block chain |
KR101701131B1 (en) * | 2016-04-28 | 2017-02-13 | 주식회사 라피 | Data recording and validation methods and systems using the connecting of blockchain between different type |
KR101786006B1 (en) * | 2016-01-29 | 2017-10-17 | 한국과학기술원 | Method And Apparatus for Memory Integrity Verification Based on Merkle Tree |
-
2017
- 2017-12-28 KR KR1020170181736A patent/KR101855442B1/en active IP Right Grant
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5739079B2 (en) * | 1979-05-14 | 1982-08-19 | ||
JPH0573513B2 (en) * | 1984-09-04 | 1993-10-14 | Daihen Corp | |
JP2004364263A (en) * | 2003-05-14 | 2004-12-24 | Matsushita Electric Ind Co Ltd | Information embedding apparatus and method, tampering detecting apparatus and method, and recording medium |
KR20060038462A (en) * | 2003-07-26 | 2006-05-03 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | Content identification for broadcast media |
KR101452299B1 (en) * | 2012-11-14 | 2014-10-21 | 주식회사 예티소프트 | Security metohd and server using program code guaranteed integrity |
KR101628005B1 (en) * | 2015-02-05 | 2016-06-13 | 주식회사 코인플러그 | Copyright detection system that is based on the block chain |
KR101786006B1 (en) * | 2016-01-29 | 2017-10-17 | 한국과학기술원 | Method And Apparatus for Memory Integrity Verification Based on Merkle Tree |
KR101701131B1 (en) * | 2016-04-28 | 2017-02-13 | 주식회사 라피 | Data recording and validation methods and systems using the connecting of blockchain between different type |
Also Published As
Publication number | Publication date |
---|---|
KR20180042145A (en) | 2018-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101855442B1 (en) | A method for determining forgeries of media files | |
US11450109B2 (en) | Systems and methods for generating bookmark video fingerprint | |
US9870508B1 (en) | Securely authenticating a recording file from initial collection through post-production and distribution | |
US11899653B2 (en) | Digital content integrity verification systems and methods | |
US7346472B1 (en) | Method and device for monitoring and analyzing signals | |
US8121342B2 (en) | Associating metadata with media signals, and searching for media signals using metadata | |
US10951958B1 (en) | Authenticity assessment of modified content | |
US20050177738A1 (en) | Watermark embedding and retrieval | |
KR100607969B1 (en) | Method and apparatus for playing multimedia play list and storing media therefor | |
US9792390B2 (en) | Metadata/content re-association system and method | |
KR100565069B1 (en) | Reproducing method of multimedia data using MusicPhotoVideo profiles and reproducing apparatus thereof | |
ITTO20091055A1 (en) | "PROCEDURE AND DEVICES FOR THE DISTRIBUTION OF MEDIAL CONTENT AND ITS COMPUTER PRODUCT" | |
Wright | Preserving moving pictures and sound | |
JP6716663B2 (en) | Encoding method, device and equipment using moving image gene | |
CN101410832B (en) | Systems and methods of extracting and identifying DVD optical disc fingerprint | |
Koukopoulos et al. | Security in collaborative multimedia web-based art projects | |
US20070112779A1 (en) | Distributed processing with metadata placeholders | |
Dang-Nguyen et al. | Practical analyses of how common social media platforms and photo storage services handle uploaded images | |
Simmons et al. | Interoperable Provenance Authentication of Broadcast Media using Open Standards-based Metadata, Watermarking and Cryptography | |
Le Meur et al. | The obsolescence of information and information systems CERN digital memory project | |
JP2010086615A (en) | Multiplexing device, program, and multiplexing method | |
US7979568B2 (en) | Method and apparatus for creating last uniform resource identifier, and recording medium storing program for executing the method | |
Kirschenbaum | Documenting digital images: Textual meta‐data at the Blake Archive | |
KR101017856B1 (en) | System and Method of Watermarking for Digital Video Record Management | |
CN117014679A (en) | Content detection method, related device, equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
G15R | Request for early publication | ||
E701 | Decision to grant or registration of patent right |