JP2011100329A - Computer - Google Patents
Computer Download PDFInfo
- Publication number
- JP2011100329A JP2011100329A JP2009254921A JP2009254921A JP2011100329A JP 2011100329 A JP2011100329 A JP 2011100329A JP 2009254921 A JP2009254921 A JP 2009254921A JP 2009254921 A JP2009254921 A JP 2009254921A JP 2011100329 A JP2011100329 A JP 2011100329A
- 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.)
- Granted
Links
Images
Abstract
【課題】 OSが起動する前にMBRなどのシステム領域に感染しているウィルスを検出することができ、ウィルスの検出と共に予め設定した環境条件以外の環境でのコンピュータの使用を制限(あるいは禁止)することができるコンピュータを提供すること。
【解決手段】 TCGが定める暗号ハードウェアモジュールと暗号ハードディスクを搭載したPCにおいて、BIOSが暗号ハードディスクの認証なしでもアクセス可能領域にあるプログラムのハッシュ値を計算、暗号ハードウェアモジュールに格納し、プログラムに処理を渡し、本プログラムがハードディスクへの認証処理を行い、さらに認証後にウィルス検査を行う。
【選択図】 図2PROBLEM TO BE SOLVED: To detect a virus infecting a system area such as MBR before starting an OS, and restrict (or prohibit) use of a computer in an environment other than a preset environmental condition together with the detection of the virus. Providing a computer that can do.
In a PC on which a cryptographic hardware module and a cryptographic hard disk defined by TCG are installed, a hash value of a program in a BIOS accessible area without authentication of the cryptographic hard disk is calculated and stored in the cryptographic hardware module. The program passes the processing, and this program performs authentication processing to the hard disk, and further performs virus inspection after authentication.
[Selection] Figure 2
Description
本発明は、Trusted Computing Group (TCG)のStorage WGの標準に基づいたハードディスクを搭載したパーソナルコンピュータ(以下、PC)のウィルス検知と利用制限に関するものである。 The present invention relates to virus detection and use restriction of a personal computer (hereinafter referred to as a PC) equipped with a hard disk based on the Storage WG standard of the Trusted Computing Group (TCG).
コンピュータウィルスの一種にMaster Boot Recode (MBR)に感染するタイプがある。
MBRはコンピュータの起動時に処理されるプログラムであり、OSも既存のウィルス対策プログラムも起動しておらず、一般にウィルス検知が困難である。解決方法の1つとして、特許文献1にあるようなウィルス駆除方法がある。
一方、PCでのセキュリティを実現するためのハードウェアとして、セキュリティ関連の業界標準を定めるTrusted Computing Group (TCG)が定める非特許文献1に挙げるような暗号化を行うセキュリティチップTrusted Platform Module (TPM)の業界標準や非特許文献2にあげるような暗号化ディスクの業界標準がある。
One type of computer virus is infected with Master Boot Recode (MBR).
The MBR is a program that is processed when the computer is started, and neither the OS nor the existing anti-virus program is activated, and it is generally difficult to detect viruses. As one of the solutions, there is a virus removal method as disclosed in
On the other hand, as a hardware for realizing security on a PC, a security chip Trusted Platform Module (TPM) that performs encryption as listed in
上記特許文献1に開示された技術にあってはゲートやROMなどを含む特別なハードウェアを用いる必要があり、導入やコストに課題が残る。またウィルス検知の方法として、ディスク装置にあるウィルスチェックプログラムを利用するとあるが、ウィルスの攻撃方法によっては、本プログラムを破壊したり起動を妨害したりすることも考えられるので、必ずしも有効とはいえない。
また、上記非特許文献1や2に開示された技術にあっては、暗号化ディスクを用いることや特別なハードウェアであるセキュリティチップを用いてプログラムの処理を引き継ぐことが記載されているが、MBRに感染したウィルスをどのようにして検出するかは具体的に記載されていない。
In the technique disclosed in
Further, in the techniques disclosed in
本発明の目的は、OS(オペレーティングシステム)が起動する前にMBRなどのシステム領域に感染しているウィルスを検出することができるコンピュータを提供することにある。
また、ウィルスの検出と共に予め設定した環境条件以外の環境でのコンピュータの使用を制限(あるいは禁止)することができるコンピュータを提供することにある。
An object of the present invention is to provide a computer that can detect a virus that infects a system area such as MBR before an OS (operating system) is started.
Another object of the present invention is to provide a computer capable of restricting (or prohibiting) use of a computer in an environment other than preset environmental conditions together with detection of a virus.
上記目的を達成するために、本発明に係るコンピュータは、TCGが標準化しているTPMと呼ばれるセキュリティチップや暗号化ハードディスクを利用し、特別なハードウェアなしにMBRやOS、メモリなどのシステム領域に感染するウィルスをPC起動時に検知する。
具体的には、暗号化データを内部にある鍵で復号し、その復号したデータに含まれる条件値と内部レジスタの値が一致したときに復号結果を出力する暗号ハードウェアモジュールと、アクセスするプログラムが正規のプログラムと認証した後にアクセス可能になる第1の領域と認証なしにアクセス可能な第2の領域とに分かれたハードディスクを搭載したコンピュータにおいて、
コンピュータ起動時のプログラムが、上記ハードディスクの認証なしにアクセス可能な第2の領域のハッシュ値を計算し、前記暗号ハードウェアモジュールの内部レジスタに格納し、第2の領域のプログラムをメモリにロードして処理を引き渡し、処理を引き渡された第2の領域にあったプログラムがハードディスクに対して認証処理を行い、正規プログラムであるという認証を得た後に前記第1の領域にアクセスし、当該第1の領域にあるプログラムをメモリにロードすることを特徴とする。
また、前記第2の領域にあったプログラムが、プログラム中に含まれるパスワードをハードディスクに送ることによってハードディスクに対する認証処理を行うことを特徴とする。
また、前記第2の領域にあったプログラムが、当該プログラム中に含まれる暗号データを前記暗号ハードウェアモジュールに送り、当該暗号ハードウェアモジュールが内部にある鍵で前記暗号データを復号し、復号した条件値と内部レジスタに格納されている第2の領域のハッシュ値と比較し、一致した場合に復号データを出力し、その復号データを前記第2の領域にあったプログラムが受取り、復号データ中に含まれているパスワードをハードディスクに送ることによってハードディスクに対する認証処理を行うことを特徴とする。
また、前記第2の領域にあったプログラムが、当該プログラム中に含まれる暗号データを前記暗号ハードウェアモジュールに送り、当該暗号ハードウェアモジュールが内部にある鍵で前記暗号データを復号し、復号した条件値と内部レジスタに格納されている第2の領域のハッシュ値とを比較し、一致した場合に復号データに含まれる鍵を内部に保管し、この鍵のハンドルを出力し、前記第2の領域にあったプログラムが前記ハンドルを受け取り、このハンドルを元に暗号ハードウェアモジュール内にある鍵を使ってハードディスクに対する認証処理を行うことを特徴とする。
また、前記第2の領域にあったプログラムが、ハードディスクに対する認証後に前記第1の領域にあるプログラムのハッシュ値を計算し、前記暗号ハードウェアモジュールの内部レジスタに格納した後、当該該プログラムをメモリにロードして処理を引き渡し、処理を引き渡されたプログラムが、引き続き処理を行うことを特徴とする。
また、前記処理を引き渡されたプログラムが、前記第1の領域のウィルス検査を行うことを特徴とする。
また、前記処理を引き渡されたプログラムが、起動監視サーバに起動可否を問い合わせ、サーバにアクセスできない場合やアクセスできても否認された場合には、エラーを表示し、その後の処理を停止させることを特徴とする。
In order to achieve the above object, the computer according to the present invention uses a security chip called TPM and an encrypted hard disk standardized by TCG and can be used in a system area such as an MBR, an OS, and a memory without special hardware. Infected virus is detected when the PC is started.
Specifically, a cryptographic hardware module that decrypts encrypted data with an internal key, and outputs a decryption result when a condition value included in the decrypted data matches an internal register value, and a program to access In a computer equipped with a hard disk divided into a first area that can be accessed after authenticating with a legitimate program and a second area that can be accessed without authentication,
The computer startup program calculates the hash value of the second area accessible without authentication of the hard disk, stores it in the internal register of the cryptographic hardware module, and loads the second area program into the memory. The program in the second area to which the process has been delivered performs authentication processing on the hard disk, obtains authentication that it is a regular program, accesses the first area, and The program in the area is loaded into the memory.
Further, the program in the second area performs authentication processing on the hard disk by sending a password included in the program to the hard disk.
In addition, the program in the second area sends the encrypted data included in the program to the cryptographic hardware module, and the cryptographic hardware module decrypts the decrypted data with the key inside. The condition value and the hash value of the second area stored in the internal register are compared, and if they match, the decoded data is output, and the decoded data is received by the program in the second area, The authentication process for the hard disk is performed by sending the password included in the hard disk to the hard disk.
In addition, the program in the second area sends the encrypted data included in the program to the cryptographic hardware module, and the cryptographic hardware module decrypts the decrypted data with the key inside. The condition value and the hash value of the second area stored in the internal register are compared, and if they match, the key included in the decrypted data is stored inside, the handle of this key is output, and the second A program in the area receives the handle, and performs authentication processing on the hard disk using the key in the cryptographic hardware module based on the handle.
In addition, after the program in the second area calculates the hash value of the program in the first area after authenticating the hard disk and stores the hash value in the internal register of the cryptographic hardware module, the program is stored in the memory. The program that has been loaded and handed over and the process handed over continues processing.
Further, the program to which the process has been delivered performs a virus inspection of the first area.
In addition, the program handed over the processing inquires the activation monitoring server whether the activation is possible, and when the server cannot be accessed or is denied even if it can be accessed, an error is displayed and the subsequent processing is stopped. Features.
PC起動後、OSが起動される前に、BIOSによってハードディスクに対する認証なしにアクセス可能な領域であるShadow MBRにあるプログラムが起動され、本プログラムが改ざんされていないと検査した後に、ハードディスクのウィルス検索を行うため、OS起動前にMBR等のシステム領域がウィルスに感染していたとしてもOS起動前に確実にこれを検出し対策を実行することができる。
また、ハードディスクに対する認証を行えば、特定のTPMでしか認証できないことになり、ハードディスクを別のPCに取り付けて起動しようとしても認証が失敗し、起動もできなくなり、ディスクにアクセスできない。
さらに、データを復号する際にTPMの内部レジスタに記録されたShadow MBRのハッシュ値が正しいか否か検査するために、改竄されたShadow MBRではハードディスクに対する認証ができず、PC起動ができない。
さらに、ウィルス検査とは別に、利用環境条件を設定し、予め設定された利用環境条件と一致しない場合には起動制限を加えることで、時刻や回数、位置などでPCの起動を制限することができる。
After booting the PC, before the OS is booted, the program in the Shadow MBR, which is an area that can be accessed without authentication to the hard disk by the BIOS, is started, and after checking that this program has not been tampered with, the virus scan of the hard disk Therefore, even if a system area such as MBR is infected with a virus before the OS is started, it can be detected reliably and the countermeasure can be executed before the OS is started.
Further, if authentication is performed on the hard disk, authentication can be performed only with a specific TPM, and even if the hard disk is attached to another PC for activation, the authentication fails, the activation cannot be performed, and the disk cannot be accessed.
Further, in order to check whether or not the Shadow MBR hash value recorded in the internal register of the TPM is correct when decrypting the data, the altered Shadow MBR cannot authenticate the hard disk and cannot start the PC.
Furthermore, apart from virus inspection, the usage environment conditions are set, and if they do not match the preset usage environment conditions, the activation of the PC may be limited by time, number of times, location, etc. it can.
以下、図示する実施の形態に基づいて本発明を詳細に説明する。
図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である。ここに本発明の中心となる処理プログラムが含まれている。
Hereinafter, the present invention will be described in detail based on illustrated embodiments.
FIG. 1 is an overall configuration diagram showing an embodiment of a PC to which the present invention is applied.
In FIG. 1,
まず、実施の形態の動作を説明する前に、PCの起動、TPGが標準化しているTPM、Shadow MBRの概要を説明する。
PC起動の手順は、おおよそ以下の通りである。
電源がONになると、BIOS(Basic I/O system)がハードウェアをテスト、初期化し、MBRにあるプログラムをメモリ(RAM)にロードし、処理を引き継ぐ。処理を引き継いだプログラムはパーティションテーブルを探し、指定されたパーティションにあるブートセクタをメモリにロードし、処理を引き継ぐ。このブートセクタにあるプログラムはOSローダをロードし、処理を引き継ぐ。OSローダがOSをメモリにロードし、OSを起動する。
First, before explaining the operation of the embodiment, an outline of PC activation, TPM standardized by TPG, and Shadow MBR will be explained.
The procedure for starting up the PC is roughly as follows.
When the power is turned on, BIOS (Basic I / O system) tests and initializes the hardware, loads the program in the MBR into the memory (RAM), and takes over the processing. The program that took over the process searches the partition table, loads the boot sector in the designated partition into the memory, and takes over the process. The program in this boot sector loads the OS loader and takes over the processing. The OS loader loads the OS into the memory and starts the OS.
以上のように、PC起動時には、BIOS、MBRのプログラム、パーティションにあるプログラム、OSローダ、OSと、次々にプログラムがメモリにロードされ、制御が渡されていく。PC上のプログラムの信頼を確保するため、プログラムが次に制御を渡すプログラムのハッシュ値を計算、この結果をTPMにあるレジスタに記録して、制御を渡すように、TCGは規定している。この方法によれば、最初のBIOSにあるプログラムが信頼できれば、OSやアプリケーションも改竄のない信頼できるプログラムであることを確認できる。 As described above, when the PC is started up, the BIOS, MBR program, the program in the partition, the OS loader, and the OS are successively loaded into the memory, and control is transferred. In order to ensure the reliability of the program on the PC, the TCG stipulates that the program calculates the hash value of the program to which control next passes, records the result in a register in the TPM, and passes control. According to this method, if the program in the first BIOS can be trusted, it can be confirmed that the OS and applications are also reliable programs without falsification.
非特許文献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にアクセス可能になり、従来通りの起動が可能となる。
A secure hard disk Shadow MBR described in
In the Shadow MBR, the MBR of the hard disk in the initial state when the PC is started is different from the MBR in the conventional sense. Until now, a secure hard disk or encrypted hard disk required a password to start the PC. In other words, an authentication password is required to access the hard disk when the PC is started, and the user has entered it. The hard disk itself was encrypted, and the disk including MBR could not be accessed unless the hard disk drive was successfully authenticated.
On the other hand, as user authentication methods, methods using biometrics such as fingerprints and methods using cryptographic tokens in addition to passwords are beginning to become widespread, and it is expected that similar methods will be required for authentication against hard disks. Is done. However, in comparison with password authentication, biometric authentication and authentication using a cryptographic token are complicated in processing and large in program size. As shown in the outline of PC startup, the BIOS performs the process before accessing the hard disk. However, the BIOS is complicated and has a program size limit to perform a large process.
In
本発明は、上記の二つのTCGの技術を用いて、PC起動時に安全にウィルス検知を行う。すなわち、BIOSがShadow MBRのハッシュ値を計算し、TPMに格納し、Shadow MBR上のプログラムをメモリにロードして処理を渡す。Shadow MBRのプログラムはハードディスクへの認証処理を行い、本来のMBRにアクセス可能となった時点で、MBRを含めてウィルスの検索を行い、ウィルスが検知できなければ、従来どおりにMBRにあるプログラムをメモリにロード、処理を引き継ぐ。 The present invention uses the above two TCG technologies to safely detect a virus when the PC is started. That is, the BIOS calculates the hash value of the Shadow MBR, stores it in the TPM, loads the program on the Shadow MBR into the memory, and passes the processing. The Shadow MBR program performs authentication processing on the hard disk, and when the original MBR becomes accessible, it searches for viruses including the MBR. If no virus is detected, the program in the MBR is Load to memory and take over processing.
Shadow MBRにあるプログラムがハードディスクに対して行う認証処理の方法は複数ある。
第1の認証方法は、単純にパスワードがプログラム中に含まれており、これをハードディスクに送って認証する方法である。ハードディスクは、パスワードが正しければ、正しいPCないしはPC上のプログラムがアクセスしていると判断、本来のMBRを含めハードディスクにアクセスできるモードに移行する。
There are a plurality of authentication processing methods performed on the hard disk by the program in the Shadow MBR.
The first authentication method is a method in which a password is simply included in a program, which is sent to a hard disk for authentication. If the password is correct, the hard disk determines that the correct PC or program on the PC is accessing, and shifts to a mode in which the hard disk including the original MBR can be accessed.
第2の認証方法は、TPMのTPM_Unsealコマンドを使って暗号化されているパスワードをTPMで復号して、このパスワードを用いる方法である。この復号の際には、BIOSが計算し、TPMに格納したShadow MBRのハッシュ値が正しいかどうかをTPMが検査するため、改竄されたShadow MBRでは復号できず、引いてはハードディスに対する認証もできない。ハッシュ値が正しいか否かは、TPM_Sealコマンドでパスワードを暗号化する際に復号の条件となるPCRの状態を定めることができる。 The second authentication method is a method in which a password encrypted by using the TPM_Unseal command of the TPM is decrypted by the TPM and this password is used. At the time of this decryption, the TPM checks whether the hash value of the Shadow MBR calculated by the BIOS and stored in the TPM is correct. Therefore, the decrypted Shadow MBR cannot be decrypted. Can not. Whether or not the hash value is correct can determine the state of the PCR that is a condition for decryption when the password is encrypted with the TPM_Seal command.
第3の認証方法は、TPMや認証トークンにある署名機能を利用した公開鍵暗号ベースの方法である。署名に利用する鍵はTPM_CreateWrapKeyコマンドを使って予め暗号化してある。Shadow MBRは、TPM_LoadKey2コマンドを使って本データをTPM内で復号し、この鍵を使ってTPMが生成した署名をハードディスクへの認証に利用する。本コマンドも先のTPM_Unsealと同様、TPMがShadow MBRのハッシュ値が正しいか否か、すなわちShadow MBRに改竄がないか確認したうえで復号する。 The third authentication method is a public key encryption based method using a signature function in a TPM or an authentication token. The key used for the signature is previously encrypted using the TPM_CreateWrapKey command. The Shadow MBR uses the TPM_LoadKey2 command to decrypt this data in the TPM, and uses the signature generated by the TPM using this key for authentication to the hard disk. This command is also decrypted after confirming whether the hash value of the Shadow MBR is correct, that is, whether the Shadow MBR has been tampered with, as in the previous TPM_Unseal.
ウィルス検索の方法にも複数ある。
第1にShadow MBRがネットワーク機能を持ち、PC外部にあるウィルスパターンを参照しつつ、ハードディスクにウィルスがないか検索する方法である。
第2にハードディスクのうちシステム部分に当たる部分のハッシュ値を計算、Shadow MBRがもつハッシュ値ないしはネットワーク経由でPC外部にあるハッシュ値と比較、同じであれば改竄がなくウィルスに感染していないと看做す方法である。
第3に最新のウィルスを含まないシステムのイメージをネットワークからダウンロードしてハードディスクにコピーする方法である。
There are also multiple virus scanning methods.
First, the Shadow MBR has a network function and searches for a virus in the hard disk while referring to a virus pattern outside the PC.
Secondly, the hash value of the hard disk corresponding to the system part is calculated and compared with the hash value of the Shadow MBR or the hash value outside the PC via the network. It is a trick.
A third method is to download an image of a system that does not contain the latest virus from a network and copy it to a hard disk.
Shadow MBRを使えば、ウィルスないしは改竄検知の他に、Shadow MBRが社内のネットワーク上の特定のサーバにアクセスできるか否かテストし、アクセスできない場合にはPCが社外に持ち出されていると判断し、PC起動処理を停止することで、社外でのPC利用を防止できる。他にも、Shadow MBRが特定サーバにPC起動の可否を問い合わせる、または時刻サーバに問い合わせて自身に記録されている起動許可時間とつき合わせて起動許可時間外ならPC起動を停止することもできる。他にPC起動回数をShadow MBRに記録しておき起動制限をかけることもできる。 Using Shadow MBR, in addition to detecting viruses or tampering, it tests whether Shadow MBR can access a specific server on the in-house network. If it is not accessible, it judges that the PC has been taken outside the company. By stopping the PC activation process, it is possible to prevent the use of the PC outside the company. In addition, the Shadow MBR can inquire whether the PC can be activated to the specific server, or can be stopped if the activation time is outside the permitted activation time inquired to the time server and recorded in the activation permitted time. In addition, the number of PC activations can be recorded in the Shadow MBR to limit activation.
図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に返す。
FIG. 2 is an explanatory diagram showing an outline of the operation of the computer according to the present invention.
First, an
The
In the internal register of the
Therefore, when encrypted data is sent from the
復号したパスワードを受け取ったShadow MBR109は、そのパスワードをハードディスク105に送る。ハードディスク105は自身に設定されているパスワードと一致する場合には、正規のプログラムからのアクセスであると看做し、第1の領域に記憶されているMBR108へのアクセスが可能な状態になり、制御スイッチ110が切り替わる。
MBR108へ処理が移ると、OSのブート処理が実行され、更に制御スイッチ111が切り替わってOSがRAM103にロードされる。
The
When the process moves to the
図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は一つと仮定して説明するが、これは本発明の請求範囲を狭めるものではない。
FIG. 3 shows an outline of the virus detection process after the PC is started.
In
This process is a process immediately after startup, and the
Note that the
ステップ320において、ハードディスク105に対する認証処理を行う。認証処理の方法は複数あり、後述する。なお、認証処理に失敗すれば、その旨を利用者に通知、処理を止める。
ステップ330においては、ハードディスク105に対する認証処理は成功しており、Shadow MBR109を除き、MBR108を含めてハードディスク105全体にアクセスできる。RAM103上のShadow MBRにあったプログラムは、ハードディスクに対するウィルス検索を行う。ウィルスが見つかれば、その旨を利用者に通知、処理を止める。
ステップ340においては、ハードディスク105の0番地にあるMBR108のブートストラップコードをメモリ103にロード、制御を渡す。以降の処理は、通常のPC起動と同じであり、本発明の対象外である。
In
In
In
ここで、ステップ320にて行うハードディスク105に対する認証処理を述べる。
第1の認証方法として、単純なパスワード認証がある。これは、Shadow MBR109中にあるパスワードをハードディスクに送信することで認証するものである。本方法には、ハードディスクをブートディスクとしないPCに接続すれば、Shadow MBR109を読み込むことができ、プログラムを解析すればパスワードが盗まれてしまう危険性があるので推奨できない。
以下の第2と第3の認証方法は、これを解決するものであり、特定のTPM102が搭載された特定のPCだけで可能な方法である。すなわち他のPCに接続したとしてもTPMが別のTPMなら動作しない、非常に安全性の高い認証方法である。
Here, the authentication process for the
As a first authentication method, there is simple password authentication. In this method, authentication is performed by transmitting the password in the
The following second and third authentication methods solve this problem and can be performed only by a specific PC on which a
第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の状態を検査している。
As a second authentication method, there is password authentication combined with TPM, which will be described with reference to FIG.
In step 410, the
In step 420, the
In step 430, the
In the present invention, the current PCR contains the hash value of
In step 440, if the PCR information matches, the
In step 450, the
Note that the encrypted data sent by the
本方法は第一の方法に比べれば、格段に安全になった。というのも、復号できる条件は、対応するTPM102を搭載したPCに限定され、かつ特定のPCRの状態、すなわちMBRのハッシュ値が特定の場合にのみ復号されるからである。これにより、特定のPCと特定のハードディスクの組み合わせのみで起動することになり、ハードディスクを別のPCにつないでもハードディスクに対する認証に失敗するので、アクセスできない。
しかしながら、PCやメモリ、TPM、ハードディスク間をやり取りされるデータにアクセスできる装置を持つ攻撃者には、パスワードが盗まれてしまう可能性がある。次の第三の方法はこれを防ぐ方法であり、さらに安全性が向上している。
なお、本認証方法を利用する場合、Shadow MBRのハッシュ値の計算は単純に全体のハッシュ値を求めるのではなく、暗号化データの部分をマスクしてBIOS104がハッシュ値を計算する。
This method is much safer than the first method. This is because the conditions that can be decrypted are limited to the PC on which the
However, an attacker who has a device that can access data exchanged between the PC, memory, TPM, and hard disk may have the password stolen. The next third method is to prevent this, and the safety is further improved.
When using this authentication method, the hash value of the Shadow MBR is not simply obtained as a whole hash value, but the
なお、本方法と類似の認証は、TPMの代わりに認証トークンでも可能である。すなわちパスワードを認証トークンの鍵で暗号化しておき、これをShadow MBR109のプログラムが保持、ハードディスク認証時に認証トークンを使って復号してパスワードを取り出してハードディスクに送るのである。しかし、この方法では別のPCにハードディスクを接続、Shadow MBR109上の暗号化データを取り出し、これを認証トークンに渡してしまえば、パスワードが盗まれてしまう危険性があるので推奨できない。
以上がステップ320における第2の認証方法である。
Note that authentication similar to this method can be performed using an authentication token instead of the TPM. In other words, the password is encrypted with the authentication token key, which is stored in the program of the
The above is the second authentication method in
第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に送り返す。
As a third authentication method, there is authentication using public key cryptography combined with the
In
In
In
In
ステップ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に送り認証を行う。
In step 550, the
In
In
In step 580, the
In step 590, the
なお、ステップ510においてShadow MBR109がTPM102に送った暗号化データはTPM_CreateWrapKeyコマンドを使って作成したものである。すなわち、秘密鍵をTPM102にある鍵で暗号化するのであるが、TPM_LoadKey2を使った復号条件として、PCRがShadow MBRのハッシュ値を保持していることを指定してTPM_LoadKey2を使って暗号化した結果である。
なお本認証方法を利用する場合、Shadow MBR109のハッシュ値の計算は単純に全体のハッシュ値を求めるのではなく、暗号化データの部分をマスクしてBIOS104がハッシュ値を計算する。
Note that the encrypted data sent by the
When using this authentication method, the hash value of the
次にステップ330にて行うウィルス検索の概要を述べる。
第1のウィルス検索方法として、既存のウィルス検索方法と同様にウィルスのパターンを保持しておき、ハードディスク105上に本パターンが現れないか検索するものである。パターンは膨大な量がありShadow MBR109中には格納できないので、ネットワークを経由しパターンを提供するサーバにアクセスして、パターンをダウンロードし、メモリ104上に格納して検索するものである。
Next, an outline of virus search performed in
As a first virus search method, a virus pattern is held in the same manner as in the existing virus search method, and a search is made for the presence of this pattern on the
第2のウィルス検索方法として、ハードディスク105全体を検索するのではなく、システムなど重要な部分のみを検索する方法である。重要な部分の例として、仮想化技術を用いたシステムにおけるゲストマシンではなく、ホストマシンないしはハイパーバイザにあたる部分のみをウィルス検索対象とする方法がある。他にOSのカーネル部分のみなどが考えられる。検索方法としては、第一の方法と同様に、ウィルスパターンが含まれていないか検索するのが一般的である。
As a second virus search method, the entire
第3のウィルス検索方法として、検索を行うのではなく、ウィルスが含まれていないと保証されたディスクイメージをネットワーク経由でサーバからダウンロード、ハードディスクにコピーする方法がある。このコピーもハードディスク全体をコピーするのではなく、OSやハイパーバイザなどシステム部分だけをコピーする方法もある。 As a third virus detection method, there is a method in which a disk image guaranteed not to contain a virus is downloaded from a server via a network and copied to a hard disk instead of performing a search. There is also a method of copying only the system part such as the OS and the hypervisor instead of copying the entire hard disk.
図6を用いて、ウィルス検索と同時に実行可能なPC起動制限処理の詳細を説明する。
ウィルスによる攻撃は、PC利用者が気がつかないうちにウィルスに感染してしまう場合がほとんどであるが、起動制限はPC利用者本人の不正ないしは不注意によるPC起動を制限するものである。起動が制限される例として、本実施形態では社内ネットワーク外での起動と社外での起動許可数を超えた起動を制限する例を示す。なお、ここで起動許可回数がShadow MBR109の特定領域に保持されているとする。この特定領域は第二の認証方法と同様にBIOSプログラムによるハッシュ値の計算外となる。
Details of the PC activation restriction process that can be executed simultaneously with the virus search will be described with reference to FIG.
In most cases, the attack by a virus is infected by a virus before the PC user notices it, but the activation restriction limits the activation of the PC by the unauthorized or carelessness of the PC user himself / herself. As an example in which activation is limited, in the present embodiment, an example is shown in which activation outside the in-house network and activation exceeding the permitted number of activations outside the company are limited. Here, it is assumed that the activation permission count is held in a specific area of the
ステップ610において、ステップ320と同様にしてShadow MBR109にあるプログラムがハードディスク105に対して認証処理を行い、Shadow MBR109の書き換え可能モードに移行する。
ステップ620において、Shadow MBR109内に記録されている起動許可回数が1以上ならステップ630に飛ぶ。起動許可回数が0なら、原則起動禁止状態にあり、それでも起動可能かサーバに問い合わせ、起動OKならステップ640に、NGならステップ650に飛ぶ。
ステップ630において、Shadow MBR109の起動許可回数を1つ減じ、ステップ640に飛ぶ。
In
If it is determined in step 620 that the number of permitted activations recorded in the
In step 630, the number of times the
ステップ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を書き直すようにしても良い。
In
In step 650, the mode is shifted from the Shadow MBR rewritable mode to the rewrite prohibition mode, and the activation is stopped. At this time, a message is displayed on the display indicating that the operation has been stopped without permission.
In this embodiment, the activation permission number is recorded in the Shadow MBR. However, since the Shadow MBR may be falsified, the number of activations of the Shadow MBR is always set to 0 in order to prevent this. The server may be inquired. Further, instead of the Shadow MBR, it may be recorded in an MBR accessible after authentication. As another countermeasure, after confirming that the Shadow MBR has not been tampered with, re-encrypt the Shadow MBR by re-encrypting the encrypted data including the password, key, and PCR information with the TPM_Seal command and the TPM_CreateWrapkey command. Anyway.
101: CPU
102: TPM
103: メモリ
104: BIOS
105: ハードディスク
108: ハードディスクへの認証後にアクセス可能なMBR
109: ハードディスクへの認証前にアクセス可能なShadow MBR
101: CPU
102: TPM
103: Memory 104: BIOS
105: Hard disk 108: MBR accessible after authentication to the hard disk
109: Shadow MBR accessible before authentication to hard disk
Claims (7)
コンピュータ起動時のプログラムが、上記ハードディスクの認証なしにアクセス可能な第2の領域のハッシュ値を計算し、前記暗号ハードウェアモジュールの内部レジスタに格納し、第2の領域のプログラムをメモリにロードして処理を引き渡し、処理を引き渡された第2の領域にあったプログラムがハードディスクに対して認証処理を行い、正規プログラムであるという認証を得た後に前記第1の領域にアクセスし、当該第1の領域にあるプログラムをメモリにロードすることを特徴とするコンピュータ。 A cryptographic hardware module that decrypts encrypted data with an internal key and outputs a decryption result when the condition value contained in the decrypted data matches the value of the internal register, and the program to be accessed is a regular program In a computer equipped with a hard disk divided into a first area that can be accessed after authentication and a second area that can be accessed without authentication,
The computer startup program calculates the hash value of the second area accessible without authentication of the hard disk, stores it in the internal register of the cryptographic hardware module, and loads the second area program into the memory. The program in the second area to which the process has been delivered performs authentication processing on the hard disk, obtains authentication that it is a regular program, accesses the first area, and A computer which loads a program in the area of the memory into a memory.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009254921A JP5355351B2 (en) | 2009-11-06 | 2009-11-06 | Computer |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009254921A JP5355351B2 (en) | 2009-11-06 | 2009-11-06 | Computer |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2011100329A true JP2011100329A (en) | 2011-05-19 |
| JP5355351B2 JP5355351B2 (en) | 2013-11-27 |
Family
ID=44191447
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009254921A Expired - Fee Related JP5355351B2 (en) | 2009-11-06 | 2009-11-06 | Computer |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5355351B2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2019068341A (en) * | 2017-10-04 | 2019-04-25 | 三菱電機株式会社 | Control device and control method |
Citations (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10333902A (en) * | 1997-05-27 | 1998-12-18 | N Ii C Joho Syst:Kk | Computer system with alteration detecting function |
| JP2000181963A (en) * | 1998-12-18 | 2000-06-30 | Digital Derivative Technology Kk | Data communication system and removable information recording medium recording paid service acquisition program |
| JP2004072330A (en) * | 2002-08-05 | 2004-03-04 | Casio Comput Co Ltd | Communication device, communication management device, communication program, and communication management program |
| JP2004078539A (en) * | 2002-08-16 | 2004-03-11 | Phoenix Technologies Kk | Privacy protecting system for hard disk |
| JP2006065686A (en) * | 2004-08-27 | 2006-03-09 | Internatl Business Mach Corp <Ibm> | Information processing system, information processor, registration server, control program, and control method |
| JP2006236193A (en) * | 2005-02-28 | 2006-09-07 | Fujitsu Ltd | Start program execution method, device, storage medium, and program |
| JP2006268861A (en) * | 2005-03-24 | 2006-10-05 | Utimaco Safeware Ag | Method and control device for controlling access of computer to user data |
| JP2007219802A (en) * | 2006-02-16 | 2007-08-30 | Hitachi Global Storage Technologies Netherlands Bv | Storage device, controller thereof, and control method thereof |
| WO2008081801A1 (en) * | 2006-12-27 | 2008-07-10 | Panasonic Corporation | Information terminal, security device, data protection method, and data protection program |
| JP2008165758A (en) * | 2006-12-07 | 2008-07-17 | Matsushita Electric Ind Co Ltd | Recording device, integrated circuit, access control method, program recording medium |
| JP2008226191A (en) * | 2007-03-15 | 2008-09-25 | Nec Corp | System, method, and program for authenticating information processing terminal |
| JP2009129061A (en) * | 2007-11-21 | 2009-06-11 | Ricoh Co Ltd | Information processing apparatus, validity verification method, and validity verification program |
-
2009
- 2009-11-06 JP JP2009254921A patent/JP5355351B2/en not_active Expired - Fee Related
Patent Citations (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10333902A (en) * | 1997-05-27 | 1998-12-18 | N Ii C Joho Syst:Kk | Computer system with alteration detecting function |
| JP2000181963A (en) * | 1998-12-18 | 2000-06-30 | Digital Derivative Technology Kk | Data communication system and removable information recording medium recording paid service acquisition program |
| JP2004072330A (en) * | 2002-08-05 | 2004-03-04 | Casio Comput Co Ltd | Communication device, communication management device, communication program, and communication management program |
| JP2004078539A (en) * | 2002-08-16 | 2004-03-11 | Phoenix Technologies Kk | Privacy protecting system for hard disk |
| JP2006065686A (en) * | 2004-08-27 | 2006-03-09 | Internatl Business Mach Corp <Ibm> | Information processing system, information processor, registration server, control program, and control method |
| JP2006236193A (en) * | 2005-02-28 | 2006-09-07 | Fujitsu Ltd | Start program execution method, device, storage medium, and program |
| JP2006268861A (en) * | 2005-03-24 | 2006-10-05 | Utimaco Safeware Ag | Method and control device for controlling access of computer to user data |
| JP2007219802A (en) * | 2006-02-16 | 2007-08-30 | Hitachi Global Storage Technologies Netherlands Bv | Storage device, controller thereof, and control method thereof |
| JP2008165758A (en) * | 2006-12-07 | 2008-07-17 | Matsushita Electric Ind Co Ltd | Recording device, integrated circuit, access control method, program recording medium |
| WO2008081801A1 (en) * | 2006-12-27 | 2008-07-10 | Panasonic Corporation | Information terminal, security device, data protection method, and data protection program |
| JP2008226191A (en) * | 2007-03-15 | 2008-09-25 | Nec Corp | System, method, and program for authenticating information processing terminal |
| JP2009129061A (en) * | 2007-11-21 | 2009-06-11 | Ricoh Co Ltd | Information processing apparatus, validity verification method, and validity verification program |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2019068341A (en) * | 2017-10-04 | 2019-04-25 | 三菱電機株式会社 | Control device and control method |
Also Published As
| Publication number | Publication date |
|---|---|
| JP5355351B2 (en) | 2013-11-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101176646B1 (en) | System and method for protected operating system boot using state validation | |
| JP3689431B2 (en) | Method and apparatus for secure processing of encryption keys | |
| US10516533B2 (en) | Password triggered trusted encryption key deletion | |
| EP2207121B1 (en) | Protecting content on virtualized client platforms | |
| EP2369520B1 (en) | Computer architecture for an electronic device providing sls access to mls file system with trusted loading and protection of program execution memory | |
| US8677482B2 (en) | Hardware security for software processes | |
| CN107438849A (en) | For the system and method for the integrality for verifying electronic equipment | |
| JP4116024B2 (en) | Peripheral usage management method, electronic system and component device thereof | |
| Götzfried et al. | Mutual authentication and trust bootstrapping towards secure disk encryption | |
| JP4724107B2 (en) | User authentication method using removable device and computer | |
| JP4754299B2 (en) | Information processing device | |
| JP5355351B2 (en) | Computer | |
| CN112257064A (en) | A nested page table measurement method, device and related equipment | |
| Zhao et al. | Hypnoguard: Protecting secrets across sleep-wake cycles | |
| CN114091027A (en) | Information configuration method, data access method, related device and equipment | |
| CN121333644A (en) | Data processing method, system, device, medium and program product | |
| Tanaka et al. | Secure Generation of Digital Signature on Compromised Computer | |
| HK1087216B (en) | System and method for protected operating systems boot using state validation | |
| CN102915419A (en) | Virus scanning method and scanning system |
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 |