KR20060044745A - 공통 스크램블링 방법 - Google Patents

공통 스크램블링 방법 Download PDF

Info

Publication number
KR20060044745A
KR20060044745A KR1020050024872A KR20050024872A KR20060044745A KR 20060044745 A KR20060044745 A KR 20060044745A KR 1020050024872 A KR1020050024872 A KR 1020050024872A KR 20050024872 A KR20050024872 A KR 20050024872A KR 20060044745 A KR20060044745 A KR 20060044745A
Authority
KR
South Korea
Prior art keywords
transport stream
unencrypted
processing
portions
data
Prior art date
Application number
KR1020050024872A
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 KR20060044745A publication Critical patent/KR20060044745A/ko

Links

Images

Classifications

    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B21/00Projectors or projection-type viewers; Accessories therefor
    • G03B21/005Projectors using an electronic spatial light modulator but not peculiar thereto
    • G03B21/006Projectors using an electronic spatial light modulator but not peculiar thereto using LCD's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video stream decryption
    • H04N21/44055Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video stream decryption by partially decrypting, e.g. decrypting a video stream that has been partially encrypted
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B21/00Projectors or projection-type viewers; Accessories therefor
    • G03B21/14Details
    • G03B21/142Adjusting of projection optics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving video stream encryption
    • H04N21/23476Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving video stream encryption by partially encrypting, e.g. encrypting the ending portion of a movie
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence

Abstract

스트림의 암호화된 부분이 복호되지 않고 스트림이 프로세싱될 수 있는 방식으로 전송 스트림이 암호화된다. 따라서, 스트림의 암호화되지 않고 전달될 적어도 하나의 부분을 결정하기 위하여 스트림에 대해 분석이 수행되고, 그에 의하여 스트림의 암호화된 부분을 우회하는 방식으로 스트림이 프로세싱되는 것을 가능하게 한다.
암호화, 복호, 스크램블링

Description

공통 스크램블링 방법{COMMON SCRAMBLING}
도 1은 공통 스크램블링 기술의 예시적인 실시예가 구현될 수 있는 방송 환경.
도 2는 공통 스크램블링을 구체화하는 프로세싱의 예.
도 3은 일 실시예에 따라 공통 스크램블링을 구현하는 장치에 대응하는 블럭도.
도 4는 일 실시예에 따라 패킷화된 전송 스트림.
도 5는 본 발명에서 설명된 기술을 구현하기 위해 사용될 수 있는 일반적인 컴퓨터 네트워크 환경.
<도면의 주요부분에 대한 부호의 설명>
205: 보호되지 않은 전송 스트림 수신
210: 전송 스트림 분석
215: 전송 스트림을 공통 스크램블링
220: 암호화 메쏘드 패킷 생성
225: 스트림의 보호된 부분을 우회하도록 스트림을 프로세싱
230: 데이터를 렌더링
본 발명은 전송 스트림의 공통 스크램블링(common scrambling)에 관한 것이다.
미디어 컨텐츠는 컨텐츠 소스로부터 수신될 때 일반적으로 보호된다. 클라이언트 장치에서 프로세싱되기 위해서는, 미디어 컨텐츠로부터 보호가 제거되어야 한다. 보호를 제거하는 것이 미디어 컨텐츠를 렌더링하는 것에 필수적이지만, 보호를 제거하는 것은 자원 관리나 그 미디어 컨텐츠에서 수행될 다른 프로세스들에 대한 보안의 관점에서 경제적이지 않다.
보호된 미디어 컨텐츠는 텔레비전 신호를 통해 방송되고, 네트워크 연결을 거쳐 전송되거나 저장 매체로부터 다운로드되는 암호화된 오디오/비디오 데이터를 포함한다. 암호화된 미디어 컨텐츠는 셋탑 박스(STB)나 개인용 컴퓨터(PC)와 같은 클라이언트 장치에서 수신되고 처리될 수 있다. 그러나, 렌더링 이외의 기타 프로세스에 대해서는, 클라이언트 장치에서 미디어 컨텐츠를 복호하는 것은 상당한 장치 자원을 차지하고 따라서 견고한 장치 성능을 손상시킨다. 또한, STB에 대해 그러한 경우가 증가하고 있고 PC에 대해 거의 항상 그러한 것처럼 만약 클라이언트 장치가 네트워크로 연결된다면, 클라이언트 장치에서 미디어 컨텐츠를 복호하는 것은 미디어 컨텐츠를 도용 및 기타 보안 침해로부터 공격받기 쉽게 한다.
전술한 성능 및 보안 결함은 해결되지 않고 있고, STB와 PC가 가정 및 기타 가입자 지역 내에서 포괄적인 미디어 센터로 떠오르고 있기 때문에, 그것은 특히 문제가 되고 있다. 예를 들어, 다중화된 전송 스트림(transport stream)이 클라이언트 장치에서 여러 기본 스트림(예를 들어, 오디오 및 비디오 기본 스트림)으로 역다중화될 수 있기 전에 다중화된 전송 스트림으로 적용된 어떠한 암호화도 제거되어야 한다. 그래서, 비디오 파일, 오디오 파일 및 그림 파일에 대한 견고하고 안전한 저장소로서의 클라이언트 장치의 기능이 손상된다. 유사하게, 전송 스트림의 미디어 컨텐츠가 클라이언트 장치에서 색인될 수 있기 전에, 전송 스트림으로 적용된 어떠한 암호화도 또한 제거되어야 한다. 따라서, 견고하고 안전한 개인용 비디오 레코더(PVR) 및 플레이어로서의 클라이언트 장치의 기능 또한 손상된다.
따라서, 전송 스트림에서 제공된 미디어 컨텐츠의 효과적이고 안전한 프로세싱을 가능하게 하는 솔루션들이 모색된다.
전송 스트림의 부분에 대한 공통 스크램블링이 본 발명에서 기술된다.
보다 상세하게, 스트림의 암호화된 부분이 복호될 필요없이 프로세싱(예를 들어, 역다중화, 색인)될 수 있는 방식으로 전송 스트림이 암호화된다. 그렇게 하기 위하여, 암호화되지 않고 전달될 스트림의 적어도 한 부분을 결정하기 위해 스트림에 대해 분석이 수행되고, 그에 의하여 스트림은 암호화된 부분들을 우회하는 방식으로 프로세싱될 수 있게 된다.
전송 스트림이 디스크램블링되지 않고 처리되도록 하는 공통 스크램블링 기술이 본 발명에서 기술된다. 보다 상세하게, 여기 기술된 실시예들은 전술된 프로 세싱을 가능하게 하기 위하여 수행되는 분석에 관한 것이다.
이하의 상세한 설명은 첨부 도면을 참조하여 설명된다.
도 1은 공통 스크램블링 기술의 실시예들이 구현될 수 있는 방송/전송 환경을 도시한다. 보다 상세하게, 컨텐츠 소스(100)는 방송 네트워크(110) 및/또는 방송 센터(115)를 통해 가입자들에게 분배되는 전송 스트림에 공통 스크램블링(105)을 적용할 수 있다. 대안적으로, 컨텐츠 소스(100)가 공통 스크램블링(105)을 전송 스트림에 적용하는지 하지 않는지에 관계없이, PC(125)가 또한 가입자 지역(120)에서 수신된 전송 스트림에 공통 스크램블링(130)을 적용할 수 있다. 또는 STB(135) 또한 가입자 지역(120)에서 수신된 전송 스트림에 공통 스크램블링(140)을 적용할 수 있다.
방송 네트워크(110)의 예는 케이블 텔레비전(CATV) 네트워크 및 직접 방송 위성(DBS) 네트워크를 포함한다. "헤드-엔드"라고도 언급되는 방송 센터(115)는 다양한 미디어 프로그래밍이 예를 들어 CATV나 DBS 다운링크로부터 수신되고 가입자 지역(120)으로의 전송을 위해 패키지화되는, 각 커뮤니티 내에 있는 중심부에 위치된 설비이다. 방송 센터(115)는 컨텐츠 소스(100) 및 다른 그러한 방송 센터들과 직접적으로, 방송 네트워크(110)를 통해, 또는 TCP/IP(전송 제어 프로토콜/인터넷 프로토콜)나 기타 표준 통신 프로토콜을 사용하는 인터넷에 의해 연결될 수 있다.
가입자 지역(120)에서, PC(125) 및 STB(135)는 방송 네트워크(110), 방송 센터(115) 또는 인터넷을 통해 컨텐츠 소스(100)로부터 미디어 신호를 수신한다. PC(125)에서 프로세싱되고 렌더링된 미디어 신호들은 PC(125)와 결합된 모니터에 디스플레이될 수 있고, STB(135)에서 프로세싱되고 렌더링된 미디어 신호들은 텔레비전(TV)(145)이나 유사한 디스플레이 장치에 디스플레이될 수 있다.
대안적으로, TV(145)는 내부에 통합된 STB(135)의 기능을 가질 수 있다. 또한, 현 구현들은 STB(135)와 TV(145) 사이의 일대일 대응을 포함하지만, 수신자 지역(120)에서 단일의 포괄적 STB(135)가 TV(145)의 여러 유닛들에 대하여 미디어 컨텐츠를 제공하도록 하기 위한 노력이 진행중이다. 그러한 포괄적 STB(135)는 또한 비디오 게임 컨솔의 모든 기능을 포함할 수 있다. 유사한 개발 노력이 포괄적 PC(125)에 대해 진행중이다.
도 2는 컨텐츠 소스(100), 방송 네트워크(110), 헤드-엔드(115) 또는 가입자 지역(120) 중 하나 혹은 임의의 조합에서 (PC(125) 및 STB(135) 중 적어도 하나에 의해) 실행될 수 있는 공통 스크램블링을 구현하는 동작들의 흐름 예를 도시한다. 동작의 순서에 있어서의 변화 및 변경을 포함하는 다양한 변화 및 변경들이 본 발명의 분야에 숙련된 지식을 가진 자들에게는 명백하겠지만, 도 2의 예는 도 1의 공통 스크램블링 예 즉, 컨텐츠 소스(100)에서의 공통 스크램블링(105), PC(125)에서의 공통 스크램블링(130) 및 STB(135)에서의 공통 스크램블링(140)에 적용될 수 있다.
여기서 사용된 것과 같이, "미디어 신호", "미디어 컨텐츠" 및 "컨텐츠"라는 용어는 호환성있게 사용될 수 있고, 컨텐츠 소스(100)에서 컴파일, 설계, 프로그램되고, 가입자 지역(120)에 위치된 PC(125) 및 STB(135) 중 적어도 하나로 전송되는 어플리케이션 및 소프트웨어 프로그램들에 포함될 수 있는 비디오 및/또는 오디오 컨텐츠, 그림, 애니메이션, 텍스트 등을 포함하는 것으로 넓게 해석될 수 있다. 따라서, 컨텐츠 소스(100)는 비디오 게임 서버, 웹사이트, 비디오 서버, 음악 서버, 소프트웨어 아카이브, 데이터베이스, 텔레비전 네트워크 등에 해당할 수 있다.
또한, 여기 기술된 실시예들은 MPEG-2 압축 표준에 따라 압축되고 있는 전송 스트림의 미디어 컨텐츠에 관한 것이다. MPEG-2는 디지털 미디어 컨텐츠가 저장 매체(예를 들어, CD 및 DVD)에서 및 CATV, DBS 시스템과 같은 여러 시스템 운영자(MSO)들에 의한 방송을 위해 압축되게 하는 압축 표준이다. 그러나, 디지털 미디어 컨텐츠와 관련된 어플리케이션들(예를 들어, PVR 및 VOD)이 증가하고 있고, 전송 대역폭에 대한 대응하는 요구도 마찬가지로 증가하고 있다는 점이 유의되어야 한다. 그러므로, 여기 기술된 실시예들은 디지털 미디어 컨텐츠에 대한 어플리케이션의 증가하는 수에 대응하는 디지털 미디어 컨텐츠에 대한 충분한 대역폭을 제공하기 위하여 (존재하는 데이터 전송 기반구조 내에서) 개발되고 있는 진보된 압축 표준에 따라 압축되는 전송 스트림의 미디어 컨텐츠에 또한 관련될 수 있다. 대안적으로, 실시예들은 또한 기존 및/또는 MPEG-4 및 H.264를 포함하지만 이들로 제한되지 않는 진보된 압축 표준에 따라 압축된 저장 매체의 미디어 컨텐츠에 관련될 수 있다. MPEG-2가 패킷화된 압축 표준이기 때문에, 여기 기술된 실시예들은 패킷화된 전송 스트림에 대한 용어로 설명되지만, 실시예들은 단지 예일 뿐이며 제한을 가하고자 하는 것은 아니다(또한 그렇게 해석되어서도 안 된다).
도 2에서, 블럭(205)은 암호화되지 않은 전송 스트림을 수신하기 위한 동작 을 나타낸다. 컨텐츠 소스(100)에서, 미디어 컨텐츠 전송 스트림은 그것으로부터 전송되기 전에 미디어 컨텐츠의 암호화되지 않은 스트림으로서의 형태를 취할 수 있다. 임의의 후속하는 지역에서, 방송 네트워크(110), 헤드-엔드(115) 또는 가입자 지역(120)(PC(125)와 STB(135) 중 적어도 하나를 이용하는)에서든지, 암호화된 전송 스트림은 자신의 암호화를 여기에 기술된 실시예에 따라 제거한다.
블럭(210)은 암호화되지 않은 전송 스트림을 분석하기 위한 동작을 나타낸다. 특히, 암호화되지 않은 전송 스트림은 암호화된 후에 겪게 되기 쉬울 수 있는 적어도 하나의 프로세스에 대한 데이터 요구조건의 관점에서 분석된다. 만약 하나 이상의 프로세스에 대응하는 통계 모델에 기초하여 결정이 행해지면, 임계값 데이터 요구조건들이 가장 광범위한(즉, 임계값) 데이터 요구조건들을 갖는 특정 프로세스에 대해 결정될 수 있다. 블럭(210)에서의 분석은 전송 스트림의 어느 부분이 암호화되지 않고 전달될지를 결정하기 위해 수행된다.
암호화된 후에 겪게 되기 쉬울 수 있는 프로세스의 예들은 저장, 역다중화 및 색인을 포함하지만 그것들로 제한되지는 않는다. 암호화된 전송 스트림은 후속하는 프로세싱이나 복호를 위해 가입자 지역(120)의 PC(125) 및 STB(135) 중 적어도 하나에 저장될 수 있다. 전송 스트림의 역다중화는 미디어 센터(즉, 데이터 저장소 및 재생 기계)로서 동작하는 클라이언트 장치에서 비디오 기본 스트림 및 오디오 기본 스트림 중 적어도 하나를 추출하기 위하여 구현될 수 있다. 전송 스트림의 페이로드 데이터를 색인하는 것은 PVR로서 동작하는 클라이언트 장치에서 트릭 모드(trick mode)를 가능하게 하기 위하여 구현될 수 있다. 트릭 모드는 PVR이 녹음된 미디어 컨텐츠를 다양한 속도로 앞으로 혹은 거꾸로 재생하고, 녹음되거나 디스플레이되고 있는 데이터를 잠시 멈추고, 정지한 프레임의 이미지(still-frame image)를 디스플레이하며, 녹음된 미디어 컨텐츠에서 원하는 참조 지점을 찾는 능력을 일컫는다. 또한, 전송 스트림의 페이로드 데이터를 색인하는 것은 분석 모듈이 비디오 기본 스트림으로부터 원하는 견본 이미지를 추출하도록 함으로써 구현될 수 있다.
전송 스트림의 어느 부분이 암호화되지 않고 전달될지를 결정하기 위한 블럭(210)에서의 분석은 동적으로 수행될 수 있다. 즉, 하나 이상의 프로세스를 구현하기 위하여 얼마나 많은 데이터가 필요로 되는지를 결정하기 위하여, 하나 이상의 프로세스에 대한 통계 모델에 기초한 분석이 수행될 수 있다. 대안적으로, 분석은 케이스-바이-케이스(case-by-case)로 수행될 수 있고, 그러므로 결정이 전송 스트림 내의 각 패킷의 컨텐츠에 대한 동적인 검사를 기초로 하여 행해진다.
일 실시예에 의하면, 블럭(210)에서의 분석은 패킷화된 기본 스트림(packetized elementary stream)(PES) 헤더를 찾고 프로세스를 구현하기 위해 필수적인 특정 패킷에 대한 헤더 데이터를 지나 허용되는 최대 침입(the maximum incursion past header data)을 결정하기 위하여 수행된다. 즉, PES 페이로드 데이터로의 침입을 전체 전송 스트림에 대한 프로세스를 구현하기 위한 수 바이트의 데이터를 수집한다. 침입된 수 바이트의 데이터는 "엑스트라 헤더 데이터(extra header data)"로 언급될 수 있다. PES 헤더 및 "엑스트라 헤더 데이터"는 암호화되어 전달되고, 따라서 암호화의 효과성을 감소시키지 않도록 침입이 최소로 유지 된다.
암호화는 패킷-바이-패킷(packet-by-packet) 기초로 전송 스트림에 적용된다. 즉, 패킷의 페이로드 데이터는 완전히 암호화되거나 전혀 암호화되지 않는다. 만약 블럭(210)에서의 분석이 패킷의 페이로드 데이터로부터의 임의의 바이트가 암호화되지 않고 전달되었다고 결정하면, 페이로드 데이터 패킷 전체가 암호화되지 않고 전달된 것이다. 그렇지 않으면 페이로드 데이터 패킷 전체가 암호화된다. 암호화되지 않은 패킷들의 식별자, 위치 및 대응하는 프로세스가 전송 스트림을 프로세싱하기 위한 모듈로 노출될 암호화 메쏘드 패킷(encryption method packet)에 포함될 수 있다. 암호화 메쏘드 패킷들은 아래 더 논의된다.
따라서, 블럭(210)에서의 분석은 임의의 헤더 정보를 포함하는 전송 스트림 내의 임의의 패킷이 암호화되지 않고 전달된다는 미리 결정된 승인을 포함할 수 있다. 보다 상세하게, PES 헤더 정보의 임의의 부분이나 "엑스트라 헤더 데이터"의 임의의 부분을 포함하는 패킷이 암호화되지 않고 전달된다. 그러한 패킷들과 헤더 정보에 대한 설명이 도 4를 참조하여 아래 제공된다.
블럭(215)은 블럭(210)에서 수행된 분석의 결과에 기초하여 암호화되지 않고서는 전달되지 않는 전송 스트림의 부분들에 공통 스크램블링을 적용하기 위한 동작을 나타낸다. 그러므로, 암호화되지 않고서 전달되는 전송 스트림의 부분들은 클리어하게(즉, 암호화되지 않은 채로) 유지된다.
MPEG-2 패킷화된 전송 스트림의 일 실시예에 따라서, 암호화되지 않고 전송되는 부분들은 PES 헤더 정보의 임의의 부분이나 "엑스트라 헤더 데이터"의 임의의 부분을 포함하는 임의의 패킷을 포함한다. 따라서, 공통 스크램블링이 적용될 패킷들은 완전히 PES 페이로드 데이터로 구성된 패킷들이다.
전송 스트림의 임의의 부분이 암호화되지 않고 전달될 수 있기 때문에, 대안적인 실시예는 만약 포함된 데이터가 디스크램블링 없이 전송 스트림을 프로세싱하도록 요구받지 않는다면, 프레임 헤더와 PES 헤더에 공통 스크램블링이 적용된 것으로 고려할 수 있다.
암호화된 패킷들에 적용된 스크램블링의 예는 암호-블럭 체인(cipher-block chaining)(CBC) 모드 또는 카운터(CTR) 모드에서의 진보된 암호화 표준(advanced encryption standard)(AES)을 포함한다. 본 발명의 기술분야에서 숙련된 지식을 가진 자는 CBC 모드를 사용할 때, 남은 데이터를 패딩하거나 암호화하지 않은 채로 남겨두는 것을 피하기 위하여, 본 예는 암호화된 전송 스트림 패킷들에 암호문 스틸링(cipher-text stealing)을 이용한다는 것을 이해해야 한다. 공통 스크램블링의 그러한 예들은 단지 예일 뿐이며, 어떠한 형식으로든 제한을 가하고자 하는 것이 아니라는 것(또한 제한을 가하는 것으로 해석되어서도 안 된다는 것)을 알아야 한다. 예를 들어, 구현될 수 있는 부가적인 블럭 암호 모드는 전자 코드북(ECB) 모드, 암호 피드백(CFB) 모드 및 출력 피드백(OFB) 모드를 포함하며 이들로 제한되지는 않는다.
블럭(220)은 암호화 메쏘드 패킷을 생성하기 위한 동작을 나타낸다. 암호화 메쏘드 패킷은 전송 스트림의 암호화된 부분에 이용된 암호화 알고리즘에 대한 식별을 제공할 수 있고, 허가된 복호기가 복호 키를 유도하기 위하여 필요로 하는 데 이터를 제공할 수 있으며, 암호화되지 않고 전달되는 전송 스트림의 부분을 식별하거나 암호화된 전송 스트림의 부분들을 식별할 수 있다. 암호화 메쏘드 패킷은 암호화된 스트림의 어떤 부분들이 각 프로세스(역다중화, 트릭 모드에 대한 색인, 또는 견본 추출)에 대해 요구되는지를 식별하는 데이터를 더 포함할 수 있다. 또한, 암호화 메쏘드 패킷은 다중화된 전송 스트림에 따라 삽입된다.
암호화 메쏘드 패킷은 전송 스트림의 모든 암호화된 부분들에 대응하여 생성될 수 있다. 대안적으로, 암호화 메쏘드 패킷들은 암호화된 PES 페이로드 데이터의 각 패킷이나 바이트들에 대응하여 생성될 수 있다. 따라서, 암호화된 방법 패킷은 전송 스트림에서의 각 PES 헤더에 대응하여, 전송 스트림에서의 미리 정해진 수의 PES 헤더에 대응하여, 또는 다른 프로세스들에 대해 암호화되지 않고 전달되는 미리 정해진 패턴의 패킷들에 대응하여 생성될 수 있다.
또한, 실시예들은 암호화 메쏘드 패킷이 전송 스트림으로 삽입될 것을 요구하지 않는다. 암호화 메쏘드 패킷은 복호 시점까지 필요로 되지 않기 때문에, 암호화 메쏘드 패킷은 그것이 복호 시점까지 프로세서에 의해 수신되는 한, 대역 내(in-band) 또는 대역 외(out-of-band)로 프로세서에 전송될 수 있다. 또한, 암호화 메쏘드 패킷은 후에 대역 내 혹은 대역 외로 프로세서에 전송되는 컨텐츠 사용 라이센스(content usage license)에 전송될 수 있다.
블럭(225)은 전송 스트림의 암호화된 부분을 우회(bypassing)하는 방식으로 전송 스트림을 처리하기 위한 동작을 나타낸다. 앞서 나타낸 것처럼, 전송 스트림의 복호를 요구하는 프로세스는 장치 자원 및 보안의 관점에서 비용이 많이 든다. 공통 스크램블링은 블럭(225)에서 암호화된 패킷의 복호를 요구하지 않는 방식으로 프로세싱하는 것을 가능하게 한다. 역다중화나 색인과 같은 프로세싱은 전송 스트림의 암호화되지 않은 부분에서 발견된 데이터에 기초하여 부분적으로 암호화된 전송 스트림에 대해 구현될 수 있다. 현재의 MPEG-2 실시예들 중 한 실시예에서, 전송 스트림의 그러한 암호화되지 않은 부분들은 PES 헤더의 부분이나 "엑스트라 헤더 데이터"의 부분을 포함하는 임의의 패킷을 포함한다. 또한 대안적인 실시예에서, 전송 스트림의 그러한 암호화되지 않은 부분들은 암호화된 PES 페이로드 데이터 곳곳에 임의대로 위치된 프레임 헤더들을 포함한다.
블럭(230)은 전송 스트림에 포함된 페이로드 데이터를 렌더링하기 위한 동작을 나타낸다. 앞서 나타낸 것처럼, 렌더링은 전송 스트림 데이터가 복호될 것을 요구하고, 그러므로 암호화 메쏘드 패킷에 포함된 데이터를 식별하는 것이 이 시점에서 필요하다. 복호 시, 전송 스트림에 포함된 페이로드 데이터는 PC(125)나 TV(145)의 사용자에 의해 경험될 수 있다(즉, 보여지고/보여지거나 들림).
도 3은 실시예에 따라 공통 스크램블링을 구현하는 장치에 대응하는 블럭도를 나타낸다. 본 발명의 설명으로부터 다양한 변화 및 변경이 본 발명의 기술분야에 숙련된 지식을 가진 자들에게 명백해질 것이지만, 도 3의 예는 도 1의 공통 스크램블링 예 즉, 컨텐츠 소스(100)에서의 공통 스크램블링(105), PC(125)에서의 공통 스크램블링(130) 및 STB(135)에서의 공통 스크램블링(140)에 적용될 수 있다. 게다가, 도 3의 장치 예가 도 2의 동작들을 실행하지만 그러한 동작들의 기술되고 도시된 순서는 단지 예일 뿐이며 제한을 가하고자 하는 것이 아니다(또한 그렇게 해석되어서도 안 된다).
도 3은 암호화 모듈(310)에 의해 수신되는 전송 스트림(305)을 도시한다. 컨텐츠 소스(100)에서, 전송 스트림(305)이 미디어 컨텐츠의 암호화되지 않은 스트림으로서 암호화 모듈(310)에 의해 수신된다. 임의의 후속하는 장소에서, 그것이 방송 네트워크(110)에서든지, 헤드-엔드(110)에서든지 또는 가입자 지역(120)(PC(125) 및 STB(135) 중 적어도 하나를 이용하는)에서든지, 전송 스트림(305)은 암호화된 스트림으로서 암호화 모듈(310)에 의해 수신되고 이어서 암호화가 제거된다.
암호화 모듈(310)은 분석기(315), 공통 스크램블러(320) 및 암호화 메쏘드 패킷 생성기(325)에 대응하는 모듈을 포함하는 것으로서 본 발명에서 기술된다. 이러한 모듈들은 공통 기판 내에 또는 기판들의 다양한 조합에 배치될 수 있다.
분석기(315)는 암호화되지 않은 전송 스트림(305)을 수신하고, 암호화된 후에 전송 스트림이 겪게 되기 쉬울 수 있는 적어도 하나의 프로세스에 대한 데이터 요구사항에 기초하여 전송 스트림(305)의 어떤 부분이 암호화되지 않고 전달되어야 할지를 결정한다. 전송 스트림(305)의 어떤 부분이 암호화되지 않고 전달되어야 하는지에 대한 결정은 적어도 하나의 프로세스에 대한 통계 모델에 기초하여 수행될 수 있고, 그 통계 모델은 프로세스를 구현하기 위해 필요한 데이터의 양을 나타낸다. 대안적으로, 전송 스트림(305) 내의 각 패킷의 내용에 대한 동적인 분석에 기초하여 결정이 동적으로 수행될 수 있다.
일 실시예에 의하면, 분석기(315)는 전체 전송 스트림에서 프로세스를 구현 하기 위해 필수적인 정보를 수집하기 위해 요구되는 전송 스트림의 페이로드 데이터로의 침입의 깊이를 결정한다. 페이로드 데이터에서 침입된 데이터의 바이트들은 "엑스트라 헤더 데이터"를 포함하고, "엑스트라 헤더 데이터"는 암호화되지 않고 전달된다. 또다른 실시예에 의하면, 분석기(315)는 전체 전송 스트림에서 프로세스를 구현하기 위해 필수적인 정보를 포함하는 프레임 헤더들을 식별한다. 프레임 헤더들은 전송 스트림의 페이로드 데이터 곳곳에 임의대로 배치될 수 있고, 암호화되지 않고 전달된다.
일 실시예에 의하면, 분석기(315)는 임의의 헤더 정보를 포함하는 전송 스트림 내의 임의의 패킷은 암호화되지 않고 전달된다는 것을 미리 승인(pre-acknowledge)한다. 보다 상세하게, PES 헤더 정보의 임의의 부분이나 "엑스트라 헤더 데이터"의 임의의 부분을 포함하는 임의의 패킷은 암호화되지 않고 전달된다. 또다른 대안적인 실시예에서, 분석기(315)는 PES 페이로드 데이터 곳곳에 임의대로 배치된 전송 스트림을 프로세싱하기 위해 필수적인 임의의 데이터는 암호화되지 않고 전달된다는 것을 미리 승인한다.
공통 스크램블러(320)는 암호화되지 않고서 전달되지 않을 전송 스트림(305)의 부분들에 공통 스크램블링을 적용한다. 따라서, 현재의 MPEG-2 예들 중 한 예에서, "엑스트라 헤더 데이터" 이외에 PES 페이로드 데이터만을 포함하는 패킷들은 공통 스크램블링되고, 반면에 암호화되지 않은 채 남겨지는 패킷들은 PES 헤더 정보의 임의의 부분이나 "엑스트라 헤더 데이터" 정보의 임의의 부분을 포함하는 패킷들을 포함한다.
PES 페이로드 데이터를 포함한 패킷들에 적용된 공통 스크램블링은 전술한 암호 블럭 모드(즉, CBC, CTR, ECB, CFB 및 OFB)에서의 AES를 포함한다.
암호화 메쏘드 패킷 생성기(325)는 전송 스트림(305)의 프로토콜에 따라 암호화 메쏘드 패킷을 생성한다. 생성된 암호화 메쏘드 패킷은 공통 스크램블러(320)에 의해 이용된 알고리즘에 대한 식별을 제공할 수 있고, 허가된 프로세서가 복호 키를 유도하기 위해 필요로 하는 데이터를 제공할 수 있으며, 암호화되지 않고 전달된 전송 스트림의 부분을 식별하거나 암호화된 전송 스트림의 부분을 식별할 수 있다. PES 페이로드 데이터가 대응하는 전송 스트림을 프로세싱하기 위해 필수적인 암호화되지 않고 임의대로 배치된 데이터를 포함하는 대안적인 실시예에 대하여, 암호화 메쏘드 패킷은 암호화되지 않은 데이터, PES 페이로드 데이터 내에서의 그들의 위치 및 그 데이터와 관련된 프로세스를 식별한다. 또한, 암호화 메쏘드 패킷은 각 프로세스(역다중화, 트릭 모드에 대한 색인 또는 견본 추출)에 대해 암호화된 스트림의 어느 부분이 요구되는지를 식별하는 데이터를 더 포함할 수 있다.
암호화 메쏘드 패킷은 전송 스트림(305)의 모든 암호화된 부분에 대응하여, 암호화된 PES 페이로드 데이터의 각 패킷들에 대응하여, 또는 기타 프로세스들에 대해 암호화되지 않고 전달되는 미리 결정된 패턴의 패킷들에 대응하여 생성될 수 있다. 따라서, 암호화 메쏘드 패킷 생성기(325)는 전송 스트림(305)에서 미리 결정된 수의 PES 헤더들이 발생할 때, 또는 기타 프로세스들에 대해 암호화되지 않고 남겨지는 미리 결정된 패턴의 패킷들이 발생할 때, 전송 스트림(305)의 각 PES 헤 더에 대응하도록 암호화 메쏘드 패킷을 생성할 수 있다.
그리하여 암호화 모듈(310)은 공통 스크램블링된 전송 스트림(330)을 생성한다. 일 MPEG-2 실시예에 의하면, 공통 스크램블링된 전송 스트림(330)은 암호화되지 않은 패킷들 및 암호화된 패킷들을 포함한다. 암호화되지 않은 패킷들은 PES 헤더의 임의의 부분과 "엑스트라 헤더 데이터"의 임의의 부분을 포함하는 패킷들을 포함한다. 암호화된 패킷들은 PES 페이로드 데이터만을 포함하는 패킷들을 포함한다. 공통 스크램블링된 전송 스트림(330)의 암호화되지 않은 부분을 복호하지 않고서 프로세스들을 구현하기 위해 요구되는 데이터로의 변경이 발생할 수 있기 때문에, 암호화 및 암호화되지 않은 패킷들의 이러한 예들은 제한을 가하고자 하는 것이 아님을 잘 알 것이다. 따라서, 그러한 제약들이 포괄되지 않으며 어떤 것도 추측되어서는 안 된다.
공통 스크램블링된 전송 스트림(330)은 암호화 메쏘드 패킷 생성기(325)에 의해 생성된 암호화 메쏘드 패킷을 포함할 수도 있고, 포함하지 않을 수도 있다. 즉, 암호화 메쏘드 패킷은 복호 시점까지 필요로 되지 않기 때문에, 암호화 메쏘드 패킷은 복호 시점까지 복호기에 의해 수신되는 한, 대역 내 혹은 대역 외로 복호기에게 전송될 수 있다. 또한, 암호화 메쏘드 패킷은 그 후 프로세서에게 대역 내 혹은 대역 외로 전송되는 컨텐츠 사용 라이센스에 전송될 수 있다.
역다중화기/색인기(335)는 공통 스크램블링된 전송 스트림(330)의 암호화된 부분을 우회하는 방식으로 공통 스크램블링된 전송 스트림(330)을 프로세싱한다. 역다중화 및 색인의 프로세스 예들은 공통 스크램블링된 전송 스트림(330)의 암호 화되지 않은 부분을 사용하여 공통 스크램블링된 전송 스트림(330)에서 구현될 수 있다. 현재의 MPEG-2 실시예들 중 하나에 의하면, 공통 스크램블링된 전송 스트림(330)의 암호화되지 않은 부분은 PES 헤더 또는 "엑스트라 헤더 데이터"를 포함하는 임의의 패킷을 포함한다. 따라서, 역다중화기/색인기(335)의 자원이 유지되어 더 견고한 프로세싱을 제공할 수 있으며, 또한 공통 스크램블링된 전송 스트림(330)의 페이로드 데이터의 보안도 유지된다.
도 4는 일 실시예에 따른 패킷화된 전송 스트림(400)을 도시한다. 전송 스트림(400) 예는 패킷들(405, 420, 445 및 460)을 포함한다.
도 1의 방송 및 프로세싱 환경을 참조하면, 전송 스트림(400)은 본 발명에 기술된 실시예에 따라 공통 스트램블링되기에 앞서, 컨텐츠 소스(100), 방송 네트워크(110), 헤드-엔드(115) 또는 수신자 지역(120)(PC(125) 또는 STB(135)에 의한) 중 임의의 장소에서 암호화가 제거된다. 역다중화 및 색인과 같은 프로세싱이 전송 스트림(400)의 전체가 복호될 필요없이 전송 스트림(400)에서 수행되기 위하여, 전송 스트림(400)의 부분들이 암호화되지 않고 전달된다.
전송 스트림(400)의 어떤 부분들이 암호화되지 않고 전달될지에 대한 결정은 암호화된 후에 전송 스트림이 겪게 되기 쉬울 수 있는 적어도 하나의 프로세스에 대한 데이터 요구조건에 기반을 둔다. 결정은 적어도 하나의 프로세스를 구현하기 위해 필요한 데이터의 양을 나타내는 적어도 하나의 프로세스에 대한 통계 모델에 기초하여 수행될 수 있고, 또는 전송 스트림(400) 내의 각 패킷의 컨텐츠에 대한 동적인 분석에 기초하여 동적으로 수행될 수 있다.
임의의 헤더 정보를 포함하는 전송 스트림 내의 임의의 패킷은 암호화되지 않고 전달된다는 점이 전송 스트림(400)을 프로세싱하는 임의의 클라이언트 장치에 의해 미리 승인된다. 보다 상세하게, PES 헤더 정보(430)의 임의의 부분 또는 프레임 헤더(435)의 임의의 부분을 포함하는 임의의 패킷은 암호화되지 않고 전달된다. 결정되도록 남겨진 것은, 전송 스트림(400)에서 원하는 프로세스를 구현하기 위한 정보를 수집하기 위한 전송 스트림(400)의 페이로드 데이터(440 및 455)로의 침입의 깊이이다. 그래서, 클라이언트 장치의 자원에 대한 부담을 줄이기 위하여, 페이로드 데이터(455)만을 갖는 임의의 패킷은 공통 스크램블링되는 것으로 결정된다. 따라서, 패킷들(405 및 420)은 클리어하게 남겨지고, 패킷(445)은 공통 스크램블링된다. 패킷(445)에 적용된 공통 스크램블링은 CBC나 CTR 모드의 AES를 포함한다.
대안적인 실시예에 의하면, 전송 스트림을 프로세싱하기 위해 요구되는 페이로드 데이터(440 및 455) 내의 임의의 바이트의 데이터는 암호화되지 않고 전달된다. 그러면, 전송 스트림을 프로세싱하기 위해 클리어할 것이 요구되지 않기 때문에 페이로드 데이터의 나머지는 암호화된다. 따라서, 또다른 대안적인 실시예는 전송 스트림을 프로세싱하기 위해 요구되지 않는 헤더 데이터를 암호화하는 것을 고려할 수 있다.
암호화 메쏘드 패킷(460)은 패킷들(405, 420 및 445)과 다중화되기 쉽다. 암호화 메쏘드 패킷(460)은 전송 스트림(400)을 공통 스크램블링하는 데에 이용된 알고리즘을 식별할 수 있고, 암호화 키(470)를 제공할 수 있으며, 더 나아가 암호 화되지 않고 전달되거나 암호화되어 전송되는 전송 스트림(400)의 부분들을 식별할 수 있다.
또한, 암호화 메쏘드 패킷(460)은 전송 스트림(400)으로 삽입되거나, 대역 내 혹은 대역 외로(개인 테이블(private table)을 통해) 개별적으로 역다중화기/색인기(335)로 전송될 수 있다. 암호화 메쏘드 패킷의 식별 정보는 프로세서에게 대역 외로 전송되는 컨텐츠 사용 라이센스로 전달될 수 있다.
도 5는 본 발명에서 설명된 기술을 구현하기 위해 사용될 수 있는 일반적인 컴퓨터 환경(500)을 도시한다. 컴퓨터 환경(500)은 컴퓨터 환경의 단지 하나의 예일 뿐이며 컴퓨터와 네트워크 아키텍처의 사용 혹은 기능성의 범위에 어떠한 제한을 가하고자 하는 것은 아니다. 컴퓨터 환경(500)이 예시적인 컴퓨터 환경(500)에 도시된 컴포넌트들 중 어느 하나 혹은 조합에 관계되어 어떠한 의존성이나 요구사항을 가지는 것으로 해석되어서는 안 된다.
컴퓨터 환경(500)은 컴퓨터(502)의 형태로 범용 컴퓨팅 장치를 포함하고, 그것은 PC(125)(도 1 참조)나 STB(135)에 대응할 수 있다. 컴퓨터(502)의 컴포넌트들은 하나 이상의 프로세서나 프로세싱 유닛(504), 시스템 메모리(506) 및 프로세서(504)를 포함한 다양한 시스템 컴포넌트들을 시스템 메모리(506)로 연결하는 시스템 버스(508)를 포함하지만 이들로 제한되지 않는다.
시스템 버스(508)는 메모리 버스나 메모리 컨트롤러, 주변 버스(peripheral bus), 가속 그래픽 포트(accelerated graphics port) 및 프로세서 또는 다양한 버스 아키텍처 중 임의의 것을 사용하는 로컬 버스를 포함하여, 다양한 형태의 버스 아키텍처 중 하나 이상의 임의의 것을 나타낸다. 예를 들어, 그러한 아키텍처들은 산업 표준 구조(Industry Standard Architecture: ISA) 버스, 마이크로 채널 구조(Micro Channel Architecture:MCA) 버스, 강화된 ISA(Enhanced ISA:EISA) 버스, 비디오 전자 표준 협회(Video Electronics Standards Association:VESA) 로컬 버스, Mezzanine 버스로도 알려진 주변 컴포넌트 인터커넥트(Peripheral Component Interconnects:PCI) 버스, PCI 익스프레스 버스, USB(Universal Serial Bus), SD(Secure Digital) 버스, 또는 IEEE 1394 버스 즉, FireWire를 포함할 수 있다.
컴퓨터(502)는 다양한 컴퓨터 판독가능 매체를 포함할 수 있다. 그러한 매체는 컴퓨터(502)에 의해 액세스 가능한 임의의 가용 매체일 수 있으며, 휘발성 및 비휘발성, 분리가능 및 분리불가능 매체 모두를 포함한다.
시스템 메모리(506)는 랜덤 액세스 메모리(RAM)(510)와 같은 휘발성 메모리의 형태 및/또는 판독전용 메모리(ROM)(512)나 플래시 RAM과 같은 비휘발성 메모리의 형태의 컴퓨터 판독가능 매체를 포함한다. 컴퓨터를 시작할 때 등에, 컴퓨터(502) 내의 구성요소들 간의 정보의 전달을 돕는 기본 루틴을 포함하는 기본 입력/출력 시스템(BIOS)(514)은 ROM(512)이나 플래시 RAM에 저장된다. RAM(510)은 전형적으로 즉시 액세스 가능하고/가능하거나 현재 프로세싱 유닛(504)에 의해 실행중인 데이터 및/또는 프로그램 모듈을 포함한다.
컴퓨터(502)는 또한 기타 분리가능/분리불가능한 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 예를 들어, 도 5는 분리 불가능한 비휘발성 자기 매체(도시되지 않음)에 대한 판독 및 기입을 위한 하드 디스크 드라이브(516), 분리 가 능한 비휘발성 자기 디스크(520)(예를 들면, "플로피 디스크")에 대한 판독 및 기입을 위한 자기 디스크 드라이브(518) 및 CD-ROM, DVD-ROM 또는 기타 광학 매체와 같은 분리가능한 비휘발성 광학 디스크(524)에 대한 판독 및 기입을 위한 광학 디스크 드라이브(522)를 도시한다. 하드 디스크 드라이브(516), 자기 디스크 드라이브(518) 및 광학 디스크 드라이브(522)는 하나 이상의 데이터 매체 인터페이스(526)에 의해 각각 시스템 버스(508)로 연결된다. 대안으로, 하드 디스크 드라이브(516), 자기 디스크 드라이브(518) 및 광학 디스크 드라이브(522)는 하나 이상의 인터페이스(도시되지 않음)에 의해 시스템 버스(508)로 연결될 수 있다.
디스크 드라이브와 그 관련 컴퓨터 판독가능 매체는 컴퓨터(502)에게 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 및 기타 데이터의 비휘발성 저장소를 제공한다. 본 예는 하드 디스크(516), 분리가능 자기 디스크(520) 및 분리가능 광학 디스크(524)를 도시하고 있지만, 컴퓨터에 의해 액세스 가능한 데이터를 저장할 수 있는 다른 형태의 컴퓨터 판독가능 매체들 또한 예시된 컴퓨팅 시스템과 환경을 구현하기 위해 사용될 수 있으며, 그러한 매체로는 자기 카세트 또는 다른 자기 저장 장치, 플래시 메모리 카드, CD-ROM, DVD(digital versatile disk) 또는 기타 광학 저장소, RAM, ROM, EEPROM 등이 있다.
예를 들어, 운영 시스템(526), 하나 이상의 어플리케이션 프로그램(528), 기타 프로그램 모듈(530) 및 프로그램 데이터(532)를 포함하는 임의의 개수의 프로그램 모듈들이, 하드 디스크(516), 자기 디스크(520), 광학 디스크(524), ROM(512) 및/또는 RAM(510)에 저장될 수 있다. 그러한 운영 시스템(526), 하나 이상의 어플 리케이션 프로그램(528), 기타 프로그램 모듈(530) 및 프로그램 데이터(532)(또는 이들의 임의의 조합) 각각은 분산 파일 시스템을 지원하는 상주 컴포넌트의 전부 또는 일부를 구현할 수 있다.
사용자는 키보드(534)와 포인팅 장치(536)(예를 들어, "마우스")와 같은 입력 장치를 통해 명령어와 정보를 컴퓨터(502)로 입력할 수 있다. 기타 입력 장치(538)(상세하게 도시되지 않음)들은 마이크, 조이스틱, 게임패드, 위성 디쉬, 직렬 포트, 스캐너 등을 포함할 수 있다. 이러한 기타 입력 장치들은 시스템 버스(508)로 연결된 입력/출력 인터페이스(540)를 통해 프로세싱 유닛(504)으로 연결되지만, 병렬 포트, 게임 포트 또는 USB와 같은 기타 인터페이스 및 버스 구조에 의해 연결될 수도 있다.
모니터(542) 또는 다른 형태의 디스플레이 장치 또한 비디오 어댑터(544)와 같은 인터페이스를 통해 시스템 버스(508)로 연결될 수 있다. 모니터(542) 외에, 다른 출력 주변 장치들은 입력/출력 인터페이스(540)를 통해 컴퓨터(502)로 연결될 수 있는 스피커(도시되지 않음) 및 프린터(546)와 같은 컴포넌트를 포함할 수 있다.
컴퓨터(502)는 원격 컴퓨팅 장치(548)와 같은 하나 이상의 원격 컴퓨터로의 논리적 연결을 사용하여 네트워크 환경에서 동작할 수 있다. 예를 들어, 원격 컴퓨팅 장치(548)는 PC, 휴대용 컴퓨터, 서버, 라우터, 네트워크 컴퓨터, 피어 디바이스 또는 다른 공통 네트워크 노드 등이 될 수 있다. 원격 컴퓨팅 장치(548)는 컴퓨터(502)와 관련되어 여기에 기술된 많은 또는 모든 구성요소들과 특징들을 포 함할 수 있는 휴대용 컴퓨터로서 도시된다.
컴퓨터(502)와 원격 컴퓨터(548) 사이의 논리적 연결은 근거리 통신망(LAN)(550)과 일반적인 광역 통신망(WAN)(552)으로서 기술된다. 그러한 네트워킹 환경은 사무실, 기업규모 컴퓨터 네트워크, 인트라넷 및 인터넷에서 일반적인 것이다.
LAN 네트워킹 환경에서 구현될 때, 컴퓨터(502)는 네트워크 인터페이스 또는 어댑터(554)를 통해 근거리 통신망(550)에 연결된다. 광역 통신망(WAN) 네트워킹 환경에서 구현될 때, 컴퓨터(502)는 광역 통신망(552)을 통한 통신을 설정하기 위하여 전형적으로 모뎀(556)이나 다른 수단을 포함한다. 컴퓨터(502)로 내장되거나 외장일 수 있는 모뎀(556)은 입력/출력 인터페이스(540)나 다른 적절한 메커니즘을 통해 시스템 버스(508)로 연결될 수 있다. 도시된 네트워크 연결들은 예이며, 컴퓨터들(502, 548) 사이에 적어도 하나의 통신 링크를 설정하는 다른 수단이 사용될 수 있다는 것을 알아야 한다.
컴퓨팅 환경(500)과 함께 도시된 것과 같은 네트워크 환경에서, 컴퓨터(502)와 관련되어 기술된 프로그램 모듈 또는 그 일부는 원격 메모리 저장 장치에 저장될 수 있다. 예를 들어, 원격 어플리케이션 프로그램(558)은 원격 컴퓨터(548)의 메모리 장치에 상주한다. 예시의 목적으로, 어플리케이션 또는 프로그램 및 운영 시스템과 같은 기타 실행가능한 프로그램 컴포넌트들이 개별적인 블럭으로 도시되어 있지만, 그러한 프로그램 및 컴포넌트들은 컴퓨팅 장치(502)의 상이한 저장 컴포넌트들에 여러 번 상주하며 컴퓨터의 적어도 하나의 데이터 프로세서에 의해 실 행된다는 점을 알아야 한다.
다양한 모듈과 기술들이 하나 이상의 컴퓨터나 다른 장치들에 의해 실행되는, 프로그램 모듈과 같은 컴퓨터 실행 가능한 명령어의 일반적인 문맥으로 여기에 기술될 수 있다. 일반적으로, 프로그램 모듈들은 특정 태스크를 수행하거나 특정 추상 데이터 타입을 구현하기 위한 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 전형적으로, 프로그램 모듈의 기능은 다양한 실시예에서 바라는 대로 결합되거나 분산될 수 있다.
이러한 모듈과 기술의 구현은 소정 형태의 컴퓨터 판독가능 매체에 저장되거나 그러한 매체들을 거쳐 전송될 수 있다. 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있다. 제한적이지 않은 예로서, 컴퓨터 판독가능 매체는 "컴퓨터 저장 매체"와 "통신 매체"를 포함할 수 있다.
"컴퓨터 저장 매체"는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 방법이나 기술로 구현되는 휘발성 및 비휘발성, 분리가능 및 분리불가능 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD 또는 기타 광학 저장소, 자기 카세트, 자기 테이프, 자기 디스크 저장소 또는 기타 자기 저장 장치, 또는 원하는 정보를 저장하기 위해 사용될 수 있고, 컴퓨터에 의해 액세스될 수 있는 기타 매체를 포함하지만, 이들로 제한되는 것은 아니다.
"통신 매체"는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파나 기타 전송 메커니즘과 같은 변조된 데이터 신호 내의 다른 데 이터를 포함한다. 통신 매체는 또한 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 신호 내에서 정보를 암호화하기 위한 방식으로 하나 이상의 특성이 설정 또는 변화된 신호를 의미한다. 제한하지 않는 예로서, 통신 매체는 유선 네트워크나 직접 유선연결된 연결과 같은 유선 매체 및 음향, RF, 적외선 및 기타 무선 매체와 같은 무선 매체를 포함한다. 상술한 것들의 임의의 조합 또한 컴퓨터 판독가능 매체의 범위에 포함된다.
본 명세서 곳곳에 "일 실시예", "실시예", 또는 "예시적인 실시예"에 대한 언급이 행해지는데, 이것은 특정 기술된 특징, 구조 또는 특성이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 그러한 구절의 사용은 단지 하나의 실시예보다 그 이상을 언급할 수 있다. 게다가, 기술된 특징, 구조 또는 특성들이 하나 이상의 실시예에서 임의의 적합한 방식으로 결합될 수 있다.
그러나, 관련 분야에서 숙련된 지식을 가진 자는 본 발명이 하나 이상의 특정 세부사항 없이, 또는 다른 방법, 자원, 요소 등을 가지고 실행될 수 있다는 점을 인지할 수 있다. 다른 경우에, 잘 알려진 구조, 자원 또는 동작들은 단지 본 발명의 견지를 모호하게 하는 것을 피하기 위해 도시되거나 기술되지 않는다.
본 발명의 예시적인 실시예 및 적용이 도시되고 기술되지만, 본 발명이 상술된 명확한 구성 및 자원들로 한정되지 않는다는 점을 이해해야 한다. 본 발명의 기술 분야에서 숙련된 지식을 가진 자들에게 명백한 다양한 변경, 변화 및 변동이 청구된 발명의 범위를 벗어남 없이 여기 기술된 본 발명의 방법 및 시스템의 배치, 동작, 세부사항에 행해질 수 있다.
스트림의 암호화된 부분을 우회하는 방식으로 스트림이 프로세싱되는 것을 가능하게 한다.

Claims (40)

  1. 전송 스트림을 분석하는 단계, 및
    상기 전송 스트림의 암호화된 부분을 우회(bypassing)하는 프로세싱을 위해 상기 전송 스트림을 준비하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 전송 스트림을 분석하는 단계는 상기 전송 스트림의 어느 부분들이 암호화되지 않고 전달될 것인지를 결정하는 단계를 포함하는 방법.
  3. 제2항에 있어서,
    상기 전송 스트림의 어느 부분들이 암호화되지 않고 전달될 것인지를 결정하는 단계는 통계적 분석에 기초하여 실행되는 방법.
  4. 제2항에 있어서,
    상기 전송 스트림의 어느 부분들이 암호화되지 않고 전달될 것인지를 결정하는 단계는 동적으로 실행되는 방법.
  5. 제2항에 있어서,
    상기 전송 스트림의 어느 부분들이 암호화되지 않고 전달될 것인지를 결정하는 단계는 상기 프로세싱을 위한 데이터를 수집하기 위해 패킷 헤더 너머로 허용가능한 침입(incursion)을 결정하는 단계를 포함하는 방법.
  6. 제2항에 있어서,
    상기 전송 스트림의 어느 부분들이 암호화되지 않고 전달될 것인지를 결정하는 단계는 패킷화된 기본 스트림(packetized elementary stream,PES) 헤더의 적어도 하나의 부분을 포함하는 데이터 패킷을 검출하는 단계를 포함하는 방법.
  7. 제2항에 있어서,
    상기 전송 스트림의 어느 부분들이 암호화되지 않고 전달될 것인지를 결정하는 단계는 상기 전송 스트림을 프로세싱하기 위해 요구되는 데이터의 바이트들을 검출하는 단계를 포함하는 방법.
  8. 제1항에 있어서,
    프로세싱을 위해 상기 전송 스트림을 준비하는 단계는 암호화되지 않고서 전달되지 않는 상기 전송 스트림의 부분을 암호화하는 단계를 포함하는 방법.
  9. 제1항에 있어서,
    프로세싱을 위해 상기 전송 스트림을 준비하는 단계는 PES 페이로드 데이터 를 포함하는 패킷들을 암호화하는 단계를 포함하는 방법.
  10. 제1항에 있어서,
    프로세싱을 위해 상기 전송 스트림을 준비하는 단계는 프레임 헤더의 부분을 포함하는 패킷을 암호화되지 않은 채로 남겨두는 단계를 포함하는 방법.
  11. 제1항에 있어서,
    프로세싱을 위해 상기 전송 스트림을 준비하는 단계는 상기 전송 스트림을 프로세싱하기 위해 요구되는 데이터의 바이트들을 암호화되지 않은 채로 남겨두는 단계를 포함하는 방법.
  12. 제1항에 있어서,
    프로세싱을 위해 상기 전송 스트림을 준비하는 단계는 PES 페이로드 데이터를 포함하는 패킷들을 공통 스크램블링(common scrambling)하는 단계를 포함하는 방법.
  13. 제1항에 있어서, 프로세싱을 위해 상기 전송 스트림을 준비하는 단계는
    다중화되기 쉬운(multiplex-compliant) 암호화 메쏘드 패킷을 생성하는 단계, 및
    상기 다중화되기 쉬운 암호화 메쏘드 패킷을 상기 전송 스트림으로 삽입하는 단계를 포함하는 방법.
  14. 제13항에 있어서,
    상기 암호화 메쏘드 패킷은 프로세싱을 위해 상기 전송 스트림을 준비할 때 사용된 암호화 알고리즘을 식별하고, 상기 전송 스트림의 암호화된 부분을 식별하며, 복호 키를 유도하기 위한 데이터를 제공하는 방법.
  15. 제13항에 있어서,
    상기 암호화 메쏘드 패킷은 상기 전송 스트림의 암호화되지 않은 부분, 상기 전송 스트림의 암호화되지 않은 부분의 위치 및 상기 전송 스트림의 암호화되지 않은 부분에 대응하는 프로세스를 식별하는 방법.
  16. 제13항에 있어서,
    상기 암호화 메쏘드 패킷은 개인 테이블(private table)을 통해 전달되는 방법.
  17. 부분적으로 암호화된 전송 스트림을 수신하는 단계, 및
    상기 전송 스트림의 암호화된 부분을 우회하는 방식으로 상기 전송 스트림을 프로세싱하는 단계
    를 포함하는 방법.
  18. 제17항에 있어서,
    상기 전송 스트림에 대응하는 다중화되기 쉬운 암호화 메쏘드 패킷을 수신하는 단계, 및
    복호 키를 사용하여 상기 전송 스트림의 암호화된 부분을 복호하는 단계를 더 포함하는 방법.
  19. 제18항에 있어서,
    상기 복호 키는 상기 암호화 메쏘드 패킷에 포함되거나 대역 외 메시지에서 수신되는 방법.
  20. 제17항에 있어서,
    상기 전송 스트림을 프로세싱하는 단계는 상기 전송 스트림의 암호화되지 않은 부분에 기초하여 상기 전송 스트림을 역다중화하는 단계를 포함하는 방법.
  21. 제17항에 있어서,
    상기 전송 스트림을 프로세싱하는 단계는 상기 전송 스트림의 암호화되지 않은 부분에 기초하여 상기 전송 스트림에 포함된 페이로드 데이터를 색인하는 단계를 포함하는 방법.
  22. 하나 이상의 프로세서에 의해 실행가능한 하나 이상의 명령어를 가지는 컴퓨터 판독가능 매체로서, 상기 하나 이상의 명령어들은 상기 하나 이상의 프로세스들이
    전송 스트림의 암호화된 부분을 무시하는 프로세싱에 대해 상기 전송 스트림의 어느 부분들이 암호화되지 않고 전달될지를 결정하는 단계, 및
    상기 프로세싱을 위해 상기 전송 스트림을 준비하는 단계
    를 수행하도록 하는 컴퓨터 판독가능 매체.
  23. 제22항에 있어서,
    상기 전송 스트림의 어느 부분들이 암호화되지 않고 전달될지를 결정하는 단계를 수행하게 하는 상기 하나 이상의 명령어는, 상기 하나 이상의 프로세서가 PES 헤더의 적어도 한 부분을 가지는 데이터 패킷들을 암호화되지 않은 채로 남겨두도록 하는 컴퓨터 판독가능 매체.
  24. 제22항에 있어서,
    상기 전송 스트림의 어느 부분들이 암호화되지 않고 전달될지를 결정하는 단계를 수행하게 하는 상기 하나 이상의 명령어는, 상기 하나 이상의 프로세서가 상기 전송 스트림을 프로세싱하기 위해 요구되는 바이트의 데이터를 암호화되지 않은 채로 남겨두도록 하는 컴퓨터 판독가능 매체.
  25. 제22항에 있어서,
    상기 전송 스트림의 어느 부분이 암호화되지 않고 전송될지를 결정하는 단계를 수행하게 하는 상기 하나 이상의 명령어는, 상기 하나 이상의 프로세서가 상기 프로세싱에 대해 관련된 패킷 헤더 데이터 너머에 있는 임계값만큼의 데이터를 암호화되지 않은 채로 남겨두도록 하는 컴퓨터 판독가능 매체.
  26. 제22항에 있어서,
    상기 프로세싱을 위해 상기 전송 스트림을 준비하는 단계를 수행하게 하는 상기 하나 이상의 명령어는, 상기 하나 이상의 프로세서가 암호화되지 않고서 전달되지 않는 상기 전송 스트림의 부분들을 암호화하도록 하는 컴퓨터 판독가능 매체.
  27. 제26항에 있어서,
    상기 하나 이상의 프로세서가 상기 전송 스트림의 부분들을 암호화하도록 하는 상기 하나 이상의 명령어는, 진보된 암호 표준(AES)-카운터(CTR) 모드 암호를 적용하는 컴퓨터 판독가능 매체.
  28. 제26항에 있어서, 상기 하나 이상의 프로세서가
    다중화되기 쉬운 암호화 메쏘드 패킷을 생성하는 단계, 및
    상기 다중화되기 쉬운 암호화 메쏘드 패킷을 상기 전송 스트림으로 삽입하는 단계
    를 수행하도록 하는 하나 이상의 명령어를 더 포함하는 컴퓨터 판독가능 매체.
  29. 제28항에 있어서,
    상기 암호화 메쏘드 패킷은 프로세싱을 위해 상기 전송 스트림을 준비하는 데에 사용된 암호화 알고리즘을 식별하고, 상기 전송 스트림의 암호화된 부분을 식별하며, 상기 전송 스트림의 상기 암호화된 부분을 복호하기 위한 키에 대한 적어도 하나의 기초(basis)를 제공하는 컴퓨터 판독가능 매체.
  30. 제28항에 있어서,
    상기 암호화 메쏘드 패킷은 상기 전송 스트림의 암호화되지 않은 부분, 상기 전송 스트림의 암호화되지 않은 부분의 위치 및 상기 전송 스트림의 상기 암호화되지 않은 부분과 관련된 프로세스를 식별하는 컴퓨터 판독가능 매체.
  31. 하나 이상의 프로세서에 의해 실행가능한 하나 이상의 명령어를 가지는 컴퓨터 판독가능 매체로서, 상기 하나 이상의 명령어는 상기 하나 이상의 프로세서가
    부분적으로 암호화된 전송 스트림을 수신하는 단계, 및
    상기 전송 스트림의 암호화되지 않은 부분에 기초하여 상기 전송 스트림을 프로세싱하는 단계
    를 수행하도록 하는 컴퓨터 판독가능 매체.
  32. 제31항에 있어서, 상기 하나 이상의 프로세서가
    상기 전송 스트림에 대응하는 다중화되기 쉬운 암호화 메쏘드 패킷을 수신하는 단계, 및
    상기 암호화 메쏘드 패킷에 기초한 복호 키를 사용하여 상기 전송 스트림의 암호화된 부분을 복호하는 단계
    를 수행하도록 하는 하나 이상의 명령어를 더 포함하는 컴퓨터 판독가능 매체.
  33. 제31항에 있어서,
    상기 전송 스트림을 프로세싱하는 단계를 수행하도록 하는 상기 하나 이상의 명령어는, 상기 하나 이상의 프로세서가 상기 전송 스트림의 암호화되지 않은 부분에 기초하여 상기 전송 스트림을 역다중화하도록 하는 컴퓨터 판독가능 매체.
  34. 제31항에 있어서,
    상기 전송 스트림을 프로세싱하는 단계를 수행하도록 하는 상기 하나 이상의 명령어는, 상기 하나 이상의 프로세서가 상기 전송 스트림의 암호화되지 않은 부분에 기초하여 상기 전송 스트림에 포함된 페이로드 데이터를 색인하도록 하는 컴퓨터 판독가능 매체.
  35. 전송 스트림의 암호화된 부분을 결부시키지 않는 프로세싱에 대해 상기 전송 스트림의 어느 부분들이 암호화되지 않고 전달될지를 결정하기 위한 분석기, 및
    상기 결정에 기초하여 상기 전송 스트림의 다른 부분들을 암호화하기 위한 스크램블러
    를 포함하는 장치.
  36. 제35항에 있어서,
    상기 분석기는 상기 전송 스트림의 다른 부분들로부터 상기 암호화를 제거하지 않고서 상기 전송 스트림을 프로세싱하기 위하여, 페이로드 데이터로의 침입 임계값만큼이 암호화되지 않고 전달되도록 동적으로 결정하는 것인 장치.
  37. 제35항에 있어서,
    상기 분석기는 PES 헤더의 적어도 하나의 부분을 포함하는 패킷이 암호화되지 않고 전달되도록 결정하는 것인 장치.
  38. 제35항에 있어서, 상기 분석기는 PES 페이로드 데이터 곳곳에 임의대로 배치된 데이터가 암호화되지 않고 전달되도록 결정하는 것인 장치.
  39. 전송 스트림의 암호화되지 않은 부분을 결부시키지 않는 프로세싱에 대해 상기 전송 스트림의 어느 부분들이 암호화되지 않고 전송될지를 결정하기 위한 수단, 및
    상기 결정에 따라 상기 전송 스트림의 다른 부분들을 암호화하기 위한 수단
    을 포함하는 장치.
  40. 제39항에 있어서, 상기 결정하기 위한 수단은 상기 전송 스트림의 다른 부분들로부터 상기 암호화를 제거하지 않고서 상기 전송 스트림을 프로세싱하기 위하여 암호화되지 않고 전달될 페이로드 데이터의 동적으로 결정된 양을 명시하는 장치.
KR1020050024872A 2004-03-26 2005-03-25 공통 스크램블링 방법 KR20060044745A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/811,030 US20050216752A1 (en) 2004-03-26 2004-03-26 Common scrambling
US10/811,030 2004-03-26

Publications (1)

Publication Number Publication Date
KR20060044745A true KR20060044745A (ko) 2006-05-16

Family

ID=34939029

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050024872A KR20060044745A (ko) 2004-03-26 2005-03-25 공통 스크램블링 방법

Country Status (5)

Country Link
US (1) US20050216752A1 (ko)
EP (1) EP1587321A2 (ko)
JP (1) JP2005287039A (ko)
KR (1) KR20060044745A (ko)
CN (1) CN1681320A (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
US7958369B2 (en) * 2004-10-22 2011-06-07 Hewlett-Packard Development Company, L.P. Systems and methods for multiple level control of access of privileges to protected media content
US7515710B2 (en) 2006-03-14 2009-04-07 Divx, Inc. Federated digital rights management scheme including trusted systems
US8416797B2 (en) * 2006-11-10 2013-04-09 Telefonaktiebolaget Lm Ericsson (Publ) Providing IPTV multicasts
WO2008086313A1 (en) 2007-01-05 2008-07-17 Divx, Inc. Video distribution system including progressive playback
CN101277251B (zh) * 2007-03-29 2011-09-07 上海贝尔阿尔卡特股份有限公司 基于包传输的无线网络中控制数据交换的方法及控制装置
WO2009005419A1 (en) * 2007-06-29 2009-01-08 Telefonaktiebolaget L M Ericsson (Publ) A network unit, a central distribution control unit and a computer program product
KR101187178B1 (ko) 2007-09-12 2012-09-28 소니 픽쳐스 엔터테인먼트, 인크. 하나 이상의 사용자 장치들에 대한 콘텐츠 배포 방법 및 시스템
CN101861583B (zh) 2007-11-16 2014-06-04 索尼克Ip股份有限公司 用于多媒体文件的分级及简化索引结构
JP5408608B2 (ja) * 2009-03-02 2014-02-05 公立大学法人大阪市立大学 暗号トラヒック識別装置及びそれを備える暗号トラヒック識別システム
CA2659016A1 (en) * 2009-03-23 2010-09-23 Doug P. Horsley Polychromatic harmonica
US8849101B2 (en) * 2009-03-26 2014-09-30 Microsoft Corporation Providing previews of seek locations in media content
IL199616A0 (en) * 2009-06-28 2010-05-17 Chaim Shen Orr Pattern-free encryption
EP2507995A4 (en) 2009-12-04 2014-07-09 Sonic Ip Inc SYSTEMS AND METHODS FOR TRANSPORTING ELEMENTARY BIT TRAIN CRYPTOGRAPHIC MATERIAL
SG181611A1 (en) 2009-12-14 2012-07-30 Sumitomo Electric Networks Inc Content reception apparatus, content playback apparatus, content reception and playback apparatus, content reception method, and program
US8402555B2 (en) 2010-03-21 2013-03-19 William Grecia Personalized digital media access system (PDMAS)
US20100185868A1 (en) * 2010-03-21 2010-07-22 William Grecia Personilized digital media access system
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8787570B2 (en) 2011-08-31 2014-07-22 Sonic Ip, Inc. Systems and methods for automatically genenrating top level index files
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US8792912B2 (en) 2011-12-22 2014-07-29 Cisco Technology, Inc. System and method for providing proximity-based dynamic content in a network environment
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
CN104320673B (zh) * 2014-10-30 2017-05-03 山东泰信电子股份有限公司 一种防止非法篡改节目内容的方法
IL236440A0 (en) 2014-12-24 2015-04-30 Cisco Tech Inc Mixed media content
US10225298B2 (en) 2015-01-06 2019-03-05 Divx, Llc Systems and methods for encoding and sharing content between devices
US10182387B2 (en) 2016-06-01 2019-01-15 At&T Intellectual Property I, L.P. Method and apparatus for distributing content via diverse networks

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6654389B1 (en) * 1999-11-23 2003-11-25 International Business Machines Corporation System and method for searching patterns in real-time over a shared media
JP2002197794A (ja) * 2000-12-25 2002-07-12 Toshiba Corp 音声映像データ同期再生方法
US7151831B2 (en) * 2001-06-06 2006-12-19 Sony Corporation Partial encryption and PID mapping
US7260215B2 (en) * 2001-09-04 2007-08-21 Portauthority Technologies Inc. Method for encryption in an un-trusted environment
AU2002364752C1 (en) * 2001-12-19 2010-05-13 Irdeto Access B.V. Digital content distribution system
US7233669B2 (en) * 2002-01-02 2007-06-19 Sony Corporation Selective encryption to enable multiple decryption keys
US7231516B1 (en) * 2002-04-11 2007-06-12 General Instrument Corporation Networked digital video recording system with copy protection and random access playback
JP3974443B2 (ja) * 2002-04-18 2007-09-12 株式会社ケンウッド 記録再生装置および記録再生方法
EP1540955A4 (en) * 2002-07-09 2007-08-01 Kaleidescape Inc CONTENT AND LOCK DISTRIBUTION SYSTEM FOR MEDIA-STR ME REPRESENTING DIGITAL CONTENTS
US8015584B2 (en) * 2002-10-18 2011-09-06 Seachange International, Inc. Delivering interactive content to a remote subscriber
WO2004045213A2 (en) * 2002-11-13 2004-05-27 General Instrument Corporation Efficient distribution of encrypted content for multiple content access systems
US7483532B2 (en) * 2003-07-03 2009-01-27 Microsoft Corporation RTP payload format

Also Published As

Publication number Publication date
CN1681320A (zh) 2005-10-12
EP1587321A2 (en) 2005-10-19
US20050216752A1 (en) 2005-09-29
JP2005287039A (ja) 2005-10-13

Similar Documents

Publication Publication Date Title
KR20060044745A (ko) 공통 스크램블링 방법
US9124773B2 (en) Elementary bitstream cryptographic material transport systems and methods
JP4311899B2 (ja) コンテンツの配信および保護を行なう方法および装置
KR101174947B1 (ko) 멀티 채널 녹화를 위한 다중 스트림 암호화 방법, 다중 스트림 암호화 장치 및 호스트 장치
US9479825B2 (en) Terminal based on conditional access technology
KR101035893B1 (ko) 컨텐트 보호를 위한 조건적 접속 방법 및 시스템
US9455829B2 (en) Method and system for decrypting a transport stream
KR20160026857A (ko) 콘텐츠 보호를 위한 방법, 정보 제공 시스템 및 수신 장치
JP2010193449A (ja) スマートカードからコンディショナルアクセスモジュールへのコントロールワードのセキュアな提供法
WO2002100037A1 (fr) Appareil et procede destines a un systeme ipmp(gestion et protection de la propriete intellectuelle) souple et commun de fourniture et de protection de contenu
EP2373019A1 (en) Secure descrambling of an audio / video data stream
JP2012510743A (ja) 追加キーレイヤーを用いたコンテンツ復号化装置および暗号化システム
KR20060064469A (ko) 멀티캐스트 방식으로 스트리밍 서비스되는 동영상 파일의보호 장치 및 그 방법
US20110113443A1 (en) IP TV With DRM
EP3473009B1 (en) Methods, devices and system for generating a watermarked stream
US20080037782A1 (en) Reduction of channel change time for digital media devices using key management and virtual smart cards
KR101005844B1 (ko) 메모리 카드 기반의 ts 패킷 처리를 위한 수신 제한 시스템
EP2586198B1 (fr) Procede de protection, procede de dechiffrement, support d&#39;enregistrement et terminal pour ce procede de protection
US9294788B2 (en) Method, cryptographic system and security module for descrambling content packets of a digital transport stream
JP2004152014A (ja) コンテンツ送信方法、コンテンツ送信装置、コンテンツ送信プログラムおよびコンテンツ受信方法、コンテンツ受信装置、コンテンツ受信プログラム
EP2366250B1 (en) Method and apparatus for secure distribution of audiovisual data encapsulated according to a plurality of transport protocols
KR100611105B1 (ko) 디지털 방송 컨텐츠의 저장 및 재사용 제어를 통한 디지털방송컨텐츠 보호 장치 및 그 방법
JP2010068145A (ja) データ送信装置、データ送信方法及びデータ送信プログラム、データ受信装置、データ受信方法及びデータ受信プログラム、並びに、データ通信システム
US20090310780A1 (en) Broadcast receiving apparatus and broadcast receiving method
FR2843257A1 (fr) Procede et systeme d&#39;acces conditionnel applique a la protection de contenu

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid