(57)【要約】【課題】  複雑な装置構成を有せず、また、外部からの改ざんを受けることなく、正しい時刻のタイムスタンプを発行する。【解決手段】  タイムスタンプ装置１０は、一定周期の発振信号を生成する第１及び第２の発振手段を有し、第１の発振手段により生成された発振信号からタイムスタンプ用時刻を生成し、第２の発振手段により生成された発振信号から確認用時刻を生成する。そして、第１の時刻制御手段により生成されたタイムスタンプ用時刻の情報を時刻監査局システム７０に送信し、時刻監査証明書データを受信して保持する。クライアント端末８０からタイムスタンプ要求を受信すると、当該要求の受信時に生成されたタイムスタンプ用時刻が、時刻監査証明書データから得られる有効期限内であり、かつ、当該タイムスタンプ用時刻と確認用時刻との誤差が規定値より小さい場合に、タイムスタンプ用時刻によってタイムスタンプデータを発行する。【選択図】  図１
2009188608.tif 000002
【特許請求の範囲】
【請求項１】
一定周期の発振信号を生成する第１の発振部及び第２の発振部と、
前記第１の発振部により生成された発振信号からタイムスタンプ用時刻を生成する第１の時刻制御部と、
前記第２の発振部により生成された発振信号から確認用時刻を生成する第２の時刻制御部と、
前記第１の時刻制御部により生成されたタイムスタンプ用時刻の情報を時刻監査局システムに送信し、送信した時刻の情報に対する時刻監査証明書データを受信して時刻監査証明書保持部に書き込む時刻監査制御部と、
クライアント端末からタイムスタンプ要求を受信し、当該タイムスタンプ要求の受信時に前記第１の時刻制御部により生成されたタイムスタンプ用時刻が、前記時刻監査証明書保持部に記憶されている時刻監査証明書データから得られる有効期限内であり、かつ、当該タイムスタンプ用時刻と、前記第２の時刻制御部により生成された確認用時刻との誤差が、時刻が正しいと判断する所定の条件を満たす場合に、当該タイムスタンプ用時刻によってタイムスタンプデータを生成し、当該クライアント端末へ返送するタイムスタンプ作成部と、
を備えることを特徴とするタイムスタンプ装置。
【請求項２】
前記第１の時刻制御部が生成したタイムスタンプ用時刻を暗号化した暗号化タイムスタンプ用時刻の情報を含む送信データ、及び、前記第２の時刻制御部が生成した確認用時刻を暗号化した暗号化確認用時刻の情報を含む送信データを出力する信号送信部と、
前記送信データに設定されている暗号化タイムスタンプ用時刻からタイムスタンプ用時刻の情報を、暗号化確認用時刻から確認用時刻の情報を復号化する時刻取得部をさらに備える、
ことを特徴とする請求項１に記載のタイムスタンプ装置。
【請求項３】
タイムスタンプ用時刻と、暗号化タイムスタンプ用時刻とを対応付けた情報を保持する第１の暗号化時刻保持部と、
確認用時刻と、暗号化確認用時刻とを対応付けた情報を保持する第２の暗号化時刻保持部とをさらに有し、
前記信号送信部は、前記第１の時刻制御部によって生成されたタイムスタンプ用時刻に対応した暗号化タイムスタンプ用時刻の情報を、前記第２の時刻制御部によって生成された確認用時刻に対応した確認用時刻の情報を前記暗号化時刻保持部から読み出して前記送信データを出力する、
ことを特徴とする請求項２に記載のタイムスタンプ装置。
【請求項４】
前記時刻監査制御部は、受信した時刻監査証明書データで示される時刻のずれの情報に基づいて、前記タイムスタンプ用時刻を補正することを特徴とする請求項１に記載のタイムスタンプ装置。
【請求項５】
前記第１の時刻制御部が前記タイムスタンプ用時刻を生成し、前記第２の時刻制御部が前記確認用時刻を生成する状態と、前記第２の時刻制御部が前記タイムスタンプ用時刻を生成し、前記第１の時刻制御部が前記確認用時刻を生成する状態とが所定の時間により入れ替わることを特徴とする請求項１から請求項４のいずれかの項に記載のタイムスタンプ装置。
【請求項６】
前記タイムスタンプ作成部は、前記時刻監査証明書データをさらに設定したタイムスタンプデータを生成することを特徴とする請求項１から請求項５のいずれかの項に記載のタイムスタンプ装置。
【請求項７】
前記クライアント端末にネットワークを介して接続されるコンピュータ装置と、前記第１の発振部、前記第２の発振部、前記第１の時刻制御部、前記第２の時刻制御部、前記時刻監査制御部、及び、前記タイムスタンプ作成部を備えるハードウェアセキュリティモジュールとからなることを特徴とする請求項１に記載のタイムスタンプ装置。
【請求項８】
前記クライアント端末にコネクタにより接続されるハードウェアセキュリティモジュールであることを特徴とする請求項１に記載のタイムスタンプ装置。
【請求項９】
タイムスタンプ装置に用いられるタイムスタンプ方法であって、
第１の発振部及び第２の発振部が、一定周期の発振信号を生成し、
第１の時刻制御部が、前記第１の発振部により生成された発振信号からタイムスタンプ用時刻を生成し、
第２の時刻制御部が、前記第２の発振部により生成された発振信号から確認用時刻を生成し、
時刻監査制御部が、前記第１の時刻制御部により生成されたタイムスタンプ用時刻の情報を時刻監査局システムに送信し、送信した時刻の情報に対する時刻監査証明書データを受信して時刻監査証明書保持部に書き込み、
タイムスタンプ作成部が、クライアント端末からタイムスタンプ要求を受信し、当該タイムスタンプ要求の受信時に前記第１の時刻制御部により生成されたタイムスタンプ用時刻が、前記時刻監査証明書保持部に記憶されている時刻監査証明書データから得られる有効期限内であり、かつ、当該タイムスタンプ用時刻と、前記第２の時刻制御部により生成された確認用時刻との誤差が、時刻が正しいと判断する所定の条件を満たす場合に、当該タイムスタンプ用時刻によってタイムスタンプデータを生成し、当該クライアント端末へ返送する、
ことを特徴とするタイムスタンプ方法。
【請求項１０】
前記第１の時刻制御部が前記タイムスタンプ用時刻を生成し、前記第２の時刻制御部が前記確認用時刻を生成する状態と、前記第２の時刻制御部が前記タイムスタンプ用時刻を生成し、前記第１の時刻制御部が前記確認用時刻を生成する状態とが所定の時間により入れ替わることを特徴とする請求項９に記載のタイムスタンプ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、ディジタルドキュメント等がある時刻に存在していたことを証明するために用いるタイムスタンプを発行するタイムスタンプ装置及び方法に関する。
【背景技術】
【０００２】
従来、ディジタルドキュメントがある時刻に確かに存在し、それ以降変更や改ざんがなされていないことを証明するため、タイムスタンプ技術が用いられている。タイムスタンプを発行するタイムスタンプ装置は、常時または一定間隔で、時刻配信監査サーバより時刻の監査・校正を受けたローカル時刻を用いてタイムスタンプの発行を行っていた。
特許文献１には、タイムスタンプ装置が、時刻配信監査サーバにより時刻の監査・校正を受けたローカル時刻を用いてタイムスタンプを発行する技術が記載されている。また、特許文献２には、タイムスタンプ装置が、時刻配信監査サーバに常時接続できない場合に、時刻配信を受けた後の時計の精度維持のために電波時計により時刻の補正を行うことが記載されている。
【特許文献１】特開２００２−２２９８６９号公報
【特許文献２】特開２００６−２３６２５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
タイムスタンプ装置の時刻を外部の時刻ソースにより校正・補正する上述した従来の方法では、外部から時刻の改ざんを受ける可能性が高く、また、装置も複雑になってしまうという問題がある。また、従来のタイムスタンプ装置では、発行したタイムスタンプ内の時刻が適切な時刻であったことを確認する手段を持たず、時刻配信監査を受けた時点で時刻が適切であったとしても、発行時の時刻が正しいことを確認する手段を持っていなかった。
【０００４】
本発明は、このような事情を考慮してなされたもので、その目的は、複雑な装置構成を有せず、また、外部からの改ざんを受けることなく、正しい時刻のタイムスタンプを発行することができるタイムスタンプ装置及び方法を提供することにある。
【課題を解決するための手段】
【０００５】
この発明は、上記の課題を解決すべくなされたもので、一定周期の発振信号を生成する第１の発振部及び第２の発振部と、前記第１の発振部により生成された発振信号からタイムスタンプ用時刻を生成する第１の時刻制御部と、前記第２の発振部により生成された発振信号から確認用時刻を生成する第２の時刻制御部と、前記第１の時刻制御部により生成されたタイムスタンプ用時刻の情報を時刻監査局システムに送信し、送信した時刻の情報に対する時刻監査証明書データを受信して時刻監査証明書保持部に書き込む時刻監査制御部と、クライアント端末からタイムスタンプ要求を受信し、当該タイムスタンプ要求の受信時に前記第１の時刻制御部により生成されたタイムスタンプ用時刻が、前記時刻監査証明書保持部に記憶されている時刻監査証明書データから得られる有効期限内であり、かつ、当該タイムスタンプ用時刻と、前記第２の時刻制御部により生成された確認用時刻との誤差が、時刻が正しいと判断する所定の条件を満たす場合に、当該タイムスタンプ用時刻によってタイムスタンプデータを生成し、当該クライアント端末へ返送するタイムスタンプ作成部と、を備えることを特徴とするタイムスタンプ装置である。
【０００６】
また、本発明は、上述するタイムスタンプ装置であって、前記第１の時刻制御部が生成したタイムスタンプ用時刻を暗号化した暗号化タイムスタンプ用時刻の情報を含む送信データ、及び、前記第２の時刻制御部が生成した確認用時刻を暗号化した暗号化確認用時刻の情報を含む送信データを出力する信号送信部と、前記送信データに設定されている暗号化タイムスタンプ用時刻からタイムスタンプ用時刻の情報を、暗号化確認用時刻から確認用時刻の情報を復号化する時刻取得部をさらに備える、ことを特徴とする。
【０００７】
また、本発明は、上述するタイムスタンプ装置であって、タイムスタンプ用時刻と、暗号化タイムスタンプ用時刻とを対応付けた情報を保持する第１の暗号化時刻保持部と、確認用時刻と、暗号化確認用時刻とを対応付けた情報を保持する第２の暗号化時刻保持部とをさらに有し、前記信号送信部は、前記第１の時刻制御部によって生成されたタイムスタンプ用時刻に対応した暗号化タイムスタンプ用時刻の情報を、前記第２の時刻制御部によって生成された確認用時刻に対応した確認用時刻の情報を前記暗号化時刻保持部から読み出して前記送信データを出力する、ことを特徴とする。
【０００８】
また、本発明は、上述するタイムスタンプ装置であって、前記時刻監査制御部は、受信した時刻監査証明書データで示される時刻のずれの情報に基づいて、前記タイムスタンプ用時刻を補正することを特徴とする。
【０００９】
また、本発明は、上述するタイムスタンプ装置であって、前記第１の時刻制御部が前記タイムスタンプ用時刻を生成し、前記第２の時刻制御部が前記確認用時刻を生成する状態と、前記第２の時刻制御部が前記タイムスタンプ用時刻を生成し、前記第１の時刻制御部が前記確認用時刻を生成する状態とが所定の時間により入れ替わることを特徴とする。
【００１０】
また、本発明は、上述するタイムスタンプ装置であって、前記タイムスタンプ作成部は、前記時刻監査証明書データをさらに設定したタイムスタンプデータを生成することを特徴とする。
【００１１】
また、本発明は、上述するタイムスタンプ装置であって、前記クライアント端末にネットワークを介して接続されるコンピュータ装置と、前記第１の発振部、前記第２の発振部、前記第１の時刻制御部、前記第２の時刻制御部、前記時刻監査制御部、及び、前記タイムスタンプ作成部を備えるハードウェアセキュリティモジュールとからなることを特徴とする。
【００１２】
また、本発明は、上述するタイムスタンプ装置であって、前記クライアント端末にコネクタにより接続されるハードウェアセキュリティモジュールであることを特徴とする。
【００１３】
また、本発明は、タイムスタンプ装置に用いられるタイムスタンプ方法であって、第１の発振部及び第２の発振部が、一定周期の発振信号を生成し、第１の時刻制御部が、前記第１の発振部により生成された発振信号からタイムスタンプ用時刻を生成し、第２の時刻制御部が、前記第２の発振部により生成された発振信号から確認用時刻を生成し、時刻監査制御部が、前記第１の時刻制御部により生成されたタイムスタンプ用時刻の情報を時刻監査局システムに送信し、送信した時刻の情報に対する時刻監査証明書データを受信して時刻監査証明書保持部に書き込み、タイムスタンプ作成部が、クライアント端末からタイムスタンプ要求を受信し、当該タイムスタンプ要求の受信時に前記第１の時刻制御部により生成されたタイムスタンプ用時刻が、前記時刻監査証明書保持部に記憶されている時刻監査証明書データから得られる有効期限内であり、かつ、当該タイムスタンプ用時刻と、前記第２の時刻制御部により生成された確認用時刻との誤差が、時刻が正しいと判断する所定の条件を満たす場合に、当該タイムスタンプ用時刻によってタイムスタンプデータを生成し、当該クライアント端末へ返送する、ことを特徴とするタイムスタンプ方法である。
【００１４】
また、本発明は、上述するタイムスタンプ方法であって、前記第１の時刻制御部が前記タイムスタンプ用時刻を生成し、前記第２の時刻制御部が前記確認用時刻を生成する状態と、前記第２の時刻制御部が前記タイムスタンプ用時刻を生成し、前記第１の時刻制御部が前記確認用時刻を生成する状態とが所定の時間により入れ替わることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、監査後の時計が大幅にずれることにより望ましくないタイムスタンプが発行され続けることを防ぐために別の時計によりチェックを行う。これにより、不正な時刻によるタイムスタンプが発行されることを防ぐことが可能となる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して本発明の一実施の形態を説明する。
【００１７】
［第１の実施形態］
図１は、本発明の第１の実施形態によるタイムスタンプシステムの全体構成図である。同図に示すように、タイムスタンプシステムは、ＴＳＡ（Time-Stamping Authority：タイムスタンプ局）において用いられるＴＳＵ（Time-Stamping Unit：タイムスタンプユニット）としてのタイムスタンプ装置１０と、当該タイムスタンプ装置１０が内部に備える独立電源からの電力の供給を受けて生成した時刻の監査結果を示す時刻監査証明書を発行する、ＴＡ（Time Authority：時刻配信監査局）の時刻監査局システム７０と、タイムスタンプ装置１０へタイムスタンプの発行を要求し、タイムスタンプデータを受信してディジタルドキュメントに付加するクライアント端末８０からなる。タイムスタンプ装置１０と時刻監査局システム７０とは、例えば、ＩＳＤＮなどのネットワークにより接続される。また、クライアント端末８０としては、例えば、パーソナルコンピュータ（以下、「ＰＣ」と記載）などが用いられ、タイムスタンプ装置１０とは、インターネットやＬＡＮ（Local Area Network）などのネットワークを介して接続されるか、または、ＵＳＢ等のコネクタにより接続される。
【００１８】
図２は、本実施形態によるタイムスタンプ装置１０（ＴＳＵ）の機能ブロック図である。同図において、タイムスタンプ装置１０は、ローカル時計部２０、タイムスタンプ処理部３０、通信手段５０、タイムスタンプ受付／出力手段５１、及び、表示手段５２を備える。タイムスタンプ装置１０は、例えば、ＰＣ等のコンピュータ装置に、ローカル時計部２０及びタイムスタンプ処理部３０としてのハードウェアセキュリティモジュール（ＨＳＭ）を接続して構成することができる。この場合、通信手段５０、タイムスタンプ受付／出力手段５１、及び、表示手段５２は、ＰＣにより実現することができる。
【００１９】
通信手段５０は、他の装置とのデータの送受信を行い、ここでは、時刻監査局システム７０、及び、クライアント端末８０とＳＳＬ（Secure Socket Layer）等を用いた暗号化通信を行う。タイムスタンプ受付／出力手段５１は、クライアント端末８０としてのクライアントＰＣからタイムスタンプ要求を受信してタイムスタンプ処理部３０に通知し、タイムスタンプ処理部３０が生成したタイムスタンプをクライアント端末８０へ返送する。表示手段５２は、ＬＣＤ（Liquid Crystal Display）などのディスプレイやランプであり、情報を表示する。
【００２０】
ＨＳＭであるローカル時計部２０は、時刻設定手段２１、独立電源手段２２ａ及び２２ｂ、発振手段２３ａ及び２３ｂ、時刻制御手段２４ａ及び２４ｂ、時刻Ａ一時保持手段２５ａ、時刻Ｂ一時保持手段２５ｂ、暗号化時刻ラベル保持手段２６ａ及び２６ｂ、信号送信手段２７を備える。
【００２１】
独立電源手段２２ａは発振手段２３ａに、独立電源手段２２ｂは発振手段２３ｂに電力を供給する。発振手段２３ａ及び２３ｂは、源発振器による周波数に基づいて所定の周波数の発振信号を生成し、出力する。時刻制御手段２４ａは発振手段２３ａから出力された発振信号を用いて時刻を生成し、生成した時刻を時刻Ａ一時保持手段２５ａに一時的に書き込む。同様に、時刻制御手段２４ｂは発振手段２３ｂから出力された周波数信号を用いて時刻を生成し、生成した時刻を時刻Ｂ一時保持手段２５ｂに一時的に書き込む。ここでは、時刻制御手段２４ａが発振手段２３ａからの発振信号である発振信号Ａを用いて生成する時刻を時刻Ａとし、時刻制御手段２４ｂが発振手段２３ｂからの発振信号である発振信号Ｂを用いて生成する時刻を時刻Ｂする。暗号化時刻ラベル保持手段２６ａ及び２６ｂは、時刻と、当該時刻に対応した暗号化時刻ラベルとを対応付けた情報を記憶しており、時刻制御手段２４ａは生成した時刻Ａに対応した暗号化時刻ラベルである暗号時刻Ａを暗号化時刻ラベル保持手段２６ａから読み出して信号送信手段２７に出力し、時刻制御手段２４ｂは生成した時刻Ｂに対応した暗号化時刻ラベルである暗号時刻Ｂを暗号化時刻ラベル保持手段２６ｂから読み出して信号送信手段２７に出力する。信号送信手段２７は、暗号時刻Ａ及び暗号時刻Ｂの情報、当該ローカル時計部２０の識別番号をタイムスタンプ処理部３０に出力する。
【００２２】
ＨＳＭであるタイムスタンプ処理部３０は、信号受信手段３１、復号化手段３２、暗号化時刻ラベル保持手段３３ａ及び３３ｂ、ローカル時計識別番号確認手段３４、時刻Ａ保持手段３５ａ、時刻Ｂ保持手段３５ｂ、タイムスタンプ発行制御手段３６、時刻監査制御手段３７、署名鍵・証明書保持手段３８、時刻監査証明書保持手段３９、時刻比較手段４０、タイムスタンプ作成手段４１、署名手段４２、タイムスタンプ時刻確認手段４３を備える。
【００２３】
信号受信手段３１は、ローカル時計部２０から暗号時刻Ａ、暗号時刻Ｂ、ローカル時計部２０の識別番号を受信する。復号化手段３２は、時刻Ａと暗号時刻Ａを対応づけた情報を記憶する暗号化時刻ラベル保持手段３３ａを参照して、受信した暗号時刻Ａを時刻Ａに復号化し、時刻Ａ保持手段３５ａに書き込む。同様に、復号化手段３２は、時刻Ｂと暗号時刻Ｂを対応づけた情報を記憶する暗号化時刻ラベル保持手段３３ｂを参照して受信した暗号時刻Ｂを時刻Ｂに復号化し、時刻Ｂ保持手段３５ｂに書き込む。ローカル時計識別番号確認手段３４は、受信したローカル時計部２０の識別番号により、暗号時刻Ａ、暗号時刻Ｂを出力したローカル時計部２０の正当性を確認する。
【００２４】
時刻監査制御手段３７は、時刻監査局システム７０へ時刻Ａまたは時刻Ｂの情報と、署名鍵・証明書保持手段３８から読み出した当該タイムスタンプ装置１０の機器認証証明書データ（以下、単に「機器認証証明書」と記載）とを設定した時刻監査要求を時刻監査局システム７０へ送信し、返送された時刻監査証明書データ（以下、単に「時刻監査証明書」または「時刻監査証」と記載）を時刻監査証明書保持手段３９に書き込む。タイムスタンプ発行制御手段３６は、タイムスタンプ受付／出力手段５１からタイムスタンプ要求データを受信し、タイムスタンプが作成可能であるか否かを判定し、作成可能である場合にタイムスタンプ作成手段４１へタイムスタンプの作成を指示する。時刻比較手段４０は、現在保持している時刻の情報が正しいか否かを時刻Ａと時刻Ｂを比較して判断する。タイムスタンプ作成手段４１は、タイムスタンプの作成のためのタイムスタンプ要求データ内の情報、時刻比較手段４０および時刻監査制御手段３７によって正しいと判断されたときの時刻Ａまたは時刻Ｂのデータを用いて電子署名前のタイムスタンプデータを生成する。署名手段４２は、タイムスタンプ作成手段４１が生成したタイムスタンプデータに、当該タイムスタンプ装置１０の署名用の秘密鍵である署名鍵により電子署名を付加する。タイムスタンプ時刻確認手段４３は、生成されたタイムスタンプデータ内のスタンプ時刻が時刻Ａであれば時刻Ｂ保持手段３５ｂに保持されている時刻Ｂとの誤差が、スタンプ時刻が時刻Ｂであれば時刻Ａ保持手段３５ａに保持されている時刻Ａとの誤差が所定の許容値内であれば、タイムスタンプデータをタイムスタンプ受付／出力手段５１へ出力する。
【００２５】
なお、クライアント端末８０がモバイルコンピュータなどの可搬のコンピュータ端末である場合は、ローカル時計部２０及びタイムスタンプ処理部３０としてのＨＳＭを、ＵＳＢ等によりクライアント端末８０に直接接続するように構成することができる。この場合、時刻監査局システム７０や他の装置との通信を行う通信手段５０、タイムスタンプ受付／出力手段５１、及び、表示手段５２は、クライアント端末８０により実現することができる。
【００２６】
時刻監査局システム７０は、時刻監査要求を受信する時刻監査手段７１と、この受信した時刻監査要求に設定されている時刻と、時刻監査局システム７０で管理する、高精度にＵＴＣ（Coordinated Universal Time：協定世界時）に同期した正確な現在時刻とのずれを検出して、時刻の誤差および時刻監査局の電子署名の付加された時刻監査証明書を返送する時刻監査証発行手段７２とを備える。
【００２７】
常時、時刻配信監査サーバと接続できないモバイルＰＣ環境等においてタイムスタンプを生成する場合、一度受信した時刻監査証明書を、モバイルＰＣの停止／起動後も有効にしたい。しかし、従来のタイムスタンプ装置では、タイムスタンプ処理をおこなうＨＳＭは、パーソナルコンピュータ（ＰＣ）に接続され、電源供給を受けて動作していた。そのため、ＨＳＭ内の時計に対する時刻監査を受けた後に、ＰＣの再起動または停止が行われると、時計も初期化されてしまう。よって、起動後にもう一度、時刻配信および監査を受ける必要があった。そこで、ＨＳＭ内に独立した電源（電池）を持つことが考えられる。しかし、これによってある期間、時刻を保つことは可能となるが、電源がＨＳＭ内に備えられるため、電源が動作しなくなった場合は、その他の機能、すなわち、署名暗号処理機能、タイムスタンプ生成機能、データ処理機能、メモリ機能、通信機能等が正常に動作するにもかかわらず、ＨＳＭ自体を破棄・交換する必要があり、経済的でない。そこで、本実施の形態のタイムスタンプ装置１０では、自律電源からの電力の供給を受けて動作するローカル時計部２０を着脱可能とし、電源が切れた場合にはローカル時計部２０のみを新しいものに交換できるようにしている。そして、ローカル時計部２０が別のローカル時計部２０と交換されない間は、一度受けた時刻監査証明書は、タイムスタンプ処理部３０の時刻監査証明書保持手段３９に保管しておき、別のローカル時計部２０に交換されたことが検知されると、タイムスタンプ処理部３０のローカル時計識別番号確認手段３４は、時刻監査証明書保持手段３９に保管されている時刻監査証明書を消去する。
【００２８】
図３に、ローカル時計部２０の暗号化時刻ラベル保持手段２６ａが保持するデータの例を示す。なお、暗号化時刻ラベル保持手段２６ｂも同様のデータを保持する。
暗号化時刻ラベル保持手段２６ａ、２６ｂは、時刻の情報を示す時刻ラベルと、当該時刻ラベルに対応した暗号化時刻ラベルと、当該暗号化時刻ラベル及び当該識別番号から生成したハッシュ値と、残日数ラベルとを対応付けた情報及びローカル時計部２０を特定する識別番号とを保持しており、これらの情報が送信データとしてタイムスタンプ処理部３０へ出力される。このようなデータを保持することにより、ローカル時計部２０は、暗号化時刻ラベル保持手段２６ａ及び２６ｂの保持する時刻ラベルにおいて示される日時の期間のみ、自身の生成した時刻Ａ、時刻Ｂの情報をタイムスタンプ処理部３０に出力することができる。従って、暗号化時刻ラベル保持手段２６ａ及び２６ｂに、ローカル時計部２０が正しく動作可能と保証される期間（例えば、独立電源手段２２ａ及び２２ｂが電力を供給できる期間）に対応した時刻ラベルを保持することによって、その期間を過ぎた場合にはローカル時計部２０を使用できないようにすることが可能となる。以下では、時刻Ａに対応した暗号化時刻ラベル、識別番号、ハッシュ値、及び、残日数ラベルを暗号化時刻ラベルＡ、識別番号Ａ、ハッシュ値Ａ、及び、残日数ラベルＡとし、時刻Ｂに対応した暗号化時刻ラベル、識別番号、ハッシュ値、及び、残日数ラベルを暗号化時刻ラベルＢ、識別番号Ｂ、ハッシュ値Ｂ、及び、残日数ラベルＢと記載する。
【００２９】
なお、暗号化時刻ラベル保持手段２６ａ、２６ｂに保持されるハッシュ値は、例えば、暗号化時刻ラベルと識別番号とを結合した情報から、ＳＨＡ１（Secure Hash Algorithm 1）などのアルゴリズムにより１６進数４０桁（１６０ビット）のハッシュ値を算出し、その算出したハッシュ値の前半２０桁のみを抽出した値とする。また、残日数ラベルは、保持されている時刻ラベルのうち、最終の時刻に対応したラベルにより示される日付まで、すなわち、使用できる日にちに達するまで、あと何日であるかの情報が示される。この残日数ラベルにより示される残日数を表示手段５２に表示させることにより、ユーザへローカル時計部２０の有効期限終了が近いことを知らせ、新たなローカル時計部２０に交換するよう促すことができる。なお、残日数ラベルに「−１」が設定される日時は、有効期限に達するまでに十分な日数があることを示す。また、残日数のかわりに残時間を用いることでもよい。
【００３０】
図４に、タイムスタンプ処理部３０の暗号化時刻ラベル保持手段３３ａが保持するデータの例を示す。なお、暗号化時刻ラベル保持手段３３ｂも同様のデータを保持する。
同図において、暗号化時刻ラベル保持手段３３ａ、３３ｂは、暗号化時刻ラベルと、当該暗号化時刻ラベルを復号化した後の時刻を示す復号化時刻ラベルを対応付けた情報を保持している。例えば、暗号化時刻ラベル保持手段２６ａ、２６ｂには１年分の情報を、暗号化時刻ラベル保持手段３３ａ、３３ｂには２０年分の情報を保持するなど、暗号化時刻ラベル保持手段３３ａ、３３ｂに、暗号化時刻ラベル保持手段２６ａ、２６ｂよりも十分長い期間の時刻に対応した情報を保持することで、ローカル時計部２０が新しいものに交換された場合でも時刻を復号可能となる。以下では、暗号化時刻ラベルＡに対応した復号化時刻ラベルを復号化時刻ラベルＡ、暗号化時刻ラベルＢに対応した復号化時刻ラベルを復号化時刻ラベルＢと記載する。
【００３１】
図５は、タイムスタンプ発行制御手段３６の備える記憶手段に保持されるタイムスタンプ制御フラグを説明するための図である。
同図に示すように、タイムスタンプ制御フラグには、４つのフラグＦ０〜Ｆ３があり、各フラグＦ０〜Ｆ３には、それぞれ、時刻正常フラグまたは時刻異常フラグが設定される。フラグＦ０には、ローカル時計部２０が正常であることを示す時刻正常フラグＮ０、または、異常であることを示す時刻異常フラグＥ０が設定される。フラグＦ１には、時刻監査が正常であることを示す時刻正常フラグＮ１、または、異常であることを示す時刻異常フラグＥ１が設定される。フラグＦ２には、時刻監査証明書で示される有効期間内であることを示す時刻正常フラグＮ２、または、有効期間外であることを示す時刻異常フラグＥ２が設定される。フラグＦ３には、時刻Ａと時刻Ｂの比較の結果、時刻が正常であることを示す時刻正常フラグＮ３、または、異常であることを示す時刻異常フラグＥ３が設定される。
【００３２】
次に、タイムスタンプ装置１０の動作について説明する。
図６は、タイムスタンプ装置１０の概要動作フローを示す図であり、各フローは繰り返し実行される。
まず、ローカル時計部２０に時刻Ａ及び時刻Ｂの初期設定を行なう（ステップＳ１０１）。初期設定後、ローカル時計部２０は、時刻Ａ及び時刻Ｂの生成を開始し、一定周期（例えば、１秒毎）にて、時刻Ａが生成される度に、生成された時刻Ａに対応した暗号化時刻ラベルＡ、識別番号Ａ、ハッシュ値Ａ、及び、残日数ラベルＡの情報からなる送信データＡを、時刻Ｂが生成される度に、生成された時刻Ｂに対応した暗号化時刻ラベルＢ、識別番号Ｂ、ハッシュ値Ｂ、及び、残日数ラベルＢの情報からなる送信データＢをタイムスタンプ処理部３０に出力する（ステップＳ１０２）。
【００３３】
タイムスタンプ処理部３０は、ローカル時計部２０から送信データＡ、送信データＢを受信する毎にそれぞれ送信データの正当性を確認し、送信データＡの暗号化時刻ラベルＡからは時刻Ａを、送信データＢの暗号化時刻ラベルＢからは時刻Ｂを得る（ステップＳ１１１）。タイムスタンプ処理部３０は、得られた時刻Ａと時刻Ｂとを比較して時刻が正常であるか否かを判定し、その判定結果を示すタイムスタンプ制御フラグを発行許可情報として保持する（ステップＳ１１２）。
【００３４】
タイムスタンプ処理部３０は、ステップＳ１１１により得た時刻Ａまたは時刻Ｂの情報を設定するとともに、当該タイムスタンプ処理部３０の機器認証証明書を付加した時刻監査要求を定期的に（あるいは、必要に応じて非定期に）時刻監査局システム７０に送信する。これにより、時刻監査局システム７０から時刻監査結果を示す時刻監査証明書を受信する（ステップＳ１２１）。タイムスタンプ処理部３０は、時刻が正常内の誤差であることを示す時刻監査証明書を受信したかを判断し、判断結果を示すタイムスタンプ制御フラグを発行許可情報として保持する。なお、時刻監査要求に、時刻Ａを用いるか、時刻Ｂを用いるかは所定のルールに従う。例えば、時刻Ａ（または時刻Ｂ）を常に用いる、あるいは、時刻Ａと時刻Ｂとを一回毎に、または、所定の時間（回数）毎に交互に用いる、などとすることができる。また、時刻監査要求は、タイムスタンプ装置１０から所定の時間毎に自律的に送信することでもよく、時刻監査局システム７０から所定の時間毎に送信される時刻監査の指示を受信して送信することでもよい。時刻監査は、数時間毎など、時刻監査証明書に設定されうる有効期限より短い周期で行うこともできる。
【００３５】
時刻監査証明書には、時刻監査要求により通知した時刻が、ＵＴＣからどれくらいずれの時間があるかを示す誤差の情報と、当該時刻監査証明書の有効期限の情報とが含まれるが、ずれの時間が大きい場合には、有効期限として零の値が設定される。タイムスタンプ処理部３０は、受信した時刻監査証明書に設定された有効期限の情報から、ローカル時計部２０から通知した時刻Ａまたは時刻Ｂが正しいか否かを判断して、判断結果を示すタイムスタンプ制御フラグを発行許可情報として保持し、所定の時間毎に（例えば、送信データＡ、Ｂの受信間隔と同じ間隔で）時刻監査証明書の有効期限をチェックする（ステップＳ１２２）。タイムスタンプ処理部３０は、次の時刻監査証明書を受信するまで、あるいは、ローカル時計部２０の交換が検出されるまで、受信した時刻監査証明書を保持する。
【００３６】
クライアント端末８０からタイムスタンプ発行要求を受信した場合、タイムスタンプ処理部３０は、タイムスタンプの発行許可情報（タイムスタンプ制御フラグ）により、ステップＳ１１２において時刻Ａと時刻Ｂの比較による時刻が正常であると判断され、かつ、ステップＳ１２１において受信した時刻監査証明書から時刻が正常内の誤差であると判断され、かつ、現在の時刻が保持している時刻監査証明書で示される有効期限内であると判断されたことを確認した場合に、現在の時刻Ａまたは時刻Ｂによりタイムスタンプデータを生成してクライアント端末８０へ返送する（ステップＳ１３１）。タイムスタンプデータの生成には、現在保持している時刻監査証明書が、時刻監査時の時刻Ａに対するものであれば現在の時刻Ａを使用し、時刻監査時の時刻Ｂに対するものであれば、現在の時刻Ｂを使用する。また、タイムスタンプデータの生成後、クライアント端末８０への出力前に、タイムスタンプデータの生成に使用していない確認用の時刻Ａ、または、時刻Ｂによってタイムスタンプデータ内の時刻をチェックする。
【００３７】
クライアント端末８０から受信するタイムスタンプ要求には、タイムスタンプを付与したいディジタルドキュメントのハッシュデータが含まれる。タイムスタンプ処理部３０がこのタイムスタンプ要求によって生成するタイムスタンプデータは、タイムスタンプ要求から取得したディジタルドキュメントのハッシュデータと、現在の時刻Ａまたは時刻Ｂと、時刻監査証明書とからなるデータに、タイムスタンプ装置１０の署名鍵により電子署名したものである。
【００３８】
ディジタルドキュメントのタイムスタンプを検証する場合、クライアント端末８０は、ディジタルドキュメントのハッシュデータを再計算するとともに、ＴＳＡ（タイムスタンプ装置１０）の署名鍵と対になる公開鍵によりタイムスタンプデータの電子署名値を復号化し検証することで正当性を確認する。公開鍵は、予め受け取ってクライアント端末８０内に保持するようにしてもよく、タイムスタンプデータ内に含めるようにしてもよい。そして、再計算したハッシュ値と、タイムスタンプデータに含まれるハッシュ値が一致すれば、タイムスタンプデータで示されるタイムスタンプ時刻に当該ディジタルドキュメントが存在したことが証明でき、一致しない場合は変更や改ざんがあったと判断される。
【００３９】
次に、タイムスタンプ装置１０の詳細な動作について説明する。なお、ここでは、発振手段２３ａ、２３ｂは、１秒周期の発振信号を出力するものとする。
【００４０】
図７は、図６のステップＳ１０１における時刻初期設定処理の詳細なフローである。ここでは、時刻Ａの初期設定を行う場合について説明する。
ローカル時計部２０の時刻設定手段２１は、当該時刻設定手段２１の備えるに記憶手段に、時刻Ａが初期設定済みであることを示すフラグが設定されているかを判断する（ステップＳ２０１）。時刻設定手段２１は、時刻Ａの初期設定済みを示すフラグが設定されていないと判断した場合（ステップＳ２０１：ＹＥＳ）、外部の時刻設定装置から、ＴＡより出力された時刻に基づく時刻ラベルを受信し、この時刻ラベルの受信タイミングと、発振手段２３ａにより生成される発振信号Ａとを同期させる（ステップＳ２０２）。時刻設定手段２１は、ステップＳ２０２において同期を行った結果の同期誤差が、所定の規定値より小さいか否かを判断する（ステップＳ２０３）。所定の規定値以上であると判断した場合（ステップＳ２０３：ＮＯ）、ステップＳ２０２に戻り、再び同期処理を行う。
【００４１】
そして、ステップＳ２０２において同期を行った結果の同期誤差が、所定の規定値より小さいと判断した場合（ステップＳ２０３：ＹＥＳ）、時刻制御手段２４ａは、取得した時刻Ａを示す時刻ラベルを時刻Ａ一時保持手段２５ａに設定し（ステップＳ２０４）、時刻設定手段２１は、時刻設定手段２１の備える記憶手段に、時刻Ａが初期設定済みであることを示すフラグを設定する（ステップＳ２０５）。
なお、ステップＳ２０１において、時刻Ａの初期設定済みを示すフラグが設定されていると判断した場合は（ステップＳ２０１：ＮＯ）、そのまま処理を終了する。
【００４２】
上記では時刻Ａの初期設定処理について説明したが、時刻Ｂの初期設定についても同様である。時刻Ｂの初期設定処理の場合、発振手段２３ａ、時刻制御手段２４ａ、時刻Ａ一時保持手段２５ａ、発振信号Ａ、時刻Ａをそれぞれ、発振手段２３ｂ、時刻制御手段２４ｂ、時刻Ｂ一時保持手段２５ｂ、発振信号Ｂ、時刻Ｂと置き換えればよい。
【００４３】
図８は、図６のステップＳ１０２における時刻生成送信処理の詳細なフローである。ここでは、時刻Ａの時刻生成送信処理を行う場合について説明する。
時刻制御手段２４ａは、発振手段２３ａ（発振手段Ａ）から出力される発振信号Ａの発振立ち上がりのタイミングにより、時刻Ａ一時保持手段２５ａに保持されている過去の時刻Ａである時刻Ａ’を取得し、この時刻Ａ’にプラス１秒を追加して新たな時刻Ａを生成し、時刻Ａ一時保持手段２５ａに設定する（ステップＳ３０１）。時刻制御手段２４ａは、時刻Ａを示す送信データＡとして、当該時刻Ａに対応した暗号化時刻ラベルＡ、識別番号Ａ、ハッシュ値Ａ、及び、残日数ラベルＡの情報を暗号化時刻ラベル保持手段２６ａから読み出す（ステップＳ３０２）。時刻制御手段２４ａは、読み出したデータが０ではないかにより、暗号化時刻ラベル保持手段２６ａからの情報の読み出しに成功したか否かを判断する（ステップＳ３０３）。情報の読み出しに成功したと判断した場合（ステップＳ３０３：ＹＥＳ）、信号送信手段２７は、暗号化時刻ラベル保持手段２６ａから読み出された暗号化時刻ラベルＡ、識別番号Ａ、ハッシュ値Ａ、及び、残日数ラベルＡの情報からなる送信データＡをタイムスタンプ処理部３０へ送信し（ステップＳ３０４）、再びステップＳ３０１からの処理を繰り返す。なお、暗号化時刻ラベル保持手段２６ａからの情報の読み出しに失敗したと判断した場合（ステップＳ３０３：ＮＯ）、処理を終了する。
【００４４】
上記では時刻Ａの時刻生成送信処理について説明したが、時刻Ｂの時刻生成送信処理についても同様である。時刻Ｂの時刻生成送信処理の場合、発振手段２３ａ、時刻制御手段２４ａ、時刻Ａ一時保持手段２５ａ、暗号化時刻ラベル保持手段２６ａ、発振信号Ａ、時刻Ａ、時刻Ａ’、送信データＡ、暗号化時刻ラベルＡ、識別番号Ａ、ハッシュ値Ａ、残日数ラベルＡをそれぞれ、発振手段２３ｂ、時刻制御手段２４ｂ、時刻Ｂ一時保持手段２５ｂ、暗号化時刻ラベル保持手段２６ｂ、発振信号Ｂ、時刻Ｂ、時刻Ｂ’、送信データＢ、暗号化時刻ラベルＢ、識別番号Ｂ、ハッシュ値Ｂ、残日数ラベルＢと置き換えればよい。
【００４５】
図９は、図６のステップＳ１１１における時刻設定処理の詳細なフローである。ここでは、時刻Ａの時刻設定処理を行う場合について説明する。
タイムスタンプ処理部３０の信号受信手段３１は、ローカル時計部２０から送信データＡを受信する（ステップＳ４０１）。復号化手段３２は、送信データＡに設定されている暗号化時刻ラベルＡがオール０（０の羅列）ではなく、かつ、以前に受信した暗号化時刻ラベルＡと一致しないかにより、暗号化時刻ラベルＡが有効であるかを判断する（ステップＳ４０２）。有効であると判断した場合（ステップＳ４０２：ＹＥＳ）、復号化手段３２は、暗号化時刻ラベル保持手段３３ａから、暗号化時刻ラベルＡに対応した復号化時刻ラベルＡを読み出す（ステップＳ４０３）。なお、このとき、前回復号化時刻ラベルＡを読み出した行以降の行を順に検索するか、または、前回復号化時刻ラベルＡを読み出した行の近傍の行のみを検索することにより、処理を高速化することができる。復号化手段３２は、現在時刻Ａ保持手段３５ａに保持されている過去の時刻Ａである時刻Ａ’を取得し、読み出した復号化時刻ラベルＡにより示される時刻、すなわち、時刻Ａが時刻Ａ’よりも進んだ時刻であるか否かを判断する（ステップＳ４０４）。
【００４６】
時刻Ａが時刻Ａ’よりも進んだ時刻であると判断した場合（ステップＳ４０４：ＹＥＳ）、ローカル時計識別番号確認手段３４は、時計識別により正当性を確認する（ステップＳ４０５）。この処理の詳細は後述する。
ローカル時計識別番号確認手段３４により時計識別が正しいと判断されると、復号化手段３２は、復号化時刻ラベルＡを時刻Ａ保持手段３５ａに格納し（ステップＳ４０６）、タイムスタンプ発行制御手段３６の備える記憶手段に、時計正常フラグＮ０を設定する（ステップＳ４０７）。復号化手段３２は、送信データＡに設定されている残日数ラベルＡが負の値であった場合（ステップＳ４０８：ＹＥＳ）、再びステップＳ４０１からの処理を繰り返し、残日数ラベルＡが正の値であった場合（ステップＳ４０８：ＮＯ）、表示手段５２に残日数を表示したり、図示しない警告手段（例えば、ローカル時計取替え時期が近いことを音声で知らせる装置など）により警告を出力して（ステップＳ４０９）、再びステップＳ４０１からの処理を繰り返す。
【００４７】
なお、ステップＳ４０２において、暗号化時刻ラベルＡが有効ではないと判断した場合（ステップＳ４０２：ＮＯ）、あるいは、ステップＳ４０４において、時刻Ａが時刻Ａ’より進んだ時刻ではないと判断した場合（ステップＳ４０４：ＮＯ）、復号化手段３２は、タイムスタンプ発行制御手段３６の備える記憶手段に、時計異常フラグＥ０を設定し（ステップＳ４１０）、処理を終了する。
【００４８】
上記では送信データＡを受信したときの時刻設定処理について説明したが、送信データＢを受信したときの時刻設定処理についても同様である。送信データＢを受信したときの時刻設定処理の場合、暗号化時刻ラベル保持手段３３ａ、時刻Ａ保持手段３５ａ、時刻Ａ、時刻Ａ’、送信データＡ、暗号化時刻ラベルＡ、復号化時刻ラベルＡ、残日数ラベルＡをそれぞれ、暗号化時刻ラベル保持手段３３ｂ、時刻Ｂ保持手段３５ｂ、時刻Ｂ、時刻Ｂ’、送信データＢ、暗号化時刻ラベルＢ、復号化時刻ラベルＢ、残日数ラベルＢと置き換えればよい。
なお、復号鍵を予め記憶しておき、都度、暗号化時刻ラベルＡ、Ｂを復号するようにしてもよい。
【００４９】
図１０は、図６のステップＳ１１２における時刻比較処理の詳細なフローである。
時刻比較手段４０は、時刻Ａ保持手段３５ａから時刻Ａの情報を、時刻Ｂ保持手段３５ｂから時刻Ｂの情報を取得し（ステップＳ５０１）、時刻Ａと時刻Ｂとの時刻の誤差が所定の規定値より小さいかを判断する（ステップＳ５０２）。時刻Ａと時刻Ｂとの時刻の誤差が所定の規定値より小さいと判断した場合（ステップＳ５０２：ＹＥＳ）、時刻比較手段４０は、タイムスタンプ発行制御手段３６の備える記憶手段に、時計正常フラグＮ３を設定し（ステップＳ５０３）、ステップＳ５０１の処理へ戻る。一方、時刻Ａと時刻Ｂとの時刻の誤差が所定の規定値以上であると判断した場合（ステップＳ５０２：ＮＯ）、時刻比較手段４０は、タイムスタンプ発行制御手段３６の備える記憶手段に、時計異常フラグＥ３を設定するとともに（ステップＳ５０４）、表示手段５２または図示しない警告手段により警告を出力してローカル時計の交換を促す（ステップＳ５０５）。
【００５０】
図１１は、図６のステップＳ１２１における時刻監査処理の詳細なフローである。以下では、時刻Ａにより時刻監査を行う場合について説明する。
時刻監査制御手段３７は、時刻監査要求を送信する所定の時間であることを検出するか、あるいは、時刻監査局システム７０から時刻監査の指示を受信する（ステップＳ６０１）。時刻監査制御手段３７は、時刻監査局システム７０からＴＡの機器認証証明書を受信し（ステップＳ６０２）、正当性を確認する（ステップＳ６０３）。ＴＡの機器認証証明書が正しいと判断した場合（ステップＳ６０３：ＹＥＳ）、さらに署名鍵・証明書保持手段３８から取得した当該タイムスタンプ装置１０の機器認証証明書を時刻監査局システム７０に送信することで時刻監査局システム７０によってタイムスタンプ装置１０が正しいことが確認されると、通信手段５０は、ＳＳＬによる暗号化通信を確立する。時刻監査制御手段３７は、時刻Ａ保持手段３５ａから時刻Ａを取得し、取得した時刻Ａを設定した時刻監査要求を時刻監査局システム７０へ送信する（ステップＳ６０４）。
【００５１】
通信エラー等の異常が発生せず、時刻監査要求の送信が成功した場合（ステップＳ６０５：ＹＥＳ）、時刻監査制御手段３７は時刻監査局システム７０から時刻監査証明書を受信する。時刻監査制御手段３７は、受信した時刻監査証明書と、送信データＡ内の識別番号Ａとを時刻監査証明書保持手段３９に書き込む（ステップＳ６０６）。時刻監査制御手段３７は、受信した時刻監査証明書の有効期限の情報に正常な値（正の値）が設定されていれば時刻監査が成功したと判断し（ステップＳ６０７：ＹＥＳ）、タイムスタンプ発行制御手段３６の保持する記憶手段に、当該時刻監査証明書の有効期限の情報を設定するとともに、時計正常フラグＮ１、Ｎ２を設定する（ステップＳ６０８）。時刻比較手段４０は、時刻監査証明書内の監査時刻と、時刻Ａ保持手段３５ａから取得した時刻Ａと、時刻Ｂ保持手段３５ｂから取得した時刻Ｂの情報とから、時刻監査証明書内の監査時刻に対する時刻Ｂの時刻誤差を算出する（ステップＳ６０９）。算出した時刻ＢのＴＡ時刻に対する時刻誤差が所定の規定値より小さい場合（ステップＳ６１０：ＹＥＳ）、そのまま処理を終了する。
【００５２】
なお、ステップＳ６０３において、ＴＡの機器認証証明書が正しくないと判断した場合（ステップＳ６０３：ＮＯ）、ステップＳ６０５において、時刻監査要求の送信が失敗した場合（ステップＳ６０５：ＮＯ）、表示手段５２または図示しない警告手段により時刻監査の失敗の警告を出力する（ステップＳ６１３）。
また、ステップＳ６０７において、時刻監査証明書内の時刻の有効期限の情報が正ではない場合（ステップＳ６０７：ＮＯ）、タイムスタンプ発行制御手段３６の備える記憶手段に、時計異常フラグＥ１を設定し（ステップＳ６１１）、表示手段５２または図示しない警告手段により警告を出力してローカル時計の交換を促す（ステップＳ６１３）。
また、ステップＳ６０９において、算出した時刻ＢのＴＡ時刻に対する時刻誤差が所定の規定値以上である場合（ステップＳ６１０：ＮＯ）、タイムスタンプ発行制御手段３６の備える記憶手段に、時計異常フラグＥ３を設定し（ステップＳ６１２）、表示手段５２または図示しない警告手段により警告を出力してローカル時計の交換を促す（ステップＳ６１３）。
【００５３】
上記では時刻Ａの監査処理について説明したが、時刻Ｂの監査処理についても同様である。時刻Ｂの監査処理の場合、時刻Ａ保持手段３５ａ、時刻Ａ、識別番号Ａ、時刻Ｂ保持手段３５ｂ、時刻Ｂをそれぞれ、時刻Ｂ保持手段３５ｂ、時刻Ｂ、識別番号Ｂ、時刻Ａ保持手段３５ａ、時刻Ａと置き換えればよい。
【００５４】
図１２は、図６のステップＳ１２２における時刻監査証有効期限チェック処理の詳細なフローである。以下では、直前の時刻監査を時刻Ａにより行った場合について説明する。
時刻監査制御手段３７は、タイムスタンプ発行制御手段３６に時刻正常フラグＮ１が設定されている場合（ステップＳ７０１）、時刻Ａ保持手段３５ａから時刻Ａの情報を読み出す（ステップＳ７０２）。時刻監査制御手段３７は、読み出した時刻Ａが、時刻監査証明書保持手段３９に保持されている時刻監査証明書に設定されている有効期限内である場合（ステップＳ７０３：ＹＥＳ）、タイムスタンプ発行制御手段３６の備える記憶手段に、時刻正常フラグＮ２を設定する（ステップＳ７０４）。さらに、時刻監査制御手段３７は、時刻監査証明書に設定されている有効期限が、規定の日数（または時間）の後に有効期限となるかを判断する（ステップＳ７０５）。規定の日数（または時間）の後にはまだ有効期限とはならないと判断した場合は、処理を終了し（ステップＳ７０５：ＮＯ）、規定の日数（または時間）の後に有効期限となると判断した場合は、表示手段５２または図示しない警告手段に残日数または残り時間を表示して、時刻監査証明書の期限が近いことを警告する（ステップＳ７０６）。
【００５５】
なお、時刻監査制御手段３７は、タイムスタンプ発行制御手段３６に時刻正常フラグＮ１が設定されていない場合（ステップＳ７０１：ＮＯ）、処理を終了する。
また、ステップＳ７０３において、読み出した時刻Ａが、時刻監査証明書に設定されている有効期限を超えている場合（ステップＳ７０３：ＮＯ）、タイムスタンプ発行制御手段３６の備える記憶手段に時刻異常フラグＥ２を設定するとともに（ステップＳ７０７）、ＴＡの時刻監査局システム７０へ時刻監査要求を送信する（ステップＳ７０８）。
【００５６】
上記では、直前の時刻監査を時刻Ａにより行った場合の時刻監査証有効期限チェック処理について説明したが、直前の時刻監査を時刻Ｂにより行った場合の時刻監査証有効期限チェック処理についても同様である。直前の時刻監査を時刻Ｂにより行った場合の時刻監査証有効期限チェック処理の場合、時刻Ａ保持手段３５ａ、時刻Ａ、残日数ラベルＡをそれぞれ、時刻Ｂ保持手段３５ｂ、時刻Ｂ、残日数ラベルＢと置き換えればよい。
【００５７】
図１３は、図６のステップＳ１３１におけるタイムスタンプ発行処理の詳細なフローである。以下では、直前の時刻監査を時刻Ａにより行った場合について説明する。
タイムスタンプ発行制御手段３６は、通信手段５０及びタイムスタンプ受付／出力手段５１を介して、クライアント端末８０としてのクライアントＰＣからタイムスタンプ要求データを受信する（ステップＳ８０１）。タイムスタンプ発行制御手段３６は、記憶手段に時計正常フラグＮ０が設定されており（ステップＳ８０２：ＹＥＳ）、かつ、時刻比較によって時刻正常フラグＮ３が設定されている場合（ステップＳ８０３：ＹＥＳ）、時刻Ａ保持手段３５ａから現在時刻である時刻Ａの情報を取得する（ステップＳ８０４）。タイムスタンプ発行制御手段３６は、自身の備える記憶手段を参照し、時刻Ａが有効期限内であり、かつ、時刻正常フラグＮ１及びＮ２が設定済みであると判断した場合（ステップＳ８０５：ＹＥＳ）、時刻Ａを用いてタイムスタンプを生成するようタイムスタンプ作成手段４１に指示する。タイムスタンプ作成手段４１は、タイムスタンプ要求から取得したディジタルドキュメントのハッシュデータと、時刻Ａと、時刻監査証明書保持手段３９内に保持されている時刻監査証明書とを含むタイムスタンプの平文データを生成する。署名手段４２は、この生成された平文データに対して、署名鍵・証明書保持手段３８から読み出した、ＴＳＡ（タイムスタンプ装置１０）の署名鍵により電子署名を行い、前記平文データに付加する（ステップＳ８０６）。タイムスタンプ時刻確認手段４３は、このようにして生成されたタイムスタンプデータ内のスタンプ時刻である時刻Ａと、時刻Ｂ保持手段３５ｂから取得した時刻Ｂとの時刻誤差が所定の規定値より小さい場合（ステップＳ８０７：ＹＥＳ）、生成されたタイムスタンプデータを含むタイムスタンプレスポンスをクライアントＰＣへ返送する（ステップＳ８０８）。
【００５８】
なお、記憶手段に時計正常フラグＮ０が設定されていない場合（ステップＳ８０２：ＮＯ）、時刻正常フラグＮ３が設定されていない場合（ステップＳ８０３：ＮＯ）、時刻Ａが有効期限内ではない場合、または、記憶手段に時刻正常フラグＮ１、Ｎ２が設定されていない場合（ステップＳ８０５：ＮＯ）、あるいは、タイムスタンプデータ内のスタンプ時刻である時刻Ａと、時刻Ｂ保持手段３５ｂから取得した時刻Ｂとの時刻誤差が所定の規定値以上である場合（ステップＳ８０７：ＮＯ）、タイムスタンプ作成手段４１は、エラーを設定したタイムスタンプレスポンスをクライアントＰＣへ返送する（ステップＳ８０９）。
【００５９】
上記では、直前の時刻監査を時刻Ａにより行った場合のタイムスタンプ発行処理について説明したが、直前の時刻監査を時刻Ｂにより行った場合のタイムスタンプ発行処理についても同様である。直前の時刻監査を時刻Ｂにより行った場合の時刻監査証有効期限チェック処理の場合、時刻Ａ保持手段３５ａ、時刻Ａ、時刻Ｂ保持手段３５ｂ、時刻Ｂをそれぞれ、時刻Ｂ保持手段３５ｂ、時刻Ｂ、時刻Ａ保持手段３５ａ、時刻Ａに置き換えればよい。
【００６０】
図１４は、時刻監査証有無確認処理のフローであり、１秒ごとなどの所定の時間毎に、図１２の時刻監査証有効期限チェック処理の前に実行される。
時刻監査制御手段３７は、時刻監査証明書保持手段３９に時刻監査証明書が保持されているか否かを判断する（ステップＳ９０１）。時刻監査証明書が保持されている場合、図１２に示す時刻監査証有効期限チェック処理を実行し（ステップＳ９０２）、ステップＳ９０１からの処理を繰り返す。一方、時刻監査証明書保持手段３９に時刻監査証明書が保持されていない場合、タイムスタンプ発行制御手段３６の備える記憶手段に、時計異常フラグＥ１及びＥ２を設定し、ステップＳ９０１からの処理を繰り返す（ステップＳ９０３）。
【００６１】
図１５は、図９のステップＳ４０５における時計識別確認処理の詳細なフローである。
ローカル時計識別番号確認手段３４は、送信データＡに設定されている暗号化時刻ラベルＡと識別番号Ａとを結合した情報から、ローカル時計部２０において保持しているハッシュアルゴリズムと同じアルゴリズムであるＳＨＡ１アルゴリズムを用いてハッシュ値αを算出する（ステップＳ１００１）。ローカル時計識別番号確認手段３４は、算出されたハッシュ値αの前半２０桁が送信データＡに設定されているハッシュ値Ａと同じであれば（ステップＳ１００２：ＹＥＳ）、時刻監査証明書保持手段３９に保管されている識別番号Ａ’を取得し（ステップＳ１００３）、送信データＡから取得した識別番号Ａと一致するかを判断する（ステップＳ１００４）。ローカル時計識別番号確認手段３４は、識別番号Ａ’と識別番号Ａとが一致する場合（ステップＳ１００４：ＹＥＳ）、処理を終了し、一致しない場合（ステップＳ１００４：ＮＯ）、時刻監査証明書保持手段３９に保管されている時刻監査証明書を消去する（ステップＳ１００５）。
【００６２】
また、ステップＳ１００２において、算出されたハッシュ値αが送信データＡに設定されているハッシュ値Ａと一致しないと判断された場合、ローカル時計識別番号確認手段３４は、時刻監査証明書保持手段３９に保管されている時刻監査証明書を消去するとともに（ステップＳ１００６）、タイムスタンプ発行制御手段３６の備える記憶手段に、時計異常フラグＥ０を設定する（ステップＳ１００７）。
【００６３】
上記では送信データＡを受信したときの時計識別確認処理について説明したが、送信データＢを受信したときの時計識別確認処理についても同様である。送信データＢを受信したときの時計識別確認処理の場合、送信データＡ、暗号化時刻ラベルＡ、識別番号Ａ、ハッシュ値Ａ、識別番号Ａ’をそれぞれ、時刻Ｂ、送信データＢ、暗号化時刻ラベルＢ、識別番号Ｂ、ハッシュ値Ｂ、識別番号Ｂ’に置き換えればよい。
【００６４】
このように、ローカル時計部２０から送信される送信データにローカル時計部２０を特定する固有の識別番号と、ハッシュ値を含めることにより、タイムスタンプ処理部３０側において、過去に時刻監査証を受けた時計の識別番号と比較され、変更があれば過去に受けた時刻監査証を消去する。ハッシュ値は、暗号化時刻ラベルと識別番号から生成されるが、ハッシュ値があることで、暗号化時刻ラベルをローカル時計部２０ごとに作成する必要が無いため、タイムスタンプ処理部３０が保管すべき復号用データを減らすことができる。また、新しいローカル時計部２０と偽の識別番号（固定であるため）を入力することによる時刻監査証の引き続きの使用を阻止できる。
従って、時刻監査証明書の有効期限内であれば、タイムスタンプ装置１０の電源が切れても再度、起動時に、時刻監査を新たに受ける必要が無くタイムスタンプを発行することができる。
【００６５】
図１６及び図１７は、ローカル時計部２０のハードウェア構成の例を示す。
図１６において、ローカル時計部２０のハードウェアセキュリティ部は、ＣＰＵ（central processing unit）１０１ａ、ＥＥＰＲＯＭ（Electronically Erasable and Programmable Read Only Memory）１０２ａ、ＲＡＭ（Random Access Memory）１０３ａ、電源部１０４ａ、時計１０５ａ、入力Ｉ／Ｆ（インタフェース）１０６ａ、及び、出力Ｉ／Ｆ１０７ａをバス１０８ａで接続した構成と、ＣＰＵ１０１ｂ、ＥＥＰＲＯＭ１０２ｂ、ＲＡＭ１０３ｂ、電源部１０４ｂ、時計１０５ｂ、入力Ｉ／Ｆ（インタフェース）１０６ｂ、及び、出力Ｉ／Ｆ１０７ｂをバス１０８ｂで接続した構成とからなる。
【００６６】
ＣＰＵ１０１ａは演算や制御を行う中央演算装置であり、図２の時刻設定手段２１及び時刻制御手段２４ａを実現する。ＥＥＰＲＯＭ１０２ａは、時刻設定手段２１及び時刻制御手段２４ａのプログラムを記憶するとともに、暗号化時刻ラベル保持手段２６ａを実現する。ＲＡＭ１０３ａは、読み出し・書き込み可能なメモリであって、ＣＰＵ１０１ａが各種プログラムを実行する際のワークエリアなどがあり、時刻Ａ一時保持手段２５ａを実現する。電源部１０４ａは、独立電源手段２２ａを、時計１０５ａは発振手段２３ａを実現する。
同様に、ＣＰＵ１０１ｂは時刻設定手段２１及び時刻制御手段２４ｂを実現し、ＥＥＰＲＯＭ１０２ｂは、時刻設定手段２１及び時刻制御手段２４ｂのプログラムを記憶するとともに、時刻設定手段２１及び暗号化時刻ラベル保持手段２６ｂを実現する。ＲＡＭ１０３ｂは、ＣＰＵ１０１ｂが各種プログラムを実行する際のワークエリアなどがあり、時刻Ｂ一時保持手段２５ｂを実現する。電源部１０４ｂは、独立電源手段２２ｂを、時計１０５ｂは発振手段２３ｂを実現する。
入力Ｉ／Ｆ１０６ａ、１０６ｂは外部からのデータの受信を可能とするものであり、時刻設定手段２１を実現し、出力Ｉ／Ｆ１０７ａ、１０７ｂは外部へのデータ送信を可能とするものであり、信号送信手段２７を実現する。
【００６７】
図１７において、ローカル時計部２０のハードウェアセキュリティ部は、ＣＰＵ１０１、ＥＥＰＲＯＭ１０２、ＲＡＭ１０３、電源部１０４、時計１０５ａ及び１０５ｂ、入力Ｉ／Ｆ（インタフェース）１０６、及び、出力Ｉ／Ｆ１０７をバス１０８で接続して構成される。発振手段２３ａ及び２３ｂは、それぞれ時計１０５ａ、１０５ｂで実現されるが、他の手段は共通のハードウェアで実現される。
【００６８】
図１８は、タイムスタンプ処理部３０、通信手段５０、タイムスタンプ受付／出力手段５１、表示手段５２のハードウェア構成の例を示す図である。同図において、タイムスタンプ処理部３０としてのハードウェアセキュリティ部１１５は、当該ハードウェアセキュリティ部１１５とＵＳＢ等により接続されるＰＣ等のコンピュータ装置のＣＰＵ１１１、ＲＯＭ１１２、ＲＡＭ１１３、記憶部１１４、通信制御部１１６、出力Ｉ／Ｆ１１７、入力Ｉ／Ｆ１１８、及び、表示部１１９とバス１２１により接続して構成される。ハードウェアセキュリティ部１１５は、ＣＰＵ１２２、ＲＯＭ１２３、ＲＡＭ１２４、ＥＥＰＲＯＭ１２５により構成される。
【００６９】
ＣＰＵ１１１は、ＲＯＭ１１２からシステムプログラムを読み出し、各部の制御を行う。ＲＡＭ１１３ｂは、ＣＰＵ１１１が各種プログラムを実行する際のワークエリアなどがある。記憶部１１４は、ハードディスクなどであり、各種プログラムなどを記憶するとともに、データを記憶する。通信制御部１１６は、出力Ｉ／Ｆ１１７による外部へのデータの出力、入力Ｉ／Ｆ１１８による外部からのデータの入力を制御し、これらにより図２の通信手段５０を実現する。表示部１１９は、ディスプレイなどの表示装置である。
【００７０】
ＣＰＵ１２２はＲＯＭ１２３からプログラムを読み出して、復号化手段３２、ローカル時計識別番号確認手段３４、タイムスタンプ発行制御手段３６、時刻監査制御手段３７、時刻比較手段４０、タイムスタンプ作成手段４１、署名手段４２、タイムスタンプ時刻確認手段４３を実現する。ＲＡＭ１２４は、時刻Ａ保持手段３５ａ、時刻Ｂ保持手段３５ｂ、時刻監査証明書保持手段３９を実現し、ＥＥＰＲＯＭ１２５は、暗号化時刻ラベル保持手段３３ａ及び３３ｂ、署名鍵・証明書保持手段３８を実現する。
【００７１】
図１９は、タイムスタンプ装置１０全体のハードウェア構成の例を示す図である。同図においては、図１６に示すような出力Ｉ／Ｆ１０７ａ及び１０７ｂが、図１８に示すようなローカル時計部２０のハードウェアセキュリティ部に接続される。ただし、出力Ｉ／Ｆ１１７、入力Ｉ／Ｆ１１８は併せて入出力Ｉ／Ｆ１２０としている。
【００７２】
図２０は、ローカル時計部２０として用いる耐タンパローカル時計の外観を示す図である。耐タンパローカル時計は、ＣＰＵ、ＲＡＭ、ＥＥＰＲＯＭ、発振器、電池等からなる内部モジュールを樹脂でパッケージした内部モジュールケースと、内部モジュールへ外部からの信号を入力するための信号送信用端子（初期時刻設定用端子としても使用される）と、内部モジュールケースに巻きつけられるコイルの端子と接続される端子Ｘ、端子Ｙとを備える。
【００７３】
図２１は、ローカル時計部２０のモジュール構成を示す図である。図２１（ａ）は、コイル１の形状を、図２１（ｂ）はコイル２の形状を示している。コイル１及びコイル２は、それぞれ１本の電線であり、コイル１が内部モジュールの周囲に巻きつけられ、さらにその周囲に、コイル２がコイル１とは直交する方向に巻きつけられる。そして、コイル端子Ｘが、コイル１の一方の端子とつながり、コイル１のもう一方の端子が、コイル２一方の端子とつながり、コイル２のもう一方の端子が、コイル端子Ｙとつながることで、コイル端子Ｘとコイル端子Ｙは１本の電線として作用する。このようにコイル１、２を巻きつけた後、図２１（ｃ）に示すような外部モジュールケースに入れて樹脂パッケージすると、図２１（ｄ）のようなモジュール構成となる。
【００７４】
図２２は、耐タンパローカル時計の不正操作検出を説明する図である。同図に示すように、コイルの先端は、ＣＰＵに接続されたスイッチの２つの端子にそれぞれ接続されている。このような構成において、コイルが破断されると、ＣＰＵが切断を検知して、ＥＥＰＲＯＭに保管されている暗号化時刻ラベルのデータを消去する。
【００７５】
具体的には、製造の過程でコイルが内部モジュールの外側から接続され、最初の切断された状態を０、コイルが接続された状態を１、コイルが破断した状態を２としたときに、ＲＡＭ上には、最初状態０が設定されており、ＥＥＰＲＯＭのデータは保護されている状態である。次に、コイルが接続されたときに、ＣＰＵが接続を検知して、ＲＡＭ上に状態１を設定する。ＲＡＭ上に状態１が設定されている状態においてＣＰＵが破断を検知すると、状態２を設定し、ＥＥＰＲＯＭ上のデータが消去される。
上記の仕組みにより、不正操作を目的として、外部の樹脂を破壊し、コイルを破壊した場合に、ＥＥＰＲＯＭ上の暗号化時刻データが消去されることから、不正に（未来の）暗号化時刻ラベルを取り出すことができないようにすることが可能となる。
【００７６】
本実施の形態によれば、監査後の時計が大幅にずれることにより望ましくないタイムスタンプが発行され続けることを防ぐために、２つの時計の時刻によりチェックを行うことで、不正なタイムスタンプの発行が行われないようにすることができる。
また、タイムスタンプ装置のローカル時計は、出荷時にのみ時刻設定が可能であり、外部時刻からの校正・補正を受けないことがないため、時刻の改ざんを受けないようにすることができる。
また、ローカル時計から出力される時刻ラベルが暗号化されているため、タイムスタンプ処理装置に、不正に未来の時刻を入れることが出来ない。そして、このローカル時計の時刻ラベルは、あらかじめ暗号化されてローカル時計部に保持されているため、ローカル時計に複雑な暗号処理装置が必要もない。加えて、タイムスタンプ処理装置は、過去に受けた時刻を再度受けられないので、リプレイ攻撃（暗号化されたデータを観察し、同じ内容を後ほど送信する）を遮断することが可能である。
また、タイムスタンプ処理装置は、時刻監査機関から取得した時刻監査証明書によって指定された期限のみタイムスタンプを発行することができるため、タイムスタンプの発行権限は時刻監査機関に依存する。よって、改ざんした時刻によるタイムスタンプが発行されるのを防ぐことができる。
また、ローカル時計とタイムスタンプ処理装置が接続されている間は、時刻監査証明書が有効なため、タイムスタンプ処理装置への電源供給が切れても、電源再供給後に時刻監査証明書の有効期間内であれば、引き続きタイムスタンプを発行できる。
また、ローカル時計を着脱可能にすることにより、メンテナンスが容易になり、また、経済的であるとともに、時刻精度を保証することができる。そして、ローカル時計の交換タイミング、すなわち、ラベルがなくなる数日前になったとき、時刻比較でエラーとったとき、時刻監査時により時刻のずれが許容範囲外となったときにエラーを出力することができる。
【００７７】
［第２の実施形態］
次に、本発明の第２の実施形態について、第１の実施形態との差分を説明する。第２の実施形態では、時刻監査要求に時刻Ａと時刻Ｂとを、所定回数毎、あるいは、所定の時間毎に交互に用い、ローカル時計識別番号確認を行わない。これは、時刻監査要求に時刻Ａと時刻Ｂを、タイムスタンプ用時刻、タイムスタンプ用時刻の確認用時刻として入れ替えて使用することにより、両者について時刻監査を受けることになるため、時刻Ａと時刻Ｂとも正しい時刻であることを保証できるからである。
【００７８】
図２３は、本実施形態によるタイムスタンプ装置１０の機能ブロック図を示す。本実施形態のタイムスタンプ装置１０のタイムスタンプ処理部５４は第１の実施形態のタイムスタンプ処理部３０におけるローカル時計識別番号確認手段３４を有さない点が第１の実施形態と異なる。
【００７９】
図２４に、本実施形態によるローカル時計部２０の暗号化時刻ラベル保持手段２６ａが保持するデータの例を示す。なお、暗号化時刻ラベル保持手段２６ｂも同様のデータを保持する。同図に示すように、本実施の形態の暗号化時刻ラベル保持手段２６ａ、２６ｂは、時刻の情報を示す時刻ラベルと、当該時刻ラベルに対応した暗号化時刻ラベルと、残日数ラベルとを対応付けた情報を保持している。
また、図２５に本実施形態によるタイムスタンプ処理部５４の暗号化時刻ラベル保持手段３３ａが保持するデータの例を示す。なお、暗号化時刻ラベル保持手段３３ｂも同様のデータを保持する。同図に示すように、本実施の形態の暗号化時刻ラベル保持手段３３ａ、３３ｂは、暗号化時刻ラベルと、当該暗号化時刻ラベルを復号化した後の時刻を示す復号化時刻ラベルを対応付けた情報を保持している。
【００８０】
本実施形態においては、図８のステップＳ３０２において読み出され、ステップＳ３０４において送信される送信データには、時刻Ａに対応した暗号化時刻ラベルＡ、残日数ラベルＡの情報が含まれる。そして、図９のステップＳ４０５、図１５に示す時計識別確認処理は実行しない。
また、時刻Ａまたは時刻Ｂのいずれかを常にタイムスタンプ用の時刻とするようにしてもよい。
本実施の形態によれば、第１の実施形態と比較して処理が簡易となる。
【００８１】
［第３の実施形態］
次に、本発明の第３の実施形態について、第１及び第２の実施形態との差分を説明する。
図２６に、本実施形態によるタイムスタンプ装置１０の機能ブロック図を示す。本実施形態のタイムスタンプ装置１０は、ローカル時計部２０を有せず、タイムスタンプ処理部５５に、タイムスタンプ処理部３０の信号受信手段３１、復号化手段３２、及び、暗号化時刻ラベル保持手段３３ａ、３３ｂの代わりに、ローカル時計部２０の発振手段２３ａ、２３ｂ及び時刻制御手段２４ａ、２４ｂを設け、時刻制御手段２４ａが発振手段２３ａからの発振信号Ａを用いて生成する時刻Ａを時刻Ａ保持手段２５ａに保持し、時刻制御手段２４ｂが発振手段２３ｂからの発振信号Ｂを用いて生成する時刻Ｂを時刻Ｂ保持手段２５ｂに保持する点と、時刻監査制御手段３７が取得した時刻監査証明書に基づいて、時刻Ａ、時刻Ｂを補正する点が第１及び第２の実施形態と異なる。また、ローカル時計部２０を持たないため、ローカル時計識別番号確認手段３４も有せず、時計正常フラグＮ０、Ｅ０は使用しない。
【００８２】
具体的には、図６のステップＳ１０１においては、タイムスタンプ処理部５５に時刻Ａ及び時刻Ｂの初期設定を行い（初期設定済みを示すフラグは使用しない）、Ｓ１０２においては、一定周期（例えば、１秒毎）に、時刻制御手段２４ａが発振手段２３ａからの発振信号Ａを用いて生成する時刻Ａを時刻Ａ保持手段２５ａへ保持し、時刻制御手段２４ｂが発振手段２３ｂからの発振信号Ｂを用いて生成する時刻Ｂを時刻Ｂ保持手段２５ｂに保持する。そして、ステップＳ１１１は実行しない。
【００８３】
また、ステップＳ１２１（図１１）において、タイムスタンプ処理部５５の時刻監査制御手段３７は、時刻監査証明書を受信すると、当該時刻監査証明書により示される時刻のずれによって、時刻Ａ保持手段２５ａに保持される時刻Ａ及び時刻Ｂ保持手段２５ｂに保持される時刻Ｂを補正する。具体的な処理を以下に示す。
【００８４】
図２７は、本実施形態による時刻監査処理の詳細なフローであり、図１１に示す第１の実施形態による時刻監査処理に換えて実行される。図２７に示すステップＳ１１０１〜ステップＳ１１１３までの処理は、図１１のステップＳ６０１〜ステップＳ６１３までの処理と同様である。そして、ステップＳ１１１０、あるいは、ステップＳ１１１３の後、時刻補正処理を行う（ステップＳ１１１４）。
【００８５】
図２８は、図２７のステップＳ１１１４における時刻補正処理の詳細なフローである。ここでは、時刻Ａについての時刻監査証明書を受信した場合について説明する。
同図において、時刻監査制御手段３７は、受信した時刻監査証明書内より時刻Ａの監査時刻誤差であるＯｆｆｓｅｔＡを取得する（ステップＳ１２０１）。さらに、時刻監査制御手段３７は、時刻監査証明書内の監査時刻と、時刻Ａ保持手段２５ａに保持されている時刻Ａの情報と、時刻Ｂ一時保持手段２５ｂに保持されて入る時刻Ｂの情報とから、時刻Ｂの当該時刻監査証明書に対する時刻誤差であるＯｆｆｓｅｔＢを計算する（ステップＳ１２０２）。時刻制御手段２４ａは、時刻Ａ一時保持手段２５ａから時刻Ａを取得し、次の発振立ち上がりのタイミングで取得した時刻Ａ＋１＋ＯｆｆｓｅｔＡを新たな時刻Ａとして時刻Ａ一時保持手段２５ａに設定する（ステップＳ１２０３）。同様に、時刻制御手段２４ｂは、時刻Ｂ一時保持手段２５ｂから時刻Ｂを取得し、次の発振立ち上がりのタイミングで取得した時刻Ｂ＋１＋ＯｆｆｓｅｔＢを新たな時刻Ｂとして時刻Ｂ一時保持手段２５ｂに設定する（ステップＳ１２０４）。
【００８６】
上記では時刻Ａについての時刻監査証明書を受信した場合の時刻補正処理について説明したが、時刻Ｂについての時刻監査証明書を受信した場合の時刻補正処理についても同様である。時刻Ｂについての時刻監査証明書を受信した場合の時刻補正処理の場合、時刻制御手段２４ａ、時刻Ａ一時保持手段２５ａ、時刻Ａ保持手段３５ａ、時刻Ａ、ＯｆｆｓｅｔＡと、時刻制御手段２４ｂ、時刻Ｂ一時保持手段２５ｂと、時刻Ｂ保持手段３５ｂ、時刻Ｂ、ＯｆｆｓｅｔＢとをそれぞれ入れ替えればよい。
【００８７】
上記により、簡易な構成のタイムスタンプ装置が実現できるとともに、監査後の時計が大幅にずれることにより望ましくないタイムスタンプが発行され続けることを防ぐために、２つの時計の時刻によりチェックを行うことで、不正なタイムスタンプの発行が行われないようにすることができる。加えて、時刻監査によって時刻の補正を行うことも可能である。よって、改ざんした時刻によるタイムスタンプが発行されるのを防ぐとともに、正確な時刻によるタイムスタンプの生成が可能となる。
【図面の簡単な説明】
【００８８】
【図１】本発明の第１の実施形態によるタイムスタンプシステムの構成を示す図である。
【図２】同実施形態によるタイムスタンプ装置の機能ブロック図である。
【図３】同実施形態によるローカル時計部の暗号化時刻ラベル保持手段が保持するデータの例を示す図である。
【図４】同実施形態によるタイムスタンプ処理部の暗号化時刻ラベル保持手段が保持するデータの例を示す図である。
【図５】同実施形態によるタイムスタンプ発行制御手段が保持するタイムスタンプ制御フラグの例を示す図である。
【図６】同実施形態によるタイムスタンプ装置の概要処理フローを示す図である。
【図７】同実施形態によるタイムスタンプ装置の時刻初期設定処理フローを示す図である。
【図８】同実施形態によるタイムスタンプ装置の時刻生成送信処理フローを示す図である。
【図９】同実施形態によるタイムスタンプ装置の時刻設定処理フローを示す図である。
【図１０】同実施形態によるタイムスタンプ装置の時刻比較処理フローを示す図である。
【図１１】同実施形態によるタイムスタンプ装置の時刻監査処理フローを示す図である。
【図１２】同実施形態によるタイムスタンプ装置の時刻監査証有効期限チェック処理フローを示す図である。
【図１３】同実施形態によるタイムスタンプ装置のタイムスタンプ発行処理フローを示す図である。
【図１４】同実施形態によるタイムスタンプ装置の時刻監査証有無確認処理フローを示す図である。
【図１５】同実施形態によるタイムスタンプ装置の時計識別確認処理フローを示す図である。
【図１６】同実施形態によるローカル時計部のハードウェア構成例を示す図である。
【図１７】同実施形態によるローカル時計部のハードウェア構成例を示す図である。
【図１８】同実施形態によるタイムスタンプ処理部のハードウェア構成例を示す図である。
【図１９】同実施形態によるタイムスタンプ装置のハードウェア構成例を示す図である。
【図２０】同実施形態による耐タンパローカル時計の構成例を示す図である。
【図２１】図２０に示す耐タンパローカル時計のモジュール構成図である。
【図２２】図２０に示す耐タンパローカル時計の不正操作検出を説明する図である。
【図２３】第２の実施形態によるタイムスタンプ装置の機能ブロック図である。
【図２４】同実施形態によるローカル時計部の暗号化時刻ラベル保持手段が保持するデータの例を示す図である。
【図２５】同実施形態によるタイムスタンプ処理部の暗号化時刻ラベル保持手段が保持するデータの例を示す図である。
【図２６】第３の実施形態によるタイムスタンプ装置の機能ブロック図である。
【図２７】同実施形態によるタイムスタンプ装置の時刻監査処理フローを示す図である。
【図２８】同実施形態によるタイムスタンプ装置の時刻補正処理フローを示す図である。
【符号の説明】
【００８９】
１０…タイムスタンプ装置
２０…ローカル時計部
２１…時刻設定手段
２２ａ，２２ｂ…独立電源手段
２３ａ，２３ｂ…発振手段（第１の発振部、第２の発振部）
２４ａ，２４ｂ…時刻制御手段（第１の時刻制御部、第２の時刻制御部）
２５ａ…時刻Ａ一時保持手段
２５ｂ…時刻Ｂ一時保持手段
２６ａ，２６ｂ…暗号化時刻ラベル保持手段
２７…信号送信手段（信号送信部）
３０、５４、５５…タイムスタンプ処理部
３１…信号受信手段
３２…復号化手段（時刻取得部）
３３ａ，３３ｂ…暗号化時刻ラベル保持手段（第１の暗号化時刻保持部、第２の暗号化時刻保持部）
３４…ローカル時計識別番号確認手段
３５ａ…時刻Ａ保持手段
３５ｂ…時刻Ｂ保持手段
３６…タイムスタンプ発行制御手段
３７…時刻監査制御手段（時刻監査制御部）
３８…署名鍵・証明書保持手段
３９…時刻監査証明書保持手段
４０…時刻比較手段
４１…タイムスタンプ作成手段（タイムスタンプ作成部）
４２…署名手段
４３…タイムスタンプ時刻確認手段
５０…通信手段
５１…タイムスタンプ受付／出力手段
５２…表示手段
７０…時刻監査局システム
８０…クライアント端末
【図１】
2009188608.tif 000003
【図２】
2009188608.tif 000004
【図３】
2009188608.tif 000005
【図４】
2009188608.tif 000006
【図５】
2009188608.tif 000007
【図６】
2009188608.tif 000008
【図７】
2009188608.tif 000009
【図８】
2009188608.tif 000010
【図９】
2009188608.tif 000011
【図１０】
2009188608.tif 000012
【図１１】
2009188608.tif 000013
【図１２】
2009188608.tif 000014
【図１３】
2009188608.tif 000015
【図１４】
2009188608.tif 000016
【図１５】
2009188608.tif 000017
【図１６】
2009188608.tif 000018
【図１７】
2009188608.tif 000019
【図１８】
2009188608.tif 000020
【図１９】
2009188608.tif 000021
【図２０】
2009188608.tif 000022
【図２１】
2009188608.tif 000023
【図２２】
2009188608.tif 000024
【図２３】
2009188608.tif 000025
【図２４】
2009188608.tif 000026
【図２５】
2009188608.tif 000027
【図２６】
2009188608.tif 000028
【図２７】
2009188608.tif 000029
【図２８】
2009188608.tif 000030