デジタルコンテンツの転送を保護するためのメカニズム
集積回路(IC)としてのデスクランブラアダプタ。デスクランブラは、入力スクランブルコンテンツをスクランブル解除するために、その他のデータの中から制御ワードを作るための制御ワードラダー論理回路を備える。さらに、デスクランブラは、以降のデジタル装置への伝送の前にスクランブル解除コンテンツを暗号化するためのコピープロテクト鍵を再生するためのコピープロテクト鍵ラダー論理回路を備える。
【発明の詳細な説明】
【関連出願】
【0001】
本願は、2002年11月5日出願の米国仮出願第60/424,381号の優先権を主張する2003年3月12日出願の米国出願第10/388、002号の一部継続出願である。
【技術分野】
【0002】
本発明は、デジタル装置に関する。詳細には、本発明は、セットアップボックスなどのデジタル装置においてデジタルコンテンツをスクランブル解除するためのシステム、装置、デスクランブラ及び方法に関する。
【背景技術】
【0003】
現在、アナログ通信システムからデジタル通信システムへの移行が急速に進められている。デジタルテレビジョン受像器は、将来全国で利用可能になる予定である。高詳細度テレビジョン(HDTV)放送は、限定的であるがほとんどの大都市ですでに開始されている。同様に、インターネット及びワールドワイドウェブの急速な普及の結果、MP3フォーマットオーディオファイルやその他のコンテンツのようなダウンロード可能なオーディオビジュアルファイルも関連して増加している。
【発明の開示】
【発明が解決しようとする課題】
【0004】
このデジタル通信システムへの急速な移行に伴い、又そのことが要因となって、デジタル記録装置は目覚しい進歩を遂げてきた。デジタル多用途ディスク(DVD)レコーダ、デジタルVHSビデオカセットレコーダ(V−DHS、VCR)、CD−ROMレコーダ(例えば、CD−R及びCD−RW)、MP3記録装置、及びハードディスク記録部は、アナログ記録装置において発生する世代劣化(すなわち、反復コピーによって生じる品質低下)なしで高品質記録及びコピーを行うことが可能な代表的なデジタル記録装置である。しかし、デジタル通信システム及びデジタル記録装置が同時に発展していくことに対し、映画及び音楽産業のようなコンテンツプロバイダは懸念を抱いている。すなわち、デジタルコンテンツの不法コピーが放置されているので、ダウンロード可能なデジタルコンテンツの提供に関し慎重になっている。
【0005】
それに応じて、地上波放送会社、有線及び直接放送衛星(DBS)会社、及びダウンロード可能なコンテンツを提供するインタネットサイトを有する会社に対して、コピープロテクト法の導入を求める動きがある。これらの望ましいコピープロテクト法は、リアルタイム視聴のためのCAクリアフォーマットへのコンテンツスクランブル解除である条件アクセス(CA)の役割を超えるものであり、現在では記録及び再生に関する制約及び条件を含んでいる。
【0006】
インパルスペイパービュー(IPPV)用の伝統的CAシステムは、一方向放送システムにその起源がある。一般的には、セットトップボックスのような条件アクセスユニットの中のスマートカードのような暗号プロセッサに、番組へのアクセスを自動的に承認するための情報及び機能が入っている。例えば、ペイTVアクセスコントロールアプリケーションを有するスマートカードは、特定のサービスを受ける資格(entitlements)を承認するメッセージを受信するようになされている。セットトップボックスがIPPV番組の視聴を許可された場合は、クレジット及び費用限定情報も伝送される。同様に、番組をチューニングした場合は、スマートカードは、番組へのアクセスが承認されるためにはスマートカードがどの資格を必要とするかを記述したメッセージを受信する。
【0007】
現在、ハッカーは、必要な受信料を払わずに番組を見るために両方のタイプのメッセージを操作している。これらのメッセージを操作することができるだけではなく、ハードウェアにも攻撃を加えることができる。例えば、スクランブルコンテンツをスクランブル解除するために用いられるクリアなスクランブル解除鍵をコピーし、インターネットを介してその他のセットトップボックスに送信することができる。このようなハッキングは、コンテンツプロバイダ及びコンテンツ所有者のいずれにとっても犠牲の大きなものである。
【発明を実施するための最良の形態】
【0008】
以下、添付図面を参照して本発明の実施形態を説明していくが、本発明は以下の実施形態に限定されるものではない。また、同じ参照番号を付した部分、構成要素等は同一の部分、構成要素等を表すものとする。
【0009】
以下に示す本発明の実施形態のいくつかの例は、データ転送を保護するためのデスクランブラに関する。1実施形態において、このデータ転送の保護は、単一の集積回路として配置することができるデスクランブラの内部において、1つ又は2つ以上のコンテンツプロバイダからのデジタルコンテンツを完全にスクランブル解除及び/又は暗号解読することを含む。「コンテンツプロバイダ」の例としては、地上波放送局、ケーブルテレビ業者、直接放送衛星(DBS)会社、インターネット経由ダウンロード用コンテンツを提供する会社、又は同様の様々なコンテンツ提供源があるが、これらに限定されるわけではない。
【0010】
以下の説明において、本発明の特徴を記載するために、特定の用語が用いられている。例えば、2つの用語「コンポーネント」及び「論理回路」は、1つ又は2つ以上の機能を実施するために設定されたハードウェア及び/又はソフトウェアを表す。「ハードウェア」の例としては、プロセッサ(例えば、マイクロプロセッサ、アプリケーション専用集積回路、デジタル信号プロセッサ、マイクロコントローラ等)のような集積回路、有限状態機械、組合せ論理回路等があるが、これらに限定又は制限されることはない。
【0011】
用語「論理派生(logical derivative)」は、デジタル信号に対する論理演算(例えば、排他的ORすなわちXOR、AND、OR、Invert、又はそれらのあらゆる組合せ)を行うことにより生成される結果値である。論理演算を複数のビットに対し同時に行うことができると考えられるが、この論理演算はビット毎に行うこともできる。
【0012】
用語「プロセスブロック」は、例えば、有限状態機械のような専用の機能を有するハードウェア及び/又はソフトウェアを表す。[ソフトウェア]の例としては、例えば、アプリケーション、アプレット又はルーチン形式の一連の実行可能な命令がある。ソフトウェアは、プログラム可能な電子回路、揮発性メモリ (例えば、ランダムアクセスメモリ等)及び/又は不揮発性メモリ(例えば、あらゆるタイプのリードオンリーメモリ“ROM”、フラッシュメモリ)などの半導体メモリ、フロッピーディスク、光ディスク(例えば、コンパクトディスク又はデジタルビデオディスク“DVD”)、ハードドライブディスク、テープ状記録媒体等のようなあらゆるタイプの機械読取り可能媒体に記憶することができる。
【0013】
図1は、コンテンツ配信システム100の具体的構成を示すブロック図である。コンテンツ配信システム100は、1つ又は2つ以上のプロバイダから番組データを含む情報を受信するデジタル装置110を備える。番組データは、例えば、デジタルビットストリームとして供給される。デジタル装置110は、セットトップボックス、テレビジョン受信機、コンピュータ、オーディオ再生装置(例えば、デジタルラジオ、MP3プレイヤー)、オーディオ記録装置、ビデオ記録装置(例えば、デジタルレコーダ)等のような任意の数の電子機器(又は内蔵された1つ又は2つ以上の構成機器)として動作することができる。
【0014】
例えば、デジタル装置110は組込みアーキテクチャ、分割安全アーキテクチャ又は外部安全アークテクチャとして設定することができる。組込みアーキテクチャとしては、1つの実施態様においては、デジタル装置110は、資格管理演算及びスクランブル解除演算の両方を支援する固定内部回路を備えるセットトップボックス又は別の電子機器として実装されている。
【0015】
また、分割安全アーキテクチャとしては、デジタル装置110は、資格管理を取扱う取り外し可能なスマートカードの受取りに用いられ、デジタルコンテンツのスクランブル解除は内部回路により制御される。
【0016】
さらに、外部安全アーキテクチャとしては、デジタル装置110は、帯域外チャンネルを通じてメッセージを送受信することにより資格管理演算及びスクランブル解除演算の両方を取扱うネットワークカードを備えた「配置点(point-of-deployment)」機器とすることができる。また、外部安全アーキテクチャは、ネットワークカードがスクランブル解除演算を取扱うために分割されるが、資格管理を取扱うスマートカードと通信するようにされている。これら及びその他のデジタル装置110の実施形態は、本発明の主旨及び範囲を逸脱市内範囲で実装することができる。
【0017】
デジタル装置110は受信機111を備え、この受信機111は入力情報を処理し、デジタルコンテンツを含む番組データをそこから抽出し、デジタルコンテンツを知覚可能(例えば、視覚可能及び/又は聴覚可能)なフォーマットで供給する。「番組データ」は、以下のもの、すなわち、システム情報、資格制御メッセージ、資格管理メッセージ、又はデジタルコンテンツのいずれか又は全てを含む。番組データストリームの中の「デジタルコンテンツ」は、例えば、映像、オーディオ、ビデオ又はそのいずれかの組合せを含むことができる。コンテンツはスクランブルフォーマットでもクリアフォーマットでもよい。
【0018】
ここで、「システム情報」は、例えば、番組名、放送時間、情報源、及び検索とデコードの方法に関する情報、さらには、どのような方法でいつデジタルコンテンツを再生、再伝送及び/又は記録することができるのかを制御する情報をデジタル受信機及びその他の装置に提供するコピー管理コマンドに関する情報を有する。これらのコピー管理コマンドは、例えば、一般的に特定のチャンネル又はサービスへのアクセスを規制するために用いられる資格制御メッセージ(ECM)とともに伝送される。資格(時には「特権(privileges)」とも呼ばれる)をデジタル受信機111に配信するために、例えば、「資格管理メッセージ」(EEM)が用いられる。この資格の例としては、アクセス権、スクランブル解除鍵などがあるが、これらに限定されるものではない。一般的には、スクランブル解除鍵は、承認された資格に基づきスクランブルフォーマットからクリアな状態でデータを再生するためにデスクランブラ論理回路が要求するコードである。
【0019】
図示したように、デジタル装置110は、セットトップボックスとして実装されている場合、伝送媒体120を介してコンテンツ配信システム100内のその他のコンポーネントに結合することもできる。伝送媒体120はデジタル装置110とコンテンツ配送システム100内のその他のコンポーネントとの間で番組データを伝送する。伝送媒体としては、光ファイバ、ケーブル、無線信号回路により構築される無線リンク等があるが、それらに限定されるものではない。
【0020】
デジタル装置110に対応する製品の種類にもよるが、コンテンツ配信システム100は、例えば、伝送媒体120に接続されたオーディオシステム130を備える。また、D−VHS、VCRのようなデジタルVCR140を、伝送媒体120を介してデジタル装置110及びコンテンツ配信システム100内のその他のコンポーネントに接続することもできる。
【0021】
また、ハードディスク記録部150を、伝送媒体120を介してデジタル装置110及びその他のコンポーネントに接続することもできる。ディスプレイ160は、例えば、デジタルビデオ信号を処理することが可能な高詳細度テレビジョンディスプレイ、モニタ、又はその他の装置である。最後に、例えば、制御部170が伝送媒体120に接合される。制御部は170は、例えば、コンテンツ配信システム100内のいくつか又は各々のコンポーネントの動作を調整及び制御するために用いられる。
【0022】
番組データのデジタルコンテンツは、例えばスクランブル形式で伝送される。1つの実施形態において、例えば、番組データの一部であるアクセス要求が、スクランブルコンテンツとともに、受信機111とともに実装され条件アクセス部として機能するデジタル装置(例えば、セットトップボックス)に伝送される。この「アクセス要求」は、条件アクセス機能とともに実装されたデジタル装置110(以下では、条件アクセス部110と呼ぶ)が、視聴の目的でスクランブルコンテンツをスクランブル解除することを許可されているかどうかを判断するために用いられる制限的パラメータである。アクセス要求は、例えば、コンテンツを知覚(視聴)するために必要な鍵、特定のコンテンツプロバイダに関連したサービスタグ、又は特定のスクランブル解除ソフトウェアコードである。
【0023】
条件アクセス部110がスクランブル処理された番組を受信したときは、番組に対するアクセス要求が、条件アクセス部110が実際に有する資格と比較される。条件アクセス部110がスクランブルコンテンツをクリアな形式で表示するために、1つの実施形態において、デジタルコンテンツに関連したアクセス要求が条件アクセス部110の資格と比較される。資格は、例えば、ホームボックスオフィス(HBO)のような特定のコンテンツプロバイダからのコンテンツを視聴/再生する資格を与えられていることを示す。資格は、例えば、デジタルコンテンツのスクランブル解除に必要な1つ又は2つ以上の鍵を有する。資格は、例えば、条件アクセス部110がデジタルコンテンツをスクランブル解除することができる期間を定める。
【0024】
従って、1つの実施形態において、アクセス要求及び資格が、条件アクセス部又はデコーダが特定の番組の視聴を許可されているかどうかを判断するためのアクセスコントロールシステムの一部を形成する。以下、テレビ放送、購入映画等のようなオーディオビジュアルコンテンツを再生するためのメカニズムについて説明する。ここで、本発明が可聴コンテンツ(例えば、デジタル化音楽ファイル)のスクランブル解除のみに適用可能であるということも考えられる。
【0025】
アクセス要求及び資格は、顧客がコンテンツに対して支払いを行ってスクランブルコンテンツへのアクセス権を獲得するための様々な選択肢を提供することができる。これらの選択肢としては、ペイパープレイ(PPP)、ペイパービュー(PPV)、インパルスペイパービュー(IPPV)、時間基準履歴、ペイパータイム(PPT)がある。「インパルスペイパービュー」は、以前にセットトップボックスにダウンロードされたPPV映画のクレジットによる購入を許可する機能である。「時間基準履歴」は、例えば、1997年3月から12月のような、過去の期間に配信されたコンテンツへのアクセスを許可する機能である。アクセス要求及び資格は、スクランブルコンテンツを記憶するための様々な選択肢を顧客に提供することもできる。
【0026】
アクセス要求は、例えば、パケット識別子(PID)を用いて、デジタル装置110の内部に配置された又は伝送媒体120を介してそれに結合された条件アクセス部に配信される。各PIDは、例えば、特定のサービスと関連したアクセス要求を有する。条件アクセス部に配信されるコンテンツは、例えば、多数のPIDを有し、それによって、特殊有償機能、特殊技術機能、又は局地的に実施すべきその他の特殊機能を可能にする。
【0027】
また、コンテンツを受信する前に、メディアに記憶しようとしているデジタルコンテンツへのアクセス権を獲得するための多数の選択肢を顧客に提供することもできる。さらに、コンテンツへのアクセス及びコンテンツの視聴の権利の購入を顧客に求めることもできる。従って、顧客が後の再生及び視聴のためにコンテンツの記録を希望する場合は、顧客が購入したアクセス要求もデジタルコンテンツとともに記憶する必要がある。
【0028】
さらに、図12及び図13に示すように、スクランブル解除されたデジタルコンテンツ(例えば、トランスポートストリーム)にコピープロテクトを適用することもできる。コピープロテクトされたデジタルコンテンツは、宛先インタフェースと情報源とを相互に接続するインタフェースを介して再スクランブルされる。情報源及び宛先インタフェースは、このコンテンツを再暗号化するために用いられる鍵が適合する必要がある。このコピープロテクト鍵は、デジタル装置と関連した固有鍵により暗号化することができる。固有鍵は、例えば、工場負荷手順(factory load procedure)のような、EMM又はその他の方法により受信することができる。
【0029】
図2は、スマートカードインタフェース220によって動作する条件アクセス部201を備えたセキュアコンテンツ配信システム(secure content delivery system)の第1実施例が示してある。この実施形態は、分割安全アーキテクチャ(split security architecture)及び外部安全アークテクチャ(external security architecture)との整合性を有する。分割安全アークテクチャの実装において、デジタル装置110は、条件アクセス部201(例えば、図1の条件アクセス部110と同等)として動作するが、セットトップボックス又はその他のタイプのデジタル装置として実装されている。
【0030】
スマートカードインタフェース220はデジタル受信機111に組込むこともできるが、デジタル受信機111は、インタフェース220を補足するスマートカード210を受取るために、例えば、PCMCIAスロット又はユニバーサルシリアルバス(USB)スロットのような拡張スロットを有する。この実施形態では、デジタル受信機111は、オプションのプロセッサ230及びデスクランブラ240を備える。この実施形態では、デスクランブラ240は、集積回路(IC)として実装されている。
【0031】
スマートカードインタフェース220は、入力デジタルコンテンツをスクランブル解除するための1つ又は2つ以上の暗号化スクランブル解除鍵を記憶しているスマートカード210への取付けに好適である。スマートカード210は暗号化されたスクランブル解除鍵をスマートカードインタフェース220に伝送する。一般的に“DK”と呼ばれるスクランブル解除鍵がスマートカード210とスマートカードインタフェース220との間で通信を傍受している侵入者により不正に引出されるのを防止するために、スマートカード210は、DKを暗号化する目的で、条件アクセス部201に固有の暗号化固有鍵を用いることもできる。これにより、条件アクセス部201がDKを安全な方法で解読し、デジタルコンテンツをスクランブル解除するためにDKをクリアフォーマットで用いることが可能になる。
【0032】
詳細には、本発明の1つの実施形態によれば、スマートカード210の外部暗号プロセッサ215が、コンテンツのスクランブル解除に必要なDKを受信する。記憶素子212(例えば、揮発性又は不揮発性メモリ)には、DKを解読するための1つ又は2つ以上の鍵が事前に書き込まれている。この書き込みは、スマートカード210の製造中又は記憶素子212の製造中に、記憶素子212がオンチップである場合は、暗号プロセッサ215により行うことができる。スマートカード210の暗号化論理回路214は、デスクランブラ240に固有の1つ又は2つ以上の鍵によりDKを暗号化する。
【0033】
この実施形態では、スマートカード210は、暗号化DK216をデスクランブラ240に配信する。ここで、プロセッサ230は、暗号化DK216をインタフェース220を介して受け取るが、暗号化DK216は、暗号解読論理回路260に直接送信することもできる。DKに対して行われる不明化操作を妨げるための追加的演算を行うために、プロセッサ230を実装することもできる。
【0034】
デスクランブラ240の暗号解読論理回路260は、記憶素子250に記憶された1つ又は2つ以上の固有鍵を用いてDKを解読することになる。1実施形態において、記憶素子250は、製造時に、あるいは条件アクセス部201に伝送された初期番組データによる条件アクセス部201内部への実装後に書き込まれた1つ又は2つ以上の鍵レジスタを有する。暗号解読論理回路260は、解読されたDKをデスクランブラ論理回路270のODD及びEVEN鍵記憶素子(図示せず)に交互に書込む。
【0035】
デスクランブラ論理回路270は、適切な時点でODD/EVENデスクランブラ鍵を入力スクランブルコンテンツ280に適用し、スクランブル解除番組コンテンツ290を出力する。また、入力スクランブルコンテンツ280をスクランブル解除するために、ODD及びEVEN鍵記憶素子への書き込みに代わる方法を用いることもできる。デスクランブラ論理回路270は、デスクランブラ240の内部論理回路として、又は図示したように外部に実装することもできる。
【0036】
従って、スクランブル解除鍵は暗号化された状態で転送されるので、スクランブル解除鍵のスマートカード210から条件アクセス部201への転送は安全である。スクランブル解除鍵は安全ではないプロセッサ230により解読されることがないので、条件アクセス部201の中では安全であり続ける。スクランブル解除鍵が解読されるのは、実際にスクランブル解除鍵が用いられるデスクランブラ240においてだけであり、従って、スクランブル解除鍵がクリアな状態で露出することは決してなく、ハッカーが手に入れることはできない。
【0037】
さらに、暗号化DK216を解読するために用いられる鍵はデスクランブラ240のハードウェア(例えば、記憶素子250)の中に記憶される。記憶素子250のシリコンが調べられない限りは、記憶素子250をハッキングすることはできない。さらに、鍵は、1つの特定の条件アクセス部201に対してだけ有効にすることもでき、関連の条件アクセス部201に固有の鍵を用いたスマートカード210によりDKは暗号化されるので、暗号化DK216を解読するために他のユニットが用いることはできない。従って、暗号化DK216の条件アクセス部201への伝送は安全である。
【0038】
デスクランブラ240は、スクランブル解除鍵の安全な処理を取扱う。このデスクランブラ240は、CPU、ファームウェア、ソフトウェアを備えていない。複雑な鍵階層は存在しない。プロセッサを備えてないデスクランブラ240が暗号化DK216を受信し、それに固有鍵を適用し解読する。暗号解読論理回路260には、命令、コード、ハッシング、ソフトウェアはロードされていない。解読は、単一の鍵機能だけしか用いないハードウェア回路又は状態機械である暗号解読論理回路260により完全に行われる。
【0039】
本実施形態で「固有鍵(Unique Key)」と呼ぶ1つ又は2つ以上の固有鍵は、例えば、製造中に、又はセットトップボックス、テレビジョン又はNRSS−Bモジュール内部への実装中に、記憶素子250にプログラミングさあれる。例えば、1つの実施形態においては、デスクランブラ240には、フラッシュメモリのようなプログラム可能(programmable)不揮発性メモリ250が実装される。他の実施形態においては、デスクランブラ240には、安全性を強化するために1回だけしか書込みのできない非プログラム(non-programmable)不揮発性メモリが実装される。したがって、最初に記憶素子250に書き込まれた固有鍵に対し不正な読取又は上書きをすることはできない。条件アクセス部201のシリアルナンバーと条件アクセス部201のデスクランブラ201に書き込まれた固有鍵との関連を記録することもできる。
【0040】
条件アクセス部201が製造され、スマートカード210が取り付けられたら、スマートカード210は条件アクセス部201と関連した固有鍵をペアリング(pairing)の時点で受信することができる。その時から、スマートカード210は、その特定のホスト(例えば、条件アクセス部201)と「ペア(pair)」になる。後に、スマートカード210が交換されたり、又は別のホストに移動させられたりした場合は、スマートカード210が新しいホストと関連した固有鍵を資格管理メッセージ(EMM)を介して受信できるようにすることもできる。あるいは、新しくプログラミングされた固有鍵を有する新しいスマートカードをユーザーに配信することもできる。
【0041】
図3は、図2のスマートカード210から条件アクセス部201へスクランブル解除鍵を転送する方法を示すフローチャートである。スクランブル解除鍵は、スマートカードの不揮発性メモリに記憶された鍵を用いて、スマートカード内で暗号化される(ブロック300)。スマートカードに記憶されたこの鍵、すなわち固有鍵は、デスクランブラの記憶素子に記憶された鍵と関連付けられている。暗号化スクランブル解除鍵はスマートカードから受信する(ブロック310)。
【0042】
この方法は、デスクランブラ内の番組データを有するビットストリームを受信することであり、しかも、番組データはシステム情報及びスクランブルデジタルコンテンツを有する(ブロック320)。暗号化スクランブル解除鍵は、デスクランブラの記憶素子に記憶された鍵を用いて解読される(ブロック330)。スクランブルデジタルコンテンツは、解読スクランブル解除鍵を用いてデスクランブラ内でスクランブル解除され(ブロック340)、スクランブル解除デジタルコンテンツが出力される(ブロック350)。
【0043】
図2に示した条件アクセス部実装に対する代替実施態様として、図4に示すように、スマートカードの代わりに、一方向又は双方向ネットワーク420のヘッドエンドサーバ(headend server)(以下、「ヘッドエンド(headend)」と呼ぶ)410を用いることもできる。ヘッドエンド410は、図2のスマートカード210のローカル暗号プロセッサ215内においてアクセス権を維持する代わりに、デコーダ(例えば、「デコーダ」401)として動作するデジタル装置に対するアクセス権を維持する。
【0044】
ヘッドエンド410は、デスクランブラ440に記憶された固有鍵に基づいて、1つ又は2つ以上のサービス鍵(一般的には「サービス鍵」と呼ぶ)を配信することができる。1つのチャンネルから別のチャンネルへの移行を容易にするために、暗号化サービス鍵をデコーダ401内に局所的に記憶することもできる。サービス鍵は暗号化形式で記憶され、必要に応じてデスクランブラ440に取り込まれる。デスクランブラ440の記憶素子450に記憶された固有鍵を用いることにより、サービス鍵はデスクランブラ440内で解読される。
【0045】
本発明の1つの実施形態において、サービス鍵は、コンテンツを直接スクランブル解除するためのスクランブル解除鍵として用いられる。本発明の他の実施形態において、サービス鍵は、スクランブルコンテンツとともに帯域内受信され、後にスクランブル解除の目的で用いられる1つ又は2つ以上のスクランブル解除鍵を解読するために用いられる。サービス鍵の各鍵は、異なる公開及び専用暗号化アルゴリズムを用いて暗号化することもできる。これらの異なる専用アルゴリズムは、クローンハードウェア(clone hardware)を無効化するための著作権侵害防止措置として考えることもできる。
【0046】
ヘッドエンド410は、サービス鍵をEMMの中のチャンネル又は「サービスの段階(tier of service)」ベースで配信することができる。サービス鍵は暗号化され、デコーダ401内に局所的に記憶され、異なるチャンネルに合わせる際には必要に応じてプロセッサ430により用いられる。この実施形態は一方向(非IPPV)放送網において動作するが、双方向会話型ネットワークにおいても動作し、そこでは、IPPV又はVOD購入、あるいはその他の非会員サービスのような特定のサービス用のサービス鍵が要求される。新しいサービスへのアクセスを承認する能力を発揮するのは、ローカル制御暗号プロセッサではなくヘッドエンド410であるので、サービス鍵を要求するためにリターンチャンネル421が用いられる。
【0047】
IPPV番組の多数同時衝動買いが原因で起きるヘッドエンド410におけるオーバロードの問題を避けるために、無料プレビュー期間を定めることができ、IPPV番組を実際の視聴の前に販売することができる。この実施形態においては、個々のショー又は映画用のサービス鍵をデコーダ401が要求し、前もって配信することができる。例えば、DOCSISモデム又は帯域外送受信機のようなリターンチャンネル421を有するケーブルシステムのような対話型ネットワークは、番組鍵要求(RPK)メッセージをデコーダ401からヘッドエンド410に配信することができる。あるいは、デコーダ401は、アクセスされた各番組についてサービス鍵をリアルタイムで要求することもできる。
【0048】
ヘッドエンド410のコントローラ(図示せず)は、RPKメッセージを処理する。RPKメッセージは、例えば、デコーダ401のアドレス並びに視聴すべきチャンネルを識別するための情報を有する(情報の全ては、エムペグ“MPEG”システム、及びノンセキュアプロセッサによってすでに処理済の番組情報から得ることもできる)。もし希望するのであれば、例えば、IPPV又はVOD要求のような、サービス攻撃の否認防止又は拒絶防止のために、RPK要求を暗号化することもできる。
【0049】
RPKメッセージを受信すると、ヘッドエンド410はアクセスコントロールリスト(デコーダ401の各資格のリスト)のエントリーにアクセスし、デコーダ401が特定のサービス鍵を受信する許可を受けていることを確認する。もし許可を受けている場合は、ヘッドエンド401は(デスクランブラ440内に配置された記憶素子450に含まれている固有鍵を用いて暗号化されている)サービス鍵をデコーダ401に送信する。
【0050】
図5は、サービス鍵の要求及び受取り用のヘッドエンドに適合させた図4のデコーダ401のさらに詳細な図である。本発明の1つの実施形態によれば、資格制御メッセージ(ECM)又は電子番組ガイド(EPG)関連メタデータのような番組データ500は、コンテンツプロバイダによりデコーダ401に提供される。番組データ500は所望のチャンネル又はサービスの少なくとも1つの識別子(「チャンネル又はサービスID」と呼ぶ)を伝達するのに好適である。番組データ500がIPPV又はVOD番組である場合は、番組データ500は、例えば、さらに番組識別子(PID)を有する。
【0051】
MPEGデマルチプレクサ510は、チャンネル又はサービスIDを抽出するためのメッセージプロセッサとして動作する。チャンネル又はサービスIDはプロセッサ430に送られ、プロセッサ430は、リターンチャンネル421を介してヘッドエンド410に送るために、送受信機論理回路520と共同でRSKメッセージを生成する。
【0052】
それに応じて、送受信機論理回路520は暗号化フォーマットの要求サービス鍵(SK)を受取り、SKをプロセッサ430に供給する。プロセッサ430は、例えば、SKをメモリに記憶し、及び/又は入力スクランブルコンテンツをリアルタイムでスクランブル解除するためにSKをデスクランブラ440に供給する。例えば、メモリ435は、SKを局所的に記憶することが望まれる場合に用いられるオプションのコンポーネントである。
【0053】
番組データのスクランブルコンテンツを受信すると、デスクランブラ440はこのコンテンツをスクランブル解除し、MPEGフォーマットによって圧縮されている場合は、このコンテンツはスクランブル解除後MPEGデコーダ530に供給される。MPEGデコーダ530はデジタルコンテンツを解凍し、その後解凍デジタルコンテンツをテレビ表示用デジタル/アナログ(D/A)変換器、デジタルビデオインタフェース(DVI)リンク又はネットワークインタフェース(例えば、IEEE1394リンク)のいずれかに送る。
【0054】
図示したように、プロセッサ430、メモリ435、デスクランブラ440、MPEGデマルチプレクサ510、送受信機論理回路520及びMPEGデコーダ530を、バストレース又は別の通信方式(例えば、ワイヤ、光ファイバ等)を介して相互接続された2つ以上の集積回路に実装することもできる。あるいは、これらのコンポーネントを単一の集積回路に実装することもできる。
この実施形態においては、SKの有効期限を特定の期間に限定することもできる。デコーダ401はSKをメモリに記憶し、これによってSKがまだ有効でサービス鍵を再び要求する必要がない場合は、デコーダ401がサービスに再アクセスすることが可能になる。
【0055】
SKは番組の持続している期間の間有効とすることができ、また、例えば6時間という選択された期間の間有効とすることもできる。いったんSKがデコーダ401のメモリ435に記憶されると、SKは簡単に利用可能になるので、長時間用の鍵を用いることによりデコーダ401とヘッドエンド410との間の処理総数が減少することになる。現在のサービス鍵(例えば、SK)の持続期間に応じて、次のサービス鍵(SKnext)をSKとともに配信することもできる。あるいは又、SKの有効時間(例えば、SKの持続期間)の終了を検出した後に、デコーダ401はSKnextを要求することもできる。他の実施例においては、サービス鍵は、ユーザーの加入期間の間有効とすることもできる。
【0056】
サービスはアラカルト(a-la-carte)で販売することも、パッケージで販売することもできる。各々が1つのサービスIDによって識別されるいくつかの段階のサービスを提供することもできる。例えば、基本サービス段階、より多くのサービスを提供する中間サービス段階、及び異なるプレミアムサービスを提供する上級サービス段階を設けることもできる。サービスの各増分段階には、例えば、別々のサービス鍵が与えられる。
【0057】
すなわち、図4のデコーダは、IC又はデコーダの製造中にロードされた固有鍵を備えたデスクランブラ240を有する。固有鍵により暗号化されたサービス鍵がデコーダ401に配信され、暗号化形式でデコーダ401に記憶される。あるいは、サービス鍵を局所的に記憶せずに、デコーダ401があるチャンネルに同調する毎に、デコーダ401がサービス鍵を要求することもできる。
【0058】
通常、図2のセキュア暗号プロセッサ(secure cryptographic procesor)が保持する資格は、例えば、図4のヘッドエンド410内の鍵サーバのようなコントロールオーソリティ(controlling authority)が有する。デコーダ401内のプロセッサ430は、視聴選択肢を視聴者に適切に表示するために、何をスクランブル解除する許可を受けているのかを知らせるメッセージ(例えば、ECM又はEMM)を受信することもできる。プロセッサは、次に、選択されたチャンネル用のサービス鍵を要求することができる。
【0059】
組込み「セキュア(secure)」ファームウェア又はソフトウェアは存在しない。上記ハードウェア解読回路を用いることにより、暗号化機能を実行する組込みプロセッサコア又はファームウェアは不要である。これにより、ノンセキュアプロセッサにダウンロードすることもできる多数の条件アクセスアプリケーションが可能になる。サービス鍵は暗号化ユニット鍵である。公開非対称キー又は非公開対称鍵とすることもできる。
【0060】
さらなる効果として、内部に組込まれた固有鍵を備えたデスクランブラ440を有するデコーダ401を提供することによって暗号プロセッサを用いないペイTVアプリケーション(Pay-TV applications)がある。デコーダ401は、サービス鍵又はスクランブル解除鍵をネットワークプロバイダに要求することができる。重要な[セキュア]機能はデスクランブラ440内に孤立されているので、プロセッサ430により局所的アクセスコントロールを行うことができる。
【0061】
図6Aには、セキュアコンテンツ配信システムの第3実施例600を示す。セキュアコンテンツ配信システム600は、加入者管理システム610、条件アクセス(CA)コントロール620、異なるデジタル装置(例えば、セットトップボックス)メーカーと関連した複数の合わせ(mating)鍵サーバ6301乃至630N(N>2)、及びスマートカード650を受取るデジタル装置(例えば、セットトップボックス)640を備える。スマートカード650は、セットトップボックス640の固有鍵(「固有鍵」と呼ぶ)680を記憶するように構成されたローカルメモリ670を備えたデスクランブラ660と通信する。固有鍵680は、ICの製造又はセットトップボックス640の生成中にロードされる。
【0062】
いったんセットトップボックス640のユーザーが特定の番組データを受取ることを希望すると、セットトップボックス640は、要求された番組データと関連する資格がすでに内部に記憶されているかどうかを判断する。資格が記憶されていない場合は、例えば、ユーザーには画面表示によってそれを知らせ、要求信号611を出すように指示する。ユーザーは、(i)帯域外通信経路(例えば、インターネットを介しての電子メール、ユーザーからの電話等)又は(ii)図示したようなセットトップボックス640と通信中のCAコントロールシステムへの帯域内通信経路を介して、要求信号611を送ることもできる。あるいは、要求信号611を自動的に送信することもでき、または実質的にリアルタイムでユーザーに許可を与えるために情報のルックアップ(lookup of information)を行うCAコントロールシステムに送ることもできる。
【0063】
1つの実施形態において、要求信号611は、要求コンテンツの識別子(例えば、英数字又は数字コード)、セットトップボックスのシリアルナンバー(「STBシリアルナンバー」と呼ぶ)及び/又はスマートカード650の識別子(スマートカードIDと呼ぶ)を含む。いずれかの情報処理システム(例えば、サービスプロバイダ又はコンテンツプロバイダにより制御されるサーバ、リレーステーション又はその他の装置)として実装されている加入者管理システム610は要求信号611を処理し、どんな資格をセットトップボックス640に提供すべきかを判断する。図示してはいないが、CAコントロールシステム620は、セットトップボックスのシリアルナンバー又はスマートカードIDを含むデータベースのルックアップを行うように設定することもでき、それにより、加入者管理システム610へのアクセスをなくすということが考えられる。
【0064】
加入者管理システム610から、STBシリアルナンバーあるいは大域鍵(global keys)(例えば、コンテンツとともに帯域内送信されたECMを解読するために用いられる鍵)を含むこともできる許可(AUTH)メッセージを受取ると、CAコントロールシステム620は、STBシリアルナンバー641及び合わせ鍵ジェネレータ(mating key generator)621を合わせ鍵サーバ6301...、又は630N(一般的には、合わせ鍵サーバ630iと呼び、ここに、i≧1)の少なくとも1つに送る。CAコントロールシステム620は、ダウンロードされたスクランブルコンテンツからデジタルコンテンツを再生するために用いられる合わせ鍵622の配信を調整するための手段として動作する。CAコントロールシステム620は、ヘッドエンド、放送局、衛生アップリンク等として実装することもできる。
【0065】
または、合わせ鍵ジェネレータ621及びSTBシリアルナンバー641を合わせ鍵サーバ6301乃至630Nに送るCAコントロールシステムを用いる代わりに、このような情報を合わせ鍵を特徴とするデータベースへのアクセスを維持及び制御する信頼ある第三者635に送ることもできる。合わせ鍵ジェネレータ621及び/又はSTBシリアルナンバー641に関連する値は、合わせ鍵622を検索するために用いられる。「信頼ある第三者」635としては、政府機関、製造メーカーによって独立して経営される会社等があるが、それらに限定又は制限されるものではない。
【0066】
合わせ鍵ジェネレータ621及びSTBシリアルナンバー641を伝送する前に、例えば、CAコントロールシステム620は、CAコントロールシステム620と合わせ鍵サーバ630iの間にセッション鍵(session key)を構築するためにサーバ630iのような選択合わせ鍵サーバにより認証手順を実施する。もちろん、合わせ鍵サーバ630iの代わりに実装されている場合は、信頼のある第三者635が認証手順を実施することになる。セッション鍵は、関係者の間で交換される情報を暗号化し、セキュアリンク(secure link)をその間に提供するために用いることができる。認証手順の例としては、電子証明書、電子署名、ハッシュ値(hash values)等の交換など様々なタイプがある。
【0067】
図6Bに示したように、合わせ鍵ジェネレータ621は、以下のもの、すなわち、セットトップボックスメーカー識別子(STMメーカーID)623、サービスプロバイダID624、条件アクセス(CA)プロバイダID625、及び合わせ鍵番号626の1つ又は2つ以上を含む。もちろん、これらの値/フィールドのサイズ(単位:ビット)は変更することができる。
【0068】
この実施形態においては、「STBメーカーID」623は、セットトップボックス640のメーカーを識別する所定の値である。また、STBシリアルナンバーの特定配置に応じて、STBメーカーID623をオプションとすることも考えられる。「サービスプロバイダID」624は、通信システムプロバイダ及び選択配信メカニズムを識別する値(例えば、16ビットのような1つ又は2つ以上のビット)である。例えば、サービスプロバイダID624は、どのケーブル会社、衛星会社、地上波会社又はインターネット会社が要求番組データ及び/又はその会社の特定のヘッドエンドサーバを提供しているのかを識別することもできる。「CAプロバイダID」625はCAコントロールシステム620のプロバイダを示す。「合わせ鍵シーケンス番号」626は、合わせ鍵622の長さが1パケット以上である場合は、情報のパケットを再注文するために用いられ、いくつかのシステムにおいては、例えば、合わせ鍵ジェネレータ621の期限切れを示すために用いられる。
【0069】
図6Aに戻って、アクセスが求められている合わせ鍵サーバ6301...、又は630N(または信頼の置ける第三者635のデータベース)を識別するために、各STBメーカーID623に対し固有の部分を有することもできる。また、セットトップボックス640のシリアルナンバー並びにそのセットトップボックス640を識別するためのコードフィールドを含めるために、STBシリアルナンバー641を拡張することもできる。もちろん、ビット数は設計上の選択である。
【0070】
合わせ鍵ジェネレータ621及びSTBシリアルナンバー641を受取ると、適切な合わせ鍵サーバ(例えば、合わせ鍵サーバ630i、ここに、i≧1)は合わせ鍵622を返送する。この実施例においては、合わせ鍵622は、セットトップボックスに送信中のスクランブルコンテンツをスクランブル解除するために必要なスクランブル解除鍵を暗号化するために用いられる。詳細には、合わせ鍵サーバ6301は、固有鍵680の同一コピーである事前記憶鍵にアクセスし、そのアクセスされた鍵を用いて合わせ鍵ジェネレータ621を暗号化する。これにより、合わせ鍵622と同じ鍵が作られる。また、合わせ鍵ジェネレータ621は結果値を暗号化する一方向ハッシュ演算(hash operatoin)することこと、又は合わせ鍵622を作るために合わせ鍵ジェネレータ621の一部分だけを暗号化することができることも考えられる。しかしながら、同様な演算をデスクランブラ660の内部で繰返す必要がある。
【0071】
合わせ鍵622を受取ると、CAコントロールシステム620は、スマートカード640に送られる1つ又は2つ以上のECM642とともに資格管理メッセージ(EMM)を生成する。EMM648の1つの実施態様を図6Cに示す。
【0072】
図6Cに示すように、EMM648は、以下のものの、すなわち、スマートカードID643、長さフィールド(length feeld)644、合わせ鍵ジェネレータ621、“M”(M≧1)鍵識別子6451乃至645M、及びキー識別子6451乃至645Mと関連する鍵6461乃至646Mの少なくとも2つを含む。また、その他の資格647をEMMに含めることもできる。また、合わせ鍵ジェネレータ621をEMM648から除外し、別途にまた一般的にはEMM648と同時に送信することもできるということが考えられる。
【0073】
特に、図6Cに関して、スマートカードID643は、特定のセットトップボックス及びおそらくはセットトップボックスのメーカーを示すために用いられるビット値である。「EMM長さフィールド」644は、EMM648の長さを示すために用いられるビット値である。合わせ鍵ジェネレータ621は、図示すように、図6Bに示したパラメータを含むビット値である。各鍵識別子6451乃至645Mは、鍵6461乃至646Mが不法に変更されているかどうかをチェックする際に用いるために署名された16ビット資格タグ値である。鍵6461乃至646Mは、アクセス要求及び少なくとも1つのスクランブル解除鍵を暗号化フォーマットで配信するために用いられるECM642を解読するために用いられる。
【0074】
図7A乃至7Cに示すように、スマートカード650はEMM648を受信し、合わせ鍵ジェネレータ621及びECM642から再生されたスクランブル解除鍵651をセットトップボックス640のデスクランブラ660に送る。
【0075】
図7Aは、図6Aのセットトップボックス640の内部に実装されたデスクランブラ660の第1実施例である。合わせ鍵ジェネレータ621及び暗号化スクランブル解除鍵651をスマートカード650から受信すると、デスクランブラ660は、デスクランブラ660に記憶された固有鍵680を用いて合わせ鍵ジェネレータ621に対して暗号化演算を行う第1プロセスブロック661を含む。プロセスブロックに関連する暗号化又は解読演算は、データ暗号化規格(DES)、アドバンスト暗号化規格(AES)、IDEA、トリプルDES等のような暗号機能に従って行うこともできる。これらの暗号機能のいつかは単に例示のために挙げられているにすぎない。
【0076】
合わせ鍵ジェネレータ621に対する暗号化演算により、合わせ鍵622と同一の鍵633が作られ、この鍵633が第2プロセスブロック664にロードされる。プロセスブロック664は、暗号化スクランブル解除鍵651を解読し、スクランブル解除鍵665を作るために用いられる。スクランブル解除鍵665は、セットトップボックス640及び特にデスクランブラ660にロードされたスクランブルコンテンツをスクランブル解除するために用いられる。スクランブル解除は、例えば、スクランブルコンテンツ666に対する3DES演算の実施を含む。その結果値は、クリアフォーマットのコンテンツであり、このコンテンツはデスクランブラ660から伝送され、その後、図5に示すようにMPEGデコーダに、又はオプションでD/コンバータ、DVIインタフェース又はIEEE 1394 インタフェースにロードすることができる。
【0077】
合わせ鍵622がどのように定式化されているかに応じて、解読及び暗号化をそれぞれサポートするためにプロセスブロック661及び664を変えることもできるということも考えられる。
【0078】
図7Bは、図6Aのセットトップボックス640の内部に実装されたデスクランブラ660の第2実施例である。スクランブル解除は、2つの鍵を有する3DESにしたがって行われる。図7Aに示したように、デスクランブラ660は、デスクランブラ660に記憶された固有鍵680を用いて合わせ鍵ジェネレータ621に対して暗号化演算を行う第1プロセスブロック661を備える。
合わせ鍵ジェネレータ621に対する暗号化演算により、合わせ鍵622と同一の鍵633が作られる。鍵633は2つのDESプロセスブロック6641及び6642にロードされる。プロセスブロック6641は、第1暗号化スクランブル解除鍵652を解読し、第1スクランブル解除鍵6651を作るために用いられる。プロセスブロック6642は、第1暗号化スクランブル解除鍵653を解読し、第2スクランブル解除鍵6652を作るために用いられる。DK6651及びDK6652は、スクランブルコンテンツ666をスクランブル解除するための低レベル3DESスクランブル解除論理回路667によって用いられる。
【0079】
もちろん、プロセスブロック661を、図7Cに示したような複数の鍵を有する3DESを支援するように設定することもできるということが考えられる。この実施態様においては、プロセスブロック6641及び6642にそれぞれ提供される2つの鍵6631及び6632を作るために、複数の合わせ鍵ジェネレータ6211及び6212がスマートカード650により提供される。これらのプロセスブロック6641及び6642は、スクランブルコンテンツ666をスクランブル解除するための低レベル3DESスクランブル解除論理回路667により使用される第1スクランブル解除鍵6651及び第2スクランブル解除鍵6652を作る。
【0080】
図7Cに示したように、第1合わせ鍵ジェネレータ6211は、図6Bの合わせ鍵ジェネレータ621として設定することもできる。しかしながら、第2合わせ鍵ジェネレータ6212は、鍵6632の中に配置されたコピープロテクトパラメータを認証するように設定することもできる。例えば、第2合わせ鍵ジェネレータ6212は、コピーコントロール、及びコピーコントロールが適用される入力コンテンツを識別するコンテンツ識別子フィールドを提供するコピーコントロール情報(CCI)を含むこともできる。例えば、CCIフィールドは、コンテンツを永続的な記憶のためにはコピーできないこと、又は所定の回数(例えば、1回、2回等)であればコピーできることを識別することもできる。CCIフィールドは、コンテンツの再生可能回数を識別するために、又はかかるコンテンツについての所定の視聴時間を設定するために用いることもできる。
【0081】
さらに、第2合わせ鍵ジェネレータ6212は、関連するデジタルコンテンツを識別する値を含むコンテンツIDフィールドを含むこともでき、デジタルコンテンツの有効期間/期限切れを管理するためのデータを含むこともできる。さらに、第2合わせ鍵ジェネレータ6212は、デジタルコンテンツのコピー可能回数を識別する値を含むコピー生成番号フィールドを含むこともできる。当然、フィールドのサイズを縮小するために、複数のパラメータをハッシュ演算しフィールド内に記憶することもできる。
【0082】
図8は、セキュアコンテンツ配信システムの第4実施例700を示す。セキュアコンテンツ配信システム700は、加入者管理システム610、CAコントロールユニット620、合わせ鍵ゲートウェイ710、合わせ鍵サーバ6301乃至630N、及セットトップボックス640を備える。図6Aに示したように合わせ鍵ジェネレータ621及びSTBシリアルナンバー641をCAコントロールシステム620から合わせ鍵サーバ6301乃至621Nに伝送する代わりに、これら情報を合わせ鍵ゲートウェイ710に送ることもできる。合わせ鍵ゲートウェイ710は、合わせ鍵ジェネレータ621から図6BのSTBメーカーID623にアクセスし、合わせ鍵ジェネレータ621及びSTBシリアルナンバー641を選択された合わせ鍵サーバ6301に適切に送る。これによって、合わせ鍵622を再生するCAコントロールシステム620又はサーバ6301乃至621Nの処理時間が短縮する。
【0083】
あるいは又、合わせ鍵ジェネレータ621及びSTBシリアルナンバー641を選択された合わせ鍵サーバ6301に送る合わせ鍵ゲートウェイ710を用いる代わりに、合わせ鍵の検索のために目標のデータベースにアクセスする信頼の置ける第三者に、これら情報を送ることもできるということが考えられる。合わせ鍵622の検索のために選択されたデータベースは、合わせ鍵ジェネレータ621及び/又はSTBシリアルナンバー641に基づくものである。例えば、各データベースには、合わせ鍵ジェネレータ621及び/又はSTBシリアルナンバー641と関連した値に基づくある範囲のアドレスを通じてアクセス可能とすることもできる。これらの値は、目標のデータベースを識別するために用いられる。
【0084】
図9Aはセキュアコンテンツ配信システム800の第5実施例である。セキュアコンテンツ配信システム800は、加入者管理システム610、CAコントロールシステム810、異なるセットトップボックスメーカーと関連した複数の合わせ鍵サーバ6301乃至621N、セットトップボックス820、合わせ鍵ゲートウェイ830(図8の合わせ鍵ゲートウェイ710に類似)、及びネットワークインタフェース840(例えば、DOCSIS CMTS)を備える。セットトップボックス820は、セットトップボックス820の固有鍵880(「固有鍵」と呼ぶ)を記憶するように設定されたローカルメモリ870を有するデスクランブラ820を備える。固有鍵880はICの製造又はセットトップボックス820の生成中にロードされる。
【0085】
セットトップボックス820は、電子番組ガイド(EPG)メタデータをEPGとともに非スクランブルフォーマットで受取り、デジタルプログラミングコンテンツ850をスクランブルフォーマットで受取る。1つの実施形態において、EPGメタデータ900は、CAコントロールシステム810により帯域外提供される。図9Cに示したように、EPGメタデータ900の1つの実施形態は、コンテンツプロバイダによって提供される異なるタイプのコンテンツ用の複数のタグエントリー9101乃至910S(S≧1)を有する。各タグエントリー910j(1≦j≦S)は、少なくとも1つのチャンネル名920j、コンテンツの名称930j、及びチャンネルと関連した鍵識別子940jを有する。さらに、各タグエントリー910jは、さらに番組識別子950j及び合わせ鍵ジェネレータ(MKG)960jを有する。メタデータ900は、EMM885の中に提供された鍵の検証用に合わせ鍵ジェネレータ(例えば、合わせ鍵ジェネレータ621)及び鍵識別子を提供するために用いられる。
【0086】
再び図9Aに戻り、セットトップボックス820のユーザーがいったん特定のタイプのコンテンツ(例えば、PPV映画、放送チャンネル等)を受取ることを希望すると、セットトップボックス820は、要求コンテンツと関連した資格がすでに内部に記憶されているかどうかを判断する。もし資格が記憶されていない場合は、ユーザーには画面表示又は音声再生により直接その旨を知らせ、加入者管理システム610(又はCAコントロールしステム810)に対して要求信号811を出すプロンプトを表示することもできる。あるいは又、ユーザーコントロールなしで、要求信号811を自動的に送ることもできる。要求信号811は、図示したように帯域外(例えば、電話又はDOCSISによるインターネットを通じての電子メール)で、又は対域内で加入者管理システム610に提供することもできる。
【0087】
本実施形態で示したように、STBシリアルナンバー831及び資格(又はCAコントロールシステム810におけるSTBシリアルナンバー831のルックアップ)を有する認証メッセージ815を加入者管理システム610から受信すると、CAコントロールシステム810は、STBシリアルナンバー831及び合わせ鍵ジェネレータ832を合わせ鍵ゲートウェイ830に送る。合わせ鍵ゲートウェイ830は、ダウンロードされたスクランブル情報から要求コンテンツを抽出するために用いられる合わせ鍵833の配信を調整するための手段として動作する。もちろん、相互間で安全な通信を行うためにCAコントロールシステム810は合わせ鍵ゲートウェイ830による認証作業を行うこともできる。
【0088】
合わせ鍵833を受信すると、CAコントロールシステム810は、1つ又は2つ以上の資格管理メッセージ(EMM)885を生成する。ECMは提供されない。例えば、EMM885を通じて、チャンネル鍵だけが提供される。EMMの1つの実施形態を図9Bに示す。
【0089】
図9Bに示したように、EMM855は、以下のものの、すなわちSTBシリアルナンバー831、EMM長さフィールド842、合わせ鍵ジェネレータ832、“M”(M≧1)鍵識別子8441乃至844M、及び鍵識別子8441乃至844Mと関連した暗号化サービス鍵8461乃至846Mの少なくとも2つを含む。もちろん、識別子又はサービス鍵に加えてその他のタイプの資格をEMM885に含めることもでき、これらの値のサイズ(単位:ビット)は変えることができる。また、合わせ鍵ジェネレータ832をEMM885から除外し、別途にまた一般的にはEMM885と同時に送信することもできるということが考えられる。
【0090】
STBシリアルナンバー831は、特定のセットトップボックス及びおそらくはセットトップボックスのメーカーを示すために用いられる値である。「EMM長さフィールド842」は、EMM885の長さを示すために用いられるビット値である。合わせ鍵ジェネレータ832は、図に示すように、図6Bに示したパラメータを含むビット値である。各鍵識別子8441乃至844Mは、対応する暗号化サービス鍵8461乃至846Mと関連したサービスの段階をそれぞれ示す16ビット値である。暗号化サービス鍵8461乃至846Mは、デスクランブラ内に作られた図9Aの合わせ鍵833と対応する鍵により解読される。
【0091】
図10は、図9Aのセットトップボックス820の内部に実装されたデスクランブラ860の第1実施形態である。EMM885に含まれる合わせ鍵ジェネレータ832及び暗号化サービス鍵846j(1≦j≦M)を受信すると、デスクランブラ860は、デスクランブラ860に事前に記憶された固有鍵880を用いて合わせ鍵ジェネレータ832に対して暗号化演算を行う第1プロセスブロック861を含む。暗号化演算は、DES、AES、IDEA、トリプルDES等のような対称鍵暗号機能に従って行うこともできる。もちろん、暗号化機能の代わりにハッシュ機能(hashing function)を実行するために、プロセスブロック861を変えることもできることが考えられる。
【0092】
合わせ鍵ジェネレータ832に対する暗号化演算により、合わせ鍵833と同一の鍵863が作られる。鍵863は、セットトップボックス840及び特にデスクランブラ860にロードされたスクランブルコンテンツ850をスクランブル解除するために用いられるサービス鍵を再生するための暗号化サービス鍵846jを解読するために用いられる第2プロセスブロック864にロードされる。スクランブル解除はスクランブルコンテンツに対する3DES演算の実施を含むこともできる。その結果値は、例えばクリアフォーマットのコンテンツであり、このコンテンツはデスクランブラ860から伝送され、その後、図5に示すようにMPEGデコーダに、あるいはオプションでD/コンバータ、DVIインタフェース、又はIEEE 1394 インタフェースにロードすることもできる。
【0093】
図11には、セキュアコンテンツ配信システムの第6実施例900の一部を示す。加入者管理システム610及び図9AのCAコントロールシステムの代わりに、合わせ鍵ゲートウェイ830を、それぞれ異なるコンテンツプロバイダと関連した複数の加入者管理システム(SMS)9101乃至910Kとの通信に適合させることもできる。これらの加入者管理システム(SMS)9101乃至910Kの各々が合わせ鍵ジェネレータ及びSTBシリアルナンバー9201乃至920Kを合わせ鍵830に供給し、代わりに、対応合わせ鍵9301乃至930Kを受信する。これらの合わせ鍵9301乃至930Kは、1つ又は2つ以上の目標セットトップボックス(図示せず)に提供されるサービス鍵を暗号化するために用いられる。あるいは、図6A、8及び9Aに示したように、信頼の置ける第三者635を利用することもできる。
【0094】
例えば、この図示した実施形態において、加入者管理システム9101及び9102は地上波放送局であり、それぞれが合わせ鍵ジェネレータ及びSTBシリアルナンバー9201、9202を合わせ鍵ゲートウェイ830に提供し、対応する合わせ鍵9301、9302を受信する。同様に、加入者管理システム9103及び9104はケーブル事業者であり、加入者管理システム9105は直接放送衛星(DBS)会社であり、加入者管理システム910K−1乃至及び910Kはインターネットコンテンツソースである。
【0095】
図12には、セキュアコンテンツ配信システムの第7実施例1000の一部を示す。システム1000のセットトップボックス1010は、第1コンテンツソースからスクランブルコンテンツ又は暗号化コンテンツ1020を、また第2コンテンツソースから資格管理メッセージ(EMM)1040を受信する。第2ソースは、例えばスマートカード、又はCAコントロールシステムである。
【0096】
本発明の1実施形態によれば、EMM1040は、コピープロテクト鍵ジェネレータ(CPKG)1042及び暗号化ユーザー鍵1041を備える。図12及び13に示すように、暗号化ユーザー鍵(Ekey)1041は、Ekey1041が固有鍵(「固有鍵」)1031又はその派生鍵(derivaive)により解読された場合にデスクランブラ1030内にコピープロテクト鍵1035を生成するために計算される値である。固有鍵1031は、ICの製造中、あるいはセットトップボックス1010作成中にロードされる。コピープロテクト鍵1035は、解読目的のために、他のセットトップボックス1070、ポータブルコンピュータ(例えば、PDA)1071と、あるいはポータブルジュークボックス1072などの他の装置とも共有される。
【0097】
図14に示すように、CPKG1042は、STBメーカーID1050、EMM1040を提供するシステムを識別するためのシステムID(図6BのCAプロバイダIDに類似)、デジタルコンテンツのプロバイダを識別するためのコンテンツプロバイダID1052(図6BのサービスプロバイダID624に類似)、及び目的が図6Bの合わせ鍵シーケンス番号とほぼ同じのCPシーケンス番号1053を有する。さらに、CPKG1042は、入力コンテンツのコピーの可否、再生回数、又は再生の日付/時間のような、コンテンツ管理コントロールを提供するコピープロテクトステータス値1054を有する。
【0098】
再び図13に戻って、本実施形態のデスクランブラ1030は、Ekey1041、CPKG1042及び暗号化スクランブル解除鍵1043を第2ソースから受信する。CPKG1042は、図9Aの合わせ鍵ジェネレータ832と実質的に同じである。デスクランブラ1030は、DES、AES、IDEA、3DESなどの対称鍵暗号機能によって固有鍵1031を用いてEkey1041を解読する第1プロセスブロック1032を有する。
【0099】
Ekey1041に対する解読演算によってユーザー鍵1033が再生され、ユーザー鍵1041はCPKG1042を解読し、コピープロテクト鍵1035を作るために用いられる第2プロセスブロック1634にロードされる。暗号化スクランブル解除鍵1043は、スクランブル解除鍵をクリアフォーマットで再生し、セットトップボックス1010及び、特にデスクランブラ1030にロードされた暗号化コンテンツ1020をスクランブル解除及び/又は解読するために、固有鍵(又はその派生鍵)を用いて解読される。スクランブル解除及び/又は解読は3DES演算の実行を含むこともできる。
【0100】
結果として、コンテンツは一時的にクリアフォーマットで配置されるが、しかし低レベル暗号化論理回路1060に送られ、暗号化論理回路1060は、宛先デジタル装置のいずれか又は全てと関連したコピープロテクト鍵1035によって、スクランブル解除コンテンツを暗号化する。結果として、コンテンツは以降の伝送期間中は安全である。
【0101】
図15は、デジタル装置1100の内部に実装されたデスクランブラの他の実施形態1110を示す。デジタル装置1100との通信に適合され、デスクランブラ1110は番組データをコンテンツプロバイダから受信し、番組データを目標のデジタル装置に送る。番組データにクリア状態でアクセス可能になることを避けるために、番組データを暗号化又はスクランブルすることにより、番組データを「コピープロテクト」することもできる。
【0102】
本発明の1実施例において、デスクランブラ1110は、メモリ1120、制御ワード(CW)鍵ラダー論理回路1130、コピープロテクト(CP)鍵ラダー論理回路1140、及び複数の暗号ユニット1150、1160及び1170を備える。ここでは、デスクランブラ1110は、単一の集積回路として配置されている。しかしながら、デスクランブラ1110を、マルチチップパッケージ内に収納された複数の集積回路として配置することもできることが考えられる。
【0103】
図15に示すように、メモリ1120は、安全性を強化するために1回しか書込みのできないプログラマブル不揮発性メモリである。結果として、少なくとも1つの固有鍵1122(以下、一般的には「STB鍵」と呼び、それぞれをSTB鍵‐tと呼ぶ、ここで、t≧1)は、1回のみプログラム可能なメモリに書き込まれた後は、不正に読取り又は上書きすることはできない。STB鍵1122は、CW鍵ラダー論理回路1130及びCP鍵ラダー論理回路1140に供給される。従って、STB鍵1122は、いったんプログラミングされると、再プログラミング、変更、又はデスクランブラ1110の外部からの読取りは不可能である。それに加えて、プログラミング後に値を読取るために、Jタグを用いることはできない。STB鍵1122は、例えば、単一の56ビットデータサブ鍵、3つの56ビット3DESサブ鍵、又は単一の128ビットAES鍵などの様々な実施形態で実行することができる。
【0104】
図15でさらに示すように、CW鍵ラダー論理回路1130は、入力情報、すなわち条件アクセス(CA)ランダム値1200、合わせ鍵ジェネレータ1205、及び1つ又は2つ以上の暗号化制御ワード1210を受信する。CW鍵ラダー論理回路1130は入力情報を処理し、STB鍵1122の1つ又は2つ以上の派生鍵1124(以下では、一般的には「S鍵」と呼び、それぞれをS鍵‐uと呼ぶ、ここで、u≧1)を作る。入力データ1215を解読するために、S鍵1124は第3暗号ユニット1170に供給される。入力データ1215の例としては、帯域外送信される番組データ、又は、デジタル装置1100により作られ、例えば、ヘッドエンド又はCAコントロールシステムへ戻る通信の際に、デジタル装置1100からの起点(origination)を確認するために用いることができるハッシュ処理データがある。
【0105】
1つ又は2つ以上の制御ワード1126(以下では、一般的には「制御ワード」と呼び、それぞれを“CW‐v”と呼ぶ、ここで、v≧1)を暗号化制御ワード1210から再生させるために、CW鍵ラダー論理回路1130は入力情報も処理する。スクランブルコンテンツ1120をスクランブル解除するために、制御ワード1126は第1暗号ユニット1150に提供される。その後、クリアコンテンツ(clear content)1125が第2暗号ユニット1160に供給され、この第2暗号ユニット1160は、デジタルレコーダ、セットトップボックス等のようなデジタル装置への伝送の前にクリアコンテンツを暗号化するためのコピープロテクトメカニズムとして設定されている。
【0106】
図16は、図15のデスクランブラ1110の制御ワード(CW)鍵ラダー論理回路の実施例1130を示す。一般的に、CW鍵ラダー論理回路1130は、第1プロセスブロック1300、第2プロセスブロック1330、及び第3プロセスブロック1360を備える。第1プロセスブロック1300は、STB鍵の派生鍵であるS鍵1224を生成するように設定されている。第2プロセスブロック1330は、合わせ鍵ジェネレータ1205又はその論理派生に基づき、1つ又は2つ以上の合わせ鍵1335(以下では、一般的には「合わせ鍵」と呼び、それぞれを「合わせ鍵‐w」と呼ぶ、ここに、w≧1)を生成するように設定されている。第3プロセスブロック1360は、合わせ鍵1335又はその論理派生を用いて暗号化制御ワード1216を解読する際に制御ワード1120を再生するように設定されている。
【0107】
図17A乃至17Cは、図16のCW鍵ラダー論理回路1130の第1プロセスブロック1300の演算の実施例を示す。図17Aに示すように、第1プロセスブロック1300は、コンテンツプロバイダからメッセージの形でデスクランブラ1110に配信されるシード値であるCAランダム1200に対するDES暗号演算を行う。CAランダム1200及びSTB鍵1 11221に基づき、S鍵‐1 11241が生成される。S鍵‐1 11241はSTB鍵‐1 11221の派生鍵である。
【0108】
図17Bに示すように、第1プロセスブロック1300は、DES暗号演算の代わりにAES暗号演算を行うように適合させることもできる。特に、第1プロセスブロック1300は、入力ビット値1305及びSTB鍵‐1 11221に基づき、STB鍵‐1 11221の派生鍵であるS鍵‐1 11241を生成するように設定されている。本発明の1実施形態によれば、入力値1305は、所定の論理値(例えば、全ての論理値“0”)に設定された“M”追加ビット1307と組合されたCAランダム1200を有する。1実施形態において、ビット1307は入力値1305の最上位ビットとして配置されている。S鍵‐1 11241を作るために、入力値1305はSTB鍵‐1 11221を用いて解読される。ここで、“M”が64であり、CAランダム1200の長さが64ビットである場合は、S鍵‐1 11241の長さは128ビットである。しかしながら、その他のビットサイズを用いることもできることが考えられる。
【0109】
図17Cに示すように、第1プロセスブロック1300は、DES又はAES暗号演算の代わりに3DES暗号演算を行うように適合させることもできる。3DES暗号演算が行われる場合は、第1プロセスブロック1300は、所定の値とCAランダム1200との間で論理演算を行うように設定することもできる。「論理」演算は、少なくとも1つの排他的OR演算を含むこともでき、入力値1200が3つのデータ入力値1310、1314及び1315用の3つの別々の入力パスに分けられる場合は、データ値が異なることを保証するために、複数のデータ値のビット毎論理チェックを含むこともできる。問題は、データ入力値1310、1314及び1315が同じである場合は、データ出力11241、11242及び11243が同じになることである。2つの鍵がお互いをキャンセルしあうので、これによって3DESが単一のDES演算に格下げされることがある。これによって、実装全体の安全性が低下することがある。
【0110】
本実施形態において、CAランダム1200は第1計算パス1310を介して送られる。しかしながら、CAランダム1200は、第1所定値1311及び第2所定値1312によってXOR演算され(例えば、1つのタイプのビット毎論理演算)、そこで、結果値1314及び1315は第2及び第3計算パス1316及び1317に沿ってそれぞれ送られる。かかるXOR演算は、相互に並列処理することもできる。本発明のこの実施形態では、所定値1311及び1312は相互に異なっている(例えば、x01H、x02H).
【0111】
CAランダム1200は、結果値1314及び1315とともに、第1固有鍵「STB鍵‐1」 11221を使用してDES解読演算される。解読結果値はその後第2固有鍵「STB鍵‐2」 11222を用いて暗号化され、次に第3固有鍵「STB鍵‐3」 11223を用いて解読される。結果として、第1プロセスブロック1300は、S鍵1124、すなわち本実施態様における第1派生鍵「S鍵‐1」11241、第2派生鍵「S鍵‐2」11242及び第3派生鍵「S鍵‐3」11243を生成する。
【0112】
用いられる暗号機能のタイプとは無関係に、S鍵1124は、合わせ鍵1335を生成するために第2プロセスブロック1330に供給される。
【0113】
図18A乃至18Cは、図16に示したCW鍵ラダー論理回路1130の第2プロセスブロック1330の実施形態を示す。図18Aに示すように、第2プロセスブロック1330は、この実施形態においてSTB鍵‐1 11221の単一の派生鍵であるS鍵‐1 11241を用いて、合わせ鍵ジェネレータ1205に対しDES暗号演算を行う。これにより、第3プロセスブロックに供給される合わせ鍵1 13351が生成される。
【0114】
図18Bに示すように、AES暗号演算が行われる場合は、第2プロセスブロック1330は、合わせ鍵ジェネレータ1205及びSキー‐1 11241に基づいて合わせ鍵1335を生成するように設定される。本発明の1実施形態においては、入力値1340は、所定の論理値(例えば、全てのビットを論理“0”に設定)を有するMビット1345と組合された合わせ鍵ジェネレータ1205を有する。Mビット1345は入力値1340の最上位ビットとして配置されており、本実施態様においては、M≦64である。入力値1340は、合わせ鍵1 13351を生成するために、S鍵‐1 11241を用いて解読される。
【0115】
図18Cに示すように、3DES暗号演算が行われる場合は、第2プロセスブロック1330は、所定の値と合わせ鍵ジェネレータ1205との間で論理演算を行わせるように設定される。詳細には、合わせ鍵ジェネレータ1205は、第1計算パス1350を介して送られる。又、合わせ鍵ジェネレータ1205は、第1所定値1351及び第2所定値1352を用いてXOR演算される。これらの結果値1354及び1355はそれぞれ第2及び第3計算パス1356及び1357を介して送られる。このXOR演算は、相互に並列処理することもできる。
【0116】
図17Cとは異なり、合わせ鍵ジェネレータ1205及び結果値1354及び1355は、派生鍵11241乃至11243すなわちS鍵‐111241、S鍵‐2 11242及びS鍵‐3 11243を用いてDES解読演算される。これによって、合わせ鍵1335すなわち合わせ鍵1 13351、合わせ鍵2 13352及び合わせ鍵3 13353が生成される。
【0117】
図19A乃至19Cは、図16のCW鍵ラダー論理回路1130の第3プロセスブロック1360の実施例を示す。図19Aに示したようなDES暗号機能に関しては、合わせ鍵1 13351が制御ワード1126を再生するために用いられる。実施例としては、制御ワード1126は、複数の制御ワードすなわち第1制御ワード(CW‐1)11261、第2制御ワード(CW‐2)11262及び第3制御ワード(CW‐3)11263を特徴とする。
【0118】
図19Bに示すように、AES暗号演算が行われるときは、第3プロセスブロックは、制御ワードを集合的に再生するように設定される。例えば、本発明の1つの実施形態によれば、入力値1365は最下位部分として配置された第1暗号化制御ワード12101を有する。第2暗号化制御ワード12102は入力値1365の最上位部分として配置されている。入力値1365は、図16の第2プロセスブロック1330により生成される合わせ鍵1 13351を用いてAES暗号機能によって解読され、入力値1364のビット幅と等しいビット幅を有する結果値1370が生成される。結果値1370については、CW‐1 11261は最下位部分として配置され、CW‐2 11262は最上位部分として配置されている。
【0119】
さらに、第3プロセスブロック1360は、おそらくは最上位ビットとして配置された複数のビット1375と組合された第3暗号化制御ワード11203を解読するようにも設定されている。かかる解読は合わせ鍵1 13351を用いて行われ、結果値1376が生成される。かかる解読はAES暗号機能によるものである。CW‐3 11263は結果値1376から抽出することもできる。1実施形態において、抽出は、結果値1376から所定の数の最下位ビットにアクセスすることによって実現される。
【0120】
図19Cに示すように、複数の暗号化制御ワードが、ここに示すような3−DES暗号機能によって送られる。これによって、CW‐1 11261乃至CW‐3 11263が再生される。例えば、第1暗号化制御ワード11261は、合わせ鍵13351を用いてDES暗号機能にしたがって解読される。次に、解読制御ワードは合わせ鍵2 13352を用いて暗号化され、その後CW‐1 11261を再生するために、第3合わせ鍵 13353によってDES機能を用いて解読される。
【0121】
しかしながら、第2暗号化制御ワード12102は、第1所定値1382(例えば、x02H)を用いてXOR演算される第1合わせ鍵1 13351によって生成される鍵情報1385を用いて解読される。このXOR演算は、再生CW‐1 11261が再生CW‐2 11262と等しいときの鍵のキャンセルを防止する。この第1所定値1382は、その他の交代鍵13352乃至13353によってXOR演算され、処理を行うDES暗号化論理回路にロードされる鍵情報1386及び1387を生成する。同じ機能がCW‐3 11263の再生にも適用されるが、第3暗号化制御ワード12103は、第2所定値(例えば、x04H)によりXOR演算される合わせ鍵13351乃至11353に基づく鍵情報1390、1391、1392を用いて暗号DESによって処理される。
【0122】
図20は、図15のセスクランブラ1110のCP鍵ラダー論理回路1140の実施例を示す。ここで、CP鍵ラダー論理回路1140は、第4プロセスブロック1400、第5プロセスブロック1430及び第6プロセスブロック1460を備える。第4プロセスブロック1400は、CPランダム1250及びSTB鍵1122又はその論理派生に基づき、1つ又は2つ以上の派生鍵1410(以下では、一般的には「SCP鍵」と呼び、それぞれを「SCP鍵‐x」と呼ぶ。ここで、x≧1)を生成するように設定されている。第5プロセスブロック1430は、暗号化ユーザー鍵1255又はその論理派生に基づき、1つ又は2つ以上のユーザー鍵1435(以下では、一般的には「ユーザー鍵」と呼び、それぞれを「ユーザー鍵‐y」と呼ぶ。ここで、y≧1)を生成するように設定されている。第6プロセスブロック1460は、第5プロセスブロック1430で生成されたユーザー鍵(又はその派生物)を用いて1つ又は2つ以上のコピープロテクト(CP)鍵ジェネレータ1260を解読することによって、1つ又は2つ以上のCP鍵1465(以下では、一般的には「CP鍵」と呼び、それぞれを「CP鍵‐z」と呼ぶ。ここで、z≧1)を生成するように設定されている。
【0123】
図21Aに示すように、第4プロセスブロック1400は、コンテンツプロバイダからメッセージの形でデスクランブラ1110に配信されるシード値であるCPランダムに対してDES暗号演算を行う。SCP鍵‐1 14101は、CPランダム1250及びSTB鍵(例えば、STB鍵‐1 11221)の論理派生に基づいて生成される。論理派生1405は、所定の値1407によりXOR演算されるSTB鍵‐1 11221によって生成される結果値である。従って、SCP鍵‐1 14101はSTB鍵‐1 11221の派生鍵である。
【0124】
図21Bに示すように、AES暗号演算が行われるときは、第4プロセスブロック1400は、入力ビット値1415及び論理派生1405に基づいてSTB鍵1122の派生鍵であるSCP鍵1410を生成するように設定される。本発明の1実施形態では、入力ビット値1415は、複数のビット(M)1417と組合されたCPランダムを有する。ビット1417は、入力ビット値1415の最上位ビットとして配置されている。ここでは、別のビットサイズ及び異なる論理値を用いることもできるが、これらの“M”を、全てが論理“0”に設定された64ビットとすることもできる。SCP鍵‐1 14101を生成するために、入力ビット値1415は論理派生1405を用いて解読される。
【0125】
図21Cに示すように、3DES暗号演算が行われるときは、第4プロセスブロック1400は、CPランダム1250に対して暗号演算を行うように設定される。詳細には、CPランダム1250は、所定の値(例えば、x0AH)によって生成される値である第1論理派生1420に基づいて解読される。このXOR演算は相互に並列処理することもできる。
【0126】
解読結果値1421、1422及び1423は、所定の値1407によってXOR演算されるSTB鍵‐2 11222の結果値である第2論理派生1424を用いてDES暗号化演算される。これによって、暗号化結果値1425、1426及び1427が生成され、これらの結果値は第3論理派生1428を用いて解読される。第3論理派生1428は、所定の値1407によりXOR演算されるSTB鍵‐3 11223の結果値である。この結果、第1派生鍵「SCP鍵‐1」14011、第2派生鍵「SCP鍵‐2」14012、及び第3派生鍵「SCP鍵‐3」14013が出力される。
【0127】
図22A乃至22Cは、図20のCP鍵ラダー論理回路1140の第5プロセスブロック1430の実施形態を示す図である。図22Aに示すように、本発明の実施形態において、第5プロセスブロック1430は、第4プロセスブロック1400からのSCP鍵1410(例えば、SCP鍵‐1 14101)を用いて、暗号化ユーザー鍵に対してDES暗号演算を行う。これによって、第6プロセスブロック1460に提供されるユーザー鍵(例えば、ユーザー鍵‐1 14351)が生成される。
【0128】
XOR演算を、第5プロセスブロックが受信する前に、暗号化ユーザー鍵1255に対して行うこともできるということが考えられる。あるいは、全てのSCP鍵14101乃至1410xが固有であることを保証するために、XOR演算の代わりに論理チェックを行うこともできる。
【0129】
図22Bに示すように、AES暗号演算が行われるときは、第5プロセスブロック1430は、暗号化ユーザー鍵1255及び所定の値1440に基づきユーザー鍵(例えば、ユーザー鍵‐1 14351)を生成するように設定される。本発明の1つの実施形態において、入力値1445は所定の値に設定され、入力値1445の最上位ビットとして配置された複数のビット1440と組合された暗号化ユーザー鍵1255を有する。ここで、64ビットを用いることもできるが、別のビットサイズを用いることもできる。ユーザー鍵14351を生成するために、入力値1445はSCP鍵(例えば、SCP鍵‐1 14101)を用いて解読される。
【0130】
図22Cに示すように、3DES暗号演算が行われるときは、第5プロセスブロック1430は、所定の値と暗号化ユーザー鍵1255との間で論理演算を行うように設定される。詳細には、暗号化ユーザー鍵1255は、第1計算パス1450を介して送られる。さらに、第2計算パス1453を介して送られる論理派生1452を生成するために、第1所定値(例えば、x01H)が暗号化ユーザー鍵1255によってXOR演算される。又、第3計算パス1456を介して送られる論理派生1455を生成するために、暗号化ユーザー鍵1255が第2所定値によってXOR演算される。このXOR演算は相互に並列処理することもできる。本発明の実施形態において、所定の値1451及び1454は異なっている(例えば、x01H、x02H)。
【0131】
結果値は、SCP鍵1410すなわちSCP鍵‐1 14101、SCP鍵‐2 14102、及びSCP鍵‐3 14103を用いてDES解読演算される。最終結果値は、暗号化解読暗号化演算の実施の後に、ユーザー鍵‐1 14351、ユーザー鍵‐2 14352、及びユーザー鍵‐3 14353を生成する。
【0132】
図23A乃至23Cは、CP鍵ラダー論理回路1140の第6プロセスブロック1460の実施形態を示す図である。図23Aに示すようなDES暗号機能に関しては、対応するCP鍵を再生するために、1つ又は2つ以上のCP鍵ジェネレータ1260(以下では、一般的には「PC鍵ジェネレータ」と呼び、それぞれを「CP鍵ジェネレータ‐r」と呼ぶ。ここで、r≧1)を用いることもできる。例えば、CP鍵‐1 14651を生成するために、CP鍵ジェネレータ12601は、ユーザー鍵‐1 14351を用いる暗号機能によって解読される。同様に、第2及び第3CP鍵ジェネレータ12602及び12603は、ユーザー鍵‐2 14352及びユーザー鍵‐3 14353を用いた暗号機能によって解読される。これによって、CP鍵‐2 14652及びCP鍵‐3 14653がそれぞれ生成される。
【0133】
図23Bに示すように、AES暗号演算が行われるときは、第6プロセスブロック1460は、別のデジタル装置へ伝送する前にコンテンツを暗号化する際に用いられるコピープロテクト鍵を再生するように設定される。例えば、本発明の1実施形態によれば、第1入力値1470は、CP鍵ジェネレータ12601及び所定の値1475のつらなりを含む。図示するように、説明しやすくするために、CP鍵ジェネレータ12601は第1入力値1470の最下位部分に配置され、所定の値1475は最上位部分に配置されている。第1入力値1470は、ユーザー鍵(例えば、第5プロセスブロックにより作られたユーザー鍵‐1 14351)を用いたAES暗号機能によって解読される。これによって、CP鍵‐1 14651が生成される。CP鍵‐2 14652及びCP鍵‐3 14653をそれぞれ生成するために、同様な演算がCP鍵ジェネレータ‐2 12602及びCP鍵ジェネレータ‐3 12603に対して行われる。
【0134】
図23Cに示すように、3DES暗号演算が行われるときは、第6プロセスブロック1460は、別のデジタル装置へ伝送する前にコンテンツを暗号化する際に用いられるコピープロテクト鍵を再生するように設定される。本発明の1実施形態によれば、CP鍵ジェネレータ12601はユーザー鍵‐1 14351を用いて解読される。結果値はユーザー鍵‐2 14352を用いて解読され、次に、解読結果値はユーザー鍵‐3 14353を用いて解読される。これによって、CP鍵‐1 14651が生成される。
【0135】
同様に、第2CP鍵ジェネレータ12602は、ユーザー鍵‐1 14351の第1論理偏差1480を用いて解読される。本発明の1つの実施形態において、第1論理偏差1480は、所定の値1482によってXOR演算されたユーザー鍵‐1 14351の結果値である。これによって、解読結果値1484が生成され、この解読結果値1484はその後第2論理偏差1485を用いて暗号化される。第2論理偏差1485は、所定の値1482を用いてXOR演算されたユーザー鍵‐2 14352の結果値である。これによって、解読結果値1486が生成され、この解読結果値1486はその後第3論理偏差1487すなわち所定の値1482によりXOR演算されたユーザー鍵‐3 14353の結果値を用いて解読される。これによって、CP鍵‐2 14652が生成される。
【0136】
さらに、CP鍵ジェネレータ‐3 12603は、ユーザー鍵‐1 14351の第4論理偏差1490を用いて解読される。本発明の1実施態様において、第4論理偏差1490は、所定の値1492を用いてXOR演算されたユーザー鍵‐1 14351の結果値である。これによって、解読結果値1494が生成され、この解読結果値1494はその後第5論理偏差1495を用いて暗号化される。第5論理偏差1495は、所定の値1492を用いてXOR演算されたユーザー鍵‐2 14352の結果値である。これによって、解読結果値1496が生成され、この解読結果値1496はその後第6論理偏差1497すなわち所定の値1492を用いてXOR演算されたユーザー鍵‐3 14353の結果値を用いて解読される。これによって、CP鍵‐3 14653が生成される。
【0137】
図15及び24は、デスクランブラ1110の内部に実装された認証論理回路の詳細な実施形態を示す図である。ここで、認証論理回路は、CAランダム1200を第1暗号ユニット1150に送るのに好適な第1コンポーネント1290を備える。さらに、認証論理回路は、CPランダム1250の少なくとも一部を第1暗号ユニット1150に送るのに適した第2コンポーネント1292、及びCP鍵ジェネレータ1260の少なくとも一部を第1暗号ユニット1150に送るのに適した第3コンポーネント1294を備える。
【0138】
CAランダムに対する正しい値が用いられていることを実証するために、CAランダム1200の認証は、通常は3DES低レベル暗号化とともに用いられる。かかる認証は、第1コンポーネント1290が例えば2つの最下位バイトのようなCAランダム1200の少なくとも一部を3DES機能の初期化ベクトル1152にロードすることを可能にするCAランダム認証信号1275を有効化することにより実現される。たとえセキュアコンテンツ配信システムが更新されていたとしても、ハッカーが不正に見つけた合わせ鍵を連続的に用いることを防止するために、初期化ベクトル1152が調節される。
【0139】
さらに、更新CAランダムがデスクランブラ1110に伝送されている間にCAランダム認証信号を一時的に無効化することにより、別の値へのCAランダム値1200の更新を実現することもできる。これによって、更新中である現在のCAランダム値が不正に第1暗号ユニット1150にロードされることが防止される。
【0140】
更新CAランダム値がセキュアコンテンツ配信システム全体に送られてからから一定の時間が経過した後に、CAランダム認証信号1275は再び有効化される。
【0141】
さらに図15及び24に示すように、正しいCPランダム値及び派生ユーザー鍵が用いられていることを実証するために、CPランダム1250の認証が3DES低レベル暗号化とともに用いられる。有効化された場合は、CPランダム認証信号1280は、第2コンポーネント1292が、例えば、CPランダム1250の2つの最下位バイトのようなCPランダム1250の少なくとも一部分を、3DES機能の初期化ベクトル1152にロードすることを可能にさせる。そうでない場合は、違法なコードを書込むハッカーが、全てのコンテンツに同じユーザー鍵を付けてCP鍵を再生し、特定のコンテンツへのアクセス権を正規に得ようとせずその他のプレイヤーとコンテンツを共有することを可能にさせてしまう。
【0142】
CP鍵ジェネレータ1260の少なくとも一部の認証は、コンテンツのコピープロテクトステータスを認証するために用いられる。有効化された場合は、CP鍵ジェネレータ認証信号1285は、第3コンポーネント1294が、CP鍵ジェネレータ1260の少なくとも一部分を3DES低レベル暗号機能の初期化ベクトル1152にロードすることを可能にさせる。1実施形態において、CP鍵ジェネレータ1260の2つの最下位バイトがロードされる。また、CP鍵ジェネレータ1260を形成する異なるグループのバイトを認証目的でロードすることもできる。そうではない場合は、違法なコードを書込むハッカーが、全てのコンテンツに「コピー自由」のタグを付けることを可能にさせてしまう。
【0143】
本発明の1実施例によれば、コンテンツプロバイダが、CAランダム認証信号1275、CPランダム認証信号1280及びCP鍵ジェネレータ認証信号1285を有効化及び無効化する責任を負う。
【0144】
図25には、図24のデスクランブラ1110の詳細な実施例を示す。上述したように、デスクランブラ1110は、1回のみプログラム可能なメモリ1120、複数のプロセスブロック1300、1330、1360、1400、1430、1460、複数の暗号ユニット1150、1160、1170、及び認証論理回路1290、1292、1294を備える。
一般的に、第1プロセスブロック1330は、CAランダム1200及びSTB鍵1122に基づいてS鍵1124を生成する。第2プロセスブロック1330は、合わせ鍵ジェネレータ1205及びS鍵1124に基づいて合わせ鍵1335を生成する。第3プロセスブロック1360は、合わせ鍵1135を用いて、1つ又は2つ以上の暗号化制御ワード1210から再生された制御ワード1126を生成する。制御ワード1126は、例えば、ランダムアクセスメモリ、フラッシュメモリ、又はレジスタのような、1つ又は2つ以上の記憶コンポーネント1500に記憶される。
【0145】
CW更新信号1505を有効化することによって、追加制御ワードを記憶コンポーネント1500内に記憶することが可能になる。しかしながら、CWクリア信号1510を無効化することにより、記憶コンポーネント1500内に記憶された制御ワード1126のいくつか又は全てが除去される(すなわち、その記憶位置への上書きが可能である)。
【0146】
第4プロセスブロック1400はCPランダム1250及びSTB鍵1122に基づいて1つ又は2つ以上のSCP鍵1410を生成する。第5プロセスブロック1430は、1つ又は2つ以上の暗号化ユーザー鍵1255及びSCP鍵1410に基づいてユーザー鍵1435を生成する。第6プロセスブロック1460は、CP鍵ジェネレータ1260及びユーザー鍵1435に基づいてCP鍵1465を生成する。CP鍵1465は、例えば、レジスタ、ランダムアクセスメモリ、フラッシュメモリ等のような、1つ又は2つ以上の鍵記憶コンポーネント1520に記憶される。CP鍵更新信号1525を有効化することによって、追加CP鍵1465を鍵記憶コンポーネント1520内に記憶することが可能になる。CP鍵クリア信号1530を有効化することによって、鍵記憶コンポーネント1520内に記憶されたCP鍵1465のいくつか又は全てが保存されない。
【0147】
さらに図25に示すように、CP解読論理回路1550は、図16に示した第2暗号ユニット1160の一部である。CP解読論理回路1550は、鍵記憶コンポーネント1520内に記憶されたCP鍵を用いて、デジタル装置からの暗号化(コピープロテクトされた)コンテンツを解読する。CP暗号化論理回路1560は、鍵記憶コンポーネント1520内に記憶されたCP鍵を用いて、クリアコンテンツを暗号化する。デコード回路1570は、ビデオ及びオーディオコンテンツの解凍を行う。解凍後には、2つの可能性、すなわち、1)例えば、ベースバンドビデオアウト及びオーディオアウトのためのデジタル/アナログ変換の可能性、又は2)デジタルビデオインタフェース(DVI)を介しての伝送のために解凍デジタルコンテンツのエンコードできるという可能性がある。
【0148】
上記説明において、本発明は特定の実施例を用いて説明してある。しかしながら、添付の特許請求の範囲に記載したような本発明の幅広い主旨及び範囲から逸脱しない範囲で、様々な修正及び変更を行うことが可能であることは明白である。従って、本発明は、明細書及び図面に限定されることなく説明されているものと考えるものとする。
【図面の簡単な説明】
【0149】
【図1】デジタル装置を備えるコンテンツ配信システムの実施例である。
【図2】スマートカードによる動作に適した条件アクセス部を備えるセキュアコンテンツ配信システムの第1実施例である。
【図3】スクランブル解除鍵をスマートカードから図2に示す条件アクセスにユニットに安全に転送するための方法を示す実施例である。
【図4】ネットワーク接続によるヘッドエンドに適したデコーダを備えるセキュアコンテンツ配信システムの第2実施例である。
【図5】図4のヘッドエンドに適したデコーダのさらに詳細な図である。
【図6A】セキュアコンテンツ配信システムの第3実施例である。
【図6B】セキュアコンテンツ配信システムを介して伝送される合わせ鍵ジェネレータを生成するデータ構造の実施例である。
【図6C】図6Aのシステムのセットトップボックスに送られる資格管理メッセージ(EMM)の実施例である。
【図7】図6Aのシステムのセットトップボックスのデコーダの内部に実装されたデスクランブラの実施例である。
【図8】セキュアコンテンツ配信システムの第4実施例である。
【図9A】セキュアコンテンツ配信システムの第5実施例である。
【図9B】図9Aのシステムのセットトップボックスに送られる資格管理メッセージ(EMM)の実施例である。
【図9C】図9Aのシステムのセットトップボックスに送られる電子番組ガイド(EPG)と関連するメタデータの実施例である。
【図10】図9Aのシステムのセットトップボックスの内部に実装されたデスクランブラの実施例である。
【図11】セキュアコンテンツ配信システムの第6実施例の一部である。
【図12】デジタル装置がコピープロテクト機能を備えたセキュアコンテンツ配信システムの第7実施例の一部である。
【図13】図12のシステムのデジタル装置の内部に実装されたデコーダの実施例である。
【図14】図12のコピープロテクト鍵ジェネレータを生成するデータ構造の実施例である。
【図15】図12のシステムのセットトップボックスの内部に実装されたデスクランブラの別の実施例である。
【図16】図15のデスクランブラの制御ワード(CW)鍵ラダー論理回路の実施例である。
【図17A】図16のデスクランブラのCW鍵ラダー論理回路の第1プロセスブロックの実施例である。
【図17B】図16のデスクランブラのCW鍵ラダー論理回路の第1プロセスブロックの実施例である。
【図17C】図16のデスクランブラのCW鍵ラダー論理回路の第1プロセスブロックの実施例である。
【図18A】図16のデスクランブラのCW鍵ラダー論理回路の第2プロセスブロックの実施例である。
【図18B】図16のデスクランブラのCW鍵ラダー論理回路の第2プロセスブロックの実施例である。
【図18C】図16のデスクランブラのCW鍵ラダー論理回路の第2プロセスブロックの実施例である。
【図19A】図16のデスクランブラのCW鍵ラダー論理回路の第3プロセスブロックの実施例である。
【図19B】図16のデスクランブラのCW鍵ラダー論理回路の第3プロセスブロックの実施例である。
【図19C】図16のデスクランブラのCW鍵ラダー論理回路の第3プロセスブロックの実施例である。
【図20】図15のデスクランブラのコピープロテクト(CP)鍵ラダー論理回路の実施例である。
【図21A】図20のCP鍵ラダー論理回路の第4プロセスブロックの実施例である。
【図21B】図20のCP鍵ラダー論理回路の第4プロセスブロックの実施例である。
【図21C】図20のCP鍵ラダー論理回路の第4プロセスブロックの実施例である。
【図22A】図20のCP鍵ラダー論理回路の第5プロセスブロックの実施例である。
【図22B】図20のCP鍵ラダー論理回路の第5プロセスブロックの実施例である。
【図22C】図20のCP鍵ラダー論理回路の第5プロセスブロックの実施例である。
【図23A】図20のCP鍵ラダー論理回路の第6プロセスブロックの実施例である。
【図23B】図20のCP鍵ラダー論理回路の第6プロセスブロックの実施例である。
【図23C】図20のCP鍵ラダー論理回路の第6プロセスブロックの実施例である。
【図24】デスクランブラの内部に実装された認証論理回路の実施例である。
【図25】図24のデスクランブラのさらに詳細な実施形態である。
【関連出願】
【0001】
本願は、2002年11月5日出願の米国仮出願第60/424,381号の優先権を主張する2003年3月12日出願の米国出願第10/388、002号の一部継続出願である。
【技術分野】
【0002】
本発明は、デジタル装置に関する。詳細には、本発明は、セットアップボックスなどのデジタル装置においてデジタルコンテンツをスクランブル解除するためのシステム、装置、デスクランブラ及び方法に関する。
【背景技術】
【0003】
現在、アナログ通信システムからデジタル通信システムへの移行が急速に進められている。デジタルテレビジョン受像器は、将来全国で利用可能になる予定である。高詳細度テレビジョン(HDTV)放送は、限定的であるがほとんどの大都市ですでに開始されている。同様に、インターネット及びワールドワイドウェブの急速な普及の結果、MP3フォーマットオーディオファイルやその他のコンテンツのようなダウンロード可能なオーディオビジュアルファイルも関連して増加している。
【発明の開示】
【発明が解決しようとする課題】
【0004】
このデジタル通信システムへの急速な移行に伴い、又そのことが要因となって、デジタル記録装置は目覚しい進歩を遂げてきた。デジタル多用途ディスク(DVD)レコーダ、デジタルVHSビデオカセットレコーダ(V−DHS、VCR)、CD−ROMレコーダ(例えば、CD−R及びCD−RW)、MP3記録装置、及びハードディスク記録部は、アナログ記録装置において発生する世代劣化(すなわち、反復コピーによって生じる品質低下)なしで高品質記録及びコピーを行うことが可能な代表的なデジタル記録装置である。しかし、デジタル通信システム及びデジタル記録装置が同時に発展していくことに対し、映画及び音楽産業のようなコンテンツプロバイダは懸念を抱いている。すなわち、デジタルコンテンツの不法コピーが放置されているので、ダウンロード可能なデジタルコンテンツの提供に関し慎重になっている。
【0005】
それに応じて、地上波放送会社、有線及び直接放送衛星(DBS)会社、及びダウンロード可能なコンテンツを提供するインタネットサイトを有する会社に対して、コピープロテクト法の導入を求める動きがある。これらの望ましいコピープロテクト法は、リアルタイム視聴のためのCAクリアフォーマットへのコンテンツスクランブル解除である条件アクセス(CA)の役割を超えるものであり、現在では記録及び再生に関する制約及び条件を含んでいる。
【0006】
インパルスペイパービュー(IPPV)用の伝統的CAシステムは、一方向放送システムにその起源がある。一般的には、セットトップボックスのような条件アクセスユニットの中のスマートカードのような暗号プロセッサに、番組へのアクセスを自動的に承認するための情報及び機能が入っている。例えば、ペイTVアクセスコントロールアプリケーションを有するスマートカードは、特定のサービスを受ける資格(entitlements)を承認するメッセージを受信するようになされている。セットトップボックスがIPPV番組の視聴を許可された場合は、クレジット及び費用限定情報も伝送される。同様に、番組をチューニングした場合は、スマートカードは、番組へのアクセスが承認されるためにはスマートカードがどの資格を必要とするかを記述したメッセージを受信する。
【0007】
現在、ハッカーは、必要な受信料を払わずに番組を見るために両方のタイプのメッセージを操作している。これらのメッセージを操作することができるだけではなく、ハードウェアにも攻撃を加えることができる。例えば、スクランブルコンテンツをスクランブル解除するために用いられるクリアなスクランブル解除鍵をコピーし、インターネットを介してその他のセットトップボックスに送信することができる。このようなハッキングは、コンテンツプロバイダ及びコンテンツ所有者のいずれにとっても犠牲の大きなものである。
【発明を実施するための最良の形態】
【0008】
以下、添付図面を参照して本発明の実施形態を説明していくが、本発明は以下の実施形態に限定されるものではない。また、同じ参照番号を付した部分、構成要素等は同一の部分、構成要素等を表すものとする。
【0009】
以下に示す本発明の実施形態のいくつかの例は、データ転送を保護するためのデスクランブラに関する。1実施形態において、このデータ転送の保護は、単一の集積回路として配置することができるデスクランブラの内部において、1つ又は2つ以上のコンテンツプロバイダからのデジタルコンテンツを完全にスクランブル解除及び/又は暗号解読することを含む。「コンテンツプロバイダ」の例としては、地上波放送局、ケーブルテレビ業者、直接放送衛星(DBS)会社、インターネット経由ダウンロード用コンテンツを提供する会社、又は同様の様々なコンテンツ提供源があるが、これらに限定されるわけではない。
【0010】
以下の説明において、本発明の特徴を記載するために、特定の用語が用いられている。例えば、2つの用語「コンポーネント」及び「論理回路」は、1つ又は2つ以上の機能を実施するために設定されたハードウェア及び/又はソフトウェアを表す。「ハードウェア」の例としては、プロセッサ(例えば、マイクロプロセッサ、アプリケーション専用集積回路、デジタル信号プロセッサ、マイクロコントローラ等)のような集積回路、有限状態機械、組合せ論理回路等があるが、これらに限定又は制限されることはない。
【0011】
用語「論理派生(logical derivative)」は、デジタル信号に対する論理演算(例えば、排他的ORすなわちXOR、AND、OR、Invert、又はそれらのあらゆる組合せ)を行うことにより生成される結果値である。論理演算を複数のビットに対し同時に行うことができると考えられるが、この論理演算はビット毎に行うこともできる。
【0012】
用語「プロセスブロック」は、例えば、有限状態機械のような専用の機能を有するハードウェア及び/又はソフトウェアを表す。[ソフトウェア]の例としては、例えば、アプリケーション、アプレット又はルーチン形式の一連の実行可能な命令がある。ソフトウェアは、プログラム可能な電子回路、揮発性メモリ (例えば、ランダムアクセスメモリ等)及び/又は不揮発性メモリ(例えば、あらゆるタイプのリードオンリーメモリ“ROM”、フラッシュメモリ)などの半導体メモリ、フロッピーディスク、光ディスク(例えば、コンパクトディスク又はデジタルビデオディスク“DVD”)、ハードドライブディスク、テープ状記録媒体等のようなあらゆるタイプの機械読取り可能媒体に記憶することができる。
【0013】
図1は、コンテンツ配信システム100の具体的構成を示すブロック図である。コンテンツ配信システム100は、1つ又は2つ以上のプロバイダから番組データを含む情報を受信するデジタル装置110を備える。番組データは、例えば、デジタルビットストリームとして供給される。デジタル装置110は、セットトップボックス、テレビジョン受信機、コンピュータ、オーディオ再生装置(例えば、デジタルラジオ、MP3プレイヤー)、オーディオ記録装置、ビデオ記録装置(例えば、デジタルレコーダ)等のような任意の数の電子機器(又は内蔵された1つ又は2つ以上の構成機器)として動作することができる。
【0014】
例えば、デジタル装置110は組込みアーキテクチャ、分割安全アーキテクチャ又は外部安全アークテクチャとして設定することができる。組込みアーキテクチャとしては、1つの実施態様においては、デジタル装置110は、資格管理演算及びスクランブル解除演算の両方を支援する固定内部回路を備えるセットトップボックス又は別の電子機器として実装されている。
【0015】
また、分割安全アーキテクチャとしては、デジタル装置110は、資格管理を取扱う取り外し可能なスマートカードの受取りに用いられ、デジタルコンテンツのスクランブル解除は内部回路により制御される。
【0016】
さらに、外部安全アーキテクチャとしては、デジタル装置110は、帯域外チャンネルを通じてメッセージを送受信することにより資格管理演算及びスクランブル解除演算の両方を取扱うネットワークカードを備えた「配置点(point-of-deployment)」機器とすることができる。また、外部安全アーキテクチャは、ネットワークカードがスクランブル解除演算を取扱うために分割されるが、資格管理を取扱うスマートカードと通信するようにされている。これら及びその他のデジタル装置110の実施形態は、本発明の主旨及び範囲を逸脱市内範囲で実装することができる。
【0017】
デジタル装置110は受信機111を備え、この受信機111は入力情報を処理し、デジタルコンテンツを含む番組データをそこから抽出し、デジタルコンテンツを知覚可能(例えば、視覚可能及び/又は聴覚可能)なフォーマットで供給する。「番組データ」は、以下のもの、すなわち、システム情報、資格制御メッセージ、資格管理メッセージ、又はデジタルコンテンツのいずれか又は全てを含む。番組データストリームの中の「デジタルコンテンツ」は、例えば、映像、オーディオ、ビデオ又はそのいずれかの組合せを含むことができる。コンテンツはスクランブルフォーマットでもクリアフォーマットでもよい。
【0018】
ここで、「システム情報」は、例えば、番組名、放送時間、情報源、及び検索とデコードの方法に関する情報、さらには、どのような方法でいつデジタルコンテンツを再生、再伝送及び/又は記録することができるのかを制御する情報をデジタル受信機及びその他の装置に提供するコピー管理コマンドに関する情報を有する。これらのコピー管理コマンドは、例えば、一般的に特定のチャンネル又はサービスへのアクセスを規制するために用いられる資格制御メッセージ(ECM)とともに伝送される。資格(時には「特権(privileges)」とも呼ばれる)をデジタル受信機111に配信するために、例えば、「資格管理メッセージ」(EEM)が用いられる。この資格の例としては、アクセス権、スクランブル解除鍵などがあるが、これらに限定されるものではない。一般的には、スクランブル解除鍵は、承認された資格に基づきスクランブルフォーマットからクリアな状態でデータを再生するためにデスクランブラ論理回路が要求するコードである。
【0019】
図示したように、デジタル装置110は、セットトップボックスとして実装されている場合、伝送媒体120を介してコンテンツ配信システム100内のその他のコンポーネントに結合することもできる。伝送媒体120はデジタル装置110とコンテンツ配送システム100内のその他のコンポーネントとの間で番組データを伝送する。伝送媒体としては、光ファイバ、ケーブル、無線信号回路により構築される無線リンク等があるが、それらに限定されるものではない。
【0020】
デジタル装置110に対応する製品の種類にもよるが、コンテンツ配信システム100は、例えば、伝送媒体120に接続されたオーディオシステム130を備える。また、D−VHS、VCRのようなデジタルVCR140を、伝送媒体120を介してデジタル装置110及びコンテンツ配信システム100内のその他のコンポーネントに接続することもできる。
【0021】
また、ハードディスク記録部150を、伝送媒体120を介してデジタル装置110及びその他のコンポーネントに接続することもできる。ディスプレイ160は、例えば、デジタルビデオ信号を処理することが可能な高詳細度テレビジョンディスプレイ、モニタ、又はその他の装置である。最後に、例えば、制御部170が伝送媒体120に接合される。制御部は170は、例えば、コンテンツ配信システム100内のいくつか又は各々のコンポーネントの動作を調整及び制御するために用いられる。
【0022】
番組データのデジタルコンテンツは、例えばスクランブル形式で伝送される。1つの実施形態において、例えば、番組データの一部であるアクセス要求が、スクランブルコンテンツとともに、受信機111とともに実装され条件アクセス部として機能するデジタル装置(例えば、セットトップボックス)に伝送される。この「アクセス要求」は、条件アクセス機能とともに実装されたデジタル装置110(以下では、条件アクセス部110と呼ぶ)が、視聴の目的でスクランブルコンテンツをスクランブル解除することを許可されているかどうかを判断するために用いられる制限的パラメータである。アクセス要求は、例えば、コンテンツを知覚(視聴)するために必要な鍵、特定のコンテンツプロバイダに関連したサービスタグ、又は特定のスクランブル解除ソフトウェアコードである。
【0023】
条件アクセス部110がスクランブル処理された番組を受信したときは、番組に対するアクセス要求が、条件アクセス部110が実際に有する資格と比較される。条件アクセス部110がスクランブルコンテンツをクリアな形式で表示するために、1つの実施形態において、デジタルコンテンツに関連したアクセス要求が条件アクセス部110の資格と比較される。資格は、例えば、ホームボックスオフィス(HBO)のような特定のコンテンツプロバイダからのコンテンツを視聴/再生する資格を与えられていることを示す。資格は、例えば、デジタルコンテンツのスクランブル解除に必要な1つ又は2つ以上の鍵を有する。資格は、例えば、条件アクセス部110がデジタルコンテンツをスクランブル解除することができる期間を定める。
【0024】
従って、1つの実施形態において、アクセス要求及び資格が、条件アクセス部又はデコーダが特定の番組の視聴を許可されているかどうかを判断するためのアクセスコントロールシステムの一部を形成する。以下、テレビ放送、購入映画等のようなオーディオビジュアルコンテンツを再生するためのメカニズムについて説明する。ここで、本発明が可聴コンテンツ(例えば、デジタル化音楽ファイル)のスクランブル解除のみに適用可能であるということも考えられる。
【0025】
アクセス要求及び資格は、顧客がコンテンツに対して支払いを行ってスクランブルコンテンツへのアクセス権を獲得するための様々な選択肢を提供することができる。これらの選択肢としては、ペイパープレイ(PPP)、ペイパービュー(PPV)、インパルスペイパービュー(IPPV)、時間基準履歴、ペイパータイム(PPT)がある。「インパルスペイパービュー」は、以前にセットトップボックスにダウンロードされたPPV映画のクレジットによる購入を許可する機能である。「時間基準履歴」は、例えば、1997年3月から12月のような、過去の期間に配信されたコンテンツへのアクセスを許可する機能である。アクセス要求及び資格は、スクランブルコンテンツを記憶するための様々な選択肢を顧客に提供することもできる。
【0026】
アクセス要求は、例えば、パケット識別子(PID)を用いて、デジタル装置110の内部に配置された又は伝送媒体120を介してそれに結合された条件アクセス部に配信される。各PIDは、例えば、特定のサービスと関連したアクセス要求を有する。条件アクセス部に配信されるコンテンツは、例えば、多数のPIDを有し、それによって、特殊有償機能、特殊技術機能、又は局地的に実施すべきその他の特殊機能を可能にする。
【0027】
また、コンテンツを受信する前に、メディアに記憶しようとしているデジタルコンテンツへのアクセス権を獲得するための多数の選択肢を顧客に提供することもできる。さらに、コンテンツへのアクセス及びコンテンツの視聴の権利の購入を顧客に求めることもできる。従って、顧客が後の再生及び視聴のためにコンテンツの記録を希望する場合は、顧客が購入したアクセス要求もデジタルコンテンツとともに記憶する必要がある。
【0028】
さらに、図12及び図13に示すように、スクランブル解除されたデジタルコンテンツ(例えば、トランスポートストリーム)にコピープロテクトを適用することもできる。コピープロテクトされたデジタルコンテンツは、宛先インタフェースと情報源とを相互に接続するインタフェースを介して再スクランブルされる。情報源及び宛先インタフェースは、このコンテンツを再暗号化するために用いられる鍵が適合する必要がある。このコピープロテクト鍵は、デジタル装置と関連した固有鍵により暗号化することができる。固有鍵は、例えば、工場負荷手順(factory load procedure)のような、EMM又はその他の方法により受信することができる。
【0029】
図2は、スマートカードインタフェース220によって動作する条件アクセス部201を備えたセキュアコンテンツ配信システム(secure content delivery system)の第1実施例が示してある。この実施形態は、分割安全アーキテクチャ(split security architecture)及び外部安全アークテクチャ(external security architecture)との整合性を有する。分割安全アークテクチャの実装において、デジタル装置110は、条件アクセス部201(例えば、図1の条件アクセス部110と同等)として動作するが、セットトップボックス又はその他のタイプのデジタル装置として実装されている。
【0030】
スマートカードインタフェース220はデジタル受信機111に組込むこともできるが、デジタル受信機111は、インタフェース220を補足するスマートカード210を受取るために、例えば、PCMCIAスロット又はユニバーサルシリアルバス(USB)スロットのような拡張スロットを有する。この実施形態では、デジタル受信機111は、オプションのプロセッサ230及びデスクランブラ240を備える。この実施形態では、デスクランブラ240は、集積回路(IC)として実装されている。
【0031】
スマートカードインタフェース220は、入力デジタルコンテンツをスクランブル解除するための1つ又は2つ以上の暗号化スクランブル解除鍵を記憶しているスマートカード210への取付けに好適である。スマートカード210は暗号化されたスクランブル解除鍵をスマートカードインタフェース220に伝送する。一般的に“DK”と呼ばれるスクランブル解除鍵がスマートカード210とスマートカードインタフェース220との間で通信を傍受している侵入者により不正に引出されるのを防止するために、スマートカード210は、DKを暗号化する目的で、条件アクセス部201に固有の暗号化固有鍵を用いることもできる。これにより、条件アクセス部201がDKを安全な方法で解読し、デジタルコンテンツをスクランブル解除するためにDKをクリアフォーマットで用いることが可能になる。
【0032】
詳細には、本発明の1つの実施形態によれば、スマートカード210の外部暗号プロセッサ215が、コンテンツのスクランブル解除に必要なDKを受信する。記憶素子212(例えば、揮発性又は不揮発性メモリ)には、DKを解読するための1つ又は2つ以上の鍵が事前に書き込まれている。この書き込みは、スマートカード210の製造中又は記憶素子212の製造中に、記憶素子212がオンチップである場合は、暗号プロセッサ215により行うことができる。スマートカード210の暗号化論理回路214は、デスクランブラ240に固有の1つ又は2つ以上の鍵によりDKを暗号化する。
【0033】
この実施形態では、スマートカード210は、暗号化DK216をデスクランブラ240に配信する。ここで、プロセッサ230は、暗号化DK216をインタフェース220を介して受け取るが、暗号化DK216は、暗号解読論理回路260に直接送信することもできる。DKに対して行われる不明化操作を妨げるための追加的演算を行うために、プロセッサ230を実装することもできる。
【0034】
デスクランブラ240の暗号解読論理回路260は、記憶素子250に記憶された1つ又は2つ以上の固有鍵を用いてDKを解読することになる。1実施形態において、記憶素子250は、製造時に、あるいは条件アクセス部201に伝送された初期番組データによる条件アクセス部201内部への実装後に書き込まれた1つ又は2つ以上の鍵レジスタを有する。暗号解読論理回路260は、解読されたDKをデスクランブラ論理回路270のODD及びEVEN鍵記憶素子(図示せず)に交互に書込む。
【0035】
デスクランブラ論理回路270は、適切な時点でODD/EVENデスクランブラ鍵を入力スクランブルコンテンツ280に適用し、スクランブル解除番組コンテンツ290を出力する。また、入力スクランブルコンテンツ280をスクランブル解除するために、ODD及びEVEN鍵記憶素子への書き込みに代わる方法を用いることもできる。デスクランブラ論理回路270は、デスクランブラ240の内部論理回路として、又は図示したように外部に実装することもできる。
【0036】
従って、スクランブル解除鍵は暗号化された状態で転送されるので、スクランブル解除鍵のスマートカード210から条件アクセス部201への転送は安全である。スクランブル解除鍵は安全ではないプロセッサ230により解読されることがないので、条件アクセス部201の中では安全であり続ける。スクランブル解除鍵が解読されるのは、実際にスクランブル解除鍵が用いられるデスクランブラ240においてだけであり、従って、スクランブル解除鍵がクリアな状態で露出することは決してなく、ハッカーが手に入れることはできない。
【0037】
さらに、暗号化DK216を解読するために用いられる鍵はデスクランブラ240のハードウェア(例えば、記憶素子250)の中に記憶される。記憶素子250のシリコンが調べられない限りは、記憶素子250をハッキングすることはできない。さらに、鍵は、1つの特定の条件アクセス部201に対してだけ有効にすることもでき、関連の条件アクセス部201に固有の鍵を用いたスマートカード210によりDKは暗号化されるので、暗号化DK216を解読するために他のユニットが用いることはできない。従って、暗号化DK216の条件アクセス部201への伝送は安全である。
【0038】
デスクランブラ240は、スクランブル解除鍵の安全な処理を取扱う。このデスクランブラ240は、CPU、ファームウェア、ソフトウェアを備えていない。複雑な鍵階層は存在しない。プロセッサを備えてないデスクランブラ240が暗号化DK216を受信し、それに固有鍵を適用し解読する。暗号解読論理回路260には、命令、コード、ハッシング、ソフトウェアはロードされていない。解読は、単一の鍵機能だけしか用いないハードウェア回路又は状態機械である暗号解読論理回路260により完全に行われる。
【0039】
本実施形態で「固有鍵(Unique Key)」と呼ぶ1つ又は2つ以上の固有鍵は、例えば、製造中に、又はセットトップボックス、テレビジョン又はNRSS−Bモジュール内部への実装中に、記憶素子250にプログラミングさあれる。例えば、1つの実施形態においては、デスクランブラ240には、フラッシュメモリのようなプログラム可能(programmable)不揮発性メモリ250が実装される。他の実施形態においては、デスクランブラ240には、安全性を強化するために1回だけしか書込みのできない非プログラム(non-programmable)不揮発性メモリが実装される。したがって、最初に記憶素子250に書き込まれた固有鍵に対し不正な読取又は上書きをすることはできない。条件アクセス部201のシリアルナンバーと条件アクセス部201のデスクランブラ201に書き込まれた固有鍵との関連を記録することもできる。
【0040】
条件アクセス部201が製造され、スマートカード210が取り付けられたら、スマートカード210は条件アクセス部201と関連した固有鍵をペアリング(pairing)の時点で受信することができる。その時から、スマートカード210は、その特定のホスト(例えば、条件アクセス部201)と「ペア(pair)」になる。後に、スマートカード210が交換されたり、又は別のホストに移動させられたりした場合は、スマートカード210が新しいホストと関連した固有鍵を資格管理メッセージ(EMM)を介して受信できるようにすることもできる。あるいは、新しくプログラミングされた固有鍵を有する新しいスマートカードをユーザーに配信することもできる。
【0041】
図3は、図2のスマートカード210から条件アクセス部201へスクランブル解除鍵を転送する方法を示すフローチャートである。スクランブル解除鍵は、スマートカードの不揮発性メモリに記憶された鍵を用いて、スマートカード内で暗号化される(ブロック300)。スマートカードに記憶されたこの鍵、すなわち固有鍵は、デスクランブラの記憶素子に記憶された鍵と関連付けられている。暗号化スクランブル解除鍵はスマートカードから受信する(ブロック310)。
【0042】
この方法は、デスクランブラ内の番組データを有するビットストリームを受信することであり、しかも、番組データはシステム情報及びスクランブルデジタルコンテンツを有する(ブロック320)。暗号化スクランブル解除鍵は、デスクランブラの記憶素子に記憶された鍵を用いて解読される(ブロック330)。スクランブルデジタルコンテンツは、解読スクランブル解除鍵を用いてデスクランブラ内でスクランブル解除され(ブロック340)、スクランブル解除デジタルコンテンツが出力される(ブロック350)。
【0043】
図2に示した条件アクセス部実装に対する代替実施態様として、図4に示すように、スマートカードの代わりに、一方向又は双方向ネットワーク420のヘッドエンドサーバ(headend server)(以下、「ヘッドエンド(headend)」と呼ぶ)410を用いることもできる。ヘッドエンド410は、図2のスマートカード210のローカル暗号プロセッサ215内においてアクセス権を維持する代わりに、デコーダ(例えば、「デコーダ」401)として動作するデジタル装置に対するアクセス権を維持する。
【0044】
ヘッドエンド410は、デスクランブラ440に記憶された固有鍵に基づいて、1つ又は2つ以上のサービス鍵(一般的には「サービス鍵」と呼ぶ)を配信することができる。1つのチャンネルから別のチャンネルへの移行を容易にするために、暗号化サービス鍵をデコーダ401内に局所的に記憶することもできる。サービス鍵は暗号化形式で記憶され、必要に応じてデスクランブラ440に取り込まれる。デスクランブラ440の記憶素子450に記憶された固有鍵を用いることにより、サービス鍵はデスクランブラ440内で解読される。
【0045】
本発明の1つの実施形態において、サービス鍵は、コンテンツを直接スクランブル解除するためのスクランブル解除鍵として用いられる。本発明の他の実施形態において、サービス鍵は、スクランブルコンテンツとともに帯域内受信され、後にスクランブル解除の目的で用いられる1つ又は2つ以上のスクランブル解除鍵を解読するために用いられる。サービス鍵の各鍵は、異なる公開及び専用暗号化アルゴリズムを用いて暗号化することもできる。これらの異なる専用アルゴリズムは、クローンハードウェア(clone hardware)を無効化するための著作権侵害防止措置として考えることもできる。
【0046】
ヘッドエンド410は、サービス鍵をEMMの中のチャンネル又は「サービスの段階(tier of service)」ベースで配信することができる。サービス鍵は暗号化され、デコーダ401内に局所的に記憶され、異なるチャンネルに合わせる際には必要に応じてプロセッサ430により用いられる。この実施形態は一方向(非IPPV)放送網において動作するが、双方向会話型ネットワークにおいても動作し、そこでは、IPPV又はVOD購入、あるいはその他の非会員サービスのような特定のサービス用のサービス鍵が要求される。新しいサービスへのアクセスを承認する能力を発揮するのは、ローカル制御暗号プロセッサではなくヘッドエンド410であるので、サービス鍵を要求するためにリターンチャンネル421が用いられる。
【0047】
IPPV番組の多数同時衝動買いが原因で起きるヘッドエンド410におけるオーバロードの問題を避けるために、無料プレビュー期間を定めることができ、IPPV番組を実際の視聴の前に販売することができる。この実施形態においては、個々のショー又は映画用のサービス鍵をデコーダ401が要求し、前もって配信することができる。例えば、DOCSISモデム又は帯域外送受信機のようなリターンチャンネル421を有するケーブルシステムのような対話型ネットワークは、番組鍵要求(RPK)メッセージをデコーダ401からヘッドエンド410に配信することができる。あるいは、デコーダ401は、アクセスされた各番組についてサービス鍵をリアルタイムで要求することもできる。
【0048】
ヘッドエンド410のコントローラ(図示せず)は、RPKメッセージを処理する。RPKメッセージは、例えば、デコーダ401のアドレス並びに視聴すべきチャンネルを識別するための情報を有する(情報の全ては、エムペグ“MPEG”システム、及びノンセキュアプロセッサによってすでに処理済の番組情報から得ることもできる)。もし希望するのであれば、例えば、IPPV又はVOD要求のような、サービス攻撃の否認防止又は拒絶防止のために、RPK要求を暗号化することもできる。
【0049】
RPKメッセージを受信すると、ヘッドエンド410はアクセスコントロールリスト(デコーダ401の各資格のリスト)のエントリーにアクセスし、デコーダ401が特定のサービス鍵を受信する許可を受けていることを確認する。もし許可を受けている場合は、ヘッドエンド401は(デスクランブラ440内に配置された記憶素子450に含まれている固有鍵を用いて暗号化されている)サービス鍵をデコーダ401に送信する。
【0050】
図5は、サービス鍵の要求及び受取り用のヘッドエンドに適合させた図4のデコーダ401のさらに詳細な図である。本発明の1つの実施形態によれば、資格制御メッセージ(ECM)又は電子番組ガイド(EPG)関連メタデータのような番組データ500は、コンテンツプロバイダによりデコーダ401に提供される。番組データ500は所望のチャンネル又はサービスの少なくとも1つの識別子(「チャンネル又はサービスID」と呼ぶ)を伝達するのに好適である。番組データ500がIPPV又はVOD番組である場合は、番組データ500は、例えば、さらに番組識別子(PID)を有する。
【0051】
MPEGデマルチプレクサ510は、チャンネル又はサービスIDを抽出するためのメッセージプロセッサとして動作する。チャンネル又はサービスIDはプロセッサ430に送られ、プロセッサ430は、リターンチャンネル421を介してヘッドエンド410に送るために、送受信機論理回路520と共同でRSKメッセージを生成する。
【0052】
それに応じて、送受信機論理回路520は暗号化フォーマットの要求サービス鍵(SK)を受取り、SKをプロセッサ430に供給する。プロセッサ430は、例えば、SKをメモリに記憶し、及び/又は入力スクランブルコンテンツをリアルタイムでスクランブル解除するためにSKをデスクランブラ440に供給する。例えば、メモリ435は、SKを局所的に記憶することが望まれる場合に用いられるオプションのコンポーネントである。
【0053】
番組データのスクランブルコンテンツを受信すると、デスクランブラ440はこのコンテンツをスクランブル解除し、MPEGフォーマットによって圧縮されている場合は、このコンテンツはスクランブル解除後MPEGデコーダ530に供給される。MPEGデコーダ530はデジタルコンテンツを解凍し、その後解凍デジタルコンテンツをテレビ表示用デジタル/アナログ(D/A)変換器、デジタルビデオインタフェース(DVI)リンク又はネットワークインタフェース(例えば、IEEE1394リンク)のいずれかに送る。
【0054】
図示したように、プロセッサ430、メモリ435、デスクランブラ440、MPEGデマルチプレクサ510、送受信機論理回路520及びMPEGデコーダ530を、バストレース又は別の通信方式(例えば、ワイヤ、光ファイバ等)を介して相互接続された2つ以上の集積回路に実装することもできる。あるいは、これらのコンポーネントを単一の集積回路に実装することもできる。
この実施形態においては、SKの有効期限を特定の期間に限定することもできる。デコーダ401はSKをメモリに記憶し、これによってSKがまだ有効でサービス鍵を再び要求する必要がない場合は、デコーダ401がサービスに再アクセスすることが可能になる。
【0055】
SKは番組の持続している期間の間有効とすることができ、また、例えば6時間という選択された期間の間有効とすることもできる。いったんSKがデコーダ401のメモリ435に記憶されると、SKは簡単に利用可能になるので、長時間用の鍵を用いることによりデコーダ401とヘッドエンド410との間の処理総数が減少することになる。現在のサービス鍵(例えば、SK)の持続期間に応じて、次のサービス鍵(SKnext)をSKとともに配信することもできる。あるいは又、SKの有効時間(例えば、SKの持続期間)の終了を検出した後に、デコーダ401はSKnextを要求することもできる。他の実施例においては、サービス鍵は、ユーザーの加入期間の間有効とすることもできる。
【0056】
サービスはアラカルト(a-la-carte)で販売することも、パッケージで販売することもできる。各々が1つのサービスIDによって識別されるいくつかの段階のサービスを提供することもできる。例えば、基本サービス段階、より多くのサービスを提供する中間サービス段階、及び異なるプレミアムサービスを提供する上級サービス段階を設けることもできる。サービスの各増分段階には、例えば、別々のサービス鍵が与えられる。
【0057】
すなわち、図4のデコーダは、IC又はデコーダの製造中にロードされた固有鍵を備えたデスクランブラ240を有する。固有鍵により暗号化されたサービス鍵がデコーダ401に配信され、暗号化形式でデコーダ401に記憶される。あるいは、サービス鍵を局所的に記憶せずに、デコーダ401があるチャンネルに同調する毎に、デコーダ401がサービス鍵を要求することもできる。
【0058】
通常、図2のセキュア暗号プロセッサ(secure cryptographic procesor)が保持する資格は、例えば、図4のヘッドエンド410内の鍵サーバのようなコントロールオーソリティ(controlling authority)が有する。デコーダ401内のプロセッサ430は、視聴選択肢を視聴者に適切に表示するために、何をスクランブル解除する許可を受けているのかを知らせるメッセージ(例えば、ECM又はEMM)を受信することもできる。プロセッサは、次に、選択されたチャンネル用のサービス鍵を要求することができる。
【0059】
組込み「セキュア(secure)」ファームウェア又はソフトウェアは存在しない。上記ハードウェア解読回路を用いることにより、暗号化機能を実行する組込みプロセッサコア又はファームウェアは不要である。これにより、ノンセキュアプロセッサにダウンロードすることもできる多数の条件アクセスアプリケーションが可能になる。サービス鍵は暗号化ユニット鍵である。公開非対称キー又は非公開対称鍵とすることもできる。
【0060】
さらなる効果として、内部に組込まれた固有鍵を備えたデスクランブラ440を有するデコーダ401を提供することによって暗号プロセッサを用いないペイTVアプリケーション(Pay-TV applications)がある。デコーダ401は、サービス鍵又はスクランブル解除鍵をネットワークプロバイダに要求することができる。重要な[セキュア]機能はデスクランブラ440内に孤立されているので、プロセッサ430により局所的アクセスコントロールを行うことができる。
【0061】
図6Aには、セキュアコンテンツ配信システムの第3実施例600を示す。セキュアコンテンツ配信システム600は、加入者管理システム610、条件アクセス(CA)コントロール620、異なるデジタル装置(例えば、セットトップボックス)メーカーと関連した複数の合わせ(mating)鍵サーバ6301乃至630N(N>2)、及びスマートカード650を受取るデジタル装置(例えば、セットトップボックス)640を備える。スマートカード650は、セットトップボックス640の固有鍵(「固有鍵」と呼ぶ)680を記憶するように構成されたローカルメモリ670を備えたデスクランブラ660と通信する。固有鍵680は、ICの製造又はセットトップボックス640の生成中にロードされる。
【0062】
いったんセットトップボックス640のユーザーが特定の番組データを受取ることを希望すると、セットトップボックス640は、要求された番組データと関連する資格がすでに内部に記憶されているかどうかを判断する。資格が記憶されていない場合は、例えば、ユーザーには画面表示によってそれを知らせ、要求信号611を出すように指示する。ユーザーは、(i)帯域外通信経路(例えば、インターネットを介しての電子メール、ユーザーからの電話等)又は(ii)図示したようなセットトップボックス640と通信中のCAコントロールシステムへの帯域内通信経路を介して、要求信号611を送ることもできる。あるいは、要求信号611を自動的に送信することもでき、または実質的にリアルタイムでユーザーに許可を与えるために情報のルックアップ(lookup of information)を行うCAコントロールシステムに送ることもできる。
【0063】
1つの実施形態において、要求信号611は、要求コンテンツの識別子(例えば、英数字又は数字コード)、セットトップボックスのシリアルナンバー(「STBシリアルナンバー」と呼ぶ)及び/又はスマートカード650の識別子(スマートカードIDと呼ぶ)を含む。いずれかの情報処理システム(例えば、サービスプロバイダ又はコンテンツプロバイダにより制御されるサーバ、リレーステーション又はその他の装置)として実装されている加入者管理システム610は要求信号611を処理し、どんな資格をセットトップボックス640に提供すべきかを判断する。図示してはいないが、CAコントロールシステム620は、セットトップボックスのシリアルナンバー又はスマートカードIDを含むデータベースのルックアップを行うように設定することもでき、それにより、加入者管理システム610へのアクセスをなくすということが考えられる。
【0064】
加入者管理システム610から、STBシリアルナンバーあるいは大域鍵(global keys)(例えば、コンテンツとともに帯域内送信されたECMを解読するために用いられる鍵)を含むこともできる許可(AUTH)メッセージを受取ると、CAコントロールシステム620は、STBシリアルナンバー641及び合わせ鍵ジェネレータ(mating key generator)621を合わせ鍵サーバ6301...、又は630N(一般的には、合わせ鍵サーバ630iと呼び、ここに、i≧1)の少なくとも1つに送る。CAコントロールシステム620は、ダウンロードされたスクランブルコンテンツからデジタルコンテンツを再生するために用いられる合わせ鍵622の配信を調整するための手段として動作する。CAコントロールシステム620は、ヘッドエンド、放送局、衛生アップリンク等として実装することもできる。
【0065】
または、合わせ鍵ジェネレータ621及びSTBシリアルナンバー641を合わせ鍵サーバ6301乃至630Nに送るCAコントロールシステムを用いる代わりに、このような情報を合わせ鍵を特徴とするデータベースへのアクセスを維持及び制御する信頼ある第三者635に送ることもできる。合わせ鍵ジェネレータ621及び/又はSTBシリアルナンバー641に関連する値は、合わせ鍵622を検索するために用いられる。「信頼ある第三者」635としては、政府機関、製造メーカーによって独立して経営される会社等があるが、それらに限定又は制限されるものではない。
【0066】
合わせ鍵ジェネレータ621及びSTBシリアルナンバー641を伝送する前に、例えば、CAコントロールシステム620は、CAコントロールシステム620と合わせ鍵サーバ630iの間にセッション鍵(session key)を構築するためにサーバ630iのような選択合わせ鍵サーバにより認証手順を実施する。もちろん、合わせ鍵サーバ630iの代わりに実装されている場合は、信頼のある第三者635が認証手順を実施することになる。セッション鍵は、関係者の間で交換される情報を暗号化し、セキュアリンク(secure link)をその間に提供するために用いることができる。認証手順の例としては、電子証明書、電子署名、ハッシュ値(hash values)等の交換など様々なタイプがある。
【0067】
図6Bに示したように、合わせ鍵ジェネレータ621は、以下のもの、すなわち、セットトップボックスメーカー識別子(STMメーカーID)623、サービスプロバイダID624、条件アクセス(CA)プロバイダID625、及び合わせ鍵番号626の1つ又は2つ以上を含む。もちろん、これらの値/フィールドのサイズ(単位:ビット)は変更することができる。
【0068】
この実施形態においては、「STBメーカーID」623は、セットトップボックス640のメーカーを識別する所定の値である。また、STBシリアルナンバーの特定配置に応じて、STBメーカーID623をオプションとすることも考えられる。「サービスプロバイダID」624は、通信システムプロバイダ及び選択配信メカニズムを識別する値(例えば、16ビットのような1つ又は2つ以上のビット)である。例えば、サービスプロバイダID624は、どのケーブル会社、衛星会社、地上波会社又はインターネット会社が要求番組データ及び/又はその会社の特定のヘッドエンドサーバを提供しているのかを識別することもできる。「CAプロバイダID」625はCAコントロールシステム620のプロバイダを示す。「合わせ鍵シーケンス番号」626は、合わせ鍵622の長さが1パケット以上である場合は、情報のパケットを再注文するために用いられ、いくつかのシステムにおいては、例えば、合わせ鍵ジェネレータ621の期限切れを示すために用いられる。
【0069】
図6Aに戻って、アクセスが求められている合わせ鍵サーバ6301...、又は630N(または信頼の置ける第三者635のデータベース)を識別するために、各STBメーカーID623に対し固有の部分を有することもできる。また、セットトップボックス640のシリアルナンバー並びにそのセットトップボックス640を識別するためのコードフィールドを含めるために、STBシリアルナンバー641を拡張することもできる。もちろん、ビット数は設計上の選択である。
【0070】
合わせ鍵ジェネレータ621及びSTBシリアルナンバー641を受取ると、適切な合わせ鍵サーバ(例えば、合わせ鍵サーバ630i、ここに、i≧1)は合わせ鍵622を返送する。この実施例においては、合わせ鍵622は、セットトップボックスに送信中のスクランブルコンテンツをスクランブル解除するために必要なスクランブル解除鍵を暗号化するために用いられる。詳細には、合わせ鍵サーバ6301は、固有鍵680の同一コピーである事前記憶鍵にアクセスし、そのアクセスされた鍵を用いて合わせ鍵ジェネレータ621を暗号化する。これにより、合わせ鍵622と同じ鍵が作られる。また、合わせ鍵ジェネレータ621は結果値を暗号化する一方向ハッシュ演算(hash operatoin)することこと、又は合わせ鍵622を作るために合わせ鍵ジェネレータ621の一部分だけを暗号化することができることも考えられる。しかしながら、同様な演算をデスクランブラ660の内部で繰返す必要がある。
【0071】
合わせ鍵622を受取ると、CAコントロールシステム620は、スマートカード640に送られる1つ又は2つ以上のECM642とともに資格管理メッセージ(EMM)を生成する。EMM648の1つの実施態様を図6Cに示す。
【0072】
図6Cに示すように、EMM648は、以下のものの、すなわち、スマートカードID643、長さフィールド(length feeld)644、合わせ鍵ジェネレータ621、“M”(M≧1)鍵識別子6451乃至645M、及びキー識別子6451乃至645Mと関連する鍵6461乃至646Mの少なくとも2つを含む。また、その他の資格647をEMMに含めることもできる。また、合わせ鍵ジェネレータ621をEMM648から除外し、別途にまた一般的にはEMM648と同時に送信することもできるということが考えられる。
【0073】
特に、図6Cに関して、スマートカードID643は、特定のセットトップボックス及びおそらくはセットトップボックスのメーカーを示すために用いられるビット値である。「EMM長さフィールド」644は、EMM648の長さを示すために用いられるビット値である。合わせ鍵ジェネレータ621は、図示すように、図6Bに示したパラメータを含むビット値である。各鍵識別子6451乃至645Mは、鍵6461乃至646Mが不法に変更されているかどうかをチェックする際に用いるために署名された16ビット資格タグ値である。鍵6461乃至646Mは、アクセス要求及び少なくとも1つのスクランブル解除鍵を暗号化フォーマットで配信するために用いられるECM642を解読するために用いられる。
【0074】
図7A乃至7Cに示すように、スマートカード650はEMM648を受信し、合わせ鍵ジェネレータ621及びECM642から再生されたスクランブル解除鍵651をセットトップボックス640のデスクランブラ660に送る。
【0075】
図7Aは、図6Aのセットトップボックス640の内部に実装されたデスクランブラ660の第1実施例である。合わせ鍵ジェネレータ621及び暗号化スクランブル解除鍵651をスマートカード650から受信すると、デスクランブラ660は、デスクランブラ660に記憶された固有鍵680を用いて合わせ鍵ジェネレータ621に対して暗号化演算を行う第1プロセスブロック661を含む。プロセスブロックに関連する暗号化又は解読演算は、データ暗号化規格(DES)、アドバンスト暗号化規格(AES)、IDEA、トリプルDES等のような暗号機能に従って行うこともできる。これらの暗号機能のいつかは単に例示のために挙げられているにすぎない。
【0076】
合わせ鍵ジェネレータ621に対する暗号化演算により、合わせ鍵622と同一の鍵633が作られ、この鍵633が第2プロセスブロック664にロードされる。プロセスブロック664は、暗号化スクランブル解除鍵651を解読し、スクランブル解除鍵665を作るために用いられる。スクランブル解除鍵665は、セットトップボックス640及び特にデスクランブラ660にロードされたスクランブルコンテンツをスクランブル解除するために用いられる。スクランブル解除は、例えば、スクランブルコンテンツ666に対する3DES演算の実施を含む。その結果値は、クリアフォーマットのコンテンツであり、このコンテンツはデスクランブラ660から伝送され、その後、図5に示すようにMPEGデコーダに、又はオプションでD/コンバータ、DVIインタフェース又はIEEE 1394 インタフェースにロードすることができる。
【0077】
合わせ鍵622がどのように定式化されているかに応じて、解読及び暗号化をそれぞれサポートするためにプロセスブロック661及び664を変えることもできるということも考えられる。
【0078】
図7Bは、図6Aのセットトップボックス640の内部に実装されたデスクランブラ660の第2実施例である。スクランブル解除は、2つの鍵を有する3DESにしたがって行われる。図7Aに示したように、デスクランブラ660は、デスクランブラ660に記憶された固有鍵680を用いて合わせ鍵ジェネレータ621に対して暗号化演算を行う第1プロセスブロック661を備える。
合わせ鍵ジェネレータ621に対する暗号化演算により、合わせ鍵622と同一の鍵633が作られる。鍵633は2つのDESプロセスブロック6641及び6642にロードされる。プロセスブロック6641は、第1暗号化スクランブル解除鍵652を解読し、第1スクランブル解除鍵6651を作るために用いられる。プロセスブロック6642は、第1暗号化スクランブル解除鍵653を解読し、第2スクランブル解除鍵6652を作るために用いられる。DK6651及びDK6652は、スクランブルコンテンツ666をスクランブル解除するための低レベル3DESスクランブル解除論理回路667によって用いられる。
【0079】
もちろん、プロセスブロック661を、図7Cに示したような複数の鍵を有する3DESを支援するように設定することもできるということが考えられる。この実施態様においては、プロセスブロック6641及び6642にそれぞれ提供される2つの鍵6631及び6632を作るために、複数の合わせ鍵ジェネレータ6211及び6212がスマートカード650により提供される。これらのプロセスブロック6641及び6642は、スクランブルコンテンツ666をスクランブル解除するための低レベル3DESスクランブル解除論理回路667により使用される第1スクランブル解除鍵6651及び第2スクランブル解除鍵6652を作る。
【0080】
図7Cに示したように、第1合わせ鍵ジェネレータ6211は、図6Bの合わせ鍵ジェネレータ621として設定することもできる。しかしながら、第2合わせ鍵ジェネレータ6212は、鍵6632の中に配置されたコピープロテクトパラメータを認証するように設定することもできる。例えば、第2合わせ鍵ジェネレータ6212は、コピーコントロール、及びコピーコントロールが適用される入力コンテンツを識別するコンテンツ識別子フィールドを提供するコピーコントロール情報(CCI)を含むこともできる。例えば、CCIフィールドは、コンテンツを永続的な記憶のためにはコピーできないこと、又は所定の回数(例えば、1回、2回等)であればコピーできることを識別することもできる。CCIフィールドは、コンテンツの再生可能回数を識別するために、又はかかるコンテンツについての所定の視聴時間を設定するために用いることもできる。
【0081】
さらに、第2合わせ鍵ジェネレータ6212は、関連するデジタルコンテンツを識別する値を含むコンテンツIDフィールドを含むこともでき、デジタルコンテンツの有効期間/期限切れを管理するためのデータを含むこともできる。さらに、第2合わせ鍵ジェネレータ6212は、デジタルコンテンツのコピー可能回数を識別する値を含むコピー生成番号フィールドを含むこともできる。当然、フィールドのサイズを縮小するために、複数のパラメータをハッシュ演算しフィールド内に記憶することもできる。
【0082】
図8は、セキュアコンテンツ配信システムの第4実施例700を示す。セキュアコンテンツ配信システム700は、加入者管理システム610、CAコントロールユニット620、合わせ鍵ゲートウェイ710、合わせ鍵サーバ6301乃至630N、及セットトップボックス640を備える。図6Aに示したように合わせ鍵ジェネレータ621及びSTBシリアルナンバー641をCAコントロールシステム620から合わせ鍵サーバ6301乃至621Nに伝送する代わりに、これら情報を合わせ鍵ゲートウェイ710に送ることもできる。合わせ鍵ゲートウェイ710は、合わせ鍵ジェネレータ621から図6BのSTBメーカーID623にアクセスし、合わせ鍵ジェネレータ621及びSTBシリアルナンバー641を選択された合わせ鍵サーバ6301に適切に送る。これによって、合わせ鍵622を再生するCAコントロールシステム620又はサーバ6301乃至621Nの処理時間が短縮する。
【0083】
あるいは又、合わせ鍵ジェネレータ621及びSTBシリアルナンバー641を選択された合わせ鍵サーバ6301に送る合わせ鍵ゲートウェイ710を用いる代わりに、合わせ鍵の検索のために目標のデータベースにアクセスする信頼の置ける第三者に、これら情報を送ることもできるということが考えられる。合わせ鍵622の検索のために選択されたデータベースは、合わせ鍵ジェネレータ621及び/又はSTBシリアルナンバー641に基づくものである。例えば、各データベースには、合わせ鍵ジェネレータ621及び/又はSTBシリアルナンバー641と関連した値に基づくある範囲のアドレスを通じてアクセス可能とすることもできる。これらの値は、目標のデータベースを識別するために用いられる。
【0084】
図9Aはセキュアコンテンツ配信システム800の第5実施例である。セキュアコンテンツ配信システム800は、加入者管理システム610、CAコントロールシステム810、異なるセットトップボックスメーカーと関連した複数の合わせ鍵サーバ6301乃至621N、セットトップボックス820、合わせ鍵ゲートウェイ830(図8の合わせ鍵ゲートウェイ710に類似)、及びネットワークインタフェース840(例えば、DOCSIS CMTS)を備える。セットトップボックス820は、セットトップボックス820の固有鍵880(「固有鍵」と呼ぶ)を記憶するように設定されたローカルメモリ870を有するデスクランブラ820を備える。固有鍵880はICの製造又はセットトップボックス820の生成中にロードされる。
【0085】
セットトップボックス820は、電子番組ガイド(EPG)メタデータをEPGとともに非スクランブルフォーマットで受取り、デジタルプログラミングコンテンツ850をスクランブルフォーマットで受取る。1つの実施形態において、EPGメタデータ900は、CAコントロールシステム810により帯域外提供される。図9Cに示したように、EPGメタデータ900の1つの実施形態は、コンテンツプロバイダによって提供される異なるタイプのコンテンツ用の複数のタグエントリー9101乃至910S(S≧1)を有する。各タグエントリー910j(1≦j≦S)は、少なくとも1つのチャンネル名920j、コンテンツの名称930j、及びチャンネルと関連した鍵識別子940jを有する。さらに、各タグエントリー910jは、さらに番組識別子950j及び合わせ鍵ジェネレータ(MKG)960jを有する。メタデータ900は、EMM885の中に提供された鍵の検証用に合わせ鍵ジェネレータ(例えば、合わせ鍵ジェネレータ621)及び鍵識別子を提供するために用いられる。
【0086】
再び図9Aに戻り、セットトップボックス820のユーザーがいったん特定のタイプのコンテンツ(例えば、PPV映画、放送チャンネル等)を受取ることを希望すると、セットトップボックス820は、要求コンテンツと関連した資格がすでに内部に記憶されているかどうかを判断する。もし資格が記憶されていない場合は、ユーザーには画面表示又は音声再生により直接その旨を知らせ、加入者管理システム610(又はCAコントロールしステム810)に対して要求信号811を出すプロンプトを表示することもできる。あるいは又、ユーザーコントロールなしで、要求信号811を自動的に送ることもできる。要求信号811は、図示したように帯域外(例えば、電話又はDOCSISによるインターネットを通じての電子メール)で、又は対域内で加入者管理システム610に提供することもできる。
【0087】
本実施形態で示したように、STBシリアルナンバー831及び資格(又はCAコントロールシステム810におけるSTBシリアルナンバー831のルックアップ)を有する認証メッセージ815を加入者管理システム610から受信すると、CAコントロールシステム810は、STBシリアルナンバー831及び合わせ鍵ジェネレータ832を合わせ鍵ゲートウェイ830に送る。合わせ鍵ゲートウェイ830は、ダウンロードされたスクランブル情報から要求コンテンツを抽出するために用いられる合わせ鍵833の配信を調整するための手段として動作する。もちろん、相互間で安全な通信を行うためにCAコントロールシステム810は合わせ鍵ゲートウェイ830による認証作業を行うこともできる。
【0088】
合わせ鍵833を受信すると、CAコントロールシステム810は、1つ又は2つ以上の資格管理メッセージ(EMM)885を生成する。ECMは提供されない。例えば、EMM885を通じて、チャンネル鍵だけが提供される。EMMの1つの実施形態を図9Bに示す。
【0089】
図9Bに示したように、EMM855は、以下のものの、すなわちSTBシリアルナンバー831、EMM長さフィールド842、合わせ鍵ジェネレータ832、“M”(M≧1)鍵識別子8441乃至844M、及び鍵識別子8441乃至844Mと関連した暗号化サービス鍵8461乃至846Mの少なくとも2つを含む。もちろん、識別子又はサービス鍵に加えてその他のタイプの資格をEMM885に含めることもでき、これらの値のサイズ(単位:ビット)は変えることができる。また、合わせ鍵ジェネレータ832をEMM885から除外し、別途にまた一般的にはEMM885と同時に送信することもできるということが考えられる。
【0090】
STBシリアルナンバー831は、特定のセットトップボックス及びおそらくはセットトップボックスのメーカーを示すために用いられる値である。「EMM長さフィールド842」は、EMM885の長さを示すために用いられるビット値である。合わせ鍵ジェネレータ832は、図に示すように、図6Bに示したパラメータを含むビット値である。各鍵識別子8441乃至844Mは、対応する暗号化サービス鍵8461乃至846Mと関連したサービスの段階をそれぞれ示す16ビット値である。暗号化サービス鍵8461乃至846Mは、デスクランブラ内に作られた図9Aの合わせ鍵833と対応する鍵により解読される。
【0091】
図10は、図9Aのセットトップボックス820の内部に実装されたデスクランブラ860の第1実施形態である。EMM885に含まれる合わせ鍵ジェネレータ832及び暗号化サービス鍵846j(1≦j≦M)を受信すると、デスクランブラ860は、デスクランブラ860に事前に記憶された固有鍵880を用いて合わせ鍵ジェネレータ832に対して暗号化演算を行う第1プロセスブロック861を含む。暗号化演算は、DES、AES、IDEA、トリプルDES等のような対称鍵暗号機能に従って行うこともできる。もちろん、暗号化機能の代わりにハッシュ機能(hashing function)を実行するために、プロセスブロック861を変えることもできることが考えられる。
【0092】
合わせ鍵ジェネレータ832に対する暗号化演算により、合わせ鍵833と同一の鍵863が作られる。鍵863は、セットトップボックス840及び特にデスクランブラ860にロードされたスクランブルコンテンツ850をスクランブル解除するために用いられるサービス鍵を再生するための暗号化サービス鍵846jを解読するために用いられる第2プロセスブロック864にロードされる。スクランブル解除はスクランブルコンテンツに対する3DES演算の実施を含むこともできる。その結果値は、例えばクリアフォーマットのコンテンツであり、このコンテンツはデスクランブラ860から伝送され、その後、図5に示すようにMPEGデコーダに、あるいはオプションでD/コンバータ、DVIインタフェース、又はIEEE 1394 インタフェースにロードすることもできる。
【0093】
図11には、セキュアコンテンツ配信システムの第6実施例900の一部を示す。加入者管理システム610及び図9AのCAコントロールシステムの代わりに、合わせ鍵ゲートウェイ830を、それぞれ異なるコンテンツプロバイダと関連した複数の加入者管理システム(SMS)9101乃至910Kとの通信に適合させることもできる。これらの加入者管理システム(SMS)9101乃至910Kの各々が合わせ鍵ジェネレータ及びSTBシリアルナンバー9201乃至920Kを合わせ鍵830に供給し、代わりに、対応合わせ鍵9301乃至930Kを受信する。これらの合わせ鍵9301乃至930Kは、1つ又は2つ以上の目標セットトップボックス(図示せず)に提供されるサービス鍵を暗号化するために用いられる。あるいは、図6A、8及び9Aに示したように、信頼の置ける第三者635を利用することもできる。
【0094】
例えば、この図示した実施形態において、加入者管理システム9101及び9102は地上波放送局であり、それぞれが合わせ鍵ジェネレータ及びSTBシリアルナンバー9201、9202を合わせ鍵ゲートウェイ830に提供し、対応する合わせ鍵9301、9302を受信する。同様に、加入者管理システム9103及び9104はケーブル事業者であり、加入者管理システム9105は直接放送衛星(DBS)会社であり、加入者管理システム910K−1乃至及び910Kはインターネットコンテンツソースである。
【0095】
図12には、セキュアコンテンツ配信システムの第7実施例1000の一部を示す。システム1000のセットトップボックス1010は、第1コンテンツソースからスクランブルコンテンツ又は暗号化コンテンツ1020を、また第2コンテンツソースから資格管理メッセージ(EMM)1040を受信する。第2ソースは、例えばスマートカード、又はCAコントロールシステムである。
【0096】
本発明の1実施形態によれば、EMM1040は、コピープロテクト鍵ジェネレータ(CPKG)1042及び暗号化ユーザー鍵1041を備える。図12及び13に示すように、暗号化ユーザー鍵(Ekey)1041は、Ekey1041が固有鍵(「固有鍵」)1031又はその派生鍵(derivaive)により解読された場合にデスクランブラ1030内にコピープロテクト鍵1035を生成するために計算される値である。固有鍵1031は、ICの製造中、あるいはセットトップボックス1010作成中にロードされる。コピープロテクト鍵1035は、解読目的のために、他のセットトップボックス1070、ポータブルコンピュータ(例えば、PDA)1071と、あるいはポータブルジュークボックス1072などの他の装置とも共有される。
【0097】
図14に示すように、CPKG1042は、STBメーカーID1050、EMM1040を提供するシステムを識別するためのシステムID(図6BのCAプロバイダIDに類似)、デジタルコンテンツのプロバイダを識別するためのコンテンツプロバイダID1052(図6BのサービスプロバイダID624に類似)、及び目的が図6Bの合わせ鍵シーケンス番号とほぼ同じのCPシーケンス番号1053を有する。さらに、CPKG1042は、入力コンテンツのコピーの可否、再生回数、又は再生の日付/時間のような、コンテンツ管理コントロールを提供するコピープロテクトステータス値1054を有する。
【0098】
再び図13に戻って、本実施形態のデスクランブラ1030は、Ekey1041、CPKG1042及び暗号化スクランブル解除鍵1043を第2ソースから受信する。CPKG1042は、図9Aの合わせ鍵ジェネレータ832と実質的に同じである。デスクランブラ1030は、DES、AES、IDEA、3DESなどの対称鍵暗号機能によって固有鍵1031を用いてEkey1041を解読する第1プロセスブロック1032を有する。
【0099】
Ekey1041に対する解読演算によってユーザー鍵1033が再生され、ユーザー鍵1041はCPKG1042を解読し、コピープロテクト鍵1035を作るために用いられる第2プロセスブロック1634にロードされる。暗号化スクランブル解除鍵1043は、スクランブル解除鍵をクリアフォーマットで再生し、セットトップボックス1010及び、特にデスクランブラ1030にロードされた暗号化コンテンツ1020をスクランブル解除及び/又は解読するために、固有鍵(又はその派生鍵)を用いて解読される。スクランブル解除及び/又は解読は3DES演算の実行を含むこともできる。
【0100】
結果として、コンテンツは一時的にクリアフォーマットで配置されるが、しかし低レベル暗号化論理回路1060に送られ、暗号化論理回路1060は、宛先デジタル装置のいずれか又は全てと関連したコピープロテクト鍵1035によって、スクランブル解除コンテンツを暗号化する。結果として、コンテンツは以降の伝送期間中は安全である。
【0101】
図15は、デジタル装置1100の内部に実装されたデスクランブラの他の実施形態1110を示す。デジタル装置1100との通信に適合され、デスクランブラ1110は番組データをコンテンツプロバイダから受信し、番組データを目標のデジタル装置に送る。番組データにクリア状態でアクセス可能になることを避けるために、番組データを暗号化又はスクランブルすることにより、番組データを「コピープロテクト」することもできる。
【0102】
本発明の1実施例において、デスクランブラ1110は、メモリ1120、制御ワード(CW)鍵ラダー論理回路1130、コピープロテクト(CP)鍵ラダー論理回路1140、及び複数の暗号ユニット1150、1160及び1170を備える。ここでは、デスクランブラ1110は、単一の集積回路として配置されている。しかしながら、デスクランブラ1110を、マルチチップパッケージ内に収納された複数の集積回路として配置することもできることが考えられる。
【0103】
図15に示すように、メモリ1120は、安全性を強化するために1回しか書込みのできないプログラマブル不揮発性メモリである。結果として、少なくとも1つの固有鍵1122(以下、一般的には「STB鍵」と呼び、それぞれをSTB鍵‐tと呼ぶ、ここで、t≧1)は、1回のみプログラム可能なメモリに書き込まれた後は、不正に読取り又は上書きすることはできない。STB鍵1122は、CW鍵ラダー論理回路1130及びCP鍵ラダー論理回路1140に供給される。従って、STB鍵1122は、いったんプログラミングされると、再プログラミング、変更、又はデスクランブラ1110の外部からの読取りは不可能である。それに加えて、プログラミング後に値を読取るために、Jタグを用いることはできない。STB鍵1122は、例えば、単一の56ビットデータサブ鍵、3つの56ビット3DESサブ鍵、又は単一の128ビットAES鍵などの様々な実施形態で実行することができる。
【0104】
図15でさらに示すように、CW鍵ラダー論理回路1130は、入力情報、すなわち条件アクセス(CA)ランダム値1200、合わせ鍵ジェネレータ1205、及び1つ又は2つ以上の暗号化制御ワード1210を受信する。CW鍵ラダー論理回路1130は入力情報を処理し、STB鍵1122の1つ又は2つ以上の派生鍵1124(以下では、一般的には「S鍵」と呼び、それぞれをS鍵‐uと呼ぶ、ここで、u≧1)を作る。入力データ1215を解読するために、S鍵1124は第3暗号ユニット1170に供給される。入力データ1215の例としては、帯域外送信される番組データ、又は、デジタル装置1100により作られ、例えば、ヘッドエンド又はCAコントロールシステムへ戻る通信の際に、デジタル装置1100からの起点(origination)を確認するために用いることができるハッシュ処理データがある。
【0105】
1つ又は2つ以上の制御ワード1126(以下では、一般的には「制御ワード」と呼び、それぞれを“CW‐v”と呼ぶ、ここで、v≧1)を暗号化制御ワード1210から再生させるために、CW鍵ラダー論理回路1130は入力情報も処理する。スクランブルコンテンツ1120をスクランブル解除するために、制御ワード1126は第1暗号ユニット1150に提供される。その後、クリアコンテンツ(clear content)1125が第2暗号ユニット1160に供給され、この第2暗号ユニット1160は、デジタルレコーダ、セットトップボックス等のようなデジタル装置への伝送の前にクリアコンテンツを暗号化するためのコピープロテクトメカニズムとして設定されている。
【0106】
図16は、図15のデスクランブラ1110の制御ワード(CW)鍵ラダー論理回路の実施例1130を示す。一般的に、CW鍵ラダー論理回路1130は、第1プロセスブロック1300、第2プロセスブロック1330、及び第3プロセスブロック1360を備える。第1プロセスブロック1300は、STB鍵の派生鍵であるS鍵1224を生成するように設定されている。第2プロセスブロック1330は、合わせ鍵ジェネレータ1205又はその論理派生に基づき、1つ又は2つ以上の合わせ鍵1335(以下では、一般的には「合わせ鍵」と呼び、それぞれを「合わせ鍵‐w」と呼ぶ、ここに、w≧1)を生成するように設定されている。第3プロセスブロック1360は、合わせ鍵1335又はその論理派生を用いて暗号化制御ワード1216を解読する際に制御ワード1120を再生するように設定されている。
【0107】
図17A乃至17Cは、図16のCW鍵ラダー論理回路1130の第1プロセスブロック1300の演算の実施例を示す。図17Aに示すように、第1プロセスブロック1300は、コンテンツプロバイダからメッセージの形でデスクランブラ1110に配信されるシード値であるCAランダム1200に対するDES暗号演算を行う。CAランダム1200及びSTB鍵1 11221に基づき、S鍵‐1 11241が生成される。S鍵‐1 11241はSTB鍵‐1 11221の派生鍵である。
【0108】
図17Bに示すように、第1プロセスブロック1300は、DES暗号演算の代わりにAES暗号演算を行うように適合させることもできる。特に、第1プロセスブロック1300は、入力ビット値1305及びSTB鍵‐1 11221に基づき、STB鍵‐1 11221の派生鍵であるS鍵‐1 11241を生成するように設定されている。本発明の1実施形態によれば、入力値1305は、所定の論理値(例えば、全ての論理値“0”)に設定された“M”追加ビット1307と組合されたCAランダム1200を有する。1実施形態において、ビット1307は入力値1305の最上位ビットとして配置されている。S鍵‐1 11241を作るために、入力値1305はSTB鍵‐1 11221を用いて解読される。ここで、“M”が64であり、CAランダム1200の長さが64ビットである場合は、S鍵‐1 11241の長さは128ビットである。しかしながら、その他のビットサイズを用いることもできることが考えられる。
【0109】
図17Cに示すように、第1プロセスブロック1300は、DES又はAES暗号演算の代わりに3DES暗号演算を行うように適合させることもできる。3DES暗号演算が行われる場合は、第1プロセスブロック1300は、所定の値とCAランダム1200との間で論理演算を行うように設定することもできる。「論理」演算は、少なくとも1つの排他的OR演算を含むこともでき、入力値1200が3つのデータ入力値1310、1314及び1315用の3つの別々の入力パスに分けられる場合は、データ値が異なることを保証するために、複数のデータ値のビット毎論理チェックを含むこともできる。問題は、データ入力値1310、1314及び1315が同じである場合は、データ出力11241、11242及び11243が同じになることである。2つの鍵がお互いをキャンセルしあうので、これによって3DESが単一のDES演算に格下げされることがある。これによって、実装全体の安全性が低下することがある。
【0110】
本実施形態において、CAランダム1200は第1計算パス1310を介して送られる。しかしながら、CAランダム1200は、第1所定値1311及び第2所定値1312によってXOR演算され(例えば、1つのタイプのビット毎論理演算)、そこで、結果値1314及び1315は第2及び第3計算パス1316及び1317に沿ってそれぞれ送られる。かかるXOR演算は、相互に並列処理することもできる。本発明のこの実施形態では、所定値1311及び1312は相互に異なっている(例えば、x01H、x02H).
【0111】
CAランダム1200は、結果値1314及び1315とともに、第1固有鍵「STB鍵‐1」 11221を使用してDES解読演算される。解読結果値はその後第2固有鍵「STB鍵‐2」 11222を用いて暗号化され、次に第3固有鍵「STB鍵‐3」 11223を用いて解読される。結果として、第1プロセスブロック1300は、S鍵1124、すなわち本実施態様における第1派生鍵「S鍵‐1」11241、第2派生鍵「S鍵‐2」11242及び第3派生鍵「S鍵‐3」11243を生成する。
【0112】
用いられる暗号機能のタイプとは無関係に、S鍵1124は、合わせ鍵1335を生成するために第2プロセスブロック1330に供給される。
【0113】
図18A乃至18Cは、図16に示したCW鍵ラダー論理回路1130の第2プロセスブロック1330の実施形態を示す。図18Aに示すように、第2プロセスブロック1330は、この実施形態においてSTB鍵‐1 11221の単一の派生鍵であるS鍵‐1 11241を用いて、合わせ鍵ジェネレータ1205に対しDES暗号演算を行う。これにより、第3プロセスブロックに供給される合わせ鍵1 13351が生成される。
【0114】
図18Bに示すように、AES暗号演算が行われる場合は、第2プロセスブロック1330は、合わせ鍵ジェネレータ1205及びSキー‐1 11241に基づいて合わせ鍵1335を生成するように設定される。本発明の1実施形態においては、入力値1340は、所定の論理値(例えば、全てのビットを論理“0”に設定)を有するMビット1345と組合された合わせ鍵ジェネレータ1205を有する。Mビット1345は入力値1340の最上位ビットとして配置されており、本実施態様においては、M≦64である。入力値1340は、合わせ鍵1 13351を生成するために、S鍵‐1 11241を用いて解読される。
【0115】
図18Cに示すように、3DES暗号演算が行われる場合は、第2プロセスブロック1330は、所定の値と合わせ鍵ジェネレータ1205との間で論理演算を行わせるように設定される。詳細には、合わせ鍵ジェネレータ1205は、第1計算パス1350を介して送られる。又、合わせ鍵ジェネレータ1205は、第1所定値1351及び第2所定値1352を用いてXOR演算される。これらの結果値1354及び1355はそれぞれ第2及び第3計算パス1356及び1357を介して送られる。このXOR演算は、相互に並列処理することもできる。
【0116】
図17Cとは異なり、合わせ鍵ジェネレータ1205及び結果値1354及び1355は、派生鍵11241乃至11243すなわちS鍵‐111241、S鍵‐2 11242及びS鍵‐3 11243を用いてDES解読演算される。これによって、合わせ鍵1335すなわち合わせ鍵1 13351、合わせ鍵2 13352及び合わせ鍵3 13353が生成される。
【0117】
図19A乃至19Cは、図16のCW鍵ラダー論理回路1130の第3プロセスブロック1360の実施例を示す。図19Aに示したようなDES暗号機能に関しては、合わせ鍵1 13351が制御ワード1126を再生するために用いられる。実施例としては、制御ワード1126は、複数の制御ワードすなわち第1制御ワード(CW‐1)11261、第2制御ワード(CW‐2)11262及び第3制御ワード(CW‐3)11263を特徴とする。
【0118】
図19Bに示すように、AES暗号演算が行われるときは、第3プロセスブロックは、制御ワードを集合的に再生するように設定される。例えば、本発明の1つの実施形態によれば、入力値1365は最下位部分として配置された第1暗号化制御ワード12101を有する。第2暗号化制御ワード12102は入力値1365の最上位部分として配置されている。入力値1365は、図16の第2プロセスブロック1330により生成される合わせ鍵1 13351を用いてAES暗号機能によって解読され、入力値1364のビット幅と等しいビット幅を有する結果値1370が生成される。結果値1370については、CW‐1 11261は最下位部分として配置され、CW‐2 11262は最上位部分として配置されている。
【0119】
さらに、第3プロセスブロック1360は、おそらくは最上位ビットとして配置された複数のビット1375と組合された第3暗号化制御ワード11203を解読するようにも設定されている。かかる解読は合わせ鍵1 13351を用いて行われ、結果値1376が生成される。かかる解読はAES暗号機能によるものである。CW‐3 11263は結果値1376から抽出することもできる。1実施形態において、抽出は、結果値1376から所定の数の最下位ビットにアクセスすることによって実現される。
【0120】
図19Cに示すように、複数の暗号化制御ワードが、ここに示すような3−DES暗号機能によって送られる。これによって、CW‐1 11261乃至CW‐3 11263が再生される。例えば、第1暗号化制御ワード11261は、合わせ鍵13351を用いてDES暗号機能にしたがって解読される。次に、解読制御ワードは合わせ鍵2 13352を用いて暗号化され、その後CW‐1 11261を再生するために、第3合わせ鍵 13353によってDES機能を用いて解読される。
【0121】
しかしながら、第2暗号化制御ワード12102は、第1所定値1382(例えば、x02H)を用いてXOR演算される第1合わせ鍵1 13351によって生成される鍵情報1385を用いて解読される。このXOR演算は、再生CW‐1 11261が再生CW‐2 11262と等しいときの鍵のキャンセルを防止する。この第1所定値1382は、その他の交代鍵13352乃至13353によってXOR演算され、処理を行うDES暗号化論理回路にロードされる鍵情報1386及び1387を生成する。同じ機能がCW‐3 11263の再生にも適用されるが、第3暗号化制御ワード12103は、第2所定値(例えば、x04H)によりXOR演算される合わせ鍵13351乃至11353に基づく鍵情報1390、1391、1392を用いて暗号DESによって処理される。
【0122】
図20は、図15のセスクランブラ1110のCP鍵ラダー論理回路1140の実施例を示す。ここで、CP鍵ラダー論理回路1140は、第4プロセスブロック1400、第5プロセスブロック1430及び第6プロセスブロック1460を備える。第4プロセスブロック1400は、CPランダム1250及びSTB鍵1122又はその論理派生に基づき、1つ又は2つ以上の派生鍵1410(以下では、一般的には「SCP鍵」と呼び、それぞれを「SCP鍵‐x」と呼ぶ。ここで、x≧1)を生成するように設定されている。第5プロセスブロック1430は、暗号化ユーザー鍵1255又はその論理派生に基づき、1つ又は2つ以上のユーザー鍵1435(以下では、一般的には「ユーザー鍵」と呼び、それぞれを「ユーザー鍵‐y」と呼ぶ。ここで、y≧1)を生成するように設定されている。第6プロセスブロック1460は、第5プロセスブロック1430で生成されたユーザー鍵(又はその派生物)を用いて1つ又は2つ以上のコピープロテクト(CP)鍵ジェネレータ1260を解読することによって、1つ又は2つ以上のCP鍵1465(以下では、一般的には「CP鍵」と呼び、それぞれを「CP鍵‐z」と呼ぶ。ここで、z≧1)を生成するように設定されている。
【0123】
図21Aに示すように、第4プロセスブロック1400は、コンテンツプロバイダからメッセージの形でデスクランブラ1110に配信されるシード値であるCPランダムに対してDES暗号演算を行う。SCP鍵‐1 14101は、CPランダム1250及びSTB鍵(例えば、STB鍵‐1 11221)の論理派生に基づいて生成される。論理派生1405は、所定の値1407によりXOR演算されるSTB鍵‐1 11221によって生成される結果値である。従って、SCP鍵‐1 14101はSTB鍵‐1 11221の派生鍵である。
【0124】
図21Bに示すように、AES暗号演算が行われるときは、第4プロセスブロック1400は、入力ビット値1415及び論理派生1405に基づいてSTB鍵1122の派生鍵であるSCP鍵1410を生成するように設定される。本発明の1実施形態では、入力ビット値1415は、複数のビット(M)1417と組合されたCPランダムを有する。ビット1417は、入力ビット値1415の最上位ビットとして配置されている。ここでは、別のビットサイズ及び異なる論理値を用いることもできるが、これらの“M”を、全てが論理“0”に設定された64ビットとすることもできる。SCP鍵‐1 14101を生成するために、入力ビット値1415は論理派生1405を用いて解読される。
【0125】
図21Cに示すように、3DES暗号演算が行われるときは、第4プロセスブロック1400は、CPランダム1250に対して暗号演算を行うように設定される。詳細には、CPランダム1250は、所定の値(例えば、x0AH)によって生成される値である第1論理派生1420に基づいて解読される。このXOR演算は相互に並列処理することもできる。
【0126】
解読結果値1421、1422及び1423は、所定の値1407によってXOR演算されるSTB鍵‐2 11222の結果値である第2論理派生1424を用いてDES暗号化演算される。これによって、暗号化結果値1425、1426及び1427が生成され、これらの結果値は第3論理派生1428を用いて解読される。第3論理派生1428は、所定の値1407によりXOR演算されるSTB鍵‐3 11223の結果値である。この結果、第1派生鍵「SCP鍵‐1」14011、第2派生鍵「SCP鍵‐2」14012、及び第3派生鍵「SCP鍵‐3」14013が出力される。
【0127】
図22A乃至22Cは、図20のCP鍵ラダー論理回路1140の第5プロセスブロック1430の実施形態を示す図である。図22Aに示すように、本発明の実施形態において、第5プロセスブロック1430は、第4プロセスブロック1400からのSCP鍵1410(例えば、SCP鍵‐1 14101)を用いて、暗号化ユーザー鍵に対してDES暗号演算を行う。これによって、第6プロセスブロック1460に提供されるユーザー鍵(例えば、ユーザー鍵‐1 14351)が生成される。
【0128】
XOR演算を、第5プロセスブロックが受信する前に、暗号化ユーザー鍵1255に対して行うこともできるということが考えられる。あるいは、全てのSCP鍵14101乃至1410xが固有であることを保証するために、XOR演算の代わりに論理チェックを行うこともできる。
【0129】
図22Bに示すように、AES暗号演算が行われるときは、第5プロセスブロック1430は、暗号化ユーザー鍵1255及び所定の値1440に基づきユーザー鍵(例えば、ユーザー鍵‐1 14351)を生成するように設定される。本発明の1つの実施形態において、入力値1445は所定の値に設定され、入力値1445の最上位ビットとして配置された複数のビット1440と組合された暗号化ユーザー鍵1255を有する。ここで、64ビットを用いることもできるが、別のビットサイズを用いることもできる。ユーザー鍵14351を生成するために、入力値1445はSCP鍵(例えば、SCP鍵‐1 14101)を用いて解読される。
【0130】
図22Cに示すように、3DES暗号演算が行われるときは、第5プロセスブロック1430は、所定の値と暗号化ユーザー鍵1255との間で論理演算を行うように設定される。詳細には、暗号化ユーザー鍵1255は、第1計算パス1450を介して送られる。さらに、第2計算パス1453を介して送られる論理派生1452を生成するために、第1所定値(例えば、x01H)が暗号化ユーザー鍵1255によってXOR演算される。又、第3計算パス1456を介して送られる論理派生1455を生成するために、暗号化ユーザー鍵1255が第2所定値によってXOR演算される。このXOR演算は相互に並列処理することもできる。本発明の実施形態において、所定の値1451及び1454は異なっている(例えば、x01H、x02H)。
【0131】
結果値は、SCP鍵1410すなわちSCP鍵‐1 14101、SCP鍵‐2 14102、及びSCP鍵‐3 14103を用いてDES解読演算される。最終結果値は、暗号化解読暗号化演算の実施の後に、ユーザー鍵‐1 14351、ユーザー鍵‐2 14352、及びユーザー鍵‐3 14353を生成する。
【0132】
図23A乃至23Cは、CP鍵ラダー論理回路1140の第6プロセスブロック1460の実施形態を示す図である。図23Aに示すようなDES暗号機能に関しては、対応するCP鍵を再生するために、1つ又は2つ以上のCP鍵ジェネレータ1260(以下では、一般的には「PC鍵ジェネレータ」と呼び、それぞれを「CP鍵ジェネレータ‐r」と呼ぶ。ここで、r≧1)を用いることもできる。例えば、CP鍵‐1 14651を生成するために、CP鍵ジェネレータ12601は、ユーザー鍵‐1 14351を用いる暗号機能によって解読される。同様に、第2及び第3CP鍵ジェネレータ12602及び12603は、ユーザー鍵‐2 14352及びユーザー鍵‐3 14353を用いた暗号機能によって解読される。これによって、CP鍵‐2 14652及びCP鍵‐3 14653がそれぞれ生成される。
【0133】
図23Bに示すように、AES暗号演算が行われるときは、第6プロセスブロック1460は、別のデジタル装置へ伝送する前にコンテンツを暗号化する際に用いられるコピープロテクト鍵を再生するように設定される。例えば、本発明の1実施形態によれば、第1入力値1470は、CP鍵ジェネレータ12601及び所定の値1475のつらなりを含む。図示するように、説明しやすくするために、CP鍵ジェネレータ12601は第1入力値1470の最下位部分に配置され、所定の値1475は最上位部分に配置されている。第1入力値1470は、ユーザー鍵(例えば、第5プロセスブロックにより作られたユーザー鍵‐1 14351)を用いたAES暗号機能によって解読される。これによって、CP鍵‐1 14651が生成される。CP鍵‐2 14652及びCP鍵‐3 14653をそれぞれ生成するために、同様な演算がCP鍵ジェネレータ‐2 12602及びCP鍵ジェネレータ‐3 12603に対して行われる。
【0134】
図23Cに示すように、3DES暗号演算が行われるときは、第6プロセスブロック1460は、別のデジタル装置へ伝送する前にコンテンツを暗号化する際に用いられるコピープロテクト鍵を再生するように設定される。本発明の1実施形態によれば、CP鍵ジェネレータ12601はユーザー鍵‐1 14351を用いて解読される。結果値はユーザー鍵‐2 14352を用いて解読され、次に、解読結果値はユーザー鍵‐3 14353を用いて解読される。これによって、CP鍵‐1 14651が生成される。
【0135】
同様に、第2CP鍵ジェネレータ12602は、ユーザー鍵‐1 14351の第1論理偏差1480を用いて解読される。本発明の1つの実施形態において、第1論理偏差1480は、所定の値1482によってXOR演算されたユーザー鍵‐1 14351の結果値である。これによって、解読結果値1484が生成され、この解読結果値1484はその後第2論理偏差1485を用いて暗号化される。第2論理偏差1485は、所定の値1482を用いてXOR演算されたユーザー鍵‐2 14352の結果値である。これによって、解読結果値1486が生成され、この解読結果値1486はその後第3論理偏差1487すなわち所定の値1482によりXOR演算されたユーザー鍵‐3 14353の結果値を用いて解読される。これによって、CP鍵‐2 14652が生成される。
【0136】
さらに、CP鍵ジェネレータ‐3 12603は、ユーザー鍵‐1 14351の第4論理偏差1490を用いて解読される。本発明の1実施態様において、第4論理偏差1490は、所定の値1492を用いてXOR演算されたユーザー鍵‐1 14351の結果値である。これによって、解読結果値1494が生成され、この解読結果値1494はその後第5論理偏差1495を用いて暗号化される。第5論理偏差1495は、所定の値1492を用いてXOR演算されたユーザー鍵‐2 14352の結果値である。これによって、解読結果値1496が生成され、この解読結果値1496はその後第6論理偏差1497すなわち所定の値1492を用いてXOR演算されたユーザー鍵‐3 14353の結果値を用いて解読される。これによって、CP鍵‐3 14653が生成される。
【0137】
図15及び24は、デスクランブラ1110の内部に実装された認証論理回路の詳細な実施形態を示す図である。ここで、認証論理回路は、CAランダム1200を第1暗号ユニット1150に送るのに好適な第1コンポーネント1290を備える。さらに、認証論理回路は、CPランダム1250の少なくとも一部を第1暗号ユニット1150に送るのに適した第2コンポーネント1292、及びCP鍵ジェネレータ1260の少なくとも一部を第1暗号ユニット1150に送るのに適した第3コンポーネント1294を備える。
【0138】
CAランダムに対する正しい値が用いられていることを実証するために、CAランダム1200の認証は、通常は3DES低レベル暗号化とともに用いられる。かかる認証は、第1コンポーネント1290が例えば2つの最下位バイトのようなCAランダム1200の少なくとも一部を3DES機能の初期化ベクトル1152にロードすることを可能にするCAランダム認証信号1275を有効化することにより実現される。たとえセキュアコンテンツ配信システムが更新されていたとしても、ハッカーが不正に見つけた合わせ鍵を連続的に用いることを防止するために、初期化ベクトル1152が調節される。
【0139】
さらに、更新CAランダムがデスクランブラ1110に伝送されている間にCAランダム認証信号を一時的に無効化することにより、別の値へのCAランダム値1200の更新を実現することもできる。これによって、更新中である現在のCAランダム値が不正に第1暗号ユニット1150にロードされることが防止される。
【0140】
更新CAランダム値がセキュアコンテンツ配信システム全体に送られてからから一定の時間が経過した後に、CAランダム認証信号1275は再び有効化される。
【0141】
さらに図15及び24に示すように、正しいCPランダム値及び派生ユーザー鍵が用いられていることを実証するために、CPランダム1250の認証が3DES低レベル暗号化とともに用いられる。有効化された場合は、CPランダム認証信号1280は、第2コンポーネント1292が、例えば、CPランダム1250の2つの最下位バイトのようなCPランダム1250の少なくとも一部分を、3DES機能の初期化ベクトル1152にロードすることを可能にさせる。そうでない場合は、違法なコードを書込むハッカーが、全てのコンテンツに同じユーザー鍵を付けてCP鍵を再生し、特定のコンテンツへのアクセス権を正規に得ようとせずその他のプレイヤーとコンテンツを共有することを可能にさせてしまう。
【0142】
CP鍵ジェネレータ1260の少なくとも一部の認証は、コンテンツのコピープロテクトステータスを認証するために用いられる。有効化された場合は、CP鍵ジェネレータ認証信号1285は、第3コンポーネント1294が、CP鍵ジェネレータ1260の少なくとも一部分を3DES低レベル暗号機能の初期化ベクトル1152にロードすることを可能にさせる。1実施形態において、CP鍵ジェネレータ1260の2つの最下位バイトがロードされる。また、CP鍵ジェネレータ1260を形成する異なるグループのバイトを認証目的でロードすることもできる。そうではない場合は、違法なコードを書込むハッカーが、全てのコンテンツに「コピー自由」のタグを付けることを可能にさせてしまう。
【0143】
本発明の1実施例によれば、コンテンツプロバイダが、CAランダム認証信号1275、CPランダム認証信号1280及びCP鍵ジェネレータ認証信号1285を有効化及び無効化する責任を負う。
【0144】
図25には、図24のデスクランブラ1110の詳細な実施例を示す。上述したように、デスクランブラ1110は、1回のみプログラム可能なメモリ1120、複数のプロセスブロック1300、1330、1360、1400、1430、1460、複数の暗号ユニット1150、1160、1170、及び認証論理回路1290、1292、1294を備える。
一般的に、第1プロセスブロック1330は、CAランダム1200及びSTB鍵1122に基づいてS鍵1124を生成する。第2プロセスブロック1330は、合わせ鍵ジェネレータ1205及びS鍵1124に基づいて合わせ鍵1335を生成する。第3プロセスブロック1360は、合わせ鍵1135を用いて、1つ又は2つ以上の暗号化制御ワード1210から再生された制御ワード1126を生成する。制御ワード1126は、例えば、ランダムアクセスメモリ、フラッシュメモリ、又はレジスタのような、1つ又は2つ以上の記憶コンポーネント1500に記憶される。
【0145】
CW更新信号1505を有効化することによって、追加制御ワードを記憶コンポーネント1500内に記憶することが可能になる。しかしながら、CWクリア信号1510を無効化することにより、記憶コンポーネント1500内に記憶された制御ワード1126のいくつか又は全てが除去される(すなわち、その記憶位置への上書きが可能である)。
【0146】
第4プロセスブロック1400はCPランダム1250及びSTB鍵1122に基づいて1つ又は2つ以上のSCP鍵1410を生成する。第5プロセスブロック1430は、1つ又は2つ以上の暗号化ユーザー鍵1255及びSCP鍵1410に基づいてユーザー鍵1435を生成する。第6プロセスブロック1460は、CP鍵ジェネレータ1260及びユーザー鍵1435に基づいてCP鍵1465を生成する。CP鍵1465は、例えば、レジスタ、ランダムアクセスメモリ、フラッシュメモリ等のような、1つ又は2つ以上の鍵記憶コンポーネント1520に記憶される。CP鍵更新信号1525を有効化することによって、追加CP鍵1465を鍵記憶コンポーネント1520内に記憶することが可能になる。CP鍵クリア信号1530を有効化することによって、鍵記憶コンポーネント1520内に記憶されたCP鍵1465のいくつか又は全てが保存されない。
【0147】
さらに図25に示すように、CP解読論理回路1550は、図16に示した第2暗号ユニット1160の一部である。CP解読論理回路1550は、鍵記憶コンポーネント1520内に記憶されたCP鍵を用いて、デジタル装置からの暗号化(コピープロテクトされた)コンテンツを解読する。CP暗号化論理回路1560は、鍵記憶コンポーネント1520内に記憶されたCP鍵を用いて、クリアコンテンツを暗号化する。デコード回路1570は、ビデオ及びオーディオコンテンツの解凍を行う。解凍後には、2つの可能性、すなわち、1)例えば、ベースバンドビデオアウト及びオーディオアウトのためのデジタル/アナログ変換の可能性、又は2)デジタルビデオインタフェース(DVI)を介しての伝送のために解凍デジタルコンテンツのエンコードできるという可能性がある。
【0148】
上記説明において、本発明は特定の実施例を用いて説明してある。しかしながら、添付の特許請求の範囲に記載したような本発明の幅広い主旨及び範囲から逸脱しない範囲で、様々な修正及び変更を行うことが可能であることは明白である。従って、本発明は、明細書及び図面に限定されることなく説明されているものと考えるものとする。
【図面の簡単な説明】
【0149】
【図1】デジタル装置を備えるコンテンツ配信システムの実施例である。
【図2】スマートカードによる動作に適した条件アクセス部を備えるセキュアコンテンツ配信システムの第1実施例である。
【図3】スクランブル解除鍵をスマートカードから図2に示す条件アクセスにユニットに安全に転送するための方法を示す実施例である。
【図4】ネットワーク接続によるヘッドエンドに適したデコーダを備えるセキュアコンテンツ配信システムの第2実施例である。
【図5】図4のヘッドエンドに適したデコーダのさらに詳細な図である。
【図6A】セキュアコンテンツ配信システムの第3実施例である。
【図6B】セキュアコンテンツ配信システムを介して伝送される合わせ鍵ジェネレータを生成するデータ構造の実施例である。
【図6C】図6Aのシステムのセットトップボックスに送られる資格管理メッセージ(EMM)の実施例である。
【図7】図6Aのシステムのセットトップボックスのデコーダの内部に実装されたデスクランブラの実施例である。
【図8】セキュアコンテンツ配信システムの第4実施例である。
【図9A】セキュアコンテンツ配信システムの第5実施例である。
【図9B】図9Aのシステムのセットトップボックスに送られる資格管理メッセージ(EMM)の実施例である。
【図9C】図9Aのシステムのセットトップボックスに送られる電子番組ガイド(EPG)と関連するメタデータの実施例である。
【図10】図9Aのシステムのセットトップボックスの内部に実装されたデスクランブラの実施例である。
【図11】セキュアコンテンツ配信システムの第6実施例の一部である。
【図12】デジタル装置がコピープロテクト機能を備えたセキュアコンテンツ配信システムの第7実施例の一部である。
【図13】図12のシステムのデジタル装置の内部に実装されたデコーダの実施例である。
【図14】図12のコピープロテクト鍵ジェネレータを生成するデータ構造の実施例である。
【図15】図12のシステムのセットトップボックスの内部に実装されたデスクランブラの別の実施例である。
【図16】図15のデスクランブラの制御ワード(CW)鍵ラダー論理回路の実施例である。
【図17A】図16のデスクランブラのCW鍵ラダー論理回路の第1プロセスブロックの実施例である。
【図17B】図16のデスクランブラのCW鍵ラダー論理回路の第1プロセスブロックの実施例である。
【図17C】図16のデスクランブラのCW鍵ラダー論理回路の第1プロセスブロックの実施例である。
【図18A】図16のデスクランブラのCW鍵ラダー論理回路の第2プロセスブロックの実施例である。
【図18B】図16のデスクランブラのCW鍵ラダー論理回路の第2プロセスブロックの実施例である。
【図18C】図16のデスクランブラのCW鍵ラダー論理回路の第2プロセスブロックの実施例である。
【図19A】図16のデスクランブラのCW鍵ラダー論理回路の第3プロセスブロックの実施例である。
【図19B】図16のデスクランブラのCW鍵ラダー論理回路の第3プロセスブロックの実施例である。
【図19C】図16のデスクランブラのCW鍵ラダー論理回路の第3プロセスブロックの実施例である。
【図20】図15のデスクランブラのコピープロテクト(CP)鍵ラダー論理回路の実施例である。
【図21A】図20のCP鍵ラダー論理回路の第4プロセスブロックの実施例である。
【図21B】図20のCP鍵ラダー論理回路の第4プロセスブロックの実施例である。
【図21C】図20のCP鍵ラダー論理回路の第4プロセスブロックの実施例である。
【図22A】図20のCP鍵ラダー論理回路の第5プロセスブロックの実施例である。
【図22B】図20のCP鍵ラダー論理回路の第5プロセスブロックの実施例である。
【図22C】図20のCP鍵ラダー論理回路の第5プロセスブロックの実施例である。
【図23A】図20のCP鍵ラダー論理回路の第6プロセスブロックの実施例である。
【図23B】図20のCP鍵ラダー論理回路の第6プロセスブロックの実施例である。
【図23C】図20のCP鍵ラダー論理回路の第6プロセスブロックの実施例である。
【図24】デスクランブラの内部に実装された認証論理回路の実施例である。
【図25】図24のデスクランブラのさらに詳細な実施形態である。
【特許請求の範囲】
【請求項1】
固有鍵を記憶するための不揮発性メモリと、
(i)条件アクセス(CA)ランダム値及び前記固有鍵に基づいて生成される第1の値、(ii)前記第1の値を用いて生成される第2の値、及び(iii)前記第2の値を用いて再生される第3の値を生成するための制御ワード鍵ラダー論理回路と、
前記第3の値に基づいてスクランブルフォーマットの入力コンテンツをデスクランブルするための第1暗号ユニットと、
前記第1の値を用いて入力暗号化データを解読するための第2暗号ユニットと、
を備えることを特徴とするデスクランブラ。
【請求項2】
単一の集積回路であることを特徴とする請求項1記載のデスクランブラ。
【請求項3】
セットトップボックスの内部に実装されることを特徴とする請求項1記載のデスクランブラ。
【請求項4】
前記第1の値は、前記固有鍵を用いて前記CAランダム値の解読演算を行うことによって生成される派生鍵であることを特徴とする請求項1記載のデスクランブラ。
【請求項5】
前記第1の値は、前記固有鍵を用いて前記CAランダム値とパディングデータの組合せの解読演算を行うことによって派生する派生鍵であり、前記組合せの長さが少なくとも128ビットであることを特徴とする請求項1記載のデスクランブラ。
【請求項6】
前記第2の値は、前記派生鍵を用いて合わせ鍵ジェネレータの解読演算を行うことによって再生される合わせ鍵であり、前記合わせ鍵ジェネレータは、メーカー識別子、サービスプロバイダ識別子、条件アクセス(CA)プロバイダ識別子及び合わせ鍵シーケンス番号の1つ又は2つ以上を有するメッセージであることを特徴とする請求項4記載のデスクランブラ。
【請求項7】
前記第2の値は、メーカー識別子、サービスプロバイダ識別子、条件アクセス(CA)プロバイダ識別子及び合わせ鍵シーケンス番号の1つ又は2つ以上を含むメッセージである合わせ鍵ジェネレータを含む少なくとも128ビットのデータを解読演算することによって再生される合わせ鍵であることを特徴とする請求項5記載のデスクランブラ。
【請求項8】
前記第3の値は、前記合わせ鍵を用いて暗号化制御ワードの解読演算を行うことによって再生される制御ワードであることを特徴とする請求項6記載のデスクランブラ。
【請求項9】
前記第3の値は、(i)前記合わせ鍵を用いた第1暗号化制御ワード及び第2暗号化制御ワードの第1の組合せに対する第1解読演算、及び(ii)前記合わせ鍵を用いた第3暗号化制御ワード及び長さが少なくとも128ビットとなる第2の組合せに対するパディングの役割を果たす複数のビットの第2の組合せに対する第2解読演算、を行うことによって再生される制御ワードであることを特徴とする請求項7記載のデスクランブラ。
【請求項10】
デジタル装置へ伝送する前に前記スクランブル解除入力コンテンツを暗号化するための第3暗号ユニットをさらに備えることを特徴とする請求項1記載のデスクランブラ。
【請求項11】
前記スクランブル解除入力コンテンツを暗号化するために前記第3暗号ユニットによって用いられるコピープロテクト鍵を生成するためのコピープロテクトラダー論理回路をさらに備えることを特徴とする請求項10記載のデスクランブラ。
【請求項12】
前記スクランブル解除入力コンテンツを暗号化するための前記第3暗号ユニットによって用いられるコピープロテクト鍵を生成するための前記コピープロテクトラダー論理回路は、固有鍵及び所定の値の排他的論理和(XOR)演算の結果値である論理導出を用いて、ランダム値と長さが少なくとも128ビットである結果値を作るための複数のビットとが連続したものの解読演算を行うことによって再生される制御ワードであることを特徴とする請求項11記載のデスクランブラ。
【請求項13】
デスクランブラにおいて、
(i)固有鍵を用いて第1ランダム値に対する暗号化演算から生成される第1の値、(ii)前記第1の値を用いて暗号化演算される合わせ鍵ジェネレータから再生される第2の値、及び(iii)前記第2の値を用いて暗号化制御ワードを解読することにより再生される制御ワード、を生成するための制御ワード鍵ラダー論理回路と、
前記制御ワードを用いてスクランブルフォーマットの入力コンテンツをスクランブル解除するための第1暗号ユニットと、
を備えることを特徴とするデスクランブラ。
【請求項14】
単一の集積回路であることを特徴とする請求項13記載のデスクランブラ。
【請求項15】
前記デスクランブラとともに実装されたデジタル装置によって帯域外受信された入力暗号化番組データを解読するための第2暗号ユニットをさらに備えることを特徴とする請求項13記載のデスクランブラ。
【請求項16】
前記暗号化番組データは、(i)スマートカード識別子、(ii)長さフィールド、(iii)合わせ鍵ジェネレータ、(iv)少なくとも1つの鍵識別子、及び(v)前記少なくとも1つの鍵識別子と関連する少なくとも1つの鍵、のうちの少なくとも2つを含む暗号化資格管理メッセージを有することを特徴とする請求項15記載のスクランブラ。
【請求項17】
前記暗号化資格管理メッセージの前記合わせ鍵ジェネレータは、メーカー識別子、サービスプロバイダ識別子、条件アクセス(CA)プロバイダ識別子及び合わせ鍵シーケンス番号の1つ又は2つ以上を含むメッセージであることを特徴とする請求項16記載のデスクランブラ。
【請求項18】
複数のプロセスブロックに基づいてコピープロテクト鍵を生成するためのコピープロテクトラダー論理回路をさらに備え、前記複数のプロセスブロックは、
第2ランダム値及び前記固有鍵又は前記固有鍵の論理派生のいずれか1つに基づいて派生鍵を生成するために構成された第1プロセスブロックと、
前記派生鍵を用いて暗号化ユーザー鍵からユーザー鍵を再生するために構成された第2プロセスブロックと、
前記ユーザー鍵を用いてコピープロテクト鍵ジェネレータからコピープロテクト鍵を生成するために構成された第3プロセスブロック
であることを特徴とする請求項13記載のデスクランブラ。
【請求項19】
デジタル装置へ伝送する前に前記コピープロテクト鍵を用いて前記スクランブル解除入力コンテンツを暗号化するための第3暗号ユニットをさらに備えることを特徴とする請求項18記載のデスクランブラ。
【請求項20】
前記制御ワード鍵ラダー論理回路及び前記コピープロテクトラダー論理回路に結合された1回のみプログラム可能な不揮発性メモリをさらに備え、前記不揮発性メモリは前記固有鍵を記憶するためのものであることを特徴とする請求項18記載のデスクランブラ。
【請求項21】
前記コピープロテクト鍵を記憶するためのメモリをさらに備え、前記メモリが前記第3暗号ユニットに結合されていることを特徴とする請求項19記載のデスクランブラ。
【請求項22】
固有鍵を記憶するためのメモリと、
前記メモリに結合され、
前記固有鍵の第1派生鍵を生成するために構成された第1プロセスブロック と、
前記派生鍵を用いて合わせ鍵ジェネレータから合わせ鍵を生成するために 構成された第2プロセスブロックと、
前記合わせ鍵を用いて暗号化制御ワードを解読することによって制御ワード を再生するために構成された第3プロセスブロックと、
を備える制御ワード鍵ラダー論理回路と、
前記制御ワード鍵ラダー論理回路に結合され、前記制御ワードを用いてスクランブルフォーマットの入力コンテンツをスクランブル解除するための第1暗号ユニットと、
備えることを特徴とするデスクランブラ。
【請求項23】
単一の集積回路であることを特徴とする請求項22記載のスクランブラ。
【請求項24】
前記デスクランブラとともに実装されたデジタル装置によって帯域外受信されえた入力暗号化番組データを解読するための第2暗号ユニットをさらに備えることを特徴とする請求項22記載のデスクランブラ。
【請求項25】
前記暗号化番組データが、(i)スマートカード識別子、(ii)長さフィールド、(iii)合わせ鍵ジェネレータ、(iv)少なくとも1つの鍵識別子、及び(v)前記少なくとも1つの鍵識別子と関連する少なくとも1つの鍵の少なくとも2つを含む暗号化資格管理メッセージを含むことを特徴とする請求項24記載のスクランブラ。
【請求項26】
前記第1暗号ユニットに結合されたコピープロテクトラダー論理回路をさらに備え、前記コピープロテクトラダー論理回路は、
ランダム値及び前記固有鍵又基づいて第2派生鍵を生成するために構成された第4プロセスブロックと、
ユーザー鍵を再生するための前記第2派生鍵を用いて暗号化ユーザー鍵を解読するために構成された第5プロセスブロックと、
前記ユーザー鍵を用いてコピープロテクト鍵ジェネレータからコピープロテクト鍵を生成するために構成された第6プロセスブロックと、
を備えることを特徴とする請求項22記載のデスクランブラ。
【請求項27】
デジタル装置へ伝送する前に前記コピープロテクト鍵を用いて前記スクランブル解除入力コンテンツを暗号化するための第2暗号ユニットをさらに備えることを特徴とする請求項26記載のデスクランブラ。
【請求項28】
複数の固有鍵を記憶するための不揮発性メモリと、
(i)条件アクセス(CA)ランダム値及び対応する複数の固有鍵に基づいて生成される複数の派生鍵、(ii)前記複数の派生鍵を用いて生成される複数の合わせ鍵、及び(iii)前記複数の合わせ鍵を用いて再生される複数の制御ワード、を生成するための制御ワード鍵ラダー論理回路と、
前記複数の制御ワードの少なくとも1つに基づいてスクランブルフォーマットの入力コンテンツをスクランブル解除するための第1暗号ユニットと、
を備えることを特徴とするデスクランブラ。
【請求項29】
前記複数の派生鍵は、
(i) 第1の結果値を生成するために前記複数の固有鍵の第1固有鍵を用いて前記CAランダムに対して行われる第1の変換、第2の結果値を生成するために前記複数の固有鍵の第2固有鍵を用いて前記第1の結果値に対して行われる第2の変換、及び前期第1派生鍵を生成するために前記複数の固有鍵の第3固有鍵を用いて前記第2の結果値に対して行われる第3の変換の少なくとも3つの変換を連続的に受ける前記CAランダム値によって生成される第1派生鍵と、
(ii) 第4の結果値を生成するためにビット毎論理演算される前記CAランダム及び第1の所定値によって生成され、その後、前記第4の結果値が第5の結果値を生成するために前記第1固有鍵を用いて前記第4の結果値に対して行われる第4の変換、第6の結果値を生成するために前記第2固有鍵を用いて前記第5の結果値に対して行われる第5の変換、及び第2派生鍵を生成するために前記第3固有鍵を用いて前記第6の結果値に対して行われる第6の変換の少なくとも3つの変換を連続的に受ける第2派生鍵と、
(iii) 第7の結果値を生成するためにビット毎論理演算される前記CAランダム及び前記第1の所定値とは異なる第2の所定値によって生成され、その後、前記第7の結果値が第8の結果値を生成ために前記第1固有鍵を用いて前記第7の結果値に対して行われる第7の変換、第9の結果値を生成するために前記第2固有鍵を用いて前記第8の結果値に対して行われる第8の変換、及び第3派生鍵を生成するために前記第3固有鍵を用いて前記第9の結果値に対して行われる第9の変換の少なくとも3つの変換を連続的に受ける第3派生鍵と、
を有することを特徴とする請求項28記載のデスクランブラ。
【請求項30】
前記複数の合わせ鍵は、
(i) メーカー識別子、サービスプロバイダ識別子、条件アクセス(CA)プロバイダ識別子及び合わせ鍵シーケンス番号の1つ以上を含むメッセージである合わせ鍵ジェネレータによって生成され、第1の結果値を生成するために前記複数の派生鍵の第1派生鍵を用いて前記合わせ鍵ジェネレータに対して行われる第1の変換、第2の結果値を生成するために前記複数の派生鍵の第2派生鍵を用いて前記第1の結果値に対して行われる第2の変換、及び第1合わせ鍵を生成するために前記複数の派生鍵の第3派生鍵を用いて前記第2の結果値に対して行われる第3の変換の少なくとも3つの変換を連続的に受ける第1合わせ鍵と、
(ii) 第3の結果値を生成するためにビット毎論理演算される前記合わせ鍵及び第1の所定値によって生成され、その後、前記第3の結果値が第4の結果値を生成するために前記第1派生鍵を用いて前記第3の結果値に対して行われる第4の変換、第5の結果値を生成するために前記第2派生鍵を用いて前記第4の結果値に対して行われる第5の変換、及び第2合わせ鍵を生成するために前記第3派生鍵を用いて前記第5の結果値に対して行われる第6の変換の少なくとも3つの変換を連続的に受ける第2合わせ鍵と、
(iii) 第6の結果値を生成するためにビット毎論理演算される前記合わせ鍵及び前記第1の所定値とは異なる第2の所定値によって生成され、その後、前記第6の結果値が第7の結果値を生成するために前記第1派生鍵を用いて前記第6の結果値に対して行われる第7の変換、第8の結果値を生成するために前記第2派生鍵を用いて前記第7の結果値に対して行われる第8の変換、及び第3合わせ鍵を生成するために前記第3派生鍵を用いて前記第8の結果値に対して行われる第9の変換の少なくとも3つの変換を連続的に受ける第3合わせ鍵と、
を有することを特徴とする請求項28記載のデスクランブラ。
【請求項31】
前記複数の制御ワードが、
(i) 第1の結果値を生成するために前記複数の合わせ鍵の第1合わせ鍵を用いて第1暗号化制御ワードに対して行われる第1の変換、第2の結果値を生成するために前記複数の合わせ鍵の第2合わせ鍵を用いて前記第1の結果値に対して行われる第2の変換、及び第1制御ワードを生成するために前記複数の合わせ鍵の第3合わせ鍵を用いて前記第2の結果値に対して行われる第3の変換の少なくとも3つの変換を連続的に受ける第1暗号化制御ワードから再生される第1制御ワードと、
(ii) 第3の結果値を生成するためにビット毎論理演算される第2暗号化制御ワード及び第1の所定値から再生され、その後、前記第3の結果値が第4の結果値を生成するために前記第1合わせ鍵を用いて前記第3の結果値に対して行われる第4の変換、第5の結果値を生成するために前記第合わせ鍵を用いて前記第4の結果値に対して行われる第5の変換、及び第2制御ワードを生成するために前記第3合わせ鍵を用いて前記第5の結果値に対して行われる第6の変換の少なくとも3つの変換を連続的に受ける第2制御ワードと、
(iii) 第6の結果値を生成するためにビット毎論理演算される第3暗号化制御ワード及び第2の所定値から再生され、その後、前記第6の結果値が第7の結果値を生成するために前記第1合わせ鍵を用いて前記第6の結果値に対して行われる第7の変換、第8の結果値を生成するために前記第2合わせ鍵を用いて前記第7の結果値に対して行われる第8の変換、及び第3制御ワードを生成するために前記第3合わせ鍵を用いて前記第8の結果値に対して行われる第9の変換の少なくとも3つの変換を連続的に受ける第3制御ワードと、
を含むことを特徴とする請求項28記載のデスクランブラ。
【請求項32】
ビット毎論理演算が排他的OR演算であることを特徴とする請求項30記載のデスクランブラ。
【請求項1】
固有鍵を記憶するための不揮発性メモリと、
(i)条件アクセス(CA)ランダム値及び前記固有鍵に基づいて生成される第1の値、(ii)前記第1の値を用いて生成される第2の値、及び(iii)前記第2の値を用いて再生される第3の値を生成するための制御ワード鍵ラダー論理回路と、
前記第3の値に基づいてスクランブルフォーマットの入力コンテンツをデスクランブルするための第1暗号ユニットと、
前記第1の値を用いて入力暗号化データを解読するための第2暗号ユニットと、
を備えることを特徴とするデスクランブラ。
【請求項2】
単一の集積回路であることを特徴とする請求項1記載のデスクランブラ。
【請求項3】
セットトップボックスの内部に実装されることを特徴とする請求項1記載のデスクランブラ。
【請求項4】
前記第1の値は、前記固有鍵を用いて前記CAランダム値の解読演算を行うことによって生成される派生鍵であることを特徴とする請求項1記載のデスクランブラ。
【請求項5】
前記第1の値は、前記固有鍵を用いて前記CAランダム値とパディングデータの組合せの解読演算を行うことによって派生する派生鍵であり、前記組合せの長さが少なくとも128ビットであることを特徴とする請求項1記載のデスクランブラ。
【請求項6】
前記第2の値は、前記派生鍵を用いて合わせ鍵ジェネレータの解読演算を行うことによって再生される合わせ鍵であり、前記合わせ鍵ジェネレータは、メーカー識別子、サービスプロバイダ識別子、条件アクセス(CA)プロバイダ識別子及び合わせ鍵シーケンス番号の1つ又は2つ以上を有するメッセージであることを特徴とする請求項4記載のデスクランブラ。
【請求項7】
前記第2の値は、メーカー識別子、サービスプロバイダ識別子、条件アクセス(CA)プロバイダ識別子及び合わせ鍵シーケンス番号の1つ又は2つ以上を含むメッセージである合わせ鍵ジェネレータを含む少なくとも128ビットのデータを解読演算することによって再生される合わせ鍵であることを特徴とする請求項5記載のデスクランブラ。
【請求項8】
前記第3の値は、前記合わせ鍵を用いて暗号化制御ワードの解読演算を行うことによって再生される制御ワードであることを特徴とする請求項6記載のデスクランブラ。
【請求項9】
前記第3の値は、(i)前記合わせ鍵を用いた第1暗号化制御ワード及び第2暗号化制御ワードの第1の組合せに対する第1解読演算、及び(ii)前記合わせ鍵を用いた第3暗号化制御ワード及び長さが少なくとも128ビットとなる第2の組合せに対するパディングの役割を果たす複数のビットの第2の組合せに対する第2解読演算、を行うことによって再生される制御ワードであることを特徴とする請求項7記載のデスクランブラ。
【請求項10】
デジタル装置へ伝送する前に前記スクランブル解除入力コンテンツを暗号化するための第3暗号ユニットをさらに備えることを特徴とする請求項1記載のデスクランブラ。
【請求項11】
前記スクランブル解除入力コンテンツを暗号化するために前記第3暗号ユニットによって用いられるコピープロテクト鍵を生成するためのコピープロテクトラダー論理回路をさらに備えることを特徴とする請求項10記載のデスクランブラ。
【請求項12】
前記スクランブル解除入力コンテンツを暗号化するための前記第3暗号ユニットによって用いられるコピープロテクト鍵を生成するための前記コピープロテクトラダー論理回路は、固有鍵及び所定の値の排他的論理和(XOR)演算の結果値である論理導出を用いて、ランダム値と長さが少なくとも128ビットである結果値を作るための複数のビットとが連続したものの解読演算を行うことによって再生される制御ワードであることを特徴とする請求項11記載のデスクランブラ。
【請求項13】
デスクランブラにおいて、
(i)固有鍵を用いて第1ランダム値に対する暗号化演算から生成される第1の値、(ii)前記第1の値を用いて暗号化演算される合わせ鍵ジェネレータから再生される第2の値、及び(iii)前記第2の値を用いて暗号化制御ワードを解読することにより再生される制御ワード、を生成するための制御ワード鍵ラダー論理回路と、
前記制御ワードを用いてスクランブルフォーマットの入力コンテンツをスクランブル解除するための第1暗号ユニットと、
を備えることを特徴とするデスクランブラ。
【請求項14】
単一の集積回路であることを特徴とする請求項13記載のデスクランブラ。
【請求項15】
前記デスクランブラとともに実装されたデジタル装置によって帯域外受信された入力暗号化番組データを解読するための第2暗号ユニットをさらに備えることを特徴とする請求項13記載のデスクランブラ。
【請求項16】
前記暗号化番組データは、(i)スマートカード識別子、(ii)長さフィールド、(iii)合わせ鍵ジェネレータ、(iv)少なくとも1つの鍵識別子、及び(v)前記少なくとも1つの鍵識別子と関連する少なくとも1つの鍵、のうちの少なくとも2つを含む暗号化資格管理メッセージを有することを特徴とする請求項15記載のスクランブラ。
【請求項17】
前記暗号化資格管理メッセージの前記合わせ鍵ジェネレータは、メーカー識別子、サービスプロバイダ識別子、条件アクセス(CA)プロバイダ識別子及び合わせ鍵シーケンス番号の1つ又は2つ以上を含むメッセージであることを特徴とする請求項16記載のデスクランブラ。
【請求項18】
複数のプロセスブロックに基づいてコピープロテクト鍵を生成するためのコピープロテクトラダー論理回路をさらに備え、前記複数のプロセスブロックは、
第2ランダム値及び前記固有鍵又は前記固有鍵の論理派生のいずれか1つに基づいて派生鍵を生成するために構成された第1プロセスブロックと、
前記派生鍵を用いて暗号化ユーザー鍵からユーザー鍵を再生するために構成された第2プロセスブロックと、
前記ユーザー鍵を用いてコピープロテクト鍵ジェネレータからコピープロテクト鍵を生成するために構成された第3プロセスブロック
であることを特徴とする請求項13記載のデスクランブラ。
【請求項19】
デジタル装置へ伝送する前に前記コピープロテクト鍵を用いて前記スクランブル解除入力コンテンツを暗号化するための第3暗号ユニットをさらに備えることを特徴とする請求項18記載のデスクランブラ。
【請求項20】
前記制御ワード鍵ラダー論理回路及び前記コピープロテクトラダー論理回路に結合された1回のみプログラム可能な不揮発性メモリをさらに備え、前記不揮発性メモリは前記固有鍵を記憶するためのものであることを特徴とする請求項18記載のデスクランブラ。
【請求項21】
前記コピープロテクト鍵を記憶するためのメモリをさらに備え、前記メモリが前記第3暗号ユニットに結合されていることを特徴とする請求項19記載のデスクランブラ。
【請求項22】
固有鍵を記憶するためのメモリと、
前記メモリに結合され、
前記固有鍵の第1派生鍵を生成するために構成された第1プロセスブロック と、
前記派生鍵を用いて合わせ鍵ジェネレータから合わせ鍵を生成するために 構成された第2プロセスブロックと、
前記合わせ鍵を用いて暗号化制御ワードを解読することによって制御ワード を再生するために構成された第3プロセスブロックと、
を備える制御ワード鍵ラダー論理回路と、
前記制御ワード鍵ラダー論理回路に結合され、前記制御ワードを用いてスクランブルフォーマットの入力コンテンツをスクランブル解除するための第1暗号ユニットと、
備えることを特徴とするデスクランブラ。
【請求項23】
単一の集積回路であることを特徴とする請求項22記載のスクランブラ。
【請求項24】
前記デスクランブラとともに実装されたデジタル装置によって帯域外受信されえた入力暗号化番組データを解読するための第2暗号ユニットをさらに備えることを特徴とする請求項22記載のデスクランブラ。
【請求項25】
前記暗号化番組データが、(i)スマートカード識別子、(ii)長さフィールド、(iii)合わせ鍵ジェネレータ、(iv)少なくとも1つの鍵識別子、及び(v)前記少なくとも1つの鍵識別子と関連する少なくとも1つの鍵の少なくとも2つを含む暗号化資格管理メッセージを含むことを特徴とする請求項24記載のスクランブラ。
【請求項26】
前記第1暗号ユニットに結合されたコピープロテクトラダー論理回路をさらに備え、前記コピープロテクトラダー論理回路は、
ランダム値及び前記固有鍵又基づいて第2派生鍵を生成するために構成された第4プロセスブロックと、
ユーザー鍵を再生するための前記第2派生鍵を用いて暗号化ユーザー鍵を解読するために構成された第5プロセスブロックと、
前記ユーザー鍵を用いてコピープロテクト鍵ジェネレータからコピープロテクト鍵を生成するために構成された第6プロセスブロックと、
を備えることを特徴とする請求項22記載のデスクランブラ。
【請求項27】
デジタル装置へ伝送する前に前記コピープロテクト鍵を用いて前記スクランブル解除入力コンテンツを暗号化するための第2暗号ユニットをさらに備えることを特徴とする請求項26記載のデスクランブラ。
【請求項28】
複数の固有鍵を記憶するための不揮発性メモリと、
(i)条件アクセス(CA)ランダム値及び対応する複数の固有鍵に基づいて生成される複数の派生鍵、(ii)前記複数の派生鍵を用いて生成される複数の合わせ鍵、及び(iii)前記複数の合わせ鍵を用いて再生される複数の制御ワード、を生成するための制御ワード鍵ラダー論理回路と、
前記複数の制御ワードの少なくとも1つに基づいてスクランブルフォーマットの入力コンテンツをスクランブル解除するための第1暗号ユニットと、
を備えることを特徴とするデスクランブラ。
【請求項29】
前記複数の派生鍵は、
(i) 第1の結果値を生成するために前記複数の固有鍵の第1固有鍵を用いて前記CAランダムに対して行われる第1の変換、第2の結果値を生成するために前記複数の固有鍵の第2固有鍵を用いて前記第1の結果値に対して行われる第2の変換、及び前期第1派生鍵を生成するために前記複数の固有鍵の第3固有鍵を用いて前記第2の結果値に対して行われる第3の変換の少なくとも3つの変換を連続的に受ける前記CAランダム値によって生成される第1派生鍵と、
(ii) 第4の結果値を生成するためにビット毎論理演算される前記CAランダム及び第1の所定値によって生成され、その後、前記第4の結果値が第5の結果値を生成するために前記第1固有鍵を用いて前記第4の結果値に対して行われる第4の変換、第6の結果値を生成するために前記第2固有鍵を用いて前記第5の結果値に対して行われる第5の変換、及び第2派生鍵を生成するために前記第3固有鍵を用いて前記第6の結果値に対して行われる第6の変換の少なくとも3つの変換を連続的に受ける第2派生鍵と、
(iii) 第7の結果値を生成するためにビット毎論理演算される前記CAランダム及び前記第1の所定値とは異なる第2の所定値によって生成され、その後、前記第7の結果値が第8の結果値を生成ために前記第1固有鍵を用いて前記第7の結果値に対して行われる第7の変換、第9の結果値を生成するために前記第2固有鍵を用いて前記第8の結果値に対して行われる第8の変換、及び第3派生鍵を生成するために前記第3固有鍵を用いて前記第9の結果値に対して行われる第9の変換の少なくとも3つの変換を連続的に受ける第3派生鍵と、
を有することを特徴とする請求項28記載のデスクランブラ。
【請求項30】
前記複数の合わせ鍵は、
(i) メーカー識別子、サービスプロバイダ識別子、条件アクセス(CA)プロバイダ識別子及び合わせ鍵シーケンス番号の1つ以上を含むメッセージである合わせ鍵ジェネレータによって生成され、第1の結果値を生成するために前記複数の派生鍵の第1派生鍵を用いて前記合わせ鍵ジェネレータに対して行われる第1の変換、第2の結果値を生成するために前記複数の派生鍵の第2派生鍵を用いて前記第1の結果値に対して行われる第2の変換、及び第1合わせ鍵を生成するために前記複数の派生鍵の第3派生鍵を用いて前記第2の結果値に対して行われる第3の変換の少なくとも3つの変換を連続的に受ける第1合わせ鍵と、
(ii) 第3の結果値を生成するためにビット毎論理演算される前記合わせ鍵及び第1の所定値によって生成され、その後、前記第3の結果値が第4の結果値を生成するために前記第1派生鍵を用いて前記第3の結果値に対して行われる第4の変換、第5の結果値を生成するために前記第2派生鍵を用いて前記第4の結果値に対して行われる第5の変換、及び第2合わせ鍵を生成するために前記第3派生鍵を用いて前記第5の結果値に対して行われる第6の変換の少なくとも3つの変換を連続的に受ける第2合わせ鍵と、
(iii) 第6の結果値を生成するためにビット毎論理演算される前記合わせ鍵及び前記第1の所定値とは異なる第2の所定値によって生成され、その後、前記第6の結果値が第7の結果値を生成するために前記第1派生鍵を用いて前記第6の結果値に対して行われる第7の変換、第8の結果値を生成するために前記第2派生鍵を用いて前記第7の結果値に対して行われる第8の変換、及び第3合わせ鍵を生成するために前記第3派生鍵を用いて前記第8の結果値に対して行われる第9の変換の少なくとも3つの変換を連続的に受ける第3合わせ鍵と、
を有することを特徴とする請求項28記載のデスクランブラ。
【請求項31】
前記複数の制御ワードが、
(i) 第1の結果値を生成するために前記複数の合わせ鍵の第1合わせ鍵を用いて第1暗号化制御ワードに対して行われる第1の変換、第2の結果値を生成するために前記複数の合わせ鍵の第2合わせ鍵を用いて前記第1の結果値に対して行われる第2の変換、及び第1制御ワードを生成するために前記複数の合わせ鍵の第3合わせ鍵を用いて前記第2の結果値に対して行われる第3の変換の少なくとも3つの変換を連続的に受ける第1暗号化制御ワードから再生される第1制御ワードと、
(ii) 第3の結果値を生成するためにビット毎論理演算される第2暗号化制御ワード及び第1の所定値から再生され、その後、前記第3の結果値が第4の結果値を生成するために前記第1合わせ鍵を用いて前記第3の結果値に対して行われる第4の変換、第5の結果値を生成するために前記第合わせ鍵を用いて前記第4の結果値に対して行われる第5の変換、及び第2制御ワードを生成するために前記第3合わせ鍵を用いて前記第5の結果値に対して行われる第6の変換の少なくとも3つの変換を連続的に受ける第2制御ワードと、
(iii) 第6の結果値を生成するためにビット毎論理演算される第3暗号化制御ワード及び第2の所定値から再生され、その後、前記第6の結果値が第7の結果値を生成するために前記第1合わせ鍵を用いて前記第6の結果値に対して行われる第7の変換、第8の結果値を生成するために前記第2合わせ鍵を用いて前記第7の結果値に対して行われる第8の変換、及び第3制御ワードを生成するために前記第3合わせ鍵を用いて前記第8の結果値に対して行われる第9の変換の少なくとも3つの変換を連続的に受ける第3制御ワードと、
を含むことを特徴とする請求項28記載のデスクランブラ。
【請求項32】
ビット毎論理演算が排他的OR演算であることを特徴とする請求項30記載のデスクランブラ。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6A】
【図6B】
【図6C】
【図7A】
【図7B】
【図7C】
【図8】
【図9A】
【図9B】
【図9C】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17A】
【図17B】
【図17C】
【図18A】
【図18B】
【図18C】
【図19A】
【図19B】
【図19C】
【図20】
【図21A】
【図21B】
【図21C】
【図22A】
【図22B】
【図22C】
【図23A】
【図23B】
【図23C】
【図24】
【図25】
【図2】
【図3】
【図4】
【図5】
【図6A】
【図6B】
【図6C】
【図7A】
【図7B】
【図7C】
【図8】
【図9A】
【図9B】
【図9C】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17A】
【図17B】
【図17C】
【図18A】
【図18B】
【図18C】
【図19A】
【図19B】
【図19C】
【図20】
【図21A】
【図21B】
【図21C】
【図22A】
【図22B】
【図22C】
【図23A】
【図23B】
【図23C】
【図24】
【図25】
【公表番号】特表2006−506029(P2006−506029A)
【公表日】平成18年2月16日(2006.2.16)
【国際特許分類】
【出願番号】特願2005−502278(P2005−502278)
【出願日】平成15年11月5日(2003.11.5)
【国際出願番号】PCT/US2003/035334
【国際公開番号】WO2004/042995
【国際公開日】平成16年5月21日(2004.5.21)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
フロッピー
【出願人】(593181638)ソニー エレクトロニクス インク (371)
【Fターム(参考)】
【公表日】平成18年2月16日(2006.2.16)
【国際特許分類】
【出願日】平成15年11月5日(2003.11.5)
【国際出願番号】PCT/US2003/035334
【国際公開番号】WO2004/042995
【国際公開日】平成16年5月21日(2004.5.21)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
フロッピー
【出願人】(593181638)ソニー エレクトロニクス インク (371)
【Fターム(参考)】
[ Back to top ]