JP5276438B2 - オペレーティングシステムおよびその他のソフトウェアのインストールを制限するハッカー対策プロテクト - Google Patents

オペレーティングシステムおよびその他のソフトウェアのインストールを制限するハッカー対策プロテクト Download PDF

Info

Publication number
JP5276438B2
JP5276438B2 JP2008519447A JP2008519447A JP5276438B2 JP 5276438 B2 JP5276438 B2 JP 5276438B2 JP 2008519447 A JP2008519447 A JP 2008519447A JP 2008519447 A JP2008519447 A JP 2008519447A JP 5276438 B2 JP5276438 B2 JP 5276438B2
Authority
JP
Japan
Prior art keywords
key
software
installation
processing
executable instructions
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.)
Active
Application number
JP2008519447A
Other languages
English (en)
Other versions
JP2009500728A (ja
Inventor
ポール スティーブン
グッドリッチ スティーブン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JP2009500728A publication Critical patent/JP2009500728A/ja
Application granted granted Critical
Publication of JP5276438B2 publication Critical patent/JP5276438B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • G06Q2220/10Usage protection of distributed data files
    • G06Q2220/14Requiring a supplemental attachment or input, e.g. a dongle, to open
    • G06Q2220/145Specific computer ID, e.g. serial number, configuration

Description

本発明は情報処理システム分野に関する。一形態においては、本発明はインターネット上で通信するために使用されるコンピュータシステムの安全なコンピューティング環境を保証するシステムおよび方法に関する。
コンピュータシステムは、今日の社会において、多くの分野に情報管理能力を与えるために広く用いられている。パソコンシステムは通常、システムプロセッサを備えたシステムユニット、関連する揮発性および不揮発性メモリ、ディスプレイモニタ、キーボード、固定ディスク記録装置、任意の取り外し可能記録装置、および任意のプリンタを含むマイクロコンピュータとして定義することができる。このようなパソコンシステムは、シングルユーザ(あるいは、コンピュータサーバシステムとして機能するパソコンの場合は、グループユーザ)に主に独立演算能力を与えるように設計された情報処理システムであり、個人や中小企業の購入用に低価格にされている。
近年は、インターネット上で情報交換を行うために、パソコンの使用が著しく増加している。このような情報交換は、クライアント/サーバモデルに基づくものであり、ユーザのパソコンがクライアントとして動作している状態で、複数のインターネットサーバに記録されているデータにアクセスする。インターネットサービスプロバイダのなかには、インターネットサービスを供給するための契約関係の一環として、ユーザにコンピュータを提供するところもある。
このような契約関係の一環として、インターネットサービスプロバイダは時としてソフトウェアアップグレードおよび追加サービスを提供するソフトウェアに関係のあるコンピュータにソフトウェアパッケージを提供する必要がある。加えて、ユーザはインターネットからコンピュータプログラムをダウンロードしようとする、あるいは、安全ではないおそれのあるソースからプログラムを局所的にインストールしようとする。
その結果、コンピュータの動作に悪影響を与えるおそれがあり、及び/又は、インターネットサービスプロバイダにより与えられる認可されたソフトを干渉するおそれのある、不正ソフトをユーザにインストールさせないようにする保護プロセスが求められている。加えて、インターネットサービスプロバイダによって与えられる通信ネットワーク上でパーソナルインターネットコミュニケータ(PIC)として使用するような、コンピュータに格納されたアプリケーションおよびオペレーティングシステムのインテグリティ(integrity)あるいは一体性を保護する必要性が高い。
従来のシステムの制限および難点は、添付の図面と以下の詳細な説明とを参照して、本願の以下の記述を査読することにより、当業者には明らかになるであろう。
本発明の方法および装置は、パーソナルインターネットコミュニケータに対して信頼性があり安全なコンピュータ環境を提供する。
一実施形態では、本発明は、マスターブートレコードなどのパーソナルインターネットコミュニケータの非揮発性ストレージにキーを記録することによって、また、任意のブータブルデバイスがオペレーティングシステムファイルやアプリケーションファイルを書込み可能とする一致する署名やキーを有するように要求することで、パーソナルインターネットコミュニケータ上のソフトウェアコードおよび/あるいはオペレーティングシステムのインストールを制限するように使用可能である。
本発明の目的、利点、およびその他の新しい特徴は、添付の請求項および図面をあわせて読むことで、以下の詳細な説明から当業者には明らかとなるであろう。
本発明の例示的実施形態を以下に記述しているが、本発明を特定の詳細がなくても実施できることは明らかであろう。また、開発者における特定の目標を達成するため、システム的制限やビジネス的制限との摺り合せなど、多くの特定の実施の決定がなされる。それらは各実施形態によって様々に変化するものである。そのような開発努力は複雑で時間を消費するものであるのは当然のことであるが、それでもなお、この開示の恩恵を有する当業者にとっては通常作業の範疇に入るものであ。例えば、本発明を曖昧なものにしないように、あるいは、制限しすぎないように、選択された形態は詳細に示さずにブロック図形式で示している。このような記述および表現は、当業者が、自身の作業の内容を他の当業者に効率的に伝えるために用いられているものである。
以下に本発明を図面を参照しながら記載する。図1に、例示的ネットワーク100のブロック図を示す。ここでは、複数のコンピュータシステム110、111、112は、1以上の通信ネットワーク140上で通信する。図示されるように、各コンピュータシステム(例えば、110)は、マルチメディアアクセスデバイスあるいはパーソナルインターネットコミュニケータ(PIC)とも呼ばれるものであるが、このようなコンピュータシステムは、1以上の通信リンク122を介してインターネットサービスプロバイダ(ISP)120に動作可能に結合されている。インターネットサービスプロバイダ120は、インターネット140に接続される。
さらに、インターネット140は、複数のウェブホストサーバ150、151、152に接続される。インターネット上の情報へのアクセスを希望するユーザはPIC(例えば、110)を使用し、ウェブブラウザとして周知の、PIC上に記録されたアプリケーションプログラムを実行する。PIC110は通信ハードウェアおよびソフトウェアを含む。これにより、PIC110がインターネットサービスプロバイダ120への通信を送受信できるようにする。通信ハードウェアおよびソフトウェアにより、PIC110はインターネットサービスプロバイダ120との通信リンクを確立できるようになる。この通信リンクは、任意の様々な接続形式であってよく、例えば、有線接続、デジタル加入者回線(DSL)、T1、総合デジタル通信網(ISDN)などの直接接続、あるいはケーブル接続、セルラーネットワークや衛星ネットワークを介した無線接続、電話モデムダイアルアップアクセス、あるいは、、イーサネットなどのローカルデータ伝送やローカルエリアネットワーク上でのトークンリングが挙げられる。
顧客が、ウェブブラウザにおいて命令を入力することで情報要求を入力する場合、PIC110は、特定のトピックに関連する文書や特定のウェブページの検索といった情報要求をインターネットサービスプロバイダ120に送信し、次に、インターネットサービスプロバイダ120はこの要求をインターネット140を介して適切なウェブホストサーバ150へ送る。インターネットサービスプロバイダ120は、ブラウザから送信された要求を受信し、読み取るソフトウェアを実行する。インターネットサービスプロバイダ120は、要求をモニタリングし、その特定のウェブサーバについての情報要求を提供し、その情報をユーザのPIC110へと送信するウェブサーバアプリケーションプログラムを実行する。
インターネット上の各ウェブホストサーバ150、151、152は、適切なウェブホストサーバに接続するためにユーザーがウェブブラウザに提供する周知のアドレスを有する。ユーザのウェブホストサーバ150上で情報が入手できなければ、インターネット140は、ウェブサーバ150、151、152を、要求した情報を供給するために相互通信可能とするセントラルリンクとして機能する。ウェブサーバ150、151、152は1ページより多くのウェブページを含み得ることから、ユーザはさらに、自分が見たい特定のウェブページをアドレスにおいて特定することになる。
サーバー上のホームページアドレスは、URL(ユニバーサルリソースロケータ)としても周知であるが、このアドレスは、サーバーおよびサーバー上のページ位置を示す一連の数字であって、郵便番号に類似している。簡素化のために、数字ではなく名前を使用してユーザがサーバおよび文書を特定可能であるドメインネームシステムが構築された。さらに、URLは、ドメインネームの終わりに付加的情報を含めることで、コンテンツプロバイダに属するページグループにおいて特定のページを指定することができる。
図2に、PIC110のブロック図を示す。PIC110は、プロセッサ202、入出力(I/O)制御装置204、メモリ(揮発性ランダムアクセスメモリ(RAM)206および不揮発性メモリ207を含む)、通信装置211(モデムなど)、およびディスプレイ214を含む。プロセッサ202、I/O制御装置204、メモリ206、および通信装置211は、1つ以上のバス212を介して相互接続される。選択された実施形態では、プロセッサ202はAMD Geode GX 32-bit x86互換プロセッサとして、メモリ206は128MBのDDRメモリとして、また、ディスプレイ214はCRTモニタとして実装される。加えて、不揮発性メモリ207は、最小容量が例えば10GBの内蔵型3.5インチハードディスクとして実装されるハードディスクドライブ209を備えてもよい。
メモリ206、207のいずれか、あるいは両方をPIC110に内蔵してもよいし、外付けしてもよい。通信装置211に関しては、世界中の様々な電話システムをサポートするために、外部コネクタを備えた内蔵型56k ITU v.92モデムを使用してもよい。これに限らず、その他のモデム(例えば、ソフトモデム)を使用してもよい。勿論、プロセッサ202、メモリ206、207、ディスプレイ214および通信装置211に対してその他の装置構成を用いることができることは明らかであろう。明瞭化のため、および理解を容易にするために、PIC110を構成している全ての要素を詳細には記述していない。そのような詳細は当業者にとっては周知であり、また、特定のコンピュータベンダーやマイクロプロセッサのタイプに基づいて変化し得る。さらに、PIC110は所望する実装品に応じて、その他のバス、装置、および/あるいはサブシステムを含んでもよい。例えば、PIC110は、キャッシュ、モデム、パラレルあるいはシリアルインターフェース、SCSIインターフェース、ネットワークインターフェースカードなどを含んでもよい。
図2に示しているように、I/O制御装置204は、I/O装置205、例えば1以上のUSBポート、キーボード、マウス、オーディオスピーカなどに結合される。I/O制御装置204はさらに、フラッシュメモリなどの不揮発性ストレージ207あるいはその他の読み取り専用メモリ(ROM)208、および/あるいはハードディスクドライブ209に結合される。PIC110はモデムなどの通信装置113によって、インターネットなどの通信ネットワーク122に接続されてもよいが、このような接続は、当業者に周知の任意のネットワーク通信装置によって確立され得る。図面では、プロセッサ202はディスプレイ装置214に直結されているが、プロセッサはディスプレイあるいはI/O制御装置を介して間接的に結合されてもよい。同様に、図面では、プロセッサはI/Oコントローラ204を介して不揮発性メモリ207に結合されているが、直結も検討される。
PICメモリには様々なプログラミングコードおよびソフトウェアが記録される。例えば、起動時にPIC110を起動させる基本入出力システム(BIOS)コードは、不揮発性ストレージ207のBIOS ROM装置210に記録され得る。BIOS ROM装置としては、ROM(読み取り専用メモリ)やPROM(プログラマブルROM)、例えば、EPROM(消去可能PROM)、EEPROM(電気的消去可能PROM)など、フラッシュRAM(ランダムアクセスメモリ)、あるいはBIOSの記録に適した任意のその他の形式のメモリが挙げられる。原則的に、BIOS/ブートローダー111はユーザには見えない。
またBIOS/ブートローダー111は互換性のあるブートローダーを含み、これにより、PICオペレーティングシステムが組み込み式のクローズドオペレーティングシステム(例えば、Windows CEタイプのオペレーティングシステム)となることができる。しかしながら、BIOSコードは任意のオペレーシングシステム(Windowsベースの、あるいはLinuxベースのオペレーティングシステムを含むが、これらに限定するものではない)をサポートすることが可能であった。原則的にBIOS/ブートローダー210はユーザーには見えない。また、このBIOS/ブートローダー210がオペレーティングシステムを起動する。
さらに、PICソフトウェア230およびユーザデータは不揮発性ストレージ207のハードドライブ209に記録され、プロセッサ202によって実行および/あるいは処理される。PICソフトウェア230は、マスターブートレコード(master boot record)(MBR)231、オペレーティングシステム232、アプリケーションプログラム233、ソフトウェアアップデートモジュール234、ユーザデータ235、および、隠しイメージリカバリモジュール236(hidden image recovery module)を含んでもよい。MBR231は、PIC110の起動時に実行される小さなプログラムであり、通常はハードディスク209の第1領域に存在する。加えて、ハードディスク209は、ディスク上にパーティションテーブルを含むようにしてもよい。
オペレーティングシステムに関しては、システムの性能に影響を及ぼし得るいくつかの独自に設定可能なオペレーティングパラメータが、ソフトウェア230の一部として、ドライブ209にソフトウェア230が初期インストールされる際に事前設定される。さらに、ソフトウェア230は、指定されたように機能するためにPIC110に求められるアプリケーションプログラム233を含む。例えば、アプリケーションプログラム233としては、ウェブブラウザ、フラッシュプレーヤー、パワーポイント用プレゼンテーションビューア、チャット、ゲーム、圧縮ツール、eメール、ワードプロセッサ、表計算ソフト、PDFビューア、メディアプレーヤ、および/あるいは描画アプリケーションが挙げられ得る。加えて、ユーザデータ235は、ユーザがユーザデータに直接アクセスできるように、ユーザのデータの全てを記録する。このユーザデータは、ウイルスやその他の手段によってデータが破損しないようにするために、オペレーティングシステムの残りの部分から保護される。
選択された実施例では、PIC110は、アプリケーションが所定の承認キーやセキュリティキーを有するブートローダデバイスからのみ追加あるいはアップデートされるようにPICソフトウェア230を構成することで、不正インストールから守られる。このようなブートローダデバイスの例としては、USB接続されたフラッシュストレージデバイスが挙げられる。例示的な実装においては、インストールの制限は、非揮発性メモリ207に格納される一意的セキュリティキー240などの、局所的に記録されたインストールキーに一致するキーを有するブートデバイスからのインストールだけを許可するソフトウェアアップデートモジュール234によって管理される。
この一意的セキュリティキー240は、各PIC110、111、112に対して固有であってもよいし、あるいは、1つのソース(例えば、ISP120)からのインストールアクセスを集合的に制御するように、これらのPIC間で共有されてもよい。選択された実施形態では、この一意的セキュリティキー240は、ハードドライブ209のマスターブートレコード231に格納されるが、フラッシュメモリやその他のROM208に、あるいは組込み式の集積回路上に記録されてもよい。したがって、オペレーティングシステムファイルやアプリケーションファイルがブータブル(bootable)デバイスから転送される前に、アップデートモジュール234は、ブートデバイスが一致する署名やキーを有しているか、あるいは、一意的セキュリティキー240に対応しているかを判断する必要がある。このように、一意的セキュリティキー240は、一致するセキュリティキーを有するブータブルデバイスへのオペレーティングシステムコードや他のソフトウェアのインストールを制限することで、PIC110上のオペレーティングシステムのインテグリティを保護するように使用可能である。
図3に、プロセッサ202のブロック図を示す。一実施形態では、プロセッサ202は、アドバンストマイクロデバイス(Advanced Micro Devices)社より入手可能なGeode GX2プロセッサである。プロセッサ202には、プロセッサコア310、バスあるいはインターフェースユニット312、グラフィックスプロセッサ314、ディスプレイコントローラ316、および、ビデオプロセッサ318が含まれる。さらに、プロセッサ202には、メモリコントローラ330、I/Oコントローラインターフェース332、ディスプレイ装置インターフェース334が含まれる。当然、これらのコントローラおよびインターフェースはプロセッサ202の外側に実装されてもよい。例示した実施形態では、プロセッサ202は、一意的セキュリティキー240に一致するあるいは対応する承認された署名を含まないブートデバイスからオペレーティングシステムおよび他のソフトウェアのインストールを制限するように、メモリ206、207に格納されたソフトウェアを実行する。
図4に、I/O制御装置204のブロック図を示す。一実施形態では、I/O制御装置は、アドバンストマイクロデバイス社より入手可能なGeode CS5535 I/O比較装置である。このI/O制御装置204は、プロセッサインターフェースモジュール410、USBコントローラモジュール412、IDEコントローラモジュール414、フラッシュメモリコントローラモジュール416、オーディオコントローラモジュール418、およびシステムパワーマネージメントモジュール420を含む。本発明の様々な実施形態では、USBコントローラモジュール412あるいはフラッシュメモリコントローラモジュール416は、オペレーティングシステムやアプリケーションソフトウェアなどのソフトウェアを読み込むブータブルデバイスとして使用されるUSB接続されたフラッシュストレージデバイスとインターフェース接続するように使用される。
PIC110は、オペレーティングシステムとその他のアプリケーションのシステムインテグリティを保護するために、付加的なソフトウェアのインストールを制限するように設計される。例えば、PIC110は、ソフトウェアパッケージやデバイスドライバパッケージをインストールする通常の方法となるフロッピーディスクやCD−ROMドライブが含まれないように、あるいはサポートされないように、任意に設計可能である。システムインテグリティはさらに、オペレーティングシステムが読込まれるまでUSBキーボードおよびマウスをディセーブルにすることで保護される。この結果、たとえPIC110が別のソースから起動できても、どんなものであってもインストールが非常に困難になる。加えて、ソフトウェアのインストールは、PICソフトウェア230の一部としてインストールされたオペレーティングシステムおよびアプリケーション上ではディセーブルにされる。但し、一意的セキュリティキー240に一致する承認された署名キーを持たない任意のUSBデバイスからのソフトウェアの読込みあるいは起動アクティビティをディセーブルにするソフトウェアアップデートモジュール234を利用する場合は例外である。
図5に、ソフトウェアインストールを制限するように使用されるソフトウェアアップデートモジュール500の一例を示す。図示した例では、このソフトウェアアップデートモジュール500のWindows CEの実装品はいくつかの異なる、協働する層を有する。これには、OEMアダプテーション層(OAL)コンポーネント502、Windows CEカーネルコンポーネント層504、およびWin32コンポーネント層506を含む。OALコンポーネント502はプラットフォームによって異なるインターフェース(例えば、タイマー、クロック、インタラプト)を備える。また、このコンポーネント502はWindows CEカーネルコンポーネント504のベーシックオペレーティングシステムランチメカニズム(basic oparating system launch mechanism)505に接続する。
Windows CEカーネルコンポーネント層504は、OAL層によってハードウェアから取り出され、OALコンポーネント502とWin32層506との間に一般的な通信メカニズムを提供する。Win32コンポーネント層506はOAL502およびカーネル層504の上方に存在する。また、このWin32コンポーネント層506はアプリケーション507の基本環境である。当然、オペレーティングシステムランチメカニズム505は、アプリケーションを読み込むOSの一部として実装されてもよいが、WinCEをメモリに読込み実行するプログラムとして実装されてもよく、この場合はBIOS/ブートローダに含まれてもよい。
ユーザあるいはOSがアプリケーションのインストールや外部ストレージデバイス508からライブラリ(DDL)の読込みを望むたびに、カーネルコンポーネント504は、OALコンポーネント502をチェックし、アプリケーションやモジュールがインストールされるべきであることを承認する。OALコンポーネント502中のキーチェックルーチン501は、アプリケーションあるいはモジュールに関連づけられる承認キーが局所的に記録された安全キーに一致すれば、インストールを承認する。このキーチェックルーチン501は様々な方法で実現することができる。例えば、Windows CEは、OSが未知のモジュールを読込ませないように、システムアプリケーションプログラミングインターフェース(APIs)へのアクセスを制限するように、および/あるいは、システムレジストリの一部への書込みアクセスをさせないように、セキュリティ対策を実装することによって、PIC110を保護するために利用可能な認証メカニズムを提供する。
アプリケーションの認証においては、モジュールを信頼できるもの、あるいは信頼できないものとして設計することができる。また、カーネルコンポーネント504はこの情報を利用して、不正アプリケーションを読込ませないようにする、あるいは、不正アプリケーションの、システムへのアクセスを制限することができる。例えば、カーネルコンポーネント504がアプリケーションを読込む前に、OALコンポーネント中の認証機能は、例えばアプリケーションの署名を局所的に記録されたセキュリティキーと比較することによって、アプリケーションの署名を照合する。このようなアプローチにより、Windows CEベースのランタイムイメージは、有効なデジタル署名を含む場合に限ってアプリケーションを読込む。
加えて、オペレーティングシステムのインテグリティは、不正オペレーティングシステムのインストールを制限する、制限されたBIOSファームウェア命令セットを含むことで、保護される。システムが起動すると、制限されたBIOSファームウェアは、ハードドライブ209や任意のその他のブートデバイス(例えば、USB接続されたフラッシュストレージデバイスあるいはCD−ROM)において、一意的セキュリティキー240などのインストールキーを探す。インストールキーがなければ、起動したシステムは停止する。しかし、インストールキーがあれば、起動したシステムは進行する。このように、ハードドライブ209は、オリジナルオペレーシングシステム(例えば、Windows CE)が承認されていないオペレーティングシステム(例えば、Linux)と交換されないように保護される。
図6に、コンピュータシステムにオペレーティングシステムコードおよび/あるいはソフトウェアを不正インストールさせないための保護システムの動作を示したフローチャートを示す。当然、図示しているシステムはオペレーションは、システムの起動時に、あるいはファイルがPIC110に読込まれるかインストールされるその他の任意のときに、オペレーティングシステムとその他のソフトウェアのインストールを制限するために使用可能である。しかし、簡素化のために、本発明は起動の間にオペレーティングシステムのインストールを制限することに焦点を置く。
予備段階として、ステップ602では、セキュリティキーがコンピュータシステム(例えば、PIC110)の非揮発性メモリに保護される。ステップ604でインストールイベントが発生する場合に(例えば、システムの起動時に、ブータブルデバイスがハードドライブへオペレーティングシステムファイルを書込もうとする場合に)、非揮発性メモリからセキュリティーが取り出される(ステップ606)。さらに、ブートデバイスから承認キーが要求される(ステップ608)。このようなキー取り出しステップは同時に発生しているように図示されているが、同時にではなく連続して発生してもよい。
セキュリティキーおよび承認キーを取得すると、ステップ610でこれらのキーが比較される。各キーが一致しなければ(610の選択においてNo)、リクエストされたインストールは拒否され、システムはステップ604に戻り、次のインストールイベントが検出される。この時点で、リスト中の次のブートデバイスはキーのチェックがなされ、プロセスが再スタートされる。しかし、リスト中のいずれのブートデバイス上にキーが見つからなければ、システムは停止し、ユーザにとってはハングアップしているように見える。しかし、キーが一致すれば(610の選択においてYes)リクエストされたインストールは承認され(ステップ614)、システムはステップ604に戻り、次のインストールイベントが検出される。当然、前述のステップはソフトウェアアップデートモジュールとして、あるいはBIOSコードとして実装されてもよい。
本発明による利益を享受し得る当業者であれば、本発明に関して等価の範囲内で種々の変形及び実施が可能であることは明らかであることから、上述の個々の実施形態は、例示的なものに過ぎない。従って、これまでの記載は本発明を説明した特定の形態に限定するものではなく、むしろ、添付の請求項によって規定されている発明の範疇に属する全ての改良、等価物、及び変形例をカバーするものである。よって、当業者たちには、もっとも広い形態において本発明の精神及び範囲から逸脱することなく、様々な変更、置換、修正が可能であることが理解されるべきである。
1以上の通信ネットワーク上で通信する複数のコンピュータシステムのブロック図。 本発明の様々な実施形態に従うパーソナルインターネットコミュニケータなどのコンピュータシステムのシステムブロック図。 パーソナルインターネットコミュニケータで使用するプロセッサシステムのブロック図。 多目的メディアアクセスデバイスで使用する入出力(I/O)システムのブロック図。 ソフトウェアのインストールを制限するために使用されるソフトウェアアップデートモジュールの例示的説明図。 コンピュータシステム上のソフトウェアおよび/あるいはオペレーティングシステムコードの不正インストールを防ぐ保護システムの動作のフローチャート。

Claims (9)

  1. 実行可能命令とデータとが記録された少なくとも1つの記録可能媒体を備えたデバイスであって、前記実行可能命令とデータは、少なくとも1つの処理デバイスによって実行されると、前記少なくとも1つの処理デバイスに、
    ブートローダデバイスからのインストールリクエストを検出する処理、
    前記インストールリクエストに応答して前記デバイス上の非揮発性ストレージユニットからセキュリティキー読み出す処理、
    前記ブートローダデバイスから第1承認キーを要求する処理、
    前記セキュリティキーと前記第1承認キーとを比較する処理、及び
    前記セキュリティキーが前記第1承認キーに一致する場合に限って前記インストールリクエストを承認させる処理を行わせるものである、デバイス。
  2. 前記非揮発性ストレージユニットは、マスターブートレコードを含む、請求項1記載のデバイス。
  3. 前記ブートローダデバイスは、内部BIOSメモリユニットを含む、請求項1記載のデバイス。
  4. 前記ブートローダデバイスは、外部ブータブルデバイスを含む、請求項1記載のデバイス。
  5. 前記記録可能媒体は、内部BIOSメモリユニットを含む、請求項1記載のデバイス。
  6. 前記実行可能命令およびデータは、前記BIOSに格納される、請求項1記載のデバイス。
  7. 前記実行可能命令およびデータは、インストールされたオペレーティングシステムに含まれるソフトウェアアップデートモジュールに含まれる、請求項1記載のデバイス。
  8. 前記実行可能命令およびデータはさらに、前記セキュリティキーが前記第1承認キーに一致しなければ、前記少なくとも1つの処理デバイスに前記インストールリクエストを拒否させる、請求項1記載のデバイス。
  9. 前記実行可能命令およびデータはさらに、前記セキュリティキーが前記第1承認キーに一致しなければ、前記少なくとも1つの処理デバイスに、前記セキュリティキーに一致する第2承認キーの記録リストで確認される次のブートローダデバイスをチェックさせる、請求項1記載のデバイス。
JP2008519447A 2005-06-30 2006-06-23 オペレーティングシステムおよびその他のソフトウェアのインストールを制限するハッカー対策プロテクト Active JP5276438B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/172,547 2005-06-30
US11/172,547 US8554686B2 (en) 2005-06-30 2005-06-30 Anti-hack protection to restrict installation of operating systems and other software
PCT/US2006/024766 WO2007005363A1 (en) 2005-06-30 2006-06-23 Anti-hack protection to restrict installation of operating systems and other software

Publications (2)

Publication Number Publication Date
JP2009500728A JP2009500728A (ja) 2009-01-08
JP5276438B2 true JP5276438B2 (ja) 2013-08-28

Family

ID=37037066

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008519447A Active JP5276438B2 (ja) 2005-06-30 2006-06-23 オペレーティングシステムおよびその他のソフトウェアのインストールを制限するハッカー対策プロテクト

Country Status (8)

Country Link
US (1) US8554686B2 (ja)
JP (1) JP5276438B2 (ja)
KR (1) KR101280048B1 (ja)
CN (1) CN101213557B (ja)
DE (1) DE112006001744T5 (ja)
GB (1) GB2442172B (ja)
TW (1) TWI420879B (ja)
WO (1) WO2007005363A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7636780B2 (en) * 2005-07-28 2009-12-22 Advanced Micro Devices, Inc. Verified computing environment for personal internet communicator
WO2008046101A2 (en) 2006-10-13 2008-04-17 Ariel Silverstone Client authentication and data management system
US8473753B2 (en) 2010-09-15 2013-06-25 International Business Machines Corporation Real-time secure self-acquiring root authority
KR20120092222A (ko) 2011-02-11 2012-08-21 삼성전자주식회사 보안 부팅 방법 및 보안 부트 이미지 생성 방법
TWI467485B (zh) * 2011-06-07 2015-01-01 Insyde Software Corp Verification of the basic input and output system update method, the computer can read the recording media and computer program products
CN102368706A (zh) * 2011-10-18 2012-03-07 深圳市江波龙商用设备有限公司 基于usb总线hid协议的认证方法、系统及装置
US20150193620A1 (en) * 2014-01-07 2015-07-09 Dell Products, Lp System and Method for Managing UEFI Secure Boot Certificates
US10200201B2 (en) * 2014-04-07 2019-02-05 Samsung Electronics Co., Ltd Method for application installation, electronic device, and certificate system
TW201619866A (zh) 2014-11-20 2016-06-01 萬國商業機器公司 客製化資訊設備的方法
CN104459519A (zh) * 2014-12-05 2015-03-25 大唐微电子技术有限公司 一种芯片安全测试方法及装置
US9953167B2 (en) * 2015-10-12 2018-04-24 Microsoft Technology Licensing, Llc Trusted platforms using minimal hardware resources
CN106990975B (zh) * 2016-01-21 2021-07-23 斑马智行网络(香港)有限公司 一种应用热部署方法、装置和系统
US10778444B2 (en) * 2018-07-11 2020-09-15 Verizon Patent And Licensing Inc. Devices and methods for application attestation
KR102195344B1 (ko) * 2019-06-10 2020-12-28 주식회사 삼보컴퓨터 Usb 저장 매체를 이용하는 컴퓨터용 보안 시스템 및 방법
CN111310163B (zh) * 2020-01-20 2022-02-22 杭州和利时自动化有限公司 组态软件的授权管理方法、装置、设备及可读存储介质
KR20210112923A (ko) 2020-03-06 2021-09-15 삼성전자주식회사 시스템 온 칩 및 이의 동작 방법

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3996449A (en) * 1975-08-25 1976-12-07 International Business Machines Corporation Operating system authenticator
US5210875A (en) * 1989-08-25 1993-05-11 International Business Machines Corporation Initial bios load for a personal computer system
DE4315732C1 (de) 1993-05-11 1994-06-01 Siemens Nixdorf Inf Syst Verfahren zum authentischen Booten und Testen der Integrität von Software auf PC-Architekturen
US5651139A (en) 1993-12-23 1997-07-22 International Business Machines Corporation Protected system partition read/write access on a SCSI controlled DASD
US6381694B1 (en) * 1994-02-18 2002-04-30 Apple Computer, Inc. System for automatic recovery from software problems that cause computer failure
US5564054A (en) * 1994-08-25 1996-10-08 International Business Machines Corporation Fail-safe computer boot apparatus and method
JPH08278879A (ja) * 1995-04-06 1996-10-22 Hitachi Ltd ソフトウェア・インストールシステム
US5796839A (en) * 1995-10-16 1998-08-18 Sony Corporation Encryption method, encryption apparatus, recording method, decoding method, decoding apparatus and recording medium
US5787491A (en) 1996-01-26 1998-07-28 Dell Usa Lp Fast method and apparatus for creating a partition on a hard disk drive of a computer system and installing software into the new partition
US5974474A (en) * 1996-03-15 1999-10-26 Novell, Inc. System for automatic hardware identification and configuration where instance values are unique within the computer system and resource requirement conflicts are resolved by modifying resource settings
US5822582A (en) 1996-07-19 1998-10-13 Compaq Computer Corporation Boot drive selection and hibernation file detection
US5974517A (en) 1996-09-17 1999-10-26 Compaq Computer Corporation Method and system for mounting a system partition as a logical drive while an operating system is operational by modifying a partition table
US5937063A (en) 1996-09-30 1999-08-10 Intel Corporation Secure boot
JP3293760B2 (ja) 1997-05-27 2002-06-17 株式会社エヌイーシー情報システムズ 改ざん検知機能付きコンピュータシステム
US6298443B1 (en) 1998-04-24 2001-10-02 Dell Usa, L.P. Method and system for supplying a custom software image to a computer system
US6327652B1 (en) * 1998-10-26 2001-12-04 Microsoft Corporation Loading and identifying a digital rights management operating system
US6161178A (en) 1998-12-07 2000-12-12 International Business Machine Corporation Data processing system and method for specification of one of a plurality of password requirements for each boot device
US6263431B1 (en) * 1998-12-31 2001-07-17 Intle Corporation Operating system bootstrap security mechanism
CA2414251A1 (en) * 2000-05-19 2002-03-14 Self Repairing Computers, Inc. A computer with switchable components
JP2002108484A (ja) 2000-09-27 2002-04-10 I-O Data Device Inc 外部記憶装置およびコントローラ
US7117376B2 (en) * 2000-12-28 2006-10-03 Intel Corporation Platform and method of creating a secure boot that enforces proper user authentication and enforces hardware configurations
JP2002271254A (ja) 2001-03-12 2002-09-20 Nec Corp 適応アンテナ装置及びその制御方法
JP2002351569A (ja) * 2001-03-21 2002-12-06 Toshiba Corp ソフトウェアのライセンス管理方法、ソフトウェアのライセンス管理システムおよび記憶媒体
JP2003005859A (ja) 2001-04-16 2003-01-08 Yuichi Sumiya プログラムやデータの管理方法とコンピュータ
US6754895B1 (en) 2001-04-26 2004-06-22 Palm Source, Inc. Method and system for automatic firmware updates in a portable hand-held device
US7814532B2 (en) 2001-05-02 2010-10-12 Lenovo (Singapore) Pte. Ltd. Data processing system and method for password protecting a boot device
US6832317B1 (en) 2001-05-10 2004-12-14 Advanced Micro Devices, Inc. Personal computer security mechanism
US20030063896A1 (en) 2001-09-28 2003-04-03 Gonzalez Tovar Victor Manuel System utility interface for software upgrades and system diagnostics in automotive or portable DVD players
US6925557B2 (en) 2001-10-26 2005-08-02 International Business Machines Corporation Method and system for a clean system booting process
US7100036B2 (en) * 2001-10-30 2006-08-29 Hewlett-Packard Development Company, L.P. System and method for securing a computer
US20030084307A1 (en) * 2001-10-30 2003-05-01 Schwartz Jeffrey D. Secure boot device selection method and system
US7536598B2 (en) * 2001-11-19 2009-05-19 Vir2Us, Inc. Computer system capable of supporting a plurality of independent computing environments
JP3869716B2 (ja) * 2001-12-18 2007-01-17 株式会社日立製作所 ソフトウェアライセンス管理機構を備える計算機
JPWO2003060679A1 (ja) 2001-12-27 2005-05-19 富士通株式会社 情報処理装置および記憶装置
JP2003202929A (ja) * 2002-01-08 2003-07-18 Ntt Docomo Inc 配信方法および配信システム
JP4137468B2 (ja) * 2002-02-27 2008-08-20 富士通株式会社 プログラム使用認証方法
JP3863447B2 (ja) * 2002-03-08 2006-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 認証システム、ファームウェア装置、電気機器、及び認証方法
JP2003345654A (ja) 2002-05-23 2003-12-05 Hitachi Ltd データ保護システム
JP2004046327A (ja) 2002-07-09 2004-02-12 Sony Corp データ記録媒体、プログラム起動方法およびプログラム
US20040088697A1 (en) * 2002-10-31 2004-05-06 Schwartz Jeffrey D. Software loading system and method
US20040172526A1 (en) * 2003-02-27 2004-09-02 Tann Johnathan P. Universal loader for portable electronic devices
US20050132357A1 (en) 2003-12-16 2005-06-16 Microsoft Corporation Ensuring that a software update may be installed or run only on a specific device or class of devices
US7712135B2 (en) 2004-08-05 2010-05-04 Savant Protection, Inc. Pre-emptive anti-virus protection of computing systems

Also Published As

Publication number Publication date
WO2007005363A1 (en) 2007-01-11
US8554686B2 (en) 2013-10-08
US20070006320A1 (en) 2007-01-04
JP2009500728A (ja) 2009-01-08
KR101280048B1 (ko) 2013-07-30
TW200711432A (en) 2007-03-16
TWI420879B (zh) 2013-12-21
CN101213557A (zh) 2008-07-02
DE112006001744T5 (de) 2008-05-08
CN101213557B (zh) 2010-12-08
GB0800920D0 (en) 2008-02-27
KR20080028986A (ko) 2008-04-02
GB2442172A (en) 2008-03-26
GB2442172B (en) 2010-02-24

Similar Documents

Publication Publication Date Title
JP5276438B2 (ja) オペレーティングシステムおよびその他のソフトウェアのインストールを制限するハッカー対策プロテクト
US7636780B2 (en) Verified computing environment for personal internet communicator
KR100713128B1 (ko) 바이러스 방역 장치 및 시스템
KR101120825B1 (ko) 소프트웨어 업데이트가 특정 디바이스 또는 특정 클래스의디바이스들 상에서만 설치 또는 실행될 수 있을 것을보장하는 방법 및 시스템
JP4651947B2 (ja) 時間および重みに基づく柔軟で耐性のあるハードウエアidを提供するシステムおよび方法
US6915420B2 (en) Method for creating and protecting a back-up operating system within existing storage that is not hidden during operation
US7788701B1 (en) Content transfer restriction system for personal internet communicator
EP2641175B1 (en) Networked recovery system
US20140115316A1 (en) Boot loading of secure operating system from external device
US7210013B2 (en) Data protection for computer system
JP2009509265A (ja) パーソナルインターネットコミュニケータ用のハードドライブのためのブート性能最適化
TW201145168A (en) Approaches for installing software using BIOS
US20070016693A1 (en) Decompression technique for generating software image
US20080172556A1 (en) Information processing apparatus and program
US20050081198A1 (en) System and method for limiting software installation on different computers and associated computer-readable storage media
US7991850B2 (en) Resilient system partition for personal internet communicator
EP2329422B1 (en) Method of executing virtualized application able to run in virtualized environment
US7694280B2 (en) Systems and methods for controlling program installation on a computing device
US20080077420A1 (en) System and Method for Securely Updating Remaining Time or Subscription Data for a Rental Computer
US8185729B2 (en) Method of converting personal computers into thin client computers
WO2007098642A1 (en) MECHANlSM FOR ACCESS CONTROL OF COMPUTING SYSTEM IN PRE-OS STAGE
CN111158771B (zh) 处理方法、装置及计算机设备
JP5337675B2 (ja) 端末管理システム及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090604

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100421

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20100902

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120801

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121022

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121029

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130417

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130517

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5276438

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250