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