(57)【特許請求の範囲】
【請求項１】
ＭＰＥＧテーブルを受信するステップであって、ダウンロードされるデータに対するシグネチャを生成すること、データブロックの開始位置と前記シグネチャの開始位置の間に設けられるオフセットとともに、前記シグネチャ及び他のデータを前記データブロックに含めること、前記データブロックを専用鍵を使用して暗号化すること、及び前記ダウンロードされたデータおよび前記暗号化されたデータブロックを含むディレクトリテーブルを構成することによって、前記ＭＰＥＧテーブルは生成され、ダウンロードされるアプリケーションは前記ＭＰＥＧテーブルで構成されるモジュールの１つ以上で構成されるところのステップと、
受信したＭＰＥＧテーブルの前記暗号化されたデータブロックを前記専用鍵に対応する公開鍵を使用して暗号解読するステップと、
デコーダを備えた受信機のメモリの保護領域に記憶されたオフセットの中から、シグネチャが埋め込まれている位置を検出するのに使用される少なくとも１つのオフセットを検索するステップと、
前記暗号解読されたデータブロックの開始位置からの前記検索されたオフセットを使用して、前記暗号解読されたデータブロックからシグネチャを抽出するステップと、
前記受信したＭＰＥＧテーブルのデータに対するシグネチャを生成するステップと、
前記暗号解読されたデータブロックから抽出されたシグネチャと前記受信したデータに対して前記デコーダを備えた受信機で生成されたシグネチャとを比較するステップとを含むことを特徴とする、デコーダを備えた受信機にデータをダウンロードする方法。
【請求項２】
前記メモリの保護領域に少なくとも２つのオフセットが記憶され、
前記比較するステップにおいて、前記抽出されたシグネチャおよび前記生成されたシグネチャが一致しなかった場合、記憶されたオフセットの中の他のものを使用して前記検索するステップ、抽出するステップ、および比較するステップを繰り返すステップを更に含むことを特徴とする請求項１記載の方法。
【請求項３】
前記データブロックの前記他のデータの少なくともいくつかがダミーデータあるいは任意のデータであることを特徴とする請求項１又は２に記載の方法。
【請求項４】
請求項１に記載の方法によりダウンロードされるデータを受信するデコーダを備えたＭＰＥＧ受信機であって、
ＭＰＥＧテーブルを受信する手段と、
公開鍵および前記公開鍵に対するＩＤを記憶する手段と、
少なくとも１つのオフセットを記憶するメモリの保護領域と、
受信したＭＰＥＧテーブルの前記暗号化されたデータブロックを前記専用鍵に対応する記憶された公開鍵を使用して暗号解読し、前記メモリの保護領域に記憶されたオフセットを検索し、暗号解読されたデータブロックからの前記シグネチャを、前記検索されたオフセットを使用して前記暗号解読されたデータブロックの開始位置から抽出し、前記受信したＭＰＥＧテーブルの前記データに対するシグネチャを生成し、かつ前記暗号解読されたデータブロックから抽出された前記シグネチャと前記受信されたデータに対して当該ＭＰＥＧ受信機で生成された前記シグネチャとを比較するようにプログラム化されている処理手段とを備えていることを特徴とするデコーダを備えたＭＰＥＧ受信機。
【請求項５】
少なくとも２つのオフセットが前記メモリの保護領域に記憶され、
前記抽出されたシグネチャおよび前記生成されたシグネチャが一致しなかった場合、記憶されたオフセットの中の他のものを使用して前記検索、抽出および比較を繰り返すように機能することを特徴とする請求項４に記載のＭＰＥＧ受信機。
【請求項６】
前記オフセットを記憶するメモリが再書き込み可能不揮発性メモリによって提供されることを特徴とする請求項４又は５に記載のＭＰＥＧ受信機。
【請求項７】
暗号解読されたシグネチャおよび生成されたシグネチャが互いに一致しなかった場合、前記処理手段が、前記データのダウンロードを禁止するかあるいは打ち切るようにプログラム化されていることを特徴とする請求項４乃至６のいずれかに記載のＭＰＥＧ受信機。
【発明の詳細な説明】
この発明は、
・ＭＰＥＧ受信機／デコーダにデータをダウンロードする方法、
・このようなＭＰＥＧ受信機／デコーダそれ自体、および
・ＭＰＥＧ伝送システムに関するものである。
主にテレビジョン信号を放送する向きのディジタル伝送システムの出現であるが、特に排他的でない衛星テレビジョンシステムの出現は、他の目的のためのこのようなシステムを使用する可能性を切り開いた。これらの中の１つはエンドユーザとの対話性を与えることにある。
これを行う１つの目的は、テレビジョン信号が受信される受信機／デコーダのアプリケーションを実行することにある。このアプリケーションのためのコードは受信機／デコーダに永久的に記憶できる。しかしながら、これはある程度制限がある。好ましくは、受信機／デコーダは必要とされるアプリケーションのためのコードをダウンロードできるべきである。このように、より多くの多様性を生じることができ、アプリケーションはユーザの一部に少しの影響もなしに必要に応じて更新できる。
ＭＰＥＧシステムでは、アプリケーションコードはＭＰＥＧテーブルにダウンロードされてもよい。しかしながら、単一のＭＰＥＧテーブルによってダウンロードできる１つのコードのサイズに対する制限がある。さらに、全アプリケーションが、実行できる前にダウンロードされることが必要とされるならば、これはユーザに許容できない遅延を生じるかもしれない。したがって、アプリケーションを複数のモジュールとしてダウンロードできる要求がある。しかしながら、これは、そのとき、特定のアプリケーションに必要とされるモジュールをＭＰＥＧビットストリームから識別し、抽出できる問題を生じる。本発明の第１の態様はこの問題に関するものである。
本発明の第１の態様によれば、アプリケーションを複数のモジュールに分割するステップと、モジュールのフォーマットの各々をそれぞれのＭＰＥＧテーブルとしてフォーマット化するステップであって、テーブルが同じテーブルＩＤ（“ＴＩＤ”）および所定のＴＩＤ拡張以外のそれぞれの異なるＩＤ拡張を有することと、同じ前記ＴＩＤおよび前記所定のＴＩＤ拡張を有するモジュールに対するディレクトリＭＰＥＧテーブルを生成するステップであって、前記ディレクトリが、前記モジュールの各々に対してこのモジュールの名前およびそれぞれのＴＩＤ拡張を含むことと、ディレクトリＭＰＥＧテーブルおよびモジュールＭＰＥＧテーブルをＭＰＥＧビットストリームで周期的に伝送するステップと、かつＭＰＥＧ受信機／デコーダで、ＭＰＥＧビットストリームを受信するステップと、ディレクトリＭＰＥＧテーブルをダウンロードするように所定のＴＩＤ拡張を有するＭＰＥＧテーブルの中のこの１つをダウンロードするステップと、ディレクトリテーブルの内容からモジュールＭＰＥＧテーブルのＴＩＤ拡張を決定するステップと、ダウンロードされたディレクトリＭＰＥＧテーブルのＴＩＤと同じＴＩＤおよびダウンロードされたディレクトリＭＰＥＧテーブルから決定されたＴＩＤ拡張を有するモジュールＭＰＥＧテーブルの中の少なくとも１つをダウンロードするステップとを含む、アプリケーションの少なくとも一部をＭＰＥＧ受信機／デコーダにダウンロードする方法が提供される。
したがって、アプリケーションがダウンロードでき、多数のモジュールで構成され、必要に応じて適当に実行される。ディレクトリは、特定のＴＩＤ拡張を有しているために容易に識別でき、一旦ディレクトリがダウンロードされると、ディレクトリによって、受信機／デコーダはモジュールテーブルをそのそれぞれのＴＩＤ拡張から識別できる。
好ましくは、この方法は、そのためのバージョンＩＤを伝送ディレクトリＭＰＥＧテーブルに含めるステップと、受信機／デコーダで現在は伝送されたディレクトリＰＭＴ  ＭＰＥＧテーブルのバージョンＩＤが現在はダウンロードされたディレクトリＭＰＥＧテーブルのバージョンＩＤよりも最新であるかどうかを決定するステップと、最新であるならば、前記ディレクトリＭＰＥＧテーブルをダウンロードするステップを繰り返すステップと、ＴＩＤ拡張を決定し、かつモジュールＭＰＥＧテーブルの中の少なくとも１つをダウンロードするステップをさらに含む。
したがって、万一アプリケーションが変更されるならば、これは自動的に検出でき、更新ディレクトリおよび任意の更新モジュールがダウンロードできる。
モジュールＭＰＥＧテーブルの少なくとも１つは、ＭＰＥＧビットストリームで別々に伝送される複数のＭＰＥＧセクションとしてフォーマット化されてもよく、ＭＰＥＧセクションの各々が、その所定の部分にＭＰＥＧテーブルのこのＭＰＥＧセクションのＩＤおよびＭＰＥＧテーブルのセクション番号のＩＤを含む。本発明の第２の態様によれば、ＭＰＥＧビットストリームを受信する受信機と、記憶手段と、所定のＴＩＤ拡張を有する受信ＭＰＥＧテーブルの中のこの１つを記憶手段にダウンロードし、ディレクトリＭＰＥＧテーブルの内容からモジュールおよびＭＰＥＧテーブルのＴＩＤ拡張を決定し、かつダウンロードされたディレクトリＭＰＥＧテーブルのＴＩＤと同じＴＩＤおよびダウンロードされたディレクトリＭＰＥＧテーブルから決定されたＴＩＤ拡張を有するモジュールＭＰＥＧテーブルの中の少なくとも１つを記憶手段にダウンロードするようにプログラム化されている処理手段とを備える、本発明の第１の態様の方法の一部を実行する際に使用するためのＭＰＥＧ受信機／デコーダが提供される。
好ましくは、処理手段は、現在は受信されたディレクトリＭＰＥＧテーブルのバージョンＩＤがダウンロードされたディレクトリＭＰＥＧテーブルのバージョンＩＤよりも最新であるかどうかを決定し、最新であるならば、ディレクトリＭＰＥＧテーブルのダウンロード、ＴＩＤの決定およびモジュールＭＰＥＧテーブルの少なくとも１つのダウンロードを繰り返すようにプログラム化される。
受信機／デコーダが複数の別々に伝送されたセクションとしてフォーマット化されるモジュールテーブルの少なくとも１つを受信するように構成される場合、処理手段は、好ましくは、セクションの全てがダウンロードされたことをダウンロードされたセクションのセクションＩＤおよびセクション番号ＩＤから決定するまでＭＰＥＧセクションを記憶手段に繰り返してダウンロードするようにプログラム化される。
好ましくは、受信機／デコーダは、少なくともＭＰＥＧテーブルとして形成されるフォーマット化されるアプリケーションを受信するように構成された並列ポートおよび／または直列ポートをさらに備え、この場合、短いＭＰＥＧ-２フォーマットは、例えば、衛星あるいはケーブルによって、使用されるのが好ましいのに対して、長いＭＰＥＧ-２フォーマットは、遠隔受信のために使用されるのが好ましい。
これは、アプリケーションが衛星テレビジョンシステムにわたって伝送される必要がない場合、アプリケーションはダウンロードできるので、製造者が受信機／デコーダの特定の機能を検査したい場合に特に有用である。
本発明の第３の態様によれば、ＭＰＥＧ受信機／デコーダにダウンロードされるアプリケーションを複数のモジュールに分割する手段と、モジュールの各々をそれぞれのＭＰＥＧテーブルとしてフォーマット化するステップであって、テーブルが、同じＴＩＤおよび所定のＴＩＤ拡張以外のそれぞれの異なるＴＩＤ拡張を有することと、同じ前記ＴＩＤおよび前記所定のＴＩＤ拡張を有するモデルに対するディレクトリＭＰＥＧテーブルを生成する手段であって、前記ディレクトリが、モジュールの各々に対してこのモジュールおよびそれぞれのＴＩＤ拡張を含むことと、ディレクトリＭＰＥＧテーブルおよびモジュールＭＰＥＧテーブルをＭＰＥＧビットストリームで周期的に伝送する手段とを備えているＭＰＥＧ伝送システムが提供される。
好ましくは、このシステムは、ディレクトリＭＰＥＧテーブルのためのバージョンＩＤを生成する手段をさらに備え、かつこのシステムにおいて、ディレクトリＭＰＥＧテーブル生成手段がディレクトリＭＰＥＧテーブルにそのために生成されたバージョンＩＤを含むように作動可能である。
このモジュールフォーマット化手段は、モジュールＭＰＥＧテーブルの少なくとも１つを複数のＭＰＥＧセクションとしてフォーマット化するように作動可能であってもよく、複数のＭＰＥＧセクションの各々は、その所定の部分にこのＭＰＥＧテーブルのこのＭＰＥＧセクションのＩＤおよびこのＭＰＥＧテーブルのＭＰＥＧセクション番号のＩＤを含む。
望ましいことには、受信機／デコーダは、例えば、ウィルスを含み得る不許可アプリケーションのダウンロードから保護されるべきである。したがって、アプリケーションコードの少なくとも一部の暗号化およびサインの概念が熟慮されてもよい。
本発明の第４の態様によれば、ダウンロードされたデータのためのシグネチャ生成するステップと、専用鍵を使用してシグネチャを暗号化するステップと、ダウンロードされたデータ、専用鍵のための暗号化シグネチャおよびＩＤをＭＰＥＧテーブルとしてフォーマット化するステップと、かつ受信機／デコーダで、ＭＰＥＧテーブルを受信するステップと、受信ＭＰＥＧテーブルの鍵ＩＤに従って複数の専用鍵の中の１つを選択するステップと、選択された専用鍵を使用して受信ＭＰＥＧテーブルの暗号化シグネチャを暗号解読し、暗号解読されたシグネチャを提供するステップと、受信されたＭＰＥＧテーブルのデータに対するシグネチャを生成するステップと、暗号解読されたシグネチャと受信されたデータに対して受信機／デコーダで発生されたシグネチャとを比較するステップとを含む、データをＭＰＥＧ受信機／デコーダにダウンロードする方法が提供される。
したがって、受信機／デコーダは、各々の他の専用鍵を知る必要があるソースなしに１つ以上のソースからの暗号化シグネチャを有するアプリケーションをダウンロードするために使用されてもよい。
この方法は、所定の鍵ＩＤを有する専用鍵を使用して暗号化されたシグネチャを有するアプリケーションを受信機／デコーダにダウンロードするステップと、受信機／デコーダでアプリケーションを実行し、受信機／デコーダに他の鍵を受信させるステップと、受信機／デコーダの揮発性メモリの領域に他の鍵を記憶するステップとをさらに含んでもよい。この場合、アプリケーションを実行するステップ中、他の鍵は、例えば、受信機／デコーダの並列ポート、直列ポートあるいはスマートカード読み取り器を介して受信機／デコーダに局部的に供給されてもよい。受信機／デコーダがモデム接続を有する場合、受信機／デコーダは、モデムを介して供給されるこのような他の鍵を防止するように構成されるのが好ましい。
これらの特徴によって、受信機／デコーダを検査することを望むかもしれない製造者は鍵を受信機／デコーダにダウンロードできる。
この方法は、受信機／デコーダで、受信機／デコーダのメモリの保護領域において、選択された公開鍵のためのバリデーションフラグを検索するステップと、検索フラグが設定されない場合、データのダウンロードを禁止するかあるいは打ち切るステップをさらに含んでもよい。
したがって、複数の公開鍵は受信機／デコーダのメモリに永久的に装備されてもよいけれども、例えば、特定の公開鍵に関連する専用鍵のプライバシが破られる場合、あるいは同じ鍵を使用した２つのオペレータが別個の鍵を持つことを望むと決定する場合に必要であるかもしれない公開鍵のいずれも選択的に使用禁止にできる。
受信機／デコーダが、受信機／デコーダのメモリの保護領域において前述のような所定の鍵ＩＤを有する専用鍵を使用して暗号化されたシグネチャを有するアプリケーションをダウンロードするように構成された場合では、所定の鍵を有する専用鍵は、前記アプリケーションによって変更できるバリデーションフラグを有してもよく、このような他の鍵を受信する能力は、このバリデーションフラグの状態に応じて決定される。
公開鍵に対するこれらの後者の機能は、本発明の第４の態様とは無関係に提供されてもよい。したがって、本発明の第５の態様は、ダウンロードされたデータに対するシグネチャを生成するステップと、専用鍵を使用してシグネチャを暗号化するステップと、ダウンロードされたデータ、暗号化シグネチャおよび専用鍵に対するＩＤをＭＰＥＧテーブルとしてフォーマット化するステップと、ＭＰＥＧテーブルを伝送するステップと、かつ受信機／デコーダで、ＭＰＥＧテーブルを受信するステップと、受信機／デコーダのメモリの保護領域において、受信されたＭＰＥＧテーブルで識別された専用鍵に対応する公開鍵に対するバリデーションフラグを検索するステップと、検索フラグが設定された場合、受信されたＭＰＥＧテーブルに識別された専用鍵に対応する公開鍵を使用して受信されたＭＰＥＧテーブルで暗号化シグネチャを暗号解読し、暗号解読されたシグネチャを与えるステップと、受信されたＭＰＥＧテーブルのデータに対するシグネチャを生成するステップと、暗号解読されたシグネチャおよび受信されたデータに対する受信機／デコーダで生成されたシグネチャを比較するステップとを含む、データをＭＰＥＧ受信機／デコーダにダウンロードする方法を提供する。
本発明の第４および第５の態様の方法は、好ましくは、ダウンロードされたデータに対するバリデーションコードを生成するステップであって、バリデーションコードが、暗号化ステップでシグネチャでシグネチャで暗号化され、かつ暗号解読ステップでシグネチャで暗号解読されていることと、受信機／デコーダのメモリの保護領域に記憶されたバリデーションコードを検索するステップと、検索されたバリデーションコードおよび暗号解された読バリデーションコードを比較するステップをさらに含む。
したがって、受信機／デコーダは、所定のアプリケーションあるいは所定の種類のアプリケーションだけを受信するように設定することができる。
これらの特徴は、本発明の第４および第５の態様とは無関係に提供されてもよい。したがって、本発明の第６の態様は、ダウンロードされたデータに対するバリデーションコードを生成するステップと、ダウンロードされたデータに対するシグネチャあるいはその一部を生成するステップと、専用鍵を使用してバリデーションコードおよびシグネチャを暗号化するステップと、ダウンロードされたデータおよび暗号化バリデーションコードならびにシグネチャを少なくとも１つのＭＰＥＧテーブルとしてフォーマット化するステップと、前記ＭＰＥＧテーブルあるいは各ＭＰＥＧテーブルを伝送するステップと、かつ受信機／デコーダで、前記ＭＰＥＧテーブルあるいは各ＭＰＥＧテーブルを受信するステップと、前記専用鍵に対応する公開鍵を使用して受信ＭＰＥＧテーブルの暗号化されたバリデーションコードおよびシグネチャを暗号解読するステップと、受信機／デコーダのメモリの保護領域で記憶されたバリデーションコードを検索するステップと、検索されたバリデーションコードおよび暗号解読されたコードを比較するステップと、受信されたＭＰＥＧテーブルのデータに対するシグネチャあるいはその一部を生成するステップと、暗号解読されたシグネチャと受信されたデータに対する受信機／デコーダで生成されるシグネチャとを比較するステップとを含む、データをＭＰＥＧ受信機／デコーダにダウンロードする方法を提供する。
好ましくは、この方法は、バリデーションコード比較ステップにおいて、検索されたバリデーションコードおよび暗号解読されたバリデーションコードが互いに一致しない場合、データのダウンロードを禁止するかあるいは打ち切るステップをさらに含む。
本発明の第４〜第６の態様において、本発明は、ダウンロードされたデータのシグネチャがデータブロックの開始とシグネチャの開始との間の選択されたオフセットを有する他のデータを含むデータのブロックで暗号化され、暗号化されたデータブロックは受信機／デコーダにおいて暗号解読ステップで暗号解読されたことを提供してもよく、受信機／デコーダで、受信機／デコーダのメモリの保護領域で少なくとも１つの記憶されたオフセットを検索するステップと、暗号解読されたデータブロックの開始からの前記１つの検索されたオフセットを使用して暗号解読されたデータブロックからシグネチャを抽出するステップとをさらに含む。
したがって、シグネチャは、他のダミーデータ中に隠されてもよく、シグネチャの位置を確認することをより困難にする。その代わりに、あるいはさらにこの特徴によって、データは、１つあるいはそれ以上の特定のグループの受信機／デコーダに対してだけ利用されることができる。
これらの特徴は、本発明の第４〜第６の態様とは無関係に提供されてもよい。したがって、本発明の第７の態様は、ダウンロードされたデータに対するシグネチャを生成するステップと、データブロックの開始とシグネチャの開始との間の選択されたオフセットを有するデータのブロックにシグネチャおよび他のデータを含むステップと、専用鍵を使用してデータブロックを暗号化するステップと、ダウンロードされたデータおよび暗号化されたデータブロックをＭＰＥＧテーブルとしてフォーマット化するステップと、ＭＰＥＧテーブルを伝送するステップと、かつ受信機／デコーダで、ＭＰＥＧテーブルを受信するステップと、専用鍵に対応する公開鍵を使用して受信されたＭＰＥＧテーブルの暗号化データブロックを暗号解読するステップと、受信機／デコーダのメモリの保護領域の少なくとも１つの記憶されたオフセットを検索するステップと、暗号解読データブロックの開始からの前記１つの検索オフセットを使用して暗号解読されたデータブロックからシグネチャを抽出するステップと、受信されたＭＰＥＧテーブルのデータに対するシグネチャを生成するステップと、暗号解読されたデータブロックから抽出されたシグネチャと受信されたデータに対して受信機／デコーダで生成されたシグネチャとを比較するステップとを含む、データをＭＰＥＧ受信機／デコーダにダウンロードする方法を提供する。
前記メモリの保護領域が少なくとも２つのこのような記憶されたオフセットを有する場合、比較ステップでは、抽出されたシグネチャおよび生成されたシグネチャが一致しないならば、この方法は、好ましくは記憶されたオフセットの中の他のものを使用して検索ステップ、抽出ステップおよび比較ステップを繰り返すステップを含んでいる。
データのブロックの前記他のデータの中の少なくともいくつかダミーデータあるいは任意のデータであってもよいが、そうであるならば、好ましくは、ダミーデータのセクションはシグネチャを全然繰り返さない。
本発明の第４〜第７の態様において、データは複数のデータのモジュールとしてダウンロードされてもよく、この方法は、ダウンロードされたデータの各モジュールに対するシグネチャを生成するステップと、データのモジュールをそれぞれのモジュールＭＰＥＧテーブルとしてフォーマット化するステップと、各モジュールＭＰＥＧテーブルおよびそれぞれのシグネチャのＩＤを含むディレクトリを生成するステップであって、ディレクトリがシグネチャ生成ステップの対象であることと、かつ受信機／デコーダで、受信されたモジュールＭＰＥＧテーブルのモジュールの各々に対するそれぞれのモジュールシグネチャを生成するステップと、受信されたディレクトリＭＰＥＧテーブルの各モジュールシグネチャと受信機／デコーダで生成されたそれぞれのモジュールシグネチャとを比較するステップとを含んでもよい。
したがって、ダウンロードされたデータは複数のモジュールで構成されるけれども、単一の暗号化処理だけはモジュールを暗号化するために必要であり、単一の暗号解読処理だけは、シグネチャをチェックできるために必要である。
これらの特徴は、本発明の第４〜第７の態様とは無関係に提供されてもよい。したがって、本発明の第８の態様は、ダウンロードされたデータの各モジュールに対するモジュールシグネチャを生成するステップと、データのモジュールをそれぞれのモジュールＭＰＥＧテーブルとしてフォーマット化するステップと、各モジュールＭＰＥＧテーブルおよびそれぞれのシグネチャのＩＤを含むディレクトリを生成するステップと、ディレクトリに対するディレクトリシグネチャを生成するステップと、ディレクトリシグネチャを専用鍵を使用して暗号化するステップと、ディレクトリおよび暗号化ディレクトリシグネチャをディレクトリＭＰＥＧテーブルとしてフォーマット化するステップと、ディレクトリおよびモジュールＭＰＥＧテーブルを伝送するステップと、かつ受信機／デコーダで、ディレクトリおよびモジュールＭＰＥＧテーブルを受信するステップと、受信されたディレクトリＭＰＥＧテーブルの暗号化ディレクトリシグネチャを専用鍵に対応する公開鍵を使用して暗号解読するステップと、受信されたディレクトリＭＰＥＧテーブルのディレクトリに対するディレクトリシグネチャを生成するステップと、暗号解読されたディレクトリシグネチャおよび受信機／デコーダで生成されたディレクトリシグネチャを比較するステップと、受信されたモジュールＭＰＥＧテーブルのモジュールの各々に対するそれぞれのモジュールシグネチャを生成するステップと、受信されたディレクトリＭＰＥＧテーブルの各モジュールと受信機／デコーダで生成されたそれぞれのモジュールシグネチャとを比較するステップとを含む、複数のデータのモジュールをＭＰＥＧ受信機／デコーダにダウンロードする方法を提供する。
この方法は、好ましくは、モジュールシグネチャ比較ステップで、受信されたディレクトリＭＰＥＧテーブルのモジュールシグネチャおよびこのモジュールに対して受信機／デコーダで生成されたそれぞれのモジュールシグネチャが互いに一致しない場合、このようなモジュールのダウンロードを禁止するかかあるいは打ち切るステップをさらに含む。
前述の方法は、好ましくは、比較ステップで、前記暗号解読されたシグネチャあるいは各暗号解読されたシグネチャおよび生成されたシグネチャが互いに一致しない場合、データのダウンロードを禁止するかあるいは打ち切るステップも含んでいる。
本発明の第９の態様によれば、このようなＭＰＥＧテーブルを受信する手段と、複数の公開鍵および公開鍵の各々に対するＩＤを記憶するステップと、受信されたＭＰＥＧテーブルの鍵ＩＤに従って記憶された公開鍵の中の１つを選択し、選択された公開鍵を使用して受信されたＭＰＥＧテーブルの暗号化シグネチャを暗号解読し、暗号解読されたシグネチャを提供し、受信されたＭＰＥＧデータのデータに対するシグネチャを生成し、かつ暗号解読されたシグネチャおよび受信されたデータに対して受信機／デコーダで生成されたシグネチャを比較するようにプログラム化される処理手段とを備えている、本発明の第４の態様の方法の一部を実行する際に使用するためのＭＰＥＧ受信機／デコーダが提供される。
主記憶手段は、好ましくは、ＲＯＭによって与えられ、公開鍵の各々に対するＩＤは、主記憶手段のこの公開鍵の記憶ロケーションによって与えられてもよい。受信機／デコーダは、揮発性メモリの領域をさらに含んでもよく、処理手段は、所定の鍵ＩＤを有する専用鍵を使用して暗号化されたシグネチャを有するアプリケーションを実行し、受信機／デコーダに他の鍵を受信させ、かつ他の鍵を揮発性メモリの領域に記憶するように作動可能でもある。
受信機／デコーダは、受信機／デコーダに局部的に供給されたこのような他の鍵を受信する手段、例えば、受信機／デコーダの並列ポート、直列ポートおよび／またはスマートカード読み取り器をさらに含んでもよい。揮発性メモリは、好ましくは、ＲＡＭによって与えられる。さらに、受信機／デコーダがモデム接続を有する場合、受信機／デコーダは、好ましくは、モデムを介して供給されるこのような他の鍵を妨げるように構成されている。
受信機／デコーダは公開鍵の少なくともいくつかの各々に対するバリデーションフラグを記憶するメモリの保護領域をさらに含んでもよく、処理手段は、メモリの保護領域で、このような選択された公開鍵に対するバリデーションフラグを検索し、検索されたフラグが設定されない場合、データのダウンロードを禁止するかあるいは打ち切るようにプログラム化されてもよい。
受信機／デコーダはまた、所定の鍵ＩＤを有する専用鍵に対するバリデーションフラグを記憶するメモリの保護領域をさらに含んでもよく、処理手段は、このバリデーションフラグを変えるように前記アプリケーションを実行する場合、作動可能で、かつ他の鍵をこのフラグの状態に応じて記憶できるように作動可能であってもよい。
この後者の特徴は、本発明の第９の態様とは無関係に提供されてもよい。したがって、本発明の第１０の態様は、このようなＭＰＥＧテーブルを受信する手段と、公開鍵および公開鍵に対するＩＤを記憶する手段と、公開鍵に対するバリデーションフラグを記憶するメモリの保護領域と、受信機／デコーダのメモリの保護領域において、受信されたＭＰＥＧテーブルの識別された専用鍵に対応する公開鍵に対するバリデーションフラグを検索し、検索フラグが設定される場合、受信されたＭＰＥＧテーブルの識別された専用鍵に対応する公開鍵を使用して受信されたＭＰＥＧテーブルにおける暗号化されたシグネチャを暗号解読し、暗号解読シグネチャを提供し、受信されたＭＰＥＧテーブルのデータに対するシグネチャを生成し、暗号解読されたシグネチャおよび受信されたデータに対する受信機／デコーダによって生成されたシグネチャを比較するようにプログラム化される処理手段とを備えるＭＰＥＧ受信機／デコーダを提供する。
鍵バリデーションフラグを記憶するメモリは、好ましくは、再書き込み可能不揮発性メモリによって与えられる。
複数のこのような公開鍵が記憶される場合、バリデーションフラグを記憶するメモリは好ましくはビットマップとして構成される。
本発明の第９の態様あるいは第１０の態様の受信機／デコーダは、バリデーションコードを記憶するメモリの保護領域をさらに含んでもよく、かつ処理手段は、このような受信されたＭＰＥＧテーブルのバリデーションコードを暗号解読し、記憶されたバリデーションコードを検索し、検索されたバリデーションコードおよび暗号解読コードを比較するようにプログラム化されてもよい。
この後者の特徴は、本発明の第９の態様あるいは第１０の態様とは無関係に与えられてもよい。したがって、本発明の第１１の態様は、このようなＭＰＥＧテーブルを受信する手段と、公開鍵および公開鍵に対するＩＤを記憶する手段と、公開鍵に対するバリデーションフラグを記憶するメモリの保護領域と、専用鍵に対応する記憶された公開鍵を使用して暗号化バリデーションコードおよびこのような受信されたＭＰＥＧテーブルのシグネチャを暗号解読し、メモリの保護領域の記憶されたバリデーションコードを検索し、検索されたバリデーションコードおよび暗号解読されたバリデーションコードを比較し、受信されたＭＰＥＧテーブルのデータに対するシグネチャあるいはその一部を生成し、暗号解読されたシグネチャと受信されたデータに対する受信機／デコーダによって生成されたシグネチャを比較するようにプログラム化される処理手段とを備えるＭＰＥＧ受信機／デコーダを提供する。
この処理手段は、検索されたバリデーションコードおよび暗号解読されたバリデーションコードが互いに一致しない場合、データのダウンロードを禁止するかあるいは打ち切るようにプログラム化されるのが好ましい。
バリデーションコードを記憶するメモリは、好ましくは、再書き込み可能不揮発性メモリによって与えられ、ビットマップとして構成されてもよい。
本発明の第９〜第１１の態様の受信機／デコーダは、少なくとも１つのオフセットを記憶するメモリの保護領域をさらに含んでもよく、かつ処理手段は、このような受信されたＭＰＥＧテーブルの暗号化データブロックを暗号解読し、メモリの保護領域における前記１つの記憶されたオフセットを検索し、暗号解読されたデータブロックの開始からの検索されたオフセットを使用して暗号解読されたデータブロックからシグネチャを抽出するようにプログラム化されてもよい。
この後者の特徴は、本発明の第９〜第１１の態様とは無関係に提供されてもよい。したがって、本発明の第１２の態様は、このようなＭＰＥＧテーブルを受信する手段と、公開鍵および公開鍵に対するＩＤを記憶する手段と、少なくとも１つのオフセットを記憶するメモリの保護領域と、専用鍵に対応する記憶された公開鍵を使用してこのような受信されたＭＰＥＧテーブルの暗号化データブロックを暗号解読し、メモリの保護領域の前記１つの記憶されたオフセットを検索し、暗号解読されたデータブロックの開始からの検索されたオフセットを使用して暗号解読されたデータブロックからシグネチャを抽出し、受信されたＭＰＥＧテーブルのデータに対するシグネチャを生成し、暗号解読されたデータブロックから抽出されたシグネチャと受信されたデータに対する受信機／デコーダによって生成されたシグネチャを比較するようにプログラム化される処理手段とを備えるＭＰＥＧ受信機／デコーダを提供する。
オフセットを記憶するメモリは、好ましくは、再書き込み可能不揮発性メモリによって与えられる。
本発明の第９〜第１２の態様の受信機／デコーダにおいて、処理手段は、受信されたモジュールＭＰＥＧテーブルのモジュールの各々に対するそれぞれのモジュールシグネチャを生成し、受信されたディレクトリＭＰＥＧテーブルの各モジュールシグネチャと受信機／デコーダによって生成されたそれぞれのモジュールシグネチャとを比較するようにプログラム化されてもよい。
この後者の特徴は本発明の第９〜第１２の態様とは無関係に提供されてもよい。したがって、本発明の第１３の態様は、このようなディレクトリおよびモジュールＭＰＥＧテーブルを受信する手段と、公開鍵および公開鍵に対するＩＤを記憶する手段と、専用鍵に対応する記憶された公開鍵を使用して受信されたディレクトリＭＰＥＧテーブルの暗号化ディレクトリシグネチャを暗号解読し、受信されたディレクトリＭＰＥＧテーブルのディレクトリに対するディレクトリシグネチャを生成し、暗号解読されたディレクトリシグネチャおよび受信機／デコーダによって生成されたディレクトリシグネチャを比較し、受信されたモジュールＭＰＥＧテーブルのモジュールの各々に対するそれぞれのモジュールシグネチャを生成し、かつ受信されたディレクトリＭＰＥＧテーブルの各モジュールシグネチャと受信機／デコーダによって生成されたそれぞれのモジュールシグネチャとを比較するようにプログラム化される処理手段とを備えているＭＰＥＧ受信機／デコーダを備えている。
この処理手段は、受信されたディレクトリＭＰＥＧのモジュールシグネチャおよび受信機／デコーダによって生成されたそれぞれのモジュールシグネチャが互いに一致しない場合、データのこのようなモジュールのダウンロードを禁止するかあるいは打ち切るようにプログラム化されるのが好ましい。
本発明の第９〜第１３の態様のいずれかの受信機／デコーダにおいて、処理手段は、前記暗号解読されたシグネチャあるいは各暗号解読されたシグネチャおよび生成されたシグネチャが互いに一致しない場合、データのダウンロードを禁止するかあるいは打ち切るようにプログラム化されるのが好ましい。
本発明の好ましい特徴は、次に、単に、例として、添付図面を参照して記載される。
図１は、ディジタルテレビジョンシステムの全アーキテクチャを示している。
図２は、図１のディジタルテレビジョンシステムの対話式システムのアーキテクチャを示している。
図３は、図１および図１のシステムの一部を形成する受信機／デコーダのインタフェースの概略図である。
図４は、ディジタルテレビジョンシステムで使用される遠隔コントローラの概略図である。
図５は、対話式受信機／デコーダのメモリにダウンロードされたモジュール内のファイルの配置を示している。
図６は、ＭＰＥＧストリームとしての多数の構成要素間の関係を示している。
図７は、いかにアプリケーションがモジュール／テーブルで構成できるかを示し、このモジュール／テーブルは同様にセクションで構成されてもよい。
図８は、ディレクトリモジュールの内容を示している。
図９は、ディレクトリモジュールの内容のより詳細部分を示す。
図１０は、テレビジョンシステムの受信機／デコーダのメモリのいろいろな領域を示している。
本発明によるデジタルテレビシステム１０００の全体像を第１図に示している。本発明は主に、圧縮したデジタル信号を送信するために従来のＭＰＥＧ−２圧縮システムを利用した従来のデジタルテレビシステム２０００を備えている。より詳細には、ブロードキャストセンター内のＭＰＥＧ−２コンプレッサ２００２がデジタル信号ストリーム（一般にはビデオ信号のストリーム）を受信する。コンプレッサ２００２はリンケージ２００６でマルチプレクサ、スクランブラ２００４と接続している。マルチプレクサ２００４は複数の入力信号をさらに受信し、１つ以上の送信ストリームをアセンブルし、圧縮されたデジタル信号を、リンケージ２０１０を介してブロードキャストセンターのトランスミッタ２００８へ送信する。もちろんこの送信は、遠隔通信リンクを含む幅広いバラエティの形式で行うことができる。トランスミッタ２００８はアップリンク２０１２を介して電磁信号を衛星トランスポンダ２０１４へ送信する。この衛星トランスポンダにおいて、電磁信号は電子的に処理され、概念的なダウンリンク２０１６を介して地上のレシーバ２０１８へブロードキャストされる。レシーバ２０１８は、一般にはエンドユーザが所有またはレンタルしている衛星受信アンテナである。レシーバ２０１８が受信した信号は統合レシーバ／デコーダ２０２０へ送信される。統合レシーバ／デコーダ２０２０は、エンドユーザが所有またはレンタルし、エンドユーザのテレビセット２０２２と接続ている。さらに、レシーバ／デコーダ２０２０は、圧縮ＭＰＥＧ−２信号をテレビセット２０２２用のテレビ信号にデコードする。
条件付きアクセスシステム３０００は、マルチプレクサ２００４、レシーバ／デコーダ２０２０に接続しており、また、１部がブロードキャストセンター内に、別の１部がデコーダ内に配置されている。これにより、エンドユーザは１つ以上のブロードキャストサプライヤからのデジタルテレビブロードキャストにアクセスすることができる。コマーシャルオファー（ブロードキャストサプライヤが販売する単数または複数のテレビプログラム）に関連するメッセージの解読が可能なスマートカードを、レシーバ／デコーダ２０２０内に挿入することができる。エンドユーザは、デコーダ２０２０とスマートカードを使って、サブスクリプションモードまたは番組有料視聴制のいずれかでコマーシャルオファーを購入することができる。
インタラクティブシステム４０００もマルチプレクサ２００４、レシーバ／デコーダ２０２０と接続しており、さらに１部がブロードキャストセンター内に、別の１部がデコーダ内に配置されている。これにより、エンドユーザはモデムに繋がれたバックチャネル４００２を介して多くのアプリケーションと対話することができる。
第２図は、本発明によるデジタルテレビシステム１０００のインタラクティブテレビシステム４０００の一般アーキテクチャを示す。
例えば、インタラクティブシステム４０００により、エンドユーザは画面上の形ログから商品を購入することができ、オンデマンドでローカルニュースや天気予報を観ることや、ゲームで遊ぶことが可能になる。
インタラクティブシステム４０００は、全体として４つの主要素を備えている。
●    オーサリングツール４００４。ブロードキャストセンターまたはその他の場所に設けられ、ブロードキャストサプライヤがアプリケーションの作成、開発、デバッグ、テストを行える。
●    アプリケーションおよびデータサーバ４００６。ブロードキャストセンターにあり、オーサリングツール４００４と接続している。エンドユーザに向けて同報通信を行うために、ブロードキャストサプライヤはこれを使用して、アプリケーションとデータをＭＰＥＧ−２伝送ストリーム（一般にはその専用セクション）に挿入するべくマルチプレクサおよびスクランブラ２００４へ伝達するために、準備し、有効にし、フォーマットすることができる。
●    実行時エンジン（ＲＴＥ）を備えたバーチャルマシン４００８。これは、エンドユーザが所有またはレンタルしているレシーバ／デコーダ２０２０内にインストールされた一行可能なコードであり、エンドユーザはレシーバ／デコーダ２０２０の稼動メモリ内に実行のためにアプリケーションを受信し、有効にし、圧縮を解除し、ロードすることができる。エンジン４００８はまた、常駐の、汎用アプリケーションを実行する。エンジン４００８はハードウェアおよびオペレーティングシステムから独立している。
●    レシーバ／デコーダ２０２０と、アプリケーションおよびデータサーバとの間においてモデムで繋がれたバックチャネル４００２。これにより、エンドユーザの要求に応じて、信号に、サーバ４００６にデータとアプリケーションをＭＰＥＧ−２伝送ストリームに挿入するように指示することが可能になる。
インタラクティブＴＶシステムは、システムに内蔵されたレシーバ／デコーダおよび様々な装置の機能を制御する「アプリケーション」を使用して動作する。アプリケーションはエンジン４００８内で「リソースファイル」として表されている。「モジュール」は、リソースファイルとデータのセットである。１つのアプリケーションを構成するためインは数個のモジュールが必要である。レシーバ／デコーダの「メモリボリューム」とはモジュールのための記憶スペースである。モジュールは、ＭＰＥＧ−２伝送ストリームからレシーバ／デコーダ２０２０内にダウンロードすることもできる。
レシーバ／デコーダ２０２０の物理的インターフェースはデータのダウンロードに使用される。第３図を参照すると、デコーダ２０２０は、例えば次の６つのダウンロード装置を備えている。ＭＰＥＧフローチューナ４０２８、シリアルインターフェース４０３０、パラレルインターフェース４０３２、モデム４０３４、２つのカードリーダ４０３６。
本明細書の目的として、アプリケーションとは、好ましくはレシーバ／デコーダ２０２０の高レベル機能を制御するためのコンピュータコードの１ピースである。例えば、エンドユーザが、遠隔コントローラ２０２６（第４図にさらに詳細に示す）をテレビセット２０２２の画面上のボタンオブジェクト上に照準し、有効キーを押すと、そのボタンに関連した指示シーケンスが実行される。
対話式アプリケーションは、メニューを提供し、エンドユーザのリクエストでコマンドを実行し、アプリケーションの目的に関連するデータを供給する。アプリケーションは、すなわち、受信機／デコーダ２０２０のＲＯＭ（あるいはフラッシュあるいは他の不揮発性メモリ）に記憶された常駐プログラムかあるいはデコーダ２０２０のＲＡＭ（あるいはフラッシュ）に放送され、ダウンロードされた常駐プログラムのいずれかであってもよい。
アプリケーションの例を以下に示す。
●    開始アプリケーション。レシーバ／デコーダ２０２０が、モジュールの適応可能なコレクション（この用語については後に詳細に説明する）である常駐開始アプリケーションを備えている。モジュールの適応可能なコレクションは、レシーバ／デコーダ２０２０をＭＰＥＧ−２環境で即時動作可能にする。アプリケーションは、所望であればブロードキャストサプライヤによって変更が可能なコア特性を備えている。また、コア特性は常駐アプリケーションとダウンロードしたアプリケーションの間のインターフェースを提供する。
●    スタートアップアプリケーション。スタートアップアプリケーションは、ダウンロードしたまたは常駐のいずれであってもよいアプリケーションをレシーバ／デコーダ２０２０上で実行する。このアプリケーションは、アプリケーションを開始するために、サービスが到着すると実行されるブートストラップとして働く。スタートアップはＲＡＭ内にダウンロードされるため、アップデートが容易に行える。またスタートアップを、ダウンロードの直後、またはプリロードの後のいずれかに、各チャネルで使用可能なインタレクティブアプリケーションの選択および実行が可能であるように構成することも可能である。プリロードの場合には、アプリケーションはメモリ２０２４内にロードされ、必要に応じてスタートアップによって起動することが可能である。
●    プログラムガイド。プログラムガイドは、プログラミングについての完全な情報を提供するインタラクティブアプリケーションである。例えば、プログラムガイドは、デジタルＴＶブーケの各チャネルに割当てられた１週間のＴＶプログラムについての情報を提供する。遠隔コントローラ２０２６上のキーを押すと、エンドユーザは、テレビセット２０２２の画面上にある事象の上にオーバレイされたアッドオン画面にアクセスできる。このアッドオン画面は、デジタルテレビブーケの各チャネルの現在および次の事象についての情報を提供するブラウザである。遠隔コントローラ２０２６上の別のキーを押すと、エンドユーザは、１週間以上の事象についての情報のリストを表示するアプリケーションにアクセスできる。さらにエンドユーザは、単純でカストマイズされたクリテリアで事象の検索およびソートが行える。また、選択したチャネルに直接アクセスすることができる。
●    番組有料視聴制アプリケーション。番組有料視聴制アプリケーションは、条件付きアクセスシステム３０００と連結したデジタルテレビブーケの各ＰＰＶチャネル上で利用可能なインタラクティブサービスである。エンドユーザは、ＴＶガイドまたはチャネルブラウザを使ってこのアプリケーションにアクセスすることができる。さらに、このアプリケーションはＰＰＶチャネル上でＰＰＶ事象が検出され次第、自動的に開始する。エンドユーザは、ドータースマートカード３０２０または通信サーバ３０２２（モデム、電話、ＤＴＭＦコード、ＭＩＮＩＴＥＬ等を使用）を介してカレント事象を購入することができる。アプリケーションは、レシーバ／デコーダ２０２０のＲＯＭ内に常駐するもの、またはレシーバ／デコーダ２０２０のＲＡＭ内にダウンロード可能なもののいずれかであってよい。
●    ＰＣダウンロードアプリケーション。要求すれば、エンドユーザはＰＣダウンロードアプリケーションを使ってコンピュータソフトウェアをダウンロードすることができる。
●    マガジンブラウザアプリケーション。マガジンブラウザアプリケーションは、オンスクリーンボタンを介したエンドユーザナビゲーションを備えた画像の巡回ビデオブロードキャストを有する。
●    クイズアプリケーション。クイズアプリケーションはブロードキャストクイズプログラムと同期することが好ましい。１例として、テレビ２０２２の画面上に多項式選択の質問が表示されるので、ユーザは遠隔コントローラ２０２６を使って答えを選択できる。クイズアプリケーションは、その答えが正解であるかどうかをユーザに知らせることができ、また、ユーザの点数をカウントすることができる。
●    テレショッピングアプリケーション。テレショッピングの１例において、販売される商品のオファーがレシーバ／デコーダ２０２０に転送され、テレビ２０２２上に表示される。遠隔コントローラを使って、ユーザは購入する特定のアイテムを選択できる。そのアイテムの注文が、モデムで繋がれたバックチャネル４００２を介してアプリケーションおよびデータサーバ４００６へと送信されるか、あるいは、個別の販売システムへと送信される。この販売システムの電話番号は、レシーバ／デコーダ２０２０のカードリーダ４０３６の１つに挿入されたクレジットカードに勘定を付ける旨の命令と共にレシーバ／デコーダにダウンロードされている。
●    テレバンキングアプリケーション。テレバンキングの１例において、ユーザは、レシーバ／デコーダ２０２０のカードリーダ４０３６の１つに銀行カードを挿入する。するとレシーバ／デコーダ２０２０が、銀行カードに、またはレシーバ／デコーダに記憶された電話番号を使ってユーザの銀行を呼出し、アプリケーションが複数の機能を提供するので遠隔コントローラ２０２６を使って選択を行う。この機能には、例えば、電話回線を介した預金口座収支報告のダウンロード、預金口座の間での資金の送金、小切手帳の要求等がある。
●    インターネットブラウザアプリケーション。インターネットブラウザアプリケーションの１例において、特定のＵＲＬのウェブページを見たいというようなユーザからの指示が、遠隔コントローラ２０２６を使って入力され、これらの指示が、モデムで繋がったバックチャネル４００２によってアプリケーションおよびデータサーバ４００６へ送信される。すると、ブロードキャストセンターからの送信に適切なウェブページが含まれ、この送信がアップリンク２０１２、トランスポンダ２０１４、ダウンリンク２０１６を介してレシーバ／デコーダ２０２０によって受信され、テレビ２０２２上に表示される。
アプリケーションは、受信機／デコーダ２０２０のメモリ位置に記憶され、資源ファイルとして示される。資源ファイルは、グラフィックオブジェクト記述ユニットファイルと、可変ブロックユニットファイルと、命令シーケンスファイルと、アプリケーションファイルと、データファイルとを備えている。
グラフィックオブジェクト記述ユニットファイルは、アプリケーションのスクリーン、すなわちアプリケーションのマンマシンインタフェースを記述する。可変ブロックユニットファイルはアプリケーションによって処理されるデータ構造を記述する。命令シーケンスファイルはアプリケーションの処理動作を記述する。このアプリケーションはアプリケーションに対するエントリポイントを備えている。
このように構成されたアプリケーションは、アイコンライブラリファイル、イメージファイル、文字フォントファイル、カラーテーブルファイルおよびＡＳＣＩＩテキストファイルのようなデータファイルを使用できる。対話式アプリケーションは、入力および／または出力を行うことによってオンラインデータも得ることができる。
エンジン４００８は、所与の時間で必要とするこれらの資源ファイルをそのメモリにロードするだけである。これらの資源ファイルは、グラフィックオブジェクト記述ユニットファイル、命令シーケンスファイルおよびアプリケーションファイルから読み取られる。可変ブロックユニットファイルは、モジュールをロードする手順に対する呼び出しに続いてメモリに記憶され、モジュールをロード解除する手順に対する特定の呼び出しが行われるまで、そこにロックされたままである。
図３を参照すると、電話ショッピングのようなモジュール４０１０は、下記のことを含む資源ファイルおよびデータのセットである。
単一アプリケーションファイル４０１２
未決定数のグラフィックブロックユニットファイル４０１４
未決定数の可変ブロックユニットファイル４０１６
未決定数の命令シーケンスファイル４０１８、
ここで、アイコンライブラリファイル、イメージファイル、文字フォントファイル、カラーテーブルファイルおよびＡＳＣＩＩテキストファイルのようなデータファイル４０２０である。
図５を参照すると、電話ショッピングモジュールのようなモジュール４０１０は、下記のことを含む資源ファイルおよびデータのセットである。
単一アプリケーションファイル４０１２
未決定数のグラフィックオブジェクト記述ユニットファイル４０１４
未決定数の可変ブロックユニットファイル４０１６
未決定数の命令シーケンスファイル４０１８、および
適切である場合、アイコンライブラリファイル、イメージファイル、文字フォントファイル、カラーテーブルファイルおよびＡＳＣＩＩテキストファイルのようなデータファイル４０２０。
少数のコードをダウンロードする概念とともにモジュール４０１０の概念は、アプリケーションの容易な案出を可能にする。アプリケーションは、エンドユーザによって必要とされる場合だけデコーダ２０２０のＲＡＭにダウンロードされるように常駐ソフトウェアあるいは放送としてデコーダ２０２０の固定フラッシュメモリにダウンロードできる。
モジュール４０１０をキャリア信号からダウンロードするために、キャリア信号でアクセスできるディレクトリは最初にダウンロードされる。このディレクトリは、キャリア信号からダウンロードできるモジュール４０１０の名前を単にリストにする。一旦このディレクトリがダウンロードされると、アプリケーションは１つあるいはそれ以上のモジュール４０１０をダウンロードできる。ＭＰＥＧフローの場合、ディレクトリは一つの単一のＭＰＥＧテーブルに転送される。さらに、１つのモジュール４０１０は１つの単一のＭＰＥＧテーブルに転送される。ＭＰＥＧチューナ４０２８に伝送されるモジュールの場合、長いＭＰＥＧ-２フォーマットは長いヘッドおよびＣＲＣコードと併用される。これは、より短いヘッドを有し、かつＣＲＣを全然有しない“短い”ＭＰＥＧ-２フォーマットが使用されることを除いて、５つの他のインタフェース（直列インタフェース４０３０、並列インタフェース４０３２、モデム４０３４および２つのカード読み取り器４０３６）を有する場合でもある。
公知であるように、特に図６を参照すると、ＭＰＥＧ-２ビットストリームは、０のパケットＩＤ（“ＰＩＤ”）を有するプログラムアクセステーブル（“ＰＡＴ”）１０を含んでいる。ＰＡＴは、多数のプログラムのプログラムマップテーブル（“ＰＭＴ”）１２のＰＩＤに対する参照を含んでいる。各ＰＭＴは、このプログラムのためのオーディオＭＰＥＧテーブル１４およびビデオＭＰＥＧテーブル１６のストリームのＰＩＤに対する参照を含んでいる。プログラムアクセステーブル１０であるゼロのＰＩＤを有するパケットは全てのＭＰＥＧアクセスに対するエントリ点を与える。
アプリケーションおよびアプリケーションに対するデータをダウンロードするために、２つの新しいストリームタイプは規定され、関連ＰＭＴは、アプリケーションＭＰＥＧテーブル１８（このテーブルのセクション）およびデータＭＰＥＧテーブル２０（このテーブルのセクション）のストリームのＰＩＤに対する参照も含んでいる。
図７を参照すると、アプリケーション２２をダウンロードするために、アプリケーションは、各々がＭＰＥＧテーブルで形成され、そのいくつかが単一セクション１８によって構成され、その他のものが複数のセクション１８によって構成されてもよいモジュール２４に分割される。典型的なセクション１８は、１バイトテーブルＩＤ（“ＴＩＤ”）２８と、テーブルのこのセクションのセクション番号３０と、このテーブルのセクションの全数３２と、２バイトＴＩＤ拡張とを含むヘッダ２６を有する。特定のモジュール／テーブル２４に関しては、このテーブル２４を構成するセクション１８の全ては、同一ＴＩＤ２８および同一のＴＩＤ拡張３４を有する。特定のアプリケーション２２に関しては、このアプリケーション２２を構成するテーブル２４の全ては同一のＴＩＤ２８であるが異なるそれぞれのＴＩＤ拡張を有する。
各アプリケーション２２に関しては、ディレクトリとして使用され、図８により詳細に示されている単一のこのようなＭＰＥＧテーブル２４がある。ディレクトリテーブル４０は、ヘッダ２６と、ディレクトリ部４２と、鍵ＩＤと、暗号化シグネチャ４６とＣＲＣ３８とを含む。上記から、ディレクトリテーブル４０は、そのヘッダ２６において、アプリケーションを構成する他のモジュール／テーブル２４と同じＴＩＤ２８とを有する。しかしながら、ディレクトリテーブルは、ゼロの所定のＴＩＤ拡張３４を有し、他のモジュール２４の全ては非ゼロＴＩＤ拡張を有する。ヘッダはディレクトリテーブル４０に対するバージョン番号４８も含む。ディレクトリ部４２は、アプリケーション２２を構成する他のモジュール／テーブル２４の各々に対して、モジュールの名前５０と、このモジュールに対するＴＩＤ拡張３４と、このモジュールのシグネチャ５２とを含んでいる。ディレクトリ部４２はまた、他のモジュール／テーブル２４の各々に対して、このモジュールの長さおよびこのモジュールのバージョン番号を含んでもよい。
戻って図６を参照すると、作動中、ＰＡＴ１０、ＰＭＴ１２およびアプリケーションならびにデータストリーム要素１８、２０は、周期的に伝送され、必要に応じて更新される。伝送される各アプリケーションはそれぞれの所定のＴＩＤ２８を有する。アプリケーションをダウンロードするために、適切なＴＩＤおよびゼロのＴＩＤ拡張を有するＭＰＥＧテーブルは受信機／デコーダ２０２０にダウンロードされる。したがって、これは要求されたアプリケーションに対するディレクトリテーブル４０である。ディレクトリのデータは、次に受信機／デコーダ２０２０によって処理され、必要なアプリケーションを構成するモジュールテーブルのＴＩＤ拡張３４を決定し、それからディレクトリから決定されたディレクトリテーブルおよびＴＩＤ拡張と同じＴＩＤを有する任意の必要なモジュールテーブルはダウンロードできる。
受信機／デコーダ２０２０は、それのいかなる更新に対してもディレクトリテーブルをチェックするように構成される。これは、再度周期的に、例えば、３０秒毎に、あるいは１分あるいは５分毎にディレクトリテーブルをダウンロードし、新たにダウンロードされたディレクトリテーブルのバージョン番号と以前にダウンロードされたディレクトリテーブルのバージョン番号とを比較することによって行われてもよい。新たにダウンロードされたバージョン番号がより最新である場合、以前のディレクトリテーブルに関連したモジュールあるいはより最新のバージョン番号がある任意のこのようなモデルが取り付けられなく、より最新のモジュールがダウンロードされ、取り付けられる。他の装置では、入来ビットストリームは、ＴＩＤ、ＴＩＤ拡張およびバージョン番号に対応するマスクをアプリケーションのＴＩＤ、ゼロのＴＩＤ拡張および現在はダウンロードされたディレクトリのバージョン番号よりも一つ大きいバージョン番号に対して設定された値と併用してフィルタリングされる。したがって、バージョン番号の増分は検出でき、一旦検出されると、前述のように、ディレクトリはダウンロードされ、アプリケーションは更新される。このようなフィルタリングの他の記載は同時に同時係属の出願に含まれる（弁理士の参照番号ＰＤＣ／ＡＳＢ／１９７１６）。アプリケーションが終了されるべきであるならば、次のバージョン番号を有する空のディレクトリは、送信されるが、少しのモジュールもなしにディレクトリにリストされる。このような空のディレクトリの受信に応じて、受信機／デコーダ２０２０はアプリケーションを取り付けないようにプログラム化される。
アプリケーションテーブルに対するシグネチャの使用は、次に詳細に述べられる。
前述のように、ディレクトリテーブル４０の各モジュールに対するエントリはモジュールシグネチャを含んでいる。このモジュールシグネチャは、それぞれのモジュールテーブルのデータの処理を生成する公知のＭＤ５シグネチャを使用して生成される。
さらに、ディレクトリテーブル４０は、次に図９を参照して述べられるように生成される暗号化シグネチャ４６を含む。６４バイトのデータのブロック５４が発生される。第１のバイト５６はゼロである。次の３バイト５８はダミーデータあるいは任意のデータである。次の８バイト６０は、さらに述べられているアプリケーションバリデーションビットマップを提供する。最後の４バイト６２は予備とされる。残りの３２ビットは、アプリケーションバリデーションビットマップ６０が続く第１のバイトの後に０〜３１バイトのオフセットで開始する１６バイトのシグネチャ６４を含んでいる。ダミーデータ６６は、バリデーションビットマップ６０とシグネチャ６４との間および／またはシグネチャ６４と予備バイト６２との間に挿入される。シグネチャ６４は、ディレクトリテーブル４０のディレクトリエントリ４２の処理を発生する公知のＭＤ５シグネチャを使用して発生される。このブロック５４は、次に、暗号化シグネチャおよびアプリケーションバリデーションビットマップ４６を発生するように公知の暗号化処理および特定の専用鍵を使用して暗号化される。このデータブロック４６はディレクトリテーブル４０に含められ、ブロックを暗号化するために使用された専用鍵の１バイトＩＤは鍵ＩＤ４４としてディレクトリテーブル４０に含められる。
アプリケーションおよびその伝送の発生を要約するために、下記のステップが必要とされる。
●  アプリケーションを複数のモジュールとして生成するステップ
●  アプリケーションに対する所定のＴＩＤ２８に注目するステップ
●  モジュールに対する名前および非ゼロＴＩＤ拡張３４を割り当てるステップ
●  各モジュールをＭＰＥＧテーブル２４あるいはＭＰＥＧテーブルのセクション１８としてフォーマット化するステップ
●  各モジュールのＭＤ５シグネチャ５２を生成するステップ
●  ディレクトリ４２を生成するステップ
●  ディレクトリに対するＭＤ５シグネチャ６４を生成するステップ
●  アプリケーションバリデーションビット６０を選択するステップ
●  オフセットを選択するステップ
●  ブロック５４を生成するステップ
●  選択された専用鍵を有する暗号化を使用してブロック５４を暗号化するステップ
●  割り当てられたＴＩＤ２８、ゼロのＴＩＤ拡張、ディレクトリ４２、専用鍵のＩＤ４４、暗号化シグネチャ４６を有するディレクトリＭＰＥＧテーブル４６を生成するステップ
●  ディレクトリテーブル４０およびモジュールテーブル２４あるいはセクション１８を伝送するステップ
アプリケーションのダウンロード中シグネチャおよび暗号解読を処理する際の受信機／デコーダ２０２０の動作が次に述べられる。図１０を参照すると、受信機／デコーダ２０２０は、ＥＥＰＲＯＭ６８と、ＲＯＭ７０と、ＲＡＭ７２とを含んでいる。ＥＥＰＲＯＭ６８は、バーチャルマシンによって使用され、バーチャルマシンだけが書き込むことができる（かつ通常のアプリケーションは書き込むことができない）保護領域７４を含む。保護領域７４は、１６ビットあるいは２５６ビットの鍵バリデーションビットマップ７６と、３２ビットのオフセットビットマップ８０とを含んでいる。ＲＯＭ７０は、一実施例では、１６の公開鍵８２を含み、その場合、１６ビットの鍵バリデーションビットマップが使用され、他の実施例では２５６の公開鍵を含み、その場合、２５６ビットの鍵バリデーションビットマップが使用される。公開鍵は、ＲＯＭ７０のその物理的ロケーションによって識別されるかあるいは公開鍵は、その代わりにルックアップテーブルに含められ、それによって特定の鍵ＩＤは対応する公開鍵を生じる。ＲＡＭ７２は一時鍵８４を記憶するために使用されてもよい。
前述のように、アプリケーションがダウンロードされるべきである場合、まず第一に、このアプリケーションに対する所定のＴＩＤおよびゼロのＴＩＤ拡張を有するディレクトリテーブルがダウンロードされる。それから、鍵ＩＤ４４は、ディレクトリテーブルから抽出され、抽出された鍵ＩＤ４４に対応するビットがセットされている保護メモリ７４の鍵バリデーションビットマップ７６のチェックが行われる。このビットがセットされていない場合、アプリケーションの他のダウンロードは打ち切られる。しかしながら、適切な鍵がセットされるならば、公開鍵８２は、抽出された鍵ＩＤ４４に対応するＲＯＭ７０から選択される。それから、選択された公開鍵および公知の暗号解読処理は、ブロック５４を発生するためにディレクトリテーブル４０の暗号化ブロック４６を暗号解読するために使用される。アプリケーションバリデーションビットマップ６０は、それから暗号解読ブロック５４から抽出され、保護メモリ７４に記憶されたアプリケーションバリデーションビットマップ７８とＡＮＤをとられる。ＡＮＤ動作の結果がゼロであるならば、アプリケーションの他のダウンロードは打ち切られる。しかしながら、ＡＮＤ動作の結果が非ゼロでない場合、保護メモリ７４のオフセットビットマップ８０に含まれたオフセットは検索されるか、あるいは１つ以上のオフセットビットがセットされる場合、各オフセットビットは、同様に検索され、１６バイトのデータは、アプリケーションバリデーションビットマップ６０後の最初のバイトからの検索オフセットで始まる暗号解読されたブロック５４から抽出される。前記検索オフセットあるいは各検索オフセットに関しては、１６バイトは、ディレクトリテーブル４０とともに伝送されるシグネチャとみなされる。ディレクトリテーブル４０のディレクトリ４２のエントリのシグネチャは、公知のＭＤ５処理を使用して計算される。この計算シグネチャは、ブロック５４から抽出されたシグネチャと比較される。前記検索オフセットあるいは各検索オフセットに対する２つのシグネチャは一致しない場合、アプリケーションの他のダウンロードが打ち切られる。しかしながら、シグネチャの中の１つが一致する場合、ディレクトリ４２に指定されたモジュールのダウンロードを始めることができる。前述のように、特定のモジュールをダウンロードするために、このモジュールに対するＴＩＤ拡張はディレクトリ４２から得られ、ＭＰＥＧテーブル２４あるいはディレクトリテーブルと同じＴＩＤおよび得られるＴＩＤ拡張を有するセクション１８はダウンロードされる。一旦モジュールＭＰＥＧテーブルがダウンロードされたとすると、受信機／デコーダ２０２０は、公知のＭＤ５処理を使用してダウンロードテーブルのシグネチャを計算し、それからこの計算されたシグネチャとディレクトリエントリに含まれたシグネチャとを比較する。シグネチャが一致するならば、モジュールは受諾されるが、シグネチャが一致しないならば、モジュールは拒否される。
したがって、アプリケーションのモジュールの全ては、上記に指定されたようにダウンロードすることができ、アプリケーションは受信機／デコーダ２０２０によって実行できる。
通常使用されるダウンロード動作の特徴を記載しているけれども、次に受信機／デコーダ２０２０を設定し、その設定を変える際に使用されるいつかの特徴の記載が行われる。
受信機／デコーダ２０２０は、保護メモリ領域７４が変更できるようにプログラム化されるが、ダウンロードされたアプリケーションが特定の鍵ＩＤの１つ、例えば鍵１５を使用し、特定のオフセット、例えば、アプリケーションバリデーションビットマップ６０後の最初のバイトからゼロバイトのオフセットと併用することによってのみプログラム化される。例えば、同じ公開鍵を使用した二人のオペレータが異なる公開鍵を使用したいと決定する場合かあるいは専用鍵の内容が発見された場合、保護メモリ７４は変更される必要があり、その場合、対応する公開鍵は、鍵バリデーションビットマップ７６において無効としてマークを付けられる。
受信機／デコーダ２０２０は、鍵の中の１つ、例えば鍵１５が常に使用可能であるように構成されてもよく、その場合、この鍵は鍵バリデーションビットマップ７６において１ビットを必要としない。したがって、このビットは他の目的のために使用されてもよい。特に、鍵１５を使用して認証されたアプリケーションは、この特定のビットを１にセットするように構成されてもよく、その場合、受信機／デコーダ２０２０は、一時的鍵８４をＲＡＭ７２にロードできるようにプログラム化されるが、直列インタフェース４０３０、並列インタフェース４０３２あるいは２つのカード読み取り器４０３６の中の１つによる場合だけプログラム化される。この機能は、例えば、一時的鍵が検査できるように受信機／デコーダ２０２０にロードできるように使用するためにアプリケーションを与えることができる受信機／デコーダ２０２０の製造者によって使用されてもよい。
前述の暗号化・サイン装置は多数の重要な特徴をもたらす。特に、
●  受信機／デコーダ２０２０が、ダウンロードされたディレクトリテーブルの鍵ＩＤに対応する、そのメモリに記憶された適切な公開鍵を有する場合、アプリケーションはダウンロードすることだけができる。
●  鍵の中の１つを除いた全てに関しては、受信機／デコーダ２０２０のメモリの鍵バリデーションビットマップ７６が、この鍵を使用できるようにセットされるならば、特定の鍵を使用するアプリケーションはダウンロードできるだけである。
●  受信機／デコーダ２０２０のメモリに記憶されたオフセットビットマップ８０のセットビットがディレクトリテーブルを作成する際に使用されるオフセットと一致するならば、アプリケーションがダウンロードできるだけである。
●  受信機／デコーダ２０２０のメモリのアプリケーションバリデーションビットマップ７８がアプリケーションをダウンロードできるように適当にセットされる場合、アプリケーションがダウンロードできるだけである。
●  ディレクトリテーブルがそのシグネチャが最初に生成された後破損されなかった場合、アプリケーションがダウンロードできるだけである。
●  それぞれのモジュールテーブルがそのシグネチャが最初に生成された後破損されなかった場合、アプリケーションの各モジュールはダウンロードできるだけである。
●  唯一の暗号化操作は、アプリケーションがいくつかのＭＰＥＧテーブルで構成されているにもかかわらず、ダウンロードするためのアプリケーションを作成する際に必要であり、唯一の暗号解読操作は、全アプリケーションをダウンロードするために受信機／デコーダ２０２０で必要である。
●  異なるサービスプロバイダが異なる専用鍵を有することができるように複数の鍵が使用されてもよい。
●  一時的鍵は、例えば、検査する目的のために製造社によって使用されてもよい。
本発明は、単に例として述べられ、詳細の変更は本発明の範囲内で行うことができる。
説明に開示された各特徴、および（妥当である場合）請求の範囲および図面は、別々にあるいは任意の適切な組み合わせで提供されてもよい。
前述の好ましい実施例では、本発明のある種の特徴はコンピュータソフトウェアを使用して実現された。しかしながら、もちろん、これらの特徴のいずれかはハードウェアを使用して実現されてもよいことは当業者に明らかである。さらに、ハードウェア、コンピュータソフトウェア等によって実行された機能は、電気信号等であるいは電気信号を使用して実行されることは容易に理解される。
相互参照は、我々の同時係属出願に対して行われ、全ては、同じ出願日を有し、名称が「信号発生および放送（代理人参照番号ＰＣ／ＡＳＢ／１９７０７）」、「暗号化放送信号の受信機と併用するためのスマートカード、および受信機（代理人参照番号ＰＣ／ＡＳＢ／１９７０８）」、「放送・受信システムおよびそのための条件付アクセスシステム（代理人参照番号ＰＣ／ＡＳＢ／１９７１０）」、「受信機／デコーダを介して送信機からコンピュータにコンピュータファイルのダウンロード（代理人参照番号ＰＣ／ＡＳＢ／１９７１１）」、「テレビジョンプログラムおよび他のデータの送信および受信（代理人参照番号ＰＣ／ＡＳＢ／１９７１２）」、「データのダウンロード（代理人参照番号ＰＣ／ＡＳＢ／１９７１３）」、「コンピュータメモリ構成（代理人参照番号ＰＣ／ＡＳＢ／１９７１４）」、「テレビジョンあるいはラジオ制御システム生成（代理人参照番号ＰＣ／ＡＳＢ／１９７１５）」、「送信データストリームからのデータセクションの抽出（代理人参照番号ＰＣ／ＡＳＢ／１９７１６）」、「アクセス制御システム（代理人参照番号ＰＣ／ＡＳＢ／１９７１７）」、「データ処理システム（代理人参照番号ＰＣ／ＡＳＢ／１９７１８）」、および「放送・受信システム、およびそのための受信機／デコーダおよび遠隔コントローラ（代理人参照番号ＰＣ／ＡＳＢ／１９７２０）」である。これらの文書の開示は参照してここに組み込まれている。出願のリストは本出願を含んでいる。
【図１】
0004062367.tif 000002
【図２】
0004062367.tif 000003
【図３】
0004062367.tif 000004
【図４】
0004062367.tif 000005
【図５】
0004062367.tif 000006
【図６】
0004062367.tif 000007
【図７】
0004062367.tif 000008
【図８】
0004062367.tif 000009
【図９】
0004062367.tif 000010
【図１０】
0004062367.tif 000011