(57)【要約】  ある実施形態によれば、コンピュータシステムが開示される。コンピュータシステムは中央処理装置（ＣＰＵ）および該ＣＰＵに結合されたチップセットを含んでおり、該チップセットは保護レジスタおよびホストコントローラを含んでいる。コンピュータシステムはまた、ホストコントローラに結合したバスおよび該バスに結合した周辺機器も含んでいる。ホストコントローラと周辺機器との間で暗号化されたデータを送信するため、コンピュータシステムの起動時に周辺機器が信頼できるかどうかを検証するために信頼できるソフトウェアが保護レジスタにアクセスする。
2007526661.tif 000002
【特許請求の範囲】
【請求項１】
中央処理装置（ＣＰＵ）と、
保護されたレジスタおよび
ホストコントローラを含む
前記ＣＰＵに結合されたチップセットと、
前記ホストコントローラに結合されたバスと、
前記バスに結合された周辺機器とを有するコンピュータシステムであって、当該コンピュータシステムの起動時に前記周辺機器が信頼できることを検証するために、信頼されたソフトウェアが前記保護されたレジスタにアクセスして前記ホストコントローラと前記周辺機器との間で暗号化データを送信することを特徴とするコンピュータシステム。
【請求項２】
前記暗号化用データが前記周辺機器において生成され、前記ホストコントローラに送信されることを特徴とする、請求項１記載のコンピュータシステム。
【請求項３】
前記暗号化用データが前記ＣＰＵにおいて生成され、前記周辺機器に送信されることを特徴とする、請求項１記載のコンピュータシステム。
【請求項４】
前記信頼されたソフトウェアが前記保護されたレジスタに書き込みをして前記ホストコントローラに送信すべき前記暗号化データおよび受信すべき応答データを指示することを特徴とする、請求項１記載のコンピュータシステム。
【請求項５】
前記チップセットが：
保護されたメモリテーブルと、
メモリデバイスに結合されたメモリコントローラ、
とをさらに有することを特徴とする、請求項１記載のコンピュータシステム。
【請求項６】
前記メモリコントローラに結合されたメモリデバイスをさらに有することを特徴とする、ことを特徴とする、請求項５記載のコンピュータシステム。
【請求項７】
前記ホストコントローラと前記周辺機器との間で送信されるデータが前記周辺機器に関連付けられた前記メモリデバイスにおけるスタックを迂回することを特徴とする、請求項６記載のコンピュータシステム。
【請求項８】
前記メモリデバイスが：
保護されたメモリテーブルと、
信頼されたソフトウェアモニタ、
とを有することを特徴とする、請求項７記載のコンピュータシステム。
【請求項９】
前記周辺機器がキーボードであることを特徴とする、請求項１記載のコンピュータシステム。
【請求項１０】
前記周辺機器がマウスであることを特徴とする、請求項１記載のコンピュータシステム。
【請求項１１】
前記周辺機器がスキャナであることを特徴とする、請求項１記載のコンピュータシステム。
【請求項１２】
前記バスが汎用シリアルバスであることを特徴とする、請求項１記載のコンピュータシステム。
【請求項１３】
保護されたレジスタと、
バスを介して周辺機器に結合されたホストコントローラとを有するチップセットであって、
前記周辺機器が信頼できることを検証するために、信頼されたソフトウェアが前記保護されたレジスタにアクセスして前記ホストコントローラと前記周辺機器との間で暗号化データを送信することを特徴とするチップセット。
【請求項１４】
前記暗号化用データが前記周辺機器において生成され、前記ホストコントローラに送信されることを特徴とする、請求項１３記載のチップセット。
【請求項１５】
前記暗号化用データが前記チップセットに結合されたＣＰＵから受信され、前記周辺機器に送信されることを特徴とする、請求項１３記載のチップセット。
【請求項１６】
前記信頼されたソフトウェアが前記保護されたレジスタに書き込みをして前記ホストコントローラに送信すべき前記暗号化データおよび受信すべき応答データを指示することを特徴とする、請求項１３記載のチップセット。
【請求項１７】
保護されたメモリテーブルと、
メモリデバイスに結合されたメモリコントローラ、
とをさらに有することを特徴とする、請求項１３記載のチップセット。
【請求項１８】
信頼されたソフトウェアを使ってコンピュータシステム内で暗号化鍵を生成し、
前記信頼されたソフトウェアが周辺機器に暗号化鍵の送信を開始するために前記コンピュータシステム内で信頼されたレジスタに書込みをし、
前記暗号化用鍵を前記周辺機器に送信する、
ことを有することを特徴とする方法。
【請求項１９】
前記暗号化用鍵が前記周辺機器に関連付けられたメモリスタックを迂回しつつ前記周辺機器に送信されることを特徴とする、請求項１８記載の方法。
【請求項２０】
前記周辺機器が前記暗号化鍵に基づいて動作しているかどうかを検証することをさらに有することを特徴とする、請求項１８記載の方法。
【請求項２１】
中央処理装置（ＣＰＵ）と、
保護されたレジスタおよび
ホストコントローラを含む
前記ＣＰＵに結合されたチップセットと、
前記チップセットに結合されたメモリデバイスと、
前記ホストコントローラに結合されたバスと、
前記バスに結合された周辺機器とを有するコンピュータシステムであって、当該コンピュータシステムの起動時に前記周辺機器が信頼できることを検証するために、信頼されたソフトウェアが前記保護されたレジスタにアクセスして前記ホストコントローラと前記周辺機器との間で暗号化データを送信することを特徴とするコンピュータシステム。
【請求項２２】
前記暗号化用データが前記周辺機器において生成され、前記ホストコントローラに送信されることを特徴とする、請求項２１記載のコンピュータシステム。
【請求項２３】
前記暗号化用データが前記ＣＰＵにおいて生成され、前記周辺機器に送信されることを特徴とする、請求項２１記載のコンピュータシステム。
【請求項２４】
前記信頼されたソフトウェアが前記保護されたレジスタに書き込みをして前記ホストコントローラに送信すべき前記暗号化データおよび受信すべき応答データを指示することを特徴とする、請求項２１記載のコンピュータシステム。
【請求項２５】
前記チップセットが：
保護されたメモリテーブルと、
メモリデバイスに結合されたメモリコントローラ、
とをさらに有することを特徴とする、請求項２１記載のコンピュータシステム。
【請求項２６】
前記ホストコントローラと前記周辺機器との間で送信されるデータが前記周辺機器に関連付けられた前記メモリデバイスにおけるスタックを迂回することを特徴とする、請求項２１記載のコンピュータシステム。
【請求項２７】
前記メモリデバイスが：
保護されたメモリテーブルと、
信頼されたソフトウェアモニタ、
とを有することを特徴とする、請求項２１記載のコンピュータシステム。
【請求項２８】
前記周辺機器がキーボードであることを特徴とする、請求項２１記載のコンピュータシステム。
【請求項２９】
前記周辺機器がマウスであることを特徴とする、請求項２１記載のコンピュータシステム。
【請求項３０】
前記周辺機器がスキャナであることを特徴とする、請求項２１記載のコンピュータシステム。
【請求項３１】
前記バスが汎用シリアルバスであることを特徴とする、請求項２１記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
ここに含まれる内容は著作権保護の対象である。著作権保有者は、誰であれ本特許開示を米国特許商標庁の特許ファイルまたは記録にある原物どおりに複製することに異は唱えないが、それ以外の点では著作権のすべての権利を留保する。
【０００２】
本発明は、コンピュータシステムに関する。より詳細には、本発明は信頼できる、あるいはセキュリティで保護された環境において動作しうるコンピュータシステムに関するものである。
【背景技術】
【０００３】
金銭的な取引や個人的なやりとりがローカルまたはリモートのマイクロコンピュータ上で実行されることが増すことで、「信頼できる」あるいは「セキュリティで保護された」マイクロプロセッサ環境確立に向かう趨勢となっている。こうした環境によって解決しようとする問題は、秘匿性喪失、すなわちデータが改竄されたり悪用されたりする問題である。ユーザーは個人的なデータが公になるのを望まない。データが改変されたり不適切な取引に使われることも望まない。こうしたことの例には、医療記録の漏洩やオンライン銀行その他の口座からの資金の電子的窃盗が含まれる。同様に、コンテンツプロバイダはデジタルコンテンツ（たとえば、音楽、その他のオーディオ、ビデオまたはその他一般の種類のデータ）の不正コピーからの保護を目指している。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、コンパック、ＩＢＭ、ＤＥＣ、インテル、マイクロソフト、ＮＥＣ、ノーザン・テレコムによって開発された2.0規格に従う汎用シリアルバス（USB:  Universal  Serial  Bus）は、信頼できる入出力（Ｉ／Ｏ）に重大な問題を提起する。ＵＳＢはコンピュータシステムとアドオンデバイス（キーボードなど）との間のプラグアンドプレイのインターフェースである。コンピュータシステムは典型的にはＵＳＢデバイスと関連付けられるソフトウェアスタックを含んでいる。
【０００５】
可能性としては、ＵＳＢスタック中の悪質なコードを使ってＵＳＢ周辺機器との間でやりとりされるデータを修正したり、データの送り先を全く異なるデバイスに変更したりすることができる。悪質なＵＳＢソフトウェアを阻むのに使われる一つの方法は、ＵＳＢ周辺機器との間で送受信するデータを暗号化することである。しかし、暗号を用いる方法の問題は、周辺機器に暗号化鍵を送信するのにＵＳＢスタックが信頼できないということである。
【０００６】
一つの機構は、暗号化鍵を直接キーボード周辺機器に送信することによってＵＳＢスタックを迂回することである。そのような機構では、ユーザーは暗号化鍵を入力するためにキーボード上でキー入力をするよう促される。しかし、コンピュータシステムを立ち上げるたびにユーザーが最大６３字のキー入力をしなければならないので、そのような機構は非効率的である。
【０００７】
別の方法として、キーボードに不揮発性メモリ記憶装置を常備するようにしてキーボードが起動するたびにユーザーがキー入力することを避けるというものもある。これではキーボード製造のコスト増になる。さらに、そのような機構は、マウスのようなキーボード式でない周辺機器には、暗号化ドングルをコンピュータシステムと周辺機器との間にインラインで追加しない限りは使えない。これもまたコスト増につながる。
【０００８】
本発明が限定ではなく例として付属の図面の符号にて示される。同様の参照符号は同様の要素を示す。
【課題を解決するための手段】
【０００９】
コンピュータシステムにおいて信頼できるＵＳＢ入出力（Ｉ／Ｏ）を保証する機構が記載される。ある実施形態によれば、ＵＳＢスタックを使うことなく暗号化鍵をＵＳＢ周辺機器に送信するよう、コンピュータシステム中に信頼できるポートが実装される。
【００１０】
本発明の以下の詳細な説明において、本発明の完全なる理解を与えるために多くの個別の詳細が述べられる。しかし、当業者には、本発明がそうした特定の詳細でなくとも実施しうることは明らかであろう。他方、よく知られた構造やデバイスは、本発明が埋没することを避けるため、詳細ではなくブロックの形で図示されている。
【００１１】
明細書における「ある実施形態」または「一つの実施形態」という言及は、その実施形態とのつながりで説明されている特定の特徴、構造または性質が本発明の少なくとも一つの実施形態において含まれることを意味する。明細書の随所で「ある実施形態において」といった表現が現れるが、必ずしもすべてが同一の実施形態を指しているものではない。
【発明を実施するための最良の形態】
【００１２】
図１は、コンピュータシステム１００のある実施形態のブロック図である。コンピュータシステム１００は、バス１０５に結合された中央処理装置（ＣＰＵ）１０２を含んでいる。ある実施形態では、ＣＰＵ１０２はペンティアム（登録商標）プロセッサファミリーのうちのプロセッサで、米国カリフォルニア州サンタクララのインテル・コーポレーションから発売されているペンティアム（登録商標）ＩＩプロセッサファミリー、ペンティアム（登録商標）ＩＩＩプロセッサ、ペンティアム（登録商標）ＩＶプロセッサが含まれる。あるいはまた、他のＣＰＵが使われてもよい。
【００１３】
図２はＣＰＵ１０２のある実施形態を示すブロック図である。ある実施形態では、ＣＰＵ１０２はキャッシュメモリ（キャッシュ）２２０、組み込み鍵２３０、ページテーブル（PT:  page  table）レジスタ２４０を含む。キャッシュ２２０の全部または一部は、秘密メモリ（PM:  private  memory）２２５を含んでいたり、あるいは秘密メモリに転換可能であったりしうる。ある実施形態によれば、秘密メモリ２２５は、秘密メモリとして活性化されている間は権限のないいかなるデバイス（たとえば、付随するＣＰＵ１０２以外のあらゆるデバイス）によるアクセスも防止するよう十分な保護のあるメモリである。
【００１４】
示されている実施形態では、キャッシュ２２０がその一部を選択的に秘密メモリとして隔離できるためのさまざまな機能を有しうる。示されていない別の実施形態では、秘密メモリ２２５はキャッシュメモリ２２０とは別個にその外部にあって、ＣＰＵ１０２に関連付けられている。鍵２３０は暗号化、復号および／またはデータおよび／もしくはコードの諸ブロックの検証のために使用される組み込み鍵でありうる。ＰＴレジスタ２４０は、保護されたコードによってのみアクセスできるべきであるメモリページや保護されないメモリページを識別するためのレジスタの形のテーブルでありうる。
【００１５】
図１に戻ると、バス１０５にはチップセット１０７も結合されている。チップセット１０７はメモリコントロールハブ（MCH:  memory  control  hub）１１０を含んでいる。ＭＣＨ１１０は、メインシステムメモリ１１５に結合されているメモリコントローラ１１２を含みうる。メインシステムメモリ１１５は、データおよびＣＰＵ１０２やシステム１００に含まれる他の何らかのデバイスによって実行される命令のシーケンスを保存する。ある実施形態では、メインシステムメモリ１１５はダイナミックランダムアクセスメモリ（ＤＲＡＭ）を含むが、メインシステムメモリ１１５は他の種類のメモリを使って実装することもできる。バス１０５には、マルチＣＰＵおよび／またはマルチシステムメモリといったように追加的なデバイスも結合されていることがある。
【００１６】
図３は、メモリ１１５のある実施形態を示すブロック図である。図３を参照すると、メモリ１１５は、保護メモリテーブル３２０および信頼できるソフトウェア（ｓ／ｗ）モニタ３３０を含みうる。いくつかの実施形態では、保護メモリテーブル３２０は、メモリ１１５内のどのメモリブロックが直接メモリアクセス（DMA:  direct  memory  access）転送でアクセス不能であるべきかを定義するテーブルである。
【００１７】
メモリ１１５へのあらゆるアクセスはＭＣＨ１１０を通るので、ＭＣＨ１１０はＤＭＡ転送の生起を認める前に保護メモリテーブル３２０を調べることができる。ある特定の実施形態では、ＭＣＨ１１０はキャッシュ技術を使って保護メモリテーブル３２０への必要なアクセス回数を減らすこともできる。
【００１８】
ある実施形態では、保護メモリテーブル３２０はビットの表として実装される。各ビットがメモリ１１５内の特定のメモリブロックに対応するのである（たとえば、各ビットが一つのページに対応し、論理レベル「１」がそのページがＤＭＡ転送から保護されていることを示し、論理レベル「０」がそのページがそのような保護がされていないことを示す）。ある特定の処理では、保護メモリテーブル３２０によってＤＭＡ転送から保護されているメモリブロックは、ＣＰＵ１０２においてＰＴレジスタ２４０による保護された処理に制限されるのと同一のメモリブロックであってもよい。
【００１９】
ある実施形態では、ひとたび保護された動作環境が確立されると、信頼できるソフトウェアモニタ３３０がその保護された動作環境を監視し、制御する。ある特定の実施形態では、信頼できるソフトウェアモニタ３３０は、保護メモリテーブル３２０によってデータ転送（ＤＭＡ転送など）から保護されているメモリブロック内にのみ位置され、それにより信頼できるソフトウェアモニタ３３０が保護されていないデバイスおよび／または権限のないデバイスからのデータ転送によって侵され得ないことを保証している。保護メモリテーブル３２０はまた、該保護メモリテーブル３２０を含むメモリブロックを保護することによって、データトランザクションよる改変から自らを保護しうる。
【００２０】
図１に戻ると、ＭＣＨ１１０はまた、グラフィックアクセラレータ１３０に結合されたグラフィックインターフェース１１３を含みうる。ある実施形態では、グラフィックインターフェース１１３は、米国カリフォルニア州サンタクララのインテル・コーポレーションによって開発された加速グラフィックポート（ＡＧＰ）仕様改訂2.0版のインターフェースに従って動作するＡＧＰを介してグラフィックアクセラレータ１３０に結合される。
【００２１】
ある実施形態によれば、ＭＣＨ１１０は、さまざまな暗号化、復号、および／または検証プロセスにおいて使われるべき鍵１１６、保護レジスタ１２０および保護メモリテーブル１２５を含んでいる。ある実施形態では、前記保護メモリテーブル１２５がＭＣＨ１１０内で保護メモリテーブル１２５として実装され、前記保護メモリテーブル３２０は不要になる。
【００２２】
別の実施形態では、保護メモリテーブル１２５が先述したようにメモリ１１５内で保護メモリテーブル３２０として実装され、保護メモリテーブル１２５が不要になる。保護メモリテーブルはまた、示されていない他の諸方法で実装することもできる。物理的な位置にかかわらず、保護メモリテーブルの目的および基本動作は実質先述した通りであってよい。
【００２３】
ある実施形態では、保護レジスタ１２０は、ＣＰＵ１０２内の信頼できるマイクロコードによってのみ開始されうるコマンドによって書き込まれる。保護されたマイクロコードは、その実行が権限のある命令によって、および／または権限のないデバイスには制御できないハードウェアによって開始されうるようなマイクロコードである。ある実施形態では、保護レジスタ１２０は、保護メモリテーブル３２０および信頼できるソフトウェアモニタ３３０の位置を識別し、および／またはそれらへのアクセスを制御するデータを保持している。
【００２４】
ある実施形態では、保護レジスタ１２０は保護メモリテーブル３２０の使用を有効にしたり無効にしたりするためのレジスタを含んでおり、保護された動作環境にはいる前にＤＭＡ保護を有効にし、保護された動作環境を終了したあとにＤＭＡ保護を無効にすることができる。保護レジスタ１２０はまた、保護メモリテーブル３２０の位置を識別する書き込み可能レジスタを含んでいることができ、該位置をハードウェア配線によってＭＣＨ１１０に組み込む必要はない。
【００２５】
ある実施形態では、保護レジスタ１２０は、信頼できるソフトウェアモニタ３３０がメモリ１１５の保護された位置に置かれる前の一時的な位置を含む。これにより転送のためにその位置を知ることができる。ある実施形態では、保護レジスタ１２０は、信頼できるソフトウェアモニタ３３０のメモリ１１５への転送後の実行開始アドレスを含みうる。これにより保護された動作環境の初期化ののち、実行が信頼できるソフトウェアモニタ３３０に移行されうる。
【００２６】
物理トークン１３６は、保護された動作環境を生成し、維持するのに関係するデータを保護するための回路でありうる。ある特定の実施形態では、物理トークン１３６は、鍵（図示せず）を含んでおり、それは特定の暗号化、復号および／または検証プロセスのために使用される組み込み鍵でありうる。物理トークン１３６はまた、保護された動作環境において使用されるべきメッセージダイジェスト値その他の情報を保持するのに使われる記憶スペースを含んでいてもよい。ある実施形態では、物理トークン１３６内の記憶スペースは、物理トークンの電源が失われた場合にその内容を保持するための不揮発性メモリ（フラッシュメモリなど）を含んでいてもよい。
【００２７】
図１に戻ると、ＭＣＨ１１０はハブインターフェースを介して入出力制御ハブ（ICH:  input/output  control  hub）１４０に結合されている。ＩＣＨ１４０はコンピュータシステム１００内の入出力（Ｉ／Ｏ）機器へのインターフェースを提供する。ＩＣＨ１４０はホストコントローラ１４４を介してＵＳＢ周辺機器１５５に結合されうる。通常の技量を有する当業者であれば、本発明の真の範囲から外れることなく他のパケットベースのバスを実装してもよいことを理解することであろう。
【００２８】
ある実施形態では、ホストコントローラ１４４は、周辺機器１５５にアドレスが割り当てられる周辺機器初期構成プロセスをサポートする。その後、ホストコントローラ１４４は、その周辺機器に宛てられたパケットがないかどうかバスを監視し、データの周辺機器１５５への転送を扱う。データは、周辺機器１５５に送信されるのに先立ち、ホストコントローラ１４４においてパケットの形にされる。はいってくるパケットはホストコントローラ１４４で有効性が検証される。ある実施形態では、周辺機器１５５はキーボードである。しかし、他の実施形態では、周辺機器１５５はマウス、オーディオプレーヤー、ジョイスティック、電話、スキャナ、プリンタなどを使って実装することもできる。
【００２９】
デバッグポートはハードウェアやソフトウェアの設計者が製品の状態をデバッグできるようにするものである。ある実施形態では、デバッグポート１４６は、ホストコントローラ１４４にトランザクションを実行させるためのレジスタベースの機構を実装する。よって、ＵＳＢ上の周辺機器１５５に関連付けられたソフトウェアスタックおよびメモリ１１５が迂回できる。
【００３０】
あるさらなる実施形態によれば、同様の迂回が、コンピュータシステム１００の起動時に周辺機器１５５に暗号化鍵を送信し、周辺機器１５５とのＵＳＢ接続が信頼できることを検証するために実装される。そのような実施形態では、ホストコントローラ１４４はまた、ＭＣＨ１１０内のレジスタ１２０と同様の保護レジスタを含む。したがって、信頼できるソフトウェアがホストコントローラ１４４内の保護レジスタにアクセスする。
【００３１】
前記ソフトウェアはホストコントローラ１４４に、どの暗号化メッセージを周辺機器１５５に送信し、何のデータを周辺機器１５５から受信するかを示すためにレジスタ１２０への書き込みを行う。別の実施形態では、周辺機器１５５が暗号化鍵を生成し、ホストコントローラ１４４にその鍵を送信する。別の実施形態では、ホストコントローラ１４４と周辺機器１５５とがディフィー・ヘルマン鍵交換を実装して外部からののぞき見からの安全性を提供する。さらに別の実施形態では、ホストコントローラ１４４と周辺機器１５５とがディフィー・ヘルマン鍵交換を、仲介者（Man-In-The-Middle）攻撃のような攻撃を検査するための検証状態に加えて実装する。
【００３２】
ホストコントローラ１４４は信頼できるポートを通じて前記鍵を読み込む。あるさらなる実施形態では、ひとたび周辺機器１５５が前記暗号化鍵を使うようになったら、Ｉ／Ｏトラフィックは標準的なＵＳＢソフトウェアスタックおよびＵＳＢホストコントローラ１４４機構を使って転送される。結果として、通常のＵＳＢトランザクションがメモリ１１５内でのデータ構造によって制御され、ホストコントローラ１４４はこれらの構造を読み込んで適切な読み書き処理を実行する。
【００３３】
図４は、暗号化鍵の周辺機器１５５への送信の一つの実施形態の流れ図である。処理ブロック４１０では、コンピュータシステム１００は起動（ブート）プロセスを開始する。処理ブロック４２０では、信頼できるソフトウェアが暗号化鍵を生成する。ただし、上述のように、暗号化鍵は周辺機器１５５で生成されてもよい。
【００３４】
処理ブロック４３０では、ＵＳＢスタックを迂回して鍵が周辺機器１５５に送信される。上述したように、信頼できるソフトウェアは、周辺機器１５５への暗号化鍵の送信を開始するためにレジスタ１２０に書き込みを行う。暗号化鍵が周辺機器１５５で生成される実施形態では、鍵は周辺機器１５５からホストコントローラ１４４に送信される。
【００３５】
処理ブロック４４０では、周辺機器１５５が暗号化鍵に基づいて動作しているかどうかを決定する検証プロセスが発生する。ある実施形態によれば、鍵の検証は、ディスプレイ上にメッセージを表示してユーザーにキーボード上のある文字を打つよう促すことによって行われる。その文字はホストソフトウェアによって無作為に選ばれうる。
【００３６】
ユーザーがそのキーを打つと、キーボードが暗号化鍵を用いてそのキーを暗号化する。信頼できるＯＳソフトウェアは暗号化およびユーザーが打つことになっていたキーを知っており、したがってＯＳソフトウェアはメッセージを復号してそれが正しいかどうかを検証することができる。処理ブロック４５０では、ホストコントローラ１４４のセットアップが完了し、標準的なＵＳＢトランザクションがスタックを通じて行えるようになる。
【００３７】
上記の説明は、信頼できるソフトウェアおよび信頼できるレジスタを実装してＵＳＢスタックを迂回することによって、標準的なＵＳＢスタックを使って偽のメッセージをＵＳＢ周辺機器に送信する悪質なＵＳＢソフトウェアを阻むものである。その結果、ユーザーがキーボードを通じて暗号化鍵を入力する必要はないし、周辺機器が不揮発性記憶を実装する必要もない。
【００３８】
以上の説明を読んだ通常の技量を有する当業者には本発明の多くの改変および修正が明らかとなることは間違いないが、解説のために示され、説明されたいかなる特定の実施形態も決して限定的なものと考えられることを意図されてはいないことを理解しておくべきである。したがって、さまざまな実施形態の詳細への言及は特許請求の範囲を限定することを意図したものではない。特許請求の範囲はその中において本発明に本質的と見なされる特徴のみを挙げるものである。
【図面の簡単な説明】
【００３９】
【図１】コンピュータシステムの一つの実施形態のブロック図である。
【図２】中央処理装置（ＣＰＵ）の一つの実施形態を示すブロック図である。
【図３】メモリの一つの実施形態を示すブロック図である。
【図４】暗号化鍵を周辺機器に送信する一つの実施形態の流れ図である。
【図１】
2007526661.tif 000003
【図２】
2007526661.tif 000004
【図３】
2007526661.tif 000005
【図４】
2007526661.tif 000006
【国際調査報告】
2007526661.tif 000007
2007526661.tif 000008
2007526661.tif 000009