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

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

Info

Publication number
WO2020090469A1
WO2020090469A1 PCT/JP2019/040636 JP2019040636W WO2020090469A1 WO 2020090469 A1 WO2020090469 A1 WO 2020090469A1 JP 2019040636 W JP2019040636 W JP 2019040636W WO 2020090469 A1 WO2020090469 A1 WO 2020090469A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
information
definition information
list
common definition
Prior art date
Application number
PCT/JP2019/040636
Other languages
English (en)
French (fr)
Inventor
宮本 剛
和巳 木下
雄一 小松
公洋 山越
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to CN201980071538.2A priority Critical patent/CN112930534B/zh
Priority to EP19879390.3A priority patent/EP3855334B1/en
Priority to US17/289,223 priority patent/US20220012230A1/en
Priority to AU2019371545A priority patent/AU2019371545B9/en
Publication of WO2020090469A1 publication Critical patent/WO2020090469A1/ja

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

Definitions

  • the present invention relates to a management system, an acquisition device, and a management method.
  • a tampering monitoring device for digital contents that creates a standard summary value of digital contents and checks tampering of the contents (for example, see Patent Document 1).
  • the tampering monitoring device monitors tampering and lack of file sets in addition to Web content.
  • the system administrator creates a snapshot of a clean environment and uses it as collation information.
  • RPM is a management function of a software package which is standardly installed in a UNIX (registered trademark) type operating system ( See, for example, Non-Patent Documents 1 and 2.
  • the RPM is provided with a file digest and signature for each package and registers it in the RPM database. Then, the RPM can collate the file installed in the file system with the digest value of the database.
  • Patent Document 1 it is necessary for the system operator to create and maintain snapshots in each system, which increases the system operator's burden and total cost, and Since it depends on the skill of the operator in many cases, it was not possible to maintain a certain level of accuracy.
  • this snapshot contains files that should not be checked for data. For example, log files and databases. False detection occurs unless these are excluded from the collation information.
  • the administrator needs to be familiar with the operation specifications of the software, which is sometimes difficult.
  • the snapshot includes directories that should not be checked for excess or deficiency. For example, files that are added or deleted by the proper operation of software. False detection occurs unless these are excluded from the collation information.
  • the administrator needs to be familiar with the operation specifications of the software, which is difficult.
  • the conventional technique has a problem in that the burden of the administrator on the file management is heavy and it may be difficult to accurately confirm the file to be managed.
  • Non-Patent Documents 1 and 2 when a part of the file path of a file belonging to a software package can be customized (prefix designation, wildcard designation, etc.), the software provider collates these files. Information file path cannot be specified.
  • the software provider uses these files as collation information. I can't decide whether to post it or not.
  • the software provider determines the collation information of these files. The digest value of file data cannot be specified. Therefore, in the related art, when a part of the files belonging to the software package can be changed, the software provider cannot provide accurate collation information for such files.
  • the present invention has been made in view of the above, reduces the burden on an administrator regarding file management, and accurately and accurately manages files by using collation information generated appropriately and efficiently according to files to be managed. It is an object of the present invention to provide a management system, an acquisition device, and a management method that can be confirmed.
  • a management system is a collation in which a management device that manages placed files collates with a management device when tampering confirmation or excess / deficiency confirmation of files.
  • a management system having a generation device that generates information and an acquisition device that acquires information used by the generation device to generate collation information, wherein the acquisition device includes files and directories that may be described in the collation information.
  • a first acquisition unit that acquires common definition information corresponding to the identification information of the common definition information that is input to the acquisition device, and a common constant acquired by the acquisition unit.
  • a determination unit that compares information with files managed by the file management device and determines whether or not there is a file that meets all the conditions of the common definition information, and the acquisition unit acquires based on the determination result by the determination unit.
  • the output unit that outputs the common definition information corresponding to the file managed by the file management device to the generation device.
  • the acquisition device is an acquisition device that acquires information used to generate verification information to be verified when a file is tampered with or checked for excess or deficiency, and a file that may be described in the verification information. And shared common definition information indicating a definition of a common list that is a list of directories and an element attribute definition that is a condition for determining an element of the list of files and directories of collation information in individual file management devices. From the device that acquires the common definition information corresponding to the identification information of the common definition information input to the acquisition device, the common definition information acquired by the acquisition unit, and the file managed by the file management device are compared.
  • the determination unit that determines whether or not there is a file that matches all the conditions of the common definition information, and the acquisition unit acquires based on the determination result by the determination unit. And having an output unit for outputting a common definition information corresponding to the managed files of passing definition information.
  • the present invention it is possible to reduce the burden on the administrator regarding file management and to accurately check the file using the matching information that is generated appropriately and efficiently according to the file to be managed.
  • FIG. 1 is a schematic diagram showing a schematic configuration of a management system having a file management device according to an embodiment.
  • FIG. 2 is a schematic diagram showing a schematic configuration of the common definition information acquisition device shown in FIG.
  • FIG. 3 is a diagram for explaining the contents defined by the common definition information shown in FIG.
  • FIG. 4 is a diagram for explaining the element attributes defined by the common definition information shown in FIG.
  • FIG. 5 is a diagram showing an example of the common definition information shown in FIG.
  • FIG. 6 is a diagram illustrating an example of the identifier of the common definition information.
  • FIG. 7 is a diagram illustrating an example of the identifier of the common definition information.
  • FIG. 8 is a diagram showing an example of common definition information stored in the common definition information database (DB).
  • DB common definition information database
  • FIG. 9 is a diagram for explaining files (software) managed by the file management device shown in FIG.
  • FIG. 10 is a flowchart showing a processing procedure of common definition information acquisition processing according to the embodiment.
  • FIG. 11 is a flowchart showing the processing procedure of the common definition information discrimination processing shown in FIG.
  • FIG. 12 is a schematic diagram showing a schematic configuration of the collation information generating device shown in FIG.
  • FIG. 13 is a diagram for explaining the contents of the list included in the collation information shown in FIG.
  • FIG. 14 is a diagram showing an example of the collation information shown in FIG.
  • FIG. 15 is a diagram for explaining the item extraction information shown in FIG.
  • FIG. 16 is a diagram for explaining the individual definition information shown in FIG.
  • FIG. 17 is a diagram showing an example of the individual definition information shown in FIG.
  • FIG. 18 is a diagram for explaining the collation information generation processing by the generation unit shown in FIG.
  • FIG. 19 is a flowchart of the processing procedure of the collation information generation processing according to the embodiment.
  • FIG. 20 is a flowchart of the processing procedure of the matching information generation processing shown in FIG.
  • FIG. 21 is a flowchart of the processing procedure of the list B1 setting processing shown in FIG. 22 is a flowchart of the processing procedure of the list B2 setting processing shown in FIG.
  • FIG. 23 is a flowchart of the processing procedure of the list B3 setting processing shown in FIG.
  • FIG. 24 is a flowchart showing the processing procedure of the individual definition information setting processing executed by the collation information generating apparatus shown in FIG. FIG.
  • FIG. 25 is a schematic diagram showing a schematic configuration of the file management device shown in FIG.
  • FIG. 26 is a diagram showing an example of the data structure of the confirmation content information shown in FIG.
  • FIG. 27 is a diagram for explaining the condition information shown in FIG.
  • FIG. 28 is a diagram for explaining the processing of the matching unit shown in FIG.
  • FIG. 29 is a diagram for explaining the process of the matching unit shown in FIG.
  • FIG. 30 is a flowchart of the processing procedure of the file confirmation processing according to the embodiment.
  • FIG. 31 is a flowchart showing the processing procedure of the collation processing shown in FIG.
  • FIG. 32 is a flowchart showing the processing procedure of the confirmation processing shown in FIG.
  • FIG. 33 is a diagram showing an example of the data structure of the correspondence information shown in FIG. FIG.
  • FIG. 34 is a diagram illustrating a process of generating collation information according to the second modification of the embodiment.
  • FIG. 35 is a diagram illustrating another example of collation information generation processing according to the second modification of the embodiment.
  • FIG. 36 is a diagram illustrating another example of collation information generation processing according to the second modification of the embodiment.
  • FIG. 37 is a diagram illustrating an example of a computer that realizes each device included in the file management system by executing the program.
  • the management system according to the present embodiment acquires common definition information corresponding to a file to be managed from shared common definition information created in advance. Then, the management system according to the present embodiment creates collation information to be applied to the device based on the acquired common definition information and the device-specific definition information, and uses the collation information to falsify the file. Check for any one of: deleting files, adding files that should not be placed in the database.
  • FIG. 1 is a schematic diagram showing a schematic configuration of the management system according to the embodiment.
  • a common definition information database (DB) 2 and a common definition information acquisition device 3 (acquisition device) are connected, and the latter stage of the common definition information acquisition device 3 is connected.
  • the collation information generation device 4 (generation device) and the file management device 5 (management device) are arranged.
  • the common definition information DB 2 has shared common definition information (for example, common definition information G 1 , G 2 , G 3 ).
  • the shared common definition information G 1 , G 2 , and G 3 are created and provided by a software provider, for example. Note that the storage and distribution of the shared common definition information G 1 , G 2 , and G 3 are not limited to the centralized management method, and various existing means can be applied.
  • the file management device 5 manages a plurality of arranged (installed) files F.
  • the file management device 5 is a PC (Personal Computer) equipped with a general operating system, a server device, or the like.
  • the number of file management devices 5 shown in FIG. 1 is an example, and the number is not limited to this.
  • the file set managed by the file management device 5 is specifically a file set forming a software package.
  • the file set includes, for example, a program file that executes a program and a setting file that defines the execution order of the program files.
  • the file path and directory structure of these file sets are often common regardless of the installation destination.
  • the program files and the like are often the same data regardless of the installation destination.
  • setting files and the like often edit data according to the installation destination.
  • the file management device 5 identifies the file data of the file to be managed by the file path, classifies the file path by the directory, and identifies the directory by the directory path.
  • the common definition information acquisition device 3 acquires common definition information used by the verification information generation device 4 to generate verification information.
  • the common definition information acquisition device 3 acquires the common definition information Gx used by the matching information generation device 4 from the common definition information DB 2 based on the input common definition information identifier Dx, and causes the matching information generation device 4 to acquire the common definition information Gx. Output.
  • the collation information generation device 4 generates collation information that the file management device collates at the time of checking whether the file has been tampered with or when checking whether the file is insufficient.
  • the collation information generation device 4 generates collation information Rxx that satisfies the common definition information Gx output from the common definition information acquisition device 3 and the individual definition information Cx for each device.
  • the individual definition information Cxx is information indicating a condition that a file set to be arranged in the file management device 5 should be individually provided according to the file management device 5.
  • the file management device 5 collates the collation information Rxx generated by the collation information generation device 4 with the file to be managed.
  • the file management device 5 confirms, based on the collation result, whether the file has been tampered with, the file has been deleted, or the file that should not be arranged in the database has been added, and the confirmation result Ex is output.
  • FIG. 2 is a schematic diagram showing a schematic configuration of the common definition information acquisition device 3 shown in FIG.
  • the common definition information acquisition device 3 includes an input unit 31, a communication unit 32, a storage unit 33, a control unit 34, and an output unit 35.
  • the input unit 31 is an input interface that receives various operations from an operator or the like of the common definition information acquisition device 3.
  • the input unit 31 includes a touch panel, a voice input device, an input device such as a keyboard and a mouse.
  • the input unit 15 receives, for example, the input of the identifier (identification information) Dx of the common definition information.
  • the identifier Dx of the common definition information may be input by a file, CLI (Command Line Interface) or GUI (Graphical User Interface).
  • CLI Common Line Interface
  • GUI Graphical User Interface
  • the communication unit 32 is a communication interface that transmits and receives various information to and from other devices connected via a network or the like.
  • the communication unit 32 is realized by a NIC (Network Interface Card) or the like, and another device (for example, common definition information DB2) and a control unit 34 (described later) via a telecommunication line such as a LAN (Local Area Network) or the Internet.
  • a NIC Network Interface Card
  • DB2 Common Definition information DB2
  • control unit 34 described later
  • the communication unit 32 receives the common definition information Gx transmitted from the common definition information DB2.
  • the storage unit 33 is a storage device such as an HDD (Hard Disk Drive), SSD (Solid State Drive), and optical disk.
  • the storage unit 10 may be a rewritable semiconductor memory such as RAM (Random Access Memory), flash memory, NVSRAM (Non Volatile Static Random Access Memory).
  • the storage unit 10 stores an OS (Operating System) and various programs executed by the common definition information acquisition device 3. Further, the storage unit 10 stores various kinds of information used for executing the program.
  • the storage unit 10 has common definition information 123 and identifier information 331.
  • the common definition information 123 is information acquired by the common definition information acquisition unit 341 (described later) from the common definition information DB2.
  • the common definition information 123 is a common list, which is a list of files and directories that may be included in the collation information, for collation information that is collated when checking whether the file has been tampered with or is insufficient in any file management device. Define. Then, the common definition information 123 defines an element attribute that is a condition for determining an element of the list of files and directories of the collation information in each individual file management device.
  • FIG. 3 is a diagram for explaining the contents defined by the common definition information 123 shown in FIG.
  • the common definition information 123 defines the definition D1 and the definition D2. That is, the contents of the definition D1 are common lists J1, J2, which are lists of files and directories that may be described in lists B1, B2, B3 (described later) forming the collation information in an arbitrary file management device. It is the definition of J3.
  • the content of the definition D2 is a definition of an element attribute which is a condition for determining an element of the matching information lists B1, B2, B3 in the individual file management device.
  • the elements of the lists B1 to B3 are determined for the common lists J1 to J3 of the definition D1 based on the element attributes of the definition D2.
  • the common definition information 123 defines a common list of files described in the collation information lists B1 and B2 of the file set and a common list of directories described in the collation information B3. Then, the common definition information 123 describes and defines attributes E1 to E4 described below as element attributes for these files and directories. E1, E2, E3 are defined in the file, and E4 is defined in the directory.
  • FIG. 4 is a diagram for explaining element attributes defined by the common definition information 123 shown in FIG.
  • E1 to E4 are defined as element attributes.
  • the element attribute E1 is a first flag (T) indicating that it is essential to arrange the files described in the common list of the lists B1 and B2 of the collation information 122 in the file management device, or a first flag (T) indicating that the files are not essential.
  • a mandatory flag that defines the 2 flag (F) is defined.
  • the element attribute E2 defines a file path condition that is a creation condition of the file path notation of the file described in the common list of the lists B1 and B2 of the collation information 122.
  • the element attribute E3 defines a digest value of a file whose file data cannot be changed when arranging it among the files listed in the common list of the collation information list B1.
  • the element attribute E4 defines a directory path condition which is a creation condition of the directory path notation of the directory described in the common list of the matching information list B3.
  • FIG. 5 is a diagram showing an example of the common definition information 123 shown in FIG.
  • the common definition information Gx has common lists J1 to J3.
  • the common list J1 is a common list of files described in the list B1 of the collation information 122.
  • file path conditions (element attribute E2)
  • digest values (element attribute E3)
  • essential flags (element attribute E1) are associated as common attributes H1 as the element attributes of each file.
  • the common list J2 is a common list of files described in the list B2 of the collation information 122.
  • a file path condition (element attribute E2) and a mandatory flag (element attribute E1) are associated as a common attribute H2 as element attributes of each file.
  • the common list J3 is a common list of directories described in the list B3 of the verification information 122.
  • a directory path condition (element attribute E4) is associated as a common attribute H3 as an element attribute of each directory.
  • the "directory path condition 31" corresponds to the directory "# 31”.
  • the directory “# 32” corresponds to the “directory path condition 32”.
  • the identifier information 331 has information for identifying each piece of common definition information. For example, it includes elements such as an identifier name of the common definition information, an identifier of the attendance definition information corresponding to other liquor and ware required by the software, and version information regarding the version of the software.
  • the version information is "v1.1 or later", “v1.3 or earlier”, and the like.
  • the identifier information 331 includes some or all of these elements. Further, the identifier information 331 may include a plurality of values corresponding to each element. However, there is only one identifier name for the common definition information.
  • the common definition information acquisition device 3 may hold only the identifier information of the common definition information regarding the file managed by the file management device 5 to which the common definition information acquisition device 3 corresponds, or the identifiers of all the common definition information in the common definition information DB2. Information may be retained.
  • the control unit 34 controls the entire common definition information acquisition device 3.
  • the control unit 34 is, for example, an electronic circuit such as a CPU (Central Processing Unit) or MPU (Micro Processing Unit), or an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array). Further, the control unit 34 has an internal memory for storing programs and control data defining various processing procedures, and executes each process using the internal memory. Further, the control unit 34 functions as various processing units by operating various programs.
  • the control unit 34 includes a common definition information acquisition unit 341 (first acquisition unit), a common definition information determination unit 342 (determination unit), and an output control unit 433 (output unit).
  • the common definition information acquisition unit 341 acquires the common definition information corresponding to the identifier Dx of the common definition information input to the common definition information acquisition device 3 from the common definition information DB 2.
  • 6 and 7 are diagrams illustrating an example of the common definition information identifier Dx.
  • the identifier Dx 1 of the common definition information shown in FIG. 6 includes the identifier name “software A ver1.0”. Further, the identifier Dx 1 of the common definition information includes, in addition to the identifier name, another required identifier and its version condition. An operator or the like can specify a plurality of elements other than the identifier name. Further, like the identifier Dx 2 of the common definition information in FIG. 7, it is possible to specify only the identifier name.
  • the common definition information acquisition unit 341 extracts the identifier of the common definition information to be acquired based on the input common definition information identifier Dx.
  • the common definition information acquisition unit 341 further acquires other identification information related to the identifier Dx of the common definition information input to the common definition information acquisition device 3, and acquires the common definition information of the common definition information input to the common definition information acquisition device 3. You may acquire the list
  • the common definition information acquisition unit 341 refers to the identifier information 331 to check “software A ver1.0” and “software A ver1.1”. , "Software B ver1.0”, “Software B ver1.1”, “Software C ver1.0”, “Software C ver1.1” are extracted as identifiers.
  • the common definition information acquisition unit 341 sets “the input identifier name to which the version information is added” as the identifier name. Get all the identifiers Further, the common definition information acquisition unit 341 may extract the identifier of the common definition information to be acquired from the identifier information held by the external device, not limited to the identifier information 331 held by the own device.
  • FIG. 8 is a diagram showing an example of common definition information stored in the common definition information DB 2.
  • the common definition information DB 2 includes common definition information Ga having an identifier name of “software A ver1.0”, common definition information Ga ′ having an identifier name of “software A ver1.1”, and “software”.
  • the common definition information acquisition unit 341 identifies the identifier “software A ver1.0”, the identifier “software A ver1.1”, the identifier “software B ver1.0”, the identifier “software B ver1.1”, The common definition information Ga, Ga ′, Gb, Gb ′, Gc, Gc ′ corresponding to the identifier “software C ver1.0” and the identifier “software C ver1.1” is acquired.
  • the common definition information determination unit 342 compares the common definition information acquired by the common definition information acquisition unit 341 with the file F managed by the file management device 5, and determines whether there is a file that matches all the conditions of the common definition information. Determine whether.
  • FIG. 9 is a diagram for explaining files (software) managed by the file management device 5 shown in FIG. As shown in FIG. 9, the file management device 5 installs and manages “software A ver1.0”, “software B ver1.0”, and “software C ver1.0”.
  • the common definition information discriminating unit 342 determines that the common definition information Ga, Gb, Gc among the common definition information Ga, Ga ′, Gb, Gb ′, Gc, Gc ′ acquired by the common definition information acquiring unit 341 is Determined to match "Software A ver1.0”, “Software B ver1.0”, and "Software C ver1.0".
  • the output control unit 343 collates the common definition information corresponding to the file managed by the file management device 5 among the common definition information acquired by the common definition information acquisition unit 341, based on the determination result by the common definition information determination unit 342. Output to the generation device 4.
  • the output control unit 343 outputs the common definition information Gx to the collation information generation device 4, for example, via the communication unit 32 or the like.
  • the output unit 35 is realized by, for example, a display device such as a liquid crystal display, a printing device such as a printer, an information communication device, and the like, and outputs information regarding file management processing.
  • FIG. 10 is a flowchart showing a processing procedure of common definition information acquisition processing according to the embodiment.
  • the common definition information acquisition device 3 when the input unit 31 receives the input of the identifier Dx of the common definition information (step S101), the common definition information acquisition unit 341, the common definition information DB2, The common definition information corresponding to the identifier Dx of the common definition information is acquired (step S102).
  • the common definition information acquired by the common definition information acquisition unit 341 and the common definition information determination unit 342 compare the files managed by the file management device 5 to determine whether the common definition information Common definition information determination processing is performed to determine whether or not there is a file F that meets all the conditions (step S103).
  • the output control unit 343 collates the common definition information corresponding to the file F managed by the file management device 5 among the common definition information acquired by the common definition information acquisition unit 341 based on the determination result by the common definition information determination unit 342.
  • the information is output to the information generating device 4 (step S104).
  • FIG. 11 is a flowchart showing the processing procedure of the common definition information discrimination processing shown in FIG.
  • the common definition information determination unit 342 repeats the determination processing for the common definition information acquired in step S102 of FIG. 10 for the entries described in each common definition information. First, the common definition information determination unit 342 determines whether or not a file satisfying the file path condition exists in the file management device 5 (step S111).
  • the common definition information determination unit 342 determines whether the flag is T or F. Yes (step S112).
  • the common definition information determination unit 342 determines that the flag of the common definition information is T (step S112: T)
  • the determination result is NG (step S113). That is, the common definition information determination unit 342 determines that there is no file F that matches all the conditions of the common definition information for this entry. In this case, since the acquired common definition information does not match the file F managed by the file management device 5, the common definition information determination unit 342 skips the determination for the subsequent entries. Note that the determination result of step S103 for this common definition information is NG.
  • step S111 exists
  • step S112 F
  • step S114 it is determined whether the digest value of the common definition information is defined or undefined
  • the common definition information determination unit 342 calculates the digest value of the file existing in the file management device 5 (step S115). Then, the common definition information determining unit 342 determines whether the calculation result matches the digest value of the common definition information (step S116).
  • step S116 determines that the calculation result does not match the digest value of the common definition information (step S116: mismatch).
  • the common definition information determination unit 342 determines that the calculation result matches the digest value of the common definition information (step S116: match), or determines that the digest value of the common definition information is undefined ( Step S114: undefined), and the determination result is OK (step S117).
  • the determination result of step S103 for the corresponding common definition information is OK.
  • the common definition information discrimination unit 342 performs the processing of steps S111 to S117 for all the entries described in the common definition information, and outputs the common definition information whose discrimination result is OK in step S104. Further, the common definition information discrimination unit 342 outputs an error if the common definition information discriminating process does not find the common definition information to be output. The determination of the file path condition will be described with reference to FIGS. 34 to 36 described later.
  • FIG. 12 is a schematic diagram showing a schematic configuration of the collation information generation device 4.
  • the collation information generation device 4 has an input unit 41, a communication unit 42, a storage unit 43, a control unit 44, and an output unit 45.
  • the input unit 41, the communication unit 42, the storage unit 43, the control unit 44, and the output unit 45 have the same functions as the input unit 11, the communication unit 12, the storage unit 13, the control unit 14, and the output unit 15.
  • the input unit 41 receives the input of the individual definition information Cxx, for example, according to the operation of the input device of the operator.
  • the communication unit 42 also receives the common definition information Gx output from the common definition information acquisition device 3.
  • the storage unit 43 stores the collation information for confirming the integrity of the file, or the information used when generating the collation information.
  • the storage unit 43 has collation information 122, common definition information 123, item extraction information 124, and individual definition information 125. Since the common definition information 123 has been described above, the description thereof will be omitted.
  • the collation information 122 is generated by the file management device 5 as the collation information corresponding to the file set managed by the file management device 5.
  • the matching information 122 includes a list B1 (first list), a list B2 (second list), and a list B3 (third list).
  • the lists B1 to B3 will be described with reference to FIG.
  • FIG. 13 is a diagram for explaining the contents of the lists B1 to B3 included in the collation information 122 shown in FIG.
  • the list B1 shows the file path and the digest value of the file data of the file that should be placed in the file storage unit 11 and whose file data does not change.
  • a list of combinations is shown.
  • the digest value is, for example, a hash value of file data.
  • the hash value is a value obtained by converting the original data with a hash function such as SHA256. Since the hash value is small and the hash value changes when the original data changes (alters), it is used for tampering determination.
  • the list B2 shows a list of file paths of files that should be placed in the file storage unit 11 and whose file data can change.
  • the list B3 shows a list of directory paths of directories that satisfy the following directory conditions b31 to b33.
  • the directory condition b31 (first directory condition) is a file described immediately below which is included in the list B1 or the list B2 belonging to the same collation information.
  • the condition b32 (second directory condition) is a directory in which one or more files described in the list B1 or the list B2 belonging to the same collation information are placed under the directory immediately below.
  • the condition b33 (third directory condition) is that a file or directory that does not correspond to the directory condition b31 or the directory condition b32 is not placed immediately below.
  • FIG. 14 is a diagram showing an example of the collation information 122 shown in FIG.
  • the matching information Rxx has lists Rxx-B1 to Rxx-B3.
  • the list Rxx-B1 describes combinations of the file paths “file paths 11 to 13” of the files F11 to F13 and the digest values “digest values 1 to 3” of the file data.
  • the files F11 to F13 are files that should be placed in the file storage unit 11, and are files whose file data does not change.
  • the list Rxx-B2 describes the file paths “file paths 21 to 23” of the files F21 to 23.
  • the files 21 to F23 are files that should be placed in the file storage unit 11 and whose file data can change.
  • the list Rxx-B3 describes “directory paths 1 to 3” that are directory paths that satisfy the directory conditions b31 to b33.
  • the item extraction information 124 is information indicating an extraction item from the common definition information 123.
  • the extracted items are contents that should be defined as individual information of the file management device 3.
  • FIG. 15 is a diagram for explaining the item extraction information 124 shown in FIG. As shown in the table 124a of FIG. 15, the item extraction information 124 indicates the extraction content from each target of the common definition information 123, and the extraction target and the extraction content from the extraction target are associated with each other. There is.
  • the first is a file whose essential flag, which is the element attribute E1, is "F".
  • the second is an element that is individually determined by the file management device 3 in the file path notation that satisfies the file path condition that is the element attribute E2 for the file to be arranged.
  • the third is a file path in which the digest value of the element attribute E3 is not defined for the file to be placed.
  • the file defined in the common definition information 123 to be included in the list B2 of the collation information 122 is a target, the following two extraction contents are obtained.
  • the first is a file whose essential flag, which is the element attribute E1, is "F".
  • the second is an element that is individually determined by the file management device 3 in the file path notation that satisfies the file path condition that is the element attribute E2 for the file to be arranged.
  • the extracted content is the directory path satisfying the file path condition of E2 in the element attribute for the file to be arranged.
  • it is an element that is individually determined by the file management device.
  • An individual definition item extraction unit 145 extracts an item from a file or directory that is a target of the common definition information 123 according to this item extraction information 124, and defines it as an item of the individual definition information 125.
  • the individual definition information 125 is information indicating a condition that an item extracted from the common definition information 123 according to the item extraction information 124 should be individually provided according to the file management device 5.
  • the individual definition information 125 is information input from the outside.
  • the individual definition information 125 is input from the outside by the operation of the input unit 15 by the administrator of the file management device 5.
  • the individual definition information 125 may be input from the outside via the communication unit 13.
  • FIG. 16 is a diagram for explaining the individual definition information 125 shown in FIG. As shown in the table 125a of FIG. 16, the individual definition information 125 is associated with the input content for the input target.
  • the input content is three.
  • the first is the presence / absence of a file with a mandatory flag “F” that is the element attribute E1.
  • the second is the value of the element individually determined by the file management device 5 in the file path notation that satisfies the file path condition that is the element attribute E2 for the file to be arranged.
  • the third is the digest value of a file in which the digest value of the element attribute E3 is not defined for the file to be placed.
  • the input contents are the following two.
  • the first is the presence / absence of a file with a mandatory flag “F” that is the element attribute E1.
  • the second is the value of the element individually determined by the file management device 5 in the file path notation that satisfies the file path condition that is the element attribute E2 for the file to be arranged.
  • the input content is a directory path that satisfies the file path condition that is the element attribute E2 for the file to be arranged. Among the notations, it is a value of which is an element individually determined by the file management device 5.
  • the individual definition information 125 is acquired by the individual definition information input unit 146 (described later). Then, the collation information 122 is generated based on the common definition information 123 and the individual definition information 125.
  • FIG. 17 is a diagram showing an example of the individual definition information 125 shown in FIG.
  • the individual definition information Lxx shown in FIG. 17 has lists Wc1 to Wc3.
  • the list Wc1 of the individual definition information Lxx is each condition that the file defined in the common definition information Gx to be included in the list B1 of the collation information 122 should be individually provided according to the file management device 5, that is, FIG. Is a list showing the input contents described in the first row shown in Table 125a.
  • the files “# 11” to “# 16” are associated with the file path notation, the digest value, and the necessity of arranging the files according to the file.
  • the first line shows “file path notation (individual element) 11” that is the file path notation corresponding to the file “# 11” (see column Lc11).
  • “file path notation (individual element) 12” which is the file path notation corresponding to the file “# 12” and “arrangement required” which is the necessity of arrangement for the file "# 12” (See column Lc13).
  • the “file path notation (individual element) 14” that is the file path notation corresponding to the file "# 14” and the "digest value 14" of the file "# 14” (see column Lc12) It is shown.
  • the list Wc2 of the individual definition information Lxx is, for each file defined in the common definition information Gx to be included in the list B2 of the collation information 122, each condition to be provided individually according to the file management device 5, that is, FIG. Is a list showing the input contents described in the second row shown in Table 125a.
  • the files “# 21” to “# 23” are associated with the file path notation or the necessity of file arrangement according to the file.
  • “File path notation (individual element) 21” which is the file path notation corresponding to the file “# 21”
  • the first line see column Lc21
  • the file path notation (individual element) 22 which is the file path notation corresponding to the file “# 22” and the necessity of arrangement for the file “# 22” are required. (See column Lc22).
  • the list Wc3 of the individual definition information Lxx is, for each directory that is defined in the common definition information Gx to be included in the list B3 of the collation information 122, each condition that should be individually provided according to the file management device 5, that is, FIG. Is a list showing the input contents described in the third row shown in Table 125a.
  • directory path notations are associated with the directories “# 31” and “# 32” according to the directory.
  • directory path notation (individual element) 31 which is the directory path notation corresponding to the directory "# 31”
  • first line see column Lc31
  • second line "directory path notation (individual element) 32" which is the directory path notation corresponding to the directory "# 32" is shown.
  • the control unit 44 generates the collation information 122 used by the file management device 5 based on the common definition information Gx output from the common definition information acquisition device 3 and the individual definition information 125.
  • the collation information 122 used by the file management device 5 is generated.
  • the collation information generation unit 142 includes a common definition information acquisition unit 144 (second acquisition unit), an individual definition item extraction unit 145, an individual definition information input unit 146, and a generation unit 147.
  • the common definition information acquisition unit 144 acquires at least a part of the shared common definition information stored in the common definition information DB 2.
  • the common definition information acquisition unit 144 acquires the common definition information 123 corresponding to the file set Fs arranged in the file storage unit 11 by downloading it from the external common definition information DB 2 via a network or the like.
  • the common definition information acquisition unit 144 acquires the common definition information 123 when the administrator of the file management device 5 inputs a file or the like.
  • the common definition information acquisition unit 144 stores the acquired common definition information 123 in the confirmation information storage unit 12.
  • the individual definition item extraction unit 145 extracts items to be defined as the individual definition information 125 from the common definition information 123 acquired by the common definition information acquisition unit 144.
  • the individual definition item extraction unit 145 extracts items from the common definition information 123 according to the item extraction information 124.
  • the items to be extracted are the items shown in the table 124a of FIG. 15 described above, and are set for each of the files or directories defined to be included in each of the lists B1 to B3 of the collation information 122. Description of each item is omitted because it has been described with reference to FIG. 15.
  • the individual definition information input unit 146 receives input of individual definition information for the items extracted from the common definition information 123 by the individual definition item extraction unit 145.
  • the contents of the information that accepts the input are the items shown in the table 125a of FIG. 16 described above, and are set for each of the files or directories that are defined to be included in each list B1 to B3 of the collation information 122. Description of each input information is omitted because it has been described with reference to FIG. 16.
  • the individual definition information 125 based on the information received by the individual definition information input unit 146 is, for example, the individual definition information Lxx shown in FIG.
  • the individual definition information input unit 146 stores the acquired individual definition information 125 in the confirmation information storage unit 12.
  • the individual definition information input unit 146 presents the operation screen showing each extraction item and the input fields for the value and the like to the manager of the file management device 5.
  • a structured file format such as XML (Extensible Markup Language) or a graphical UI (User Interface) is used.
  • the individual definition information input unit 146 acquires the individual definition information 125 by accepting the information input to each input field by the operation of the input unit 41 by the administrator of the file management device 5.
  • the individual definition information input unit 146 outputs a transmission request such as a value for each extraction item to the external device via the communication unit 42.
  • the individual definition information input unit 146 may acquire the individual definition information 125 by receiving each information transmitted from the external device in response to the transmission request.
  • the generation unit 147 generates the collation information 122 based on the common list and element attributes of the common definition information 123.
  • the generation unit 147 includes the shared common definition information 123 and the individual definition information 125 indicating the condition to be individually provided for each file management device 5 with respect to the file set to be arranged in the file management device 5.
  • the matching verification information 122 to be satisfied is generated.
  • the generation unit 147 determines the files to be arranged in the lists B1 to B3 of the collation information 122, and the file paths, digest values, and directory paths described in the lists B1 to B3. To decide.
  • the generation unit 147 also calculates the digest value of the file data of the files arranged in the list B1.
  • the generation unit 147 stores the generated collation information 122 as a file in the confirmation information storage unit 12.
  • the generation unit 147 may directly import the generated collation information 122 into the integrity confirmation function operating in the file management device 5, that is, the file confirmation unit 143.
  • FIG. 18 is a diagram illustrating a process of generating the collation information 122 by the generation unit 147 shown in FIG.
  • FIG. 18 shows the common definition information Gx on the left side, the individual definition information Lxx on the center, and the collation information Rxx on the right side.
  • the common definition information Gx is acquired by the common definition information acquisition unit 144.
  • the individual definition information Lxx is based on the information received by the individual definition information input unit 146 as a condition to be individually provided in the file management device 5 for the item extracted from the common definition information Gx by the individual definition item extraction unit 145. ..
  • the collation information Rxx is generated by the generation unit 147 based on the individual definition information Lxx and the collation information Rxx so as to satisfy both the individual definition information Lxx and the collation information Rxx.
  • the generation unit 147 creates the list B1 of the matching information Rxx.
  • the generation unit 147 refers to the list Wc1 of the individual definition information Lxx for the files defined in the list B1 of the collation information Rxx in the common list J1 of the common definition information Gx, and performs the following determination process. To do.
  • the generation unit 147 refers to the list Wc1 of the individual definition information Lxx and arranges the files to which the “F” is added as the essential flag that is the element attribute E1.
  • the files “# 12” and “# 15” that are the flag “F” of the common definition information Gx are “arranged required” in the list Wc1 of the individual definition information Lxx. It is decided to place “# 12” and “# 15” in the list B1.
  • the generation unit 147 determines that the file “# 13” is not arranged in the list Wc1 of the individual definition information Lxx. Is not placed in list B1.
  • the generation unit 147 sets the file with the flag “F” and the file with the flag “T” that are determined to be arranged as the file of the list B1. Specifically, the generation unit 147 sets the files “# 12” and “# 15” having the flag “F” and the files “# 11” and “# 14” having the flag “T”, which have been determined to be arranged, in the list B1. Decide on a file.
  • the generation unit 147 determines the file path notation for these files that satisfies the file path condition that is the element attribute E2 of the common list J1 of the common definition information Gx. Then, the generation unit 147 describes the file path described according to the determined notation as the file path of the list B1.
  • the generation unit 147 for the files “# 11”, “# 12”, “# 14”, and “# 15”, the “file path notation (individual element) 11, 12, 14 of the list Wc1 of the individual definition information Lxx. , 15 ”is determined as the file path notation“ file path 11, 12, 14, 15 ”that satisfies the“ file path conditions 11, 12, 14, 15 ”of the common definition information Gx, and is described in the list B1 of the collation information Rxx. To do.
  • the generation unit 147 calculates the hash value of the file data for the file to be arranged, for the file in which the digest value that is the element attribute E3 is not defined in the common list J1 of the common definition information Gx. The generation unit 147 determines the calculated hash value as the digest value. Then, the generation unit 147 sets the determined digest value as the digest value of the list B1.
  • the generation unit 147 calculates the hash value of the file data of the files “# 14” and “# 15”, and uses the calculated hash value as the “digest value 14 of the files“ # 14 ”and“ # 15 ”. 15 ". Then, the generation unit 147 describes “digest values 14, 15” as the digest of the files “# 14” and “# 15” in the list B1 of the matching information Rxx. Since the files “# 11” and “# 12” are described in the common list J1 of the common definition information Gx, the generation unit 147 describes “digest values 11, 12” in the list B1 of the matching information Rxx. To do.
  • the generation unit 147 performs the following determination process for the files defined in the list B2 of the collation information Rxx in the common list J2 of the common definition information Gx with reference to the list Wc2 of the individual definition information Lxx.
  • the generation unit 147 in the common list J2 of the common definition information Gx, the individual definition information Lxx for the file to which “F” is added as the essential flag that is the element attribute E1. With reference to the list Wc2 of No. 1, it is determined whether or not to arrange.
  • the file “# 22”, which is the flag “F” of the common definition information Gx, is “arrangement required” in the list Wc2 of the individual definition information Lxx, so the generation unit 147 creates the file “# 22”. It is decided to place the list B2.
  • the generation unit 147 lists the file “# 23” because the individual definition information Wc1 does not require “arrangement”. Decide not to place in B2.
  • the generating unit 147 sets the file with the flag “F” and the file with the flag “T”, which have been determined to be arranged, as the file of the list B2. Specifically, the generation unit 147 determines the file “# 22” having the flag “F” and the file “# 21” having the flag “T”, the allocation of which has been determined, as the files of the list B2.
  • the generation unit 147 determines the file path notation for these files that satisfies the file path conditions of the common list J2 of the common definition information Gx. Then, the generation unit 147 describes the file path described according to the determined notation as the file path of the list B2.
  • the generation unit 147 sets the “file path notation (individual element) 21, 22” of the list Wc2 of the individual definition information Lxx and the “file path condition of the common definition information Gx for the files“ # 21 ”and“ # 22 ”.
  • the file path notation “file path 21, 22” that satisfies “21, 22” is determined and is described in the list B2 of the collation information Rxx.
  • the generation unit 147 performs the following determination process for the directories defined in the list B3 of the collation information Rxx in the common list J3 of the common definition information Gx with reference to the list Wc3 of the individual definition information Lxx.
  • the generation unit 147 determines a directory path notation satisfying the directory path condition of the common list J3 of the common definition information Gx, and sets the directory path described according to the determined notation as the directory path of the list B3 of the matching information Rxx. ..
  • the generation unit 147 sets the "directory path notation (individual element) 31, 32" of the list Wc3 of the individual definition information Lxx for the directories "# 31", "# 32” to the "directory path condition of the common definition information Gx.
  • the directory path notation "directory path 31, 32" that satisfies "31, 32” is determined and is described in the list B3 of the collation information Rxx.
  • FIG. 19 is a flowchart of the processing procedure of the collation information generation processing according to the embodiment.
  • the common definition information acquisition unit 144 acquires at least a part of the shared common definition information stored in the common definition information DB 2 (step S1). Then, the individual definition item extraction unit 145 extracts an item to be defined as the individual definition information 125 from the common definition information 123 acquired by the common definition information acquisition unit 144 (step S2). The individual definition information input unit 146 presents the items extracted from the common definition information 123 by the individual definition item extraction unit 145 (step S3), and receives the input of the individual definition information (step S4).
  • the generation unit 147 performs a generation process of generating the collation information 122 by referring to the individual definition information 125 based on the common list and element attributes of the common definition information 123 (step S5).
  • the generation unit 147 outputs the generated matching information 122 (step S6).
  • FIG. 20 is a flowchart of the processing procedure of the collation information generation processing shown in FIG.
  • the generation unit 147 sets a list B1 setting process that sets the description content of the list B1 of the collation information 122 based on the common definition information 123 and the individual definition information 125 ( Step S11) is performed. Subsequently, the generation unit 147 performs a list B2 setting process (step S12) that sets the description content of the list B2 of the collation information 122. Subsequently, the generation unit 147 performs a list B3 setting process (step S13) that sets the description content of the list B3 of the collation information 122.
  • FIG. 21 is a flowchart of the processing procedure of the list B1 setting processing shown in FIG.
  • the generation unit 147 refers to the file defined in the list B1 of the collation information 122 in the common list J1 of the common definition information 123 (step S21). Then, the generation unit 147 determines for each file whether the mandatory flag of the common definition information 123 is "T" or "F” (step S22).
  • step S22 T
  • step S22 T
  • step S22 F
  • the individual definition information 125 indicates that the file should be placed in the list B1. It is determined whether "" or "unnecessary" (step S24).
  • step S24 determines to place this file in the list B1 of the collation information 122. Yes (step S23).
  • the generation unit 147 determines that the placement of this file in the list B1 is “unnecessary” in the individual definition information 125 (step S24: not required)
  • this file is placed in the list B1 of the collation information 122. It is decided not to do so (step S25).
  • step S23 the generation unit 147 determines the file path notation that satisfies the file path condition of the common list J1 of the common definition information 123 for the file whose allocation to the list B1 has been determined (step S26). Then, the generation unit 147 sets the file path described according to the determined notation as the file path of the list B1 of the collation information 122 (step S27).
  • the generation unit 147 determines whether or not the common definition information 123 defines a digest value for the file to be arranged (step S28).
  • the generation unit 147 determines that the common definition information 123 defines the digest value (step S28: Yes)
  • the digest value defined in the common definition information 123 is set to the list B1 of the matching information 122 for this file. Is set to the digest value of (step S29).
  • the generation unit 147 determines that the common definition information 123 does not define the digest value (step S28: No)
  • the hash value of the file data of this file is calculated, and the calculated hash value is used as the matching information. It is set to the digest value of the list B1 of 122 (step S30).
  • the generation unit 147 refers to the file defined in the list B2 of the collation information 122 in the common list J2 of the common definition information 123 (step S31). Then, the generation unit 147 determines, for each file, whether the mandatory flag of the common definition information 123 is "T" or "F” (step S32).
  • step S32 T
  • step S33 determines that the mandatory flag of the common definition information 123 of this file is “T”
  • step S34 the generation unit 147 determines that the mandatory flag of the common definition information 123 of this file is “F” (step S32: F)
  • the individual definition information 125 indicates that the file should be placed in the list B2. It is determined whether "" or "unnecessary" (step S34).
  • step S34 determines to place this file in the list B2 of the matching information 122. Yes (step S33).
  • step S34 determines that the placement of this file in the list B2 is “unnecessary” in the individual definition information 125 (step S34: not required)
  • this file is placed in the list B2 of the matching information 122. It is decided not to do so (step S35).
  • step S33 the generation unit 147 determines a file path notation that satisfies the file path condition of the common list J3 of the common definition information 123 for the file whose allocation to the list B3 has been determined (step S36). Then, the generation unit 147 sets the file path described according to the determined notation as the file path of the collation information 122 list B3 (step S37).
  • FIG. 23 is a flowchart of the processing procedure of the list B3 setting processing shown in FIG.
  • the generation unit 147 refers to the directory defined in the list B3 of the collation information 122 in the common list J3 of the common definition information 123 (step S41). Then, the generation unit 147 determines a directory path notation that satisfies the directory path condition of the common list J3 of the common definition information 123 for each of the directories whose description is defined (step S42). The generation unit 147 sets the directory path described according to the determined notation as the directory path of the list B3 of the matching information 122 (step S43).
  • the collation information generation device 4 generates the collation information 122 suitable for this file management device 5 based on at least a part of the common definition information 123 acquired by the common definition information acquisition device 3. That is, the file management device 5 according to the present embodiment uses the individual definition information 125 and the shared common definition information, and uses the individual definition information 125 indicating the condition to be individually provided according to the file management device 5. Collation information that satisfies both the common definition information 123 is generated.
  • the individual definition information 125 may be generated by the collation information generation device 4.
  • the collation information generation device 4 automatically sets the value to be set as the individual definition information according to the state of the file existing in the file management device 5.
  • FIG. 24 is a flowchart showing the processing procedure of the individual definition information setting processing executed by the collation information generation device 4.
  • the matching information generation device 4 determines whether the essential flag of the common definition information is T or F (step S121). This determination corresponds to the target item of the lists B1 and B2. When it is determined that the essential flag of the common definition information is F (step S121: F), the matching information generation device 4 determines whether or not the corresponding file exists in the file management device 5 (step S122). When the collation information generation device 4 determines that the file does not exist in the file management device 5 (step S122: does not exist), the collation information generation device 4 sets “arrangement unnecessary” (step S123).
  • step S122 determines that the corresponding file exists in the file management device 5
  • step S124 sets “arrangement required”
  • step S121 T
  • step S124 determines that the essential flag of the common definition information is T
  • step S124 determines that the file existing in the file management device 5 in the file path notation.
  • File path is set (step S125). This process is a process of setting the file / directory path of the corresponding file / directory existing on the file management device 5, corresponding to the notation of the target item of the lists B1, B2, B3.
  • the matching information generation device 4 determines whether the digest value of the common definition information is defined or undefined (step S126). This determination corresponds to the target item of list B1.
  • step S126 determines that the digest value of the common definition information has been defined (step S126: defined).
  • the process ends.
  • the collation information generation device 4 determines that the digest value of the common definition information is undefined (step S126: undefined)
  • the digest value of the corresponding file existing on the file management device is calculated, and the calculation result is calculated. Is set (step S127).
  • FIG. 25 is a schematic diagram showing a schematic configuration of the file management device 5.
  • the file management device 5 has an input unit 51, a communication unit 52, a storage unit 53, a control unit 54, and an output unit 55.
  • the input unit 51, the communication unit 52, the storage unit 53, the control unit 54, and the output unit 55 have the same functions as the input unit 11, the communication unit 12, the storage unit 13, the control unit 14, and the output unit 15.
  • the communication unit 52 receives the matching information Rxx output from the matching information generation device 4.
  • the storage unit 43 has a file storage unit 11 and a confirmation information storage unit 12.
  • the file storage unit 11 arranges a plurality of file sets Fs including a plurality of files F.
  • the file set Fs is, for example, a file set forming a software package.
  • the confirmation information storage unit 12 stores information used by the control unit 54 to confirm the integrity of the file.
  • the confirmation information storage unit 12 has confirmation content information 121, collation information 122, condition information 126, and correspondence information 127.
  • FIG. 26 is a diagram showing an example of the data structure of the confirmation content information 121 shown in FIG.
  • the confirmation content information 121 is associated with confirmation items and their contents.
  • the file set to be arranged is a file set in a state in which the software package has not been tampered with (unattended or misused), or added or deleted, in the programs or setting files.
  • the file set arranged in the file management device 5 may not maintain these states. Therefore, in the file management device 5, it becomes necessary to carry out integrity confirmation.
  • the confirmation items A1 to A3 shown in FIG. 26 are set as the confirmation contents of integrity.
  • the confirmation item A1 first confirmation content
  • the confirmation item A2 second confirmation content
  • the confirmation item A3 third confirmation content
  • the file management device 5 confirms all or at least one of these confirmation items A1 to A3.
  • the collation information 122 is generated by the collation information generation device 4 as the collation information corresponding to the file set managed by the file management device 5.
  • the verification information 122 is omitted because it is all magic.
  • the condition information 126 is information indicating a matching condition used by the file management device 5 when matching the file set Fs arranged in the file storage unit 11 with the matching information 122 and determining whether or not the confirmation content is satisfied. ..
  • FIG. 27 is a diagram for explaining the condition information 126 shown in FIG. As shown in FIG. 27, the file management device 5 sets collation conditions C1 (first collation condition), collation condition C2 (second collation condition), and collation condition C3 (third collation condition) as collation conditions. To use.
  • collation conditions C1 first collation condition
  • collation condition C2 second collation condition
  • collation condition C3 third collation condition
  • the matching condition C1 is that all files that match the combination of the file path indicated by the list B1 and the digest value of the file data are placed in the file management device 5.
  • the matching condition C2 is that all the files that match the file path indicated by the list B2 are placed in the file management device 5.
  • the collation condition C3 is that all directories that match the directory path indicated by the list B3 are arranged in the file management device 5, and files or directories that do not correspond to the directory condition b31 or the directory condition b32 are arranged immediately below the directory. That is not done.
  • the file management device 5 determines whether or not at least one of the matching conditions C1 to C3 is satisfied.
  • the correspondence information 127 is information indicating the correspondence between the confirmation items A1 to A3 and the lists B1 to B3 of the matching information 122 required therefor.
  • the correspondence information 127 indicates that all of the lists B1 to B3 are necessary when confirming all of the confirmation items A1 to A3. Further, when checking any of the check items A1 to A3, it is shown that only a part of the lists B1 to B3 is sufficient.
  • the file management device 5 refers to the correspondence information 127 and extracts only the lists B1 to B3 required depending on whether the confirmation items A1 to A3 are confirmed from the shared information Rs1 to Rs3 in the shared information DB2. Just get it. That is, the file management device 5 may acquire the list used for the confirmation item that the file management device 5 confirms among the shared information Rs1 to Rs3 in the shared information DB2. In the present embodiment, the case where the file management device 5 confirms all the confirmation items A1 to A3 will be described as an example.
  • the control unit 54 has a file management unit 141 and a file confirmation unit 143.
  • the file management unit 141 identifies the file data of the file in the file storage unit 11 to be managed by the file path, classifies the file path by the directory, and identifies the directory by the directory path.
  • the file confirmation unit 143 confirms the integrity of the file in the file storage unit 11 using at least a part of the shared collation information.
  • the file confirmation unit 143 determines the collation information used for confirmation according to the file set to be confirmed, and confirms the integrity of the files arranged in the file storage unit 11.
  • the file confirmation unit 143 includes a collation unit 148 and a confirmation unit 149.
  • the matching unit 148 stores the file path of the file arranged in the file storage unit 11 and the file path indicated by the matching information 12, the digest value of the file data of the file arranged in the file storage unit 11, and the file data indicated by the matching information 122. Any one of the digest value and the directory path of the file arranged in the file storage unit 11 and the directory path indicated by the matching information 122 is matched. Then, the matching unit 148 determines whether at least one of the matching condition C1, the matching condition C2, or the matching condition C3 is satisfied.
  • the confirmation unit 149 confirms at least one of the confirmation items A1 to A3 based on the collation result by the collation unit 148.
  • the confirmation unit 149 determines that the file placed in the file storage unit 11 satisfies the confirmation item A1 when the collation condition C1 is satisfied, and satisfies the confirmation item A2 when the collation condition C1 and the collation condition C2 are satisfied. If the matching condition C3 is satisfied, it is determined that the confirmation item A3 is satisfied.
  • the file management device 5 determines all the collation conditions C1 to C3 and confirms all the confirmation items A1 to A3 for the files of the file set to be managed.
  • FIG. 28 and 29 are diagrams for explaining the process of the matching unit 148 shown in FIG.
  • the collation unit 148 first determines collation information Rxx used for confirmation, and outputs the confirmation result for the confirmation items A1 to A3 using this collation information Rxx as an example.
  • the collating unit 148 confirms whether or not the file to be confirmed arranged in the file management device 5 satisfies all the conditions described in the collation information Rxx.
  • the files f1 and f2 are files that are subject to data tampering confirmation (confirmation item A1) and are also subject to excess / deficiency confirmation (confirmation item A2) directly under the directory d1.
  • the file f3 is a file to be checked for excess or deficiency (check item A2) immediately below the directory d1.
  • the directory d1 is a directory to be checked for excess or deficiency (confirmation item A3).
  • the file f4 is a file not subject to file integrity confirmation.
  • the list B1 describes the combinations of the file paths and the direct values of the files f1 and f2 that are the data tampering confirmation targets.
  • the list B2 describes the file path of the file f3 to be checked for excess or deficiency
  • the list B3 describes the directory path of the directory d1 to be checked for excess or deficiency.
  • the directory d2 in the frame W2 has the files f4 not described in the lists B1 and B2 immediately below it, and thus is not described in the list B3. Note that, as a result of the normal operation of the application, the number of files immediately below may increase or decrease, so a directory in which only the files described in lists B1 and B2 are arranged immediately below is not always described in list B3.
  • the collating unit 148 collates the contents described in each list of the collation information Rxx with the file paths, digest values and directories of the files f1 to f4 (see arrow Y10). Then, the confirmation unit 149 confirms whether the file to be confirmed satisfies all the confirmation items A1 to A3 based on the collation result.
  • the matching unit 148 determines whether or not the matching conditions C1 are satisfied for the files f1 and f2 listed in the list B1 among the confirmation targets.
  • the collating unit 148 confirms whether or not the file path “/ d1 / f1” described in the list B1 of the collation information Rxx is arranged in the file management device 5.
  • the collation unit 148 has the file path “/ d1 / f1” described in the list B1 of the collation information Rxx arranged in the file management device 5. Therefore, the collation unit 148 calculates the hash value of the “/ d1 / f1” file of the file management device 5 and collates it with the digest value “data 1” described in the list B1 of the collation information Rxx.
  • the collation unit 148 confirms that the file path “/ d1 / f2” described in the list B1 of the collation information Rxx is arranged in the file management device 5, and if it confirms that the file path “/ d1 / f2” is arranged,
  • the hash value of the “/ d1 / f2 file” of the file management device 5 is calculated and collated with the digest value “data 2” described in the list B1 of the collation information Rxx.
  • the collating unit 148 determines that the collating condition C1 is satisfied when the calculated hash value and the digest value of the list B1 match in any case.
  • the collation unit 148 determines whether or not the file f3 described in the list B2 among the confirmation targets satisfies the collation condition C2.
  • the matching unit 148 confirms that the file management apparatus 5 has the file path “/ d1 / d2 / f3” described in the list B2 of the matching information Rxx.
  • the collation unit 148 can confirm that the file path “/ d1 / d2 / f3” described in the list B2 of the collation information Rxx is arranged, and thus determines that the collation condition C2 is satisfied.
  • the matching unit 148 determines whether or not the matching condition C3 is satisfied for the directory path “/ d1” described in the list B3.
  • the collation unit 148 confirms that the directory path “/ d1” described in the list B3 of the collation information Rxx is arranged in the file management device 5.
  • the collation unit 148 determines whether the files “/ d1 / f1” and “/ d1 / f2” immediately below “/ d1” are files described in the list B1 or the list B2 of the collation information Rxx. ..
  • the files “/ d1 / f1” and “/ d1 / f2” immediately below “/ d1” are the file paths described in the list B1 of the matching information Rxx. Therefore, the matching unit 148 can determine that the files “/ d1 / f1” and “/ d1 / f2” immediately below “/ d1” are the files described in the list B1 of the matching information Rxx.
  • the collating unit 148 confirms that the directory “/ d1 / d2” immediately below “/ d1” is a directory path for placing the files described in the list B1 or the list B2 of the collation information Rxx under the directory. ..
  • the collation information Rxx of the directory “/ d1 / d2” directly under “/ d1” is set. It can be confirmed that the files described in the list B2 are directory paths to be placed under the files. That is, in the example of FIG. 29, the files directly under the directory “/ d1” both satisfy the directory conditions b31 and b32, so the matching unit 148 determines that the matching condition C3 is satisfied.
  • the collation unit 148 outputs the above collation result to the confirmation unit 149.
  • the confirmation unit 149 confirms the confirmation items A1 to A3 based on the collation result of the collation unit 148.
  • the confirmation unit 149 determines that the confirmation item A1 is satisfied if the files arranged in the file management device 5 satisfy the collation condition C1 for all the lists described in the list B1 of the collation information Rxx. That is, the confirmation unit 149 determines that the file to be arranged has not been tampered with. On the other hand, the confirmation unit 149 determines that the files arranged in the file management apparatus 5 do not satisfy the confirmation item A1 when the verification conditions C1 are not satisfied for all the lists in the list B1 of the verification information Rxx. To do. That is, the confirmation unit 149 determines that the file to be arranged has been tampered with.
  • the confirmation unit 149 determines that the files arranged in the file management device 5 satisfy the matching condition C1 for all the lists described in the list B1 of the matching information Rxx and all the lists described in the list B2 of the matching information Rxx.
  • the collation condition C2 it is determined that the confirmation item A2 is satisfied. That is, the confirmation unit 149 determines that the file to be arranged has not been deleted.
  • the confirmation unit 149 determines that the files arranged in the file management device 5 do not satisfy the matching condition C1 for all the lists described in the list B1 of the matching information Rxx, or all the files listed in the list B2 of the matching information Rxx. If the collation condition C2 is not satisfied for the list, it is determined that the confirmation item A2 is not satisfied. That is, the confirmation unit 149 determines that the file to be arranged has been deleted.
  • the confirmation unit 149 determines that the confirmation item A3 is satisfied when the files arranged in the file management device 5 satisfy the collation condition C3 for all the lists described in the list B3 of the collation information Rxx. That is, the confirmation unit 149 determines that a file that should not be arranged is not added. On the other hand, the confirmation unit 149 determines that the confirmation item A3 is not satisfied when the files arranged in the file management device 5 do not satisfy the collation condition C3 for all the lists described in the list B3 of the collation information Rxx. To do. That is, the confirmation unit 149 determines that a file that should not be arranged is added.
  • the file management device 5 may register a plurality of pieces of collation information Rx1, Rx2, Rx3, and may collate and confirm a plurality of pieces of collation information sequentially or simultaneously. Further, the file management device 5 may pre-register the order or time of integrity confirmation for one or more pieces of collation information in a scheduler function or the like, and automatically perform collation processing and confirmation. Further, the file management device 5 may generate a log, an alarm, or the like based on the confirmation result, and may take measures such as prohibiting access to the file in error.
  • FIG. 30 is a flowchart of the processing procedure of the file confirmation processing according to the embodiment.
  • the file management unit 141 executes a file management step of identifying file data of files to be managed by file paths, classifying file paths by directories, and identifying directories by directory paths. To do. Further, the file confirmation unit 143 acquires the collation information 122 used for confirmation of the file set from the confirmation information storage unit 12 (step S51) and stores it in the confirmation information storage unit 12.
  • the collation unit 148 determines the collation information 122 used for confirmation in accordance with the file set to be confirmed, and performs the collation process (step S52).
  • the collation processing when a predetermined confirmation timing is reached, the file path of the arranged file and the file path indicated by the collation information 122, the digest value of the file data of the arranged file and the digest value of the file data indicated by the collation information 122, Also, it is a process of collating any one of the directory path of the arranged file and the directory path indicated by the collation information 122.
  • the confirmation unit 149 performs confirmation processing for confirming at least one of the confirmation items A1 to A3 based on the collation result by the collation unit 148 (step S53), and the communication unit 13 or the output unit 16 confirms.
  • the result is output (step S54).
  • FIG. 31 is a flowchart showing the processing procedure of the collation processing shown in FIG.
  • the matching unit 148 refers to the combination of the file path and the digest value of the list B1 of the matching information 122 (step S61). Then, the collating unit 148 confirms whether or not all files matching the file path described in the list B1 are arranged in the file management device 5 (step S62).
  • step S62 When the collating unit 148 confirms that all the files that match the file paths listed in the list B1 are not placed in the file management device 5 (step S62: No), the files placed in the file management device 5 are subject to the collation conditions. It is determined that C1 is not satisfied (step S63).
  • each file arranged in the file management device 5 is confirmed.
  • the hash value of the file data is calculated (step S64).
  • the matching unit 148 matches the digest value of the list B1 with the calculated hash value for each file (step S65).
  • the matching unit 148 determines whether the digest value of the list B1 and the calculated hash value match for all files (step S66).
  • step S66: No When it is determined that the digest value of the list B1 and the calculated hash value do not match for all the files (step S66: No), the matching unit 148 determines that this file does not satisfy the matching condition C1 (step S63). ). On the other hand, when the matching unit 148 determines that the digest value of the list B1 and the calculated hash value match for all the files (step S66: Yes), it determines that this file satisfies the matching condition C1 (step S67). ).
  • the matching unit 148 refers to the file path of the list B2 of the matching information 122 (step S68).
  • the collating unit 148 determines whether or not all the file paths described in the list B2 are arranged in the file set to be confirmed in the file management device 5 (step S69).
  • step S69: No determines that the collating condition C2 is not satisfied (step S70).
  • step S69: Yes determines that the collating condition C2 is satisfied (step S71).
  • the matching unit 148 refers to the directory path of the list B3 of the matching information 122 (step S72). Then, the matching unit 148 determines whether all the directory paths of the list B3 of the matching information 122 are arranged in the file management device 5 (step S73). When the collating unit 148 determines that all the directory paths of the list B3 of the collation information 122 are arranged in the file management device 5 (step S73: Yes), the file immediately below the directory is the list of the collation information 122. It is determined whether the file is a file described in B1 or list B2 (step S75).
  • the collating unit 148 determines that the file immediately below the directory is not the file described in the list B1 or the list B2 of the collation information 122 (step S75: No), the directory immediately below is the file described in the lists B1 and B2. It is determined whether or not the directory is one or more subordinate directories (step S76).
  • step S73: No When the collating unit 148 determines that all the directory paths of the list B3 of the collation information 122 are not arranged in the file management device 5 (step S73: No), the directories immediately below are the files described in the lists B1 and B2. If it is determined that it is not a directory to be placed under one or more subordinates (step S76: No), it is determined that the matching condition C3 is not satisfied (step S74).
  • the collating unit 148 determines that the file directly under the directory is the file described in the list B1 or the list B2 of the collation information 122 (step S75: Yes)
  • the directory immediately below is the list.
  • the matching unit 148 outputs the matching result for the matching conditions C1 to C3 to the confirmation unit 149 (step S78).
  • FIG. 32 is a flowchart showing the processing procedure of the confirmation processing shown in FIG.
  • step S81 when the confirmation unit 149 acquires the collation result by the collation unit 148 (step S81), the files arranged in the file management device 5 are all the lists described in the list B1 of the collation information 122. It is determined whether or not the matching condition C1 is satisfied (step S82). When the confirmation unit 149 determines that the collation condition C1 is satisfied for all the lists described in the list B1 of the collation information 122 (step S82: Yes), the files to be arranged have not been tampered with (confirmation item A1). Is confirmed (step S83).
  • step S82 determines that all the lists in the list B1 of the collation information 122 do not satisfy the collation condition C1 (step S82: No), there is no file to be placed, or It is confirmed that the file to be arranged has been tampered with (step S84).
  • the confirmation unit 149 determines that the files arranged in the file management apparatus 5 satisfy the matching condition C1 for all the lists listed in the list B1 of the matching information 122 and all the lists listed in the list B2 of the matching information 122. It is determined whether the matching condition C2 is satisfied (step S85).
  • step S85: Yes it is determined that the file to be arranged is not deleted (confirmation item A2) (step S86).
  • step S86 determines that all the lists included in the list B1 of the matching information 122 satisfy the matching condition C1 and all the lists included in the list B2 of the matching information 122 do not satisfy the matching condition C2. If so (step S85: No), it is determined that the file to be arranged has been deleted (step S87).
  • the confirmation unit 149 determines whether or not the files placed in the file management device 5 satisfy the matching condition C3 for all the lists described in the list B3 of the matching information 122 (step S88). If the confirmation unit 149 determines that the collation condition C3 is satisfied for all the lists in the list B3 of the collation information 122 (step S88: Yes), a file that should not be arranged is not added (confirmation item A3). (Step S89). When the confirmation unit 149 determines that the collation condition C3 is not satisfied for all the lists described in the list B3 of the collation information 122 (step S88: No), it is determined that a file that should not be arranged is added (step S88: No). Step S90).
  • the confirmation unit 149 creates a confirmation result (step S91), outputs it to the communication unit 13 or the output unit 16, and ends the confirmation processing.
  • the shared library may be upgraded by other applications, and it is unrealistic to recreate the common definition information each time.
  • the shared libraries are collectively provided in the tar format or the like, the operator who uses the application understands all what software and libraries are actually included, so that the common definition information is appropriate It is difficult to prepare.
  • the common definition information acquisition device 3 inputs the common definition information identifier (for example, the installed software name), the common definition information identifier (list thereof) that is a candidate for acquisition is extracted based on the identifier. Then, the common definition information acquisition device 3 acquires common definition information corresponding to the extracted identifier from the common definition information DB 2, and for each common definition information, there is a file F on the file management device 5 that matches the condition. It is compared and judged. Subsequently, the common definition information acquisition device 3 outputs only the finally required common definition information based on the determination result, thereby acquiring the corresponding common definition information without excess or deficiency.
  • the common definition information acquisition device 3 inputs the common definition information identifier (for example, the installed software name), the common definition information identifier (list thereof) that is a candidate for acquisition is extracted based on the identifier. Then, the common definition information acquisition device 3 acquires common definition information corresponding to the extracted identifier from the common definition information DB 2, and for each common definition
  • the common definition information acquisition device 3 can acquire the common information of the software without excess or deficiency even if a plurality of software is installed at once in the provision format that does not use the package management system. Then, the common definition information acquisition device 3 inputs the acquired common definition information to the collation information creation device 4, so that the collation information creation device 4 can reduce the burden on the administrator and generate proper collation information. It can be created efficiently.
  • the collation information generation device 4 generates the collation information 122 suitable for this file management device 5 based on at least a part of the common definition information 123 acquired by the common definition information acquisition device 3. That is, the file management system 1 according to the present embodiment uses the individual definition information 125 and the common definition information, and uses the individual definition information 125 indicating the condition to be individually provided according to the file management device 5. Collation information that satisfies both the common definition information 123 is generated.
  • the collation information 122 is generated using the individual definition information input by the administrator and at least part of the shared common definition information 123 acquired from the outside. .. Therefore, according to the file management system 1 according to the present embodiment, the information input by the administrator may be only the individual definition information regarding the file in which a part of the file is changed, and the burden on the administrator regarding the collation information creation. It can be reduced. As a result, in the present embodiment, the collation information creation cost by the administrator of the file management device 5 can also be reduced.
  • the software provider determines the file paths of the matching information lists B1 to B3 of these files. In some cases, it could not be specified.
  • the software provider sets the common definition information G 1 , G 2 , and G 3 indicating the file path conditions in the element attribute E2 for the file paths of the matching information lists B1 to B3.
  • Create and provide Then, the administrator of the file management device 5 determines the file path of the file to be managed within the range that satisfies the file path condition of the definition D1 of the common definition information. Then, the administrator of the file management device 5 designates the file paths thus determined as the file paths of the lists B1 to B3 of the collation information 122. Therefore, in this embodiment, the file paths of the collation information lists B1 to B3 can be determined without delay.
  • the software provider creates and provides the essential flag of the element attribute E2 of the common definition information with respect to the files of the matching information lists B1 and B2.
  • the administrator of the file management device 5 determines whether or not to install a file for which the mandatory flag of the definition D2 of the common definition information is “No (F)”, and lists the files determined not to be installed in the collation information list. Delete from B1 and B2. Therefore, in the present embodiment, the files to be included in the matching information lists B1 and B2 can be determined without delay.
  • the software provider determines the file data of the list B1 of the collation information of these files. In some cases, the digest value could not be specified.
  • the software provider creates and provides the fixed value flag that is the element attribute E3 of the common definition information to the file of the collation information list B1.
  • the administrator of the file management device 5 determines whether or not to change the data of the file whose fixed value flag of E3 of the common definition information is "No (F)", and the digest value of the file decided to be changed. Is set to the digest value of the matching information list B1. Therefore, in the present embodiment, the digest value of the file data of the matching information list B1 can be determined without delay.
  • the file management device 5 even when a part of the files belonging to the software package is changed in the file management device 5, the file management device 5 provides accurate collation information for the changed software package. Can be generated. Therefore, according to the present embodiment, even if a part of the files belonging to the software package is changed in the file management device 5, the matching information suitable for the arranged files is used to ensure the integrity of the files. You can check it accurately.
  • the collation information suitable for the file management device 5 can be generated only by the software provider and the administrator of the file management device 5 setting some of the information that can be handled. Therefore, according to the present embodiment, the burden on the software provider in addition to the administrator of the file management device 5 can be reduced.
  • the collation information 122 has a collation list B1 indicating a combination of a file path of a file to be arranged and a file data of which file data does not change and a digest value of the file data. Use information. Then, in the present embodiment, the file path of the arranged file and the file path indicated by the collation information 122, the digest value of the file data of the arranged file and the digest value of the file data indicated by the collation information 122 are collated and arranged. Make sure the files that should be done have not been tampered with. Therefore, according to the present embodiment, it becomes possible to confirm the excess or deficiency of files without burdening the administrator of the file management device 5.
  • a matching condition having a list B2 indicating a file path of a file to be arranged and in which file data can change is used.
  • the files immediately below are the first directory conditions that are the files described in the list B1 or the list B2 that belong to the same matching information
  • the directories immediately below are the list B1 that belong to the same matching information.
  • a second directory condition that is a directory in which one or more files listed in List B2 are placed underneath, or a third directory that does not place a file or directory that does not meet the first directory condition or the second directory condition immediately below
  • the matching information having the list B3 indicating the directory path of the directory satisfying the condition is used.
  • the log file by comparing the file path of the arranged file and the file path indicated by the matching information 122, the directory path of the arranged file and the directory path indicated by the matching information 122, and the log condition It is possible to properly check the excess and deficiency of files and directories for which digest values cannot be defined.
  • FIG. 33 is a diagram showing an example of the data structure of the correspondence information 127 shown in FIG.
  • the correspondence information 127 is a list of collation information according to a combination of whether tampering confirmation (confirmation item A1) and excess / shortage confirmation (confirmation items A2, A3) are confirmed or not. Whether B1 to B3 are necessary or unnecessary is associated.
  • the list B1 of the collation information 122 is displayed. All of ⁇ B3 are required. Further, when only the tampering confirmation (confirmation item A1) is executed, only the list B1 is required as shown in Method 2 on the second line. Further, when only the excess / deficiency check (check items A2 and A3) is executed, only the lists B2 and B3 are necessary as shown in the method 3 on the third line.
  • the file management device 5 may acquire the required lists B1 to B3 according to the combination of confirmation items (confirmation item determination method 1).
  • the list B1, B2, B3 is not provided in the collation information that can be acquired, that is, the created / distributed collation information, and only the list B1 and the lists B2, B3 are present.
  • the collation information is only the list B1, only the confirmation item A1 is confirmed, and if the collation information is only the lists B2 and B3, only the confirmation items A2 and A3 are confirmed. Since the confirmation item determination method 1 and the confirmation item determination method 2 do not contradict each other, both can be realized by one system, but a system that implements only the confirmation item determination method 2 may be used.
  • FIG. 34 is a diagram illustrating a process of generating collation information according to the second modification of the embodiment.
  • ⁇ prefix ⁇ is a common value in the lists B1 to B3 of the common definition information Gx, the individual definition information Cx, and the matching information Rxx.
  • the file path condition and the directory path condition define all or part of the files or directories described in the matching information list B1, list B2, and list B3 as the prefix range. Then, in the common definition information Gx, the file path condition and the directory path condition permit placement of the prefix range under the directory path (prefix) individually determined by the file management apparatus 5. Further, in the common definition information Gx, the file management device 5 does not allow the file path condition and the directory path condition to be individually determined except for the directory path (prefix).
  • the common definition information Gx defines a part of the file path as a prefix (see (1) in FIG. 34).
  • the value of prefix is defined (see (2) in FIG. 34).
  • the generation unit 147 creates a file path from the definitions of the common definition information Gx and the individual definition information Lxx according to the file path condition. Specifically, for the file “# 11”, the common definition information Gx defines the file path of the file “# 11” as “/ [prefix1] / f11”. Then, in the individual definition information Lxx, the value of prefix is defined as “dc”.
  • the generation unit 147 creates “/ dc / f11” as the file path of the file “# 11” from the definitions of the common definition information Gx and the individual definition information Lxx (see (3) in FIG. 34).
  • a plurality of prefixes can be defined in the matching information Rxx. For example, by defining two prefixes (eg prefix1, prefix2), it is possible to define a file set under two directories whose directory paths are individually determined.
  • FIG. 35 is a diagram illustrating another example of collation information generation processing according to the second modification of the embodiment.
  • ⁇ wildcard ⁇ is an arbitrary value in the lists B1 to B3 of the common definition information Gx, the individual definition information Cx, and the matching information Rxx, and need not be common.
  • the file path condition and the directory path condition define a part of the character string that constitutes the file path or directory path described in the matching information list B1, list B2, and list B3 as a wildcard part. Then, in the common definition information Gx, the wild card portion is allowed to be replaced with an arbitrary character string individually determined by the file management device 5. Then, the common definition information Gx does not permit individual determination by the file management device except for the wild card portion.
  • the common definition information Gx defines a part of the file path as a wild card (see (1) in FIG. 35).
  • the individual definition information Lxx defines a wild card value (see (2) in FIG. 35).
  • the generation unit 147 creates a file path from the definitions of the common definition information Gx and the individual definition information Lxx according to the file path condition (see (3) in FIG. 35). Specifically, for the file “# 12”, the common definition information Gx defines the file path of the file “# 12” as “/d2/[wildcard12].exe”.
  • the generation unit 147 creates “/d2/fc12.exe” as the file path of the file “# 12” from the definitions of the common definition information Gx and the individual definition information Lxx.
  • FIG. 36 is a diagram illustrating another example of collation information generation processing according to the second modification of the embodiment.
  • the regular expression is an arbitrary value in the lists B1 to B3 of the common definition information Gx, the individual definition information Lxx, and the collation information Rxx, and does not have to be common.
  • the file path condition and the directory path condition define a character string that constitutes the file path or the directory path described in the matching information list B1, list B2, and list B3 by a regular expression.
  • the common definition information Gx defines a part of the file path as a regular expression (see (1) in FIG. 36). Further, in the individual definition information Lxx, the value of the regular expression is defined (see (2) in FIG. 36).
  • the generation unit 147 creates a file path from the definitions of the common definition information Gx and the individual definition information Lxx according to the file path condition (see (3) in FIG. 36). Specifically, for the file “# 12”, the common definition information Gx is that the file path of the file “# 12” is “/d2/f12.* ⁇ .exe” and part of it is an arbitrary character string by regular expression. Define with ". *".
  • the value of the arbitrary character string is defined as ““ test ”” for the file path of the file “# 12”.
  • the generation unit 147 creates “/d2/f12test.exe” as the file path of the file “# 12” from the definitions of the common definition information Gx and the individual definition information Lxx.
  • Non-Patent Documents 1 and 2 if a part of the file path of a file belonging to a software package can be customized (prefix designation, wild card designation, etc.), the software provider Cannot specify the file path for the matching information for these files.
  • the software provider partially provides the common definition information in which the prefix definition, the wildcard definition, or the regular expression definition is performed. Then, the administrator of the file management device 5 makes a decision by only inputting the value of prefix, wildcard or regular expression within the range satisfying the file path condition and the directory path condition of the common definition information. Then, the administrator of the file management device 5 designates the file paths thus determined as the file paths of the lists B1 to B3 of the collation information 122. Therefore, in the present embodiment, even if the prefix designation or the wild card designation is performed on a part of the file path of the file belonging to the software package, the file paths of the collation information lists B1 to B3 can be maintained. You can decide.
  • Each component of each device included in the file management system 1 shown in FIG. 1 is functionally conceptual and does not necessarily have to be physically configured as illustrated. That is, the specific form of the distribution and integration of the functions of the respective devices included in the file management system 1 is not limited to that shown in the figure, and all or part of it may be defined in arbitrary units according to various loads and usage conditions. It can be functionally or physically distributed or integrated.
  • each process performed in each device included in the file management system 1 is realized in whole or in an arbitrary part by a CPU, a GPU (Graphics Processing Unit), and a program executed by the CPU and the GPU for analysis. Good. Further, each processing performed in each device included in the file management system 1 may be realized as hardware by a wired logic.
  • all or part of the processes described as being automatically performed can be manually performed.
  • all or part of the processing described as being manually performed can be automatically performed by a known method.
  • the processing procedure, control procedure, specific name, and information including various data and parameters described above and illustrated can be appropriately changed unless otherwise specified.
  • FIG. 37 is a diagram illustrating an example of a computer that implements each device included in the file management system 1 by executing a program.
  • the computer 1000 has, for example, a memory 1010 and a CPU 1020.
  • the computer 1000 also has a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These units are connected by a bus 1080.
  • the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012.
  • the ROM 1011 stores, for example, a boot program such as BIOS (Basic Input Output System).
  • BIOS Basic Input Output System
  • the hard disk drive interface 1030 is connected to the hard disk drive 1090.
  • the disk drive interface 1040 is connected to the disk drive 1100.
  • a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1100.
  • the serial port interface 1050 is connected to, for example, a mouse 1110 and a keyboard 1120.
  • the video adapter 1060 is connected to the display 1130, for example.
  • the hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, the program defining each process of each device included in the file management system 1 is implemented as a program module 1093 in which a code executable by the computer 1000 is described.
  • the program module 1093 is stored in the hard disk drive 1090, for example.
  • the hard disk drive 1090 stores a program module 1093 for executing the same processing as the functional configuration of each device included in the file management system 1.
  • the hard disk drive 1090 may be replaced by SSD.
  • the setting data used in the processing of the above-described embodiment is stored as the program data 1094 in, for example, the memory 1010 or the hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 or the hard disk drive 1090 into the RAM 1012 as necessary and executes them.
  • the program module 1093 and the program data 1094 are not limited to being stored in the hard disk drive 1090, and may be stored in, for example, a removable storage medium and read by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program module 1093 and the program data 1094 may be stored in another computer connected via a network (LAN, WAN (Wide Area Network), etc.). Then, the program module 1093 and the program data 1094 may be read by the CPU 1020 from another computer via the network interface 1070.
  • LAN Local Area Network
  • WAN Wide Area Network

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)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

ファイル管理システム(1)は、共有の共通定義情報を記憶する装置から、取得装置に入力された共通定義情報の識別情報に対応する共通定義情報を取得する共通定義情報取得部と、取得した共通定義情報と管理するファイルとを比較し、共通定義情報の条件に全て合致するファイルが有るか否かを判別する共通定義情報判別部と、判別結果を基にファイル管理装置が管理するファイルに対応する共通定義情報を照合情報生成装置(4)に出力する出力制御部とを有する共通定義情報取得装置(3)を有する。

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.  配置されたファイルを管理する管理装置と、ファイルの改ざん確認或いは過不足確認の際に前記管理装置が照合する照合情報を生成する生成装置と、前記生成装置が照合情報の生成に使用する情報を取得する取得装置とを有する管理システムが実行する管理方法であって、
     前記取得装置が、前記照合情報に記載する可能性のあるファイル及びディレクトリのリストである共通リストの定義と、個別のファイル管理装置において、前記照合情報のファイル及びディレクトリのリストの要素を決定する条件である要素属性の定義と、を示す共有の共通定義情報を記憶する装置から、前記取得装置に入力された共通定義情報の識別情報に対応する共通定義情報を取得する工程と、
     前記取得装置が、取得した前記共通定義情報と、前記ファイル管理装置が管理するファイルと、を比較し、前記共通定義情報の条件に全て合致するファイルが有るか否かを判別する工程と、
     前記取得装置が、判別結果を基に、前記取得する工程において取得した共通定義情報のうち前記ファイル管理装置が管理するファイルに対応する共通定義情報を前記生成装置に出力する工程と、
     を含んだことを特徴とする管理方法。
PCT/JP2019/040636 2018-10-30 2019-10-16 管理システム、取得装置及び管理方法 WO2020090469A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201980071538.2A CN112930534B (zh) 2018-10-30 2019-10-16 管理系统、取得装置和管理方法
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
AU2019371545A AU2019371545B9 (en) 2018-10-30 2019-10-16 Management system, acquisition device and management method

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2020090469A1 true WO2020090469A1 (ja) 2020-05-07

Family

ID=70464016

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/040636 WO2020090469A1 (ja) 2018-10-30 2019-10-16 管理システム、取得装置及び管理方法

Country Status (6)

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

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2019458656B2 (en) * 2019-07-23 2023-06-08 Nippon Telegraph And Telephone Corporation Verification information generating system, verification information generating method, and verification information generating program
WO2021014595A1 (ja) * 2019-07-23 2021-01-28 日本電信電話株式会社 検証情報作成システム、検証情報作成方法、および、検証情報作成プログラム
AU2021427822B2 (en) 2021-02-12 2024-05-09 Nippon Telegraph And Telephone Corporation Information processing device, information processing method, and information processing program

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 (6)

* 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
US9372992B1 (en) * 2014-09-10 2016-06-21 The Boeing Company Ensuring integrity of a software package installer

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 日本電信電話株式会社 照合情報生成装置、管理システム及び照合情報生成方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3855334A4 *

Also Published As

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

Similar Documents

Publication Publication Date Title
US10419546B2 (en) Migration assessment for cloud computing platforms
JP6753819B2 (ja) 照合情報生成装置、管理システム及び照合情報生成方法
US11062022B1 (en) Container packaging device
US7684964B2 (en) Model and system state synchronization
JP5982366B2 (ja) プライベート・クラウド・コンピューティングためのシステムおよび方法
AU765542B2 (en) Method and apparatus for new device driver installation by an operating system
JP6713954B2 (ja) ファイル管理装置及びファイル管理方法
US11671506B2 (en) Microservice management system for recommending modifications to optimize operation of microservice-based systems
WO2020090469A1 (ja) 管理システム、取得装置及び管理方法
US20070169079A1 (en) Software update management
US9766869B2 (en) Parameterized installation packages
US12032939B2 (en) Automated machine deployment and configuration
Krogh et al. MySQL workbench
Opdebeeck et al. Infrastructure-as-Code Ecosystems
Zenk et al. A comparative study of Docker and Vagrant regarding performance on machine level provisioning
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
Shaik et al. Best Ways to Install PostgreSQL
Wiley et al. Writing Packages
Bruno et al. Podman vs Docker comparison via R Shiny project deployment
Somerville et al. Deploying Your Rails Applications
Leung et al. Transferring Apps and Data
Stanek Windows PowerShell 2.0 Administrator's Pocket Consultant
Hunley et al. A Whole New World: What’s New in SAS Data Integration Studio 4.2

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19879390

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019879390

Country of ref document: EP

Effective date: 20210419

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019371545

Country of ref document: AU

Date of ref document: 20191016

Kind code of ref document: A