KR100932185B1 - 서명화 및 인증 장치 및 방법과, 그러한 방법을 수행하는 컴퓨터 프로그램 제품 및 디지털 스트림을 저장한 저장 매체 - Google Patents

서명화 및 인증 장치 및 방법과, 그러한 방법을 수행하는 컴퓨터 프로그램 제품 및 디지털 스트림을 저장한 저장 매체 Download PDF

Info

Publication number
KR100932185B1
KR100932185B1 KR1020047018633A KR20047018633A KR100932185B1 KR 100932185 B1 KR100932185 B1 KR 100932185B1 KR 1020047018633 A KR1020047018633 A KR 1020047018633A KR 20047018633 A KR20047018633 A KR 20047018633A KR 100932185 B1 KR100932185 B1 KR 100932185B1
Authority
KR
South Korea
Prior art keywords
descriptor
digital stream
authenticated
signing
signature
Prior art date
Application number
KR1020047018633A
Other languages
English (en)
Other versions
KR20050010817A (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
Priority claimed from PCT/EP2002/005610 external-priority patent/WO2002096016A2/en
Application filed by 톰슨 라이센싱 filed Critical 톰슨 라이센싱
Publication of KR20050010817A publication Critical patent/KR20050010817A/ko
Application granted granted Critical
Publication of KR100932185B1 publication Critical patent/KR100932185B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • 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
    • H04L63/0457Network 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 wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • 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/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
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests

Landscapes

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

Abstract

본 발명은 디지털 스트림(10)에 서명화하는 장치(11) 및 방법에 관한 것으로, 상기 디지털 스트림 각각은 오디오 영상 정보에 관련된 콘텐트와, 신호를 포함한다. 상기 장치는 암호화를 인증된 설명자라 불리는 신호의 선택적으로 결정된 설명자에 적용하여, 서명을 얻는다. 본 발명은 또한 해당 인증 장치(21) 및 방법에 관한 것이다. 본 발명은 특히 MHP에 대해 DVB/MPEG 디지털 스트림의 인증에 적용된다.

Description

서명화 및 인증 장치 및 방법과, 그러한 방법을 수행하는 컴퓨터 프로그램 제품 및 디지털 스트림을 저장한 저장 매체{SIGNING AND AUTHENTICATION DEVICES AND PROCESSES, AND STORAGE MEDIUM STORED THEREON COMPUTER PROGRAM PRODUCT EXECUTING SUCH PROCESSES AND DIGITAL STREAM}
본 발명은, 특히 DVB(Digital Video Broadcasting: 디지털 비디오 방송)/MPEG(Moving Picture Experts Group: 동화상 전문가 그룹) 디지털 스트림, 및 MHP(Multimedia Home Platform: 멀티미디어 가정용 플랫폼) 표준에 대한 서명(signing) 및 인증 장치 및 프로세스 및 연관된 제품에 관한 것이다.
따라서, 본 발명은 특히 디지털 텔레비전 분야에 관한 것이다. 디지털 텔레비전 환경은 오디오 영상 콘텐트(일반적으로 MPEG 오디오/비디오), 대화형 콘텐트, 트리거(trigger), 프로그램 특정 정보(송신된 프로그램에 대한 특정 정보, 간략하게 "PSI"), 서비스 정보{수신기로 하여금 자동적으로 구성하도록 하고, 사용자로 하여금 EPG(Electronic Program Guide: 전자 프로그램 가이드)에 의한 서비스에서 브라우징하도록 하는 상보 정보, 요약하면 "SI"}, 개인 데이터, 신호(signaling) 등과 같은 상이한 종류의 데이터의 방송 또는 스트리밍을 포함한다. 콘텐트(즉 PSI, SI, 및 몇몇 개인 데이터)의 기원(origin), 목적지 및 구조에 관련된 정보는 일반적으로 신호에 통합된다.
이러한 다양한 데이터는 일반적으로 MPEG-2 전송 스트림에 걸쳐 분배되는데, 상기 스트림은 PES(Packetized Elementary Streams: 패킷화된 기본 스트림)에서 전송된 오디오 영상 스트림으로 구성되고, MPEG-2 섹션에서 전송된 다른 정보(신호, PSI, SI, 대화형 콘텐트...)로 구성된다. 몇몇 디지털 방송 네트워크 및 광역 네트워크는 속임수(spoofing)에 다소 약점이 있다. 기술적으로 잘 갖춘 표절자(pirate)는 데이터를 가로채고, 이 데이터를 변형시켜, 이러한 데이터를 네트워크에서 재-방송(또는 재-스트림)할 수 있다. 지상 및 마이크로파 방송 네트워크는 위성 또는 케이블 네트워크보다 더 취약하다. 따라서 문제는 MPEG-2 네트워크에 걸쳐 디지털 데이터 송신을 안전하게 하는 것이다.
사실상, 오디오 영상 콘텐트, PSI 및 SI와 같은 기술된 몇몇 데이터 항목은 순수한 방송 콘텐트이므로, 그 침해를 사용자는 귀찮아 할 수 있지만, 적어도 사용자에게 재정적인 영향을 주지 않는다. 그러나, 복귀 채널을 갖는 대화형 단말기는 t-교역(텔레비전 교역) 또는 홈 뱅킹 애플리케이션을 실행할 수 있다. 이 때, 그러한 애플리케이션의 스푸핑은 사용자가 귀찮아 할 뿐 아니라, 또한 사용자에게 많은 돈을 잃어버리게 할 수 있다.
이러한 데이터 콘텐트의 인증은 이미 잘 알려져 있다. 특히, 특허공보, WO-99/49614는 디지털 스트림 형태로 전달된 데이터의 인증 방법을 기술하며, 여기서, 데이터는 적어도 하나의 루트 디렉토리 유닛과, 하위디렉토리 유닛과, 파일 유닛으로 된 계층 구조(hierarchy)로 구성된다. 파일 내의 데이터는 서명이 이뤄지며, 관련 파일 인증 값은 참조된 하위디렉토리 유닛에 저장된다. 이러한 파일 인증 값은 다시 서명이 이뤄지며, 관련 하위디렉토리 인증 값이 참조된 루트 디렉토리에 저장된다. 본 개시의 다른 양상은 제 2 인증 값의 생성에 의해 제 2 루트 디렉토리의 인증에 관한 것이며, 전송 스트림의 테이블이나 섹션 형태의 캡슐화 이전의 데이터 인증에 관한 것이다.
또한, 특허공보, WO-99/62248는 대화형 텔레비전 애플리케이션의 모듈을 관리하기 위해, 대화형 텔레비전 시스템에 구현된 방법을 개시한다. 이러한 시스템은 모듈을 방송국으로부터 복수의 수신국에 송신하며, 수신국은 모듈 관리자를 가지며, 이러한 모듈 관리자는 모듈 요청을 저장하며, 이러한 요청에 대응하는 모듈에 대한 여러 채널을 모니터링한다. 상세한 실시예에서, 송신될 애플리케이션은 일련의 모듈로 구성되며, 이들 모듈 중 하나는 디렉토리 모듈이다. 이러한 모듈은 애플리케이션에서 모듈 각각에 대한 엔트리(entry)를 포함하며, 수신국이 애플리케이션의 모든 모듈에 액세스하기에 충분한 정보를 포함한다. 나아가, 인증 메커니즘은 현재 다운로드받은 캐로셀(carousel) 및/또는 모듈이 진짜임을 보장하기 위해 수신국에 적용될 수 있다.
더욱이, DVB 멀티미디어 가정용 플랫폼과 같은 대화형 시스템은 방송 애플리케이션을 인증하는 방법을 규정하고, 복귀 채널에 걸쳐 전송된 데이터 콘텐트를 보호하는 방법을 규정한다. 그러나, 부정 행위는 여전히 가능한 상태로 남아있는데, 그 이유는, 어떠한 명백한 불일치 없이 콘텐트를 취소, 대체 또는 추가하도록 적절한 방식으로 신호를 변경할 수 있기 때문이다. 그 때, 특히 ATVEF(Advanced Television Enhancement Forum: 차세대 텔레비전 개선 포럼) 표준에 따라 구성된 스트림에 대해 이루어지는 것과 같이, 콘텐트 뿐 아니라 신호 자체의 인증을 제공하는 것이 매력적일 수 있다.
그러나, 그러한 방법은 DVB 디지털 스트림에 대해 특정한 어려움을 야기하는데, 그 이유는 스트림이 네트워크 헤드-엔드(head-end)에서 공통적으로 재-멀티플렉싱되기 때문이다. 그 다음에, PMT(Program Map Table: 프로그램 맵 테이블, 특히 프로그램에 관련된 개인 정보 외에도 상기 프로그램을 구성하는 PES의 PID를 나타내는 프로그램당 하나의 테이블)와 같은 테이블의 PID(Packet IDentifier: 패킷 식별자) 또는 심지어 콘텐트는 네트워크 요구조건으로 인해 변형될 위험을 갖는다. 이것은, 적절한 서명을 계산하기 위해 개인 키를 각 멀티플렉서에 제공하는 것을 수반하는, 모든 해시(hash) 코드 및 서명을 다시 계산하는 것을 의미한다. 이제, 공인된 키 쌍을 각 멀티플렉서에 제공하는데 드는 비용은 커진다. 이러한 상황은 당업자가 그러한 신호 인증 방법을 개발하는 것을 방해한다.
본 발명은, 특히 MHP 애플리케이션에 대해 DVB 디지털 스트림 인증에 적응되고 통신을 더욱 더 안전하게 하는, 통신 네트워크를 통해 송신되고자 하는 디지털 스트림을 서명하는 장치에 관한 것이다.
본 발명은, 또한 대응하는 프로세스 뿐 아니라 장치, 및 연관된 디코더, 및 통신 네트워크를 통해 수신된 디지털 스트림을 인증하기 위한 프로세스, 및 대응하는 소프트웨어 및 디지털 스트림에 관한 것이다.
따라서, 본 발명은, 디지털 스트림에 병합될 적어도 하나의 서명을 발생시킴으로써, 통신 네트워크를 통해 송신되고자 하는 디지털 스트림으로서, 디지털 스트림에 적용된 암호화로부터 얻어진 디지털 스트림을 서명하는 장치에 적용된다. 이러한 디지털 스트림 각각은 수 개의 정보 실체(entity)를 포함하며, 이러한 실체는,
- 적어도 오디오 영상 정보에 관련된 콘텐트와,
- 콘텐트의 기원, 목적지 및 구조에 관련된 정보 세트로 이루어진 적어도 하나의 신호로서, 네트워크 요구조건으로 인해 네트워크에서 변형될 것 같고, 설명어라 불리는 본질적인 데이터 구조를 포함하고, 테이블이라 불리는 배열된 그룹화(grouping)에 의해 주로 구성되는, 적어도 하나의 신호를 포함한다.
본 발명에 따라, 서명 장치는 암호화를 적어도 신호에 적용하고자 하고, 더 구체적으로 상기 신호의 설명자 중에서 인증된 설명자라 불리는 선택적으로 결정된 설명자에 적용하고자 한다.
따라서, 신호가 서명된 경우, 즉 섹션(한정된 크기를 갖는, 신호의 서브-테이블임)을 완성시키도록 인증 프로세스를 적용하기 위해 본래 해결책인 것과 대조하여, 신호의 특정 설명자가 인증을 위해 선택된다. 이러한 놀랄만한 해결책의 직접적인 장점은, 서명이 재-멀티플렉싱 단계에 의해 본래 상태로 남아있는 설명자를 선택할 수 있게 한다는 것이다. 따라서, 고의의 변형에 대한 보호는 실제로 매우 효과적으로 이루어지는 한편, 네트워크 헤드-엔드에서의 재-멀티플렉싱으로 인해 인증 프로세스에서의 높은 복잡도를 피할 수 있다.
또한, 서명화가 재-멀티플렉싱 동안 변형되고자 하는 몇몇 설명자를 유지시키도록 결정될 때조차, 완전한 섹션이 다시 서명되어야 하는 경우 재-멀티플렉싱 기기에서 변형된 설명자를 고려하여 갱신된 서명을 생성하는 것보다 더 가볍고 더 빠를 수 있다. 더욱이, 변형된 설명자의 현명한 선택을 통해, 서명화를 위해 송출 레벨에서 얻어진 대부분의 정보는, 특히 해싱(hashing)으로부터 야기된 변하지 않는 다이제스트(digest) 값의 형태로 가능하게 유지될 수 있고, 서명화 정보의 작은 부분만이 서명화를 위해 다시 계산되어야 한다.
"오디오 영상 정보"에 의해, 이것은 오디오 및/또는 영상 정보를 의미한다.
바람직하게, 디지털 스트림은 DVB 및 MPEG 표준에 따라, 더 구체적으로 MHP 표준에 따라 구성된다.
본 발명의 서명화 장치는, 특히 PSI 테이블: PMT, PAT(다수의 프로그램과 PMT 전송 패킷의 PID 사이의 링크를 각 송신된 프로그램에 대해 나타내는, 프로그램 액세스 테이블), CAT{조건부 액세스를 갖는 적어도 하나의 프로그램의 경우에, EMM(Entitlement Management Message)을 운반하는 PES의 PID를 제공하는 조건부 액세스 테이블}에 대해, 및 DVB-SI 테이블: NIT(Network Information Table: 네트워크 정보 테이블), TOT(Time Offset Table: 시간 오프셋 테이블), AIT(Application Information Table: 애플리케이션 정보 테이블), BAT(Bouquet Association Table: 부케 연관 테이블)에 대해서와 같이 임의의 MPEG/DVB 테이블의 인증에 적용될 수 있다. 서명화 장치는 또한 MPEG2 시스템(ISO/IEC 13818-1) 섹션 구문에 기초한 임의의 MPEG/DVB 개인 테이블에 적용될 수 있다.
서명화 장치는 사용자로 하여금 인증된 설명자를 선택하도록 하기 위한 수단을 유리하게 포함한다. 상기 사용자는 예를 들어 방송 팀의 멤버이다. 그 다음에, 선택된 설명자의 식별자 중 어느 하나는 스트림에 병합되어, 수신기는 그러한 스트림을 수신하거나, 송신기와 수신기 사이에서 이전에 동의되었던 사용된 설명자를 통고받는다. 다른 해결책은, 선택된 설명자가 예를 들어 특정 표준 버전으로 더 조직적으로 결정된다는 것이다.
바람직하게, 서명화 장치는,
- 디지털 스트림에서 적어도 하나의 가장 낮은 레벨 서명 설명자에서 서명을 도입하고,
- 상기 서명 상의 증명 데이터를 포함하는 적어도 하나의 증명 설명자와,
- 암호화를 가장 낮은 레벨 서명 설명자의 콘텐트 및 증명 설명자 모두에 적용하는 것으로부터 야기되는 적어도 하나의 더 높은 레벨의 서명 설명자를
디지털 스트림에 추가로 병합하도록 의도된다.
이것은 방송자 및 제조자와 같은 다양한 참여자 사이에 상호 이용성(interoperability)을 안전하고 융통성있게 보장하는데 매우 흥미가 있다.
실제로, 이것은 수 개의 레벨이 제공되자마자, 공용 키 인프라구조(PKI)를 초래할 수 있다. 그 다음에, 루트 증명 권한 뿐 아니라 선택적으로 다른 증명 권한도 확립된다(가장 높은 레벨 서명에 대해).
바람직하게, 서명화 장치는 인증된 설명자의 어드레스를 디지털 스트림에 병합하기 위한 수단을 포함한다. 이것은 서명화를 위해 사용된 설명자를 수신기가 인식하도록 하는 효과적인 방식이다.
그 다음에, 병합 수단이 각 디지털 스트림에 적어도 하나의 해시 설명자를 도입하고자 하는 것이 유리하다. 해시 설명자는, 해시 알고리즘을 인증된 설명자의 적어도 하나에 적용하는 것으로부터 야기되고 서명을 계산하는데 사용된 적어도 하나의 다이제스트 값을 포함한다. 해시 설명자는 상기 다이제스트 값을 계산하는데 사용된 인증된 설명자의 어드레스를 또한 포함한다. 그러한 개선점은 인증 효율을 향상시키는데, 이는 서명을 계산하여, 이에 따라 그 확실성(authenticity)을 체크하기 위해 중재(intermediary) 결과를 송신하는 것에 좌우된다.
더 구체적으로, 병합 수단은 트리 구조에 따라 디지털 스트림에 해시 설명자를 배열하고자 하는 것이 바람직하고, 상기 해시 설명자의 적어도 하나는 하부 레벨을 갖는 해시 설명자 중 적어도 다른 하나로부터 계산된다. 다이제스트 값의 함유된(nested) 계산은 서명이 마지막으로 얻어지는 기본 값(즉, 루트 다이제스트 값)을 점진적으로 계산하도록 하는 한편, 다양한 인증된 설명자에 대한 모든 필요한 정보를 고려하는 것을 보장한다.
다이제스트 값은 일반적으로 기존의 해시 알고리즘에서 이루어진 대로 고정된 크기를 갖는 것이 바람직하다.
또한 병합 수단을 갖는 다음 실시예가 바람직하며, 각 테이블은 한정된 크기를 갖는 적어도 하나의 섹션을 포함하고, 번호가 할당되고, 각 섹션은 상기 섹션에서 연속적으로 설명자를 도입하는 적어도 하나의 루프를 포함한다. 그러한 병합 수단은, 적어도
- 섹션 번호
- 발생 번호를
언급함으로써, 주어진 섹션의 적어도 하나의 주어진 루프에 속하고 각 루프에 대해 각각 적어도 하나의 발생 번호를 갖는 각 인증된 설명자의 어드레스를 명시하고자 하는 것이 유리하다.
이러한 방식으로, 인증을 위해 사용된 설명자의 실체를 효과적으로 간단한 방식으로 식별할 수 있다.
어드레싱을 위한 다른 가능한 송신된 정보는
- 상기 섹션의 버전 번호와,
- 및/또는 상기 섹션의 유형을 포함한다.
병합 수단에 대한 특수한 달성에서, 서명화 장치는 개인 데이터의 형태로 서명, 및 가능하면 다이제스트 값과 증명 데이터 중 적어도 하나를 적어도 하나의 특정 섹션에 도입하고자 하는 것이 유리하며, 그러한 특정 섹션은 인증된 설명자를 포함하는 섹션에 링크된다. 이러한 달성은 적어도 몇몇 인증 정보를 다른 서명화 데이터로부터 분리시키게 한다.
따라서, 바람직한 실시예에서, 특정 섹션은, 유리하게는 서명 및 인증 설명자의 형태로 서명(들) 및 인증 데이터뿐 아니라 루트 다이제스트 값을 제공하고 다른 섹션에서 하부 레벨 다이제스트 값을 나타내는 루트 해시 설명자를 포함하고자 한다. 이것은 매우 유리할 수 있는데, 그 이유는, DVB/MPEG-2의 서명이 섹션의 전체 나머지 부분에 유효한 설명자를 섹션의 시작부에 위치시키도록 하지 않기 때문이다. 즉, 모든 설명자는 루프의 어디엔가 존재하고, 이것은 상부 레벨 설명자가 섹션에 직접 송신될 수 없기 때문이다.
특정 섹션에 대한 다른 실시예에서, 서명(들) 및 증명 데이터 및 루트 해시 설명자는 특정 섹션에 위치할 뿐 아니라, 모든 다른 해시 설명자(예를 들어 상기 섹션의 상부 레벨에서)도 위치할 수 있다. 이것은 DVB/MPEG-2에 대해 가능한데, 그 이유는 어드레싱 메커니즘이 테이블에서 설명자를 직접 어드레싱할 수 있도록 하기 때문이다.
본 발명은 또한 본 발명에 따라 서명화 장치의 임의의 실시예에 의해 수행되도록 하는 것이 바람직한 상기 장치에 대응하는 프로세스에 관한 것이다.
본 발명의 다른 목적은, 디지털 스트림에 병합된 적어도 하나의 서명을 체크함으로써 통신 네트워크를 통해 수신된 디지털 스트림을 인증하기 위한 장치이다. 이러한 디지털 스트림 각각은 수 개의 정보 실체를 포함하며, 상기 실체는,
- 적어도 오디오 영상 정보에 관련된 콘텐트와,
- 콘텐트의 기원, 목적지 및 구조에 관련된 정보 세트로 이루어진 적어도 하나의 신호로서, 네트워크 요구조건으로 인해 네트워크에서 변형될 것 같고, 상기 신호는 설명자라 불리는 본질적으로 데이터 구조를 포함하고, 주로 테이블이라 불리는 배열된 그룹화에 의해 구성되는, 적어도 하나의 신호를 포함한다.
본 발명에 따라, 인증 장치는 적어도 상기 신호에 인증을 적용하고자 하고, 더 구체적으로 서명이 계산되는, 상기 신호의 설명자 중에서 인증된 설명자라 불리는 선택적으로 결정된 설명자에 적용하고자 한다.
인증 장치는 바람직하게 본 발명에 따라 서명화 장치에 의해 발생된 서명을 포함하는 디지털 스트림에 적용되고자 한다.
본 발명은 또한 디코더에 관한 것이며, 본 발명에 따른 인증 장치를 포함하는 것을 특징으로 한다.
본 발명의 다른 목적은 본 발명의 인증 장치에 대응하는 인증 프로세스이며, 이것은 바람직하게 본 발명의 인증 장치에 의해 수행되고자 한다.
본 발명은, 또한 프로그램이 컴퓨터 상에서 수행될 때 본 발명의 서명화 단계 및 본 발명의 인증 프로세스를 수행하기 위한 프로그램 코드 지령을 포함하는 컴퓨터 프로그램 제품에 관한 것이다.
"컴퓨터 프로그램 제품"이라는 용어는 컴퓨터 프로그램의 임의의 구현을 수반하는 것으로 이해되어야 하고, 이것은 저장 지원부(카세트, 디스크 ..) 뿐 아니라 신호(전기, 광...)에 관한 것일 수 있다.
본 발명은 수 개의 정보 실체를 포함하는 디지털 스트림에 추가로 적용되며, 이러한 실체는,
- 적어도 오디오 영상 정보에 관련된 콘텐트와,
- 그러한 콘텐트의 기원, 목적지 및 구조에 관련된 정보 세트로 이루어진 적어도 하나의 신호로서, 상기 신호는 네트워크 요구조건으로 인해 네트워크에서 변형될 것 같고, 설명자라 불리는 본질적으로 데이터 구조를 포함하고, 테이블이라 불리는 배열된 그룹화에 의해 주로 구성되는, 적어도 하나의 신호와,
- 디지털 스트림에 병합되는 적어도 하나의 서명을 포함한다.
본 발명에 따라, 상기 서명은 신호로부터 계산되고, 더 구체적으로, 신호의 설명자 중에서 인증된 설명자라 불리는 선택적으로 결정된 설명자로부터 계산된다.
상기 디지털 스트림은 청구된 서명 장치의 임의의 실시예에 의해 발생되는 것이 바람직하다.
본 발명은 첨부된 도면을 참조하여 한정되지 않은 방식으로 다음 실시예에 의해 더 잘 설명되고 예시될 것이다.
도 1은 본 발명에 따라 서명화 장치 및 대응하는 인증 장치를 도시한 도면.
도 2는 오디오 영상 및 개인 데이터 스트림을 포함하는 DVB/MPEG-2 기본 스트림과, 연관된 테이블(PAT, PMT 및 AIT)과, 테이블과 스트림 사이의 링크를 도시하는 도면.
도 3은 기본 스트림 및 애플리케이션 정보와 애플리케이션 스트림에 관련하여 도 2의 테이블(PMT 및 AIT) 중 일부를 도시한 도면.
디지털 스트림(10)의 송출기(1)는 그러한 스트림(10)을 네트워크(5)를 통해 디코딩 능력을 포함하는 수신기(2)로 송신한다(도 1). 송출기(1)는 일반적으로 스트림(10)을 방송하고자 하고, 네트워크(5)는 특히 케이블 네트워크 또는 위성 네트워크와 같은 예를 들어 광대역 또는 방송 네트워크이다. 다른 실시예에서, 네트워크(5)는 인터넷으로 구성된다. 예시의 경우에, 디지털 스트림(10)은 DVB/MPEG-2 스트림에 의해 구성되며, 상기 DVB/MPEG-2 스트림은 이에 따라 콘텐트 및 콘텐트에 관련된 신호 데이터를 포함한다. 신호는 주로 테이블에 의해 구성되고, 설명자를 포함한다. 스트림(10)은 MHP 표준에 좌우될 수 있다.
송출기(1)는 송신될 디지털 스트림(10)에 서명하는 서명화 장치(11)와, 특히 예를 들어 방송자와 같은 송신자로 하여금 서명화 프로세스를 제어하도록 하는 사용자 인터페이스(15)를 포함한다. 서명화 장치(11)는 신호 및 콘텐트를 서명화하고자 한다. 상기 서명화 장치(11)는, 사용자가 사용자 인터페이스(15)를 통해 인증을 신호하는데 사용될 신호의 몇몇 설명자(인증 설명자라 불림)를 선택하도록 하는 선택 모듈(12)을 포함한다. 따라서, 암호화는 관련된 서명(들)을 얻기 위해 상기 설명자에 적용된다. 서명화 장치(11)는 또한 송신된 디지털 스트림(10)에서 인증된 설명자의 어드레스를 병합할 수 있는 병합 모듈(13)을 포함한다.
수신기에 관한 한, 수신기(2) 각각은 수신된 서명을 체크할 수 있는 인증 장치(21), 특히 인증을 신호하기 위한 인증 장치를 포함한다. 인증 장치(21)는 인증을 위해 스트림(10)에 나타난 인증된 설명자를 고려할 수 있다.
특히 흥미 있는 예가 이제 설명될 것이다. 디지털 텔레비전 서비스(대화형 또는 대화형이 아닌)를 신호하기 위한 중요한 입력 포인트는 MPEG-2 시스템 표준(ISO/IEC 13818-1)에 규정된 PMT(프로그램 맵 테이블)이다. 대화형 MHP 애플리케이션의 신호의 경우에, PMT는 도 2 및 도 3에 도시된 바와 같이 AIT(Application Information Table: 애플리케이션 정보 테이블)를 전송하는 스트림의 위치, 및 애플리케이션 코드 및 데이터{ISO/IEC 13818-6 국제 표준, DSM-CC DSI 메시지에 대한 포인터, 여기서 DSM-CC는 디지털 저장 매체-명령 & 제어 표준(Digital Storage Media-Command & Control standard)을 나타내고, DSI는 "DownloadServerInitiate"를 나타냄}를 전송하는 스트림의 위치를 포함한다. 아래의 기술적 성과는 대화형 MHP 애플리케이션을 위한 신호 데이터를 보호하도록 하여, 디코딩 플랫폼은 전송 네트워크를 통해 변형되었는지를 체크할 수 있다. 더욱이, MPEG-2 시스템 표준은 PMT의 스크램블링을 방지하여, 여기서 어떠한 스크램블링도 고려되지 않는다.
신호의 보호는 해시 코드, 서명 및 증명에 기초한다. 이러한 암호 메시지의 코딩은 전술한 객체를 각각 포함하는 3개의 새로운 설명자의 규정에 의해 이루어진다:
- hash_descriptor
- signature_descriptor
- certificate_descriptor.
hash_descriptor 필드는 여기서 개별적으로 인증될 각 섹션에 대해 독립적으로 도입되고, 테이블의 주어진 섹션이 수 개의 섹션 또는 하나의 섹션만으로 형성되는지 상관없이 아래의 테이블의 주어진 섹션을 고려해보자. 다른 한 편으로, signature_descriptor 필드는 테이블의 모든 hash_descriptor 필드에 적용되고, certificate_descriptor 필드는 상기 테이블에서 모든 signature_descriptor 필드 를 고려한다.
hash_descriptor의 규정:
hash_descriptor는 AIT 또는 PMT의 루프(또는 인증될 임의의 다른 MPEG-2 테이블)에 위치할 수 있다. 더 구체적으로, hash-descriptor는 인증될 설명자를 포함하는 각 설명자 루프에 위치한다.
루프에서의 위치는 문제가 되지 않는데, 그 이유는 hash_descriptor가 각 설명자에 고유하게 어드레싱할 수 있는 descriptor_address 필드를 포함하기 때문이다.
hash_descriptor는 또한 다이제스트 값이라 불리는 해시 코드를 포함하며, 상기 해시 코드는 descriptor_address가 지시하는 설명자에 대해 계산된다. AIT 또는 PMT의 경우에, 상기 hash_descriptor는 hash_descriptor와 동일한 루프에서 후속하는 설명자만을 포함한다. 지시된 설명자 자체는 순환형(recursive-like) 계산 프로세스를 가능하게 하는 hash_descriptor 필드로 구성될 수 있다.
hash_descriptor의 구문은 다음과 같다:
hash_descriptor(){
descriptor_tag 8 uimsbf
descriptor_length 8 uimsbf
digest_count 16 uimsbf
for(i=0; i<digest_count;i++){
digest_type 8 uimsbf
descriptor_count 8 uimsbf
for(j=0;j<descriptor_count;j++){
descriptor_address 40 uimsbf
}
for(j=0;j<digest_length;j++){
digest_byte 8 bslbf
}
}
}
여기서 "uimsbf" 및 "bslbf"는 각각 "부호 없는 정수의 첫 번째 최상위 비트(unsigned integer most significant bit first)" 및 "좌측의 첫 번째 비트 스트링(bit string left bit first)"를 나타낸다.
descriptor_tag: hash_descriptor의 라벨링.
descriptor_length: hash_descriptor의 길이.
digest_count: 이러한 16비트 값은 이러한 해시 설명자에서의 다이제스트 값의 수를 식별한다.
digest_type: 이러한 8비트 값은 만약 있다면 연관된 설명자에 사용된 다이제스트 알고리즘을 식별한다. 허용된 값은 표 1에 주어지며, 여기서 MD-5(MD: Message Digest)는 RFC 1321(RFC: Request For Comment; http://www.ietf.org/rfc/rfc1321.txt)에 정의되고, SHA-1(SHA: Secure Hash Algorithm)은 FIPS-180-1(FIPS 간행물 180-1: 보안 해시 표준, 미국 국립 표준 및 기술 연구소, 1994; http://www.itl.nist.gov/fipspubs/fip180-1.htm)에 정의되어 있다.
다이제스트 알고리즘에 대한 허용된 값
다이제스트 길이 알고리즘
0 0 인증되지 않음
1 16 MD-5
2 20 SHA-1
기타 예비됨
descriptor_count: 이러한 16비트 값은 다이제스트 값과 연관된 설명자의 수를 식별한다. 이 필드의 값은 0보다 클 수 있다.
descriptor_address: 이것은 섹션에서 설명자의 일반적인 어드레스이고, 나중에 설명되고 상술된다.
digest_length: 이러한 정수 값은 각 다이제스트 값에서 바이트의 수를 제공한다. 상기 정수 값은 표 1에 표시된 다이제스트 유형에 따른다.
digest_byte: 이러한 8비트 값은 다이제스트 값의 1바이트를 유지한다.
signature_descriptor의 규격
이 설명자의 구문은 다음과 같다:
signature_descriptor(){
descriptor_tag 8 uimsbf
descriptor_length 8 uimsbf
signature_id 8 uimsbf
signature_length 8 uimsbf
for(i=0;i<N;i++){
signature specific data
}
}
descriptor_tag: signature_descriptor의 라벨링.
descriptor_length: signature_descriptor의 길이.
signature_id: 이러한 ID(IDentifier)는 하나를 초과하는 권한으로부터 서명을 받을 수 있게 한다.
signature_length: 후속하는 루프의 길이를 나타냄.
필드 "signature specific data"는 BER(Basic Encoding Rules: 기본 인코딩 법칙)와 DER(Distinguished Encoding Rules: 구별된 인코딩 법칙)의 조합인 다음의 ASN.1 구조("Abstract Syntax Notation one" 언어)를 포함한다:
Signature::=SEQUENCE{
cetificateIdentifier AuthorityKeyIdentifier,
hashSignatureAlgorithm HashAlgorithmIdentifier,
signatureValue BIT STRING}
certificateIdentifier: AuthorityKeyIdentifier 필드에 관련된 ITU-T X.509 확장부(국제 원격 통신 연합- 원격 통신 표준화 섹션, 권고 X.509: 디렉토리 인증 구조, 1997)에 정의됨. 이것은 서명을 체크하는데 사용되는 증명된 공용 키를 운반 하는 증명서를 식별한다:
AuthorityKeyIdentifier::=SEQUENCE{
KeyIdentifier [0] KeyIdentifier OPTIONAL,
authorityCertIssuer [1] GeneralNames OPTIONAL,
authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL}
AuthorityKeyIdentifier의 가능하한 현재 키 식별 요소("keyIdentifier")를 이용하기 위한 구현은 필요하지 않다. AuthorityKeyIdentifier 구조는 권한 증명서 송출자 식별(authorityCertIssuer) 및 대응하는 권한 증명서 일련 번호 요소(authorityCertSerialNumber)를 모두 포함한다.
authorityCertIssuer 필드는 서명을 체크하는데 사용된 공용 키를 운반하는 증명서의 송출자 이름을 제공하는 필드 "directoryName"(이에 따라 MHP에 사용된 필드 issuerName과 동일함)를 포함한다.
hashSignatureAlgorithm: 이 필드는 사용된 해시 알고리즘을 식별한다. 서명을 계산하는데 필요한 암호화 알고리즘을 고려하면, 연관된 키(SubjectKeyInfo 필드에서)를 증명하는 증명서에 이미 설명된다. 따라서, 해시 알고리즘의 식별만이 필요하다. 지원된 알고리즘은, 식별자가 고전적으로 제공되는 MD5 및 SHA-1이다(RFC 2379를 참조):
md5 OBJECT IDENTIFIER::=
{iso(1)member-body(2)US(840)rsadsi(113549)
digestAlgorithm(2)5}

sha-1 OBJECT IDENTIFIER::=
{iso(1)identified-organization(3)oiw(14)secsig(3)
algorithm(2)26}
signatureValue: MHP 규격에 대한 선택에 따른 서명의 값.
certificate_descriptor의 규격:
이 설명자는 고전적인 PKI 기술에서와 같이 반복적으로 사용된 수 개의 증명서를 포함한다. 특히, 리프(leaf) 증명서는 certificate_descriptor에 먼저 위치하고, 일관성만을 위해 여기에 포함된 루트 증명서가 마지막으로 나타난다.
CertificateFile이라는 명칭의 파일은 루트 증명서까지 및 루트 증명서를 포함하는, certificate_descriptor에 언급된 증명서 체인(chain)에서 모든 증명서를 포함한다. 증명서를 인코딩하기 위한 프로파일(profile)은 ETSI TS 102 812 V1.1.1(ETSI TS: European Telecommunication Standards Institute, Technical Specification)에 정의되어 있다.
certificate_descriptor는 다음과 같이 규정된다:
certificate_descriptor(){
descriptor_tag 8 uimsbf
descriptor_length 8 uimsbf
signature_id 8 uimsbf
certificate_here_flag 1 bslbf
reserved 7 bslbd
if(certificate_here_flag==1){
certificate_cout 16 uimsbf
for(i=0;i<certificate_count;i++){
certificate_length 24 uimsbf
certificate()
}
}
}
descriptor_tag: certificate_descriptor의 라벨링.
descriptor_length: certificate_descriptor의 길이.
signature_id: 이 ID는 증명서를 특정 서명에 링크시킨다.
certificate_here_flag: 이것은, "1"로 설정될 때, 증명서가 이 설명자에 위치한다는 것을 나타내는 비트 필드이다. 다른 경우, 애플리케이션으로부터의 증명서가 사용되어야 하고, 링크는 한정되어야 한다.
certificate_count: 이 16비트 정수는 증명서 설명자에서의 증명서의 수를 수반한다.
certificate_length: 이 24비트 정수는 증명서에서의 바이트의 수를 규정한다.
certificate(): 이 필드는 ITU-T X.509에 의해 정의된 단일 "증명서" 데이터 구조를 수반한다.
MHP 플랫폼의 경우에, 대화형 애플리케이션에 사용된 것과 동일한 증명 관리가 사용될 수 있다. 다른 경우, 증명서 관리를 위한 메커니즘이 특별히 확립된다.
MPEG/DVB 섹션에서의 설명자의 일반적인 어드레싱
(hash_descriptor에서의 필드 "descriptor_address")
MPEG 및 DVB 테이블에서의 설명자에 어드레싱하기 위한 어드레싱 메커니즘이 이제 구체적으로 설명된다. 가변 길이 어드레싱 메커니즘이 사용될 수 있으며, 이 메커니즘은 더 컴팩트한 방식으로 어드레스를 저장할 수 있게 한다. 그러나, 본 실시예에서, 어드레스는 40비트의 일정한 길이를 갖는데, 이것으로 인해, 처리가 더 쉬워진다. 현재 MPEG 및 DVB 규격을 관찰해보면, 3개의 상이한 유형의 섹션을 식별할 수 있다.
제 1 섹션 유형(이후에 "type0"으로 표시됨)은 아래에 기재된 구조를 갖고, PAT, CAT, 및 TOT 테이블은 그러한 type0 섹션으로 구성된다:
type0_section(){
table_id
...
for(i=0;i<N;i++){
descriptor()
}
CRC_32
}
여기서 table_id는 테이블의 식별을 제공하고, CRC는 "Cyclic Redundancy Check"를 나타낸다.
type0 섹션의 경우에, 어드레스에서의 바이트는 다음과 같은 의미를 갖는다:
- 제 1 바이트: 테이블에서의 섹션 번호;
- 제 2 바이트: 0;
- 제 3 바이트: 0;
- 제 4 바이트: i(N), 이 바이트는 type0 섹션 루프에서 설명자에 어드레싱한다.
제 2 섹션 유형(이후에 "type1"로 표시됨)은 아래에 기재된 구조를 갖고, SDT 및 EIT 테이블은 그러한 type1 섹션으로 구성된다:
type1_section(){
table_id
...
for(i=0;i<N1;i++){
...
for(j=0;j<N2;j++){
descriptor()
}
}
CRC_32
}
- 제 1 바이트: 테이블에서의 섹션 번호;
- 제 2 바이트:0;
- 제 3 바이트: i(N1), 이 바이트는 type1 섹션의 외부 루프에 어드레싱한다;
- 제 4 바이트: j(N2), 이 바이트는 type1 섹션의 내부 루프에 어드레싱한다.
제 3 섹션 유형(이후에 "type2"으로 표시됨)은 아래에 기재된 구조를 갖고, NIT, BAT, PMT 및 AIT 테이블은 그러한 type2 섹션으로 구성된다:
type2_section(){
table_id
...
for(i=0;i<N1;i++){
descriptor()
}
...
for(j=0;j<N2;j++){
...
for(k=0;k<N3;k++){
descriptor()
}
}
CRC_32
}
type2 섹션의 경우에, 설명자 어드레스는 5바이트를 필요로 한다:
- 제 1 바이트: 테이블에서의 섹션 번호;
- 제 2 바이트: i(N1), 이 바이트는 type2 섹션의 제 1 루프에 어드레싱한다.
- 제 3 바이트: j(N2), 이 바이트는 type2 섹션의 제 2 루프의 외부 루프에 어드레싱한다.
- 제 4 바이트: k(N3), 이 바이트는 type2 섹션의 제 2 루프의 내부 루프에 어드레싱한다.
상부 레벨 설명자
상부 레벨 설명자에 의해, certificate_descriptor 및 signature_descriptor 필드 뿐 아니라 인증될 설명자를 갖는 섹션에서 모든 다른 hash_descriptor 필드를 가리키는 hash_descriptor 필드(즉, hash_descriptor는 루트 다이제스트 값을 포함한다)를 이해할 수 있다.
본 실시예에서, 이러한 설명자들은 인증될 설명자를 포함하는 섹션에 링크되는 특정 섹션에서 송신된다. 이러한 링크된 특정 섹션은 본래 섹션 중 하나와 동일 한 PID 및 Table_ID를 포함하지만, "section_syntax_indicator"라 불리는 특정 표시자(indicator)를 통해 본래 섹션과 구별된다. 모든 DVB/MPEG 한정된 섹션에 대해, 이러한 section_syntax_indicator는 1로 설정되고, 이것은 섹션 구문이 일반적인 섹션 구문에 따른다는 것을 의미한다. 특정 확장부에 대해, section_syntax_indicator는 0으로 설정되고, 이것은, 필드가 특정 섹션의 길이(private_section_length)를 제공한 후에, 개인 데이터가 존재한다는 것을 의미한다. 이러한 개인 데이터는 상부 레벨 정보를 포함할 수 있는 방식으로 규정된다. 확장부 섹션은 예를 들어 다음과 같은 구조를 갖는다:
extension_section(){
table_id 8 uimsbf
section_syntax_indicator 1 bslbf
private_indicator 1 bslbf
reserved 2 bslbf
private_section_length 12 uimsbf
reserved 3 bslbf
version_number 5 uimsbf
certificate_descriptor()
signature_descriptor()
hash_descriptor()
}
개인 섹션의 정의 부분에서 ISO/IEC 13818-1에 규정된 필드 private_indicator는 미래 이용을 위해 예비된 비트이고, 필드 "version_number"는 확장부 섹션이 어떤 테이블의 버전에 속하는지를 나타낸다(특히 "유럽 기준"에 대해선 EN 300 468 V1.3.1을 참조).
다음 예는, AIT의 설명자가 어떻게 서명화에 사용될 수 있는지를 보여준다. 이 예에서, 수 개의 섹션으로 형성된 전체 테이블은, 각 섹션이 이전과 같이 개별적으로 인증되는 것 대신에 전체적으로 인증된다. 제 1 단계는 인증될 설명자를 선택하는 것이다. 제 2 단계는 그 다음에 MD5 디지털 알고리즘을 이용함으로서 이러한 설명자를 통해 해시 코드를 계산하는 것이다. 적어도 하나의 인증된 설명자를 포함하는 각 루프에 위치한 hash_descriptor는 이러한 설명자의 어드레스, 및 이러한 설명자의 MD5 다이제스트 값을 포함한다. hash_descriptor가 어드레싱가능하기 때문에, 루프에서 특정 위치를 가질 필요가 없다. 이러한 방식으로, 해시 코드는 AIT 섹션에 대해 생성될 수 있다.
다음 표는 통상적인 AIT 구조(ETSI TS 102 812 V1.1.1에 정의됨)에 hash_descriptor 필드를 삽입하는 것을 보여준다:
비트 수 식별자
Application_information_section(){ Table_id 8 uimsbf Section_syntax_indicator 1 bslbf Reserved_for_future_use 1 bslbf ... Common_descriptor_length 12 uimsbf for(i=0;i<N1;i++){ //hash_descriptor() //other descriptor() } ... application_loop_length 12 uimsbf for(i=0;i<N2;i++){ application_identifier() application_control_code 8 uimsbf ... application_descriptors_loop_length 12 uimsbf for(j=0;j<N3;j++){ //hash_descriptor() //other descriptor() } } CRC_32 32 rpchof }
여기서 "rpchof"는 "remainder polynomial coefficients, highest order first"를 나타낸다.
완전한 AIT 테이블은 임의의 DVB/MPEG 테이블과 같이 수 개의 섹션으로 구성될 수 있다. 테이블의 모든 섹션의 해시 코드가 계산된 후에, 상부 레벨 정보가 생성되어야 한다. 이를 행하기 위해, 해당 테이블의 모든 hash_descriptor 필드를 고려하는 상부 레벨 hash_descriptor가 계산되고(루트 다이제스트 값), 여기서 전술한 설명자 어드레싱 메커니즘이 사용된다. 다음 단계는, 대응하는 certificate_descriptor의 리프 증명서에서 발견될 수 있는 공용 키에 대응하여, 개인 키를 갖는 이러한 상부 레벨 hash_descriptor를 RSA-암호화(RSA 암호화 알고리즘은 Riverst-ShamirAdleman을 나타낸다)하는 것이다. 이러한 RSA-암호화의 결과는, signature가 signature_descriptor에 저장되는 암호이다. 3개의 상부 레벨 설명자는 해당 테이블의 소위 확장부에 저장된다. AIT의 경우에, 테이블 ID는 항상 0×74이지만, PID(패킷 식별자)는 해당 서비스의 PMT에 기술된 값이다. 상부 레벨 설명자를 포함하는 확장부는 인증될 AIT와 동일한 PID 및 테이블 ID를 갖지만, section_syntax_indicator는 0으로 설정된다:
extension_section(){
table-id(0×74) 8 uimsbf
section_syntax_indicator(0×00) 1 bslbf
private_indicator 1 bslbf
reserved 2 bslbf
private_section_length 12 uimsbf
reserved 3 bslbf
version_number 5 uimsbf
certificate_descriptor()
signature_descriptor()
hash_descriptor()
}
버전 번호는 이 확장부가 어떤 테이블 버전에 속하는지 나타낸다.
변형 실시예에서, 모든 hash_descriptor 필드는 extension_section에서 상부 레벨에 위치한다.
구현에 있어서, section_syntax_indicator 비트를 "don't care"(스트림을 처리하는 디멀티플렉서가 그 비트 상태가 "0" 또는 "1"인지에 상관없이 비트를 통과시킨다는 것을 의미한다)로서 설정하도록 권고되어, 필요한 DVB/MPEG 섹션 자체 및 extension_section은 디멀티플렉서 필터를 통과하게 된다. 이러한 방식으로, 확장부에서의 상부 레벨 설명자는 직접 이용가능하고, 인증은 즉시 이루어질 수 있다.
상술한 바와 같이, 본 발명은, 서명(signing) 및 인증 장치 및 프로세스에 관한 것으로, 특히 DVB(Digital Video Broadcasting: 디지털 비디오 방송)/MPEG(Moving Picture Experts Group: 동화상 전문가 그룹) 디지털 스트림, 및 MHP(Multimedia Home Platform: 멀티미디어 가정용 플랫폼) 표준에 대한 연관된 제품 등에 이용된다.

Claims (21)

  1. 디지털 스트림(10)에 적용된 암호화로부터 상기 디지털 스트림(10)에 병합될 적어도 하나의 서명(signature)을 발생시킴으로써, 통신 네트워크(5)를 통해 송신되고자 하는 상기 디지털 스트림(10)을 서명화(signing)하기 위한 장치(11)로서, 상기 디지털 스트림(10) 각각은 수 개의 정보 실체(entity)를 포함하며, 상기 실체는,
    - 적어도 오디오 영상 정보에 관련된 콘텐트와,
    - 상기 콘텐트의 기원, 목적지 및 구조에 관련된 정보 세트로 이루어지는, 적어도 하나의 신호(signaling)로서, 네트워크 요구조건으로 인해 네트워크에서 변형될 수 있고, 설명자라 불리는 데이터 구조를 포함하고, 테이블이라 불리는 배열된 그룹화에 의해 주로 구성되는, 적어도 하나의 신호를
    포함하는, 상기 디지털 스트림을 서명화하기 위한 장치에 있어서,
    상기 장치(11)는 상기 암호화를 적어도 상기 신호의 설명자 중에서 선택적으로 결정된 인증된 설명자에 적용하고자 하고, 상기 인증된 설명자로부터 상기 서명이 계산되며, 상기 인증된 설명자는 네트워크 헤드-엔드에서 재-멀티플렉싱 단계에 의해 본래 상태로(untouched) 남아있는 것을 특징으로 하는, 디지털 스트림을 서명화하기 위한 장치.
  2. 제 1항에 있어서, 상기 신호는 프로그램 특정 정보, 서비스 정보 및 몇몇 개인 데이터로 구성되는 것을 특징으로 하는, 디지털 스트림을 서명화하기 위한 장치.
  3. 제 1항 또는 제 2항에 있어서, 상기 디지털 스트림(10)은 DVB 및 MPEG 표준에 따라 구성되는 것을 특징으로 하는, 디지털 스트림을 서명화하기 위한 장치.
  4. 제 3항에 있어서, 상기 디지털 스트림(10)은 MHP 표준에 따라 구성되는 것을 특징으로 하는, 디지털 스트림을 서명화하기 위한 장치.
  5. 제 1항 또는 제 2항에 있어서, 상기 암호화를 임의의 신호 MPEG/DVB 테이블의 인증에 적용하는 것이 제공되는 것을 특징으로 하는, 디지털 스트림을 서명화하기 위한 장치.
  6. 제 5항에 있어서, 상기 장치는 다음 테이블, 즉 PMT, PAT, CAT, NIT, SDT, EIT, TOT, AIT 및 BAT 중 적어도 하나의 인증에 상기 암호화를 적용하기 위해 제공되는 것을 특징으로 하는, 디지털 스트림을 서명화하기 위한 장치.
  7. 제 6항에 있어서, 상기 장치는 상기 암호화를 적어도 하나의 AIT 테이블의 인증에 적용하기 위해 제공되는 것을 특징으로 하는, 디지털 스트림을 서명화하기 위한 장치.
  8. 제 1항 또는 제 2항에 있어서, 사용자로 하여금 상기 인증된 설명자를 선택하도록 하는 수단(12)을 포함하는 것을 특징으로 하는, 디지털 스트림을 서명화하기 위한 장치.
  9. 삭제
  10. 제 1항 또는 제 2항에 있어서, 상기 인증된 설명자의 어드레스를 상기 디지털 스트림(10)에 병합하는 수단(13)을 포함하는 것을 특징으로 하는, 디지털 스트림을 서명화하기 위한 장치.
  11. 제 10항에 있어서, 상기 병합 수단(13)은 상기 디지털 스트림(10) 각각에 적어도 하나의 해시(hash) 설명자를 도입하고자 하고, 상기 해시 설명자는, 해시 알고리즘을 상기 인증된 설명자 중 적어도 하나에 적용함으로 인해 야기되고 상기 서명을 계산하는데 사용되는 적어도 하나의 다이제스트(digest) 값을 포함하고, 또한 상기 다이제스트 값을 계산하는데 사용된 상기 인증된 설명자의 어드레스를 포함하는 것을 특징으로 하는, 디지털 스트림을 서명화하기 위한 장치.
  12. 제 11항에 있어서, 상기 병합 수단(13)은 트리 구조에 따라 상기 디지털 스트림(10)에 상기 해시 설명자를 배열하고자 하고, 상기 해시 설명자 중 적어도 하나는 하부 레벨을 갖는 상기 해시 설명자 중 적어도 하나의 다른 것으로부터 계산되는 것을 특징으로 하는, 디지털 스트림을 서명화하기 위한 장치.
  13. 제 10항에 있어서, 각 테이블이 한정된 크기를 갖는 적어도 하나의 섹션을 포함하고, 번호를 할당받고, 각 섹션은 설명자를 상기 섹션에 연속적으로 도입하는 적어도 하나의 루프를 포함하며, 상기 병합 수단(13)은, 적어도 섹션 번호 및 발생 번호(occurrence number)를 언급함으로써, 주어진 섹션의 적어도 하나의 주어진 루프에 속하고 상기 각 루프에 대해 각각 적어도 하나의 발생 번호를 갖는 상기 인증된 설명자 각각의 어드레스를 지정하고자 하는 것을 특징으로 하는, 디지털 스트림을 서명화하기 위한 장치.
  14. 제 10항에 있어서, 개인 데이터 형태로 상기 서명, 가능한 상기 다이제스트 값 중 적어도 하나와, 상기 증명 데이터를 적어도 하나의 특정 섹션에 도입하고자 하고, 상기 특정 섹션은 상기 인증된 설명자를 포함하는 상기 섹션에 링크되는 것을 특징으로 하는, 디지털 스트림을 서명화하기 위한 장치.
  15. 디지털 스트림(10)에 적용된 암호화로부터 상기 디지털 스트림(10)에 병합될 적어도 하나의 서명을 발생시킴으로써, 통신 네트워크(5)를 통해 송신되고자 하는 디지털 스트림(10)에 서명화하는 방법으로서, 상기 디지털 스트림(10) 각각은 수 개의 정보 실체를 포함하고, 상기 실체는,
    - 적어도 하나의 오디오 영상 정보에 관련된 콘텐트와,
    - 상기 콘텐트의 기원, 목적지 및 구조에 관련된 정보로 이루어진 적어도 하나의 신호로서, 네트워크 요구조건으로 인해 네트워크에서 변형될 수 있고, 설명자라 불리는 데이터 구조를 포함하고, 테이블이라 불리는 배열된 그룹화에 의해 주로 구성되는, 적어도 하나의 신호를
    포함하는, 디지털 스트림을 서명화하는 방법에 있어서,
    상기 방법은 상기 암호화를 상기 신호의 설명자 중에서 선택적으로 결정된 인증된 설명자에 적용하는 단계를 포함하고, 상기 인증된 설명자로부터 상기 서명이 계산되며, 상기 인증된 설명자는 네트워크 헤드-엔드에서 재-멀티플렉싱 단계에 의해 본래 상태로 남아있는 것을 특징으로 하는, 디지털 스트림을 서명화하는 방법.
  16. 디지털 스트림(10)에 병합된 적어도 하나의 서명을 체크함으로써 통신 네트워크(5)를 통해 수신된 디지털 스트림(10)을 인증하는 장치(21)로서, 상기 디지털 스트림(10) 각각은 수 개의 정보 실체를 포함하고, 상기 실체는,
    - 적어도 하나의 오디오 영상 정보에 관련된 콘텐트와,
    - 상기 콘텐트의 기원, 목적지 및 구조에 관련된 정보 세트로 이루어진 적어도 하나의 신호로서, 네트워크 요구조건으로 인해 네트워크에서 변형될 수 있고, 설명자라 불리는 데이터 구조를 포함하고, 테이블이라 불리는 배열된 그룹화에 의해 주로 구성되는, 적어도 하나의 신호를
    포함하는, 디지털 스트림의 인증 장치에 있어서,
    상기 인증 장치(21)는 인증을 상기 신호의 설명자 중에서 선택적으로 결정된 인증된 설명자에 적어도 적용하고자 하고, 상기 인증된 설명자로부터 상기 서명이 계산되며, 상기 인증된 설명자는 네트워크 헤드-엔드에서 재-멀티플렉싱 단계에 의해 본래 상태로 남아있는 것을 특징으로 하는, 디지털 스트림의 인증 장치.
  17. 디코더로서,
    제 16항에 기재된 인증 장치(21)를 포함하는 것을 특징으로 하는, 디코더.
  18. 디지털 스트림(10)에 병합된 적어도 하나의 서명을 체크함으로써 통신 네트워크(5)를 통해 수신된 디지털 스트림(10)을 인증하는 방법으로서, 상기 디지털 스트림(10) 각각은 수 개의 정보 실체를 포함하고, 상기 실체는,
    - 적어도 오디오 영상 정보에 관련된 콘텐트와,
    - 상기 콘텐트의 기원, 목적지 및 구조에 관련된 정보 세트로 이루어진 적어도 하나의 신호로서, 네트워크 요구조건으로 인해 네트워크에서 변형될 수 있고, 설명자라 불리는 데이터 구조를 포함하고, 테이블이라 불리는 배열된 그룹화에 의해 주로 구성되는, 적어도 하나의 신호를
    포함하는, 디지털 스트림 인증 방법에 있어서,
    상기 인증 방법은 인증을 상기 신호의 설명자 중에서 선택적으로 결정된 인증된 설명자에 적용하는 단계를 포함하고, 상기 인증된 설명자로부터 상기 서명이 계산되며, 상기 인증된 설명자는 네트워크 헤드-엔드에서 재-멀티플렉싱 단계에 의해 본래 상태로 남아있는 것을 특징으로 하는, 디지털 스트림 인증 방법.
  19. 삭제
  20. 삭제
  21. 삭제
KR1020047018633A 2002-05-22 2002-11-08 서명화 및 인증 장치 및 방법과, 그러한 방법을 수행하는 컴퓨터 프로그램 제품 및 디지털 스트림을 저장한 저장 매체 KR100932185B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EPPCT/EP02/05610 2002-05-22
PCT/EP2002/005610 WO2002096016A2 (en) 2001-05-23 2002-05-22 Security devices and processes for protecting and identifying messages
PCT/EP2002/014897 WO2003098895A1 (en) 2002-05-22 2002-11-08 Signing and authentication devices and processes and corresponding products, notably for dvb/mpeg mhp digital streams

Publications (2)

Publication Number Publication Date
KR20050010817A KR20050010817A (ko) 2005-01-28
KR100932185B1 true KR100932185B1 (ko) 2009-12-16

Family

ID=29433059

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047018633A KR100932185B1 (ko) 2002-05-22 2002-11-08 서명화 및 인증 장치 및 방법과, 그러한 방법을 수행하는 컴퓨터 프로그램 제품 및 디지털 스트림을 저장한 저장 매체

Country Status (11)

Country Link
EP (1) EP1510057B1 (ko)
JP (1) JP4533741B2 (ko)
KR (1) KR100932185B1 (ko)
CN (1) CN1628447B (ko)
AT (1) ATE352939T1 (ko)
AU (1) AU2002360105B2 (ko)
CA (1) CA2486937C (ko)
DE (1) DE60217931T2 (ko)
ES (1) ES2280611T3 (ko)
MX (1) MXPA04011581A (ko)
WO (1) WO2003098895A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0411861D0 (en) * 2004-05-27 2004-06-30 Koninkl Philips Electronics Nv Authentication of applications
KR100617867B1 (ko) * 2005-03-07 2006-08-28 엘지전자 주식회사 데이터 방송 응용 프로그램의 서명 인증 방법
WO2006129813A1 (en) * 2005-05-31 2006-12-07 Matsushita Electric Industrial Co., Ltd. Broadcast recording and reproduction apparatus with expiration date management unit
CN100359835C (zh) * 2005-10-13 2008-01-02 中兴通讯股份有限公司 一种基于解释型信令的解码方法
WO2007051956A1 (en) * 2005-11-03 2007-05-10 Nds Limited Application blocking system
US7624276B2 (en) * 2006-10-16 2009-11-24 Broadon Communications Corp. Secure device authentication system and method
WO2008108759A1 (en) * 2007-03-08 2008-09-12 Thomson Licensing Method, apparatus and system for coordinated content distribution workflow
WO2013094110A1 (ja) * 2011-12-21 2013-06-27 ソニー株式会社 情報処理装置、サーバ装置、情報処理方法、サーバ処理方法およびプログラム
JPWO2014030283A1 (ja) * 2012-08-21 2016-07-28 ソニー株式会社 署名検証情報の伝送方法、情報処理装置、情報処理方法および放送送出装置
BR112014008364A2 (pt) * 2012-08-21 2017-04-18 Sony Corp aparelho e método de processamento de informação, programa, e, aparelho de servidor
CN105210375B (zh) * 2013-06-06 2019-04-16 索尼公司 接收设备、接收方法、发送设备、发送方法
MX358674B (es) 2013-07-10 2018-08-31 Sony Corp Dispositivo de recepción, método de recepción, y método de transmisión.
US20200099964A1 (en) * 2016-08-04 2020-03-26 Smardtv S.A. Method and device for checking authenticity of a hbbtv related application

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999049614A1 (en) * 1998-03-25 1999-09-30 Canal + Societe Anonyme Authentification of data in a digital transmission system
WO1999062248A1 (en) * 1998-05-29 1999-12-02 Open Tv, Inc. Module manager for interactive television system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2179223C (en) * 1995-06-23 2009-01-06 Manfred Von Willich Method and apparatus for controlling the operation of a signal decoder in a broadcasting system
US5625693A (en) * 1995-07-07 1997-04-29 Thomson Consumer Electronics, Inc. Apparatus and method for authenticating transmitting applications in an interactive TV system
CA2284153C (en) * 1997-03-21 2005-08-30 Canal + Societe Anonyme Method of downloading of data to an mpeg receiver/decoder and mpeg transmission system for implementing the same
EP0907285A1 (en) * 1997-10-03 1999-04-07 CANAL+ Société Anonyme Downloading data
JPH11122239A (ja) * 1997-10-16 1999-04-30 Sony Corp 情報処理装置および方法、並びに伝送媒体
JP4399680B2 (ja) * 1998-07-21 2010-01-20 ソニー株式会社 伝送情報管理装置
EP0989743A1 (en) * 1998-09-25 2000-03-29 CANAL+ Société Anonyme Application data table for a multiservice digital transmission system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999049614A1 (en) * 1998-03-25 1999-09-30 Canal + Societe Anonyme Authentification of data in a digital transmission system
WO1999062248A1 (en) * 1998-05-29 1999-12-02 Open Tv, Inc. Module manager for interactive television system

Also Published As

Publication number Publication date
MXPA04011581A (es) 2005-03-07
ATE352939T1 (de) 2007-02-15
CA2486937A1 (en) 2003-11-27
JP4533741B2 (ja) 2010-09-01
WO2003098895A1 (en) 2003-11-27
JP2005526451A (ja) 2005-09-02
AU2002360105A1 (en) 2003-12-02
DE60217931D1 (de) 2007-03-15
CA2486937C (en) 2011-09-13
EP1510057B1 (en) 2007-01-24
CN1628447A (zh) 2005-06-15
DE60217931T2 (de) 2007-10-31
KR20050010817A (ko) 2005-01-28
EP1510057A1 (en) 2005-03-02
ES2280611T3 (es) 2007-09-16
AU2002360105B2 (en) 2007-12-20
CN1628447B (zh) 2010-04-28

Similar Documents

Publication Publication Date Title
JP4936410B2 (ja) デジタルデータストリーム及びその形成方法並びにその形成装置
US7231525B1 (en) Authentification of data in a digital transmission system
US20040162980A1 (en) Security devices and processes for protecting and identifying messages
KR100932185B1 (ko) 서명화 및 인증 장치 및 방법과, 그러한 방법을 수행하는 컴퓨터 프로그램 제품 및 디지털 스트림을 저장한 저장 매체
US7627762B2 (en) Signing and authentication devices and processes and corresponding products, notably for DVB/MPEG MHP digital streams
ZA200409143B (en) Signing and authentication devices and processes and corresponding products, notably for dvb/mpeg mhp digital streams

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: 20121123

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131119

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141120

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151118

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161123

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171117

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20191128

Year of fee payment: 11