説明

データファイル監視装置

【課題】特定のデータファイルの改ざんを簡単に防ぐことができるデータファイル監視装置を提供する。
【解決手段】データファイル監視装置1は、監視対象のデータファイルのファイル属性である読み取り専用が解除されると、そのデータファイルのファイル属性を再び読み取り専用に設定する処理を行う。また、監視対象のデータファイルに対して移動、削除、ファイル名変更のファイル操作が設定された場合に、そのファイル操作を中止する処理を行う。これにより、特定のデータファイルの削除、移動、ファイル名変更を阻止し、改ざんを防ぐ。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パーソナルコンピュータ等の情報処理装置に保存されている特定のデータファイルを監視して、該データファイルに対する改ざんを防止するデータファイル監視装置に関する。
【背景技術】
【0002】
従来より、情報処理装置のデータファイル記憶手段に記憶されたデータファイルのファイル属性を読み取り専用に設定することによって、データファイルのファイル内容の変更を禁止することが行われている。
【0003】
また、情報処理装置のデータファイル記憶手段に記憶されたデータファイルを監視して、データファイルに対する改ざんの有無を検出し、改ざんされたデータファイルの復旧を行うファイル監視装置が従来より種々提案されている。例えば、データファイルに対する改ざんの有無を監視するための監視情報を記憶し、監視対象のデータファイルについて監視情報に対応したパラメータ値を取得し、そのパラメータ値と監視情報とを比較して改ざんの有無を判定し、改ざんされているとの判断により復旧情報に基づいて監視対象のデータファイルを復旧するファイル監視技術が提案されている(例えば特許文献1を参照)。
【0004】
また、情報処理装置に保存されるデータファイルを暗号化して暗号文ファイルとし、秘匿化して情報の漏洩を防ぐことが従来より一般的に行われている。
【0005】
【特許文献1】特開2004−13607号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、データファイルのファイル属性は、OSの操作やアプリケーションプログラムの処理等によって変更することができ、読み取り属性を解除することができる。したがって、読み取り属性が解除されてデータファイルのファイル内容が変更されるおそれがある。
【0007】
また、上記の特許文献1に記載された技術では、パラメータ値と監視情報とを比較して改ざんの有無を判断していることから、予め監視情報を記憶しておく必要があり、そのためのメモリ領域を確保しなければならない。したがって、データ量が膨大なデータファイルの場合には、ハードウエア資源等の設備費用が嵩み、また、復旧作業に時間がかかり、長時間そのデータファイルを使用できない状態が続くおそれがある。また、パラメータ値と監視情報とを比較するには、所定間隔ごとに監視情報のバックアップをとる必要がある。したがって、バックアップ作業が煩雑で作業コストが高騰し、バックアップ設備の設備費用が嵩むという問題を有している。
【0008】
そして、データファイルを暗号化した暗号文ファイルは、その暗号を解読できず内容が理解できない場合であっても、暗号文ファイル自体の削除、データの一部削除、ファイル名の変更、別ディレクトリや別フォルダ等への移動が可能であり、第三者によって改ざんされるおそれがある。
【0009】
本発明は、これらの問題に鑑み、従来技術の課題を解決すべくなされたものであり、その目的は、特定のデータファイルの改ざんを簡単に防ぐことができるデータファイル監視装置を提供することにある。
【課題を解決するための手段】
【0010】
上記課題を解決する請求項1に記載の発明によるデータファイル監視装置は、データファイルを記憶するデータファイル記憶手段と、データファイル記憶手段に記憶されたデータファイルのうち、ファイル属性が読み取り専用に設定されているデータファイルのファイル内容の変更を禁止するファイル内容変更禁止手段と、データファイル記憶手段に記憶されたデータファイルであってファイル属性が読み取り専用に設定されているデータファイルのファイル属性の変更を検出するファイル属性変更検出手段と、ファイル属性変更検出手段によりファイル属性の変更が検出されたデータファイルが予め設定された監視対象のデータファイルであるか否かを判断する監視対象判断手段と、監視対象判断手段により前記データファイルが前記監視対象のデータファイルであるとの判断により、前記データファイルのファイル属性を再び読み取り専用に設定するファイル属性読み取り専用設定手段とを有することを特徴とする。
【0011】
請求項2に記載の発明によるデータファイル監視装置は、データファイルを記憶するデータファイル記憶手段と、データファイル記憶手段に記憶されたデータファイルのうち、ファイル属性が読み取り専用に設定されているデータファイルについて、該データファイルのファイル内容の変更を禁止するファイル内容変更禁止手段と、データファイルを特定し、該特定されたデータファイルに対するファイル操作を設定するファイル操作設定手段と、ファイル操作設定手段により特定されたデータファイルのファイル属性が読み取り専用に設定されているか否かを判断し、読み取り専用に設定されているとの判断により、前記ファイル操作の実行又は中止の確認判断を要求する確認判断要求手段と、確認判断要求手段からの確認判断要求に対して、ファイル操作実行の指示が与えられることにより前記ファイル操作を実行し、ファイル操作中止の指示が与えられることにより前記ファイル操作を中止するファイル操作手段と、確認判断要求手段によって確認判断の要求がされたか否かを検出する確認判断要求検出手段と、確認判断要求検出手段により前記確認判断の要求がされたことを検出することにより、前記確認判断の要求がされたデータファイルが予め設定された監視対象のデータファイルであるか否かを判断する監視対象判断手段と、監視対象判断手段によって前記データファイルが前記監視対象のデータファイルであると判断されることにより前記ファイル操作手段に前記ファイル操作中止の指示を与えるファイル操作中止選択手段とを有することを特徴とする。
【発明の効果】
【0012】
請求項1に記載の発明によると、データファイル記憶手段に記憶されたデータファイルであってファイル属性が読み取り専用に設定されているデータファイルのファイル属性が変更されて読み取り専用が解除されると、そのデータファイルが監視対象のデータファイルであるか否かが判断される。そして、監視対象のデータファイルであるとの判断により、そのデータファイルのファイル属性を再び読み取り専用に設定する処理が行われる。
【0013】
これにより、監視対象となっているデータファイルのファイル属性を常に読み取り専用に設定することができ、例えば入力装置からの入力やアプリケーションプログラム等によって読み取り専用が解除されても、すぐに読み取り専用に再設定することができる。したがって、データファイル内容変更禁止手段によってファイル内容の変更を禁止することができ、かかるデータファイルの改ざんを防ぐことができる。
【0014】
請求項2に記載の発明によれば、データファイルが特定されてそのデータファイルに対するファイル操作が設定されると、ファイル属性が読み取り専用に設定されているデータファイルであるか否かが判断され、ファイル属性が読み取り専用に設定されているデータファイルである場合には、ファイル操作を実行するか或いはファイル操作を中止するかの確認判断が要求される。
【0015】
そして、ファイル操作の確認判断が要求されたことを検出すると、その確認判断が要求されたデータファイルが予め設定された監視対象のデータファイルであるか否かが判断され、監視対象のデータファイルである場合には、ファイル操作手段にファイル操作中止の指示を与えて、データファイルへのファイル操作を中止させる。
【0016】
これにより、ファイル属性が読み取り専用に設定されかつ監視対象となっているデータファイルへのファイル操作を中止させることができる。したがって、例えば特定のデータファイルに対する削除、移動、ファイル名変更などのファイル操作は強制的に中止され、改ざんが防止される。
【0017】
また、ファイル属性が読み取り専用に設定されているデータファイルは、ファイル内容変更禁止手段によってファイル内容の変更が禁止されており、かかるデータファイルの改ざんを防ぐことができる。
【発明を実施するための最良の形態】
【0018】
次に、本発明の実施の形態に係わるデータファイル監視装置について説明する。
【0019】
図1は、本実施の形態に係わるデータファイル監視装置が適用されるデータ共有装置1の構成を説明する図であり、図1(a)は全体図、図1(b)は、要部拡大図である。データ共有装置1は、図1(a)に示すように、電子キーであるUSBトークン2と、情報処理装置であるパーソナルコンピュータ3とから構成されている。
【0020】
USBトークン2は、ICチップ11やメモリ12等を収容した筐体13と、筐体13から突出してパーソナルコンピュータ3のUSBスロット3aに差し込み可能なコネクタ14とを有している。USBトークン2のコネクタ14は、パーソナルコンピュータ3のUSBスロット3aに差し込むことによってパーソナルコンピュータ3と電気的に接続されて、ICチップ11及びメモリ12との間でデータを送受信できるようになっている。
【0021】
USBトークン2のメモリ12には、暗号化ユーザ鍵、シリアルナンバー、確認コード、共有コード、規格コード等が記憶される。
【0022】
暗号化ユーザ鍵は、パーソナルコンピュータ3内で暗号鍵を作成するために必要な鍵情報の一つであり、同一のグループを構成する各利用者に配布されるUSBトークン2には全て同一の鍵情報が設定され、各グループごとに異なるように設定されている。
【0023】
シリアルナンバーは、USBトークン2を識別するために各USBトークン2別に各々割り当てられるユニークな番号であって、アルファベットと数字の組み合わせによって構成されており、外部から容易に視認できるようにUSBトークン2の筐体13にも印刷等により表示されている。
【0024】
確認コードは、USBトークン2の正当な所有者であることを確認するために使用されるものであり、USBトークン2の所有者自らが決定しその所有者のみが知っている情報である。確認コードは、USBトークン2をパーソナルコンピュータ3に接続した状態でパーソナルコンピュータ3から書き込むことができ、任意に書き換えることができるようになっている。
【0025】
確認コードは、パーソナルコンピュータ3に入力されると、パーソナルコンピュータ3内で例えばハッシュ関数等の一方向関数によりハッシュ値等の値に変換されてUSBトークン2に送信され、USBトークン2のメモリ12に書き込まれ、パーソナルコンピュータ3には記憶されない。なお、パーソナルコンピュータ3によって確認コードが書き込まれる前は、各USBトークン2で共通の仮確認コードがデフォルトとして書き込まれている。
【0026】
共有コードは、USBトークン2が属するグループを規定する情報であり、USBトークン2が同一のグループに属するか否かをパーソナルコンピュータ3側で判断する際に使用されるものである。共有コードが異なる、いわゆる異グループのUSBトークン2を使用してデータの復号化はできない。
【0027】
規格コードは、パーソナルコンピュータ3に接続されたUSBトークン2が、データ共有装置1のUSBトークン2であるか否かをパーソナルコンピュータ3側で識別する際に使用される情報である。
【0028】
パーソナルコンピュータ3は、演算処理等を行うCPU、ROMやRAMなどの内部メモリ、ハードディスクなどの外部記憶装置(データファイル記憶手段)等を有するコンピュータ本体3Aと、キーボードやマウス等からなる入力装置3Bと、CRTや液晶ディスプレイなどの表示装置3Cとを有しており、OS(オペレーションシステム)20、データ共有プログラム30、エディタ等のアプリケーションプログラムがインストールされている。尚、本実施の形態ではパーソナルコンピュータ3のOS20として、Windows(登録商標)がインストールされている。
【0029】
図2は、OS20及びデータ共有プログラム30によってパーソナルコンピュータ3内に実現される機能を説明するブロック図である。
【0030】
OS20によって、パーソナルコンピュータ3内には、ファイル内容変更禁止手段21、属性変更イベント出力手段22、ファイル操作設定手段23、確認判断要求手段24、ファイル操作手段25が実現される。
【0031】
ファイル内容変更禁止手段21は、コンピュータ本体3Aの外部記憶装置等、パーソナルコンピュータ3に記憶されているデータファイルのうち、ファイル属性が読み取り専用に設定されているデータファイルのファイル内容の変更を禁止する処理を行う。これにより、例えばファイル属性が読み取り専用であるデータファイルに対してエディタ等のアプリケーションプログラムを使用して上書き保存の操作を行った場合には、別のファイル名で保存するように確認メッセージを表示させたり、ファイル属性の読み取り専用をプログラムにより強制的に解除してから上書き保存する処理が行われる。
【0032】
属性変更イベント出力手段22は、パーソナルコンピュータ3に記憶されているデータファイルに対してファイル属性を変更する処理が行われた場合に、その情報を属性変更イベントとしてデータ共有プログラム30のファイル監視手段41に与える処理を行う。
【0033】
ファイル操作設定手段23は、データファイルを特定し、その特定されたデータファイルに対するファイル操作を設定する処理を行う。データファイルの特定は、例えば、表示装置3Cの画面上に表示されたデータファイルのアイコンの上に、マウスカーソルを移動させてクリックすることによって行うことができる。そして、ファイル操作の設定は、データファイルのアイコンの上にマウスカーソルを移動させてマウスの右ボタンをクリックすると、サブメニューとして削除やファイル名変更等の項目が選択可能に表示され、かかる項目を選択することによってファイル操作を設定することができる。
【0034】
確認判断要求手段24は、ファイル操作設定手段23によって特定されたデータファイルのファイル属性が読み取り専用に設定されているか否かを判断し、読み取り専用に設定されている場合には、ファイル操作を実行するか又は中止するかについての確認判断を要求する処理を行う。
【0035】
例えば、ファイル操作設定手段23により読み取り専用のデータファイルが特定され、削除、移動、ファイル名変更のいずれか一つのファイル操作が設定されると、そのファイル操作を実行するか又は中止するかを確認する確認ウィンドウを表示装置3Cにポップアップ表示させる。そして、確認ウィンドウには、ファイル操作の実行とファイル操作の中止のいずれか一方を選択するための選択ボタンが表示される。
【0036】
ファイル操作手段25は、確認判断要求手段24からの確認判断要求に対して、ファイル操作実行の指示が与えられることによりファイル操作を実行し、ファイル操作中止の指示が与えられることによりファイル操作を中止する処理を行う。例えば、確認判断要求手段24によって確認ウィンドウに表示された「はい」のボタン表示をクリックするなど、ファイル操作実行の指示を入力装置3Bから受けると、元データファイルを削除してデータファイルのファイル操作を実行する。そして、確認ウィンドウに表示された「いいえ」のボタン表示をクリックするなど、ファイル操作中止の指示を入力装置3Bやデータ共有プログラム30のポップアップ監視手段42から受けると、データファイルの削除、移動、ファイル名変更のファイル操作を中止する。
【0037】
データ共有プログラム30は、OS20の起動に応じて実行され、OS20と共に常駐するようになっている。
【0038】
データ共有プログラム30の実行によって、パーソナルコンピュータ3内には、管理者情報登録手段31、ユーザ情報登録手段32、USBトークン接続監視手段33、認証手段34、暗号鍵作成手段35、暗号化手段36、復号化手段37、ユーザデータベース38、ファイル監視手段41、ポップアップ監視手段42、ログ記録手段43がその内部機能として実現される。
【0039】
管理者情報登録手段31は、管理者情報の登録処理を行うものであり、USBトークン2がパーソナルコンピュータ3に初めて接続されてUSBトークン2の規格コードと共有コードが認証されると、パーソナルコンピュータ3の表示装置3Cに管理者情報登録画面を表示させる。
【0040】
そして、その管理者情報登録画面にしたがって入力装置3Bから入力された氏名と、認証手段34によりUSBトークンから取得したシリアルナンバーとを、管理者氏名及び管理者USBトークンのシリアルナンバーとして互いに関連付けした形でユーザデータベース38に記憶させる。
【0041】
それから、管理者情報登録画面にしたがって入力された確認コードを、一方向関数により要約値に変換してUSBトークン2に送信し、USBトークン2のメモリ12に記憶させる処理を行う。尚、本実施の形態では、一方向関数としてハッシュ関数を用いている。
【0042】
図3は、管理者情報登録手段31によってユーザデータベース38に作成されるユーザデータの構成を説明する図である。ユーザデータベース38には、図3に示すように、登録日、シリアルナンバー、氏名、共有コードからなるユーザデータが記憶される。
【0043】
ユーザ情報登録手段32は、管理者からの入力と、USBトークン2の使用者であって管理者以外の者であるユーザからの入力とに基づいてユーザ情報の登録処理を行う。ユーザ情報の登録処理では、最初に管理者からの入力によりユーザの氏名とシリアルナンバーが登録され、次いで、ユーザからの入力により確認コードが登録される。
【0044】
ユーザ情報登録手段32は、ユーザの氏名とシリアル番号の登録では、管理者USBトークン2を用いた管理者からの入力に応じて表示装置3Cにユーザ情報登録画面を表示させ、ユーザ情報登録画面に従って入力手段3Bから入力されたユーザ氏名とユーザUSBトークン2のシリアルナンバーとを互いに関連付けた形でユーザデータベース38に記憶させる。図4は、表示装置3Cに表示されるユーザ情報登録画面の一例を示すものである。ユーザ情報登録画面には、管理者及びユーザの氏名、シリアル番号、登録日、後述する許可フラグのセット禁止か否かがデータテーブルとして表示される。このユーザ情報の登録及び削除は管理者によって適宜行うことができる。
【0045】
次に、確認コードの登録は、ユーザUSBトークン2がパーソナルコンピュータ3に初めて接続されたときに行われる。ユーザUSBトークン2がパーソナルコンピュータ3に初めて接続されたか否かは、ユーザ情報がパーソナルコンピュータ3内に登録されているか否かによって判断し、未登録の場合には初めての接続と判断して表示装置3Cに確認コード登録画面を表示させる。そして、確認コード登録画面にしたがってユーザから入力された確認コードを、ハッシュ関数によりハッシュ値に変換してUSBトークン2に送信し、USBトークン2のメモリ12に記憶させる処理を行う。
【0046】
USBトークン接続監視手段33は、USBトークン2がパーソナルコンピュータ3に接続されているか否かを監視し、許可フラグがセットされた状態でパーソナルコンピュータ3からUSBトークン2が切断された場合には、許可フラグをクリアする処理を行う。
【0047】
認証手段34は、USBトークン2自体の有効性を認証するUSBトークン認証処理と、USBトークン2が所有者本人のUSBトークン2であることを認証する本人認証処理とを行う。
【0048】
暗号化手段36は、USBトークン2のメモリ12に記憶されている暗号化ユーザ鍵とユニークな情報であるソルトデータとを用いて暗号鍵を作成する処理、その暗号鍵を使用して所定の暗号アルゴリズムにより平文データを暗号化して暗号文データを作成する処理、その暗号文データにソルトデータを付加する処理、暗号文ファイルのファイル属性を読み取り専用に設定する処理を行う。
【0049】
暗号化手段36は、USBトークン2から取得した暗号化ユーザ鍵とソルトデータとを排他的論理和演算(EOR)して暗号鍵を作成し、平文データの暗号化処理を開始する時の日付時刻情報をハッシュ関数により変換してソルトデータを作成する。尚、ソルトデータを作成する方法は、上記日付時刻情報に基づくものに限定されるものではなく、例えば、暗号化手段36が有する疑似乱数生成器により生成した疑似乱数に基づいて作成してもよい。そして、ソルトデータの暗号文データへの付加は、暗号化手段36が暗号文データをデータ領域に有すると共に暗号鍵の作成に使用したソルトデータをヘッダ領域に有する暗号文ファイルを作成することによって行われる。そして、暗号文ファイルのファイル属性は、暗号化手段36による暗号文ファイルの作成の際に読み取り専用に設定される。
【0050】
復号化手段37は、暗号文データの作成に使用して暗号文ファイルのヘッダ領域に書き込まれているソルトデータと、USBトークン2のメモリ12に記憶されている暗号化ユーザ鍵とを用いて暗号鍵を作成し、その暗号鍵を使用して所定の暗号アルゴリズムにより暗号文ファイルの暗号文データを復号化して平文データを作成し、その平文データをデータ領域に有する平文ファイルを作成する処理を行う。
【0051】
ファイル監視手段41は、パーソナルコンピュータ3に記憶されているデータファイルであってファイル属性が読み取り専用に設定されているデータファイルのファイル属性の変更を検出するファイル属性変更検出処理(ファイル属性変更検出手段)と、そのデータファイルが予め設定された監視対象のデータファイルであるか否かを判断する監視対象判断処理(監視対象判断手段)と、監視対象のデータファイルであるとの判断により、そのデータファイルのファイル属性を再び読み取り専用に設定するファイル属性読み取り専用設定処理(ファイル属性読み取り専用設定手段)を行う。
【0052】
ポップアップ監視手段42は、確認判断要求手段24によって確認判断の要求がされたか否かを検出する確認判断要求検出処理(確認判断要求検出手段)と、該確認判断要求検出処理により確認判断の要求がされたことを検出すると、その確認判断の要求がされたデータファイルが予め設定された監視対象のデータファイルであるか否かを判断する監視対象判断処理(監視対象判断手段)と、該監視対象判断処理により監視対象のデータファイルであると判断すると、ファイル操作手段25にファイル操作中止の指示を与えるファイル操作中止選択処理(ファイル操作中止選択手段)を行う。
【0053】
ログ記録手段43は、暗号化手段36による平文データの暗号化処理の履歴情報、復号手段37による暗号文データの復号化処理の履歴情報、及び不正なファイル操作の情報をそれぞれ記録する処理と、所定の検索条件に基づいて記録内容を検索し、その検索結果を表示装置3Cに表示させる処理を行う。履歴情報等は、暗号化手段26によって暗号化されてユーザデータベース38に記憶され、管理者のUSBトークン2でのみ復号化でき、表示できるようになっている。
【0054】
次に、上記構成を有するデータ共有装置1の一連の動作について以下に説明する。
【0055】
(USBトークン認証)
まず、OS20が起動され、かかるOS20の起動に応じてデータ共有プログラム30が起動されて常駐した状態で、USBトークン2のコネクタ14がパーソナルコンピュータ3のUSBスロット3aに差し込まれると、USBトークン接続監視手段33によりUSBトークン2の接続が検出されて、データ共有プログラム30の認証手段34によりUSBトークン認証処理が実行される。
【0056】
図5は、USBトークン認証処理を説明するフローチャートである。
【0057】
USBトークン認証処理では、まず最初にUSBトークン2が有する規格コードの認証が行われる。規格コードの認証では、認証手段34からUSBトークン2に規格コード取得要求がなされる。USBトークン2は、認証手段34からの規格コード取得要求に対して、USBトークン2のメモリ12に記憶されている規格コードを読み出して認証手段34に送信する。認証手段34は、USBトークン2から受信した規格コードと、パーソナルコンピュータ3のユーザデータベースに予め設定されている基準規格コードとが一致するか否かを判断する(ステップS101)。
【0058】
そして、規格コードが不一致であると判断した場合には(ステップS101でNO)、そのUSBトークンがデータ共有装置1では使用できないUSBトークンであるとして認証処理を中止し、パーソナルコンピュータ3に差し込まれたUSBトークンは使用できない旨のエラーメッセージを表示装置3Cに表示する(ステップS107)。
【0059】
一方、規格コードが一致すると判断した場合には(ステップS101でYES)、次に共有コードの認証が行われる。共有コードの認証では、認証手段34からUSBトークン2に対して共有コード取得要求がなされる。USBトークン2は、認証手段34からの共有コード取得要求に対して、USBトークン2のメモリ12に記憶されている共有コードを読み出して認証手段34に送信する。
【0060】
認証手段34は、USBトークン2から受信した共有コードと、パーソナルコンピュータ3のユーザデータベースに予め登録されている共有コードとが一致するか否かを判断する(ステップS102)。
【0061】
そして、共有コードが不一致であると判断した場合には(ステップS102でNO)、そのUSBトークン2が別グループに属するUSBトークン2であるとして認証処理を中止し、パーソナルコンピュータ3に差し込まれたUSBトークン2は使用できない旨のエラーメッセージを表示装置3Cに表示する(ステップS107)。
【0062】
一方、共有コードが一致すると判断した場合には(ステップS102でYES)、次にシリアルナンバーの認証が行われる。シリアルナンバーの認証では、認証手段34からUSBトークン2に対してシリアルナンバー取得要求がなされる。USBトークン2は、認証手段34からのシリアルナンバー取得要求に対して、USBトークン2のメモリ12に記憶されているシリアルナンバーを読み出し、認証手段34に送信する。
【0063】
認証手段34は、USBトークン2から取得したシリアルナンバーがユーザデータベースに登録されているか否かを判断する(ステップS103)。そして、USBトークン2から受信したシリアルナンバーがユーザデータベース38に未登録である場合には(ステップS103でNO)、管理者情報が登録されているか否かを判断する(ステップS105)。管理者情報が登録されているか否かは、ユーザデータベース38に管理者の氏名と管理者が所有するUSBトークン2のシリアルナンバーが登録されているか否かに基づいて判断される。
【0064】
そして、管理者情報が既に登録されている場合には(ステップS105でYES)、そのUSBトークン2のシリアルナンバーが管理者USBトークン2のシリアルナンバーと異なることから管理者USBトークン2ではなく、且つユーザデータベース38に未登録のシリアルナンバーであるので、未登録のUSBトークン2であるとして、認証処理を中止し、パーソナルコンピュータ3に差し込まれたUSBトークン2は使用できない旨のエラーメッセージを表示装置3Cに表示する(ステップS107)。
【0065】
また、管理者情報が登録されていない場合には(ステップS105でNO)、そのUSBトークン2は管理者USBトークン2であるとみなして、上述の管理者情報登録手段31による管理者登録処理が実行される(ステップS108)。
【0066】
一方、USBトークン2から受信したシリアルナンバーがユーザデータベース38に登録されている場合には(ステップS103でYES)、本人認証処理に移行する(ステップS104)。
【0067】
(本人認証)
図6は、本人認証処理を説明するフローチャートである。認証手段34は、USBトークン2に確認コード取得要求を行い(ステップS201)、USBトークン2は、認証手段34からの確認コード取得要求に対して、USBトークン2のメモリ12に記憶されている確認コード(ハッシュ値)を読み出して認証手段34に送信する。認証手段34では、USBトークン2から取得した確認コード(ハッシュ値)を、ハッシュ関数により変換する(ステップS202)。したがって、かかるハッシュ関数により変換された後の確認コード(ハッシュ値)は、元の確認コードをハッシュ関数によって2回変換したハッシュ値となる。
【0068】
また、認証手段34は、パーソナルコンピュータ3の表示装置3Cに確認コード入力要求画面を表示させる(ステップS203)。そして、入力装置3Bから入力された確認コードをハッシュ関数により変換し、その変換後の確認コード(ハッシュ値)を更にもう一度ハッシュ関数により変換する(ステップS204)。
【0069】
そして、認証手段34は、USBトークン2から取得してハッシュ関数により変換した後の確認コード(ハッシュ値)と、入力装置3Bから入力されてハッシュ関数により2回変換された後の確認コード(ハッシュ値)とが同一であるか否かを判断する(ステップS205)。
【0070】
そして、両確認コードが同一である場合には(ステップS205でYES)、USBトークン2の所有者本人であると認証し、パーソナルコンピュータ3内の記憶手段に記憶されているデータの暗号化及び復号化を許可する許可フラグをセットする(ステップS206)。
【0071】
一方、両確認コード(ハッシュ値)が同一ではない場合には(ステップS205でNO)、確認コードを不一致と判断したエラー回数が予め設定された上限回数n(例えば3回)以上であるか否かを判断する(ステップS207)。ここで、エラー回数が上限回数n以上の場合には(ステップS207でYES)、入力装置23から確認コードを入力した者はUSBトークン2の所有者本人ではないとみなして、当該USBトークンによる許可フラグのセットを禁止する処理を行う(ステップS210)。
【0072】
また、エラー回数が上限回数nよりも少ない場合には(ステップS207でNO)、エラー回数に1を加算し(ステップS208)、確認コードの入力間違いである旨と加算後のエラー回数を表示するエラーメッセージを表示装置3Cに表示させ(ステップS209)、再度確認コードの入力を要求する。
【0073】
(暗号化処理)
図7は、暗号化手段36による暗号化処理の方法を説明するフローチャートである。暗号化手段36は、暗号化を希望する平文データを特定した暗号化指示の入力を受けると(ステップS301)、認証手段34によって許可フラグがセットされているか否かを判断する(ステップS302)。尚、暗号化の指示は、表示装置3Cの画面上で平文ファイルの上にカーソルを移動させて、マウスを右クリックして表示されるメニューの中から暗号化を選択したり、表示装置3Cのディスクトップ画面上に表示されている暗号化アイコンの上に平文ファイルをドラッグアンドドロップすることによって行うことができる。
【0074】
ここで許可フラグがセットされていない場合には(ステップS302でNO)、暗号化処理を終了し(ステップS308)、本人認証が未認証であるとのエラーメッセージを表示装置3Cに表示させる(ステップS309)。
【0075】
一方、許可フラグがセットされている場合には(ステップS302でYES)、USBトークン2から暗号化ユーザ鍵を取得する。暗号化手段36は、USBトークン2に暗号化ユーザ鍵取得要求を行い、USBトークン2は、暗号化手段36からの暗号化ユーザ鍵取得要求に対して、USBトークン2のメモリ12に記憶されている暗号化ユーザ鍵を読み出し、暗号化手段36に送信する。
【0076】
暗号化手段36は、USBトークン2から暗号化ユーザ鍵を受信して取得すると、ソルトデータを作成し(ステップS304)、ソルトデータと暗号化ユーザ鍵とに基づいて暗号鍵を作成し(ステップS305)、その暗号鍵を使用して所定の暗号アルゴリズムにより、平文ファイルの平文データを暗号化して暗号文データを作成する(ステップS306)。
【0077】
暗号化手段36は、疑似乱数生成器を備えており、暗号鍵に基づいて疑似乱数生成器により疑似乱数を生成し、その疑似乱数と平文データとを排他的論理和演算することによって暗号文データを作成する。この擬似乱数の生成と排他的論理和演算は、パーソナルコンピュータ3で行われるので、パーソナルコンピュータ3とUSBトークン2との間の通信時間に影響を受けることなく、迅速に暗号文データを作成することができる。
【0078】
そして、作成した暗号文データを暗号ファイルのデータ領域に書き込むと共に、暗号鍵の作成に使用したソルトデータを暗号ファイルのヘッダ領域に書き込み、暗号ファイルを作成する(ステップS307)。
【0079】
(復号化処理)
図8は、復号化手段37による復号化処理の方法を説明するフローチャートである。復号化手段37は、復号化を希望する暗号文データを特定した復号化指示の入力を受けると(ステップS401)、認証手段34によって許可フラグがセットされているか否かを判断する(ステップS402)。復号化指示の方法は、暗号化指示の方法と同様であるので、その説明を省略する。
【0080】
ここで、許可フラグがセットされていない場合には(ステップS402でNO)、復号化処理を終了し(ステップS408)、本人認証が未認証であるとのエラーメッセージを表示装置3Cに表示させる(ステップS409)。
【0081】
一方、許可フラグがセットされている場合には(ステップS402でYES)、USBトークン2から暗号化ユーザ鍵を取得する。復号化手段37は、USBトークン2に暗号化ユーザ鍵取得要求を行い、USBトークン2は、復号化手段37からの暗号化ユーザ鍵取得要求に対して、USBトークン2のメモリ12に記憶されている暗号化ユーザ鍵を読み出し、復号化手段37に送信する。
【0082】
復号化手段37は、USBトークン2から暗号化ユーザ鍵を受信して取得すると、暗号文ファイルのヘッダ領域からソルトデータを抽出し(ステップS404)、暗号文データを復号化するための暗号鍵を作成する(ステップS405)。
【0083】
暗号鍵は、USBトークン2から取得した暗号化ユーザ鍵と暗号文ファイルのヘッダ領域から抽出したソルトデータとを排他的論理和演算(EOR)することにより作成される。
【0084】
したがって、シリアルナンバーと確認コードの少なくとも一方が異なるUSBトークン2、換言すると、暗号化に使用したUSBトークン2と異なるUSBトークン2であっても、暗号化ユーザ鍵が同一であれば、暗号化に使用した暗号鍵と同一の暗号鍵を作成することができる。
【0085】
また、暗号化に使用したUSBトークン2の共有コードと復号化に使用したUSBトークン2の共有コードとが同一でない場合には、許可フラグがセットされないので、異なる暗号化ユーザ鍵によって暗号鍵が作成されてかかる暗号鍵により復号化処理が行われるのを防ぐことができる。
【0086】
復号化手段37は、暗号鍵を作成すると、その暗号鍵を使用して所定の暗号アルゴリズムにより、暗号文ファイルの暗号文データを復号化して平文データを作成する(ステップS406)。
【0087】
復号化手段37は、疑似乱数生成器を備えており、暗号鍵に基づいて疑似乱数生成器により疑似乱数を生成し、その疑似乱数と暗号文データとを排他的論理和演算することによって平文データを作成する。そして、平文データを平文ファイルのデータ領域に書き込み、平文ファイルを作成する(ステップS407)。
【0088】
(ファイル監視処理及びポップアップ監視処理)
図9は、ファイル監視処理を説明するフローチャート、図10は、ポップアップ監視処理を説明するフローチャートである。
【0089】
ファイル監視手段41は、属性変更イベント出力手段22から属性変更イベントの入力を受けると(ステップS501でYES)、そのデータファイルが暗号文ファイルであるか否かと(ステップS502)、許可フラグがセットされているか否か(ステップS503)を判断する。
【0090】
そして、データファイルが暗号文ファイルであり(ステップS502でYES)、かつ許可フラグがセットされていないと判断すると(ステップS503でNO)、そのデータファイルはファイル属性が読み取り専用に設定された監視対象のデータファイルであり、本人認証が未認証のときにそのファイル属性を変更して読み取り属性を解除する処理は監視対象のデータファイルに対する不正な操作であると判断し、そのデータファイルのファイル属性を読み取り専用に設定するファイル属性読み取り専用設定処理を行う(ステップS504)。
【0091】
これにより、例えば暗号文ファイルを上書き保存することを目的としてエディタなどのアプリケーションプログラムによってファイル属性の読み取り専用が強制的に解除された場合には、再びファイル属性が読み取り専用に変更される。したがって、本人認証が未認証であるときに、特定のデータファイルである暗号文ファイルの上書き保存を阻止でき、暗号文ファイルの改ざんを防ぐことができる。
【0092】
一方、データファイルが暗号文ファイルではない(ステップS502でNO)、或いはUSBトークン2が所有者本人のものであるとして本人認証されている(ステップS503でYES)の少なくとも一方である場合には、ファイル属性読み取り専用設定処理は行われない。したがって、かかる場合には、アプリケーションプログラムによって暗号文ファイルの読み取り専用を解除することができる。
【0093】
ファイル監視手段41によりファイル属性読み取り専用設定処理が行われると、その情報がログ記録手段43により履歴情報としてユーザデータベース38に記録される(ステップS505)。
【0094】
ポップアップ監視手段42は、確認判断要求手段24による確認ウィンドウのポップアップ表示処理の実行を検出すると(ステップS601でYES)、そのデータファイルが暗号文ファイルであるか否かと(ステップS602)、許可フラグがセットされているか否か(ステップS603)を判断する。
【0095】
そして、データファイルが暗号文ファイルであり(ステップS602でYES)、かつ許可フラグがセットされていないと判断すると(ステップS603でNO)、そのデータファイルは監視対象のデータファイルであり、本人認証が未認証であるときの所定のファイル操作は監視対象のデータファイルに対する不正な操作であると判断し、ファイル操作手段25にファイル操作中止の指示を与えるファイル操作中止選択処理を行う(ステップS604)。
【0096】
これにより、例えば暗号文ファイルを削除するファイル操作が設定された場合には、ファイル操作中止の選択ボタンを選択する処理が行われ、ファイル操作手段25によるデータファイルの削除が中止される。この結果、本人認証が未認証であるときに、暗号文ファイルに対する所定のファイル操作、すなわち暗号文ファイルの削除、移動、ファイル名変更を阻止でき、暗号文ファイルの改ざんを防ぐことができる。
【0097】
一方、データファイルが暗号文ファイルではない(ステップS602でNO)、或いはUSBトークン2が所有者本人のものであるとして本人認証されている(ステップS603でYES)の少なくとも一方である場合には、ファイル操作中止選択処理は行われない。したがって、かかる場合には、暗号文ファイルの削除、移動、ファイル名変更を行うことができる。
【0098】
ポップアップ監視手段42によりファイル操作中止選択処理が行われると、その情報がログ記録手段43により履歴情報としてユーザデータベース38に記録される(ステップS605)。
【0099】
図11は、ログ記録手段43によって表示装置3Cに表示されるログ画面の一例を示すものである。ログ記録手段43によって、ユーザデータベース38には履歴情報として暗号文ファイルにアクセスしたユーザ名、日付、時刻、アクション、ステータス、リソースが互いに関連付けされた形で記憶される。そして、管理者USBトークン2をパーソナルコンピュータ3に接続し、これらの6種類の検索条件に基づいてユーザデータベース38内を検索することによって、その検索結果をログ画面に表形式で表示することができる。
【0100】
例えばファイル属性読み取り専用設定処理やファイル操作中止選択処理が行われた場合、これらの処理が行われた日付、時刻が表示され、アクションにはその行為として「不正」が表示される。そして、ステータスには、不正なファイル操作として、ファイル属性読み取り専用設定処理の場合は「属性変更」と表示され、ファイル操作中止選択処理の場合は「削除」、「移動」、「ファイル名変更」と表示され、リソースには、これらの処理が行われたファイルのファイル名が表示される。
【0101】
上記構成を有するデータ共有装置1によれば、監視対象のデータファイルに対して読み取り専用を解除する操作が行われた場合には、ファイル監視手段41によってそのデータファイルのファイル属性を再び読み取り専用に設定する処理が行われる。したがって、本人認証が未認証であるときに、暗号文ファイルのファイル内容の変更を阻止でき、暗号文ファイルの改ざんを防ぐことができる。
【0102】
また、監視対象のデータファイルに対して、移動、削除、ファイル名変更というファイル操作が設定された場合に、ポップアップ監視手段42によってそのファイル操作を中止する処理が行われる。したがって、本人認証が未認証であるときに、暗号文ファイルの削除、移動、ファイル名変更を阻止し、改ざんを防ぐことができる。
【0103】
また、上記構成を有するデータ共有装置1によれば、暗号化手段36は、ユニークなソルトデータを作成し、そのソルトデータとUSBトークン2から読み出した暗号化ユーザ鍵とを用いて暗号鍵を作成し、その暗号鍵を用いて平文データの暗号化を行い、暗号文データを作成する。そして、暗号鍵の作成に使用したソルトデータを暗号ファイルのヘッダ領域に書き込み、暗号文データに付加する処理を行う。
【0104】
これにより、平文データの暗号化に使用する暗号鍵を暗号文データごとに相違させることができ、同一の暗号鍵を使用して暗号化した暗号文データよりも暗号強度の強い暗号文データを作成することができ、暗号文データの解読困難性を高めることができる。
【0105】
そして、復号化手段37は、ソルトデータを暗号文ファイルのヘッダ領域から抽出し、その抽出したソルトデータと電子キーから読み出した暗号化ユーザ鍵とを用いて暗号鍵を作成し、その暗号鍵を用いて暗号文データの復号化を行い、平文データを作成する。
【0106】
したがって、暗号化ユーザ鍵が共通する同一のグループに属するUSBトークン2であれば、暗号化に使用したUSBトークン2とは異なるUSBトークン2であっても、USBトークン認証及び本人認証を条件として、暗号文データの作成に用いた暗号鍵と同一の暗号鍵を作成することができ、暗号文データ復号化して平文データを作成することができる。
【0107】
また、暗号化手段36及び復号化手段37によって作成される暗号鍵や、その暗号鍵の作成に必要な暗号化ユーザ鍵は、パーソナルコンピュータ3には記憶されないので、パーソナルコンピュータ3の解析等による鍵情報の漏洩を防ぎ、暗号文データの解読を防止でき、高い安全性を有する。
【0108】
そして、暗号化処理と復号化処理は、パーソナルコンピュータ3側で行われるので、パーソナルコンピュータ3とUSBトークン2との間の通信速度がボトルネックにならず、データ共有装置1全体のスループットを向上させることができる。
【0109】
また、上記のデータ共有装置1によれば、ユーザデータベース27に予め記憶された共有コード及びシリアルナンバーがUSBトークン2から読み出した共有コード及びシリアルナンバーと相互に一致し、かつパーソナルコンピュータ3に入力された確認コードがUSBトークン2から読み出した確認コードと一致することによって、暗号化手段36及び復号化手段37によるデータの暗号化及び復号化が許可される。
【0110】
したがって、パーソナルコンピュータ3に予め記憶された共有コードと、USBトークン2に予め記憶された共有コードとが不一致の場合や、パーソナルコンピュータ3に予め記憶されたシリアルナンバーと、USBトークン2に予め記憶されたシリアルナンバーとが不一致の場合、あるいはパーソナルコンピュータ3に入力された確認コードとUSBトークン2に記憶されている確認コードとが不一致の場合等、上記3つの条件のうち少なくとも一つが不一致の場合には、データの暗号化及び復号化を行うことはできない。
【0111】
したがって、パーソナルコンピュータ3に予め記憶された共有コード及びシリアルナンバーと異なる共有コード及びシリアルナンバーを有するUSBトークン2によって復号化処理が実行されたり、USBトークン2に記憶されている確認コードと異なる確認コードがパーソナルコンピュータ3に入力された場合に復号化処理が実行されるのを防ぐことができる。
【0112】
また、上記データ共有装置1によれば、USBトークン2のメモリ12には、確認コードがハッシュ関数により変換されたハッシュ値が記憶されており、パーソナルコンピュータ3の認証手段34は、パーソナルコンピュータ3に入力されてハッシュ関数により2回変換された確認コードのハッシュ値と、USBトークン2から読み出されてハッシュ関数により1回変換された確認コードのハッシュ値とが一致する場合には、データの暗号化及び復号化を許可するので、USBトークン2のメモリ12に、確認コードをそのまま記憶させるのではなく、符号化して記憶させておくことができ、暗号文データの解読困難性を高めることができる。
【0113】
なお、本発明は、上述の実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変更が可能である。例えば、上述の実施の形態では、認証手段34は、共有コード及びシリアルナンバーによるUSBトークン認証と、確認コードによる本人認証の両方を行っているが、いずれか一方だけを行ってもよい。
【0114】
また、上述の実施の形態では、ファイル監視手段41及びポップアップ監視手段42が、複数のUSBトークン2を前提としたデータ共有装置1に組み込まれた場合を例に説明したが、単一のUSBトークン2を使用した暗号化装置、復号化装置に使用してもよい。そして、上述の実施の形態では、特定のデータファイルとして暗号文ファイルを例に説明したが、暗号化されていないデータファイルであってもよい。
【図面の簡単な説明】
【0115】
【図1】本実施の形態に係わるデータ共有装置の構成を説明する図である。
【図2】パーソナルコンピュータ内に実現される機能を説明するブロック図である。
【図3】ユーザデータベースに作成されるユーザデータの構成を説明する図である。
【図4】ユーザ情報登録画面の一例を示すものである。
【図5】USBトークン認証処理を説明するフローチャートである。
【図6】本人認証処理を説明するフローチャートである。
【図7】暗号化手段による暗号化処理の方法を説明するフローチャートである。
【図8】復号化手段による復号化処理の方法を説明するフローチャートである。
【図9】ファイル監視処理を説明するフローチャートである。
【図10】ポップアップ監視処理を説明するフローチャートである。
【図11】ログ画面の一例を示すものである。
【符号の説明】
【0116】
1 データ共有装置(データファイル監視装置)
2 USBトークン
3 パーソナルコンピュータ(情報処理装置)
12 メモリ(記憶手段)
20 OS
21 ファイル内容変更禁止手段
22 属性変更イベント出力手段
23 ファイル操作設定手段
24 確認判断要求手段
25 ファイル操作手段
31 管理者情報登録手段
32 ユーザ情報登録手段
33 USBトークン接続監視手段
34 認証手段
36 暗号化手段
37 復号化手段
38 ユーザデータベース
41 ファイル監視手段
42 ポップアップ監視手段
43 ログ記録手段

【特許請求の範囲】
【請求項1】
データファイルを記憶するデータファイル記憶手段と、
該データファイル記憶手段に記憶されたデータファイルのうち、ファイル属性が読み取り専用に設定されているデータファイルについて、該データファイルのファイル内容の変更を禁止するファイル内容変更禁止手段と、
前記データファイル記憶手段に記憶されたデータファイルであってファイル属性が読み取り専用に設定されているデータファイルのファイル属性の変更を検出するファイル属性変更検出手段と、
該ファイル属性変更検出手段によりファイル属性の変更が検出されたデータファイルが予め設定された監視対象のデータファイルであるか否かを判断する監視対象判断手段と、
該監視対象判断手段により前記データファイルが前記監視対象のデータファイルであるとの判断により、前記データファイルのファイル属性を再び読み取り専用に設定するファイル属性読み取り専用設定手段とを有することを特徴とするデータファイル監視装置。
【請求項2】
データファイルを記憶するデータファイル記憶手段と、
該データファイル記憶手段に記憶されたデータファイルのうち、ファイル属性が読み取り専用に設定されているデータファイルについて、該データファイルのファイル内容の変更を禁止するファイル内容変更禁止手段と、
データファイルを特定し、該特定されたデータファイルに対するファイル操作を設定するファイル操作設定手段と、
該ファイル操作設定手段により特定されたデータファイルのファイル属性が読み取り専用に設定されているか否かを判断し、読み取り専用に設定されているとの判断により、前記ファイル操作の実行又は中止の確認判断を要求する確認判断要求手段と、
該確認判断要求手段からの確認判断要求に対して、ファイル操作実行の指示が与えられることにより前記ファイル操作を実行し、ファイル操作中止の指示が与えられることにより前記ファイル操作を中止するファイル操作手段と、
前記確認判断要求手段によって確認判断の要求がされたか否かを検出する確認判断要求検出手段と、
該確認判断要求検出手段により前記確認判断の要求がされたことを検出することにより、前記確認判断の要求がされたデータファイルが予め設定された監視対象のデータファイルであるか否かを判断する監視対象判断手段と、
該監視対象判断手段によって前記データファイルが前記監視対象のデータファイルであると判断されることにより前記ファイル操作手段に前記ファイル操作中止の指示を与えるファイル操作中止選択手段とを有することを特徴とするデータファイル監視装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2007−188307(P2007−188307A)
【公開日】平成19年7月26日(2007.7.26)
【国際特許分類】
【出願番号】特願2006−6135(P2006−6135)
【出願日】平成18年1月13日(2006.1.13)
【出願人】(505071125)株式会社プロ・セキュア (2)
【Fターム(参考)】