KR20080007497A - 네이티브 스크램블링 시스템 - Google Patents

네이티브 스크램블링 시스템 Download PDF

Info

Publication number
KR20080007497A
KR20080007497A KR1020077028056A KR20077028056A KR20080007497A KR 20080007497 A KR20080007497 A KR 20080007497A KR 1020077028056 A KR1020077028056 A KR 1020077028056A KR 20077028056 A KR20077028056 A KR 20077028056A KR 20080007497 A KR20080007497 A KR 20080007497A
Authority
KR
South Korea
Prior art keywords
packet
data
initial value
msc
scrambling
Prior art date
Application number
KR1020077028056A
Other languages
English (en)
Other versions
KR101132296B1 (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 엔디에스 리미티드
Publication of KR20080007497A publication Critical patent/KR20080007497A/ko
Application granted granted Critical
Publication of KR101132296B1 publication Critical patent/KR101132296B1/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/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/4408Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • H04N21/23476Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream 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/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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • 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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • 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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream 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 or rendering scenes according to encoded video stream scene graphs involving video stream decryption by partially decrypting, e.g. decrypting a video stream that has been partially encrypted

Landscapes

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

Abstract

각각의 패킷들이 클리어 상태 유지(MSC) 섹션을 가지는 컨텐츠 스트림의 패킷들을 스크램블링/디스크램블링 하기 위한 시스템에 있어서, 상기 시스템은: 입력 핸들러로서; 상기 스트림을 수신하기 위한 수신 모듈, 상기 각각의 패킷들의 데이터에 독립적인 특성을 판정하기 위해 상기 스트림을 분석하는 특성 분석기,를 구비하는 입력 핸들러; 및 상기 입력 핸들러와 연관하여 동작하는 스크램블링/디스크램블링 디바이스로서, 상기 입력 핸들러로부터의 상기 각각의 패킷들에 대한 데이터에 독립적인 특성을 수신하는 수신 모듈, 처리된 패킷 중 하나의 데이터 독립적인 특성의 함수로서 각 패킷에 대한 초기값을 판정하는 초기값 모듈을 구비하고, 상기 스크램블링/디스크램블링 디바이스는 초기값과 제어 워드에 기초하여 패킷을 스크램블링 및/또는 디스크램블링 하는 것에 적용된다. 관련된 장치 및 방법도 본 발명에 포함된다.
패킷, 클리어 상태, 클리어 상태 유지(MSC) 섹션, 컨텐츠, 스트림, 스크램블링, 디스크램블링, 입력 핸들러로서, 수신 모듈, 특성 분석기, 스크램블링/디스크램블링 디바이스, 초기값, 초기값 모듈, 제어 워드

Description

네이티브 스크램블링 시스템{NATIVE SCRAMBLING SYSTEM}
본 발명은 스크램블링/디스크램블링 시스템에 관한 것으로, 특히, 디지털 컨텐츠 및 데이터의 보안 배포 및 저장을 위한 스크램블링/디스크램블링 시스템에 관한 것이고, 그러나 그에만 한정적인 것은 아니다.
도입에 덧붙여, 보안 비디오 프로세서(secure video processor: SVP) 시스템은 디지털 컨텐츠 배포를 위한 컨텐츠 및 데이터 보호 시스템이다. 상기 시스템의 의무적인 엘리먼트는 일반적으로 보안 비디오 프로세서(SVP)라고 하는 표준화된 단일-칩 실리콘 하드웨어 디바이스이다. 상기 SVP는 일반적으로 컨텐츠의 국부적인 보호를 위해 스크램블링 프로세스를 채용한다.
하기의 참조문헌들이 또한 본 기술의 상태를 나타내는 것으로 믿어진다:
FIPS pub. 197 ""Announcing the Advanced Scrambling Standard";
ISO/IEC 13818-1 "Information Technology-Generic Coding of Moving Pictures and Associated Audio Information Systems"; 및
NDS Ltd.의 PCT 출원공개 WO 2004/086664
상술하고 본 명세서 전체의 모든 참고문헌의 개시사항과 상기 모든 참고문헌에 개시된 개시사항은 참고로써 본문에 통합된다.
바람직한 실시예에서, 본 발명은 일반적으로 데이터 뿐만 아니라 스트리밍 및 비-스트리밍 오디오-비주얼(A/V) 컨텐츠에 적용가능한 디지털 컨텐츠를 위한 개선된 스크램블링/디스크램블링 시스템을 제공하기 위한 것이다.
일반적으로, 디지털 컨텐츠를 스크램블링 및 디스크램블링하는 디바이스는 데이터의 스크램블링과 디스크램블링 모두를 수행해야한다. 바람직하게는, 다른 고려사항중에서, 하드웨어 설계를 간단하게 하고, 하드웨어 게이트 카운트를 최소화하기 위해, 본 발명의 발명자는 하기의 필요조건이 본 발명의 시스템에서 만족되어야 한다고 믿는다.
(a) 다수의 패킷이 동일한 제어 워드(Control Word: CW)를 공유하고; 상기 패킷들이 "재핑(zapping)" 요구조건(즉, 랜덤 패킷으로 디스크램블링을 시작할수 있도록)에 따라 ""연결(chained)"될 수 없음에도 불구하고, 데이터 패킷이 상기 패킷 내에 패터닝된 위치로 민감한 정보를 전달할 수 있을때, 상이한 2 개의 패킷의 영역이 동일한 정보를 포함하는 것을 공격자가 감지하는 것을 방지할 필요가 있다. 상기 포인트의 목표가 민감한 데이터를 상이한 패킷의 상이한 위치에 이동시킴으로써 달성될 수 있다고 하더라도, 상기 데이터를 사용하는 애플리케이션에 대해 각 패킷 내에 민감한 데이터의 위치를 신호화하는 새로운 신호 메커니즘을 생성할 필요가 없는 상기의 문제에 대한 해결안을 찾는 것이 바람직하다. 상기 포인트는 일반적으로 데이터 보안에 대해서는 보다 중요하고, A/V 보안에 대해서는 보다 덜 중요하다.
(b) 상기 스크램블링/디스크램블링 키는 패킷이 도착하는 것 보다는 덜 자주 변경되고; 그 결과 다수의 패킷이 동일한 키로 스크램블링된다.
(c) 패킷 스크램블링과 디스크램블링은 하나의 패스에서 모두 수행되어야 한다.
(d) 패킷의 특정한 비트는 스크램블링 및 디스크램블링에 의해 영향을 받지 말아야한다. 즉, 특정한 비트는 "클리어 상태"로 유지되어야하고; 클리어 상태에 유지되어야하는 비트, 바이트, 또는 데이터는 또한 본 문에서는 "클리어 상태 유지" 또는 "MSC" 비트, 바이트, 또는 데이터라고 한다. 스크램블링 및 디스크램블링에 의해 영향을 받지 않는 특정한 비트의 요구 조건의 이유는 디스크램블링되기 전에 이븐으로(even) 클리어되어 가용한 스트림에 관한 정보를 가지기 위한 것이다. 예를 들면, 그리고 상기의 개론을 제한하지 않으면서, MPEG-2 전송 스트림에서, 각 패킷의 첫번째 4 바이트는 클리어로 유지된다. 상기 첫번째 4 바이트는 디멀티플렉싱에 필요한 정보, 상기 패킷이 스크램블링되는지 여부에 대한 정보, 상기 패킷이 짝수 또는 홀수 키로(패킷이 스크램블링된다면) 스크램블링되는 지에 관한 정보, 및 종래 기술에 공지된 다른 정보를 제공한다. 일부 패킷에서, 헤더는, 패킷의 최초부분이, 리시버에 필요한 일부 다른 정보를 제공하는 "적응 필드"이고; 이러한 정보가 게다가 클리어 상태로 유지되어야 한다는 것을 지시한다. 선택적으로, 전송자는, 클리어 상태로 비디오 정보의 짝수 부분을 전송하고, 예를 들면, 개인용 비디오 레코더(PVR) 시스템에서 보다 용이하게 검색하기 위해 선택할 수 있다.
(e) 128-비트 AES가 기본적인 빌딩 블록으로서 사용되어야 한다. 그러나, 당업자는 임의의 기타 적절한 스크램블링 표준이 기본 빌딩 블록으로 사용될 수 있다는 것을 이해할 것이다.
(f) 각각 "스킴"에 의해 정의된 상이한 유형의 전송 스트림이 핸들링될 것이다. 명세서와 청구범위에서 사용된 "스킴"이라는 용어는 전송되는 컨텐츠에 대한 파라미터의 셋트(예를 들면, 스크램블링되지 않은채로 남겨질 각 패킷의 MSC 부분을 연산하는 방법 및 패킷 길이이다(그러나, 그에 한정되는 것은 아님))로서 정의된다. MPEG-2는 전송 스트림의 파라미터를 정의하는 스킴의 예이다.
(g) 상기 스크램블링/디스크램블링 방법은 테스트 시간을 견뎌온 잘-검토된 수용된 방법에 대해 가능한 근접해야한다.
(h) 공격자는 짧은 단일 블록과 같은 단일한 경우를 제외하고는 암호문의 일 비트를 변경함으로써 평문의 일비트도 변경시킬 수 없어야한다. 상기의 포인트는 일반적으로 데이터 보안에 보다 중요하고, A/V 보안에 보다 덜 중요한다.
(i) 상기 스크램블링/디스크램블링 시스템은 2 개의 모드를 가져야한다. 제 1 모드에서, 각 패킷은 패킷의 MSC 섹션의 데이터가 패킷의 나머지 부분의 스크램블링/디스크램블링 기능에 기여할 때 상기 MSC 섹션 데이터에 임의의 변경을 적용하기 전에 디스크램블링되어야 한다. 제 1 모드는 MSC 데이터 종속(MDD) 모드라고 한다. MDD 모드에서, 스크램블링된 패킷의 MSC 섹션(헤더 또는 적응 필드에 포함된 프로세스 아이디(PID) 또는 프로그램 클록 레퍼런스(PCR))에서의 데이터의 변경은 일반적으로 디스크램블링에 역으로 영향을 주고, 이것은 일부 환경에서는 바람직하지만, 다른 환경, 특히 헤드엔드 애플리케이션에서는, 상기 MDD 모드는 스크램블링/디스크램블링 시스템의 사용을 억제한다. 따라서, 제 2 모드에서, MSC 섹션의 데이터에 대한 변경은 MSC 섹션의 데이터가 스크램블링/디스크램블링 기능에 기여하지 않을 때 스크램블링된 패킷으로 만들어질 수 있다. 즉, 제 2 모드에서, 상기 패킷은 MSC 섹션을 변경시키기 위해 디스크램블링될 필요가 없다는 것이다. 제 2 모드는 MSC 데이터 독립(MDI) 모드라고 한다. MDI 모드에서, MSC 섹션의 데이터의 변경은 예를 들면, 리멀티플렉싱에 대해(그러나, 그에 한정되는 것음 아님), 패킷을 스크램블링/디스크램블링 하지않고서도 도입될 수 있다. MDD 모드에서, 각 패킷은, MSC 섹션에 대한 임의의 변경을 적용하기 전에, 그리고 바람직하게는, 특별한 인증을 필요로 할 때 디스크램블링되어야 한다. MDD 모드는 예를 들면, 스크램블링된 패킷이 다시 엉클어지고(remuxing); 스크램블링된 패킷들이 쪼개지고 삽입되고; 스크램블링된 패킷에서 PCR과 같은 특정한 필드를 변경하는 것을 의도적으로 방지하기 위한 상업적인 애플리케이션에 특히 유용하다. 반면, MDI 모드는 바람직하게는, 그것이 예를 들면, MSC 섹션에 대한 변경이 스크램블링된 패킷에서 수행될 수 있도록, 즉, 패킷이 예를 들면 PID 또는 MSC 필드를 변경시키는(그러나 그에 한정되는 것은 아님),MSC 섹션을 변경시키기 전에 디스크램블링될 필요가 없도록 스크램블링된 스트림을 다시 엉클어트리는 것(그러나 그에 한정되는 것은 아님)이 상업적으로 바람직할 때 채용된다
(j) 스크램블링/디스크램블링 시스템은 소수의 기본 빌딩 블록의 반복된 애플리케이션을 구현하고 사용하기에 간단해야한다.
(k) 스크램블링/디스크램블링 시스템은 특정한 규칙적인 패턴을 가진 데이터 패킷에 대해 이븐으로 강건해야하고, 상기 시스템은 암호문 패턴을 식별하는 가능성을 제한해야만 한다.
상기 요구조건은 발명자가 본 발명의 스크램블링/디스크램블링 시스템의 바람직한 기본 빌딩 블록으로서 암호문 훔침 기법(ciphertext stealing: CTS)로 AES CBC를 선택하도록 한다. 그러나, 기타의 적절한 스크램블링이 상기 스크램블링/디스크램블링의 기본 빌딩 블록으로서 사용될 수 있다는 것이 당업자에게는 이해될 것이다.
바람직한 실시예에서, 본 발명은, 패킷의 MSC 섹션의 적어도 일부 데이터; 및/또는 상기 패킷의 데이터 독립적인 특성(길이 등); 및/또는 MSC 섹션 또는 처리되는 패킷의 적응 필드의 데이터 독립적인 특성(길이 등);의 함수인 초기값(IV)에 기초하여 패킷의 스크램블링/디스크램블링을 수행한다.
본 발명의 시스템은, 바람직한 실시예에서, 패킷을 스크램블링 및/또는 디스크램블링하기 위한 디지털 컨텐츠 배포용 컨텐츠 보호 시스템을 포함한다. 각 패킷들은 일반적으로 라우팅 및 디멀티플렉싱과 같은 일반적으로 패킷 관리에 사용되는 클리어 상태 유지(MSC) 섹션을 갖는다. 상기 MSC 섹션은 항상 클리어 상태로 유지된다(즉, 상기 MSC 섹션은 결코 스크램블링되지 않는다).
상기 시스템은 일반적으로 초기값 및 제어 워드에 기초하여 패킷들을 스크램블링 및/또는 디스크램블링하는 스크램블링/디스크램블링 디바이스, 또는 그의 에뮬레이션을 포함한다. 본 명세서와 청구범위에서 사용되는 "제어 워드(CW)"라는 용어는 A/V 컨텐츠 및/또는 데이터의 스크램블링/디스크램블링을 제어하는 암호키, 또는 "키"를 가리킨다. 추가로, 명세서와 청구범위에서 사용되는 "스크램블링" 및 "암호화"라는 용어는, 그의 모든 문법적인 형태에서 동의어이다. 유사하게, 명세서와 청구범위에서 사용되는 "디스크램블링"과 "복호화"라는 용어는 그의 모든 문법적인 형태에서 동의어이다. 본 발명의 가장 바람직한 실시예에 따르면, MDI 모드에서 각 패킷을 스크램블링/디스크램블링하는 데에 사용되는 초기값은 처리되는 패킷의 데이터 독립적인 특성, 특히 처리되는 MSC 섹션, 예를 들면 패킷의 길이 및/또는 상기 MSC 섹션의 길이(그에 한정되는 것은 아니다)의 함수이다.
MDD 모드에서, 각 패킷에 대한 초기값은 스크램블링 및/또는 디스크램블링되는 패킷의 MSC의 데이터(MSC의 실제 비트)의 함수이다. 따라서, MDD 모드는 특히 스크램블링된 스트림의 비인가된 조작을 제한하는 것을 필요로하는 애플리케이션에 유용하다. 비인가된 조작이란, 예를 들면 스크램블링된 단일 프로그램 전송 스트림을 다중 프로그램 전송 스트림으로 리멀티플렉싱 및 결합하거나, 또는 스크램블링된 스트림에서 특정한 MSC 파라미터를 변경하는 것을 포함한다. 바람직하게는, 각 패킷에 대한 초기값은 MSC 섹션의 데이터 세트, 상기 MSC 섹션의 하나 이상의 비트를 제외한 데이터 세트의 함수이다. 즉, MSC 섹션의 특정한 비트는 초기값에 대해 사용되는 것이 마스킹된다. 상기 배제 또는 마스킹은 일반적으로 MSC의 미리정해진 비트의 위치에 기초하거나, 또는 전송 스트림의 스킴에 따라 예를 들면 MPEG-2 스킴에 따라(그러나, 그에 한정되는 것은 아니다) 정의된다. 예를 들면, 배제될 비트(들)는 배제될 필드의 유형의 규격을 통해 공지되고, 원하는 필드를 배치시키기 위해 MSC에서의 실제 데이터를 파싱한다.
따라서, 본 발명의 바람직한 실시예에 따르면, 각각의 패킷이 항상 클리어 상태로 유지되는 클리어 상태 유지(MSC) 섹션을 가지는 컨텐츠 스트림의 패킷을 스크램블링/디스크램블링하는 시스템으로서, 상기 스트림을 수신하기 위한 수신 모듈과, 상기 각각의 패킷들의 적어도 하나의 데이터에 독립적인 특성을 판정하기 위해 상기 스트림을 분석하는 특성 분석기를 구비하는 입력 핸들러; 및 상기 입력 핸들러와 연관하여 동작하는 스크램블링/디스크램블링 디바이스로서, 상기 입력 핸들러로부터의 상기 각각의 패킷들에 대한 적어도 하나의 데이터 독립적인 특성을 수신하는 수신 모듈, 및 처리되는 하나의 패킷의 적어도 하나의 데이터 독립적인 특성의 함수로서 각 패킷에 대한 초기값을 판정하는 초기값 모듈을 구비하고, 상기 스크램블링/디스크램블링 디바이스는 초기값과 제어 워드에 기초하여 패킷을 스크램블링하거나 디스크램블링하는 것 중 적어도 하나를 수행하는, 스크램블링/디스크램블링 디바이스;를 포함하는 것을 특징으로하는 시스템이 제공된다.
추가로, 본 발명의 바람직한 실시예에 따르면, 상기 시스템은, 인위적으로 상기 패킷의 적어도 일부에 적응필드를 생성하는 단계; 및 패킷들의 적응 필드의 길이가 선택가능하도록 적어도 일부 패킷의 기존 적응 필드를 확장하는 단계; 중 하나를 수행함으로써 패킷의 초기값으로 엔트로피를 도입하는 적응 필드 관리자를 더 포함하고, 상기 적응 필드는 MSC 섹션의 일부를 형성하고, 상기 적어도 하나의 독립적인 특성은 상기 MSC 섹션의 길이와 상기 적응 필드의 길이 중 적어도 하나가 된다.
추가로, 본 발명의 바람직한 실시예에 따르면, 상기 적어도 하나의 데이터 독립적인 특성은 패킷의 길이이다.
추가로, 본 발명의 바람직한 실시예에 따르면, 상기 특성 분석기는 각 패킷의 MSC 섹션의 적어도 하나의 데이터 독립적인 특성을 분석하고; 상기 각각의 패킷에 대한 초기값은 처리되는 하나의 패킷의 MSC 섹션의 적어도 하나의 데이터 독립적인 특성의 함수이다.
추가로, 본 발명의 바람직한 실시예에 따르면, 상기 MSC 섹션의 적어도 하나의 데이터 독립적인 특성은 MSC 섹션의 길이이다.
추가로, 본 발명의 바람직한 실시예에 따르면, 상기 MSC 섹션은 적응 필드를 포함하고, 상기 특성 핸들러는, 적어도 하나의 데이터 독립적인 특성 적응 필드를 분석하고; 상기 각 패킷에 대한 초기값은 처리되는 하나의 패킷의 적응 필드의 적어도 하나의 데이터 독립적인 특성의 함수이다.
추가로, 본 발명의 바람직한 실시예에 따르면, 상기 각각의 패킷에 대한 상기 초기값은 또한 처리되는 하나의 패킷의 MSC 섹션의 데이터 컨텐츠의 함수이다.
추가로, 본 발명의 또다른 바람직한 실시예에 따르면, 각각의 패킷들이 항상 클리어 상태로 유지되는 클리어 상태 유지(MSC) 섹션을 가지는 컨텐츠 스트림의 패킷들을 스크램블링/디스크램블링 하기 위한 시스템으로서, 상기 시스템은, 입력 핸들러로서, 상기 스트림을 수신하기 위한 수신 모듈, 및 상기 각각의 패킷들에 대해, 상기 MSC 섹션의 적어도 하나의 비트의 데이터를 제외한 MSC 섹션의 모든 데이터를 포함하는 데이터 마스크를 생성하는 마스크 모듈을 구비하는 입력 핸들러; 및 상기 입력 핸들러와 연관하여 동작하는 스크램블링/디스크램블링 디바이스로서, 상기 입력 핸들러로부터의 상기 각각의 패킷들에 대한 데이터 마스크를 수신하는 수신 모듈, 및 초기값이 처리되는 하나의 패킷 중 MSC 섹션의 적어도 하나의 비트의 데이터의 함수가 되지 않도록, 처리되는 하나의 패킷의 데이터 마스크의 함수로서 각 패킷에 대한 초기값을 판정하는 초기값 모듈을 구비하고, 상기 스크램블링/디스크램블링 디바이스는 초기값과 제어 워드에 기초하여 패킷을 스크램블링하거나 디스크램블링하는 것 중 적어도 하나를 하는데 적용되는, 스크램블링/디스크램블링 디바이스;를 포함하는 시스템이 제공된다.
추가로, 본 발명의 바람직한 실시예에 따르면, 적어도 1 비트는 위치 종속적이다.
추가로, 본 발명의 바람직한 실시예에 따르면, 상기 적어도 1 비트는 상기 MSC 섹션의 첫번째 2 바이트이다.
본 발명의 또다른 바람직한 실시예에 따르면, 스트림이 스킴에 연관되는 컨텐츠 스트림의 패킷들을 스크램블링/디스크램블링 하기 위한 시스템에 있어서, 입력 핸들러로서, 상기 스트림을 수신하기 위한 수신 모듈, 및 적어도 하나의 상기 패킷의 데이터 형태에 기초하여 스킴을 판정하기 위한 스킴 분석기를 구비하는 입력 핸들러; 및 상기 스킴에 기초하여 패킷을 스크램블하거나 디스크램블하는 것 중 적어도 하나를 수행하는 스크램블링/디스크램블링 디바이스;를 포함하는 시스템이 제공된다.
추가로, 본 발명의 바람직한 실시예에 따르면, 본 시스템은 상기 스킴에 기초하여 각각의 패킷에 대한 초기값을 판정하는 초기값 모듈을 포함하고, 상기 스크램블링/디스크램블링 디바이스는 상기 초기값과 제어 워드에 기초하여 각각의 패킷을 스크램블링 하는 것과 디스크램블링하는 것 중 적어도 하나를 수행한다.
추가로, 본 발명의 바람직한 실시예에 따르면, 상기 각각의 패킷은 항상 클리어 상태를 유지하는 클리어 상태 유지(MSC) 섹션을 가지고, 상기 시스템은 각 패킷에 대해, 상기 MSC 섹션의 적어도 1 비트의 데이터를 제외하고는 MSC 섹션의 모든 데이터를 포함하는 데이터 마스크를 생성하기 위한 마스크 모듈을 더 포함하고, 상기 데이터 마스크는 상기 스킴에 기초하고, 상기 초기값이, 처리되는 하나의 패킷의 MSC 섹션 중 적어도 1 비트의 데이터의 함수가 되지 않도록, 상기 초기값 모듈은, 처리되는 하나의 패킷의 데이터 마스크의 함수로서 상기 각각의 패킷에 대한 초기값을 판정하도록 수행되는 시스템이다.
본 발명의 또다른 바람직한 실시예에 따르면, 항상 클리어 상태를 유지하는 클리어 상태 유지(MSC) 섹션을 가지는 각 패킷의 컨텐츠의 스트림의 패킷을 스크램블링/디스크램블링 하기위한 방법에 있어서, 상기 방법은, 상기 스트림을 수신하는 단계, 각 패킷의 적어도 하나의 데이터 독립적인 특성을 판정하기 위해 상기 스트림을 분석하는 단계; 처리되는 하나의 패킷의 적어도 하나의 데이터 독립적인 특성의 함수로서 상기 각 패킷에 대한 초기값을 판정하는 단계; 및 상기 초기값과 제어워드에 기초하여 상기 패킷을 스크램블링하는 것과 디스크램블링하는 것 중 적어도 하나를 수행하는 단계;를 포함하는 방법이 제공된다.
추가로, 본 발명의 바람직한 실시예에 따르면, 상기 방법은, 상기 패킷 중 적어도 일부에 적응 필드를 인위적으로 생성시키는 단계와, 상기 적어도 일부 패킷 의 기존의 적응 필드를 확장시키는 단계 중 하나를 실행하여, 패킷의 적응 필드의 길이가 선택가능하고, 상기 적응 필드가 상기 MSC 섹션의 일부를 형성하고, 상기 적어도 하나의 독립적인 특성이 상기 MSC 섹션의 길이와 상기 적응 필드의 길이 중 적어도 하나가 되도록 하는 것을 포함한다.
추가로, 본 발명의 바람직한 실시예에 따르면, 상기 적어도 하나의 데이터 독립적인 특성은 처리되는 하나의 패킷의 길이이다.
추가로, 본 발명의 바람직한 실시예에 따르면, 상기 분석은 각 패킷의 MSC 섹션의 적어도 하나의 데이터 독립적인 특성을 분석함으로써 수행되고, 상기 판정은 처리되는 하나의 패킷의 MSC 섹션의 적어도 하나의 데이터 독립적인 특성의 함수로서 각 패킷에 대한 초기값을 판정함으로써 수행된다.
추가로, 본 발명의 바람직한 실시예에 따르면, 상기 MSC 섹션 중 적어도 하나의 데이터 독립적인 특성은 처리되는 하나의 패킷의 MSC 섹션의 길이이다.
본 발명의 바람직한 실시예에 따르면, 상기 MSC 섹션은 적응 필드를 포함하고; 상기 분석은 적응 필드의 적어도 하나의 데이터 독립적인 특성을 분석함으로써 수행되고; 및 상기 판정은 처리되는 하나의 패킷의 적응필드의 적어도 하나의 데이터 독립적인 특성의 함수로서 각 패킷에 대한 초기값을 판정함으로써 수행된다.
본 발명의 바람직한 실시예에 따르면, 상기 판정은 또한 처리되는 하나의 패킷의 MSC 섹션의 데이터 컨텐츠의 함수로서 각 패킷에 대한 초기값을 판정하는 단계를 포함한다.
본 발명의 또다른 바람직한 실시예에 따르면, 항상 클리어 상태를 유지하는 클리어 상태 유지(MSC) 섹션을 가지는 각 패킷의 컨텐츠의 스트림의 패킷을 스크램블링/디스크램블링 하기위한 방법에 있어서, 상기 방법은, 상기 스트림을 수신하는 단계; 각 패킷에 대해, 상기 MSC 섹션의 적어도 1 비트의 데이터를 제외한 모든 MSC 섹션의 데이터를 포함하는 데이터 마스크를 생성하는 단계; 초기값이, 처리되는 하나의 패킷의 MSC 섹션의 적어도 1 비트의 데이터의 함수가 되지 않도록, 처리되는 하나의 패킷의 데이터 마스크의 함수로서 각 패킷에 대한 초기값을 판정하는 단계; 및 상기 초기값과 제어워드에 기초하여 상기 패킷을 스크램블링하는 것과 디스크램블링하는 것 중 적어도 하나를 수행하는 단계;를 포함한다.
본 발명의 바람직한 실시예에 따르면, 상기 적어도 1 비트는 위치 종속적이다.
본 발명의 바람직한 실시예에 따르면, 적어도 1 비트는 상기 MSC 섹션의 첫번째 2 바이트이다.
본 발명의 또다른 바람직한 실시예에 따르면, 스트림이 스킴에 연관되는 컨텐츠 스트림의 패킷들을 스크램블링/디스크램블링 하기 위한 방법에 있어서, 상기 방법은: 상기 스트림을 수신하는 단계; 상기 적어도 하나의 패킷의 데이터 형태에 기초하여 스킴을 판정하는 단계; 및 상기 스킴에 기초하여 상기 패킷을 스크램블링/디스크램블링하는 단계;를 포함한다.
추가로, 본 발명의 바람직한 실시예에 따르면, 상기 방법은, 상기 스킴에 기초하여 각 패킷에 대한 초기값을 판정하는 단계를 더 포함하고, 상기 각 패킷에 대한 스크램블링/디스크램블링은 초기값과 제어 워드에 기초한다.
추가로, 본 발명의 바람직한 실시예에 따르면, 상기 각 패킷이 항상 클리어 상태를 유지하는 클리어 상태 유지(MSC) 섹션을 가지는 방법으로서, 상기 방법은, 각 패킷에 대해, 상기 MSC 섹션의 적어도 1 비트의 데이터를 제외한 모든 MSC 섹션의 데이터를 포함하는 데이터 마스크를 생성하는 단계를 더 포함하고, 상기 데이터 마스크는 상기 스킴에 기초하고, 상기 초기값이, 처리되는 하나의 패킷의 MSC 섹션의 적어도 1 비트의 데이터의 함수가 되지 않도록, 상기 각 패킷에 대한 초기값은, 처리되는 하나의 패킷의 데이터 마스크의 함수가 되도록 한다.
본 발명은 하기의 도면과 함께 하기의 상세한 설명으로부터 보다 잘 이해되고 명료해질 것이다.
도 1은 본 발명의 바람직한 실시예에 따라 구축되고 동작하는 시스템의 간략화된 블록도,
도 2는 도 1의 시스템의 입력 핸들러의 바람직한 구현의 간략화된 블록도,
도 3은 도 1의 시스템의 스크램블링/디스크램블링 디바이스의 바람직한 구현의 간략화된 블록도,
도 4는 도 1의 시스템의 동작의 바람직한 방법을 예시한 간략화된 플로우 차트,
도 5는 도 1의 시스템에 의해 처리된 비스크램블링된 패킷과 스크램블링된 패킷에서의 패킷의 간략화된 도면,
도 6은 도 1의 시스템에서 사용하기 위한 초기값의 간략화된 도,
도 7은 도 1의 시스템을 사용하는 바람직한 순 CBC 스크램블링 프로세스의 플로우 차트,
도 8은 도 1의 시스템을 사용하는 암호문 훔침기법(ciphertext stealing)의 스크램블링 프로세스를 가진 바람직한 CBC의 플로우 차트,
도 9는 도 1의 시스템을 사용하는 바람직한 짧은 단일 블록의 스크램블링 프로세스의 플로우 차트,
도 10은 도 1의 시스템을 사용하는 바람직한 순 CBC의 디스크램블링 프로세스의 플로우 차트,
도 11은 도 1의 시스템을 사용하는 암호문 훔침기법(ciphertext stealing)의 디스크램블링 프로세스를 가진 바람직한 CBC의 플로우 차트, 및
도 12는 도 1의 시스템을 사용하는 바람직한 짧은 단일 블록의 디스크램블링 프로세스의 플로우 차트.
바람직한 실시예에 따라, 본 발명은 디지털 컨텐츠 보호 시스템을 위한 스크램블링/디스크램블링 시스템을 제공하기 위한 것이다. "컨텐츠"라는 용어는 본 문에서 오디오 및/또는 비디오 및/또는 데이터 컨텐츠를 포함하는 것으로 정의되지만, 그에 한정되는 것은 아니다.
백그라운드 섹션에 열거된 요구 사항은 발명자로 하여금 본 발명의 스크램블링/디스크램블링 시스템의 바람직한 기본 빌딩 블록으로써 암호문 훔침기법(CTS)을 가진 AES CBC를 선택하도록 한다. 따라서, 본 발명의 시스템은 일반적으로 AES CBC를 참조하여 기술된다. 그러나, 기타 다른 적절한 스크램블링이 스크램블링/디스크램블링 시스템의 기본 빌딩 블록으로서 사용될 수 있다는 것을 당업자는 이해할 것이다.
도 1 내지 4를 참조하라. 도 1은 본 발명의 바람직한 실시예에 따라 구축되고 동작하는 시스템(10)의 간략화된 블록도이다. 도 2는 도 1의 시스템(10)의 입력 핸들러(12)의 바람직한 구현의 간략화된 블록도이다. 도 3은 도 1의 시스템(10)의 스크램블링/디스크램블링 디바이스(14)의 바람직한 구현의 간략화된 블록도이다. 도 4는 도 1의 시스템(10)의 바람직한 동작 방법을 예시한 간략화된 플로우 차트이다. 본 시스템(10)은 바람직하게는 컨텐츠 스트림(16)의 패킷들을 스크램블링/디스크램블링하도록 적용된다. 본 시스템(10)은 일반적으로 입력 핸들러(12), 스크램블링/디스크램블링 디바이스(14) 및 보안 인터페이스(18)를 포함한다. 상기 보안 인터페이스(18)는 바람직하게는 입력 핸들러(12)와 스크램블링/디스크램블링 디바이스(14) 사이에서 인터페이싱한다. 스트림(16)이 일반적으로 상기 입력 핸들러(12)와 스크램블링/디스크램블링 디바이스(14) 모두에 입력된다. 명세서와 청구범위에 사용된 "보안"이라는 용어는 입력 핸들러(12)와 스크램블링/디스크램블링 디바이스(14) 사이의 데이터 흐름이 해커에 의한 변조에 대해 조작이 난해하도록 하기 위해 부정조작이 어렵다른 것으로서 정의된다.
도 5를 참조하면, 이것은 도 1의 시스템(10)에 의해 처리되는 스트림(16)의 비스크램블링된 패킷(20)과 스크램블링된 패킷(22)의 간략화된 도면이다. 상기 비 스크램블링된 패킷(20)은 일반적으로 MSC 섹션(24)과 페이로드(26)를 포함한다. 상기 비스크램블링된 패킷(20)과 스크램블링된 패킷(22)은 패킷 길이(30)를 가진다. 상기 MSC 섹션(24)은 또한 일반적으로 길이(32)를 가진다. 상기 MSC 섹션(24)은 항상 클리어 상태로 유지된다. 즉, 상기 MSC 섹션(24)은 스크램블링된 패킷으로 결코 전송되거나 이븐으로 스크램블링되어 저장되지 않으며, 상기 MSC 섹션(24)은 "클리어 상태"가 된다. 상기 MSC 섹션(24)은 일반적으로 적응 필드(28)를 가지고, 이것은 또한 항상 클리어 상태로 유지된다. 상기 MSC 섹션(24)은 일반적으로 클리어 상태를 유지해야하는 패킷(20, 22)의 헤더(시작부분의 다수의 바이트)를 포함한다, 예를 들면, MPEG-2 패킷은 188 바이트의 패킷 길이와, 선택적인 적응 필드를 더한 4 바이트의 MSC 섹션을 가진다.
도 1 내지 도 4와, 추가로 도 5를 참조하라. 상기 입력 핸들러(12)는 일반적으로 SVP 전송 엔진의 일부이다. 상기 입력 핸들러(12)는 바람직하게는 스트림(16)을 수신하기 위한 수신 모듈(34)을 포함한다(블록(38)). 상기 입력 핸들러(12)는 또한 일반적으로 신호(36)를 수신하고, 스트림(16)의 스킴을 입력 핸들러(12)에 알려줌으로써 상기 입력 핸들러(12)가 예를 들면 하기에 보다 상세히 기술될 데이터 마스크(48)를 판정하는(그러나 그에 한정되는 것은 아니다), 신호화 된 스킴에 따라 동작하도록 한다.
입력 핸들러(12)는 바람직하게는 또한 MSC 파서(42), 특성 분석기(44), 스킴 분석기(45), 적응 필드 관리자(47), 및 마스크 모듈(46)을 포함한다.
상기 MSC 파서(42)는 바람직하게는 MSC 섹션(24), 필요하다면 적응 필드(28) 를 식별하기 위해 패킷(20, 22)을 파싱한다(블록(54)). 상기 패킷(20, 22)은 일반적으로 MSC 섹션(24)의 위치와 크기를 지시하는 하나 이상의 바이트(전송 스킴에 따라)를 포함한다.
특성 분석기(44)는 각 패킷(20, 22)의 하나 이상의 데이터 독립적인 특성(60); 및/또는 각 패킷(20, 22)의 MSC 섹션(24); 및/또는 각 MSC 섹션(24)의 적응 필드(28)를 판정하기 위해 스트림(16)을 분석한다(블록(56)). 명세서와 청구범위에서 사용되는 "데이터 독립적인 특성"이라는 용어는, 패킷(20, 22)(MSC 섹션(24) 및 적응 필드(28)를 포함)의 데이터 값에 독립적인 팩터로서 정의된다. 상기 데이터 독립적인 특성(60)은 예를 들면, 패킷(20, 22)의 길이(30), 및/또는 MSC 섹션(24)의 길이(32), 및/또는 적응 필드(28)의 길이를 포함하는(그러나 그에 한정되는 것은 아니다) 임의의 적절한 데이터 독립적인 특성을 포함한다. 신호(36)가 사용되지 않으면, 스킴 분석기(45)는 바람직하게는 패킷(20, 22)의 데이터 형태에 기초하여 스트림(16)의 스킴을 판정한다(블록(55)). 상기 패킷(20, 22)의 데이터 형태는 바람직하게는 상술한 MSC 파서(42), 및 특성 분석기(44)에 의해 판정된다. 상술한 바와 같이, 상기 데이터 마스크(48)는 일반적으로 스트림(16)의 스킴의 함수이다.
스크램블링을 위해, 예를 들면, 그러나 한정사항은 아니게, 상기 시스템(10)이 브로드캐스팅 헤더 또는 컨텐츠 소싱 디바이스의 일부일 때, 상기 적응 필드 관리자(47)는 바람직하게는, 상기 패킷(20)의 적어도 일부에 인위적인 적응 필드를 생성하거나(적응 필드가 없었다면), 또는 패킷의 적어도 일부의 기존 적응 필 드(28)를 인위적으로 확장하여(블록(57)) 패킷(20)의 적응 필드의 길이, 및 그에 따라 MSC 섹션(24)의 길이(32)가 선택가능하게 되도록 한다. 인위적으로 적응 필드(28)를 생성/확장하는 이유는 스크램블링/디스크램블링 디바이스(14)를 참조하여 하기에 보다 상세히 설명되는 바와 같이, 패킷(20)의 초기값에 엔트로피를 도입시키기 위한 것이다.
마스크 모듈(46)은 바람직하게는 각 패킷(20, 22)에 대해 일반적으로 MSC 섹션(24)의 하나 이상의 비트의 데이터를 제외하고는 MSC 섹션(24)의 모든 데이터를 포함하는 데이터 마스크를 생성한다(블록(58)). 마스킹은 MDD 모드에서 동작하는 동안의 스크램블링/디스크램블링 디바이스(14)를 참조하여 하기에 보다 상세히 기술된다. 상술한 바와 같이, 상기 데이터 마스크(48)는 일반적으로 스트림(16)의 스킴의 함수이다.
상기 스크램블링/디스크램블링 디바이스(14)는 일반적으로 보안 인터페이스(18)를 통해 입력 핸들러(12)와 연관되어 동작한다. 상기 입력 핸들러(12), 스크램블링/디스크램블링 디바이스(14) 및 보안 인터페이스(18)는 바람직하게는 전체 패킷(20)을 클리어 상태로 유지되도록 하는 스크램블링 사이드 상의 MSC 섹션(24)의 변조에 대해 조작이 어렵게 되도록 한다. 예를 들면, 해커는 상기 MSC 섹션(24)의 길이(32)가 패킷(20)의 길이(30)가 되도록 하고, 그에 의해 상기 MSC 섹션(24)이 현재 전체 패킷이 될 때, 스크램블링 후에도 그대로 클리어 한 상태로 상기 전체 패킷(20)을 유지하도록 하기 위해 MSC 섹션(24)의 길이(32)를 수정하려고 시도한다.
상기 스크램블링/디스크램블링 디바이스(14)는 바람직하게는 시스템(10)의 스크램블링/디스크램블링 기능을 수행한다. 상기 스크램블링/디스크램블링 디바이스(14)는 일반적으로 수신 모듈(50), 초기값 모듈(52) 및 모드 멀티플렉서(78)를 포함하는 서브 모듈들을 포함한다.
상기 수신 모듈(50)은 바람직하게는 각 패킷(20, 22)에 대해 입력 핸들러(12)로부터 데이터 독립적인 특성(60), 데이터 마스크(48), MSC 섹션(24), 및 패킷 길이(30)를 수신한다(블록(66)). 상기 수바이트의 패킷 길이(30)는 일반적으로 스크램블링/디스크램블링 프로세스를 초기화하기 위해 스크램블링/디스크램블링 디바이스(14)에 의해 알려질 필요가 있다. 특정한 스킴, 예를 들면 MPEG-2 스킴(그러나 그에 한정되는 것은 아니다)에서, 패킷 길이(30)는 모든 패킷(20, 22)에 대해 일정하다는 것에 유의해야한다. 그러나, 당업자는, 다른 스킴들은 일정하지 않은 패킷 길이, 예를 들면 인터넷 프로토콜 패킷(그러나 그에 한정되는 것은 아니다)을 가질 수 있다는 것을 이해할 것이다.
스크램블링/디스크램블링 디바이스(14)로의 또다른 입력은 일반적으로 복수의 제어 워드(62)를 포함한다. 각 제어 워드(62)는 일반적으로 패킷(20, 22)의 그룹에 의해 공유된다.
시스템(10)의 동작(64) 모드는 또한 모드 멀티플렉서(78)에 의해 사용하기 위한 스크램블링/디스크램블링 디바이스(14)로의 입력이 있다. 상기 동작 모드(64)는, 일반적으로 MDI 모드 또는 MDD 모드에서 동작하도록 스크램블링/디스크램블링 디바이스(14)의 모드 멀티플렉서(78)에 지시하는 모드 제어 플래그(도시되 지 않음)를 변경시키기 위해 사용된다. 상기 모드 제어 플래그는 바람직하게는 전체 컨텐츠 보호 시스템에 의해 제공되는 보안 방식으로 활성화되어, 예를 들면, 시스템이 현재 MDD 모드에서 동작하고 있으면, 해커가 상기 시스템(10)의 동작을 MDI 모드로 변경시키는 것을 방지한다. 제 1의 예를 들면, 모드 제어 플래그는 암호화되어 보호된 컨텐츠-고유의 제어 데이터그램에서 요구되는 모드를 지정하고, 상기 데이터그램을 스크램블링/디스크램블링 디바이스(14)로 전달함으로써 보안의 방식으로 활성화된다. 제 2의 예를 들면, 상기 모드 제어 플래그는 SVP 제어 블록이 제어 워드와 함께 요구되는 모드를 상기 스크램블링/디스크램블링 디바이스(14)로 보안이 되도록 전달함으로써 보안 방식으로 활성화된다.
도 1 내지 도 5와, 추가로 도 6을 참조하며, 상기 도 6은 도 1의 시스템에서 사용하는 초기값(70)의 간략화된 도이다.
추가적이고, 선택적인 스크램블링/디스크램블링 디바이스(14)로의 입력은 MSC 오버라이드(68) 입력이다. MSC 오버라이드(68) 입력이 1과 동일하다면, 스크램블링/디스크램블링 디바이스(14)는 일반적으로 입력 핸들러(12)로부터 수신된 MSC 섹션(24)을 무시하고, MSC 섹션(24)의 길이를 0으로 강제하고, 전체 패킷(20)이 스크램블링되도록, 초기값(70)을 연산하고, 패킷(20)의 실제부분에서 사용하기 위해 이들 모두는 스크램블링된다.
MDI 모드에서, 초기값 모듈(52)은 바람직하게는 처리되는 패킷(20, 22); 및/또는 처리되는 패킷(20, 22)의 MSC 섹션(24); 및/또는 처리되는 패킷(20, 22)의 MSC 섹션(24)의 적응 필드(28);의 데이터 독립적인 특성(60)의 함수로서 각 패 킷(20, 22)에 대해 초기값(70)을 판정한다(블록(74)). 스크램블링시, 초기값(70)이 적응 필드(28)의 길이 및/또는 MSC 섹션(24)의 길이(32)의 함수로서 판정될 때, 상술한 바와 같이, 적응 필드 관리자(47)에 의해 적어도 일부의 패킷(20)의 적응 필드(28)의 길이를 인위적으로 변화시킴으로써 엔트로피가 초기값(70)으로 도입된다. 상기 스크램블링/디스크램블링 디바이스(14)는 바람직하게는 패킷(20, 22)의 초기값(70) 및 제어 워드(62)에 기초하여 스트림(16)의 패킷(20, 22)을 스크램블링/디스크램블링하고, 그에 의해 출력 스트림(72)을 산출한다(블록(76)).
엔트로피가 상기 패킷(20)의 적응 필드를 인위적으로 조작함으로써 초기값(70)으로 도입될 때, 상기 패킷(20)으로부터 페이로드(26)를 추출하는 애플리케이션은 자동으로 전송 스킴(예를 들면 MPEG-2(그러나 그에 한정되는 것은 아님))에 의해 정의된 바와 같이 패킷(22)으로부터 페이로드(26)(MSC 섹션(24)은 제외함)를 추출한다. 즉, 페이로드를 추출하는 애플리케이션은 본 발명의 시스템에 의해 생성된 초기값의 엔트로피를 조절하기 위해 고쳐질 필요가 없다.
MDD 모드에서, 초기값(70)이, 처리되는 패킷(20, 22)의 데이터 마스크(48)에 의해 배제되는 MSC 섹션(24)의 하나 이상의 비트의 데이터의 함수가 되지 않도록 하기 위해, 초기값 모듈(52)은 바람직하게는, 처리되는 패킷(20, 22)의 데이터 마스크(48)의 함수로서 각 패킷(20, 22)에 대해 초기값(70)을 판정하도록 적용된다. 즉, 마스킹이, 상기 MSC 섹션(24)의 부분이 상기 초기값(70)을 형성하는 데에 사용되는 것으로부터 배제시키는 방법이 된다. 그러나, 상기 데이터 마스크(48)에 의해 마스크아웃되는 부분조차도 포함하는, 전체 MSC 섹션(24)이 바람직하게는 출력 스트림(72)에 포함된다는 것에 유의해야한다.
따라서, 마스킹은 일반적으로 상기 MDD 모드 동안 재스크램블링할 필요없이 변조될 수 있는 MSC 섹션(24)에서의 비트를 지정하는 것을 허용한다.
데이터 마스크(48)에 의해 배제되는 비트(들)은 바람직하게는 위치 종속적이어서, 마스킹은 일반적으로 MSC 섹션(24)의 미리정해진 비트(들)의 위치에 기초하여 수행되거나 또는 전송 스트림의 스킴, 예를 들면 MPEG-2 스킴에 따라 수행된다. 비제한적인 예시의 방식으로, 배제될 비트(들)은, 배제될 필드의 유형을 규정하고, 상기 원하는 필드 유형을 배치시키기 위해 MSC 섹션(24)에서의 실제 데이터를 파싱함으로써 판정된다.
MPEG-2 스킴에서, MSC 섹션(24)의 제 2 바이트의 첫번째 비트는 일반적으로 전송 오류 지시자이고, 이것은 전송 상태에 따라 패킷(20, 22)의 전송동안 변경될 수 있다. 따라서, MPEG-2 스킴을 사용할 때 초기값(70)에서 사용되는 것으로부터 상기 제 2 바이트의 첫번째 비트를 마스킹하는 것이 바람직하다.
상술한 바와 같이, 데이터 마스크(48)는 일반적으로 스트림(16)의 스킴의 함수이다. 추가로, 패킷을 스크램블링/디스크램블링하는데에 사용되는 초기값(70)은 일반적으로 MDD 모드에서의 데이터 마스크(48)의 함수이다. 따라서, MDD 모드에서, 초기값(70) 및 스크램블링/디스크램블링 디바이스(14)에 의한 패킷(20, 22)의 스크램블링/디스크램블링은 일반적으로 스트림(16)의 스킴의 함수이다.
본 발명의 제 1 대안의 바람직한 실시예에 따르면, MDD 모드에서, 초기값 모듈(52)은 각 패킷(20, 22)에 대해 MSC 섹션(24)의 데이터 컨텐츠 뿐 아니라 데이터 독립적인 특성(60)의 함수로서 초기값(70)을 판정하는 것에 적용되고, 여기서 상기 MSC 섹션(24)의 데이터 컨텐츠 중 어떤 것도 상기 초기값(70)에서 사용되는 것으로부터 명확하게 배제되지 않는다.
본 발명의 제 2 대안의 바람직한 실시예에 따르면, MDD 모드에서, 초기값 모듈(52)은 각 패킷(20, 22)에 대해 데이터 독립적인 특성(60)과 처리되는 패킷(20, 22)의 데이터 마스크(48)의 함수로서 초기값(70)을 판정하는 것에 적용된다.
시스템(10)은 일반적으로 SVP 커널에 의해 제공되는 제어 워드를 가진 SVP 칩 컨텐츠-처리 컴포넌트의 일부로서 실리콘 벤더에 의해 구현된다.
도 6을 참조하면, 이것은 도 1의 시스템(10)에 사용하는 초기값(70)의 바람직한 예의 간략화된 도이다. 상기 초기값(70)은 패킷 길이(30)(초기값(70)의 가장 중요한 64비트에서) 및 MSC 섹션(24)의 길이(32)(초기값(70)의 가장 덜 중요한 64비트에서)에 기초한 것이다. MPEG-2에 대해, 패킷 길이(30)와 MSC 섹션(24)의 길이 모두는 일반적으로 각각 1 바이트이다. 따라서, MPEG-2에 대해, 일반적으로 초기값(70)의 2 바이트만 영이 아니다. 도 6에서, MSB는 "가장 중요한 비트를 가리키고, LSB는 "가장 덜 중요한 비트"를 가리킨다.
도 7 내지 12를 참조한다. 도 7은 도 1의 시스템(10)을 사용하는 바람직한 순 CBC 스크램블링 프로세스의 플로우 차트이다. 도 8은 도 1의 시스템(10)을 사용하는 암호문 훔침 기법의 스크램블링 프로세스를 가진 바람직한 CBC의 플로우 차트이다. 도 9는 도 1의 시스템(10)을 사용하는 바람직한 짧은 단일 블록의 스크램블링 프로세스의 플로우 차트이다. 도 10은 도 1의 시스템(10)을 사용하는 바람직 한 순 CBC 디스크램블링 프로세스의 플로우 차트이다. 도 11은 도 1의 시스템(10)을 사용하는 암호문 훔침 기법의 디스크램블링 프로세스를 가진 바람직한 CBC의 플로우 차트이다. 도 12는 도 1의 시스템(10)을 사용하는 바람직한 짧은 단일 블록의 디스크램블링 프로세스의 플로우 차트이다.
하기의 값과 주석은 도 7 내지 12를 참조하여 사용된 것이다.
"MSC"는 MSC 섹션의 데이터 컨텐츠이다.
"MSC길이"는 MSC 섹션의 길이이다.
"마스크"는 데이터 마스크이다.
"E"는 주어진 16 바이트 키의 CW를 이용하는 16바이트 블록의 표준 AES 암호문 암호화이다.
"D"는 주어진 16 바이트 키의 CW를 이용하는 16바이트 블록의 표준 AES 암호문 복호화이다.
"XOR"은 비트에 관한 XOR 연산자이다.
"P"는 평문이다.
"C"는 암호문이다.
어레이 인덱스는 MSC 및 마스크에 대해 0에서 시작하여 m까지, P 및 C에 대해 n까지이다.
"F(MSC, 패킷 길이)"는 16 바이트 초기값(IV)으로, 도 6을 참조하라.
MDD 모드에서, MSC 섹션(24)의 CBC-MAC(MAC는 메시지 인증 코드이다)는 바람직하게는 제 1 CBC 스크램블링/디스크램블링 스테이지에 대해, 고전적인 "고정된 IV"대신에 초기값(70)으로 사용된다.
MDI 모드에서, 제 1 CBC 스크램블링/디스크램블링 스테이지에 대한 초기값(70)은 바람직하게는 패킷(20, 22), 및/또는 MSC 섹션(24), 및/또는 처리되는 패킷(20, 22)의 적응 필드(28)의 데이터 독립적인 특성(60)의 함수이다.
일관성을 위해, MDD 모드와 MDI 모드에서 사용되는 스크램블링 함수 E는 바람직하게는 동일하다. 유사하게, MDD 모드와 MDI 모드에서 사용되는 디스크램블링 함수 D는 바람직하게는 동일하다.
처리되는 패킷(20, 22)에 대한 모드 멀티플렉서(78)의 출력(80)은 스크램블링/디스크램블링되는 동일한 패킷(20, 22)에 대한 초기값(70)이다.
본 발명에 따른 시스템(10)은 적절하게 프로그래밍된 프로세서가 될 수 있음이 이해될 것이다. 유사하게, 본 발명은 본 발명의 방법을 실행하기 위한 프로세서에 의해 판독가능한 소프트웨어를 고려한다. 본 발명은 또한 본 발명의 방법을 실행하기 위한 기계에 의해 실행가능한 프로그램 명령을 실제로 구현하는 기계-판독가능한 메모리를 더 고려한다.
개별 구현들의 관계에서 기술된 본 발명의 다양한 특징들이 단일 구현을 조합하여 제공될 수 있음이 명확하게 이해될 것이다. 반대로, 단일 구현의 관계로 기술된 본 발명의 다양한 특징들이 개별적으로 또는 임의의 적절한 서브-조합으로 제공될 수 있음이 간략하게 이해될 것이다.
또한, 본 발명이 상기에서 특정하게 기술되고 도시된 것에 의해 제한되지 않음을 당업자들은 이해할 것이다. 오히려, 본 발명의 범위는 하기의 청구범위에 의 해서만 정의된다.

Claims (26)

  1. 각각의 패킷들이 항상 클리어 상태로 유지되는 클리어 상태 유지(MSC) 섹션을 갖는 컨텐츠 스트림의 패킷들을 스크램블링/디스크램블링 하기 위한 시스템에 있어서, 상기 시스템은:
    입력 핸들러로서;
    상기 스트림을 수신하기 위한 수신 모듈, 및
    상기 각각의 패킷들의 적어도 하나의 데이터 독립적인 특성을 판정하기 위해 상기 스트림을 분석하는 특성 분석기,를 구비하는 입력 핸들러;
    상기 입력 핸들러와 연관하여 동작하는 스크램블링/디스크램블링 디바이스로서;
    상기 입력 핸들러로부터의 상기 각각의 패킷들에 대한 적어도 하나의 데이터에 독립적인 특성을 수신하는 수신 모듈, 및
    처리되는 하나의 패킷의 적어도 하나의 데이터 독립적인 특성의 함수로서 각 패킷에 대한 초기값을 판정하는 초기값 모듈을 구비하고,
    상기 스크램블링/디스크램블링 디바이스는 초기값과 제어 워드에 기초하여 패킷을 스크램블링 하는 것과 디스크램블링 하는 것 중 적어도 하나에 적용되는, 스크램블링/디스크램블링 디바이스;를 포함하는 것을 특징으로하는 시스템.
  2. 제 1 항에 있어서,
    인위적으로 상기 패킷의 적어도 일부의 적용필드를 생성하는 단계; 및
    패킷들의 적응 필드의 길이가 선택가능하게 되도록 적어도 일부 패킷의 기존 적응 필드를 확장하는 단계; 중 하나를 수행함으로써 패킷의 초기값으로 엔트로피를 도입하는 적응 필드 관리자를 더 포함하고,
    상기 적응 필드는 MSC 섹션의 일부분을 형성하고, 상기 적어도 하나의 독립적인 특성은 상기 MSC 섹션의 길이와 상기 적응 필드의 길이 중 적어도 하나가 되는 것을 특징으로 하는 시스템.
  3. 제 1 항에 있어서,
    상기 적어도 하나의 데이터 독립적인 특성은 패킷의 길이인 것을 특징으로 하는 시스템.
  4. 제 1 항에 있어서,
    상기 특성 분석기는 각 패킷의 MSC 섹션의 적어도 하나의 데이터 독립적인 특성을 분석하고;
    상기 각각의 패킷의 초기값은 처리되는 하나의 패킷의 MSC 섹션의 적어도 하나의 데이터 독립적인 특성의 함수인 것을 특징으로 하는 시스템.
  5. 제 4 항에 있어서,
    상기 MSC 섹션의 적어도 하나의 데이터 독립적인 특성은 MSC 섹션의 길이인 것을 특징으로 하는 시스템.
  6. 제 4 항에 있어서,
    상기 MSC 섹션은 적응 필드를 포함하고;
    상기 특성 핸들러는 상기 적어도 하나의 데이터 독립적인 특성 적응 필드를 분석하고;
    상기 각 패킷에 대한 초기값은 처리되는 하나의 패킷의 적응 필드의 적어도 하나의 데이터 독립적인 특성의 함수인 것을 특징으로 하는 시스템.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 각각의 패킷에 대한 상기 초기값은 또한 처리되는 하나의 패킷의 MSC 섹션의 데이터 컨텐츠의 함수인 것을 특징으로 하는 시스템.
  8. 각각의 패킷들이 항상 클리어 상태로 유지되는 클리어 상태 유지(MSC) 섹션을 가지는 컨텐츠 스트림의 패킷들을 스크램블링/디스크램블링 하기 위한 시스템에 있어서, 상기 시스템은:
    입력 핸들러로서;
    상기 스트림을 수신하기 위한 수신 모듈, 및
    상기 각각의 패킷들에 대해, 상기 MSC 섹션의 적어도 하나의 비트의 데이터를 제외한 MSC 섹션의 모든 데이터를 포함하는 데이터 마스크를 생성하는 마 스크 모듈을 구비하는 입력 핸들러; 및
    상기 입력 핸들러와 연관하여 동작하는 스크램블링/디스크램블링 디바이스로서,
    상기 입력 핸들러로부터의 상기 각각의 패킷들에 대한 데이터 마스크를 수신하는 수신 모듈,
    초기값이, 처리되는 하나의 패킷의 MSC 섹션의 적어도 하나의 비트의 데이터의 함수가 되지 않도록, 처리되는 패킷들 중 하나의 데이터 마스크의 함수로서 각 패킷에 대한 초기값을 판정하는 초기값 모듈을 구비하고, 상기 스크램블링/디스크램블링 디바이스는 초기값과 제어 워드에 기초하여 패킷을 스크램블링 하는 것과 디스크램블링 하는 것 중 적어도 하나에 적용되는, 스크램블링/디스크램블링 디바이스;를 포함하는 것을 특징으로하는 시스템.
  9. 제 8 항에 있어서,
    적어도 1 비트는 위치 종속적인 것을 특징으로 하는 시스템.
  10. 제 8 항 또는 9항에 있어서,
    상기 적어도 1 비트는 상기 MSC 섹션의 제 2 바이트의 첫번째 비트인 것을 특징으로 하는 시스템.
  11. 스트림이 스킴에 연관되는 컨텐츠 스트림의 패킷들을 스크램블링/디스크램블 링 하기 위한 시스템에 있어서, 상기 시스템은:
    입력 핸들러로서;
    상기 스트림을 수신하기 위한 수신 모듈, 및
    상기 적어도 하나의 패킷의 데이터 형태에 기초하여 스킴을 판정하기 위한 스킴 분석기를 구비하는 입력 핸들러;
    상기 스킴에 기초하여 패킷을 스크램블링하거나 디스크램블링하는 것 중 적어도 하나를 수행하는 스크램블링/디스크램블링 디바이스;를 포함하는 것을 특징으로하는 시스템.
  12. 제 11 항에 있어서,
    상기 스킴에 기초하여 각각의 패킷에 대한 초기값을 판정하는 초기값 모듈을 더 구비하고, 상기 스크램블링/디스크램블링 디바이스는 상기 초기값과 제어 워드에 기초하여 각각의 패킷을 스크램블링 하는 것과 디스크램블링하는 것 중 적어도 하나를 수행하는 것을 특징으로 하는 시스템.
  13. 제 12 항에 있어서,
    상기 각각의 패킷은 항상 클리어 상태를 유지하는 클리어 상태 유지(MSC) 섹션을 가지고, 상기 시스템은 각 패킷에 대해, 상기 MSC 섹션의 적어도 1 비트의 데이터를 제외하고는 MSC 섹션의 모든 데이터를 포함하는 데이터 마스크를 생성하기 위한 마스크 모듈을 더 구비하고, 상기 데이터 마스크는 상기 스킴에 기초한 것이 고, 상기 초기값 모듈은, 상기 초기값이 처리되는 하나의 패킷의 MSC 섹션 중 적어도 1 비트의 데이터의 함수가 되지 않도록 하기위해, 처리되는 하나의 패킷의 데이터 마스크의 함수로서 상기 패킷 각각에 대한 초기값을 판정하는 것을 특징으로 하는 시스템.
  14. 항상 클리어 상태를 유지하는 클리어 상태 유지(MSC) 섹션을 가지는 각 패킷의 컨텐츠의 스트림의 패킷을 스크램블링/디스크램블링 하기위한 방법에 있어서,
    상기 스트림을 수신하는 단계;
    각 패킷의 적어도 하나의 데이터 독립적인 특성을 판정하기 위해 상기 스트림을 분석하는 단계;
    처리되는 하나의 패킷의 적어도 하나의 데이터 독립적인 특성의 함수로서 상기 각 패킷에 대한 초기값을 판정하는 단계; 및
    상기 초기값과 제어워드에 기초하여 상기 패킷을 스크램블링하는 것과 디스크램블링하는 것 중 하나를 수행하는 단계;를 포함하는 것을 특징으로 하는 방법.
  15. 제 14 항에 있어서,
    상기 패킷 중 적어도 일부에서 적응 필드를 인위적으로 생성시키는 단계와, 상기 적어도 일부 패킷 중 기존의 적응 필드를 확장시키는 단계 중 하나를 실행하여, 패킷의 적응 필드의 길이가 선택가능하고, 상기 적응 필드가 상기 MSC 섹션의 일부를 형성하고, 상기 적어도 하나의 독립적인 특성이 상기 MSC 섹션의 길이와 상 기 적응 필드의 길이 중 적어도 하나가 되도록 하는 것을 특징으로 하는 방법.
  16. 제 14 항에 있어서,
    상기 적어도 하나의 데이터 독립적인 특성은 처리되는 하나의 패킷의 길이인 것을 특징으로 하는 방법.
  17. 제 14 항에 있어서,
    상기 분석은 각 패킷의 MSC 섹션 중 적어도 하나의 데이터 독립적인 특성을 분석함으로써 수행되고,
    상기 판정은 처리되는 하나의 패킷의 MSC 섹션의 적어도 하나의 데이터 독립적인 특성의 함수로서 각 패킷에 대한 초기값을 판정함으로써 수행되는 것을 특징으로 하는 방법.
  18. 제 17 항에 있어서,
    상기 MSC 섹션 중 적어도 하나의 데이터 독립적인 특성은 처리되는 하나의 패킷의 MSC 섹션의 길이인 것을 특징으로 하는 방법.
  19. 제 17 항에 있어서,
    상기 MSC 섹션은 적응 필드를 포함하고;
    상기 분석은 적응 필드의 적어도 하나의 데이터 독립적인 특성을 분석함으로 써 수행되고; 및
    상기 판정은 처리되는 하나의 패킷의 적응필드의 적어도 하나의 데이터 독립적인 특성의 함수로서 각 패킷에 대한 초기값을 판정함으로써 수행되는 것을 특징으로 하는 방법.
  20. 제 14 항 내지 제 19 항 중 어느 한 항에 있어서,
    상기 판정은 또한 처리되는 하나의 패킷의 MSC 섹션의 데이터 컨텐츠의 함수로서 각 패킷에 대한 초기값을 판정하는 단계를 포함하는 것을 특징으로 하는 방법.
  21. 각각의 패킷들이 항상 클리어 상태를 유지하는 클리어 상태 유지(MSC) 섹션을 가지는 컨텐츠 스트림의 패킷을 스크램블링/디스크램블링 하기위한 방법에 있어서,
    상기 스트림을 수신하는 단계'
    각 패킷에 대해, 상기 MSC 섹션의 적어도 1 비트의 데이터를 제외한 MSC 섹션의 모든 데이터를 포함하는 데이터 마스크를 생성하는 단계;
    초기값이, 처리되는 하나의 패킷 중 MSC 섹션의 적어도 1 비트의 데이터의 함수가 되지 않도록, 처리되는 하나의 패킷의 데이터 마스크의 함수로서 각 패킷에 대한 초기값을 판정하는 단계; 및
    상기 초기값과 제어워드에 기초하여 상기 패킷을 스크램블링하는 것과 디스 크램블링하는 것 중 적어도 하나를 수행하는 단계;를 포함하는 것을 특징으로 하는 방법.
  22. 제 21 항에 있어서,
    상기 적어도 1 비트는 위치 종속적인 것을 특징으로 하는 방법.
  23. 제 21 항 또는 제 22 항에 있어서,
    적어도 1 비트는 상기 MSC 섹션의 제 2 바이트의 첫번째 비트인 것을 특징으로 하는 방법.
  24. 스트림이 스킴에 연관되는 컨텐츠 스트림의 패킷을 스크램블링/디스크램블링 하기 위한 방법에 있어서, 상기 방법은:
    상기 스트림을 수신하는 단계;
    상기 적어도 하나의 패킷의 데이터 형태에 기초하여 스킴을 판정하는 단계; 및
    상기 스킴에 기초하여 상기 패킷을 스크램블링/디스크램블링하는 단계;를 포함하는 것을 특징으로 하는 방법.
  25. 제 24 항에 있어서,
    상기 스킴에 기초하여 각 패킷에 대한 초기값을 판정하는 단계를 더 포함하 고, 상기 각 패킷에 대한 스크램블링/디스크램블링은 초기값과 제어 워드에 기초하는 것을 특징으로 하는 방법.
  26. 제 24 항에 있어서,
    상기 각 패킷이 항상 클리어 상태를 유지하는 클리어 상태 유지(MSC) 섹션을 가지는 방법으로서, 상기 방법은,
    각 패킷에 대해, 상기 MSC 섹션의 적어도 1 비트의 데이터를 제외한 MSC 섹션의 모든 데이터를 포함하는 데이터 마스크를 생성하는 단계를 더 포함하고, 상기 데이터 마스크는 상기 스킴에 기초하고, 상기 초기값이, 처리되는 하나의 패킷의 MSC 섹션의 적어도 1 비트의 데이터의 함수가 되지 않도록, 상기 각 패킷에 대한 초기값이, 처리되는 하나의 패킷의 데이터 마스크의 함수가 되도록 하는 것을 특징으로 하는 방법.
KR1020077028056A 2005-05-02 2006-03-22 네이티브 스크램블링 시스템 KR101132296B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
IL168337 2005-05-02
IL16833705 2005-05-02
IL16849605 2005-05-09
IL168496 2005-05-09
IL17098705 2005-09-20
IL170987 2005-09-20
PCT/IL2006/000367 WO2006117775A2 (en) 2005-05-02 2006-03-22 Native scrambling system

Publications (2)

Publication Number Publication Date
KR20080007497A true KR20080007497A (ko) 2008-01-21
KR101132296B1 KR101132296B1 (ko) 2012-04-05

Family

ID=37308380

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077028056A KR101132296B1 (ko) 2005-05-02 2006-03-22 네이티브 스크램블링 시스템

Country Status (7)

Country Link
US (1) US7940930B2 (ko)
EP (2) EP1877948B1 (ko)
KR (1) KR101132296B1 (ko)
CN (1) CN101536394B (ko)
HK (1) HK1134609A1 (ko)
IL (1) IL186570A (ko)
WO (1) WO2006117775A2 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8204217B2 (en) * 2009-01-28 2012-06-19 Telefonaktiebolaget Lm Ericsson (Publ) Lightweight streaming protection by sequence number scrambling
IL199616A0 (en) * 2009-06-28 2010-05-17 Chaim Shen Orr Pattern-free encryption
US8400995B2 (en) 2010-09-22 2013-03-19 Freescale Semiconductor, Inc. System and method for descrambling data
IL214743A0 (en) 2011-08-18 2012-02-29 Nds Ltd Block cipher modes of operation
US9967191B2 (en) 2013-07-25 2018-05-08 Cisco Technology, Inc. Receiver-signaled entropy labels for traffic forwarding in a computer network
CN115801321B (zh) * 2022-10-20 2023-11-14 北京海泰方圆科技股份有限公司 一种数据组合加密方法及装置

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4229818A (en) 1978-12-29 1980-10-21 International Business Machines Corporation Method and apparatus for enciphering blocks which succeed short blocks in a key-controlled block-cipher cryptographic system
US4731843A (en) 1985-12-30 1988-03-15 Paradyne Corporation Method and device of increasing the execution speed of cipher feedback mode of the DES by an arbitrary multiplier
GB9020410D0 (en) 1990-09-19 1990-10-31 Stc Plc Sequence synchronisation
US5473696A (en) 1993-11-05 1995-12-05 At&T Corp. Method and apparatus for combined encryption and scrambling of information on a shared medium network
WO1996020563A1 (en) 1994-12-27 1996-07-04 Kabushiki Kaisha Toshiba Transmitter, receiver, communication processing system integrating them, and digital television broadcasting system
US5623549A (en) * 1995-01-30 1997-04-22 Ritter; Terry F. Cipher mechanisms with fencing and balanced block mixing
US7224798B2 (en) 1995-04-03 2007-05-29 Scientific-Atlanta, Inc. Methods and apparatus for providing a partial dual-encrypted stream in a conditional access overlay system
JPH08335040A (ja) * 1995-06-02 1996-12-17 Fujitsu Ltd 暗号化処理方式
JPH09162859A (ja) 1995-12-07 1997-06-20 Fujitsu Ltd スクランブル方法及び装置、デスクランブル方法及び装置、並びに、データ伝達方法及びシステム
US7113523B1 (en) * 1997-06-11 2006-09-26 Sony Corporation Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device
CA2302784A1 (en) 1997-09-17 1999-03-25 Frank C. Luyster Improved block cipher method
US6356567B2 (en) * 1997-09-26 2002-03-12 International Business Machines Corporation Embedded clock recovery and difference filtering for an MPEG-2 compliant transport stream
US6249582B1 (en) 1997-12-31 2001-06-19 Transcrypt International, Inc. Apparatus for and method of overhead reduction in a block cipher
US6269163B1 (en) 1998-06-15 2001-07-31 Rsa Security Inc. Enhanced block ciphers with data-dependent rotations
CA2282051A1 (en) 1998-10-20 2000-04-20 Lucent Technologies, Inc. Efficient block cipher method
DE19906450C1 (de) 1999-02-16 2000-08-17 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Erzeugen eines verschlüsselten Nutzdatenstroms und Verfahren und Vorrichtung zum Entschlüsseln eines verschlüsselten Nutzdatenstroms
US7043022B1 (en) * 1999-11-22 2006-05-09 Motorola, Inc. Packet order determining method and apparatus
JP4211165B2 (ja) * 1999-12-10 2009-01-21 ソニー株式会社 符号化装置及び方法、記録媒体、並びに復号装置及び方法
US7308575B2 (en) 2000-03-30 2007-12-11 Arris Group, Inc. Data scrambling system for a shared transmission media
EP1150445A3 (en) * 2000-04-24 2008-06-04 Sony Corporation Method and device for transmitting media data comprising time stamp information, method and terminal device for receiving this data, method and device for receiving digital broadcasts and method and device for calculating the transmission time of the media data, based on the time stamp information
US6879689B2 (en) 2000-05-09 2005-04-12 Verizon Laboratories Inc. Stream-cipher method and apparatus
US20020018565A1 (en) 2000-07-13 2002-02-14 Maximilian Luttrell Configurable encryption for access control of digital content
JP2002202719A (ja) 2000-11-06 2002-07-19 Sony Corp 暗号化装置及び方法、復号装置及び方法、並びに記憶媒体
US20030012372A1 (en) 2001-04-25 2003-01-16 Cheng Siu Lung System and method for joint encryption and error-correcting coding
US7336787B2 (en) 2001-06-06 2008-02-26 Sony Corporation Critical packet partial encryption
JP3584913B2 (ja) * 2001-09-21 2004-11-04 ソニー株式会社 データ出力方法、記録方法および装置、再生方法および装置、データ送信方法および受信方法
US7376233B2 (en) 2002-01-02 2008-05-20 Sony Corporation Video slice and active region based multiple partial encryption
US7218738B2 (en) 2002-01-02 2007-05-15 Sony Corporation Encryption and content control in a digital broadcast system
CN100590991C (zh) 2002-01-30 2010-02-17 Lg电子株式会社 利用可变时隙长度扰频分组数据的方法及其设备
US7724907B2 (en) 2002-11-05 2010-05-25 Sony Corporation Mechanism for protecting the transfer of digital content
US7730296B2 (en) 2003-02-12 2010-06-01 Broadcom Corporation Method and system for providing synchronous running encoding and encryption
US7409702B2 (en) 2003-03-20 2008-08-05 Sony Corporation Auxiliary program association table
US20060088156A1 (en) 2003-03-27 2006-04-27 Nds Limited, One London Road, Staines Cfm mode system
CN100483992C (zh) 2003-05-06 2009-04-29 国际商业机器公司 数据流的加密、解密方法和装置
US7334132B1 (en) * 2003-06-27 2008-02-19 Zoran Corporation Flexible and scalable architecture for transport processing
US7286667B1 (en) 2003-09-15 2007-10-23 Sony Corporation Decryption system
US7490236B2 (en) * 2004-01-14 2009-02-10 Cisco Technology, Inc. Conditional access overlay partial encryption using MPEG transport continuity counter
WO2005098631A1 (ja) * 2004-03-31 2005-10-20 Matsushita Electric Industrial Co., Ltd. 受信装置、送出装置、セキュリティモジュール、及びデジタル権利管理システム
WO2006086554A2 (en) * 2005-02-09 2006-08-17 Sinett Corporation Methods and systems for incremental crypto processing of fragmented packets

Also Published As

Publication number Publication date
CN101536394A (zh) 2009-09-16
EP1877948B1 (en) 2013-07-03
EP1877948A4 (en) 2010-07-14
CN101536394B (zh) 2012-05-30
IL186570A (en) 2012-02-29
US7940930B2 (en) 2011-05-10
HK1134609A1 (en) 2010-04-30
WO2006117775A3 (en) 2009-04-30
WO2006117775A2 (en) 2006-11-09
KR101132296B1 (ko) 2012-04-05
US20080137851A1 (en) 2008-06-12
IL186570A0 (en) 2008-04-13
EP1877948A2 (en) 2008-01-16
AU2006242833A1 (en) 2006-11-09
EP2579497A1 (en) 2013-04-10

Similar Documents

Publication Publication Date Title
US10212486B2 (en) Elementary bitstream cryptographic material transport systems and methods
JP4976107B2 (ja) データのユニットをスクランブル及びデスクランブルする方法
US7055039B2 (en) Protection of digital content using block cipher crytography
US8818896B2 (en) Selective encryption with coverage encryption
US8781967B2 (en) Watermarking in an encrypted domain
JP2007521780A (ja) Mpeg転送用の連続カウンタを用いた、条件付アクセスの部分的なオーバーレイ暗号化
KR101132296B1 (ko) 네이티브 스크램블링 시스템
US20080101414A1 (en) Methods and apparatus for content scrambling in a communications system
US8229115B2 (en) Use of copyright text in key derivation function
US8737611B2 (en) Encryption device and medium, decryption device and method, data delivery device, data receiving device, and data delivery system
EP1499061A1 (en) Individual video encryption system and method
IL169373A (en) Cfm mode system
US9918143B2 (en) Shuffled media content
Aly et al. A light-weight encrypting for real time video transmission
AU2006242833B2 (en) Native scrambling system
US20070092076A1 (en) Initialization method and termination method for scrambling transport stream
CN100514899C (zh) 改进的cfm模式系统
KR100434379B1 (ko) 블록 암호화 알고리즘을 이용한 인터넷 프로토콜 패킷암호화 장치 및 방법
EP1499062A1 (en) Individual video encryption system and method

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150309

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160310

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170317

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180309

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190314

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20200313

Year of fee payment: 9