JP2006079611A - ソフトウェア用のパッチを供給する方法 - Google Patents
ソフトウェア用のパッチを供給する方法 Download PDFInfo
- Publication number
- JP2006079611A JP2006079611A JP2005256922A JP2005256922A JP2006079611A JP 2006079611 A JP2006079611 A JP 2006079611A JP 2005256922 A JP2005256922 A JP 2005256922A JP 2005256922 A JP2005256922 A JP 2005256922A JP 2006079611 A JP2006079611 A JP 2006079611A
- Authority
- JP
- Japan
- Prior art keywords
- patch
- client system
- level
- smart card
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
【課題】 複数のクライアントシステムのうちの一つにインストールされたソフトウェアの更新を可能にする。
【解決手段】 クライアントシステム(2−5)は、データプロセッサとメモリを備え、実際のパッチレベルが所要のパッチレベルと所定の関係にある場合にのみ所要のパッチレベルを表すデータと共にアプリケーションの入力データを処理するようにプログラムされる。本方法は、パッチに包含されるコードを取得するステップと、クライアントシステムに保持された実際のパッチレベルを更新するための命令と共に第1クライアントシステムでの適用のための第1パッチを供給するステップとを備え、クライアントシステムに保持された実際のパッチレベルを更新して次のレベルを反映させる命令と共にクライアントシステムのうちの少なくとも他の一つのための第2パッチを供給するステップを備えたことを特徴とし、前記コードは、前記第1パッチでのみ供給される。
【選択図】 図1
【解決手段】 クライアントシステム(2−5)は、データプロセッサとメモリを備え、実際のパッチレベルが所要のパッチレベルと所定の関係にある場合にのみ所要のパッチレベルを表すデータと共にアプリケーションの入力データを処理するようにプログラムされる。本方法は、パッチに包含されるコードを取得するステップと、クライアントシステムに保持された実際のパッチレベルを更新するための命令と共に第1クライアントシステムでの適用のための第1パッチを供給するステップとを備え、クライアントシステムに保持された実際のパッチレベルを更新して次のレベルを反映させる命令と共にクライアントシステムのうちの少なくとも他の一つのための第2パッチを供給するステップを備えたことを特徴とし、前記コードは、前記第1パッチでのみ供給される。
【選択図】 図1
Description
本発明は、複数のクライアントシステムにインストールされたソフトウェア用のパッチを供給する方法に関し、各クライアントシステムは、少なくとも、データプロセッサとメモリとを備えると共に、各クライアントシステムは、実際のパッチレベルを表す情報を保持し、且つ、必要なパッチレベルに対して実際のパッチレベルが所定の関係にある場合にのみ、前記必要なパッチレベルを表すデータと共に、インストールされたアプリケーションに提供される入力データを処理することにより、出力データを生成するようにプログラムされており、本方法は、パッチに包含(inclusion)するためのコンピュータプログラムコードを取得するステップであって、前記コードが、クライアントシステムにインストールされたソフトウェアの少なくとも一部と協調動作して前記パッチが前記クライアントシステムに適用された後に或るファンクションを実行するように構成されたステップと、前記クライアントシステムに保持された前記実際のパッチレベルを更新して次のレベルを反映させるための命令と共に少なくとも一つの第1クライアントシステムにおけるアプリケーションのための第1パッチを供給するステップとを含む。
また、本発明は、プロセッサおよびメモリを備えたデータ処理システムに関し、このような方法を実行するようにプログラムされている。
また、本発明は、プログラム可能な処理システム上で実行されると、該システムがこのような方法を実行することを可能とするように構成されたコンピュータプログラムに関する。
また、本発明は、プロセッサと、メモリと、パッチを受信するためのインターフェイスと、クライアントシステムにインストールされたアプリケーションに対する入力データをロードするためのインターフェイスとを備えたクライアントシステムに供給されるパッチを処理する方法に関し、本方法は、実際のパッチレベルを表す情報を保持するステップと、前記入力データを含む情報で示される所要のパッチレベルに対して実際のパッチレベルが所定の関係にある場合にのみ、前記アプリケーションに供給される入力データを処理することにより、出力データを生成するステップとを含み、前記クライアントシステムは、該クライアントシステムに保持されている前記実際のパッチレベルを更新して、適切な命令を備えるパッチが適用されると次のレベルを反映させるように構成されている。
また、本発明は、プログラム可能な処理システム上で実行されると、該システムがこのような方法を実行することを可能とするように構成されたコンピュータプログラムに関する。
また、本発明は、プロセッサと、メモリと、パッチを受信するためのインターフェイスと、クライアントシステムにインストールされたアプリケーションに対する入力データをロードするためのインターフェイスとを備えたクライアントシステムに供給されるパッチを処理する方法に関し、本方法は、実際のパッチレベルを表す情報を保持するステップと、前記入力データを含む情報で示される所要のパッチレベルに対して実際のパッチレベルが所定の関係にある場合にのみ、前記アプリケーションに供給される入力データを処理することにより、出力データを生成するステップとを含み、前記クライアントシステムは、該クライアントシステムに保持されている前記実際のパッチレベルを更新して、適切な命令を備えるパッチが適用されると次のレベルを反映させるように構成されている。
また、本発明は、データ処理装置に関し、該データ処理装置は、プロセッサと、メモリと、パッチを受信するためのインターフェイスと、該データ処理装置にインストールされたアプリケーションに対する入力データをロードするためのインターフェイスを備える。
また、本発明は、更に、コンピュータプログラムに関する。
また、本発明は、更に、コンピュータプログラムに関する。
上記方法の従来例は、EP−A2−0217351から理解される。この公報は、通信制御装置を開示しており、この通信制御装置は、ローカル局と他のリモート局との間の通信を行うためにコンピュータネットワークに接続された送受信回路と、通信プログラムが格納された再書き込み可能な記憶装置と、前記送受信回路に受信されたパケットにおける通信制御プログラムのバージョン番号が前記記憶装置に格納された通信制御プログラムのバージョン番号よりも新しいか否かを判断するための比較ユニットとを備えている。コントローラは、前記通信制御プログラムの前記新しいバージョンを転送することを要求するメッセージをリモート局に送信することにより前記比較器からの出力に基づき前記プログラムを更新する。
前記従来方法の問題は、全ての局が同一であること、または別のバージョン番号を有するパケットの使用を必要とすることである。通信プログラムの新バージョンは、もし、全ての局が同一バージョン番号を有するパケットの交換に関与し続けるのであれば、前記の全ての局において適用可能でなければならない。
本発明の目的は、複数のクライアントシステムのうちの一つにインストールされたソフトウェアの強制更新を可能にすると共に、クライアントシステム間の差別化(differentiation)を考慮した上述のタイプの方法を提供することにある。
上記目的は、上記タイプのパッチを供給する方法によって達成され、それは、前記クライアントシステムに保持された実際のパッチレベルを更新して次のレベルを反映させるための命令と共に前記システムのうちの少なくとも一つの他のシステムのための第2パッチを供給することにより特徴づけられ、前記コードは、前記第1および第2パッチのうちの第1パッチでのみ供給される。
以下では、パッチなる用語は、インストールされたソフトウェアを修正し及び/又は強化するために該ソフトウェアに挿入するのに適したコード片を、プログラム可能な処理システムに供給するためのデータ構造を称するために使用される。上記パッチは、例えば、挿入されるべきパッチにおける任意のコードおよび上記の既にインストールされているソフトウェアのうちの一方または両方によって使用されるデータまたはファイルへのポインタの値を変更するために、該パッチが適用されるときにのみ実行されるコードを追加的に備えてもよい。従って、アプリケーションは、クライアントシステムに受信されたパッチが有効(functional)にされる処理を称する。
前記第1クライアントシステム又は複数の前記第1クライアントシステムと、前記他のクライアントシステム又は複数の前記他のクライアントシステムとの両方が、前記実際のパッチレベルを更新して同一の値を反映させるための命令を受信するので、一旦全てのクライアントシステムが更新されれば、全てのクライアントシステムに対する入力データは、一つの所要のパッチレベルのみを備えたものとなる。従って、クライアントシステムの全てにインストールされたアプリケーションが使用するための入力データを供給する際に、クライアントシステムを区別する必要がない。別のコード内容を有するパッチが他のクライアントシステム又は複数の他のクライアントシステムに供給されるので、別の既存構成のクライアントシステムを考慮に入れることが可能であり、または、別の方法で前記第1および他のクライアントシステムを再構成することが可能である。
本発明の他の態様によれば、パッチを供給する上記方法において、少なくとも一つの識別(identification)のターゲット値は各パッチを備えており、各クライアントシステムは、該クライアントシステムに格納された対応識別(corresponding identification)に対して前記値が各所定の関係にある場合にのみパッチを受け入れるためのフィルタを備える。
上記識別は各パッチを備えているので、クライアントシステム間の区別は、該クライアントシステムのためのパッチを供給する前に各クライアントシステムと個別に通信する必要なく考慮される。従って、複数のクライアントシステムにインストールされたソフトウェアを更新する効率的な方法が提供される。実際、本方法は、データキャリアにそのパッチの全てを供給することにより、またはネットワークを介して、全クライアントシステムのための全パッチをブロードキャストまたはマルチキャストするのに適している。
有利な実施形態によれば、ターゲットオーナー識別(target owner identification)の値は、少なくとも前記第1パッチを備えており、各クライアントシステムは、一回だけプログラム可能なメモリを備えていると共に、前記ターゲットオーナー識別が前記1度だけプログラム可能なメモリにプログラムされた対応オーナー識別に対して所定の関係にある場合にのみ前記クライアントシステムがパッチを受け入れることを許容するフィルタを備える。
従って、クライアントシステムが、該クライアントシステムに格納された識別の偶発的または意図的な未承認(unauthorized)の修正(modification)の結果として誤ったパッチを適用することが防止される。
好ましい実施形態において、ターゲットモデル識別(target model identification)の値は、少なくとも前記第1パッチを備え、各クライアントシステムは、プログラム可能なメモリを備えると共に、前記ターゲットモデル識別が、前記プログラム可能なメモリに格納された対応モデル識別に対して所定の関係にある場合にのみ前記クライアントシステムがパッチを受け入れることを許容するフィルタを備える。
従って、別のモデル識別をプログラムすることにより、もともとは同一であった別の構成のクライアントシステムを構築することが可能である。これは、クライアントシステムの単一基本モデル(single basic model)の別のバージョンを提供する比較的有効な方法である。
好ましくは、本方法は、クライアントシステムのためのパッチを供給するステップを更に備え、そのパッチは、前記クライアントシステムに、前記プログラム可能なメモリに格納された前記モデル識別を別の値に変更させるように構成される。
従って、クライアントシステムの単一基本モデルの別のバージョンは、単純に前記適切なパッチを供給することにより、前記クライアントシステムの各ユーザーに対する該クライアントシステムの配送後であっても構築され得る。
好ましい実施形態において、前記或るパッチレベルを示す情報は、少なくとも前記第1パッチを備える。
これは、数レベルを‘スキップ(skip)’するパッチの供給を可能にする。新たなレベルに至らせるシーケンスにおいて一つのクライアントシステムが数パッチを失う状況では、この変形(variant)は、失われた全ての前記パッチを一つずつ適用しなければならないことを防止する。
これは、数レベルを‘スキップ(skip)’するパッチの供給を可能にする。新たなレベルに至らせるシーケンスにおいて一つのクライアントシステムが数パッチを失う状況では、この変形(variant)は、失われた全ての前記パッチを一つずつ適用しなければならないことを防止する。
好ましい実施形態において、少なくとも前記第1パッチは、パッチを適用するのに必要とされる該パッチレベルを示す情報を備え、各クライアントシステムは、前記クライアントシステムに保持されている前記実際のパッチレベルが前記パッチを適用するために必要とされる前記パッチレベルに対して所定の関係にある場合にのみ前記クライアントシステムが前記パッチを適用することを許容するフィルタを備える。
従って、前記クライアントシステムは、前のパッチ(earlier)の前のアプリケーション(prior application)を必要とするパッチをファンクションに適切に適用することが禁止される。従って、それは、前記クライアントシステムにおける一連のパッチのアプリケーションの特定の所望のオーダー(order)を強要する。
好ましい実施形態において、パッチは、関連デコーダシステムとの通信において少なくとも一つのクライアントシステムに伝送するための少なくとも一つのEMM(Entitlement Management Message)で供給され、前記少なくとも一つのクライアントシステムにおける前記アプリケーションは、前記デコーダシステムに供給されるスクランブルコンテンツデータが、前記関連デコーダシステムによって前記クライアントシステムに転送された少なくともECM(Entitlement Control Message)部分からデスクランブルされることを可能にするコントロールワードデータ(control word data)を生成するための少なくとも一つのルーチンを備える。
この変形は、本発明による前記方法の特に有用なアプリケーションである。なぜならば、それは、前記コントロールワードデータを生成するための更新されたソフトウェアの使用を強化するからである。従って、それは、前記クライアントシステムにおけるセキュリティの欠陥を修復するために使用することができる。特に、その欠陥は、別のクライアントシステムについては別の方法で修復するされることができる。
好ましい変形において、前記EMMは、前記デコーダシステムに伝送され、該デコーダシステムは、このEMMを前記クライアントシステムに転送する。
従って、変化する位置でのクライアントシステムの無線での更新が可能とされる。
従って、変化する位置でのクライアントシステムの無線での更新が可能とされる。
好ましい実施形態において、前記アプリケーションは、前記デコーダシステムに供給されるスクランブルデータがデスクランブルされることを可能にする暗号化されたコントロールワードを含むECM部分を解読するための少なくとも一つのルーチンを備え、前記パッチを含む少なくとも前記EMM部分は、前記パッチの適用に先だって前記クライアントシステムに保持された前記実際のパッチレベルの最新値に対応する所要のパッチレベルを表す情報と共に少なくとも一つのECMで前記デコーダシステムに供給される少なくとも一つのコントロールワードを用いて解読されることを可能とするように暗号化される。
従って、前もって、コントロールワードを生成することができるクライアントシステムのみが更新される。
従って、前もって、コントロールワードを生成することができるクライアントシステムのみが更新される。
好ましい実施形態において、パッチは、時間上の第1ポイントで前記クライアントシステムのうちの少なくとも一つに伝送され、入力データは、最初に、時間上の前記第1ポイントからイントロダクション時間インターバル(introduction time interval)だけ離れた時間上の第2ポイントで次の所要のパッチレベルを表すデータと共に前記クライアントシステムのうちの少なくとも一つに供給される。
従って、或る時間インターバルは、前記クライアントシステムにおいて前記パッチを適用するために利用可能である。これは、パッチ配信のブロードキャストモデルを可能にする。前記クライアントは、前記パッチの最初のブロードキャスト中にスイッチオフされ得るが、前記パッチが再びブロードキャストされて前記クライアントに受信されるまで機能を維持する。また、極めて短いインターバルの時間でクライアントシステムのグループの全てにパッチを転送することは必要ではなく、従って、前記パッチがネットワーク上を転送される場合における混雑を緩和する。
他の態様によれば、本発明は、プロセッサとメモリを備えるデータ処理システムを提供し、本発明による方法を実行するようにプログラムされる。
他の態様によれば、本発明は、プログラム可能な処理システム上で実行されると前記システムが本発明による方法を実行することを可能にするように構成されたコンピュータプログラムを提供する。
他の態様によれば、本発明は、プログラム可能な処理システム上で実行されると前記システムが本発明による方法を実行することを可能にするように構成されたコンピュータプログラムを提供する。
本発明の他の態様によれば、クライアントシステムに供給されたパッチを処理する方法は、前記クライアントシステムに少なくとも一つの識別値を格納するステップと、各格納された識別値が、前記パッチを備える少なくとも一つのターゲット識別値のセットのうちの各一つに対して所定の関係にある場合にのみ、前記クライアントシステムがパッチを受け入れることを許容するステップとにより特徴づけられる。
従って、前記クライアントシステムは、それに向けられたパッチのみを受け入れるように構成される。前記実際のパッチレベルの値が更新されるので、前記クライアントシステムは、別の効果を有するパッチを受信して適用する任意の他のクライアントシステムおよびそれに対する同一バージョン番号を備えた入力データを処理することが可能な状態を維持する。
好ましい実施形態は、
パッチを受け入れるステップと、
前記パッチを適用するステップとを含み、前記パッチを適用するステップは、前記クライアントシステムにおける前記メモリの少なくとも一部の構成を再構成するための命令を実行するステップを含む。
パッチを受け入れるステップと、
前記パッチを適用するステップとを含み、前記パッチを適用するステップは、前記クライアントシステムにおける前記メモリの少なくとも一部の構成を再構成するための命令を実行するステップを含む。
従って、前記クライアントシステムは、機能強化されたソフトウェアを実行するのに適したものとなる。さらにまた、前記クライアントシステムは、同一タイプの入力データを処理する他のクライアントシステムにおける別のパッチのアプリケーションによって必要とされる新たなフォーマットの入力データを処理するのに適したものになる。このような場合、前記クライアントシステムの機能性(functionality)は、決して前記パッチによっては、必ずしも変更されない。
他の態様によれば、本発明は、データ処理装置を提供し、該データ処理装置は、プロセッサと、メモリと、パッチを受信するためのインターフェイスと、該データ処理装置にインストールされたアプロケーションのための入力データをロードするためのインターフェイスとを備え、該装置は、本発明による方法を実行するようにプログラムされる。
パッチを受信するための前記インターフェイスと入力データをロードするための前記インターフェイスは、一つのインターフェイスに具現されてもよい。
パッチを受信するための前記インターフェイスと入力データをロードするための前記インターフェイスは、一つのインターフェイスに具現されてもよい。
好ましい実施形態において、パッチを受信するための前記インターフェイスと、入力データをロードするための前記インターフェイスは、前記データ処理装置の外部のデータ処理システムにおけるリード/ライトユニットに対する物理インターフェイスを備える。
従って、前記データ処理装置は、記録媒体(storage media)をリードするための装置を備えている必要がない。加えて、それは、長距離を経た遠隔更新(remote update)が可能とされるように、ネットワークに接続されたシステムに設けられたリード/ライトユニットに接続されることができる。
従って、前記データ処理装置は、記録媒体(storage media)をリードするための装置を備えている必要がない。加えて、それは、長距離を経た遠隔更新(remote update)が可能とされるように、ネットワークに接続されたシステムに設けられたリード/ライトユニットに接続されることができる。
他の態様によれば、コンピュータプログラムが提供され、該コンピュータプログラムは、プログラム可能な処理システム上で実行されると該プログラム可能な処理システムが本発明による方法を実行することを可能にするように構成され、上記プログラム可能な処理システムは、プロセッサと、メモリと、パッチを受信するためのインターフェイスと、入力データをロードするためのインターフェイスとを備える。
ここで、本発明は、添付の図面を参照して更に詳細に説明されるであろう。
図1は、スマートカード(クライアントシステム)のためのパッチ(patch)を供給する方法を実施するのに適した基幹構造(infrastructure)を示す。
図2は、図1のスマートカードにおけるチップの機能的構成要素の略図である。
図3は、スマートカードに保持されるようなモデル番号の構成の略図である。
図1は、スマートカード(クライアントシステム)のためのパッチ(patch)を供給する方法を実施するのに適した基幹構造(infrastructure)を示す。
図2は、図1のスマートカードにおけるチップの機能的構成要素の略図である。
図3は、スマートカードに保持されるようなモデル番号の構成の略図である。
ここでは、図1は、コンテンツデータをアクセスするための限定受信サブシステム(conditional access subsystems)として使用されるプログラム可能な処理装置の機能性を強化する方法を示す。付加的な機能性を提供するコードは、パッチ生成センター1で生成される。それは、1又は2以上のスマートカード(ICカード(integrated circuit cards)としても知られている)に供給される。第1スマートカード2、第2スマートカード3、第3スマートカード4、および第4スマートカード5が、スマートカードの極めて多数の固体群の実例として図1にそれぞれ示されている。上記コードをスマートカード2−5に供給するために、以下に述べられるパッチを供給する方法は、上記パッチコードが図1に示されたシステムを通じて移動する際に少なくとも1回実行される。本方法の第1の変形例は、パッチを上記第1スマートカード2に供給するパーソナライゼーションセンター(personalisation centre)6によって達成される。第2の変形は、中間エンティティ(intermediate entities)を介して、上記第2スマートカード3、第3スマートカード4、および第4スマートカード5のためのパッチを供給する上記パーソナライゼーションセンター6によって達成される。本方法の第3の変形は、第1限定受信(conditional access; CA)システム7と第2限定受信システム8によって達成される。第4の変形は、ブロードキャスト送信器9と、EMMを送信するためのサーバー11およびVOD(video-on-demand)サーバー10を含むシステムとにより達成される。
スマートカードにおける集積回路(integrated circuit; IC)の機能的構成要素が図2に示されている。このスマートカードは、プロセッサ12と、マスクROM(mask Read Only Memory)13と、ランダムアクセスメモリ(Random Access Memory; RAM)14と、EEPROM(Electronically Erasable Programmable Read Only Memory)15とを備える。さらに、このスマートカードはシリアルインターフェイス16を備える。このスマートカードの有利な他の実施形態は、暗号化コプロセッサ及び/又はバッテリーを備える。適したスマートカードは接触型または非接触型のものである。しかしながら、図1および図2は、接触型のスマートカード2−5のみを示している。いかなる場合でも、スマートカードは、このスマートカードの外部のデータ処理システムにおけるリード/ライトユニット(図2では示されていない)に対する物理インターフェイスを備えている。接触型スマートカードでは、このようなインターフェイスは、上記リード/ライトユニットにおける対応コンタクトピンと接触するためのコンタクトパッドの配列を備えている。非接触型スマートカードは、本技術分野で知られているようなアンテナの配列を備えている。
本明細書で述べられる本方法は、外部のデータ処理装置におけるリード/ライトユニットに対する物理インターフェイスを備えた他のタイプの携帯処理装置(portable processing devices)へのパッチ供給に対して同様に適用可能であることが理解される。このような装置の他の例は、PCMCIA標準に適合するカードであり、またはUSB(Universal Serial Bus)に含まれる処理装置である。更なる例は、当業者であれば想起することができる。更にまた、本明細書で述べられる本方法は、スマートカードの機能と同様の機能を満足すると共にセットトップボックス(set-top-box)または同様のデコーダシステムに組み込まれた安全性の高いソフトウェアエージェント(secure software agent)にパッチを供給するためにも適用可能である。
マスクROM13は、チップのオペレーティングシステム(operating system)を収容しており、製造工程の一環として作成される。マスクROM13の内容は変更できない。図1の例では、マスクROM13の内容は、スマートカードをエンドユーザーに利用可能にする特定のエンティティ(entity)に供給される1又は2以上のスマートカードのセットごとに異なるオーナー識別(owner identification)および固有のスマートカードシリアル番号を除いては、スマートカード2−5のそれぞれについて同一である。他の実施形態では、たとえ上記オーナー識別値及び/又はスマートカードシリアル番号が物理的に再書込み可能なメモリユニットに格納されても、スマートカードは、少なくとも上記オーナー識別値の再プログラミングを防止するように構成される。防止メカニズムは、光学消去可能でプログラミング可能なROM(optically erasable programmable read-only memory)(図示なし)のマスキング、またはマスクROM13におけるメモリ制御ルーチンの適切な構成を含む。
マスクROM 13及び/又はEEPROM 15に格納されたプログラムを実行する上で、RAM 14は、プロセッサ12によって使用されるべきメモリ作業領域(memory working space)を形成する。RAM 14は揮発性のメモリである。
EEPROM 15は、アプリケーションデータと、追加的なアプリケーションプログラムを保持する。EEPROM 15は、プログラム制御の下でデータのライトおよびリードが可能なタイプの不揮発性メモリである。その内容は、チップに電源が供給されていないときでも保存される。EEPROM 15のみならず、他のタイプの再書込み可能な不揮発性メモリが、本明細書で述べられる本方法を実施するために使用できる。
本実施形態におけるアプリケーションは、プログラム、またはソフトウェアであり、スマートカードによって遂行される機能を実施する。或るアプリケーションは、スマートカードがエンドユーザーに物理的に配布される前にインストールされる。これは、EEPROM 15にコードをロードすることを必要とする。そして、スマートカードは、適切な命令(command)が発行されると上記コードを実行するように構成される。この作用(effect)に対する命令がシリアルインターフェイス16を通じて供給され又はコール(call)が他のアプリケーションまたはソフトウェアルーチンによってなされるときに上記コードが実行されることを保証するため、スマートカードのタイプに応じて、上記オペレーティングシステムによって使用されるフィルタ値は調整されなければならないであろう。また、例えばRAM 14またはEEPROM 15のメモリにおける位置に対するポインタは、それらメモリに対するリードまたはライトのためにアプリケーションがインストールされることを可能とするために調整されなければならない。
スマートカード2−5上のアプリケーションによって実行される機能のうちの少なくとも一つは、有利には、コンテンツ保護機能であり、特に、データの暗号化処理における機能である。例えば、図1に示されるシステムでは、第2スマートカード3および第3スマートカード4は、例えばDVB(Digital Video Broadcasting)標準のコモンスクランブリングアルゴリズムまたはそれと同等のアルゴリズムに従ってブロードキャストネットワーク19を介してブロードキャスト送信器9によって第1および第2集積受信デコーダ装置(Integrated Receiver Decoder Devices; IRD)17,18にブロードキャストされたEMM(Entitlement Management Messages)およびECM(Entitlement Control Messages)で供給される入力データを解読(decrypt)する。同様に、第4スマートカード5は、通信ネットワーク20、例えばインターネットを介して、第3IRD 21に対しサーバー11によりEMMで供給される情報と、VODサーバー10によりECMで供給される情報とを解読する。
コンテンツデータは、クリアコンテンツサーバー(clear content server)22に格納される。コンテンツブロードキャストシステムでは、第1スクランブリングユニット23は、一連の連続したコントロールワード(control word; CW)を用いてクリアコンテンツサーバー22から受信したコンテンツデータをスクランブルする。コントロールワード(CW)は、第1CAシステム7によってECMに挿入され、CAシステム7は、第1スクランブリングユニット23による暗号化のためにECMを戻す。第1スクランブリングユニット23および第1CAシステム7は一つに結合されてもよい。また、第1CAシステム7は、所要のパッチレベルを表すデータを幾つかの又は全てのECMに挿入する。なぜなら、ECMは暗号化され、上記所要のパッチレベルを表すデータも暗号化されるからである。また、第1CAシステム7も、第1SMS(Subscriber Management System)24から受信された情報を用いてEMMを供給する。第1SMS 24は、ブロードキャストサービスの加入者(subscriber)に発行された第2スマートカード3および第3スマートカード4の詳細を格納するデータベースへのアクセス権を有する。マルチプレクシング(multiplexing unit)ユニット25は、ECM、EMM、およびスクランブルされたコンテンツデータのストリームをトランスポートストリーム(transport stream)に多重化(multiplex)し、このトランスポートストリームは、ブロードキャスト送信器9によって加入者に供給される。所要のパッチレベルを表すデータの挿入を除いては、ブロードキャストシステムの動作はおおよそ標準的である。
VOD(video-on-demand)タイプのコンテンツ配信では、クリアコンテンツデータ(clear content data)はクリアコンテンツサーバー22によって第2スクランブリングユニット26に供給される。第2スクランブリングユニット26は、一連の変化するコントロールワード(CW)を用いて解読が可能であるようにコンテンツデータをスクランブルする。再び、コントロールワード(CW)は第2CAシステム8に供給され、第2CAシステム8は、コントロールワード情報を含むECMを戻す。幾つかの又は全てのECMは、所要のパッチレベルを表す情報を含み、それは、後述の方法で、第1CAシステム7と同様に、第2CAシステム8に知らされる。少なくともECMにおける所要のパッチレベルとコントロールワード情報は暗号化される。スクランブルされたコンテンツデータとECMはVODサーバー10上でのその後の展開(play-out)のために格納される。VODシステムは、第2CAシステム8が、第2SMS 27と通信し、第2SMS 27が第4スマートカード5に関する情報を格納するように構成され、第4スマートカード5がVODシステムのユーザーに供給される点で、ブロードキャストシステムと似ている。この情報は、サービスを含み、第4スマートカードは、第4スマートカードのユニークな識別のみならず、例えばそのシリアル番号へのアクセス権を有する。EMMを送信するためのサーバー11は、所要のパッチレベルを表すデータと一緒に、VODサーバー11に格納されたECMにおけるCWが読み取られることを可能にする第4スマートカード5のユーザーにEMMを供給する。上述したようなVODシステムの動作は、ECMにおけるコントロールワード情報と共に所要のパッチレベルを表すデータを供給することを除いては、そのようなものとして知られている。
第2スマートカード3が、ブロードキャストネットワーク19を介してスクランブルされたコンテンツをアクセスするために使用される場合には、それは、第1IRD 17に挿入される。第1IRD 17は、第2スマートカード3の外部にあると共にスマートカードリード/ライトモジュール(図示なし)を備えている。第1IRD 17は、第1スマートカード3から受信したコントロールワードを用いて、スクランブルされたコンテンツデータをデスクランブルするためのデスクランブリングユニット(図示なし)を備える。デスクランブルされたコンテンツは、第1娯楽機器(entertainment device)28、例えばテレビ受像機上で利用可能とされる。第2スマートカード3は、ECMおよびEMMの暗号化された部分を解読するためのアプリケーションを備え、これらは、第1IRD 17によってそれに転送される。
第2IRD 18は、第2娯楽機器29と接続されている。第2IRD 18は第3スマートカード4と情報を交換する。同様に、第3IRD 21は、第4スマートカード5とデータを交換すると共に、第3娯楽機器30にクリアコンテンツデータを利用可能にする。一例として本説明がほとんど第2スマートカード3を使用できるように、第2スマートカード3、第3スマートカード4、および第4スマートカード5は同様に動作する。
パッチは、EMMにおける権利情報(entitlement information)またはECMにおけるコントロールワード情報の暗号化処理のためのインストールされたプログラムの修正(modification)を実施するために第2スマートカード3に供給されることができる。このような修正は、使用中に発見されたセキュリティにおける欠陥(breach)によって引き起こされてもよい。他の修正は、スマートカード3−5の何れかにインストールされた重要でないソフトウェアの機能における問題を解決する。他のパッチは、スマートカード3−5の幾つか又は全ての機能を強化してもよい。
スマートカード3−5のそれぞれには、フィルターがインストールされている。このスマートカードは、受信するパッチをフィルタリングし、パッチを備えた情報を用いて、プログラムされたフィルター基準を満足するもののみを受け入れる。受け入れられたパッチは、その後の使用のためにそのEEPROM 15にロードされる。パッチ機能を与える(render)ために、それが適用されなければならない。このため、パッチは、その後の繰り返し使用のためにインストールされるべきコードと、パッチの適用中に一度だけ実行される命令(instruction)とを含む。後者は、ソフトウェアの初回のインストレーション(installation)と同じような処理である。
好ましくは、フィルターはソフトウェアで実施される。それは、有利には、オペレーティングシステムの一部であり、または少なくとも部分的にマスクROM 13あるいは他のタイプの1度だけプログラム可能なメモリに格納される。従って、それは、ハッカー(hacker)による攻撃によって損なわれることはない。フィルター、オペレーティングシステム、またはパッチローダープログラムは、実際のパッチレベルを表す情報を維持し、それは、EEPROM 15に格納される。また、スマートカードのこの構成要素は、EEPROM 15に格納された情報によって表されるような実際のパッチレベルを更新することを知らせるパッチを備えた命令にも応答する。従って、この実際のパッチレベルは、スマートカードにおいて適用されるパッチの数を反映する。本明細書で詳細に述べられる変形例では、命令(instruction)は、パッチのコードを運ぶメッセージに含まれる。あるいは、この命令は、受け入れられたパッチが適用される度に、スマートカードが、自動的に実際のパッチレベルを増大させる点で、潜在的(implicit)であってもよい。他の変形例では、命令は、パッチが適用されるときに一度実行されるコードを含むパッチの一部に含まれてもよい。
ECMのうちの少なくとも幾つかは、暗号化されたコントロールワード情報に加えて、所要のパッチレベルを表すデータを含むことが思い出される。暗号化されたコントロールワード情報は、もし、所要のパッチレベルが実際のパッチレベルと所定の関係にあれば、IRD 17,18,21におけるデスクランブラーに供給されるだけである。ここで、パッチが適用されたときにパッチレベルが増やされ、所要のパッチレベルは、アプリケーションが解読されたコントロールワードを機能に供給するために、実際のパッチレベルに等しいか又は低くなければならない。従って、第1CAシステム7および第2CAシステム8のオペレータは、加入者に所有されている第2スマートカード3、第3スマートカード4、第4スマートカード5に対して直接的な物理的コントロールを有していなくても、これらスマートカード3−5においてパッチが適用されることを確保する。
パッチは、パッチ生成センター(PCC)1で生成されてテストされる。各パッチは、暗号化されて、パーソナライゼーションセンター6にファイルで供給される。パーソナライゼーションセンター6は、特定のパッチが向けられたスマートカードの識別のターゲット値と共に、第1スマートカード2、第2スマートカード3、第3スマートカード4、および第4スマートカード5にパッチを供給する。パーソナライゼーションセンター6は、スマートカードリード/ライトユニット31を用いて、第1スマートカード2にパッチを直接的に供給する。第1スマートカード2は、例えば、エンドユーザーにまだ配布されていないカードである。第2スマートカード3ないし第4スマートカード5は、フィールドにおいて既に使用されているものであるが、第1CAシステム7および第2CAシステム8の媒介を通じてパッチが供給される。
パッチは、第1IRD 17、第2IRD 18、第3IRD 21にメッセージで供給され、これらIRDは、それらを第2スマートカード3、第3スマートカード4、第4スマートカード5に転送する。具体的には、上記パッチは、第1CAシステム7および第2CAシステム8によって生成された一つまたは複数の特別なEMMで供給される。スマートカード2−5のそれぞれは、それ自身の特有のコードと共にパッチを受信する。それらのうちの一つのみの機能性が強化され、またはそれらのうちの一つのみにおけるバグ(bug)が修復され得る。従って、スマートカード2−5のそれぞれは、継続してECMを処理することが可能となる。これは、スマートカード2−5のそれぞれが、パッチと、このパッチを適用するための命令とを備えるためである。従って、それらのそれぞれは、EEPROM 15に保持された実際のパッチレベルを更新して次のレベルを反映させるように命令される。パッチによって供給される機能性は、スマートカード間で異なってもよい。実際、それらのうちの幾つかは、スマートカードにインストールされたソフトウェアの機能性をパッチの適用以前の状態にしておくパッチ、即ち“ダミーパッチ”を備えてもよい。
パッチは、リンクレベルでアドレスされたメッセージで運ばれてもよく、即ち、IRD 17、18、21のアドレスを有する。また、それらは、少なくとも一つの識別のターゲット値を備える。従って、これは、アプリケーションレベルでのアドレスの形式である。対応識別値は、それがどのパッチを受け入れかを知るために、スマートカード2−5のそれぞれに格納される。識別値の形式は、一つの値でスマートカードのグループをアドレスすることが可能であるようなものである。換言すると、パッチは、各スマートカードに個々にアドレスされる必要はない。これは、通信ネットワーク20およびブロードキャストネットワーク19の更なる有効利用に貢献する。なぜなら、パッチを運ぶメッセージは、ブロードキャストまたはマルチキャストされることができるからである。
パッチを運ぶ特別なEMMのうちの少なくとも一つは、ターゲットオーナー識別(target owner identification)を備える。スマートカードのフィルターは、ターゲットオーナー識別と、スマートカードに格納されたオーナー識別とを比較する。スマートカードは、上記二つの値が一致したときにのみパッチを受け入れることが許可される。オーナー識別値はスマートカードのプロバイダーに固有であることが思い起こされる。従って、第1CAシステム7のオペレータは、第2CAシステム8のオペレータに割当てられた値とは異なるオーナー識別値を有するであろう。これは、多数のオペレータが、同一ネットワーク、例えばインターネットを通じて特別なEMMをブロードキャスト、マルチキャスト、あるいはユニキャストする場合にとりわけ有用である。
また、パッチを運ぶ特別なEMMは、ターゲットモデル識別番号を備える。スマートカード2−5のそれぞれは、EEPROM 15に実際のモデル識別値を格納するように構成される。この実際のモデル識別値は、スマートカードのソフトウェア構成における変化を反映するためにスマートカードの製品寿命(life time)にわたって進化(evolve)する。モデル識別値32の形式は図3に示される。それは、EEPROM 15の或るレイアウトを表す特有の値である(パッチ、プロダクト、セクターの番号)。メジャーモデルバージョン33をエンコードするために4ビットが使用され、マイナーモデルバージョン34をエンコードするために4ビットが使用され、ビルド番号(build number)35をエンコードするために8ビットが使用され、バリアント番号(variant number)36をエンコードするために8ビットが使用される。パッチは、実際のモデル番号が、このパッチを備えるターゲットモデル識別値と所定の関係がある場合にのみ受け入れられる。例えば、少なくとも、メジャーモデルバージョン33およびマイナーモデルバージョン34は一致すべきであり、または、全体のモデル番号は同一であるべきである。
モデル識別値32の第1部分は、スマートカード集積回路のハードウェア構成を反映する。第2部分は、インストールされたソフトウェア構成に対応するメモリレイアウトを反映する。モデル番号の一つの使用は、第2スマートカード3および第3スマートカード4を提供するためであり、それらは、フィールドで使用される上で、異なる機能性と共に同一のオーナー識別値を有する。これを行うために、第2スマートカード3および第3スマートカード4は、両方ともスプリッターパッチ(splitter patch)が送られ、それが適用される。その結果、パッチレベルは増加される。スプリッターパッチは、EMMで適切な命令が受信されると実行されるコードを含む。第2スマートカード3および第3スマートカード4のうちの一つのみに、上記コードを実行するための命令が送られる。それが実行されると、上記コードは、第2スマートカード3または第3スマートカード4に保持された実際のモデル識別値のバリアント番号36を修正する。その結果、二つの異なるパッチがブロードキャスト送信器9によってブロードキャストされる。一つは、ターゲットモデル識別値としての修正されたモデル番号を備え、もう一つは、ターゲットモデル識別値としての以前のモデル番号を備える。これらパッチのうちの一つのみが、パッチが適用されると強化された機能性を供給するコードを含む。他方のパッチは、“ダミーパッチ”であってもよい。
追加的な機能性は、異なる構成のEEPROM 15を必要としてもよい。これは、第2スマートカード3および第3スマートカード4の両方によって使用される移転変数(re-locating variable)を含むことができる。その場合、スプリッターパッチ(splitter patch)、またはセパレートパッチ(separate patch)は、第2スマートカード3および第3スマートカード4の両方に送られる。このようなパッチは、スマートカードのメモリ構成を再構成するための命令を備え、その命令はパッチが適用されると実行される。このようなメモリ構成は、スマートカードに適合される。例えば、別のタイプのデータに割当てられた別のサイズのメモリを備えることは可能かもしれない。これは、カードに関して利用可能な特定の物理的メモリサイズ、メモリアドレス範囲の観点での制限などを考慮に入れるために行われ得る。このようなパッチは、利用可能なメモリの別の部分にデータを移転し、及び/又はデータを格納することにおける制限を考慮するための機能性を提供する。好ましい変形例では、パッチは、クライアント装置の構成を検出するため、および前記検出された構成に応じてメモリ構成を再構成するために、クライアント装置において適用されるときに構成される。
パッチを運ぶ特別なEMMで供給される更なる情報はターゲットパッチレベルを含む。スマートカードにおけるフィルターは、パッチがEEPROM 15に格納された実際のパッチレベルと所定の関係にあるターゲットパッチレベルを備える場合に、スマートカードがパッチを受け取ることを許容するのみである。このことは、パッチが、所定の順序でスマートカード2−5のそれぞれにおいて適用されることを保証する。このことは有利である。なぜなら、一つのパッチにおけるコードは、適切に機能するために以前のパッチによって供給される機能の有用性(availability)を必要とするかもしれないからである。第2スマートカード3、第3スマートカード4、第4スマートカード5は、パッチを無線を介して受信し、そして第1IRD 17、第2IRD 18、第3IRD 21によって転送されたメッセージで受信するため、これらスマートカード3−5のうちの一つがパッチ失う可能性が存在する。他の変形例では、上記所定の関係を満足しないパッチが受け入れられてもよいが、更なるアプリケーションのためにEEPROM 15にファイルとして格納される。
有利には、パッチは、このパッチが適用されると次のレベルを反映する情報を備える。このことは、スマートカードが数レベルを‘スキップ’することを可能にする。スマートカードは、単に、多数のパッチによって供給される強化(enhancements)を結集するパッチを適用し、そして次のレベルを反映させるためにEEPROM 15における実際のパッチレベル値を更新するだけであある。このことは、第2スマートカード3、第3スマートカード4、第4スマートカード5のうちの一つが、ある期間、第1IRD 17、第2IRD 18、第3IRD 21の何れかと通信していなければ、またはこれらIRDが長期間にわたって使用されていなければ、有利である。また、この特徴は、まだ配送されていない第1スマートカード2に組み込まれた基本ソフトウェアに対する多数の強化(enhancements)のインストレーション(installation)を高速化するために有用である。
ウィルスからスマートカード3−5を保護するために、ブロードキャストネットワーク19および通信ネットワーク20を介して供給されるパッチは暗号化され、そしてスマートカード3−5に安全に格納されているキーと共にキーペア(key pairs)を形成するキーを用いて認証される。有利には、パッチの一部または全部を運ぶEMMは、ECMまたは複数のECMで供給される1又は2以上のコントロールワードを用いたデスクランブルを可能とするために、スクランブルされた形式のパッチコードを含む。一つの変形例では、スマートカード3−5は、ECMまたは複数のECMからコントロールワードを取り出し、そしてIRD 17,18,21におけるデスクランブルユニットは上記パッチコードをデスクランブルする。しかしながら、セキュリティ上の理由のため、スマートカード3−5におけるパッチコードを運ぶEMMの暗号化された部分を解読することが好ましい。従って、スマートカード3−5は、暗号化されたパッチコードを取り出すだけである。
好ましくは、イントロダクション期間の後にパッチレベルが増加する。イントロダクション期間中、第2スマートカード3、第3スマートカード4、第4スマートカード5に格納された実際のパッチレベルとECMで示される所要のパッチレベルとの間の所定の関係は、もし、第2スマートカード3、第3スマートカード4、第4スマートカード5が、次の、即ち増加されたパッチレベルであれば満足されるのみならず、それらが次のパッチレベルよりも下の一つのパッチレベルであれば満足される。一つの変形例では、第2スマートカード3、第3スマートカード4、第4スマートカード5には、イントロダクション時間インターバルを示す情報が送られる。パッチレベルを強要(enforce)することに関与するアプリケーションは、イントロダクション時間インターバル中の暗号化されたコントロールワードの解読を可能にする。実際の時間は、この技術分野で知られているようなIRD 17,18,21のうちの一つにおけるクロックから、内部クロックから、スクランブルされた権利メッセージ(ECM及び/又はEMM)におけるタイムスタンプから、第2スマートカード3、第3スマートカード4、第4スマートカード5によって取得されてもよい。
好ましい、より簡単な変形例では、パッチは、時間上の第1ポイントで、第2スマートカード3、第3スマートカード4、第4スマートカード5のうちの少なくとも一つに伝送され、そして、入力データは、最初に、イントロダクション時間インターバルだけ時間上の第1ポイントから離れた時間上の第2ポイントで、次の所要のパッチレベルを表すデータと共にスマートカード3−5のうちの少なくとも一つに供給される。従って、スマートカード3−5は、このために時間の経過を意識する必要はない。
パーソナライゼーションセンター6がスマートカード2−5にインストールされたソフトウェアのためのパッチを提供する方法の変形例を実行することが述べられた。パーソナライゼーションセンター6は、パッチ生成センター1からパッチを取得する。もし、スマートカード2−5が1又は2以上のパッチレベルを上げれば、上記パッチのうちの少なくとも一つは、スマートカード2−5のうちの1又は2以上にインストールされたソフトウェアコンポーネントの少なくとも一部を強化し又は置き換えるためのプログラムコードを含む。他のパッチは、機能強化を提供するコードを全く含まなくてもよく、またはそれらは、別の機能強化または修正を提供してもよい。
示された例では、パーソナライゼーションセンター6は、二つの異なる方法でパッチを供給する。第1に、それは、特別なEMMで第2スマートカード3、第3スマートカード4、第3スマートカード5に供給される情報に対応する情報と適切なパッチとを第1スマートカード2に供給することにより、第1スマートカード2を直接的に更新する。従って、第1スマートカード2は、次のパッチレベルを示す情報および所要のパッチレベルのみならず、ターゲットモデル識別値とターゲットオーナー識別値と共にパッチを受信し、その値は、パッチが適用されると第1スマートカード2に保存される。
第2に、パーソナライゼーションセンター6は、第1CAシステム7および第2CAシステム8にパッチを供給する。第2スマートカード3および第3スマートカード4のためのパッチは、第1パッチアップロードファイルで供給される。第4スマートカード5のためのパッチは、第2パッチアップロードパッチで供給される。更に、第1スマートカードアップロードファイルは、第1CAシステム7のために生成されると共に、第2スマートカードアップロードファイルは、第2CAシステム8のために生成される。スマートカードアップロードファイルは、固有のスマートカード情報を備える。第1スマートカードアップロードファイルは、ターゲットモデル識別、所要のパッチレベル及び次のグローバルパッチレベルの値のみならず、第2スマートカード3および第3スマートカード4のシリアル番号を含む。従って、それは、潜在的に、それに向けられたパッチが適用されると次のパッチレベルを反映させるために、第2スマートカード3および第3スマートカード4に保持された実際のパッチレベルを更新するための第2スマートカード3および第3スマートカード4に対する命令(instruction)を含む。このパッチは、パッチアップロードファイルに含まれる。第1および第2パッチアップロードファイルと第1および第2スマートカードアップロードファイルは、コンパクトディスクのようなデータキャリアで、またはネットワークを介した伝送により第1および第2CAシステム7,8に供給される。両方のファイルは暗号化されると共に、パッチ生成センターによって署名(sign)される。第1および第2CAシステムが対応するキーを有している場合にのみ、それらはファイルをアクセスすることができ、そしてそれらの起源(origin)を検証(verify)することができる。
本発明は、上述の実施形態に限定されるものではなく、それは、添付のクレームの範囲内で変形されてもよい。例えば、スマートカードに格納された実際のモデル番号のメジャーモデルバージョン33のようなフィールドのいつくかは、再書き込み不能のメモリの一部に格納されてもよい。また、パッチは、全てのスマートカード3−5に特別な1又は2以上のEMMで一緒にブロードキャストされてもよく、スマートカード3−5は、正しいものをフィルタリングして取り出し、または、実際に関連パッチを適用するスマートカード3−5に対して別々にユニキャスト及び/又はマルチキャストされてもよい。
1 パッチ生成センター
2〜5 スマートカード
6 パーソナライゼーションセンター
7,8 限定受信システム
2〜5 スマートカード
6 パーソナライゼーションセンター
7,8 限定受信システム
Claims (25)
- 複数のクライアントシステム(2−5)にインストールされたソフトウェアのためのパッチを供給する方法であって、前記クライアントシステムのそれぞれが、少なくともプロセッサ(12)とメモリ(13−15)とを備え、それぞれが、実際のパッチレベルを表す情報を保持すると共に、前記実際のパッチレベルが所要のパッチレベルと所定の関係にある場合にのみ前記所要のパッチレベルを表すデータと共にインストールされたアプリケーションに供給される入力データを処理することにより出力データを生成するようにプログラムされ、
該方法は、
パッチに包含するためのコンピュータプログラムコードを取得するステップであって、前記コードが、クライアントシステム(2−5)にインストールされたソフトウェアの少なくとも一部と協調動作して前記パッチが前記クライアントシステムにおいて適用された後に或る機能を実行するように構成されたステップと、
前記クライアントシステム(2−5)に保持された前記実際のパッチレベルを更新して次のレベルに反映させる命令と共に少なくとも一つの第1クライアントシステムにおけるアプリケーションのための第1パッチを供給するステップと、を備え、
前記クライアントシステムに保持された前記実際のパッチレベルを更新して前記次のレベルを反映させる命令と共に前記クライアントシステム(2−5)のうちの少なくとも他の一つのための第2パッチを供給するステップを備えたことを特徴とし、前記コードは、前記第1および第2パッチのうちの第1パッチでのみ供給される方法。 - 少なくとも一つの識別のターゲット値は各パッチを備え、各クライアントシステム(2−5)は、前記値が、それぞれ、前記クライアントシステム(2−5)に格納された対応識別と所定の関係にある場合にのみパッチを受け入れるためのフィルタを有する請求項1または請求項1の前書き記載の方法。
- ターゲットオーナー識別の値は少なくとも前記第1パッチを備え、各クライアントシステム(2−5)は、1度だけプログラム可能なメモリ(13)を備えると共に、前記ターゲットオーナー識別が、前記1度だけプログラム可能なメモリにプログラムされた対応オーナー識別と所定の関係にある場合にのみ前記クライアントシステム(2−5)がパッチを受け入れることを許容するフィルタを有する請求項2記載の方法。
- ターゲットモデル識別の値は少なくとも第1パッチを含み、各クライアントシステム(2−5)は、プログラム可能なメモリ(15)を備えると共に、前記ターゲットモデル識別が前記プログラム可能なメモリ(15)に格納された対応モデル識別と所定の関係にある場合にのみ前記クライアントシステムがパッチを受け入れることを許容するフィルタを有する請求項2または3の何れか1項記載の方法。
- クライアントシステム(2−5)のためのパッチを供給するステップを更に含み、パッチは、前記プログラム可能なメモリ(15)に格納された前記モデル識別を前記クライアントシステムに変更させるように構成された請求項4記載の方法。
- 前記或るパッチレベルを示す情報は、少なくとも前記第1パッチを含む請求項1ないし5の何れか1項記載の方法。
- 少なくとも、前記第1パッチは、前記パッチを適用するために必要とされるパッチレベルを示す情報を含み、各クライアントシステム(2−5)は、前記クライアントシステムに保持された前記実際のパッチレベルが前記パッチを適用するために必要とされる前記パッチレベルと所定の関係にある場合にのみ前記クライアントシステムに前記パッチを適用させることを許容するフィルタを備える請求項1ないし6の何れか1項記載の方法。
- パッチは、関連するデコーダシステム(17,3;18,4;21,5)と通信する少なくとも一つのクライアントシステム(3−5)への送信のための少なくとも一つのEMM(Entitlement Management Message)で供給され、前記少なくとも一つのクライアントシステムにおける前記アプリケーションは、前記デコーダシステム(17,3;18,4;21,5)に供給されるスクランブルされたコンテンツデータが、前記関連するデコーダシステムによって前記クライアントシステムに転送された少なくともECM(Entitlement Control Messages)部分から解読されることを可能とするコントロールワードを生成するための少なくとも一つのルーチンを含む請求項1ないし7の何れか1項記載の方法。
- 前記EMMは、前記デコーダシステム(17,3;18,4;21,5)に伝送され、前記デコーダシステムは、前記EMMを前記クライアントシステム(3−5)に転送する請求項8記載の方法。
- 前記アプリケーションは、前記デコーダシステムに供給されるスクランブルされたコンテンツデータがデスクランブルされることを可能にする暗号化されたコントロールワードを含むECM部分を解読するための少なくとも一つのルーチンを含み、少なくとも、前記パッチを含む前記EMM部分は、それらが、前記パッチの適用に先だって前記クライアントシステムに保持された前記実際のパッチレベルの最新値に対応する所要のパッチレベルを表す情報と共に少なくとも一つのECMで前記デコーダシステムに供給される少なくとも一つのコントロールワードを用いて解読されることを可能にするように暗号化される請求項8または9の何れか1項記載の方法。
- パッチは、時間上の第1ポイントで前記クライアントシステム(2−5)のうちの少なくとも一つに伝送され、入力データは、最初に、時間上の前記第1ポイントからイントロダクション時間インターバルだけ離れた時間上の第2ポイントで前記次の所要のパッチレベルを表すデータと共に前記クライアントシステムのうちの少なくとも一つに供給される請求項1ないし10の何れか1項記載の方法。
- プロセッサとメモリを備え、請求項1ないし11の何れか1項記載の方法を実行するようにプログラムされたデータ処理システム。
- プログラム可能な処理システム上で実行されると、前記システムが請求項1ないし11の何れか1項記載の方法を実行することを可能とするように構成されたコンピュータプログラム。
- プロセッサ(12)およびメモリ(13−15)と、パッチを受信するためのインターフェイス(16)およびクライアントシステム(2−5)にインストールされたアプリケーションのための入力データをロードするためのインターフェイス(16)とを備えたクライアントシステム(2−5)に供給されるパッチを処理する方法であって、該方法は、実際のパッチレベルを表す情報を保持するステップと、前記実際のパッチレベルが入力データを備える情報で示された所要のパッチレベルと所定の関係にある場合にのみ前記アプリケーションに供給される前記入力データを処理することにより出力データを生成するステップとを含み、
前記クライアントシステム(2−5)は、前記クライアントシステムに保持された前記実際のパッチレベルを更新して、適切な命令を備えるパッチが適用されると次のパッチレベルを反映するように構成され、
前記クライアントシステムにおける少なくとも一つの識別値を格納すると共に、各格納された識別値が、前記パッチを備える少なくとも一つのターゲット識別値のセットのうちの各一つと所定の関係がある場合にのみ、前記クライアントシステムがパッチを受け入れることを許容することを特徴とする方法。 - 前記クライアントシステム(2−5)は、1度だけプログラム可能なメモリ(13)を備え、前記格納された識別値は、前記一度だけプログラム可能なメモリに格納されたオーナー識別を含み、且つ、前記方法は、ターゲットオーナー識別が前記パッチを備えると共に、前記ターゲットオーナー識別が前記1度だけプログラム可能なメモリに格納された前記オーナー識別と所定の関係がある場合にのみ前記クライアントシステムが前記パッチを受け入れることを許容するステップを含む請求項14記載の方法。
- 前記クライアントシステムは、プログラム可能なメモリ(15)を備え、前記方法は、前記パッチが、前記プログラム可能なメモリ(15)に格納された対応モデル識別と所定の関係にあるターゲットモデル識別を備える場合にのみ前記クライアントシステムがパッチを受け入れることを許容するステップを含む請求項14または15の何れか1項記載の方法。
- 前記次のレベルの値は、前記パッチを備える情報から導き出される請求項14ないし16の何れか1項記載の方法。
- 前記パッチを備える情報から前記パッチを適用するのに必要とされるパッチレベルの値を導き出すステップと、前記パッチを適用するのに必要とされる前記パッチレベルが前記実際のパッチレベルと所定の関係がある場合にのみ前記クライアントシステム(2−5)が前記パッチを適用することを許容するステップとを含む請求項14ないし17の何れか1項記載の方法。
- 前記パッチは、EMM(Entitlement Management Message)で受信され、前記EMMの少なくとも一部は、少なくとも前記パッチの一部を得るために解読される請求項14ないし18の何れか1項記載の方法。
- 前記所要のパッチレベルを示す情報と共に暗号化された情報を含む入力データを受信するステップと、前記暗号化された情報を解読するために前記アプリケーションを実行するステップとを含む請求項14ないし19の何れか1項記載の方法。
- パッチを受け入れるステップと、
前記パッチを適用するステップと、
以前の値の反映から前記保持された実際のパッチレベルを更新して次のパッチレベルを反映させるステップと、
前記パッチを適用した後に、時間上の第1ポイントよりも遅い時間上の第2ポイントから前記パッチの適用前の時間上の前記第1ポイントを隔てるイントロダクション時間インターバルの残りの部分の期間中に、前記以前のレベルとのみ所定の関係にある所要のパッチレベルの指示を含む入力データを前記アプロケーションが処理することを可能にするステップと
を備えた請求項14ないし20の何れか1項記載の方法。 - パッチを受け入れるステップと、
前記パッチを適用するステップとを含み、
前記パッチを適用するステップは、前記クライアントシステム(2−5)における前記メモリ(14,15)の少なくとも一部の構成を再構成するための命令を実行するステップを含む請求項14ないし21の何れか1項記載の方法。 - データ処理装置であって、プロセッサ(12)と、メモリ(13−15)と、パッチを受信するためのインターフェイス(16)と、該データ処理装置(2−5)にインストールされたアプリケーションに対する入力データをロードするためのインターフェイス(16)とを備え、前記データ処理装置は、請求項14ないし22の何れか1項記載の方法を実行するようにプログラムされたデータ処理装置。
- パッチを受信するための前記インターフェイス(16)と入力データをロードするための前記インターフェイス(16)は、前記データ処理装置(2−5)の外部のデータ処理システム(6;17;18;21)におけるリード/ライトユニット(31)に対する物理インターフェイスを備える請求項23記載のデータ処理装置。
- プロセッサ(12)と、メモリ(13−15)と、パッチを受信するためのインターフェイス(16)と、入力データをロードするためのインターフェイス(16)とを備えたプログラム可能な処理システム上で実行されると、前記プログラム可能な処理システムが請求項14ないし22の何れか1項記載の方法を実行することを可能にするように構成されたコンピュータプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP04104285A EP1632848A1 (en) | 2004-09-06 | 2004-09-06 | Method of providing patches for software |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006079611A true JP2006079611A (ja) | 2006-03-23 |
Family
ID=34929541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005256922A Withdrawn JP2006079611A (ja) | 2004-09-06 | 2005-09-05 | ソフトウェア用のパッチを供給する方法 |
Country Status (13)
Country | Link |
---|---|
US (1) | US20060136898A1 (ja) |
EP (1) | EP1632848A1 (ja) |
JP (1) | JP2006079611A (ja) |
KR (1) | KR20060050967A (ja) |
CN (1) | CN1776611A (ja) |
AR (1) | AR050794A1 (ja) |
AU (1) | AU2005205818A1 (ja) |
BR (1) | BRPI0503688A (ja) |
CA (1) | CA2517535A1 (ja) |
MX (1) | MXPA05009450A (ja) |
RU (1) | RU2005127726A (ja) |
TW (1) | TW200609821A (ja) |
ZA (1) | ZA200507121B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016536701A (ja) * | 2013-09-17 | 2016-11-24 | ジェムアルト エスアー | サーバとセキュアエレメント間の通信方法 |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8539469B2 (en) * | 2004-05-11 | 2013-09-17 | Microsoft Corporation | Efficient patching |
US7689593B2 (en) | 2005-12-30 | 2010-03-30 | Sap Ag | Systems and methods for accessing a shared space in a provider-tenant environment |
US20070156849A1 (en) * | 2005-12-30 | 2007-07-05 | Wolfgang Becker | Systems and methods for delivering software upgrades in a provider-tenant environment |
US20070156901A1 (en) * | 2005-12-30 | 2007-07-05 | Wolfgang Becker | Generation and use of table links in a provider-tenant environment |
US7693851B2 (en) * | 2005-12-30 | 2010-04-06 | Sap Ag | Systems and methods for implementing a shared space in a provider-tenant environment |
US7917607B2 (en) | 2005-12-30 | 2011-03-29 | Sap Ag | Software management systems and methods, including use of such systems and methods in a provider-tenant environment |
US20070156902A1 (en) * | 2005-12-30 | 2007-07-05 | Becker Wolfgang A | Systems and methods for implementing a tenant space in a provider-tenant environment |
US7698284B2 (en) * | 2005-12-30 | 2010-04-13 | Sap Ag | Systems and methods for deploying a tenant in a provider-tenant environment |
US7680825B2 (en) * | 2005-12-30 | 2010-03-16 | Sap Ag | Systems and methods for generating tenant-specific properties for use in a provider-tenant environment |
EP1811778A1 (fr) * | 2006-01-24 | 2007-07-25 | Nagracard S.A. | Méthode de mise à jour du microprogramme d'un module de sécurité |
US8775572B2 (en) * | 2006-06-23 | 2014-07-08 | Microsoft Corporation | Public network distribution of software updates |
US20080162490A1 (en) * | 2006-12-29 | 2008-07-03 | Becker Wolfgang A | Methods and systems for automatic registration during deployment of a tenant |
US7933869B2 (en) * | 2006-12-29 | 2011-04-26 | Sap Ag | Method and system for cloning a tenant database in a multi-tenant system |
US20080162483A1 (en) * | 2006-12-29 | 2008-07-03 | Becker Wolfgang A | Methods and systems for protecting shared tables against unauthorized overwriting from a tenant space in a mega-tenancy environment |
US20080162536A1 (en) * | 2006-12-29 | 2008-07-03 | Becker Wolfgang A | Systems and methods for extending shared data structures with tenant content in a provider-tenant environment |
US8069184B2 (en) | 2006-12-29 | 2011-11-29 | Sap Ag | Systems and methods to implement extensibility of tenant content in a provider-tenant environment |
US20080162587A1 (en) * | 2006-12-29 | 2008-07-03 | Ulrich Auer | Server synchronization for maintenance activities |
US7739348B2 (en) * | 2006-12-29 | 2010-06-15 | Sap Ag | Systems and methods for accessing a shared space in a provider-tenant environment by using middleware |
EP2015173A1 (en) * | 2007-07-05 | 2009-01-14 | Hewlett-Packard Development Company, L.P. | Method of maintaining software updates by means of dependency expressions |
US20090132999A1 (en) * | 2007-11-21 | 2009-05-21 | At&T Corp. | Secure and fault-tolerant system and method for testing a software patch |
US7516367B1 (en) | 2008-05-30 | 2009-04-07 | International Business Machines Corporation | Automated, distributed problem determination and upgrade planning tool |
US11553250B2 (en) | 2008-09-02 | 2023-01-10 | Comcast Cable Communications, Llc | Updating application code |
US8224828B2 (en) * | 2009-12-22 | 2012-07-17 | Sap Ag | Multi-client generic persistence for extension fields |
FR2967852B1 (fr) * | 2010-11-18 | 2013-07-05 | Freebox | Ensemble de diffusion par reseau ip de flux video numeriques embrouilles vers des terminaux ip directement relies a ce reseau |
JP5688297B2 (ja) * | 2011-01-06 | 2015-03-25 | 任天堂株式会社 | 通信システム、情報処理装置、通信プログラムおよび通信方法 |
JP5675373B2 (ja) | 2011-01-06 | 2015-02-25 | 任天堂株式会社 | 通信システム、情報処理装置、通信プログラムおよび通信方法 |
KR101246360B1 (ko) * | 2011-12-30 | 2013-03-22 | (주)네오위즈게임즈 | 메모리 및 임시 메모리를 이용한 패치 방법 및 그를 이용한 패치 서버, 패치 클라이언트 |
US9547489B2 (en) * | 2014-03-31 | 2017-01-17 | Qualcomm Incorporated | System and method for modifying a sequence of instructions in a read-only memory of a computing device |
TWI550515B (zh) * | 2014-12-17 | 2016-09-21 | 晨星半導體股份有限公司 | 原始碼品質管理系統與方法 |
CN105867887A (zh) * | 2015-01-22 | 2016-08-17 | 晨星半导体股份有限公司 | 原始码质量管理系统与方法 |
US10846080B2 (en) | 2018-09-06 | 2020-11-24 | International Business Machines Corporation | Cooperative updating of software |
CN113434165A (zh) * | 2021-06-02 | 2021-09-24 | 武汉天喻信息产业股份有限公司 | 一种嵌入式操作系统的补丁更新方法及系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5586304A (en) * | 1994-09-08 | 1996-12-17 | Compaq Computer Corporation | Automatic computer upgrading |
FR2741972B1 (fr) * | 1995-11-30 | 1998-01-02 | Thomson Multimedia Sa | Dispositif et procede de chargement d'une interface utilisateur |
US6216175B1 (en) * | 1998-06-08 | 2001-04-10 | Microsoft Corporation | Method for upgrading copies of an original file with same update data after normalizing differences between copies created during respective original installations |
US6952823B2 (en) * | 1998-09-01 | 2005-10-04 | Pkware, Inc. | Software patch generator using compression techniques |
US20020078262A1 (en) * | 2000-12-14 | 2002-06-20 | Curl Corporation | System and methods for providing compatibility across multiple versions of a software system |
KR100400542B1 (ko) * | 2001-02-28 | 2003-10-08 | 엘지전자 주식회사 | 디지털 방송 수신장치의 광고를 이용한 시스템 소프트웨어업그레이드 장치 및 방법 |
JP2003216449A (ja) * | 2002-01-23 | 2003-07-31 | Nec Corp | パッチ処理システム |
US20030221190A1 (en) * | 2002-05-22 | 2003-11-27 | Sun Microsystems, Inc. | System and method for performing patch installation on multiple devices |
US20050120384A1 (en) * | 2003-12-01 | 2005-06-02 | General Instrument Corporation | Methods and systems for enabling software and firmware downloads to high definition television appliances |
US8677462B2 (en) * | 2004-11-01 | 2014-03-18 | Cisco Technology Inc. | Efficient and secure renewal of entitlements |
-
2004
- 2004-09-06 EP EP04104285A patent/EP1632848A1/en not_active Withdrawn
-
2005
- 2005-08-30 US US11/216,269 patent/US20060136898A1/en not_active Abandoned
- 2005-08-30 CA CA002517535A patent/CA2517535A1/en not_active Abandoned
- 2005-08-31 TW TW094129889A patent/TW200609821A/zh unknown
- 2005-09-02 AR ARP050103683A patent/AR050794A1/es unknown
- 2005-09-02 BR BRPI0503688-7A patent/BRPI0503688A/pt not_active IP Right Cessation
- 2005-09-02 CN CN200510099820.1A patent/CN1776611A/zh active Pending
- 2005-09-02 KR KR1020050081669A patent/KR20060050967A/ko not_active Application Discontinuation
- 2005-09-05 MX MXPA05009450A patent/MXPA05009450A/es unknown
- 2005-09-05 RU RU2005127726/09A patent/RU2005127726A/ru not_active Application Discontinuation
- 2005-09-05 ZA ZA200507121A patent/ZA200507121B/xx unknown
- 2005-09-05 AU AU2005205818A patent/AU2005205818A1/en not_active Abandoned
- 2005-09-05 JP JP2005256922A patent/JP2006079611A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016536701A (ja) * | 2013-09-17 | 2016-11-24 | ジェムアルト エスアー | サーバとセキュアエレメント間の通信方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1776611A (zh) | 2006-05-24 |
EP1632848A1 (en) | 2006-03-08 |
CA2517535A1 (en) | 2006-03-06 |
KR20060050967A (ko) | 2006-05-19 |
MXPA05009450A (es) | 2006-04-27 |
AU2005205818A1 (en) | 2006-03-23 |
RU2005127726A (ru) | 2007-03-10 |
AR050794A1 (es) | 2006-11-22 |
BRPI0503688A (pt) | 2006-04-25 |
ZA200507121B (en) | 2006-06-28 |
TW200609821A (en) | 2006-03-16 |
US20060136898A1 (en) | 2006-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006079611A (ja) | ソフトウェア用のパッチを供給する方法 | |
CA2508424C (en) | Method of securing software updates | |
US8522036B2 (en) | Method for providing access control to media services | |
US11451846B2 (en) | Pre-entitlement enforcement | |
EP1755340A1 (en) | Digital cable television broadcast receiver | |
CN1879415B (zh) | 有条件访问的方法和设备 | |
US7804959B2 (en) | Digital cable television broadcasting receiver | |
US20060161976A1 (en) | Embedded blacklisting for digital broadcast system security | |
CN103282913A (zh) | 用于加载至少一个软件模块的代码的方法 | |
CN103370933B (zh) | 用于优化付费电视系统中的权限管理消息的接收的方法 | |
US11308242B2 (en) | Method for protecting encrypted control word, hardware security module, main chip and terminal | |
US20110125995A1 (en) | Method and apparatus for downloading secure micro bootloader of receiver in downloadable conditional access system | |
KR100886901B1 (ko) | 다운로드 기반의 수신제한 시스템에서 카스 클라이언트의 개인화 방법 | |
EP1053633B1 (en) | Configuring method and device | |
US8315392B2 (en) | Method to secure access to audio/video content in a decoding unit | |
EP1978467A1 (en) | Integrated circuit and method for secure execution of software | |
CN117077225A (zh) | 用于半导体产品的根密钥的管理 | |
EP1633145A1 (en) | Secured electronic device | |
TW201141196A (en) | Method for updating a security processor, corresponding computer program and processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080808 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20090925 |