KR100596382B1 - Apparatus for protecting digital content and method therefor - Google Patents

Apparatus for protecting digital content and method therefor Download PDF

Info

Publication number
KR100596382B1
KR100596382B1 KR1020030078124A KR20030078124A KR100596382B1 KR 100596382 B1 KR100596382 B1 KR 100596382B1 KR 1020030078124 A KR1020030078124 A KR 1020030078124A KR 20030078124 A KR20030078124 A KR 20030078124A KR 100596382 B1 KR100596382 B1 KR 100596382B1
Authority
KR
South Korea
Prior art keywords
information
encryption
video
packet
streaming
Prior art date
Application number
KR1020030078124A
Other languages
Korean (ko)
Other versions
KR20050043289A (en
Inventor
김정현
윤기송
박지현
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020030078124A priority Critical patent/KR100596382B1/en
Publication of KR20050043289A publication Critical patent/KR20050043289A/en
Application granted granted Critical
Publication of KR100596382B1 publication Critical patent/KR100596382B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/603Digital right managament [DRM]

Abstract

본 발명은 인터넷을 통해 스트리밍되는 MPEG-4 컨텐츠의 불법 복제 및 불법 전송 등을 원천적으로 차단하기 위한 디지털 콘텐츠 보호 방법 및 시스템에 관한 것으로, 본 발명에 따른 디지털 컨텐츠 보호 장치는 원본 포맷 파일을 입력받아 암호화하고 메타데이터를 삽입하여 암호화된 포맷 파일을 생성하는 패키저; 상기 패키저에서 암호화에 사용된 암호화 정보가 담긴 라이센스 정보를 전송하는 라이센스부; 및 상기 암호화된 포맷 파일에 기초하여 컨텐츠 파일을 암호화하여 스트리밍 암호화 패킷을 전송하는 스트리밍부를 포함한다.The present invention relates to a digital content protection method and system for fundamentally preventing illegal copying and illegal transmission of MPEG-4 content streamed through the Internet. The digital content protection device according to the present invention receives an original format file. A packager for encrypting and inserting metadata to generate an encrypted format file; A license unit for transmitting license information containing encryption information used for encryption in the packager; And a streaming unit encrypting a content file based on the encrypted format file to transmit a streaming encryption packet.

디지털 컨텐츠, 라이센스, 암호화, 스트리밍Digital Content, Licensing, Encryption, Streaming

Description

디지털 컨텐츠 보호 장치 및 방법{Apparatus for protecting digital content and method therefor}Apparatus for protecting digital content and method therefor}

도 1은 본 발명의 일 실시예에 따른 디지털 컨텐츠를 보호하기 위한 시스템의 구성도를 나타내는 도면이다.1 is a diagram illustrating a configuration of a system for protecting digital content according to an embodiment of the present invention.

도 2는 도 1에 도시된 MP4 패키저(101)를 상세화한 도면이다.FIG. 2 is a detailed view of the MP4 packager 101 shown in FIG. 1.

도 3a-3d는 MP4 파일을 파싱하여 오디오/비디오 샘플의 위치를 알아내는 과정을 도식화 한 것이다. 3A-3D illustrate the process of parsing an MP4 file to locate audio / video samples.

도 4는 본 발명에 따른 암호화 방법을 설명하는 흐름도이며, 도 5는 MP4 파일에서 키 프레임만 암호화 되었을 때의 변화를 보여준다.4 is a flowchart illustrating an encryption method according to the present invention, and FIG. 5 shows a change when only a key frame is encrypted in an MP4 file.

도 6은 MPEG-4 비디오의 암호화된 샘플의 구조를 나타내는 도면이다.6 illustrates the structure of an encrypted sample of MPEG-4 video.

도 7은 도 1에 도시된, 본 발명에 따른 복호화 필터의 상세 구성을 나타내는 블록도이다.7 is a block diagram showing the detailed configuration of a decoding filter according to the present invention shown in FIG.

도 8은 본 발명의 성능을 테스트 하기 위한 장치의 구성도를 나타낸다. 8 shows a schematic diagram of an apparatus for testing the performance of the present invention.

도 9a는 암호화로 보호된 MP4 파일을 복호화 과정없이 수행한 결과 보여지는 화면이며, 도 9b는 본 발명에 따른 복호화 과정을 거쳐 재생된 화면을 나타낸다.9A is a screen showing a result of performing an encryption-protected MP4 file without a decryption process, and FIG. 9B shows a screen reproduced through a decryption process according to the present invention.

본 발명은 인터넷을 통해 스트리밍되는 MPEG-4 컨텐츠의 불법 복제 및 불법 전송 등을 원천적으로 차단하기 위한 디지털 컨텐츠 보호 방법 및 시스템에 관한 것이다. The present invention relates to a method and a system for protecting digital content to fundamentally block illegal copying and illegal transmission of MPEG-4 content streamed through the Internet.

최근 컴퓨터와 인터넷, 저장매체 등의 급속한 발전에 따라 각종 문서와 컨텐츠 등이 컴퓨터가 읽을 수 있는 디지털 데이터 형태로 제작되어 유통되고 있으나, 이러한 디지털 컨텐츠의 특성상 원본과 동일한 복사본 또는 변형본을 쉽게 만들어 낼 수 있을 뿐만 아니라 손쉽게 배포할 수 있게 되었다. 따라서, 많은 자금과 시간, 창의력, 노동력이 들어가는 디지털 컨텐츠의 저작자 입장에서는 자신의 저작권을 온라인 또는 오프라인에서 철저한 보호를 원하지만, 상술한 바와 같은 디지털 컨텐츠의 손쉬운 복제성 및 배포성 때문에 디지털 컨텐츠 시장의 활성화에 큰 장애가 되고 있다. Recently, with the rapid development of computers, the Internet, and storage media, various documents and contents have been produced and distributed in the form of computer-readable digital data, but due to the nature of these digital contents, it is easy to make the same copy or modified version as the original. Not only can it be done, but it is also easy to deploy. Therefore, the authors of digital content, which requires a lot of money, time, creativity, and labor, want to protect their copyrights online or offline, but the digital content market is active due to the easy copying and distribution of digital content as described above. Has become a big obstacle.

이러한 디지털 컨텐츠의 불법복제 및 불법배포 문제를 해결하고자 나온 방법 중의 하나가 스트리밍(streaming) 방법이다. 스트리밍 방법은 사용자의 하드디스크에 데이터를 저장하는 것이 아니라 램메모리 상에서만 일시적으로 저장 및 사용이 가능하도록 한 것이지만, 이것은 통신속도 또는 기타 압축 등의 기술적인 문제로 동영상의 끊김, 버퍼링, 엉김 등이 자주 발생하는 단점이 있다. One of the methods to solve the illegal copying and illegal distribution of digital content is a streaming method. The streaming method does not store data on the user's hard disk, but only temporarily stores and uses the data on RAM memory. However, this is due to technical problems such as communication speed or other compression. There are often disadvantages.

DRM 기술은 저작권이 설정된 정보의 보호를 위해 나온 개념으로 이러한 문제를 해결하기 위한 하나의 방법으로 제시되었다. 기존의 동영상 컨텐츠에 대한 DRM 시스템은 대부분 컨텐츠를 암호화 하여 사용자 시스템에 컨텐츠 전체를 다운로드 하여 컨텐츠를 재생할 때 메모리상에서 특정 크기의 블록만큼씩 복호화하여 이 복호화된 컨텐츠가 재생되는 형태이다. 그러나 영화와 같은 동영상 컨텐츠의 경우, 대부분 수백 메가 바이트에서 1기가 바이트 이상의 크기를 갖기 때문에 컨텐츠 전체를 사용자의 로컬 시스템에 다운로드 하는 것은 비효율적일 뿐만 아니라 심각한 네트웍 트래픽을 발생시킨다. 따라서 VoD 서비스의 경우 스트리밍 기술을 이용해 실시간으로 컨텐츠를 전송하여 재생하는 방식을 이용하고 있다. 스트리밍은 전송된 데이터가 로컬에 저장되지 않고 버퍼링을 통해 실시간으로 재생되는 방식으로 보안상의 이유로도 많이 사용되는 방식이다. DRM technology is a concept to protect copyrighted information and has been proposed as a way to solve this problem. The existing DRM system for video content encrypts the content and downloads the entire content to the user system, and when the content is played back, the decrypted content is played by decrypting the block by a specific size in memory. However, in the case of video content such as movies, most of them are hundreds of megabytes and more than 1 gigabyte in size, so downloading the entire contents to the user's local system is not only inefficient but also generates severe network traffic. Therefore, the VoD service uses a streaming technology to transmit and play content in real time. Streaming is a popular method for security reasons because the transmitted data is not stored locally but is reproduced in real time through buffering.

동영상 스트리밍 서비스는 ID/PW 인증을 통해 인가된 사용자만이 접속하여 컨텐츠를 서비스 받을 수 있도록 하고 있다. 그러나 스트리밍 URL을 캡쳐하여 이 URL을 이용해 스트리밍 서버에 접속하여 전송되는 패킷을 저장하는 툴들이 나오면서 더 이상 스트리밍 컨텐츠에 대한 보호 또한 어렵게 되었다. 이렇게 사용자 시스템에 저장된 스트리밍 컨텐츠는 불법으로 복제되고 배포될 수 있기 때문이다. The video streaming service allows only authorized users to access contents through ID / PW authentication. However, with the emergence of tools that capture streaming URLs and use them to store streaming packets, it is no longer safe for streaming content. This is because streaming content stored in the user system may be illegally copied and distributed.

스트리밍 컨텐츠를 지원하는 DRM 시스템의 경우, Microsoft의 Windows Media Rights Manager SDK(Software Development Kit), Windows Media Format SDK를 이용하여 Microsoft의 스트리밍 서버인 윈도우즈 미디어 서버와 미디어 포맷인 WMV, WMA, ASF 등의 포맷만을 지원하는 시스템이 대부분이기 때문에 일반적인 MPEG-4 스트리밍 표준 스펙을 따르는 스트리밍 시스템을 지원할 수 없다. 컨텐츠의 암호화 방법 또한 모든 컨텐츠에 대해 동일하게 적용되므로 다양한 비즈니스 모델의 적용이 어려울 뿐만 아니라 사용자 시스템에서의 복호화 작업으로 인한 부하를 사용자 시스템 성능에 따라 조절 할 수 없기 때문에 스트리밍 서비스의 QoS에 영향을 미칠 수 있다. For DRM systems that support streaming content, Microsoft's Windows Media Rights Manager Software Development Kit (SDK), Windows Media Format SDK, and other formats include Microsoft's streaming server, Windows Media Server, and media formats WMV, WMA, and ASF. Because most systems only support it, they cannot support streaming systems that conform to the general MPEG-4 streaming standard specification. Since the encryption method of content is applied equally to all contents, it is difficult to apply various business models and affect the QoS of streaming service because the load due to decryption operation on user system cannot be adjusted according to user system performance. Can be.

본 발명이 이루고자 하는 기술적 과제는 기존의 스트리밍 서버에 대한 수정 없이 바로 적용이 가능하고 스트리밍 서비스의 QoS에 미치는 영향을 최소화 할 수 있는 MP4 파일 포맷으로 저장된 MPEG-4 컨텐츠에 대한 암호화 방법과 전용 뷰어 프로그램뿐만 아니라 범용 뷰어 프로그램에서도 사용이 가능하도록 하는 디지털 컨텐츠 보호 장치 및 방법을 제공하는 것이다. The technical problem to be achieved by the present invention is an encryption method and a dedicated viewer program for MPEG-4 content stored in MP4 file format that can be applied immediately without modification to the existing streaming server and can minimize the impact on QoS of the streaming service. In addition, to provide a digital content protection device and method that can be used in a general-purpose viewer program.

상기의 기술적 과제를 이루기 위한 본 발명에 따른 디지털 컨텐츠 보호 장치는, 원본 포맷 파일을 입력받아 암호화하고 메타데이터를 삽입하여 암호화된 포맷 파일을 생성하는 패키저; 상기 패키저에서 암호화에 사용된 암호화 정보가 담긴 라이센스 정보를 전송하는 라이센스부; 및 상기 암호화된 포맷 파일에 기초하여 컨텐츠 파일을 암호화하여 스트리밍 암호화 패킷을 전송하는 스트리밍부를 포함한다.According to another aspect of the present invention, there is provided a digital content protection device, including: a packager for receiving an original format file, encrypting the data, and inserting metadata to generate an encrypted format file; A license unit for transmitting license information containing encryption information used for encryption in the packager; And a streaming unit encrypting a content file based on the encrypted format file to transmit a streaming encryption packet.

상기의 기술적 과제를 이루기 위한 본 발명에 따른 디지털 컨텐츠 보호용 사용자 장치는, 암호화된 패킷을 복호화할 수 있는 암호화 정보가 담긴 라이센스 정보를 수신하는 DRM 제어기; 스트리밍 암호화 패킷을 수신하여 상기 암호화 정보에 따라 복호화하는 복호화 필터; 및 상기 복호화된 패킷에 의하여 비디오와 오디오 데이터를 재생하는 뷰어를 포함한다.According to an aspect of the present invention, there is provided a digital device for protecting content according to an embodiment of the present invention, comprising: a DRM controller receiving license information containing encryption information capable of decrypting an encrypted packet; A decryption filter for receiving a streaming encryption packet and decrypting the same according to the encryption information; And a viewer for reproducing video and audio data by the decoded packet.

상기의 기술적 과제를 이루기 위한 본 발명에 따른 디지털 컨텐츠 보호 방법 은, 원본 포맷 파일을 입력받아 암호화하고 메타데이터를 삽입하여 암호화된 포맷 파일을 생성하는 단계; 상기 암호화된 포맷 파일에 기초하여 컨텐츠 파일을 암호화하여 스트리밍 암호화 패킷을 전송하며, 상기 암호화에 사용된 암호화 정보가 담긴 라이센스 정보를 전송하는 단계; 상기 라이센스 정보 및 상기 스트리밍 암호화 패킷을 수신하여, 상기 라이센스 정보에 따라 패킷을 복호화하여 비디오와 오디오 데이터를 재생하는 단계를 포함한다.According to an aspect of the present invention, there is provided a method for protecting digital content, the method comprising: receiving an original format file, encrypting the data, and inserting metadata to generate an encrypted format file; Transmitting a streaming encryption packet by encrypting a content file based on the encrypted format file, and transmitting license information containing encryption information used for the encryption; Receiving the license information and the streaming encryption packet, and decoding the packet according to the license information to play video and audio data.

이하에서, 도면을 참조하여 본 발명의 실시예에 대하여 상세히 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

디지털 컨텐츠의 저작권을 보호하기 위해서 최근 관심이 고조되고 있는 것이 디지털 저작권 관리(DRM, Digital Rights Management) 시스템이다. DRM 시스템이란 다양한 채널을 통해 유통되는 텍스트, 음악, 이미지, 영상, 동영상강의, 영화, 소프트웨어, 게임 등 각종 디지털 컨텐츠를 불법 복제로부터 보호하고 지속적인 컨텐츠 유료화 서비스를 가능하게 하는 기술이다. 컨텐츠 공급자가 DRM 시스템를 도입하면 모든 네트워크를 통해 유통되는 디지털 컨텐츠는 컨텐츠 공급자가 정한 규칙과 사용정책을 충족할 경우에만 열어볼 수 있으며, 불법복제를 하더라도 모든 디지털 컨텐츠는 암호화되어 있어 정당한 비용을 지불하지 않은 사용자는 열어 볼 수가 없게 된다.In order to protect the copyright of digital content, a recent interest is the Digital Rights Management (DRM) system. DRM system is a technology that protects various digital contents such as texts, music, images, videos, video lectures, movies, software, and games distributed through various channels from illegal copying, and enables continuous content monetization service. When a content provider introduces a DRM system, digital content distributed through all networks can be opened only if it meets the rules and usage policies set by the content provider. Even if illegal copying, all digital content is encrypted so that it does not pay a fair fee. The user will not be able to open it.

인터넷과 네트웍 환경의 변화로 인하여 고품질의 컨텐츠 서비스를 실시간으로 제공하는 것이 가능해지고 있다. 디지털 컨텐츠에 대한 요구가 증가할수록 지적재산권과 관련된 문제는 더욱 중요하게 되어간다. VOD와 같은 스트리밍 서비스 는 컨텐츠를 저장하지 않도록 함으로써 이 문제를 해결하였다. 그러나, 스트리밍 컨텐츠를 저장할 수 있는 여러 툴들이 나타나면서 스트림 컨텐츠도 더 이상 이 문제로부터 자유롭지 않게 되었다. 그래서, 액세스 제어와 같은 보안 대책으로 컨텐츠에 대한 권리를 제어하고 관리하기 위한 새로운 기술이 요구되었다.Due to changes in the Internet and network environments, it is possible to provide high quality content services in real time. As the demand for digital content increases, the issues related to intellectual property become more important. Streaming services such as VOD solved this problem by not storing content. However, with the emergence of several tools for storing streaming content, the stream content is no longer free from this problem. Thus, a new technology for controlling and managing the rights to the content has been required for security measures such as access control.

MPEG-4는 컨텐츠 스트리밍의 주요 기술로서, 유선 또는 무선 환경에서 높은 품질을 보여주고 있다. 다른 미디어 유형과 비교할 때, MPEG-4를 사용한 스트림 서비스는 컨텐츠를 복호화하고 재생하는데 보다 긴 시간이 필요하다. 이것은 컨텐츠의 품질을 보증하기 위해서는 DRM의 처리시간이 최소화되어야 함을 의미한다. 이 요건을 만족시키기 위하여, 성능상 DRM의 효과를 분석하는 것이 필수적이다. 효율적인 암호화 방법은 이러한 분석의 결과로부터 결정될 수 있다.MPEG-4 is the main technology of content streaming and shows high quality in a wired or wireless environment. Compared to other media types, stream services using MPEG-4 require longer time to decode and play content. This means that the processing time of the DRM should be minimized to guarantee the quality of the content. In order to meet this requirement, it is essential to analyze the effects of DRM on performance. Effective encryption methods can be determined from the results of this analysis.

본 발명에서는, 스트림 MPEG-4 컨텐츠를 보호할 수 있을 뿐만 아니라 현존 MPEG-4 스트리밍 시스템과 쉽게 통합할 수 있는 DRM 기반의 스트리밍 시스템를 제시한 것이다. 본 발명에서는 기존의 스트리밍 서버의 변경없이 그대로 사용하면서 DRM을 설계하는 것으로, 파일 포맷을 깨뜨리지 않은 채 MP4 파일을 암호화하여, 어떠한 MP4 스트리밍 서버에서도 동작할 수 있도록 한다. 그래서, 압축된 MPEG-4에 적용할 수 있는 암호화 방법이 사용된다. The present invention provides a DRM-based streaming system that can not only protect stream MPEG-4 contents but also easily integrate with existing MPEG-4 streaming systems. In the present invention, by designing the DRM while using the existing streaming server without modification, the MP4 file is encrypted without breaking the file format, so that it can operate in any MP4 streaming server. Thus, an encryption method that can be applied to compressed MPEG-4 is used.

본 발명은 기존의 스트리밍 서버에 대한 수정 없이 바로 적용할 수 있도록 DRM 시스템을 설계한 것으로, 컨텐츠 파일이 암호화 된 후에도 MPEG-4 표준 파일 포맷인 MP4 파일 포맷을 따르도록 하여 스트리밍 서버는 컨텐츠 파일의 암호화 여부에 상관없이 스트리밍이 가능하도록 하였다.The present invention is a DRM system designed to be applied immediately without modification to the existing streaming server, even after the content file is encrypted to follow the MP4 file format, MPEG-4 standard file format, so that the streaming server encrypts the content file Streaming is available regardless.

도 1은 본 발명의 일 실시예에 따른 디지털 컨텐츠를 보호하기 위한 시스템의 구성도를 나타내는 도면으로, 스트리밍 패킷을 전송하는 서버시스템(100) 및 이를 수신하여 재생하는 클라이언트 시스템(120)을 포함한다.1 is a diagram showing the configuration of a system for protecting digital content according to an embodiment of the present invention, which includes a server system 100 for transmitting streaming packets and a client system 120 for receiving and playing the same. .

서버시스템(100)은 원본 MP4 파일을 입력받아 암호화하고 필요한 메타데이터를 삽입한 후 암호화할 때 사용된 암호화 정보를 전송하는 패키저(101)를 포함한다. 암호화된 MP4 파일은 스트리밍 서버(103)의 컨텐츠 파일이 저장된 DB(105)로 전송되고, 스트리밍 서버(103)는 암호화된 MP4 파일에 기초하여 컨텐츠 파일을 암호화하여 스트리밍 암호화 패킷을 생성한다. 스트리밍 서버(103)는 암호화된 파일을 데이터베이스에 저장하고, 암호화된 파일이 암호화 되었어도 그 포맷이 동일하기 때문에 암호화 된 지를 알 필요도 없이 일반 파일을 스트리밍 할 때와 마찬가지로 암호화된 파일을 스트리밍 하게 된다. The server system 100 includes a packager 101 which receives an original MP4 file, encrypts it, inserts necessary metadata, and then transmits encryption information used when encrypting. The encrypted MP4 file is transmitted to the DB 105 in which the content file of the streaming server 103 is stored, and the streaming server 103 generates a streaming encryption packet by encrypting the content file based on the encrypted MP4 file. The streaming server 103 stores the encrypted file in the database, and even though the encrypted file is encrypted, the format is the same, so that the streaming server 103 streams the encrypted file as in the case of streaming a normal file without having to know whether the encrypted file is encrypted.

MP4 패키저(101)에서 암호화에 사용된 키 등의 암호화정보는 라이센스 서버(107)로 전송되고, 라이센스 서버(107)는 클라이언트 시스템(120)에서 스트리밍 패킷을 복호화 할 때 컨텐츠를 복호화할 수 있는 암호화 정보가 담긴 라이센스 정보를 전송한다.Encryption information such as a key used for encryption in the MP4 packager 101 is transmitted to the license server 107, and the license server 107 is an encryption capable of decrypting content when the client system 120 decrypts the streaming packet. Send license information with information.

클라이언트 시스템(120)의 DRM 제어기(121)는 라이센스 서버(107)로부터 라이센스 정보를 수신하여, 이를 복호화필터(123)로 전달한다. 복호화 필터(123)는 스트리밍 서버(103)로부터 암호화 되어 수신된 스트리밍 암호화 패킷을 라이센스 정보를 이용해 복호화 하고, 뷰어(125)는 복호화된 패킷에 따라 비디오/오디오 신호를 재생하게 된다.The DRM controller 121 of the client system 120 receives license information from the license server 107 and transfers the license information to the decryption filter 123. The decryption filter 123 decrypts the streaming encryption packet received from the streaming server 103 by using the license information, and the viewer 125 plays the video / audio signal according to the decrypted packet.

스트리밍 서버(103)는 컨텐츠가 암호화되었는지의 여부와 관계없이 컨텐츠의 파일 포맷에 따른 스트림 데이터를 전송한다. 이와 같이 스트림 데이터를 전송하기 위해서는 암호화된 컨텐츠의 포맷이 변형되어서는 안된다. 그래서, 컨텐츠 포맷을 깨뜨리지 않는 방법을 적용할 필요가 있다. MP4 패키저(101)는 MP4 파일의 미디어 데이터 부분만을 암호화하여 MP4 파일 포맷을 깨뜨리지 않도록 한다. 이 때, 암호화될 프레임 타입이나 암호화될 데이터의 사이즈를 선택할 수 있다. The streaming server 103 transmits stream data according to the file format of the content regardless of whether the content is encrypted. In order to transmit the stream data in this manner, the format of the encrypted content should not be modified. Thus, there is a need to apply a method that does not break the content format. The MP4 packager 101 encrypts only the media data portion of the MP4 file so as not to break the MP4 file format. At this time, the frame type to be encrypted or the size of data to be encrypted can be selected.

라이센스 서버(107)는 암호화된 MP4 파일을 복호화하는데 필요한 정보들(예: 키 정보, 암호화된 미디어 데이터의 타입, 암호화된 데이터의 사이즈)을 관리하며, 이를 정당한 사용자에게 제공한다. The license server 107 manages information (eg, key information, type of encrypted media data, size of encrypted data) necessary for decrypting the encrypted MP4 file and provides it to a legitimate user.

도 2는 도 1에 도시된 MP4 패키저(101)를 상세화한 도면이다. FIG. 2 is a detailed view of the MP4 packager 101 shown in FIG. 1.

MP4 패키저(101)로 입력되는 원본 MP4 파일은 object description track, scene description track, MPEG-4 video track, MPEG-4 audio track 등을 포함한다. MPEG-4 파일 포맷(MP4)는 MPEG-4의 미디어 정보를 포함하도록 설계된 포맷으로, 그에 대한 자세한 내용은 다음의 사이트에서 확인할 수 있다.The original MP4 file input to the MP4 packager 101 includes an object description track, a scene description track, an MPEG-4 video track, an MPEG-4 audio track, and the like. The MPEG-4 file format (MP4) is a format designed to include media information of MPEG-4. More information can be found at the following site.

http://developer.apple.com/documentation/QuickTime/http://developer.apple.com/documentation/QuickTime/

MP4 파일 포맷은 atom 이라고 불리는 객체지향 구조로 구성되며, 각 atom은 유일한 태그와 길이로 식별된다. 대부분은 atom은 인덱스 포인트, 기간(duration) 및 미디어 데이터에 대한 포인터와 같은 정보를 제공한 메타데이터의 계층적 구조로 기술된다. 미디어 데이터 자체는 하나 이상의 mdat (media data atoms)에 포함된 MP4 파일에 위치하거나, MP4 바깥에 위치하여 URL을 통하여 참조될 수 있다. The MP4 file format consists of an object-oriented structure called an atom, with each atom identified by a unique tag and length. Most of the time, atoms are described as a hierarchical structure of metadata that provides information such as index points, durations, and pointers to media data. The media data itself may be located in an MP4 file included in one or more mdat (media data atoms), or may be located outside the MP4 and referenced through a URL.

힌트 트랙(hint track)으로 알려진 파일 내의 메타데이터는 명령어를 제공하는 바, 서버가 미디어 데이터를 특정 전달 프로토콜을 통하여 전달하는 방법을 제시한다. 파일 내의 메타데이터는 MP4 포맷으로 하여금 스트리밍, 편집, 로컬 재생 및 컨텐츠의 교환 등을 지원할 수 있도록 하며, 그럼으로써 MPEG-4 중간 포맷에 대한 요건을 만족한다.Metadata in a file, known as a hint track, provides instructions that indicate how the server delivers media data through a particular delivery protocol. The metadata in the file allows the MP4 format to support streaming, editing, local playback and content exchange, thereby satisfying the requirements for the MPEG-4 intermediate format.

MP4 패키저(101)는 MP4 파일을 파싱하여 오디오/비디오 샘플의 위치를 알아내는 MP4 파서(21), 비디오 샘플 중에서 키 프레임에 해당하는 샘플이나 암호화할 구간에 해당하는 샘플을 추출하는 암호화 영역 검사기(22), DES나 AES와 같은 범용 암호화 알고리즘을 이용해 실제 암호화를 수행하는 암호화기(23), 원본 MP4 파일이 힌트 트랙 정보를 담고 있지 않을 경우 오디오/비디오 트랙에 대한 힌트 트랙을 생성하거나 메타정보 트랙에 대한 힌트 트랙을 생성하는 힌트 트랙 생성기(24), 패키징 정보와 기타 사용자 정의 정보를 담을 수 있는 임의의 메타정보 트랙을 삽입하는 메타정보 트랙 생성기(25)를 구비한다.The MP4 packager 101 is an MP4 parser 21 which parses an MP4 file to find the location of an audio / video sample, and an encryption region checker that extracts a sample corresponding to a key frame or a sample corresponding to a section to be encrypted from the video samples ( 22), an encrypter 23 that performs actual encryption using a universal encryption algorithm such as DES or AES, or a hint track for an audio / video track if the original MP4 file does not contain hint track information or a meta information track. A hint track generator 24 for generating a hint track for the meta information track generator 25 for inserting any meta information track that can contain packaging information and other user-defined information.

메타정보 트랙에 명시된 정보에 의하여 암호화된 MP4 파일인지의 여부를 구분할 수 있다. 힌트 트랙이란 MP4 파일을 스트리밍할 때 필요한 정보로서, 전송할 프로토콜 및 데이터의 패킷타이징 정보를 담고 있다.The information specified in the meta information track can identify whether the file is an encrypted MP4 file. The hint track is information required when streaming an MP4 file and contains packetizing information of a protocol and data to be transmitted.

도 2에서 패키저(101)는 원본 MP4 파일(27)을 입력받아 패키징된 파일의 구조가 암호화된 MP4 파일(29)로 오디오/비디오 트랙이 암호화되고 오디오/비디오 트랙에 대한 힌트 트랙 및 메타정보 트랙과 메타정보 트랙에 대한 힌트 트랙이 생성되었음을 나타낸다. In FIG. 2, the packager 101 is an MP4 file 29 in which an original MP4 file 27 is received and the structure of a packaged file is encrypted. And a hint track for the meta information track.

도 3a-3d는 도 2에 도시된 MP4 파서(21)에서 MP4 파일의 'moov' atom을 파싱하여 오디오/비디오 샘플의 위치를 알아내는 과정을 도식화 한 것이다. 'moov' atom에 있는 테이블 정보를 이용해 샘플의 옵셋 정보를 알 수 있다. MP4 파일에서 오디오/비디오 데이터는 샘플 단위로 저장되며, 여기에서 샘플은 오디오 프레임, 비디오 프레임과 동일하다. 암호화는 샘플 단위로 이루어진다. 3A and 3D are diagrams illustrating a process of locating an audio / video sample by parsing a 'moov' atom of an MP4 file in the MP4 parser 21 illustrated in FIG. 2. The offset information of the sample can be known using the table information in the 'moov' atom. In MP4 files, audio / video data is stored in samples, where samples are the same as audio frames and video frames. Encryption is done on a sample basis.

도 4는 본 발명에 따른 암호화 방법을 설명하는 흐름도로서, MP4 파일의 비디오 샘플 중에서 키 프레임(I 프레임)에 해당하는 샘플만을 암호화하는 과정을 나타낸다. 도 5는 MP4 파일에서 키 프레임만 암호화 되었을 때의 변화를 보여준다. 키 프레임을 암호하기 위해서는 키 프레임을 다른 프레임과 구별할 수 있어야 한다. 프레임 타입에 관련된 정보는 VOP 시작코드에 들어있다.4 is a flowchart illustrating an encryption method according to the present invention, and illustrates a process of encrypting only a sample corresponding to a key frame (I frame) among video samples of an MP4 file. 5 shows a change when only a key frame is encrypted in an MP4 file. To encrypt a key frame, it must be able to distinguish it from other frames. Information related to the frame type is contained in the VOP start code.

컨텐츠 포맷에 관계없이 모든 데이터를 암호화하여 컨텐츠를 보호하는 암호화 방법은 스트리밍 컨텐츠에는 적용할 수 없다. 전체 컨텐츠 데이터를 암호화하면 컨텐츠의 포맷이 변하기 때문에 스트리밍 서버는 스트림 데이터를 제대로 전송할 수 없다. 따라서, 스트리밍 서버를 변경하지 않은 채 MP4 컨텐츠를 보호하기 위해서는 컨텐츠 포맷을 바꾸지 않는 암호화 방법이 필요하다. 가장 명료한 방법으로는 MP4 파일 mdat chunk 내에 포함된 RTST 패킷 페이로드를 암호화하는 것이다. 각 미디어 트랙은 일련의 chunks로 정의된다.An encryption method that protects content by encrypting all data regardless of the content format cannot be applied to streaming content. Encrypting the entire content data changes the format of the content, so the streaming server cannot properly transmit the stream data. Therefore, in order to protect MP4 content without changing the streaming server, an encryption method without changing the content format is required. The most obvious way is to encrypt the RTST packet payload contained within the MP4 file mdat chunk. Each media track is defined by a series of chunks.

비디오 트랙에서, 하나의 패킷은 비디오 시퀀스의 하나의 프레임을 포함하며, 비디오의 첫 프레임은 헤더와 코덱 정보를 포함할 수 있다. 비디오 시퀀스 프레임들은 I-프레임과 그 외의 다른 프레임(P. B 프레임)과 같이 두 카테고리로 나 눌 수 있다. I-프레임은 동기 프레임 또는 키 프레임이라고도 한다.In a video track, one packet may include one frame of a video sequence, and the first frame of video may include header and codec information. Video sequence frames can be divided into two categories: I-frames and other frames (P. B frames). I-frames are also called sync frames or key frames.

도 4를 참조하면, MP4 파서의 파싱 결과 비디오 샘플의 옵셋 정보를 알아낸 후(41) 비디오 샘플에서 VOP 시작코드(start code)를 확인한다(42). VOP 시작코드는 비디오 프레임의 시작을 알리는 값으로, 이 값의 하위 바이트의 상위 2 비트 값을 보고 키 프레임인지 아닌지를 알 수 있다. 이 값이 00이면 키 프레임이고 01, 10, 11이면 각각 P 프레임, B 프레임, S 프레임을 나타낸다. 키 프레임일 경우(43) 비디오 데이터를 암호화하고(44), 그렇지 않으면 암호화하지 않고 다음 샘플을 처리하게 된다. Referring to FIG. 4, the offset information of the parsing result video sample of the MP4 parser is found (41), and then the VOP start code is checked from the video sample (42). The VOP start code indicates a start of a video frame. The VOP start code indicates whether a key frame is found by looking at the upper two bits of the lower byte of the value. If this value is 00, it is a key frame, and if it is 01, 10, or 11, it represents P frame, B frame, and S frame, respectively. If it is a key frame (43) the video data is encrypted (44), otherwise the next sample is processed without encryption.

도 6은 MPEG-4 비디오의 암호화된 샘플의 구조를 나타내는 도면이다. Safe Header는 VOP 시작코드 및 프레임 타입 정보를 포함하며, 이 부분은 암호화되지 않는다. Tail도 암호화되지 않으며, Tail의 길이는 8바이트 이하이다. 8바이트의 샘플데이터를 연속적으로 암호화하는 경우 잔여 데이터의 길이가 8바이트보다 작으면 이를 암호화하지 않아 전체 샘플 사이즈가 변경되지 않도록 한다. 6 illustrates the structure of an encrypted sample of MPEG-4 video. The safe header contains the VOP start code and frame type information. This part is not encrypted. The tail is also not encrypted, and the tail is less than 8 bytes long. When 8 bytes of sample data are continuously encrypted, if the length of the remaining data is smaller than 8 bytes, the data is not encrypted so that the total sample size is not changed.

도 7은 도 1에 도시된, 본 발명에 따른 복호화 필터의 상세 구성을 나타내는 블록도이다. 클라이언트가 스트리밍 서버에 서비스를 요청하면 RTSP를 이용해 서버와 클라이언트 사이에 네트워크 포트 정보 및 서비스할 컨텐츠에 대한 설정을 하게 되는데, 이 정보는 SDP(Session Description Protocol) 포맷으로 기술된다. 7 is a block diagram showing the detailed configuration of a decoding filter according to the present invention shown in FIG. When a client requests a service from a streaming server, the client uses RTSP to configure network port information and content to be serviced between the server and the client. The information is described in a Session Description Protocol (SDP) format.

복호화 필터(123)는 이 SDP 정보를 파싱하는 SDP 데이터 파서(201), 비디오 패킷에 대한 복호화 처리를 수행하는 비디오 패킷 복호화기(202), 오디오 패킷에 대한 복호화를 처리하는 오디오 패킷 복호화기(203), DRM 제어기로부터 복호화에 필요한 키와 암호화 정보를 받고 모니터링 작업을 수행하는 제어부(205)로 구성된다. The decoding filter 123 includes an SDP data parser 201 for parsing this SDP information, a video packet decoder 202 for decoding a video packet, and an audio packet decoder 203 for decoding an audio packet. And a control unit 205 for receiving a key and encryption information necessary for decryption from the DRM controller and performing a monitoring operation.

SDP 데이터 파서(71)를 이용해 비디오 RTP 패킷의 포트번호, 오디오 RTP 패킷의 포트번호, 전송모드, 오디오의 AU 헤더 길이 정보 등을 추출한다. 이 정보는 현재 처리할 패킷이 오디오 패킷인지, 비디오 패킷인지를 구분하고, 오디오 패킷의 AU 헤더를 파싱할 때 이용된다. The SDP data parser 71 extracts the port number of the video RTP packet, the port number of the audio RTP packet, the transmission mode, and the AU header length information of the audio. This information is used to distinguish whether the packet to be processed is an audio packet or a video packet, and to parse the AU header of the audio packet.

키 프레임만 암호화되어 있는 경우 어느 샘플을 복호화하여야 할 지를 결정하여야 한다. 암호화 단계에서 샘플 헤더의 일부 데이터는 암호화되지 않았기 때문에 Safe Header 부분을 검사하여 키 프레임인지를 확인할 수 있다. VOP는 4 바이트 시작코드를 가지며, 프레임 종류를 나타내는 두 비트의 값을 이용하여 키 프레임인지의 여부를 결정한다.If only the key frame is encrypted, it is necessary to determine which sample to decrypt. Since some data of the sample header is not encrypted at the encryption stage, the safe header portion can be inspected to determine whether it is a key frame. The VOP has a 4-byte start code and uses two bits of the frame type to determine whether or not it is a key frame.

비디오 패킷 복호화기(72)에서 키 프레임을 복호화하기 위하여, 먼저 패킷의 포트 번호와 RTP 패킷의 SSRC(Synchronization Source) 값을 이용해 현재 패킷이 비디오 패킷인지 확인한다. RTP 패킷 헤더의 timestamp, sequence number 및 markerbit 정보를 이용하여, 현재 패킷이 이전 패킷과 동일한 프레임에 포함되는 패킷인지를 확인하고, 만일 그렇다면 당해 패킷이 프레임의 끝 부분에 해당하는 패킷인지, 아니면 프레임의 중간 부분에 해당하는 패킷인지 확인한다. 또는, 현재 패킷이 이전 패킷의 프레임과는 다른 새 프레임이 시작하는 패킷인지를 확인한다. In order to decode the key frame in the video packet decoder 72, first, it is checked whether the current packet is a video packet using a port number of the packet and a synchronization source (SSRC) value of the RTP packet. The timestamp, sequence number, and markerbit information of the RTP packet header are used to determine whether the current packet is included in the same frame as the previous packet, and if so, whether the packet corresponds to the end of the frame or not. Check if the packet corresponds to the middle part. Or, it is checked whether the current packet is a packet starting with a new frame different from the frame of the previous packet.

이렇게 경우의 수를 세 가지로 구분하는 이유는 사용한 암호화 방법에 따라 복호화 수행 방법에 차이가 있기 때문이다. 스트림 암호화를 사용한 경우 위 세 가지 경우 모두 복호화 수행 방법이 동일하지만, 블록 암호화를 이용한 경우에는 패킷의 재조합과정이 발생하게 되므로 버퍼링이 필요하다. 현재 패킷이 새 프레임이 시작하는 패킷일 경우 RTP 페이로드(payload)에서 VOP 시작코드를 찾아 키 프레임인지를 확인하고 키 프레임이면 복호화를 수행하게 된다. 블록 암호화 방식을 이용했을 때 RTP 페이로드의 길이가 블록 사이즈의 배수가 아닐 경우, 하나의 암호화 단위 블록에서 절단(fragmentation)이 발생하게 되므로 페이로드를 블록 사이즈에 해당하는 크기만큼만 복호화 하고 나머지는 버퍼에 저장했다가 다음 패킷이 들어오면 조합해서 복호화를 수행하게 된다. 다음 패킷을 처리할 때는 버퍼링된 데이터를 현재 패킷의 페이로드 데이터와 연결하여 복호화를 수행한다. The reason for dividing the number into three cases is that the decryption method differs depending on the encryption method used. In the case of using the stream encryption, the decryption method is the same in all three cases. However, in the case of using the block encryption, the packet recombination process occurs, so buffering is required. If the current packet is a packet starting with a new frame, the RTP payload finds the VOP start code and checks whether it is a key frame, and if it is a key frame, decryption is performed. If the length of the RTP payload is not a multiple of the block size when the block encryption method is used, fragmentation occurs in one encryption unit block. Therefore, the payload is decrypted only as much as the block size and the rest is buffered. It stores the data in the next packet, and when the next packet comes in, it is combined and decrypted. When processing the next packet, the buffered data is concatenated with payload data of the current packet to perform decoding.

오디오 패킷 복호화기(73)에서 오디오 패킷을 복호화하는 과정은 비디오 패킷의 복호화 과정과 거의 동일하지만 RTP 패킷에 패킷타이징 되는 방법에 약간의 차이가 있으므로 이것을 처리해주는 과정이 더 필요하다.The decoding of the audio packet in the audio packet decoder 73 is almost the same as the decoding of the video packet, but there is a slight difference in the method of packetizing the RTP packet.

도 8은 본 발명의 성능을 테스트 하기 위한 장치의 구성도를 나타낸다. RTP/RTSP 스트림 소스(150)는 브로드캐스팅/라이브 서버로부터 수신된 데이터를 파싱하고, 압축되지 않은 MPEG-4 비디오/오디오 데이터를 출력한다. 비디오/오디오 복호화 필터(151, 153)는 In-Place 필터로 구현된다. 8 shows a schematic diagram of an apparatus for testing the performance of the present invention. The RTP / RTSP stream source 150 parses the data received from the broadcasting / live server and outputs uncompressed MPEG-4 video / audio data. The video / audio decoding filters 151 and 153 are implemented as in-place filters.

MPEG-4 오디오 디코더(154)는 MPEG-4 AAC LC 오디오 스트림을 디코딩하여 PCM 오디오 데이터를 출력한다. MPEG-4 비디오 디코더(152)는 MPEG-4 Advanced Simple Profile 비디오 스트림을 디코딩하여 비디오 RGB/YUV 스트림을 출력한다. 뷰어(155)는 MPEG-4 비디오/오디오 디코더(152, 154)에서 출력된 비디어/오디오 데 이터를 재생한다. 도 9a는 암호화로 보호된 MP4 파일을 복호화 과정없이 수행한 결과 보여지는 화면이며, 도 9b는 본 발명에 따른 복호화 과정을 거쳐 재생된 화면을 나타낸다. The MPEG-4 audio decoder 154 decodes the MPEG-4 AAC LC audio stream and outputs PCM audio data. The MPEG-4 video decoder 152 decodes the MPEG-4 Advanced Simple Profile video stream and outputs a video RGB / YUV stream. The viewer 155 plays the video / audio data output from the MPEG-4 video / audio decoders 152 and 154. 9A is a screen showing a result of performing an encryption-protected MP4 file without a decryption process, and FIG. 9B shows a screen reproduced through a decryption process according to the present invention.

본 발명에 따른 복호화 과정의 성능을 테스트하기 위하여 비트 레이트가 낮은 것부터 높은 것까지 세 종류의 파일을 사용하였다. 테스트 파일의 특성은 아래의 표 1과 같다. 본 실험에서, 비디어 데이터 처리만을 테스트 하였는데, 오디오 데이터는 비디오 데이터에 비하여 작아 전체 처리시간에 큰 영향을 미치지 않기 때문이다. In order to test the performance of the decoding process according to the present invention, three types of files are used, ranging from low to high bit rates. The characteristics of the test file are shown in Table 1 below. In this experiment, only video data processing was tested because the audio data is smaller than the video data and does not significantly affect the overall processing time.

표 2-4는 파일 A,B,C에 대한 처리시간을 나타내는 도표이다. 실험 결과를 보면, 복호화 시간이 매우 빨라, 모든 프레임이 암호화되는 경우에도 스트리밍의 성능에 거의 영향을 미치지 않음을 알 수 있다.Table 2-4 shows the processing time for files A, B and C. Experimental results show that the decryption time is very fast, and even if all the frames are encrypted, it has little effect on the performance of streaming.

파일 AFile A 파일 BFile B 파일 CFile C Video TrackVideo Track MPEG-4, 320x240, 25fps, 210kbpsMPEG-4, 320x240, 25fps, 210kbps MPEG-4, 90x60, 8fps, 4kbpsMPEG-4, 90x60, 8fps, 4kbps MPEG-4, 320x240, 29.97fps, 974kbpsMPEG-4, 320x240, 29.97 fps, 974 kbps Audio TrackAudio track MPEG-4 @ L1, 32KHz 56kbpsMPEG-4 @ L1, 32KHz 56kbps MPEG-4 @ L1, 16KHz 16kbpsMPEG-4 @ L1, 16 KHz 16 kbps MPEG-4 @ L1, 44KHz 128kbpsMPEG-4 @ L1, 44KHz 128kbps DurationDuration 7405.560sec(~124min)7405.560 sec (~ 124 min) 1718.976sec(~29min)1718.976 sec (~ 29 min) 30.063sec30.063sec File SizeFile size 240 MB240 MB 10 MB10 MB 4 MB4 MB Total Video SamplesTotal Video Samples 184,139184,139 13,75213,752 901901 I-Frame samplesI-Frame samples 768768 5,4815,481 2323

Encrypt AllEncrypt All Decrypt AllDecrypt All Encrypt I-Fr.Encrypt I-Fr. Decrypt I-Fr.Decrypt I-Fr. Open FileOpen file 0.3s [0.5%]0.3 s [0.5%] 0.3s [0.7%]0.3s [0.7%] 0.3s [0.7%]0.3s [0.7%] 0.3s [1.0%]0.3s [1.0%] Audio ProcessingAudio processing 16.8s [30.6%]16.8s [30.6%] 7.5s [17.2%]7.5 s [17.2%] 17.9s [42.8%]17.9s [42.8%] 7.4s [25.1%]7.4 s [25.1%] Video ProcessingVideo Processing 31.9s [58.1%]31.9s [58.1%] 29.7s [68.3%]29.7s [68.3%] 23.3s [55.7%]23.3 s [55.7%] 21.4s [72.8%]21.4s [72.8%] Video CryptingVideo Crypting 5.9s [10.7%]5.9 s [10.7%] 6.0 s [13.8%]6.0 s [13.8%] 0.3s [0.7%]0.3s [0.7%] 0.3s [1.0%]0.3s [1.0%] Video Crypting(Aver.)Video Crypting (Aver.) 32us32us 32us32us 0.39ms0.39 ms 0.39ms0.39 ms TotalTotal 54.9s54.9 s 43.5s43.5 s 41.8s41.8s 29.4s29.4 s

Encrypt AllEncrypt All Decrypt AllDecrypt All Encrypt I-Fr.Encrypt I-Fr. Decrypt I-Fr.Decrypt I-Fr. Open FileOpen file 0.0s [0.0%]0.0s [0.0%] 0.0s [0.0%]0.0s [0.0%] 0.0s [0.0%]0.0s [0.0%] 0.0s [0.0%]0.0s [0.0%] Audio ProcessingAudio processing 1.5s [62.5%]1.5s [62.5%] 0.3s [25%]0.3s [25%] 0.7s [50.0%]0.7s [50.0%] 0.3s [30.0%]0.3s [30.0%] Video ProcessingVideo Processing 0.7s [29.2%]0.7s [29.2%] 0.7s [58.3%]0.7s [58.3%] 0.6s [42.9%]0.6s [42.9%] 0.6s [60.0%]0.6s [60.0%] Video CryptingVideo Crypting 0.2s [8.3%]0.2s [8.3%] 0.2s [16.7%]0.2s [16.7%] 0.1s [7.1%]0.1s [7.1%] 0.1s [10.0%]0.1s [10.0%] Video Crypting(Aver.)Video Crypting (Aver.) 14.5us14.5us 14.5us14.5us 18.2us18.2us 18.2us18.2us TotalTotal 2.4s2.4 s 1.2s1.2 s 1.4s1.4 s 1.0s1.0 s

Encrypt AllEncrypt All Decrypt AllDecrypt All Encrypt I-Fr.Encrypt I-Fr. Decrypt I-Fr.Decrypt I-Fr. Open FileOpen file 0.0s [0.0%]0.0s [0.0%] 0.0s [0.0%]0.0s [0.0%] 0.0s [0.0%]0.0s [0.0%] 0.0s [0.0%]0.0s [0.0%] Audio ProcessingAudio processing 0.23s [30.3%]0.23 s [30.3%] 0.12s [20.0%]0.12s [20.0%] 0.22s [39.3%]0.22 s [39.3%] 0.10s [24.4%]0.10s [24.4%] Video ProcessingVideo Processing 0.43s [56.6%]0.43 s [56.6%] 0.38s [63.3%]0.38s [63.3%] 0.32s [57.1%]0.32s [57.1%] 0.29s [70.7%]0.29 s [70.7%] Video CryptingVideo Crypting 0.1s [13.2%]0.1 s [13.2%] 0.1s [16.7%]0.1s [16.7%] 0.02s [3.6%]0.02 s [3.6%] 0.02s [4.9%]0.02s [4.9%] Video Crypting(Aver.)Video Crypting (Aver.) 0.11ms0.11 ms 0.11ms0.11 ms 0.87ms0.87 ms 0.87ms0.87 ms TotalTotal 0.76s0.76 s 0.60s0.60 s 0.56s0.56 s 0.41s0.41 s

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플라피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, which are also implemented in the form of a carrier wave (for example, transmission over the Internet). It also includes. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

이상 도면과 명세서에서 최적 실시예들이 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.The best embodiments have been disclosed in the drawings and specification above. Although specific terms have been used herein, they are used only for the purpose of describing the present invention and are not used to limit the scope of the present invention as defined in the meaning or claims. Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible from this. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

상술한 바와 같이, 본 발명에 의하면 암호화된 컨텐츠 파일 또한 MP4 파일 포맷을 준수하여 스트리밍 서버에서 암호화된 파일과 암호화되지 않은 파일이 동일하게 작동하도록 하였으며, 오디오 데이터에 비해 상대적으로 사이즈가 큰 비디오 데이터를 암호화할 때 MPEG-4 압축 방식의 특성을 이용해 데이터의 일부만 암호화할 수 있고 컨텐츠의 전체 재생 시간 중에서 원하는 재생 시간 영역의 데이터만 암호화가 가능하도록 하여 클라이언트에서 복호화 작업으로 인해 스트리밍 서비스의 QoS에 미치는 영향을 최소화 하였다. 암호화된 스트리밍 컨텐츠를 재생할 때 네트워크 디바이스 드라이버 단계에서 복호화가 이루어지므로 전용 뷰어 프로그램뿐만 아니라 범용 뷰어 프로그램에의 사용이 가능하다. 따라서, 본 발명은 MPEG-4 컨텐츠의 안전한 스트리밍 서비스에 이용될 수 있다. As described above, according to the present invention, the encrypted content file also complies with the MP4 file format so that the encrypted file and the unencrypted file operate in the streaming server in the same manner, and the video data having a relatively large size compared to the audio data can be obtained. When encrypting, only a part of the data can be encrypted using the characteristics of MPEG-4 compression method, and only the data in the desired play time area among the total play time of the content can be encrypted so that the decryption operation on the client affects the QoS of the streaming service. Was minimized. When the encrypted streaming content is played back, decryption is performed at the network device driver level, so that it can be used not only for a dedicated viewer program but also for a general purpose viewer program. Therefore, the present invention can be used for secure streaming service of MPEG-4 content.

본 발명에 의하면, 컨텐츠를 암호화할 때 암호화 전과 동일한 포맷, 즉 MP4 포맷을 준수하도록 암호화 하므로 스트리밍 서버는 자신이 스트리밍 하고 있는 컨텐츠가 암호화된 패킷인지 아닌지 알 필요가 없으며, 단지 일반 컨텐츠를 스트리밍 할때와 같은 방식으로 스트리밍을 하면 되는 것이다. 따라서, 통상적으로 사용되는 스트리밍 서버를 직접적으로 수정함이 없이 그대로 본 발명에 따른 DRM 시스템에 적용하여 설계할 수 있는 장점이 있다.According to the present invention, when encrypting content, the encryption server conforms to the same format as before encryption, that is, the MP4 format, so that the streaming server does not need to know whether the content that is being streamed is an encrypted packet. You can stream in the same way. Therefore, there is an advantage that can be applied to the DRM system according to the present invention without designing a streaming server that is commonly used directly.

Claims (7)

입력받은 원본 포맷 파일을 파싱하여 오디오/비디오 샘플의 위치를 알아내는 파서, 비디오 샘플 중에서 암호화할 구간에 해당하는 샘플을 추출하는 암호화 영역 검사기, 암호화 알고리즘을 이용해 상기 추출된 비디오 샘플에 대한 암호화를 수행하는 암호화기, 오디오/비디오 트랙 또는 메타정보 트랙에 대한 힌트 트랙을 생성하는 힌트 트랙 생성기와 패키징 정보 및 사용자 정의 정보를 담을 수 있는 메타정보 트랙을 생성하는 메타정보 트랙 생성기로 이루어진 패키저;Parser to find the location of the audio / video sample by parsing the input source format file, an encryption region checker to extract the sample corresponding to the section to be encrypted from the video sample, and to perform encryption on the extracted video sample using an encryption algorithm. A packager including a hint track generator for generating a hint track for the audio / video track or the meta information track, and a meta information track generator for generating a meta information track that can contain packaging information and user-defined information; 상기 패키저에서 암호화에 사용된 암호화 정보가 담긴 라이센스 정보를 전송하는 라이센스부; 및A license unit for transmitting license information containing encryption information used for encryption in the packager; And 상기 암호화된 포맷 파일에 기초하여 컨텐츠 파일을 암호화하여 스트리밍 암호화 패킷을 전송하는 스트리밍부를 포함하는 것을 특징으로 하는 디지털 컨텐츠 보호 장치.And a streaming unit which transmits a streaming encryption packet by encrypting a content file based on the encrypted format file. 제1항에서 있어서, The method of claim 1, 상기 암호화된 상태로 전송되는 패킷을 실시간으로 복호화하여 재생하는 사용자 시스템을 더 포함하는 것을 특징으로 하는 디지털 컨텐츠 보호 장치.And a user system for decrypting and playing the packet transmitted in the encrypted state in real time. 삭제delete 제1항에 있어서, 암호화 영역 검사기는The apparatus of claim 1, wherein the cryptographic area checker 상기 파서에 의해 비디오 샘플의 옵셋 정보를 알아낸 후 비디오 샘플에서 VOP 시작코드를 확인하여 키 프레임에 해당하는 샘플을 추출하는 것을 특징으로 하는 디지털 컨텐츠 보호 장치.And determining the VOP start code from the video sample and extracting the sample corresponding to the key frame after finding the offset information of the video sample by the parser. 암호화된 패킷을 복호화할 수 있는 암호화 정보가 담긴 라이센스 정보를 수신하는 DRM 제어기;A DRM controller for receiving license information containing encryption information capable of decrypting an encrypted packet; 스트리밍 암호화 패킷을 수신하여 상기 암호화 정보에 따라 복호화하는 복호화 필터; 및A decryption filter for receiving a streaming encryption packet and decrypting the same according to the encryption information; And 상기 복호화된 패킷에 의하여 비디오와 오디오 데이터를 재생하는 뷰어를 포함하되,A viewer for playing video and audio data by the decoded packet, 상기 복호화 필터는 네트워크 포트 정보 및 서비스할 컨텐츠에 대한 SDP 정보를 파싱하는 SDP 파서, 비디오 패킷에 대한 복호화 처리를 수행하는 비디오 패킷 복호화기, 오디오 패킷에 대한 복호화를 처리하는 오디오 패킷 복호화기와 상기 DRM 제어기로부터 복호화에 필요한 암호화 정보를 받아 상시 비디오 패킷 및 오디오 패킷의 복호화를 제어하는 제어부로 이루어지는 것을 특징으로 하는 디지털 컨텐츠 보호용 사용자 장치.The decoding filter includes an SDP parser for parsing network port information and SDP information for content to be served, a video packet decoder for decoding video packets, an audio packet decoder for decoding audio packets, and the DRM controller. And a control unit which receives the encryption information necessary for decryption from the control unit and controls decryption of the video packet and the audio packet at all times. 삭제delete 입력받은 원본 포맷 파일을 파싱하여 오디오/비디오 샘플의 위치를 알아내고, 비디오 샘플 중에서 암호화할 구간에 해당하는 샘플을 추출하며, 암호화 알고리즘을 이용해 상기 추출된 비디오 샘플에 대한 암호화를 수행하고, 오디오/비디오 트랙 또는 메타정보 트랙에 대한 힌트 트랙을 생성하며 패키징 정보 및 사용자 정의 정보를 담을 수 있는 메타정보 트랙을 생성하는 단계;Parse the input source format file to find the location of the audio / video sample, extract the sample corresponding to the section to be encrypted from the video sample, perform encryption on the extracted video sample using an encryption algorithm, Generating a hint track for a video track or meta-information track and generating a meta-information track that can contain packaging information and user-defined information; 상기 암호화된 포맷 파일에 기초하여 컨텐츠 파일을 암호화하여 스트리밍 암호화 패킷을 전송하며, 상기 암호화에 사용된 암호화 정보가 담긴 라이센스 정보를 전송하는 단계; 및Transmitting a streaming encryption packet by encrypting a content file based on the encrypted format file, and transmitting license information containing encryption information used for the encryption; And 상기 라이센스 정보 및 상기 스트리밍 암호화 패킷을 수신하여, 상기 라이센스 정보에 따라 패킷을 복호화하여 비디오와 오디오 데이터를 재생하는 단계를 포함하는 것을 특징으로 하는 디지털 컨텐츠 보호 방법.Receiving the license information and the streaming encryption packet, and decoding the packet according to the license information to play video and audio data.
KR1020030078124A 2003-11-05 2003-11-05 Apparatus for protecting digital content and method therefor KR100596382B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030078124A KR100596382B1 (en) 2003-11-05 2003-11-05 Apparatus for protecting digital content and method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030078124A KR100596382B1 (en) 2003-11-05 2003-11-05 Apparatus for protecting digital content and method therefor

Publications (2)

Publication Number Publication Date
KR20050043289A KR20050043289A (en) 2005-05-11
KR100596382B1 true KR100596382B1 (en) 2006-07-03

Family

ID=37244047

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030078124A KR100596382B1 (en) 2003-11-05 2003-11-05 Apparatus for protecting digital content and method therefor

Country Status (1)

Country Link
KR (1) KR100596382B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100811470B1 (en) * 2005-12-08 2008-03-07 한국전자통신연구원 Drm system and method using index to make new moving picture contents from multiple moving picture contents
WO2010107279A2 (en) 2009-03-19 2010-09-23 주식회사 파수닷컴 System and method for protecting digital media content

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100740882B1 (en) * 2005-12-08 2007-07-19 한국전자통신연구원 Method for gradational data service through service level set of MPEG-4 binary format for scene
KR100782847B1 (en) 2006-02-15 2007-12-06 삼성전자주식회사 Method and apparatus for importing content which consists of a plural of contents parts
US8978154B2 (en) 2006-02-15 2015-03-10 Samsung Electronics Co., Ltd. Method and apparatus for importing content having plurality of parts
WO2007123373A1 (en) * 2006-04-25 2007-11-01 Electronics And Telecommunications Research Institute Apparatus and method for transforming drm algorithm of streaming data
KR100840200B1 (en) * 2006-09-27 2008-06-23 한국전자통신연구원 Apparatus and method of packaging/unpackaging h.264 movie file streamed or downloaded
CN108337566B (en) * 2017-01-20 2021-06-29 创盛视联数码科技(北京)有限公司 Encryption method based on mp4 format file
CN109561323B (en) * 2019-01-02 2021-11-12 武汉珈铭汉象教育科技有限公司 MP4 file encryption and decryption method and device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100811470B1 (en) * 2005-12-08 2008-03-07 한국전자통신연구원 Drm system and method using index to make new moving picture contents from multiple moving picture contents
WO2010107279A2 (en) 2009-03-19 2010-09-23 주식회사 파수닷컴 System and method for protecting digital media content

Also Published As

Publication number Publication date
KR20050043289A (en) 2005-05-11

Similar Documents

Publication Publication Date Title
US10320759B2 (en) Streaming system and method
KR101244308B1 (en) Encoding Method for moving picture file and the Digital right management using the same
US7120250B2 (en) Content distribution for multiple digital rights management
KR100930303B1 (en) Digital media contents protection system and method thereof
US20120114118A1 (en) Key rotation in live adaptive streaming
US20060195909A1 (en) Media player operable to decode content data
KR20150067215A (en) Video distribution and playback
CA2511914A1 (en) System for secure decryption of streaming media using selective decryption of header information
KR20130085926A (en) System and method for processing security based on http live streaming
CN105611318A (en) Method and system for video encryption playing
KR100596382B1 (en) Apparatus for protecting digital content and method therefor
CN101169953B (en) MP3 content encryption method
KR100635128B1 (en) Apparatus for generating encrypted motion-picture file with iso base media format and apparatus for reconstructing encrypted motion-picture, and method for reconstructing the same
KR101215617B1 (en) Encoding Method for moving picture file and the Digital right management using the same
KR101041261B1 (en) System for providing Digital Rights Management contents, DRM contents generating/playing apparatus and method using CODEC DRM, computer readable recording medium storing program performing the method
KR100728242B1 (en) System for protecting MPEG-2 TS files, apparatus and method of generating/playing protection MPEG-2 TS in its
Park et al. DRM for streamed MPEG-4 media
KR20020081842A (en) system for charging for multimedia streaming service and guaranteeing security of the service and the method thereof
KR20050043473A (en) Apparatus for and method of protecting streamed asf files
Park et al. Protecting ASF movie on VOD
GB2423662A (en) Media player arranged to decode video content blocks having digital fingerprints

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
FPAY Annual fee payment

Payment date: 20110609

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee