【誤訳訂正書】
【提出日】平成23年4月15日(2011.4.15)
【誤訳訂正１】
【訂正対象書類名】明細書
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【発明の詳細な説明】
【発明の名称】安全チップによるウイルス防止方法
【技術分野】
【０００１】
本発明は、安全チップによるウイルス防止方法に関し、安全チップを信頼の根（root of trust）として、BIOSコードファイル、MBRコードファイル、信頼可能ファイルなどの計算機キーファイルに対して安全支援及び知能修復を行うとともに、オペレーティングシステム（以下、単にOSと呼ばれる）の実行際にファイル監視機能を実行し、完全な信頼チェーンを建てることにより、OSの安全な起動を実現し、悪意あるプログラムの実行を防ぐことができ、公知や未知なウイルスの防止という目的を達成できる。
【背景技術】
【０００２】
現在、上記のような目的を実現することができる複数の解決案がある。例えば、従来技術で公知となる普通のウイルス防止方法では、ウイルス走査エンジンを用いて、内部メモリ及び磁気ディスクファイルを走査して監視するとともに、ウイルス特徴ライブラリに基づいて比較し、ウイルスが発見された場合、警報を発しそれを削除する。しかしながら、この方法は、公知のウイルスしか発見できないという欠陥があり、また、OSを始動させた後に実行されるので、OSの始動前と始動中の過程を監視することができない。
【０００３】
また、ハードディスクのHPAを利用してOSカーネルファイルを支援し、カーネルファイルと支援ファイルとをチェックし、両者が一致しない場合には、それを修復させる又は支援させるようにユーザーに提示するOS修復方法が知られている。この方法は、TPM安全チップが採用されておらず、安全性が十分ではないという欠陥がある。ハードディスクのHPAは攻撃者に変更され易いものであり、支援ファイルが変更されたことに発見されない可能であるからである。
【０００４】
したがって、OSの始動前と始動中に、悪意あるプログラムの実行を防ぐことができ、公知や未知なウイルスの防止という目的を達成することができる安全チップによるウイルス防止方法が必要になる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
この発明は従来技術における欠陥を克服するためになされたもので、その目的は、安全チップを信頼の根として、BIOSコードファイル、MBRコードファイル、信頼可能ファイルなどの計算機キーファイルに対して安全支援及び知能修復を行うとともに、OSの実行際にファイル監視機能を実行することにより、完全な信頼チェーンを建て、これにより、OSの安全な始動を実現し、悪意あるプログラムの実行を防ぐことができ、公知や未知なウイルスの防止という目的を達成できる安全チップによるウイルス防止方法を提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明によれば、計算機キーファイルとシステム制御プログラムとに対してハッシング演算を行って得られたハッシュ値を安全チップのメモリに記憶するとともに、計算機キーファイルの支援ファイルを支援記憶エリアに記憶するステップと、機器に電源を入れる場合、安全チップのメモリに記憶されたシステム制御プログラムのハッシュ値を利用して、システム制御プログラムの完全性をチェックするステップと、システム制御プログラムが完全であれば、前記システム制御プログラムにより制御を実行し、前記システム制御プログラムは、安全チップのメモリに記憶された計算機キーファイルのハッシュ値を利用して、計算機キーファイルの完全性をチェックするステップと、計算機キーファイルはともに完全であれば、OSを始動させるステップと、反して、計算機キーファイルのいずれかは不完全であれば、支援記憶エリアに記憶された計算機キーファイルの支援ファイルを利用して、それを回復させるステップと、を含む安全チップによるウイルス防止方法が提供する。
【０００７】
前記計算機キーファイルは、BIOSコードファイルと、MBR部分のコードファイルと、信頼可能ファイルとを含むことが好ましい。
【０００８】
前記システム制御プログラムは、安全チップのメモリに記憶された計算機キーファイルのハッシュ値を利用して、計算機キーファイルの完全性をチェックするステップでは、前記システム制御プログラムは、それぞれ、安全チップのメモリに記憶されたBIOSコードファイル、MBR部分のコードファイル、信頼可能ファイルの各々のハッシュ値を利用して、BIOSコードファイル、MBR部分のコードファイル、信頼可能ファイルの完全性を順にチェックするステップを含むことが好ましい。
【０００９】
前記支援記憶エリアはハードディスク保護エリアであることが好ましい。
【００１０】
上記方法において、OSを始動させた後、システム制御プログラムにより、安全チップのメモリに記憶された信頼可能ファイルのハッシュ値を利用して、信頼可能ファイルのハッシュ値をリアルタイムにチェックするステップと、信頼可能ファイルが完全である且つ実行すべきファイルが信頼可能リストに存在している場合には、前記実行すべきファイルの実行を許可するステップと、反して、前記実行すべきファイルの実行を禁止するステップと、をさらに含むことが好ましい。
【００１１】
前記安全チップのメモリに記憶されたシステム制御プログラムのハッシュ値を利用して、システム制御プログラムの完全性をチェックするステップでは、現在のシステム制御プログラムに対して前記ハッシング演算と同じハッシング演算を行って、現在のシステム制御プログラムのハッシュ値を取得するステップと、前記ハッシュ値と、安全チップのメモリに記憶されたシステム制御プログラムのハッシュ値とを比較するステップと、両者が一致する場合には、現在のシステム制御プログラムが完全であることは示されているステップと、を含むことが好ましい。
【００１２】
前記安全チップのメモリに記憶された計算機キーファイルのハッシュ値を利用して、計算機キーファイルの完全性をチェックするステップでは、計算機キーファイルに対して前記ハッシング演算と同じハッシング演算を行って、現在の計算機キーファイルのハッシュ値を取得するステップと、前記ハッシュ値と、安全チップのメモリに記憶された計算機キーファイルにおける該当するハッシュ値とを比較するステップと、両者が一致する場合には、計算機キーファイルが完全であることは示されているステップと、を含むことが好ましい。
【００１３】
安全チップのメモリに記憶されたハッシュ値は、2回のハッシング演算を行って得られたハッシュ値であることが好ましい。
【００１４】
前記2回のハッシング演算にそれぞれ採用されている2つのハッシング関数は同じであることが好ましい。
【００１５】
前記2回のハッシング演算にそれぞれ採用されている2つのハッシング関数は異なっていることが好ましい。
【００１６】
前記信頼可能ファイルは感染されていないOSカーネルファイルであることが好ましい。
【００１７】
前記安全チップのメモリは、安全チップの認証保護に受けられていることが好ましい。
【発明を実施するための最良の形態】
【００１８】
以下、図面を結合しつつ採用された最適実施例に対する詳しい説明により、本発明の上記目的、優点および特徴は明らかになることである。
【００１９】
本発明の技術原理とは、安全チップを信頼の根として、システム始動中の各段階の完全性検査を行い、信任関係を伝達してコンピューター系全体の信頼可能計算環境を建てることにより、アンチウイルスを達成することにある。
【００２０】
以下、図面を参照しつつ本発明に係わる最適実施例を説明する。
【００２１】
図１は、安全チップによるウイルス防止方法を実現するために、安全チップのメモリ及びHPA記憶エリアに記憶された内容と、BIOSコードファイル、MBRコードファイル、信頼可能ファイル（計算機キーファイル）との関係を示す模式図である。
【００２２】
図1に示すように、正確なBIOSコードファイル及びそのハッシュ値（hash値）をハードディスクの保護エリア（HPAエリアであって、ハードディスク隠れエリアともいう）に予め記憶しておく。該HPAエリアは普通のユーザーがアクセスできないものである。なお、HPAエリアをデータ保護エリアとして用いることは、本分野で公知のことである。次に、該ハッシュ値を再度ハッシング演算して得られたハッシュ値が、安全チップのメモリに記憶される。すなわち、BIOSコードファイルを二度ハッシング演算して得られたハッシュ値が、図１に示す安全チップのメモリに記憶される。該安全チップのメモリは安全チップに保護され、安全チップの所有者から許可及び認証を取得した場合のみにアクセス可能である。安全チップ技術も本分野で公知のことであるので、ここで詳しく説明しない。
【００２３】
同様に、正確なハードディスクのMBR部分のコードファイル及びそのハッシュ値をハードディスクの保護エリアに予め記憶しておく。そして、該ハッシュ値を再度ハッシング演算して得られたハッシュ値が、安全チップのメモリに記憶される。
【００２４】
同様に、信頼可能ファイルリストを予め建てておき、該リストにおける信頼可能ファイル（主に、感染されていないOSカーネルファイル）及びそのハッシュ値をハードディスクの保護エリアに予め記憶しておく。そして、全ての信頼可能ファイルのハッシュ値に対して再度ハッシング演算を行って得られたハッシュ値を、安全チップのメモリに記憶する。
【００２５】
最後に、システム制御プログラムファイル及びそのハッシュ値もハードディスクの保護エリアに記憶されることになる。そして、該ハッシュ値に対して再度ハッシング演算を行って得られたハッシュ値を、安全チップのメモリに記憶する。
【００２６】
以上のように、BIOSコードファイル、MBR部分のコードファイル、信頼可能ファイル及びシステム制御プログラムファイルに対して１回のハッシング演算を行って得られたハッシュ値は、ハードディスクの保護エリアに記憶されていることになる。また、BIOSコードファイル、MBR部分のコードファイル、信頼可能ファイルが変更された場合に回復させるために、それらの支援ファイル及びシステム制御プログラムファイルが記憶されている。BIOSコードファイル、MBR部分のコードファイル、信頼可能ファイル及びシステム制御プログラムファイルに対して２回のハッシング演算が行って得られたハッシュ値は、安全チップのメモリに記憶されおり、以下に詳しく説明するように、機器の始動前と始動後にチェック操作を行うために用いられる。
【００２７】
例示として、図１に示すように、一般的に、MBR部分のコードファイル記憶エリア、信頼可能ファイル記憶エリア及びHPAエリアがハードディスクに位置する一方、BIOSコードファイルがコンピューターのROM内に位置することに注意すべきである。なお、以上、２回のハッシング演算を行うことによりハッシュ値を取得する形態を例示として説明したが、本発明はこれに限定されるものではなく、任意の回数のハッシング演算を行ってもよい。なお、BIOSコードファイル、MBR部分のコードファイル、信頼可能ファイルは、必ずHPAエリアに記憶されるものではなく、任意の形式（例えば、ハードディスク、ROMなど）のファイル支援エリアに記憶してもよい。
【００２８】
図２は、本発明の安全チップによるウイルス防止方法のフローチャートを示す図である。
【００２９】
図２に示すように、機器に電源を投入する場合（ステップ201）、安全チップによりHPAの中の制御プログラムをチェックし、即ち、安全チップは制御プログラムに対して２回のハッシング演算を行う（ステップ203）。ここで、２回のハッシング演算は上記のように行われる。その後、２回のハッシング演算を行って得られたハッシュ値と、安全チップのメモリに記憶されたハッシュ値とを比較する（ステップ205）。一致しない場合（ステップ205でNO）には、始動を停止させてリターンする。一致する場合（ステップ205でYES）には、制御権を制御プログラムに与えて、制御プログラムにより、BIOSコードファイル、MBR（Master Boot Record）コードファイル及び信頼可能ファイルを順にチェックし、即ち、BIOSコードファイル、MBRコードファイル及び信頼可能ファイルに対して２回のハッシング演算を行う（ステップ207、ステップ211及びステップ215）。次に、２回のハッシング演算を行って得られたハッシュ値と、安全チップのメモリに記憶されたハッシュ値とを比較して（ステップ209、ステップ213及びステップ217）、即ち、BIOSコードファイル、MBRコードファイル及び信頼可能ファイルの完全性を検査する。一致しない場合（ステップ209、ステップ213及びステップ217でNO）には、破壊されたBIOSコードファイル、MBRコードファイル及び信頼可能ファイルを修復し（ステップ227）、即ち、破壊されたBIOSコードファイル、MBRコードファイル及び信頼可能ファイルをHPAにおける該当する支援ファイルで回復する。これにより、OSの始動前にBIOS/MBR/OSの正常状態の回復を保証でき、ウイルスの影響を直接的に解消でき、公知や未知なウイルスを効果的に防止して、OSの安全な始動を保証できる。
【００３０】
OSが実行された後（ステップ219）、システム制御プログラムは信頼可能ファイルの状態をリアルタイムに監視し（ステップ221）、即ち、信頼可能ファイルに対して２回のハッシング演算を行って得られたハッシュ値と、安全チップのメモリに記憶された該当するハッシュ値とを比較して、信頼可能ファイルの完全性を検査する。ハッシュ値と安全チップに記憶された記憶値とが一致しないと発見された場合（ステップ221でNO）には、ユーザーの選択によって自動的に修復する又は更新する（ステップ229）。該修復過程は以上の修復過程と類似である。逆に、一致する場合（ステップ221でYES）には、実行すべきファイルは該信頼可能リストに存在しているかを検査する（ステップ223）。該ファイルは該信頼可能リストに存在していない場合（ステップ223でNO）には、ユーザーからの選択によって実行を禁止する（ステップ231）。この作法によれば、ウイルス特徴ライブラリに関らず公知や未知なウイルスを防止する目的に達成でき、各種のウイルスがシステムで実行できないことになる。反して、該プログラムが信頼可能リストに存在していれば（ステップ223でYES）、該プログラムの実行を許可する。
【００３１】
以上に言及された2回のハッシング演算について、2回のハッシング演算に採用されたハッシング関数は同じでもよいし、異なってもよい。
【００３２】
本発明によれば、安全チップを用いてシステム・キー情報を保存しているので、安全性が高く、HPAの安全性を保証しており、ハードウェアレベルの完全性計量手段を提供している。なお、本発明において、保護されるOSと独立して、BIOSから、ハードディスク情報及びOSカーネルファイルなどのシステム始動における主要な一環の完全性計量を行うので、一般的なウイルスアンチソフトよりも、下層的且つ徹底的な防護を提供することができる。
【００３３】
以上、本発明の最適実施形態を結合しつつ本発明を例示したが、本発明の精神と範囲とを逸脱することなしに、本発明に種々の補正、切り替え及び変更を行う可能であることが、当業者にとって理解できる。したがって、本発明は、上記実施例により限定されるべきものではなく、添付した請求の範囲及びその等価物により限定されるべきものである。
【図面の簡単な説明】
【００３４】
【図１】安全チップによるウイルス防止方法を実現するために、安全チップのメモリ及びHPA記憶エリアに記憶された内容と、BIOS（Basic Input Output System）コードファイル、MBR（Master Boot Record）コードファイル、信頼可能ファイルとの関係を示す模式図である。
【図２】本発明の安全チップによるウイルス防止方法のフローチャートを示す図である。
【誤訳訂正２】
【訂正対象書類名】特許請求の範囲
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【特許請求の範囲】
【請求項１】
計算機キーファイルとシステム制御プログラムとに対して２回のハッシング演算を行って得られたハッシュ値を、安全チップのメモリに記憶するとともに、計算機キーファイルの支援ファイルを支援記憶エリアに記憶するステップと、
機器に電源を投入する場合、安全チップのメモリに記憶されたシステム制御プログラムのハッシュ値を利用して、システム制御プログラムの完全性をチェックするステップと、
システム制御プログラムが完全であれば、前記システム制御プログラムにより制御を実行し、前記システム制御プログラムが、安全チップのメモリに記憶された計算機キーファイルのハッシュ値を利用して、計算機キーファイルの完全性をチェックするステップと、
計算機キーファイルがともに完全であれば、OSを始動させるステップと、
逆に、計算機キーファイルのいずれかが不完全であれば、支援記憶エリアに記憶された計算機キーファイルの支援ファイルを利用して、それを回復させるステップと、
を含むことを特徴とする安全チップによるウイルス防止方法。
【請求項２】
前記計算機キーファイルは、BIOSコードファイルと、MBR部分のコードファイルと、信頼可能ファイルとを含むことを特徴とする請求項１に記載された方法。
【請求項３】
前記システム制御プログラムは、安全チップのメモリに記憶された計算機キーファイルのハッシュ値を利用して、計算機キーファイルの完全性をチェックするステップには、
前記システム制御プログラムが、それぞれ、安全チップのメモリに記憶されたBIOSコードファイル、MBR部分のコードファイル、信頼可能ファイルの各々のハッシュ値を利用して、BIOSコードファイル、MBR部分のコードファイル、信頼可能ファイルの完全性を順にチェックするステップを含むことを特徴とする請求項２に記載された方法。
【請求項４】
前記支援記憶エリアはハードディスク保護エリアであることを特徴とする請求項１に記載された方法。
【請求項５】
オペレーティングシステムを始動させた後、システム制御プログラムにより、安全チップのメモリに記憶された信頼可能ファイルのハッシュ値を利用して、信頼可能ファイルのハッシュ値をリアルタイムにチェックするステップと、
信頼可能ファイルが完全である且つ実行すべきファイルが信頼可能リストに存在している場合には、前記実行すべきファイルの実行を許可するステップと、
反して、前記実行すべきファイルの実行を禁止するステップと、
をさらに含むことを特徴とする請求項２に記載された方法。
【請求項６】
前記安全チップのメモリに記憶されたシステム制御プログラムのハッシュ値を利用して、システム制御プログラムの完全性をチェックするステップには、
現在のシステム制御プログラムに対して前記ハッシング演算と同じハッシング演算を行って、現在のシステム制御プログラムのハッシュ値を取得するステップと、
前記ハッシュ値と、安全チップのメモリに記憶されたシステム制御プログラムのハッシュ値とを比較するステップと、
両者が一致する場合には、現在のシステム制御プログラムが完全であることは示されているステップと、
を含むことを特徴とする請求項１に記載された方法。
【請求項７】
前記安全チップのメモリに記憶された計算機キーファイルのハッシュ値を利用して、計算機キーファイルの完全性をチェックするステップには、
計算機キーファイルに対して前記ハッシング演算と同じハッシング演算を行って、現在の計算機キーファイルのハッシュ値を取得するステップと、
前記ハッシュ値と、安全チップのメモリに記憶された計算機キーファイルにおける該当するハッシュ値とを比較するステップと、
両者が一致する場合には、計算機キーファイルが完全であることが示されているステップと、
を含むことを特徴とする請求項１に記載された方法。
【請求項８】
前記2回のハッシング演算にそれぞれ採用されている2つのハッシング関数は同じであることを特徴とする請求項１に記載された方法。
【請求項９】
前記2回のハッシング演算にそれぞれ採用されている2つのハッシング関数は異なっていることを特徴とする請求項１に記載された方法。
【請求項１０】
前記信頼可能ファイルは感染されていないOSカーネルファイルであることを特徴とする請求項１に記載された方法。
【請求項１１】
前記安全チップのメモリは、安全チップの認証によって保護されていることを特徴とする請求項１に記載された方法。
【誤訳訂正３】
【訂正対象書類名】図面
【訂正対象項目名】全図
【訂正方法】変更
【訂正の内容】
【図１】
2009521760.tif 000001
【図２】
2009521760.tif 000002