(57)【要約】【課題】第三者機関へ接続する環境にないユーザでもタイムスタンプを取得することができるタイムスタンプ装置及びそのためのプログラムを提供する。【解決手段】タイムスタンプ装置１０には、クライアントＰＣ１２が接続されており、クライアントＰＣ１２が発生した時刻証明の対象となるデータを受け付ける場合の、受付処理の順序の前後関係を証明する第１のタイムスタンプを生成する。また、タイムスタンプ装置１０には、タイムスタンプサーバ１４が接続されており、タイムスタンプ装置１０が発生した時刻情報に対して証明時刻を添付し、ディジタル署名をつけた第２のタイムスタンプをタイムスタンプサーバ１４から取得する。また、タイムスタンプ装置１０は、上記証明時刻を使用して、各第１のタイムスタンプの生成時刻を演算する。【選択図】図１
2008005093.tif 000002
【特許請求の範囲】
【請求項１】
時刻情報を受信する時刻情報受信手段と、
時刻証明の対象となるデータの受付処理を行う受付処理手段と、
前記受付処理手段が行う受付処理の順序の前後関係を証明するために前記時刻情報受信手段が受信した時刻情報を用いて第１のタイムスタンプを生成するタイムスタンプ生成手段と、
前記時刻情報に対して時刻証明するための第２のタイムスタンプを取得するタイムスタンプ取得手段と、
前記時刻情報と前記タイムスタンプ取得手段が取得した第２のタイムスタンプの証明時刻との差分を取得する差分取得手段と、
前記差分取得手段が取得した時刻の差分と前記タイムスタンプ生成手段が生成する各第１のタイムスタンプの間の経過時間とに基づき、前記タイムスタンプ生成手段が生成した各タイムスタンプの生成時刻を演算する時刻演算手段と、
を備えることを特徴とするタイムスタンプ装置。
【請求項２】
請求項１記載のタイムスタンプ装置において、前記タイムスタンプ生成手段は、前記受付処理手段が受付処理を行った複数のデータに対してまとめて第１のタイムスタンプを生成することを特徴とするタイムスタンプ装置。
【請求項３】
時刻証明の対象となるデータの受付処理を行い、
時刻情報を受信し、
前記受付処理の順序の前後関係を証明するために前記受信した時刻情報を用いて第１のタイムスタンプを生成し、
前記時刻情報に対して時刻証明するための第２のタイムスタンプを取得し、
前記時刻情報と前記第２のタイムスタンプの証明時刻との差分を取得し、
前記差分と前記各第１のタイムスタンプの間の経過時間とに基づき、前記各タイムスタンプの生成時刻を演算する処理をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時刻証明の対象となるデータに対してタイムスタンプを生成するタイムスタンプ装置及びそのためのプログラムに関する。
【背景技術】
【０００２】
従来より、コピーが容易で原本の特定が困難であるディジタル文書については、文書作成日時を証明するためのタイムスタンプ（時刻署名）を付加する技術が開発されている。
【０００３】
例えば、下記特許文献１には、時刻署名生成時に第三者機関への接続を行わず、オフラインで時刻署名を生成する時刻署名装置が開示されている。
【特許文献１】特開２００２−１１６６９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上記従来の技術においては、タイムスタンプ（時刻署名）生成前に必ず第三者機関へ接続する必要があるので、第三者機関へ接続する環境にないユーザは、タイムスタンプを取得できないという問題があった。
【０００５】
本発明は、上記従来の課題に鑑みなされたものであり、その目的は、第三者機関へ接続する環境にないユーザでもタイムスタンプを取得することができるタイムスタンプ装置及びそのためのプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は、タイムスタンプ装置であって、時刻情報を受信する時刻情報受信手段と、時刻証明の対象となるデータの受付処理を行う受付処理手段と、前記受付処理手段が行う受付処理の順序の前後関係を証明するために前記時刻情報受信手段が受信した時刻情報を用いて第１のタイムスタンプを生成するタイムスタンプ生成手段と、前記時刻情報に対して時刻証明するための第２のタイムスタンプを取得するタイムスタンプ取得手段と、前記時刻情報と前記タイムスタンプ取得手段が取得した第２のタイムスタンプの証明時刻との差分を取得する差分取得手段と、前記差分取得手段が取得した時刻の差分と前記タイムスタンプ生成手段が生成する各第１のタイムスタンプの間の経過時間とに基づき、前記タイムスタンプ生成手段が生成した各タイムスタンプの生成時刻を演算する時刻演算手段と、を備えることを特徴とする。
【０００７】
また、上記タイムスタンプ装置において、前記タイムスタンプ生成手段は、前記受付処理手段が受付処理を行った複数のデータに対してまとめて第１のタイムスタンプを生成することを特徴とする。
【０００８】
また、本発明は、時刻証明の対象となるデータの受付処理を行い、時刻情報を受信し、前記受付処理の順序の前後関係を証明するために前記受信した時刻情報を用いて第１のタイムスタンプを生成し、前記時刻情報に対して時刻証明するための第２のタイムスタンプを取得し、前記時刻情報と前記第２のタイムスタンプの証明時刻との差分を取得し、前記差分と前記各第１のタイムスタンプの間の経過時間とに基づき、前記各タイムスタンプの生成時刻を演算する処理をコンピュータに実行させるプログラムであることを特徴とする。
【発明を実施するための最良の形態】
【０００９】
以下、本発明を実施するための最良の形態（以下、実施形態という）を、図面に従って説明する。
【００１０】
図１には、本発明にかかるタイムスタンプ装置を使用したタイムスタンプ生成システムの構成例が示される。図１において、タイムスタンプ装置１０には、ユーザ側のクライアントコンピュータ（クライアントＰＣ）１２が接続され、クライアントＰＣ１２が発生した時刻証明の対象となるデータに対して第１のタイムスタンプを付与してクライアントＰＣ１２に送信する。第１のタイムスタンプは、クライアントＰＣ１２からのデータをタイムスタンプ装置１０が受け付ける場合の、受付処理の順序の前後関係を証明するためのタイムスタンプである。なお、タイムスタンプ装置１０とクライアントＰＣ１２との接続方法は特に限定されず、イーサネット（登録商標）等適宜な手段を使用することができる。
【００１１】
また、タイムスタンプ装置１０は、インターネット、ＬＡＮ（構内通信網）等を介してタイムスタンプサーバ１４に接続されている。このタイムスタンプサーバ１４は、例えばタイムスタンプ装置１０が発生した時刻情報に対して信頼できる時刻源から得た時刻を添付し、ディジタル署名をつけて返信する。上記信頼できる時刻源から得た時刻が、タイムスタンプ装置１０が発生した時刻情報に対する証明時刻となる。また、上記タイムスタンプサーバ１４から得るディジタル署名付きの返信データが本発明の第２のタイムスタンプの例である。なお、タイムスタンプサーバ１４は、例えば適宜な外部機関に設置されていてもよいし、タイムスタンプ装置１０と同じ組織内に設置されていてもよい。また、タイムスタンプサーバ１４は、公的な認証機関により発行された公開鍵証明書を保持していてもよいし、公開鍵証明書を保持せずにタイムスタンプを付与する構成でもよい。
【００１２】
以上の実施形態によれば、クライアントＰＣ１２がインターネット等を介して外部の第三者機関へ接続する環境にない場合でもタイムスタンプを取得することができる。また、タイムスタンプ装置１０は、上記タイムスタンプ装置１０が発生した時刻情報と、タイムスタンプサーバ１４から受け取った上記第２のタイムスタンプに含まれる証明時刻とに基づき、タイムスタンプ装置１０が生成した第１のタイムスタンプの生成時刻を求めることができる。
【００１３】
図２には、本発明にかかるタイムスタンプ装置１０の構成例が示される。図１において、タイムスタンプ装置は、ＣＰＵ（中央処理装置）１６、不揮発性記憶装置１８、ＲＡＭ（ランダムアクセスメモリ）２０、通信インタフェース２２，２４及び計時部２６を含んで構成されている。
【００１４】
ＣＰＵ１６は、不揮発性記憶装置１８に格納されたプログラムを実行し、タイムスタンプ装置１０の動作を制御するプロセッサである。
【００１５】
不揮発性記憶装置１８は、リードオンリーメモリ、ハードディスク装置等により構成されたコンピュータ読み取り可能な不揮発性の記憶媒体であり、ＣＰＵ１６が実行するプログラムやデータ等を記憶する。
【００１６】
ＲＡＭ２０は、ＣＰＵ１６の作業用メモリ（主記憶装置）として機能する読み書き可能な揮発性メモリである。
【００１７】
通信インタフェース２２は、上記クライアントＰＣ１２に接続され、時刻証明の対象となるデータ及びそのデータに対するタイムスタンプ等の送受信処理を行う。
【００１８】
通信インタフェース２４は、タイムスタンプサーバ１４に接続され、タイムスタンプ装置１０が発生した時刻情報及びその時刻情報に対するタイムスタンプ等の送受信処理を行う。
【００１９】
計時部２６は、タイムスタンプ装置１０の動作に使用する時刻情報を発生する時計機能である。なお、時刻情報は、コンピュータ内部に設けられたクロックモジュールから受信してもよく、この場合には計時部２６がなくてもよい。
【００２０】
図３には、上記図２に示されたタイムスタンプ装置１０の各機能を表す機能ブロック図が示される。図３において、タイムスタンプ装置１０は、タイムスタンプ制御部２８、タイムスタンプ生成部３０、タイムスタンプ取得部３２、時刻情報受信部３４、記憶部３６及び通信部３８の各機能を含んで構成されている。
【００２１】
タイムスタンプ制御部２８は、ＣＰＵ１６により実現され、時刻証明の対象となるデータの受付処理及びタイムスタンプサーバ１４への時刻証明（第２のタイムスタンプ）の要求処理を行う。このタイムスタンプ制御部２８が受け付ける時刻証明の対象となるデータは、クライアントＰＣ１２において生成されたハッシュ値であることが好適である。また、タイムスタンプ制御部２８は、時刻情報受信部３４から取得した時刻情報とタイムスタンプ取得部３２が取得した第２のタイムスタンプの証明時刻との差分を求め、この差分とタイムスタンプ生成部３０が生成する各第１のタイムスタンプの間の経過時間とに基づき、タイムスタンプ生成部３０が生成した各第１のタイムスタンプの生成時刻を演算する。この場合のタイムスタンプ制御部２８が、本発明の差分取得手段及び時刻演算手段に相当する。なお、上記各第１のタイムスタンプの生成時刻を演算する処理の詳細については後述する。
【００２２】
タイムスタンプ生成部３０は、ＣＰＵ１６により実現され、上記タイムスタンプ制御部２８が行う受付処理の前後関係を証明するための第１のタイムスタンプを生成する。また、タイムスタンプ生成部３０は、第１のタイムスタンプと第２のタイムスタンプとを関係付ける処理も行う。第１のタイムスタンプを生成及び第１のタイムスタンプと第２のタイムスタンプとを関係付ける処理の詳細については後述する。
【００２３】
タイムスタンプ取得部３２は、ＣＰＵ１６により実現され、上記タイムスタンプ制御部２８から第２のタイムスタンプを要求された場合に、タイムスタンプサーバ１４に対して時刻情報受信部３４から取得した時刻情報を送り、この時刻情報に対して時刻証明するための第２のタイムスタンプをタイムスタンプサーバ１４から受け取る。
【００２４】
時刻情報受信部３４は、ＣＰＵ１６により実現され、計時部２６またはコンピュータ内部に設けられたクロックモジュールから時刻情報を受信してタイムスタンプ制御部２８、タイムスタンプ生成部３０、タイムスタンプ取得部３２等に提供する。
【００２５】
記憶部３６は、不揮発性記憶装置１８及びＲＡＭ２０により実現され、上記第１，第２のタイムスタンプ等のデータ及びＣＰＵ１６の動作プログラム等を格納する。
【００２６】
通信部３８は、通信インタフェース２２，２４により実現され、クライアントＰＣ１２及びタイムスタンプサーバ１４との間で、第１，第２のタイムスタンプ、時刻証明の対象となるデータ等の送受信処理を行う。
【００２７】
図４には、本発明にかかるタイムスタンプ装置１０の動作例のフローが示される。図４において、タイムスタンプ制御部２８は、クライアントＰＣ１２からタイムスタンプの要求が有ったか否かを監視する（Ｓ１０１）。このタイムスタンプの要求は、クライアントＰＣ１２が、時刻証明の対象となるデータのハッシュ値を送信することにより行う。
【００２８】
Ｓ１０１において、タイムスタンプの要求が有ると、タイムスタンプ制御部２８は、通信部３８を介して受け付けたハッシュ値をタイムスタンプ生成部３０に渡す。この場合のタイムスタンプ制御部２８が、本発明の受付処理手段に相当する。タイムスタンプ生成部３０は、ハッシュ値を受け取った時刻を時刻情報受信部３４から取得し、前回ハッシュ値を受け取ってからの経過時間を演算する（Ｓ１０２）。また、タイムスタンプ生成部３０は、上記ハッシュ値及び経過時間等を使用して第１のタイムスタンプを生成する（Ｓ１０３）。
【００２９】
図５には、第１のタイムスタンプの生成方法の例の説明図が示される。図５において、ＨｎはクライアントＰＣ１２から受信した時刻証明の対象となるハッシュ値であり、ｎはタイムスタンプ制御部２８がこのハッシュ値を受け付けた順番を示す番号である。また、Ｌｎは、ハッシュ値Ｈｎに付される第１のタイムスタンプである。Ｌｎ−１は、タイムスタンプ制御部２８が受け付けた順番がハッシュ値Ｈｎより一つ前のハッシュ値Ｈｎ−１に対して付加された第１のタイムスタンプである。Δｔｎは、第１のタイムスタンプの間の経過時間であり、本例の場合は上述したように、一つ前のハッシュ値Ｈｎ−１をタイムスタンプ制御部２８が受け取ってから次のハッシュ値Ｈｎを受け取るまでに経過した時間である。本例では、上記二つのハッシュ値Ｈｎ、Ｈｎ−１、ハッシュ値Ｈｎの受付番号であるｎ及び上記経過時間Δｔｎとを使用してタイムスタンプ生成部３０が次に示す式（１）により第１のタイムスタンプＬｎを演算する。
Ｌｎ＝ｈａｓｈ（Ｈｎ，ｎ，Ｌｎ−１，Δｔｎ）          −（１）
ここで、ｈａｓｈはハッシュ関数を示す。なお、ハッシュ関数としては、特に限定されない。
【００３０】
上記式（１）に示されるように、第１のタイムスタンプＬｎは、時刻証明の対象となるハッシュ値Ｈｎ、その受付番号ｎ、受付番号が一つ前のハッシュ値Ｈｎ−１に対して付加された第１のタイムスタンプＬｎ−１及び経過時間Δｔｎを組み合わせた形式となっている。従って、例えば上記第１のタイムスタンプＬｎを受付番号の順に演算した結果（Ｌ１、Ｌ２…Ｌｎ−１、Ｌｎ）を、時刻証明の対象となるハッシュ値Ｈｎをタイムスタンプ制御部２８が受け付けた順序の前後関係の証明に使用することができる。
【００３１】
以上のようにして生成した第１のタイムスタンプは、タイムスタンプ制御部２８がクライアントＰＣ１２に送信する（Ｓ１０４）。また、タイムスタンプ制御部２８は、上記第１のタイムスタンプを記憶部３６に格納する。この場合、上記経過時間も合わせて記憶部３６に記憶する。
【００３２】
次に、タイムスタンプ制御部２８は、クライアントＰＣ１２からタイムスタンプの要求が有ったか否かを監視し（Ｓ１０５）、要求が有った場合には、Ｓ１０２からの動作を繰り返し、第１のタイムスタンプを生成する。
【００３３】
また、タイムスタンプ制御部２８は、第２のタイムスタンプの取得時期が到来したか否かも監視し（Ｓ１０６）、到来していない場合はＳ１０５からの動作を繰り返す。一方、Ｓ１０６において、第２のタイムスタンプの取得時期が到来した場合は、クライアントＰＣ１２から最も新しく取得した時刻証明の対象となるハッシュ値の受付番号に１を加えた数値をタイムスタンプ取得部３２に渡し（例えばｎ＋１）、第２のタイムスタンプの取得をタイムスタンプ取得部３２に要求する（Ｓ１０７）。なお、第２のタイムスタンプの取得時期は、適宜設定することができる。例えば、クライアントＰＣ１２からのタイムスタンプの要求回数に応じてあるいは所定時間毎に取得時期を設定してもよい。
【００３４】
タイムスタンプ取得部３２は、Ｓ１０７においてタイムスタンプ制御部２８が第２のタイムスタンプの要求を行った要求時刻（Ｔｎ＋１）を時刻情報受信部３４から取得し、この時刻（Ｔｎ＋１）のハッシュ値を算出して通信部３８を介してタイムスタンプサーバ１４に送信する。タイムスタンプサーバ１４では、上記時刻のハッシュ値を時刻情報として受け取ると、これに証明時刻（ＴＧｎ＋１）を添付し、さらにディジタル署名をつけて第２のタイムスタンプとしてタイムスタンプ装置１０に返信する。上記証明時刻は、タイムスタンプサーバ１４が信頼できる時刻源から得た時刻であり、上記時刻（Ｔｎ＋１）に対して時刻証明するための時刻である。タイムスタンプ取得部３２は、返信された第２のタイムスタンプを通信部３８を介して取得する（Ｓ１０８）。
【００３５】
なお、タイムスタンプ取得部３２は、タイムスタンプサーバ１４から第２のタイムスタンプを取得する際に、上記要求時刻Ｔｎ＋１の代わりに、最も新しく生成した第１のタイムスタンプＬｎのハッシュ値をタイムスタンプサーバ１４に送信してもよい。
【００３６】
タイムスタンプ制御部２８は、タイムスタンプ取得部３２が取得した第２のタイムスタンプをタイムスタンプ生成部３０に渡す。タイムスタンプ生成部３０は、第２のタイムスタンプを受け取った時刻を時刻情報受信部３４から取得し、前回ハッシュ値を受け取ってからの経過時間を演算する（Ｓ１０９）。また、タイムスタンプ生成部３０は、上記第２のタイムスタンプ及び経過時間等を使用して第１のタイムスタンプを生成する。これにより、第１のタイムスタンプと第２のタイムスタンプとを関係付ける（Ｓ１１０）。
【００３７】
図６には、第２のタイムスタンプを使用して第１のタイムスタンプを生成する処理の例の説明図が示される。図６において、ＴＳｎ＋１は、タイムスタンプ取得部３２が取得した第２のタイムスタンプである。また、Δｔｎ＋１は、上記Ｓ１０９で演算した経過時間である。この第２のタイムスタンプ及び経過時間等を使用して生成した第１のタイムスタンプＬｎ＋１は、次の式（２）により演算される。
Ｌｎ＋１＝ｈａｓｈ（Ｌｎ，ｎ＋１，ＴＳｎ＋１，Δｔｎ＋１）          −（２）
【００３８】
上記式（２）により演算される第１のタイムスタンプＬｎ＋１は、クライアントＰＣ１２から取得したハッシュ値に対して付加された第１のタイムスタンプＬｎと第２のタイムスタンプＴＳｎ＋１とを関係付け、その前後関係を示している。これにより、第１のタイムスタンプＬｎが付与されたハッシュ値Ｈｎが第２のタイムスタンプＴＳｎ＋１以前に作成されたものであることが証明できる。また、第２のタイムスタンプが２回付与されている場合には、第２のタイムスタンプが２回付与された各時点の間の期間に上記ハッシュ値が作成されたものであることを証明できる。
【００３９】
以上のようにして生成した第１のタイムスタンプは、タイムスタンプ制御部２８が記憶部３６に格納する。この場合、上記第２のタイムスタンプ、第２のタイムスタンプの要求を行った要求時刻及び経過時間等も合わせて記憶部３６に記憶する。その後、Ｓ１０５からの動作を繰り返す。なお、この場合、Ｓ１０５においてタイムスタンプの要求が有り、Ｓ１０２において経過時間を演算するときには、Ｓ１０９において第２のタイムスタンプを受け取った時刻から次のハッシュ値をクライアントＰＣ１２より受け取るまでに経過した時間を演算する。
【００４０】
以上の実施形態によれば、クライアントＰＣ１２が直接タイムスタンプサーバ１４に対してタイムスタンプを要求する構成に比べて、タイムスタンプサーバ１４へのアクセス回数を減少することができ、タイムスタンプの付与コストを低減することができる。
【００４１】
本実施形態においては、タイムスタンプ制御部２８が、上述した経過時間Δｔｎ、第２のタイムスタンプの要求を行った時刻Ｔｎ＋１及び第２のタイムスタンプを所定の鍵により復号して得られる上記証明時刻ＴＧｎ＋１を使用して各第１のタイムスタンプの生成時刻を演算することができる。
【００４２】
図７には、上記各第１のタイムスタンプの生成時刻を演算する動作のフローが示される。図７において、タイムスタンプ制御部２８は、第２のタイムスタンプの要求を行った要求時刻とタイムスタンプサーバ１４が当該要求時刻を証明するための証明時刻を取得する（Ｓ２０１）。上記要求時刻は記憶部３６から読み出し、上記証明時刻は、記憶部３６から読み出した第２のタイムスタンプより取得する。
【００４３】
Ｓ２０１の動作を図５及び図６に示された例で説明する。Ｌｎ−２及びＬｎ＋１が第２のタイムスタンプ及び経過時間等を使用して生成された第１のタイムスタンプの例であり、Ｌｎ−１及びＬｎがクライアントＰＣ１２から受け取ったハッシュ値に対して生成された第１のタイムスタンプの例である。本例において、タイムスタンプ制御部２８は、第１のタイムスタンプＬｎ−２及びＬｎ＋１に対応して、要求時刻Ｔｎ−２、Ｔｎ＋１及び証明時刻ＴＧｎ−２、ＴＧｎ＋１を取得する。
【００４４】
次に、タイムスタンプ制御部２８は、上記要求時刻と証明時刻との差分を求める（Ｓ２０２）。図５及び図６においては、次に示す式（３）、（４）より差分を求める。
Ｌｎ−２における差分ΔＴｎ−２＝（Ｔｎ−２）−（ＴＧｎ−２）          −（３）
Ｌｎ＋１における差分ΔＴｎ＋１＝（Ｔｎ＋１）−（ＴＧｎ＋１）          −（４）
【００４５】
次に、タイムスタンプ制御部２８は、上記差分及び各第１のタイムスタンプの間の経過時間とに基づいて各第１のタイムスタンプの生成時刻を演算する（Ｓ２０３）。
【００４６】
図５及び図６においては、次のようにして上記第１のタイムスタンプの生成時刻を演算する。まず、ΔＴｎ−２とΔＴｎ＋１とを比較し、ΔＴｎ−２＝ΔＴｎ＋１のときは、時間が経過しても要求時刻と証明時刻、すなわちタイムスタンプ装置１０の時刻情報受信部３４から取得する時刻とタイムスタンプサーバ１４が時刻源から得た時刻との間で時計の刻み（時刻が進行する速さ）に差がないと判断する。このときには、タイムスタンプ制御部２８は、次に示す式（５）により第１のタイムスタンプＬｎの生成時刻ＴＬ，ｎを演算する。
ＴＬ，ｎ＝ＴＧｍ＋ΣΔｔｋ          −（５）
ここで、ＴＧｍは所定の第２のタイムスタンプに含まれる証明時刻であり、図５、図６の例では、ＴＧｎ−２が相当する。また、Δｔｋは、前述した経過時間であり、図５、図６の例では、ΣΔｔｋ＝Δｔｎ−１＋Δｔｎとなる。この経過時間は、タイムスタンプ制御部２８が記憶部３６から読み出して使用する。
【００４７】
一方、ΔＴｎ−２＝ΔＴｎ＋１ではないときには、タイムスタンプ装置１０の時刻情報受信部３４から取得する時刻とタイムスタンプサーバ１４が時刻源から得た時刻との間で時計の刻み（時刻が進行する速さ）に差があると判断する。このときには、タイムスタンプ制御部２８は、下記式（６）により第１のタイムスタンプＬｎの生成時刻ＴＬ，ｎを演算する。
ＴＬ，ｎ＝ＴＧｍ＋ΣΔｔｋ・（ＴＧｎ＋１−ＴＧｎ−２）／（Ｔｎ＋１−Ｔｎ−２）          −（６）
ここで、（ＴＧｎ＋１−ＴＧｎ−２）／（Ｔｎ＋１−Ｔｎ−２）は、第１のタイムスタンプＬｎ−２とＬｎ＋１との間における差分の変化率である。また、Δｔｋは、上記式（５）の場合と同じである。
【００４８】
このように、本実施形態のタイムスタンプ装置１０は、タイムスタンプサーバ１４から受け取った第２のタイムスタンプに含まれる証明時刻を使用して、上記式（５）、（６）に基づき、各第１のタイムスタンプＬｎの生成時刻を求めることができる。
【００４９】
図８には、第１のタイムスタンプの他の生成方法の例の説明図が示される。図８において、クライアントＰＣ１２から受信した複数のハッシュ値Ｈｎ１、Ｈｎ２…を使用して、次に示す式（７）により新たなハッシュ値Ｈｎを演算する。
Ｈｎ＝ｈａｓｈ（Ｈｎ１，Ｈｎ２…）          −（７）
【００５０】
次に、式（８）により第１のタイムスタンプＬｎを演算する。
Ｌｎ＝ｈａｓｈ（Ｈｎ，ｎ，Ｌｎ−１，Δｔｎ）          −（８）
【００５１】
上記方法によれば、複数のハッシュ値Ｈｎ１、Ｈｎ２…に対してまとめてタイムスタンプを付与できるので、処理速度を向上することができる。また、上述した式（５）、（６）を使用して各第１のタイムスタンプＬｎの生成時刻を求めることもできる。
【図面の簡単な説明】
【００５２】
【図１】本発明にかかるタイムスタンプ装置を使用したタイムスタンプ生成システムの構成例を示す図である。
【図２】本発明にかかるタイムスタンプ装置の構成例を示す図である。
【図３】本発明にかかるタイムスタンプ装置の各機能を表す機能ブロック図である。
【図４】本発明にかかるタイムスタンプ装置の動作例のフロー図である。
【図５】第１のタイムスタンプの生成方法の例の説明図である。
【図６】第２のタイムスタンプを使用して第１のタイムスタンプを生成する処理の例の説明図である。
【図７】各第１のタイムスタンプの生成時刻を演算する動作のフロー図である。
【図８】第１のタイムスタンプの他の生成方法の例の説明図である。
【符号の説明】
【００５３】
１０  タイムスタンプ装置、１２  クライアントＰＣ、１４  タイムスタンプサーバ、１６  ＣＰＵ、１８  不揮発性記憶装置、２０  ＲＡＭ、２２，２４  通信インタフェース、２６  計時部、２８  タイムスタンプ制御部、３０  タイムスタンプ生成部、３２  タイムスタンプ取得部、３４  時刻情報受信部、３６  記憶部、３８  通信部。
【図１】
2008005093.tif 000003
【図２】
2008005093.tif 000004
【図３】
2008005093.tif 000005
【図４】
2008005093.tif 000006
【図５】
2008005093.tif 000007
【図６】
2008005093.tif 000008
【図７】
2008005093.tif 000009
【図８】
2008005093.tif 000010