(57)【要約】【課題】時刻認証サーバに接続できない場合でも内蔵時計に基づいて信頼性の高い時刻認証を行う。【解決手段】時刻認証装置１は、モバイル端末１０がネットワークを介して時刻認証サーバ２と通信可能であると判断すると、時刻認証対象ファイルに対する時刻証明書を時刻認証サーバ２から取得し、通信不能であると判断すると、モバイル端末１０の計時部１１２から取得した時刻に基づいて時刻証明書を発行する。さらに、時刻証明書の発行順序を保証するために、時刻認証装置１は、一つ前に受け付けた時刻認証対象ファイルに対して発行された合成時刻証明書と、今回発行した時刻証明書とに基づいて新たな合成時刻証明書を発行する。【選択図】図３
2008235970.tif 000002
【特許請求の範囲】
【請求項１】
時刻認証サーバと通信可能な端末に装着される時刻認証装置を備える時刻認証システムであって、
前記時刻認証サーバは、
受信した電子データに対して標準時刻情報に基づいて時刻証明書を発行する標準時刻証明書発行手段を備え、
前記時刻認証装置は、
前記端末から、電子データに対する時刻認証要求、および該電子データを受信する時刻認証要求受信手段と、
前記端末が前記時刻認証サーバと通信可能であるか否かを判断する通信判断手段と、
前記端末から現在時刻情報を取得する時刻取得手段と、
入力を受け付け、該入力のハッシュ値を前記時刻認証サーバへと送信し、該入力のハッシュ値に対し、標準時刻情報に基づいた時刻証明書を前記標準時刻証明書発行手段から受信する外部時刻証明書発行手段と、
入力を受け付け、該入力のハッシュ値に対し、前記時刻取得手段が取得した時刻に基づいて時刻証明書を発行する内部時刻証明書発行手段と、
入力を受け付け、前記通信判断手段によって前記端末は前記時刻認証サーバと通信可能であると判断された場合、該入力を前記外部時刻証明書発行手段への入力となるように出力して前記外部時刻証明書発行手段に時刻証明書を発行させ、前記通信判断手段によって前記端末は前記時刻認証サーバと通信不能であると判断された場合、該入力を前記内部時刻証明書発行手段への入力となるように出力して前記内部時刻証明書発行手段に時刻証明書を発行させる時刻証明書発行手段と、
入力を受け付け、該入力を前記時刻証明書発行手段への入力となるように出力して前記時刻証明書発行手段に第１の時刻証明書を発行させ、発行された該第１の時刻証明書と、前回受け付けられた入力に対して発行された第２の時刻証明書とを、前記時刻証明書発行手段に入力して前記時刻証明書発行手段に第２の時刻証明書を発行させる時刻認証手段と、
前記時刻認証要求受信手段の受信した電子データを取得し、前記時刻認証手段の入力となるように出力して前記時刻認証手段に前記第１の時刻証明書および第２の時刻証明書を発行させる時刻認証制御手段と、
を備える、
ことを特徴とする時刻認証システム。
【請求項２】
前記時刻認証制御手段は、前記時刻認証要求受信手段が所定の期間時刻認証要求を受信しなかった場合、前記時刻認証手段に第１の時刻証明書および第２の時刻証明書を発行させる、
ことを特徴とする請求項１に記載の時刻認証システム。
【請求項３】
前記時刻認証サーバは、前記時刻認証装置を特定する識別情報と、該識別情報の有効性を示すフラグとを対応付けて記憶する識別情報記憶手段を備え、
前記識別情報記憶手段は、前記識別情報によって特定される前記時刻認証装置を使用するユーザが予め所定の金額を納めた旨の情報を受信すると、該識別情報に対応付けて記憶される前記フラグを所定の期間有効にし、
前記標準時刻証明書発行手段は、受信した前記識別情報と前記識別情報記憶手段に記憶されていると判断し、且つ前記フラグが有効となっていると判断すると、受信した電子データに対して標準時刻情報に基づいて時刻証明書を発行する、
ことを特徴とする請求項１に記載の時刻認証システム。
【請求項４】
前記時刻認証装置は、前記時刻認証手段が発行したいずれかの第１の時刻証明書の有効期限までの残期間が所定の期間以下であると判断すると、該第１の時刻証明書と、該第１の時刻証明書を発行した際の入力とを併せて、前記時刻認証手段への入力となるように出力して、前記時刻認証手段に第１および第２の時刻証明書を新たに発行させる時刻再認証手段を備える、
ことを特徴とする請求項１に記載の時刻認証システム。
【請求項５】
前記時刻認証装置は、前記通信判断手段が前記端末は前記時刻認証サーバと通信可能であると判断すると、前記時刻認証装置を特定する識別情報と、前記時刻認証制御手段の発行させた第１および第２の時刻証明書とを前記時刻認証サーバに送信する送信手段を備え、
前記時刻認証サーバは、
前記時刻認証装置を特定する識別情報に対応付けて、前記時刻認証装置を使用するユーザのメールアドレスを含むユーザ情報を記憶するユーザ情報記憶手段と、
前記送信手段が送信した前記時刻認証装置を特定する識別情報を受信すると、前記ユーザ情報記憶手段を参照し、該識別情報に対応付けてユーザ情報が登録されていると、前記送信手段が送信した第１および第２の時刻証明書を受信し、受信した第１および第２の時刻証明書を該識別情報に対応付けて記憶する時刻証明書記憶手段と、
前記時刻証明書記憶手段に記憶された、前記第１および第２のいずれかの時刻証明書の有効期限までの残期間が所定の期間以下であると判断されると、該有効期限が近づいている該第１および第２の時刻証明書を発行させた前記時刻認証制御手段を有する時刻認証装置を識別する該識別情報に対応付けて前記ユーザ情報記憶手段に登録されているユーザのメールアドレスに、対処を促す旨の通知メールを送信するメール送信手段と、
を備える、
ことを特徴とする請求項１に記載の時刻認証システム。
【請求項６】
電子データに対して時刻証明書を発行する時刻認証サーバと通信可能な端末に装着される時刻認証装置であって、
前記時刻認証装置は、
前記端末から、電子データに対する時刻認証要求、および該電子データを受信する時刻認証要求受信手段と、
前記端末が前記時刻認証サーバと通信可能であるか否かを判断する通信判断手段と、
前記端末から現在時刻情報を取得する時刻取得手段と、
入力を受け付け、該入力のハッシュ値を前記時刻認証サーバへと送信し、該入力のハッシュ値に対し、標準時刻情報に基づいた時刻証明書を前記時刻認証サーバから受信する、外部時刻証明書発行手段と、
入力を受け付け、該入力のハッシュ値に対し、前記時刻取得手段が取得した時刻に基づいて時刻証明書を発行する、内部時刻証明書発行手段と、
入力を受け付け、前記通信判断手段によって前記端末は前記時刻認証サーバと通信可能であると判断された場合、該入力を前記外部時刻証明書発行手段への入力となるように出力し、前記外部時刻証明書発行手段に時刻証明書を発行させ、前記通信判断手段によって前記端末は前記時刻認証サーバと通信不能であると判断された場合、該入力を前記内部時刻証明書発行手段への入力となるように出力し、前記内部時刻証明書発行手段に時刻証明書を発行させる、時刻証明書発行手段と、
入力を受け付け、該入力を前記時刻証明書発行手段への入力となるように出力し、前記時刻証明書発行手段に第１の時刻証明書を発行させ、発行された該第１の時刻証明書と、前回受け付けられた入力に対して発行された第２の時刻証明書とを、前記時刻証明書発行手段に入力し、前記時刻証明書発行手段に第２の時刻証明書を発行させる時刻認証手段と、
前記時刻認証要求受信手段の受信した電子データを取得し、前記時刻認証手段の入力となるように出力し、前記時刻認証手段に第１の時刻証明書および第２の時刻証明書を発行させる、時刻認証制御手段と、
を備えることを特徴とする時刻認証装置。  
【請求項７】
時刻認証サーバにネットワークを介して接続されたコンピュータを、
電子データに対する時刻認証要求、および該電子データを受信する時刻認証要求受信手段、
時刻認証サーバと通信可能であるか否かを判断する通信判断手段、
現在時刻情報を取得する時刻取得手段、
入力を受け付け、該入力のハッシュ値を前記時刻認証サーバへと送信し、該入力のハッシュ値に対し、標準時刻情報に基づいた時刻証明書を前記時刻認証サーバから受信する、外部時刻証明書発行手段、
入力を受け付け、該入力のハッシュ値に対し、前記時刻取得手段が取得した時刻に基づいて時刻証明書を発行する、内部時刻証明書発行手段、
入力を受け付け、前記通信判断手段によって前記端末は前記時刻認証サーバと通信可能であると判断された場合、該入力を前記外部時刻証明書発行手段への入力となるように出力し、前記外部時刻証明書発行手段に時刻証明書を発行させ、前記通信判断手段によって前記端末は前記時刻認証サーバと通信不能であると判断された場合、該入力を前記内部時刻証明書発行手段への入力となるように出力し、前記内部時刻証明書発行手段に時刻証明書を発行させる、時刻証明書発行手段、
入力を受け付け、該入力を前記時刻証明書発行手段への入力となるように出力し、前記時刻証明書発行手段に第１の時刻証明書を発行させ、発行された該第１の時刻証明書と、前回受け付けられた入力に対して発行された第２の時刻証明書とを前記時刻証明書発行手段に入力し、前記時刻証明書発行手段に第２の時刻証明書を発行させる時刻認証手段、
前記時刻認証要求受信手段の受信した電子データを取得し、前記時刻認証手段の入力となるように出力し、前記時刻認証手段に第１の時刻証明書および第２の時刻証明書を発行させる、時刻認証制御手段、
として機能させる時刻認証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内蔵タイマによって付与した時刻の証拠能力を向上する時刻認証システム等に関する。
【背景技術】
【０００２】
モバイル端末などは、ネットワークに接続できない環境で利用される場合があるため、外部時刻認証機関による電子データの時刻認証サービス（タイムスタンプの付与サービス）を常に受けられるとは限らない。
一方、外部時刻認証機関を利用せずにローカルな環境において電子データに対して時刻認証を行う技術が、例えば特許文献１に開示されている。特許文献１によれば、タイムサーバに接続し、ローカルな環境における時刻を更正した上で、認証時刻の順序の真正性を確保することにより、外部時刻認証機関を利用しない時刻認証方法の信頼性向上を図っている。しかし、外部時刻認証機関を利用しないため、認証時刻の正当性を証明することはできない。
【特許文献１】特開２００４−２６０６６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は上記実状を鑑みてなされたものであり、外部時刻認証機関を利用できない場合にも、時刻認証の証拠能力を向上する時刻認証システム等を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記目的を達成するため、本発明の第１の観点に係る時刻認証システムは、
時刻認証サーバと通信可能な端末に装着される時刻認証装置を備える時刻認証システムであって、
前記時刻認証サーバは、
受信した電子データに対して標準時刻情報に基づいて時刻証明書を発行する標準時刻証明書発行手段を備え、
前記時刻認証装置は、
前記端末から、電子データに対する時刻認証要求、および該電子データを受信する時刻認証要求受信手段と、
前記端末が前記時刻認証サーバと通信可能であるか否かを判断する通信判断手段と、
前記端末から現在時刻情報を取得する時刻取得手段と、
入力を受け付け、該入力のハッシュ値を前記時刻認証サーバへと送信し、該入力のハッシュ値に対し、標準時刻情報に基づいた時刻証明書を前記標準時刻証明書発行手段から受信する外部時刻証明書発行手段と、
入力を受け付け、該入力のハッシュ値に対し、前記時刻取得手段が取得した時刻に基づいて時刻証明書を発行する内部時刻証明書発行手段と、
入力を受け付け、前記通信判断手段によって前記端末は前記時刻認証サーバと通信可能であると判断された場合、該入力を前記外部時刻証明書発行手段への入力となるように出力して前記外部時刻証明書発行手段に時刻証明書を発行させ、前記通信判断手段によって前記端末は前記時刻認証サーバと通信不能であると判断された場合、該入力を前記内部時刻証明書発行手段への入力となるように出力して前記内部時刻証明書発行手段に時刻証明書を発行させる時刻証明書発行手段と、
入力を受け付け、該入力を前記時刻証明書発行手段への入力となるように出力して前記時刻証明書発行手段に第１の時刻証明書を発行させ、発行された該第１の時刻証明書と、前回受け付けられた入力に対して発行された第２の時刻証明書とを、前記時刻証明書発行手段に入力して前記時刻証明書発行手段に第２の時刻証明書を発行させる時刻認証手段と、
前記時刻認証要求受信手段の受信した電子データを取得し、前記時刻認証手段の入力となるように出力して前記時刻認証手段に第１の時刻証明書および第２の時刻証明書を発行させる時刻認証制御手段と、
を備える。
【０００５】
また、本発明の第１の観点に係る時刻認証システムにおいて、
前記時刻認証制御手段は、前記時刻認証要求受信手段が所定の期間時刻認証要求を受信しなかった場合、前記時刻認証手段に第１の時刻証明書および第２の時刻証明書を発行させる、
ようにしてもよい。
【０００６】
また、本発明の第１の観点に係る時刻認証システムにおいて、
前記時刻認証サーバは、前記時刻認証装置を特定する識別情報と、該識別情報の有効性を示すフラグとを対応付けて記憶する識別情報記憶手段を備え、
前記識別情報記憶手段は、前記識別情報によって特定される前記時刻認証装置を使用するユーザが予め所定の金額を納めた旨の情報を受信すると、該識別情報に対応付けて記憶される前記フラグを所定の期間有効にし、
前記標準時刻証明書発行手段は、受信した前記識別情報と前記識別情報記憶手段に記憶されていると判断し、且つ前記フラグが有効となっていると判断すると、受信した電子データに対して標準時刻情報に基づいて時刻証明書を発行する、
ようにしてもよい。
【０００７】
また、本発明の第１の観点に係る時刻認証システムにおいて、
前記時刻認証装置は、前記時刻認証手段が発行したいずれかの第１の時刻証明書の有効期限までの残期間が所定の期間以下であると判断すると、該第１の時刻証明書と、該第１の時刻証明書を発行した際の入力とを併せて、前記時刻認証手段への入力となるように出力して、前記時刻認証手段に第１および第２の時刻証明書を新たに発行させる再時刻認証手段を備える、
ようにしてもよい。
【０００８】
また、本発明の第１の観点に係る時刻認証システムにおいて、
前記時刻認証装置は、前記通信判断手段が前記端末は前記時刻認証サーバと通信可能であると判断すると、前記時刻認証装置を特定する識別情報と、前記時刻認証制御手段の発行させた第１および第２の時刻証明書とを前記時刻認証サーバに送信する送信手段を備え、
前記時刻認証サーバは、
前記時刻認証装置を特定する識別情報に対応付けて、前記時刻認証装置を使用するユーザのメールアドレスを含むユーザ情報を記憶するユーザ情報記憶手段と、
前記送信手段が送信した前記時刻認証装置を特定する識別情報を受信すると、前記ユーザ情報記憶手段を参照し、該識別情報に対応付けてユーザ情報が登録されていると、前記送信手段が送信した第１および第２の時刻証明書を受信し、受信した第１および第２の時刻証明書を該識別情報に対応付けて記憶する時刻証明書記憶手段と、
前記時刻証明書記憶手段に記憶された、前記第１および第２のいずれかの時刻証明書の有効期限までの残期間が所定の期間以下であると判断されると、該有効期限が近づいている該第１および第２の時刻証明書を発行させた前記時刻認証制御手段を有する時刻認証装置を識別する該識別情報に対応付けて前記ユーザ情報記憶手段に登録されているユーザのメールアドレスに、対処を促す旨の通知メールを送信するメール送信手段と、
を備える、
ようにしてもよい。
【０００９】
さらに、本発明の第２の観点に係る時刻認証装置は、
電子データに対して時刻証明書を発行する時刻認証サーバと通信可能な端末に装着される時刻認証装置であって、
前記時刻認証装置は、
前記端末から、電子データに対する時刻認証要求、および該電子データを受信する時刻認証要求受信手段と、
前記端末が前記時刻認証サーバと通信可能であるか否かを判断する通信判断手段と、
前記端末から現在時刻情報を取得する時刻取得手段と、
入力を受け付け、該入力のハッシュ値を前記時刻認証サーバへと送信し、該入力のハッシュ値に対し、標準時刻情報に基づいた時刻証明書を前記時刻認証サーバから受信する、外部時刻証明書発行手段と、
入力を受け付け、該入力のハッシュ値に対し、前記時刻取得手段が取得した時刻に基づいて時刻証明書を発行する、内部時刻証明書発行手段と、
入力を受け付け、前記通信判断手段によって前記端末は前記時刻認証サーバと通信可能であると判断された場合、該入力を前記外部時刻証明書発行手段への入力となるように出力し、前記外部時刻証明書発行手段に時刻証明書を発行させ、前記通信判断手段によって前記端末は前記時刻認証サーバと通信不能であると判断された場合、該入力を前記内部時刻証明書発行手段への入力となるように出力し、前記内部時刻証明書発行手段に時刻証明書を発行させる、時刻証明書発行手段と、
入力を受け付け、該入力を前記時刻証明書発行手段への入力となるように出力し、前記時刻証明書発行手段に第１の時刻証明書を発行させ、発行された該第１の時刻証明書と、前回受け付けられた入力に対して発行された第２の時刻証明書とを、前記時刻証明書発行手段に入力し、前記時刻証明書発行手段に第２の時刻証明書を発行させる時刻認証手段と、
前記時刻認証要求受信手段の受信した電子データを取得し、前記時刻認証手段の入力となるように出力し、前記時刻認証手段に第１の時刻証明書および第２の時刻証明書を発行させる、時刻認証制御手段と、
を備える。  
【００１０】
さらに、本発明の第３の観点に係る時刻認証プログラムは、
時刻認証サーバにネットワークを介して接続されたコンピュータを、
電子データに対する時刻認証要求、および該電子データを受信する時刻認証要求受信手段、
時刻認証サーバと通信可能であるか否かを判断する通信判断手段、
現在時刻情報を取得する時刻取得手段、
入力を受け付け、該入力のハッシュ値を前記時刻認証サーバへと送信し、該入力のハッシュ値に対し、標準時刻情報に基づいた時刻証明書を前記時刻認証サーバから受信する、外部時刻証明書発行手段、
入力を受け付け、該入力のハッシュ値に対し、前記時刻取得手段が取得した時刻に基づいて時刻証明書を発行する、内部時刻証明書発行手段、
入力を受け付け、前記通信判断手段によって前記端末は前記時刻認証サーバと通信可能であると判断された場合、該入力を前記外部時刻証明書発行手段への入力となるように出力し、前記外部時刻証明書発行手段に時刻証明書を発行させ、前記通信判断手段によって前記端末は前記時刻認証サーバと通信不能であると判断された場合、該入力を前記内部時刻証明書発行手段への入力となるように出力し、前記内部時刻証明書発行手段に時刻証明書を発行させる、時刻証明書発行手段、
入力を受け付け、該入力を前記時刻証明書発行手段への入力となるように出力し、前記時刻証明書発行手段に第１の時刻証明書を発行させ、発行された該第１の時刻証明書と、前回受け付けられた入力に対して発行された第２の時刻証明書とを前記時刻証明書発行手段に入力し、前記時刻証明書発行手段に第２の時刻証明書を発行させる時刻認証手段、
前記時刻認証要求受信手段の受信した電子データを取得し、前記時刻認証手段の入力となるように出力し、前記時刻認証手段に第１の時刻証明書および第２の時刻証明書を発行させる、時刻認証制御手段、
として機能させる。  
【発明の効果】
【００１１】
本発明によれば、内蔵時計の計時する時刻情報に基づいて付与したタイムスタンプの証拠能力を向上することが可能となる。
【発明を実施するための最良の形態】
【００１２】
図１に本発明の実施の形態に係るシステムの構成例を示す。図１に示すように本システムは、時刻認証サーバ２がネットワーク３に接続されている。そして、モバイル端末（ＰＣ）１０は、状況によってネットワーク３を介して時刻認証サーバ２に接続される構成となっている。すなわち、本実施の形態においてはモバイル端末１０は、常にネットワーク３に接続できるとは限らず、例えば無線通信用のアクセスポイントに電波が届かない環境で利用される場合があることを想定している。モバイル端末１０には時刻認証装置１が接続されている。
【００１３】
以下、各構成要素について詳しく説明する。
【００１４】
図１に示す時刻認証サーバ２は、時刻証明書の発行を行う日本時刻認証機構などの第三者機関に設置されるサーバである。
図２に示すように、時刻認証サーバ２は、制御部２１０、記憶部２１１、ネットワーク通信部２１４、表示部２１５、入力部２１６、バス２１９、を備える。
【００１５】
制御部２１０は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等から構成されており、時刻認証サーバ２全体の制御を行う。具体的には、ＣＰＵがＲＯＭや後述の記憶部２１１に記憶されているプログラムを実行することによって、後述の認証ＤＢ２１１０に登録されるＩＤを有する時刻認証装置１からの要求に応じて、時刻認証関連処理を行う。ここで、時刻認証関連処理とは、例えば、後述の時刻認証処理（タイムスタンプの発行）や、検証処理を意味する。また、時刻認証サーバ２はタイムサーバ機能も有しており、要求に応じて標準時刻を提供する標準時刻証明書発行手段としての機能を有する。この制御・演算処理の際、制御部２１０はＲＡＭに各種データを一時的に記憶し、作業領域として使用する。
なお、時刻認証サーバ２の詳しい動作フローについては、時刻認証装置１の動作説明とともに後述する。
【００１６】
記憶部２１１はハードディスクなどの記憶装置から構成され、制御部２１０が、所定の時刻認証関連処理などを行うために必要なデータやプログラムを記憶する。
また、時刻認証サーバ２が時刻認証サービスを提供する時刻認証装置１を識別するための情報を記憶する認証ＤＢ２１１０を備える。これは識別情報記憶手段としての機能を有する。この他にも、記憶部２１１は、時刻認証装置１のデータを記憶するバックアップＤＢ２１１１を備える。
【００１７】
認証ＤＢ２１１０は、図４（Ａ）に示すように、各レコードに、利用権限ＩＤに対応付けて、パスワード、ユーザ名、ユーザメールアドレス、を記憶する。利用権限ＩＤは、時刻認証サーバ２が時刻認証サービスを提供する時刻認証装置１を識別するためのＩＤである。パスワードは、該ＩＤのパスワードである。ユーザ名は、時刻認証装置１を利用しているユーザの名前である。ユーザメールアドレスは、該ユーザのメールアドレスである。
【００１８】
バックアップＤＢ２１１１は、時刻認証装置１に記憶されるデータベースの内容を記憶する。よって、図４（Ｂ）に示すように、各レコードには、時刻認証装置１の利用権限ＩＤに対応付けて、タイムスタンプデータ、更新タイムスタンプデータなどのフィールドを記憶する。タイムスタンプデータは、後述する時刻認証装置１が発行、または取得したタイムスタンプ情報のコピーを記憶する領域へのポインタを保持する。更新タイムスタンプデータは、時刻認証装置１が発行、または取得したタイムスタンプ情報のうち、更新されたもののコピーを記憶する領域へのポインタが保持される。タイムスタンプの発行、取得、更新については、時刻認証装置１の動作説明の部分にて詳述する。
【００１９】
ネットワーク通信部２１４は、ＮＩＣ（Network Interface Card）等から構成され、通信ネットワークに接続するためのインタフェースを備える。そして、ネットワークとの間で、ＴＣＰ／ＩＰプロトコル等に基づく通信を行う。ネットワーク通信部２１４は、例えばモデム装置や赤外線通信装置等を含んでいてもよい。
【００２０】
さらに、時刻認証サーバ２はメンテナンスなどのために、表示部２１５、および入力部２１６を備えている。表示部２１５は様々な情報を表示するための液晶モニタなどの表示装置から構成されており、入力部２１６は、様々な情報を入力するための、キーボード、マウス等の入力装置を備える。
【００２１】
バス２１９は、制御部２１０、記憶部２１１、ネットワーク通信部２１４、表示部２１５、および入力部２１６との間で種々の命令やデータを転送するための伝送経路である。
【００２２】
次にモバイル端末１０の構成例を図３を参照して説明する。モバイル端末１０は基本的なパソコンの構成を有しており、制御部１１０、記憶部１１１、計時部１１２、通信部１１３、ネットワーク通信部１１４、表示部１１５、入力部１１６、バス１１９、を備える。
【００２３】
制御部１１０は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等から構成されており、モバイル端末１０全体の制御を行う。具体的には、ＣＰＵがＲＯＭや後述の記憶部１１１に記憶されているプログラムを実行することによって制御・演算処理を行う。この制御・演算処理の際、制御部１１０はＲＡＭに各種データを一時的に記憶し、作業領域として使用する。
【００２４】
記憶部１１１はハードディスクなどの記憶装置から構成され、制御部１１０が、所定の処理を行うために必要なデータやプログラムを記憶する。
【００２５】
計時部１１２は、発振回路などを備え、現在時刻を計時する。
【００２６】
通信部１１３は、制御部１１０が外部機器と通信を行うための通信インタフェース回路である。例えば制御部１１０は、通信部１１３を介して時刻認証を行うためのデータを時刻認証装置１に送信したり、時刻認証装置１が発行したタイムスタンプを受信したりする。
【００２７】
ネットワーク通信部１１４は、ＮＩＣ（Network Interface Card）等から構成され、通信ネットワークに接続するためのインタフェースを備え、ネットワークとの間で、ＴＣＰ／ＩＰプロトコル等に基づく通信を行う。ネットワーク通信部１１４は、例えばモデム装置や赤外線通信装置等を含んでいてもよい。
【００２８】
表示部１１５は様々な情報を表示するためのものであり、液晶モニタなどの表示装置から構成されている。
【００２９】
入力部１１６は、様々な情報を入力するために使用されるものであり、キーボード、マウス等の入力装置を備える。
【００３０】
バス１１９は、制御部１１０、記憶部１１１、計時部１１２、通信部１１３、ネットワーク通信部１１４、表示部１１５、および入力部１１６との間で種々の命令やデータを転送するための伝送経路である。
【００３１】
次に時刻認証装置１の構成について、同じく図３を参照して説明する。
図３に示すように、時刻認証装置１は、制御部１００、記憶部１０１、通信部１０３、バス１０９、を備える。
【００３２】
制御部１００は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等から構成されており、時刻認証装置１の全体の制御を行う。具体的には、ＣＰＵがＲＯＭや後述の記憶部１０１に記憶されているプログラムを実行することによって制御・演算処理を行う。この制御・演算処理の際、制御部１００はＲＡＭに各種データを一時的に記憶し、作業領域として使用する。また、制御部１００はモバイル端末１０から電子データに対する時刻認証要求および該電子データを受信する時刻認証要求受信手段、モバイル端末１０から現在時刻情報を取得する時刻取得手段としての機能を実現するための制御・演算処理も行う。
【００３３】
記憶部１０１はフラッシュメモリなどの不揮発性メモリなどから構成され、制御部１００が、所定の時刻認証関連処理（例えば、後述の時刻認証処理（タイムスタンプの発行）や、検証処理）を行うために必要なデータやプログラムを記憶する。また、前述の時刻認証サーバ２の提供する時刻認証処理サービスを利用するための利用権限ＩＤ、およびパスワードを記憶する。さらに、記憶部１０１はこの他にも、図５（Ａ）に示すように、発行したタイムスタンプデータ等を記憶するタイムスタンプＤＢ１０１０を備える。また、図５（Ｂ）に示すように、タイムスタンプを長期保存する更新タイムスタンプＤＢ１０１１も備える。なお、本実施の形態において、所定の処理を行うプログラムやデータは記憶部１０１に記憶されるが、前述のＲＯＭなどに保存されていてもよい。
次に記憶部１０１内に格納されるタイムスタンプＤＢ１０１０および、更新タイムスタンプＤＢ１０１１について述べる。
【００３４】
図５（Ａ）に示すように、タイムスタンプＤＢ１０１０は、各レコードに、時刻認証対象ファイルの存在するファイルパスに関連づけて、タイムスタンプ、タイムスタンプ用公開鍵証明書、合成タイムスタンプ、合成タイムスタンプ用公開鍵証明書、受付順序番号、更新フラグなどのフィールドを備える。ファイルパスは時刻認証対象ファイルの存在する時刻認証装置１内の絶対パス情報を記憶する。ファイルパスは、ディレクトリ名とファイル名からなり、各ディレクトリ名やファイル名は”￥”記号などで区切られる。ファイルパス内の最後の区切り記号以降がファイル名となる。タイムスタンプは、該ファイルのハッシュ値に対するタイムスタンプを保存する。タイムスタンプ用公開鍵証明書は、該タイムスタンプを復号化するための、公開鍵を含む証明書を記憶する。合成タイムスタンプは、該タイムスタンプと、一つ前に発行された合成タイムスタンプとのハッシュ値に対するタイムスタンプを記憶する。合成タイムスタンプ用公開鍵証明書は、該合成タイムスタンプを復号化するための公開鍵を含む公開鍵証明書を記憶する。受付順序番号は、時刻認証処理要求を受け付けた順番を記憶する。更新フラグは、同レコードに記憶されるファイル名を有するファイルが更新されたタイムスタンプファイルであるかどうかを識別するものである。なお、更新タイムスタンプについては、時刻認証装置１による長期保存処理の説明部分にて詳述する。
【００３５】
図５（Ｂ）に示す更新タイムスタンプＤＢ１０１１は、タイムスタンプを更新したファイルを記憶するデータベースである。タイムスタンプには有効期限が存在するため、時刻認証装置１はタイムスタンプが失効するまえに、更新する処理を行う。そして、更新履歴を更新タイムスタンプＤＢ１０１１に記憶する。更新タイムスタンプＤＢ１０１１は、図５（Ｂ）に示すように、時刻認証を受けたファイルのファイルパスに関連づけて、タイムスタンプ、公開鍵証明書、前のファイル、そして、次のファイル、などのフィールドを備える。ファイルパスは、時刻認証を受けたファイルのファイルパスである。タイムスタンプは該ファイルのタイムスタンプである。公開鍵証明書はタイムスタンプの公開鍵証明書である。「前のファイル」は、該ファイルが更新される一つ前のタイムスタンプ情報を有するレコードへのポインタである。「次のファイル」は、該ファイルを更新した更新ファイルに関するタイムスタンプ情報を有するレコードへのポインタである。
【００３６】
通信部１０３は、制御部１００がモバイル端末１０と通信を行うための通信インタフェース回路である。例えば制御部１００は、通信部１０３を介して時刻認証を行うためのデータなどのやり取りをモバイル端末１０と行う。また、制御部１００は、モバイル端末１０が時刻認証サーバ２と通信可能であるか否かを判断する通信判断手段としての機能を実現する。
【００３７】
バス１０９は、制御部１００、記憶部１０１、および通信部１０３、との間で種々の命令やデータを転送するための伝送経路である。
【００３８】
次に、時刻認証装置１の動作について説明する。
【００３９】
モバイル端末１０の記憶部１１１には、時刻認証装置１を補助記憶装置として接続するためのプログラムがインストールされている。これにより、ユーザはモバイル端末１０上のファイル操作用プログラムを操作して、時刻認証装置１の記憶部１０１に記憶されるファイルを操作したり、時刻認証装置１にファイルをコピーしたりすることが可能となる。ただし、時刻認証装置１に対するファイル操作を行った場合、時刻認証装置１は所定の時刻認証関連処理を対象ファイルに行う。
【００４０】
所定の時刻認証関連処理とは、例えば、ファイルを時刻認証装置１にコピーする操作を行うと、時刻認証装置１は、そのファイルを時刻認証装置１の記憶部１０１にコピーするとともに、時刻認証処理（タイムスタンプの発行処理）を行う。また、モバイル端末のファイル操作用プログラムを操作して、時刻認証装置１に記憶されたファイルのプロパティを参照すると、時刻認証装置１は、該ファイルのタイムスタンプ検証処理を行い結果をプロパティとして表示する。時刻認証装置１に記憶されたファイルを削除する操作を行うと、時刻認証装置１は、削除対象ファイルに付与されたタイムスタンプ等も併せて削除する。
なお、モバイル端末１０のファイル操作用プログラムを用いるのではなく、モバイル端末１０に時刻認証用および検証処理用のプログラムをインストールし、これを実行することで、時刻認証装置１に時刻認証および検証処理を行わせてもよい。
【００４１】
さらに、モバイル端末１０には、モバイル端末１０の備える機能（例えば現在時刻の取得など）を時刻認証装置１などの外部装置に提供するためのプログラムがインストールされている。時刻認証装置１からの要求があると、このプログラムがモバイル端末上で起動され、所定の処理を行う。あるいは、このプログラムをバックグランドで起動しておき、常に要求を受け付けられる状態にしてもよい。
【００４２】
（初期化処理）
時刻認証装置１が利用可能な状態となるには、まず、時刻認証装置１が装着された状態で、モバイル端末１０がネットワーク３に１度接続される必要がある。
初めてモバイル端末１０を介してネットワーク３に接続されたことを検知すると、時刻認証装置１の制御部１００は、乱数を発生させる。そして、初期タイムスタンプとして利用するため、この乱数データに対して、タイムスタンプを発行するようモバイル端末１０を介して時刻認証サーバ２へと依頼する。なお、初期タイムスタンプは乱数を用いて発行する必要はなく、定数を用いてもよい。ただし、検証が行えるように、初期タイムスタンプの発行に用いたデータは記憶部１０１に記憶しておく必要がある。
【００４３】
タイムスタンプの発行を依頼するために、制御部１００は、発行依頼とともに、時刻認証サーバ２の提供するサービスの利用権限ＩＤとパスワード、そして、先に生成した乱数データのハッシュ値を時刻認証サーバ２へと送信する。次いで、時刻認証サーバ２の制御部２１０は図７に示す処理を行い、タイムスタンプを発行する。
図７に示すように、時刻認証サーバ２の制御部２１０は、時刻認証装置１からタイムスタンプ発行要求、および必要な情報を受信すると（ステップＳ２０１）、まず送信元にサービス利用権限があることを確認するために、受信したＩＤおよびパスワードを認証ＤＢ２１１０にて照会する。認証ＤＢ２１１０に利用権限ＩＤが登録されており、パスワードが一致すれば、利用権限を有することを意味する。利用権限があると制御部２１０が判断すると（ステップＳ２０２；ＹＥＳ）、受信したハッシュ値に、信頼できる時刻源から得た標準時刻情報などを受付時刻として添付する（ステップＳ２０３）。次いで、時刻認証サーバ２は、ステップＳ２０３で得られたデータに対して、デジタル署名を行う（ステップＳ２０４）。デジタル署名は、具体的には公開鍵暗号方式（ＲＳＡ暗号など）の秘密鍵を用いて暗号化することで行われる。暗号化して得られたデータがタイムスタンプとなる。そして、時刻認証サーバ２はタイムスタンプＴＳｎを秘密鍵の対である公開鍵を含む公開鍵証明書とともに、ネットワーク通信部２１４を通じて、送信元へと返送する（ステップＳ２０５）。一方、利用権限がないと制御部２１０が判断すると（ステップＳ２０２；ＮＯ）、処理は終了する。
【００４４】
得られた公開鍵証明書およびタイムスタンプは、タイムスタンプの発行対象である乱数データに対応付けて、記憶部１０１に記憶する。
なお、この時刻認証のフローは一例であり、その他の方法で時刻認証を行っても構わない。
【００４５】
以上の処理を行うと、時刻認証装置１が後述する時刻認証などの処理を行うことが可能な状態となる。
【００４６】
（順序の真正性を確保したタイムスタンプの発行）
次に、本実施の形態における時刻認証装置１による時刻認証処理について、図６を参照して説明する。
ユーザがモバイル端末１０上にインストールされているファイル操作プログラムを操作し、ファイルパスを指定して、時刻認証装置１上にファイルのコピーを指示する。この操作を検知すると、時刻認証装置１の制御部１００は該ファイルに対し図６に示す時刻認証処理を開始する。なお、処理対象ファイルは、ｎ番目に時刻認証装置１が受け付けたものとして、便宜上Ｄｎと表す。
まず、制御部１００は、受信したデータファイルのハッシュ値（Ｈａｓｈ（Ｄｎ））を求める（ステップＳ１０１）。次いで、モバイル端末１０が時刻認証サーバ２と通信可能な状態であるかを判断する（ステップＳ１０２）。具体的には、制御部１００はモバイル端末１０に依頼して、時刻認証サーバ２に対してＰＩＮＧ命令など実行してもらう。モバイル端末１０が時刻認証サーバ２と通信可能であると判断した場合（ステップＳ１０２；ＹＥＳ）、制御部１００は、ステップＳ１０１で算出したハッシュ値に対してタイムスタンプＴＳｎを発行するようにモバイル端末１０を介して時刻認証サーバ２に時刻認証依頼を送信する（ステップＳ１０３）。制御部１００は時刻認証依頼とともに、時刻認証サーバ２を利用するために必要な利用権限ＩＤとパスワード、およびテップＳ１０１で算出したハッシュ値なども送信する。
【００４７】
ステップＳ１０４における時刻認証サーバ２による時刻認証処理の具体的なフローは先に説明したステップＳ２０１〜２０５の処理と同様である。
時刻認証サーバ２の制御部２１０は利用権限ＩＤ、パスワード、そして認証対象ファイルのハッシュ値を受信する（ステップＳ２０１）。すると、まず送信元にサービス利用権限があることを、受信したＩＤおよびパスワードをデータベースに照会して確認する。権限がある場合（ステップＳ２０２；ＹＥＳ）、受信した認証対象ファイルのハッシュ値に、信頼できる時刻源から得た標準時刻情報などを受付時刻として添付する（ステップＳ２０３）。次いで、時刻認証サーバ２は、ステップＳ２０３で得られたデータに対して、デジタル署名を行う（ステップＳ２０４）。そして、時刻認証サーバ２はタイムスタンプＴＳｎを公開鍵証明書とともに、送信元へと返送する（ステップＳ２０５）。時刻認証サーバ２によってタイムスタンプＴＳｎが発行されると、モバイル端末１０を介して、時刻認証装置１がタイムスタンプおよび公開鍵証明書を受信する（ステップＳ１０５）。
【００４８】
次に、時刻認証装置１はステップＳ１０５で受信したタイムスタンプおよび公開鍵証明書を、認証対象ファイルのファイルパス（コピー操作時にユーザによって指定されたパス）に対応付けて、タイムスタンプＤＢ１０１０の１レコードに記憶する（ステップＳ１０６）。なお、タイムスタンプＤＢ１０１０に記憶される発行順序番号は、前回のタイムスタンプ発行処理の受付順序番号に１加えたものである。
【００４９】
一方、時刻認証サーバ２と通信できないと判断した場合（ステップＳ１０２；ＮＯ）、時刻認証装置１の制御部１００は、対象ファイルのハッシュ値に添付する受付時刻情報を、ローカルにモバイル端末１０の計時部１１２から取得する。そして、ステップＳ２０３、Ｓ２０４と同様の処理を施し、取得した時刻情報に基づいて、タイムスタンプＴＳｎを算出する。算出した結果は、タイムスタンプＤＢ１０１０に記憶する。
なお、時刻認証装置１がタイムスタンプを算出するために利用する秘密鍵に対応する公開鍵は、予め認証機関によりその公開鍵証明書が発行されているとする。そして、公開鍵証明書は対応する秘密鍵とともに記憶部１１１に予め記憶されているとする。よって、このように時刻認証装置１が内部でタイムスタンプを発行する場合、タイムスタンプＤＢ１０１０には公開鍵証明書を保存しない。
【００５０】
このように、時刻認証装置１がタイムスタンプを内部で発行、または時刻認証サーバ２により取得すると、次に制御部１００は合成タイムスタンプを得る処理を行う。手順は、図６のステップＳ１２１〜１３０に示すようにステップＳ１０１〜Ｓ１１０と同様である。ただし、ステップＳ１２１にて算出するハッシュ値は、前回時刻認証処理を行った場合に制御部１００が算出した合成タイムスタンプＴＣｎ−１と、データＤｎのタイムスタンプＴＳｎとに基づいて、次式により算出される。
Ｃｎ＝Ｈａｓｈ（ＴＣｎ−１、ＴＳｎ）
【００５１】
合成タイムスタンプの算出においても、時刻認証サーバ２に接続可能であれば（ステップＳ１２２；Ｙｅｓ）、制御部１００は時刻認証サーバ２へと時刻認証処理を依頼し、合成タイムスタンプＴＣｎを取得する（ステップＳ１２３〜Ｓ１２５）。時刻認証サーバ２に接続できなければ（ステップＳ１２２；Ｎｏ）、モバイル端末１０の内蔵する計時部１１２の計時する時刻情報に基づいて、時刻認証を行う（ステップＳ１３０）。このようにして算出された合成タイムスタンプＴＣｎを、制御部１００はタイムスタンプＴＳｎと同様に時刻認証対象ファイルＤｎのファイルパスに対応付けて、タイムスタンプＤＢ１０１０の合成タイムスタンプフィールドに記憶する（ステップＳ１２６）。ここで、ファイルパスは、モバイル端末１０のユーザが、ファイル操作用プログラムのコピー操作で指定した時刻認証装置１上におけるコピー先のパス名である。なお、時刻認証対象ファイルＤｎ自体は、時刻認証装置１がタイムスタンプの付与に成功すると、指定されたファイルパス上にコピーされる（ステップＳ１２７）。
【００５２】
以降、同様に、時刻認証要求があると、制御部１００は対象ファイルに対してタイムスタンプを発行するとともに、一つ前の時刻認証処理において発行された合成タイムスタンプを用いて新たな合成タイムスタンプを発行する。すなわち時刻認証装置１において時刻認証手段により入力されたファイルを受け付け、該ファイルを時刻証明書発行手段への入力となるように出力して時刻証明書発行手段に第１の時刻証明書を発行させ、発行された該第１の時刻証明書と、前回受け付けられた入力に対して発行された前回の時刻証明書とを、時刻証明書発行手段に入力して時刻証明書発行手段に第２の時刻証明書を発行させるという機能が実現される。この様子を図８に示す。また、時刻認証装置１の制御部１００は時刻認証要求受信手段の受信した電子データを取得し、時刻認証手段の入力となるように出力して時刻認証手段に第１の時刻証明書および第２の時刻証明書を発行させる時刻認証制御手段としても機能する。
【００５３】
なお、最初の時刻認証要求の際には、一つ前の処理において発行された合成タイムスタンプ値（ＴＣ０）は存在しないため、初期化処理にて算出した初期タイムスタンプを合成タイムスタンプＴＣ０として使用する。
【００５４】
このように、一つ前の合成タイムスタンプＴＣｎ−１を用いて、次の合成タイムスタンプＴＣｎを発行することによって、これらが発行された順序関係を保証することが可能となる。文書の受付順番を改ざんしようとすると、合成タイムスタンプの整合性が得られなくなる。
また、ある時刻Ｔ１と時刻Ｔｎに、時刻認証サーバ２によってタイムスタンプが発行されていれば、その間に発行されたタイムスタンプの発行時刻は、少なくとも時刻Ｔ１およびＴｎの間であることが保証される。
【００５５】
一方、時刻認証サーバ２にアクセスできない時間内で、計時部１１２の時刻を改ざんして、次のタイムスタンプを発行することが可能である。
これを回避するために、時刻認証制御手段として機能する制御部１００は、時刻認証要求が所定の期間なかった場合、タイムスタンプ、および合成タイムスタンプを強制的に発行させる。タイムスタンプは、モバイル端末１０の計時部１１２の計時する既定の間隔で発行してもよいし、あるいは、ユーザによる入力部１１６の操作などをトリガに不定間隔で発行してもよい。またタイムスタンプを発行する対象となるデータは、乱数により生成してもよいし、固定データでもよい。本実施の形態では、乱数を定期的に生成し、タイムスタンプおよび合成タイムスタンプを発行させる。タイムスタンプの生成に利用したデータ（乱数）は、検証の際に必要となるため、タイムスタンプＤＢ１０１０の乱数フィールドに記憶し、これに対応付けてタイムスタンプおよび合成タイムスタンプを記憶する。
このように定期的にタイムスタンプ（および合成タイムスタンプ）を発行することによって、計時部１１２を改ざん可能な時刻の範囲を狭めることが可能となる。
【００５６】
なお、モバイル端末１０が時刻認証サーバ２に接続されている間は、時刻認証装置１は定期的に、モバイル端末１０を介して、標準時刻に関する情報を時刻認証サーバ２から受信する。制御部１００は、この時刻情報に基づいて、モバイル端末１０の計時部１１２に時刻の調整を依頼する。こうすることにより、計時部１１２が標準時刻を計時するように維持することができる。
計時部１１２の計時する時刻と標準時刻が著しく異なる場合は計時部１１２の時刻が改ざんされた可能性が高いため、その時点で警告を表示部１１５に表示してもよい。
【００５７】
（検証処理）
以上、ｎ番目に受け付けられたファイルに対して時刻認証を行う処理について説明した。次に、ｎ番目に受け付けられ、時刻認証がなされたファイルの原本性の保証、およびその時刻の検証処理（ファイルの検証処理）について説明する。この際、検証処理は、１番目からｎ番目に受け付けられた時刻認証対象ファイルのタイムスタンプと合成タイムスタンプとを、受け付け順序番号順で検証することによって行う。
【００５８】
時刻認証装置１の制御部１００は、モバイル端末１からの検証要求に応じて、図９に示すフローを備える検証処理を行う。なお、図９は現在注目している受付順序番号がｍであるとして記載している。
【００５９】
まず、タイムスタンプＤＢ１０１０を参照し、受付順序番号１を有するレコードを取得する。該当レコードを取得すると、制御部１００は該レコードのファイルパスフィールドに記憶されるファイルのハッシュ値を算出する（ステップＳ３０１）。または、乱数フィールドに乱数が記憶されている場合（強制的に発行されたタイムスタンプである場合）は、この乱数のハッシュ値を算出する。
【００６０】
次に、同レコードに記憶されるタイムスタンプ用公開鍵証明書から公開鍵を取得し、タイムスタンプＴＳ１を復号化し、得られた結果からハッシュ値と時刻情報とを抽出する（ステップＳ３０２）。対応する公開鍵証明書が記憶されていない場合、時刻認証サーバ２ではなく、時刻認証装置１によってタイムスタンプが発行されたことを意味する。よって、この場合は、記憶部１０１に記憶される、時刻認証装置１の公開鍵証明書の有する公開鍵を使用して、タイムスタンプＴＳ１を復号化する。タイムスタンプが復号化されると、そのタイムスタンプは時刻認証サーバ２、あるいは時刻認証装置１によって暗号化されたものであることが保証される。なお、公開鍵証明書の有効性は、定期的に発行元に問い合わせ検証される。
【００６１】
次いで、制御部１００はタイムスタンプＴＳ１に保存されるハッシュ値を、ステップＳ３０１で算出したハッシュ値と比較する（ステップＳ３０３）。一致すれば、ファイルの内容に改ざんがなかったことが保証される。不一致の場合は、改ざんがあったことを意味する。
【００６２】
ファイルの原本性が保証されると（ステップＳ３０３；ＹＥＳ）、次に時刻の整合性を確認する（ステップＳ３０４）。ステップＳ３０２で抽出した時刻情報が、一つ前の受付順序番号を有するタイムスタンプに含まれる時刻情報よりも早い時刻であれば、時刻の改ざんがあったことを意味する。なお、一つ前のタイムスタンプＴＳ０は存在しないため、初期化処理で発行した初期タイムスタンプをＴＳ０として利用する。
【００６３】
タイムスタンプの検証が成功すると（ステップＳ３０４；ＹＥＳ）、制御部１００は、合成タイムスタンプの検証を行う。まず、制御部１００は、先に取得したタイムスタンプＴＳ１にレコードに記憶されるタイムスタンプと、一つ前の受付順序番号を有するレコードの合成タイムスタンプ（この場合ＴＣ０）とに基づいたハッシュ値を求める（ステップＳ３０５）。なお、１番目の受付順序番号を有する合成タイムスタンプの検証を行う場合、初期化処理で発行した初期タイムスタンプを一つ前の合成タイムスタンプＴＣ０として利用する。
【００６４】
次に、１番目の受付順序番号を有するレコードに記憶される合成タイムスタンプを同レコードに記憶される合成タイムスタンプ用公開鍵証明書に含まれる公開鍵によって復号化する。そして得られた結果からハッシュ値と時刻情報とを抽出する（ステップＳ３０６）。復号化された合成タイムスタンプを、ステップＳ３０５で求めたハッシュ値と比較して（ステップＳ３０７）、一致すれば（ステップＳ３０７；ＹＥＳ）、タイムスタンプの改ざんや、タイムスタンプの発行順序の入れ替えがなかったことが保証される。
【００６５】
最後にステップＳ３０６で得られた時刻情報と、一つ前の受付順序番号を有する合成タイムスタンプに含まれる時刻情報とを比較する（ステップＳ３０８）。ステップＳ３０６で得られた時刻情報が、一つ前の受付順序番号を有する合成タイムスタンプに含まれる時刻情報よりも早い時刻であれば、時刻の改ざんがあったことを意味する。
【００６６】
この検証処理を、受付順序番号にしたがってｎ番目に受け付けられたファイルまで繰り返す。ｎ番目のファイルまで検証が成功すると、ｎ番目のファイルの他ｎ番目までに受け付けられたファイルの正当性が全て保証される。検証処理の結果（成功したか否か）は、モバイル端末１０の表示部１１５に表示される。
【００６７】
タイムスタンプの検証処理は、前述したように、モバイル端末２から時刻認証装置１に記憶されるファイルを参照したり、プロパティファイルを確認したりする場合に行われる。また、新たに時刻認証装置１にファイルをコピー、または作成する場合にも行う必要がある。それまでに発行された合成タイムスタンプの正当性を保証しない限り、次に発行する合成タイムスタンプの正当性を保証できないためである。
【００６８】
（時刻認証を受けたファイルの削除）
モバイル端末１のファイル操作プログラムを操作して、時刻認証装置１上のファイル（即ち、時刻認証を過去に受けたファイル）を削除する場合、そのタイムスタンプおよび合成タイムスタンプを削除する。さらに、この合成タイムスタンプに依存する、以降の合成タイムスタンプを全て削除し、発行し直す必要が生じる。一方、タイムスタンプは、過去のタイムスタンプなどに依存しないため、そのまま維持される。そして、これらタイムスタンプは、新たな合成タイムスタンプを算出するために用いられる。
同様に、時刻認証装置１上のファイルを上書きする場合も、一度ファイルを削除し、合成タイムスタンプを全て取り直す。そして、上書きするファイルを新たに時刻認証装置１に保存する手順で、時刻認証処理を行う。
【００６９】
（長期保存）
公開鍵証明書には有効期限が存在するため、この有効期限を過ぎると、タイムスタンプが無効となる。よって、時刻認証装置１は、タイムスタンプが付与されたファイルの証明有効期限を定期的にチェックし、証明有効期間が近いファイル（例えば有効期限の１日前）を検出する。制御部１００は、そのため、証明有効期間が近いファイルのタイムスタンプと、その証明有効期間が近いファイルのタイムスタンプを発行した際の入力とを併せて、時刻認証手段への入力となるように出力して、前記時刻認証手段にそれぞれのタイムスタンプを新たに発行させる時刻再認証手段として機能する。
【００７０】
例えば、図５（Ｂ）において、ファイルＡに付与されたタイムスタンプＴＳｘの証明有効期限が近いとする。このとき、ファイルＡのファイルパス、タイムスタンプＴＳｘとその公開鍵である証明書１をＲＡＭに一時記憶し、ファイルＡを削除する処理を行う。前述したように、時刻認証を受けたファイルＡを削除するためには、ファイルＡが記憶されているタイムスタンプＤＢ１０１０内のレコードを削除するだけでなく、ファイルＡより後の受付順序番号を有するレコードの合成タイムスタンプを全て取り直す必要がある。
【００７１】
削除処理が終わると、時刻認証装置１はＲＡＭに一時記憶したファイルＡのファイルパスから、ファイルＡ自体を取得し、ファイルＡに付与されたタイムスタンプファイルＴＳｘと併せて一つのファイルを作成する（これを更新ファイル、Ａ+ＴＳｘとする）。時刻認証装置１の制御部１００は、このＡ＋ＴＳｘを時刻認証装置１上の適当なファイルパス（更新ファイルを保存するために隠れたディレクトリを予め設けてもよい）に保存して、新たにＡ+ＴＳｘに対して、ステップＳ１０１〜Ｓ１３０の時刻認証処理を行いタイムスタンプおよび合成タイムスタンプを付与する。結果はタイムスタンプＤＢ１０１０に登録する。登録後のタイムスタンプＤＢ１０１０の様子を図１０に示す。ファイルＡが保存されていたレコードはタイムスタンプＤＢ１０１０から削除され、更新ファイルＡ+ＴＳｘが新たに追加されている。
なお、更新ファイルＡ＋ＴＳｘに対して付与されたタイムスタンプＴＳｙをさらに更新する場合、Ａ＋ＴＳｘ＋ＴＳｙに対して新たにタイムスタンプを付与すればよい。
【００７２】
ファイルの検証を考慮し、タイムスタンプＤＢ１０１０は、ファイルパスフィールドに記憶されるファイル名を有するファイルがタイムスタンプの更新用のファイルであるかどうかを示すための更新フラグを備える。タイムスタンプＤＢ１０１０にタイムスタンプ更新用のファイル（即ちＡ+ＴＳｘなど）が保存される場合は、この更新フラグを１とする。
【００７３】
また、更新されたタイムスタンプファイルの検証処理には、更新される前の履歴が必要である。よって、時刻認証装置１の制御部１００は、タイムスタンプの更新を行うと、更新タイムスタンプＤＢ１０１１に、その履歴を登録する。例えば、ファイルＡに付与されたタイムスタンプを更新する場合は、ファイルＡおよび、更新ファイルであるＡ+ＴＳｘに関する情報をタイムスタンプＤＢ１０１０から取得し、更新タイムスタンプＤＢ１０１１に登録する。ここで、更新タイムスタンプＤＢ１０１１の「前のファイル」や「次のファイル」と示されるフィールドには、更新履歴の関係を示すポインタを記憶する。例えば、ファイルＡの「次のファイル」には更新ファイルであるＡ+ＴＳｘの情報が記憶されている領域へのポインタが保存される。逆に、Ａ＋ＴＳｘの「前のファイル」には更新元であるファイルＡの情報が記憶されている領域へのポインタが保存される。
【００７４】
ファイルの検証処理において、タイムスタンプＤＢ１０１０内の検証対象ファイルの更新フラグが１となっていれば、ステップＳ３０８を終えた後に、更新状況の検証を行ってもよい。具体的には制御部１００は、更新タイムスタンプＤＢ１０１１を検索し、検証対象ファイルに対応付けて記憶されている「前のファイル」のポインタを順次手繰る。そして、「前のファイル」のポインタが指す先がヌルとなるまで（例えば検証対象が更新ファイルＡ＋ＴＳｘの場合、更新される元のファイルＡまで）順次ファイルスタンプの検証を行い（ステップＳ３０１〜Ｓ３０３と同様の処理）、ファイルの改ざんがなく、また、タイムスタンプが失効する前に更新されていれば、検証対象ファイル（この場合、Ａ＋ＴＳｘ）は有効であると判断される。
【００７５】
一方、例えばファイルＡを検証したい場合、タイムスタンプＤＢ１０１０を参照しても、検証対象ファイルが存在しない。このような場合、ファイルＡは更新されている可能性があるので、時刻認証装置１の制御部１００は更新タイムスタンプＤＢ１０１１を参照する。更新タイムスタンプＤＢ１０１１に対象ファイルが存在すれば、「次のファイル」の示すポインタを順次取得し、最終的更新ファイル名（Ａ＋ＴＳｘ）を取得すればよい。最終的に更新されたファイル名を取得すると、今度はタイムスタンプＤＢ１０１０に記憶される、受付順序番号１を有するファイルから、該ファイル名を有するファイルに対して、受付順序番号順にステップＳ３０１〜Ｓ３０８の処理を行うことで、検証が可能となる。
【００７６】
時刻認証装置１は、合成タイムスタンプについても証明有効期限を定期的にチェックし、証明有効期間が近いものを検出する。検出した合成タイムスタンプについては、その合成タイムスタンプに基づいて発行された合成タイムスタンプとともに全て再発行させる。
【００７７】
以上、タイムスタンプの証明効力が失効する前に、時刻認証装置１がタイムスタンプを再取得するようにした。しかし、モバイル端末１０に電源が投入されない状態が続いたり、時刻認証装置１がモバイル端末１０に装着されていない状態が続くと、時刻認証装置１はタイムスタンプを再取得するための処理が行えず、タイムスタンプが失効してしまう可能性がある。
【００７８】
これを考慮して、時刻認証装置１のユーザには時刻認証サーバ２へのユーザ登録を行わせる。ユーザ登録が行われていると、時刻認証サーバ２は、時刻認証装置１内に記憶された時刻認証を受けたファイル、および、タイムスタンプＤＢ１０１０や、更新タイムスタンプＤＢ１０１１の内容を時刻認証サーバ２のバックアップＤＢ２１１１にコピーするサービス（バックアップサービス）を提供する。
【００７９】
ユーザ登録は、例えば、ファイル操作用プログラムから、時刻認証装置１のプロパティを参照し、表示されたユーザ登録用メニュータグを選択することで行う。ユーザがこのメニュータグを選択すると、制御部１００は、モバイル端末１０の表示部１１５にユーザ登録用画面を表示する。ユーザは入力部１１６を操作してこのユーザ登録画面にメールアドレスなどのユーザ情報を入力する。ユーザが確認ボタンを押下すると、制御部１００は入力された情報を、時刻認証装置１の利用権限ＩＤとともに、時刻認証サーバ２へと送信する。時刻認証サーバ２は、これら情報を受信すると、利用権限ＩＤに対応付けて、認証ＤＢ２１１０に記憶するユーザ情報記憶手段としての機能を有する。
【００８０】
時刻認証装置１は、モバイル端末１０がネットワークに接続されていると判断すると、バックアップ要求を時刻認証サーバ２へ送信する。時刻認証サーバ２はユーザ情報が登録されていれば、要求を受付る旨の返信を行う。すると、時刻認証装置１は、タイムスタンプＤＢ１０１０や、更新タイムスタンプＤＢ１０１１の内容等の他、タイムスタンプＤＢ１０１０に記憶されているファイルパスを有するファイル自体も時刻認証サーバ２に送信する。時刻認証サーバ２は、情報を受け取ると、バックアップＤＢ２１１１に、ユーザＩＤに対応付けて受信した情報を記憶する。このように、バックアップＤＢ２１１１には、タイムスタンプを付与された対象のファイル自体も記憶されるので、タイムスタンプの検証に必要なファイルがバックアップＤＢ２１１１内に全て揃うことになる。
【００８１】
時刻認証サーバ２は、ユーザ登録が行われている場合、バックアップＤＢ２１１１内に記憶されているファイルに付与されたタイムスタンプの証明有効期限をチェックする。また、時刻認証サーバ２は、時刻認証装置１から定期的にバックアップＤＢ２１１１へデータが送信されているかについてもチェックする。期限が近いタイムスタンプがある場合、或いは、既定期間以上バックアップＤＢ２１１１への更新がない場合、時刻認証サーバ２は、ユーザにその旨を通知する。通知は、時刻認証サーバ２が認証ＤＢ２１１０に登録されているアドレスに、時刻認証装置１をモバイル端末１０を介してネットワークに接続するようにユーザを促す旨のメールを送信することで行う。
【００８２】
以上、本発明の実施の形態を説明したが、本発明を実施するにあたっては、種々の形態による変形及び応用が可能であり、上記実施の形態に限られるものではない。
【００８３】
例えば、本実施の形態をコンパクトフラッシュ（登録商標）やＳＤカード、およびＵＳＢメモリなどの記憶媒体に応用してもよい。即ち、上述した時刻認証装置１に時刻認証関連処理を行わせる制御プログラムを、これら記憶媒体に記憶する。そして、記憶媒体がモバイル端末１０に装着された時にこのプログラムをモバイル端末１０上で実行することで、時刻認証関連処理を行うようにする。
【００８４】
また、本実施の形態を上記のような記憶媒体に応用した場合、記憶媒体が装着される先として、モバイル端末１０ではなくデジタルカメラなどとしてもよい。この場合、記憶媒体がデジタルカメラに装着されたときに、時刻認証関連処理を行う制御プログラムをデジタルカメラ上で実行する。このプログラムにより、デジタルカメラは、新たに撮影された画像または動画ファイルに対して、時刻認証処理を行った上で記憶媒体上に保存する。ファイル名は、撮影された順番に連番を振ればよい。記憶媒体がデジタルカメラに装着されていれば、デジタルカメラの内蔵時計に基づいて時刻認証処理を行う。一方、記憶媒体がデジタルカメラからパソコンなどに装着された場合には、パソコンを介してネットワークに接続し、時刻認証サーバ２による時刻認証処理を行えばよい。これにより、デジタルカメラによって撮影された画像または動画ファイルの原本性や時刻の保証が可能となる。
【００８５】
また、本実施の形態においては、時刻認証装置１に予め時刻認証サーバ２の提供するサービスの利用権限を与えるようにしたが、モバイル端末１０に接続権限を備えさせ、時刻認証装置１はモバイル端末１０に与えられている接続権限用のＩＤを用いて時刻認証サーバ２から時刻認証を受けるようにしてもよい。
【００８６】
或いは、時刻認証装置１に予め時刻認証サーバ２の提供するサービスの利用権限を与えるのではなく、例えばユーザが一定金額を払うと、時刻認証装置１の有するサービスの利用権限を特定するＩＤ、およびパスワードを時刻認証サーバ２の認証用ＤＢに登録するようにしてもよい。そして、認証用ＤＢにはサービス利用権限を特定するＩＤに対応付けて、このＩＤの有効性を示すフラグを設けてもよい。時刻認証装置１を購入した時点で、このフラグを有効にする。そして一定期間が経過すると、このフラグを無効にする。ステップＳ２０２で行われるサービス利用権限の認証処理では、このフラグが有効であることをまず判断してからＩＤおよびパスワードの認証を行う。こうすることで、時刻認証装置１プリペイド式に時刻認証サービスを提供することが可能となる。プリペイド金額に応じて、時刻認証装置１の発行するタイムスタンプの有効期間を設定してもよい。
【００８７】
上記実施の形態では、時刻認証装置の制御プログラムが記憶部等に予め記憶されているものとして説明した。しかし、モバイル端末に、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disk Read-Only Memory）、ＤＶＤ（Digital Versatile Disk）、ＭＯ（Magneto-Optical disk）、ＵＳＢメモリ等の記憶媒体を読み取る装置のいずれか適したものを備えさせ、これら記憶媒体に制御プログラムを格納して時刻認証装置に配布して上述の処理動作を実行をする装置を構成してもよい。
【００８８】
また、制御プログラムを、通信ネットワーク上の所定のサーバ装置が有するディスク装置等に格納しておき、時刻認証装置にダウンロードするようにしてもよい。さらに、通信ネットワークを介してプログラムを転送しながら起動実行することによっても、上述の処理を達成することができる。
【００８９】
なお、上記実施の形態に係る時刻認証装置は、制御部がプログラムによって制御する構成にするのではなく、専用のハードウェアによっても実現することができる。
【図面の簡単な説明】
【００９０】
【図１】本発明の実施の形態に係るシステムの構成例を示すブロック図である。
【図２】時刻認証サーバの構成例を示すブロック図である。
【図３】時刻認証装置とモバイル端末の構成例を示すブロック図である。
【図４】（Ａ）は、認証ＤＢのデータ構成例を示す図であり、（Ｂ）は、バックアップＤＢのデータ構成例を示す図である。
【図５】（Ａ）は、タイムスタンプＤＢのデータ構成例を示す図であり、（Ｂ）は、更新タイムスタンプＤＢのデータ構成例を示す図である。
【図６】時刻認証装置の時刻認証処理の例を示すフロー図である。
【図７】時刻認証装置の時刻認証処理の例を示すフロー図である。
【図８】合成タイムスタンプが発行される様子を示す図である。
【図９】時刻認証装置の検証処理の例を示すフロー図である。
【図１０】タイムスタンプの更新を行った後のタイムスタンプＤＢの様子を示す図である。
【符号の説明】
【００９１】
１  時刻認証装置
１０  モバイル端末
１００  制御部
１０１  記憶部
１０１０  タイムスタンプＤＢ
１０１１  更新タイムスタンプＤＢ
１０３  通信部
１０９  バス
１１０  制御部
１１１  記憶部
１１２  計時部
１１３  通信部
１１４  ネットワーク通信部
１１５  表示部
１１６  入力部
１１９  バス
２  時刻認証サーバ
２１０  制御部
２１１  記憶部
２１１０  認証ＤＢ
２１１１  バックアップＤＢ
２１４  ネットワーク通信部
２１５  表示部
２１６  入力部
２１９  バス
３  ネットワーク
【図１】
2008235970.tif 000003
【図２】
2008235970.tif 000004
【図３】
2008235970.tif 000005
【図４】
2008235970.tif 000006
【図５】
2008235970.tif 000007
【図６】
2008235970.tif 000008
【図７】
2008235970.tif 000009
【図８】
2008235970.tif 000010
【図９】
2008235970.tif 000011
【図１０】
2008235970.tif 000012