説明

時刻認証システム、時刻認証装置、およびプログラム

【課題】時刻認証サーバに接続できない場合でも内蔵時計に基づいて信頼性の高い時刻認証を行う。
【解決手段】時刻認証装置1は、モバイル端末10がネットワークを介して時刻認証サーバ2と通信可能であると判断すると、時刻認証対象ファイルに対する時刻証明書を時刻認証サーバ2から取得し、通信不能であると判断すると、モバイル端末10の計時部112から取得した時刻に基づいて時刻証明書を発行する。さらに、時刻証明書の発行順序を保証するために、時刻認証装置1は、一つ前に受け付けた時刻認証対象ファイルに対して発行された合成時刻証明書と、今回発行した時刻証明書とに基づいて新たな合成時刻証明書を発行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、内蔵タイマによって付与した時刻の証拠能力を向上する時刻認証システム等に関する。
【背景技術】
【0002】
モバイル端末などは、ネットワークに接続できない環境で利用される場合があるため、外部時刻認証機関による電子データの時刻認証サービス(タイムスタンプの付与サービス)を常に受けられるとは限らない。
一方、外部時刻認証機関を利用せずにローカルな環境において電子データに対して時刻認証を行う技術が、例えば特許文献1に開示されている。特許文献1によれば、タイムサーバに接続し、ローカルな環境における時刻を更正した上で、認証時刻の順序の真正性を確保することにより、外部時刻認証機関を利用しない時刻認証方法の信頼性向上を図っている。しかし、外部時刻認証機関を利用しないため、認証時刻の正当性を証明することはできない。
【特許文献1】特開2004−260666号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
本発明は上記実状を鑑みてなされたものであり、外部時刻認証機関を利用できない場合にも、時刻認証の証拠能力を向上する時刻認証システム等を提供することを目的とする。
【課題を解決するための手段】
【0004】
上記目的を達成するため、本発明の第1の観点に係る時刻認証システムは、
時刻認証サーバと通信可能な端末に装着される時刻認証装置を備える時刻認証システムであって、
前記時刻認証サーバは、
受信した電子データに対して標準時刻情報に基づいて時刻証明書を発行する標準時刻証明書発行手段を備え、
前記時刻認証装置は、
前記端末から、電子データに対する時刻認証要求、および該電子データを受信する時刻認証要求受信手段と、
前記端末が前記時刻認証サーバと通信可能であるか否かを判断する通信判断手段と、
前記端末から現在時刻情報を取得する時刻取得手段と、
入力を受け付け、該入力のハッシュ値を前記時刻認証サーバへと送信し、該入力のハッシュ値に対し、標準時刻情報に基づいた時刻証明書を前記標準時刻証明書発行手段から受信する外部時刻証明書発行手段と、
入力を受け付け、該入力のハッシュ値に対し、前記時刻取得手段が取得した時刻に基づいて時刻証明書を発行する内部時刻証明書発行手段と、
入力を受け付け、前記通信判断手段によって前記端末は前記時刻認証サーバと通信可能であると判断された場合、該入力を前記外部時刻証明書発行手段への入力となるように出力して前記外部時刻証明書発行手段に時刻証明書を発行させ、前記通信判断手段によって前記端末は前記時刻認証サーバと通信不能であると判断された場合、該入力を前記内部時刻証明書発行手段への入力となるように出力して前記内部時刻証明書発行手段に時刻証明書を発行させる時刻証明書発行手段と、
入力を受け付け、該入力を前記時刻証明書発行手段への入力となるように出力して前記時刻証明書発行手段に第1の時刻証明書を発行させ、発行された該第1の時刻証明書と、前回受け付けられた入力に対して発行された第2の時刻証明書とを、前記時刻証明書発行手段に入力して前記時刻証明書発行手段に第2の時刻証明書を発行させる時刻認証手段と、
前記時刻認証要求受信手段の受信した電子データを取得し、前記時刻認証手段の入力となるように出力して前記時刻認証手段に第1の時刻証明書および第2の時刻証明書を発行させる時刻認証制御手段と、
を備える。
【0005】
また、本発明の第1の観点に係る時刻認証システムにおいて、
前記時刻認証制御手段は、前記時刻認証要求受信手段が所定の期間時刻認証要求を受信しなかった場合、前記時刻認証手段に第1の時刻証明書および第2の時刻証明書を発行させる、
ようにしてもよい。
【0006】
また、本発明の第1の観点に係る時刻認証システムにおいて、
前記時刻認証サーバは、前記時刻認証装置を特定する識別情報と、該識別情報の有効性を示すフラグとを対応付けて記憶する識別情報記憶手段を備え、
前記識別情報記憶手段は、前記識別情報によって特定される前記時刻認証装置を使用するユーザが予め所定の金額を納めた旨の情報を受信すると、該識別情報に対応付けて記憶される前記フラグを所定の期間有効にし、
前記標準時刻証明書発行手段は、受信した前記識別情報と前記識別情報記憶手段に記憶されていると判断し、且つ前記フラグが有効となっていると判断すると、受信した電子データに対して標準時刻情報に基づいて時刻証明書を発行する、
ようにしてもよい。
【0007】
また、本発明の第1の観点に係る時刻認証システムにおいて、
前記時刻認証装置は、前記時刻認証手段が発行したいずれかの第1の時刻証明書の有効期限までの残期間が所定の期間以下であると判断すると、該第1の時刻証明書と、該第1の時刻証明書を発行した際の入力とを併せて、前記時刻認証手段への入力となるように出力して、前記時刻認証手段に第1および第2の時刻証明書を新たに発行させる再時刻認証手段を備える、
ようにしてもよい。
【0008】
また、本発明の第1の観点に係る時刻認証システムにおいて、
前記時刻認証装置は、前記通信判断手段が前記端末は前記時刻認証サーバと通信可能であると判断すると、前記時刻認証装置を特定する識別情報と、前記時刻認証制御手段の発行させた第1および第2の時刻証明書とを前記時刻認証サーバに送信する送信手段を備え、
前記時刻認証サーバは、
前記時刻認証装置を特定する識別情報に対応付けて、前記時刻認証装置を使用するユーザのメールアドレスを含むユーザ情報を記憶するユーザ情報記憶手段と、
前記送信手段が送信した前記時刻認証装置を特定する識別情報を受信すると、前記ユーザ情報記憶手段を参照し、該識別情報に対応付けてユーザ情報が登録されていると、前記送信手段が送信した第1および第2の時刻証明書を受信し、受信した第1および第2の時刻証明書を該識別情報に対応付けて記憶する時刻証明書記憶手段と、
前記時刻証明書記憶手段に記憶された、前記第1および第2のいずれかの時刻証明書の有効期限までの残期間が所定の期間以下であると判断されると、該有効期限が近づいている該第1および第2の時刻証明書を発行させた前記時刻認証制御手段を有する時刻認証装置を識別する該識別情報に対応付けて前記ユーザ情報記憶手段に登録されているユーザのメールアドレスに、対処を促す旨の通知メールを送信するメール送信手段と、
を備える、
ようにしてもよい。
【0009】
さらに、本発明の第2の観点に係る時刻認証装置は、
電子データに対して時刻証明書を発行する時刻認証サーバと通信可能な端末に装着される時刻認証装置であって、
前記時刻認証装置は、
前記端末から、電子データに対する時刻認証要求、および該電子データを受信する時刻認証要求受信手段と、
前記端末が前記時刻認証サーバと通信可能であるか否かを判断する通信判断手段と、
前記端末から現在時刻情報を取得する時刻取得手段と、
入力を受け付け、該入力のハッシュ値を前記時刻認証サーバへと送信し、該入力のハッシュ値に対し、標準時刻情報に基づいた時刻証明書を前記時刻認証サーバから受信する、外部時刻証明書発行手段と、
入力を受け付け、該入力のハッシュ値に対し、前記時刻取得手段が取得した時刻に基づいて時刻証明書を発行する、内部時刻証明書発行手段と、
入力を受け付け、前記通信判断手段によって前記端末は前記時刻認証サーバと通信可能であると判断された場合、該入力を前記外部時刻証明書発行手段への入力となるように出力し、前記外部時刻証明書発行手段に時刻証明書を発行させ、前記通信判断手段によって前記端末は前記時刻認証サーバと通信不能であると判断された場合、該入力を前記内部時刻証明書発行手段への入力となるように出力し、前記内部時刻証明書発行手段に時刻証明書を発行させる、時刻証明書発行手段と、
入力を受け付け、該入力を前記時刻証明書発行手段への入力となるように出力し、前記時刻証明書発行手段に第1の時刻証明書を発行させ、発行された該第1の時刻証明書と、前回受け付けられた入力に対して発行された第2の時刻証明書とを、前記時刻証明書発行手段に入力し、前記時刻証明書発行手段に第2の時刻証明書を発行させる時刻認証手段と、
前記時刻認証要求受信手段の受信した電子データを取得し、前記時刻認証手段の入力となるように出力し、前記時刻認証手段に第1の時刻証明書および第2の時刻証明書を発行させる、時刻認証制御手段と、
を備える。
【0010】
さらに、本発明の第3の観点に係る時刻認証プログラムは、
時刻認証サーバにネットワークを介して接続されたコンピュータを、
電子データに対する時刻認証要求、および該電子データを受信する時刻認証要求受信手段、
時刻認証サーバと通信可能であるか否かを判断する通信判断手段、
現在時刻情報を取得する時刻取得手段、
入力を受け付け、該入力のハッシュ値を前記時刻認証サーバへと送信し、該入力のハッシュ値に対し、標準時刻情報に基づいた時刻証明書を前記時刻認証サーバから受信する、外部時刻証明書発行手段、
入力を受け付け、該入力のハッシュ値に対し、前記時刻取得手段が取得した時刻に基づいて時刻証明書を発行する、内部時刻証明書発行手段、
入力を受け付け、前記通信判断手段によって前記端末は前記時刻認証サーバと通信可能であると判断された場合、該入力を前記外部時刻証明書発行手段への入力となるように出力し、前記外部時刻証明書発行手段に時刻証明書を発行させ、前記通信判断手段によって前記端末は前記時刻認証サーバと通信不能であると判断された場合、該入力を前記内部時刻証明書発行手段への入力となるように出力し、前記内部時刻証明書発行手段に時刻証明書を発行させる、時刻証明書発行手段、
入力を受け付け、該入力を前記時刻証明書発行手段への入力となるように出力し、前記時刻証明書発行手段に第1の時刻証明書を発行させ、発行された該第1の時刻証明書と、前回受け付けられた入力に対して発行された第2の時刻証明書とを前記時刻証明書発行手段に入力し、前記時刻証明書発行手段に第2の時刻証明書を発行させる時刻認証手段、
前記時刻認証要求受信手段の受信した電子データを取得し、前記時刻認証手段の入力となるように出力し、前記時刻認証手段に第1の時刻証明書および第2の時刻証明書を発行させる、時刻認証制御手段、
として機能させる。
【発明の効果】
【0011】
本発明によれば、内蔵時計の計時する時刻情報に基づいて付与したタイムスタンプの証拠能力を向上することが可能となる。
【発明を実施するための最良の形態】
【0012】
図1に本発明の実施の形態に係るシステムの構成例を示す。図1に示すように本システムは、時刻認証サーバ2がネットワーク3に接続されている。そして、モバイル端末(PC)10は、状況によってネットワーク3を介して時刻認証サーバ2に接続される構成となっている。すなわち、本実施の形態においてはモバイル端末10は、常にネットワーク3に接続できるとは限らず、例えば無線通信用のアクセスポイントに電波が届かない環境で利用される場合があることを想定している。モバイル端末10には時刻認証装置1が接続されている。
【0013】
以下、各構成要素について詳しく説明する。
【0014】
図1に示す時刻認証サーバ2は、時刻証明書の発行を行う日本時刻認証機構などの第三者機関に設置されるサーバである。
図2に示すように、時刻認証サーバ2は、制御部210、記憶部211、ネットワーク通信部214、表示部215、入力部216、バス219、を備える。
【0015】
制御部210は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等から構成されており、時刻認証サーバ2全体の制御を行う。具体的には、CPUがROMや後述の記憶部211に記憶されているプログラムを実行することによって、後述の認証DB2110に登録されるIDを有する時刻認証装置1からの要求に応じて、時刻認証関連処理を行う。ここで、時刻認証関連処理とは、例えば、後述の時刻認証処理(タイムスタンプの発行)や、検証処理を意味する。また、時刻認証サーバ2はタイムサーバ機能も有しており、要求に応じて標準時刻を提供する標準時刻証明書発行手段としての機能を有する。この制御・演算処理の際、制御部210はRAMに各種データを一時的に記憶し、作業領域として使用する。
なお、時刻認証サーバ2の詳しい動作フローについては、時刻認証装置1の動作説明とともに後述する。
【0016】
記憶部211はハードディスクなどの記憶装置から構成され、制御部210が、所定の時刻認証関連処理などを行うために必要なデータやプログラムを記憶する。
また、時刻認証サーバ2が時刻認証サービスを提供する時刻認証装置1を識別するための情報を記憶する認証DB2110を備える。これは識別情報記憶手段としての機能を有する。この他にも、記憶部211は、時刻認証装置1のデータを記憶するバックアップDB2111を備える。
【0017】
認証DB2110は、図4(A)に示すように、各レコードに、利用権限IDに対応付けて、パスワード、ユーザ名、ユーザメールアドレス、を記憶する。利用権限IDは、時刻認証サーバ2が時刻認証サービスを提供する時刻認証装置1を識別するためのIDである。パスワードは、該IDのパスワードである。ユーザ名は、時刻認証装置1を利用しているユーザの名前である。ユーザメールアドレスは、該ユーザのメールアドレスである。
【0018】
バックアップDB2111は、時刻認証装置1に記憶されるデータベースの内容を記憶する。よって、図4(B)に示すように、各レコードには、時刻認証装置1の利用権限IDに対応付けて、タイムスタンプデータ、更新タイムスタンプデータなどのフィールドを記憶する。タイムスタンプデータは、後述する時刻認証装置1が発行、または取得したタイムスタンプ情報のコピーを記憶する領域へのポインタを保持する。更新タイムスタンプデータは、時刻認証装置1が発行、または取得したタイムスタンプ情報のうち、更新されたもののコピーを記憶する領域へのポインタが保持される。タイムスタンプの発行、取得、更新については、時刻認証装置1の動作説明の部分にて詳述する。
【0019】
ネットワーク通信部214は、NIC(Network Interface Card)等から構成され、通信ネットワークに接続するためのインタフェースを備える。そして、ネットワークとの間で、TCP/IPプロトコル等に基づく通信を行う。ネットワーク通信部214は、例えばモデム装置や赤外線通信装置等を含んでいてもよい。
【0020】
さらに、時刻認証サーバ2はメンテナンスなどのために、表示部215、および入力部216を備えている。表示部215は様々な情報を表示するための液晶モニタなどの表示装置から構成されており、入力部216は、様々な情報を入力するための、キーボード、マウス等の入力装置を備える。
【0021】
バス219は、制御部210、記憶部211、ネットワーク通信部214、表示部215、および入力部216との間で種々の命令やデータを転送するための伝送経路である。
【0022】
次にモバイル端末10の構成例を図3を参照して説明する。モバイル端末10は基本的なパソコンの構成を有しており、制御部110、記憶部111、計時部112、通信部113、ネットワーク通信部114、表示部115、入力部116、バス119、を備える。
【0023】
制御部110は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等から構成されており、モバイル端末10全体の制御を行う。具体的には、CPUがROMや後述の記憶部111に記憶されているプログラムを実行することによって制御・演算処理を行う。この制御・演算処理の際、制御部110はRAMに各種データを一時的に記憶し、作業領域として使用する。
【0024】
記憶部111はハードディスクなどの記憶装置から構成され、制御部110が、所定の処理を行うために必要なデータやプログラムを記憶する。
【0025】
計時部112は、発振回路などを備え、現在時刻を計時する。
【0026】
通信部113は、制御部110が外部機器と通信を行うための通信インタフェース回路である。例えば制御部110は、通信部113を介して時刻認証を行うためのデータを時刻認証装置1に送信したり、時刻認証装置1が発行したタイムスタンプを受信したりする。
【0027】
ネットワーク通信部114は、NIC(Network Interface Card)等から構成され、通信ネットワークに接続するためのインタフェースを備え、ネットワークとの間で、TCP/IPプロトコル等に基づく通信を行う。ネットワーク通信部114は、例えばモデム装置や赤外線通信装置等を含んでいてもよい。
【0028】
表示部115は様々な情報を表示するためのものであり、液晶モニタなどの表示装置から構成されている。
【0029】
入力部116は、様々な情報を入力するために使用されるものであり、キーボード、マウス等の入力装置を備える。
【0030】
バス119は、制御部110、記憶部111、計時部112、通信部113、ネットワーク通信部114、表示部115、および入力部116との間で種々の命令やデータを転送するための伝送経路である。
【0031】
次に時刻認証装置1の構成について、同じく図3を参照して説明する。
図3に示すように、時刻認証装置1は、制御部100、記憶部101、通信部103、バス109、を備える。
【0032】
制御部100は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等から構成されており、時刻認証装置1の全体の制御を行う。具体的には、CPUがROMや後述の記憶部101に記憶されているプログラムを実行することによって制御・演算処理を行う。この制御・演算処理の際、制御部100はRAMに各種データを一時的に記憶し、作業領域として使用する。また、制御部100はモバイル端末10から電子データに対する時刻認証要求および該電子データを受信する時刻認証要求受信手段、モバイル端末10から現在時刻情報を取得する時刻取得手段としての機能を実現するための制御・演算処理も行う。
【0033】
記憶部101はフラッシュメモリなどの不揮発性メモリなどから構成され、制御部100が、所定の時刻認証関連処理(例えば、後述の時刻認証処理(タイムスタンプの発行)や、検証処理)を行うために必要なデータやプログラムを記憶する。また、前述の時刻認証サーバ2の提供する時刻認証処理サービスを利用するための利用権限ID、およびパスワードを記憶する。さらに、記憶部101はこの他にも、図5(A)に示すように、発行したタイムスタンプデータ等を記憶するタイムスタンプDB1010を備える。また、図5(B)に示すように、タイムスタンプを長期保存する更新タイムスタンプDB1011も備える。なお、本実施の形態において、所定の処理を行うプログラムやデータは記憶部101に記憶されるが、前述のROMなどに保存されていてもよい。
次に記憶部101内に格納されるタイムスタンプDB1010および、更新タイムスタンプDB1011について述べる。
【0034】
図5(A)に示すように、タイムスタンプDB1010は、各レコードに、時刻認証対象ファイルの存在するファイルパスに関連づけて、タイムスタンプ、タイムスタンプ用公開鍵証明書、合成タイムスタンプ、合成タイムスタンプ用公開鍵証明書、受付順序番号、更新フラグなどのフィールドを備える。ファイルパスは時刻認証対象ファイルの存在する時刻認証装置1内の絶対パス情報を記憶する。ファイルパスは、ディレクトリ名とファイル名からなり、各ディレクトリ名やファイル名は”¥”記号などで区切られる。ファイルパス内の最後の区切り記号以降がファイル名となる。タイムスタンプは、該ファイルのハッシュ値に対するタイムスタンプを保存する。タイムスタンプ用公開鍵証明書は、該タイムスタンプを復号化するための、公開鍵を含む証明書を記憶する。合成タイムスタンプは、該タイムスタンプと、一つ前に発行された合成タイムスタンプとのハッシュ値に対するタイムスタンプを記憶する。合成タイムスタンプ用公開鍵証明書は、該合成タイムスタンプを復号化するための公開鍵を含む公開鍵証明書を記憶する。受付順序番号は、時刻認証処理要求を受け付けた順番を記憶する。更新フラグは、同レコードに記憶されるファイル名を有するファイルが更新されたタイムスタンプファイルであるかどうかを識別するものである。なお、更新タイムスタンプについては、時刻認証装置1による長期保存処理の説明部分にて詳述する。
【0035】
図5(B)に示す更新タイムスタンプDB1011は、タイムスタンプを更新したファイルを記憶するデータベースである。タイムスタンプには有効期限が存在するため、時刻認証装置1はタイムスタンプが失効するまえに、更新する処理を行う。そして、更新履歴を更新タイムスタンプDB1011に記憶する。更新タイムスタンプDB1011は、図5(B)に示すように、時刻認証を受けたファイルのファイルパスに関連づけて、タイムスタンプ、公開鍵証明書、前のファイル、そして、次のファイル、などのフィールドを備える。ファイルパスは、時刻認証を受けたファイルのファイルパスである。タイムスタンプは該ファイルのタイムスタンプである。公開鍵証明書はタイムスタンプの公開鍵証明書である。「前のファイル」は、該ファイルが更新される一つ前のタイムスタンプ情報を有するレコードへのポインタである。「次のファイル」は、該ファイルを更新した更新ファイルに関するタイムスタンプ情報を有するレコードへのポインタである。
【0036】
通信部103は、制御部100がモバイル端末10と通信を行うための通信インタフェース回路である。例えば制御部100は、通信部103を介して時刻認証を行うためのデータなどのやり取りをモバイル端末10と行う。また、制御部100は、モバイル端末10が時刻認証サーバ2と通信可能であるか否かを判断する通信判断手段としての機能を実現する。
【0037】
バス109は、制御部100、記憶部101、および通信部103、との間で種々の命令やデータを転送するための伝送経路である。
【0038】
次に、時刻認証装置1の動作について説明する。
【0039】
モバイル端末10の記憶部111には、時刻認証装置1を補助記憶装置として接続するためのプログラムがインストールされている。これにより、ユーザはモバイル端末10上のファイル操作用プログラムを操作して、時刻認証装置1の記憶部101に記憶されるファイルを操作したり、時刻認証装置1にファイルをコピーしたりすることが可能となる。ただし、時刻認証装置1に対するファイル操作を行った場合、時刻認証装置1は所定の時刻認証関連処理を対象ファイルに行う。
【0040】
所定の時刻認証関連処理とは、例えば、ファイルを時刻認証装置1にコピーする操作を行うと、時刻認証装置1は、そのファイルを時刻認証装置1の記憶部101にコピーするとともに、時刻認証処理(タイムスタンプの発行処理)を行う。また、モバイル端末のファイル操作用プログラムを操作して、時刻認証装置1に記憶されたファイルのプロパティを参照すると、時刻認証装置1は、該ファイルのタイムスタンプ検証処理を行い結果をプロパティとして表示する。時刻認証装置1に記憶されたファイルを削除する操作を行うと、時刻認証装置1は、削除対象ファイルに付与されたタイムスタンプ等も併せて削除する。
なお、モバイル端末10のファイル操作用プログラムを用いるのではなく、モバイル端末10に時刻認証用および検証処理用のプログラムをインストールし、これを実行することで、時刻認証装置1に時刻認証および検証処理を行わせてもよい。
【0041】
さらに、モバイル端末10には、モバイル端末10の備える機能(例えば現在時刻の取得など)を時刻認証装置1などの外部装置に提供するためのプログラムがインストールされている。時刻認証装置1からの要求があると、このプログラムがモバイル端末上で起動され、所定の処理を行う。あるいは、このプログラムをバックグランドで起動しておき、常に要求を受け付けられる状態にしてもよい。
【0042】
(初期化処理)
時刻認証装置1が利用可能な状態となるには、まず、時刻認証装置1が装着された状態で、モバイル端末10がネットワーク3に1度接続される必要がある。
初めてモバイル端末10を介してネットワーク3に接続されたことを検知すると、時刻認証装置1の制御部100は、乱数を発生させる。そして、初期タイムスタンプとして利用するため、この乱数データに対して、タイムスタンプを発行するようモバイル端末10を介して時刻認証サーバ2へと依頼する。なお、初期タイムスタンプは乱数を用いて発行する必要はなく、定数を用いてもよい。ただし、検証が行えるように、初期タイムスタンプの発行に用いたデータは記憶部101に記憶しておく必要がある。
【0043】
タイムスタンプの発行を依頼するために、制御部100は、発行依頼とともに、時刻認証サーバ2の提供するサービスの利用権限IDとパスワード、そして、先に生成した乱数データのハッシュ値を時刻認証サーバ2へと送信する。次いで、時刻認証サーバ2の制御部210は図7に示す処理を行い、タイムスタンプを発行する。
図7に示すように、時刻認証サーバ2の制御部210は、時刻認証装置1からタイムスタンプ発行要求、および必要な情報を受信すると(ステップS201)、まず送信元にサービス利用権限があることを確認するために、受信したIDおよびパスワードを認証DB2110にて照会する。認証DB2110に利用権限IDが登録されており、パスワードが一致すれば、利用権限を有することを意味する。利用権限があると制御部210が判断すると(ステップS202;YES)、受信したハッシュ値に、信頼できる時刻源から得た標準時刻情報などを受付時刻として添付する(ステップS203)。次いで、時刻認証サーバ2は、ステップS203で得られたデータに対して、デジタル署名を行う(ステップS204)。デジタル署名は、具体的には公開鍵暗号方式(RSA暗号など)の秘密鍵を用いて暗号化することで行われる。暗号化して得られたデータがタイムスタンプとなる。そして、時刻認証サーバ2はタイムスタンプTSnを秘密鍵の対である公開鍵を含む公開鍵証明書とともに、ネットワーク通信部214を通じて、送信元へと返送する(ステップS205)。一方、利用権限がないと制御部210が判断すると(ステップS202;NO)、処理は終了する。
【0044】
得られた公開鍵証明書およびタイムスタンプは、タイムスタンプの発行対象である乱数データに対応付けて、記憶部101に記憶する。
なお、この時刻認証のフローは一例であり、その他の方法で時刻認証を行っても構わない。
【0045】
以上の処理を行うと、時刻認証装置1が後述する時刻認証などの処理を行うことが可能な状態となる。
【0046】
(順序の真正性を確保したタイムスタンプの発行)
次に、本実施の形態における時刻認証装置1による時刻認証処理について、図6を参照して説明する。
ユーザがモバイル端末10上にインストールされているファイル操作プログラムを操作し、ファイルパスを指定して、時刻認証装置1上にファイルのコピーを指示する。この操作を検知すると、時刻認証装置1の制御部100は該ファイルに対し図6に示す時刻認証処理を開始する。なお、処理対象ファイルは、n番目に時刻認証装置1が受け付けたものとして、便宜上Dnと表す。
まず、制御部100は、受信したデータファイルのハッシュ値(Hash(Dn))を求める(ステップS101)。次いで、モバイル端末10が時刻認証サーバ2と通信可能な状態であるかを判断する(ステップS102)。具体的には、制御部100はモバイル端末10に依頼して、時刻認証サーバ2に対してPING命令など実行してもらう。モバイル端末10が時刻認証サーバ2と通信可能であると判断した場合(ステップS102;YES)、制御部100は、ステップS101で算出したハッシュ値に対してタイムスタンプTSnを発行するようにモバイル端末10を介して時刻認証サーバ2に時刻認証依頼を送信する(ステップS103)。制御部100は時刻認証依頼とともに、時刻認証サーバ2を利用するために必要な利用権限IDとパスワード、およびテップS101で算出したハッシュ値なども送信する。
【0047】
ステップS104における時刻認証サーバ2による時刻認証処理の具体的なフローは先に説明したステップS201〜205の処理と同様である。
時刻認証サーバ2の制御部210は利用権限ID、パスワード、そして認証対象ファイルのハッシュ値を受信する(ステップS201)。すると、まず送信元にサービス利用権限があることを、受信したIDおよびパスワードをデータベースに照会して確認する。権限がある場合(ステップS202;YES)、受信した認証対象ファイルのハッシュ値に、信頼できる時刻源から得た標準時刻情報などを受付時刻として添付する(ステップS203)。次いで、時刻認証サーバ2は、ステップS203で得られたデータに対して、デジタル署名を行う(ステップS204)。そして、時刻認証サーバ2はタイムスタンプTSnを公開鍵証明書とともに、送信元へと返送する(ステップS205)。時刻認証サーバ2によってタイムスタンプTSnが発行されると、モバイル端末10を介して、時刻認証装置1がタイムスタンプおよび公開鍵証明書を受信する(ステップS105)。
【0048】
次に、時刻認証装置1はステップS105で受信したタイムスタンプおよび公開鍵証明書を、認証対象ファイルのファイルパス(コピー操作時にユーザによって指定されたパス)に対応付けて、タイムスタンプDB1010の1レコードに記憶する(ステップS106)。なお、タイムスタンプDB1010に記憶される発行順序番号は、前回のタイムスタンプ発行処理の受付順序番号に1加えたものである。
【0049】
一方、時刻認証サーバ2と通信できないと判断した場合(ステップS102;NO)、時刻認証装置1の制御部100は、対象ファイルのハッシュ値に添付する受付時刻情報を、ローカルにモバイル端末10の計時部112から取得する。そして、ステップS203、S204と同様の処理を施し、取得した時刻情報に基づいて、タイムスタンプTSnを算出する。算出した結果は、タイムスタンプDB1010に記憶する。
なお、時刻認証装置1がタイムスタンプを算出するために利用する秘密鍵に対応する公開鍵は、予め認証機関によりその公開鍵証明書が発行されているとする。そして、公開鍵証明書は対応する秘密鍵とともに記憶部111に予め記憶されているとする。よって、このように時刻認証装置1が内部でタイムスタンプを発行する場合、タイムスタンプDB1010には公開鍵証明書を保存しない。
【0050】
このように、時刻認証装置1がタイムスタンプを内部で発行、または時刻認証サーバ2により取得すると、次に制御部100は合成タイムスタンプを得る処理を行う。手順は、図6のステップS121〜130に示すようにステップS101〜S110と同様である。ただし、ステップS121にて算出するハッシュ値は、前回時刻認証処理を行った場合に制御部100が算出した合成タイムスタンプTCn−1と、データDnのタイムスタンプTSnとに基づいて、次式により算出される。
Cn=Hash(TCn−1、TSn)
【0051】
合成タイムスタンプの算出においても、時刻認証サーバ2に接続可能であれば(ステップS122;Yes)、制御部100は時刻認証サーバ2へと時刻認証処理を依頼し、合成タイムスタンプTCnを取得する(ステップS123〜S125)。時刻認証サーバ2に接続できなければ(ステップS122;No)、モバイル端末10の内蔵する計時部112の計時する時刻情報に基づいて、時刻認証を行う(ステップS130)。このようにして算出された合成タイムスタンプTCnを、制御部100はタイムスタンプTSnと同様に時刻認証対象ファイルDnのファイルパスに対応付けて、タイムスタンプDB1010の合成タイムスタンプフィールドに記憶する(ステップS126)。ここで、ファイルパスは、モバイル端末10のユーザが、ファイル操作用プログラムのコピー操作で指定した時刻認証装置1上におけるコピー先のパス名である。なお、時刻認証対象ファイルDn自体は、時刻認証装置1がタイムスタンプの付与に成功すると、指定されたファイルパス上にコピーされる(ステップS127)。
【0052】
以降、同様に、時刻認証要求があると、制御部100は対象ファイルに対してタイムスタンプを発行するとともに、一つ前の時刻認証処理において発行された合成タイムスタンプを用いて新たな合成タイムスタンプを発行する。すなわち時刻認証装置1において時刻認証手段により入力されたファイルを受け付け、該ファイルを時刻証明書発行手段への入力となるように出力して時刻証明書発行手段に第1の時刻証明書を発行させ、発行された該第1の時刻証明書と、前回受け付けられた入力に対して発行された前回の時刻証明書とを、時刻証明書発行手段に入力して時刻証明書発行手段に第2の時刻証明書を発行させるという機能が実現される。この様子を図8に示す。また、時刻認証装置1の制御部100は時刻認証要求受信手段の受信した電子データを取得し、時刻認証手段の入力となるように出力して時刻認証手段に第1の時刻証明書および第2の時刻証明書を発行させる時刻認証制御手段としても機能する。
【0053】
なお、最初の時刻認証要求の際には、一つ前の処理において発行された合成タイムスタンプ値(TC0)は存在しないため、初期化処理にて算出した初期タイムスタンプを合成タイムスタンプTC0として使用する。
【0054】
このように、一つ前の合成タイムスタンプTCn−1を用いて、次の合成タイムスタンプTCnを発行することによって、これらが発行された順序関係を保証することが可能となる。文書の受付順番を改ざんしようとすると、合成タイムスタンプの整合性が得られなくなる。
また、ある時刻T1と時刻Tnに、時刻認証サーバ2によってタイムスタンプが発行されていれば、その間に発行されたタイムスタンプの発行時刻は、少なくとも時刻T1およびTnの間であることが保証される。
【0055】
一方、時刻認証サーバ2にアクセスできない時間内で、計時部112の時刻を改ざんして、次のタイムスタンプを発行することが可能である。
これを回避するために、時刻認証制御手段として機能する制御部100は、時刻認証要求が所定の期間なかった場合、タイムスタンプ、および合成タイムスタンプを強制的に発行させる。タイムスタンプは、モバイル端末10の計時部112の計時する既定の間隔で発行してもよいし、あるいは、ユーザによる入力部116の操作などをトリガに不定間隔で発行してもよい。またタイムスタンプを発行する対象となるデータは、乱数により生成してもよいし、固定データでもよい。本実施の形態では、乱数を定期的に生成し、タイムスタンプおよび合成タイムスタンプを発行させる。タイムスタンプの生成に利用したデータ(乱数)は、検証の際に必要となるため、タイムスタンプDB1010の乱数フィールドに記憶し、これに対応付けてタイムスタンプおよび合成タイムスタンプを記憶する。
このように定期的にタイムスタンプ(および合成タイムスタンプ)を発行することによって、計時部112を改ざん可能な時刻の範囲を狭めることが可能となる。
【0056】
なお、モバイル端末10が時刻認証サーバ2に接続されている間は、時刻認証装置1は定期的に、モバイル端末10を介して、標準時刻に関する情報を時刻認証サーバ2から受信する。制御部100は、この時刻情報に基づいて、モバイル端末10の計時部112に時刻の調整を依頼する。こうすることにより、計時部112が標準時刻を計時するように維持することができる。
計時部112の計時する時刻と標準時刻が著しく異なる場合は計時部112の時刻が改ざんされた可能性が高いため、その時点で警告を表示部115に表示してもよい。
【0057】
(検証処理)
以上、n番目に受け付けられたファイルに対して時刻認証を行う処理について説明した。次に、n番目に受け付けられ、時刻認証がなされたファイルの原本性の保証、およびその時刻の検証処理(ファイルの検証処理)について説明する。この際、検証処理は、1番目からn番目に受け付けられた時刻認証対象ファイルのタイムスタンプと合成タイムスタンプとを、受け付け順序番号順で検証することによって行う。
【0058】
時刻認証装置1の制御部100は、モバイル端末1からの検証要求に応じて、図9に示すフローを備える検証処理を行う。なお、図9は現在注目している受付順序番号がmであるとして記載している。
【0059】
まず、タイムスタンプDB1010を参照し、受付順序番号1を有するレコードを取得する。該当レコードを取得すると、制御部100は該レコードのファイルパスフィールドに記憶されるファイルのハッシュ値を算出する(ステップS301)。または、乱数フィールドに乱数が記憶されている場合(強制的に発行されたタイムスタンプである場合)は、この乱数のハッシュ値を算出する。
【0060】
次に、同レコードに記憶されるタイムスタンプ用公開鍵証明書から公開鍵を取得し、タイムスタンプTS1を復号化し、得られた結果からハッシュ値と時刻情報とを抽出する(ステップS302)。対応する公開鍵証明書が記憶されていない場合、時刻認証サーバ2ではなく、時刻認証装置1によってタイムスタンプが発行されたことを意味する。よって、この場合は、記憶部101に記憶される、時刻認証装置1の公開鍵証明書の有する公開鍵を使用して、タイムスタンプTS1を復号化する。タイムスタンプが復号化されると、そのタイムスタンプは時刻認証サーバ2、あるいは時刻認証装置1によって暗号化されたものであることが保証される。なお、公開鍵証明書の有効性は、定期的に発行元に問い合わせ検証される。
【0061】
次いで、制御部100はタイムスタンプTS1に保存されるハッシュ値を、ステップS301で算出したハッシュ値と比較する(ステップS303)。一致すれば、ファイルの内容に改ざんがなかったことが保証される。不一致の場合は、改ざんがあったことを意味する。
【0062】
ファイルの原本性が保証されると(ステップS303;YES)、次に時刻の整合性を確認する(ステップS304)。ステップS302で抽出した時刻情報が、一つ前の受付順序番号を有するタイムスタンプに含まれる時刻情報よりも早い時刻であれば、時刻の改ざんがあったことを意味する。なお、一つ前のタイムスタンプTS0は存在しないため、初期化処理で発行した初期タイムスタンプをTS0として利用する。
【0063】
タイムスタンプの検証が成功すると(ステップS304;YES)、制御部100は、合成タイムスタンプの検証を行う。まず、制御部100は、先に取得したタイムスタンプTS1にレコードに記憶されるタイムスタンプと、一つ前の受付順序番号を有するレコードの合成タイムスタンプ(この場合TC0)とに基づいたハッシュ値を求める(ステップS305)。なお、1番目の受付順序番号を有する合成タイムスタンプの検証を行う場合、初期化処理で発行した初期タイムスタンプを一つ前の合成タイムスタンプTC0として利用する。
【0064】
次に、1番目の受付順序番号を有するレコードに記憶される合成タイムスタンプを同レコードに記憶される合成タイムスタンプ用公開鍵証明書に含まれる公開鍵によって復号化する。そして得られた結果からハッシュ値と時刻情報とを抽出する(ステップS306)。復号化された合成タイムスタンプを、ステップS305で求めたハッシュ値と比較して(ステップS307)、一致すれば(ステップS307;YES)、タイムスタンプの改ざんや、タイムスタンプの発行順序の入れ替えがなかったことが保証される。
【0065】
最後にステップS306で得られた時刻情報と、一つ前の受付順序番号を有する合成タイムスタンプに含まれる時刻情報とを比較する(ステップS308)。ステップS306で得られた時刻情報が、一つ前の受付順序番号を有する合成タイムスタンプに含まれる時刻情報よりも早い時刻であれば、時刻の改ざんがあったことを意味する。
【0066】
この検証処理を、受付順序番号にしたがってn番目に受け付けられたファイルまで繰り返す。n番目のファイルまで検証が成功すると、n番目のファイルの他n番目までに受け付けられたファイルの正当性が全て保証される。検証処理の結果(成功したか否か)は、モバイル端末10の表示部115に表示される。
【0067】
タイムスタンプの検証処理は、前述したように、モバイル端末2から時刻認証装置1に記憶されるファイルを参照したり、プロパティファイルを確認したりする場合に行われる。また、新たに時刻認証装置1にファイルをコピー、または作成する場合にも行う必要がある。それまでに発行された合成タイムスタンプの正当性を保証しない限り、次に発行する合成タイムスタンプの正当性を保証できないためである。
【0068】
(時刻認証を受けたファイルの削除)
モバイル端末1のファイル操作プログラムを操作して、時刻認証装置1上のファイル(即ち、時刻認証を過去に受けたファイル)を削除する場合、そのタイムスタンプおよび合成タイムスタンプを削除する。さらに、この合成タイムスタンプに依存する、以降の合成タイムスタンプを全て削除し、発行し直す必要が生じる。一方、タイムスタンプは、過去のタイムスタンプなどに依存しないため、そのまま維持される。そして、これらタイムスタンプは、新たな合成タイムスタンプを算出するために用いられる。
同様に、時刻認証装置1上のファイルを上書きする場合も、一度ファイルを削除し、合成タイムスタンプを全て取り直す。そして、上書きするファイルを新たに時刻認証装置1に保存する手順で、時刻認証処理を行う。
【0069】
(長期保存)
公開鍵証明書には有効期限が存在するため、この有効期限を過ぎると、タイムスタンプが無効となる。よって、時刻認証装置1は、タイムスタンプが付与されたファイルの証明有効期限を定期的にチェックし、証明有効期間が近いファイル(例えば有効期限の1日前)を検出する。制御部100は、そのため、証明有効期間が近いファイルのタイムスタンプと、その証明有効期間が近いファイルのタイムスタンプを発行した際の入力とを併せて、時刻認証手段への入力となるように出力して、前記時刻認証手段にそれぞれのタイムスタンプを新たに発行させる時刻再認証手段として機能する。
【0070】
例えば、図5(B)において、ファイルAに付与されたタイムスタンプTSxの証明有効期限が近いとする。このとき、ファイルAのファイルパス、タイムスタンプTSxとその公開鍵である証明書1をRAMに一時記憶し、ファイルAを削除する処理を行う。前述したように、時刻認証を受けたファイルAを削除するためには、ファイルAが記憶されているタイムスタンプDB1010内のレコードを削除するだけでなく、ファイルAより後の受付順序番号を有するレコードの合成タイムスタンプを全て取り直す必要がある。
【0071】
削除処理が終わると、時刻認証装置1はRAMに一時記憶したファイルAのファイルパスから、ファイルA自体を取得し、ファイルAに付与されたタイムスタンプファイルTSxと併せて一つのファイルを作成する(これを更新ファイル、A+TSxとする)。時刻認証装置1の制御部100は、このA+TSxを時刻認証装置1上の適当なファイルパス(更新ファイルを保存するために隠れたディレクトリを予め設けてもよい)に保存して、新たにA+TSxに対して、ステップS101〜S130の時刻認証処理を行いタイムスタンプおよび合成タイムスタンプを付与する。結果はタイムスタンプDB1010に登録する。登録後のタイムスタンプDB1010の様子を図10に示す。ファイルAが保存されていたレコードはタイムスタンプDB1010から削除され、更新ファイルA+TSxが新たに追加されている。
なお、更新ファイルA+TSxに対して付与されたタイムスタンプTSyをさらに更新する場合、A+TSx+TSyに対して新たにタイムスタンプを付与すればよい。
【0072】
ファイルの検証を考慮し、タイムスタンプDB1010は、ファイルパスフィールドに記憶されるファイル名を有するファイルがタイムスタンプの更新用のファイルであるかどうかを示すための更新フラグを備える。タイムスタンプDB1010にタイムスタンプ更新用のファイル(即ちA+TSxなど)が保存される場合は、この更新フラグを1とする。
【0073】
また、更新されたタイムスタンプファイルの検証処理には、更新される前の履歴が必要である。よって、時刻認証装置1の制御部100は、タイムスタンプの更新を行うと、更新タイムスタンプDB1011に、その履歴を登録する。例えば、ファイルAに付与されたタイムスタンプを更新する場合は、ファイルAおよび、更新ファイルであるA+TSxに関する情報をタイムスタンプDB1010から取得し、更新タイムスタンプDB1011に登録する。ここで、更新タイムスタンプDB1011の「前のファイル」や「次のファイル」と示されるフィールドには、更新履歴の関係を示すポインタを記憶する。例えば、ファイルAの「次のファイル」には更新ファイルであるA+TSxの情報が記憶されている領域へのポインタが保存される。逆に、A+TSxの「前のファイル」には更新元であるファイルAの情報が記憶されている領域へのポインタが保存される。
【0074】
ファイルの検証処理において、タイムスタンプDB1010内の検証対象ファイルの更新フラグが1となっていれば、ステップS308を終えた後に、更新状況の検証を行ってもよい。具体的には制御部100は、更新タイムスタンプDB1011を検索し、検証対象ファイルに対応付けて記憶されている「前のファイル」のポインタを順次手繰る。そして、「前のファイル」のポインタが指す先がヌルとなるまで(例えば検証対象が更新ファイルA+TSxの場合、更新される元のファイルAまで)順次ファイルスタンプの検証を行い(ステップS301〜S303と同様の処理)、ファイルの改ざんがなく、また、タイムスタンプが失効する前に更新されていれば、検証対象ファイル(この場合、A+TSx)は有効であると判断される。
【0075】
一方、例えばファイルAを検証したい場合、タイムスタンプDB1010を参照しても、検証対象ファイルが存在しない。このような場合、ファイルAは更新されている可能性があるので、時刻認証装置1の制御部100は更新タイムスタンプDB1011を参照する。更新タイムスタンプDB1011に対象ファイルが存在すれば、「次のファイル」の示すポインタを順次取得し、最終的更新ファイル名(A+TSx)を取得すればよい。最終的に更新されたファイル名を取得すると、今度はタイムスタンプDB1010に記憶される、受付順序番号1を有するファイルから、該ファイル名を有するファイルに対して、受付順序番号順にステップS301〜S308の処理を行うことで、検証が可能となる。
【0076】
時刻認証装置1は、合成タイムスタンプについても証明有効期限を定期的にチェックし、証明有効期間が近いものを検出する。検出した合成タイムスタンプについては、その合成タイムスタンプに基づいて発行された合成タイムスタンプとともに全て再発行させる。
【0077】
以上、タイムスタンプの証明効力が失効する前に、時刻認証装置1がタイムスタンプを再取得するようにした。しかし、モバイル端末10に電源が投入されない状態が続いたり、時刻認証装置1がモバイル端末10に装着されていない状態が続くと、時刻認証装置1はタイムスタンプを再取得するための処理が行えず、タイムスタンプが失効してしまう可能性がある。
【0078】
これを考慮して、時刻認証装置1のユーザには時刻認証サーバ2へのユーザ登録を行わせる。ユーザ登録が行われていると、時刻認証サーバ2は、時刻認証装置1内に記憶された時刻認証を受けたファイル、および、タイムスタンプDB1010や、更新タイムスタンプDB1011の内容を時刻認証サーバ2のバックアップDB2111にコピーするサービス(バックアップサービス)を提供する。
【0079】
ユーザ登録は、例えば、ファイル操作用プログラムから、時刻認証装置1のプロパティを参照し、表示されたユーザ登録用メニュータグを選択することで行う。ユーザがこのメニュータグを選択すると、制御部100は、モバイル端末10の表示部115にユーザ登録用画面を表示する。ユーザは入力部116を操作してこのユーザ登録画面にメールアドレスなどのユーザ情報を入力する。ユーザが確認ボタンを押下すると、制御部100は入力された情報を、時刻認証装置1の利用権限IDとともに、時刻認証サーバ2へと送信する。時刻認証サーバ2は、これら情報を受信すると、利用権限IDに対応付けて、認証DB2110に記憶するユーザ情報記憶手段としての機能を有する。
【0080】
時刻認証装置1は、モバイル端末10がネットワークに接続されていると判断すると、バックアップ要求を時刻認証サーバ2へ送信する。時刻認証サーバ2はユーザ情報が登録されていれば、要求を受付る旨の返信を行う。すると、時刻認証装置1は、タイムスタンプDB1010や、更新タイムスタンプDB1011の内容等の他、タイムスタンプDB1010に記憶されているファイルパスを有するファイル自体も時刻認証サーバ2に送信する。時刻認証サーバ2は、情報を受け取ると、バックアップDB2111に、ユーザIDに対応付けて受信した情報を記憶する。このように、バックアップDB2111には、タイムスタンプを付与された対象のファイル自体も記憶されるので、タイムスタンプの検証に必要なファイルがバックアップDB2111内に全て揃うことになる。
【0081】
時刻認証サーバ2は、ユーザ登録が行われている場合、バックアップDB2111内に記憶されているファイルに付与されたタイムスタンプの証明有効期限をチェックする。また、時刻認証サーバ2は、時刻認証装置1から定期的にバックアップDB2111へデータが送信されているかについてもチェックする。期限が近いタイムスタンプがある場合、或いは、既定期間以上バックアップDB2111への更新がない場合、時刻認証サーバ2は、ユーザにその旨を通知する。通知は、時刻認証サーバ2が認証DB2110に登録されているアドレスに、時刻認証装置1をモバイル端末10を介してネットワークに接続するようにユーザを促す旨のメールを送信することで行う。
【0082】
以上、本発明の実施の形態を説明したが、本発明を実施するにあたっては、種々の形態による変形及び応用が可能であり、上記実施の形態に限られるものではない。
【0083】
例えば、本実施の形態をコンパクトフラッシュ(登録商標)やSDカード、およびUSBメモリなどの記憶媒体に応用してもよい。即ち、上述した時刻認証装置1に時刻認証関連処理を行わせる制御プログラムを、これら記憶媒体に記憶する。そして、記憶媒体がモバイル端末10に装着された時にこのプログラムをモバイル端末10上で実行することで、時刻認証関連処理を行うようにする。
【0084】
また、本実施の形態を上記のような記憶媒体に応用した場合、記憶媒体が装着される先として、モバイル端末10ではなくデジタルカメラなどとしてもよい。この場合、記憶媒体がデジタルカメラに装着されたときに、時刻認証関連処理を行う制御プログラムをデジタルカメラ上で実行する。このプログラムにより、デジタルカメラは、新たに撮影された画像または動画ファイルに対して、時刻認証処理を行った上で記憶媒体上に保存する。ファイル名は、撮影された順番に連番を振ればよい。記憶媒体がデジタルカメラに装着されていれば、デジタルカメラの内蔵時計に基づいて時刻認証処理を行う。一方、記憶媒体がデジタルカメラからパソコンなどに装着された場合には、パソコンを介してネットワークに接続し、時刻認証サーバ2による時刻認証処理を行えばよい。これにより、デジタルカメラによって撮影された画像または動画ファイルの原本性や時刻の保証が可能となる。
【0085】
また、本実施の形態においては、時刻認証装置1に予め時刻認証サーバ2の提供するサービスの利用権限を与えるようにしたが、モバイル端末10に接続権限を備えさせ、時刻認証装置1はモバイル端末10に与えられている接続権限用のIDを用いて時刻認証サーバ2から時刻認証を受けるようにしてもよい。
【0086】
或いは、時刻認証装置1に予め時刻認証サーバ2の提供するサービスの利用権限を与えるのではなく、例えばユーザが一定金額を払うと、時刻認証装置1の有するサービスの利用権限を特定するID、およびパスワードを時刻認証サーバ2の認証用DBに登録するようにしてもよい。そして、認証用DBにはサービス利用権限を特定するIDに対応付けて、このIDの有効性を示すフラグを設けてもよい。時刻認証装置1を購入した時点で、このフラグを有効にする。そして一定期間が経過すると、このフラグを無効にする。ステップS202で行われるサービス利用権限の認証処理では、このフラグが有効であることをまず判断してからIDおよびパスワードの認証を行う。こうすることで、時刻認証装置1プリペイド式に時刻認証サービスを提供することが可能となる。プリペイド金額に応じて、時刻認証装置1の発行するタイムスタンプの有効期間を設定してもよい。
【0087】
上記実施の形態では、時刻認証装置の制御プログラムが記憶部等に予め記憶されているものとして説明した。しかし、モバイル端末に、フレキシブルディスク、CD−ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto-Optical disk)、USBメモリ等の記憶媒体を読み取る装置のいずれか適したものを備えさせ、これら記憶媒体に制御プログラムを格納して時刻認証装置に配布して上述の処理動作を実行をする装置を構成してもよい。
【0088】
また、制御プログラムを、通信ネットワーク上の所定のサーバ装置が有するディスク装置等に格納しておき、時刻認証装置にダウンロードするようにしてもよい。さらに、通信ネットワークを介してプログラムを転送しながら起動実行することによっても、上述の処理を達成することができる。
【0089】
なお、上記実施の形態に係る時刻認証装置は、制御部がプログラムによって制御する構成にするのではなく、専用のハードウェアによっても実現することができる。
【図面の簡単な説明】
【0090】
【図1】本発明の実施の形態に係るシステムの構成例を示すブロック図である。
【図2】時刻認証サーバの構成例を示すブロック図である。
【図3】時刻認証装置とモバイル端末の構成例を示すブロック図である。
【図4】(A)は、認証DBのデータ構成例を示す図であり、(B)は、バックアップDBのデータ構成例を示す図である。
【図5】(A)は、タイムスタンプDBのデータ構成例を示す図であり、(B)は、更新タイムスタンプDBのデータ構成例を示す図である。
【図6】時刻認証装置の時刻認証処理の例を示すフロー図である。
【図7】時刻認証装置の時刻認証処理の例を示すフロー図である。
【図8】合成タイムスタンプが発行される様子を示す図である。
【図9】時刻認証装置の検証処理の例を示すフロー図である。
【図10】タイムスタンプの更新を行った後のタイムスタンプDBの様子を示す図である。
【符号の説明】
【0091】
1 時刻認証装置
10 モバイル端末
100 制御部
101 記憶部
1010 タイムスタンプDB
1011 更新タイムスタンプDB
103 通信部
109 バス
110 制御部
111 記憶部
112 計時部
113 通信部
114 ネットワーク通信部
115 表示部
116 入力部
119 バス
2 時刻認証サーバ
210 制御部
211 記憶部
2110 認証DB
2111 バックアップDB
214 ネットワーク通信部
215 表示部
216 入力部
219 バス
3 ネットワーク

【特許請求の範囲】
【請求項1】
時刻認証サーバと通信可能な端末に装着される時刻認証装置を備える時刻認証システムであって、
前記時刻認証サーバは、
受信した電子データに対して標準時刻情報に基づいて時刻証明書を発行する標準時刻証明書発行手段を備え、
前記時刻認証装置は、
前記端末から、電子データに対する時刻認証要求、および該電子データを受信する時刻認証要求受信手段と、
前記端末が前記時刻認証サーバと通信可能であるか否かを判断する通信判断手段と、
前記端末から現在時刻情報を取得する時刻取得手段と、
入力を受け付け、該入力のハッシュ値を前記時刻認証サーバへと送信し、該入力のハッシュ値に対し、標準時刻情報に基づいた時刻証明書を前記標準時刻証明書発行手段から受信する外部時刻証明書発行手段と、
入力を受け付け、該入力のハッシュ値に対し、前記時刻取得手段が取得した時刻に基づいて時刻証明書を発行する内部時刻証明書発行手段と、
入力を受け付け、前記通信判断手段によって前記端末は前記時刻認証サーバと通信可能であると判断された場合、該入力を前記外部時刻証明書発行手段への入力となるように出力して前記外部時刻証明書発行手段に時刻証明書を発行させ、前記通信判断手段によって前記端末は前記時刻認証サーバと通信不能であると判断された場合、該入力を前記内部時刻証明書発行手段への入力となるように出力して前記内部時刻証明書発行手段に時刻証明書を発行させる時刻証明書発行手段と、
入力を受け付け、該入力を前記時刻証明書発行手段への入力となるように出力して前記時刻証明書発行手段に第1の時刻証明書を発行させ、発行された該第1の時刻証明書と、前回受け付けられた入力に対して発行された第2の時刻証明書とを、前記時刻証明書発行手段に入力して前記時刻証明書発行手段に第2の時刻証明書を発行させる時刻認証手段と、
前記時刻認証要求受信手段の受信した電子データを取得し、前記時刻認証手段の入力となるように出力して前記時刻認証手段に前記第1の時刻証明書および第2の時刻証明書を発行させる時刻認証制御手段と、
を備える、
ことを特徴とする時刻認証システム。
【請求項2】
前記時刻認証制御手段は、前記時刻認証要求受信手段が所定の期間時刻認証要求を受信しなかった場合、前記時刻認証手段に第1の時刻証明書および第2の時刻証明書を発行させる、
ことを特徴とする請求項1に記載の時刻認証システム。
【請求項3】
前記時刻認証サーバは、前記時刻認証装置を特定する識別情報と、該識別情報の有効性を示すフラグとを対応付けて記憶する識別情報記憶手段を備え、
前記識別情報記憶手段は、前記識別情報によって特定される前記時刻認証装置を使用するユーザが予め所定の金額を納めた旨の情報を受信すると、該識別情報に対応付けて記憶される前記フラグを所定の期間有効にし、
前記標準時刻証明書発行手段は、受信した前記識別情報と前記識別情報記憶手段に記憶されていると判断し、且つ前記フラグが有効となっていると判断すると、受信した電子データに対して標準時刻情報に基づいて時刻証明書を発行する、
ことを特徴とする請求項1に記載の時刻認証システム。
【請求項4】
前記時刻認証装置は、前記時刻認証手段が発行したいずれかの第1の時刻証明書の有効期限までの残期間が所定の期間以下であると判断すると、該第1の時刻証明書と、該第1の時刻証明書を発行した際の入力とを併せて、前記時刻認証手段への入力となるように出力して、前記時刻認証手段に第1および第2の時刻証明書を新たに発行させる時刻再認証手段を備える、
ことを特徴とする請求項1に記載の時刻認証システム。
【請求項5】
前記時刻認証装置は、前記通信判断手段が前記端末は前記時刻認証サーバと通信可能であると判断すると、前記時刻認証装置を特定する識別情報と、前記時刻認証制御手段の発行させた第1および第2の時刻証明書とを前記時刻認証サーバに送信する送信手段を備え、
前記時刻認証サーバは、
前記時刻認証装置を特定する識別情報に対応付けて、前記時刻認証装置を使用するユーザのメールアドレスを含むユーザ情報を記憶するユーザ情報記憶手段と、
前記送信手段が送信した前記時刻認証装置を特定する識別情報を受信すると、前記ユーザ情報記憶手段を参照し、該識別情報に対応付けてユーザ情報が登録されていると、前記送信手段が送信した第1および第2の時刻証明書を受信し、受信した第1および第2の時刻証明書を該識別情報に対応付けて記憶する時刻証明書記憶手段と、
前記時刻証明書記憶手段に記憶された、前記第1および第2のいずれかの時刻証明書の有効期限までの残期間が所定の期間以下であると判断されると、該有効期限が近づいている該第1および第2の時刻証明書を発行させた前記時刻認証制御手段を有する時刻認証装置を識別する該識別情報に対応付けて前記ユーザ情報記憶手段に登録されているユーザのメールアドレスに、対処を促す旨の通知メールを送信するメール送信手段と、
を備える、
ことを特徴とする請求項1に記載の時刻認証システム。
【請求項6】
電子データに対して時刻証明書を発行する時刻認証サーバと通信可能な端末に装着される時刻認証装置であって、
前記時刻認証装置は、
前記端末から、電子データに対する時刻認証要求、および該電子データを受信する時刻認証要求受信手段と、
前記端末が前記時刻認証サーバと通信可能であるか否かを判断する通信判断手段と、
前記端末から現在時刻情報を取得する時刻取得手段と、
入力を受け付け、該入力のハッシュ値を前記時刻認証サーバへと送信し、該入力のハッシュ値に対し、標準時刻情報に基づいた時刻証明書を前記時刻認証サーバから受信する、外部時刻証明書発行手段と、
入力を受け付け、該入力のハッシュ値に対し、前記時刻取得手段が取得した時刻に基づいて時刻証明書を発行する、内部時刻証明書発行手段と、
入力を受け付け、前記通信判断手段によって前記端末は前記時刻認証サーバと通信可能であると判断された場合、該入力を前記外部時刻証明書発行手段への入力となるように出力し、前記外部時刻証明書発行手段に時刻証明書を発行させ、前記通信判断手段によって前記端末は前記時刻認証サーバと通信不能であると判断された場合、該入力を前記内部時刻証明書発行手段への入力となるように出力し、前記内部時刻証明書発行手段に時刻証明書を発行させる、時刻証明書発行手段と、
入力を受け付け、該入力を前記時刻証明書発行手段への入力となるように出力し、前記時刻証明書発行手段に第1の時刻証明書を発行させ、発行された該第1の時刻証明書と、前回受け付けられた入力に対して発行された第2の時刻証明書とを、前記時刻証明書発行手段に入力し、前記時刻証明書発行手段に第2の時刻証明書を発行させる時刻認証手段と、
前記時刻認証要求受信手段の受信した電子データを取得し、前記時刻認証手段の入力となるように出力し、前記時刻認証手段に第1の時刻証明書および第2の時刻証明書を発行させる、時刻認証制御手段と、
を備えることを特徴とする時刻認証装置。
【請求項7】
時刻認証サーバにネットワークを介して接続されたコンピュータを、
電子データに対する時刻認証要求、および該電子データを受信する時刻認証要求受信手段、
時刻認証サーバと通信可能であるか否かを判断する通信判断手段、
現在時刻情報を取得する時刻取得手段、
入力を受け付け、該入力のハッシュ値を前記時刻認証サーバへと送信し、該入力のハッシュ値に対し、標準時刻情報に基づいた時刻証明書を前記時刻認証サーバから受信する、外部時刻証明書発行手段、
入力を受け付け、該入力のハッシュ値に対し、前記時刻取得手段が取得した時刻に基づいて時刻証明書を発行する、内部時刻証明書発行手段、
入力を受け付け、前記通信判断手段によって前記端末は前記時刻認証サーバと通信可能であると判断された場合、該入力を前記外部時刻証明書発行手段への入力となるように出力し、前記外部時刻証明書発行手段に時刻証明書を発行させ、前記通信判断手段によって前記端末は前記時刻認証サーバと通信不能であると判断された場合、該入力を前記内部時刻証明書発行手段への入力となるように出力し、前記内部時刻証明書発行手段に時刻証明書を発行させる、時刻証明書発行手段、
入力を受け付け、該入力を前記時刻証明書発行手段への入力となるように出力し、前記時刻証明書発行手段に第1の時刻証明書を発行させ、発行された該第1の時刻証明書と、前回受け付けられた入力に対して発行された第2の時刻証明書とを前記時刻証明書発行手段に入力し、前記時刻証明書発行手段に第2の時刻証明書を発行させる時刻認証手段、
前記時刻認証要求受信手段の受信した電子データを取得し、前記時刻認証手段の入力となるように出力し、前記時刻認証手段に第1の時刻証明書および第2の時刻証明書を発行させる、時刻認証制御手段、
として機能させる時刻認証プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2008−235970(P2008−235970A)
【公開日】平成20年10月2日(2008.10.2)
【国際特許分類】
【出願番号】特願2007−68200(P2007−68200)
【出願日】平成19年3月16日(2007.3.16)
【出願人】(396004981)セイコープレシジョン株式会社 (481)
【Fターム(参考)】