(57)【特許請求の範囲】
【請求項１】
エンドユーザからのアクセスが制限された番組を送信する方法において、
（Ａ）番組に、該番組の継続時間中に該番組を一意的に識別する番組識別子を割り当てるステップと、
（Ｂ）複数のマスタ鍵を定義するステップと、
（Ｃ）前記複数のマスタ鍵とエンドユーザによりアクセス可能な番組の線形部分空間を表わす基底行列とから導出された権限情報を前記エンドユーザに提供するステップと、
（Ｄ）前記マスタ鍵の線形結合として生成された番組鍵を用いて前記番組を暗号化するステップと、
（Ｅ）暗号化された番組を、前記番組識別子とともにエンドユーザに送信するステップとを有し、
前記番組識別子は、前記線形結合の際に前記複数のマスタ鍵のうちのいずれの鍵が前記番組鍵を生成するために利用されるかを決定し、
前記エンドユーザは、前記番組識別子および前記権限情報から前記番組鍵を導出することが可能であることを特徴とする、アクセスが制限された番組を送信する方法。
【請求項２】
前記番組は、前記エンドユーザによってアクセス可能な番組の線形部分空間の一部であることを特徴とする請求項１に記載の方法。
【請求項３】
前記番組は、関連する内容の番組が低次元の線形部分空間に含まれるように編成されていることを特徴とする請求項１に記載の方法。
【請求項４】
前記権限情報は、前記基底行列とマスタ鍵から導出される鍵のセットを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記権限情報は、前記基底行列の小行列の逆行列を含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記エンドユーザは、受信した番組識別子を用いて、記憶されている権限情報から前記番組鍵を導出することを特徴とする請求項１に記載の方法。
【請求項７】
前記複数のマスタ鍵は、線形独立であることを特徴とする請求項１に記載の方法。
【請求項８】
番組に対する番組鍵は、前記複数のマスタ鍵に前記番組識別子を乗じることによって得られることを特徴とする請求項１に記載の方法。
【請求項９】
前記（Ｅ）送信するステップは、前記番組識別子を、前記暗号化された番組でインタリーブするステップを含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記番組識別子は、制御チャネルを通じて送信されることを特徴とする請求項１に記載の方法。
【請求項１１】
（Ｆ）前記エンドユーザが番組に対する権限を有するかどうかを判定することが可能な検査行列を前記エンドユーザに提供するステップをさらに有することを特徴とする請求項１に記載の方法。
【請求項１２】
暗号化された番組を復号する方法において、
（Ａ）複数のマスタ鍵とエンドユーザによりアクセス可能な番組の線形部分空間を表わす基底行列とから導出された権限情報を前記番組のプロバイダから受信するステップと、
（Ｂ）前記複数のマスタ鍵の線形結合として生成された番組鍵で暗号化された番組を、該番組の継続時間中に該番組を一意的に識別する番組識別子とともに受信するステップと、
（Ｃ）前記番組識別子と、記憶されている前記権限情報から前記番組鍵を導出するステップと、
（Ｄ）前記番組鍵を用いて前記暗号化された番組を復号するステップとを有し、
前記番組識別子は、前記線形結合の際に前記複数のマスタ鍵のうちのいずれの鍵が前記番組鍵を生成するために利用されるかを決定していることを特徴とする、暗号化された番組を復号する方法。
【請求項１３】
（Ａ）番組に、該番組の継続時間中に該番組を一意的に識別する番組識別子を割り当てるステップと、
（Ｂ）複数のマスタ鍵を定義するステップと、
（Ｃ）前記複数のマスタ鍵とエンドユーザによりアクセス可能な番組の線形部分空間を表わす基底行列とから導出された権限情報を前記エンドユーザに提供するステップと、
（Ｄ）前記マスタ鍵の線形結合として生成された番組鍵を用いて前記番組を暗号化するステップと、
（Ｅ）暗号化された番組を、前記番組識別子とともにエンドユーザに送信するステップとを有し、
前記番組識別子は、前記線形結合の際に前記複数のマスタ鍵のうちのいずれの鍵が前記番組鍵を生成するために利用されるかを決定し、
前記エンドユーザは、前記番組識別子および前記権限情報から前記番組鍵を導出することが可能であることを特徴とする、コンピュータが読み取り可能なプログラムコードを含むコンピュータが読み取り可能な媒体からなる物品。
【請求項１４】
（Ａ）複数のマスター鍵とエンドユーザによってアクセス可能な番組の線形部分空間を表わす基底行列とから導出された権限情報をプロバイダから受信するステップと、
（Ｂ）前記複数のマスタ鍵の線形結合として生成された番組鍵で暗号化された番組を、該番組の継続時間中に該番組を一意的に識別する番組識別子とともに受信するステップと、
（Ｃ）前記複数の番組識別子と、記憶されている権限情報から前記番組鍵を導出するステップと、
（Ｄ）前記番組鍵を用いて前記暗号化された番組を復号するステップとを有し、
前記番組識別子は、前記線形結合の際に前記複数のマスタ鍵のうちのいずれの鍵が前記番組鍵を生成するために利用されるかを決定していることを特徴とする、コンピュータが読み取り可能なプログラムコードを含むコンピュータが読み取り可能な媒体からなる物品。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、送信された番組内容へのアクセスを制限するシステムに関し、特に、番組を復号するのに必要な復号鍵を導出するために、記憶されている権限情報とともにセットトップ端末によって用いられる番組識別子とともに、暗号化された番組を送信するシステムに関する。
【０００２】
【従来の技術】
テレビジョン視聴者に利用可能なチャネル数が、そのようなチャネルで利用可能な番組内容の多様性とともに増大するにつれて、ケーブルテレビジョンオペレータやディジタル衛星サービスオペレータのようなサービスプロバイダにとって、テレビジョン視聴者の多数を満足させるチャネルおよび番組のパッケージを提供することがますます重要になってきている。顧客に提供されるパッケージの開発は一般にマーケティングの機能である。一般に、サービスプロバイダは、単一の番組からすべての番組まで、およびその間のさまざまな組合せという、さまざまなサイズのパッケージを提供しようと希望する。
【０００３】
サービスプロバイダは一般に、送信機（「ヘッドエンド」ということが多い。）から、多数の顧客へテレビジョン番組を放送する。各顧客は一般に、購入したパッケージに応じて、受信した番組のうちのサブセットのみに対する権限を有する。例えば、ワイヤレス放送環境では、送信された番組は、アンテナや衛星アンテナや適当な受信機があれば誰でも受信することができる。従って、送信される番組へのアクセスを、必要なパッケージを購入した、権限のある顧客に制限するために、サービスプロバイダは一般に、送信される番組を暗号化するとともに、顧客が権限を有する番組を復号するために用いられる復号鍵を含むセットトップ端末（ＳＴＴ（ｓｅｔ−ｔｏｐ  ｔｅｒｍｉｎａｌ））を顧客に提供する。このようにして、セットトップ端末は、暗号化された送信情報を受信し、顧客が権限を有する番組を復号するが、その他の番組は復号しない。
【０００４】
セットトップ端末に記憶されている復号鍵などの非常に重要な情報の侵害を最小にするため、セットトップ端末は一般に、復号鍵を記憶するための、一般に数キロビットのオーダーの容量を有する機密性の高いプロセッサ（機密プロセッサ）および機密性の高いメモリ（機密メモリ）を有する。機密メモリは一般に不揮発性であり、改竄が困難である。さらに、例えば各課金期間ごとに、必要に応じて鍵を再プログラムすることができるように、機密メモリは書き込み可能であることが好ましい。従来のセットトップ端末の機密メモリ容量は制限されているため、記憶可能な鍵の数は制限され、それにより、サービスプロバイダから提供されることが可能なパッケージの数も制限される。なお、一月の課金期間中にサービスプロバイダによって一般に放送される番組数は２０万のオーダーとなることもある。
【０００５】
１つの変形として、従来のセットトップ端末は、ビットベクトルを有する。ビットエントリは、サービスプロバイダによって提供される番組の各パッケージに対応する。一般に、各パッケージは１つのテレビジョンチャネルに対応する。ある顧客があるパッケージに対する権限を有する場合、セットトップ端末に記憶されているビットベクトル内の対応するビットエントリが１にセットされる。その後、サービスプロバイダによって送信されるすべての番組は、単一の鍵で暗号化される。ある与えられた番組を受信すると、セットトップ端末はビットベクトルにアクセスして、対応するビットエントリがセットされているかどうかを判定する。そのビットエントリがセットされている場合、セットトップ端末は、記憶されている単一の復号鍵を用いて番組を復号する。
【０００６】
ビットベクトル方式では、各番組ごとに１つのビットエントリを与えることによって、理論上、自由度が高くなるが、単一の課金期間に多くの番組を送信するシステムでは、ビットベクトルの長さは非実用的なほど長くなってしまう。さらに、このようなシステムにおけるアクセス制御は、ビットベクトル内のエントリのみによって提供され、暗号化されてない。従って、顧客がビットベクトルを上書きすることができて、すべてのビットを１にセットすると、その顧客はすべての番組にアクセスすることができてしまう。
【０００７】
もう１つの変形として、番組をパッケージに分割し、与えられたパッケージ内のすべての番組を、同じ鍵を用いて暗号化するものがある。この場合も、各パッケージは一般に１つのテレビジョンチャネルに対応する。セットトップ端末は、顧客が権限を有する各パッケージごとに１つの復号鍵を記憶する。従って、ある番組が複数のパッケージに含まれる場合、その番組は、各パッケージごとに再送信されなければならない。各送信情報は、そのパッケージに対応する暗号化鍵で暗号化される。この場合、アクセス制御は暗号化されているが、与えられた番組を複数回再送信することに伴うオーバーヘッドのために、サービスプロバイダは、複数のパッケージに同じ番組を入れにくくなり、それにより、番組のパッケージの設計における自由度が制限されてしまう。
【０００８】
【発明が解決しようとする課題】
番組内容の暗号化および送信のための以上のような従来のシステムは、権限のある顧客にアクセスを制限することに多少成功してはいるが、テレビジョンネットワークのようなサービスプロバイダが、セットトップ端末の制限された機密メモリ容量を超えることやオーバーヘッドを大幅に増大させることなく、多数の番組を含むさまざまなパッケージを顧客に提供することを可能にしてはいない。暗号化された番組内容を送信する従来のシステムにおける上記のような欠点から明らかなように、番組を復号するのに必要な復号鍵を導出するために、記憶されている権限情報とともにセットトップ端末によって用いられる番組識別子とともに、鍵で暗号化された番組を送信するシステムが必要とされている。さらに、サービスプロバイダが各パッケージごとに番組を再送信することを必要とせずに、サービスプロバイダが番組を複数のパッケージに含めることを可能にするシステムが必要とされている。さらに、送信される番組内容に伴うオーバーヘッドをあまり増大させることなく、セットトップ端末の機密メモリ制限を克服するアクセス制御システムが必要とされている。
【０００９】
【課題を解決するための手段】
一般に、暗号化された番組内容は、サービスプロバイダによって、送信機（ヘッドエンドサーバ）を用いて、顧客に送信される。本発明の１つの特徴によれば、番組を識別するために用いられる番組識別子ｐは、番組内容とともに顧客に送信される。各顧客は、好ましくは、復号鍵を用いて、送信されたマルチメディア情報へのアクセスを制限する別の機構であるセットトップ端末を有する。セットトップ端末は、好ましくは、ヘッドエンドから定期的に権限情報を受信する。権限情報は、与えられた期間に対して顧客が権限を有する番組のパッケージに対応する。
【００１０】
各番組は、好ましくは、送信前に、ヘッドエンドサーバによって、番組鍵ＫＰを用いて暗号化される。番組鍵は、番組に固有とすることが可能である。暗号化された番組を送信することに加えて、ヘッドエンドサーバは、好ましくは、その番組を復号するのに必要な復号鍵を導出するために、記憶されている権限情報とともに、受信した番組識別子ｐを使用する。このようにして、顧客がある番組に対する権限を有する場合、セットトップ端末は、記憶されている受信した情報を用いて、暗号化された番組鍵ＫＰを導出し、その番組鍵ＫＰを用いて、暗号化された番組を復号することができる。実施例に応じて、番組識別子ｐは、番組部分とインタリーブすることも可能であり、あるいは、別個の専用制御チャネルで送信されることも可能である。
【００１１】
本発明のもう１つの特徴によれば、送信される番組を暗号化するのに用いられるｋビットの番組鍵ＫＰはそれぞれ、所定のｋビットのマスタ鍵ｍ１，．．．，ｍｎの線形結合である。各マスタ鍵ｍｉは、好ましくは、ｋ×ｎ行列Ｍの列としてヘッドエンドサーバによって記憶される。番組鍵ＫＰのビット長ｋは、番組識別子ｐのビット長ｎより大きくなければならない。番組識別子ｐは、マスタ鍵行列Ｍ内のいずれの鍵が番組鍵ＫＰを生成する際に用いられるかを指示することによって、番組鍵マスクとして作用する。ヘッドエンドサーバは、好ましくは、課金期間ごとに一度ずつ、行列Ｍに対する新しいマスタ鍵のセットを生成する。一実施例では、マスタ鍵行列Ｍはランダムに生成される。ただし、生成される番組鍵ＫＰが偶然に０になることのないように、マスタ鍵ｍｉは線形独立とする。
【００１２】
顧客が、１つまたは複数のパッケージを購入し、これらのパッケージは全部でｒ個の番組を含むとする。番組を暗号化するのに用いられる各番組鍵ＫＰはマスタ鍵のセットＭの線形結合であるため、顧客は、権限のあるｒ個の番組のそれぞれに対する番組鍵ＫＰを取得すれば、２ｒ個の番組に対する番組鍵ＫＰも容易に導出することができる。このように、本発明のさらにもう１つの特徴によれば、ｒ個の番組を希望した顧客は、実際には、それらのｒ個の番組を含む番組の最小線形部分空間Ｕへのアクセスが可能となる。番組は、好ましくは、関連する内容の番組が低次元の線形部分空間に含まれるように編成される。さらに、各番組鍵ＫＰはマスタ鍵Ｍの線形結合であるため、ある与えられたパッケージが任意個数の番組を有することはできない。特に、１つのパッケージは、ｎより小さいある値ｉに対して（２ｉ−１）個の番組識別子からなり、これらは必ずしもすべてが番組に割り当てられる必要はない。
【００１３】
セットトップ端末は、顧客が権限を有する部分空間Ｕに属する番組ｐを復号する必要があるが、他の番組を復号する必要はない。部分空間Ｕは、基底行列Ｂによって表される。それぞれ番組識別子ｐによって識別される番組の部分空間Ｕを復号するために、セットトップ端末は、マスタ鍵行列Ｍから導出されるマスタ鍵の対応するサブセットを必要とする。こうして、セットトップ端末は、マスタ鍵のうち顧客が権限を有する導出部分を含む顧客鍵行列Ｋを有することになる。さらに、セットトップ端末に記憶される権限情報は、アクティブな行インデックスｉ１，．．．，ｉｒのセットを有する。これらの行インデックスは、ヘッドエンドサーバが、基底行列Ｂから、正則行列Ｂ′、および、正則基底行列の逆行列（Ｂ′）−１を作成するために用いられる。
【００１４】
一実施例では、セットトップ端末は、権限情報の一部として、検査行列Ｃも記憶する。検査行列Ｃにより、セットトップ端末は、復号手続き全体を完了せずに、受信した番組が権限のある部分空間Ｕに入るかどうかを前もって判定することができる。このようにして、セットトップ端末は、伝送エラーにより復号不能な番組と、部分空間Ｕの要素でないために復号不能な番組とを明確に区別することができる。
【００１５】
【発明の実施の形態】
図１に、サービスプロバイダから、ヘッドエンドサーバ２００（詳細は図２に関して後述）のような送信機を用いて、配信ネットワーク１１０を通じて、セットトップ端末３００（詳細は図３に関して後述）のようなセットトップ端末３００〜３０１を有する顧客に、暗号化されたマルチメディア情報（例えば、ビデオ、オーディオおよびデータ）を転送する例示的なネットワーク環境を示す。ここで、セットトップ端末は、復号鍵を用いて、送信されてきたマルチメディア情報へのアクセスを制限する機構（例えば、コンピュータ装置など）と、通信機器を有する。セットトップ端末によって実行されるソフトウェアは、サービスプロバイダからダウンロードすることが可能である。配信ネットワーク１１０は、番組内容の配信のためのワイヤレス放送ネットワーク（例えば、ディジタル衛星サービス（ＤＳＳ（ｄｉｇｉｔａｌ  ｓａｔｅｌｌｉｔｅ  ｓｅｒｖｉｃｅ）））、あるいは、従来の有線ネットワーク（例えば、ケーブルテレビジョンネットワーク（ＣＡＴＶ）、公衆交換電話網（ＰＳＴＮ）、光ネットワーク、広帯域総合サービスディジタル網（ＩＳＤＮ）あるいはインターネット）である。
【００１６】
本発明の特徴によれば、セットトップ端末３００は、ヘッドエンドサーバ２００から、権限情報を間欠的に受信する。権限情報は、与えられた期間（例えば、課金期間）に対して顧客が権限を有する番組に顧客がアクセスすることを可能にする。ここで、パッケージとは、あらかじめ規定された番組のセットであり、与えられた番組は１つまたは複数のパッケージに属する。番組とは、テレビジョンの１回分の作品や映画のような、特定の長さの連続的なマルチメディア送信情報である。権限情報は、当業者には明らかな適当に機密性のある一方向または双方向のプロトコルを用いて、ヘッドエンドサーバ２００からセットトップ端末３００にダウンロードすることができる。
【００１７】
番組鍵と番組識別子
以下で説明するように、送信される各番組は、ヘッドエンドサーバ２００によって、番組鍵ＫＰを用いて暗号化される。番組鍵ＫＰは、その番組に固有とすることが可能である。適当な暗号化およびセキュリティ技術についての詳細な説明は、Ｂ．  Ｓｃｈｎｅｉｅｒ，  Ａｐｐｌｉｅｄ  Ｃｒｙｐｔｏｇｒａｐｈｙ  （２ｎｄ  ｅｄ．  １９９７）、に記載されている。暗号化された番組を送信することに加えて、ヘッドエンドサーバ２００は、ｎビットの番組識別子ｐをセットトップ端末３００に送信する。番組識別子ｐは、以下で詳細に説明するように、セットトップ端末３００によって、番組を復号するのに必要な復号鍵を導出するために、記憶されている権限情報とともに用いられる。以下の「番組への番組識別子の割当て」と題するセクションで説明するように、番組識別子ｐは、任意に選択されるのではない。一実施例では、番組識別子ｐは、例えば、ＭＰＥＧ２標準で定義されるＥＣＭフィールドで送信される３２ビット値からなる。このようにして、顧客がある番組に対する権限を有する場合、セットトップ端末３００は、記憶されている受信した情報から番組鍵ＫＰを導出し、その後、その番組鍵ＫＰを用いて、暗号化された番組を復号することができる。
【００１８】
本発明のもう１つの特徴によれば、送信される番組を暗号化するのに用いられるｋビットの番組鍵ＫＰはそれぞれ、所定のｋビットのマスタ鍵ｍ１，．．．，ｍｎの線形結合である。各マスタ鍵ｍｉは、好ましくは、ｋ×ｎ行列Ｍの列としてヘッドエンドサーバ２００によって記憶される。なお、番組鍵ＫＰのビット長ｋは、番組識別子ｐのビット長ｎより大きくなければならない。一実施例では、番組鍵ＫＰのビット長は６４ビットまたは１２８ビットである。こうして、番組鍵ＫＰは、次式で示されるように、マスタ鍵Ｍのセットの線形結合である。
ＫＰ＝Ｍ・ｐ    （１）
【００１９】
このようにして、番組識別子ｐは、マスタ鍵行列Ｍ内のいずれの鍵が番組鍵ＫＰを生成する際に用いられるかを指示することによって、番組鍵マスクとして作用する。特定の番組識別子ｐ内のビットエントリｉが１にセットされている場合、マスタ鍵行列Ｍにおける対応するマスタ鍵ｍｉが、対応する番組に対する番組鍵ＫＰを生成する際に用いられる。
【００２０】
ヘッドエンドサーバ２００は、好ましくは、課金期間ごとに一度ずつ、行列Ｍに対する新しいマスタ鍵のセットを生成する。マスタ鍵行列Ｍはランダムに生成される。ただし、生成される番組鍵ＫＰが偶然に０になることのないように、マスタ鍵ｍｉは線形独立とする。換言すれば、いずれのマスタ鍵ｍｉも０となることはなく、また、他のマスタ鍵ｍｉの線形結合になることもない。なお、多くの従来の暗号化アルゴリズムは、暗号化鍵ＫＰが０であるとき、暗号化されていない、平文と同一の暗号文を生成する。従って、マスタ鍵ｍｉが線形独立である場合、生成される番組鍵ＫＰが偶然に０になることはなく、番組は、その番組に割り当てられた番組識別子ｐが意図的に０にセットされた場合（例えば、登録リストやテレビジョンネットワーク放送の場合）にのみ平文フォーマットで送信されることになる。なお、ｋはｎより大きいため、ｎ個の線形独立なｋビットマスタ鍵ｍｉを得ることは常に可能である。
【００２１】
なお、また、アプリケーションによっては、マスタ鍵ｍｉが線形独立であることが好ましくない場合もある。その理由は、ハッカーがこの知識を利用して、正当な権限なく番組ｐを復号しようとする際に試す必要のある、可能な復号試行数を少なくする可能性があるからである。このような場合には、番組を偶然に平文フォーマットで送信する小さい確率を許容することが好ましいこともある。
【００２２】
顧客が、１つまたは複数のパッケージを購入し、これらのパッケージは全部でｒ個の番組を含むとする。番組を暗号化するのに用いられる各番組鍵ＫＰはマスタ鍵のセットＭの線形結合であるため、顧客は、権限のあるｒ個の番組のそれぞれに対する番組鍵ＫＰを取得すれば、２ｒ個の番組に対する番組鍵ＫＰも容易に導出することができる。このように、システムは、情報を「漏らしている」ということもできる。その理由は、ｒ個の番組に対する番組鍵を有することにより、顧客は、２ｒ個の番組（平文の番組に対応する０という番組識別子ｐを有する番組を含む）の番組鍵を導出することが可能となるためである。換言すれば、顧客は、ｒ個の番組を購入すると、実際には、それらのｒ個の番組を含む番組の最小線形部分空間Ｕを得る。こうして、本発明のもう１つの特徴によれば、顧客が取得することが可能なパッケージの種類は、番組識別子の線形部分空間の形式のもののみである。さらに、番組鍵ＫＰはマスタ鍵Ｍの線形結合であるため、ある与えられたパッケージが任意個数の番組を有することはできない。特に、１つのパッケージは、ｎより小さいある値ｉに対して（２ｉ−１）個の番組からなる。もちろん、１つのパッケージに対応して、（２ｉ−１）個の番組識別子ｐのすべてが必ずしも番組に割り当てられる必要はない。
【００２３】
セットトップ端末の権限情報
こうして、顧客のセットトップ端末３００は、部分空間Ｕに属する番組ｐを復号する必要があるが、他の番組を復号する必要はない。既に述べたように、顧客は、番組のパッケージを購入すると、番組のｒ次元部分空間Ｕを得る。この部分空間Ｕは、部分空間Ｕを張る列ｂ１，．．．，ｂｒを有するｎ×ｒ基底行列Ｂによって表される。ここで、Ｕは、Ｂの列のすべての線形結合の集合であり、Ｂの次元はｒである。それぞれ番組識別子ｐによって識別される番組の部分空間Ｕを復号するために、セットトップ端末３００は、マスタ鍵行列Ｍから導出されるマスタ鍵の対応するサブセットを必要とする。こうして、セットトップ端末３００は、マスタ鍵のうち顧客が権限を有する導出部分を含む顧客鍵行列Ｋを有することになる。顧客鍵行列Ｋは、次式のように、顧客の番組の部分空間Ｕを表す基底行列Ｂをマスタ鍵行列Ｍに乗じることによって得られる。
Ｋ＝Ｍ・Ｂ    （２）
【００２４】
顧客鍵行列Ｋは、図８および図１１に関して後述するように、ヘッドエンドサーバ２００によって生成され、例えば課金期間ごとに一度ずつ、セットトップ端末３００に記憶するためにダウンロードされる。
【００２５】
既に述べたように、ヘッドエンドサーバ２００は、暗号化された番組とともに、番組識別子ｐを送信する。従って、与えられた番組識別子ｐに対して、セットトップ端末３００は、受信した番組を復号するために用いる番組鍵ＫＰを取得しなければならない。既に述べたように、番組鍵ＫＰは、式１により、マスタ鍵Ｍの線形結合である。セットトップ端末３００は、もちろん、マスタ鍵行列Ｍにアクセスすることはできない。したがって、番組鍵ＫＰは、顧客鍵行列Ｋ、および、受信した番組識別子ｐを用いて間接的に取得しなければならない。
【００２６】
番組鍵ＫＰに対する式１および式２を解くために、番組識別子ｐと基底行列Ｂの間の関係を求めなければならない。ＢはＵの基底であり、番組識別子ｐはＵの要素であるため、番組識別子ｐは、基底ベクトルの線形結合として書ける。換言すれば、次式を満たすようなｒ次元ベクトルｘが存在する。
ｐ＝Ｂ・ｘ    （３）
【００２７】
以下で説明するように、ｒ次元ベクトルｘに対して式３を解くことができる。こうして、式３を式１に代入することにより、番組鍵ＫＰは次のように表される。
ＫＰ＝Ｍ・Ｂ・ｘ    （４）
【００２８】
同様に、式２を式４に代入することにより、番組鍵ＫＰは次のように表される。
ＫＰ＝Ｋ・ｘ    （５）
【００２９】
こうして、セットトップ端末３００は、記憶されている顧客鍵行列Ｋが与えられると、番組鍵ＫＰを計算することができる。ｒ次元ベクトルｘは、以下で説明するようにして、記憶されている受信した情報から導出される。
【００３０】
既に述べたように、ｒ次元ベクトルｘに対して式３を解くことができる。図４のａは、式３に対応する線形方程式系の説明図である。すなわち、記憶されている基底行列Ｂ、および、受信した番組識別子ｐが与えられた場合、式３を、ｒ次元ベクトルｘに対して解かなければならない。なお、部分空間Ｕが、すべての番組からなる空間より小さい場合、次元ｒはｎより小さく、式３はｒ個の変数に対してｎ個の方程式で過剰定義されている。しかし、番組識別子ｐは部分空間Ｕの要素であるため、式３の解は存在しなければならない。
【００３１】
図４のａの四角で示されるように、基底行列Ｂが、基底行列Ｂのうち正則なｒ×ｒ小行列Ｂ′を形成する行ｉ１，．．．，ｉｒに制限されるとともに、番組識別子ｐが、ｒ次元ベクトルｐ′を形成する対応するエントリに制限されると、小さい方程式系に対応する式３は次式のように書ける。
ｐ′＝Ｂ′・ｘ    （６）
従って、ｘについて解くと、式６は次のように書ける。
ｘ＝（Ｂ′）−１・ｐ′    （７）
ただし、（Ｂ′）−１は、小行列Ｂ′のｒ×ｒ逆行列である。なお、逆行列（Ｂ′）−１は、好ましくは、課金期間ごとに一度ずつ、ヘッドエンドサーバ２００によってセットトップ端末３００にダウンロードされる。さらに、基底行列Ｂから逆行列（Ｂ′）−１を生成するのに必要なアクティブな行インデックスｉ１，．．．，ｉｒは、セットトップ端末３００が、受信した番組識別子ｐからｒ次元ベクトルｐ′を生成するのにも必要である。従って、アクティブな行インデックスｉ１，．．．，ｉｒは、好ましくは、ヘッドエンドサーバ２００によって、セットトップ端末３００に、他の権限情報とともにダウンロードされる。
【００３２】
こうして、セットトップ端末３００は、受信した番組識別子ｐからｒ次元ベクトルｐ′を導出し、記憶されているアクティブな行インデックスｉ１，．．．，ｉｒによって指示されるエントリを見ることによって、記憶されている逆行列（Ｂ′）−１から、ｒ次元ベクトルｘを計算することができる。その後、セットトップ端末３００は、式５に従って、記憶されている顧客鍵行列Ｋと、計算したｒ次元ベクトルｘを用いて、番組鍵ＫＰを計算することができる。
【００３３】
一実施例では、以下の「オプションの検査行列」と題するセクションで説明するように、セットトップ端末３００は、権限情報の一部として、検査行列Ｃも記憶する。検査行列Ｃにより、セットトップ端末３００は、復号手続き全体を完了せずに、受信した番組が権限のある部分空間Ｕに入るかどうかを前もって判定することができる。さらに、検査行列Ｃにより、セットトップ端末３００は、伝送エラーにより復号不能な番組と、部分空間Ｕの要素でないために復号不能な番組とを明確に区別することができる。さらに、セットトップ端末３００は、受信した番組が部分空間Ｕの要素ではないと判定した場合、顧客は現在の番組を見る権限がないというメッセージを表示することができる。
【００３４】
システムコンポーネント
図２は、例示的なヘッドエンドサーバ２００のアーキテクチャのブロック図である。ヘッドエンドは、暗号化された番組内容を送信するテレビジョンネットワーク、ケーブルオペレータ、ディジタル衛星サービスオペレータ、あるいは、サービスプロバイダに対応している。ヘッドエンドサーバ２００は、例えば、ＩＢＭ社製のＲＳ６０００サーバを、本発明の機能および動作を実行するように修正したものとして実現可能である。ヘッドエンドサーバ２００は、好ましくは、プロセッサ２１０、および、データ記憶装置２２０のような関連するメモリを有する。プロセッサ２１０は、単一のプロセッサとして、あるいは、並列に動作する複数のプロセッサとして実現される。データ記憶装置２２０、あるいは、読み出し専用メモリ（ＲＯＭ）は、プロセッサ２１０が取り出し、解釈し、実行することが可能な命令を記憶するように動作する。プロセッサ２１０は、好ましくは、周知のように、制御ユニット、算術論理ユニット（ＡＬＵ）、および、例えば命令キャッシュや複数のレジスタのようなローカルメモリ記憶装置を有する。制御ユニットは、データ記憶装置２２０あるいはＲＯＭから命令を取り出すように動作する。ＡＬＵは、命令を実行するのに必要な複数の演算を実行するように動作する。ローカルメモリ記憶装置は、一時的な結果および制御情報を記憶するために用いられる高速記憶領域を提供するように動作する。
【００３５】
上記のように、データ記憶装置２２０は、好ましくは、例えば課金期間ごとに一度ずつ更新されるマスタ鍵行列Ｍ２４０を有する。さらに、詳細は図５および図６に関して後述するように、データ記憶装置２２０は、好ましくは、番組データベース５００およびトピック階層６００を有する。番組データベース５００は、好ましくは、番組識別子ｐと、各番組に対応するパッケージを有する。図６に示す代表的なトピック階層６００は、好ましくは、ヘッドエンドサーバ２００によって、関連する内容の番組が低次元の線形部分空間に含まれるように番組を編成するために利用される。
【００３６】
さらに、詳細は図８、図９および図１１に関して後述するように、データ記憶装置２２０は、好ましくは、権限情報配信プロセス８００および番組配信プロセス９００を有する。一般に、権限情報配信プロセス８００は、各顧客が権限を有する番組にアクセスするために要求する権限情報を生成し配信する。さらに、番組配信プロセス９００は、好ましくは、番組を暗号化し番組識別子ｐとともに送信するために、番組に割り当てられた番組識別子ｐとマスタ鍵のセットＭに基づいて番組鍵ＫＰを導出する。
【００３７】
通信ポート２３０は、ヘッドエンドサーバ２００を配信ネットワーク１１０に接続することにより、ヘッドエンドサーバ２００を、図１のセットトップ端末３００のような接続された各受信機に接続する。
【００３８】
図３は、例示的なセットトップ端末３００のアーキテクチャのブロック図である。セットトップ端末３００は、例えば、ジェネラルインストルメンツ社から市販されているような、テレビジョン対応のセットトップ端末（ＳＴＴ）を、本発明の機能および動作を実行するように修正したものとして実現可能である。セットトップ端末３００は、好ましくは、プロセッサ３１０と、データ記憶装置３２０のような関連するメモリと、図２に関して既に説明したハードウェアと同様に動作する通信ポート３３０を有する。
【００３９】
詳細は図７に関して後述するように、データ記憶装置３２０は、好ましくは、権限データベース７００を有する。権限データベース７００は、好ましくは、データ記憶装置３２０の機密性の高い部分に記憶される。権限データベース７００は、好ましくは、顧客鍵行列Ｋ、逆行列（Ｂ′）−１、アクティブな行インデックスｉ１，．．．，ｉｒ、および、オプションとして、検査行列Ｃを有する。さらに、詳細は図１０に関して後述するように、データ記憶装置３２０は、好ましくは、復号プロセス１０００を有する。一般に、復号プロセス１０００は、受信した番組識別子ｐと、記憶している権限情報７００を用いて、番組鍵ＫＰを導出した後、その番組鍵ＫＰを用いて番組を復号することによって、顧客が権限を有する番組を復号する。
【００４０】
図５に、例示的な番組データベース５００を示す。番組データベース５００は、好ましくは、例えば与えられた課金期間中に、ヘッドエンドサーバ２００によって送信される各番組ｐに関する情報を記憶する。この情報には、その番組が属するパッケージと、対応する番組識別子ｐが含まれる。番組データベース５００は、レコード５０５〜５２０のような複数のレコードを保持する。各レコードは異なる番組に対応する。フィールド５２５の番組名によって識別される各番組ごとに、番組データベース５００は、フィールド５３０に、その番組が属する対応するパッケージの表示を有し、フィールド５３５に、対応する番組識別子ｐを有する。
【００４１】
図７に、例示的な権限データベース７００を示す。権限データベース７００は、好ましくは、顧客鍵行列Ｋ、逆行列（Ｂ′）−１、アクティブな行インデックスｉ１，．．．，ｉｒ、および、オプションとして、検査行列Ｃを有する。これらは、セットトップ端末３００が、ヘッドエンドサーバ２００から受信したものである。
【００４２】
番組への番組識別子の割当て
既に述べたように、本発明によれば、顧客は、番組のパッケージを購入すると、番組の部分空間Ｕを得る。従って、本発明を最大限に利用するためには、関連する内容の番組に割り当てられる番組識別子ｐが低次元の線形部分空間に含まれることを保証するように考慮しなければならない。すなわち、番組識別子ｐは、好ましくは、任意に選択されるのではない。例えば、ある与えられた顧客が、すべてスポーツ番組からなるパッケージを購入したい場合、もし番組識別子ｐがランダムに割り当てられているとしたら、その顧客はすべての番組にアクセスすることができなければならないであろう。このようなパッケージの価格は非常に高くなるし、そのうえ、例えば成人向け内容のような不要な番組をその顧客に提供する可能性があるため、これは好ましくない。
【００４３】
一般に、番組は、図６に示すように、主題、年齢、言語、格付けあるいは出所のような属性に従って、トピック階層６００に編成することができる。トピック階層６００の最上位レベルは非常に広いトピックからなり、これは、葉において個々の番組に達するまで、適当にレベルを下がるにつれて細分化される。階層６００は、平衡である必要はない。換言すれば、あるトピックは多くのサブトピックを有し、別のトピックは少ないサブトピックを有するということが可能である。こうして、番組は、トピック階層のさまざまな深さに位置することが可能である。
【００４４】
番組識別子ｐは、プレフィクス（接頭辞）マスクの概念を用いて、トピック階層６００内の番組に割り当てられる。同じ枝に位置する番組の番組識別子ｐは、同じプレフィクス（上位ビット）を共有するように割り当てられる。図６に、代表的なこのようなトピック階層６００を示す。プレフィクスマスクは、根から葉に向かってトピックにラベルづけすることによって、トピック階層６００内の節点に再帰的に割り当てられる。あらゆるトピックのプレフィクスマスクのラベルは、その親のマスクに連接されている。図６に示す十進数値はマスク値を表す。さらに、トピック階層の各レベルに対するマスク長は、図６の角括弧内に表されている。例えば、サブトピック「プロバスケットボール」の下の番組に対するプレフィクスマスクは「１０  ０００１０  ０１」である。
【００４５】
なお、プレフィクスマスクが「１０  ０００１０  ０１」に等しい番組識別子ｐを有するプロバスケットボール番組の集まりは、線形部分空間ではない。線形部分空間を得るためには、「００  ０００００  ００」に等しいプレフィクスマスクを含めなければならない。従って、顧客は、プレフィクスマスクが「００  ０００００  ００」の番組識別子ｐを有するすべてのボーナス番組にアクセスすることができる。さらに、プレフィクスマスクがｌビット長である場合、部分空間の次元ｒはｎ−ｌ＋１である。権限情報７００が、顧客によって選択された番組のパッケージに基づいて権限情報配信プロセス８００によってトピック階層６００から生成される方法は図８に関して以下で説明する。
【００４６】
選択されたプレフィクスマスクからの基底行列の計算
上記のように、ヘッドエンドサーバ２００は、図８の権限情報配信プロセス８００を実行して、各顧客が権限を有する番組にアクセスするのに必要な権限情報７００を生成し配信する。既に述べたように、権限情報７００は、好ましくは、顧客鍵行列Ｋ、逆行列（Ｂ′）−１、アクティブな行インデックスｉ１，．．．，ｉｒ、および、オプションとして、検査行列Ｃを有する。権限情報７００の各成分は、基底行列Ｂから導出される。特に、顧客鍵行列Ｋは、式２に従って、マスタ鍵行列Ｍと基底行列Ｂを用いて得られる。逆行列（Ｂ′）−１、アクティブな行インデックスｉ１，．．．，ｉｒは、基底行列Ｂから直接に得られる。検査行列Ｃは、後述のように、式１３に従って基底行列Ｂから得られる。従って、権限情報配信プロセス８００は、まず、顧客が選択したパッケージに基づいて基底行列Ｂを計算しなければならない。また、このパッケージは、トピック階層６００からの、番組のトピックからなる。
【００４７】
従って、まず、ステップ８１０で、権限情報配信プロセス８００は、顧客によって選択された番組を含む番組のトピックを識別する。例えば、顧客が、トピック階層６００内の特定のトピックからなるパッケージを選択した場合、選択された番組は、そのトピックに割り当てられている同じプレフィクスマスクを共有する。既に述べたように、ｌビットのプレフィクスマスクを共有する特定のトピック内の番組の集まりは線形部分空間ではない。線形部分空間を得るためには、「０」に等しいｌビット長のプレフィクスマスクを含めなければならない。従って、顧客は、ｌビットのプレフィクスマスクが「０」の番組識別子ｐを有するすべてのボーナス番組へのアクセスも得る。このようにして、顧客は、ボーナス拡張パッケージへのアクセスを得ることになる。
【００４８】
こうして、選択されたトピックが識別されると、ステップ８２０で、権限情報配信プロセス８００は、各トピックに対するプレフィクスマスクμと、各プレフィクスマスクの長さｌを識別する。ステップ８３０で、０でないｍビットの各マスクμに対して、対応する基底ベクトルのセットＢμを、次式に従って計算する。
Ｂμ＝｛ｚ，ｅｌ＋１，．．．，ｅｎ｝    （８）
ただし、ｅｌ＋１，．．．，ｅｎは標準基底を表し、ｅｉは、第ｉ成分がビット１であり、可能化ベクトルｚは、プレフィクスとしてマスクμを有し、その後に（ｎ−ｌ）個のビット０が続く。「プロバスケットボール」トピックに対してステップ８３０で計算される基底ベクトルのセットＢμを図１１に示す。
【００４９】
ステップ８４０で、選択されたすべてのトピックに対する基底ベクトルの合成セットＢは、線形方程式のセットを用いて、基底ベクトルのすべてのセットＢμの結びから、既に基底ベクトルの合成セットＢ内にあるすべてのベクトルと独立な次のベクトルを反復的に含めることによって、生成される。このようにして生成される基底ベクトルの合成セットＢは、明らかに、要求されたトピックに属するすべての番組を張る。
【００５０】
次に、ステップ８５０で、基底ベクトルの合成セットＢは、ベクトルｚ，ｅｌ＋１，．．．，ｅｎのそれぞれを列として用いて、対応する（ｎ−ｌ＋１）次の基底行列Ｂに変換される。その後、ステップ８６０で、権限情報配信プロセス８００は、顧客鍵行列Ｋ、逆行列（Ｂ′）−１、アクティブな行インデックスｉ１，．．．，ｉｒ、および、オプションとして、検査行列Ｃを有する権限情報７００を生成する。この権限情報７００は、顧客が権限を有する番組を復号するのに必要なものである。最後に、生成された権限情報は、ステップ８７０で、ヘッドエンドサーバ２００によって、セットトップ端末３００にダウンロードされた後、ステップ８８０で、プログラム制御は終了する。
【００５１】
なお、一般に、線形空間の結びは線形空間ではない。従って、計算された基底ベクトルの合成セットＢは、要求されたすべてのトピックと、ボーナス階層の一部とともに、トピック階層のうちの他の要求されなかった部分を含む線形部分空間の基底である。従って、システムは、好ましくは、すべての副作用により実際にアクセス可能となる番組の部分空間を計算する。
【００５２】
上記のように、ヘッドエンドサーバ２００は、好ましくは、番組を暗号化し番組識別子ｐとともに送信するために、図９の番組配信プロセス９００を実行して、番組に割り当てられた番組識別子ｐとマスタ鍵のセットＭに基づいて番組鍵ＫＰを導出する。なお、番組配信プロセス９００は、実際の送信ステップ以外は、オフラインで、あるいは、実時間で実行されることが可能である。図９に示すように、番組配信プロセス９００は、まず、ステップ９１０で、送信されるべき番組を識別することから、本発明の原理を実現するプロセスを開始する。
【００５３】
その後、ステップ９２０で、番組配信プロセス９００は、番組データベース５００から、その番組に対応する番組識別子ｐを取り出し、ステップ９３０で、式１に従って、その番組に対応する番組鍵ＫＰを計算する。次に、ステップ９４０で、番組は、前のステップで計算された番組鍵ＫＰで暗号化される。最後に、ステップ９５０で、番組配信プロセス９００は、暗号化された番組を、番組識別子ｐとともに送信した後、ステップ９６０で、プログラム制御を終了する。なお、番組識別子ｐは、好ましくは、番組情報の送信中に定期的にインタリーブされる。これにより、顧客は、番組中にチャネルを変えた場合に、番組を復号するのに必要な番組鍵ＫＰを導出することが可能となる。代替実施例として、番組識別子ｐは、バーカーチャネルのような、別個の制御チャネルで連続的に送信されることも可能である。
【００５４】
上記のように、セットトップ端末３００は、好ましくは、図１０の復号プロセス１０００を実行して、顧客が権限を有する番組を復号する。これは、受信した番組識別子ｐと、記憶されている権限情報７００を用いて、番組鍵ＫＰを導出した後、その番組鍵ＫＰを用いて番組を復号することにより行われる。図１０に示すように、復号プロセス１０００は、ステップ１０１０で、特定のチャネルを選択する顧客の命令を受け取るところから、本発明の原理を実現するプロセスを開始する。
【００５５】
その後、ステップ１０２０で、セットトップ端末３００は、暗号化された番組および送信されてきた番組識別子ｐを含む適当な信号を受信する。次に、ステップ１０３０で、復号プロセス１０００は、権限データベース７００から、記憶されている権限情報を取得する。ステップ１０４０で、アクティブなインデックスを用いて、受信した番組識別子ｐからｐ′を生成する。次に、ステップ１０５０で、式７に従ってベクトルｘを計算した後、ステップ１０６０で、式５に従って番組鍵ＫＰを計算する。
【００５６】
最後に、ステップ１０７０で、導出した番組鍵ＫＰを用いて番組を復号した後、ステップ１０８０で、プログラム制御は終了する。なお、受信された番組が権限のある部分空間Ｕの一部でない場合、ステップ１０５０に対する解は存在せず、ステップ１０５０で計算されるベクトルｘは妥当な解ではない。この場合、復号プロセス１０００は、受信された番組に対する正しくない番組鍵ＫＰを生成するが、これは実際には、顧客の部分空間Ｕ内の別の番組に対する番組鍵ＫＰに対応しているため、復号プロセス１０００は、顧客が権限を有しない番組鍵ＫＰを生成することはない。
【００５７】
なお、復号プロセス１０００は、復号鍵を導出しようとする前に、顧客が特定のチャネルを要求するのを待機し、要求されたチャネルに対して顧客が権限があるかどうかを判定することも可能であり、あるいは、復号プロセス１０００は、データ記憶装置３２０に記憶される復号鍵を導出して顧客の権限をあらかじめ判定しておくために、定期的にすべてのチャネルを走査して、送信された番組識別子ｐを取得することも可能である。
【００５８】
別の権限情報
別の実施例として、ヘッドエンドサーバ２００は、変形基底行列Ｂ″を導入することによって、顧客鍵行列Ｋ、逆行列（Ｂ′）−１、およびアクティブな行インデックスｉ１，．．．，ｉｒを含む単一の行列Ｄの形式でセットトップ端末３００に権限情報を提供することも可能である。図４のｂに示すように、行列Ｂ″は、ｒ×ｎ行列として定義される。そのアクティブなインデックスの列ｉ１，．．．，ｉｒは、逆行列（Ｂ′）−１の列を含み、他のすべての成分は０である。Ｂ″の０でない部分と、対応するｐのエントリを図４のｂでは四角で示す。この代替実施例では、行列Ｄは次のように定義される。
Ｄ＝Ｍ・Ｂ・Ｂ″    （９）
【００５９】
さらに、ベクトルｘは、次のように表される。
ｘ＝Ｂ″・ｐ    （１０）
【００６０】
行列Ｄは、復号プロセス１０００が番組鍵ＫＰを計算するのに必要な唯一の権限情報である。行列Ｄを作成するために、ヘッドエンドサーバ２００は、顧客によって選択されたパッケージに基づいて、基底行列Ｂを利用して、逆行列（Ｂ′）−１を計算し、この逆行列を拡張してＢ″を形成した後、式９に従ってマスタ鍵行列Ｍを利用する。
【００６１】
式１０を式４に代入することにより、番組鍵ＫＰは次のように表される。
ＫＰ＝Ｍ・Ｂ・Ｂ″・ｐ    （１１）
【００６２】
ステップ１０６０で復号プロセス１０００によって実行される番組鍵ＫＰの計算は、式９を用いると、さらに次のように単純化される。
ＫＰ＝Ｄ・ｐ    （１２）
【００６３】
オプションの検査行列
既に述べたように、セットトップ端末３００は、オプションとして、権限情報７００の一部として検査行列Ｃを受信する。検査行列Ｃにより、セットトップ端末３００は、復号プロセス１０００の全体を完了せずに、受信した番組が権限のある部分空間Ｕに入るかどうかを前もって判定することができる。さらに、検査行列Ｃにより、セットトップ端末３００は、伝送エラーにより復号不能な番組と、部分空間Ｕの要素でないために復号不能な番組とを明確に区別することができる。さらに、セットトップ端末３００は、受信した番組が部分空間Ｕの要素ではないと判定した場合、顧客は現在の番組を見る権限がないことを示すメッセージを表示すること、あるいはその他のフィードバックを提供することができる。ｎ×ｎの検査行列Ｃは次のように定義される。
Ｃ＝Ｂ・Ｂ″−Ｉ    （１３）
ただし、Ｉはｎ次単位行列である。
【００６４】
従って、与えられた番組識別子ｐを有する受信した番組は、Ｃ・ｐ＝０である場合に限り、顧客の部分空間Ｕの要素である。なお、顧客の権限のある部分空間Ｕが、すべての番組からなるセットである場合、任意の基底行列はそれ自体ｎ次元正則行列であるため、Ｂ″＝Ｂ−１であり、Ｂ・Ｂ″＝Ｉとなる。従って、検査行列Ｃは０となり、上記の検査は常に合格する。
【００６５】
【発明の効果】
以上述べたごとく、本発明によれば、番組を暗号化するのに用いた固有の鍵とともに、その固有の鍵で暗号化された番組を送信するシステムが実現される。サービスプロバイダが各パッケージごとに番組を再送信することを必要とせずに、サービスプロバイダが番組を複数のパッケージに含めることが可能となる。さらに、送信される番組内容に伴うオーバーヘッドをあまり増大させることなく、セットトップ端末の機密メモリ制限を克服するアクセス制御システムが実現される。
【図面の簡単な説明】
【図１】本発明の一実施例に従って、暗号化された番組内容を送信するシステムの概略ブロック図である。
【図２】図１の例示的なヘッドエンドサーバの概略ブロック図である。
【図３】図１の例示的なセットトップ端末の概略ブロック図である。
【図４】図３のセットトップ端末によって記憶される権限情報を取得するために用いられる線形方程式系の説明図である。
【図５】図２の番組データベースからのサンプルテーブルの図である。
【図６】関連する内容の番組が低次元の線形部分空間に含まれるように番組を編成するために図２のヘッドエンドサーバによって用いられる代表的なトピック階層の説明図である。
【図７】図３の権限データベースからのサンプルテーブルの図である。
【図８】図２のヘッドエンドサーバによって実行される例示的な権限情報配信プロセスの流れ図である。
【図９】図２のヘッドエンドサーバによって実行される例示的な番組配信プロセスの流れ図である。
【図１０】図３のセットトップ端末によって実行される例示的な復号プロセスの流れ図である。
【図１１】「プロバスケットボール」トピックに対して図８のステップ８３０で計算される基底ベクトルのセットＢμを示す図である。
【符号の説明】
１１０  配信ネットワーク
２００  ヘッドエンドサーバ
２１０  プロセッサ
２２０  データ記憶装置
２３０  通信ポート
２４０  マスタ鍵行列Ｍ
３００  セットトップ端末
３０１  セットトップ端末
３１０  プロセッサ
３２０  データ記憶装置
３３０  通信ポート
５００  番組データベース
６００  トピック階層
７００  権限データベース
８００  権限情報配信プロセス
９００  番組配信プロセス
１０００  復号プロセス
【図１】
0003631617.tif 000002
【図２】
0003631617.tif 000003
【図３】
0003631617.tif 000004
【図４】
0003631617.tif 000005
【図５】
0003631617.tif 000006
【図６】
0003631617.tif 000007
【図７】
0003631617.tif 000008
【図８】
0003631617.tif 000009
【図９】
0003631617.tif 000010
【図１０】
0003631617.tif 000011
【図１１】
0003631617.tif 000012