トラストドメイン内においてプログラミングマテリアルを安全に伝送し,記憶するための技術
【課題】通信ネットワークから受信されたコンテントが、不正コピーされないように保護されるトラストドメインを確立する。
【解決手段】トラストドメインは、ケーブルTVネットワークからコンテントを受信するユーザーに関連するデバイスを含み、受信コンテンツはデバイスに記憶される前に暗号化される。更に、公開鍵暗号化方法に従い、公開鍵を用いてコンテント鍵をそれぞれ暗号化し、第1、第2暗号化コンテント鍵バージョンを発生する。これらは、デバイスの記憶装置内に、暗号化されたコンテントに関連して記憶される。この暗号化されたコンテントは第1デバイスから第2デバイスへ移動でき、第2デバイスが同じユーザーに関連しており、暗号化された第2コンテント鍵バージョンも提供されている場合に、第2デバイス内でも解読できる。
【解決手段】トラストドメインは、ケーブルTVネットワークからコンテントを受信するユーザーに関連するデバイスを含み、受信コンテンツはデバイスに記憶される前に暗号化される。更に、公開鍵暗号化方法に従い、公開鍵を用いてコンテント鍵をそれぞれ暗号化し、第1、第2暗号化コンテント鍵バージョンを発生する。これらは、デバイスの記憶装置内に、暗号化されたコンテントに関連して記憶される。この暗号化されたコンテントは第1デバイスから第2デバイスへ移動でき、第2デバイスが同じユーザーに関連しており、暗号化された第2コンテント鍵バージョンも提供されている場合に、第2デバイス内でも解読できる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は通信技術に関し,より詳細には,通信システム,例えばケーブルテレビシステムにおいて,プログラミングマテリアルを安全に伝送し,記憶するための技術に関する。
【背景技術】
【0002】
セットトップターミナル(STT)は,ユーザーのテレビとプログラミングコンテントを配信するケーブルTVネットワークとの間のゲートウェイとして働く。かかるプログラミングコンテントは放送信号として配信してもよいし,またはビドオオンデマンド(VOD),加入VOD,ムービーオンデマンドなどのサービスを提供するオンデマンド方式でも配信することもできる。更に,ネットワークを使用することにより,プログラミングコンテントをプレゼンテーションしている際に,ユーザーがトリックモードの機能(巻き戻し,早送り,一時停止など)を実行できるようにする,ネットワークパーソナルビデオレコーダ(NPVR)サービスがすでに開発された。実際に2002年11月22日に出願され,本願出願人に譲渡された継続中の米国特許出願第10/302,550号には,NPVRサービスを実施するためのネットワークアーキテクチャおよび機能が記載されており,本願ではこの米国特許出願を参考例として援用する。このNPVRサービスは,かかる予約プログラムが放送前においてユーザーに識別されていなかった場合でも,ユーザーがレビューできるように,過去および将来のプログラムをユーザーが予約できるようにもするものである。
【0003】
STTは,プログラミングコンテントの配信を安全にするために,例えばデータ暗号化規格(DES)技術に従って暗号化できるプログラミングコンテントをケーブルTVネットワークを通して受信するものである。DESは,メッセージの暗号化と解読の双方に対し,1つの鍵を使用する周知の対称的サイファー(cipher)である。DESアルゴリズムは公に既知であるので,DES鍵を学習すれば,誰でも暗号化されたメッセージを読み取ることが可能となる。このようにメッセージの送信側と受信側の双方はDES鍵を他人から秘密にしなければならない。DES鍵は一般に8バイトのシーケンスであり,各バイトは8ビットを含む。DESの完全性を高めるためにDESアルゴリズムを連続した回数適応できる。このようなアプローチにより,DESアルゴリズムは異なる鍵を使用し,シーケンス内で例えば3回データを暗号化し,解読するが,その結果,いわゆる三重DES(3DES)技術が得られている。
【0004】
DES技術と対照的に,公開鍵暗号化技術,例えばRSA技術(開発者のRivest,ShamirおよびAdlemanの頭文字をとった名称である)は,2つの異なる鍵を使用する。プライベート鍵と称される第1の鍵は,ユーザーによって秘密状態に維持される。公開鍵と称される別の鍵は,ユーザーと秘密状態で通信したい者であれた誰でも入手可能である。これら2つの鍵が一義的に互いに一致し,公開鍵−プライベート鍵ペアと総称されている。しかしながら,プライベート鍵は公開鍵から容易には導き出すことはできない。ユーザーにメッセージを送りたい関係者はメッセージを送信する前にメッセージを暗号化するのに公開鍵を使用できる。次にユーザーはプライベート鍵を使ってメッセージの暗号を解読する。逆に,メッセージを暗号化するのにプライベート鍵を使用でき,この場合,メッセージはその後,公開鍵で解読できる。例えばRSAアルゴリズムのための鍵は素数を組み合わせることによって一部が数学的に発生される。RSAアルゴリズムのセキュリティおよび同等のものは,一般に512ビット長である,その鍵に対する極めて大きい数字を使用することに依拠している。
【0005】
従来技術では,ケーブルTVシステムのヘッドエンドからSTTヘの配信を安全にするために,DESアルゴリズムに従い,DES鍵を使ってプログラミングコンテントを暗号化できる。STTが暗号化されたプログラミングコンテントを解読するために,エンタイトルメント制御メッセージ(ECM)内でヘッドエンドからSTTへDES鍵が送信され,制御メッセージは,3DESアルゴリズムに従い,3DES鍵を使って暗号化される。(マルチセッション鍵(MSK)としても知られる)3DES鍵は,別個のエンタイトルメントマネージメントメッセージ(EMM)内でSTTへ送られる。このマネージメントメッセージは公開鍵アルゴリズムに従い,STT公開鍵を使って暗号化され,この公開鍵アルゴリズムの反対側のプライベート鍵は,STT内に安全に維持される。従って,暗号化されたEMMおよびECMを受信した後に,STTは,3DES鍵を得るためにSTTプライベート鍵を使って暗号化されたEMMを解読する。かかるDES鍵を使用することにより,STTは内部のDES鍵を得るために暗号化されたECMを解読する。STTは,かかるDES鍵を使用し,STTで受信した暗号化されたプログラミングコンテントを解読できる。
【0006】
最近,デジタルビデオデコーダ(DVR)機能(DVR STT)を実装するために,ケーブルTVのための一部のSTTが改善された。DVR,例えばTiVoまたはリプレイTVデバイスと同じように,DVR STTは,TVプログラムをデジタル記録するためにハードドライブ,例えばディスクを一般に含む。DVRと同じように,DVR STTはケーブルTVの加入者が後でレビューするために自分のお気に入りのTVプログラムを記録できるようにし,ある期間,自分のお気に入りのプログラムのどのエピソードも記録するよう,シーズンパス状のオプションを実行する。このDVR STTはユーザーの視聴習慣および好みに基づき,ユーザーのためのプログラムを自動的に記録できる。巻き戻し,一時停止および早送り機能を実施することにより,記録されたプログラミングコンテントのプレゼンテーションを操作することができる。
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら,加入者に無制限のコンテントを提供する結果,受け入れできない量の不正なコピーが行われることになると考えている。従って,加入者によってコンテントを記録できるようにするが,同時に,不正な当事者によってコンテントがコピーされ,配信されることを防止(または管理)する方針に対するニーズが依然として存在する。かかるニーズを解決するための多数の技術がこれまで開発されている。かかる1つの技術は,インジケータ,例えば暗号化モードインジケータ(EMI)を使用するものであり,このインジケータはソースデバイスから宛て先デバイスへコンテントを送信するのに使用されるデータストリーム内に使用できる。EMIはコンテントのステータスに関する情報を宛て先デバイスに提供し,ステータスはコンテントを自由にコピーできるか,1回しかコピーできないか,コピー禁止であるかなどを表示できる。宛て先デバイスはEMIを読み出し,コンテントをコピーしてよいかを判断する。コピーが許可された場合,宛て先デバイスはコンテントをコピーできる。かかるコンテント保護技術に関する詳細については,1998年7月14日発行の「5Cデジタル送信コンテント保護白書」,日立(株)など,改訂版1.0を参照できる。
【0008】
別の技術は,保護されたコンテントを受信するのに,受信側デバイスが認証されているかどうかを判断するよう,保護されたコンテントを送信するようになっているデバイスを必要とする。この技術は,例えばシークレットデバイス鍵の一組の知識を受信側デバイスが証明しなければならないようにすることによって達成できる。受信側デバイスが,その正当性を証明した場合にしか,送信側デバイスはコンテントを配信しない。かかるコンテント保護システムの一例は,2003年6月9日に発行された「ハイバンド幅デジタルコンテント保護システム」,デジタルコンテント保護LLC,改訂版1.1に記載されている。
【0009】
同じように,加入者が,保護されたコンテントの認証されたコピー,例えば加入者の家庭においてセットトップターミナルから第2デバイスへコンテントをコピーすることを実行できるようにすると同時に,不正なコピーを防止する方式に対するニーズがある。このニーズは,ホームネットワーキングが次第に普及した場合に重要性が増す。近年,家庭におけるデバイス間の相互接続性を提供するための多数のシステムが開発され,ホームネットワークはケーブルセットトップターミナルだけでなく,パソコン,携帯電話,PDAデバイスなども含むことが可能となっている。家庭における種々のデバイスを相互に接続するためのシステムの一例については,2003年3月14日に公開された国際公開特許出願第WO02/21841号に記載されている。
【課題を解決するための手段】
【0010】
本発明は不正なアクセスおよびコピーからプログラミングコンテントを保護するトラストドメインを定めることより,従来技術の問題を克服するものである。例えばケーブルTVシステムでは,トラストドメインは,例えばヘッドエンド配信ネットワークなどを含むケーブル運用者により,かつケーブル運用者のトータルな管理内で,プログラミングコンテントのセキュリティが守られているシステム部分だけでなく,プログラミングコンテントを受信し,安全に記憶できる加入者の構内のユーザーデバイスも含むものである。本発明のトラストドメインアプローチを使用することにより,ケーブル運用者はドメイン内に保持されているコンテントに関し,所定の加入者のアクセスおよび利用を保証できる。例えばケーブル運用者のトラストドメイン内(例えばユーザーデバイスのハードドライブ上)に保持されている動画は,見える形でインターネットを通して配信することはできないし,多数の,見ることのできるコピーをダビングするためのソースとなることもできない。
【0011】
トラストドメインを実現するために,加入者および加入者のユーザーデバイスにそれぞれ関連する2つの暗号要素(例えば暗号鍵)を使用し,ドメイン内のユーザーデバイスに記憶されているコンテントへのアクセスを制御する。例えばDES技術に従い,安全鍵を使ってユーザーデバイス内の記憶されているコンテントを暗号化することができる。従って,暗号化されたコンテントをユーザーデバイスからドメイン内の同じ加入者に関連する新しいデバイスへトランスポートするとき,新しいデバイスは,見るために,暗号化されたコンテントを解読するために,第1暗号要素(例えばシークレット鍵)を必要とする。この目的のために,新しいデバイスは,第1暗号要素の暗号化された第1のバージョンをソースデバイスからも受信する。後者の第1暗号要素の暗号化された第1のバージョンは,加入者に関連する第2暗号要素(例えば公開鍵アルゴリズムに従った公開鍵)を使用して,第1暗号要素を暗号化することによって発生される。新しいデバイスは,第1暗号要素の暗号化された第1のバージョンを,例えばヘッドエンド内のリモート装置へ提供し,このリモート装置内で第1暗号要素は,少なくとも第1暗号要素の暗号化された第1バージョンおよび加入者を表示するデータに基づき,リカバーされる。次に,新しいデバイスは,第1暗号要素の暗号化された第2バージョンを装置から受信する。この第2暗号化バージョンは新しいデバイスに関連する第3暗号要素(例えば公開鍵アルゴリズムに従った公開鍵)を使って,リカバーされた第1暗号要素を暗号化することによって発生される。少なくとも第1暗号要素の暗号化された第2バージョンに基づき,新しいデバイス内で,このデバイスにトランスポートされる暗号化コンテントを解読するために,第1暗号要素がリカバーされる。
【図面の簡単な説明】
【0012】
【図1】本発明の一実施例に係わるブロードバンド通信システムのコンポーネントを示す。
【図2】図1のシステムのヘッドエンドで維持される加入者レジストリを示す。
【図3】図1のシステムのヘッドエンドで維持されるデバイス鍵テーブルを示す。
【図4】図1のシステムのヘッドエンドで維持される加入者鍵テーブルを示す。
【図5】本発明の一実施例に係わる第1安全デジタルビデオレコーダ(SDVR)STTのコンポーネントを示す。
【図6】第1SDVR STTにおける記憶装置を示す。
【図7】本発明の一実施例に従い,コンテントファイルを暗号化し,記憶するためのルーチンを示すフローチャートである。
【図8】本発明の一実施例に従い,加入者に関連する暗号化されたコンテント鍵を発生するためのルーチンを示すフローチャートである。
【図9】本発明の一実施例に係わる,第2SDVR STTのコンポーネントを示す。
【図10】本発明の一実施例に従い,第2SDVR STTに関連した暗号化コンテント鍵を発生するためのルーチンを示すフローチャートである。
【図11】本発明の一実施例に従い,例えばホームネットワークを介し,第1デバイスから第2デバイスへコンテントファイルを転送するためのルーチンを示すフローチャートである。
【0013】
本発明の図示した実施例を示す添付図面を参照し,次の詳細な説明から,本発明の別の目的,特徴および利点が明らかとなる。
【実施例】
【0014】
本発明は,保護されたエリア内のプログラミングコンテントのセキュリティを不正なアクセスおよびコピーから保護するための技術に関する。以下,かかる保護されたエリアをトラストドメインと称す。ケーブルTVシステムでは,トラストドメインは,これまで,例えばヘッドエンド,配信ネットワークなどを含むケーブル運用者によりプログラミングコンテントのセキュリティが保護され,ケーブル運用者のトータルな管理内にあるシステム部分だけでなく,プログラミングコンテント,例えばDVR STTを受信し,記憶でき,本発明に従って条件付きアクセスメカニズムを実現する,加入者の構内のユーザーデバイスも含む。便宜上,本発明の条件付きアクセスメカニズムを実現するDVR STTを,以下,安全DVR STT(SDVR STT)と称す。トラストドメインは更に加入者のプレミシスにある他のデバイス,例えば本発明の条件付きアクセスメカニズムを通し,暗号化され,かつ,このメカニズムの元で管理されているデータを保持または交換するSDVR STTに接続(優先接続または無線接続された)一連のデバイスも更に含むことができる。コンテントを保持するのはどのデバイスであるかにかかわらず,コンテントが本発明の機構の元で暗号化された状態のままであり,更に管理され続けている限り,トラストドメインは記憶されているコンテントに関し,完全である。例えばSDVR STTからディスプレイのためのテレビモニタへデータを送ったときに,条件付きアクセス機構によりコンテントを一旦解読すると,解読されたコンテントはもはやトラストドメイン内にはなく,従ってこれ以上安全ではなくなる。
【0015】
本発明のトラストドメインアプローチを使用することにより,ケーブル運用者は,ドメイン内に保持されたコンテントに関し,所定の加入者のアクセスおよび利用を保証できる。例えばケーブル運用者のトラストドメイン内に保持されている(例えばSDVR STTのハードドライブ上に保持されている)動画は,見える形でインターネットを通して配信することはできず,多数の見ることのできるコピーをダビングするためのソースとなることもできない。他方,(例えば第三者のDVRハードドライブ上で暗号化されていない形態の)トラストドメイン内に保持されている動画をインターネットを通して配信することができるし,見ることができる形態でリムーバブルメディアにコピーすることもできる。
【0016】
図1は本発明の原理を具現化したブロードバンド中心システム,例えばケーブルTVシステムのコンポーネントを示す。ヘッドエンド120は種々のプログラムチャンネルにアトリビュートされるプログラミングコンテントを受信し,例えばSDVR STT158−1〜158−M(ここでMは整数を示す)を含むSTTへケーブルテレビサービスを提供する。プログラミングコンテント記憶能力を有しない従来のSTTにも,同じケーブルテレビサービスが提供されると理解すべきであるが,この従来のSTTは本明細書には関係のないものである。「送信チャンネル」と「プログラムチャンネル」とを混同すべきでないことにも留意すべきである。「送信チャンネル」なる用語は,プログラミングコンテントおよび/またはデータを含むトランスポートストリームを送信する際に通過する,指定された周波数バンドを示し,「プログラムチャンネル」なる用語は,見るためにユーザーが選択したプログラミングコンテントまたはサービスのソースを意味する。例えばユーザーはCBSが提供するプログラミングコンテントを見るために,プログラムチャンネル2を選択し,ESPNが提供するプログラミングコンテントを見るために,プログラムチャンネル14を選択することができる等々である。
【0017】
従来の態様で,ヘッドエンド120はサービスエリアまたは近接地においてSDVR STT158−1〜158−M(Mは整数を示す)にプログラミングコンテントダウンストリームを配信する。図1に示されるように,SDVR STT158は,サービスエリアノード161を通してネットワーク150に接続されている。この場合,ネットワーク150はマルチネットワーク配信ネットワークであり,周知のハイブリッドファイバー同軸(HFC)ケーブルネットワークを含む。
【0018】
プログラミングコンテントは,バンド内送信チャンネルを通してヘッドエンド120からSDVR STT158へダウンストリーム方向へ配信される。一実施例では,これら送信チャンネルは,同軸ケーブルの順方向パスバンド,例えば350〜750MHzのバンドを占有する6MHzでよい。ハブ130内のQAMモジュレータバンク137は,QAM方式に従い,選択されたバンド内チャンネル上でプログラミングコンテントを含むトランスポートストリームを変調する。
【0019】
更に,ダウンストリームデータ,例えば制御メッセージ,緊急情報などは,ときどきバンド外チャンネルと称される1つ以上の順方向データチャンネル(FDC)を介し,ヘッドエンド120からSDVR STT158へ伝送できる。FDCは同軸ケーブルの70〜130MHzのハンドを占有できる。ハブ130内のQPSKモデムプール138は,QPSK方式に従い,選択されたFDC上のダウンストリームデータを変調する。
【0020】
アップストリームデータ,例えばアプリケーションデータ,ファイルリクエストなどは,同軸ケーブルのリバースパスバンド,例えば5〜40MHzバンドを占有する1つ以上のリバースデータチャンネル(RDC)を介し,SDVR STT158からヘッドエンド120へ送信できる。RDCを横断するデータは,QPSK方式にしたがって変調される。ハブ130内のQPSKモデムプール138は,RDCからのデータを含むQPSK信号を受信し,基礎となるデータをヘッドエンド120へ送信する前に,必要な復調を実行する。標準的な決定機構であるデジタルオーディオビジュアルカウンシル(DAVIC)によって定められた競合に基づくアクセスメカニズムを使用し,各STTは,ネットワーク内の他のSTTとRDCを共用する。この機構によって,STT,例えばSDVR STT158−1は,QPSK復調器への専用接続をすることなく,アップストリームメッセージを送信することが可能となる。このメカニズムは,RDCを共用するSTTヘの同じアクセスも行い,STTのうちの2つ以上が同時にアプリケーションメッセージを送信するときに生じるリバースパスの衝突を検出すること,およびその衝突からの回復を可能にする。DAVICによっても指定されているように,通信目的のために各STTおよびネットワークコントローラ209は,これらに割り当てられたインターネットプロトコル(IP)アドレスによって指定される。しかしながら,これらIPアドレスは,ブロードバンド通信システムを再構成するたびにランダムに指定できる。この結果,STTのIPアドレスまたはネットワークコントローラ209のIPアドレスは,システムの再構成後で変わってもよい。しかしながら,各STTおよびネットワークコントローラ209に永久的にメディアアクセス制御(MAC)アドレスを指定し,システムの再構成を残すこともできる。
【0021】
ヘッドエンド120は,特にプログラムマテリアル処理ユニット231,アプリケーションサーバ220,ネットワークコントーラ209およびスイッチングユニット230を含む。プログラムマテリアル処置ユニット231は異なるプログラムチャンネルにアトリビュートする種々のソースからプログラミングコンテントを周知の態様で受信し,例えば周知のMPEG−2方式に従い,プログラミングコンテントを含むトランスポートストリームを発生する。ネットワークコントーラ209の制御により,トランスポートストリームはハブ130内のQAM変調バンク137内で,ユニット230を適当な変調器にスイッチングすることにより,トランスポートストリームをスイッチングし,このスイッチングユニット230において,トランスポートストリームはネットワーク150を通してSTTへ配信できるよう,対応するバンド内送信チャンネル上で変調される。
【0022】
アプリケーションサーバー220は,STTユーザーのためのソフトウェアアプリケーションおよびサービスを提供する1つ以上のサーバーシステムを含むことができる。例えばアプリケーションサーバー220は,データサービス,ネットワーク管理サービス,インタラクティブなプログラムガイドサービス,課金サービスなどを提供する1つ以上のソフトウェアアプリケーションを含むことができる。サーバー220は,図2内で360で表示されたサーバーレジストリをメモリ220内で管理できる。レジストリ360がテーブルの形態で示されており,このテーブルではコラム363はシステム内で各STTに対し,STT(STID)を識別する識別子を含む。この例では,各STTは,そのMACアドレスによって識別される。例えばSDVR STT158−1は,MAC−1と表示されるMACアドレスによって識別できる。コラム364は,それぞれの各STTに関連するケーブルテレビサービスへの加入者を識別する識別子ID(例えば加入者の氏名,ID番号など)を含む。例えば行368−1を参照すると,STT 158−1は,S−1によって識別される加入者に関連している。本例では,加入者S−1は,例えばSDVR STT158−1を購入したか,またはリースしており,それのユーザーとして運用者によって登録されている個人とすることができる。所定の加入者は,2つ以上のSTTに関連づけできることに留意すべきである。例えば行368−2を参照すると,SDVR STT150−2は加入者S−1にも関連している。この例では,加入者S−1は自分の家に第2のSTTとして使用するための購入またはリースしたSTT150−2を有し得る。
【0023】
この場合,アプリケーションサーバー220は,本発明に係わる上記アクセス制御メカニズムを実現するためのアクセス制御マネージャー225も含む。この目的のために,マネージャー225はSDVR STTおよび/または加入者に対するアクセス制御に関連したデータを維持する。例えばマネージャー225は,ケーブルTVシステム内のSDVR STTに関連したデバイス公開鍵のライブラリーをメモリ222内に維持できる。加入者に対し,SDVR STTが提供されるとき,公開鍵アルゴリズムに従い,データの暗号化を予想し,SDVR STTには1つの公開鍵とプライベート鍵のペアが割り当てられている。SDVR STTのデバイスプライベート鍵は,その内部の安全メモリ内に記憶されており,一方,デバイス公開鍵はSDVR STTの初期化プロセス中にRDCを通し,マネージャー225に送信できる。これとは異なり,SDVR STTの登録中,ケーブル運用者がSDVR STTのシリアル番号を有していない場合,このSDVR STTに関連する公開鍵をケーブル運用者が見ることができるように,このシリアル番号を加入者はケーブル運用者に提供できる。図3には,テーブルの形態をしたデバイス公開鍵のライブラリーが番号273で示されている。デバイス鍵テーブル273は,この場合,MACアドレスである,システム内の各SDVR STTのSTIDを含むコラム276を備える。例えばSDVR STT158−1は,前に述べたようにアドレスMAC−1により識別される。コラム277は,それぞれの各STTに割り当てられたデバイス公開鍵を登録する。この例では,各デバイス公開鍵は112ビット長である。例えば行279−1を参照すると,STT158−1にはDPUBKEY−1と表示された公開鍵が割り当てられる。テーブル273は,表示目的のためだけのものであることに留意すべきである。別の実施例では,ネットワーク内の種々のSTTを識別するために,ケーブル273内で異なる識別子,例えばIPアドレスを使用できる。
【0024】
本発明によれば,公開鍵アルゴリズムに従い,別のデータの暗号化を予想し,SDVR STTに関連した各加入者には,公開鍵−プライベート鍵のペアも割り当てられる。マネージャー225は図4内で283と表示された加入者の鍵テーブルを維持できる。加入者の鍵テーブル283は,SDVR STTに関連した各加入者の識別子,例えばS−1,S−2,S−3などを列挙したコラム286を含む。コラム287および288は,各加入者に割り当てられた加入者公開鍵および加入者プライベート鍵の写しをそれぞれ含む。行289−1を,例えば参照すると,加入者S−1にはSPUBKEY−1と表示された加入者公開鍵およびSPRIKEY−1と表示された鍵プライベート鍵が割り当てられる。かかる鍵のペアは,加入者によるサービス登録中にケーブル運用者によって各加入者に割り当てできる。加入者プライベート鍵は秘密に維持しなければならないので,テーブル283は安全メモリ227内でマネージャー225により維持できる。
【0025】
図5は,本発明にかかわる包括的なSDVR STT(例えば158−1)のコンポーネントを示し,これらコンポーネントは特にプロセッサ330,インターフェース250,メモリ210,記憶装置610および暗号化モジュール165を含む。プロセッサ330はSDVR STT158−1の作動を編成する。インターフェース250は,バンド内チャンネルおよびFDCからのプログラミングコンテントおよびデータを含む信号を復調し,データ信号をRDCに変調することができるケーブルモデム258を含む。インターフェース250はプログラムコンテントおよびデータを送受信するのに必要な他の周知のフォーマット機能および再フォーマット機能も実行する。
【0026】
メモリ210は,例えばSDVR STT158−1のための基本機能およびこの場合,STID214がMACアドレスMAC−1である,SDVR STT158−1を識別するためのSTID214を提供するためのオペレーティングシステム(図示せず)を含む種々のソフトウェアアプリケーションおよびデータを記憶する。メモリ210は,例えば不揮発性ランダムアクセスメモリとすることができる。
【0027】
STT158−1に割り当てられた上記デバイスプライベート鍵,例えばDPRIKEY−1は,警告なしに容易または確実に発見されたり,または不正処理できないよう,暗号化モジュール165内で安全メモリ212内に記憶される。他方,SDVR STT158−1に割り当てられたデバイス公開鍵,例えばDPUBKEY−1(そのコピーは前に説明したようにヘッドエンド120内のテーブル273内に登録される)は,メモリ210に記憶される。
【0028】
記憶装置610は,プログラミングコンテントを記録するために使用されるものであり,この場合,リムーバブルハードディスクドライブとすることができる。この記憶装置610は,例えばデジタルビデオディスク(DVD)ドライブ,メモリスティック,ネットワークをベースとする記憶装置などを含むことができることが理解できよう。プロセッサ330は,1つ以上のコンテントファイル内の選択されたプログラミングコンテントを記録し,次にこれらコンテントを記憶装置610内に記憶するようなDVR機能も実行できる。本明細書で使用する「コンテントファイル」なる用語は,明確な量のプログラミングコンテントを保持するコンテナを意味する。コンテントファイルは,例えばデジタル技術によって記録されたバージョンの映画,例えば「市民ケーン」を含むことができる。
【0029】
ケーブル運用者は,プログラミングコンテントを無制限にセーブする権利を加入者に与える結果,許容できない量の不正なコピーが行われると判断している。従って,本発明に係わる上記アクセス制御機構は,かかる不正なコピーを防止するように実現される。本発明の機構によれば,暗号化モジュール165は,コンテント鍵,例えば記憶前にプロセッサ330が提供するコンテントファイルを3DESアルゴリズムに従って暗号化するための3DES鍵を発生する。この図示された実施例では,それぞれの各コンテントファイルを暗号化するための異なるコンテント鍵が発生される。しかしながら,同じ記憶装置内のすべてのコンテントファイルを暗号化するのに,1つのコンテント鍵を使用できることが理解できよう。また,1つのコンテントファイルを暗号化するのに,多数のコンテント鍵を使用することも理解できよう。
【0030】
更にモジュール165は,暗号化されたコンテント鍵バージョン1(V−1)および暗号化されたコンテント鍵バージョン2(V−2)を形成するのに,発生された各コンテント鍵を暗号化し,記憶装置610内に対応する暗号化コンテントファイル602(例えばコンテント鍵を使用して暗号化されたファイル)に関連した暗号化されたコンテント鍵バージョン(図6ではそれぞれ603および604で表示されている)を記憶する。図示された実施例では,SDVR STT158−1に割り当てられたデバイス公開鍵(すなわちDPUBKEY−1)を使ってコンテント鍵を暗号化することによって暗号化されたコンテント鍵V−1を形成する。他方,この場合,SDVR STT158−1に関連した加入者S−1に割り当てられた加入者公開鍵(すなわちSPUBKEY−1)により,コンテント鍵を暗号化することによって暗号化されたコンテント鍵V−2を形成する。
【0031】
例えば加入者S−1は,ケーブルネットワーク150を通して放送されるときの,指定されたプログラミングコンテント,例えば「市民ケーン」の映画を記録することをSDVR STT158−1に命令できる。従って,プロセッサ330は,インターフェース250から受信した指定された映画のコンテントを含むコンテントファイルを発生する。図7は,コンテントファイルを暗号化し,記憶するためのルーチンを示すフローチャートである。暗号化モジュール165は,ステップ308にて,かかるルーチンにより命令され,指定されたコンテントファイルに関連する上記コンテント鍵を発生する。ステップ310にて,モジュール165は,上記3DESアルゴリズムに従い,コンテント鍵を使用し,コンテントファイルを暗号化する。ステップ315にて,モジュール165は,記憶装置610内に暗号化されたコンテントファイル602を記憶する。ステップ318にて,モジュール165はメモリ210からデバイス公開鍵DPUBKEY1を検索する。ステップ320にて,モジュール165はDPUBKEY−1を使い,第1公開鍵アルゴリズム,例えばRSAアルゴリズムに従い,コンテント鍵を暗号化する。上記のように,この結果暗号化されたコンテント鍵を,暗号化されたコンテント鍵V−1と称す。ステップ325にて,モジュール165は603と表示された暗号化されたコンテント鍵V−1を,記憶装置610内に記憶する。一実施例では,暗号化されたコンテント鍵V−1を,暗号化されたコンテントファイルに関連したメタデータの形態で記憶する。
【0032】
604と表示された暗号化されたコンテント鍵V−2を発生するために,モジュール165は記憶装置610から暗号化されたコンテント鍵V−1を検索し,安全メモリ212からデバイスプライベート鍵DPRIKEY−1を検索し,メモリ210からSTID214を検索する。このSTID214は本例ではMAC−1である。モジュール165は,暗号化されたコンテント鍵V−1を解読するために,DPRIKEY−1を使用し,クリアな状態にコンテント鍵をリカバーする。モジュール165は次にRDCを介し,コンテント鍵をヘッドエンド120へ安全な態様で送信する。STT158−1からヘッドエンド120へのコンテント鍵の安全な送信は,従来技術の暗号化技術,例えば従来の公開鍵暗号化技術を使って達成でき,この従来の暗号化技術ではヘッドエンド120内にシステムプライベート鍵が記憶され,対応するシステム公開鍵はSDVR STT158−1を含むすべてのSTTに公開され,これらに記憶される。この場合,SDVR STT158−1内のモジュール165は,アプリケーションサーバー220内のアクセスマネージャー225を制御するために,従来の公開鍵暗号化技術に従い,システム公開鍵を使って暗号化されたコンテント鍵およびSTID214を含むメッセージを送信する。
【0033】
図8は,一実施例に従って暗号化されたコンテント鍵V−2を発生するためのルーチンを示すフローチャートである。ステップ427にて,マネージャー225はSDVR STT158−1からのメッセージ内の暗号化されたコンテント鍵およびSTID214を受信し,ステップ430にて上記システムプライベート鍵を使って,暗号化されたコンテント鍵を解読し,クリアな状態にコンテント鍵をリカバーする。ステップ431にて,マネージャー225は,加入者レジストリ360に相談し,本例ではMAC−1であるSTID214を使って,この場合,S−1である関連する加入者IDを決定する。ステップ432にて,マネージャー225は,加入者鍵テーブル283から加入者公開鍵,すなわちS−1に関連したSPUBKEY−1を検索する。ステップ435にて,マネージャー225は加入者公開鍵SPUBKEY−1を使って,第2の公開鍵アルゴリズムに従い,コンテント鍵を暗号化し,暗号化されたコンテント鍵V−2を発生する。ステップ440にて,マネージャー225はFDCを介し,暗号化されたコンテント鍵V−2をSDVR STT158−1に送信する。
【0034】
マネージャー225から暗号化されたコンテント鍵V−2を受信した後に,モジュール165は604と表示された暗号化されたコンテント鍵V−2を記憶装置610に記憶する。一実施例では,暗号化されたコンテントファイル602に関連したメタデータの形態に,暗号化されたコンテント鍵V−2を記憶する。「市民ケーン(Citizen Kane)」の映画コンテントを見るために暗号化されたコンテントファイル602を解読するため,モジュール165はメモリ212内のDPRIKEY−1を使って関連する暗号化されたコンテント鍵V−1(603)を解読し,コンテント鍵をクリアな状態にリカバーできる。次にモジュール165は,リカバーされたコンテント鍵を使って,暗号化されたコンテントファイル602を解読する。
【0035】
上記とは異なり,STT158−1に加入者公開鍵SPUBKEY−1を提供できる。暗号化されたコンテント鍵V−1を作成するために使用された同じプロセスで,モジュール165がSPUBKEY−1を使って,解読されたコンテント鍵V−2を発生できる。
【0036】
暗号化されたコンテントファイル602のポータビリティを証明するために,加入者S−1は自分の家において第2STTとして使用するためのSDVR STT158−2を購入すると仮定した場合,この加入者はコンテントファイルをSDVR STT158−2へ転送し,SDVR STT150−2に接続されたテレビセットでそのプログラムを見たいことがある。これとは異なり,SDVR STT158−1が壊れているか,または何らかの理由から機能していないと仮定した場合,加入者S−1はSDVR STT158−2を使って,記憶されたプログラミングコンテントを見たいと望むことがあり得る。加入者S−1が限られたこのような目的のためにプログラミングコンテントをコピーできるようにするために,本発明は第1デバイス(例えばSTT158−1)に記憶されていたプログラミングコンテントを第2デバイス(例えばSTT158−2)に移動させるのに,特定の任意のデバイスに関連しない暗号化されたコンテント鍵V−2(604)に依存する。より詳細には,第2デバイスがSTT158−2内の暗号化されたコンテントファイルのコピーを解読するためのコンテント鍵を得るためには,第2デバイスはこれに関連した暗号化されたコンテント鍵V−1を必要とする。本発明の特徴によれば,STT158−2に関連するコンテント鍵V−1は,STT158−2に関連する加入者がS−1でもあることを条件に,暗号化されたコンテント鍵V−2(604)から導き出すことに成功できる。加入者がS−1となっているのは本明細書のケースであり,図2における加入者レジストリ360に示されている。次に,レジストリ360の行368−1および368−2を参照すると,この場合,MAC−1アドレスを有するSTT158−1およびMAC−2アドレスを有するSTT158−2の双方は,S−1に関連している。
【0037】
図9のSDVR STT158−2が(例えば記憶装置910と同じ記憶装置610をSDVR STT158−1からSDVR STT158−2へ物理的に移すことにより,SDVR STT158−1から暗号化されたコンテントファイル602および暗号化されたコンテント鍵V−2(604)のコピーを,記憶装置910内に有すると仮定した場合,STT158−2の暗号化モジュール965は,記憶装置910から暗号化されたコンテント鍵V−2(604)およびメモリ990からSTID914を検索する。モジュール965は,暗号化されたコンテント鍵V−2(604)およびSTID914を含むメッセージをヘッドエンド120へ送信する。
【0038】
ヘッドエンド120では,暗号化されたコンテント鍵V−2(604)を使用し,SDVR STT158−2に関連した暗号化されたコンテント鍵V−1を発生する。このコンテント鍵は暗号化されたコンテントファイル602を解読するためのコンテント鍵を導き出すために,STT158−2にとって必要なものである。図10は,本発明の一実施例に係わる,STT158−2に関連した暗号化されたコンテント鍵V−1を発生するためのルーチンを示すフローチャートである。ステップ571にて,ヘッドエンド120内のマネージャー225は,新しいデバイスSTT158−2から暗号化されたコンテント鍵V−2(604)およびSTID914を受信する。ステップ572にて,マネージャー225は加入者レジストリ360に相談し,STID914(すなわちMAC−2)を使用して,対応する加入者ID(例えばS−1)を決定する。ステップ573にて,マネージャー225は加入者S−1に関連する加入者プライベート鍵STRIKEY−1を加入者鍵テーブル283から検索する。ステップ574にて,マネージャー225は加入者プライベート鍵を使って暗号化されたコンテント鍵V−2(604)を解読し,クリアな状態にコンテント鍵をリカバーする。
【0039】
ステップ576にて,マネージャー225はデバイス鍵テーブル273に相談し,本例ではMAC−2であるSTID914に関連したデバイス公開鍵DPUBKEY−2を検索する。ステップ577にて,マネージャー225はSTT158−2に関連するデバイス公開鍵DPUBKEY−2を使用し,コンテント鍵を暗号化する。この結果生じるコンテント鍵の暗号化されたバージョンは,新しいデバイス(ND)の暗号化されたコンテント鍵バージョン1(V−1)と称す。ステップ579にて,マネージャー225はFDCを通し,NDの暗号化されたコンテント鍵V−1をSTT158−2へ送信する。
【0040】
SDVR STT158−2内のモジュール965は,NDの暗号化されたコンテント鍵V−1をヘッドエンド120から受信する。モジュール965は記憶装置910内にNDコンテント鍵V−1を記憶する。時間中のその後のポイントにおいて,モジュール965は,メモリ912からデバイスプライベート鍵DPRIKEY−2を検索し,これを使ってNDの暗号化されたコンテント鍵V−1を解読すると共に,コンテント鍵をリカバーする。次にモジュール965はコンテント鍵を利用し,「市民ケーン」の映画コンテントを見るための暗号化されたコンテントファイル602を解読できる。
【0041】
第2実施例では,テーブル283内に記憶された加入者鍵ペアの代わりにシステムワイドな公開鍵とプライベート鍵のペアが使用される。システム公開鍵はネットワーク内のSTTの集団に対して公開される。システムのプライベート鍵(図示せず)はマネージャー225により,ヘッドエンド120内,例えばメモリ227内に記憶される。従って,例えば第2実施例において,SDVR STT158−1がコンテント鍵を使ってコンテントファイルを暗号化し,その結果,暗号化されたコンテントファイル602が得られた後,SDVR STT158−1はメモリ210内のシステム公開鍵(図示せず)を使用し,コンテント鍵を暗号化し,よって暗号化されたコンテント鍵V−2を発生する。SDVR STT158−1はコンテントファイル602に関連し,暗号化されたコンテント鍵V−2を記憶する。SDVR STT158−1内の暗号化されたコンテント鍵V−1は,前の実施例と同じままであることに留意すべきである。
【0042】
コンテントファイルのポータビリティを実現するために,SDVR STT158−1は,コンテントファイルおよびその内部の暗号化されたコンテント鍵V−2を第2デバイス,例えばSDVR STT158−2へ転送することができ,SDVR STT158−2に関連した暗号化されたコンテント鍵V−1は次のように発生できる。SDVR STT158−2内のモジュール965は,受信した暗号化されたコンテント鍵V−2をヘッドエンド120へ送信する。ヘッドエンド120内のマネージャー225は,暗号化されたコンテント鍵V−2を受信し,メモリ227からのシステムプライベート鍵を検索し,これを使って暗号化されたコンテント鍵V−2を解読し,クリアな状態にコンテント鍵をリカバーする。次にマネージャー225はデバイス鍵テーブル273に相談し,SDVR STT158−2に関連したデバイス公開鍵DPUBKEY−2を検索する。マネージャー225はデバイス公開鍵DPUBKEY−2を使ってコンテント鍵を暗号化し,NDの暗号化されたコンテント鍵V−1を発生する。このNDの暗号化されたコンテント鍵は,SDVR STT158−2へ送信され,ここでコンテントファイル602に関連して記憶装置910内に記憶される。記憶装置910にも記憶されるこのNDの暗号化されたコンテント鍵V−2は,SDVR STT158−1からの受信された暗号化されたコンテント鍵V−2と同じである。時間中のその後のポイントで,モジュール965はメモリ912からのデバイスプライベート鍵DPRIKEY−2を検索し,これを使ってNDの暗号化されたコンテント鍵V−1を解読し,コンテント鍵をリカバーできる。次にモジュール965はコンテント鍵を利用し,「市民ケーン」の映画コンテントを見るための暗号化されたコンテントファイル602を解読する。
【0043】
第3実施例では,加入者はヘッドエンド120および特に制御アクセスマネージャー220に関係することなく,例えばホームネットワークを介し,あるデバイスから別のデバイスへコンテントを転送できる。例えば加入者S−1は自分の家の中にホームネットワークを設定し,SDVR STT158−1,SDVR STT158−2の双方をネットワークに接続する。前に述べたように,「市民ケーン」の映画はSDVR STT158−1の記憶装置610内に暗号化されたコンテントファイル602の形態で記憶される。加入者S−1が暗号化されたコンテントファイル602のコピーをSDVR STT158−1からSDVR STT158−2へ転送したいと仮定する。図11は,第1デバイスから第2デバイスへ,かかる1つのコンテントファイルを転送するためのルーチンを示すフローチャートである。SDVR STT158−2は,イニシエータとして作動し,コンテントファイル602のコピーに対するリクエストをSDVR STT158−1へ送信する。SDVR STT158−2は,自らのデバイス公開鍵(本例ではDPUBKEY−2)をSDVR STT158−1へ送信することもできる。
【0044】
モジュール165はリクエストおよびSDVR STT158−2に関連したデバイス公開鍵を受信し(ステップ1105),これに応答し,記憶装置610内の所望するコンテントファイル602を識別する。ステップ1120で,モジュール165は記憶装置610からの暗号化されたコンテント鍵V−1(603)を検索する。ステップ1125にて,モジュール165はメモリ212からのDPRIKEY−1を検索し,(ステップ1130にて)DPRIKEY−1を使用し,暗号化されたコンテント鍵V−1(603)を解読し,コンテント鍵をクリアな状態にリカバーする。ステップ1150にて,モジュール165は受信したDPUBKEY−2を使用し,リカバーされたコンテント鍵を暗号化する。この結果生じる暗号化されたバージョンのコンテント鍵は,NDの暗号化されたコンテント鍵V−1となる。ステップ1160にて,モジュール165は暗号化されたコンテントファイル602のコピーと共に,NDの暗号化されたコンテント鍵V−1をSDVR STT158−2へ送信する。
【0045】
SDVR STT158−2内のモジュール965は,SDVR STT158−1からNDの暗号化されたコンテント鍵V−1を受信する。モジュール965は,NDのコンテント鍵V−1およびコンテントファイル602を記憶装置910内に記憶する。時間中のその後のポイントにおいて,モジュール965はメモリ912からデバイスプライベート鍵DPRIKEY−2を検索し,これを使ってNDの暗号化されたコンテント鍵V−1を解読し,クリアな状態にコンテント鍵をリカバーする。モジュール965は,次にコンテント鍵を使用し,「市民ケーン」の映画のコンテントを見るために,暗号化されたコンテントファイル602を解読できる。
【0046】
これまでの説明は本発明の原理を単に説明するためのものであるので,当業者であれば,本発明の原理を具現化し,従って本発明の要旨の範囲内にある他の種々の装置を考え付くことができよう。
【0047】
例えばSTTは上記実施例において図示されるように使用されるが,かかるSTTに加え,またはかかるSTTの代わりに,他の相当するデバイス,または機能的に等価的なデバイス(例えばポイントオブデプロイメント(POD)またはCableCard(登録商標)デバイス)も使用できる。
【0048】
更に,図1に示される実施例では,ネットワークのトランスポートはHFCケーブルネットワーク150を使って,図示するように実現される。しかしながら,その代わりに他のネットワーク,例えばデジタル加入者ライン(DSL)ネットワーク,イーサネット(登録商標)ネットワークおよび衛星ネットワークも使用できる。
【0049】
最後に,本明細書では種々の機能をディスクリートな機能ブロックによって実行する形態に,図1のシステムコンポーネントを開示した。しかしながら,これらブロックの1つ以上の機能またはその機能のすべては,例えば1つ以上の適当にプログラムされたプロセッサによって実現される装置内で,同じように具現化できる。
【技術分野】
【0001】
本発明は通信技術に関し,より詳細には,通信システム,例えばケーブルテレビシステムにおいて,プログラミングマテリアルを安全に伝送し,記憶するための技術に関する。
【背景技術】
【0002】
セットトップターミナル(STT)は,ユーザーのテレビとプログラミングコンテントを配信するケーブルTVネットワークとの間のゲートウェイとして働く。かかるプログラミングコンテントは放送信号として配信してもよいし,またはビドオオンデマンド(VOD),加入VOD,ムービーオンデマンドなどのサービスを提供するオンデマンド方式でも配信することもできる。更に,ネットワークを使用することにより,プログラミングコンテントをプレゼンテーションしている際に,ユーザーがトリックモードの機能(巻き戻し,早送り,一時停止など)を実行できるようにする,ネットワークパーソナルビデオレコーダ(NPVR)サービスがすでに開発された。実際に2002年11月22日に出願され,本願出願人に譲渡された継続中の米国特許出願第10/302,550号には,NPVRサービスを実施するためのネットワークアーキテクチャおよび機能が記載されており,本願ではこの米国特許出願を参考例として援用する。このNPVRサービスは,かかる予約プログラムが放送前においてユーザーに識別されていなかった場合でも,ユーザーがレビューできるように,過去および将来のプログラムをユーザーが予約できるようにもするものである。
【0003】
STTは,プログラミングコンテントの配信を安全にするために,例えばデータ暗号化規格(DES)技術に従って暗号化できるプログラミングコンテントをケーブルTVネットワークを通して受信するものである。DESは,メッセージの暗号化と解読の双方に対し,1つの鍵を使用する周知の対称的サイファー(cipher)である。DESアルゴリズムは公に既知であるので,DES鍵を学習すれば,誰でも暗号化されたメッセージを読み取ることが可能となる。このようにメッセージの送信側と受信側の双方はDES鍵を他人から秘密にしなければならない。DES鍵は一般に8バイトのシーケンスであり,各バイトは8ビットを含む。DESの完全性を高めるためにDESアルゴリズムを連続した回数適応できる。このようなアプローチにより,DESアルゴリズムは異なる鍵を使用し,シーケンス内で例えば3回データを暗号化し,解読するが,その結果,いわゆる三重DES(3DES)技術が得られている。
【0004】
DES技術と対照的に,公開鍵暗号化技術,例えばRSA技術(開発者のRivest,ShamirおよびAdlemanの頭文字をとった名称である)は,2つの異なる鍵を使用する。プライベート鍵と称される第1の鍵は,ユーザーによって秘密状態に維持される。公開鍵と称される別の鍵は,ユーザーと秘密状態で通信したい者であれた誰でも入手可能である。これら2つの鍵が一義的に互いに一致し,公開鍵−プライベート鍵ペアと総称されている。しかしながら,プライベート鍵は公開鍵から容易には導き出すことはできない。ユーザーにメッセージを送りたい関係者はメッセージを送信する前にメッセージを暗号化するのに公開鍵を使用できる。次にユーザーはプライベート鍵を使ってメッセージの暗号を解読する。逆に,メッセージを暗号化するのにプライベート鍵を使用でき,この場合,メッセージはその後,公開鍵で解読できる。例えばRSAアルゴリズムのための鍵は素数を組み合わせることによって一部が数学的に発生される。RSAアルゴリズムのセキュリティおよび同等のものは,一般に512ビット長である,その鍵に対する極めて大きい数字を使用することに依拠している。
【0005】
従来技術では,ケーブルTVシステムのヘッドエンドからSTTヘの配信を安全にするために,DESアルゴリズムに従い,DES鍵を使ってプログラミングコンテントを暗号化できる。STTが暗号化されたプログラミングコンテントを解読するために,エンタイトルメント制御メッセージ(ECM)内でヘッドエンドからSTTへDES鍵が送信され,制御メッセージは,3DESアルゴリズムに従い,3DES鍵を使って暗号化される。(マルチセッション鍵(MSK)としても知られる)3DES鍵は,別個のエンタイトルメントマネージメントメッセージ(EMM)内でSTTへ送られる。このマネージメントメッセージは公開鍵アルゴリズムに従い,STT公開鍵を使って暗号化され,この公開鍵アルゴリズムの反対側のプライベート鍵は,STT内に安全に維持される。従って,暗号化されたEMMおよびECMを受信した後に,STTは,3DES鍵を得るためにSTTプライベート鍵を使って暗号化されたEMMを解読する。かかるDES鍵を使用することにより,STTは内部のDES鍵を得るために暗号化されたECMを解読する。STTは,かかるDES鍵を使用し,STTで受信した暗号化されたプログラミングコンテントを解読できる。
【0006】
最近,デジタルビデオデコーダ(DVR)機能(DVR STT)を実装するために,ケーブルTVのための一部のSTTが改善された。DVR,例えばTiVoまたはリプレイTVデバイスと同じように,DVR STTは,TVプログラムをデジタル記録するためにハードドライブ,例えばディスクを一般に含む。DVRと同じように,DVR STTはケーブルTVの加入者が後でレビューするために自分のお気に入りのTVプログラムを記録できるようにし,ある期間,自分のお気に入りのプログラムのどのエピソードも記録するよう,シーズンパス状のオプションを実行する。このDVR STTはユーザーの視聴習慣および好みに基づき,ユーザーのためのプログラムを自動的に記録できる。巻き戻し,一時停止および早送り機能を実施することにより,記録されたプログラミングコンテントのプレゼンテーションを操作することができる。
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら,加入者に無制限のコンテントを提供する結果,受け入れできない量の不正なコピーが行われることになると考えている。従って,加入者によってコンテントを記録できるようにするが,同時に,不正な当事者によってコンテントがコピーされ,配信されることを防止(または管理)する方針に対するニーズが依然として存在する。かかるニーズを解決するための多数の技術がこれまで開発されている。かかる1つの技術は,インジケータ,例えば暗号化モードインジケータ(EMI)を使用するものであり,このインジケータはソースデバイスから宛て先デバイスへコンテントを送信するのに使用されるデータストリーム内に使用できる。EMIはコンテントのステータスに関する情報を宛て先デバイスに提供し,ステータスはコンテントを自由にコピーできるか,1回しかコピーできないか,コピー禁止であるかなどを表示できる。宛て先デバイスはEMIを読み出し,コンテントをコピーしてよいかを判断する。コピーが許可された場合,宛て先デバイスはコンテントをコピーできる。かかるコンテント保護技術に関する詳細については,1998年7月14日発行の「5Cデジタル送信コンテント保護白書」,日立(株)など,改訂版1.0を参照できる。
【0008】
別の技術は,保護されたコンテントを受信するのに,受信側デバイスが認証されているかどうかを判断するよう,保護されたコンテントを送信するようになっているデバイスを必要とする。この技術は,例えばシークレットデバイス鍵の一組の知識を受信側デバイスが証明しなければならないようにすることによって達成できる。受信側デバイスが,その正当性を証明した場合にしか,送信側デバイスはコンテントを配信しない。かかるコンテント保護システムの一例は,2003年6月9日に発行された「ハイバンド幅デジタルコンテント保護システム」,デジタルコンテント保護LLC,改訂版1.1に記載されている。
【0009】
同じように,加入者が,保護されたコンテントの認証されたコピー,例えば加入者の家庭においてセットトップターミナルから第2デバイスへコンテントをコピーすることを実行できるようにすると同時に,不正なコピーを防止する方式に対するニーズがある。このニーズは,ホームネットワーキングが次第に普及した場合に重要性が増す。近年,家庭におけるデバイス間の相互接続性を提供するための多数のシステムが開発され,ホームネットワークはケーブルセットトップターミナルだけでなく,パソコン,携帯電話,PDAデバイスなども含むことが可能となっている。家庭における種々のデバイスを相互に接続するためのシステムの一例については,2003年3月14日に公開された国際公開特許出願第WO02/21841号に記載されている。
【課題を解決するための手段】
【0010】
本発明は不正なアクセスおよびコピーからプログラミングコンテントを保護するトラストドメインを定めることより,従来技術の問題を克服するものである。例えばケーブルTVシステムでは,トラストドメインは,例えばヘッドエンド配信ネットワークなどを含むケーブル運用者により,かつケーブル運用者のトータルな管理内で,プログラミングコンテントのセキュリティが守られているシステム部分だけでなく,プログラミングコンテントを受信し,安全に記憶できる加入者の構内のユーザーデバイスも含むものである。本発明のトラストドメインアプローチを使用することにより,ケーブル運用者はドメイン内に保持されているコンテントに関し,所定の加入者のアクセスおよび利用を保証できる。例えばケーブル運用者のトラストドメイン内(例えばユーザーデバイスのハードドライブ上)に保持されている動画は,見える形でインターネットを通して配信することはできないし,多数の,見ることのできるコピーをダビングするためのソースとなることもできない。
【0011】
トラストドメインを実現するために,加入者および加入者のユーザーデバイスにそれぞれ関連する2つの暗号要素(例えば暗号鍵)を使用し,ドメイン内のユーザーデバイスに記憶されているコンテントへのアクセスを制御する。例えばDES技術に従い,安全鍵を使ってユーザーデバイス内の記憶されているコンテントを暗号化することができる。従って,暗号化されたコンテントをユーザーデバイスからドメイン内の同じ加入者に関連する新しいデバイスへトランスポートするとき,新しいデバイスは,見るために,暗号化されたコンテントを解読するために,第1暗号要素(例えばシークレット鍵)を必要とする。この目的のために,新しいデバイスは,第1暗号要素の暗号化された第1のバージョンをソースデバイスからも受信する。後者の第1暗号要素の暗号化された第1のバージョンは,加入者に関連する第2暗号要素(例えば公開鍵アルゴリズムに従った公開鍵)を使用して,第1暗号要素を暗号化することによって発生される。新しいデバイスは,第1暗号要素の暗号化された第1のバージョンを,例えばヘッドエンド内のリモート装置へ提供し,このリモート装置内で第1暗号要素は,少なくとも第1暗号要素の暗号化された第1バージョンおよび加入者を表示するデータに基づき,リカバーされる。次に,新しいデバイスは,第1暗号要素の暗号化された第2バージョンを装置から受信する。この第2暗号化バージョンは新しいデバイスに関連する第3暗号要素(例えば公開鍵アルゴリズムに従った公開鍵)を使って,リカバーされた第1暗号要素を暗号化することによって発生される。少なくとも第1暗号要素の暗号化された第2バージョンに基づき,新しいデバイス内で,このデバイスにトランスポートされる暗号化コンテントを解読するために,第1暗号要素がリカバーされる。
【図面の簡単な説明】
【0012】
【図1】本発明の一実施例に係わるブロードバンド通信システムのコンポーネントを示す。
【図2】図1のシステムのヘッドエンドで維持される加入者レジストリを示す。
【図3】図1のシステムのヘッドエンドで維持されるデバイス鍵テーブルを示す。
【図4】図1のシステムのヘッドエンドで維持される加入者鍵テーブルを示す。
【図5】本発明の一実施例に係わる第1安全デジタルビデオレコーダ(SDVR)STTのコンポーネントを示す。
【図6】第1SDVR STTにおける記憶装置を示す。
【図7】本発明の一実施例に従い,コンテントファイルを暗号化し,記憶するためのルーチンを示すフローチャートである。
【図8】本発明の一実施例に従い,加入者に関連する暗号化されたコンテント鍵を発生するためのルーチンを示すフローチャートである。
【図9】本発明の一実施例に係わる,第2SDVR STTのコンポーネントを示す。
【図10】本発明の一実施例に従い,第2SDVR STTに関連した暗号化コンテント鍵を発生するためのルーチンを示すフローチャートである。
【図11】本発明の一実施例に従い,例えばホームネットワークを介し,第1デバイスから第2デバイスへコンテントファイルを転送するためのルーチンを示すフローチャートである。
【0013】
本発明の図示した実施例を示す添付図面を参照し,次の詳細な説明から,本発明の別の目的,特徴および利点が明らかとなる。
【実施例】
【0014】
本発明は,保護されたエリア内のプログラミングコンテントのセキュリティを不正なアクセスおよびコピーから保護するための技術に関する。以下,かかる保護されたエリアをトラストドメインと称す。ケーブルTVシステムでは,トラストドメインは,これまで,例えばヘッドエンド,配信ネットワークなどを含むケーブル運用者によりプログラミングコンテントのセキュリティが保護され,ケーブル運用者のトータルな管理内にあるシステム部分だけでなく,プログラミングコンテント,例えばDVR STTを受信し,記憶でき,本発明に従って条件付きアクセスメカニズムを実現する,加入者の構内のユーザーデバイスも含む。便宜上,本発明の条件付きアクセスメカニズムを実現するDVR STTを,以下,安全DVR STT(SDVR STT)と称す。トラストドメインは更に加入者のプレミシスにある他のデバイス,例えば本発明の条件付きアクセスメカニズムを通し,暗号化され,かつ,このメカニズムの元で管理されているデータを保持または交換するSDVR STTに接続(優先接続または無線接続された)一連のデバイスも更に含むことができる。コンテントを保持するのはどのデバイスであるかにかかわらず,コンテントが本発明の機構の元で暗号化された状態のままであり,更に管理され続けている限り,トラストドメインは記憶されているコンテントに関し,完全である。例えばSDVR STTからディスプレイのためのテレビモニタへデータを送ったときに,条件付きアクセス機構によりコンテントを一旦解読すると,解読されたコンテントはもはやトラストドメイン内にはなく,従ってこれ以上安全ではなくなる。
【0015】
本発明のトラストドメインアプローチを使用することにより,ケーブル運用者は,ドメイン内に保持されたコンテントに関し,所定の加入者のアクセスおよび利用を保証できる。例えばケーブル運用者のトラストドメイン内に保持されている(例えばSDVR STTのハードドライブ上に保持されている)動画は,見える形でインターネットを通して配信することはできず,多数の見ることのできるコピーをダビングするためのソースとなることもできない。他方,(例えば第三者のDVRハードドライブ上で暗号化されていない形態の)トラストドメイン内に保持されている動画をインターネットを通して配信することができるし,見ることができる形態でリムーバブルメディアにコピーすることもできる。
【0016】
図1は本発明の原理を具現化したブロードバンド中心システム,例えばケーブルTVシステムのコンポーネントを示す。ヘッドエンド120は種々のプログラムチャンネルにアトリビュートされるプログラミングコンテントを受信し,例えばSDVR STT158−1〜158−M(ここでMは整数を示す)を含むSTTへケーブルテレビサービスを提供する。プログラミングコンテント記憶能力を有しない従来のSTTにも,同じケーブルテレビサービスが提供されると理解すべきであるが,この従来のSTTは本明細書には関係のないものである。「送信チャンネル」と「プログラムチャンネル」とを混同すべきでないことにも留意すべきである。「送信チャンネル」なる用語は,プログラミングコンテントおよび/またはデータを含むトランスポートストリームを送信する際に通過する,指定された周波数バンドを示し,「プログラムチャンネル」なる用語は,見るためにユーザーが選択したプログラミングコンテントまたはサービスのソースを意味する。例えばユーザーはCBSが提供するプログラミングコンテントを見るために,プログラムチャンネル2を選択し,ESPNが提供するプログラミングコンテントを見るために,プログラムチャンネル14を選択することができる等々である。
【0017】
従来の態様で,ヘッドエンド120はサービスエリアまたは近接地においてSDVR STT158−1〜158−M(Mは整数を示す)にプログラミングコンテントダウンストリームを配信する。図1に示されるように,SDVR STT158は,サービスエリアノード161を通してネットワーク150に接続されている。この場合,ネットワーク150はマルチネットワーク配信ネットワークであり,周知のハイブリッドファイバー同軸(HFC)ケーブルネットワークを含む。
【0018】
プログラミングコンテントは,バンド内送信チャンネルを通してヘッドエンド120からSDVR STT158へダウンストリーム方向へ配信される。一実施例では,これら送信チャンネルは,同軸ケーブルの順方向パスバンド,例えば350〜750MHzのバンドを占有する6MHzでよい。ハブ130内のQAMモジュレータバンク137は,QAM方式に従い,選択されたバンド内チャンネル上でプログラミングコンテントを含むトランスポートストリームを変調する。
【0019】
更に,ダウンストリームデータ,例えば制御メッセージ,緊急情報などは,ときどきバンド外チャンネルと称される1つ以上の順方向データチャンネル(FDC)を介し,ヘッドエンド120からSDVR STT158へ伝送できる。FDCは同軸ケーブルの70〜130MHzのハンドを占有できる。ハブ130内のQPSKモデムプール138は,QPSK方式に従い,選択されたFDC上のダウンストリームデータを変調する。
【0020】
アップストリームデータ,例えばアプリケーションデータ,ファイルリクエストなどは,同軸ケーブルのリバースパスバンド,例えば5〜40MHzバンドを占有する1つ以上のリバースデータチャンネル(RDC)を介し,SDVR STT158からヘッドエンド120へ送信できる。RDCを横断するデータは,QPSK方式にしたがって変調される。ハブ130内のQPSKモデムプール138は,RDCからのデータを含むQPSK信号を受信し,基礎となるデータをヘッドエンド120へ送信する前に,必要な復調を実行する。標準的な決定機構であるデジタルオーディオビジュアルカウンシル(DAVIC)によって定められた競合に基づくアクセスメカニズムを使用し,各STTは,ネットワーク内の他のSTTとRDCを共用する。この機構によって,STT,例えばSDVR STT158−1は,QPSK復調器への専用接続をすることなく,アップストリームメッセージを送信することが可能となる。このメカニズムは,RDCを共用するSTTヘの同じアクセスも行い,STTのうちの2つ以上が同時にアプリケーションメッセージを送信するときに生じるリバースパスの衝突を検出すること,およびその衝突からの回復を可能にする。DAVICによっても指定されているように,通信目的のために各STTおよびネットワークコントローラ209は,これらに割り当てられたインターネットプロトコル(IP)アドレスによって指定される。しかしながら,これらIPアドレスは,ブロードバンド通信システムを再構成するたびにランダムに指定できる。この結果,STTのIPアドレスまたはネットワークコントローラ209のIPアドレスは,システムの再構成後で変わってもよい。しかしながら,各STTおよびネットワークコントローラ209に永久的にメディアアクセス制御(MAC)アドレスを指定し,システムの再構成を残すこともできる。
【0021】
ヘッドエンド120は,特にプログラムマテリアル処理ユニット231,アプリケーションサーバ220,ネットワークコントーラ209およびスイッチングユニット230を含む。プログラムマテリアル処置ユニット231は異なるプログラムチャンネルにアトリビュートする種々のソースからプログラミングコンテントを周知の態様で受信し,例えば周知のMPEG−2方式に従い,プログラミングコンテントを含むトランスポートストリームを発生する。ネットワークコントーラ209の制御により,トランスポートストリームはハブ130内のQAM変調バンク137内で,ユニット230を適当な変調器にスイッチングすることにより,トランスポートストリームをスイッチングし,このスイッチングユニット230において,トランスポートストリームはネットワーク150を通してSTTへ配信できるよう,対応するバンド内送信チャンネル上で変調される。
【0022】
アプリケーションサーバー220は,STTユーザーのためのソフトウェアアプリケーションおよびサービスを提供する1つ以上のサーバーシステムを含むことができる。例えばアプリケーションサーバー220は,データサービス,ネットワーク管理サービス,インタラクティブなプログラムガイドサービス,課金サービスなどを提供する1つ以上のソフトウェアアプリケーションを含むことができる。サーバー220は,図2内で360で表示されたサーバーレジストリをメモリ220内で管理できる。レジストリ360がテーブルの形態で示されており,このテーブルではコラム363はシステム内で各STTに対し,STT(STID)を識別する識別子を含む。この例では,各STTは,そのMACアドレスによって識別される。例えばSDVR STT158−1は,MAC−1と表示されるMACアドレスによって識別できる。コラム364は,それぞれの各STTに関連するケーブルテレビサービスへの加入者を識別する識別子ID(例えば加入者の氏名,ID番号など)を含む。例えば行368−1を参照すると,STT 158−1は,S−1によって識別される加入者に関連している。本例では,加入者S−1は,例えばSDVR STT158−1を購入したか,またはリースしており,それのユーザーとして運用者によって登録されている個人とすることができる。所定の加入者は,2つ以上のSTTに関連づけできることに留意すべきである。例えば行368−2を参照すると,SDVR STT150−2は加入者S−1にも関連している。この例では,加入者S−1は自分の家に第2のSTTとして使用するための購入またはリースしたSTT150−2を有し得る。
【0023】
この場合,アプリケーションサーバー220は,本発明に係わる上記アクセス制御メカニズムを実現するためのアクセス制御マネージャー225も含む。この目的のために,マネージャー225はSDVR STTおよび/または加入者に対するアクセス制御に関連したデータを維持する。例えばマネージャー225は,ケーブルTVシステム内のSDVR STTに関連したデバイス公開鍵のライブラリーをメモリ222内に維持できる。加入者に対し,SDVR STTが提供されるとき,公開鍵アルゴリズムに従い,データの暗号化を予想し,SDVR STTには1つの公開鍵とプライベート鍵のペアが割り当てられている。SDVR STTのデバイスプライベート鍵は,その内部の安全メモリ内に記憶されており,一方,デバイス公開鍵はSDVR STTの初期化プロセス中にRDCを通し,マネージャー225に送信できる。これとは異なり,SDVR STTの登録中,ケーブル運用者がSDVR STTのシリアル番号を有していない場合,このSDVR STTに関連する公開鍵をケーブル運用者が見ることができるように,このシリアル番号を加入者はケーブル運用者に提供できる。図3には,テーブルの形態をしたデバイス公開鍵のライブラリーが番号273で示されている。デバイス鍵テーブル273は,この場合,MACアドレスである,システム内の各SDVR STTのSTIDを含むコラム276を備える。例えばSDVR STT158−1は,前に述べたようにアドレスMAC−1により識別される。コラム277は,それぞれの各STTに割り当てられたデバイス公開鍵を登録する。この例では,各デバイス公開鍵は112ビット長である。例えば行279−1を参照すると,STT158−1にはDPUBKEY−1と表示された公開鍵が割り当てられる。テーブル273は,表示目的のためだけのものであることに留意すべきである。別の実施例では,ネットワーク内の種々のSTTを識別するために,ケーブル273内で異なる識別子,例えばIPアドレスを使用できる。
【0024】
本発明によれば,公開鍵アルゴリズムに従い,別のデータの暗号化を予想し,SDVR STTに関連した各加入者には,公開鍵−プライベート鍵のペアも割り当てられる。マネージャー225は図4内で283と表示された加入者の鍵テーブルを維持できる。加入者の鍵テーブル283は,SDVR STTに関連した各加入者の識別子,例えばS−1,S−2,S−3などを列挙したコラム286を含む。コラム287および288は,各加入者に割り当てられた加入者公開鍵および加入者プライベート鍵の写しをそれぞれ含む。行289−1を,例えば参照すると,加入者S−1にはSPUBKEY−1と表示された加入者公開鍵およびSPRIKEY−1と表示された鍵プライベート鍵が割り当てられる。かかる鍵のペアは,加入者によるサービス登録中にケーブル運用者によって各加入者に割り当てできる。加入者プライベート鍵は秘密に維持しなければならないので,テーブル283は安全メモリ227内でマネージャー225により維持できる。
【0025】
図5は,本発明にかかわる包括的なSDVR STT(例えば158−1)のコンポーネントを示し,これらコンポーネントは特にプロセッサ330,インターフェース250,メモリ210,記憶装置610および暗号化モジュール165を含む。プロセッサ330はSDVR STT158−1の作動を編成する。インターフェース250は,バンド内チャンネルおよびFDCからのプログラミングコンテントおよびデータを含む信号を復調し,データ信号をRDCに変調することができるケーブルモデム258を含む。インターフェース250はプログラムコンテントおよびデータを送受信するのに必要な他の周知のフォーマット機能および再フォーマット機能も実行する。
【0026】
メモリ210は,例えばSDVR STT158−1のための基本機能およびこの場合,STID214がMACアドレスMAC−1である,SDVR STT158−1を識別するためのSTID214を提供するためのオペレーティングシステム(図示せず)を含む種々のソフトウェアアプリケーションおよびデータを記憶する。メモリ210は,例えば不揮発性ランダムアクセスメモリとすることができる。
【0027】
STT158−1に割り当てられた上記デバイスプライベート鍵,例えばDPRIKEY−1は,警告なしに容易または確実に発見されたり,または不正処理できないよう,暗号化モジュール165内で安全メモリ212内に記憶される。他方,SDVR STT158−1に割り当てられたデバイス公開鍵,例えばDPUBKEY−1(そのコピーは前に説明したようにヘッドエンド120内のテーブル273内に登録される)は,メモリ210に記憶される。
【0028】
記憶装置610は,プログラミングコンテントを記録するために使用されるものであり,この場合,リムーバブルハードディスクドライブとすることができる。この記憶装置610は,例えばデジタルビデオディスク(DVD)ドライブ,メモリスティック,ネットワークをベースとする記憶装置などを含むことができることが理解できよう。プロセッサ330は,1つ以上のコンテントファイル内の選択されたプログラミングコンテントを記録し,次にこれらコンテントを記憶装置610内に記憶するようなDVR機能も実行できる。本明細書で使用する「コンテントファイル」なる用語は,明確な量のプログラミングコンテントを保持するコンテナを意味する。コンテントファイルは,例えばデジタル技術によって記録されたバージョンの映画,例えば「市民ケーン」を含むことができる。
【0029】
ケーブル運用者は,プログラミングコンテントを無制限にセーブする権利を加入者に与える結果,許容できない量の不正なコピーが行われると判断している。従って,本発明に係わる上記アクセス制御機構は,かかる不正なコピーを防止するように実現される。本発明の機構によれば,暗号化モジュール165は,コンテント鍵,例えば記憶前にプロセッサ330が提供するコンテントファイルを3DESアルゴリズムに従って暗号化するための3DES鍵を発生する。この図示された実施例では,それぞれの各コンテントファイルを暗号化するための異なるコンテント鍵が発生される。しかしながら,同じ記憶装置内のすべてのコンテントファイルを暗号化するのに,1つのコンテント鍵を使用できることが理解できよう。また,1つのコンテントファイルを暗号化するのに,多数のコンテント鍵を使用することも理解できよう。
【0030】
更にモジュール165は,暗号化されたコンテント鍵バージョン1(V−1)および暗号化されたコンテント鍵バージョン2(V−2)を形成するのに,発生された各コンテント鍵を暗号化し,記憶装置610内に対応する暗号化コンテントファイル602(例えばコンテント鍵を使用して暗号化されたファイル)に関連した暗号化されたコンテント鍵バージョン(図6ではそれぞれ603および604で表示されている)を記憶する。図示された実施例では,SDVR STT158−1に割り当てられたデバイス公開鍵(すなわちDPUBKEY−1)を使ってコンテント鍵を暗号化することによって暗号化されたコンテント鍵V−1を形成する。他方,この場合,SDVR STT158−1に関連した加入者S−1に割り当てられた加入者公開鍵(すなわちSPUBKEY−1)により,コンテント鍵を暗号化することによって暗号化されたコンテント鍵V−2を形成する。
【0031】
例えば加入者S−1は,ケーブルネットワーク150を通して放送されるときの,指定されたプログラミングコンテント,例えば「市民ケーン」の映画を記録することをSDVR STT158−1に命令できる。従って,プロセッサ330は,インターフェース250から受信した指定された映画のコンテントを含むコンテントファイルを発生する。図7は,コンテントファイルを暗号化し,記憶するためのルーチンを示すフローチャートである。暗号化モジュール165は,ステップ308にて,かかるルーチンにより命令され,指定されたコンテントファイルに関連する上記コンテント鍵を発生する。ステップ310にて,モジュール165は,上記3DESアルゴリズムに従い,コンテント鍵を使用し,コンテントファイルを暗号化する。ステップ315にて,モジュール165は,記憶装置610内に暗号化されたコンテントファイル602を記憶する。ステップ318にて,モジュール165はメモリ210からデバイス公開鍵DPUBKEY1を検索する。ステップ320にて,モジュール165はDPUBKEY−1を使い,第1公開鍵アルゴリズム,例えばRSAアルゴリズムに従い,コンテント鍵を暗号化する。上記のように,この結果暗号化されたコンテント鍵を,暗号化されたコンテント鍵V−1と称す。ステップ325にて,モジュール165は603と表示された暗号化されたコンテント鍵V−1を,記憶装置610内に記憶する。一実施例では,暗号化されたコンテント鍵V−1を,暗号化されたコンテントファイルに関連したメタデータの形態で記憶する。
【0032】
604と表示された暗号化されたコンテント鍵V−2を発生するために,モジュール165は記憶装置610から暗号化されたコンテント鍵V−1を検索し,安全メモリ212からデバイスプライベート鍵DPRIKEY−1を検索し,メモリ210からSTID214を検索する。このSTID214は本例ではMAC−1である。モジュール165は,暗号化されたコンテント鍵V−1を解読するために,DPRIKEY−1を使用し,クリアな状態にコンテント鍵をリカバーする。モジュール165は次にRDCを介し,コンテント鍵をヘッドエンド120へ安全な態様で送信する。STT158−1からヘッドエンド120へのコンテント鍵の安全な送信は,従来技術の暗号化技術,例えば従来の公開鍵暗号化技術を使って達成でき,この従来の暗号化技術ではヘッドエンド120内にシステムプライベート鍵が記憶され,対応するシステム公開鍵はSDVR STT158−1を含むすべてのSTTに公開され,これらに記憶される。この場合,SDVR STT158−1内のモジュール165は,アプリケーションサーバー220内のアクセスマネージャー225を制御するために,従来の公開鍵暗号化技術に従い,システム公開鍵を使って暗号化されたコンテント鍵およびSTID214を含むメッセージを送信する。
【0033】
図8は,一実施例に従って暗号化されたコンテント鍵V−2を発生するためのルーチンを示すフローチャートである。ステップ427にて,マネージャー225はSDVR STT158−1からのメッセージ内の暗号化されたコンテント鍵およびSTID214を受信し,ステップ430にて上記システムプライベート鍵を使って,暗号化されたコンテント鍵を解読し,クリアな状態にコンテント鍵をリカバーする。ステップ431にて,マネージャー225は,加入者レジストリ360に相談し,本例ではMAC−1であるSTID214を使って,この場合,S−1である関連する加入者IDを決定する。ステップ432にて,マネージャー225は,加入者鍵テーブル283から加入者公開鍵,すなわちS−1に関連したSPUBKEY−1を検索する。ステップ435にて,マネージャー225は加入者公開鍵SPUBKEY−1を使って,第2の公開鍵アルゴリズムに従い,コンテント鍵を暗号化し,暗号化されたコンテント鍵V−2を発生する。ステップ440にて,マネージャー225はFDCを介し,暗号化されたコンテント鍵V−2をSDVR STT158−1に送信する。
【0034】
マネージャー225から暗号化されたコンテント鍵V−2を受信した後に,モジュール165は604と表示された暗号化されたコンテント鍵V−2を記憶装置610に記憶する。一実施例では,暗号化されたコンテントファイル602に関連したメタデータの形態に,暗号化されたコンテント鍵V−2を記憶する。「市民ケーン(Citizen Kane)」の映画コンテントを見るために暗号化されたコンテントファイル602を解読するため,モジュール165はメモリ212内のDPRIKEY−1を使って関連する暗号化されたコンテント鍵V−1(603)を解読し,コンテント鍵をクリアな状態にリカバーできる。次にモジュール165は,リカバーされたコンテント鍵を使って,暗号化されたコンテントファイル602を解読する。
【0035】
上記とは異なり,STT158−1に加入者公開鍵SPUBKEY−1を提供できる。暗号化されたコンテント鍵V−1を作成するために使用された同じプロセスで,モジュール165がSPUBKEY−1を使って,解読されたコンテント鍵V−2を発生できる。
【0036】
暗号化されたコンテントファイル602のポータビリティを証明するために,加入者S−1は自分の家において第2STTとして使用するためのSDVR STT158−2を購入すると仮定した場合,この加入者はコンテントファイルをSDVR STT158−2へ転送し,SDVR STT150−2に接続されたテレビセットでそのプログラムを見たいことがある。これとは異なり,SDVR STT158−1が壊れているか,または何らかの理由から機能していないと仮定した場合,加入者S−1はSDVR STT158−2を使って,記憶されたプログラミングコンテントを見たいと望むことがあり得る。加入者S−1が限られたこのような目的のためにプログラミングコンテントをコピーできるようにするために,本発明は第1デバイス(例えばSTT158−1)に記憶されていたプログラミングコンテントを第2デバイス(例えばSTT158−2)に移動させるのに,特定の任意のデバイスに関連しない暗号化されたコンテント鍵V−2(604)に依存する。より詳細には,第2デバイスがSTT158−2内の暗号化されたコンテントファイルのコピーを解読するためのコンテント鍵を得るためには,第2デバイスはこれに関連した暗号化されたコンテント鍵V−1を必要とする。本発明の特徴によれば,STT158−2に関連するコンテント鍵V−1は,STT158−2に関連する加入者がS−1でもあることを条件に,暗号化されたコンテント鍵V−2(604)から導き出すことに成功できる。加入者がS−1となっているのは本明細書のケースであり,図2における加入者レジストリ360に示されている。次に,レジストリ360の行368−1および368−2を参照すると,この場合,MAC−1アドレスを有するSTT158−1およびMAC−2アドレスを有するSTT158−2の双方は,S−1に関連している。
【0037】
図9のSDVR STT158−2が(例えば記憶装置910と同じ記憶装置610をSDVR STT158−1からSDVR STT158−2へ物理的に移すことにより,SDVR STT158−1から暗号化されたコンテントファイル602および暗号化されたコンテント鍵V−2(604)のコピーを,記憶装置910内に有すると仮定した場合,STT158−2の暗号化モジュール965は,記憶装置910から暗号化されたコンテント鍵V−2(604)およびメモリ990からSTID914を検索する。モジュール965は,暗号化されたコンテント鍵V−2(604)およびSTID914を含むメッセージをヘッドエンド120へ送信する。
【0038】
ヘッドエンド120では,暗号化されたコンテント鍵V−2(604)を使用し,SDVR STT158−2に関連した暗号化されたコンテント鍵V−1を発生する。このコンテント鍵は暗号化されたコンテントファイル602を解読するためのコンテント鍵を導き出すために,STT158−2にとって必要なものである。図10は,本発明の一実施例に係わる,STT158−2に関連した暗号化されたコンテント鍵V−1を発生するためのルーチンを示すフローチャートである。ステップ571にて,ヘッドエンド120内のマネージャー225は,新しいデバイスSTT158−2から暗号化されたコンテント鍵V−2(604)およびSTID914を受信する。ステップ572にて,マネージャー225は加入者レジストリ360に相談し,STID914(すなわちMAC−2)を使用して,対応する加入者ID(例えばS−1)を決定する。ステップ573にて,マネージャー225は加入者S−1に関連する加入者プライベート鍵STRIKEY−1を加入者鍵テーブル283から検索する。ステップ574にて,マネージャー225は加入者プライベート鍵を使って暗号化されたコンテント鍵V−2(604)を解読し,クリアな状態にコンテント鍵をリカバーする。
【0039】
ステップ576にて,マネージャー225はデバイス鍵テーブル273に相談し,本例ではMAC−2であるSTID914に関連したデバイス公開鍵DPUBKEY−2を検索する。ステップ577にて,マネージャー225はSTT158−2に関連するデバイス公開鍵DPUBKEY−2を使用し,コンテント鍵を暗号化する。この結果生じるコンテント鍵の暗号化されたバージョンは,新しいデバイス(ND)の暗号化されたコンテント鍵バージョン1(V−1)と称す。ステップ579にて,マネージャー225はFDCを通し,NDの暗号化されたコンテント鍵V−1をSTT158−2へ送信する。
【0040】
SDVR STT158−2内のモジュール965は,NDの暗号化されたコンテント鍵V−1をヘッドエンド120から受信する。モジュール965は記憶装置910内にNDコンテント鍵V−1を記憶する。時間中のその後のポイントにおいて,モジュール965は,メモリ912からデバイスプライベート鍵DPRIKEY−2を検索し,これを使ってNDの暗号化されたコンテント鍵V−1を解読すると共に,コンテント鍵をリカバーする。次にモジュール965はコンテント鍵を利用し,「市民ケーン」の映画コンテントを見るための暗号化されたコンテントファイル602を解読できる。
【0041】
第2実施例では,テーブル283内に記憶された加入者鍵ペアの代わりにシステムワイドな公開鍵とプライベート鍵のペアが使用される。システム公開鍵はネットワーク内のSTTの集団に対して公開される。システムのプライベート鍵(図示せず)はマネージャー225により,ヘッドエンド120内,例えばメモリ227内に記憶される。従って,例えば第2実施例において,SDVR STT158−1がコンテント鍵を使ってコンテントファイルを暗号化し,その結果,暗号化されたコンテントファイル602が得られた後,SDVR STT158−1はメモリ210内のシステム公開鍵(図示せず)を使用し,コンテント鍵を暗号化し,よって暗号化されたコンテント鍵V−2を発生する。SDVR STT158−1はコンテントファイル602に関連し,暗号化されたコンテント鍵V−2を記憶する。SDVR STT158−1内の暗号化されたコンテント鍵V−1は,前の実施例と同じままであることに留意すべきである。
【0042】
コンテントファイルのポータビリティを実現するために,SDVR STT158−1は,コンテントファイルおよびその内部の暗号化されたコンテント鍵V−2を第2デバイス,例えばSDVR STT158−2へ転送することができ,SDVR STT158−2に関連した暗号化されたコンテント鍵V−1は次のように発生できる。SDVR STT158−2内のモジュール965は,受信した暗号化されたコンテント鍵V−2をヘッドエンド120へ送信する。ヘッドエンド120内のマネージャー225は,暗号化されたコンテント鍵V−2を受信し,メモリ227からのシステムプライベート鍵を検索し,これを使って暗号化されたコンテント鍵V−2を解読し,クリアな状態にコンテント鍵をリカバーする。次にマネージャー225はデバイス鍵テーブル273に相談し,SDVR STT158−2に関連したデバイス公開鍵DPUBKEY−2を検索する。マネージャー225はデバイス公開鍵DPUBKEY−2を使ってコンテント鍵を暗号化し,NDの暗号化されたコンテント鍵V−1を発生する。このNDの暗号化されたコンテント鍵は,SDVR STT158−2へ送信され,ここでコンテントファイル602に関連して記憶装置910内に記憶される。記憶装置910にも記憶されるこのNDの暗号化されたコンテント鍵V−2は,SDVR STT158−1からの受信された暗号化されたコンテント鍵V−2と同じである。時間中のその後のポイントで,モジュール965はメモリ912からのデバイスプライベート鍵DPRIKEY−2を検索し,これを使ってNDの暗号化されたコンテント鍵V−1を解読し,コンテント鍵をリカバーできる。次にモジュール965はコンテント鍵を利用し,「市民ケーン」の映画コンテントを見るための暗号化されたコンテントファイル602を解読する。
【0043】
第3実施例では,加入者はヘッドエンド120および特に制御アクセスマネージャー220に関係することなく,例えばホームネットワークを介し,あるデバイスから別のデバイスへコンテントを転送できる。例えば加入者S−1は自分の家の中にホームネットワークを設定し,SDVR STT158−1,SDVR STT158−2の双方をネットワークに接続する。前に述べたように,「市民ケーン」の映画はSDVR STT158−1の記憶装置610内に暗号化されたコンテントファイル602の形態で記憶される。加入者S−1が暗号化されたコンテントファイル602のコピーをSDVR STT158−1からSDVR STT158−2へ転送したいと仮定する。図11は,第1デバイスから第2デバイスへ,かかる1つのコンテントファイルを転送するためのルーチンを示すフローチャートである。SDVR STT158−2は,イニシエータとして作動し,コンテントファイル602のコピーに対するリクエストをSDVR STT158−1へ送信する。SDVR STT158−2は,自らのデバイス公開鍵(本例ではDPUBKEY−2)をSDVR STT158−1へ送信することもできる。
【0044】
モジュール165はリクエストおよびSDVR STT158−2に関連したデバイス公開鍵を受信し(ステップ1105),これに応答し,記憶装置610内の所望するコンテントファイル602を識別する。ステップ1120で,モジュール165は記憶装置610からの暗号化されたコンテント鍵V−1(603)を検索する。ステップ1125にて,モジュール165はメモリ212からのDPRIKEY−1を検索し,(ステップ1130にて)DPRIKEY−1を使用し,暗号化されたコンテント鍵V−1(603)を解読し,コンテント鍵をクリアな状態にリカバーする。ステップ1150にて,モジュール165は受信したDPUBKEY−2を使用し,リカバーされたコンテント鍵を暗号化する。この結果生じる暗号化されたバージョンのコンテント鍵は,NDの暗号化されたコンテント鍵V−1となる。ステップ1160にて,モジュール165は暗号化されたコンテントファイル602のコピーと共に,NDの暗号化されたコンテント鍵V−1をSDVR STT158−2へ送信する。
【0045】
SDVR STT158−2内のモジュール965は,SDVR STT158−1からNDの暗号化されたコンテント鍵V−1を受信する。モジュール965は,NDのコンテント鍵V−1およびコンテントファイル602を記憶装置910内に記憶する。時間中のその後のポイントにおいて,モジュール965はメモリ912からデバイスプライベート鍵DPRIKEY−2を検索し,これを使ってNDの暗号化されたコンテント鍵V−1を解読し,クリアな状態にコンテント鍵をリカバーする。モジュール965は,次にコンテント鍵を使用し,「市民ケーン」の映画のコンテントを見るために,暗号化されたコンテントファイル602を解読できる。
【0046】
これまでの説明は本発明の原理を単に説明するためのものであるので,当業者であれば,本発明の原理を具現化し,従って本発明の要旨の範囲内にある他の種々の装置を考え付くことができよう。
【0047】
例えばSTTは上記実施例において図示されるように使用されるが,かかるSTTに加え,またはかかるSTTの代わりに,他の相当するデバイス,または機能的に等価的なデバイス(例えばポイントオブデプロイメント(POD)またはCableCard(登録商標)デバイス)も使用できる。
【0048】
更に,図1に示される実施例では,ネットワークのトランスポートはHFCケーブルネットワーク150を使って,図示するように実現される。しかしながら,その代わりに他のネットワーク,例えばデジタル加入者ライン(DSL)ネットワーク,イーサネット(登録商標)ネットワークおよび衛星ネットワークも使用できる。
【0049】
最後に,本明細書では種々の機能をディスクリートな機能ブロックによって実行する形態に,図1のシステムコンポーネントを開示した。しかしながら,これらブロックの1つ以上の機能またはその機能のすべては,例えば1つ以上の適当にプログラムされたプロセッサによって実現される装置内で,同じように具現化できる。
【特許請求の範囲】
【請求項1】
第2デバイス158−2から暗号化されたコンテントをトランスポートされる第1デバイス158−1において,暗号化されたコンテントを使用するための方法であって,前記第1デバイスと前記第2デバイスの双方は一人のユーザーに関連しており,前記暗号化されたコンテントは,プライベート暗号化鍵を使って前記第1デバイス内で解読されるようになっており,本方法は,
前記第2デバイスから前記プライベート暗号化鍵の暗号化された第1バージョンを前記第1デバイスで受信するステップであって,該プライベート暗号化鍵の前記暗号化された第1バージョンは,前記第1および第2デバイスのユーザーに一意的に対応する第1公開暗号化鍵を使用して,前記プライベート暗号化鍵を暗号化することにより前記第2デバイスで発生される,ステップと,
前記第1デバイスから離間した装置225に前記プライベート暗号化鍵の前記暗号化された第1バージョンを前記第1デバイスが送信し,前記装置は,少なくとも前記プライベート暗号化鍵の前記暗号化された第1バージョンおよび前記ユーザーを示すデータに基づき,前記プライベート暗号化鍵をリカバーするステップと,
前記プライベート暗号化鍵の暗号化された第2バージョンを前記装置から前記第1デバイスで受信し,前記プライベート暗号化鍵の前記暗号化された第2バージョンは,前記第1デバイスに一意的に対応する第2公開暗号化鍵を使って前記リカバーされたプライベート暗号化鍵を暗号化することによって前記装置で発生されるステップと,
少なくとも前記プライベート暗号化鍵の前記暗号化された第2バージョンに基づき,前記暗号化されたコンテントを解読するため,前記プライベート暗号化鍵を前記第1デバイスがリカバーするステップとを含む,方法。
【請求項2】
前記コンテントは,娯楽プログラミングコンテントを含む,請求項1記載の方法。
【請求項3】
前記プライベート暗号化鍵は,DES技術に従ったシークレット鍵を含む,請求項1記載の方法。
【請求項4】
前記第1公開暗号化鍵は,公開鍵アルゴリズムに従った暗号化鍵を含む,請求項1記載の方法。
【請求項5】
前記第2公開暗号化鍵は,公開鍵アルゴリズムに従った暗号化鍵を含む,請求項1記載の方法。
【請求項6】
第2デバイスからの暗号化されたコンテントを受信する様に構成されたデバイス158−1であって、当該デバイス158−1および第2デバイスの双方は一人のユーザーに関連しており、前記暗号化されたコンテントはプライベート暗号化鍵を使って前記デバイス158−1で解読されるようになっており、当該デバイス158−1は、
前記第2デバイスから前記プライベート暗号化鍵の暗号化された第1バージョンを受信するよう構成された第1装置であって、当該プライベート暗号化鍵の暗号化された第1のバージョンは、デバイス158−1および第2デバイスのユーザに一意的に対応する第1暗号化鍵を使って前記プライベート暗号化鍵を暗号化することにより前記第2デバイスで発生され、
前記第1デバイスから離間した装置225に前記プライベート暗号化鍵の前記暗号化された第1バージョンを送信するよう構成された第2装置であって、前記遠隔装置は少なくとも前記プライベート暗号化鍵の前記暗号化された第1バージョンと前記ユーザーを示すデータに基づいて前記プライベート暗号化鍵をリカバーする第2装置と、
前記プライベート暗号化鍵の前記暗号化された第2バージョンを前記遠隔装置から受信するよう構成された第3装置であって、前記プライベート暗号化鍵の暗号化された第2バージョンは、前記デバイス158−1に一意的に対応する第2のパブリック暗号化鍵を使用して、前記リカバーされたプライベート暗号化鍵を暗号化することによって前記遠隔装置で発生される第3装置と、および
少なくとも前記プライベート暗号化鍵の暗号化された第2バージョンに基づいて暗号化されたコンテントを解読可能とするよう前記プライベート暗号化鍵をリカバーするよう構成された第4装置、
とを備えたデバイス。
【請求項7】
前記コンテントは,娯楽プログラミングコンテントを含む,請求項6記載の装置。
【請求項8】
前記プライベート暗号化鍵は,DES技術に従ったシークレット鍵を含む,請求項7記載の装置。
【請求項9】
前記第1公開暗号化鍵は,公開鍵アルゴリズムに従った暗号化鍵を含む,請求項8記載の方法。
【請求項10】
前記第2公開暗号化鍵は,公開鍵アルゴリズムに従った暗号化鍵を含む,請求項9記載の装置。
【請求項1】
第2デバイス158−2から暗号化されたコンテントをトランスポートされる第1デバイス158−1において,暗号化されたコンテントを使用するための方法であって,前記第1デバイスと前記第2デバイスの双方は一人のユーザーに関連しており,前記暗号化されたコンテントは,プライベート暗号化鍵を使って前記第1デバイス内で解読されるようになっており,本方法は,
前記第2デバイスから前記プライベート暗号化鍵の暗号化された第1バージョンを前記第1デバイスで受信するステップであって,該プライベート暗号化鍵の前記暗号化された第1バージョンは,前記第1および第2デバイスのユーザーに一意的に対応する第1公開暗号化鍵を使用して,前記プライベート暗号化鍵を暗号化することにより前記第2デバイスで発生される,ステップと,
前記第1デバイスから離間した装置225に前記プライベート暗号化鍵の前記暗号化された第1バージョンを前記第1デバイスが送信し,前記装置は,少なくとも前記プライベート暗号化鍵の前記暗号化された第1バージョンおよび前記ユーザーを示すデータに基づき,前記プライベート暗号化鍵をリカバーするステップと,
前記プライベート暗号化鍵の暗号化された第2バージョンを前記装置から前記第1デバイスで受信し,前記プライベート暗号化鍵の前記暗号化された第2バージョンは,前記第1デバイスに一意的に対応する第2公開暗号化鍵を使って前記リカバーされたプライベート暗号化鍵を暗号化することによって前記装置で発生されるステップと,
少なくとも前記プライベート暗号化鍵の前記暗号化された第2バージョンに基づき,前記暗号化されたコンテントを解読するため,前記プライベート暗号化鍵を前記第1デバイスがリカバーするステップとを含む,方法。
【請求項2】
前記コンテントは,娯楽プログラミングコンテントを含む,請求項1記載の方法。
【請求項3】
前記プライベート暗号化鍵は,DES技術に従ったシークレット鍵を含む,請求項1記載の方法。
【請求項4】
前記第1公開暗号化鍵は,公開鍵アルゴリズムに従った暗号化鍵を含む,請求項1記載の方法。
【請求項5】
前記第2公開暗号化鍵は,公開鍵アルゴリズムに従った暗号化鍵を含む,請求項1記載の方法。
【請求項6】
第2デバイスからの暗号化されたコンテントを受信する様に構成されたデバイス158−1であって、当該デバイス158−1および第2デバイスの双方は一人のユーザーに関連しており、前記暗号化されたコンテントはプライベート暗号化鍵を使って前記デバイス158−1で解読されるようになっており、当該デバイス158−1は、
前記第2デバイスから前記プライベート暗号化鍵の暗号化された第1バージョンを受信するよう構成された第1装置であって、当該プライベート暗号化鍵の暗号化された第1のバージョンは、デバイス158−1および第2デバイスのユーザに一意的に対応する第1暗号化鍵を使って前記プライベート暗号化鍵を暗号化することにより前記第2デバイスで発生され、
前記第1デバイスから離間した装置225に前記プライベート暗号化鍵の前記暗号化された第1バージョンを送信するよう構成された第2装置であって、前記遠隔装置は少なくとも前記プライベート暗号化鍵の前記暗号化された第1バージョンと前記ユーザーを示すデータに基づいて前記プライベート暗号化鍵をリカバーする第2装置と、
前記プライベート暗号化鍵の前記暗号化された第2バージョンを前記遠隔装置から受信するよう構成された第3装置であって、前記プライベート暗号化鍵の暗号化された第2バージョンは、前記デバイス158−1に一意的に対応する第2のパブリック暗号化鍵を使用して、前記リカバーされたプライベート暗号化鍵を暗号化することによって前記遠隔装置で発生される第3装置と、および
少なくとも前記プライベート暗号化鍵の暗号化された第2バージョンに基づいて暗号化されたコンテントを解読可能とするよう前記プライベート暗号化鍵をリカバーするよう構成された第4装置、
とを備えたデバイス。
【請求項7】
前記コンテントは,娯楽プログラミングコンテントを含む,請求項6記載の装置。
【請求項8】
前記プライベート暗号化鍵は,DES技術に従ったシークレット鍵を含む,請求項7記載の装置。
【請求項9】
前記第1公開暗号化鍵は,公開鍵アルゴリズムに従った暗号化鍵を含む,請求項8記載の方法。
【請求項10】
前記第2公開暗号化鍵は,公開鍵アルゴリズムに従った暗号化鍵を含む,請求項9記載の装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−85296(P2012−85296A)
【公開日】平成24年4月26日(2012.4.26)
【国際特許分類】
【出願番号】特願2011−224200(P2011−224200)
【出願日】平成23年10月11日(2011.10.11)
【分割の表示】特願2007−522604(P2007−522604)の分割
【原出願日】平成17年7月15日(2005.7.15)
【出願人】(507020059)タイム ワーナー ケーブル、インコーポレイテッド (7)
【Fターム(参考)】
【公開日】平成24年4月26日(2012.4.26)
【国際特許分類】
【出願日】平成23年10月11日(2011.10.11)
【分割の表示】特願2007−522604(P2007−522604)の分割
【原出願日】平成17年7月15日(2005.7.15)
【出願人】(507020059)タイム ワーナー ケーブル、インコーポレイテッド (7)
【Fターム(参考)】
[ Back to top ]