(57)【要約】パーソナルインターネットコミュニケーションデバイスにおいて、マスターブートレコード上にセキュリティキーが記録される。オペレーティングシステムファイルやソフトウェアファイルの書込みをしようとするブータブルデバイスはいずれも、パーソナルインターネットコミュニケーションデバイス上にファイルをインストールできるようにするために、承認された署名キーを有していなければならない。
2009500728.tif 000002
【特許請求の範囲】
【請求項１】
実行可能命令とデータとが記録された少なくとも１つの記録可能媒体を備えたデバイスであって、前記実行可能命令とデータは、少なくとも１つの処理デバイスによって実行されると、前記少なくとも１つの処理デバイスに、
ブートローダデバイスからのインストールリクエストを検出する処理、
前記インストールリクエストに応答して前記デバイス上の非揮発性ストレージユニットからセキュリティキー読み出す処理、
前記ブートローダデバイスから第１承認キーを要求する処理、
前記セキュリティキーと前記第１承認キーとを比較する処理、及び
前記セキュリティキーが前記第１承認キーに一致する場合に限って前記インストールリクエストを承認させる処理を行わせるものである、デバイス。
【請求項２】
前記非揮発性ストレージユニットは、マスターブートレコードを含む、請求項１記載のデバイス。
【請求項３】
前記ブートローダデバイスは、内部ＢＩＯＳメモリユニットを含む、請求項１記載のデバイス。
【請求項４】
前記ブートローダデバイスは、外部ブータブルデバイスを含む、請求項１記載のデバイス。
【請求項５】
前記記録可能媒体は、内部ＢＩＯＳメモリユニットを含む、請求項１記載のデバイス。
【請求項６】
前記実行可能命令およびデータは、前記ＢＩＯＳに格納される、請求項１記載のデバイス。
【請求項７】
前記実行可能命令およびデータは、インストールされたオペレーティングシステムに含まれるソフトウェアアップデートモジュールに含まれる、請求項１記載のデバイス。
【請求項８】
前記実行可能命令およびデータはさらに、前記セキュリティキーが前記第１承認キーに一致しなければ、前記少なくとも１つの処理デバイスに前記インストールリクエストを拒否させる、請求項１記載のデバイス。
【請求項９】
前記実行可能命令およびデータはさらに、前記セキュリティキーが前記第１承認キーに一致しなければ、前記少なくとも１つの処理デバイスに、前記セキュリティキーに一致する第２承認キーの記録リストで確認される次のブートローダデバイスをチェックさせる、請求項１記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理システム分野に関する。一形態においては、本発明はインターネット上で通信するために使用されるコンピュータシステムの安全なコンピューティング環境を保証するシステムおよび方法に関する。
【背景技術】
【０００２】
コンピュータシステムは、今日の社会において、多くの分野に情報管理能力を与えるために広く用いられている。パソコンシステムは通常、システムプロセッサを備えたシステムユニット、関連する揮発性および不揮発性メモリ、ディスプレイモニタ、キーボード、固定ディスク記録装置、任意の取り外し可能記録装置、および任意のプリンタを含むマイクロコンピュータとして定義することができる。このようなパソコンシステムは、シングルユーザ（あるいは、コンピュータサーバシステムとして機能するパソコンの場合は、グループユーザ）に主に独立演算能力を与えるように設計された情報処理システムであり、個人や中小企業の購入用に低価格にされている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
近年は、インターネット上で情報交換を行うために、パソコンの使用が著しく増加している。このような情報交換は、クライアント／サーバモデルに基づくものであり、ユーザのパソコンがクライアントとして動作している状態で、複数のインターネットサーバに記録されているデータにアクセスする。インターネットサービスプロバイダのなかには、インターネットサービスを供給するための契約関係の一環として、ユーザにコンピュータを提供するところもある。
このような契約関係の一環として、インターネットサービスプロバイダは時としてソフトウェアアップグレードおよび追加サービスを提供するソフトウェアに関係のあるコンピュータにソフトウェアパッケージを提供する必要がある。加えて、ユーザはインターネットからコンピュータプログラムをダウンロードしようとする、あるいは、安全ではないおそれのあるソースからプログラムを局所的にインストールしようとする。
【０００４】
その結果、コンピュータの動作に悪影響を与えるおそれがあり、及び／又は、インターネットサービスプロバイダにより与えられる認可されたソフトを干渉するおそれのある、不正ソフトをユーザにインストールさせないようにする保護プロセスが求められている。加えて、インターネットサービスプロバイダによって与えられる通信ネットワーク上でパーソナルインターネットコミュニケータ（ＰＩＣ）として使用するような、コンピュータに格納されたアプリケーションおよびオペレーティングシステムのインテグリティ（integrity)あるいは一体性を保護する必要性が高い。
従来のシステムの制限および難点は、添付の図面と以下の詳細な説明とを参照して、本願の以下の記述を査読することにより、当業者には明らかになるであろう。
【課題を解決するための手段】
【０００５】
本発明の方法および装置は、パーソナルインターネットコミュニケータに対して信頼性があり安全なコンピュータ環境を提供する。
一実施形態では、本発明は、マスターブートレコードなどのパーソナルインターネットコミュニケータの非揮発性ストレージにキーを記録することによって、また、任意のブータブルデバイスがオペレーティングシステムファイルやアプリケーションファイルを書込み可能とする一致する署名やキーを有するように要求することで、パーソナルインターネットコミュニケータ上のソフトウェアコードおよび／あるいはオペレーティングシステムのインストールを制限するように使用可能である。
本発明の目的、利点、およびその他の新しい特徴は、添付の請求項および図面をあわせて読むことで、以下の詳細な説明から当業者には明らかとなるであろう。
【発明を実施するための最良の形態】
【０００６】
本発明の例示的実施形態を以下に記述しているが、本発明を特定の詳細がなくても実施できることは明らかであろう。また、開発者における特定の目標を達成するため、システム的制限やビジネス的制限との摺り合せなど、多くの特定の実施の決定がなされる。それらは各実施形態によって様々に変化するものである。そのような開発努力は複雑で時間を消費するものであるのは当然のことであるが、それでもなお、この開示の恩恵を有する当業者にとっては通常作業の範疇に入るものであ。例えば、本発明を曖昧なものにしないように、あるいは、制限しすぎないように、選択された形態は詳細に示さずにブロック図形式で示している。このような記述および表現は、当業者が、自身の作業の内容を他の当業者に効率的に伝えるために用いられているものである。
【０００７】
以下に本発明を図面を参照しながら記載する。図１に、例示的ネットワーク１００のブロック図を示す。ここでは、複数のコンピュータシステム１１０、１１１、１１２は、１以上の通信ネットワーク１４０上で通信する。図示されるように、各コンピュータシステム（例えば、１１０）は、マルチメディアアクセスデバイスあるいはパーソナルインターネットコミュニケータ（ＰＩＣ）とも呼ばれるものであるが、このようなコンピュータシステムは、１以上の通信リンク１２２を介してインターネットサービスプロバイダ（ＩＳＰ）１２０に動作可能に結合されている。インターネットサービスプロバイダ１２０は、インターネット１４０に接続される。
【０００８】
さらに、インターネット１４０は、複数のウェブホストサーバ１５０、１５１、１５２に接続される。インターネット上の情報へのアクセスを希望するユーザはＰＩＣ（例えば、１１０）を使用し、ウェブブラウザとして周知の、ＰＩＣ上に記録されたアプリケーションプログラムを実行する。ＰＩＣ１１０は通信ハードウェアおよびソフトウェアを含む。これにより、ＰＩＣ１１０がインターネットサービスプロバイダ１２０への通信を送受信できるようにする。通信ハードウェアおよびソフトウェアにより、ＰＩＣ１１０はインターネットサービスプロバイダ１２０との通信リンクを確立できるようになる。この通信リンクは、任意の様々な接続形式であってよく、例えば、有線接続、デジタル加入者回線（ＤＳＬ）、Ｔ１、総合デジタル通信網（ＩＳＤＮ）などの直接接続、あるいはケーブル接続、セルラーネットワークや衛星ネットワークを介した無線接続、電話モデムダイアルアップアクセス、あるいは、、イーサネットなどのローカルデータ伝送やローカルエリアネットワーク上でのトークンリングが挙げられる。
【０００９】
顧客が、ウェブブラウザにおいて命令を入力することで情報要求を入力する場合、ＰＩＣ１１０は、特定のトピックに関連する文書や特定のウェブページの検索といった情報要求をインターネットサービスプロバイダ１２０に送信し、次に、インターネットサービスプロバイダ１２０はこの要求をインターネット１４０を介して適切なウェブホストサーバ１５０へ送る。インターネットサービスプロバイダ１２０は、ブラウザから送信された要求を受信し、読み取るソフトウェアを実行する。インターネットサービスプロバイダ１２０は、要求をモニタリングし、その特定のウェブサーバについての情報要求を提供し、その情報をユーザのＰＩＣ１１０へと送信するウェブサーバアプリケーションプログラムを実行する。
【００１０】
インターネット上の各ウェブホストサーバ１５０、１５１、１５２は、適切なウェブホストサーバに接続するためにユーザーがウェブブラウザに提供する周知のアドレスを有する。ユーザのウェブホストサーバ１５０上で情報が入手できなければ、インターネット１４０は、ウェブサーバ１５０、１５１、１５２を、要求した情報を供給するために相互通信可能とするセントラルリンクとして機能する。ウェブサーバ１５０、１５１、１５２は１ページより多くのウェブページを含み得ることから、ユーザはさらに、自分が見たい特定のウェブページをアドレスにおいて特定することになる。
サーバー上のホームページアドレスは、ＵＲＬ（ユニバーサルリソースロケータ）としても周知であるが、このアドレスは、サーバーおよびサーバー上のページ位置を示す一連の数字であって、郵便番号に類似している。簡素化のために、数字ではなく名前を使用してユーザがサーバおよび文書を特定可能であるドメインネームシステムが構築された。さらに、ＵＲＬは、ドメインネームの終わりに付加的情報を含めることで、コンテンツプロバイダに属するページグループにおいて特定のページを指定することができる。  
【００１１】
図２に、ＰＩＣ１１０のブロック図を示す。ＰＩＣ１１０は、プロセッサ２０２、入出力（Ｉ／Ｏ）制御装置２０４、メモリ（揮発性ランダムアクセスメモリ（ＲＡＭ）２０６および不揮発性メモリ２０７を含む）、通信装置２１１（モデムなど）、およびディスプレイ２１４を含む。プロセッサ２０２、Ｉ／Ｏ制御装置２０４、メモリ２０６、および通信装置２１１は、１つ以上のバス２１２を介して相互接続される。選択された実施形態では、プロセッサ２０２はAMD Geode GX 32-bit x86互換プロセッサとして、メモリ２０６は１２８ＭＢのＤＤＲメモリとして、また、ディスプレイ２１４はＣＲＴモニタとして実装される。加えて、不揮発性メモリ２０７は、最小容量が例えば１０ＧＢの内蔵型３．５インチハードディスクとして実装されるハードディスクドライブ２０９を備えてもよい。
【００１２】
メモリ２０６、２０７のいずれか、あるいは両方をＰＩＣ１１０に内蔵してもよいし、外付けしてもよい。通信装置２１１に関しては、世界中の様々な電話システムをサポートするために、外部コネクタを備えた内蔵型56k ITU v.92モデムを使用してもよい。これに限らず、その他のモデム（例えば、ソフトモデム）を使用してもよい。勿論、プロセッサ２０２、メモリ２０６、２０７、ディスプレイ２１４および通信装置２１１に対してその他の装置構成を用いることができることは明らかであろう。明瞭化のため、および理解を容易にするために、ＰＩＣ１１０を構成している全ての要素を詳細には記述していない。そのような詳細は当業者にとっては周知であり、また、特定のコンピュータベンダーやマイクロプロセッサのタイプに基づいて変化し得る。さらに、ＰＩＣ１１０は所望する実装品に応じて、その他のバス、装置、および／あるいはサブシステムを含んでもよい。例えば、ＰＩＣ１１０は、キャッシュ、モデム、パラレルあるいはシリアルインターフェース、ＳＣＳＩインターフェース、ネットワークインターフェースカードなどを含んでもよい。
【００１３】
図２に示しているように、Ｉ／Ｏ制御装置２０４は、Ｉ／Ｏ装置２０５、例えば１以上のＵＳＢポート、キーボード、マウス、オーディオスピーカなどに結合される。Ｉ／Ｏ制御装置２０４はさらに、フラッシュメモリなどの不揮発性ストレージ２０７あるいはその他の読み取り専用メモリ（ＲＯＭ）２０８、および／あるいはハードディスクドライブ２０９に結合される。ＰＩＣ１１０はモデムなどの通信装置１１３によって、インターネットなどの通信ネットワーク１２２に接続されてもよいが、このような接続は、当業者に周知の任意のネットワーク通信装置によって確立され得る。図面では、プロセッサ２０２はディスプレイ装置２１４に直結されているが、プロセッサはディスプレイあるいはＩ／Ｏ制御装置を介して間接的に結合されてもよい。同様に、図面では、プロセッサはＩ／Ｏコントローラ２０４を介して不揮発性メモリ２０７に結合されているが、直結も検討される。
【００１４】
ＰＩＣメモリには様々なプログラミングコードおよびソフトウェアが記録される。例えば、起動時にＰＩＣ１１０を起動させる基本入出力システム（ＢＩＯＳ）コードは、不揮発性ストレージ２０７のＢＩＯＳ  ＲＯＭ装置２１０に記録され得る。ＢＩＯＳ  ＲＯＭ装置としては、ＲＯＭ（読み取り専用メモリ）やＰＲＯＭ（プログラマブルＲＯＭ）、例えば、ＥＰＲＯＭ（消去可能ＰＲＯＭ）、ＥＥＰＲＯＭ（電気的消去可能ＰＲＯＭ）など、フラッシュＲＡＭ（ランダムアクセスメモリ）、あるいはＢＩＯＳの記録に適した任意のその他の形式のメモリが挙げられる。原則的に、ＢＩＯＳ／ブートローダー１１１はユーザには見えない。
【００１５】
またＢＩＯＳ／ブートローダー１１１は互換性のあるブートローダーを含み、これにより、ＰＩＣオペレーティングシステムが組み込み式のクローズドオペレーティングシステム（例えば、Windows CEタイプのオペレーティングシステム）となることができる。しかしながら、ＢＩＯＳコードは任意のオペレーシングシステム（Windowsベースの、あるいはLinuxベースのオペレーティングシステムを含むが、これらに限定するものではない）をサポートすることが可能であった。原則的にＢＩＯＳ／ブートローダー２１０はユーザーには見えない。また、このＢＩＯＳ／ブートローダー２１０がオペレーティングシステムを起動する。
【００１６】
さらに、ＰＩＣソフトウェア２３０およびユーザデータは不揮発性ストレージ２０７のハードドライブ２０９に記録され、プロセッサ２０２によって実行および／あるいは処理される。ＰＩＣソフトウェア２３０は、マスターブートレコード(master boot record)（ＭＢＲ）２３１、オペレーティングシステム２３２、アプリケーションプログラム２３３、ソフトウェアアップデートモジュール２３４、ユーザデータ２３５、および、隠しイメージリカバリモジュール２３６(hidden image recovery module)を含んでもよい。ＭＢＲ２３１は、ＰＩＣ１１０の起動時に実行される小さなプログラムであり、通常はハードディスク２０９の第１領域に存在する。加えて、ハードディスク２０９は、ディスク上にパーティションテーブルを含むようにしてもよい。
【００１７】
オペレーティングシステムに関しては、システムの性能に影響を及ぼし得るいくつかの独自に設定可能なオペレーティングパラメータが、ソフトウェア２３０の一部として、ドライブ２０９にソフトウェア２３０が初期インストールされる際に事前設定される。さらに、ソフトウェア２３０は、指定されたように機能するためにＰＩＣ１１０に求められるアプリケーションプログラム２３３を含む。例えば、アプリケーションプログラム２３３としては、ウェブブラウザ、フラッシュプレーヤー、パワーポイント用プレゼンテーションビューア、チャット、ゲーム、圧縮ツール、ｅメール、ワードプロセッサ、表計算ソフト、ＰＤＦビューア、メディアプレーヤ、および／あるいは描画アプリケーションが挙げられ得る。加えて、ユーザデータ２３５は、ユーザがユーザデータに直接アクセスできるように、ユーザのデータの全てを記録する。このユーザデータは、ウイルスやその他の手段によってデータが破損しないようにするために、オペレーティングシステムの残りの部分から保護される。
【００１８】
選択された実施例では、ＰＩＣ１１０は、アプリケーションが所定の承認キーやセキュリティキーを有するブートローダデバイスからのみ追加あるいはアップデートされるようにＰＩＣソフトウェア２３０を構成することで、不正インストールから守られる。このようなブートローダデバイスの例としては、ＵＳＢ接続されたフラッシュストレージデバイスが挙げられる。例示的な実装においては、インストールの制限は、非揮発性メモリ２０７に格納される一意的セキュリティキー２４０などの、局所的に記録されたインストールキーに一致するキーを有するブートデバイスからのインストールだけを許可するソフトウェアアップデートモジュール２３４によって管理される。
【００１９】
この一意的セキュリティキー２４０は、各ＰＩＣ１１０、１１１、１１２に対して固有であってもよいし、あるいは、１つのソース（例えば、ＩＳＰ１２０）からのインストールアクセスを集合的に制御するように、これらのＰＩＣ間で共有されてもよい。選択された実施形態では、この一意的セキュリティキー２４０は、ハードドライブ２０９のマスターブートレコード２３１に格納されるが、フラッシュメモリやその他のＲＯＭ２０８に、あるいは組込み式の集積回路上に記録されてもよい。したがって、オペレーティングシステムファイルやアプリケーションファイルがブータブル(bootable)デバイスから転送される前に、アップデートモジュール２３４は、ブートデバイスが一致する署名やキーを有しているか、あるいは、一意的セキュリティキー２４０に対応しているかを判断する必要がある。このように、一意的セキュリティキー２４０は、一致するセキュリティキーを有するブータブルデバイスへのオペレーティングシステムコードや他のソフトウェアのインストールを制限することで、ＰＩＣ１１０上のオペレーティングシステムのインテグリティを保護するように使用可能である。
【００２０】
図３に、プロセッサ２０２のブロック図を示す。一実施形態では、プロセッサ２０２は、アドバンストマイクロデバイス（Advanced Micro Devices）社より入手可能なGeode GX2プロセッサである。プロセッサ２０２には、プロセッサコア３１０、バスあるいはインターフェースユニット３１２、グラフィックスプロセッサ３１４、ディスプレイコントローラ３１６、および、ビデオプロセッサ３１８が含まれる。さらに、プロセッサ２０２には、メモリコントローラ３３０、Ｉ／Ｏコントローラインターフェース３３２、ディスプレイ装置インターフェース３３４が含まれる。当然、これらのコントローラおよびインターフェースはプロセッサ２０２の外側に実装されてもよい。例示した実施形態では、プロセッサ２０２は、一意的セキュリティキー２４０に一致するあるいは対応する承認された署名を含まないブートデバイスからオペレーティングシステムおよび他のソフトウェアのインストールを制限するように、メモリ２０６、２０７に格納されたソフトウェアを実行する。
【００２１】
図４に、Ｉ／Ｏ制御装置２０４のブロック図を示す。一実施形態では、Ｉ／Ｏ制御装置は、アドバンストマイクロデバイス社より入手可能なGeode CS5535 I/O比較装置である。このＩ／Ｏ制御装置２０４は、プロセッサインターフェースモジュール４１０、ＵＳＢコントローラモジュール４１２、ＩＤＥコントローラモジュール４１４、フラッシュメモリコントローラモジュール４１６、オーディオコントローラモジュール４１８、およびシステムパワーマネージメントモジュール４２０を含む。本発明の様々な実施形態では、ＵＳＢコントローラモジュール４１２あるいはフラッシュメモリコントローラモジュール４１６は、オペレーティングシステムやアプリケーションソフトウェアなどのソフトウェアを読み込むブータブルデバイスとして使用されるＵＳＢ接続されたフラッシュストレージデバイスとインターフェース接続するように使用される。
【００２２】
ＰＩＣ１１０は、オペレーティングシステムとその他のアプリケーションのシステムインテグリティを保護するために、付加的なソフトウェアのインストールを制限するように設計される。例えば、ＰＩＣ１１０は、ソフトウェアパッケージやデバイスドライバパッケージをインストールする通常の方法となるフロッピーディスクやＣＤ−ＲＯＭドライブが含まれないように、あるいはサポートされないように、任意に設計可能である。システムインテグリティはさらに、オペレーティングシステムが読込まれるまでＵＳＢキーボードおよびマウスをディセーブルにすることで保護される。この結果、たとえＰＩＣ１１０が別のソースから起動できても、どんなものであってもインストールが非常に困難になる。加えて、ソフトウェアのインストールは、ＰＩＣソフトウェア２３０の一部としてインストールされたオペレーティングシステムおよびアプリケーション上ではディセーブルにされる。但し、一意的セキュリティキー２４０に一致する承認された署名キーを持たない任意のＵＳＢデバイスからのソフトウェアの読込みあるいは起動アクティビティをディセーブルにするソフトウェアアップデートモジュール２３４を利用する場合は例外である。
【００２３】
図５に、ソフトウェアインストールを制限するように使用されるソフトウェアアップデートモジュール５００の一例を示す。図示した例では、このソフトウェアアップデートモジュール５００のWindows CEの実装品はいくつかの異なる、協働する層を有する。これには、ＯＥＭアダプテーション層（ＯＡＬ）コンポーネント５０２、Windows CEカーネルコンポーネント層５０４、およびWin32コンポーネント層５０６を含む。ＯＡＬコンポーネント５０２はプラットフォームによって異なるインターフェース（例えば、タイマー、クロック、インタラプト）を備える。また、このコンポーネント５０２はWindows CEカーネルコンポーネント５０４のベーシックオペレーティングシステムランチメカニズム（basic oparating system launch mechanism）５０５に接続する。
【００２４】
Windows CEカーネルコンポーネント層５０４は、ＯＡＬ層によってハードウェアから取り出され、ＯＡＬコンポーネント５０２とWin32層５０６との間に一般的な通信メカニズムを提供する。Win32コンポーネント層５０６はＯＡＬ５０２およびカーネル層５０４の上方に存在する。また、このWin32コンポーネント層５０６はアプリケーション５０７の基本環境である。当然、オペレーティングシステムランチメカニズム５０５は、アプリケーションを読み込むＯＳの一部として実装されてもよいが、WinCEをメモリに読込み実行するプログラムとして実装されてもよく、この場合はBIOS／ブートローダに含まれてもよい。
【００２５】
ユーザあるいはOSがアプリケーションのインストールや外部ストレージデバイス５０８からライブラリ（ＤＤＬ）の読込みを望むたびに、カーネルコンポーネント５０４は、ＯＡＬコンポーネント５０２をチェックし、アプリケーションやモジュールがインストールされるべきであることを承認する。ＯＡＬコンポーネント５０２中のキーチェックルーチン５０１は、アプリケーションあるいはモジュールに関連づけられる承認キーが局所的に記録された安全キーに一致すれば、インストールを承認する。このキーチェックルーチン５０１は様々な方法で実現することができる。例えば、Windows CEは、ＯＳが未知のモジュールを読込ませないように、システムアプリケーションプログラミングインターフェース（ＡＰＩｓ）へのアクセスを制限するように、および／あるいは、システムレジストリの一部への書込みアクセスをさせないように、セキュリティ対策を実装することによって、ＰＩＣ１１０を保護するために利用可能な認証メカニズムを提供する。
【００２６】
アプリケーションの認証においては、モジュールを信頼できるもの、あるいは信頼できないものとして設計することができる。また、カーネルコンポーネント５０４はこの情報を利用して、不正アプリケーションを読込ませないようにする、あるいは、不正アプリケーションの、システムへのアクセスを制限することができる。例えば、カーネルコンポーネント５０４がアプリケーションを読込む前に、ＯＡＬコンポーネント中の認証機能は、例えばアプリケーションの署名を局所的に記録されたセキュリティキーと比較することによって、アプリケーションの署名を照合する。このようなアプローチにより、Windows CEベースのランタイムイメージは、有効なデジタル署名を含む場合に限ってアプリケーションを読込む。
【００２７】
加えて、オペレーティングシステムのインテグリティは、不正オペレーティングシステムのインストールを制限する、制限されたBIOSファームウェア命令セットを含むことで、保護される。システムが起動すると、制限されたBIOSファームウェアは、ハードドライブ２０９や任意のその他のブートデバイス（例えば、USB接続されたフラッシュストレージデバイスあるいはCD−ROM)において、一意的セキュリティキー２４０などのインストールキーを探す。インストールキーがなければ、起動したシステムは停止する。しかし、インストールキーがあれば、起動したシステムは進行する。このように、ハードドライブ２０９は、オリジナルオペレーシングシステム（例えば、Windows CE)が承認されていないオペレーティングシステム（例えば、Linux)と交換されないように保護される。
【００２８】
図６に、コンピュータシステムにオペレーティングシステムコードおよび／あるいはソフトウェアを不正インストールさせないための保護システムの動作を示したフローチャートを示す。当然、図示しているシステムはオペレーションは、システムの起動時に、あるいはファイルがＰＩＣ１１０に読込まれるかインストールされるその他の任意のときに、オペレーティングシステムとその他のソフトウェアのインストールを制限するために使用可能である。しかし、簡素化のために、本発明は起動の間にオペレーティングシステムのインストールを制限することに焦点を置く。
【００２９】
予備段階として、ステップ６０２では、セキュリティキーがコンピュータシステム（例えば、ＰＩＣ１１０）の非揮発性メモリに保護される。ステップ６０４でインストールイベントが発生する場合に（例えば、システムの起動時に、ブータブルデバイスがハードドライブへオペレーティングシステムファイルを書込もうとする場合に）、非揮発性メモリからセキュリティーが取り出される(ステップ６０６）。さらに、ブートデバイスから承認キーが要求される（ステップ６０８）。このようなキー取り出しステップは同時に発生しているように図示されているが、同時にではなく連続して発生してもよい。
【００３０】
セキュリティキーおよび承認キーを取得すると、ステップ６１０でこれらのキーが比較される。各キーが一致しなければ（６１０の選択においてＮｏ）、リクエストされたインストールは拒否され、システムはステップ６０４に戻り、次のインストールイベントが検出される。この時点で、リスト中の次のブートデバイスはキーのチェックがなされ、プロセスが再スタートされる。しかし、リスト中のいずれのブートデバイス上にキーが見つからなければ、システムは停止し、ユーザにとってはハングアップしているように見える。しかし、キーが一致すれば（６１０の選択においてＹｅｓ）リクエストされたインストールは承認され（ステップ６１４）、システムはステップ６０４に戻り、次のインストールイベントが検出される。当然、前述のステップはソフトウェアアップデートモジュールとして、あるいはＢＩＯＳコードとして実装されてもよい。
【００３１】
本発明による利益を享受し得る当業者であれば、本発明に関して等価の範囲内で種々の変形及び実施が可能であることは明らかであることから、上述の個々の実施形態は、例示的なものに過ぎない。従って、これまでの記載は本発明を説明した特定の形態に限定するものではなく、むしろ、添付の請求項によって規定されている発明の範疇に属する全ての改良、等価物、及び変形例をカバーするものである。よって、当業者たちには、もっとも広い形態において本発明の精神及び範囲から逸脱することなく、様々な変更、置換、修正が可能であることが理解されるべきである。
【図面の簡単な説明】
【００３２】
【図１】１以上の通信ネットワーク上で通信する複数のコンピュータシステムのブロック図。
【図２】本発明の様々な実施形態に従うパーソナルインターネットコミュニケータなどのコンピュータシステムのシステムブロック図。
【図３】パーソナルインターネットコミュニケータで使用するプロセッサシステムのブロック図。
【図４】多目的メディアアクセスデバイスで使用する入出力（Ｉ／Ｏ）システムのブロック図。
【図５】ソフトウェアのインストールを制限するために使用されるソフトウェアアップデートモジュールの例示的説明図。
【図６】コンピュータシステム上のソフトウェアおよび／あるいはオペレーティングシステムコードの不正インストールを防ぐ保護システムの動作のフローチャート。
【図１】
2009500728.tif 000003
【図２】
2009500728.tif 000004
【図３】
2009500728.tif 000005
【図４】
2009500728.tif 000006
【図５】
2009500728.tif 000007
【図６】
2009500728.tif 000008
【国際調査報告】
2009500728.tif 000009
2009500728.tif 000010
2009500728.tif 000011