JP5466645B2 - 記憶装置、情報処理装置およびプログラム - Google Patents

記憶装置、情報処理装置およびプログラム Download PDF

Info

Publication number
JP5466645B2
JP5466645B2 JP2010525668A JP2010525668A JP5466645B2 JP 5466645 B2 JP5466645 B2 JP 5466645B2 JP 2010525668 A JP2010525668 A JP 2010525668A JP 2010525668 A JP2010525668 A JP 2010525668A JP 5466645 B2 JP5466645 B2 JP 5466645B2
Authority
JP
Japan
Prior art keywords
unit
storage unit
program
writing
written
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
JP2010525668A
Other languages
English (en)
Other versions
JPWO2010021269A1 (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2010525668A priority Critical patent/JP5466645B2/ja
Publication of JPWO2010021269A1 publication Critical patent/JPWO2010021269A1/ja
Application granted granted Critical
Publication of JP5466645B2 publication Critical patent/JP5466645B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot

Description

本発明は、改ざんされているか否かの検証の対象となるデータを記憶する記憶装置、情報処理装置およびプログラムに関する。
トラステッドコンピューティングと呼ばれる、コンピュータ等のセキュリティー対策に関する技術が知られている(非特許文献1参照。)。トラステッドコンピューティングは、コンピュータの起動時にプログラムコードのハッシュ値を算出し、算出したハッシュ値をTPM(Trusted Platform Module)と呼ばれる耐タンパ性を有するセキュリティーチップに記録する。これにより、プログラムが不正に書き換えられた場合、TPM内のハッシュ値が本来の値から変わるので、検証者は、TPM内のハッシュ値を参照することによりプログラムの改ざんを検出することができる。
Trusted Computing Group(TCG)ホームページ、[平成20年7月15日検索]、インターネット<https://www.trustedcomputinggroup.org/home/>
ところで、トラステッドコンピューティングにおいては、システムのブート時において起動するプログラムのハッシュ値を算出する。従って、ハッシュ値の算出時間がブート時におけるオーバーヘッドとなっていた。特に、記憶領域へのアクセス速度が比較的に遅い、また、内蔵するCPUの演算能力が比較的に低い例えば携帯電話機等の組み込み機器においては、このオーバーヘッドにより起動時間が長くなるという問題があった。
そこで本発明は、上記の課題を解決することのできる記憶装置、情報処理装置およびプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
外部から読み書き可能な記憶部と、前記記憶部が記憶するデータが改ざんされているか否かの検証に用いられる完全性情報を記憶する、外部からの書き込みが禁止された完全性情報記憶部と、外部から書込コマンドおよび書込対象データを受けて、前記書込対象データを前記記憶部に書き込む書込部と、前記書込対象データの完全性情報を算出して前記完全性情報記憶部に書き込む算出部と、前記記憶部に書き込まれた前記書込対象データに対する上書きを禁止する保護部と、を備える記憶装置、この記憶装置を備える情報処理装置、及び、情報処理装置をこの記憶装置として機能させるプログラムを提供する。なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本発明の実施形態に係る情報処理装置10の構成を示す。 本発明の実施形態に係る情報処理装置10の起動時に処理の流れの一例を示す。 本発明の実施形態に係る記憶装置20の構成を示す。 記憶部30の保護領域の状態の遷移を示す。 書込対象プログラムの書込時における、記憶装置20の処理フローを示す。 検証時における、記憶装置20の処理フローを示す。 本発明の実施形態に係る第1変形例に係るセキュリティーモジュール18の構成を示す。 本発明の実施形態に係る第2変形例に係る情報処理装置10の構成を示す。 本発明の実施形態の第3変形例に係る情報処理装置10の構成を示す。 本発明の実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係る情報処理装置10の構成を示す。情報処理装置10は、CPU12と、RAM14と、セキュリティーモジュール18と、記憶装置20と、I/O部22とを備える。CPU12は、プログラムを実行して、演算処理等を行う。RAM14は、CPU12による実行中のプログラムおよびCPU12の実行に用いられるデータ等を記憶する。
セキュリティーモジュール18は、CPU12により実行されるプログラムが改ざんされているか否かの検証に用いられる完全性情報を記憶する。本実施形態においては、セキュリティーモジュール18は、CPU12が実行する各プログラムのハッシュ値を累積した値を、PCR(Platform Configuration Register)と呼ばれる外部からのアクセスが
物理的に制限されたレジスタに記憶する。さらに、セキュリティーモジュール18は、公開鍵暗号演算、暗号鍵生成、ハッシュ値の算出および乱数生成等の機能を有してよい。
記憶装置20は、CPU12により実行される1または複数のプログラムのコードデータ、音声データおよび画像データ等の各種のデータを記憶する。記憶装置20は、フラッシュメモリ等の不揮発性のメモリであってよい。
また、記憶装置20は、当該情報処理装置10の起動時に実行されるブートプログラムを、外部からの書き込みが禁止された領域に記憶する。さらに、記憶装置20は、当該記憶装置20に記憶された1または複数のプログラムのそれぞれの完全性情報を、それぞれのプログラムに対応させて記憶する。本実施形態においては、記憶装置20は、1または複数のプログラムのそれぞれの完全性情報として、対応するプログラムのハッシュ値を記憶する。
より詳しくは、記憶装置20は、CPU12により各プログラムが内部に書き込まれる場合において、当該プログラムの書込処理と並行して、当該プログラムのハッシュ値を算出する。そして、記憶装置20は、当該プログラムの書き込みが完了すると、書き込まれたプログラムへの上書きを予め定められたコマンドが与えられるまで禁止する。さらに、記憶装置20は、当該プログラムのハッシュ値を、外部からの書き込みが禁止された領域に記憶する。なお、記憶装置20の構成の詳細については、後述する。
I/O部22は、当該情報処理装置10の外部の機器とのデータの入出力を制御する。なお、ブートプログラムは、記憶装置20とは別個の、外部からの書き込みが禁止されたROMに記憶されていてもよい。
図2は、本実施形態に係る情報処理装置10の起動時に処理の流れの一例を示す。情報処理装置10は、起動時において、次のように処理がされる。
電源が投入されると、CPU12は、まず、記憶装置20からブートプログラムを呼び出して、実行する。続いて、CPU12は、実行中のブートプログラムにより指定された第1のプログラムを記憶装置20から呼び出して、実行する。続いて、CPU12は、実行中の第1のプログラムにより指定された第2のプログラムを記憶装置20から呼び出して、実行する。以後、CPU12は、実行中のプログラムにより指定された別個のプログラムの呼び出しおよび実行を繰り返す。そして、CPU12は、オペレーションシステム(または当該オペレーションシステム上において起動されるアプリケーションプログラム)を記憶装置20から呼び出して、実行する。
さらに、起動時において、CPU12は、記憶装置20に記憶された各プログラムのそれぞれの実行に先立って、当該プログラムのハッシュ値を記憶装置20から読み出して、セキュリティーモジュール18に与える。セキュリティーモジュール18は、CPU12からハッシュ値が与えられる毎に、与えられえたハッシュ値に基づきPCRの値を更新する。より詳しくは、セキュリティーモジュール18は、与えられたハッシュ値とPCRから読み出した値とを加算し、加算値に対してハッシュ演算をした値をPCRに上書きする処理を実行する。なお、電源投入直後のPCRの初期値は、予め定められた値(例えば、全ビットが0、または、全ビットが1等)である。この結果、オペレーションシステム(またはアプリケーションプログラム)まで実行されると、PCRには、ブートプログラムからオペレーションシステム(またはアプリケーションプログラム)までの各プログラムのハッシュ値を累積した値が書き込まれる。
なお、起動時に最初に実行されるブートプログラムについては、事前に記憶装置20からのハッシュ値の読み出しとセキュリティーモジュール18への記録を行うことはできない。従って、記憶装置20は、ブートプログラムが記録された領域に対する外部からの物理的な書込み禁止して、ブートプログラムが改ざんされることを防止している。
PCRに記憶された累積されたハッシュ値は、起動時において段階的に実行される各プログラムの全てが改ざんされておらず、全て完全の場合、常に予め定められた値となる。しかし、何れかのプログラムが改ざんされていれば、その改ざんの過程で記憶装置20の対応するハッシュ値が変更される。結果として上記の起動方法でPCRに記憶されたハッシュ値は、予め期待される値と異なる値となる。従って、このような情報処理装置10よれば、PCRに記憶された累積されたハッシュ値を例えば署名等をして検証者に送信することにより、実行しているプログラムが改ざんされているか否かを検証者に検出させることができる。
さらに、このような情報処理装置10は、記憶装置20に対するプログラムの書き込み時において、当該プログラムのハッシュ値を算出して記憶装置20内の外部から書き込みできない領域に書き込む。そして、情報処理装置10は、起動時において、各プログラムのハッシュ値を、各プログラムの実行に先立って記憶装置20から読み出してセキュリティーモジュール18に与える。これにより、情報処理装置10によれば、起動時において、各プログラムのハッシュ値を算出する演算を実行しなくてよいので、ハッシュ値を算出するためのオーバーヘッドを無くして、起動時間を短くすることができる。
図3は、本実施形態に係る記憶装置20の構成を示す。記憶装置20は、記憶部30と、完全性情報記憶部32と、テーブル記憶部34と、ハッシュエンジン36と、コントローラ40とを有する。
記憶部30は、当該記憶装置20の外部から読み書き可能であって、各種のデータを記憶する。記憶部30は、保護領域を含む。保護領域は、改ざん検出の対象となる1または複数の書込対象プログラムが記憶され、上書き禁止状態に設定することができる。
完全性情報記憶部32は、記憶部30の保護領域に記憶された1または複数の書込対象プログラムのそれぞれのハッシュ値を、当該書込対象プログラムに対応させて記憶する。完全性情報記憶部32は、当該記憶装置20の外部からの書き込みが禁止される。
テーブル記憶部34は、管理テーブルを記憶する。管理テーブルは、記憶部30における保護領域を指定する領域情報を格納する。さらに、管理テーブルは、記憶部30に対する書込対象プログラムの書き込みが失敗したか否かを示す書込失敗情報、および、記憶部30内の保護領域の状態を表わす状態情報を格納する。テーブル記憶部34は、当該記憶装置20の外部からの書き込みが禁止された構成であってよい。
なお、記憶部30、完全性情報記憶部32およびテーブル記憶部34のそれぞれは、同一の不揮発性デバイスにおける異なる領域に設けられてよい。これに代えて、記憶部30、完全性情報記憶部32およびテーブル記憶部34は、それぞれが別個の異なる不揮発性デバイスに設けられてもよい。
ハッシュエンジン36は、書込対象プログラムの記憶部30に対する書込時において、コントローラ40から当該書込対象プログラムが与えられる。そして、ハッシュエンジン36は、与えられた書込対象プログラムのハッシュ値を算出してコントローラ40に返信する。なお、ハッシュエンジン36は、一例として、コントローラ40とは別個のハードウェアであってもよいし、コントローラ40により実現される機能ブロックであってもよい。
コントローラ40は、当該記憶装置20の全体を制御する。コントローラ40は、機能ブロックとして、読出部42と、書込部44と、保護部46と、算出部48と、比較部50と、状態管理部52とを含む。
読出部42は、当該記憶装置20の外部から読出コマンドを受けて、記憶部30に記憶されている各種のデータ(プログラム、音声データおよび画像データ等)を読み出して、外部に出力する。また、読出部42は、記憶部30の保護領域から書込対象プログラムがCPU12により呼び出されることに先立って、当該書込対象プログラムの対応するハッシュ値を完全性情報記憶部32から読み出してCPU12に送信する。これにより、CPU12は、書込対象プログラムの実行に先立って、当該書込対象プログラムのハッシュ値をセキュリティーモジュール18に与えることができる。
書込部44は、当該記憶装置20の外部から書込コマンドおよび各種のデータを受けて、各種のデータを記憶部30に書き込む。ここで、書込部44は、書込コマンドおよび書込対象プログラムが与えられた場合には、記憶部30の保護領域に当該書込対象プログラムを書き込む。
保護部46は、書込部44による記憶部30の保護領域に対する書込対象プログラムの書き込みが正常に終了したことを条件として、記憶部30に書き込まれた書込対象プログラムに対する上書きを禁止する。また、保護部46は、書込部44による記憶部30に対する書込対象プログラムの書き込みが失敗したことを条件として、記憶部30における書込対象プログラムが書き込まれるはずであった領域に対する外部からの書き込みを許可する。また、保護部46は、上書き禁止状態を解除するセットアップコマンドが当該記憶装置20の外部から与えられたことを条件として、記憶部30に書き込まれた書込対象プログラムに対する上書きを許可してよい。
算出部48は、書込対象プログラムが与えられた場合、ハッシュエンジン36を利用して当該書込対象プログラムのハッシュ値を算出する。そして、算出部48は、算出したハッシュ値を、記憶部30に書き込まれた当該書込対象プログラムに対応付けて完全性情報記憶部32に書き込む。また、算出部48は、記憶部30に書き込まれた書込対象プログラムに対する上書きが禁止されている状態において、外部から検証コマンドを受けると、記憶部30に記憶された書込対象プログラムを読み出して、ハッシュエンジン36を利用して読み出した書込対象プログラムのハッシュ値を新たに算出する。
比較部50は、完全性情報記憶部32に記憶されたハッシュ値と、検証コマンドを受けたことに応じて新たに算出されたハッシュ値とが一致するか否かを比較する。更に、比較部50は、書込コマンドとともに外部から与えられた書込対象プログラムのハッシュ値の期待値を受けて、算出部48が算出したハッシュ値と、期待値とが一致するか否かを比較してよい。
状態管理部52は、テーブル記憶部34に記憶された管理テーブルに格納された状態情報を参照して、記憶部30の保護領域の状態を管理する。
このような記憶装置20は、CPU12によって書込対象プログラムが記憶部30に書き込まれる場合において、当該書込対象プログラムのハッシュ値を算出して完全性情報記憶部32に記憶させることができる。そして、記憶装置20は、CPU12によって書込対象プログラムが読み出される場合において、完全性情報記憶部32に記憶された当該書込対象プログラムのハッシュ値を読み出す。これにより、情報処理装置10によれば、起動時において、各プログラムのハッシュ値を出力することができるので、セキュリティーモジュール18に記録するハッシュ値を算出するためのオーバーヘッドを無くして、起動時間を短くすることができる。
なお、記憶装置20は、プログラムに代えて、当該記憶装置20に記憶されたプログラム以外の書込対象データ(例えば、音楽データおよび画像データ等)の完全性情報を、それぞれの書込対象データに対応させて保護領域に記憶してもよい。この場合、記憶装置20は、書込対象データの書込時において、完全性情報を算出して完全性情報記憶部32に記憶させる。また、記憶装置20は、ファイルシステム全体のイメージ等、任意のデータ形式の完全性保護に利用することもできる。
図4は、記憶部30の保護領域の状態の遷移を示す。状態管理部52は、記憶部30の保護領域を、通常動作状態、書込状態、保護状態または検証状態の何れかの状態に管理する。
通常動作状態は、記憶部30の保護領域に対する当該記憶装置20の外部からの書き込みを許可する状態を示す。通常動作状態において書込コマンドが与えられた場合、保護部46は、書込コマンドとともに与えられたデータを、記憶部30の保護領域に書き込むことができる。
保護状態は、記憶部30の保護領域に対する当該記憶装置20の外部からの書き込みを許可する状態を示す。保護状態においては、保護部46は、書込コマンドが与えられた場合、与えられたデータの記憶部30の保護領域に対する書き込みを禁止する。
書込状態は、当該記憶装置20の外部から与えられた書込対象プログラムを記憶部30の保護領域に書き込み中である状態を示す。検証状態は、記憶部30の保護領域に書き込まれた書込対象プログラムを検証している最中である状態を示す。
状態管理部52は、記憶部30の保護領域の状態を次のように遷移させる。まず、工場出荷時において、状態管理部52は、記憶部30の保護領域を通常動作状態とする。
通常動作状態また保護状態においてセットアップコマンドを受けると、状態管理部52は、記憶部30の保護領域を書込状態に遷移させる。書込状態において書込コマンドが与えられると、状態管理部52は、書込コマンドとともに与えられた書込対象プログラムを、記憶部30の保護領域に書き込む。また、保護状態において、別個のセットアップコマンドを受けた場合において、状態管理部52は、記憶部30の保護領域を通常動作状態に遷移させてもよい。
書込状態において書込対象プログラムの書き込みが成功すると、状態管理部52は、記憶部30の保護領域を保護状態に遷移させる。書込状態において書込対象プログラムの書き込みが失敗すると、状態管理部52は、記憶部30の保護領域を通常動作状態に遷移させる。
また、保護状態において検証コマンドを受けると、状態管理部52は、記憶部30の保護領域を、検証状態に遷移させる。検証が正常であった場合、状態管理部52は、記憶部30の保護領域を保護状態に遷移させる。検証がエラーであった場合、状態管理部52は、記憶部30の保護領域を通常動作状態に遷移させる。
図5は、書込対象プログラムの書込時における、記憶装置20の処理フローを示す。記憶装置20は、通常動作状態または保護状態において、当該記憶装置20の外部からセットアップコマンドを受けることができる(S101)。セットアップコマンドには、保護領域の位置を指定する情報を含んでよい。
セットアップコマンドを受けると、書込部44は、管理テーブルに格納された状態情報を、通常動作状態または保護状態を表わす値から、書込状態を表わす値に書き換える。これにより、状態管理部52は、記憶部30の保護領域を、書込状態とすることができる(S102)。
続いて、書込部44は、当該記憶装置20の外部から書込コマンドおよび書込対象プログラムを受ける(S103)。続いて、書込部44は、書込コマンドに示された書込範囲が保護領域内を指定しているか否か等のコマンドの整合性を確認して、アクノーレッジ(ACK)を書込コマンドの送出元に返信する(S104)。
続いて、書込部44は、受け取った書込対象プログラムを記憶部30の保護領域に書き込む(S105)。更に、算出部48は、書込部44による書込対象プログラムの書き込みと並行して、当該書込対象プログラムのハッシュ値を算出する(S105)。
続いて、算出部48は、書込部44による書込対象プログラムの書き込みが成功したか否かを判断する(S106)。算出部48は、一例として、書込部44が書込対象プログラムの先頭から末尾までを記憶部30の保護領域内に書き込めた場合に、書き込みが成功したと判断してよい。
書き込みが成功したことを条件として(S106のYes)、算出部48は、算出したハッシュ値を、当該書込対象プログラムと対応付けて完全性情報記憶部32に書き込む(S107)。そして、書込部44は、管理テーブルに格納された状態情報を、書込状態を表わす値から保護状態を表わす値に書き換える。これにより、状態管理部52は、記憶部30の保護領域を、保護状態とすることができる(S108)。
また、書き込みが失敗したことを条件として(S106のNo)、算出部48は、当該書込対象プログラムと対応付けて書き込まれるべきハッシュ値に代えて、規定の値(例えば、全ビットが0または全ビットが1等)を完全性情報記憶部32に書き込む(S109)。そして、書込部44は、管理テーブルに格納された書込失敗情報を、書き込みが失敗したことを示す値に書き換えてよい。さらに、書込部44は、管理テーブルに格納された状態情報を、書込状態を表わす値から通常動作状態を表わす値に書き換える。これにより、状態管理部52は、記憶部30の保護領域を、通常動作状態とすることができる(S110)。
以上の処理により、保護部46は、書込部44による記憶部30の保護領域に対する書込対象プログラムの書き込みが正常に終了したことを条件として、記憶部30に書き込まれた書込対象プログラムに対する上書きを禁止することができる。また、保護部46は、書込部44による記憶部30に対する書込対象プログラムの書き込みが失敗したことを条件として、記憶部30における書込対象プログラムが書き込まれるはずであった領域に対する外部からの書き込みを許可することができる。
なお、ステップS103において、比較部50は、書込コマンドおよび書込対象プログラムとともに、書込対象プログラムのハッシュ値の期待値を受けてもよい。この場合、ステップS106において、比較部50は、算出部48がステップS105で算出したハッシュ値と、受け取った期待値とが一致するか否かを比較する。そして、算出部48は、一例として、比較部50が一致したとの比較結果を得たことを条件として書き込みが成功したと判断し、比較部50が不一致であるとの比較結果を得たことを条件として、書き込みが失敗したと判断してよい。
図6は、検証時における、記憶装置20の処理フローを示す。記憶装置20は、保護状態において、当該記憶装置20の外部から検証コマンドを受けることができる(S201)。検証コマンドには、検証対象となる書込対象プログラムを指定する情報を含んでよい。
検証コマンドを受けると、書込部44は、管理テーブルに格納された状態情報を、保護状態を表わす値から、検証状態を表わす値に書き換える。これにより、状態管理部52は、記憶部30の保護領域を、検証状態とすることができる(S202)。
続いて、算出部48は、検証コマンドにより指定された書込対象プログラムを記憶部30の保護領域から読み出して、当該書込対象プログラムのハッシュ値を算出する(S203)。ハッシュ値の算出が完了すると、比較部50は、完全性情報記憶部32に記憶された当該書込対象プログラムのハッシュ値と、検証コマンドを受けたことに応じて新たに算出されたハッシュ値とが一致するか否かを比較する(S204)。続いて、比較部50は、比較結果を検証コマンドの送出元に、比較結果を通知する(S205)。
続いて、保護部46は、記憶部30の保護領域に記憶された書込対象プログラムが正常であったか、否か(エラーか)を判断する(S206)。より詳しくは、保護部46は、比較部50が一致したとの比較結果を得たことを条件として正常であると判断し、不一致であるとの比較結果を得たことを条件としてエラーであると判断する。
正常であることを条件として(S206のYes)、保護部46は、管理テーブルに格納された状態情報を、検証状態を表わす値から保護状態を表わす値に書き換える。これにより、状態管理部52は、記憶部30の保護領域を、保護状態とすることができる(S207)。
エラーであることを条件として(S206のNo)、保護部46は、当該書込対象プログラムと対応付けて書き込まれていたハッシュ値に代えて、規定の値(例えば、全ビットが0または全ビットが1等)を完全性情報記憶部32に書き込む(S208)。続いて、保護部46は、管理テーブルに格納された状態情報を、検証状態を表わす値から通常動作状態を表わす値に書き換える。これにより、状態管理部52は、記憶部30の保護領域を、通常動作状態とすることができる(S209)。そして、保護部46は、記憶部30における当該書込対象プログラムに対する上書きを許可する。
以上の処理により、記憶装置20は、記憶部30に記憶された書込対象プログラムが改ざんされていないか否かを検出することができる。記憶装置20は、例えばCPU12から定期的に検証コマンドを受けて、記憶部30に記憶された書込対象プログラムが検証される構成であってよい。
なお、ステップS208の処理として、保護部46は、当該書込対象プログラムと対応付けて書き込まれていたハッシュ値に代えて、検証コマンドを受けたことに応じて新たに算出されたハッシュ値を、完全性情報記憶部32に書き込んでよい。この場合、ステップS209の処理として、保護部46は、管理テーブルに格納された状態情報を、検証状態を表わす値から保護状態を表わす値に書き換えてよい。これにより、記憶装置20は、記憶部30に記録済みの書込対象プログラムが何らかの原因で改ざんされた場合であっても、正常な書込対象プログラムのハッシュ値と異なる値を完全性情報記憶部32に記憶させることができるので、検証者に改ざんを検出させることができる。
図7は、本実施形態に係る第1変形例に係るセキュリティーモジュール18の構成を示す。本変形例に係るセキュリティーモジュール18は、記憶部30と、テーブル記憶部34と、ハッシュエンジン36と、コントローラ40と、完全性情報記憶部70と、セキュリティー処理部72とを有する。記憶部30、テーブル記憶部34、ハッシュエンジン36およびコントローラ40のそれぞれは、図3に示された同一の符号の部材と略同一の構成および機能を採るので、説明を省略する。
完全性情報記憶部70は、不揮発性の記憶部であって、図1に示されるセキュリティーモジュール18内のPCRの機能と、図3に示される記憶装置20内の完全性情報記憶部32の機能とを統合した機能を有する。セキュリティー処理部72は、図1に示されるセキュリティーモジュール18における、PCR以外の各機能を有する。セキュリティー処理部72は、一例として、RSA暗号演算、暗号鍵生成、ハッシュ値の算出および乱数生成等の機能を有する。なお、セキュリティー処理部72におけるハッシュ値の算出機能およびハッシュエンジン36は、共通の機能ブロックにより実現されてよい。
このような第1変形例に係るセキュリティーモジュール18を備える情報処理装置10は、図1〜図6において説明した情報処理装置10と同様に、起動時における、各プログラムのハッシュ値を算出するためのオーバーヘッドを無くして、起動時間を短くすることができる。さらに、第1変形例に係るセキュリティーモジュール18は、各プログラムのハッシュ値を、耐タンパ性がより高い状態で保持することができる。
図8は、本実施形態に係る第2変形例に係る情報処理装置10の構成を示す。本変形例に係る情報処理装置10は、図1に示される情報処理装置10と略同一の構成および機能を採るので、図1に示される各部材と略同一の構成および機能の部材に同一の符号を付け、以下相違点を除き説明を省略する。
本変形例に係る情報処理装置10は、記憶装置20に代えて、記憶部30とメモリコントローラ80とを備える。記憶部30は、図3に示された記憶部30と略同一の構成および機能を採るので、説明を省略する。
メモリコントローラ80は、CPU12からの記憶部30へのアクセスを受けて、当該アクセスに応じて記憶部30に対してデータの読み出し、書き込みおよび各種制御を実行する。さらに、本変形例に係るメモリコントローラ80は、完全性情報記憶部32と、テーブル記憶部34と、ハッシュエンジン36と、コントローラ40とを含む。完全性情報記憶部32、テーブル記憶部34、ハッシュエンジン36およびコントローラ40のそれぞれは、図3に示された同一の符号の部材と略同一の構成および機能を採るので、説明を省略する。
このような第2変形例に係る情報処理装置10は、図1〜図6において説明した情報処理装置10と同様に、起動時における、各プログラムのハッシュ値を算出するためのオーバーヘッドを無くして、起動時間を短くすることができる。さらに、第2変形例に係る情報処理装置10は、ハッシュ値の算出および保持機能がメモリコントローラ80内に含まれるので、記憶部30として汎用の不揮発性メモリを用いることができる。
図9は、本実施形態の第3変形例に係る情報処理装置10の構成を示す。本変形例に係る情報処理装置10は、仮想マシンモニタ90と、ゲストOS92と、データ記憶部94と、セキュリティーモジュール18と、記憶装置20とを備える。
仮想マシンモニタ90は、コンピュータのハードウェアリソースを、ソフトウェアにより仮想化する。仮想マシンモニタ90は、情報処理装置10が仮想化プログラムを実行することにより当該情報処理装置10により実現される機能である。ゲストOS92は、仮想マシンモニタ90によって仮想化されたハードウェアリソース上において実行されるオペレーションシステムである。データ記憶部94は、例えばハードディスクドライブ等であって、データを記憶する。
このような第3変形例に係る情報処理装置10において、仮想マシンモニタ90は、図1に示される記憶装置20と同様の構成および機能を、ゲストOS92に対して仮想化して提供する。従って、本変形例に係る情報処理装置10は、仮想マシンモニタ90により仮想化された記憶装置20から各プログラムが呼び出されて、実行される。従って、このような本変形例に係る情報処理装置10によれば、仮想化されたコンピュータの起動時における、各プログラムのハッシュ値を算出するためのオーバーヘッドを無くして、起動時間を短くすることができる。
図10は、本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びCD−ROMドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部とを備える。
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、CD−ROMドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。CD−ROMドライブ2060は、CD−ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブートプログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD−ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
コンピュータ1900にインストールされ、コンピュータ1900を記憶装置20として機能させるプログラムは、記憶モジュールと、完全性情報記憶モジュールと、テーブル記憶モジュールと、ハッシュエンジンモジュールと、コントローラモジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、記憶部30、完全性情報記憶部32、テーブル記憶部34、ハッシュエンジン36およびコントローラ40としてそれぞれ機能させる。
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である記憶部30、完全性情報記憶部32、テーブル記憶部34、ハッシュエンジン36およびコントローラ40として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の記憶部30、完全性情報記憶部32、テーブル記憶部34、ハッシュエンジン36およびコントローラ40が構築される。
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、又はCD−ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
また、CPU2000は、ハードディスクドライブ2040、CD−ROMドライブ2060(CD−ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
また、本明細書中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。明細書中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、CD−ROM2095の他に、DVD又はCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
10 情報処理装置
12 CPU
14 RAM
18 セキュリティーモジュール
20 記憶装置
22 I/O部
30 記憶部
32 完全性情報記憶部
34 テーブル記憶部
36 ハッシュエンジン
40 コントローラ
42 読出部
44 書込部
46 保護部
48 算出部
50 比較部
52 状態管理部
70 完全性情報記憶部
72 セキュリティー処理部
80 メモリコントローラ
90 仮想マシンモニタ
92 ゲストOS
94 データ記憶部
1900 コンピュータ
2000 CPU
2010 ROM
2020 RAM
2030 通信インターフェイス
2040 ハードディスクドライブ
2050 フレキシブルディスク・ドライブ
2060 CD−ROMドライブ
2070 入出力チップ
2075 グラフィック・コントローラ
2080 表示装置
2082 ホスト・コントローラ
2084 入出力コントローラ
2090 フレキシブルディスク
2095 CD−ROM

Claims (10)

  1. 情報処理装置であって、
    CPUと、
    当該情報処理装置において実行中のプログラムが改ざんされているか否かの検証に用いられる完全性情報を記憶するセキュリティーモジュールと、
    記憶装置とを備え、
    前記記憶装置は、
    当該記憶装置の外部から読み書き可能な記憶部と、前記記憶部に記憶されたプログラムの完全性情報を記憶する、当該記憶装置の外部からの書き込みが禁止された完全性情報記憶部と、
    当該記憶装置の外部から書込コマンドおよび書込対象プログラムを受けて、前記書込対象プログラムを前記記憶部に書き込む書込部と、
    前記書込対象プログラムの完全性情報を起動に先立ち算出して前記完全性情報記憶部に書き込む算出部と、
    前記記憶部に書き込まれた前記書込対象プログラムに対する上書きを禁止する保護部と、
    を有し、
    前記CPUは、起動時において、前記書込対象プログラムの完全性情報を算出することなく、前記記憶装置内の前記完全性情報記憶部から前記書込対象プログラムの完全性情報を読み出して、前記セキュリティーモジュールに与える
    情報処理装置。
  2. 前記算出部は、前記書込対象プログラムのハッシュ値を前記完全性情報として算出する請求項1に記載の情報処理装置
  3. 前記保護部は、前記書込部による前記記憶部に対する前記書込対象プログラムの書き込みが正常に終了したことを条件として、前記記憶部に書き込まれた前記書込対象プログラムに対する上書きを禁止する
    請求項1から2の何れかに記載の情報処理装置
  4. 前記保護部は、前記書込部による前記記憶部に対する前記書込対象プログラムの書き込みが失敗したことを条件として、前記記憶部における前記書込対象プログラムが書き込まれるはずであった領域に対する外部からの書き込みを許可する
    請求項1から3の何れかに記載の情報処理装置
  5. 前記書込対象プログラムの書き込みが失敗したか否かを示す書込失敗情報を格納する管理テーブルを記憶するテーブル記憶部を更に備え、
    前記書込部は、前記記憶部に対する前記書込対象プログラムの書き込みが失敗したことを条件として、前記書込失敗情報を書き込みが失敗したことを示す値に書き換える請求項1から4の何れかに記載の情報処理装置
  6. 前記保護部は、前記記憶部における前記書込対象プログラムを記憶させる保護領域を指定する情報を含むセットアップコマンドを外部から受けて、前記記憶部における前記保護領域に対する書き込みを許可し、
    前記書込部は、前記書込コマンドおよび前記書込対象プログラムを受けて、前記書込対象プログラムを前記記憶部における前記保護領域に書き込み、
    前記保護部は、前記書込部による前記記憶部に対する前記書込対象プログラムの書き込みが正常に終了したことを条件として、前記保護領域に対する書き込みを禁止する請求項1から5の何れかに記載の情報処理装置
  7. 前記書込コマンドおよび前記書込対象プログラムとともに、前記書込対象プログラムの完全性情報の期待値を受けて、前記算出部が算出した前記完全性情報と、前記期待値とが一致するか否かを比較する比較部を更に備える
    請求項1から6の何れかに記載の情報処理装置
  8. 前記算出部は、前記記憶部に書き込まれた前記書込対象プログラムに対する上書きが禁止されている状態において、外部から検証コマンドを受けると、前記記憶部に記憶された前記書込対象プログラムの完全性情報を新たに算出し、
    当該記憶装置は、前記完全性情報記憶部に記憶された前記完全性情報と、前記検証コマンドを受けたことに応じて新たに算出された前記完全性情報とが一致するか否かを比較する比較部を更に備える
    請求項1から6の何れかに記載の情報処理装置
  9. 前記比較部が不一致であるとの比較結果を得たことを条件として、前記保護部は、前記記憶部における前記書込対象プログラムに対する上書きを許可する
    請求項8に記載の情報処理装置
  10. 前記比較部は、不一致であるとの比較結果を得たことを条件として、前記検証コマンドを受けたことに応じて新たに算出された前記完全性情報を、前記完全性情報記憶部に書き込む
    請求項8に記載の情報処理装置
JP2010525668A 2008-08-22 2009-08-11 記憶装置、情報処理装置およびプログラム Expired - Fee Related JP5466645B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010525668A JP5466645B2 (ja) 2008-08-22 2009-08-11 記憶装置、情報処理装置およびプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008213597 2008-08-22
JP2008213597 2008-08-22
JP2010525668A JP5466645B2 (ja) 2008-08-22 2009-08-11 記憶装置、情報処理装置およびプログラム
PCT/JP2009/064162 WO2010021269A1 (ja) 2008-08-22 2009-08-11 記憶装置、情報処理装置およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2010021269A1 JPWO2010021269A1 (ja) 2012-01-26
JP5466645B2 true JP5466645B2 (ja) 2014-04-09

Family

ID=41707147

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010525668A Expired - Fee Related JP5466645B2 (ja) 2008-08-22 2009-08-11 記憶装置、情報処理装置およびプログラム

Country Status (4)

Country Link
EP (1) EP2339499A4 (ja)
JP (1) JP5466645B2 (ja)
TW (1) TWI453622B (ja)
WO (1) WO2010021269A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5582909B2 (ja) * 2010-07-29 2014-09-03 キヤノン株式会社 プラットフォーム完全性検証システム
JP5865661B2 (ja) * 2011-10-06 2016-02-17 シャープ株式会社 半導体デバイス
WO2016185577A1 (ja) 2015-05-20 2016-11-24 富士通株式会社 プログラム検証方法、検証プログラム、及び情報処理装置
JP6373888B2 (ja) 2016-03-01 2018-08-15 株式会社東芝 情報処理装置及び制御方法
DE102016106871A1 (de) * 2016-04-13 2017-10-19 Infineon Technologies Ag Steuervorrichtung und Verfahren zum Sichern von Daten
JP6622360B2 (ja) * 2018-07-19 2019-12-18 株式会社東芝 情報処理装置
CN111159781B (zh) * 2019-12-31 2023-09-26 海光云芯集成电路设计(上海)有限公司 存储装置数据完整性保护方法及其控制器、片上系统
CN111125794B (zh) * 2019-12-31 2023-09-26 海光云芯集成电路设计(上海)有限公司 访存控制方法、系统及存储装置控制器

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06342399A (ja) * 1993-06-01 1994-12-13 Hitachi Ltd フラッシュメモリ書き込み方式
JPH0822517A (ja) * 1994-07-05 1996-01-23 N T T Data Tsushin Kk ハイブリッドカードの改ざん防止方式
JP2004355561A (ja) * 2003-05-30 2004-12-16 Sony Corp 起動装置
JP2005149259A (ja) * 2003-11-18 2005-06-09 Japan Telecom Co Ltd 情報監視システム、情報処理装置および管理装置
JP2006053916A (ja) * 2004-08-11 2006-02-23 Samsung Electronics Co Ltd 外部メモリに貯蔵されたデータの変更の有無をチェックする装置及び方法
JP2007066021A (ja) * 2005-08-31 2007-03-15 Nec Electronics Corp 外部データ改ざん検出装置、および外部データ改ざん検出方法
JP2007072909A (ja) * 2005-09-08 2007-03-22 Internatl Business Mach Corp <Ibm> 秘密情報へのアクセスを制御するシステムおよびその方法
JP2007257197A (ja) * 2006-03-22 2007-10-04 Fujitsu Ltd 起動検証機能を有する情報処理装置
JP2009129061A (ja) * 2007-11-21 2009-06-11 Ricoh Co Ltd 情報処理装置、正当性検証方法および正当性検証プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6715116B2 (en) * 2000-01-26 2004-03-30 Hewlett-Packard Company, L.P. Memory data verify operation
US20020147918A1 (en) * 2001-04-05 2002-10-10 Osthoff Harro R. System and method for securing information in memory
US7178041B2 (en) * 2001-10-18 2007-02-13 Nokia Corporation Method, system and computer program product for a trusted counter in an external security element for securing a personal communication device
FI20020733A0 (fi) * 2002-04-16 2002-04-16 Nokia Corp Menetelmä ja järjestelmä tiedonsiirtolaitteen käyttäjän autentikointiin
US7076604B1 (en) * 2002-12-24 2006-07-11 Western Digital Technologies, Inc. Disk drive employing a disk command data structure for tracking a write verify status of a write command
US20050289311A1 (en) * 2004-06-29 2005-12-29 David Durham System and method for secure inter-platform and intra-platform communications
US8997255B2 (en) * 2006-07-31 2015-03-31 Inside Secure Verifying data integrity in a data storage device
DE602006019011D1 (de) * 2006-10-06 2011-01-27 Agere Systems Inc Schutz von geheiminformationen in einem programmierten elektronischen gerät
DE102007008293B4 (de) * 2007-02-16 2010-02-25 Continental Automotive Gmbh Verfahren und Vorrichtung zum gesicherten Speichern und zum gesicherten Lesen von Nutzdaten

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06342399A (ja) * 1993-06-01 1994-12-13 Hitachi Ltd フラッシュメモリ書き込み方式
JPH0822517A (ja) * 1994-07-05 1996-01-23 N T T Data Tsushin Kk ハイブリッドカードの改ざん防止方式
JP2004355561A (ja) * 2003-05-30 2004-12-16 Sony Corp 起動装置
JP2005149259A (ja) * 2003-11-18 2005-06-09 Japan Telecom Co Ltd 情報監視システム、情報処理装置および管理装置
JP2006053916A (ja) * 2004-08-11 2006-02-23 Samsung Electronics Co Ltd 外部メモリに貯蔵されたデータの変更の有無をチェックする装置及び方法
JP2007066021A (ja) * 2005-08-31 2007-03-15 Nec Electronics Corp 外部データ改ざん検出装置、および外部データ改ざん検出方法
JP2007072909A (ja) * 2005-09-08 2007-03-22 Internatl Business Mach Corp <Ibm> 秘密情報へのアクセスを制御するシステムおよびその方法
JP2007257197A (ja) * 2006-03-22 2007-10-04 Fujitsu Ltd 起動検証機能を有する情報処理装置
JP2009129061A (ja) * 2007-11-21 2009-06-11 Ricoh Co Ltd 情報処理装置、正当性検証方法および正当性検証プログラム

Also Published As

Publication number Publication date
EP2339499A1 (en) 2011-06-29
EP2339499A4 (en) 2012-05-09
TWI453622B (zh) 2014-09-21
TW201020849A (en) 2010-06-01
JPWO2010021269A1 (ja) 2012-01-26
WO2010021269A1 (ja) 2010-02-25

Similar Documents

Publication Publication Date Title
JP5466645B2 (ja) 記憶装置、情報処理装置およびプログラム
EP3356986B1 (en) Nand-based verified boot
CN103093150B (zh) 一种基于可信芯片的动态完整性保护方法
US8375437B2 (en) Hardware supported virtualized cryptographic service
US7421588B2 (en) Apparatus, system, and method for sealing a data repository to a trusted computing platform
JP5175856B2 (ja) セキュアデバイス・システムにおけるフラッシュメモリ・ブロックの保護と方法
JP6054908B2 (ja) 変数セットを修復する方法、コンピュータ・プログラムおよびコンピュータ
US8122514B2 (en) Software enhanced trusted platform module
US20100088525A1 (en) External encryption and recovery management with hardware encrypted storage devices
JP5346608B2 (ja) 情報処理装置およびファイル検証システム
JP5740573B2 (ja) 情報処理装置および情報処理方法
CN103914658A (zh) 终端设备的安全启动方法及终端设备
US20060064576A1 (en) Boot systems and methods
US10565130B2 (en) Technologies for a memory encryption engine for multiple processor usages
TW201145069A (en) Providing integrity verification and attestation in a hidden execution environment
US8751817B2 (en) Data processing apparatus and validity verification method
TW200304620A (en) Authenticated code method and apparatus
KR20140051350A (ko) 디지털 서명 권한자 의존형 플랫폼 기밀 생성 기법
US11397815B2 (en) Secure data protection
US8972745B2 (en) Secure data handling in a computer system
TWI682296B (zh) 映像檔打包方法及映像檔打包系統
US10242195B2 (en) Integrity values for beginning booting instructions
Cui et al. Towards trustable storage using SSDs with proprietary FTL
US11822663B2 (en) Supervisor-based firmware hardening
US20240054250A1 (en) Method and system for dynamically updating stack canary

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120807

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121106

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121226

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130529

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130709

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131007

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131015

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131108

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131115

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131209

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140124

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees