以下、図面を参照して、本発明の一実施の形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
[実施の形態]
まず、実施の形態に係るファイル管理装置について、概略構成、ファイル確認処理の流れ及び具体例を説明する。本実施の形態は、事前に作成された共有の共通定義情報と、装置個別の定義情報とを基に装置に適用するための照合情報を作成し、該照合情報を用いて、ファイルの改ざん、ファイルの削除、データベースに配置されるべきでないファイルの追加のいずれか一つを確認する。
図1は、実施の形態に係るファイル管理装置を有する管理システムの概略構成を示す模式図である。図1に示すように、実施の形態に係る管理システムは、共通定義情報データベース(DB)2と、複数のファイル管理装置3X〜3Zとが通信可能に接続する構成を有する。
共通定義情報DB2は、共有の共通定義情報G1,G2,G3を有する。共通定義情報DB2からは、各ファイル管理装置3X〜3Zに、それぞれのファイル管理装置3X〜3Zが必要とする共有の共通定義情報G1,G2,G3を送信する。共有の共通定義情報G1,G2,G3は、たとえば、ソフトウェア提供者によって作成され、提供される。なお、共有の共通定義情報G1,G2,G3の保管及び流通は、図1のような集中管理方式に限らず、種々の既存手段を適用することが可能である。
ファイル管理装置3X〜3Zは、管理対象であるファイル管理装置3に配置(インストール)された複数のファイルFを管理する。ファイル管理装置3X〜3Zは、一般的なオペレーティングシステムを搭載したPC(Personal Computer)やサーバ装置等である。なお、図1に示すファイル管理装置3X〜3Zの数は、あくまで一例であり、これに限られるものではない。また、複数のファイル管理装置3X〜3Zについて、特に区別なく説明する場合には、ファイル管理装置3と記載する。
ファイル管理装置3X〜3Zが管理するファイル集合は、具体的には、ソフトウェアパッケージを構成するファイル集合である。ファイル集合は、例えば、プログラムを実行するプログラムファイルや、プログラムファイルの実行順序を既定する設定ファイルを含む。これらのファイル集合のファイルパスやディレクトリ構造は、インストール先によらず共通であることが多い。そして、プログラムファイル等は、インストール先によらず同じデータであることが多い。これに対し、設定ファイル等はインストール先に応じてデータを編集することが多い。
ファイル管理装置3X〜3Zは、管理対象のファイルについて、ファイルパスによってファイルデータを識別し、ディレクトリによってファイルパスを分類し、ディレクトリパスによってディレクトリを識別する。
ファイル管理装置3X〜3Zは、共通定義情報DB2内の共有の共通定義情報G1,G2,G3の少なくとも一部を取得する。また、ファイル管理装置3X〜3Zは、自装置個別の個別定義情報L1x,L2x,L3x,L1y,L1z,L2zを取得する。個別定義情報L1x,L2x,L3x,L1y,L1z,L2zは、ファイル管理装置3X〜3Zのそれぞれに配置されるべきファイル集合に対して、ファイル管理装置3X〜3Zに応じて個別に備えるべき条件を示す情報である。そして、ファイル管理装置3X〜3Zは、取得した共通定義情報G1,G2,G3と個別定義情報L1x,L2x,L3x,L1y,L1z,L2zとをともに満たす照合情報R1x,R2x,R3x,R1y,R1z,R2zを生成する。
そして、ファイル管理装置3X〜3Zは、生成した照合情報R1x,R2x,R3x,R1y,R1z,R2zと管理対象のファイルとを照合する。ファイル管理装置3X〜3Zは、照合結果を基に、ファイルの改ざん、ファイルの削除、データベースに配置されるべきでないファイルの追加のいずれか一つの確認項目A1〜A3について確認を行い、確認結果を出力する。
[ファイル管理装置の構成]
次に、図2を参照して、図1に示すファイル管理装置3の構成について説明する。図2は、図1に示すファイル管理装置3の概略構成を示す模式図である。図2に示すように、記憶部10、通信部13、制御部14、入力部15及び出力部16を有する。
記憶部10は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部10は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。記憶部10は、ファイル管理装置3で実行されるOS(Operating System)や各種プログラムを記憶する。さらに、記憶部10は、プログラムの実行で用いられる各種情報を記憶する。記憶部10は、ファイル記憶部11及び確認用情報記憶部12を有する。
ファイル記憶部11は、複数のファイルFで構成されるファイル集合Fsを複数配置する。ファイル集合Fsは、前述したように、例えば、ソフトウェアパッケージを構成するファイル集合である。
確認用情報記憶部12は、ファイルの完全性を確認するために制御部14(後述)が使用する情報を記憶する。確認用情報記憶部12は、確認内容情報121、照合情報122、共通定義情報123、項目抽出情報124、個別定義情報125、条件情報126、対応関係情報127を有する。
まず、確認内容情報121について説明する。図3は、図2に示す確認内容情報121のデータ構成の一例を示す図である。確認内容情報121は、図3に示すように、確認項目と、その内容とが対応付けられている。ここで、配置されるべきファイル集合は、ソフトウェアパッケージについて、プログラムや設定ファイルの不正な(攻撃、あるいは誤運用による)改ざん、追加、削除などが行われていない状態のファイル集合である。一方、ファイル管理装置3に配置されているファイル集合は、これらの状態を維持していない可能性がある。このため、ファイル管理装置3では、完全性確認を実施する必要性が生じる。
ファイル管理装置3では、完全性の確認内容として、図3に示す確認項目A1〜A3が設定される。具体的には、確認項目A1(第1の確認内容)は、ファイル記憶部11に配置されるべきファイルが改ざんされていないことである。確認項目A2(第2の確認内容)は、ファイル記憶部11に配置されるべきファイルが削除されていないことである。確認項目A3(第3の確認内容)は、データベースに配置されるべきでないファイルが追加されていないことである。ファイル管理装置3では、これらの確認項目A1〜A3の全て、或いは、少なくともいずれか一つを確認する。
次に、照合情報122について説明する。照合情報122は、照合情報122は、ファイル管理装置3が、自身が管理するファイル集合に対応する照合情報として生成したものである。照合情報122は、リストB1(第1のリスト)、リストB2(第2のリスト)及びリストB3(第3のリスト)から構成されている。このリストB1〜B3について、図4を参照して説明する。
図4は、図2に示す照合情報122が有するリストB1〜B3の内容を説明する図である。図4の表122aに示すように、リストB1には、ファイル記憶部11に配置されるべきであるファイルであり、かつ、ファイルデータが変化しないファイルの、ファイルパスとファイルデータのダイジェスト値との組み合わせのリストが示される。ここで、ダイジェスト値は、例えば、ファイルデータのhash値である。hash値とは、元のデータをSHA256等のhash関数で変換した値であり、サイズが小さく、かつ元のデータが変化(改ざん)したらhash値も変化することから、改ざんの判定に用いる。
そして、リストB2には、ファイル記憶部11に配置されるべきファイルであり、かつ、ファイルデータが変化しうるファイルのファイルパスのリストが示される。
また、リストB3には、以下のディレクトリ条件b31〜b33を満たすディレクトリのディレクトリパスのリストを示す。ディレクトリ条件b31(第1のディレクトリ条件)は、直下のファイルは同じ照合情報に属するリストB1またはリストB2に記載のファイルである。条件b32(第2のディレクトリ条件)は、直下のディレクトリは同じ照合情報に属するリストB1またはリストB2に記載のファイルを一つ以上配下に配置するディレクトリである。条件b33(第3のディレクトリ条件)は、直下にディレクトリ条件b31またはディレクトリ条件b32に該当しないファイルまたはディレクトリを配置しないことである。
図5は、図2に示す照合情報122の一例を示す図である。図5に示すように、照合情報Rxxは、リストRxx−B1〜Rxx−B3を有する。具体的には、リストRxx−B1には、ファイルF11〜F13のファイルパス「ファイルパス11〜13」とファイルデータのダイジェスト値「ダイジェスト値1〜3」との組み合わせが記載されている。ファイルF11〜F13は、ファイル記憶部11に配置されるべきであるファイルであり、かつ、ファイルデータが変化しないファイルである。また、リストRxx−B2には、ファイルF21〜23のファイルパス「ファイルパス21〜23」を記載されている。ファイル21〜F23は、ファイル記憶部11に配置されるべきファイルであり、かつ、ファイルデータが変化しうるファイルである。また、リストRxx−B3には、ディレクトリ条件b31〜b33を満たすディレクトリパスの「ディレクトリパス1〜3」が記載されている。
次に、共通定義情報123について説明する。共通定義情報123は、共通定義情報DB2から取得した共有情報である。共通定義情報123は、任意のファイル管理装置において、ファイルの改ざん確認或いは過不足確認の際に照合する照合情報について、該照合情報に記載する可能性のあるファイル及びディレクトリのリストである共通リストを定義する。そして、共通定義情報123は、個別のファイル管理装置において、照合情報のファイル及びディレクトリのリストの要素を決定する条件である要素属性を定義する。
図6は、図2に示す共通定義情報123が定義する内容を説明する図である。図6の表123aに示すように、共通定義情報123では、定義D1及び定義D2を定義している。すなわち、定義D1の内容は、任意のファイル管理装置において、照合情報のリストB1,B2,B3に記載する可能性のあるファイル、ディレクトリのリストである、共通リストJ1,J2,J3の定義である。定義D2の内容は、個別のファイル管理装置において、照合情報のリストB1,B2,B3の要素を決定するための条件である要素属性の定義である。照合情報122は、この定義D1の共通リストJ1〜J3に対し、定義D2の要素属性に基づいて、リストB1〜B3の要素が決定される。
続いて、共通定義情報123は、ファイル集合の照合情報のリストB1,B2に記載するファイルの共通リストと、照合情報B3に記載するディレクトリの共通リストと、を定義する。そして、共通定義情報123は、これらのファイル、およびディレクトリに対して、以下で説明する属性E1〜E4を要素属性として記載し、定義する。ファイルにはE1,E2,E3、ディレクトリにはE4を定義する。
図7は、図2に示す共通定義情報123が定義する要素属性を説明する図である。図7の表123bに示すように、要素属性としてE1〜E4が定義される。まず、要素属性E1は、照合情報122のリストB1,B2の共通リストに記載のファイルがファイル管理装置に配置することが必須であることを示す第1フラグ(T)或いは必須でないことを示す第2フラグ(F)を定義する必須フラグを定義する。要素属性E2は、照合情報122のリストB1,B2の共通リストに記載のファイルのファイルパス表記の作成条件であるファイルパス条件を定義する。要素属性E3は、照合情報のリストB1の共通リストに記載のファイルのうち配置にあたってファイルデータを変更できないファイルのダイジェスト値を定義する。要素属性E4は、照合情報のリストB3の共通リストに記載のディレクトリのディレクトリパス表記の作成条件であるディレクトリパス条件を定義する。
共通定義情報123の具体例について説明する。図8は、図2に示す共通定義情報123の一例を示す図である。図8に共通定義情報Gxは、共通リストJ1〜J3を有する。
共通リストJ1は、照合情報122のリストB1に記載するファイルの共通リストである。この共通リストJ1には、各ファイルそれぞれの要素属性として、ファイルパス条件(要素属性E2)、ダイジェスト値(要素属性E3)、必須フラグ(要素属性E1)が共通属性H1として対応付けられている。具体的には、共通リストJ1では、ファイル「#11」には、「ファイルパス条件11」、「ダイジェスト値11」、「必須フラグ11=T」が対応する。共通リストJ1では、ファイル「#12」には、「ファイルパス条件12」、「ダイジェスト値12」、「必須フラグ12=F」が対応する。
共通リストJ2は、照合情報122のリストB2に記載するファイルの共通リストである。この共通リストJ2には、各ファイルそれぞれの要素属性として、ファイルパス条件(要素属性E2)及び必須フラグ(要素属性E1)が共通属性H2として対応付けられている。具体的には、共通リストJ2では、ファイル「#21」には、「ファイルパス条件21」、「必須フラグ21=T」が対応する。共通リストJ2では、ファイル「#22」には、「ファイルパス条件22」、「必須フラグ22=F」が対応する。
共通リストJ3は、照合情報122のリストB3に記載するディレクトリの共通リストである。この共通リストJ3には、各ディレクトリそれぞれの要素属性として、ディレクトリパス条件(要素属性E4)が共通属性H3として対応付けられている。具体的には、共通リストJ3では、ディレクトリ「#31」には、「ディレクトリパス条件31」が対応する。共通リストJ3では、ディレクトリ「#32」には、「ディレクトリパス条件32」が対応する。
次に、項目抽出情報124について説明する。項目抽出情報124は、共通定義情報123からの抽出項目を示す情報である。抽出項目は、当該ファイル管理装置3の個別情報として定義すべき項目とすべき内容である。図9は、図2に示す項目抽出情報124について説明する図である。図9の表124aに示すように、項目抽出情報124は、共通定義情報123の各対象からの抽出内容を示すものであり、抽出対象と、該抽出対象からの抽出内容とが対応付けられている。
例えば、共通定義情報123において照合情報122のリストB1に記載することを定義したファイルが対象である場合には、抽出内容は、次の3つである。1つ目は、要素属性E1である必須フラグが「F」のファイルである。2つ目は、配置するファイルについて要素属性E2であるファイルパス条件を満たすファイルパス表記のうちファイル管理装置3で個別に決定する要素である。3つ目は、配置するファイルについて要素属性E3のダイジェスト値が定義されていないファイルのダイジェスト値である。
そして、共通定義情報123において照合情報122のリストB2に記載することを定義したファイルが対象である場合には、抽出内容は、次の2つである。1つ目は、要素属性E1である必須フラグが「F」のファイルである。2つ目は、配置するファイルについて要素属性E2であるファイルパス条件を満たすファイルパス表記のうちファイル管理装置3で個別に決定する要素である。
また、共通定義情報123において照合情報122のリストB3に記載することを定義したディレクトリが対象である場合には、抽出内容は、配置するファイルについて、要素属性でE2のファイルパス条件を満たすディレクトリパス表記のうち、ファイル管理装置で個別に決定する要素である。個別定義項目抽出部145(後述)が、この項目抽出情報124にしたがって共通定義情報123の対象となるファイル或いはディレクトリから項目を抽出し、個別定義情報125の項目として定義する。
次に、個別定義情報125について説明する。個別定義情報125は、項目抽出情報124にしたがって共通定義情報123から抽出された項目について、ファイル管理装置3に応じて個別に備えるべき条件を示す情報である。例えば、個別定義情報125は、外部から入力される情報である。具体的には、個別定義情報125は、ファイル管理装置3の管理者による入力部15の操作によって外部から入力される。もちろん、これに限らず、個別定義情報125は、通信部13を介して外部から入力されもよい。図10は、図2に示す個別定義情報125を説明する図である。図10の表125aに示すように、個別定義情報125は、入力対象に対する入力内容が対応付けられている。
具体的には、共通定義情報123において照合情報122のリストB1に記載することを定義したファイルが対象である場合には、入力内容は、3つである。1つ目は、要素属性E1である必須フラグが「F」のファイルの配置の有無である。2つ目は、配置するファイルについて要素属性E2であるファイルパス条件を満たすファイルパス表記のうちファイル管理装置3で個別に決定する要素の値である。3つ目は、配置するファイルについて要素属性E3のダイジェスト値が定義されていないファイルのダイジェスト値である。
そして、共通定義情報123において照合情報122のリストB2に記載することを定義したファイルが対象である場合には、入力内容は、次の2つである。1つ目は、要素属性E1である必須フラグが「F」のファイルの配置の有無である。2つ目は、配置するファイルについて要素属性E2であるファイルパス条件を満たすファイルパス表記のうちファイル管理装置3で個別に決定する要素の値である。
また、共通定義情報123において照合情報122のリストB3に記載することを定義したディレクトリが対象である場合には、入力内容は、配置するファイルについて、要素属性E2であるファイルパス条件を満たすディレクトリパス表記のうち、ファイル管理装置3で個別に決定する要素であるの値である。この個別定義情報125は、個別定義情報入力部146(後述)によって取得される。そして、共通定義情報123と個別定義情報125とを基に照合情報122が生成される。
個別定義情報125の具体例について説明する。図11は、図2に示す個別定義情報125の一例を示す図である。図11に示す個別定義情報Lxxは、リストWc1〜Wc3を有する。
個別定義情報LxxのリストWc1は、共通定義情報Gxにおいて照合情報122のリストB1に記載することを定義したファイルに対して、ファイル管理装置3に応じて個別に備えるべき各条件、すなわち、図10の表125aに示す1段目に記載の入力内容、を示すリストである。
例えば、リストWc1には、ファイル「#11」〜「#16」に対して、ファイルに応じたファイルパス表記、ダイジェスト値或いはファイルの配置の要否が対応付けられている。具体的には、リストWc1では、1行目に、ファイル「#11」に対応するファイルパス表記である「ファイルパス表記(個別要素)11」が示されている(列Lc11参照)。また、2行目には、ファイル「#12」に対応するファイルパス表記である「ファイルパス表記(個別要素)12」と、ファイル「#12」についての配置の要否である「配置要」(列Lc13参照)とが示されている。また、4行目には、ファイル「#14」に対応するファイルパス表記である「ファイルパス表記(個別要素)14」と、ファイル「#14」の「ダイジェスト値14」(列Lc12参照)とが示されている。
個別定義情報LxxのリストWc2は、共通定義情報Gxにおいて照合情報122のリストB2に記載することを定義したファイルに対して、ファイル管理装置3に応じて個別に備えるべき各条件、すなわち、図10の表125aに示す2段目に記載の入力内容、を示すリストである。
例えば、リストWc2には、ファイル「#21」〜「#23」に対して、ファイルに応じたファイルパス表記或いはファイルの配置の要否が対応付けられている。具体的には、リストWc2では、1行目に、ファイル「#21」に対応するファイルパス表記である「ファイルパス表記(個別要素)21」が示されている(列Lc21参照)。また、2行目には、ファイル「#22」に対応するファイルパス表記である「ファイルパス表記(個別要素)22」と、ファイル「#22」についての配置の要否である「配置要」(列Lc22参照)とが示されている。
個別定義情報LxxのリストWc3は、共通定義情報Gxにおいて照合情報122のリストB3に記載することを定義したディレクトリに対して、ファイル管理装置3に応じて個別に備えるべき各条件、すなわち、図10の表125aに示す3段目に記載の入力内容、を示すリストである。
例えば、リストWc3には、ディレクトリ「#31」,「#32」に対して、ディレクトリに応じて、ディレクトリパス表記が対応付けられている。具体的には、リストWc3では、1行目に、ディレクトリ「#31」に対応するディレクトリパス表記である「ディレクトリパス表記(個別要素)31」が示されている(列Lc31参照)。また、2行目には、ディレクトリ「#32」に対応するディレクトリパス表記である「ディレクトリパス表記(個別要素)32」が示されている。
次に、条件情報126について説明する。条件情報126は、ファイル記憶部11に配置されたファイル集合Fsと照合情報122とを照合し、確認内容を満たすか否かを判定する際にファイル管理装置3が用いる照合条件を示す情報である。
図12は、図2に示す条件情報126について説明する図である。図12に示すように、ファイル管理装置3は、照合条件として、照合条件C1(第1の照合条件)、照合条件C2(第2の照合条件)、照合条件C3(第3の照合条件)を用いる。
照合条件C1は、リストB1が示すファイルパスとファイルデータのダイジェスト値との組み合わせに一致する全てのファイルがファイル管理装置3に配置されていることである。照合条件C2は、リストB2が示すファイルパスに一致する全てのファイルがファイル管理装置3に配置されていることである。そして、照合条件C3は、リストB3が示すディレクトリパスに一致する全てのディレクトリがファイル管理装置3に配置されており該ディレクトリの直下にはディレクトリ条件b31またはディレクトリ条件b32に該当しないファイルまたはディレクトリが配置されてないことである。ファイル管理装置3は、照合条件C1〜C3の少なくとも一つを満たすか否かを判定する。
対応関係情報127は、確認項目A1〜A3と、そのために要する照合情報122のリストB1〜B3との対応関係を示す情報である。対応関係情報127は、確認項目A1〜A3の全てを確認する場合には、リストB1〜B3の全てを必要であることが示す。また、確認項目A1〜A3のいずれかを確認する場合には、リストB1〜B3の一部のみで足りることを示す。
このため、ファイル管理装置3は、対応関係情報127を参照し、確認項目A1〜A3の確認の有無に応じて必要となるリストB1〜B3のみを、共有情報DB2内の共有情報Rs1〜Rs3から取得すればよい。すなわち、ファイル管理装置3は、共有情報DB2内の共有情報Rs1〜Rs3のうち、自身が確認する確認項目で用いるリストを取得すればよい。なお、本実施の形態では、ファイル管理装置3が確認項目A1〜A3の全てを確認する場合を例に説明する。
通信部13は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。通信部13は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置(例えば、共通定義情報DB2)と制御部14(後述)との間の通信を行う。例えば、通信部13は、共通定義情報DB2から送信された共通定義情報G1〜G3を受信し、ファイル管理装置3による確認結果をファイル改ざんやファイル削除等に対する外部の対応装置に出力する。
制御部14は、ファイル管理装置3全体を制御する。制御部14は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。また、制御部14は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部14は、各種のプログラムが動作することにより各種の処理部として機能する。制御部14は、ファイル管理部141、照合情報生成部142及びファイル確認部143を有する。
ファイル管理部141は、管理対象のファイル記憶部11のファイルについて、ファイルパスによってファイルデータを識別し、ディレクトリによってファイルパスを分類し、ディレクトリパスによってディレクトリを識別する。
照合情報生成部142は、共有の共通定義情報123と個別定義情報125とを基に、ファイル管理装置3で使用する照合情報122を生成する。照合情報生成部142は、共通定義情報取得部144、個別定義項目抽出部145、個別定義情報入力部146及び生成部147を有する。
共通定義情報取得部144は、共通定義情報DB2が記憶する共有の共通定義情報の少なくとも一部を取得する。共通定義情報取得部144は、ファイル記憶部11に配置されているファイル集合Fsに応じた共通定義情報123を、ネットワーク等を経由して、外部の共通定義情報DB2からダウンロードすることによって取得する。或いは、共通定義情報取得部144は、ファイル管理装置3の管理者によるファイル等の入力によって、共通定義情報123を取得する。共通定義情報取得部144は、取得した共通定義情報123を確認用情報記憶部12に記憶する。
個別定義項目抽出部145は、共通定義情報取得部144が取得した共通定義情報123から、個別定義情報125として定義すべき項目を抽出する。個別定義項目抽出部145は、項目抽出情報124にしたがって、共通定義情報123からの項目抽出を行う。抽出する項目は、前述した図9の表124aに示す項目であり、照合情報122の各リストB1〜B3に記載することを定義したファイル或いはディレクトリについて、それぞれ設定されている。各項目の説明は、図9を用いて説明しているため省略する。
個別定義情報入力部146は、個別定義項目抽出部145が共通定義情報123から抽出した項目について、個別定義情報の入力を受付ける。入力を受付ける情報の内容は、前述した図10の表125aに示す項目であり、照合情報122の各リストB1〜B3に記載することを定義したファイル或いはディレクトリについて、それぞれ設定されている。各入力情報の説明は、図10を用いて説明しているため省略する。個別定義情報入力部146が入力を受付けた情報に基づく個別定義情報125は、例えば、図11に示す個別定義情報Lxxである。個別定義情報入力部146は、取得した個別定義情報125を確認用情報記憶部12に記憶する。
個別定義情報入力部146は、画面に各抽出項目と、その値等の入力欄とを示す操作画面を、ファイル管理装置3の管理者に提示する。この際、例えば、XML(Extensible Markup Language)などの構造化されたファイル形式、或いはグラフカルなUI(User Interface)を用いられる。そして、個別定義情報入力部146は、ファイル管理装置3の管理者による入力部15(後述)の操作によって各入力欄に入力された情報を受付けることによって、個別定義情報125を取得する。または、個別定義情報入力部146は、通信部13を介して、各抽出項目に対しての値等の送信要求を外部装置に出力する。そして、個別定義情報入力部146は、この送信要求に応じて外部装置から送信された各情報を受信することによって、個別定義情報125を取得してもよい。
生成部147は、共通定義情報123の共通リスト及び要素属性に基づいて、照合情報122を生成する。生成部147は、ファイル管理装置3に配置されるべきファイル集合に対して、共有の共通定義情報123と、当該ファイル管理装置3に応じて個別に備えるべき条件を示す個別定義情報125とをともに満たす照合情報122を生成する。
生成部147は、共通定義情報123と個別定義情報125とを基に、照合情報122のリストB1〜B3へ配置するファイルを決定し、リストB1〜B3に記載するファイルパス、ダイジェスト値、ディレクトリパスを決定する。個別定義情報としてダイジェスト値の代わりにファイルデータが入力された場合、生成部147は、リストB1に配置するファイルのファイルデータのダイジェスト値の計算も行う。生成部147は、生成した照合情報122をファイルとして確認用情報記憶部12に記憶する。或いは、生成部147は、生成した照合情報122を、ファイル管理装置3で稼働する完全性確認機能、すなわち、ファイル確認部143に直接インポートしてもよい。
ファイル確認部143は、共有の照合情報の少なくとも一部を用いてファイル記憶部11のファイルの完全性を確認する。ファイル確認部143は、確認対象のファイル集合に応じて、確認のために用いる照合情報を決定し、ファイル記憶部11に配置されているファイルの完全性を確認する。ファイル確認部143は、照合部148及び確認部149を有する。
照合部148は、ファイル記憶部11に配置されたファイルのファイルパス及び照合情報12が示すファイルパス、ファイル記憶部11に配置されたファイルのファイルデータのダイジェスト値及び照合情報122が示すファイルデータのダイジェスト値、及び、ファイル記憶部11に配置されたファイルのディレクトリパス及び照合情報122が示すディレクトリパス、のいずれか一つを照合する。そして、照合部148は、照合条件C1、照合条件C2、或いは、照合条件C3の少なくとも一つを満たすか否かを判定する。
確認部149は、照合部148による照合結果を基に、確認項目A1〜A3の少なくともいずれか一つを確認する。確認部149は、ファイル記憶部11に配置されたファイルについて、照合条件C1を満たす場合には確認項目A1を満たすと判定し、照合条件C1かつ照合条件C2を満たす場合には確認項目A2を満たすと判定し、照合条件C3を満たす場合には確認項目A3を満たすと判定する。本実施の形態では、ファイル管理装置3が、管理対象のファイル集合のファイルについて、照合条件C1〜C3全てを判定し、確認項目A1〜A3の全てを確認する場合を例に説明する。
入力部15は、ファイル管理装置3の管理者からの各種操作を受け付ける入力インタフェースである。例えば、入力部15は、タッチパネル、音声入力デバイス、キーボードやマウス等の入力デバイスによって構成される。出力部16は、例えば、液晶ディスプレイなどの表示装置、プリンタ等の印刷装置、情報通信装置等によって実現され、ファイル管理処理に関する情報を出力する。
[生成部の処理]
次に、生成部147による照合情報122の処理について説明する。図13は、図2に示す生成部147による照合情報122の生成処理を説明する図である。
図13は、左側に共通定義情報Gx、中央に個別定義情報Lxx、右側に照合情報Rxxを示す。共通定義情報Gxは、共通定義情報取得部144によって取得されたものである。個別定義情報Lxxは、個別定義項目抽出部145が共通定義情報Gxから抽出した項目に対してファイル管理装置3において個別に備えるべき条件として個別定義情報入力部146が受け付けた情報に基づくものである。照合情報Rxxは、個別定義情報Lxxと照合情報Rxxとを基に、個別定義情報Lxxと照合情報Rxxとをともに満たすように生成部147によって生成されたものである。
まず、生成部147が照合情報RxxのリストB1を作成する場合について説明する。この場合には、生成部147は、共通定義情報Gxの共通リストJ1において照合情報RxxのリストB1に記載を定義されたファイルについて、個別定義情報LxxのリストWc1を参照して以下の決定処理を行う。
生成部147は、共通定義情報Gxの共通リストJ1において、要素属性E1である必須フラグとして「F」が付されたファイルに対し、個別定義情報LxxのリストWc1を参照して、配置するか否かを決定する。
例えば、共通定義情報Gxのフラグ「F」であるファイル「#12」,「#15」については、個別定義情報LxxのリストWc1では「配置要」とされているため、生成部147は、ファイル「#12」,「#15」をリストB1に配置することを決定する。これに対し、共通定義情報Gxのフラグ「F」であるファイル「#13」については、生成部147は、個別定義情報LxxのリストWc1では「配置不要」とされているため、ファイル「#13」をリストB1に配置しないことを決定する。
そして、生成部147は、配置を決定したフラグ「F」が付されたファイルとフラグ「T」が付されたファイルとをリストB1のファイルとする。具体的には、生成部147は、配置を決定したフラグ「F」のファイル「#12」,「#15」と、フラグ「T」のファイル「#11」,「#14」をリストB1のファイルに決定する。
続いて、生成部147は、これらのファイルについて、共通定義情報Gxの共通リストJ1の要素属性E2であるファイルパス条件を満たすファイルパス表記を決定する。そして、生成部147は、決定した表記にしたがって記載したファイルパスをリストB1のファイルパスとして記載する。
すなわち、生成部147は、ファイル「#11」,「#12」,「#14」,「#15」について、個別定義情報LxxのリストWc1の「ファイルパス表記(個別要素)11,12,14,15」を、共通定義情報Gxの「ファイルパス条件11,12,14,15」を満たすファイルパス表記「ファイルパス11,12,14,15」に決定し、照合情報RxxのリストB1に記載する。
そして、生成部147は、配置するファイルについて、共通定義情報Gxの共通リストJ1に、要素属性E3であるダイジェスト値が定義されていないファイルについては、ファイルデータのhash値を計算する。生成部147は、計算したhash値をダイジェスト値として決定する。そして、生成部147は、該決定したダイジェスト値をリストB1のダイジェスト値とする。
例えば、ファイル「#14」,「#15」のダイジェスト値は、共通定義情報Gxの共通リストJ1に示されていない。このため、生成部147は、ファイル「#14」,「#15」のファイルデータのhash値を計算し、計算したhash値を、ファイル「#14」,「#15」の「ダイジェスト値14,15」として決定する。そして、生成部147は、照合情報RxxのリストB1に、ファイル「#14」,「#15」のダイジェストとして、「ダイジェスト値14,15」を記載する。なお、ファイル「#11」,「#12」については、共通定義情報Gxの共通リストJ1に記載されてため、生成部147は、照合情報RxxのリストB1に「ダイジェスト値11,12」を記載する。
次に、生成部147が照合情報RxxのリストB2を作成する場合について説明する。生成部147は、共通定義情報Gxの共通リストJ2において照合情報RxxのリストB2に記載を定義されたファイルについて、個別定義情報LxxのリストWc2を参照して以下の決定処理を行う。
生成部147は、照合情報RxxのリストB1の場合と同様に、共通定義情報Gxの共通リストJ2において、要素属性E1である必須フラグとして「F」が付されたファイルに対し、個別定義情報LxxのリストWc2を参照して、配置するか否かを決定する。
例えば、共通定義情報Gxのフラグ「F」であるファイル「#22」については、個別定義情報LxxのリストWc2では「配置要」とされているため、生成部147は、ファイル「#22」をリストB2に配置することを決定する。これに対し、共通定義情報Gxのフラグ「F」であるファイル「#23」については、生成部147は、個別定義情報Wc1では「配置不要」とされているため、ファイル「#23」をリストB2に配置しないことを決定する。
そして、生成部147は、配置を決定したフラグ「F」が付されたファイルとフラグ「T」が付されたファイルとをリストB2のファイルとする。具体的には、生成部147は、配置を決定したフラグ「F」のファイル「#22」と、フラグ「T」のファイル「#21」をリストB2のファイルに決定する。
続いて、生成部147は、これらのファイルについて、共通定義情報Gxの共通リストJ2のファイルパス条件を満たすファイルパス表記を決定する。そして、生成部147は、決定した表記にしたがって記載したファイルパスをリストB2のファイルパスとして記載する。
すなわち、生成部147は、ファイル「#21」,「#22」について、個別定義情報LxxのリストWc2の「ファイルパス表記(個別要素)21,22」を、共通定義情報Gxの「ファイルパス条件21,22」を満たすファイルパス表記「ファイルパス21,22」に決定し、照合情報RxxのリストB2に記載する。
次に、生成部147が照合情報RxxのリストB3を作成する場合について説明する。生成部147は、共通定義情報Gxの共通リストJ3において照合情報RxxのリストB3に記載を定義されたディレクトリについて、個別定義情報LxxのリストWc3を参照して以下の決定処理を行う。
この場合、生成部147は、共通定義情報Gxの共通リストJ3のディレクトリパス条件を満たすディレクトリパス表記を決定し、決定した表記にしたがって記載したディレクトリパスを照合情報RxxのリストB3のディレクトリパスとする。
すなわち、生成部147は、ディレクトリ「#31」,「#32」について、個別定義情報LxxのリストWc3の「ディレクトリパス表記(個別要素)31,32」を、共通定義情報Gxの「ディレクトリパス条件31,32」を満たすディレクトリパス表記「ディレクトリパス31,32」に決定し、照合情報RxxのリストB3に記載する。
[照合部の処理]
次に、照合部148の処理について説明する。図14及び図15は、図2に示す照合部148の処理を説明する図である。図14のように、照合部148は、まず、確認に用いる照合情報Rxxを決定し、この照合情報Rxxを用いて、確認項目A1〜A3に対する確認結果を出力する場合を例に説明する。例えば、照合部148は、ファイル管理装置3に配置されている確認対象のファイルが、照合情報Rxxに記載の条件をすべて満たすか否かを確認する。
ここで、確認対象のファイルとディレクトリとの配置は、図15右の枠W2内に示すとおりである。具体的には、ファイルf1,f2は、データ改ざん確認(確認項目A1)対象であり、かつ、ディレクトリd1直下の過不足確認(確認項目A2)対象のファイルである。ファイルf3は、ディレクトリd1直下の過不足確認(確認項目A2)対象のファイルである。ディレクトリd1は、過不足確認(確認項目A3)対象のディレクトリである。ファイルf4は、ファイル完全性確認対象外のファイルである。
そして、このような配置を有するファイル集合に対して設定された照合情報Rxxの一例を、図15左の枠W1内に示す。図15に示すように、照合情報Rxxでは、リストB1に、データ改ざん確認対象のファイルf1,f2のファイルパスとディレクト値との組み合わせが記載される。照合情報Rxxでは、リストB2に過不足確認対象のファイルf3のファイルパスが記載され、リストB3に過不足確認対象のディレクトリd1のディレクトリパスが記載される。なお、枠W2内のディレクトリd2は、直下にリストB1,B2不記載のファイルf4を配置するため、リストB3には記載されない。なお、アプリケーションの正常な動作の結果、直下のファイルが増減する可能性もあるため、直下にリストB1,B2記載のファイルのみを配置するディレクトリを必ずリストB3に記載するとは限らない。
照合部148は、照合情報Rxxの各リストの記載内容と、ファイルf1〜f4のファイルパス、ダイジェスト値及びディレクトリと、を照合する(矢印Y10参照)。そして、確認部149は、照合結果を基に、確認対象のファイルが確認項目A1〜A3の全てを満たすか否かを確認する。
ここで、照合部148の具体的な処理について説明する。まず、照合部148は、確認対象のうちリストB1に記載のファイルf1,f2について、照合条件C1を満たすか否かを判定する。この場合、照合部148は、ファイル管理装置3に、照合情報RxxのリストB1に記載のファイルパス「/d1/f1」が配置されているか否かを確認する。照合部148は、図15の例の場合、照合情報RxxのリストB1に記載のファイルパス「/d1/f1」がファイル管理装置3に配置されている。このため、照合部148は、ファイル管理装置3の「/d1/f1」ファイルのhash値を算出し、照合情報RxxのリストB1に記載のダイジェスト値「データ1」と照合する。
続いて、照合部148は、ファイル管理装置3に、照合情報RxxのリストB1に記載のファイルパス「/d1/f2」が配置されていることを確認し、配置されていることを確認すると、ファイル管理装置3の「/d1/f2ファイル」のhash値を算出し、照合情報RxxのリストB1に記載のダイジェスト値「データ2」と照合する。照合部148は、いずれについても算出したhash値とリストB1のダイジェスト値とが一致していた場合には、照合条件C1を満たすと判定する。
次に、照合部148は、確認対象のうちリストB2に記載のファイルf3について、照合条件C2を満たすか否かを判定する。この場合、照合部148は、ファイル管理装置3に、照合情報RxxのリストB2に記載のファイルパス「/d1/d2/f3」が配置されていることを確認する。図15の例では、照合部148は、照合情報RxxのリストB2に記載のファイルパス「/d1/d2/f3」が配置されていることを確認できるため、照合条件C2を満たすと判定する。
次に、照合部148は、リストB3に記載のディレクトリパス「/d1」について、照合条件C3を満たすか否かを判定する。この場合、照合部148は、照合情報RxxのリストB3に記載のディレクトリパス「/d1」がファイル管理装置3に配置されていることを確認する。図15の例では、照合情報RxxのリストB3に記載のディレクトリパス「/d1」がファイル管理装置3に配置されていることが確認できる。
そして、ファイル管理装置3上の「/d1」直下のファイル{d1/f1,d1/f2}について、照合部148は、以下を確認する。まず、照合部148は、「/d1」直下のファイル「/d1/f1」,「/d1/f2」が、照合情報RxxのリストB1またはリストB2に記載のファイルであるか否かを判定する。図15の例では、「/d1」直下のファイル「/d1/f1」,「/d1/f2」はいずれも、照合情報RxxのリストB1に記載のファイルパスである。このため、照合部148は、「/d1」直下のファイル「/d1/f1」,「/d1/f2」が、照合情報RxxのリストB1に記載のファイルであると判定できる。
続いて、照合部148は、「/d1」直下のディレクトリ「/d1/d2」について、照合情報RxxのリストB1またはリストB2に記載のファイルを、配下に配置するディレクトリパスであることを確認する。図15の場合には、ディレクトリ「/d1/d2」の配下にはリストB2に記載のファイルf3が配置されるため、「/d1」直下のディレクトリ「/d1/d2」について、照合情報RxxのリストB2に記載のファイルを、配下に配置するディレクトリパスであることを確認できる。すなわち、図15の例では、ディレクトリ「/d1」直下のファイルは、いずれもディレクトリ条件b31,b32を満たすため、照合部148は、照合条件C3を満たすと判定する。照合部148は、以上の照合結果を確認部149に出力する。
[確認部の処理]
次に、図15の例の場合に対する確認部149の処理について説明する。確認部149は、照合部148の照合結果を基に、確認項目A1〜A3について確認を行う。
まず、確認部149は、ファイル管理装置3に配置されたファイルが、照合情報RxxのリストB1記載の全てのリストについて、照合条件C1を満たす場合には、確認項目A1を満たすと判定する。すなわち、確認部149は、配置されるべきファイルが改ざんされてないと判定する。一方、確認部149は、ファイル管理装置3に配置されたファイルが、照合情報RxxのリストB1記載の全てのリストについて、照合条件C1を満たさない場合には、確認項目A1を満たしていないと判定する。すなわち、確認部149は、配置されるべきファイルが改ざんされていると判定する。
続いて、確認部149は、ファイル管理装置3に配置されたファイルが、照合情報RxxのリストB1記載の全てのリストについて照合条件C1を満たし、かつ、照合情報RxxのリストB2記載の全てのリストについて照合条件C2を満たす場合には、確認項目A2を満たすと判定する。すなわち、確認部149は、配置されるべきファイルが削除されてないと判定する。一方、確認部149は、ファイル管理装置3に配置されたファイルが、照合情報RxxのリストB1記載の全てのリストについて照合条件C1を満たしていない、または、照合情報RxxのリストB2記載の全てのリストについて照合条件C2を満たしていない場合には、確認項目A2を満たさないと判定する。すなわち、確認部149は、配置されるべきファイルが削除されていると判定する。
そして、確認部149は、ファイル管理装置3に配置されたファイルが、照合情報RxxのリストB3記載の全てのリストについて、照合条件C3を満たす場合には、確認項目A3を満たすと判定する。すなわち、確認部149は、配置されるべきでないファイルが追加されてないと判定する。一方、確認部149は、ファイル管理装置3に配置されたファイルが、照合情報RxxのリストB3記載の全てのリストについて、照合条件C3を満たしていない場合には、確認項目A3を満たさないと判定する。すなわち、確認部149は、配置されるべきでないファイルが追加されていると判定する。
なお、ファイル管理装置3は、複数の照合情報Rx1,Rx2,Rx3を登録しておき、複数の照合情報に対して順次または同時に照合及び確認を実施してもよい。また、ファイル管理装置3は、一つまたは複数の照合情報に対する完全性確認の順序や時刻をスケジューラ機能などに事前登録し、自動的に照合処及び確認を実施してもよい。また、ファイル管理装置3は、確認結果に基づきログやアラームなどを生成する他、エラーとなったファイルに対するアクセスを禁止する等の対処を取ってもよい。
[照合情報の生成処理の処理手順]
次に、ファイル管理装置3による照合情報の生成処理の処理手順について説明する。図16は、実施の形態に係る照合情報の生成処理の処理手順のフローチャートである。
図16に示すように、まず、共通定義情報取得部144は、共通定義情報DB2が記憶する共有の共通定義情報の少なくとも一部を取得する(ステップS1)。そして、個別定義項目抽出部145は、共通定義情報取得部144が取得した共通定義情報123から、個別定義情報125として定義すべき項目を抽出する(ステップS2)。個別定義情報入力部146は、個別定義項目抽出部145が共通定義情報123から抽出した項目を提示して(ステップS3)、個別定義情報の入力を受付ける(ステップS4)。
そして、生成部147は、共通定義情報123の共通リスト及び要素属性に基づき、個別定義情報125を参照し、照合情報122を生成する生成処理を行う(ステップS5)。生成部147は、生成した照合情報122を出力する(ステップS6)。
[照合情報生成処理の処理手順]
次に、照合情報生成処理(ステップS5)の処理手順について説明する。図17は、図6に示す照合情報生成処理の処理手順のフローチャートである。
図17に示すように、生成部147は、照合情報生成処理として、共通定義情報123と、個別定義情報125とを基に、照合情報122のリストB1の記載内容を設定するリストB1設定処理(ステップS11)を行う。続いて、生成部147は、照合情報122のリストB2の記載内容を設定するリストB2設定処理(ステップS12)を行う。続いて、生成部147は、照合情報122のリストB3の記載内容を設定するリストB3設定処理(ステップS13)を行う。
[リストB1設定処理の処理手順]
次に、リストB1設定処理(ステップS11)の処理手順について説明する。図18は、図17に示すリストB1設定処理の処理手順のフローチャートである。
生成部147は、共通定義情報123の共通リストJ1において照合情報122のリストB1に記載を定義されたファイルを参照する(ステップS21)。そして、生成部147は、ファイルごとに、共通定義情報123の必須フラグが「T」または「F」のいずれかであるかを判定する(ステップS22)。
生成部147は、このファイルの共通定義情報123の必須フラグが「T」であると判定した場合(ステップS22:T)、このファイルを照合情報122のリストB1に配置することを決定する(ステップS23)。
一方、生成部147は、このファイルの共通定義情報123の必須フラグが「F」であると判定した場合(ステップS22:F)、個別定義情報125でこのファイルのリストB1への配置が「要」または「不要」のいずれかであるかを判定する(ステップS24)。
生成部147は、個別定義情報125でこのファイルのリストB1への配置が「要」であると判定した場合(ステップS24:要)、このファイルを照合情報122のリストB1に配置することを決定する(ステップS23)。これに対し、生成部147は、個別定義情報125でこのファイルのリストB1への配置が「不要」であると判定した場合(ステップS24:不要)、このファイルを照合情報122のリストB1に配置しないことを決定する(ステップS25)。
生成部147は、ステップS23終了後、リストB1への配置を決定したファイルについて、共通定義情報123の共通リストJ1のファイルパス条件を満たすファイルパス表記を決定する(ステップS26)。そして、生成部147は、決定した表記にしたがって記載したファイルパスを照合情報122のリストB1のファイルパスとして設定する(ステップS27)。
そして、生成部147は、配置するファイルについて、共通定義情報123はダイジェスト値を定義しているか否かを判定する(ステップS28)。生成部147は、共通定義情報123はダイジェスト値を定義していると判定した場合(ステップS28:Yes)、このファイルについては、共通定義情報123において定義されたダイジェスト値を照合情報122のリストB1のダイジェスト値に設定する(ステップS29)。一方、生成部147は、共通定義情報123はダイジェスト値を定義していないと判定した場合(ステップS28:No)、このファイルのファイルデータのhash値を計算し、計算したhash値を、照合情報122のリストB1のダイジェスト値に設定する(ステップS30)。
[リストB2設定処理の処理手順]
次に、リストB2設定処理(ステップS12)の処理手順について説明する。図19は、図17に示すリストB2設定処理の処理手順のフローチャートである。
生成部147は、共通定義情報123の共通リストJ2において照合情報122のリストB2に記載を定義されたファイルを参照する(ステップS31)。そして、生成部147は、ファイルごとに、共通定義情報123の必須フラグが「T」または「F」のいずれかであるかを判定する(ステップS32)。
生成部147は、このファイルの共通定義情報123の必須フラグが「T」であると判定した場合(ステップS32:T)、このファイルを照合情報122のリストB2に配置することを決定する(ステップS33)。
一方、生成部147は、このファイルの共通定義情報123の必須フラグが「F」であると判定した場合(ステップS32:F)、個別定義情報125でこのファイルのリストB2への配置が「要」または「不要」のいずれかであるかを判定する(ステップS34)。
生成部147は、個別定義情報125でこのファイルのリストB2への配置が「要」であると判定した場合(ステップS34:要)、このファイルを照合情報122のリストB2に配置することを決定する(ステップS33)。これに対し、生成部147は、個別定義情報125でこのファイルのリストB2への配置が「不要」であると判定した場合(ステップS34:不要)、このファイルを照合情報122のリストB2に配置しないことを決定する(ステップS35)。
生成部147は、ステップS33終了後、リストB3への配置を決定したファイルについて、共通定義情報123の共通リストJ3のファイルパス条件を満たすファイルパス表記を決定する(ステップS36)。そして、生成部147は、決定した表記にしたがって記載したファイルパスを照合情報122リストB3のファイルパスとして設定する(ステップS37)。
[リストB3設定処理の処理手順]
次に、リストB3設定処理(ステップS13)の処理手順について説明する。図20は、図17に示すリストB3設定処理の処理手順のフローチャートである。
まず、生成部147は、共通定義情報123の共通リストJ3において照合情報122のリストB3に記載を定義されたディレクトリを参照する(ステップS41)。そして、生成部147は、記載を定義されたディレクトリについて、それぞれ、共通定義情報123の共通リストJ3のディレクトリパス条件を満たすディレクトリパス表記を決定し(ステップS42)する。生成部147は、決定した表記にしたがって記載したディレクトリパスを照合情報122のリストB3のディレクトリパスとして設定する(ステップS43)。
[ファイル確認処理の処理手順]
次に、ファイル管理装置3によるファイル確認処理の処理手順について説明する。図21は、実施の形態に係るファイル確認処理の処理手順のフローチャートである。
まず、ファイル管理装置3では、ファイル管理部141が、管理対象のファイルについて、ファイルパスによってファイルデータを識別し、ディレクトリによってファイルパスを分類し、ディレクトリパスによってディレクトリを識別するファイル管理工程を実行すする。また、ファイル確認部143が、確認用情報記憶部12から、ファイル集合の確認のために用いる照合情報122を取得し(ステップS51)、確認用情報記憶部12に記憶させる。
そして、照合部148は、確認対象のファイル集合に応じて、確認に用いる照合情報122を決定し、照合処理を行う(ステップS52)。照合処理は、所定の確認タイミングに達すると、配置されたファイルのファイルパス及び照合情報122が示すファイルパス、配置されたファイルのファイルデータのダイジェスト値及び照合情報122が示すファイルデータのダイジェスト値、及び、配置されたファイルのディレクトリパス及び照合情報122が示すディレクトリパス、のいずれか一つを照合する処理である。
続いて、確認部149は、照合部148による照合結果を基に、確認項目A1〜A3の少なくともいずれか一つを確認する確認処理を行い(ステップS53)、通信部13或いは出力部16が確認結果を出力する(ステップS54)。
[照合処理の処理手順]
次に、照合処理(ステップS52)の処理手順について説明する。図22は、図21に示す照合処理の処理手順を示すフローチャートである。
図22に示すように、照合部148は、照合情報122のリストB1のファイルパスとダイジェスト値との組み合わせを参照する(ステップS61)。そして、照合部148は、ファイル管理装置3にリストB1記載のファイルパスに一致する全てのファイルが配置されているか否かを確認する(ステップS62)。
照合部148は、ファイル管理装置3にリストB1記載のファイルパスに一致する全てのファイルが配置されていないこと確認した場合(ステップS62:No)、ファイル管理装置3に配置されたファイルは照合条件C1を満たさないと判定する(ステップS63)。
一方、照合部148は、ファイル管理装置3にリストB1記載のファイルパスに一致する全てのファイルが配置されていること確認した場合(ステップS62:Yes)、ファイル管理装置3に配置された各ファイルのファイルデータのhash値を計算する(ステップS64)。そして、照合部148は、ファイルごとに、リストB1のダイジェスト値と計算したhash値とを照合する(ステップS65)。照合部148は、全てのファイルについて、リストB1のダイジェスト値と計算したhash値とが一致するか否かを判定する(ステップS66)。
照合部148は、全てのファイルについて、リストB1のダイジェスト値と計算したhash値とが一致しないと判定した場合(ステップS66:No)、このファイルは照合条件C1を満たさないと判定する(ステップS63)。一方、照合部148は、全てのファイルについて、リストB1のダイジェスト値と計算したhash値とが一致すると判定した場合(ステップS66:Yes)、このファイルは照合条件C1を満たすと判定する(ステップS67)。
続いて、照合部148は、照合情報122のリストB2のファイルパスを参照する(ステップS68)。照合部148は、ファイル管理装置3に、リストB2記載の全てのファイルパスが確認対象のファイル集合内に配置されているか否かを判定する(ステップS69)。照合部148は、リストB2記載の全てのファイルパスが配置されていないと判定した場合(ステップS69:No)、照合条件C2を満たさないと判定する(ステップS70)。一方、照合部148は、リストB2記載の全てのファイルパスが配置されていると判定した場合(ステップS69:Yes)、照合条件C2を満たすと判定する(ステップS71)。
続いて、照合部148は、照合情報122のリストB3のディレクトリパスを参照する(ステップS72)。そして、照合部148は、照合情報122のリストB3の全てのディレクトリパスがファイル管理装置3に配置されているか否かを判定する(ステップS73)。照合部148は、照合情報122のリストB3の全てのディレクトリパスがファイル管理装置3に配置されていると判定した場合(ステップS73:Yes)、該ディレクトリの直下のファイルは、照合情報122のリストB1またはリストB2に記載のファイルであるか否かを判定する(ステップS75)。
照合部148は、ディレクトリの直下のファイルは、照合情報122のリストB1またはリストB2に記載のファイルでないと判定した場合(ステップS75:No)、直下のディレクトリは、リストB1,B2に記載のファイルを一つ以上配下に配置するディレクリであるか否かを判定する(ステップS76)。
照合部148は、照合情報122のリストB3の全てのディレクトリパスがファイル管理装置3に配置されていないと判定した場合(ステップS73:No)、直下のディレクトリは、リストB1,B2に記載のファイルを一つ以上配下に配置するディレクリでないと判定した場合(ステップS76:No)、照合条件C3を満たさないと判定する(ステップS74)。
これに対し、照合部148は、ディレクトリの直下のファイルは、照合情報122のリストB1またはリストB2に記載のファイルであると判定した場合(ステップS75:Yes)、または、直下のディレクトリは、リストB1,B2に記載のファイルを一つ以上配下に配置するディレクリであると判定した場合(ステップS76:Yes)、照合条件C3を満たすと判定する(ステップS77)。照合部148は、照合条件C1〜C3に対する照合結果を確認部149に出力する(ステップS78)。
[確認処理の処理手順]
次に、確認処理(ステップS53)の処理手順について説明する。図23は、図21に示す確認処理の処理手順を示すフローチャートである。
図23に示すように、確認部149は、照合部148による照合結果を取得すると(ステップS81)、ファイル管理装置3に配置されたファイルが、照合情報122のリストB1記載の全てのリストについて、照合条件C1を満たすか否かを判定する(ステップS82)。確認部149は、照合情報122のリストB1記載の全てのリストについて、照合条件C1を満たすと判定した場合(ステップS82:Yes)、配置されるべきファイルが改ざんされていないこと(確認項目A1)を確認する(ステップS83)。これに対し、確認部149は、照合情報122のリストB1記載の全てのリストについて、照合条件C1を満たしていないと判定した場合(ステップS82:No)、配置されるべきファイルがない、或いは、配置されるべきファイルが改ざんされていることを確認する(ステップS84)。
続いて、確認部149は、ファイル管理装置3に配置されたファイルが、照合情報122のリストB1記載の全てのリストについて照合条件C1を満たし、かつ、照合情報122のリストB2記載の全てのリストについて照合条件C2を満たすか否かを判定する(ステップS85)。
確認部149は、照合情報122のリストB1記載の全てのリストについて照合条件C1を満たし、かつ、照合情報122のリストB2記載の全てのリストについて照合条件C2を満たすと判定した場合には(ステップS85:Yes)、配置されるべきファイルが削除されていない(確認項目A2)と判定する(ステップS86)。これに対し、確認部149は、照合情報122のリストB1記載の全てのリストについて照合条件C1を満たし、かつ、照合情報122のリストB2記載の全てのリストについて照合条件C2を満たしていないと判定した場合には(ステップS85:No)、配置されるべきファイルが削除されていると判定する(ステップS87)。
そして、確認部149は、ファイル管理装置3に配置されたファイルが、照合情報122のリストB3記載の全てのリストについて、照合条件C3を満たすか否かを判定する(ステップS88)。確認部149は、照合情報122のリストB3記載の全てのリストについて、照合条件C3を満たすと判定した場合(ステップS88:Yes)、配置されるべきでないファイルが追加されてない(確認項目A3)と判定する(ステップS89)。確認部149は、照合情報122のリストB3記載の全てのリストについて、照合条件C3を満たさないと判定した場合(ステップS88:No)、配置されるべきでないファイルが追加されていると判定する(ステップS90)。
続いて、確認部149は、確認結果を作成し(ステップS91)、通信部13又は出力部16に出力して確認処理を終了する。
[実施の形態の効果]
このように、本実施の形態に係るファイル管理装置3は、事前に作成された共有の共通定義情報123の少なくとも一部を基に、このファイル管理装置3に適合する照合情報122を生成する。すなわち、本実施の形態に係るファイル管理装置3は、共有の共通定義情報に加え、当該ファイル管理装置3に応じて個別に備えるべき条件を示す個別定義情報125を用いて、個別定義情報125と共通定義情報123とをともに満たす照合情報を生成する。
言い換えると、本実施の形態に係るファイル管理装置3では、管理者が入力する個別定義情報と、外部から取得した共有の共通定義情報123の少なくとも一部とを用いて、照合情報122を生成する。したがって、本実施の形態に係るファイル管理装置3によれば、管理者が入力する情報は、ファイルの一部を変更したファイル等に関する個別定義情報のみでよく、照合情報作成に関する管理者の負担を低減することができる。これによって、本実施の形態では、ファイル管理装置3の管理者による照合情報作成コストも軽減できる。
そして、従来では、ソフトウェアパッケージに属するファイルの一部を変更可能である場合、ソフトウェアの提供元は、このようなファイルに対する正確な照合情報を提供できない場合があった。この場合、システム管理者は、一部を変更可能なファイルについての照合情報を取得することができず、ファイルの完全性を確認できないという問題があった。
例えば、従来では、ソフトウェアパッケージに属するファイルのファイルパスの一部をカスタマイズ可能な場合(prefix指定、ワイルドカード指定等)、ソフトウェア提供元は、これらのファイルの照合情報のリストB1〜B3のファイルパスを指定できない場合があった。
これに対し、本実施の形態では、ソフトウェア提供者は、照合情報のリストB1〜B3のファイルパスに対して、要素属性E2にファイルパス条件を示す共通定義情報G1〜G3を作成して提供する。そして、ファイル管理装置3の管理者は、共通定義情報の定義D1のファイルパス条件を満たす範囲で、管理対象のファイルのファイルパスを決定する。そして、ファイル管理装置3の管理者は、このように決定したファイルパスを照合情報122のリストB1〜B3のファイルパスに指定する。このため、本実施の形態では、照合情報のリストB1〜B3のファイルパスを滞りなく決定することができる。
また、例えば、従来では、ソフトウェアパッケージに属するファイルの一部を、インストール時に削除することが可能な場合(マニュアルファイル等)、ソフトウェア提供元は、これらのファイルを照合情報のリストB2,B3に掲載するか否かを判断できない。
これに対し、本実施の形態では、ソフトウェア提供者は、照合情報のリストB1,B2のファイルに対して、共通定義情報の要素属性E2の必須フラグを作成して提供する。ファイル管理装置3の管理者は、共通定義情報の定義D2の必須フラグが「否(F)」のファイルについて、インストールするか否かを決定し、インストールしないことに決定したファイルを照合情報のリストB1,B2から削除する。このため、本実施の形態では、照合情報のリストB1,B2に掲載するファイルの決定を滞りなく実行できる。
また、例えば、従来では、ソフトウェアパッケージに属するファイルデータの一部を、インストール時に変更することが可能な場合(設定ファイル等)、ソフトウェア提供元はこれらのファイルの照合情報のリストB1のファイルデータのダイジェスト値を指定できない場合があった。
これに対し、本実施の形態では、ソフトウェア提供者は、照合情報のリストB1のファイルに対して、共通定義情報の要素属性E3である固定値フラグを作成して提供する。ファイル管理装置3の管理者は、共通定義情報のE3の固定値フラグが「否(F)」のファイルについて、データを変更するか否かを決定し、変更することに決定したファイルのダイジェスト値を照合情報のリストB1のダイジェスト値に設定する。このため、本実施の形態では、照合情報のリストB1のファイルデータのダイジェスト値の決定を滞りなく実行できる。
このように、本実施の形態では、ファイル管理装置3においてソフトウェアパッケージに属するファイルの一部が変更された場合であっても、ファイル管理装置3は、この変更したソフトウェアパッケージに対する正確な照合情報を生成できる。したがって、本実施の形態によれば、ファイル管理装置3においてソフトウェアパッケージに属するファイルの一部を変更した場合であっても、配置されたファイルに適合する照合情報を用いて、ファイルの完全性を正確に確認できる。
また、本実施の形態では、照合情報の全てをソフトウェア提供者及びファイル管理装置3の管理者に決定させるのではない。本実施の形態によれば、対応可能である一部の情報をソフトウェア提供者及びファイル管理装置3の管理者が設定するのみで、ファイル管理装置3に適した照合情報を生成可能である。したがって、本実施の形態によれば、ファイル管理装置3の管理者に加え、ソフトウェア提供者の負担も低減することができる。
また、本実施の形態では、照合情報122として、配置されるべきであるファイルであり、かつ、ファイルデータが変化しないファイルのファイルパスとファイルデータのダイジェスト値との組み合わせを示すリストB1を有する照合情報を用いる。そして、本実施の形態では、配置されたファイルのファイルパス及び照合情報122が示すファイルパス、配置されたファイルのファイルデータのダイジェスト値及び照合情報122が示すファイルデータのダイジェスト値を照合し、配置されるべきファイルが改ざんされてないことを確認している。したがって、本実施の形態によれば、ファイル管理装置3の管理者の負担なく、ファイルの過不足を確認することが可能になる。
そして、本実施の形態では、照合情報122として、配置されるべきファイルであり、かつ、ファイルデータが変化しうるファイルのファイルパスを示すリストB2を有する照合条件を用いる。そして、本実施の形態では、照合情報122として、直下のファイルは同じ照合情報に属するリストB1またはリストB2に記載のファイルである第1のディレクトリ条件、直下のディレクトリは同じ照合情報に属するリストB1またはリストB2に記載のファイルを一つ以上配下に配置するディレクトリである第2のディレクトリ条件、直下に第1のディレクトリ条件または第2のディレクトリ条件に該当しないファイルまたはディレクトリを配置しない第3のディレクトリ条件を満たすディレクトリのディレクトリパスを示すリストB3、を有する照合情報を用いる。
そして、本実施の形態では、配置されたファイルのファイルパス及び照合情報122が示すファイルパス、配置されたファイルのディレクトリパス及び照合情報122が示すディレクトリパス、ディレクトリ条件を照合することによって、ログファイル等のダイジェスト値を定義できないファイル、及び、ディレクトリの過不足確認を適切に行うことができる。
このように、実施の形態によれば、ファイル管理に関するファイル管理装置3の管理者の負担を低減するとともに、管理対象のファイルに応じた適正な照合情報を用いてファイルを正確に確認することができる。
[実施の形態の変形例1]
実施の形態として、ファイル管理装置3が、確認項目A1〜A3の全てを確認する場合について説明したが、もちろん、ファイル管理装置3は、確認項目A1〜A3のいずれかを選択して確認を行ってもよい。その場合には、確認対象の確認項目によって使用する照合情報のリストの組み合わせが異なる。言い換えると、ファイル管理装置3は、取得した照合情報122が有するリストB1〜B3の組み合わせに応じて、確認項目A1と、確認項目A2,A3との少なくともいずれか一つを確認する。
図24は、図2に示す対応関係情報127のデータ構成の一例を示す図である。図24に示すように、対応関係情報127は、改ざん確認(確認項目A1)、過不足確認(確認項目A2,A3)の確認をする、または、しない、の組み合わせに応じて、照合情報のリストB1〜B3が必要、または、不要であるかを対応付けている。
上述したように、改ざん確認(確認項目A1)、過不足確認(確認項目A2,A3)のいずれについても実行する場合には、1行目の方法1に示すように、照合情報122のリストB1〜B3の全てが必要である。また、改ざん確認(確認項目A1)のみを実行する場合には、2行目の方法2に示すように、リストB1のみが必要である。また、過不足確認(確認項目A2,A3)のみを実行する場合には、3行目の方法3に示すように、リストB2,B3のみが必要である。なお、改ざん確認(確認項目A1)、過不足確認(確認項目A2,A3)のいずれについても実行しない場合には、4行目に示すように、リストB1〜B3のいずれも不要である。このように、ファイル管理装置3は、確認項目の組み合わせに応じて、必要となるリストB1〜B3を取得すればよい(確認項目決定方法1)。一方、取得可能な照合情報、すなわち、作成・配布された照合情報にリストB1,B2,B3全てが備わっておらず、リストB1のみ、リストB2,B3のみ、といったケースが存在し、これらのケースにおいて実施可能な確認項目を確認する方法もある(確認項目決定方法2)。例えば、リストB1のみの照合情報であれば、確認項目A1のみ確認し、リストB2、B3のみの照合情報であれば、確認項目A2,A3のみを確認する。確認項目決定方法1と確認項目決定方法2は矛盾しないため、1つのシステムで両方実現可能であるが、確認項目決定方法2のみを実施するシステムであってもよい。
[実施の形態の変形例2]
次に、実施の形態の変形例2について説明する。図25は、実施の形態の変形例2における照合情報の生成処理を説明する図である。図25に示すように、{prefix}は、共通定義情報Gx、個別定義情報Cx、照合情報RxxのリストB1〜B3において共通の値である。
共通定義情報Gxでは、ファイルパス条件及びディレクトリパス条件は、照合情報のリストB1、リストB2及びリストB3に記載するファイルまたはディレクトリの全体または一部を、prefix範囲と定義する。そして、共通定義情報Gxでは、ファイルパス条件及びディレクトリパス条件は、prefix範囲を当該ファイル管理装置3で個別に決定したディレクトリパス(prefix)の配下に配置することを許可する。さらに、共通定義情報Gxでは、ファイルパス条件及びディレクトリパス条件は、ディレクトリパス(prefix)以外は、ファイル管理装置3で個別に決定することを許可しない。
例えば、照合情報Rxxのファイルパスの作成処理を例に説明する。共通定義情報Gxは、ファイルパスの一部をprefix定義する(図25の(1)参照)。また、個別定義情報Lxxでは、prefixの値を定義する(図25の(2)参照)。生成部147は、共通定義情報Gxでは、ファイルパス条件にしたがい、共通定義情報Gxと個別定義情報Lxxの定義からファイルパスを作成する。具体的には、ファイル「#11」については、共通定義情報Gxは、ファイル「#11」のファイルパスを「/[prefix1]/f11」と定義する。そして、個別定義情報Lxxでは、prefixの値を「dc」と定義する。生成部147は、共通定義情報Gxと個別定義情報Lxxの定義から、ファイル「#11」のファイルパスとして「/dc/f11」を作成する(図25の(3)参照)。なお、照合情報Rxxにおいて、複数のprefixを定義することもできる。例えば、2つのprefix(例:prefix1,prefix2)を定義することにより、個別にディレクトリパスを決定した2つのディレクトリ配下のファイル集合を定義することができる。
図26は、実施の形態の変形例2における照合情報の生成処理の他の例を説明する図である。図26に示すように、{wildcard}は、共通定義情報Gx、個別定義情報Cx、照合情報RxxのリストB1〜B3において任意の値であり、共通である必要はない。
共通定義情報Gxでは、ファイルパス条件及びディレクトリパス条件は、照合情報のリストB1、リストB2及びリストB3に記載するファイルパスまたはディレクトリパスを構成する文字列の一部をワイルドカード部分と定義する。そして、共通定義情報Gxでは、ワイルドカード部分を当該ファイル管理装置3で個別に決定した任意の文字列に置換することを許可する。そして、共通定義情報Gxでは、ワイルドカード部分以外は当該ファイル管理装置で個別に決定することを許可しない。
例えば、照合情報Rxxのファイルパスの作成処理を例に説明する。共通定義情報Gxは、ファイルパスの一部をワイルドカード定義する(図26の(1)参照)。また、個別定義情報Lxxでは、ワイルドカードの値を定義する(図26の(2)参照)。生成部147は、共通定義情報Gxでは、ファイルパス条件にしたがい、共通定義情報Gxと個別定義情報Lxxの定義からファイルパスを作成する(図26の(3)参照)。具体的には、ファイル「#12」については、共通定義情報Gxは、ファイル「#12」のファイルパスを「/d2/[wildcard12].exe」と定義する。そして、個別定義情報Lxxでは、ファイル「#12」のファイルパスについて、「[wildcard12]=“fc12”」と定義する。生成部147は、共通定義情報Gxと個別定義情報Lxxの定義から、ファイル「#12」のファイルパスとして「/d2/fc12.exe」を作成する。
図27は、実施の形態の変形例2における照合情報の生成処理の他の例を説明する図である。図27に示すように、正規表現は、共通定義情報Gx、個別定義情報Lxx、照合情報RxxのリストB1〜B3において任意の値であり、共通である必要はない。
共通定義情報Gxでは、ファイルパス条件及びディレクトリパス条件は、照合情報のリストB1、リストB2及びリストB3に記載するファイルパスまたはディレクトリパスを構成する文字列を、正規表現によって定義する。
例えば、照合情報Rxxのファイルパスの作成処理を例に説明する。共通定義情報Gxは、ファイルパスの一部を正規表現定義する(図27の(1)参照)。また、個別定義情報Lxxでは、正規表現の値を定義する(図27の(2)参照)。生成部147は、共通定義情報Gxでは、ファイルパス条件にしたがい、共通定義情報Gxと個別定義情報Lxxの定義からファイルパスを作成する(図27の(3)参照)。具体的には、ファイル「#12」については、共通定義情報Gxは、ファイル「#12」のファイルパスを「/d2/f12.*\.exe」とし、一部を正規表現による任意文字列「.*」で定義する。そして、個別定義情報Lxxでは、ファイル「#12」のファイルパスについて、任意文字列の値を「“test”」と定義する。生成部147は、共通定義情報Gxと個別定義情報Lxxの定義から、ファイル「#12」のファイルパスとして「/d2/f12test.exe」を作成する。
ここで、従来技術(例えば、非特許文献1,2記載の機能)では、ソフトウェアパッケージに属するファイルのファイルパスの一部をカスタマイズ可能な場合(prefix指定、ワイルドカード指定、等)、ソフトウェア提供元は、これらのファイルの照合情報のファイルパスを指定できない。
これに対し、本実施の形態の変形例2では、ソフトウェア提供者は、一部に対し、prefix定義、ワイルドカード定義或いは正規表現定義を行った共通定義情報を提供する。そして、ファイル管理装置3の管理者は、共通定義情報のファイルパス条件及びディレクトリパス条件を満たす範囲で、prefix、ワイルドカード或いは正規表現の値を入力するのみで、決定する。そして、ファイル管理装置3の管理者は、このように決定したファイルパスを照合情報122のリストB1〜B3のファイルパスに指定する。このため、本実施の形態では、ソフトウェアパッケージに属するファイルのファイルパスの一部にprefix指定やワイルドカード指定が行なわれた場合であっても、照合情報のリストB1〜B3のファイルパスを滞りなく決定することができる。
[実施の形態の変形例3]
次に、実施の形態の変形例3について説明する。図28は、実施の形態に係るファイル管理装置を有する管理システムの他の概略構成を示す模式図である。図28に示すように、実施の形態の変形例に係る管理システムは、各ファイル管理装置203X〜203Zとは別に、照合情報生成装置202を有する構成である。また、複数のファイル管理装置203X〜203Zについて、特に区別なく説明する場合には、ファイル管理装置203と記載する。
照合情報生成装置202は、共有定義情報DB2から共有の共通定義情報を取得する(矢印Y21参照)。そして、照合情報生成装置202は、ファイル管理装置203X〜203Zの管理者による入力情報等を基に、個別に備えるべき条件を示す個別定義情報を取得する。そして、照合情報生成装置202は、各ファイル管理装置203X〜203Zに対応する照合情報を生成し、それぞれ対応する照合情報をファイル管理装置203X〜203Zに出力する(矢印Y22〜Y24参照)。各ファイル管理装置203X〜203Zは、照合情報生成装置202がそれぞれ生成した照合情報を使用してファイル管理を行う。なお、図28では、共通定義情報DB2の配下に1つの照合情報生成装置202を記載しているが、より一般的な構成においては、共通定義情報DB2は、異なるシステムに属する複数の照合情報生成装置202に対して、共通定義情報を提供する。
[照合情報生成装置の構成]
図29は、図28に示す照合情報生成装置202の概略構成を示す模式図である。図29に示すように、照合情報生成装置202は、図2に示すファイル管理装置2と比して、制御部42に代えて、照合情報生成部142を有する制御部214を有する。また、照合情報生成装置202は、照合情報122、共通定義情報123、項目抽出情報124、個別定義情報125を確認用情報記憶部12に記憶する。共通定義情報123は、共有の共通右定義情報DB2から取得される。個別定義情報125は、通信部13等を介して入力されたファイル管理装置203X〜203Zの管理者による入力情報に基づく。
照合情報生成装置202は、図16〜図20までの処理手順を実行することによって、照合情報生成対象のファイル管理装置203X〜203Zごとに照合情報を生成し、対象となるファイル管理装置203X〜203Zに、生成した照合情報を出力する。
[ファイル管理装置の構成]
図30は、図28に示すファイル管理装置203の構成である。ファイル管理装置203は、図2に示すファイル管理装置2と比して、制御部42に代えて、ファイル管理部141及びファイル確認部143を有する制御部314を有する。また、照合情報生成装置202は、ファイル管理に用いる確認内容情報121、照合情報122、条件情報126、対応関係情報127を確認用情報記憶部12に記憶する。ファイル管理装置203は、照合情報生成装置202から出力された照合情報を用い、図21〜図23までの処理手順を実行することによって、ファイルの完全性を確認する。
本実施の形態に係る管理システムは、この変形例1のように、ファイル管理装置203と別個に照合情報生成装置202を設け、1台の照合情報生成装置202が複数のファイル管理装置203の照合情報を生成する構成であってもよい。
[実施の形態のシステム構成について]
図1に示したファイル管理装置3,203、照合情報生成装置202と各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、ファイル管理装置3,203、照合情報生成装置202の機能の分散及び統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
また、ファイル管理装置3,203、照合情報生成装置202においておこなわれる各処理は、全部または任意の一部が、CPU、GPU(Graphics Processing Unit)、及び、CPU、GPUにより解析実行されるプログラムにて実現されてもよい。また、ファイル管理装置3,203、照合情報生成装置202においておこなわれる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。
また、実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的に行うこともできる。もしくは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述及び図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。
[プログラム]
図31は、プログラムが実行されることにより、ファイル管理装置3,203、照合情報生成装置202が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、ファイル管理装置3,203、照合情報生成装置202の各処理を規定するプログラムは、コンピュータ1000により実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、ファイル管理装置3,203、照合情報生成装置202における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSDにより代替されてもよい。
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例及び運用技術等は全て本発明の範疇に含まれる。