KR102275868B1 - 비디오 데이터의 위/변조 방지 장치 및 방법 - Google Patents
비디오 데이터의 위/변조 방지 장치 및 방법 Download PDFInfo
- Publication number
- KR102275868B1 KR102275868B1 KR1020170147083A KR20170147083A KR102275868B1 KR 102275868 B1 KR102275868 B1 KR 102275868B1 KR 1020170147083 A KR1020170147083 A KR 1020170147083A KR 20170147083 A KR20170147083 A KR 20170147083A KR 102275868 B1 KR102275868 B1 KR 102275868B1
- Authority
- KR
- South Korea
- Prior art keywords
- frame
- hash value
- value
- video
- data
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000008569 process Effects 0.000 claims description 28
- 238000003780 insertion Methods 0.000 claims description 4
- 230000037431 insertion Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 description 21
- 238000012795 verification Methods 0.000 description 11
- 230000015654 memory Effects 0.000 description 6
- 230000002265 prevention Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
-
- 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
-
- 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
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2389—Multiplex stream processing, e.g. multiplex stream encrypting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4385—Multiplex stream processing, e.g. multiplex stream decrypting
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Power Engineering (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
비디오 데이터의 위변조 방지 방법이 개시된다. 이 방법은, 비디오 프레임의 메타 정보를 파싱하여 N번째 프레임의 비디오 프레임에 대한 비디오 프레임 데이터를 획득하는 단계; 상기 비디오 프레임 데이터, 키(Key)값 및 N-1번째 프레임의 해시값을 해시함수로 연산하여 해시값(H)을 생성하는 단계; 및 상기 해시값(H)을 상기 N번째 프레임의 비디오 프레임과 N+1번째 프레임의 비디오 프레임 사이에 삽입하는 단계를 포함한다.
Description
본 발명은 비디오 데이터의 위/변조 방지 장치 및 그 방법에 관한 것으로, 상세하게는, 동영상에 포함된 비디오 데이터의 위/변조를 방지하는 기술에 관한 것이다.
최근, 차량충돌, 폭행 등과 같은 사건/사고 발생시, CCTV, 블랙박스, 휴대폰과 같은 기기에서 촬영된 동영상은 사건/사고의 경위를 파악하는 데 중요한 자료로 활용되고 있다. 때때로, 이러한 자료들은 증거자료로 이용될 수 있기 때문에, 그 동영상의 위조/변조 여부를 확인하는 것은 매우 중요하다.
비디오 데이터 및 오디오 데이터로 이루어진 동영상에서 비디오 데이터의 위조/변조 여부를 판별하는 경우, 종래에는 비디오 전문가의 소견에 따라 비디오 데이터의 위조/변조 여부를 판별하거나, 연속적인 비디오 프레임 간의 노이즈 변화, 비디오 데이터에 존재하는 객체의 연속성 등과 같은 비디오 데이터의 특징을 알고리즘을 이용하여 비디오 데이터의 위/변조 여부를 판별하는 방법들이 사용되었다.
그러나 비디오 전문가의 소견은 객관성이 떨어지기 때문에, 비디오 전문가의 소견에 따라 위조/변조 여부를 판별하는 것은 법적 분쟁을 유발할 수 있으며, 비디오 데이터의 특징을 알고리즘을 이용하여 분석하는 방법에서는 비디오 데이터의 조작이 정밀한 경우 그 위조/변조 여부를 판별할 수 없는 단점이 있다.
상술한 문제점을 해소하기 위해, 본 발명에서 해결하고자 하는 과제는 비디오 데이터의 위변조를 방지하는 데이터의 위변조 방지 장치 및 그 방법에 관한 것이다.
상술한 목적을 달성하기 위한 본 발명의 일면에 따른 비디오 데이터의 위변조 방지 방법은, 비디오 프레임의 메타 정보를 파싱하여 N번째 프레임의 비디오 프레임에 대한 비디오 프레임 데이터를 획득하는 단계; 상기 비디오 프레임 데이터, 키(Key)값 및 N-1번째 프레임의 해시값을 해시함수로 연산하여 해시값(H)을 생성하는 단계; 및 상기 해시값(H)을 상기 N번째 프레임의 비디오 프레임과 N+1번째 프레임의 비디오 프레임 사이에 삽입하는 단계;를 포함한다.
본 발명의 다른 일면에 따른 데이터의 위변조 방지 장치는, N번째 프레임의 비디오 프레임에 대한 비디오 프레임 데이터를 획득하도록 비디오 프레임의 메타 정보를 파싱하는 파싱부; 상기 비디오 프레임 데이터, 키(Key)값 및 N-1번째 프레임의 해시값을 해시함수로 연산하여 해시값(H)을 생성하는 해시값 생성부; 및
상기 해시값(H)을 상기 N번째 프레임의 비디오 프레임과 N+1번째 프레임의 비디오 프레임 사이에 삽입하는 삽입부를 포함한다.
본 발명에 따르면, 비디오 데이터에 위변조 방지를 위한 부가데이터를 삽입한 후, 비디오 데이터의 위변조 검증이 필요한 경우, 삽입된 부가데이터를 이용하여 위변조 여부를 검증함으로써, 악의적인 제3자에 의해 위/변조된 비디오 데이터를 정확하게 검증할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 데이터의 위변조 방지 장치의 내부 구성을 개략적으로 도시한 블록도이다.
도 2는 도 1에 도시한 해시값 생성부에서 제2 해시값을 생성하는 과정을 도식적으로 나타낸 도면이다.
도 3은 본 발명의 일 실시 예에 따른 비디오 데이터의 위/변조 방지 방법을 나타내는 흐름도이다.
도 4는 본 발명의 일 실시 예에 따른 비디오 데이터의 위변 검증 과정을 나타내는 흐름도이다.
도 2는 도 1에 도시한 해시값 생성부에서 제2 해시값을 생성하는 과정을 도식적으로 나타낸 도면이다.
도 3은 본 발명의 일 실시 예에 따른 비디오 데이터의 위/변조 방지 방법을 나타내는 흐름도이다.
도 4는 본 발명의 일 실시 예에 따른 비디오 데이터의 위변 검증 과정을 나타내는 흐름도이다.
본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시 예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 목적, 구성 및 효과를 용이하게 알려주기 위해 제공되는 것일 뿐으로서, 본 발명의 권리범위는 청구항의 기재에 의해 정의된다. 한편, 본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성소자, 단계, 동작 및/또는 소자가 하나 이상의 다른 구성소자, 단계, 동작 및/또는 소자의 존재 또는 추가됨을 배제하지 않는다.
도 1은 본 발명의 일 실시 예에 따른 데이터의 위변조 방지 장치의 내부 구성을 개략적으로 도시한 블록도이다.
도 1을 참조하면, 본 발명의 일 실시 예에 따른 데이터의 위변조 방지 장치(100)는, 데이터의 위변조를 방지하기 위해, 데이터의 위변조를 검증할 수 있는 부가 데이터를 생성하고, 생성된 부가 데이터를 데이터에 삽입하는 처리를 수행할 수 있다.
본 명세서에서 부가 데이터가 삽입되는 데이터는 차량충돌, 폭행 등과 같은 사건/사고 발생시에 사건/사고의 경위를 파악하는데 활용될 수 있는 데이터로 정의한다. 특별히 한정하는 것은 아니지만, 설명의 편의를 위해, 데이터는 비디오 데이터로 한정한다.
비디오 데이터의 위변조를 방지하기 위한 본 발명의 일 실시 예에 따른 데이터의 위변조 방지 장치(100)는 컴퓨터 프로세서를 포함하는 전자 장치일 수 있다. 전자 장치는, 예를 들면, CCTV, 블랙박스, 스마트폰 등일 수 있으며, 이에 한정하지 않고, 영상을 촬영할 수 있는 장치라면, 그 종류에 제한이 없다. 또한, 전자 장치는, 통신 기능을 가지며, 네트워크(200)에 접속 가능한 외부 전자장치(300)와 통신할 수 있는 장치일 수 있다. 따라서, 본 발명의 일 실시 예에 따른 비디오 데이터의 위변조 방지 장치(100)는 부가 데이터가 삽입된 비디오 데이터를 외부 전자장치(300)에 송신할 수 있으며, 외부 전자장치(300)는 비디오 데이터에 삽입된 부가 데이터를 검증하여 비디오 데이터의 위/변조 여부를 판별할 수 있다.
구체적으로, 본 발명의 일 실시 예에 따른 비디오 데이터의 위변조 방지 장치(100)는 저장부(110), 파싱부(120), 해시값 생성부(130), 메모리(140), 삽입부(150) 및 통신부(160)를 포함할 수 있다.
파싱부(120), 해시값 생성부(130) 및 삽입부(150)는 각각 소프트웨어 모듈 또는 하드웨어 모듈로 구현될 수 있다. 소프트웨어 모듈은 다수의 연산코드와 함수로 이루어진 '프로그램'으로 지칭될 수 있다. 프로그램으로 지칭될 수 있는 소프웨어 모듈은 저장부(150)에 저장될 수 있고, 컴퓨터 프로세서의 명령에 따라, 메모리(130)의 실행 공간으로 이동하여 실행될 수 있다.
소프트웨어 모듈 또는 하드웨어 모듈로 구현될 수 있는 파싱부(110), 해시값 생성부(120) 및 삽입부(140)는 하나의 모듈로 통합될 수 있다. 하나의 모듈은 범용의 컴퓨터 프로세서이거나 범용의 컴퓨터 프로세서 내에 내장될 수 있다. 범용의 컴퓨터 프로세서는 그래픽 프로세서일 수 있다.
저장부(110)는 동영상 파일을 저장하고, 파싱부(120)의 요청에 따라, 동영상 파일을 파싱부(120)로 출력한다. 동영상 파일은 비디오 데이터, 오디오 데이터 및 이들의 메타 정보를 포함한다.
비디오 데이터는 프레임 단위로 연속되는 다수의 비디오 프레임을 포함할 수 있다. 오디오 데이터는 마찬가지로 프레임 단위로 구분되는 연속된 다수의 오디오 프레임을 포함한다. 메타 정보는 비디오 데이터를 설명하는 메타 정보와 오디오 데이터를 설명하는 메타 정보를 포함한다.
동영상 파일이 'AVI 파일'인 경우, 비디오 데이터를 설명하는 메타 정보는 AVI Index 리스트 정보를 포함할 수 있다. 동영상 파일이 'MP4'인 경우, 비디오 데이터를 설명하는 메타 정보는 stsc 테이블, stco 테이블 및 stsz 테이블 정보를 포함할 수 있다.
파싱부(120)는 동영상 파일에 포함된 비디오 데이터에 대한 메타 정보를 파싱(Parsing)하여, 다수의 비디오 프레임 각각에 대한 비디오 프레임 데이터를 프레임 단위로 획득한다. 파싱부(120)는 프레임 단위로 획득한 비디오 프레임 데이터를 해시값 생성부(130)로 순차적으로 출력한다.
비디오 프레임 데이터는, 예를 들면, 부가 데이터가 삽입될 전체 비디오 프레임의 개수값, 각 비디오 프레임의 오프셋값, 각 비디오 프레임의 데이터 크기값 등을 포함할 수 있다. 여기서, 비디오 프레임의 오프셋값은 동영상 파일 내에서 각 비디오 프레임의 위치값을 바이트(Bytes) 단위로 나타낸 정보로 정의할 수 있다. 비디오 프레임의 데이터 크기값도 바이트(Bytes) 단위로 나타낸 정보일 수 있다.
해시값 생성부(130)는 파싱부(130)로부터 출력되는 비디오 프레임 데이터, 키(Key)값 및 이전 프레임의 해시값(h n-1 )을 해시함수(hash function)로 연산하여 현재 프레임의 해시값(H n )을 부가 데이터로서 생성한다.
이를 위해, 해시값 생성부(130)는 제1 해시값 생성부(132)와 제2 해시값 생성부(134)를 포함할 수 있다.
제1 해시값 생성부(132)는 파싱부(130)로부터 출력되는 현재 프레임의 비디오 프레임 데이터와 키(Key)값을 결합하고, 결합된 현재 프레임의 비디오 프레임 데이터와 키(Key)값을 해시함수로 연산하여 현재 프레임(n)의 제1 해시값(h n )을 생성하고, 이를 제2 해시값 생성부(134)로 출력하고, 동시에 메모리(140)에 저장할 수 있다. 해시함수는, 예를 들면, 암호화 해시함수의 일종인 MD5(Message-Digest algorithm 5), SHA(Secure Hash Algorithm) 등을 포함할 수 있다. 해시함수에 대한 설명은 본 발명의 요지를 벗어나는 것이므로, 이에 대한 상세 설명은 생략한다.
제2 해시값 생성부(134)는 제1 해시값 생성부(132)로부터의 현재 프레임의 제1 해시값(h n ), 제1 해시값 생성부(134)에서 사용한 키(Key)값 및 메모리(140)부터 출력되는 이전 프레임의 제1 해시값(h n-1 )을 결합하고, 결합된 현재 프레임의 제1 해시값(h n ), 키(Key)값 및 이전 프레임의 제1 해시값(h n-1 )을 해시함수로 연산하여 현재 프레임의 제2 해시값(H n )을 부가 데이터로서 생성할 수 있다. 제2 해시값 생성부(134)는 생성된 부가 데이터, 즉, 현재 프레임의 제2 해시값(H n )을 삽입부(150)로 출력할 수 있다.
메모리(140)는 제1 해시값 생성부(132)에서 생성한 각 프레임의 제1 해시값을 저장하고, 현재 프레임의 제1 해시값(h n )에 응답하여 이전 프레임에서 저장한 제1 해시값(h n-1 )을 출력하는 저장 매체로서, 휘발성 및 비휘발성 메모리를 포함할 수 있다.
삽입부(150)는 제2 해시값 생성부(134)로부터의 부가 데이터, 즉, 현재 프레임의 제2 해시값(H n )을 현재 프레임과 다음 프레임 사이에 삽입한다.
파싱부(120)에서 수행되는 파싱 과정부터 삽입부(150)에서 수행되는 삽입 과정에 이르는 처리 과정은 마지막 프레임까지 반복적으로 수행된다. 따라서, 현재 프레임이 마지막 프레임인 경우, 마지막 프레임의 제2 해시값을 마지막 비디오 프레임의 뒤에 삽입하는 과정으로 비디오 데이터에 부가 데이터를 삽입하는 일련의 과정은 종료될 수 있다.
한편, 비디오 프레임들 사이에 부가 데이터, 즉, 제2 해시값(H n )이 삽입되었으므로, 기존의 각 비디오 프레임의 오프셋값을 제2 해시값(H n )의 삽입에 따라 변경된 오프셋값으로 갱신하고, 갱신한 오프세값은 저장부(110)에 저장될 수 있다.
도 2는 도 1에 도시한 해시값 생성부에서 제2 해시값을 생성하는 과정을 도식적으로 나타낸 도면이다.
도 2에서, 비디오 데이터가 3개의 비디오 프레임으로 구성된 경우에서 제2 해시값 생성과정의 예를 도시한 것으로서, 이는 설명의 간략화를 위하여 과장된 예를 도시한 것이다.
먼저, 첫 번째 프레임의 제2 해시값(H 1 )을 생성하기 위해, 첫 번째 프레임의 비디오 프레임에 대한 파싱 과정으로부터 획득한 첫 번째 프레임의 비디오 프레임 데이터(F(1))와 키(Key)값이 결합되고, 해시 함수가 상기 결합된 첫 번째 프레임의 비디오 프레임 데이터(F(1))와 키(Key)값에 대해 해시 연산을 수행하여 첫 번째 프레임의 제1 해시값(h 1 )을 생성한다. 이후, 해시 함수가 첫 번째 프레임의 제1 해시값(h 1 )과 키(Key)값을 결합하고, 결합한 첫 번째 프레임의 제1 해시값(h 1 )과 키(Key)값에 대해 해시 연산을 다시 수행하여 첫 번째 프레임의 제2 해시값(H 1 ), 즉, 첫 번째 비디오 프레임과 두 번째 비디오 프레임 사이에 삽입되는 부가 데이터가 생성된다.
두 번째 프레임의 제2 해시값(H 2 )을 생성하기 위해, 두 번째 프레임의 비디오 프레임에 대한 파싱 과정으로부터 획득한 두 번째 프레임의 비디오 프레임 데이터(F(2))와 키(Key)값이 결합되고, 해시 함수가 상기 결합된 두 번째 프레임의 비디오 프레임 데이터(F(2))와 키(Key)값에 대해 해시 연산을 수행하여 두 번째 프레임의 제2 해시값(h 2 )을 생성한다. 이후, 해시 함수가 두 번째 프레임의 제1 해시값(h 2 ), 키(Key)값 및 첫 번째 프레임에서 생성된 제1 해시값(h 1 )을 결합하고, 결합한 두 번째 프레임의 제1 해시값(h 2 ), 키(Key)값 및 첫 번째 프레임에서 생성된 제1 해시값(h 1 )에 대해 해시 연산을 다시 수행하여 두 번째 프레임의 제2 해시값(H 2 ), 즉, 두 번째 비디오 프레임과 세 번째 비디오 프레임 사이에 삽입되는 부가 데이터가 생성된다.
세 번째 프레임의 제2 해시값(H 3 )을 생성하기 위해, 세 번째 프레임의 비디오 프레임에 대한 파싱 과정으로부터 획득한 세 번째 프레임의 비디오 프레임 데이터(F(3))와 키(Key)값이 결합되고, 해시 함수가 상기 결합된 세 번째 프레임의 비디오 프레임 데이터(F(3))와 키(Key)값에 대해 해시 연산을 수행하여 세 번째 프레임의 제2 해시값(h 3 )을 생성한다. 이후, 해시 함수가 세 번째 프레임의 제1 해시값(h 3 ), 키(Key)값 및 두 번째 프레임에서 생성된 제1 해시값(h 2 )을 결합하고, 상기 결합한 세 번째 프레임의 제1 해시값(h 3 ), 키(Key)값 및 두 번째 프레임에서 생성된 제1 해시값(h 2 )에 대해 해시 연산을 다시 수행하여 세 번째 프레임의 제2 해시값(H 2 ), 즉, 세 번째 비디오 프레임의 뒤에 삽입되는 부가 데이터가 생성된다.
도 3은 본 발명의 일 실시 예에 따른 비디오 데이터의 위/변조 방지 방법을 나타내는 흐름도이다.
도 3을 참조하면, 먼저, 단계 S310에서, 비디오 데이터의 메타 정보를 파싱하여 N번째 프레임의 비디오 프레임에 대한 비디오 프레임 데이터를 획득하는 과정이 수행된다.
이어, 단계 S320에서, N번째 프레임의 비디오 프레임 데이터와 키값을 조합하고, 그 조합 결과를 해시함수로 연산하여 제1 해시값을 생성하는 과정이 수행된다.
이어, 단계 S330에서, N번째 프레임의 제1 해시값, 키값 및 N-1번째 프레임의 제1 해시값을 조합하고, 그 조합 결과를 해시함수로 연산하여 제2 해시값을 생성하는 과정이 수행된다.
이어, 단계 S340에서, 상기 제2 해시값을 N번째 프레임의 비디오 프레임의 뒤에 삽입하는 과정이 수행된다.
이어, 단계 S350에서, N번째 프레임이 마지막 프레임인지를 판별하는 과정이 수행된다. N번째 프레임이 마지막 프레임이 아닌 경우, 단계 S310 내지 S340을 재수행한다.
N번째 프레임이 마지막 프레임인 경우, 단계 S360에서, 각 비디오 프레임의 비디오 프레임 데이터에 포함된 오프셋 값을 갱신하고, 갱신된 오프셋 값을 이용하여 비디오 데이터의 메타 정보를 재 구성한 후, 저장부에 저장된 기존의 메타 정보를 갱신한다. 이러한 갱신 과정을 끝으로, 비디오 데이터의 위/변조 방지하기 위해, 비디오 데이터에 부가 데이터(또는 제2 해시값)를 삽입하는 일련 모든 과정이 종료된다.
도 4는 본 발명의 일 실시 예에 따른 비디오 데이터의 위변 검증 과정을 나타내는 흐름도이다.
도 4를 참조하면, 본 발명의 일 실시 예에 따른 비디오 데이터의 위변 검증 과정은 비디오 데이터를 구성하는 연속된 비디오 프레임 사이에 삽입된 부가 데이터를 기반으로 비디오 데이터의 위변조 여부를 검증하는 과정이다.
비디오 데이터의 위변 검증 과정은 별도의 검증 장치에서 수행될 수 있다. 검증 장치는 유무선 통신 기능을 갖는 통신 장치 및 데이터 검증과 관련된 프로그램을 실행할 수 있는 컴퓨터 프로세서를 구비한 전자 장치일 수 있다. 즉, 검증 장치는 도 1에서 참조번호 300이 지시하는 외부 전자장치일 수 있다.
검증 장치는 유무선 통신 기능을 이용해 위변조 방지 장치(100)로부터 부가 데이터가 삽입된 비디오 데이터를 수신하고, 수신된 비디오 데이터에 삽입된 부가 데이터를 기반으로 비디오 데이터의 위변조 여부를 검증할 수 있다.
구체적으로, 단계 S410에서, 검증 장치는, 위변조 방지 장치(100) 또는 위변조 방지 장치(100)가 탑재된 다른 장치로부터 비디오 데이터를 수신하고, 수신된 비디오 데이터를 구성하는 연속된 비디오 프레임 사이에 삽입된 부가 데이터, 즉, 제2 해시값을 추출하는 과정을 수행한다. 제2 해시값을 추출하는 방법은 데이터 위변조 방지 장치로부터 수신된 메타 정보를 파싱하고, 그 파싱 결과를 이용하여 연속된 비디오 프레임 사이에 삽입된 부가 데이터, 즉, 제2 해시값을 추출할 수 있다.
이어, 단계 S420에서, 도 3에 도시한 단계 S310, S320 및 S330과 동일한 과정을 수행하여 비디오 프레임의 제2 해시값을 생성하는 과정이 수행된다. 이러한 과정을 수행하기 위해, 검증 장치는, 도 1에 도시한 파싱부(120) 및 해시값 생성부(130)와 동일한 기능을 갖는 소프트웨어 모듈 또는 하드웨어 모듈을 포함하도록 구성된 컴퓨터 프로세서를 구비한 장치일 수 있다.
이어, 단계 S430에서, 단계 S410에서 추출된 부가 데이터(제2 해시값)와 단계 S420에서 생성한 제2 해시값을 프레임 단위로 비교하는 과정이 수행된다.
이어, 특정 프레임에서 단계 S410에서 추출된 제2 해시값과 단계 S420에서 생성한 제2 해시값이 동일한 경우, 단계 S440에서 특정 프레임의 비디오 프레임을 위·변조 되지 않은 무결성 프레임으로 판별하고, 반대의 경우, 단계 S450에서 특정 프레임의 비디오 프레임을 위변조된 프레임으로 판별한다.
이상에서 본 발명에 대하여 실시 예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 발명의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 본 발명의 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
Claims (7)
- 비디오 프레임의 메타 정보를 파싱하여 N번째 프레임의 비디오 프레임에 대한 비디오 프레임 데이터를 획득하는 단계;
상기 비디오 프레임 데이터, 키(Key)값 및 N-1번째 프레임의 해시값을 해시함수로 연산하여 해시값(H)을 생성하는 단계; 및
상기 해시값(H)을 상기 N번째 프레임의 비디오 프레임과 N+1번째 프레임의 비디오 프레임 사이에 삽입하는 단계를 포함하고,
상기 비디오 프레임 데이터는 각 비디오 프레임의 위치값을 나타내는 오프셋값을 포함하고,
상기 삽입하는 단계 이후, 기존의 오프셋값을 상기 해시값(H)의 삽입에 따라 변경된 오프셋값으로 갱신하는 단계를 더 포함하는 비디오 데이터의 위변조 방지 방법.
- 제1항에서, 상기 해시값(H)을 생성하는 단계는,
상기 비디오 프레임 데이터와 상기 키(Key)값을 조합하는 단계;
상기 조합된 비디오 프레임 데이터와 키(Key)값을 해시함수로 연산하여 제1 해시값(h)을 생성하는 단계; 및
상기 제1 해시값, 상기 키(Key)값 및 상기 N-1번째 프레임의 해시값을 조합하는 단계; 및
상기 조합된 제1 해시값, 키(Key)값 및 N-1번째 프레임의 해시값을 해시함수로 연산하여 제2 해시값을 상기 해시값(H)으로서 생성하는 단계
를 포함하는 비디오 데이터의 위변조 방지 방법.
- 삭제
- 제1항에서, 상기 삽입하는 단계 이후,
상기 N번째 프레임이 마지막 프레임인지 확인하는 단계;
상기 N번째 프레임이 마지막 프레임이 아닌 경우, 상기 N+1번째 프레임의 비디오 프레임에 대해 상기 획득하는 단계, 상기 생성하는 단계 및 상기 삽입하는 단계를 수행하는 단계; 및
상기 N번째 프레임이 마지막 프레임인 경우, 상기 해시값(H)을 상기 N번째 프레임의 비디오 프레임의 뒤에 삽입하는 과정을 끝으로 모든 과정을 종료하는 단계
를 포함하는 것인 비디오 데이터의 위변조 방지 방법.
- 컴퓨터 프로세서를 구비한 비디오 데이터의 위변조 방지 장치에서,
N번째 프레임의 비디오 프레임에 대한 비디오 프레임 데이터를 획득하도록 비디오 프레임의 메타 정보를 파싱하는 파싱부;
상기 비디오 프레임 데이터, 키(Key)값 및 N-1번째 프레임의 해시값을 해시함수로 연산하여 해시값(H)을 생성하는 해시값 생성부; 및
상기 해시값(H)을 상기 N번째 프레임의 비디오 프레임과 N+1번째 프레임의 비디오 프레임 사이에 삽입하는 삽입부를 포함하고,
상기 비디오 프레임 데이터는 각 비디오 프레임의 위치값을 나타내는 오프셋값을 포함하고,
상기 컴퓨터 프로세서는,
기존의 오프셋값을 상기 해시값(H)의 삽입에 따라 변경된 오프셋값으로 갱신하는 것인 비디오 데이터의 위변조 방지 장치.
- 제5항에서, 상기 해시값 생성부는,
상기 비디오 프레임 데이터와 상기 키(Key)값을 조합하고, 조합된 비디오 프레임 데이터와 키(Key)값을 해시함수로 연산하여 제1 해시값(h)을 생성하는 제1 해시값 생성부; 및
상기 제1 해시값, 상기 키(Key)값 및 상기 N-1번째 프레임의 해시값을 조합하고, 조합된 제1 해시값, 키(Key)값 및 N-1번째 프레임의 해시값을 해시함수로 연산하여 제2 해시값을 상기 해시값(H)으로서 생성하는 제2 해시값 생성부
를 포함하는 것인 비디오 데이터의 위변조 방지 장치.
- 삭제
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170147083A KR102275868B1 (ko) | 2017-11-07 | 2017-11-07 | 비디오 데이터의 위/변조 방지 장치 및 방법 |
PCT/KR2017/013005 WO2019093561A1 (ko) | 2017-11-07 | 2017-11-16 | 비디오 데이터의 위/변조 방지 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170147083A KR102275868B1 (ko) | 2017-11-07 | 2017-11-07 | 비디오 데이터의 위/변조 방지 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190051430A KR20190051430A (ko) | 2019-05-15 |
KR102275868B1 true KR102275868B1 (ko) | 2021-07-12 |
Family
ID=66438521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170147083A KR102275868B1 (ko) | 2017-11-07 | 2017-11-07 | 비디오 데이터의 위/변조 방지 장치 및 방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102275868B1 (ko) |
WO (1) | WO2019093561A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102516548B1 (ko) * | 2021-03-10 | 2023-03-31 | 숭실대학교 산학협력단 | 블록체인 기반의 영상 위변조 방지 시스템 및 방법과 이를 위한 컴퓨터 프로그램 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007232754A (ja) | 2006-02-27 | 2007-09-13 | Toshiba Corp | ハッシュ値生成装置及びハッシュ値生成方法 |
JP2008011535A (ja) | 2006-06-29 | 2008-01-17 | Samsung Electronics Co Ltd | 完全性を保障するビデオストリームを提供する装置および方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6975743B2 (en) * | 2001-04-24 | 2005-12-13 | Microsoft Corporation | Robust and stealthy video watermarking into regions of successive frames |
KR100538414B1 (ko) * | 2004-05-12 | 2005-12-22 | (주)펜타마이크로 | 디씨티 기반의 영상 압축 시스템을 위한 데이터 위변조방지 방법 |
KR100858425B1 (ko) * | 2006-01-05 | 2008-09-17 | (주)아이디스 | 해시 함수를 이용하는 데이터 처리 장치 및 데이터 처리방법 |
KR20090000228A (ko) * | 2007-02-05 | 2009-01-07 | 삼성전자주식회사 | 무결성 검증이 가능한 컨텐츠 제공 방법 및 컨텐츠 이용방법과 그 장치 |
KR20080094341A (ko) * | 2007-04-20 | 2008-10-23 | 삼성전자주식회사 | 디지털 워터마킹 방법 및 장치 |
TWI501580B (zh) * | 2009-08-07 | 2015-09-21 | Dolby Int Ab | 資料串流的鑑別 |
KR101286649B1 (ko) * | 2009-12-11 | 2013-07-16 | 한국전자통신연구원 | 워터마크를 이용한 키 분배 및 변경 방법 |
US8989376B2 (en) * | 2012-03-29 | 2015-03-24 | Alcatel Lucent | Method and apparatus for authenticating video content |
KR20160046630A (ko) * | 2014-10-21 | 2016-04-29 | 숭실대학교산학협력단 | 해싱 기법을 통한 실시간 모바일 응용 프로그램 위변조 탐지 장치 및 방법 |
-
2017
- 2017-11-07 KR KR1020170147083A patent/KR102275868B1/ko active IP Right Grant
- 2017-11-16 WO PCT/KR2017/013005 patent/WO2019093561A1/ko active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007232754A (ja) | 2006-02-27 | 2007-09-13 | Toshiba Corp | ハッシュ値生成装置及びハッシュ値生成方法 |
JP2008011535A (ja) | 2006-06-29 | 2008-01-17 | Samsung Electronics Co Ltd | 完全性を保障するビデオストリームを提供する装置および方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20190051430A (ko) | 2019-05-15 |
WO2019093561A1 (ko) | 2019-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7639818B2 (en) | Structured document signature device, structured document adaptation device and structured document verification device | |
US8977860B2 (en) | Method and apparatus for tamper proof camera logs | |
EP3031005B1 (en) | Method for creating signals for time-stamping of documents and method for time-stamping of documents | |
US8904184B2 (en) | Certification of authenticity of media signals | |
US20120096564A1 (en) | Data integrity protecting and verifying methods, apparatuses and systems | |
CN113065169B (zh) | 一种文件存证方法、装置及设备 | |
US8683219B2 (en) | Method and apparatus for checking the integrity of data stored in a predetermined memory area of a memory | |
CN110061843B (zh) | 一种链式账本中的块高创建方法、装置及设备 | |
CN106548092A (zh) | 一种文件处理方法及装置 | |
CN110647759B (zh) | 数据记录方法、节点、设备、存储介质及区块链系统 | |
CN112003888B (zh) | 基于区块链的证件照管理方法、装置、设备及可读介质 | |
CN103646375A (zh) | 智能移动终端拍照的照片原始性可认证方法 | |
CN114301602B (zh) | 一种基于区块链的视频保护方法及装置 | |
US11330345B2 (en) | Verification code generation method, data verification method and electronic device | |
CN110347678B (zh) | 一种金融数据的存储方法、系统、装置及设备 | |
KR102275868B1 (ko) | 비디오 데이터의 위/변조 방지 장치 및 방법 | |
JP2009128956A (ja) | データ処理装置及びデータ処理方法及びプログラム | |
US20210099772A1 (en) | System and method for verification of video integrity based on blockchain | |
US20160294561A1 (en) | Method and apparatus for digitally signing a file | |
CN110992219A (zh) | 一种基于区块链技术的知识产权保护方法、系统 | |
KR20220153505A (ko) | 하나 이상의 화상 집합을 포함하는 비디오 세그먼트를 서명하는 장치 및 그 방법 | |
US11599570B2 (en) | Device and method to render multimedia data stream tamper-proof based on block chain recording | |
US20110208969A1 (en) | Method and apparatus for providing authenticity and integrity to stored data | |
CN109509095B (zh) | 一种结合区块链的视频主动识别方法 | |
KR101609846B1 (ko) | 블랙박스 영상에 대한 적정성 관리 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |