본 발명은, 오디오/비디오 처리 디바이스로 하여금 PMT를 분석하기 위해 2개의 CA 시스템 ID를 사용하도록 하고, CA 모듈로 하여금 특정 CA 시스템에 속한 ECM PID를 정확히 식별하도록 한다. 본 발명은, 예를 들어 DTV와 같은 A/V 처리 디바이스가 서비스 및 자격 제어 메시지용 패킷을 정확히 식별함으로써 보안 서비스로 하여금 프로그램에 액세스하도록 하는 방법을 포함한다. 보안 서비스는 A/V 처리 디바이스와 연관되고, 상기 A/V 처리 디바이스는 서비스와 연관된 데이터용 디지털 송신 시스템과 다시 연관된다. 본 방법은, 데이터로부터 적어도 하나의 서비스 및 자격 메시지 제어 패킷 식별자 쌍을 추출하는 단계와, 하나의 서비스 및 자격 제어 메시지 패킷 식별자 쌍만이 추출된 경우, 상기 추출된 쌍을 식별하는 단계와, 하나 이상의 서비스 및 자격 제어 메시지 패킷 식별자 쌍이 추출된 경우, 미리 정의된 규정(convention)에 따라 추출된 쌍 중 하나를 자동적으로 선택하는 단계를 포함한다.
도 1은 네트워크(10)를 도시하는데, 상기 네트워크(10)는 콘텐트 소스(20)로부터 즉, 방송 소스를 통해 콘텐트를 수신하고, XCA 및 NRSS 복사 방지 시스템(이후에 설명됨)을 통해 보호를 제공한다. 콘텐트 소스(20)는 예를 들어 테이프, DVD, 케이블, 위성 또는 지상파 방송으로부터 경제적인 가격의 CA 콘텐트(22)를 제공할 수 있다. 일반적으로, 콘텐트(22)는 A/V 콘텐트를 포함하는데, 상기 A/V 콘텐트는 보호되어 개인 CA 네트워크의 가입자에게 공급된다. 구매하거나, 다른 방식으로 콘텐트(22)를 수신하도록 자격이 부여된 가입자에게는, 콘텐트(22)를 디스크램블링하는데 필요한 키가 공급된다. 도 1의 실시예에 따라, 콘텐트 소스(20)는 이러한 CA 콘텐트(22)를 액세스 디바이스(30), 리코딩 디바이스(40) 또는 프리젠테이션(presentation) 디바이스(50)에 제공할 수 있다.
액세스 디바이스(30)는 셋톱 박스(set-top box)의 형태를 취할 수 있다. 셋톱 박스(30)는 CA 콘텐트(22)로부터 XCA 보호 콘텐트를 생성하기 위해 XCA/NRSS 컨버터 카드(35)와 함께 동작하는데, 상기 CA 콘텐트(22)는 CA/XCA 콘텐트(33)의 일부가 된다. 리코딩 디바이스(40)는 디지털 VHS(DVHS) 또는 DVD 리코더의 형태를 취할 수 있다. 리코딩 디바이스에는 컨버터 카드(35)와 유사한 컨버터 카드(45)가 제공될 수 있거나, 제공되지 않을 수 있다. 프리젠테이션 디바이스(50)는 DTV의 형태를 취할 수 있고, CA/XCA 보호 콘텐트를 디스크램블링하기 위해 XCA/NRSS 터미널 카드(55)와 함께 동작할 수 있다.
확장된 조건부 액세스(XCA: eXtended Conditional Access)는, 송신 및 저장 동안 MPEG2 인코딩된 디지털 A/V 콘텐트를 보호하는 한편, 콘텐트 배포 및 판매를 위해 기존의(established) 모델 및 새로운 모델을 지원하기 위한 시스템이다. XCA는 "재생(playback)" 및 "리코드"의 기본 제어를 시청 제어(viewing control)에 매핑(mapping)함으로써 이러한 작업을 달성한다. XCA 시스템 하에서, 경제적인 가격의 콘텐트는 항상 스크램블링되는데, 즉, 배포자의 책임 및 제어 하에 있거나, 소비자 가정의 범위, 즉 로컬, 네트워크의 범위 내에 있다. XCA는 스크램블링된 콘텐트의 리코딩을 허용하지만, 단지 합법적인 복사만이 디스크램블링되고 시청된다. 불법적인 콘텐트는 디스크램블링되지 않기 때문에, 시청할 수 없다. 불법적인 콘텐트는 예를 들어 원본이 아니거나, 그렇지 않으면 저작권자에 의해 인증받지 않은 콘텐트이다.
XCA는 3개의 자격 레벨을 제공한다. 제한 없는 방식으로 자유롭게 배포되는 콘텐트는 "자유-복사(free-copy)" 콘텐트이다. 이러한 콘텐트의 예는 광고되거나 지원되는 텔레비전 방송, 정보 광고(infomercial) 또는 유사한 자료일 수 있다. "1회 복사(copy-once)" 또는 로컬 시청 프로그래밍 콘텐트는 시간에 구애받지 않고 한 가구 또는 로컬 네트워크에서 생성될 수 있고, 시청될 수 있다. 그러나, 그러한 복사는 다른 로컬 네트워크로 전송될 수 없다. 이러한 유형의 콘텐트의 예는 스포츠 경기 또는 고급 서비스일 수 있다. 최종적으로, "복사-금지" 또는 즉시 시청 프로그래밍 콘텐트는 단지 실시간 시청만을 허용하는데, 즉, 리코딩된 복사본은 시청할 수 없다. 이러한 유형의 콘텐트의 예는 페이-퍼-뷰(pay-per-view) 프로그래밍또는 다른 고가의 콘텐트일 수 있다.
XCA 구조의 독특한 특징은 조건부 액세스 및 로컬 보호의 표기법(notation)이다. 로컬 보호, 또는 보안은, 액세스 디바이스, 즉 30이 스크램블링된 프로그램, 즉 CA 콘텐트(22)를 수신한 후에, 가정용 네트워크의 경계 내에서의 콘텐트 보호이다. 이것은, 프리젠테이션 디바이스, 즉 50이 어떤 것에 액세스해야 하고, 이에 따라 보호 콘텐트를 변환하고 디스플레이할 수 있는 지를 규정한다. 착탈가능한(removable) 보안 디바이스, 즉, 컨버터 및 터미널 카드(35, 45, 55)는 보안 관련 기능을 수행한다. 경제적인 가격의 콘텐트는 CA 서비스를 사용하여 전달된다. 예를 들어, 디지털 위성 시스템은 가입자에게 대량의 배포를 하기 위해 비디오 콘텐트 및 키를 스크램블링한다. 몇몇 가입자는 콘텐트를 구매하려고 결심할 수 있고, 이 경우에, 콘텐트를 디스크램블링하고 시청하는데 필요한 키는 상기 가입자에게 공급된다. 콘텐트를 구매하지 않기로 결정한 가입자는 이러한 키로의 액세스가 제공되지 않는다. XCA에서, 디스크램블링 키는 새로운 ECM에서 다시 번들링(rebundled)되는데, 상기 새로운 ECM은 고유 로컬 공용키에 의해 보호받는다. 그러므로, 로컬 ECM(LECM)으로 콘텐트를 수신하는 프리젠테이션 디바이스는 특정 CA 시스템뿐 아니라 XCA에 의해 보호되는 콘텐트도 처리할 필요가 있다.
또한 이제 도 2를 참조하면, 시스템(10)에 사용하기 적합한 제너릭(generic) XCA 가전(CE: Consumer Electronics) 디바이스(60)가 도 2에 도시되어 있다. 특정 유형의 디바이스(60)는 특정한 기능을 갖는다. 예를 들어, XCA 액세스 디바이스(30)는 CA/XCA용 XCA 보호 콘텐트(33)를 생성시키고, XCA 프리젠테이션 디바이스(50)는 XCA 보호 콘텐트를 디스크램블링하고, XCA 리코딩 디바이스(40)는 XCA 보호 콘텐트를 저장하고 플레이하지만, 컨버터 카드(45)가 제공되지 않고는 XCA 보호 콘텐트를 생성시키거나 디스크램블링할 수 없다. 일반적으로, 제너릭 디바이스(60)는 스위칭 유닛(62)과, 입력 유닛(61)과, 교환형(renewable) 또는 내장형 보안 디바이스(66), 즉 컨버터 카드(35 또는 45), 또는 터미널 카드(55)를 포함한다. 디바이스의 유형이 어떤 것인지에 따라, 디바이스(60)는 또한 프리젠테이션 유닛(64)과, 저장 유닛(68)과, 아날로그 출력(65)과, 압축 해제된 디지털 출력(67) 또는 압축된 디지털 출력(69)를 포함할 수 있다.
일반적으로, 디지털 입력 유닛(61)은 디지털 신호를 취득하는데 필요한 회로 및 소프트웨어, 예를 들어 복조기를 포함한다. 압축된 디지털 출력(69)은 MPEG2 디지털 신호를 송출하기 위한 회로 및 소프트웨어, 예를 들어 변조기를 사용한다. 보안 디바이스(66)는 CA 기능 및 XCA 기능을 처리하고, 콘텐트 유형을 변환시킬 수 있다. 변형된 콘텐트를 디지털 포맷으로 출력하는 모델의 요소는 상기 보안 디바이스(66)가 유일하다. 설명된 바와 같이, 보안 디바이스(66)는 컨버터 카드(35 또는 45), 또는 터미널 카드(55)의 형태를 취할 수 있다. 컨버터 카드(35 및 45)는, (ⅰ) CA 자격의 검사, (ⅱ) 제어 워드(CW)의 복구, (ⅲ) 콘텐트 디스크램블링과 같은 기능을 지원한다. 상기 컨버터 카드는 3중 데이터 암호 표준(TDES: Triple Data Encryption Standard) 키를 생성시키고, 콘텐트를 재스크램블링하고, 공용 키를 사용하여 LECM을 암호화한다. 터미널 카드(55)는 XCA 자격의 검사와 같은 기능을 지원한다. 상기 터미널 카드는 LECM의 CW를 사용하여 콘텐트를 디스크램블링하고, 그다음에, XCA NRSS 인터페이스 보호 시스템의 요구 조건을 따라 콘텐트를 재스크램블링한다. 예시적인 컨버터 카드(35) 및 터미널 카드(55)의 블록도는 각각 도 3 및 도 4에 도시되어 있다. 저장 유닛(68)은 비 휘발성 메모리에 콘텐트를 저장하고, 비 휘발성 메모리로부터 콘텐트를 판독한다. 이것에 컨버터 카드(45)가 제공되지 않으면, 콘텐트의 유형을 변형시키지 않는데, 이 경우에 이것은 또한 액세스 디바이스의 역할을 한다. 하드디스크는 전형적인 내부 저장 유닛이다. DVHS와 같은 디지털 비디오 테이프 리코더 및 디지털 다목적 디스크(DVD: Digital Versatile Disc) 플레이어는 착탈가능한 저장 장치를 갖는 전형적인 CE 디바이스이다. 프리젠테이션 유닛(64)은 MPEG2 콘텐트를 디코딩하고, 상기 콘텐트를 아날로그 또는 압축 해제된 디지털 형태로 사용자에게 제공한다. 상기 프리젠테이션 유닛(64)은 NRSS 디스크램블러(64')를 사용하여 NRSS 스트림을 디스크램블링할 수 있고, MPEG 디코더(64'')를 사용하여 디지털 스트림을 디코딩할 수 있고, 디지털/아날로그 컨버터(DAC: Digital to Analog Converter)(64''')를 사용하여 디지털/아날로그 변환을 수행할 수 있다. 최종 결과물(final outcome)은 음향과 같은 물리적 신호, 또는 아날로그 전기 신호일 수 있다. TV 디스플레이, 및 하이-파이(hi-fi) 증폭기의 아날로그 출력은 전형적인 예이다. 스위칭 유닛(62)은 디바이스(60) 내에서 콘텐트를 라우팅(routes)한다. 그 기능은 단지 라우팅에만 한정되고, 콘텐트의 유형을 변형시키지 않는다.
XCA 시스템은 XCA 터미널 카드(55)를 프리젠테이션 디바이스(50)에 연결시키는 NRSS 인터페이스를 보호하도록 설계된다. NRSS 인터페이스 보호는, 콘텐트가CA/XCA 콘텐트이기 때문에 액세스 디바이스(30)에서 필요로 하지 않는다.
XCA 보호 NRSS 인터페이스를 구축(establishing)하기 위한 절차는, 프리젠테이션 호스트 디바이스(50)를 인증하는 단계와, 특정 프리젠테이션 디바이스(50)/터미널 카드(55) 쌍에 고유한 공유 비밀키를 구축하는 단계와, 콘텐트 보호를 위해 공유 키를 생성시키는 단계와, 호스트(50)로 되돌아가는 콘텐트를 데이터 암호 표준(DES) 및 공유 키를 사용하여 스크램블링하는 단계를 수반한다.
로컬 자격 제어 메시지(LECM)는 표 1의 구문(syntax)을 통해 길이에서 변할 수 있는 하나 이상의 섹션(sections)에 포함될 수 있다. 섹션의 시작은 패킷 페이로드(payload)의 포인터 필드(pointer field)로 표시될 수 있다.
구문 비트의 수 연상 기호로컬_자격)제어_메시지{테이블_id 8 0×80 or 0×81섹션_구문_표시자 1 '1'개인_표시자 1 '1'제로 2 '00'개인_섹션_길이 12 Uimsbf테이블_id_확장(){예약 6 '000000'LECM_유형 2 '10'프로토콜_버젼 8 Uimsbf}예약 2 '11'버젼_번호 5 '00000' |
현재_다음_표시자 1 '1'섹션_번호 8 0×00최종_섹션_번호 8 0×00XCA_식별자 256 Uimsbf로컬_소스_id 64 Uimsbf예약 5 Uimsbf복사_방지_가능 1 UimsbfXCA_시청_플래그 2 Uimsbf시간_코드 32 Uimsbf소스_시퀀스_번호 32 UimsbfXCA_설명자 424 Uimsbf패딩_바이드 508 Uimsbf통합성_검사 32 UimsbfCRC_32 32 Rpchof |
테이블_id-- 이 8 비트 필드는 이 섹션이 속하는 자격 제어 메시지를 식별한다. 이것은 0×80 또는 0×81로 설정될 것이다. 적어도 하나의 비트가 LECM 섹션에서 변할 때, 테이블_id는 토글(toggle)할 것이다.
섹션_구문_표시자(section_syntax_indicator) -- 이 1 비트 필드는 '1'로 설정될 것이다. 이것은 섹션이 섹션 길이 필드 이상 제너릭 섹션 구문을 따른다는 것을 나타낸다.
개인_표시자-- 이 1 비트 필드는 '1'로 설정될 것이다.
개인_섹션_길이-- 이 12 비트 필드는, CRC_32를 포함하고 개인_섹션_길이 필드 이후 곧바로 시작하는 이 섹션 내의 잔여 바이트의 수를 규정한다.
LECM-유형-- 이 2 비트 필드는 LECM에 의해 운반된 정보의 유형을 나타낸다. '10'은 제어 워드를 운반한다는 것을 의미한다.
프로토콜_버젼-- 이 테이블로 하여금 장래에 현재 프로토콜에서 규정된 것과 상이하게 구성될 수 있는 파라미터를 운반할 수 있게 하는 기능을 갖는 8 비트의 부호없는(unsigned) 정수 필드. 현재, 하나의 프로토콜만이 규정된다.프로토콜_버젼=0×00일 때, 단지 단일 제어 워드 쌍만이 전체 프로그램에 사용되고, 이와 유사하게, 액세스 기준은 전체 프로그램에 대해 규정된다(즉, 어떠한 스트림-레벨 보호도 허용되지 않음). 이 경우에, 이벤트(event)의 모든 스트림은 동일한 제어 워드로 스크램블링될 것이고, 동일한 액세스 기준을 사용할 것이다. 프로토콜_버젼=>0.01일 때, 0×00보다 더 큰 프로토콜_버젼의 값은, 이 값이 전개됨에 따라 프로토콜의 나중 버전을 수용하도록 설계된 디코더에 의해서만 처리될 수 있다.
버젼_번호-- 이러한 5 비트 필드는 예약되고, '00000'의 값을 가질 것이다. 필요시 장래의 구현은 이 필드를 사용할 수 있다.
현재_다음_표시자-- 이 1 비트 표시자는 LECM에 대해 항상 '1'로 설정되고, 송신된 LECM은 항상 현재 적용가능하다.
섹션_번호-- 이 8 비트 필드는 개인 섹션의 번호를 포함한다. 개인 테이블에서 제 1 섹션의 섹션 번호는 0×00일 것이다. 섹션 번호는 이러한 개인 테이블에 속한 각 추가 섹션으로 1만큼 증분될 것이다.
최종_섹션_번호-- 이 8 비트 필드는 이 섹션이 일부인 개인 테이블의 최종 섹션 번호를 규정한다.
XCA_식별자-- 이 256 비트 필드는 고유 XCA 식별자를 포함한다. 식별자는 "저작권: (C) 1999 TMM"의 ASCII 값을 갖는다. 인용 마크는 포함되지 않는다. 각 ASCII 문자는 1 바이트의 저장 장치에 할당된다. 문자는 이 필드에서 좌측으로 정돈된다(left-justified). 부호 없는 필드 값은 0×00으로 설정된다.
로컬_소스_id-- 이 64 비트 필드는 이러한 LECM을 생성한 보안 디바이스의 XCA 디바이스 ID를 포함한다.
복사_방지_가능-- 이 1 비트 필드는 프리젠테이션 디바이스로부터 전달되는 프로그램 자료의 하나 이상의 스트림을 위한 콘텐트 보호 메커니즘의 제공을 나타낼 것이다. 이 플래그의 목적은, 사용자를 위해 잘못된 표시(fault indication)를 검출하기 위한 수단을 제공하는 것이고, 복사 방지를 시행하는데 사용되지 않을 것이다. 이 필드의 값은, 적어도 하나의 스트림에 대한 보호가 가능한 경우 '1'로 설정된다.
XCA_시청_플래그-- 이러한 2 비트 필드의 값은, XCA 보호로의 변환 이전에 프로그램 콘텐트의 보호를 관리하는 인가자(authority)에 의해 결정될 것이다. 이 값은 XCA-설명자에서 XCA-시청-플래그의 값과 비교될 것이다. 불일치의 경우에, 보호된 XCA_시청_플래그는 XCA 프리젠테이션 디바이스의 보안 프로세서 내에서 시청권을 시행하는데 사용될 것이다. 그 의미는 다음과 같을 것이다:
XCA_시청_플래그='00': XCA 콘텐트는 제약되지 않는다. 어디서든지, 항상 시청할 수 있다. XCA_시청_플래그='01': XCA는 예약됨. XCA_시청_플래그='10': XCA 콘텐트는 로컬 네트워크 내에서 항상 시청하는 것으로 제약된다. XCA_시청_플래그='11': XCA 콘텐트는 로컬 네트워크 내에서 "현재" 시청하는 것으로 제약된다.
시간_코드-- 시간 소스가 알려지고 보안되면, 이 필드는, UTC 1980년 1월6일 am 12시 이래로 일어난 초의 수(모드 232)를 포함한다. 시간 소스가 알려지지 않고 보안되지 않으면, 이 필드는 모두 0으로 코딩될 것이다.
소스_시퀀스_번호-- 이 32 비트 필드는 LECM을 생성한 컨버터 모듈의 암호 기간(cryptoperiod) 카운터의 현재 값을 포함한다.
패딩_바이트-- LECM 128 바이트의 보안 부분의 총 길이를 만드는데 필요한 바이트의 수(128-65). 패딩_바이트는 무작위로 선택된다.
통합성_검사(integrity_check) -- 이 32 비트 번호 필드는, 암호 해독된 페이로드의 콘텐트가 유효하다는 것을 증명하는 값을 포함한다. 이것은, 암호화 및 암호 해독 과정이 적절히 수행되는 것을 보장하는데 사용된다.
CRC_32-- 이 32 비트 필드는, 전체 LECM 섹션을 처리한 후에 ISO/IEC 13818-1 "MPEG2시스템"의 첨부 A에 정의된 디코더에서의 레지스터로부터의 제로 출력을 보장하는 CRC 값을 포함한다. 이 값은 데이터가 암호화된 후에 계산될 것이다.
각 컨버터 카드(35)는 CA 보호 콘텐트로부터 XCA 보호 콘텐트로의 변형을 지원하고, 32-비트 암호 기간 카운터를 갖는다. 암호 기간은, 스트림 또는 프로그램은 하나의 특정 키로 스크램블링되는 기간으로 정의된다. 각각의 새로운 암호 기간 동안, 즉 제어 워드가 변하는 동안, 컨버터 모듈은 암호 기간 카운터를 1만큼 증분시킬 것이다. 예를 들어 프로그램이 상이한 암호 기간을 갖는 3개의 스트림을 포함하면, 카운터는 각 스트림에 대한 각 암호 기간의 시작시 증분된다. 외부 액세스에대해 보호되면, 이 카운터는 리셋(reset)될 수 없거나 감소될 수 없다. 암호 기간 카운터의 초기값은 0이다.
콘텐트로의 액세스가 합법적인지를 컨버터 카드(35)가 일단 결정하면, LECM를 구축(build)하기 위해 다음 정보, 즉 홀수 및 짝수 CW, 및 복사 제어 정보(CCI: Copy Control Information), 및 복사 방지(CP) 상태, 즉, 3가지 가능한 상태("자유롭게 시청", "국부적으로 시청", 또는 "지금 시청") 중 하나를 사용한다.
CA 보호 콘텐트로부터 XCA 보호 콘텐트로의 변형은 다음 과정, 즉, 컨버터 카드(35)는 XCA_ID를 로컬_소스_id에 할당하고, 콘텐트가 유형("지금 시청")이면, 컨버터 카드(35)는 복사_방지_가능을 1로 설정하고, 다른 유형이면, 복사_방지_가능은 0으로 설정되고, 컨버터 카드(35)는 암호 기간 카운터의 현재 값을 소스_시퀀스_번호에 할당하고, 컨버터 카드는 LECM의 보안부(secure-part)상에서 연산된 해시(hash) 값을 통합성_검사에 할당하는 과정을 포함한다.
해시 방법은 본 발명의 하나의 양상에 따라 다음과 같다:
여기서, M[i]는 암호화하기 위한 메시지의 i번째 바이트를 나타내고, 시퀀스의 제 1 바이트는 인덱스 0을 갖고, C[i]는 통합성_검사 필드의 i번째 바이트를 나타내고, 이 필드의 제 1 바이트는 인덱스 0을 갖는다.
LECM의 보안부는 RSA-1024를 사용하여 암호화된다. 콘텐트가 "자유로운 시청" 유형이면, 암호 키는 자유로운 시청의 공개 키(Kpub_free)이고, 콘텐트가 그 밖의 유형이면, 암호 키는 컨버터 카드의 공개 키(Kpub_i)이다. 최종적으로, LECM의 보안부를 암호화한 후에 컨버터 카드는 CRC_32를 계산한다.
다시 도 3을 참조하면, 도 3은 예시적인 컨버터 카드(35)의 블록도를 도시한다. 컨버터 카드(35)는 CA 시스템(100) 및 XCA 시스템(200)을 포함한다. 일반적으로, CA 시스템(100)은, 링크(33)를 통해 호스트 디바이스, 즉 액세스 디바이스(30)와 통신가능한 ISO-7816 링크 디바이스(110)와, CA 연산가능한 소프트웨어(SW)(120)와, ECM 및 EMM 추출기(130, 140)와, 3중 데이터 암호 표준(TDES) 디바이스(150)를 포함한다. 호스트로부터 CA 콘텐트를 수신하기 위한 입력(155)이 제공되고, TDES 디바이스(150)와, ECM 및 EMM 추출기(130, 140)에 공급된다. TDES 디바이스(150)는 추가로 출력(160)을 포함한다. 일반적으로, XCA 시스템(200)은 XCA 연산가능한 소프트웨어(220) 및 ECM 교체 모듈(230)을 포함한다. ECM 교체 모듈(230)은 출력(160)을 통해 TDES 변환 모듈(150)과 통신가능하다. ECM 교체 모듈(230)에는 XCA 콘텐트를 호스트로 복귀시키기 위한 출력(235)이 추가로 제공된다.
터미널 카드(55)는 NRSS 콘텐트로의 XCA 보호 콘텐트의 변형을 지원한다. 이 목적을 위해, 터미널 카드(55)는 링크된 각 컨버터 카드{35(i)}에 대한 리코드를 소유한다. 이 리코드는 다음 필드, 즉 컨버터 카드{35(i)}의 XCA_ID와, 컨버터 카드{35(i)}의 개인 키(Kpriv_i)와, 컨버터 카드{35(i)}로부터 수신된 소스_시퀀스_번호(SSNi)의 가장 최근 값을 포함한다. NRSS 콘텐트로의 XCA 보호 콘텐트의 변형은, CRC_32 값이 LECM으로부터 연산된 값과 매칭되지 않으면, 터미널 카드(55)는 변형을 취소하는 것을 포함한다. XCA_시청_플래그에 의해 한정된 콘텐트의 상태가 "자유 시청"에 해당하면, 암호 해독 키는 자유 시청 개인 키(Kpriv_free)이다. 터미널 카드(55)는 RSA-1024를 사용하여 LECM의 보안부를 암호 해독한다. 암호화되지 않은 로컬_소스_id로부터, 터미널 카드(55)는 송출된 컨버터 카드(35)를 식별한다. 터미널 카드(55)가 해당 개인 키를 아직 갖지 않으면, 즉, 터미널 카드(55)가, 제 1 필드가 로컬_소스_id와 동일한 리코드를 갖지 않으면, 변환은 중지되고, 개인 키에 대한 요청을 초기화한다. 만약 해당 개인 키를 갖고 있으면, 터미널 카드(55)는, 로컬_소스_id에 의해 식별된 컨버터 카드(35)와 연관된 개인 키를 사용하여 RSA-1024로 LECM의 보안부를 암호 해독한다. 암호 해독되지 않은 부분에서 XCA-시청_플래그 값이 XCA 설명자(descriptor)에서 XCA_시청-플래그 값과 매칭하지 않으면, 터미널 카드(55)는 변형을 취소한다. 콘텐트가 "지금 시청" 유형에 해당하면, 터미널 카드(55)는 2가지 검사를 사용하여 재생하지 않는 것을 보장한다. 보안 시간 소스가 호스트에 이용가능하지 않으면, 제 1 검사는 생략된다. 제 1 검사에서, 터미널 카드(55)는 NRSS 명령을 사용하여 프리젠테이션 디바이스(50)로부터 수신된 호스트 시간을 시간_코드와 비교한다. 그 차이가 미리 결정된 양보다 크지 않으면, 터미널 카드(55)는 소스_시퀀스_번호와 SSNi를 비교한다. 미리 결정된 양보다 크면, 변형을 취소한다. 제 2 검사에서, SSNi가 소스-시퀀스-번호보다 적으면, 터미널 카드(55)는 해당 SSNi를 갱신하고, LECM에서 CW를 사용하여 콘텐트를 디스크램블링한다. 더 크면, 변형을 취소한다. 콘텐트가 "지금 시청" 유형에 해당하지 않으면, 터미널 카드(55)는 LECM에서 CW를 사용하여 콘텐트를 디스크램블링한다. 터미널 카드(55)는 NRSS 보호 목적을 위해 CCI 필드의 콘텐트를 NRSS 모듈(300)로 통과시킨다. 최종적으로, 터미널 카드(55)는 NRSS 모듈(300)에게 각 새로운 암호 기간 발생을 통보한다.
다른 변형에서, XCA 보호 콘텐트는 클리어 콘텐트(clear content)로 변형된다. 이러한 변형은 XCA 보호 콘텐트를 NRSS 콘텐트로 변형시키는 것과 유사한데, 여기에는 주목할만한 차이점이 있는데, 즉, 클리어된 콘텐트가 예를 들어 디바이스(60)의 스위칭 유닛(62)으로 직접 통과되고, CCI가 호스트 프로세서로 직접 통과된다는 점이다.
다시 도 4를 참조하면, 도 4는 예시적인 터미널 카드(55)의 블록도를 도시한다. 일반적으로, 터미널 카드(55)는 CA 시스템(400)과 XCA 시스템(300)을 포함한다. 일반적으로 CA 시스템(400)은, 링크(57)를 통해 호스트 디바이스, 즉 프리젠테이션 디바이스(50)와 통신가능한 ISO-7816 링크 디바이스(410)와, CA 연산가능한 소프트웨어(SW)(420)와, ECM 및 EMM 추출기(430, 440)와, 3중 데이터 암호 표준(TDES) 디스크램블링 디바이스(450)를 포함한다. 호스트로부터 CA/XCA 콘텐트를 수신하기 위한 입력(455)이 제공되고, TDES 디바이스(450)와, ECM 및 EMM 추출기(430, 440)에 공급된다. TDES 디바이스(450)는 출력(460)을 추가로 포함한다. 일반적으로, XCA 시스템(300)은 XCA 연산가능한 소프트웨어(320)와, NRSS 복사 방지 연산가능한 소프트웨어(SW)(340)와, NRSS 복사 방지(CP) 모듈(350)을 포함한다. NRSS 복사 방지(CP) 모듈(350)은 출력(460)을 통해 TDES 디스크램블링 모듈(450)과 통신가능하다. NRSS 복사 방지(CP) 모듈(350)에는 NRSS 콘텐트를 호스트로 복귀시키기 위한 출력(435)이 추가로 제공된다.
터미널 카드(55)는 상기 작업을 완료시키기 위해 호스트 디바이스(50)와 데이터를 교환한다. 이러한 통신은 예를 들어 NRSS EIA-679B 컴플라이언트(compliant) 명령을 사용하여 달성될 수 있다. 응용가능한 NRSS 규격에 따라, 호스트는, 수행하는데 어떤 동작이 필요할지를 결정하기 위해 카드 상태를 주기적으로 감시한다.
국제 갱신가능한 보안 표준(NRSS)은, DTV 수신기 및 디지털 VCR과 같은 디지털 가전(CE) 디바이스에 갱신가능한 보안이 사용되도록 하는 수단을 제공한다. 이에 따라, 보안 기능은 항해(navigational) 디바이스로부터 분리된다. 터미널 카드(55)와 같은 NRSS 보안 디바이스가 프리젠테이션 디바이스(50)와 같은 호스트 디바이스로부터 보호 콘텐트를 수신할 때, 상기 NRSS 보안 디바이스는 보호 콘텐트를 디스크램블링하고, 상기 보호 콘텐트를 호스트 디바이스로 다시 송신한다. 콘텐트가 보안 디바이스를 떠나기 전에 자유로운 상태(in-the-clear)에 있기 때문에, 인터페이스를 통해 보호될 필요가 있다. NRSS 표준은 암호화 기반의 복사 방지 시스템을 위한 프레임워크를 또한 한정한다.
NRSS 규격에 따라, 호스트 및 터미널 카드는 하나 이상의 NRSS 복사 방지 시스템을 위한 지원으로 제조될 수 있다. 이러한 시스템은 고유 복사 방지 (CP) 시스템 ID에 의해 식별된다. 어떤 시스템이 구현되는 지를 결정하기 위해 터미널 카드(55)와 호스트 디바이스(50) 사이에 협상(negotiation)이 사용될 수 있다. 터미널 카드(55) 초기화의 일부로서, 호스트(50)는 지원하는 NRSS 복사 방지 시스템에 대해 터미널 카드(55)에게 통보한다. XCA NRSS 복사 방지 시스템이 이러한 세트에 포함되면, 터미널 카드(55)는, 또한 CA 시스템 ID를 포함하는 구성을 갖는 CP 시스템 ID를 되송신한다. 이 구성에서 보면, 호스트(50)는, XCA 및 특정한 CA 시스템이 터미널 카드(55)에 의해 지원된다는 것을 인식하고, 후속적으로 XCA 시스템 ID 및 CA 시스템 ID 모두를 사용하여 PMT를 분석한다. 각 새로운 프로그램에 대해, 카드(55)는 호스트로부터 서비스 및 ECM PID를 얻는다. 본 발명의 하나의 양상에 따라, XCA CA 시스템 ID는, 기밀 데이터의 부분이 아니므로 XCA 복사 방지 시스템을 지원하는 호스트 디바이스에 저장되고, 보안 저장 장치를 필요로 하지 않는다.
구조에 의해, 터미널 카드(55)는, 가정용 네트워크에서 헤드엔드 방송 장비(broadcast head-end) 및 재생 디바이스를 포함하는 다양한 소스로부터 발생하는 CA 및 XCA 스트림 모두를 처리한다. 수신된 콘텐트에 따라, 호스트, 즉 프리젠테이션 디바이스(50)는 (서비스 PID, ECM PID의) 하나 이상의 쌍을 터미널 카드(55)로 송출할 수 있다. 3가지 가능성은, (1) 단지 한 쌍, 즉 LECM PID를 포함하는 {서비스 PID, ECM PID}가 송신될 가능성과, (2) 단지 한 쌍, 즉 CA ECM PID를 포함하는 {서비스 PID, ECM PID}가 송신될 가능성과, 또는 (3) 한 쌍이 LECM을 포함하고, 다른 한 쌍이 CA ECM PID를 포함하는 2쌍이 송신될 가능성이 존재할 수 있다. 따라서, CA ECM과 LECM 사이를 구별할 필요가 있다. 2가지 예시적인 경우가 제공된다.
경우 (a): 2쌍이 제공되는 경우- 제 1 {서비스 PID, ECM PID} 쌍은 PID 중 미리 결정된 하나의 PID, 즉 규정에 의해 LECM PID 또는 ECM PID가 되도록 한정된다.
경우 (b): 단지 한 쌍이 수신되는 경우- 터미널 카드는, 표 1과 관련하여 논의된 바와 같이 그 구문을 검사함으로써 LECM을 검출한다. 본 발명의 다른 양상에 따라, 이러한 목적에 사용될 수 있는 2개의 필드는 LECM_유형 및 XCA_식별자이다. LECM_유형은 어떤 전송 패킷이 운반되는지를 나타내는 한편, XCA_식별자는 XCA_LECM에 고유 식별을 제공한다.
예를 들어, 다음의 서비스 PID, 즉 (1) 비디오 PID: 100, 및 (2) 오디오 PID: 101를 갖는 프로그램을 고려해보자. 이들 2개의 기본 스트림은 동일한 키로 보호된다. 디스크램블링 키는 2개의 CA 시스템(2개 이상의 CA 시스템이 존재할 수 있다)에 의해 보호된 ECM으로 운반된다: 즉 (1) CA 시스템 #1 ECM PID: 180, 및 (2) CA 시스템 #2 ECM PID: 181. CA 시스템 #1에 대한 ECM은 PID 182를 갖는 LECM으로 변환되고, PID 182를 갖는 LECM에 의해 교체된다고 가정해보자. 이제, 호스트 디바이스는 표 2를 특징으로 하는 바와 같이 (서비스 PID, ECM PID) 쌍의 2개의 세트를 카드로 송신할 것이다.
서비스 PID |
ECMPID |
100 |
182 |
101 |
182 |
100 |
181 |
101 |
181 |
PID 182는, 제 1 쌍이 규정에 의해 LECM PIC가 되도록 설정된, LECM에 대한 PID인 것으로 식별될 것이다.