WO2012017522A1 - 検証プログラムおよび検証装置 - Google Patents
検証プログラムおよび検証装置 Download PDFInfo
- Publication number
- WO2012017522A1 WO2012017522A1 PCT/JP2010/063126 JP2010063126W WO2012017522A1 WO 2012017522 A1 WO2012017522 A1 WO 2012017522A1 JP 2010063126 W JP2010063126 W JP 2010063126W WO 2012017522 A1 WO2012017522 A1 WO 2012017522A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- identification information
- file
- executable file
- source
- information
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Definitions
- the present invention relates to a verification program and a verification device for verifying an execution file.
- An object of the present invention is to provide a program that can understand the correspondence between an execution file and a source file used to construct the execution file.
- the program according to the embodiment causes the computer to execute the first execution file name, the first identification information calculated from the first execution file by a predetermined method, and the first execution file used to generate the first execution file.
- the procedure for associating and storing the information of the source file group in the storage unit, the procedure for calculating the second identification information calculated from the second execution file by a predetermined method The procedure for obtaining the first identification information associated with the first executable file with the name from the storage unit, the second identification information and the first identification information are compared, and if they match, , Extracting the third identification information from the predetermined area of the second executable file, and extracting the information of the first source file group associated with the first executable file from the storage unit, Predetermined
- the procedure for calculating the fourth identification information calculated by the method is compared with the third identification information and the fourth identification information, and if they match, the second executable file is the first source And a procedure for notifying that the file group has been generated.
- the correspondence between the execution file and the source file used to construct the execution file can be understood.
- FIG. 1 is a configuration diagram of an application management system according to an embodiment.
- the application management system 101 includes an identification information adding device (development side) 201 and a verification device (operation side) 301.
- the identification information adding device 201 and the verification device 301 are information processing devices such as a central processing unit (CPU) that performs various processes, a server or a personal computer that includes a memory and a storage unit that store information, and the like. The configuration of the information processing apparatus will be described later.
- the identification information adding device 201 and the verification device 301 are connected by a network such as Wide Area Network (WAN) or Local Area Network (LAN).
- the identification information adding device 201 and the verification device 301 may be built in a single information processing device.
- the identification information adding apparatus 201 includes a storage unit 202, an execution file construction unit 203, an identification information generation unit 204, an information combination unit 205, and a development side verification unit 206.
- the storage unit 202 stores source files S1-1, S1-2, S2-1, S2-2 and an asset management table 207.
- the identification information adding apparatus 201 manages the source files S1-1, S1-2, S2-1, S2-2 and the management table 207 stored in the storage unit 202 by a hierarchical file system.
- FIG. 2 is a configuration diagram of a storage unit according to the embodiment.
- the source files S1-1, S1-2, S2-1, and S2-2 are files in which source code used for generating an execution file is described.
- Source files S1-1 and S1-2 are files used to generate the execution file A1.
- the source files S1-1 and S1-2 are collectively referred to as a source file group S1.
- Source files S2-1 and S2-2 are files used to generate the execution file A2.
- the source files S2-1 and S2-2 are collectively referred to as a source file group S2.
- the location information (file path) of the source files Sn-1 and Sn-1 the execution file An name that is the file name of the execution file An generated by the source file group Sn, and the execution file
- the identification information IAn generated from An is described. Further, identification information ISn generated from the source file group Sn may be described.
- the execution file construction unit 203 reads the source file group Sn from the storage unit 202, generates an execution file An from the source file group Sn, and transmits the execution file An to the information combining unit 205.
- the identification information generation unit 204 reads the source file group Sn from the storage unit 202, generates identification information based on the source file group Sn, and transmits the identification information to the information combining unit 205.
- the information combining unit 205 adds the identification information to the execution file, and transmits the execution file with the identification information added to the operation side verification unit 302. In addition, the information combining unit 205 stores information such as identification information in the asset management table 207.
- the development side verification unit 206 calculates or retrieves identification information from the asset management table 207 in response to a request from the operation side verification unit 302, and transmits the identification information to the operation side verification unit 302.
- the verification device 301 includes an operation side verification unit 302 and a display unit 303.
- the operation side verification unit 302 performs processing such as calculation of identification information of an execution file, extraction of identification information included in the execution file, and comparison of identification information.
- the display unit 303 displays the verification result and the like in the operation side verification unit 302.
- FIG. 3 is a flowchart of identification information addition processing according to the embodiment.
- an execution file A1 is generated from the source file group S1 and identification information is added will be described.
- step S501 the identification information generation unit 204 acquires the source file group S1 (source files S1-1 and S1-2) from the storage unit 202.
- step S502 the execution file construction unit 203 acquires the source file group S1 from the storage unit 202, compiles, links, and archives, and generates an execution file A1. Then, the execution file construction unit 203 transmits the execution file A1 to the information combining unit 205.
- the identification information generation unit 204 calculates the identification information IS1 from the source file group S1 and transmits it to the information combining unit 205.
- the calculation method of the identification information IS1 first lists, for each source file, a pair of the source file path (relative path from the highest hierarchy of the source file group S1 in the storage unit 202) and the MD5 hash value of the source file content.
- the created file (see FIG. 4) is created. Then, the MD5 hash value of the created file is calculated, and this hash value is used as identification information IS1.
- the identification information IS1 by filtering the contents of the source file when calculating the identification information IS1, it is possible to adjust the strictness of identity guarantee according to the purpose. For example, when the IS1 is calculated, the comment portion in the source file is deleted, and the MD5 hash value of the source file from which the comment is deleted is calculated, whereby the identification information IS1 focusing on the application logic can be calculated. That is, the same identification information IS1 is calculated when only the comment is changed with respect to the source file and the application logic is not changed.
- the identification information generation unit 204 may describe the identification information IS1 in the source file group S1 management area of the asset management table 207.
- the information combining unit 205 adds the identification information IS ⁇ b> 1 to the execution file A ⁇ b> 1 and transmits it to the operation side verification unit 302.
- FIG. 5 is a configuration diagram of the execution file A1.
- the execution file A1 includes an execution code, a resource, and identification information IS1, as shown in FIG.
- the execution code is a code executable by the CPU
- the resource is information such as an icon of the execution file A1 and a character string to be displayed.
- step S505 the information combining unit 205 calculates identification information IA1 of the execution file A1.
- the identification information IA1 uses the MD5 hash value of the execution file A1 as the identification information IA1.
- the MD5 hash value of the jar file is set as the identification information IA1.
- step S506 the information combining unit 205 describes the name of the execution file A1 (the file name of the execution file A1) and the identification information IA1 in the source file group S1 management area of the asset management table 207.
- FIG. 6 is a flowchart of identification information verification processing according to the embodiment.
- the execution file A1 generated by the identification information adding device 201 is verified will be described. It is assumed that the execution file A1 is transmitted from the information combining unit 205 to the operation side verification unit 302.
- step S601 the identification information IA1 'of the execution file A1 is calculated.
- the calculation method of the identification information IA1 ' is the same as the calculation method of the identification information IA1 in step S505 described above.
- the identification information IA1 ' uses the MD5 hash value of the execution file A1 as the identification information IA1'.
- step S602 the operation side verification unit 302 transmits the name (file name) of the execution file A1 to the development side verification unit 206, and requests the identification information IA1 of the execution file A1.
- the development side verification unit 206 searches the asset management table 207 using the name of the execution file A1 as a key, and reads the identification information IA1 of the execution file A1. Then, the development side verification unit 206 transmits the identification information IA to the operation side verification unit 302. Further, the development side verification unit 206 transmits information in the source file group S1 management area (for example, source file S1-1 location information, source file S1-2 location information, etc.) to the operation side verification unit 302.
- the source file group S1 management area for example, source file S1-1 location information, source file S1-2 location information, etc.
- step S603 the operation side verification unit 302 receives the identification information IA1, compares the identification information IA and the identification information IA1 ', and determines whether or not they match. If the identification information IA matches the identification information IA1 ', the control proceeds to step S605, and if not, the control proceeds to step S604.
- step S604 the operation side verification unit 302 determines that the execution file A1 has been changed after deployment to the operation side because the identification information IA and the identification information IA1 'do not match. Then, the operation side verification unit 302 notifies the user that the execution file A1 has been changed, and displays, for example, on the display unit 303 that the execution file A1 has been changed.
- step S605 the operation side verification unit 302 extracts the identification information IS1 from the execution file A1.
- step S606 the operation side verification unit 302 requests the development side verification unit 206 to calculate the identification information IS1 ′ of the source file group S1.
- the development side verification unit 206 calculates the identification information IS1 'of the source file group S1.
- the calculation method of the identification information IS1 ' is the same as the calculation method of the identification information IS1 in step S503 described above.
- the development side verification unit 206 reads the identification information IS1 and sets the identification information IS1 as the identification information IS1 '.
- the development side verification unit 206 transmits the identification information IS1 ′ to the operation side verification unit 302, and the operation side verification unit 302 receives the identification information IS1 ′.
- the operation side verification unit 302 compares the identification information IS1 and the identification information IS1 ′ and determines whether or not they match. If the identification information IS1 and the identification information IS1 ′ match, the control proceeds to step S608, and if not, the control proceeds to step S609.
- step S608 the operation side verification unit 302 determines that the execution file A1 is the same as the state immediately after being deployed to the operation side because the identification information IA1 and the identification information IA1 'match. Then, the operation side verification unit 302 notifies the user that the execution file A1 is the same as that immediately after the execution file A1 is deployed to the verification apparatus 301, that is, the execution file A1 has not been changed. For example, the execution file A1 is changed. Is displayed on the display unit 303.
- the operation side verification unit 302 determines that the execution file A1 is constructed by the source file group S1 because the identification information IS1 and the identification information IS1 'match. Then, the operation side verification unit 302 notifies the user that the execution file A1 is constructed by the source file group S1. For example, the operation side verification unit 302 displays information on the source file group S1 (for example, location information and file names of the source files S1-1 and S1-2) on the display unit 303 as a valid source of the execution file A1. . Further, for example, the operation side verification unit 302 writes that the execution file A1 is constructed by the source file group S1 in a predetermined file or notifies other devices. Thereby, it can be seen that the execution file A1 is constructed by the source file group S1.
- the source file group S1 for example, location information and file names of the source files S1-1 and S1-2
- step S609 the operation side verification unit 302 displays on the display unit 303 that the valid source file group of the execution file A1 is not found because the identification information IS1 and the identification information IS1 'do not match.
- the operation side verification unit 302 may request the development side verification unit 206 to search for a valid source.
- the development side verification unit 206 calculates the identification information of each source file group, and finds the source file group for which the identification information that matches the identification information IS ′ is calculated. Then, the development side verification unit 206 transmits the information of the source file group to the operation side verification unit 302 as a valid source.
- the operation side verification unit 302 displays the received information on the source file group on the display unit 303 as a valid source.
- the apparatus of the embodiment whether the executable file has been changed by comparing the identification information of the executable file or the identification information of the source file included in the executable file with the recorded identification information or the calculated identification information. And whether the source file is the source file used to build the executable file.
- FIG. 7 is a configuration diagram of the information processing apparatus (computer).
- the identification information adding device 201 and the verification device 301 of the embodiment are realized by an information processing device 1 as shown in FIG. 7, for example.
- the information processing apparatus 1 includes a CPU 2, a memory 3, an input unit 4, an output unit 5, a storage unit 6, a recording medium drive unit 7, and a network connection unit 8, which are connected to each other by a bus 9.
- the CPU 2 is a central processing unit that controls the entire information processing apparatus 1.
- the CPU 2 corresponds to the execution file construction unit 203, the identification information generation unit 204, the information combination unit 205, the development side verification unit 206, and the operation side verification unit 302.
- the memory 3 is a Read Only Memory (ROM) or Random Access Memory (RAM) that temporarily stores a program or data stored in the storage unit 6 (or the portable recording medium 10) during program execution. It is memory.
- the CPU 2 executes the various processes described above by executing a program using the memory 3.
- the input unit 4 is, for example, a keyboard, a mouse, a touch panel, or the like.
- the output unit 5 is, for example, a display, a printer, or the like.
- the storage unit 6 is, for example, a magnetic disk device, an optical disk device, a tape device, or the like.
- the information processing apparatus 1 stores the above-described program and data in the storage unit 6 and reads them into the memory 3 and uses them as necessary.
- the storage unit 6 corresponds to the storage unit 202.
- the recording medium driving unit 7 drives the portable recording medium 10 and accesses the recorded contents.
- the portable recording medium any computer-readable recording medium such as a memory card, a flexible disk, a Compact Disk, a Read Only Memory (CD-ROM), an optical disk, and a magneto-optical disk is used.
- the user stores the above-described program and data in the portable recording medium 10 and reads them into the memory 3 and uses them as necessary.
- the network connection unit 8 is connected to an arbitrary communication network such as a LAN, and performs data conversion accompanying communication.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
第1の実行ファイル名、該第1の実行ファイルから所定の方法により算出した第1の識別情報および該第1の実行ファイルの生成に用いられた第1のソースファイル群の情報を対応付けて記憶部に記憶する手順と、第2の実行ファイルから所定の方法により算出した第2の識別情報を算出する手順と、前記第2の識別情報と前記第1の識別情報を比較し、一致した場合に、前記第2の実行ファイルの所定の領域から第3の識別情報を抽出する手順と、前記記憶部から前記第1の実行ファイルに対応付けられた第1のソースファイル群の情報を抽出し、所定の方法により算出した第4の識別情報を算出する手順と、前記第3の識別情報と前記第4の識別情報とを比較し、一致した場合に、前記第2の実行ファイルが前記第1のソースファイル群により生成された旨を通知する。
Description
本発明は、実行ファイルを検証する検証プログラムおよび検証装置に関する。
現在、運用環境に配備されている実行ファイルがどのようなソースファイル群から作成されているかを特定するには、人手で管理簿を作成するなどの手段が用いられている。例えば、実行ファイルを作成した時点のソースファイル群をファイルシステム上にまとめて保管しておき、実行ファイル名、実行ファイルのタイムスタンプ、および開発資産リポジトリ内のソースコード群の位置情報を対応付けて管理簿に記入しておくなどの手段が用いられている。
しかしながら、実行ファイルと該実行ファイルを作成する際に使用したソースファイル群を関連付けた情報の記載を人手により行うと、記載誤りや管理データ改ざん等のおそれがあり、記録されている情報の正しさを証明することが困難である。
それにより、実行ファイルを修正したくても、修正すべきソースファイルが不明であるという問題があった。
また、情報システム監査の際に、システムの完全性(integrity)を証明できないという問題があった。
また、情報システム監査の際に、システムの完全性(integrity)を証明できないという問題があった。
本発明の課題は、実行ファイルと該実行ファイルの構築に用いたソースファイルとの対応が分かるプログラムを提供することである。
実施の形態のプログラムは、コンピュータに、第1の実行ファイル名、該第1の実行ファイルから所定の方法により算出した第1の識別情報および該第1の実行ファイルの生成に用いられた第1のソースファイル群の情報を対応付けて記憶部に記憶する手順と、第2の実行ファイルから所定の方法により算出した第2の識別情報を算出する手順と、前記第2の実行ファイル名と同一名の前記第1の実行ファイルに対応付けられた前記第1の識別情報を前記記憶部から取得する手順と、前記第2の識別情報と前記第1の識別情報を比較し、一致した場合に、前記第2の実行ファイルの所定の領域から第3の識別情報を抽出する手順と、前記記憶部から前記第1の実行ファイルに対応付けられた第1のソースファイル群の情報を抽出し、所定の方法により算出した第4の識別情報を算出する手順と、前記第3の識別情報と前記第4の識別情報とを比較し、一致した場合に、前記第2の実行ファイルが前記第1のソースファイル群により生成された旨を通知する手順と、を実行させる。
実施の形態のプログラムによれば、実行ファイルと該実行ファイルの構築に用いたソースファイルとの対応が分かる。
以下、図面を参照しながら本発明の実施の形態を説明する。
図1は、実施の形態に係るアプリケーション管理システムの構成図である。
アプリケーション管理システム101は、識別情報付加装置(開発側)201および検証装置(運用側)301を備える。
図1は、実施の形態に係るアプリケーション管理システムの構成図である。
アプリケーション管理システム101は、識別情報付加装置(開発側)201および検証装置(運用側)301を備える。
識別情報付加装置201および検証装置301は、例えば、各種処理を行うCentral Processing Unit(CPU)、情報を格納するメモリや記憶部等を備えるサーバやパーソナルコンピュータ等の情報処理装置である。尚、情報処理装置の構成については後述する。識別情報付加装置201と検証装置301は、Wide Area Network(WAN)やLocal Area Network(LAN)等のネットワークで接続している。尚、識別情報付加装置201および検証装置301は、単一の情報処理装置内に構築してもよい。
識別情報付加装置201は、記憶部202、実行ファイル構築部203、識別情報生成部204、情報結合部205、および開発側検証部206を備える。
記憶部202は、ソースファイルS1-1、S1-2、S2-1、S2-2および資産管理テーブル207を格納する。識別情報付加装置201は、階層型ファイルシステムにより記憶部202に格納するソースファイルS1-1、S1-2、S2-1、S2-2や管理テーブル207を管理する。
記憶部202は、ソースファイルS1-1、S1-2、S2-1、S2-2および資産管理テーブル207を格納する。識別情報付加装置201は、階層型ファイルシステムにより記憶部202に格納するソースファイルS1-1、S1-2、S2-1、S2-2や管理テーブル207を管理する。
図2は、実施の形態に係る記憶部の構成図である。
ソースファイルS1-1、S1-2、S2-1、S2-2は、実行ファイルの生成に用いられるソースコードが記述されたファイルである。
ソースファイルS1-1、S1-2、S2-1、S2-2は、実行ファイルの生成に用いられるソースコードが記述されたファイルである。
ソースファイルS1-1およびS1-2は、実行ファイルA1を生成するために用いられるファイルである。以下、ソースファイルS1-1およびS1-2をまとめてソースファイル群S1と呼ぶ。
ソースファイルS2-1およびS2-2は、実行ファイルA2を生成するために用いられるファイルである。以下、ソースファイルS2-1およびS2-2をまとめてソースファイル群S2と呼ぶ。
資産管理テーブル207は、ソースファイル群Sn管理域(n=1、2)を有する。
ソースファイル群Sn管理域には、ソースファイルSn-1、Sn-1の位置情報(ファイルのパス)、ソースファイル群Snにより生成された実行ファイルAnのファイル名である実行ファイルAn名、実行ファイルAnから生成された識別情報IAnが記述されている。さらにソースファイル群Snから生成された識別情報ISnが記述される場合もある。
ソースファイル群Sn管理域には、ソースファイルSn-1、Sn-1の位置情報(ファイルのパス)、ソースファイル群Snにより生成された実行ファイルAnのファイル名である実行ファイルAn名、実行ファイルAnから生成された識別情報IAnが記述されている。さらにソースファイル群Snから生成された識別情報ISnが記述される場合もある。
実行ファイル構築部203は、記憶部202からソースファイル群Snを読み出し、ソースファイル群Snから実行ファイルAnを生成し、実行ファイルAnを情報結合部205に送信する。
識別情報生成部204は、記憶部202からソースファイル群Snを読み出し、ソースファイル群Snに基づいて、識別情報を生成し、識別情報を情報結合部205に送信する。
情報結合部205は、実行ファイルに識別情報を付加し、識別情報が付加された実行ファイルを運用側検証部302に送信する。また、情報結合部205は、識別情報等の情報を資産管理テーブル207に格納する。
開発側検証部206は、運用側検証部302の要求に応じて、識別情報を算出または資産管理テーブル207から検索し、識別情報を運用側検証部302に送信する。
検証装置301は、運用側検証部302および表示部303を備える。
検証装置301は、運用側検証部302および表示部303を備える。
運用側検証部302は、実行ファイルの識別情報の算出、実行ファイルに含まれる識別情報の抽出、識別情報の比較などの処理を行う。
表示部303は、運用側検証部302での検証結果などを表示する。
表示部303は、運用側検証部302での検証結果などを表示する。
図3は、実施の形態に係る識別情報付加処理のフローチャートである。
以下の実施の形態においては、ソースファイル群S1から実行ファイルA1を生成し、識別情報を付加する場合について説明する。
以下の実施の形態においては、ソースファイル群S1から実行ファイルA1を生成し、識別情報を付加する場合について説明する。
ステップS501において、識別情報生成部204は、記憶部202からソースファイル群S1(ソースファイルS1-1、S1-2)を取得する。
ステップS502において、実行ファイル構築部203は、記憶部202からソースファイル群S1を取得し、コンパイル、リンク、アーカイブを行い、実行ファイルA1を生成する。そして、実行ファイル構築部203は、実行ファイルA1を情報結合部205に送信する。
ステップS502において、実行ファイル構築部203は、記憶部202からソースファイル群S1を取得し、コンパイル、リンク、アーカイブを行い、実行ファイルA1を生成する。そして、実行ファイル構築部203は、実行ファイルA1を情報結合部205に送信する。
ステップS503において、識別情報生成部204は、ソースファイル群S1から識別情報IS1を算出し、情報結合部205に送信する。
識別情報IS1の算出方法は、先ずソースファイルのそれぞれについて、ソースファイルのパス(記憶部202におけるソースファイル群S1の最上位階層からの相対パス)とソースファイルのコンテンツのMD5ハッシュ値のペアをリストしたファイル(図4参照)を作成する。そして、作成したファイルのMD5ハッシュ値を計算し、該ハッシュ値を識別情報IS1とする。
識別情報IS1の算出方法は、先ずソースファイルのそれぞれについて、ソースファイルのパス(記憶部202におけるソースファイル群S1の最上位階層からの相対パス)とソースファイルのコンテンツのMD5ハッシュ値のペアをリストしたファイル(図4参照)を作成する。そして、作成したファイルのMD5ハッシュ値を計算し、該ハッシュ値を識別情報IS1とする。
なお、識別情報IS1の算出時にソースファイルの内容をフィルタリングすることで、目的に応じて同一性保証の厳密度を調整可能とすることができる。例えば、IS1算出時にソースファイル内のコメント部分は削除し、コメントを削除したソースファイルのMD5ハッシュ値を計算することで、アプリロジックに着目した識別情報IS1が計算できる。すなわち、ソースファイルに対してコメントの変更のみでアプリロジックに変更が無い場合に、同一の識別情報IS1が算出される。
さらに、識別情報生成部204は、識別情報IS1を資産管理テーブル207のソースファイル群S1管理域に記述してもよい。
ステップS504において、情報結合部205は、実行ファイルA1に識別情報IS1を付加し、運用側検証部302に送信する。
ステップS504において、情報結合部205は、実行ファイルA1に識別情報IS1を付加し、運用側検証部302に送信する。
例えば、Java(登録商標)言語で作成された実行ファイルの場合、情報結合部205は、jarファイル内のMETA-INF/MANIFEST.MFに識別情報IS1を書き込む。
図5は、実行ファイルA1の構成図である。
図5は、実行ファイルA1の構成図である。
実行ファイルA1は、図5に示すように、実行コード、リソース、識別情報IS1を含む。実行コードは、CPUが実行可能なコードであり、リソースは実行ファイルA1のアイコンや表示する文字列等の情報である。
ステップS505において、情報結合部205は、実行ファイルA1の識別情報IA1を算出する。
識別情報IA1は、実行ファイルA1のMD5ハッシュ値を識別情報IA1とする。例えば、Java言語を使用した実行ファイルの場合、jarファイルのMD5ハッシュ値を識別情報IA1とする。
識別情報IA1は、実行ファイルA1のMD5ハッシュ値を識別情報IA1とする。例えば、Java言語を使用した実行ファイルの場合、jarファイルのMD5ハッシュ値を識別情報IA1とする。
ステップS506において、情報結合部205は、実行ファイルA1の名前(実行ファイルA1のファイル名)と識別情報IA1を資産管理テーブル207のソースファイル群S1管理域に記述する。
図6は、実施の形態に係る識別情報検証処理のフローチャートである。
以下の実施の形態においては、識別情報付加装置201で生成された実行ファイルA1の検証を行う場合を説明する。尚、実行ファイルA1は、情報結合部205から運用側検証部302に送信されているものとする。
以下の実施の形態においては、識別情報付加装置201で生成された実行ファイルA1の検証を行う場合を説明する。尚、実行ファイルA1は、情報結合部205から運用側検証部302に送信されているものとする。
ステップS601において、実行ファイルA1の識別情報IA1’を算出する。識別情報IA1’の算出方法は、上述のステップS505の識別情報IA1の算出方法と同様である。実施の形態において、識別情報IA1’は、実行ファイルA1のMD5ハッシュ値を識別情報IA1’とする。
ステップS602において、運用側検証部302は、開発側検証部206に実行ファイルA1の名前(ファイル名)を送信し、実行ファイルA1の識別情報IA1を要求する。開発側検証部206は、実行ファイルA1の名前をキーとして資産管理テーブル207を検索し、実行ファイルA1の識別情報IA1を読み込む。そして、開発側検証部206は、識別情報IAを運用側検証部302に送信する。また、開発側検証部206は、ソースファイル群S1管理域内の情報(例えば、ソースファイルS1-1位置情報、ソースファイルS1-2位置情報など)を運用側検証部302に送信する。
ステップS603において、運用側検証部302は、識別情報IA1を受信し、識別情報IAと識別情報IA1’とを比較し、一致するか否か判定する。識別情報IAと識別情報IA1’とが一致する場合、制御はステップS605に進み、一致しない場合、制御はステップS604に進む。
ステップS604において、運用側検証部302は、識別情報IAと識別情報IA1’とが一致していないので、実行ファイルA1は、運用側への配備後に変更されていると判断する。そして、運用側検証部302は、実行ファイルA1が変更されている旨をユーザに通知、例えば実行ファイルA1が変更されている旨を表示部303に表示する。
ステップS605において、運用側検証部302は、実行ファイルA1から識別情報IS1を抽出する。
ステップS606において、運用側検証部302は、開発側検証部206にソースファイル群S1の識別情報IS1’の計算を依頼する。
ステップS606において、運用側検証部302は、開発側検証部206にソースファイル群S1の識別情報IS1’の計算を依頼する。
開発側検証部206は、ソースファイル群S1の識別情報IS1’を算出する。識別情報IS1’の算出方法は、上述のステップS503の識別情報IS1の算出方法と同様である。尚、資産管理テーブル207に識別情報IS1が格納されている場合は、開発側検証部206は、識別情報IS1を読み出し、識別情報IS1を識別情報IS1’とする。
開発側検証部206は、識別情報IS1’を運用側検証部302に送信し、運用側検証部302は識別情報IS1’を受信する。
ステップS607において、運用側検証部302は、識別情報IS1と識別情報IS1’とを比較し、一致するか否か判定する。識別情報IS1と識別情報IS1’とが一致する場合、制御はステップS608に進み、一致しない場合制御はステップS609に進む。
ステップS607において、運用側検証部302は、識別情報IS1と識別情報IS1’とを比較し、一致するか否か判定する。識別情報IS1と識別情報IS1’とが一致する場合、制御はステップS608に進み、一致しない場合制御はステップS609に進む。
ステップS608において、運用側検証部302は、識別情報IA1と識別情報IA1’とが一致していたので、実行ファイルA1は、運用側へ配備された直後の状態と同一であると判断する。そして、運用側検証部302は、実行ファイルA1が検証装置301へ配備された直後の状態と同一である、すなわち実行ファイルA1は変更されていない旨をユーザに通知、例えば実行ファイルA1が変更されていない旨を表示部303に表示する。
さらに、運用側検証部302は、識別情報IS1と識別情報IS1’とが一致していたので、実行ファイルA1はソースファイル群S1により構築されたと判断する。そして、運用側検証部302は、実行ファイルA1がソースファイル群S1により構築されている旨をユーザに通知する。例えば、運用側検証部302は、ソースファイル群S1の情報(例えば、ソースファイルS1-1、S1-2の位置情報やファイル名等)を実行ファイルA1の正当なソースとして表示部303に表示する。また、例えば、運用側検証部302は、実行ファイルA1がソースファイル群S1により構築されている旨を所定のファイルに書き込んだり、他の装置に通知する。これにより、実行ファイルA1がソースファイル群S1により構築されていることが分かる。
ステップS609において、運用側検証部302は、識別情報IS1と識別情報IS1’とが一致していなかったので、実行ファイルA1の正当なソースファイル群が見つからない旨を表示部303に表示する。
さらに、運用側検証部302は、開発側検証部206に正当なソースの検索を依頼しても良い。開発側検証部206は、正当なソースの検索を依頼されたとき、各ソースファイル群の識別情報を算出し、識別情報IS’と一致する識別情報が算出されたソースファイル群を見つけ出す。そして、開発側検証部206は、該ソースファイル群の情報を正当なソースとして運用側検証部302に送信する。運用側検証部302は、運用側検証部302は、受信したソースファイル群の情報を正当なソースとして表示部303に表示する。
実施の形態の装置によれば、実行ファイルの識別情報や実行ファイルに含まれるソースファイルの識別情報を記録されている識別情報または計算した識別情報と比較することで、実行ファイルが変更されているかやソースファイルが実行ファイルの構築に用いられたソースファイルであるかを判断することが出来る。
実施の形態の装置によれば、実行ファイルと該実行ファイルの構築に用いたソースファイルの対応を証明することが出来る。
図7は、情報処理装置(コンピュータ)の構成図である。
図7は、情報処理装置(コンピュータ)の構成図である。
実施の形態の識別情報付加装置201および検証装置301は、例えば、図7に示すような情報処理装置1によって実現される。
情報処理装置1は、CPU2、メモリ3、入力部4、出力部5、記憶部6、記録媒体駆動部7、およびネットワーク接続部8を備え、それらはバス9により互いに接続されている。
情報処理装置1は、CPU2、メモリ3、入力部4、出力部5、記憶部6、記録媒体駆動部7、およびネットワーク接続部8を備え、それらはバス9により互いに接続されている。
CPU2は、情報処理装置1全体を制御する中央処理装置である。CPU2は、実行ファイル構築部203、識別情報生成部204、情報結合部205、開発側検証部206、および運用側検証部302に対応する。
メモリ3は、プログラム実行の際に、記憶部6(あるいは可搬記録媒体10)に記憶されているプログラムあるいはデータを一時的に格納するRead Only Memory(ROM)やRandom Access Memory(RAM)等のメモリである。CPU2は、メモリ3を利用してプログラムを実行することにより、上述した各種処理を実行する。
この場合、可搬記録媒体10等から読み出されたプログラムコード自体が実施の形態の機能を実現する。
入力部4は、例えば、キーボード、マウス、タッチパネル等である。
入力部4は、例えば、キーボード、マウス、タッチパネル等である。
出力部5は、例えば、ディスプレイ、プリンタ等である。
記憶部6は、例えば、磁気ディスク装置、光ディスク装置、テープ装置等である。情報処理装置1は、記憶部6に、上述のプログラムとデータを保存しておき、必要に応じて、それらをメモリ3に読み出して使用する。記憶部6は、記憶部202に対応する。
記憶部6は、例えば、磁気ディスク装置、光ディスク装置、テープ装置等である。情報処理装置1は、記憶部6に、上述のプログラムとデータを保存しておき、必要に応じて、それらをメモリ3に読み出して使用する。記憶部6は、記憶部202に対応する。
記録媒体駆動部7は、可搬記録媒体10を駆動し、その記録内容にアクセスする。可搬記録媒体としては、メモリカード、フレキシブルディスク、Compact Disk Read Only Memory(CD-ROM)、光ディスク、光磁気ディスク等、任意のコンピュータ読み取り可能な記録媒体が用いられる。ユーザは、この可搬記録媒体10に上述のプログラムとデータを格納しておき、必要に応じて、それらをメモリ3に読み出して使用する。
ネットワーク接続部8は、LAN等の任意の通信ネットワークに接続され、通信に伴うデータ変換を行う。
Claims (8)
- コンピュータに
第1の実行ファイル名、該第1の実行ファイルから所定の方法により算出した第1の識別情報および該第1の実行ファイルの生成に用いられた第1のソースファイル群の情報を対応付けて記憶部に記憶する手順と、
第2の実行ファイルから所定の方法により算出した第2の識別情報を算出する手順と、
前記第2の実行ファイル名と同一名の前記第1の実行ファイルに対応付けられた前記第1の識別情報を前記記憶部から取得する手順と、
前記第2の識別情報と前記第1の識別情報を比較し、一致した場合に、前記第2の実行ファイルの所定の領域から第3の識別情報を抽出する手順と、
前記記憶部から前記第1の実行ファイルに対応付けられた第1のソースファイル群の情報を抽出し、所定の方法により算出した第4の識別情報を算出する手順と、
前記第3の識別情報と前記第4の識別情報とを比較し、一致した場合に、前記第2の実行ファイルが前記第1のソースファイル群により生成された旨を通知する手順と、
を実行させるための検証プログラム。 - 前記第3の識別情報と前記第4の識別情報とが一致した場合、前記第1のソースファイル群の情報を表示する手順を実行させることを特徴とする請求項1記載の検証プログラム。
- 前記第1の識別情報は、前記第1の実行ファイルのハッシュ値であり、前記第2の識別情報は前記第2の実行ファイルのハッシュ値であることを特徴とする請求項1または2記載の検証プログラム。
- 前記第3の識別情報は、前記第2の実行ファイルの生成に用いられたソースファイル群に基づくハッシュ値であり、前記第4の識別情報は、前記第1のソースファイル群に基づくハッシュ値であることを特徴とする請求項1乃至3記載の検証プログラム。
- 第1の実行ファイル名、該第1の実行ファイルから所定の方法により算出した第1の識別情報および該第1の実行ファイルの生成に用いられた第1のソースファイル群の情報を対応付けて記憶する記憶部と、
第2の実行ファイルから所定の方法により算出した第2の識別情報を算出する手順と、
前記第2の実行ファイル名と同一名の前記第1の実行ファイルに対応付けられた前記第1の識別情報を前記記憶部から取得し、
前記第2の識別情報と前記第1の識別情報を比較し、一致した場合に、前記第2の実行ファイルの所定の領域から第3の識別情報を抽出し、
前記記憶部から前記第1の実行ファイルに対応付けられた第1のソースファイル群の情報を抽出し、所定の方法により算出した第4の識別情報を算出し、
前記第3の識別情報と前記第4の識別情報とを比較し、一致した場合に、前記第2の実行ファイルが前記第1のソースファイル群により生成された旨を通知する
検証部と、
を備える検証装置。 - 前記検証部は、前記第3の識別情報と前記第4の識別情報とが一致した場合、前記第1のソースファイル群の情報を表示することを特徴とする請求項5記載の検証装置。
- 前記第1の識別情報は、前記第1の実行ファイルのハッシュ値であり、前記第2の識別情報は前記第2の実行ファイルのハッシュ値であることを特徴とする請求項5または6記載の検証装置。
- 前記第3の識別情報は、前記第2の実行ファイルの生成に用いられたソースファイル群に基づくハッシュ値であり、前記第4の識別情報は、前記第1のソースファイル群に基づくハッシュ値であることを特徴とする請求項5乃至7記載の検証装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012527495A JP5316719B2 (ja) | 2010-08-03 | 2010-08-03 | 検証プログラムおよび検証装置 |
PCT/JP2010/063126 WO2012017522A1 (ja) | 2010-08-03 | 2010-08-03 | 検証プログラムおよび検証装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/063126 WO2012017522A1 (ja) | 2010-08-03 | 2010-08-03 | 検証プログラムおよび検証装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012017522A1 true WO2012017522A1 (ja) | 2012-02-09 |
Family
ID=45559054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/063126 WO2012017522A1 (ja) | 2010-08-03 | 2010-08-03 | 検証プログラムおよび検証装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5316719B2 (ja) |
WO (1) | WO2012017522A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014010699A (ja) * | 2012-06-29 | 2014-01-20 | Fujitsu Ltd | 更新判定プログラムおよび更新判定装置 |
US11098100B2 (en) | 2015-10-06 | 2021-08-24 | Regents Of The University Of Minnesota | Therapeutic compounds and methods |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05507165A (ja) * | 1990-03-27 | 1993-10-14 | サン・マイクロシステムズ・インコーポレーテッド | 競合条件を防止するためのロッキングメカニズム |
JP2005182102A (ja) * | 2003-12-16 | 2005-07-07 | Nec Corp | ビルドシステム及び方法並びにビルド用プログラム、ビルドサーバ |
JP2008282362A (ja) * | 2007-05-14 | 2008-11-20 | Keyence Corp | プログラム編集支援装置、コンピュータプログラム、プログラム編集支援方法及びplcシステム |
-
2010
- 2010-08-03 JP JP2012527495A patent/JP5316719B2/ja not_active Expired - Fee Related
- 2010-08-03 WO PCT/JP2010/063126 patent/WO2012017522A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05507165A (ja) * | 1990-03-27 | 1993-10-14 | サン・マイクロシステムズ・インコーポレーテッド | 競合条件を防止するためのロッキングメカニズム |
JP2005182102A (ja) * | 2003-12-16 | 2005-07-07 | Nec Corp | ビルドシステム及び方法並びにビルド用プログラム、ビルドサーバ |
JP2008282362A (ja) * | 2007-05-14 | 2008-11-20 | Keyence Corp | プログラム編集支援装置、コンピュータプログラム、プログラム編集支援方法及びplcシステム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014010699A (ja) * | 2012-06-29 | 2014-01-20 | Fujitsu Ltd | 更新判定プログラムおよび更新判定装置 |
US11098100B2 (en) | 2015-10-06 | 2021-08-24 | Regents Of The University Of Minnesota | Therapeutic compounds and methods |
Also Published As
Publication number | Publication date |
---|---|
JP5316719B2 (ja) | 2013-10-16 |
JPWO2012017522A1 (ja) | 2013-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110495132B (zh) | 用于在分布式网络节点内生成、上传和执行代码区块的系统和方法 | |
KR102044046B1 (ko) | 텔레메트리 파일 해시 및 충돌 검출 기법 | |
EP3308280A2 (en) | Making cryptographic claims about stored data using an anchoring system | |
CN109791483A (zh) | 用于计算设备的共享软件库 | |
CN106201861A (zh) | 一种代码质量的检测方法及装置 | |
JP2009239907A (ja) | 編集文書の保全性を検証する方法及び装置 | |
CN107015794B (zh) | 软件即服务参考流程扩展验证框架 | |
KR20160048806A (ko) | 인증 문서를 자동으로 생성하는 기법 | |
EP4369235A1 (en) | Security system and method for real-time encryption or decryption of data using key management server | |
US7962847B2 (en) | Method for providing dynamic process step annotations | |
CN108182366A (zh) | 一种度量虚拟机的文件的方法、装置及设备 | |
WO2012036304A1 (ja) | 動作検証支援装置、動作検証支援方法、及び動作検証支援プログラム | |
Laplante | Trusting digital twins | |
JP5316719B2 (ja) | 検証プログラムおよび検証装置 | |
US8769290B1 (en) | Providing confidential structured data | |
US9292698B1 (en) | Method and system for remote forensic data collection | |
US20210295956A1 (en) | Systems and Methods for Hashing-Based Assessment of Electronic Clinical Trial Outcomes | |
US11900347B2 (en) | Computing system for configurable off-chain storage for blockchains | |
US9258126B2 (en) | Method for non-repudiation of ad-hoc workflows | |
US8959344B2 (en) | Method and system for handling defined areas within an electronic document | |
Kumar et al. | SIGNIFICANCE of hash value generation in digital forensic: A case study | |
Azli et al. | Implementing Blockchain Technology for Accreditation and Degree Verification | |
CN106471510A (zh) | 复合文档访问 | |
CN110457318A (zh) | 区块链中数据字段的更新方法、装置、介质、电子设备 | |
CN116107991A (zh) | 容器标签数据库构建方法、装置、存储介质及电子设备 |
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: 10855612 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012527495 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 10855612 Country of ref document: EP Kind code of ref document: A1 |