KR102050882B1 - Method, server and computer-readable recording media for video security using zero-watermarking based on stream cipher - Google Patents

Method, server and computer-readable recording media for video security using zero-watermarking based on stream cipher Download PDF

Info

Publication number
KR102050882B1
KR102050882B1 KR1020180152731A KR20180152731A KR102050882B1 KR 102050882 B1 KR102050882 B1 KR 102050882B1 KR 1020180152731 A KR1020180152731 A KR 1020180152731A KR 20180152731 A KR20180152731 A KR 20180152731A KR 102050882 B1 KR102050882 B1 KR 102050882B1
Authority
KR
South Korea
Prior art keywords
image
image frame
encrypted
counter value
frame
Prior art date
Application number
KR1020180152731A
Other languages
Korean (ko)
Inventor
김대수
박윤하
Original Assignee
주식회사우경정보기술
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사우경정보기술 filed Critical 주식회사우경정보기술
Priority to KR1020180152731A priority Critical patent/KR102050882B1/en
Priority to PCT/KR2019/004668 priority patent/WO2020111403A1/en
Application granted granted Critical
Publication of KR102050882B1 publication Critical patent/KR102050882B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

The present invention relates to a method, a server, and computer-readable recording media for video security using zero-watermarking based on stream cipher. According to an embodiment of the present invention, the method for video security using zero-watermarking based on stream cipher comprises: a step of acquiring information about a video including first to N^th (N is natural numbers which is one or higher) video frames; a step of generating encrypted video frames corresponding to each of the first to N^th video frames based on a counter mode of a block cipher; and a step of generating a watermark key corresponding to each of the first to N^th image frames. An i^th encrypted video frame corresponding to the i^th video frame (i is a natural number less than or equal to N) of the first to N^th video frames is generated based on the i^th video frame and a counter value corresponding to the i^th video frame. The watermark key corresponding to the i^th video frame is generated based on a feature point of the i^th video frame and the counter value corresponding to the i^th video frame. Accordingly, the present invention prevents tampering with the video while streaming the video in real time.

Description

스트림 암호 기반의 제로-워터마킹을 이용한 영상 보안 방법, 서버 및 컴퓨터 판독 가능한 기록 매체{METHOD, SERVER AND COMPUTER-READABLE RECORDING MEDIA FOR VIDEO SECURITY USING ZERO-WATERMARKING BASED ON STREAM CIPHER}TECHNICAL SERVER, COMPUTER-READABLE RECORDING MEDIA FOR VIDEO SECURITY USING ZERO-WATERMARKING BASED ON STREAM CIPHER}

본 발명은 스트림 암호 기반의 제로-워터마킹을 이용한 영상 보안 방법, 서버 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다. The present invention relates to a video security method using a stream cipher based zero-watermarking, a server and a computer-readable recording medium.

최근, 개인영상정보의 오·남용 및 사생활 침해 등이 증가됨에 따라, 개인영상정보 보호 원칙과 처리 단계별 기준 등을 규정하고 피해 구제 제도를 강화하는 추세이다. Recently, as the misuse, abuse and invasion of privacy of personal image information increases, it is a trend to stipulate the principle of protection of personal image information and standards for each step and strengthen the damage relief system.

이러한 추세에서, 영상에 대한 보안을 위한 기술기반 대책방안이 필요하다. 즉, 영상을 획득하고 획득된 영상을 배포할 수 있는 시스템들은 필수 기능으로 영상 위, 변조 방지를 위한 기능을 탑재하여야 한다. In this trend, technology-based countermeasures for security of images are needed. That is, systems capable of acquiring an image and distributing the acquired image should be equipped with a function for preventing modulation on the image as an essential function.

대한민국공개특허공보 제10-2014-0140928호Republic of Korea Patent Publication No. 10-2014-0140928

본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.The object of the present invention is to solve all the above-mentioned problems.

또한, 본 발명이 해결하고자 하는 과제는 고속의 연산으로 제로 워터마크 기법을 적용하여, 영상을 실시간으로 스트리밍 하면서 영상에 대한 위, 변조를 방지하는 것이다. In addition, the problem to be solved by the present invention is to apply a zero watermark technique with a high-speed operation, to prevent the image, the modulation and the modulation while streaming the image in real time.

구체적으로, 본 발명이 해결하고자 하는 과제는, 영상 프레임에 암호화 작업과 워터마크 삽입 작업을 동시에 적용함으로써 보안의 기밀성과 무결성을 높이고, 영상 프레임을 암호화하는 단계와 영상 프레임에 워터마킹을 삽입하는 단계가 동시에 수행되도록 하여, 스트리밍 환경에서 실시간으로 영상 보안될 수 있도록 하는 것이다.Specifically, the problem to be solved by the present invention is to increase the confidentiality and integrity of the security by applying the encryption operation and the watermark insertion operation to the image frame at the same time, encrypting the image frame and inserting the watermark in the image frame Is performed at the same time, so that the video can be secured in real time in a streaming environment.

상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.Representative configuration of the present invention for achieving the above object is as follows.

본 발명의 일 실시예에 따르면, 스트림 암호 기반의 제로-워터마킹을 이용한 영상 보안 방법은, 제1 내지 제N (N은 1 이상의 자연수)번째 영상 프레임을 포함하는 영상에 대한 정보를 획득하는 단계; 블록 암호의 카운터 모드를 기초로 하여, 상기 제1 내지 제N 번째 영상 프레임 각각에 대응하는 암호화된 영상 프레임들을 생성하는 단계; 및 상기 제1 내지 제N 번째 영상 프레임 각각에 대응하는 워터마크 키를 생성하는 단계를 포함하며, 상기 제1 내지 제N 번째 영상 프레임 중 제i(i는 N 이하의 자연수) 번째 영상 프레임에 대응하는, 제i 번째 암호화된 영상 프레임은, 상기 제i 번째 영상 프레임 및 상기 제i 번째 영상 프레임에 대응하는 카운터 값을 기초로 하여 생성되고, 상기 제i 번째 영상 프레임에 대응하는 워터마크 키는, 상기 제i 번째 영상 프레임의 특징점과 상기 제i 번째 영상 프레임에 대응하는 상기 카운터 값을 기초로 하여 생성되는 것을 특징으로 할 수 있다. According to an embodiment of the present invention, a video security method using stream cipher-based zero-watermarking may include obtaining information about an image including first to Nth (N is one or more natural numbers) th image frames. ; Generating encrypted image frames corresponding to each of the first through N th image frames based on a counter mode of a block cipher; And generating a watermark key corresponding to each of the first to Nth image frames, and corresponding to an i (i is a natural number of N or less) image frame among the first to Nth image frames. The i-th encrypted video frame is generated based on the i-th video frame and the counter value corresponding to the i-th video frame, and the watermark key corresponding to the i-th video frame includes: The image may be generated based on a feature point of the i-th image frame and the counter value corresponding to the i-th image frame.

또한, 본 발명의 일 실시예에 따르면, 스트림 암호 기반의 제로-워터마킹을 이용한 영상 보안 서버는, 제1 내지 제N (N은 1 이상의 자연수)번째 영상 프레임을 포함하는 영상에 대한 정보를 획득하는 영상 획득부; 및 상기 제1 내지 제N 번째 영상 프레임 각각에 대응하는 암호화된 영상 프레임들을 생성하고, 상기 제1 내지 제N 번째 영상 프레임 각각에 대응하는 워터마크 키를 생성하는 영상 처리부;를 포함하며, 상기 제1 내지 제N 번째 영상 프레임 중 제i(i는 N 이하의 자연수) 번째 영상 프레임에 대응하는, 제i 번째 암호화된 영상 프레임은, 상기 제i 번째 영상 프레임 및 상기 제i 번째 영상 프레임에 대응하는 카운터 값을 기초로 하여 생성되고, 상기 제i 번째 영상 프레임에 대응하는 워터마크 키는, 상기 제i 번째 영상 프레임의 특징점과 상기 제i 번째 영상 프레임에 대응하는 상기 카운터 값을 기초로 하여 생성되는 것을 특징으로 할 수 있다.In addition, according to an embodiment of the present invention, the video security server using stream cipher-based zero-watermarking acquires information on an image including first to Nth (N is a natural number of 1 or more) th frame. An image acquisition unit; And an image processor configured to generate encrypted image frames corresponding to each of the first to Nth image frames and to generate a watermark key corresponding to each of the first to Nth image frames. The i th encrypted image frame corresponding to the i th image frame (i is a natural number less than or equal to N) among 1 to N th image frames corresponds to the i th image frame and the i th image frame. The watermark key is generated based on a counter value, and the watermark key corresponding to the i-th image frame is generated based on a feature point of the i-th image frame and the counter value corresponding to the i-th image frame. It may be characterized by.

이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공된다.In addition, there is further provided a computer readable recording medium for recording another method for implementing the present invention, another system, and a computer program for executing the method.

본 발명에 의하면, 고속의 연산으로 제로 워터마크 기법을 적용하여, 영상을 실시간으로 스트리밍 하면서 영상에 대한 위, 변조를 방지할 수 있다.According to the present invention, by applying a zero watermark technique with a high-speed operation, it is possible to prevent the modulation and the like to the image while streaming the image in real time.

또한, 본 발명에 의하면, 영상 프레임에 암호화 작업과 워터마크 삽입 작업을 동시에 적용함으로써 보안의 기밀성과 무결성을 높이고, 영상 프레임을 암호화하는 단계와 영상 프레임에 워터마킹을 삽입하는 단계가 동시에 수행되도록 하여, 스트리밍 환경에서 실시간으로 영상 보안되도록 할 수 있다.In addition, according to the present invention, by applying the encryption operation and the watermark insertion operation to the image frame at the same time to increase the confidentiality and integrity of the security, the step of encrypting the image frame and the step of inserting the watermarking on the image frame to be performed at the same time In addition, it can ensure video security in real time in a streaming environment.

도 1은 본 발명의 일 실시예에 따라 영상을 암호화하기 위한 전체 시스템의 개략적인 구성을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 서버의 내부 구성을 상세하게 도시하는 도면이다.
도 3은 블록 암호를 설명하기 위한 도면이다.
도 4 및 도 5는 블록 암호의 모드 중 카운터 모드를 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 영상 처리 알고리즘을 개략적으로 설명하기 위한 도면이다.
도 7은 본 발명의 일시예에 따른 영상 처리 방법을 설명하기 위한 순서도이다.
도 8은 본 발명의 실시예에 따른, 컴퓨팅 장치를 나타내는 도면이다.
1 is a view showing a schematic configuration of an entire system for encrypting an image according to an embodiment of the present invention.
2 is a diagram illustrating in detail the internal configuration of the server according to an embodiment of the present invention.
3 is a diagram for explaining a block cipher.
4 and 5 are diagrams for explaining the counter mode of the block cipher mode.
6 is a diagram schematically illustrating an image processing algorithm according to an embodiment of the present invention.
7 is a flowchart illustrating an image processing method according to an embodiment of the present invention.
8 illustrates a computing device, in accordance with an embodiment of the invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

본 명세서에서, 동일한 구성요소에 대해서 중복된 설명은 생략한다.In this specification, duplicate descriptions of the same components are omitted.

또한 본 명세서에서, 어떤 구성요소가 다른 구성요소에 '연결되어' 있다거나 '접속되어' 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에 본 명세서에서, 어떤 구성요소가 다른 구성요소에 '직접 연결되어' 있다거나 '직접 접속되어' 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.Also, in the present specification, when a component is referred to as being 'connected' or 'connected' to another component, the component may be directly connected to or connected to the other component, but in between It will be understood that may exist. On the other hand, in the present specification, when a component is referred to as 'directly connected' or 'directly connected' to another component, it should be understood that there is no other component in between.

또한, 본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용되는 것으로써, 본 발명을 한정하려는 의도로 사용되는 것이 아니다. Also, the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention.

또한 본 명세서에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. Also, in this specification, the singular forms may include the plural forms unless the context clearly indicates otherwise.

또한 본 명세서에서, '포함하다' 또는 '가지다' 등의 용어는 명세서에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품, 또는 이들을 조합한 것이 존재함을 지정하려는 것일 뿐, 하나 또는 그 이상의 다른 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 할 것이다.Also, as used herein, the term 'comprises' or 'having' is only intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more. It is to be understood that it does not exclude in advance the possibility of the presence or addition of other features, numbers, steps, actions, components, parts or combinations thereof.

또한 본 명세서에서, '및/또는' 이라는 용어는 복수의 기재된 항목들의 조합 또는 복수의 기재된 항목들 중의 어느 항목을 포함한다. 본 명세서에서, 'A 또는 B'는, 'A', 'B', 또는 'A와 B 모두'를 포함할 수 있다.Also in this specification, the term 'and / or' includes any combination of the plurality of listed items or any of the plurality of listed items. In the present specification, 'A or B' may include 'A', 'B', or 'both A and B'.

또한 본 명세서에서, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략될 것이다.Also, in the present specification, detailed descriptions of well-known functions and configurations that may blur the gist of the present invention will be omitted.

도 1은 본 발명의 일 실시예에 따라 영상을 암호화하기 위한 전체 시스템의 개략적인 구성을 나타내는 도면이다. 1 is a view showing a schematic configuration of an entire system for encrypting an image according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 전체 시스템은 통신망(100), 서버(200), 및 사용자의 단말 장치(300)를 포함하여 구성될 수 있다. As shown in FIG. 1, the entire system according to an embodiment of the present invention may include a communication network 100, a server 200, and a user's terminal device 300.

먼저, 본 발명의 일 실시예에 따른 통신망(100)은 데이터 송수신 서비스가 가능한 대형 통신망의 고속 기간 망일 수 있으며, 인터넷(Internet) 또는 고속의 멀티미디어 서비스를 제공하기 위한 와이파이(Wi-Fi), 와이기그(WiGig), 와이브로(Wireless Broadband Internet, Wibro), 와이맥스(World Interoperability for Microwave Access, Wimax) 등을 포함하는 차세대 무선망일 수 있다.First, the communication network 100 according to an embodiment of the present invention may be a high-speed network of a large communication network capable of data transmission / reception services, and provides Wi-Fi for providing an Internet or high-speed multimedia service. It may be a next generation wireless network including WiGig, Wireless Broadband Internet (Wibro), and WiMAX (World Interoperability for Microwave Access, Wimax).

상기 인터넷은 TCP/IP 프로토콜 및 그 상위계층에 존재하는 여러 서비스, 즉 HTTP(Hyper Text Transfer Protocol), Telnet, FTP(File Transfer Protocol), DNS(Domain Name System), SMTP(Simple Mail Transfer Protocol), SNMP(Simple Network Management Protocol), NFS(Network File Service), NIS(Network Information Service) 등을 제공하는 전 세계적인 개방형 컴퓨터 네트워크 구조를 의미할 수 있으며, 사용자 단말 장치(300)가 서버(200)에 접속될 수 있게 하는 환경을 제공할 수 있다. The Internet includes various services existing in the TCP / IP protocol and its upper layers, namely, Hyper Text Transfer Protocol (HTTP), Telnet, File Transfer Protocol (FTP), Domain Name System (DNS), Simple Mail Transfer Protocol (SMTP), It may refer to a global open computer network structure that provides a simple network management protocol (SNMP), a network file service (NFS), a network information service (NIS), and the like, and the user terminal device 300 is connected to the server 200. It can provide an environment that makes it possible.

한편, 상기 인터넷은 유선 또는 무선 인터넷일 수도 있고, 이외에도 유선 공중망, 무선 이동 통신망, 또는 휴대 인터넷 등과 통합된 코어망 일 수도 있다.The Internet may be a wired or wireless internet, or may be a core network integrated with a wired public network, a wireless mobile communication network, or a portable internet.

만약, 통신망(100)이 이동 통신망일 경우 동기식 이동 통신망일 수도 있고, 비동기식 이동 통신망일 수도 있다. 상기 비동기식 이동 통신망의 실시 예로서, WCDMA(Wideband Code Division Multiple Access) 방식의 통신망을 들 수 있다. 이 경우 도면에 도시되진 않았지만, 상기 이동 통신망은 예컨대, RNC(Radio Network Controller) 등을 포함할 수 있다. 한편, 상기 WCDMA망을 일 예로 들었지만, 3G LTE망, 4G망, 5G망 등 차세대 통신망, 그 밖의 IP를 기반으로 한 IP 망일 수 있다.If the communication network 100 is a mobile communication network, it may be a synchronous mobile communication network or an asynchronous mobile communication network. As an example of the asynchronous mobile communication network, a communication network of a wideband code division multiple access (WCDMA) scheme may be used. In this case, although not shown in the figure, the mobile communication network may include, for example, a Radio Network Controller (RNC). Meanwhile, although the WCDMA network is taken as an example, it may be an IP network based on a next generation communication network such as 3G LTE network, 4G network, 5G network, or other IP.

다음으로, 본 발명의 일 실시예에 따른 서버(200)는 통신망(100)을 통하여 외부로부터 영상을 수신하고, 수신된 영상을 암호화하면서 워터마크를 삽입하는 기능을 수행할 수 있다. Next, the server 200 according to an embodiment of the present invention may receive an image from the outside through the communication network 100 and perform a function of inserting a watermark while encrypting the received image.

본 발명에 따른 서버(200)의 구성과 기능에 관하여는 아래의 상세한 설명을 통하여 자세하게 알아보기로 한다.The configuration and function of the server 200 according to the present invention will be described in detail through the following detailed description.

한편, 본 발명의 일 실시예에 따른 사용자 단말 장치(300)는 서버(200)에 접속한 후 통신할 수 있는 기능을 포함하는 디지털 기기로서, 데스크탑 컴퓨터, 노트북 컴퓨터, 워크스테이션, PDA, 웹 패드, 이동 전화기 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 디지털 기기라면 얼마든지 본 발명에 따른 사용자 단말 장치(300)로서 채택될 수 있다. On the other hand, the user terminal device 300 according to an embodiment of the present invention is a digital device including a function that can communicate after connecting to the server 200, desktop computer, notebook computer, workstation, PDA, Web pad For example, any digital device having a memory means such as a mobile phone and a microprocessor can be adopted as the user terminal device 300 according to the present invention.

이하에서는, 본 발명에 따른 서버의 내부 구성과 각 구성요소의 기능에 대하여 살펴보기로 한다.Hereinafter, the internal structure of the server according to the present invention and the function of each component will be described.

도 2는 본 발명의 일 실시예에 따른 서버의 내부 구성을 상세하게 도시하는 도면이다.2 is a diagram illustrating in detail the internal configuration of the server according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 서버(200)는 영상 획득부(210), 영상 처리부(220), 데이터베이스(230), 통신부(240) 및 제어부(250)를 포함하여 구성될 수 있다. 본 발명의 일 실시예에 따르면, 영상 획득부(210), 영상 처리부(220), 데이터베이스(230), 통신부(240) 및 제어부(250)는 그 중 적어도 일부가 사용자 단말 장치(300)와 통신하는 프로그램 모듈일 수 있다. 이러한 프로그램 모듈은 운영 시스템, 응용 프로그램 모듈 또는 기타 프로그램 모듈의 형태로 서버(200)에 포함될 수 있고, 물리적으로는 여러 가지 공지의 기억 장치에 저장될 수 있다.  또한, 이러한 프로그램 모듈은 서버(200)와 통신 가능한 원격 기억 장치에 저장될 수도 있다.  한편, 이러한 프로그램 모듈은 본 발명에 따라 후술할 특정 업무를 수행하거나 특정 추상 데이터 유형을 실행하는 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포괄하지만, 이에 제한되지는 않는다.As shown in FIG. 2, the server 200 according to an embodiment of the present invention includes an image acquisition unit 210, an image processing unit 220, a database 230, a communication unit 240, and a control unit 250. Can be configured. According to an embodiment of the present invention, at least some of the image acquisition unit 210, the image processing unit 220, the database 230, the communication unit 240, and the control unit 250 communicate with the user terminal device 300. It may be a program module. Such program modules may be included in the server 200 in the form of operating systems, application modules or other program modules, and may be physically stored in various known storage devices. In addition, such a program module may be stored in a remote storage device that can communicate with the server 200. On the other hand, such program modules include, but are not limited to, routines, subroutines, programs, objects, components, data structures, etc. that perform particular tasks or execute particular abstract data types, described below, in accordance with the present invention.

본 발명의 일 실시예에 따른 영상 획득부(210)는 외부로부터 암호화할 영상에 대한 정보를 수신할 수 있다. 상기 촬영된 영상이 제1 내지 제N (N은 1 이상의 자연수)번째 영상 프레임으로 형성된 경우, 영상 획득부(210)는 제1 내지 제N 번째 영상 프레임 각각에 대한 정보를 생성하여 영상 처리부(220)로 전달할 수 있다. The image acquisition unit 210 according to an embodiment of the present invention may receive information about an image to be encrypted from the outside. When the captured image is formed of the first to Nth (N is one or more natural numbers) image frames, the image acquirer 210 generates information on each of the first to Nth image frames to generate an image processor 220. ) Can be delivered.

영상 처리부(220)는 영상을 암호화하고 제로 워터마크를 이용하여 영상에 대한 워터마크 키를 생성할 수 있다. 본 발명에서 영상의 암호화 작업 및 워터마크 키 생성 작업은 영상 프레임 단위로 이루어질 수 있다. The image processor 220 may encrypt the image and generate a watermark key for the image by using the zero watermark. In the present invention, an image encryption operation and a watermark key generation operation may be performed in image frame units.

보다 구체적으로, 영상 처리부(220)는 블록 암호의 모드 중 CTR(CounTeR, 카운터) 모드를 이용하여 영상 프레임을 암호화하고, 암호화된 영상 프레임을 획득하면서 영상 프레임의 특징 값과 워터마크 이미지를 이용하여 워터마크 키를 생성할 수 있다. More specifically, the image processing unit 220 encrypts an image frame using a CTR (CounTeR, Counter) mode among block cipher modes, and acquires an encrypted image frame by using feature values and watermark images of the image frame. A watermark key can be generated.

이하에서는 도 3 내지 도 5를 참조하여 블록 암호의 카운터 모드의 의미를 구체적으로 살펴보도록 한다. Hereinafter, the meaning of the counter mode of the block cipher will be described in detail with reference to FIGS. 3 to 5.

도 3은 블록 암호를 설명하기 위한 도면이다. 3 is a diagram for explaining a block cipher.

블록 암호(block cipher)란 특정 비트 수의 '집합'을 한 번에 처리하는 암호 알고리즘을 의미할 수 있으며, 여기서 '집합'을 블록으로 명명할 수 있다. 도 3을 참조하면, 블록 암호 알고리즘에서 암호화의 대상이 되는 평문 블록과 키를 이용하여 평문 블록이 암호화된 암호문 블록을 생성할 수 있으며, 반대로 암호문 블록과 키를 이용하여, 암호문 블록이 복호화된 평문 블록을 생성할 수 있다. A block cipher may refer to a cryptographic algorithm that processes a 'set' of a specific number of bits at a time, where 'set' may be referred to as a block. Referring to FIG. 3, in a block cipher algorithm, a ciphertext block in which a plaintext block is encrypted may be generated by using a plaintext block and a key to be encrypted, and conversely, a ciphertext block is decrypted using a ciphertext block and a key. You can create a block.

도 4 및 도 5는 블록 암호의 모드 중 카운터 모드를 설명하기 위한 도면이다. 4 and 5 are diagrams for explaining the counter mode of the block cipher mode.

본 명세서에서 카운터 모드는 블록을 암호화할 때마다 1씩 증가해 가는 카운터를 암호화해서 키 스트림을 만드는 기법을 의미할 수 있다. In the present specification, the counter mode may refer to a technique of generating a key stream by encrypting a counter that increases by 1 each time a block is encrypted.

카운터의 초기값은 암호화 때마다 다른 값(nonce, 비표)을 기초로 해서 만들 수 있으며, 블록 길이가 128비트(16바이트)인 경우 카운터의 초기값은 도 4의 (a)와 같을 수 있으며, 앞부분의 8바이트는 비표를 의미하고 뒷부분의 8바이트는 블록 번호를 의미할 수 있으며 블록 번호에 해당하는 부분을 카운트해서 하나씩 증가시킬 수 있다. The initial value of the counter can be created based on a different value (nonnce, non-table) for each encryption. If the block length is 128 bits (16 bytes), the initial value of the counter can be as shown in FIG. The first 8 bytes may indicate non-marking, the last 8 bytes may indicate a block number, and the number corresponding to the block number may be counted and incremented by one.

도 5를 참조하면, 카운터를 암호화한 비트열과, 평문 블록과의 XOR(exclusive OR, 배타적 논리합)을 취한 결과 암호문 블록이 생성될 수 있다. 이 때, 평문 블록 1에 대한 초기화 카운터 값, 평문 블록 2에 대한 카운터 값, 평문 블록 3에 대한 카운터 값, 및 평문 블록 4에 대한 카운터 값은 도 4 (b)와 같을 수 있다.Referring to FIG. 5, a ciphertext block may be generated as a result of performing an XOR (exclusive OR) between a bit string encoding a counter and a plaintext block. In this case, the initialization counter value for the plain text block 1, the counter value for the plain text block 2, the counter value for the plain text block 3, and the counter value for the plain text block 4 may be as shown in FIG. 4 (b).

이하에서는 도 6 및 도 7을 참조하여, 본 발명의 일 실시예에 따른 영상 처리부(220)에서 영상 프레임을 암호화하고 워터마크 키를 생성하는 구체적인 방법에 관하여 설명하도록 한다.Hereinafter, a detailed method of encrypting an image frame and generating a watermark key in the image processor 220 according to an embodiment of the present invention will be described with reference to FIGS. 6 and 7.

도 6은 본 발명의 일 실시예에 따른 영상 처리 알고리즘을 개략적으로 설명하기 위한 도면이다. 6 is a diagram schematically illustrating an image processing algorithm according to an embodiment of the present invention.

도 6을 참조하면, 본 발명에서는 하나의 영상 프레임이 평문 블록에 해당할 수 있으며, 상기 영상 프레임이 암호화된 영상 프레임이 암호화 블록에 해당할 수 있다. Referring to FIG. 6, in the present invention, one image frame may correspond to a plain text block, and the image frame in which the image frame is encrypted may correspond to an encryption block.

도 6에서, 'IV'는 초기화 벡터(initialization vector)를 의미할 수 있으며, 예를 들어 128 비트의 길이를 가질 수 있다. 여기서 초기화 벡터는 도 4 및 도 5를 참조로 상술한 초기화 카운터 값을 의미할 수 있다. 또한, 'K'는 암호화 키를 의미할 수 있으며, 예를 들어 128 비트의 길이를 가질 수 있다. 'Counteri'(i는 1 이상 N 이하의 자연수)는 'IV' 값에서 i만큼 증가한 값을 의미할 수 있으며, 도 4 및 도 5를 참조로 상술한 카운터 값일 수 있다. 'E'는 128 비트 블록 암호 LEA(Lightweight Encryption Algorithm) 함수를 의미할 수 있다. 'Ii'는 i번째 영상 프레임에 대한 정보, 즉 i번째 평문 블록을 의미할 수 있다. 'I’i'는 암호화된 i번째 영상 프레임에 대한 정보, 즉, i번째 암호화 블록을 의미할 수 있다. 'W'는 워터마크 이미지를 의미할 수 있으며, 'Si'는 i번째 영상 이미지에 대응하는 워터마크 키를 의미할 수 있다.In FIG. 6, 'IV' may mean an initialization vector, and for example, may have a length of 128 bits. In this case, the initialization vector may mean the initialization counter value described above with reference to FIGS. 4 and 5. In addition, 'K' may mean an encryption key, and for example, may have a length of 128 bits. 'Counteri' (i is a natural number greater than or equal to 1 and less than or equal to N) may mean a value increased by i from a value of 'IV' and may be the counter value described above with reference to FIGS. 4 and 5. 'E' may mean a 128-bit block cipher Lightweight Encryption Algorithm (LEA) function. 'Ii' may mean information about the i th image frame, that is, the i th plaintext block. 'I'i' may mean information on the i-th encrypted image frame, that is, the i-th encryption block. 'W' may mean a watermark image, and 'Si' may mean a watermark key corresponding to the i-th image image.

영상 처리부(220)는 i번째 영상 프레임(Ii)에, 초기화 벡터(IV), 암호화 키(K) 및 LEA 함수를 이용하여 생성된 라운드 키 값(암호화된 카운터 값)을 적용하여 암호화된 i번째 영상 프레임(I'i)을 생성할 수 있다. The image processor 220 applies the i-th encrypted by applying a round key value (encrypted counter value) generated by using the initialization vector IV, the encryption key K, and the LEA function to the i-th image frame Ii. An image frame I'i may be generated.

LEA 함수는 128비트 데이터 블록을 암호화하는 알고리즘으로, 라운드 키 값을 생성하는 키 스케쥴 함수와, 라운드 키 값을 이용하여 평문 블록으로부터 암호문 블록 생성하는 라운드 함수를 포함할 수 있다. The LEA function is an algorithm for encrypting a 128-bit data block. The LEA function may include a key schedule function for generating a round key value and a round function for generating a ciphertext block from a plaintext block using the round key value.

영상 처리부(220)는 라운드 키 값과 i번째 영상 프레임(Ii)에 XOR을 취함으로써 암호화된 i번째 영상 프레임(I'i)을 생성할 수 있다. The image processor 220 may generate an encrypted i-th image frame I'i by taking an XOR of the round key value and the i-th image frame Ii.

또한, 영상 처리부(220)는 i번째 영상 프레임(Ii)의 특징점을 추출(Feature detection)하고 추출된 특징점에 초기화 벡터(IV)와 워터마크 이미지(W)를 적용하여 i번째 워터마크 키(Si)를 생성할 수 있다. FAST(features from accelerated segment test) 알고리즘을 통해 추출된 특징점은 워터마크를 숨길 좌표 정보에 이용될 수 있다. In addition, the image processor 220 extracts a feature point of the i-th image frame Ii and applies an initialization vector IV and a watermark image W to the extracted feature point, and then applies the i-th watermark key Si. ) Can be created. Feature points extracted through the features from accelerated segment test (FAST) algorithm may be used for coordinate information to hide the watermark.

생성된 워터마크 키(S1~SN)는 신뢰할 수 있는 기관에 등록될 수 있으며, 이후 필요할 경우 내려 받아서, 검증이 필요한 이미지에서 추출된 것과 비교함으로써 영상에 대한 위조 또는 변조를 증빙할 수 있다. The generated watermark keys S1 to SN may be registered with a trusted authority, and then downloaded if necessary and compared with those extracted from the image requiring verification, thereby forging or tampering with the image.

일반적으로, 영상이 스트리밍 되는 환경에서, 이미지 위조 및/또는 변조를 방지하기 위하여 워터마크를 실시간으로 삽입하는 것은 용이하지 않다. 다만, 본 발명의 실시예에 의할 경우, 각 영상 프레임을 병렬적으로 빠르게 처리(예를 들어, 영상 프레임의 암호화 및 제로 워터마크 삽입)하므로 실시간으로 영상을 스트리밍하면서 영상의 위조 및/또는 변조를 방지할 수 있다. In general, in an environment where an image is streamed, it is not easy to insert a watermark in real time to prevent image forgery and / or modulation. However, according to the embodiment of the present invention, since each image frame is processed in parallel quickly (for example, encryption and zero watermark insertion of the image frame), the image is forged and / or modulated while streaming the image in real time. Can be prevented.

도 7은 본 발명의 일시예에 따른 영상 처리 방법을 설명하기 위한 순서도이다. 7 is a flowchart illustrating an image processing method according to an embodiment of the present invention.

도 7을 참조하면, 먼저 외부로부터 암호화할 영상에 대한 영상 프레임 정보를 획득할 수 있다(S100). 여기서 영상 프레임 정보는 블록 암호 기법에서의 평문 블록에 해당할 수 있다. Referring to FIG. 7, first, image frame information of an image to be encrypted may be obtained from the outside (S100). Here, the image frame information may correspond to the plain text block in the block cipher technique.

영상 프레임 정보가 획득되면, 영상을 암호화하는 단계(S210, S220)와 워터마크 키를 생성하는 단계(S310, S320)가 함께 수행될 수 있다. When the image frame information is obtained, the step of encrypting the image (S210, S220) and the step of generating a watermark key (S310, S320) may be performed together.

구체적으로, 암호화된 영상을 획득하기 위하여, 초기화 벡터와 암호화 키를 기초로 라운드 키가 생성될 수 있다(S210). 라운드 키는 LEA 함수를 이용하여 생성될 수 있다. 라운드 키가 생성되면, 생성된 라운드 키와 영상 프레임 정보를 이용하여 암호화된 영상 프레임을 생성할 수 있다(S220),In detail, in order to obtain an encrypted image, a round key may be generated based on an initialization vector and an encryption key (S210). The round key can be generated using the LEA function. When the round key is generated, an encrypted image frame may be generated using the generated round key and image frame information (S220).

한편, 영상을 암호화하는 단계와 별개로, 영상에 제로 워터마크를 삽입하기 위하여 획득된 영상 프레임의 특징점을 추출하는 단계가 수행될 수 있다(S310). 영상 프레임의 특징점은 워터마크를 숨길 좌표 정보에 이용될 수 있다. 영상 프레임의 특징점이 추출되면 여기에 초기화 벡터 및 워터마크 이미지를 적용하여 워터마크 키를 생성할 수 있다(S320). 워터마크 키는 추후에 영상의 위조 및/또는 변조 여부를 감지하는 데에 사용될 수 있다. Meanwhile, in addition to the step of encrypting the image, a step of extracting feature points of the obtained image frame may be performed to insert a zero watermark in the image (S310). The feature point of the image frame may be used for coordinate information to hide the watermark. When the feature point of the image frame is extracted, a watermark key may be generated by applying an initialization vector and a watermark image to the image frame (S320). The watermark key may be used later to detect whether the image is forged and / or modulated.

다음으로, 본 발명의 일 실시예에 따른 데이터베이스(230)에는, 암호화할 영상을 구성하는 영상 프레임, 암호화된 영상, 워터마크 키 등에 대한 정보가 저장될 수 있다. 비록 도 2에서 데이터베이스(230)가 서버(200)에 포함되어 구성되는 것으로 도시되어 있지만, 본 발명을 구현하는 당업자의 필요에 따라, 데이터베이스(230)는 서버(200)와 별개로 구성될 수도 있다. 또한, 도 2에는 하나의 데이터베이스(230)만이 도시되어 있지만 본 발명이 이에 제한되는 것은 아니며, 본 발명을 구현하는 당업자의 필요에 따라 데이터베이스(230)는 복수 개 구비될 수 있다. 한편, 본 발명에서의 데이터베이스(230)는, 컴퓨터 판독 가능한 기록 매체를 포함하는 개념으로서, 협의의 데이터베이스뿐만 아니라 파일 시스템에 기반을 둔 데이터 기록 등을 포함하는 광의의 데이터베이스일 수도 있으며, 단순한 로그의 집합이라도 이를 검색하여 데이터를 추출할 수 있다면 본 발명에서의 데이터베이스(230)가 될 수 있다.Next, in the database 230 according to an embodiment of the present invention, information about an image frame, an encrypted image, a watermark key, etc. constituting an image to be encrypted may be stored. Although the database 230 is illustrated as being included in the server 200 in FIG. 2, the database 230 may be configured separately from the server 200 according to the needs of those skilled in the art for implementing the present invention. . In addition, although only one database 230 is illustrated in FIG. 2, the present invention is not limited thereto, and a plurality of databases 230 may be provided according to the needs of those skilled in the art for implementing the present invention. On the other hand, the database 230 in the present invention is a concept that includes a computer-readable recording medium, and may be a broad database including not only a negotiated database but also a file system based on a file system. If the set can be retrieved to extract data, it can be the database 230 of the present invention.

다음으로, 본 발명의 일 실시예에 따른 통신부(240)는 영상 획득부(210), 영상 처리부(220), 및 데이터베이스(230) 로부터의/로의 데이터 송수신이 가능하도록 하는 기능을 수행할 수 있다. 또한, 통신부(240)는 서버(200) 내 구성과 사용자 단말 장치(300) 간 데이터 송수신이 가능하도록 하는 기능을 수행할 수도 있다. Next, the communication unit 240 according to an embodiment of the present invention may perform a function of enabling data transmission / reception from / to the image acquisition unit 210, the image processing unit 220, and the database 230. . In addition, the communication unit 240 may perform a function to enable data transmission and reception between the server 200 and the user terminal device 300.

마지막으로, 본 발명의 일 실시예에 따른 제어부(250)는 영상 획득부(210), 영상 처리부(220), 데이터베이스(230), 및 통신부(240) 간의 데이터의 흐름을 제어하는 기능을 수행할 수 있다. 즉, 본 발명에 따른 제어부(250)는 서버(200)의 외부로부터의/로의 데이터 흐름 또는 서버의 각 구성요소 간의 데이터 흐름을 제어함으로써, 영상 획득부(210), 영상 처리부(220), 데이터베이스(230), 및 통신부(240)에서 각각 고유 기능을 수행하도록 제어할 수 있다.Finally, the controller 250 according to an embodiment of the present invention performs a function of controlling the flow of data between the image acquisition unit 210, the image processing unit 220, the database 230, and the communication unit 240. Can be. That is, the controller 250 according to the present invention controls the data flow from / to the outside of the server 200 or the data flow between components of the server, thereby obtaining the image acquirer 210, the image processor 220, and the database. 230, and the communicator 240 may control to perform a unique function.

도 8은 본 발명의 실시예에 따른, 컴퓨팅 장치를 나타내는 도면이다. 도 6의 컴퓨팅 장치(TN100)는 본 명세서에서 기술된 장치(예, 서버(200) 등) 일 수 있다. 8 illustrates a computing device, in accordance with an embodiment of the invention. The computing device TN100 of FIG. 6 may be a device (eg, server 200, etc.) described herein.

도 8의 실시예에서, 컴퓨팅 장치(TN100)는 적어도 하나의 프로세서(TN110), 송수신 장치(TN120), 및 메모리(TN130)를 포함할 수 있다. 또한, 컴퓨팅 장치(TN100)는 저장 장치(TN140), 입력 인터페이스 장치(TN150), 출력 인터페이스 장치(TN160) 등을 더 포함할 수 있다. 컴퓨팅 장치(TN100)에 포함된 구성 요소들은 버스(bus)(TN170)에 의해 연결되어 서로 통신을 수행할 수 있다.In the embodiment of FIG. 8, the computing device TN100 may include at least one processor TN110, a transceiver device TN120, and a memory TN130. In addition, the computing device TN100 may further include a storage device TN140, an input interface device TN150, an output interface device TN160, and the like. Components included in the computing device TN100 may be connected by a bus TN170 to communicate with each other.

프로세서(TN110)는 메모리(TN130) 및 저장 장치(TN140) 중에서 적어도 하나에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(TN110)는 중앙 처리 장치(CPU: central processing unit), 그래픽 처리 장치(GPU: graphics processing unit), 또는 본 발명의 실시예에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 프로세서(TN110)는 본 발명의 실시예와 관련하여 기술된 절차, 기능, 및 방법 등을 구현하도록 구성될 수 있다. 프로세서(TN110)는 컴퓨팅 장치(TN100)의 각 구성 요소를 제어할 수 있다.The processor TN110 may execute a program command stored in at least one of the memory TN130 and the storage device TN140. The processor TN110 may refer to a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor on which methods according to an embodiment of the present invention are performed. The processor TN110 may be configured to implement the procedures, functions, methods, and the like described in connection with an embodiment of the present invention. The processor TN110 may control each component of the computing device TN100.

메모리(TN130) 및 저장 장치(TN140) 각각은 프로세서(TN110)의 동작과 관련된 다양한 정보를 저장할 수 있다. 메모리(TN130) 및 저장 장치(TN140) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(TN130)는 읽기 전용 메모리(ROM: read only memory) 및 랜덤 액세스 메모리(RAM: random access memory) 중에서 적어도 하나로 구성될 수 있다. Each of the memory TN130 and the storage device TN140 may store various information related to an operation of the processor TN110. Each of the memory TN130 and the storage device TN140 may be configured of at least one of a volatile storage medium and a nonvolatile storage medium. For example, the memory TN130 may be configured as at least one of a read only memory (ROM) and a random access memory (RAM).

송수신 장치(TN120)는 유선 신호 또는 무선 신호를 송신 또는 수신할 수 있다. 송수신 장치(TN120)는 네트워크에 연결되어 통신을 수행할 수 있다. The transceiver TN120 may transmit or receive a wired signal or a wireless signal. The transceiver TN120 may be connected to a network to perform communication.

이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Embodiments according to the present invention described above may be implemented in the form of program instructions that may be executed by various computer components, and may be recorded in a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the computer-readable recording medium may be those specially designed and configured for the present invention, or may be known and available to those skilled in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs, DVDs, and magneto-optical media such as floptical disks. media), and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform the process according to the invention, and vice versa.

한편, 본 발명의 실시예는 지금까지 설명한 장치 및/또는 방법을 통해서만 구현되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 상술한 실시예의 기재로부터 본 발명이 속하는 기술 분야의 통상의 기술자라면 쉽게 구현할 수 있는 것이다. On the other hand, the embodiment of the present invention is not implemented only through the apparatus and / or method described so far, but may be implemented through a program or a recording medium on which the program is recorded to realize a function corresponding to the configuration of the embodiment of the present invention. Such implementations can be readily implemented by those skilled in the art from the description of the above-described embodiments.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 통상의 기술자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concepts of the present invention defined in the following claims are also provided. It belongs to the scope of the invention.

100: 통신망 200: 서버
210: 영상 획득부 220: 영상 처리부
230: 데이터베이스` 240: 통신부
250: 제어부
100: network 200: server
210: image acquisition unit 220: image processing unit
230: database `240: communication unit
250: control unit

Claims (13)

스트림 암호 기반의 제로-워터마킹을 이용한 영상 보안 방법에 있어서,
제1 내지 제N (N은 1 이상의 자연수)번째 영상 프레임을 포함하는 영상에 대한 정보를 획득하는 단계; 및
상기 제1 내지 제N 번째 영상 프레임 중 제i(i는 N 이하의 자연수) 번째 영상 프레임 정보, 상기 제i 번째 영상 프레임의 특징점 및 상기 제i 번째 영상 프레임에 대응하는 카운터 값을 입력 받아, 상기 제i 번째 영상 프레임에 대응하는 암호화된 영상 프레임 및 상기 제i 번째 영상 프레임에 대응하는 워터마크 키를 생성하는 단계;를 포함하고,
상기 암호화된 영상 프레임은, 상기 제i 번째 영상 프레임 정보 및 상기 카운터 값을 암호화한 값을 기초로 하여 생성되고,
상기 제i 번째 영상 프레임에 대응하는 워터마크 키는, 상기 제i 번째 영상 프레임의 특징점과 상기 제i 번째 영상 프레임에 대응하는 상기 카운터 값을 기초로 하여 생성되며,

상기 영상 프레임이 암호화될 때마다 그 값이 1씩 증가하는 상기 카운터 값은 상기 암호화된 영상 프레임의 생성에도 이용되고, 상기 워터마크 키의 생성에도 이용되며,
상기 워터마크 키는 복수 인자 간의 XOR(exclusive OR, 배타적 논리합) 연산을 통해 생성되고,
상기 카운터 값은 그 값 그대로 상기 워터마크 키를 생성하는 상기 XOR 연산의 인자로 사용되는 것을 특징으로 하는 방법.
In the video security method using a stream cipher-based zero-watermarking,
Acquiring information about an image including first to N th (N is at least one natural numbers) image frames; And
Receiving i th image frame information, i.e., a feature point of the i th image frame, and a counter value corresponding to the i th image frame among the first to N th image frames, Generating an encrypted image frame corresponding to the i-th image frame and a watermark key corresponding to the i-th image frame;
The encrypted video frame is generated based on the i-th video frame information and a value obtained by encrypting the counter value.
The watermark key corresponding to the i th image frame is generated based on a feature point of the i th image frame and the counter value corresponding to the i th image frame.

The counter value, the value of which is incremented by one each time the image frame is encrypted, is used for generation of the encrypted image frame and also for generation of the watermark key.
The watermark key is generated through an XOR (exclusive OR) operation between a plurality of factors,
And the counter value is used as a factor of the XOR operation for generating the watermark key as it is.
제1항에 있어서,
상기 제i 번째 암호화된 영상 프레임을 생성하는 단계는,
암호화 키를 이용하여 상기 카운터 값을 암호화하는 단계; 및
상기 제i 번째 영상 프레임과 상기 암호화된 카운터 값을 이용하여 상기 제i 번째 암호화된 영상 프레임을 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
The method of claim 1,
The generating of the i th encrypted image frame includes:
Encrypting the counter value using an encryption key; And
Generating the i-th encrypted video frame by using the i-th video frame and the encrypted counter value.
제2항에 있어서,
상기 제i 번째 암호화된 영상 프레임을 생성하는 단계는 LEA(Lightweight Encryption Algorithm) 함수를 기초로 하여 수행되는 것을 특징으로 하는 방법.
The method of claim 2,
The generating of the i th encrypted image frame is performed based on a Lightweight Encryption Algorithm (LEA) function.
제1항에 있어서,
상기 제i 번째 영상 프레임에 대응하는 워터마크 키를 생성하는 단계는,
상기 제i 번째 영상 프레임의 특징점을 추출하는 단계; 및
상기 특징점, 상기 카운터 값 및 기 설정된 워터마크 이미지를 이용하여 상기 워터마크 키를 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
The method of claim 1,
Generating a watermark key corresponding to the i-th image frame includes:
Extracting feature points of the i-th image frame; And
And generating the watermark key using the feature point, the counter value, and a preset watermark image.
제4항에 있어서,
상기 제i 번째 영상 프레임의 특징점은, 패스트(fast, features from accelerated segment test) 알고리즘을 이용하여 추출되는 것을 특징으로 하는 방법.
The method of claim 4, wherein
The feature point of the i-th image frame is extracted using a fast (features from accelerated segment test) algorithm.
제1항에 있어서,
상기 제i 번째 암호화된 영상 프레임을 생성하는 단계와 상기 제i 번째 영상 프레임에 대응하는 워터마크 키를 생성하는 단계가 동시에 수행되는 것을 특징으로 하는 방법.
The method of claim 1,
Generating the i-th encrypted image frame and generating a watermark key corresponding to the i-th image frame at the same time.
스트림 암호 기반의 제로-워터마킹을 이용한 영상 보안 서버에 있어서,
제1 내지 제N (N은 1 이상의 자연수)번째 영상 프레임을 포함하는 영상에 대한 정보를 획득하는 영상 획득부; 및
상기 제1 내지 제N 번째 영상 프레임 중 제i(i는 N 이하의 자연수) 번째 영상 프레임 정보, 상기 제i 번째 영상 프레임의 특징점 및 상기 제i 번째 영상 프레임에 대응하는 카운터 값을 입력 받아, 상기 제i 번째 영상 프레임에 대응하는 암호화된 영상 프레임 및 상기 제i 번째 영상 프레임에 대응하는 워터마크 키를 생성하는 영상 처리부;를 포함하며,
상기 암호화된 영상 프레임은, 상기 제i 번째 영상 프레임 정보 및 상기 상기 제i 번째 영상 프레임에 대응하는 카운터 값을 기초로 하여 생성되고
상기 제i 번째 영상 프레임에 대응하는 워터마크 키는, 상기 제i 번째 영상 프레임의 특징점과 상기 제i 번째 영상 프레임에 대응하는 상기 카운터 값을 기초로 하여 생성되며,

상기 영상 처리부는 상기 영상 프레임이 암호화될 때마다 그 값이 1씩 증가하는 상기 카운터 값을 상기 암호화된 영상 프레임의 생성에도 이용하고, 상기 워터마크 키의 생성에도 이용하며,
상기 워터마크 키는 복수 인자 간의 XOR(exclusive OR, 배타적 논리합) 연산을 통해 생성되고,
상기 카운터 값은 그 값 그대로 상기 워터마크 키를 생성하는 상기 XOR 연산의 인자로 사용되는 것을 특징으로 하는 서버.
A video security server using stream cipher based zero watermarking,
An image obtaining unit obtaining information about an image including first to N th (N is one or more natural numbers) th image frames; And
Receiving i th image frame information, i.e., a feature point of the i th image frame, and a counter value corresponding to the i th image frame among the first to N th image frames, And an image processor configured to generate an encrypted image frame corresponding to the i th image frame and a watermark key corresponding to the i th image frame.
The encrypted video frame is generated based on the i th video frame information and a counter value corresponding to the i th video frame.
The watermark key corresponding to the i th image frame is generated based on a feature point of the i th image frame and the counter value corresponding to the i th image frame.

The image processor is used to generate the encrypted image frame and to generate the watermark key using the counter value, the value of which increases by one each time the image frame is encrypted.
The watermark key is generated through an XOR (exclusive OR) operation between a plurality of factors,
And the counter value is used as a factor of the XOR operation for generating the watermark key as it is.
제7항에 있어서,
상기 영상 처리부는,
암호화 키를 이용하여 상기 카운터 값을 암호화하고, 상기 제i 번째 영상 프레임과 상기 암호화된 카운터 값을 이용하여 상기 제i 번째 암호화된 영상 프레임을 생성하는 것을 특징으로 하는 서버.
The method of claim 7, wherein
The image processor,
And encrypting the counter value by using an encryption key and generating the i-th encrypted video frame by using the i-th image frame and the encrypted counter value.
제8항에 있어서,
상기 영상 처리부는, LEA(Lightweight Encryption Algorithm) 함수를 이용하여 상기 제i 번째 암호화된 영상 프레임을 생성하는 것을 특징으로 하는 서버.
The method of claim 8,
The image processing unit, the server characterized in that for generating the i-th encrypted image frame using a Lightweight Encryption Algorithm (LEA) function.
제7항에 있어서,
상기 영상 처리부는,
상기 특징점, 상기 카운터 값 및 기 설정된 워터마크 이미지를 이용하여 상기 워터마크 키를 생성하는 것을 특징으로 하는 서버.
The method of claim 7, wherein
The image processor,
And generating the watermark key using the feature point, the counter value, and a preset watermark image.
제10항에 있어서,
상기 영상 처리부는,
패스트(fast, features from accelerated segment test) 알고리즘을 이용하여 상기 제i 번째 영상 프레임의 특징점을 추출하는 것을 특징으로 하는 서버.
The method of claim 10,
The image processor,
And a feature point of the i th image frame is extracted using a fast (features from accelerated segment test) algorithm.
제7항에 있어서,
상기 영상 처리부는,
상기 제i 번째 암호화된 영상 프레임과 상기 제i 번째 영상 프레임에 대응하는 워터마크 키를 동시에 생성하는 것을 특징으로 하는 서버.
The method of claim 7, wherein
The image processor,
And simultaneously generating a watermark key corresponding to the i-th encrypted image frame and the i-th image frame.
제1항 내지 제6항 중 어느 한 항에 따른 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능 매체.A computer readable medium for recording a computer program for executing the method according to any one of claims 1 to 6.
KR1020180152731A 2018-11-30 2018-11-30 Method, server and computer-readable recording media for video security using zero-watermarking based on stream cipher KR102050882B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180152731A KR102050882B1 (en) 2018-11-30 2018-11-30 Method, server and computer-readable recording media for video security using zero-watermarking based on stream cipher
PCT/KR2019/004668 WO2020111403A1 (en) 2018-11-30 2019-04-18 Stream cipher-based image security method using zero-watermarking, server, and computer readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180152731A KR102050882B1 (en) 2018-11-30 2018-11-30 Method, server and computer-readable recording media for video security using zero-watermarking based on stream cipher

Publications (1)

Publication Number Publication Date
KR102050882B1 true KR102050882B1 (en) 2019-12-02

Family

ID=68847734

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180152731A KR102050882B1 (en) 2018-11-30 2018-11-30 Method, server and computer-readable recording media for video security using zero-watermarking based on stream cipher

Country Status (2)

Country Link
KR (1) KR102050882B1 (en)
WO (1) WO2020111403A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114897659A (en) * 2022-05-09 2022-08-12 南京师范大学 Vector geographic data zero watermark generation algorithm and zero watermark information detection method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112272314B (en) * 2020-12-15 2021-03-26 视联动力信息技术股份有限公司 Method, device, equipment and medium for safely transmitting video in video network
CN115499668B (en) * 2022-11-16 2023-03-24 中南大学 Audio and video zero watermark generation, registration and copyright identification method and related system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140140928A (en) 2013-05-30 2014-12-10 주식회사 마크애니 Method, Apparatus and System for Inserting Watermark, Method and Apparatus for Detecting Watermark, and System for Protecting Digital Document
KR101677110B1 (en) * 2016-03-14 2016-11-17 주식회사우경정보기술 Watermark extracting and insertion apparatus for video forgery detection and prevention based zero-knowledge and the method thereof
KR101690050B1 (en) * 2015-10-30 2016-12-27 한국과학기술연구원 Intelligent video security system
KR20180081469A (en) * 2017-01-06 2018-07-16 경일대학교산학협력단 Information security system through encrypting and decrypting personal data and contents in smart device based on Lightweight Encryption Algorithm, method thereof and computer recordable medium storing program to perform the method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101509877B1 (en) * 2013-01-21 2015-04-07 에스케이씨앤씨 주식회사 Watermarking Method and Apparatus for Inserting Watermark Created from an image into another image
KR20150124087A (en) * 2014-04-28 2015-11-05 주식회사 나눔기술 Mobile document conversion system and method of encryption applied

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140140928A (en) 2013-05-30 2014-12-10 주식회사 마크애니 Method, Apparatus and System for Inserting Watermark, Method and Apparatus for Detecting Watermark, and System for Protecting Digital Document
KR101690050B1 (en) * 2015-10-30 2016-12-27 한국과학기술연구원 Intelligent video security system
KR101677110B1 (en) * 2016-03-14 2016-11-17 주식회사우경정보기술 Watermark extracting and insertion apparatus for video forgery detection and prevention based zero-knowledge and the method thereof
KR20180081469A (en) * 2017-01-06 2018-07-16 경일대학교산학협력단 Information security system through encrypting and decrypting personal data and contents in smart device based on Lightweight Encryption Algorithm, method thereof and computer recordable medium storing program to perform the method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114897659A (en) * 2022-05-09 2022-08-12 南京师范大学 Vector geographic data zero watermark generation algorithm and zero watermark information detection method
CN114897659B (en) * 2022-05-09 2023-12-29 南京师范大学 Vector geographic data zero watermark generation method and zero watermark information detection method

Also Published As

Publication number Publication date
WO2020111403A1 (en) 2020-06-04

Similar Documents

Publication Publication Date Title
US9531692B2 (en) Method of securing mobile applications using distributed keys
CN113364760A (en) Data encryption processing method and device, computer equipment and storage medium
CN107707504B (en) Streaming media playing method and system, server and client
KR102050882B1 (en) Method, server and computer-readable recording media for video security using zero-watermarking based on stream cipher
CN109728914B (en) Digital signature verification method, system, device and computer readable storage medium
US20180124023A1 (en) Method, system and apparatus for storing website private key plaintext
CN105208404A (en) Video encryption and decryption method and device
JP2016523391A (en) Method and apparatus for encrypting plaintext data
US9917695B2 (en) Authenticated encryption method using working blocks
US10630462B2 (en) Using white-box in a leakage-resilient primitive
Yang et al. Efficient Secure Data Provenance Scheme in Multimedia Outsourcing and Sharing.
CN107306254B (en) Digital copyright protection method and system based on double-layer encryption
CN109347879A (en) Cookie safety protecting method and server based on encryption technology
KR102050890B1 (en) Server to secure video based on streaming, method for providing secured video between sever and client, and computer-readable recording media
CN105743906A (en) Picture file encryption and decryption method and system based on content-associated secret key
CN108768938B (en) A kind of web data encryption and decryption method and device
GB2488753A (en) Encrypted communication
CN102223229A (en) Method for safe transmission of data in public network
CN108256343A (en) Encryption method, device and the decryption method of Shader files, device
US20210035018A1 (en) Apparatus for verifying integrity of AI learning data and method therefor
CN113706361B (en) Digital image ownership protection cloud system based on confidential calculation
KR101593675B1 (en) User data integrity verification method and apparatus
WO2019122242A1 (en) System for securing deployed security cameras
Aghili Improving security using blow fish algorithm on deduplication cloud storage
Fazeen et al. Context-aware multimedia encryption in mobile platforms

Legal Events

Date Code Title Description
X091 Application refused [patent]
GRNT Written decision to grant