JP5355351B2 - コンピュータ - Google Patents

コンピュータ Download PDF

Info

Publication number
JP5355351B2
JP5355351B2 JP2009254921A JP2009254921A JP5355351B2 JP 5355351 B2 JP5355351 B2 JP 5355351B2 JP 2009254921 A JP2009254921 A JP 2009254921A JP 2009254921 A JP2009254921 A JP 2009254921A JP 5355351 B2 JP5355351 B2 JP 5355351B2
Authority
JP
Japan
Prior art keywords
program
hard disk
area
authentication
mbr
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.)
Expired - Fee Related
Application number
JP2009254921A
Other languages
English (en)
Other versions
JP2011100329A (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.)
Hitachi Solutions Ltd
Original Assignee
Hitachi Solutions Ltd
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 Hitachi Solutions Ltd filed Critical Hitachi Solutions Ltd
Priority to JP2009254921A priority Critical patent/JP5355351B2/ja
Publication of JP2011100329A publication Critical patent/JP2011100329A/ja
Application granted granted Critical
Publication of JP5355351B2 publication Critical patent/JP5355351B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、Trusted Computing Group (TCG)のStorage WGの標準に基づいたハードディスクを搭載したパーソナルコンピュータ(以下、PC)のウィルス検知と利用制限に関するものである。
コンピュータウィルスの一種にMaster Boot Recode (MBR)に感染するタイプがある。
MBRはコンピュータの起動時に処理されるプログラムであり、OSも既存のウィルス対策プログラムも起動しておらず、一般にウィルス検知が困難である。解決方法の1つとして、特許文献1にあるようなウィルス駆除方法がある。
一方、PCでのセキュリティを実現するためのハードウェアとして、セキュリティ関連の業界標準を定めるTrusted Computing Group (TCG)が定める非特許文献1に挙げるような暗号化を行うセキュリティチップTrusted Platform Module (TPM)の業界標準や非特許文献2にあげるような暗号化ディスクの業界標準がある。
特開平11-085503号公報
Trusted Computing Group, TCG Specification, Architecture Overview, Specification, Revision 1.4, 2nd August 2007,p6-p19
Trusted Computing Group, TCG Storage Architecture, Core Specification, Specification Version 1.0, Revision 0.9, May 24, 2007, p71-p77
上記特許文献1に開示された技術にあってはゲートやROMなどを含む特別なハードウェアを用いる必要があり、導入やコストに課題が残る。またウィルス検知の方法として、ディスク装置にあるウィルスチェックプログラムを利用するとあるが、ウィルスの攻撃方法によっては、本プログラムを破壊したり起動を妨害したりすることも考えられるので、必ずしも有効とはいえない。
また、上記非特許文献1や2に開示された技術にあっては、暗号化ディスクを用いることや特別なハードウェアであるセキュリティチップを用いてプログラムの処理を引き継ぐことが記載されているが、MBRに感染したウィルスをどのようにして検出するかは具体的に記載されていない。
本発明の目的は、OS(オペレーティングシステム)が起動する前にMBRなどのシステム領域に感染しているウィルスを検出することができるコンピュータを提供することにある。
また、ウィルスの検出と共に予め設定した環境条件以外の環境でのコンピュータの使用を制限(あるいは禁止)することができるコンピュータを提供することにある。
上記目的を達成するために、本発明に係るコンピュータは、TCGが標準化しているTPMと呼ばれるセキュリティチップや暗号化ハードディスクを利用し、特別なハードウェアなしにMBRやOS、メモリなどのシステム領域に感染するウィルスをPC起動時に検知する。
具体的には、暗号化データを内部にある鍵で復号し、その復号したデータに含まれる条件値と内部レジスタの値が一致したときに復号結果を出力する暗号ハードウェアモジュールと、アクセスするプログラムが正規のプログラムと認証した後にアクセス可能になる第1の領域と認証なしにアクセス可能な第2の領域とに分かれたハードディスクを搭載したコンピュータにおいて、
コンピュータ起動時のプログラムが、上記ハードディスクの認証なしにアクセス可能な第2の領域のハッシュ値を計算し、前記暗号ハードウェアモジュールの内部レジスタに格納し、第2の領域のプログラムをメモリにロードして処理を引き渡し、処理を引き渡された第2の領域にあったプログラムがハードディスクに対して認証処理を行い、正規プログラムであるという認証を得た後に前記第1の領域にアクセスし、当該第1の領域にあるプログラムをメモリにロードすることを特徴とする。
また、前記第2の領域にあったプログラムが、プログラム中に含まれるパスワードをハードディスクに送ることによってハードディスクに対する認証処理を行うことを特徴とする。
また、前記第2の領域にあったプログラムが、当該プログラム中に含まれる暗号データを前記暗号ハードウェアモジュールに送り、当該暗号ハードウェアモジュールが内部にある鍵で前記暗号データを復号し、復号した条件値と内部レジスタに格納されている第2の領域のハッシュ値と比較し、一致した場合に復号データを出力し、その復号データを前記第2の領域にあったプログラムが受取り、復号データ中に含まれているパスワードをハードディスクに送ることによってハードディスクに対する認証処理を行うことを特徴とする。
また、前記第2の領域にあったプログラムが、当該プログラム中に含まれる暗号データを前記暗号ハードウェアモジュールに送り、当該暗号ハードウェアモジュールが内部にある鍵で前記暗号データを復号し、復号した条件値と内部レジスタに格納されている第2の領域のハッシュ値とを比較し、一致した場合に復号データに含まれる鍵を内部に保管し、この鍵のハンドルを出力し、前記第2の領域にあったプログラムが前記ハンドルを受け取り、このハンドルを元に暗号ハードウェアモジュール内にある鍵を使ってハードディスクに対する認証処理を行うことを特徴とする。
また、前記第2の領域にあったプログラムが、ハードディスクに対する認証後に前記第1の領域にあるプログラムのハッシュ値を計算し、前記暗号ハードウェアモジュールの内部レジスタに格納した後、当該該プログラムをメモリにロードして処理を引き渡し、処理を引き渡されたプログラムが、引き続き処理を行うことを特徴とする。
また、前記処理を引き渡されたプログラムが、前記第1の領域のウィルス検査を行うことを特徴とする。
また、前記処理を引き渡されたプログラムが、起動監視サーバに起動可否を問い合わせ、サーバにアクセスできない場合やアクセスできても否認された場合には、エラーを表示し、その後の処理を停止させることを特徴とする。
PC起動後、OSが起動される前に、BIOSによってハードディスクに対する認証なしにアクセス可能な領域であるShadow MBRにあるプログラムが起動され、本プログラムが改ざんされていないと検査した後に、ハードディスクのウィルス検索を行うため、OS起動前にMBR等のシステム領域がウィルスに感染していたとしてもOS起動前に確実にこれを検出し対策を実行することができる。
また、ハードディスクに対する認証を行えば、特定のTPMでしか認証できないことになり、ハードディスクを別のPCに取り付けて起動しようとしても認証が失敗し、起動もできなくなり、ディスクにアクセスできない。
さらに、データを復号する際にTPMの内部レジスタに記録されたShadow MBRのハッシュ値が正しいか否か検査するために、改竄されたShadow MBRではハードディスクに対する認証ができず、PC起動ができない。
さらに、ウィルス検査とは別に、利用環境条件を設定し、予め設定された利用環境条件と一致しない場合には起動制限を加えることで、時刻や回数、位置などでPCの起動を制限することができる。
本発明の実施の形態を示す全体構成図である。 本発明によるPCの起動後の動作を説明する説明図である。 PC起動時のBIOSからMBRまでの処理を示すフローチャートである。 TPMでパスワードを復号してハードディスクへの認証する場合の処理を示すフローチャートである。 TPMの公開鍵暗号機能を利用してハードディスクへの認証する場合の処理を示すフローチャートである。 PC起動制限を示すフローチャートである。
以下、図示する実施の形態に基づいて本発明を詳細に説明する。
図1は、本発明を適用したPCの実施の形態を示す全体構成図である。
図1において、101は、PCのCPUである。102は、TPMである。通常、CPUと同じマザーボード上にあり、CPUやPCと一体と看做される。103は、メモリである。CPU101で実行されるプログラムは、メモリ103にロードされて、実行される。104は、BIOSのプログラムである。実体はROM上に記録されており、RAM(メモリ)103にロードされることなく、直接実行される。105は、ハードディスクである。本ハードディスクは非特許文献2に準拠しており、起動時にはShadow MBRを読み込むことしかできない。認証に成功すれば、Shadow MBRにアクセス可能なモードに移行したり、MBRを含むハードディスクにアクセス可能なモードに移行できたりする。
108はハードディスク105上の認証後の0番地にあるMBRである。通常MBRにはブートストラップコードやパーティションテーブルが保存されている。
109はハードディスク105上の認証前、起動直後の0番地にあるShadow MBRである。ここに本発明の中心となる処理プログラムが含まれている。
まず、実施の形態の動作を説明する前に、PCの起動、TPGが標準化しているTPM、Shadow MBRの概要を説明する。
PC起動の手順は、おおよそ以下の通りである。
電源がONになると、BIOS(Basic I/O system)がハードウェアをテスト、初期化し、MBRにあるプログラムをメモリ(RAM)にロードし、処理を引き継ぐ。処理を引き継いだプログラムはパーティションテーブルを探し、指定されたパーティションにあるブートセクタをメモリにロードし、処理を引き継ぐ。このブートセクタにあるプログラムはOSローダをロードし、処理を引き継ぐ。OSローダがOSをメモリにロードし、OSを起動する。
以上のように、PC起動時には、BIOS、MBRのプログラム、パーティションにあるプログラム、OSローダ、OSと、次々にプログラムがメモリにロードされ、制御が渡されていく。PC上のプログラムの信頼を確保するため、プログラムが次に制御を渡すプログラムのハッシュ値を計算、この結果をTPMにあるレジスタに記録して、制御を渡すように、TCGは規定している。この方法によれば、最初のBIOSにあるプログラムが信頼できれば、OSやアプリケーションも改竄のない信頼できるプログラムであることを確認できる。
非特許文献2に記載されているセキュアなハードディスクのShadow MBRについて説明する。
Shadow MBRでは、PC起動時の初期状態にあるハードディスクのMBRと従来の意味でのMBRが異なっている。従来までのセキュアなハードディスクないしは暗号化ハードディスクは、PC起動にパスワード入力が必要であった。すなわちPC起動時にハードディスクにアクセスする認証用のパスワードが必要であり、利用者が入力していた。ハードディスク自体は暗号化されており、ハードディスクドライブに対する認証に成功しなければ、MBRを含めてディスクにアクセスできなかった。
一方、利用者認証方法としては、パスワードのほかに指紋他の生体認証を使った方法や暗号トークンを用いた方法が普及し始めており、ハードディスクに対する認証にも同様の方法が求められるようになると予想される。しかしながら、パスワード認証と比較して、生体認証や暗号トークンを使った認証は、処理が複雑でプログラムサイズが大きい。PC起動概要に示したとおり、ハードディスクにアクセスする前の処理はBIOSが行っているが、BIOSは複雑で大きな処理を行うにはプログラムのサイズの制限がある。
TCGの新規格である非特許文献2では、PC起動時のハードディスクが初期状態にある場合には、従来のMBRの位置には、サイズの大きいShadow MBRがあり、ハードディスクへの認証に成功して初めて本来のMBRにアクセスできるようになる。Shadow MBRに生体認証や暗号トークンの認証プログラムを格納しておき、BIOSから呼び出されて認証処理を実行、認証に成功した後に、本来のMBRにアクセス可能になり、従来通りの起動が可能となる。
本発明は、上記の二つのTCGの技術を用いて、PC起動時に安全にウィルス検知を行う。すなわち、BIOSがShadow MBRのハッシュ値を計算し、TPMに格納し、Shadow MBR上のプログラムをメモリにロードして処理を渡す。Shadow MBRのプログラムはハードディスクへの認証処理を行い、本来のMBRにアクセス可能となった時点で、MBRを含めてウィルスの検索を行い、ウィルスが検知できなければ、従来どおりにMBRにあるプログラムをメモリにロード、処理を引き継ぐ。
Shadow MBRにあるプログラムがハードディスクに対して行う認証処理の方法は複数ある。
第1の認証方法は、単純にパスワードがプログラム中に含まれており、これをハードディスクに送って認証する方法である。ハードディスクは、パスワードが正しければ、正しいPCないしはPC上のプログラムがアクセスしていると判断、本来のMBRを含めハードディスクにアクセスできるモードに移行する。
第2の認証方法は、TPMのTPM_Unsealコマンドを使って暗号化されているパスワードをTPMで復号して、このパスワードを用いる方法である。この復号の際には、BIOSが計算し、TPMに格納したShadow MBRのハッシュ値が正しいかどうかをTPMが検査するため、改竄されたShadow MBRでは復号できず、引いてはハードディスに対する認証もできない。ハッシュ値が正しいか否かは、TPM_Sealコマンドでパスワードを暗号化する際に復号の条件となるPCRの状態を定めることができる。
第3の認証方法は、TPMや認証トークンにある署名機能を利用した公開鍵暗号ベースの方法である。署名に利用する鍵はTPM_CreateWrapKeyコマンドを使って予め暗号化してある。Shadow MBRは、TPM_LoadKey2コマンドを使って本データをTPM内で復号し、この鍵を使ってTPMが生成した署名をハードディスクへの認証に利用する。本コマンドも先のTPM_Unsealと同様、TPMがShadow MBRのハッシュ値が正しいか否か、すなわちShadow MBRに改竄がないか確認したうえで復号する。
ウィルス検索の方法にも複数ある。
第1にShadow MBRがネットワーク機能を持ち、PC外部にあるウィルスパターンを参照しつつ、ハードディスクにウィルスがないか検索する方法である。
第2にハードディスクのうちシステム部分に当たる部分のハッシュ値を計算、Shadow MBRがもつハッシュ値ないしはネットワーク経由でPC外部にあるハッシュ値と比較、同じであれば改竄がなくウィルスに感染していないと看做す方法である。
第3に最新のウィルスを含まないシステムのイメージをネットワークからダウンロードしてハードディスクにコピーする方法である。
Shadow MBRを使えば、ウィルスないしは改竄検知の他に、Shadow MBRが社内のネットワーク上の特定のサーバにアクセスできるか否かテストし、アクセスできない場合にはPCが社外に持ち出されていると判断し、PC起動処理を停止することで、社外でのPC利用を防止できる。他にも、Shadow MBRが特定サーバにPC起動の可否を問い合わせる、または時刻サーバに問い合わせて自身に記録されている起動許可時間とつき合わせて起動許可時間外ならPC起動を停止することもできる。他にPC起動回数をShadow MBRに記録しておき起動制限をかけることもできる。
図2は、本発明によるコンピュータの動作の概要を示す説明図である。
まず、ハードディスク105の認証後にアクセス可能に成る第1の領域にはOSのブート処理を行うMBR108が記憶されている。また、ハードディスク105の認証なしにアクセス可能な第2の領域にはハードディスクの認証処理およびウィルス検出を行うShadow MBR109が記憶されている。
Shadow MBR109は、OSの起動前で、かつハードディスクの認証前に、BIOS104によって、制御スイッチ111及び110を経由して起動される。起動されたShadow MBR109は、ハードディスク認証用のパスワードやShadow MBR109のハッシュ値などの条件値を含む暗号データ(TPM102のTPM_Sealコマンドを使って暗号化されている)をTPM102に送る。
TPM102の内部レジスタには、BIOS104によって計算されたShadow MBR109のハッシュ値が条件値として予め格納されている。
そこで、Shadow MBR109から暗号化データが送られてくると、TPM102はその暗号化データを内部鍵で復号する。そして、復号した条件値と内部レジスタに格納された条件値とを比較し、一致した場合には、復号したパスワードをShadow MBR109に返す。すなわち、Shadow MBR109が改ざんされていなければ、ハッシュ値は一致する筈であるから、復号したパスワードをShadow MBR109に返す。
復号したパスワードを受け取ったShadow MBR109は、そのパスワードをハードディスク105に送る。ハードディスク105は自身に設定されているパスワードと一致する場合には、正規のプログラムからのアクセスであると看做し、第1の領域に記憶されているMBR108へのアクセスが可能な状態になり、制御スイッチ110が切り替わる。
MBR108へ処理が移ると、OSのブート処理が実行され、更に制御スイッチ111が切り替わってOSがRAM103にロードされる。
図3は、PC起動後のウィルス検索処理の概要を示す。
ステップ310において、CPUテスト後に起動されるBIOS104のプログラムが起動される。起動されると、ハードウェアのテストや初期化を行い、問題なければ、ハードディスク105上にあるShadow MBR109全体のハッシュ値を計算、TPM102の内部レジスタに結果を格納し、Shadow MBR上のプログラムをメモリ103に格納し、制御を渡す。
この処理は起動直後の処理であり、ハードディスク105の0番地はShadow MBR109である。ハードディスク105への認証が成功すれば、0番地は従来のMBR108になる。
なお、TPM102はハッシュ値をTPMのPlatform Credential Register (PCR)というレジスタに格納する。本レジスタは複数あり、システムによって使い方は異なるが、本発明ではShadow MBRのハッシュ値のにのみ着目しているので、PCRは一つと仮定して説明するが、これは本発明の請求範囲を狭めるものではない。
ステップ320において、ハードディスク105に対する認証処理を行う。認証処理の方法は複数あり、後述する。なお、認証処理に失敗すれば、その旨を利用者に通知、処理を止める。
ステップ330においては、ハードディスク105に対する認証処理は成功しており、Shadow MBR109を除き、MBR108を含めてハードディスク105全体にアクセスできる。RAM103上のShadow MBRにあったプログラムは、ハードディスクに対するウィルス検索を行う。ウィルスが見つかれば、その旨を利用者に通知、処理を止める。
ステップ340においては、ハードディスク105の0番地にあるMBR108のブートストラップコードをメモリ103にロード、制御を渡す。以降の処理は、通常のPC起動と同じであり、本発明の対象外である。
ここで、ステップ320にて行うハードディスク105に対する認証処理を述べる。
第1の認証方法として、単純なパスワード認証がある。これは、Shadow MBR109中にあるパスワードをハードディスクに送信することで認証するものである。本方法には、ハードディスクをブートディスクとしないPCに接続すれば、Shadow MBR109を読み込むことができ、プログラムを解析すればパスワードが盗まれてしまう危険性があるので推奨できない。
以下の第2と第3の認証方法は、これを解決するものであり、特定のTPM102が搭載された特定のPCだけで可能な方法である。すなわち他のPCに接続したとしてもTPMが別のTPMなら動作しない、非常に安全性の高い認証方法である。
第2の認証方法として、TPMとの組み合わせたパスワード認証があり、図4を使って説明する。
ステップ410において、Shadow MBR109はパスワードを含んだ暗号化データをTPM102に送る。具体的には、TPMの標準のTPM_Unsealコマンドを利用する。以下のステップ420から440まではTCG標準のTPMの動作の一部であり、本発明にかかわる部分だけを説明する。
ステップ420において、TPM102は受け取った暗号化データをTPM102内のみでアクセス可能な鍵を利用して復号する。
ステップ430において、TPM102は復号したデータ中のPCR情報に関わる部分を現在のPCRの状態と比較する。合致しなければ、エラーを返して処理を終了する。
本発明においては、現在のPCRはステップ310で説明したShadow MBR109のハッシュ値を含んでおり、合致するはずである。
ステップ440において、PCR情報が合致していれば、TPM102は復号したパスワードをShadow MBR109に送り返す。
ステップ450において、Shadow MBR109はTPM102から受け取ったパスワードをハードディスクに送信して認証を行う。
なお、ステップ410においてShadow MBR109がTPM102に送った暗号化データはTPM_Sealコマンドを使って作成したものである。すなわち、パスワードをTPM102にある鍵で暗号化するのであるが、TPM_Unsealを使った復号条件として、PCRがShadow MBRのハッシュ値を保持していることを指定してTPM_Sealを使って暗号化した結果である。このためステップ430において、TPM102はPCRの状態を検査している。
本方法は第一の方法に比べれば、格段に安全になった。というのも、復号できる条件は、対応するTPM102を搭載したPCに限定され、かつ特定のPCRの状態、すなわちMBRのハッシュ値が特定の場合にのみ復号されるからである。これにより、特定のPCと特定のハードディスクの組み合わせのみで起動することになり、ハードディスクを別のPCにつないでもハードディスクに対する認証に失敗するので、アクセスできない。
しかしながら、PCやメモリ、TPM、ハードディスク間をやり取りされるデータにアクセスできる装置を持つ攻撃者には、パスワードが盗まれてしまう可能性がある。次の第三の方法はこれを防ぐ方法であり、さらに安全性が向上している。
なお、本認証方法を利用する場合、Shadow MBRのハッシュ値の計算は単純に全体のハッシュ値を求めるのではなく、暗号化データの部分をマスクしてBIOS104がハッシュ値を計算する。
なお、本方法と類似の認証は、TPMの代わりに認証トークンでも可能である。すなわちパスワードを認証トークンの鍵で暗号化しておき、これをShadow MBR109のプログラムが保持、ハードディスク認証時に認証トークンを使って復号してパスワードを取り出してハードディスクに送るのである。しかし、この方法では別のPCにハードディスクを接続、Shadow MBR109上の暗号化データを取り出し、これを認証トークンに渡してしまえば、パスワードが盗まれてしまう危険性があるので推奨できない。
以上がステップ320における第2の認証方法である。
第3の認証方法として、TPM102との組み合わせた公開鍵暗号を利用した認証があり、図5を使って説明する。
ステップ510において、Shadow MBR109は秘密鍵を含んだ暗号化データをTPM102に送る。具体的には、TPM102の標準のTPM_LoadKey2コマンドを利用する。以下のステップ520から540までと580はTCG標準のTPMの動作の一部、ステップ560はTCG Storage準拠のハードディスクの動作の一部であり、本発明にかかわる部分だけを説明する。
ステップ520において、TPM102は受け取った暗号化データをTPM内で利用可能な鍵を利用して復号する。
ステップ530において、TPM102は復号してデータ中のPCR情報に関わる部分を現在のPCRの状態と比較する。合致しなければ、エラーを返して処理を終了する。本発明においては、現在のPCRはステップ310で説明したShadow MBR109のハッシュ値を含んでおり合致するはずである。
ステップ540において、PCR情報が合致していれば、TPM102は復号した秘密鍵を以下の処理で利用できるようにTPM102内に設定し、この鍵のハンドルをShadow MBR109に送り返す。
ステップ550において、Shadow MBR109はTPM102から秘密鍵のハンドルを受け取った後、認証を始めることをハードディスク105に通知する。具体的にはStartSessionメソッドを起動する。
ステップ560において、認証に必要な乱数を生成、Shadow MBR109に送り返す。
ステップ570において、Shadow MBR109は乱数を受け取り、これデータに対する署名を生成するようにTPM102に送信する。具体的にはTPM_Signコマンドを利用する。この際にステップ550で受け取ったハンドルを利用する。
ステップ580において、TPM102は署名を生成、Shadow MBR109に送り返す。
ステップ590において、Shadow MBR109はTPM102から受け取った署名を、ハードディスク105に送り認証を行う。
なお、ステップ510においてShadow MBR109がTPM102に送った暗号化データはTPM_CreateWrapKeyコマンドを使って作成したものである。すなわち、秘密鍵をTPM102にある鍵で暗号化するのであるが、TPM_LoadKey2を使った復号条件として、PCRがShadow MBRのハッシュ値を保持していることを指定してTPM_LoadKey2を使って暗号化した結果である。
なお本認証方法を利用する場合、Shadow MBR109のハッシュ値の計算は単純に全体のハッシュ値を求めるのではなく、暗号化データの部分をマスクしてBIOS104がハッシュ値を計算する。
次にステップ330にて行うウィルス検索の概要を述べる。
第1のウィルス検索方法として、既存のウィルス検索方法と同様にウィルスのパターンを保持しておき、ハードディスク105上に本パターンが現れないか検索するものである。パターンは膨大な量がありShadow MBR109中には格納できないので、ネットワークを経由しパターンを提供するサーバにアクセスして、パターンをダウンロードし、メモリ104上に格納して検索するものである。
第2のウィルス検索方法として、ハードディスク105全体を検索するのではなく、システムなど重要な部分のみを検索する方法である。重要な部分の例として、仮想化技術を用いたシステムにおけるゲストマシンではなく、ホストマシンないしはハイパーバイザにあたる部分のみをウィルス検索対象とする方法がある。他にOSのカーネル部分のみなどが考えられる。検索方法としては、第一の方法と同様に、ウィルスパターンが含まれていないか検索するのが一般的である。
第3のウィルス検索方法として、検索を行うのではなく、ウィルスが含まれていないと保証されたディスクイメージをネットワーク経由でサーバからダウンロード、ハードディスクにコピーする方法がある。このコピーもハードディスク全体をコピーするのではなく、OSやハイパーバイザなどシステム部分だけをコピーする方法もある。
図6を用いて、ウィルス検索と同時に実行可能なPC起動制限処理の詳細を説明する。
ウィルスによる攻撃は、PC利用者が気がつかないうちにウィルスに感染してしまう場合がほとんどであるが、起動制限はPC利用者本人の不正ないしは不注意によるPC起動を制限するものである。起動が制限される例として、本実施形態では社内ネットワーク外での起動と社外での起動許可数を超えた起動を制限する例を示す。なお、ここで起動許可回数がShadow MBR109の特定領域に保持されているとする。この特定領域は第二の認証方法と同様にBIOSプログラムによるハッシュ値の計算外となる。
ステップ610において、ステップ320と同様にしてShadow MBR109にあるプログラムがハードディスク105に対して認証処理を行い、Shadow MBR109の書き換え可能モードに移行する。
ステップ620において、Shadow MBR109内に記録されている起動許可回数が1以上ならステップ630に飛ぶ。起動許可回数が0なら、原則起動禁止状態にあり、それでも起動可能かサーバに問い合わせ、起動OKならステップ640に、NGならステップ650に飛ぶ。
ステップ630において、Shadow MBR109の起動許可回数を1つ減じ、ステップ640に飛ぶ。
ステップ640において、Shadow MBR書き換え可能モードから書き換え禁止モードに移行して、MBR108のブートストラップコードをメモリ103にロードし、制御を渡して、通常のブート処理を行う。
ステップ650において、Shadow MBR書き換え可能モードから書き換え禁止モードに移行して、起動を停止する。この際、ディスプレイに起動許可がなく停止した旨をメッセージ表示する。
なお、本実施形態では、起動許可数がShadow MBRに記録されているが、Shadow MBRは改ざんされる可能性があるため、それを防止するために、Shadow MBRの起動回数は常に0としておいて、サーバに問い合わせるようにしても良い。また、Shadow MBRではなく、認証後にアクセス可能なMBRに記録するようにしても良い。さらに上記とは別の対策として、Shadow MBRが改ざんされていないことを確認した後に、TPM_SealコマンドやTPM_CreateWrapkeyコマンドでパスワードや鍵、PCR情報を含む暗号化データを暗号化しなおして、Shadow MBRを書き直すようにしても良い。
101: CPU
102: TPM
103: メモリ
104: BIOS
105: ハードディスク
108: ハードディスクへの認証後にアクセス可能なMBR
109: ハードディスクへの認証前にアクセス可能なShadow MBR

Claims (7)

  1. 暗号化データを内部にある鍵で復号し、その復号したデータに含まれる条件値と内部レジスタの値が一致したときに復号結果を出力する暗号ハードウェアモジュールと、アクセスするプログラムが正規のプログラムと認証した後にアクセス可能になる第1の領域と認証なしにアクセス可能な第2の領域とに分かれたハードディスクを搭載したコンピュータにおいて、
    コンピュータ起動時のプログラムが、上記ハードディスクの認証なしにアクセス可能な第2の領域のハッシュ値を計算し、前記暗号ハードウェアモジュールの内部レジスタに格納し、第2の領域のプログラムをメモリにロードして処理を引き渡し、処理を引き渡された第2の領域にあったプログラムがハードディスクに対して認証処理を行い、正規プログラムであるという認証を得た後に前記第1の領域にアクセスし、当該第1の領域にあるプログラムをメモリにロードすることを特徴とするコンピュータ。
  2. 前記第2の領域にあったプログラムが、プログラム中に含まれるパスワードをハードディスクに送ることによってハードディスクに対する認証処理を行うことを特徴とする請求項1に記載のコンピュータ。
  3. 前記第2の領域にあったプログラムが、当該プログラム中に含まれる暗号データを前記暗号ハードウェアモジュールに送り、当該暗号ハードウェアモジュールが内部にある鍵で前記暗号データを復号し、復号した条件値と内部レジスタに格納されている第2の領域のハッシュ値と比較し、一致した場合に復号データを出力し、その復号データを前記第2の領域にあったプログラムが受取り、復号データ中に含まれているパスワードをハードディスクに送ることによってハードディスクに対する認証処理を行うことを特徴とする請求項1に記載のコンピュータ。
  4. 前記第2の領域にあったプログラムが、当該プログラム中に含まれる暗号データを前記暗号ハードウェアモジュールに送り、当該暗号ハードウェアモジュールが内部にある鍵で前記暗号データを復号し、復号した条件値と内部レジスタに格納されている第2の領域のハッシュ値とを比較し、一致した場合に復号データに含まれる鍵を内部に保管し、この鍵のハンドルを出力し、前記第2の領域にあったプログラムが前記ハンドルを受け取り、このハンドルを元に暗号ハードウェアモジュール内にある鍵を使ってハードディスクに対する認証処理を行うことを特徴とする請求項1に記載のコンピュータ。
  5. 前記第2の領域にあったプログラムが、ハードディスクに対する認証後に前記第1の領域にあるプログラムのハッシュ値を計算し、前記暗号ハードウェアモジュールの内部レジスタに格納した後、当該該プログラムをメモリにロードして処理を引き渡し、処理を引き渡されたプログラムが、引き続き処理を行うことを特徴とする請求項1に記載のコンピュータ。
  6. 前記処理を引き渡されたプログラムが、前記第1の領域のウィルス検査を行うことを特徴とする請求項5に記載のコンピュータ。
  7. 前記処理を引き渡されたプログラムが、起動監視サーバに起動可否を問い合わせ、サーバにアクセスできない場合やアクセスできても予め設定された利用環境条件と一致しない場合には、エラーを表示し、その後の処理を停止させることを特徴とする請求項5に記載のコンピュータ。
JP2009254921A 2009-11-06 2009-11-06 コンピュータ Expired - Fee Related JP5355351B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009254921A JP5355351B2 (ja) 2009-11-06 2009-11-06 コンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009254921A JP5355351B2 (ja) 2009-11-06 2009-11-06 コンピュータ

Publications (2)

Publication Number Publication Date
JP2011100329A JP2011100329A (ja) 2011-05-19
JP5355351B2 true JP5355351B2 (ja) 2013-11-27

Family

ID=44191447

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009254921A Expired - Fee Related JP5355351B2 (ja) 2009-11-06 2009-11-06 コンピュータ

Country Status (1)

Country Link
JP (1) JP5355351B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6463435B1 (ja) * 2017-10-04 2019-02-06 三菱電機株式会社 制御装置および制御方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3293760B2 (ja) * 1997-05-27 2002-06-17 株式会社エヌイーシー情報システムズ 改ざん検知機能付きコンピュータシステム
JP2000181963A (ja) * 1998-12-18 2000-06-30 Digital Derivative Technology Kk データ通信システムおよび有料サービス取得用プログラムを記録したリムーバブル情報記録媒体
JP4140310B2 (ja) * 2002-08-05 2008-08-27 カシオ計算機株式会社 通信装置、通信管理装置、通信プログラム及び通信管理プログラム
JP2004078539A (ja) * 2002-08-16 2004-03-11 Phoenix Technologies Kk ハードディスクのプライバシー保護システム
JP4550526B2 (ja) * 2004-08-27 2010-09-22 レノボ シンガポール プライヴェート リミテッド 情報処理システム、情報処理装置、登録サーバ、制御プログラム、及び制御方法
JP2006236193A (ja) * 2005-02-28 2006-09-07 Fujitsu Ltd 起動プログラム実行方法、デバイス、記憶媒体及びプログラム
DE102005014352A1 (de) * 2005-03-24 2006-09-28 Utimaco Safeware Ag Verfahren und Steuervorrichtung zur Steuerung eines Zugriffs eines Computers auf Nutzdaten
JP2007219802A (ja) * 2006-02-16 2007-08-30 Hitachi Global Storage Technologies Netherlands Bv 記憶装置、そのコントローラ、および、その制御方法
JP5001123B2 (ja) * 2006-12-07 2012-08-15 パナソニック株式会社 記録デバイス、集積回路、アクセス制御方法、プログラム記録媒体
JP5097130B2 (ja) * 2006-12-27 2012-12-12 パナソニック株式会社 情報端末、セキュリティデバイス、データ保護方法及びデータ保護プログラム
JP2008226191A (ja) * 2007-03-15 2008-09-25 Nec Corp 情報処理端末認証システム及び情報処理端末認証方法,情報処理端末認証用プログラム
JP5085287B2 (ja) * 2007-11-21 2012-11-28 株式会社リコー 情報処理装置、正当性検証方法および正当性検証プログラム

Also Published As

Publication number Publication date
JP2011100329A (ja) 2011-05-19

Similar Documents

Publication Publication Date Title
KR101176646B1 (ko) 상태 검증을 사용하는 보호된 오퍼레이팅 시스템 부팅을 위한 시스템 및 방법
US10516533B2 (en) Password triggered trusted encryption key deletion
JP3689431B2 (ja) 暗号化キーの安全処理のための方法及び装置
EP2207121B1 (en) Protecting content on virtualized client platforms
US8677482B2 (en) Hardware security for software processes
EP2369520B1 (en) Computer architecture for an electronic device providing sls access to mls file system with trusted loading and protection of program execution memory
JP4116024B2 (ja) ペリフェラルの使用管理方法、電子システム及びその構成装置
US9015454B2 (en) Binding data to computers using cryptographic co-processor and machine-specific and platform-specific keys
JP2008052704A (ja) コンピュータおよび共有パスワードの管理方法
TW201319863A (zh) 用於防止惡意軟體執行的方法與系統
JP4754299B2 (ja) 情報処理装置
Götzfried et al. Mutual authentication and trust bootstrapping towards secure disk encryption
JP4724107B2 (ja) リムーバブル・デバイスを用いたユーザの認証方法およびコンピュータ
Zhao et al. Hypnoguard: Protecting secrets across sleep-wake cycles
CN116415313A (zh) 一种安全一体机、安全一体机的保护方法及装置
JP5355351B2 (ja) コンピュータ
US9177160B1 (en) Key management in full disk and file-level encryption
JP2006092081A (ja) 不特定者または多数者が利用するパソコンの安全な起動利用方法及びそのような利用を実現する記録媒体
CN114091027A (zh) 信息配置方法、数据访问方法及相关装置、设备
Tanaka et al. Secure Generation of Digital Signature on Compromised Computer
CN102915419A (zh) 一种病毒扫描方法及扫描系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120802

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130731

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130827

R150 Certificate of patent or registration of utility model

Ref document number: 5355351

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

LAPS Cancellation because of no payment of annual fees