KR20050043289A - 디지털 컨텐츠 보호 장치 및 방법 - Google Patents

디지털 컨텐츠 보호 장치 및 방법 Download PDF

Info

Publication number
KR20050043289A
KR20050043289A KR1020030078124A KR20030078124A KR20050043289A KR 20050043289 A KR20050043289 A KR 20050043289A KR 1020030078124 A KR1020030078124 A KR 1020030078124A KR 20030078124 A KR20030078124 A KR 20030078124A KR 20050043289 A KR20050043289 A KR 20050043289A
Authority
KR
South Korea
Prior art keywords
packet
encryption
information
video
file
Prior art date
Application number
KR1020030078124A
Other languages
English (en)
Other versions
KR100596382B1 (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 KR1020030078124A priority Critical patent/KR100596382B1/ko
Publication of KR20050043289A publication Critical patent/KR20050043289A/ko
Application granted granted Critical
Publication of KR100596382B1 publication Critical patent/KR100596382B1/ko

Links

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 컨텐츠의 불법 복제 및 불법 전송 등을 원천적으로 차단하기 위한 디지털 콘텐츠 보호 방법 및 시스템에 관한 것으로, 본 발명에 따른 디지털 컨텐츠 보호 장치는 원본 포맷 파일을 입력받아 암호화하고 메타데이터를 삽입하여 암호화된 포맷 파일을 생성하는 패키저; 상기 패키저에서 암호화에 사용된 암호화 정보가 담긴 라이센스 정보를 전송하는 라이센스부; 및 상기 암호화된 포맷 파일에 기초하여 컨텐츠 파일을 암호화하여 스트리밍 암호화 패킷을 전송하는 스트리밍부를 포함한다.

Description

디지털 컨텐츠 보호 장치 및 방법{Apparatus for protecting digital content and method therefor}
본 발명은 인터넷을 통해 스트리밍되는 MPEG-4 컨텐츠의 불법 복제 및 불법 전송 등을 원천적으로 차단하기 위한 디지털 컨텐츠 보호 방법 및 시스템에 관한 것이다.
최근 컴퓨터와 인터넷, 저장매체 등의 급속한 발전에 따라 각종 문서와 컨텐츠 등이 컴퓨터가 읽을 수 있는 디지털 데이터 형태로 제작되어 유통되고 있으나, 이러한 디지털 컨텐츠의 특성상 원본과 동일한 복사본 또는 변형본을 쉽게 만들어 낼 수 있을 뿐만 아니라 손쉽게 배포할 수 있게 되었다. 따라서, 많은 자금과 시간, 창의력, 노동력이 들어가는 디지털 컨텐츠의 저작자 입장에서는 자신의 저작권을 온라인 또는 오프라인에서 철저한 보호를 원하지만, 상술한 바와 같은 디지털 컨텐츠의 손쉬운 복제성 및 배포성 때문에 디지털 컨텐츠 시장의 활성화에 큰 장애가 되고 있다.
이러한 디지털 컨텐츠의 불법복제 및 불법배포 문제를 해결하고자 나온 방법 중의 하나가 스트리밍(streaming) 방법이다. 스트리밍 방법은 사용자의 하드디스크에 데이터를 저장하는 것이 아니라 램메모리 상에서만 일시적으로 저장 및 사용이 가능하도록 한 것이지만, 이것은 통신속도 또는 기타 압축 등의 기술적인 문제로 동영상의 끊김, 버퍼링, 엉김 등이 자주 발생하는 단점이 있다.
DRM 기술은 저작권이 설정된 정보의 보호를 위해 나온 개념으로 이러한 문제를 해결하기 위한 하나의 방법으로 제시되었다. 기존의 동영상 컨텐츠에 대한 DRM 시스템은 대부분 컨텐츠를 암호화 하여 사용자 시스템에 컨텐츠 전체를 다운로드 하여 컨텐츠를 재생할 때 메모리상에서 특정 크기의 블록만큼씩 복호화하여 이 복호화된 컨텐츠가 재생되는 형태이다. 그러나 영화와 같은 동영상 컨텐츠의 경우, 대부분 수백 메가 바이트에서 1기가 바이트 이상의 크기를 갖기 때문에 컨텐츠 전체를 사용자의 로컬 시스템에 다운로드 하는 것은 비효율적일 뿐만 아니라 심각한 네트웍 트래픽을 발생시킨다. 따라서 VoD 서비스의 경우 스트리밍 기술을 이용해 실시간으로 컨텐츠를 전송하여 재생하는 방식을 이용하고 있다. 스트리밍은 전송된 데이터가 로컬에 저장되지 않고 버퍼링을 통해 실시간으로 재생되는 방식으로 보안상의 이유로도 많이 사용되는 방식이다.
동영상 스트리밍 서비스는 ID/PW 인증을 통해 인가된 사용자만이 접속하여 컨텐츠를 서비스 받을 수 있도록 하고 있다. 그러나 스트리밍 URL을 캡쳐하여 이 URL을 이용해 스트리밍 서버에 접속하여 전송되는 패킷을 저장하는 툴들이 나오면서 더 이상 스트리밍 컨텐츠에 대한 보호 또한 어렵게 되었다. 이렇게 사용자 시스템에 저장된 스트리밍 컨텐츠는 불법으로 복제되고 배포될 수 있기 때문이다.
스트리밍 컨텐츠를 지원하는 DRM 시스템의 경우, Microsoft의 Windows Media Rights Manager SDK(Software Development Kit), Windows Media Format SDK를 이용하여 Microsoft의 스트리밍 서버인 윈도우즈 미디어 서버와 미디어 포맷인 WMV, WMA, ASF 등의 포맷만을 지원하는 시스템이 대부분이기 때문에 일반적인 MPEG-4 스트리밍 표준 스펙을 따르는 스트리밍 시스템을 지원할 수 없다. 컨텐츠의 암호화 방법 또한 모든 컨텐츠에 대해 동일하게 적용되므로 다양한 비즈니스 모델의 적용이 어려울 뿐만 아니라 사용자 시스템에서의 복호화 작업으로 인한 부하를 사용자 시스템 성능에 따라 조절 할 수 없기 때문에 스트리밍 서비스의 QoS에 영향을 미칠 수 있다.
본 발명이 이루고자 하는 기술적 과제는 기존의 스트리밍 서버에 대한 수정 없이 바로 적용이 가능하고 스트리밍 서비스의 QoS에 미치는 영향을 최소화 할 수 있는 MP4 파일 포맷으로 저장된 MPEG-4 컨텐츠에 대한 암호화 방법과 전용 뷰어 프로그램뿐만 아니라 범용 뷰어 프로그램에서도 사용이 가능하도록 하는 디지털 컨텐츠 보호 장치 및 방법을 제공하는 것이다.
상기의 기술적 과제를 이루기 위한 본 발명에 따른 디지털 컨텐츠 보호 장치는, 원본 포맷 파일을 입력받아 암호화하고 메타데이터를 삽입하여 암호화된 포맷 파일을 생성하는 패키저; 상기 패키저에서 암호화에 사용된 암호화 정보가 담긴 라이센스 정보를 전송하는 라이센스부; 및 상기 암호화된 포맷 파일에 기초하여 컨텐츠 파일을 암호화하여 스트리밍 암호화 패킷을 전송하는 스트리밍부를 포함한다.
상기의 기술적 과제를 이루기 위한 본 발명에 따른 디지털 컨텐츠 보호용 사용자 장치는, 암호화된 패킷을 복호화할 수 있는 암호화 정보가 담긴 라이센스 정보를 수신하는 DRM 제어기; 스트리밍 암호화 패킷을 수신하여 상기 암호화 정보에 따라 복호화하는 복호화 필터; 및 상기 복호화된 패킷에 의하여 비디오와 오디오 데이터를 재생하는 뷰어를 포함한다.
상기의 기술적 과제를 이루기 위한 본 발명에 따른 디지털 컨텐츠 보호 방법은, 원본 포맷 파일을 입력받아 암호화하고 메타데이터를 삽입하여 암호화된 포맷 파일을 생성하는 단계; 상기 암호화된 포맷 파일에 기초하여 컨텐츠 파일을 암호화하여 스트리밍 암호화 패킷을 전송하며, 상기 암호화에 사용된 암호화 정보가 담긴 라이센스 정보를 전송하는 단계; 상기 라이센스 정보 및 상기 스트리밍 암호화 패킷을 수신하여, 상기 라이센스 정보에 따라 패킷을 복호화하여 비디오와 오디오 데이터를 재생하는 단계를 포함한다.
이하에서, 도면을 참조하여 본 발명의 실시예에 대하여 상세히 설명하기로 한다.
디지털 컨텐츠의 저작권을 보호하기 위해서 최근 관심이 고조되고 있는 것이 디지털 저작권 관리(DRM, Digital Rights Management) 시스템이다. DRM 시스템이란 다양한 채널을 통해 유통되는 텍스트, 음악, 이미지, 영상, 동영상강의, 영화, 소프트웨어, 게임 등 각종 디지털 컨텐츠를 불법 복제로부터 보호하고 지속적인 컨텐츠 유료화 서비스를 가능하게 하는 기술이다. 컨텐츠 공급자가 DRM 시스템를 도입하면 모든 네트워크를 통해 유통되는 디지털 컨텐츠는 컨텐츠 공급자가 정한 규칙과 사용정책을 충족할 경우에만 열어볼 수 있으며, 불법복제를 하더라도 모든 디지털 컨텐츠는 암호화되어 있어 정당한 비용을 지불하지 않은 사용자는 열어 볼 수가 없게 된다.
인터넷과 네트웍 환경의 변화로 인하여 고품질의 컨텐츠 서비스를 실시간으로 제공하는 것이 가능해지고 있다. 디지털 컨텐츠에 대한 요구가 증가할수록 지적재산권과 관련된 문제는 더욱 중요하게 되어간다. VOD와 같은 스트리밍 서비스는 컨텐츠를 저장하지 않도록 함으로써 이 문제를 해결하였다. 그러나, 스트리밍 컨텐츠를 저장할 수 있는 여러 툴들이 나타나면서 스트림 컨텐츠도 더 이상 이 문제로부터 자유롭지 않게 되었다. 그래서, 액세스 제어와 같은 보안 대책으로 컨텐츠에 대한 권리를 제어하고 관리하기 위한 새로운 기술이 요구되었다.
MPEG-4는 컨텐츠 스트리밍의 주요 기술로서, 유선 또는 무선 환경에서 높은 품질을 보여주고 있다. 다른 미디어 유형과 비교할 때, MPEG-4를 사용한 스트림 서비스는 컨텐츠를 복호화하고 재생하는데 보다 긴 시간이 필요하다. 이것은 컨텐츠의 품질을 보증하기 위해서는 DRM의 처리시간이 최소화되어야 함을 의미한다. 이 요건을 만족시키기 위하여, 성능상 DRM의 효과를 분석하는 것이 필수적이다. 효율적인 암호화 방법은 이러한 분석의 결과로부터 결정될 수 있다.
본 발명에서는, 스트림 MPEG-4 컨텐츠를 보호할 수 있을 뿐만 아니라 현존 MPEG-4 스트리밍 시스템과 쉽게 통합할 수 있는 DRM 기반의 스트리밍 시스템를 제시한 것이다. 본 발명에서는 기존의 스트리밍 서버의 변경없이 그대로 사용하면서 DRM을 설계하는 것으로, 파일 포맷을 깨뜨리지 않은 채 MP4 파일을 암호화하여, 어떠한 MP4 스트리밍 서버에서도 동작할 수 있도록 한다. 그래서, 압축된 MPEG-4에 적용할 수 있는 암호화 방법이 사용된다.
본 발명은 기존의 스트리밍 서버에 대한 수정 없이 바로 적용할 수 있도록 DRM 시스템을 설계한 것으로, 컨텐츠 파일이 암호화 된 후에도 MPEG-4 표준 파일 포맷인 MP4 파일 포맷을 따르도록 하여 스트리밍 서버는 컨텐츠 파일의 암호화 여부에 상관없이 스트리밍이 가능하도록 하였다.
도 1은 본 발명의 일 실시예에 따른 디지털 컨텐츠를 보호하기 위한 시스템의 구성도를 나타내는 도면으로, 스트리밍 패킷을 전송하는 서버시스템(100) 및 이를 수신하여 재생하는 클라이언트 시스템(120)을 포함한다.
서버시스템(100)은 원본 MP4 파일을 입력받아 암호화하고 필요한 메타데이터를 삽입한 후 암호화할 때 사용된 암호화 정보를 전송하는 패키저(101)를 포함한다. 암호화된 MP4 파일은 스트리밍 서버(103)의 컨텐츠 파일이 저장된 DB(105)로 전송되고, 스트리밍 서버(103)는 암호화된 MP4 파일에 기초하여 컨텐츠 파일을 암호화하여 스트리밍 암호화 패킷을 생성한다. 스트리밍 서버(103)는 암호화된 파일을 데이터베이스에 저장하고, 암호화된 파일이 암호화 되었어도 그 포맷이 동일하기 때문에 암호화 된 지를 알 필요도 없이 일반 파일을 스트리밍 할 때와 마찬가지로 암호화된 파일을 스트리밍 하게 된다.
MP4 패키저(101)에서 암호화에 사용된 키 등의 암호화정보는 라이센스 서버(107)로 전송되고, 라이센스 서버(107)는 클라이언트 시스템(120)에서 스트리밍 패킷을 복호화 할 때 컨텐츠를 복호화할 수 있는 암호화 정보가 담긴 라이센스 정보를 전송한다.
클라이언트 시스템(120)의 DRM 제어기(121)는 라이센스 서버(107)로부터 라이센스 정보를 수신하여, 이를 복호화필터(123)로 전달한다. 복호화 필터(123)는 스트리밍 서버(103)로부터 암호화 되어 수신된 스트리밍 암호화 패킷을 라이센스 정보를 이용해 복호화 하고, 뷰어(125)는 복호화된 패킷에 따라 비디오/오디오 신호를 재생하게 된다.
스트리밍 서버(103)는 컨텐츠가 암호화되었는지의 여부와 관계없이 컨텐츠의 파일 포맷에 따른 스트림 데이터를 전송한다. 이와 같이 스트림 데이터를 전송하기 위해서는 암호화된 컨텐츠의 포맷이 변형되어서는 안된다. 그래서, 컨텐츠 포맷을 깨뜨리지 않는 방법을 적용할 필요가 있다. MP4 패키저(101)는 MP4 파일의 미디어 데이터 부분만을 암호화하여 MP4 파일 포맷을 깨뜨리지 않도록 한다. 이 때, 암호화될 프레임 타입이나 암호화될 데이터의 사이즈를 선택할 수 있다.
라이센스 서버(107)는 암호화된 MP4 파일을 복호화하는데 필요한 정보들(예: 키 정보, 암호화된 미디어 데이터의 타입, 암호화된 데이터의 사이즈)을 관리하며, 이를 정당한 사용자에게 제공한다.
도 2는 도 1에 도시된 MP4 패키저(101)를 상세화한 도면이다.
MP4 패키저(101)로 입력되는 원본 MP4 파일은 object description track, scene description track, MPEG-4 video track, MPEG-4 audio track 등을 포함한다. MPEG-4 파일 포맷(MP4)는 MPEG-4의 미디어 정보를 포함하도록 설계된 포맷으로, 그에 대한 자세한 내용은 다음의 사이트에서 확인할 수 있다.
http://developer.apple.com/documentation/QuickTime/
MP4 파일 포맷은 atom 이라고 불리는 객체지향 구조로 구성되며, 각 atom은 유일한 태그와 길이로 식별된다. 대부분은 atom은 인덱스 포인트, 기간(duration) 및 미디어 데이터에 대한 포인터와 같은 정보를 제공한 메타데이터의 계층적 구조로 기술된다. 미디어 데이터 자체는 하나 이상의 mdat (media data atoms)에 포함된 MP4 파일에 위치하거나, MP4 바깥에 위치하여 URL을 통하여 참조될 수 있다.
힌트 트랙(hint track)으로 알려진 파일 내의 메타데이터는 명령어를 제공하는 바, 서버가 미디어 데이터를 특정 전달 프로토콜을 통하여 전달하는 방법을 제시한다. 파일 내의 메타데이터는 MP4 포맷으로 하여금 스트리밍, 편집, 로컬 재생 및 컨텐츠의 교환 등을 지원할 수 있도록 하며, 그럼으로써 MPEG-4 중간 포맷에 대한 요건을 만족한다.
MP4 패키저(101)는 MP4 파일을 파싱하여 오디오/비디오 샘플의 위치를 알아내는 MP4 파서(21), 비디오 샘플 중에서 키 프레임에 해당하는 샘플이나 암호화할 구간에 해당하는 샘플을 추출하는 암호화 영역 검사기(22), DES나 AES와 같은 범용 암호화 알고리즘을 이용해 실제 암호화를 수행하는 암호화기(23), 원본 MP4 파일이 힌트 트랙 정보를 담고 있지 않을 경우 오디오/비디오 트랙에 대한 힌트 트랙을 생성하거나 메타정보 트랙에 대한 힌트 트랙을 생성하는 힌트 트랙 생성기(24), 패키징 정보와 기타 사용자 정의 정보를 담을 수 있는 임의의 메타정보 트랙을 삽입하는 메타정보 트랙 생성기(25)를 구비한다.
메타정보 트랙에 명시된 정보에 의하여 암호화된 MP4 파일인지의 여부를 구분할 수 있다. 힌트 트랙이란 MP4 파일을 스트리밍할 때 필요한 정보로서, 전송할 프로토콜 및 데이터의 패킷타이징 정보를 담고 있다.
도 2에서 패키저(101)는 원본 MP4 파일(27)을 입력받아 패키징된 파일의 구조가 암호화된 MP4 파일(29)로 오디오/비디오 트랙이 암호화되고 오디오/비디오 트랙에 대한 힌트 트랙 및 메타정보 트랙과 메타정보 트랙에 대한 힌트 트랙이 생성되었음을 나타낸다.
도 3a-3d는 도 2에 도시된 MP4 파서(21)에서 MP4 파일의 'moov' atom을 파싱하여 오디오/비디오 샘플의 위치를 알아내는 과정을 도식화 한 것이다. 'moov' atom에 있는 테이블 정보를 이용해 샘플의 옵셋 정보를 알 수 있다. MP4 파일에서 오디오/비디오 데이터는 샘플 단위로 저장되며, 여기에서 샘플은 오디오 프레임, 비디오 프레임과 동일하다. 암호화는 샘플 단위로 이루어진다.
도 4는 본 발명에 따른 암호화 방법을 설명하는 흐름도로서, MP4 파일의 비디오 샘플 중에서 키 프레임(I 프레임)에 해당하는 샘플만을 암호화하는 과정을 나타낸다. 도 5는 MP4 파일에서 키 프레임만 암호화 되었을 때의 변화를 보여준다. 키 프레임을 암호하기 위해서는 키 프레임을 다른 프레임과 구별할 수 있어야 한다. 프레임 타입에 관련된 정보는 VOP 시작코드에 들어있다.
컨텐츠 포맷에 관계없이 모든 데이터를 암호화하여 컨텐츠를 보호하는 암호화 방법은 스트리밍 컨텐츠에는 적용할 수 없다. 전체 컨텐츠 데이터를 암호화하면 컨텐츠의 포맷이 변하기 때문에 스트리밍 서버는 스트림 데이터를 제대로 전송할 수 없다. 따라서, 스트리밍 서버를 변경하지 않은 채 MP4 컨텐츠를 보호하기 위해서는 컨텐츠 포맷을 바꾸지 않는 암호화 방법이 필요하다. 가장 명료한 방법으로는 MP4 파일 mdat chunk 내에 포함된 RTST 패킷 페이로드를 암호화하는 것이다. 각 미디어 트랙은 일련의 chunks로 정의된다.
비디오 트랙에서, 하나의 패킷은 비디오 시퀀스의 하나의 프레임을 포함하며, 비디오의 첫 프레임은 헤더와 코덱 정보를 포함할 수 있다. 비디오 시퀀스 프레임들은 I-프레임과 그 외의 다른 프레임(P. B 프레임)과 같이 두 카테고리로 나눌 수 있다. I-프레임은 동기 프레임 또는 키 프레임이라고도 한다.
도 4를 참조하면, MP4 파서의 파싱 결과 비디오 샘플의 옵셋 정보를 알아낸 후(41) 비디오 샘플에서 VOP 시작코드(start code)를 확인한다(42). VOP 시작코드는 비디오 프레임의 시작을 알리는 값으로, 이 값의 하위 바이트의 상위 2 비트 값을 보고 키 프레임인지 아닌지를 알 수 있다. 이 값이 00이면 키 프레임이고 01, 10, 11이면 각각 P 프레임, B 프레임, S 프레임을 나타낸다. 키 프레임일 경우(43) 비디오 데이터를 암호화하고(44), 그렇지 않으면 암호화하지 않고 다음 샘플을 처리하게 된다.
도 6은 MPEG-4 비디오의 암호화된 샘플의 구조를 나타내는 도면이다. Safe Header는 VOP 시작코드 및 프레임 타입 정보를 포함하며, 이 부분은 암호화되지 않는다. Tail도 암호화되지 않으며, Tail의 길이는 8바이트 이하이다. 8바이트의 샘플데이터를 연속적으로 암호화하는 경우 잔여 데이터의 길이가 8바이트보다 작으면 이를 암호화하지 않아 전체 샘플 사이즈가 변경되지 않도록 한다.
도 7은 도 1에 도시된, 본 발명에 따른 복호화 필터의 상세 구성을 나타내는 블록도이다. 클라이언트가 스트리밍 서버에 서비스를 요청하면 RTSP를 이용해 서버와 클라이언트 사이에 네트워크 포트 정보 및 서비스할 컨텐츠에 대한 설정을 하게 되는데, 이 정보는 SDP(Session Description Protocol) 포맷으로 기술된다.
복호화 필터(123)는 이 SDP 정보를 파싱하는 SDP 데이터 파서(201), 비디오 패킷에 대한 복호화 처리를 수행하는 비디오 패킷 복호화기(202), 오디오 패킷에 대한 복호화를 처리하는 오디오 패킷 복호화기(203), DRM 제어기로부터 복호화에 필요한 키와 암호화 정보를 받고 모니터링 작업을 수행하는 제어부(205)로 구성된다.
SDP 데이터 파서(71)를 이용해 비디오 RTP 패킷의 포트번호, 오디오 RTP 패킷의 포트번호, 전송모드, 오디오의 AU 헤더 길이 정보 등을 추출한다. 이 정보는 현재 처리할 패킷이 오디오 패킷인지, 비디오 패킷인지를 구분하고, 오디오 패킷의 AU 헤더를 파싱할 때 이용된다.
키 프레임만 암호화되어 있는 경우 어느 샘플을 복호화하여야 할 지를 결정하여야 한다. 암호화 단계에서 샘플 헤더의 일부 데이터는 암호화되지 않았기 때문에 Safe Header 부분을 검사하여 키 프레임인지를 확인할 수 있다. VOP는 4 바이트 시작코드를 가지며, 프레임 종류를 나타내는 두 비트의 값을 이용하여 키 프레임인지의 여부를 결정한다.
비디오 패킷 복호화기(72)에서 키 프레임을 복호화하기 위하여, 먼저 패킷의 포트 번호와 RTP 패킷의 SSRC(Synchronization Source) 값을 이용해 현재 패킷이 비디오 패킷인지 확인한다. RTP 패킷 헤더의 timestamp, sequence number 및 markerbit 정보를 이용하여, 현재 패킷이 이전 패킷과 동일한 프레임에 포함되는 패킷인지를 확인하고, 만일 그렇다면 당해 패킷이 프레임의 끝 부분에 해당하는 패킷인지, 아니면 프레임의 중간 부분에 해당하는 패킷인지 확인한다. 또는, 현재 패킷이 이전 패킷의 프레임과는 다른 새 프레임이 시작하는 패킷인지를 확인한다.
이렇게 경우의 수를 세 가지로 구분하는 이유는 사용한 암호화 방법에 따라 복호화 수행 방법에 차이가 있기 때문이다. 스트림 암호화를 사용한 경우 위 세 가지 경우 모두 복호화 수행 방법이 동일하지만, 블록 암호화를 이용한 경우에는 패킷의 재조합과정이 발생하게 되므로 버퍼링이 필요하다. 현재 패킷이 새 프레임이 시작하는 패킷일 경우 RTP 페이로드(payload)에서 VOP 시작코드를 찾아 키 프레임인지를 확인하고 키 프레임이면 복호화를 수행하게 된다. 블록 암호화 방식을 이용했을 때 RTP 페이로드의 길이가 블록 사이즈의 배수가 아닐 경우, 하나의 암호화 단위 블록에서 절단(fragmentation)이 발생하게 되므로 페이로드를 블록 사이즈에 해당하는 크기만큼만 복호화 하고 나머지는 버퍼에 저장했다가 다음 패킷이 들어오면 조합해서 복호화를 수행하게 된다. 다음 패킷을 처리할 때는 버퍼링된 데이터를 현재 패킷의 페이로드 데이터와 연결하여 복호화를 수행한다.
오디오 패킷 복호화기(73)에서 오디오 패킷을 복호화하는 과정은 비디오 패킷의 복호화 과정과 거의 동일하지만 RTP 패킷에 패킷타이징 되는 방법에 약간의 차이가 있으므로 이것을 처리해주는 과정이 더 필요하다.
도 8은 본 발명의 성능을 테스트 하기 위한 장치의 구성도를 나타낸다. RTP/RTSP 스트림 소스(150)는 브로드캐스팅/라이브 서버로부터 수신된 데이터를 파싱하고, 압축되지 않은 MPEG-4 비디오/오디오 데이터를 출력한다. 비디오/오디오 복호화 필터(151, 153)는 In-Place 필터로 구현된다.
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는 본 발명에 따른 복호화 과정을 거쳐 재생된 화면을 나타낸다.
본 발명에 따른 복호화 과정의 성능을 테스트하기 위하여 비트 레이트가 낮은 것부터 높은 것까지 세 종류의 파일을 사용하였다. 테스트 파일의 특성은 아래의 표 1과 같다. 본 실험에서, 비디어 데이터 처리만을 테스트 하였는데, 오디오 데이터는 비디오 데이터에 비하여 작아 전체 처리시간에 큰 영향을 미치지 않기 때문이다.
표 2-4는 파일 A,B,C에 대한 처리시간을 나타내는 도표이다. 실험 결과를 보면, 복호화 시간이 매우 빨라, 모든 프레임이 암호화되는 경우에도 스트리밍의 성능에 거의 영향을 미치지 않음을 알 수 있다.
파일 A 파일 B 파일 C
Video Track MPEG-4, 320x240,25fps, 210kbps MPEG-4, 90x60,8fps, 4kbps MPEG-4, 320x240,29.97fps, 974kbps
Audio Track MPEG-4 @ L1, 32KHz56kbps MPEG-4 @ L1, 16KHz16kbps MPEG-4 @ L1, 44KHz128kbps
Duration 7405.560sec(~124min) 1718.976sec(~29min) 30.063sec
File Size 240 MB 10 MB 4 MB
Total Video Samples 184,139 13,752 901
I-Frame samples 768 5,481 23
Encrypt All Decrypt All Encrypt I-Fr. Decrypt I-Fr.
Open File 0.3s [0.5%] 0.3s [0.7%] 0.3s [0.7%] 0.3s [1.0%]
Audio Processing 16.8s [30.6%] 7.5s [17.2%] 17.9s [42.8%] 7.4s [25.1%]
Video Processing 31.9s [58.1%] 29.7s [68.3%] 23.3s [55.7%] 21.4s [72.8%]
Video Crypting 5.9s [10.7%] 6.0 s [13.8%] 0.3s [0.7%] 0.3s [1.0%]
Video Crypting(Aver.) 32us 32us 0.39ms 0.39ms
Total 54.9s 43.5s 41.8s 29.4s
Encrypt All Decrypt All Encrypt I-Fr. Decrypt I-Fr.
Open File 0.0s [0.0%] 0.0s [0.0%] 0.0s [0.0%] 0.0s [0.0%]
Audio Processing 1.5s [62.5%] 0.3s [25%] 0.7s [50.0%] 0.3s [30.0%]
Video Processing 0.7s [29.2%] 0.7s [58.3%] 0.6s [42.9%] 0.6s [60.0%]
Video Crypting 0.2s [8.3%] 0.2s [16.7%] 0.1s [7.1%] 0.1s [10.0%]
Video Crypting(Aver.) 14.5us 14.5us 18.2us 18.2us
Total 2.4s 1.2s 1.4s 1.0s
Encrypt All Decrypt All Encrypt I-Fr. Decrypt I-Fr.
Open File 0.0s [0.0%] 0.0s [0.0%] 0.0s [0.0%] 0.0s [0.0%]
Audio Processing 0.23s [30.3%] 0.12s [20.0%] 0.22s [39.3%] 0.10s [24.4%]
Video Processing 0.43s [56.6%] 0.38s [63.3%] 0.32s [57.1%] 0.29s [70.7%]
Video Crypting 0.1s [13.2%] 0.1s [16.7%] 0.02s [3.6%] 0.02s [4.9%]
Video Crypting(Aver.) 0.11ms 0.11ms 0.87ms 0.87ms
Total 0.76s 0.60s 0.56s 0.41s
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플라피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상 도면과 명세서에서 최적 실시예들이 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이, 본 발명에 의하면 암호화된 컨텐츠 파일 또한 MP4 파일 포맷을 준수하여 스트리밍 서버에서 암호화된 파일과 암호화되지 않은 파일이 동일하게 작동하도록 하였으며, 오디오 데이터에 비해 상대적으로 사이즈가 큰 비디오 데이터를 암호화할 때 MPEG-4 압축 방식의 특성을 이용해 데이터의 일부만 암호화할 수 있고 컨텐츠의 전체 재생 시간 중에서 원하는 재생 시간 영역의 데이터만 암호화가 가능하도록 하여 클라이언트에서 복호화 작업으로 인해 스트리밍 서비스의 QoS에 미치는 영향을 최소화 하였다. 암호화된 스트리밍 컨텐츠를 재생할 때 네트워크 디바이스 드라이버 단계에서 복호화가 이루어지므로 전용 뷰어 프로그램뿐만 아니라 범용 뷰어 프로그램에의 사용이 가능하다. 따라서, 본 발명은 MPEG-4 컨텐츠의 안전한 스트리밍 서비스에 이용될 수 있다.
본 발명에 의하면, 컨텐츠를 암호화할 때 암호화 전과 동일한 포맷, 즉 MP4 포맷을 준수하도록 암호화 하므로 스트리밍 서버는 자신이 스트리밍 하고 있는 컨텐츠가 암호화된 패킷인지 아닌지 알 필요가 없으며, 단지 일반 컨텐츠를 스트리밍 할때와 같은 방식으로 스트리밍을 하면 되는 것이다. 따라서, 통상적으로 사용되는 스트리밍 서버를 직접적으로 수정함이 없이 그대로 본 발명에 따른 DRM 시스템에 적용하여 설계할 수 있는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 디지털 컨텐츠를 보호하기 위한 시스템의 구성도를 나타내는 도면이다.
도 2는 도 1에 도시된 MP4 패키저(101)를 상세화한 도면이다.
도 3a-3d는 MP4 파일을 파싱하여 오디오/비디오 샘플의 위치를 알아내는 과정을 도식화 한 것이다.
도 4는 본 발명에 따른 암호화 방법을 설명하는 흐름도이며, 도 5는 MP4 파일에서 키 프레임만 암호화 되었을 때의 변화를 보여준다.
도 6은 MPEG-4 비디오의 암호화된 샘플의 구조를 나타내는 도면이다.
도 7은 도 1에 도시된, 본 발명에 따른 복호화 필터의 상세 구성을 나타내는 블록도이다.
도 8은 본 발명의 성능을 테스트 하기 위한 장치의 구성도를 나타낸다.
도 9a는 암호화로 보호된 MP4 파일을 복호화 과정없이 수행한 결과 보여지는 화면이며, 도 9b는 본 발명에 따른 복호화 과정을 거쳐 재생된 화면을 나타낸다.

Claims (7)

  1. 원본 포맷 파일을 입력받아 암호화하고 메타데이터를 삽입하여 암호화된 포맷 파일을 생성하는 패키저;
    상기 패키저에서 암호화에 사용된 암호화 정보가 담긴 라이센스 정보를 전송하는 라이센스부; 및
    상기 암호화된 포맷 파일에 기초하여 컨텐츠 파일을 암호화하여 스트리밍 암호화 패킷을 전송하는 스트리밍부를 포함하는 것을 특징으로 하는 디지털 컨텐츠 보호 장치.
  2. 제1항에서 있어서,
    상기 암호화된 상태로 전송되는 패킷을 실시간으로 복호화하여 재생하는 사용자 시스템을 더 포함하는 것을 특징으로 하는 디지털 컨텐츠 보호 장치.
  3. 제1항에서 있어서, 상기 패키저는
    원본 포맷 파일을 파싱하여 오디오/비디오 샘플의 위치를 알아내는 파서;
    비디오 샘플 중에서 암호화할 구간에 해당하는 샘플을 추출하는 암호화 영역 검사기;
    암호화 알고리즘을 이용해 상기 추출된 비디오 샘플에 대한 암호화를 수행하는 암호화기;
    오디오/비디오 트랙 또는 메타정보 트랙에 대한 힌트 트랙을 생성하는 힌트 트랙 생성기; 및
    패키징 정보 및 사용자 정의 정보를 담을 수 있는 메타정보 트랙을 생성하는 메타정보 트랙 생성기를 구비하는 것을 특징으로 하는 디지털 컨텐츠 보호 장치.
  4. 제3항에 있어서, 암호화 영역 검사기는
    상기 파서에 의해 비디오 샘플의 옵셋 정보를 알아낸 후 비디오 샘플에서 VOP 시작코드를 확인하여 키 프레임에 해당하는 샘플을 추출하는 것을 특징으로 하는 디지털 컨텐츠 보호 장치.
  5. 암호화된 패킷을 복호화할 수 있는 암호화 정보가 담긴 라이센스 정보를 수신하는 DRM 제어기;
    스트리밍 암호화 패킷을 수신하여 상기 암호화 정보에 따라 복호화하는 복호화 필터; 및
    상기 복호화된 패킷에 의하여 비디오와 오디오 데이터를 재생하는 뷰어를 포함하는 것을 특징으로 하는 디지털 컨텐츠 보호용 사용자 장치.
  6. 제5항에 있어서, 상기 복호화 필터는
    네트워크 포트 정보 및 서비스할 컨텐츠에 대한 SDP 정보를 파싱하는 SDP 파서;
    비디오 패킷에 대한 복호화 처리를 수행하는 비디오 패킷 복호화기;
    오디오 패킷에 대한 복호화를 처리하는 오디오 패킷 복호화기; 및
    상기 DRM 제어기로부터 복호화에 필요한 암호화 정보를 받아 상시 비디오 패킷 및 오디오 패킷의 복호화를 제어하는 제어부를 포함하는 것을 특징으로 하는 디지털 컨텐츠 보호용 사용자 장치.
  7. 원본 포맷 파일을 입력받아 암호화하고 메타데이터를 삽입하여 암호화된 포맷 파일을 생성하는 단계;
    상기 암호화된 포맷 파일에 기초하여 컨텐츠 파일을 암호화하여 스트리밍 암호화 패킷을 전송하며, 상기 암호화에 사용된 암호화 정보가 담긴 라이센스 정보를 전송하는 단계; 및
    상기 라이센스 정보 및 상기 스트리밍 암호화 패킷을 수신하여, 상기 라이센스 정보에 따라 패킷을 복호화하여 비디오와 오디오 데이터를 재생하는 단계를 포함하는 것을 특징으로 하는 디지털 컨텐츠 보호 방법.
KR1020030078124A 2003-11-05 2003-11-05 디지털 컨텐츠 보호 장치 및 방법 KR100596382B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030078124A KR100596382B1 (ko) 2003-11-05 2003-11-05 디지털 컨텐츠 보호 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030078124A KR100596382B1 (ko) 2003-11-05 2003-11-05 디지털 컨텐츠 보호 장치 및 방법

Publications (2)

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

Family

ID=37244047

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030078124A KR100596382B1 (ko) 2003-11-05 2003-11-05 디지털 컨텐츠 보호 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100596382B1 (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100740882B1 (ko) * 2005-12-08 2007-07-19 한국전자통신연구원 엠펙-4 이진 장면 포맷의 서비스 이용 등급 설정을 통한차등적 데이터 서비스 방법
WO2007094588A1 (en) * 2006-02-15 2007-08-23 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 (ko) * 2006-09-27 2008-06-23 한국전자통신연구원 H.264 형식의 동영상 파일의 보호를 위한패키징/언패키징 장치 및 그 방법
US8875310B2 (en) 2009-03-19 2014-10-28 Fasoo.Com Co., Ltd. System and method of protecting digital media contents
US8978154B2 (en) 2006-02-15 2015-03-10 Samsung Electronics Co., Ltd. Method and apparatus for importing content having plurality of parts
CN108337566A (zh) * 2017-01-20 2018-07-27 创盛视联数码科技(北京)有限公司 一种基于mp4格式文件的加密方法
CN109561323A (zh) * 2019-01-02 2019-04-02 武汉珈铭汉象教育科技有限公司 Mp4文件加密、解密方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100811470B1 (ko) * 2005-12-08 2008-03-07 한국전자통신연구원 다수의 동영상으로부터 새로운 동영상 생성 시 인덱스를이용한 drm 시스템 및 방법

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100740882B1 (ko) * 2005-12-08 2007-07-19 한국전자통신연구원 엠펙-4 이진 장면 포맷의 서비스 이용 등급 설정을 통한차등적 데이터 서비스 방법
WO2007094588A1 (en) * 2006-02-15 2007-08-23 Samsung Electronics Co., Ltd. Method and apparatus for importing content having plurality of parts
US8590055B2 (en) 2006-02-15 2013-11-19 Samsung Electronics Co., Ltd. Method and apparatus for importing content having plurality of parts
US8978154B2 (en) 2006-02-15 2015-03-10 Samsung Electronics Co., Ltd. Method and apparatus for importing content having plurality of parts
US9147048B2 (en) 2006-02-15 2015-09-29 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 (ko) * 2006-09-27 2008-06-23 한국전자통신연구원 H.264 형식의 동영상 파일의 보호를 위한패키징/언패키징 장치 및 그 방법
US8875310B2 (en) 2009-03-19 2014-10-28 Fasoo.Com Co., Ltd. System and method of protecting digital media contents
CN108337566A (zh) * 2017-01-20 2018-07-27 创盛视联数码科技(北京)有限公司 一种基于mp4格式文件的加密方法
CN108337566B (zh) * 2017-01-20 2021-06-29 创盛视联数码科技(北京)有限公司 一种基于mp4格式文件的加密方法
CN109561323A (zh) * 2019-01-02 2019-04-02 武汉珈铭汉象教育科技有限公司 Mp4文件加密、解密方法及装置

Also Published As

Publication number Publication date
KR100596382B1 (ko) 2006-07-03

Similar Documents

Publication Publication Date Title
US10320759B2 (en) Streaming system and method
KR101244308B1 (ko) 동영상 파일의 암호화 방법 및 그를 이용한 디지털 저작권관리방법
US7120250B2 (en) Content distribution for multiple digital rights management
KR100930303B1 (ko) 디지털 미디어 콘텐츠 보호 시스템 및 방법
US20120114118A1 (en) Key rotation in live adaptive streaming
KR20150067215A (ko) 비디오 분배 및 플레이백
WO2006089932A1 (en) Media player
CA2511914A1 (en) System for secure decryption of streaming media using selective decryption of header information
KR20130085926A (ko) Hls 기반 보안 처리 시스템 및 그 방법
CN105611318A (zh) 一种视频加密播放方法及系统
KR100596382B1 (ko) 디지털 컨텐츠 보호 장치 및 방법
JP2003198525A (ja) コンテンツの暗号化方法及び暗号化コンテンツの再生方法
KR100635128B1 (ko) 아이에스오 베이스 미디어 파일 형식의 암호화된 동영상파일 생성 장치 및 암호화된 동영상 복원 장치와, 그 복원방법
KR101215617B1 (ko) 동영상 파일의 암호화 방법 및 그를 이용한 디지털 저작권 관리 방법
KR100728242B1 (ko) 스트리밍 서비스되는 동영상 파일의 보호 시스템 및 그의보호 동영상 생성/재생 장치 및 그 방법
KR101041261B1 (ko) 코덱 디알엠을 이용한 디알엠 컨텐츠 제공 시스템, 디알엠컨텐츠의 생성/재생 장치 및 방법, 상기 방법을 수행하기위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
KR100587530B1 (ko) 스트리밍 서비스되는 에이에스에프 파일의 보호장치 및 방법
Park et al. DRM for streamed MPEG-4 media
KR20020081842A (ko) 멀티미디어 스트리밍 서비스의 보안/과금 시스템 및 그방법
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