(57)【要約】【課題】  複数のクライアントシステムのうちの一つにインストールされたソフトウェアの更新を可能にする。【解決手段】  クライアントシステム（２−５）は、データプロセッサとメモリを備え、実際のパッチレベルが所要のパッチレベルと所定の関係にある場合にのみ所要のパッチレベルを表すデータと共にアプリケーションの入力データを処理するようにプログラムされる。本方法は、パッチに包含されるコードを取得するステップと、クライアントシステムに保持された実際のパッチレベルを更新するための命令と共に第１クライアントシステムでの適用のための第１パッチを供給するステップとを備え、クライアントシステムに保持された実際のパッチレベルを更新して次のレベルを反映させる命令と共にクライアントシステムのうちの少なくとも他の一つのための第２パッチを供給するステップを備えたことを特徴とし、前記コードは、前記第１パッチでのみ供給される。【選択図】  図１
2006079611.tif 000002
【特許請求の範囲】
【請求項１】
複数のクライアントシステム（２−５）にインストールされたソフトウェアのためのパッチを供給する方法であって、前記クライアントシステムのそれぞれが、少なくともプロセッサ（１２）とメモリ（１３−１５）とを備え、それぞれが、実際のパッチレベルを表す情報を保持すると共に、前記実際のパッチレベルが所要のパッチレベルと所定の関係にある場合にのみ前記所要のパッチレベルを表すデータと共にインストールされたアプリケーションに供給される入力データを処理することにより出力データを生成するようにプログラムされ、
該方法は、
パッチに包含するためのコンピュータプログラムコードを取得するステップであって、前記コードが、クライアントシステム（２−５）にインストールされたソフトウェアの少なくとも一部と協調動作して前記パッチが前記クライアントシステムにおいて適用された後に或る機能を実行するように構成されたステップと、
前記クライアントシステム（２−５）に保持された前記実際のパッチレベルを更新して次のレベルに反映させる命令と共に少なくとも一つの第１クライアントシステムにおけるアプリケーションのための第１パッチを供給するステップと、を備え、
前記クライアントシステムに保持された前記実際のパッチレベルを更新して前記次のレベルを反映させる命令と共に前記クライアントシステム（２−５）のうちの少なくとも他の一つのための第２パッチを供給するステップを備えたことを特徴とし、前記コードは、前記第１および第２パッチのうちの第１パッチでのみ供給される方法。
【請求項２】
少なくとも一つの識別のターゲット値は各パッチを備え、各クライアントシステム（２−５）は、前記値が、それぞれ、前記クライアントシステム（２−５）に格納された対応識別と所定の関係にある場合にのみパッチを受け入れるためのフィルタを有する請求項１または請求項１の前書き記載の方法。
【請求項３】
ターゲットオーナー識別の値は少なくとも前記第１パッチを備え、各クライアントシステム（２−５）は、１度だけプログラム可能なメモリ（１３）を備えると共に、前記ターゲットオーナー識別が、前記１度だけプログラム可能なメモリにプログラムされた対応オーナー識別と所定の関係にある場合にのみ前記クライアントシステム（２−５）がパッチを受け入れることを許容するフィルタを有する請求項２記載の方法。
【請求項４】
ターゲットモデル識別の値は少なくとも第１パッチを含み、各クライアントシステム（２−５）は、プログラム可能なメモリ（１５）を備えると共に、前記ターゲットモデル識別が前記プログラム可能なメモリ（１５）に格納された対応モデル識別と所定の関係にある場合にのみ前記クライアントシステムがパッチを受け入れることを許容するフィルタを有する請求項２または３の何れか１項記載の方法。
【請求項５】
クライアントシステム（２−５）のためのパッチを供給するステップを更に含み、パッチは、前記プログラム可能なメモリ（１５）に格納された前記モデル識別を前記クライアントシステムに変更させるように構成された請求項４記載の方法。
【請求項６】
前記或るパッチレベルを示す情報は、少なくとも前記第１パッチを含む請求項１ないし５の何れか１項記載の方法。
【請求項７】
少なくとも、前記第１パッチは、前記パッチを適用するために必要とされるパッチレベルを示す情報を含み、各クライアントシステム（２−５）は、前記クライアントシステムに保持された前記実際のパッチレベルが前記パッチを適用するために必要とされる前記パッチレベルと所定の関係にある場合にのみ前記クライアントシステムに前記パッチを適用させることを許容するフィルタを備える請求項１ないし６の何れか１項記載の方法。
【請求項８】
パッチは、関連するデコーダシステム（１７，３；１８，４；２１，５）と通信する少なくとも一つのクライアントシステム（３−５）への送信のための少なくとも一つのＥＭＭ(Entitlement Management Message)で供給され、前記少なくとも一つのクライアントシステムにおける前記アプリケーションは、前記デコーダシステム（１７，３；１８，４；２１，５）に供給されるスクランブルされたコンテンツデータが、前記関連するデコーダシステムによって前記クライアントシステムに転送された少なくともＥＣＭ(Entitlement Control Messages)部分から解読されることを可能とするコントロールワードを生成するための少なくとも一つのルーチンを含む請求項１ないし７の何れか１項記載の方法。
【請求項９】
前記ＥＭＭは、前記デコーダシステム（１７，３；１８，４；２１，５）に伝送され、前記デコーダシステムは、前記ＥＭＭを前記クライアントシステム（３−５）に転送する請求項８記載の方法。
【請求項１０】
前記アプリケーションは、前記デコーダシステムに供給されるスクランブルされたコンテンツデータがデスクランブルされることを可能にする暗号化されたコントロールワードを含むＥＣＭ部分を解読するための少なくとも一つのルーチンを含み、少なくとも、前記パッチを含む前記ＥＭＭ部分は、それらが、前記パッチの適用に先だって前記クライアントシステムに保持された前記実際のパッチレベルの最新値に対応する所要のパッチレベルを表す情報と共に少なくとも一つのＥＣＭで前記デコーダシステムに供給される少なくとも一つのコントロールワードを用いて解読されることを可能にするように暗号化される請求項８または９の何れか１項記載の方法。
【請求項１１】
パッチは、時間上の第１ポイントで前記クライアントシステム（２−５）のうちの少なくとも一つに伝送され、入力データは、最初に、時間上の前記第１ポイントからイントロダクション時間インターバルだけ離れた時間上の第２ポイントで前記次の所要のパッチレベルを表すデータと共に前記クライアントシステムのうちの少なくとも一つに供給される請求項１ないし１０の何れか１項記載の方法。
【請求項１２】
プロセッサとメモリを備え、請求項１ないし１１の何れか１項記載の方法を実行するようにプログラムされたデータ処理システム。
【請求項１３】
プログラム可能な処理システム上で実行されると、前記システムが請求項１ないし１１の何れか１項記載の方法を実行することを可能とするように構成されたコンピュータプログラム。
【請求項１４】
プロセッサ（１２）およびメモリ（１３−１５）と、パッチを受信するためのインターフェイス（１６）およびクライアントシステム（２−５）にインストールされたアプリケーションのための入力データをロードするためのインターフェイス（１６）とを備えたクライアントシステム（２−５）に供給されるパッチを処理する方法であって、該方法は、実際のパッチレベルを表す情報を保持するステップと、前記実際のパッチレベルが入力データを備える情報で示された所要のパッチレベルと所定の関係にある場合にのみ前記アプリケーションに供給される前記入力データを処理することにより出力データを生成するステップとを含み、
前記クライアントシステム（２−５）は、前記クライアントシステムに保持された前記実際のパッチレベルを更新して、適切な命令を備えるパッチが適用されると次のパッチレベルを反映するように構成され、
前記クライアントシステムにおける少なくとも一つの識別値を格納すると共に、各格納された識別値が、前記パッチを備える少なくとも一つのターゲット識別値のセットのうちの各一つと所定の関係がある場合にのみ、前記クライアントシステムがパッチを受け入れることを許容することを特徴とする方法。
【請求項１５】
前記クライアントシステム（２−５）は、１度だけプログラム可能なメモリ（１３）を備え、前記格納された識別値は、前記一度だけプログラム可能なメモリに格納されたオーナー識別を含み、且つ、前記方法は、ターゲットオーナー識別が前記パッチを備えると共に、前記ターゲットオーナー識別が前記１度だけプログラム可能なメモリに格納された前記オーナー識別と所定の関係がある場合にのみ前記クライアントシステムが前記パッチを受け入れることを許容するステップを含む請求項１４記載の方法。
【請求項１６】
前記クライアントシステムは、プログラム可能なメモリ（１５）を備え、前記方法は、前記パッチが、前記プログラム可能なメモリ（１５）に格納された対応モデル識別と所定の関係にあるターゲットモデル識別を備える場合にのみ前記クライアントシステムがパッチを受け入れることを許容するステップを含む請求項１４または１５の何れか１項記載の方法。
【請求項１７】
前記次のレベルの値は、前記パッチを備える情報から導き出される請求項１４ないし１６の何れか１項記載の方法。
【請求項１８】
前記パッチを備える情報から前記パッチを適用するのに必要とされるパッチレベルの値を導き出すステップと、前記パッチを適用するのに必要とされる前記パッチレベルが前記実際のパッチレベルと所定の関係がある場合にのみ前記クライアントシステム（２−５）が前記パッチを適用することを許容するステップとを含む請求項１４ないし１７の何れか１項記載の方法。
【請求項１９】
前記パッチは、ＥＭＭ(Entitlement Management Message)で受信され、前記ＥＭＭの少なくとも一部は、少なくとも前記パッチの一部を得るために解読される請求項１４ないし１８の何れか１項記載の方法。
【請求項２０】
前記所要のパッチレベルを示す情報と共に暗号化された情報を含む入力データを受信するステップと、前記暗号化された情報を解読するために前記アプリケーションを実行するステップとを含む請求項１４ないし１９の何れか１項記載の方法。
【請求項２１】
パッチを受け入れるステップと、
前記パッチを適用するステップと、
以前の値の反映から前記保持された実際のパッチレベルを更新して次のパッチレベルを反映させるステップと、
前記パッチを適用した後に、時間上の第１ポイントよりも遅い時間上の第２ポイントから前記パッチの適用前の時間上の前記第１ポイントを隔てるイントロダクション時間インターバルの残りの部分の期間中に、前記以前のレベルとのみ所定の関係にある所要のパッチレベルの指示を含む入力データを前記アプロケーションが処理することを可能にするステップと
を備えた請求項１４ないし２０の何れか１項記載の方法。
【請求項２２】
パッチを受け入れるステップと、
前記パッチを適用するステップとを含み、
前記パッチを適用するステップは、前記クライアントシステム（２−５）における前記メモリ（１４，１５）の少なくとも一部の構成を再構成するための命令を実行するステップを含む請求項１４ないし２１の何れか１項記載の方法。
【請求項２３】
データ処理装置であって、プロセッサ（１２）と、メモリ（１３−１５）と、パッチを受信するためのインターフェイス（１６）と、該データ処理装置（２−５）にインストールされたアプリケーションに対する入力データをロードするためのインターフェイス（１６）とを備え、前記データ処理装置は、請求項１４ないし２２の何れか１項記載の方法を実行するようにプログラムされたデータ処理装置。
【請求項２４】
パッチを受信するための前記インターフェイス（１６）と入力データをロードするための前記インターフェイス（１６）は、前記データ処理装置（２−５）の外部のデータ処理システム（６；１７；１８；２１）におけるリード／ライトユニット（３１）に対する物理インターフェイスを備える請求項２３記載のデータ処理装置。
【請求項２５】
プロセッサ（１２）と、メモリ（１３−１５）と、パッチを受信するためのインターフェイス（１６）と、入力データをロードするためのインターフェイス（１６）とを備えたプログラム可能な処理システム上で実行されると、前記プログラム可能な処理システムが請求項１４ないし２２の何れか１項記載の方法を実行することを可能にするように構成されたコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のクライアントシステムにインストールされたソフトウェア用のパッチを供給する方法に関し、各クライアントシステムは、少なくとも、データプロセッサとメモリとを備えると共に、各クライアントシステムは、実際のパッチレベルを表す情報を保持し、且つ、必要なパッチレベルに対して実際のパッチレベルが所定の関係にある場合にのみ、前記必要なパッチレベルを表すデータと共に、インストールされたアプリケーションに提供される入力データを処理することにより、出力データを生成するようにプログラムされており、本方法は、パッチに包含(inclusion)するためのコンピュータプログラムコードを取得するステップであって、前記コードが、クライアントシステムにインストールされたソフトウェアの少なくとも一部と協調動作して前記パッチが前記クライアントシステムに適用された後に或るファンクションを実行するように構成されたステップと、前記クライアントシステムに保持された前記実際のパッチレベルを更新して次のレベルを反映させるための命令と共に少なくとも一つの第１クライアントシステムにおけるアプリケーションのための第１パッチを供給するステップとを含む。
【０００２】
また、本発明は、プロセッサおよびメモリを備えたデータ処理システムに関し、このような方法を実行するようにプログラムされている。
また、本発明は、プログラム可能な処理システム上で実行されると、該システムがこのような方法を実行することを可能とするように構成されたコンピュータプログラムに関する。
また、本発明は、プロセッサと、メモリと、パッチを受信するためのインターフェイスと、クライアントシステムにインストールされたアプリケーションに対する入力データをロードするためのインターフェイスとを備えたクライアントシステムに供給されるパッチを処理する方法に関し、本方法は、実際のパッチレベルを表す情報を保持するステップと、前記入力データを含む情報で示される所要のパッチレベルに対して実際のパッチレベルが所定の関係にある場合にのみ、前記アプリケーションに供給される入力データを処理することにより、出力データを生成するステップとを含み、前記クライアントシステムは、該クライアントシステムに保持されている前記実際のパッチレベルを更新して、適切な命令を備えるパッチが適用されると次のレベルを反映させるように構成されている。
【０００３】
また、本発明は、データ処理装置に関し、該データ処理装置は、プロセッサと、メモリと、パッチを受信するためのインターフェイスと、該データ処理装置にインストールされたアプリケーションに対する入力データをロードするためのインターフェイスを備える。
また、本発明は、更に、コンピュータプログラムに関する。
【背景技術】
【０００４】
上記方法の従来例は、ＥＰ−Ａ２−０２１７３５１から理解される。この公報は、通信制御装置を開示しており、この通信制御装置は、ローカル局と他のリモート局との間の通信を行うためにコンピュータネットワークに接続された送受信回路と、通信プログラムが格納された再書き込み可能な記憶装置と、前記送受信回路に受信されたパケットにおける通信制御プログラムのバージョン番号が前記記憶装置に格納された通信制御プログラムのバージョン番号よりも新しいか否かを判断するための比較ユニットとを備えている。コントローラは、前記通信制御プログラムの前記新しいバージョンを転送することを要求するメッセージをリモート局に送信することにより前記比較器からの出力に基づき前記プログラムを更新する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前記従来方法の問題は、全ての局が同一であること、または別のバージョン番号を有するパケットの使用を必要とすることである。通信プログラムの新バージョンは、もし、全ての局が同一バージョン番号を有するパケットの交換に関与し続けるのであれば、前記の全ての局において適用可能でなければならない。
【０００６】
本発明の目的は、複数のクライアントシステムのうちの一つにインストールされたソフトウェアの強制更新を可能にすると共に、クライアントシステム間の差別化(differentiation)を考慮した上述のタイプの方法を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的は、上記タイプのパッチを供給する方法によって達成され、それは、前記クライアントシステムに保持された実際のパッチレベルを更新して次のレベルを反映させるための命令と共に前記システムのうちの少なくとも一つの他のシステムのための第２パッチを供給することにより特徴づけられ、前記コードは、前記第１および第２パッチのうちの第１パッチでのみ供給される。
【０００８】
以下では、パッチなる用語は、インストールされたソフトウェアを修正し及び／又は強化するために該ソフトウェアに挿入するのに適したコード片を、プログラム可能な処理システムに供給するためのデータ構造を称するために使用される。上記パッチは、例えば、挿入されるべきパッチにおける任意のコードおよび上記の既にインストールされているソフトウェアのうちの一方または両方によって使用されるデータまたはファイルへのポインタの値を変更するために、該パッチが適用されるときにのみ実行されるコードを追加的に備えてもよい。従って、アプリケーションは、クライアントシステムに受信されたパッチが有効(functional)にされる処理を称する。
【０００９】
前記第１クライアントシステム又は複数の前記第１クライアントシステムと、前記他のクライアントシステム又は複数の前記他のクライアントシステムとの両方が、前記実際のパッチレベルを更新して同一の値を反映させるための命令を受信するので、一旦全てのクライアントシステムが更新されれば、全てのクライアントシステムに対する入力データは、一つの所要のパッチレベルのみを備えたものとなる。従って、クライアントシステムの全てにインストールされたアプリケーションが使用するための入力データを供給する際に、クライアントシステムを区別する必要がない。別のコード内容を有するパッチが他のクライアントシステム又は複数の他のクライアントシステムに供給されるので、別の既存構成のクライアントシステムを考慮に入れることが可能であり、または、別の方法で前記第１および他のクライアントシステムを再構成することが可能である。
【００１０】
本発明の他の態様によれば、パッチを供給する上記方法において、少なくとも一つの識別(identification)のターゲット値は各パッチを備えており、各クライアントシステムは、該クライアントシステムに格納された対応識別(corresponding identification)に対して前記値が各所定の関係にある場合にのみパッチを受け入れるためのフィルタを備える。
【００１１】
上記識別は各パッチを備えているので、クライアントシステム間の区別は、該クライアントシステムのためのパッチを供給する前に各クライアントシステムと個別に通信する必要なく考慮される。従って、複数のクライアントシステムにインストールされたソフトウェアを更新する効率的な方法が提供される。実際、本方法は、データキャリアにそのパッチの全てを供給することにより、またはネットワークを介して、全クライアントシステムのための全パッチをブロードキャストまたはマルチキャストするのに適している。
【００１２】
有利な実施形態によれば、ターゲットオーナー識別(target owner identification)の値は、少なくとも前記第１パッチを備えており、各クライアントシステムは、一回だけプログラム可能なメモリを備えていると共に、前記ターゲットオーナー識別が前記１度だけプログラム可能なメモリにプログラムされた対応オーナー識別に対して所定の関係にある場合にのみ前記クライアントシステムがパッチを受け入れることを許容するフィルタを備える。
【００１３】
従って、クライアントシステムが、該クライアントシステムに格納された識別の偶発的または意図的な未承認(unauthorized)の修正(modification)の結果として誤ったパッチを適用することが防止される。
【００１４】
好ましい実施形態において、ターゲットモデル識別(target model identification)の値は、少なくとも前記第１パッチを備え、各クライアントシステムは、プログラム可能なメモリを備えると共に、前記ターゲットモデル識別が、前記プログラム可能なメモリに格納された対応モデル識別に対して所定の関係にある場合にのみ前記クライアントシステムがパッチを受け入れることを許容するフィルタを備える。
【００１５】
従って、別のモデル識別をプログラムすることにより、もともとは同一であった別の構成のクライアントシステムを構築することが可能である。これは、クライアントシステムの単一基本モデル(single basic model)の別のバージョンを提供する比較的有効な方法である。
【００１６】
好ましくは、本方法は、クライアントシステムのためのパッチを供給するステップを更に備え、そのパッチは、前記クライアントシステムに、前記プログラム可能なメモリに格納された前記モデル識別を別の値に変更させるように構成される。
【００１７】
従って、クライアントシステムの単一基本モデルの別のバージョンは、単純に前記適切なパッチを供給することにより、前記クライアントシステムの各ユーザーに対する該クライアントシステムの配送後であっても構築され得る。
【００１８】
好ましい実施形態において、前記或るパッチレベルを示す情報は、少なくとも前記第１パッチを備える。
これは、数レベルを‘スキップ(skip)’するパッチの供給を可能にする。新たなレベルに至らせるシーケンスにおいて一つのクライアントシステムが数パッチを失う状況では、この変形(variant)は、失われた全ての前記パッチを一つずつ適用しなければならないことを防止する。
【００１９】
好ましい実施形態において、少なくとも前記第１パッチは、パッチを適用するのに必要とされる該パッチレベルを示す情報を備え、各クライアントシステムは、前記クライアントシステムに保持されている前記実際のパッチレベルが前記パッチを適用するために必要とされる前記パッチレベルに対して所定の関係にある場合にのみ前記クライアントシステムが前記パッチを適用することを許容するフィルタを備える。
【００２０】
従って、前記クライアントシステムは、前のパッチ(earlier)の前のアプリケーション(prior application)を必要とするパッチをファンクションに適切に適用することが禁止される。従って、それは、前記クライアントシステムにおける一連のパッチのアプリケーションの特定の所望のオーダー(order)を強要する。
【００２１】
好ましい実施形態において、パッチは、関連デコーダシステムとの通信において少なくとも一つのクライアントシステムに伝送するための少なくとも一つのＥＭＭ(Entitlement Management Message)で供給され、前記少なくとも一つのクライアントシステムにおける前記アプリケーションは、前記デコーダシステムに供給されるスクランブルコンテンツデータが、前記関連デコーダシステムによって前記クライアントシステムに転送された少なくともＥＣＭ(Entitlement Control Message)部分からデスクランブルされることを可能にするコントロールワードデータ(control word data)を生成するための少なくとも一つのルーチンを備える。
【００２２】
この変形は、本発明による前記方法の特に有用なアプリケーションである。なぜならば、それは、前記コントロールワードデータを生成するための更新されたソフトウェアの使用を強化するからである。従って、それは、前記クライアントシステムにおけるセキュリティの欠陥を修復するために使用することができる。特に、その欠陥は、別のクライアントシステムについては別の方法で修復するされることができる。
【００２３】
好ましい変形において、前記ＥＭＭは、前記デコーダシステムに伝送され、該デコーダシステムは、このＥＭＭを前記クライアントシステムに転送する。
従って、変化する位置でのクライアントシステムの無線での更新が可能とされる。
【００２４】
好ましい実施形態において、前記アプリケーションは、前記デコーダシステムに供給されるスクランブルデータがデスクランブルされることを可能にする暗号化されたコントロールワードを含むＥＣＭ部分を解読するための少なくとも一つのルーチンを備え、前記パッチを含む少なくとも前記ＥＭＭ部分は、前記パッチの適用に先だって前記クライアントシステムに保持された前記実際のパッチレベルの最新値に対応する所要のパッチレベルを表す情報と共に少なくとも一つのＥＣＭで前記デコーダシステムに供給される少なくとも一つのコントロールワードを用いて解読されることを可能とするように暗号化される。
従って、前もって、コントロールワードを生成することができるクライアントシステムのみが更新される。
【００２５】
好ましい実施形態において、パッチは、時間上の第１ポイントで前記クライアントシステムのうちの少なくとも一つに伝送され、入力データは、最初に、時間上の前記第１ポイントからイントロダクション時間インターバル(introduction time interval)だけ離れた時間上の第２ポイントで次の所要のパッチレベルを表すデータと共に前記クライアントシステムのうちの少なくとも一つに供給される。
【００２６】
従って、或る時間インターバルは、前記クライアントシステムにおいて前記パッチを適用するために利用可能である。これは、パッチ配信のブロードキャストモデルを可能にする。前記クライアントは、前記パッチの最初のブロードキャスト中にスイッチオフされ得るが、前記パッチが再びブロードキャストされて前記クライアントに受信されるまで機能を維持する。また、極めて短いインターバルの時間でクライアントシステムのグループの全てにパッチを転送することは必要ではなく、従って、前記パッチがネットワーク上を転送される場合における混雑を緩和する。
【００２７】
他の態様によれば、本発明は、プロセッサとメモリを備えるデータ処理システムを提供し、本発明による方法を実行するようにプログラムされる。
他の態様によれば、本発明は、プログラム可能な処理システム上で実行されると前記システムが本発明による方法を実行することを可能にするように構成されたコンピュータプログラムを提供する。
【００２８】
本発明の他の態様によれば、クライアントシステムに供給されたパッチを処理する方法は、前記クライアントシステムに少なくとも一つの識別値を格納するステップと、各格納された識別値が、前記パッチを備える少なくとも一つのターゲット識別値のセットのうちの各一つに対して所定の関係にある場合にのみ、前記クライアントシステムがパッチを受け入れることを許容するステップとにより特徴づけられる。
【００２９】
従って、前記クライアントシステムは、それに向けられたパッチのみを受け入れるように構成される。前記実際のパッチレベルの値が更新されるので、前記クライアントシステムは、別の効果を有するパッチを受信して適用する任意の他のクライアントシステムおよびそれに対する同一バージョン番号を備えた入力データを処理することが可能な状態を維持する。
【００３０】
好ましい実施形態は、
パッチを受け入れるステップと、
前記パッチを適用するステップとを含み、前記パッチを適用するステップは、前記クライアントシステムにおける前記メモリの少なくとも一部の構成を再構成するための命令を実行するステップを含む。
【００３１】
従って、前記クライアントシステムは、機能強化されたソフトウェアを実行するのに適したものとなる。さらにまた、前記クライアントシステムは、同一タイプの入力データを処理する他のクライアントシステムにおける別のパッチのアプリケーションによって必要とされる新たなフォーマットの入力データを処理するのに適したものになる。このような場合、前記クライアントシステムの機能性(functionality)は、決して前記パッチによっては、必ずしも変更されない。
【００３２】
他の態様によれば、本発明は、データ処理装置を提供し、該データ処理装置は、プロセッサと、メモリと、パッチを受信するためのインターフェイスと、該データ処理装置にインストールされたアプロケーションのための入力データをロードするためのインターフェイスとを備え、該装置は、本発明による方法を実行するようにプログラムされる。
パッチを受信するための前記インターフェイスと入力データをロードするための前記インターフェイスは、一つのインターフェイスに具現されてもよい。
【００３３】
好ましい実施形態において、パッチを受信するための前記インターフェイスと、入力データをロードするための前記インターフェイスは、前記データ処理装置の外部のデータ処理システムにおけるリード／ライトユニットに対する物理インターフェイスを備える。
従って、前記データ処理装置は、記録媒体(storage media)をリードするための装置を備えている必要がない。加えて、それは、長距離を経た遠隔更新(remote update)が可能とされるように、ネットワークに接続されたシステムに設けられたリード／ライトユニットに接続されることができる。
【００３４】
他の態様によれば、コンピュータプログラムが提供され、該コンピュータプログラムは、プログラム可能な処理システム上で実行されると該プログラム可能な処理システムが本発明による方法を実行することを可能にするように構成され、上記プログラム可能な処理システムは、プロセッサと、メモリと、パッチを受信するためのインターフェイスと、入力データをロードするためのインターフェイスとを備える。
【発明を実施するための最良の形態】
【００３５】
ここで、本発明は、添付の図面を参照して更に詳細に説明されるであろう。
図１は、スマートカード（クライアントシステム）のためのパッチ(patch)を供給する方法を実施するのに適した基幹構造(infrastructure)を示す。
図２は、図１のスマートカードにおけるチップの機能的構成要素の略図である。
図３は、スマートカードに保持されるようなモデル番号の構成の略図である。
【００３６】
ここでは、図１は、コンテンツデータをアクセスするための限定受信サブシステム(conditional access subsystems)として使用されるプログラム可能な処理装置の機能性を強化する方法を示す。付加的な機能性を提供するコードは、パッチ生成センター１で生成される。それは、１又は２以上のスマートカード（ＩＣカード(integrated circuit cards)としても知られている）に供給される。第１スマートカード２、第２スマートカード３、第３スマートカード４、および第４スマートカード５が、スマートカードの極めて多数の固体群の実例として図１にそれぞれ示されている。上記コードをスマートカード２−５に供給するために、以下に述べられるパッチを供給する方法は、上記パッチコードが図１に示されたシステムを通じて移動する際に少なくとも１回実行される。本方法の第１の変形例は、パッチを上記第１スマートカード２に供給するパーソナライゼーションセンター(personalisation centre)６によって達成される。第２の変形は、中間エンティティ(intermediate entities)を介して、上記第２スマートカード３、第３スマートカード４、および第４スマートカード５のためのパッチを供給する上記パーソナライゼーションセンター６によって達成される。本方法の第３の変形は、第１限定受信(conditional access; CA)システム７と第２限定受信システム８によって達成される。第４の変形は、ブロードキャスト送信器９と、ＥＭＭを送信するためのサーバー１１およびＶＯＤ(video-on-demand)サーバー１０を含むシステムとにより達成される。
【００３７】
スマートカードにおける集積回路(integrated circuit; IC)の機能的構成要素が図２に示されている。このスマートカードは、プロセッサ１２と、マスクＲＯＭ(mask Read Only Memory)１３と、ランダムアクセスメモリ(Random Access Memory; RAM)１４と、ＥＥＰＲＯＭ(Electronically Erasable Programmable Read Only Memory)１５とを備える。さらに、このスマートカードはシリアルインターフェイス１６を備える。このスマートカードの有利な他の実施形態は、暗号化コプロセッサ及び／又はバッテリーを備える。適したスマートカードは接触型または非接触型のものである。しかしながら、図１および図２は、接触型のスマートカード２−５のみを示している。いかなる場合でも、スマートカードは、このスマートカードの外部のデータ処理システムにおけるリード／ライトユニット（図２では示されていない）に対する物理インターフェイスを備えている。接触型スマートカードでは、このようなインターフェイスは、上記リード／ライトユニットにおける対応コンタクトピンと接触するためのコンタクトパッドの配列を備えている。非接触型スマートカードは、本技術分野で知られているようなアンテナの配列を備えている。
【００３８】
本明細書で述べられる本方法は、外部のデータ処理装置におけるリード／ライトユニットに対する物理インターフェイスを備えた他のタイプの携帯処理装置(portable processing devices)へのパッチ供給に対して同様に適用可能であることが理解される。このような装置の他の例は、ＰＣＭＣＩＡ標準に適合するカードであり、またはＵＳＢ(Universal Serial Bus)に含まれる処理装置である。更なる例は、当業者であれば想起することができる。更にまた、本明細書で述べられる本方法は、スマートカードの機能と同様の機能を満足すると共にセットトップボックス(set-top-box)または同様のデコーダシステムに組み込まれた安全性の高いソフトウェアエージェント(secure software agent)にパッチを供給するためにも適用可能である。
【００３９】
マスクＲＯＭ１３は、チップのオペレーティングシステム(operating system)を収容しており、製造工程の一環として作成される。マスクＲＯＭ１３の内容は変更できない。図１の例では、マスクＲＯＭ１３の内容は、スマートカードをエンドユーザーに利用可能にする特定のエンティティ(entity)に供給される１又は２以上のスマートカードのセットごとに異なるオーナー識別(owner identification)および固有のスマートカードシリアル番号を除いては、スマートカード２−５のそれぞれについて同一である。他の実施形態では、たとえ上記オーナー識別値及び／又はスマートカードシリアル番号が物理的に再書込み可能なメモリユニットに格納されても、スマートカードは、少なくとも上記オーナー識別値の再プログラミングを防止するように構成される。防止メカニズムは、光学消去可能でプログラミング可能なＲＯＭ(optically erasable programmable read-only memory)（図示なし）のマスキング、またはマスクＲＯＭ１３におけるメモリ制御ルーチンの適切な構成を含む。
【００４０】
マスクＲＯＭ １３及び／又はＥＥＰＲＯＭ １５に格納されたプログラムを実行する上で、ＲＡＭ １４は、プロセッサ１２によって使用されるべきメモリ作業領域(memory working space)を形成する。ＲＡＭ １４は揮発性のメモリである。
【００４１】
ＥＥＰＲＯＭ １５は、アプリケーションデータと、追加的なアプリケーションプログラムを保持する。ＥＥＰＲＯＭ １５は、プログラム制御の下でデータのライトおよびリードが可能なタイプの不揮発性メモリである。その内容は、チップに電源が供給されていないときでも保存される。ＥＥＰＲＯＭ １５のみならず、他のタイプの再書込み可能な不揮発性メモリが、本明細書で述べられる本方法を実施するために使用できる。
【００４２】
本実施形態におけるアプリケーションは、プログラム、またはソフトウェアであり、スマートカードによって遂行される機能を実施する。或るアプリケーションは、スマートカードがエンドユーザーに物理的に配布される前にインストールされる。これは、ＥＥＰＲＯＭ １５にコードをロードすることを必要とする。そして、スマートカードは、適切な命令(command)が発行されると上記コードを実行するように構成される。この作用(effect)に対する命令がシリアルインターフェイス１６を通じて供給され又はコール(call)が他のアプリケーションまたはソフトウェアルーチンによってなされるときに上記コードが実行されることを保証するため、スマートカードのタイプに応じて、上記オペレーティングシステムによって使用されるフィルタ値は調整されなければならないであろう。また、例えばＲＡＭ １４またはＥＥＰＲＯＭ １５のメモリにおける位置に対するポインタは、それらメモリに対するリードまたはライトのためにアプリケーションがインストールされることを可能とするために調整されなければならない。
【００４３】
スマートカード２−５上のアプリケーションによって実行される機能のうちの少なくとも一つは、有利には、コンテンツ保護機能であり、特に、データの暗号化処理における機能である。例えば、図１に示されるシステムでは、第２スマートカード３および第３スマートカード４は、例えばＤＶＢ(Digital Video Broadcasting)標準のコモンスクランブリングアルゴリズムまたはそれと同等のアルゴリズムに従ってブロードキャストネットワーク１９を介してブロードキャスト送信器９によって第１および第２集積受信デコーダ装置(Integrated Receiver Decoder Devices; IRD)１７，１８にブロードキャストされたＥＭＭ(Entitlement Management Messages)およびＥＣＭ(Entitlement Control Messages)で供給される入力データを解読(decrypt)する。同様に、第４スマートカード５は、通信ネットワーク２０、例えばインターネットを介して、第３ＩＲＤ ２１に対しサーバー１１によりＥＭＭで供給される情報と、ＶＯＤサーバー１０によりＥＣＭで供給される情報とを解読する。
【００４４】
コンテンツデータは、クリアコンテンツサーバー(clear content server)２２に格納される。コンテンツブロードキャストシステムでは、第１スクランブリングユニット２３は、一連の連続したコントロールワード(control word; CW)を用いてクリアコンテンツサーバー２２から受信したコンテンツデータをスクランブルする。コントロールワード（ＣＷ）は、第１ＣＡシステム７によってＥＣＭに挿入され、ＣＡシステム７は、第１スクランブリングユニット２３による暗号化のためにＥＣＭを戻す。第１スクランブリングユニット２３および第１ＣＡシステム７は一つに結合されてもよい。また、第１ＣＡシステム７は、所要のパッチレベルを表すデータを幾つかの又は全てのＥＣＭに挿入する。なぜなら、ＥＣＭは暗号化され、上記所要のパッチレベルを表すデータも暗号化されるからである。また、第１ＣＡシステム７も、第１ＳＭＳ(Subscriber Management System)２４から受信された情報を用いてＥＭＭを供給する。第１ＳＭＳ ２４は、ブロードキャストサービスの加入者(subscriber)に発行された第２スマートカード３および第３スマートカード４の詳細を格納するデータベースへのアクセス権を有する。マルチプレクシング(multiplexing unit)ユニット２５は、ＥＣＭ、ＥＭＭ、およびスクランブルされたコンテンツデータのストリームをトランスポートストリーム(transport stream)に多重化(multiplex)し、このトランスポートストリームは、ブロードキャスト送信器９によって加入者に供給される。所要のパッチレベルを表すデータの挿入を除いては、ブロードキャストシステムの動作はおおよそ標準的である。
【００４５】
ＶＯＤ(video-on-demand)タイプのコンテンツ配信では、クリアコンテンツデータ(clear content data)はクリアコンテンツサーバー２２によって第２スクランブリングユニット２６に供給される。第２スクランブリングユニット２６は、一連の変化するコントロールワード（ＣＷ）を用いて解読が可能であるようにコンテンツデータをスクランブルする。再び、コントロールワード（ＣＷ）は第２ＣＡシステム８に供給され、第２ＣＡシステム８は、コントロールワード情報を含むＥＣＭを戻す。幾つかの又は全てのＥＣＭは、所要のパッチレベルを表す情報を含み、それは、後述の方法で、第１ＣＡシステム７と同様に、第２ＣＡシステム８に知らされる。少なくともＥＣＭにおける所要のパッチレベルとコントロールワード情報は暗号化される。スクランブルされたコンテンツデータとＥＣＭはＶＯＤサーバー１０上でのその後の展開(play-out)のために格納される。ＶＯＤシステムは、第２ＣＡシステム８が、第２ＳＭＳ ２７と通信し、第２ＳＭＳ ２７が第４スマートカード５に関する情報を格納するように構成され、第４スマートカード５がＶＯＤシステムのユーザーに供給される点で、ブロードキャストシステムと似ている。この情報は、サービスを含み、第４スマートカードは、第４スマートカードのユニークな識別のみならず、例えばそのシリアル番号へのアクセス権を有する。ＥＭＭを送信するためのサーバー１１は、所要のパッチレベルを表すデータと一緒に、ＶＯＤサーバー１１に格納されたＥＣＭにおけるＣＷが読み取られることを可能にする第４スマートカード５のユーザーにＥＭＭを供給する。上述したようなＶＯＤシステムの動作は、ＥＣＭにおけるコントロールワード情報と共に所要のパッチレベルを表すデータを供給することを除いては、そのようなものとして知られている。
【００４６】
第２スマートカード３が、ブロードキャストネットワーク１９を介してスクランブルされたコンテンツをアクセスするために使用される場合には、それは、第１ＩＲＤ １７に挿入される。第１ＩＲＤ １７は、第２スマートカード３の外部にあると共にスマートカードリード／ライトモジュール（図示なし）を備えている。第１ＩＲＤ １７は、第１スマートカード３から受信したコントロールワードを用いて、スクランブルされたコンテンツデータをデスクランブルするためのデスクランブリングユニット（図示なし）を備える。デスクランブルされたコンテンツは、第１娯楽機器(entertainment device)２８、例えばテレビ受像機上で利用可能とされる。第２スマートカード３は、ＥＣＭおよびＥＭＭの暗号化された部分を解読するためのアプリケーションを備え、これらは、第１ＩＲＤ １７によってそれに転送される。
【００４７】
第２ＩＲＤ １８は、第２娯楽機器２９と接続されている。第２ＩＲＤ １８は第３スマートカード４と情報を交換する。同様に、第３ＩＲＤ ２１は、第４スマートカード５とデータを交換すると共に、第３娯楽機器３０にクリアコンテンツデータを利用可能にする。一例として本説明がほとんど第２スマートカード３を使用できるように、第２スマートカード３、第３スマートカード４、および第４スマートカード５は同様に動作する。
【００４８】
パッチは、ＥＭＭにおける権利情報(entitlement information)またはＥＣＭにおけるコントロールワード情報の暗号化処理のためのインストールされたプログラムの修正(modification)を実施するために第２スマートカード３に供給されることができる。このような修正は、使用中に発見されたセキュリティにおける欠陥(breach)によって引き起こされてもよい。他の修正は、スマートカード３−５の何れかにインストールされた重要でないソフトウェアの機能における問題を解決する。他のパッチは、スマートカード３−５の幾つか又は全ての機能を強化してもよい。
【００４９】
スマートカード３−５のそれぞれには、フィルターがインストールされている。このスマートカードは、受信するパッチをフィルタリングし、パッチを備えた情報を用いて、プログラムされたフィルター基準を満足するもののみを受け入れる。受け入れられたパッチは、その後の使用のためにそのＥＥＰＲＯＭ １５にロードされる。パッチ機能を与える(render)ために、それが適用されなければならない。このため、パッチは、その後の繰り返し使用のためにインストールされるべきコードと、パッチの適用中に一度だけ実行される命令(instruction)とを含む。後者は、ソフトウェアの初回のインストレーション(installation)と同じような処理である。
【００５０】
好ましくは、フィルターはソフトウェアで実施される。それは、有利には、オペレーティングシステムの一部であり、または少なくとも部分的にマスクＲＯＭ １３あるいは他のタイプの１度だけプログラム可能なメモリに格納される。従って、それは、ハッカー(hacker)による攻撃によって損なわれることはない。フィルター、オペレーティングシステム、またはパッチローダープログラムは、実際のパッチレベルを表す情報を維持し、それは、ＥＥＰＲＯＭ １５に格納される。また、スマートカードのこの構成要素は、ＥＥＰＲＯＭ １５に格納された情報によって表されるような実際のパッチレベルを更新することを知らせるパッチを備えた命令にも応答する。従って、この実際のパッチレベルは、スマートカードにおいて適用されるパッチの数を反映する。本明細書で詳細に述べられる変形例では、命令(instruction)は、パッチのコードを運ぶメッセージに含まれる。あるいは、この命令は、受け入れられたパッチが適用される度に、スマートカードが、自動的に実際のパッチレベルを増大させる点で、潜在的(implicit)であってもよい。他の変形例では、命令は、パッチが適用されるときに一度実行されるコードを含むパッチの一部に含まれてもよい。
【００５１】
ＥＣＭのうちの少なくとも幾つかは、暗号化されたコントロールワード情報に加えて、所要のパッチレベルを表すデータを含むことが思い出される。暗号化されたコントロールワード情報は、もし、所要のパッチレベルが実際のパッチレベルと所定の関係にあれば、ＩＲＤ １７，１８，２１におけるデスクランブラーに供給されるだけである。ここで、パッチが適用されたときにパッチレベルが増やされ、所要のパッチレベルは、アプリケーションが解読されたコントロールワードを機能に供給するために、実際のパッチレベルに等しいか又は低くなければならない。従って、第１ＣＡシステム７および第２ＣＡシステム８のオペレータは、加入者に所有されている第２スマートカード３、第３スマートカード４、第４スマートカード５に対して直接的な物理的コントロールを有していなくても、これらスマートカード３−５においてパッチが適用されることを確保する。
【００５２】
パッチは、パッチ生成センター（ＰＣＣ）１で生成されてテストされる。各パッチは、暗号化されて、パーソナライゼーションセンター６にファイルで供給される。パーソナライゼーションセンター６は、特定のパッチが向けられたスマートカードの識別のターゲット値と共に、第１スマートカード２、第２スマートカード３、第３スマートカード４、および第４スマートカード５にパッチを供給する。パーソナライゼーションセンター６は、スマートカードリード／ライトユニット３１を用いて、第１スマートカード２にパッチを直接的に供給する。第１スマートカード２は、例えば、エンドユーザーにまだ配布されていないカードである。第２スマートカード３ないし第４スマートカード５は、フィールドにおいて既に使用されているものであるが、第１ＣＡシステム７および第２ＣＡシステム８の媒介を通じてパッチが供給される。
【００５３】
パッチは、第１ＩＲＤ １７、第２ＩＲＤ １８、第３ＩＲＤ ２１にメッセージで供給され、これらＩＲＤは、それらを第２スマートカード３、第３スマートカード４、第４スマートカード５に転送する。具体的には、上記パッチは、第１ＣＡシステム７および第２ＣＡシステム８によって生成された一つまたは複数の特別なＥＭＭで供給される。スマートカード２−５のそれぞれは、それ自身の特有のコードと共にパッチを受信する。それらのうちの一つのみの機能性が強化され、またはそれらのうちの一つのみにおけるバグ(bug)が修復され得る。従って、スマートカード２−５のそれぞれは、継続してＥＣＭを処理することが可能となる。これは、スマートカード２−５のそれぞれが、パッチと、このパッチを適用するための命令とを備えるためである。従って、それらのそれぞれは、ＥＥＰＲＯＭ １５に保持された実際のパッチレベルを更新して次のレベルを反映させるように命令される。パッチによって供給される機能性は、スマートカード間で異なってもよい。実際、それらのうちの幾つかは、スマートカードにインストールされたソフトウェアの機能性をパッチの適用以前の状態にしておくパッチ、即ち“ダミーパッチ”を備えてもよい。
【００５４】
パッチは、リンクレベルでアドレスされたメッセージで運ばれてもよく、即ち、ＩＲＤ １７、１８、２１のアドレスを有する。また、それらは、少なくとも一つの識別のターゲット値を備える。従って、これは、アプリケーションレベルでのアドレスの形式である。対応識別値は、それがどのパッチを受け入れかを知るために、スマートカード２−５のそれぞれに格納される。識別値の形式は、一つの値でスマートカードのグループをアドレスすることが可能であるようなものである。換言すると、パッチは、各スマートカードに個々にアドレスされる必要はない。これは、通信ネットワーク２０およびブロードキャストネットワーク１９の更なる有効利用に貢献する。なぜなら、パッチを運ぶメッセージは、ブロードキャストまたはマルチキャストされることができるからである。
【００５５】
パッチを運ぶ特別なＥＭＭのうちの少なくとも一つは、ターゲットオーナー識別(target owner identification)を備える。スマートカードのフィルターは、ターゲットオーナー識別と、スマートカードに格納されたオーナー識別とを比較する。スマートカードは、上記二つの値が一致したときにのみパッチを受け入れることが許可される。オーナー識別値はスマートカードのプロバイダーに固有であることが思い起こされる。従って、第１ＣＡシステム７のオペレータは、第２ＣＡシステム８のオペレータに割当てられた値とは異なるオーナー識別値を有するであろう。これは、多数のオペレータが、同一ネットワーク、例えばインターネットを通じて特別なＥＭＭをブロードキャスト、マルチキャスト、あるいはユニキャストする場合にとりわけ有用である。
【００５６】
また、パッチを運ぶ特別なＥＭＭは、ターゲットモデル識別番号を備える。スマートカード２−５のそれぞれは、ＥＥＰＲＯＭ １５に実際のモデル識別値を格納するように構成される。この実際のモデル識別値は、スマートカードのソフトウェア構成における変化を反映するためにスマートカードの製品寿命(life time)にわたって進化(evolve)する。モデル識別値３２の形式は図３に示される。それは、ＥＥＰＲＯＭ １５の或るレイアウトを表す特有の値である（パッチ、プロダクト、セクターの番号）。メジャーモデルバージョン３３をエンコードするために４ビットが使用され、マイナーモデルバージョン３４をエンコードするために４ビットが使用され、ビルド番号(build number)３５をエンコードするために８ビットが使用され、バリアント番号(variant number)３６をエンコードするために８ビットが使用される。パッチは、実際のモデル番号が、このパッチを備えるターゲットモデル識別値と所定の関係がある場合にのみ受け入れられる。例えば、少なくとも、メジャーモデルバージョン３３およびマイナーモデルバージョン３４は一致すべきであり、または、全体のモデル番号は同一であるべきである。
【００５７】
モデル識別値３２の第１部分は、スマートカード集積回路のハードウェア構成を反映する。第２部分は、インストールされたソフトウェア構成に対応するメモリレイアウトを反映する。モデル番号の一つの使用は、第２スマートカード３および第３スマートカード４を提供するためであり、それらは、フィールドで使用される上で、異なる機能性と共に同一のオーナー識別値を有する。これを行うために、第２スマートカード３および第３スマートカード４は、両方ともスプリッターパッチ(splitter patch)が送られ、それが適用される。その結果、パッチレベルは増加される。スプリッターパッチは、ＥＭＭで適切な命令が受信されると実行されるコードを含む。第２スマートカード３および第３スマートカード４のうちの一つのみに、上記コードを実行するための命令が送られる。それが実行されると、上記コードは、第２スマートカード３または第３スマートカード４に保持された実際のモデル識別値のバリアント番号３６を修正する。その結果、二つの異なるパッチがブロードキャスト送信器９によってブロードキャストされる。一つは、ターゲットモデル識別値としての修正されたモデル番号を備え、もう一つは、ターゲットモデル識別値としての以前のモデル番号を備える。これらパッチのうちの一つのみが、パッチが適用されると強化された機能性を供給するコードを含む。他方のパッチは、“ダミーパッチ”であってもよい。
【００５８】
追加的な機能性は、異なる構成のＥＥＰＲＯＭ １５を必要としてもよい。これは、第２スマートカード３および第３スマートカード４の両方によって使用される移転変数(re-locating variable)を含むことができる。その場合、スプリッターパッチ(splitter patch)、またはセパレートパッチ(separate patch)は、第２スマートカード３および第３スマートカード４の両方に送られる。このようなパッチは、スマートカードのメモリ構成を再構成するための命令を備え、その命令はパッチが適用されると実行される。このようなメモリ構成は、スマートカードに適合される。例えば、別のタイプのデータに割当てられた別のサイズのメモリを備えることは可能かもしれない。これは、カードに関して利用可能な特定の物理的メモリサイズ、メモリアドレス範囲の観点での制限などを考慮に入れるために行われ得る。このようなパッチは、利用可能なメモリの別の部分にデータを移転し、及び／又はデータを格納することにおける制限を考慮するための機能性を提供する。好ましい変形例では、パッチは、クライアント装置の構成を検出するため、および前記検出された構成に応じてメモリ構成を再構成するために、クライアント装置において適用されるときに構成される。
【００５９】
パッチを運ぶ特別なＥＭＭで供給される更なる情報はターゲットパッチレベルを含む。スマートカードにおけるフィルターは、パッチがＥＥＰＲＯＭ １５に格納された実際のパッチレベルと所定の関係にあるターゲットパッチレベルを備える場合に、スマートカードがパッチを受け取ることを許容するのみである。このことは、パッチが、所定の順序でスマートカード２−５のそれぞれにおいて適用されることを保証する。このことは有利である。なぜなら、一つのパッチにおけるコードは、適切に機能するために以前のパッチによって供給される機能の有用性(availability)を必要とするかもしれないからである。第２スマートカード３、第３スマートカード４、第４スマートカード５は、パッチを無線を介して受信し、そして第１ＩＲＤ １７、第２ＩＲＤ １８、第３ＩＲＤ ２１によって転送されたメッセージで受信するため、これらスマートカード３−５のうちの一つがパッチ失う可能性が存在する。他の変形例では、上記所定の関係を満足しないパッチが受け入れられてもよいが、更なるアプリケーションのためにＥＥＰＲＯＭ １５にファイルとして格納される。
【００６０】
有利には、パッチは、このパッチが適用されると次のレベルを反映する情報を備える。このことは、スマートカードが数レベルを‘スキップ’することを可能にする。スマートカードは、単に、多数のパッチによって供給される強化(enhancements)を結集するパッチを適用し、そして次のレベルを反映させるためにＥＥＰＲＯＭ １５における実際のパッチレベル値を更新するだけであある。このことは、第２スマートカード３、第３スマートカード４、第４スマートカード５のうちの一つが、ある期間、第１ＩＲＤ １７、第２ＩＲＤ １８、第３ＩＲＤ ２１の何れかと通信していなければ、またはこれらＩＲＤが長期間にわたって使用されていなければ、有利である。また、この特徴は、まだ配送されていない第１スマートカード２に組み込まれた基本ソフトウェアに対する多数の強化(enhancements)のインストレーション(installation)を高速化するために有用である。
【００６１】
ウィルスからスマートカード３−５を保護するために、ブロードキャストネットワーク１９および通信ネットワーク２０を介して供給されるパッチは暗号化され、そしてスマートカード３−５に安全に格納されているキーと共にキーペア(key pairs)を形成するキーを用いて認証される。有利には、パッチの一部または全部を運ぶＥＭＭは、ＥＣＭまたは複数のＥＣＭで供給される１又は２以上のコントロールワードを用いたデスクランブルを可能とするために、スクランブルされた形式のパッチコードを含む。一つの変形例では、スマートカード３−５は、ＥＣＭまたは複数のＥＣＭからコントロールワードを取り出し、そしてＩＲＤ １７，１８，２１におけるデスクランブルユニットは上記パッチコードをデスクランブルする。しかしながら、セキュリティ上の理由のため、スマートカード３−５におけるパッチコードを運ぶＥＭＭの暗号化された部分を解読することが好ましい。従って、スマートカード３−５は、暗号化されたパッチコードを取り出すだけである。
【００６２】
好ましくは、イントロダクション期間の後にパッチレベルが増加する。イントロダクション期間中、第２スマートカード３、第３スマートカード４、第４スマートカード５に格納された実際のパッチレベルとＥＣＭで示される所要のパッチレベルとの間の所定の関係は、もし、第２スマートカード３、第３スマートカード４、第４スマートカード５が、次の、即ち増加されたパッチレベルであれば満足されるのみならず、それらが次のパッチレベルよりも下の一つのパッチレベルであれば満足される。一つの変形例では、第２スマートカード３、第３スマートカード４、第４スマートカード５には、イントロダクション時間インターバルを示す情報が送られる。パッチレベルを強要(enforce)することに関与するアプリケーションは、イントロダクション時間インターバル中の暗号化されたコントロールワードの解読を可能にする。実際の時間は、この技術分野で知られているようなＩＲＤ １７，１８，２１のうちの一つにおけるクロックから、内部クロックから、スクランブルされた権利メッセージ（ＥＣＭ及び／又はＥＭＭ）におけるタイムスタンプから、第２スマートカード３、第３スマートカード４、第４スマートカード５によって取得されてもよい。
【００６３】
好ましい、より簡単な変形例では、パッチは、時間上の第１ポイントで、第２スマートカード３、第３スマートカード４、第４スマートカード５のうちの少なくとも一つに伝送され、そして、入力データは、最初に、イントロダクション時間インターバルだけ時間上の第１ポイントから離れた時間上の第２ポイントで、次の所要のパッチレベルを表すデータと共にスマートカード３−５のうちの少なくとも一つに供給される。従って、スマートカード３−５は、このために時間の経過を意識する必要はない。
【００６４】
パーソナライゼーションセンター６がスマートカード２−５にインストールされたソフトウェアのためのパッチを提供する方法の変形例を実行することが述べられた。パーソナライゼーションセンター６は、パッチ生成センター１からパッチを取得する。もし、スマートカード２−５が１又は２以上のパッチレベルを上げれば、上記パッチのうちの少なくとも一つは、スマートカード２−５のうちの１又は２以上にインストールされたソフトウェアコンポーネントの少なくとも一部を強化し又は置き換えるためのプログラムコードを含む。他のパッチは、機能強化を提供するコードを全く含まなくてもよく、またはそれらは、別の機能強化または修正を提供してもよい。
【００６５】
示された例では、パーソナライゼーションセンター６は、二つの異なる方法でパッチを供給する。第１に、それは、特別なＥＭＭで第２スマートカード３、第３スマートカード４、第３スマートカード５に供給される情報に対応する情報と適切なパッチとを第１スマートカード２に供給することにより、第１スマートカード２を直接的に更新する。従って、第１スマートカード２は、次のパッチレベルを示す情報および所要のパッチレベルのみならず、ターゲットモデル識別値とターゲットオーナー識別値と共にパッチを受信し、その値は、パッチが適用されると第１スマートカード２に保存される。
【００６６】
第２に、パーソナライゼーションセンター６は、第１ＣＡシステム７および第２ＣＡシステム８にパッチを供給する。第２スマートカード３および第３スマートカード４のためのパッチは、第１パッチアップロードファイルで供給される。第４スマートカード５のためのパッチは、第２パッチアップロードパッチで供給される。更に、第１スマートカードアップロードファイルは、第１ＣＡシステム７のために生成されると共に、第２スマートカードアップロードファイルは、第２ＣＡシステム８のために生成される。スマートカードアップロードファイルは、固有のスマートカード情報を備える。第１スマートカードアップロードファイルは、ターゲットモデル識別、所要のパッチレベル及び次のグローバルパッチレベルの値のみならず、第２スマートカード３および第３スマートカード４のシリアル番号を含む。従って、それは、潜在的に、それに向けられたパッチが適用されると次のパッチレベルを反映させるために、第２スマートカード３および第３スマートカード４に保持された実際のパッチレベルを更新するための第２スマートカード３および第３スマートカード４に対する命令(instruction)を含む。このパッチは、パッチアップロードファイルに含まれる。第１および第２パッチアップロードファイルと第１および第２スマートカードアップロードファイルは、コンパクトディスクのようなデータキャリアで、またはネットワークを介した伝送により第１および第２ＣＡシステム７，８に供給される。両方のファイルは暗号化されると共に、パッチ生成センターによって署名(sign)される。第１および第２ＣＡシステムが対応するキーを有している場合にのみ、それらはファイルをアクセスすることができ、そしてそれらの起源(origin)を検証(verify)することができる。
【００６７】
本発明は、上述の実施形態に限定されるものではなく、それは、添付のクレームの範囲内で変形されてもよい。例えば、スマートカードに格納された実際のモデル番号のメジャーモデルバージョン３３のようなフィールドのいつくかは、再書き込み不能のメモリの一部に格納されてもよい。また、パッチは、全てのスマートカード３−５に特別な１又は２以上のＥＭＭで一緒にブロードキャストされてもよく、スマートカード３−５は、正しいものをフィルタリングして取り出し、または、実際に関連パッチを適用するスマートカード３−５に対して別々にユニキャスト及び／又はマルチキャストされてもよい。
【図面の簡単な説明】
【００６８】
【図１】スマートカードのためのパッチを供給する方法を実施するのに適した基幹構造(infrastructure)を示す図である。
【図２】図１のスマートカードにおけるチップの機能的構成要素を示す略図である。
【図３】スマートカードに保持されるようなモデル番号の構成を概略的に示す略図である。
【符号の説明】
【００６９】
１  パッチ生成センター
２〜５  スマートカード
６  パーソナライゼーションセンター
７，８  限定受信システム
【図１】
2006079611.tif 000003
【図２】
2006079611.tif 000004
【図３】
2006079611.tif 000005