JPWO2010109774A1 - データ処理装置、そのコンピュータプログラムおよびデータ処理方法 - Google Patents

データ処理装置、そのコンピュータプログラムおよびデータ処理方法 Download PDF

Info

Publication number
JPWO2010109774A1
JPWO2010109774A1 JP2011505839A JP2011505839A JPWO2010109774A1 JP WO2010109774 A1 JPWO2010109774 A1 JP WO2010109774A1 JP 2011505839 A JP2011505839 A JP 2011505839A JP 2011505839 A JP2011505839 A JP 2011505839A JP WO2010109774 A1 JPWO2010109774 A1 JP WO2010109774A1
Authority
JP
Japan
Prior art keywords
confidential
normal
information
area
mode
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
JP2011505839A
Other languages
English (en)
Other versions
JP5429280B2 (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2011505839A priority Critical patent/JP5429280B2/ja
Publication of JPWO2010109774A1 publication Critical patent/JPWO2010109774A1/ja
Application granted granted Critical
Publication of JP5429280B2 publication Critical patent/JP5429280B2/ja
Active 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

データ処理装置は、OSやアプリケーションプログラムがHDDに情報を書き込むときに、クラスタ単位にファイルを分割して書き込むという性質を利用して、クラスタ単位で書き込み場所の変更(リダイレクト)を行うことにより、少ないHDD消費量で機密情報を区別して保存する。これにより、少ないHDD消費量で、機密情報と通常情報とを区別して保存することができるデータ処理装置を提供する。

Description

本発明は、機密情報と通常情報とを区別して記録するデータ処理装置、そのコンピュータプログラムおよびデータ処理方法、に関する。
ソフトウェア開発などのプロジェクトでは、コストやコンピュータ設置スペースの問題から、しばしば機密業務と、それ以外の通常業務が1台のコンピュータで行われるため、プロジェクトの情報と通常業務の情報の両方が、コンピュータに蓄積される。
機密情報漏えいを防ぐためには、機密業務中には情報を暗号化で守り、一連の機密業務が終了した後に、情報の削除を行う必要がある。しかし、上記のように、1台のコンピュータの中には、機密情報と、それ以外の情報が混在しているため、どの情報を対象として、暗号化・削除を行えばよいか判断することができない。この課題を解決するために、以下の技術が公開されている。
例えば、ユーザの権限に応じて、開示するファイルの内容を差し替え、機密情報が権限の低いユーザに漏洩することを防止するシステムが公開されている。よって、権限の高いユーザで機密業務を行ない、権限の低いユーザで通常業務を行うことで、機密情報と通常業務の情報を区別可能である(例えば、特許文献1参照)。
また、起動するOSを切り替えるマルチブートや仮想マシンを用いることで、通常業務で使うOSや情報と、プロジェクトで使うOSや情報を区別することが可能である(例えば、特許文献2、非特許文献1参照)。
WO2006−059639 特開2003−280915号公報
Workstation ユーザーマニュアル Workstation 6.5[2009年03月16日検索]インターネット<URL:http://www.vmware.com/files/jp/pdf/ws65_manual.pdf>
特許文献1のシステムでは、ファイル単位で情報を管理するため、1bitの違いであったとしても、機密情報としてのファイルと通常業務の情報としてのファイルを作成する必要があり、HDDの使用量が大きい。
また、マルチブートや仮想マシンでは、機密・通常を区別する必要があるユーザ情報だけではなく、OSまでも区別するため、同じ情報であるにもかかわらず、機密情報としてのファイルと通常業務の情報としてのファイルを作成する必要があり、HDDの消費量が大きい。
本発明は上述のような課題に鑑みてなされたものであり、少ないHDD消費量で、機密情報と通常情報とを区別して保存することができるデータ処理装置、そのコンピュータプログラムおよびデータ処理方法、を提供するものである。
本発明のデータ処理装置は、通常情報を扱う通常モードと機密情報を扱う機密モードとを切換自在な動作モードとして設定するモード設定手段と、所定単位の記憶エリアごとに各種データを記憶するデータ記憶媒体と、記憶エリアを少なくとも通常情報のみ記憶されている通常エリアと機密情報のみ記憶されている機密エリアと通常情報と機密情報とが記憶されている共有エリアと通常情報も機密情報も記憶されていない空きエリアとに区分するエリア区分手段と、通常モードの設定下で通常情報を指定された通常エリアに記憶させる通常格納手段と、通常モードの設定下で通常情報を指定された通常エリアから読み出す通常読出手段と、機密モードの設定下で機密情報を指定された機密エリアに記憶させるとともに通常エリアが指定されたときには機密エリアにリダイレクトして記憶させる機密格納手段と、指定された通常エリアと記憶された機密エリアとのリダイレクト関係を対応する機密情報ごとに生成するマップ生成手段と、機密モードの設定下で機密情報を指定された機密エリアから読み出すとともに通常エリアが指定されたときにはリダイレクト関係により記憶された機密エリアから読み出す機密読出手段と、を有する。
本発明のコンピュータプログラムは、所定単位の記憶エリアごとに各種データを記憶するデータ記憶媒体を有するデータ処理装置のコンピュータプログラムであって、通常情報を扱う通常モードと機密情報を扱う機密モードとを切換自在な動作モードとして設定するモード設定処理と、記憶エリアを少なくとも通常情報のみ記憶されている通常エリアと機密情報のみ記憶されている機密エリアと通常情報と機密情報とが記憶されている共有エリアと通常情報も機密情報も記憶されていない空きエリアとに区分するエリア区分処理と、通常モードの設定下で通常情報を指定された通常エリアに記憶させる通常格納処理と、通常モードの設定下で通常情報を指定された通常エリアから読み出す通常読出処理と、機密モードの設定下で機密情報を指定された機密エリアに記憶させるとともに通常エリアが指定されたときには機密エリアにリダイレクトして記憶させる機密格納処理と、指定された通常エリアと記憶された機密エリアとのリダイレクト関係を対応する機密情報ごとに生成するマップ生成処理と、機密モードの設定下で機密情報を指定された機密エリアから読み出すとともに通常エリアが指定されたときにはリダイレクト関係により記憶された機密エリアから読み出す機密読出処理と、をデータ処理装置に実行させる。
本発明のデータ処理方法は、所定単位の記憶エリアごとに各種データを記憶するデータ記憶媒体を有するデータ処理方法であって、通常情報を扱う通常モードと機密情報を扱う機密モードとを切換自在な動作モードとして設定するモード設定動作と、記憶エリアを少なくとも通常情報のみ記憶されている通常エリアと機密情報のみ記憶されている機密エリアと通常情報と機密情報とが記憶されている共有エリアと通常情報も機密情報も記憶されていない空きエリアとに区分するエリア区分動作と、通常モードの設定下で通常情報を指定された通常エリアに記憶させる通常格納動作と、通常モードの設定下で通常情報を指定された通常エリアから読み出す通常読出動作と、機密モードの設定下で機密情報を指定された機密エリアに記憶させるとともに通常エリアが指定されたときには機密エリアにリダイレクトして記憶させる機密格納動作と、指定された通常エリアと記憶された機密エリアとのリダイレクト関係を対応する機密情報ごとに生成するマップ生成動作と、機密モードの設定下で機密情報を指定された機密エリアから読み出すとともに通常エリアが指定されたときにはリダイレクト関係により記憶された機密エリアから読み出す機密読出動作と、を有する。
なお、本発明の各種の構成要素は、その機能を実現するように形成されていればよく、例えば、所定の機能を発揮する専用のハードウェア、所定の機能がコンピュータプログラムにより付与されたデータ処理装置、コンピュータプログラムによりデータ処理装置に実現された所定の機能、これらの任意の組み合わせ、等として実現することができる。
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
また、本発明のコンピュータプログラムおよびデータ処理方法は、複数の処理および動作を順番に記載してあるが、その記載の順番は複数の処理および複数の動作を実行する順番を限定するものではない。
このため、本発明のコンピュータプログラムおよびデータ処理方法を実施するときには、その複数の処理および複数の動作の順番は内容的に支障しない範囲で変更することができる。
さらに、本発明のコンピュータプログラムおよびデータ処理方法は、複数の処理および複数の動作が個々に相違するタイミングで実行されることに限定されない。このため、ある処理および動作の実行中に他の処理および動作が発生すること、ある処理および動作の実行タイミングと他の処理および動作の実行タイミングとの一部ないし全部が重複していること、等でもよい。
また、本発明で云うデータ処理装置は、コンピュータプログラムを読み取って対応する処理動作を実行できるように、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、I/F(Interface)ユニット、等の汎用デバイスで構築されたハードウェア、所定の処理動作を実行するように構築された専用の論理回路、これらの組み合わせ、等として実施することができる。
なお、本発明でコンピュータプログラムに対応した各種動作をデータ処理装置に実行させることは、各種デバイスをデータ処理装置に動作制御させることなども意味している。
例えば、データ処理装置に各種データを記憶させることは、データ処理装置に固定されているHDD(Hard Disc Drive)等の情報記憶媒体にCPUが各種データを格納すること、データ処理装置に交換自在に装填されているCD−R(Compact Disc-Recordable)等の情報記憶媒体にCPUがCDドライブで各種データを格納すること、等を許容する。
本発明のデータ処理装置では、通常情報を扱う通常モードと機密情報を扱う機密モードとを切換自在な動作モードとしてモード設定手段が設定する。所定単位の記憶エリアごとに各種データをデータ記憶媒体が記憶する。その記憶エリアを少なくとも通常情報のみ記憶されている通常エリアと機密情報のみ記憶されている機密エリアと通常情報と機密情報とが記憶されている共有エリアと通常情報も機密情報も記憶されていない空きエリアとにエリア区分手段が区分する。通常モードの設定下で通常情報を指定された通常エリアに通常格納手段が記憶させる。通常モードの設定下で通常情報を指定された通常エリアから通常読出手段が読み出す。機密モードの設定下で機密情報を指定された機密エリアに記憶させるとともに通常エリアが指定されたときには機密格納手段が機密エリアにリダイレクトして記憶させる。指定された通常エリアと記憶された機密エリアとのリダイレクト関係を対応する機密情報ごとにマップ生成手段が生成する。機密モードの設定下で機密情報を指定された機密エリアから読み出すとともに通常エリアが指定されたときにはリダイレクト関係により記憶された機密エリアから機密読出手段が読み出す。従って、機密情報と通常情報とを区別して保存することができ、例えば、機密エリアに書き込む機密情報が共有エリアの機密情報や通常エリアの通常情報と同一のときに、機密情報の書き込みを中止したり機密エリアを削除するようなこともできるので、データ記憶媒体の消費量を削減しながら機密情報と通常情報とを区別して保存することができる。特に、機密格納手段は、書き込み対象の通常エリアに対応する機密エリアが存在するときには、対応する機密エリアに書き込み場所を変更し、対応する機密エリアが存在しないときには、新たに機密エリアを生成するようなこともできるので、より効果的にデータ記憶媒体の消費量を削減しながら機密情報と通常情報とを区別して保存することができる。
上述した目的、および、その他の目的、特徴および利点は、以下に述べる好適な実施の形態、および、それに付随する以下の図面によって、さらに明らかになる。
本発明の実施の第一の形態のデータ処理装置を示すブロック図である。 本発明の読み書きリダイレクトの動作を示す模式図である。 本発明を実施するための最良の形態の動作を示すフローチャートである。 本発明のマップ生成手段が生成するマップの例を示す模式図である。 本発明の回収手段が生成する初期ファイルリストと更新ファイルリストの例を示す模式図である。 本発明の実施の第二の形態の構成を示すブロック図である。
本発明の実施の一形態を図面を参照して以下に説明する。図1を参照すると、本発明の実施の形態のデータ処理装置は、プログラム制御により動作するコンピュータ装置100からなる。
本実施の形態のコンピュータ装置100は、通常情報を扱う通常モードと機密情報を扱う機密モードとを切換自在な動作モードとして設定するモード設定手段と、所定単位の記憶エリアであるクラスタごとに各種データを記憶するデータ記憶媒体であるHDD103と、クラスタを少なくとも通常情報のみ記憶されている通常クラスタと機密情報のみ記憶されている機密クラスタと通常情報と機密情報とが記憶されている共有クラスタと通常情報も機密情報も記憶されていない空きクラスタとに区分するクラスタ区分手段と、通常モードの設定下で通常情報を指定された通常クラスタに記憶させる通常格納手段と、通常モードの設定下で通常情報を指定された通常クラスタから読み出す通常読出手段と、機密モードの設定下で機密情報を指定された機密クラスタに記憶させるとともに通常クラスタが指定されたときには機密クラスタにリダイレクトして記憶させる機密格納手段と、指定された通常クラスタと記憶された機密クラスタとのリダイレクト関係を対応する機密情報ごとに生成するマップ生成手段106と、機密モードの設定下で機密情報を指定された機密クラスタから読み出すとともに通常クラスタが指定されたときにはリダイレクト関係により記憶された機密クラスタから読み出す機密読出手段と、を有する。
より具体的には、本実施の形態のコンピュータ装置100は、CPU101、メモリ102、データ記憶媒体であるHDD103、等のハードウェア、OS(Operating System)104、各種のアプリケーションプログラム(図示せず)、等のソフトウェア、を有する。
さらに、IO(Input/Output)リダイレクト手段105、マップ生成手段106、削除手段107、回収手段108、暗号化手段109、等の論理機能、を備える。前述のモード設定手段とクラスタ区分手段と通常格納手段と通常読出手段と機密格納手段と機密読出手段とは、上述のIOリダイレクト手段105に集約されている。
このような論理機能は、例えば、OSや各種のアプリケーションプログラム等のソフトウェアに対応してCPU101等のハードウェアが各種動作を実行することなどで、論理的に実現されている。上述のようなコンピュータ装置100の構成要素は、それぞれ概略以下のように機能する。
CPU101は、コンピュータ内外の各装置の制御や情報の計算・加工を行い、メモリに記憶されたプログラムを実行したり、入力装置や記憶装置から情報を受け取り、演算・加工した上で、出力装置や記憶装置に出力したりする。
CPU101の例として、マイクロプロセッサ(microprocessor)、または同様の機能を有するIC(Integrated Circuit:半導体集積回路)等が考えられる。ただし、実際には、これらの例に限定されない。
メモリ102は、CPUが直接読み書きできるRAM(Random Access Memory)やROM(Read Only Memory)、または、フラッシュメモリ等の半導体記憶装置である。ここでは、メモリ102は、主記憶装置(メインメモリ)を示す。ただし、実際には、これらの例に限定されない。
HDD103は、コンピュータ内外で情報やプログラムを格納する補助記憶装置である。ここでは、HDD103は、外部記憶装置(ストレージ)を示す。なお、このような外部記憶装置としては、SSD(Solid State Drive)等のフラッシュメモリドライブでもよい。
また、このような外部記憶装置としては、DVD(Digital Versatile Disk)−RAMやメモリカード等のデータ記憶媒体(メディア)等でもよい。また、HDD103は、コンピュータ装置100に内蔵された記憶装置に限らず、周辺機器(外付けHDD等)や外部のサーバ(ストレージサーバ等)に設置された記憶装置でもよい。ただし、実際には、これらの例に限定されない。
HDD103は、セクタという単位で情報を記録する。例えば、一般的なHDDでは512byteである。クラスタとは複数のセクタ集合であり、OSは記憶エリアであるクラスタの単位で情報の読み書きを行う。以降、クラスタ単位での処理を説明するが、セクタ単位でも同様の動作によって、機密情報と通常情報とを区別して記録することができる。
IOリダイレクト手段105は、OSやOS内部で動作するアプリケーションプログラムのHDD103への書き込みをフックし、HDD103の空き領域にリダイレクトすることで、機密情報を区別して記録する。また、読み込みをフックし、リダイレクト先から機密情報を読み込み、機密情報をOSへ渡す。
本発明では、HDD103のクラスタは、四つの状態を持つ。クラスタが空きエリアとなる空き状態は、情報が記録されていない状態である。クラスタが共有エリアとなる共有状態は、機密モードと通常モードとの両方で読み込まれる状態である。
クラスタが通常エリアとなる通常状態は、通常モードでのみ読み込まれる状態である。クラスタが機密エリアとなる機密状態は、機密モードでのみ読み込まれる状態である。マップ生成手段は、HDD103の状態を示すマップを生成する。
さらに、マップ生成手段106は、IOリダイレクト手段105によって、機密情報がHDD103のどこにリダイレクトされたのかをマップに記録する。また、IOリダイレクト手段105からの問い合わせに応じてマップを参照し、クラスタの状態やリダイレクト先の場所を返す。
削除手段107は、マップ生成手段106に問い合わせることで、すべてのリダイレクト先を取得し、乱数を書き込む。すなわち、すべての機密情報を乱数で上書きすることによって削除する。
回収手段108は、機密モードのときに動作し、ある時点、例えば、プロジェクト開始時点と現時点のファイルの構成を比較し、機密モードで動作中に更新されたファイルと新規作成されたファイルを、CD−ROMやUSBメモリなどの外部記憶媒体、またはファイルサーバなどの他のコンピュータへ機密情報を書き込む。
暗号化手段109は、機密情報がリダイレクトされる際に、IOリダイレクト手段105から機密情報を受け取り、暗号化した後、IOリダイレクト手段105へ暗号化した機密情報を返す。
つぎに、本実施の形態の全体の動作について説明する。初期状態では、HDD103の情報が記録されているクラスタはすべて共有状態であり、情報が記録されていないクラスタは空き状態である。
マップ生成手段106は、HDD103のファイルシステムのクラスタ使用情報を読み込むことにより、初期状態のマップを生成する。その後、以下に示されるように、機密モードや通常モードで書き込みが行われると、機密状態や通常状態に状態が変化する。
本発明は、図2に示すように、機密モードにおいてOSやアプリケーションプログラムが通常状態のクラスタに書き込むと、書き込みを機密状態のクラスタにリダイレクトする。また、機密モードにおいて、通常状態のクラスタが読み込まれた場合に、リダイレクトを行ない、機密状態のクラスタを読み込む。この動作により、機密情報は、機密状態のクラスタに記録される。
図3のシーケンス図を参照して、動作を詳細に説明する。OSやOS上で動作するアプリケーションプログラムが、HDD103に対して、読み書きの命令を発行する。IOリダイレクト手段105は、この命令をフックする(S1)。つぎに、機密モードで動作しているか否かを判定し(S2)、命令が読み書きのどちらかであるかを判定する(S3またはS12)。
まず、機密モードの書き込みの動作を説明する。IOリダイレクト手段105は、マップ生成手段106に、OSやアプリケーションプログラムが指定した書き込み対象のクラスタの状態を問い合わせる。
マップ生成手段106は、図4に示されるマップを参照することで、書き込みクラスタの状態を取得し、状態をIOリダイレクト手段105へ伝える(S4)。IOリダイレクト手段は、書き込み対象の状態を判定し、つぎに示す処理を行う(S5)。
OSやアプリケーションプログラムが指定した書き込み対象のクラスタが共有状態の場合、IOリダイレクト手段105は、マップ生成手段106に、機密状態のクラスタ作成の指示を行う。
マップ生成手段106はマップを参照し、空き状態のクラスタを1つ選択し、機密状態に変更する。さらに、マップ生成手段106は、書き込み対象クラスタの状態を通常状態に変更する。
そして、書き込み対象通常状態のクラスタと作成した機密状態のクラスタとの紐付けをマップに記録する。そして、マップ生成手段106は、作成した機密状態のクラスタの場所をIOリダイレクト手段105へ返す。最後に、IOリダイレクト手段105は、機密状態のクラスタに情報を書き込む(S6)。
OSやアプリケーションプログラムが指定した書き込み対象のクラスタが通常状態の場合、すなわち、過去にステップS6の動作によってリダイレクトが行われたことがある場合、IOリダイレクト手段105はマップ生成手段106へ、リダイレクト先を問い合わせる。
マップ生成手段106は、マップに記録されている当該クラスタのリダイレクト先のクラスタの場所を読み込み、IOリダイレクト手段105へ返す。IOリダイレクト手段105は、リダイレクト先のクラスタに対して書き込む(S7)。
OSやアプリケーションプログラムが指定した書き込み対象のクラスタが空き状態の場合、IOリダイレクト手段105は、リダイレクトを行わずに、書き込み対象クラスタに対して書き込む。
さらに、IOリダイレクト手段105は、書き込み対象クラスタを機密状態に変更するようにマップ生成手段106へ指示し、マップ生成手段106は当該クラスタの状態を変更する(S8)。
OSやアプリケーションプログラムが指定した書き込み対象のクラスタが機密状態の場合、すなわち、過去にステップS8によって機密情報が書き込まれたクラスタである場合、IOリダイレクト手段105は、リダイレクトを行わずに、書き込み対象クラスタに対して書き込む(S9)。
つぎに、機密モードの読み込みの動作を説明する。IOリダイレクト手段105は、ステップS4と同様に、OSやアプリケーションプログラムが指定した読み込み対象のクラスタの状態を取得し(S4)、状態に応じてつぎに述べる処理を行う(S5)。
読み込み対象のクラスタが共有状態または機密状態の場合、IOリダイレクト手段105は、リダイレクトを行わずに、読み込み対象クラスタに記録されている情報を読み込み、OSへ返す(S11)。
なぜなら、共有状態のクラスタはリダイレクトが行われていないクラスタだからである。また、機密状態のクラスタは、ステップS8によって書き込まれたクラスタであり、ステップS8ではリダイレクトが行われていないためである。
読み込み対象のクラスタが通常状態の場合、書き込まれた情報はステップS6の動作によって生成された機密状態のクラスタに記録されている。よって、IOリダイレクト手段105は、マップ生成手段106に、リダイレクト先の機密状態のクラスタの場所を問い合わせる。
マップ生成手段106は、マップを参照し、通常状態のクラスタに対応する機密状態のクラスタの場所を取得し、IOリダイレクト手段105へ返す。IOリダイレクト手段105は、機密状態のクラスタから情報を読み込みOSへ渡す(S10)。
つぎに、通常モードの書き込みの動作を説明する。まず、ステップS4と同様に、読み込み対象クラスタの状態を問い合わせる(S13)。書き込み対象のクラスタが共有状態の場合、そのまま当該クラスタへ書き込むと、通常モードと機密モードで、当該クラスタの情報が共有されているため、機密モードまで影響が及び、機密モードのファイルシステムが破損してしまう。よって、書き込む前に、つぎに示す動作によって、共有状態を解除する。
マップ生成手段は、ステップS6と同様に、機密状態のクラスタを作成する。そして、IOリダイレクト手段は、書き込み対象の共有状態のクラスタの情報を、機密状態のクラスタへコピーする。
この動作により、次回、機密モードで書き込み対象のクラスタが読み込まれたときには、リダイレクト先の機密状態のクラスタに記録された古い情報が読み出されることになり、ファイルシステムが破損することはない(S15)。
上記の動作によって共有状態を解除した後、IOリダイレクト手段は、リダイレクトを行わずに、OSやアプリケーションプログラムが指定した書き込み対象クラスタに対して情報を書き込む(S16)。
OSやアプリケーションプログラムが指定した書き込み対象のクラスタが通常状態または、空き状態であるとき、IOリダイレクト手段105は、リダイレクトを行わずに書き込む。マップ生成手段106は、書き込み対象のクラスタの状態が空き状態であれば、状態を通常状態に変更する(S17)。
つぎに、通常モードの読み込みの動作を説明する。通常モードでの書き込みは、ステップ16、ステップ17で説明したように、リダイレクトは行われない。よって、読み込みもリダイレクトを行わない。
IOリダイレクト手段105は、OSやアプリケーションプログラムが指定した読み込み対象クラスタから情報を読み込み、OSやアプリケーションプログラムへ返す(S18)。
以上のように、IOリダイレクト手段105が読み書き対象のクラスタをリダイレクトすることによって、機密情報を区別して記録する。IOリダイレクト手段105は、上記の動作に加え、HDD103の消費量を抑えるために、以下の動作を行ってもよい。
上記の動作では、IOリダイレクト手段105は、ステップS6で書き込みをリダイレクトし、機密状態のクラスタを生成して情報を記録していたが、以下のように、同じデータが書き込まれるときは、リダイレクトを行わなくてもよい。
ステップS6の開始時に、IOリダイレクト手段105は、HDD103から書き込み対象のクラスタの情報を読み込む。つぎに、読み込んだ情報と書き込もうとしている情報を比較する。
異なる情報である場合、上に示したステップS6の動作によって、リダイレクトを行う。同じ情報である場合、リダイレクトを行わず、書き込み対象のクラスタにデータを書き込む。同じ情報を書き込んでも、HDD103に記録される情報は変化しないので、実際には書き込みを行わず、書き込みが成功したというメッセージをOSに返してもよい。
この動作では、機密モードにおいて、共有状態のクラスタに同じデータを書き込んだとき、機密情報を記憶するクラスタを作成しないので、重複する情報を記録することを防ぎ、HDD103の使用量を減らすことができる。
さらに、別の動作を説明する。上記の動作では、IOリダイレクト手段105は、ステップS7においてリダイレクト先の機密状態のクラスタに書き込みを行っていたが、書き込もうとしている情報とリダイレクト元の通常状態のクラスタの情報が同じ場合に、書き込みを行わずに、リダイレクト先の機密状態のクラスタを削除してもよい。
ステップS7の開始時に、IOリダイレクト手段105は、リダイレクト元である通常状態のクラスタの情報を読み込む。そして、読み込んだ情報と、書き込もうとしている情報を比較する。
同じである場合、リダイレクトを行って機密状態のクラスタに書き込むと、通常状態のクラスタと機密状態のクラスタには、同じ情報が記録されることになり、HDD103を無駄に消費してしまう。
よって、IOリダイレクト手段105はマップ生成手段106に、リダイレクト元の通常状態のクラスタを、共有状態に変更するように指示し、マップ生成手段106は、当該クラスタの状態を共有状態に変更する。
さらに、IOリダイレクト手段105は、リダイレクト先の機密状態のクラスタを空き状態に変更するように指示し、マップ生成手段は、当該クラスタの状態を空き状態に変更する。
リダイレクト元のクラスタの情報と書き込もうとしている情報が異なる場合、上記で説明した、ステップS7のリダイレクトの動作を行う。この動作によって、通常状態のクラスタと機密状態のクラスタで、重複したデータを持つことを回避できるので、よりHDD103の消費量を減らすことができる。
さらに、別の動作について説明する。IOリダイレクト手段105は、以下の動作によって、機密状態や通常状態のクラスタを削除し、HDD103の消費量を減らしてもよい。
多くのファイルシステムの場合、ファイルの情報をHDD103のクラスタに記録するために、ファイルの情報がどのクラスタに書き込まれているかを示す情報(ファイルテーブル)を持つ。
ファイルの削除は、このファイルテーブルの情報を書き換え、削除するファイルに対して削除を示すマークをつけることにより、OSやアプリケーションプログラムから当該ファイルを見えなくすることによって行われる。
よって、IOリダイレクト手段105は、ファイルテーブルの変化を監視することによって、ファイルの削除を検知し、削除されたファイルが記録されているマップ生成手段106のリダイレクト関係も削除することにより、HDD103の消費量を減らすことができる。
また、本実施の形態のIOリダイレクト手段105は、通常モードにおいて、OSやアプリケーションプログラムが、機密状態のクラスタに対して書き込みを行わないように、以下の処理を行う。
まず、ファイルの作成やファイルの内容の追加によって、機密状態のクラスタや通常状態のクラスタが生成された場合を考える。多くのファイルシステムでは、クラスタ単位でそのクラスタが使用されているか否かを記憶している。
ファイルシステムも、HDD103に記録されるため、IOリダイレクト手段の動作によって、機密モードと通常モードでは、異なる内容になる。そのため、例えば、図4のクラスタNo5は、機密情報が記録されているにも関わらず、通常モードのOSから見ると何もデータが書かれていないように見える。
よって、OSはデータをクラスタNo5に書き込もうとしてしまう。書き込みが行われると、機密モードでクラスタNo5に書き込んだ情報が失われるため、これを防ぐ必要がある。
これを防ぐために、IOリダイレクト手段105は、ステップS6またはステップS15で機密状態のクラスタが生成され、ファイルシステムのクラスタ使用情報が使用中に変更されたとき、通常モードのファイルシステムのクラスタ使用情報についても、使用中に変更する。
上記とは逆の場合、すなわち、通常モードのステップS14で空き状態と判定され、ステップS16において、状態を通常状態に変更したクラスタは、機密モードのときにOSからは何も記録されていないように見えるため、上書きされる可能性がある。
よって、IOリダイレクト手段105は、ステップS16で通常モードでのクラスタの使用情報を機密モードのクラスタの使用情報に反映させることによって、機密モードで当該クラスタにOSが書き込むことを防ぐ。
例えば、NTFSファイルシステムでは、$BITMAPという特殊なファイルに、HDD103の各クラスタが使用されているか否かを記録している。IOリダイレクト手段105は、書き込みの命令を監視することによって、この$BITMAPファイルの変化を監視する。
そして、機密モードで$BITMAPが更新され、あるクラスタの状態が使用中に変更したことを検知し、同様の変更を通常モードの$BITMAPファイルに対しても行えばよい。その逆に、通常モードで$BITMAPが更新された場合に、その変化を機密モードにも反映させればよい。
上記の動作の代わりに、$BITMAPが記録されているクラスタについてはリダイレクトを行わない、すなわち、$BITMAPのファイルが記録されるクラスタを、通常モードと機密モードで共通にすることによって、$BITMAPの更新を他のモードに伝えてもよい。
つぎに、ファイルが削除された場合を考える。OSやアプリケーションプログラムがファイルを削除し、そのファイルが共有状態のクラスタを持つ場合、ファイルシステムのクラスタ使用情報が未使用に変更されると、OSやアプリケーションプログラムが当該クラスタに別の情報を書き込み、他のモードのファイルが破損する可能性がある。
よって、IOリダイレクト手段105は、ファイルシステムのクラスタ使用情報を監視し、未使用に変更されたクラスタが、共有状態であるか否かを判定し、共有状態である場合は、未使用に変更された情報を使用中に戻す。
上記のように、ファイルシステムのクラスタ使用情報を操作するのではなく、書き込まれたときにリダイレクトを行うことによって、クラスタが上書きされ、情報が失われることを防いでもよい。
例えば、ステップS6やステップS15で生成された機密状態のクラスタが、通常モードでは何も記録されていないように見えるため、書き込みの対象となる可能性がある。そこで、ステップS14において、書き込み対象が機密状態であるかを確認する。
そして、機密状態である場合、ステップS15と同様の手順で、機密状態のクラスタの情報を空きクラスタにコピーした後、書き込み対象クラスタに情報を書き込む。機密状態のクラスタの情報はコピーされるため、情報が失われることはない。
リダイレクト先を持たない通常状態のクラスタ、すなわち、ステップS14において空き状態と判定されて、ステップS16で空き状態から通常状態になったクラスタは、機密モードで何も記録されていないように見えるため、書き込みの対象となる可能性がある。よって、機密モードで書き込みが行われたときは、以下の動作を行う。
ステップS7で、通常状態のクラスタのリダイレクト先が存在するか否かを確認する。存在しない場合、IOリダイレクト手段は、上記で説明したステップS7の動作の代わりに、ステップS6と同様の動作を行ない、新たにリダイレクト先の機密状態のクラスタを生成し、機密状態のクラスタに情報をリダイレクトする。
リダイレクトが行われるため、通常状態のクラスタの情報が失われることはない。つぎに、削除手段107の動作を説明する。削除手段107は、ユーザから機密情報削除指示を受けると、マップ生成手段106に対し、すべての機密状態のクラスタの場所を問い合わせる。
マップ生成手段106は、マップを参照し、すべての機密状態のクラスタの場所を返す。削除手段107は、すべての機密状態のクラスタに対して、乱数を書き込み、機密情報を削除する。
本発明は、機密モードでの書き込み(ステップS6からステップS8)の動作によって、機密モードで書き込まれた情報は、すべて機密状態のクラスタに書き込まれるように動作するため、機密状態のクラスタを削除することによって、すべての機密情報の削除が保証できる。
上記の説明では、機密情報削除指示は、ユーザからであったが、組織の管理者などがネットワークを通じて削除手段107に対して機密情報削除指示を行ってもよい。また、削除手段107は、特定のサーバと定期的に通信を行い、通信が一定期間行えなかった場合に、機密情報の削除を行ってもよい。この動作では、例えば、コンピュータが盗まれたときでも、機密情報が削除されるため、情報漏洩が起こらない。
つぎに、回収手段108の動作を説明する。まず、回収手段108は特定のタイミング、例えば、本システムが動作を始めたときや、あるプロジェクトが開始したときに、HDD103をスキャンし、すべてのファイルについて、図5に示すように、ファイル名と更新日時を記録したリスト(初期ファイルリスト)を作成する。
そして、回収手段108が機密情報回収の指示を受けたとき、機密モードで本システムを起動し、初期ファイルリストの作成と同様に、すべてのファイルについて、ファイル名と更新日時を記録したリスト(更新ファイルリスト)を作成する。
つぎに、以下の動作によって、回収手段108は、機密モードで更新されたファイルと新たに作成されたファイル、すなわち、機密情報が記録されているファイルを特定する。
更新されたファイルを特定するために、回収手段108は、初期ファイルリストと更新ファイルリストの両方に存在するファイルについて、更新日時を比較し、更新日時が異なるファイルを、回収対象リストに追加する。
また、回収手段108は、新規作成されたファイルを特定するために、初期ファイルリストには存在せず、更新ファイルリストにのみ存在するファイルを、回収対象ファイルリストに追加する。
最後に、回収手段108は、回収対象のファイルをHDD103から読み出し、外部記憶媒体にコピーする。NASやファイルサーバなどへ、ネットワーク経由でアップロードしてもよい。
つぎに暗号化手段109の動作を説明する。暗号化手段109は、IOリダイレクト手段105から平文情報を受け取ると、内部に記憶している暗号鍵を用いて暗号化し、IOリダイレクト手段105へ返す。また、暗号化情報を受け取ると、復号し、平文情報をIOリダイレクト手段105へ返す。
暗号化手段を用いて、機密情報を暗号化する場合、IOリダイレクト手段105は、機密モードでの書き込み時、すなわちステップS6,ステップS7,ステップS8,ステップ9で、平文情報を暗号化手段109に渡して暗号化し、暗号化された情報をHDD103に書き込む。
また、機密モードでの読み込み時、すなわちステップS10,ステップ11において、HDD103から読み込んだ暗号化された情報を、暗号化手段109に渡して復号し、平文の情報をOSへ渡す。
上記のように、機密モードのHDD103へのアクセス時に、IOリダイレクト手段105が暗号化手段109を呼び出すことにより、HDD103上の機密情報を暗号化できる。
よって、通常モードにおいて、OSやアプリケーションプログラムが機密状態のクラスタの情報を読み込んだとしても、暗号化されているため、機密情報が通常モードで扱われない。
また、この動作では、暗号化は機密情報のみに限られ、共有状態のクラスタの情報、例えば、OSやアプリケーションプログラムの実行ファイルなどは暗号化されないため、OSやアプリケーションプログラムの実行速度が低下することはない。
機密情報が通常モードで扱われることを防ぐ方法として、上記では、暗号を用いたが、IOリダイレクト手段105が、機密状態を持つクラスタへのアクセスを遮断してもよい。
IOリダイレクト手段105は、通常モードで動作中に読み込み命令をフックすると、マップ生成手段106へ、読み込み対象のクラスタの状態を問い合わせる。クラスタの状態が機密状態であった場合、IOリダイレクト手段105は、OSへ読み込み失敗のエラーメッセージを返す。エラーメッセージの代わりに、ダミーの情報、例えば、すべて0を返してもよい。
つぎに、本発明の実施の第二の形態について図面を参照して詳細に説明する。図6は実施の第二の形態を示すブロック図である。図6に示すように、NIC110とネットワーク制御手段111を備えている点で、実施の第一の形態と異なっている。実施の第一の形態と同様の構成要素については、同一の符号を付し、詳細な説明を省略する。
NIC110は、通信回線(ネットワーク)を介して、外部と情報の送受信を行うための通信装置である。ネットワーク制御手段111は、IOリダイレクト手段105へモードを問い合わせ、OSやアプリケーションプログラムが出力したネットワーク通信をフックし、機密モードのときのみ、特定のサーバへのアクセスを許可する。
ネットワーク制御手段111の動作を詳細に説明する。ネットワーク制御手段は、内部にファイルサーバのアドレスを保有する。ネットワーク制御手段は、コンピュータが起動すると、IOリダイレクト手段105に、どちらのモードで動作しているかを問い合わせる。
通常モードで動作しているとき、ネットワーク制御手段111は、OSまたはアプリケーションプログラムのネットワーク通信を監視する。つぎに、ネットワーク制御手段111は、通信先が、内部に記憶しているサーバのアドレスと等しいか否かを判定する。等しい場合、ネットワーク制御手段は、通信を遮断する。等しくない場合、通信を許可する。
機密モードで動作しているとき、ネットワーク制御手段111は、同様に通信を監視し、通信先が記憶しているアドレスと等しいか否かを判定する。等しい場合、ネットワーク制御手段は、通信を許可し、等しくない場合、通信を遮断する。
以上の動作によって、OSやアプリケーションプログラムは、機密モードで動作しているときのみ、ファイルサーバにアクセス可能である。すなわち、ファイルサーバからダウンロードされた情報は、すべて機密状態のクラスタに保存される。
よって、削除手段107は、ファイルサーバからダウンロードされた情報を、すべて削除することが保証できる。また、回収手段108は、ファールサーバからダウンロードした情報をすべて回収することができる。
以上のように、実施の第二の形態では、サーバからダウンロードした機密情報をすべて削除または回収することを保証できる効果がある。
上記の説明では、ネットワーク制御手段111は、内部にサーバのアドレスを記憶し、通信の可否を決定していたが、サーバのアドレスに加えて、ディレクトリ名やファイル名も記録し、通信の可否を決定してもよい。
この場合、機密モードでは、サーバのアドレスに加えて、アクセスするディレクトリ名やファイル名が等しいときのみ、通信を許可する。この動作では、例えば、あるサーバの/secretディレクトリのみを機密情報として扱うことができる。
つぎに、より具体的に本願発明の実施例を説明する。図1のデータ処理装置100は、CPU101、メモリ102、HDD103、マウス、キーボード、ディスプレイのようなハードウェアを備える一般的なコンピュータである。
IOリダイレクト手段105やマップ生成手段106は、例えば、OSのドライバとして実装できる。コンピュータの電源が入れられると、IOリダイレクト手段105は、通常モードか機密モードのどちらで動作するかをユーザに問い合わせるダイアログを表示させる。このとき、IDとパスワードを入力させることによって、ユーザ認証を行ってもよい。
つぎに、IOリダイレクト手段105は、OSやアプリケーションプログラムの読み書き命令のフックを実行する。例えば、Windows(登録商標)であれば、ボリュームフィルタドライバを、NTFSドライバと、ディスクドライバの間に挟みこむことにより、読み書きの命令であるIRP(IOリクエストパケット)をフックすることができる。
例えば、機密モードで書き込みの命令をフックした場合、IOリダイレクト手段105は、マップ生成手段106へ、書き込み対象のクラスタの状態を問い合わせる。例えば、Windowsでは、IOリダイレクト手段105は、IRPの命令がIRP_MJ_WRITEであれば書き込み命令と判定することができ、書き込みクラスタの場所は、IRP中のパラメータから取得することができる。
マップ生成手段106は、図4のマップを作成する。例えば、マップ生成手段106は、初回起動時に、HDD103の空き領域にHDD103のクラスタ総数の分だけ、クラスタの状態を記録する領域を用意し、それをマップとして参照すればよい。
例えば、状態を記憶する領域を2byteにした場合、HDD103のクラスタ数が1000個であるとき、2000byteの領域を確保すればよい。また、クラスタ番号123の場所の状態を調べたいときには、123*2byte目の情報を読み込めばよい。
初回起動時にマップ生成手段106は、例えば、ファイルシステムがNTFSであれば、クラスタが使用中か否かを記録した$BITMAPファイルを参照することによって、すべてのクラスタについて、使用中であれば共有状態を、未使用であれば空き状態を、マップに記録する。例えば、ファイルシステムがFATであれば、ディレクトリエントリを参照することによって、各クラスタが使用中であるか否かを判定し、同様の処理を行う。
対象のクラスタが共有状態である場合、例えば、図4のクラスタNo1が書き込み対象であるとき、マップ生成手段106は、空き状態であるNo4クラスタの状態を機密状態に変更する。
そして、マップ生成手段は、クラスタNo1のリダイレクト先として、クラスタNo4をマップに記録する。IOリダイレクト手段105は、書き込み命令の中の対象クラスタを、No1からNo4に書き換える。
例えば、IOリダイレクト手段105がWindowsのドライバとして実装されている場合、IRP中の書き込み位置情報をクラスタNo4に変更し、下層のディスクドライバに変更したIRPを渡すことによって、空き状態であったNo4クラスタに情報を書き込む。
HDD103の消費量を減らすために、以下の動作を行ってもよい。上記の書き込み動作を行う前に、IOリダイレクト手段105は、例えば、書き込み対象のクラスタNo1の場合、クラスタNo1に対して読み込みのIRPを発行して情報を読み込む。
つぎに、クラスタNo1に記録されている情報と、OSが発行したIRPに含まれる書き込み情報と比較し、情報が同一の場合は、機密状態のクラスタを作らずに、クラスタNo1に書き込む。書き込みを行わずに、書き込み成功のメッセージをOSに返してもよい。
対象のクラスタが通常状態である場合、例えば、図4のクラスタNo2が書き込み対象であるとき、IOリダイレクト手段105はマップ生成手段106へリダイレクト先を問い合わせ、マップ生成手段106は、リダイレクト先の機密状態のクラスタであるNo3を返す。そして、IOリダイレクト手段105は、書き込み命令中の対象クラスタをNo2からNo3に書き換える。
HDD103の消費量を減らすために、以下の動作を行ってもよい。例えば、上記のリダイレクトの動作を行う前に、IOリダイレクト手段105は、リダイレクト元であるクラスタNo2の情報を、IPR読み込み命令を発行して読み込む。
つぎに、読み込んだ情報と、書き込もうとしている情報を比較する。読み込んだ情報と書き込もうとしている情報が同じである場合、IOリダイレクト手段はリダイレクトを行わない。
そして、マップ生成手段はクラスタNo3の状態を空き状態に変更する。更に、マップ生成手段は、クラスタNo2の状態を共有状態に書き換える。読み込んだ情報と書き込もうとしている情報が異なる場合は、上記で説明したように、IOリダイレクト手段は、クラスタNo3に書き込みのリダイレクトを行う。
対象のクラスタが空き状態である場合、例えば、図4のクラスタNo4が書き込み対象であるとき、マップ生成手段106は、クラスタNo4の状態を機密状態に変更する。IOリダイレクト手段105は、リダイレクトを行わずに、クラスタNo4に情報を書き込む。
つぎに、機密モードの読み込みの動作の具体例を示す。読み込み対象のクラスタの状態が通常状態であるとき、例えば、図4のクラスタNo2であるとき、IOリダイレクト手段105は、マップ生成手段106にリダイレクト先を問い合わせ、WindowsであればIRPの読み込み対象のクラスタの番号を変更することによって、クラスタNo3から情報を読み込む。
読み込み対象のクラスタが共有状態または機密状態であるとき、例えば、図4のクラスタNo1やクラスタNo5であるとき、リダイレクトを行わない。例えば、Windowsであれば、フックしたIRPを変更せずに、下層のディスクドライバに渡す。
つぎに、通常モードの書き込みの動作の具体例を示す。例えば、書き込み対象が共有状態である図4のクラスタNo1であるとき、マップ生成手段106は、空き状態のクラスタNo4を機密状態に変更し、クラスタNo1のリダイレクト先をNo4に設定する。
IOリダイレクト手段105は、例えば、Windowsであれば、クラスタNo1への読み込みIRPを発行してクラスタNo1に記録されている情報を読み込み、クラスタNo4への書き込みIRPを発行することにより、クラスタNo1の情報をクラスタNo4にコピーする。
つぎに、フックしたIRPの書き込み場所を変更することによって、クラスタNo1に情報を書き込む。書き込み対象が、通常状態のクラスタNo2や空き状態のクラスタNo4であるとき、IOリダイレクト手段105は、リダイレクトを行わない。つまり、例えば、Windowsであれば、フックしたIRPを変更せずに、下層のディスクドライバへ渡す。
通常モードの読み込みについては、リダイレクトを行わない。IOリダイレクト手段105は、フックしたIRPを変更せずに、下層のディスクドライバへ渡す。
つぎに、ファイル削除時の動作を具体的に説明する。IOリダイレクト手段105は、以下の動作によって、機密状態や通常状態のクラスタを削除してもよい。
IOリダイレクト手段105は、例えば、OSがファイルシステムとしてNTFSを利用していれば、MFT(マスターファイルテーブル)を、FATを利用していれば、ディレクトリエントリを監視することによって、ファイルの削除を検知する。
具体的には、MFTやディレクトリエントリは、HDD103に記録されているため、HDD103への書き込みを監視することによって、ファイルの削除を検知する。ファイルの削除を検知すると、IOリダイレクト手段105は、例えば、NTFSではMFTを参照することによって、FATでは、ファイルアロケーションテーブルを参照することによって、ファイルの情報が記録されているクラスタの場所を取得する。
そして、取得した各クラスタを対象として、以下の処理を行う。機密モードで、例えば、対象のクラスタが図4のクラスタNo2のように、通常状態でリダイレクト先がNo3の場合、IOリダイレクト手段は、クラスタNo3を空き状態に変更し、クラスタNo2のリダイレクト先を無しに変更する。
機密モードで、例えば、対象のクラスタが図4のクラスタNo5のように、機密状態であり、リダイレクト先となっていない場合、IOリダイレクト手段はマップ生成手段に指示し、クラスタNo5の状態を空き状態に変更する。
通常モードで、例えば、対象のクラスタが図4のクラスタNo2のように、リダイレクト先を持つ場合、IOリダイレクト手段は、リダイレクト先であるクラスタNo3に記録されているデータを、クラスタNo2にコピーする。そして、IOリダイレクト手段は、マップ生成手段に指示を行い、クラスタNo3の状態を空き状態に、クラスタNo2の状態を機密状態に変更する。
通常モードで、例えば、対象のクラスタが図4のクラスタNo6のように通常状態、かつリダイレクト先がない場合、IOリダイレクト手段は、マップ生成手段に指示し、クラスタNo6の状態を空き状態に変更する。
つぎに、削除手段107の具体的な例について説明する。削除手段107は、マップ生成手段106から、機密状態のクラスタのクラスタ番号を受け取ると、例えば、削除手段107をWindowsのドライバとして実装するのであれば、書き込みの命令を、デバイスドライバに対して発行し、機密状態のクラスタを上書きする。
例えば、マップの状態が図4であれば、マップ生成手段106はクラスタNo3とクラスタNo5を削除手段107へ通知し、削除手段107は、2つのクラスタを対象に、書き込みのIRPを発行する。書き込む情報は、乱数やゼロを書き込めばよい。より完全にHDD103の情報を削除するために、複数回書き込みを行ってもよい。
つぎに、回収手段108の具体的な動作の例について説明する。回収手段108は、本発明が始めて動作するときに、HDD103をスキャンし、ファイル名と更新日時を記録した初期ファイルリストを作成する。
また、回収の指示を受けたときに、同様の更新ファイルリストを作成する。そして、それぞれのファイルリストの更新日時を比較する。例えば、初期ファイルリストと更新ファイルリストが図5であるとき、ファイルaとファイルbは、更新日時が同じため、回収ファイルリストには加えない。ファイルcは更新日時が変わっているため、回収ファイルリストに追加する。
ファイルdは、初期ファイルリストに存在せず、更新ファイルリストにのみ存在するため、新規作成されたファイルとみなして回収ファイルリストに追加する。初期ファイルリストに存在し、更新ファイルリストに存在しないファイルは削除されたファイルであるので、回収ファイルリストには追加しない。
最後に、回収手段108は、作成した回収ファイルリストに記載されているファイルをHDD103から読み込み、例えば、CD−RやUSBメモリなどの外部記憶媒体へコピーする。コピーは、例えば、Network AttachedStoreage(NAS)やファイルサーバへ、Windowsファイル共有プロトコルやFTPなどのファイル転送プロトコルを用いて行ってもよい。
つぎに、暗号化手段109の具体的な例について説明する。暗号化手段109は、例えば、ドライバやアプリケーションプログラムとして実装できる。暗号化手段109は、IOリダイレクト手段105から平文のクラスタの情報を受け取ると、例えば、AESやRC4などの暗号アルゴリズムを用いて、クラスタの情報を暗号化し、IOリダイレクト手段105に返す。逆に、暗号化された情報を受け取ったときは、復号を行ない、IOリダイレクト手段105に返す。
つぎに、具体的な実施例を用いて、本発明の第二の実施例を説明する。本発明の第一の実施例と同様の箇所については説明を省略する。
ネットワーク制御手段111は、例えば、ドライバとして実装することができる。ネットワーク制御手段は、コンピュータ起動時にIOリダイレクト手段105へ動作モードを問い合わせる。
通常モードの場合、例えば、ネットワーク制御手段111は、NIC110へ出力されるIPパケットをフックする。そして、IPパケットのヘッダに含まれている宛先IPアドレスと、ネットワーク制御手段が内部に記憶しているサーバのIPアドレスを比較する。IPアドレスが同一の場合、パケットを破棄することによって通信を禁止する。一方、IPアドレスが異なる場合、パケットをNICへ渡すことにより、通信を許可する。
機密モードの場合、ネットワーク制御手段111は、同様にパケットをフックする。そして、通常モードとは逆に、宛先IPアドレスとサーバのIPアドレスが一致する場合に、通信を許可し、一致しない場合にパケットを破棄することによって通信を禁止する。
なお、本発明は本実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で各種の変形を許容する。例えば、上記形態ではデータ処理装置100の各部がコンピュータプログラムにより各種機能として論理的に実現されることを例示した。しかし、このような各部の各々を固有のハードウェアとして形成することもでき、ソフトウェアとハードウェアとの組み合わせとして実現することもできる。
なお、当然ながら、上述した実施の形態および複数の変形例は、その内容が相反しない範囲で組み合わせることができる。また、上述した実施の形態および変形例では、各部の構造などを具体的に説明したが、その構造などは本願発明を満足する範囲で各種に変更することができる。
この出願は、2009年 3月24日に出願された日本出願特願2009−072391号を基礎とする優先権を主張し、その開示の全てを、ここに取り込む。

Claims (13)

  1. 通常情報を扱う通常モードと機密情報を扱う機密モードとを切換自在な動作モードとして設定するモード設定手段と、
    所定単位の記憶エリアごとに各種データを記憶するデータ記憶媒体と、
    前記記憶エリアを少なくとも前記通常情報のみ記憶されている通常エリアと前記機密情報のみ記憶されている機密エリアと前記通常情報と前記機密情報とが記憶されている共有エリアと前記通常情報も前記機密情報も記憶されていない空きエリアとに区分するエリア区分手段と、
    前記通常モードの設定下で前記通常情報を指定された前記通常エリアに記憶させる通常格納手段と、
    前記通常モードの設定下で前記通常情報を指定された前記通常エリアから読み出す通常読出手段と、
    前記機密モードの設定下で前記機密情報を指定された前記機密エリアに記憶させるとともに前記通常エリアが指定されたときには前記機密エリアにリダイレクトして記憶させる機密格納手段と、
    指定された前記通常エリアと記憶された前記機密エリアとのリダイレクト関係を対応する前記機密情報ごとに生成するマップ生成手段と、
    前記機密モードの設定下で前記機密情報を指定された前記機密エリアから読み出すとともに前記通常エリアが指定されたときには前記リダイレクト関係により記憶された前記機密エリアから読み出す機密読出手段と、
    を有するデータ処理装置。
  2. 前記機密格納手段は、書き込み対象の前記通常エリアに対応する前記機密エリアが存在するときには、対応する前記機密エリアに書き込み場所を変更し、対応する前記機密エリアが存在しないときには、新たに前記機密エリアを生成する請求項1に記載のデータ処理装置。
  3. 前記機密格納手段は、指定された前記機密情報が格納される前記通常エリアに対応する前記機密エリアが存在しないときに、書き込み対象の前記通常エリアに記録されている前記通常情報と書き込もうとしている前記機密情報とを比較し、同じ場合に前記機密情報を記録する前記機密エリアを生成しない請求項1または2に記載のデータ処理装置。
  4. 前記機密格納手段は、指定された書き込み対象の前記通常エリアに対応する前記機密エリアが存在するときに、前記通常エリアに記録されている前記通常情報と書き込もうとしている前記機密情報が同じ場合に、前記通常エリアに対応する前記機密エリアを削除する請求項1ないし3の何れか一項に記載のデータ処理装置。
  5. 前記機密読出手段は、前記機密モードの設定下に前記機密情報の読み込みをフックし、前記マップ生成手段に、読み込み対象の前記通常エリアに対応する前記機密エリアが存在するか否かを問い合わせ、存在するときには、対応する前記機密エリアに読み込み対象を変更する請求項1ないし4の何れか一項に記載のデータ処理装置。
  6. 前記機密格納手段は、前記通常モードの設定下に前記通常データの書き込みをフックし、書き込み対象の前記通常エリアに対応する前記機密エリアが存在しないときに、新たに前記機密エリアを生成し、書き込み対象の前記通常データを生成した前記機密エリアにコピーした後、書き込み対象の前記通常エリアに書き込む請求項1ないし5の何れか一項に記載のデータ処理装置。
  7. 前記マップ生成手段は、前記データ記憶媒体のファイルの削除を検知し、前記ファイルの削除で不要となった前記リダイレクト関係を削除する請求項1ないし6の何れか一項に記載のデータ処理装置。
  8. 前記マップ生成手段に、前記機密情報が記録された前記機密エリアの場所を問い合わせ、前記機密エリアを上書きすることによって前記機密情報を削除する削除手段を備える請求項1ないし7の何れか一項に記載のデータ処理装置。
  9. 初期状態と作業後のファイルリストを比較することによって前記機密情報を特定し、コピーする回収手段を備える請求項1ないし8の何れか一項に記載のデータ処理装置。
  10. 情報の暗号化と復号を行う暗号化手段を備え、
    前記機密格納手段は、前記機密情報を書き込むときに前記暗号化手段で暗号化し、
    前記機密読出手段は、前記機密情報を読み込むときに前記暗号化手段で復号する請求項1ないし9の何れか一項に記載のデータ処理装置。
  11. ファイルサーバへのアクセスを制御するネットワーク制御手段を備え、
    前期機密格納手段は、前記ファイルサーバからダウンロードした情報を前記機密情報として記録する請求項1ないし10の何れか一項に記載のデータ処理装置。
  12. 所定単位の記憶エリアごとに各種データを記憶するデータ記憶媒体を有するデータ処理装置のコンピュータプログラムであって、
    通常情報を扱う通常モードと機密情報を扱う機密モードとを切換自在な動作モードとして設定するモード設定処理と、
    前記記憶エリアを少なくとも前記通常情報のみ記憶されている通常エリアと前記機密情報のみ記憶されている機密エリアと前記通常情報と前記機密情報とが記憶されている共有エリアと前記通常情報も前記機密情報も記憶されていない空きエリアとに区分するエリア区分処理と、
    前記通常モードの設定下で前記通常情報を指定された前記通常エリアに記憶させる通常格納処理と、
    前記通常モードの設定下で前記通常情報を指定された前記通常エリアから読み出す通常読出処理と、
    前記機密モードの設定下で前記機密情報を指定された前記機密エリアに記憶させるとともに前記通常エリアが指定されたときには前記機密エリアにリダイレクトして記憶させる機密格納処理と、
    指定された前記通常エリアと記憶された前記機密エリアとのリダイレクト関係を対応する前記機密情報ごとに生成するマップ生成処理と、
    前記機密モードの設定下で前記機密情報を指定された前記機密エリアから読み出すとともに前記通常エリアが指定されたときには前記リダイレクト関係により記憶された前記機密エリアから読み出す機密読出処理と、
    をデータ処理装置に実行させるコンピュータプログラム。
  13. 所定単位の記憶エリアごとに各種データを記憶するデータ記憶媒体を有するデータ処理方法であって、
    通常情報を扱う通常モードと機密情報を扱う機密モードとを切換自在な動作モードとして設定するモード設定動作と、
    前記記憶エリアを少なくとも前記通常情報のみ記憶されている通常エリアと前記機密情報のみ記憶されている機密エリアと前記通常情報と前記機密情報とが記憶されている共有エリアと前記通常情報も前記機密情報も記憶されていない空きエリアとに区分するエリア区分動作と、
    前記通常モードの設定下で前記通常情報を指定された前記通常エリアに記憶させる通常格納動作と、
    前記通常モードの設定下で前記通常情報を指定された前記通常エリアから読み出す通常読出動作と、
    前記機密モードの設定下で前記機密情報を指定された前記機密エリアに記憶させるとともに前記通常エリアが指定されたときには前記機密エリアにリダイレクトして記憶させる機密格納動作と、
    指定された前記通常エリアと記憶された前記機密エリアとのリダイレクト関係を対応する前記機密情報ごとに生成するマップ生成動作と、
    前記機密モードの設定下で前記機密情報を指定された前記機密エリアから読み出すとともに前記通常エリアが指定されたときには前記リダイレクト関係により記憶された前記機密エリアから読み出す機密読出動作と、
    を有するデータ処理方法。
JP2011505839A 2009-03-24 2010-03-03 データ処理装置、そのコンピュータプログラムおよびデータ処理方法 Active JP5429280B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011505839A JP5429280B2 (ja) 2009-03-24 2010-03-03 データ処理装置、そのコンピュータプログラムおよびデータ処理方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009072391 2009-03-24
JP2009072391 2009-03-24
PCT/JP2010/001434 WO2010109774A1 (ja) 2009-03-24 2010-03-03 データ処理装置、そのコンピュータプログラムおよびデータ処理方法
JP2011505839A JP5429280B2 (ja) 2009-03-24 2010-03-03 データ処理装置、そのコンピュータプログラムおよびデータ処理方法

Publications (2)

Publication Number Publication Date
JPWO2010109774A1 true JPWO2010109774A1 (ja) 2012-09-27
JP5429280B2 JP5429280B2 (ja) 2014-02-26

Family

ID=42780474

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011505839A Active JP5429280B2 (ja) 2009-03-24 2010-03-03 データ処理装置、そのコンピュータプログラムおよびデータ処理方法

Country Status (3)

Country Link
US (1) US8516212B2 (ja)
JP (1) JP5429280B2 (ja)
WO (1) WO2010109774A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902672B (zh) * 2011-07-25 2014-04-16 腾讯科技(深圳)有限公司 清理文件系统的方法和装置
CN104376011B (zh) * 2013-08-14 2018-08-17 华为终端(东莞)有限公司 实现隐私保护方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539828B2 (en) * 2000-08-08 2009-05-26 Faronics Corporation Method and system for automatically preserving persistent storage
JP2003280915A (ja) 2002-03-22 2003-10-03 Toshiba Corp 情報機器、記憶媒体、及びシステム起動方法
JP4350562B2 (ja) * 2004-03-12 2009-10-21 エヌ・ティ・ティ・コムウェア株式会社 ファイルアクセス制御装置、ファイルアクセス制御方法およびファイルアクセス制御プログラム
KR100527274B1 (ko) * 2004-06-04 2005-12-13 주식회사 르노소프트 시스템 영역 정보 테이블과 매핑 테이블을 사용한 컴퓨터하드디스크 시스템 데이터 보호 장치 및 그 방법
JP2005352535A (ja) * 2004-06-08 2005-12-22 Ark Joho Systems:Kk データを保護する方法
WO2006059639A1 (ja) 2004-11-30 2006-06-08 Nec Corporation 情報共有システム、情報共有方法、グループ管理プログラム及びコンパートメント管理プログラム
EP1947593B1 (en) * 2005-11-07 2010-10-06 Panasonic Corporation Portable auxiliary storage device
JP4654963B2 (ja) * 2006-04-11 2011-03-23 日本電気株式会社 情報漏洩防止システム、情報漏洩防止方法、プログラムおよび記録媒体

Also Published As

Publication number Publication date
US8516212B2 (en) 2013-08-20
JP5429280B2 (ja) 2014-02-26
US20110320753A1 (en) 2011-12-29
WO2010109774A1 (ja) 2010-09-30

Similar Documents

Publication Publication Date Title
US8301909B2 (en) System and method for managing external storage devices
US10635329B2 (en) Method and apparatus for performing transparent mass storage backups and snapshots
US20080126813A1 (en) Storage control device and method of controlling encryption function of storage control device
JP4837378B2 (ja) データの改竄を防止する記憶装置
US20070061540A1 (en) Data storage system using segmentable virtual volumes
JP5184041B2 (ja) ファイルシステム管理装置およびファイルシステム管理プログラム
NO334475B1 (no) Anordning, medium og fremgangsmåte for opptak, og tilhørende datamaskinprogram
TW200307868A (en) Method for partitioning memory mass storage device and device thereof
US20070150481A1 (en) File distribution and access mechanism for file management and method thereof
JP6513295B2 (ja) 計算機システム
US20070300034A1 (en) Virtual storage control apparatus
JP2005276158A (ja) ストレージシステム、計算機システムまたは記憶領域の属性設定方法
JP6270780B2 (ja) データ管理装置、データ管理方法、及びデータ管理プログラム
JP4764455B2 (ja) 外部記憶装置
US8132025B2 (en) Management method for archive system security
JP4895990B2 (ja) 画像処理装置及びデータ消去方法
US10296468B2 (en) Storage system and cache control apparatus for storage system
JP5429280B2 (ja) データ処理装置、そのコンピュータプログラムおよびデータ処理方法
KR101055287B1 (ko) 응용프로그램에서 사용되는 임시 파일의 관리 방법
JP2006293583A (ja) ファイル管理方法
US8407369B2 (en) Digitally shredding on removable drives
JP2007140727A (ja) 仮想ファイル管理装置、仮想ファイル管理方法、および仮想ファイル管理プログラム
JP2019159766A (ja) データ保護装置、データ保護方法、およびデータ保護用プログラム
JP2006318037A (ja) ライフサイクル管理システム
JP2004021852A (ja) アプリケーション共有方法およびシステム、アプリケーションプログラム、アプリケーション共有用プログラム、ならびにアプリケーション共有用プログラムを記録した記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130208

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131118

R150 Certificate of patent or registration of utility model

Ref document number: 5429280

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150