JP2009230280A - データ保護装置及びプログラム - Google Patents

データ保護装置及びプログラム Download PDF

Info

Publication number
JP2009230280A
JP2009230280A JP2008072487A JP2008072487A JP2009230280A JP 2009230280 A JP2009230280 A JP 2009230280A JP 2008072487 A JP2008072487 A JP 2008072487A JP 2008072487 A JP2008072487 A JP 2008072487A JP 2009230280 A JP2009230280 A JP 2009230280A
Authority
JP
Japan
Prior art keywords
data
information
access
program
data protection
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
Application number
JP2008072487A
Other languages
English (en)
Other versions
JP4724195B2 (ja
Inventor
Masaru Matsuoka
賢 松岡
Fumihiko Sano
文彦 佐野
Takayuki Hitomi
隆行 人見
Takeshi Iriuchijima
健 入内島
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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions 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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2008072487A priority Critical patent/JP4724195B2/ja
Publication of JP2009230280A publication Critical patent/JP2009230280A/ja
Application granted granted Critical
Publication of JP4724195B2 publication Critical patent/JP4724195B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】 処理プログラムに保護対象データの上書き処理を挿入せず、且つ利用直後の保護対象データを消去せずに、保護対象データが漏洩する可能性を低減させる。
【解決手段】 データ保護装置においては、メモリ内の保護対象データに対し、保護対象データのアドレス情報、長さ情報及びアクセス履歴情報を含む管理用情報を記憶し(ST11,ST12,ST16)、このアクセス履歴情報に基づいて、一定期間毎に保護対象データへのアクセスの有無を判定し(ST15−1〜ST15−2)、この判定の結果、アクセスが無い場合には、当該判定に用いたアクセス履歴情報を含む管理用情報内のアドレス情報及び長さ情報に基づいて、この管理用情報に対応する保護対象データをメモリから消去する(ST15−3)。
【選択図】 図4

Description

本発明は、秘密情報などの保護対象データの漏洩を阻止するためのデータ保護装置及びプログラムに関する。
コンピュータプログラムの実行時に、保護対象データとして、例えば秘密情報を取り扱う場合、秘密情報は変数としてメモリ上に置かれる。一般に、変数はプログラム中の関数呼び出し時に確保されるスタック変数、又はプログラム実行時に確保されるヒープ変数が用いられる。C言語を例に述べると、関数内のローカル変数はスタック変数であり、大域変数あるいは関数内の静的変数はヒープ変数である。
変数として置かれた秘密情報は、変数が利用されなくなった場合でも、プログラムが終了するまでの間、他のデータで上書きされるまで残る。他のデータで上書きされるまでの時間は、プログラムやオペレーティングシステムの状態などにより異なり、短期に上書きされる場合もあれば長時間残る場合もある。
例えば、スタック変数は、関数呼び出し毎にスタック階層が確保され、関数終了時に開放され、新たな関数呼び出し時に再利用される仕組みであるが、呼び出し階層の深部に位置する関数の場合、スタック変数の秘密情報が上書きされずに長時間残りやすい。スタック変数が開放された場合でも、プログラム開発者が明示的な消去処理をプログラム実装していない限り、スタック変数は、関数が終了するまで消去されない。また、ヒープ変数は明示的な上書きが必要である。
このように、変数として置かれた秘密情報が長時間メモリに残る場合、プログラムを解析する攻撃者に対し、メモリから秘密情報が漏洩する可能性が増大してしまう。
このため、一時的に利用したい秘密情報は、利用後、速やかにメモリから消去することが望ましい。この種の消去方法としては、プログラム内で秘密情報を利用した後、秘密情報を格納した変数に別のデータを上書きする処理を当該プログラムに挿入しておく方式がある。
このような消去方法によれば、秘密情報の利用時以外にはメモリに秘密情報が存在しないため、秘密情報が漏洩する可能性を低減できる。
なお、この出願に関連する先行技術文献情報には次のものがある。
特表2005−521133号公報 特開平9−204360号公報
しかしながら、以上のような消去方法は、プログラムの規模に比例して、参照する秘密情報の種類や場所が増大するため、秘密情報に別のデータを上書きする処理を誤りや抜けなく当該プログラムに挿入することが困難となる。
また、秘密情報を利用した直後に秘密情報を消去した場合、その消去を手がかりとして該プログラム処理の近辺におけるメモリの利用状態を攻撃者が解析することにより、かえって秘密情報が漏洩する可能性が増大してしまう。
本発明は上記実情を考慮してなされたもので、処理プログラムに保護対象データの上書き処理を挿入せず、且つ利用直後の保護対象データを消去せずに、保護対象データが漏洩する可能性を低減し得るデータ保護装置及びプログラムを提供することを目的とする。
本発明の一つの局面は、保護対象データ及びこの保護対象データにアクセスするための処理プログラムを一時的に記憶するメモリと、前記メモリ内の処理プログラムを実行するCPUとを備え、前記処理プログラムの実行中に前記保護対象データを保護するデータ保護装置であって、前記メモリ内の記憶領域のうちの前記保護対象データの記憶領域とは異なる記憶領域に設けられ、前記保護対象データのアドレス情報、長さ情報及びアクセス履歴情報を含む管理用情報を記憶するデータ管理手段と、前記データ管理手段内のアクセス履歴情報に基づいて、一定期間毎に前記保護対象データへのアクセスの有無又は多少を判定する判定手段と、この判定の結果、前記アクセスが無い又はしきい値より少ない場合には、当該判定に用いたアクセス履歴情報を含む管理用情報内のアドレス情報及び長さ情報に基づいて、この管理用情報に対応する保護対象データを前記メモリから消去するデータ消去手段と、を備えたデータ保護装置である。
なお、上記局面は、装置として表現したが、装置に限らず、プログラム、プログラムを記憶したコンピュータ読み取り可能な記憶媒体、又は方法として表現することができる。
(作用)
本発明の一つの局面によれば、一定期間毎に保護対象データへのアクセスの有無又は多少を判定し、アクセスが無い又はしきい値より少ない場合には保護対象データをメモリから消去する構成により、処理プログラムに保護対象データの上書き処理を挿入せず、且つ利用直後の保護対象データを消去せずに、保護対象データが漏洩する可能性を低減することができる。
以上説明したように本発明によれば、処理プログラムに保護対象データの上書き処理を挿入せず、且つ利用直後の保護対象データを消去せずに、保護対象データが漏洩する可能性を低減できる。
以下、本発明の各実施形態について図面を用いて説明する。なお、以下の各装置は、装置毎に、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。
(第1の実施形態)
図1は本発明の第1の実施形態に係るデータ保護装置の構成を示す模式図である。このデータ保護装置10は、記憶装置11、主記憶装置12、CPU13、入力装置14、表示装置15及び入出力部16がバス17を介して接続された構成となっている。
ここで、記憶装置11は、CPU13から読出/書込可能で電源オフ時にも記憶内容が消去されない記憶装置であり、例えば、外部の記憶媒体からインストールされたデータ保護プログラム20、OS(Operating System)、ミドルウェア、ユーザアプリケーションプログラム、暗号文データ及び復号鍵kなどが適宜、記憶される。記憶装置11としては、例えば、ハードディスク装置等が利用される。復号鍵kは秘密情報の一例であり、保護対象データでもある。秘密情報は、未使用の期間、スクランブルや暗号化等の手段により秘匿された状態で記憶装置11に保存されており、利用する際に主記憶装置12に読み出され、後述するデータ保護プログラム20に基づいて保護される。また、データ保護プログラム20以外の任意のプログラムを一般プログラム30と呼ぶ。一般プログラム30としては、例えば、OS、ミドルウェア又はユーザアプリケーションプログラムが該当する。
主記憶装置12は、CPU13から読出/書込可能なランダムアクセスメモリであり、保護対象データ(例、暗号文を復号するための復号鍵、復号鍵により暗号文から復号された平文データ)と、保護対象データにアクセスして処理を実行するための処理プログラム30と、アクセスが無い又はアクセスがしきい値より少ない保護対象データを消去するためのデータ保護プログラム20と、その他処理中のデータ等とを一時的に記憶するために用いられる。
CPU13は、通常のCPUであり、例えばスレッド機能を提供するOSを実行し、記憶装置11から主記憶装置12に読み出されたデータ保護プログラム20及び一般プログラム30を当該スレッド機能により並列に実行する。補足すると、CPU13で実行されるデータ保護プログラム20は、一般プログラム30の実行により生成されたスレッドとして動作する。また、データ保護プログラム20及び一般プログラム30は、これらCPU13及び主記憶装置12を含む計算機資源を互いに共有している。なお、CPU13は、一般プログラム30の実行により、例えば、主記憶装置12内の復号鍵(保護対象データ)に基づいて暗号文データを復号し、この復号により得られた平文データ(保護対象データ)を利用したデータ処理を行うと共に、データ保護プログラム20の実行により、これら復号鍵及び平文データの各々に対し、一定期間毎にアクセスが無い場合には消去処理を行う。
データ保護プログラム20は、図2及び図3に示すように、管理用情報21aを記憶するための管理用情報記憶領域であるデータ管理部21と、データ変数22aを記憶するためのデータ変数記憶領域であるメモリアクセス記憶部22とを備えており、CPU13に実行されることによりデータ保護装置10を、データ管理部21内のアクセス履歴情報21dに基づいて、一定期間毎にデータ変数(保護対象データ)22aへのアクセスの有無を判定する判定手段、この判定の結果、アクセスが無い場合には、当該判定に用いたアクセス履歴情報21dを含む管理用情報21a内のアドレス情報21b及び長さ情報21cに基づいて、この管理用情報21aに対応するデータ変数22aを主記憶装置12から消去するデータ消去手段、として機能させるためのプログラムである。
なお、データ管理部21及びメモリアクセス記憶部22は、主記憶装置12内の互いに異なる記憶領域に設けられる。また、管理用情報21aは、メモリアクセス記憶部22内の各データ変数22aに対応してデータ管理部21に記録され、データ変数22aのアドレス情報21b、データ変数22aの長さ情報21c、データ変数のアクセス履歴情報21dの要素から構成される。
一般プログラム30は、前述した任意のプログラムであり、任意のプログラム本体処理の実現手段に加え、CPU13に実行されることによりデータ保護装置10を、保護対象データをデータ変数22aとしてメモリアクセス記憶部22に記録する手段、データ変数22a毎に管理用情報21aをデータ管理部21に登録する手段、CPU13によるデータ変数(保護対象データ)22aのアクセス毎に、アクセス履歴情報21dを更新記録するアクセス履歴記録手段、として機能させるプログラムである。
入力装置14は、操作者の操作により、各種のデータや指示をデータ保護装置10本体内に入力する装置であり、例えばキーボード装置及びマウス装置などが適宜使用可能となっている。
表示装置15は、一般プログラム30及びデータ保護プログラム20を実行するCPU13に制御され、各プログラム30,20の実行に応じて画面を表示する装置である。
入出力部(I/O)16は、ネットワーク及び図示しない他の記憶媒体等とデータ保護装置10本体内とを接続し、CPU13からデータの読出/書込処理を実行するための入出力インターフェイス機器である。
次に、以上のように構成されたデータ保護装置の動作を図4の流れ図を用いて説明する。なお、以下の説明中、ユーザアプリケーションプログラムを一般プログラム30として述べる。
データ保護装置10は、操作者による入力装置14の操作により、CPU13が記憶装置11内のユーザアプリケーションプログラムを主記憶装置12に読み出して、当該ユーザアプリケーションプログラムを起動する。これにより、CPU13は、一般プログラムの一例であるユーザアプリケーションプログラム(以下、一般プログラム30という)の処理を開始する。
CPU13は、一般プログラム30の実行中、操作者による入力装置14の操作により、管理対象のデータ変数22aをメモリアクセス記憶部22に登録する処理を実行し(ST11)、ステップST16に進んでアクセス履歴記録の処理により、データ変数22aに対応する管理用情報21aをデータ管理部21に登録する。管理用情報21aは、データ変数22aのアドレス情報21b、長さ情報21c及びアクセス履歴情報21dから構成される。
データ変数22a及び管理用情報21aの登録後、CPU13は、全ての管理用情報21aのアクセス履歴情報を「アクセスなし」にセットする処理を実行し(ST12)、ステップST16に進んでアクセス履歴記録の処理により、管理用情報21aを「アクセスなし」にセットする。
CPU13は、データ保護プログラム20の処理開始を指示し(ST13)、例えばOSが提供するスレッド機能により、一般プログラム30の本体処理とデータ保護プログラム20の処理とを並列に実行する(ST14〜ST16)。
一般プログラム30の本体処理を実行中、CPU13は、この本体処理によりデータ変数22aを参照する場合、データ変数22aにアクセスする毎に、当該データ変数22aの管理用情報21a内のアクセス履歴情報21dを更新記録する処理を開始し(ST14)、ステップST16に進んでアクセス履歴記録の処理により、管理用情報21aのアクセス履歴情報21dを更新する。
一方、データ保護プログラム20の実行中、CPU13は、一定期間の経過又はイベントを受けるまで待ち受け処理を実行する(ST15−1)。イベントとしては、例えばタイマー割り込み、関数呼び出し命令、特定のアドレスメモリへの参照時に発生する割り込み信号などが適宜使用可能となっている。
待ち受け処理の実行後、CPU13は、各管理用情報についてアクセス履歴情報21dの値が「アクセスなし」であるか否かを判定する(ST15−2)。
ステップST15−2の判定の結果、アクセス無しの場合には、CPU13は、当該判定に用いたアクセス履歴情報を含む管理用情報21a内のアドレス情報21b及び長さ情報21cに基づいて、この管理用情報21aに対応するデータ変数22aをメモリアクセス記憶部22から消去する(ST15−3)。
ステップST15−3の消去処理は、データ変数22aの内容を閲覧不能にする処理であり、具体的には例えば、値FFによる上書き処理、値00による上書き処理、乱数による上書き処理、又は再暗号化処理などの任意の処理が使用可能となっている。
ステップST15−2の判定結果がアクセス無しの場合の全ての管理用情報21aにステップ15−3を実行した後、又はステップST15−2の判定結果の全てがアクセス有りの場合には、CPU13は、全ての管理用情報21aのアクセス履歴情報21dを「アクセスなし」にセットする(ST15−4)。なお、ステップST15−3,ST15−4の処理は、具体的にはステップST16のアクセス履歴記録の処理により実行される。
次に、CPU13は、データ保護プログラム20の処理終了指示を受けたか否かを判定し(ST15−5)、処理終了指示を受けた場合にはデータ保護プログラム20の処理を終了する。
ステップST15−5の判定の結果、処理終了指示を受けていない場合には、ステップST15−1に戻り、前述したステップST15−1〜ST15−5の処理を繰り返し実行する。
一般プログラム30を終了する場合、CPU13は、操作者による入力装置14の操作により、データ保護プログラム20を終了する指示を発生し(ST17)、一般プログラム30及びデータ保護プログラム20を終了する。
上述したように本実施形態によれば、一定期間毎にデータ変数22aへのアクセスの有無を判定し、アクセスが無い場合にはデータ変数22aを主記憶装置12から消去する構成により、一般プログラム30に保護対象データの上書き処理を挿入せず、且つ利用直後の保護対象データを消去せずに、保護対象データが漏洩する可能性を低減することができる。
また、一般プログラム30の作成者は、CPU13が保護対象データを参照する直前に、当該保護対象データを主記憶装置12上に展開するように一般プログラム30を作成する。これにより、主記憶装置12上に展開した保護対象データが、一般プログラム30の処理により参照される前に、データ保護プログラム20の処理により消去されるといった不具合を阻止することができる。また、主記憶装置12に秘密情報が平文状態で存在する期間を短縮することにより、秘密情報が漏洩する可能性を低減することができる。
また、本実施形態は、一般プログラム30に対する悪意のあるリバースエンジニア等から、秘密情報を保護するためのデータ保護装置及びデータ保護プログラムとしても利用することができる。
なお、第1の実施形態は、秘密情報を使用していないときに当該秘密情報を消去する点で、特許文献1,2に記載の技術よりも優れている。特許文献1に記載の技術は、到達不能な秘密情報を消去する方式であるので(例えば、請求項6,56等参照)、到達可能な秘密情報であれば使用していなくても消去しない不具合が考えられる。一方、第1の実施形態は、到達可能な秘密情報でも使用していなければ消去するので、特許文献1に記載の技術のような不具合がなく、秘密情報の保護に優れている。
また、特許文献2に記載の技術は、ランダムあるいは一定時間毎に秘密情報を消去する方式であり(例えば、段落[0048]参照)、使用している秘密情報を消去してしまう不具合が考えられる。一方、第1の実施形態は、使用していない秘密情報を消去するので、特許文献2に記載の技術のような不具合がないため、実用性に優れている。
(第2の実施形態)
次に、本発明に係るデータ保護装置について図5を用いて説明するが、前述した図面と同一部分には同一符号を付してその詳しい説明を省略し、ここでは異なる部分について主に述べる。なお、以下の各実施形態も同様にして重複した説明を省略する。
すなわち、第2の実施形態は、第1の実施形態の変形例であり、CPU13が一般プログラム30とデータ保護プログラム20とを独立して実行する構成となっている。
これに伴い、一般プログラム30は、前述したステップST11,ST14及びST16の処理をデータ保護装置10に実現させるためのプログラムとして構成される。
データ保護プログラム20は、前述したステップST12、ST15−1,ST15−2及びST15−3の繰り返し処理をデータ保護装置10に実現させるためのプログラムとして構成される。また、データ保護プログラム20は、一般プログラム30とは並列に実行される、異なるプロセス、ドライバあるいはOSカーネルの一部としてCPU13に実行される。
以上のような構成としても、第1の実施形態と同様の作用効果を得ることができる。
(第3の実施形態)
次に、本発明の第3の実施形態に係るデータ保護装置について説明する。
第3の実施形態は、第1又は第2の実施形態の変形例であり、管理用情報21aにおけるアクセス履歴情報21dがカウンタ値を含んでおり、一般プログラム30におけるアクセス履歴手段としては、CPU13によるデータ変数(保護対象データ)22aのアクセス毎に、カウンタ値を増加(又は減少)させる手段となっている。なお、カウンタ値の増加と減少は逆にしてもよく、このことは以下の各実施形態でも同様である。
これに伴い、CPU13は、図6に示すように、ステップST16のアクセス履歴記録の処理を、CPU13によるデータ変数22aのアクセス毎に、当該カウンタ値を増加させる処理ST16−3と、一定期間毎に当該カウンタ値を減少させる処理ST16−4とを含むように実行する。
具体的には、アクセス履歴記録の処理ST16は、管理用情報の作成処理ST16−1、カウンタ値の初期化処理ST16−2、カウンタ値の増加処理ST16−3及びカウンタ値の減少処理ST16−4を含んでいる。
管理用情報の作成処理ST16−1においては、前述同様に、CPU13が管理用情報21aをデータ管理部21に記録するが、このとき、アクセス履歴情報21dがカウンタ値を含む内容となっている。
カウンタ値の初期化処理ST16−2においては、CPU13がアクセス履歴情報21dのカウンタ値を初期値にして初期化する。なお、カウンタ値の初期値は、正の値、負の値、又はゼロ値のいずれとしてもよく、このことは以下の各実施形態でも同様である。また、カウンタ値の使用に伴い、例えば図7又は図8のステップST15−2’及びST15−3’に示すように、前述した「アクセスなし」の判定に代えて、「しきい値より少ない」か否かの判定を用いている。
カウンタ値の増加処理ST16−3においては、CPU13がデータ変数22aにアクセスする毎に、当該CPU13がアクセス履歴情報21dのカウンタ値を増加させる。
カウンタ値の減少処理ST16−4においては、例えば図7又は図8のステップST15−4’に示すように、データ保護プログラム20におけるST15−1からST15−4’までの繰り返し毎に、CPU13がアクセス履歴情報21dのカウンタ値を減少させる。なお、ステップST16−3におけるカウンタ値の増加量と、ステップST16−4におけるカウンタ値の減少量とは、絶対値が互いに同一でも異なってもよい。
以上のような構成によれば、前述したアクセスの有無に限らず、一定期間毎にアクセスがあるもののアクセスが少ないといった場合にもデータ変数22aを消去できるので、第1又は第2の実施形態に比べ、より広い条件で消去処理を実現することができる。
(第4の実施形態)
次に、本発明の第4の実施形態に係るデータ保護装置について説明する。
第4の実施形態は、第3の実施形態の変形例であり、管理用情報21aにおけるアクセス履歴情報21dがカウンタ値の他に、更にアクセス回数を含んでおり、一般プログラム30におけるアクセス履歴手段としては、CPU13によるデータ変数(保護対象データ)22aのアクセス毎に、アクセス回数を増加させると共に、当該増加させたアクセス回数に基づいて、予めアクセス回数毎に設定された数量だけカウンタ値を増加(又は減少)させる手段となっている。
これに伴い、CPU13は、図9のいずれかの方式1〜4に示すように、ステップST16のアクセス履歴記録の処理を、CPU13によるデータ変数22aのアクセス毎に、アクセス履歴情報21d内のアクセス回数を増加させると共に、当該増加させたアクセス回数に基づいて、予めアクセス回数毎に設定された数量だけ当該アクセス履歴情報21d内のカウンタ値を増加(又は減少)させるように実行する。
ここで、方式1は増加と減少を対称に行う方法であり、方式2〜4は増加に統計情報等を考慮して重み付けを設定した方式である。
具体的には方式1は、カウンタ値の初期値0、カウンタ値の増加処理ST16−3がアクセス回数によらずにカウンタ値を+1増加する処理であり、カウンタ値の減少処理ST16−4がカウンタ値を1だけ減少する処理である。
方式2は、カウンタ値の初期値0、カウンタ値の増加処理ST16−3がアクセス回数nに応じてカウンタ値の増加量が2^{5-n}に減少する増加処理であり(なお、^はべき乗を表す記号)、カウンタ値の減少処理ST16−4がカウンタ値を1だけ減少する処理である。
方式3は、カウンタ値の初期値0、カウンタ値の増加処理ST16−3がアクセス回数nに応じてカウンタ値の増加量が2^{n-1}に増大する増加処理であり、カウンタ値の減少処理ST16−4がカウンタ値を1だけ減少する処理である。
方式4は、カウンタ値の初期値32、カウンタ値の増加処理ST16−3がアクセス回数に応じてカウンタ値の増加量2^{5-n}に減少する増加処理であり、カウンタ値の減少処理ST16−4がカウンタ値を1だけ減少する処理である。
以上のような構成によれば、方式1〜4のいずれかに示すように、アクセス回数に応じて異なる増加量でカウンタ値を増加させることができるので、第3の実施形態に比べ、きめ細かい条件で消去処理を実現することができる。
(第5の実施形態)
次に、本発明の第5の実施形態に係るデータ保護装置について説明する。
第5の実施形態は、第4の実施形態の変形例であり、図10に示すように、管理用情報21aがカウンタ値21d1及びアクセス回数21d2の他に、更に(履歴記録)方式情報21eを含む構成により、データ変数22a毎に、図9に示した方式1〜4を選択可能としたものである。
これに伴い、一般プログラム30におけるアクセス履歴手段としては、CPU13によるデータ変数(保護対象データ)22aのアクセス毎に、アクセス回数21d2を増加させると共に、当該増加させたアクセス回数21d2及び方式情報21eに基づいて、予めアクセス回数及び方式情報毎に設定された数量だけカウンタ値21d1を増加(又は減少)させる手段となっている。
具体的には、CPU13は、ステップST16のアクセス履歴記録の処理を、CPU13によるデータ変数22aのアクセス毎に、アクセス履歴情報21d内のアクセス回数を増加させると共に、当該増加させたアクセス回数及び管理用情報21a内の方式情報21eに基づいて、予めアクセス回数及び方式情報毎に設定された数量だけ当該アクセス履歴情報21d内のカウンタ値を増加(又は減少)させるように実行する。
以上のような構成によれば、データ変数22a毎に、所望の方式1〜4でカウンタ値21d1を増減できるので、第4の実施形態に比べ、よりきめ細かい条件で消去処理を実現することができる。
(第6の実施形態)
次に、本発明の第6の実施形態に係るデータ保護装置について説明する。
第6の実施形態は、第5の実施形態の変形例であり、図11及び図12に示すように、管理用情報21aがカウンタ値21d1及びアクセス回数21d2の他に、更にデータ種別情報21fを含む構成により、データ変数22aのデータ種別毎に、図12に示した方式1〜4を選択可能としたものである。なお、データ種別情報21fと、方式1〜4とは、図12に示すように、一般プログラム30において予め関連付けられている。
これに伴い、一般プログラム30におけるアクセス履歴手段としては、CPU13によるデータ変数(保護対象データ)22aのアクセス毎に、アクセス回数21d2を増加させると共に、当該増加させたアクセス回数21d2及びデータ種別情報21fに基づいて、予めデータ種別情報に関連付けた(履歴記録)方式情報及びアクセス回数毎に設定された数量だけカウンタ値21d1を増加又は減少させる手段となっている。
具体的には、CPU13は、ステップST16のアクセス履歴記録の処理を、CPU13によるデータ変数22aのアクセス毎に、アクセス履歴情報21d内のアクセス回数を増加させると共に、当該増加させたアクセス回数及び管理用情報21a内のデータ種別情報21fに基づいて、予めデータ種別情報に関連付けた方式情報及びアクセス回数毎に設定された数量だけ当該アクセス履歴情報21d内のカウンタ値を増加(又は減少)させるように実行する。
以上のような構成によれば、データ変数22aのデータ種別毎に、所望の方式1〜4でカウンタ値21d1を増減できるので、第4の実施形態と同様に、きめ細かい条件で消去処理を実現することができる。
なお、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶又は一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。
本発明の第1の実施形態に係るデータ保護装置の構成を示す模式図である。 同実施形態におけるデータ保護プログラムと一般プログラムとを説明するための模式図である。 同実施形態における管理用情報の構成を説明するための模式図である。 同実施形態における動作を説明するための流れ図である。 本発明の第2の実施形態に係るデータ保護装置の動作を説明するための流れ図である。 本発明の第3の実施形態に係るデータ保護装置のアクセス履歴記録の処理を説明するための模式図である。 同実施形態における動作を説明するための流れ図である。 同実施形態における動作を説明するための流れ図である。 本発明の第4の実施形態に係るアクセス履歴記録処理の方式を表形式で説明するための図である。 本発明の第5の実施形態における管理用情報の構成を説明するための模式図である。 本発明の第6の実施形態における管理用情報の構成を説明するための模式図である。 同実施形態におけるアクセス履歴記録処理の方式を表形式で説明するための図である。
符号の説明
10…データ保護装置、11…記憶装置、12…主記憶装置、13…CPU、14…入力装置、15…表示装置、16…入出力部、17…バス、20…データ保護プログラム、21…データ管理部、21a…管理用情報、21b…アドレス情報、21c…長さ情報、21dアクセス履歴情報、21d1…カウンタ値、21d2…アクセス回数、21e…方式情報、21f…データ種別情報、22…メモリアクセス記憶部、22a…データ変数。

Claims (14)

  1. 保護対象データ及びこの保護対象データにアクセスするための処理プログラムを一時的に記憶するメモリと、前記メモリ内の処理プログラムを実行するCPUとを備え、前記処理プログラムの実行中に前記保護対象データを保護するデータ保護装置であって、
    前記メモリ内の記憶領域のうちの前記保護対象データの記憶領域とは異なる記憶領域に設けられ、前記保護対象データのアドレス情報、長さ情報及びアクセス履歴情報を含む管理用情報を記憶するデータ管理手段と、
    前記データ管理手段内のアクセス履歴情報に基づいて、一定期間毎に前記保護対象データへのアクセスの有無又はしきい値に対する前記アクセスの多少を判定する判定手段と、
    この判定の結果、前記アクセスが無い又はしきい値より少ない場合には、当該判定に用いたアクセス履歴情報を含む管理用情報内のアドレス情報及び長さ情報に基づいて、この管理用情報に対応する保護対象データを前記メモリから消去するデータ消去手段と、
    を備えたことを特徴とするデータ保護装置。
  2. 請求項1に記載のデータ保護装置において、
    前記データ管理手段、前記判定手段及び前記データ消去手段としてデータ保護装置本体を機能させるためのデータ保護プログラムを記憶する記憶手段を更に備えており、
    前記CPUは、前記記憶手段から前記メモリに読み出されたデータ保護プログラム及び前記処理実行プログラムを並列に実行し、
    前記データ保護プログラム及び前記処理実行プログラムは、前記CPU及び前記メモリを含む計算機資源を互いに共有することを特徴とするデータ保護装置。
  3. 請求項2に記載のデータ保護装置において、
    前記処理実行プログラムは、
    前記CPUによる保護対象データのアクセス毎に、前記アクセス履歴情報を更新記録するアクセス履歴記録手段、として前記データ保護装置本体を機能させることを特徴とするデータ保護装置。
  4. 請求項3に記載のデータ保護装置において、
    前記アクセス履歴情報はカウンタ値を含んでおり、
    前記アクセス履歴記録手段は、前記CPUによる保護対象データのアクセス毎に、前記カウンタ値を増加又は減少させる手段であることを特徴とするデータ保護装置。
  5. 請求項4に記載のデータ保護装置において、
    前記アクセス履歴情報はアクセス回数を更に含んでおり、
    前記アクセス履歴記録手段は、前記CPUによる保護対象データのアクセス毎に、前記アクセス回数を増加させると共に、当該増加させたアクセス回数に基づいて、予めアクセス回数毎に設定された数量だけ前記カウンタ値を増加又は減少させる手段であることを特徴とするデータ保護装置。
  6. 請求項5に記載のデータ保護装置において、
    前記管理用情報は履歴記録方式情報を更に含んでおり、
    前記アクセス履歴記録手段は、前記増加させたアクセス回数及び前記履歴記録方式情報に基づいて、予めアクセス回数及び履歴記録方式情報毎に設定された数量だけ前記カウンタ値を増加又は減少させる手段であることを特徴とするデータ保護装置。
  7. 請求項5に記載のデータ保護装置において、
    前記管理用情報はデータ種別情報を更に含んでおり、
    前記アクセス履歴記録手段は、前記増加させたアクセス回数及び前記データ種別情報に基づいて、予めデータ種別情報に関連付けた履歴記録方式情報及びアクセス回数毎に設定された数量だけ前記カウンタ値を増加又は減少させる手段であることを特徴とするデータ保護装置。
  8. 保護対象データ及びこの保護対象データにアクセスするための処理プログラムを一時的に記憶するメモリと、前記メモリ内の処理プログラムを実行するCPUとを備え、前記処理プログラムの実行中に前記保護対象データを保護するデータ保護装置に用いられるデータ保護プログラムであって、
    前記データ保護装置を、
    前記メモリ内の記憶領域のうちの前記保護対象データの記憶領域とは異なる記憶領域に設けられ、前記保護対象データのアドレス情報、長さ情報及びアクセス履歴情報を含む管理用情報を記憶するデータ管理手段、
    前記データ管理手段内のアクセス履歴情報に基づいて、一定期間毎に前記保護対象データへのアクセスの有無又はしきい値に対する前記アクセスの多少を判定する判定手段、
    この判定の結果、前記アクセスが無い又はしきい値より少ない場合には、当該判定に用いたアクセス履歴情報を含む管理用情報内のアドレス情報及び長さ情報に基づいて、この管理用情報に対応する保護対象データを前記メモリから消去するデータ消去手段、
    として機能させるためのデータ保護プログラム。
  9. 請求項8に記載のデータ保護プログラムにおいて、
    前記データ保護装置は、前記データ保護プログラム本体を記憶する記憶手段を更に備えており、
    前記CPUは、前記記憶手段から前記メモリに読み出されたデータ保護プログラム及び前記処理実行プログラムを並列に実行し、
    前記データ保護プログラム本体は、前記CPU及び前記メモリを含む計算機資源を前記処理実行プログラムと共有することを特徴とするデータ保護プログラム。
  10. 請求項9に記載のデータ保護プログラムにおいて、
    前記処理実行プログラムは、
    前記CPUによる保護対象データのアクセス毎に、前記アクセス履歴情報を更新記録するアクセス履歴記録手段、として前記データ保護装置本体を機能させるデータ保護プログラム。
  11. 請求項10に記載のデータ保護プログラムにおいて、
    前記アクセス履歴情報はカウンタ値を含んでおり、
    前記アクセス履歴記録手段は、前記CPUによる保護対象データのアクセス毎に、前記カウンタ値を増加又は減少させる手段であるデータ保護プログラム。
  12. 請求項11に記載のデータ保護プログラムにおいて、
    前記アクセス履歴情報はアクセス回数を更に含んでおり、
    前記アクセス履歴記録手段は、前記CPUによる保護対象データのアクセス毎に、前記アクセス回数を増加させると共に、当該増加させたアクセス回数に基づいて、予めアクセス回数毎に設定された数量だけ前記カウンタ値を増加又は減少させる手段であるデータ保護プログラム。
  13. 請求項12に記載のデータ保護プログラムにおいて、
    前記管理用情報は履歴記録方式情報を更に含んでおり、
    前記アクセス履歴記録手段は、前記増加させたアクセス回数及び前記履歴記録方式情報に基づいて、予めアクセス回数及び履歴記録方式情報毎に設定された数量だけ前記カウンタ値を増加又は減少させる手段であるデータ保護プログラム。
  14. 請求項12に記載のデータ保護プログラムにおいて、
    前記管理用情報はデータ種別情報を更に含んでおり、
    前記アクセス履歴記録手段は、前記増加させたアクセス回数及び前記データ種別情報に基づいて、予めデータ種別情報に関連付けた履歴記録方式情報及びアクセス回数毎に設定された数量だけ前記カウンタ値を増加又は減少させる手段であるデータ保護プログラム。
JP2008072487A 2008-03-19 2008-03-19 データ保護装置及びプログラム Expired - Fee Related JP4724195B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008072487A JP4724195B2 (ja) 2008-03-19 2008-03-19 データ保護装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008072487A JP4724195B2 (ja) 2008-03-19 2008-03-19 データ保護装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2009230280A true JP2009230280A (ja) 2009-10-08
JP4724195B2 JP4724195B2 (ja) 2011-07-13

Family

ID=41245625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008072487A Expired - Fee Related JP4724195B2 (ja) 2008-03-19 2008-03-19 データ保護装置及びプログラム

Country Status (1)

Country Link
JP (1) JP4724195B2 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11316727A (ja) * 1998-05-07 1999-11-16 Nec Corp セキュリティシステム
JP2001356964A (ja) * 2000-06-15 2001-12-26 Sony Corp 暗号化データ記憶装置
JP2004287612A (ja) * 2003-03-19 2004-10-14 Sharp Corp データ処理装置
JP2005025450A (ja) * 2003-07-01 2005-01-27 Canon Inc データ管理装置、データ削除方法、及び該方法を実行するプログラム
JP2006048506A (ja) * 2004-08-06 2006-02-16 Toshiba Corp プロセッサ、メモリ管理システム及びメモリ管理プログラム
JP2006302010A (ja) * 2005-04-21 2006-11-02 Kyocera Mita Corp 情報処理装置
JP2007272865A (ja) * 2006-03-10 2007-10-18 Heiwa Corp 電子コンテンツ管理システム、方法および媒体

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11316727A (ja) * 1998-05-07 1999-11-16 Nec Corp セキュリティシステム
JP2001356964A (ja) * 2000-06-15 2001-12-26 Sony Corp 暗号化データ記憶装置
JP2004287612A (ja) * 2003-03-19 2004-10-14 Sharp Corp データ処理装置
JP2005025450A (ja) * 2003-07-01 2005-01-27 Canon Inc データ管理装置、データ削除方法、及び該方法を実行するプログラム
JP2006048506A (ja) * 2004-08-06 2006-02-16 Toshiba Corp プロセッサ、メモリ管理システム及びメモリ管理プログラム
JP2006302010A (ja) * 2005-04-21 2006-11-02 Kyocera Mita Corp 情報処理装置
JP2007272865A (ja) * 2006-03-10 2007-10-18 Heiwa Corp 電子コンテンツ管理システム、方法および媒体

Also Published As

Publication number Publication date
JP4724195B2 (ja) 2011-07-13

Similar Documents

Publication Publication Date Title
US10311227B2 (en) Obfuscation of an address space layout randomization mapping in a data processing system
US8762431B2 (en) System and method for secure erase in copy-on-write file systems
EP2339466B1 (en) Data control device, data control method, and program
CN100419626C (zh) 执行以面向对象语言制作的应用程序的执行装置
AU2004252921B2 (en) Dual virtual machine and trusted platform module architecture for next generation media players
US20050204126A1 (en) Dual virtual machine architecture for media devices
JP5785390B2 (ja) 情報処理装置、データ複製方法、プログラムおよび記録媒体
EP2477132A2 (en) Apparatus and method for managing digital rights using virtualization technique
WO2008063262A2 (en) Securing a flash memory block in a secure device system and method
US10311229B1 (en) Mitigating timing side-channel attacks by obscuring alternatives in code
JP2014505286A (ja) 仮想ディスクを暗号化及び復号するためのコンピュータ可読ストレージ媒体
CN103617399A (zh) 一种数据文件保护方法及装置
JP2012128536A (ja) データ保護処理プログラム
JP2013037715A (ja) ポータブルメモリデバイスを使用して保護されたメディアを配信する方法
US10303885B2 (en) Methods and systems for securely executing untrusted software
JP2009237930A (ja) アプリケーション移動システム、アプリケーションの移動方法およびプログラム
JP2007300157A (ja) 秘密分散システム、装置及びプログラム
JP5374751B2 (ja) メモリ管理方法
JP4724195B2 (ja) データ保護装置及びプログラム
JP2010217975A (ja) 情報処理装置、アプリケーションプログラム、及びアプリケーションプログラムの実行方法
CN111143879A (zh) 一种Android平台SD卡文件保护方法、终端设备及存储介质
JP2007122391A (ja) 暗号化プログラムを復号して実行する情報処理装置及びメモリ管理方法
Anikeev et al. Secure garbage collection: Preventing malicious data harvesting from deallocated Java objects inside the Dalvik VM
JP6215468B2 (ja) プログラム保護装置
JP2008242799A (ja) コンテンツ保護装置及びコンテンツ保護方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110223

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110315

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110408

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees