(57)【要約】【課題】ファイル管理に関する管理者の負担を低減するとともに、管理対象のファイルに応じた適正かつ効率的に生成された照合情報を用いてファイルを正確に確認することができる。【解決手段】ファイル管理システム１は、共有の共通定義情報を記憶する装置から、取得装置に入力された共通定義情報の識別情報に対応する共通定義情報を取得する共通定義情報取得部と、取得した共通定義情報と管理するファイルとを比較し、共通定義情報の条件に全て合致するファイルが有るか否かを判別する共通定義情報判別部と、判別結果を基にファイル管理装置が管理するファイルに対応する共通定義情報を照合情報生成装置４に出力する出力制御部とを有する共通定義情報取得装置３を有する。【選択図】図１
2020071560.tif 000002
【特許請求の範囲】
【請求項１】
配置されたファイルを管理する管理装置と、ファイルの改ざん確認或いは過不足確認の際に前記管理装置が照合する照合情報を生成する生成装置と、前記生成装置が照合情報の生成に使用する情報を取得する取得装置とを有する管理システムであって、
前記取得装置は、
前記照合情報に記載する可能性のあるファイル及びディレクトリのリストである共通リストの定義と、個別のファイル管理装置において、前記照合情報のファイル及びディレクトリのリストの要素を決定する条件である要素属性の定義と、を示す共有の共通定義情報を記憶する装置から、前記取得装置に入力された共通定義情報の識別情報に対応する共通定義情報を取得する第１の取得部と、
前記第１の取得部が取得した共通定義情報と、前記ファイル管理装置が管理するファイルとを比較し、前記共通定義情報の条件に全て合致するファイルが有るか否かを判別する判別部と、
前記判別部による判別結果を基に、前記第１の取得部が取得した共通定義情報のうち前記ファイル管理装置が管理するファイルに対応する共通定義情報を前記生成装置に出力する出力部と、
を有することを特徴とする管理システム。
【請求項２】
前記第１の取得部は、前記取得装置に入力された共通定義情報の識別情報に関連する他の識別情報をさらに取得し、前記取得装置に入力された共通定義情報の識別情報及び前記他の識別情報を基に、前記共通定義情報を取得することを特徴とする請求項１に記載の管理システム。
【請求項３】
前記生成装置は、
前記取得装置が出力した共通定義情報の少なくとも一部を取得する第２の取得部と、
前記第２の取得部が取得した共通定義情報の共通リスト及び要素属性に基づいて、照合情報として、配置されるべきであるファイルであり、かつ、ファイルデータが変化しないファイルのファイルパスとファイルデータのダイジェスト値との組み合わせを示す第１のリスト、配置されるべきファイルであり、かつ、ファイルデータが変化しうるファイルのファイルパスを示す第２のリスト、及び、直下のファイルは同じ照合情報に属する前記第１のリストまたは前記第２のリストに記載のファイルである第１のディレクトリ条件、直下のディレクトリは同じ照合情報に属する前記第１のリストまたは前記第２のリストに記載のファイルを一つ以上配下に配置するディレクトリである第２のディレクトリ条件、直下に前記第１のディレクトリ条件または前記第２のディレクトリ条件に該当しないファイルまたはディレクトリを配置しない第３のディレクトリ条件を満たすディレクトリのディレクトリパスを示す第３のリスト、を有する照合情報を生成する生成部と、
を有することを特徴とする請求項１または２に記載の管理システム。
【請求項４】
前記生成装置は、前記ファイル管理装置に配置されるべきファイルに対して前記ファイル管理装置に応じて個別に備えるべき条件を示す情報である個別定義情報として設定すべき値を、前記ファイル管理装置に存在するファイルの状態に合わせて設定することを特徴とする請求項３に記載の管理システム。
【請求項５】
ファイルの改ざん確認或いは過不足確認の際に照合する照合情報の生成に使用する情報を取得する取得装置であって、
前記照合情報に記載する可能性のあるファイル及びディレクトリのリストである共通リストの定義と、個別のファイル管理装置において、前記照合情報のファイル及びディレクトリのリストの要素を決定する条件である要素属性の定義と、を示す共有の共通定義情報を記憶する装置から、前記取得装置に入力された共通定義情報の識別情報に対応する共通定義情報を取得する取得部と、
前記取得部が取得した共通定義情報と、前記ファイル管理装置が管理するファイルとを比較し、前記共通定義情報の条件に全て合致するファイルが有るか否かを判別する判別部と、
前記判別部による判別結果を基に、前記取得部が取得した共通定義情報のうち管理対象のファイルに対応する共通定義情報を出力する出力部と、
を有することを特徴とする取得装置。
【請求項６】
配置されたファイルを管理する管理装置と、ファイルの改ざん確認或いは過不足確認の際に前記管理装置が照合する照合情報を生成する生成装置と、前記生成装置が照合情報の生成に使用する情報を取得する取得装置とを有する管理システムが実行する管理方法であって、
前記取得装置が、前記照合情報に記載する可能性のあるファイル及びディレクトリのリストである共通リストの定義と、個別のファイル管理装置において、前記照合情報のファイル及びディレクトリのリストの要素を決定する条件である要素属性の定義と、を示す共有の共通定義情報を記憶する装置から、前記取得装置に入力された共通定義情報の識別情報に対応する共通定義情報を取得する工程と、
前記取得装置が、取得した前記共通定義情報と、前記ファイル管理装置が管理するファイルと、を比較し、前記共通定義情報の条件に全て合致するファイルが有るか否かを判別する工程と、
前記取得装置が、判別結果を基に、前記取得する工程において取得した共通定義情報のうち前記ファイル管理装置が管理するファイルに対応する共通定義情報を前記生成装置に出力する工程と、
を含んだことを特徴とする管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理システム、取得装置及び管理方法に関する。
【背景技術】
【０００２】
従来、デジタルコンテンツの基準要約値を作成し、コンテンツの改ざんチェックを行うデジタルコンテンツの改ざん監視装置が提案されている（例えば、特許文献１参照）。この改ざん監視装置は、Ｗｅｂコンテンツの他、ファイル集合の改ざんや不足も監視している。この装置では、システム管理者が、クリーンな環境のスナップショットを作成し、これを照合情報としている。
【０００３】
また、ソフトウェア提供元がソフトウェアを構成するファイル集合の完全性を確認するデータを提供する機能として、ＵＮＩＸ（登録商標）系オペレーティングシステムに標準搭載されているソフトウェアパッケージの管理機能であるＲＰＭがある（例えば、非特許文献１，２参照）。ＲＰＭは、パッケージごとにファイルのダイジェストや署名が提供されて、ＲＰＭデータベースに登録する。そして、ＲＰＭでは、ファイルシステムにインストールされたファイルと、データベースのダイジェスト値とを照合することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−２６５２１７号公報
【非特許文献】
【０００５】
【非特許文献１】RPM  Package  Manager，［online］，［平成３０年９月１９日検索］，インターネット＜ＵＲＬ：http://rpm.org/＞
【非特許文献２】All  you  have  to  know  about  RPM，［online］，［平成３０年９月１９日検索］，インターネット＜ＵＲＬ：http://fedoranews.org/alex/tutorial/rpm/14.shtml＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術では、ファイル管理に関して管理者の負担が重いという問題がある。また、従来技術では、ログファイル等のダイジェスト値を定義できないファイルの過不足を確認できない場合や、過不足確認するべきでないディレクトリを管理対象から除外できない場合があり、管理対象のファイルを正確に確認することが難しい場合があるという問題がある。また、従来技術では、ソフトウェアパッケージに属するファイルの一部を変更可能である場合、ソフトウェアの提供元は、このようなファイルに対する正確な照合情報を提供できず、管理者はファイルの完全性を正確に確認できないという問題があった。
【０００７】
具体的には、特許文献１記載の装置では、各システムでシステム運用者自身がスナップショットの作成及びメンテナンスを行う必要があり、システムでシステム運用者の負担及びトータルコストが高くなる上に、システム運用者の技量に頼るところが多いため、一定の正確性が保持できない場合があった。
【０００８】
特許文献１記載の装置では、このスナップショットにはデータ確認するべきでないファイルが含まれる。例えば、ログファイルやデータベースなどである。これらを照合情報から除外しなければ誤検知が生じる。しかしながら、これらを抽出するには、管理者がソフトウェアの動作仕様を熟知する必要があり、難しい場合があった。
【０００９】
また、特許文献１記載の装置では、スナップショットには過不足確認するべきでないディレクトリが含まれる。例えば、ソフトウェアの正当な動作によって追加削除されるファイルなどである。これらを照合情報から除外しなければ誤検知が生じる。しかしながら、これらを抽出するには管理者がソフトウェアの動作仕様を熟知する必要があり、難しい。このように、従来技術では、ファイル管理に関して管理者の負担が重くい上に、管理対象のファイルを正確に確認することが難しい場合があるという問題があった。
【００１０】
また、非特許文献１，２記載の機能では、ソフトウェアパッケージに属するファイルのファイルパスの一部をカスタマイズ可能な場合（prefix指定、ワイルドカード指定、等）、ソフトウェア提供元は、これらのファイルの照合情報のファイルパスを指定できない。また、非特許文献１，２記載の機能では、ソフトウェアパッケージに属するファイルの一部を、インストール時に削除することが可能な場合（マニュアルファイル等）、ソフトウェア提供元は、これらのファイルを照合情報に掲載するか否かを判断できない。さらに、非特許文献１，２記載の機能では、ソフトウェアパッケージに属するファイルデータの一部を、インストール時に変更することが可能な場合（設定ファイル等）、ソフトウェア提供元はこれらのファイルの照合情報のファイルデータのダイジェスト値を指定できない。したがって、従来技術では、ソフトウェアパッケージに属するファイルの一部を変更可能である場合、ソフトウェアの提供元は、このようなファイルに対する正確な照合情報を提供できなかった。
【００１１】
本発明は、上記に鑑みてなされたものであって、ファイル管理に関する管理者の負担を低減するとともに、管理対象のファイルに応じた適正かつ効率的に生成された照合情報を用いてファイルを正確に確認することができる管理システム、取得装置及び管理方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するために、本発明に係る管理システムは、配置されたファイルを管理する管理装置と、ファイルの改ざん確認或いは過不足確認の際に管理装置が照合する照合情報を生成する生成装置と、生成装置が照合情報の生成に使用する情報を取得する取得装置とを有する管理システムであって、取得装置は、照合情報に記載する可能性のあるファイル及びディレクトリのリストである共通リストの定義と、個別のファイル管理装置において、照合情報のファイル及びディレクトリのリストの要素を決定する条件である要素属性の定義と、を示す共有の共通定義情報を記憶する装置から、取得装置に入力された共通定義情報の識別情報に対応する共通定義情報を取得する第１の取得部と、取得部が取得した共通定義情報と、ファイル管理装置が管理するファイルとを比較し、共通定義情報の条件に全て合致するファイルが有るか否かを判別する判別部と、判別部による判別結果を基に、取得部が取得した共通定義情報のうちファイル管理装置が管理するファイルに対応する共通定義情報を生成装置に出力する出力部と、を有することを特徴とする。
【００１３】
また、本発明に係る取得装置は、ファイルの改ざん確認或いは過不足確認の際に照合する照合情報の生成に使用する情報を取得する取得装置であって、照合情報に記載する可能性のあるファイル及びディレクトリのリストである共通リストの定義と、個別のファイル管理装置において、照合情報のファイル及びディレクトリのリストの要素を決定する条件である要素属性の定義と、を示す共有の共通定義情報を記憶する装置から、取得装置に入力された共通定義情報の識別情報に対応する共通定義情報を取得する取得部と、取得部が取得した共通定義情報と、ファイル管理装置が管理するファイルとを比較し、共通定義情報の条件に全て合致するファイルが有るか否かを判別する判別部と、判別部による判別結果を基に、取得部が取得した共通定義情報のうち管理対象のファイルに対応する共通定義情報を出力する出力部と、を有することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、ファイル管理に関する管理者の負担を低減するとともに、管理対象のファイルに応じた適正かつ効率的に生成された照合情報を用いてファイルを正確に確認することができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施の形態に係るファイル管理装置を有する管理システムの概略構成を示す模式図である。
【図２】図２は、図１に示す共通定義情報取得装置の概略構成を示す模式図である。
【図３】図３は、図２に示す共通定義情報が定義する内容を説明する図である。
【図４】図４は、図２に示す共通定義情報が定義する要素属性を説明する図である。
【図５】図５は、図２に示す共通定義情報の一例を示す図である。
【図６】図６は、共通定義情報の識別子の一例を説明する図である。
【図７】図７は、共通定義情報の識別子の一例を説明する図である。
【図８】図８は、共通定義情報データベース（ＤＢ）が記憶する共通定義情報の一例を示す図である。
【図９】図９は、図１に示すファイル管理装置が管理するファイル（ソフトウェア）を説明する図である。
【図１０】図１０は、実施の形態に係る共通定義情報取得処理の処理手順を示すフローチャートである。
【図１１】図１１は、図１０に示す共通定義情報判別処理の処理手順を示すフローチャートである。
【図１２】図１２は、図１に示す照合情報生成装置の概略構成を示す模式図である。
【図１３】図１３は、図１２に示す照合情報が有するリストの内容を説明する図である。
【図１４】図１４は、図１２に示す照合情報の一例を示す図である。
【図１５】図１５は、図１２に示す項目抽出情報について説明する図である。
【図１６】図１６は、図１２に示す個別定義情報を説明する図である。
【図１７】図１７は、図１２に示す個別定義情報の一例を示す図である。
【図１８】図１８は、図１２に示す生成部による照合情報の生成処理を説明する図である。
【図１９】図１９は、実施の形態に係る照合情報の生成処理の処理手順のフローチャートである。
【図２０】図２０は、図１９に示す照合情報生成処理の処理手順のフローチャートである。
【図２１】図２１は、図２０に示すリストＢ１設定処理の処理手順のフローチャートである。
【図２２】図２２は、図２０に示すリストＢ２設定処理の処理手順のフローチャートである。
【図２３】図２３は、図２０に示すリストＢ３設定処理の処理手順のフローチャートである。
【図２４】図２４は、図１に示す照合情報生成装置が実行する個別定義情報設定処理の処理手順を示すフローチャートである。
【図２５】図２５は、図１に示すファイル管理装置の概略構成を示す模式図である。
【図２６】図２６は、図２５に示す確認内容情報のデータ構成の一例を示す図である。
【図２７】図２７は、図２５に示す条件情報について説明する図である。
【図２８】図２８は、図２５に示す照合部の処理を説明する図である。
【図２９】図２９は、図２５に示す照合部の処理を説明する図である。
【図３０】図３０は、実施の形態に係るファイル確認処理の処理手順のフローチャートである。
【図３１】図３１は、図３０に示す照合処理の処理手順を示すフローチャートである。
【図３２】図３２は、図３０に示す確認処理の処理手順を示すフローチャートである。
【図３３】図３３は、図２５に示す対応関係情報のデータ構成の一例を示す図である。
【図３４】図３４は、実施の形態の変形例２における照合情報の生成処理を説明する図である。
【図３５】図３５は、実施の形態の変形例２における照合情報の生成処理の他の例を説明する図である。
【図３６】図３６は、実施の形態の変形例２における照合情報の生成処理の他の例を説明する図である。
【図３７】図３７は、プログラムが実行されることにより、ファイル管理システムが有する各装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して、本発明の一実施の形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１７】
［実施の形態］
まず、実施の形態に係る管理システムについて、概略構成、ファイル確認処理の流れ及び具体例を説明する。本実施の形態に係る管理システムは、事前に作成された共有の共通定義情報から、管理対象のファイルに対応する共通定義情報を取得する。そして、本実施の形態に係る管理システムは、取得した共通定義情報と、装置個別の定義情報とを基に装置に適用するための照合情報を作成し、該照合情報を用いて、ファイルの改ざん、ファイルの削除、データベースに配置されるべきでないファイルの追加のいずれか一つを確認する。
【００１８】
図１は、実施の形態に係る管理システムの概略構成を示す模式図である。図１に示すように、実施の形態に係る管理システム１は、共通定義情報データベース（ＤＢ）２と、共通定義情報取得装置３（取得装置）とが接続し、共通定義情報取得装置３の後段に、照合情報生成装置４（生成装置）と、ファイル管理装置５（管理装置）とが配置する構成を有する。
【００１９】
共通定義情報ＤＢ２は、共有の共通定義情報（例えば、共通定義情報Ｇ１，Ｇ２，Ｇ３）を有する。共有の共通定義情報Ｇ１，Ｇ２，Ｇ３は、例えば、ソフトウェア提供者によって作成され、提供される。なお、共有の共通定義情報Ｇ１，Ｇ２，Ｇ３の保管及び流通は、集中管理方式に限らず、種々の既存手段を適用することが可能である。
【００２０】
ファイル管理装置５は、配置（インストール）された複数のファイルＦを管理する。ファイル管理装置５は、一般的なオペレーティングシステムを搭載したＰＣ（Personal  Computer）やサーバ装置等である。なお、図１に示すファイル管理装置５の数は、一例であり、これに限られるものではない。
【００２１】
ファイル管理装置５が管理するファイル集合は、具体的には、ソフトウェアパッケージを構成するファイル集合である。ファイル集合は、例えば、プログラムを実行するプログラムファイルや、プログラムファイルの実行順序を既定する設定ファイルを含む。これらのファイル集合のファイルパスやディレクトリ構造は、インストール先によらず共通であることが多い。そして、プログラムファイル等は、インストール先によらず同じデータであることが多い。これに対し、設定ファイル等はインストール先に応じてデータを編集することが多い。ファイル管理装置５は、管理対象のファイルについて、ファイルパスによってファイルデータを識別し、ディレクトリによってファイルパスを分類し、ディレクトリパスによってディレクトリを識別する。
【００２２】
共通定義情報取得装置３は、照合情報生成装置４が照合情報の生成に使用する共通定義情報を取得する。共通定義情報取得装置３は、入力された共通定義情報の識別子Ｄｘを基に、共通定義情報ＤＢ２から、照合情報生成装置４が使用する共通定義情報Ｇｘを取得して、照合情報生成装置４に出力する。
【００２３】
照合情報生成装置４は、ファイルの改ざん確認或いは過不足確認の際に前記ファイル管理装置が照合する照合情報を生成する。照合情報生成装置４は、共通定義情報取得装置３から出力された共通定義情報Ｇｘと、自装置個別の個別定義情報Ｃｘとを満たす照合情報Ｒｘｘを生成する。ここで、個別定義情報Ｃｘｘは、ファイル管理装置５に配置されるべきファイル集合について、ファイル管理装置５に応じて個別に備えるべき条件を示す情報である。
【００２４】
そして、ファイル管理装置５は、照合情報生成装置４が生成した照合情報Ｒｘｘと管理対象のファイルとを照合する。ファイル管理装置５は、照合結果を基に、ファイルの改ざん、ファイルの削除、または、データベースに配置されるべきでないファイルの追加について確認を行い、確認結果Ｅｘを出力する。
【００２５】
［共通定義情報取得装置］
次に、図２を参照して、図１に示す共通定義情報取得装置３について説明する。図２は、図１に示す共通定義情報取得装置３の概略構成を示す模式図である。図２に示すように、共通定義情報取得装置３は、入力部３１、通信部３２、記憶部３３、制御部３４及び出力部３５を有する。
【００２６】
入力部３１は、共通定義情報取得装置３のオペレータ等からの各種操作を受け付ける入力インタフェースである。例えば、入力部３１は、タッチパネル、音声入力デバイス、キーボードやマウス等の入力デバイスによって構成される。入力部１５は、例えば、共通定義情報の識別子（識別情報）Ｄｘの入力を受け付ける。共通定義情報の識別子Ｄｘは、ファイルによる入力、ＣＬＩ（Command  Line  Interface）やＧＵＩ（Graphical  User  Interface）によるものであってもよい。なお、識別子を入力する際に、オペレータは、複数の識別子を入力してもよいし、それらのＡＮＤ、ＯＲ、ＮＯＴといった一般的な検索式で用いられる論理演算を含む検索式等を入力してしてもよい。
【００２７】
通信部３２は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。通信部３２は、ＮＩＣ（Network  Interface  Card）等で実現され、ＬＡＮ（Local  Area  Network）やインターネットなどの電気通信回線を介した他の装置（例えば、共通定義情報ＤＢ２）と制御部３４（後述）との間の通信を行う。例えば、通信部３２は、共通定義情報ＤＢ２から送信された共通定義情報Ｇｘを受信する。
【００２８】
記憶部３３は、ＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）、光ディスク等の記憶装置である。なお、記憶部１０は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ、ＮＶＳＲＡＭ（Non  Volatile  Static  Random  Access  Memory）等のデータを書き換え可能な半導体メモリであってもよい。記憶部１０は、共通定義情報取得装置３で実行されるＯＳ（Operating  System）や各種プログラムを記憶する。さらに、記憶部１０は、プログラムの実行で用いられる各種情報を記憶する。記憶部１０は、共通定義情報１２３及び識別子情報３３１を有する。
【００２９】
共通定義情報１２３は、共通定義情報ＤＢ２から共通定義情報取得部３４１（後述）が取得した情報である。共通定義情報１２３は、任意のファイル管理装置において、ファイルの改ざん確認或いは過不足確認の際に照合する照合情報について、該照合情報に記載する可能性のあるファイル及びディレクトリのリストである共通リストを定義する。そして、共通定義情報１２３は、個別のファイル管理装置において、照合情報のファイル及びディレクトリのリストの要素を決定する条件である要素属性を定義する。
【００３０】
図３は、図２に示す共通定義情報１２３が定義する内容を説明する図である。図３の表１２３ａに示すように、共通定義情報１２３では、定義Ｄ１及び定義Ｄ２を定義している。すなわち、定義Ｄ１の内容は、任意のファイル管理装置において、照合情報を構成するリストＢ１，Ｂ２，Ｂ３（後述）に記載する可能性のあるファイル、ディレクトリのリストである、共通リストＪ１，Ｊ２，Ｊ３の定義である。定義Ｄ２の内容は、個別のファイル管理装置において、照合情報のリストＢ１，Ｂ２，Ｂ３の要素を決定するための条件である要素属性の定義である。照合情報１２２は、この定義Ｄ１の共通リストＪ１〜Ｊ３に対し、定義Ｄ２の要素属性に基づいて、リストＢ１〜Ｂ３の要素が決定される。
【００３１】
続いて、共通定義情報１２３は、ファイル集合の照合情報のリストＢ１，Ｂ２に記載するファイルの共通リストと、照合情報Ｂ３に記載するディレクトリの共通リストと、を定義する。そして、共通定義情報１２３は、これらのファイル、およびディレクトリに対して、以下で説明する属性Ｅ１〜Ｅ４を要素属性として記載し、定義する。ファイルにはＥ１，Ｅ２，Ｅ３、ディレクトリにはＥ４を定義する。
【００３２】
図４は、図２に示す共通定義情報１２３が定義する要素属性を説明する図である。図４の表１２３ｂに示すように、要素属性としてＥ１〜Ｅ４が定義される。まず、要素属性Ｅ１は、照合情報１２２のリストＢ１，Ｂ２の共通リストに記載のファイルがファイル管理装置に配置することが必須であることを示す第１フラグ（Ｔ）或いは必須でないことを示す第２フラグ（Ｆ）を定義する必須フラグを定義する。要素属性Ｅ２は、照合情報１２２のリストＢ１，Ｂ２の共通リストに記載のファイルのファイルパス表記の作成条件であるファイルパス条件を定義する。要素属性Ｅ３は、照合情報のリストＢ１の共通リストに記載のファイルのうち配置にあたってファイルデータを変更できないファイルのダイジェスト値を定義する。要素属性Ｅ４は、照合情報のリストＢ３の共通リストに記載のディレクトリのディレクトリパス表記の作成条件であるディレクトリパス条件を定義する。
【００３３】
共通定義情報１２３の具体例について説明する。図５は、図２に示す共通定義情報１２３の一例を示す図である。図５に共通定義情報Ｇｘは、共通リストＪ１〜Ｊ３を有する。
【００３４】
共通リストＪ１は、照合情報１２２のリストＢ１に記載するファイルの共通リストである。この共通リストＪ１には、各ファイルそれぞれの要素属性として、ファイルパス条件（要素属性Ｅ２）、ダイジェスト値（要素属性Ｅ３）、必須フラグ（要素属性Ｅ１）が共通属性Ｈ１として対応付けられている。具体的には、共通リストＪ１では、ファイル「＃１１」には、「ファイルパス条件１１」、「ダイジェスト値１１」、「必須フラグ１１＝Ｔ」が対応する。共通リストＪ１では、ファイル「＃１２」には、「ファイルパス条件１２」、「ダイジェスト値１２」、「必須フラグ１２＝Ｆ」が対応する。
【００３５】
共通リストＪ２は、照合情報１２２のリストＢ２に記載するファイルの共通リストである。この共通リストＪ２には、各ファイルそれぞれの要素属性として、ファイルパス条件（要素属性Ｅ２）及び必須フラグ（要素属性Ｅ１）が共通属性Ｈ２として対応付けられている。具体的には、共通リストＪ２では、ファイル「＃２１」には、「ファイルパス条件２１」、「必須フラグ２１＝Ｔ」が対応する。共通リストＪ２では、ファイル「＃２２」には、「ファイルパス条件２２」、「必須フラグ２２＝Ｆ」が対応する。
【００３６】
共通リストＪ３は、照合情報１２２のリストＢ３に記載するディレクトリの共通リストである。この共通リストＪ３には、各ディレクトリそれぞれの要素属性として、ディレクトリパス条件（要素属性Ｅ４）が共通属性Ｈ３として対応付けられている。具体的には、共通リストＪ３では、ディレクトリ「＃３１」には、「ディレクトリパス条件３１」が対応する。共通リストＪ３では、ディレクトリ「＃３２」には、「ディレクトリパス条件３２」が対応する。
【００３７】
次に、識別子情報３３１について説明する。識別子情報３３１は、各共通定義情報を識別する情報を有する。例えば、共通定義情報の識別子名、そのソフトウェアが必要とする他の粗酒とウェアに対応する居通定義情報の識別子、及び、ソフトウェアのバージョンに関するバージョン情報等の要素を含む。バージョン情報は、「v1.1以降」、「v1.3以前」などである。識別子情報３３１は、これらの要素の一部、または全てを含む。また、識別子情報３３１は、各要素に対応する値を、複数含む場合がある。ただし、識別子名は、共通定義情報について一つである。共通定義情報取得装置３は、自装置が対応するファイル管理装置５が管理するファイルに関する共通定義情報の識別子情報のみを保持してもよいし、共通定義情報ＤＢ２が有する全ての共通定義情報の識別子情報を保持してもよい。
【００３８】
制御部３４は、共通定義情報取得装置３全体を制御する。制御部３４は、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等の電子回路や、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路である。また、制御部３４は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部３４は、各種のプログラムが動作することにより各種の処理部として機能する。制御部３４は、共通定義情報取得部３４１（第１の取得部）、共通定義情報判別部３４２（判別部）及び出力制御部４３３（出力部）を有する。
【００３９】
共通定義情報取得部３４１は、共通定義情報ＤＢ２から、当該共通定義情報取得装置3
に入力された共通定義情報の識別子Ｄｘに対応する共通定義情報を取得する。図６及び図７は、共通定義情報の識別子Ｄｘの一例を説明する図である。図６に示す共通定義情報の識別子Ｄｘ１は、識別子名「ソフトウェアＡ  ver1.0」を含む。さらに、共通定義情報の識別子Ｄｘ１は、識別子名の他に、他に必要な識別子及びそのバージョン条件を含む。オペレータ等は、識別子名以外の要素を複数指定可能である。また、図７の共通定義情報の識別子Ｄｘ２のように、識別子名のみの指定も可能である。
【００４０】
共通定義情報取得部３４１は、入力された共通定義情報の識別子Ｄｘを基に、取得すべき共通定義情報の識別子を抽出する。共通定義情報取得部３４１は、共通定義情報取得装置３に入力された共通定義情報の識別子Ｄｘに関連する他の識別情報をさらに取得し、共通定義情報取得装置３に入力された共通定義情報の識別情報及び他の識別情報を基に、共通定義情報の識別子情報の一覧を取得してもよい。
【００４１】
例えば、共通定義情報取得部３４１は、共通定義情報の識別子Ｄｘとして「識別子：ソフトウェアＡ」が入力された場合、識別子情報３３１を参照し、「ソフトウェアA  ver1.0」、「ソフトウェアA  ver1.1」、「ソフトウェアB  ver1.0」、「ソフトウェアB  ver1.1」、「ソフトウェアC  ver1.0」、「ソフトウェアC  ver1.1」を識別子として抽出する。なお、共通定義情報取得部３４１は、入力された共通定義情報の識別子Ｄｘの識別子名にバージョン情報が含まれなかった場合、「入力された識別子名にバージョン情報を付加したもの」を識別子名とする識別子を全て取得する。また、共通定義情報取得部３４１は、自装置が保持する識別子情報３３１に限らず、外部装置が保持する識別子情報から、取得すべき共通定義情報の識別子を抽出してもよい。
【００４２】
そして、共通定義情報取得部３４１は、共通定義情報ＤＢ２から、抽出した識別子に対応する共通定義情報を取得する。図８は、共通定義情報ＤＢ２が記憶する共通定義情報の一例を示す図である。図８に示すように、共通定義情報ＤＢ２は、「ソフトウェアA  ver1.0」を識別子名とする共通定義情報Ｇａ、「ソフトウェアA  ver1.1」を識別子名とする共通定義情報Ｇａ´、「ソフトウェアB  ver1.0」を識別子名とする共通定義情報Ｇｂ、「ソフトウェアB  ver1.1」を識別子名とする共通定義情報Ｇｂ´、「ソフトウェアC  ver1.0」を識別子名とする共通定義情報Ｇｃ、「ソフトウェアC  ver1.1」を識別子名とする共通定義情報Ｇｃ´、「ソフトウェアD  ver1.0」を識別子名とする共通定義情報Ｇｄ、「ソフトウェアD  ver1.1」を識別子名とする共通定義情報Ｇｄ´を記憶する。
【００４３】
共通定義情報取得部３４１は、共通定義情報ＤＢ２から、識別子「ソフトウェアA  ver1.0」、識別子「ソフトウェアA  ver1.1」、識別子「ソフトウェアB  ver1.0」、識別子「ソフトウェアB  ver1.1」、識別子「ソフトウェアC  ver1.0」、識別子「ソフトウェアC  ver1.1」に対応する共通定義情報Ｇａ，Ｇａ´，Ｇｂ，Ｇｂ´，Ｇｃ，Ｇｃ´を取得する。
【００４４】
共通定義情報判別部３４２は、共通定義情報取得部３４１が取得した共通定義情報と、ファイル管理装置５が管理するファイルＦとを比較し、共通定義情報の条件に全て合致するファイルが有るか否かを判別する。図９は、図１に示すファイル管理装置５が管理するファイル（ソフトウェア）を説明する図である。図９に示すように、ファイル管理装置５は、「ソフトウェアA  ver1.0」、「ソフトウェアB  ver1.0」、「ソフトウェアC  ver1.0」をインストールし、管理している。この場合、共通定義情報判別部３４２は、共通定義情報取得部３４１が取得した共通定義情報Ｇａ，Ｇａ´，Ｇｂ，Ｇｂ´，Ｇｃ，Ｇｃ´のうち、共通定義情報Ｇａ，Ｇｂ，Ｇｃが、「ソフトウェアA  ver1.0」、「ソフトウェアB  ver1.0」、「ソフトウェアC  ver1.0」に合致すると判別する。
【００４５】
出力制御部３４３は、共通定義情報判別部３４２による判別結果を基に、共通定義情報取得部３４１が取得した共通定義情報のうちファイル管理装置５が管理するファイルに対応する共通定義情報を照合情報生成装置４に出力する。出力制御部３４３は、例えば、通信部３２等を介して、共通定義情報Ｇｘを照合情報生成装置４に出力する。
【００４６】
出力部３５は、例えば、液晶ディスプレイなどの表示装置、プリンタ等の印刷装置、情報通信装置等によって実現され、ファイル管理処理に関する情報を出力する。
【００４７】
［共通定義情報取得処理の処理手順］
次に、共通定義情報取得装置３における共通定義情報取得処理の処理手順について説明する。図１０は、実施の形態に係る共通定義情報取得処理の処理手順を示すフローチャートである。
【００４８】
図１０に示すように、共通定義情報取得装置３では、入力部３１が、共通定義情報の識別子Ｄｘの入力を受け付けると（ステップＳ１０１）、共通定義情報取得部３４１は、共通定義情報ＤＢ２から、共通定義情報の識別子Ｄｘに対応する共通定義情報を取得する（ステップＳ１０２）。
【００４９】
続いて、共通定義情報取得装置３では、共通定義情報取得部３４１が取得した共通定義情報と、共通定義情報判別部３４２は、ファイル管理装置５が管理するファイルとを比較し、共通定義情報の条件に全て合致するファイルＦが有るか否かを判別する共通定義情報判別処理を行う（ステップＳ１０３）。出力制御部３４３は、共通定義情報判別部３４２による判別結果を基に、共通定義情報取得部３４１が取得した共通定義情報のうちファイル管理装置５が管理するファイルＦに対応する共通定義情報を照合情報生成装置４に出力する（ステップＳ１０４）。
【００５０】
［共通定義情報判別処理の処理手順］
次に、共通定義情報判別処理（ステップＳ１０３）の処理手順について説明する。図１１は、図１０に示す共通定義情報判別処理の処理手順を示すフローチャートである。
【００５１】
共通定義情報判別部３４２は、図１０のステップＳ１０２において取得した共通定義情報について、各共通定義情報に記載されているエントリ分、判別処理を繰り返す。まず、共通定義情報判別部３４２は、ファイルパス条件を満たすファイルがファイル管理装置５に存在するか否かを判定する（ステップＳ１１１）。
【００５２】
共通定義情報判別部３４２は、ファイルパス条件を満たすファイルがファイル管理装置５に存在しないと判定した場合（ステップＳ１１１：存在しない）、共通定義情報のフラグはＴまたはＦのいずれであるかを判定する（ステップＳ１１２）。共通定義情報判別部３４２は、共通定義情報のフラグはＴであると判定した場合（ステップＳ１１２：Ｔ）、判定結果がＮＧであるとする（ステップＳ１１３）。すなわち、共通定義情報判別部３４２は、このエントリについては、共通定義情報の条件に全て合致するファイルＦが無いと判別する。この場合、取得した共通定義情報は、ファイル管理装置５が管理するファイルＦと合致しないため、共通定義情報判別部３４２は、以降のエントリに対する判別はスキップする。なお、この共通定義情報に対する、ステップＳ１０３の判別結果は、ＮＧとなる。
【００５３】
共通定義情報判別部３４２は、ファイルパス条件を満たすファイルがファイル管理装置５に存在すると判定した場合（ステップＳ１１１：存在する）、または、共通定義情報のフラグはＦであると判定した場合（ステップＳ１１２：Ｆ）、共通定義情報のダイジェスト値が定義済みであるか、または、未定義であるか否かを判定する（ステップＳ１１４）。
【００５４】
共通定義情報判別部３４２は、共通定義情報のダイジェスト値が定義済みであると判定した場合（ステップＳ１１４：定義済）、ファイル管理装置５に存在するファイルのダイジェスト値を計算する（ステップＳ１１５）。そして、共通定義情報判別部３４２は、計算結果が共通定義情報のダイジェスト値と一致するか否かを判定する（ステップＳ１１６）。
【００５５】
共通定義情報判別部３４２は、計算結果が共通定義情報のダイジェスト値と一致しないと判定した場合（ステップＳ１１６：不一致）、ステップＳ１１３に進む。一方、共通定義情報判別部３４２は、計算結果が共通定義情報のダイジェスト値と一致すると判定した場合（ステップＳ１１６：一致）、または、共通定義情報のダイジェスト値が未定義であると判定した場合（ステップＳ１１４：未定義）、判別結果がＯＫであるとする（ステップＳ１１７）。ある共通定義情報の全エントリに対して、この判別がされた場合、該当共通定義情報に対するステップＳ１０３の判別結果がＯＫになる。
【００５６】
共通定義情報判別部３４２は、共通定義情報に記載の全エントリに対して、ステップＳ１１１〜ステップＳ１１７の処理を行い、ステップＳ１０４において、判別結果がＯＫとなった共通定義情報を出力する。また、共通定義情報判別部３４２は、共通定義情報判別処理の結果、出力対象となる共通定義情報が存在しない場合には、エラーを出力する。なお、ファイルパス条件の判定については、後述の図３４〜図３６を用いて説明する。
【００５７】
［照合条件生成装置］
続いて、照合情報作成装置４について説明する。図１２は、照合情報生成装置４の概略構成を示す模式図である。
【００５８】
照合情報生成装置４は、入力部４１、通信部４２、記憶部４３、制御部４４及び出力部４５を有する。入力部４１、通信部４２、記憶部４３、制御部４４及び出力部４５は、入力部１１、通信部１２、記憶部１３、制御部１４及び出力部１５と同様の機能を有する。入力部４１は、例えばオペレータの入力デバイスの操作に従い、個別定義情報Ｃｘｘの入力を受け付ける。また、通信部４２は、共通定義情報取得装置３から出力された共通定義情報Ｇｘを受信する。
【００５９】
記憶部４３は、ファイルの完全性を確認するための照合情報、或いは、照合情報を生成する際に用いる情報を記憶する。記憶部４３は、照合情報１２２、共通定義情報１２３、項目抽出情報１２４及び個別定義情報１２５を有する。共通定義情報１２３については、前述しているため、説明を省略する。
【００６０】
まず、照合情報１２２について説明する。照合情報１２２は、照合情報１２２は、ファイル管理装置５が、自身が管理するファイル集合に対応する照合情報として生成したものである。照合情報１２２は、リストＢ１（第１のリスト）、リストＢ２（第２のリスト）及びリストＢ３（第３のリスト）から構成されている。このリストＢ１〜Ｂ３について、図１３を参照して説明する。
【００６１】
図１３は、図１２に示す照合情報１２２が有するリストＢ１〜Ｂ３の内容を説明する図である。図１３の表１２２ａに示すように、リストＢ１には、ファイル記憶部１１に配置されるべきであるファイルであり、かつ、ファイルデータが変化しないファイルの、ファイルパスとファイルデータのダイジェスト値との組み合わせのリストが示される。ここで、ダイジェスト値は、例えば、ファイルデータのhash値である。hash値とは、元のデータをSHA256等のhash関数で変換した値であり、サイズが小さく、かつ元のデータが変化（改ざん）したらhash値も変化することから、改ざんの判定に用いる。
【００６２】
そして、リストＢ２には、ファイル記憶部１１に配置されるべきファイルであり、かつ、ファイルデータが変化しうるファイルのファイルパスのリストが示される。
【００６３】
また、リストＢ３には、以下のディレクトリ条件ｂ３１〜ｂ３３を満たすディレクトリのディレクトリパスのリストを示す。ディレクトリ条件ｂ３１（第１のディレクトリ条件）は、直下のファイルは同じ照合情報に属するリストＢ１またはリストＢ２に記載のファイルである。条件ｂ３２（第２のディレクトリ条件）は、直下のディレクトリは同じ照合情報に属するリストＢ１またはリストＢ２に記載のファイルを一つ以上配下に配置するディレクトリである。条件ｂ３３（第３のディレクトリ条件）は、直下にディレクトリ条件ｂ３１またはディレクトリ条件ｂ３２に該当しないファイルまたはディレクトリを配置しないことである。
【００６４】
図１４は、図１２に示す照合情報１２２の一例を示す図である。図１４に示すように、照合情報Ｒｘｘは、リストＲｘｘ−Ｂ１〜Ｒｘｘ−Ｂ３を有する。具体的には、リストＲｘｘ−Ｂ１には、ファイルＦ１１〜Ｆ１３のファイルパス「ファイルパス１１〜１３」とファイルデータのダイジェスト値「ダイジェスト値１〜３」との組み合わせが記載されている。ファイルＦ１１〜Ｆ１３は、ファイル記憶部１１に配置されるべきであるファイルであり、かつ、ファイルデータが変化しないファイルである。また、リストＲｘｘ−Ｂ２には、ファイルＦ２１〜２３のファイルパス「ファイルパス２１〜２３」を記載されている。ファイル２１〜Ｆ２３は、ファイル記憶部１１に配置されるべきファイルであり、かつ、ファイルデータが変化しうるファイルである。また、リストＲｘｘ−Ｂ３には、ディレクトリ条件ｂ３１〜ｂ３３を満たすディレクトリパスの「ディレクトリパス１〜３」が記載されている。
【００６５】
次に、項目抽出情報１２４について説明する。項目抽出情報１２４は、共通定義情報１２３からの抽出項目を示す情報である。抽出項目は、当該ファイル管理装置３の個別情報として定義すべき項目とすべき内容である。図１５は、図１２に示す項目抽出情報１２４について説明する図である。図１５の表１２４ａに示すように、項目抽出情報１２４は、共通定義情報１２３の各対象からの抽出内容を示すものであり、抽出対象と、該抽出対象からの抽出内容とが対応付けられている。
【００６６】
例えば、共通定義情報１２３において照合情報１２２のリストＢ１に記載することを定義したファイルが対象である場合には、抽出内容は、次の３つである。１つ目は、要素属性Ｅ１である必須フラグが「Ｆ」のファイルである。２つ目は、配置するファイルについて要素属性Ｅ２であるファイルパス条件を満たすファイルパス表記のうちファイル管理装置３で個別に決定する要素である。３つ目は、配置するファイルについて要素属性Ｅ３のダイジェスト値が定義されていないファイルパスである。
【００６７】
そして、共通定義情報１２３において照合情報１２２のリストＢ２に記載することを定義したファイルが対象である場合には、抽出内容は、次の２つである。１つ目は、要素属性Ｅ１である必須フラグが「Ｆ」のファイルである。２つ目は、配置するファイルについて要素属性Ｅ２であるファイルパス条件を満たすファイルパス表記のうちファイル管理装置３で個別に決定する要素である。
【００６８】
また、共通定義情報１２３において照合情報１２２のリストＢ３に記載することを定義したディレクトリが対象である場合には、抽出内容は、配置するファイルについて、要素属性でＥ２のファイルパス条件を満たすディレクトリパス表記のうち、ファイル管理装置で個別に決定する要素である。個別定義項目抽出部１４５（後述）が、この項目抽出情報１２４にしたがって共通定義情報１２３の対象となるファイル或いはディレクトリから項目を抽出し、個別定義情報１２５の項目として定義する。
【００６９】
次に、個別定義情報１２５について説明する。個別定義情報１２５は、項目抽出情報１２４にしたがって共通定義情報１２３から抽出された項目について、ファイル管理装置５に応じて個別に備えるべき条件を示す情報である。例えば、個別定義情報１２５は、外部から入力される情報である。具体的には、個別定義情報１２５は、ファイル管理装置５の管理者による入力部１５の操作によって外部から入力される。もちろん、これに限らず、個別定義情報１２５は、通信部１３を介して外部から入力されもよい。図１６は、図１２に示す個別定義情報１２５を説明する図である。図１６の表１２５ａに示すように、個別定義情報１２５は、入力対象に対する入力内容が対応付けられている。
【００７０】
具体的には、共通定義情報１２３において照合情報１２２のリストＢ１に記載することを定義したファイルが対象である場合には、入力内容は、３つである。１つ目は、要素属性Ｅ１である必須フラグが「Ｆ」のファイルの配置の有無である。２つ目は、配置するファイルについて要素属性Ｅ２であるファイルパス条件を満たすファイルパス表記のうちファイル管理装置５で個別に決定する要素の値である。３つ目は、配置するファイルについて要素属性Ｅ３のダイジェスト値が定義されていないファイルのダイジェスト値である。
【００７１】
そして、共通定義情報１２３において照合情報１２２のリストＢ２に記載することを定義したファイルが対象である場合には、入力内容は、次の２つである。１つ目は、要素属性Ｅ１である必須フラグが「Ｆ」のファイルの配置の有無である。２つ目は、配置するファイルについて要素属性Ｅ２であるファイルパス条件を満たすファイルパス表記のうちファイル管理装置５で個別に決定する要素の値である。
【００７２】
また、共通定義情報１２３において照合情報１２２のリストＢ３に記載することを定義したディレクトリが対象である場合には、入力内容は、配置するファイルについて、要素属性Ｅ２であるファイルパス条件を満たすディレクトリパス表記のうち、ファイル管理装置５で個別に決定する要素であるの値である。この個別定義情報１２５は、個別定義情報入力部１４６（後述）によって取得される。そして、共通定義情報１２３と個別定義情報１２５とを基に照合情報１２２が生成される。
【００７３】
個別定義情報１２５の具体例について説明する。図１７は、図１２に示す個別定義情報１２５の一例を示す図である。図１７に示す個別定義情報Ｌｘｘは、リストＷｃ１〜Ｗｃ３を有する。
【００７４】
個別定義情報ＬｘｘのリストＷｃ１は、共通定義情報Ｇｘにおいて照合情報１２２のリストＢ１に記載することを定義したファイルに対して、ファイル管理装置５に応じて個別に備えるべき各条件、すなわち、図１６の表１２５ａに示す１段目に記載の入力内容、を示すリストである。
【００７５】
例えば、リストＷｃ１には、ファイル「＃１１」〜「＃１６」に対して、ファイルに応じたファイルパス表記、ダイジェスト値或いはファイルの配置の要否が対応付けられている。具体的には、リストＷｃ１では、１行目に、ファイル「＃１１」に対応するファイルパス表記である「ファイルパス表記（個別要素）１１」が示されている（列Ｌｃ１１参照）。また、２行目には、ファイル「＃１２」に対応するファイルパス表記である「ファイルパス表記（個別要素）１２」と、ファイル「＃１２」についての配置の要否である「配置要」（列Ｌｃ１３参照）とが示されている。また、４行目には、ファイル「＃１４」に対応するファイルパス表記である「ファイルパス表記（個別要素）１４」と、ファイル「＃１４」の「ダイジェスト値１４」（列Ｌｃ１２参照）とが示されている。
【００７６】
個別定義情報ＬｘｘのリストＷｃ２は、共通定義情報Ｇｘにおいて照合情報１２２のリストＢ２に記載することを定義したファイルに対して、ファイル管理装置５に応じて個別に備えるべき各条件、すなわち、図１６の表１２５ａに示す２段目に記載の入力内容、を示すリストである。
【００７７】
例えば、リストＷｃ２には、ファイル「＃２１」〜「＃２３」に対して、ファイルに応じたファイルパス表記或いはファイルの配置の要否が対応付けられている。具体的には、リストＷｃ２では、１行目に、ファイル「＃２１」に対応するファイルパス表記である「ファイルパス表記（個別要素）２１」が示されている（列Ｌｃ２１参照）。また、２行目には、ファイル「＃２２」に対応するファイルパス表記である「ファイルパス表記（個別要素）２２」と、ファイル「＃２２」についての配置の要否である「配置要」（列Ｌｃ２２参照）とが示されている。
【００７８】
個別定義情報ＬｘｘのリストＷｃ３は、共通定義情報Ｇｘにおいて照合情報１２２のリストＢ３に記載することを定義したディレクトリに対して、ファイル管理装置５に応じて個別に備えるべき各条件、すなわち、図１６の表１２５ａに示す３段目に記載の入力内容、を示すリストである。
【００７９】
例えば、リストＷｃ３には、ディレクトリ「＃３１」，「＃３２」に対して、ディレクトリに応じて、ディレクトリパス表記が対応付けられている。具体的には、リストＷｃ３では、１行目に、ディレクトリ「＃３１」に対応するディレクトリパス表記である「ディレクトリパス表記（個別要素）３１」が示されている（列Ｌｃ３１参照）。また、２行目には、ディレクトリ「＃３２」に対応するディレクトリパス表記である「ディレクトリパス表記（個別要素）３２」が示されている。
【００８０】
制御部４４は、共通定義情報取得装置３から出力された共通定義情報Ｇｘと、個別定義情報１２５とを基に、ファイル管理装置５で使用する照合情報１２２を生成する。ファイル管理装置５で使用する照合情報１２２を生成する。照合情報生成部１４２は、共通定義情報取得部１４４（第２の取得部）、個別定義項目抽出部１４５、個別定義情報入力部１４６及び生成部１４７を有する。
【００８１】
共通定義情報取得部１４４は、共通定義情報ＤＢ２が記憶する共有の共通定義情報の少なくとも一部を取得する。共通定義情報取得部１４４は、ファイル記憶部１１に配置されているファイル集合Ｆｓに応じた共通定義情報１２３を、ネットワーク等を経由して、外部の共通定義情報ＤＢ２からダウンロードすることによって取得する。或いは、共通定義情報取得部１４４は、ファイル管理装置５の管理者によるファイル等の入力によって、共通定義情報１２３を取得する。共通定義情報取得部１４４は、取得した共通定義情報１２３を確認用情報記憶部１２に記憶する。
【００８２】
個別定義項目抽出部１４５は、共通定義情報取得部１４４が取得した共通定義情報１２３から、個別定義情報１２５として定義すべき項目を抽出する。個別定義項目抽出部１４５は、項目抽出情報１２４にしたがって、共通定義情報１２３からの項目抽出を行う。抽出する項目は、前述した図１５の表１２４ａに示す項目であり、照合情報１２２の各リストＢ１〜Ｂ３に記載することを定義したファイル或いはディレクトリについて、それぞれ設定されている。各項目の説明は、図１５を用いて説明しているため省略する。
【００８３】
個別定義情報入力部１４６は、個別定義項目抽出部１４５が共通定義情報１２３から抽出した項目について、個別定義情報の入力を受付ける。入力を受付ける情報の内容は、前述した図１６の表１２５ａに示す項目であり、照合情報１２２の各リストＢ１〜Ｂ３に記載することを定義したファイル或いはディレクトリについて、それぞれ設定されている。各入力情報の説明は、図１６を用いて説明しているため省略する。個別定義情報入力部１４６が入力を受付けた情報に基づく個別定義情報１２５は、例えば、図１７に示す個別定義情報Ｌｘｘである。個別定義情報入力部１４６は、取得した個別定義情報１２５を確認用情報記憶部１２に記憶する。
【００８４】
個別定義情報入力部１４６は、画面に各抽出項目と、その値等の入力欄とを示す操作画面を、ファイル管理装置５の管理者に提示する。この際、例えば、ＸＭＬ（Extensible  Markup  Language）などの構造化されたファイル形式、或いはグラフカルなＵＩ（User  Interface）を用いられる。そして、個別定義情報入力部１４６は、ファイル管理装置５の管理者による入力部４１の操作によって各入力欄に入力された情報を受付けることによって、個別定義情報１２５を取得する。または、個別定義情報入力部１４６は、通信部４２を介して、各抽出項目に対しての値等の送信要求を外部装置に出力する。そして、個別定義情報入力部１４６は、この送信要求に応じて外部装置から送信された各情報を受信することによって、個別定義情報１２５を取得してもよい。
【００８５】
生成部１４７は、共通定義情報１２３の共通リスト及び要素属性に基づいて、照合情報１２２を生成する。生成部１４７は、ファイル管理装置５に配置されるべきファイル集合に対して、共有の共通定義情報１２３と、当該ファイル管理装置５に応じて個別に備えるべき条件を示す個別定義情報１２５とをともに満たす照合情報１２２を生成する。
【００８６】
生成部１４７は、共通定義情報１２３と個別定義情報１２５とを基に、照合情報１２２のリストＢ１〜Ｂ３へ配置するファイルを決定し、リストＢ１〜Ｂ３に記載するファイルパス、ダイジェスト値、ディレクトリパスを決定する。個別定義情報としてダイジェスト値の代わりにファイルデータが入力された場合、生成部１４７は、リストＢ１に配置するファイルのファイルデータのダイジェスト値の計算も行う。生成部１４７は、生成した照合情報１２２をファイルとして確認用情報記憶部１２に記憶する。或いは、生成部１４７は、生成した照合情報１２２を、ファイル管理装置５で稼働する完全性確認機能、すなわち、ファイル確認部１４３に直接インポートしてもよい。
【００８７】
［生成部の処理］
次に、生成部１４７による照合情報１２２の処理について説明する。図１８は、図１２に示す生成部１４７による照合情報１２２の生成処理を説明する図である。
【００８８】
図１８は、左側に共通定義情報Ｇｘ、中央に個別定義情報Ｌｘｘ、右側に照合情報Ｒｘｘを示す。共通定義情報Ｇｘは、共通定義情報取得部１４４によって取得されたものである。個別定義情報Ｌｘｘは、個別定義項目抽出部１４５が共通定義情報Ｇｘから抽出した項目に対してファイル管理装置５において個別に備えるべき条件として個別定義情報入力部１４６が受け付けた情報に基づくものである。照合情報Ｒｘｘは、個別定義情報Ｌｘｘと照合情報Ｒｘｘとを基に、個別定義情報Ｌｘｘと照合情報Ｒｘｘとをともに満たすように生成部１４７によって生成されたものである。
【００８９】
まず、生成部１４７が照合情報ＲｘｘのリストＢ１を作成する場合について説明する。この場合には、生成部１４７は、共通定義情報Ｇｘの共通リストＪ１において照合情報ＲｘｘのリストＢ１に記載を定義されたファイルについて、個別定義情報ＬｘｘのリストＷｃ１を参照して以下の決定処理を行う。
【００９０】
生成部１４７は、共通定義情報Ｇｘの共通リストＪ１において、要素属性Ｅ１である必須フラグとして「Ｆ」が付されたファイルに対し、個別定義情報ＬｘｘのリストＷｃ１を参照して、配置するか否かを決定する。
【００９１】
例えば、共通定義情報Ｇｘのフラグ「Ｆ」であるファイル「＃１２」，「＃１５」については、個別定義情報ＬｘｘのリストＷｃ１では「配置要」とされているため、生成部１４７は、ファイル「＃１２」，「＃１５」をリストＢ１に配置することを決定する。これに対し、共通定義情報Ｇｘのフラグ「Ｆ」であるファイル「＃１３」については、生成部１４７は、個別定義情報ＬｘｘのリストＷｃ１では「配置不要」とされているため、ファイル「＃１３」をリストＢ１に配置しないことを決定する。
【００９２】
そして、生成部１４７は、配置を決定したフラグ「Ｆ」が付されたファイルとフラグ「Ｔ」が付されたファイルとをリストＢ１のファイルとする。具体的には、生成部１４７は、配置を決定したフラグ「Ｆ」のファイル「＃１２」，「＃１５」と、フラグ「Ｔ」のファイル「＃１１」，「＃１４」をリストＢ１のファイルに決定する。
【００９３】
続いて、生成部１４７は、これらのファイルについて、共通定義情報Ｇｘの共通リストＪ１の要素属性Ｅ２であるファイルパス条件を満たすファイルパス表記を決定する。そして、生成部１４７は、決定した表記にしたがって記載したファイルパスをリストＢ１のファイルパスとして記載する。
【００９４】
すなわち、生成部１４７は、ファイル「＃１１」，「＃１２」，「＃１４」，「＃１５」について、個別定義情報ＬｘｘのリストＷｃ１の「ファイルパス表記（個別要素）１１，１２，１４，１５」を、共通定義情報Ｇｘの「ファイルパス条件１１，１２，１４，１５」を満たすファイルパス表記「ファイルパス１１，１２，１４，１５」に決定し、照合情報ＲｘｘのリストＢ１に記載する。
【００９５】
そして、生成部１４７は、配置するファイルについて、共通定義情報Ｇｘの共通リストＪ１に、要素属性Ｅ３であるダイジェスト値が定義されていないファイルについては、ファイルデータのhash値を計算する。生成部１４７は、計算したhash値をダイジェスト値として決定する。そして、生成部１４７は、該決定したダイジェスト値をリストＢ１のダイジェスト値とする。
【００９６】
例えば、ファイル「＃１４」，「＃１５」のダイジェスト値は、共通定義情報Ｇｘの共通リストＪ１に示されていない。このため、生成部１４７は、ファイル「＃１４」，「＃１５」のファイルデータのhash値を計算し、計算したhash値を、ファイル「＃１４」，「＃１５」の「ダイジェスト値１４，１５」として決定する。そして、生成部１４７は、照合情報ＲｘｘのリストＢ１に、ファイル「＃１４」，「＃１５」のダイジェストとして、「ダイジェスト値１４，１５」を記載する。なお、ファイル「＃１１」，「＃１２」については、共通定義情報Ｇｘの共通リストＪ１に記載されてため、生成部１４７は、照合情報ＲｘｘのリストＢ１に「ダイジェスト値１１，１２」を記載する。
【００９７】
次に、生成部１４７が照合情報ＲｘｘのリストＢ２を作成する場合について説明する。生成部１４７は、共通定義情報Ｇｘの共通リストＪ２において照合情報ＲｘｘのリストＢ２に記載を定義されたファイルについて、個別定義情報ＬｘｘのリストＷｃ２を参照して以下の決定処理を行う。
【００９８】
生成部１４７は、照合情報ＲｘｘのリストＢ１の場合と同様に、共通定義情報Ｇｘの共通リストＪ２において、要素属性Ｅ１である必須フラグとして「Ｆ」が付されたファイルに対し、個別定義情報ＬｘｘのリストＷｃ２を参照して、配置するか否かを決定する。
【００９９】
例えば、共通定義情報Ｇｘのフラグ「Ｆ」であるファイル「＃２２」については、個別定義情報ＬｘｘのリストＷｃ２では「配置要」とされているため、生成部１４７は、ファイル「＃２２」をリストＢ２に配置することを決定する。これに対し、共通定義情報Ｇｘのフラグ「Ｆ」であるファイル「＃２３」については、生成部１４７は、個別定義情報Ｗｃ１では「配置不要」とされているため、ファイル「＃２３」をリストＢ２に配置しないことを決定する。
【０１００】
そして、生成部１４７は、配置を決定したフラグ「Ｆ」が付されたファイルとフラグ「Ｔ」が付されたファイルとをリストＢ２のファイルとする。具体的には、生成部１４７は、配置を決定したフラグ「Ｆ」のファイル「＃２２」と、フラグ「Ｔ」のファイル「＃２１」をリストＢ２のファイルに決定する。
【０１０１】
続いて、生成部１４７は、これらのファイルについて、共通定義情報Ｇｘの共通リストＪ２のファイルパス条件を満たすファイルパス表記を決定する。そして、生成部１４７は、決定した表記にしたがって記載したファイルパスをリストＢ２のファイルパスとして記載する。
【０１０２】
すなわち、生成部１４７は、ファイル「＃２１」，「＃２２」について、個別定義情報ＬｘｘのリストＷｃ２の「ファイルパス表記（個別要素）２１，２２」を、共通定義情報Ｇｘの「ファイルパス条件２１，２２」を満たすファイルパス表記「ファイルパス２１，２２」に決定し、照合情報ＲｘｘのリストＢ２に記載する。
【０１０３】
次に、生成部１４７が照合情報ＲｘｘのリストＢ３を作成する場合について説明する。生成部１４７は、共通定義情報Ｇｘの共通リストＪ３において照合情報ＲｘｘのリストＢ３に記載を定義されたディレクトリについて、個別定義情報ＬｘｘのリストＷｃ３を参照して以下の決定処理を行う。
【０１０４】
この場合、生成部１４７は、共通定義情報Ｇｘの共通リストＪ３のディレクトリパス条件を満たすディレクトリパス表記を決定し、決定した表記にしたがって記載したディレクトリパスを照合情報ＲｘｘのリストＢ３のディレクトリパスとする。
【０１０５】
すなわち、生成部１４７は、ディレクトリ「＃３１」，「＃３２」について、個別定義情報ＬｘｘのリストＷｃ３の「ディレクトリパス表記（個別要素）３１，３２」を、共通定義情報Ｇｘの「ディレクトリパス条件３１，３２」を満たすディレクトリパス表記「ディレクトリパス３１，３２」に決定し、照合情報ＲｘｘのリストＢ３に記載する。
【０１０６】
［照合情報の生成処理の処理手順］
次に、ファイル管理装置５による照合情報の生成処理の処理手順について説明する。図１９は、実施の形態に係る照合情報の生成処理の処理手順のフローチャートである。
【０１０７】
図１９に示すように、まず、共通定義情報取得部１４４は、共通定義情報ＤＢ２が記憶する共有の共通定義情報の少なくとも一部を取得する（ステップＳ１）。そして、個別定義項目抽出部１４５は、共通定義情報取得部１４４が取得した共通定義情報１２３から、個別定義情報１２５として定義すべき項目を抽出する（ステップＳ２）。個別定義情報入力部１４６は、個別定義項目抽出部１４５が共通定義情報１２３から抽出した項目を提示して（ステップＳ３）、個別定義情報の入力を受付ける（ステップＳ４）。
【０１０８】
そして、生成部１４７は、共通定義情報１２３の共通リスト及び要素属性に基づき、個別定義情報１２５を参照し、照合情報１２２を生成する生成処理を行う（ステップＳ５）。生成部１４７は、生成した照合情報１２２を出力する（ステップＳ６）。
【０１０９】
［照合情報生成処理の処理手順］
次に、照合情報生成処理（ステップＳ５）の処理手順について説明する。図２０は、図８に示す照合情報生成処理の処理手順のフローチャートである。
【０１１０】
図２０に示すように、生成部１４７は、照合情報生成処理として、共通定義情報１２３と、個別定義情報１２５とを基に、照合情報１２２のリストＢ１の記載内容を設定するリストＢ１設定処理（ステップＳ１１）を行う。続いて、生成部１４７は、照合情報１２２のリストＢ２の記載内容を設定するリストＢ２設定処理（ステップＳ１２）を行う。続いて、生成部１４７は、照合情報１２２のリストＢ３の記載内容を設定するリストＢ３設定処理（ステップＳ１３）を行う。
【０１１１】
［リストＢ１設定処理の処理手順］
次に、リストＢ１設定処理（ステップＳ１１）の処理手順について説明する。図２１は、図２０に示すリストＢ１設定処理の処理手順のフローチャートである。
【０１１２】
生成部１４７は、共通定義情報１２３の共通リストＪ１において照合情報１２２のリストＢ１に記載を定義されたファイルを参照する（ステップＳ２１）。そして、生成部１４７は、ファイルごとに、共通定義情報１２３の必須フラグが「Ｔ」または「Ｆ」のいずれかであるかを判定する（ステップＳ２２）。
【０１１３】
生成部１４７は、このファイルの共通定義情報１２３の必須フラグが「Ｔ」であると判定した場合（ステップＳ２２：Ｔ）、このファイルを照合情報１２２のリストＢ１に配置することを決定する（ステップＳ２３）。
【０１１４】
一方、生成部１４７は、このファイルの共通定義情報１２３の必須フラグが「Ｆ」であると判定した場合（ステップＳ２２：Ｆ）、個別定義情報１２５でこのファイルのリストＢ１への配置が「要」または「不要」のいずれかであるかを判定する（ステップＳ２４）。
【０１１５】
生成部１４７は、個別定義情報１２５でこのファイルのリストＢ１への配置が「要」であると判定した場合（ステップＳ２４：要）、このファイルを照合情報１２２のリストＢ１に配置することを決定する（ステップＳ２３）。これに対し、生成部１４７は、個別定義情報１２５でこのファイルのリストＢ１への配置が「不要」であると判定した場合（ステップＳ２４：不要）、このファイルを照合情報１２２のリストＢ１に配置しないことを決定する（ステップＳ２５）。
【０１１６】
生成部１４７は、ステップＳ２３終了後、リストＢ１への配置を決定したファイルについて、共通定義情報１２３の共通リストＪ１のファイルパス条件を満たすファイルパス表記を決定する（ステップＳ２６）。そして、生成部１４７は、決定した表記にしたがって記載したファイルパスを照合情報１２２のリストＢ１のファイルパスとして設定する（ステップＳ２７）。
【０１１７】
そして、生成部１４７は、配置するファイルについて、共通定義情報１２３はダイジェスト値を定義しているか否かを判定する（ステップＳ２８）。生成部１４７は、共通定義情報１２３はダイジェスト値を定義していると判定した場合（ステップＳ２８：Ｙｅｓ）、このファイルについては、共通定義情報１２３において定義されたダイジェスト値を照合情報１２２のリストＢ１のダイジェスト値に設定する（ステップＳ２９）。一方、生成部１４７は、共通定義情報１２３はダイジェスト値を定義していないと判定した場合（ステップＳ２８：Ｎｏ）、このファイルのファイルデータのhash値を計算し、計算したhash値を、照合情報１２２のリストＢ１のダイジェスト値に設定する（ステップＳ３０）。
【０１１８】
［リストＢ２設定処理の処理手順］
次に、リストＢ２設定処理（ステップＳ１２）の処理手順について説明する。図２２は、図２０に示すリストＢ２設定処理の処理手順のフローチャートである。
【０１１９】
生成部１４７は、共通定義情報１２３の共通リストＪ２において照合情報１２２のリストＢ２に記載を定義されたファイルを参照する（ステップＳ３１）。そして、生成部１４７は、ファイルごとに、共通定義情報１２３の必須フラグが「Ｔ」または「Ｆ」のいずれかであるかを判定する（ステップＳ３２）。
【０１２０】
生成部１４７は、このファイルの共通定義情報１２３の必須フラグが「Ｔ」であると判定した場合（ステップＳ３２：Ｔ）、このファイルを照合情報１２２のリストＢ２に配置することを決定する（ステップＳ３３）。
【０１２１】
一方、生成部１４７は、このファイルの共通定義情報１２３の必須フラグが「Ｆ」であると判定した場合（ステップＳ３２：Ｆ）、個別定義情報１２５でこのファイルのリストＢ２への配置が「要」または「不要」のいずれかであるかを判定する（ステップＳ３４）。
【０１２２】
生成部１４７は、個別定義情報１２５でこのファイルのリストＢ２への配置が「要」であると判定した場合（ステップＳ３４：要）、このファイルを照合情報１２２のリストＢ２に配置することを決定する（ステップＳ３３）。これに対し、生成部１４７は、個別定義情報１２５でこのファイルのリストＢ２への配置が「不要」であると判定した場合（ステップＳ３４：不要）、このファイルを照合情報１２２のリストＢ２に配置しないことを決定する（ステップＳ３５）。
【０１２３】
生成部１４７は、ステップＳ３３終了後、リストＢ３への配置を決定したファイルについて、共通定義情報１２３の共通リストＪ３のファイルパス条件を満たすファイルパス表記を決定する（ステップＳ３６）。そして、生成部１４７は、決定した表記にしたがって記載したファイルパスを照合情報１２２リストＢ３のファイルパスとして設定する（ステップＳ３７）。
【０１２４】
［リストＢ３設定処理の処理手順］
次に、リストＢ３設定処理（ステップＳ１３）の処理手順について説明する。図２３は、図２０に示すリストＢ３設定処理の処理手順のフローチャートである。
【０１２５】
まず、生成部１４７は、共通定義情報１２３の共通リストＪ３において照合情報１２２のリストＢ３に記載を定義されたディレクトリを参照する（ステップＳ４１）。そして、生成部１４７は、記載を定義されたディレクトリについて、それぞれ、共通定義情報１２３の共通リストＪ３のディレクトリパス条件を満たすディレクトリパス表記を決定し（ステップＳ４２）する。生成部１４７は、決定した表記にしたがって記載したディレクトリパスを照合情報１２２のリストＢ３のディレクトリパスとして設定する（ステップＳ４３）。
【０１２６】
このように、照合情報生成装置４は、共通定義情報取得装置３が取得した共通定義情報１２３の少なくとも一部を基に、このファイル管理装置５に適合する照合情報１２２を生成する。すなわち、本実施の形態に係るファイル管理装置５は、共有の共通定義情報に加え、当該ファイル管理装置５に応じて個別に備えるべき条件を示す個別定義情報１２５を用いて、個別定義情報１２５と共通定義情報１２３とをともに満たす照合情報を生成する。
【０１２７】
なお、個別定義情報１２５が、照合情報生成装置４外から入力される場合を例に説明したが、これに限らない。個別定義情報１２５は、照合情報生成装置４が生成してもよい。例えば、照合情報生成装置４は、個別定義情報として設定すべき値を、ファイル管理装置５に存在するファイルの状態に合わせて自動的に設定する。
【０１２８】
具体的に、図２４を参照して、照合情報生成装置４が実行する個別定義情報設定処理について説明する。図２４は、照合情報生成装置４が実行する個別定義情報設定処理の処理手順を示すフローチャートである。
【０１２９】
図２４に示すように、照合情報生成装置４は、共通定義情報の必須フラグがＴまたはＦであるかを判定する（ステップＳ１２１）。この判定は、リストＢ１，Ｂ２の対象項目に対応する。照合情報生成装置４は、共通定義情報の必須フラグがＦであると判定した場合（ステップＳ１２１：Ｆ）、ファイル管理装置５に該当ファイルが存在するか否かを判定する（ステップＳ１２２）。照合情報生成装置４は、ファイル管理装置５に該当ファイルが存在しないと判定した場合（ステップＳ１２２：存在しない）、「配置不要」に設定する（ステップＳ１２３）。
【０１３０】
一方、照合情報生成装置４は、ファイル管理装置５に該当ファイルが存在すると判定した場合（ステップＳ１２２：存在する）、「配置要」に設定する（ステップＳ１２４）。続いて、照合情報生成装置４は、共通定義情報の必須フラグがＴであると判定した場合（ステップＳ１２１：Ｔ）、または、ステップＳ１２４処理後、ファイルパス表記にファイル管理装置５に存在するファイルのファイルパスを設定する（ステップＳ１２５）。この処理は、リストＢ１，Ｂ２，Ｂ３の対象項目の表記に対応し、ファイル管理装置５上に存在する該当ファイル／ディレクトリのファイル／ディレクトリパスを設定する処理である。
【０１３１】
続いて、照合情報生成装置４は、共通定義情報のダイジェスト値が定義済み、または、未定義であるかを判定する（ステップＳ１２６）。この判定は、リストＢ１の対象項目に対応する。
【０１３２】
照合情報生成装置４は、共通定義情報のダイジェスト値が定義済みであると判定した場合（ステップＳ１２６：定義済）、処理を終了する。一方、照合情報生成装置４は、共通定義情報のダイジェスト値が未定義であると判定した場合（ステップＳ１２６：未定義）、ファイル管理装置上に存在する該当ファイルのダイジェスト値を計算し、計算結果の値を設定する（ステップＳ１２７）。
【０１３３】
［ファイル管理装置の構成］
続いて、ファイル管理装置５について説明する。図２５は、ファイル管理装置５の概略構成を示す模式図である。ファイル管理装置５は、入力部５１、通信部５２、記憶部５３、制御部５４及び出力部５５を有する。入力部５１、通信部５２、記憶部５３、制御部５４及び出力部５５は、入力部１１、通信部１２、記憶部１３、制御部１４及び出力部１５と同様の機能を有する。通信部５２は、照合情報生成装置４から出力された照合情報Ｒｘｘを受信する。
【０１３４】
記憶部４３は、ファイル記憶部１１及び確認用情報記憶部１２を有する。ファイル記憶部１１は、複数のファイルＦで構成されるファイル集合Ｆｓを複数配置する。ファイル集合Ｆｓは、前述したように、例えば、ソフトウェアパッケージを構成するファイル集合である。
【０１３５】
確認用情報記憶部１２は、ファイルの完全性を確認するために制御部５４が使用する情報を記憶する。確認用情報記憶部１２は、確認内容情報１２１、照合情報１２２、条件情報１２６、対応関係情報１２７を有する。
【０１３６】
まず、確認内容情報１２１について説明する。図２６は、図２５に示す確認内容情報１２１のデータ構成の一例を示す図である。確認内容情報１２１は、図２６に示すように、確認項目と、その内容とが対応付けられている。ここで、配置されるべきファイル集合は、ソフトウェアパッケージについて、プログラムや設定ファイルの不正な（攻撃、あるいは誤運用による）改ざん、追加、削除などが行われていない状態のファイル集合である。一方、ファイル管理装置５に配置されているファイル集合は、これらの状態を維持していない可能性がある。このため、ファイル管理装置５では、完全性確認を実施する必要性が生じる。
【０１３７】
ファイル管理装置５では、完全性の確認内容として、図２６に示す確認項目Ａ１〜Ａ３が設定される。具体的には、確認項目Ａ１（第１の確認内容）は、ファイル記憶部１１に配置されるべきファイルが改ざんされていないことである。確認項目Ａ２（第２の確認内容）は、ファイル記憶部１１に配置されるべきファイルが削除されていないことである。確認項目Ａ３（第３の確認内容）は、データベースに配置されるべきでないファイルが追加されていないことである。ファイル管理装置５では、これらの確認項目Ａ１〜Ａ３の全て、或いは、少なくともいずれか一つを確認する。
【０１３８】
照合情報１２２は、照合情報生成装置４が、ファイル管理装置５が管理するファイル集合に対応する照合情報として生成したものである。照合情報１２２については、全呪術のため、省略する。
【０１３９】
次に、条件情報１２６について説明する。条件情報１２６は、ファイル記憶部１１に配置されたファイル集合Ｆｓと照合情報１２２とを照合し、確認内容を満たすか否かを判定する際にファイル管理装置５が用いる照合条件を示す情報である。
【０１４０】
図２７は、図２５に示す条件情報１２６について説明する図である。図２７に示すように、ファイル管理装置５は、照合条件として、照合条件Ｃ１（第１の照合条件）、照合条件Ｃ２（第２の照合条件）、照合条件Ｃ３（第３の照合条件）を用いる。
【０１４１】
照合条件Ｃ１は、リストＢ１が示すファイルパスとファイルデータのダイジェスト値との組み合わせに一致する全てのファイルがファイル管理装置５に配置されていることである。照合条件Ｃ２は、リストＢ２が示すファイルパスに一致する全てのファイルがファイル管理装置５に配置されていることである。そして、照合条件Ｃ３は、リストＢ３が示すディレクトリパスに一致する全てのディレクトリがファイル管理装置５に配置されており該ディレクトリの直下にはディレクトリ条件ｂ３１またはディレクトリ条件ｂ３２に該当しないファイルまたはディレクトリが配置されてないことである。ファイル管理装置５は、照合条件Ｃ１〜Ｃ３の少なくとも一つを満たすか否かを判定する。
【０１４２】
対応関係情報１２７は、確認項目Ａ１〜Ａ３と、そのために要する照合情報１２２のリストＢ１〜Ｂ３との対応関係を示す情報である。対応関係情報１２７は、確認項目Ａ１〜Ａ３の全てを確認する場合には、リストＢ１〜Ｂ３の全てを必要であることが示す。また、確認項目Ａ１〜Ａ３のいずれかを確認する場合には、リストＢ１〜Ｂ３の一部のみで足りることを示す。
【０１４３】
このため、ファイル管理装置５は、対応関係情報１２７を参照し、確認項目Ａ１〜Ａ３の確認の有無に応じて必要となるリストＢ１〜Ｂ３のみを、共有情報ＤＢ２内の共有情報Ｒｓ１〜Ｒｓ３から取得すればよい。すなわち、ファイル管理装置５は、共有情報ＤＢ２内の共有情報Ｒｓ１〜Ｒｓ３のうち、自身が確認する確認項目で用いるリストを取得すればよい。なお、本実施の形態では、ファイル管理装置５が確認項目Ａ１〜Ａ３の全てを確認する場合を例に説明する。
【０１４４】
制御部５４は、ファイル管理部１４１、ファイル確認部１４３を有する。ファイル管理部１４１は、管理対象のファイル記憶部１１のファイルについて、ファイルパスによってファイルデータを識別し、ディレクトリによってファイルパスを分類し、ディレクトリパスによってディレクトリを識別する。
【０１４５】
ファイル確認部１４３は、共有の照合情報の少なくとも一部を用いてファイル記憶部１１のファイルの完全性を確認する。ファイル確認部１４３は、確認対象のファイル集合に応じて、確認のために用いる照合情報を決定し、ファイル記憶部１１に配置されているファイルの完全性を確認する。ファイル確認部１４３は、照合部１４８及び確認部１４９を有する。
【０１４６】
照合部１４８は、ファイル記憶部１１に配置されたファイルのファイルパス及び照合情報１２が示すファイルパス、ファイル記憶部１１に配置されたファイルのファイルデータのダイジェスト値及び照合情報１２２が示すファイルデータのダイジェスト値、及び、ファイル記憶部１１に配置されたファイルのディレクトリパス及び照合情報１２２が示すディレクトリパス、のいずれか一つを照合する。そして、照合部１４８は、照合条件Ｃ１、照合条件Ｃ２、或いは、照合条件Ｃ３の少なくとも一つを満たすか否かを判定する。
【０１４７】
確認部１４９は、照合部１４８による照合結果を基に、確認項目Ａ１〜Ａ３の少なくともいずれか一つを確認する。確認部１４９は、ファイル記憶部１１に配置されたファイルについて、照合条件Ｃ１を満たす場合には確認項目Ａ１を満たすと判定し、照合条件Ｃ１かつ照合条件Ｃ２を満たす場合には確認項目Ａ２を満たすと判定し、照合条件Ｃ３を満たす場合には確認項目Ａ３を満たすと判定する。本実施の形態では、ファイル管理装置５が、管理対象のファイル集合のファイルについて、照合条件Ｃ１〜Ｃ３全てを判定し、確認項目Ａ１〜Ａ３の全てを確認する場合を例に説明する。
【０１４８】
［照合部の処理］
次に、照合部１４８の処理について説明する。図２８及び図２９は、図２５に示す照合部１４８の処理を説明する図である。図２８のように、照合部１４８は、まず、確認に用いる照合情報Ｒｘｘを決定し、この照合情報Ｒｘｘを用いて、確認項目Ａ１〜Ａ３に対する確認結果を出力する場合を例に説明する。例えば、照合部１４８は、ファイル管理装置５に配置されている確認対象のファイルが、照合情報Ｒｘｘに記載の条件をすべて満たすか否かを確認する。
【０１４９】
ここで、確認対象のファイルとディレクトリとの配置は、図２９右の枠Ｗ２内に示すとおりである。具体的には、ファイルｆ１，ｆ２は、データ改ざん確認（確認項目Ａ１）対象であり、かつ、ディレクトリｄ１直下の過不足確認（確認項目Ａ２）対象のファイルである。ファイルｆ３は、ディレクトリｄ１直下の過不足確認（確認項目Ａ２）対象のファイルである。ディレクトリｄ１は、過不足確認（確認項目Ａ３）対象のディレクトリである。ファイルｆ４は、ファイル完全性確認対象外のファイルである。
【０１５０】
そして、このような配置を有するファイル集合に対して設定された照合情報Ｒｘｘの一例を、図２９左の枠Ｗ１内に示す。図２９に示すように、照合情報Ｒｘｘでは、リストＢ１に、データ改ざん確認対象のファイルｆ１，ｆ２のファイルパスとディレクト値との組み合わせが記載される。照合情報Ｒｘｘでは、リストＢ２に過不足確認対象のファイルｆ３のファイルパスが記載され、リストＢ３に過不足確認対象のディレクトリｄ１のディレクトリパスが記載される。なお、枠Ｗ２内のディレクトリｄ２は、直下にリストＢ１，Ｂ２不記載のファイルｆ４を配置するため、リストＢ３には記載されない。なお、アプリケーションの正常な動作の結果、直下のファイルが増減する可能性もあるため、直下にリストＢ１，Ｂ２記載のファイルのみを配置するディレクトリを必ずリストＢ３に記載するとは限らない。
【０１５１】
照合部１４８は、照合情報Ｒｘｘの各リストの記載内容と、ファイルｆ１〜ｆ４のファイルパス、ダイジェスト値及びディレクトリと、を照合する（矢印Ｙ１０参照）。そして、確認部１４９は、照合結果を基に、確認対象のファイルが確認項目Ａ１〜Ａ３の全てを満たすか否かを確認する。
【０１５２】
ここで、照合部１４８の具体的な処理について説明する。まず、照合部１４８は、確認対象のうちリストＢ１に記載のファイルｆ１，ｆ２について、照合条件Ｃ１を満たすか否かを判定する。この場合、照合部１４８は、ファイル管理装置５に、照合情報ＲｘｘのリストＢ１に記載のファイルパス「/d1/f1」が配置されているか否かを確認する。照合部１４８は、図２９の例の場合、照合情報ＲｘｘのリストＢ１に記載のファイルパス「/d1/f1」がファイル管理装置５に配置されている。このため、照合部１４８は、ファイル管理装置５の「/d1/f1」ファイルのhash値を算出し、照合情報ＲｘｘのリストＢ１に記載のダイジェスト値「データ１」と照合する。
【０１５３】
続いて、照合部１４８は、ファイル管理装置５に、照合情報ＲｘｘのリストＢ１に記載のファイルパス「/d1/f2」が配置されていることを確認し、配置されていることを確認すると、ファイル管理装置５の「/d1/f2ファイル」のhash値を算出し、照合情報ＲｘｘのリストＢ１に記載のダイジェスト値「データ２」と照合する。照合部１４８は、いずれについても算出したhash値とリストＢ１のダイジェスト値とが一致していた場合には、照合条件Ｃ１を満たすと判定する。
【０１５４】
次に、照合部１４８は、確認対象のうちリストＢ２に記載のファイルｆ３について、照合条件Ｃ２を満たすか否かを判定する。この場合、照合部１４８は、ファイル管理装置５に、照合情報ＲｘｘのリストＢ２に記載のファイルパス「/d1/d2/f3」が配置されていることを確認する。図２９の例では、照合部１４８は、照合情報ＲｘｘのリストＢ２に記載のファイルパス「/d1/d2/f3」が配置されていることを確認できるため、照合条件Ｃ２を満たすと判定する。
【０１５５】
次に、照合部１４８は、リストＢ３に記載のディレクトリパス「/d1」について、照合条件Ｃ３を満たすか否かを判定する。この場合、照合部１４８は、照合情報ＲｘｘのリストＢ３に記載のディレクトリパス「/d1」がファイル管理装置５に配置されていることを確認する。図２９の例では、照合情報ＲｘｘのリストＢ３に記載のディレクトリパス「/d1」がファイル管理装置５に配置されていることが確認できる。
【０１５６】
そして、ファイル管理装置５上の「/d1」直下のファイル｛d1/f1,d1/f2｝について、照合部１４８は、以下を確認する。まず、照合部１４８は、「/d1」直下のファイル「/d1/f1」，「/d1/f2」が、照合情報ＲｘｘのリストＢ１またはリストＢ２に記載のファイルであるか否かを判定する。図２９の例では、「/d1」直下のファイル「/d1/f1」，「/d1/f2」はいずれも、照合情報ＲｘｘのリストＢ１に記載のファイルパスである。このため、照合部１４８は、「/d1」直下のファイル「/d1/f1」，「/d1/f2」が、照合情報ＲｘｘのリストＢ１に記載のファイルであると判定できる。
【０１５７】
続いて、照合部１４８は、「/d1」直下のディレクトリ「/d1/d2」について、照合情報ＲｘｘのリストＢ１またはリストＢ２に記載のファイルを、配下に配置するディレクトリパスであることを確認する。図２９の場合には、ディレクトリ「/d1/d2」の配下にはリストＢ２に記載のファイルｆ３が配置されるため、「/d1」直下のディレクトリ「/d1/d2」について、照合情報ＲｘｘのリストＢ２に記載のファイルを、配下に配置するディレクトリパスであることを確認できる。すなわち、図２９の例では、ディレクトリ「/d1」直下のファイルは、いずれもディレクトリ条件ｂ３１，ｂ３２を満たすため、照合部１４８は、照合条件Ｃ３を満たすと判定する。照合部１４８は、以上の照合結果を確認部１４９に出力する。
【０１５８】
［確認部の処理］
次に、図２９の例の場合に対する確認部１４９の処理について説明する。確認部１４９は、照合部１４８の照合結果を基に、確認項目Ａ１〜Ａ３について確認を行う。
【０１５９】
まず、確認部１４９は、ファイル管理装置５に配置されたファイルが、照合情報ＲｘｘのリストＢ１記載の全てのリストについて、照合条件Ｃ１を満たす場合には、確認項目Ａ１を満たすと判定する。すなわち、確認部１４９は、配置されるべきファイルが改ざんされてないと判定する。一方、確認部１４９は、ファイル管理装置５に配置されたファイルが、照合情報ＲｘｘのリストＢ１記載の全てのリストについて、照合条件Ｃ１を満たさない場合には、確認項目Ａ１を満たしていないと判定する。すなわち、確認部１４９は、配置されるべきファイルが改ざんされていると判定する。
【０１６０】
続いて、確認部１４９は、ファイル管理装置５に配置されたファイルが、照合情報ＲｘｘのリストＢ１記載の全てのリストについて照合条件Ｃ１を満たし、かつ、照合情報ＲｘｘのリストＢ２記載の全てのリストについて照合条件Ｃ２を満たす場合には、確認項目Ａ２を満たすと判定する。すなわち、確認部１４９は、配置されるべきファイルが削除されてないと判定する。一方、確認部１４９は、ファイル管理装置５に配置されたファイルが、照合情報ＲｘｘのリストＢ１記載の全てのリストについて照合条件Ｃ１を満たしていない、または、照合情報ＲｘｘのリストＢ２記載の全てのリストについて照合条件Ｃ２を満たしていない場合には、確認項目Ａ２を満たさないと判定する。すなわち、確認部１４９は、配置されるべきファイルが削除されていると判定する。
【０１６１】
そして、確認部１４９は、ファイル管理装置５に配置されたファイルが、照合情報ＲｘｘのリストＢ３記載の全てのリストについて、照合条件Ｃ３を満たす場合には、確認項目Ａ３を満たすと判定する。すなわち、確認部１４９は、配置されるべきでないファイルが追加されてないと判定する。一方、確認部１４９は、ファイル管理装置５に配置されたファイルが、照合情報ＲｘｘのリストＢ３記載の全てのリストについて、照合条件Ｃ３を満たしていない場合には、確認項目Ａ３を満たさないと判定する。すなわち、確認部１４９は、配置されるべきでないファイルが追加されていると判定する。
【０１６２】
なお、ファイル管理装置５は、複数の照合情報Ｒｘ１，Ｒｘ２，Ｒｘ３を登録しておき、複数の照合情報に対して順次または同時に照合及び確認を実施してもよい。また、ファイル管理装置５は、一つまたは複数の照合情報に対する完全性確認の順序や時刻をスケジューラ機能などに事前登録し、自動的に照合処及び確認を実施してもよい。また、ファイル管理装置５は、確認結果に基づきログやアラームなどを生成する他、エラーとなったファイルに対するアクセスを禁止する等の対処を取ってもよい。
【０１６３】
［ファイル確認処理の処理手順］
次に、ファイル管理装置５によるファイル確認処理の処理手順について説明する。図３０は、実施の形態に係るファイル確認処理の処理手順のフローチャートである。
【０１６４】
まず、ファイル管理装置５では、ファイル管理部１４１が、管理対象のファイルについて、ファイルパスによってファイルデータを識別し、ディレクトリによってファイルパスを分類し、ディレクトリパスによってディレクトリを識別するファイル管理工程を実行すする。また、ファイル確認部１４３が、確認用情報記憶部１２から、ファイル集合の確認のために用いる照合情報１２２を取得し（ステップＳ５１）、確認用情報記憶部１２に記憶させる。
【０１６５】
そして、照合部１４８は、確認対象のファイル集合に応じて、確認に用いる照合情報１２２を決定し、照合処理を行う（ステップＳ５２）。照合処理は、所定の確認タイミングに達すると、配置されたファイルのファイルパス及び照合情報１２２が示すファイルパス、配置されたファイルのファイルデータのダイジェスト値及び照合情報１２２が示すファイルデータのダイジェスト値、及び、配置されたファイルのディレクトリパス及び照合情報１２２が示すディレクトリパス、のいずれか一つを照合する処理である。
【０１６６】
続いて、確認部１４９は、照合部１４８による照合結果を基に、確認項目Ａ１〜Ａ３の少なくともいずれか一つを確認する確認処理を行い（ステップＳ５３）、通信部１３或いは出力部１６が確認結果を出力する（ステップＳ５４）。
【０１６７】
［照合処理の処理手順］
次に、照合処理（ステップＳ５２）の処理手順について説明する。図３１は、図３０に示す照合処理の処理手順を示すフローチャートである。
【０１６８】
図３１に示すように、照合部１４８は、照合情報１２２のリストＢ１のファイルパスとダイジェスト値との組み合わせを参照する（ステップＳ６１）。そして、照合部１４８は、ファイル管理装置５にリストＢ１記載のファイルパスに一致する全てのファイルが配置されているか否かを確認する（ステップＳ６２）。
【０１６９】
照合部１４８は、ファイル管理装置５にリストＢ１記載のファイルパスに一致する全てのファイルが配置されていないこと確認した場合（ステップＳ６２：Ｎｏ）、ファイル管理装置５に配置されたファイルは照合条件Ｃ１を満たさないと判定する（ステップＳ６３）。
【０１７０】
一方、照合部１４８は、ファイル管理装置５にリストＢ１記載のファイルパスに一致する全てのファイルが配置されていること確認した場合（ステップＳ６２：Ｙｅｓ）、ファイル管理装置５に配置された各ファイルのファイルデータのhash値を計算する（ステップＳ６４）。そして、照合部１４８は、ファイルごとに、リストＢ１のダイジェスト値と計算したhash値とを照合する（ステップＳ６５）。照合部１４８は、全てのファイルについて、リストＢ１のダイジェスト値と計算したhash値とが一致するか否かを判定する（ステップＳ６６）。
【０１７１】
照合部１４８は、全てのファイルについて、リストＢ１のダイジェスト値と計算したhash値とが一致しないと判定した場合（ステップＳ６６：Ｎｏ）、このファイルは照合条件Ｃ１を満たさないと判定する（ステップＳ６３）。一方、照合部１４８は、全てのファイルについて、リストＢ１のダイジェスト値と計算したhash値とが一致すると判定した場合（ステップＳ６６：Ｙｅｓ）、このファイルは照合条件Ｃ１を満たすと判定する（ステップＳ６７）。
【０１７２】
続いて、照合部１４８は、照合情報１２２のリストＢ２のファイルパスを参照する（ステップＳ６８）。照合部１４８は、ファイル管理装置５に、リストＢ２記載の全てのファイルパスが確認対象のファイル集合内に配置されているか否かを判定する（ステップＳ６９）。照合部１４８は、リストＢ２記載の全てのファイルパスが配置されていないと判定した場合（ステップＳ６９：Ｎｏ）、照合条件Ｃ２を満たさないと判定する（ステップＳ７０）。一方、照合部１４８は、リストＢ２記載の全てのファイルパスが配置されていると判定した場合（ステップＳ６９：Ｙｅｓ）、照合条件Ｃ２を満たすと判定する（ステップＳ７１）。
【０１７３】
続いて、照合部１４８は、照合情報１２２のリストＢ３のディレクトリパスを参照する（ステップＳ７２）。そして、照合部１４８は、照合情報１２２のリストＢ３の全てのディレクトリパスがファイル管理装置５に配置されているか否かを判定する（ステップＳ７３）。照合部１４８は、照合情報１２２のリストＢ３の全てのディレクトリパスがファイル管理装置５に配置されていると判定した場合（ステップＳ７３：Ｙｅｓ）、該ディレクトリの直下のファイルは、照合情報１２２のリストＢ１またはリストＢ２に記載のファイルであるか否かを判定する（ステップＳ７５）。
【０１７４】
照合部１４８は、ディレクトリの直下のファイルは、照合情報１２２のリストＢ１またはリストＢ２に記載のファイルでないと判定した場合（ステップＳ７５：Ｎｏ）、直下のディレクトリは、リストＢ１，Ｂ２に記載のファイルを一つ以上配下に配置するディレクリであるか否かを判定する（ステップＳ７６）。
【０１７５】
照合部１４８は、照合情報１２２のリストＢ３の全てのディレクトリパスがファイル管理装置５に配置されていないと判定した場合（ステップＳ７３：Ｎｏ）、直下のディレクトリは、リストＢ１，Ｂ２に記載のファイルを一つ以上配下に配置するディレクリでないと判定した場合（ステップＳ７６：Ｎｏ）、照合条件Ｃ３を満たさないと判定する（ステップＳ７４）。
【０１７６】
これに対し、照合部１４８は、ディレクトリの直下のファイルは、照合情報１２２のリストＢ１またはリストＢ２に記載のファイルであると判定した場合（ステップＳ７５：Ｙｅｓ）、または、直下のディレクトリは、リストＢ１，Ｂ２に記載のファイルを一つ以上配下に配置するディレクリであると判定した場合（ステップＳ７６：Ｙｅｓ）、照合条件Ｃ３を満たすと判定する（ステップＳ７７）。照合部１４８は、照合条件Ｃ１〜Ｃ３に対する照合結果を確認部１４９に出力する（ステップＳ７８）。
【０１７７】
［確認処理の処理手順］
次に、確認処理（ステップＳ５３）の処理手順について説明する。図３２は、図３０に示す確認処理の処理手順を示すフローチャートである。
【０１７８】
図３２に示すように、確認部１４９は、照合部１４８による照合結果を取得すると（ステップＳ８１）、ファイル管理装置５に配置されたファイルが、照合情報１２２のリストＢ１記載の全てのリストについて、照合条件Ｃ１を満たすか否かを判定する（ステップＳ８２）。確認部１４９は、照合情報１２２のリストＢ１記載の全てのリストについて、照合条件Ｃ１を満たすと判定した場合（ステップＳ８２：Ｙｅｓ）、配置されるべきファイルが改ざんされていないこと（確認項目Ａ１）を確認する（ステップＳ８３）。これに対し、確認部１４９は、照合情報１２２のリストＢ１記載の全てのリストについて、照合条件Ｃ１を満たしていないと判定した場合（ステップＳ８２：Ｎｏ）、配置されるべきファイルがない、或いは、配置されるべきファイルが改ざんされていることを確認する（ステップＳ８４）。
【０１７９】
続いて、確認部１４９は、ファイル管理装置５に配置されたファイルが、照合情報１２２のリストＢ１記載の全てのリストについて照合条件Ｃ１を満たし、かつ、照合情報１２２のリストＢ２記載の全てのリストについて照合条件Ｃ２を満たすか否かを判定する（ステップＳ８５）。
【０１８０】
確認部１４９は、照合情報１２２のリストＢ１記載の全てのリストについて照合条件Ｃ１を満たし、かつ、照合情報１２２のリストＢ２記載の全てのリストについて照合条件Ｃ２を満たすと判定した場合には（ステップＳ８５：Ｙｅｓ）、配置されるべきファイルが削除されていない（確認項目Ａ２）と判定する（ステップＳ８６）。これに対し、確認部１４９は、照合情報１２２のリストＢ１記載の全てのリストについて照合条件Ｃ１を満たし、かつ、照合情報１２２のリストＢ２記載の全てのリストについて照合条件Ｃ２を満たしていないと判定した場合には（ステップＳ８５：Ｎｏ）、配置されるべきファイルが削除されていると判定する（ステップＳ８７）。
【０１８１】
そして、確認部１４９は、ファイル管理装置５に配置されたファイルが、照合情報１２２のリストＢ３記載の全てのリストについて、照合条件Ｃ３を満たすか否かを判定する（ステップＳ８８）。確認部１４９は、照合情報１２２のリストＢ３記載の全てのリストについて、照合条件Ｃ３を満たすと判定した場合（ステップＳ８８：Ｙｅｓ）、配置されるべきでないファイルが追加されてない（確認項目Ａ３）と判定する（ステップＳ８９）。確認部１４９は、照合情報１２２のリストＢ３記載の全てのリストについて、照合条件Ｃ３を満たさないと判定した場合（ステップＳ８８：Ｎｏ）、配置されるべきでないファイルが追加されていると判定する（ステップＳ９０）。
【０１８２】
続いて、確認部１４９は、確認結果を作成し（ステップＳ９１）、通信部１３又は出力部１６に出力して確認処理を終了する。
【０１８３】
［実施の形態の効果］
ここで、従来の業務アプリケーションｔａｒ形式では、複数のソフトウェアを一度にまとめて追加することができる。この場合、共有ライブラリのような細かい関連ソフトウェアまで過不足なく把握して共通定義情報を準備することは、ソフトウェア提供元の開発者にとっては負担となる。また、インストール時に追加、削除、変更されたものをひとまとめにして共通定義情報とする方法も考えられる。しかしながら、初期導入時やバージョンアップ時等、タイミングによって対象となるソフトウェアの組み合わせが異なるため、全てのバリエーションに対応する共通定義情報を作成するのは、手間がかかる。
【０１８４】
また、共有ライブラリは他のアプリケーションによってバージョンアップされることもあり、その度に共通定義情報を作り直すのは非現実的である。そして、共有ライブラリをまとめてｔａｒ形式等で提供する場合、実際にどのようなソフトウェアやライブラリが含まれているのかを、アプリケーションを利用するオペレータが全て把握し、該当する共通定義情報を過不足なく準備することは困難である。
【０１８５】
そこで、共通定義情報取得装置３では、共通定義情報の識別子(例えばインストールしたソフトウェア名)を入力すると、その識別子を基に、取得候補となる共通定義情報の識別子(のリスト)を抽出する。そして、共通定義情報取得装置３では、抽出した識別子に該当する共通定義情報を共通定義情報ＤＢ２から取得し、各々の共通定義情報について、条件に合致するファイル管理装置５上のファイルＦが存在するかを比較、判別する。続いて、共通定義情報取得装置３では、判別結果に基づき、最終的に必要な共通定義情報のみを出力することで、過不足なく対応する共通定義情報を取得する。
【０１８６】
このため、共通定義情報取得装置３では、パッケージ管理システムを用いない提供形式において、一度に複数のソフトウェアをインストールした場合でも、当該ソフトウェアの共通情報を過不足なく取得することが可能となる。そして、共通定義情報取得装置３は、取得した共通定義情報を照合情報作成装置４への入力とすることで、照合情報作成装置４では、管理者の負担を減らしながらも、適正な照合情報を効率的に作成可能になる。
【０１８７】
そして、照合情報生成装置４は、共通定義情報取得装置３が取得した共通定義情報１２３の少なくとも一部を基に、このファイル管理装置５に適合する照合情報１２２を生成する。すなわち、本実施の形態に係るファイル管理システム１は、共有の共通定義情報に加え、当該ファイル管理装置５に応じて個別に備えるべき条件を示す個別定義情報１２５を用いて、個別定義情報１２５と共通定義情報１２３とをともに満たす照合情報を生成する。
【０１８８】
言い換えると、本実施の形態に係るファイル管理システム１では、管理者が入力する個別定義情報と、外部から取得した共有の共通定義情報１２３の少なくとも一部とを用いて、照合情報１２２を生成する。したがって、本実施の形態に係るファイル管理システム１によれば、管理者が入力する情報は、ファイルの一部を変更したファイル等に関する個別定義情報のみでよく、照合情報作成に関する管理者の負担を低減することができる。これによって、本実施の形態では、ファイル管理装置５の管理者による照合情報作成コストも軽減できる。
【０１８９】
そして、従来では、ソフトウェアパッケージに属するファイルの一部を変更可能である場合、ソフトウェアの提供元は、このようなファイルに対する正確な照合情報を提供できない場合があった。この場合、システム管理者は、一部を変更可能なファイルについての照合情報を取得することができず、ファイルの完全性を確認できないという問題があった。
【０１９０】
例えば、従来では、ソフトウェアパッケージに属するファイルのファイルパスの一部をカスタマイズ可能な場合（prefix指定、ワイルドカード指定等）、ソフトウェア提供元は、これらのファイルの照合情報のリストＢ１〜Ｂ３のファイルパスを指定できない場合があった。
【０１９１】
これに対し、本実施の形態では、ソフトウェア提供者は、照合情報のリストＢ１〜Ｂ３のファイルパスに対して、要素属性Ｅ２にファイルパス条件を示す共通定義情報Ｇ１，Ｇ２，Ｇ３を作成して提供する。そして、ファイル管理装置５の管理者は、共通定義情報の定義Ｄ１のファイルパス条件を満たす範囲で、管理対象のファイルのファイルパスを決定する。そして、ファイル管理装置５の管理者は、このように決定したファイルパスを照合情報１２２のリストＢ１〜Ｂ３のファイルパスに指定する。このため、本実施の形態では、照合情報のリストＢ１〜Ｂ３のファイルパスを滞りなく決定することができる。
【０１９２】
また、例えば、従来では、ソフトウェアパッケージに属するファイルの一部を、インストール時に削除することが可能な場合（マニュアルファイル等）、ソフトウェア提供元は、これらのファイルを照合情報のリストＢ２，Ｂ３に掲載するか否かを判断できない。
【０１９３】
これに対し、本実施の形態では、ソフトウェア提供者は、照合情報のリストＢ１，Ｂ２のファイルに対して、共通定義情報の要素属性Ｅ２の必須フラグを作成して提供する。ファイル管理装置５の管理者は、共通定義情報の定義Ｄ２の必須フラグが「否（Ｆ）」のファイルについて、インストールするか否かを決定し、インストールしないことに決定したファイルを照合情報のリストＢ１，Ｂ２から削除する。このため、本実施の形態では、照合情報のリストＢ１，Ｂ２に掲載するファイルの決定を滞りなく実行できる。
【０１９４】
また、例えば、従来では、ソフトウェアパッケージに属するファイルデータの一部を、インストール時に変更することが可能な場合（設定ファイル等）、ソフトウェア提供元はこれらのファイルの照合情報のリストＢ１のファイルデータのダイジェスト値を指定できない場合があった。
【０１９５】
これに対し、本実施の形態では、ソフトウェア提供者は、照合情報のリストＢ１のファイルに対して、共通定義情報の要素属性Ｅ３である固定値フラグを作成して提供する。ファイル管理装置５の管理者は、共通定義情報のＥ３の固定値フラグが「否（Ｆ）」のファイルについて、データを変更するか否かを決定し、変更することに決定したファイルのダイジェスト値を照合情報のリストＢ１のダイジェスト値に設定する。このため、本実施の形態では、照合情報のリストＢ１のファイルデータのダイジェスト値の決定を滞りなく実行できる。
【０１９６】
このように、本実施の形態では、ファイル管理装置５においてソフトウェアパッケージに属するファイルの一部が変更された場合であっても、ファイル管理装置５は、この変更したソフトウェアパッケージに対する正確な照合情報を生成できる。したがって、本実施の形態によれば、ファイル管理装置５においてソフトウェアパッケージに属するファイルの一部を変更した場合であっても、配置されたファイルに適合する照合情報を用いて、ファイルの完全性を正確に確認できる。
【０１９７】
また、本実施の形態では、照合情報の全てをソフトウェア提供者及びファイル管理装置５の管理者に決定させるのではない。本実施の形態によれば、対応可能である一部の情報をソフトウェア提供者及びファイル管理装置５の管理者が設定するのみで、ファイル管理装置５に適した照合情報を生成可能である。したがって、本実施の形態によれば、ファイル管理装置５の管理者に加え、ソフトウェア提供者の負担も低減することができる。
【０１９８】
また、本実施の形態では、照合情報１２２として、配置されるべきであるファイルであり、かつ、ファイルデータが変化しないファイルのファイルパスとファイルデータのダイジェスト値との組み合わせを示すリストＢ１を有する照合情報を用いる。そして、本実施の形態では、配置されたファイルのファイルパス及び照合情報１２２が示すファイルパス、配置されたファイルのファイルデータのダイジェスト値及び照合情報１２２が示すファイルデータのダイジェスト値を照合し、配置されるべきファイルが改ざんされてないことを確認している。したがって、本実施の形態によれば、ファイル管理装置５の管理者の負担なく、ファイルの過不足を確認することが可能になる。
【０１９９】
そして、本実施の形態では、照合情報１２２として、配置されるべきファイルであり、かつ、ファイルデータが変化しうるファイルのファイルパスを示すリストＢ２を有する照合条件を用いる。そして、本実施の形態では、照合情報１２２として、直下のファイルは同じ照合情報に属するリストＢ１またはリストＢ２に記載のファイルである第１のディレクトリ条件、直下のディレクトリは同じ照合情報に属するリストＢ１またはリストＢ２に記載のファイルを一つ以上配下に配置するディレクトリである第２のディレクトリ条件、直下に第１のディレクトリ条件または第２のディレクトリ条件に該当しないファイルまたはディレクトリを配置しない第３のディレクトリ条件を満たすディレクトリのディレクトリパスを示すリストＢ３、を有する照合情報を用いる。
【０２００】
そして、本実施の形態では、配置されたファイルのファイルパス及び照合情報１２２が示すファイルパス、配置されたファイルのディレクトリパス及び照合情報１２２が示すディレクトリパス、ディレクトリ条件を照合することによって、ログファイル等のダイジェスト値を定義できないファイル、及び、ディレクトリの過不足確認を適切に行うことができる。
【０２０１】
このように、実施の形態によれば、ファイル管理に関するファイル管理装置５の管理者の負担を低減するとともに、管理対象のファイルに応じた適正な照合情報を用いてファイルを正確に確認することができる。
【０２０２】
［実施の形態の変形例１］
実施の形態として、ファイル管理装置５が、確認項目Ａ１〜Ａ３の全てを確認する場合について説明したが、もちろん、ファイル管理装置５は、確認項目Ａ１〜Ａ３のいずれかを選択して確認を行ってもよい。その場合には、確認対象の確認項目によって使用する照合情報のリストの組み合わせが異なる。言い換えると、ファイル管理装置５は、取得した照合情報１２２が有するリストＢ１〜Ｂ３の組み合わせに応じて、確認項目Ａ１と、確認項目Ａ２，Ａ３との少なくともいずれか一つを確認する。
【０２０３】
図３３は、図２５に示す対応関係情報１２７のデータ構成の一例を示す図である。図３３に示すように、対応関係情報１２７は、改ざん確認（確認項目Ａ１）、過不足確認（確認項目Ａ２，Ａ３）の確認をする、または、しない、の組み合わせに応じて、照合情報のリストＢ１〜Ｂ３が必要、または、不要であるかを対応付けている。
【０２０４】
上述したように、改ざん確認（確認項目Ａ１）、過不足確認（確認項目Ａ２，Ａ３）のいずれについても実行する場合には、１行目の方法１に示すように、照合情報１２２のリストＢ１〜Ｂ３の全てが必要である。また、改ざん確認（確認項目Ａ１）のみを実行する場合には、２行目の方法２に示すように、リストＢ１のみが必要である。また、過不足確認（確認項目Ａ２，Ａ３）のみを実行する場合には、３行目の方法３に示すように、リストＢ２，Ｂ３のみが必要である。なお、改ざん確認（確認項目Ａ１）、過不足確認（確認項目Ａ２，Ａ３）のいずれについても実行しない場合には、４行目に示すように、リストＢ１〜Ｂ３のいずれも不要である。このように、ファイル管理装置５は、確認項目の組み合わせに応じて、必要となるリストＢ１〜Ｂ３を取得すればよい（確認項目決定方法１）。一方、取得可能な照合情報、すなわち、作成・配布された照合情報にリストＢ１，Ｂ２，Ｂ３全てが備わっておらず、リストＢ１のみ、リストＢ２，Ｂ３のみ、といったケースが存在し、これらのケースにおいて実施可能な確認項目を確認する方法もある（確認項目決定方法２）。例えば、リストＢ１のみの照合情報であれば、確認項目Ａ１のみ確認し、リストＢ２、Ｂ３のみの照合情報であれば、確認項目Ａ２，Ａ３のみを確認する。確認項目決定方法１と確認項目決定方法２は矛盾しないため、１つのシステムで両方実現可能であるが、確認項目決定方法２のみを実施するシステムであってもよい。
【０２０５】
［実施の形態の変形例２］
次に、実施の形態の変形例２について説明する。図３４は、実施の形態の変形例２における照合情報の生成処理を説明する図である。図３４に示すように、｛prefix｝は、共通定義情報Ｇｘ、個別定義情報Ｃｘ、照合情報ＲｘｘのリストＢ１〜Ｂ３において共通の値である。
【０２０６】
共通定義情報Ｇｘでは、ファイルパス条件及びディレクトリパス条件は、照合情報のリストＢ１、リストＢ２及びリストＢ３に記載するファイルまたはディレクトリの全体または一部を、prefix範囲と定義する。そして、共通定義情報Ｇｘでは、ファイルパス条件及びディレクトリパス条件は、prefix範囲を当該ファイル管理装置５で個別に決定したディレクトリパス（prefix）の配下に配置することを許可する。さらに、共通定義情報Ｇｘでは、ファイルパス条件及びディレクトリパス条件は、ディレクトリパス（prefix）以外は、ファイル管理装置５で個別に決定することを許可しない。
【０２０７】
例えば、照合情報Ｒｘｘのファイルパスの作成処理を例に説明する。共通定義情報Ｇｘは、ファイルパスの一部をprefix定義する（図３４の（１）参照）。また、個別定義情報Ｌｘｘでは、prefixの値を定義する（図３４の（２）参照）。生成部１４７は、共通定義情報Ｇｘでは、ファイルパス条件にしたがい、共通定義情報Ｇｘと個別定義情報Ｌｘｘの定義からファイルパスを作成する。具体的には、ファイル「＃１１」については、共通定義情報Ｇｘは、ファイル「＃１１」のファイルパスを「/［prefix1］/f11」と定義する。そして、個別定義情報Ｌｘｘでは、prefixの値を「dc」と定義する。生成部１４７は、共通定義情報Ｇｘと個別定義情報Ｌｘｘの定義から、ファイル「＃１１」のファイルパスとして「/dc/f11」を作成する（図３４の（３）参照）。なお、照合情報Ｒｘｘにおいて、複数のprefixを定義することもできる。例えば、２つのprefix（例：prefix1,prefix2）を定義することにより、個別にディレクトリパスを決定した２つのディレクトリ配下のファイル集合を定義することができる。
【０２０８】
図３５は、実施の形態の変形例２における照合情報の生成処理の他の例を説明する図である。図３５に示すように、｛wildcard｝は、共通定義情報Ｇｘ、個別定義情報Ｃｘ、照合情報ＲｘｘのリストＢ１〜Ｂ３において任意の値であり、共通である必要はない。
【０２０９】
共通定義情報Ｇｘでは、ファイルパス条件及びディレクトリパス条件は、照合情報のリストＢ１、リストＢ２及びリストＢ３に記載するファイルパスまたはディレクトリパスを構成する文字列の一部をワイルドカード部分と定義する。そして、共通定義情報Ｇｘでは、ワイルドカード部分を当該ファイル管理装置５で個別に決定した任意の文字列に置換することを許可する。そして、共通定義情報Ｇｘでは、ワイルドカード部分以外は当該ファイル管理装置で個別に決定することを許可しない。
【０２１０】
例えば、照合情報Ｒｘｘのファイルパスの作成処理を例に説明する。共通定義情報Ｇｘは、ファイルパスの一部をワイルドカード定義する（図３５の（１）参照）。また、個別定義情報Ｌｘｘでは、ワイルドカードの値を定義する（図３５の（２）参照）。生成部１４７は、共通定義情報Ｇｘでは、ファイルパス条件にしたがい、共通定義情報Ｇｘと個別定義情報Ｌｘｘの定義からファイルパスを作成する（図３５の（３）参照）。具体的には、ファイル「＃１２」については、共通定義情報Ｇｘは、ファイル「＃１２」のファイルパスを「/d2/[wildcard12].exe」と定義する。そして、個別定義情報Ｌｘｘでは、ファイル「＃１２」のファイルパスについて、「[wildcard12]=“fc12”」と定義する。生成部１４７は、共通定義情報Ｇｘと個別定義情報Ｌｘｘの定義から、ファイル「＃１２」のファイルパスとして「/d2/fc12.exe」を作成する。
【０２１１】
図３６は、実施の形態の変形例２における照合情報の生成処理の他の例を説明する図である。図３６に示すように、正規表現は、共通定義情報Ｇｘ、個別定義情報Ｌｘｘ、照合情報ＲｘｘのリストＢ１〜Ｂ３において任意の値であり、共通である必要はない。
【０２１２】
共通定義情報Ｇｘでは、ファイルパス条件及びディレクトリパス条件は、照合情報のリストＢ１、リストＢ２及びリストＢ３に記載するファイルパスまたはディレクトリパスを構成する文字列を、正規表現によって定義する。
【０２１３】
例えば、照合情報Ｒｘｘのファイルパスの作成処理を例に説明する。共通定義情報Ｇｘは、ファイルパスの一部を正規表現定義する（図３６の（１）参照）。また、個別定義情報Ｌｘｘでは、正規表現の値を定義する（図３６の（２）参照）。生成部１４７は、共通定義情報Ｇｘでは、ファイルパス条件にしたがい、共通定義情報Ｇｘと個別定義情報Ｌｘｘの定義からファイルパスを作成する（図３６の（３）参照）。具体的には、ファイル「＃１２」については、共通定義情報Ｇｘは、ファイル「＃１２」のファイルパスを「/d2/f12.*\.exe」とし、一部を正規表現による任意文字列「.*」で定義する。そして、個別定義情報Ｌｘｘでは、ファイル「＃１２」のファイルパスについて、任意文字列の値を「“test”」と定義する。生成部１４７は、共通定義情報Ｇｘと個別定義情報Ｌｘｘの定義から、ファイル「＃１２」のファイルパスとして「/d2/f12test.exe」を作成する。
【０２１４】
ここで、従来技術（例えば、非特許文献１，２記載の機能）では、ソフトウェアパッケージに属するファイルのファイルパスの一部をカスタマイズ可能な場合（prefix指定、ワイルドカード指定、等）、ソフトウェア提供元は、これらのファイルの照合情報のファイルパスを指定できない。
【０２１５】
これに対し、本実施の形態の変形例２では、ソフトウェア提供者は、一部に対し、prefix定義、ワイルドカード定義或いは正規表現定義を行った共通定義情報を提供する。そして、ファイル管理装置５の管理者は、共通定義情報のファイルパス条件及びディレクトリパス条件を満たす範囲で、prefix、ワイルドカード或いは正規表現の値を入力するのみで、決定する。そして、ファイル管理装置５の管理者は、このように決定したファイルパスを照合情報１２２のリストＢ１〜Ｂ３のファイルパスに指定する。このため、本実施の形態では、ソフトウェアパッケージに属するファイルのファイルパスの一部にprefix指定やワイルドカード指定が行なわれた場合であっても、照合情報のリストＢ１〜Ｂ３のファイルパスを滞りなく決定することができる。
【０２１６】
［実施の形態のシステム構成について］
図１に示したファイル管理システム１が有する各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、ファイル管理システム１が有する各装置の機能の分散及び統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
【０２１７】
また、ファイル管理システム１が有する各装置においておこなわれる各処理は、全部または任意の一部が、ＣＰＵ、ＧＰＵ（Graphics  Processing  Unit）、及び、ＣＰＵ、ＧＰＵにより解析実行されるプログラムにて実現されてもよい。また、ファイル管理システム１が有する各装置においておこなわれる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。
【０２１８】
また、実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的に行うこともできる。もしくは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述及び図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。
【０２１９】
［プログラム］
図３７は、プログラムが実行されることにより、ファイル管理システム１が有する各装置が実現されるコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【０２２０】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【０２２１】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、ファイル管理システム１が有する各装置の各処理を規定するプログラムは、コンピュータ１０００により実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、ファイル管理システム１が有する各装置における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤにより代替されてもよい。
【０２２２】
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【０２２３】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【０２２４】
以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【０２２５】
１  ファイル管理システム
２  共通定義情報データベース（ＤＢ）
３  共通定義情報取得装置
４  照合情報生成装置
５  ファイル管理装置
１１  ファイル記憶部
１２  確認用情報記憶部
３１，４１，５１  入力部
３２，４２，５２  通信部
３３，４３，５３  記憶部
３４，４４，５４  制御部
３５，４５，５５  出力部
１２１  確認内容情報
１２２  照合情報
１２３  共通定義情報
１２４  項目抽出情報
１２５  個別定義情報
１２６  条件情報
１２７  対応関係情報
１４１  ファイル管理部
１４２  照合情報生成部
１４３  ファイル確認部
１４４  共通定義情報取得部
１４５  個別定義項目抽出部
１４６  個別定義情報入力部
１４７  生成部
１４８  照合部
１４９  確認部
３３１  識別子情報
３４１  共通定義情報取得部
３４２  共通定義情報判別部
３４３  出力制御部
【図１】
2020071560.tif 000003
【図２】
2020071560.tif 000004
【図３】
2020071560.tif 000005
【図４】
2020071560.tif 000006
【図５】
2020071560.tif 000007
【図６】
2020071560.tif 000008
【図７】
2020071560.tif 000009
【図８】
2020071560.tif 000010
【図９】
2020071560.tif 000011
【図１０】
2020071560.tif 000012
【図１１】
2020071560.tif 000013
【図１２】
2020071560.tif 000014
【図１３】
2020071560.tif 000015
【図１４】
2020071560.tif 000016
【図１５】
2020071560.tif 000017
【図１６】
2020071560.tif 000018
【図１７】
2020071560.tif 000019
【図１８】
2020071560.tif 000020
【図１９】
2020071560.tif 000021
【図２０】
2020071560.tif 000022
【図２１】
2020071560.tif 000023
【図２２】
2020071560.tif 000024
【図２３】
2020071560.tif 000025
【図２４】
2020071560.tif 000026
【図２５】
2020071560.tif 000027
【図２６】
2020071560.tif 000028
【図２７】
2020071560.tif 000029
【図２８】
2020071560.tif 000030
【図２９】
2020071560.tif 000031
【図３０】
2020071560.tif 000032
【図３１】
2020071560.tif 000033
【図３２】
2020071560.tif 000034
【図３３】
2020071560.tif 000035
【図３４】
2020071560.tif 000036
【図３５】
2020071560.tif 000037
【図３６】
2020071560.tif 000038
【図３７】
2020071560.tif 000039