KR20060064469A - 멀티캐스트 방식으로 스트리밍 서비스되는 동영상 파일의보호 장치 및 그 방법 - Google Patents

멀티캐스트 방식으로 스트리밍 서비스되는 동영상 파일의보호 장치 및 그 방법 Download PDF

Info

Publication number
KR20060064469A
KR20060064469A KR1020050046108A KR20050046108A KR20060064469A KR 20060064469 A KR20060064469 A KR 20060064469A KR 1020050046108 A KR1020050046108 A KR 1020050046108A KR 20050046108 A KR20050046108 A KR 20050046108A KR 20060064469 A KR20060064469 A KR 20060064469A
Authority
KR
South Korea
Prior art keywords
packet
key
transport stream
channel
video
Prior art date
Application number
KR1020050046108A
Other languages
English (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 한국전자통신연구원
Publication of KR20060064469A publication Critical patent/KR20060064469A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/065Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/101Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

멀티캐스트 방식으로 스트리밍 서비스되는 MPEG-2 TS(Transport Stream) 포맷의 동영상 파일의 보호 장치 및 방법이 개시된다. 동영상 파일 보호 장치은, 원본 동영상의 전송 스트림(TS) 패킷을 스트리밍하여 전송하는 스트리밍 서버, 스트리밍 서버로부터 받은 전송 스트림(TS) 패킷의 페이로드를 실시간 암호화하고, 암호화된 전송 스트림(TS) 패킷을 멀티캐스트 채널을 통해 전송하는 DRM(Digital Rights Management) 멀티캐스터; 전송 스트림(TS) 패킷을 암호화 및 복호화하는데 사용되는 암호화키(encryption key)들을 관리하며, 정당한 사용자로부터의 키 발급 요청시 암호화키를 사용자에게 발급하는 키관리 서버, 사용자에게 컨텐츠 정보를 스트리밍 서비스 받기 위해 필요한 정보를 제공하는 웹 서버 및 암호화키를 이용하여 DRM 멀티캐스터로부터 전송된 암호화된 전송 스트림(TS) 패킷의 페이로드를 복호화 하여, 복호화된 동영상 전송 스트림(TS) 패킷을 재생하기 위한 DRM 클라이언트를 포함한다. 특히, 암호화키는 전송 스트림(TS) 패킷을 암호화하는데 사용되는 미디어데이터키, 미디어데이터키를 암호화하는데 사용되는 채널키, 및 채널키를 암호화하는데 사용되는 그룹키를 포함하고, DRM 멀티캐스터는, 전송 스트림(TS) 패킷의 헤더의 플래그 비트에 페이로드가 암호화되었음을 표시한다.

Description

멀티캐스트 방식으로 스트리밍 서비스되는 동영상 파일의 보호 장치 및 그 방법{Apparatus and method for protecting multicast streamed motion picture files}
도 1은 본 발명의 일 측면에 따른 동영상 파일 보호 장치의 일 실시예를 나타내는 블록도이다.
도 2는 도 1에 도시된 동영상 파일 보호 장치에 포함되는 DRM 멀티캐스터를 상세히 도시하는 블록도이다.
도 3은 도 1에 도시된 동영상 파일 보호 장치에 포함되는 키관리 서버를 상세히 도시하는 블록도이다.
도 4는 도 1에 도시된 동영상 파일 보호 장치에 포함되는 DRM 클라이언트를 상세히 도시하는 블록도이다.
도 5는 스트리밍 서비스되는 전송 스트림(TS) 패킷의 구성을 예시하는 도면이다.
도 6은 스트리밍 서비스되는 전송 스트림(TS) 패킷의 헤더부의 구성을 예시하는 도면이다.
도 7은 본 발명에 의하여 처리된 플래그 비트를 포함하는 전송 스트림(TS) 패킷의 헤더부의 구성을 예시하는 도면이다.
도 8은 본 발명의 다른 측면에 따른 동영상 파일 보호 방법을 나타내는 흐름도이다.
도 9는 도 8에 도시된 동영상 파일 보호 방법의 DRM 멀티캐스팅 단계를 나타내는 흐름도이다.
도 10은 도 8에 도시된 동영상 파일 보호 방법의 DRM 서비스 처리 단계를 나타내는 흐름도이다.
본 발명은 스트리밍 서비스되는 동영상 파일의 보호 장치 및 방법에 관한 것으로, 더욱 상세하게는 스트리밍 동영상 파일 형식인 MPEG-2 TS(Motion Picture Experts Group 2 Transport Stream) 형태의 동영상을 멀티캐스트(Multicast) 방식으로 서비스하는 환경에서 동영상의 불법 저장을 통한 컨텐츠의 불법적인 사용 및 유통을 막기 위한 동영상 파일의 보호 장치 및 그 방법에 관한 것이다.
MPEG2는 1994년 ISO 13818로 규격화한 영상압축 기술이다. 이는 디지털 TV 및 DVD(Digital Versatile Disk) 등과 같이 높은 화질과 음질을 필요로 하는 동영상을 위하여 MPEG-1을 개선한 것이다.
MPEG-2 TS는 스트리밍 서비스에 적합하도록 MPEG-2 시스템을 다중화하는 방식이다. MPEG-2 TS는 네트워크상의 오류를 고려하여 188바이트의 비교적 작은 크기의 패킷으로 MPEG-2 데이터를 분할하여 전송한다.
디지털 정보는 제작과 유통이 용이하므로 디지털화된 동영상의 제작이 증가하고 있다. 그러나, 디지털 컨텐츠는 복제, 변형, 유포 등이 용이하고 안전하지 않은 인터넷을 통해 유통되고 있어 보안과 저작권 문제가 중요한 쟁점으로 대두되고 있다. 디지털 저작권 관리(DRM: Digital Rights Management) 기술은 이러한 저작권 보호가 설정된 정보의 보호를 위해 나온 개념이다. 이러한 저작권 문제점은 특히 사용자의 PC(Personal Computer)에 저장되어 재생되는 동영상에서 주로 발생하였으며, 종래에는 사용자의 PC에 저장된 동영상 파일의 보호를 위해 동영상 파일의 전체를 암호화한 후 적법한 사용자에게만 암호화된 동영상 파일을 복호화할 수 있는 정보를 제공하는 방법을 사용하였다.
한편, 스트리밍(Streaming)은 로컬 시스템에 컨텐츠를 저장하지 않고 실시간으로 데이터를 전송하여 재생이 가능하도록 하는 기술이다. 주로, 대용량 동영상 컨텐츠의 경우 다운로드에 많은 시간이 소요되므로, 주문형 비디오(VOD, Video On Demand)와 같은 방식으로 스트리밍을 통하여 서비스를 하는 것이 보편적이다. 통상, 사용자의 PC에 저장되어 재생되는 동영상에 비하여 스트리밍 서비스를 통하여 재생되는 동영상은 사용자의 PC에 저장되지 않도록 함으로써 불법 복제 등의 문제를 해결하였다. 하지만, 근래 스트리밍을 통하여 서비스되는 동영상을 저장할 수 있는 프로그램이 속속 등장하면서 스트리밍을 통하여 서비스되는 동영상에 대한 보호 방안도 필요하게 되었다. 통상적인 스트리밍 동영상의 저작권 보호 방법은 접근제어 위주의 보안대책을 사용하고 있다.
가장 통상적인 유형의 스트리밍 방식은 유니캐스트(unicast) 통신이다. 유니 캐스트 방식에서는 하나의 송신자가 다수의 수신자들에게 데이터를 전송하기 위해서는 각각의 수신자들에게 동일한 데이터를 반복적으로 보내야 하기 때문에 송신자 노드의 자원과 네트워크 대역폭의 낭비를 초래한다. 이러한 문제점을 해결하기 위한 IP 멀티캐스트 기술은 송신자와 수신자 사이에 존재하는 멀티캐스트 라우터들간의 데이터 경로(멀티캐스트 데이터 전달 경로)를 이용하여 중복적인 데이터가 발생하지 않도록 한다. IP(Internet Protocol) 멀티캐스트 메커니즘을 사용하기 위해선 수신자들이 미리 IGMP(Internet Group Management Protocol)를 통하여 특정 그룹에 가입한다. 그러면, 송신자는 각각의 수신자들의 주소가 아닌 그룹 주소로 데이터를 전송한다. 전송된 데이터는 IP 멀티캐스트 라우터들간에 멀티캐스트 라우팅 프로토콜에 의해 구성된 데이터 경로에 따라 그룹에 가입한 모든 수신자들에게 도착할 때까지 복사 후 전달된다. 최종적으로 그룹에 가입한 수신자가 속한 말단 멀티캐스트 라우터(edge multicast router)는 자신의 서브넷에 멀티캐스트 데이터를 브로드캐스팅한다. 이러한 과정을 통해 IP 멀티캐스트 메커니즘은 그룹에 참여하고 있는 수신자들의 수에 상관없이, 송신 노드의 자원과 망 대역을 모두 효율적으로 사용할 수 있다.
멀티캐스트로 전송되는 스트리밍 컨텐츠를 보호하기 위한 일반적인 방안은, 컨텐츠를 암호화 하여 전송하고, 이를 복호화 하는데 필요한 정보를 별도의 서버에서 라이센스라는 형식으로 사용자에게 발급하는 한다. 그러나, 이러한 방식을 사용할 경우에는 컨텐츠를 암호화하는데 이용된 암호화 키가 변경되었을 경우, 많은 수의 사용자가 변경된 복호화 키를 제공받기 위해 라이센스 발급 서버에 한꺼번에 몰리게 되어 서버의 과부하 및 서비스의 지연을 발생하게 한다.
따라서, 멀티캐스트 방식으로 스트리밍 서비스 되는 동영상의 암호화 키의 잦은 변경에도 복호화 키 발급 서버의 과부하나 서비스의 지연이 발생하지 않는 새로운 방안이 절실히 요구된다.
본 발명의 일 목적은, 동영상의 불법 저장으로부터 동영상을 보호하기 위하여, 동영상을 서비스하는 서버 측에서는 암호화 기술을 적용하여 동영상 파일의 일부분(MPEG-2 TS 패킷의 페이로드)을 암호화(보호 동영상 생성)하여 서비스하고, 동영상을 시청하는 클라이언트 측에서는 동영상 재생시에 보호된 동영상을 복호화(보호 동영상 재생)할 수 있는 동영상 파일의 보호 장치을 제공하는 것이다.
또한, 본 발명의 다른 목적은, 동영상 컨텐츠의 암호화키의 잦은 변경에도 서비스의 지연이나 복호화에 필요한 정보를 발급하는 서버의 과부하를 일으키지 않는, 스트리밍 서비스되는 동영상 파일의 보호 방법을 제공하는 것이다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 일면은, 멀티캐스트 방식으로 스트리밍 서비스되는 MPEG-2 TS(Transport Stream) 포맷의 동영상 파일의 보호 장치에 관 한 것으로서, 원본 동영상의 전송 스트림(TS) 패킷을 스트리밍하여 전송하는 스트리밍 서버; 스트리밍 서버로부터 받은 전송 스트림(TS) 패킷의 페이로드를 실시간 암호화하고, 암호화된 전송 스트림(TS) 패킷을 멀티캐스트 채널을 통해 전송하는 DRM(Digital Rights Management) 멀티캐스터; 전송 스트림(TS) 패킷을 암호화 및 복호화하는데 사용되는 암호화키(encryption key)들을 관리하며, 정당한 사용자로부터의 키 발급 요청시 암호화키를 사용자에게 발급하는 키관리 서버; 사용자에게 컨텐츠 정보를 스트리밍 서비스 받기 위해 필요한 정보를 제공하는 웹 서버; 및 암호화키를 이용하여 DRM 멀티캐스터로부터 전송된 암호화된 전송 스트림(TS) 패킷의 페이로드를 복호화하여, 복호화된 동영상 전송 스트림(TS) 패킷을 재생하기 위한 DRM 클라이언트를 포함한다.
특히, 암호화키는 전송 스트림(TS) 패킷을 암호화하는데 사용되는 미디어데이터키, 미디어데이터키를 암호화하는데 사용되는 채널키, 및 채널키를 암호화하는데 사용되는 그룹키 중 하나 이상을 포함한다. 뿐만 아니라, DRM 멀티캐스터는, 전송 스트림(TS) 패킷의 헤더의 플래그 비트에 페이로드가 암호화되었음을 표시하는 한다. 바람직하게는, 플래그 비트는 전송 스트림(TS) 패킷의 스크램블링 제어(scrambling control) 비트인 것이 바람직하다.
본 발명의 일면에 의한 동영상 파일 보호 장치에 포함되는 DRM 멀티캐스터는, 스트리밍 서버로부터 전송된 전송 스트림(TS) 패킷을 수신하는 패킷 수신 블록; 미디어데이터키를 발생하여 전송 스트림(TS) 패킷의 페이로드를 암호화하고, 미디어데이터키를 키관리 서버로부터 전송받은 채널키로 암호화하여,암호화된 미디 어 패킷 및 암호화된 키 패킷을 삽입하여 보호된 전송 스트림(TS) 패킷을 생성하는 실시간 암호화부; 암호화된 전송 스트림(TS) 패킷을 사용자가 속한 그룹으로 멀티캐스팅 하는 패킷 송신부; 및 키관리 서버로부터 채널키 및 그룹키를 수신하고, 주기적으로 채널키 및 그룹키를 관리하는 키정보 관리부를 포함한다.
본 발명의 일면에 의한 동영상 파일 보호 장치에 포함되는 키관리 서버는, 채널키 및 그룹키의 변경 주기를 결정하는 키주기 블록; 변경 주기마다 채널키와 그룹키를 생성 및 변경하고, DRM 멀티캐스터에 변경된 채널키 및 그룹키를 전송하는 키발생 블록; 채널키와 그룹키를 요청하는 DRM 클라이언트에 사용 권한이 부여되었는지를 확인하여 권한이 부여된 경우에 한하여 해당 세션에 관련된 그룹키를 안전하게 전달하는 키발급 블록; 및 키발생 블록에서 발생된 키들을 저장하는 키 데이터베이스 블록을 포함한다.
또한, 본 발명의 일면에 의한 동영상 파일 보호 장치에 포함되는 DRM 클라이언트는, 웹 서버로부터 가입자가 선택한 채널의 채널 아이디, 멀티캐스트 주소, 및 키관리 서버 주소를 수신하고, 채널 아이디 및 키관리 서버 주소는 키처리부로 전송하고, 멀티캐스트 주소를 이용해 가입 요청을 하는 DRM 정보 처리부; 멀티캐스트로 스트리밍된 전송 스트림(TS) 패킷의 암호화에 이용된 채널키 버전이 사용자 환경에 저장된 채널키 버전과 일치하는지 비교하고, 버전 정보가 일치하면 저장된 채널키를 복호화 블록에 전달하고, 버전 정보가 일치하지 않거나 저장된 채널키가 없으면 키관리 서버 주소를 이용해 키관리 서버에 접속하여 채널키를 요청하는 키처리부; 수신된 전송 스트림(TS) 패킷에서 암호화키를 추출하고, 키처리부로부터 수 신한 그룹키를 이용하여 채널키를 복호화하고, 복호화된 채널키를 이용하여 미디어데이터키를 복호화하며, 복호화된 미디어데이터키를 이용하여 전송 스트림(TS) 패킷을 복호화하여 그 결과를 디코더로 전달하는 복호화부; 및 복호화된 동영상 전송 스트림(TS) 패킷을 디코딩하여 디스플레이하는 디코더를 포함한다.
상기와 같은 목적을 달성하기 위한 본 발명의 다른 면은, 멀티캐스트 방식으로 스트리밍 서비스되는 MPEG-2 TS(Transport Stream) 포맷의 동영상 파일의 보호 방법에 관한 것으로서, 원본 동영상의 전송 스트림(TS) 패킷을 스트리밍하는 단계; 스트리밍된 전송 스트림(TS) 패킷의 페이로드를 실시간 암호화하고, 암호화된 전송 스트림(TS) 패킷을 멀티캐스트 채널을 통해 전송하는 DRM 멀티캐스팅 단계; 전송 스트림(TS) 패킷을 암호화 및 복호화하는데 사용되는 암호화키(encryption key)를, 정당한 사용자로부터의 키 발급 요청시 사용자에게 발급하는 키관리 단계; 및 암호화키를 이용하여 DRM 멀티캐스터로부터 전송된 암호화된 전송 스트림(TS) 패킷의 페이로드를 복호화하여, 복호화된 동영상 전송 스트림(TS) 패킷을 재생하기 위한 DRM 서비스 처리 단계를 포함한다.
본 발명의 다른 면에 의한 동영상 파일 보호 방법에 포함되는 DRM 멀티캐스팅 단계는, 스트리밍 서버로부터 전송된 전송 스트림(TS) 패킷을 수신하는 패킷 수신 단계; 미디어데이터키를 이용하여 전송 스트림(TS) 패킷의 페이로드를 암호화하고, 미디어데이터키를 키관리 서버로부터 전송받은 채널키로 암호화하여 암호화된 전송 스트림(TS) 패킷을 생성하는 실시간 암호화 단계; 암호화된 전송 스트림(TS) 패킷을 사용자가 속한 그룹으로 멀티캐스팅 하는 패킷 송신 단계; 및 키관리 서버 로부터 채널키 및 그룹키를 수신하고, 주기적으로 채널키 및 그룹키를 관리하는 키정보 관리 단계를 더 포함한다.
특히, 실시간 암호화 단계는, 채널키를 그룹키를 이용하여 암호화하는 단계; 임시 버퍼로부터 독출된 전송 스트림(TS) 패킷의 프로그램 관련 테이블(Program Association Table, PAT) 및 프로그램 맵 테이블(Program Map Table, PMT)을 분석하여 오디오 패킷 아이디(Audio Packet IDentification, APID) 및 비디오 패킷 아이디(Video Packet IDentification, VPID)를 추출하는 제1 패킷 아이디(PID) 추출 단계; DRM 기술자(DRM descriptor)를 프로그램 맵 테이블의 기술자 영역에 추가하고, 변경된 패킷을 송신 버퍼에 기록하는 단계; 암호화키를 포함하는 키 패킷을 생성한 후 키 패킷을 송신 버퍼에 기록하는 단계; 수신된 전송 스트림(TS) 패킷의 패킷 아이디(Packet IDentification, PID)가 비디오 패킷 아이디(VPID) 및 오디오 패킷 아이디(APID)와 일치하면 전송 스트림(TS) 패킷의 페이로드를 암호화하는 단계; 및 암호화된 전송 스트림(TS) 패킷의 플래그 비트에 암호화되었음을 기록하는 단계를 더 포함한다.
뿐만 아니라, 실시간 암호화 단계는, 미디어데이터키를 주기적으로 갱신하는 단계; 채널키로 미디어데이터키를 암호화하고, 채널키를 그룹키로 암호화하여 키 패킷을 생성하는 단계; 및 키 패킷을 암호화된 전송 스트림(TS) 패킷에 삽입하는 단계를 더 포함한다.
본 발명의 다른 면에 의한 동영상 파일 보호 방법에 포함되는 키관리 단계는, 채널키 및 그룹키의 변경 주기를 결정하는 키주기 결정 단계; 변경 주기마다 채널키와 그룹키를 변경하고, DRM 멀티캐스터에 변경된 채널키 및 그룹키를 전송하는 키발생 단계; 채널키와 그룹키를 요청하는 DRM 클라이언트에 사용 권한이 부여되었는지를 확인하여 권한이 부여된 경우에 한하여 해당 세션에 관련된 그룹키를 안전하게 전달하는 키발급 단계; 및 키발급 단계에서 발생된 키들을 저장하는 단계를 포함한다.
또한, 본 발명의 다른 면에 의한 동영상 파일 보호 방법에 포함되는 DRM 서비스 처리 단계는, 웹 서버로부터 가입자가 선택한 채널의 채널 아이디, 멀티캐스트 주소, 및 키관리 서버 주소를 수신하고, 채널 아이디 및 키관리 서버 주소는 키처리 블록으로 전송하고, 멀티캐스트 주소를 이용해 가입 요청을 하는 DRM 정보 처리 단계; 멀티캐스트로 스트리밍된 전송 스트림(TS) 패킷의 암호화에 이용된 채널키 버전이 사용자 환경에 저장된 채널키 버전과 일치하는지 비교하고, 버전 정보가 일치하면 저장된 채널키를 복호화 블록에 전달하고, 버전 정보가 일치하지 않거나 저장된 채널키가 없으면 키관리 서버 주소를 이용해 키관리 서버에 접속하여 채널키를 요청하는 키처리 단계; 수신된 전송 스트림(TS) 패킷에서 암호화키를 추출하고, 키처리 블록으로부터 수신한 그룹키를 이용하여 채널키를 복호화하고, 복호화된 채널키를 이용하여 미디어데이터키를 복호화하며, 복호화된 미디어데이터키를 이용하여 전송 스트림(TS) 패킷을 복호화하여 그 결과를 디코더로 전달하는 복호화 단계; 및 복호화된 동영상 전송 스트림(TS) 패킷을 디코딩하여 디스플레이하는 단계를 포함한다.
특히, 복호화 단계는, 수신 버퍼로부터 독출된 전송 스트림(TS) 패킷의 프로 그램 관련 테이블(PAT) 및 프로그램 맵 테이블(PMT)을 분석하여 오디오 패킷 아이디(APID) 및 비디오 패킷 아이디(VPID)를 추출하는 제2 패킷 아이디(PID) 추출 단계; 프로그램 맵 테이블(PMT)의 기술자 영역으로부터 DRM 기술자를 독출하여 키 패킷을 추출하는 단계; 독출된 키 패킷으로부터 그룹키를 이용해 채널키를 복호화하는 단계; 수신된 전송 스트림(TS) 패킷의 패킷 아이디(PID)가 오디오 패킷 아이디(APID) 및 비디오 패킷 아이디(VPID)와 일치하면 플래그 비트를 확인하여 페이로드가 암호화되었는지 확인하는 단계; 및 채널키를 이용하여 복호화된 미디어데이터키를 이용하여 암호화된 전송 스트림(TS) 패킷의 페이로드를 복호화하는 단계를 포함한다. 바람직하게는, 제2 패킷 아이디(PID) 추출 단계는, 수신된 전송 스트림(TS) 패킷의 패킷 아이디(PID)를 분석하여 프로그램 관련 테이블(PAT) 이전의 패킷들은 디코더로 바이패스하는 단계; 프로그램 관련 테이블(PAT)을 분석하여 프로그램 맵 테이블(PMT)의 패킷 아이디(PID)를 추출하는 단계; 프로그램 맵 테이블(PMT) 이전의 패킷들을 디코더로 바이패스하는 단계; 및 프로그램 맵 테이블(PMT)을 해석하여 오디오 패킷 아이디(APID) 및 비디오 패킷 아이디(VPID)를 추출하는 단계를 포함한다.
동영상 파일을 보호하기 위하여 전체 미디어 데이터를 암호화할 경우, 클라이언트 측에서 해당 동영상을 재생시 복호화 과정에 의한 성능 저하가 발생할 수 있다. 이를 해결하기 위하여, 본 발명은 컨텐츠 보호를 위하여 MPEG-2 TS 파일 형식을 변형하지 않고 MPEG-2 TS 패킷의 페이로드만을 암호화한다. 즉, 본 발명은 미디어 데이터 일부를 선택적으로 암호화하고 미디어 데이터의 암호화 여부를 나타 내는 정보를 MPEG-2 TS 패킷의 헤더부에 삽입함으로써, 동영상 재생 장치에서 복호화할 미디어 데이터를 선별할 수 있도록 한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 측면에 따른 동영상 파일 보호 장치의 일실시예를 나타내는 블록도이다. 도 1에 도시된 동영상 파일 보호 장치은, 스트리밍 서버(110), 웹서버(120), DRM 멀티캐스터(150), 키관리 서버(160), 및 DRM 클라이언트(170)를 포함한다.
스트리밍 서버(110)는 원본 동영상의 전송 스트림(TS, Transport Stream) 패킷을 스트리밍을 통하여 전송한다. DRM 멀티캐스터(150)는 스트리밍 서버(110)로부터 수신한 전송 스트림(TS) 패킷의 페이로드를 실시간 암호화하여 보호된 전송 스트림(TS) 패킷을 생성하고, 이를 멀티캐스트 채널을 통해 전송한다. 키관리 서버(160)는 사용자가 보호된 동영상을 복호화하여 시청하는데 필요한 채널키 및 그룹키를 관리하며, 정당한 사용자로부터의 키 발급 요청시 암호화된 미디어 데이터를 복호화하기 위한 키들을 해당 사용자에게 발급한다. 웹서버(120)는 사용자에게 컨텐츠 정보를 보여주고, 사용자가 원하는 컨텐츠를 스트리밍 서비스 받기 위해 선택할 수 있는 인터페이스를 제공한다. DRM 클라이언트(170)는 발급받은 키 정보를 이용하여 상기 DRM 멀티캐스터로부터 전송된 보호된 형태의 동영상 전송 스트림(TS) 패킷의 페이로드를 복호화하여, 복호화된 동영상 TS 패킷을 재생한다.
도 1에 도시된 바와 같이, 본 발명에 의한 동영상 파일 보호 장치은 스트리밍 서버(110) 및 스트리밍 클라이언트 사이에 DRM 멀티캐스터(150)를 포함함으로써, 서비스 되는 동영상 파일의 암호화를 하고 멀티캐스트 그룹으로 재전송한다. 스트리밍 서버(110)는 스트리밍 데이터를 실제 사용자 그룹의 IP 주소 대신 DRM 멀티캐스터의 내부 그룹 IP 주소로 전송한다. DRM 멀티캐스터(150)는 이 스트림을 수신하여 동영상 전송 스트림 패킷을 암호화하고 다시 실제 사용자 그룹의 멀티캐스트 주소로 전송한다.
사용자는 웹 브라우저(180)를 이용하여 웹서버(120)에 접속한다. 웹서버(120)는 사용자에게 서비스 가능한 콘텐츠 정보를 제공하므로, 사용자는 자신이 원하는 서비스를 선택할 수 있다.
또한, 동영상 파일을 보호하기 위하여 미디어 데이터를 암호화하는데 사용된 미디어데이터키는 미리 설정된 주기에 따라 변경되는 것이 바람직하다. 변경된 미디어데이터키는 해당 채널 및 그 채널에 속한 모든 사용자의 DRM 클라이언트 장치에 안전하게 전송된다. 이를 위해 키관리 서버(160)는 채널키 및 그룹키와 같은 암호화 키들을 계층화하여 관리한다. 채널키는 각각의 방송 채널에 주어진 키로 미디어데이터키의 암호화하는데 사용된다. 그룹키는 채널키를 암호화하는데 사용 된다. 채널키 및 그룹키는 멀티캐스트 스트리밍 채널을 통해 DRM 클라이언트(170)로 전달된다.
하나의 그룹은 보통 여러 개의 채널로 구성되며, 각각의 그룹에 대해 주어진 키를 그룹키라 칭한다. 따라서 그룹키는 해당 그룹, 즉 그 그룹에 포함되어 있는 채널들의 집합에 대한 접근 권한이 된다. 그룹키는 사용자 단말의 비밀키로 암호화되어 별도의 유니캐스트 키 전송 채널을 통해 사용자(190)에게 전달된다. 수신된 그룹키는 사용자의 비밀키를 이용하여 복호화 된다. 암호화된 프로그램을 시청하기 위해서는 복호화 과정을 거쳐야 한다. 따라서, 사용자 단말기에서는 먼저 그룹키를 가지고 채널키를 복호화하고, 채널키를 가지고 다시 미디어데이터키를 복호화한다. 그러면, 복호화된 미디어데이터키를 이용하여 암호화된 전송 스트림(TS) 패킷을 복호화한다. 이러한 키관리 과정은 방송 서비스 환경과 같은 대규모 사용자 환경에서 키를 주기적으로 변경함으로써 발생하는 오버헤드를 줄이고 보다 더 안전한 키 보호 환경을 구축하는 장점을 갖는다.
도 2는 도 1에 도시된 동영상 파일 보호 장치에 포함되는 DRM 멀티캐스터를 상세히 도시하는 블록도이다.
도 2에 도시된 DRM 멀티캐스터(150)는 패킷 수신 블록(210), 실시간 암호화 블록(250), 키정보 관리 블록(270), 및 패킷 송신 블록(290)을 포함한다.
패킷 수신 블록(210)은 스트리밍 서버(110)로부터 내부 그룹 IP 주소로 전송되어 온 멀티캐스트 패킷을 수신한다. 그러면, 실시간 암호화 블록(250)은 수신된 전송 스트림(TS) 패킷을 암호화한다. 실시간 암호화 블록(250)은 수신된 전송 스 트림(TS) 패킷을 암호화하기 위하여 필요한 미디어데이터키를 발생시키고, 발생된 미디어데이터키를 이용하여 실제 MPEG-2 TS 패킷의 페이로드를 암호화한다. 또한, 실시간 암호화 블록(250)은 미디어데이터키를 키관리 서버(160)로부터 전송받은 채널키를 이용하여 암호화하고, 암호화된 미디어 패킷 및 암호화된 키 패킷을 포함하는 보호된 전송 스트림(TS) 패킷을 생성한다. 패킷 송신 블록(290)은 보호된 전송 스트림(TS) 패킷을 가입자의 해당 그룹 IP 주소로 멀티캐스팅한다. 키정보 관리 블록(270)은, 키관리 서버(160)로부터 실시간 암호화 블록(250)에서 사용되는 채널키/그룹키 정보를 받아 관리하고 미디어 암호화키 변경 주기를 입력받는 인터페이스를 제공한다. 키정보 관리 블록(270)은 키관리 서버(160)와 통신하여 해당 채널에 관련된 그룹키 및 채널키 및 버전 정보를 수신할 수 있는 통신 메커니즘을 제공한다.
도 2에 도시된 DRM 멀티캐스터(150)의 실시간 암호화 블록(250)에 의한 암호화 단위는 전송 스트림(TS) 패킷 단위이다. 전송 스트림(TS)에 삽입되는 키 패킷이나 업데이트 메시지 패킷은 패킷 아이디(PID)를 가지는 독립된 TS 패킷으로 삽입될 수도 있고 널 (Null) 패킷에 임의의 형식을 정의해서 삽입될 수도 있다. 본 발명은 이렇게 부가적으로 삽입되는 패킷의 형식이나 방법에 특정한 방법에 의존하지 않는다.
뿐만 아니라, 미디어데이터키의 삽입주기도 PSI(Program Specific Information) 정보가 나올 때마다, 또는 프레임 이 나올 때마다, 또는 정해진 시간 간격(예. 100ms or 200ms) 등 다양한 방법 또는 이들의 조합으로 결정될 수 있으 며 본 발명은 특정한 주기 결정 방법에 의존하지 않는다. 미디어데이터키의 변경 방법도 다양한 방법 또는 이들의 조합으로 결정될 수 있으며 본 발명은 특정한 방법에 의존하지 않는다.
DRM 멀티캐스터(150)의 실시간 암호화 블록(250)은 수신 버퍼에서 전송 스트림(TS) 패킷을 독출하여 암호화 한 후 송신 버퍼에 암호화된 전송 스트림(TS) 패킷을 기록한다. 실시간 암호화 블록(250)에 의한 암호화 과정은 다음과 같다.
(1) 키관리 서버(160)로부터 채널키와 그룹키를 수신하여 채널키를 그룹키를 이용하여 암호화한다.
(2) 임시 버퍼에서 전송 스트림(TS) 패킷을 순서대로 독출한다. 이때, 패킷 아이디(PID)가 '0'인 프로그램 관련 테이블(PAT) 정보를 담은 전송 스트림(TS) 패킷 이전의 패킷들은 패킷 송신 블록(290)으로 바이패스한다.
(3) 프로그램 관련 테이블(PAT)이 독출되면, 독출된 프로그램 관련 테이블(PAT)을 분석하여 프로그램 맵 테이블(PMT)의 패킷 아이디(PID)를 추출하고, 이 패킷을 송신 버퍼에 기록한다.
(4) 프로그램 맵 테이블(PMT)의 패킷 아이디(PID)를 가지는 전송 스트림(TS) 패킷이 나올 때까지 버퍼에서 전송 스트림(TS) 패킷을 독출한다. 프로그램 맵 테이블(PMT) 이전에 독출된 패킷들은 패킷 송신 블록(290)으로 바이패스한다.
(5) 프로그램 맵 테이블(PMT)이 독출되면, 독출된 프로그램 맵 테이블(PMT)을 해석하여 오디오 패킷 아이디(APID, Audio PID) 및 비디오 패킷 아이디(VPID, Video PID)를 추출한다.
(6) DRM 기술자(descriptor)를 프로그램 맵 테이블(PMT)의 기술자 영역에 추가한 후 이 패킷을 송신 버퍼에 기록하여 프로그램 맵 테이블(PMT)을 변경한다.
(7) 키 정보를 담은 키 패킷을 생성한 후 이 패킷을 송신 버퍼에 기록하여 키 패킷을 전송 스트림(TS) 패킷에 삽입한다.
(8) 수신 버퍼에서 패킷을 읽어서 독출된 패킷의 패킷 아이디(PID)가 비디오 패킷 아이디(VPID) 및 오디오 패킷 아이디(APID)와 일치하면 암호화를 수행하고 일치하지 않으면 송신 버퍼로 독출된 패킷을 바이패스한다.
(8-1) 전송 스트림(TS) 패킷 헤더 이후의 페이로드를 암호화하여 보호된 전송 스트림(TS) 패킷을 생성한다.
(8-2) 보호된 전송 스트림(TS) 패킷의 스크램블링 제어 비트를 '11'로 설정한다.
(9) 독출된 패킷의 패킷 아이디(PID)가 '0'인 프로그램 관련 테이블(PAT)인 경우 다시 (2) ~ (8)까지의 과정을 반복한다.
여기서, 실시간 암호화 블록(250)이 스크램블링 제어 비트를 '11'로 설정하는 이유는, 전송 스트림(TS) 패킷의 페이로드가 암호화되었음을 표시하기 위한 것이다. 따라서, 사용자는 수신된 전송 스트림(TS) 패킷이 암호화되지 않았을 경우와 암호화되었을 경우를 구별할 수 있다. 스크램블링 제어 비트를 이용하여, 본 발명에 의한 동영상 파일 보호 장치은 페이로드를 암호화하지 않은 전송 스트림(TS) 패킷도 재생할 수 있는 호환성을 가진다.
실시간 암호화 블록(250)은 스크램블링 제어 비트에 페이로드의 암호화 여부 를 표시하는 것으로 예시되나 본 발명은 이에 한정되는 것이 아니다. 오히려, 전송 스트림(TS) 패킷 헤더부의 임의의 영역을 이용하여 암호화 여부를 표시할 수 있는 것은 명백하다.
도 3은 도 1에 도시된 동영상 파일 보호 장치에 포함되는 키관리 서버를 상세히 도시하는 블록도이다.
도 3에 도시된 키관리 서버(160)는 키발생 블록(310), 키주기 블록(330), 키발급 블록(350) 및 키 데이터베이스 블록(390)을 포함한다. 키발생 블록(310)은 키주기 블록에 의하여 결정된 변경 주기에 따라 채널키와 그룹키를 생성한다. 또한, 키발생 블록(310)은 DRM 멀티캐스터(150)에게 키 변경 요청을 하고 변경된 정보를 전송한다. 키주기 블록(330)은 채널키와 그룹키의 변경 주기를 결정한다. 키발급 블록(350)은 채널키와 그룹키를 요청하는 사용자의 DRM 클라이언트(170) 장치에 사용 권한이 부여되었는지를 확인하고, 권한이 부여된 경우에 한하여 해당 세션에 관련된 그룹키를 안전하게 전달한다. 키 데이터베이스 블록(390)은 키발생 블록(310)에서 생성된 키들을 저장한다.
채널키의 삽입 주기는 채널키가 변경되기 이전에 이루어지면 되므로 역시 다양한 방법 또는 이들의 조합으로 결정될 수 있으며 본 발명은 특정한 주기 결정 방법에 의존하지 않는다. 채널키 및 그룹키의 변경 방법도 다양한 방법 또는 이들의 조합으로 결정될 수 있으며 본 발명은 특정한 방법에 의존하지 않는다.
미디어데이터키, 채널키 및 그룹키가 변경되면 변경된 키들을 DRM 멀티캐스터(150) 및 DRM 클라이언트(170)에서 동기화(synchronization)하여야 한다. 이 문 제를 해결하기 위해서는 키를 사용하는 DRM 멀티캐스터(150) 장치 및 DRM 클라이언트(170) 장치에서 키별로 버전 관리를 하는 것이 바람직하다. 본 발명에서는 한 쌍의 키, 즉 현재의 키(Current Key)와 다음에 사용할 키(Next Key)를 관리한다. 키 업데이트가 이루어지면 새로 발생된 키는 다음에 사용할 키에 저장되고, 이 새로운 키 패킷은 다음에 사용할 키가 사용되기 이전의 시점에 멀티캐스트 스트리밍 채널에 삽입되어 전달된다. 채널키 및 그룹키 변경으로 인한 키의 동기화는 상기 예시한 방법 외에도 다양한 방법 또는 이들의 조합으로 결정될 수 있으며 본 발명은 특정한 방법에 의존하지 않는다.
도 4는 도 1에 도시된 동영상 파일 보호 장치에 포함되는 DRM 클라이언트를 상세히 도시하는 블록도이다.
도 4에 도시된 DRM 클라이언트(170) 장치는, 키처리 블록(430), DRM 정보 처리 블록(450), 디코더(470), 및 복호화 블록(490)을 포함한다. DRM 정보 처리 블록(450)은 웹서버(120)로부터 가입자가 선택한 채널에 대한 정보인 채널 아이디, 멀티캐스트 주소, 및 키관리 서버 주소를 수신한다. DRM 정보 처리 블록(450)은 채널 아이디, 키관리 서버 주소를 키처리 블록(430)으로 전송하고 멀티캐스트 주소를 이용해 가입 요청을 수행한다.
키처리 블록(430)은 멀티캐스트로 전송된 스트리밍 패킷으로부터 현재 암호화에 이용중인 채널키 버전을 확인하고, 현재 이용중인 채널키 버전이 사용자 환경에 저장된 채널키 버전과 일치하는지 체크한다. 그 결과, 버전 정보가 일치하면 메모리 또는 하드디스크 등 별도의 장치에 저장된 채널키를 복호화 블록(490)으로 전달한다. 만일, 버전 정보가 일치하지 않거나 메모리에 저장된 채널키가 없으면 복호화 블록(490)은 키관리 서버 주소를 이용해 키관리 서버(160)에 접속하여 채널키를 요청한다. 복호화 블록(490)은 스트리밍 서버(110)로부터 스트리밍 패킷을 수신하고, 키 패킷을 추출한다. 그러면, 복호화 블록(490)은 키처리 블록(430)으로부터 수신한 그룹키를 이용하여 채널키가 없거나 복호화가 안된 경우에는 먼저 채널키를 복호화하고, 복호화된 채널키를 가지고 미디어데이터키를 복호화한다. 미디어데이터키가 복호화되면, 복호화 블록(490)은 최종적으로 미디어 자체를 복호화하여 그 결과를 디코더(470)로 디코더로 전달한다. 디코더(470)는 복호화된 동영상 전송 스트림(MPEG-2 TS) 패킷을 디코딩하여 화면상에 동영상을 디스플레이 한다.
DRM 정보 처리 블록(450)은 웹서버(120)로부터 가입자(사용자)가 선택한 채널에 대한 정보를 수신한다. DRM 정보 처리 블록(450)이 수신하는 정보에는 채널 아이디, 멀티캐스트 주소, 키관리 서버 IP 주소 및 포트(Port) 번호가 포함될 수 있다. 키처리 블록(430)은 키관리 서버(160)에 그룹키 또는 그룹키와 모든 채널키를 요청하여 수신할 수 있다. 이 방법은 채널키 요청 및 수신 방법과 동일하다.
복호화 블록(490)에서 채널키 및 미디어데이터키를 복호화하는 방법은 사용자 장치의 공개키 기반 인증서(certificate) 또는 비밀키 방식의 대칭키(symmetric key) 등을 이용할 수 있으며 본 발명은 특정 암호 방법에 의존하지 않는다. 복호화 블록(490)은 미디어데이터키를 가지고 최종적으로 미디어 자체를 복호화하여 그 결과를 디코더(470)로 전달한다.
복호화 블록(490)에 의한 복호화 과정은 다음과 같다.
(1) 수신 버퍼에서 패킷 아이디(PID)가 '0'인 전송 스트림(TS) 패킷이 나올 때까지 전송 스트림(TS) 패킷을 읽는다. 그리하여, 프로그램 관련 테이블(PAT) 이전에 독출된 패킷은 디코더(470)로 바이패스한다.
(2) 패킷 아이디(PID)가 '0'인 패킷이 독출되면, 프로그램 관련 테이블(PAT)을 해석하여 프로그램 맵 테이블(PMT) 패킷의 패킷 아이디(PID)를 추출한다.
(3) 프로그램 맵 테이블(PMT)의 패킷 아이디(PID)와 일치하는 패킷이 나올 때까지 수신 버퍼에서 전송 스트림(TS) 패킷을 독출한다. 프로그램 맵 테이블(PMT) 이전에 독출된 패킷은 디코더(470)로 바이패스된다.
(4) 프로그램 맵 테이블(PMT)의 패킷 아이디(PID)에 해당하는 패킷이 수신되면 프로그램 맵 테이블(PMT)을 해석하여 오디오 패킷 아이디(APID) 및 비디오 패킷 아이디(VPID)를 추출한다. 또한, 패킷 헤더의 기술자 영역으로부터 DRM 기술자를 독출하고 해석함으로써, 채널키 정보를 담고 있는 키 패킷의 패킷 아이디(PID)를 추출한다.
(5) 키 패킷의 패킷 아이디(PID)를 가지는 패킷 이전에 수신된 패킷은 디코더(470)로 바이패스한다.
(6) 키 패킷의 패킷 아이디(PID)를 가지는 패킷이 수신되면 그룹키 처리 블록키관리 서버(160)로부터 수신된 그룹키를 이용해 채널키를 복호화함으로써 채널키를 추출한다. 채널키는 메모리 상에서만 존재하고 복호화 블록에서만 액세스 가능하다.
(7) 수신 버퍼에서 패킷을 읽어서 오디오 패킷 아이디(APID) 및 비디오 패킷 아이디(VPID)와 패킷 아이디(PID)가 일치하면 채널키를 이용하여 복호화를 수행하고 일치하지 않으면 디코더로 바이패스한다.
(7-1) 스크램블링 제어 비트를 확인하여 이 값이 '11'이면 복호화를 수행한 후 디코더로 전달한다.
(7-2) 스크램블링 제어 비트가 '11'이 아니면 복호화를 수행하지 않고 디코더(470)로 바이패스한다.
(8) 패킷 아이디(PID)가 '0'인 패킷이면 (2) ~ (7)를 반복한다.
스크램블링 제어 비트는, 전송 스트림(TS) 패킷의 페이로드가 암호화되었는지 여부를 표시하기 위하여 사용된다는 것은 전술된 바와 같다.
도 5는 스트리밍 서비스되는 전송 스트림(TS) 패킷의 구성을 예시하는 도면이다.
MPEG-2 인코더에 의해 각각 인코딩된 MPEG-2 비디오 비트열과 MPEG-2 오디오 비트열을 하나로 묶어 전송하거나 저장하기 위한 규격이 MPEG-2 시스템이다.
전송 스트림(TS) 패킷의 엘리멘터리 스트림(elementary stream)은 PES(Packetized Elementary Stream) 패킷으로 세분화되고, 각 PES 패킷은 TS 패킷으로 세분화된다. 엘리멘터리 스트림은 MPEG-2 인코더에 의하여 인코딩된 동영상 데이터를 나타내며, 압축된 오디오 데이터, 비디오 데이터, 또는 PSI(Program Specific Information) 데이터를 포함한다.
MPEG-2 시스템은 시분할 다중 방식에서 쓰이고 있는 패킷 다중화 방식을 사 용한다. 이때, 비디오와 오디오 비트열 각각을 PES(Packetized Elementary Stream) 패킷이라 불리는 적당한 길이의 비트열로 분할한다.
PES 패킷은 다양한 응용에 대응하도록 길이의 상한을 64kb까지로 하고 있고, 각 패킷마다 고정길이나 가변길이 어느 것이라도 취할 수 있도록 하고 있다. 각각의 PES 데이터를 하나의 비트열로 다중화하여 전송 스트림(TS) 패킷을 생성한다. 전송 스트림(TS) 패킷은 ATM(Asynchronous Transfer Mode)과의 접속성을 고려하여 188바이트의 비교적 짧은 고정길이를 가지고 있다.
도 6은 스트리밍 서비스되는 전송 스트림(TS) 패킷의 헤더부의 구성을 예시하는 도면이다.
도 6에 도시된 바와 같이, 전송 스트림(TS) 패킷의 헤더부는 8비트의 동기화 바이트(synchronization byte), 1비트의 송신 에러 인디케이터(transport error indicator), 1비트의 페이로드 유닛 시작 인디케이터(payload unit start indicator), 1비트의 송신 우선 순위(transport priority), 13비트의 패킷 아이디(PID), 2비트의 스크램블링 제어 비트(scrambling control bit), 2비트의 정합 필드 콘트롤(adaptation field control), 4비트의 연속성 카운터(continuity counter), 및 정합 필드(adaptation field)를 포함한다.
도시된 바와 같이, MPEG-2 전송 스트림(TS) 패킷 헤더에는 스크램블링 제어 값을 위한 2비트의 공간이 있다. 전술된 바와 같이, 본 발명에서는 이 공간을 암호화 여부를 표시하기 위한 것으로 사용한다. 즉, 스크램블링 제어 비트 값이 "11"이면 해당 MPEG-2 전송 스트림(TS) 패킷은 암호화된 페이로드를 가질 수 있다.
도 7은 본 발명에 의하여 처리된 플래그 비트를 포함하는 전송 스트림(TS) 패킷의 헤더부의 구성을 예시하는 도면이다.
도 7에 도시된 바와 같이, 본 발명에 의하여 전송되는 전송 스트림(TS) 패킷의 헤더에는 전송 스트림(TS) 패킷의 페이로드가 암호화되었는지 여부를 확인하는 플래그 비트가 존재한다. 플래그 비트가 '00'으로 설정되면 페이로드가 암호화되지 않았음을 나타내는 것으로 약속될 수 있다. 이러한 약속에 따를 경우, 첫 번째 및 네 번째 패킷은 페이로드가 암호화되지 않았으며, 두 번째 및 세 번째 패킷의 페이로드는 암호화되었음을 알 수 있다.
도 8은 본 발명의 다른 측면에 따른 동영상 파일 보호 방법을 나타내는 흐름도이다.
우선, 본 발명의 다른 측면에 따른 동영상 파일 보호 방법에서는 원본 동영상의 전송 스트림(TS) 패킷을 스트리밍한다(S810). 스트리밍된 원본 동영상은 DRM 멀티캐스터에 의하여 수신된다.
그러면, 수신된 전송 스트림(TS) 패킷의 페이로드가 채널키 및 그룹키를 이용하여 암호화되고, 암호화된 전송 스트림(TS) 패킷이 멀티캐스팅된다(S850). 이때, 전송 스트림(TS) 패킷의 헤더의 플래그 비트에 페이로드가 암호화되었음이 표시된다. 특히, 플래그 비트는, 전송 스트림(TS) 패킷의 스크램블링 제어(scrambling control) 비트일 수 있음은 전술된 바와 같다. 암호화된 전송 스트림(TS) 패킷은 멀티캐스트 채널을 통해 전송된다.
그러면, 암호화된 전송 스트림(TS) 패킷은 사용자측에서 수신된다. 사용자 측은 암호화키를 이용하여 DRM 멀티캐스터로부터 전송된 암호화된 전송 스트림(TS) 패킷의 페이로드를 복호화하는 DRM 서비스 처리 단계를 수행한다(S880).
복호화된 동영상 전송 스트림(TS) 패킷은 사용자 단말기에서 재생된다(S890).
동영상의 보안 유지를 위하여 전송 스트림(TS) 패킷을 암호화 및 복호화하는데 사용되는 암호화키(encryption key)는 주기적으로 변경되고 관리되는 것이 바람직하다. 암호화키는, 전송 스트림(TS) 패킷을 암호화하는데 사용되는 미디어데이터키, 미디어데이터키를 암호화하는데 사용되는 채널키, 및 채널키를 암호화하는데 사용되는 그룹키 중 하나 이상을 포함할 수 있다. 또한, 채널키 및 그룹키의 변경 주기는 동영상 파일의 보안 유지 필요성에 따라 결정될 수 있다. 변경 주기가 결정되면, 결정된 변경 주기마다 채널키와 그룹키를 변경하고, DRM 멀티캐스터에 변경된 채널키 및 그룹키를 전송한다. 또한, DRM 클라이언트가 채널키와 그룹키를 요청할 경우, 해당 DRM 클라이언트가 사용 권한을 가지는지를 판단하고 권한이 부여된 경우에 한하여 해당 세션에 관련된 그룹키를 안전하게 전달한다.
도 9는 도 8에 도시된 동영상 파일 보호 방법의 DRM 멀티캐스팅 단계를 나타내는 흐름도이다.
우선, DRM 멀티캐스터는 채널키 및 그룹키를 수신하고, 그룹키를 이용하여 채널키를 암호화한다(S910). 또한, 미디어데이터키를 이용하여 전송 스트림(TS) 패킷의 페이로드를 암호화한다(S950). 보안을 위하여, 미디어데이터키는 키관리 서버로부터 전송받은 채널키로 암호화된다.
임시 버퍼로부터 독출된 전송 스트림(TS) 패킷의 프로그램 관련 테이블(Program Association Table, PAT) 및 프로그램 맵 테이블(Program Map Table, PMT)을 분석하여 오디오 패킷 아이디(Audio Packet IDentification, APID) 및 비디오 패킷 아이디(Video Packet IDentification, VPID)를 추출한다(S920). 이때, 수신된 전송 스트림(TS) 패킷의 패킷 아이디(PID)를 분석하여 프로그램 관련 테이블(PAT) 이전의 패킷들은 패킷 송신 블록으로 바이패스된다. 또한, 프로그램 관련 테이블(PAT)을 분석하여 프로그램 맵 테이블(PMT)의 패킷 아이디(PID)가 추출된다. 그러면, 프로그램 맵 테이블(PMT) 이전의 패킷들을 패킷 송신 블록으로 바이패스되고, 프로그램 맵 테이블(PMT)을 해석하여 오디오 패킷 아이디(APID) 및 비디오 패킷 아이디(VPID)가 추출된다.
오디오 패킷 아이디(APID) 및 비디오 패킷 아이디(VPID)가 추출되면 DRM 기술자(DRM descriptor)를 프로그램 맵 테이블의 기술자 영역에 추가함으로써 프로그램 맵 테이블(PMT)을 변경한다(S930). 또한, 암호화키를 포함하는 키 패킷이 송신 버퍼에 기록된다.
그러면, 수신된 전송 스트림(TS) 패킷의 패킷 아이디(Packet IDentification, PID)가 비디오 패킷 아이디(VPID) 및 오디오 패킷 아이디(APID)와 일치하는지 여부가 판단된다(S940). 판단 결과 패킷 아이디(PID)가 오디오 패킷 아이디(APID) 및 비디오 패킷 아이디(VPID)와 일치하면 전송 스트림(TS) 패킷의 페이로드를 암호화한다(S950). 암호화된 전송 스트림(TS) 패킷의 플래그 비트에 암호화되었음을 기록한다(S960).
최종적으로, 암호화된 전송 스트림(TS) 패킷은 사용자가 속한 그룹으로 멀티캐스팅된다(S970). 전술된 바와 같이, 채널키 및 그룹키는 주기적으로 관리되는 것이 바람직하다.
미디어데이터키를 주기적으로 갱신되고, 채널키를 이용하여 미디어데이터키를 암호화하는 것이 바람직함은 전술된 바와 같다. 또한, 채널키는 그룹키를 이용하여 암호화되는 것이 바람직하다. 채널키 및 그룹키를 포함하는 키 패킷은 암호화된 전송 스트림(TS) 패킷에 삽입되어 전송된다.
도 10은 도 8에 도시된 동영상 파일 보호 방법의 DRM 서비스 처리 단계를 나타내는 흐름도이다.
우선, 웹 서버로부터 가입자가 선택한 채널의 채널 아이디, 멀티캐스트 주소, 및 키관리 서버 주소를 수신한다. 수신된 채널 아이디 및 키관리 서버 주소는 키처리 블록으로 전송하고, 멀티캐스트 주소를 이용해 가입 요청을 수행할 수 있다.
사용자가 선택한 동영상 정보는 MPEG-2 TS 형태로 스트리밍 서비스되어 수신된다(S100).
그러면, 멀티캐스트로 스트리밍된 전송 스트림(TS) 패킷의 암호화에 이용된 채널키 버전이 사용자 환경에 저장된 채널키 버전과 일치하는지 비교한다. 비교 결과, 버전 정보가 일치하면 저장된 채널키를 복호화 블록에 전달하고, 버전 정보가 일치하지 않거나 저장된 채널키가 없으면 키관리 서버 주소를 이용해 키관리 서버에 접속하여 채널키를 요청한다.
수신된 전송 스트림(TS) 패킷에서 암호화키를 추출하고, 키처리 블록으로부터 수신한 그룹키를 이용하여 채널키를 복호화한다. 그리하여, 복호화된 채널키를 이용하여 미디어데이터키가 복호화되고, 복호화된 미디어데이터키를 이용하여 전송 스트림(TS) 패킷이 복호화된다.
좀더 상세히 설명하면, 수신 버퍼로부터 독출된 전송 스트림(TS) 패킷의 프로그램 관련 테이블(PAT) 및 프로그램 맵 테이블(PMT)을 분석하여 오디오 패킷 아이디(APID) 및 비디오 패킷 아이디(VPID)를 추출한다(S110). 이 과정에서, 수신된 전송 스트림(TS) 패킷의 패킷 아이디(PID)를 분석하여 프로그램 관련 테이블(PAT) 이전의 패킷들은 디코더로 바이패스된다. 패킷 아이디(PID)가 독출되면, 패킷 아이디(PID)를 분석하여 프로그램 맵 테이블(PMT)의 패킷 아이디(PID)를 추출하고, 프로그램 맵 테이블(PMT) 이전의 패킷들은 디코더로 바이패스된다. 프로그램 맵 테이블(PMT)이 독출되면, 프로그램 맵 테이블(PMT)을 해석하여 오디오 패킷 아이디(APID) 및 비디오 패킷 아이디(VPID)를 추출한다.
그러면, 프로그램 맵 테이블(PMT)의 기술자 영역으로부터 DRM 기술자를 독출하여 키 패킷을 추출한다(S120). 독출된 키 패킷으로부터 그룹키를 이용해 채널키가 복호화된다(S130).
그러면, 수신된 전송 스트림(TS) 패킷의 패킷 아이디(PID)가 오디오 패킷 아이디(APID) 및 비디오 패킷 아이디(VPID)와 일치하는지를 판단한다(S140). 만일 패킷 아이디(PID)가 오디오 패킷 아이디(APID) 및 비디오 패킷 아이디(VPID)와 일치한다면, 이번에는 플래그 비트를 확인하여 페이로드가 암호화되었는지 확인한다 (S150).
페이로드가 암호화된 것으로 확인되면, 채널키를 이용하여 복호화된 미디어데이터키를 이용하여 암호화된 전송 스트림(TS) 패킷의 페이로드를 복호화한다(S160).
복호화된 동영상 전송 스트림(TS) 패킷을 디코딩하여 디스플레이 된다(S180).
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
상기와 같은 본 발명은, MPEG-2 TS의 형태로 스트리밍 전송된 동영상을 복호화 하기 위한 정보 중에서 빈번히 변경되는 부분을 스트리밍 데이터 내에 직접 삽입하여 전송함으로써 키관리 서버에 대한 접속 집중과 이로 인한 서버의 과부하 문제를 해결하고, 서비스의 지연이 발생하지 않도록 하는 효과가 있다.
또한, 서버에 대한 접속 집중과 이로 인한 서버의 과부하 문제가 해결됨으로써 동영상 콘텐츠를 암호화 하는데 이용하는 키를 자주 변경 가능하게 하여 콘텐츠에 대한 보안 레벨을 높이는 효과가 있다.
또한, 본 발명은 전체 MPEG-2 전송 스트림(TS) 패킷을 암호화 대상으로 하지 않고, 선택적으로 MPEG-2 전송 스트림(TS) 패킷을 암호화하여 복호화에 소요되는 시간을 줄일 수 있도록 함으로써, 이로 인해 스트리밍 서비스 성능을 향상시킬 수 있는 효과가 있다.
또한, 본 발명을 이용하면 기존의 방송망과 같은 대규모 사용자 환경에서 사용자 규모의 증가에 유연하게 키 분배 및 변경을 함으로써, 동영상 보호 장치의 높은 보호 레벨 (Level of Security)을 유지하면서도 키 분배 및 변경으로 인한 스트리밍 환경에서의 급격한 성능 저하를 방지할 수 있다.

Claims (26)

  1. 멀티캐스트 방식으로 스트리밍 서비스되는 MPEG-2 TS(Transport Stream) 포맷의 동영상 파일의 보호 장치에 있어서,
    수신받은 전송 스트림(TS) 패킷의 페이로드를 실시간 암호화하고, 상기 암호화된 전송 스트림(TS) 패킷을 전송하는 DRM(Digital Rights Management) 멀티캐스터를 포함하고,
    상기 DRM 멀티캐스터는,
    상기 전송 스트림(TS) 패킷을 수신하기 위한 패킷 수신부;
    상기 전송 스트림(TS) 패킷을 암호화하는데 사용되는 미디어데이터키를 이용하여 암호화된 전송 스트림(TS) 패킷을 생성하는 실시간 암호화부; 및
    상기 암호화된 전송 스트림(TS) 패킷을 상기 사용자가 속한 그룹으로 멀티캐스팅 하는 패킷 송신부를 포함하는 것을 특징으로 하는 스트리밍 서비스되는 동영상 파일의 보호 장치.
  2. 제1항에 있어서,
    원본 동영상의 전송 스트림(TS) 패킷을 스트리밍하여 전송하는 스트리밍 서버와;
    상기 전송 스트림(TS) 패킷을 암호화 및 복호화하는데 사용되는 암호화키(encryption key)들을 관리하며, 정당한 사용자로부터의 키 발급 요청시 상기 암호 화키를 상기 사용자에게 발급하는 키관리 서버를 더 포함하는 것을 특징으로 하는 스트리밍 서비스되는 동영상 파일의 보호 장치.
  3. 제1항 또는 제2항에 있어서, 상기 암호화키는,
    상기 전송 스트림(TS) 패킷을 암호화하는데 사용되는 미디어데이터키, 상기 미디어데이터키를 암호화하는데 사용되는 채널키, 및 상기 채널키를 암호화하는데 사용되는 그룹키 중 하나 이상을 포함하는 것을 특징으로 하는 스트리밍 서비스되는 동영상 파일의 보호 장치.
  4. 제1항 또는 제2항에 있어서, 상기 DRM 멀티캐스터는,
    상기 전송 스트림(TS) 패킷의 헤더의 플래그 비트에 상기 페이로드가 암호화되었음을 표시하는 것을 특징으로 하는 스트리밍 서비스되는 동영상 파일의 보호 장치.
  5. 제4항에 있어서, 상기 플래그 비트는,
    상기 전송 스트림(TS) 패킷의 스크램블링 제어(scrambling control) 비트인 것을 특징으로 하는 스트리밍 서비스되는 동영상 파일의 보호 장치.
  6. 제1항 또는 제2항에 있어서, 상기 DRM 멀티캐스터는,
    상기 키관리 서버로부터 상기 채널키 및 상기 그룹키를 수신하고, 주기적으 로 상기 채널키 및 상기 그룹키를 관리하는 키정보 관리부를 포함하는 것을 특징으로 하는 스트리밍 서비스되는 동영상 파일의 보호 장치.
  7. 제1항 또는 제2항에 있어서, 상기 실시간 암호화부는,
    상기 채널키를 상기 그룹키를 이용하여 암호화하고,
    임시 버퍼로부터 독출된 상기 전송 스트림(TS) 패킷의 프로그램 관련 테이블(Program Association Table, PAT) 및 프로그램 맵 테이블(Program Map Table, PMT)을 분석하여 오디오 패킷 아이디(Audio Packet IDentification, APID) 및 비디오 패킷 아이디(Video Packet IDentification, VPID)를 추출하며,
    DRM 기술자(DRM descriptor)를 상기 프로그램 맵 테이블의 기술자 영역에 추가하고, 변경된 패킷을 송신 버퍼에 기록하고,
    상기 암호화키를 포함하는 키 패킷을 생성한 후 상기 키 패킷을 상기 송신 버퍼에 기록하며,
    수신된 전송 스트림(TS) 패킷의 패킷 아이디(Packet IDentification, PID)가 상기 비디오 패킷 아이디(VPID) 및 상기 오디오 패킷 아이디(APID)와 일치하면 상기 전송 스트림(TS) 패킷의 페이로드를 암호화하고,
    암호화된 전송 스트림(TS) 패킷의 플래그 비트에 암호화되었음을 기록하는 것을 특징으로 하는 스트리밍 서비스되는 동영상 파일의 보호 장치.
  8. 제7항에 있어서, 상기 실시간 암호화부는,
    수신된 전송 스트림(TS) 패킷의 패킷 아이디(PID)를 분석하여 상기 프로그램 관련 테이블(PAT) 이전의 패킷들은 상기 패킷 송신부로 바이패스하고,
    상기 프로그램 관련 테이블(PAT)을 분석하여 상기 프로그램 맵 테이블(PMT)의 패킷 아이디(PID)를 추출하며,
    상기 프로그램 맵 테이블(PMT) 이전의 패킷들을 상기 패킷 송신부로 바이패스하고,
    상기 프로그램 맵 테이블(PMT)을 해석하여 상기 오디오 패킷 아이디(APID) 및 상기 비디오 패킷 아이디(VPID)를 추출하는 것을 특징으로 하는 스트리밍 서비스되는 동영상 파일의 보호 장치.
  9. 제6항에 있어서, 상기 실시간 암호화부는,
    상기 미디어데이터키를 주기적으로 갱신하고,
    상기 채널키로 상기 미디어데이터키를 암호화하고, 상기 채널키를 상기 그룹키로 암호화하여 키 패킷을 생성하며, 상기 키 패킷을 암호화된 전송 스트림(TS) 패킷에 삽입하는 것을 특징으로 하는 스트리밍 서비스되는 동영상 파일의 보호 장치.
  10. 멀티캐스트 방식으로 스트리밍 서비스되는 MPEG-2 전송 스트림(TS; Transport Stream) 포맷의 동영상 파일의 보호 장치에 있어서,
    상기 전송 스트림(TS) 패킷을 암호화 및 복호화하는데 사용되는 암호화키 (encryption key)들을 관리하며, 정당한 사용자로부터의 키 발급 요청시 상기 암호화키를 상기 사용자에게 발급하는 키관리 서버를 포함하고,
    상기 키관리 서버는,
    채널키 및 그룹키의 변경 주기를 결정하는 키 주기부;
    상기 변경 주기마다 상기 채널키와 상기 그룹키를 변경하고, 상기 DRM 멀티캐스터에 변경된 상기 채널키 및 상기 그룹키를 전송하는 키 발생부;
    상기 채널키와 상기 그룹키를 요청하는 상기 DRM 클라이언트에 사용 권한이 부여되었는지를 확인하여 권한이 부여된 경우에 한하여 해당 세션에 관련된 상기 그룹키를 안전하게 전달하는 키 발급부; 및
    상기 키 발생부에서 발생된 키들을 저장하는 키 데이터베이스부를 포함하는 것을 특징으로 하는 스트리밍 서비스되는 동영상 파일의 보호 장치.
  11. 가입자가 선택한 채널의 채널 아이디, 멀티캐스트 주소, 및 키관리 서버 주소를 수신하고, 상기 멀티캐스트 주소를 이용해 가입 요청을 하는 DRM 정보 처리부;
    멀티캐스트로 스트리밍된 전송 스트림(TS) 패킷의 암호화에 이용된 채널키 버전이 사용자 환경에 저장된 채널키 버전과 일치하는지 비교하고, 버전 정보가 일치하면 저장된 채널키를 복호화부에 전달하고, 버전 정보가 일치하지 않거나 저장된 채널키가 없으면 키관리 서버 주소를 이용해 채널키를 요청하는 키 처리부;
    수신된 전송 스트림(TS) 패킷에서 상기 암호화키를 추출하고, 상기 키 처리 부로부터 수신한 그룹키를 이용하여 채널키를 복호화하고, 복호화된 채널키를 이용하여 미디어데이터키를 복호화하며, 복호화된 미디어데이터키를 이용하여 상기 전송 스트림(TS) 패킷을 복호화하는 복호화부; 및
    상기 복호화된 동영상 전송 스트림(TS) 패킷을 디코딩하여 디스플레이하는 디코더를 포함하는 것을 특징으로 하는 DRM 클라이언트 장치.
  12. 제11항에 있어서, 상기 복호화부는,
    수신 버퍼로부터 독출된 상기 전송 스트림(TS) 패킷의 프로그램 관련 테이블(PAT) 및 프로그램 맵 테이블(PMT)을 분석하여 오디오 패킷 아이디(APID) 및 비디오 패킷 아이디(VPID)를 추출하고,
    상기 프로그램 맵 테이블(PMT)의 기술자 영역으로부터 DRM 기술자를 독출하여 키 패킷을 추출하며,
    독출된 키 패킷으로부터 상기 그룹키를 이용해 채널키를 복호화하고,
    수신된 전송 스트림(TS) 패킷의 패킷 아이디(PID)가 상기 오디오 패킷 아이디(APID) 및 상기 비디오 패킷 아이디(VPID)와 일치하면 상기 플래그 비트를 확인하여 페이로드가 암호화되었는지 확인하고,
    상기 채널키를 이용하여 복호화된 상기 미디어데이터키를 이용하여 암호화된 전송 스트림(TS) 패킷의 페이로드를 복호화하는 것을 특징으로 하는 DRM 클라이언트 장치.
  13. 제11항에 있어서, 상기 복호화부는,
    수신된 전송 스트림(TS) 패킷의 패킷 아이디(PID)를 분석하여 상기 프로그램 관련 테이블(PAT) 이전의 패킷들은 상기 디코더로 바이패스하고,
    상기 프로그램 관련 테이블(PAT)을 분석하여 상기 프로그램 맵 테이블(PMT)의 패킷 아이디(PID)를 추출하며,
    상기 프로그램 맵 테이블(PMT) 이전의 패킷들을 상기 디코더로 바이패스하고,
    상기 프로그램 맵 테이블(PMT)을 해석하여 상기 오디오 패킷 아이디(APID) 및 상기 비디오 패킷 아이디(VPID)를 추출하는 것을 특징으로 하는 DRM 클라이언트 장치.
  14. 멀티캐스트 방식으로 스트리밍 서비스되는 MPEG-2 TS(Transport Stream) 포맷의 동영상 파일의 보호 방법에 있어서,
    원본 동영상의 전송 스트림(TS) 패킷을 스트리밍하는 단계;
    상기 스트리밍된 전송 스트림(TS) 패킷의 페이로드를 실시간 암호화하고, 상기 암호화된 전송 스트림(TS) 패킷을 멀티캐스트 채널을 통해 전송하는 DRM 멀티캐스팅 단계;
    상기 전송 스트림(TS) 패킷을 암호화 및 복호화하는데 사용되는 암호화키를, 정당한 사용자로부터의 키 발급 요청시 상기 사용자에게 발급하는 키관리 단계; 및
    상기 암호화키를 이용하여 상기 멀티캐스트 채널을 통해 전송받은 암호화된 전송 스트림(TS) 패킷의 페이로드를 복호화하여, 복호화된 동영상 전송 스트림(TS) 패킷을 재생하기 위한 DRM 서비스 처리 단계를 포함하는 것을 특징으로 하는 스트리밍 서비스되는 동영상 파일의 보호 방법.
  15. 제14항에 있어서, 상기 DRM(Digital Rights Management) 멀티캐스팅 단계는,
    상기 전송 스트림(TS) 패킷을 수신하는 패킷 수신 단계;
    상기 전송 스트림(TS) 패킷을 암호화하는데 사용되는 미디어데이터키를 이용하여 암호화된 전송 스트림(TS) 패킷을 생성하는 실시간 암호화 단계; 및
    상기 암호화된 전송 스트림(TS) 패킷을 상기 사용자가 속한 그룹으로 멀티캐스팅 하는 패킷 송신 단계를 포함하여,
    스트리밍된 전송 스트림(TS) 패킷의 페이로드를 실시간 암호화하고, 상기 암호화된 전송 스트림(TS) 패킷을 멀티캐스트 채널을 통해 전송하는 것을 특징으로 하는 스트리밍 서비스되는 동영상 파일의 보호 방법.
  16. 제14항 또는 제15항에 있어서, 상기 암호화키는,
    상기 전송 스트림(TS) 패킷을 암호화하는데 사용되는 미디어데이터키, 상기 미디어데이터키를 암호화하는데 사용되는 채널키, 및 상기 채널키를 암호화하는데 사용되는 그룹키 중 하나 이상을 포함하는 것을 특징으로 하는 스트리밍 서비스되는 동영상 파일의 보호 방법.
  17. 제14항 또는 제15항에 있어서, 상기 DRM 멀티캐스팅 단계는,
    상기 전송 스트림(TS) 패킷의 헤더의 플래그 비트에 상기 페이로드가 암호화되었음을 표시하는 단계를 포함하는 것을 특징으로 하는 스트리밍 서비스되는 동영상 파일의 보호 방법.
  18. 제17항에 있어서, 상기 플래그 비트는,
    상기 전송 스트림(TS) 패킷의 스크램블링 제어(scrambling control) 비트인 것을 특징으로 하는 스트리밍 서비스되는 동영상 파일의 보호 방법.
  19. 제14항 또는 제15항에 있어서, 상기 DRM 멀티캐스팅 단계는,
    상기 키관리 서버로부터 상기 채널키 및 상기 그룹키를 수신하고, 주기적으로 상기 채널키 및 상기 그룹키를 관리하는 키정보 관리 단계를 더 포함하는 것을 특징으로 하는 스트리밍 서비스되는 동영상 파일의 보호 방법.
  20. 제15항에 있어서, 상기 실시간 암호화 단계는,
    상기 채널키를 상기 그룹키를 이용하여 암호화하는 단계;
    임시 버퍼로부터 독출된 상기 전송 스트림(TS) 패킷의 프로그램 관련 테이블(PAT) 및 프로그램 맵 테이블(PMT)을 분석하여 오디오 패킷 아이디(APID) 및 비디오 패킷 아이디(VPID)를 추출하는 제1 패킷 아이디(PID) 추출 단계;
    DRM 기술자(DRM descriptor)를 상기 프로그램 맵 테이블의 기술자 영역에 추 가하고, 변경된 패킷을 송신 버퍼에 기록하는 단계;
    상기 암호화키를 포함하는 키 패킷을 생성한 후 상기 키 패킷을 상기 송신 버퍼에 기록하는 단계;
    수신된 전송 스트림(TS) 패킷의 패킷 아이디(PID)가 상기 비디오 패킷 아이디(VPID) 및 상기 오디오 패킷 아이디(APID)와 일치하면 상기 전송 스트림(TS) 패킷의 페이로드를 암호화하는 단계; 및
    암호화된 전송 스트림(TS) 패킷의 플래그 비트에 암호화되었음을 기록하는 단계를 더 포함하는 것을 특징으로 하는 스트리밍 서비스되는 동영상 파일의 보호 방법.
  21. 제20항에 있어서, 상기 제1 패킷 아이디(PID) 추출 단계는,
    수신된 전송 스트림(TS) 패킷의 패킷 아이디(PID)를 분석하여 상기 프로그램 관련 테이블(PAT) 이전의 패킷들은 상기 패킷 송신부로 바이패스하는 단계;
    상기 프로그램 관련 테이블(PAT)을 분석하여 상기 프로그램 맵 테이블(PMT)의 패킷 아이디(PID)를 추출하는 단계;
    상기 프로그램 맵 테이블(PMT) 이전의 패킷들을 상기 패킷 송신부로 바이패스하는 단계; 및
    상기 프로그램 맵 테이블(PMT)을 해석하여 상기 오디오 패킷 아이디(APID) 및 상기 비디오 패킷 아이디(VPID)를 추출하는 단계를 포함하는 것을 특징으로 하는 스트리밍 서비스되는 동영상 파일의 보호 방법.
  22. 제20항에 있어서, 상기 실시간 암호화 단계는,
    상기 미디어 데이터키를 주기적으로 갱신하는 단계;
    상기 채널키로 상기 미디어데이터키를 암호화하고, 상기 채널키를 상기 그룹키로 암호화하여 키 패킷을 생성하는 단계; 및
    상기 키 패킷을 암호화된 전송 스트림(TS) 패킷에 삽입하는 단계를 더 포함하는 것을 특징으로 하는 스트리밍 서비스되는 동영상 파일의 보호 방법.
  23. 제14항 또는 제15항에 있어서, 상기 키관리 단계는,
    상기 채널키 및 상기 그룹키의 변경 주기를 결정하는 키주기 결정 단계;
    상기 변경 주기마다 상기 채널키와 상기 그룹키를 변경하고, 상기 DRM 멀티캐스터에 변경된 상기 채널키 및 상기 그룹키를 전송하는 키발생 단계;
    상기 채널키와 상기 그룹키를 요청하는 상기 DRM 클라이언트에 사용 권한이 부여되었는지를 확인하여 권한이 부여된 경우에 한하여 해당 세션에 관련된 상기 그룹키를 안전하게 전달하는 키발급 단계; 및
    상기 키발생 단계에서 발생된 키들을 저장하는 단계를 포함하는 것을 특징으로 하는 스트리밍 서비스되는 동영상 파일의 보호 방법.
  24. 제14항 또는 제15항에 있어서, 상기 DRM 서비스 처리 단계는,
    상기 웹 서버로부터 가입자가 선택한 채널의 채널 아이디, 멀티캐스트 주소, 및 키관리 서버 주소를 수신하고, 상기 채널 아이디 및 상기 키관리 서버 주소는 키 처리부로 전송하고, 상기 멀티캐스트 주소를 이용해 가입 요청을 하는 DRM 정보 처리 단계;
    멀티캐스트로 스트리밍된 전송 스트림(TS) 패킷의 암호화에 이용된 채널키 버전이 사용자 환경에 저장된 채널키 버전과 일치하는지 비교하고, 버전 정보가 일치하면 저장된 채널키를 복호화부에 전달하고, 버전 정보가 일치하지 않거나 저장된 채널키가 없으면 키관리 서버 주소를 이용해 키관리 서버에 접속하여 채널키를 요청하는 키처리 단계;
    수신된 전송 스트림(TS) 패킷에서 상기 암호화키를 추출하고, 상기 키 처리부로부터 수신한 그룹키를 이용하여 채널키를 복호화하고, 복호화된 채널키를 이용하여 미디어데이터키를 복호화하며, 복호화된 미디어데이터키를 이용하여 상기 전송 스트림(TS) 패킷을 복호화하여 그 결과를 디코더로 전달하는 복호화 단계; 및
    상기 복호화된 동영상 전송 스트림(TS) 패킷을 디코딩하여 디스플레이하는 단계를 포함하는 것을 특징으로 하는 스트리밍 서비스되는 동영상 파일의 보호 방법.
  25. 제24항에 있어서, 상기 복호화 단계는,
    수신 버퍼로부터 독출된 상기 전송 스트림(TS) 패킷의 프로그램 관련 테이블(PAT) 및 프로그램 맵 테이블(PMT)을 분석하여 오디오 패킷 아이디(APID) 및 비디오 패킷 아이디(VPID)를 추출하는 제2 패킷 아이디(PID) 추출 단계;
    상기 프로그램 맵 테이블(PMT)의 기술자 영역으로부터 DRM 기술자를 독출하여 키 패킷을 추출하는 단계;
    독출된 키 패킷으로부터 상기 그룹키를 이용해 채널키를 복호화하는 단계;
    수신된 전송 스트림(TS) 패킷의 패킷 아이디(PID)가 상기 오디오 패킷 아이디(APID) 및 상기 비디오 패킷 아이디(VPID)와 일치하면 상기 플래그 비트를 확인하여 페이로드가 암호화되었는지 확인하는 단계; 및
    상기 채널키를 이용하여 복호화된 상기 미디어데이터키를 이용하여 암호화된 전송 스트림(TS) 패킷의 페이로드를 복호화하는 단계를 포함하는 것을 특징으로 하는 스트리밍 서비스되는 동영상 파일의 보호 방법.
  26. 제25항에 있어서, 상기 제2 패킷 아이디(PID) 추출 단계는,
    수신된 전송 스트림(TS) 패킷의 패킷 아이디(PID)를 분석하여 상기 프로그램 관련 테이블(PAT) 이전의 패킷들은 상기 디코더로 바이패스하는 단계;
    상기 프로그램 관련 테이블(PAT)을 분석하여 상기 프로그램 맵 테이블(PMT)의 패킷 아이디(PID)를 추출하는 단계;
    상기 프로그램 맵 테이블(PMT) 이전의 패킷들을 상기 디코더로 바이패스하는 단계; 및
    상기 프로그램 맵 테이블(PMT)을 해석하여 상기 오디오 패킷 아이디(APID) 및 상기 비디오 패킷 아이디(VPID)를 추출하는 단계를 포함하는 것을 특징으로 하는 스트리밍 서비스되는 동영상 파일의 보호 방법.
KR1020050046108A 2004-12-08 2005-05-31 멀티캐스트 방식으로 스트리밍 서비스되는 동영상 파일의보호 장치 및 그 방법 KR20060064469A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020040102957 2004-12-08
KR20040102957 2004-12-08

Publications (1)

Publication Number Publication Date
KR20060064469A true KR20060064469A (ko) 2006-06-13

Family

ID=37160021

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050046108A KR20060064469A (ko) 2004-12-08 2005-05-31 멀티캐스트 방식으로 스트리밍 서비스되는 동영상 파일의보호 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR20060064469A (ko)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100758874B1 (ko) * 2007-02-16 2007-09-14 주식회사 셀런 엠펙2 티에스의 가변인자를 이용한 암호화 및 복호화시스템 및 방법
WO2008062989A1 (en) * 2006-11-20 2008-05-29 Alticast Co., Ltd. Operating method of contents on demand system
KR100860003B1 (ko) * 2006-09-27 2008-09-25 한국전자통신연구원 H.264 형식의 동영상 방송프로그램 보호 장치 및 방법
KR100943857B1 (ko) * 2007-03-08 2010-02-24 브로드콤 코포레이션 멀티미디어 시스템 온 칩 내에 워터마크를 삽입하는 방법및 시스템
KR101023490B1 (ko) * 2009-04-09 2011-03-21 부경대학교 산학협력단 Dmb 단말기의 콘텐츠 보호를 위한 실시간 암호화 구현방법
KR101291075B1 (ko) * 2006-10-31 2013-08-01 에스케이플래닛 주식회사 디지털 권한 관리의 선택적 암호화 및 복호화에 대한 방법및 시스템
KR20180081388A (ko) * 2017-01-06 2018-07-16 한화에어로스페이스 주식회사 멀티캐스트 환경의 보안 시스템에서 키를 관리하는 방법
KR102024058B1 (ko) * 2019-05-31 2019-09-24 주식회사 유니온플레이스 멀티캐스트 그룹 내의 디바이스
KR102024062B1 (ko) * 2019-05-31 2019-09-24 주식회사 유니온플레이스 멀티캐스트 그룹 내의 구독자에게 키 데이터를 전송하는 디바이스
KR20200118752A (ko) * 2019-04-08 2020-10-16 박화영 Uhd 방송 콘텐츠 보안 시스템
KR20200119649A (ko) * 2019-04-10 2020-10-20 한국전자통신연구원 영상 보호 송신 장치, 수신 장치 및 방법
KR102305691B1 (ko) * 2021-04-22 2021-09-28 주식회사 뮤즐리 실시간 주문형 디지털 컨텐츠의 drm 패키징 방법과 이를 실행하기 위한 컴퓨팅 장치
KR102527985B1 (ko) 2022-11-23 2023-05-02 (주)뉴인 실시간 drm 기반 영상 스트리밍 시스템 및 그의 영상 스트리밍 방법
KR102527986B1 (ko) 2022-11-23 2023-05-02 (주)뉴인 인공 지능 기반 버퍼 크기 조절을 통한 영상 스트리밍 시스템 및 방법
KR20240076101A (ko) 2022-11-23 2024-05-30 (주)뉴인 네트워크 적응형 실시간 변동 drm을 처리하기 위한 방법 및 이를 사용한 장치
KR20240076100A (ko) 2022-11-23 2024-05-30 (주)뉴인 스트리밍 요청에 따른 패킷 단위 기반의 drm 처리를 위한 방법 및 이를 사용한 장치
KR20240076102A (ko) 2022-11-23 2024-05-30 (주)뉴인 캐시 조각 저장량 기반의 노드 전환을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍을 위한 시스템 및 방법

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100860003B1 (ko) * 2006-09-27 2008-09-25 한국전자통신연구원 H.264 형식의 동영상 방송프로그램 보호 장치 및 방법
KR101291075B1 (ko) * 2006-10-31 2013-08-01 에스케이플래닛 주식회사 디지털 권한 관리의 선택적 암호화 및 복호화에 대한 방법및 시스템
WO2008062989A1 (en) * 2006-11-20 2008-05-29 Alticast Co., Ltd. Operating method of contents on demand system
US8087056B2 (en) 2006-11-20 2011-12-27 Alticast Corporation Operating method of contents on demand system
KR100758874B1 (ko) * 2007-02-16 2007-09-14 주식회사 셀런 엠펙2 티에스의 가변인자를 이용한 암호화 및 복호화시스템 및 방법
KR100943857B1 (ko) * 2007-03-08 2010-02-24 브로드콤 코포레이션 멀티미디어 시스템 온 칩 내에 워터마크를 삽입하는 방법및 시스템
KR101023490B1 (ko) * 2009-04-09 2011-03-21 부경대학교 산학협력단 Dmb 단말기의 콘텐츠 보호를 위한 실시간 암호화 구현방법
KR20180081388A (ko) * 2017-01-06 2018-07-16 한화에어로스페이스 주식회사 멀티캐스트 환경의 보안 시스템에서 키를 관리하는 방법
KR20200118752A (ko) * 2019-04-08 2020-10-16 박화영 Uhd 방송 콘텐츠 보안 시스템
KR20200119649A (ko) * 2019-04-10 2020-10-20 한국전자통신연구원 영상 보호 송신 장치, 수신 장치 및 방법
JP2022517383A (ja) * 2019-05-31 2022-03-08 株式会社ユニオンプレイス マルチキャストグループ内の購読者にキーデータを伝送するデバイス
KR102024058B1 (ko) * 2019-05-31 2019-09-24 주식회사 유니온플레이스 멀티캐스트 그룹 내의 디바이스
WO2020242058A1 (ko) * 2019-05-31 2020-12-03 주식회사 유니온플레이스 멀티캐스트 그룹 내의 디바이스
WO2020242062A1 (ko) * 2019-05-31 2020-12-03 주식회사 유니온플레이스 멀티캐스트 그룹 내의 구독자에게 키 데이터를 전송하는 디바이스
KR102024062B1 (ko) * 2019-05-31 2019-09-24 주식회사 유니온플레이스 멀티캐스트 그룹 내의 구독자에게 키 데이터를 전송하는 디바이스
JP2022517381A (ja) * 2019-05-31 2022-03-08 株式会社ユニオンプレイス マルチキャストグループ内のデバイス
KR102305691B1 (ko) * 2021-04-22 2021-09-28 주식회사 뮤즐리 실시간 주문형 디지털 컨텐츠의 drm 패키징 방법과 이를 실행하기 위한 컴퓨팅 장치
KR102527985B1 (ko) 2022-11-23 2023-05-02 (주)뉴인 실시간 drm 기반 영상 스트리밍 시스템 및 그의 영상 스트리밍 방법
KR102527986B1 (ko) 2022-11-23 2023-05-02 (주)뉴인 인공 지능 기반 버퍼 크기 조절을 통한 영상 스트리밍 시스템 및 방법
KR20240076101A (ko) 2022-11-23 2024-05-30 (주)뉴인 네트워크 적응형 실시간 변동 drm을 처리하기 위한 방법 및 이를 사용한 장치
KR20240076100A (ko) 2022-11-23 2024-05-30 (주)뉴인 스트리밍 요청에 따른 패킷 단위 기반의 drm 처리를 위한 방법 및 이를 사용한 장치
KR20240076102A (ko) 2022-11-23 2024-05-30 (주)뉴인 캐시 조각 저장량 기반의 노드 전환을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍을 위한 시스템 및 방법

Similar Documents

Publication Publication Date Title
KR20060064469A (ko) 멀티캐스트 방식으로 스트리밍 서비스되는 동영상 파일의보호 장치 및 그 방법
KR101244308B1 (ko) 동영상 파일의 암호화 방법 및 그를 이용한 디지털 저작권관리방법
JP4838422B2 (ja) 伝送システム
US20100195827A1 (en) Method and apparatus for encrypting transport stream of multimedia content, and method and apparatus for decrypting transport stream of multimedia content
US20070124252A1 (en) Reception device, transmission device, security module, and digital right management system
CN104902311B (zh) 一种音视频资源共享的方法、共享网关及***
KR20060044745A (ko) 공통 스크램블링 방법
KR101660065B1 (ko) 스크램블링 및 워터마킹 기술을 사용한 멀티캐스트 시청각 프로그램의 기록된 복제본의 안정된 공유를 위한 장치 및 방법
US20080298580A1 (en) Content delivery server and content delivery system
US20050141704A1 (en) Generation of a watermark being unique to a receiver of a multicast transmission of multimedia
KR20060101788A (ko) 컨텐트 보호를 위한 조건적 접속 방법 및 시스템
US7633941B2 (en) Secured distributed method and system for the distribution of audiovisual flows
KR100526843B1 (ko) 디지털 컨텐츠 처리장치, 디지털 컨텐츠 처리시스템,디지털 방송시스템, 디지털 컨텐츠 처리방법,컴퓨터판독가능한 저장매체 및 컴퓨터 프로그램
US20050047449A1 (en) Individual video encryption system and method
KR100700301B1 (ko) 전송 시스템
KR101005844B1 (ko) 메모리 카드 기반의 ts 패킷 처리를 위한 수신 제한 시스템
JP4098348B2 (ja) 端末装置、サーバ装置及びコンテンツ配信システム
KR100497336B1 (ko) 공개키 기반 구조의 제한 수신 시스템에서의 자격관리메시지 변환 방법
KR100725782B1 (ko) 방송 콘텐츠 보호 시스템 및 방법
KR100860003B1 (ko) H.264 형식의 동영상 방송프로그램 보호 장치 및 방법
KR101215617B1 (ko) 동영상 파일의 암호화 방법 및 그를 이용한 디지털 저작권 관리 방법
JP2008187691A (ja) コンテンツ配信システム、及びコンテンツ配信方法
JP2008118708A (ja) 端末装置及びサーバ装置
EP1499062B1 (en) Individual video encryption system and method
JP2022134647A (ja) 送信装置及び受信装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
E801 Decision on dismissal of amendment
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20070509

Effective date: 20080227