(57)【要約】プロセッサデバイス１０での海賊版ソフトの使用を検出するためのシステムおよび方法において、前記プロセッサデバイス１０はバスコントローラ１４を有し、これは、前記ソフトウェアに含まれる署名の存在を検出するようボンディングされ、前記バスコントローラ１４を使用して前記署名を検出すると、前記プロセッサ１０を使用不能にする。
2009506416.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアの使用を検出するよう構成した集積回路デバイスであって、当該デバイスは、プロセッサデバイスと、ソフトウェアに含まれる署名の存在を検出し、かつ該署名の検出が、前記プロセッサデバイスを使用不能にする働きをするように構成したバスコントローラとを具える、集積回路デバイス。
【請求項２】
前記バスコントローラはさらに、入力信号を受信するように構成し、当該入力信号により、前記バスコントローラが署名の存在を検出できるようにした、請求項１に記載の集積回路デバイス。
【請求項３】
前記バスコントローラは、前記プロセッサデバイスの外部接続部にボンディングすることによって前記入力信号を受信するように構成した、請求項２に記載の集積回路デバイス。
【請求項４】
前記プロセッサデバイスは、前記バスコントローラを使用不能にすることによって使用不能になるように構成した、請求項１に記載の集積回路デバイス。
【請求項５】
前記署名を格納するように構成した内部レジスタをさらに具える、請求項１に記載の集積回路デバイス。
【請求項６】
前記バスコントローラは、前記内部レジスタから署名を読み出すように構成した、請求項４に記載の集積回路デバイス。
【請求項７】
前記内部レジスタは命令レジスタを含む、請求項１または５に記載の集積回路デバイス。
【請求項８】
前記署名の検出時点と、前記プロセッサが使用不能になる時点との間のランダムな遅延を規定するように構成したランダムパラメータ生成器をさらに具える、請求項１に記載の集積回路デバイス。
【請求項９】
前記生成器をハードウェア実装とした請求項８に記載の集積回路デバイス。
【請求項１０】
前記生成器をソフトウェア実装とした請求項８に記載の集積回路デバイス。
【請求項１１】
プロセッサデバイスでのソフトウェアの使用を検出する方法であって、当該方法は、
−  プロセッサデバイスのバスコントローラによって、ソフトウェアに含まれる署名の存在を検出するステップと、
−  前記署名の検出時に、バスコントローラによってプロセッサデバイスを使用不能にするステップと、を含むソフトウェアの使用検出方法。
【請求項１２】
前記バスコントローラは入力信号を受信して、当該バスコントローラが署名の存在を検出することができるようにする、請求項１１に記載の方法。
【請求項１３】
前記バスコントローラは、前記デバイスの外部接続部にボンディングすることによって、前記入力信号を受信する請求項１２に記載の方法。
【請求項１４】
前記署名は、前記プロセッサの命令レジスタに書き込む、請求項１１に記載の方法。
【請求項１５】
前記署名を検出するステップは、前記バスコントローラを使用して、内部レジスタから署名を読み込むステップを含む、請求項１１に記載の方法。
【請求項１６】
前記署名を検出するステップに続いて、前記バスコントローラを、ランダムに決定される期間の後に使用不能にする、請求項１１に記載の方法。
【請求項１７】
プロセッサを使用不能にする方法であって、かつ請求項１１および１４〜１６のいずれか１項に記載のソフトウェアの使用を検出する方法を含む、プロセッサの使用不能化方法。
【請求項１８】
請求項１１および請求項１４〜１７のいずれか１項に記載の方法をプロセッサに実行させる命令を含むプロセッサプログラム。
【請求項１９】
コンピュータ読み取り可能媒体に格納された請求項１８のプロセッサプログラム。
【請求項２０】
集積回路デバイスを製造する方法であって、当該方法は、
−  プロセッサ回路および複数の電気接点を含む半導体ダイを、複数の電気接点を含むパッケージに取り付けるステップと、
−  前記プロセッサ回路の前記複数の電気接点の少なくとも１つを、前記パッケージの前記複数の電気接点の少なくとも１つにボンディングするステップとを含み、
前記ボンディングによって、前記プロセッサ回路のバスコントローラが、ソフトウェアに含まれる署名の存在を検出することができ、かつ前記署名の検出時にバスコントローラにより前記プロセッサ回路を使用不能にできるようにする、集積回路デバイスの製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハードウェアで実行中のソフトウェアの存在を検出するためのシステムおよび方法に関する。特に、本発明は、特定のソフトウェアを検出した時点で前記ハードウェアを使用不能にし、かつ前記ハードウェアでソフトウェアが命令を実行するのを阻止するためのシステムおよび方法に関する。
【背景技術】
【０００２】
プロセッサハードウェアを製造する企業にとっては、マシンコードまたはファームウェアのような、その企業のプロセッサで実行させるように特別に調整されるソフトウェアも並行して開発するのが慣行である。この際、プロセッサ製造業者によって開発されるソフトウェアは、そのプロセッサデバイスから最大のパフォーマンスを達成できるように最適化するのが一般的である。その結果、企業は、特定のプロセッサデバイスを購入する顧客に、そのプロセッサから最適なパフォーマンスを達成するのに該当するソフトウェアも購入するよう勧めることがよくある。
【０００３】
最適なパフォーマンスを達成するソフトウェアを開発するには、時間およびコストの双方で相当な投資を必要とするも、業者は、顧客がソフトウェアをコピーして、それを第三者に渡すのを防止するライセンスに従ってソフトウェアを供給し、ソフトウェア／ハードウェアの供給業者の収益が失われないようにしているだけである。
【０００４】
しかしながら、状況によっては、顧客が、ハードウェア製造業者によって開発されたソフトウェアを使用するのを望まないこともあり、またハードウェア業者は単に自社のプロセッサを供給するだけのこともある。また、ハードウェアのエンドユーザは、ハードウェアで使用する彼らに固有のソフトウェアを、彼らの特定の要件に合わせて自由に開発できる。
【０００５】
ハードウェア製造業者のソフトウェアを無許可で、さもなければ違法にコピーしたものを、ハードウェアのエンドユーザが入手できるのを排除することができないことはもちろんである。
【０００６】
無許可のソフトウェアの例には、必要な許可を得ずに第三者によって作成されるコピー、またはいわゆるピアツーピアのネットワークを経て供給される無許可のコピーが含まれる。このように、無許可でコピーしたり、または共有化したりすることは、結局は、ソフトウェア開発者の収益を喪失することになる。
【０００７】
このような問題を解決するために、このような無許可のソフトウェアの使用を阻止するための種々の解決策が存在しており、そしてその無許可の使用を阻止するために、ソフトウェアに暗号化コードを含めるようにすることは周知である。この場合、暗号化コードを解読するために、ハードウェアに復号キーを実装して、ソフトウェアの実行可能命令をハードウェアで実行させることができるようにする。
【０００８】
特定の例として、ＷＯ−Ａ−８１／０２３５１には、プロプライエタリ・プロセッサアーキテクチャが開示されており、これは、チップまたはダイを設計変更して、プロセッサの命令レジスタと命令デコーダとの間に直列に配置した、第１のマルチプレクサを有するデコーダと、論理ゲートのアレイと、デマルチプレクサとを具えている。命令コードが、変更したプロセッサで用いるために正しく実装されている場合、論理ゲートは暗号化コードを復号して、プロセッサがソフトウェアの命令コードを実行できるようにする。逆に、暗号化したソフトウェアを未変更のプロセッサで使用しても、命令コードは正しく実行されず、誤動作する。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述したＷＯ−Ａ−８１／０２３５１によるような解決策は、ソフトウェアの検出を実践するためにプロセッサアーキテクチャをかなり修正する必要があり、そこで、上述した無許可の使用を防ぐにはこのようなアーキテクチャの種々のバージョンが必要になるため、非常にコストがかかるものである。さらに、復号キーは論理ゲートを用いて実装されるため、リバースエンジニアリングして、その復号キーをコピーし、ソフトウェアの違法なコピーが彼らのハードウェアで使用されていることを、ソフトウェア／ハードウェアの提供者が確実に識別することはできないようにすることができる。また、復号キーは静的なものであり、論理ゲートを物理的に配線し直さなければ容易に更新することはできない。
【００１０】
本発明の目的は、ハードウェアで実行中のソフトウェアの存在を検出するための方法およびシステムであって、上述したような既知の方法およびシステムに勝る利点を有する方法およびシステムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明の一態様では、自機におけるソフトウェアの使用を検出するよう構成したプロセッサデバイスであって、ソフトウェアに含まれる署名の存在を検出するよう構成したバスコントローラを有し、バスコントローラによる署名の検出が、プロセッサデバイスを使用不能にする働きをするように構成したプロセッサデバイスが提供される。
【００１２】
特に、本発明は、プロセッサデバイスに関連する違法なソフトウェアの使用を阻止しようとするものであり、したがって上述した欠点が１つ以上克服される。また、本発明は特に、違法なソフトウェアのコピーがハードウェアで実行されるのを阻止しようとするものであり、しかも簡単でコスト効率良く実装できるものでもある。本発明は、無許可のソフトウェアを検出すると、実装されているソフトウェアからの命令が実行されるのを阻止するように、ハードウェアを使用不能にする。
【００１３】
バスコントローラは、デバイスの接続部にボンディングすることによって入力信号を受信するよう構成して、該入力信号によりバスコントローラが署名の存在を検出できるようにするのが好適である。これは、例えばパッケージ内の集積回路のダイに対するボンディングの構成を利用することにより、どの集積回路デバイスがソフトウェアの存在を検出できるか、またどの集積回路デバイスが検出できないかを明らかにすることができるため、有利である。これにより単一のダイの設計を用いることが可能になり、したがって、ソフトウェアの存在を検出するダイと、ソフトウェアの存在を検出しないダイとを製造する必要性およびコストがなくなる。
【００１４】
また、署名を内部レジスタに書き込むという機能により、署名をリバースエンジニアリングすることが大いに阻害される。これは、どのレジスタが署名を含むのか、また、署名コードのどこをソフトウェアがそのレジスタに書き込むかを知る必要があるからである。
【００１５】
本発明は、ハードウェアのエンドユーザが、ソフトウェア製作者に無関係にソフトウェアを開発でき、かつ上述したような使用不能となる事態を発生する恐れなくプロセッサデバイスで実行させることができるという、更なる利点を提供する。
【００１６】
内部レジスタは署名を格納するよう構成し、バスコントローラが内部レジスタから署名を読み出すように構成するのが好適である。このようにすれば、命令レジスタを再プログラムすることによって、プロセッサアーキテクチャを再設計する必要なく署名をアップデートできるため、有利である。
【００１７】
署名の検出時点とプロセッサが使用不能になる時点との間のランダムな遅延を規定するランダムパラメータ生成器を配置することができる。これにより、プロセッサをランダムかつ予測不可能な態様で使用不能にし、したがってリバースエンジニアリングをさらに阻止するという利点が提供される。
【００１８】
本発明の別の態様では、プロセッサデバイスでのソフトウェアの使用を検出する方法を提供し、当該方法は、プロセッサデバイスのバスコントローラによってソフトウェアに含まれる署名の存在を検出するステップと、前記署名の検出時にバスコントローラによってプロセッサデバイスを使用不能にするステップとを含む。
【００１９】
動作中、バスコントローラは、これをデバイスの外部接続部にボンディングすることによって入力信号を受信するように構成して、その入力信号によりバスコントローラが署名の存在を検出できるようにするのが好適である。
【００２０】
署名は、プロセッサの命令レジスタに書き込むのが好適である。署名を検出するステップは、前記バスコントローラを使用して、内部レジスタから署名を読み出すステップを含むようにする。このようにすれば、命令レジスタおよびバスコントローラを再プログラムすることによって、プロセッサアーキテクチャを再設計する必要なく署名をアップデートできるため、有利である。
【００２１】
署名を検出するステップに続いて、バスコントローラを、ランダムに決定される期間後に使用不能にする。これにより、プロセッサをランダムかつ予測不可能な態様で使用不能にして、リバースエンジニアリングを阻止するという利点が提供される。
【００２２】
本発明の別の態様では、集積回路デバイスを製造する方法を提供し、当該方法は、複数の電気接点を含むパッケージ上に、プロセッサ回路と複数の電気接点とを含む半導体のダイを取り付けるステップと、前記プロセッサ回路の前記複数の電気接点の少なくとも１つを前記パッケージの前記複数の電気接点の少なくとも１つにボンディングするステップとを含み、前記ボンディングにより、前記プロセッサ回路のバスコントローラが、ソフトウェアに含まれる署名の存在を検出することができ、かつ前記署名の検出時に、バスコントローラによりプロセッサ回路を使用不能にできるようにする。
【００２３】
これにより、単一のダイの設計を用いて、ソフトウェアの存在を検出できる個々のデバイスと、逆にソフトウェアの存在を検出できないデバイスとを規定することができ有利である。
【発明を実施するための最良の形態】
【００２４】
以下、単に例示として、添付の図面を参照して、本発明をさらに説明する。
【００２５】
概して、本発明は、特定のソフトウェアの存在を検出するよう構成され、かつ、そのソフトウェアの命令コードの実行を阻止するよう構成される、プロセッサのようなハードウェアデバイスを提供する。ハードウェア製造業者によってリリースされるこのようなハードウェアデバイスは、ハードウェア製造業者のソフトウェアのコピーのような、特定のソフトウェア製品のその後の使用を阻止するように、容易に構成することができる。
【００２６】
本発明で具体化するタイプのプロセッサデバイスは、典型的には、スルーホールまたは表面実装パッケージのような、集積回路のパッケージとして形成される。集積回路を形成するために、プロセッサ回路を構成するシリコンダイまたはチップが、プリント基板への接続用の外部金属ピンを含む密封セラミックパッケージ内に取り付けられる。ダイ上に設けられる電気的な接点は、ボンドとして知られるワイヤを用いて、セラミックパッケージの金属ピンに接続するか、またはボンディングして、ピンとプロセッサの各機能構成部との間を電気的に接続する。このような機能構成部は、ＣＰＵ、レジスタおよびバスコントローラとすることができる。電気的な接続は、プロセッサへの入力端、出力端および電力供給部、ならびに他の補助的な接続部をなす。ダイとパッケージの外部金属ピンとの間にボンドを入れたり、または除外したりすることによって、特定のプロセッサの機能構成部を使用可能または使用不能にできる。
【００２７】
パッケージの入力端をバスコントローラにボンディングすることで、論理１、すなわちハイ、あるいは論理０、すなわちローのような電気信号を使用できるようにすることにより、本発明のソフトウェア検出機能を使用可能にすることができる。逆に、このようなボンディングを含まないようにすることで、ソフトウェア検出機能を容易に使用不能にできることが分かる。上述したボンディングの形態を利用することで、ダイの設計は１つ生成するだけで済み、したがって、デバイスの設計および製造コスト、ならびに関連する非効率性を大いに低減できる。加えて、ダイはパッケージ内に封止されるため、プロセッサを損傷することなくデバイスを改ざんすることは不可能になり、したがって、ソフトウェア保護機能を無効化したり、リバースエンジニアリングしたりすることが阻止される。
【００２８】
本発明は、プロセッサのハードウェアおよびソフトウェアの双方に関して実装できるため、有利である。ハードウェアに実装すれば、特定のソフトウェア製作者によって供給されるソフトウェア、またはそのコピーのような、特定のソフトウェアを実行できないプロセッサを構成することができ、逆に、電気パッケージとダイとの間のボンディングを変更することによって、このようなソフトウェアを実行することができるプロセッサデバイスを構成することができる。このような後者のプロセッサデバイスは、一般的に、ソフトウェア製品そのものと一緒に市販される。さらに、ソフトウェアはバイナリ情報を含むスタックで構成されるため、どのレジスタが署名を格納するようにプログラムされているのかを判定するのは困難であり、したがって、リバースエンジニアリングから保護できる。
【００２９】
本発明は、適切な任意のプロセッサアーキテクチャで実装することができ、適切な任意の処理を利用して、どのデバイスがソフトウェアの使用を検出できるかを規定することができる。図１に概略的に示す本発明の一実施形態において、プロセッサ１０は、ソフトウェアアプリケーションの命令コードを実行する中央処理ユニット（ＣＰＵ）１２と、ＣＰＵの動作を制御するバスコントローラ１４と、ソフトウェアの命令コードを格納する命令レジスタ１６とを含んでいる。本発明を具体化するダイまたはチップを形成する際には、そのダイまたはチップがプロセッサのバスコントローラへの電気的接続部を含むようにする。以下さらに詳細に述べるように、バスコントローラは、特定のソフトウェアの存在を検出するための手段を含むようにする。バスコントローラのソフトウェア検出機能を使用可能にするためには、電気的接続部に特定の入力信号を供給する必要がある。このような信号は、電源に接続することによって、論理１とすることができる。あるいは、この信号は、グラウンドに接続することによって、論理０とすることもできる。したがって、どのプロセッサがソフトウェアの存在を検出するのに使用可能にさせられるのかを規定するために、バスコントローラの電気的接続部をセラミックパッケージの金属ピンにボンディングして、必要な信号（論理１または０）がバスコントローラに送られるようにする必要がある。
【００３０】
ＣＰＵ１２、バスコントローラ１４および命令レジスタ１６の各々は、３２ビットのデータバス１８を経てプログラムすることができるが、データバス１８は、例えば４、８、１６または３２ビットのような任意の適当なサイズにすることができる。命令レジスタ１６のサイズは、データバスのサイズより小さいか、または同じにすることができる。しかしながら、本発明の実施例では、３２ビットのデータバス１８および命令レジスタ１６を用いる。一般的に、所定のアプリケーションに対しては、３２ビットまたはそれ以上の命令レジスタを使用することによって、命令レジスタが必要とするビット数にいくらかの冗長性を持たせることができる。この冗長性を組み込むことによって、命令レジスタの未使用ビットを利用して、その未使用ビットを、プロセッサのタイプに特有の署名でプログラムすることができる。
【００３１】
ソフトウェアに特有な署名は、命令コードに含めるようにする。この署名は未使用の内部命令レジスタに書き込み、フリップフロップのような不揮発性メモリに格納することができる。署名は、例えば８、１６または３２ビットのような任意数のビットで形成することができるが、一般的には、このビット数は、ソフトウェアを実装するプロセッサデバイスのバスコントローラ１４のビット数より少なく選定し、容易に実装できるようにする。
【００３２】
典型的なプロセッサは、任意の数の３２ビット命令レジスタを介してプログラムすることができ、５０またはそれ以上のこのようなレジスタを含み得る。上述したように、レジスタのうち１つはいくらかの冗長性を有し、これが、ソフトウェアの命令コードを実行する以外の処理のための多数のビットを提供する。例えば、特定の３２ビットレジスタのビット３１〜１２が未使用であると仮定すると、署名を書き込むのに利用できるビットが２０あることがわかる。この冗長性を用いて、プロセッサのパフォーマンスおよび動作を変更せずにレジスタに情報を書き込めるようにするのが有利である。
【００３３】
動作中、ソフトウェアは、ＣＰＵ１２での実行の前に、プロセッサ１０の命令レジスタ１６にロードされるようにする。予め選択した命令レジスタ１６の特定のビットに対応する固有のアドレスは、ソフトウェアにて予め規定される。命令レジスタにソフトウェアをロードすることによって、予め選択したレジスタの特定のビットは論理１または「ハイ」に規定して、ソフトウェアの署名を定義する。このような書き込み動作は、命令レジスタへの通常の書き込みアクセスをする間に行う。1つの特定ビットに対する書き込み動作を説明したが、任意数のビットをプログラムして、それによってリバースエンジニアリングに対する保護のレベルを高くできることに留意すべきである。
【００３４】
必要な信号がバスコントローラに供給される場合、命令レジスタ１６への書き込み動作に続いて、バスコントローラ１４は、ソフトウェアの署名を定義する１ビットまたは複数ビットの論理状態を検出可能にする。バスコントローラ１４が署名を検出した場合には、バスコントローラを使用不能にし、これによりシステム全体を使用不能にする。論理１またはハイにより署名を定義する場合を説明するが、論理１または０の任意の組合せを書き込むことにより署名を定義することもできる。
【００３５】
随意、バスコントローラ１４は、署名を検出した際に、プロセッサを使用不能にするソフトウェアの命令コードによって命令されるような、追加の動作を続けて実行するようにもできる。署名の検出に続いて実行する動作の数は、ハードウェアまたはソフトウェアで実装される乱数発生器によって規定され、署名の検出時に、バスコントローラ１４によってトリガされるようにする。このようにすれば、プロセッサ１０は、署名を検出してからある時間の後、ランダムに使用不能になり、これにより、コードのどの箇所でバスコントローラが使用不能になったかを確定するのが困難になる。
【００３６】
例として、典型的なプロセッサは、５０個の内部レジスタによってプログラムされる。これらのレジスタの中から１つを選択する。そのレジスタのビット１１から０は、ビデオ処理のような処理機能に利用される。したがって、選択したレジスタのビット３１から１２までは、署名を書き込むのに利用できる。このようにして、未使用のレジスタに署名を書き込んでも、プロセッサの動作は変わらないことが分かる。具体的には、例えば、レジスタ番号２８を選択する。このレジスタに書き込みする際、３２ビットのデータは0ｘ00000000のようになる。固有の署名を定義するソフトウェアに0ｘ10000000を書き込む。これは、上述したように、バスコントローラによって検出され、プロセッサを使用不能にする。自分のコードを独自に開発するソフトウェアのエンドユーザが、レジスタ番号２８のこのビットに論理‘１’を置くことはまずない。この冗長性を利用することによって、２またはそれ以上のビットの署名を定義することができて、バスコントローラは、保護を可能にするために署名を書き込む予め特定したアドレスのビットを認識する必要がある。これにより、ハードウェアのユーザが自分自身のソフトウェアを開発する場合でも、ユーザがこれらのビットに書き込みをして、保護機能をトリガさせる可能性は低減する。
【００３７】
あるいは、バスコントローラ１４が署名の存在を検出しない場合、または必要な電気信号がバスコントローラに供給されない場合には、ソフトウェアの命令コードは通常のやり方で実行され、したがってハードウェア製造業者に無関係に開発されるようなソフトウェア、または固有のアドレスを含むソフトウェアは、プロセッサを使用不能にせずにこのプロセッサで実行することができる。
【００３８】
以下、例として、本発明を組み込んでいないハードウェアおよびソフトウェア用のサプライチェーンを、本発明を組み込んだハードウェアおよびソフトウェア用のサプライチェーンと比較することにより、本発明を説明する。
【００３９】
図２ａは、ハードウェアおよび／またはソフトウェアを販売するための、日常的な供給元／顧客のサプライチェーン２０の典型的なシナリオのブロック図である。供給元２２は第１の顧客２４にハードウェア２２ｂを販売し、顧客２４は、供給元２２とは無関係に、そのハードウェアで使用するためのソフトウェアを開発する。供給元２２は、第２の顧客２６に、ハードウェア２２ｂ、および適切なソフトウェア２２ａも供給する。このソフトウェアの供給には、ライセンス契約をして、顧客がコピーしたり、第三者に再供給したりするのを防止することができる。それから、供給元とは無関係に、第１の顧客２４は、第三者２８に、最初に供給元２２から購入したハードウェア２２ｂを供給する。さらに、顧客２６は、同じ第三者２８に、供給元から購入したソフトウェア２２ａのコピーを提供する。すると、第三者２８は、元の供給元２２に気付かれずに、この際完全なハードウェア／ソフトウェアシステムを有することになり、したがって、供給元から適切なソフトウェアの販売による収益を奪うことになる。さらに、第２の顧客２６は、第三者にソフトウェアのコピーまたはオリジナルのコピーを提供することによって、ライセンス契約に違反することもあり得る。
【００４０】
図２ｂは図２ａに似た状況を示しており、供給および再供給の際の同じチェーンの出来事が発生している。前のシナリオと同様に、供給元は顧客に標準のハードウェアパッケージを供給し、これにより、第１の顧客はそのハードウェアで使用する自分自身のソフトウェアを開発できる。その一方、第２の顧客は、ハードウェアおよび関連するソフトウェアを購入し、この場合のハードウェアは、これと共に供給された供給元のソフトウェアの命令を実行することが可能になる。上述のシナリオで説明したように、第１の顧客は、供給元とは無関係に、元々供給元から購入したハードウェアを第三者に供給し、その一方で第２の顧客は、供給元から購入したソフトウェアのコピーを同じ第三者に供給する。しかしながら、前の状況とは異なり、本発明のソフトウェア検出機能を使用可能にすることによって、コピーされたソフトウェアを第三者が実行しようとしても、第１の顧客により提供されたハードウェアは使用不能になり、したがってそのハードウェアではソフトウェアが動作不能になる。このように、本発明は、ダイまたはチップの設計を変更することなく、２つのハードウェアデバイスを区別するコスト効率の良い方法を提供する。したがって、これにより、ハードウェアおよび関連する好適なソフトウェアの供給元は、ハードウェア製品のその後の使用に影響を及ぼすことができる管理を、効率良く効果的に強化できる。
【００４１】
あるいは、本発明は、第三者が、供給元のソフトウェアのような特定のソフトウェアを、他の形式のハードウェアで使用するのも防止することを想定することもできる。
【００４２】
このように、本発明は、プロセッサハードウェアのアーキテクチャを再設計する必要およびコストなしで、簡単にコスト効率良く実装できる、非認定ハードウェアでの特定ソフトウェアの使用を阻止するコスト効率の良いシステムおよび方法を提供する。このような非認定ハードウェアとは、供給元のソフトウェアとは別個に供給され、したがって、そのソフトウェアと共に使用すべきではないハードウェアと見なされるものである。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施例によるプロセッサアーキテクチャのブロック図である。
【図２ａ】従来技術のソフトウェアおよびハードウェアの実施例による典型的なソフトウェア／ハードウェアのサプライチェーンを説明する図である。
【図２ｂ】本発明の実施形態を組み込んだソフトウェア／ハードウェアのサプライチェーンを説明する図である。
【図１】
2009506416.tif 000003
【図２ａ】
2009506416.tif 000004
【図２ｂ】
2009506416.tif 000005
【国際調査報告】
2009506416.tif 000006
2009506416.tif 000007
2009506416.tif 000008