JP2005328198A - Program, computer, and data processing method - Google Patents

Program, computer, and data processing method Download PDF

Info

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
Application number
JP2004142824A
Other languages
Japanese (ja)
Other versions
JP2005328198A5 (en
JP4626181B2 (en
Inventor
Atsushi Saito
淳 齋藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2004142824A priority Critical patent/JP4626181B2/en
Publication of JP2005328198A publication Critical patent/JP2005328198A/en
Publication of JP2005328198A5 publication Critical patent/JP2005328198A5/ja
Application granted granted Critical
Publication of JP4626181B2 publication Critical patent/JP4626181B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a program for allowing validity of signature data attached to data to be certified to be verified with high reliability, and to provide a computer and a data processing method. <P>SOLUTION: A client unit C1 generates count data CD whose value is increased for every generation of signature data in a secure state and attaches the count data CD and the signature data to document data DD. A client unit C2 compares a count whose invalidity is designated with the count data CD to verify the validity of the signature data. <P>COPYRIGHT: (C)2006,JPO&NCIPI

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.

特開2001−57552号公報JP 2001-57552 A

ところで、上述した従来のシステムでは、生成時刻データの基準となるクライアント装置内のタイマが示すタイマ値が不正に設定されてしまうと、署名データの有効性を正しく検証できないという問題がある。   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 CPU 45 corresponds to the execution circuit of the second invention, and the counter 58 shown in FIG. 4 corresponds to the counter of the second invention. .
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 CPU 45 corresponds to the execution circuit of the fifth invention.
The CPU 45 corresponds to the computer of the present invention.

図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 communication system 1 according to the first embodiment of the present invention.
As illustrated in FIG. 1, the communication system 1 includes, for example, client devices C1 and C2, a document distribution server 10, a certification authority (CA) 12, and an invalid list distribution server 14.
In the present embodiment, communication among the client devices C 1 and C 2, the document distribution server 10, the certification authority 12 and the invalid list distribution server 14 is performed via the network 9.
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 list distribution server 14 receives the identification data KpubID of the public key data Kpub corresponding to the secret key data Kpri used to generate the invalid signature data SD from the client devices C1 and C2, and the signature data immediately before invalidation. The invalidity notification data RN including the count data CD when the SD is generated is received.
Then, the invalid list distribution server 14 updates the invalid list data RLIST based on the invalid notification data RN.
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 interface 42, a memory 43, a security chip SC, a CPU 45, a display 46, and an operation unit 47, which are connected via a data line 40.

インタフェース42は、ネットワーク9を介してクライアント装置C2との間でデータおよび要求の送受信を行う。
メモリ43は、プログラムBIOS(Basic Input/Output System) 、ローダプログラムLoader、オペレーティングシステムOS( Operating System) およびアプリケーションプログラムAPを記憶する。
アプリケーションプログラムAPとしては、クライアント装置C1の動作を統括的に制御するプログラムPRG_C、文書作成プログラムW_APおよび文書閲覧プログラムR_APが備えられている。
The interface 42 transmits and receives data and requests to and from the client device C2 via the network 9.
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 CPU 45 reads various programs stored in the memory 43 and realizes a predetermined software environment.
For example, as shown in FIG. 3, the CPU 45 causes the program BIOS to operate on hardware such as the CPU 45 and the security chip SC.
Further, the CPU 45 operates a loader program Loader on the program BIOS, and starts the operating system OS based on the loader program Loader.
The CPU 45 operates the application program AP on the operating system OS.
The CPU 45 comprehensively controls processing shown in an operation example to be described later of the client device C1.
The control by the CPU 45 will be described in association with an operation example described later.
In this embodiment, the CPU 45, as will be described later, as shown in FIG. 5, the hash data HD of the document data DD, the count data CD when the signature data SD is generated, the signature data SD, and the public key certificate data Cert. Are added to the document data DD and transmitted to the document distribution server 10.

セキュリティチップ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 display 46 displays a screen corresponding to the display signal from the CPU 45.
The operation unit 47 is an operation means such as a keyboard or a mouse, and outputs an operation signal corresponding to a user operation to the CPU 45.

図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 key generation circuit 52, a hash circuit 53, a random number generation circuit 54, a signature / encryption circuit 55, a memory 56, a processor 57, and A counter 58 is provided, and these are connected via a data line 50.

入出力回路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 / output circuit 51 is connected to the data line 40 shown in FIG. 2 and performs data input / output between the inside and the outside of the security chip SC.
The key generation circuit 52 generates various key data related to security based on the random number generated by the random number generation circuit 54, for example.
The hash circuit 53 generates hash data.
The random number generation circuit 54 generates (generates) a random number.
The signature / encryption circuit 55 performs encryption and decryption using key data, and performs generation of encrypted data, decryption of encrypted data, generation of signature data, and verification of signature data.
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 processor 57 controls the overall operation of the security chip SC according to the control from the CPU 45 shown in FIG.
The counter 58 increases (increments) the count value by “1” every time the signature / encryption circuit 55 creates signature data.
The counter 58 may decrement (decrement) the count value by “1” each time the signature / encryption circuit 55 creates signature data.
Since the counter 58 is built in the security chip SC, the count value is updated in a secure state, and the user cannot adjust the count value.

以下、クライアント装置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 CPU 45 of the client device C1 shown in FIG. 2 generates document data DD based on the operation signal input from the operation unit 47 in accordance with the document creation program W_AP.
Step ST12:
The CPU 45 generates hash data HD of the document data DD generated in step ST11 according to the document creation program W_AP, and outputs this to the security chip SC.
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 processor 57 of the security chip SC reads count data CD indicating the counter value of the counter 58 in accordance with an instruction (program PRG_C) from the CPU 45.
Step ST14:
The processor 57 concatenates the hash data HD input at step ST12 and the count data CD read at step ST13 to generate data HD + CD.
Step ST15:
The signature / encryption circuit 55 of the security chip SC generates the signature data SD of the data HD + CD generated in step ST14 based on the secret key data Kpri1 read from the memory 56.
Then, the counter 58 increases the count value of the count data CD by “1”.
Step ST16:
The processor 57 of the security chip SC updates the log data LOG stored in the memory 56 based on the signature data SD and the count data CD at the time of generation.
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 processor 57 outputs the data CD + HD generated in step ST14, the signature data SD generated in step ST15, and the public key certificate data Cert1 read from the memory 56 to the CPU 45 via the input / output circuit 51.
Step ST18:
In accordance with the document creation program W_AP, the CPU 45 adds the data CD + HD, signature data SD, and public key certificate data Cert1 input in step ST17 to the document data DD generated in step ST11.
Step ST19:
The CPU 45 transmits the document data DD to which the data CD + HD and the like are added at step ST18 to the document distribution server 10 shown in FIG.
For example, in response to a request from the client apparatus C2, the document distribution server 10 transmits the document data DD to which the data CD + HD and the like are added in step ST18 to the client apparatus C2.

〔第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 list distribution server 14 to invalidate the signature data will be described.
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 list distribution server 14 shown in FIG.

ステップST23:
無効リスト配信サーバ14は、ステップST22で受信した無効通知データRNを基に、無効リストデータRLISTを更新する。
ステップST24:
無効リスト配信サーバ14は、無効リストデータRLISTを公開する。
クライアント装置C1,C2を含むクライアント装置は、無効リスト配信サーバ14から無効リストRLISTを受信する。
Step ST23:
The invalid list distribution server 14 updates the invalid list data RLIST based on the invalidity notification data RN received in step ST22.
Step ST24:
The invalid list distribution server 14 publishes invalid list data RLIST.
Client devices including the client devices C1 and C2 receive the invalid list RLIST from the invalid list distribution server 14.

〔第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 CPU 45 accesses the invalid list distribution server 14 according to the operating system OS, receives the invalid list data RLIST, and writes it in the memory 43.
For example, the CPU 45 receives the invalid list data RLIST from the invalid list distribution server 14 every time the validity of the signature data SD is verified.
Step ST32:
The CPU 45 receives the document data DD from the document distribution server 10 according to the document browsing program R_AP.
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 CPU 45 verifies the validity of the public key certificate data Cert1 added to the document data DD received in step ST32 by accessing the certification authority 12, for example.
Step ST34:
When determining that the public key certificate data Cert1 is valid, the CPU 45 proceeds to step ST35, and otherwise proceeds to step ST43.

ステップ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 CPU 45 generates the signature data SD added to the document data DD received in step ST32 based on the private key data Kpri1 corresponding to the public key data Kpub1 included in the public key certificate data Cert1. The signature / encryption circuit 55 of the security chip SC shown in FIG. 4 is verified.
Step ST36:
If the CPU 45 determines that the signature data SD is generated based on the secret key data Kpri1 according to the operating system OS, the CPU 45 proceeds to step ST37, otherwise proceeds to step ST43.

ステップST37:
CPU45は、公開鍵証明書データCert1に含まれる公開鍵データKpub1の識別データKpubIDに対応する項目が、ステップST31で受信した無効リストデータRLIST内に存在するか否かを判断する。
ステップST38:
CPU45は、ステップST37において存在すると判断するとステップST39に進み、存在しないと判断するとステップST43に進む。
Step ST37:
The CPU 45 determines whether or not an item corresponding to the identification data KpubID of the public key data Kpub1 included in the public key certificate data Cert1 exists in the invalid list data RLIST received in step ST31.
Step ST38:
If the CPU 45 determines that it exists in step ST37, it proceeds to step ST39, and if it determines that it does not exist, it proceeds to step ST43.

ステップST39:
CPU45は、オペレーティングシステムOSに従って、ステップST32で受信した文書データDDに付加されたカウントデータCDを署名時カウント値として取得する。
ステップST40:
CPU45は、オペレーティングシステムOSに従って、無効リストデータRLIST内の識別データKpubIDに対応付けられたカウントデータCDを無効時カウント値として取得する。
Step ST39:
The CPU 45 acquires the count data CD added to the document data DD received in step ST32 as a signature count value in accordance with the operating system OS.
Step ST40:
The CPU 45 acquires the count data CD associated with the identification data KpubID in the invalid list data RLIST as the invalid count value according to the operating system OS.

ステップ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 CPU 45 determines whether or not the signature count value acquired in step ST39 is larger than the invalid count value acquired in step ST40. Then, it progresses to step ST42.
Step ST42:
The CPU 45 determines that the document data DD is legitimate generated before the client device C1 is stolen, and uses it according to the document browsing program R_AP.
Step ST43:
The CPU 45 determines that the document data DD is an illegal one generated after the client device C1 is stolen, and prohibits its use by the document browsing program R_AP.

〔第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 communication system 1 will be described.
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 list distribution server 14 updates the invalid list data RLIST to invalid list data RLIST (CD (1)) based on the received invalid notification data RN.
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 communication system 1, as shown in FIGS. 2 and 4, each time the signature data SD is generated in the counter 58 provided in the security chip SC in the client device C1, the count data CD is generated. Is updated (increased by “1”). The count data CD is added to the document data DD together with the signature data SD.
Therefore, according to the communication system 1, even if the client device C1 is stolen, an unauthorized user cannot adjust the counter 58, and the count data CD added to the document data created by the unauthorized user is the signature data SD. Will be updated appropriately according to the generation of.
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 communication system 101 according to the second embodiment of this invention.
As shown in FIG. 10, the communication system 101 includes, for example, client devices C1a and C2a, a document distribution server 10, a certification authority (CA) 12, an invalid list distribution server 14a, and a time certification server 16.
In FIG. 10, the document distribution server 10 and the certification authority 12 are the same as those described in the first embodiment.

本実施形態において、アプリケーションプログラム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 list distribution server 14a]
The invalid list delivery server 14 makes the identification data KpubID of the public key data Kpub corresponding to the secret key data Kpri used to generate the signature data SDa to be invalidated and the time when the signature data SDa is invalidated from the client devices C1a and C2a. The invalidity notification data RNa including the invalid time data TIME indicating the data is received.
Then, the invalid list distribution server 14a updates the invalid list data RLITa based on the invalid notification data RNa.
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 time certification server 16 receives from the client devices C1a and C2a a time certification request including the time data TIME indicated by the timers included in these security chips, and generates time certification data T_Cert indicating that the data TIME has been certified at that time. This is transmitted to the client devices C1a and C2a.
The time certification data T_Cert includes difference time data indicating a difference time between the internal time in the time certification server 16 and the time data TIME.

以下、クライアント装置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 interface 42, a memory 43, a security chip SCa, a CPU 45a, a display 46, and an operation unit 47, which are connected via a data line 40.
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 CPU 45a reads various programs stored in the memory 43 and realizes a predetermined software environment.
For example, as illustrated in FIG. 12, the CPU 45a operates the program BIOS on hardware such as the CPU 45a and the security chip SCa.
Further, the CPU 45a operates a loader program Loader on the program BIOS, and starts the operating system OSa based on the loader program Loader.
Further, the CPU 45a operates the application program APa on the operating system OSa.
The CPU 45 comprehensively controls processing shown in an operation example described later of the client device C1a.
The control by the CPU 45a will be described in association with an operation example described later.
In this embodiment, the CPU 45a, as will be described later, as shown in FIG. 14, the hash data HD of the document data DD, the time data TIME when the signature data SDa is generated, the signature data SDa, and the public key certificate data Cert. The time certification data T_Cert is added to the document data DD and transmitted to the document distribution server 10.

セキュリティチップ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 / output circuit 51, a key generation circuit 52, a hash circuit 53, a random number generation circuit 54, a signature / encryption circuit 55, a memory 56, a processor 57a, and a timer 59. These are connected via the data line 50.

プロセッサ57aは、図11に示すCPU45aからの制御に従って、セキュリティチップSCaの動作を統括して制御する。
タイマ59は、計時を行う。タイマ59は、セキュリティチップSCaに内蔵されているため、計時をセキュアな状態で行い、クライアント装置C1aのユーザが設定を行うことはできない。
The processor 57a controls the operation of the security chip SCa in accordance with the control from the CPU 45a shown in FIG.
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 CPU 45a of the client device C1a shown in FIG. 11 sends a time certification request including the time data TIME indicated by the timer 59 in the security chip SCa shown in FIG. Send to server 16.
Then, the CPU 45 a writes the time certification data T_Cert received from the time certification server 16 in the memory 43 in response to the time certification request.
As described above, the time certification data T_Cert includes difference time data indicating the difference time between the internal time in the time certification server 16 and the time data TIME.
Step ST71:
The CPU 45a of the client device C1a shown in FIG. 11 generates document data DD based on the operation signal input from the operation unit 47 in accordance with the document creation program W_APa.
Step ST72:
The CPU 45a generates hash data HD of the document data DD generated in step ST71 according to the document creation program W_APa, and outputs this to the security chip SCa.
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 processor 57a of the security chip SCa acquires the time data TIME indicated by the timer 59 when the signature data SD is generated in step ST7 in accordance with an instruction (program PRG_Ca) from the CPU 45a.
Step ST74:
The processor 57 concatenates the hash data HD input in step ST72 and the time data TIME acquired in step ST73 to generate data HD + TIME.
Step ST75:
The signature / encryption circuit 55 of the security chip SCa generates the signature data SDa of the data HD + TIME generated in step ST74 based on the secret key data Kpri1 read from the memory 56.
Step ST76:
The processor 57 outputs the data TIME + HD generated in step ST74, the signature data SDa generated in step ST75, and the public key certificate data Cert1 read from the memory 56 to the CPU 45a via the input / output circuit 51.
Step ST77:
In accordance with the document creation program W_AP, the CPU 45a generates the data TIME + HD, the signature data SDa and the public key certificate data Cert1 input in step ST76, and the time certification data T_Cert acquired in step ST70, the document data DD generated in step ST71. Append to
Step ST78:
The CPU 45a transmits the document data DD to which the data TIME + HD and the like are added in step ST77 to the document distribution server 10 shown in FIG.
For example, in response to a request from the client device C2, the document distribution server 10 transmits the document data DD to which the data TIME + HD and the like are added in step ST78 to the client device C2a.

〔第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 list distribution server 14a to invalidate the signature data will be described.
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 list distribution server 14a shown in FIG.

ステップST83:
無効リスト配信サーバ14aは、ステップST82で受信した無効通知データRNaを基に、無効リストデータRLISTaを更新する。
ステップST84:
無効リスト配信サーバ14aは、無効リストデータRLISTaを公開する。
クライアント装置C1a,C2aを含むクライアント装置は、無効リスト配信サーバ14aから無効リストRLISTaを受信する。
Step ST83:
The invalid list distribution server 14a updates the invalid list data RLITa based on the invalid notification data RNa received in step ST82.
Step ST84:
The invalid list distribution server 14a publishes invalid list data RLITa.
Client devices including the client devices C1a and C2a receive the invalid list RLITa from the invalid list distribution server 14a.

〔第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 CPU 45 a accesses the invalid list distribution server 14 a according to the operating system OSa, receives the invalid list data RLITa described above, and writes it in the memory 43.
For example, the CPU 45a receives invalid list data RRISTa from the invalid list distribution server 14a every time the validity of the signature data SDa is verified.
Step ST92:
The CPU 45a receives the document data DD from the document distribution server 10 according to the document browsing program R_APa.
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 CPU 45a verifies the validity of the public key certificate data Cert1 added to the document data DD received in step ST92, for example, by accessing the certification authority 12.
Step ST94:
If the CPU 45a determines that the public key certificate data Cert1 is valid, the process proceeds to step ST95. If not, the process proceeds to step ST103.

ステップ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 CPU 45a generates the signature data SDa added to the document data DD received in step ST92 based on the private key data Kpri1 corresponding to the public key data Kpub1 included in the public key certificate data Cert1. The signature / encryption circuit 55 of the security chip SCa shown in FIG. 13 is verified.
Step ST96:
If the CPU 45a determines that the signature data SDa is generated based on the secret key data Kpri1 in accordance with the operating system OSa, the CPU 45a proceeds to step ST97, otherwise proceeds to step ST103.

ステップST97:
CPU45aは、公開鍵証明書データCert1に含まれる公開鍵データKpub1の識別データKpubIDに対応する項目が、ステップST91で受信した無効リストデータRLISTa内に存在するか否かを判断する。
ステップST98:
CPU45aは、ステップST97において存在すると判断するとステップST99に進み、存在しないと判断するとステップST103に進む。
Step ST97:
The CPU 45a determines whether or not an item corresponding to the identification data KpubID of the public key data Kpub1 included in the public key certificate data Cert1 exists in the invalid list data RLITa received in step ST91.
Step ST98:
If CPU 45a determines that it exists in step ST97, it proceeds to step ST99, and if it determines that it does not exist, it proceeds to step ST103.

ステップ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 CPU 45a verifies the validity of the time certification data T_Cert added to the document data DD received in step ST92, and determines that the time certification data T_Cert added to the document data DD is valid. Signature time data indicating the signature time is generated based on the difference time data included in the time certification data T_Cert.
Step ST100:
The CPU 45a acquires the invalid time data TIME associated with the identification data KpubID in the invalid list data RLITa according to the operating system OSa.

ステップST101:
CPU45aは、オペレーティングシステムOSaに従って、ステップST99で取得した署名時刻データが示す時刻が、ステップST100で取得した無効時刻データRTIME示す時刻より遅いか否かを判断し、遅いと判断するとステップST103にすすみ、大きくないと判断するとステップST102sに進む。
ステップST102:
CPU45aは、文書データDDがクライアント装置C1aの盗難等の前に生成された正当なものであると判断し、文書閲覧プログラムR_APaに従って、それを利用する。
ステップST103:
CPU45aは、文書データDDがクライアント装置C1aの盗難等の後に生成された不正なものであると判断し、文書閲覧プログラムR_APaによるその利用を禁止する。
Step ST101:
The CPU 45a determines whether or not the time indicated by the signature time data acquired in step ST99 is later than the time indicated by the invalid time data TIME acquired in step ST100 according to the operating system OSa. If it is determined that it is not large, the process proceeds to step ST102s.
Step ST102:
The CPU 45a determines that the document data DD is legitimate generated before the client device C1a is stolen, and uses it in accordance with the document browsing program R_APa.
Step ST103:
The CPU 45a determines that the document data DD is an illegal one generated after the client device C1a is stolen, and prohibits its use by the document browsing program R_APa.

〔第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 communication system 101 will be described.
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 list distribution server 14a (step ST202). At this time, the invalid list data RLIST does not include the identification data KpubID of the public key data Kpub1 used for verification of the signature data SDa.
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 list distribution server 14a (step ST206).
The invalid list distribution server 14a updates the invalid list data RLITa based on the received invalid notification data RNa to generate invalid list data RRISTa (RTIME (2)).
Then, the client device C2a receives the invalid list data RLITa (RTIME (2)) from the invalid list distribution server 14a (step ST207). At this time, the invalid list data RLITa (rTIME (2)) includes the identification data KpubID of the public key data Kpub1 used for verification of the signature data SDa.
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 communication system 101, as shown in FIG. 13, the client device C1a acquires the time data TIME indicating the time when the signature data SDa was generated from the timer 59 provided in the security chip SCa. , It is added to the document data DD together with the signature data SDa.
Therefore, according to the communication system 101, even when the client device C1a is stolen, an unauthorized user cannot adjust the timer 59, and the time data TIME added to the document data created by the unauthorized user is the timer 59. The generation time of the signature data SDa with reference to is accurately shown.
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 time certification server 16 can be specified. Signature data SDa having a later generation time can be appropriately invalidated.
Therefore, according to the communication system 101, the verification client device C2a can determine the validity of the document data DD with high reliability.

<第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 CPUs 45 and 45a of the client devices C1 and C1a are activated by turning on the power of the client devices C1 and C1a, the BIOS, the loader loader, and the operating system OS that are activated on the client devices C1 and C1a. , OSa and application program AP, APa generates operating environment data PHD including hash data.
The CPUs 45 and 45a transmit the document data DD with operating environment data PHD added thereto.
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 communication systems 1 and 101 can be further improved.

本発明は上述した実施形態には限定されない。
上述した実施形態では、本発明の被証明データとして文書データ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は、本発明の第1実施形態の通信システムの全体構成図である。FIG. 1 is an overall configuration diagram of a communication system according to a first embodiment of this invention. 図2は、図1に示すクライアント装置の構成図である。FIG. 2 is a block diagram of the client device shown in FIG. 図3は、図2に示すCPUが実現するソフトウェア(動作)環境を説明するための図である。FIG. 3 is a diagram for explaining a software (operation) environment realized by the CPU shown in FIG. 図4は、図2に示すセキュリティチップの構成図である。FIG. 4 is a configuration diagram of the security chip shown in FIG. 図5は、図2に示すクライアント装置が文書配信サーバに文書データと共に送信するデータを説明するための図である。FIG. 5 is a diagram for explaining data that the client apparatus shown in FIG. 2 transmits to the document distribution server together with the document data. 図6は、図2に示すクライアント装置が文書データを生成するときの動作例を説明するためのフローチャートである。FIG. 6 is a flowchart for explaining an operation example when the client apparatus shown in FIG. 2 generates document data. 図7は、図2に示すクライアント装置が、署名データの無効化を無効リスト配信サーバに要求するときの動作例を説明するためのフローチャートである。FIG. 7 is a flowchart for explaining an operation example when the client apparatus shown in FIG. 2 requests the invalid list distribution server to invalidate the signature data. 図8は、図2に示すクライアント装置が、文書データを検証するときの動作例を説明するためのフローチャートである。FIG. 8 is a flowchart for explaining an operation example when the client device shown in FIG. 2 verifies the document data. 図9は、図2に示すクライアント装置の全体動作例を説明するためのフローチャートである。FIG. 9 is a flowchart for explaining an example of the overall operation of the client apparatus shown in FIG. 図10は、本発明の第2実施形態の通信システムの全体構成図である。FIG. 10 is an overall configuration diagram of a communication system according to the second embodiment of this invention. 図11は、図10に示すクライアント装置の構成図である。FIG. 11 is a block diagram of the client device shown in FIG. 図12は、図11に示すCPUが実現するソフトウェア(動作)環境を説明するための図である。FIG. 12 is a diagram for explaining a software (operation) environment realized by the CPU shown in FIG. 図13は、図11に示すセキュリティチップの構成図である。FIG. 13 is a configuration diagram of the security chip shown in FIG. 図14は、図11に示すクライアント装置が文書配信サーバに文書データと共に送信するデータを説明するための図である。FIG. 14 is a diagram for explaining data that the client apparatus shown in FIG. 11 transmits to the document distribution server together with the document data. 図15は、図11に示すクライアント装置が文書データを生成するときの動作例を説明するためのフローチャートである。FIG. 15 is a flowchart for explaining an operation example when the client apparatus shown in FIG. 11 generates document data. 図16は、図11に示すクライアント装置が、署名データの無効化を無効リスト配信サーバに要求するときの動作例を説明するためのフローチャートである。FIG. 16 is a flowchart for explaining an operation example when the client apparatus shown in FIG. 11 requests the invalid list distribution server to invalidate the signature data. 図17は、図11に示すクライアント装置が、文書データを検証するときの動作例を説明するためのフローチャートである。FIG. 17 is a flowchart for explaining an operation example when the client device shown in FIG. 11 verifies the document data. 図18は、図11に示すクライアント装置の全体動作例を説明するためのフローチャートである。FIG. 18 is a flowchart for explaining an example of the overall operation of the client apparatus shown in FIG.

符号の説明Explanation of symbols

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.
前記被証明データのハッシュデータを生成する第4の手順
をさらに有し、
前記第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の手順で更新した前記カウントデータの履歴を示すログデータを記憶し、バックアップ指示に応じて前記ログデータを前記コンピュータの外部に出力する第5の手順
をさらに有する請求項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.
前記コンピュータの起動時に、当該コンピュータ上で起動されたBIOS、ローダ、オペレーティングシステムおよびアプリケーションプログラムの各々のハッシュデータを含む動作環境データを生成する第6の手順
をさらに有し、
前記第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の手順と、
前記第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.
前記第2の手順で前記署名データが有効であると判断したことを条件に、前記被証明データが正当であると判断する第3の手順
をさらに有する請求項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.
前記無効対象の署名データの識別データと前記カウントデータとを対応付けて示す無効リストデータを受信する第4の手順
をさらに有し、
前記第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.
前記第4の手順は、前記第1の手順で前記署名データの正当性を検証する度、あるいは定期的に前記無効リストデータを受信する
請求項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.
前記被証明データに付加され、前記署名データを生成するコンピュータの起動時に当該コンピュータ上で起動されたBIOS、ローダ、オペレーティングシステムおよびアプリケーションプログラムの各々のハッシュデータの正当性を検証する第5の手順
をさらに有し、
前記第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のコンピュータと第2のコンピュータが通信を行うデータ処理方法であって、
第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.
被証明データに付加された署名データが予め規定された鍵データを基に生成されたか否かを検証する第1の手順と、
前記署名データの生成元においてセキュアな状態で計時を行うタイマが示す時データの正当性を示す証明データを検証する第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.
JP2004142824A 2004-05-12 2004-05-12 Information processing method and information processing system Expired - Fee Related JP4626181B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (9)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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