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 PDFInfo
- 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
Links
Images
Abstract
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参照)。
しかし、特許文献1の構造計算プログラムを用いたのみでは、検証者は、申請者がプログラムを正しく使用し、かつ正しいデータを入力したか否かのチェックはできない。そのため、検証者は性善説に立ち、申請者が提出した結果資料を信用し、処理結果が正当なものであるとして、建築を許可しているに過ぎない。この場合、申請者(構造計算プログラムのユーザ)は、提出する資料のデータについて、例えば、複数の計算結果の都合の良い箇所を繋ぎ合わせて改ざんすることによって、監査者や第三者を欺くことも可能である。
However, using only the structural calculation program of
また、これに対して特許文献2のような電子署名による電子データの改ざん防止技術をそのまま用いても、電子署名の付与前にデータを改ざんすることができるため、処理結果(構造計算書)の改ざんを防ぐことはできない。
On the other hand, even if the falsification preventing technique for electronic data using an electronic signature as in
本発明はこのような点に鑑みてなされたものであり、プログラムによる処理結果の改ざんを防止できる改ざん防止プログラム、改ざん防止装置、改ざん防止システム、および改ざん防止方法を提供することを目的とする。 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
入力データ受付手段11aは、演算プログラム12によって処理される入力データ3の入力を受け付けると共に、受け付けた当該入力データ3を情報格納手段2に送信する。送信された入力データ3は、情報格納手段2に、入力データ2aとして格納される。
The input
演算プログラム実行手段11bは、入力データ3に基づく演算プログラム12の実行をコンピュータ1に指示し、演算プログラム12の演算結果を出力データとして取得する。
出力データ送信手段11cは、演算プログラム実行手段11bによって取得された出力データを、情報格納手段2に送信する。送信された出力データは、情報格納手段2に、出力データ2cとして格納される。
The arithmetic program execution means 11b instructs the
The output
監査署名情報出力手段11dは、入力データ3に関する情報、および出力データ2cに関する情報に電子署名を施した監査署名情報を生成し、生成した監査署名情報を、情報格納手段2に送信する。送信された監査署名情報は、情報格納手段2に、監査署名情報2dとして格納される。
The audit signature
なお、情報格納手段2に格納された入力データ2a、出力データ2c、および監査署名情報2dが、演算プログラム12によって正しく算出されたものであるか否かについては、検証者が使用するコンピュータ4内の検証手段4aによって検証される。
Whether the input data 2a, the
このような改ざん防止プログラム11に入力データ3が入力されると、入力データ受付手段11aにより、入力データ3の入力が受け付けられると共に、受け付けられた当該入力データ3が情報格納手段2に送信される。次に、演算プログラム実行手段11bにより、入力データ3に基づく演算プログラム12の実行がコンピュータ1に指示され、演算プログラム12の演算結果が出力データ2cとして取得される。次に、出力データ送信手段11cにより、演算プログラム実行手段11bによって取得された出力データ2cが、情報格納手段2に送信される。次に、入力データ2aに関する情報および出力データ2cに関する情報に電子署名を施した監査署名情報2dが生成され、生成された監査署名情報2dが、情報格納手段2に送信される。
When the
また、上記課題を解決するために、演算プログラムによる処理結果の改ざんを防止する改ざん防止装置において、前記演算プログラムによって処理される入力データの入力を受け付けると共に、受け付けた当該入力データを情報格納手段に送信する入力データ受付手段と、前記入力データに基づく前記演算プログラムを実行し、前記演算プログラムの演算結果を出力データとして取得する演算プログラム実行手段と、前記演算プログラム実行手段によって取得された前記出力データを前記情報格納手段に送信する出力データ送信手段と、前記出力データに関する情報および前記入力データに関する情報に電子署名を施した監査署名情報を生成し、生成した前記監査署名情報を前記情報格納手段に送信する監査署名情報出力手段と、を有することを特徴とする改ざん防止装置が提供される。 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
入力データ受付手段11aは、演算プログラム12によって処理される入力データ3の入力を受け付ける。入力データ3は、演算プログラム12で処理するためのデータである。そして、入力データ受付手段11aは、受け付けた当該入力データ3を情報格納手段2に送信する。送信された入力データ3は、情報格納手段2において、入力データ2aとして格納される。この情報格納手段2に格納された入力データ2aは、後述する出力データ2cおよび監査署名情報2dと共に、コンピュータ4内の検証手段4aによって、演算プログラム12の処理結果が改ざんされていないことの検証に用いられる。
The input
ここで、情報格納手段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
出力データ送信手段11cは、演算プログラム実行手段11bによって取得された出力データを、情報格納手段2に送信する。送信された出力データは、情報格納手段2に、出力データ2cとして格納される。
The output
監査署名情報出力手段11dは、入力データ3自体や入力データ3のハッシュ(hash)値などの入力データ3に関する情報および出力データ2c自体や出力データ2cのハッシュ値などの出力データ2cに関する情報に電子署名を施すことによって監査署名情報を生成し、生成した監査署名情報を、情報格納手段2に送信する。送信された監査署名情報は、情報格納手段2に、監査署名情報2dとして格納される。
The audit signature
なお、情報格納手段2に格納された入力データ2a、出力データ2c、および監査署名情報2dが、演算プログラム12によって正しく算出されたものであるか否かについては、演算結果の正当性を検証する検証者が使用するコンピュータ4内の検証手段4aによって検証される。
Whether the input data 2a, the
このような改ざん防止プログラム11に入力データ3が入力されると、入力データ受付手段11aにより、入力データ3の入力が受け付けられ、受け付けられた当該入力データ3が情報格納手段2に送信される。
When the
次に、演算プログラム実行手段11bにより、入力データ3に基づく演算プログラム12の実行がコンピュータ1に指示され、演算プログラム12の演算結果が出力データとして取得される。
Next, the operation program execution means 11b instructs the
さらに、出力データ送信手段11cにより、演算プログラム実行手段11bによって取得された出力データが、情報格納手段2に送信される。
そして、出力データに関する情報、および入力データに関する情報に電子署名を施した監査署名情報が生成され、生成された監査署名情報が、情報格納手段2に送信される。
Furthermore, the output data acquired by the arithmetic
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
このようにして、処理結果を出力する演算プログラムによるデータ出力後に、自動的に入力データおよび出力データに関して電子署名を施した監査署名情報を出力するようにした。そのため、入力データおよび出力データから監査署名を再作成し、情報格納手段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
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。
The
グラフィック処理装置104には、モニタ140が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ140の画面に表示させる。入出力インタフェース105には、キーボード151、マウス152、およびプリンタ153が接続されている。入出力インタフェース105は、キーボード151やマウス152から送られてくる信号をバス108を介してCPU101に送信すると共に、バス108を介してCPU101から送られてくるプリントアウト信号をプリンタ153に送信する。
A
PCカードインタフェース106は、PCカード形式で構成されたトークンモジュール200を接続することができる。そして、PCカードインタフェース106は、接続されたトークンモジュール200との間でデータの送受信を行う。
The
トークンモジュール200は、監査用コンピュータ100で演算された監査プログラム120fによる演算結果および演算結果の正当性を検証するためのデータを格納する装置である。トークンモジュール200は、図示しない記憶部を内蔵しているPCカード形式のハードウェアモジュールであり、記憶部は、監査用コンピュータ100に送信するためのデータおよび監査用コンピュータ100から送信されたデータを格納可能である。トークンモジュール200は、耐タンパ機能を備えており、内部に保持されているデータを、不正なアクセス(読み出しおよび書き込み)や改ざんから保護することができる。
The
トークンモジュール200は、監査用コンピュータ100からの正当な要求に応じて、監査用コンピュータ100から送信されたデータを格納し、格納されているデータを監査用コンピュータ100に送信する。また、トークンモジュール200は、検証用コンピュータのPCカードインタフェース(図示省略)にも接続可能である。監査プログラムの出力結果の検証時には、トークンモジュール200は検証用コンピュータに接続されることによって、格納しているデータを検証用コンピュータに送信する。
The
通信インタフェース107は、ネットワーク500に接続されている。通信インタフェース107は、ネットワーク500を介して、他のコンピュータとの間でデータの送受信を行うことができる。
The
なお、本実施の形態のトークンモジュール200は、PCカード形式によって構成されているが、これに限らず、USB(Universal Serial Bus)方式や、その他の規格や仕様などに従った、可搬性を有する記憶装置で構成することもできる。この場合の記憶装置も、耐タンパ機能を持たせるとよい。
The
また、本実施の形態のトークンモジュール200に代えて、トークンモジュール200の機能を、耐タンパ機能を備えたハードディスク装置(HDD)によって実現してもよい。この場合、ハードディスク装置は、持ち運び可能な外付式ハードディスク装置や、取り外し可能な内蔵式ハードディスク装置として、監査用コンピュータ100および検証用コンピュータに自由に接続の変更を行えるようにするとよい。さらに、当該ハードディスク装置を、ネットワークに接続可能に構成して、ネットワークを介して監査用コンピュータ100および検証用コンピュータと自由に接続可能にしてもよい。
Further, instead of the
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図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
次に、第1の実施の形態において、監査プログラムによる処理結果の改ざんを防止するために改ざん防止プログラム110が監査用コンピュータ100に実現させる機能について説明する。
Next, in the first embodiment, a function that the
図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
認証情報受付部110aは、トークンモジュール200に格納されておりトークンモジュール200を認証するための認証情報200aを、トークンモジュール200から取得する。この認証情報200aは、各トークンモジュール200に固有にまたは共通して、不正に書き換えることができないように格納されている情報である。なお、認証情報200aは、チャレンジ・レスポンス認証(challenge and response authentication)などのワンタイム・パスワードを用いて動的に変化させて、よりセキュアに構成してもよい。
The authentication
プログラム署名受付部110bは、トークンモジュール200に格納されており、監査プログラム120fに関する情報に電子署名を施したプログラム署名情報200bを受け付ける。
The program
ここで、監査プログラム120fに関する情報とは、監査プログラム120f自体、または監査プログラム120fからハッシュ関数などを用いて作成したハッシュ(hash)値などの監査プログラム120fを識別可能な情報である。後述する入力データ300に関する情報、出力データ200gに関する情報、および監査プログラム120fの実行によって算出された出力データ200gの算出時刻を示す情報も、それぞれ同様である。
Here, the information related to the
また、電子署名とは、例えば、前述する監査プログラム120fに関する情報などに公開鍵方式の秘密鍵を用いて暗号化して生成したメッセージ認証子(MAC:Message Authentication Code)を、公開鍵方式の公開鍵を用いて復号化することによって、改ざんの有無を検証可能にすることにより、監査プログラム120fなどが改ざんされていないことを担保するものである。
The electronic signature is, for example, a message authentication code (MAC) generated by encrypting information related to the
プログラム確認部110cは、プログラム署名情報200bに基づいて、監査プログラム120fの正当性を確認する。監査プログラム120fの正当性の確認は、改ざん防止処理(図5参照)のステップS15において、トークンモジュール200から読み出されたプログラム署名情報200bと、改ざん防止処理(図5参照)のステップS14において、監査プログラム120fに関する情報に対して、前述のプログラム署名情報200bを作成するときに用いられた電子署名の署名鍵と同一の署名鍵を施して作成された監査プログラム120fの電子署名とを比較することによって行われる。
The
そして、この比較の結果、一致していれば、監査プログラム120fは正当性が認められる一方、一致しなければ、監査プログラム120fの正当性は認められず、不正が行われている可能性があることになる。ここで、「プログラム署名情報200bを作成するときに用いられた署名鍵と同一の署名鍵」は、トークンモジュール200に格納されており、プログラム作成ベンダーの署名鍵(KEVA201k:図4参照)である。
As a result of this comparison, if they match, the
なお、監査プログラム120fの正当性の確認は、トークンモジュール200から読み出されたプログラム署名情報200bを電子署名の公開鍵で復号化したものと、プログラム署名情報200bを生成するときに用いたハッシュ関数と同一のハッシュ関数で求めた監査プログラム120fに関する情報とを比較することによって行ってもよい。
The validity of the
また、改ざん防止プログラム110についても、監査プログラム120fと同様にして、電子署名によって正当性を担保することとしてもよい。
入力データ受付部110dは、監査プログラム120fによって処理される入力データ300の入力を受け付ける。入力データ300は、監査プログラム120fで処理するためのデータである。そして、入力データ受付部110dは、受け付けた当該入力データ300をトークンモジュール200に送信する。送信された入力データ300は、トークンモジュール200において、入力データ200dとして格納される。このトークンモジュール200に格納された入力データ200dは、後述する出力データ200gおよびタイムスタンプ200hと共に、検証用コンピュータ400によって、監査プログラム120fの処理結果の改ざんがされていないことの検証に用いられる。
Also, the
The input
ここで、前述したように、トークンモジュール200は、耐タンパ機能を備えた持ち運び可能なPCカードであり、内部に保持されているデータを、不正なアクセス(読み出しおよび書き込み)や改ざんから保護する。
Here, as described above, the
監査プログラム実行部110eは、入力データ300に基づく監査プログラム120fの実行を監査用コンピュータ100に指示する。この監査プログラム120fは、監査プログラム格納部120に格納されている。監査プログラム120fは、例えば、構造計算プログラムなどが該当する。
The audit
監査プログラム格納部120は、トークンモジュール200が監査用コンピュータ100に接続されると、トークンモジュール200に圧縮されて格納されている監査プログラム200fを読み出して、読み出された監査プログラム200fを監査プログラム格納部120自身に展開して監査プログラム120fとして、監査用コンピュータ100により実行可能に格納する。
When the
ここで、監査プログラム120fは、国土交通大臣などの国の機関による認定を受けたプログラムであって、プログラムが改ざんされていない限り、正しいデータが入力されていれば、正しい出力データが得られるものとする。
Here, the
また、改ざん防止プログラム110は、監査プログラム120fに対して入力するデータの受け渡し、および監査プログラム120fから出力されたデータの取得や出力などを行うプログラムである。また、監査用コンピュータ100を操作するユーザは、必ず改ざん防止プログラム110を介して監査プログラム120fに処理を実行させることとし、直接に監査プログラム120fに関与することはできないように設計されている。
Further, the
監査プログラム実行部110eは、監査プログラム120fの実行を指示する。また、監査プログラム実行部110eは、監査プログラム120fの実行を指示する際には、監査プログラム格納部120に格納された監査プログラム120fを読み出して監査用コンピュータ100に実行させる。この監査プログラム実行部110eによる実行の指示に基づいて、監査用コンピュータ100は、監査プログラム120fによって、入力データ300に対して演算処理を行う。
The audit
そして、監査プログラム実行部110eは、入力データ300に基づく監査プログラム120fの演算結果を出力データとして取得する。この出力データは、改ざんがされていないことの検証の対象となるデータであり、例えば、構造計算の計算結果などが該当する。
Then, the audit
出力データ送信部110gは、監査プログラム実行部110eによって取得された出力データを、トークンモジュール200に送信する。送信された出力データは、トークンモジュール200に、出力データ200gとして格納される。
The output
タイムスタンプ出力部110hは、入力データ200dに関する情報、出力データ200gに関する情報、認証情報200aに関する情報、プログラム署名情報200bに関する情報、および監査プログラム120fの実行によって算出された出力データ200gの算出時刻を示す情報(図4参照)に電子署名を施すことによって、タイムスタンプを生成する。そして、タイムスタンプ出力部110hは、生成したタイムスタンプを、トークンモジュール200に送信する。送信されたタイムスタンプは、トークンモジュール200に、タイムスタンプ200hとして格納される。
The time
すなわち、タイムスタンプ出力部110hは、監査プログラム120fの演算結果に対して電子署名を施す際に、演算結果のデータに電子署名を施してタイムスタンプ200hを生成する。具体的には、タイムスタンプ出力部110hは、出力データ200gなどの監査プログラム120fの演算結果を取得すると、演算結果のデータなどに電子署名を施すことによって、データの内容と演算時の時刻に応じたタイムスタンプ200hを生成する。そして、タイムスタンプ出力部110hは、生成したタイムスタンプ200hをトークンモジュール200等に格納する。これにより、検証者は、トークンモジュール200および検証用コンピュータ400を利用して、タイムスタンプ200hに基づいて、電子署名が施された演算結果の改ざんのチェックを行うことができる。
That is, the time
また、タイムスタンプ出力部110hは、タイムスタンプ200hをプリンタ153に出力可能である。このタイムスタンプ200hは、詳しくは図4において後述する。
検証用コンピュータ400は、検証者が、監査プログラム120fによる演算結果の正当性の検証を行うためのコンピュータである。検証用コンピュータ400は、耐タンパ機能のトークンモジュール200に格納されているデータを正当に読み書き可能である。
Further, the time
The verification computer 400 is a computer for the verifier to verify the validity of the calculation result by the
検証者は、構造計算書に添付された監査プログラム120fによる演算結果が正当なものであるかの検証を行う際に、演算時に監査用コンピュータ100に接続されていたトークンモジュール200をこの検証用コンピュータ400に接続して、演算時に格納された入力データ200d、出力データ200g、タイムスタンプ200hを読み出して、演算結果の検証を行う。
When the verifier verifies whether the calculation result by the
具体的には、監査用コンピュータ100に接続されたプリンタ153から出力されたタイムスタンプ200hと、検証用コンピュータ400に接続されたトークンモジュール200から読み出されて検証用コンピュータ400に表示されたタイムスタンプ200hとを比較する。比較の結果、一致すれば、監査プログラム120fによる演算結果は正当なものであると認められる一方、一致しなければ、監査プログラム120fによる演算結果は正当なものであると認められず、不正が行われた可能性があると判断されることになる。
Specifically, the
次に、本実施の形態のタイムスタンプについて説明する。
図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
タイムスタンプとは、電子データに対して正確な時刻情報を付与し、その時点でのデータの存在証明とその時点以後のデータの非改ざん証明を行う仕組みあるいは技術である。タイムスタンプには、通常、存在証明と非改ざん証明のために、データのハッシュ値および時刻情報などに施された電子署名が用いられる。このようにして、タイムスタンプを用いて文書内容の信頼性を確保することができる。 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
案件番号201aの欄には、監査プログラム120fによって演算処理される案件を特定するための案件ごとに設定された番号が格納される。
PID201bの欄には、監査プログラム120fを識別するための識別記号であるプログラムIDが格納される。
In the column of the
The column of
UID201cの欄には、改ざん防止プログラム110および監査プログラム120fを使用して当該タイムスタンプ201が生成された演算を行ったユーザを識別するための識別記号である利用者IDが格納される。
The column of the
TIME201dの欄には、改ざん防止プログラム110および監査プログラム120fを使用した演算が終了し、当該タイムスタンプ201が生成された時刻が格納される。
DIx201eの欄には、ユーザが入力した入力データ300が格納される。ここで、「DIx」の「x」は、入力データ300が複数個のデータから構成される場合に、各データを区別するために付与される番号が設定され、例えば、1以上の自然数が適宜割り当てられる。
In the
The
例えば、入力データ300が3個のデータから構成される場合には、3個の各データはそれぞれ「DI1」、「DI2」、「DI3」のように表される。
DMx201fの欄には、必要に応じて、監査プログラム120fによる処理の中間結果のデータが格納される。ここで、「DMx」の「x」は、DIx201eと同様に、監査プログラム120fによる処理の中間結果が複数個のデータから構成される場合に、各データを区別するために付与される番号が設定される。
For example, when the
In the column of
DOx201gの欄には、監査プログラム120fによる処理の最終結果である出力データ200gが格納される。ここで、「DMx」の「x」は、DIx201eと同様に、出力データ200gが複数個のデータから構成される場合に、各データを区別するために付与される番号が設定される。
The column of
KU201hの欄には、ユーザの電子署名の非公開鍵が格納される。
KEVA201kの欄には、改ざん防止プログラムの作成ベンダーの電子署名の非公開鍵が格納される。
In the
In the column of
DSIGN201mの欄には、監査プログラム120fによる演算処理結果に対する電子署名が格納される。例えば、改ざん防止プログラム110により、案件番号201a、PID201b、UID201c、TIME201d、DIx201e、DOx201gがMAC処理され、ユーザの非公開鍵であるKU201hで暗号化されることによって、ユーザによる電子署名が施されたものである。これにより、ユーザの電子署名の公開鍵によって、この演算結果はユーザによって生成されたものであり、改ざんされていないことが検証可能となる。
In the column of
このDSIGN201mの演算処理結果に対する電子署名について説明すると、まず、改ざん防止プログラム110によって、本実施の形態の監査プログラム120fの演算に関するデータである、例えば、案件番号201a、PID201b、UID201c、TIME201d、DIx201e、DOx201gなどが連結されて1つのメッセージ・データとされる。次に、改ざん防止プログラム110によって、メッセージ・データに対して予め用意した特定のハッシュ関数を用いてハッシュ値が算出される。算出されたハッシュ値が、監査プログラム120fの演算に関するデータのMACとなる。このハッシュ関数は、検証者によって予め用意され、トークンモジュール200に格納されている。なお、ハッシュ関数は、例えば、予めインターネットでユーザや検証者が入手可能なように頒布するなど、トークンモジュール200以外から取得するようにしてもよい。
The electronic signature for the calculation processing result of
そして、改ざん防止プログラム110によって、算出されたハッシュ値であるMACに、ユーザの電子署名の非公開鍵(KU201h)が施されて、演算処理結果に対する電子署名であるDSIGN201mが生成される。生成されたDSIGN201mの電子署名は、改ざん防止プログラム110によって、タイムスタンプ201の一部として、耐タンパ機能によりセキュアなトークンモジュール200に格納される。
Then, the
この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
Specifically, the verifier uses the verification computer 400 to send a message from the data used for calculation of the hash value by the
次に、検証用コンピュータ400は、改ざん防止プログラム110と同様に、算出されたハッシュ値であるMACに、トークンモジュール200に格納されているユーザの電子署名の非公開鍵であるKU201hを施して、演算処理結果に対する電子署名を生成する。
Next, similarly to the
そして、検証用コンピュータ400は、自らが生成した演算処理結果に対する電子署名と、改ざん防止プログラム110によって生成され、トークンモジュール200に格納されている演算処理結果に対する電子署名であるDSIGN201mとを比較する。
Then, the verification computer 400 compares the electronic signature for the arithmetic processing result generated by itself with the
ここで、もし、演算処理結果に関するデータが改ざんされていれば、演算処理結果から得られたハッシュ値が変化するため、電子署名が変化してしまうことになる。したがって、比較結果が一致していれば、演算処理結果は改ざんされておらず、正当なものであると認められる。 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
PSIGN201pの欄には、監査プログラム120f自体の電子署名が格納されている。このPSIGN201pは、例えば、改ざん防止プログラムの作成ベンダーが、前述したPID201b(プログラムID)、またはプログラムモジュールやソースコードのデータなどをMAC処理し、改ざん防止プログラムの作成ベンダーの電子署名の非公開鍵であるKEVA201kで暗号化することによって、プログラム作成ベンダーによる電子署名が施されたものである。これにより、このPSIGN201pの、監査プログラム120f自体の電子署名を、直接比較し、または、プログラム作成ベンダーの電子署名の公開鍵によって復号化することで、当該監査プログラム120fがプログラム作成ベンダーによって作成され、改ざんされていないことが検証可能となる。
The column of
このPSIGN201pの監査プログラム120f自体の電子署名について説明すると、まず、監査プログラム120fを作成したプログラム作成ベンダーにおいて、監査プログラム120fに関するデータである、例えば、PID201bや監査プログラム120fのプログラムモジュールやソースコードなどに対して予め用意した特定のハッシュ関数を用いてハッシュ値を算出する。算出されたハッシュ値が、監査プログラム120f自体のMACとなる。ここで、ハッシュ値の算出については、DSIGN201mの演算処理結果に対する電子署名と同様に算出されるので、説明を省略する。
The electronic signature of the
なお、本実施の形態では、監査プログラム120f自体のMACとして、PID201bや監査プログラム120fのプログラムモジュールやソースコードなどのハッシュ値を用いるが、これに限らず、ハッシュ値の算出を行わずに、算出されたハッシュ値に代えて、PID201bをそのままMACとして用いてもよい。
In this embodiment, hash values such as the program modules and source codes of the
次に、算出されたハッシュ値(またはPID201b)であるMACに、作成ベンダーの電子署名の非公開鍵(KEVA201k)が施されて、監査プログラム120f自体の電子署名であるPSIGN201pが生成される。
Next, the private key (
生成されたPSIGN201pの電子署名は、予め検証者によって、耐タンパ機能によりセキュアなトークンモジュール200に格納されており、タイムスタンプ201の一部を構成する。
The generated electronic signature of
このPSIGN201pの監査プログラム120f自体の電子署名により、改ざん防止プログラム110は、監査プログラム120f自体の正当性を検証することができる。また、このPSIGN201pの監査プログラム120f自体の電子署名により、検証者は、監査プログラム120f自体の正当性を検証することができる。
The
なお、本実施の形態では、このPSIGN201pの監査プログラム120f自体の電子署名を作成ベンダーが生成し、検証者がトークンモジュール200に格納するが、これに限らず、改ざん防止プログラム110が、監査プログラム120fの実行の都度、別に監査プログラム120f自体の電子署名を生成して、トークンモジュール200に格納してもよい。
In the present embodiment, the creation vendor generates an electronic signature of the
この場合、まず、改ざん防止プログラム110によって、監査プログラム120fに関するデータである、例えば、PID201b、監査プログラム120fのプログラムモジュールやソースコードなどに対して予め用意した特定のハッシュ関数を用いてハッシュ値が算出される。なお、これに限らず、ハッシュ値の算出を行わず、算出されたハッシュ値に代えて、PID201bをそのまま用いてもよい。
In this case, first, the hash value is calculated by the
そして、改ざん防止プログラム110によって、算出されたハッシュ値(またはPID201b)に、作成ベンダーの電子署名の非公開鍵(KEVA201k)が施されて、PSIGN201pの電子署名とは別に、監査プログラム120f自体の電子署名が生成される。新たに生成された監査プログラム120f自体の電子署名は、改ざん防止プログラム110によって、タイムスタンプ201の一部として、耐タンパ機能によりセキュアなトークンモジュール200に格納される。
Then, the private key (
このPSIGN201pの電子署名とは別の、改ざん防止プログラム110によって生成された監査プログラム120f自体の電子署名により、検証者は、実際に演算処理に用いられた監査プログラム120fの正当性を検証することができる。
The verifier can verify the legitimacy of the
なお、前述した案件番号201a、PID201b、UID201c、TIME201d、DIx201e、DMx201f、DOx201g、KU201h、KEVA201k、DSIGN201m、およびPSIGN201pの各情報は、トークンモジュール200においては、トークンモジュール200の耐タンパ機能により、不正なアクセスから保護される。
It should be noted that the information on the
前述したように、監査プログラム120fによる演算が終了してタイムスタンプ出力部110hで生成されたタイムスタンプ200hは、トークンモジュール200に格納される。また、監査プログラム120fによる演算の完了時に、タイムスタンプ200hのうちの一部であるTIME201d(生成時刻)、DIx201e(入力データ)、DOx201g(出力データ)、DSIGN201m(演算処理結果に対する電子署名)が、監査用コンピュータ100に接続されたプリンタ153から出力される。
As described above, the
監査プログラム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
なお、本実施の形態では、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
具体的には、まず、監査用コンピュータ100によって、監査プログラム120fの演算処理結果に関するデータが、共通鍵で暗号化されてMACが生成される。生成されたMACはトークンモジュール200に格納される。次に、検証用コンピュータ400によって、トークンモジュール200に格納されている監査プログラム120fの演算処理結果に関するデータが、共通鍵で暗号化されてMACが生成される。そして、検証用コンピュータ400によって、監査用コンピュータ100で生成されたMACと、検証用コンピュータ400で生成されたMACとを比較することでメッセージ認証が行われる。
Specifically, first, the
次に、改ざん防止処理の全体の手順を説明する。
図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
監査用コンピュータ100のユーザは、申請ごとにそれらを受け取り、監査用コンピュータ100によって、改ざん防止プログラム110および監査プログラム120fによる演算処理を実行する。
The user of the
ここで、検証者は、認証情報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
本実施の形態では、トークンモジュール200が監査用コンピュータ100に接続されると、監査用コンピュータ100は、改ざん防止処理を自動的に開始する。
[ステップS11] 認証情報受付部110aは、トークンモジュール200に格納されている認証情報200aを取得する。この認証情報200aは、トークンモジュール200を識別すると共に、トークンモジュール200の正当性を担保するために、各トークンモジュール200に固有に割り当てられた情報である。監査用コンピュータ100は、この認証情報200aの正当性が確認されて始めて、監査プログラム120fの利用が許可されることになる。
In the present embodiment, when the
[Step S11] The authentication
[ステップS12] 認証情報受付部110aは、ステップS11で取得した認証情報200aによって、トークンモジュール200が正当なものであるか否かを判断する。認証情報受付部110aは、トークンモジュール200が正当なものであると認証できれば、ステップS13に処理を進める一方、トークンモジュール200が正当なものであると認証できなければ、処理を終了する。
[Step S12] The authentication
[ステップS13] 監査プログラム格納部120は、トークンモジュール200から圧縮された監査プログラム200fを読み出し、監査用コンピュータ100によって実行できる監査プログラム120fに展開する。
[Step S <b> 13] The audit
[ステップS14] プログラム確認部110cは、ステップS13で展開された監査プログラム120fから監査プログラム120fの電子署名を作成する。
[ステップS15] プログラム署名受付部110bは、トークンモジュール200に予め格納されている監査プログラム120fの署名情報であるプログラム署名情報200bを読み出す。
[Step S14] The
[Step S15] The program
[ステップS16] プログラム確認部110cは、ステップS14において作成された監査プログラム120fの電子署名と、ステップS15において読み出されたプログラム署名情報200bとを比較して、一致するか否かを判断する。プログラム確認部110cは、電子署名とプログラム署名情報200bとが一致すれば、ステップS17に処理を進める一方、一致しなければ、処理を終了する。
[Step S16] The
[ステップS17] 入力データ受付部110dは、モニタ140に入力データ300の入力を行うためのデータ入力画面142(図10参照)を表示し、改ざん防止プログラム110のユーザに対し、入力データ300の入力を要求する。
[Step S17] The input
[ステップS18] 入力データ受付部110dは、キーボード151などの入力装置により改ざん防止プログラム110のユーザによって入力された入力データ300を受け付け、ステップS21(図6)に処理を進める。
[Step S18] The input
[ステップS21] 監査プログラム実行部110eは、監査プログラム実行処理を実行する。この監査プログラム実行処理は、監査プログラム格納部120に格納されている監査プログラム120fを実行する処理であり、詳しくは図7において後述する。
[Step S21] The audit
[ステップS22] 監査プログラム実行部110eは、ステップS21における監査プログラム120fの実行の結果取得した出力データが、例えば、構造計算プログラムであれば強度が十分であるなどの、期待した条件を満たしているか否かを判断する。監査プログラム実行部110eは、出力データが、条件を満たしていれば、ステップS23に処理を進める一方、条件を満たしていなければ、処理を終了する。
[Step S22] Whether the output data acquired as a result of the execution of the
[ステップS23] 入力データ受付部110dは、ユーザによって入力された入力データ300を、トークンモジュール200に送信し、送信した入力データ300を、入力データ200dとしてトークンモジュール200に格納する。
[Step S23] The input
[ステップS24] 出力データ送信部110gは、監査プログラム120fの演算処理によって取得された出力データをトークンモジュール200に送信し、送信した出力データを、トークンモジュール200に、出力データ200gとして格納する。
[Step S24] The output
[ステップS25] タイムスタンプ出力部110hは、タイムスタンプ200hを作成する。
具体的には、改ざん防止プログラム110は、監査プログラム120fの演算に関するデータである、例えば、案件番号201a、PID201b、UID201c、TIME201d、DIx201e、DOx201gなどを連結して1つのメッセージ・データとする。次に、改ざん防止プログラム110は、メッセージ・データに対して予め用意した特定のハッシュ関数を用いてハッシュ値を算出する。次に、改ざん防止プログラム110は、この算出したハッシュ値に、ユーザの電子署名の非公開鍵であるKU201hを施して、演算処理結果に対する電子署名であるDSIGN201mを生成する。
[Step S25] The time
Specifically, the
そして、改ざん防止プログラム110は、生成された電子署名であるDSIGN201mなどを含めてタイムスタンプ201(図4参照)を生成する。
[ステップS26] タイムスタンプ出力部110hは、ステップS25において作成したタイムスタンプ201を、トークンモジュール200に送信し、送信したタイムスタンプ201をトークンモジュール200に、タイムスタンプ200hとして格納する。
Then, the
[Step S26] The time
[ステップS27] タイムスタンプ出力部110hは、ステップS21によって取得された出力データ200gおよびステップS25において作成したタイムスタンプ200hの所定の一部をプリンタ153に出力し、出力データ200gおよびタイムスタンプ200h所定の一部をプリントアウトする。
[Step S27] The time
このような改ざん防止処理によって、監査プログラム120fの演算結果の正当性が担保され、演算結果の改ざんが防止できる。
次に、改ざん防止処理(図5および図6)のステップS21で実行される監査プログラム実行処理について詳細に説明する。
By such falsification prevention processing, the correctness of the calculation result of the
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
[ステップS32] 監査プログラム実行部110eは、入力データ300を監査プログラム120fに入力して、演算を実行する。
[ステップS33] 監査プログラム実行部110eは、ステップS32において算出された監査プログラム120fの演算結果を取得し、出力データ200gとする。
[Step S32] The audit
[Step S33] The audit
このような監査プログラム実行処理によって、監査プログラム120fによる演算が行われ、監査プログラム120fの演算結果が取得される。
監査用コンピュータ100のユーザは、この改ざん防止処理を行って取得したプリンタ153による出力結果、および取得したデータが格納されたトークンモジュール200を検証者に提出する。
By such an audit program execution process, the calculation by the
The user of the
次に、検証用コンピュータ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
[ステップ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
[Step S42] The verification computer 400 determines whether or not the
[ステップ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
[ステップ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
[ステップ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
[ステップ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
[ステップ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
次に、監査用コンピュータ100および検証用コンピュータ400に表示される画面の例を示す。
図9は、検証用コンピュータに表示された認証情報入力画面の例を示す図である。監査用コンピュータ100に接続されるトークンモジュール200に対して予めトークンモジュール200を識別可能な認証情報200aを格納するために、検証者が検証用コンピュータ400に認証情報200aを入力するとき、検証用コンピュータ400の図示しないモニタには、図のような認証情報入力画面401が表示される。
Next, examples of screens displayed on the
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
認証情報入力画面401には、トークンモジュール200に格納される認証情報200aを入力するための認証情報入力欄401aが設けられる。認証情報入力欄401aによって、検証者は、認証情報200aを入力する。入力された認証情報200aは、格納されているトークンモジュール200を認証可能にする。
The authentication
また、認証情報入力画面401には、認証情報200aの入力が完了した後に、認証情報入力画面401を終了すると共に、認証情報200aをトークンモジュール200に格納する処理を開始するための認証情報入力確定ボタン401bが設けられる。認証情報入力確定ボタン401bによって、検証者は、認証情報200aの入力内容を確定させる。認証情報200aは、検証用コンピュータ400によって、トークンモジュール200に格納される。
On the authentication
トークンモジュール200に格納された認証情報200aは、トークンモジュール200の耐タンパ機能により、不正な読み書きや改ざんから保護される。
図10は、監査用コンピュータに表示されたデータ入力画面の例を示す図である。改ざん防止プログラム110のユーザが、監査プログラム120fによって演算処理される入力データ300を監査用コンピュータ100に入力するとき、監査用コンピュータ100に接続されているモニタ140には、図のようなデータ入力画面142が表示される。
The authentication information 200 a stored in the
FIG. 10 is a diagram illustrating an example of a data input screen displayed on the audit computer. When the user of the
データ入力画面142には、監査プログラム120fによって演算処理される入力データ300を入力するためのデータ入力部142aが設けられる。データ入力部142aによって、改ざん防止プログラム110のユーザは、入力データ300を入力する。入力された入力データ300は、監査プログラム120fに入力される。そして、監査プログラム120fによる演算処理の結果、出力データ200gが取得される。また、入力データ300は、トークンモジュール200に送信されて、入力データ200dとして格納される。
The data input screen 142 is provided with a
また、データ入力画面142には、入力データ300の入力が完了した後に、入力データ300を確定し、データ入力画面142を終了する入力データ確定ボタン142bが設けられる。入力データ確定ボタン142bによって、ユーザは、入力データ300の入力内容を確定させる。入力データ300は、監査用コンピュータ100によって、監査プログラム120fに入力されると共に、トークンモジュール200に格納される。
The data input screen 142 is provided with an input
トークンモジュール200に格納された入力データ300は、認証情報200aと同様、トークンモジュール200の耐タンパ機能により、不正な読み書きや改ざんから保護される。
Like the authentication information 200a, the
図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
タイムスタンプ表示画面403には、トークンモジュール200に格納されているタイムスタンプ200hに含まれる時刻情報403aが表示される。
また、タイムスタンプ表示画面403には、検証者が時刻情報403aを確認した後に、タイムスタンプ表示画面403を終了するためのタイムスタンプ確認ボタン403bが設けられる。
The time
Further, the time
検証者は、この検証用コンピュータ400に表示されている時刻情報403aを確認し、さらに検証用コンピュータ400に表示されている時刻情報403aと、構造計算書に添付されている、監査用コンピュータ100に接続されているプリンタ153によって出力されたタイムスタンプ200hに含まれる時刻情報とを照らし合わせて、トークンモジュール200に格納されている監査プログラム120fの演算結果に関するデータの正当性を検証することができる。
The verifier checks the
図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
入力データ表示画面404には、トークンモジュール200に格納されている入力データ200dが表示される入力データ表示部404aが設けられる。
また、入力データ表示画面404には、検証者が入力データ200dを確認した後に、入力データ表示画面404を終了するための入力データ確認ボタン404bが設けられる。
The input data display screen 404 is provided with an input
The input data display screen 404 is provided with an input
検証者は、この検証用コンピュータ400に表示されている入力データ200dを確認し、さらに検証用コンピュータ400に表示されている入力データ200dと、構造計算書に添付されている、監査用コンピュータ100に接続されているプリンタ153によって出力された入力データ200dとを照らし合わせて、監査プログラム120fに入力された入力データ200dの正当性を検証することができる。
The verifier confirms the
図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
出力データ表示画面405には、トークンモジュール200に格納されている出力データ200gが表示される出力データ表示部405aが設けられる。
また、出力データ表示画面405には、検証者が出力データ200gを確認した後に、出力データ表示画面405を終了するための出力データ確認ボタン405bが設けられる。
The output data display screen 405 is provided with an output
The output data display screen 405 is provided with an output
検証者は、この検証用コンピュータ400に表示されている出力データ200gを確認し、さらに検証用コンピュータ400に表示されている出力データ200gと、構造計算書に添付されている、監査用コンピュータ100に接続されているプリンタ153によって出力された出力データ200gとを照らし合わせて、監査プログラム120fから取得された出力データ200gの正当性を検証することができる。
The verifier checks the
以上のように、第1の実施の形態では、入力データ300に関する情報、出力データ200gに関する情報、認証情報200aに関する情報、プログラム署名情報200bに関する情報、および監査プログラム120fの実行によって算出された出力データ200gの算出時刻を示す情報(図4参照)に自動的に電子署名が施され、さらに、これが、耐タンパ機能を有するトークンモジュール200に格納される。そして電子署名が施された当該データは、検証用コンピュータ400で検証可能である。
As described above, in the first embodiment, information related to the
これにより、演算処理の後に自動的に電子署名が施されるので、入力データおよび出力データから監査署名を再作成し、トークンモジュール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
また、改ざん防止プログラム110自体に関する情報に電子署名が施されたものになることによってプログラム自体の正当性も担保されるので、監査プログラム120fは、認定を受けたプログラムであって、プログラムが改ざんされていない限り、正しいデータが入力されていれば、正しい出力データが得られることから、監査プログラム120fに対する電子署名によって、プログラムの改ざんによる不正も発見しやすくなると共に、このような不正を防止することができる。
Further, since the legitimacy of the program itself is ensured by providing the information related to the
以上により、第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
[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
監査用コンピュータ100は、第1の実施の形態と同様に、改ざん防止プログラム110によって、監査プログラム120fによる処理結果の改ざんを防止するように機能するコンピュータである。
As in the first embodiment, the
検証用コンピュータ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
The
監査用サーバ2200は、ネットワーク500を介して接続された監査用コンピュータ100からの正当な要求に応じて、監査用コンピュータ100から送信されたデータを格納し、格納されているデータを監査用コンピュータ100に送信する。また、監査用サーバ2200は、ネットワーク500を介して接続された検証用コンピュータ400に、格納しているデータを検証用コンピュータ400に送信する。
The
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、監査用サーバ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
ここで、監査用コンピュータ100と検証用コンピュータ400の間は、両コンピュータの通信インタフェース(図2の通信インタフェース107参照)によって、ネットワーク500を介して通信可能である。監査用コンピュータ100と監査用サーバ2200の間、および検証用コンピュータ400と監査用サーバ2200の間も同様である。
Here, the
次に、第2の実施の形態において、監査プログラム120fによる処理結果の改ざんを防止するために改ざん防止プログラム110が監査用コンピュータ100に実現させる機能について説明する。
Next, in the second embodiment, a function that the
図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
認証情報受付部110aは、監査用サーバ2200に格納されており、監査用サーバ2200を認証するための認証情報2200aを監査用サーバ2200から取得する。この認証情報2200aは、監査用サーバ2200に、不正に書き換えることができないように格納されている情報である。なお、認証情報2200aは、第1の実施の形態と同様に、チャレンジ・レスポンス認証などのワンタイム・パスワードを用いて動的に変化させて、よりセキュアに構成してもよい。
The authentication
プログラム署名受付部110bは、監査用サーバ2200に格納されており監査プログラム120fに関する情報に電子署名を施したプログラム署名情報2200bを受け付ける。
The program
プログラム確認部110cは、第1の実施の形態と同様に、プログラム署名情報2200bに基づいて、監査プログラム120fの正当性を確認する。監査プログラム120fの正当性の確認は、第1の実施の形態と同様に、改ざん防止処理(図5参照)のステップS15において、監査用サーバ2200から読み出されたプログラム署名情報2200bと、改ざん防止処理(図5参照)のステップS14において、監査プログラム120fに関する情報に対して、前述のプログラム署名情報2200bを作成するときに用いられた電子署名の署名鍵と同一の署名鍵を施して作成された監査プログラム120fの電子署名とを比較することによって行われる。
As in the first embodiment, the
そして、第1の実施の形態と同様に、この比較の結果、一致していれば、監査プログラム120fは正当性が認められる一方、一致しなければ、監査プログラム120fの正当性は認められず、不正が行われている可能性があることになる。ここで、「プログラム署名情報2200bを作成するときに用いられた署名鍵と同一の署名鍵」は、監査用サーバ2200に格納されており、第1の実施の形態と同様に、プログラム作成ベンダーの署名鍵(KEVA201K:図4参照)である。
As in the first embodiment, if the comparison results in a match, the
なお、監査プログラム120fの正当性の確認は、監査用サーバ2200から読み出されたプログラム署名情報2200bを電子署名の公開鍵で復号化したものと、プログラム署名情報2200bを生成するときに用いたハッシュ関数と同一のハッシュ関数で求めた監査プログラム120fに関する情報とを比較することによって行ってもよい。
The validity of the
入力データ受付部110dは、第1の実施の形態と同様に、監査プログラム120fによって処理される入力データ300の入力を受け付ける。そして、入力データ受付部110dは、受け付けた当該入力データ300を監査用サーバ2200に送信する。送信された入力データ300は、監査用サーバ2200において、入力データ2200dとして格納される。この監査用サーバ2200に格納された入力データ2200dは、後述する出力データ2200gおよびタイムスタンプ2200hと共に、第1の実施の形態と同様に、検証用コンピュータ400によって、監査プログラム120fの処理結果の改ざんがされていないことの検証に用いられる。
The input
ここで、前述したように、監査用サーバ2200は、不正アクセス対策が採られており、内部に保持されているデータを、不正なアクセス(読み出しおよび書き込み)や改ざんから保護する。
Here, as described above, the
監査プログラム実行部110eは、第1の実施の形態と同様に、入力データ300に基づく監査プログラム120fの実行を監査用コンピュータ100に指示する。この監査プログラム120fは、監査プログラム格納部120に格納されている。
The audit
監査プログラム格納部120は、監査用コンピュータ100のユーザの指示により、監査用サーバ2200が監査用コンピュータ100に接続されると、第1の実施の形態と同様に、監査用サーバ2200に圧縮されて格納されている監査プログラム2200fを読み出して、読み出された監査プログラム2200fを監査プログラム格納部120自身に展開して監査プログラム120fとして、監査用コンピュータ100により実行可能に格納する。
When the
監査プログラム実行部110eは、第1の実施の形態と同様に、監査プログラム120fの実行を指示する。また、監査プログラム実行部110eは、監査プログラム120fの実行を指示する際には、監査プログラム格納部120に格納された監査プログラム120fを読み出して監査用コンピュータ100に実行させる。この監査プログラム実行部110eによる実行の指示に基づいて、監査用コンピュータ100は、監査プログラム120fによって、入力データ300に対して演算処理を行う。
The audit
そして、監査プログラム実行部110eは、第1の実施の形態と同様に、入力データ300に基づく監査プログラム120fの演算結果を出力データとして取得する。この出力データは、改ざんがされていないことの検証の対象となるデータである。
And the audit
出力データ送信部110gは、監査プログラム実行部110eによって取得された出力データを、監査用サーバ2200に送信する。送信された出力データは、監査用サーバ2200に、出力データ2200gとして格納される。
The output
タイムスタンプ出力部110hは、第1の実施の形態と同様に、入力データ300に関する情報、出力データ2200gに関する情報、認証情報2200aに関する情報、プログラム署名情報2200bに関する情報、および監査プログラム120fの実行によって算出された出力データ2200gの算出時刻を示す情報に電子署名を施すことによって、タイムスタンプを生成する。そして、タイムスタンプ出力部110hは、生成したタイムスタンプを、監査用サーバ2200に送信する。送信されたタイムスタンプは、監査用サーバ2200に、タイムスタンプ2200hとして格納される。また、タイムスタンプ出力部110hは、タイムスタンプ2200hをプリンタ153に出力可能である。
Similar to the first embodiment, the time
検証用コンピュータ400は、検証者が、監査プログラム120fによる演算結果の正当性の検証を行うためのコンピュータである。検証用コンピュータ400は、不正アクセス対策が採られた監査用サーバ2200に格納されているデータを正当に読み書き可能である。
The verification computer 400 is a computer for the verifier to verify the validity of the calculation result by the
検証者は、監査プログラム120fによる演算結果が正当なものであるかの検証を行う際には、検証用コンピュータ400を用いて、ネットワーク500を介して検証用コンピュータ400に接続された監査用サーバ2200から、演算時に格納された入力データ2200d、出力データ2200g、およびタイムスタンプ2200hを読み出して、第1の実施の形態と同様に、演算結果の検証を行う。
When the verifier verifies whether the calculation result by the
ここで、本実施の形態の認証情報2200a、プログラム署名情報2200b、入力データ2200d、監査プログラム2200f、出力データ2200g、およびタイムスタンプ2200hは、それぞれ第1の実施の形態の認証情報200a、プログラム署名情報200b、入力データ200d、監査プログラム200f、出力データ200g、およびタイムスタンプ200hに相当する。
Here, the
なお、本実施の形態では、改ざん防止プログラム110を実行する監査用コンピュータ100がタイムスタンプを生成するが、これに限らず、外部に設けられたタイムスタンプ認証センタに設置された図示しないタイムスタンプ認証コンピュータなどの、監査用コンピュータ100以外のタイムスタンプ認証コンピュータが、タイムスタンプを生成してもよい。この場合、監査用コンピュータ100、検証用コンピュータ400、監査用サーバ2200、およびタイムスタンプ認証コンピュータは、ネットワーク500によって接続される。
In this embodiment, the
第2の実施の形態では、第1の実施の形態に加えて、監査用コンピュータ100、検証用コンピュータ400、および監査用サーバ2200がネットワーク500によって接続されているので、第1の実施の形態のように、トークンモジュール200を監査用コンピュータ100と検証用コンピュータ400との間で接続し直したり、トークンモジュール200を持ち運んだりする必要がない。さらに、監査から検証までを、ネットワーク500を介することにより、短期間で処理することができる。
In the second embodiment, in addition to the first embodiment, the
[第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
第3の実施の形態では、監査プログラム120fおよび改ざん防止プログラム110のインストールや、入力データ、演算結果や第1の実施の形態でトークンモジュール200に格納される情報を、監査用ファイルに書き込んだ監査用コンピュータ100を貸し出し、演算処理が完了した後に、検証者に監査用コンピュータ100を提出することとなる。
In the third embodiment, the
監査用ファイルは、改ざん防止のために、例えば、パスワードによる暗号化など、データが暗号化処理や署名処理が施される。また、ユーザに貸し出される監査用コンピュータ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
次に、第3の実施の形態において、監査プログラム120fによる処理結果の改ざんを防止するために改ざん防止プログラム110が監査用コンピュータ100に実現させる機能について説明する。
Next, in the third embodiment, a function that the
図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
認証情報受付部110aは、監査用ファイル3200に格納されており監査用ファイル3200を認証するための認証情報3200aを、監査用ファイル3200から取得する。この認証情報3200aは、監査用ファイル3200に、不正に書き換えることができないように格納されている情報である。なお、認証情報3200aは、第1の実施の形態と同様に、チャレンジ・レスポンス認証などのワンタイム・パスワードを用いて動的に変化させて、よりセキュアに構成してもよい。
The authentication
プログラム署名受付部110bは、監査用ファイル3200に格納されており監査プログラム120fに関する情報に電子署名を施したプログラム署名情報3200bを受け付ける。
The program
プログラム確認部110cは、第1の実施の形態と同様に、プログラム署名情報3200bに基づいて、監査プログラム120fの正当性を確認する。監査プログラム120fの正当性の確認は、第1の実施の形態と同様に、改ざん防止処理(図5参照)のステップS15において、監査用ファイル3200から読み出されたプログラム署名情報3200bと、改ざん防止処理(図5参照)のステップS14において、監査プログラム120fに関する情報に対して、前述のプログラム署名情報3200bを作成するときに用いられた電子署名の署名鍵と同一の署名鍵を施して作成された監査プログラム120fの電子署名とを比較することによって行われる。
As in the first embodiment, the
そして、第1の実施の形態と同様に、この比較の結果、一致していれば、監査プログラム120fは正当性が認められる一方、一致しなければ、監査プログラム120fの正当性は認められず、不正が行われている可能性があることになる。ここで、「プログラム署名情報3200bを作成するときに用いられた署名鍵と同一の署名鍵」は、監査用ファイル3200に格納されており、第1の実施の形態と同様に、プログラム作成ベンダーの署名鍵(KEVA201K:図4参照)である。
As in the first embodiment, if the comparison results in a match, the
なお、監査プログラム120fの正当性の確認は、監査用ファイル3200から読み出されたプログラム署名情報3200bを電子署名の公開鍵で復号化したものと、プログラム署名情報3200bを生成するときに用いたハッシュ関数と同一のハッシュ関数で求めた監査プログラム120fに関する情報とを比較することによって行ってもよい。
The validity of the
入力データ受付部110dは、第1の実施の形態と同様に、監査プログラム120fによって処理される入力データ300の入力を受け付ける。そして、入力データ受付部110dは、受け付けた当該入力データ300を監査用ファイル3200に送信する。送信された入力データ300は、監査用ファイル3200において、入力データ3200dとして格納される。この監査用ファイル3200に格納された入力データ3200dは、後述する出力データ3200gおよびタイムスタンプ3200hと共に、第1の実施の形態と同様に、検証用コンピュータ400によって、監査プログラム120fの処理結果の改ざんがされていないことの検証に用いられる。
The input
ここで、前述したように、監査用ファイル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
監査プログラム格納部120は、監査用コンピュータ100のユーザの指示により、第1の実施の形態と同様に、監査用ファイル3200に圧縮されて格納されている監査プログラム3200fを読み出して、読み出された監査プログラム3200fを監査プログラム格納部120自身に展開して監査プログラム120fとして、監査用コンピュータ100により実行可能に格納する。
The audit
監査プログラム実行部110eは、第1の実施の形態と同様に、監査プログラム120fの実行を指示する。また、監査プログラム実行部110eは、監査プログラム120fの実行を指示する際には、監査プログラム格納部120に格納された監査プログラム120fを読み出して監査用コンピュータ100に実行させる。この監査プログラム実行部110eによる実行の指示に基づいて、監査用コンピュータ100は、監査プログラム120fによって、入力データ300に対して演算処理を行う。
The audit
そして、監査プログラム実行部110eは、第1の実施の形態と同様に、入力データ300に基づく監査プログラム120fの演算結果を出力データ3200gとして取得する。この出力データ3200gは、改ざんがされていないことの検証の対象となるデータである。
And the audit
出力データ送信部110gは、監査プログラム実行部110eによって取得された出力データを、監査用ファイル3200に送信する。送信された出力データは、監査用ファイル3200に、出力データ3200gとして格納される。
The output
タイムスタンプ出力部110hは、第1の実施の形態と同様に、入力データ300に関する情報、出力データ3200gに関する情報、認証情報3200aに関する情報、プログラム署名情報3200bに関する情報、および監査プログラム120fの実行によって算出された出力データ3200gの算出時刻を示す情報に電子署名を施すことによって、タイムスタンプを生成する。そして、タイムスタンプ出力部110hは、生成したタイムスタンプを、監査用ファイル3200に送信する。送信されたタイムスタンプは、監査用ファイル3200に、タイムスタンプ3200hとして格納される。また、タイムスタンプ出力部110hは、タイムスタンプ3200hをプリンタ153に出力可能である。
Similar to the first embodiment, the time
検証用コンピュータ400は、検証者が、監査プログラム120fによる演算結果の正当性の検証を行うためのコンピュータである。検証用コンピュータ400は、不正アクセス対策が採られた監査用ファイル3200に格納されているデータを正当に読み書き可能である。
The verification computer 400 is a computer for the verifier to verify the validity of the calculation result by the
検証者は、監査プログラム120fによる演算結果が正当なものであるかの検証を行う際には、検証用コンピュータ400を用いて、ネットワーク500を介して検証用コンピュータ400に接続された監査用ファイル3200から、演算時に格納された入力データ3200d、出力データ3200g、およびタイムスタンプ3200hを読み出して、第1の実施の形態と同様に、演算結果の検証を行う。
When the verifier verifies whether the calculation result by the
ここで、本実施の形態の認証情報3200a、プログラム署名情報3200b、入力データ3200d、監査プログラム3200f、出力データ3200g、およびタイムスタンプ3200hは、それぞれ第1の実施の形態の認証情報200a、プログラム署名情報200b、入力データ200d、監査プログラム200f、出力データ200g、およびタイムスタンプ200hに相当する。
Here, the authentication information 3200a, the
第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
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.
1 コンピュータ
2 情報格納手段
2a 入力データ
2c 出力データ
2d 監査署名情報
3 入力データ
4 コンピュータ
4a 検証手段
11 改ざん防止プログラム
11a 入力データ受付手段
11b 演算プログラム実行手段
11c 出力データ送信手段
11d 監査署名情報出力手段
12 演算プログラム
DESCRIPTION OF
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.
前記演算プログラムによって処理される入力データの入力を受け付けると共に、受け付けた当該入力データを情報格納手段に送信する入力データ受付手段と、
前記入力データに基づく前記演算プログラムを実行し、前記演算プログラムの演算結果を出力データとして取得する演算プログラム実行手段と、
前記演算プログラム実行手段によって取得された前記出力データを前記情報格納手段に送信する出力データ送信手段と、
前記出力データに関する情報および前記入力データに関する情報に電子署名を施した監査署名情報を生成し、生成した前記監査署名情報を前記情報格納手段に送信する監査署名情報出力手段と、
を有することを特徴とする改ざん防止装置。 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:
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)
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 |
-
2007
- 2007-08-15 JP JP2007211725A patent/JP2009048283A/en active Pending
Cited By (5)
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 |