JP5969845B2 - 情報処理装置及びその制御方法 - Google Patents
情報処理装置及びその制御方法 Download PDFInfo
- Publication number
- JP5969845B2 JP5969845B2 JP2012159798A JP2012159798A JP5969845B2 JP 5969845 B2 JP5969845 B2 JP 5969845B2 JP 2012159798 A JP2012159798 A JP 2012159798A JP 2012159798 A JP2012159798 A JP 2012159798A JP 5969845 B2 JP5969845 B2 JP 5969845B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- determination
- value
- application
- storage means
- 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
Links
Images
Description
情報処理装置であって、
少なくとも正規なプログラムの状態を示す状態値を用いて復号可能な暗号化データを記憶する不揮発性の第1の記憶手段と、
プログラムの状態値を記憶するための、揮発性の第2の記憶手段と、
装置の起動後、実行指示されたプログラムの状態値を算出する算出手段と、
前記第2の記憶手段に記憶された状態値が、装置起動時の初期値であるか否かを判定する第1の判定手段と、
該第1の判定手段の判定の結果が、前記第2の記憶手段に前記初期値が状態値として記憶されていることを示す場合、前記第2の記憶手段における前記初期値を前記算出手段で算出した状態値で更新する更新手段と、
前記第1の判定手段の判定の結果が、前記第2の記憶手段に非初期値が記憶されていることを示す場合、前記算出手段で算出した前記実行指示されたプログラムの状態値に所定の演算を施した値と前記第2の記憶手段に記憶された状態値とが一致するか否かを判定する第2の判定手段と、
前記第1の判定手段の判定の結果が前記第2の記憶手段に前記初期値が記憶されていることを示す場合、又は、前記第2の判定手段の判定の結果が一致することを示している場合、前記第1の記憶手段に記憶されている暗号化データを、前記第2の記憶手段に記憶されている状態値に基づいて復号する復号手段と、
該復号手段による復号が成功した場合、前記実行指示されたプログラムは正規のプログラムであるとして判定し、前記復号手段による復号が不成功の場合、又は、前記第2の判定手段の判定の結果が不一致を示す場合、前記プログラムは非正規なプログラムの状態になっているものと判定する第3の判定手段と、を備える。
はじめに、図1を用いて、本実施の形態に適応可能な情報処理装置について説明する。図1は本実施形態に係る情報処理装置の基本構成を示す図である。同図において、情報処理装置110は、例えば一般に普及しているパーソナルコンピュータである。図1に示すように、本実施形態における情報処理装置110は、ROM11、HDD12(第1の記憶装置)、TPM(Trusted Platform Module)13、RAM14、及びCPU19から構成される。
DATA_i+1=H(DATA_i|INPUT) (式1)
ここで、INPUTは、TPM外部から入力されたデータ、或いはそのハッシュ値である。DATA_iはTPMに登録する時点で、既にPCRに記録されている値である。H(x)は値xに対するハッシュ関数(圧縮関数)である。「x|y」は値xと値yの連結である。DATA_i+1は外部から値INPUTが入力された場合に新たに計算される結果値であり、DATA_i+1が所定のPCRに上書きされ記憶されることになる。すなわち、DATA_i+1は、該当するPCRが保持する更新後の状態値を意味する。
まず、図2を用いて本実施形態における情報処理装置を起動するための装置起動処理のフローを説明する。図2は本実施形態に適応可能な装置起動処理の流れを示すフローチャートである。
PCR0=H(0|BIOS) …(式2)
ここで、BIOSはBIOS15のプログラムコードのハッシュ値である。このS23における処理の結果、図5の符号52に示すようにPCR0にH(0|BIOS)が登録されることになる。
PCR1=H(0|BL) …(式3)
ここで、BLはブートローダー16のプログラムコードのハッシュ値である。S24における処理の結果、図5の符号52に示すようにPCR1にH(0|BL)が登録されることになる。
PCR2=H(0|OS) …(式4)
ここで、「OS」はOS17のプログラムコードのハッシュ値である。S26における処理の結果、図5の符号52に示すようにPCR2に、H(0|OS)が登録されることになる。
以降では、本実施形態における情報処理装置110で実行されるアプリ起動処理について説明する。アプリ起動処理は、情報処理装置110が図2に示した装置起動処理によって起動した後、OS17によって実行される。例えば、情報処理装置110のユーザーが、不図示のキーボードやマウスを用いて情報処理装置110に対して所望のアプリケーションの実行指示を行った場合に、その指示がOS17に伝えられる。そして、実行指示を受け取ったOS17は、指示されたアプリケーションを実行する(RAM14にロードし、実行する)。また、ユーザーは実行したアプリケーションによる所望の作業が完了した後、不図示のキーボードやマウスを用いて情報処理装置110に対して、実行しているアプリケーションの終了を指示することができる。そして、終了処理を受け取ったOS17は指定されたアプリケーションを終了する。更に、アプリケーションの終了後、ユーザーは再度同じアプリケーションの実行(即ち、アプリケーションの再起動)を指示することも可能である。本実施形態では、情報処理装置110の起動後、初回のアプリの実行指示と、2回目以降のアプリケーションの実行指示とでアプリ起動処理のフローが異なる。以降では、まず初回のアプリ起動(実行)処理のフローについて説明することにする。
PCR3=H(0|APP) …(式5)
ここで、APPはS31で算出した正当アプリケーションのハッシュ値である。式5の様に算出したPCR3を登録した結果、TPM13には図5の符号53に示すように、PCR3にH(0|APP)が登録されることになる。
PCR3=H(0|APP’) …(式6)
ここで、APP’はS31で算出した偽造アプリケーションのハッシュ値である。式6の様に算出したPCR3を登録した結果、図5(B)又は図5(D)の符号55に示すようにPCR3にH(0|APP’)が登録されることになる。
PCR3’=H(0|APP) …(式7)
そして、S32でTPM13から取得したPCR3の値が、H(0|APP)である場合には、PCR3’と一致するため、処理をS36に進める。つまり、これは初回も2回目も正当アプリケーションを起動しようとしている場合である。そして、S36における復号処理の後、復号条件とTPM内のPCR値が一致するため、S37で復号成功と判定され、最終的にS38で正当アプリケーションが起動することになる。一方、S32でTPM13から取得したPCR値がH(0|APP’)である場合には、PCR3’と一致しないため、復号失敗と判定され、処理をS39に進める。つまり、これは初回に偽造アプリケーションを起動し、2回目に正当アプリケーションを起動しようとしている場合である。この場合、前述したように、S39でエラーを表示し、アプリ起動処理を終了する。
PCR3’=H(0|APP’) …(式8)
そして、S32でTPM13から取得したPCR値がH(0|APP’)である場合には、PCR3’と一致するため、処理をS36に進める。つまり、これは初回も2回目も偽造アプリケーションを起動しようとしている場合である。S36における復号処理の後、復号条件とTPM内のPCR値が一致しないため、S37で復号失敗と判定され、S39で偽造アプリケーションであることを示すエラーを表示し、アプリ起動処理を終了する。一方、S32でTPM13から取得したPCR値がH(0|APP)である場合には、PCR3’と一致しないため、処理をS39に進める。つまり、これは初回に正当アプリケーションを起動し、2回目に偽造アプリケーションを起動しようとしている場合である。この場合、前述したように、S39で偽造アプリケーションであることを示すエラーを表示し、アプリ起動処理を終了する。
<変形例1>
以上説明した実施形態では、S35においてアプリケーション用PCR値とH(0|APP)が一致しない場合、及びS37において復号失敗と判定された場合、共にS39でエラー表示するようにしていた。しかしながら、本発明はこれに限定されることなく、夫々の場合に異なるエラー表示をすることも可能である。以降では、この場合の変形例について、図3(B)を用いて説明する。尚、図3(B)において、既に説明した図3(A)と同様の処理を実行するステップに関しては同じ番号を付与するようにし、説明は省略する。
以上説明した実施形態では、S310、及びS311において異なるエラー表示をするようにした後、何れの場合も、アプリケーション再インストール要求(S312)、及び装置の再起動要求(S313)を実行していた。しかしながら、本発明はこれに限定されることなく、S310、及びS311において異なるエラー表示をした後、アプリケーション再インストール要求(S312)を実行するか否かを制御することも可能である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
Claims (8)
- 情報処理装置であって、
少なくとも正規なプログラムの状態を示す状態値を用いて復号可能な暗号化データを記憶する不揮発性の第1の記憶手段と、
プログラムの状態値を記憶するための、揮発性の第2の記憶手段と、
装置の起動後、実行指示されたプログラムの状態値を算出する算出手段と、
前記第2の記憶手段に記憶された状態値が、装置起動時の初期値であるか否かを判定する第1の判定手段と、
該第1の判定手段の判定の結果が、前記第2の記憶手段に前記初期値が状態値として記憶されていることを示す場合、前記第2の記憶手段における前記初期値を前記算出手段で算出した状態値で更新する更新手段と、
前記第1の判定手段の判定の結果が、前記第2の記憶手段に非初期値が記憶されていることを示す場合、前記算出手段で算出した前記実行指示されたプログラムの状態値に所定の演算を施した値と前記第2の記憶手段に記憶された状態値とが一致するか否かを判定する第2の判定手段と、
前記第1の判定手段の判定の結果が前記第2の記憶手段に前記初期値が記憶されていることを示す場合、又は、前記第2の判定手段の判定の結果が一致することを示している場合、前記第1の記憶手段に記憶されている暗号化データを、前記第2の記憶手段に記憶されている状態値に基づいて復号する復号手段と、
該復号手段による復号が成功した場合、前記実行指示されたプログラムは正規のプログラムであるとして判定し、前記復号手段による復号が不成功の場合、又は、前記第2の判定手段の判定の結果が不一致を示す場合、前記プログラムは非正規なプログラムの状態になっているものと判定する第3の判定手段と、
を備えることを特徴とする情報処理装置。 - 前記第3の判定手段によって正規のプログラムと判定された場合、当該プログラムを実行し、非正規なプログラムの状態になっていると判断した場合に前記プログラムの実行を禁止する制御手段を更に備えることを特徴とする請求項1に記載の情報処理装置。
- 前記復号手段による前記暗号化データの復号が不成功の場合、前記プログラムの再インストールを要求する再インストール要求手段を更に有することを特徴とする請求項1または2に記載の情報処理装置。
- 前記第2の記憶手段は、TPM内の複数のPCRであることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
- 前記算出手段は、前記実行指示されたプログラムのプログラムコードを引数としてハッシュ値を前記状態値として算出することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
- 少なくとも正規なプログラムの状態を示す状態値を用いて復号可能な暗号化データを記憶する不揮発性の第1の記憶手段と、プログラムの状態値を記憶するための揮発性の第2の記憶手段とを有するコンピュータに読み込ませ実行させることで、前記コンピュータを情報処理装置として機能させるためのプログラムであって、
前記コンピュータを、
装置の起動後、実行指示されたプログラムの状態値を算出する算出手段、
前記第2の記憶手段に記憶された状態値が、装置起動時の初期値であるか否かを判定する第1の判定手段、
該第1の判定手段の判定の結果が、前記第2の記憶手段に前記初期値が状態値として記憶されていることを示す場合、前記第2の記憶手段における前記初期値を前記算出手段で算出した状態値で更新する更新手段、
前記第1の判定手段の判定の結果が、前記第2の記憶手段に非初期値が記憶されていることを示す場合、前記算出手段で算出した前記実行指示されたプログラムの状態値と前記非初期値とが一致するか否かを判定する第2の判定手段、
前記第1の判定手段の判定の結果が前記第2の記憶手段に前記初期値が記憶されていることを示す場合、又は、前記第2の判定手段の判定の結果が一致することを示している場合、前記第1の記憶手段に記憶されている暗号化データを、前記第2の記憶手段に記憶されている状態値で復号する復号手段、
該復号手段による復号が成功した場合、前記実行指示されたプログラムは正規のプログラムであるとして判定し、前記復号手段による復号が不成功の場合、又は、前記第2の判定手段の判定の結果が不一致を示す場合、前記プログラムは非正規なプログラムの状態になっているものと判定する第3の判定手段
として機能させるためのプログラム。 - 請求項6に記載のプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
- 少なくとも正規なプログラムの状態を示す状態値を用いて復号可能な暗号化データを記憶する不揮発性の第1の記憶手段と、プログラムの状態値を記憶するための、揮発性の第2の記憶手段とを有する情報処理装置の制御方法であって、
算出手段が、装置の起動後、実行指示されたプログラムの状態値を算出する算出工程と、
第1の判定手段が、前記第2の記憶手段に記憶された状態値が、装置起動時の初期値であるか否かを判定する第1の判定工程と、
更新手段が、該第1の判定工程の判定の結果が、前記第2の記憶手段に前記初期値が状態値として記憶されていることを示す場合、前記第2の記憶手段における前記初期値を前記算出工程で算出した状態値で更新する更新工程と、
第2の判定手段が、前記第1の判定工程の判定の結果が、前記第2の記憶手段に非初期値が記憶されていることを示す場合、前記算出工程で算出した前記実行指示されたプログラムの状態値と前記非初期値とが一致するか否かを判定する第2の判定工程と、
復号手段が、前記第1の判定工程の判定の結果が前記第2の記憶手段に前記初期値が記憶されていることを示す場合、又は、前記第2の判定工程の判定の結果が一致することを示している場合、前記第1の記憶手段に記憶されている暗号化データを、前記第2の記憶手段に記憶されている状態値で復号する復号工程と、
第3の判定手段が、該復号工程による復号が成功した場合、前記実行指示されたプログラムは正規のプログラムであるとして判定し、前記復号工程による復号が不成功の場合、又は、前記第2の判定工程の判定の結果が不一致を示す場合、前記プログラムは非正規なプログラムの状態になっているものと判定する第3の判定工程と、
を備えることを特徴とする情報処理装置の制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012159798A JP5969845B2 (ja) | 2012-07-18 | 2012-07-18 | 情報処理装置及びその制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012159798A JP5969845B2 (ja) | 2012-07-18 | 2012-07-18 | 情報処理装置及びその制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014021715A JP2014021715A (ja) | 2014-02-03 |
JP5969845B2 true JP5969845B2 (ja) | 2016-08-17 |
Family
ID=50196525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012159798A Expired - Fee Related JP5969845B2 (ja) | 2012-07-18 | 2012-07-18 | 情報処理装置及びその制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5969845B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6494373B2 (ja) * | 2015-03-31 | 2019-04-03 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、およびコンピュータプログラム |
JP6467385B2 (ja) * | 2016-08-30 | 2019-02-13 | 西日本電信電話株式会社 | ユーザ端末、暗号化復号方法、及びプログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7533274B2 (en) * | 2003-11-13 | 2009-05-12 | International Business Machines Corporation | Reducing the boot time of a TCPA based computing system when the core root of trust measurement is embedded in the boot block code |
JP5097130B2 (ja) * | 2006-12-27 | 2012-12-12 | パナソニック株式会社 | 情報端末、セキュリティデバイス、データ保護方法及びデータ保護プログラム |
WO2010041462A1 (ja) * | 2008-10-10 | 2010-04-15 | パナソニック株式会社 | 情報処理装置、情報処理方法、情報処理プログラム及び集積回路 |
WO2010041467A2 (en) * | 2008-10-10 | 2010-04-15 | Panasonic Corporation | USING TRANSIENT PCRs TO REALISE TRUST IN APPLICATION SPACE OF A SECURE PROCESSING SYSTEM |
JP2012008641A (ja) * | 2010-06-22 | 2012-01-12 | Toshiba Tec Corp | セキュリティデバイス及び情報処理装置 |
-
2012
- 2012-07-18 JP JP2012159798A patent/JP5969845B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2014021715A (ja) | 2014-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6595822B2 (ja) | 情報処理装置及びその制御方法 | |
US8782388B2 (en) | Information processing apparatus, method, and computer-readable storage medium that encrypt data in a blob based on a hash value | |
US10142104B2 (en) | Securely recovering a computing device | |
US8200961B2 (en) | Securing a flash memory block in a secure device system and method | |
JP5116325B2 (ja) | 情報処理装置、ソフトウェア更新方法及び画像処理装置 | |
JP6054908B2 (ja) | 変数セットを修復する方法、コンピュータ・プログラムおよびコンピュータ | |
JP4890309B2 (ja) | 情報処理装置及び情報保護方法 | |
US10346179B2 (en) | Information processing apparatus, server apparatus, information processing system, control method, and computer program | |
JP5969845B2 (ja) | 情報処理装置及びその制御方法 | |
JP5961059B2 (ja) | 情報処理装置およびその起動方法 | |
WO2016024967A1 (en) | Secure non-volatile random access memory | |
JP5277935B2 (ja) | ライセンス管理システム及び方法 | |
JP2013254506A (ja) | 情報処理装置、真正性確認方法、及び記録媒体 | |
JP7341376B2 (ja) | 情報処理装置、情報処理方法、及び、情報処理プログラム | |
KR102369874B1 (ko) | 무결성 검증 대상 디바이스에 대한 os 및 무결성 정보의 통합 업데이트 방법 및 원격 검증 시스템, os 배포 서버 및 무결성 검증 대상 디바이스 | |
JP5278520B2 (ja) | 情報処理装置、情報保護方法 | |
JP5574007B2 (ja) | 情報処理装置及び情報保護方法 | |
JP5808651B2 (ja) | メモリシステム、セキュリティメモリおよび情報保護方法 | |
JP5310897B2 (ja) | 情報処理装置、ソフトウェア更新方法及び記録媒体 | |
JP2013191226A (ja) | 情報処理装置、ソフトウェア更新方法及び画像処理装置 | |
JP5234217B2 (ja) | 情報処理装置、ソフトウェア更新方法及びプログラム | |
JP5500232B2 (ja) | 情報処理装置及び情報保護方法 | |
JP2007272923A5 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150710 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160524 |
|
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: 20160610 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160708 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5969845 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |