JP4433401B2 - 情報処理システム、プログラム、及び情報処理方法 - Google Patents

情報処理システム、プログラム、及び情報処理方法 Download PDF

Info

Publication number
JP4433401B2
JP4433401B2 JP2004367548A JP2004367548A JP4433401B2 JP 4433401 B2 JP4433401 B2 JP 4433401B2 JP 2004367548 A JP2004367548 A JP 2004367548A JP 2004367548 A JP2004367548 A JP 2004367548A JP 4433401 B2 JP4433401 B2 JP 4433401B2
Authority
JP
Japan
Prior art keywords
image
virtual
information processing
area
boot
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
JP2004367548A
Other languages
English (en)
Other versions
JP2006172376A (ja
Inventor
誠一 河野
ハサン ハジ
享 下遠野
正名 村瀬
Original Assignee
レノボ シンガポール プライヴェート リミテッド
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 レノボ シンガポール プライヴェート リミテッド filed Critical レノボ シンガポール プライヴェート リミテッド
Priority to JP2004367548A priority Critical patent/JP4433401B2/ja
Priority to US11/312,001 priority patent/US7937575B2/en
Publication of JP2006172376A publication Critical patent/JP2006172376A/ja
Application granted granted Critical
Publication of JP4433401B2 publication Critical patent/JP4433401B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F21/575Secure boot

Description

本発明は、システムイメージをロードし、これが真正であることの検証を行ってから、該検証済みのシステムイメージにおけるブートストラップコード及びこれによって起動されるOSを利用できるように、該ブートストラップコード及びOSが所定の実デバイスにアクセスするために使用するインタフェースに変更を加えて仮想デバイスを形成するようにした情報処理システム、プログラム、及び情報処理方法に関する。
近年、ネットワーク技術の発達により情報伝達の利便性が向上し、多くのサービスがネットワークを介して提供されるようになっている。これに伴い、個人情報をネットワーク上で伝達する必要が生じ、ネットワークプロトコルも含めたインフラストラクチャと同様に個々のパーソナルコンピュータでのセキュリティに関する要求が高まっている。
この要求に応えるためには、パーソナルコンピュータ上で稼動する、サービスプログラム等を含む広義のオペレーティングシステム(以下、「OS」という。)の信頼性が重要となる。しかし現実には、キーボード入力やディスプレイのフレームバッファをモニタリングするスパイウェア等のソフトウェアによるセキュリティへの脅威が存在している。
このような問題の解決のための業界の一つの動向として、TCG(Trusted Computing Group)に準拠したプラットフォームを用いる方法や(非特許文献1参照)、PXE(Preboot Execution Environment)規格におけるBIS(Boot Integrity Services)などの手法(非特許文献2)が提案されている。
なお、特許文献1には、応用プログラム又はユーザインタフェースと組み合わされたOSが据え付けられておらず、あるいは書込み可能な磁気媒体が存在しない場合でも、CD−ROM媒体や、ネットワークを経た媒体から応用プログラム又はユーザインタフェースをロードし、実行するようにしたコンピュータシステムが開示されている。
特開2000−207176号公報 "TCG Main Specification"バージョン1.1b、[online]、2002年2月22日、Trusted Computing Group、[平成16年12月14日検索]、インターネット<https://www.trustedcomputinggroup.org/home> "Boot Integrity Services Application Programming Interface"バージョン1.0、[online]、1998年12月28日、インテルコーポレイション、[平成16年12月14日検索]、インターネット<http://www.intel.com/labs/manage/wfm/wfmspecs.htm>
しかしながら、上述のTCGに準拠したプラットフォームやPXE規格におけるBISによれば、これらを実装することや、これらを実現するためのインフラストラクチャの構築は容易ではない。また、現存しているOSをそのままセキュアにブートさせる手法も存在しない。
つまり、TCGはシステムの動作そのものをセキュアに行うことができるようにするものではなく、動作し実行するまでのプロセスやモジュールを、後で確認することができる仕組みを提供するにすぎない。また、PXE規格のBISは、ネットワーク経由でダウンロードされるモジュールの認証プロセスのみを定義しており、実際のOSの動作自体をセキュアに行うことについては規定していない。
そこで、本発明の目的は、より簡便に、よりセキュアなコンピューティング環境を提供することができる情報処理技術を提供することにある。
上記目的を達成するため、本発明に係る情報処理システム及び情報処理方法は、システムを構成するための、ブート用のイメージを含むシステムイメージをロードする手段又は手順と、ロードされたシステムイメージが真正であることの検証を行う手段又は手順と、この検証手段又は検証手順により検証済みのブート用イメージにおけるブートストラップコード及びこれによって起動されるOSを利用できるように、該ブートストラップコード及びOSが所定の実デバイスにアクセスするために使用するインタフェースに変更を加えて仮想デバイスを形成する手段又は手順とを備える。また、本発明のプログラムは、これらの手段としてコンピュータを機能させ、又はこれらの手順をコンピュータに実行させるものである。
ここで、システムイメージとしては、たとえば、ブート用のイメージに加え、必要なアプリケーションプログラムのイメージを含むものが該当する。システムイメージのロードは、たとえば、CD−ROMドライブ、ネットワーク上のサーバ、ハードディスク、又はUSBメモリから行うことができる。ブートストラップコードとは、システムイメージのうちの、ブートシーケンスを開始するために最初に読み込まれるコードを意味する。OSとしては、たとえば、マイクロソフト社のWindows(Microsoft Corporationの米国及びその他の国における商標)PEやLinux(Linus Torvaldsの米国及びその他の国における商標)等の読み取り専用媒体(例えば,CD−ROMやDVD−ROMなど)から起動できるOSが該当する。実デバイスとしては、たとえば、後述の図1の実施形態におけるCD−ROMデバイス4や、図4の実施形態におけるネットワークデバイス5が該当する。また、インタフェースとしては、たとえば、図3において符号12で示されるINT13や、デバイスドライバ13が該当する。
ロード手段は、たとえば、後述の図1の実施形態におけるCPU1、CD−ROMドライブ4、及びシステムBIOS50によって、あるいは図4の実施形態におけるCPU1、ネットワークデバイス5、PXEサーバ6、システムBIOS50、及びPXEブートコード60によって構成することができる。システム検証手段は、たとえば、図1の実施形態におけるCPU1、デジタル署名21、システムBIOS50、公開鍵51、及びデジタル署名52によって、あるいは図2の実施形態におけるCPU1、ネットワークデバイス5、PXEサーバ6、デジタル署名21、システムBIOS50、公開鍵51、及びデジタル署名52、及びPXEブートコード60によって構成することができる。また、仮想デバイス形成手段は、たとえば、図1及び図2の実施形態におけるCPU1及びシステムBIOS50によって形成することができる。
この構成において、システムを構成するための、ブート用のイメージを含むシステムイメージを所定の記憶領域にロードした後、ロードされたシステムイメージが真正であることの検証を行うことができる。前記システムイメージが真正であった場合には、前記検証手段を使って検証済みの前記ブート用イメージにおけるブートストラップコード及びこれによって起動されるOSを利用できるように、該ブートストラップコード及びOSが所定の実デバイスにアクセスするために使用するインタフェースに変更を加えて仮想デバイスを形成する。
この後、ロードされたシステムイメージ中のブートストラップコードが起動されると、ブートストラップコードは前記実デバイスからブートを行おうとするが、そのためのアクセスは、前記仮想デバイス化により、システムイメージがロードされている記憶領域へのアクセスとなる。OSが前記実デバイスにアクセスしようとする場合にも、実際には、前記システムイメージがロードされている記憶領域へのアクセスとなる。したがって、真正であることが検証されたシステムイメージに基づいてブートが行われることになる。
ブートが完了した後も、前記仮想デバイス化により、OSによる前記実デバイスへのアクセスの試みは、前記システムイメージがロードされている記憶領域へのアクセスとされる。つまり、アプリケーションの実行のためのロードは、常に、真正であることが検証されたシステムイメージから行われることになる。これにより、セキュアなコンピューティング環境が実現されることになる。
本発明の好ましい態様においては、ロードされたシステムイメージが真正であることの検証は、該システムイメージに付随する電子署名を、対応する公開鍵で復号して得られるハッシュ値と、該システムイメージに所定のハッシュ関数を適用して得られるハッシュ値とが一致するか否かに基づいて行うことができる。
また、ロードされたシステムイメージが真性であることの検証はシステムBIOSによって行うことができる。この場合、システムBIOSについても、それが真正であることの検証を行うようにしてもよい。このBIOS自身が真正であることの検証は、情報処理システムに対し取り外すことができないように固定され、かつ書換えができない記憶手段に記憶されているプログラム及び公開鍵、並びに該公開鍵に対応し、システムBIOSに付随するデジタル署名に基づいて行うことができる。
また、システムイメージのロードは、ネットワーク上のサーバからのダウンロードにより行うようにしてもよい。この場合、ダウンロードされたシステムイメージ中のブートストラップコードに制御が移行する前に、該システムイメージが真正であることの検証が行われるようにすることができる。該ダウンロード及び制御移行は、たとえばPXE規格に準拠した方法で行われる。
ブートストラップコードへの制御移行前に検証を介在させるためには、システムが備えるアドレス監視機構とその制御機構を利用してブートストラップコードへの制御移行を監視し、制御移行が行われる前に、一時的に検証動作に制御を移行させるという方法を用いることができる。
本発明によれば、システムイメージをロードしてこれが真正であることの検証を行い、その後、該システムイメージにおけるブートストラップコード及びこれによって起動されるOSを利用できるように、これらが所定の実デバイスにアクセスするために使用するインタフェースに変更を加えて仮想デバイスを形成するようにしたため、容易に、セキュアなコンピューティング環境を実現することができる。
図1は本発明の一実施形態に係る情報処理システムの主要構成を示すブロック図である。このシステムは、同図に示すように、プログラムに基づいて演算を行い、データの流れを制御するCPU1、CPU1が実行中のプログラムや関連するデータを高速にアクセスできるように記憶するメインメモリ2、システムBIOS等を記憶しているROM3、及び、ブート用のCD−ROMからデータを読み込むことが可能なCD−ROMドライブ4を備える。
メインメモリ2はOSイメージを記憶する領域10、仮想CD−ROMイメージを記憶する領域20、及び作業用の領域(ワーキングメモリ)30を有する。領域10にはブート時に実行されるブートストラップコード11も記憶される。仮想CD−ROMイメージには、そのイメージに対し、所定のハッシュ関数を適用して求めたハッシュ値を、秘密鍵で暗号化して得たデジタル署名21が付随している。仮想CD−ROMイメージは、OSモジュール及びアプリケーションプログラムを含むシステムイメージで構成されている。
ROM3には電源オン時に最初に実行されるブートブロック40、及びシステムBIOS50が記憶されている。ブートブロック40は工場出荷時にのみ書込み可能となっており、以後、変更することはできない。つまりブートブロック40は、TCG(Trusted Computing Platform Association)の仕様に従ったCRTM(Core Root Trusted Measurement)に相当する。CD−ROMドライブ4には、前述の領域20にロードされる仮想CD−ROMイメージが記録されたCD−ROMを装着することができる。
システムBIOS50には、デジタル署名21を作成する際に用いた秘密鍵に対応する公開鍵51が付随している。システムBIOS50には、また、そのイメージに対し所定のハッシュ関数を適用して求めたハッシュ値を秘密鍵で暗号化して得たデジタル署名52が付随している。ブートブロック40には、デジタル署名52の作成に用いた秘密鍵に対応する公開鍵41が付随している。
図2はこのシステムにおけるブート処理を示すフローチャートである。システムの電源が投入されると、CPU1はまず、ステップ1において、ブートブロック40を実行し、システムBIOS50が真正であることの検証を行う。すなわちブートブロック40は、システムBIOS50に付随するデジタル署名52を公開鍵41で復号して得られたハッシュ値と、システムBIOS50に対し上述のハッシュ関数を適用して得られるハッシュ値とが一致するか否かを判定し、一致すると判定した場合には、システムBIOS50が真正であることの検証ができたこととする。
次に、ステップ3において、ブートブロック40は、システムBIOS50が真正であることの検証ができたか否かを判定する。検証ができなかったと判定した場合はブート処理を終了する。検証できたと判定した場合にはステップ4へ進み、システムBIOS50を起動する。システムBIOS50は、ステップ5において、CD−ROMドライブ4に装着されたCD−ROMに記録されている仮想CD−ROMイメージを、メインメモリ2の領域20にロードする。
システムBIOS50はさらにステップ6において、ロードした仮想CD−ROMイメージすなわちシステムイメージが真正であることの検証を行う。すなわち仮想CD−ROMイメージに付随するデジタル署名21を公開鍵51で復号して得られたハッシュ値と、仮想CD−ROMイメージに対し上述のハッシュ関数を適用して得られるハッシュ値とが一致するか否かの判定を行い、一致すると判定した場合には仮想CD−ROMイメージが真正であると判断する。これにより、仮想CD−ROMイメージに含まれるOS及びアプリケーションプログラムが真正なものであることの検証がなされたことになる。真正なOSとは、メモリ中にロードされ、動作することを許可された広義のOSモジュールすべての動作が保障された所定のセキュアなOSであり、改ざん等がなされていないものを意味する。
次にシステムBIOS50は、ステップ7において、システムイメージが真正であることの検証ができたか否かを判定する。検証できなかったと判定した場合はブート処理を終了する。検証できたと判定した場合にはステップ8へ進み、仮想CD−ROMドライブの作成を行う。すなわち、仮想CD−ROMイメージから最初に読み出されるブートストラップコード11や起動するOSが、インタフェースINT13やデバイスドライバを介してCD−ROMドライブ4にアクセスしようとすると、実際にはメインメモリ2の領域20をアクセスするように、INT13やデバイスドライバが呼び出すコードを設定する。これにより、CD−ROMドライブ4からブートを行うと同様の手順で、領域20からブートが行われることになる。
次に、ステップ9において、システムBIOS50は、ブートストラップコード11を領域10に読み出し、これに制御を移す。これにより、ステップ10において、OSのブートが行われることになる。すなわち、ブートストラップコード11は、領域20の仮想CD−ROMイメージに基づき、OSのブートを開始し、上記INT13による仮想CD−ROMドライブ経由でOSの起動に必要なファイルをメモリ2の領域10にロードしながら、OSの内部機能を次第に拡張していく。
その拡張途中のOS環境下で動作可能な仮想CD−ROMドライブの上記デバイスドライバが使用可能になると、ブートストラップコード11は、そのデバイスドライバを使用してOSの起動に必要なファイルを領域10にロードする。これによりブートストラップコード11は、OSのデバイスドライバを利用する環境においても、CD−ROMドライブ4を介してOSの起動を行っているのと同様の手順で、領域20の仮想CD−ROMイメージに基づき、ブートストラップを継続し、ブート処理を完了する。
図3はブートストラップコード11が、領域20上の仮想CD−ROMイメージをアクセスする様子を示すブロック図である。同図に示すように、ブートストラップコード11は、仮想CD−ROMイメージに対し、まず、符号12で示されるBIOSのディスクI/OルーチンINT13によってアクセスし、ブートが進行して仮想CD−ROMドライブのデバイスドライバ13が使用可能になると、このデバイスドライバ13を介してアクセスする。
本実施形態によれば、システムイメージを領域20にロードしてそれが真正であることの検証を行い、領域20を仮想デバイス化してブートストラップコード及びこれによって起動されるOSに提供するようにしたため、容易に、セキュアなコンピューティング環境を実現することができる。
図4は本発明の別の実施形態に係る情報処理システムの主要構成を示すブロック図である。このシステムでは、同図に示すように、図1のシステムにおけるCD−ROMドライブ4の代わりに、ネットワークデバイス5を設け、仮想CD−ROMイメージを、ネットワークを経て、PXEサーバ6からダウンロードするようにしている。また、これを実現するためのPXEブートコード60をROM3内に備える。他の点については、図1の形態の場合と同様である。
PXEサーバ6はPXE(プリブート実行環境)規格によるネットワークブート(以下、「PXEネットワークブート」という。)のサービスを提供するものであり、領域20にロードされることになる仮想CD−ROMイメージを記憶している。ネットワークデバイス5は、システムをPEXサーバ6に接続するための、PXE規格に準拠したネットワークインタフェースカード等を備える。PXEブートコード60はPXE規格に準拠したものであり、ネットワークカードのベンダによりROMイメージとして提供されるものである。
PXEネットワークブートはネットワーク上の所定のノード、すなわちPXEサーバからネットワークブートストラップ用のコードブロック及びOSシステムイメージ本体を順次ダウンロードしてメモリに展開し、そのダウンロードしたコードに実行権を渡してブートを行う手法である。通常のPXEネットワークブートのプロセスでは、BIOSからPXEブートコードに制御が移行すると、その後、PXEブートコードがOSのブートへ移行するための連係処理を行うようになっている。このためBIOSは、OSに制御が移行する前に、ダウンロードされたコードが真正であることの検証を行うことができない。
そこで本実施形態では、システムBIOS50は、PXEブートコードに制御が移行する前に、デバッグレジスタを用いたメモリアクセストラップ機能を使用し、実行権を一時的に取得するようにしている。すなわち、PXEブートコードが、ダウンロードしたコードに制御を移す際に用いられる標準化されたエントリアドレス、つまり固定の物理アドレス7C00:0000hがデバッグレジスタのアドレスとして設定され、該アドレスの実行がモニタされる。
ただし、デバッグレジスタの設定アドレスを操作されると、その実行モニタは無効になってしまう。つまり、外部ネットワークデバイスベンダーから提供されるPXEブートコード自身がそのデバッグレジスタを予想外に利用して、本発明が意図する物理アドレス7C00:0000hの実行監視機能が阻害される可能性がある。そのため、システムBIOS50が仮想8086モードを前提とした仮想8086モニタとなり、システムBIOS50以外のコードによるデバッグレジスタの利用を制限する。仮想8086モードはインテル社の80386以降の8086プロセッサファミリで提供される保護モードのひとつであり、同モード下で動作するコードが特定の動作を行うと、当該モードを設定した仮想8086モニタ内の例外処理ルーチンを呼び出すプロセッサ例外(トラップ)が発生して、それら特定の動作を抑制・監視できるプロセッサ動作環境である。この動作環境下では、デバッグレジスタをPXEブートコードがアクセスしようとするとプロセッサ例外が発生し、そのアクセスを無効化することができるため、システムBIOS50は前記固定物理アドレスにあるコードの実行が開始されることを確実に捕捉して、ダウンロードコードに対する所定の検証処理を追加実行することができる。
図5はこのトラップ機能による実行権取得の様子を示す。同図(a)に示すように、システムBIOS50は、仮想8086モード54を構築してからPXEブートコード60を呼び出す。同図においてシステムBIOS50を囲むように仮想8086モニタ54が位置しているが、当該モニタの実体はシステムBIOS50であり、専用のコードが新たに何れかの場所に展開されるわけではなく、システムBIOS50が同モニタとして動作している様子を示している。そしてシステムイメージすなわち仮想CD−ROMイメージのダウンロード後に、同図(b)に示すように、PXEブートコード60が、ダウンロードされたコードのエントリアドレス(7C00:0000h)に制御を移行しようとすると、デバッグレジスタによるトラップ機能に基づくプロセッサ例外(割込み処理と同等)が発生し、システムBIOS50に制御が移行する。この後、システムBIOS50は仮想8086モードを終了し、同図(c)に示されるように、仮想CD−ROMドライブ56を作成する。さらに、ダウンロードしたシステムイメージが真正であることの検証が行われると、OS57のブートが行われることになる。
図6及び図7はこのシステムにおけるブート処理を示すフローチャートである。ステップ81〜84における処理内容は、図2のステップ1〜4の処理内容と同様である。ステップ84においてシステムBIOSが起動すると、システムBIOSは、上記エントリアドレスをデバッグレジスタに設定し、トラップ機能による実行権の取得を行うことができるようにしておく。さらにシステムBIOSは、ステップ86において、仮想8086モードでPXEブートコードを起動する。
PXEブートコードは、ステップ87において、PXEの仕様に従い、ネットワークブートプログラム(以下、「NBP」という。)をPXEサーバ6からネットワーク経由でメインメモリ2にロードする。さらにステップ88において、PXEブートコードからNBPに制御が移行する直前で、システムBIOSは前記トラップ機能によって再び実行権を獲得する。その後、ステップ89において、システムBIOSはメインメモリ2中にロードされたNBPが真正であることの検証を行う。すなわち、NBPに付随するデジタル署名をBIOSに付随する該デジタル署名に対応した公開鍵51で復号して得られたハッシュ値が、NBPに所定のハッシュ関数を適用して得たハッシュ値と一致するか否かを判定する。一致した場合には、NBPが真正であるものと判断する。
次にステップ90において、NBPが真正であることを検証できたか否かを判定する。検証できなかったと判定した場合には、ブート処理を終了する。検証できたと判定した場合には、ステップ91へ進み、システムBIOSは仮想CD−ROMドライブの作成を行い、その後、ステップ92において、NBPに制御を渡す。なお、仮想CD−ROMドライブの作成はNBPがシステムイメージに制御を渡す直前までに完了すればよいので、NBPからシステムイメージに制御が移行する直前で、NBPが仮想CD−ROMドライブを作成してもよい。
次に、ステップ93において、NBPはシステムイメージ全体をPXEサーバ6からロードする。さらにNBPは、ステップ94において、システムイメージ全体が真正であることの検証を行う。すなわちNBPは、システムイメージに付随するデジタル署名を該デジタル署名に対応する公開鍵51で復号して得られるハッシュ値と、システムイメージ全体に対して所定のハッシュ関数を適用して得たハッシュ値とが一致する場合は、システムイメージ全体が真正であることが検証されたものと判断する。
なお、NBPがシステムイメージをロードするとは、図1でも表されているように、NBPがシステムイメージを、前記仮想CD−ROMドライブが保持すべき仮想CD−ROMイメージとしてメインメモリ中で適宜配置することを意味する。
さらに、NBPは、ステップ95において、システムイメージ全体が真正であることの検証ができたか否かを判定する。検証できなかったと判定した場合にはブート処理を終了し、検証できたと判定した場合には、ステップ96へ進む。ステップ96及び97の処理は、図2におけるステップ9及び10の処理と同様である。
本実施形態によれば、ネットワークブートを行う場合にも、システムイメージを領域20にロードしてそれが真正であることの検証を行い、領域20を仮想デバイス化してブートストラップコード及びこれによって起動されるOSに提供するようにしたため、容易に、セキュアなコンピューティング環境を実現することができる。
これに伴い、従来、BIOSのみで制御していたパスワードをネットワーク機能、NLS(National language Support)、GUI(Grafical User Interface)等を有するOSおよびアプリケーションにより扱うことが可能となり、パスワードのバックアップ、配布、セキュリティに関するポリシの設定などのサービスを、セキュリティレベルを落とすことなく、情報システムに対して提供することができる。
また、TCGに準拠したTPM(Trusted Platform Module)をイネーブル状態に設定するために、現状では、Windows(Microsoft Corporationの米国及びその他の国における商標)のOS上で、スーパーバイザパスワードの入力を行う必要があり、実際には、エンドユーザに管理者権限のパスワードを教えるか、アドミニストレータ自身がエンドユーザのマシン上でイネーブルにする操作を行うようにしている。これに対し、本実施形態の手法を用いれば、ネットワーク経由でエンドユーザの認証を行うことが可能となり、管理者のインタラクションなしでTPMチップをイネーブル状態に設定することが可能となる。
さらに、システムソフトウェアのアップデートや、OS用のパッチや修正モジュールの配布などをセキュアに行うことを可能にすることができる。
なお、本発明は上述の実施形態に限定されることなく、適宜変形して実施することができる。たとえば、上述においては、システムイメージの領域20へのロードを、CD−ROMドライブ4やネットワークデバイス5から行うようにしているが、この代わりに、USBメモリや、ハードディスクから行うようにしてもよい。
本発明の一実施形態に係る情報処理システムの主要構成を示すブロック図である。 図1のシステムにおけるブート処理を示すフローチャートである。 ブートストラップコードが仮想CD−ROMイメージをアクセスする様子を示すブロック図である。 本発明の別の実施形態に係る情報処理システムの主要構成を示すブロック図である。 図1のシステムにおけるトラップ機能による実行権取得の様子を示す図である。 図4のシステムにおけるブート処理を示すフローチャートである。 図6のフローチャートの続きを示す図である。
符号の説明
1:CPU、2:メインメモリ、3:ROM、4:CD−ROMドライブ、5:ネットワークデバイス、6:PXEサーバ、10:記憶領域、11:ブートストラップコード、12:BIOSのINT13、13:デバイスドライバ、20:記憶領域、21:デジタル署名、30:記憶領域、40:ブートブロック、41:公開鍵、50:システムBIOS、51:公開鍵、52:デジタル署名、54:仮想8086モード、56:仮想CD−ROMドライバ、57:OS、60:PXEブートコード。

Claims (6)

  1. システムイメージを格納する記録媒体に対してアクセスすることが可能な情報処理システムであって、
    OSイメージを記憶するOS領域と仮想イメージを記憶する仮想領域を含むメインメモリと、
    前記仮想領域に前記システムイメージをロードし、ロードされた前記システムイメージが真正であるか否かを検証し、検証済みの前記システムイメージに含まれるブートストラップコードおよびこれによって起動されるOSが前記記録媒体にアクセスするために使用するインタフェースに変更を加えて前記仮想領域にアクセスできるように仮想デバイスを形成するBIOSと、
    前記ブートストラップコードが前記仮想デバイスにアクセスして前記システムイメージを前記OS領域にロードする情報処理システム。
  2. 前記BIOSが真正であるか否かを検証することが可能で電源オン時に最初に実行され出荷後に変更することができないブートブロックを有する請求項1に記載の情報処理システム。
  3. 前記記録媒体が、CD−ROM、ハードディスク、およびUSBメモリからなるグループから選択されたいずれか1つである請求項1または請求項2に記載の情報処理システム。
  4. システムイメージを格納するPXEサーバにアクセスすることが可能な情報処理システムであって、
    OSイメージを記憶するOS領域と仮想イメージを記憶する仮想領域を含むメインメモリと、
    仮想8086モードが構築されてから起動して前記システムイメージを前記仮想領域にロードするPXEブートコードと、
    前記システムイメージに含まれるブートストラップコードに制御が移行する前にメモリアクセストラップ機能により実行権を獲得し、前記ロードされたシステムイメージが真正であるか否かを検証し、検証済みの前記システムイメージに含まれるブートストラップコードおよびこれによって起動されるOSが前記PXEサーバにアクセスするために使用するインタフェースに変更を加えて前記仮想領域にアクセスできるように仮想デバイスを形成するBIOSとを有し、
    前記ブートストラップコードが前記仮想デバイスにアクセスして前記システムイメージを前記OS領域にロードする情報処理システム。
  5. 前記BIOSが真正であるか否かを検証することが可能で電源オン時に最初に実行され出荷後に変更することができないブートブロックを有する請求項4に記載の情報処理システム。
  6. 前記メモリアクセストラップ機能が、前記PXEブートコードがデバッグレジスタにアクセスしたときに発生するプロセッサ例外を利用する請求項4または請求項5に記載の情報処理システム。
JP2004367548A 2004-12-20 2004-12-20 情報処理システム、プログラム、及び情報処理方法 Active JP4433401B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004367548A JP4433401B2 (ja) 2004-12-20 2004-12-20 情報処理システム、プログラム、及び情報処理方法
US11/312,001 US7937575B2 (en) 2004-12-20 2005-12-19 Information processing system, program product, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004367548A JP4433401B2 (ja) 2004-12-20 2004-12-20 情報処理システム、プログラム、及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2006172376A JP2006172376A (ja) 2006-06-29
JP4433401B2 true JP4433401B2 (ja) 2010-03-17

Family

ID=36597565

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004367548A Active JP4433401B2 (ja) 2004-12-20 2004-12-20 情報処理システム、プログラム、及び情報処理方法

Country Status (2)

Country Link
US (1) US7937575B2 (ja)
JP (1) JP4433401B2 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6993650B2 (en) * 2001-10-31 2006-01-31 International Business Machines Corporation Authentications integrated into a boot code image
US20070300054A1 (en) * 2006-06-21 2007-12-27 Shi-Wu Lo Universal BSP tool for porting on embedded systems and an application thereof
JP5054768B2 (ja) * 2006-06-21 2012-10-24 ヴィーブ−システムズ アクチエンゲゼルシャフト 侵入検出のための方法と装置
EP2044546B1 (en) * 2006-07-18 2012-12-26 Certicom Corp. System and method for authenticating a gaming device
WO2008023220A1 (en) * 2006-08-23 2008-02-28 Chan Kam-Fu Running operating system on dynamic virtual memory
JP4768682B2 (ja) * 2007-07-19 2011-09-07 株式会社日立ソリューションズ データの二次流出防止方法及びシステム
US20090103404A1 (en) * 2007-10-22 2009-04-23 Chai-Chang Chiu Optic disk drive power management method for computer system
DE102008021567B4 (de) * 2008-04-30 2018-03-22 Globalfoundries Inc. Computersystem mit sicherem Hochlaufmechanismus auf der Grundlage einer Verschlüsselung mit symmetrischem Schlüssel
US8543799B2 (en) 2008-05-02 2013-09-24 Microsoft Corporation Client authentication during network boot
RU2481616C2 (ru) * 2008-06-16 2013-05-10 Нокиа Сименс Нетуоркс Ой Способ и устройство для загрузки программного обеспечения
DE112008003910T5 (de) * 2008-06-20 2011-06-09 Lenovo (Singapore) Pte. Ltd. Plattenloser Client unter Verwendung eines Hypervisors
US8443181B2 (en) 2008-09-30 2013-05-14 Qualcomm Incorporated Processor boot security device and methods thereof
EP2344950A4 (en) * 2008-10-08 2012-06-06 Hewlett Packard Development Co FIRMWARE STORAGE MEDIUM WITH ADJUSTED IMAGE
JP5223596B2 (ja) 2008-10-30 2013-06-26 富士通株式会社 仮想計算機システム及びその管理方法、管理プログラム並びに記録媒体、制御方法
US7877639B2 (en) * 2008-11-06 2011-01-25 Dell Products L.P. Systems and methods to provide failover support for booting embedded hypervisor from an internal non-volatile memory card
US8296579B2 (en) * 2009-11-06 2012-10-23 Hewlett-Packard Development Company, L.P. System and method for updating a basic input/output system (BIOS)
US8639923B2 (en) * 2010-05-28 2014-01-28 Dell Products, Lp System and method for component authentication of a secure client hosted virtualization in an information handling system
US8458490B2 (en) 2010-05-28 2013-06-04 Dell Products, Lp System and method for supporting full volume encryption devices in a client hosted virtualization system
US8527761B2 (en) 2010-05-28 2013-09-03 Dell Products, Lp System and method for fuse enablement of a secure client hosted virtualization in an information handling system
US8990584B2 (en) * 2010-05-28 2015-03-24 Dell Products, Lp System and method for supporting task oriented devices in a client hosted virtualization system
US8751781B2 (en) 2010-05-28 2014-06-10 Dell Products, Lp System and method for supporting secure subsystems in a client hosted virtualization system
WO2012038211A1 (en) 2010-09-22 2012-03-29 International Business Machines Corporation Attesting use of an interactive component during a boot process
US8869264B2 (en) 2010-10-01 2014-10-21 International Business Machines Corporation Attesting a component of a system during a boot process
EP2630580A4 (en) * 2010-10-19 2014-04-02 Hewlett Packard Development Co METHODS AND SYSTEMS FOR GENERATING AUTHORIZED VIRTUAL DEVICES
US20120131334A1 (en) 2010-11-18 2012-05-24 International Business Machines Corporation Method for Attesting a Plurality of Data Processing Systems
US9489232B2 (en) 2010-11-18 2016-11-08 International Business Machines Corporation Techniques for attesting data processing systems
US8949586B2 (en) * 2011-10-06 2015-02-03 Cisco Technology, Inc. System and method for authenticating computer system boot instructions during booting by using a public key associated with a processor and a monitoring device
US8843650B2 (en) * 2012-01-09 2014-09-23 Fujitsu Limited Trusted network booting system and method
JP5689429B2 (ja) 2012-02-27 2015-03-25 株式会社日立製作所 認証装置、および、認証方法
CN103324874A (zh) * 2012-03-23 2013-09-25 联想(北京)有限公司 一种验证方法及一种电子设备
US9760661B2 (en) 2012-04-26 2017-09-12 Hewlett-Packard Development Company, L.P. Providing virtual optical disk drive
GB2508893A (en) * 2012-12-14 2014-06-18 Ibm Trusted boot device, which will not allow a computer to boot, if the computer firmware is not trusted by the boot device
US9197662B2 (en) * 2014-02-26 2015-11-24 Symantec Corporation Systems and methods for optimizing scans of pre-installed applications
US9672361B2 (en) 2014-04-30 2017-06-06 Ncr Corporation Self-service terminal (SST) secure boot
CN104035806A (zh) * 2014-06-30 2014-09-10 普联技术有限公司 一种基于多重镜像的系统启动方法及装置
US9740866B2 (en) * 2015-06-10 2017-08-22 The Boeing Company Automatic measuring boot process using an automatic measuring processor coupled to a memory
KR101709116B1 (ko) 2015-10-01 2017-02-22 한국전자통신연구원 가상 머신 부팅 장치 및 방법
CN105975194A (zh) * 2016-05-05 2016-09-28 青岛海信移动通信技术股份有限公司 一种恢复出厂设置的方法及装置
US11138343B2 (en) * 2019-01-18 2021-10-05 International Business Machines Corporation Multiple signatures in metadata for the same data record
JP7282616B2 (ja) * 2019-06-27 2023-05-29 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6092147A (en) 1997-04-15 2000-07-18 Sun Microsystems, Inc. Virtual machine with securely distributed bytecode verification
JP3293760B2 (ja) 1997-05-27 2002-06-17 株式会社エヌイーシー情報システムズ 改ざん検知機能付きコンピュータシステム
US6279109B1 (en) 1999-01-07 2001-08-21 Dell U.S.A., L.P. Computing system and operating method for booting and running a graphical user interface (GUI) with r/w hard drive partition unavailable
US6715043B1 (en) 1999-03-19 2004-03-30 Phoenix Technologies Ltd. Method and system for providing memory-based device emulation
JP2001155420A (ja) 1999-11-25 2001-06-08 Tomcat Computer Kk Cdシステム
US7073064B1 (en) * 2000-03-31 2006-07-04 Hewlett-Packard Development Company, L.P. Method and apparatus to provide enhanced computer protection
US20030221094A1 (en) 2002-04-17 2003-11-27 Avery Pennarun Method and system for configuring a computer
US6993649B2 (en) * 2002-12-17 2006-01-31 John Alan Hensley Method of altering a computer operating system to boot and run from protected media
US7290258B2 (en) 2003-06-25 2007-10-30 Microsoft Corporation Managing multiple devices on which operating systems can be automatically deployed
US20050138393A1 (en) * 2003-12-22 2005-06-23 Challener David C. Determining user security level using trusted hardware device
US20050138409A1 (en) * 2003-12-22 2005-06-23 Tayib Sheriff Securing an electronic device

Also Published As

Publication number Publication date
US20060136708A1 (en) 2006-06-22
JP2006172376A (ja) 2006-06-29
US7937575B2 (en) 2011-05-03

Similar Documents

Publication Publication Date Title
JP4433401B2 (ja) 情報処理システム、プログラム、及び情報処理方法
US10142104B2 (en) Securely recovering a computing device
US8909940B2 (en) Extensible pre-boot authentication
JP6054908B2 (ja) 変数セットを修復する方法、コンピュータ・プログラムおよびコンピュータ
JP4971466B2 (ja) コンピューティング・デバイスの安全なブート
US8201239B2 (en) Extensible pre-boot authentication
EP2681689B1 (en) Protecting operating system configuration values
US10216936B2 (en) Method of preventing computer malfunction, computer program, and computer
US7921286B2 (en) Computer initialization for secure kernel
US8826405B2 (en) Trusting an unverified code image in a computing device
US9851981B2 (en) Booting a computer from a user trusted device with an operating system loader stored thereon
JP5465738B2 (ja) システム・ファームウェアの更新方法およびコンピュータ
RU2623887C2 (ru) Способ установки обновления модуля полнодискового шифрования
JP2019133220A (ja) 完全性検証装置、完全性検証システム、完全性検証方法、及び、完全性検証プログラム
US20230359741A1 (en) Trusted boot method and apparatus, electronic device, and readable storage medium

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090731

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20090917

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: 20091208

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20091217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091217

R150 Certificate of patent or registration of utility model

Ref document number: 4433401

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130108

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130108

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130108

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140108

Year of fee payment: 4

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

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