JP2005328198A - Program, computer, and data processing method - Google Patents
Program, computer, and data processing method Download PDFInfo
- Publication number
- JP2005328198A JP2005328198A JP2004142824A JP2004142824A JP2005328198A JP 2005328198 A JP2005328198 A JP 2005328198A JP 2004142824 A JP2004142824 A JP 2004142824A JP 2004142824 A JP2004142824 A JP 2004142824A JP 2005328198 A JP2005328198 A JP 2005328198A
- Authority
- JP
- Japan
- Prior art keywords
- data
- procedure
- signature
- certified
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、署名された被証明データの有効性を検証するプログラム、コンピュータ、データ処理方法に関する。 The present invention relates to a program, a computer, and a data processing method for verifying the validity of signed data to be certified.
例えば、クライアント装置は、ユーザの操作に応じて文書データなどを生成し、その正当性を示す署名データを当該文書データに付加して他のクライアント装置に送信する場合がある。
このようなクライアント装置では、署名データは、当該クライアント装置内に記憶された秘密鍵データを基に生成される。
ところで、上記クライアント装置が盗難等された場合に、盗難を行った不正なユーザは、クライアント装置内に記憶された秘密鍵データを基に署名データを生成することで、クライアント装置の正当なユーザになりすますことができる。
このような事態を防止するために、例えば、クライアント装置が盗難された場合に、盗難にあった時刻を指定して、公開鍵の発行元のサーバ装置に通知を行い、当該サーバ装置が、上記指定された時刻以降は公開鍵証明書データが無効であることを示す有効期間データを公開鍵証明書データと対応付けて発行する。
For example, the client device may generate document data or the like in response to a user operation, add signature data indicating its validity to the document data, and transmit the document data to another client device.
In such a client device, the signature data is generated based on the secret key data stored in the client device.
By the way, when the client device is stolen or the like, an unauthorized user who has stolen can generate signature data based on the secret key data stored in the client device, so that a legitimate user of the client device can be obtained. Can be spoofed.
In order to prevent such a situation, for example, when a client device is stolen, the server device that issued the public key is notified by designating the time at which the client device was stolen. After the designated time, valid period data indicating that the public key certificate data is invalid is issued in association with the public key certificate data.
署名データの検証側は、検証対象の署名データ内に含まれる当該署名データの生成時刻を示す生成時刻データと、上記サーバ装置から受信した有効時間データとを基に、署名データの有効性を検証する。 The verification side of the signature data verifies the validity of the signature data based on the generation time data indicating the generation time of the signature data included in the signature data to be verified and the valid time data received from the server device. To do.
ところで、上述した従来のシステムでは、生成時刻データの基準となるクライアント装置内のタイマが示すタイマ値が不正に設定されてしまうと、署名データの有効性を正しく検証できないという問題がある。 By the way, in the conventional system described above, there is a problem that the validity of the signature data cannot be correctly verified if the timer value indicated by the timer in the client device serving as a reference for the generation time data is set illegally.
本発明は上述した従来技術の問題点を解決し、上述した目的を達成するために、被証明データに付された署名データの有効性を高い信頼性で検証することを可能にするプログラム、コンピュータおよびデータ処理方法を提供することを目的とする。 The present invention solves the above-described problems of the prior art and achieves the above-described object, and a program and a computer that can verify the validity of signature data attached to data to be certified with high reliability And it aims at providing a data processing method.
上述した従来技術の問題点を解決し、上述した目的を達成するため、第1の発明のプログラムは、コンピュータに処理を実行させるプログラムであって、被証明データに関する署名データを生成する度に、カウントデータを増加あるいは減少の何れか一方向に前記コンピュータ内でセキュアな状態で更新する第1の手順と、前記被証明データと前記第1の手順で更新した前記カウントデータとに対して前記署名データを生成する第2の手順と、前記第1の手順で更新したカウントデータと前記第2の手順で生成した前記署名データとを前記被証明データに付加する第3の手順とを前記コンピュータに実行させる。 In order to solve the above-described problems of the prior art and achieve the above-described object, the program of the first invention is a program for causing a computer to execute processing, and each time generating signature data related to data to be certified, A first procedure for updating count data in a secure manner in the computer in either direction of increase or decrease; and the signature for the data to be certified and the count data updated in the first procedure A second procedure for generating data, and a third procedure for adding the count data updated in the first procedure and the signature data generated in the second procedure to the certified data. Let it run.
第1の発明のプログラムの作用は以下のようになる。
先ず、コンピュータが第1の発明のプログラムを実行する。
そして、前記コンピュータが、第1の手順に従って、被証明データに関する署名データを生成する度に、カウントデータを増加あるいは減少の何れか一方向に前記コンピュータ内でセキュアな状態で更新する。
次に、前記コンピュータが、第2の手順に従って、前記被証明データと前記第1の手順で更新した前記カウントデータとに対して前記署名データを生成する。
次に、前記コンピュータが、第3の手順に従って、前記第1の手順で更新したカウントデータと前記第2の手順で生成した前記署名データとを前記被証明データに付加する。
The operation of the program of the first invention is as follows.
First, the computer executes the program of the first invention.
Then, each time the computer generates signature data related to the data to be certified according to the first procedure, the count data is updated in a secure state in the computer in either one of the increasing and decreasing directions.
Next, the computer generates the signature data for the certified data and the count data updated in the first procedure according to a second procedure.
Next, the computer adds the count data updated in the first procedure and the signature data generated in the second procedure to the certified data according to a third procedure.
第2の発明のコンピュータは、プログラムを記憶するメモリと、被証明データに関する署名データを生成する度に、カウントデータを増加あるいは減少の何れか一方向にセキュアな状態で更新するカウンタと、前記メモリから読み出した前記プログラムに従って、前記被証明データと前記カウンタの前記カウントデータとに対して前記署名データを生成し、当該カウントデータと前記署名データとを前記被証明データに付加する実行回路とを有する。 A computer according to a second aspect of the invention includes a memory for storing a program, a counter for updating count data in a secure state in one direction of increasing or decreasing each time signature data relating to data to be certified is generated, and the memory An execution circuit for generating the signature data for the certified data and the count data of the counter according to the program read from the execution data, and adding the count data and the signature data to the certified data .
第2の発明のコンピュータの作用は以下のようになる。
第2の発明のコンピュータの実行回路が、メモリから第2の発明のプログラムを読み出して実行する。
また、カウンタは、前記実行回路が被証明データに関する署名データを生成する度に、カウントデータを増加あるいは減少の何れか一方向にセキュアな状態で更新する。
そして、前記実行回路が、前記プログラムに従って、前記被証明データと前記カウンタの前記カウントデータとに対して前記署名データを生成し、当該カウントデータと前記署名データとを前記被証明データに付加する。
The operation of the computer of the second invention is as follows.
The execution circuit of the computer of the second invention reads the program of the second invention from the memory and executes it.
The counter updates the count data in a secure state in either direction of increasing or decreasing each time the execution circuit generates signature data related to the data to be certified.
Then, the execution circuit generates the signature data for the certified data and the count data of the counter according to the program, and adds the count data and the signature data to the certified data.
第3の発明のデータ処理方法は、コンピュータが実行するデータ処理方法であって、被証明データに関する署名データを生成する度に、カウントデータを増加あるいは減少の何れか一方向に前記コンピュータ内でセキュアな状態で更新する第1の工程と、前記被証明データと前記第1の工程で更新した前記カウントデータとに対して前記署名データを生成する第2の工程と、前記第1の工程で更新したカウントデータと前記第2の工程で生成した前記署名データとを前記被証明データに付加する第3の工程とを有する。 A data processing method according to a third aspect of the present invention is a data processing method executed by a computer, wherein each time signature data relating to data to be certified is generated, the count data is increased or decreased in either direction. A first step of updating the signature data, a second step of generating the signature data for the certified data and the count data updated in the first step, and updating in the first step And a third step of adding the count data and the signature data generated in the second step to the data to be certified.
第4の発明のプログラムは、被証明データに付加され当該被証明データの正当性を示す署名データが予め規定された鍵データを基に生成されたか否かを検証する第1の手順と、前記第1の手順で前記署名データが前記鍵データを基に生成されたと判断したことを条件に、前記被証明データに付加され前記署名データの生成元で当該署名データが生成される度に増加あるいは減少の何れか一方に更新されるカウントデータと、無効化対象の署名データのカウントデータとを基に、前記署名データの有効性を判断する第2の手順とをコンピュータに実行させる。 According to a fourth aspect of the invention, there is provided a first procedure for verifying whether or not signature data added to data to be certified and indicating the validity of the data to be certified is generated based on predetermined key data; Increased each time the signature data is generated at the generation source of the signature data added to the data to be certified, provided that the signature data is determined to be generated based on the key data in the first procedure. The computer is caused to execute a second procedure for determining the validity of the signature data based on the count data updated to one of the decreases and the count data of the signature data to be invalidated.
第4の発明のプログラムの作用は以下のようになる。
コンピュータが第4の発明のプログラムを実行する。
そして、コンピュータが、第1の手順に従って、被証明データに付加され当該被証明データの正当性を示す署名データが予め規定された鍵データを基に生成されたか否かを検証する。
次に、前記コンピュータが、第2の手順に従って、前記第1の手順で前記署名データが前記鍵データを基に生成されたと判断したことを条件に、前記被証明データに付加され前記署名データの生成元で当該署名データが生成される度に増加あるいは減少の何れか一方に更新されるカウントデータと、無効化対象の署名データのカウントデータとを基に、前記署名データの有効性を判断する。
The operation of the program of the fourth invention is as follows.
The computer executes the program of the fourth invention.
Then, according to the first procedure, the computer verifies whether or not the signature data added to the data to be certified and indicating the validity of the data to be certified is generated based on the key data defined in advance.
Next, on the condition that the computer determines that the signature data is generated based on the key data in the first procedure according to the second procedure, the computer adds the signature data to the certified data. The validity of the signature data is judged based on the count data updated to either increase or decrease each time the signature data is generated at the generation source and the count data of the signature data to be invalidated. .
第5の発明のコンピュータは、プログラムを記憶するメモリと、前記メモリか読み出した前記プログラムに従って、被証明データに付加され当該被証明データの正当性を示す署名データが予め規定された鍵データを基に生成されたか否かを検証し、前記署名データが前記鍵データを基に生成されたと判断したことを条件に、前記被証明データに付加され前記署名データの生成元で当該署名データが生成される度に増加あるいは減少の何れか一方に更新されるカウントデータと、無効化対象の署名データのカウントデータとを基に、前記署名データの有効性を判断する実行回路とを有する。 According to a fifth aspect of the present invention, there is provided a computer based on a key memory in which a memory for storing a program and signature data added to the data to be certified and indicating the validity of the data to be certified are prescribed in accordance with the program read from the memory. The signature data is generated at the generation source of the signature data that is added to the certified data on the condition that the signature data is generated based on the key data. And an execution circuit that determines the validity of the signature data based on the count data updated to either increase or decrease each time and the count data of the signature data to be invalidated.
第5の発明のコンピュータの作用は以下のようになる。
先ず、実行回路が、メモリからプログラムを読み出して実行する。
次に、前記実行回路が、前記プログラムに従って、被証明データに付加され当該被証明データの正当性を示す署名データが予め規定された鍵データを基に生成されたか否かを検証する。
そして、前記実行回路が、前記プログラムに従って、前記署名データが前記鍵データを基に生成されたと判断したことを条件に、前記被証明データに付加され前記署名データの生成元で当該署名データが生成される度に増加あるいは減少の何れか一方に更新されるカウントデータと、無効化対象の署名データのカウントデータとを基に、前記署名データの有効性を判断する。
The operation of the computer of the fifth invention is as follows.
First, the execution circuit reads a program from the memory and executes it.
Next, the execution circuit verifies whether signature data added to the data to be certified and indicating the validity of the data to be certified is generated based on the key data defined in advance according to the program.
Then, the execution circuit adds to the data to be certified and generates the signature data at the generation source of the signature data on the condition that the signature data is generated based on the key data according to the program. The validity of the signature data is determined based on the count data updated to either increase or decrease each time the count is performed and the count data of the signature data to be invalidated.
第6の発明のデータ処理方法は、コンピュータが実行するデータ処理方法であって、被証明データに付加され当該被証明データの正当性を示す署名データが予め規定された鍵データを基に生成されたか否かを検証する第1の工程と、前記第1の工程で前記署名データが前記鍵データを基に生成されたと判断したことを条件に、前記被証明データに付加され前記署名データの生成元で当該署名データが生成される度に増加あるいは減少の何れか一方に更新されるカウントデータと、無効化対象の署名データのカウントデータとを基に、前記署名データの有効性を判断する第2の工程とを有する。 A data processing method according to a sixth aspect of the present invention is a data processing method executed by a computer, wherein signature data added to the data to be certified and indicating the validity of the data to be certified is generated based on the pre-defined key data. A first step of verifying whether or not the signature data is generated on the condition that the signature data has been generated based on the key data in the first step. First, the validity of the signature data is determined based on the count data that is updated to either increase or decrease each time the signature data is generated and the count data of the signature data to be invalidated. 2 steps.
第7の発明のデータ処理方法は、第1のコンピュータと第2のコンピュータが通信を行うデータ処理方法であって、第1のコンピュータが、被証明データに関する署名データを生成する度に、カウントデータを増加あるいは減少の何れか一方向に前記コンピュータ内でセキュアな状態で更新する第1の工程と、前記第1のコンピュータが、前記被証明データと前記第1の工程で更新した前記カウントデータとに対して前記署名データを生成する第2の工程と、前記第1のコンピュータが、前記第1の工程で更新したカウントデータと前記第2の工程で生成した前記署名データとを前記被証明データに付加して第2のコンピュータに送信する第3の工程と、前記第2のコンピュータが、前記第3の工程で受信した前記被証明データに付加された前記署名データが予め規定された鍵データを基に生成されたか否かを検証する第4の工程と、前記第2のコンピュータが、前記第4の工程で前記署名データが前記鍵データを基に生成されたと判断したことを条件に、前記被証明データに付加された前記カウントデータと、無効化対象の署名データのカウントデータとを基に、前記署名データの有効性を判断する第5の工程とを有する。 According to a seventh aspect of the present invention, there is provided a data processing method in which a first computer and a second computer communicate with each other, and each time the first computer generates signature data relating to data to be certified, the count data A first step of updating the computer in a secure state in either one of an increase or a decrease, and the first computer updates the certified data and the count data updated in the first step. A second step of generating the signature data with respect to the data to be certified, the count data updated in the first step by the first computer, and the signature data generated in the second step. And a third step of transmitting to the second computer, and the second computer is added to the certified data received in the third step. A fourth step of verifying whether the signature data is generated based on key data defined in advance; and the second computer, wherein the signature data is based on the key data in the fourth step. Fifth step of determining the validity of the signature data based on the count data added to the certified data and the count data of the signature data to be invalidated on the condition that it has been generated And have.
第8の発明のプログラムは、コンピュータに処理を実行させるプログラムであって、前記コンピュータ内においてセキュアな状態で計時を行うタイマが示す時データの正当性を前記コンピュータの外部の所定の証明元に証明させ、当該証明の結果を示す証明データを受信する第1の手順と、前記被証明データに関する署名データを生成したときに前記タイマが示す時データを取得する第2の手順と、前記被証明データと前記第2の手順で取得した前記時データとに対して前記署名データを生成する第3の手順と、前記第1の手順で受信した前記証明データと、前記第2の手順で取得した前記時データと、前記第3の手順で生成した前記署名データとを前記被証明データに付加する第4の手順とを前記コンピュータに実行させる。 A program according to an eighth invention is a program for causing a computer to execute processing, and proves the validity of data indicated by a timer that measures time in a secure state in the computer to a predetermined proof source outside the computer. A first procedure for receiving proof data indicating the result of the proof, a second procedure for obtaining time data indicated by the timer when signature data relating to the proof data is generated, and the proof data And the time data acquired in the second procedure, a third procedure for generating the signature data, the certification data received in the first procedure, and the certificate acquired in the second procedure Causing the computer to execute a fourth procedure of adding time data and the signature data generated in the third procedure to the data to be certified.
第8の発明のプログラムの作用は以下のようになる。
先ず、コンピュータが第8の発明のプログラムを実行する。
そして、前記コンピュータが、前記プログラムの第1の手順に従って、前記コンピュータ内においてセキュアな状態で計時を行うタイマが示す時データの正当性を前記コンピュータの外部の所定の証明元に証明させ、当該証明の結果を示す証明データを受信する。
次に、前記コンピュータが、第2の手順に従って、前記被証明データに関する署名データを生成したときに前記タイマが示す時データを取得する。
次に、前記コンピュータが、第3の手順に従って、前記被証明データと前記第2の手順で取得した前記時データとに対して前記署名データを生成する。
次に、前記コンピュータが、第4の手順に従って、前記第1の手順で受信した前記証明データと、前記第2の手順で取得した前記時データと、前記第3の手順で生成した前記署名データとを前記被証明データに付加する。
The operation of the program of the eighth invention is as follows.
First, the computer executes the program of the eighth invention.
Then, according to the first procedure of the program, the computer causes a predetermined proof source outside the computer to prove the validity of the time indicated by the timer that performs timekeeping in a secure state in the computer. Proof data indicating the result of is received.
Next, the time data indicated by the timer is acquired when the computer generates signature data related to the data to be certified according to the second procedure.
Next, the computer generates the signature data for the certified data and the time data acquired in the second procedure according to a third procedure.
Next, according to a fourth procedure, the proof data received by the first procedure, the time data obtained by the second procedure, and the signature data generated by the third procedure by the computer Are added to the data to be certified.
第9の発明のプログラムは、被証明データに付加された署名データが予め規定された鍵データを基に生成されたか否かを検証する第1の手順と、前記署名データの生成元においてセキュアな状態で計時を行うタイマが示す時データの正当性を示す証明データを検証する第2の手順と、前記第1の手順で前記署名データが前記鍵データを基に生成されたと判断し、且つ前記第2の手順で前記証明データが正当であると判断したことを条件に、前記被証明データに付加された時データと、前記署名データを無効にする時を示す時データとを基に、前記署名データの有効性を判断する第3の手順とをコンピュータに実行させる。 According to a ninth aspect of the invention, there is provided a program for verifying whether or not signature data added to data to be certified is generated based on key data defined in advance, and secures the signature data generation source. A second procedure for verifying the proof data indicating the validity of the time data indicated by the timer that counts the time in the state; determining that the signature data is generated based on the key data in the first procedure; and Based on the fact that the certification data is determined to be valid in the second procedure, based on the time data added to the certification data and the time data indicating when to invalidate the signature data, Causing the computer to execute a third procedure for determining the validity of the signature data.
第9の発明のプログラムの作用は以下のようになる。
先ず、コンピュータが第9の発明のプログラムを実行する。
そして、前記コンピュータが、第1の手順に従って、被証明データに付加された署名データが予め規定された鍵データを基に生成されたか否かを検証する。
次に、前記コンピュータが、第2の手順に従って、前記署名データの生成元においてセキュアな状態で計時を行うタイマが示す時データの正当性を示す証明データを検証する。
次に、前記コンピュータが、第3の手順に従って、前記第1の手順で前記署名データが前記鍵データを基に生成されたと判断し、且つ前記第2の手順で前記証明データが正当であると判断したことを条件に、前記被証明データに付加された時データと、前記署名データを無効にする時を示す時データとを基に、前記署名データの有効性を判断する。
The operation of the program of the ninth invention is as follows.
First, the computer executes the program of the ninth invention.
Then, according to the first procedure, the computer verifies whether or not the signature data added to the data to be certified is generated based on the key data defined in advance.
Next, the computer verifies the proof data indicating the validity of the time data indicated by the timer that measures the time in a secure state at the signature data generation source according to the second procedure.
Next, the computer determines that the signature data is generated based on the key data in the first procedure according to a third procedure, and the proof data is valid in the second procedure. On the condition that it is determined, the validity of the signature data is determined based on the time data added to the data to be certified and the time data indicating the time to invalidate the signature data.
本発明によれば、被証明データに付された署名データの有効性を適切に検証することを可能にするプログラム、コンピュータおよびデータ処理方法を提供することができる。 According to the present invention, it is possible to provide a program, a computer, and a data processing method that make it possible to appropriately verify the validity of signature data attached to data to be certified.
以下、本発明の実施形態に係わる通信システムについて説明する。
<第1実施形態>
以下、本発明の第1実施形態を説明する。
〔本発明の構成との対応関係〕
先ず、本実施形態の構成要素と、本発明の構成要素との対応関係を説明する。
本実施形態において、アプリケーションプログラムAPが、第1および第2の発明のプログラムに対応している。
ここで、図6に示すステップST15が第1の発明の第1の手順および第2の手順、並びに第3の発明の第1の工程および第2の工程に対応している。
また、図6に示すステップST18が第1の発明の第3の手順、並びに第3の発明の第3の工程に対応している。
また、図2に示すメモリ43が第2の発明のメモリに対応し、CPU45が第2の発明の実行回路に対応し、図4に示すカウンタ58が第2の発明のカウンタに対応している。
また、本発明において、文書データDDが本発明の被証明データに対応している。
Hereinafter, a communication system according to an embodiment of the present invention will be described.
<First Embodiment>
Hereinafter, a first embodiment of the present invention will be described.
[Correspondence with Configuration of the Present Invention]
First, the correspondence between the components of the present embodiment and the components of the present invention will be described.
In the present embodiment, the application program AP corresponds to the programs of the first and second inventions.
Here, step ST15 shown in FIG. 6 corresponds to the first and second procedures of the first invention, and the first and second steps of the third invention.
Step ST18 shown in FIG. 6 corresponds to the third procedure of the first invention and the third step of the third invention.
2 corresponds to the memory of the second invention, the
In the present invention, the document data DD corresponds to the data to be certified of the present invention.
また、本実施形態において、オペレーティングシステムOSが、第4および第5の発明のプログラムに対応している。
ここで、図8に示すステップST35が第4の発明の第1の手順、並びに第6の発明の第1の工程に対応している。
また、図8に示すステップST39〜ST43が第4の発明の第2の手順、並びに第6の発明の第2の工程に対応している。
また、図2に示すメモリ43が第5の発明のメモリに対応し、CPU45が第5の発明の実行回路に対応している。
また、CPU45が、本発明のコンピュータに対応している。
In the present embodiment, the operating system OS corresponds to the programs of the fourth and fifth inventions.
Here, step ST35 shown in FIG. 8 corresponds to the first procedure of the fourth invention and the first step of the sixth invention.
Steps ST39 to ST43 shown in FIG. 8 correspond to the second procedure of the fourth invention and the second step of the sixth invention.
The memory 43 shown in FIG. 2 corresponds to the memory of the fifth invention, and the
The
図1は、本発明の第1実施形態の通信システム1の全体構成図である。
図1に示すように、通信システム1は、例えば、クライアント装置C1,C2、文書配信サーバ10、認証機関(CA)12および無効リスト配信サーバ14を有する。
本実施形態では、クライアント装置C1,C2、文書配信サーバ10、認証機関12および無効リスト配信サーバ14の間の通信はネットワーク9を介して行われる。
なお、本実施形態では2つのクライアント装置を例示するが、クライアント装置の数は任意である。
FIG. 1 is an overall configuration diagram of a
As illustrated in FIG. 1, the
In the present embodiment, communication among the
In the present embodiment, two client devices are illustrated, but the number of client devices is arbitrary.
〔認証機関12〕
認証機関12は、クライアント装置C1,C2の各々のセキュリティチップSCに対して秘密鍵データKpri1,Kpri2(Kpri)を発行し、これらをセキュアな状態で提供する。
また、認証機関12は、秘密鍵データKpri1,Kpri2の各々に対応した公開鍵証明データCert1,Cert2(Cert)を発行する。
[Certification body 12]
The certification authority 12 issues secret key data Kpri1, Kpri2 (Kpri) to the security chips SC of the client devices C1 and C2, and provides them in a secure state.
Further, the certification authority 12 issues public key certification data Cert1, Cert2 (Cert) corresponding to each of the secret key data Kpri1, Kpri2.
〔無効リスト配信サーバ14〕
無効リスト配信サーバ14は、クライアント装置C1,C2から、無効対象の署名データSDの生成に用いられた秘密鍵データKpriに対応した公開鍵データKpubの識別データKpubIDと、無効にする直前に署名データSDを生成したときのカウントデータCDとを含む無効通知データRNを受信する。
そして、無効リスト配信サーバ14は、無効通知データRNを基に、無効リストデータRLISTを更新する。
無効リストデータRLISTは、無効対象の識別データKpubIDと、カウントデータCDとを対応付けて示している。
[Invalid list distribution server 14]
The invalid
Then, the invalid
The invalid list data RLIST indicates the invalid target identification data KpubID and the count data CD in association with each other.
以下、クライアント装置C1について説明する。
なお、クライアント装置C2は、クライアント装置C1と同じ構成を有している。
クライアント装置C1,C2は、例えば、パーソナルコンピュータ、PDA(Personal Digital Assistants)および携帯電話などの通信機器である。
〔クライアント装置C1〕
図2は、図1に示すクライアント装置C1の構成図である。
図2に示すように、クライアント装置C1は、例えば、インタフェース42、メモリ43、セキュリティチップSC、CPU45、ディスプレイ46および操作部47を有し、これらがデータ線40を介して接続されている。
Hereinafter, the client device C1 will be described.
The client device C2 has the same configuration as the client device C1.
The client devices C1 and C2 are communication devices such as personal computers, PDAs (Personal Digital Assistants), and mobile phones.
[Client device C1]
FIG. 2 is a configuration diagram of the client device C1 shown in FIG.
As shown in FIG. 2, the client device C1 includes, for example, an
インタフェース42は、ネットワーク9を介してクライアント装置C2との間でデータおよび要求の送受信を行う。
メモリ43は、プログラムBIOS(Basic Input/Output System) 、ローダプログラムLoader、オペレーティングシステムOS( Operating System) およびアプリケーションプログラムAPを記憶する。
アプリケーションプログラムAPとしては、クライアント装置C1の動作を統括的に制御するプログラムPRG_C、文書作成プログラムW_APおよび文書閲覧プログラムR_APが備えられている。
The
The memory 43 stores a program BIOS (Basic Input / Output System), a loader program Loader, an operating system OS (Operating System), and an application program AP.
As the application program AP, a program PRG_C that comprehensively controls the operation of the client device C1, a document creation program W_AP, and a document browsing program R_AP are provided.
CPU45は、メモリ43に記憶された種々のプログラムを読み出し、所定のソフトウェア環境を実現する。
CPU45は、例えば、図3に示すように、CPU45およびセキュリティチップSCなどのハードウェア上でプログラムBIOSを動作させる。
また、CPU45は、プログラムBIOS上でローダプログラムLoaderを動作させ、このローダプログラムLoaderを基にオペレーティングシステムOSを起動する。
また、CPU45は、オペレーティングシステムOS上でアプリケーションプログラムAPを動作させる。
CPU45は、クライアント装置C1の後述する動作例で示す処理を統括的に制御する。
CPU45による制御は、後述する動作例と関連付けて説明する。
本実施形態では、CPU45は、後述するより、図5に示すように、文書データDDのハッシュデータHDと、署名データSD生成時のカウントデータCDと、署名データSDと、公開鍵証明書データCertとを文書データDDに付加して文書配信サーバ10に送信する。
The
For example, as shown in FIG. 3, the
Further, the
The
The
The control by the
In this embodiment, the
セキュリティチップSCは、耐タンパ性の回路であり、外部から当該回路に対する攻撃(内部データの不正読み出し、入力周波数や入力電圧を所定外に設定する攻撃)を加えたときに、誤動作や内部データの洩漏を生じないように構成された回路である。 The security chip SC is a tamper-resistant circuit. When an attack (external read of internal data, an attack that sets the input frequency or input voltage outside the predetermined range) is applied to the circuit from the outside, malfunction or internal data This is a circuit configured not to cause leakage.
ディスプレイ46は、CPU45からの表示信号に応じた画面を表示する。
操作部47は、キーボードやマウスなどの操作手段であり、ユーザの操作に応じた操作信号をCPU45に出力する。
The
The
図4は、図3に示すセキュリティチップSCの構成図である。
図4に示すように、セキュリティチップSCは、例えば、入出力回路(I/O)51、鍵生成回路52、ハッシュ回路53、乱数発生回路54、署名・暗号回路55、メモリ56、プロセッサ57およびカウンタ58を有し、これらがデータ線50を介して接続されている。
FIG. 4 is a configuration diagram of the security chip SC shown in FIG.
As shown in FIG. 4, the security chip SC includes, for example, an input / output circuit (I / O) 51, a
入出力回路51は、図2に示すデータ線40に接続され、セキュリティチップSCの内部と外部との間でデータ入出力を行う。
鍵生成回路52は、例えば、乱数発生回路54が発生した乱数を基に、セキュリティに係わる種々の鍵データを生成する。
ハッシュ回路53は、ハッシュデータを生成する。
乱数発生回路54は、乱数を発生(生成)する。
署名・暗号回路55は、鍵データを用いた暗号化および復号を行い、暗号データの生成、暗号データの復号、署名データの生成、並びに署名データの検証を行う。
メモリ56は、セキュリティチップSCの秘密鍵データKpri1を記憶する。
また、メモリ56は、サーバ装置S1の起動時に生成された起動プログラム検証データPHDを記憶する。
また、メモリ56は、署名データSDの公開鍵データの識別データKpubIDと、署名鍵データSDの生成時のカウントデータCDとの履歴を対応付けて示すログデータLOGを記憶する。
また、メモリ56は、公開鍵証明書データCert1を記憶する。
The input /
The
The
The random
The signature /
The memory 56 stores the secret key data Kpri1 of the security chip SC.
Further, the memory 56 stores activation program verification data PHD generated when the server device S1 is activated.
Further, the memory 56 stores log data LOG indicating the history of the identification data KpubID of the public key data of the signature data SD and the count data CD when the signature key data SD is generated.
The memory 56 stores public key certificate data Cert1.
プロセッサ57は、図2に示すCPU45からの制御に従って、セキュリティチップSCの動作を統括して制御する。
カウンタ58は、署名・暗号回路55が署名データを作成する度に、そのカウント値を「1」だけ増加(インクリメント)する。
なお、カウンタ58は、署名・暗号回路55が署名データを作成する度に、そのカウント値を「1」だけ減少(デクリメント)してもよい。
カウンタ58は、セキュリティチップSCに内蔵されているため、カウント値はセキュアな状態で更新され、ユーザはそのカウント値を調整できない。
The
The
The
Since the
以下、クライアント装置C1の動作例を説明する。
〔第1の動作例〕
以下、クライアント装置Cが文書データDDを生成する場合の動作例を説明する。
図6は、当該動作例を説明するためのフローチャートである。
ステップST11:
図2に示すクライアント装置C1のCPU45が、文書作成プログラムW_APに従って、操作部47から入力した操作信号を基に、文書データDDを生成する。
ステップST12:
CPU45が、文書作成プログラムW_APに従って、ステップST11で生成した文書データDDのハッシュデータHDを生成し、これをセキュリティチップSCに出力する。
具体的には、ハッシュデータHDは、文書作成プログラムW_APからオペレーティングシステムOSを経由してセキュリティチップSCに出力される。
文書作成プログラムW_APは、オペレーティングシステムOSにハッシュデータHDを提供(出力)し、署名データSDの生成を指示する。
Hereinafter, an operation example of the client device C1 will be described.
[First operation example]
Hereinafter, an operation example when the client apparatus C generates the document data DD will be described.
FIG. 6 is a flowchart for explaining the operation example.
Step ST11:
The
Step ST12:
The
Specifically, the hash data HD is output from the document creation program W_AP to the security chip SC via the operating system OS.
The document creation program W_AP provides (outputs) the hash data HD to the operating system OS and instructs the generation of the signature data SD.
ステップST13
セキュリティチップSCのプロセッサ57は、CPU45からの指示(プログラムPRG_C)に従って、カウンタ58のカウンタ値を示すカウントデータCDを読み出す。
ステップST14:
プロセッサ57は、ステップST12で入力したハッシュデータHDと、ステップST13で読み出したカウントデータCDとを連結してデータHD+CDを生成する。
ステップST15:
セキュリティチップSCの署名・暗号回路55が、メモリ56から読み出した秘密鍵データKpri1を基に、ステップST14で生成されたデータHD+CDの署名データSDを生成する。
そして、カウンタ58は、カウントデータCDのカウント値を「1」だけ増加させる。
ステップST16:
セキュリティチップSCのプロセッサ57は、署名データSD、並びにその生成時のカウントデータCDを基に、メモリ56に記憶されているログデータLOGを更新する。
ユーザは、メモリ56に記憶されているログデータを定期的にバックアップしてクライアント装置C1の外部の記録媒体に記録する。
Step ST13
The
Step ST14:
The
Step ST15:
The signature /
Then, the
Step ST16:
The
The user periodically backs up the log data stored in the memory 56 and records it on a recording medium external to the client device C1.
ステップST17:
プロセッサ57は、ステップST14で生成したデータCD+HD、ステップST15で生成した署名データSD、並びにメモリ56から読み出した公開鍵証明書データCert1を、入出力回路51を介してCPU45に出力する。
ステップST18:
CPU45は、文書作成プログラムW_APに従って、ステップST17で入力したデータCD+HD、署名データSD、並びに公開鍵証明書データCert1を、ステップST11で生成した文書データDDに付加する。
ステップST19:
CPU45は、ステップST18でデータCD+HD等が付加された文書データDDを、インタフェース42を介して図1に示す文書配信サーバ10に送信する。
文書配信サーバ10は、例えば、クライアント装置C2からの要求に応じて、ステップST18でデータCD+HD等が付加された文書データDDをクライアント装置C2に送信する。
Step ST17:
The
Step ST18:
In accordance with the document creation program W_AP, the
Step ST19:
The
For example, in response to a request from the client apparatus C2, the
〔第2の動作例〕
以下、クライアント装置C1が盗難等され、正当なユーザが署名データの無効化を無効リスト配信サーバ14に指示する場合の動作例を説明する。
図7は、当該動作例を説明するためのフローチャートである。
ステップST21:
クライアント装置C1が盗難等されると、正当なユーザが所定のコンピュータを操作し、過去にクライアント装置C1から外部の記録媒体に記憶したログデータLOGを基に、上記コンピュータが、図1に示すように、公開鍵データKpubの識別データKpubIDと、ログデータLOGが示す最新の署名データSDのカウントデータCDとを含む無効通知データRNを生成する。
ステップST22:
上記コンピュータは、ステップST21で生成した無効通知データRNを図1に示す無効リスト配信サーバ14に送信する。
[Second operation example]
Hereinafter, an operation example in the case where the client device C1 is stolen or the like and a valid user instructs the invalid
FIG. 7 is a flowchart for explaining the operation example.
Step ST21:
When the client device C1 is stolen or the like, a legitimate user operates a predetermined computer, and the computer, as shown in FIG. 1, based on log data LOG stored in an external recording medium from the client device C1 in the past. In addition, invalid notification data RN including identification data KpubID of public key data Kpub and count data CD of the latest signature data SD indicated by log data LOG is generated.
Step ST22:
The computer transmits the invalidity notification data RN generated in step ST21 to the invalidity
ステップST23:
無効リスト配信サーバ14は、ステップST22で受信した無効通知データRNを基に、無効リストデータRLISTを更新する。
ステップST24:
無効リスト配信サーバ14は、無効リストデータRLISTを公開する。
クライアント装置C1,C2を含むクライアント装置は、無効リスト配信サーバ14から無効リストRLISTを受信する。
Step ST23:
The invalid
Step ST24:
The invalid
Client devices including the client devices C1 and C2 receive the invalid list RLIST from the invalid
〔第3の動作例〕
以下、文書データDDを受信した場合の動作例を説明する。
以下の説明では、クライアント装置C2が、クライアント装置C1が第1の動作例で説明した手順で生成した文書データDDを受信する場合を説明する。
図8は、当該動作例を説明するためのフローチャートである。
ステップST31:
CPU45は、オペレーティングシステムOSに従って、無効リスト配信サーバ14にアクセスを行って無効リストデータRLISTを受信し、これをメモリ43に書き込む。
CPU45は、例えば、署名データSDの正当性を検証する度、あるいは定期的に無効リスト配信サーバ14から無効リストデータRLISTを受信する。
ステップST32:
CPU45は、文書閲覧プログラムR_APに従って、文書配信サーバ10から文書データDDを受信する。
当該文書データDDには、第1の動作例で図5を参照して説明したように、カウントデータCDとハッシュデータHDとを連結したデータCD+HD、データCD+HDの署名データSD、並びに公開鍵証明書データCert1が付加されている。
[Third operation example]
Hereinafter, an operation example when the document data DD is received will be described.
In the following description, a case where the client device C2 receives the document data DD generated by the client device C1 according to the procedure described in the first operation example will be described.
FIG. 8 is a flowchart for explaining the operation example.
Step ST31:
The
For example, the
Step ST32:
The
As described with reference to FIG. 5 in the first operation example, the document data DD includes data CD + HD obtained by concatenating count data CD and hash data HD, signature data SD of data CD + HD, and public key certificate. Data Cert1 is added.
ステップST33:
CPU45は、オペレーティングシステムOSに従って、ステップST32で受信した文書データDDに付加された公開鍵証明書データCert1の正当性を、例えば、認証機関12にアクセスして検証する。
ステップST34:
CPU45は、公開鍵証明書データCert1が正当であると判断するとステップST35に進み、そうでない場合にはステップST43に進む。
Step ST33:
In accordance with the operating system OS, the
Step ST34:
When determining that the public key certificate data Cert1 is valid, the
ステップST35:
CPU45は、オペレーティングシステムOSに従って、ステップST32で受信した文書データDDに付加された署名データSDが、公開鍵証明書データCert1に含まれる公開鍵データKpub1に対応した秘密鍵データKpri1を基に生成されたか否かを、図4に示すセキュリティチップSCの署名・暗号回路55に検証させる。
ステップST36:
CPU45は、オペレーティングシステムOSに従って、署名データSDが秘密鍵データKpri1を基に生成されたと判断すると判断するとステップST37に進み、そうでない場合にステップST43に進む。
Step ST35:
In accordance with the operating system OS, the
Step ST36:
If the
ステップST37:
CPU45は、公開鍵証明書データCert1に含まれる公開鍵データKpub1の識別データKpubIDに対応する項目が、ステップST31で受信した無効リストデータRLIST内に存在するか否かを判断する。
ステップST38:
CPU45は、ステップST37において存在すると判断するとステップST39に進み、存在しないと判断するとステップST43に進む。
Step ST37:
The
Step ST38:
If the
ステップST39:
CPU45は、オペレーティングシステムOSに従って、ステップST32で受信した文書データDDに付加されたカウントデータCDを署名時カウント値として取得する。
ステップST40:
CPU45は、オペレーティングシステムOSに従って、無効リストデータRLIST内の識別データKpubIDに対応付けられたカウントデータCDを無効時カウント値として取得する。
Step ST39:
The
Step ST40:
The
ステップST41:
CPU45は、オペレーティングシステムOSに従って、ステップST39で取得した署名時カウント値が、ステップST40で取得した無効時カウント値より大きいか否かを判断し、大きいと判断するとステップST43にすすみ、大きくないと判断するとステップST42に進む。
ステップST42:
CPU45は、文書データDDがクライアント装置C1の盗難等の前に生成された正当なものであると判断し、文書閲覧プログラムR_APに従って、それを利用する。
ステップST43:
CPU45は、文書データDDがクライアント装置C1の盗難等の後に生成された不正なものであると判断し、文書閲覧プログラムR_APによるその利用を禁止する。
Step ST41:
In accordance with the operating system OS, the
Step ST42:
The
Step ST43:
The
〔第4の動作例〕
以下、通信システム1の全体動作例を説明する。
図9は、当該動作例を説明するためのフローチャートである。
クライアント装置C1は、例えば、データCD(1)+HD、署名データSD、並びに公開鍵証明書データCert1が付加された文書データDDを文書配信サーバ10に送信する(ステップST51)。
また、クライアント装置C2は、無効リスト配信サーバ14から無効リストデータRLISTを受信する(ステップST52)。このとき、無効リストデータRLISTには、署名データSDの検証に用いられる公開鍵データKpub1の識別データKpubIDは含まれていない。
また、クライアント装置C2は、文書配信サーバ10から、データCD(1)+HD、署名データSD、並びに公開鍵証明書データCert1が付加された文書データDDを受信する(ステップST53)。
次に、クライアント装置C2は、ステップST52で受信した無効リストデータRLIST内に上記識別データKpubIDが含まれていないため、ステップST53で受信した文書データDDは正当であると判断する(ステップST54)。
[Fourth operation example]
Hereinafter, an example of the overall operation of the
FIG. 9 is a flowchart for explaining the operation example.
For example, the client device C1 transmits the document data DD to which the data CD (1) + HD, signature data SD, and public key certificate data Cert1 are added to the document distribution server 10 (step ST51).
Further, the client apparatus C2 receives the invalid list data RLIST from the invalid list distribution server 14 (step ST52). At this time, the invalid list data RLIST does not include the identification data KpubID of the public key data Kpub1 used for verifying the signature data SD.
Further, the client device C2 receives the document data DD to which the data CD (1) + HD, signature data SD, and public key certificate data Cert1 are added from the document distribution server 10 (step ST53).
Next, since the identification data KpubID is not included in the invalid list data RLIST received in step ST52, the client apparatus C2 determines that the document data DD received in step ST53 is valid (step ST54).
その後、クライアント装置C1が盗難された場合に(ステップST55)、クライアント装置C1の正当なユーザが、バックアップしたログデータLOGを基に、公開鍵データKpub1の識別データKpubIDと、ログデータLOGが示す最新の署名データSDのカウントデータCD(1)とを含む無効通知データRNを無効リスト配信サーバ14に送信する(ステップST56)。
無効リスト配信サーバ14は、受信した無効通知データRNを基に、無効リストデータRLISTを更新して無効リストデータRLIST(CD(1))にする。
そして、クライアント装置C2は、無効リスト配信サーバ14から無効リストデータRLIST(CD(1))を受信する(ステップST57)。このとき、無効リストデータRLIST(CD(1))には、署名データSDの検証に用いられる公開鍵データKpub1の識別データKpubIDが含まれている。
また、クライアント装置C1は、盗難を行った不正なユーザの指示に応じて、例えば、データCD(2)+HD、署名データSD、並びに公開鍵証明書データCert1が付加された文書データDDを文書配信サーバ10に送信する(ステップST58)。
ここで、カウントデータCD(2)は、署名データSDのカウントデータCD(1)より値が大きい。
そして、クライアント装置C2は、文書配信サーバ10から、データCD(2)+HD、署名データSD、並びに公開鍵証明書データCert1が付加された文書データDDを受信する(ステップST59)。
次に、クライアント装置C2は、ステップST57で受信した無効リストデータRLIST(CD(1))内に上記識別データKpubIDが含まれているため、無効リストデータRLIST内のカウントデータCD(1)と、文書データDDに付加されたカウントデータCD(2)とを比較し、カウントデータCD(2)の方が大きいため、ステップST59で受信した文書データDDは不当であると判断する(ステップST60)。
Thereafter, when the client device C1 is stolen (step ST55), the legitimate user of the client device C1 uses the identification data KpubID of the public key data Kpub1 and the latest data indicated by the log data LOG based on the backed up log data LOG. The invalidity notification data RN including the count data CD (1) of the signature data SD is transmitted to the invalid list distribution server 14 (step ST56).
The invalid
Then, the client device C2 receives the invalid list data RLIST (CD (1)) from the invalid list distribution server 14 (step ST57). At this time, the invalid list data RLIST (CD (1)) includes the identification data KpubID of the public key data Kpub1 used for verification of the signature data SD.
Further, the client device C1 distributes the document data DD to which, for example, the data CD (2) + HD, the signature data SD, and the public key certificate data Cert1 are added in response to an instruction of an unauthorized user who has stolen the document. It transmits to the server 10 (step ST58).
Here, the count data CD (2) has a larger value than the count data CD (1) of the signature data SD.
Then, the client device C2 receives the document data DD to which the data CD (2) + HD, signature data SD, and public key certificate data Cert1 are added from the document distribution server 10 (step ST59).
Next, since the identification data KpubID is included in the invalid list data RLIST (CD (1)) received in step ST57, the client apparatus C2 includes the count data CD (1) in the invalid list data RLIST, The count data CD (2) added to the document data DD is compared, and since the count data CD (2) is larger, it is determined that the document data DD received in step ST59 is invalid (step ST60).
以上説明したように、通信システム1では、図2および図4に示すように、クライアント装置C1において、セキュリティチップSC内に設けられたカウンタ58において署名データSDが生成される度にそのカウントデータCDを更新する(「1」だけ増加させる)。また、このカウントデータCDを文書データDDに署名データSDと共に付加する。
そのため、通信システム1によれば、クライアント装置C1が盗難された場合でも、不正なユーザはカウンタ58を調整できず、当該不正なユーザが作成した文書データに付加されたカウントデータCDは署名データSDの生成に応じて適切に更新されたものになる。
従って、前述したように、検証側のクライアント装置C2において、カウントデータCDを基に、文書データDDの正当性を高い信頼性で判断できる。
As described above, in the
Therefore, according to the
Therefore, as described above, the client device C2 on the verification side can determine the legitimacy of the document data DD with high reliability based on the count data CD.
<第2実施形態>
図10は、本発明の第2実施形態の通信システム101の全体構成図である。
図10に示すように、通信システム101は、例えば、クライアント装置C1a,C2a、文書配信サーバ10、認証機関(CA)12、無効リスト配信サーバ14aおよび時刻証明サーバ16を有する。
図10において、文書配信サーバ10および認証機関12は、第1実施形態で説明したものと同じである。
Second Embodiment
FIG. 10 is an overall configuration diagram of a
As shown in FIG. 10, the
In FIG. 10, the
本実施形態において、アプリケーションプログラムAPaが、第8の発明のプログラムに対応している。
ここで、図15に示すステップST70が第8の発明の第1の手順に対応し、ST73が第8の発明の第2の手順に対応し、ST75が第8の発明の第3の手順に対応し、ST77が第8の発明の第4の手順に対応している。
In the present embodiment, the application program APa corresponds to the program of the eighth invention.
Here, step ST70 shown in FIG. 15 corresponds to the first procedure of the eighth invention, ST73 corresponds to the second procedure of the eighth invention, and ST75 corresponds to the third procedure of the eighth invention. Correspondingly, ST77 corresponds to the fourth procedure of the eighth invention.
また、本実施形態において、オペレーティングシステムOSaが、第9の発明のプログラムに対応している。
ここで、図17に示すステップST95が第9の発明の第1の手順に対応している。
また、図17に示すステップST99が第9の発明の第2の手順に対応し、ST100〜ST103が第9の発明の第3の手順に対応している。
In the present embodiment, the operating system OSa corresponds to the program of the ninth invention.
Here, step ST95 shown in FIG. 17 corresponds to the first procedure of the ninth invention.
Step ST99 shown in FIG. 17 corresponds to the second procedure of the ninth invention, and ST100 to ST103 correspond to the third procedure of the ninth invention.
〔無効リスト配信サーバ14a〕
無効リスト配信サーバ14は、クライアント装置C1a,C2aから、無効対象の署名データSDaの生成に用いられた秘密鍵データKpriに対応した公開鍵データKpubの識別データKpubIDと、署名データSDaを無効する時刻を示す無効時データRTIMEとを含む無効通知データRNaを受信する。
そして、無効リスト配信サーバ14aは、無効通知データRNaを基に、無効リストデータRLISTaを更新する。
無効リストデータRLISTaは、無効対象の識別データKpubIDと、無効時データRTIMEとを対応付けて示している。
[Invalid
The invalid
Then, the invalid
The invalid list data RLITa shows identification data KpubID to be invalidated and invalid data TIME in association with each other.
〔時刻証明サーバ16〕
時刻証明サーバ16は、クライアント装置C1a,C2aから、これらのセキュリティチップが内蔵するタイマが示す時データTIMEを含む時刻証明要求を受信し、その時データTIMEを証明したことを示す時刻証明データT_Certを生成し、これをクライアント装置C1a,C2aに送信する。
時刻証明データT_Certには、時刻証明サーバ16内の内部時刻と、上記時データTIMEとの差分時間を示す差分時間データが含まれる。
[Time Proof Server 16]
The
The time certification data T_Cert includes difference time data indicating a difference time between the internal time in the
以下、クライアント装置C1aについて説明する。
なお、クライアント装置C2aは、クライアント装置C1と同じ構成を有している。
〔クライアント装置C1a〕
図11は、図10に示すクライアント装置C1aの構成図である。
図11に示すように、クライアント装置C1aは、例えば、インタフェース42、メモリ43、セキュリティチップSCa、CPU45a、ディスプレイ46および操作部47を有し、これらがデータ線40を介して接続されている。
図11において、図2と同じ符号を付した構成要素は第1実施形態で説明したものと同じである。
メモリ43は、アプリケーションプログラムAPaを記憶する。
アプリケーションプログラムAPaとしては、クライアント装置C1aの動作を統括的に制御するプログラムPRG_Ca、文書作成プログラムW_APaおよび文書閲覧プログラムR_APaが備えられている。
Hereinafter, the client device C1a will be described.
The client device C2a has the same configuration as the client device C1.
[Client device C1a]
FIG. 11 is a configuration diagram of the client apparatus C1a illustrated in FIG.
As illustrated in FIG. 11, the client device C1a includes, for example, an
In FIG. 11, the components given the same reference numerals as those in FIG. 2 are the same as those described in the first embodiment.
The memory 43 stores the application program APa.
As the application program APa, there are provided a program PRG_Ca, a document creation program W_APa, and a document browsing program R_APa for comprehensively controlling the operation of the client device C1a.
CPU45aは、メモリ43に記憶された種々のプログラムを読み出し、所定のソフトウェア環境を実現する。
CPU45aは、例えば、図12に示すように、CPU45aおよびセキュリティチップSCaなどのハードウェア上でプログラムBIOSを動作させる。
また、CPU45aは、プログラムBIOS上でローダプログラムLoaderを動作させ、このローダプログラムLoaderを基にオペレーティングシステムOSaを起動する。
また、CPU45aは、オペレーティングシステムOSa上でアプリケーションプログラムAPaを動作させる。
CPU45は、クライアント装置C1aの後述する動作例で示す処理を統括的に制御する。
CPU45aによる制御は、後述する動作例と関連付けて説明する。
本実施形態では、CPU45aは、後述するより、図14に示すように、文書データDDのハッシュデータHDと、署名データSDa生成時の時データTIMEと、署名データSDaと、公開鍵証明書データCertと、時刻証明データT_Certを文書データDDに付加して文書配信サーバ10に送信する。
The
For example, as illustrated in FIG. 12, the
Further, the
Further, the
The
The control by the
In this embodiment, the
セキュリティチップSCaは、耐タンパ性の回路であり、外部から当該回路に対する攻撃(内部データの不正読み出し、入力周波数や入力電圧を所定外に設定する攻撃)を加えたときに、誤動作や内部データの洩漏を生じないように構成された回路である。 The security chip SCa is a tamper-resistant circuit, and when an attack (an illegal read of internal data, an attack that sets an input frequency or an input voltage outside a predetermined range) is applied to the circuit from the outside, malfunction or internal data This is a circuit configured not to cause leakage.
図13は、図11に示すセキュリティチップSCaの構成図である。
図13において、図4と同じ符号を付した構成要素は第1実施形態で説明したものと同じである。
図13に示すように、セキュリティチップSCaは、例えば、入出力回路51、鍵生成回路52、ハッシュ回路53、乱数発生回路54、署名・暗号回路55、メモリ56、プロセッサ57aおよびタイマ59を有し、これらがデータ線50を介して接続されている。
FIG. 13 is a configuration diagram of the security chip SCa shown in FIG.
In FIG. 13, the constituent elements having the same reference numerals as those in FIG. 4 are the same as those described in the first embodiment.
As shown in FIG. 13, the security chip SCa includes, for example, an input /
プロセッサ57aは、図11に示すCPU45aからの制御に従って、セキュリティチップSCaの動作を統括して制御する。
タイマ59は、計時を行う。タイマ59は、セキュリティチップSCaに内蔵されているため、計時をセキュアな状態で行い、クライアント装置C1aのユーザが設定を行うことはできない。
The
The timer 59 measures time. Since the timer 59 is built in the security chip SCa, the timer 59 performs timing in a secure state and cannot be set by the user of the client device C1a.
以下、クライアント装置C1aの動作例を説明する。
〔第1の動作例〕
以下、クライアント装置C1aが文書データDDを生成する場合の動作例を説明する。
図15は、当該動作例を説明するためのフローチャートである。
ステップST70:
図11に示すクライアント装置C1aのCPU45aが、例えば、クライアント装置C1aの起動時に、図13に示すセキュリティチップSCa内のタイマ59が示す時データTIMEを含む時刻証明要求を、インタフェース42を介して時刻証明サーバ16に送信する。
そして、CPU45aは、上記時刻証明要求に応じて、時刻証明サーバ16から受信した時刻証明データT_Certをメモリ43に書き込む。
時刻証明データT_Certには、前述したように、時刻証明サーバ16内の内部時刻と、上記時データTIMEとの差分時間を示す差分時間データが含まれる。
ステップST71:
図11に示すクライアント装置C1aのCPU45aが、文書作成プログラムW_APaに従って、操作部47から入力した操作信号を基に、文書データDDを生成する。
ステップST72:
CPU45aが、文書作成プログラムW_APaに従って、ステップST71で生成した文書データDDのハッシュデータHDを生成し、これをセキュリティチップSCaに出力する。
文書作成プログラムW_APaは、オペレーティングシステムOSaにハッシュデータHDを提供(出力)し、署名データSDの生成を指示する。
Hereinafter, an operation example of the client device C1a will be described.
[First operation example]
Hereinafter, an operation example when the client apparatus C1a generates the document data DD will be described.
FIG. 15 is a flowchart for explaining the operation example.
Step ST70:
The
Then, the
As described above, the time certification data T_Cert includes difference time data indicating the difference time between the internal time in the
Step ST71:
The
Step ST72:
The
The document creation program W_APa provides (outputs) the hash data HD to the operating system OSa and instructs generation of the signature data SD.
ステップST73
セキュリティチップSCaのプロセッサ57aは、CPU45aからの指示(プログラムPRG_Ca)に従って、ステップST7で署名データSDを生成した時にタイマ59が示す時データTIMEを取得する。
ステップST74:
プロセッサ57は、ステップST72で入力したハッシュデータHDと、ステップST73で取得した時データTIMEとを連結してデータHD+TIMEを生成する。
ステップST75:
セキュリティチップSCaの署名・暗号回路55が、メモリ56から読み出した秘密鍵データKpri1を基に、ステップST74で生成されたデータHD+TIMEの署名データSDaを生成する。
ステップST76:
プロセッサ57は、ステップST74で生成したデータTIME+HD、ステップST75で生成した署名データSDa、並びにメモリ56から読み出した公開鍵証明書データCert1を、入出力回路51を介してCPU45aに出力する。
ステップST77:
CPU45aは、文書作成プログラムW_APに従って、ステップST76で入力したデータTIME+HD、署名データSDa、並びに公開鍵証明書データCert1と、ステップST70で取得した時刻証明データT_Certとを、ステップST71で生成した文書データDDに付加する。
ステップST78:
CPU45aは、ステップST77でデータTIME+HD等が付加された文書データDDを、インタフェース42を介して図1に示す文書配信サーバ10に送信する。
文書配信サーバ10は、例えば、クライアント装置C2からの要求に応じて、ステップST78でデータTIME+HD等が付加された文書データDDをクライアント装置C2aに送信する。
Step ST73
The
Step ST74:
The
Step ST75:
The signature /
Step ST76:
The
Step ST77:
In accordance with the document creation program W_AP, the
Step ST78:
The
For example, in response to a request from the client device C2, the
〔第2の動作例〕
以下、クライアント装置C1aが盗難等され、正当なユーザが署名データの無効化を無効リスト配信サーバ14aに指示する場合の動作例を説明する。
図16は、当該動作例を説明するためのフローチャートである。
ステップST81:
クライアント装置C1aが盗難等されると、正当なユーザがクライアント装置C1a以外の所定のコンピュータを操作し、無効対象の署名データSDaの生成に用いられた秘密鍵データKpriに対応した公開鍵データKpubの識別データKpubIDと、盗難された時刻を示す無効時データRTIMEとを含む無効通知データRNaを生成する。
ステップST82:
上記コンピュータは、ステップST81で生成した無効通知データRNaを図1に示す無効リスト配信サーバ14aに送信する。
[Second operation example]
Hereinafter, an operation example when the client device C1a is stolen or the like and a valid user instructs the invalid
FIG. 16 is a flowchart for explaining the operation example.
Step ST81:
When the client device C1a is stolen or the like, a legitimate user operates a predetermined computer other than the client device C1a, and the public key data Kpub corresponding to the secret key data Kpri used to generate the signature data SDa to be invalidated Invalidity notification data RNa including identification data KpubID and invalid time data TIME indicating the stolen time is generated.
Step ST82:
The computer transmits the invalidity notification data RNa generated in step ST81 to the invalidity
ステップST83:
無効リスト配信サーバ14aは、ステップST82で受信した無効通知データRNaを基に、無効リストデータRLISTaを更新する。
ステップST84:
無効リスト配信サーバ14aは、無効リストデータRLISTaを公開する。
クライアント装置C1a,C2aを含むクライアント装置は、無効リスト配信サーバ14aから無効リストRLISTaを受信する。
Step ST83:
The invalid
Step ST84:
The invalid
Client devices including the client devices C1a and C2a receive the invalid list RLITa from the invalid
〔第3の動作例〕
以下、文書データDDを受信した場合の動作例を説明する。
以下の説明では、クライアント装置C2aが、クライアント装置C1aが第1の動作例で説明した手順で生成した文書データDDを受信する場合を説明する。
図17は、当該動作例を説明するためのフローチャートである。
ステップST91:
CPU45aは、オペレーティングシステムOSaに従って、無効リスト配信サーバ14aにアクセスを行って上述した無効リストデータRLISTaを受信し、これをメモリ43に書き込む。
CPU45aは、例えば、署名データSDaの正当性を検証する度、あるいは定期的に無効リスト配信サーバ14aから無効リストデータRLISTaを受信する。
ステップST92:
CPU45aは、文書閲覧プログラムR_APaに従って、文書配信サーバ10から文書データDDを受信する。
当該文書データDDには、第1の動作例で図14を参照して説明したように、時データTIMEとハッシュデータHDとを連結したデータTIME+HD、データTIME+HDの署名データSDa、公開鍵証明書データCert1、並びに時刻証明データT_CerTが付加されている。
[Third operation example]
Hereinafter, an operation example when the document data DD is received will be described.
In the following description, a case where the client device C2a receives the document data DD generated by the client device C1a according to the procedure described in the first operation example will be described.
FIG. 17 is a flowchart for explaining the operation example.
Step ST91:
The
For example, the
Step ST92:
The
As described with reference to FIG. 14 in the first operation example, the document data DD includes data TIME + HD obtained by concatenating the hour data TIME and the hash data HD, signature data SDa of the data TIME + HD, and public key certificate data. Cert1 and time certification data T_CerT are added.
ステップST93:
CPU45aは、オペレーティングシステムOSaに従って、ステップST92で受信した文書データDDに付加された公開鍵証明書データCert1の正当性を、例えば、認証機関12にアクセスして検証する。
ステップST94:
CPU45aは、公開鍵証明書データCert1が正当であると判断するとステップST95に進み、そうでない場合にはステップST103に進む。
Step ST93:
In accordance with the operating system OSa, the
Step ST94:
If the
ステップST95:
CPU45aは、オペレーティングシステムOSaに従って、ステップST92で受信した文書データDDに付加された署名データSDaが、公開鍵証明書データCert1に含まれる公開鍵データKpub1に対応した秘密鍵データKpri1を基に生成されたか否かを、図13に示すセキュリティチップSCaの署名・暗号回路55に検証させる。
ステップST96:
CPU45aは、オペレーティングシステムOSaに従って、署名データSDaが秘密鍵データKpri1を基に生成されたと判断すると判断するとステップST97に進み、そうでない場合にステップST103に進む。
Step ST95:
In accordance with the operating system OSa, the
Step ST96:
If the
ステップST97:
CPU45aは、公開鍵証明書データCert1に含まれる公開鍵データKpub1の識別データKpubIDに対応する項目が、ステップST91で受信した無効リストデータRLISTa内に存在するか否かを判断する。
ステップST98:
CPU45aは、ステップST97において存在すると判断するとステップST99に進み、存在しないと判断するとステップST103に進む。
Step ST97:
The
Step ST98:
If
ステップST99:
CPU45aは、オペレーティングシステムOSaに従って、ステップST92で受信した文書データDDに付加された時刻証明データT_Certの正当性を検証し、正当であると判断すると、文書データDDに付加された時データTIMEと、時刻証明データT_Certに含まれる差分時刻データとを基に、署名時刻を示す署名時刻データを生成する。
ステップST100:
CPU45aは、オペレーティングシステムOSaに従って、無効リストデータRLISTa内の識別データKpubIDに対応付けられた無効時刻データRTIMEを取得する。
Step ST99:
In accordance with the operating system OSa, the
Step ST100:
The
ステップST101:
CPU45aは、オペレーティングシステムOSaに従って、ステップST99で取得した署名時刻データが示す時刻が、ステップST100で取得した無効時刻データRTIME示す時刻より遅いか否かを判断し、遅いと判断するとステップST103にすすみ、大きくないと判断するとステップST102sに進む。
ステップST102:
CPU45aは、文書データDDがクライアント装置C1aの盗難等の前に生成された正当なものであると判断し、文書閲覧プログラムR_APaに従って、それを利用する。
ステップST103:
CPU45aは、文書データDDがクライアント装置C1aの盗難等の後に生成された不正なものであると判断し、文書閲覧プログラムR_APaによるその利用を禁止する。
Step ST101:
The
Step ST102:
The
Step ST103:
The
〔第4の動作例〕
以下、通信システム101の全体動作例を説明する。
図18は、当該動作例を説明するためのフローチャートである。
クライアント装置C1aは、例えば、データTIME(1)+HD、署名データSDa、公開鍵証明書データCert1、並びに時刻証明データT_Certが付加された文書データDDを文書配信サーバ10に送信する(ステップST201)。
また、クライアント装置C2aは、無効リスト配信サーバ14aから無効リストデータRLISTaを受信する(ステップST202)。このとき、無効リストデータRLISTには、署名データSDaの検証に用いられる公開鍵データKpub1の識別データKpubIDは含まれていない。
また、クライアント装置C2aは、文書配信サーバ10から、データTIME(1)+HD、署名データSDa、公開鍵証明書データCert1、並びに時刻証明データT_Certが付加された文書データDDを受信する(ステップST203)。
次に、クライアント装置C2aは、ステップST202で受信した無効リストデータRLISTa内に上記識別データKpubIDが含まれていないため、ステップST203で受信した文書データDDは正当であると判断する(ステップST204)。
[Fourth operation example]
Hereinafter, an example of the overall operation of the
FIG. 18 is a flowchart for explaining the operation example.
For example, the client device C1a transmits the document data DD to which the data TIME (1) + HD, signature data SDa, public key certificate data Cert1, and time certification data T_Cert are added to the document distribution server 10 (step ST201).
Further, the client device C2a receives the invalid list data RLITa from the invalid
Further, the client apparatus C2a receives the document data DD to which the data TIME (1) + HD, signature data SDa, public key certificate data Cert1, and time certification data T_Cert are added from the document distribution server 10 (step ST203). .
Next, the client apparatus C2a determines that the document data DD received in step ST203 is valid because the identification data KpubID is not included in the invalid list data RLITa received in step ST202 (step ST204).
その後、クライアント装置C1aが盗難された場合に(ステップST205)、クライアント装置C1aの正当なユーザが、盗難された時刻を示す無効時刻データRTIMEと、公開鍵データKpub1の識別データKpubIDと含む無効通知データRNaを無効リスト配信サーバ14aに送信する(ステップST206)。
無効リスト配信サーバ14aは、受信した無効通知データRNaを基に、無効リストデータRLISTaを更新して無効リストデータRLISTa(RTIME(2))を生成する。
そして、クライアント装置C2aは、無効リスト配信サーバ14aから無効リストデータRLISTa(RTIME(2))を受信する(ステップST207)。このとき、無効リストデータRLISTa(rTIME(2))には、署名データSDaの検証に用いられる公開鍵データKpub1の識別データKpubIDが含まれている。
また、クライアント装置C1aは、盗難を行った不正なユーザの指示に応じて、例えば、データTIME(3)+HD、署名データSDa、公開鍵証明書データCert1、並びに時刻証明データT_Certが付加された文書データDDを文書配信サーバ10に送信する(ステップST208)。
ここで、時データTIME(3)は、無効時刻データRTIME(2)よりも遅い。
そして、クライアント装置C2aは、文書配信サーバ10から、データTIME(3)+HD、署名データSDa、公開鍵証明書データCert1、並びに時刻証明データT_Certが付加された文書データDDを受信する(ステップST209)。
次に、クライアント装置C2aは、ステップST205で受信した無効リストデータRLISTa(RTIME(2))内に上記識別データKpubIDが含まれているため、無効リストデータRLISTa内の無効時刻データRTIME(2)と、文書データDDに付加された時データTIME(3)とを比較し、時データTIME(3)の方が遅いため、ステップST209で受信した文書データDDは不当であると判断する(ステップST210)。
After that, when the client device C1a is stolen (step ST205), invalid notification data including invalid time data TIME indicating the time when the legitimate user of the client device C1a was stolen and identification data KpubID of the public key data Kpub1. The RNa is transmitted to the invalid
The invalid
Then, the client device C2a receives the invalid list data RLITa (RTIME (2)) from the invalid
Further, the client device C1a, for example, a document to which data TIME (3) + HD, signature data SDa, public key certificate data Cert1, and time certification data T_Cert are added in response to an instruction from an unauthorized user who has been stolen. Data DD is transmitted to document distribution server 10 (step ST208).
Here, the time data TIME (3) is later than the invalid time data TIME (2).
Then, the client device C2a receives the document data DD to which the data TIME (3) + HD, the signature data SDa, the public key certificate data Cert1, and the time certification data T_Cert are added from the document distribution server 10 (step ST209). .
Next, since the identification data KpubID is included in the invalid list data RLITa (RTIME (2)) received in step ST205, the client device C2a includes the invalid time data TIME (2) in the invalid list data RLITa. The time data TIME (3) added to the document data DD is compared, and the time data TIME (3) is slower, so it is determined that the document data DD received in step ST209 is invalid (step ST210). .
以上説明したように、通信システム101では、図13に示すように、クライアント装置C1aにおいて、署名データSDaが生成された時刻を示す時データTIMEをセキュリティチップSCa内に設けられたタイマ59から取得し、それを文書データDDに署名データSDaと共に付加する。
そのため、通信システム101によれば、クライアント装置C1aが盗難された場合でも、不正なユーザはタイマ59を調整できず、当該不正なユーザが作成した文書データに付加された時データTIMEは、タイマ59を基準とした署名データSDaの生成時刻を正確に示したものになる。
また、署名側のクライアント装置C2aにおいて、時刻証明データT_Certを基に、時データTIMEを調整するため、時刻証明サーバ16内のタイマを基準とした署名データSDaの生成時刻を特定でき、無効時刻より遅い生成時刻を持つ署名データSDaを適切に無効化できる。
従って、通信システム101によれば、検証側のクライアント装置C2aにおいて、文書データDDの正当性を高い信頼性で判断できる。
As described above, in the
Therefore, according to the
Further, since the signing client device C2a adjusts the time data TIME based on the time certification data T_Cert, the generation time of the signature data SDa based on the timer in the
Therefore, according to the
<第3実施形態>
本実施形態では、クライアント装置C1,C1aのCPU45,45aが、クライアント装置C1,C1aが電源投入などにより起動されたときに、クライアント装置C1,C1a上で起動されたBIOS、ローダLoader、オペレーティングシステムOS,OSaおよびアプリケーションプログラムAP,APaの各々のハッシュデータを含む動作環境データPHDを生成する。
そして、CPU45,45aは、文書データDDに、さらに動作環境データPHDを付加して送信する。
検証側のクライアント装置C2,C2aは、図8および図17の検証において、予めベンダから取得したBIOS、ローダLoader、オペレーティングシステムOS,OSaおよびアプリケーションプログラムAP,APaのハッシュデータを基に、文書データDDに付加されている動作環境データPHDを検証する。そして、クライアント装置C2,C2aは、当該検証で一致していると判断したことを条件に、文書データDDを正当であると判断する。
これにより、クライアント装置C2,C2aは、クライアント装置C1,C1aが、図6および図15の処理を適切に行う動作環境を備えていること、すなわちカウントデータCDおよび時データTIMEを正当に生成する動作環境を備えていることを検証できる。
これにより、通信システム1,101の信頼性をさらに高めることができる。
<Third Embodiment>
In the present embodiment, when the
The
The client devices C2 and C2a on the verification side use the document data DD based on the BIOS, the loader Loader, the operating system OS, OSa, and the hash data of the application programs AP and APa previously obtained from the vendor in the verification of FIGS. The operating environment data PHD added to is verified. Then, the client devices C2 and C2a determine that the document data DD is valid on the condition that it is determined that they match in the verification.
As a result, the client apparatuses C2 and C2a are provided with an operating environment in which the client apparatuses C1 and C1a appropriately perform the processes of FIGS. 6 and 15, that is, an operation for properly generating the count data CD and the time data TIME. You can verify that you have the environment.
Thereby, the reliability of the
本発明は上述した実施形態には限定されない。
上述した実施形態では、本発明の被証明データとして文書データDDを例示したが、本発明の被証明データは、電子メールなどのその他のコンテンツデータなどであってもよい。
The present invention is not limited to the embodiment described above.
In the embodiment described above, the document data DD is exemplified as the proof data of the present invention, but the proof data of the present invention may be other content data such as an e-mail.
本発明は、署名された被証明データの有効性を検証するシステムに適用可能である。 The present invention can be applied to a system for verifying the validity of signed data to be certified.
1,101…通信システム、10…文書配信サーバ、12…認証機関、14,14a…無効リスト配信サーバ、16…時刻証明サーバ、C1,C2,C1a,C2a…クライアント装置、42…インタフェース、43…メモリ、45,45a…CPU、46…ディスプレイ、47…操作部、SC.SCa…セキュリティチップ、51…入出力回路、52…鍵生成回路、53…ハッシュ回路、54…乱数発生回路、55…署名・暗号回路、56…メモリ、57,57a…プロセッサ、58…カウンタ DESCRIPTION OF SYMBOLS 1,101 ... Communication system, 10 ... Document delivery server, 12 ... Certification body, 14, 14a ... Invalid list delivery server, 16 ... Time certification server, C1, C2, C1a, C2a ... Client device, 42 ... Interface, 43 ... Memory, 45, 45a ... CPU, 46 ... Display, 47 ... Operation unit, SC. SCa ... security chip, 51 ... input / output circuit, 52 ... key generation circuit, 53 ... hash circuit, 54 ... random number generation circuit, 55 ... signature / encryption circuit, 56 ... memory, 57, 57a ... processor, 58 ... counter
Claims (16)
被証明データに関する署名データを生成する度に、カウントデータを増加あるいは減少の何れか一方向に前記コンピュータ内でセキュアな状態で更新する第1の手順と、
前記被証明データと前記第1の手順で更新した前記カウントデータとに対して前記署名データを生成する第2の手順と、
前記第1の手順で更新したカウントデータと前記第2の手順で生成した前記署名データとを前記被証明データに付加する第3の手順と
を前記コンピュータに実行させるプログラム。 A program for causing a computer to execute processing,
A first procedure for updating the count data in a secure manner in the computer in one direction of increasing or decreasing each time signature data relating to the data to be certified is generated;
A second procedure for generating the signature data for the certified data and the count data updated in the first procedure;
A program for causing the computer to execute a third procedure for adding the count data updated in the first procedure and the signature data generated in the second procedure to the certified data.
をさらに有し、
前記第2の手順は、前記第4の手順で生成した前記ハッシュデータと前記カウントデータに対して前記署名データを生成し、
前記第3の手順は、前記第4の手順で生成したハッシュデータと、前記第1の手順で更新したカウントデータと、前記第2の手順で生成した前記署名データとを前記被証明データに付加する
請求項1に記載のプログラム。 A fourth procedure for generating hash data of the proved data;
The second procedure generates the signature data for the hash data and the count data generated in the fourth procedure,
The third procedure adds the hash data generated in the fourth procedure, the count data updated in the first procedure, and the signature data generated in the second procedure to the certified data. The program according to claim 1.
をさらに有する請求項1に記載のプログラム。 The log data indicating the history of the count data updated in the first procedure is stored, and the log data is output to the outside of the computer in response to a backup instruction. program.
をさらに有し、
前記第3の手順は、前記第6の手順で生成した前記動作環境データを前記被証明データにさらに付加する
請求項1に記載のプログラム。 A sixth procedure for generating operating environment data including hash data of the BIOS, loader, operating system, and application program started on the computer when the computer is started;
The program according to claim 1, wherein the third procedure further adds the operating environment data generated in the sixth procedure to the certified data.
被証明データに関する署名データを生成する度に、カウントデータを増加あるいは減少の何れか一方向にセキュアな状態で更新するカウンタと、
前記メモリから読み出した前記プログラムに従って、前記被証明データと前記カウンタの前記カウントデータとに対して前記署名データを生成し、当該カウントデータと前記署名データとを前記被証明データに付加する実行回路と
を有するコンピュータ。 A memory for storing the program;
A counter that updates the count data in a secure state in either direction of increment or decrement each time signature data related to the data to be certified is generated;
An execution circuit that generates the signature data for the certified data and the count data of the counter according to the program read from the memory, and adds the count data and the signature data to the certified data; Having a computer.
被証明データに関する署名データを生成する度に、カウントデータを増加あるいは減少の何れか一方向に前記コンピュータ内でセキュアな状態で更新する第1の工程と、
前記被証明データと前記第1の工程で更新した前記カウントデータとに対して前記署名データを生成する第2の工程と、
前記第1の工程で更新したカウントデータと前記第2の工程で生成した前記署名データとを前記被証明データに付加する第3の工程と
を有するデータ処理方法。 A data processing method executed by a computer,
A first step of updating the count data in a secure manner in the computer in one direction of increasing or decreasing each time signature data related to the data to be certified is generated;
A second step of generating the signature data for the certified data and the count data updated in the first step;
A data processing method comprising: a third step of adding the count data updated in the first step and the signature data generated in the second step to the certified data.
前記第1の手順で前記署名データが前記鍵データを基に生成されたと判断したことを条件に、前記被証明データに付加され前記署名データの生成元で当該署名データが生成される度に増加あるいは減少の何れか一方に更新されるカウントデータと、無効化対象の署名データのカウントデータとを基に、前記署名データの有効性を判断する第2の手順と
をコンピュータに実行させるプログラム。 A first procedure for verifying whether signature data added to the data to be certified and indicating the validity of the data to be certified has been generated based on key data defined in advance;
Increased each time the signature data is generated at the source of the signature data added to the data to be certified, provided that it is determined that the signature data is generated based on the key data in the first procedure. Alternatively, a program for causing a computer to execute a second procedure for determining validity of the signature data based on count data updated to one of the decrease and count data of signature data to be invalidated.
をさらに有する請求項7に記載のプログラム。 The program according to claim 7, further comprising: a third procedure for determining that the certified data is valid on the condition that the signature data is determined to be valid in the second procedure.
をさらに有し、
前記第2の手順は、前記被証明データに対応付けられた識別データの項目が前記無効リストデータに存在する場合に、当該無効リストデータ内で当該識別データに対応付けられた前記カウントデータと、前記被証明データに付加された前記カウントデータとを比較して前記署名データの有効性を判断する
請求項7に記載のプログラム。 A fourth procedure of receiving invalid list data indicating the identification data of the signature data to be invalidated and the count data in association with each other;
In the second procedure, when an item of identification data associated with the certified data exists in the invalid list data, the count data associated with the identification data in the invalid list data; The program according to claim 7, wherein the validity of the signature data is determined by comparing the count data added to the certified data.
請求項9に記載のプログラム。 The program according to claim 9, wherein the fourth procedure receives the invalid list data each time the validity of the signature data is verified in the first procedure, or periodically.
をさらに有し、
前記第2の手順は、前記第5の手順で正当性が検証されたことを条件に実行される
請求項7に記載のプログラム。 A fifth procedure for verifying the validity of each hash data of the BIOS, loader, operating system, and application program that is added to the data to be certified and started on the computer that generates the signature data; In addition,
The program according to claim 7, wherein the second procedure is executed on condition that the validity is verified in the fifth procedure.
前記メモリか読み出した前記プログラムに従って、被証明データに付加され当該被証明データの正当性を示す署名データが予め規定された鍵データを基に生成されたか否かを検証し、前記署名データが前記鍵データを基に生成されたと判断したことを条件に、前記被証明データに付加され前記署名データの生成元で当該署名データが生成される度に増加あるいは減少の何れか一方に更新されるカウントデータと、無効化対象の署名データのカウントデータとを基に、前記署名データの有効性を判断する実行回路と
を有するコンピュータ。 A memory for storing the program;
In accordance with the program read from the memory, it is verified whether signature data added to the data to be certified and indicating the validity of the data to be certified is generated based on pre-defined key data. A count that is added to the data to be certified and updated to either increase or decrease each time the signature data is generated at the generation source of the signature data on the condition that it has been generated based on the key data A computer having an execution circuit that determines the validity of the signature data based on the data and count data of the signature data to be invalidated.
被証明データに付加され当該被証明データの正当性を示す署名データが予め規定された鍵データを基に生成されたか否かを検証する第1の工程と、
前記第1の工程で前記署名データが前記鍵データを基に生成されたと判断したことを条件に、前記被証明データに付加され前記署名データの生成元で当該署名データが生成される度に増加あるいは減少の何れか一方に更新されるカウントデータと、無効化対象の署名データのカウントデータとを基に、前記署名データの有効性を判断する第2の工程と
を有するデータ処理方法。 A data processing method executed by a computer,
A first step of verifying whether or not signature data added to the data to be certified and indicating the validity of the data to be certified is generated based on key data defined in advance;
Increased each time the signature data is generated at the source of the signature data that is added to the data to be certified, provided that the signature data is determined to be generated based on the key data in the first step. A data processing method comprising: a second step of determining validity of the signature data based on count data updated to one of the decrease and count data of signature data to be invalidated.
第1のコンピュータが、被証明データに関する署名データを生成する度に、カウントデータを増加あるいは減少の何れか一方向に前記コンピュータ内でセキュアな状態で更新する第1の工程と、
前記第1のコンピュータが、前記被証明データと前記第1の工程で更新した前記カウントデータとに対して前記署名データを生成する第2の工程と、
前記第1のコンピュータが、前記第1の工程で更新したカウントデータと前記第2の工程で生成した前記署名データとを前記被証明データに付加して第2のコンピュータに送信する第3の工程と、
前記第2のコンピュータが、前記第3の工程で受信した前記被証明データに付加された前記署名データが予め規定された鍵データを基に生成されたか否かを検証する第4の工程と、
前記第2のコンピュータが、前記第4の工程で前記署名データが前記鍵データを基に生成されたと判断したことを条件に、前記被証明データに付加された前記カウントデータと、無効化対象の署名データのカウントデータとを基に、前記署名データの有効性を判断する第5の工程と
を有するデータ処理方法。 A data processing method in which a first computer and a second computer communicate with each other,
A first step of updating the count data in a secure state in the computer in one direction of either incrementing or decrementing each time the first computer generates signature data relating to the data to be certified;
A second step in which the first computer generates the signature data for the certified data and the count data updated in the first step;
A third step in which the first computer adds the count data updated in the first step and the signature data generated in the second step to the certified data and transmits the data to the second computer. When,
A fourth step in which the second computer verifies whether or not the signature data added to the data to be certified received in the third step is generated based on predetermined key data;
On the condition that the second computer determines that the signature data is generated based on the key data in the fourth step, the count data added to the certified data, and the invalidation target And a fifth step of determining the validity of the signature data based on the count data of the signature data.
前記コンピュータ内においてセキュアな状態で計時を行うタイマが示す時データの正当性を前記コンピュータの外部の所定の証明元に証明させ、当該証明の結果を示す証明データを受信する第1の手順と、
前記被証明データに関する署名データを生成したときに前記タイマが示す時データを取得する第2の手順と、
前記被証明データと前記第2の手順で取得した前記時データとに対して前記署名データを生成する第3の手順と、
前記第1の手順で受信した前記証明データと、前記第2の手順で取得した前記時データと、前記第3の手順で生成した前記署名データとを前記被証明データに付加する第4の手順と
を前記コンピュータに実行させるプログラム。 A program for causing a computer to execute processing,
A first procedure for causing a predetermined proof source external to the computer to prove the validity of the time indicated by a timer that counts time in a secure state in the computer, and receiving proof data indicating the result of the proof,
A second procedure for obtaining time data indicated by the timer when generating signature data related to the certified data;
A third procedure for generating the signature data for the proved data and the time data acquired in the second procedure;
A fourth procedure for adding the certification data received in the first procedure, the time data obtained in the second procedure, and the signature data generated in the third procedure to the certified data A program for causing the computer to execute.
前記署名データの生成元においてセキュアな状態で計時を行うタイマが示す時データの正当性を示す証明データを検証する第2の手順と、
前記第1の手順で前記署名データが前記鍵データを基に生成されたと判断し、且つ前記第2の手順で前記証明データが正当であると判断したことを条件に、前記被証明データに付加された時データと、前記署名データを無効にする時を示す時データとを基に、前記署名データの有効性を判断する第3の手順と
をコンピュータに実行させるプログラム。 A first procedure for verifying whether or not the signature data added to the data to be certified is generated based on key data defined in advance;
A second procedure for verifying the proof data indicating the validity of the time data indicated by the timer that measures time in a secure state at the generation source of the signature data;
It is added to the data to be certified on condition that it is determined that the signature data is generated based on the key data in the first procedure and that the certification data is valid in the second procedure. A program that causes the computer to execute a third procedure for determining the validity of the signature data based on the time data that has been set and time data that indicates when the signature data is invalidated.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004142824A JP4626181B2 (en) | 2004-05-12 | 2004-05-12 | Information processing method and information processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004142824A JP4626181B2 (en) | 2004-05-12 | 2004-05-12 | Information processing method and information processing system |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2005328198A true JP2005328198A (en) | 2005-11-24 |
JP2005328198A5 JP2005328198A5 (en) | 2007-06-21 |
JP4626181B2 JP4626181B2 (en) | 2011-02-02 |
Family
ID=35474215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004142824A Expired - Fee Related JP4626181B2 (en) | 2004-05-12 | 2004-05-12 | Information processing method and information processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4626181B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009169893A (en) * | 2008-01-21 | 2009-07-30 | Sony Corp | Information processing apparatus, disk, information processing method, and program |
WO2009093571A1 (en) * | 2008-01-21 | 2009-07-30 | Sony Corporation | Information processing device, disc, information processing method, and program |
JP2009169892A (en) * | 2008-01-21 | 2009-07-30 | Sony Corp | Information processing apparatus, disk, information processing method, and program |
JP2014192793A (en) * | 2013-03-28 | 2014-10-06 | Mega Chips Corp | Cryptographic device |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11205308A (en) * | 1997-10-29 | 1999-07-30 | Hitachi Ltd | Authentication method and information system |
JP2002071468A (en) * | 2000-08-28 | 2002-03-08 | Sanyo Electric Co Ltd | Temperature recording device, managing method of temperature record, and temperature record managing system |
JP2002215029A (en) * | 2001-01-22 | 2002-07-31 | Seiko Epson Corp | Information authentication device and digital camera using the same |
JP2002244554A (en) * | 2001-02-16 | 2002-08-30 | Hitachi Software Eng Co Ltd | Method for generating and confirming time stamp, and device and system therefor |
JP2002304589A (en) * | 2001-04-04 | 2002-10-18 | Dainippon Printing Co Ltd | Settlement system |
JP2003298580A (en) * | 2002-04-05 | 2003-10-17 | Nippon Telegr & Teleph Corp <Ntt> | Expired public key certificate list generating apparatus, expired public key certificate list generating method, computer program, and recording medium for recording the computer program |
JP2004056635A (en) * | 2002-07-23 | 2004-02-19 | Hitachi Ltd | Update instrument of certificate invalidation list, system and method |
JP2004318564A (en) * | 2003-04-17 | 2004-11-11 | Dainippon Printing Co Ltd | Ic card and ic card program |
JP2005260676A (en) * | 2004-03-12 | 2005-09-22 | Internatl Business Mach Corp <Ibm> | Security system, information processing system, control method of security system, control method of information processing system, program capable of implementation in system for performing control method and ticket system |
-
2004
- 2004-05-12 JP JP2004142824A patent/JP4626181B2/en not_active Expired - Fee Related
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11205308A (en) * | 1997-10-29 | 1999-07-30 | Hitachi Ltd | Authentication method and information system |
JP2002071468A (en) * | 2000-08-28 | 2002-03-08 | Sanyo Electric Co Ltd | Temperature recording device, managing method of temperature record, and temperature record managing system |
JP2002215029A (en) * | 2001-01-22 | 2002-07-31 | Seiko Epson Corp | Information authentication device and digital camera using the same |
JP2002244554A (en) * | 2001-02-16 | 2002-08-30 | Hitachi Software Eng Co Ltd | Method for generating and confirming time stamp, and device and system therefor |
JP2002304589A (en) * | 2001-04-04 | 2002-10-18 | Dainippon Printing Co Ltd | Settlement system |
JP2003298580A (en) * | 2002-04-05 | 2003-10-17 | Nippon Telegr & Teleph Corp <Ntt> | Expired public key certificate list generating apparatus, expired public key certificate list generating method, computer program, and recording medium for recording the computer program |
JP2004056635A (en) * | 2002-07-23 | 2004-02-19 | Hitachi Ltd | Update instrument of certificate invalidation list, system and method |
JP2004318564A (en) * | 2003-04-17 | 2004-11-11 | Dainippon Printing Co Ltd | Ic card and ic card program |
JP2005260676A (en) * | 2004-03-12 | 2005-09-22 | Internatl Business Mach Corp <Ibm> | Security system, information processing system, control method of security system, control method of information processing system, program capable of implementation in system for performing control method and ticket system |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009169893A (en) * | 2008-01-21 | 2009-07-30 | Sony Corp | Information processing apparatus, disk, information processing method, and program |
WO2009093571A1 (en) * | 2008-01-21 | 2009-07-30 | Sony Corporation | Information processing device, disc, information processing method, and program |
JP2009169892A (en) * | 2008-01-21 | 2009-07-30 | Sony Corp | Information processing apparatus, disk, information processing method, and program |
US8868904B2 (en) | 2008-01-21 | 2014-10-21 | Sony Corporation | Information processing device, disc, information processing method, and program |
JP2014192793A (en) * | 2013-03-28 | 2014-10-06 | Mega Chips Corp | Cryptographic device |
Also Published As
Publication number | Publication date |
---|---|
JP4626181B2 (en) | 2011-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7263608B2 (en) | System and method for providing endorsement certificate | |
KR101139658B1 (en) | Recording medium, communication device, data processing method, and communication system | |
JP4067985B2 (en) | Application authentication system and device | |
US9043615B2 (en) | Method and apparatus for a trust processor | |
US8670568B2 (en) | Methods and systems for utilizing cryptographic functions of a cryptographic co-processor | |
JP5046165B2 (en) | How to create a secure counter on an embedded system with a chip card | |
US20050182952A1 (en) | Information processing apparatus and method and computer program | |
US8019994B2 (en) | Authentication of a request to alter at least one of a BIOS and a setting associated with the BIOS | |
JP2017139793A (en) | server | |
US20070118752A1 (en) | Authentication of control units in a vehicle | |
US20090282254A1 (en) | Trusted mobile platform architecture | |
JP2016146641A (en) | Secure time functionality for wireless device | |
JP2011522469A (en) | Integrated circuit having protected software image and method therefor | |
JP2004164491A (en) | Method for updating program and server | |
JP2004503006A (en) | Malicious code detection method | |
CN109639427A (en) | A kind of method and apparatus that data are sent | |
JP5861597B2 (en) | Authentication system and authentication method | |
CN108335105B (en) | Data processing method and related equipment | |
US20200178080A1 (en) | Key generation apparatus and key update method | |
JP7406013B2 (en) | Securely sign configuration settings | |
CN110730159B (en) | TrustZone-based secure and trusted hybrid system starting method | |
JP2002509388A (en) | How to strongly authenticate another process in a different address space | |
JP4626181B2 (en) | Information processing method and information processing system | |
CN111667268B (en) | Transaction method, node and system based on blockchain | |
KR20060047623A (en) | Program, computer, data processing method, communication system and method therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070502 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070502 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100720 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100913 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20101012 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101025 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131119 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131119 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |