(57)【特許請求の範囲】
【請求項１】
計算環境に関連付けられた現在の資産集合についての識別子を入手する方法であって、
前記現在の資産集合に関連付けられた現在の資産パラメータを入手するステップと、
前記現在の資産パラメータと、前記計算環境に関連付けられ、前記計算環境の元の資産集合に基づくフィンガープリントとを所定の機能に従って処理して符号シンボルを入手するステップと、
前記符号シンボルに誤り訂正アルゴリズムを適用して前記識別子を入手するステップとを備える、方法。
【請求項２】
請求項１に記載の方法であって、前記所定の機能は、各々の現在の資産パラメータを少なくとも１つのハッシュ値に換算して一連のハッシュ値を入手するステップを含む、方法。
【請求項３】
請求項２に記載の方法であって、前記所定の機能は、更に、前記フィンガープリントに従って前記一連のハッシュ値を前記符号シンボルにマッピングするステップを含む、方法。
【請求項４】
請求項３に記載の方法であって、
前記フィンガープリントには変換パラメータが関連付けられ、
前記一連のハッシュ値を前記符号シンボルにマッピングするステップは、前記変換パラメータに従って実行される、方法。
【請求項５】
請求項４に記載の方法であって、前記一連のハッシュ値を前記符号シンボルにマッピングするステップは、前記一連のハッシュ値と前記変換パラメータとの間でＸＯＲ演算を実行するステップを含む、方法。
【請求項６】
請求項１から５のいずれかに記載の方法であって、
前記資産のうち少なくとも１つには、チャレンジ応答装置が関連付けられ、
前記現在の資産パラメータを入手するステップは、
少なくとも１つのチャレンジを前記チャレンジ応答装置に入力するステップと、
前記少なくとも１つのチャレンジの各々についての応答を前記チャレンジ応答装置から受け取るステップとを含み、各々の前記応答は現在の資産パラメータを構成する、方法。
【請求項７】
請求項６に記載の方法であって、前記チャレンジ応答装置は、物理複製不可能回路デバイス、ドングル、及びスマートカードのうち少なくとも１つを含む、方法。
【請求項８】
請求項１から７のいずれかに記載の方法であって、前記誤り訂正アルゴリズムはリードソロモン誤り訂正符号を含む、方法。
【請求項９】
元の資産収集が関連付けられた計算環境についてのフィンガープリントを定義する方法であって、
識別子に対する誤り訂正演算の実行を含む符号ワード生成アルゴリズムに従って符号ワードシンボルを生成するステップと、
前記フィンガープリントを入手するために、前記元の資産集合に関連付けられた資産パラメータ及び前記符号ワードシンボルを所定の機能に従って処理するステップとを備える、方法。
【請求項１０】
請求項９に記載の方法であって、前記符号ワードシンボルを生成するステップは、前記識別子を前記符号ワード生成アルゴリズムに入力値として与えるステップを含む、方法。
【請求項１１】
請求項９又は１０に記載の方法であって、前記処理するステップに先立って、前記資産にアクセスして前記資産パラメータを入手するステップが行われる、方法。
【請求項１２】
請求項９から１１のいずれかに記載の方法であって、前記処理するステップは、各々の資産パラメータを少なくとも１つのハッシュ値に換算して一連のハッシュ値を入手するステップを含む、方法。
【請求項１３】
請求項１２に記載の方法であって、
前記フィンガープリントは、一連の変換パラメータを含み、
前記所定の機能は、前記符号ワードシンボルに従って、前記一連のハッシュ値を前記一連の変換パラメータに対してマッピングする、方法。
【請求項１４】
請求項９から１３のいずれかに記載の方法であって、前記処理するステップに先立って、前記資産パラメータを入手するステップが行われる、方法。
【請求項１５】
請求項１４に記載の方法であって、
前記資産のうち少なくとも１つには、チャレンジ応答装置が関連付けられ、
前記資産パラメータを入手するステップは、
少なくとも１つのチャレンジを前記チャレンジ応答装置に入力するステップと、
前記少なくとも１つのチャレンジの各々についての応答を前記チャレンジ応答装置から受け取るステップとを含み、各々の前記応答は資産パラメータを構成する、方法。
【請求項１６】
請求項１５に記載の方法であって、前記チャレンジ応答装置は、物理複製不可能回路デバイス、ドングル、及びスマートカードのうち少なくとも１つを含む、方法。
【請求項１７】
請求項９から１６のいずれかに記載の方法であって、前記誤り訂正演算はリードソロモン誤り訂正符号を使用する、方法。
【請求項１８】
命令を含む有形の非遷移型コンピュータ可読媒体であって、前記命令をプロセッサによって実行すると、前記プロセッサが、計算環境に関連付けられた現在の資産集合についての識別子を入手する方法を実行し、前記方法は、
前記現在の資産集合に関連付けられた現在の資産パラメータを入手するステップと、
前記現在の資産パラメータと、前記計算環境に関連付けられ、前記計算環境の元の資産集合に基づくフィンガープリントとを所定の機能に従って処理して符号シンボルを入手するステップと、
前記符号シンボルに誤り訂正アルゴリズムを適用して前記識別子を入手するステップとを備える、コンピュータ可読媒体。
【請求項１９】
請求項１８に記載のコンピュータ可読媒体であって、前記所定の機能は、各々の現在の資産パラメータを少なくとも１つのハッシュ値に換算して一連のハッシュ値を入手するステップを含む、コンピュータ可読媒体。
【請求項２０】
請求項１９に記載のコンピュータ可読媒体であって、前記所定の機能は、更に、前記フィンガープリントに従って前記一連のハッシュ値を前記符号シンボルにマッピングするステップを含む、コンピュータ可読媒体。
【請求項２１】
請求項２０に記載のコンピュータ可読媒体であって、
前記フィンガープリントには変換パラメータが関連付けられ、
前記一連のハッシュ値を前記符号シンボルにマッピングするステップは、前記変換パラメータに従って実行される、コンピュータ可読媒体。
【請求項２２】
請求項２１に記載のコンピュータ可読媒体であって、前記一連のハッシュ値を前記符号シンボルにマッピングするステップは、前記一連のハッシュ値と前記変換パラメータとの間でＸＯＲ演算を実行するステップを含む、コンピュータ可読媒体。
【請求項２３】
請求項１８から２２のいずれかに記載のコンピュータ可読媒体であって、
前記資産のうち少なくとも１つには、チャレンジ応答装置が関連付けられ、
前記現在の資産パラメータを入手するステップは、
少なくとも１つのチャレンジを前記チャレンジ応答装置に入力するステップと、
前記少なくとも１つのチャレンジの各々についての応答を前記チャレンジ応答装置から受け取るステップとを含み、各々の前記応答は現在の資産パラメータを構成する、コンピュータ可読媒体。
【請求項２４】
請求項２３に記載のコンピュータ可読媒体であって、前記チャレンジ応答装置は、物理複製不可能回路デバイス、ドングル、及びスマートカードのうち少なくとも１つを含む、コンピュータ可読媒体。
【請求項２５】
請求項１８から２４のいずれかに記載のコンピュータ可読媒体であって、前記誤り訂正アルゴリズムはリードソロモン誤り訂正符号を含む、コンピュータ可読媒体。
【請求項２６】
命令を含む有形の非遷移型コンピュータ可読媒体であって、前記命令をプロセッサによって実行すると、前記プロセッサが、元の資産収集が関連付けられた計算環境についてのフィンガープリントを定義する方法を実行し、前記方法は、
識別子に対する誤り訂正演算の実行を含む符号ワード生成アルゴリズムに従って符号ワードシンボルを生成するステップと、
前記フィンガープリントを入手するために、前記元の資産集合に関連付けられた資産パラメータ及び前記符号ワードシンボルを所定の機能に従って処理するステップとを備える、コンピュータ可読媒体。
【請求項２７】
請求項２６に記載のコンピュータ可読媒体であって、前記符号ワードシンボルを生成するステップは、前記識別子を前記符号ワード生成アルゴリズムに入力値として与えるステップを含む、コンピュータ可読媒体。
【請求項２８】
請求項２６又は２７に記載のコンピュータ可読媒体であって、前記処理するステップに先立って、前記資産にアクセスして前記資産パラメータを入手するステップが行われる、コンピュータ可読媒体。
【請求項２９】
請求項２６から２８のいずれかに記載のコンピュータ可読媒体であって、前記処理するステップは、各々の資産パラメータを少なくとも１つのハッシュ値に換算して一連のハッシュ値を入手するステップを含む、コンピュータ可読媒体。
【請求項３０】
請求項２９に記載のコンピュータ可読媒体であって、
前記フィンガープリントは、一連の変換パラメータを含み、
前記所定の機能は、前記符号ワードシンボルに従って、前記一連のハッシュ値を前記一連の変換パラメータに対してマッピングする、コンピュータ可読媒体。
【請求項３１】
請求項２６から３０のいずれかに記載のコンピュータ可読媒体であって、前記処理するステップに先立って、前記資産パラメータを入手するステップが行われる、コンピュータ可読媒体。
【請求項３２】
請求項３１に記載のコンピュータ可読媒体であって、
前記資産のうち少なくとも１つには、チャレンジ応答装置が関連付けられ、
前記資産パラメータを入手するステップは、
少なくとも１つのチャレンジを前記チャレンジ応答装置に入力するステップと、
前記少なくとも１つのチャレンジの各々についての応答を前記チャレンジ応答装置から受け取るステップとを含み、各々の前記応答は資産パラメータを構成する、コンピュータ可読媒体。
【請求項３３】
請求項３１に記載のコンピュータ可読媒体であって、前記チャレンジ応答装置は、物理複製不可能回路デバイス、ドングル、及びスマートカードのうち少なくとも１つを含む、コンピュータ可読媒体。
【請求項３４】
請求項２６から３３のいずれかに記載のコンピュータ可読媒体であって、前記誤り訂正演算はリードソロモン誤り訂正符号を使用する、コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的に、計算環境についての識別子を生成することに関する。より具体的には、本開示は、誤り訂正方式を用いて、変化許容力を有する態様で計算環境における資産（ａｓｓｅｔ）集合についての識別子を生成することに関する。
【背景技術】
【０００２】
多くのコンピュータシステム保護技術においては、ソフトウェアアプリケーションが実行されているシステムを頑丈な態様で識別する機構が必要とされる。一般的に、これを達成するためには、システムに統合されたハードウェアデバイス（マザーボードパラメータ、ＢＩＯＳ、ＭＡＣアドレス、ハードディスク、ＣＤ／ＤＶＤプレーヤー、グラフィックスカード、Ｉ／Ｏコントローラ）等、システムの様々な資産からデバイス識別子を読み出している。次に、これらのデバイス識別子を組み合わせてシステムの識別子を得る。このような識別子を導き出す簡単な方法として、全てのデバイス識別子に対して排他的論理和（ＸＯＲ）を適用するものが挙げられる。
【０００３】
コンピュータハードウェアの部品又はその他の資産は交換又は修理等のため変化するので、システム識別子を判定する方法は、デバイス識別子においてしばしば生じる変化を許容できる必要がある。ハードウェア更新をサポートする１つの方法として、同じシステム識別子を生成しながら少数のデバイス識別子の変化を許容するというものがある。これを達成する公知の方法として、初期化段階において一意のデバイス識別子を記録し、識別子算出段階において、記録されたパラメータを実際のパラメータと比較するというものがある。十分な一致が存在すれば、記録されたパラメータを用いてシステム識別子を入手する。
【０００４】
他にも、時間の経過に伴って変化し得る寄与情報の集合からシステム識別子を導き出す方法がある。このような方法は、様々に異なる寄与情報に基づくものではあるが、やはり算出された識別子を変化させることなく寄与情報の変化を許容できる必要がある。上述のシステムにおけるのと同様、この方法は、寄与情報を記録し、記録された情報を実際の情報と比較し、実際の情報と記録された情報との間に十分な一致が存在すればシステムの利用を許可するというものがある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このような方法の１つの問題は、記録されたデバイス識別子と取り出されたパラメータとの比較工程が攻撃に弱いということである。記録されたデバイス識別子が存在することがこのような攻撃を可能にする主な原因である。従って、悪意のある攻撃に対する耐性を有しながら、計算環境における変化への許容力を有するシステム識別子を生成する方法を提供することが望ましい。
【課題を解決するための手段】
【０００６】
第１の局面において、本開示は、計算環境に関連付けられた現在の資産集合についての識別子を入手する方法を提供する。この方法は、前記現在の資産集合に関連付けられた現在の資産パラメータを入手するステップと、前記現在の資産パラメータと、前記計算環境に関連付けられ、前記計算環境の元の資産集合に基づくフィンガープリント（ｆｉｎｇｅｒｐｒｉｎｔ）とを所定の機能に従って処理して符号シンボルを入手するステップと、前記符号シンボルに誤り訂正アルゴリズムを適用して前記識別子を入手するステップとを備える。
【０００７】
前記所定の機能は、各々の現在の資産パラメータを少なくとも１つのハッシュ値に換算して一連のハッシュ値を入手するステップを含み得る。前記所定の機能は、更に、前記フィンガープリントに従って前記一連のハッシュ値を前記符号シンボルにマッピングするステップを含み得る。前記フィンガープリントには変換パラメータが関連付けられ、前記一連のハッシュ値を前記符号シンボルにマッピングするステップは、前記変換パラメータに従って実行されるようにしても良い。前記一連のハッシュ値を前記符号シンボルにマッピングするステップは、前記一連のハッシュ値と前記変換パラメータとの間でＸＯＲ演算を実行するステップを含み得る。前記資産のうち少なくとも１つには、チャレンジ応答装置が関連付けられ、前記現在の資産パラメータを入手するステップは、少なくとも１つのチャレンジを前記チャレンジ応答装置に入力するステップと、前記少なくとも１つのチャレンジの各々についての応答を前記チャレンジ応答装置から受け取るステップとを含み、各々の前記応答は現在の資産パラメータを構成するようにしても良い。前記チャレンジ応答装置は、物理複製不可能回路（ＰＵＦ）デバイス、ドングル、及びスマートカードのうち少なくとも１つを含み得る。前記誤り訂正アルゴリズムはリードソロモン誤り訂正符号を含み得る。
【０００８】
第２の局面において、本開示は、元の資産集合が関連付けられた計算環境についてのフィンガープリントを定義する方法を提供する。この方法は、符号ワード生成アルゴリズムに従って符号ワードシンボルを生成するステップと、前記フィンガープリントを入手するために、前記元の資産集合に関連付けられた資産パラメータ及び前記符号ワードシンボルを所定の機能に従って処理するステップとを備える。
【０００９】
前記符号ワードシンボルを生成するステップは、識別子を前記符号ワード生成アルゴリズムに入力値として与えるステップを含み得る。前記処理するステップに先立って、前記資産にアクセスして前記資産パラメータを入手しても良い。前記処理するステップは、各々の資産パラメータを少なくとも１つのハッシュ値に換算して一連のハッシュ値を入手するステップを含み得る。前記フィンガープリントは、一連の変換パラメータを含み、前記所定の機能は、前記符号ワードシンボルに従って、前記一連のハッシュ値を前記一連の変換パラメータに対してマッピングするようにしても良い。前記処理するステップに先立って、前記資産パラメータを入手しても良い。前記資産のうち少なくとも１つには、チャレンジ応答装置が関連付けられ、前記資産パラメータを入手するステップは、少なくとも１つのチャレンジを前記チャレンジ応答装置に入力するステップと、前記少なくとも１つのチャレンジの各々についての応答を前記チャレンジ応答装置から受け取るステップとを含み、各々の前記応答は資産パラメータを構成するようにしても良い。前記チャレンジ応答装置は、物理複製不可能回路（ＰＵＦ）デバイス、ドングル、及びスマートカードのうち少なくとも１つを含む。前記符号ワード生成アルゴリズムはリードソロモン誤り訂正符号を含む。
【図面の簡単な説明】
【００１０】
当業者には、添付の図面と合わせて以下の特定の実施例の記載を検討すれば、本開示の他の局面及び特徴が明らかになる。
【００１１】
以下、添付の図面を参照しながら本開示の実施例を単に例示として説明する。
【図１Ａ】図１Ａは、本開示に従う例示の初期化方法を示す図である。
【図１Ｂ】図１Ｂは、本開示に従う計算環境の識別子を入手する態様の一例を示す図である。
【図２】図２は、本開示に従うもう１つの例示の初期化方法を示す図である。
【図３】図３は、本開示に従う計算環境の識別子を入手する態様のもう１つの例を示す図である。
【図４】図４は、本開示の実施例で用いられ得る変換関数とルックアップ関数との相互関係の一例を示す図である。
【図５】図５は、本開示の実施例で用いられ得る２つのハッシュ値を有する単一の資産パラメータの一例を示す図である。
【図６】図６は、本開示の実施例で用いられ得る単一のハッシュ値を有する２つの資産パラメータの一例を示す図である。
【図７】図７は、本開示の方法の別の実施例における初期化及び識別子を入手する態様の一例を示す図である。
【図８】図８は、本開示に従うもう１つの例示の初期化方法を示す図である。
【図９】図９は、本開示の実施例で用いられ得るチャレンジ応答装置に入力されるチャレンジを含む例示の誤り訂正フィンガープリントを示す図である。
【発明を実施するための形態】
【００１２】
本開示は、取り出された資産パラメータと計算環境に関連付けられた誤り訂正フィンガープリントとに基づいて計算環境識別子を算出するセキュアで且つ変化許容力を有する方法を提供する。この識別子を用いて、計算環境で実行されているアプリケーションの機能に影響を与えたり、これを判定したりすることができる。
【００１３】
本開示においては、「変化許容力を有する」という用語は、「フォールトトレラント」及び「変更許容力を有する」と類似のものであり、計算環境の誤り訂正フィンガープリントを得る工程の後に計算環境の一部の資産が変化した場合でも識別子を入手することができることを意味する。
【００１４】
この明細書中では、「資産」とは、あらゆるデータ、アプリケーション、デバイス、ノード、又はその他の計算環境の構成要素である。一般的に、資産には、ハードウェア（例えばサーバ及びスイッチ）、ソフトウェア（例えばミッションクリティカルアプリケーション及びサポートシステム）及び機密情報等が含まれる。この明細書中では、「計算環境」及び「コンピュータシステム」という用語は交換可能であり、単一のコンピュータ及びその他の装置であって、プロセッサ、分散計算システム、その構成要素、記憶された又はその他の態様で関連付けられたデータを含み、且つ、そのようなコンピュータシステム、取り付けられた又はアクセス可能な周辺機器、ソフトウェアアプリケーション及び基本ソフト並びにこれらの組み合わせのユーザに関連付けられたデータを含むものを包括的に意味する。この明細書中では、「資産パラメータ」とは、所与のクラスの資産、状況又はエリアについて出現頻度が限られた、割り当て又は決定されたパラメータを意味する。資産パラメータは、一意であるか、又は少なくともパラメータが割り当て又は決定される時点で資産を排他的に識別することができる。資産パラメータは、例えば、数字、シンボル、数字又は文字の列、又は関数として表現され得る。他の形態では、資産パラメータは一意でなく、資産パラメータの組み合わせが一意であるようにしても良い。
【００１５】
この方法が用いられ得るシステムの一例として、コンピュータ（計算環境）であって、シリアル番号又は他の割り当てられた資産パラメータ等の、多少なりとも一意のデバイス識別子を各々が有する或る数の周辺機器を有するコンピュータがある。一般的に、このようなデバイス識別子は、製造者によってデバイスに割り当てられる。この方法はまた、各々のマイクロコントローラが一意の識別子を有する埋め込みマイクロコントローラのネットワークに適用しても良い。このような構成は、マイクロコントローラモジュール全体を交換することで修理される比較的複雑なシステム（例えば航空機、自動車、産業用機械）で一般的に見られる。このような機械においては、コントローラのためのファームウェアを特定の上記ネットワークにリンクすることが有益であり得る。コンピュータシステムに関連付けられ又はここに記憶されたデータソースもまた資産と見做すことができる。その例として、住所録、ユーザ選択設定、名前、住所、日付又は他の比較的変化の頻度の低いパラメータが含まれる。資産パラメータは、１つ又は複数の資産に関連付けられたパラメータに関数を適用することで入手することができる。例えば、資産パラメータは、コンピュータメモリに関連付けられたパラメータ、特定のアプリケーション又はファイル集合を入力値とする関数から得ることができる。資産パラメータによっては、この明細書に記載の方法によって処理できるようになるために、ユーザによる入力（例えばパスワード、質問への答え（例えば好きな色、母親の旧姓等）、取り外し可能なデータソースの挿入、又は指紋のスキャン）を必要とするものもある。更に、資産によっては、資産パラメータが関連付けられないものもあり得る。従って、誤り訂正フィンガープリントを定義する際、及び計算環境の識別子を決定する際、資産パラメータの不在が有効な入力と見做されることがある。
【００１６】
本開示では、信頼性の低い通信リンク経由で信頼性の高いデータ伝送を可能にする誤り訂正符号の技術分野における諸概念を用いる。（前方向）誤り訂正符号（ＦＥＣ）の主要な変種として、固定データブロックに対して働くブロック符号や、データストリームに対して働く畳み込み符号がある。用途によっては、これら２種類の符号を組み合わせて、シャノン限界に近いデータ速度を達成する。性能を向上させるためにターボ符号又はＬＤＰＣ符号（低密度寄偶検査符号）を用いても良い。本開示にはあらゆる誤り訂正符号化を適用することができるが、本開示の一部の実施例の説明は、最大距離分離符号等の線形符号に基づくものである。最大距離分離符号の周知の例がリードソロモン符号である。最大距離分離符号以外の誤り訂正符号を用いても本開示の範囲を逸脱することはない。
【００１７】
当該技術で公知のように、誤り訂正ブロック符号は、ｋ個のシンボルからなるメッセージｘを、ｎ個のシンボルからなる符号ワードｃにマッピングすることができる。このメッセージは（ｘ１，ｘ２，…ｘｋ）と表記することができ、符号ワードは（ｃ１，ｃ２，…ｃｎ）と表記することができる。メッセージ及び符号ワードにおけるシンボルは、サイズｑを有する固定のアルファベットから選択される。線形誤り訂正符号は、ｋ行及びｎ列からなる生成行列Ｇによって表すことができ、各々のメッセージｘにつきｃ＝ｘＧという性質を有する。符号長はｎであり、ｋは符号の次元と称する。符号ワードｃが送信され、受信された符号ワードがｒと等しい場合、復号化アルゴリズムを用いてｒからｘを取り出す。誤り訂正符号の誤り訂正能力は、符号の最小距離に依存し得る。最小距離は、任意の２つの符号ワードが異なるシンボル位置の最小数と定義され、ｄと表記される。最小距離ｄの符号は、最大でＦｌｏｏｒ（（ｄ−１）／２）個の誤りを訂正することができる。長さｎ、次元ｋ、最小距離ｄの線形誤り訂正符号は、［ｎ，ｋ，ｄ］ｑ符号と称することができる。
【００１８】
リードソロモン符号は、［ｎ，ｋ，ｎ−ｋ＋１］ｑ符号である。言い換えると、最小距離ｄはｎ−ｋ＋１に等しい。また、リードソロモン符号は消失チャネルで用いることもでき、ここで符号は、任意の組のｎ−ｋ個のシンボル消失（失われたシンボル）を訂正することができる。リードソロモン符号に関する更なる情報は、インターネットで入手可能なバーナード・スクラー（Ｂｅｒｎａｒｄ  Ｓｋｌａｒ）による記事「リードソロモン符号（Ｒｅｅｄ−Ｓｏｌｏｍｏｎ  Ｃｏｄｅｓ）」に記載されている。更なる情報は、例えば以下に記載されている。ライアン、ウィリアム・Ｅ（Ｒｙａｎ，Ｗｉｌｌｉａｍ  Ｅ．）、シュー・リン（Ｓｈｕ  Ｌｉｎ）著『チャネル符号：古典と現代（Ｃｈａｎｎｅｌ  Ｃｏｄｅｓ：Ｃｌａｓｓｉｃａｌ  ａｎｄ  Ｍｏｄｅｒｎ）』、２００９年、ケンブリッジ大学出版（Ｃａｍｂｒｉｄｇｅ  Ｕｎｉｖｅｒｓｉｔｙ  Ｐｒｅｓｓ）、ＩＳＢＮ：９７８−０−５２１−８４８６８−８。ロバート・Ｈ・モレロス・ザラゴザ（Ｒｏｂｅｒｔ  Ｈ．Ｍｏｒｅｌｏｓ−Ｚａｒａｇｏｚａ）著『誤り訂正符号化技術（Ｔｈｅ  Ａｒｔ  ｏｆ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｉｎｇ）』、第２版、ジョン・ワイリー・アンド・サンズ（Ｊｏｈｎ  Ｗｉｌｅｙ  ＆  Ｓｏｎｓ）、２００６年、ＩＳＢＮ：０４７００１５５８６。
【００１９】
図１Ａは、本開示に従う初期化方法の一例を示す。図１Ａの方法は、計算環境に存在する資産集合についてフィンガープリント（誤り訂正フィンガープリントとも称する）を生成する態様を示す。初期化の際に存在するこの資産集合は、元の資産集合とも称する。ステップ２０にて、元の資産集合の資産パラメータが取り出される。ステップ２２にて、所定の識別子に対して誤り訂正演算を実行し、符号ワードシンボルを生成する。ステップ２４にて、所定の関数が符号ワード及び取り出された資産パラメータに対して働いて、計算環境の誤り訂正フィンガープリントを生成する。誤り訂正フィンガープリントは、元の資産集合及び識別子の関数である。
【００２０】
図１Ｂは、計算環境の現在の資産集合についての識別子を入手する方法の一例を示す。計算環境には、誤り訂正フィンガープリントが関連付けられる。誤り訂正フィンガープリントとは、計算環境が元の資産集合を有していた初期化段階における資産パラメータの関数である。
【００２１】
ステップ３０にて、現在の資産集合の資産パラメータを取り出す。ステップ３２にて、取り出された資産パラメータ及びフィンガープリントを処理して符号シンボルを入手する。ステップ３４にて、誤り訂正演算、例えばリードソロモン誤り訂正演算を符号シンボルに適用して識別子を入手する。現在の資産集合が元の資産集合と同一であれば、識別子は常に正しい。現在の資産集合が元の資産集合と異なれば、どの資産が異なるのか、いくつの資産が異なるのか、及びフィンガープリントの入手に用いられた誤り訂正演算に依存して、識別子は正しいことも正しくないこともある。
【００２２】
図２は、本開示に従うもう１つの初期化方法の例を示す。即ち、図２は、本開示に従い計算システムの誤り訂正フィンガープリントを算出する態様を示す。ステップ５０１〜５０ｎにて、計算環境内の資産から資産パラメータｐ１，ｐ２，…ｐｎを取り出す（例えば読み出す、又は他の態様で入手する）。これらの資産が元の資産集合を構成する。
【００２３】
ステップ５２１〜５２ｎにて、取り出された資産パラメータｐ１，ｐ２，…ｐｎを、ハッシュ関数を通じて処理してハッシュ値ｈ１，ｈ２，…ｈｎを入手する。本開示の範囲を逸脱することなく、あらゆる好適なハッシュ関数を用いることができる。ハッシュ値ｈ１，ｈ２，…ｈｎは、ステップ５４１〜５４ｎに示す変換関数Ｔへの入力値となる。
【００２４】
変換生成関数Ｔへのもう１つの入力値が、誤りに対して保護された符号ワードｃであり、ｃ＝（ｃ１，ｃ２，…ｃｎ）と定義される。シンボルｃ１，ｃ２，…ｃｎは、識別子生成部５８で生成され得る識別子ｘ１，ｘ２，…ｘｋの関数として符号ワード生成モジュール５６によって（符号ワード生成アルゴリズムを用いて）生成された符号ワードシンボルである。識別子生成部５８はまた、識別情報メッセージサーバ又はメッセージ生成部とも称する。各々の符号ワードシンボルｃｉ及びハッシュ値ｈｉにつき、変換関数Ｔ（Ｔ＝Ｔ（ｃｉ，ｈｉ））は、符号ワードシンボルｃｉの関数として変換パラメータｔｉを生成する。変換パラメータｔ１，ｔ２，…ｔｎは、ハッシュ値及び符号ワードシンボルの関数として誤り訂正フィンガープリント４２を定義する。
【００２５】
後述するように、符号ワード生成モジュール５６は、符号ワード生成アルゴリズム（リードソロモン誤り符号を含み得る）を用いて、識別子の関数として符号ワードシンボルを生成する。識別子は、特定の計算環境に特有の一意の鍵と見做すことができる。識別子はランダムに生成することができる。用途によっては、識別子は公開鍵暗号システムにおける鍵を表す場合があり、この場合、このような鍵のランダムな生成を妨げる或る特別な制約がある場合がある。データ暗号化標準（ＤＥＳ）暗号化アルゴリズムに用いられる鍵は、５６ビットを用いる。次世代暗号化標準（ＡＥＳ）では１２８ビット又は２５６ビットの鍵を用いる。リベスト・シャミア・エーデルマン（ＲＳＡ）アルゴリズムでは、２０４８ビット又は３０７２ビットの鍵長を用いる。従って、上述の暗号化技術を用いた場合、識別子のサイズは約４８ビットから３Ｋビットの範囲とすることができる。一般的に、優れた暗号化アルゴリズムでは、解読にしらみつぶしの鍵探索が必要であるため、鍵において１ビット追加されるたびに鍵を見つけるための探索数は二倍になる。識別子は、ランダム数生成部を用いて生成することができ、各計算システムを区別化するために、且つ辞書攻撃に抵抗できるために十分の長さであることが求められる。一般的に、符号ワード生成アルゴリズム及び誤り訂正符号は、少なくとも識別子長さ、資産パラメータ数、及びハッシュアルゴリズムに従って選ぶことが求められる。
【００２６】
計算環境におけるアプリケーションの初期化に関し、実施例によっては、アプリケーションの初期化部分が資産パラメータを読み出し、これをサーバに送る。サーバは、資産パラメータの関数として、且つ符号ワード生成アルゴリズム（リードソロモン誤り訂正符号を含み得る）に従って、計算環境の誤り訂正フィンガープリントを算出し、このフィンガープリントを、計算環境で実行されているアプリケーションに返す。サーバはまた、アプリケーションの実例（ｉｎｓｔａｎｃｅ）を生成することができ、誤り訂正フィンガープリントが新しいアプリケーションに埋め込まれる。この場合、サーバはアプリケーション実例を計算プラットフォーム（計算環境）に送ることで実行又はインストールできるようにする。誤り訂正フィンガープリントによって、アプリケーションは後でより詳細に説明するように資産パラメータをシステム識別子に換算することが可能となる。
【００２７】
図３は、図１Ｂの方法の実現例を示す。図３は、ｎ個の資産パラメータｐ’１，ｐ’２，…ｐ’ｎを有する計算環境に関する。資産パラメータは、ステップ３６１〜３６ｎにて計算環境内の資産から取り出される（例えば読み出される、又は他の態様で入手される）。ステップ３８１〜３８ｎにて、取り出された資産パラメータｐ’１，ｐ’２，…ｐ’ｎをハッシュ関数で処理してハッシュ値ｈ’１，ｈ’２，…ｈ’ｎ-を入手する。ハッシュ関数は、初期化段階で用いられるものと同じである。一般的に、ハッシュ値は、資産パラメータに依存することになる。ステップ４０１〜４０ｎにて、ハッシュ値ｈ’１，ｈ’２，…ｈ’ｎ-を、マッピング演算Ｌによって、誤り訂正フィンガープリント４２の変換パラメータｔ１，ｔ２，…ｔｎ-の関数として、それぞれの符号シンボルｃ’１，ｃ’２，…ｃ’ｎ-にマッピングする。所定の変換パラメータｔ１，ｔ２，…ｔｎ-は、誤り訂正フィンガープリント４２を規定し、図２の例に記載のような初期化段階で決定される。ステップ４４にて、誤り訂正モジュール４６は、誤り訂正アルゴリズムを符号シンボルｃ’１，ｃ’２，…ｃ’ｎ-に適用して識別子ｘ’１，ｘ’２，…ｘ’ｋ-を入手する。誤り訂正アルゴリズムは、リードソロモン誤り訂正符号又は他の任意の好適な種類の誤り訂正符号を含み得る。誤り訂正モジュール４６によって適用される誤り訂正アルゴリズムは、図２の符号ワード生成モジュール５６によって適用される符号ワード生成アルゴリズムと機能的に反対のものである。
【００２８】
資産パラメータｐ’１，ｐ’２，…ｐ’ｎが資産パラメータｐ１，ｐ２，…ｐｎ（図２）と同じ場合、又は誤り訂正モジュール４６（図２）によって適用される特定の誤り訂正符号にとって許容可能な量以下しか異ならない場合、誤り訂正モジュール４６の出力部で入手される識別子ｘ’１，ｘ’２，…ｘ’ｋ-は、符号ワード生成モジュール５６（図２）に入力される識別子ｘ１，ｘ２，…ｘｋと同じとなる。即ち、資産パラメータｐ’１，ｐ’２，…ｐ’ｎとｐ１，ｐ２，…ｐｎとにおける差異（誤り）は、誤り訂正モジュール４６によって許容され得るものを上回らない場合に上記が該当する。
【００２９】
ルックアップ関数Ｌ（図３のステップ４０１〜４０ｎ）は、変換パラメータｔｉによって構成される。その結果得られるルックアップ関数は、資産パラメータｐ’ｉが初期化の際に存在する資産パラメータｐｉと同じ、即ちｈ’ｉ＝ｈｉの場合、ハッシュ値ｈ’ｉを符号ワードシンボルｃｉにマッピングする。ｈ’ｉが他の値であって、初期化の際に存在する資産パラメータに対応しない場合、ｔｉで構成されるルックアップ関数Ｌは、ｃｉに等しくない出力値を生成する。誤り訂正符号がサポートするのであれば、資産パラメータの不在を表す符号化値のための変換マッピング関数を生成するための特別な規定を設けても良い。
【００３０】
用途によっては、変換パラメータ生成関数Ｔを、ｈｉ及びｃｉに対するＸＯＲ関数として実現することが有益であり得る。その他の関数表現を用いても良い。一般的に、テーブルルックアップは任意の関数を表現し得る。ルックアップテーブルの代わりに、実際に算出工程を用いて同じ結果を生成することも可能である。ＸＯＲはそのような演算（算出）の一例である。これに代えて、Ｌについての単なる加算及びＴについての減算を用いても良い。変換関数Ｔとルックアップ関数Ｌとの関係の一例を図４に示す。図４は、変換関数Ｔ（５４ｉ）及びルックアップ関数Ｌ（４０ｉ）を合わせて使用する態様を示す。変換関数Ｔ（５４ｉ）は、符号ワードシンボルｃｉ及び初期ハッシュ値ｈｉを変換パラメータｔｉにマッピングする。或るｈ’ｉの値に対し、ルックアップ関数Ｌ（４０ｉ）は、ｈ’ｉがｈｉと等しい場合にのみｃｉの初期値と等しい符号シンボルｃ’ｉを生成する。他の全てのｈ’ｉの値の場合、ルックアップ関数Ｌは、ｃｉとは異なる受け取りシンボル値ｃ’ｉを生成する。即ち、初期化の際に存在した元の資産が、代わりの資産と交換された場合、代わりの資産に対応する符号シンボル値は、元の資産に対応する符号ワードシンボルとは異なることになる。
【００３１】
図２及び図３の例では、各々の資産パラメータにつきただ１つのハッシュ値を生成している。しかしながら、これに限定されない。例えば、図５に示すように、単一の資産パラメータｐｉが２つ以上のハッシュ値を生成しても良い。図５の例では、ステップ６２で読み出された資産パラメータｐ３をハッシュして２つのハッシュ値ｈ３及びｈ４とし、これらをルックアップ関数６４，６６への別個の入力値として用いて、変換パラメータｔ３，ｔ４に従って符号ワードｃ３，ｃ４を生成し、これらを用いて誤り訂正フィンガープリントを生成することが可能である。これにより、異なる重みを資産パラメータに割り当てることが可能になる。例えば、２つ以上のハッシュ値が関連付けられた資産パラメータは、一般的に、ただ１つのハッシュ値が関連付けられた資産パラメータよりも、計算環境識別子の決定においてより大きな役割を有する。
【００３２】
一方で、多数の資産パラメータが単一のハッシュ値を生成しても良い。例えば、ハッシュ関数を、個々の資産パラメータに適用する代わりに、複数の資産パラメータを合計したものに適用しても良い。即ち、ハッシュ関数Ｈ（ｐ１），Ｈ（ｐ２）の代わりに、Ｈ（ｐ１＋ｐ２）を用いても良い。初期化段階の後、資産の一方又は両方における変化、及びこれに伴いそれぞれの資産パラメータにおける変化は、一般的に、回復された識別子に対して同じ影響を及ぼす。その一例を図６に示す。図６では、ステップ６８で取り出された資産パラメータｐ１と、ステップ７２で取り出された資産パラメータｐ２とを、ステップ７０にて合計する。合計した資産パラメータｐ１＋ｐ２を、次に、ステップ７４にてハッシュしてハッシュ値ｈ１を生成し、これをルックアップ関数７５に入力して、変換パラメータｔｉの関数として符号ワードｃ１を生成する。
【００３３】
また、資産パラメータを多数の部分に分割してからハッシュして多数のハッシュパラメータにしても本開示の範囲を逸脱しない。また、ハッシュの生成前又はハッシュ関数の適用後に相当程度の処理を行っても良い。このような誤り訂正モジュールの間接的使用もまた本開示の範囲内である。
【００３４】
図７は、３つの資産と、リードソロモン（４，２）誤り訂正符号とを用いるアプリケーション（ソフトウェアアプリケーション）に関する本開示の例を示す。この例では、アプリケーションは、１つの主要な資産が正しく、残りの２つの資産のうち少なくとも１つが正しい場合にのみ有効な結果（有効な識別子）を生成するものである。主要な資産又は他の２つの資産両方に誤りがあれば、有効な識別子は生成されず、アプリケーションは意図した機能を行うことができなくなる。この例では、資産パラメータｐ３を有する資産が主要な資産であり、この資産パラメータには、２つのハッシュ値ｈ３，ｈ４が関連付けられる。
【００３５】
まず、３つの資産を含む計算資産について誤り訂正フィンガープリントを決定する態様を説明する。
【００３６】
ステップ７６にて、識別子生成部７８は識別子ｘ＝（ｘ１，ｘ２）を生成し、この識別子は符号ワード生成部８０に入力される。符号ワード生成部８０は、この例では、リードソロモン（４，２）誤り訂正符号を用いる符号ワード生成アルゴリズムを用いる符号ワード生成部であり、識別子ｘの関数として符号ワードｃ＝（ｃ１，ｃ２，ｃ３，ｃ４）を出力する。各々の符号ワードシンボルｃｉを変換関数Ｔに入力する。変換関数Ｔもまた、誤り訂正フィンガープリント８４が決定されている元の資産集合から入手したハッシュ値を入力値とする。これらハッシュ値は、ｈ１，ｈ２，ｈ３，ｈ４である。図７に示すように、資産パラメータｐ３と、これに伴いその関連の資産とには、２つのハッシュ値ｈ３，ｈ４が関連付けられる。これらのハッシュ値なしには有効な識別子を入手することはできない。
【００３７】
変換関数８２１は変換パラメータｔ１を出力し、変換関数８２２は変換パラメータｔ２を出力し、変換関数８２３は変換パラメータｔ３を出力し、変換関数８２４は変換パラメータｔ４を出力する。変換パラメータｔ１，ｔ２，ｔ３，ｔ４は、誤り訂正フィンガープリント８４を構成する。
【００３８】
３つの資産についての識別子の決定の際、これが誤り訂正フィンガープリント８４の決定に用いられた元の３つの資産であれ、又は他の資産であれ、ステップ８６１〜８６３にて資産パラメータｐ１，ｐ２，ｐ３を取り出す。ステップ８８１にて、資産パラメータｐ１の関数としてハッシュ値ｈ１を入手する。ステップ８８２にて、資産パラメータｐ２の関数としてハッシュ値ｈ２を入手する。ステップ８８３にて、資産パラメータｐ３の関数としてハッシュ値ｈ３、ｈ４を入手する。
【００３９】
その後、各々のハッシュ値ｈｉ（ｉ＝１〜４）及び対応する変換パラメータｔｉをルックアップ関数Ｌ（ｈｉ，ｔｉ）に入力し、このルックアップ関数は符号シンボルc’ｉを出力する。これをステップ９０１〜９０４で示す。符号シンボルｃ’ｉの決定に用いられた資産パラメータが、変換パラメータｔｉの決定に用いられた資産パラメータと同じである場合にのみ、ｃ’ｉは符号ワードシンボルｃｉと同一となる。符号シンボルｃ’１，ｃ’２，ｃ’３，ｃ’４を誤り訂正モジュール９２（リードソロモン（４，２）誤り訂正モジュール）に入力し、誤り訂正モジュール９２は識別子ｘ’＝（ｘ’１，ｘ’２）を出力する。ｃ’３＝ｃ３及びｃ’４＝ｃ４且つ少なくともｃ’１＝ｃ１又はｃ’２＝ｃ２の場合にのみ識別子ｘ’はｘ＝（ｘ１，ｘ２）と等しくなる。
【００４０】
図７はまた、リードソロモン誤り訂正符号に基づく誤り訂正アルゴリズムを用いたＲＳ（４，２）誤り訂正モジュール９２が用いられることを示す。主要な資産パラメータｐ３を用いて２つのハッシュ値ｈ３，ｈ４を生成する。誤り訂正モジュール９２のＲＳ（４，２）符号は１つの誤りシンボルを訂正できるため、ＲＳ（４，２）誤り訂正モジュール９２が有効な出力を生成するためには主要な資産パラメータｐ３が正しいものである必要がある。ｐ３が正しい場合、残りのハッシュパラメータ（ｈ１又はｈ２）のうち一方は正しくなくても良いが、それはＲＳ（４，２）誤り訂正モジュール９２がその誤りから回復できるためである。
【００４１】
識別子ｘ＝（ｘ１，ｘ２）は、多数の計算プラットフォーム（計算環境）で共通であっても良い。そのような場合、エンドユーザはプログラム（アプリケーションプログラム）の同一のコピーを入手することができるが、識別子ｘを生成するためには誤り訂正フィンガープリントに特有の計算プラットフォームを必要とする。
【００４２】
用途によっては、初期化の際に用いられたものと意図的に異なる資産を用いた識別子を回復することが有利な場合もある。誤り訂正符号は一定量の誤った資産パラメータを許容するため、この手法を用いてシステムに対する攻撃を複雑にすることができる。誤り訂正モジュールは、アプリケーションによって許容され得る正しくないシンボルの数を示しても良い。それに応じて、回復における意図的に誤った入力の数を調整することができる。
【００４３】
資産パラメータを読み出す代わりに、計算プラットフォーム（計算環境）によっては、例えば物理複製不可能回路（ＰＵＦ）、ドングル、スマートカード等のチャレンジ応答装置（機能）をサポートしても良い。このようなチャレンジ応答装置に関連付けられた資産の場合、チャレンジ応答装置にチャレンジを入力し且つ応答を処理するように、図３の例示の識別メッセージ回復方法を適合することができる。
【００４４】
初期化段階中、即ち誤り訂正フィンガープリントを確立する時点で、或る数のチャレンジ及び対応する応答を入手し、これらを用いて誤り訂正フィンガープリントを生成する。図８は、図２の例に類似の初期化の例を示すが、この例においては、資産パラメータｐ１，ｐ２を読み出す代わりに、チャレンジ装置（機能）９４は、２つのチャレンジ応答装置１００，１０１に２つのチャレンジを入力し、応答ＣＲ１及びＣＲ２を入手する。この後、後述のように、応答ＣＲ１，ＣＲ２は資産パラメータとして扱われるため、これを資産パラメータと称しても良い。即ち、応答ＣＲ１，ＣＲ２は資産パラメータを構成する。チャレンジ応答装置１００，１０１のそれぞれが、計算環境における異なる資産と関連付けられ得る。
【００４５】
チャレンジ装置９４は、第１のチャレンジ９６をチャレンジ応答装置１００に入力する。これに応答して、チャレンジ応答装置１００は応答ＣＲ１をハッシュ関数５２１に入力し、ハッシュ関数５２１はハッシュ値ｈ１を生成する。チャレンジ装置９４はまた、第２のチャレンジ９８をチャレンジ応答装置１０１に入力し、チャレンジ応答装置１０１は応答ＣＲ２をハッシュ関数５２２に入力する。ハッシュ関数５２２はハッシュ値ｈ２を生成する。従って、ＣＲ１，ＣＲ２は、ハッシュ関数によって資産パラメータとして扱われる。この例では、ｈ１，ｈ２以外のハッシュ値は、資産パラメータｐｎを出力するステップ５０ｎ等にて対応の資産パラメータを読み出してそれぞれのハッシュ関数に入力することによって入手される。ハッシュ値ｈ１，ｈ２，…ｈｎは、変換関数Ｔに入力される。変換関数Ｔへのもう１つの入力は、誤りに対して保護された符号ワードｃ（ｃ＝（ｃ１，ｃ２，…ｃｎ）と定義する）である。シンボルｃ１，ｃ２，…ｃｎは、識別子生成部５８によって生成され得る識別子ｘ１，ｘ２，…ｘｋの関数として符号ワード生成モジュール５６によって生成される符号ワードシンボルである。変換関数Ｔ＝Ｔ（ｃｉ，ｈｉ）は、符号ワードシンボルｃｉ及びハッシュ値ｈｉの関数として変換パラメータｔｉを生成する。変換パラメータｔ１，ｔ２，…ｔｎは、誤り訂正フィンガープリント６１に含まれる。
【００４６】
当業者であれば理解できるように、チャレンジ応答装置からの応答を処理することによって任意の数のハッシュ値を入手することができる。例えば、チャレンジ応答装置からの応答を処理することによって全てのハッシュ値を入手しても良いし、又は、図８の例のように、チャレンジ応答装置からの応答を処理することによってハッシュ値の全数のうち一部のみを入手しても良い。
【００４７】
誤り訂正フィンガープリント６１は、変換パラメータｔ１，ｔ２，…ｔｎを含むのに加えて、応答の入手に用いられるものと同じチャレンジを含んでも良い。即ち、図８の例において、チャレンジ９６，９８は、誤り訂正フィンガープリント６１の一部となり、この誤り訂正フィンガープリント６１は、計算環境の識別の際にこれらのチャレンジを出力することが可能である。チャレンジ９６，９８を誤り訂正フィンガープリント６１に入力することは１０２で示される。
【００４８】
図９は、識別子の入手に用いられ得る符号シンボルの生成に用いられる誤り訂正フィンガープリント１０４を示す。誤り訂正フィンガープリント１０４は、チャレンジ応答装置（機能）１０６に動作的に接続される。この例のチャレンジ応答装置（機能）１０６は、計算環境の資産ｎに関連付けられる。誤り訂正フィンガープリント１０４は、ｍ個の変換パラメータｔ及びｍ個のチャレンジｉを含む。図９においては、チャレンジ応答装置１０６は誤り訂正フィンガープリント１０４からチャレンジｉ２を受け取り、チャレンジｉ２に応答して、応答ＣＲｎ，２をハッシュ関数１５０に入力し、ハッシュ関数１５０はハッシュ値ｈｎ，２をルックアップ関数１５２に出力する。ルックアップ関数はまた、誤り訂正フィンガープリント１０４から変換パラメータｔｎ，２を入力値として受け取り、符号シンボルｃ’ｎ，２を誤り訂正モジュール（図示せず）に出力する。
【００４９】
この例では、チャレンジ応答装置１０６は、誤り訂正フィンガープリント１０４によって入力された各々のチャレンジに対して応答を出力するものである。チャレンジ応答装置１０６は、ｍ個の応答ＣＲｎ，１，ＣＲｎ，２，…ＣＲｎ，ｍをハッシュ関数１５０に入力する。各々の応答がハッシュ値（ｈｎ，１，ｈｎ，２，…ｈｎ，ｍ）に変換される。ハッシュ値及び変換パラメータ（誤り訂正フィンガープリント１０４に含まれるｔｎ，１，ｔｎ，２，…ｔｎ，ｍ）はルックアップ関数Ｌに入力され、ルックアップ関数Ｌは符号シンボル（ｃ’ｎ，１，ｃ’ｎ，２，…ｃ’ｎ，ｍ）を出力する。これら符号シンボルは誤り訂正モジュール（図示せず）に入力される。
【００５０】
計算環境がチャレンジ応答装置からの応答の入手及び資産パラメータの読み出しを利用する場合、誤り訂正フィンガープリントは、関連付けられたチャレンジがない変換パラメータも含むことになる。
【００５１】
本開示のもう１つの応用例では、識別子（識別メッセージ）を、暗号化演算で用いられ得る鍵として用いる。鍵の回復においては、十分な数の正しい資産パラメータ値を有する計算プラットフォームにおいて、意図した鍵に復号化する正しい誤り訂正フィンガープリントが必要である。
【００５２】
以上の説明においては、各実施例の完全な理解をもたらすために、説明上数多くの詳細を記載している。しかしながら、当業者であれば、これらの具体的な詳細は必須ではないことは明らかである。また、周知の電気構造又は電気回路は、理解の妨げとならないようにブロック図の形式で示してある。例えば、この明細書に記載の各実施例がソフトウェアルーチン、ハードウェア回路、ファームウェア又はこれらの組み合わせで実現されるか否かについて具体的な詳細は記載していない。
【００５３】
本開示の各実施例は、機械可読媒体（コンピュータ可読媒体、プロセッサ可読媒体、又は、コンピュータ可読プログラムコードを埋め込んだコンピュータ利用可能媒体とも称する）に記憶されたコンピュータプログラム製品として表現され得る。機械可読媒体は、任意の好適な有形、非遷移型の媒体とすることができ、磁気的、光学的又は電気的記憶媒体を含み、電気的記憶媒体はフロッピーディスク、コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、メモリデバイス（揮発性又は不揮発性）、又は類似の記憶機構を含む。機械可読媒体は、様々な組の命令、コードシーケンス、構成情報又はその他のデータであって、これらを実行すればプロセッサが本願の実施例に従う方法の各ステップを実行するものを含み得る。当業者であれば、記載の各実現例の実現に必要な他の命令及び動作を当該機械可読媒体に記憶しても良いことが理解できる。機械可読媒体に記憶された命令は、プロセッサ又は他の好適な処理装置によって実行することができ、回路とのインターフェースとして機能して記載の各タスクを実行することができる。
【００５４】
上述の各実施例は、単に例示を意図したものである。当業者であれば、範囲から逸脱することなく、これら特定の実施例に対して改変、変更及び変形を加えることができる。上記範囲は、添付の請求項によってのみ画定される。
【図１Ａ】
0005854443.tif 000002
【図１Ｂ】
0005854443.tif 000003
【図２】
0005854443.tif 000004
【図３】
0005854443.tif 000005
【図４】
0005854443.tif 000006
【図５】
0005854443.tif 000007
【図６】
0005854443.tif 000008
【図７】
0005854443.tif 000009
【図８】
0005854443.tif 000010
【図９】
0005854443.tif 000011