JP2009048283A - Tampering prevention program, tampering prevention apparatus, tampering prevention system, and tampering prevention method - Google Patents

Tampering prevention program, tampering prevention apparatus, tampering prevention system, and tampering prevention method Download PDF

Info

Publication number
JP2009048283A
JP2009048283A JP2007211725A JP2007211725A JP2009048283A JP 2009048283 A JP2009048283 A JP 2009048283A JP 2007211725 A JP2007211725 A JP 2007211725A JP 2007211725 A JP2007211725 A JP 2007211725A JP 2009048283 A JP2009048283 A JP 2009048283A
Authority
JP
Japan
Prior art keywords
program
audit
information
input data
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007211725A
Other languages
Japanese (ja)
Inventor
Ryota Akiyama
良太 秋山
Yasuo Abe
康夫 阿部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Broad Solution and Consulting Inc
Original Assignee
Fujitsu Broad Solution and Consulting Inc
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 Fujitsu Broad Solution and Consulting Inc filed Critical Fujitsu Broad Solution and Consulting Inc
Priority to JP2007211725A priority Critical patent/JP2009048283A/en
Publication of JP2009048283A publication Critical patent/JP2009048283A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To prevent tampering of a processing result by a program. <P>SOLUTION: With an input data reception means 11a, input data 3 is received and the received input data 3 is transmitted to an information storage means 2. Then, with an arithmetic program execution means 11b, execution of an arithmetic program 12 based on the input data 3 is directed to a computer 1, and an arithmetic result of the arithmetic program 12 is acquired as output data. Then, with an output data transmission means 11c, output data acquired with the arithmetic program execution means 11b is transmitted to the information storage means 2. Then, audit signature information is generated by adding an electronic signature to information related to output data 2c and information related to input data 2a, and the generated audit signature information is transmitted to the information storage means 2. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は改ざんを防止する改ざん防止プログラム、改ざん防止装置、改ざん防止システム、および改ざん防止方法に関し、特にプログラムによる処理結果の改ざんを防止可能な改ざん防止プログラム、改ざん防止装置、改ざん防止システム、および改ざん防止方法に関する。   The present invention relates to a falsification preventing program, a falsification preventing device, a falsification preventing system, and a falsification preventing method for preventing falsification, and in particular, a falsification preventing program, a falsification preventing device, a falsification preventing system, and a falsification capable of preventing falsification of processing results by the program. It relates to a prevention method.

プログラムの演算処理によって算出されたデータの正当性についての検証が行われる場合がある。例えば、建物の建築を申請する場合には、その建物の規模などにより、建物の安全性を確認するために構造計算の計算結果を構造計算書に添付することが義務付けられている場合などである。   In some cases, the validity of the data calculated by the calculation processing of the program is verified. For example, when applying for the construction of a building, it is required to attach the calculation result of the structural calculation to the structural calculation sheet to confirm the safety of the building depending on the size of the building. .

ここで、構造計算書とは、建物の設計者が、建物が自重、積載荷重、積雪荷重、風荷重、地震荷重、土圧、水圧、衝撃などの外力に対する安全性を確認し、他者に伝えるための書類である。   Here, the structural calculation document indicates that the building designer confirms the safety of the building against external forces such as its own weight, loading load, snow load, wind load, seismic load, earth pressure, water pressure, impact, etc. It is a document to convey.

この構造計算において、構造計算を行う構造計算プログラムが一般に知られている(例えば、特許文献1参照)。また、建築確認の申請者は、構造計算書の提出の際、構造計算において、国に認定された構造計算プログラム(「一貫構造計算プログラム」)を用いた計算結果を添付することもできる。   In this structure calculation, a structure calculation program for performing structure calculation is generally known (for example, see Patent Document 1). In addition, when submitting a structural calculation report, an applicant for building confirmation can attach a calculation result using a structural calculation program approved by the country (“consistent structural calculation program”) in the structural calculation.

この場合、申請者は構造計算プログラムにデータを入力し、出力された情報を紙に印刷して提出する。これに応じて検証者は、申請者から提出された資料を確認することによって検証を行っている。   In this case, the applicant inputs data into the structural calculation program, and prints and outputs the output information on paper. In response to this, the verifier performs the verification by confirming the material submitted by the applicant.

さらに、ソフトウェア製品の納入時において、納品されたソフトウェアが、仕様書通り正しく動作するか否かが検証される場合がある。
これらのように、コンピュータ上において実行されたプログラムに入力データを入力して得られた処理結果について、その処理結果が正当に処理されて得られたものであるか否かがチェックされることがある。
Furthermore, at the time of delivery of the software product, it may be verified whether the delivered software operates correctly according to the specification.
As described above, it is possible to check whether the processing result obtained by inputting the input data into the program executed on the computer is obtained by properly processing the processing result. is there.

また、電子文書などの電子データに公開鍵方式などを用いた電子署名を付与して、データの改ざんを防止する技術がある(例えば、特許文献2参照)。
特開2003−316831号公報 特開2006−309442号公報
In addition, there is a technique for preventing falsification of data by giving an electronic signature using a public key method to electronic data such as an electronic document (see, for example, Patent Document 2).
JP 2003-316831 A JP 2006-309442 A

しかし、特許文献1の構造計算プログラムを用いたのみでは、検証者は、申請者がプログラムを正しく使用し、かつ正しいデータを入力したか否かのチェックはできない。そのため、検証者は性善説に立ち、申請者が提出した結果資料を信用し、処理結果が正当なものであるとして、建築を許可しているに過ぎない。この場合、申請者(構造計算プログラムのユーザ)は、提出する資料のデータについて、例えば、複数の計算結果の都合の良い箇所を繋ぎ合わせて改ざんすることによって、監査者や第三者を欺くことも可能である。   However, using only the structural calculation program of Patent Document 1, the verifier cannot check whether the applicant has correctly used the program and entered correct data. For this reason, the verifier is standing in a good-natured theory, trusting the result data submitted by the applicant, and only permitting the building on the assumption that the processing result is valid. In this case, the applicant (user of the structural calculation program) falsifies an auditor or a third party by falsifying the data of the submitted material by, for example, connecting and fusing convenient portions of a plurality of calculation results. Is also possible.

また、これに対して特許文献2のような電子署名による電子データの改ざん防止技術をそのまま用いても、電子署名の付与前にデータを改ざんすることができるため、処理結果(構造計算書)の改ざんを防ぐことはできない。   On the other hand, even if the falsification preventing technique for electronic data using an electronic signature as in Patent Document 2 is used as it is, the data can be falsified before the electronic signature is attached, so that the processing result (structural calculation document) Tampering cannot be prevented.

本発明はこのような点に鑑みてなされたものであり、プログラムによる処理結果の改ざんを防止できる改ざん防止プログラム、改ざん防止装置、改ざん防止システム、および改ざん防止方法を提供することを目的とする。   The present invention has been made in view of these points, and an object thereof is to provide a falsification preventing program, a falsification preventing apparatus, a falsification preventing system, and a falsification preventing method that can prevent falsification of a processing result by a program.

本発明では上記課題を解決するために、図1に示すような改ざん防止プログラム11が提供される。本発明に係る改ざん防止プログラム11は、演算プログラム12による処理結果の改ざんを防止するために、図1に示す入力データ受付手段11a、演算プログラム実行手段11b、出力データ送信手段11c、および監査署名情報出力手段11dの機能をコンピュータ1に実行させることができる。   In the present invention, in order to solve the above problems, a falsification preventing program 11 as shown in FIG. 1 is provided. The falsification preventing program 11 according to the present invention includes an input data receiving unit 11a, a calculation program executing unit 11b, an output data transmitting unit 11c, and audit signature information shown in FIG. 1 in order to prevent falsification of processing results by the calculation program 12. The computer 1 can execute the function of the output unit 11d.

入力データ受付手段11aは、演算プログラム12によって処理される入力データ3の入力を受け付けると共に、受け付けた当該入力データ3を情報格納手段2に送信する。送信された入力データ3は、情報格納手段2に、入力データ2aとして格納される。   The input data receiving unit 11 a receives an input of the input data 3 processed by the arithmetic program 12 and transmits the received input data 3 to the information storage unit 2. The transmitted input data 3 is stored in the information storage means 2 as input data 2a.

演算プログラム実行手段11bは、入力データ3に基づく演算プログラム12の実行をコンピュータ1に指示し、演算プログラム12の演算結果を出力データとして取得する。
出力データ送信手段11cは、演算プログラム実行手段11bによって取得された出力データを、情報格納手段2に送信する。送信された出力データは、情報格納手段2に、出力データ2cとして格納される。
The arithmetic program execution means 11b instructs the computer 1 to execute the arithmetic program 12 based on the input data 3, and acquires the arithmetic result of the arithmetic program 12 as output data.
The output data transmission unit 11 c transmits the output data acquired by the arithmetic program execution unit 11 b to the information storage unit 2. The transmitted output data is stored in the information storage means 2 as output data 2c.

監査署名情報出力手段11dは、入力データ3に関する情報、および出力データ2cに関する情報に電子署名を施した監査署名情報を生成し、生成した監査署名情報を、情報格納手段2に送信する。送信された監査署名情報は、情報格納手段2に、監査署名情報2dとして格納される。   The audit signature information output unit 11 d generates audit signature information obtained by applying an electronic signature to the information related to the input data 3 and the information related to the output data 2 c, and transmits the generated audit signature information to the information storage unit 2. The transmitted audit signature information is stored in the information storage means 2 as audit signature information 2d.

なお、情報格納手段2に格納された入力データ2a、出力データ2c、および監査署名情報2dが、演算プログラム12によって正しく算出されたものであるか否かについては、検証者が使用するコンピュータ4内の検証手段4aによって検証される。   Whether the input data 2a, the output data 2c, and the audit signature information 2d stored in the information storage means 2 are correctly calculated by the arithmetic program 12 is determined in the computer 4 used by the verifier. Is verified by the verification means 4a.

このような改ざん防止プログラム11に入力データ3が入力されると、入力データ受付手段11aにより、入力データ3の入力が受け付けられると共に、受け付けられた当該入力データ3が情報格納手段2に送信される。次に、演算プログラム実行手段11bにより、入力データ3に基づく演算プログラム12の実行がコンピュータ1に指示され、演算プログラム12の演算結果が出力データ2cとして取得される。次に、出力データ送信手段11cにより、演算プログラム実行手段11bによって取得された出力データ2cが、情報格納手段2に送信される。次に、入力データ2aに関する情報および出力データ2cに関する情報に電子署名を施した監査署名情報2dが生成され、生成された監査署名情報2dが、情報格納手段2に送信される。   When the input data 3 is input to the falsification preventing program 11, the input data receiving unit 11 a receives the input data 3 and transmits the received input data 3 to the information storage unit 2. . Next, the arithmetic program execution means 11b instructs the computer 1 to execute the arithmetic program 12 based on the input data 3, and the arithmetic result of the arithmetic program 12 is acquired as output data 2c. Next, the output data transmission unit 11 c transmits the output data 2 c acquired by the arithmetic program execution unit 11 b to the information storage unit 2. Next, audit signature information 2 d obtained by applying an electronic signature to information related to the input data 2 a and information related to the output data 2 c is generated, and the generated audit signature information 2 d is transmitted to the information storage unit 2.

また、上記課題を解決するために、演算プログラムによる処理結果の改ざんを防止する改ざん防止装置において、前記演算プログラムによって処理される入力データの入力を受け付けると共に、受け付けた当該入力データを情報格納手段に送信する入力データ受付手段と、前記入力データに基づく前記演算プログラムを実行し、前記演算プログラムの演算結果を出力データとして取得する演算プログラム実行手段と、前記演算プログラム実行手段によって取得された前記出力データを前記情報格納手段に送信する出力データ送信手段と、前記出力データに関する情報および前記入力データに関する情報に電子署名を施した監査署名情報を生成し、生成した前記監査署名情報を前記情報格納手段に送信する監査署名情報出力手段と、を有することを特徴とする改ざん防止装置が提供される。   In order to solve the above problem, in the falsification preventing apparatus for preventing falsification of the processing result by the arithmetic program, the input of the input data processed by the arithmetic program is received and the received input data is stored in the information storage means. Input data receiving means for transmitting; arithmetic program executing means for executing the arithmetic program based on the input data and acquiring the arithmetic result of the arithmetic program as output data; and the output data acquired by the arithmetic program executing means Output data transmitting means for transmitting the information to the information storage means, audit signature information obtained by applying an electronic signature to the information related to the output data and the information related to the input data, and the generated audit signature information in the information storage means Audit signature information output means for transmission. Tamper-proof device is provided, wherein.

このような改ざん防止装置によれば、入力データ受付手段により、演算プログラムによって処理される入力データの入力が受け付けられると共に、受け付けられた当該入力データが情報格納手段に送信され、演算プログラム実行手段により、入力データに基づく演算プログラムが実行され、演算プログラムの演算結果が出力データとして取得される。そして、出力データ送信手段により、演算プログラム実行手段によって取得された出力データが情報格納手段に送信され、監査署名情報出力手段により、出力データに関する情報、および入力データに関する情報に電子署名を施した監査署名情報が生成され、生成された監査署名情報が情報格納手段に送信される。   According to such a falsification preventing apparatus, the input data receiving means receives input of input data processed by the arithmetic program, and the received input data is transmitted to the information storage means, and the arithmetic program executing means A calculation program based on the input data is executed, and a calculation result of the calculation program is acquired as output data. Then, the output data acquired by the operation program executing means is transmitted to the information storage means by the output data transmitting means, and the audit signature information output means is used to apply the electronic signature to the information related to the output data and the information related to the input data. Signature information is generated, and the generated audit signature information is transmitted to the information storage means.

また、上記課題を解決するために、演算プログラムによる処理結果の改ざんを防止する改ざん防止システムにおいて、情報を格納可能な情報格納手段と、前記演算プログラムによって処理される入力データの入力を受け付けると共に、受け付けた当該入力データを前記情報格納手段に送信する入力データ受付手段と、前記入力データに基づく前記演算プログラムを実行し、前記演算プログラムの演算結果を出力データとして取得する演算プログラム実行手段と、前記演算プログラム実行手段によって取得された前記出力データを前記情報格納手段に送信する出力データ送信手段と、前記入力データに関する情報および前記出力データに関する情報に電子署名を施した監査署名情報を生成し、生成した前記監査署名情報を前記情報格納手段に送信する監査署名情報出力手段と、を有することを特徴とする改ざん防止システムが提供される。   In order to solve the above problem, in the falsification prevention system for preventing falsification of the processing result by the arithmetic program, the information storage means capable of storing information and the input of the input data processed by the arithmetic program, Input data receiving means for transmitting the received input data to the information storage means, calculation program execution means for executing the calculation program based on the input data, and acquiring a calculation result of the calculation program as output data, and An output data transmission unit that transmits the output data acquired by the arithmetic program execution unit to the information storage unit, and generates audit signature information in which an electronic signature is applied to the information about the input data and the information about the output data. Sent the audit signature information to the information storage means. Tamper-proof system, comprising: the audit signature information output means for, is provided.

このような改ざん防止システムによれば、情報格納手段により、情報が格納可能であり、入力データ受付手段により、演算プログラムによって処理される入力データの入力が受け付けられると共に、受け付けられた当該入力データが情報格納手段に送信される。次に、演算プログラム実行手段により、入力データに基づく演算プログラムが実行され、演算プログラムの演算結果が出力データとして取得され、出力データ送信手段により、演算プログラム実行手段によって取得された出力データが情報格納手段に送信される。そして、監査署名情報出力手段により、入力データに関する情報および出力データに関する情報に電子署名を施した監査署名情報が生成され、生成された監査署名情報が情報格納手段に送信される。   According to such a falsification prevention system, information can be stored by the information storage means, and input of the input data processed by the arithmetic program is received by the input data receiving means, and the received input data is It is transmitted to the information storage means. Next, an arithmetic program based on the input data is executed by the arithmetic program executing means, the arithmetic result of the arithmetic program is acquired as output data, and the output data acquired by the arithmetic program executing means is stored in the information by the output data transmitting means Sent to the means. Then, the audit signature information output means generates the audit signature information obtained by applying the electronic signature to the information relating to the input data and the information relating to the output data, and the generated audit signature information is transmitted to the information storage means.

また、上記課題を解決するために、演算プログラムによる処理結果の改ざんを防止するコンピュータによる改ざん防止方法において、前記演算プログラムによって処理される入力データの入力を受け付けるステップと、受け付けた前記入力データを情報を格納可能な情報格納手段に送信し、前記入力データに基づく前記演算プログラムの実行を前記コンピュータに指示し、前記演算プログラムの演算結果を出力データとして取得し、前記演算プログラムの実行によって取得された前記出力データを前記情報格納手段に送信し、前記出力データに関する情報および前記入力データに関する情報に電子署名を施した監査署名情報を生成し、生成した前記監査署名情報を前記情報格納手段に送信するステップと、を有することを特徴とする改ざん防止方法が提供される。   In addition, in order to solve the above-mentioned problem, in a falsification preventing method by a computer for preventing falsification of a processing result by an arithmetic program, a step of accepting input of input data processed by the arithmetic program, and the received input data as information Is transmitted to the information storage means that can store the information, instructs the computer to execute the arithmetic program based on the input data, acquires the operation result of the arithmetic program as output data, and is acquired by executing the arithmetic program The output data is transmitted to the information storage means, audit signature information obtained by applying an electronic signature to the information related to the output data and the information related to the input data is generated, and the generated audit signature information is transmitted to the information storage means And tamper-proof characterized by comprising steps A method is provided.

このような改ざん防止方法によれば、まず、演算プログラムによって処理される入力データの入力が受け付けられる。次に、受け付けられた入力データが情報を格納可能な情報格納手段に送信され、入力データに基づく演算プログラムの実行がコンピュータに指示され、演算プログラムの演算結果が出力データとして取得され、演算プログラムの実行によって取得された出力データが情報格納手段に送信され、出力データに関する情報および入力データに関する情報に電子署名を施した監査署名情報が生成され、生成された監査署名情報が情報格納手段に送信される。   According to such a falsification preventing method, first, input of input data processed by the arithmetic program is accepted. Next, the received input data is transmitted to the information storage means capable of storing information, the computer is instructed to execute the arithmetic program based on the input data, the arithmetic result of the arithmetic program is acquired as output data, and the arithmetic program Output data acquired by execution is transmitted to the information storage means, audit signature information obtained by applying an electronic signature to the information related to the output data and the information related to the input data is generated, and the generated audit signature information is transmitted to the information storage means The

本発明では、処理結果を出力する演算プログラムによるデータ出力後に、自動的に入力データおよび出力データに関して電子署名を施す監査署名情報を出力するようにした。これにより、入力データおよび出力データならびに署名鍵を用いれば、出力データの正当性を検証することができるので、出力データを改ざんすることが困難になると共に、入力データと出力データの組の正当性(すなわち、当該出力データは、同時に電子署名が施された入力データから出力されたものであること)も担保される。したがって、プログラムによる処理結果の改ざんを防止することが可能となる。   In the present invention, after the data is output by the arithmetic program for outputting the processing result, the audit signature information for automatically applying the electronic signature to the input data and the output data is output. As a result, if the input data, the output data, and the signature key are used, the validity of the output data can be verified, so that it becomes difficult to tamper with the output data and the validity of the pair of the input data and the output data. (In other words, the output data is output from input data that has been digitally signed at the same time). Therefore, it is possible to prevent falsification of the processing result by the program.

以下、本発明の実施の形態を図面を参照して説明する。
図1は、発明の概要を示す図である。本発明に係る改ざん防止プログラム11は、演算プログラム12による処理結果の改ざんを防止するために、図1に示す入力データ受付手段11a、演算プログラム実行手段11b、出力データ送信手段11c、および監査署名情報出力手段11dの機能をコンピュータ1に実行させることができる。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 is a diagram showing an outline of the invention. The falsification preventing program 11 according to the present invention includes an input data receiving unit 11a, a calculation program executing unit 11b, an output data transmitting unit 11c, and audit signature information shown in FIG. 1 in order to prevent falsification of processing results by the calculation program 12. The computer 1 can execute the function of the output unit 11d.

入力データ受付手段11aは、演算プログラム12によって処理される入力データ3の入力を受け付ける。入力データ3は、演算プログラム12で処理するためのデータである。そして、入力データ受付手段11aは、受け付けた当該入力データ3を情報格納手段2に送信する。送信された入力データ3は、情報格納手段2において、入力データ2aとして格納される。この情報格納手段2に格納された入力データ2aは、後述する出力データ2cおよび監査署名情報2dと共に、コンピュータ4内の検証手段4aによって、演算プログラム12の処理結果が改ざんされていないことの検証に用いられる。   The input data accepting unit 11 a accepts input of input data 3 processed by the arithmetic program 12. Input data 3 is data to be processed by the arithmetic program 12. Then, the input data receiving unit 11a transmits the received input data 3 to the information storage unit 2. The transmitted input data 3 is stored in the information storage unit 2 as input data 2a. The input data 2a stored in the information storage unit 2 is used to verify that the processing result of the arithmetic program 12 has not been tampered with by the verification unit 4a in the computer 4 together with output data 2c and audit signature information 2d described later. Used.

ここで、情報格納手段2は、耐タンパ機能を備えており、内部に保持されているデータを、不正なアクセス(読み出しおよび書き込み)や改ざんから保護する。
演算プログラム実行手段11bは、入力データ3に基づく演算プログラム12の実行をコンピュータ1に指示する。この演算プログラム12は、例えば、構造計算プログラムなどが該当する。そして、演算プログラム実行手段11bは、演算プログラム12の演算結果を出力データとして取得する。この出力データは、改ざんの有無の検証の対象となるデータであり、例えば、構造計算の計算結果などが該当する。
Here, the information storage means 2 has a tamper-proof function, and protects data held therein from unauthorized access (reading and writing) and tampering.
The arithmetic program execution means 11 b instructs the computer 1 to execute the arithmetic program 12 based on the input data 3. The arithmetic program 12 corresponds to, for example, a structural calculation program. Then, the operation program execution unit 11b acquires the operation result of the operation program 12 as output data. This output data is data to be verified as to whether or not tampering has occurred, and corresponds to, for example, a calculation result of structural calculation.

出力データ送信手段11cは、演算プログラム実行手段11bによって取得された出力データを、情報格納手段2に送信する。送信された出力データは、情報格納手段2に、出力データ2cとして格納される。   The output data transmission unit 11 c transmits the output data acquired by the arithmetic program execution unit 11 b to the information storage unit 2. The transmitted output data is stored in the information storage means 2 as output data 2c.

監査署名情報出力手段11dは、入力データ3自体や入力データ3のハッシュ(hash)値などの入力データ3に関する情報および出力データ2c自体や出力データ2cのハッシュ値などの出力データ2cに関する情報に電子署名を施すことによって監査署名情報を生成し、生成した監査署名情報を、情報格納手段2に送信する。送信された監査署名情報は、情報格納手段2に、監査署名情報2dとして格納される。   The audit signature information output unit 11d electronically stores information related to the input data 3 such as the input data 3 itself and the hash value of the input data 3, and information related to the output data 2c such as the output data 2c itself and the hash value of the output data 2c. Audit signature information is generated by applying a signature, and the generated audit signature information is transmitted to the information storage means 2. The transmitted audit signature information is stored in the information storage means 2 as audit signature information 2d.

なお、情報格納手段2に格納された入力データ2a、出力データ2c、および監査署名情報2dが、演算プログラム12によって正しく算出されたものであるか否かについては、演算結果の正当性を検証する検証者が使用するコンピュータ4内の検証手段4aによって検証される。   Whether the input data 2a, the output data 2c, and the audit signature information 2d stored in the information storage unit 2 are correctly calculated by the arithmetic program 12 is verified. Verification is performed by verification means 4a in the computer 4 used by the verifier.

このような改ざん防止プログラム11に入力データ3が入力されると、入力データ受付手段11aにより、入力データ3の入力が受け付けられ、受け付けられた当該入力データ3が情報格納手段2に送信される。   When the input data 3 is input to such a falsification preventing program 11, the input data receiving unit 11a receives the input data 3, and the received input data 3 is transmitted to the information storage unit 2.

次に、演算プログラム実行手段11bにより、入力データ3に基づく演算プログラム12の実行がコンピュータ1に指示され、演算プログラム12の演算結果が出力データとして取得される。   Next, the operation program execution means 11b instructs the computer 1 to execute the operation program 12 based on the input data 3, and the operation result of the operation program 12 is acquired as output data.

さらに、出力データ送信手段11cにより、演算プログラム実行手段11bによって取得された出力データが、情報格納手段2に送信される。
そして、出力データに関する情報、および入力データに関する情報に電子署名を施した監査署名情報が生成され、生成された監査署名情報が、情報格納手段2に送信される。
Furthermore, the output data acquired by the arithmetic program execution unit 11b is transmitted to the information storage unit 2 by the output data transmission unit 11c.
Then, audit signature information obtained by applying an electronic signature to information related to output data and information related to input data is generated, and the generated audit signature information is transmitted to the information storage unit 2.

このようにして、処理結果を出力する演算プログラムによるデータ出力後に、自動的に入力データおよび出力データに関して電子署名を施した監査署名情報を出力するようにした。そのため、入力データおよび出力データから監査署名を再作成し、情報格納手段2に予め格納されている監査署名と照合することで、出力データの正当性を検証することができる。これにより、出力データを改ざんすることが困難になると共に、入力データと出力データの組の正当性(すなわち、当該出力データは、同時に電子署名が施された入力データから出力されたものであること)も担保される。したがって、プログラムによる処理結果の改ざんを防止することが可能となる。   In this way, after the data is output by the arithmetic program for outputting the processing result, the audit signature information with the electronic signature applied to the input data and the output data is automatically output. Therefore, the legitimacy of the output data can be verified by re-creating the audit signature from the input data and the output data and collating it with the audit signature stored in advance in the information storage means 2. As a result, it becomes difficult to tamper with the output data, and the validity of the pair of the input data and the output data (that is, the output data is output from the input data that has been digitally signed at the same time. ) Is also secured. Therefore, it is possible to prevent falsification of the processing result by the program.

[第1の実施の形態]
以下、第1の実施の形態を、図面を参照して詳細に説明する。
図2は、監査用コンピュータのハードウェア構成例を示す図である。監査用コンピュータ100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス108を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入出力インタフェース105、PCカードインタフェース106、および通信インタフェース107が接続されている。
[First Embodiment]
Hereinafter, a first embodiment will be described in detail with reference to the drawings.
FIG. 2 is a diagram illustrating a hardware configuration example of the audit computer. The entire computer of the auditing computer 100 is controlled by a CPU (Central Processing Unit) 101. A random access memory (RAM) 102, a hard disk drive (HDD: Hard Disk Drive) 103, a graphic processing device 104, an input / output interface 105, a PC card interface 106, and a communication interface 107 are connected to the CPU 101 via a bus 108. ing.

RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。   The RAM 102 temporarily stores at least part of an OS (Operating System) program and application programs to be executed by the CPU 101. The RAM 102 stores various data necessary for processing by the CPU 101. The HDD 103 stores an OS and application programs.

グラフィック処理装置104には、モニタ140が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ140の画面に表示させる。入出力インタフェース105には、キーボード151、マウス152、およびプリンタ153が接続されている。入出力インタフェース105は、キーボード151やマウス152から送られてくる信号をバス108を介してCPU101に送信すると共に、バス108を介してCPU101から送られてくるプリントアウト信号をプリンタ153に送信する。   A monitor 140 is connected to the graphic processing device 104. The graphic processing device 104 displays an image on the screen of the monitor 140 in accordance with a command from the CPU 101. A keyboard 151, a mouse 152, and a printer 153 are connected to the input / output interface 105. The input / output interface 105 transmits a signal sent from the keyboard 151 and the mouse 152 to the CPU 101 via the bus 108, and sends a printout signal sent from the CPU 101 via the bus 108 to the printer 153.

PCカードインタフェース106は、PCカード形式で構成されたトークンモジュール200を接続することができる。そして、PCカードインタフェース106は、接続されたトークンモジュール200との間でデータの送受信を行う。   The PC card interface 106 can connect a token module 200 configured in a PC card format. The PC card interface 106 transmits / receives data to / from the connected token module 200.

トークンモジュール200は、監査用コンピュータ100で演算された監査プログラム120fによる演算結果および演算結果の正当性を検証するためのデータを格納する装置である。トークンモジュール200は、図示しない記憶部を内蔵しているPCカード形式のハードウェアモジュールであり、記憶部は、監査用コンピュータ100に送信するためのデータおよび監査用コンピュータ100から送信されたデータを格納可能である。トークンモジュール200は、耐タンパ機能を備えており、内部に保持されているデータを、不正なアクセス(読み出しおよび書き込み)や改ざんから保護することができる。   The token module 200 is a device that stores a calculation result by the audit program 120f calculated by the auditing computer 100 and data for verifying the validity of the calculation result. The token module 200 is a PC card type hardware module incorporating a storage unit (not shown), and the storage unit stores data to be transmitted to the audit computer 100 and data transmitted from the audit computer 100. Is possible. The token module 200 has a tamper-proof function, and can protect data held therein from unauthorized access (reading and writing) and tampering.

トークンモジュール200は、監査用コンピュータ100からの正当な要求に応じて、監査用コンピュータ100から送信されたデータを格納し、格納されているデータを監査用コンピュータ100に送信する。また、トークンモジュール200は、検証用コンピュータのPCカードインタフェース(図示省略)にも接続可能である。監査プログラムの出力結果の検証時には、トークンモジュール200は検証用コンピュータに接続されることによって、格納しているデータを検証用コンピュータに送信する。   The token module 200 stores data transmitted from the auditing computer 100 in response to a legitimate request from the auditing computer 100, and transmits the stored data to the auditing computer 100. The token module 200 can also be connected to a PC card interface (not shown) of the verification computer. At the time of verifying the output result of the audit program, the token module 200 is connected to the verification computer, thereby transmitting the stored data to the verification computer.

通信インタフェース107は、ネットワーク500に接続されている。通信インタフェース107は、ネットワーク500を介して、他のコンピュータとの間でデータの送受信を行うことができる。   The communication interface 107 is connected to the network 500. The communication interface 107 can send and receive data to and from other computers via the network 500.

なお、本実施の形態のトークンモジュール200は、PCカード形式によって構成されているが、これに限らず、USB(Universal Serial Bus)方式や、その他の規格や仕様などに従った、可搬性を有する記憶装置で構成することもできる。この場合の記憶装置も、耐タンパ機能を持たせるとよい。   The token module 200 of the present embodiment is configured in the PC card format, but is not limited to this, and has portability according to the USB (Universal Serial Bus) system, other standards and specifications, and the like. It can also be constituted by a storage device. The storage device in this case may also have a tamper resistant function.

また、本実施の形態のトークンモジュール200に代えて、トークンモジュール200の機能を、耐タンパ機能を備えたハードディスク装置(HDD)によって実現してもよい。この場合、ハードディスク装置は、持ち運び可能な外付式ハードディスク装置や、取り外し可能な内蔵式ハードディスク装置として、監査用コンピュータ100および検証用コンピュータに自由に接続の変更を行えるようにするとよい。さらに、当該ハードディスク装置を、ネットワークに接続可能に構成して、ネットワークを介して監査用コンピュータ100および検証用コンピュータと自由に接続可能にしてもよい。   Further, instead of the token module 200 of the present embodiment, the function of the token module 200 may be realized by a hard disk device (HDD) having a tamper resistant function. In this case, the hard disk device may be a portable external hard disk device or a removable built-in hard disk device that can freely change connection to the audit computer 100 and the verification computer. Further, the hard disk device may be configured to be connectable to a network so that it can be freely connected to the audit computer 100 and the verification computer via the network.

以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図2では、監査用コンピュータ100のハードウェア構成のみを示したが、検証用コンピュータも同様のハードウェア構成で実現することができる。   With the hardware configuration as described above, the processing functions of the present embodiment can be realized. Although FIG. 2 shows only the hardware configuration of the audit computer 100, the verification computer can also be realized with the same hardware configuration.

次に、第1の実施の形態において、監査プログラムによる処理結果の改ざんを防止するために改ざん防止プログラム110が監査用コンピュータ100に実現させる機能について説明する。   Next, in the first embodiment, a function that the falsification preventing program 110 implements in the auditing computer 100 in order to prevent falsification of the processing result by the audit program will be described.

図3は、第1の実施の形態の監査用コンピュータの機能を示すブロック図である。監査用コンピュータ100は、改ざん防止プログラム110により、認証情報受付部110a、プログラム署名受付部110b、プログラム確認部110c、入力データ受付部110d、監査プログラム実行部110e、出力データ送信部110g、およびタイムスタンプ出力部110hとして機能する。   FIG. 3 is a block diagram illustrating functions of the auditing computer according to the first embodiment. The audit computer 100 uses an authentication information receiving unit 110a, a program signature receiving unit 110b, a program checking unit 110c, an input data receiving unit 110d, an audit program executing unit 110e, an output data transmitting unit 110g, and a time stamp by using a falsification preventing program 110. It functions as the output unit 110h.

認証情報受付部110aは、トークンモジュール200に格納されておりトークンモジュール200を認証するための認証情報200aを、トークンモジュール200から取得する。この認証情報200aは、各トークンモジュール200に固有にまたは共通して、不正に書き換えることができないように格納されている情報である。なお、認証情報200aは、チャレンジ・レスポンス認証(challenge and response authentication)などのワンタイム・パスワードを用いて動的に変化させて、よりセキュアに構成してもよい。   The authentication information receiving unit 110 a acquires authentication information 200 a stored in the token module 200 for authenticating the token module 200 from the token module 200. The authentication information 200a is information that is stored in a manner unique to or common to each token module 200 so that it cannot be illegally rewritten. The authentication information 200a may be configured more securely by dynamically changing it using a one-time password such as challenge and response authentication.

プログラム署名受付部110bは、トークンモジュール200に格納されており、監査プログラム120fに関する情報に電子署名を施したプログラム署名情報200bを受け付ける。   The program signature receiving unit 110b is stored in the token module 200, and receives program signature information 200b obtained by applying an electronic signature to information related to the audit program 120f.

ここで、監査プログラム120fに関する情報とは、監査プログラム120f自体、または監査プログラム120fからハッシュ関数などを用いて作成したハッシュ(hash)値などの監査プログラム120fを識別可能な情報である。後述する入力データ300に関する情報、出力データ200gに関する情報、および監査プログラム120fの実行によって算出された出力データ200gの算出時刻を示す情報も、それぞれ同様である。   Here, the information related to the audit program 120f is information that can identify the audit program 120f itself or the audit program 120f such as a hash value created from the audit program 120f using a hash function or the like. The same applies to information relating to input data 300 described later, information relating to output data 200g, and information indicating the calculation time of output data 200g calculated by execution of audit program 120f.

また、電子署名とは、例えば、前述する監査プログラム120fに関する情報などに公開鍵方式の秘密鍵を用いて暗号化して生成したメッセージ認証子(MAC:Message Authentication Code)を、公開鍵方式の公開鍵を用いて復号化することによって、改ざんの有無を検証可能にすることにより、監査プログラム120fなどが改ざんされていないことを担保するものである。   The electronic signature is, for example, a message authentication code (MAC) generated by encrypting information related to the audit program 120f described above using a public key private key, and a public key public key. By decrypting using this, it is possible to verify whether the falsification has been made by making it possible to verify the presence or absence of falsification.

プログラム確認部110cは、プログラム署名情報200bに基づいて、監査プログラム120fの正当性を確認する。監査プログラム120fの正当性の確認は、改ざん防止処理(図5参照)のステップS15において、トークンモジュール200から読み出されたプログラム署名情報200bと、改ざん防止処理(図5参照)のステップS14において、監査プログラム120fに関する情報に対して、前述のプログラム署名情報200bを作成するときに用いられた電子署名の署名鍵と同一の署名鍵を施して作成された監査プログラム120fの電子署名とを比較することによって行われる。   The program confirmation unit 110c confirms the validity of the audit program 120f based on the program signature information 200b. The validity of the audit program 120f is confirmed in step S15 of the tampering prevention process (see FIG. 5) in step S14 of the program signature information 200b read from the token module 200 and in the tampering prevention process (see FIG. 5). The information related to the audit program 120f is compared with the electronic signature of the audit program 120f created by applying the same signature key as the signature key of the electronic signature used when creating the program signature information 200b. Is done by.

そして、この比較の結果、一致していれば、監査プログラム120fは正当性が認められる一方、一致しなければ、監査プログラム120fの正当性は認められず、不正が行われている可能性があることになる。ここで、「プログラム署名情報200bを作成するときに用いられた署名鍵と同一の署名鍵」は、トークンモジュール200に格納されており、プログラム作成ベンダーの署名鍵(KEVA201k:図4参照)である。   As a result of this comparison, if they match, the audit program 120f is recognized as valid. On the other hand, if it does not match, the audit program 120f is not validated and there is a possibility that fraud has been performed. It will be. Here, the “signature key identical to the signature key used when creating the program signature information 200b” is stored in the token module 200 and is the signature key (KEVA 201k: see FIG. 4) of the program creation vendor. .

なお、監査プログラム120fの正当性の確認は、トークンモジュール200から読み出されたプログラム署名情報200bを電子署名の公開鍵で復号化したものと、プログラム署名情報200bを生成するときに用いたハッシュ関数と同一のハッシュ関数で求めた監査プログラム120fに関する情報とを比較することによって行ってもよい。   The validity of the audit program 120f is confirmed by decrypting the program signature information 200b read from the token module 200 with the public key of the electronic signature and the hash function used when generating the program signature information 200b. It may be performed by comparing the information related to the audit program 120f obtained with the same hash function.

また、改ざん防止プログラム110についても、監査プログラム120fと同様にして、電子署名によって正当性を担保することとしてもよい。
入力データ受付部110dは、監査プログラム120fによって処理される入力データ300の入力を受け付ける。入力データ300は、監査プログラム120fで処理するためのデータである。そして、入力データ受付部110dは、受け付けた当該入力データ300をトークンモジュール200に送信する。送信された入力データ300は、トークンモジュール200において、入力データ200dとして格納される。このトークンモジュール200に格納された入力データ200dは、後述する出力データ200gおよびタイムスタンプ200hと共に、検証用コンピュータ400によって、監査プログラム120fの処理結果の改ざんがされていないことの検証に用いられる。
Also, the tampering prevention program 110 may be secured by an electronic signature in the same manner as the audit program 120f.
The input data receiving unit 110d receives input of input data 300 processed by the audit program 120f. The input data 300 is data for processing by the audit program 120f. Then, the input data receiving unit 110d transmits the received input data 300 to the token module 200. The transmitted input data 300 is stored as input data 200d in the token module 200. The input data 200d stored in the token module 200 is used for verifying that the processing result of the audit program 120f has not been tampered with by the verification computer 400, together with output data 200g and a time stamp 200h described later.

ここで、前述したように、トークンモジュール200は、耐タンパ機能を備えた持ち運び可能なPCカードであり、内部に保持されているデータを、不正なアクセス(読み出しおよび書き込み)や改ざんから保護する。   Here, as described above, the token module 200 is a portable PC card having a tamper-resistant function, and protects data held therein from unauthorized access (reading and writing) and tampering.

監査プログラム実行部110eは、入力データ300に基づく監査プログラム120fの実行を監査用コンピュータ100に指示する。この監査プログラム120fは、監査プログラム格納部120に格納されている。監査プログラム120fは、例えば、構造計算プログラムなどが該当する。   The audit program execution unit 110e instructs the audit computer 100 to execute the audit program 120f based on the input data 300. The audit program 120f is stored in the audit program storage unit 120. The audit program 120f corresponds to, for example, a structural calculation program.

監査プログラム格納部120は、トークンモジュール200が監査用コンピュータ100に接続されると、トークンモジュール200に圧縮されて格納されている監査プログラム200fを読み出して、読み出された監査プログラム200fを監査プログラム格納部120自身に展開して監査プログラム120fとして、監査用コンピュータ100により実行可能に格納する。   When the token module 200 is connected to the auditing computer 100, the audit program storage unit 120 reads the audit program 200f compressed and stored in the token module 200, and stores the read audit program 200f in the audit program. The program is expanded in the section 120 itself and stored as an audit program 120 f so as to be executable by the auditing computer 100.

ここで、監査プログラム120fは、国土交通大臣などの国の機関による認定を受けたプログラムであって、プログラムが改ざんされていない限り、正しいデータが入力されていれば、正しい出力データが得られるものとする。   Here, the audit program 120f is a program that has been certified by a national institution such as the Minister of Land, Infrastructure, Transport and Tourism and can obtain correct output data if correct data is input unless the program has been tampered with. And

また、改ざん防止プログラム110は、監査プログラム120fに対して入力するデータの受け渡し、および監査プログラム120fから出力されたデータの取得や出力などを行うプログラムである。また、監査用コンピュータ100を操作するユーザは、必ず改ざん防止プログラム110を介して監査プログラム120fに処理を実行させることとし、直接に監査プログラム120fに関与することはできないように設計されている。   Further, the falsification preventing program 110 is a program for transferring data to be input to the audit program 120f and acquiring or outputting data output from the audit program 120f. Further, the user who operates the auditing computer 100 is always designed to cause the auditing program 120f to execute processing via the falsification preventing program 110, and cannot be directly involved in the auditing program 120f.

監査プログラム実行部110eは、監査プログラム120fの実行を指示する。また、監査プログラム実行部110eは、監査プログラム120fの実行を指示する際には、監査プログラム格納部120に格納された監査プログラム120fを読み出して監査用コンピュータ100に実行させる。この監査プログラム実行部110eによる実行の指示に基づいて、監査用コンピュータ100は、監査プログラム120fによって、入力データ300に対して演算処理を行う。   The audit program execution unit 110e instructs execution of the audit program 120f. Further, when instructing the execution of the audit program 120f, the audit program execution unit 110e reads the audit program 120f stored in the audit program storage unit 120 and causes the auditing computer 100 to execute it. Based on the execution instruction by the audit program execution unit 110e, the auditing computer 100 performs arithmetic processing on the input data 300 by the audit program 120f.

そして、監査プログラム実行部110eは、入力データ300に基づく監査プログラム120fの演算結果を出力データとして取得する。この出力データは、改ざんがされていないことの検証の対象となるデータであり、例えば、構造計算の計算結果などが該当する。   Then, the audit program execution unit 110e acquires the operation result of the audit program 120f based on the input data 300 as output data. This output data is data to be verified that it has not been tampered with, and corresponds to, for example, a calculation result of a structural calculation.

出力データ送信部110gは、監査プログラム実行部110eによって取得された出力データを、トークンモジュール200に送信する。送信された出力データは、トークンモジュール200に、出力データ200gとして格納される。   The output data transmission unit 110g transmits the output data acquired by the audit program execution unit 110e to the token module 200. The transmitted output data is stored in the token module 200 as output data 200g.

タイムスタンプ出力部110hは、入力データ200dに関する情報、出力データ200gに関する情報、認証情報200aに関する情報、プログラム署名情報200bに関する情報、および監査プログラム120fの実行によって算出された出力データ200gの算出時刻を示す情報(図4参照)に電子署名を施すことによって、タイムスタンプを生成する。そして、タイムスタンプ出力部110hは、生成したタイムスタンプを、トークンモジュール200に送信する。送信されたタイムスタンプは、トークンモジュール200に、タイムスタンプ200hとして格納される。   The time stamp output unit 110h indicates information about the input data 200d, information about the output data 200g, information about the authentication information 200a, information about the program signature information 200b, and a calculation time of the output data 200g calculated by executing the audit program 120f. A time stamp is generated by applying an electronic signature to the information (see FIG. 4). Then, the time stamp output unit 110h transmits the generated time stamp to the token module 200. The transmitted time stamp is stored in the token module 200 as a time stamp 200h.

すなわち、タイムスタンプ出力部110hは、監査プログラム120fの演算結果に対して電子署名を施す際に、演算結果のデータに電子署名を施してタイムスタンプ200hを生成する。具体的には、タイムスタンプ出力部110hは、出力データ200gなどの監査プログラム120fの演算結果を取得すると、演算結果のデータなどに電子署名を施すことによって、データの内容と演算時の時刻に応じたタイムスタンプ200hを生成する。そして、タイムスタンプ出力部110hは、生成したタイムスタンプ200hをトークンモジュール200等に格納する。これにより、検証者は、トークンモジュール200および検証用コンピュータ400を利用して、タイムスタンプ200hに基づいて、電子署名が施された演算結果の改ざんのチェックを行うことができる。   That is, the time stamp output unit 110h generates a time stamp 200h by applying an electronic signature to the operation result data when applying an electronic signature to the operation result of the audit program 120f. Specifically, when the time stamp output unit 110h obtains the operation result of the audit program 120f such as the output data 200g, the time stamp output unit 110h applies an electronic signature to the data of the operation result and the like according to the data contents and the time at the time of the operation. A time stamp 200h is generated. Then, the time stamp output unit 110h stores the generated time stamp 200h in the token module 200 or the like. As a result, the verifier can check the tampering of the operation result to which the electronic signature is applied based on the time stamp 200h using the token module 200 and the verification computer 400.

また、タイムスタンプ出力部110hは、タイムスタンプ200hをプリンタ153に出力可能である。このタイムスタンプ200hは、詳しくは図4において後述する。
検証用コンピュータ400は、検証者が、監査プログラム120fによる演算結果の正当性の検証を行うためのコンピュータである。検証用コンピュータ400は、耐タンパ機能のトークンモジュール200に格納されているデータを正当に読み書き可能である。
Further, the time stamp output unit 110 h can output the time stamp 200 h to the printer 153. The time stamp 200h will be described in detail later with reference to FIG.
The verification computer 400 is a computer for the verifier to verify the validity of the calculation result by the audit program 120f. The verification computer 400 can legitimately read and write data stored in the tamper resistant token module 200.

検証者は、構造計算書に添付された監査プログラム120fによる演算結果が正当なものであるかの検証を行う際に、演算時に監査用コンピュータ100に接続されていたトークンモジュール200をこの検証用コンピュータ400に接続して、演算時に格納された入力データ200d、出力データ200g、タイムスタンプ200hを読み出して、演算結果の検証を行う。   When the verifier verifies whether the calculation result by the audit program 120f attached to the structural calculation sheet is valid, the verifier uses the token module 200 connected to the audit computer 100 at the time of calculation. Connected to 400, the input data 200d, output data 200g, and time stamp 200h stored at the time of calculation are read, and the calculation result is verified.

具体的には、監査用コンピュータ100に接続されたプリンタ153から出力されたタイムスタンプ200hと、検証用コンピュータ400に接続されたトークンモジュール200から読み出されて検証用コンピュータ400に表示されたタイムスタンプ200hとを比較する。比較の結果、一致すれば、監査プログラム120fによる演算結果は正当なものであると認められる一方、一致しなければ、監査プログラム120fによる演算結果は正当なものであると認められず、不正が行われた可能性があると判断されることになる。   Specifically, the time stamp 200 h output from the printer 153 connected to the audit computer 100 and the time stamp read from the token module 200 connected to the verification computer 400 and displayed on the verification computer 400. Compare with 200h. If the result of the comparison is a match, the operation result by the audit program 120f is recognized as being valid, while if the result is not a match, the operation result by the audit program 120f is not recognized as being valid and an illegal operation is performed. It will be judged that there is a possibility that it has been broken.

次に、本実施の形態のタイムスタンプについて説明する。
図4は、タイムスタンプのデータ構造を示す図である。タイムスタンプ201は、監査プログラム120fによる演算が終了してタイムスタンプ出力部110hで生成され、トークンモジュール200に格納されたタイムスタンプ200hの一例である。
Next, the time stamp of this embodiment will be described.
FIG. 4 is a diagram illustrating a data structure of a time stamp. The time stamp 201 is an example of the time stamp 200h generated by the time stamp output unit 110h after the calculation by the audit program 120f and stored in the token module 200.

タイムスタンプとは、電子データに対して正確な時刻情報を付与し、その時点でのデータの存在証明とその時点以後のデータの非改ざん証明を行う仕組みあるいは技術である。タイムスタンプには、通常、存在証明と非改ざん証明のために、データのハッシュ値および時刻情報などに施された電子署名が用いられる。このようにして、タイムスタンプを用いて文書内容の信頼性を確保することができる。   The time stamp is a mechanism or technique that gives accurate time information to electronic data, and performs data existence proof at that time and non-falsification proof of data after that time. For the time stamp, an electronic signature applied to a hash value of data, time information, and the like is usually used for existence proof and non-falsification proof. In this way, the reliability of the document content can be ensured using the time stamp.

タイムスタンプ201は、案件番号201a、PID201b、UID201c、TIME201d、DIx201e、DMx201f、DOx201g、KU201h、KEVA201k、DSIGN201m、およびPSIGN201pの各欄の情報から構成されている。   The time stamp 201 includes information in each column of the case number 201a, PID 201b, UID 201c, TIME 201d, DIx 201e, DMx 201f, DOx 201g, KU 201h, KEVA 201k, DSIGN 201m, and PSIGN 201p.

案件番号201aの欄には、監査プログラム120fによって演算処理される案件を特定するための案件ごとに設定された番号が格納される。
PID201bの欄には、監査プログラム120fを識別するための識別記号であるプログラムIDが格納される。
In the column of the case number 201a, a number set for each case for specifying a case to be processed by the audit program 120f is stored.
The column of PID 201b stores a program ID that is an identification symbol for identifying the audit program 120f.

UID201cの欄には、改ざん防止プログラム110および監査プログラム120fを使用して当該タイムスタンプ201が生成された演算を行ったユーザを識別するための識別記号である利用者IDが格納される。   The column of the UID 201c stores a user ID that is an identification symbol for identifying a user who has performed an operation for generating the time stamp 201 using the falsification preventing program 110 and the audit program 120f.

TIME201dの欄には、改ざん防止プログラム110および監査プログラム120fを使用した演算が終了し、当該タイムスタンプ201が生成された時刻が格納される。
DIx201eの欄には、ユーザが入力した入力データ300が格納される。ここで、「DIx」の「x」は、入力データ300が複数個のデータから構成される場合に、各データを区別するために付与される番号が設定され、例えば、1以上の自然数が適宜割り当てられる。
In the TIME 201d column, the time when the calculation using the falsification preventing program 110 and the audit program 120f is completed and the time stamp 201 is generated is stored.
The DIx 201e column stores input data 300 input by the user. Here, “x” of “DIx” is a number assigned to distinguish each data when the input data 300 is composed of a plurality of data. For example, a natural number of 1 or more is appropriately set. Assigned.

例えば、入力データ300が3個のデータから構成される場合には、3個の各データはそれぞれ「DI1」、「DI2」、「DI3」のように表される。
DMx201fの欄には、必要に応じて、監査プログラム120fによる処理の中間結果のデータが格納される。ここで、「DMx」の「x」は、DIx201eと同様に、監査プログラム120fによる処理の中間結果が複数個のデータから構成される場合に、各データを区別するために付与される番号が設定される。
For example, when the input data 300 is composed of three pieces of data, the three pieces of data are represented as “DI1”, “DI2”, and “DI3”, respectively.
In the column of DMx 201f, intermediate result data of processing by the audit program 120f is stored as necessary. Here, “x” of “DMx” is set to a number assigned to distinguish each data when the intermediate result of the processing by the audit program 120f is composed of a plurality of data, similarly to DIx201e. Is done.

DOx201gの欄には、監査プログラム120fによる処理の最終結果である出力データ200gが格納される。ここで、「DMx」の「x」は、DIx201eと同様に、出力データ200gが複数個のデータから構成される場合に、各データを区別するために付与される番号が設定される。   The column of DOx 201g stores output data 200g that is the final result of the processing by the audit program 120f. Here, “x” of “DMx” is set to a number assigned to distinguish each data when the output data 200g is composed of a plurality of data, like DIx 201e.

KU201hの欄には、ユーザの電子署名の非公開鍵が格納される。
KEVA201kの欄には、改ざん防止プログラムの作成ベンダーの電子署名の非公開鍵が格納される。
In the KU 201h column, the private key of the user's electronic signature is stored.
In the column of KEVA 201k, the private key of the electronic signature of the vendor that created the falsification prevention program is stored.

DSIGN201mの欄には、監査プログラム120fによる演算処理結果に対する電子署名が格納される。例えば、改ざん防止プログラム110により、案件番号201a、PID201b、UID201c、TIME201d、DIx201e、DOx201gがMAC処理され、ユーザの非公開鍵であるKU201hで暗号化されることによって、ユーザによる電子署名が施されたものである。これにより、ユーザの電子署名の公開鍵によって、この演算結果はユーザによって生成されたものであり、改ざんされていないことが検証可能となる。   In the column of DSIGN 201m, an electronic signature for the calculation processing result by the audit program 120f is stored. For example, the falsification prevention program 110 MAC-processes the case number 201a, PID 201b, UID 201c, TIME 201d, DIX 201e, and DOx 201g, and encrypts it with the user's private key KU 201h, thereby giving an electronic signature by the user Is. Thereby, it is possible to verify that the calculation result is generated by the user by the public key of the user's electronic signature and has not been tampered with.

このDSIGN201mの演算処理結果に対する電子署名について説明すると、まず、改ざん防止プログラム110によって、本実施の形態の監査プログラム120fの演算に関するデータである、例えば、案件番号201a、PID201b、UID201c、TIME201d、DIx201e、DOx201gなどが連結されて1つのメッセージ・データとされる。次に、改ざん防止プログラム110によって、メッセージ・データに対して予め用意した特定のハッシュ関数を用いてハッシュ値が算出される。算出されたハッシュ値が、監査プログラム120fの演算に関するデータのMACとなる。このハッシュ関数は、検証者によって予め用意され、トークンモジュール200に格納されている。なお、ハッシュ関数は、例えば、予めインターネットでユーザや検証者が入手可能なように頒布するなど、トークンモジュール200以外から取得するようにしてもよい。   The electronic signature for the calculation processing result of DSIGN 201m will be described. First, the falsification prevention program 110 is data relating to the calculation of the audit program 120f of the present embodiment, for example, the case number 201a, PID 201b, UID 201c, TIME 201d, DIX 201e, DOx 201g and the like are concatenated into one message data. Next, the falsification preventing program 110 calculates a hash value using a specific hash function prepared in advance for the message data. The calculated hash value becomes the MAC of data related to the calculation of the audit program 120f. This hash function is prepared in advance by a verifier and stored in the token module 200. Note that the hash function may be acquired from other than the token module 200, for example, distributed in advance so that a user or a verifier can obtain it on the Internet.

そして、改ざん防止プログラム110によって、算出されたハッシュ値であるMACに、ユーザの電子署名の非公開鍵(KU201h)が施されて、演算処理結果に対する電子署名であるDSIGN201mが生成される。生成されたDSIGN201mの電子署名は、改ざん防止プログラム110によって、タイムスタンプ201の一部として、耐タンパ機能によりセキュアなトークンモジュール200に格納される。   Then, the falsification preventing program 110 applies the private key (KU201h) of the user's electronic signature to the MAC that is the calculated hash value, and generates DSIGN 201m that is the electronic signature for the operation processing result. The generated digital signature of DSIGN 201m is stored in the secure token module 200 by the tamper resistant function as a part of the time stamp 201 by the falsification preventing program 110.

このDSIGN201mの演算処理結果に対する電子署名により、検証者は、監査プログラム120fの演算結果の正当性を検証することができる。
具体的には、検証者は、検証用コンピュータ400によって、トークンモジュール200に格納されている各データのうち、改ざん防止プログラム110によってハッシュ値の算出に用いられたデータから、改ざん防止プログラム110がメッセージ・データに用いた、例えば、案件番号201a、PID201b、UID201c、TIME201d、DIx201e、DOx201gなどを連結してメッセージ・データとする。そして、こうして得られたメッセージ・データから、改ざん防止プログラム110が用いたハッシュ関数と同一のハッシュ関数を用いてハッシュ値を算出する。改ざん防止プログラム110と同様に、算出されたハッシュ値が、監査プログラム120fの演算に関するデータのMACとなる。
The verifier can verify the correctness of the operation result of the audit program 120f by using the electronic signature for the operation result of DSIGN 201m.
Specifically, the verifier uses the verification computer 400 to send a message from the data used for calculation of the hash value by the falsification prevention program 110 from the data stored in the token module 200. For example, the case number 201a, PID 201b, UID 201c, TIME 201d, DIx 201e, DOx 201g, and the like used for the data are connected to form message data. Then, a hash value is calculated from the message data thus obtained using the same hash function as the hash function used by the falsification preventing program 110. Similar to the falsification preventing program 110, the calculated hash value becomes the MAC of data related to the operation of the audit program 120f.

次に、検証用コンピュータ400は、改ざん防止プログラム110と同様に、算出されたハッシュ値であるMACに、トークンモジュール200に格納されているユーザの電子署名の非公開鍵であるKU201hを施して、演算処理結果に対する電子署名を生成する。   Next, similarly to the falsification prevention program 110, the verification computer 400 applies the KU 201h, which is the private key of the user's electronic signature stored in the token module 200, to the MAC, which is the calculated hash value, An electronic signature for the operation processing result is generated.

そして、検証用コンピュータ400は、自らが生成した演算処理結果に対する電子署名と、改ざん防止プログラム110によって生成され、トークンモジュール200に格納されている演算処理結果に対する電子署名であるDSIGN201mとを比較する。   Then, the verification computer 400 compares the electronic signature for the arithmetic processing result generated by itself with the DSIGN 201m that is the electronic signature for the arithmetic processing result generated by the falsification prevention program 110 and stored in the token module 200.

ここで、もし、演算処理結果に関するデータが改ざんされていれば、演算処理結果から得られたハッシュ値が変化するため、電子署名が変化してしまうことになる。したがって、比較結果が一致していれば、演算処理結果は改ざんされておらず、正当なものであると認められる。   Here, if the data related to the operation processing result has been tampered with, the hash value obtained from the operation processing result changes, so the electronic signature changes. Therefore, if the comparison results match, it is recognized that the calculation processing result has not been falsified and is valid.

なお、これに限らず、検証者は、検証用コンピュータ400によって、タイムスタンプ201に含まれるDSIGN201mの電子署名に対して、ユーザの電子証明の非公開鍵(KU201h)に対応する、ユーザの電子署名の公開鍵を施して、DSIGN201mの演算処理結果に対する電子署名を復号化することによって、演算処理結果を検証してもよい。この場合、検証用コンピュータ400が、復号化によって得られた監査プログラム120fの演算結果に関するメッセージ・データのハッシュ値と、改ざん防止プログラム110によって算出されトークンモジュール200に格納されているハッシュ値とを比較することによって、演算処理結果の正当性が検証される。   Not limited to this, the verifier uses the verification computer 400 to correspond to the user's electronic signature private key (KU201h) with respect to the digital signature of the SIGN 201m included in the time stamp 201. And the operation processing result may be verified by decrypting the digital signature for the operation processing result of DSIGN 201m. In this case, the verification computer 400 compares the hash value of the message data related to the operation result of the audit program 120f obtained by decryption with the hash value calculated by the falsification prevention program 110 and stored in the token module 200. By doing so, the validity of the calculation processing result is verified.

PSIGN201pの欄には、監査プログラム120f自体の電子署名が格納されている。このPSIGN201pは、例えば、改ざん防止プログラムの作成ベンダーが、前述したPID201b(プログラムID)、またはプログラムモジュールやソースコードのデータなどをMAC処理し、改ざん防止プログラムの作成ベンダーの電子署名の非公開鍵であるKEVA201kで暗号化することによって、プログラム作成ベンダーによる電子署名が施されたものである。これにより、このPSIGN201pの、監査プログラム120f自体の電子署名を、直接比較し、または、プログラム作成ベンダーの電子署名の公開鍵によって復号化することで、当該監査プログラム120fがプログラム作成ベンダーによって作成され、改ざんされていないことが検証可能となる。   The column of PSIGN 201p stores the electronic signature of the audit program 120f itself. In this PSIGN 201p, for example, a falsification prevention program creation vendor performs MAC processing on the above-described PID 201b (program ID), data of a program module or source code, and the like. The digital signature is given by a program creation vendor by encrypting with a certain KEVA 201k. As a result, the electronic signature of the audit program 120f itself of the PSIGN 201p is directly compared or decrypted with the public key of the electronic signature of the program creation vendor, so that the audit program 120f is created by the program creation vendor, It is possible to verify that no tampering has occurred.

このPSIGN201pの監査プログラム120f自体の電子署名について説明すると、まず、監査プログラム120fを作成したプログラム作成ベンダーにおいて、監査プログラム120fに関するデータである、例えば、PID201bや監査プログラム120fのプログラムモジュールやソースコードなどに対して予め用意した特定のハッシュ関数を用いてハッシュ値を算出する。算出されたハッシュ値が、監査プログラム120f自体のMACとなる。ここで、ハッシュ値の算出については、DSIGN201mの演算処理結果に対する電子署名と同様に算出されるので、説明を省略する。   The electronic signature of the audit program 120f of the PSIGN 201p itself will be described. First, in the program creation vendor that created the audit program 120f, the data related to the audit program 120f, for example, the program module or source code of the PID 201b or the audit program 120f On the other hand, a hash value is calculated using a specific hash function prepared in advance. The calculated hash value becomes the MAC of the audit program 120f itself. Here, since the calculation of the hash value is performed in the same manner as the digital signature for the operation processing result of DSIGN 201m, description thereof is omitted.

なお、本実施の形態では、監査プログラム120f自体のMACとして、PID201bや監査プログラム120fのプログラムモジュールやソースコードなどのハッシュ値を用いるが、これに限らず、ハッシュ値の算出を行わずに、算出されたハッシュ値に代えて、PID201bをそのままMACとして用いてもよい。   In this embodiment, hash values such as the program modules and source codes of the PID 201b and the audit program 120f are used as the MAC of the audit program 120f itself. However, the present invention is not limited to this, and the calculation is performed without calculating the hash value. The PID 201b may be used as the MAC as it is instead of the hash value.

次に、算出されたハッシュ値(またはPID201b)であるMACに、作成ベンダーの電子署名の非公開鍵(KEVA201k)が施されて、監査プログラム120f自体の電子署名であるPSIGN201pが生成される。   Next, the private key (KEVA 201k) of the creation vendor's electronic signature is applied to the MAC that is the calculated hash value (or PID 201b), and PSIGN 201p that is the electronic signature of the audit program 120f itself is generated.

生成されたPSIGN201pの電子署名は、予め検証者によって、耐タンパ機能によりセキュアなトークンモジュール200に格納されており、タイムスタンプ201の一部を構成する。   The generated electronic signature of PSIGN 201p is stored in advance in a secure token module 200 by a verifier by a tamper-proof function, and constitutes a part of the time stamp 201.

このPSIGN201pの監査プログラム120f自体の電子署名により、改ざん防止プログラム110は、監査プログラム120f自体の正当性を検証することができる。また、このPSIGN201pの監査プログラム120f自体の電子署名により、検証者は、監査プログラム120f自体の正当性を検証することができる。   The tampering prevention program 110 can verify the legitimacy of the audit program 120f itself by the electronic signature of the audit program 120f itself of the PSIGN 201p. Further, the verifier can verify the validity of the audit program 120f itself by the electronic signature of the audit program 120f itself of the PSIGN 201p.

なお、本実施の形態では、このPSIGN201pの監査プログラム120f自体の電子署名を作成ベンダーが生成し、検証者がトークンモジュール200に格納するが、これに限らず、改ざん防止プログラム110が、監査プログラム120fの実行の都度、別に監査プログラム120f自体の電子署名を生成して、トークンモジュール200に格納してもよい。   In the present embodiment, the creation vendor generates an electronic signature of the PSIGN 201p audit program 120f itself, and the verifier stores it in the token module 200. However, the present invention is not limited to this. Each time, the electronic signature of the audit program 120f itself may be generated and stored in the token module 200.

この場合、まず、改ざん防止プログラム110によって、監査プログラム120fに関するデータである、例えば、PID201b、監査プログラム120fのプログラムモジュールやソースコードなどに対して予め用意した特定のハッシュ関数を用いてハッシュ値が算出される。なお、これに限らず、ハッシュ値の算出を行わず、算出されたハッシュ値に代えて、PID201bをそのまま用いてもよい。   In this case, first, the hash value is calculated by the falsification preventing program 110 using a specific hash function prepared in advance for the data related to the audit program 120f, for example, the program module or source code of the PID 201b and the audit program 120f. Is done. However, the present invention is not limited thereto, and the hash value may not be calculated, and the PID 201b may be used as it is instead of the calculated hash value.

そして、改ざん防止プログラム110によって、算出されたハッシュ値(またはPID201b)に、作成ベンダーの電子署名の非公開鍵(KEVA201k)が施されて、PSIGN201pの電子署名とは別に、監査プログラム120f自体の電子署名が生成される。新たに生成された監査プログラム120f自体の電子署名は、改ざん防止プログラム110によって、タイムスタンプ201の一部として、耐タンパ機能によりセキュアなトークンモジュール200に格納される。   Then, the private key (KEVA 201k) of the creation vendor's electronic signature is applied to the calculated hash value (or PID 201b) by the falsification prevention program 110, and the electronic program of the audit program 120f itself is separate from the electronic signature of the PSIGN 201p. A signature is generated. The newly generated electronic signature of the audit program 120f itself is stored in the secure token module 200 by the tamper resistant function as a part of the time stamp 201 by the falsification preventing program 110.

このPSIGN201pの電子署名とは別の、改ざん防止プログラム110によって生成された監査プログラム120f自体の電子署名により、検証者は、実際に演算処理に用いられた監査プログラム120fの正当性を検証することができる。   The verifier can verify the legitimacy of the audit program 120f actually used for the arithmetic processing by the electronic signature of the audit program 120f itself generated by the falsification prevention program 110, which is different from the electronic signature of the PSIGN 201p. it can.

なお、前述した案件番号201a、PID201b、UID201c、TIME201d、DIx201e、DMx201f、DOx201g、KU201h、KEVA201k、DSIGN201m、およびPSIGN201pの各情報は、トークンモジュール200においては、トークンモジュール200の耐タンパ機能により、不正なアクセスから保護される。   It should be noted that the information on the case number 201a, PID 201b, UID 201c, TIME 201d, DIx 201e, DMx 201f, DOx 201g, KU 201h, KEVA 201k, DSIGN 201m, and PSIGN 201p is invalid in the token module 200 due to the tamper resistant function of the token module 200. Protected from access.

前述したように、監査プログラム120fによる演算が終了してタイムスタンプ出力部110hで生成されたタイムスタンプ200hは、トークンモジュール200に格納される。また、監査プログラム120fによる演算の完了時に、タイムスタンプ200hのうちの一部であるTIME201d(生成時刻)、DIx201e(入力データ)、DOx201g(出力データ)、DSIGN201m(演算処理結果に対する電子署名)が、監査用コンピュータ100に接続されたプリンタ153から出力される。   As described above, the time stamp 200h generated by the time stamp output unit 110h after the calculation by the audit program 120f is completed is stored in the token module 200. When the calculation by the audit program 120f is completed, TIME 201d (generation time), DIx 201e (input data), DOx 201g (output data), and DSIGN 201m (electronic signature for the calculation processing result), which are part of the time stamp 200h, The data is output from the printer 153 connected to the auditing computer 100.

監査プログラム120fの演算結果の検証を受ける、改ざん防止プログラムのユーザは、プリンタ153から出力されたこれらのデータのプリントアウト、およびさらに演算時に監査用コンピュータ100に接続されていたトークンモジュール200を構造計算書に添付して提出する。これを受理した検証者は、構造計算書に添付されていたプリントアウトに出力されたタイムスタンプ200hのうちの一部であるTIME201d、DIx201e、DOx201g、DSIGN201mと、トークンモジュール200に格納されているタイムスタンプ200hの該当項目を比較し一致すれば、当該演算結果は正当なものであると認められる一方、比較して一致しなければ、当該演算結果は正当なものであると認められず、不正が行われた可能性があることになる。   The user of the falsification prevention program receiving verification of the calculation result of the audit program 120f prints out these data output from the printer 153, and further calculates the structure of the token module 200 connected to the audit computer 100 at the time of calculation. Attached to the document. The verifier who has received this information includes the TIME 201d, DIx 201e, DOx 201g, and SIGN 201m, which are part of the time stamp 200h output on the printout attached to the structural calculation, and the time stored in the token module 200. If the corresponding items in the stamp 200h are compared and matched, the calculation result is recognized as valid. On the other hand, if the comparison results do not match, the calculation result is not verified as valid and fraud It may have been done.

なお、本実施の形態では、MAC処理を実行した後に、公開鍵方式を用いた電子署名を施しているが、これに限らず、AES(Advanced Encryption Standard)を用いたAES−MAC処理などの共通鍵方式を用いて監査プログラム120fの演算処理結果の正当性を検証してもよい。この場合、予めトークンモジュール200に格納された共通鍵が用いられる。   In this embodiment, after executing the MAC process, an electronic signature using a public key method is applied. However, the present invention is not limited to this, and common to AES-MAC processes using AES (Advanced Encryption Standard) and the like. The validity of the calculation processing result of the audit program 120f may be verified using a key method. In this case, a common key stored in the token module 200 in advance is used.

具体的には、まず、監査用コンピュータ100によって、監査プログラム120fの演算処理結果に関するデータが、共通鍵で暗号化されてMACが生成される。生成されたMACはトークンモジュール200に格納される。次に、検証用コンピュータ400によって、トークンモジュール200に格納されている監査プログラム120fの演算処理結果に関するデータが、共通鍵で暗号化されてMACが生成される。そして、検証用コンピュータ400によって、監査用コンピュータ100で生成されたMACと、検証用コンピュータ400で生成されたMACとを比較することでメッセージ認証が行われる。   Specifically, first, the audit computer 100 encrypts data related to the operation processing result of the audit program 120f with a common key to generate a MAC. The generated MAC is stored in the token module 200. Next, the verification computer 400 encrypts the data related to the operation processing result of the audit program 120f stored in the token module 200 with the common key to generate the MAC. Then, the verification computer 400 performs message authentication by comparing the MAC generated by the auditing computer 100 with the MAC generated by the verification computer 400.

次に、改ざん防止処理の全体の手順を説明する。
図5および図6は、改ざん防止処理の手順を示すフローチャートである。以下、図5および図6に示す処理をステップ番号に沿って説明する。
Next, the entire procedure of the tampering prevention process will be described.
5 and 6 are flowcharts showing the procedure of the tampering prevention process. In the following, the process illustrated in FIGS. 5 and 6 will be described in order of step number.

監査プログラム120fの処理結果を検証する検証者は、申請を行う監査用コンピュータ100のユーザに対して、監査プログラム120fが格納されたトークンモジュール200を提供する。   The verifier who verifies the processing result of the audit program 120f provides the token module 200 in which the audit program 120f is stored to the user of the auditing computer 100 who makes an application.

監査用コンピュータ100のユーザは、申請ごとにそれらを受け取り、監査用コンピュータ100によって、改ざん防止プログラム110および監査プログラム120fによる演算処理を実行する。   The user of the auditing computer 100 receives them for each application, and the auditing computer 100 executes arithmetic processing by the falsification preventing program 110 and the auditing program 120f.

ここで、検証者は、認証情報200aと、利用対象となる監査プログラム120fの電子署名を事前にトークンモジュール200に格納しておく。これにより、トークンモジュール200に対する不正アクセスを防止する。認証情報200aは、例えば、改ざん防止プログラム110の開発者、検証者などにより、ユーザや外部の者に知られないように決めておく必要がある。本実施の形態では、認証情報200aは、検証用コンピュータ400により、検証用コンピュータ400が表示する認証情報入力画面401(図9参照)で、予めトークンモジュール200に格納される。   Here, the verifier stores the authentication information 200a and the electronic signature of the audit program 120f to be used in the token module 200 in advance. Thereby, unauthorized access to the token module 200 is prevented. The authentication information 200a needs to be determined so as not to be known to a user or an external person by, for example, a developer or verifier of the falsification prevention program 110. In the present embodiment, the authentication information 200a is stored in the token module 200 in advance by the verification computer 400 on the authentication information input screen 401 (see FIG. 9) displayed by the verification computer 400.

本実施の形態では、トークンモジュール200が監査用コンピュータ100に接続されると、監査用コンピュータ100は、改ざん防止処理を自動的に開始する。
[ステップS11] 認証情報受付部110aは、トークンモジュール200に格納されている認証情報200aを取得する。この認証情報200aは、トークンモジュール200を識別すると共に、トークンモジュール200の正当性を担保するために、各トークンモジュール200に固有に割り当てられた情報である。監査用コンピュータ100は、この認証情報200aの正当性が確認されて始めて、監査プログラム120fの利用が許可されることになる。
In the present embodiment, when the token module 200 is connected to the auditing computer 100, the auditing computer 100 automatically starts a falsification preventing process.
[Step S11] The authentication information receiving unit 110a acquires the authentication information 200a stored in the token module 200. The authentication information 200a is information uniquely assigned to each token module 200 in order to identify the token module 200 and to ensure the validity of the token module 200. The audit computer 100 is permitted to use the audit program 120f only after the validity of the authentication information 200a is confirmed.

[ステップS12] 認証情報受付部110aは、ステップS11で取得した認証情報200aによって、トークンモジュール200が正当なものであるか否かを判断する。認証情報受付部110aは、トークンモジュール200が正当なものであると認証できれば、ステップS13に処理を進める一方、トークンモジュール200が正当なものであると認証できなければ、処理を終了する。   [Step S12] The authentication information receiving unit 110a determines whether or not the token module 200 is valid based on the authentication information 200a acquired in step S11. If the authentication information receiving unit 110a can authenticate that the token module 200 is valid, the authentication information reception unit 110a proceeds to step S13.

[ステップS13] 監査プログラム格納部120は、トークンモジュール200から圧縮された監査プログラム200fを読み出し、監査用コンピュータ100によって実行できる監査プログラム120fに展開する。   [Step S <b> 13] The audit program storage unit 120 reads the compressed audit program 200 f from the token module 200 and expands it into an audit program 120 f that can be executed by the auditing computer 100.

[ステップS14] プログラム確認部110cは、ステップS13で展開された監査プログラム120fから監査プログラム120fの電子署名を作成する。
[ステップS15] プログラム署名受付部110bは、トークンモジュール200に予め格納されている監査プログラム120fの署名情報であるプログラム署名情報200bを読み出す。
[Step S14] The program confirmation unit 110c creates an electronic signature of the audit program 120f from the audit program 120f expanded in step S13.
[Step S15] The program signature receiving unit 110b reads program signature information 200b, which is signature information of the audit program 120f stored in the token module 200 in advance.

[ステップS16] プログラム確認部110cは、ステップS14において作成された監査プログラム120fの電子署名と、ステップS15において読み出されたプログラム署名情報200bとを比較して、一致するか否かを判断する。プログラム確認部110cは、電子署名とプログラム署名情報200bとが一致すれば、ステップS17に処理を進める一方、一致しなければ、処理を終了する。   [Step S16] The program confirmation unit 110c compares the electronic signature of the audit program 120f created in step S14 with the program signature information 200b read in step S15, and determines whether or not they match. If the electronic signature and the program signature information 200b match, the program confirmation unit 110c advances the process to step S17. If not matched, the program confirmation unit 110c ends the process.

[ステップS17] 入力データ受付部110dは、モニタ140に入力データ300の入力を行うためのデータ入力画面142(図10参照)を表示し、改ざん防止プログラム110のユーザに対し、入力データ300の入力を要求する。   [Step S17] The input data receiving unit 110d displays a data input screen 142 (see FIG. 10) for inputting the input data 300 on the monitor 140, and inputs the input data 300 to the user of the falsification preventing program 110. Request.

[ステップS18] 入力データ受付部110dは、キーボード151などの入力装置により改ざん防止プログラム110のユーザによって入力された入力データ300を受け付け、ステップS21(図6)に処理を進める。   [Step S18] The input data receiving unit 110d receives the input data 300 input by the user of the falsification preventing program 110 using an input device such as the keyboard 151, and advances the processing to step S21 (FIG. 6).

[ステップS21] 監査プログラム実行部110eは、監査プログラム実行処理を実行する。この監査プログラム実行処理は、監査プログラム格納部120に格納されている監査プログラム120fを実行する処理であり、詳しくは図7において後述する。   [Step S21] The audit program execution unit 110e executes an audit program execution process. This audit program execution process is a process for executing the audit program 120f stored in the audit program storage unit 120, and will be described in detail later with reference to FIG.

[ステップS22] 監査プログラム実行部110eは、ステップS21における監査プログラム120fの実行の結果取得した出力データが、例えば、構造計算プログラムであれば強度が十分であるなどの、期待した条件を満たしているか否かを判断する。監査プログラム実行部110eは、出力データが、条件を満たしていれば、ステップS23に処理を進める一方、条件を満たしていなければ、処理を終了する。   [Step S22] Whether the output data acquired as a result of the execution of the audit program 120f in step S21 satisfies an expected condition such as sufficient strength if the output data is a structural calculation program, for example. Judge whether or not. The audit program execution unit 110e advances the process to step S23 if the output data satisfies the condition, and ends the process if the condition does not satisfy the condition.

[ステップS23] 入力データ受付部110dは、ユーザによって入力された入力データ300を、トークンモジュール200に送信し、送信した入力データ300を、入力データ200dとしてトークンモジュール200に格納する。   [Step S23] The input data receiving unit 110d transmits the input data 300 input by the user to the token module 200, and stores the transmitted input data 300 in the token module 200 as the input data 200d.

[ステップS24] 出力データ送信部110gは、監査プログラム120fの演算処理によって取得された出力データをトークンモジュール200に送信し、送信した出力データを、トークンモジュール200に、出力データ200gとして格納する。   [Step S24] The output data transmission unit 110g transmits the output data acquired by the arithmetic processing of the audit program 120f to the token module 200, and stores the transmitted output data in the token module 200 as the output data 200g.

[ステップS25] タイムスタンプ出力部110hは、タイムスタンプ200hを作成する。
具体的には、改ざん防止プログラム110は、監査プログラム120fの演算に関するデータである、例えば、案件番号201a、PID201b、UID201c、TIME201d、DIx201e、DOx201gなどを連結して1つのメッセージ・データとする。次に、改ざん防止プログラム110は、メッセージ・データに対して予め用意した特定のハッシュ関数を用いてハッシュ値を算出する。次に、改ざん防止プログラム110は、この算出したハッシュ値に、ユーザの電子署名の非公開鍵であるKU201hを施して、演算処理結果に対する電子署名であるDSIGN201mを生成する。
[Step S25] The time stamp output unit 110h creates a time stamp 200h.
Specifically, the falsification prevention program 110 concatenates, for example, the case number 201a, PID 201b, UID 201c, TIME 201d, DIX 201e, DOx 201g, etc., which are data related to the calculation of the audit program 120f, into one message data. Next, the falsification preventing program 110 calculates a hash value using a specific hash function prepared in advance for the message data. Next, the falsification preventing program 110 applies KU 201h, which is the private key of the user's electronic signature, to the calculated hash value, and generates DSIGN 201m, which is the electronic signature for the operation processing result.

そして、改ざん防止プログラム110は、生成された電子署名であるDSIGN201mなどを含めてタイムスタンプ201(図4参照)を生成する。
[ステップS26] タイムスタンプ出力部110hは、ステップS25において作成したタイムスタンプ201を、トークンモジュール200に送信し、送信したタイムスタンプ201をトークンモジュール200に、タイムスタンプ200hとして格納する。
Then, the falsification preventing program 110 generates the time stamp 201 (see FIG. 4) including the generated digital signature DSIGN 201m.
[Step S26] The time stamp output unit 110h transmits the time stamp 201 created in step S25 to the token module 200, and stores the transmitted time stamp 201 in the token module 200 as the time stamp 200h.

[ステップS27] タイムスタンプ出力部110hは、ステップS21によって取得された出力データ200gおよびステップS25において作成したタイムスタンプ200hの所定の一部をプリンタ153に出力し、出力データ200gおよびタイムスタンプ200h所定の一部をプリントアウトする。   [Step S27] The time stamp output unit 110h outputs the output data 200g acquired in step S21 and a predetermined part of the time stamp 200h created in step S25 to the printer 153, and the output data 200g and the time stamp 200h are predetermined. Print out a part.

このような改ざん防止処理によって、監査プログラム120fの演算結果の正当性が担保され、演算結果の改ざんが防止できる。
次に、改ざん防止処理(図5および図6)のステップS21で実行される監査プログラム実行処理について詳細に説明する。
By such falsification prevention processing, the correctness of the calculation result of the audit program 120f is ensured, and the falsification of the calculation result can be prevented.
Next, the audit program execution process executed in step S21 of the falsification prevention process (FIGS. 5 and 6) will be described in detail.

図7は、監査プログラム実行処理の手順を示すフローチャートである。以下、図7に示す処理をステップ番号に沿って説明する。
[ステップS31] 監査プログラム実行部110eは、監査プログラム格納部120に格納されている監査プログラム120fを起動する。
FIG. 7 is a flowchart showing the procedure of the audit program execution process. In the following, the process illustrated in FIG. 7 will be described in order of step number.
[Step S31] The audit program execution unit 110e activates the audit program 120f stored in the audit program storage unit 120.

[ステップS32] 監査プログラム実行部110eは、入力データ300を監査プログラム120fに入力して、演算を実行する。
[ステップS33] 監査プログラム実行部110eは、ステップS32において算出された監査プログラム120fの演算結果を取得し、出力データ200gとする。
[Step S32] The audit program execution unit 110e inputs the input data 300 to the audit program 120f and executes the calculation.
[Step S33] The audit program execution unit 110e acquires the operation result of the audit program 120f calculated in step S32, and sets it as output data 200g.

このような監査プログラム実行処理によって、監査プログラム120fによる演算が行われ、監査プログラム120fの演算結果が取得される。
監査用コンピュータ100のユーザは、この改ざん防止処理を行って取得したプリンタ153による出力結果、および取得したデータが格納されたトークンモジュール200を検証者に提出する。
By such an audit program execution process, the calculation by the audit program 120f is performed, and the calculation result of the audit program 120f is acquired.
The user of the auditing computer 100 submits to the verifier the token module 200 storing the output result obtained by the printer 153 obtained by performing the falsification preventing process and the obtained data.

次に、検証用コンピュータ400で実行される検証処理について詳細に説明する。
図8は、検証処理の手順を示すフローチャートである。この検証処理は、改ざん防止処理(図5および図6)および監査プログラム実行処理(図7)によって取得された監査プログラム120fの演算結果を検証するために、検証用コンピュータ400で演算結果を表示する処理である。本実施の形態では、トークンモジュール200が検証用コンピュータ400に接続されると、検証用コンピュータ400は、検査処理を自動的に開始する。以下、図8に示す処理をステップ番号に沿って説明する。
Next, the verification process executed by the verification computer 400 will be described in detail.
FIG. 8 is a flowchart showing the procedure of the verification process. In this verification process, the verification computer 400 displays the calculation result in order to verify the calculation result of the audit program 120f acquired by the falsification prevention process (FIGS. 5 and 6) and the audit program execution process (FIG. 7). It is processing. In the present embodiment, when the token module 200 is connected to the verification computer 400, the verification computer 400 automatically starts an inspection process. In the following, the process illustrated in FIG. 8 will be described in order of step number.

[ステップS41] 検証用コンピュータ400は、トークンモジュール200に格納されている認証情報200aを取得する。
[ステップS42] 検証用コンピュータ400は、ステップS41で取得した認証情報200aによってトークンモジュール200が正当なものであるか否かを判断する。検証用コンピュータ400は、トークンモジュール200が正当なものであると認証できれば、ステップS43に処理を進める一方、トークンモジュール200が正当なものであると認証できなければ、処理を終了する。
[Step S41] The verification computer 400 acquires the authentication information 200a stored in the token module 200.
[Step S42] The verification computer 400 determines whether or not the token module 200 is valid based on the authentication information 200a acquired in step S41. If the verification computer 400 can authenticate that the token module 200 is valid, the verification computer 400 proceeds to step S43. On the other hand, if the verification module 400 cannot authenticate that the token module 200 is valid, the processing ends.

[ステップS43] 検証用コンピュータ400は、検証者による表示要求の入力を受け付けると共に、検証者によってタイムスタンプの表示要求が行われているか否かを判断する。検証用コンピュータ400は、タイムスタンプの表示要求が行われていれば、ステップS44に処理を進める一方、タイムスタンプの表示要求が行われていなければ、ステップS45に処理を進める。   [Step S43] The verification computer 400 receives an input of a display request from the verifier and determines whether or not a time stamp display request is made by the verifier. If the time stamp display request has been made, the verification computer 400 proceeds to step S44. If the time stamp display request has not been made, the verification computer 400 proceeds to step S45.

[ステップS44] 検証用コンピュータ400は、ステップS43における検証者によるタイムスタンプの表示要求に応じて、検証用コンピュータ400の表示画面(図示省略)にタイムスタンプ表示画面403(図11参照)を表示し、表示終了操作でステップS49に進む。   [Step S44] The verification computer 400 displays the time stamp display screen 403 (see FIG. 11) on the display screen (not shown) of the verification computer 400 in response to the time stamp display request from the verifier in step S43. Then, the process proceeds to step S49 by the display end operation.

[ステップS45] 検証用コンピュータ400は、検証者による表示要求の入力を受け付けると共に、検証者によって入力データ200dの表示要求が行われているか否かを判断する。検証用コンピュータ400は、入力データ200dの表示要求が行われていれば、ステップS46に処理を進める一方、入力データ200dの表示要求が行われていなければ、ステップS47に処理を進める。   [Step S45] The verification computer 400 receives an input of a display request from the verifier and determines whether or not a display request for the input data 200d is made by the verifier. If the display request for the input data 200d has been made, the verification computer 400 proceeds to step S46. If the display request for the input data 200d has not been made, the verification computer 400 proceeds to step S47.

[ステップS46] 検証用コンピュータ400は、ステップS45における検証者による入力データ200dの表示要求に応じて、検証用コンピュータ400の表示画面(図示省略)に入力データ表示画面404(図12参照)を表示し、表示終了操作でステップS49に進む。   [Step S46] The verification computer 400 displays the input data display screen 404 (see FIG. 12) on the display screen (not shown) of the verification computer 400 in response to the display request of the input data 200d by the verifier in step S45. And it progresses to step S49 by display end operation.

[ステップS47] 検証用コンピュータ400は、検証者による表示要求の入力を受け付けると共に、検証者によって出力データ200gの表示要求が行われているか否かを判断する。検証用コンピュータ400は、出力データ200gの表示要求が行われていれば、ステップS48に処理を進める一方、出力データ200gの表示要求が行われていなければ、ステップS49に処理を進める。   [Step S47] The verification computer 400 receives an input of a display request from the verifier and determines whether or not a display request for the output data 200g is made by the verifier. If the display request for the output data 200g has been made, the verification computer 400 proceeds to step S48, whereas if the display request for the output data 200g has not been made, the verification computer 400 proceeds to step S49.

[ステップS48] 検証用コンピュータ400は、ステップS47における検証者による出力データ200gの表示要求に応じて、検証用コンピュータ400の表示画面(図示省略)に出力データ表示画面405(図13参照)を表示し、表示終了操作でステップS49に進む。   [Step S48] The verification computer 400 displays the output data display screen 405 (see FIG. 13) on the display screen (not shown) of the verification computer 400 in response to the display request of the output data 200g by the verifier in step S47. And it progresses to step S49 by display end operation.

[ステップS49] 検証用コンピュータ400は、検証者による各表示画面の表示を続行するか否かの入力を受け付けると共に、この入力に基づいて検証処理を続行するか否かを判断する。検証用コンピュータ400は、検証処理を続行する場合には、ステップS43に処理を進める一方、検証処理を終了する場合には、処理を終了する。   [Step S49] The verification computer 400 receives an input as to whether or not to continue displaying each display screen by the verifier, and determines whether or not to continue the verification process based on this input. The verification computer 400 proceeds to step S43 when continuing the verification process, and ends the process when ending the verification process.

このような検証処理によって、検証用コンピュータ400により、監査用コンピュータ100で実行された監査プログラム120fによる入力データ、出力データ、タイムスタンプが表示される。これにより、検証用コンピュータ400に表示される入力データ、出力データ、タイムスタンプなどの情報を確認して、または検証用コンピュータ400に表示される各情報と、検証者に提出された構造計算書の記載事項や添付されたプリントアウトの内容と照らし合わせて、監査プログラム120fの演算結果の正当性の検証を行うことができる。   By such verification processing, the verification computer 400 displays the input data, output data, and time stamp by the audit program 120f executed by the auditing computer 100. Thus, information such as input data, output data, and time stamp displayed on the verification computer 400 is confirmed, or each information displayed on the verification computer 400 and the structural calculation document submitted to the verifier are displayed. The validity of the calculation result of the audit program 120f can be verified against the description items and the contents of the attached printout.

次に、監査用コンピュータ100および検証用コンピュータ400に表示される画面の例を示す。
図9は、検証用コンピュータに表示された認証情報入力画面の例を示す図である。監査用コンピュータ100に接続されるトークンモジュール200に対して予めトークンモジュール200を識別可能な認証情報200aを格納するために、検証者が検証用コンピュータ400に認証情報200aを入力するとき、検証用コンピュータ400の図示しないモニタには、図のような認証情報入力画面401が表示される。
Next, examples of screens displayed on the audit computer 100 and the verification computer 400 are shown.
FIG. 9 is a diagram illustrating an example of an authentication information input screen displayed on the verification computer. When the verifier inputs the authentication information 200a to the verification computer 400 in order to store the authentication information 200a that can identify the token module 200 in advance for the token module 200 connected to the auditing computer 100, the verification computer An authentication information input screen 401 as shown in the figure is displayed on a monitor 400 (not shown).

認証情報入力画面401には、トークンモジュール200に格納される認証情報200aを入力するための認証情報入力欄401aが設けられる。認証情報入力欄401aによって、検証者は、認証情報200aを入力する。入力された認証情報200aは、格納されているトークンモジュール200を認証可能にする。   The authentication information input screen 401 is provided with an authentication information input field 401 a for inputting authentication information 200 a stored in the token module 200. The verifier inputs the authentication information 200a through the authentication information input field 401a. The input authentication information 200a enables the stored token module 200 to be authenticated.

また、認証情報入力画面401には、認証情報200aの入力が完了した後に、認証情報入力画面401を終了すると共に、認証情報200aをトークンモジュール200に格納する処理を開始するための認証情報入力確定ボタン401bが設けられる。認証情報入力確定ボタン401bによって、検証者は、認証情報200aの入力内容を確定させる。認証情報200aは、検証用コンピュータ400によって、トークンモジュール200に格納される。   On the authentication information input screen 401, after the input of the authentication information 200a is completed, the authentication information input screen 401 is terminated and the authentication information input confirmation for starting the process of storing the authentication information 200a in the token module 200 is confirmed. A button 401b is provided. The verifier verifies the input contents of the authentication information 200a by the authentication information input confirmation button 401b. The authentication information 200a is stored in the token module 200 by the verification computer 400.

トークンモジュール200に格納された認証情報200aは、トークンモジュール200の耐タンパ機能により、不正な読み書きや改ざんから保護される。
図10は、監査用コンピュータに表示されたデータ入力画面の例を示す図である。改ざん防止プログラム110のユーザが、監査プログラム120fによって演算処理される入力データ300を監査用コンピュータ100に入力するとき、監査用コンピュータ100に接続されているモニタ140には、図のようなデータ入力画面142が表示される。
The authentication information 200 a stored in the token module 200 is protected from unauthorized reading / writing and tampering by the tamper resistance function of the token module 200.
FIG. 10 is a diagram illustrating an example of a data input screen displayed on the audit computer. When the user of the falsification preventing program 110 inputs the input data 300 to be processed by the audit program 120f to the audit computer 100, the monitor 140 connected to the audit computer 100 has a data input screen as shown in the figure. 142 is displayed.

データ入力画面142には、監査プログラム120fによって演算処理される入力データ300を入力するためのデータ入力部142aが設けられる。データ入力部142aによって、改ざん防止プログラム110のユーザは、入力データ300を入力する。入力された入力データ300は、監査プログラム120fに入力される。そして、監査プログラム120fによる演算処理の結果、出力データ200gが取得される。また、入力データ300は、トークンモジュール200に送信されて、入力データ200dとして格納される。   The data input screen 142 is provided with a data input unit 142a for inputting the input data 300 that is processed by the audit program 120f. The user of the falsification preventing program 110 inputs the input data 300 through the data input unit 142a. The input data 300 that has been input is input to the audit program 120f. Then, as a result of the arithmetic processing by the audit program 120f, output data 200g is acquired. The input data 300 is transmitted to the token module 200 and stored as input data 200d.

また、データ入力画面142には、入力データ300の入力が完了した後に、入力データ300を確定し、データ入力画面142を終了する入力データ確定ボタン142bが設けられる。入力データ確定ボタン142bによって、ユーザは、入力データ300の入力内容を確定させる。入力データ300は、監査用コンピュータ100によって、監査プログラム120fに入力されると共に、トークンモジュール200に格納される。   The data input screen 142 is provided with an input data confirmation button 142b for confirming the input data 300 after the input of the input data 300 is completed and ending the data input screen 142. With the input data confirmation button 142b, the user confirms the input content of the input data 300. The input data 300 is input to the audit program 120 f by the audit computer 100 and stored in the token module 200.

トークンモジュール200に格納された入力データ300は、認証情報200aと同様、トークンモジュール200の耐タンパ機能により、不正な読み書きや改ざんから保護される。   Like the authentication information 200a, the input data 300 stored in the token module 200 is protected from unauthorized reading / writing and tampering by the tamper resistance function of the token module 200.

図11は、検証用コンピュータに表示されたタイムスタンプ表示画面の例を示す図である。監査用コンピュータ100による演算の結果取得された出力データ200gの正当性を保証するタイムスタンプ200hについて、検証者が演算結果の検証のために検証用コンピュータ400に、トークンモジュール200に格納されているタイムスタンプ200hを表示させる表示要求を行ったとき、検証用コンピュータ400の図示しないモニタには、図のようなタイムスタンプ表示画面403が表示される。   FIG. 11 is a diagram illustrating an example of a time stamp display screen displayed on the verification computer. For the time stamp 200h that guarantees the validity of the output data 200g obtained as a result of the calculation by the auditing computer 100, the time stored in the token module 200 by the verifier in the verification computer 400 for verification of the calculation result. When a display request for displaying the stamp 200h is made, a time stamp display screen 403 as shown in the figure is displayed on a monitor (not shown) of the verification computer 400.

タイムスタンプ表示画面403には、トークンモジュール200に格納されているタイムスタンプ200hに含まれる時刻情報403aが表示される。
また、タイムスタンプ表示画面403には、検証者が時刻情報403aを確認した後に、タイムスタンプ表示画面403を終了するためのタイムスタンプ確認ボタン403bが設けられる。
The time stamp display screen 403 displays time information 403a included in the time stamp 200h stored in the token module 200.
Further, the time stamp display screen 403 is provided with a time stamp confirmation button 403b for ending the time stamp display screen 403 after the verifier confirms the time information 403a.

検証者は、この検証用コンピュータ400に表示されている時刻情報403aを確認し、さらに検証用コンピュータ400に表示されている時刻情報403aと、構造計算書に添付されている、監査用コンピュータ100に接続されているプリンタ153によって出力されたタイムスタンプ200hに含まれる時刻情報とを照らし合わせて、トークンモジュール200に格納されている監査プログラム120fの演算結果に関するデータの正当性を検証することができる。   The verifier checks the time information 403a displayed on the verification computer 400, and further checks the time information 403a displayed on the verification computer 400 and the auditing computer 100 attached to the structural calculation sheet. The validity of the data related to the operation result of the audit program 120f stored in the token module 200 can be verified by checking the time information included in the time stamp 200h output by the connected printer 153.

図12は、検証用コンピュータに表示された入力データ表示画面の例を示す図である。改ざん防止プログラム110のユーザによって入力された入力データ300の正当性を検証するために、検証者が、検証用コンピュータ400に、トークンモジュール200に格納されている入力データ200dを表示させる表示要求を行ったとき、検証用コンピュータ400の図示しないモニタには、図のような入力データ表示画面404が表示される。   FIG. 12 is a diagram illustrating an example of an input data display screen displayed on the verification computer. In order to verify the validity of the input data 300 input by the user of the falsification preventing program 110, the verifier makes a display request to display the input data 200d stored in the token module 200 on the verification computer 400. At this time, an input data display screen 404 as shown in the figure is displayed on a monitor (not shown) of the verification computer 400.

入力データ表示画面404には、トークンモジュール200に格納されている入力データ200dが表示される入力データ表示部404aが設けられる。
また、入力データ表示画面404には、検証者が入力データ200dを確認した後に、入力データ表示画面404を終了するための入力データ確認ボタン404bが設けられる。
The input data display screen 404 is provided with an input data display unit 404a for displaying the input data 200d stored in the token module 200.
The input data display screen 404 is provided with an input data confirmation button 404b for ending the input data display screen 404 after the verifier confirms the input data 200d.

検証者は、この検証用コンピュータ400に表示されている入力データ200dを確認し、さらに検証用コンピュータ400に表示されている入力データ200dと、構造計算書に添付されている、監査用コンピュータ100に接続されているプリンタ153によって出力された入力データ200dとを照らし合わせて、監査プログラム120fに入力された入力データ200dの正当性を検証することができる。   The verifier confirms the input data 200d displayed on the verification computer 400, and further inputs the input data 200d displayed on the verification computer 400 and the auditing computer 100 attached to the structural calculation sheet. The validity of the input data 200d input to the audit program 120f can be verified by checking the input data 200d output by the connected printer 153.

図13は、検証用コンピュータに表示された出力データ表示画面の例を示す図である。ユーザによって入力された入力データ300に基づいて、監査プログラム120fの演算処理によって出力された出力データ200gの正当性を検証するために、検証者が、検証用コンピュータ400に、トークンモジュール200に格納されている出力データ200gを表示させる表示要求を行ったとき、検証用コンピュータ400の図示しないモニタには、図のような出力データ表示画面405が表示される。   FIG. 13 is a diagram illustrating an example of an output data display screen displayed on the verification computer. In order to verify the validity of the output data 200g output by the arithmetic processing of the audit program 120f based on the input data 300 input by the user, the verifier is stored in the verification computer 400 in the token module 200. When a display request for displaying the output data 200g is made, an output data display screen 405 as shown in the figure is displayed on a monitor (not shown) of the verification computer 400.

出力データ表示画面405には、トークンモジュール200に格納されている出力データ200gが表示される出力データ表示部405aが設けられる。
また、出力データ表示画面405には、検証者が出力データ200gを確認した後に、出力データ表示画面405を終了するための出力データ確認ボタン405bが設けられる。
The output data display screen 405 is provided with an output data display unit 405a for displaying output data 200g stored in the token module 200.
The output data display screen 405 is provided with an output data confirmation button 405b for ending the output data display screen 405 after the verifier confirms the output data 200g.

検証者は、この検証用コンピュータ400に表示されている出力データ200gを確認し、さらに検証用コンピュータ400に表示されている出力データ200gと、構造計算書に添付されている、監査用コンピュータ100に接続されているプリンタ153によって出力された出力データ200gとを照らし合わせて、監査プログラム120fから取得された出力データ200gの正当性を検証することができる。   The verifier checks the output data 200g displayed on the verification computer 400, and further outputs the output data 200g displayed on the verification computer 400 and the auditing computer 100 attached to the structural calculation sheet. The validity of the output data 200g acquired from the audit program 120f can be verified by checking the output data 200g output by the connected printer 153.

以上のように、第1の実施の形態では、入力データ300に関する情報、出力データ200gに関する情報、認証情報200aに関する情報、プログラム署名情報200bに関する情報、および監査プログラム120fの実行によって算出された出力データ200gの算出時刻を示す情報(図4参照)に自動的に電子署名が施され、さらに、これが、耐タンパ機能を有するトークンモジュール200に格納される。そして電子署名が施された当該データは、検証用コンピュータ400で検証可能である。   As described above, in the first embodiment, information related to the input data 300, information related to the output data 200g, information related to the authentication information 200a, information related to the program signature information 200b, and output data calculated by executing the audit program 120f. An electronic signature is automatically applied to information indicating the calculation time of 200 g (see FIG. 4), and this is further stored in the token module 200 having a tamper resistant function. The data to which the electronic signature is applied can be verified by the verification computer 400.

これにより、演算処理の後に自動的に電子署名が施されるので、入力データおよび出力データから監査署名を再作成し、トークンモジュール200に予め格納されている監査署名とが照合可能になる。そのため、演算結果の捏造や、本来の入力データと異なる入力データに基づく出力データの付け替えを行うことが困難になる。また、入力データや出力データの改ざんを行っても、電子署名によって改ざんの発見が可能であるので、出力データに関するこれらの不正を防止することができる。また、トークンモジュール200の耐タンパ機能により、トークンモジュール200に格納されている演算結果の出力後の改ざんも困難になる。   As a result, an electronic signature is automatically applied after the arithmetic processing, so that an audit signature can be re-created from the input data and output data, and the audit signature stored in advance in the token module 200 can be verified. For this reason, it becomes difficult to produce the calculation result and to replace the output data based on the input data different from the original input data. In addition, even if the input data and output data are tampered with, it is possible to detect tampering with the electronic signature, and therefore it is possible to prevent these frauds related to the output data. Further, the tamper resistance function of the token module 200 makes it difficult to tamper with the operation results stored in the token module 200 after the output.

また、改ざん防止プログラム110自体に関する情報に電子署名が施されたものになることによってプログラム自体の正当性も担保されるので、監査プログラム120fは、認定を受けたプログラムであって、プログラムが改ざんされていない限り、正しいデータが入力されていれば、正しい出力データが得られることから、監査プログラム120fに対する電子署名によって、プログラムの改ざんによる不正も発見しやすくなると共に、このような不正を防止することができる。   Further, since the legitimacy of the program itself is ensured by providing the information related to the falsification prevention program 110 itself with an electronic signature, the audit program 120f is a certified program, and the program has been tampered with. Unless correct data is input, correct output data can be obtained. Therefore, it is easy to detect fraud due to alteration of the program by the electronic signature for the audit program 120f, and to prevent such fraud. Can do.

以上により、第1の実施の形態によれば、データの監査プログラム120fの演算結果の改ざんを防止することができる。
[第2の実施の形態]
次に、第2の実施の形態を、図面を参照して詳細に説明する。前述の第1の実施の形態との相違点を中心に説明し、同様の事項については説明を省略する。
As described above, according to the first embodiment, it is possible to prevent falsification of the calculation result of the data audit program 120f.
[Second Embodiment]
Next, a second embodiment will be described in detail with reference to the drawings. Differences from the first embodiment will be mainly described, and description of similar matters will be omitted.

第2の実施の形態の改ざん防止プログラムは、第1の実施の形態の改ざん防止プログラムと同様に、監査プログラムによる処理結果の改ざんを防止するものである。ここで、第2の実施の形態の改ざん防止プログラムは、第1の実施の形態のトークンモジュールに代えて、ネットワークに接続された監査用サーバを用いる点、ならびに監査用コンピュータ、検証用コンピュータ、および監査用サーバがネットワークで接続されている点が異なる。   The falsification preventing program according to the second embodiment prevents falsification of the processing result by the audit program, similarly to the falsification preventing program according to the first embodiment. Here, the tampering prevention program of the second embodiment uses an audit server connected to the network in place of the token module of the first embodiment, as well as an audit computer, a verification computer, and The difference is that audit servers are connected via a network.

第2の実施の形態では、申請を行う監査プログラムのユーザは、監査用コンピュータに接続されたプリンタから出力された演算結果を構造計算書に添付して監督官庁に提出し、監督官庁は、その演算結果と監査用サーバに格納されたデータとを検証用コンピュータを用いて比較することにより、演算結果の正当性を判断できる。なお、ネットワーク上のデータは暗号化される。   In the second embodiment, the user of the audit program that makes an application submits the calculation result output from the printer connected to the audit computer to the supervisory authority by attaching it to the structural calculation sheet. By comparing the calculation result and the data stored in the audit server using a verification computer, the validity of the calculation result can be determined. Note that data on the network is encrypted.

図14は、第2の実施の形態のシステム構成例を示す図である。第2の実施の形態に係るネットワークシステムでは、ネットワーク500を介して監査用コンピュータ100、検証用コンピュータ400、および監査用サーバ2200が接続されている。   FIG. 14 is a diagram illustrating a system configuration example according to the second embodiment. In the network system according to the second embodiment, an audit computer 100, a verification computer 400, and an audit server 2200 are connected via a network 500.

監査用コンピュータ100は、第1の実施の形態と同様に、改ざん防止プログラム110によって、監査プログラム120fによる処理結果の改ざんを防止するように機能するコンピュータである。   As in the first embodiment, the auditing computer 100 is a computer that functions to prevent falsification of processing results by the auditing program 120f by the falsification preventing program 110.

検証用コンピュータ400は、第1の実施の形態と同様に、検証者が、監査プログラム120fによる演算結果の正当性の検証を行うためのコンピュータである。
監査用サーバ2200は、監査用コンピュータ100で演算された監査プログラム120fによる演算結果および演算結果の正当性を検証するためのデータを格納するためのコンピュータである。監査用サーバ2200は、監査用コンピュータ100に送信するためのデータ、および監査用コンピュータ100から送信されたデータを格納可能である。監査用サーバ2200は、不正アクセス対策が採られており、内部に保持されているデータを、不正なアクセス(読み出しおよび書き込み)や改ざんから保護することができる。
As in the first embodiment, the verification computer 400 is a computer for the verifier to verify the validity of the calculation result by the audit program 120f.
The audit server 2200 is a computer for storing the calculation result by the audit program 120f calculated by the audit computer 100 and data for verifying the validity of the calculation result. The audit server 2200 can store data to be transmitted to the audit computer 100 and data transmitted from the audit computer 100. The audit server 2200 has taken countermeasures against unauthorized access, and can protect data held therein from unauthorized access (reading and writing) and tampering.

監査用サーバ2200は、ネットワーク500を介して接続された監査用コンピュータ100からの正当な要求に応じて、監査用コンピュータ100から送信されたデータを格納し、格納されているデータを監査用コンピュータ100に送信する。また、監査用サーバ2200は、ネットワーク500を介して接続された検証用コンピュータ400に、格納しているデータを検証用コンピュータ400に送信する。   The audit server 2200 stores data transmitted from the audit computer 100 in response to a legitimate request from the audit computer 100 connected via the network 500, and stores the stored data in the audit computer 100. Send to. Further, the audit server 2200 transmits the stored data to the verification computer 400 connected via the network 500 to the verification computer 400.

以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、監査用サーバ2200のハードウェア構成は省略したが、第1の実施の形態の図2において説明した監査用コンピュータ100と同様のハードウェア構成で実現することができる。   With the hardware configuration as described above, the processing functions of the present embodiment can be realized. Although the hardware configuration of the audit server 2200 is omitted, it can be realized with the same hardware configuration as the audit computer 100 described in FIG. 2 of the first embodiment.

ここで、監査用コンピュータ100と検証用コンピュータ400の間は、両コンピュータの通信インタフェース(図2の通信インタフェース107参照)によって、ネットワーク500を介して通信可能である。監査用コンピュータ100と監査用サーバ2200の間、および検証用コンピュータ400と監査用サーバ2200の間も同様である。   Here, the auditing computer 100 and the verification computer 400 can communicate with each other via the network 500 by the communication interface of both computers (see the communication interface 107 in FIG. 2). The same applies between the auditing computer 100 and the auditing server 2200 and between the verification computer 400 and the auditing server 2200.

次に、第2の実施の形態において、監査プログラム120fによる処理結果の改ざんを防止するために改ざん防止プログラム110が監査用コンピュータ100に実現させる機能について説明する。   Next, in the second embodiment, a function that the tampering prevention program 110 implements in the auditing computer 100 to prevent tampering of the processing result by the auditing program 120f will be described.

図15は、第2の実施の形態の監査用コンピュータの機能を示すブロック図である。監査用コンピュータ100は、第1の実施の形態と同様に、改ざん防止プログラム110により、認証情報受付部110a、プログラム署名受付部110b、プログラム確認部110c、入力データ受付部110d、監査プログラム実行部110e、出力データ送信部110g、およびタイムスタンプ出力部110hとして機能する。   FIG. 15 is a block diagram illustrating functions of the auditing computer according to the second embodiment. As in the first embodiment, the audit computer 100 uses the authentication information receiving unit 110a, the program signature receiving unit 110b, the program checking unit 110c, the input data receiving unit 110d, and the audit program executing unit 110e by the falsification preventing program 110. , Function as an output data transmission unit 110g and a time stamp output unit 110h.

認証情報受付部110aは、監査用サーバ2200に格納されており、監査用サーバ2200を認証するための認証情報2200aを監査用サーバ2200から取得する。この認証情報2200aは、監査用サーバ2200に、不正に書き換えることができないように格納されている情報である。なお、認証情報2200aは、第1の実施の形態と同様に、チャレンジ・レスポンス認証などのワンタイム・パスワードを用いて動的に変化させて、よりセキュアに構成してもよい。   The authentication information reception unit 110 a is stored in the audit server 2200 and acquires authentication information 2200 a for authenticating the audit server 2200 from the audit server 2200. This authentication information 2200a is information stored in the audit server 2200 so that it cannot be rewritten illegally. As in the first embodiment, the authentication information 2200a may be dynamically changed using a one-time password such as challenge / response authentication to be configured more securely.

プログラム署名受付部110bは、監査用サーバ2200に格納されており監査プログラム120fに関する情報に電子署名を施したプログラム署名情報2200bを受け付ける。   The program signature accepting unit 110b accepts program signature information 2200b that is stored in the audit server 2200 and has an electronic signature applied to information related to the audit program 120f.

プログラム確認部110cは、第1の実施の形態と同様に、プログラム署名情報2200bに基づいて、監査プログラム120fの正当性を確認する。監査プログラム120fの正当性の確認は、第1の実施の形態と同様に、改ざん防止処理(図5参照)のステップS15において、監査用サーバ2200から読み出されたプログラム署名情報2200bと、改ざん防止処理(図5参照)のステップS14において、監査プログラム120fに関する情報に対して、前述のプログラム署名情報2200bを作成するときに用いられた電子署名の署名鍵と同一の署名鍵を施して作成された監査プログラム120fの電子署名とを比較することによって行われる。   As in the first embodiment, the program confirmation unit 110c confirms the validity of the audit program 120f based on the program signature information 2200b. As in the first embodiment, the validity of the audit program 120f is confirmed by the program signature information 2200b read from the audit server 2200 in step S15 of the falsification prevention process (see FIG. 5) and falsification prevention. In step S14 of the process (see FIG. 5), the information related to the audit program 120f is created by applying the same signature key as the signature key of the electronic signature used when creating the above-mentioned program signature information 2200b. This is done by comparing the electronic signature of the audit program 120f.

そして、第1の実施の形態と同様に、この比較の結果、一致していれば、監査プログラム120fは正当性が認められる一方、一致しなければ、監査プログラム120fの正当性は認められず、不正が行われている可能性があることになる。ここで、「プログラム署名情報2200bを作成するときに用いられた署名鍵と同一の署名鍵」は、監査用サーバ2200に格納されており、第1の実施の形態と同様に、プログラム作成ベンダーの署名鍵(KEVA201K:図4参照)である。   As in the first embodiment, if the comparison results in a match, the audit program 120f is recognized as valid, whereas if it does not match, the audit program 120f is not verified as valid. There is a possibility of fraud. Here, the “signature key that is the same as the signature key used when creating the program signature information 2200b” is stored in the audit server 2200, and is similar to the first embodiment of the program creation vendor. This is a signature key (KEVA 201K: see FIG. 4).

なお、監査プログラム120fの正当性の確認は、監査用サーバ2200から読み出されたプログラム署名情報2200bを電子署名の公開鍵で復号化したものと、プログラム署名情報2200bを生成するときに用いたハッシュ関数と同一のハッシュ関数で求めた監査プログラム120fに関する情報とを比較することによって行ってもよい。   The validity of the audit program 120f is confirmed by decrypting the program signature information 2200b read from the audit server 2200 with the public key of the electronic signature and the hash used when generating the program signature information 2200b. You may carry out by comparing with the information regarding the audit program 120f calculated | required with the same hash function as the function.

入力データ受付部110dは、第1の実施の形態と同様に、監査プログラム120fによって処理される入力データ300の入力を受け付ける。そして、入力データ受付部110dは、受け付けた当該入力データ300を監査用サーバ2200に送信する。送信された入力データ300は、監査用サーバ2200において、入力データ2200dとして格納される。この監査用サーバ2200に格納された入力データ2200dは、後述する出力データ2200gおよびタイムスタンプ2200hと共に、第1の実施の形態と同様に、検証用コンピュータ400によって、監査プログラム120fの処理結果の改ざんがされていないことの検証に用いられる。   The input data receiving unit 110d receives an input of the input data 300 processed by the audit program 120f, as in the first embodiment. Then, the input data receiving unit 110d transmits the received input data 300 to the audit server 2200. The transmitted input data 300 is stored in the audit server 2200 as input data 2200d. The input data 2200d stored in the audit server 2200, together with output data 2200g and time stamp 2200h described later, are tampered with the processing result of the audit program 120f by the verification computer 400, as in the first embodiment. Used to verify that it has not been done.

ここで、前述したように、監査用サーバ2200は、不正アクセス対策が採られており、内部に保持されているデータを、不正なアクセス(読み出しおよび書き込み)や改ざんから保護する。   Here, as described above, the audit server 2200 has taken countermeasures against unauthorized access, and protects data held therein from unauthorized access (reading and writing) and tampering.

監査プログラム実行部110eは、第1の実施の形態と同様に、入力データ300に基づく監査プログラム120fの実行を監査用コンピュータ100に指示する。この監査プログラム120fは、監査プログラム格納部120に格納されている。   The audit program execution unit 110e instructs the audit computer 100 to execute the audit program 120f based on the input data 300, as in the first embodiment. The audit program 120f is stored in the audit program storage unit 120.

監査プログラム格納部120は、監査用コンピュータ100のユーザの指示により、監査用サーバ2200が監査用コンピュータ100に接続されると、第1の実施の形態と同様に、監査用サーバ2200に圧縮されて格納されている監査プログラム2200fを読み出して、読み出された監査プログラム2200fを監査プログラム格納部120自身に展開して監査プログラム120fとして、監査用コンピュータ100により実行可能に格納する。   When the audit server 2200 is connected to the audit computer 100 according to a user instruction of the audit computer 100, the audit program storage unit 120 is compressed into the audit server 2200 as in the first embodiment. The stored audit program 2200f is read, and the read audit program 2200f is expanded in the audit program storage unit 120 itself and stored as an audit program 120f so as to be executable by the auditing computer 100.

監査プログラム実行部110eは、第1の実施の形態と同様に、監査プログラム120fの実行を指示する。また、監査プログラム実行部110eは、監査プログラム120fの実行を指示する際には、監査プログラム格納部120に格納された監査プログラム120fを読み出して監査用コンピュータ100に実行させる。この監査プログラム実行部110eによる実行の指示に基づいて、監査用コンピュータ100は、監査プログラム120fによって、入力データ300に対して演算処理を行う。   The audit program execution unit 110e instructs the execution of the audit program 120f as in the first embodiment. Further, when instructing the execution of the audit program 120f, the audit program execution unit 110e reads the audit program 120f stored in the audit program storage unit 120 and causes the auditing computer 100 to execute it. Based on the execution instruction by the audit program execution unit 110e, the auditing computer 100 performs arithmetic processing on the input data 300 by the audit program 120f.

そして、監査プログラム実行部110eは、第1の実施の形態と同様に、入力データ300に基づく監査プログラム120fの演算結果を出力データとして取得する。この出力データは、改ざんがされていないことの検証の対象となるデータである。   And the audit program execution part 110e acquires the operation result of the audit program 120f based on the input data 300 as output data similarly to 1st Embodiment. This output data is data to be verified that it has not been tampered with.

出力データ送信部110gは、監査プログラム実行部110eによって取得された出力データを、監査用サーバ2200に送信する。送信された出力データは、監査用サーバ2200に、出力データ2200gとして格納される。   The output data transmission unit 110g transmits the output data acquired by the audit program execution unit 110e to the audit server 2200. The transmitted output data is stored in the audit server 2200 as output data 2200g.

タイムスタンプ出力部110hは、第1の実施の形態と同様に、入力データ300に関する情報、出力データ2200gに関する情報、認証情報2200aに関する情報、プログラム署名情報2200bに関する情報、および監査プログラム120fの実行によって算出された出力データ2200gの算出時刻を示す情報に電子署名を施すことによって、タイムスタンプを生成する。そして、タイムスタンプ出力部110hは、生成したタイムスタンプを、監査用サーバ2200に送信する。送信されたタイムスタンプは、監査用サーバ2200に、タイムスタンプ2200hとして格納される。また、タイムスタンプ出力部110hは、タイムスタンプ2200hをプリンタ153に出力可能である。   Similar to the first embodiment, the time stamp output unit 110h is calculated by executing the information related to the input data 300, the information related to the output data 2200g, the information related to the authentication information 2200a, the information related to the program signature information 2200b, and the audit program 120f. A time stamp is generated by applying an electronic signature to information indicating the calculation time of the output data 2200g. Then, the time stamp output unit 110h transmits the generated time stamp to the audit server 2200. The transmitted time stamp is stored in the audit server 2200 as a time stamp 2200h. In addition, the time stamp output unit 110 h can output the time stamp 2200 h to the printer 153.

検証用コンピュータ400は、検証者が、監査プログラム120fによる演算結果の正当性の検証を行うためのコンピュータである。検証用コンピュータ400は、不正アクセス対策が採られた監査用サーバ2200に格納されているデータを正当に読み書き可能である。   The verification computer 400 is a computer for the verifier to verify the validity of the calculation result by the audit program 120f. The verification computer 400 can legitimately read and write data stored in the audit server 2200 with countermeasures against unauthorized access.

検証者は、監査プログラム120fによる演算結果が正当なものであるかの検証を行う際には、検証用コンピュータ400を用いて、ネットワーク500を介して検証用コンピュータ400に接続された監査用サーバ2200から、演算時に格納された入力データ2200d、出力データ2200g、およびタイムスタンプ2200hを読み出して、第1の実施の形態と同様に、演算結果の検証を行う。   When the verifier verifies whether the calculation result by the audit program 120f is valid, the verification server 2200 connected to the verification computer 400 via the network 500 using the verification computer 400. Then, the input data 2200d, the output data 2200g, and the time stamp 2200h stored at the time of the calculation are read out, and the calculation result is verified as in the first embodiment.

ここで、本実施の形態の認証情報2200a、プログラム署名情報2200b、入力データ2200d、監査プログラム2200f、出力データ2200g、およびタイムスタンプ2200hは、それぞれ第1の実施の形態の認証情報200a、プログラム署名情報200b、入力データ200d、監査プログラム200f、出力データ200g、およびタイムスタンプ200hに相当する。   Here, the authentication information 2200a, the program signature information 2200b, the input data 2200d, the audit program 2200f, the output data 2200g, and the time stamp 2200h of the present embodiment are the authentication information 200a and the program signature information of the first embodiment, respectively. 200b, input data 200d, audit program 200f, output data 200g, and time stamp 200h.

なお、本実施の形態では、改ざん防止プログラム110を実行する監査用コンピュータ100がタイムスタンプを生成するが、これに限らず、外部に設けられたタイムスタンプ認証センタに設置された図示しないタイムスタンプ認証コンピュータなどの、監査用コンピュータ100以外のタイムスタンプ認証コンピュータが、タイムスタンプを生成してもよい。この場合、監査用コンピュータ100、検証用コンピュータ400、監査用サーバ2200、およびタイムスタンプ認証コンピュータは、ネットワーク500によって接続される。   In this embodiment, the audit computer 100 that executes the falsification prevention program 110 generates a time stamp. However, the present invention is not limited to this, and a time stamp authentication (not shown) installed in a time stamp authentication center provided outside the computer is not limited thereto. A time stamp authenticating computer other than the auditing computer 100, such as a computer, may generate the time stamp. In this case, the audit computer 100, the verification computer 400, the audit server 2200, and the time stamp authentication computer are connected by the network 500.

第2の実施の形態では、第1の実施の形態に加えて、監査用コンピュータ100、検証用コンピュータ400、および監査用サーバ2200がネットワーク500によって接続されているので、第1の実施の形態のように、トークンモジュール200を監査用コンピュータ100と検証用コンピュータ400との間で接続し直したり、トークンモジュール200を持ち運んだりする必要がない。さらに、監査から検証までを、ネットワーク500を介することにより、短期間で処理することができる。   In the second embodiment, in addition to the first embodiment, the audit computer 100, the verification computer 400, and the audit server 2200 are connected by the network 500. Therefore, the second embodiment is the same as the first embodiment. Thus, there is no need to reconnect the token module 200 between the audit computer 100 and the verification computer 400 or carry the token module 200. Furthermore, from audit to verification can be processed in a short period of time via the network 500.

[第3の実施の形態]
次に、第3の実施の形態を、図面を参照して詳細に説明する。前述の第1の実施の形態との相違点を中心に説明し、同様の事項については説明を省略する。
[Third Embodiment]
Next, a third embodiment will be described in detail with reference to the drawings. Differences from the first embodiment will be mainly described, and description of similar matters will be omitted.

第3の実施の形態の改ざん防止プログラムは、第1の実施の形態の改ざん防止プログラムと同様に、監査プログラムによる処理結果の改ざんを防止するものである。ここで、第3の実施の形態の改ざん防止プログラムは、第1の実施の形態のトークンモジュール200を用いずに、不正アクセス対策を施した監査用ファイルによって第1の実施の形態のトークンモジュール200と同様の機能を実現する点が異なる。   The falsification preventing program according to the third embodiment prevents falsification of processing results by the audit program, similarly to the falsification preventing program according to the first embodiment. Here, the falsification preventing program according to the third embodiment does not use the token module 200 according to the first embodiment, but uses the token module 200 according to the first embodiment using an audit file that has been provided with countermeasures against unauthorized access. The difference is that the same function is realized.

第3の実施の形態では、監査プログラム120fおよび改ざん防止プログラム110のインストールや、入力データ、演算結果や第1の実施の形態でトークンモジュール200に格納される情報を、監査用ファイルに書き込んだ監査用コンピュータ100を貸し出し、演算処理が完了した後に、検証者に監査用コンピュータ100を提出することとなる。   In the third embodiment, the audit program 120f and the falsification prevention program 110 are installed, and the input data, the calculation result, and the information stored in the token module 200 in the first embodiment are written in the audit file. After the computer 100 is lent out and the calculation process is completed, the audit computer 100 is submitted to the verifier.

監査用ファイルは、改ざん防止のために、例えば、パスワードによる暗号化など、データが暗号化処理や署名処理が施される。また、ユーザに貸し出される監査用コンピュータ100は、ネットワーク閉塞や、アクセス制御などの強固なセキュリティ処理が施される。ここで、監査用コンピュータ100は、ユーザと検証者との間の運搬に便利なように、ノート型パソコンにしてもよい。   In order to prevent falsification, the audit file is subjected to data encryption processing and signature processing such as encryption with a password. In addition, the auditing computer 100 lent to the user is subjected to strong security processing such as network blockage and access control. Here, the audit computer 100 may be a notebook personal computer so as to be convenient for transportation between the user and the verifier.

次に、第3の実施の形態において、監査プログラム120fによる処理結果の改ざんを防止するために改ざん防止プログラム110が監査用コンピュータ100に実現させる機能について説明する。   Next, in the third embodiment, a function that the tampering prevention program 110 implements in the auditing computer 100 to prevent tampering of the processing result by the auditing program 120f will be described.

図16は、第3の実施の形態の監査用コンピュータの機能を示すブロック図である。監査用コンピュータ100は、第1の実施の形態と同様に、改ざん防止プログラム110により、認証情報受付部110a、プログラム署名受付部110b、プログラム確認部110c、入力データ受付部110d、監査プログラム実行部110e、出力データ送信部110g、およびタイムスタンプ出力部110hとして機能する。   FIG. 16 is a block diagram illustrating functions of the auditing computer according to the third embodiment. As in the first embodiment, the audit computer 100 uses the authentication information receiving unit 110a, the program signature receiving unit 110b, the program checking unit 110c, the input data receiving unit 110d, and the audit program executing unit 110e by the falsification preventing program 110. , Function as an output data transmission unit 110g and a time stamp output unit 110h.

認証情報受付部110aは、監査用ファイル3200に格納されており監査用ファイル3200を認証するための認証情報3200aを、監査用ファイル3200から取得する。この認証情報3200aは、監査用ファイル3200に、不正に書き換えることができないように格納されている情報である。なお、認証情報3200aは、第1の実施の形態と同様に、チャレンジ・レスポンス認証などのワンタイム・パスワードを用いて動的に変化させて、よりセキュアに構成してもよい。   The authentication information receiving unit 110 a acquires authentication information 3200 a stored in the audit file 3200 for authenticating the audit file 3200 from the audit file 3200. This authentication information 3200a is information stored in the audit file 3200 so that it cannot be rewritten illegally. Note that the authentication information 3200a may be configured to be more secure by dynamically changing it using a one-time password such as challenge-response authentication, as in the first embodiment.

プログラム署名受付部110bは、監査用ファイル3200に格納されており監査プログラム120fに関する情報に電子署名を施したプログラム署名情報3200bを受け付ける。   The program signature accepting unit 110b accepts program signature information 3200b that is stored in the audit file 3200 and has an electronic signature applied to information related to the audit program 120f.

プログラム確認部110cは、第1の実施の形態と同様に、プログラム署名情報3200bに基づいて、監査プログラム120fの正当性を確認する。監査プログラム120fの正当性の確認は、第1の実施の形態と同様に、改ざん防止処理(図5参照)のステップS15において、監査用ファイル3200から読み出されたプログラム署名情報3200bと、改ざん防止処理(図5参照)のステップS14において、監査プログラム120fに関する情報に対して、前述のプログラム署名情報3200bを作成するときに用いられた電子署名の署名鍵と同一の署名鍵を施して作成された監査プログラム120fの電子署名とを比較することによって行われる。   As in the first embodiment, the program confirmation unit 110c confirms the validity of the audit program 120f based on the program signature information 3200b. As in the first embodiment, the validity of the audit program 120f is confirmed by the program signature information 3200b read from the audit file 3200 in step S15 of the falsification prevention process (see FIG. 5) and falsification prevention. In step S14 of the process (see FIG. 5), the information related to the audit program 120f is created by applying the same signature key as the signature key of the electronic signature used when creating the aforementioned program signature information 3200b. This is done by comparing the electronic signature of the audit program 120f.

そして、第1の実施の形態と同様に、この比較の結果、一致していれば、監査プログラム120fは正当性が認められる一方、一致しなければ、監査プログラム120fの正当性は認められず、不正が行われている可能性があることになる。ここで、「プログラム署名情報3200bを作成するときに用いられた署名鍵と同一の署名鍵」は、監査用ファイル3200に格納されており、第1の実施の形態と同様に、プログラム作成ベンダーの署名鍵(KEVA201K:図4参照)である。   As in the first embodiment, if the comparison results in a match, the audit program 120f is recognized as valid, whereas if it does not match, the audit program 120f is not verified as valid. There is a possibility of fraud. Here, the “signature key that is the same as the signature key used when creating the program signature information 3200b” is stored in the audit file 3200, and is similar to that of the first embodiment. This is a signature key (KEVA 201K: see FIG. 4).

なお、監査プログラム120fの正当性の確認は、監査用ファイル3200から読み出されたプログラム署名情報3200bを電子署名の公開鍵で復号化したものと、プログラム署名情報3200bを生成するときに用いたハッシュ関数と同一のハッシュ関数で求めた監査プログラム120fに関する情報とを比較することによって行ってもよい。   The validity of the audit program 120f is confirmed by decrypting the program signature information 3200b read from the audit file 3200 with the public key of the electronic signature and the hash used when generating the program signature information 3200b. You may carry out by comparing with the information regarding the audit program 120f calculated | required with the same hash function as the function.

入力データ受付部110dは、第1の実施の形態と同様に、監査プログラム120fによって処理される入力データ300の入力を受け付ける。そして、入力データ受付部110dは、受け付けた当該入力データ300を監査用ファイル3200に送信する。送信された入力データ300は、監査用ファイル3200において、入力データ3200dとして格納される。この監査用ファイル3200に格納された入力データ3200dは、後述する出力データ3200gおよびタイムスタンプ3200hと共に、第1の実施の形態と同様に、検証用コンピュータ400によって、監査プログラム120fの処理結果の改ざんがされていないことの検証に用いられる。   The input data receiving unit 110d receives an input of the input data 300 processed by the audit program 120f, as in the first embodiment. Then, the input data receiving unit 110d transmits the received input data 300 to the audit file 3200. The transmitted input data 300 is stored as input data 3200d in the audit file 3200. The input data 3200d stored in the audit file 3200, together with output data 3200g and a time stamp 3200h to be described later, are tampered with the processing result of the audit program 120f by the verification computer 400, as in the first embodiment. Used to verify that it has not been done.

ここで、前述したように、監査用ファイル3200は、不正アクセス対策が採られており、内部に保持されているデータを、不正なアクセス(読み出しおよび書き込み)や改ざんから保護する。   Here, as described above, the audit file 3200 is provided with countermeasures against unauthorized access, and protects data held therein from unauthorized access (reading and writing) and tampering.

監査プログラム実行部110eは、第1の実施の形態と同様に、入力データ300に基づく監査プログラム120fの実行を監査用コンピュータ100に指示する。この監査プログラム120fは、監査プログラム格納部120に格納されている。   The audit program execution unit 110e instructs the audit computer 100 to execute the audit program 120f based on the input data 300, as in the first embodiment. The audit program 120f is stored in the audit program storage unit 120.

監査プログラム格納部120は、監査用コンピュータ100のユーザの指示により、第1の実施の形態と同様に、監査用ファイル3200に圧縮されて格納されている監査プログラム3200fを読み出して、読み出された監査プログラム3200fを監査プログラム格納部120自身に展開して監査プログラム120fとして、監査用コンピュータ100により実行可能に格納する。   The audit program storage unit 120 reads and reads the audit program 3200f stored in the audit file 3200 after being compressed in accordance with a user instruction of the audit computer 100, as in the first embodiment. The audit program 3200f is expanded in the audit program storage unit 120 itself and stored as an audit program 120f so as to be executable by the auditing computer 100.

監査プログラム実行部110eは、第1の実施の形態と同様に、監査プログラム120fの実行を指示する。また、監査プログラム実行部110eは、監査プログラム120fの実行を指示する際には、監査プログラム格納部120に格納された監査プログラム120fを読み出して監査用コンピュータ100に実行させる。この監査プログラム実行部110eによる実行の指示に基づいて、監査用コンピュータ100は、監査プログラム120fによって、入力データ300に対して演算処理を行う。   The audit program execution unit 110e instructs the execution of the audit program 120f as in the first embodiment. Further, when instructing the execution of the audit program 120f, the audit program execution unit 110e reads the audit program 120f stored in the audit program storage unit 120 and causes the auditing computer 100 to execute it. Based on the execution instruction by the audit program execution unit 110e, the auditing computer 100 performs arithmetic processing on the input data 300 by the audit program 120f.

そして、監査プログラム実行部110eは、第1の実施の形態と同様に、入力データ300に基づく監査プログラム120fの演算結果を出力データ3200gとして取得する。この出力データ3200gは、改ざんがされていないことの検証の対象となるデータである。   And the audit program execution part 110e acquires the operation result of the audit program 120f based on the input data 300 as output data 3200g similarly to 1st Embodiment. This output data 3200g is data to be verified that it has not been tampered with.

出力データ送信部110gは、監査プログラム実行部110eによって取得された出力データを、監査用ファイル3200に送信する。送信された出力データは、監査用ファイル3200に、出力データ3200gとして格納される。   The output data transmission unit 110g transmits the output data acquired by the audit program execution unit 110e to the audit file 3200. The transmitted output data is stored in the audit file 3200 as output data 3200g.

タイムスタンプ出力部110hは、第1の実施の形態と同様に、入力データ300に関する情報、出力データ3200gに関する情報、認証情報3200aに関する情報、プログラム署名情報3200bに関する情報、および監査プログラム120fの実行によって算出された出力データ3200gの算出時刻を示す情報に電子署名を施すことによって、タイムスタンプを生成する。そして、タイムスタンプ出力部110hは、生成したタイムスタンプを、監査用ファイル3200に送信する。送信されたタイムスタンプは、監査用ファイル3200に、タイムスタンプ3200hとして格納される。また、タイムスタンプ出力部110hは、タイムスタンプ3200hをプリンタ153に出力可能である。   Similar to the first embodiment, the time stamp output unit 110h is calculated by executing the information related to the input data 300, the information related to the output data 3200g, the information related to the authentication information 3200a, the information related to the program signature information 3200b, and the audit program 120f. A time stamp is generated by applying an electronic signature to information indicating the calculation time of the output data 3200g. Then, the time stamp output unit 110h transmits the generated time stamp to the audit file 3200. The transmitted time stamp is stored in the audit file 3200 as a time stamp 3200h. The time stamp output unit 110h can output the time stamp 3200h to the printer 153.

検証用コンピュータ400は、検証者が、監査プログラム120fによる演算結果の正当性の検証を行うためのコンピュータである。検証用コンピュータ400は、不正アクセス対策が採られた監査用ファイル3200に格納されているデータを正当に読み書き可能である。   The verification computer 400 is a computer for the verifier to verify the validity of the calculation result by the audit program 120f. The verification computer 400 can legitimately read and write data stored in the audit file 3200 in which measures against unauthorized access are taken.

検証者は、監査プログラム120fによる演算結果が正当なものであるかの検証を行う際には、検証用コンピュータ400を用いて、ネットワーク500を介して検証用コンピュータ400に接続された監査用ファイル3200から、演算時に格納された入力データ3200d、出力データ3200g、およびタイムスタンプ3200hを読み出して、第1の実施の形態と同様に、演算結果の検証を行う。   When the verifier verifies whether the calculation result by the audit program 120f is valid, the verification file 400 is connected to the verification computer 400 via the network 500 using the verification computer 400. Then, the input data 3200d, the output data 3200g, and the time stamp 3200h stored at the time of calculation are read out, and the calculation result is verified in the same manner as in the first embodiment.

ここで、本実施の形態の認証情報3200a、プログラム署名情報3200b、入力データ3200d、監査プログラム3200f、出力データ3200g、およびタイムスタンプ3200hは、それぞれ第1の実施の形態の認証情報200a、プログラム署名情報200b、入力データ200d、監査プログラム200f、出力データ200g、およびタイムスタンプ200hに相当する。   Here, the authentication information 3200a, the program signature information 3200b, the input data 3200d, the audit program 3200f, the output data 3200g, and the time stamp 3200h of the present embodiment are the authentication information 200a and the program signature information of the first embodiment, respectively. 200b, input data 200d, audit program 200f, output data 200g, and time stamp 200h.

第3の実施の形態では、第1の実施の形態と同等の機能を、トークンモジュール200のようなハードウェア装置を用いずに、ソフトウェアのみで実現可能である。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、監査用コンピュータ、検証用コンピュータおよび監査用サーバが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
In the third embodiment, functions equivalent to those in the first embodiment can be realized only by software without using a hardware device such as the token module 200.
The above processing functions can be realized by a computer. In this case, a program describing the processing contents of the functions that should be possessed by the audit computer, the verification computer, and the audit server is provided. By executing the program on a computer, the above processing functions are realized on the computer. The program describing the processing contents can be recorded on a computer-readable recording medium. Examples of the computer-readable recording medium include a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory. Examples of the magnetic recording device include a hard disk device (HDD), a flexible disk (FD), and a magnetic tape. Optical disks include DVD (Digital Versatile Disc), DVD-RAM, CD-ROM (Compact Disc Read Only Memory), CD-R (Recordable) / RW (ReWritable), and the like. Magneto-optical recording media include MO (Magneto-Optical disk).

プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。   When distributing the program, for example, a portable recording medium such as a DVD or a CD-ROM in which the program is recorded is sold. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.

プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。   The computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. In addition, each time the program is transferred from the server computer, the computer can sequentially execute processing according to the received program.

なお、本発明は、上述の実施の形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更を加えることができる。   The present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present invention.

発明の概要を示す図である。It is a figure which shows the outline | summary of invention. 監査用コンピュータのハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of the computer for an audit. 第1の実施の形態の監査用コンピュータの機能を示すブロック図である。It is a block diagram which shows the function of the computer for auditing of 1st Embodiment. タイムスタンプのデータ構造を示す図である。It is a figure which shows the data structure of a time stamp. 改ざん防止処理の手順を示すフローチャート(前半)である。It is a flowchart (first half) which shows the procedure of a tampering prevention process. 改ざん防止処理の手順を示すフローチャート(後半)である。It is a flowchart (second half) which shows the procedure of a tampering prevention process. 監査プログラム実行処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of an audit program execution process. 検証処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of a verification process. 検証用コンピュータに表示された認証情報入力画面の例を示す図である。It is a figure which shows the example of the authentication information input screen displayed on the computer for verification. 監査用コンピュータに表示されたデータ入力画面の例を示す図である。It is a figure which shows the example of the data input screen displayed on the computer for an audit. 検証用コンピュータに表示されたタイムスタンプ表示画面の例を示す図である。It is a figure which shows the example of the time stamp display screen displayed on the computer for verification. 検証用コンピュータに表示された入力データ表示画面の例を示す図である。It is a figure which shows the example of the input data display screen displayed on the computer for verification. 検証用コンピュータに表示された出力データ表示画面の例を示す図である。It is a figure which shows the example of the output data display screen displayed on the computer for verification. 第2の実施の形態のシステム構成例を示す図である。It is a figure which shows the system configuration example of 2nd Embodiment. 第2の実施の形態の監査用コンピュータの機能を示すブロック図である。It is a block diagram which shows the function of the computer for auditing of 2nd Embodiment. 第3の実施の形態の監査用コンピュータの機能を示すブロック図である。It is a block diagram which shows the function of the computer for auditing of 3rd Embodiment.

符号の説明Explanation of symbols

1 コンピュータ
2 情報格納手段
2a 入力データ
2c 出力データ
2d 監査署名情報
3 入力データ
4 コンピュータ
4a 検証手段
11 改ざん防止プログラム
11a 入力データ受付手段
11b 演算プログラム実行手段
11c 出力データ送信手段
11d 監査署名情報出力手段
12 演算プログラム
DESCRIPTION OF SYMBOLS 1 Computer 2 Information storage means 2a Input data 2c Output data 2d Audit signature information 3 Input data 4 Computer 4a Verification means 11 Tampering prevention program 11a Input data reception means 11b Arithmetic program execution means 11c Output data transmission means 11d Audit signature information output means 12 Arithmetic program

Claims (10)

演算プログラムによる処理結果の改ざんを防止する処理をコンピュータに実行させる改ざん防止プログラムにおいて、
前記コンピュータを、
前記演算プログラムによって処理される入力データの入力を受け付けると共に、受け付けた当該入力データを情報格納手段に送信する入力データ受付手段、
前記入力データに基づく前記演算プログラムの実行を前記コンピュータに指示し、前記演算プログラムの演算結果を出力データとして取得する演算プログラム実行手段、
前記演算プログラム実行手段によって取得された前記出力データを前記情報格納手段に送信する出力データ送信手段、
前記入力データに関する情報および前記出力データに関する情報に電子署名を施した監査署名情報を生成し、生成した前記監査署名情報を前記情報格納手段に送信する監査署名情報出力手段、
として機能させることを特徴とする改ざん防止プログラム。
In a falsification prevention program for causing a computer to execute processing for preventing falsification of processing results by an arithmetic program,
The computer,
Input data receiving means for receiving input data to be processed by the arithmetic program and transmitting the received input data to the information storage means;
An arithmetic program executing means for instructing the computer to execute the arithmetic program based on the input data, and acquiring the arithmetic result of the arithmetic program as output data;
Output data transmission means for transmitting the output data acquired by the arithmetic program execution means to the information storage means;
Audit signature information output means for generating audit signature information obtained by applying an electronic signature to information related to the input data and information related to the output data, and transmitting the generated audit signature information to the information storage means;
Anti-tamper program characterized by functioning as
前記情報格納手段に格納されており、前記演算プログラムに関する情報に電子署名を施した演算プログラム署名情報を、当該情報格納手段から取得する演算プログラム署名受付手段、
前記演算プログラム署名情報に基づいて、前記演算プログラムの正当性を確認する演算プログラム確認手段、
として機能させることを特徴とする請求項1記載の改ざん防止プログラム。
Arithmetic program signature receiving means, which is stored in the information storage means, and obtains arithmetic program signature information obtained by applying an electronic signature to information relating to the arithmetic program from the information storage means,
Calculation program confirmation means for confirming the validity of the calculation program based on the calculation program signature information;
The falsification preventing program according to claim 1, wherein
前記演算プログラムは、前記情報格納手段に格納されており、
前記コンピュータを、さらに、
前記演算プログラムを前記情報格納手段から取得するプログラム取得手段、
前記演算プログラム取得手段によって取得された前記演算プログラムを格納する格納手段、
として機能させ、
前記演算プログラム実行手段は、さらに、前記演算プログラムの実行を指示する際には、前記コンピュータに前記演算プログラムを前記格納手段から読み出して実行させることを特徴とする請求項1記載の改ざん防止プログラム。
The arithmetic program is stored in the information storage means,
Said computer further
Program acquisition means for acquiring the arithmetic program from the information storage means;
Storage means for storing the arithmetic program acquired by the arithmetic program acquisition means;
Function as
2. The falsification preventing program according to claim 1, wherein the arithmetic program executing means further causes the computer to read out and execute the arithmetic program from the storage means when instructing execution of the arithmetic program.
前記監査署名情報出力手段は、前記入力データに関する情報、前記出力データに関する情報、および前記演算プログラム署名情報に関する情報に電子署名を施した監査署名情報を生成することを特徴とする請求項2記載の改ざん防止プログラム。   3. The audit signature information output unit generates audit signature information obtained by applying an electronic signature to information related to the input data, information related to the output data, and information related to the operation program signature information. Anti-tamper program. 前記コンピュータを、さらに、前記情報格納手段に格納されており前記情報格納手段を認証するための認証情報を受け付ける認証情報受付手段として機能させることを特徴とする請求項1記載の改ざん防止プログラム。   2. The falsification preventing program according to claim 1, wherein said computer further causes said information storage means to function as authentication information receiving means for receiving authentication information for authenticating said information storage means. 前記入力データに関する情報、前記出力データに関する情報、および前記演算プログラムの実行によって算出された前記出力データの算出時刻を示す情報に電子署名を施した監査署名情報を生成することを特徴とする請求項1記載の改ざん防止プログラム。   The audit signature information obtained by applying an electronic signature to the information related to the input data, the information related to the output data, and the information indicating the calculation time of the output data calculated by executing the arithmetic program is generated. 1. The falsification prevention program according to 1. 演算プログラムによる処理結果の改ざんを防止する改ざん防止装置において、
前記演算プログラムによって処理される入力データの入力を受け付けると共に、受け付けた当該入力データを情報格納手段に送信する入力データ受付手段と、
前記入力データに基づく前記演算プログラムを実行し、前記演算プログラムの演算結果を出力データとして取得する演算プログラム実行手段と、
前記演算プログラム実行手段によって取得された前記出力データを前記情報格納手段に送信する出力データ送信手段と、
前記出力データに関する情報および前記入力データに関する情報に電子署名を施した監査署名情報を生成し、生成した前記監査署名情報を前記情報格納手段に送信する監査署名情報出力手段と、
を有することを特徴とする改ざん防止装置。
In the falsification prevention device that prevents falsification of the processing result by the arithmetic program,
Input data receiving means for receiving input data processed by the arithmetic program and transmitting the received input data to the information storage means;
An arithmetic program executing means for executing the arithmetic program based on the input data and acquiring an arithmetic result of the arithmetic program as output data;
Output data transmission means for transmitting the output data acquired by the arithmetic program execution means to the information storage means;
Audit signature information output means for generating audit signature information obtained by applying an electronic signature to information relating to the output data and information relating to the input data, and transmitting the generated audit signature information to the information storage means;
A tamper-proof device characterized by comprising:
演算プログラムによる処理結果の改ざんを防止する改ざん防止システムにおいて、
情報を格納可能な情報格納手段と、
前記演算プログラムによって処理される入力データの入力を受け付けると共に、受け付けた当該入力データを前記情報格納手段に送信する入力データ受付手段と、
前記入力データに基づく前記演算プログラムを実行し、前記演算プログラムの演算結果を出力データとして取得する演算プログラム実行手段と、
前記演算プログラム実行手段によって取得された前記出力データを前記情報格納手段に送信する出力データ送信手段と、
前記入力データに関する情報および前記出力データに関する情報に電子署名を施した監査署名情報を生成し、生成した前記監査署名情報を前記情報格納手段に送信する監査署名情報出力手段と、
を有することを特徴とする改ざん防止システム。
In a falsification prevention system that prevents falsification of processing results by a computation program,
Information storage means capable of storing information;
Input data receiving means for receiving input data processed by the arithmetic program and transmitting the received input data to the information storage means;
An arithmetic program executing means for executing the arithmetic program based on the input data and acquiring an arithmetic result of the arithmetic program as output data;
Output data transmission means for transmitting the output data acquired by the arithmetic program execution means to the information storage means;
Audit signature information output means for generating audit signature information obtained by applying an electronic signature to information relating to the input data and information relating to the output data, and transmitting the generated audit signature information to the information storage means;
A tamper-proof system characterized by comprising:
前記入力データ受付手段と、前記演算プログラム実行手段と、前記出力データ送信手段と、前記監査署名情報出力手段と、を有する改ざん防止装置を有し、
前記情報格納手段は、外部サーバであり、
前記改ざん防止装置と前記外部サーバとは、電気通信回線によって接続されていることを特徴とする請求項8記載の改ざん防止システム。
A tamper-proof device comprising: the input data receiving unit; the arithmetic program executing unit; the output data transmitting unit; and the audit signature information output unit.
The information storage means is an external server;
9. The falsification preventing system according to claim 8, wherein the falsification preventing apparatus and the external server are connected by an electric communication line.
演算プログラムによる処理結果の改ざんを防止するコンピュータによる改ざん防止方法において、
前記演算プログラムによって処理される入力データの入力を受け付けるステップと、
受け付けた前記入力データを情報を格納可能な情報格納手段に送信し、前記入力データに基づく前記演算プログラムの実行を前記コンピュータに指示し、前記演算プログラムの演算結果を出力データとして取得し、前記演算プログラムの実行によって取得された前記出力データを前記情報格納手段に送信し、前記出力データに関する情報および前記入力データに関する情報に電子署名を施した監査署名情報を生成し、生成した前記監査署名情報を前記情報格納手段に送信するステップと、
を有することを特徴とする改ざん防止方法。
In a falsification preventing method by a computer that prevents falsification of a processing result by an arithmetic program,
Receiving input of input data processed by the arithmetic program;
The received input data is transmitted to an information storage means capable of storing information, the computer is instructed to execute the operation program based on the input data, the operation result of the operation program is obtained as output data, and the operation The output data acquired by executing the program is transmitted to the information storage unit, and the audit signature information obtained by applying an electronic signature to the information related to the output data and the information related to the input data is generated. Transmitting to the information storage means;
A tamper-proof method comprising:
JP2007211725A 2007-08-15 2007-08-15 Tampering prevention program, tampering prevention apparatus, tampering prevention system, and tampering prevention method Pending JP2009048283A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007211725A JP2009048283A (en) 2007-08-15 2007-08-15 Tampering prevention program, tampering prevention apparatus, tampering prevention system, and tampering prevention method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007211725A JP2009048283A (en) 2007-08-15 2007-08-15 Tampering prevention program, tampering prevention apparatus, tampering prevention system, and tampering prevention method

Publications (1)

Publication Number Publication Date
JP2009048283A true JP2009048283A (en) 2009-03-05

Family

ID=40500461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007211725A Pending JP2009048283A (en) 2007-08-15 2007-08-15 Tampering prevention program, tampering prevention apparatus, tampering prevention system, and tampering prevention method

Country Status (1)

Country Link
JP (1) JP2009048283A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014197885A (en) * 2009-12-04 2014-10-16 アルカテル−ルーセント Efficient technique for achieving secure transactions by using tamper-resistance token
JP2017509076A (en) * 2014-03-07 2017-03-30 ノキア テクノロジーズ オーユー Method and apparatus for verifying processed data
JPWO2021014611A1 (en) * 2019-07-24 2021-01-28

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014197885A (en) * 2009-12-04 2014-10-16 アルカテル−ルーセント Efficient technique for achieving secure transactions by using tamper-resistance token
JP2017509076A (en) * 2014-03-07 2017-03-30 ノキア テクノロジーズ オーユー Method and apparatus for verifying processed data
JPWO2021014611A1 (en) * 2019-07-24 2021-01-28
WO2021014611A1 (en) * 2019-07-24 2021-01-28 日本電気株式会社 Secret computation server, trail management method, and program
JP7409380B2 (en) 2019-07-24 2024-01-09 日本電気株式会社 Secure calculation server, trail management method and program

Similar Documents

Publication Publication Date Title
CN101512536B (en) System and method for authenticating a gaming device
AU2004288540B2 (en) Portable security transaction protocol
US6108420A (en) Method and system for networked installation of uniquely customized, authenticable, and traceable software application
US20140019364A1 (en) Anytime validation tokens
JP4485528B2 (en) Memory card, data exchange system, and data exchange method
US20040003248A1 (en) Protection of web pages using digital signatures
KR102277060B1 (en) System and method for encryption
CN103051451A (en) Encryption authentication of security service execution environment
JP2002259605A (en) Device and method for information processing and storage medium
TWI486808B (en) System for validating electronic insurance policy with certificate and method thereof
JP2010218440A (en) Account settlement system, account settlement method, and information processor
CN101741561B (en) Method and system for authenticating two-way hardware
JP2001331104A (en) Method and device for digital signature
JP2010182070A (en) Apparatus, method and program for processing information
EP4087182A1 (en) Registration device, verification device, identification device, and individual identification system
JP2009048283A (en) Tampering prevention program, tampering prevention apparatus, tampering prevention system, and tampering prevention method
KR101744697B1 (en) Encoded Package Manufacturing and Transmission System for E-training Contents
KR101858562B1 (en) Security system for selling and using e-training contents
JP2011065662A (en) Terminal equipment and storage medium for procedure system
JP3638910B2 (en) Electronic signature apparatus, electronic signature method, electronic signature program, and recording medium on which electronic signature program is recorded
JP2004023649A (en) Digital signature method
JP2008022189A (en) Electronic application method using virtual storage medium
JP6745933B2 (en) Individual signature system
JP5386860B2 (en) Payment system, payment processing apparatus, validity verification apparatus, validity verification request processing program, validity verification processing program, and validity verification method
JP2003066839A (en) Electronic watermark verification system and server