JP6257460B2 - 遠隔完全性検証システム、方法及びプログラム - Google Patents
遠隔完全性検証システム、方法及びプログラム Download PDFInfo
- Publication number
- JP6257460B2 JP6257460B2 JP2014130252A JP2014130252A JP6257460B2 JP 6257460 B2 JP6257460 B2 JP 6257460B2 JP 2014130252 A JP2014130252 A JP 2014130252A JP 2014130252 A JP2014130252 A JP 2014130252A JP 6257460 B2 JP6257460 B2 JP 6257460B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- verification
- unit
- integrity verification
- checksum
- 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
Links
Images
Description
また、非特許文献1から非特許文献3は、上記のハードウェアモジュールを利用する際の欠点を鑑み、ソフトウェアで実現されたモジュールをベースに完全性検証を実施している。しかしながら、攻撃者が検証処理の開始を検知して自身の攻撃コードを隠ぺいするような検証を回避する行動を行う場合に対して対策がなされていない。
さらに、非特許文献5は、攻撃者に制約下がある環境下でのみ有効となる技術である。そのため、上記のような検証回避を行う攻撃者、及び検証を行うソフトウェアモジュールの改ざんを行う攻撃者に対して耐性がない。
(1) 検証される装置である検証対象装置において作動するようにインストールされた完全性検証モジュールと、前記検証対象装置の完全性を検証する完全性検証装置とを備える遠隔完全性検証システムであって、前記完全性検証装置は、検査に用いるための乱数情報を含む検査要求を前記検証対象装置に送信する要求送信手段を備え、前記検証対象装置は、前記完全性検証モジュールを起動する起動手段を備え、前記完全性検証モジュールは、前記起動手段が前記完全性検証モジュールを起動する際に記録された分岐情報を分岐情報記憶手段に記憶させる分岐情報記憶制御部と、前記起動手段によって起動されたか否かを前記分岐情報記憶手段に記憶された前記分岐情報に基づいて判定する起動判定部と、前記起動手段によって起動されていないと前記起動判定部によって判定された場合に、異常な起動を示す情報を通知する異常起動通知部と、前記起動手段によって起動されたと前記起動判定部によって判定された場合に、前記要求送信手段によって送信された前記検査要求を受信する要求受信部と、前記要求受信部によって受信された前記乱数情報に基づくコードを含めた、前記完全性検証モジュール自身のプログラムコードのチェックサムを計算するチェックサム計算部と、前記検証対象装置における検査情報を前記完全性検証装置に送信する検査情報送信部と、を有し、前記検査情報送信部は、前記異常起動通知部によって通知された異常な起動を示す情報、又は前記チェックサム計算部によって計算された前記チェックサムを含む前記検査情報を前記完全性検証装置に送信し、前記完全性検証装置は、前記検証対象装置の前記完全性検証モジュールから前記検査情報を受信する検査情報受信手段と、受信した前記検査情報が異常な起動を示す情報を含む場合に、前記検証対象装置が完全ではないと判定する検査情報判定手段と、受信した前記検査情報が前記チェックサムを含む場合に、計算された前記チェックサムを検証するチェックサム検証手段と、を備え、前記検査情報判定手段は、前記検査情報が異常な起動を示す情報を含まない場合に、前記チェックサム検証手段によって検証された情報に基づいて、前記検証対象装置が完全であるか否かをさらに判定する、遠隔完全性検証システム。
すなわち、本発明によれば、以下のように攻撃を検知することができる。
(1)攻撃者が完全性検証モジュールのコードを改ざんしようと攻撃しても、完全性検証モジュールのコードのチェックサムを計算、照合することで検知できる。
(2)攻撃者がプラットフォームソフトウェアのコードを改ざんしようと攻撃しても、プラットフォームソフトウェアのコードのハッシュ値を計算、照合することで検知できる。
(3)攻撃者が割り込み処理、メモリ上の分岐元アドレス、分岐先アドレスの書換によって検証手順の途中に介在し、改ざん、挿入コードを隠ぺいし、検証手順終了後に当該コードをメモリ上に再ロードする攻撃をしても、割り込みの無効化によって割り込みによる検証手順への介在を防止できる。また、命令分岐の履歴情報を加味したチェックサムの計算により、攻撃者の介在を検知できる。さらに、所要時間の検査によって改ざん、挿入コードの隠ぺい処理によって発生する所要時間の遅延を検知できる。
(4)攻撃者が事前にチェックサムを計算し、それを検査結果として送信することで検証処理を成功させようと攻撃しても、チェックサムの計算時に、チェックサムの計算に利用するコードをランダムに選択することで、事前計算が不可能となる。
図1は、本発明の一実施形態に係る遠隔完全性検証システム1の構成を示す図である。遠隔完全性検証システム1は、検証される装置である検証対象装置30において作動するようにインストールされた完全性検証モジュール31と、検証対象装置30の完全性を検証する完全性検証装置10とを備える。以下の実施形態では、検証対象となるプラットフォームとしてハイパーバイザ(仮想化環境プラットフォームソフトウェア)を想定する。
遠隔完全性検証システム1における完全性検証装置10は、検査情報検証手段11として検査情報判定手段111と、チェックサム検証手段112と、時間測定手段113と、所要時間判定手段114と、ハッシュ値検証手段115とを備え、通信手段12として要求送信手段121と、検査情報受信手段122とを備える。
遠隔完全性検証システム1における検証対象装置30は、起動手段32を備え、検証対象装置30においてインストールされた完全性検証モジュール31は、通信部313として要求受信部3131と、検査情報送信部3132とを有し、自己検証情報生成部311として分岐情報記憶制御部3111と、起動判定部3112と、異常起動通知部3113と、チェックサム計算部3114とを有し、プラットフォーム検証情報生成部312としてハッシュ値計算部3121を有し、分岐情報記憶手段320を有する。
例えば、チェックサム計算部3114は、チェックサムの計算における各繰り返し処理のはじめに、命令分岐の履歴情報をチェックサムの計算に加えるかどうかを判断する。チェックサム計算部3114は、この判断を当該乱数情報に基づき行う。命令分岐の履歴情報をチェックサムの計算に加える場合、チェックサム計算部3114は、計算に加味する履歴情報を、分岐情報記憶手段320から、乱数情報に基づきランダムに選択する(例えば、乱数情報が5bf・・・の場合に、分岐情報の記憶数(例えば、16個)以内の値のうち最初の値である「5」に基づいて、最新から5番目の分岐情報を選択する)。そして、チェックサム計算部3114は、選択された分岐情報と、上述のように別途選択されたコードとからチェックサムを計算する。
完全性検証装置10のハッシュ値検証手段115は、検査情報受信手段122によって受信されたハッシュ値を検証する。具体的には、ハッシュ値検証手段115は、受信された検査情報に含まれるハッシュ値と、完全性検証装置10において保持するプラットフォーム検証用情報に含まれる検証用ハッシュ値とを照合する。
検査情報判定手段111は、所要時間判定手段114による判定に基づいて、検証対象装置30が完全であると判定した場合に、さらに、ハッシュ値検証手段115によって検証された情報に基づいて、検証対象装置30が完全であるか否かを判定する。
検査情報判定手段111は、ハッシュ値検証手段115による照合が一致する場合に、ハイパーバイザは攻撃されていないと判断し、検証対象装置30が完全であると判定する。
さらに、完全性検証装置10は、チェックサムによって検証された情報に基づいて検証対象装置30が完全であると判定した場合に、検査要求の送信から、検査情報の受信までの測定した所要時間が所定値よりも小さいか否かを判定し、検証対象装置30が完全であるか否かを判定する。
さらに、完全性検証装置10は、所要時間による判定に基づいて、検証対象装置30が完全であると判定した場合に、完全性検証モジュール31によってプラットフォームのプログラムコードから計算されたハッシュ値を検証し、検証対象装置30が完全であるか否かを判定する。
したがって、遠隔完全性検証システム1は、特殊なハードウェアモジュールの搭載を前提とせずに、攻撃者の検証回避攻撃の検出を可能にし、プラットフォームの完全性検証を実現することができる。
10 完全性検証装置
11 検査情報検証手段
111 検査情報判定手段
112 チェックサム検証手段
113 時間測定手段
114 所要時間判定手段
115 ハッシュ値検証手段
12 通信手段
121 要求送信手段
122 検査情報受信手段
30 検証対象装置
31 完全性検証モジュール
311 自己検証情報生成部
3111 分岐情報記憶制御部
3112 起動判定部
3113 異常起動通知部
3114 チェックサム計算部
312 プラットフォーム検証情報生成部
3121 ハッシュ値計算部
313 通信部
3131 要求受信部
3132 検査情報送信部
320 分岐情報記憶手段
32 起動手段
Claims (7)
- 検証される装置である検証対象装置において作動するようにインストールされた完全性検証モジュールと、前記検証対象装置の完全性を検証する完全性検証装置とを備える遠隔完全性検証システムであって、
前記完全性検証装置は、
検査に用いるための乱数情報を含む検査要求を前記検証対象装置に送信する要求送信手段を備え、
前記検証対象装置は、
前記完全性検証モジュールを起動する起動手段を備え、
前記完全性検証モジュールは、
前記起動手段が前記完全性検証モジュールを起動する際に記録された分岐情報を分岐情報記憶手段に記憶させる分岐情報記憶制御部と、
前記起動手段によって起動されたか否かを前記分岐情報記憶手段に記憶された前記分岐情報に基づいて判定する起動判定部と、
前記起動手段によって起動されていないと前記起動判定部によって判定された場合に、異常な起動を示す情報を通知する異常起動通知部と、
前記起動手段によって起動されたと前記起動判定部によって判定された場合に、前記要求送信手段によって送信された前記検査要求を受信する要求受信部と、
前記要求受信部によって受信された前記乱数情報に基づくコードを含めた、前記完全性検証モジュール自身のプログラムコードのチェックサムを計算するチェックサム計算部と、
前記検証対象装置における検査情報を前記完全性検証装置に送信する検査情報送信部と、を有し、
前記検査情報送信部は、前記異常起動通知部によって通知された異常な起動を示す情報、又は前記チェックサム計算部によって計算された前記チェックサムを含む前記検査情報を前記完全性検証装置に送信し、
前記完全性検証装置は、
前記検証対象装置の前記完全性検証モジュールから前記検査情報を受信する検査情報受信手段と、
受信した前記検査情報が異常な起動を示す情報を含む場合に、前記検証対象装置が完全ではないと判定する検査情報判定手段と、
受信した前記検査情報が前記チェックサムを含む場合に、計算された前記チェックサムを検証するチェックサム検証手段と、を備え、
前記検査情報判定手段は、前記検査情報が異常な起動を示す情報を含まない場合に、前記チェックサム検証手段によって検証された情報に基づいて、前記検証対象装置が完全であるか否かをさらに判定する、
遠隔完全性検証システム。 - 前記完全性検証装置は、
前記検査情報送信部による前記検査要求の送信から、前記検査情報受信手段による前記検査情報の受信までの所要時間を測定する時間測定手段と、
前記時間測定手段によって測定された所要時間が所定値よりも小さいか否かを判定する所要時間判定手段と、をさらに備え、
前記検査情報判定手段は、前記チェックサム検証手段によって検証された情報に基づいて前記検証対象装置が完全であると判定した場合に、さらに、前記所要時間判定手段による判定に基づいて、前記検証対象装置が完全であるか否かを判定する、
請求項1に記載の遠隔完全性検証システム。 - 前記完全性検証モジュールは、
検査対象となるプラットフォームのプログラムコードからハッシュ値を計算するハッシュ値計算部をさらに有し、
前記検査情報送信部は、前記ハッシュ値計算部によって計算された前記ハッシュ値をさらに検査情報に含めて送信し、
前記完全性検証装置は、
前記検査情報受信手段によって受信された前記ハッシュ値を検証するハッシュ値検証手段をさらに備え、
前記検査情報判定手段は、前記所要時間判定手段による判定に基づいて、前記検証対象装置が完全であると判定した場合に、さらに、前記ハッシュ値検証手段によって検証された情報に基づいて、前記検証対象装置が完全であるか否かを判定する、
請求項2に記載の遠隔完全性検証システム。 - 前記チェックサム計算部は、前記検査情報に含まれる乱数情報に基づいて、前記完全性検証モジュール自身のプログラムコードのうち選択したプログラムコードに基づいて、前記チェックサムを計算する、請求項1から3のいずれか一項に記載する遠隔完全性検証システム。
- 前記チェックサム計算部は、前記検査情報に含まれる乱数情報に基づいて、
前記分岐情報記憶手段に記憶された前記分岐情報を選択し、選択した前記分岐情報を含めて、前記チェックサムを計算する、請求項1から4のいずれか一項に記載する遠隔完全性検証システム。 - 請求項1に記載の遠隔完全性検証システムが実行する方法であって、
前記完全性検証装置において、
前記要求送信手段が、検査に用いるための乱数情報を含む検査要求を前記検証対象装置に送信する要求送信ステップと、
前記検証対象装置において、
前記起動手段が、前記完全性検証モジュールを起動する起動ステップと、
前記完全性検証モジュールにおいて、
前記分岐情報記憶制御部が、前記起動手段が前記完全性検証モジュールを起動する際に記録された分岐情報を分岐情報記憶手段に記憶させる分岐情報記憶制御ステップと、
前記起動判定部が、前記起動ステップによって起動されたか否かを前記分岐情報記憶手段に記憶された前記分岐情報に基づいて判定する起動判定ステップと、
前記異常起動通知部が、前記起動ステップによって起動されていないと前記起動判定ステップによって判定された場合に、異常な起動を示す情報を通知する異常起動通知ステップと、
前記要求受信部が、前記起動手段によって起動されたと前記起動判定部によって判定された場合に、前記要求送信手段によって送信された前記検査要求を受信する要求受信ステップと、
前記チェックサム計算部が、前記要求受信ステップによって受信された前記乱数情報に基づくコードを含めた、前記完全性検証モジュール自身のプログラムコードのチェックサムを計算するチェックサム計算ステップと、
前記検査情報送信部が、前記異常起動通知ステップによって通知された異常な起動を示す情報、又は前記チェックサム計算ステップによって計算された前記チェックサムを含む前記検査情報を前記完全性検証装置に送信するステップと、
前記完全性検証装置において、
前記検査情報受信手段が、前記検証対象装置の前記完全性検証モジュールから前記検査情報を受信する検査情報受信ステップと、
前記検査情報判定手段が、受信した前記検査情報が異常な起動を示す情報を含む場合に、前記検証対象装置が完全ではないと判定する検査情報判定ステップと、
前記チェックサム検証手段が、受信した前記検査情報が前記チェックサムを含む場合に、計算された前記チェックサムを検証するチェックサム検証ステップと、
前記検査情報判定手段が、前記検査情報が異常な起動を示す情報を含まない場合に、前記チェックサム検証ステップによって検証された情報に基づいて、前記検証対象装置が完全であるか否かをさらに判定するステップと、を備える方法。 - 請求項1に記載の遠隔完全性検証システムにおいて、前記完全性検証装置のコンピュータ及び前記検証対象装置のコンピュータに、請求項6に記載の各ステップを実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014130252A JP6257460B2 (ja) | 2014-06-25 | 2014-06-25 | 遠隔完全性検証システム、方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014130252A JP6257460B2 (ja) | 2014-06-25 | 2014-06-25 | 遠隔完全性検証システム、方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016010031A JP2016010031A (ja) | 2016-01-18 |
JP6257460B2 true JP6257460B2 (ja) | 2018-01-10 |
Family
ID=55227317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014130252A Active JP6257460B2 (ja) | 2014-06-25 | 2014-06-25 | 遠隔完全性検証システム、方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6257460B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG10201602449PA (en) | 2016-03-29 | 2017-10-30 | Huawei Int Pte Ltd | System and method for verifying integrity of an electronic device |
JP6930884B2 (ja) * | 2017-09-20 | 2021-09-01 | Necプラットフォームズ株式会社 | Bios管理装置、bios管理システム、bios管理方法、及び、bios管理プログラム |
EP3495979A1 (de) * | 2017-12-08 | 2019-06-12 | Siemens Aktiengesellschaft | Verfahren und bestätigungsvorrichtung zur integritätsbestätigung eines systems |
JP7430817B2 (ja) | 2020-03-13 | 2024-02-13 | 華為技術有限公司 | 通信方法、装置、およびシステム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006259848A (ja) * | 2005-03-15 | 2006-09-28 | Matsushita Electric Ind Co Ltd | プログラム実行装置、プログラム実行方法、および、プログラム |
JP4997242B2 (ja) * | 2005-08-25 | 2012-08-08 | フォーティファイ ソフトウェア, エルエルシー | セキュリティを提供するためのプログラムの解析および補完のための装置および方法 |
DE102011004978B4 (de) * | 2011-03-02 | 2021-12-09 | Siemens Aktiengesellschaft | Verfahren, Steuerungseinrichtung und System zum Nachweis von Verletzungen der Authentzität von Anlagenkomponenten |
JP2011003020A (ja) * | 2009-06-18 | 2011-01-06 | Toyota Infotechnology Center Co Ltd | コンピューターシステムおよびプログラム起動方法 |
JP5986897B2 (ja) * | 2012-11-13 | 2016-09-06 | Kddi株式会社 | 端末装置、完全性検証システム、およびプログラム |
-
2014
- 2014-06-25 JP JP2014130252A patent/JP6257460B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016010031A (ja) | 2016-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10176330B2 (en) | Global platform health management | |
CN109669734B (zh) | 用于启动设备的方法和装置 | |
CN110334521B (zh) | 可信计算系统构建方法、装置、可信计算系统及处理器 | |
US9652276B2 (en) | Hypervisor and virtual machine protection | |
US20080244114A1 (en) | Runtime integrity chain verification | |
US20140075522A1 (en) | Reliable verification of hypervisor integrity | |
US10915632B2 (en) | Handling of remote attestation and sealing during concurrent update | |
CN105608386A (zh) | 一种可信计算终端完整性度量、证明方法及装置 | |
EP1872231A2 (en) | Secure boot | |
JP6257460B2 (ja) | 遠隔完全性検証システム、方法及びプログラム | |
CN110334515B (zh) | 一种基于可信计算平台生成度量报告的方法及装置 | |
CN112650985A (zh) | 使用隐式数据签名人工智能水印的方法和系统 | |
US11062033B2 (en) | Independent integrity verification of security policy data in applications on a client | |
EP3338214B1 (en) | Secure computation environment | |
US8499351B1 (en) | Isolated security monitoring system | |
WO2014183643A1 (zh) | 具有安全启动功能的芯片的校验方法及校验装置 | |
CN113641463A (zh) | 虚拟化系统可信认证方法、系统及计算机可读存储介质 | |
US11520595B2 (en) | Industrial internet of things gateway boot methods | |
WO2022170966A1 (zh) | 在目标平台上启动应用程序的方法及装置 | |
CN116956298A (zh) | 应用运行环境检测方法和装置 | |
WO2013028059A1 (en) | Verification system for trusted platform | |
WO2019137614A1 (en) | Apparatus and method for runtime integrity protection for execution environments | |
KR102343406B1 (ko) | 데이터 파일을 보호하는 장치 및 컴퓨터 프로그램 | |
CN118312946A (en) | Host authentication method, host authentication device and related equipment thereof | |
Sim et al. | Secure firmware architecture using virtual hard disks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170118 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171024 |
|
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: 20171107 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171205 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6257460 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |