KR100927322B1 - 디지털 콘텐트 분배 시스템 - Google Patents

디지털 콘텐트 분배 시스템 Download PDF

Info

Publication number
KR100927322B1
KR100927322B1 KR1020047001237A KR20047001237A KR100927322B1 KR 100927322 B1 KR100927322 B1 KR 100927322B1 KR 1020047001237 A KR1020047001237 A KR 1020047001237A KR 20047001237 A KR20047001237 A KR 20047001237A KR 100927322 B1 KR100927322 B1 KR 100927322B1
Authority
KR
South Korea
Prior art keywords
message
section
abandoned
payment
packet
Prior art date
Application number
KR1020047001237A
Other languages
English (en)
Other versions
KR20040068100A (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 KR20040068100A publication Critical patent/KR20040068100A/ko
Application granted granted Critical
Publication of KR100927322B1 publication Critical patent/KR100927322B1/ko

Links

Images

Classifications

    • 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
    • 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
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • H04N21/23895Multiplex stream processing, e.g. multiplex stream encrypting involving multiplex stream encryption
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2541Rights Management
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4385Multiplex stream processing, e.g. multiplex stream decrypting
    • H04N21/43853Multiplex stream processing, e.g. multiplex stream decrypting involving multiplex 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/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6334Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
    • H04N21/63345Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key by transmitting keys
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Landscapes

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

Abstract

본 발명은 콘텐트를 인코딩하여 메시지들에 배열되는 암호로 보호된 디지털 데이터를 생성하는 방법으로서, 각 메시지는 디코더 애플리케이션에 대해 각 메시지를 어셈블링하기 위해 서비스 인터페이스를 갖는 클라이언트 단말 상에서 디코더 애플리케이션에 의해 디코딩될 수 있고, 상기 방법은, 기계 판독가능 매체로부터 메시지를 검색하는 단계와, 메시지의 적어도 부분을 암호화하는 단계와, 서버 서비스 인터페이스가 적어도 하나의 헤더 및 페이로드를 포함한 적어도 하나의 패킷에 상기 메시지를 배열하게 하는 포맷으로 출력으로서 암호화된 메시지를 제공하는 단계로서, 각 페이로드는 메시지의 적어도 부분을 포함하고, 적어도 하나의 헤더는 클라이언트 위에 서비스 인터페이스가 패킷들의 페이로드로부터 디코더 애플리케이션에 대한 각 메시지를 어셈블링하게 하는 정보를 포함하는, 상기 제공하는 단계를 포함한다. 이 방법은 각각의 메시지를 제 1 및 적어도 하나의 다른 메시지 섹션으로 분리하는 것을 포함한다. 메시지 섹션들의 적어도 하나는 다른 메시지 섹션들에 해독할 수 있는 이러한 방식으로 암호화된다. 암호화된 메시지는 인접한 메시지 섹션으로부터 메시지 섹션을 분리하고, 명시한 동기화 정보 포함하는 재동기화 마커를 적어도 다른 메시지 섹션들에 부가함으로써 어셈블링된다.
암호, 해독, 메시지 섹션, 헤더, 페이로드 패킷

Description

디지털 콘텐트 분배 시스템{Digital content distribution system}
발명의 배경
본 발명은 예를 들어 유효한 콘텐트 레벨 암호화(effective content level encryption)(예컨대, MPEG-4 비트 스트림들 상에서)를 수행하는데 사용하기 위한 암호 프로토콜들(cryptographic protocols)에 관한 것이다.
특히, 본 발명은 콘텐트를 인코딩하여 메시지들에 배열되는 암호로 보호된 디지털 데이터를 생성하는 방법에 관한 것으로, 각 메시지는 디코더 애플리케이션에 대해 각 메시지를 어셈블링하기 위해 서비스 인터페이스를 갖는 클라이언트 단말 상에서 디코더 애플리케이션에 의해 디코딩될 수 있고, 본 방법은
기계-판독가능 매체로부터 메시지를 검색하는 단계,
메시지의 적어도 부분을 암호화하는 단계와,
서버 서비스 인터페이스가 적어도 하나의 헤더 및 페이로드를 포함한 적어도 하나의 패킷에 메시지를 배열하게 하는 포맷으로 출력으로서 암호화된 메시지들을 제공하는 단계로서, 각 페이로드는 메시지의 적어도 부분을 포함하고, 적어도 하나의 헤더는 클라이언트 상에서 서비스 인터페이스가 패킷들의 페이로드로부터 디코더 애플리케이션에 대해 각 메시지를 어셈블링하게 하는 정보를 포함하는, 상기 암 호화 메시지들을 제공하는 단계를 포함한다.
또한, 본 발명은 이러한 방법으로 생성된, 콘텐트를 인코딩하여 메시지들에 배열되는 암호로 보호된 디지털 데이터를 해독하는 서버에 관한 것이다.
또한, 본 발명은 콘텐트를 인코딩하여 메시지들에 배열되는 암호로 보호된 디지털 데이터를 생성하는 시스템에 관한 것으로, 각 메시지가 디코더 애플리케이션에 대해 각 메시지를 어셈블링하기 위해 서버 인터페이스를 갖는 클라이언트 단말 상에서 디코더 애플리케이션에 의해 디코딩할 수 있는, 각 시스템은
기계-판독가능 매체로부터 메시지를 검색하는 단계와,
메시지의 적어도 부분을 암호화하는 단계와,
서버 서비스 인터페이스가 적어도 하나의 헤더 및 페이로드를 포함한 적어도 하나의 패킷에 메시지를 배열하게 하는 포맷으로 출력으로서 암호화된 메시지들을 제공하는 것으로서, 각 페이로드는 메시지의 적어도 부분을 포함하고, 적어도 하나의 헤더는 클라이언트 상에서 서비스 인터페이스가 패킷들의 페이로드로부터 디코더 애플리케이션에 대해 각 메시지를 어셈블링하게 하는 정보를 포함하는, 상기 암호화된 메시지들을 제공하는 단계를 포함한다.
본 발명은 또한 콘텐트를 인코딩하여 메시지들에 배열되는 디지털 데이터를 네트워크를 통해 서버에서 하나 이상의 클라이언트 단말들로 분배하는 방법에 관한 것으로, 각 메시지가 클라이언트 단말 상에서 디코더 애플리케이션에 의해 디코딩할 수 있는, 상기 방법은
복수의 데이터 패킷들을 서버의 네트워크 인터페이스를 통해 서버에서 네트 워크로 전송하는 단계로서, 각 패킷은 적어도 하나의 헤더 및 페이로드를 포함하고, 각 페이로드는 메시지의 적어도 부분을 포함하는, 상기 복수의 데이터 패킷들을 전송하는 단계와,
각 메시지를 프로토콜 스택의 두 개의 레이어들 사이의 적어도 하나의 서비스 인터페이스의 제 1 시리즈에 제공하는 단계로서, 각 서비스 인터페이스는 클라이언트가 패킷의 나머지를 처리하게 하는 정보를 인코딩하는 패킷에 적어도 하나의 패킷 헤더를 추가하도록 구성된, 상기 메시지를 제공하는 단계를 포함하고,
본 방법은 또한 클라이언트 상의 서비스 인터페이스가 패킷들의 페이로드로부터 디코더 애플리케이션에 대해 각 메시지를 어셈블링하게 하는 정보를 포함하는 적어도 하나의 헤더를 포함하는 패킷들을 전송하는 단계를 포함한다.
본 발명은 또한 콘텐트를 인코딩하여 메시지들에 배열되는 디지털 데이터를 네트워크를 통해 하나 이상의 클라이언트 단말들에 분배하는 서버에 관한 것으로, 각 메시지가 클라이언트 단말 상에서 디코더 애플리케이션에 의해 디코딩될 수 있고, 상기 서버는
네트워크를 통해 서버로부터 복수의 데이터 패킷들을 전송하는 네트워크 인터페이스로서, 각 패킷은 적어도 하나의 헤더 및 페이로드를 포함하고, 각 페이로드는 메시지의 적어도 부분을 포함하는, 상기 네트워크 인터페이스를 포함하고,
서버는 또한 프로토콜 스택의 두 개의 레이어들 사이의 적어도 하나의 서비스 인터페이스의 시리즈를 포함하는 것으로서, 각 서비스 인터페이스는 클라이언트가 패킷의 나머지를 처리하게 하는 정보를 인코딩하는 패킷에 적어도 하나의 패킷 헤더를 부가하도록 구성되고,
서버는 클라이언트 상의 서비스 인터페이스가 패킷들의 페이로드로부터 디코더 애플리케이션에 대해 각 메시지를 어셈블링하게 하는 정보를 포함한 적어도 하나의 헤더를 포함하는 패킷을 전송하도록 구성된 구성된다.
본 발명은 또한 콘텐트를 인코딩하여 메시지들에 배열되는 디지털 데이터를 검색하고 처리하는 클라이언트 단말에 관한 것으로서, 각 메시지는 디코더 애플리케이션에 의해 디코딩될 수 있고,
복수의 데이터 패킷들을 수신하는 인터페이스로서, 각 패킷은 적어도 하나의 헤더 및 페이로드를 포함하고, 단말은 또한 프로토콜 스택의 두 개의 레이어들 사이의 적어도 하나의 서비스 인터페이스의 시리즈를 포함하고, 각 서비스 인터페이스는 패킷으로부터 적어도 하나의 패킷 헤더를 제거하고 제거된 패킷 헤더에서 인코딩된 정보를 사용하여 패킷의 나머지를 처리하도록 구성되는, 상기 인터페이스를 포함하고,
패킷의 적어도 하나의 헤더에 포함된 정보를 사용하여 적어도 하나의 패킷의 페이로드로부터 디코더 애플리케이션에 대해 메시지들을 어셈블링하도록 구성되는 서비스 인터페이스를 포함한다.
본 발명은 또한 콘텐트를 인코딩하여 메시지들에 배열되는 디지털 데이터를 클라이언트 단말에서 수신하고 처리하는 방법에 관한 것으로, 각 메시지가 디코더 애플리케이션에 의해 디코딩할 수 있는, 상기 방법은
클라이언트 단말의 인터페이스에 의해 복수의 데이터 패킷들을 수신하는 단 계로서, 각 패킷은 적어도 하나의 헤더 및 페이로드를 포함하는, 상기 복수의 데이터 패킷들을 수신하는 단계와,
각 패킷을 프로토콜 스택의 두 개의 레이어들 사이의 적어도 하나의 서비스 인터페이스의 제 1 시리즈에 제공하는 단계로서, 각 서비스 인터페이스는 패킷으로부터 적어도 하나의 패킷 헤더를 제거하고 제거된 패킷 헤더의 나머지를 처리하도록 구성된, 상기 패킷을 제공하는 단계를 포함하고,
패킷의 적어도 하나의 헤더에 포함된 정보를 사용하여 적어도 하나의 패킷의 페이로드로부터 디코더 애플리케이션에 대해 메시지를 어셈블링하도록 구성된 서비스 인터페이스를 포함한다.
본 발명은 컴퓨터에 로딩가능하고, 상기 컴퓨터 상에서 실행할 때, 또한 컴퓨터에 이러한 시스템, 서버 또는 클라이언트 단말의 기능성을 제공하는 기능(potential)을 가진 컴퓨터 프로그램에 관한 것이다.
본 발명은 마지막으로 컴퓨터에 로딩가능하고, 상기 컴퓨터 상에서 실행할 때, 컴퓨터가 위에 언급된 유형들의 방법들 중 하나를 실행하게 하는 기능을 가진 컴퓨터 프로그램에 관한 것이다.
이러한 시스템들 및 방법들의 예들은 예컨대 MPEG(Motion Picture Expert Group)-4로 알려진, 국제 표준 ISO/IEC 14496-1로부터 알려진다.
MPEG 및 MPEG-4는, 제안되고, MPEG의 경우에서, 콘텐트의 다른 형태들을 더 작은 정도로 비디오의 분배에 널리 사용되는 표준들이다. 게다가, 인터넷 및 다른 것들을 통해 분배한 디지털 콘텐트와 같은 애플리케이션들은 MPEG에서, MPEG-4 또는 임의의 다른 포맷이든 간에, 콘텐트를 암호화하는 것이 요구된다.
MPEG-4 표준은 장면 설명에 의해 형성된 기초 형성 블록들(basic building blocks) 및 스트리밍 데이터를 포함하는 기본 스트림들의 아키텍쳐(architecture)를 나타낸다. 스트리밍 데이터를 분배하도록 SL-패킷화된 스트림들(SPS : SL-packetised streams)에서 포함된다. 패킷들은 예컨대 타이밍 및 액세스 유닛 라벨링을 위해, 액세스 유닛들뿐만 아니라 측면 정보에서 분할된 기본 스트림 데이터를 포함한다. 타이밍 모델은 하나 이상의 기본 스트림들에 의해 포함된 오디오-비주얼 데이터를 동기화하도록 클럭 레퍼런스 및 타임 스탬프들(time stamps)에 의존한다. 그에 연관된 클럭 레퍼런스들과 함께 클럭의 개념(concept)은 시사이의 노션(notion)을 수신 단말로 포함하는데 사용된다. 타임 스탬프들은 수신 단말이 디코딩 버퍼들에서 액세스 유닛들을 소모하는 정확한 타임 인트탄트들(time instant)을 나타내는데 사용된다. 오브젝트 타임 베이스(OTB : object time base)는 주어진 데이터 스트림에 대한 시사이의 노션을 정의한다. 이 OTB의 분석(resolution)은 애플리케이션에 의해 요구되는 것으로 또는 프로파일에 의해 정의되는 것으로서 선택될 수 있다. 전송 단말이 코딩된 데이터 스트림에 삽입하는 모든 타임 스탬프들은 이 타임 베이스로 불린다. 데이터 스트림의 OTB는 이 스트림에 대한 SL 패킷 헤더들의 오브젝트 클럭 레퍼런스(OCR : object clock reference) 타임 스탬프들에 의해 또는 이 오브젝트 서술자 스트림이 타임 베이스를 계승하는 기본 스트림의 표시에 의해 수신 단말에서 알려진다.
서술자들의 세트로 구성된 오브젝트 서술자 프레임워크는 서로 그리고 장면 설명에 사용된 오디오-비주얼 오브젝트들로 기본 스트림을 식별하고, 설명하고 적절히 연관시키는 것을 허용한다. 오브젝트 서술자들은 장면에서 단일 노드에 연관된 하나 이상의 기본 스트림들을 설명한 서술자들의 집합이다. 오브젝트 서술자 내의 기본 스트림 서술자는 단일 기본 스트림을 식별한다. 각 기본 스트림 서술자는 기본 스트림뿐만 아니라 지적 재산 식별을 위해 디코딩 처리를 초기화하고 구성하는데 필요한 정보를 포함한다. 지적 재산 관리 및 보호(IPMP : Intellectual Property Management and Protection) 정보는 IPMP 서술자들을 통해 오브젝트 서술자 스트림의 부분으로서 그리고 IPMP 스트림들을 통해 시변 IPMP 정보, 특히 콘텐트 암호화 키들을 나르는 기본 스트림들 모두를 보유한다. 키들은 적당한 IPMP 스트림 서술자들을 통해 콘텐트 또는 다른 스트림들과 연관된다. 이들 키들은 콘텐트 스트림과 동기화되어야 한다. 기존 MPEG-4 모델은 지연 및 동기화 관리를 위해 사용된다. 따라서, 수신 단말의 해독 애플리케이션은 타임 스탬핑을 적당히 관리해야 한다.
그것의 현재 형태의 MPEG-4 비트 스트림 구문은 암호화된 콘텐트 비트 스트림의 부분들이 전송 중에 손실된 경우에 해독 처리의 재동기화를 위해 명시한 지원을 제공하지 않는다. 수송 레이어은 MPEG-4에 나타나지 않았기 때문에, 동기화를 위해 하위 수송 프로토콜의 특성들을 사용하는 것은 불가능하다. MPEG-4 미디어는 또한 국소적으로 다시 재생될 수 있고, 이 경우에 수반되는 수송은 없다. 에러가 생기기 쉬운(error-prone) 환경에서, 단일 비트의 손실은 프레임의 나머지를 유효하게 파괴할 것이다. 자기-동기화를 수행할 수는 없지만, 평가 기준의 넓은 범위 하에서 매우 흥미 있는(attractive) 많은 암호들 및 연관된 모드들이 있다. 현재, 이들은 모드 규칙에서 벗어나야 하는데, 이는 단순히 데이터 손실의 경우에서 해독 처리의 동기화를 위해 확장들의 지원이 없기 때문이다.
발명의 요약
본 발명은 콘텐트를 인코딩한 암호로 보호된 디지털 데이터를 생성하고 디지털 데이터를 분배하기 위한 방법 및 시스템, 및 위에 언급된 유형의 디지털 데이터를 수신하고 처리하는 클라이언트 단말과 방법을 제공하고, 콘텐트가 인증되지 않은 액세스에 대해 적절히 보호되고 개선된 에러 복원력(resilience)을 보이는 데이터 분배 시스템을 구현한다.
본 발명은 콘텐트를 인코딩하여 메시지들에 배열되는 암호로 보호된 디지털 데이터를 생성하는 방법을 제공함으로써 목적을 달성하고, 각 메시지는 디코더 애플리케이션에 대한 각 메시지를 어셈블링하도록 서비스 인터페이스를 갖는 클라이언트 단말 상에서 디코더 애플리케이션에 의해 디코딩할 수 있는, 본 발명은
기계-판독가능 매체로부터 메시지를 검색하는 것과,
메시지의 적어도 부분을 암호화하는 것과,
서버 서비스 인터페이스가 적어도 하나의 헤더 및 페이로드를 포함한 적어도 하나의 패킷에 메시지를 배열하게 하는 포맷으로 출력으로서 암호화된 메시지들을 제공하는 것으로서, 각 페이로드는 메시지의 적어도 부분을 포함하고, 적어도 하나의 헤더는 클라이언트 상의 서비스 인터페이스가 패킷들의 페이로드로부터 디코더 애플리케이션에 대한 각 메시지를 어셈블링하게 하는 정보를 포함하는, 상기 제공하는 것을 포함하고,
본 방법은 각 메시지를 제 1 및 적어도 하나의 다른 메시지 섹션으로 분리시키는 것을 포함하고, 메시지 섹션들의 적어도 하나는 다른 메시지 섹션들과는 독립적으로 해독을 가능하게 하는 방식으로 암호화되고, 암호화된 메시지는 적어도 다른 메시지 섹션들에, 메시지 섹션을 인접한 메시지 섹션으로부터 분리시키고 명시한 동기화 섹션들을 포함하는 재동기화 마커를 부가함으로써 어셈블링된다.
메시지는 콘텐트가 클라이언트 상에서 디코더 애플리케이션에 의해 인코딩되는 인코더 프로그램으로부터 전송되고, 메시지는 콘텐트를 디코딩하도록 개별적인 메시지들을 처리하도록 배열된다. 콘텐트는 예컨대 비디오, 오디오, 또는 텍스트일 수 있다. 서비스 인터페이스는 프로토콜 스택의 다른 레벨의 프로토콜들의 기능성을 사용하여, 프로토콜 스택의 프로토콜의 부분을 구현하고 프로토콜 스택의 하나의 레벨에서의 애플리케이션들이 메시지들을 교환하는데 사용할 수 있는 통신 서비스를 제공하는 인터페이스이다. 유리하게는, 이것은 네트워크 프로토콜 스택이고, 예컨대 OSI 네트워크 아키텍처를 형성한다. 그러나, 서비스 인터페이스는 또한 애플리케이션 프로그램들 및 예컨대 메시지를 오퍼레이팅 시스템의 파일 시스템에 대해 규정된 패킷들로 변환하는, 시스템의 오퍼레이팅 시스템 사이의 인터페이스를 제공한다. 용어 "독립적으로"는 각 암호화된 메시지 섹션이 또다른 메시지 섹션의 암호문 또는 평문의 지식 없이 해독될 수 있다는 것을 나타내는데 사용된다. 본 애플리케이션의 콘텍스트에서, 헤더는 패킷의 페이로드를 선행하거나 또는 이어지는 그리고 패킷 및 그것의 페이로드에 대한 어떤 것(something)을 설명하는 정보를 인코딩하는 데이터 조각이다. 패킷은 이 소스와 목적지 사이의 이른 교환들 및 그것들 사이의 인터페이스 상의 신뢰성 없이 소스에서 목적지까지 라우팅될 충분한 정보를 포함하는 데이터의 엔터티에 독립하여, 자기-포함된다.
각 메시지 섹션은 독립적으로는 해독을 가능하게 하고, 재동기화 마커들이 인접한 메시지 섹션들 사이의 경계들의 명시한 표시를 제공하기 때문에, 에러 또는 하나의 섹션의 데이터의 손실은 다른 메시지 섹션들을 해독하기 위한 클라이언트의 능력에 영향을 주지 않는다. 다시 말하면, 모든 또는 부분의 임의의 선행하는 데이터 블록들의 부족은 클라이언트의 현재 데이터 블록을 해독하기 위한 능력에 영향을 주지 않는다. 메시지 섹션들의 크기, 및 이와 같이 재동기화 마커들의 수를 적응함으로써, 어느 정도의 복원력이 제공될 수 있다. 게다가, 클라이언트의 요구된 해독 처리 시간 및 파워의 양을 감소시키는, 약간의 메시지의 섹션들만을 암호화하는 것이 가능할 수 있다.
MPEG-4 비트 스트림 구문은 재동기화 마커들(Resync Markers)을 정의한다는 것이 유의된다. 재동기화 마커들은 나머지 에러 또는 에러들이 검출된 후에 디코더와 비트 스트림 사이의 재동기화를 위한 기회들을 증가시킴으로써 에러 복원력을 제공한다. 통상적으로, 에러 이전의 동기화 지점과 재동기화가 확립되는 지점 사이 의 데이터는 폐기된다. 이들 마커들은 유효한, 암호화되지 않은 MPEG-4 콘텐트에 대해 유일한 것으로 보증된다. 이 구성이 클리어 콘텐트(clear content)에 대해 잘 행해지는 반면, 코딩된 후 암호화되는 콘텐트에 매우 적합하지 않다. 이것은 전체 메시지의 선택적 암호화 또는 브루트 포스(brute force) 암호화가 사용되는 지와 관계없이 유지하는 것으로 보인다. 이것은 매우 그러한데, 유효 클리어 콘텐트가 재동기화 마커를 모방하는 것이 가능하기 때문에, 이것은 암호화된 데이터를 유지할(hold) 수 없다. 더 중요하게는, MPEG-4 표준은 다른 메시지 섹션들과는 독립적으로 해독할 수 있도록 이러한 방식으로 메시지 섹션들의 적어도 하나를 암호화하는 것을 초기화하고 있지 않은데, 따라서, 데이터 손실의 경우에서, 복잡하고 종종 부적당한 에러 복구 기술들은 그것이 클라이언트에 의해 해독될 수 있기 전에, 완전한 메시지를 재구성하는 것을 필요로 한다.
본 발명의 양호한 실시예에서, 메시지 섹션들은 순환 값을 갖는 적어도 하나의 키를 사용하여 암호화된다.
따라서, 분배된 콘텐트 데이터에서의 암호 분석에 대한 개선된 보안이 제공된다.
바람직하게는, 각 재동기화 마커는 또한 고유한 시퀀스 넘버를 포함한다.
시퀀스 넘버들의 사용은 암호화된 미디어 스트림들에 랜덤 액세스를 허용하기 위한 요구를 둘러싼 문제들 모두를 처리한다. 미디어에 연관된 세션 키들을 순환시키는 동기화를 가능하게 하고 콘텐트 분배 시스템에서 전송자 또는 수신자 중 하나의 상태 종속성(state dependency)을 부과하지 않는 암호 프레임워크를 제공한 다.
그것의 현재 형태의 MPEG-4 비트 스트림 구문은 사용자가 암호화된 콘텐트 비트 스트림으로 구해진 랜덤을 수행하는 경우에서 해독 처리의 재동기화를 위해 명시한 지원을 제공하지 않는다. 콘텐트-레벨에서, MPEG-4는 해독 중에 의존되지 않을 수 있는 임의의 의존가능한 연속성 또는 시퀀싱 정보를 나타내지 않는다. 동기화 레이어 정보의 사용은 문제가 있는데, 이는 전통적으로 모든 SL 정보가 해독 이전에 폐기되기 때문이다. IPMP 툴로의 SL 정보의 보류 및 포함은 대부분의 단말 구현들에 대해 상당한 장애를 표현할 것이다. 타이밍 정보는 동기화를 위해 사용될 수 없는데, 이는 DTS/CTS가 콘텐트가 보안된 시점에서 콘텐트가 소모되는 지점으로 변경할 수 있기 때문이다.
전통적으로, 미디어 포맷들은 암호화/해독화 처리들을 돕도록 명시한 시퀀싱 정보 및/또는 유일한 패킷 크기가 사용된다. MPEG-4 미디어는 또한 국부적으로 다시 재생될 수 있고, 이 경우에 포함되는 수송은 없다. 미디어 포맷이 수송 레이어 시퀀싱 정보로 표준 매핑(normative mapping)을 규정하면, 이것은 조금 도움이 될 수 있는데, 이는 이 정보가 미디어가 보안된 시점에서 알려지지 않기 때문이다.
고유한 시퀀스 넘버의 이용가능성(availability)은 키 순환 중에 전이들의 유효한 관리를 허용한다. 시퀀스 넘버는 (MPEG-2 상에 보유되거나 DVD/CD-ROM 상에 저장되는 미디어 및 예정보다 일찍 IP(Internet Protocol) 네트워크들 상에서 포함되는 IPMP와 같은) 신뢰성 있는 방식으로 이 서버와 독립적으로 키들을 포함하는 동안 미디어 서버로부터 콘텐트의 패키징 및 포함을 허용한다. 유일한 시퀀스 정보의 존재는 또한 임의의 데이터의 수송 전에 전체 키 스트림을 수송하는 것을 허용한다.
MPEG-4 IPMP 메시지 스트림이 대역에서 순환된 세션 키들을 전달하는 능력을 제공하지만, MPEG-4 표준은 신뢰성 있는 메커니즘을 제공하는 것을 실패하고 그것에 의해 신규 키의 전달 시점은 특정 미디어 액세스 유닛에 관련될 수 있다.
미디어 시간(DTS/CTS)은 이 목적을 위해 사용될 수 없는데, 이는 이것이 콘텐트가 보안된 시점에서 콘텐트가 소모되는 지점으로 변경할 수 있기 때문이다.
게다가, 해독 키들을 포함하는 IPMP 메시지 스트림들 및 미디어 스트림들은 IPMP 메시지 스트림들이 다른 서버로부터 클라이언트로 보내지면 달성되는 것이 거의 불가능할 타임-스탬프들을 사용하여 매우 다른 전달 지터들, 패킷 손실 또는 네트워크 정체 및 타이트한 동기화를 겪는다. 미디어 페이로드들과 키들 사이에 연관성이 존재하지 않기 때문에, IPMP AU에서의 지연은 결과적으로 부정확한 키를 사용하여 해독한다. 고른 유일한 프레임 퍼 키 주기(even single frame per key period)의 동기화의 손실은 완전히 수용가능하지 않다.
본 발명에 따른 방법의 양호한 실시예는 또한 각 암호화된 메시지를 캡슐화하고 고유한 시퀀스 넘버를 포함하는 랩퍼(wrapper)를 부가하는 것을 포함한다.
랩퍼는 그것에 대한 정보를 제공하는 메시지의 앞에 또는 주위에 넣어지고 의도된 수신자 외에 누구에게나 보이는 것으로부터 그것을 또한 캡슐화할 수 있는 데이터이다. 랩퍼는 캡슐화된 데이터를 선행하는 헤더, 또는 그것에 이어지는 트레일러, 또는 둘 다로 구성될 수 있다.
고유한 시퀀스 넘버를 갖는 랩퍼를 사용함으로써, 시퀀싱 정보는 메시지에 제 1 메시지 섹션에 또한 귀착될 수 있고, 메시지는 명시한 동기화 정보를 가진 재동기화 마커를 반드시 보유할 필요는 없다.
바람직하게는, 각 고유한 시퀀스 넘버는 자기-기술 포맷으로 제공된다.
따라서, 본 발명에 따른 시퀀스 넘버들은 또한 데이터 추가에서 감소를 허용하는, 가변 길이일 수 있다.
본 발명에 따른 방법의 양호한 실시예는 또한 적어도 하나의 키 메시지를 생성하는 것을 포함하고, 각 키 메시지는 이 메시지의 적어도 부분들의 해독을 가능하게 하는 키 값에, 메시지에 부가된 적어도 하나의 고유한 시퀀스 넘버를 링크하는 데이터를 보유한다.
이 정보는 수신 단말 클럭 분석과 관계없이, 임의의 세분성(granularity)으로 액세스 유닛 데이터와 키 데이터를 연관시키는데 사용될 수 있다.
본 발명에 따른 방법의 유리한 실시예는 또한 피드백을 사용하여 암호 모드로 암호를 채용함으로써 암호화한 메시지 섹션들을 포함하고, 암호는 각 메시지 섹션의 선두에 다시 초기화된다.
체이닝(chaning)으로서 또한 알려진 피드백의 사용은 추가 보안성을 제공한다. 동일한 평문 블록들은 동일한 암호문 블록들로 암호화되지 않는 것을 보증한다. 또한 블록 재생 공격들에 대해 보호를 제공한다. 각 메시지 섹션의 선두에 암호를 다시 초기화함으로써, 암호화되는 각 메시지 섹션이 독립적으로 해독될 수 있는 것이 보증된다. 동일한 제품 또는 세션 키를 갖는 하나 이상의 메시지의 암호화는 어느 방식으로든지 포함한 보안 없이도 가능하다. 명시 또는 암시한 IV들의 사용은 심층 있게 암호의 사용을 방지하도록 가정될 수 있다.
Schneier, B.의 "적용된 암호법(Applied Cryptography)"은 변화한 성공 레벨들로 랜덤 액세스의 논점(issue)을 처리하는 다수의 암호 작성 체계들(cryptosystems)을 기술한다. 넌-체이닝 모드로 동작하는 암호들 및 모드들은 손실이 많은 환경에서 오버헤드를 추가하지 않거나 나쁘게는 수행하지 않는 기준을 충족한다. 전자 코드북 모드(ECB ; Electronic Codebook Mode)는 암호화의 본 애플리케이션에 대한 단점들을 가지는데, 이는 데이터 패턴들이 숨겨지지 않기 때문이다(동일한 암호문 블록들은 동일한 평문 블록들을 내포한다).
마지막에 언급된 실시예의 양호한 변형에서, 다른 메시지 섹션을 또다른 다른 메시지 섹션으로부터 분리하는 재동기화 마커의 고유한 시퀀스 넘버는 다른 메시지 섹션을 암호화하도록 초기화 벡터(initialisation vector)로서 사용된다.
따라서, 해독 처리는 미디어에서 찾아낸 데이터 손실 또는 랜덤의 경우에 동기화될 수 있다.
명시한 IV 생성과 함께 ECB+OFB(Electronic Codebook Mode + Output Feedback Mode) 및 CBC(Cipher Block Chaining)과 같은 기술들은 손실이 많은 환경에서 오버헤드 또는 나쁘게는 수행을 추가한다. 메시지의 일부 특성들로부터 명시한 IV(initialisation vector)를 생성하는 것은 문제가 있어 보이는데, 이는 비트 에러 또는 IV 데이터의 데이터 손실이 모든 평문의 파손을 이끌기 때문이다. 자기-동기화를 수행할 수 있는 것이 아니지만, 평가 기준의 넓은 범위 하에서 매우 매력 적인 많은 암호들 및 연관된 모드들이 있다. 현재, 이들은 규칙에서 모두 벗어남에 틀림없는데, 단순히 이는 미디어에서 구해진 데이터 손실 또는 랜덤의 경우에서 해독 처리의 동기화를 위한 확장들에서 지원되는 것이 없기 때문이다. 명시한 시퀀스 넘버가 단독으로 시퀀스 넘버의 비트 에러의 경우에서 평문의 완전한 손실에 대한 어떤 보호를 제공하지 않는 반면, 에러 정정으로 그 자체가 대여된다. 재동기화 마커들과 함께 그것은 그들 자신의 시퀀스 넘버들의 비트 에러에 의해 야기되는 손상을 제한하는 역할을 한다.
콘텐트는 크게는 복잡도와 값으로 변화한다. 본 해결책은 이 전체 스펙트럼를 통해 암호화를 지원하는 것을 허용한다. 이것은 보안의 수용가능한 레벨들을 제공하는 매우 효율적인 경량의 알고리즘을 필요로 할 수 있다. 중독(addictive) 스트림 암호들이 이상적인 해결책들이지만, 명시 또는 암시적 시퀀싱 정보의 존재를 요구하고, 후자는 본 발명의 이 실시예에 의해 제공된다.
본 발명의 다른 양상에 따라, 본 발명에 따른 방법으로 생성된, 콘텐트를 인코딩하여 메시지들에 배열되는 암호로 보호된 데이터를 해독하게 하는 서버가 제공되고, 서버는 적어도 하나의 키 메시지를 전송하지 위해 배열되고, 각 키 메시지는 네트워크를 통해 서버에 접속된, 클라이언트 단말로부터의 요청에 응답하여, 이 메시지의 적어도 부분들의 해독을 가능하게 하는 키 값에, 메시지에 부가된 적어도 하나의 고유한 시퀀스 넘버를 링크하는 데이터를 포함한다.
따라서, 키 메시지들은 암호화된 콘텐트를 분배하는 기능들의 분리 및 콘텐트를 해독하게 하는 키 메시지 스트림의 분배를 허용한, 별도의 서버로부터 분배된 다. 이것은 또한 별도의 엔터티가 콘텐트를 채우고 콘텐트의 해독을 제어하는 것을 처리하는 것을 허용한다.
본 발명의 또다른 양상에 따라서, 콘텐트를 인코딩하여 메시지들에 배열되는 암호로 보호된 디지털 데이터를 생성하는 시스템이 제공되고, 각 메시지는 디코더 애플리케이션에 대한 각 메시지를 어셈블링하도록 서비스 인터페이스를 갖는 클라이언트 단말 상에서 디코더 애플리케이션에 의해 디코딩할 수 있는, 이 시스템은
기계-판독가능 매체로부터 메시지를 검색하고,
메시지의 적어도 부분을 암호화하고,
서버 서비스 인터페이스가 적어도 하나의 헤더 및 페이로드를 포함한 적어도 하나의 패킷에 메시지를 배열하게 하는 포맷으로 출력으로서 암호화된 메시지를 제공하도록 구성된 구성되고, 각 페이로드는 메시지의 적어도 부분을 포함하고, 적어도 하나의 헤더는 클라이언트 상의 서비스 인터페이스가 패킷들의 페이로드로부터 디코더 애플리케이션에 대한 각 메시지를 어셈블링하게 하는 정보를 포함하고,
이 시스템은 다른 메시지 섹션들과 독립적으로 해독가능하도록 구성된 이러한 방식으로 메시지 섹션들의 적어도 하나를 암호화하고, 적어도 하나의 다른 메시지 섹션들에, 인접한 메시지 섹션으로부터 메시지를 분리하고 명시한 동기화 시퀀스를 포함하는 재동기화 마커를 부가함으로써 암호화된 메시지를 어셈블링하기 위해, 각 메시지를 제 1 및 적어도 하나의 다른 메시지 섹션으로 분리하도록 구성된 구성된다.
이 시스템은 위에 막 설명된 본 발명의 다양한 실시예들을 수행하기 위해 본 질적으로 배열되고, 연관된 유리한 효과들을 제공한다.
본 발명의 또다른 양상에 따라서, 네트워크를 통해 서버에서 하나 이상의 클라이언트 단말들까지 콘텐트를 인코딩하여 메시지들에 배열되는 디지털 데이터를 분배하는 방법이 제공되고, 각 메시지는 클라이언트 단말 상에서 디코더 애플리케이션에 의해 디코딩할 수 있는, 상기 방법은
서버의 네트워크 인터페이스를 통해 서버에서 네트워크까지 복수의 데이터 패킷들을 전송하는 것으로서, 각 패킷은 적어도 하나의 헤더 및 페이로드를 포함하고, 각 페이로드는 메시지의 적어도 부분을 포함하는, 상기 전송하는 것과,
서버 상에 설치된 프로토콜 스택의 두 개의 레이어들 사이에 적어도 하나의 서비스 인터페이스의 제 1 시리즈에 각 메시지를 제공하는 것으로서, 각 서비스 인터페이스는 클라이언트가 패킷의 나머지를 처리하게 하는 정보를 인코딩하는 패킷에 적어도 하나의 패킷 헤더를 부가하도록 구성된, 상기 제공하는 것을 포함하고, 본 방법은 또한 클라이언트 상의 서비스 인터페이스가 패킷들의 페이로드로부터 디코더 애플리케이션에 대한 각 메시지를 어셈블링하게 하는 정보를 포함한 적어도 하나의 헤더를 포함한 패킷들을 전송하는 것을 포함하고,
패킷들은 제 1 섹션 및 적어도 하나의 추가 섹션을 포함한 패킷 페이로드를 가지고 전송되고, 각 추가 섹션은 인접한 메시지 섹션으로부터 메시지 섹션을 분리하고 명시한 동기화 시퀀스를 포함하는 재동기화 마커를 포함하고, 메시지 섹션들의 적어도 하나는 다른 메시지 섹션들과 독립하여 해독가능하도록 구성된 이러한 방식으로 암호화된다.
따라서, 방법은 본 발명에 따른 콘텐트를 인코딩하는 암호로 보호된 디지털 데이터를 생성하는 방법의 실시예를 사용하여 생성될 수 있는 바와 같은 콘텐트를 분배하는 것이 제공된다. 네트워크에 의해 도입된 에러들 및 지터에 대한 복원성을 제공하기에 특히 유용하다.
본 발명의 다른 양상에 따라, 네트워크를 통해 하나 이상의 클라이언트 단말로, 콘텐트를 인코딩하여 메시지들에 배열되는 디지털 데이터를 분배하는 서버가 제공되고, 각 메시지는 클라이언트 단말 상에서 디코더 애플리케이션에 의해 디코딩할 수 있는, 상기 서버는
서버에서 네트워크까지 복수의 데이터 패킷들을 전송하는 네트워크 인터페이스로서, 각 패킷은 적어도 하나의 헤더 및 페이로드를 포함하고, 각 패킷은 메시지의 적어도 부분을 포함하고,
서버는 또한 프로토콜 스택의 두 개의 레이어들 사이의 적어도 하나의 서비스 인터페이스의 시리즈를 포함하고, 각 서비스 인터페이스는 적어도 하나의 패킷 헤더를, 클라이언트가 패킷의 나머지를 처리하게 하는 정보를 인코딩한 패킷에 추가하도록 구성된 구성되고,
서버는 클라이언트 상의 인터페이스가 패킷들의 페이로드로부터 디코더 애플리케이션에 대한 각 메시지를 어셈블링하게 하는 정보를 포함한 적어도 하나의 헤더를 포함하고,
서버는 제 1 섹션 및 적어도 하나의 추가 섹션을 포함한 패킷 페이로드를 갖는 패킷들을 분배하도록 구성된 구성되고, 각 추가 섹션은 메시지 섹션을 인접한 메시지 섹션으로부터 분리하고 명시한 동기화 시퀀스를 포함하는 재동기화 마커를 포함하고, 메시지 섹션의 적어도 하나는 다른 메시지 섹션들과 독립적으로 해독가능하도록 구성된 이러한 방식으로 암호화된다.
이 서버는 본 발명에 따라 콘텐트를 분배하는 방법을 수행하는데 유용하다.
본 발명의 또다른 양상에 따라, 콘텐트를 인코딩하여 메시지들에 배열되는 디지털 데이터를 수신 및 처리하는 클라이언트 단말이 제공되고, 각 메시지는 디코더 애플리케이션에 의해 디코딩할 수 있는, 복수의 데이터 패킷들을 수신하는 인터페이스로서, 각 패킷은 적어도 하나의 헤더 및 페이로드를 포함하고, 단말은 또한 프로토콜 스택의 두 개의 레이어들 사이에 적어도 하나의 서비스 인터페이스의 시리즈를 포함하고, 패킷의 적어도 하나의 헤더에 포함된 정보를 사용하여 적어도 하나의 패킷의 페이로드로부터 디코더 애플리케이션을 위한 메시지들을 어셈블링하도록 구성된 서비스 인터페이스를 포함한 각 서비스 인터페이스는 패킷으로부터 적어도 하나의 패킷 헤더를 제거하고 제거된 패킷 헤더에서 인코딩된 정보를 사용하여 패킷의 나머지를 처리하도록 구성된 구성되고, 단말은 제 1 섹션 및 적어도 하나의 추가 섹션을 포함한 페이로드들을 수신하도록 구성된 구성되고, 각 추가 섹션은 재동기화 마커들을 위치시킴으로서 각 섹션을 추출하고, 다른 메시지 섹션들과 독립적으로 각 암호화된 메시지 섹션들을 해독하고, 추출되었던 섹션 자리에 각 해독된 메시지 섹션을 해독하기 위해, 인접한 메시지 섹션으로부터 메시지 섹션을 분리하고 명시한 동기화 시퀀스를 포함하는 재동기화 마커를 포함한다.
클라이언트 단말은 에러들이 전송 중에 메시지에 도입되면 암호화된 메시지 의 큰 부분들을 재생할 수 있다. 클라이언트 시스템이 각 개별적인 메시지 섹션을 로케이팅할 수 있고 그것을 다른 메시지 섹션들과 독립적으로, 특히 다른 메시지 섹션들의 암호문 또는 평문의 지식 없이 해독할 수 있기 때문에, 메시지 섹션들 중 하나의 에러는 모든 다른 메시지 섹션들이 원래 평문 메시지 섹션들로 해독되게 한다.
양호한 실시예에서, 단말은 그것을 서비스 인터페이스로 전달하기 전에, 삽입된 암호화된 메시지 섹션들을 가진 페이로드에 각 패킷의 헤더들의 적어도 하나의 추가함으로써, 해독 후에 각 수신된 패킷의 적어도 부분을 리-어셈블링하도록 구성된다.
따라서, 재동기화 마커들의 존재는 클라이언트 시스템 상의 프로토콜 스택을 구현하는 인터페이스들에 의해 처리되기 전에 패킷의 페이로드가 해독되는 것을 허용하고, 클라이언트 시스템 상의 프로토콜 스택은 예컨대 네트워크 프로토콜 스택일 수 있다. 이것은 증가된 효율성을 제공하고 사용된 특정 프로토콜의 독립을 허용한다.
바람직하게는, 클라이언트 단말은 또한 서버에서 네트워크까지 데이터 패킷들을 수신하는 네트워크 인터페이스 장치를 포함하고, 추가 헤더들은 패킷의 의도된 수신자로서 클라이언트 단말을 식별하는, 새로운 어드레스를 포함한 헤더를 포함한다.
이 변형에서, 해독은 "스택 하에서" 완전히 수행된다. 따라서 특정 종류의 단말 및 네트워크 프로토콜과는 무관하게, 널리 사용할 수 있는 종래의 액세스 시 스템이 제공된다.
본 발명의 또다른 양상에 따라서, 콘텐트들을 인코딩하여 메시지들에 배열되는 디지털 데이터를 클라이언트 단말에서 수신하여 처리하는 방법이 제공되고, 각 메시지는 디코더 애플리케이션에 의해 디코딩할 수 있고,
클라이언트 단말의 인터페이스로 복수의 데이터 패킷들을 수신하는 것으로서, 각 패킷은 적어도 하나의 헤더 및 페이로드를 포함하는, 상기 수신하는 것과,
각 패킷을 프로토콜 스택의 두 개의 레이어들 사이에 적어도 하나의 서비스 인터페이스의 제 1 시리즈들에 제공하는 것으로서, 패킷의 적어도 하나의 헤더에 포함된 정보를 사용하여 적어도 하나의 패킷의 페이로드로부터 디코더 애플리케이션에 대한 메시지들을 어셈블링하도록 구성된 서비스 인터페이스를 포함한 각 서비스 인터페이스는 패킷으로부터 적어도 하나의 패킷 헤더를 제거하고 제거된 패킷 헤더에서 인코딩된 정보를 사용하여 패킷의 나머지를 처리하도록 구성된, 상기 제공하는 것을 포함하고,
수신되는 패킷 페이로드들은 제 1 섹션 및 적어도 하나의 추가 섹션을 포함하는 것을 포함하고, 각 추가 섹션은 인접한 메시지 섹션으로부터 메시지 섹션을 분리하고 명시한 동기화 시퀀스를 포함하는 재동기화 마커를 포함하고,
각 섹션은 재동기화 마커들을 로케이팅함으로써 추출되고, 각 암호화된 메시지 섹션은 다른 메시지 섹션들과 독립적으로 해독되고, 각 해독된 메시지 섹션은 추출되었던 섹션의 자리에 삽입된다.
이 방법은 본 발명에 따라 클라이언트 단말에 의해 구현되고, 에러 복원력에 관한 같은 이점들을 본질적으로 갖는다.
본 발명의 또다른 양상에 따라, 컴퓨터에 로딩가능하고, 상기 컴퓨터 상에서 실행할 때, 본 발명에 따른 시스템, 본 발명에 따른 서버, 또는 본 발명에 따른 클라이언트 단말의 기능성을 가진 컴퓨터를 제공하는 기능을 갖는 컴퓨터 프로그램이 제공된다.
본 발명의 마지막 양상에 따라서, 컴퓨터에 로딩가능하고, 상기 컴퓨터 상에서 실행할 때, 컴퓨터가 본 발명에 따른 방법을 실행하게 하는 기능을 갖는 컴퓨터 프로그램이 제공된다.
이제, 본 발명은 첨부한 도면들을 참조하여 더 상세히 설명될 것이다.
도 1은 본 발명의 한 실시예에 따른 데이터 분배 시스템의 개략도.
도 2는 본 발명의 한 실시예에 따른 암호화 처리의 개략도.
도 3은 본 발명의 한 실시예에 따른 해독 처리의 개략도.
도 4는 본 발명의 한 실시예에 따른, 랩퍼 및 재동기화 마커들의 암호화 및 추가 후의 MPEG-4 AU의 포맷으로 개략도.
도 5a 및 5b는 본 발명의 한 실시예에 따른, 데이터 손실의 경우에 재동기화하기 위해 재동기화 마커들의 사용을 설명한 개략도.
도 6은 본 명세서에서 논의된 방법론들 중 어느 하나로 하여금 실행하도록 하는 명령들의 세트가 실행될 수 있는 컴퓨터 시스템의 예시적인 형태의 기계의 대 표도.
도 7은 도 1의 데이터 분배 시스템에서 네트워크를 통해 메시지의 부분 또는 전체를 분배하는데 사용된 데이터 패킷의 개략도.
구체적 설명(specific description)
콘텐트-레벨 암호 프로토콜에 대한 방법 및 시스템이 기술된다. 다음 설명에 있어서, 설명의 목적들을 위해, 다수의 특정 명세들은 본 발명을 충분한 이해를 제공하기 위해 설명된다. 그러나, 본 기술 분야의 당업자는 본 발명이 이들 특정 명세들 없이 실시될 수 있다는 것을 알 수 있을 것이다.
도 1에 있어서, 콘텐트 암호화 시스템(1)은 콘텐트를 인코딩하는 암호로 보호되는 데이터를 생성하는데 사용된다. 이 데이터는 동일한 시스템(1) 상에서 만들어질 수 있거나, 별도의 소스로부터 수신될 수 있다. 어떤 경우에서도, 상기 데이터는 메시지에 배열된다. 각각의 메시지는 클라이언트 시스템(2) 상에서 디코더 애플리케이션에 의해 디코딩될 수 있다. 용어 메시지는 인코더 애플리케이션 및 디코더 애플리케이션이 데이터 변환을 위해 사용하는 데이터의 유닛을 칭한다. 본 설명 전체에 이용될 한 예에 있어서, 각각의 암호로 보호된 메시지는 암호화된 MPEG-4 액세스 유닛(AU)(3)을 포함한다(도 4, 내지 도 5 참조). 액세스 유닛은 기본 스트림 내의 데이터에서 개별적으로 액세스하기 쉬운 부분이다. 기본 스트림은 압축 레이어 상의 단일 소스 엔터티에서 단일 목적지 엔터티까지 모노-미디어 데이터의 연속적인 흐름이고, 상기 레이어는 기본 스트림의 코딩 표현과 그것의 디코딩 표현 사이를 변형하고 디코더들을 통합한다. 그러나, 본 발명은 다른 유형들의 메시지들, 예컨대 MPEG-2 기본 스트림 패킷들로 사용될 수도 있음을 유의한다.
일 실시예에서, 콘텐트 암호화 시스템(1)에 의해 생성된 인코딩되고, 암호화된 메시지들은 네트워크 인터페이스에 의해 네트워크(5)에 접속되는 제 1 분배 서버(4)(도 1)에 전달되는데, 여기서 인코딩되고, 암호화된 메시지들은 저장된다. 클라이언트 시스템(2)은 서버(4)로부터 메시지들을 다운로딩함으로써 암호화된 콘텐트를 액세스할 수 있다. 암호화 액세스 유닛들(3)이 다운로딩될 때, 이들은 구성가능한 헤더 및 페이로드로 구성된 동기화 레이어 패킷들(SL-패킷들)로 캡슐화된다. 페이로드는 하나의 완전한 액세스 유닛 또는 부분적인 액세스 유닛으로 구성될 수 있다. SL-패킷들은 네트워크(5)에 이용되는 다른 패킷 포맷, 예컨대 RTP, MPEG-트랜스포트 스트림 패킷들, 또는 UDP로 후속적으로 매핑된다. 물론, 콘텐트 암호화 시스템(1)과 제 1 분배 서버(4)가 네트워크(5)에 접속되는 단일 서버에 결합되는 시나리오는 본 발명의 범위 내에서 또한 가능할 수 있다.
실시예에 있어서, 콘텐트 암호화 시스템(1)에 의해 생성된 인코딩되고, 암호화된 메시지들은 CD-ROM, DVD-ROM 또는 다른 적당한 매체와 같은 콘텐트 보유 매체(6)에 저장된다. 디스크 드라이브(7)는 콘텐트-보유 매체(6)로부터의 인코딩되고, 암호화된 메시지들을 클라이언트 시스템(2)으로 로딩하기 위해 사용된다. 이 실시예에서, 정보는 클라이언트 시스템(2) 상의 적당한 인터페이스에 의해 액세스 유닛들(예컨대, SL-패킷들로)을 검색 및 어셈블링리할 수 있는 포맷으로 파일들에 액세스 유닛들로 저장된다. 또한, 이 정보는 정보들이 파일들로부터 읽혀진 후, 클 라이언트 시스템(2)이 액세스 유닛들을 적당한 디코더 버퍼들로 그때부터 정확한 디코더 애플리케이션으로 전달하는 것을 허용한다.
두 실시예들에서, 암호화된 액세스 유닛들은 MP4-파일들에 저장된다. MP4-파일들은 통상적으로 .mp4 확장자를 보유한다. MP4 파일 포맷은 미디어의 상호교환, 관리, 편집, 및 프리젠테이션을 용이하게 하는 유연한, 확장가능한 포맷으로, MPEG-4 프리젠테이션의 미디어 정보를 포함하도록 설계된다. 이 프리젠테이션은 프리젠테이션을 보유한 시스템에 "국부적"일 수 있거나, 네트워크 또는 다른 스트림 포함 메커니즘을 매개로할 수 있다. 파일 포맷은 일반적으로 포함을 위해 효과적인 지원을 가능하게 하면서 어느 특정 포함 프로토콜과 독립적으로 설계된다. 이 설계는 Apple Computer Inc.로부터의 퀵타임 포맷(QuickTime format)에 기초한다.
바람직하게는, 콘텐트 암호화 시스템(1)은 사이클링 키 값을 갖는 적어도 하나의 키(제품 또는 세션 키)를 사용하는 액세스 유닛들의 섹션들을 암호화한다. 콘텐트는 제품 키로 번갈아 암호화되는 단일 제품 키 또는 시변 세션 키들의 시퀀스를 사용하여 암호화될 수 있다. 동일한 암호화 방식은 비디오, 오디오 및 임의의 연관된 데이터(콘텐트)에 대해 사용될 수 있다. 다시 말하면, 본 발명은 MPEG-4 미디어 및 데이터의 콘텐트 레벨 암호화를 제공한다. 액세스 유닛들이 암호화되는 이 방식의 예들이 이하에 주어질 것이다. 본 명세서에 기술된 양호한 실시예에서, 대칭 알고리즘이 사용되는데, 즉 해독 키는 암호화 키와 같다. 방식은 인트라-프레임 및 인터-프레임 레벨들에서 선택적인 암호화를 위해 제공한다. (선택적인 암호화가 바람직할 수 있는 예는 I-프레임들만의 암호화를 보증할 수 있는 저 복잡성 장치들 및 저 값 콘텐트일 수 있고, 반면 다른 애플리케이션들은 텍스쳐(texture) 또는 모션 벡터 정보만의 암호화를 요구할 수 있다.)
본 발명에 따라서, 고유한 시퀀스 넘버들이 메시지 섹션들에 추가된다. 사용된 암호화는 클라이언트 시스템(2)이 다른 것들과 독립적으로, 즉 다른 메시지 섹션들에 포함된 데이터의 지식 없이 각각의 메시지 섹션을 해독하게 하는 것과 같다. 콘텐트 암호화 시스템(1)은 적어도 하나의 키 메시지를 생성하고, 각각의 키 메시지는 이 메시지의 적어도 부분들을 해독하게 하는 키 값에, 메시지에 부가된 적어도 하나의 고유한 시퀀스 넘버를 링크하는 데이터를 보유한다.
또한, 독립된 스트림 식별자(ES_ID)에 의해 식별되는 키 메시지들은 MPEG-4 기본 스트림, 즉 액세스 유닛들로 바람직하게 형성된다. MPEG-4 표준의 전문 용어에 있어서, 이들 메시지들은 IPMP(Intellectual Property Management Protection) 메시지들로 불린다.
일 실시예에서, IPMP 메시지들은 제 1 분배 서버(4)로부터 스트리밍된다. 다른 실시예에서, IPMP 메시지 스트림은 제 2 분배 서버(8)로부터 클라이언트 시스템(2)에 의해 다운로딩된다. 대안으로, IPMP 메시지들은, 예컨대 CD-ROM, DVD-ROM, 플래쉬 메모리 장치, 스마트 카드 등과 같은 별도로 분배되는 키 스트림 포함 매체(9) 상의 별도의 파일에 포함될 수 있다.
일 실시예에서, 키 값들은 별도로 제공된다. 이 경우에서, 키 메시지들은 키들이 클라이언트 시스템(2)에 의해 검색되게 하는 시퀀스 넘버들에 링크된 포인터들을 포함한다. 예컨대, 키들은 키 스트림 포함 매체(9)에 저장될 수 있지만, IPMP 메시지 스트림은 제 2 분배 서버(8)로부터 제공된다.
다른 실시예에서, 키 메시지들은 또한 키 값들을 포함한다. IPMP 메시지 스트림의 불투명한 데이터(opaque data)는 다음 방식으로 미디어와 키들을 결합할 수 있다 :
<key:1 ES = 1 seqNum.begin = 1 seqNum.end = 54 >
<key:2 ES = 1 seqNum.begin = 54 seqNum.end = 169 >
<key:3 ES = 1 seqNum.begin = 169 seqNum.end = 289 >
순환 세션 키를 포함하는 액세스 유닛의 DTS(delivery time stamp : 액세스 유닛의 명목상의 디코딩 시간을 표시)는 향상될 수 있고, 그로 인해 대응하는 암호화된 미디어 AU(들)(3)(콘텐트를 인코딩하는 데이터를 포함) 전에 도달한다. IPMP 메시지 스트림의 DTS가 1 키 사이클 기간만큼 향상된다 것으로 제안된다. 이것은 클라이언트 시스템(2) 상의 임의의 전처리와 네크워크 지터에 대한 충분한 시간을 허용할 것이다.
그 다음 위에 주어진 정보는, 수신 단말 클럭 해상도에 무관하게, 임의의 세분성으로 키 데이터와 콘텐트 액세스 유닛 데이터를 연관시키는데 사용될 수 있다.
이전에 언급된 바와 같이, 유일한 시퀀스 정보의 존재는 또한 임의의 미디어의 전달 전에 전체 키 스트림을 보내는 것을 허용한다. 이 경우에서, 미디어 액세스 유닛들(3)의 DTS는 관련이 없고, 동기화하는 IPMP 시퀀스 넘버들의 값에 완전히 수행된다.
개요
본 발명은 사이클링된 키들을 사용하는 데이터(예컨대, MPEG-4 데이터)의 효율적인 콘텐트 레벨 암호화를 수행하는데 바람직한 모든 멀티미디어 전달 시스템들에서 애플리케이션을 찾을 수 있다. 이것은 IP 네트워크들을 통한 스트리밍뿐만 아니라 MPEG-3 전송을 통해 MPEG-4 포함, 또는 MPEG-4 콘텐트를 포함하는데 사용될 수 있는 임의의 다른 에러가 생기기 쉬운(error-prone) 또는 에러가 없는(error-free) 전송 메커니즘과 같은 이종 환경들(heterogeneous environment)을 포함한다.
위에 지시된 바와 같이, 이 발명의 일 실시예는 두 개의 다른 구성물들을 사용하는 MPEG-4 콘텐트의 보호를 위해 프레임워크에 기초한다 :
ㆍ MPEG-4 액세스 유닛들을 위한 보안 랩퍼, 및
ㆍ암호 재동기화 마커들.
이들 두 개의 구성물들은 이하에 상세히 논의된다.
상세한 설명
도 4를 참조하면, 특히, 콘텐트 암호화 시스템(1)은 기계-판독가능 매체로부터 원래 액세스 유닛(10)을 판독한다. 이 예에서, 원래 액세스 유닛(10)은 3 개의 섹션으로 분리되고, 결과적으로 제 1 암호화된 AU 섹션(11), 제 2 암호화된 AU 섹 션(12) 및 제 3 암호화된 AU 섹션(13)을 포함한 암호화 액세스 유닛(3)이 되는, 이 3 개의 섹션은 독립적으로 암호화된다. 제 1 재동기화 마커(14)는 제 1 암호화된 AU 섹션(11)으로부터 그것을 분리하여, 제 2 암호화된 AU 섹션(12)에 추가된다. 제 2 재동기화 마커(15)는 제 2 암호화된 AU 섹션(12)으로부터 그것을 분리하여, 제 3 암호화된 AU 섹션(13)에 추가된다. 헤더(16)는 암호화된 AU(3)에 미리의존된다.
1. 보안 랩퍼
본 발명의 일 실시예에서, 이 발명의 보안 랩퍼는 임의의 "래핑된" MPEG-4 액세스 유닛(비디오 프레임, 오디오 샘플, 데이터 유닛)을 위해 보안성을 제공하는 암호법 캡슐 엔벨로프로서 사상일 수 있다. 발표자(publisher)/서버/오너는 이들 엔벨로프들에서 개별적인 Au들(3)을 랩핑함으로써 콘텐트를 보호한다. 그 다음, 콘텐트는 적당한 키/권리들을 가진 엔드-사용자에 의해 단지 랩핑되지 않을 수 있다. 다양한 종류들의 랩퍼들은 아주 일반적이고 다수의 암호법 프로토콜들에서 나타난다. 따라서, 이 발명은 일반적인 랩퍼들로 동작할 수 있다.
하나의 예시적인 실시예에서, 랩퍼는 특히 MPEG-4 환경에서 사용하기 위해 규정될 수 있다. 게다가, 이 발명은 능력을 순환 키들에 또한 제공함으로써, "이중 의무"를 행하고 랜덤 액세스를 수행하기 위해 랩퍼(시퀀스 넘버, 등)의 특성들을 사용할 수 있다. 따라서, 이 발명은 프레임워크에서 모두 함께 그것을 넣고 일정한 방식으로 그것을 사용함으로써 해결책을 만들기 위해 다수의 넓게 사용된 프로토콜들을 취하고, 거기에 특정 구성물들을 추가함으로써 동작할 수 있다.
이하에 도시된 헤더(16)는 각 암호화된 AU(3)에 미리-의존된다.
Figure 112004003317811-pct00001
헤더(16)는 다음 필드들을 포함한다 :
버전 - 2 비트 버전 필드 17. 제 1 개정을 위해 0으로 설정해라.
E - 페이로드가 암호화된 (1) 또는 클리어 (0) 인지의 여부를 표시한 비트 플래그 18, 페이로드 부분만이 암호화된다는 것을 유의해라.
A - 인증 코드 필드의 존재(1) 또는 존재하지 않음 (0)을 표시한 비트 플래그 19. 존재하면, 인증 코드는 전체 구조물-랩퍼(16) 또는 AU(3)에 관련한다.
CRM - AU(3) 내에 암호법 재동기화 마커들(14, 15)의 존재 (1) 또는 존재하지 않음 (0)을 표시한 비트 플래그 20.
예약됨 - 3 개의 예약된 비트들의 필드 21 - 0들로 설정.
시퀀스 넘버 - 시퀀스 넘버 필드 22에 보유된 고유한 시퀀스 넘버. 시퀀스 넘버의 생성 방법은 이 문서의 범위 밖에서 고려된다. 값은 단조롭게 증가할 수 있는데, 이는 해밍 거리 공격들(hamming distance attacks)은 카운터 모드의 AES에 대해 상당한 위협(threat)을 취하지 않는다. 이 필드 22의 길이는 미리설정되지 않는데, 이는 자기-기술 포맷을 사용하기 때문이다. 각 바이트의 더 낮은 7 비트는 시퀀스 넘버를 보유하기 위해 사용된다. 각 바이트의 고 순차 비트의 설정은 또다른 바이트의 존재를 표시하고, 반면 마지막 바이트는 0으로 설정된 그것의 MSB를 갖는다.
예로서, 값 350은 다음과 같이 표현될 것이다 :
11010111 00000010
인증 코드 - 선택적 필드(도 4에 미도시)는 자기-기술 인증 코드를 보유한다. 프레임워크는 사용될 인증 코드 방식으로 불가지론적(agnostic)이지만, 키잉된 해시(HMAC)는 대부분 알맞을 것이 가정된다. 디지털 서명들이 제공되지만, 가정은 이들 방식들은 현재 너무 비싸서 AU 레벨로 수행될 수 없다는 것이다. 전체 구조물 - 헤더(16) _ AU(3)이 인증된다는 것을 유의해라.
페이로드 - 원래 AU(10) 또는 암호화된 AU(3). 암호 재동기화 마커들(14, 15)이 사용된 경우에, 암호화된 AU(3)는 원래 10 보다 더 클 수 있다.
2. 암호 재동기화 마커들
암호법 재동기화를 가능하게 하기 위해, 마커들(14, 15)은 데이터 손실의 경우에 암호가 "리셋(reset)"되는 것을 허용하기 위해, 일부 유일한 및 명시한 동기화 정보(23, 24) 각각을 보유한다.
암호화된 도메인으로 잘 수행하는 암호 재동기화 마커가 이어진다. 마커는 정렬되고, 가변 길이, 자기 기술 시퀀스 카운터에 이어지는 16개의 0들로 구성된 바이트이다 :
0000 0000 0000 0000 XXXX XXXX
애플리케이션에서, 다중 암호 재동기화 마커들(14, 15)은 단일 AU(3)에 삽입될 수 있다. AU(3) 내에 위치된 마커들(14, 15)은 용이하게 위치될 수 있고 따라서 유일한가 되도록 보증된다. 결과적으로 충돌이 여전히 생길 수 있는 적은 통계적 가능성이 있는데, 이는 주어진 평문/키 조합이 결과적으로 폼 0000 0000 0000 0000을 갖는 암호문일 수 있기 때문이다. 이 해프닝(happening)의 가능성은 몹시 낮지만, 마커 에뮬레이션의 가능성은 이스케이프 코드들(escape codes)에 유사한 방식으로 그것들을 "이스케이핑(escaping)" 함으로써 알려진다.
에러가 생기기 쉬운 환경에서의 통상의 사용을 위해, 다수의 재동기화 마커들(14, 15)은 주어진 AU(3) 내에 놓일 수 있다. 각 재동기화 마커들(14, 15)의 몸체는 같은 포맷 및 보안 랩퍼의 시퀀스 넘버로서의 사용을 갖는 유일한 카운터(25, 26)를 각각 포함한다. 카운터(25, 26)는 헤더(16)에 보유된 초기 시퀀스 넘버로부터 단조롭게 증가한다는 것이 제안된다.
헤더(16)에 포함된 시퀀스 넘버의 충돌 또는 손실은 결과적으로 전제 암호화된 AU(3)의 손실이 되지 않는다. 재동기화 마커 내의 시퀀스 넘버는 바람직하게는 헤더(16)에 지정된 시퀀스 카운터로부터 오프셋으로부터 지정되기보다는 절대적이다. 이어지는 AU의 헤더의 시퀀스 넘버의 값이 완전히 아??를 사용하는 것을 피하기 위해 현재 AU(3)에서 사용된 마지막 시퀀스 수보다 큰다는 것을 보증하는 것이 또한 중요하다.
351의 값을 가진 재동기화 마커의 예 :
0000 0000 0000 0000 1000 0010 0101 1111
데이터 손실의 경우에, 암호를 다시 초기화하기 위해 IV에 입력으로서 마커들의 몸체에서 다른 재동기화 마커를 위치시키고 시퀀스 값을 사용하는 것은 동기화를 달성할 수 있다.
구현
1. 암호화
도 2는 본 발명의 하나의 양호한 실시예에 따른 암호화 처리의 개략도이다. 카운터(27)는 솔팅 키(28), 시퀀스 넘버(29) 및 블록 인덱스(30)로부터 형성된다. 암호화된 카운터(31)는 순환 값으로 키(32)를 사용하여 생성된다. 암호화된 카운터는 암호화된 AU 데이터 블록(34)을 생성하는, 클리어 AU 데이터 블록(33)으로 XOR된다.
AES/Rijndael 알고리즘은 미디어 암호화를 위해 선택되었다. 암호는 카운터 모드로 실행되고 미디어 내에 보유된 명시적 카운터들(시퀀스 넘버들 및 암호 재동기화 마커들) 사용한다.
Rijndael 알고리즘은 데이터 암호화를 위해 신규 연방 정보 처리 표준(FIPS : Federal Information Processing Standard)으로서 선택되었고 에이징(aging) DES 및 트리플 DES 표준들을 대체하기 위해 포이징된다(poised).
AES 알고리즘은 선택 처리 중에 상당량의 해독학(cryptanalysis)에 영향 받기 쉬웠다. AES에 던져진 분석 노력의 레벨은 DES와 비교할 수 있다. 가장 잘 알려진 공격 방법이 키 스페이스의 소모적인 검색이라는 것이 넓게 용인된다.
AES의 일부 하이라이트들은 다음과 같다 :
ㆍ로열티 무료 및 분류되지 않음
ㆍ세계적 수출을 위해 이용가능함
ㆍ가변 128, 192 & 256 키 및 블록 크기들을 허용함. 키/블록 길이의 모든 9개의 조합들이 가능함.
ㆍ양 하드웨어 및 소프트웨어 구현들에서 DES를 통한 막대한 스피드 개선 :
o 20MHz 8051 상의 8.416 kB/s
o 200MHz 펜티엄 상의 8.8MB/s
이들 도면들은 ECB 모드를 위해 인용된다. 카운터 모드는 추가적인 XOR 동작만을 요구하고, 따라서 무시해도 좋은 오버헤드를 추가한다.
카운터 모드는 암호화 알고리즘의 평행화가 요구된 ATM 네트워크들의 고속 암호화에 대한 요구에서 생겼다.
카운터 모드 암호화는 1 회 패드를 생성하는 위해 암호화 함수를 단조롭게 증가한 카운터 27에 적용함으로써 동작한다. 그 다음 이 패드는 평문으로 XOR된다. 해독 동작은 동일하다.
카운터 모드는 전송자와 수신자가 통상의 키(32)를 공유하는 것 외에 카운터를 공유하기를 요구한다. 카운터(27)는 비밀이 될 필요가 없다는 것을 유의해라.
암호화를 위해 :
Ci = Pi XOR E (counter)
해독을 위해 :
Pi = Ci XOR E (counter)
다음 표기에서 :
E ()는 블록 암호의 암호화 함수임.
Ci는 암호문의 i 번째 블록임.
Pi는 평문의 i 번째 블록임.
동일한 카운터 값은 같은 키에 대해 재사용되지 않는데, 이는 공격자가 그 다음에 두 개의 암호 블록들을 XOR할 수 있고 평문의 두 개의 대응하는 블록들의 XOR를 얻을 수 있기 때문이라는 것이 매우 중요하다.
카운터 모드의 이점들은 다음과 같다 :
1. 소프트웨어 효율성. 키 스트림의 생성이 메시지와 독립적이기 때문에, 전-처리가 일부 환경들에서 사용될 수 있다. 패드는 미디어가 이용가능하기 전조차, 공유 순환들로 컴퓨팅될 수 있다. 미디어가 이용가능할 때, 패드로 간단히 XOR된다. 이것은 결과로서 현대의 처리기 상의 Gbits/s의 10가지 사고일 수 있다.
2. 하드웨어 효율성. 카운터 모드는 완전히 평행할 수 있다. 블록들 C1, C2, ..., Cn은 같은 시간에 모두 해독될 수 있다.
3. 랜덤 액세스. 체이닝이 없고, 따라서 Ci를 해독하기 위해 Ci-1 번째 블록에 대한 의존성이 없다.
4. 1 비트 에러 확장. 암호문 에러는 평문에서 대응하는 비트에 제한되지 않는다. 이것은 손실이 많은 환경들에서 비디오 애플리케이션들을 스트리밍하기 위해 매우 바람직한 특성이다.
5. 낮은 복잡성. 양 암호화 및 해독 처리들은 암호화 함수 E ()에 의존한다. 이것은 암호 D() = E()-1의 역방향이 "순(forwards)" 방향과는 매우 다를 때 중요한 기준이다. 이것은 Rijndeal 및 많은 다른 블록 암호들에 대한 경우이다. 이것은 매우 낮은 적은 풋프린트 하드웨어 및 소프트웨어 솔루션들을 만든다.
6. 보안성. 아래에 놓인 블록 암호 못지 않은 보안.
7. 암호문의 크기로 증가하지 않음. 명시한 재동기화 마커의 이용을 잠시 무시하면, 암호문의 확장은 없다.
암호는 공격 방법들의 적당한 세트에 대한 암호법 강도를 알리고 세계 암호법 공동체에 의해 광범위한 분석을 경험하고, 넓게 적응된다. 암호 자체는 NIST(National Institute of Standards and Technology)에 의해 수용되는, 거의 보편적인(universal) 것이다. 암호는 적어도 128 비트의 키 길이를 지원한다. 범위성(scalability)은 중요한데, 이는 이상적으로 같은 암호가 값에서 넓게 다양할 수 있는- 3 분 비디오 클립들에서 할리우드 블록버스터들까지 콘텐트를 보호하기 위해 파라미터화될 수 있어야 하기 때문이다. 128 비트보다 큰 키 길이들은 일정한 애플리케이션에 대한 과잉일 수 있다. 단일 파라미터화된 알고리즘의 적응은 또한 실리콘 벤더들에게 스케일 이점들의 경제성을 약속한다. 본 발명은 모호한 암호들 또는 모호한 모드들의 잘 알려진 암호들을 사용하지 않는다. 암호 작성 체계 는 랜덤 액세스 또는 구해진 능력들뿐만 아니라 데이터 손실로부터의 복원을 제공하는 자기-동기화이다. 이들은 다른 시나리오들이지만, 실제로 그들은 같은 기준, 즉 임의의 선행하는 데이터 블록들의 모두 또는 부분의 결핍은 현재 데이터 블록을 해독하기 위한 능력에 영향을 미치지 않는다. 그러므로 해독될 데이터를 위한 신뢰할 수 있는 연속성 정보의 이용가능성이 가정된다. 암호 작성 체계는 바람직한(good) 에러 전파 특성들을 제공한다. 단일 비트 에러 확장(암호 텍스트의 비트 에러는 결과로서 에러가 되는 평문의 대응하는 비트만이 됨)은 매우 중요하다. 같은 블록을 가진 방식들, 다중 블록 또는 무한 에러 확장 특성들은 적용하지 않는다. 암호는 컴퓨팅 환경들의 넓은 범위를 통해 양 하드웨어 및 소프트웨어로 바람직한 수행을 제공한다. 키 셋-업 타임, 키 민첩성(agility) 및 평행화는 모두 중요하다. 알고리즘의 선택은 수용가능한 보안 특권들(concessions)이 효율성을 증가하고 복잡성을 감소시키기 위해 만들어진 "포인트로의 보안성" 정책을 반영한다. 암호 작성 체계는 낮은 데이터 확장을 제공한다. 만들어진 암호 텍스트의 크기는 평문의 크기와 같거나 평문의 크기에 가깝고, 임의의 추가 "보안 헤더들"의 크기는 최소로 유지된다. 같은 제품 또는 세션 키를 사용한 하나 이상의 메시지의 암호화는 임의의 방식으로 보안성을 포함하지 않고 가능하다.
2. 해독
도 3은 본 발명의 일 실시예에 따른 해독 처리의 개략도(암호화/해독 처리의 대칭이 아님)이다.
해독은 본 발명의 하나의 예시적인 실시예로 이하들로 진행된다 :
해독 엔진은 AU(3)의 랩퍼에서 암호화 플래그(18)를 체크한다. 플래그(18)가 설정되지 않았으면, 인증이 사용되지 않고, 랩퍼는 간단히 추출되며, 원래 AU(3)는 디코더로 처리된다.
AU(3)가 암호화되면, 랩퍼의 시퀀스 넘버는 추출되고, 카운터(27)를 생성하기 위해 사용된다.
카운터 블록 크기는 선택된 AES 블록 크기와 같다. 이 요구는 카운터(27)가 블록 암호에 입력된다는 사실 때문이다. 이 접근은 확장가능한데, 이는 더 큰 AES 블록 크기가 명기되는 경우에 더 큰 크기로 카운터(27)를 채우기에 비교적 용이하기 때문이다.
이 텍스트의 목적들을 위해, 128 비트들의 AES 블록 크기들이 가정될 것이다 :
0 31 32 95 96 127
솔팅 키(선택적) 시퀀스 넘버 블록 인덱스

솔팅 키(28)는 선택적이지만, 솔팅 키(28)의 부족이 다중 비트 스트림들이 같은 키(32)로 암호화되는 경우에 보안성의 완전한 파괴를 이끌 것이라는 것이 유의되어야 한다. (만약, 예컨대, 오디오 및 비디오가 같은 제품 및 세션 키들로 암호화되면, 하나 이상의 솔팅 키들(28)은 완전히 암호를 사용하는 것을 방지하기 위 해 사용된다.) 솔팅 키(28)의 값은 비밀이 될 필요가 없다.
32 비트 블록 인덱스(30)는 단일 AU(3) 내의 블록 카운터이다. AU의 제 1의 128 비트 블록은 인덱스 0을 가지고, 다음으로 1 등을 가진다. 블록 인덱스는 모든 재동기화 마커(14, 15) 후에 0으로 리셋된다. 블록 인덱스(30)의 값이 전송되지 않는 것이 아니라, 암호화 및 해독 처리들에 의해 컴퓨팅된다는 것을 유의해라.
블록 인덱스(30)는 AU(3)의 처리 중에 결코 순환해서는 안된다. 128 비트 AES 블록 크기 및 최대 크기의 비디오 AU(30)의 최악을 경우를 가정하면, 32 비트 블록 크기는 과잉의 헤드룸(headroom)을 제공한다.
그 다음 카운터 블록(27)은 패드 계산(computation) 중에 AES 블록 암호의 입력으로서 사용된다. AU(3)의 i 번째 블록의 처리는 다음과 같다 :
암호화 처리를 위한 Ci = Pi XOR E(카운터)
해독 처리를 위한 Pi = Trunc (n, Ci XOR E(카운터))
다음 표기에서 :
E ()는 AES 암호의 암호화 함수.
Ci는 암호화된 MPEG-4 AU의 블록의 i 번째 블록임.
Pi는 원래 AU 데이터의 i 번째 블록의 제 1 의 n 바이트임. n의 값은 1과 블록 크기 사이에 있음.
가정은 각 AU(3)의 길이가 AU 데이터와 함께 해독 툴에 제공된다.
Trunc (x, y) 함수는 y 값의 제 1의 x 바이트의 끝수를 버린다(truncate).
암호 재동기화 마커들(14, 15)이 사용되는 경우에, 다음 작업들이 취해져야 한다 :
CRM 플래그(20)가 체크된다. CRM들이 AU(3)에 존재하면, 해독은 CRM이 만나게될 때까지 상기와 같이 진행한다.
비트 스트림은 이것이 이스케이핑되지 않는 에물레이팅된 CRM이 아니라는 것을 보증하기 위해 체크된다. 이것이 에뮬레이팅된 마커이면, 마커는 "언-이스케이핑(un-escaped)"되어야 하고 해독은 보통과 같이 진행해야 한다.
마커(14, 15)가 유효하면, 마커의 몸체는 신규 카운터(27)를 생성하기 위해 사용되어야 한다 :
0 31 32 95 96 127
솔팅 키(선택적) 암호 재동기화 마커 블록 인덱스


블록 인덱스(30)는 0으로 설정되고, 해독은 암호로의 입력으로서 이 신규 카운터 값을 사용하여 진행한다.
3. 암호 작성 체계 형성
본 발명의 하나의 예시적인 실시예에서, 다수의 파라미터들은 효과적으로 사용하기 위해 설정하는 것이 필요할 수 있다.
이들은 예를 포함할 수 있다.
ㆍ 사용될 인증 방식(있다면)
ㆍ 솔팅 키들(28). 이들이 비밀이 될 필요가 없기 때문에, 그것들은 형성 정보에 보유될 수 있다.
ㆍ 해독 암호 및 모드. 명기된 것이 없으면, 카운터 모드로 AES될 것이 가정된다.
ㆍ 인트라-프레임 선택적 암호화가 사용되면, 정확하게 데이터가 암호화된 해독.
이 정보는 IOD(initial object description)에 보유된다. 사용될 데이터 구조들의 정확한 포맷은 이 문서의 범위 밖에서 고려된다.
도 6은 기계가 위에 논의된 방법들 중 어느 하나를 수행하게 하는, 명령들의 설정이 실행될 수 있는 컴퓨터 시스템(35)의 예시적인 형태의 기계의 도식의 리프리젠테이션을 보인다. 대안적인 실시예들에서, 기계는 셋-톱 박스(STB : set-top box), 네트워크 라우터, 네트워크 스위치, 네트워크 브리지, 개인용 휴대 장치(PDA), 셀룰러 폰, 웹 애플리언스 또는 그 기계에 의해 취해질 작업들을 명기한 명령들의 시퀀스를 실행할 수 있는 임의의 기계를 포함할 수 있다.
컴퓨터 시스템(35)은 처리기(36), 주 메모리(37) 및 정적 메모리(38)를 구비하고, 처리기(36), 주 메모리(37) 및 정적 메모리(38)는 버스(39)를 통해 서로 통신한다. 컴퓨터 시스템(35)은 또한 비디오 디스플레이 유닛(40)(예컨대, 액정 디스플레이(LCD) 또는 음극선관(CRT))을 구비할 수 있다. 컴퓨터 시스템(35)은 또한 영숫자(alphanumeric) 입력 장치(41)(예컨대, 키보드), 커서 제어 장치(42)(예컨대, 마우스), 디스크 드라이브 유닛(43), 신호 생성 장치(44)(예컨대, 스피커) 및 네트 워크 인터페이스 장치(45)를 구비한다.
디스크 드라이브 유닛(43)은 본 명세서에 기술된 방법들 또는 함수들 중 어는 하나 또는 모두를 채용하는 명령들의 세트(47)에 저장된 기계-판독가능 매체(46)를 구비한다. 소프트웨어(47)는 또한 주 메모리(37) 및/또는 처리기(36) 내에, 완전히 또는 적어도 부분적으로 속하도록 구성된 도시된다. 소프트웨어(47)는 또한 네트워크 인터페이스(45)를 통해 전송 또는 수신될 수 있다. 이 명세서의 목적들을 위해, 용어 "기계-판독가능 매체"는 기계로 실행하기 위한 명령들의 시퀀스를 저장, 인코딩 또는 보유할 수 있고 기계가 본 발명의 방법들 중 하나를 수행하게 하는 임의의 매체를 구비하기 위해 취해질 것이다. 용어 "기계-판독가능 매체"는 고체-상태의 메모리들, 광학 및 자기 디스크들, 및 반송파 신호들을 구비되도록 적절히 취해질 것이지만, 그것에 제한되지는 않는다.
도 5a 및 5b는 공동으로 본 발명의 일 실시예에 따른, 데이터 손실의 경우에서 재동기화하기 위해 암호 재동기화 마커들(14, 15)의 사용을 개략적으로 도시를 형성한다. 도 5a는 종래의 기술을 대표한다. 재동기화 마커들은 존재하지 않는다. 암호화된 AU(3)은 단지 그것에 미리준비된 헤더(16)를 가질 뿐이다. 클라이언트 시스템(2)이 손실한 데이터의 블록을 가진 암호화된 액세스 유닛(3)을 수신하는 것으로 가정해라.
헤더(16)의 시퀀스 넘버만으로 카운터 모드에서 블록 암호를 사용하는 것은 초기화 벡터를 사용할 수 있고, 클라이언트 시스템(2)은 손실한 데이터(49)까지 정확히 암호화된 액세스 유닛(3)을 해독할 수 만 있을 것이다. 그 후에, 암호화된 액 세스 유닛(3)을 해독하는 것을 계속할 것이지만, 부적절한 데이터 블록에 관련하는 부적절한 카운터 값을 사용할 것이고, 따라서 왜곡된 평문을 생산한다. 사실상 해독 처리는 결과적으로 복원된 데이터의 블록(50) 및 손실한 AU 데이터의 (비교적 큰) 블록(51)이 될 것이다.
반대로, 도 5b 및 도 4에 도시된 바와 같은 암호 재동기화 마커들(14, 15)의 사용은 해독 처리가 결과적으로 제 1 복원된 AU 데이터, 손실한AU 데이터의 (매우 작은) 블록(53) 및 제 2 복원된 AU 데이터 부분(54)이 되는 것을 의미한다. 이것은 클라이언트 시스템(2)이 각각 재동기화 마커들(14, 15)에서 명시한 동기화 정보(23 및 24)를 인식할 수 있기 때문이다. 제 1, 제 2 및 제 3 AU 섹션들(11 내지 13) 각각을 추출하고, 그것들을 독립적으로 해독하기 위한 것이다.
이제 도 7도 돌아가면, 네트워크(5)를 통해 암호화된 AU(3)을 클라이언트 시스템(2)으로 분배하기 위해 사용된, IP 패킷(55)의 개략도가 도시되어 있다. IP 패킷(55)은 네트워크 어드레스를 포함한, IP 헤더(56)를 포함하고, 클라이언트 시스템(2)은 IP 패킷(55)의 의도된 수신자인 지의 여부를 알릴 수 있다. IP 어드레스는 이 기술분야에 알려진 바와 같이 유일한 어드레스, 멀티캐스트 어드레스, 또는 브로드캐스트 어드레스일 수 있다.
예시적인 실시예에서, UDP는 전송 프로토콜로서 사용된다. 따라서, IP 패킷(55)은 UDP 헤더(57)를 포함한다. 추가로, 암호화된 액세스 유닛(3)은 제 1 분배 서버(4) 상의, MPEG-4 표준으로 규정된 동기화 레이어를 구현하는 애플리케이션에 의해 캡슐화된다. 따라서, IP 패킷은 SL 헤더(58)를 포함한다. SL 헤더(58) 다 음에 곧바로 보안 랩퍼를 형성하는 헤더(59)가 온다. 암호 재동기화 마커들(14, 15)의 명시한 동기화 정보(23, 24)와 동일한, 명시한 동기화 시퀀스(60)를 더 포함하는 것을 제외하고, 위에 기술된 헤더(16)와 동일하다. 헤더(59)는 액세스 유닛(3)의 암호화를 나타낸 비트 플래그(18), 인증을 나타낸 비트 플래그(19), CRM 플래그(20), 예약된 필드(21) 및 시퀀스 넘버 필드(22)를 더 포함한다. 제 1 암호화된 AU 섹션(11)은 헤더(59)에 이어진다. 제 2 암호화 AU 섹션(12)은 동기화 정보(23) 및 카운터(25)를 포함한, 제 1 암호 재동기화 마커(14)에 의해 제 1 암호화된 AU 섹션(11)으로부터 분리된다. 제 3 암호화된 AU 섹션(13)은 동기화 정보(24 및 26)를 포함한, 제 2 암호 재동기화 마커(15)에 의해 제 2 암호화 AU 섹션(12)으로부터 분리된다.
동기화 정보(23, 24, 60)는 스택 하에서의 해독으로서 알려진 해독의 유형을 구현하기 위해 본 발명에 의해 유리하게 이용된다. 이 암호화의 유형은 본 애플리케이션과 같은 출원인에 의해 공동 계류중인 국제 특허 애플리케이션 PCT/US01/41361에 매우 충분히 기술된다.
클라이언트 시스템(2)은 IP 프로토콜을 구현하는 인터페이스를 포함한다. 다시 말하면, 인터페이스는 IP 패킷(55)의 나머지로 행하는 것을 결정하기 위해 IP 헤더(56)의 정보를 사용하여 IP 패킷(55)을 처리한다. 보통 나머지는 고 레벨 프로토콜, 즉 이 경우에는 UDP 프로토콜을 구현하는 인터페이스로, 그리고 추가되는 것으로부터, 즉 이 예에서는 MPEG-4 동기화 레이어를 구현하는 인터페이스로 전달되는 반면, 본 발명의 본 실시예에서, IP 패킷(55)은 먼저 암호화된다.
이 실시예에서, 클라이언트 시스템(2)은 클라이언트 시스템(2) 상의 IP 프로토콜을 구현하는 인터페이스로부터 입력으로서 전체 IP 패킷(55)을 수신한다. IP 패킷(55)의 나머지에 대해서는 불가지론적이지만, 명시한 동기화 정보(23, 24, 60)에 대한 IP 패킷(55)의 페이로드에서 데이터를 검색한다. 그 다음 위에 설명된 방법들을 사용하여 그것들을 해독하기 위해 IP 패킷(55)으로부터 암호화된 메시지 섹션들을 추출한다. 후속하여, IP 패킷(55)은 리-어셈블링되고, 클라이언트 시스템(2) 상의 IP 프로토콜을 구현하는 인터페이스로 다시 전달되고, 그 후 다른 프로토콜들, 즉 UDP, SL을 구현하는 다양한 인터페이스들에 의해 처리된다.
따라서, 콘텐트 레벨 암호화 프로토콜에 대한 방법 및 시스템이 설명되어 있다. 본 발명은 특정 예시적 실시예들에 관련하여 설명되었지만, 본 발명의 더 넓은 사상 및 범위에서 벗어나지 않는 이들 실시예들로 만들어질 수 있다. 따라서, 명세서 및 도면들은 제한적 의미보다는 예시적으로 간주될 것이다.

Claims (71)

  1. 콘텐트를 인코딩하여 메시지들에 배열되는 암호로(cryptographically) 보호된 디지털 데이터를 생성하는 방법으로서, 각 메시지는 디코더 애플리케이션에 대한 각 메시지를 어셈블링하기 위한 서비스 인터페이스를 갖는 클라이언트 단말 상에서 상기 디코더 애플리케이션에 의해 디코딩될 수 있는, 상기 디지털 데이터를 생성하는 방법에 있어서,
    기계-판독가능 매체로부터 메시지를 검색하는 단계와,
    상기 메시지의 적어도 부분을 암호화하는 단계와,
    서버 서비스 인터페이스가 상기 메시지를 적어도 하나의 헤더 및 페이로드를 포함하는 적어도 하나의 패킷내에 배열하게 하는 포맷으로 출력으로서 상기 암호화된 메시지들을 제공하는 단계를 포함하고, 각각의 페이로드는 상기 메시지 중 적어도 부분을 포함하고, 적어도 하나의 헤더는 상기 클라이언트 상의 상기 서비스 인터페이스가 상기 패킷들의 페이로드로부터 상기 디코더 애플리케이션에 대한 각 메시지를 어셈블링하게 하는 정보를 포함하고,
    상기 방법은 각 메시지를 제 1 및 적어도 하나의 다른 메시지 섹션으로 분리하는 단계를 포함하고, 상기 메시지 섹션들 중 적어도 하나는 상기 다른 메시지 세션들과 독립적으로 해독될 수 있는 방식으로 암호화되고, 상기 암호화된 메시지는, 인접한 메시지 섹션으로부터 메시지 섹션을 분리하고, 명시한 동기화 정보를 포함하는 재동기화 마커(resynchronisation marker)를 적어도 상기 다른 메시지 섹션들에 부가함으로써 어셈블링되는, 디지털 데이터 생성 방법.
  2. 제 1항에 있어서,
    상기 메시지 섹션들은 순환 값(cycling value)을 가진 적어도 하나의 키를 사용하여 암호화되는, 디지털 데이터 생성 방법.
  3. 제 1항 또는 제 2항에 있어서,
    각 재동기화 마커는 고유한 시퀀스 넘버(unique sequence number)를 더 포함하는, 디지털 데이터 생성 방법.
  4. 제 1항 또는 제 2항에 있어서,
    각 암호화된 메시지를 캡슐화하고 고유한 시퀀스 넘버를 포함하는 랩퍼(wrapper)를 부가하는 단계를 더 포함하는, 디지털 데이터 생성 방법.
  5. 제 3항에 있어서,
    각 고유한 시퀀스 넘버는 자기-기술 포맷(self-describing format)으로 제공되는, 디지털 데이터 생성 방법.
  6. 제 2항에 있어서,
    적어도 하나의 키 메시지를 생성하는 단계를 더 포함하고, 각 키 메시지는 메시지에 부가되는 적어도 하나의 고유한 시퀀스 넘버를 상기 메시지의 적어도 부분들의 해독을 가능하게 하는 키 값에 링크하는 데이터를 포함하는, 디지털 데이터 생성 방법.
  7. 제 3항에 있어서,
    피드백을 사용하여 암호화 모드(cryptographic mode)에서 암호(cipher)를 채용함으로써 메시지 섹션들을 암호화하는 단계를 더 포함하고, 상기 암호는 각 메시지 섹션의 선두에서 다시 초기화되는(re-initialised), 디지털 데이터 생성 방법.
  8. 제 7항에 있어서,
    또다른 메시지 섹션으로부터 다른 메시지 섹션을 분리하는 재동기화 마커 내의 고유한 시퀀스 넘버는 상기 다른 메시지 섹션을 암호화하기 위해 초기화 벡터(initialisation vector)로서 사용되는, 디지털 데이터 생성 방법.
  9. 제 1항, 제 2항 또는 제 6항 중 어느 한 항에 있어서,
    블록 암호는 메시지 섹션을 암호화하는데 사용되고 상기 암호는 상기 메시지 섹션 크기의 디바이저(divisor)와 동일한 암호블록 크기(cipherblock size)를 사용하는, 디지털 데이터 생성 방법.
  10. 제 1항, 제 2항 또는 제 6항 중 어느 한 항에 있어서,
    카운터는 메시지 섹션을 암호화하기 전에 리셋(re-set)되는 카운터 모드(counter mode)에서 암호를 채용하는 단계를 더 포함하는, 디지털 데이터 생성 방법.
  11. 제 3항에 있어서,
    또다른 메시지 섹션으로부터 다른 메시지 섹션을 분리하는 재동기화 마커 내의 고유한 시퀀스 넘버는 상기 다른 메시지 섹션을 암호화하기 위한 카운터를 형성하는데 사용되는, 디지털 데이터 생성 방법.
  12. 제 10항에 있어서,
    별도의 기본 스트림들에 속하는 메시지들은 암호화되고, 각 스트림은 상기 클라이언트 상의 디코더 애플리케이션에 대해 의도되고, 상기 방법은, 상기 클라이언트 상의 상기 서비스 인터페이스가 상기 메시지를 별도의 기본 스트림들에 어셈블링하게 하는 포맷으로 출력으로서 상기 암호화된 메시지들을 제공하는 단계를 포함하고, 상기 카운터는 솔팅 키(salting key)로부터 형성되고, 다른 솔팅 키는 각 기본 스트림의 상기 메시지들에 대해 사용되는, 디지털 데이터 생성 방법.
  13. 제 2항에 따른 방법에 의해 생성된, 콘텐트를 인코딩하여 메시지들에 배열되는 암호로 보호된 데이터의 해독을 가능하게 하기 위한 서버에 있어서, 상기 서버는,
    명령들의 세트를 저장하는 기계-판독가능 매체; 및 상기 기계- 판독가능 매체로부터 상기 명령들의 세트를 검색하고, 상기 명령들의 세트를 실행하도록 구성된 프로세서를 포함하고, 상기 실행시에 상기 프로세서는 적어도 하나의 키 메시지를 전달하기 위해 배열되고, 각 키 메시지는 네트워크를 통해 상기 서버에 연결된 클라이언트 단말로부터의 요청에 응답하여, 메시지에 부가된 적어도 하나의 고유한 시퀀스 넘버를 상기 메시지의 적어도 부분들의 해독을 가능하게 하는 키 값에 링크하는 데이터를 포함하는, 서버.
  14. 콘텐트를 인코딩하여 메시지들에 배열되는 암호로 보호된 디지털 데이터를 생성하기 위한 시스템으로서, 각 메시지는 디코더 애플리케이션에 대한 각 메시지를 어셈블링하기 위해 서비스 인터페이스를 가진 클라이언트 단말 상에서 상기 디코더 애플리케이션에 의해 디코딩될 수 있는, 상기 시스템은,
    명령들의 세트를 저장하는 기계-판독가능 매체; 및 상기 기계- 판독가능 매체로부터 상기 명령들의 세트를 검색하고, 상기 명령들의 세트를 실행하도록 구성된 프로세서를 포함하고, 상기 실행시에 상기 프로세서는,
    기계 판독가능 매체로부터 메시지를 검색하고,
    상기 메시지의 적어도 부분을 암호화하고,
    서버 서비스 인터페이스가 상기 메시지를 적어도 하나의 헤더 및 페이로드를 포함하는 적어도 하나의 패킷내에 배열하게 하는 포맷으로 출력으로서 상기 암호화된 메시지들을 제공하도록 구성되고, 각 페이로드는 상기 메시지의 적어도 부분을 포함하고, 적어도 하나의 헤더는 상기 클라이언트 상의 상기 서비스 인터페이스가 상기 패킷들의 페이로드로부터 상기 디코더 애플리케이션에 대한 각 메시지를 어셈블링하게 하는 정보를 포함하고,
    상기 프로세서는 다른 메시지 섹션들과 독립적으로 해독할 수 있는 방식으로 상기 메시지 섹션들 중 적어도 하나를 암호화하고, 인접한 메시지 섹션으로부터 메시지 섹션을 분리하고 명시한 동기화 정보를 포함하는 재동기화 마커를 적어도 상기 다른 메시지 섹션들에 부가함으로써 어셈블링되도록 각각의 메시지를 제 1 및 적어도 하나의 상기 다른 메시지 섹션으로 분리하도록 더 구성되는, 암호로 보호된 디지털 데이터 생성 시스템.
  15. 청구항 15은(는) 설정등록료 납부시 포기되었습니다.
    제 14항에 있어서,
    상기 프로세서는 순환 값을 가진 적어도 하나의 키를 사용하여 상기 메시지 섹션들을 암호화하도록 더 구성되는, 암호로 보호된 디지털 데이터 생성 시스템.
  16. 청구항 16은(는) 설정등록료 납부시 포기되었습니다.
    제 14항 또는 제 15항에 있어서,
    각 재동기화 마커는 고유한 시퀀스 넘버를 더 포함하는, 암호로 보호된 디지털 데이터 생성 시스템.
  17. 청구항 17은(는) 설정등록료 납부시 포기되었습니다.
    제 14항 또는 제 15항에 있어서,
    상기 프로세서는 각 암호화된 메시지를 캡슐화하고 고유한 시퀀스 넘버를 포함하는 랩퍼를 부가하도록 더 구성되는, 암호로 보호된 디지털 데이터 생성 시스템.
  18. 청구항 18은(는) 설정등록료 납부시 포기되었습니다.
    제 16항에 있어서,
    상기 프로세서는 자기 기술 포맷으로 각 고유한 시퀀스 넘버를 제공하도록 더 구성되는, 암호로 보호된 디지털 데이터 생성 시스템.
  19. 청구항 19은(는) 설정등록료 납부시 포기되었습니다.
    제 15항에 있어서,
    상기 프로세서는 적어도 하나의 키 메시지를 생성하도록 더 구성되고, 각 키 메시지는 메시지에 부가된 적어도 하나의 고유한 시퀀스 넘버를 상기 메시지의 적어도 부분들의 해독을 가능하게 하는 키 값에 링크하는 데이터를 포함하는, 암호로 보호된 디지털 데이터 생성 시스템.
  20. 청구항 20은(는) 설정등록료 납부시 포기되었습니다.
    제 16항에 있어서,
    상기 프로세서는 피드백을 사용하여 암호화 모드에서 암호를 채용함으로써 메시지 섹션들을 암호화하도록 더 구성되고, 상기 시스템은 각 메시지 섹션의 선두에서 상기 암호를 다시 초기화하도록 구성되는, 암호로 보호된 디지털 데이터 생성 시스템.
  21. 청구항 21은(는) 설정등록료 납부시 포기되었습니다.
    제 20항에 있어서,
    상기 프로세서는 상기 다른 메시지 섹션을 암호화하기 위한 초기화 벡터로서 또다른 메시지 섹션으로부터 다른 메시지 섹션을 분리하는 재동기화 마커 내의 고유한 시퀀스 넘버를 사용하도록 더 구성되는, 암호로 보호된 디지털 데이터 생성 시스템.
  22. 청구항 22은(는) 설정등록료 납부시 포기되었습니다.
    제 14항, 제 15항 또는 제 19항 중 어느 한 항에 있어서,
    상기 프로세서는 메시지 섹션을 암호화하기 위해 블록 암호를 사용하도록 더 구성되고, 상기 암호는 상기 메시지 섹션 크기의 디바이저와 동일한 블록 크기를 사용하는, 암호로 보호된 디지털 데이터 생성 시스템.
  23. 청구항 23은(는) 설정등록료 납부시 포기되었습니다.
    제 14항, 제 15항 또는 제 19항 중 어느 한 항에 있어서,
    상기 프로세서는 카운터 모드에서 암호를 채용하고, 메시지 섹션을 암호화하기 전에 카운터를 리셋하도록 더 구성되는, 암호로 보호된 디지털 데이터 생성 시스템.
  24. 청구항 24은(는) 설정등록료 납부시 포기되었습니다.
    제 16항에 있어서,
    상기 프로세서는 상기 다른 메시지 섹션을 암호화하기 위해 카운터를 형성하도록 또다른 메시지 섹션으로부터 다른 메시지 섹션을 분리하는 재동기화 마커 내의 고유한 시퀀스 넘버를 사용하도록 더 구성되는, 암호로 보호된 디지털 데이터 생성 시스템.
  25. 청구항 25은(는) 설정등록료 납부시 포기되었습니다.
    제 23항에 있어서,
    상기 시스템은 별도의 기본 스트림들에 속하는 메시지들을 암호화할 수 있고, 각 스트림은 상기 클라이언트 상의 디코더 애플리케이션에 대해 의도되고, 상기 프로세서는 상기 클라이언트 상의 상기 서비스 인터페이스가 상기 메시지를 별도의 기본 스트림들에 어셈블링하게 하는 포맷으로 출력으로서 상기 암호화된 메시지들을 제공하도록 더 구성되고, 상기 프로세서는 솔팅 키로부터 상기 카운터를 형성하고 각 기본 스트림의 상기 메시지들에 대해 다른 솔팅 키를 이용하도록 더 구성되는, 암호로 보호된 디지털 데이터 생성 시스템.
  26. 콘텐트를 인코딩하여 메시지들에 배열되는 디지털 데이터를, 네트워크를 통해 서버에서 하나 이상의 클라이언트 단말들로 분배하는 방법으로서, 각 메시지는 클라이언트 단말 상에서 디코더 애플리케이션에 의해 디코딩될 수 있는, 상기 디지털 데이터 분배 방법에 있어서,
    상기 서버의 네트워크 인터페이스를 통해 상기 서버에서 네트워크까지 복수의 데이터 패킷들을 전송하는 단계로서, 각 패킷은 적어도 하나의 헤더 및 페이로드를 포함하고, 각 페이로드는 메시지의 적어도 부분을 포함하는, 상기 전송하는 단계와,
    상기 서버상에 설치된 프로토콜 스택 내의 두 개의 레이어들 사이에 적어도 하나의 서비스 인터페이스의 시리즈의 첫 번째 것에 각각의 메시지를 제공하는 단계를 포함하고, 각 서비스 인터페이스는 상기 클라이언트가 상기 패킷의 나머지를 처리하게 하는 패킷 인코딩 정보에 적어도 하나의 패킷 헤더를 부가하도록 구성되고,
    상기 방법은 상기 클라이언트 상의 서비스 인터페이스가 상기 패킷들의 페이로드로부터 상기 디코더 애플리케이션에 대한 각 메시지를 어셈블링하게 하는 정보를 포함하는 적어도 하나의 헤더를 포함하는 패킷들을 전송하는 단계를 더 포함하고,
    패킷들은 제 1 섹션과 적어도 하나의 다른 섹션을 포함하는 패킷 페이로드를 가지고 전송되며, 각 다른 섹션은 인접한 메시지 섹션으로부터 메시지 섹션을 분리하고 명시한 동기화 시퀀스를 포함하는 재동기화 마커를 포함하고, 상기 메시지 섹션들 중 적어도 하나는 상기 다른 메시지 섹션들과 독립적으로 해독될 수 있는 방식으로 암호화되는, 디지털 데이터 분배 방법.
  27. 청구항 27은(는) 설정등록료 납부시 포기되었습니다.
    제 26항에 있어서,
    상기 메시지 섹션들은 순환 키 값을 가진 적어도 하나의 키를 사용하여 해독될 수 있는 방식으로 암호화되는, 디지털 데이터 분배 방법.
  28. 청구항 28은(는) 설정등록료 납부시 포기되었습니다.
    제 26항 또는 제 27항에 있어서,
    각 재동기화 마커가 고유한 시퀀스 넘버를 포함하는 패킷들을 전송하는 단계를 더 포함하고, 디지털 데이터 분배 방법.
  29. 청구항 29은(는) 설정등록료 납부시 포기되었습니다.
    제 26항 또는 제 27항에 있어서,
    각 메시지가 고유한 시퀀스 넘버를 포함하는 랩퍼에 의해 캡슐화되는 패킷들을 전송하는 단계를 더 포함하는, 디지털 데이터 분배 방법.
  30. 청구항 30은(는) 설정등록료 납부시 포기되었습니다.
    제 28항에 있어서,
    각 고유한 시퀀스 넘버가 자기 기술 포맷으로 제공되는, 디지털 데이터 분배 방법.
  31. 청구항 31은(는) 설정등록료 납부시 포기되었습니다.
    제 27항에 있어서,
    적어도 하나의 키 메시지를 전송하는 단계를 더 포함하고, 각 키 메시지는 메시지에 포함된 적어도 하나의 고유한 시퀀스 넘버를 상기 메시지의 적어도 부분들을 해독하게 하는 키 값에 링크하는 데이터를 포함하는, 디지털 데이터 분배 방법.
  32. 콘텐트를 인코딩하여 메시지들에 배열되는 디지털 데이터를, 네트워크를 통해 하나 이상의 클라이언트 단말들로 분배하기 위한 서버로서, 각 메시지는 클라이언트 단말 상에서 디코더 애플리케이션에 의해 디코딩될 수 있는, 상기 서버에 있어서,
    네트워크를 통해 상기 서버로부터 복수의 데이터 패킷들을 전송하기 위한 네트워크 인터페이스를 포함하고, 각 패킷은 적어도 하나의 헤더 및 페이로드를 포함하고, 각 페이로드는 메시지의 적어도 부분을 포함하고,
    상기 서버는 프로토콜 스택내의 두 개의 레이어들 사이에 적어도 하나의 서비스 인터페이스의 시리즈를 더 포함하고, 각 서비스 인터페이스는 상기 클라이언트가 상기 패킷의 나머지를 처리하게 하는 패킷 인코딩 정보에 적어도 하나의 패킷 헤더를 부가하도록 구성되고,
    상기 네트워크 인터페이스는 상기 클라이언트 상의 서비스 인터페이스가 상기 패킷들의 페이로드로부터 상기 디코더 애플리케이션에 대한 각 메시지를 어셈블링하게 하는 정보를 포함하는 적어도 하나의 헤더를 포함하는 패킷들을 전송하도록 구성되며,
    상기 네트워크 인터페이스는 제 1 섹션과 적어도 하나의 다른 섹션을 포함하는 패킷 페이로드를 가진 패킷들을 분배하도록 구성되고, 각 추가 섹션은 인접한 메시지 섹션으로부터 메시지 섹션을 분리하고 명시한 동기화 시퀀스를 포함하는 재동기화 마커를 포함하고, 상기 메시지 섹션들 중 적어도 하나는 상기 다른 메시지 섹션들과 독립적으로 해독할 수 있는 방식으로 암호화되는, 서버.
  33. 청구항 33은(는) 설정등록료 납부시 포기되었습니다.
    제 32항에 있어서,
    상기 메시지 섹션들은 순환 키 값을 가진 적어도 하나의 키를 사용하여 해독될 수 있는 방식으로 암호화되는, 서버.
  34. 청구항 34은(는) 설정등록료 납부시 포기되었습니다.
    제 32항 또는 제 33항에 있어서,
    상기 네트워크 인터페이스는 각 재동기화 마커가 고유한 시퀀스 넘버를 포함하는 패킷들을 전송하도록 더 구성되는, 서버.
  35. 청구항 35은(는) 설정등록료 납부시 포기되었습니다.
    제 32항 또는 제 33항에 있어서,
    상기 네트워크 인터페이스는 각 메시지가 고유한 시퀀스 넘버를 포함하는 랩퍼에 의해 캡슐화되는 패킷들을 전송하도록 더 구성되는, 서버.
  36. 청구항 36은(는) 설정등록료 납부시 포기되었습니다.
    제 34항에 있어서,
    각 고유한 시퀀스 넘버를 자기 기술 포맷으로 제공하도록 구성되는 서버.
  37. 청구항 37은(는) 설정등록료 납부시 포기되었습니다.
    제 33항에 있어서,
    상기 네트워크 인터페이스는 적어도 하나의 키 메시지를 전송하도록 더 구성되고, 각 키 메시지는 메시지에 포함된 적어도 하나의 고유한 시퀀스 넘버를 상기 메시지의 적어도 부분들의 해독을 가능하게 하는 키 값에 링크하는 데이터를 포함하는, 서버.
  38. 콘텐트를 인코딩하여 메시지들에 배열되는 디지털 데이터를 수신 및 처리하기 위한 클라이언트 단말로서, 각 메시지는 디코더 애플리케이션에 의해 디코딩될 수 있는, 상기 클라이언트 단말에 있어서,
    복수의 데이터 패킷들을 수신하기 위한 인터페이스를 포함하고, 각 패킷은 적어도 하나의 헤더 및 페이로드를 포함하고, 상기 단말은 프로토콜 스택 내의 두 개의 레이어들 사이에 적어도 하나의 서비스 인터페이스의 시리즈를 더 포함하고,
    상기 패킷으로부터 적어도 하나의 패킷 헤더를 제거하고 상기 제거된 패킷 헤더에 인코딩된 정보를 사용하여 상기 패킷의 나머지를 처리하도록 구성된 각 서비스 인터페이스는, 상기 패킷의 적어도 하나의 헤더에 포함된 정보를 사용하여 적어도 하나의 패킷의 상기 페이로드로부터 상기 디코더 애플리케이션에 대한 상기 메시지들을 어셈블링하도록 구성된 서비스 인터페이스, 및
    상기 인터페이스 및 상기 적어도 하나의 서비스 인터페이스의 시리즈에 연결된 프로세서를 포함하고, 상기 프로세서는,
    제 1 섹션 및 각각이 인접한 메시지 섹션으로부터 메시지 섹션을 분리하고 명시한 동기화 시퀀스(explicit synchronization sequence)를 포함하는 재동기화 마커를 포함하는 적어도 하나의 다른 섹션을 포함하는 패킷 페이로드들을 수신하고,
    상기 재동기화 마커들을 위치시킴으로써 각 섹션을 추출하고,
    상기 다른 메시지 섹션들과 독립적으로 각각 암호화된 메시지를 해독하고,
    섹션이 추출되었던 상기 섹션의 장소(place)에 각 해독된 메시지 섹션을 삽입하도록 구성되는, 클라이언트 단말.
  39. 청구항 39은(는) 설정등록료 납부시 포기되었습니다.
    제 38항에 있어서,
    상기 프로세서는 순환 키 값을 가진 적어도 하나의 키를 사용하여 상기 메시지 섹션들을 해독하도록 더 구성되는, 클라이언트 단말.
  40. 청구항 40은(는) 설정등록료 납부시 포기되었습니다.
    제 38항 또는 제 39항에 있어서,
    상기 프로세서는 각 재동기화 마커로부터 고유한 시퀀스 넘버를 검색하도록 더 구성되는, 클라이언트 단말.
  41. 청구항 41은(는) 설정등록료 납부시 포기되었습니다.
    제 38항 또는 제 39항에 있어서,
    각 암호화된 메시지는 랩퍼에 의해 캡슐화되고 상기 프로세서는 각 랩퍼로부터 고유한 시퀀스 넘버를 검색하도록 더 구성되는, 클라이언트 단말.
  42. 청구항 42은(는) 설정등록료 납부시 포기되었습니다.
    제 40항에 있어서,
    상기 프로세서는 자기 기술 포맷의 고유한 시퀀스 넘버를 분석(parsing)함으로써 고유한 시퀀스 넘버를 포함한 필드의 길이를 유도하도록 더 구성되는, 클라이언트 단말.
  43. 청구항 43은(는) 설정등록료 납부시 포기되었습니다.
    제 39항에 있어서,
    상기 프로세서는 적어도 하나의 키 메시지를 수신하고, 각 메시지는 메시지에 부가된 적어도 하나의 고유한 시퀀스 넘버를, 상기 메시지의 적어도 부분들의 해독을 가능하게 하는 키 값에 링크하는 데이터를 포함하고, 상기 데이터를 사용하여 상기 키 값들을 선택하도록 더 구성되는, 클라이언트 단말.
  44. 청구항 44은(는) 설정등록료 납부시 포기되었습니다.
    제 40항에 있어서,
    상기 프로세서는 피드백을 사용하여 암호화 모드에서 암호를 채용함으로써 메시지 섹션들을 해독하고, 각 메시지 섹션의 선두에서 상기 암호를 다시 초기화하도록 더 구성되는, 클라이언트 단말.
  45. 청구항 45은(는) 설정등록료 납부시 포기되었습니다.
    제 44항에 있어서,
    상기 프로세서는 상기 다른 메시지 섹션을 해독하기 위해 초기화 벡터로서 또다른 메시지 섹션으로부터 다른 메시지 섹션을 분리하는 재동기화 마커 내의 고유한 시퀀스 넘버를 사용하도록 더 구성되는, 클라이언트 단말.
  46. 청구항 46은(는) 설정등록료 납부시 포기되었습니다.
    제 38항, 제 39항 또는 제 43항 중 어느 한 항에 있어서,
    상기 프로세서는 메시지 섹션을 해독하기 위해 블록 암호를 사용하고, 메시지 섹션 크기의 디바이저와 동일한 암호텍스트 블록 크기를 사용하도록 더 구성되는, 클라이언트 단말.
  47. 청구항 47은(는) 설정등록료 납부시 포기되었습니다.
    제 38항, 제 39항 또는 제 43항 중 어느 한 항에 있어서,
    상기 프로세서는 카운터 모드에서 암호를 채용하고 메시지 섹션을 해독하기 전에 카운터를 리셋하도록 더 구성되는, 클라이언트 단말.
  48. 청구항 48은(는) 설정등록료 납부시 포기되었습니다.
    제 40항에 있어서,
    상기 프로세서는 상기 다른 메시지 섹션을 해독하기 위해 카운터로서 또다른 메시지 섹션으로부터 다른 메시지 섹션을 분리하는 재동기화 마커 내의 고유한 시퀀스 넘버를 사용하도록 더 구성되는, 클라이언트 단말.
  49. 청구항 49은(는) 설정등록료 납부시 포기되었습니다.
    제 47항에 있어서,
    상기 프로세서는 별도의 기본 스트림들에 속하는 메시지들을 수신 및 처리하도록 더 구성되고, 각 스트림은 상기 클라이언트 단말 상에 설치된 디코더 애플리케이션에 대해 의도되고,
    상기 클라이언트 단말 상의 서비스 인터페이스는 별도의 기본 스트림들에 상기 메시지들을 어셈블링하도록 구성되고,
    상기 클라이언트 단말은, 각 기본 스트림의 상기 메시지들에 대해 다른 키를 사용하여, 솔팅 키로부터 상기 카운터를 형성하도록 더 구성되는, 클라이언트 단말.
  50. 청구항 50은(는) 설정등록료 납부시 포기되었습니다.
    제 38항, 제 39항 또는 제 43항 중 어느 한 항에 있어서,
    상기 프로세서는 상기 서비스 인터페이스에 전달하기 전에, 삽입된 해독된 메시지 섹션들을 가진 페이로드에 각각의 패킷의 상기 헤더들 중 적어도 하나를 부가함으로써 해독 후 각 수신된 패킷의 적어도 부분을 다시 어셈블링하도록 더 구성되는, 클라이언트 단말.
  51. 청구항 51은(는) 설정등록료 납부시 포기되었습니다.
    제 50항에 있어서,
    네트워크를 통해 서버로부터 상기 데이터 패킷들을 수신하기 위한 네트워크 인터페이스 디바이스를 더 포함하고,
    상기 부가된 헤더들은 상기 패킷의 의도된 수신지로서 상기 클라이언트 단말을 식별하는 네트워크 어드레스를 포함하는 헤더를 포함하는, 클라이언트 단말.
  52. 콘텐트를 인코딩하여 메시지들에 배열되는 디지털 데이터를 클라이언트 단말에서 수신 및 처리하기 위한 방법으로서, 각 메시지는 디코더 애플리케이션에 의해 디코딩될 수 있는, 상기 방법에 있어서,
    상기 클라이언트 단말의 인터페이스에 의해 복수의 데이터 패킷들을 수신하는 단계로서, 각 패킷은 적어도 하나의 헤더 및 페이로드를 포함하는, 상기 수신하는 단계와,
    프로토콜 스택 내의 두 개의 레이어들 사이의 적어도 하나의 서비스 인터페이스의 시리즈의 첫 번째 것에 각각의 패킷을 제공하는 단계를 포함하고,
    상기 패킷으로부터 적어도 하나의 패킷 헤더를 제거하고 상기 제거된 패킷 헤더에서 인코딩된 정보를 사용하여 상기 패킷의 나머지를 처리하도록 구성된 각각의 서비스 인터페이스는 상기 패킷의 적어도 하나의 헤더에 포함된 정보를 사용하여, 적어도 하나의 패킷의 상기 페이로드로부터 상기 디코더 애플리케이션에 대한 상기 메시지들을 어셈블링하도록 구성된 서비스 인터페이스를 포함하고
    제 1 섹션 및 적어도 하나의 다른 섹션을 포함하는 패킷 페이로드들이 수신되고, 각 다른 섹션은 인접한 메시지 섹션으로부터 메시지 섹션을 분리하고 명시한 동기화 시퀀스를 포함하는 재동기화 마커를 포함하고, 각 섹션은 상기 재동기화 마커들을 위치시킴으로써 추출되고, 각 암호화된 메시지 섹션은 상기 다른 메시지 섹션들과 독립적으로 해독되고, 각 해독된 메시지 섹션은 섹션이 추출되었던 상기 섹션의 장소에 삽입되는, 디지털 데이터 수신 및 처리 방법.
  53. 청구항 53은(는) 설정등록료 납부시 포기되었습니다.
    제 52항에 있어서,
    상기 메시지 섹션들은 순환 키 값들을 가진 적어도 하나의 키를 사용하여 해독되는, 디지털 데이터 수신 및 처리 방법.
  54. 청구항 54은(는) 설정등록료 납부시 포기되었습니다.
    제 52항 또는 제 53항에 있어서,
    각 재동기화된 마커로부터 고유한 시퀀스 넘버를 검색하는 단계를 더 포함하는, 디지털 데이터 수신 및 처리 방법.
  55. 청구항 55은(는) 설정등록료 납부시 포기되었습니다.
    제 52항 또는 제 53항에 있어서,
    각 암호화된 메시지는 랩퍼에 의해 캡슐화되고, 상기 방법은 각각의 랩퍼로부터 고유한 시퀀스 넘버를 검색하는 단계를 포함하는, 디지털 데이터 수신 및 처리 방법.
  56. 청구항 56은(는) 설정등록료 납부시 포기되었습니다.
    제 54항에 있어서,
    자기 기술 포맷의 고유한 시퀀스 넘버를 분석함으로써 고유한 시퀀스 넘버를 포함한 필드의 길이를 유도하는 단계를 포함하는, 디지털 데이터 수신 및 처리 방법.
  57. 청구항 57은(는) 설정등록료 납부시 포기되었습니다.
    제 53항에 있어서,
    적어도 하나의 키 메시지를 검색하는 단계를 더 포함하고, 각 메시지는 메시지에 부가된 적어도 하나의 고유한 시퀀스 넘버를 상기 메시지의 적어도 부분들의 해독을 가능하게 하는 키 값에 링크하는 데이터를 포함하고, 상기 데이터를 사용하여 상기 키 값들을 선택하는, 디지털 데이터 수신 및 처리 방법.
  58. 청구항 58은(는) 설정등록료 납부시 포기되었습니다.
    제 54항에 있어서,
    피드백을 사용하여 암호화 모드에서 암호를 채용함으로써 메시지 섹션들을 해독하고, 각 메시지 섹션의 선두에서 상기 암호를 다시 초기화하는 단계를 더 포함하는, 디지털 데이터 수신 및 처리 방법.
  59. 청구항 59은(는) 설정등록료 납부시 포기되었습니다.
    제 58항에 있어서,
    상기 다른 메시지 섹션을 해독하기 위해 초기화 벡터로서 또다른 메시지 섹션으로부터 다른 메시지 섹션을 분리하는 재동기화 마커 내의 고유한 시퀀스 넘버를 사용하는 단계를 포함하는, 디지털 데이터 수신 및 처리 방법.
  60. 청구항 60은(는) 설정등록료 납부시 포기되었습니다.
    제 52항, 제 53항 또는 제 57항 중 어느 한 항에 있어서,
    메시지 섹션을 해독하기 위해 블록 암호를 사용하고, 상기 메시지 섹션 크기의 디바이저와 동일한 암호텍스트 블록 크기를 사용하는 단계를 더 포함하는, 디지털 데이터 수신 및 처리 방법.
  61. 청구항 61은(는) 설정등록료 납부시 포기되었습니다.
    제 52항, 제 53항 또는 제 57항 중 어느 한 항에 있어서,
    카운터 모드에서 암호를 채용하고, 메시지 섹션을 해독하기 전에 상기 카운터를 리셋하는 단계를 더 포함하는, 디지털 데이터 수신 및 처리 방법.
  62. 청구항 62은(는) 설정등록료 납부시 포기되었습니다.
    제 54항에 있어서,
    상기 다른 메시지 섹션을 해독하기 위해 카운터로서 또다른 메시지 섹션으로부터 다른 메시지 섹션을 분리하는 재동기화 마커 내의 고유한 시퀀스 넘버를 사용하는 단계를 더 포함하는, 디지털 데이터 수신 및 처리 방법.
  63. 청구항 63은(는) 설정등록료 납부시 포기되었습니다.
    제 61항에 있어서,
    별도의 기본 스트림들에 속하는 메시지들을 수신 및 처리하는 단계를 더 포함하고, 각 스트림은 상기 클라이언트 단말 상에 설치된 디코더 애플리케이션에 대해 의도되고,
    상기 클라이언트 단말 상의 상기 서비스 인터페이스는 별도의 기본 스트림들에 상기 메시지들을 어셈블링하도록 구성되고,
    상기 방법은 각 기본 스트림의 메시지들에 대해 다른 키를 사용하여, 솔팅 키로부터 상기 카운터를 형성하는 단계를 더 포함하는, 디지털 데이터 수신 및 처리 방법.
  64. 청구항 64은(는) 설정등록료 납부시 포기되었습니다.
    제 52항, 제 53항 또는 제 57항 중 어느 한 항에 있어서,
    상기 서비스 인터페이스에 전달하기 전에, 상기 삽입된 해독된 메시지 섹션들을 가진 페이로드에 각각의 패킷의 상기 헤더들의 적어도 하나를 부가함으로써, 해독 후 각 수신된 패킷의 적어도 부분을 다시 어셈블링하는 단계를 포함하는, 디지털 데이터 수신 및 처리 방법.
  65. 청구항 65은(는) 설정등록료 납부시 포기되었습니다.
    제 64항에 있어서,
    상기 데이터 패킷들은 상기 클라이언트 단말의 네트워크 인터페이스 디바이스를 통해 수신되고, 상기 방법은 상기 패킷의 의도된 수신지로서 상기 클라이언트 단말을 식별하는 어드레스를 포함하는 헤더를 부가하는 단계를 포함하는, 디지털 데이터 수신 및 처리 방법.
  66. 컴퓨터에 로딩가능하고, 상기 컴퓨터 상에서 실행할 때, 제 14항, 제 15항 또는 제 19항 중 어느 한 항에 따른 시스템의 기능성(functionality)을 컴퓨터에 제공하는 가능성을 가진 컴퓨터 프로그램이 기록된 컴퓨터-판독가능 기록 매체.
  67. 컴퓨터에 로딩가능하고, 상기 컴퓨터 상에서 실행할 때, 제 1항, 제 2항 또는 제 6항 중 어느 한 항에 따른 방법을 컴퓨터가 실행하게 하는 가능성을 가진 컴퓨터 프로그램이 기록된 컴퓨터-판독가능 기록 매체.
  68. 컴퓨터에 로딩가능하고, 상기 컴퓨터 상에서 실행할 때, 제 13항, 제 32항, 제 33항 또는 제 37항 중 어느 한 항에 따른 서버의 기능성을 컴퓨터에 제공하는 가능성을 가진 컴퓨터 프로그램이 기록된 컴퓨터-판독가능 기록 매체.
  69. 컴퓨터에 로딩가능하고, 상기 컴퓨터 상에서 실행할 때, 제 38항, 제 39항 또는 제 43항 중 어느 한 항에 따른 클라이언트 단말의 기능성을 컴퓨터에 제공하는 가능성을 가진 컴퓨터 프로그램이 기록된 컴퓨터-판독가능 기록 매체.
  70. 컴퓨터에 로딩가능하고, 상기 컴퓨터 상에서 실행할 때, 제 26항, 제 27항 또는 제 31항 중 어느 한 항에 따른 방법을 컴퓨터가 실행하게 하는 가능성을 가진 컴퓨터 프로그램이 기록된 컴퓨터-판독가능 기록 매체.
  71. 컴퓨터에 로딩가능하고, 상기 컴퓨터 상에서 실행할 때, 제 52항, 제 53항 또는 제 57항 중 어느 한 항에 따른 방법을 컴퓨터가 실행하게 하는 가능성을 가진 컴퓨터 프로그램이 기록된 컴퓨터-판독가능 기록 매체.
KR1020047001237A 2001-12-19 2002-12-18 디지털 콘텐트 분배 시스템 KR100927322B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US34271801P 2001-12-19 2001-12-19
US60/342,718 2001-12-19
PCT/EP2002/014828 WO2003052630A2 (en) 2001-12-19 2002-12-18 Digital content distribution system

Publications (2)

Publication Number Publication Date
KR20040068100A KR20040068100A (ko) 2004-07-30
KR100927322B1 true KR100927322B1 (ko) 2009-11-19

Family

ID=23342980

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047001237A KR100927322B1 (ko) 2001-12-19 2002-12-18 디지털 콘텐트 분배 시스템

Country Status (15)

Country Link
US (2) US7433472B2 (ko)
EP (1) EP1456777B1 (ko)
JP (1) JP2005513839A (ko)
KR (1) KR100927322B1 (ko)
CN (1) CN100450177C (ko)
AU (1) AU2002364752C1 (ko)
BR (1) BR0207375A (ko)
CA (1) CA2434863C (ko)
HK (1) HK1066675A1 (ko)
HU (1) HUP0501109A2 (ko)
MX (1) MXPA04006196A (ko)
PL (1) PL370774A1 (ko)
RU (1) RU2308079C2 (ko)
WO (1) WO2003052630A2 (ko)
ZA (1) ZA200306420B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150052840A (ko) * 2012-07-13 2015-05-14 인터디지탈 패튼 홀딩스, 인크 무선 유닛의 사용자를 인증하는 방법들 및 시스템들

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7159039B1 (en) * 2000-02-28 2007-01-02 Verizon Laboratories Inc. Systems and methods for providing in-band and out-band message processing
EP1456777B1 (en) * 2001-12-19 2019-11-20 Irdeto B.V. Digital content distribution system
US7055039B2 (en) * 2003-04-14 2006-05-30 Sony Corporation Protection of digital content using block cipher crytography
WO2005006639A1 (ja) * 2003-07-15 2005-01-20 Sony Corporation 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータ・プログラム
US7552334B2 (en) 2003-09-24 2009-06-23 The Boeing Company System and method for presentation integrity
US20070083659A1 (en) * 2003-12-01 2007-04-12 Matsushita Electric Industrial Co., Ltd. Streaming system
EP1693999A4 (en) * 2003-12-11 2011-09-14 Panasonic Corp PACK STATION DEVICE
US7602908B2 (en) * 2003-12-22 2009-10-13 Aol Llc System and method for using a streaming protocol
KR100542383B1 (ko) * 2004-01-09 2006-01-12 주식회사 바넷정보기술 3-Tier 구조 기반의 데이터베이스 접근 통제 시스템및 방법
US20060036551A1 (en) * 2004-03-26 2006-02-16 Microsoft Corporation Protecting elementary stream content
US20050216752A1 (en) * 2004-03-26 2005-09-29 Microsoft Corporation Common scrambling
US20060184790A1 (en) 2004-03-26 2006-08-17 Microsoft Corporation Protecting elementary stream content
BRPI0513794A (pt) * 2004-07-29 2008-05-13 Vadium Technology Inc técnicas para reforçar criptografia de enchimento de vez única
GB2418565B (en) * 2004-08-18 2006-09-20 Wecomm Ltd Transmitting data over a network
US8145908B1 (en) * 2004-10-29 2012-03-27 Akamai Technologies, Inc. Web content defacement protection system
US7634502B2 (en) * 2005-01-24 2009-12-15 Paul Colton System and method for improved content delivery
US8213768B2 (en) * 2005-03-08 2012-07-03 Panasonic Corporation Packet transmitting apparatus
JP4806204B2 (ja) * 2005-03-30 2011-11-02 株式会社日立国際電気 暗号化データ通信システム
US7620181B2 (en) * 2005-04-20 2009-11-17 Harris Corporation Communications system with minimum error cryptographic resynchronization
US7684566B2 (en) 2005-05-27 2010-03-23 Microsoft Corporation Encryption scheme for streamed multimedia content protected by rights management system
US8321690B2 (en) 2005-08-11 2012-11-27 Microsoft Corporation Protecting digital media of various content types
DE102005040889A1 (de) * 2005-08-29 2007-03-15 Siemens Ag Verfahren und Anordnung zum sicheren Übertragen von Daten in einem ein Mehrsprungverfahren nutzenden Kommunikationssystem
US7743253B2 (en) 2005-11-04 2010-06-22 Microsoft Corporation Digital signature for network coding
JP4482630B2 (ja) 2005-11-21 2010-06-16 インターナショナル・ビジネス・マシーンズ・コーポレーション 通信装置および通信方法
US8978154B2 (en) 2006-02-15 2015-03-10 Samsung Electronics Co., Ltd. Method and apparatus for importing content having plurality of parts
KR100782847B1 (ko) 2006-02-15 2007-12-06 삼성전자주식회사 복수의 컨텐트 부분들을 포함하는 컨텐트를 임포트하는방법 및 장치
KR100846787B1 (ko) 2006-02-15 2008-07-16 삼성전자주식회사 트랜스포트 스트림을 임포트하는 방법 및 장치
KR101310894B1 (ko) * 2006-10-17 2013-09-25 주식회사 넷앤티비 LASeR 서비스에서 다른 SAF 세션의 스트림 참조방법, 기록매체, 장치 및 그 서비스 제공 장치
US20080205635A1 (en) * 2007-02-27 2008-08-28 Glen Alan Jaquette Apparatus, system, and method for self-describing heterogeneous magnetic tape formatting
US8423789B1 (en) 2007-05-22 2013-04-16 Marvell International Ltd. Key generation techniques
US8935718B2 (en) * 2007-05-22 2015-01-13 Apple Inc. Advertising management method and system
US8467526B2 (en) 2008-06-09 2013-06-18 International Business Machines Corporation Key evolution method and system of block ciphering
KR101508794B1 (ko) 2008-07-09 2015-04-06 삼성전자주식회사 Ndef 메시지에서 선택적으로 레코드들을 보안하기 위한 방법
US20100158243A1 (en) * 2008-12-19 2010-06-24 Robert Bosch Gmbh Method of encryption in networked embedded systems
JPWO2011092786A1 (ja) * 2010-01-26 2013-05-30 日本電気株式会社 コンテンツ配信システム、コンテンツ配信方法、アプリケーションサーバシステム、ユーザ端末、及び、記録媒体
CN102860021B (zh) * 2010-04-20 2017-06-20 三星电子株式会社 用于传送和接收媒体数据的接口装置和方法
US8687808B2 (en) 2012-04-10 2014-04-01 Comtech Ef Data Corp. Method and system for self synchronizing cryptographic parameters
US9602557B2 (en) * 2012-10-15 2017-03-21 Wowza Media Systems, LLC Systems and methods of communication using a message header that includes header flags
US9819601B2 (en) 2012-12-27 2017-11-14 Vonage America Inc. Systems and methods of modifying data packets used in IP telephony communications
US9615131B2 (en) * 2013-08-08 2017-04-04 Honeywell International Inc. System and method of motion detection on encrypted or scrambled video data streams
CN103825885A (zh) * 2014-01-23 2014-05-28 广东顺德中山大学卡内基梅隆大学国际联合研究院 一种互联网内容加密发布方法及系统
EP2955629B1 (en) * 2014-06-11 2021-10-27 Home Control Singapore Pte. Ltd. System for installing new firmware on a small-memory device
US20170300349A1 (en) * 2014-09-26 2017-10-19 Hewlett-Packard Development Company Lp Storage of hypervisor messages in network packets generated by virtual machines
EP3054690A1 (en) * 2015-02-05 2016-08-10 Illuminated Rocks Oy System and method for generating instant storyline feed for live sporting event
EP3320447A4 (en) * 2015-07-07 2019-05-22 Private Machines Inc. REMOVABLE, SHARABLE, SECURE REMOTE STORAGE SYSTEM AND METHOD THEREOF
US10432685B2 (en) 2016-05-31 2019-10-01 Brightcove, Inc. Limiting key request rates for streaming media
TWI708508B (zh) * 2019-05-14 2020-10-21 大陸商物聯智慧科技(深圳)有限公司 影音訊號流的加密方法與裝置
CN112714120B (zh) * 2020-12-24 2021-10-29 四川长虹电器股份有限公司 一种链式数据加密、解密方法、加密数据的分离式存储方法
US11997189B2 (en) * 2021-02-26 2024-05-28 International Business Machines Corporation Encrypted communication using counter mode encryption and secret keys
CN113259718B (zh) * 2021-04-27 2023-06-09 深圳市锐明技术股份有限公司 视频流的加密方法、装置、通信设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010012366A1 (en) 1999-12-22 2001-08-09 Van Rijnsoever Bartholomeus Johannes Conditional access system for controlling the access to a data content
EP1143722A1 (en) * 2000-04-07 2001-10-10 Irdeto Access B.V. Data scrambling and descrambling system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5872784A (en) * 1993-10-20 1999-02-16 Lsi Logic Corporation High speed single chip digital video network apparatus
EP0994598B1 (en) * 1998-10-12 2004-12-29 SGS-THOMSON MICROELECTRONICS S.r.l. Cryptography method and station for packet switching networks based on digital chaotic models
JP3816689B2 (ja) 1999-03-31 2006-08-30 株式会社東芝 情報配信装置、情報受信装置及び通信方法
US6948186B1 (en) * 1999-10-07 2005-09-20 General Instrument Corporation Multi-tasking message extractor
US7895616B2 (en) * 2001-06-06 2011-02-22 Sony Corporation Reconstitution of program streams split across multiple packet identifiers
EP1456777B1 (en) * 2001-12-19 2019-11-20 Irdeto B.V. Digital content distribution system
US7116894B1 (en) * 2002-05-24 2006-10-03 Digeo, Inc. System and method for digital multimedia stream conversion

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010012366A1 (en) 1999-12-22 2001-08-09 Van Rijnsoever Bartholomeus Johannes Conditional access system for controlling the access to a data content
EP1143722A1 (en) * 2000-04-07 2001-10-10 Irdeto Access B.V. Data scrambling and descrambling system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150052840A (ko) * 2012-07-13 2015-05-14 인터디지탈 패튼 홀딩스, 인크 무선 유닛의 사용자를 인증하는 방법들 및 시스템들
KR101670973B1 (ko) 2012-07-13 2016-11-01 인터디지탈 패튼 홀딩스, 인크 무선 유닛의 사용자를 인증하는 방법들 및 시스템들
US9503438B2 (en) 2012-07-13 2016-11-22 Interdigital Patent Holdings, Inc. Characteristics of security associations
US10038692B2 (en) 2012-07-13 2018-07-31 Interdigital Patent Holdings, Inc. Characteristics of security associations

Also Published As

Publication number Publication date
KR20040068100A (ko) 2004-07-30
CA2434863C (en) 2013-04-02
US7433472B2 (en) 2008-10-07
RU2004100277A (ru) 2005-03-27
CN100450177C (zh) 2009-01-07
HUP0501109A2 (en) 2006-03-28
AU2002364752B2 (en) 2009-06-04
CN1524381A (zh) 2004-08-25
JP2005513839A (ja) 2005-05-12
WO2003052630A2 (en) 2003-06-26
CA2434863A1 (en) 2003-06-26
BR0207375A (pt) 2004-06-15
US8135949B2 (en) 2012-03-13
AU2002364752A1 (en) 2003-06-30
MXPA04006196A (es) 2004-10-15
HK1066675A1 (en) 2005-03-24
PL370774A1 (en) 2005-05-30
AU2002364752C1 (en) 2010-05-13
EP1456777B1 (en) 2019-11-20
US20100027795A1 (en) 2010-02-04
WO2003052630A3 (en) 2003-11-20
RU2308079C2 (ru) 2007-10-10
US20040139336A1 (en) 2004-07-15
ZA200306420B (en) 2004-10-04
EP1456777A2 (en) 2004-09-15

Similar Documents

Publication Publication Date Title
KR100927322B1 (ko) 디지털 콘텐트 분배 시스템
US7356147B2 (en) Method, system and program product for attaching a title key to encrypted content for synchronized transmission to a recipient
US20060036551A1 (en) Protecting elementary stream content
US20060184790A1 (en) Protecting elementary stream content
US7746853B2 (en) Method and apparatus for transporting broadcast video over a packet network including providing conditional access
JP2007518294A (ja) 動画ファイルの暗号化方法及びそれを利用したデジタル著作権の管理方法
KR20060002787A (ko) 컨텐츠 처리 방법, 장치 및 제품
US9031227B2 (en) Pattern-free encryption
EP3360331B1 (en) Mpeg transport frame synchronization
KR100930036B1 (ko) 암호화된 프레임의 다음 패킷 내의 중복된 스트림 암호 정보
US20050047449A1 (en) Individual video encryption system and method
EP1499062B1 (en) Individual video encryption system and method
Encryption INTERNET STREAMING MEDIA ALLIANCE

Legal Events

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

Payment date: 20121026

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131030

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141022

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151020

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161021

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee