説明

時刻提供装置および時刻提供方法

【課題】電子機器などの外部装置に正確かつ真正な時刻を提供する。
【解決手段】時刻認証局3から取得したタイムスタンプトークンに含まれるTS時刻情報の真正性を、このタイムスタンプトークンに含まれる電子署名を用いて検証し、検証の結果、真正であると認定されたTS時刻情報が示す時刻を、時刻提供装置6のTS時計の時刻として設定する。また、NTPサーバ5から取得したNTP時刻情報が示す時刻を時刻提供装置6のNTP時計の時刻として設定する。そして、TS時計の時刻とNTP時計の時刻とが一致するとみなすことができる所定の関係であるか否かを判断し、両時刻が一致するとみなすことができる所定の関係である場合に、NTP時計の時刻をサービス利用者のパーソナルコンピュータ10に出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、時計を内蔵した電子機器などに対し、標準時に合致した時刻を提供する時刻提供装置および時刻提供方法に関する。
【背景技術】
【0002】
現在、文書の電子化、音声・映像記録のデジタル化が進み、これに伴い、文書データ、音声データ、映像データなどの電子データの作成日時などを示す時刻情報の重要性が増しつつある。なお、「時刻情報」には、時刻を示す情報だけでなく、年月日を示す情報も含まれるものとする。
【0003】
このような状況の下、電子データに、その作成日時などを示す正確な時刻情報を付加する要請が高まりつつある。
【0004】
電子データに正確な時刻情報を付加する方法として、電子データを作成するためのコンピュータの内部時計が示す時刻を、NTP(Network Time Protocol)サーバから供給される時刻情報を用いて設定する方法がある。すなわち、コンピュータを用いて電子データを作成する場合、電子データに付加される時刻情報は、コンピュータの内部時計が示す時刻を用いて生成される。そこで、コンピュータをインターネットなどのコンピュータネットワークに接続し、標準時に合致した正確な時刻情報をNTPサーバから取得し、この時刻情報を用いてコンピュータの内部時計の時刻を正確に設定する。これにより、電子データに正確な時刻情報を付加することができる。
【0005】
また、電子データの作成日時などを示す時刻情報の重要性が増しつつある状況の下、電子データに、その作成日時などを示す真正な時刻情報を付加する要請が高まりつつある。
【0006】
電子データに真正な時刻情報を付加する方法として、時刻認証局から発行されるタイムスタンプを電子データに付加する方法がある。すなわち、電子データの所有者または利用者は時刻認証局に対し、電子データに付加すべきタイムスタンプの発行を要求する。時刻認証局は、電子データの所有者または利用者の要求に応じ、標準時に合致した時刻を示す時刻情報を生成し、この時刻情報を電子データのハッシュ値に付加する。さらに、時刻認証局は、電子データのハッシュ値に時刻情報を付加したものに電子署名を付加し、このようにして生成された情報群をタイムスタンプとして電子データの所有者または利用者に発行する。タイムスタンプに含まれる時刻情報には、時刻認証局による電子署名が付加されており、時刻認証局は時刻認証業務を行う機関として公的に認定されている。このため、タイムスタンプに含まれる時刻情報は、その真正性を確認することができる。なお、タイムスタンプの発行に関する手続きは、RFC3161により国際標準化されている。
【0007】
また、特開2006−236251号公報(特許文献1)には、標準電波送信所や衛星から受信した電波時刻と、時刻発行サーバからネットワークを介して取得した認証時刻とを用いて内部時計のローカル時刻の校正を行うタイムスタンプ装置が記載されている。
【特許文献1】特開2006−236251号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
ところで、正確かつ真正な時刻を刻む内部時計を有し、この内部時計が示す正確かつ真正な時刻を、コンピュータなどの電子機器に提供する時刻提供装置の研究が進められている。このような時刻提供装置が実現すれば、電子機器は、時刻提供装置から提供された正確かつ真正な時刻を用いて当該電子機器の内部時計が示す時刻を設定することにより、当該電子機器の内部時計が示す時刻の正確性および真正性を容易に維持することが可能になる。この結果、当該電子機器により作成された電子データに正確かつ真正な時刻情報を容易に付加することが可能になる。
【0009】
しかし、このような時刻提供装置を実現するにあたり、次のような問題がある。
【0010】
上述したように、NTPサーバは正確な時刻情報を供給する。したがって、NTPサーバから正確な時刻情報を取得し、この時刻情報を用いて時刻提供装置の内部時計の時刻を正確に設定することが可能である。
【0011】
しかしながら、この場合には、時刻提供装置の内部時計が示す時刻の真正性を保証することが難しいという問題がある。すなわち、NTPサーバから供給される時刻情報は、ネットワーク上の攻撃や疑似信号により改ざんされる可能性がある。しかも、NTPサーバから供給される時刻情報には、多くの場合、時刻情報の真正性を証明する電子署名などが付されていない。さらに、NTPサーバにより時刻情報を供給する事業者を公的に認定する制度が整備されておらず、当該事業者の信頼性を十分に保証することが困難である。このような事情により、NTPサーバから取得した時刻情報を用いて時刻提供装置の内部時計の時刻を設定した場合には、時刻提供装置の内部時計が示す時刻の真正性を保証することが難しい。
【0012】
一方、時刻認証局から発行されるタイムスタンプに含まれる時刻情報は、上述したように、その真正性を確認することができる。また、このタイムスタンプに含まれる時刻情報は、標準時に合致した時刻を示す時刻情報であり正確である。そこで、本出願の発明者は、タイムスタンプに含まれる時刻情報を用いて時刻提供装置の内部時計が示す時刻を設定することにより、時刻提供装置の内部時計が示す時刻の真正性を保証するというアイディアを想起した。
【0013】
しかしながら、従来、時刻認証局から発行されるタイムスタンプは電子データに付加される形で用いられているにすぎない。このため、このタイムスタンプに含まれる時刻情報を用いて内部時計の時刻を設定する時刻提供装置を実現するためには、次に述べるいくつかの問題がある。
【0014】
まず、タイムスタンプに含まれる時刻情報を用いて時刻提供装置の内部時計に真正な時刻を設定するためには、内部時計に時刻を設定する前に、タイムスタンプに含まれる時刻情報の真正性を検証しなければならず、この検証方法または検証手段を具体的に検討しなければならないという問題がある。
【0015】
次に、時刻提供装置が時刻認証局に対してタイムスタンプの発行を要求してから、時刻認証局が発行したタイムスタンプが時刻提供装置に受け取られるまでには、ある程度の時間がかかる。この時間は、時刻提供装置と時刻認証局との間の情報通信の遅延や、時刻認証局におけるタイムスタンプ生成処理にかかる時間などに起因する。このため、タイムスタンプに含まれる時刻情報をそのまま用いて時刻提供装置の内部時計が示す時刻を設定すると、内部時計が示す時刻が標準時よりもわずかに(例えば100ms(ミリ秒)〜500ms程度)遅れてしまう。この結果、内部時計が示す時刻の精度を高めることが難しいという問題がある。
【0016】
次に、時刻提供装置が時刻認証局から取得する時刻情報の正確性または真正性をいわゆるリプライ攻撃により損なわれるのを防止することが困難であるという問題がある。リプライ攻撃とは、ここでは、時刻認証局から時刻提供装置に送信されるタイムスタンプを傍受し、これをそのまま繰り返しまたは遅延させて時刻提供装置に送りつけることを意味する。このようなリプライ攻撃は、時刻の改ざんを目的として行われる。リプライ攻撃を受けると、時刻提供装置が時刻認証局から取得する時刻情報の正確性または真正性が損なわれてしまう。リプライ攻撃は、タイムスタンプを丸ごと傍受し、そのタイムスタンプをそのまま時刻提供装置に送信する行為であるため、タイムスタンプに含まれる時刻情報に付加された電子署名を検証するだけでは、リプライ攻撃を見破ることができない。それゆえ、時刻提供装置が時刻認証局から取得する時刻情報の正確性または真正性をリプライ攻撃により損なわれるのを防止することは困難である。
【0017】
他方、特開2006−236251号公報に記載されたタイプスタンプ装置は、標準電波送信所や衛星から受信した電波時刻と、時刻発行サーバからネットワークを介して取得した認証時刻とを用いて内部時計のローカル時刻の校正を行うが、標準電波送信所や衛星から受信した電波時刻は改ざんの可能性がある。そして、時刻発行サーバからネットワークを介して取得した認証時刻には、上述した時刻認証局が発行するタイムスタンプと異なり、認証時刻の真正性を証明する電子署名などが付加されていない。これらの理由により、このタイムスタンプ装置では、ローカル時刻の真正性を保証することが難しいという問題がある。
【0018】
本発明は例えば上述したような問題に鑑みなされたものであり、本発明の第1の課題は、電子機器などの外部装置に正確かつ真正な時刻を提供することができる時刻提供装置および時刻提供方法を提供することにある。
【0019】
本発明の第2の課題は、いわゆるリプライ攻撃により時刻情報の正確性または真正性が損なわれるのを防止することができる時刻提供装置および時刻提供方法を提供することにある。
【課題を解決するための手段】
【0020】
上記課題を解決するために、本発明の第1の時刻提供装置は、外部装置に時刻を提供する時刻提供装置であって、標準時に合致した時刻を示す時刻情報と、当該時刻情報が真正であることまたは当該時刻情報の発行主体が真正であることを証明する証明情報とを含むタイムスタンプトークンを発行するタイムスタンプトークン発行局から前記タイムスタンプトークンを取得するタイムスタンプトークン取得手段と、前記タイムスタンプトークン取得手段により取得されたタイムスタンプトークンに含まれる前記時刻情報の真正性を、当該タイムスタンプトークンに含まれる前記証明情報を用いて検証する真正性検証手段と、時刻を刻む時計と、前記真正性検証手段により真正性が検証された前記時刻情報が示す時刻を前記時計の時刻として設定する時刻設定手段と、前記時刻設定手段により設定された前記時計の時刻を前記外部装置に出力する時刻出力手段とを備えている。
【0021】
上記課題を解決するために、本発明の第2の時刻提供装置は、外部装置に時刻を提供する時刻提供装置であって、標準時に合致した時刻を示す第1の時刻情報と、当該第1の時刻情報が真正であることまたは当該第1の時刻情報の発行主体が真正であることを証明する証明情報とを含むタイムスタンプトークンを発行するタイムスタンプトークン発行局から前記タイムスタンプトークンを取得するタイムスタンプトークン取得手段と、前記タイムスタンプトークン取得手段により取得されたタイムスタンプトークンに含まれる前記第1の時刻情報の真正性を、当該タイムスタンプトークンに含まれる証明情報を用いて検証する真正性検証手段と、時刻を刻む第1の時計と、前記真正性検証手段により真正性が検証された前記第1の時刻情報が示す時刻を前記第1の時計の時刻として設定する第1の時刻設定手段と、標準時に合致した時刻を示す第2の時刻情報をネットワークタイムプロトコルに従って供給するNTPサーバから前記第2の時刻情報を取得するNTP時刻情報取得手段と、前記第1の時計から独立して時刻を刻む第2の時計と、NTP時刻情報取得手段により取得された第2の時刻情報が示す時刻を前記第2の時計の時刻として設定する第2の時刻設定手段と、前記第1の時刻設定手段により設定された前記第1の時計の時刻と、前記第2の時刻設定手段により設定された前記第2の時計の時刻とが一致するとみなすことができる所定の関係であるか否かを判断する処理である時刻監査処理を行う時刻監査手段と、前記時刻監査手段による時刻監査処理において、前記第1の時計の時刻と前記第2の時計の時刻とが一致するとみなすことができる所定の関係であると判断された場合には、前記第2の時計の時刻を前記外部装置に出力する時刻出力手段とを備えている。
【0022】
本発明の第3の時刻提供装置は、上述した第2の時刻提供装置において、前記タイムスタンプトークン取得手段は、前記タイムスタンプトークン発行局に対して前記タイムスタンプトークンの発行を要求するタイムスタンプトークン要求手段と、前記タイムスタンプトークン要求手段による前記タイムスタンプトークンの発行要求に応じて前記タイムスタンプトークン発行局から発行された前記タイムスタンプトークンを受け取るタイムスタンプトークン受取手段と、前記タイムスタンプトークン要求手段が前記タイムスタンプトークンの発行を要求してから前記タイムスタンプトークン受取手段が前記タイムスタンプトークンを受け取るまでの時間であるタイムスタンプトークン取得経過時間を測定する時間測定手段とを備え、前記時刻監査手段は、前記時刻監査処理において、前記第2の時計の時刻が、前記第1の時計の時刻以降であり、かつ前記時間測定手段により測定された前記タイムスタンプトークン取得経過時間を前記第1の時計の時刻に加えた時刻以前である場合に、前記第1の時計の時刻と前記第2の時計の時刻とが一致するとみなすことができる所定の関係であると判断する。
【0023】
本発明の第4の時刻提供装置は、上述した第2の時刻提供装置において、前記外部装置から発せられる時刻出力要求を受け取る時刻出力要求受取手段を備え、前記時刻出力手段は、前記時刻出力要求受取手段により受け取られた時刻出力要求に応じて前記第2の時計の時刻を前記外部装置に出力し、前記時刻監査手段は、前記時刻出力要求に応じて前記時刻出力手段が前記第2の時計の時刻を前記外部装置に出力しようとする度に、前記時刻監査処理を行う。
【0024】
本発明の第5の時刻提供装置は、上述した第1または第2の時刻提供装置において、固有値生成手段、固有値記憶手段、照合手段、照合情報記憶手段およびタイムスタンプトークン採否判断手段を備え、前記固有値生成手段は固有値を生成し、前記固有値記憶手段は前記固有値生成手段により生成された固有値を記憶し、前記タイムスタンプトークン取得手段は、前記固有値生成手段により生成された固有値を前記タイムスタンプトークン発行局に送り、かつ前記タイムスタンプトークン発行局に対し、前記固有値を含むタイムスタンプトークンの発行を要求するタイムスタンプトークン要求手段と、前記タイムスタンプトークン要求手段による前記固有値を含むタイムスタンプトークンの発行要求に応じて前記タイムスタンプトークン発行局から発行された前記固有値を含むタイムスタンプトークンを受け取るタイムスタンプトークン受取手段とを備え、前記照合手段は、前記タイムスタンプトークン受取手段により前記固有値を含むタイムスタンプトークンが受け取られる度に、前記タイムスタンプトークン受取手段により受け取られた前記固有値を含むタイムスタンプトークンに含まれる前記固有値と前記固有値記憶手段に記憶された前記固有値とが一致するか否かを判断し、前記照合情報記憶手段は、前記照合手段により、前記タイムスタンプトークン受取手段により受け取られた前記固有値を含むタイムスタンプトークンに含まれる前記固有値と前記固有値記憶手段に記憶された前記固有値とが一致すると判断された場合に、これら2つの固有値が一致した事実または回数を示す照合情報を記憶し、前記タイムスタンプトークン採否判断手段は、前記照合手段により、前記タイムスタンプトークン受取手段により受け取られた前記固有値を含むタイムスタンプトークンに含まれる前記固有値と前記固有値記憶手段に記憶された前記固有値とが一致すると判断された場合に、前記照合情報記憶手段に記憶された照合情報を参照することにより、前記タイムスタンプトークン受取手段により受け取られた前記固有値を含むタイムスタンプトークンに含まれる前記固有値と前記固有値記憶手段に記憶された前記固有値とが一致した事実が過去に存在しているか否かを判断し、当該事実が過去に存在している場合には、前記タイムスタンプトークン受取手段により今回受け取られた前記固有値を含むタイムスタンプトークンを不採用とする。
【0025】
上記課題を解決するために、本発明の第1の時刻提供方法は、時刻を刻む時計を用いて、外部装置に時刻を提供する時刻提供方法であって、標準時に合致した時刻を示す時刻情報と、当該時刻情報が真正であることまたは当該時刻情報の発行主体が真正であることを証明する証明情報とを含むタイムスタンプトークンを発行するタイムスタンプトークン発行局から前記タイムスタンプトークンを取得するタイムスタンプトークン取得工程と、前記タイムスタンプトークン取得工程において取得されたタイムスタンプトークンに含まれる前記時刻情報の真正性を、当該タイムスタンプトークンに含まれる前記証明情報を用いて検証する真正性検証工程と、前記真正性検証工程において真正性が検証された前記時刻情報が示す時刻を前記時計の時刻として設定する時刻設定工程と、前記時刻設定工程において設定された前記時計の時刻を前記外部装置に出力する時刻出力工程とを備えている。
【0026】
上記課題を解決するために、本発明の第2の時刻提供方法は、相互に独立してそれぞれ時刻を刻む第1の時計および第2の時計を用いて、外部装置に時刻を提供する時刻提供方法であって、標準時に合致した時刻を示す第1の時刻情報と、当該第1の時刻情報が真正であることまたは当該第1の時刻情報の発行主体が真正であることを証明する証明情報とを含むタイムスタンプトークンを発行するタイムスタンプトークン発行局から前記タイムスタンプトークンを取得するタイムスタンプトークン取得工程と、前記タイムスタンプトークン取得工程において取得されたタイムスタンプトークンに含まれる前記第1の時刻情報の真正性を、当該タイムスタンプトークンに含まれる証明情報を用いて検証する真正性検証工程と、前記真正性検証工程において真正性が検証された前記第1の時刻情報が示す時刻を前記第1の時計の時刻として設定する第1の時刻設定工程と、標準時に合致した時刻を示す第2の時刻情報をネットワークタイムプロトコルに従って供給するNTPサーバから前記第2の時刻情報を取得するNTP時刻情報取得工程と、NTP時刻情報取得工程において取得された第2の時刻情報が示す時刻を前記第2の時計の時刻として設定する第2の時刻設定工程と、前記第1の時刻設定工程において設定された前記第1の時計の時刻と、前記第2の時刻設定工程において設定された前記第2の時計の時刻とが一致するとみなすことができる所定の関係であるか否かを判断する処理である時刻監査処理を行う時刻監査工程と、前記時刻監査工程の時刻監査処理において、前記第1の時計の時刻と前記第2の時計の時刻とが一致するとみなすことができる所定の関係であると判断された場合には、前記第2の時計の時刻を前記外部装置に出力する時刻出力工程とを備えている。
【発明の効果】
【0027】
上述した本発明の第1の時刻提供装置では、タイムスタンプトークン発行局から取得したタイムスタンプトークンに含まれる時刻情報の真正性を、当該タイムスタンプトークンに含まれる証明情報を用いて検証し、検証した時刻情報が示す時刻(標準時に合致した時刻)を、時刻提供装置が有する時計の時刻として設定する。そして、この時計の時刻を外部装置に出力する。これにより、外部装置に正確かつ真正な時刻を提供することができる。
【0028】
すなわち、タイムスタンプトークンに含まれる時刻情報は、標準時に合致した時刻であり、正確である。そして、タイムスタンプトークンに含まれる時刻情報は、時刻提供装置においてタイムスタンプトークンに含まれる証明情報を用いてその真正性が検証されることにより、真正性が保証される。したがって、このようなタイムスタンプトークンに含まれる時刻情報を用いて設定された時計の時刻は、正確かつ真正な時刻である。よって、本発明の第1の時刻提供装置によれば、正確かつ真正な時刻を外部装置に提供することができる。
【0029】
上述した本発明の第2の時刻提供装置では、タイムスタンプトークン発行局から取得したタイムスタンプトークンに含まれる第1の時刻情報の真正性を、タイムスタンプトークン発行局から取得したタイムスタンプトークンに含まれる証明情報を用いて検証し、検証した第1の時刻情報が示す時刻(標準時に合致した時刻)を、時刻提供装置が有する第1の時計の時刻として設定する。また、NTPサーバから取得した第2の時刻情報が示す時刻(標準時に合致した時刻)を第2の時計の時刻として設定する。そして、第1の時計の時刻と第2の時計の時刻とが一致するとみなすことができる所定の関係であるか否かを判断し、両時刻が一致するとみなすことができる所定の関係である場合には、第2の時計の時刻を外部装置に出力する。これにより、外部装置に正確かつ真正な時刻を提供することができる。特に、第2の時刻提供装置によれば、第1の時計の時刻と第2の時計の時刻とが一致するとみなすことができる所定の関係である場合には、NTPサーバから取得した第2の時刻情報が示す標準時が設定された第2の時計の時刻を外部装置に出力するため、上述した本発明の第1の時刻提供装置と比較して、外部装置に提供する時刻の精度を高めることができる。
【0030】
すなわち、真正性が検証されたタイムスタンプトークンに含まれる時刻情報を用いて設定された第1の時計の時刻はその真正性が保証されている。しかし、タイムスタンプトークンに含まれる時刻情報は、タイムスタンプトークンがタイムスタンプトークン発行局から発信されてから時刻提供装置に到達するまでにかかる時間などが考慮されていない。このため、タイムスタンプトークンに含まれる時刻情報を用いて設定された第1の時計の時刻は標準時よりもわずかに(例えば100ms〜500ms程度)遅れてしまう。これに対し、NTPサーバから取得した第2の時刻情報を用いて設定された第2の時計の時刻は、真正性の保証はないものの、その精度が高い(例えば標準時に対し、数ms〜数十ms程度の誤差しかない)。したがって、第1の時計の時刻と第2の時計の時刻とが一致するとみなすことができる所定の関係である場合、第2の時計の時刻は、第1の時刻が示す時刻との一致性をもってその真正性が保証され、かつ精度が高い時刻である。よって、本発明の第2の時刻提供装置によれば、上述した本発明の第1の時刻提供装置と比較して精度が高く、かつ真正性が保証された時刻を外部装置に提供することができる。
【0031】
上述した本発明の第3の時刻提供装置では、時刻提供装置がタイムスタンプトークンの発行を要求してから、時刻提供装置がタイムスタンプトークンを受け取るまでの時間であるタイムスタンプトークン取得経過時間を測定する。そして、第2の時計の時刻が、第1の時計の時刻以降であり、かつタイムスタンプトークン取得経過時間を第1の時計の時刻に加えた時刻以前である場合に、第1の時計の時刻と第2の時計の時刻とが一致するとみなすことができる所定の関係であると判断する。これにより、第1の時計の時刻と第2の時計の時刻との一致性(両時刻が一致するとみなすことができるか否か)を適正に判断することができる。
【0032】
上述した本発明の第4の時刻提供装置では、外部装置からの時刻出力要求に応じて第2の時計の時刻を外部装置に出力しようとする度に、第1の時計の時刻と第2の時計の時刻とが一致するとみなすことができる所定の関係であるか否かを判断する処理(時刻監査処理)を行う。これにより、NTPサーバから取得した第2の時刻情報が、ネットワーク上の攻撃や疑似信号などにより改ざんされ、第2の時計に標準時と異なる時刻が設定されるといった事態が生じた場合には、外部装置からの時刻出力要求に応じて第2の時計の時刻を外部装置に出力しようとするときに、第1の時計の時刻と第2の時計の時刻とが一致するとみなすことができる所定の関係でないと判断することができ、この判断結果に基づいて、標準時と異なる時刻が外部装置に出力されるのを阻止することができる。したがって、外部装置に提供する時刻の正確性または真正性を高めることができる。
【0033】
上述した本発明の第5の時刻提供装置は、固有値を生成し、これを固有値記憶手段に記憶すると共に、この固有値を時刻提供装置からタイムスタンプトークン発行局へ送る。タイムスタンプトークン発行局は、時刻提供装置から送られた固有値を含むタイムスタンプトークンを発行する。時刻提供装置は、タイムスタンプトークン発行局から発行された、固有値を含むタイムスタンプトークンを受け取る。時刻提供装置は、固有値を含むタイムスタンプトークンを受け取る度に、固有値を含むタイムスタンプトークンに含まれる固有値と、固有値記憶手段に記憶された固有値とが一致するか否かを判断する。そして、時刻提供装置は、これら2つの固有値が一致した場合には、これら2つの固有値が一致した事実または回数を示す照合情報を照合情報記憶手段に記憶する。さらに、時刻提供装置は、上記2つの固有値が一致した場合には、照合情報記憶手段に記憶された照合情報を参照することにより、上記2つの固有値が一致した事実が過去に存在しているか否かを判断し、当該事実が過去に存在している場合には、今回受け取った、固有値を含むタイムスタンプトークンを不採用とする。これにより、リプライ攻撃により時刻情報の正確性または真正性が損なわれるのを防止することができる。
【0034】
すなわち、リプライ攻撃が行われた場合、同一の固有値を含むタイムスタンプトークンを時刻提供装置が2回以上受け取る可能性が高い。時刻提供装置が1回目に受け取ったタイムスタンプトークンは、タイムスタンプトークン発行局から発行され、時刻提供装置に正常に到達した真正なタイムスタンプトークンである可能性が高い。一方、2回目(あるいは3回目、4回目、…)に受け取った、同一の固有値を含むタイムスタンプトークンは、リプライ攻撃者により送られた偽のタイムスタンプトークンである可能性が高い。本発明の第5の時刻提供装置では、照合情報を参照することにより、2回目(あるいは3回目、4回目、…)に受け取った、同一の固有値を含むタイムスタンプトークンを特定し、このようなタイムスタンプトークンを不採用とする。すなわち、このようなタイムスタンプトークンに含まれる時刻情報を、時刻提供装置の有する時計の時刻設定には用いない。これにより、リプライ攻撃により、時刻情報の正確性または真正性、ひいては時刻提供装置の有する時計の時刻の正確性または真正性が損なわれるのを防止することができる。
【0035】
上述した本発明の第1の時刻提供方法によれば、上述した本発明の第1の時刻提供装置と同様に、外部装置に正確かつ真正な時刻を提供することができる。
【0036】
上述した本発明の第2の時刻提供方法によれば、上述した本発明の第2の時刻提供装置と同様に、外部装置に正確かつ真正な時刻を提供することができる。特に、第2の時刻提供方法によれば、上述した本発明の第1の時刻提供方法と比較して、外部装置に提供する時刻の精度を高めることができる。
【発明を実施するための最良の形態】
【0037】
以下、図面を参照しつつ、本発明の実施の形態について説明する。
【0038】
(時刻提供システム)
図1は、本発明の実施形態である時刻提供装置を含む時刻提供システムを示している。図1中の時刻提供システム100は、時刻提供サービスを行うためのシステムである。本実施形態において、時刻提供サービスとは、標準時に合致した正確かつ真正な時刻を、サービス利用者の電子機器(本実施形態ではパーソナルコンピュータ10)に提供するサービスである。
【0039】
時刻提供システム100は、国家時刻標準機関1、時刻配信監査局2、時刻認証局3、認証局4、NTPサーバ5、時刻提供装置6および管理用パーソナルコンピュータ7から構成されている。時刻認証局3、認証局4、NTPサーバ5および時刻提供装置6は広域なコンピュータネットワーク(例えばインターネット8)を介して相互に接続されている。また、時刻提供装置6および管理用パーソナルコンピュータ7はローカルなコンピュータネットワーク(例えばローカルエリアネットワーク9)を介して相互に接続されている。さらに、時刻提供装置6には、サービス利用者のパーソナルコンピュータ10がローカルなコンピュータネットワーク(例えばローカルエリアネットワーク9)を介して接続されている。
【0040】
国家時刻標準機関(NTA:National Time Authority)1は、標準時を決定、維持および供給する国家的機関であり、時刻配信監査局2に対して標準時に合致した時刻を示す時刻情報を供給する。
【0041】
時刻配信監査局(TA:Time Authority)2は、時刻認証局3を含む時刻関連業者に標準時に合致した時刻を示す時刻情報の配信を行い、また、時刻関連業者の時刻を監査する機関である。
【0042】
時刻認証局(TSA:Time Stamp Authority)3は、時刻配信監査局2から時刻情報の配信および監査を受け、標準時に高精度に合致した真正な時刻を保持し、また、クライアントからのタイムスタンプ発行要求(タイムスタンプリクエスト)に対してタイムスタンプトークンを発行する機関である。
【0043】
認証局(CA:Certification Authority)4は、電子的な証明書を発行し、管理する機関である。本実施形態において、認証局4は、時刻認証局3に時刻認証局証明書(公開鍵証明書)を発行する。
【0044】
NTPサーバ5は、ネットワークタイムプロトコル(NTP:Network Time Protocol、RFC1305)に基づき、標準時に合致した時刻を示す時刻情報を、インターネット8に接続されている電子機器(本実施形態では時刻提供装置6)に供給するサーバコンピュータである。
【0045】
時刻提供装置6は、本発明の時刻提供装置の実施形態であり、標準時に合致した高精度(正確)かつ真正な時刻を、サービス利用者のパーソナルコンピュータ10に提供する装置である。
【0046】
管理用パーソナルコンピュータ7は、時刻提供装置6を管理するためのパーソナルコンピュータであり、時刻提供装置6の管理者により用いられる。
【0047】
サービス利用者のパーソナルコンピュータ10は、時刻提供サービス利用者が用いるパーソナルコンピュータである。例えば、サービス利用者は、時刻提供装置6から高精度かつ真正な時刻の提供を受け、この時刻をパーソナルコンピュータ10の内部時計に設定する。これにより、パーソナルコンピュータ10で行った処理や、パーソナルコンピュータ10で生成したデータなどに高精度かつ真正な時刻が記録されるようになる。
【0048】
(タイムスタンプトークン)
図2は、時刻認証局3により発行されるタイムスタンプトークン20を示している。図2に示すように、タイムスタンプトークン20は、時刻提供装置6から送られたハッシュ値21と、標準時に合致した時刻を示す時刻情報22と、当該時刻情報22が真正であることを証明するために時刻認証局3により生成された電子署名23と、時刻情報22の発行主体である時刻認証局3の存在(正当性)を証明するために認証局4により生成され、時刻認証局3に引き渡された時刻認証局証明書24と、時刻認証局証明書24が真正であることを証明するために認証局4により生成され、時刻認証局3に引き渡された電子署名25とを含む。また、時刻認証局証明書24には、時刻認証局3の公開鍵26が含まれている。
【0049】
時刻認証局3は、時刻提供装置6からハッシュ値21を含むタイムスタンプトークン20の発行要求を受け取ったとき、これに応じて、タイムスタンプトークン20を次のような手順で生成する。まず、時刻認証局3は、時刻情報22にハッシュ値21を付加し、ハッシュ値21と時刻情報22とからなる情報ブロックのハッシュ値を生成する。続いて、時刻認証局3は、この情報ブロックのハッシュ値を時刻認証局3の秘密鍵で暗号化することにより、電子署名23を生成する。続いて、時刻認証局3は、ハッシュ値21と時刻情報22とからなる情報ブロックに電子署名23を付加し、さらにこれに時刻認証局証明書24と電子署名25とを付加する。
【0050】
(タイムスタンプトークンに含まれる時刻情報)
図2に示すように、タイムスタンプトークン20には標準時に合致した時刻を示す時刻情報22が含まれている。以下、タイムスタンプトークン20に含まれる時刻情報22を「TS時刻情報22」という。
【0051】
TS時刻情報22が示す時刻には、国家時刻標準機構1から時刻配信監査局2を介して供給、監査を受けて、標準時刻に高精度に同期した時刻認証局3の内部時計の時刻が用いられる。そして、TS時刻情報22は、時刻認証局3によりタイムスタンプトークン20に内包された形で発行される。国家時刻標準機関1は国家機関であり、時刻配信監査局2および時刻認証局3はいずれも公的に認定された機関である。したがって、TS時刻情報22が示す時刻は、正確かつ真正である。
【0052】
さらに、TS時刻情報22は、タイムスタンプトークン20に含まれる証明情報、すなわち、時刻認証局3による電子署名23および認証局4による電子署名25を用いてその真正性を証明することができる。時刻認証局3も認証局4も公的に認定された機関であるため、これらの電子署名23、25は信頼性が高い。それゆえ、これらの電子署名23、25に裏付けられたTS時刻情報22の真正性は高い。
【0053】
さらに、時刻認証局3には、タイムスタンプトークン20を時刻提供装置6に発行した事実を示す履歴情報が保存される。TS時刻情報22の真正性は、この履歴情報に基づいて証明することも可能である。すなわち、TS時刻情報22はそのトレーサビリティが確保されており、信頼性が高い。
【0054】
もっとも、タイムスタンプトークン20に含まれるTS時刻情報22は、タイムスタンプトークン20が時刻認証局3から発信されてからインターネット8を介して時刻提供装置6に到達するまでにかかる時間などが考慮されていない。したがって、時刻提供装置6がTS時刻情報22を用いて後述するTS時計40の時刻を設定すると、TS時計40の時刻は標準時よりもわずかに(例えば100ms〜500ms程度)遅れてしまう。このため、TS時計40の時刻は、正確であるものの、後述するNTP時計54の時刻のように高精度ではない。
【0055】
(NTPサーバから供給される時刻情報)
一方、図1中のNTPサーバ5は、ネットワークタイムプロトコルに基づき、標準時に合致した時刻を示す時刻情報を供給する。以下、NTPサーバ5からネットワークタイムプロトコルに基づき供給される時刻情報を「NTP時刻情報」という。ネットワークタイムプロトコルは、コンピュータネットワークに接続される電子機器において、当該電子機器の内部時計を標準時に合致した時刻に同期するためのプロトコルである。ネットワークタイムプロトコルに基づいて供給されるNTP時刻情報は、NTP時刻情報がNTPサーバ5から発信されてから電子機器に到達するまでにかかる時間などが考慮されている。したがって、時刻提供装置6がNTP時刻情報を用いてNTP時計54の時刻を設定すると、NTP時計54の時刻は標準時と高精度に合致する。例えば、NTP時計54の時刻と標準時との間の誤差は数ms〜数十ms程度である。
【0056】
もっとも、NTP時刻情報は、TS時刻情報22のように、公的に認定された機関から配信された時刻情報ではない場合が多い。また、NTP時刻情報は、TS時刻情報22のように、公的に認定された機関による証明情報が付加されていないため、その真正性を証明することが難しい。また、NTP時刻情報をNTPサーバ5から時刻提供装置6に供給した事実を示す履歴情報がNTP時刻情報の供給者側において保存されていない場合がある。これらの事情により、NTP時刻情報の真正性は、TS時刻情報22と比較して低い。
【0057】
(時刻提供装置の構成)
図3は時刻提供装置6の内部構造を示している。時刻提供装置6は、時刻認証局3から発行されたタイムスタンプトークン20に含まれるTS時刻情報22を用いて設定したTS時計40の時刻と、NTPサーバ5から供給されたNTP時刻情報を用いて設定したNTP時計54の時刻とを利用し、高精度(正確)かつ真正な時刻を、サービス利用者のパーソナルコンピュータ10に提供する。
【0058】
図3に示すように、時刻提供装置6の構成要素は、TS時計セクション30、NTP時計セクション50、時刻提供セクション60および制御・管理セクション70に分かれている。
【0059】
(TS時計セクション)
TS時計セクション30には、時刻認証局3から取得したタイムスタンプトークン20に含まれるTS時刻情報22を用いてTS時計40の時刻を設定するための構成要素が主に含まれている。すなわち、TS時計セクション30には、ハッシュ値生成部31、ハッシュ値照合データベース32、タイムスタンプトークン要求部33、タイムスタンプトークン受取部34、時間測定部35、真正性検証部36、ハッシュ値照合部37、タイムスタンプトークン採否判断部38、TS時刻設定部39およびTS時計40が含まれている。なお、TS時計セクション30において行われるタイムスタンプトークン取得に関する手続きは国際標準RFC3161に準拠している。
【0060】
ハッシュ値生成部31は、ハッシュ値21を生成し、生成したハッシュ値21をハッシュ値照合データベース32に記憶する。ハッシュ値21は、後述するように、時刻提供装置6により受け取られたタイムスタンプトークン20が、確かに、時刻提供装置6によるタイムスタンプトークン20の発行要求に応じて時刻認証局3から発行されたものであるか否か、およびいわゆるリプライ攻撃による偽のタイムスタンプトークンでないか否かを判断するのに用いられる。
【0061】
ハッシュ値生成部31は、例えば乱数をハッシュ関数に入力することによりハッシュ値21を生成する。なお、このハッシュ関数は時刻提供装置6の記憶部73に予め記憶されている。
【0062】
また、ハッシュ値生成部31は、例えば毎日0時を経過した直後に、1日に必要な数のハッシュ値21を一度に生成し、生成した複数のハッシュ値21をハッシュ値照合データベース32に記憶する。例えば、時刻提供装置6が時刻認証局3からタイムスタンプトークン20を取得する間隔が3時間である場合には、1日に必要なハッシュ値の数は8つである。この場合には、ハッシュ値生成部31は、毎日0時を経過した直後に、8つのハッシュ値21を一度に生成し、生成した8つのハッシュ値21をハッシュ値照合データベース32に記憶する。なお、各ハッシュ値21は乱数をハッシュ関数に入力することにより生成されるため、ハッシュ値21はそれぞれ相互に異なる固有な値である。
【0063】
ハッシュ値照合データベース32は、例えばハードディスクドライブ、フラッシュメモリなどの記憶装置を備えており、ハッシュ値生成部31により生成された1日に必要な数のハッシュ値21を記憶する。また、ハッシュ値照合データベース32は、ハッシュ値照合データベース32に記憶された各ハッシュ値21について、引き渡しフラグおよび照合回数値を記憶する。ハッシュ値21、引き渡しフラグおよび照合回数値は、図4に示すように、ハッシュ値照合テーブル41に記述された形で、ハッシュ値照合データベース32に記憶される。
【0064】
引き渡しフラグとは、ハッシュ値照合データベース32に記憶されたハッシュ値照合テーブル41中のハッシュ値21をタイムスタンプトークン20の発行要求に入れて時刻認証局3に送ったか否かを、ハッシュ値照合データベース32に記憶されたハッシュ値照合テーブル41中のハッシュ値21ごとに示すフラグである。引き渡しフラグを参照することにより、時刻認証局3に送ったことがあるハッシュ値21と、時刻認証局3に送ったことがないハッシュ値21とを識別することができる。すなわち、時刻提供装置6は、タイムスタンプトークン20の発行を要求する度に、時刻認証局3に常に異なるハッシュ値21を送る必要がある。時刻提供装置6は、引き渡しフラグを参照することにより、時刻認証局3に送ったことがないハッシュ値21を選択し、これを時刻認証局3に送ることができる。
【0065】
照合回数値とは、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20に含まれるハッシュ値21とハッシュ値照合データベース32に記憶されたハッシュ値照合テーブル41中のハッシュ値21との照合回数(両ハッシュ値が互いに一致した回数)を、ハッシュ値照合データベース32に記憶されたハッシュ値照合テーブル41中のハッシュ値21ごとに示す値である。照合回数値を参照することにより、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20に含まれるハッシュ値21とハッシュ値照合データベース32に記憶されたハッシュ値照合テーブル41中のハッシュ値21とが一致した事実が過去に存在しているか否かを判断することができる。すなわち、時刻提供装置6は、同一のハッシュ値21を含むタイムスタンプトークン20を2回以上受け取った場合には、このタイムスタンプトークン20をリプライ攻撃による偽のタイムスタンプトークンと判断する。照合回数値を参照することにより、この判断を容易に行うことができる。
【0066】
図3中のタイムスタンプトークン要求部33は、ハッシュ値生成部31により生成されたハッシュ値21を時刻認証局3に送り、かつ時刻認証局3に対してタイムスタンプトークン20の発行を要求する。具体的には、タイムスタンプトークン要求部33は、ハッシュ値照合データベース32に記憶されたハッシュ値照合テーブル41中のハッシュ値21の中から、時刻認証局3に送ったことがないハッシュ値21を選択し、このハッシュ値21をハッシュ値照合データベース32のハッシュ値照合テーブル41から読み出す。そして、タイムスタンプトークン要求部33は、この読み出したハッシュ値21を、タイムスタンプトークン20の発行を要求する旨の指令であるタイムスタンプトークン発行要求に入れて時刻認証局3に送る。例えば、時刻提供装置6が時刻認証局3からタイムスタンプトークン20を取得する間隔が3時間である場合には、タイムスタンプトークン要求部33は、3時間ごとに、異なるハッシュ値21をハッシュ値照合データベース32のハッシュ値照合テーブル41から読み出し、この読み出したハッシュ値21をタイムスタンプトークン発行要求に入れて時刻認証局3に送る。
【0067】
また、タイムスタンプトークン要求部33は、ハッシュ値21を時刻認証局3に送った直後、時刻認証局3に送った当該ハッシュ値21について、ハッシュ値照合データベース32に記憶されたハッシュ値照合テーブル41中の引き渡しフラグをオン(例えば「1」)に設定する。これにより、当該ハッシュ値21を時刻認証局3に送ったという事実がハッシュ値照合データベース32のハッシュ値照合テーブル41に記録される。
【0068】
タイムスタンプトークン受取部34は、タイムスタンプトークン要求部33によるタイムスタンプトークン20の発行要求に応じて時刻認証局3から発行されたタイムスタンプトークン20を受け取る。
【0069】
時間測定部35は、タイマを備えており、タイムスタンプトークン要求部33がタイムスタンプトークン20の発行を要求してからタイムスタンプトークン受取部34がタイムスタンプトークン20を受け取るまでの時間であるタイムスタンプトークン取得経過時間を測定する。
【0070】
図5に示すように、タイムスタンプトークン取得経過時間は、(1)タイムスタンプトークン要求部33がハッシュ値照合データベース32のハッシュ値照合テーブル41中からハッシュ値21を読み出し、タイムスタンプトークン発行要求を生成し終える時点t1から、ハッシュ値21を含むタイムスタンプトークン発行要求が時刻提供装置6から発信されインターネット8を介して時刻認証局3に到達する時点t2までの時間a、(2)時点t2から、時刻認証局3によりタイムスタンプトークン20が生成され、このタイムスタンプトークン20が時刻提供装置6に向かって時刻認証局3から発信される時点t4までの時間b、(3)時点t4から、このタイムスタンプトークン20が時刻認証局3からインターネット8を介して時刻提供装置6に到達し、TS時刻情報22の真正性が検証された後、このTS時刻情報22を用いてTS時計40の時刻が設定される時点t5までの時間cを合計した時間(a+b+c)である。時間aおよび時間cは、例えばインターネット8における情報通信の遅延などの影響により変動する。一方、時間bは時刻認証局3におけるタイムスタンプ20の生成処理時間などにより決まる。タイムスタンプトークン取得経過時間は例えば100ms〜500ms程度である。
【0071】
時間測定部35は、時点t1においてタイマによる計時を開始し、時点t5においてタイマによる計時を停止することにより、タイムスタンプトークン取得経過時間を測定する。なお、タイムスタンプトークン取得経過時間の許容範囲(例えば最長500ms)を設定し、実際に測定したタイムスタンプトークン取得経過時間がこの許容範囲を超えた場合には、当該タイムスタンプトークン20を破棄する構成としてもよい。
【0072】
図3中の真正性検証部36は、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20に含まれるハッシュ値21およびTS時刻情報22の真正性を、このタイムスタンプトークン20に含まれる電子署名23、25などを用いて検証する。
【0073】
図6に示すように、タイムスタンプトークン20に含まれるハッシュ値21およびTS時刻情報22の検証は、真正性検証部36により例えば次のような手順で行われる。
【0074】
まず、時刻認証局証明書24をハッシュ関数に入力することにより、時刻認証局証明書24のメッセージダイジェスト45を生成する。なお、このハッシュ関数は時刻提供装置6の記憶部73に予め記憶されている。
【0075】
続いて、認証局4による電子署名25を認証局4の公開鍵を用いて復号化し、これによりメッセージダイジェスト46を得る。なお、認証局4の公開鍵は、予め認証局4から取得され、時刻提供装置6の記憶部73に記憶されている。
【0076】
続いて、メッセージダイジェスト45とメッセージダイジェスト46とを比較し、両者が一致するかどうかを判断する。さらに、認証局4の証明書失効リストを取得し、証明書失効リストに時刻認証局証明書24に対応するシリアル番号が載っていないことを確認する。そして、メッセージダイジェスト45とメッセージダイジェスト46とが一致し、かつ、認証局4の証明書失効リストに時刻認証局証明書24に対応するシリアル番号が載っていない場合には、時刻認証局証明書24が真正なものであると認定する。
【0077】
時刻認証局証明書24が真正なものであると認定された場合には、続いて、ハッシュ値21とTS時刻情報22とからなる情報ブロックをハッシュ関数に入力することにより、ハッシュ値21とTS時刻情報22とからなる情報ブロックのダイジェストメッセージ47を生成する。
【0078】
続いて、真正なものと認定された時刻認証局証明書24に含まれる時刻認証局3の公開鍵26を用いて、時刻認証局3による電子署名23を複合化し、これによりメッセージダイジェスト48を得る。
【0079】
続いて、メッセージダイジェスト47とメッセージダイジェスト48とを比較し、両者が一致するかどうかを判断する。両者が一致した場合には、ハッシュ値21およびTS時刻情報22が真正なものであると認定する。
【0080】
一方、メッセージダイジェスト45とメッセージダイジェスト46とが一致しない場合、または認証局4の証明書失効リストに時刻認証局証明書24に対応するシリアル番号が載っている場合、またはメッセージダイジェスト47とメッセージダイジェスト48とが一致しない場合、真正性検証部36は、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20に含まれるハッシュ値21およびTS時刻情報22が真正なものでないと判断する。この場合、真正性検証部36は、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20を破棄する。
【0081】
図3中のハッシュ値照合部37は、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20が、確かに、時刻提供装置6によるタイムスタンプトークン20の発行要求に応じて時刻認証局3から発行されたものであるか否かをチェックする。
【0082】
すなわち、ハッシュ値照合部37は、タイムスタンプトークン受取部34によりタイムスタンプトークン20が受け取られる度に、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20に含まれるハッシュ値21とハッシュ値照合データベース32に記憶されたハッシュ値照合テーブル41中のいずれかのハッシュ値21とを照合し、両者が一致するか否かを判断する。具体的には、ハッシュ値照合部37は、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20からハッシュ値21を取り出し、この取り出したハッシュ値21と一致するハッシュ値21をハッシュ値照合データベース32のハッシュ値照合テーブル41中から見つけ出すために、ハッシュ値照合データベース32のハッシュ値照合テーブル41を検索する(このとき、検索の対象を、引き渡しフラグがオンのハッシュ値21のみとすることにより、検索の迅速化を図ることができる)。タイムスタンプトークン20から取り出したハッシュ値21と一致するハッシュ値21がハッシュ値照合データベース32のハッシュ値照合テーブル41中から見つかった場合には、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20が、確かに、時刻提供装置6によるタイムスタンプトークン20の発行要求に応じて時刻認証局3から発行されたものであると認定することができる。
【0083】
そして、ハッシュ値照合部37は、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20に含まれるハッシュ値21とハッシュ値照合データベース32に記憶されたハッシュ値照合テーブル41中のハッシュ値21とが一致すると判断された場合には、当該ハッシュ値について、ハッシュ値照合データベース32に記憶されたハッシュ値照合テーブル41中の照合回数値をインクリメントする。一方、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20に含まれるハッシュ値21とハッシュ値照合データベース32に記憶されたハッシュ値照合テーブル41中のハッシュ値21(送付済みのハッシュ値21、つまり引き渡しフラグがオンになっているハッシュ値21)とが一致しないと判断された場合には、ハッシュ値照合部37は、このタイムスタンプトークン20を破棄する。
【0084】
タイムスタンプ採否判断部38は、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20が、リプライ攻撃により繰り返しあるいは遅延させて送りつけられた偽のタイムスタンプトークンでないか否かを判断する。
【0085】
すなわち、タイムスタンプトークン採否判断部38は、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20に含まれるハッシュ値21とハッシュ値照合データベース32に記憶されたハッシュ値照合テーブル41中のハッシュ値21とが一致すると判断された場合に、ハッシュ値照合データベース32に記憶されたハッシュ値照合テーブル41中の照合回数値を参照することにより、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20に含まれるハッシュ値21とハッシュ値照合データベース32に記憶されたハッシュ値照合テーブル41中のハッシュ値21とが一致した事実が過去に存在しているか否かを判断する。具体的には、タイムスタンプトークン採否判断部38は、タイムスタンプトークン20から取り出したハッシュ値21と一致するハッシュ値21がハッシュ値照合データベース32のハッシュ値照合テーブル41中から見つかった場合に、この見つかったハッシュ値21についての照合回数値を参照し、この照合回数値が「2」以上であるか否かを判断する。照合回数値が「2」以上である場合には、同一のハッシュ値を含むタイムスタンプトークン20がタイムスタンプトークン受取部34により過去に受け取られていることを意味する。したがって、このような場合には、今回受け取ったタイムスタンプトークン20がリプライ攻撃による偽のタイムスタンプトークンである可能性が高いと認定することができる。
【0086】
そして、このようにタイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20がリプライ攻撃による偽のタイムスタンプトークンである可能性が高い場合には、タイムスタンプトークン採否判断部38は、このタイムスタンプトークン20を破棄する。
【0087】
TS時刻設定部39は、真正なTS時刻情報22であることが真正性検証部36により認定され、確かに時刻提供装置6によるタイムスタンプトークン20の発行要求に応じて時刻認証局3から発行されたタイムスタンプトークン20であることがハッシュ値照合部37により認定され、かつ、リプライ攻撃による偽のタイムスタンプトークンでないことがタイムスタンプトークン採否判断部38により認定された場合に、今回受け取った真正なタイムスタンプトークン20に含まれる真正なTS時刻情報22を、このタイムスタンプトークン20から取り出し、このTS時刻情報22が示す時刻をTS時計40の時刻として設定する。
【0088】
真正なTS時刻情報22であることが真正性検証部36により認定されず、時刻提供装置6によるタイムスタンプトークン20の発行要求に応じて時刻認証局3から発行されたタイムスタンプトークン20であることがハッシュ値照合部37により認定されず、または、リプライ攻撃による偽のタイムスタンプトークンでないことがタイムスタンプトークン採否判断部38により認定されなかった場合には、TS時刻設定部39は、今回受け取ったタイムスタンプトークン20に含まれるTS時刻情報22を用いてTS時計40の時刻を設定しない。
【0089】
TS時計40は、時刻提供装置6の第1の内部時計である。TS時計40は、時刻提供装置6の第2の内部時計であるNTP時計54から独立して時刻を刻む。
【0090】
(NTP時計セクション)
一方、NTP時計セクション50には、NTPサーバ5から取得したNTP時刻情報を用いてNTP時計54の時刻を設定するための構成要素が主に含まれている。すなわち、NTP時計セクション50には、NTP時刻情報要求部51、NTP時刻情報受取部52、NTP時刻設定部53およびNTP時計54が含まれている。なお、NTP時計セクション50により行われるNTP時刻の取得処理は国際標準のネットワークタイムプロトコル(RFC1305)に準拠して行われる。
【0091】
NTP時刻情報要求部51は、NTP時刻情報の供給を要求する旨の指令であるNTP時刻情報要求指令を生成し、これをNTPサーバ5に送る。例えば、時刻提供装置6がNTPサーバ5からNTP時刻情報を取得する間隔が3時間である場合には、NTP時刻情報要求部51は、3時間ごとに、NTP時刻情報要求指令をNTPサーバ5に送る。
【0092】
NTP時刻情報受取部52は、NTPサーバ5からNTP時刻情報を取得する。
【0093】
NTP時刻設定部53は、NTP時刻情報受取部52により受け取られたNTP時刻情報が示す時刻をNTP時計54の時刻として設定する。
【0094】
NTP時計54は、時刻提供装置6の第2の内部時計である。NTP時計54は、時刻提供装置6の第1の内部時計であるTS時計40から独立して時刻を刻む。
【0095】
(時刻提供セクション)
他方、時刻提供セクション60には、サービス利用者のパーソナルコンピュータ10からの時刻出力要求に応じ、後述の時刻監査処理を行い、時刻監査処理に合格した場合に限りNTP時計54の時刻をサービス利用者のパーソナルコンピュータ10に出力するための構成要素が主に含まれている。すなわち、時刻提供セクション60には、時刻出力要求受取部61、時刻監査部62および時刻出力部63が含まれている。
【0096】
時刻出力要求受取部61は、時刻提供装置6に対して時刻の出力を要求する旨の指令である時刻出力要求がサービス利用者のパーソナルコンピュータ10から発せられたとき、この時刻出力要求を受け取る。
【0097】
時刻監査部62は、TS時刻設定部39により設定されたTS時計40の時刻と、NTP時刻設定部53により設定されたNTP時計54の時刻とが一致するとみなすことができる所定の関係であるか否かを判断する処理である時刻監査処理を行う。時刻監査部62は、時刻出力要求に応じて時刻出力部63がNTP時計54の時刻をサービス利用者のパーソナルコンピュータ10に出力しようとする度に、時刻監査処理を行う。
【0098】
時刻監査処理において、時刻監査部62は、TS時計40の時刻およびNTP時計54の時刻をそれぞれ読み出し、さらに、時間測定部35により測定され、タイムスタンプトークン取得ログ情報81の一部として記憶部73に記憶されたタイムスタンプトークン取得経過時間の中から最新のものを読み出す。続いて、時刻監査部62は、NTP時計54の時刻が、TS時計40の時刻以降であり、かつタイムスタンプトークン取得経過時間をTS時計40の時刻に加えた時刻以前であるか否かを判断する。そして、時刻監査部62は、NTP時計54の時刻が、TS時計40の時刻以降であり、かつタイムスタンプトークン取得経過時間をTS時計40の時刻に加えた時刻以前である場合には、TS時計40の時刻とNTP時計54の時刻とが一致するとみなすことができる所定の関係であると判断する。
【0099】
この判断方法は次のような考え方に基づく(図5参照)。すなわち、タイムスタンプトークン20に含まれるTS時刻情報22が示す時刻は、時刻認証局3がタイムスタンプトークン20を生成した時点における標準時に合致する。例えば、図5中の時点t3において、時刻認証局3がタイムスタンプトークン20を生成した場合には、このタイムスタンプトークン20に含まれるTS時刻情報22が示す時刻は時点t3における標準時である。一方、このタイムスタンプトークン20を受け取った時刻提供装置6がこのタイムスタンプトークン20に含まれるTS時刻情報22を用いてTS時計40の時刻を設定する時点は時点t5である。この結果、TS時計40の時刻は真の時刻(標準時)よりも、少なくとも時間d(時点t5−時点t3)遅れてしまう。しかし、この時間dは、タイムスタンプトークン要求部33がタイムスタンプトークン20の発行を要求してからタイムスタンプトークン受取部34がタイムスタンプトークン20を受け取るまでの時間であるタイムスタンプトークン取得経過時間(図5中の時間a+b+c)よりも短い。したがって、次の関係が成り立つ。
【0100】
TS時刻情報が示す時刻≦真の時刻≦TS時刻情報が示す時刻+タイムスタンプトークン取得経過時間
なお、「TS時刻情報が示す時刻≦真の時刻」は、真の時刻が、TS時刻情報が示す時刻以降であることを意味する。すなわち、真の時刻が、TS時刻情報が示す時刻と等しく、または真の時刻が、TS時刻情報が示す時刻よりも後であることを意味する。また、「真の時刻≦TS時刻情報が示す時刻+タイムスタンプトークン取得経過時間」は、真の時刻が、TS時刻情報が示す時刻にタイムスタンプトークン取得経過時間を加えた時刻以前であることを意味する。すなわち、真の時刻が、TS時刻情報が示す時刻にタイムスタンプトークン取得経過時間を加えた時刻と等しく、または真の時刻が、TS時刻情報が示す時刻にタイムスタンプトークン取得経過時間を加えた時刻よりも前であることを意味する。
【0101】
そして、NTP時計54の時刻はTS時計40の時刻に比べるとより高精度であり、その誤差は数ms〜数十ms程度である。このNTP時計54の時刻の誤差は、タイムスタンプトークン取得経過時間(100ms〜500ms程度)と比較してきわめて小さな値であるため、無視することができる。すると、NTP時計54の時刻が正常である限り、真の時刻とNTP時計54の時刻とを同視することができるので、次式に至る。
【0102】
TS時計の時刻≦NTP時計の時刻≦TS時計の時刻+タイムスタンプトークン取得経過時間
なお、「TS時計の時刻≦NTP時計の時刻」は、NTP時計の時刻が、TS時計の時刻以降であることを意味する。すなわち、NTP時計の時刻がTS時計の時刻と等しく、またはNTP時計の時刻がTS時刻の時刻よりも後であることを意味する。また、「NTP時計の時刻≦TS時計の時刻+タイムスタンプトークン取得経過時間」は、NTP時計の時刻が、TS時計の時刻にタイムスタンプトークン取得経過時間を加えた時刻以前であることを意味する。すなわち、NTP時計の時刻が、TS時計の時刻にタイムスタンプトークン取得経過時間を加えた時刻と等しく、またはNTP時計の時刻が、TS時計の時刻にタイムスタンプトークン取得経過時間を加えた時刻よりも前であることを意味する。
【0103】
上式の関係を満たす場合には、TS時計40の時刻とNTP時計54の時刻とが一致するとみなすことができる所定の関係である(両時刻の一致性が認められる)と判断することができる。
【0104】
時刻監査処理において、TS時計40の時刻とNTP時計54の時刻とが一致するとみなすことができる所定の関係であると判断された場合、NTP時計54の時刻が標準時に高精度(正確)に合致し、かつ真正な時刻であると認定することができる。なぜなら、NTP時計54の時刻の精度(正確性)は、その時刻がNTPサーバ5から供給されたNTP時刻情報の示す時刻であることを理由に保証され、一方、NTP時計54の時刻の真正性は、その時刻が、TS時刻情報22を用いて設定されたTS時計40の真正な時刻と一致するとみなすことができる所定の関係であることを理由に保証されるからである。
【0105】
一方、時刻監査処理において、TS時計40の時刻とNTP時計54の時刻とが一致するとみなすことができる所定の関係でないと判断された場合には、NTP時計54の時刻が標準時に合致し、かつ真正な時刻であると認定することができない。なお、NTP時計54の時刻が標準時に合致しない原因としては、例えばNTPサーバ5から取得されたNTP時刻情報が改ざんされていることなどが考えられる。また、時刻監査処理において、TS時計40の時刻とNTP時計54の時刻とが一致するとみなすことができる所定の関係でないと判断される場合には、きわめて例外的ではあるが、TS時計40の時刻が標準時から外れている場合も考えられる。TS時計40の時刻が標準時から外れる原因として、例えば何らかの異常な事態によりインターネットの負荷が一時的に大きくなり、そのためにタイムスタンプトークンの送受信に大幅な遅延が生じたことが考えられる。
【0106】
図3中の時刻出力部63は、時刻監査部62による時刻監査処理において、TS時計40の時刻とNTP時計54の時刻とが一致するとみなすことができる所定の関係であると判断された場合に、時刻出力要求受取部61により受け取られた時刻出力要求に応じ、NTP時計54の時刻をサービス利用者のパーソナルコンピュータ10に出力する。
【0107】
一方、時刻監査処理において、TS時計40の時刻とNTP時計54の時刻とが一致するとみなすことができる所定の関係でないと判断された場合には、時刻出力部63は、エラー信号をサービス利用者のパーソナルコンピュータ10に出力する。すなわち、この場合には、時刻出力部63は、NTP時計54の時刻をサービス利用者のパーソナルコンピュータ10に出力しない。
【0108】
(制御・管理セクション)
他方、制御・管理セクション70には、時刻提供装置6の総合的な管理、通信制御、種々の情報の記憶を実現するための構成要素が主に含まれている。すなわち、制御・管理セクション70には、ログ情報生成部71、管理設定部72、記憶部73、通信制御部74および総合制御部75が含まれている。
【0109】
ログ情報生成部71は、タイムスタンプトークン取得ログ情報81(図7参照)、NTP時刻情報取得ログ情報82(図8参照)および時刻監査処理ログ情報83(図9参照)を生成し、これらを記憶部73に記憶する。
【0110】
タイムスタンプトークン取得ログ情報81は、時刻認証局3から発行され、時刻提供装置6により受け取られたタイムスタンプトークン20について、真正なTS時刻情報22であることが真正性検証部36により認定され、確かに時刻提供装置6によるタイムスタンプトークン20の発行要求に応じて時刻認証局3から発行されたタイムスタンプトークン20であることがハッシュ値照合部37により認定され、かつ、リプライ攻撃による偽のタイムスタンプトークンでないことがタイムスタンプトークン採否判断部38により認定され、TS時刻情報22の示す時刻がTS時計40の時刻として設定された場合に生成される。図7に示すように、タイムスタンプトークン取得ログ情報81には、タイムスタンプトークン20の取得順序を示すシーケンス番号、当該タイムスタンプトークン20に含まれるハッシュ値21およびTS時刻情報22、並びに当該タイムスタンプトークン20に係るタイムスタンプトークン取得経過時間が含まれる。
【0111】
なお、TS時刻情報22が示す時刻を新たに設定する直前のTS時計40の示す元の時刻をタイムスタンプトークン取得ログ情報81に加えてもよい。また、TS時刻情報22が示す時刻を新たに設定する直前のTS時計40の示す元の時刻と、TS時刻情報22が示す時刻との差をタイムスタンプトークン取得ログ情報81に加えてもよい。これにより、TS時計40の時刻設定状況を後で検証することができる。
【0112】
NTP時刻情報取得ログ情報82は、NTPサーバ5から供給されたNTP時刻情報が時刻提供装置6により受け取られる度に生成される。図8に示すように、NTP時刻情報取得ログ情報82には、NTP時刻情報の取得順序を示すシーケンス番号、当該NTP時刻情報、および当該NTP時刻情報を供給したNTPサーバ5のIPアドレスが含まれる。
【0113】
なお、NTP時刻情報が示す時刻を新たに設定する直前のNTP時計54の示す元の時刻をNTP時刻情報取得ログ情報82に加えてもよい。また、NTP時刻情報が示す時刻を新たに設定する直前のNTP時計54の示す元の時刻と、NTP時刻情報が示す時刻との差をNTP時刻情報取得ログ情報82に加えてもよい。これにより、NTP時計54の時刻設定状況を後で検証することができる。
【0114】
時刻監査処理ログ情報83は、時刻監査部62により時刻監査処理が行われる度に生成される。図9に示すように、時刻監査処理ログ情報83には、時刻監査処理が行われた順序を示すシーケンス番号、当該時刻監査処理が行われたときのNTP時計54の時刻、および当該時刻監査処理の結果(TS時計40の時刻とNTP時計54の時刻とが一致するとみなすことができる所定の関係である場合には合格、そうでない場合には不合格)を示す情報が含まれる。
【0115】
なお、以上のログ情報81ないし83に加え、次のログ情報を生成し、記憶部73に記憶してもよい。すなわち、真正性検証部36が、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20に含まれるハッシュ値21およびTS時刻情報22の真正性を、電子署名23、25などを用いて検証した結果、ハッシュ値21またはTS時刻情報22が真正でないと認定された場合には、ハッシュ値21またはTS時刻情報22が真正でないことを記述したエラーログ情報を生成し、これを記憶部73に記憶してもよい。
【0116】
また、ハッシュ値照合部37が、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20に含まれるハッシュ値21と、ハッシュ値照合データベース32に記憶されたハッシュ値照合テーブル41中のハッシュ値21とを照合した結果、ハッシュ値照合テーブル41中に一致するハッシュ値21がなかった場合には、ハッシュ値21が不一致であったことを記述したエラーログ情報を生成し、これを記憶部73に記憶してもよい。
【0117】
また、タイムスタンプトークン採否判断部38が、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20に含まれるハッシュ値21についての照合回数値が「2」以上であると判断した場合には、ハッシュ値21の照合回数値が「2」以上であることを記述したエラーログ情報を生成し、これを記憶部73に記憶してもよい。
【0118】
その他、NTP処理、ネットワーク処理、管理設定処理他の各種処理において発生した各種エラー情報よりエラーログ情報を生成し、これを記憶部73に記憶してもよい。
【0119】
管理設定部72は、時刻提供装置6の管理設定処理を行う。具体的には、管理設定部72は、図10に示す管理設定画面90(例えばウェブページ)を生成する。時刻提供装置6の管理用パーソナルコンピュータ7は、ローカルエリアネットワーク9を介して時刻提供装置6の管理設定ポートにアクセスすることにより、管理設定画面90をディスプレイに表示することができ、かつ、管理設定画面90に表示された管理設定事項に係る設定値を入力し、これら設定値を時刻提供装置6に送信することができる。
【0120】
図10に示すように、管理設定事項には、時刻認証局3との間においてタイムスタンプトークン20の要求・受取を行い、およびNTPサーバ5との間においてNTP時刻情報の要求・受取を行うための時刻提供装置6のIPアドレス等のネットワーク情報(システムネットワーク)、管理用パーソナルコンピュータ7との間において管理設定画面90のデータおよび管理設定事項に係る設定値の送受信を行うための時刻提供装置6のIPアドレス等のネットワーク情報(管理設定ポートネットワーク)、タイムスタンプトークン20の取得間隔、NTP時刻情報の取得間隔、時刻認証局3のIPアドレス、NTPサーバ5のIPアドレス等のネットワーク情報、タイムスタンプトークン取得経過時間の許容範囲が含まれる。
【0121】
また、図10中の管理設定画面90の左側には、管理設定ボタン91、ハッシュ値照合テーブル表示ボタン92、タイムスタンプトークン取得ログ情報表示ボタン93、NTP時刻情報取得ログ情報表示ボタン94、時刻監査処理ログ情報表示ボタン95が形成されている。これらのボタンを押す(クリックする)ことにより、設定管理画面90、ハッシュ値照合テーブル41(図4参照)、タイムスタンプトークン取得ログ情報81(図7参照)、NTP時刻情報取得ログ情報82(図8参照)および時刻監査処理ログ情報83(図9参照)が選択的に管理用パーソナルコンピュータ7のディスプレイに表示される。
【0122】
なお、メンテナンス用にTS時計40の時刻およびNTP時計54の時刻を管理設定画面90中に表示してもよい。また、TS時計40およびNTP時計54の初期化、調整またはテストなどを行うために、TS時計40およびNTP時計54のそれぞれの時刻を強制的に設定する手段を設けてもよい。すなわち、タイムスタンプトークン20の取得間隔に拘わらず、タイムスタンプトークン20を強制的に取得し、このタイムスタンプトークン20に含まれるTS時刻情報22が示す時刻をTS時計40に設定してもよい。また、NTP時刻情報の取得間隔に拘わらず、NTP時刻情報を強制的に取得し、このNTP時刻情報をNTP時計54に設定してもよい。
【0123】
図3中の記憶部73は、例えばハードディスクドライブ、フラッシュメモリなどの記憶装置である。記憶部73には、ハッシュ値生成部31により用いられるハッシュ関数、真正性検証部36により用いられるハッシュ関数および認証局4の公開鍵、並びにログ情報生成部71により生成されるタイムスタンプトークン取得ログ情報81、NTP時刻情報取得ログ情報82および時刻監査処理ログ情報83などの記憶に用いられる。
【0124】
通信制御部74は、時刻提供装置6と時刻認証局3およびNTPサーバ5などとのインターネット8を介した通信を制御する通信回路、および時刻提供装置6と管理者用パーソナルコンピュータ7およびサービス利用者のパーソナルコンピュータ10とのローカルエリアネットワーク9を介した通信を制御する通信回路を備えている。
【0125】
総合制御部75は、時刻提供装置6を総合的に制御する。
【0126】
ハッシュ値生成部31、タイムスタンプトークン要求部33、タイムスタンプトークン受取部34、真正性検証部36、ハッシュ値照合部37、タイムスタンプトークン採否判断部38、TS時刻設定部39、NTP時刻情報要求部51、NTP時刻情報受取部52、NTP時刻設定部53、時刻出力要求受取部61、時刻監査部62、時刻出力部63、ログ情報生成部71、管理設定部72および総合制御部75は、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)およびRAM(Random Access Memory)などから構成されている。すなわち、ROMには、ハッシュ値生成部31、タイムスタンプトークン要求部33、タイムスタンプトークン受取部34、真正性検証部36、ハッシュ値照合部37、タイムスタンプトークン採否判断部38、TS時刻設定部39、NTP時刻情報要求部51、NTP時刻情報受取部52、NTP時刻設定部53、時刻出力要求受取部61、時刻監査部62、時刻出力部63、ログ情報生成部71、管理設定部72および総合制御部75を実現するためのコンピュータプログラムが記憶されており、CPUはこのコンピュータプログラムをROMから読み取ることにより、これらの構成要素として機能する。RAMはCPUがこれらの機能を実現するときの作業メモリとして用いられる。
【0127】
(時刻提供装置の動作)
図11は、時刻提供装置6が行う動作を示している。時刻提供装置6は、図11に示すように、TS時刻設定処理(ステップS1)、NTP時刻設定処理(ステップS2)および時刻出力処理(ステップS3)を並行的に行う。また、時刻提供装置6の管理用パーソナルコンピュータ7が時刻提供装置6の管理設定ポートにアクセスしたとき、管理設定部72により時刻提供装置6の管理設定処理(ステップS4)が実行される(図10参照)。
【0128】
(TS時刻設定処理)
図12はTS時刻設定処理を示している。TS時刻設定処理は、時刻認証局3から取得したタイムスタンプトークン20に含まれるTS時刻情報22を用いてTS時計40の時刻を設定するための処理である。
【0129】
図12に示すように、例えば時刻提供装置6を購入後初めて動作させたときには、TS時刻設定処理において、まず、ハッシュ値生成部31が、1日に必要な数のハッシュ値21を生成する(ステップS11)。
【0130】
続いて、ハッシュ値生成部31は、生成したハッシュ値21をハッシュ値照合データベース32に記憶する(ステップS12)。
【0131】
続いて、ハッシュ値生成部31は、ハッシュ値照合データベース32に記憶した各ハッシュ値21について、初期状態の引き渡しフラグ(例えば「0」)および初期状態の照合回数値(例えば「0」)を生成し、これらをハッシュ値照合データベース32に記憶する(ステップS13)。各ハッシュ値21、各引き渡しフラグおよび各照合回数値は、ハッシュ値照合テーブル41(図4参照)に記述された形でハッシュ値照合データベース32に記憶される。
【0132】
続いて、タイムスタンプトークン要求部33が、ハッシュ値照合データベース32に記憶されたハッシュ値照合テーブル41中のハッシュ値21の中から、時刻認証局3に送ったことがないハッシュ値21を選択し、このハッシュ値21をハッシュ値照合データベース32のハッシュ値照合テーブル41から読み出すと共に、タイムスタンプトークン発行要求を生成する(ステップS14)。
【0133】
続いて、時間測定部35がタイマによる計時を開始する(図5中の時点t1参照)(ステップS15)。
【0134】
続いて、タイムスタンプトークン要求部33は、ステップS14で読み出したハッシュ値21をタイムスタンプトークン発行要求に入れて時刻認証局3に送る(ステップS16)。
【0135】
続いて、タイムスタンプトークン要求部33は、時刻認証局3に送ったハッシュ値21について、ハッシュ値照合データベース32に記憶されたハッシュ値照合テーブル41中の引き渡しフラグをオン(例えば「1」)に設定する(ステップS17)。
【0136】
時刻認証局3は、タイムスタンプトークン要求部33から送られたハッシュ値21を含むタイムスタンプトークン発行要求を受け取る。そして、時刻認証局3は、この受け取ったハッシュ値21、標準時と合致した時刻を示すTS時刻情報22、時刻認証局3による電子署名23、時刻認証局証明書24および認証局4による電子署名25を含むタイムスタンプトークン20(図2参照)を生成し、これを発行する。
【0137】
続いて、タイムスタンプトークン受取部34は、時刻認証局3から発行されたタイムスタンプトークン20を受け取る(ステップS18:YES)。
【0138】
続いて、真正性検証部36が、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20に含まれるハッシュ値21およびTS時刻情報22の真正性を、このタイムスタンプトークン20に含まれる電子署名23、25などを用いて検証する(ステップS19)。
【0139】
この検証の結果、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20に含まれるハッシュ値21またはTS時刻情報22が真正でないと認定されたときには(ステップS20:NO)、このタイムスタンプトークン20は破棄される。そして、処理はステップS29にジャンプする。
【0140】
なお、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20に含まれるハッシュ値21またはTS時刻情報22が真正でないと認定された場合に、ハッシュ値21またはTS時刻情報22が真正でないことを記述したエラーログ情報を生成し、これを記憶部73に記憶してもよい。
【0141】
一方、ステップS19における検証の結果、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20に含まれるハッシュ値21およびTS時刻情報22が真正であると認定されたときには(ステップS20:YES)、続いて、ハッシュ値照合部37が、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20に含まれるハッシュ値21とハッシュ値照合データベース32に記憶されたハッシュ値照合テーブル41中のいずれかのハッシュ値21とを照合し、両者が一致するか否かを判断する(ステップS21)。具体的には、ハッシュ値照合部37は、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20からハッシュ値21を取り出し、この取り出したハッシュ値21と一致するハッシュ値21をハッシュ値照合データベース32のハッシュ値照合テーブル41中から見つけ出すために、ハッシュ値照合データベース32のハッシュ値照合テーブル41を検索する(検索の対象は引き渡しフラグがオンのハッシュ値21のみでよい)。
【0142】
この照合(検索)の結果、タイムスタンプトークン20から取り出したハッシュ値21と一致するハッシュ値21がハッシュ値照合データベース32のハッシュ値照合テーブル41中から見つからなかった場合には(ステップS22:NO)、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20が、時刻提供装置6によるタイムスタンプトークン20の発行要求に応じて時刻認証局3から発行されたものでないと認定することができる。この場合には、このタイムスタンプトークン20は破棄される。そして、処理はステップS28にジャンプする。
【0143】
なお、タイムスタンプトークン20から取り出したハッシュ値21と一致するハッシュ値21がハッシュ値照合データベース32のハッシュ値照合テーブル41中から見つからなかった場合に、ハッシュ値21が不一致であったことを記述したエラーログ情報を生成し、これを記憶部73に記憶してもよい。
【0144】
一方、ステップS21における照合(検索)の結果、タイムスタンプトークン20から取り出したハッシュ値21と一致するハッシュ値21がハッシュ値照合データベース32のハッシュ値照合テーブル41中から見つかった場合には(ステップS22:YES)、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20が、確かに、時刻提供装置6によるタイムスタンプトークン20の発行要求に応じて時刻認証局3から発行されたものであると認定することができる。この場合、ハッシュ値照合部37は、当該ハッシュ値21について、ハッシュ値照合データベース32に記憶されたハッシュ値照合テーブル41中の照合回数値をインクリメントする(ステップS23)。
【0145】
続いて、タイムスタンプトークン採否判断部38が、当該ハッシュ値21についての照合回数値を参照し(ステップS24)、この照合回数値が「2」以上であるか否かを判断する(ステップS25)。
【0146】
この判断の結果、当該ハッシュ値21についての照合回数値が「2」以上である場合には(ステップS25:YES)、当該ハッシュ値21と同一のハッシュ値21を含むタイムスタンプトークン20がタイムスタンプトークン受取部34により過去に受け取られており、それゆえ、今回受け取られたタイムスタンプトークン20がリプライ攻撃による偽のタイムスタンプトークンである可能性が高いと認定することができる。この場合には、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20は破棄される。そして、処理はステップS28にジャンプする。
【0147】
なお、ハッシュ値21の照合回数値が「2」以上であった場合には、ハッシュ値21の照合回数値が「2」以上であることを記述したエラーログ情報を生成し、これを記憶部73に記憶してもよい。
【0148】
一方、ステップS25の判断の結果、当該ハッシュ値21についての照合回数値が「2」以上でない場合には(ステップS25:NO)、当該ハッシュ値21と同一のハッシュ値21を含むタイムスタンプトークン20がタイムスタンプトークン受取部34により過去に受け取られた事実はなく、それゆえ、今回受け取られたタイムスタンプトークン20がリプライ攻撃による偽のタイムスタンプトークンではないと認定することができる。この場合には、TS時刻設定部39が、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20に含まれるTS時刻情報22が示す時刻をTS時計40の時刻として設定する(ステップS26)。
【0149】
続いて、時刻測定部35は、タイマによる計時を停止する(図5中の時点t5参照)(ステップS27)。このとき、タイマの値は、タイムスタンプトークン取得経過時間(図5中の時間a+b+c)を示している。
【0150】
続いて、ログ情報生成部71が、タイムスタンプトークン取得ログ情報81を生成し、これを記憶部73に記憶する(ステップS28)。このタイムスタンプトークン取得ログ情報81には、ステップS27で停止したタイマの値、すなわち、タイムスタンプトークン取得経過時間が含まれる。
【0151】
続いて、総合制御部75は、タイムスタンプトークン取得間隔(例えば3時間、図10参照)が経過したか否かを判断する(ステップS29)。そして、タイムスタンプトークン取得間隔が経過したときには(ステップS29:YES)、処理はステップS14に戻る。一方、タイムスタンプトークン取得間隔がまだ経過していない場合には(ステップS29:NO)、続いて、総合制御部75は、0時を過ぎたか否かを判断する(ステップS30)。そして、0時を過ぎたときには(ステップS30:YES)、処理はステップS11に戻る。
【0152】
このように、0時を過ぎた直後には、TS時刻設定処理におけるステップS11ないしステップS28の処理が実行され、それ以外の場合には、TS時刻設定処理におけるステップS14ないしステップS28の処理がタイムスタンプトークン取得間隔ごとに繰り返し実行される。すなわち、1日の開始時に新たなハッシュ値が生成され、これら生成されたハッシュ値を用いて、タイムスタンプトークン20の取得、ハッシュ値21およびTS時刻情報22の真正性の検証、ハッシュ値21の照合、照合回数値の参照およびTS時計40の設定からなる一連の処理が、タイムスタンプトークン取得間隔ごとに当該1日が終了するまで実行される。そして、このようなTS時刻設定処理が毎日繰り返し実行される。
【0153】
(NTP時刻設定処理)
図13はNTP時刻設定処理を示している。NTP時刻設定処理は、NTPサーバ5から取得したNTP時刻情報を用いてNTP時計54の時刻を設定するための処理である。
【0154】
図13に示すように、NTP時刻設定処理において、まず、NTP時刻情報要求部51が、NTP時刻情報要求指令を生成し、これをNTPサーバ5に送る(ステップS41)。
【0155】
NTPサーバは、このNTP時刻情報要求指令を受け取り、これに応じてNTP時刻情報を時刻提供装置6に供給する。そして、NTP時刻情報受取部52がNTPサーバ5からNTP時刻情報を取得する(ステップS42:YES)。
【0156】
続いて、NTP時刻設定部53が、NTP時刻情報受取部52により受け取られたNTP時刻情報が示す時刻をNTP時計54の時刻として設定する(ステップS43)。
【0157】
続いて、ログ情報生成部71が、NTP時刻情報取得ログ情報82を生成し、これを記憶部73に記憶する(ステップS44)。
【0158】
続いて、総合制御部75は、NTP時刻情報取得間隔(例えば3時間、図10参照)が経過したか否かを判断する(ステップS45)。そして、NTP時刻情報取得間隔が経過したときには(ステップS45:YES)、処理はステップS41に戻る。このように、NTP時刻設定処理は、NTP時刻情報取得間隔ごとに繰り返し実行される。
【0159】
(時刻出力処理)
図14は時刻出力処理を示している。時刻出力処理は、サービス利用者のパーソナルコンピュータ10からの時刻出力要求に応じ、時刻監査処理を行い、時刻監査処理に合格した場合に限りNTP時計54の時刻をサービス利用者のパーソナルコンピュータ10に出力するための処理である。
【0160】
図14に示すように、時刻出力処理において、まず、時刻出力要求受取部61が、サービス利用者のパーソナルコンピュータ10から発せられる時刻出力要求を受け取る(ステップS51:YES)。
【0161】
続いて、時刻監査部62が、TS時刻設定部39により設定されたTS時計40の時刻と、NTP時刻設定部53により設定されたNTP時計54の時刻とが一致するとみなすことができる所定の関係であるか否かを判断する処理(時刻監査処理)を行う(ステップS52)。この時刻監査処理において、時刻監査部62は、TS時計40の時刻およびNTP時計54の時刻をそれぞれ読み出し、さらに、時間測定部35により測定され、タイムスタンプトークン取得ログ情報81の一部として記憶部73に記憶されたタイムスタンプトークン取得経過時間(図5中の時間a+b+c)の中から最新のものを読み出す。そして、時刻監査部62は、NTP時計54の時刻が、TS時計40の時刻以降であり、かつタイムスタンプトークン取得経過時間をTS時計40の時刻に加えた時刻以前である場合に、TS時計40の時刻とNTP時計54の時刻とが一致するとみなすことができる所定の関係である(両時刻の一致性が認められる)と判断する。
【0162】
この判断の結果、TS時計40の時刻とNTP時計54の時刻とが一致するとみなすことができる所定の関係である(両時刻の一致性が認められる)場合には(ステップS53:YES)、NTP時計54の時刻が高精度(正確)かつ真正な時刻であると認定することができる。この場合には、時刻出力部63が、時刻出力要求受取部61により受け取られた時刻出力要求に応じ、NTP時計54の時刻をサービス利用者のパーソナルコンピュータ10に出力する(ステップS54)。
【0163】
一方、ステップS52の判断の結果、TS時計40の時刻とNTP時計54の時刻とが一致するとみなすことができる所定の関係でない(両時刻の一致性が認められない)場合には(ステップS53:NO)、NTP時計54の時刻が標準時に合致し、かつ真正であると認定することができない。この場合には、時刻出力部63はエラー信号をサービス利用者のパーソナルコンピュータ10に出力する(ステップS55)。
【0164】
続いて、ログ情報生成部71が、時刻監査処理ログ情報83を生成し、これを記憶部73に記憶する(ステップS56)。
【0165】
以上説明したとおり、時刻提供装置6では、時刻認証局3から取得したタイムスタンプトークン20に含まれるTS時刻情報22の真正性を、このタイムスタンプトークン20に含まれる電子署名23、25などを用いて検証し、検証の結果、真正であると認定されたTS時刻情報22が示す時刻を、時刻提供装置6のTS時計40の時刻として設定する。また、NTPサーバ5から取得したNTP時刻情報が示す時刻を時刻提供装置6のNTP時計54の時刻として設定する。そして、TS時計40の時刻とNTP時計54の時刻とが一致するとみなすことができる所定の関係であるか否かを判断し、両時刻が一致するとみなすことができる所定の関係である場合に、NTP時計54の時刻をサービス利用者のパーソナルコンピュータ10に出力する。これにより、サービス利用者のパーソナルコンピュータ10に高精度(正確)であり、真正であり、かつ信頼性の高い時刻を提供することができる。
【0166】
すなわち、TS時刻情報22は、国家時刻標準機関1、時刻配信監査局2および時刻認証局3といった公的機関または公的に認定された機関により作られた正確かつ真正な時刻情報である。また、TS時刻情報22は、タイムスタンプトークン20に含まれる電子署名23、25などによりその真正性が検証され、真正であることが認定されてからTS時計40の時刻の設定に用いられる。さらに、TS時刻情報22は、時刻認証局3に保存されているタイムスタンプトークン20の発行履歴を示す履歴情報に基づいてその真正性を証明することができ、それゆえ信頼性が高い(第三者機関である時刻認証局3に保存されているタイムスタンプトークン発行履歴と、時刻提供装置6に保存されているタイムスタンプトークン取得ログ情報81とを照合することにより、タイムスタンプトークン発行履歴の後追い検証が可能である)。したがって、このような真正かつ信頼性の高いTS時刻情報22が示す時刻が設定されたTS時計40の時刻は真正であり、かつ信頼性が高い。そして、NTP時計54の時刻は、時刻監査処理においてTS時計40の時刻と一致するとみなすことができる所定の関係であることが認められることにより、その真正性および信頼性が保証される。一方、NTP時刻情報は、NTPサーバ5からネットワークタイムプロトコルに従って供給されたものであるため標準時に高精度に合致している。したがって、このNTP時刻情報が示す時刻が設定されたNTP時計54の時刻は、標準時に高精度に合致している。よって、時刻監査処理においてTS時計40の時刻と一致するとみなすことができる所定の関係であることが認められたNTP時計54の時刻は、標準時に高精度に合致し、真正性が保証され、かつ信頼性が高い時刻である。このNTP時計54の時刻をサービス利用者のパーソナルコンピュータ10に出力することにより、サービス利用者のパーソナルコンピュータ10に、高精度であり、真正であり、かつ信頼性が高い時刻を提供することができる。
【0167】
また、時刻提供装置6では、時刻提供装置6がタイムスタンプトークン20の発行を要求してから、時刻提供装置6がタイムスタンプトークン20を受け取るまでの時間であるタイムスタンプトークン取得経過時間を測定する。そして、NTP時計54の時刻が、TS時計40の時刻以降であり、かつタイムスタンプトークン取得経過時間をTS時計40の時刻に加えた時刻以前である場合に、TS時計40の時刻とNTP時計54の時刻とが一致するとみなすことができる所定の関係であると判断する。これにより、TS時計40の時刻とNTP時計54の時刻とが一致するとみなすことができる所定の関係であるか否かを適正にかつ簡単な演算処理により判断することができる。
【0168】
また、時刻提供装置6では、サービス利用者のパーソナルコンピュータ10からの時刻出力要求に応じてNTP時計54の時刻をサービス利用者のパーソナルコンピュータ10に出力しようとする度に、TS時計40の時刻とNTP時計54の時刻とが一致するとみなすことができる所定の関係であるか否かを判断する処理(時刻監査処理)を行う。そして、TS時計40の時刻とNTP時計54の時刻とが一致するとみなすことができる所定の関係でないときには、サービス利用者のパーソナルコンピュータ10にエラー信号を出力する。これにより、NTPサーバ5から取得したNTP時刻情報が、ネットワーク上の攻撃や疑似信号などにより改ざんされ、NTP時計54に標準時と異なる時刻が設定されるなどの異常な事態が生じた場合には、この異常な事態を、NTP時計54の時刻をサービス利用者のパーソナルコンピュータ10に出力しようとする度に認識することができ、標準時と異なった時刻がサービス利用者のパーソナルコンピュータ10に提供されるのを防止することができる。したがって、サービス利用者のパーソナルコンピュータ10に提供する時刻の正確性または真正性を高めることができる。
【0169】
また、時刻提供装置6では、ハッシュ値21を生成し、これをハッシュ値照合データベース32に記憶されたハッシュ値照合テーブル41に記述すると共に、このハッシュ値21を時刻提供装置6から時刻認証局3へ送る。そして、ハッシュ値21を含むタイムスタンプトークン20を時刻認証局3から受け取る度に、タイムスタンプトークン20に含まれるハッシュ値21と、ハッシュ値照合データベース32に記憶されたハッシュ値照合テーブル41中のハッシュ値21とが一致するか否かを判断し、両者が一致した場合に限り、このハッシュ値21と共にタイムスタンプトークン20に含まれたTS時刻情報22をTS時計40の時刻設定に用いる。これにより、時刻提供装置6によるタイムスタンプトークン20の発行要求に応じて時刻認証局3から発行されたタイムスタンプトークン20に含まれるTS時刻情報22だけをTS時計40の時刻設定に用いることができる。すなわち、時刻認証局3以外の者から送られた偽のタイムスタンプトークンに含まれるTS時刻情報によりTS時計40の時刻が設定されてしまうといった事態を回避することができる。したがって、時刻情報の改ざん者の攻撃から時刻提供装置6を保護することができ、時刻提供装置6の時刻提供の真正性を高めることができる。
【0170】
また、時刻提供装置6では、タイムスタンプトークン受取部34により受け取られたタイムスタンプトークン20に含まれるハッシュ値21と、ハッシュ値照合データベース32に記憶されたハッシュ値照合テーブル41中のハッシュ値21とが一致した場合には、照合回数値を参照し、照合回数値が「2」以上である場合には、このタイムスタンプトークン20を破棄する。これにより、リプライ攻撃によりTS時刻情報22の正確性または真正性、ひいてはTS時計40の時刻の正確性または真正性が損なわれるのを防止することができる。
【0171】
また、時刻提供装置6では、相互に独立してそれぞれ時刻を刻むTS時計40およびNTP時計54の2つの内部時計を有する。そして、TS時計40には、TS時刻情報22が示す時刻をタイムスタンプトークン取得間隔ごとに設定する。一方、NTP時計54には、NTP時刻情報を示す時刻をNTP時刻取得間隔ごとに設定する。そして、サービス利用者のパーソナルコンピュータ10から時刻出力要求があったときには、すでに設定されているTS時計40の時刻と、すでに設定されているNTP時計54の時刻とが一致するとみなすことができる所定の関係であることを判断してから、すでに設定されているNTP時計54の時刻をサービス利用者のパーソナルコンピュータ10に出力する。これにより、標準時に合致した時刻を遅延させることなくサービス利用者のパーソナルコンピュータ10に出力することができる。すなわち、仮にサービス利用者のパーソナルコンピュータ10から時刻出力要求を受けてから、TS時刻情報22およびNTP時刻情報を時刻認証局3およびNTPサーバ5からそれぞれ取得し、これらに基づく時刻をサービス利用者のパーソナルコンピュータ10に出力するとすれば、TS時刻情報22およびNTP時刻情報の取得処理に時間がかかり、このため、標準時に対し遅延した時刻をサービス利用者のパーソナルコンピュータ10に出力してしまうおそれがある。しかし、時刻提供装置6では、サービス利用者のパーソナルコンピュータ10からの時刻出力要求とは無関係に、タイムスタンプトークン取得間隔ごとにTS時計40の時刻を設定し、NTP時刻情報取得間隔ごとにNTP時計54の時刻を設定する。そして、サービス利用者のパーソナルコンピュータ10からの時刻出力要求があったときには、すでに設定されたNTP時計54の時刻をサービス利用者のパーソナルコンピュータ10に出力する。したがって、時刻提供装置6によれば、標準時に合致した時刻を遅延させることなくサービス利用者のパーソナルコンピュータ10に出力することができる。
【0172】
また、時刻提供装置6によれば、サービス利用者のパーソナルコンピュータ10からの時刻出力要求があったときに、すでに設定されたNTP時計54の時刻をサービス利用者のパーソナルコンピュータ10に出力するので、インターネット回線に生じた障害などにより、TS時刻情報22またはNTP時刻情報が時刻認証局3またはNTPサーバ5から一時的に取得できないといった事態が生じても、標準時に合致した正確かつ真正な時刻をサービス利用者のパーソナルコンピュータ10に出力することができる。
【0173】
また、時刻提供装置6によれば、時刻認証局3およびNTPサーバ5などの既存の機関の時刻提供システムをそのまま応用することにより、高精度かつ真正な時刻提供を実現することができる。すなわち、新たな時刻提供システムを構築する必要がないので、低いコストで、高精度かつ真正な時刻提供を実現することができる。
【0174】
なお、上述した実施形態では、乱数をハッシュ関数に入力することにより生成されたハッシュ値21を、タイムスタンプトークン20に含める場合を例にあげたが、本発明はこれに限らない。ハッシュ値21の代わりに他の固有値をタイムスタンプトークン20に含めてもよい。
【0175】
また、上述した実施形態では、毎日午前0時を経過した直後に、1日に必要な複数のハッシュ値21を一度に生成し、これらをハッシュ値照合データベース32に記憶する場合を例にあげたが、本発明はこれに限らない。すなわち、ハッシュ値を一度に生成する時刻は午前0時経過直後に限らない。また、1日ではなく3日または1週間に必要な複数のハッシュ値21を一度に生成してもよい。一方、複数のハッシュ値21を一度に生成するのではなく、タイムスタンプトークン20の発行を要求する度に、ユニークなハッシュ値21を1つずつ生成してもよい。
【0176】
また、上述した実施形態では、図6に示すように、TS時刻情報22の真正性を、電子署名23、25などを用いて検証する場合を例にあげたが、TS時刻情報22の真正性を検証する具体的な方法は、図6に示す例に限定されない。
【0177】
また、上述した実施形態では、タイムスタンプトークン20に含まれたハッシュ値21とハッシュ値照合データベース32に記憶されたハッシュ値照合テーブル41中のハッシュ値21とが一致した回数を照合回数値として記憶し、照合回数値を参照することにより、同一のハッシュ値21を含んだタイムスタンプトークン20を受け取ったという事実の存在を認識する場合を例にあげたが、本発明はこれに限らない。照合回数値の代わりに、同一のハッシュ値21を含んだタイムスタンプトークン20を受け取ったという事実の有無を示すフラグを用いてもよい。
【0178】
また、上述した実施形態では、時刻監査部62による時刻監査処理において、NTP時計54の時刻が、TS時計40の時刻以降であり、かつタイムスタンプトークン取得経過時間をTS時計40の時刻に加えた時刻以前である場合に、TS時計40の時刻とNTP時計54の時刻とが一致するとみなすことができる所定の関係であると判断する場合を例にあげたが、本発明はこれに限らない。例えば、TS時計40の時刻とNTP時計54の時刻との差が予め決められた所定時間(例えば500ms)内である場合に、TS時計40の時刻とNTP時計54の時刻とが一致するとみなすことができる所定の関係であると判断する方法を採用することもできる。もっとも、NTP時計54の時刻が、TS時計40の時刻以降であり、かつタイムスタンプトークン取得経過時間をTS時計40の時刻に加えた時刻以前である場合に、TS時計40の時刻とNTP時計54の時刻とが一致するとみなすことができる所定の関係であると判断する方法を採用することにより、TS時計40の時刻とNTP時計54の時刻との一致性を適正に判断することが可能になる。
【0179】
また、上述した実施形態では、サービス利用者のパーソナルコンピュータ10からの時刻出力要求に応じてNTP時計54の時刻を出力しようとする度に、時刻監査部62による時刻監査処理を実行する場合を例にあげたが、本発明はこれに限らない。例えば、予め決められた一定の周期で時刻監査処理を実行してもよい。もっとも、サービス利用者のパーソナルコンピュータ10からの時刻出力要求に応じてNTP時計54の時刻を出力しようとする度に、時刻監査部62による時刻監査処理を実行する方法を採用することにより、上述したように、サービス利用者のパーソナルコンピュータ10に提供する時刻の正確性または真正性を高めることができる。
【0180】
また、上述した実施形態では、時刻提供装置6が有する2つの内部時計の一方についてはTS時刻情報22を用いて時刻設定を行い、他方についてはNTP時刻情報を用いて時刻設定を行う場合を例にあげたが、本発明はこれに限らない。例えば、NTP時刻情報に代えて、GPSから得られる時刻情報、または電波時計の時刻情報を用いてもよい。もっとも、NTP時刻情報を用いることにより、高精度な時刻情報を、インターネットを利用して簡単に取得することができ、高精度な時刻の設定を簡単に実現することができる。
【0181】
また、上述した時刻提供装置6は、時刻監査処理において、TS時計40の時刻とNTP時計54の時刻とが一致するとみなすことができる所定の関係であると判断された場合に、NTP時計54の時刻をサービス利用者のパーソナルコンピュータ10に出力する構成を採用している。高精度の時刻をサービス利用者のパーソナルコンピュータ10に提供する場合には、このような構成を採用することが望ましい。しかしながら、サービス利用者に提供する時刻について、例えば100ms〜500ms程度の誤差が許される場合には、時刻監査処理を行わず、TS時計40の時刻をサービス利用者に提供する構成を採用してもよい。この場合には、図3中のNTP時計セクション50に含まれる構成要素および時刻監査部62を時刻提供装置6から排除することができる。この構成によれば、時刻監査処理を行う構成と比較して時刻の精度は低くなるものの、100ms〜500ms程度の誤差しか含まない正確なかつ真正な時刻をサービス利用者に提供することができる。また、時刻提供装置をシンプルな構成とすることができ、製造コストを下げることができる。
【0182】
また、上述した時刻提供装置6は、時刻提供装置6を構成する図3に示す構成要素を1つの筐体に組み込み、時刻提供装置6を箱形の独立した装置として具現化してもよい。しかし、これ以外に、例えば、図3に示す時刻提供装置6の構成要素を基板上に構築し、この基板を例えばサービス利用者のパーソナルコンピュータ10の拡張スロットに接続する構造としてもよい。また、図3に示す時刻提供装置6の構成要素を1チップに集約してもよい。
【0183】
また、上述した時刻提供装置6は、時刻提供装置6とサービス利用者のパーソナルコンピュータ10をローカルエリアネットワーク9で接続する場合を例にあげたが、時刻提供装置6とサービス利用者のパーソナルコンピュータ10との間の接続は、USB(Universal Serial Bus)などの他の接続方法でもよい。
【0184】
また、時刻提供装置6が時刻を提供する電子機器は、パーソナルコンピュータ10に限らず、サーバコンピュータ、汎用コンピュータ、複合機などの他の電子機器でもよい。
【0185】
また、本発明の時刻提供装置または時刻提供方法は、システムログ収集装置、ファクシミリ装置、スキャナー、複合機、タイムレコーダ、駐車場管理装置、計測機などに対し、ログ記録時刻、ファクシミリ送受信時刻、スキャニング時刻、出勤・退勤時刻、入庫・出庫時刻、測定時刻などを提供する装置または方法として用いることができる。
【0186】
また、図1中の時刻認証局3がタイムスタンプトークン発行局の具体例であり、サービス利用者のパーソナルコンピュータ10が外部装置の具体例である。また、図2中のハッシュ値21が固有値の具体例であり、電子署名23、25が証明情報の具体例である。また、図3中のタイムスタンプトークン要求部33がタイムスタンプトークン要求手段の具体例であり、タイムスタンプトークン受取部34がタイムスタンプトークン受取手段の具体例であり、時間測定部35が時間測定手段の具体例であり、タイムスタンプトークン要求部33、タイムスタンプトークン受取部34および時間測定部35がタイムスタンプトークン取得手段の具体例である。また、真正性検証部36が真正性検証手段の具体例であり、TS時刻設定部39が第1の時刻設定手段の具体例であり、TS時計40が第1の時計の具体例であり、NTP時刻情報要求部51およびNTP時刻情報受取部52がNTP時刻情報取得手段の具体例であり、NTP時刻設定部53が第2の時刻設定部の具体例であり、NTP時計54が第2の時計の具体例であり、時刻出力要求受取部61が時刻出力要求受取手段の具体例であり、時刻監査部62が時刻監査手段の具体例であり、時刻出力部63が時刻出力手段の具体例である。また、ハッシュ値生成部31が固有値生成手段の具体例であり、ハッシュ値照合データベース32が固有値記憶手段および照合情報記憶手段の具体例であり、ハッシュ値照合部37が照合手段の具体例であり、タイムスタンプトークン採否判断部38がタイムスタンプトークン採否判断手段の具体例である。
【0187】
また、図12中のステップS16およびS18がタイムスタンプトークン取得工程の具体例であり、ステップS19が真正性検証工程の具体例であり、ステップS26が第1の時刻設定工程の具体例である。また、図13中のステップS41およびS42がNTP時刻情報取得工程の具体例であり、ステップS43が第2の時刻設定工程の具体例である。また、図14中のステップS52が時刻監査工程の具体例であり、ステップS54が時刻出力工程の具体例である。
【0188】
また、本発明は、請求の範囲および明細書全体から読み取るこのできる発明の要旨または思想に反しない範囲で適宜変更可能であり、そのような変更を伴う時刻提供装置および時刻提供方法もまた本発明の技術思想に含まれる。
【図面の簡単な説明】
【0189】
【図1】本発明の実施形態である時刻提供装置を含む時刻提供システムを示すブロック図である。
【図2】タイムスタンプトークンの構造を示す説明図である。
【図3】本発明の実施形態である時刻提供装置の内部構造を示すブロック図である。
【図4】ハッシュ値照合テーブルを示す説明図である。
【図5】タイムスタンプトークン取得経過時間を示す説明図である。
【図6】TS時刻情報の真正性を検証する処理を示す説明図である。
【図7】タイムスタンプトークン取得ログ情報を示す説明図である。
【図8】NTP時刻情報取得ログ情報を示す説明図である。
【図9】時刻監査処理ログ情報を示す説明図である。
【図10】時刻提供装置の管理設定画面を示す説明図である。
【図11】時刻提供装置の動作を示すフローチャートである。
【図12】時刻提供装置により行われるTS時刻設定処理を示すフローチャートである。
【図13】時刻提供装置により行われるNTP時刻設定処理を示すフローチャートである。
【図14】時刻提供装置により行われる時刻出力処理を示すフローチャートである。
【符号の説明】
【0190】
3 時刻認証局(タイムスタンプトークン発行局)
5 NTPサーバ
6 時刻提供装置
10 サービス利用者のパーソナルコンピュータ(外部装置)
21 ハッシュ値(固有値)
23、25 電子署名(証明情報)
31 ハッシュ値生成部(固有値生成手段)
32 ハッシュ値照合データベース(固有値記憶手段、照合情報記憶手段)
33 タイムスタンプトークン要求部(タイムスタンプトークン要求手段)
34 タイムスタンプトークン受取部(タイムスタンプトークン受取手段)
35 時間測定部(時間測定手段)
36 真正性検証部(真正性検証手段)
37 ハッシュ値照合部(照合手段)
38 タイムスタンプトークン採否判断部(タイムスタンプトークン採否判断手段)
39 TS時刻設定部(第1の時刻設定手段)
40 TS時計(第1の時計)
51 NTP時刻情報要求部(NTP時刻情報取得手段)
52 NTP時刻情報受取部(NTP時刻情報取得手段)
53 NTP時刻設定部(第2の時刻設定部)
54 NTP時計(第2の時計)
61 時刻出力要求受取部(時刻出力要求受取手段)
62 時刻監査部(時刻監査手段)
63 時刻出力部(時刻出力手段)

【特許請求の範囲】
【請求項1】
外部装置に時刻を提供する時刻提供装置であって、
標準時に合致した時刻を示す時刻情報と、当該時刻情報が真正であることまたは当該時刻情報の発行主体が真正であることを証明する証明情報とを含むタイムスタンプトークンを発行するタイムスタンプトークン発行局から前記タイムスタンプトークンを取得するタイムスタンプトークン取得手段と、
前記タイムスタンプトークン取得手段により取得されたタイムスタンプトークンに含まれる前記時刻情報の真正性を、当該タイムスタンプトークンに含まれる前記証明情報を用いて検証する真正性検証手段と、
時刻を刻む時計と、
前記真正性検証手段により真正性が検証された前記時刻情報が示す時刻を前記時計の時刻として設定する時刻設定手段と、
前記時刻設定手段により設定された前記時計の時刻を前記外部装置に出力する時刻出力手段とを備えていることを特徴とする時刻提供装置。
【請求項2】
外部装置に時刻を提供する時刻提供装置であって、
標準時に合致した時刻を示す第1の時刻情報と、当該第1の時刻情報が真正であることまたは当該第1の時刻情報の発行主体が真正であることを証明する証明情報とを含むタイムスタンプトークンを発行するタイムスタンプトークン発行局から前記タイムスタンプトークンを取得するタイムスタンプトークン取得手段と、
前記タイムスタンプトークン取得手段により取得されたタイムスタンプトークンに含まれる前記第1の時刻情報の真正性を、当該タイムスタンプトークンに含まれる証明情報を用いて検証する真正性検証手段と、
時刻を刻む第1の時計と、
前記真正性検証手段により真正性が検証された前記第1の時刻情報が示す時刻を前記第1の時計の時刻として設定する第1の時刻設定手段と、
標準時に合致した時刻を示す第2の時刻情報をネットワークタイムプロトコルに従って供給するNTPサーバから前記第2の時刻情報を取得するNTP時刻情報取得手段と、
前記第1の時計から独立して時刻を刻む第2の時計と、
NTP時刻情報取得手段により取得された第2の時刻情報が示す時刻を前記第2の時計の時刻として設定する第2の時刻設定手段と、
前記第1の時刻設定手段により設定された前記第1の時計の時刻と、前記第2の時刻設定手段により設定された前記第2の時計の時刻とが一致するとみなすことができる所定の関係であるか否かを判断する処理である時刻監査処理を行う時刻監査手段と、
前記時刻監査手段による時刻監査処理において、前記第1の時計の時刻と前記第2の時計の時刻とが一致するとみなすことができる所定の関係であると判断された場合には、前記第2の時計の時刻を前記外部装置に出力する時刻出力手段とを備えていることを特徴とする時刻提供装置。
【請求項3】
前記タイムスタンプトークン取得手段は、
前記タイムスタンプトークン発行局に対して前記タイムスタンプトークンの発行を要求するタイムスタンプトークン要求手段と、
前記タイムスタンプトークン要求手段による前記タイムスタンプトークンの発行要求に応じて前記タイムスタンプトークン発行局から発行された前記タイムスタンプトークンを受け取るタイムスタンプトークン受取手段と、
前記タイムスタンプトークン要求手段が前記タイムスタンプトークンの発行を要求してから前記タイムスタンプトークン受取手段が前記タイムスタンプトークンを受け取るまでの時間であるタイムスタンプトークン取得経過時間を測定する時間測定手段とを備え、
前記時刻監査手段は、前記時刻監査処理において、前記第2の時計の時刻が、前記第1の時計の時刻以降であり、かつ前記時間測定手段により測定された前記タイムスタンプトークン取得経過時間を前記第1の時計の時刻に加えた時刻以前である場合に、前記第1の時計の時刻と前記第2の時計の時刻とが一致するとみなすことができる所定の関係であると判断することを特徴とする請求項2に記載の時刻提供装置。
【請求項4】
前記外部装置から発せられる時刻出力要求を受け取る時刻出力要求受取手段を備え、
前記時刻出力手段は、前記時刻出力要求受取手段により受け取られた時刻出力要求に応じて前記第2の時計の時刻を前記外部装置に出力し、
前記時刻監査手段は、前記時刻出力要求に応じて前記時刻出力手段が前記第2の時計の時刻を前記外部装置に出力しようとする度に、前記時刻監査処理を行うことを特徴とする請求項2に記載の時刻提供装置。
【請求項5】
固有値生成手段、固有値記憶手段、照合手段、照合情報記憶手段およびタイムスタンプトークン採否判断手段を備え、
前記固有値生成手段は固有値を生成し、
前記固有値記憶手段は前記固有値生成手段により生成された固有値を記憶し、
前記タイムスタンプトークン取得手段は、前記固有値生成手段により生成された固有値を前記タイムスタンプトークン発行局に送り、かつ前記タイムスタンプトークン発行局に対し、前記固有値を含むタイムスタンプトークンの発行を要求するタイムスタンプトークン要求手段と、前記タイムスタンプトークン要求手段による前記固有値を含むタイムスタンプトークンの発行要求に応じて前記タイムスタンプトークン発行局から発行された前記固有値を含むタイムスタンプトークンを受け取るタイムスタンプトークン受取手段とを備え、
前記照合手段は、前記タイムスタンプトークン受取手段により前記固有値を含むタイムスタンプトークンが受け取られる度に、前記タイムスタンプトークン受取手段により受け取られた前記固有値を含むタイムスタンプトークンに含まれる前記固有値と前記固有値記憶手段に記憶された前記固有値とが一致するか否かを判断し、
前記照合情報記憶手段は、前記照合手段により、前記タイムスタンプトークン受取手段により受け取られた前記固有値を含むタイムスタンプトークンに含まれる前記固有値と前記固有値記憶手段に記憶された前記固有値とが一致すると判断された場合に、これら2つの固有値が一致した事実または回数を示す照合情報を記憶し、
前記タイムスタンプトークン採否判断手段は、前記照合手段により、前記タイムスタンプトークン受取手段により受け取られた前記固有値を含むタイムスタンプトークンに含まれる前記固有値と前記固有値記憶手段に記憶された前記固有値とが一致すると判断された場合に、前記照合情報記憶手段に記憶された照合情報を参照することにより、前記タイムスタンプトークン受取手段により受け取られた前記固有値を含むタイムスタンプトークンに含まれる前記固有値と前記固有値記憶手段に記憶された前記固有値とが一致した事実が過去に存在しているか否かを判断し、当該事実が過去に存在している場合には、前記タイムスタンプトークン受取手段により今回受け取られた前記固有値を含むタイムスタンプトークンを不採用とすることを特徴とする請求項1または2に記載の時刻提供装置。
【請求項6】
時刻を刻む時計を用いて、外部装置に時刻を提供する時刻提供方法であって、
標準時に合致した時刻を示す時刻情報と、当該時刻情報が真正であることまたは当該時刻情報の発行主体が真正であることを証明する証明情報とを含むタイムスタンプトークンを発行するタイムスタンプトークン発行局から前記タイムスタンプトークンを取得するタイムスタンプトークン取得工程と、
前記タイムスタンプトークン取得工程において取得されたタイムスタンプトークンに含まれる前記時刻情報の真正性を、当該タイムスタンプトークンに含まれる前記証明情報を用いて検証する真正性検証工程と、
前記真正性検証工程において真正性が検証された前記時刻情報が示す時刻を前記時計の時刻として設定する時刻設定工程と、
前記時刻設定工程において設定された前記時計の時刻を前記外部装置に出力する時刻出力工程とを備えていることを特徴とする時刻提供方法。
【請求項7】
相互に独立してそれぞれ時刻を刻む第1の時計および第2の時計を用いて、外部装置に時刻を提供する時刻提供方法であって、
標準時に合致した時刻を示す第1の時刻情報と、当該第1の時刻情報が真正であることまたは当該第1の時刻情報の発行主体が真正であることを証明する証明情報とを含むタイムスタンプトークンを発行するタイムスタンプトークン発行局から前記タイムスタンプトークンを取得するタイムスタンプトークン取得工程と、
前記タイムスタンプトークン取得工程において取得されたタイムスタンプトークンに含まれる前記第1の時刻情報の真正性を、当該タイムスタンプトークンに含まれる証明情報を用いて検証する真正性検証工程と、
前記真正性検証工程において真正性が検証された前記第1の時刻情報が示す時刻を前記第1の時計の時刻として設定する第1の時刻設定工程と、
標準時に合致した時刻を示す第2の時刻情報をネットワークタイムプロトコルに従って供給するNTPサーバから前記第2の時刻情報を取得するNTP時刻情報取得工程と、
NTP時刻情報取得工程において取得された第2の時刻情報が示す時刻を前記第2の時計の時刻として設定する第2の時刻設定工程と、
前記第1の時刻設定工程において設定された前記第1の時計の時刻と、前記第2の時刻設定工程において設定された前記第2の時計の時刻とが一致するとみなすことができる所定の関係であるか否かを判断する処理である時刻監査処理を行う時刻監査工程と、
前記時刻監査工程の時刻監査処理において、前記第1の時計の時刻と前記第2の時計の時刻とが一致するとみなすことができる所定の関係であると判断された場合には、前記第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

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2009−212559(P2009−212559A)
【公開日】平成21年9月17日(2009.9.17)
【国際特許分類】
【出願番号】特願2008−50528(P2008−50528)
【出願日】平成20年2月29日(2008.2.29)
【出願人】(000101617)アマノ株式会社 (174)
【Fターム(参考)】