JP2020071560A - 管理システム、取得装置及び管理方法 - Google Patents

管理システム、取得装置及び管理方法 Download PDF

Info

Publication number
JP2020071560A
JP2020071560A JP2018203556A JP2018203556A JP2020071560A JP 2020071560 A JP2020071560 A JP 2020071560A JP 2018203556 A JP2018203556 A JP 2018203556A JP 2018203556 A JP2018203556 A JP 2018203556A JP 2020071560 A JP2020071560 A JP 2020071560A
Authority
JP
Japan
Prior art keywords
file
information
definition information
list
common definition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018203556A
Other languages
English (en)
Other versions
JP7056514B2 (ja
Inventor
宮本 剛
Takeshi Miyamoto
宮本  剛
和巳 木下
Kazumi Kinoshita
和巳 木下
雄一 小松
Yuichi Komatsu
雄一 小松
公洋 山越
Koyo Yamakoshi
公洋 山越
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2018203556A priority Critical patent/JP7056514B2/ja
Priority to AU2019371545A priority patent/AU2019371545B9/en
Priority to EP19879390.3A priority patent/EP3855334B1/en
Priority to US17/289,223 priority patent/US20220012230A1/en
Priority to CN201980071538.2A priority patent/CN112930534A/zh
Priority to PCT/JP2019/040636 priority patent/WO2020090469A1/ja
Publication of JP2020071560A publication Critical patent/JP2020071560A/ja
Application granted granted Critical
Publication of JP7056514B2 publication Critical patent/JP7056514B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】ファイル管理に関する管理者の負担を低減するとともに、管理対象のファイルに応じた適正かつ効率的に生成された照合情報を用いてファイルを正確に確認することができる。【解決手段】ファイル管理システム1は、共有の共通定義情報を記憶する装置から、取得装置に入力された共通定義情報の識別情報に対応する共通定義情報を取得する共通定義情報取得部と、取得した共通定義情報と管理するファイルとを比較し、共通定義情報の条件に全て合致するファイルが有るか否かを判別する共通定義情報判別部と、判別結果を基にファイル管理装置が管理するファイルに対応する共通定義情報を照合情報生成装置4に出力する出力制御部とを有する共通定義情報取得装置3を有する。【選択図】図1

Description

本発明は、管理システム、取得装置及び管理方法に関する。
従来、デジタルコンテンツの基準要約値を作成し、コンテンツの改ざんチェックを行うデジタルコンテンツの改ざん監視装置が提案されている(例えば、特許文献1参照)。この改ざん監視装置は、Webコンテンツの他、ファイル集合の改ざんや不足も監視している。この装置では、システム管理者が、クリーンな環境のスナップショットを作成し、これを照合情報としている。
また、ソフトウェア提供元がソフトウェアを構成するファイル集合の完全性を確認するデータを提供する機能として、UNIX(登録商標)系オペレーティングシステムに標準搭載されているソフトウェアパッケージの管理機能であるRPMがある(例えば、非特許文献1,2参照)。RPMは、パッケージごとにファイルのダイジェストや署名が提供されて、RPMデータベースに登録する。そして、RPMでは、ファイルシステムにインストールされたファイルと、データベースのダイジェスト値とを照合することができる。
特開2001−265217号公報
RPM Package Manager,[online],[平成30年9月19日検索],インターネット<URL:http://rpm.org/> All you have to know about RPM,[online],[平成30年9月19日検索],インターネット<URL:http://fedoranews.org/alex/tutorial/rpm/14.shtml>
しかしながら、従来技術では、ファイル管理に関して管理者の負担が重いという問題がある。また、従来技術では、ログファイル等のダイジェスト値を定義できないファイルの過不足を確認できない場合や、過不足確認するべきでないディレクトリを管理対象から除外できない場合があり、管理対象のファイルを正確に確認することが難しい場合があるという問題がある。また、従来技術では、ソフトウェアパッケージに属するファイルの一部を変更可能である場合、ソフトウェアの提供元は、このようなファイルに対する正確な照合情報を提供できず、管理者はファイルの完全性を正確に確認できないという問題があった。
具体的には、特許文献1記載の装置では、各システムでシステム運用者自身がスナップショットの作成及びメンテナンスを行う必要があり、システムでシステム運用者の負担及びトータルコストが高くなる上に、システム運用者の技量に頼るところが多いため、一定の正確性が保持できない場合があった。
特許文献1記載の装置では、このスナップショットにはデータ確認するべきでないファイルが含まれる。例えば、ログファイルやデータベースなどである。これらを照合情報から除外しなければ誤検知が生じる。しかしながら、これらを抽出するには、管理者がソフトウェアの動作仕様を熟知する必要があり、難しい場合があった。
また、特許文献1記載の装置では、スナップショットには過不足確認するべきでないディレクトリが含まれる。例えば、ソフトウェアの正当な動作によって追加削除されるファイルなどである。これらを照合情報から除外しなければ誤検知が生じる。しかしながら、これらを抽出するには管理者がソフトウェアの動作仕様を熟知する必要があり、難しい。このように、従来技術では、ファイル管理に関して管理者の負担が重くい上に、管理対象のファイルを正確に確認することが難しい場合があるという問題があった。
また、非特許文献1,2記載の機能では、ソフトウェアパッケージに属するファイルのファイルパスの一部をカスタマイズ可能な場合(prefix指定、ワイルドカード指定、等)、ソフトウェア提供元は、これらのファイルの照合情報のファイルパスを指定できない。また、非特許文献1,2記載の機能では、ソフトウェアパッケージに属するファイルの一部を、インストール時に削除することが可能な場合(マニュアルファイル等)、ソフトウェア提供元は、これらのファイルを照合情報に掲載するか否かを判断できない。さらに、非特許文献1,2記載の機能では、ソフトウェアパッケージに属するファイルデータの一部を、インストール時に変更することが可能な場合(設定ファイル等)、ソフトウェア提供元はこれらのファイルの照合情報のファイルデータのダイジェスト値を指定できない。したがって、従来技術では、ソフトウェアパッケージに属するファイルの一部を変更可能である場合、ソフトウェアの提供元は、このようなファイルに対する正確な照合情報を提供できなかった。
本発明は、上記に鑑みてなされたものであって、ファイル管理に関する管理者の負担を低減するとともに、管理対象のファイルに応じた適正かつ効率的に生成された照合情報を用いてファイルを正確に確認することができる管理システム、取得装置及び管理方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明に係る管理システムは、配置されたファイルを管理する管理装置と、ファイルの改ざん確認或いは過不足確認の際に管理装置が照合する照合情報を生成する生成装置と、生成装置が照合情報の生成に使用する情報を取得する取得装置とを有する管理システムであって、取得装置は、照合情報に記載する可能性のあるファイル及びディレクトリのリストである共通リストの定義と、個別のファイル管理装置において、照合情報のファイル及びディレクトリのリストの要素を決定する条件である要素属性の定義と、を示す共有の共通定義情報を記憶する装置から、取得装置に入力された共通定義情報の識別情報に対応する共通定義情報を取得する第1の取得部と、取得部が取得した共通定義情報と、ファイル管理装置が管理するファイルとを比較し、共通定義情報の条件に全て合致するファイルが有るか否かを判別する判別部と、判別部による判別結果を基に、取得部が取得した共通定義情報のうちファイル管理装置が管理するファイルに対応する共通定義情報を生成装置に出力する出力部と、を有することを特徴とする。
また、本発明に係る取得装置は、ファイルの改ざん確認或いは過不足確認の際に照合する照合情報の生成に使用する情報を取得する取得装置であって、照合情報に記載する可能性のあるファイル及びディレクトリのリストである共通リストの定義と、個別のファイル管理装置において、照合情報のファイル及びディレクトリのリストの要素を決定する条件である要素属性の定義と、を示す共有の共通定義情報を記憶する装置から、取得装置に入力された共通定義情報の識別情報に対応する共通定義情報を取得する取得部と、取得部が取得した共通定義情報と、ファイル管理装置が管理するファイルとを比較し、共通定義情報の条件に全て合致するファイルが有るか否かを判別する判別部と、判別部による判別結果を基に、取得部が取得した共通定義情報のうち管理対象のファイルに対応する共通定義情報を出力する出力部と、を有することを特徴とする。
本発明によれば、ファイル管理に関する管理者の負担を低減するとともに、管理対象のファイルに応じた適正かつ効率的に生成された照合情報を用いてファイルを正確に確認することができる。
図1は、実施の形態に係るファイル管理装置を有する管理システムの概略構成を示す模式図である。 図2は、図1に示す共通定義情報取得装置の概略構成を示す模式図である。 図3は、図2に示す共通定義情報が定義する内容を説明する図である。 図4は、図2に示す共通定義情報が定義する要素属性を説明する図である。 図5は、図2に示す共通定義情報の一例を示す図である。 図6は、共通定義情報の識別子の一例を説明する図である。 図7は、共通定義情報の識別子の一例を説明する図である。 図8は、共通定義情報データベース(DB)が記憶する共通定義情報の一例を示す図である。 図9は、図1に示すファイル管理装置が管理するファイル(ソフトウェア)を説明する図である。 図10は、実施の形態に係る共通定義情報取得処理の処理手順を示すフローチャートである。 図11は、図10に示す共通定義情報判別処理の処理手順を示すフローチャートである。 図12は、図1に示す照合情報生成装置の概略構成を示す模式図である。 図13は、図12に示す照合情報が有するリストの内容を説明する図である。 図14は、図12に示す照合情報の一例を示す図である。 図15は、図12に示す項目抽出情報について説明する図である。 図16は、図12に示す個別定義情報を説明する図である。 図17は、図12に示す個別定義情報の一例を示す図である。 図18は、図12に示す生成部による照合情報の生成処理を説明する図である。 図19は、実施の形態に係る照合情報の生成処理の処理手順のフローチャートである。 図20は、図19に示す照合情報生成処理の処理手順のフローチャートである。 図21は、図20に示すリストB1設定処理の処理手順のフローチャートである。 図22は、図20に示すリストB2設定処理の処理手順のフローチャートである。 図23は、図20に示すリストB3設定処理の処理手順のフローチャートである。 図24は、図1に示す照合情報生成装置が実行する個別定義情報設定処理の処理手順を示すフローチャートである。 図25は、図1に示すファイル管理装置の概略構成を示す模式図である。 図26は、図25に示す確認内容情報のデータ構成の一例を示す図である。 図27は、図25に示す条件情報について説明する図である。 図28は、図25に示す照合部の処理を説明する図である。 図29は、図25に示す照合部の処理を説明する図である。 図30は、実施の形態に係るファイル確認処理の処理手順のフローチャートである。 図31は、図30に示す照合処理の処理手順を示すフローチャートである。 図32は、図30に示す確認処理の処理手順を示すフローチャートである。 図33は、図25に示す対応関係情報のデータ構成の一例を示す図である。 図34は、実施の形態の変形例2における照合情報の生成処理を説明する図である。 図35は、実施の形態の変形例2における照合情報の生成処理の他の例を説明する図である。 図36は、実施の形態の変形例2における照合情報の生成処理の他の例を説明する図である。 図37は、プログラムが実行されることにより、ファイル管理システムが有する各装置が実現されるコンピュータの一例を示す図である。
以下、図面を参照して、本発明の一実施の形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
[実施の形態]
まず、実施の形態に係る管理システムについて、概略構成、ファイル確認処理の流れ及び具体例を説明する。本実施の形態に係る管理システムは、事前に作成された共有の共通定義情報から、管理対象のファイルに対応する共通定義情報を取得する。そして、本実施の形態に係る管理システムは、取得した共通定義情報と、装置個別の定義情報とを基に装置に適用するための照合情報を作成し、該照合情報を用いて、ファイルの改ざん、ファイルの削除、データベースに配置されるべきでないファイルの追加のいずれか一つを確認する。
図1は、実施の形態に係る管理システムの概略構成を示す模式図である。図1に示すように、実施の形態に係る管理システム1は、共通定義情報データベース(DB)2と、共通定義情報取得装置3(取得装置)とが接続し、共通定義情報取得装置3の後段に、照合情報生成装置4(生成装置)と、ファイル管理装置5(管理装置)とが配置する構成を有する。
共通定義情報DB2は、共有の共通定義情報(例えば、共通定義情報G,G,G)を有する。共有の共通定義情報G,G,Gは、例えば、ソフトウェア提供者によって作成され、提供される。なお、共有の共通定義情報G,G,Gの保管及び流通は、集中管理方式に限らず、種々の既存手段を適用することが可能である。
ファイル管理装置5は、配置(インストール)された複数のファイルFを管理する。ファイル管理装置5は、一般的なオペレーティングシステムを搭載したPC(Personal Computer)やサーバ装置等である。なお、図1に示すファイル管理装置5の数は、一例であり、これに限られるものではない。
ファイル管理装置5が管理するファイル集合は、具体的には、ソフトウェアパッケージを構成するファイル集合である。ファイル集合は、例えば、プログラムを実行するプログラムファイルや、プログラムファイルの実行順序を既定する設定ファイルを含む。これらのファイル集合のファイルパスやディレクトリ構造は、インストール先によらず共通であることが多い。そして、プログラムファイル等は、インストール先によらず同じデータであることが多い。これに対し、設定ファイル等はインストール先に応じてデータを編集することが多い。ファイル管理装置5は、管理対象のファイルについて、ファイルパスによってファイルデータを識別し、ディレクトリによってファイルパスを分類し、ディレクトリパスによってディレクトリを識別する。
共通定義情報取得装置3は、照合情報生成装置4が照合情報の生成に使用する共通定義情報を取得する。共通定義情報取得装置3は、入力された共通定義情報の識別子Dxを基に、共通定義情報DB2から、照合情報生成装置4が使用する共通定義情報Gxを取得して、照合情報生成装置4に出力する。
照合情報生成装置4は、ファイルの改ざん確認或いは過不足確認の際に前記ファイル管理装置が照合する照合情報を生成する。照合情報生成装置4は、共通定義情報取得装置3から出力された共通定義情報Gxと、自装置個別の個別定義情報Cxとを満たす照合情報Rxxを生成する。ここで、個別定義情報Cxxは、ファイル管理装置5に配置されるべきファイル集合について、ファイル管理装置5に応じて個別に備えるべき条件を示す情報である。
そして、ファイル管理装置5は、照合情報生成装置4が生成した照合情報Rxxと管理対象のファイルとを照合する。ファイル管理装置5は、照合結果を基に、ファイルの改ざん、ファイルの削除、または、データベースに配置されるべきでないファイルの追加について確認を行い、確認結果Exを出力する。
[共通定義情報取得装置]
次に、図2を参照して、図1に示す共通定義情報取得装置3について説明する。図2は、図1に示す共通定義情報取得装置3の概略構成を示す模式図である。図2に示すように、共通定義情報取得装置3は、入力部31、通信部32、記憶部33、制御部34及び出力部35を有する。
入力部31は、共通定義情報取得装置3のオペレータ等からの各種操作を受け付ける入力インタフェースである。例えば、入力部31は、タッチパネル、音声入力デバイス、キーボードやマウス等の入力デバイスによって構成される。入力部15は、例えば、共通定義情報の識別子(識別情報)Dxの入力を受け付ける。共通定義情報の識別子Dxは、ファイルによる入力、CLI(Command Line Interface)やGUI(Graphical User Interface)によるものであってもよい。なお、識別子を入力する際に、オペレータは、複数の識別子を入力してもよいし、それらのAND、OR、NOTといった一般的な検索式で用いられる論理演算を含む検索式等を入力してしてもよい。
通信部32は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。通信部32は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置(例えば、共通定義情報DB2)と制御部34(後述)との間の通信を行う。例えば、通信部32は、共通定義情報DB2から送信された共通定義情報Gxを受信する。
記憶部33は、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は、共通定義情報123及び識別子情報331を有する。
共通定義情報123は、共通定義情報DB2から共通定義情報取得部341(後述)が取得した情報である。共通定義情報123は、任意のファイル管理装置において、ファイルの改ざん確認或いは過不足確認の際に照合する照合情報について、該照合情報に記載する可能性のあるファイル及びディレクトリのリストである共通リストを定義する。そして、共通定義情報123は、個別のファイル管理装置において、照合情報のファイル及びディレクトリのリストの要素を決定する条件である要素属性を定義する。
図3は、図2に示す共通定義情報123が定義する内容を説明する図である。図3の表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を定義する。
図4は、図2に示す共通定義情報123が定義する要素属性を説明する図である。図4の表123bに示すように、要素属性としてE1〜E4が定義される。まず、要素属性E1は、照合情報122のリストB1,B2の共通リストに記載のファイルがファイル管理装置に配置することが必須であることを示す第1フラグ(T)或いは必須でないことを示す第2フラグ(F)を定義する必須フラグを定義する。要素属性E2は、照合情報122のリストB1,B2の共通リストに記載のファイルのファイルパス表記の作成条件であるファイルパス条件を定義する。要素属性E3は、照合情報のリストB1の共通リストに記載のファイルのうち配置にあたってファイルデータを変更できないファイルのダイジェスト値を定義する。要素属性E4は、照合情報のリストB3の共通リストに記載のディレクトリのディレクトリパス表記の作成条件であるディレクトリパス条件を定義する。
共通定義情報123の具体例について説明する。図5は、図2に示す共通定義情報123の一例を示す図である。図5に共通定義情報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」が対応する。
次に、識別子情報331について説明する。識別子情報331は、各共通定義情報を識別する情報を有する。例えば、共通定義情報の識別子名、そのソフトウェアが必要とする他の粗酒とウェアに対応する居通定義情報の識別子、及び、ソフトウェアのバージョンに関するバージョン情報等の要素を含む。バージョン情報は、「v1.1以降」、「v1.3以前」などである。識別子情報331は、これらの要素の一部、または全てを含む。また、識別子情報331は、各要素に対応する値を、複数含む場合がある。ただし、識別子名は、共通定義情報について一つである。共通定義情報取得装置3は、自装置が対応するファイル管理装置5が管理するファイルに関する共通定義情報の識別子情報のみを保持してもよいし、共通定義情報DB2が有する全ての共通定義情報の識別子情報を保持してもよい。
制御部34は、共通定義情報取得装置3全体を制御する。制御部34は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。また、制御部34は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部34は、各種のプログラムが動作することにより各種の処理部として機能する。制御部34は、共通定義情報取得部341(第1の取得部)、共通定義情報判別部342(判別部)及び出力制御部433(出力部)を有する。
共通定義情報取得部341は、共通定義情報DB2から、当該共通定義情報取得装置3
に入力された共通定義情報の識別子Dxに対応する共通定義情報を取得する。図6及び図7は、共通定義情報の識別子Dxの一例を説明する図である。図6に示す共通定義情報の識別子Dxは、識別子名「ソフトウェアA ver1.0」を含む。さらに、共通定義情報の識別子Dxは、識別子名の他に、他に必要な識別子及びそのバージョン条件を含む。オペレータ等は、識別子名以外の要素を複数指定可能である。また、図7の共通定義情報の識別子Dxのように、識別子名のみの指定も可能である。
共通定義情報取得部341は、入力された共通定義情報の識別子Dxを基に、取得すべき共通定義情報の識別子を抽出する。共通定義情報取得部341は、共通定義情報取得装置3に入力された共通定義情報の識別子Dxに関連する他の識別情報をさらに取得し、共通定義情報取得装置3に入力された共通定義情報の識別情報及び他の識別情報を基に、共通定義情報の識別子情報の一覧を取得してもよい。
例えば、共通定義情報取得部341は、共通定義情報の識別子Dxとして「識別子:ソフトウェアA」が入力された場合、識別子情報331を参照し、「ソフトウェアA ver1.0」、「ソフトウェアA ver1.1」、「ソフトウェアB ver1.0」、「ソフトウェアB ver1.1」、「ソフトウェアC ver1.0」、「ソフトウェアC ver1.1」を識別子として抽出する。なお、共通定義情報取得部341は、入力された共通定義情報の識別子Dxの識別子名にバージョン情報が含まれなかった場合、「入力された識別子名にバージョン情報を付加したもの」を識別子名とする識別子を全て取得する。また、共通定義情報取得部341は、自装置が保持する識別子情報331に限らず、外部装置が保持する識別子情報から、取得すべき共通定義情報の識別子を抽出してもよい。
そして、共通定義情報取得部341は、共通定義情報DB2から、抽出した識別子に対応する共通定義情報を取得する。図8は、共通定義情報DB2が記憶する共通定義情報の一例を示す図である。図8に示すように、共通定義情報DB2は、「ソフトウェアA ver1.0」を識別子名とする共通定義情報Ga、「ソフトウェアA ver1.1」を識別子名とする共通定義情報Ga´、「ソフトウェアB ver1.0」を識別子名とする共通定義情報Gb、「ソフトウェアB ver1.1」を識別子名とする共通定義情報Gb´、「ソフトウェアC ver1.0」を識別子名とする共通定義情報Gc、「ソフトウェアC ver1.1」を識別子名とする共通定義情報Gc´、「ソフトウェアD ver1.0」を識別子名とする共通定義情報Gd、「ソフトウェアD ver1.1」を識別子名とする共通定義情報Gd´を記憶する。
共通定義情報取得部341は、共通定義情報DB2から、識別子「ソフトウェアA ver1.0」、識別子「ソフトウェアA ver1.1」、識別子「ソフトウェアB ver1.0」、識別子「ソフトウェアB ver1.1」、識別子「ソフトウェアC ver1.0」、識別子「ソフトウェアC ver1.1」に対応する共通定義情報Ga,Ga´,Gb,Gb´,Gc,Gc´を取得する。
共通定義情報判別部342は、共通定義情報取得部341が取得した共通定義情報と、ファイル管理装置5が管理するファイルFとを比較し、共通定義情報の条件に全て合致するファイルが有るか否かを判別する。図9は、図1に示すファイル管理装置5が管理するファイル(ソフトウェア)を説明する図である。図9に示すように、ファイル管理装置5は、「ソフトウェアA ver1.0」、「ソフトウェアB ver1.0」、「ソフトウェアC ver1.0」をインストールし、管理している。この場合、共通定義情報判別部342は、共通定義情報取得部341が取得した共通定義情報Ga,Ga´,Gb,Gb´,Gc,Gc´のうち、共通定義情報Ga,Gb,Gcが、「ソフトウェアA ver1.0」、「ソフトウェアB ver1.0」、「ソフトウェアC ver1.0」に合致すると判別する。
出力制御部343は、共通定義情報判別部342による判別結果を基に、共通定義情報取得部341が取得した共通定義情報のうちファイル管理装置5が管理するファイルに対応する共通定義情報を照合情報生成装置4に出力する。出力制御部343は、例えば、通信部32等を介して、共通定義情報Gxを照合情報生成装置4に出力する。
出力部35は、例えば、液晶ディスプレイなどの表示装置、プリンタ等の印刷装置、情報通信装置等によって実現され、ファイル管理処理に関する情報を出力する。
[共通定義情報取得処理の処理手順]
次に、共通定義情報取得装置3における共通定義情報取得処理の処理手順について説明する。図10は、実施の形態に係る共通定義情報取得処理の処理手順を示すフローチャートである。
図10に示すように、共通定義情報取得装置3では、入力部31が、共通定義情報の識別子Dxの入力を受け付けると(ステップS101)、共通定義情報取得部341は、共通定義情報DB2から、共通定義情報の識別子Dxに対応する共通定義情報を取得する(ステップS102)。
続いて、共通定義情報取得装置3では、共通定義情報取得部341が取得した共通定義情報と、共通定義情報判別部342は、ファイル管理装置5が管理するファイルとを比較し、共通定義情報の条件に全て合致するファイルFが有るか否かを判別する共通定義情報判別処理を行う(ステップS103)。出力制御部343は、共通定義情報判別部342による判別結果を基に、共通定義情報取得部341が取得した共通定義情報のうちファイル管理装置5が管理するファイルFに対応する共通定義情報を照合情報生成装置4に出力する(ステップS104)。
[共通定義情報判別処理の処理手順]
次に、共通定義情報判別処理(ステップS103)の処理手順について説明する。図11は、図10に示す共通定義情報判別処理の処理手順を示すフローチャートである。
共通定義情報判別部342は、図10のステップS102において取得した共通定義情報について、各共通定義情報に記載されているエントリ分、判別処理を繰り返す。まず、共通定義情報判別部342は、ファイルパス条件を満たすファイルがファイル管理装置5に存在するか否かを判定する(ステップS111)。
共通定義情報判別部342は、ファイルパス条件を満たすファイルがファイル管理装置5に存在しないと判定した場合(ステップS111:存在しない)、共通定義情報のフラグはTまたはFのいずれであるかを判定する(ステップS112)。共通定義情報判別部342は、共通定義情報のフラグはTであると判定した場合(ステップS112:T)、判定結果がNGであるとする(ステップS113)。すなわち、共通定義情報判別部342は、このエントリについては、共通定義情報の条件に全て合致するファイルFが無いと判別する。この場合、取得した共通定義情報は、ファイル管理装置5が管理するファイルFと合致しないため、共通定義情報判別部342は、以降のエントリに対する判別はスキップする。なお、この共通定義情報に対する、ステップS103の判別結果は、NGとなる。
共通定義情報判別部342は、ファイルパス条件を満たすファイルがファイル管理装置5に存在すると判定した場合(ステップS111:存在する)、または、共通定義情報のフラグはFであると判定した場合(ステップS112:F)、共通定義情報のダイジェスト値が定義済みであるか、または、未定義であるか否かを判定する(ステップS114)。
共通定義情報判別部342は、共通定義情報のダイジェスト値が定義済みであると判定した場合(ステップS114:定義済)、ファイル管理装置5に存在するファイルのダイジェスト値を計算する(ステップS115)。そして、共通定義情報判別部342は、計算結果が共通定義情報のダイジェスト値と一致するか否かを判定する(ステップS116)。
共通定義情報判別部342は、計算結果が共通定義情報のダイジェスト値と一致しないと判定した場合(ステップS116:不一致)、ステップS113に進む。一方、共通定義情報判別部342は、計算結果が共通定義情報のダイジェスト値と一致すると判定した場合(ステップS116:一致)、または、共通定義情報のダイジェスト値が未定義であると判定した場合(ステップS114:未定義)、判別結果がOKであるとする(ステップS117)。ある共通定義情報の全エントリに対して、この判別がされた場合、該当共通定義情報に対するステップS103の判別結果がOKになる。
共通定義情報判別部342は、共通定義情報に記載の全エントリに対して、ステップS111〜ステップS117の処理を行い、ステップS104において、判別結果がOKとなった共通定義情報を出力する。また、共通定義情報判別部342は、共通定義情報判別処理の結果、出力対象となる共通定義情報が存在しない場合には、エラーを出力する。なお、ファイルパス条件の判定については、後述の図34〜図36を用いて説明する。
[照合条件生成装置]
続いて、照合情報作成装置4について説明する。図12は、照合情報生成装置4の概略構成を示す模式図である。
照合情報生成装置4は、入力部41、通信部42、記憶部43、制御部44及び出力部45を有する。入力部41、通信部42、記憶部43、制御部44及び出力部45は、入力部11、通信部12、記憶部13、制御部14及び出力部15と同様の機能を有する。入力部41は、例えばオペレータの入力デバイスの操作に従い、個別定義情報Cxxの入力を受け付ける。また、通信部42は、共通定義情報取得装置3から出力された共通定義情報Gxを受信する。
記憶部43は、ファイルの完全性を確認するための照合情報、或いは、照合情報を生成する際に用いる情報を記憶する。記憶部43は、照合情報122、共通定義情報123、項目抽出情報124及び個別定義情報125を有する。共通定義情報123については、前述しているため、説明を省略する。
まず、照合情報122について説明する。照合情報122は、照合情報122は、ファイル管理装置5が、自身が管理するファイル集合に対応する照合情報として生成したものである。照合情報122は、リストB1(第1のリスト)、リストB2(第2のリスト)及びリストB3(第3のリスト)から構成されている。このリストB1〜B3について、図13を参照して説明する。
図13は、図12に示す照合情報122が有するリストB1〜B3の内容を説明する図である。図13の表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に該当しないファイルまたはディレクトリを配置しないことである。
図14は、図12に示す照合情報122の一例を示す図である。図14に示すように、照合情報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」が記載されている。
次に、項目抽出情報124について説明する。項目抽出情報124は、共通定義情報123からの抽出項目を示す情報である。抽出項目は、当該ファイル管理装置3の個別情報として定義すべき項目とすべき内容である。図15は、図12に示す項目抽出情報124について説明する図である。図15の表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から抽出された項目について、ファイル管理装置5に応じて個別に備えるべき条件を示す情報である。例えば、個別定義情報125は、外部から入力される情報である。具体的には、個別定義情報125は、ファイル管理装置5の管理者による入力部15の操作によって外部から入力される。もちろん、これに限らず、個別定義情報125は、通信部13を介して外部から入力されもよい。図16は、図12に示す個別定義情報125を説明する図である。図16の表125aに示すように、個別定義情報125は、入力対象に対する入力内容が対応付けられている。
具体的には、共通定義情報123において照合情報122のリストB1に記載することを定義したファイルが対象である場合には、入力内容は、3つである。1つ目は、要素属性E1である必須フラグが「F」のファイルの配置の有無である。2つ目は、配置するファイルについて要素属性E2であるファイルパス条件を満たすファイルパス表記のうちファイル管理装置5で個別に決定する要素の値である。3つ目は、配置するファイルについて要素属性E3のダイジェスト値が定義されていないファイルのダイジェスト値である。
そして、共通定義情報123において照合情報122のリストB2に記載することを定義したファイルが対象である場合には、入力内容は、次の2つである。1つ目は、要素属性E1である必須フラグが「F」のファイルの配置の有無である。2つ目は、配置するファイルについて要素属性E2であるファイルパス条件を満たすファイルパス表記のうちファイル管理装置5で個別に決定する要素の値である。
また、共通定義情報123において照合情報122のリストB3に記載することを定義したディレクトリが対象である場合には、入力内容は、配置するファイルについて、要素属性E2であるファイルパス条件を満たすディレクトリパス表記のうち、ファイル管理装置5で個別に決定する要素であるの値である。この個別定義情報125は、個別定義情報入力部146(後述)によって取得される。そして、共通定義情報123と個別定義情報125とを基に照合情報122が生成される。
個別定義情報125の具体例について説明する。図17は、図12に示す個別定義情報125の一例を示す図である。図17に示す個別定義情報Lxxは、リストWc1〜Wc3を有する。
個別定義情報LxxのリストWc1は、共通定義情報Gxにおいて照合情報122のリストB1に記載することを定義したファイルに対して、ファイル管理装置5に応じて個別に備えるべき各条件、すなわち、図16の表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に記載することを定義したファイルに対して、ファイル管理装置5に応じて個別に備えるべき各条件、すなわち、図16の表125aに示す2段目に記載の入力内容、を示すリストである。
例えば、リストWc2には、ファイル「#21」〜「#23」に対して、ファイルに応じたファイルパス表記或いはファイルの配置の要否が対応付けられている。具体的には、リストWc2では、1行目に、ファイル「#21」に対応するファイルパス表記である「ファイルパス表記(個別要素)21」が示されている(列Lc21参照)。また、2行目には、ファイル「#22」に対応するファイルパス表記である「ファイルパス表記(個別要素)22」と、ファイル「#22」についての配置の要否である「配置要」(列Lc22参照)とが示されている。
個別定義情報LxxのリストWc3は、共通定義情報Gxにおいて照合情報122のリストB3に記載することを定義したディレクトリに対して、ファイル管理装置5に応じて個別に備えるべき各条件、すなわち、図16の表125aに示す3段目に記載の入力内容、を示すリストである。
例えば、リストWc3には、ディレクトリ「#31」,「#32」に対して、ディレクトリに応じて、ディレクトリパス表記が対応付けられている。具体的には、リストWc3では、1行目に、ディレクトリ「#31」に対応するディレクトリパス表記である「ディレクトリパス表記(個別要素)31」が示されている(列Lc31参照)。また、2行目には、ディレクトリ「#32」に対応するディレクトリパス表記である「ディレクトリパス表記(個別要素)32」が示されている。
制御部44は、共通定義情報取得装置3から出力された共通定義情報Gxと、個別定義情報125とを基に、ファイル管理装置5で使用する照合情報122を生成する。ファイル管理装置5で使用する照合情報122を生成する。照合情報生成部142は、共通定義情報取得部144(第2の取得部)、個別定義項目抽出部145、個別定義情報入力部146及び生成部147を有する。
共通定義情報取得部144は、共通定義情報DB2が記憶する共有の共通定義情報の少なくとも一部を取得する。共通定義情報取得部144は、ファイル記憶部11に配置されているファイル集合Fsに応じた共通定義情報123を、ネットワーク等を経由して、外部の共通定義情報DB2からダウンロードすることによって取得する。或いは、共通定義情報取得部144は、ファイル管理装置5の管理者によるファイル等の入力によって、共通定義情報123を取得する。共通定義情報取得部144は、取得した共通定義情報123を確認用情報記憶部12に記憶する。
個別定義項目抽出部145は、共通定義情報取得部144が取得した共通定義情報123から、個別定義情報125として定義すべき項目を抽出する。個別定義項目抽出部145は、項目抽出情報124にしたがって、共通定義情報123からの項目抽出を行う。抽出する項目は、前述した図15の表124aに示す項目であり、照合情報122の各リストB1〜B3に記載することを定義したファイル或いはディレクトリについて、それぞれ設定されている。各項目の説明は、図15を用いて説明しているため省略する。
個別定義情報入力部146は、個別定義項目抽出部145が共通定義情報123から抽出した項目について、個別定義情報の入力を受付ける。入力を受付ける情報の内容は、前述した図16の表125aに示す項目であり、照合情報122の各リストB1〜B3に記載することを定義したファイル或いはディレクトリについて、それぞれ設定されている。各入力情報の説明は、図16を用いて説明しているため省略する。個別定義情報入力部146が入力を受付けた情報に基づく個別定義情報125は、例えば、図17に示す個別定義情報Lxxである。個別定義情報入力部146は、取得した個別定義情報125を確認用情報記憶部12に記憶する。
個別定義情報入力部146は、画面に各抽出項目と、その値等の入力欄とを示す操作画面を、ファイル管理装置5の管理者に提示する。この際、例えば、XML(Extensible Markup Language)などの構造化されたファイル形式、或いはグラフカルなUI(User Interface)を用いられる。そして、個別定義情報入力部146は、ファイル管理装置5の管理者による入力部41の操作によって各入力欄に入力された情報を受付けることによって、個別定義情報125を取得する。または、個別定義情報入力部146は、通信部42を介して、各抽出項目に対しての値等の送信要求を外部装置に出力する。そして、個別定義情報入力部146は、この送信要求に応じて外部装置から送信された各情報を受信することによって、個別定義情報125を取得してもよい。
生成部147は、共通定義情報123の共通リスト及び要素属性に基づいて、照合情報122を生成する。生成部147は、ファイル管理装置5に配置されるべきファイル集合に対して、共有の共通定義情報123と、当該ファイル管理装置5に応じて個別に備えるべき条件を示す個別定義情報125とをともに満たす照合情報122を生成する。
生成部147は、共通定義情報123と個別定義情報125とを基に、照合情報122のリストB1〜B3へ配置するファイルを決定し、リストB1〜B3に記載するファイルパス、ダイジェスト値、ディレクトリパスを決定する。個別定義情報としてダイジェスト値の代わりにファイルデータが入力された場合、生成部147は、リストB1に配置するファイルのファイルデータのダイジェスト値の計算も行う。生成部147は、生成した照合情報122をファイルとして確認用情報記憶部12に記憶する。或いは、生成部147は、生成した照合情報122を、ファイル管理装置5で稼働する完全性確認機能、すなわち、ファイル確認部143に直接インポートしてもよい。
[生成部の処理]
次に、生成部147による照合情報122の処理について説明する。図18は、図12に示す生成部147による照合情報122の生成処理を説明する図である。
図18は、左側に共通定義情報Gx、中央に個別定義情報Lxx、右側に照合情報Rxxを示す。共通定義情報Gxは、共通定義情報取得部144によって取得されたものである。個別定義情報Lxxは、個別定義項目抽出部145が共通定義情報Gxから抽出した項目に対してファイル管理装置5において個別に備えるべき条件として個別定義情報入力部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に記載する。
[照合情報の生成処理の処理手順]
次に、ファイル管理装置5による照合情報の生成処理の処理手順について説明する。図19は、実施の形態に係る照合情報の生成処理の処理手順のフローチャートである。
図19に示すように、まず、共通定義情報取得部144は、共通定義情報DB2が記憶する共有の共通定義情報の少なくとも一部を取得する(ステップS1)。そして、個別定義項目抽出部145は、共通定義情報取得部144が取得した共通定義情報123から、個別定義情報125として定義すべき項目を抽出する(ステップS2)。個別定義情報入力部146は、個別定義項目抽出部145が共通定義情報123から抽出した項目を提示して(ステップS3)、個別定義情報の入力を受付ける(ステップS4)。
そして、生成部147は、共通定義情報123の共通リスト及び要素属性に基づき、個別定義情報125を参照し、照合情報122を生成する生成処理を行う(ステップS5)。生成部147は、生成した照合情報122を出力する(ステップS6)。
[照合情報生成処理の処理手順]
次に、照合情報生成処理(ステップS5)の処理手順について説明する。図20は、図8に示す照合情報生成処理の処理手順のフローチャートである。
図20に示すように、生成部147は、照合情報生成処理として、共通定義情報123と、個別定義情報125とを基に、照合情報122のリストB1の記載内容を設定するリストB1設定処理(ステップS11)を行う。続いて、生成部147は、照合情報122のリストB2の記載内容を設定するリストB2設定処理(ステップS12)を行う。続いて、生成部147は、照合情報122のリストB3の記載内容を設定するリストB3設定処理(ステップS13)を行う。
[リストB1設定処理の処理手順]
次に、リストB1設定処理(ステップS11)の処理手順について説明する。図21は、図20に示すリスト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)の処理手順について説明する。図22は、図20に示すリスト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)の処理手順について説明する。図23は、図20に示すリストB3設定処理の処理手順のフローチャートである。
まず、生成部147は、共通定義情報123の共通リストJ3において照合情報122のリストB3に記載を定義されたディレクトリを参照する(ステップS41)。そして、生成部147は、記載を定義されたディレクトリについて、それぞれ、共通定義情報123の共通リストJ3のディレクトリパス条件を満たすディレクトリパス表記を決定し(ステップS42)する。生成部147は、決定した表記にしたがって記載したディレクトリパスを照合情報122のリストB3のディレクトリパスとして設定する(ステップS43)。
このように、照合情報生成装置4は、共通定義情報取得装置3が取得した共通定義情報123の少なくとも一部を基に、このファイル管理装置5に適合する照合情報122を生成する。すなわち、本実施の形態に係るファイル管理装置5は、共有の共通定義情報に加え、当該ファイル管理装置5に応じて個別に備えるべき条件を示す個別定義情報125を用いて、個別定義情報125と共通定義情報123とをともに満たす照合情報を生成する。
なお、個別定義情報125が、照合情報生成装置4外から入力される場合を例に説明したが、これに限らない。個別定義情報125は、照合情報生成装置4が生成してもよい。例えば、照合情報生成装置4は、個別定義情報として設定すべき値を、ファイル管理装置5に存在するファイルの状態に合わせて自動的に設定する。
具体的に、図24を参照して、照合情報生成装置4が実行する個別定義情報設定処理について説明する。図24は、照合情報生成装置4が実行する個別定義情報設定処理の処理手順を示すフローチャートである。
図24に示すように、照合情報生成装置4は、共通定義情報の必須フラグがTまたはFであるかを判定する(ステップS121)。この判定は、リストB1,B2の対象項目に対応する。照合情報生成装置4は、共通定義情報の必須フラグがFであると判定した場合(ステップS121:F)、ファイル管理装置5に該当ファイルが存在するか否かを判定する(ステップS122)。照合情報生成装置4は、ファイル管理装置5に該当ファイルが存在しないと判定した場合(ステップS122:存在しない)、「配置不要」に設定する(ステップS123)。
一方、照合情報生成装置4は、ファイル管理装置5に該当ファイルが存在すると判定した場合(ステップS122:存在する)、「配置要」に設定する(ステップS124)。続いて、照合情報生成装置4は、共通定義情報の必須フラグがTであると判定した場合(ステップS121:T)、または、ステップS124処理後、ファイルパス表記にファイル管理装置5に存在するファイルのファイルパスを設定する(ステップS125)。この処理は、リストB1,B2,B3の対象項目の表記に対応し、ファイル管理装置5上に存在する該当ファイル/ディレクトリのファイル/ディレクトリパスを設定する処理である。
続いて、照合情報生成装置4は、共通定義情報のダイジェスト値が定義済み、または、未定義であるかを判定する(ステップS126)。この判定は、リストB1の対象項目に対応する。
照合情報生成装置4は、共通定義情報のダイジェスト値が定義済みであると判定した場合(ステップS126:定義済)、処理を終了する。一方、照合情報生成装置4は、共通定義情報のダイジェスト値が未定義であると判定した場合(ステップS126:未定義)、ファイル管理装置上に存在する該当ファイルのダイジェスト値を計算し、計算結果の値を設定する(ステップS127)。
[ファイル管理装置の構成]
続いて、ファイル管理装置5について説明する。図25は、ファイル管理装置5の概略構成を示す模式図である。ファイル管理装置5は、入力部51、通信部52、記憶部53、制御部54及び出力部55を有する。入力部51、通信部52、記憶部53、制御部54及び出力部55は、入力部11、通信部12、記憶部13、制御部14及び出力部15と同様の機能を有する。通信部52は、照合情報生成装置4から出力された照合情報Rxxを受信する。
記憶部43は、ファイル記憶部11及び確認用情報記憶部12を有する。ファイル記憶部11は、複数のファイルFで構成されるファイル集合Fsを複数配置する。ファイル集合Fsは、前述したように、例えば、ソフトウェアパッケージを構成するファイル集合である。
確認用情報記憶部12は、ファイルの完全性を確認するために制御部54が使用する情報を記憶する。確認用情報記憶部12は、確認内容情報121、照合情報122、条件情報126、対応関係情報127を有する。
まず、確認内容情報121について説明する。図26は、図25に示す確認内容情報121のデータ構成の一例を示す図である。確認内容情報121は、図26に示すように、確認項目と、その内容とが対応付けられている。ここで、配置されるべきファイル集合は、ソフトウェアパッケージについて、プログラムや設定ファイルの不正な(攻撃、あるいは誤運用による)改ざん、追加、削除などが行われていない状態のファイル集合である。一方、ファイル管理装置5に配置されているファイル集合は、これらの状態を維持していない可能性がある。このため、ファイル管理装置5では、完全性確認を実施する必要性が生じる。
ファイル管理装置5では、完全性の確認内容として、図26に示す確認項目A1〜A3が設定される。具体的には、確認項目A1(第1の確認内容)は、ファイル記憶部11に配置されるべきファイルが改ざんされていないことである。確認項目A2(第2の確認内容)は、ファイル記憶部11に配置されるべきファイルが削除されていないことである。確認項目A3(第3の確認内容)は、データベースに配置されるべきでないファイルが追加されていないことである。ファイル管理装置5では、これらの確認項目A1〜A3の全て、或いは、少なくともいずれか一つを確認する。
照合情報122は、照合情報生成装置4が、ファイル管理装置5が管理するファイル集合に対応する照合情報として生成したものである。照合情報122については、全呪術のため、省略する。
次に、条件情報126について説明する。条件情報126は、ファイル記憶部11に配置されたファイル集合Fsと照合情報122とを照合し、確認内容を満たすか否かを判定する際にファイル管理装置5が用いる照合条件を示す情報である。
図27は、図25に示す条件情報126について説明する図である。図27に示すように、ファイル管理装置5は、照合条件として、照合条件C1(第1の照合条件)、照合条件C2(第2の照合条件)、照合条件C3(第3の照合条件)を用いる。
照合条件C1は、リストB1が示すファイルパスとファイルデータのダイジェスト値との組み合わせに一致する全てのファイルがファイル管理装置5に配置されていることである。照合条件C2は、リストB2が示すファイルパスに一致する全てのファイルがファイル管理装置5に配置されていることである。そして、照合条件C3は、リストB3が示すディレクトリパスに一致する全てのディレクトリがファイル管理装置5に配置されており該ディレクトリの直下にはディレクトリ条件b31またはディレクトリ条件b32に該当しないファイルまたはディレクトリが配置されてないことである。ファイル管理装置5は、照合条件C1〜C3の少なくとも一つを満たすか否かを判定する。
対応関係情報127は、確認項目A1〜A3と、そのために要する照合情報122のリストB1〜B3との対応関係を示す情報である。対応関係情報127は、確認項目A1〜A3の全てを確認する場合には、リストB1〜B3の全てを必要であることが示す。また、確認項目A1〜A3のいずれかを確認する場合には、リストB1〜B3の一部のみで足りることを示す。
このため、ファイル管理装置5は、対応関係情報127を参照し、確認項目A1〜A3の確認の有無に応じて必要となるリストB1〜B3のみを、共有情報DB2内の共有情報Rs1〜Rs3から取得すればよい。すなわち、ファイル管理装置5は、共有情報DB2内の共有情報Rs1〜Rs3のうち、自身が確認する確認項目で用いるリストを取得すればよい。なお、本実施の形態では、ファイル管理装置5が確認項目A1〜A3の全てを確認する場合を例に説明する。
制御部54は、ファイル管理部141、ファイル確認部143を有する。ファイル管理部141は、管理対象のファイル記憶部11のファイルについて、ファイルパスによってファイルデータを識別し、ディレクトリによってファイルパスを分類し、ディレクトリパスによってディレクトリを識別する。
ファイル確認部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を満たすと判定する。本実施の形態では、ファイル管理装置5が、管理対象のファイル集合のファイルについて、照合条件C1〜C3全てを判定し、確認項目A1〜A3の全てを確認する場合を例に説明する。
[照合部の処理]
次に、照合部148の処理について説明する。図28及び図29は、図25に示す照合部148の処理を説明する図である。図28のように、照合部148は、まず、確認に用いる照合情報Rxxを決定し、この照合情報Rxxを用いて、確認項目A1〜A3に対する確認結果を出力する場合を例に説明する。例えば、照合部148は、ファイル管理装置5に配置されている確認対象のファイルが、照合情報Rxxに記載の条件をすべて満たすか否かを確認する。
ここで、確認対象のファイルとディレクトリとの配置は、図29右の枠W2内に示すとおりである。具体的には、ファイルf1,f2は、データ改ざん確認(確認項目A1)対象であり、かつ、ディレクトリd1直下の過不足確認(確認項目A2)対象のファイルである。ファイルf3は、ディレクトリd1直下の過不足確認(確認項目A2)対象のファイルである。ディレクトリd1は、過不足確認(確認項目A3)対象のディレクトリである。ファイルf4は、ファイル完全性確認対象外のファイルである。
そして、このような配置を有するファイル集合に対して設定された照合情報Rxxの一例を、図29左の枠W1内に示す。図29に示すように、照合情報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は、ファイル管理装置5に、照合情報RxxのリストB1に記載のファイルパス「/d1/f1」が配置されているか否かを確認する。照合部148は、図29の例の場合、照合情報RxxのリストB1に記載のファイルパス「/d1/f1」がファイル管理装置5に配置されている。このため、照合部148は、ファイル管理装置5の「/d1/f1」ファイルのhash値を算出し、照合情報RxxのリストB1に記載のダイジェスト値「データ1」と照合する。
続いて、照合部148は、ファイル管理装置5に、照合情報RxxのリストB1に記載のファイルパス「/d1/f2」が配置されていることを確認し、配置されていることを確認すると、ファイル管理装置5の「/d1/f2ファイル」のhash値を算出し、照合情報RxxのリストB1に記載のダイジェスト値「データ2」と照合する。照合部148は、いずれについても算出したhash値とリストB1のダイジェスト値とが一致していた場合には、照合条件C1を満たすと判定する。
次に、照合部148は、確認対象のうちリストB2に記載のファイルf3について、照合条件C2を満たすか否かを判定する。この場合、照合部148は、ファイル管理装置5に、照合情報RxxのリストB2に記載のファイルパス「/d1/d2/f3」が配置されていることを確認する。図29の例では、照合部148は、照合情報RxxのリストB2に記載のファイルパス「/d1/d2/f3」が配置されていることを確認できるため、照合条件C2を満たすと判定する。
次に、照合部148は、リストB3に記載のディレクトリパス「/d1」について、照合条件C3を満たすか否かを判定する。この場合、照合部148は、照合情報RxxのリストB3に記載のディレクトリパス「/d1」がファイル管理装置5に配置されていることを確認する。図29の例では、照合情報RxxのリストB3に記載のディレクトリパス「/d1」がファイル管理装置5に配置されていることが確認できる。
そして、ファイル管理装置5上の「/d1」直下のファイル{d1/f1,d1/f2}について、照合部148は、以下を確認する。まず、照合部148は、「/d1」直下のファイル「/d1/f1」,「/d1/f2」が、照合情報RxxのリストB1またはリストB2に記載のファイルであるか否かを判定する。図29の例では、「/d1」直下のファイル「/d1/f1」,「/d1/f2」はいずれも、照合情報RxxのリストB1に記載のファイルパスである。このため、照合部148は、「/d1」直下のファイル「/d1/f1」,「/d1/f2」が、照合情報RxxのリストB1に記載のファイルであると判定できる。
続いて、照合部148は、「/d1」直下のディレクトリ「/d1/d2」について、照合情報RxxのリストB1またはリストB2に記載のファイルを、配下に配置するディレクトリパスであることを確認する。図29の場合には、ディレクトリ「/d1/d2」の配下にはリストB2に記載のファイルf3が配置されるため、「/d1」直下のディレクトリ「/d1/d2」について、照合情報RxxのリストB2に記載のファイルを、配下に配置するディレクトリパスであることを確認できる。すなわち、図29の例では、ディレクトリ「/d1」直下のファイルは、いずれもディレクトリ条件b31,b32を満たすため、照合部148は、照合条件C3を満たすと判定する。照合部148は、以上の照合結果を確認部149に出力する。
[確認部の処理]
次に、図29の例の場合に対する確認部149の処理について説明する。確認部149は、照合部148の照合結果を基に、確認項目A1〜A3について確認を行う。
まず、確認部149は、ファイル管理装置5に配置されたファイルが、照合情報RxxのリストB1記載の全てのリストについて、照合条件C1を満たす場合には、確認項目A1を満たすと判定する。すなわち、確認部149は、配置されるべきファイルが改ざんされてないと判定する。一方、確認部149は、ファイル管理装置5に配置されたファイルが、照合情報RxxのリストB1記載の全てのリストについて、照合条件C1を満たさない場合には、確認項目A1を満たしていないと判定する。すなわち、確認部149は、配置されるべきファイルが改ざんされていると判定する。
続いて、確認部149は、ファイル管理装置5に配置されたファイルが、照合情報RxxのリストB1記載の全てのリストについて照合条件C1を満たし、かつ、照合情報RxxのリストB2記載の全てのリストについて照合条件C2を満たす場合には、確認項目A2を満たすと判定する。すなわち、確認部149は、配置されるべきファイルが削除されてないと判定する。一方、確認部149は、ファイル管理装置5に配置されたファイルが、照合情報RxxのリストB1記載の全てのリストについて照合条件C1を満たしていない、または、照合情報RxxのリストB2記載の全てのリストについて照合条件C2を満たしていない場合には、確認項目A2を満たさないと判定する。すなわち、確認部149は、配置されるべきファイルが削除されていると判定する。
そして、確認部149は、ファイル管理装置5に配置されたファイルが、照合情報RxxのリストB3記載の全てのリストについて、照合条件C3を満たす場合には、確認項目A3を満たすと判定する。すなわち、確認部149は、配置されるべきでないファイルが追加されてないと判定する。一方、確認部149は、ファイル管理装置5に配置されたファイルが、照合情報RxxのリストB3記載の全てのリストについて、照合条件C3を満たしていない場合には、確認項目A3を満たさないと判定する。すなわち、確認部149は、配置されるべきでないファイルが追加されていると判定する。
なお、ファイル管理装置5は、複数の照合情報Rx1,Rx2,Rx3を登録しておき、複数の照合情報に対して順次または同時に照合及び確認を実施してもよい。また、ファイル管理装置5は、一つまたは複数の照合情報に対する完全性確認の順序や時刻をスケジューラ機能などに事前登録し、自動的に照合処及び確認を実施してもよい。また、ファイル管理装置5は、確認結果に基づきログやアラームなどを生成する他、エラーとなったファイルに対するアクセスを禁止する等の対処を取ってもよい。
[ファイル確認処理の処理手順]
次に、ファイル管理装置5によるファイル確認処理の処理手順について説明する。図30は、実施の形態に係るファイル確認処理の処理手順のフローチャートである。
まず、ファイル管理装置5では、ファイル管理部141が、管理対象のファイルについて、ファイルパスによってファイルデータを識別し、ディレクトリによってファイルパスを分類し、ディレクトリパスによってディレクトリを識別するファイル管理工程を実行すする。また、ファイル確認部143が、確認用情報記憶部12から、ファイル集合の確認のために用いる照合情報122を取得し(ステップS51)、確認用情報記憶部12に記憶させる。
そして、照合部148は、確認対象のファイル集合に応じて、確認に用いる照合情報122を決定し、照合処理を行う(ステップS52)。照合処理は、所定の確認タイミングに達すると、配置されたファイルのファイルパス及び照合情報122が示すファイルパス、配置されたファイルのファイルデータのダイジェスト値及び照合情報122が示すファイルデータのダイジェスト値、及び、配置されたファイルのディレクトリパス及び照合情報122が示すディレクトリパス、のいずれか一つを照合する処理である。
続いて、確認部149は、照合部148による照合結果を基に、確認項目A1〜A3の少なくともいずれか一つを確認する確認処理を行い(ステップS53)、通信部13或いは出力部16が確認結果を出力する(ステップS54)。
[照合処理の処理手順]
次に、照合処理(ステップS52)の処理手順について説明する。図31は、図30に示す照合処理の処理手順を示すフローチャートである。
図31に示すように、照合部148は、照合情報122のリストB1のファイルパスとダイジェスト値との組み合わせを参照する(ステップS61)。そして、照合部148は、ファイル管理装置5にリストB1記載のファイルパスに一致する全てのファイルが配置されているか否かを確認する(ステップS62)。
照合部148は、ファイル管理装置5にリストB1記載のファイルパスに一致する全てのファイルが配置されていないこと確認した場合(ステップS62:No)、ファイル管理装置5に配置されたファイルは照合条件C1を満たさないと判定する(ステップS63)。
一方、照合部148は、ファイル管理装置5にリストB1記載のファイルパスに一致する全てのファイルが配置されていること確認した場合(ステップS62:Yes)、ファイル管理装置5に配置された各ファイルのファイルデータの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は、ファイル管理装置5に、リストB2記載の全てのファイルパスが確認対象のファイル集合内に配置されているか否かを判定する(ステップS69)。照合部148は、リストB2記載の全てのファイルパスが配置されていないと判定した場合(ステップS69:No)、照合条件C2を満たさないと判定する(ステップS70)。一方、照合部148は、リストB2記載の全てのファイルパスが配置されていると判定した場合(ステップS69:Yes)、照合条件C2を満たすと判定する(ステップS71)。
続いて、照合部148は、照合情報122のリストB3のディレクトリパスを参照する(ステップS72)。そして、照合部148は、照合情報122のリストB3の全てのディレクトリパスがファイル管理装置5に配置されているか否かを判定する(ステップS73)。照合部148は、照合情報122のリストB3の全てのディレクトリパスがファイル管理装置5に配置されていると判定した場合(ステップS73:Yes)、該ディレクトリの直下のファイルは、照合情報122のリストB1またはリストB2に記載のファイルであるか否かを判定する(ステップS75)。
照合部148は、ディレクトリの直下のファイルは、照合情報122のリストB1またはリストB2に記載のファイルでないと判定した場合(ステップS75:No)、直下のディレクトリは、リストB1,B2に記載のファイルを一つ以上配下に配置するディレクリであるか否かを判定する(ステップS76)。
照合部148は、照合情報122のリストB3の全てのディレクトリパスがファイル管理装置5に配置されていないと判定した場合(ステップ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)の処理手順について説明する。図32は、図30に示す確認処理の処理手順を示すフローチャートである。
図32に示すように、確認部149は、照合部148による照合結果を取得すると(ステップS81)、ファイル管理装置5に配置されたファイルが、照合情報122のリストB1記載の全てのリストについて、照合条件C1を満たすか否かを判定する(ステップS82)。確認部149は、照合情報122のリストB1記載の全てのリストについて、照合条件C1を満たすと判定した場合(ステップS82:Yes)、配置されるべきファイルが改ざんされていないこと(確認項目A1)を確認する(ステップS83)。これに対し、確認部149は、照合情報122のリストB1記載の全てのリストについて、照合条件C1を満たしていないと判定した場合(ステップS82:No)、配置されるべきファイルがない、或いは、配置されるべきファイルが改ざんされていることを確認する(ステップS84)。
続いて、確認部149は、ファイル管理装置5に配置されたファイルが、照合情報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は、ファイル管理装置5に配置されたファイルが、照合情報122のリストB3記載の全てのリストについて、照合条件C3を満たすか否かを判定する(ステップS88)。確認部149は、照合情報122のリストB3記載の全てのリストについて、照合条件C3を満たすと判定した場合(ステップS88:Yes)、配置されるべきでないファイルが追加されてない(確認項目A3)と判定する(ステップS89)。確認部149は、照合情報122のリストB3記載の全てのリストについて、照合条件C3を満たさないと判定した場合(ステップS88:No)、配置されるべきでないファイルが追加されていると判定する(ステップS90)。
続いて、確認部149は、確認結果を作成し(ステップS91)、通信部13又は出力部16に出力して確認処理を終了する。
[実施の形態の効果]
ここで、従来の業務アプリケーションtar形式では、複数のソフトウェアを一度にまとめて追加することができる。この場合、共有ライブラリのような細かい関連ソフトウェアまで過不足なく把握して共通定義情報を準備することは、ソフトウェア提供元の開発者にとっては負担となる。また、インストール時に追加、削除、変更されたものをひとまとめにして共通定義情報とする方法も考えられる。しかしながら、初期導入時やバージョンアップ時等、タイミングによって対象となるソフトウェアの組み合わせが異なるため、全てのバリエーションに対応する共通定義情報を作成するのは、手間がかかる。
また、共有ライブラリは他のアプリケーションによってバージョンアップされることもあり、その度に共通定義情報を作り直すのは非現実的である。そして、共有ライブラリをまとめてtar形式等で提供する場合、実際にどのようなソフトウェアやライブラリが含まれているのかを、アプリケーションを利用するオペレータが全て把握し、該当する共通定義情報を過不足なく準備することは困難である。
そこで、共通定義情報取得装置3では、共通定義情報の識別子(例えばインストールしたソフトウェア名)を入力すると、その識別子を基に、取得候補となる共通定義情報の識別子(のリスト)を抽出する。そして、共通定義情報取得装置3では、抽出した識別子に該当する共通定義情報を共通定義情報DB2から取得し、各々の共通定義情報について、条件に合致するファイル管理装置5上のファイルFが存在するかを比較、判別する。続いて、共通定義情報取得装置3では、判別結果に基づき、最終的に必要な共通定義情報のみを出力することで、過不足なく対応する共通定義情報を取得する。
このため、共通定義情報取得装置3では、パッケージ管理システムを用いない提供形式において、一度に複数のソフトウェアをインストールした場合でも、当該ソフトウェアの共通情報を過不足なく取得することが可能となる。そして、共通定義情報取得装置3は、取得した共通定義情報を照合情報作成装置4への入力とすることで、照合情報作成装置4では、管理者の負担を減らしながらも、適正な照合情報を効率的に作成可能になる。
そして、照合情報生成装置4は、共通定義情報取得装置3が取得した共通定義情報123の少なくとも一部を基に、このファイル管理装置5に適合する照合情報122を生成する。すなわち、本実施の形態に係るファイル管理システム1は、共有の共通定義情報に加え、当該ファイル管理装置5に応じて個別に備えるべき条件を示す個別定義情報125を用いて、個別定義情報125と共通定義情報123とをともに満たす照合情報を生成する。
言い換えると、本実施の形態に係るファイル管理システム1では、管理者が入力する個別定義情報と、外部から取得した共有の共通定義情報123の少なくとも一部とを用いて、照合情報122を生成する。したがって、本実施の形態に係るファイル管理システム1によれば、管理者が入力する情報は、ファイルの一部を変更したファイル等に関する個別定義情報のみでよく、照合情報作成に関する管理者の負担を低減することができる。これによって、本実施の形態では、ファイル管理装置5の管理者による照合情報作成コストも軽減できる。
そして、従来では、ソフトウェアパッケージに属するファイルの一部を変更可能である場合、ソフトウェアの提供元は、このようなファイルに対する正確な照合情報を提供できない場合があった。この場合、システム管理者は、一部を変更可能なファイルについての照合情報を取得することができず、ファイルの完全性を確認できないという問題があった。
例えば、従来では、ソフトウェアパッケージに属するファイルのファイルパスの一部をカスタマイズ可能な場合(prefix指定、ワイルドカード指定等)、ソフトウェア提供元は、これらのファイルの照合情報のリストB1〜B3のファイルパスを指定できない場合があった。
これに対し、本実施の形態では、ソフトウェア提供者は、照合情報のリストB1〜B3のファイルパスに対して、要素属性E2にファイルパス条件を示す共通定義情報G,G,Gを作成して提供する。そして、ファイル管理装置5の管理者は、共通定義情報の定義D1のファイルパス条件を満たす範囲で、管理対象のファイルのファイルパスを決定する。そして、ファイル管理装置5の管理者は、このように決定したファイルパスを照合情報122のリストB1〜B3のファイルパスに指定する。このため、本実施の形態では、照合情報のリストB1〜B3のファイルパスを滞りなく決定することができる。
また、例えば、従来では、ソフトウェアパッケージに属するファイルの一部を、インストール時に削除することが可能な場合(マニュアルファイル等)、ソフトウェア提供元は、これらのファイルを照合情報のリストB2,B3に掲載するか否かを判断できない。
これに対し、本実施の形態では、ソフトウェア提供者は、照合情報のリストB1,B2のファイルに対して、共通定義情報の要素属性E2の必須フラグを作成して提供する。ファイル管理装置5の管理者は、共通定義情報の定義D2の必須フラグが「否(F)」のファイルについて、インストールするか否かを決定し、インストールしないことに決定したファイルを照合情報のリストB1,B2から削除する。このため、本実施の形態では、照合情報のリストB1,B2に掲載するファイルの決定を滞りなく実行できる。
また、例えば、従来では、ソフトウェアパッケージに属するファイルデータの一部を、インストール時に変更することが可能な場合(設定ファイル等)、ソフトウェア提供元はこれらのファイルの照合情報のリストB1のファイルデータのダイジェスト値を指定できない場合があった。
これに対し、本実施の形態では、ソフトウェア提供者は、照合情報のリストB1のファイルに対して、共通定義情報の要素属性E3である固定値フラグを作成して提供する。ファイル管理装置5の管理者は、共通定義情報のE3の固定値フラグが「否(F)」のファイルについて、データを変更するか否かを決定し、変更することに決定したファイルのダイジェスト値を照合情報のリストB1のダイジェスト値に設定する。このため、本実施の形態では、照合情報のリストB1のファイルデータのダイジェスト値の決定を滞りなく実行できる。
このように、本実施の形態では、ファイル管理装置5においてソフトウェアパッケージに属するファイルの一部が変更された場合であっても、ファイル管理装置5は、この変更したソフトウェアパッケージに対する正確な照合情報を生成できる。したがって、本実施の形態によれば、ファイル管理装置5においてソフトウェアパッケージに属するファイルの一部を変更した場合であっても、配置されたファイルに適合する照合情報を用いて、ファイルの完全性を正確に確認できる。
また、本実施の形態では、照合情報の全てをソフトウェア提供者及びファイル管理装置5の管理者に決定させるのではない。本実施の形態によれば、対応可能である一部の情報をソフトウェア提供者及びファイル管理装置5の管理者が設定するのみで、ファイル管理装置5に適した照合情報を生成可能である。したがって、本実施の形態によれば、ファイル管理装置5の管理者に加え、ソフトウェア提供者の負担も低減することができる。
また、本実施の形態では、照合情報122として、配置されるべきであるファイルであり、かつ、ファイルデータが変化しないファイルのファイルパスとファイルデータのダイジェスト値との組み合わせを示すリストB1を有する照合情報を用いる。そして、本実施の形態では、配置されたファイルのファイルパス及び照合情報122が示すファイルパス、配置されたファイルのファイルデータのダイジェスト値及び照合情報122が示すファイルデータのダイジェスト値を照合し、配置されるべきファイルが改ざんされてないことを確認している。したがって、本実施の形態によれば、ファイル管理装置5の管理者の負担なく、ファイルの過不足を確認することが可能になる。
そして、本実施の形態では、照合情報122として、配置されるべきファイルであり、かつ、ファイルデータが変化しうるファイルのファイルパスを示すリストB2を有する照合条件を用いる。そして、本実施の形態では、照合情報122として、直下のファイルは同じ照合情報に属するリストB1またはリストB2に記載のファイルである第1のディレクトリ条件、直下のディレクトリは同じ照合情報に属するリストB1またはリストB2に記載のファイルを一つ以上配下に配置するディレクトリである第2のディレクトリ条件、直下に第1のディレクトリ条件または第2のディレクトリ条件に該当しないファイルまたはディレクトリを配置しない第3のディレクトリ条件を満たすディレクトリのディレクトリパスを示すリストB3、を有する照合情報を用いる。
そして、本実施の形態では、配置されたファイルのファイルパス及び照合情報122が示すファイルパス、配置されたファイルのディレクトリパス及び照合情報122が示すディレクトリパス、ディレクトリ条件を照合することによって、ログファイル等のダイジェスト値を定義できないファイル、及び、ディレクトリの過不足確認を適切に行うことができる。
このように、実施の形態によれば、ファイル管理に関するファイル管理装置5の管理者の負担を低減するとともに、管理対象のファイルに応じた適正な照合情報を用いてファイルを正確に確認することができる。
[実施の形態の変形例1]
実施の形態として、ファイル管理装置5が、確認項目A1〜A3の全てを確認する場合について説明したが、もちろん、ファイル管理装置5は、確認項目A1〜A3のいずれかを選択して確認を行ってもよい。その場合には、確認対象の確認項目によって使用する照合情報のリストの組み合わせが異なる。言い換えると、ファイル管理装置5は、取得した照合情報122が有するリストB1〜B3の組み合わせに応じて、確認項目A1と、確認項目A2,A3との少なくともいずれか一つを確認する。
図33は、図25に示す対応関係情報127のデータ構成の一例を示す図である。図33に示すように、対応関係情報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のいずれも不要である。このように、ファイル管理装置5は、確認項目の組み合わせに応じて、必要となるリストB1〜B3を取得すればよい(確認項目決定方法1)。一方、取得可能な照合情報、すなわち、作成・配布された照合情報にリストB1,B2,B3全てが備わっておらず、リストB1のみ、リストB2,B3のみ、といったケースが存在し、これらのケースにおいて実施可能な確認項目を確認する方法もある(確認項目決定方法2)。例えば、リストB1のみの照合情報であれば、確認項目A1のみ確認し、リストB2、B3のみの照合情報であれば、確認項目A2,A3のみを確認する。確認項目決定方法1と確認項目決定方法2は矛盾しないため、1つのシステムで両方実現可能であるが、確認項目決定方法2のみを実施するシステムであってもよい。
[実施の形態の変形例2]
次に、実施の形態の変形例2について説明する。図34は、実施の形態の変形例2における照合情報の生成処理を説明する図である。図34に示すように、{prefix}は、共通定義情報Gx、個別定義情報Cx、照合情報RxxのリストB1〜B3において共通の値である。
共通定義情報Gxでは、ファイルパス条件及びディレクトリパス条件は、照合情報のリストB1、リストB2及びリストB3に記載するファイルまたはディレクトリの全体または一部を、prefix範囲と定義する。そして、共通定義情報Gxでは、ファイルパス条件及びディレクトリパス条件は、prefix範囲を当該ファイル管理装置5で個別に決定したディレクトリパス(prefix)の配下に配置することを許可する。さらに、共通定義情報Gxでは、ファイルパス条件及びディレクトリパス条件は、ディレクトリパス(prefix)以外は、ファイル管理装置5で個別に決定することを許可しない。
例えば、照合情報Rxxのファイルパスの作成処理を例に説明する。共通定義情報Gxは、ファイルパスの一部をprefix定義する(図34の(1)参照)。また、個別定義情報Lxxでは、prefixの値を定義する(図34の(2)参照)。生成部147は、共通定義情報Gxでは、ファイルパス条件にしたがい、共通定義情報Gxと個別定義情報Lxxの定義からファイルパスを作成する。具体的には、ファイル「#11」については、共通定義情報Gxは、ファイル「#11」のファイルパスを「/[prefix1]/f11」と定義する。そして、個別定義情報Lxxでは、prefixの値を「dc」と定義する。生成部147は、共通定義情報Gxと個別定義情報Lxxの定義から、ファイル「#11」のファイルパスとして「/dc/f11」を作成する(図34の(3)参照)。なお、照合情報Rxxにおいて、複数のprefixを定義することもできる。例えば、2つのprefix(例:prefix1,prefix2)を定義することにより、個別にディレクトリパスを決定した2つのディレクトリ配下のファイル集合を定義することができる。
図35は、実施の形態の変形例2における照合情報の生成処理の他の例を説明する図である。図35に示すように、{wildcard}は、共通定義情報Gx、個別定義情報Cx、照合情報RxxのリストB1〜B3において任意の値であり、共通である必要はない。
共通定義情報Gxでは、ファイルパス条件及びディレクトリパス条件は、照合情報のリストB1、リストB2及びリストB3に記載するファイルパスまたはディレクトリパスを構成する文字列の一部をワイルドカード部分と定義する。そして、共通定義情報Gxでは、ワイルドカード部分を当該ファイル管理装置5で個別に決定した任意の文字列に置換することを許可する。そして、共通定義情報Gxでは、ワイルドカード部分以外は当該ファイル管理装置で個別に決定することを許可しない。
例えば、照合情報Rxxのファイルパスの作成処理を例に説明する。共通定義情報Gxは、ファイルパスの一部をワイルドカード定義する(図35の(1)参照)。また、個別定義情報Lxxでは、ワイルドカードの値を定義する(図35の(2)参照)。生成部147は、共通定義情報Gxでは、ファイルパス条件にしたがい、共通定義情報Gxと個別定義情報Lxxの定義からファイルパスを作成する(図35の(3)参照)。具体的には、ファイル「#12」については、共通定義情報Gxは、ファイル「#12」のファイルパスを「/d2/[wildcard12].exe」と定義する。そして、個別定義情報Lxxでは、ファイル「#12」のファイルパスについて、「[wildcard12]=“fc12”」と定義する。生成部147は、共通定義情報Gxと個別定義情報Lxxの定義から、ファイル「#12」のファイルパスとして「/d2/fc12.exe」を作成する。
図36は、実施の形態の変形例2における照合情報の生成処理の他の例を説明する図である。図36に示すように、正規表現は、共通定義情報Gx、個別定義情報Lxx、照合情報RxxのリストB1〜B3において任意の値であり、共通である必要はない。
共通定義情報Gxでは、ファイルパス条件及びディレクトリパス条件は、照合情報のリストB1、リストB2及びリストB3に記載するファイルパスまたはディレクトリパスを構成する文字列を、正規表現によって定義する。
例えば、照合情報Rxxのファイルパスの作成処理を例に説明する。共通定義情報Gxは、ファイルパスの一部を正規表現定義する(図36の(1)参照)。また、個別定義情報Lxxでは、正規表現の値を定義する(図36の(2)参照)。生成部147は、共通定義情報Gxでは、ファイルパス条件にしたがい、共通定義情報Gxと個別定義情報Lxxの定義からファイルパスを作成する(図36の(3)参照)。具体的には、ファイル「#12」については、共通定義情報Gxは、ファイル「#12」のファイルパスを「/d2/f12.*\.exe」とし、一部を正規表現による任意文字列「.*」で定義する。そして、個別定義情報Lxxでは、ファイル「#12」のファイルパスについて、任意文字列の値を「“test”」と定義する。生成部147は、共通定義情報Gxと個別定義情報Lxxの定義から、ファイル「#12」のファイルパスとして「/d2/f12test.exe」を作成する。
ここで、従来技術(例えば、非特許文献1,2記載の機能)では、ソフトウェアパッケージに属するファイルのファイルパスの一部をカスタマイズ可能な場合(prefix指定、ワイルドカード指定、等)、ソフトウェア提供元は、これらのファイルの照合情報のファイルパスを指定できない。
これに対し、本実施の形態の変形例2では、ソフトウェア提供者は、一部に対し、prefix定義、ワイルドカード定義或いは正規表現定義を行った共通定義情報を提供する。そして、ファイル管理装置5の管理者は、共通定義情報のファイルパス条件及びディレクトリパス条件を満たす範囲で、prefix、ワイルドカード或いは正規表現の値を入力するのみで、決定する。そして、ファイル管理装置5の管理者は、このように決定したファイルパスを照合情報122のリストB1〜B3のファイルパスに指定する。このため、本実施の形態では、ソフトウェアパッケージに属するファイルのファイルパスの一部にprefix指定やワイルドカード指定が行なわれた場合であっても、照合情報のリストB1〜B3のファイルパスを滞りなく決定することができる。
[実施の形態のシステム構成について]
図1に示したファイル管理システム1が有する各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、ファイル管理システム1が有する各装置の機能の分散及び統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
また、ファイル管理システム1が有する各装置においておこなわれる各処理は、全部または任意の一部が、CPU、GPU(Graphics Processing Unit)、及び、CPU、GPUにより解析実行されるプログラムにて実現されてもよい。また、ファイル管理システム1が有する各装置においておこなわれる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。
また、実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的に行うこともできる。もしくは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述及び図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。
[プログラム]
図37は、プログラムが実行されることにより、ファイル管理システム1が有する各装置が実現されるコンピュータの一例を示す図である。コンピュータ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を記憶する。すなわち、ファイル管理システム1が有する各装置の各処理を規定するプログラムは、コンピュータ1000により実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、ファイル管理システム1が有する各装置における機能構成と同様の処理を実行するためのプログラムモジュール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によって読み出されてもよい。
以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
1 ファイル管理システム
2 共通定義情報データベース(DB)
3 共通定義情報取得装置
4 照合情報生成装置
5 ファイル管理装置
11 ファイル記憶部
12 確認用情報記憶部
31,41,51 入力部
32,42,52 通信部
33,43,53 記憶部
34,44,54 制御部
35,45,55 出力部
121 確認内容情報
122 照合情報
123 共通定義情報
124 項目抽出情報
125 個別定義情報
126 条件情報
127 対応関係情報
141 ファイル管理部
142 照合情報生成部
143 ファイル確認部
144 共通定義情報取得部
145 個別定義項目抽出部
146 個別定義情報入力部
147 生成部
148 照合部
149 確認部
331 識別子情報
341 共通定義情報取得部
342 共通定義情報判別部
343 出力制御部

Claims (6)

  1. 配置されたファイルを管理する管理装置と、ファイルの改ざん確認或いは過不足確認の際に前記管理装置が照合する照合情報を生成する生成装置と、前記生成装置が照合情報の生成に使用する情報を取得する取得装置とを有する管理システムであって、
    前記取得装置は、
    前記照合情報に記載する可能性のあるファイル及びディレクトリのリストである共通リストの定義と、個別のファイル管理装置において、前記照合情報のファイル及びディレクトリのリストの要素を決定する条件である要素属性の定義と、を示す共有の共通定義情報を記憶する装置から、前記取得装置に入力された共通定義情報の識別情報に対応する共通定義情報を取得する第1の取得部と、
    前記第1の取得部が取得した共通定義情報と、前記ファイル管理装置が管理するファイルとを比較し、前記共通定義情報の条件に全て合致するファイルが有るか否かを判別する判別部と、
    前記判別部による判別結果を基に、前記第1の取得部が取得した共通定義情報のうち前記ファイル管理装置が管理するファイルに対応する共通定義情報を前記生成装置に出力する出力部と、
    を有することを特徴とする管理システム。
  2. 前記第1の取得部は、前記取得装置に入力された共通定義情報の識別情報に関連する他の識別情報をさらに取得し、前記取得装置に入力された共通定義情報の識別情報及び前記他の識別情報を基に、前記共通定義情報を取得することを特徴とする請求項1に記載の管理システム。
  3. 前記生成装置は、
    前記取得装置が出力した共通定義情報の少なくとも一部を取得する第2の取得部と、
    前記第2の取得部が取得した共通定義情報の共通リスト及び要素属性に基づいて、照合情報として、配置されるべきであるファイルであり、かつ、ファイルデータが変化しないファイルのファイルパスとファイルデータのダイジェスト値との組み合わせを示す第1のリスト、配置されるべきファイルであり、かつ、ファイルデータが変化しうるファイルのファイルパスを示す第2のリスト、及び、直下のファイルは同じ照合情報に属する前記第1のリストまたは前記第2のリストに記載のファイルである第1のディレクトリ条件、直下のディレクトリは同じ照合情報に属する前記第1のリストまたは前記第2のリストに記載のファイルを一つ以上配下に配置するディレクトリである第2のディレクトリ条件、直下に前記第1のディレクトリ条件または前記第2のディレクトリ条件に該当しないファイルまたはディレクトリを配置しない第3のディレクトリ条件を満たすディレクトリのディレクトリパスを示す第3のリスト、を有する照合情報を生成する生成部と、
    を有することを特徴とする請求項1または2に記載の管理システム。
  4. 前記生成装置は、前記ファイル管理装置に配置されるべきファイルに対して前記ファイル管理装置に応じて個別に備えるべき条件を示す情報である個別定義情報として設定すべき値を、前記ファイル管理装置に存在するファイルの状態に合わせて設定することを特徴とする請求項3に記載の管理システム。
  5. ファイルの改ざん確認或いは過不足確認の際に照合する照合情報の生成に使用する情報を取得する取得装置であって、
    前記照合情報に記載する可能性のあるファイル及びディレクトリのリストである共通リストの定義と、個別のファイル管理装置において、前記照合情報のファイル及びディレクトリのリストの要素を決定する条件である要素属性の定義と、を示す共有の共通定義情報を記憶する装置から、前記取得装置に入力された共通定義情報の識別情報に対応する共通定義情報を取得する取得部と、
    前記取得部が取得した共通定義情報と、前記ファイル管理装置が管理するファイルとを比較し、前記共通定義情報の条件に全て合致するファイルが有るか否かを判別する判別部と、
    前記判別部による判別結果を基に、前記取得部が取得した共通定義情報のうち管理対象のファイルに対応する共通定義情報を出力する出力部と、
    を有することを特徴とする取得装置。
  6. 配置されたファイルを管理する管理装置と、ファイルの改ざん確認或いは過不足確認の際に前記管理装置が照合する照合情報を生成する生成装置と、前記生成装置が照合情報の生成に使用する情報を取得する取得装置とを有する管理システムが実行する管理方法であって、
    前記取得装置が、前記照合情報に記載する可能性のあるファイル及びディレクトリのリストである共通リストの定義と、個別のファイル管理装置において、前記照合情報のファイル及びディレクトリのリストの要素を決定する条件である要素属性の定義と、を示す共有の共通定義情報を記憶する装置から、前記取得装置に入力された共通定義情報の識別情報に対応する共通定義情報を取得する工程と、
    前記取得装置が、取得した前記共通定義情報と、前記ファイル管理装置が管理するファイルと、を比較し、前記共通定義情報の条件に全て合致するファイルが有るか否かを判別する工程と、
    前記取得装置が、判別結果を基に、前記取得する工程において取得した共通定義情報のうち前記ファイル管理装置が管理するファイルに対応する共通定義情報を前記生成装置に出力する工程と、
    を含んだことを特徴とする管理方法。
JP2018203556A 2018-10-30 2018-10-30 管理システム、取得装置及び管理方法 Active JP7056514B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2018203556A JP7056514B2 (ja) 2018-10-30 2018-10-30 管理システム、取得装置及び管理方法
AU2019371545A AU2019371545B9 (en) 2018-10-30 2019-10-16 Management system, acquisition device and management method
EP19879390.3A EP3855334B1 (en) 2018-10-30 2019-10-16 Management system, acquisition device and management method
US17/289,223 US20220012230A1 (en) 2018-10-30 2019-10-16 Management system, acquisition device, and management method
CN201980071538.2A CN112930534A (zh) 2018-10-30 2019-10-16 管理系统、取得装置和管理方法
PCT/JP2019/040636 WO2020090469A1 (ja) 2018-10-30 2019-10-16 管理システム、取得装置及び管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018203556A JP7056514B2 (ja) 2018-10-30 2018-10-30 管理システム、取得装置及び管理方法

Publications (2)

Publication Number Publication Date
JP2020071560A true JP2020071560A (ja) 2020-05-07
JP7056514B2 JP7056514B2 (ja) 2022-04-19

Family

ID=70464016

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018203556A Active JP7056514B2 (ja) 2018-10-30 2018-10-30 管理システム、取得装置及び管理方法

Country Status (6)

Country Link
US (1) US20220012230A1 (ja)
EP (1) EP3855334B1 (ja)
JP (1) JP7056514B2 (ja)
CN (1) CN112930534A (ja)
AU (1) AU2019371545B9 (ja)
WO (1) WO2020090469A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022172422A1 (ja) 2021-02-12 2022-08-18 日本電信電話株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114175033A (zh) * 2019-07-23 2022-03-11 日本电信电话株式会社 验证信息生成系统、验证信息生成方法以及验证信息生成程序
WO2021014596A1 (ja) * 2019-07-23 2021-01-28 日本電信電話株式会社 検証情報作成システム、検証情報作成方法、および、検証情報作成プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08234966A (ja) * 1994-10-13 1996-09-13 Sun Microsyst Inc ソフトウェア・パッケージがパッケージングの規則及び要件に従っているかどうかを決定するシステム及び方法
JP2017111549A (ja) * 2015-12-15 2017-06-22 キヤノンマーケティングジャパン株式会社 情報処理装置、情報処理方法、プログラム
JP2019008377A (ja) * 2017-06-20 2019-01-17 日本電信電話株式会社 照合情報生成装置、管理システム及び照合情報生成方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060179116A1 (en) * 2003-10-10 2006-08-10 Speeter Thomas H Configuration management system and method of discovering configuration data
US8375458B2 (en) * 2007-01-05 2013-02-12 Apple Inc. System and method for authenticating code executing on computer system
JP2011215728A (ja) * 2010-03-31 2011-10-27 Toshiba Corp 書類管理システム、判定装置、データ出力制御装置、書類管理方法、書類管理プログラム
US9448780B1 (en) * 2011-12-13 2016-09-20 Zynga Inc. Package manager verifier
US9256765B2 (en) * 2012-06-29 2016-02-09 Kip Sign P1 Lp System and method for identifying software changes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08234966A (ja) * 1994-10-13 1996-09-13 Sun Microsyst Inc ソフトウェア・パッケージがパッケージングの規則及び要件に従っているかどうかを決定するシステム及び方法
JP2017111549A (ja) * 2015-12-15 2017-06-22 キヤノンマーケティングジャパン株式会社 情報処理装置、情報処理方法、プログラム
JP2019008377A (ja) * 2017-06-20 2019-01-17 日本電信電話株式会社 照合情報生成装置、管理システム及び照合情報生成方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022172422A1 (ja) 2021-02-12 2022-08-18 日本電信電話株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Also Published As

Publication number Publication date
AU2019371545B9 (en) 2023-04-13
WO2020090469A1 (ja) 2020-05-07
CN112930534A (zh) 2021-06-08
JP7056514B2 (ja) 2022-04-19
EP3855334A1 (en) 2021-07-28
AU2019371545B2 (en) 2023-03-30
AU2019371545A1 (en) 2021-05-27
EP3855334B1 (en) 2023-05-10
US20220012230A1 (en) 2022-01-13
EP3855334A4 (en) 2022-06-22

Similar Documents

Publication Publication Date Title
US10419546B2 (en) Migration assessment for cloud computing platforms
JP6753819B2 (ja) 照合情報生成装置、管理システム及び照合情報生成方法
US11726760B2 (en) Systems and methods for entry point-based code analysis and transformation
US20230244476A1 (en) Systems and methods for code analysis heat map interfaces
US9063808B2 (en) Deploying a package for a software application
JP5982366B2 (ja) プライベート・クラウド・コンピューティングためのシステムおよび方法
US11671506B2 (en) Microservice management system for recommending modifications to optimize operation of microservice-based systems
JP6713954B2 (ja) ファイル管理装置及びファイル管理方法
WO2020090469A1 (ja) 管理システム、取得装置及び管理方法
US9766869B2 (en) Parameterized installation packages
US9256509B1 (en) Computing environment analyzer
US11435991B2 (en) Automated machine deployment and configuration
US11803429B2 (en) Managing alert messages for applications and access permissions
Sharma et al. Mat: A migration assessment toolkit for paas clouds
US12032939B2 (en) Automated machine deployment and configuration
US8812458B2 (en) Adaptive methodology for updating solution building block architectures and associated tooling
US8805895B2 (en) Adaptive methodology for updating solution building block architectures and designs
La Lau et al. Software Management
JP2006072856A (ja) ファイル検査のための設定データ生成プログラム及びシステム
Wiley et al. Writing Packages
EP3077903B1 (en) Methods and systems for machine learning to discover application compatibility status
Hunley et al. A Whole New World: What’s New in SAS Data Integration Studio 4.2

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210119

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220321

R150 Certificate of patent or registration of utility model

Ref document number: 7056514

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150