(57)【要約】【課題】時刻情報やタイムスタンプの時刻の改ざんを確実に防止する。【解決手段】タイムスタンプを発行する複数のタイムスタンプ機器２１〜２ｎと正確な時刻を配信する時刻配信機器１とを有する。時刻配信機器１は、一定の時間おきに、現在の時刻および乱数と与えられたリンク情報から時刻情報を生成してタイムスタンプ機器２１〜２ｎに配信するとともにその生成した時刻情報をその生成時刻、使用したリンク情報および乱数と一緒に格納する。タイムスタンプ機器２１〜２ｎは、時刻情報が配信されると、前回の配信で格納された時刻情報に代えて今回配信された時刻情報を格納するとともに、その前回の配信で格納された時刻情報と乱数を用いて時刻監査情報を生成して時刻配信機器１に送信する。この時刻監査情報は、時刻配信機器１にて、次回配信する時刻情報のリンク情報として使用されるとともに対応する時刻情報と一緒に格納される。【選択図】  図１
2004235826.tif 000002
【特許請求の範囲】
【請求項１】
タイムスタンプを発行する複数のタイムスタンプ機器と、前記タイムスタンプを生成するための時刻を前記複数のタイムスタンプ機器に配信する時刻配信機器とを有する時刻監査システムであって、
前記時刻配信機器は、
前記時刻を生成する時刻生成手段と、
乱数を生成する第１の乱数生成手段と、
一定の時間おきに、前記時刻生成手段および第１の乱数生成手段から現在の時刻および乱数を取得し、該取得した現在の時刻および乱数と与えられたリンク情報から時刻情報を生成する時刻情報生成手段と、
前記時刻情報生成手段で生成された時刻情報を前記複数のタイムスタンプ機器に配信する第１の時刻情報入出力手段と、
前記時刻情報生成手段で生成された時刻情報をその生成時刻、その生成に使用したリンク情報および乱数と一緒に格納する時刻監査情報格納手段とを有し、
前記複数のタイムスタンプ機器のそれぞれは、
乱数を生成する第２の乱数生成手段と、
前記第１の時刻情報入出力手段から時刻情報が配信されると、前回の配信で格納された時刻情報を出力して今回配信された時刻情報を格納する時刻情報格納手段と、
前記時刻情報格納手段から出力された時刻情報と前記第２の乱数から取得した乱数を少なくとも用いて時刻監査情報を生成する時刻監査情報生成手段と、
前記時刻監査情報生成手段で生成された時刻監査情報を前記第１の時刻情報入出力手段に送信する第２の時刻情報入出力手段とを有し、
前記第１の時刻情報入出力手段は、前記第２の時刻情報入出力手段から受信した時刻監査情報を次回配信する時刻情報の生成に用いられる前記リンク情報として前記時刻情報生成手段に供給し、
前記時刻監査情報格納手段は、前記時刻情報生成手段で生成された時刻情報と一緒にその生成で使用した時刻監査情報を少なくとも含む関連情報を格納することを特徴とする時刻監査システム。
【請求項２】
時刻を保証したいデータのハッシュ値を前記複数のタイムスタンプ機器のいずれかに送信して前記タイムスタンプの発行を要求するタイムスタンプ利用機器をさらに有し、
前記複数のタイムスタンプ機器のそれぞれは、
受付済ハッシュ値格納手段と、
前記第１の時刻生成手段と同期して時刻を生成する第２の時刻生成手段と、
前記タイムスタンプ利用機器からタイムスタンプの発行要求を受け付けるタイムスタンプ受付手段と、
前記タイムスタンプ受付手段がタイムスタンプの発行要求を受け付けると、前記タイムスタンプ利用機器から受信したハッシュ値に対して、前記第２の時刻生成手段から取得した現在の時刻と前記時刻情報格納手段に格納されている時刻情報とからタイムスタンプを生成し、該生成したタイムスタンプを前記タイムスタンプ受付手段を介して前記タイムスタンプ利用機器に送信するとともに、前記受信したハッシュ値を受付済ハッシュ値として前記受付済ハッシュ値格納手段に供給して格納させるタイムスタンプ生成手段とを有することを特徴とする請求項１に記載の時刻監査システム。
【請求項３】
前記時刻監査情報生成手段は、前記時刻情報格納手段から出力された時刻情報と前記第２の乱数生成手段から取得した乱数と前記受付済ハッシュ値格納手段に格納されている受付済ハッシュ値の一覧とから前記時刻監査情報を生成し、
前記第２の時刻情報入出力手段は、前記時刻監査情報生成手段で生成された時刻監査情報と一緒にその生成で使用した乱数および受付済ハッシュ値を前記関連情報として前記第１の時刻情報入出力手段に送信し、
前記時刻監査情報格納手段は、前記関連情報を対応する時刻情報と一緒に格納することを特徴とする請求項２に記載の時刻監査システム。
【請求項４】
前記タイムスタンプ利用機器は、発行されたタイムスタンプを前記時刻配信機器に送信してその検証を要求し、
前記第１の時刻情報入出力手段は、前記検証要求を受け付けると、前記タイムスタンプ利用機器から受信した検証対象であるタイムスタンプを前記時刻監査情報格納手段に供給し、
前記時刻監査情報格納手段は、前記検証対象であるタイムスタンプに含まれている時刻情報を検索キーとして用いて、これまでに格納した時刻情報の中から該当する時刻情報を検索し、該検索結果を前記第１の時刻情報入出力手段を介して前記タイムスタンプ利用機器に送信することを特徴とする請求項３に記載の時刻監査システム。
【請求項５】
前記時刻監査情報格納手段は、前記検索で該当情報があった場合は、該当した第１の時刻情報の生成時刻から該第１の時刻情報の次に格納された第２の時刻情報の生成時刻までの時刻の範囲内に前記検証対象であるタイムスタンプの発行時刻が存在するか否かを調べ、存在した場合は、検証に成功した旨の検証結果を、存在しなかった場合は、検証に失敗した旨の検証結果を送信することを特徴とする請求項４に記載の時刻監査システム。
【請求項６】
前記時刻監査情報格納手段は、前記検証に失敗した旨の検証結果を送信する場合は、前記第１および第２の時刻情報とこれらの関連情報を一緒に送信することを特徴とする請求項５に記載の時刻監査システム。
【請求項７】
タイムスタンプを発行する複数のタイムスタンプ機器と、前記タイムスタンプを生成するための時刻を前記複数のタイムスタンプ機器に配信する時刻配信機器とを有するシステムにおいて行われる時刻監査方法であって、
前記時刻配信機器が、一定の時間おきに現在の時刻および乱数を取得し、該取得した現在の時刻および乱数と与えられたリンク情報から時刻情報を生成して前記複数のタイムスタンプ機器に配信するとともに、前記一定の時間おきに生成した時刻情報をその生成時刻、その生成に使用したリンク情報および乱数と一緒に順次格納するステップと、
前記複数のタイムスタンプ機器が、前記時刻配信機器から時刻情報が配信されると、前回の配信で格納された時刻情報に代えて今回配信された時刻情報を格納するとともに、前記前回の配信で格納された時刻情報および新たに取得した乱数を少なくとも用いて時刻監査情報を生成して前記時刻配信機器に送信するステップと、
前記時刻配信機器が、前記複数のタイムスタンプ機器から時刻監査情報を受信すると、該受信した時刻監査情報を次回配信する時刻情報の前記リンク情報として使用するとともに、前記次回配信する時刻情報と一緒にその生成で使用した時刻監査情報を少なくとも含む関連情報を格納するステップとを含むことを特徴とする時刻監査方法。
【請求項８】
前記タイムスタンプを利用するタイムスタンプ利用機器が、時刻を保証したいデータのハッシュ値を前記複数のタイムスタンプ機器のいずれかに送信して前記タイムスタンプの発行を要求するステップと、
前記タイムスタンプ利用機器からタイムスタンプの発行要求を受けたタイムスタンプ機器が、前記タイムスタンプ利用機器から受信したハッシュ値を受付済ハッシュ値として格納するとともに、該受信したハッシュ値に対して現在格納している時刻情報と前記時刻配信機器からの時刻の配信を通じて取得した現在の時刻とからタイムスタンプを生成し、該生成したタイムスタンプを前記タイムスタンプ利用機器に送信するステップとをさらに含むことを特徴とする請求項７に記載の時刻監査方法。
【請求項９】
前記タイムスタンプ利用機器に対してタイムスタンプを発行したタイムスタンプ機器が、前記時刻配信機器から時刻情報が配信されると、前回の配信で格納した時刻情報と新たに取得した乱数とこれまでに格納した前記受付済ハッシュ値の一覧とから前記時刻監査情報を生成するとともに、該生成された時刻監査情報と一緒にその生成で使用した乱数および受付済ハッシュ値を前記関連情報として前記時刻配信機器に送信するステップと、
前記時刻配信機器が、前記関連情報を対応する時刻情報と一緒に格納するステップをさらに含むことを特徴とする請求項８に記載の時刻監査方法。
【請求項１０】
前記タイムスタンプ利用機器が、発行されたタイムスタンプを前記時刻配信機器に送信してその検証を要求するステップと、
前記時刻配信機器が、前記検証要求に応じて、前記タイムスタンプ利用機器から受信した検証対象であるタイムスタンプに含まれている時刻情報を検索キーとして用いて、これまでに格納した時刻情報の中から該当する時刻情報を検索し、該検索結果を前記タイムスタンプ利用機器に送信するステップとをさらに含むことを特徴とする請求項９に記載の時刻監査方法。
【請求項１１】
前記時刻配信機器が、前記検索で該当情報があった場合は、該当した第１の時刻情報の生成時刻から該第１の時刻情報の次に格納された第２の時刻情報の生成時刻までの時刻の範囲内に前記検証対象であるタイムスタンプの発行時刻が存在するか否かを調べ、存在した場合は、検証に成功した旨の検証結果を、存在しなかった場合は、検証に失敗した旨の検証結果を前記タイムスタンプ利用機器に送信するステップをさらに含むことを特徴とする請求項１０に記載の時刻監査方法。
【請求項１２】
前記時刻配信機器が、前記検証に失敗した旨の検証結果を送信する場合は、前記第１および第２の時刻情報およびこれらの関連情報を一緒に送信するステップをさらに含むことを特徴とする請求項１１に記載の時刻監査方法。
【請求項１３】
タイムスタンプを発行する複数のタイムスタンプ機器と、前記タイムスタンプを生成するための時刻を前記複数のタイムスタンプ機器に配信する時刻配信機器とを有するシステムにおいて用いられるプログラムであって、
一定の時間おきに現在の時刻および乱数を取得し、該取得した現在の時刻および乱数と与えられたリンク情報から時刻情報を生成して前記複数のタイムスタンプ機器に配信するとともに、前記一定の時間おきに生成した時刻情報をその生成時刻、その生成に使用したリンク情報および乱数と一緒に順次格納する処理を、前記時刻配信機器のコンピュータに実行させ、
前記時刻配信機器から時刻情報が配信されると、前回の配信で格納された時刻情報に代えて今回配信された時刻情報を格納するとともに、前記前回の配信で格納された時刻情報および新たに取得した乱数を少なくとも用いて時刻監査情報を生成して前記時刻配信機器に送信する処理を、前記複数のタイムスタンプ機器のコンピュータに実行させ、
前記複数のタイムスタンプ機器から時刻監査情報を受信すると、該受信した時刻監査情報を次回配信する時刻情報の前記リンク情報として使用するとともに、前記次回配信する時刻情報と一緒にその生成で使用した時刻監査情報を少なくとも含む関連情報を格納する処理を、前記時刻配信機器のコンピュータに実行させることを特徴とするプログラム。
【請求項１４】
時刻を保証したいデータのハッシュ値を前記複数のタイムスタンプ機器のいずれかに送信して前記タイムスタンプの発行を要求する処理を、前記タイムスタンプを利用するタイムスタンプ利用機器のコンピュータに実行させ、
前記タイムスタンプ利用機器から受信したハッシュ値を受付済ハッシュ値として格納するとともに、該受信したハッシュ値に対して現在格納している時刻情報と前記時刻配信機器からの時刻の配信を通じて取得した現在の時刻とからタイムスタンプを生成し、該生成したタイムスタンプを前記タイムスタンプ利用機器に送信する処理を、前記タイムスタンプ利用機器からタイムスタンプの発行要求を受けたタイムスタンプ機器のコンピュータに実行させることを特徴とする請求項１３に記載のプログラム。
【請求項１５】
前記時刻配信機器から時刻情報が配信されると、前回の配信で格納された時刻情報と新たに取得した乱数とこれまでに格納した前記受付済ハッシュ値の一覧とから前記時刻監査情報を生成するとともに、該生成された時刻監査情報と一緒にその生成で使用した乱数および受付済ハッシュ値を前記関連情報として前記時刻配信機器に送信する処理を、前記タイムスタンプ利用機器に対してタイムスタンプを発行したタイムスタンプ機器のコンピュータに実行させ、
前記関連情報を対応する時刻情報と一緒に格納する処理を、前記時刻配信機器のコンピュータに実行させることを特徴とする請求項１４に記載のプログラム。
【請求項１６】
前記複数のタイムスタンプ機器のいずれかから発行されたタイムスタンプを前記時刻配信機器に送信してその検証を要求する処理を、前記タイムスタンプ利用機器のコンピュータに実行させ、
前記検証要求に応じて、前記タイムスタンプ利用機器から受信した検証対象であるタイムスタンプに含まれている時刻情報を検索キーとして用いて、これまでに格納した時刻情報の中から該当する時刻情報を検索し、該検索結果を前記タイムスタンプ利用機器に送信する処理を、前記時刻配信機器のコンピュータに実行させることを特徴とする請求項１５に記載のプログラム。
【請求項１７】
前記検索で該当情報があった場合は、該当した第１の時刻情報の生成時刻から該第１の時刻情報の次に格納された第２の時刻情報の生成時刻までの時刻の範囲内に前記検証対象であるタイムスタンプの発行時刻が存在するか否かを調べ、存在した場合は、検証に成功した旨の検証結果を、存在しなかった場合は、検証に失敗した旨の検証結果を前記タイムスタンプ利用機器に送信する処理を、前記時刻配信機器のコンピュータに実行させることを特徴とする請求項１６に記載のプログラム。
【請求項１８】
前記検証に失敗した旨の検証結果を送信する場合は、前記第１および第２の時刻情報およびこれらの関連情報を一緒に送信する処理を、前記時刻配信機器のコンピュータに実行させることを特徴とする請求項１７に記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、タイムスタンプ局における時刻の改ざんを防止するシステムおよび方法に関する。
【０００２】
【従来の技術】
電子的な商取引、申請、ドキュメント管理などを行うシステムでは、誰が、いつ、どのような電子文書（デジタルデータ）を取り扱ったかを証明することが重要である。「誰が」および「どのような電子文書を」については、既に、公開鍵認証基板（ＰＫＩ）を利用した電子署名による証明が実用化されつつある。一方、「いつ」については、タイムスタンプ局を利用した時刻証明があるが、時刻の改ざんなどの問題がある。このため、時刻の改ざんを防止する種々の提案がなされている。
【０００３】
時刻の改ざんを防止することのできる装置として、例えば特許文献１に記載されたような装置がある。この装置は、時刻証明対象であるデジタル文書Ｍを受信する文書受信手段と、時刻を取得する時刻取得手段と、この時刻取得手段で取得した時刻情報ｔを文書受信手段で受信したデジタル文書Ｍと結合して１つの時刻印付きデジタル文書Ｍｔを作成する結合手段と、各々独立にデジタル署名を作成する複数のデジタル署名手段と、これら複数のデジタル署名手段で作成された複数のデジタル署名を結合して統合デジタル署名ｃを作成する統合デジタル証明作成手段と、結合手段で作成された時刻印付きデジタル文書Ｍｔおよび統合デジタル証明作成手段で作成された統合デジタル署名ｃを含む時刻認証証明書を利用者に送付する時刻証明書送付手段とを有する。この構成によれば、時刻印付きデジタル文書Ｍｔに対して複数のデジタル署名手段で作成された複数のデジタル署名を結合した統合デジタル署名ｃが付与されるため、複数のデジタル署名手段が結託しない限り、生成した時刻印を後から偽造することは困難である。
【０００４】
【特許文献１】
特開２０００−２３５３４０号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、特許文献１に記載のものにおいては、生成した時刻印を後から偽造することはできないものの、時刻取得手段で取得される時刻情報を予測して偽造する、といった不正行為が行われる可能性がある。
【０００６】
また、時刻情報の改ざんが行われた場合、そのことを検出することはできないため、そのままの状態でタイムスタンプの発行が行われることになる。こうして発行されたタイムスタンプは無効とされるが、これは、データに対する時刻保証を無効にすることにもなるので、利用者は、再度、タイムスタンプを取得する必要がある。このようなタイムスタンプの再取得は、手間がかかるばかりか、装置自体の信頼性を低下させる要因となる。
【０００７】
さらに、確実に時刻の改ざんを防止するには、数多くのデジタル署名手段を用意する必要があり、これは装置のコスト増加を招く。
【０００８】
なお、各デジタル署名手段の動作を定期的に確認することで、時刻印の偽造の防止を確実なものとしているが、動作確認後、次回の動作確認までの間に時刻情報の改ざんが行われた場合には、その不正行為を検知することはできなかった。
【０００９】
本発明の目的は、上記問題を解決し、時刻情報やタイムスタンプの時刻などの情報の改ざんを確実に防止する、信頼性の高い、時刻監査システムおよび時刻監査方法ならびにプログラムを提供することにある。
【００１０】
【課題を解決するための手段】
上記目的を達成するために、本発明の時刻監査システムは、タイムスタンプを発行する複数のタイムスタンプ機器と、前記タイムスタンプを生成するための時刻を前記複数のタイムスタンプ機器に配信する時刻配信機器とを有する時刻監査システムであって、
前記時刻配信機器は、
前記時刻を生成する時刻生成手段と、
乱数を生成する第１の乱数生成手段と、
一定の時間おきに、前記時刻生成手段および第１の乱数生成手段から現在の時刻および乱数を取得し、該取得した現在の時刻および乱数と与えられたリンク情報から時刻情報を生成する時刻情報生成手段と、
前記時刻情報生成手段で生成された時刻情報を前記複数のタイムスタンプ機器に配信する第１の時刻情報入出力手段と、
前記時刻情報生成手段で生成された時刻情報をその生成時刻、その生成に使用したリンク情報および乱数と一緒に格納する時刻監査情報格納手段とを有し、
前記複数のタイムスタンプ機器のそれぞれは、
乱数を生成する第２の乱数生成手段と、
前記第１の時刻情報入出力手段から時刻情報が配信されると、前回の配信で格納された時刻情報を出力して今回配信された時刻情報を格納する時刻情報格納手段と、
前記時刻情報格納手段から出力された時刻情報と前記第２の乱数から取得した乱数を少なくとも用いて時刻監査情報を生成する時刻監査情報生成手段と、
前記時刻監査情報生成手段で生成された時刻監査情報を前記第１の時刻情報入出力手段に送信する第２の時刻情報入出力手段とを有し、
前記第１の時刻情報入出力手段は、前記第２の時刻情報入出力手段から受信した時刻監査情報を次回配信する時刻情報の生成に用いられる前記リンク情報として前記時刻情報生成手段に供給し、
前記時刻監査情報格納手段は、前記時刻情報生成手段で生成された時刻情報と一緒にその生成で使用した時刻監査情報を少なくとも含む関連情報を格納することを特徴とする。
【００１１】
本発明の時刻監査方法は、タイムスタンプを発行する複数のタイムスタンプ機器と、前記タイムスタンプを生成するための時刻を前記複数のタイムスタンプ機器に配信する時刻配信機器とを有するシステムにおいて行われる時刻監査方法であって、
前記時刻配信機器が、一定の時間おきに現在の時刻および乱数を取得し、該取得した現在の時刻および乱数と与えられたリンク情報から時刻情報を生成して前記複数のタイムスタンプ機器に配信するとともに、前記一定の時間おきに生成した時刻情報をその生成時刻、その生成に使用したリンク情報および乱数と一緒に順次格納するステップと、
前記複数のタイムスタンプ機器が、前記時刻配信機器から時刻情報が配信されると、前回の配信で格納された時刻情報に代えて今回配信された時刻情報を格納するとともに、前記前回の配信で格納された時刻情報および新たに取得した乱数を少なくとも用いて時刻監査情報を生成して前記時刻配信機器に送信するステップと、
前記時刻配信機器が、前記複数のタイムスタンプ機器から時刻監査情報を受信すると、該受信した時刻監査情報を次回配信する時刻情報の前記リンク情報として使用するとともに、前記次回配信する時刻情報と一緒にその生成で使用した時刻監査情報を少なくとも含む関連情報を格納するステップとを含むことを特徴とする。
【００１２】
本発明のプログラムは、タイムスタンプを発行する複数のタイムスタンプ機器と、前記タイムスタンプを生成するための時刻を前記複数のタイムスタンプ機器に配信する時刻配信機器とを有するシステムにおいて用いられるプログラムであって、
一定の時間おきに現在の時刻および乱数を取得し、該取得した現在の時刻および乱数と与えられたリンク情報から時刻情報を生成して前記複数のタイムスタンプ機器に配信するとともに、前記一定の時間おきに生成した時刻情報をその生成時刻、その生成に使用したリンク情報および乱数と一緒に順次格納する処理を、前記時刻配信機器のコンピュータに実行させ、
前記時刻配信機器から時刻情報が配信されると、前回の配信で格納された時刻情報に代えて今回配信された時刻情報を格納するとともに、前記前回の配信で格納された時刻情報および新たに取得した乱数を少なくとも用いて時刻監査情報を生成して前記時刻配信機器に送信する処理を、前記複数のタイムスタンプ機器のコンピュータに実行させ、
前記複数のタイムスタンプ機器から時刻監査情報を受信すると、該受信した時刻監査情報を次回配信する時刻情報の前記リンク情報として使用するとともに、前記次回配信する時刻情報と一緒にその生成で使用した時刻監査情報を少なくとも含む関連情報を格納する処理を、前記時刻配信機器のコンピュータに実行させることを特徴とする。
【００１３】
上述の本発明の時刻監査システム、時刻監査方法およびプログラムによれば、時刻情報は乱数と各タイムスタンプ機器の時刻監査情報から生成されるために事前に予想することができない。基本的には、時刻監査情報は各タイムスタンプ機器で異なる。
【００１４】
また、時刻情報を配信する時刻配信機器とその配信先であるタイムスタンプ機器の全てが結託しないと、過去の時刻情報を改ざんすることができない。
【００１５】
加えて、過去の時刻情報を改ざんするためには、時刻配信機器およびタイムスタンプ機器で時刻情報と時刻監査情報を生成しなおす必要がある。さらに、時刻情報を配信した先のタイムスタンプ機器が過去の時刻情報を廃棄する必要がある。
【００１６】
以上のことから、時刻配信機器および各タイムスタンプ機器での時刻情報、監査時刻や時刻監査情報などの情報の改ざんはより困難なものとなっている。特に、時刻情報を乱数と各タイムスタンプ機器の時刻監査情報（履歴）とから生成することで、タイムスタンプ機器の数が少なくても、時刻や時刻情報などの情報の改ざんを確実に防止することができるようになっている。
【００１７】
上記の本発明において、前記タイムスタンプを利用するタイムスタンプ利用機器が、時刻を保証したいデータのハッシュ値を前記複数のタイムスタンプ機器のいずれかに送信して前記タイムスタンプの発行を要求し、前記タイムスタンプ利用機器からタイムスタンプの発行要求を受けたタイムスタンプ機器が、前記タイムスタンプ利用機器から受信したハッシュ値を受付済ハッシュ値として格納するとともに、該受信したハッシュ値に対して現在格納している時刻情報と前記時刻配信機器からの時刻の配信を通じて取得した現在の時刻とからタイムスタンプを生成し、該生成したタイムスタンプを前記タイムスタンプ利用機器に送信するようにしてもよい。さらに、前記タイムスタンプ利用機器に対してタイムスタンプを発行したタイムスタンプ機器が、前記時刻配信機器から時刻情報が配信されると、前回の配信で格納された時刻情報と新たに取得した乱数とこれまでに格納した前記受付済ハッシュ値の一覧とから前記時刻監査情報を生成するとともに、該生成された時刻監査情報と一緒にその生成で使用した乱数および受付済ハッシュ値を前記関連情報として前記時刻配信機器に送信し、前記時刻配信機器が、前記関連情報を対応する時刻情報と一緒に格納するようにしてもよい。
【００１８】
上記の構成によれば、時刻配信機器が時刻情報と各タイムスタンプ機器を監査する様々な関連情報とを関連付けて格納するようになっているため、格納した情報を定期的に検証することで、各タイムスタンプ機器のそれぞれについて、時刻情報、監査時刻、時刻監査情報などの情報の改ざんがあったか否かを確認することができる。また、時刻、時刻情報、監査時刻および時刻監査情報などの改ざんといった不正行為を行ったタイムスタンプ機器を特定することができるので、不正行為のあったタイムスタンプ機器に対して適宜対策を行うことが可能となる。
【００１９】
また、上記の本発明において、前記タイムスタンプ利用機器が、発行されたタイムスタンプを前記時刻配信機器に送信してその検証を要求し、前記時刻配信機器が、前記検証要求に応じて、前記タイムスタンプ利用機器から受信した検証対象であるタイムスタンプに含まれている時刻情報を検索キーとして用いて、これまでに格納した時刻情報の中から該当する時刻情報を検索し、該検索結果を前記タイムスタンプ利用機器に送信するようにしてもよい。さらに、前記時刻配信機器が、前記検索で該当情報があった場合は、該当した第１の時刻情報の生成時刻から該第１の時刻情報の次に格納された第２の時刻情報の生成時刻までの時刻の範囲内に前記検証対象であるタイムスタンプの発行時刻が存在するか否かを調べ、存在した場合は、検証に成功した旨の検証結果を、存在しなかった場合は、検証に失敗した旨の検証結果を前記タイムスタンプ利用機器に送信するようにしてもよい。
【００２０】
上記の構成によれば、発行されたタイムスタンプの正当性を検証することができる。これにより、タイムスタンプ機器での時刻の改ざんが抑止される。
【００２１】
さらに、上記の本発明において、前記時刻配信機器が、前記検証に失敗した旨の検証結果を送信する場合に、前記第１および第２の時刻情報およびこれらの関連情報を一緒に送信するようにしてもよい。
【００２２】
上記の構成によれば、時刻の不正なタイムスタンプが発行された場合でも、条件によっては、そのタイムスタンプの正しい時刻を判断することが可能である。
【００２３】
【発明の実施の形態】
次に、本発明の実施形態について図面を参照して説明する。
【００２４】
図１は、本発明の一実施形態である時刻監査システムの概略構成を示すブロック図である。この時刻監査システムは、時刻配信機器１、複数のタイムスタンプ機器２１〜２ｎおよびタイムスタンプ利用機器３がそれぞれネットワークを介して相互通信可能に接続された構成になっている。時刻配信機器１および複数のタイムスタンプ機器２１〜２ｎは、例えばサーバに代表されるコンピュータ装置であり、タイムスタンプ利用機器３はパーソナルコンピュータや携帯情報端末（ＰＤＡ、携帯電話等）などのコンピュータ装置である。ネットワークには、有線ネットワーク（インターネット、イントラネット、専用線などを含む）や無線ネットワーク（インターネット、イントラネット、専用線などを含む）を用いることができる。
【００２５】
時刻配信機器１は、正確な時刻を保持しており、各タイムスタンプ機器２１〜２ｎに対して、時刻の配信を行うとともに一定の時間おきに時刻情報を送信して時刻監査情報を収集する。時刻の配信にはＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）を利用しており、時刻配信機器１は、各タイムスタンプ機器２１〜２ｎへ配信される時刻の修正および修正した時刻のログを記録する機能を有している。
【００２６】
各タイムスタンプ機器２１〜２ｎは、いずれも同じ構成のものであって、タイムスタンプ利用機器３に対して時刻証明のためのタイムスタンプサービスを行ったり、時刻配信機器１から時刻情報を受信すると、時刻監査情報を生成して時刻配信機器１に返したりする。タイムスタンプサービスでは、タイムスタンプ利用者機器４から送られてくるハッシュ値と時刻配信機器１から供給された時刻および時刻情報とからタイムスタンプが生成される。
【００２７】
タイムスタンプ利用者機器４は、時刻認証を受けたいデータからハッシュ値を生成し、その生成したハッシュ値を各タイムスタンプ機器２１〜２ｎのいずれかに送信してタイムスタンプの発行を受ける。ハッシュ値にタイムスタンプが付与されることで、ハッシュ値の存在証明の保証を受けることができる。また、タイムスタンプ利用者機器４は、時刻配信機器１に対して、付与されたタイムスタンプの生成時刻が正しいかどうかの検証を要求することができる。
【００２８】
以下、時刻配信機器１および各タイムスタンプ機器２１〜２ｎの具体的な構成について説明する。
【００２９】
まず、時刻配信機器１の構成について具体的に説明する。時刻配信機器１の主要部は、時刻情報入出力部１１、時刻情報生成部１２、乱数生成部１３、時刻監査情報格納部１４および時刻生成部１５からなる。
【００３０】
時刻情報入出力部１１は、各タイムスタンプ機器２１〜２ｎおよびタイムスタンプ利用者機器４との通信を行う機能を有し、時刻配信機器１の内部モジュールと各タイムスタンプ機器２１〜２ｎおよびタイムスタンプ利用者機器４との間の情報の中継を行う。この通信には、既存の暗号化技術を適用することができる。
【００３１】
乱数生成部１３は、所定のビット長の乱数を生成する。所定のビット長とは、第三者が事前に予測できない程度の長いビット長であって、時刻配信機器１の管理者が任意に設定することができる。乱数生成部１３にて生成された乱数は、時刻情報生成部１２に供給される。時刻生成部１５は正確な時刻を保持しており、時刻情報生成部１２に時刻を配信している。
【００３２】
時刻情報生成部１２は、与えられたリンク情報、時刻生成部１５から配信される現在の時刻および乱数生成部１３から取得した乱数から時刻情報を生成する。時刻情報の生成は一定の時間おきに行われ、その生成の間隔は時刻配信機器１の管理者が任意に設定することができる。１回目の時刻情報の生成処理では、リンク情報として予め設定された値（この値も管理者が任意に設定することができる）を用いてもよいし、リンク情報を設定しなくてもよい。２回目以降の時刻情報の生成処理では、リンク情報として、各タイムスタンプ機器２１〜２ｎから返ってきた時刻監査情報が用いられる。この時刻情報生成部１２で生成された時刻情報は、時刻情報入出力部１１を介して各タイムスタンプ機器２１〜２ｎに送信される。
【００３３】
時刻監査情報格納部１４は、時刻情報生成部１２で生成された時刻情報とその生成時刻およびその生成に使用した乱数、ならびに各タイムスタンプ機器２１〜２ｎから返ってきた時刻監査情報およびその生成で使用した情報（乱数、時刻、受付済ハッシュ値）などを格納する。また、時刻監査情報格納部１４は、タイムスタンプ利用者機器４からの要求に応じて、検証対象であるタイムスタンプに含まれる時刻情報の正当性を検証する。
【００３４】
次に、各タイムスタンプ機器２１〜２ｎの構成について説明する。各タイムスタンプ機器２１〜２ｎは同じ構成であるため、ここでは、タイムスタンプ機器２１の構成を例に挙げて説明する。タイムスタンプ機器２１の主要部は、時刻情報入出力部２１、時刻情報格納部２２、時刻監査情報生成部２３、受付済ハッシュ値格納部２４、乱数生成部２５、タイムスタンプ生成部２６、時刻生成部２７、タイムスタンプ受付部２８からなる。
【００３５】
時刻情報入出力部２１は、時刻配信機器１の時刻情報入出力部１１との間で通信を行うものであって、タイムスタンプ機器２１の内部モジュールと時刻配信機器１の間で情報の中継する。この時刻情報入出力部２１と時刻情報入出力部１１の通信には、既存の暗号化技術を適用することができる。
【００３６】
時刻情報格納部２２は、時刻配信機器１から受信した時刻情報を格納するものであって、新しい時刻情報を受信すると、現在格納している前回の時刻情報を時刻監査情報生成部２３に供給し、受信した新しい時刻情報をその代わりに格納する。また、時刻情報格納部２２は、タイムスタンプ生成部２６からの要求に応じて格納している時刻情報を返す。
【００３７】
乱数生成部２５は、所定のビット長の乱数を生成する。所定のビット長とは、第三者が事前に予測できない程度の長いビット長であって、タイムスタンプ機器２１の管理者が任意に設定することができる。また、乱数生成部２５は、時刻監査情報生成部２３からの要求に応じて生成した乱数を返す。
【００３８】
時刻生成部２７は、時刻を生成するものであって、時刻配信機器１内の時刻生成部１５とＮＴＰによって同期が取られており、時刻監査情報生成部２３からの要求に応じて生成した時刻を返す。
【００３９】
タイムスタンプ生成部２６は、タイムスタンプ利用者端末４から受信したハッシュ値に対して、時刻生成部２７から取得した時刻と時刻情報格納部２２から供給された前回の時刻情報とからタイムスタンプを生成する。タイムスタンプの生成には、周知の電子署名方式やリンキング・ハッシュ方式などを適用することができる。
【００４０】
受付済ハッシュ値格納部２４は、タイムスタンプの生成にあたり、タイムスタンプ利用者端末４から受信したハッシュ値が時刻情報格納部２２を介して供給されるようになっており、供給されたハッシュ値を受付済ハッシュ値として格納する。また、受付済ハッシュ値格納部２４は、時刻監査情報生成部２３からの要求に応じてこれまでに格納した受付済ハッシュ値（一覧）を返す。なお、受付済ハッシュ値格納部２４は、何も受付済ハッシュ値を格納していない場合（タイムスタンプ利用者機器４から未だタイムスタンプの要求を受け付けていない場合）は、受付済ハッシュ値が格納されていないことを示す空の情報を時刻監査情報生成部２３に返す。
【００４１】
タイムスタンプ受付部２８は、タイムスタンプ利用者機器４からハッシュ値を受信してタイムスタンプの要求を受け付けると、その受信したハッシュ値をタイムスタンプ生成部２６に供給するとともに、タイムスタンプ生成部２６で生成されたタイムスタンプをタイムスタンプ利用者機器４に返す。
【００４２】
時刻監査情報生成部２３は、時刻情報格納部２２から供給された時刻情報、受付済ハッシュ値格納部２４から取得した受付済ハッシュ値（一覧）、および乱数生成部２５から取得した乱数から時刻監査情報を生成する。また、時刻監査情報生成部２３は、受付済ハッシュ値格納部２４から受付済ハッシュ値として空の情報を受け取った場合は、時刻情報と乱数のみで時刻監査情報を生成する。
【００４３】
次に、本実施形態の時刻監査システムの動作について説明する。
【００４４】
（ａ）まず、時刻情報と時刻監査情報の生成処理について説明する。この生成処理は、時刻配信機器１と各タイムスタンプ機器２１〜２ｎとの間のそれぞれで実行される。
【００４５】
（ａ−１）時刻情報生成部１２は、乱数生成部１３から乱数を取得して保持する。
【００４６】
（ａ−２）時刻情報生成部１２は、時刻生成器１５から配信されている時刻が設定時刻になると、時刻情報入出力部１１から供給された時刻監査情報（各タイムスタンプ機器２１〜２ｎから収集した時刻監査情報）と保持しておいた乱数からその設定時刻に関する時刻情報を生成し、この生成した時刻情報をその生成時刻およびその生成に使用した乱数と一緒に時刻情報入出力部１１に供給する。
【００４７】
（ａ−３）時刻情報入出力部１１は、時刻情報生成部１２から供給された時刻情報、生成時刻および乱数を時刻監査情報格納部１４に供給して格納させるとともに、その時刻情報を各タイムスタンプ機器２１〜２ｎに送信する。
【００４８】
（ａ−４）各タイムスタンプ機器２１〜２ｎの時刻情報入出力部２１は、時刻情報入出力部１１から時刻情報を受信すると、受信した時刻情報を時刻情報格納部２２に供給する。
【００４９】
（ａ−５）時刻情報格納部２２は、時刻情報入出力部２１から時刻情報を受け取ると、それまで格納してあった時刻情報（前回の処理で配信された時刻情報）を時刻監査情報生成部２３に供給して新しく受信した時刻情報を格納する。
【００５０】
（ａ−６）時刻監査情報生成部２３は、時刻情報格納部２２から時刻情報を受け取ると、受付済ハッシュ値格納部２４に対して受付済ハッシュ値を要求するとともに乱数生成部２５に対して乱数を要求する。
【００５１】
（ａ−７）受付済ハッシュ値格納部２４は、時刻監査情報生成部２３からの要求に応じて、これまでに格納した受付済ハッシュ値（一覧）を時刻監査情報生成部２３に返す。このとき、受付済ハッシュ値格納部２４は、格納しているハッシュ値がない場合は、受付済ハッシュ値が無い旨を示す空の情報を受付済ハッシュ値として時刻監査情報生成部２３に送信する。
【００５２】
（ａ−８）乱数生成部２５は、時刻監査情報生成部２３からの要求に応じて乱数を返す。
【００５３】
（ａ−９）時刻監査情報生成部２３は、受付済ハッシュ値格納部２４および乱数生成部２５から受付済ハッシュ値および乱数を受け取ると、この受け取った受付済ハッシュ値および乱数と時刻情報入出力部２１から受け取った時刻情報とからハッシュ値を生成する。この生成されたハッシュ値が時刻監査情報である。
【００５４】
（ａ−１０）時刻監査情報生成部２３は、生成した時刻監査情報をその生成に使用した乱数および受付済ハッシュ値と一緒に時刻情報格納部２２に供給する。
【００５５】
（ａ−１１）時刻情報格納部２２は、時刻監査情報生成部２３から供給された時刻監査情報、乱数および受付済ハッシュ値を時刻情報入出力部２１に供給する。
【００５６】
（ａ−１２）時刻情報入出力部２１は、時刻情報格納部２２から供給された時刻監査情報、乱数および受付済ハッシュ値を時刻配信機器１の時刻情報入出力部１１に送信する。
【００５７】
（ａ−１３）時刻配信機器１の時刻情報入出力部１１は、各タイムスタンプ機器２１〜２ｎの時刻情報入出力部２１から受信した時刻監査情報、乱数および受付済ハッシュ値を時刻監査情報格納部１４に供給するとともに、その時刻監査情報を時刻情報生成部１２に供給する。
【００５８】
（ａ−１４）時刻監査情報格納部１４は、時刻情報入出力部１１から供給された時刻監査情報、乱数および受付済ハッシュ値（各タイムスタンプ機器２１〜２ｎから収集したもの）を格納する。
【００５９】
上述の（ａ−１）〜（ａ−１４）の処理を繰り返すことで、時刻情報生成部１２にて一定の間隔で時刻情報が生成され、生成された時刻情報ごとに、取得した時刻監査情報が時刻監査情報格納部１４に格納される。一例として、図２に、時刻監査情報格納部１４への時刻情報および時刻監査情報の格納の仕方を示す。
【００６０】
図２に示す例では、時刻情報生成部１２で時刻情報ｎ、ｎ＋１、・・・ｎ＋ｍが順次生成されて、時刻監査情報格納部１４にそれら時刻情報ｎ、ｎ＋１、・・・ｎ＋ｍの関連情報１４１〜１４３が順次格納された様子が示されている。ここで、時刻情報ｎはｎ回目の処理で生成された時刻情報、時刻情報ｎ＋１はｎ＋１回目の処理で生成された時刻情報、時刻情報ｎ＋ｍはｎ＋ｍ回目の処理で生成された時刻情報である。関連情報１４１には、時刻情報ｎとその生成時刻とその生成で使用した乱数およびリンク情報（前回の時刻情報の送信に応じて各タイムスタンプ機器２１〜２ｎから収集した時刻監査情報）、そのリンク情報の生成で使用した乱数および受付済ハッシュ値がそれぞれ格納されている。関連情報１４２には、時刻情報ｎ＋１とその生成時刻とその生成で使用された乱数およびリンク情報（前回の時刻情報ｎの送信に応じて各タイムスタンプ機器２１〜２ｎから収集した時刻監査情報）、そのリンク情報の生成で使用した乱数および受付済ハッシュ値がそれぞれ格納されている。関連情報１４３には、時刻情報ｎ＋ｍとその生成時刻およびその生成で使用された乱数およびリンク情報（前回の時刻情報の送信に応じて各タイムスタンプ機器２１〜２ｎから収集した時刻監査情報）、そのリンク情報の生成で使用した乱数および受付済ハッシュ値がそれぞれ格納されている。
【００６１】
定期的に、時刻監査情報格納部１４に格納された時刻監査情報を検証することで、各各タイムスタンプ機器２１〜２ｎのそれぞれについて、時刻、監査時刻、時刻監査情報などの情報の改ざんを検出することができる。時刻監査情報の検証では、例えば、時刻監査情報の生成に使用したハッシュ関数を用いて、時刻監査情報格納部１４に格納されている時刻監査情報の内容（その生成に使用した時刻情報、乱数および受付済ハッシュ値など）を復元し、その復元した内容が本来のものと合致するかを調べる。この検証により、タイムスタンプ機器側での時刻や時刻監査情報などの改ざんを検知することができ、また、どのタイムスタンプ機器で情報の改ざんが行われたかを検出することができる。
【００６２】
上記の定期的な検証は、時刻配信機器１において自動的に行われるようにしてもよいし、管理者が所定の入力操作を行うことで実行されるようにしてもよい。
【００６３】
（ｂ）次に、タイムスタンプの生成処理について説明する。このタイムスタンプの生成処理は、時刻配信機器１と各タイムスタンプ機器２１〜２ｎのいずれかの機器の間で実行される。ここでは、時刻配信機器１とタイムスタンプ機器２１の間で実行される場合を例に挙げて説明する。
【００６４】
（ｂ−１）タイムスタンプ利用者機器４は、時刻証明をしたいデータについてハッシュ値を生成し、この生成したハッシュ値をタイムスタンプ受付部２８に送信する。
【００６５】
（ｂ−２）タイムスタンプ機器２のタイムスタンプ受付部２８は、タイムスタンプ利用者機器４から受信したハッシュ値をタイムスタンプ生成部２６に供給する。
【００６６】
（ｂ−３）タイムスタンプ生成部２６は、時刻情報格納部２２に対して、タイムスタンプ受付部２８から供給されたハッシュ値を供給して時刻情報を要求する。
【００６７】
（ｂ−４）時刻情報格納部２２は、タイムスタンプ生成部２６から供給されたハッシュ値を受付済ハッシュ値格納部２４に供給するとともに、格納している時刻情報をタイムスタンプ生成部２６に供給する。
【００６８】
（ｂ−５）受付済ハッシュ値格納部２４は、時刻情報格納部２２から供給されたハッシュ値を受付済ハッシュ値として格納する。
【００６９】
（ｂ−６）タイムスタンプ生成部２６は、時刻生成部２７に時刻を要求する。
【００７０】
（ｂ−７）時刻生成部２７は、タイムスタンプ生成部２６からの要求に応じて時刻を返す。
【００７１】
（ｂ−８）タイムスタンプ生成部２６は、先のタイムスタンプ利用機器４から受信したハッシュ値に対して、時刻生成部２７から取得した時刻と時刻情報格納部２２から取得した時刻情報からタイムスタンプを生成してタイムスタンプ受付部２８に供給する。
【００７２】
（ｂ−９）タイムスタンプ受付部２８は、タイムスタンプ生成部２６から供給されたタイムスタンプをタイムスタンプ利用機器４に送信する。
【００７３】
（ｃ）次に、タイムスタンプの正当性を検証する処理について説明する。この検証処理は、情報配信機器１とタイムスタンプ利用者端末４の間で行われる。
【００７４】
（ｃ−１）タイムスタンプ利用者端末４は、タイムスタンプ機器２１から受け取ったタイムスタンプを時刻配信機器１の時刻情報入出力部１１に送信してそのタイムスタンプに含まれている時刻（発行時刻）および時刻情報の整合性確認要求を行う。
【００７５】
（ｃ−２）時刻配信機器１の時刻情報入出力部１１は、タイムスタンプ利用者端末４から受信したタイムスタンプを時刻監査情報格納部１４に供給する。
【００７６】
（ｃ−３）時刻監査情報格納部１４は、時刻情報入出力部１１から供給されたタイムスタンプからそこに含まれている時刻（発行時刻）、時刻情報およびハッシュ値を取り出す。
【００７７】
（ｃ−４）時刻監査情報格納部１４は、取り出した時刻情報を検索キーとして使用してこれまでに格納した時刻情報の関連情報（例えば図２に示す関連情報１４１〜１４３）から該当情報を検索する。検索対象があれば、時刻監査情報格納部１４は、該当する第１の時刻情報の関連情報と一緒にその次の第２の時刻情報の関連情報も取得する。例えば、図２の例の場合で、時刻情報ｎが該当情報である場合は、この時刻情報ｎの関連情報１４１を第１の時刻情報の関連情報として取得し、その次の時刻情報ｎ＋１の関連情報１４２を第２の時刻情報の関連情報として取得する。検索対象がなければ、時刻監査情報格納部１４は、検証に失敗した旨の結果を時刻情報入出力部１１に送出する。
【００７８】
（ｃ−５）時刻監査情報格納部１４は、第１および第２の時刻情報の関連情報を取得すると、タイムスタンプから取得した時刻（発行時刻）が、第１の時刻情報の関連情報に含まれている生成時刻と第２の時刻情報の関連情報に含まれている生成時刻との間に存在するかどうかを検証する（時刻検証）。図２に示した例において、タイムスタンプの時刻情報が時刻情報ｎで、その発行時刻が時刻ＴＳであるとき、このときの正しい時刻ＴＳと時刻情報ｎ、ｎ＋１の生成時刻との関係は、
［時刻情報ｎの生成時刻］＜［時刻ＴＳ］＜［時刻情報ｎ＋１の生成時刻］
である。よって、この条件を満たすか否かで、検証対象であるタイムスタンプの発行時刻が正しいものであるか否かを検証することでできる。タイムスタンプの発行時刻がそれら生成時刻の間に存在すれば、時刻検証に成功したことになり、存在しない場合は、時刻検証に失敗したことになる。
【００７９】
（ｃ−６）時刻監査情報格納部１４は、タイムスタンプのハッシュ値が、取得した第２の時刻情報の関連情報内に存在する受付済ハッシュ値（一覧）の中に含まれているかを確認する（ハッシュ値検証）。ハッシュ値が含まれていれば、ハッシュ値検証に成功したことになり、ハッシュ値が含まれていない場合は、ハッシュ値検証に失敗したことになる。
【００８０】
（ｃ−７）時刻監査情報格納部１４は、時刻検証およびハッシュ値検証の結果とそれら検証に使用した第１および第２の時刻情報の関連情報を時刻情報入出力部１１を介してタイムスタンプ利用機器３に送信する。タイムスタンプ利用機器３は、必要に応じて、受信した第１および第２の時刻情報の関連情報で再検証を行うことができる。
【００８１】
上述したタイムスタンプの正当性の検証動作において、タイムスタンプの発行時刻に不正があった場合でも、タイムスタンプ内の時刻情報が時刻監査情報格納部に存在し、かつ、タイムスタンプ内のハッシュ値が時刻情報の関連情報内の受付済ハッシュ値に存在する場合は、そのタイムスタンプ内のハッシュ値が時刻情報の生成時刻とその次に生成された時刻情報の生成時刻の間に存在していたことがわかるので、タイムスタンプの正しい発行時刻を判断することができる。
【００８２】
上記の正しい発行時刻の判断を、図２を用いて具体的に説明する。タイムスタンプ機器２１によって発行されたタイムスタンプの時刻が改ざんされていた場合で、タイムスタンプの時刻情報が時刻情報ｎと一致し、かつ、タイムスタンプのハッシュ値がタイムスタンプ機器２１の受付済ハッシュ値に存在していた場合は、そのタイムスタンプは、時刻情報ｎの生成時刻と時刻情報ｎ＋１の生成時刻の間に生成されたことになる。このように、タイムスタンプの発行時刻に不正があった場合でも、正しい発行時刻を判断することができる。これにより、タイムスタンプ利用機器３では、時刻に不正のあるタイムスタンプが発行された場合でも、条件によっては時刻配信機器１によってそのタイムスタンプの正しい発行時刻が証明されることになる。
【００８３】
上述した「（ａ）時刻情報と時刻監査情報の生成処理」、「（ｂ）タイムスタンプの生成処理」および「（ｃ）タイムスタンプの検証処理」は本時刻監査システムにおいて行われる一連の処理である。基本的には、時刻配信機器１とタイムスタンプ機器２１〜２ｎにおいて「（ａ）時刻情報と時刻監査情報の生成処理」を実行中に、タイムスタンプ利用機器３からタイムスタンプ発行要求を受信したタイムスタンプ機器が「（ｂ）タイムスタンプの生成処理」を実行し、タイムスタンプ利用機器３からタイムスタンプ検証要求を受信した時刻配信機器１が「（ｃ）タイムスタンプの検証処理」を実行する。
【００８４】
以上説明した本実施形態の時刻監査システムによれば、時刻配信機器１によって生成される時刻情報は乱数と各タイムスタンプ機器２１〜２ｎの時刻監査情報（各タイムスタンプで同じではない値）から生成されるために事前に予想することができない。また、時刻配信機器１と時刻情報の配信先であるタイムスタンプ機器２１〜２ｎの全てが結託しないと、過去の時刻情報を改ざんすることができない。加えて、過去の時刻情報を改ざんするためには、時刻配信機器１およびタイムスタンプ機器２１〜２ｎで時刻情報と時刻監査情報を生成しなおす必要がある。さらに、時刻情報を配信した先のタイムスタンプ機器が過去の時刻情報を廃棄する必要がある。これらにより、時刻配信機器１およびタイムスタンプ機器２１〜２ｎでの時刻情報、監査時刻や時刻監査情報などの改ざんがより困難になっている。
【００８５】
また、時刻配信機器１では、時刻情報と各タイムスタンプ機器２１〜２ｎを監査する様々な情報とを関連付けて格納するようになっているので、格納した情報を定期的に検証することで、各タイムスタンプ機器２１〜２ｎのそれぞれについて、時刻、時刻情報、監査時刻、時刻監査情報などの情報の改ざんがあったか否かを確認することができる。これにより、不正行為のあったタイムスタンプ機器を特定して、適切な対策・処置を施すことができる。
【００８６】
さらに、時刻配信機器１は、タイムスタンプ利用機器からの検証要求に応じて、タイムスタンプ機器２１〜２ｎから発行されたタイムスタンプの正当性を検証することができる。これにより、タイムスタンプ機器２１〜２ｎでの時刻の改ざんを防止し、抑止することができる。
【００８７】
さらに、時刻の不正なタイムスタンプが発行された場合でも、条件によっては、そのタイムスタンプの正しい時刻を判断することが可能である。時刻の不正なタイムスタンプが発行された場合は、通常、そのタイムスタンプは無効とされるため、データに対する時刻保証も無効になってしまうという問題が生じるが、タイムスタンプの正しい時刻を判断することで、そのような問題も解決することが可能となる。
【００８８】
以上説明した時刻監査システムは、本発明の一例であり、その構成は要旨を逸脱しない範囲で適宜変更可能である。例えば、上述した実施形態では、時刻監査情報の生成に時刻情報、乱数、受付済ハッシュ値を使用しているが、この他に監査情報（監査した結果）など他の情報を含めることが可能である。
【００８９】
また、上述した実施形態において、システムを構成する時刻配信機器１、タイムスタンプ機器２１〜２ｎおよびタイムスタンプ利用機器３はいずれも、基本的にはコンピュータ（ＣＰＵ）と記憶装置を備えたコンピュータ装置より構成されており、それぞれの機器において、記憶装置に予めインストールされたプログラムをコンピュータが実行することで、前述の「（ａ）時刻情報と時刻監査情報の生成処理」、「（ｂ）タイムスタンプの生成処理」および「（ｃ）タイムスタンプの検証処理」の一連の処理が行われる。プログラムを格納する記憶装置としては、ＣＤ−ＲＯＭに代表される記録媒体や半導体記憶装置を使用することができる。
【００９０】
【発明の効果】
以上説明したように、本発明によれば、時刻、時刻情報、監査時刻、時刻監査情報などの情報の改ざんがより困難なものとなっており、また、情報の改ざんがあった場合には、そのことを検出することができるようになっているので、従来にない信頼性の高いタイムスタンプサービスを利用者に提供することができる。
【００９１】
また、タイムスタンプ機器が時刻を改ざんしたタイムスタンプを発行した場合には、そのことを検出することができるとともに、条件によっては、そのタイムスタンプの正しい時刻を判断することができるので、タイムスタンプサービスの信頼性をさらに向上することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態である時刻監査システムの概略構成を示すブロック図である。
【図２】図１に示す時刻監査システムの時刻監査情報格納部に格納される情報の一例を示す模式図である。
【符号の説明】
１  時刻配信機器
２１〜２ｎ  タイムスタンプ機器
３  タイムスタンプ利用機器
１１、２１  時刻情報入出力部
１２  時刻情報生成部
１３、２５  乱数生成部
１４  時刻監査情報格納部
１５、２７  時刻生成部
２２  時刻情報格納部
２３  時刻監査情報生成部
２４  受付済ハッシュ値格納部
２６  タイムスタンプ生成部
２８  タイムスタンプ受付部
【図１】
2004235826.tif 000003
【図２】
2004235826.tif 000004