(57)【要約】【課題】電子機器などの外部装置に正確かつ真正な時刻を提供する。【解決手段】時刻認証局３から取得したタイムスタンプトークンに含まれるＴＳ時刻情報の真正性を、このタイムスタンプトークンに含まれる電子署名を用いて検証し、検証の結果、真正であると認定されたＴＳ時刻情報が示す時刻を、時刻提供装置６のＴＳ時計の時刻として設定する。また、ＮＴＰサーバ５から取得したＮＴＰ時刻情報が示す時刻を時刻提供装置６のＮＴＰ時計の時刻として設定する。そして、ＴＳ時計の時刻とＮＴＰ時計の時刻とが一致するとみなすことができる所定の関係であるか否かを判断し、両時刻が一致するとみなすことができる所定の関係である場合に、ＮＴＰ時計の時刻をサービス利用者のパーソナルコンピュータ１０に出力する。【選択図】図１
2009212559.tif 000002
【特許請求の範囲】
【請求項１】
外部装置に時刻を提供する時刻提供装置であって、
標準時に合致した時刻を示す時刻情報と、当該時刻情報が真正であることまたは当該時刻情報の発行主体が真正であることを証明する証明情報とを含むタイムスタンプトークンを発行するタイムスタンプトークン発行局から前記タイムスタンプトークンを取得するタイムスタンプトークン取得手段と、
前記タイムスタンプトークン取得手段により取得されたタイムスタンプトークンに含まれる前記時刻情報の真正性を、当該タイムスタンプトークンに含まれる前記証明情報を用いて検証する真正性検証手段と、
時刻を刻む時計と、
前記真正性検証手段により真正性が検証された前記時刻情報が示す時刻を前記時計の時刻として設定する時刻設定手段と、
前記時刻設定手段により設定された前記時計の時刻を前記外部装置に出力する時刻出力手段とを備えていることを特徴とする時刻提供装置。
【請求項２】
外部装置に時刻を提供する時刻提供装置であって、
標準時に合致した時刻を示す第１の時刻情報と、当該第１の時刻情報が真正であることまたは当該第１の時刻情報の発行主体が真正であることを証明する証明情報とを含むタイムスタンプトークンを発行するタイムスタンプトークン発行局から前記タイムスタンプトークンを取得するタイムスタンプトークン取得手段と、
前記タイムスタンプトークン取得手段により取得されたタイムスタンプトークンに含まれる前記第１の時刻情報の真正性を、当該タイムスタンプトークンに含まれる証明情報を用いて検証する真正性検証手段と、
時刻を刻む第１の時計と、
前記真正性検証手段により真正性が検証された前記第１の時刻情報が示す時刻を前記第１の時計の時刻として設定する第１の時刻設定手段と、
標準時に合致した時刻を示す第２の時刻情報をネットワークタイムプロトコルに従って供給するＮＴＰサーバから前記第２の時刻情報を取得するＮＴＰ時刻情報取得手段と、
前記第１の時計から独立して時刻を刻む第２の時計と、
ＮＴＰ時刻情報取得手段により取得された第２の時刻情報が示す時刻を前記第２の時計の時刻として設定する第２の時刻設定手段と、
前記第１の時刻設定手段により設定された前記第１の時計の時刻と、前記第２の時刻設定手段により設定された前記第２の時計の時刻とが一致するとみなすことができる所定の関係であるか否かを判断する処理である時刻監査処理を行う時刻監査手段と、
前記時刻監査手段による時刻監査処理において、前記第１の時計の時刻と前記第２の時計の時刻とが一致するとみなすことができる所定の関係であると判断された場合には、前記第２の時計の時刻を前記外部装置に出力する時刻出力手段とを備えていることを特徴とする時刻提供装置。
【請求項３】
前記タイムスタンプトークン取得手段は、
前記タイムスタンプトークン発行局に対して前記タイムスタンプトークンの発行を要求するタイムスタンプトークン要求手段と、
前記タイムスタンプトークン要求手段による前記タイムスタンプトークンの発行要求に応じて前記タイムスタンプトークン発行局から発行された前記タイムスタンプトークンを受け取るタイムスタンプトークン受取手段と、
前記タイムスタンプトークン要求手段が前記タイムスタンプトークンの発行を要求してから前記タイムスタンプトークン受取手段が前記タイムスタンプトークンを受け取るまでの時間であるタイムスタンプトークン取得経過時間を測定する時間測定手段とを備え、
前記時刻監査手段は、前記時刻監査処理において、前記第２の時計の時刻が、前記第１の時計の時刻以降であり、かつ前記時間測定手段により測定された前記タイムスタンプトークン取得経過時間を前記第１の時計の時刻に加えた時刻以前である場合に、前記第１の時計の時刻と前記第２の時計の時刻とが一致するとみなすことができる所定の関係であると判断することを特徴とする請求項２に記載の時刻提供装置。
【請求項４】
前記外部装置から発せられる時刻出力要求を受け取る時刻出力要求受取手段を備え、
前記時刻出力手段は、前記時刻出力要求受取手段により受け取られた時刻出力要求に応じて前記第２の時計の時刻を前記外部装置に出力し、
前記時刻監査手段は、前記時刻出力要求に応じて前記時刻出力手段が前記第２の時計の時刻を前記外部装置に出力しようとする度に、前記時刻監査処理を行うことを特徴とする請求項２に記載の時刻提供装置。
【請求項５】
固有値生成手段、固有値記憶手段、照合手段、照合情報記憶手段およびタイムスタンプトークン採否判断手段を備え、
前記固有値生成手段は固有値を生成し、
前記固有値記憶手段は前記固有値生成手段により生成された固有値を記憶し、
前記タイムスタンプトークン取得手段は、前記固有値生成手段により生成された固有値を前記タイムスタンプトークン発行局に送り、かつ前記タイムスタンプトークン発行局に対し、前記固有値を含むタイムスタンプトークンの発行を要求するタイムスタンプトークン要求手段と、前記タイムスタンプトークン要求手段による前記固有値を含むタイムスタンプトークンの発行要求に応じて前記タイムスタンプトークン発行局から発行された前記固有値を含むタイムスタンプトークンを受け取るタイムスタンプトークン受取手段とを備え、
前記照合手段は、前記タイムスタンプトークン受取手段により前記固有値を含むタイムスタンプトークンが受け取られる度に、前記タイムスタンプトークン受取手段により受け取られた前記固有値を含むタイムスタンプトークンに含まれる前記固有値と前記固有値記憶手段に記憶された前記固有値とが一致するか否かを判断し、
前記照合情報記憶手段は、前記照合手段により、前記タイムスタンプトークン受取手段により受け取られた前記固有値を含むタイムスタンプトークンに含まれる前記固有値と前記固有値記憶手段に記憶された前記固有値とが一致すると判断された場合に、これら２つの固有値が一致した事実または回数を示す照合情報を記憶し、
前記タイムスタンプトークン採否判断手段は、前記照合手段により、前記タイムスタンプトークン受取手段により受け取られた前記固有値を含むタイムスタンプトークンに含まれる前記固有値と前記固有値記憶手段に記憶された前記固有値とが一致すると判断された場合に、前記照合情報記憶手段に記憶された照合情報を参照することにより、前記タイムスタンプトークン受取手段により受け取られた前記固有値を含むタイムスタンプトークンに含まれる前記固有値と前記固有値記憶手段に記憶された前記固有値とが一致した事実が過去に存在しているか否かを判断し、当該事実が過去に存在している場合には、前記タイムスタンプトークン受取手段により今回受け取られた前記固有値を含むタイムスタンプトークンを不採用とすることを特徴とする請求項１または２に記載の時刻提供装置。
【請求項６】
時刻を刻む時計を用いて、外部装置に時刻を提供する時刻提供方法であって、
標準時に合致した時刻を示す時刻情報と、当該時刻情報が真正であることまたは当該時刻情報の発行主体が真正であることを証明する証明情報とを含むタイムスタンプトークンを発行するタイムスタンプトークン発行局から前記タイムスタンプトークンを取得するタイムスタンプトークン取得工程と、
前記タイムスタンプトークン取得工程において取得されたタイムスタンプトークンに含まれる前記時刻情報の真正性を、当該タイムスタンプトークンに含まれる前記証明情報を用いて検証する真正性検証工程と、
前記真正性検証工程において真正性が検証された前記時刻情報が示す時刻を前記時計の時刻として設定する時刻設定工程と、
前記時刻設定工程において設定された前記時計の時刻を前記外部装置に出力する時刻出力工程とを備えていることを特徴とする時刻提供方法。
【請求項７】
相互に独立してそれぞれ時刻を刻む第１の時計および第２の時計を用いて、外部装置に時刻を提供する時刻提供方法であって、
標準時に合致した時刻を示す第１の時刻情報と、当該第１の時刻情報が真正であることまたは当該第１の時刻情報の発行主体が真正であることを証明する証明情報とを含むタイムスタンプトークンを発行するタイムスタンプトークン発行局から前記タイムスタンプトークンを取得するタイムスタンプトークン取得工程と、
前記タイムスタンプトークン取得工程において取得されたタイムスタンプトークンに含まれる前記第１の時刻情報の真正性を、当該タイムスタンプトークンに含まれる証明情報を用いて検証する真正性検証工程と、
前記真正性検証工程において真正性が検証された前記第１の時刻情報が示す時刻を前記第１の時計の時刻として設定する第１の時刻設定工程と、
標準時に合致した時刻を示す第２の時刻情報をネットワークタイムプロトコルに従って供給するＮＴＰサーバから前記第２の時刻情報を取得するＮＴＰ時刻情報取得工程と、
ＮＴＰ時刻情報取得工程において取得された第２の時刻情報が示す時刻を前記第２の時計の時刻として設定する第２の時刻設定工程と、
前記第１の時刻設定工程において設定された前記第１の時計の時刻と、前記第２の時刻設定工程において設定された前記第２の時計の時刻とが一致するとみなすことができる所定の関係であるか否かを判断する処理である時刻監査処理を行う時刻監査工程と、
前記時刻監査工程の時刻監査処理において、前記第１の時計の時刻と前記第２の時計の時刻とが一致するとみなすことができる所定の関係であると判断された場合には、前記第２の時計の時刻を前記外部装置に出力する時刻出力工程とを備えていることを特徴とする時刻提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時計を内蔵した電子機器などに対し、標準時に合致した時刻を提供する時刻提供装置および時刻提供方法に関する。
【背景技術】
【０００２】
現在、文書の電子化、音声・映像記録のデジタル化が進み、これに伴い、文書データ、音声データ、映像データなどの電子データの作成日時などを示す時刻情報の重要性が増しつつある。なお、「時刻情報」には、時刻を示す情報だけでなく、年月日を示す情報も含まれるものとする。
【０００３】
このような状況の下、電子データに、その作成日時などを示す正確な時刻情報を付加する要請が高まりつつある。
【０００４】
電子データに正確な時刻情報を付加する方法として、電子データを作成するためのコンピュータの内部時計が示す時刻を、ＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）サーバから供給される時刻情報を用いて設定する方法がある。すなわち、コンピュータを用いて電子データを作成する場合、電子データに付加される時刻情報は、コンピュータの内部時計が示す時刻を用いて生成される。そこで、コンピュータをインターネットなどのコンピュータネットワークに接続し、標準時に合致した正確な時刻情報をＮＴＰサーバから取得し、この時刻情報を用いてコンピュータの内部時計の時刻を正確に設定する。これにより、電子データに正確な時刻情報を付加することができる。
【０００５】
また、電子データの作成日時などを示す時刻情報の重要性が増しつつある状況の下、電子データに、その作成日時などを示す真正な時刻情報を付加する要請が高まりつつある。
【０００６】
電子データに真正な時刻情報を付加する方法として、時刻認証局から発行されるタイムスタンプを電子データに付加する方法がある。すなわち、電子データの所有者または利用者は時刻認証局に対し、電子データに付加すべきタイムスタンプの発行を要求する。時刻認証局は、電子データの所有者または利用者の要求に応じ、標準時に合致した時刻を示す時刻情報を生成し、この時刻情報を電子データのハッシュ値に付加する。さらに、時刻認証局は、電子データのハッシュ値に時刻情報を付加したものに電子署名を付加し、このようにして生成された情報群をタイムスタンプとして電子データの所有者または利用者に発行する。タイムスタンプに含まれる時刻情報には、時刻認証局による電子署名が付加されており、時刻認証局は時刻認証業務を行う機関として公的に認定されている。このため、タイムスタンプに含まれる時刻情報は、その真正性を確認することができる。なお、タイムスタンプの発行に関する手続きは、ＲＦＣ３１６１により国際標準化されている。
【０００７】
また、特開２００６−２３６２５１号公報（特許文献１）には、標準電波送信所や衛星から受信した電波時刻と、時刻発行サーバからネットワークを介して取得した認証時刻とを用いて内部時計のローカル時刻の校正を行うタイムスタンプ装置が記載されている。
【特許文献１】特開２００６−２３６２５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、正確かつ真正な時刻を刻む内部時計を有し、この内部時計が示す正確かつ真正な時刻を、コンピュータなどの電子機器に提供する時刻提供装置の研究が進められている。このような時刻提供装置が実現すれば、電子機器は、時刻提供装置から提供された正確かつ真正な時刻を用いて当該電子機器の内部時計が示す時刻を設定することにより、当該電子機器の内部時計が示す時刻の正確性および真正性を容易に維持することが可能になる。この結果、当該電子機器により作成された電子データに正確かつ真正な時刻情報を容易に付加することが可能になる。
【０００９】
しかし、このような時刻提供装置を実現するにあたり、次のような問題がある。
【００１０】
上述したように、ＮＴＰサーバは正確な時刻情報を供給する。したがって、ＮＴＰサーバから正確な時刻情報を取得し、この時刻情報を用いて時刻提供装置の内部時計の時刻を正確に設定することが可能である。
【００１１】
しかしながら、この場合には、時刻提供装置の内部時計が示す時刻の真正性を保証することが難しいという問題がある。すなわち、ＮＴＰサーバから供給される時刻情報は、ネットワーク上の攻撃や疑似信号により改ざんされる可能性がある。しかも、ＮＴＰサーバから供給される時刻情報には、多くの場合、時刻情報の真正性を証明する電子署名などが付されていない。さらに、ＮＴＰサーバにより時刻情報を供給する事業者を公的に認定する制度が整備されておらず、当該事業者の信頼性を十分に保証することが困難である。このような事情により、ＮＴＰサーバから取得した時刻情報を用いて時刻提供装置の内部時計の時刻を設定した場合には、時刻提供装置の内部時計が示す時刻の真正性を保証することが難しい。
【００１２】
一方、時刻認証局から発行されるタイムスタンプに含まれる時刻情報は、上述したように、その真正性を確認することができる。また、このタイムスタンプに含まれる時刻情報は、標準時に合致した時刻を示す時刻情報であり正確である。そこで、本出願の発明者は、タイムスタンプに含まれる時刻情報を用いて時刻提供装置の内部時計が示す時刻を設定することにより、時刻提供装置の内部時計が示す時刻の真正性を保証するというアイディアを想起した。
【００１３】
しかしながら、従来、時刻認証局から発行されるタイムスタンプは電子データに付加される形で用いられているにすぎない。このため、このタイムスタンプに含まれる時刻情報を用いて内部時計の時刻を設定する時刻提供装置を実現するためには、次に述べるいくつかの問題がある。
【００１４】
まず、タイムスタンプに含まれる時刻情報を用いて時刻提供装置の内部時計に真正な時刻を設定するためには、内部時計に時刻を設定する前に、タイムスタンプに含まれる時刻情報の真正性を検証しなければならず、この検証方法または検証手段を具体的に検討しなければならないという問題がある。
【００１５】
次に、時刻提供装置が時刻認証局に対してタイムスタンプの発行を要求してから、時刻認証局が発行したタイムスタンプが時刻提供装置に受け取られるまでには、ある程度の時間がかかる。この時間は、時刻提供装置と時刻認証局との間の情報通信の遅延や、時刻認証局におけるタイムスタンプ生成処理にかかる時間などに起因する。このため、タイムスタンプに含まれる時刻情報をそのまま用いて時刻提供装置の内部時計が示す時刻を設定すると、内部時計が示す時刻が標準時よりもわずかに（例えば１００ｍｓ（ミリ秒）〜５００ｍｓ程度）遅れてしまう。この結果、内部時計が示す時刻の精度を高めることが難しいという問題がある。
【００１６】
次に、時刻提供装置が時刻認証局から取得する時刻情報の正確性または真正性をいわゆるリプライ攻撃により損なわれるのを防止することが困難であるという問題がある。リプライ攻撃とは、ここでは、時刻認証局から時刻提供装置に送信されるタイムスタンプを傍受し、これをそのまま繰り返しまたは遅延させて時刻提供装置に送りつけることを意味する。このようなリプライ攻撃は、時刻の改ざんを目的として行われる。リプライ攻撃を受けると、時刻提供装置が時刻認証局から取得する時刻情報の正確性または真正性が損なわれてしまう。リプライ攻撃は、タイムスタンプを丸ごと傍受し、そのタイムスタンプをそのまま時刻提供装置に送信する行為であるため、タイムスタンプに含まれる時刻情報に付加された電子署名を検証するだけでは、リプライ攻撃を見破ることができない。それゆえ、時刻提供装置が時刻認証局から取得する時刻情報の正確性または真正性をリプライ攻撃により損なわれるのを防止することは困難である。
【００１７】
他方、特開２００６−２３６２５１号公報に記載されたタイプスタンプ装置は、標準電波送信所や衛星から受信した電波時刻と、時刻発行サーバからネットワークを介して取得した認証時刻とを用いて内部時計のローカル時刻の校正を行うが、標準電波送信所や衛星から受信した電波時刻は改ざんの可能性がある。そして、時刻発行サーバからネットワークを介して取得した認証時刻には、上述した時刻認証局が発行するタイムスタンプと異なり、認証時刻の真正性を証明する電子署名などが付加されていない。これらの理由により、このタイムスタンプ装置では、ローカル時刻の真正性を保証することが難しいという問題がある。
【００１８】
本発明は例えば上述したような問題に鑑みなされたものであり、本発明の第１の課題は、電子機器などの外部装置に正確かつ真正な時刻を提供することができる時刻提供装置および時刻提供方法を提供することにある。
【００１９】
本発明の第２の課題は、いわゆるリプライ攻撃により時刻情報の正確性または真正性が損なわれるのを防止することができる時刻提供装置および時刻提供方法を提供することにある。
【課題を解決するための手段】
【００２０】
上記課題を解決するために、本発明の第１の時刻提供装置は、外部装置に時刻を提供する時刻提供装置であって、標準時に合致した時刻を示す時刻情報と、当該時刻情報が真正であることまたは当該時刻情報の発行主体が真正であることを証明する証明情報とを含むタイムスタンプトークンを発行するタイムスタンプトークン発行局から前記タイムスタンプトークンを取得するタイムスタンプトークン取得手段と、前記タイムスタンプトークン取得手段により取得されたタイムスタンプトークンに含まれる前記時刻情報の真正性を、当該タイムスタンプトークンに含まれる前記証明情報を用いて検証する真正性検証手段と、時刻を刻む時計と、前記真正性検証手段により真正性が検証された前記時刻情報が示す時刻を前記時計の時刻として設定する時刻設定手段と、前記時刻設定手段により設定された前記時計の時刻を前記外部装置に出力する時刻出力手段とを備えている。
【００２１】
上記課題を解決するために、本発明の第２の時刻提供装置は、外部装置に時刻を提供する時刻提供装置であって、標準時に合致した時刻を示す第１の時刻情報と、当該第１の時刻情報が真正であることまたは当該第１の時刻情報の発行主体が真正であることを証明する証明情報とを含むタイムスタンプトークンを発行するタイムスタンプトークン発行局から前記タイムスタンプトークンを取得するタイムスタンプトークン取得手段と、前記タイムスタンプトークン取得手段により取得されたタイムスタンプトークンに含まれる前記第１の時刻情報の真正性を、当該タイムスタンプトークンに含まれる証明情報を用いて検証する真正性検証手段と、時刻を刻む第１の時計と、前記真正性検証手段により真正性が検証された前記第１の時刻情報が示す時刻を前記第１の時計の時刻として設定する第１の時刻設定手段と、標準時に合致した時刻を示す第２の時刻情報をネットワークタイムプロトコルに従って供給するＮＴＰサーバから前記第２の時刻情報を取得するＮＴＰ時刻情報取得手段と、前記第１の時計から独立して時刻を刻む第２の時計と、ＮＴＰ時刻情報取得手段により取得された第２の時刻情報が示す時刻を前記第２の時計の時刻として設定する第２の時刻設定手段と、前記第１の時刻設定手段により設定された前記第１の時計の時刻と、前記第２の時刻設定手段により設定された前記第２の時計の時刻とが一致するとみなすことができる所定の関係であるか否かを判断する処理である時刻監査処理を行う時刻監査手段と、前記時刻監査手段による時刻監査処理において、前記第１の時計の時刻と前記第２の時計の時刻とが一致するとみなすことができる所定の関係であると判断された場合には、前記第２の時計の時刻を前記外部装置に出力する時刻出力手段とを備えている。
【００２２】
本発明の第３の時刻提供装置は、上述した第２の時刻提供装置において、前記タイムスタンプトークン取得手段は、前記タイムスタンプトークン発行局に対して前記タイムスタンプトークンの発行を要求するタイムスタンプトークン要求手段と、前記タイムスタンプトークン要求手段による前記タイムスタンプトークンの発行要求に応じて前記タイムスタンプトークン発行局から発行された前記タイムスタンプトークンを受け取るタイムスタンプトークン受取手段と、前記タイムスタンプトークン要求手段が前記タイムスタンプトークンの発行を要求してから前記タイムスタンプトークン受取手段が前記タイムスタンプトークンを受け取るまでの時間であるタイムスタンプトークン取得経過時間を測定する時間測定手段とを備え、前記時刻監査手段は、前記時刻監査処理において、前記第２の時計の時刻が、前記第１の時計の時刻以降であり、かつ前記時間測定手段により測定された前記タイムスタンプトークン取得経過時間を前記第１の時計の時刻に加えた時刻以前である場合に、前記第１の時計の時刻と前記第２の時計の時刻とが一致するとみなすことができる所定の関係であると判断する。
【００２３】
本発明の第４の時刻提供装置は、上述した第２の時刻提供装置において、前記外部装置から発せられる時刻出力要求を受け取る時刻出力要求受取手段を備え、前記時刻出力手段は、前記時刻出力要求受取手段により受け取られた時刻出力要求に応じて前記第２の時計の時刻を前記外部装置に出力し、前記時刻監査手段は、前記時刻出力要求に応じて前記時刻出力手段が前記第２の時計の時刻を前記外部装置に出力しようとする度に、前記時刻監査処理を行う。
【００２４】
本発明の第５の時刻提供装置は、上述した第１または第２の時刻提供装置において、固有値生成手段、固有値記憶手段、照合手段、照合情報記憶手段およびタイムスタンプトークン採否判断手段を備え、前記固有値生成手段は固有値を生成し、前記固有値記憶手段は前記固有値生成手段により生成された固有値を記憶し、前記タイムスタンプトークン取得手段は、前記固有値生成手段により生成された固有値を前記タイムスタンプトークン発行局に送り、かつ前記タイムスタンプトークン発行局に対し、前記固有値を含むタイムスタンプトークンの発行を要求するタイムスタンプトークン要求手段と、前記タイムスタンプトークン要求手段による前記固有値を含むタイムスタンプトークンの発行要求に応じて前記タイムスタンプトークン発行局から発行された前記固有値を含むタイムスタンプトークンを受け取るタイムスタンプトークン受取手段とを備え、前記照合手段は、前記タイムスタンプトークン受取手段により前記固有値を含むタイムスタンプトークンが受け取られる度に、前記タイムスタンプトークン受取手段により受け取られた前記固有値を含むタイムスタンプトークンに含まれる前記固有値と前記固有値記憶手段に記憶された前記固有値とが一致するか否かを判断し、前記照合情報記憶手段は、前記照合手段により、前記タイムスタンプトークン受取手段により受け取られた前記固有値を含むタイムスタンプトークンに含まれる前記固有値と前記固有値記憶手段に記憶された前記固有値とが一致すると判断された場合に、これら２つの固有値が一致した事実または回数を示す照合情報を記憶し、前記タイムスタンプトークン採否判断手段は、前記照合手段により、前記タイムスタンプトークン受取手段により受け取られた前記固有値を含むタイムスタンプトークンに含まれる前記固有値と前記固有値記憶手段に記憶された前記固有値とが一致すると判断された場合に、前記照合情報記憶手段に記憶された照合情報を参照することにより、前記タイムスタンプトークン受取手段により受け取られた前記固有値を含むタイムスタンプトークンに含まれる前記固有値と前記固有値記憶手段に記憶された前記固有値とが一致した事実が過去に存在しているか否かを判断し、当該事実が過去に存在している場合には、前記タイムスタンプトークン受取手段により今回受け取られた前記固有値を含むタイムスタンプトークンを不採用とする。
【００２５】
上記課題を解決するために、本発明の第１の時刻提供方法は、時刻を刻む時計を用いて、外部装置に時刻を提供する時刻提供方法であって、標準時に合致した時刻を示す時刻情報と、当該時刻情報が真正であることまたは当該時刻情報の発行主体が真正であることを証明する証明情報とを含むタイムスタンプトークンを発行するタイムスタンプトークン発行局から前記タイムスタンプトークンを取得するタイムスタンプトークン取得工程と、前記タイムスタンプトークン取得工程において取得されたタイムスタンプトークンに含まれる前記時刻情報の真正性を、当該タイムスタンプトークンに含まれる前記証明情報を用いて検証する真正性検証工程と、前記真正性検証工程において真正性が検証された前記時刻情報が示す時刻を前記時計の時刻として設定する時刻設定工程と、前記時刻設定工程において設定された前記時計の時刻を前記外部装置に出力する時刻出力工程とを備えている。
【００２６】
上記課題を解決するために、本発明の第２の時刻提供方法は、相互に独立してそれぞれ時刻を刻む第１の時計および第２の時計を用いて、外部装置に時刻を提供する時刻提供方法であって、標準時に合致した時刻を示す第１の時刻情報と、当該第１の時刻情報が真正であることまたは当該第１の時刻情報の発行主体が真正であることを証明する証明情報とを含むタイムスタンプトークンを発行するタイムスタンプトークン発行局から前記タイムスタンプトークンを取得するタイムスタンプトークン取得工程と、前記タイムスタンプトークン取得工程において取得されたタイムスタンプトークンに含まれる前記第１の時刻情報の真正性を、当該タイムスタンプトークンに含まれる証明情報を用いて検証する真正性検証工程と、前記真正性検証工程において真正性が検証された前記第１の時刻情報が示す時刻を前記第１の時計の時刻として設定する第１の時刻設定工程と、標準時に合致した時刻を示す第２の時刻情報をネットワークタイムプロトコルに従って供給するＮＴＰサーバから前記第２の時刻情報を取得するＮＴＰ時刻情報取得工程と、ＮＴＰ時刻情報取得工程において取得された第２の時刻情報が示す時刻を前記第２の時計の時刻として設定する第２の時刻設定工程と、前記第１の時刻設定工程において設定された前記第１の時計の時刻と、前記第２の時刻設定工程において設定された前記第２の時計の時刻とが一致するとみなすことができる所定の関係であるか否かを判断する処理である時刻監査処理を行う時刻監査工程と、前記時刻監査工程の時刻監査処理において、前記第１の時計の時刻と前記第２の時計の時刻とが一致するとみなすことができる所定の関係であると判断された場合には、前記第２の時計の時刻を前記外部装置に出力する時刻出力工程とを備えている。
【発明の効果】
【００２７】
上述した本発明の第１の時刻提供装置では、タイムスタンプトークン発行局から取得したタイムスタンプトークンに含まれる時刻情報の真正性を、当該タイムスタンプトークンに含まれる証明情報を用いて検証し、検証した時刻情報が示す時刻（標準時に合致した時刻）を、時刻提供装置が有する時計の時刻として設定する。そして、この時計の時刻を外部装置に出力する。これにより、外部装置に正確かつ真正な時刻を提供することができる。
【００２８】
すなわち、タイムスタンプトークンに含まれる時刻情報は、標準時に合致した時刻であり、正確である。そして、タイムスタンプトークンに含まれる時刻情報は、時刻提供装置においてタイムスタンプトークンに含まれる証明情報を用いてその真正性が検証されることにより、真正性が保証される。したがって、このようなタイムスタンプトークンに含まれる時刻情報を用いて設定された時計の時刻は、正確かつ真正な時刻である。よって、本発明の第１の時刻提供装置によれば、正確かつ真正な時刻を外部装置に提供することができる。
【００２９】
上述した本発明の第２の時刻提供装置では、タイムスタンプトークン発行局から取得したタイムスタンプトークンに含まれる第１の時刻情報の真正性を、タイムスタンプトークン発行局から取得したタイムスタンプトークンに含まれる証明情報を用いて検証し、検証した第１の時刻情報が示す時刻（標準時に合致した時刻）を、時刻提供装置が有する第１の時計の時刻として設定する。また、ＮＴＰサーバから取得した第２の時刻情報が示す時刻（標準時に合致した時刻）を第２の時計の時刻として設定する。そして、第１の時計の時刻と第２の時計の時刻とが一致するとみなすことができる所定の関係であるか否かを判断し、両時刻が一致するとみなすことができる所定の関係である場合には、第２の時計の時刻を外部装置に出力する。これにより、外部装置に正確かつ真正な時刻を提供することができる。特に、第２の時刻提供装置によれば、第１の時計の時刻と第２の時計の時刻とが一致するとみなすことができる所定の関係である場合には、ＮＴＰサーバから取得した第２の時刻情報が示す標準時が設定された第２の時計の時刻を外部装置に出力するため、上述した本発明の第１の時刻提供装置と比較して、外部装置に提供する時刻の精度を高めることができる。
【００３０】
すなわち、真正性が検証されたタイムスタンプトークンに含まれる時刻情報を用いて設定された第１の時計の時刻はその真正性が保証されている。しかし、タイムスタンプトークンに含まれる時刻情報は、タイムスタンプトークンがタイムスタンプトークン発行局から発信されてから時刻提供装置に到達するまでにかかる時間などが考慮されていない。このため、タイムスタンプトークンに含まれる時刻情報を用いて設定された第１の時計の時刻は標準時よりもわずかに（例えば１００ｍｓ〜５００ｍｓ程度）遅れてしまう。これに対し、ＮＴＰサーバから取得した第２の時刻情報を用いて設定された第２の時計の時刻は、真正性の保証はないものの、その精度が高い（例えば標準時に対し、数ｍｓ〜数十ｍｓ程度の誤差しかない）。したがって、第１の時計の時刻と第２の時計の時刻とが一致するとみなすことができる所定の関係である場合、第２の時計の時刻は、第１の時刻が示す時刻との一致性をもってその真正性が保証され、かつ精度が高い時刻である。よって、本発明の第２の時刻提供装置によれば、上述した本発明の第１の時刻提供装置と比較して精度が高く、かつ真正性が保証された時刻を外部装置に提供することができる。
【００３１】
上述した本発明の第３の時刻提供装置では、時刻提供装置がタイムスタンプトークンの発行を要求してから、時刻提供装置がタイムスタンプトークンを受け取るまでの時間であるタイムスタンプトークン取得経過時間を測定する。そして、第２の時計の時刻が、第１の時計の時刻以降であり、かつタイムスタンプトークン取得経過時間を第１の時計の時刻に加えた時刻以前である場合に、第１の時計の時刻と第２の時計の時刻とが一致するとみなすことができる所定の関係であると判断する。これにより、第１の時計の時刻と第２の時計の時刻との一致性（両時刻が一致するとみなすことができるか否か）を適正に判断することができる。
【００３２】
上述した本発明の第４の時刻提供装置では、外部装置からの時刻出力要求に応じて第２の時計の時刻を外部装置に出力しようとする度に、第１の時計の時刻と第２の時計の時刻とが一致するとみなすことができる所定の関係であるか否かを判断する処理（時刻監査処理）を行う。これにより、ＮＴＰサーバから取得した第２の時刻情報が、ネットワーク上の攻撃や疑似信号などにより改ざんされ、第２の時計に標準時と異なる時刻が設定されるといった事態が生じた場合には、外部装置からの時刻出力要求に応じて第２の時計の時刻を外部装置に出力しようとするときに、第１の時計の時刻と第２の時計の時刻とが一致するとみなすことができる所定の関係でないと判断することができ、この判断結果に基づいて、標準時と異なる時刻が外部装置に出力されるのを阻止することができる。したがって、外部装置に提供する時刻の正確性または真正性を高めることができる。
【００３３】
上述した本発明の第５の時刻提供装置は、固有値を生成し、これを固有値記憶手段に記憶すると共に、この固有値を時刻提供装置からタイムスタンプトークン発行局へ送る。タイムスタンプトークン発行局は、時刻提供装置から送られた固有値を含むタイムスタンプトークンを発行する。時刻提供装置は、タイムスタンプトークン発行局から発行された、固有値を含むタイムスタンプトークンを受け取る。時刻提供装置は、固有値を含むタイムスタンプトークンを受け取る度に、固有値を含むタイムスタンプトークンに含まれる固有値と、固有値記憶手段に記憶された固有値とが一致するか否かを判断する。そして、時刻提供装置は、これら２つの固有値が一致した場合には、これら２つの固有値が一致した事実または回数を示す照合情報を照合情報記憶手段に記憶する。さらに、時刻提供装置は、上記２つの固有値が一致した場合には、照合情報記憶手段に記憶された照合情報を参照することにより、上記２つの固有値が一致した事実が過去に存在しているか否かを判断し、当該事実が過去に存在している場合には、今回受け取った、固有値を含むタイムスタンプトークンを不採用とする。これにより、リプライ攻撃により時刻情報の正確性または真正性が損なわれるのを防止することができる。
【００３４】
すなわち、リプライ攻撃が行われた場合、同一の固有値を含むタイムスタンプトークンを時刻提供装置が２回以上受け取る可能性が高い。時刻提供装置が１回目に受け取ったタイムスタンプトークンは、タイムスタンプトークン発行局から発行され、時刻提供装置に正常に到達した真正なタイムスタンプトークンである可能性が高い。一方、２回目（あるいは３回目、４回目、…）に受け取った、同一の固有値を含むタイムスタンプトークンは、リプライ攻撃者により送られた偽のタイムスタンプトークンである可能性が高い。本発明の第５の時刻提供装置では、照合情報を参照することにより、２回目（あるいは３回目、４回目、…）に受け取った、同一の固有値を含むタイムスタンプトークンを特定し、このようなタイムスタンプトークンを不採用とする。すなわち、このようなタイムスタンプトークンに含まれる時刻情報を、時刻提供装置の有する時計の時刻設定には用いない。これにより、リプライ攻撃により、時刻情報の正確性または真正性、ひいては時刻提供装置の有する時計の時刻の正確性または真正性が損なわれるのを防止することができる。
【００３５】
上述した本発明の第１の時刻提供方法によれば、上述した本発明の第１の時刻提供装置と同様に、外部装置に正確かつ真正な時刻を提供することができる。
【００３６】
上述した本発明の第２の時刻提供方法によれば、上述した本発明の第２の時刻提供装置と同様に、外部装置に正確かつ真正な時刻を提供することができる。特に、第２の時刻提供方法によれば、上述した本発明の第１の時刻提供方法と比較して、外部装置に提供する時刻の精度を高めることができる。
【発明を実施するための最良の形態】
【００３７】
以下、図面を参照しつつ、本発明の実施の形態について説明する。
【００３８】
（時刻提供システム）
図１は、本発明の実施形態である時刻提供装置を含む時刻提供システムを示している。図１中の時刻提供システム１００は、時刻提供サービスを行うためのシステムである。本実施形態において、時刻提供サービスとは、標準時に合致した正確かつ真正な時刻を、サービス利用者の電子機器（本実施形態ではパーソナルコンピュータ１０）に提供するサービスである。
【００３９】
時刻提供システム１００は、国家時刻標準機関１、時刻配信監査局２、時刻認証局３、認証局４、ＮＴＰサーバ５、時刻提供装置６および管理用パーソナルコンピュータ７から構成されている。時刻認証局３、認証局４、ＮＴＰサーバ５および時刻提供装置６は広域なコンピュータネットワーク（例えばインターネット８）を介して相互に接続されている。また、時刻提供装置６および管理用パーソナルコンピュータ７はローカルなコンピュータネットワーク（例えばローカルエリアネットワーク９）を介して相互に接続されている。さらに、時刻提供装置６には、サービス利用者のパーソナルコンピュータ１０がローカルなコンピュータネットワーク（例えばローカルエリアネットワーク９）を介して接続されている。
【００４０】
国家時刻標準機関（ＮＴＡ：Ｎａｔｉｏｎａｌ  Ｔｉｍｅ  Ａｕｔｈｏｒｉｔｙ）１は、標準時を決定、維持および供給する国家的機関であり、時刻配信監査局２に対して標準時に合致した時刻を示す時刻情報を供給する。
【００４１】
時刻配信監査局（ＴＡ：Ｔｉｍｅ  Ａｕｔｈｏｒｉｔｙ）２は、時刻認証局３を含む時刻関連業者に標準時に合致した時刻を示す時刻情報の配信を行い、また、時刻関連業者の時刻を監査する機関である。
【００４２】
時刻認証局（ＴＳＡ：Ｔｉｍｅ  Ｓｔａｍｐ  Ａｕｔｈｏｒｉｔｙ）３は、時刻配信監査局２から時刻情報の配信および監査を受け、標準時に高精度に合致した真正な時刻を保持し、また、クライアントからのタイムスタンプ発行要求（タイムスタンプリクエスト）に対してタイムスタンプトークンを発行する機関である。
【００４３】
認証局（ＣＡ：Ｃｅｒｔｉｆｉｃａｔｉｏｎ  Ａｕｔｈｏｒｉｔｙ）４は、電子的な証明書を発行し、管理する機関である。本実施形態において、認証局４は、時刻認証局３に時刻認証局証明書（公開鍵証明書）を発行する。
【００４４】
ＮＴＰサーバ５は、ネットワークタイムプロトコル（ＮＴＰ：Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ、ＲＦＣ１３０５）に基づき、標準時に合致した時刻を示す時刻情報を、インターネット８に接続されている電子機器（本実施形態では時刻提供装置６）に供給するサーバコンピュータである。
【００４５】
時刻提供装置６は、本発明の時刻提供装置の実施形態であり、標準時に合致した高精度（正確）かつ真正な時刻を、サービス利用者のパーソナルコンピュータ１０に提供する装置である。
【００４６】
管理用パーソナルコンピュータ７は、時刻提供装置６を管理するためのパーソナルコンピュータであり、時刻提供装置６の管理者により用いられる。
【００４７】
サービス利用者のパーソナルコンピュータ１０は、時刻提供サービス利用者が用いるパーソナルコンピュータである。例えば、サービス利用者は、時刻提供装置６から高精度かつ真正な時刻の提供を受け、この時刻をパーソナルコンピュータ１０の内部時計に設定する。これにより、パーソナルコンピュータ１０で行った処理や、パーソナルコンピュータ１０で生成したデータなどに高精度かつ真正な時刻が記録されるようになる。
【００４８】
（タイムスタンプトークン）
図２は、時刻認証局３により発行されるタイムスタンプトークン２０を示している。図２に示すように、タイムスタンプトークン２０は、時刻提供装置６から送られたハッシュ値２１と、標準時に合致した時刻を示す時刻情報２２と、当該時刻情報２２が真正であることを証明するために時刻認証局３により生成された電子署名２３と、時刻情報２２の発行主体である時刻認証局３の存在（正当性）を証明するために認証局４により生成され、時刻認証局３に引き渡された時刻認証局証明書２４と、時刻認証局証明書２４が真正であることを証明するために認証局４により生成され、時刻認証局３に引き渡された電子署名２５とを含む。また、時刻認証局証明書２４には、時刻認証局３の公開鍵２６が含まれている。
【００４９】
時刻認証局３は、時刻提供装置６からハッシュ値２１を含むタイムスタンプトークン２０の発行要求を受け取ったとき、これに応じて、タイムスタンプトークン２０を次のような手順で生成する。まず、時刻認証局３は、時刻情報２２にハッシュ値２１を付加し、ハッシュ値２１と時刻情報２２とからなる情報ブロックのハッシュ値を生成する。続いて、時刻認証局３は、この情報ブロックのハッシュ値を時刻認証局３の秘密鍵で暗号化することにより、電子署名２３を生成する。続いて、時刻認証局３は、ハッシュ値２１と時刻情報２２とからなる情報ブロックに電子署名２３を付加し、さらにこれに時刻認証局証明書２４と電子署名２５とを付加する。
【００５０】
（タイムスタンプトークンに含まれる時刻情報）
図２に示すように、タイムスタンプトークン２０には標準時に合致した時刻を示す時刻情報２２が含まれている。以下、タイムスタンプトークン２０に含まれる時刻情報２２を「ＴＳ時刻情報２２」という。
【００５１】
ＴＳ時刻情報２２が示す時刻には、国家時刻標準機構１から時刻配信監査局２を介して供給、監査を受けて、標準時刻に高精度に同期した時刻認証局３の内部時計の時刻が用いられる。そして、ＴＳ時刻情報２２は、時刻認証局３によりタイムスタンプトークン２０に内包された形で発行される。国家時刻標準機関１は国家機関であり、時刻配信監査局２および時刻認証局３はいずれも公的に認定された機関である。したがって、ＴＳ時刻情報２２が示す時刻は、正確かつ真正である。
【００５２】
さらに、ＴＳ時刻情報２２は、タイムスタンプトークン２０に含まれる証明情報、すなわち、時刻認証局３による電子署名２３および認証局４による電子署名２５を用いてその真正性を証明することができる。時刻認証局３も認証局４も公的に認定された機関であるため、これらの電子署名２３、２５は信頼性が高い。それゆえ、これらの電子署名２３、２５に裏付けられたＴＳ時刻情報２２の真正性は高い。
【００５３】
さらに、時刻認証局３には、タイムスタンプトークン２０を時刻提供装置６に発行した事実を示す履歴情報が保存される。ＴＳ時刻情報２２の真正性は、この履歴情報に基づいて証明することも可能である。すなわち、ＴＳ時刻情報２２はそのトレーサビリティが確保されており、信頼性が高い。
【００５４】
もっとも、タイムスタンプトークン２０に含まれるＴＳ時刻情報２２は、タイムスタンプトークン２０が時刻認証局３から発信されてからインターネット８を介して時刻提供装置６に到達するまでにかかる時間などが考慮されていない。したがって、時刻提供装置６がＴＳ時刻情報２２を用いて後述するＴＳ時計４０の時刻を設定すると、ＴＳ時計４０の時刻は標準時よりもわずかに（例えば１００ｍｓ〜５００ｍｓ程度）遅れてしまう。このため、ＴＳ時計４０の時刻は、正確であるものの、後述するＮＴＰ時計５４の時刻のように高精度ではない。
【００５５】
（ＮＴＰサーバから供給される時刻情報）
一方、図１中のＮＴＰサーバ５は、ネットワークタイムプロトコルに基づき、標準時に合致した時刻を示す時刻情報を供給する。以下、ＮＴＰサーバ５からネットワークタイムプロトコルに基づき供給される時刻情報を「ＮＴＰ時刻情報」という。ネットワークタイムプロトコルは、コンピュータネットワークに接続される電子機器において、当該電子機器の内部時計を標準時に合致した時刻に同期するためのプロトコルである。ネットワークタイムプロトコルに基づいて供給されるＮＴＰ時刻情報は、ＮＴＰ時刻情報がＮＴＰサーバ５から発信されてから電子機器に到達するまでにかかる時間などが考慮されている。したがって、時刻提供装置６がＮＴＰ時刻情報を用いてＮＴＰ時計５４の時刻を設定すると、ＮＴＰ時計５４の時刻は標準時と高精度に合致する。例えば、ＮＴＰ時計５４の時刻と標準時との間の誤差は数ｍｓ〜数十ｍｓ程度である。
【００５６】
もっとも、ＮＴＰ時刻情報は、ＴＳ時刻情報２２のように、公的に認定された機関から配信された時刻情報ではない場合が多い。また、ＮＴＰ時刻情報は、ＴＳ時刻情報２２のように、公的に認定された機関による証明情報が付加されていないため、その真正性を証明することが難しい。また、ＮＴＰ時刻情報をＮＴＰサーバ５から時刻提供装置６に供給した事実を示す履歴情報がＮＴＰ時刻情報の供給者側において保存されていない場合がある。これらの事情により、ＮＴＰ時刻情報の真正性は、ＴＳ時刻情報２２と比較して低い。
【００５７】
（時刻提供装置の構成）
図３は時刻提供装置６の内部構造を示している。時刻提供装置６は、時刻認証局３から発行されたタイムスタンプトークン２０に含まれるＴＳ時刻情報２２を用いて設定したＴＳ時計４０の時刻と、ＮＴＰサーバ５から供給されたＮＴＰ時刻情報を用いて設定したＮＴＰ時計５４の時刻とを利用し、高精度（正確）かつ真正な時刻を、サービス利用者のパーソナルコンピュータ１０に提供する。
【００５８】
図３に示すように、時刻提供装置６の構成要素は、ＴＳ時計セクション３０、ＮＴＰ時計セクション５０、時刻提供セクション６０および制御・管理セクション７０に分かれている。
【００５９】
（ＴＳ時計セクション）
ＴＳ時計セクション３０には、時刻認証局３から取得したタイムスタンプトークン２０に含まれるＴＳ時刻情報２２を用いてＴＳ時計４０の時刻を設定するための構成要素が主に含まれている。すなわち、ＴＳ時計セクション３０には、ハッシュ値生成部３１、ハッシュ値照合データベース３２、タイムスタンプトークン要求部３３、タイムスタンプトークン受取部３４、時間測定部３５、真正性検証部３６、ハッシュ値照合部３７、タイムスタンプトークン採否判断部３８、ＴＳ時刻設定部３９およびＴＳ時計４０が含まれている。なお、ＴＳ時計セクション３０において行われるタイムスタンプトークン取得に関する手続きは国際標準ＲＦＣ３１６１に準拠している。
【００６０】
ハッシュ値生成部３１は、ハッシュ値２１を生成し、生成したハッシュ値２１をハッシュ値照合データベース３２に記憶する。ハッシュ値２１は、後述するように、時刻提供装置６により受け取られたタイムスタンプトークン２０が、確かに、時刻提供装置６によるタイムスタンプトークン２０の発行要求に応じて時刻認証局３から発行されたものであるか否か、およびいわゆるリプライ攻撃による偽のタイムスタンプトークンでないか否かを判断するのに用いられる。
【００６１】
ハッシュ値生成部３１は、例えば乱数をハッシュ関数に入力することによりハッシュ値２１を生成する。なお、このハッシュ関数は時刻提供装置６の記憶部７３に予め記憶されている。
【００６２】
また、ハッシュ値生成部３１は、例えば毎日０時を経過した直後に、１日に必要な数のハッシュ値２１を一度に生成し、生成した複数のハッシュ値２１をハッシュ値照合データベース３２に記憶する。例えば、時刻提供装置６が時刻認証局３からタイムスタンプトークン２０を取得する間隔が３時間である場合には、１日に必要なハッシュ値の数は８つである。この場合には、ハッシュ値生成部３１は、毎日０時を経過した直後に、８つのハッシュ値２１を一度に生成し、生成した８つのハッシュ値２１をハッシュ値照合データベース３２に記憶する。なお、各ハッシュ値２１は乱数をハッシュ関数に入力することにより生成されるため、ハッシュ値２１はそれぞれ相互に異なる固有な値である。
【００６３】
ハッシュ値照合データベース３２は、例えばハードディスクドライブ、フラッシュメモリなどの記憶装置を備えており、ハッシュ値生成部３１により生成された１日に必要な数のハッシュ値２１を記憶する。また、ハッシュ値照合データベース３２は、ハッシュ値照合データベース３２に記憶された各ハッシュ値２１について、引き渡しフラグおよび照合回数値を記憶する。ハッシュ値２１、引き渡しフラグおよび照合回数値は、図４に示すように、ハッシュ値照合テーブル４１に記述された形で、ハッシュ値照合データベース３２に記憶される。
【００６４】
引き渡しフラグとは、ハッシュ値照合データベース３２に記憶されたハッシュ値照合テーブル４１中のハッシュ値２１をタイムスタンプトークン２０の発行要求に入れて時刻認証局３に送ったか否かを、ハッシュ値照合データベース３２に記憶されたハッシュ値照合テーブル４１中のハッシュ値２１ごとに示すフラグである。引き渡しフラグを参照することにより、時刻認証局３に送ったことがあるハッシュ値２１と、時刻認証局３に送ったことがないハッシュ値２１とを識別することができる。すなわち、時刻提供装置６は、タイムスタンプトークン２０の発行を要求する度に、時刻認証局３に常に異なるハッシュ値２１を送る必要がある。時刻提供装置６は、引き渡しフラグを参照することにより、時刻認証局３に送ったことがないハッシュ値２１を選択し、これを時刻認証局３に送ることができる。
【００６５】
照合回数値とは、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０に含まれるハッシュ値２１とハッシュ値照合データベース３２に記憶されたハッシュ値照合テーブル４１中のハッシュ値２１との照合回数（両ハッシュ値が互いに一致した回数）を、ハッシュ値照合データベース３２に記憶されたハッシュ値照合テーブル４１中のハッシュ値２１ごとに示す値である。照合回数値を参照することにより、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０に含まれるハッシュ値２１とハッシュ値照合データベース３２に記憶されたハッシュ値照合テーブル４１中のハッシュ値２１とが一致した事実が過去に存在しているか否かを判断することができる。すなわち、時刻提供装置６は、同一のハッシュ値２１を含むタイムスタンプトークン２０を２回以上受け取った場合には、このタイムスタンプトークン２０をリプライ攻撃による偽のタイムスタンプトークンと判断する。照合回数値を参照することにより、この判断を容易に行うことができる。
【００６６】
図３中のタイムスタンプトークン要求部３３は、ハッシュ値生成部３１により生成されたハッシュ値２１を時刻認証局３に送り、かつ時刻認証局３に対してタイムスタンプトークン２０の発行を要求する。具体的には、タイムスタンプトークン要求部３３は、ハッシュ値照合データベース３２に記憶されたハッシュ値照合テーブル４１中のハッシュ値２１の中から、時刻認証局３に送ったことがないハッシュ値２１を選択し、このハッシュ値２１をハッシュ値照合データベース３２のハッシュ値照合テーブル４１から読み出す。そして、タイムスタンプトークン要求部３３は、この読み出したハッシュ値２１を、タイムスタンプトークン２０の発行を要求する旨の指令であるタイムスタンプトークン発行要求に入れて時刻認証局３に送る。例えば、時刻提供装置６が時刻認証局３からタイムスタンプトークン２０を取得する間隔が３時間である場合には、タイムスタンプトークン要求部３３は、３時間ごとに、異なるハッシュ値２１をハッシュ値照合データベース３２のハッシュ値照合テーブル４１から読み出し、この読み出したハッシュ値２１をタイムスタンプトークン発行要求に入れて時刻認証局３に送る。
【００６７】
また、タイムスタンプトークン要求部３３は、ハッシュ値２１を時刻認証局３に送った直後、時刻認証局３に送った当該ハッシュ値２１について、ハッシュ値照合データベース３２に記憶されたハッシュ値照合テーブル４１中の引き渡しフラグをオン（例えば「１」）に設定する。これにより、当該ハッシュ値２１を時刻認証局３に送ったという事実がハッシュ値照合データベース３２のハッシュ値照合テーブル４１に記録される。
【００６８】
タイムスタンプトークン受取部３４は、タイムスタンプトークン要求部３３によるタイムスタンプトークン２０の発行要求に応じて時刻認証局３から発行されたタイムスタンプトークン２０を受け取る。
【００６９】
時間測定部３５は、タイマを備えており、タイムスタンプトークン要求部３３がタイムスタンプトークン２０の発行を要求してからタイムスタンプトークン受取部３４がタイムスタンプトークン２０を受け取るまでの時間であるタイムスタンプトークン取得経過時間を測定する。
【００７０】
図５に示すように、タイムスタンプトークン取得経過時間は、(1)タイムスタンプトークン要求部３３がハッシュ値照合データベース３２のハッシュ値照合テーブル４１中からハッシュ値２１を読み出し、タイムスタンプトークン発行要求を生成し終える時点ｔ１から、ハッシュ値２１を含むタイムスタンプトークン発行要求が時刻提供装置６から発信されインターネット８を介して時刻認証局３に到達する時点ｔ２までの時間ａ、(2)時点ｔ２から、時刻認証局３によりタイムスタンプトークン２０が生成され、このタイムスタンプトークン２０が時刻提供装置６に向かって時刻認証局３から発信される時点ｔ４までの時間ｂ、(3)時点ｔ４から、このタイムスタンプトークン２０が時刻認証局３からインターネット８を介して時刻提供装置６に到達し、ＴＳ時刻情報２２の真正性が検証された後、このＴＳ時刻情報２２を用いてＴＳ時計４０の時刻が設定される時点ｔ５までの時間ｃを合計した時間（ａ＋ｂ＋ｃ）である。時間ａおよび時間ｃは、例えばインターネット８における情報通信の遅延などの影響により変動する。一方、時間ｂは時刻認証局３におけるタイムスタンプ２０の生成処理時間などにより決まる。タイムスタンプトークン取得経過時間は例えば１００ｍｓ〜５００ｍｓ程度である。
【００７１】
時間測定部３５は、時点ｔ１においてタイマによる計時を開始し、時点ｔ５においてタイマによる計時を停止することにより、タイムスタンプトークン取得経過時間を測定する。なお、タイムスタンプトークン取得経過時間の許容範囲（例えば最長５００ｍｓ）を設定し、実際に測定したタイムスタンプトークン取得経過時間がこの許容範囲を超えた場合には、当該タイムスタンプトークン２０を破棄する構成としてもよい。
【００７２】
図３中の真正性検証部３６は、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０に含まれるハッシュ値２１およびＴＳ時刻情報２２の真正性を、このタイムスタンプトークン２０に含まれる電子署名２３、２５などを用いて検証する。
【００７３】
図６に示すように、タイムスタンプトークン２０に含まれるハッシュ値２１およびＴＳ時刻情報２２の検証は、真正性検証部３６により例えば次のような手順で行われる。
【００７４】
まず、時刻認証局証明書２４をハッシュ関数に入力することにより、時刻認証局証明書２４のメッセージダイジェスト４５を生成する。なお、このハッシュ関数は時刻提供装置６の記憶部７３に予め記憶されている。
【００７５】
続いて、認証局４による電子署名２５を認証局４の公開鍵を用いて復号化し、これによりメッセージダイジェスト４６を得る。なお、認証局４の公開鍵は、予め認証局４から取得され、時刻提供装置６の記憶部７３に記憶されている。
【００７６】
続いて、メッセージダイジェスト４５とメッセージダイジェスト４６とを比較し、両者が一致するかどうかを判断する。さらに、認証局４の証明書失効リストを取得し、証明書失効リストに時刻認証局証明書２４に対応するシリアル番号が載っていないことを確認する。そして、メッセージダイジェスト４５とメッセージダイジェスト４６とが一致し、かつ、認証局４の証明書失効リストに時刻認証局証明書２４に対応するシリアル番号が載っていない場合には、時刻認証局証明書２４が真正なものであると認定する。
【００７７】
時刻認証局証明書２４が真正なものであると認定された場合には、続いて、ハッシュ値２１とＴＳ時刻情報２２とからなる情報ブロックをハッシュ関数に入力することにより、ハッシュ値２１とＴＳ時刻情報２２とからなる情報ブロックのダイジェストメッセージ４７を生成する。
【００７８】
続いて、真正なものと認定された時刻認証局証明書２４に含まれる時刻認証局３の公開鍵２６を用いて、時刻認証局３による電子署名２３を複合化し、これによりメッセージダイジェスト４８を得る。
【００７９】
続いて、メッセージダイジェスト４７とメッセージダイジェスト４８とを比較し、両者が一致するかどうかを判断する。両者が一致した場合には、ハッシュ値２１およびＴＳ時刻情報２２が真正なものであると認定する。
【００８０】
一方、メッセージダイジェスト４５とメッセージダイジェスト４６とが一致しない場合、または認証局４の証明書失効リストに時刻認証局証明書２４に対応するシリアル番号が載っている場合、またはメッセージダイジェスト４７とメッセージダイジェスト４８とが一致しない場合、真正性検証部３６は、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０に含まれるハッシュ値２１およびＴＳ時刻情報２２が真正なものでないと判断する。この場合、真正性検証部３６は、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０を破棄する。
【００８１】
図３中のハッシュ値照合部３７は、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０が、確かに、時刻提供装置６によるタイムスタンプトークン２０の発行要求に応じて時刻認証局３から発行されたものであるか否かをチェックする。
【００８２】
すなわち、ハッシュ値照合部３７は、タイムスタンプトークン受取部３４によりタイムスタンプトークン２０が受け取られる度に、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０に含まれるハッシュ値２１とハッシュ値照合データベース３２に記憶されたハッシュ値照合テーブル４１中のいずれかのハッシュ値２１とを照合し、両者が一致するか否かを判断する。具体的には、ハッシュ値照合部３７は、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０からハッシュ値２１を取り出し、この取り出したハッシュ値２１と一致するハッシュ値２１をハッシュ値照合データベース３２のハッシュ値照合テーブル４１中から見つけ出すために、ハッシュ値照合データベース３２のハッシュ値照合テーブル４１を検索する（このとき、検索の対象を、引き渡しフラグがオンのハッシュ値２１のみとすることにより、検索の迅速化を図ることができる）。タイムスタンプトークン２０から取り出したハッシュ値２１と一致するハッシュ値２１がハッシュ値照合データベース３２のハッシュ値照合テーブル４１中から見つかった場合には、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０が、確かに、時刻提供装置６によるタイムスタンプトークン２０の発行要求に応じて時刻認証局３から発行されたものであると認定することができる。
【００８３】
そして、ハッシュ値照合部３７は、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０に含まれるハッシュ値２１とハッシュ値照合データベース３２に記憶されたハッシュ値照合テーブル４１中のハッシュ値２１とが一致すると判断された場合には、当該ハッシュ値について、ハッシュ値照合データベース３２に記憶されたハッシュ値照合テーブル４１中の照合回数値をインクリメントする。一方、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０に含まれるハッシュ値２１とハッシュ値照合データベース３２に記憶されたハッシュ値照合テーブル４１中のハッシュ値２１（送付済みのハッシュ値２１、つまり引き渡しフラグがオンになっているハッシュ値２１）とが一致しないと判断された場合には、ハッシュ値照合部３７は、このタイムスタンプトークン２０を破棄する。
【００８４】
タイムスタンプ採否判断部３８は、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０が、リプライ攻撃により繰り返しあるいは遅延させて送りつけられた偽のタイムスタンプトークンでないか否かを判断する。
【００８５】
すなわち、タイムスタンプトークン採否判断部３８は、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０に含まれるハッシュ値２１とハッシュ値照合データベース３２に記憶されたハッシュ値照合テーブル４１中のハッシュ値２１とが一致すると判断された場合に、ハッシュ値照合データベース３２に記憶されたハッシュ値照合テーブル４１中の照合回数値を参照することにより、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０に含まれるハッシュ値２１とハッシュ値照合データベース３２に記憶されたハッシュ値照合テーブル４１中のハッシュ値２１とが一致した事実が過去に存在しているか否かを判断する。具体的には、タイムスタンプトークン採否判断部３８は、タイムスタンプトークン２０から取り出したハッシュ値２１と一致するハッシュ値２１がハッシュ値照合データベース３２のハッシュ値照合テーブル４１中から見つかった場合に、この見つかったハッシュ値２１についての照合回数値を参照し、この照合回数値が「２」以上であるか否かを判断する。照合回数値が「２」以上である場合には、同一のハッシュ値を含むタイムスタンプトークン２０がタイムスタンプトークン受取部３４により過去に受け取られていることを意味する。したがって、このような場合には、今回受け取ったタイムスタンプトークン２０がリプライ攻撃による偽のタイムスタンプトークンである可能性が高いと認定することができる。
【００８６】
そして、このようにタイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０がリプライ攻撃による偽のタイムスタンプトークンである可能性が高い場合には、タイムスタンプトークン採否判断部３８は、このタイムスタンプトークン２０を破棄する。
【００８７】
ＴＳ時刻設定部３９は、真正なＴＳ時刻情報２２であることが真正性検証部３６により認定され、確かに時刻提供装置６によるタイムスタンプトークン２０の発行要求に応じて時刻認証局３から発行されたタイムスタンプトークン２０であることがハッシュ値照合部３７により認定され、かつ、リプライ攻撃による偽のタイムスタンプトークンでないことがタイムスタンプトークン採否判断部３８により認定された場合に、今回受け取った真正なタイムスタンプトークン２０に含まれる真正なＴＳ時刻情報２２を、このタイムスタンプトークン２０から取り出し、このＴＳ時刻情報２２が示す時刻をＴＳ時計４０の時刻として設定する。
【００８８】
真正なＴＳ時刻情報２２であることが真正性検証部３６により認定されず、時刻提供装置６によるタイムスタンプトークン２０の発行要求に応じて時刻認証局３から発行されたタイムスタンプトークン２０であることがハッシュ値照合部３７により認定されず、または、リプライ攻撃による偽のタイムスタンプトークンでないことがタイムスタンプトークン採否判断部３８により認定されなかった場合には、ＴＳ時刻設定部３９は、今回受け取ったタイムスタンプトークン２０に含まれるＴＳ時刻情報２２を用いてＴＳ時計４０の時刻を設定しない。
【００８９】
ＴＳ時計４０は、時刻提供装置６の第１の内部時計である。ＴＳ時計４０は、時刻提供装置６の第２の内部時計であるＮＴＰ時計５４から独立して時刻を刻む。
【００９０】
（ＮＴＰ時計セクション）
一方、ＮＴＰ時計セクション５０には、ＮＴＰサーバ５から取得したＮＴＰ時刻情報を用いてＮＴＰ時計５４の時刻を設定するための構成要素が主に含まれている。すなわち、ＮＴＰ時計セクション５０には、ＮＴＰ時刻情報要求部５１、ＮＴＰ時刻情報受取部５２、ＮＴＰ時刻設定部５３およびＮＴＰ時計５４が含まれている。なお、ＮＴＰ時計セクション５０により行われるＮＴＰ時刻の取得処理は国際標準のネットワークタイムプロトコル（ＲＦＣ１３０５）に準拠して行われる。
【００９１】
ＮＴＰ時刻情報要求部５１は、ＮＴＰ時刻情報の供給を要求する旨の指令であるＮＴＰ時刻情報要求指令を生成し、これをＮＴＰサーバ５に送る。例えば、時刻提供装置６がＮＴＰサーバ５からＮＴＰ時刻情報を取得する間隔が３時間である場合には、ＮＴＰ時刻情報要求部５１は、３時間ごとに、ＮＴＰ時刻情報要求指令をＮＴＰサーバ５に送る。
【００９２】
ＮＴＰ時刻情報受取部５２は、ＮＴＰサーバ５からＮＴＰ時刻情報を取得する。
【００９３】
ＮＴＰ時刻設定部５３は、ＮＴＰ時刻情報受取部５２により受け取られたＮＴＰ時刻情報が示す時刻をＮＴＰ時計５４の時刻として設定する。
【００９４】
ＮＴＰ時計５４は、時刻提供装置６の第２の内部時計である。ＮＴＰ時計５４は、時刻提供装置６の第１の内部時計であるＴＳ時計４０から独立して時刻を刻む。
【００９５】
（時刻提供セクション）
他方、時刻提供セクション６０には、サービス利用者のパーソナルコンピュータ１０からの時刻出力要求に応じ、後述の時刻監査処理を行い、時刻監査処理に合格した場合に限りＮＴＰ時計５４の時刻をサービス利用者のパーソナルコンピュータ１０に出力するための構成要素が主に含まれている。すなわち、時刻提供セクション６０には、時刻出力要求受取部６１、時刻監査部６２および時刻出力部６３が含まれている。
【００９６】
時刻出力要求受取部６１は、時刻提供装置６に対して時刻の出力を要求する旨の指令である時刻出力要求がサービス利用者のパーソナルコンピュータ１０から発せられたとき、この時刻出力要求を受け取る。
【００９７】
時刻監査部６２は、ＴＳ時刻設定部３９により設定されたＴＳ時計４０の時刻と、ＮＴＰ時刻設定部５３により設定されたＮＴＰ時計５４の時刻とが一致するとみなすことができる所定の関係であるか否かを判断する処理である時刻監査処理を行う。時刻監査部６２は、時刻出力要求に応じて時刻出力部６３がＮＴＰ時計５４の時刻をサービス利用者のパーソナルコンピュータ１０に出力しようとする度に、時刻監査処理を行う。
【００９８】
時刻監査処理において、時刻監査部６２は、ＴＳ時計４０の時刻およびＮＴＰ時計５４の時刻をそれぞれ読み出し、さらに、時間測定部３５により測定され、タイムスタンプトークン取得ログ情報８１の一部として記憶部７３に記憶されたタイムスタンプトークン取得経過時間の中から最新のものを読み出す。続いて、時刻監査部６２は、ＮＴＰ時計５４の時刻が、ＴＳ時計４０の時刻以降であり、かつタイムスタンプトークン取得経過時間をＴＳ時計４０の時刻に加えた時刻以前であるか否かを判断する。そして、時刻監査部６２は、ＮＴＰ時計５４の時刻が、ＴＳ時計４０の時刻以降であり、かつタイムスタンプトークン取得経過時間をＴＳ時計４０の時刻に加えた時刻以前である場合には、ＴＳ時計４０の時刻とＮＴＰ時計５４の時刻とが一致するとみなすことができる所定の関係であると判断する。
【００９９】
この判断方法は次のような考え方に基づく（図５参照）。すなわち、タイムスタンプトークン２０に含まれるＴＳ時刻情報２２が示す時刻は、時刻認証局３がタイムスタンプトークン２０を生成した時点における標準時に合致する。例えば、図５中の時点ｔ３において、時刻認証局３がタイムスタンプトークン２０を生成した場合には、このタイムスタンプトークン２０に含まれるＴＳ時刻情報２２が示す時刻は時点ｔ３における標準時である。一方、このタイムスタンプトークン２０を受け取った時刻提供装置６がこのタイムスタンプトークン２０に含まれるＴＳ時刻情報２２を用いてＴＳ時計４０の時刻を設定する時点は時点ｔ５である。この結果、ＴＳ時計４０の時刻は真の時刻（標準時）よりも、少なくとも時間ｄ（時点ｔ５−時点ｔ３）遅れてしまう。しかし、この時間ｄは、タイムスタンプトークン要求部３３がタイムスタンプトークン２０の発行を要求してからタイムスタンプトークン受取部３４がタイムスタンプトークン２０を受け取るまでの時間であるタイムスタンプトークン取得経過時間（図５中の時間ａ＋ｂ＋ｃ）よりも短い。したがって、次の関係が成り立つ。
【０１００】
ＴＳ時刻情報が示す時刻≦真の時刻≦ＴＳ時刻情報が示す時刻＋タイムスタンプトークン取得経過時間
なお、「ＴＳ時刻情報が示す時刻≦真の時刻」は、真の時刻が、ＴＳ時刻情報が示す時刻以降であることを意味する。すなわち、真の時刻が、ＴＳ時刻情報が示す時刻と等しく、または真の時刻が、ＴＳ時刻情報が示す時刻よりも後であることを意味する。また、「真の時刻≦ＴＳ時刻情報が示す時刻＋タイムスタンプトークン取得経過時間」は、真の時刻が、ＴＳ時刻情報が示す時刻にタイムスタンプトークン取得経過時間を加えた時刻以前であることを意味する。すなわち、真の時刻が、ＴＳ時刻情報が示す時刻にタイムスタンプトークン取得経過時間を加えた時刻と等しく、または真の時刻が、ＴＳ時刻情報が示す時刻にタイムスタンプトークン取得経過時間を加えた時刻よりも前であることを意味する。
【０１０１】
そして、ＮＴＰ時計５４の時刻はＴＳ時計４０の時刻に比べるとより高精度であり、その誤差は数ｍｓ〜数十ｍｓ程度である。このＮＴＰ時計５４の時刻の誤差は、タイムスタンプトークン取得経過時間（１００ｍｓ〜５００ｍｓ程度）と比較してきわめて小さな値であるため、無視することができる。すると、ＮＴＰ時計５４の時刻が正常である限り、真の時刻とＮＴＰ時計５４の時刻とを同視することができるので、次式に至る。
【０１０２】
ＴＳ時計の時刻≦ＮＴＰ時計の時刻≦ＴＳ時計の時刻＋タイムスタンプトークン取得経過時間
なお、「ＴＳ時計の時刻≦ＮＴＰ時計の時刻」は、ＮＴＰ時計の時刻が、ＴＳ時計の時刻以降であることを意味する。すなわち、ＮＴＰ時計の時刻がＴＳ時計の時刻と等しく、またはＮＴＰ時計の時刻がＴＳ時刻の時刻よりも後であることを意味する。また、「ＮＴＰ時計の時刻≦ＴＳ時計の時刻＋タイムスタンプトークン取得経過時間」は、ＮＴＰ時計の時刻が、ＴＳ時計の時刻にタイムスタンプトークン取得経過時間を加えた時刻以前であることを意味する。すなわち、ＮＴＰ時計の時刻が、ＴＳ時計の時刻にタイムスタンプトークン取得経過時間を加えた時刻と等しく、またはＮＴＰ時計の時刻が、ＴＳ時計の時刻にタイムスタンプトークン取得経過時間を加えた時刻よりも前であることを意味する。
【０１０３】
上式の関係を満たす場合には、ＴＳ時計４０の時刻とＮＴＰ時計５４の時刻とが一致するとみなすことができる所定の関係である（両時刻の一致性が認められる）と判断することができる。
【０１０４】
時刻監査処理において、ＴＳ時計４０の時刻とＮＴＰ時計５４の時刻とが一致するとみなすことができる所定の関係であると判断された場合、ＮＴＰ時計５４の時刻が標準時に高精度（正確）に合致し、かつ真正な時刻であると認定することができる。なぜなら、ＮＴＰ時計５４の時刻の精度（正確性）は、その時刻がＮＴＰサーバ５から供給されたＮＴＰ時刻情報の示す時刻であることを理由に保証され、一方、ＮＴＰ時計５４の時刻の真正性は、その時刻が、ＴＳ時刻情報２２を用いて設定されたＴＳ時計４０の真正な時刻と一致するとみなすことができる所定の関係であることを理由に保証されるからである。
【０１０５】
一方、時刻監査処理において、ＴＳ時計４０の時刻とＮＴＰ時計５４の時刻とが一致するとみなすことができる所定の関係でないと判断された場合には、ＮＴＰ時計５４の時刻が標準時に合致し、かつ真正な時刻であると認定することができない。なお、ＮＴＰ時計５４の時刻が標準時に合致しない原因としては、例えばＮＴＰサーバ５から取得されたＮＴＰ時刻情報が改ざんされていることなどが考えられる。また、時刻監査処理において、ＴＳ時計４０の時刻とＮＴＰ時計５４の時刻とが一致するとみなすことができる所定の関係でないと判断される場合には、きわめて例外的ではあるが、ＴＳ時計４０の時刻が標準時から外れている場合も考えられる。ＴＳ時計４０の時刻が標準時から外れる原因として、例えば何らかの異常な事態によりインターネットの負荷が一時的に大きくなり、そのためにタイムスタンプトークンの送受信に大幅な遅延が生じたことが考えられる。
【０１０６】
図３中の時刻出力部６３は、時刻監査部６２による時刻監査処理において、ＴＳ時計４０の時刻とＮＴＰ時計５４の時刻とが一致するとみなすことができる所定の関係であると判断された場合に、時刻出力要求受取部６１により受け取られた時刻出力要求に応じ、ＮＴＰ時計５４の時刻をサービス利用者のパーソナルコンピュータ１０に出力する。
【０１０７】
一方、時刻監査処理において、ＴＳ時計４０の時刻とＮＴＰ時計５４の時刻とが一致するとみなすことができる所定の関係でないと判断された場合には、時刻出力部６３は、エラー信号をサービス利用者のパーソナルコンピュータ１０に出力する。すなわち、この場合には、時刻出力部６３は、ＮＴＰ時計５４の時刻をサービス利用者のパーソナルコンピュータ１０に出力しない。
【０１０８】
（制御・管理セクション）
他方、制御・管理セクション７０には、時刻提供装置６の総合的な管理、通信制御、種々の情報の記憶を実現するための構成要素が主に含まれている。すなわち、制御・管理セクション７０には、ログ情報生成部７１、管理設定部７２、記憶部７３、通信制御部７４および総合制御部７５が含まれている。
【０１０９】
ログ情報生成部７１は、タイムスタンプトークン取得ログ情報８１（図７参照）、ＮＴＰ時刻情報取得ログ情報８２（図８参照）および時刻監査処理ログ情報８３（図９参照）を生成し、これらを記憶部７３に記憶する。
【０１１０】
タイムスタンプトークン取得ログ情報８１は、時刻認証局３から発行され、時刻提供装置６により受け取られたタイムスタンプトークン２０について、真正なＴＳ時刻情報２２であることが真正性検証部３６により認定され、確かに時刻提供装置６によるタイムスタンプトークン２０の発行要求に応じて時刻認証局３から発行されたタイムスタンプトークン２０であることがハッシュ値照合部３７により認定され、かつ、リプライ攻撃による偽のタイムスタンプトークンでないことがタイムスタンプトークン採否判断部３８により認定され、ＴＳ時刻情報２２の示す時刻がＴＳ時計４０の時刻として設定された場合に生成される。図７に示すように、タイムスタンプトークン取得ログ情報８１には、タイムスタンプトークン２０の取得順序を示すシーケンス番号、当該タイムスタンプトークン２０に含まれるハッシュ値２１およびＴＳ時刻情報２２、並びに当該タイムスタンプトークン２０に係るタイムスタンプトークン取得経過時間が含まれる。
【０１１１】
なお、ＴＳ時刻情報２２が示す時刻を新たに設定する直前のＴＳ時計４０の示す元の時刻をタイムスタンプトークン取得ログ情報８１に加えてもよい。また、ＴＳ時刻情報２２が示す時刻を新たに設定する直前のＴＳ時計４０の示す元の時刻と、ＴＳ時刻情報２２が示す時刻との差をタイムスタンプトークン取得ログ情報８１に加えてもよい。これにより、ＴＳ時計４０の時刻設定状況を後で検証することができる。
【０１１２】
ＮＴＰ時刻情報取得ログ情報８２は、ＮＴＰサーバ５から供給されたＮＴＰ時刻情報が時刻提供装置６により受け取られる度に生成される。図８に示すように、ＮＴＰ時刻情報取得ログ情報８２には、ＮＴＰ時刻情報の取得順序を示すシーケンス番号、当該ＮＴＰ時刻情報、および当該ＮＴＰ時刻情報を供給したＮＴＰサーバ５のＩＰアドレスが含まれる。
【０１１３】
なお、ＮＴＰ時刻情報が示す時刻を新たに設定する直前のＮＴＰ時計５４の示す元の時刻をＮＴＰ時刻情報取得ログ情報８２に加えてもよい。また、ＮＴＰ時刻情報が示す時刻を新たに設定する直前のＮＴＰ時計５４の示す元の時刻と、ＮＴＰ時刻情報が示す時刻との差をＮＴＰ時刻情報取得ログ情報８２に加えてもよい。これにより、ＮＴＰ時計５４の時刻設定状況を後で検証することができる。
【０１１４】
時刻監査処理ログ情報８３は、時刻監査部６２により時刻監査処理が行われる度に生成される。図９に示すように、時刻監査処理ログ情報８３には、時刻監査処理が行われた順序を示すシーケンス番号、当該時刻監査処理が行われたときのＮＴＰ時計５４の時刻、および当該時刻監査処理の結果（ＴＳ時計４０の時刻とＮＴＰ時計５４の時刻とが一致するとみなすことができる所定の関係である場合には合格、そうでない場合には不合格）を示す情報が含まれる。
【０１１５】
なお、以上のログ情報８１ないし８３に加え、次のログ情報を生成し、記憶部７３に記憶してもよい。すなわち、真正性検証部３６が、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０に含まれるハッシュ値２１およびＴＳ時刻情報２２の真正性を、電子署名２３、２５などを用いて検証した結果、ハッシュ値２１またはＴＳ時刻情報２２が真正でないと認定された場合には、ハッシュ値２１またはＴＳ時刻情報２２が真正でないことを記述したエラーログ情報を生成し、これを記憶部７３に記憶してもよい。
【０１１６】
また、ハッシュ値照合部３７が、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０に含まれるハッシュ値２１と、ハッシュ値照合データベース３２に記憶されたハッシュ値照合テーブル４１中のハッシュ値２１とを照合した結果、ハッシュ値照合テーブル４１中に一致するハッシュ値２１がなかった場合には、ハッシュ値２１が不一致であったことを記述したエラーログ情報を生成し、これを記憶部７３に記憶してもよい。
【０１１７】
また、タイムスタンプトークン採否判断部３８が、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０に含まれるハッシュ値２１についての照合回数値が「２」以上であると判断した場合には、ハッシュ値２１の照合回数値が「２」以上であることを記述したエラーログ情報を生成し、これを記憶部７３に記憶してもよい。
【０１１８】
その他、ＮＴＰ処理、ネットワーク処理、管理設定処理他の各種処理において発生した各種エラー情報よりエラーログ情報を生成し、これを記憶部７３に記憶してもよい。
【０１１９】
管理設定部７２は、時刻提供装置６の管理設定処理を行う。具体的には、管理設定部７２は、図１０に示す管理設定画面９０（例えばウェブページ）を生成する。時刻提供装置６の管理用パーソナルコンピュータ７は、ローカルエリアネットワーク９を介して時刻提供装置６の管理設定ポートにアクセスすることにより、管理設定画面９０をディスプレイに表示することができ、かつ、管理設定画面９０に表示された管理設定事項に係る設定値を入力し、これら設定値を時刻提供装置６に送信することができる。
【０１２０】
図１０に示すように、管理設定事項には、時刻認証局３との間においてタイムスタンプトークン２０の要求・受取を行い、およびＮＴＰサーバ５との間においてＮＴＰ時刻情報の要求・受取を行うための時刻提供装置６のＩＰアドレス等のネットワーク情報（システムネットワーク）、管理用パーソナルコンピュータ７との間において管理設定画面９０のデータおよび管理設定事項に係る設定値の送受信を行うための時刻提供装置６のＩＰアドレス等のネットワーク情報（管理設定ポートネットワーク）、タイムスタンプトークン２０の取得間隔、ＮＴＰ時刻情報の取得間隔、時刻認証局３のＩＰアドレス、ＮＴＰサーバ５のＩＰアドレス等のネットワーク情報、タイムスタンプトークン取得経過時間の許容範囲が含まれる。
【０１２１】
また、図１０中の管理設定画面９０の左側には、管理設定ボタン９１、ハッシュ値照合テーブル表示ボタン９２、タイムスタンプトークン取得ログ情報表示ボタン９３、ＮＴＰ時刻情報取得ログ情報表示ボタン９４、時刻監査処理ログ情報表示ボタン９５が形成されている。これらのボタンを押す（クリックする）ことにより、設定管理画面９０、ハッシュ値照合テーブル４１（図４参照）、タイムスタンプトークン取得ログ情報８１（図７参照）、ＮＴＰ時刻情報取得ログ情報８２（図８参照）および時刻監査処理ログ情報８３（図９参照）が選択的に管理用パーソナルコンピュータ７のディスプレイに表示される。
【０１２２】
なお、メンテナンス用にＴＳ時計４０の時刻およびＮＴＰ時計５４の時刻を管理設定画面９０中に表示してもよい。また、ＴＳ時計４０およびＮＴＰ時計５４の初期化、調整またはテストなどを行うために、ＴＳ時計４０およびＮＴＰ時計５４のそれぞれの時刻を強制的に設定する手段を設けてもよい。すなわち、タイムスタンプトークン２０の取得間隔に拘わらず、タイムスタンプトークン２０を強制的に取得し、このタイムスタンプトークン２０に含まれるＴＳ時刻情報２２が示す時刻をＴＳ時計４０に設定してもよい。また、ＮＴＰ時刻情報の取得間隔に拘わらず、ＮＴＰ時刻情報を強制的に取得し、このＮＴＰ時刻情報をＮＴＰ時計５４に設定してもよい。
【０１２３】
図３中の記憶部７３は、例えばハードディスクドライブ、フラッシュメモリなどの記憶装置である。記憶部７３には、ハッシュ値生成部３１により用いられるハッシュ関数、真正性検証部３６により用いられるハッシュ関数および認証局４の公開鍵、並びにログ情報生成部７１により生成されるタイムスタンプトークン取得ログ情報８１、ＮＴＰ時刻情報取得ログ情報８２および時刻監査処理ログ情報８３などの記憶に用いられる。
【０１２４】
通信制御部７４は、時刻提供装置６と時刻認証局３およびＮＴＰサーバ５などとのインターネット８を介した通信を制御する通信回路、および時刻提供装置６と管理者用パーソナルコンピュータ７およびサービス利用者のパーソナルコンピュータ１０とのローカルエリアネットワーク９を介した通信を制御する通信回路を備えている。
【０１２５】
総合制御部７５は、時刻提供装置６を総合的に制御する。
【０１２６】
ハッシュ値生成部３１、タイムスタンプトークン要求部３３、タイムスタンプトークン受取部３４、真正性検証部３６、ハッシュ値照合部３７、タイムスタンプトークン採否判断部３８、ＴＳ時刻設定部３９、ＮＴＰ時刻情報要求部５１、ＮＴＰ時刻情報受取部５２、ＮＴＰ時刻設定部５３、時刻出力要求受取部６１、時刻監査部６２、時刻出力部６３、ログ情報生成部７１、管理設定部７２および総合制御部７５は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などから構成されている。すなわち、ＲＯＭには、ハッシュ値生成部３１、タイムスタンプトークン要求部３３、タイムスタンプトークン受取部３４、真正性検証部３６、ハッシュ値照合部３７、タイムスタンプトークン採否判断部３８、ＴＳ時刻設定部３９、ＮＴＰ時刻情報要求部５１、ＮＴＰ時刻情報受取部５２、ＮＴＰ時刻設定部５３、時刻出力要求受取部６１、時刻監査部６２、時刻出力部６３、ログ情報生成部７１、管理設定部７２および総合制御部７５を実現するためのコンピュータプログラムが記憶されており、ＣＰＵはこのコンピュータプログラムをＲＯＭから読み取ることにより、これらの構成要素として機能する。ＲＡＭはＣＰＵがこれらの機能を実現するときの作業メモリとして用いられる。
【０１２７】
（時刻提供装置の動作）
図１１は、時刻提供装置６が行う動作を示している。時刻提供装置６は、図１１に示すように、ＴＳ時刻設定処理（ステップＳ１）、ＮＴＰ時刻設定処理（ステップＳ２）および時刻出力処理（ステップＳ３）を並行的に行う。また、時刻提供装置６の管理用パーソナルコンピュータ７が時刻提供装置６の管理設定ポートにアクセスしたとき、管理設定部７２により時刻提供装置６の管理設定処理（ステップＳ４）が実行される（図１０参照）。
【０１２８】
（ＴＳ時刻設定処理）
図１２はＴＳ時刻設定処理を示している。ＴＳ時刻設定処理は、時刻認証局３から取得したタイムスタンプトークン２０に含まれるＴＳ時刻情報２２を用いてＴＳ時計４０の時刻を設定するための処理である。
【０１２９】
図１２に示すように、例えば時刻提供装置６を購入後初めて動作させたときには、ＴＳ時刻設定処理において、まず、ハッシュ値生成部３１が、１日に必要な数のハッシュ値２１を生成する（ステップＳ１１）。
【０１３０】
続いて、ハッシュ値生成部３１は、生成したハッシュ値２１をハッシュ値照合データベース３２に記憶する（ステップＳ１２）。
【０１３１】
続いて、ハッシュ値生成部３１は、ハッシュ値照合データベース３２に記憶した各ハッシュ値２１について、初期状態の引き渡しフラグ（例えば「０」）および初期状態の照合回数値（例えば「０」）を生成し、これらをハッシュ値照合データベース３２に記憶する（ステップＳ１３）。各ハッシュ値２１、各引き渡しフラグおよび各照合回数値は、ハッシュ値照合テーブル４１（図４参照）に記述された形でハッシュ値照合データベース３２に記憶される。
【０１３２】
続いて、タイムスタンプトークン要求部３３が、ハッシュ値照合データベース３２に記憶されたハッシュ値照合テーブル４１中のハッシュ値２１の中から、時刻認証局３に送ったことがないハッシュ値２１を選択し、このハッシュ値２１をハッシュ値照合データベース３２のハッシュ値照合テーブル４１から読み出すと共に、タイムスタンプトークン発行要求を生成する（ステップＳ１４）。
【０１３３】
続いて、時間測定部３５がタイマによる計時を開始する（図５中の時点ｔ１参照）（ステップＳ１５）。
【０１３４】
続いて、タイムスタンプトークン要求部３３は、ステップＳ１４で読み出したハッシュ値２１をタイムスタンプトークン発行要求に入れて時刻認証局３に送る（ステップＳ１６）。
【０１３５】
続いて、タイムスタンプトークン要求部３３は、時刻認証局３に送ったハッシュ値２１について、ハッシュ値照合データベース３２に記憶されたハッシュ値照合テーブル４１中の引き渡しフラグをオン（例えば「１」）に設定する（ステップＳ１７）。
【０１３６】
時刻認証局３は、タイムスタンプトークン要求部３３から送られたハッシュ値２１を含むタイムスタンプトークン発行要求を受け取る。そして、時刻認証局３は、この受け取ったハッシュ値２１、標準時と合致した時刻を示すＴＳ時刻情報２２、時刻認証局３による電子署名２３、時刻認証局証明書２４および認証局４による電子署名２５を含むタイムスタンプトークン２０（図２参照）を生成し、これを発行する。
【０１３７】
続いて、タイムスタンプトークン受取部３４は、時刻認証局３から発行されたタイムスタンプトークン２０を受け取る（ステップＳ１８：ＹＥＳ）。
【０１３８】
続いて、真正性検証部３６が、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０に含まれるハッシュ値２１およびＴＳ時刻情報２２の真正性を、このタイムスタンプトークン２０に含まれる電子署名２３、２５などを用いて検証する（ステップＳ１９）。
【０１３９】
この検証の結果、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０に含まれるハッシュ値２１またはＴＳ時刻情報２２が真正でないと認定されたときには（ステップＳ２０：ＮＯ）、このタイムスタンプトークン２０は破棄される。そして、処理はステップＳ２９にジャンプする。
【０１４０】
なお、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０に含まれるハッシュ値２１またはＴＳ時刻情報２２が真正でないと認定された場合に、ハッシュ値２１またはＴＳ時刻情報２２が真正でないことを記述したエラーログ情報を生成し、これを記憶部７３に記憶してもよい。
【０１４１】
一方、ステップＳ１９における検証の結果、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０に含まれるハッシュ値２１およびＴＳ時刻情報２２が真正であると認定されたときには（ステップＳ２０：ＹＥＳ）、続いて、ハッシュ値照合部３７が、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０に含まれるハッシュ値２１とハッシュ値照合データベース３２に記憶されたハッシュ値照合テーブル４１中のいずれかのハッシュ値２１とを照合し、両者が一致するか否かを判断する（ステップＳ２１）。具体的には、ハッシュ値照合部３７は、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０からハッシュ値２１を取り出し、この取り出したハッシュ値２１と一致するハッシュ値２１をハッシュ値照合データベース３２のハッシュ値照合テーブル４１中から見つけ出すために、ハッシュ値照合データベース３２のハッシュ値照合テーブル４１を検索する（検索の対象は引き渡しフラグがオンのハッシュ値２１のみでよい）。
【０１４２】
この照合（検索）の結果、タイムスタンプトークン２０から取り出したハッシュ値２１と一致するハッシュ値２１がハッシュ値照合データベース３２のハッシュ値照合テーブル４１中から見つからなかった場合には（ステップＳ２２：ＮＯ）、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０が、時刻提供装置６によるタイムスタンプトークン２０の発行要求に応じて時刻認証局３から発行されたものでないと認定することができる。この場合には、このタイムスタンプトークン２０は破棄される。そして、処理はステップＳ２８にジャンプする。
【０１４３】
なお、タイムスタンプトークン２０から取り出したハッシュ値２１と一致するハッシュ値２１がハッシュ値照合データベース３２のハッシュ値照合テーブル４１中から見つからなかった場合に、ハッシュ値２１が不一致であったことを記述したエラーログ情報を生成し、これを記憶部７３に記憶してもよい。
【０１４４】
一方、ステップＳ２１における照合（検索）の結果、タイムスタンプトークン２０から取り出したハッシュ値２１と一致するハッシュ値２１がハッシュ値照合データベース３２のハッシュ値照合テーブル４１中から見つかった場合には（ステップＳ２２：ＹＥＳ）、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０が、確かに、時刻提供装置６によるタイムスタンプトークン２０の発行要求に応じて時刻認証局３から発行されたものであると認定することができる。この場合、ハッシュ値照合部３７は、当該ハッシュ値２１について、ハッシュ値照合データベース３２に記憶されたハッシュ値照合テーブル４１中の照合回数値をインクリメントする（ステップＳ２３）。
【０１４５】
続いて、タイムスタンプトークン採否判断部３８が、当該ハッシュ値２１についての照合回数値を参照し（ステップＳ２４）、この照合回数値が「２」以上であるか否かを判断する（ステップＳ２５）。
【０１４６】
この判断の結果、当該ハッシュ値２１についての照合回数値が「２」以上である場合には（ステップＳ２５：ＹＥＳ）、当該ハッシュ値２１と同一のハッシュ値２１を含むタイムスタンプトークン２０がタイムスタンプトークン受取部３４により過去に受け取られており、それゆえ、今回受け取られたタイムスタンプトークン２０がリプライ攻撃による偽のタイムスタンプトークンである可能性が高いと認定することができる。この場合には、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０は破棄される。そして、処理はステップＳ２８にジャンプする。
【０１４７】
なお、ハッシュ値２１の照合回数値が「２」以上であった場合には、ハッシュ値２１の照合回数値が「２」以上であることを記述したエラーログ情報を生成し、これを記憶部７３に記憶してもよい。
【０１４８】
一方、ステップＳ２５の判断の結果、当該ハッシュ値２１についての照合回数値が「２」以上でない場合には（ステップＳ２５：ＮＯ）、当該ハッシュ値２１と同一のハッシュ値２１を含むタイムスタンプトークン２０がタイムスタンプトークン受取部３４により過去に受け取られた事実はなく、それゆえ、今回受け取られたタイムスタンプトークン２０がリプライ攻撃による偽のタイムスタンプトークンではないと認定することができる。この場合には、ＴＳ時刻設定部３９が、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０に含まれるＴＳ時刻情報２２が示す時刻をＴＳ時計４０の時刻として設定する（ステップＳ２６）。
【０１４９】
続いて、時刻測定部３５は、タイマによる計時を停止する（図５中の時点ｔ５参照）（ステップＳ２７）。このとき、タイマの値は、タイムスタンプトークン取得経過時間（図５中の時間ａ＋ｂ＋ｃ）を示している。
【０１５０】
続いて、ログ情報生成部７１が、タイムスタンプトークン取得ログ情報８１を生成し、これを記憶部７３に記憶する（ステップＳ２８）。このタイムスタンプトークン取得ログ情報８１には、ステップＳ２７で停止したタイマの値、すなわち、タイムスタンプトークン取得経過時間が含まれる。
【０１５１】
続いて、総合制御部７５は、タイムスタンプトークン取得間隔（例えば３時間、図１０参照）が経過したか否かを判断する（ステップＳ２９）。そして、タイムスタンプトークン取得間隔が経過したときには（ステップＳ２９：ＹＥＳ）、処理はステップＳ１４に戻る。一方、タイムスタンプトークン取得間隔がまだ経過していない場合には（ステップＳ２９：ＮＯ）、続いて、総合制御部７５は、０時を過ぎたか否かを判断する（ステップＳ３０）。そして、０時を過ぎたときには（ステップＳ３０：ＹＥＳ）、処理はステップＳ１１に戻る。
【０１５２】
このように、０時を過ぎた直後には、ＴＳ時刻設定処理におけるステップＳ１１ないしステップＳ２８の処理が実行され、それ以外の場合には、ＴＳ時刻設定処理におけるステップＳ１４ないしステップＳ２８の処理がタイムスタンプトークン取得間隔ごとに繰り返し実行される。すなわち、１日の開始時に新たなハッシュ値が生成され、これら生成されたハッシュ値を用いて、タイムスタンプトークン２０の取得、ハッシュ値２１およびＴＳ時刻情報２２の真正性の検証、ハッシュ値２１の照合、照合回数値の参照およびＴＳ時計４０の設定からなる一連の処理が、タイムスタンプトークン取得間隔ごとに当該１日が終了するまで実行される。そして、このようなＴＳ時刻設定処理が毎日繰り返し実行される。
【０１５３】
（ＮＴＰ時刻設定処理）
図１３はＮＴＰ時刻設定処理を示している。ＮＴＰ時刻設定処理は、ＮＴＰサーバ５から取得したＮＴＰ時刻情報を用いてＮＴＰ時計５４の時刻を設定するための処理である。
【０１５４】
図１３に示すように、ＮＴＰ時刻設定処理において、まず、ＮＴＰ時刻情報要求部５１が、ＮＴＰ時刻情報要求指令を生成し、これをＮＴＰサーバ５に送る（ステップＳ４１）。
【０１５５】
ＮＴＰサーバは、このＮＴＰ時刻情報要求指令を受け取り、これに応じてＮＴＰ時刻情報を時刻提供装置６に供給する。そして、ＮＴＰ時刻情報受取部５２がＮＴＰサーバ５からＮＴＰ時刻情報を取得する（ステップＳ４２：ＹＥＳ）。
【０１５６】
続いて、ＮＴＰ時刻設定部５３が、ＮＴＰ時刻情報受取部５２により受け取られたＮＴＰ時刻情報が示す時刻をＮＴＰ時計５４の時刻として設定する（ステップＳ４３）。
【０１５７】
続いて、ログ情報生成部７１が、ＮＴＰ時刻情報取得ログ情報８２を生成し、これを記憶部７３に記憶する（ステップＳ４４）。
【０１５８】
続いて、総合制御部７５は、ＮＴＰ時刻情報取得間隔（例えば３時間、図１０参照）が経過したか否かを判断する（ステップＳ４５）。そして、ＮＴＰ時刻情報取得間隔が経過したときには（ステップＳ４５：ＹＥＳ）、処理はステップＳ４１に戻る。このように、ＮＴＰ時刻設定処理は、ＮＴＰ時刻情報取得間隔ごとに繰り返し実行される。
【０１５９】
（時刻出力処理）
図１４は時刻出力処理を示している。時刻出力処理は、サービス利用者のパーソナルコンピュータ１０からの時刻出力要求に応じ、時刻監査処理を行い、時刻監査処理に合格した場合に限りＮＴＰ時計５４の時刻をサービス利用者のパーソナルコンピュータ１０に出力するための処理である。
【０１６０】
図１４に示すように、時刻出力処理において、まず、時刻出力要求受取部６１が、サービス利用者のパーソナルコンピュータ１０から発せられる時刻出力要求を受け取る（ステップＳ５１：ＹＥＳ）。
【０１６１】
続いて、時刻監査部６２が、ＴＳ時刻設定部３９により設定されたＴＳ時計４０の時刻と、ＮＴＰ時刻設定部５３により設定されたＮＴＰ時計５４の時刻とが一致するとみなすことができる所定の関係であるか否かを判断する処理（時刻監査処理）を行う（ステップＳ５２）。この時刻監査処理において、時刻監査部６２は、ＴＳ時計４０の時刻およびＮＴＰ時計５４の時刻をそれぞれ読み出し、さらに、時間測定部３５により測定され、タイムスタンプトークン取得ログ情報８１の一部として記憶部７３に記憶されたタイムスタンプトークン取得経過時間（図５中の時間ａ＋ｂ＋ｃ）の中から最新のものを読み出す。そして、時刻監査部６２は、ＮＴＰ時計５４の時刻が、ＴＳ時計４０の時刻以降であり、かつタイムスタンプトークン取得経過時間をＴＳ時計４０の時刻に加えた時刻以前である場合に、ＴＳ時計４０の時刻とＮＴＰ時計５４の時刻とが一致するとみなすことができる所定の関係である（両時刻の一致性が認められる）と判断する。
【０１６２】
この判断の結果、ＴＳ時計４０の時刻とＮＴＰ時計５４の時刻とが一致するとみなすことができる所定の関係である（両時刻の一致性が認められる）場合には（ステップＳ５３：ＹＥＳ）、ＮＴＰ時計５４の時刻が高精度（正確）かつ真正な時刻であると認定することができる。この場合には、時刻出力部６３が、時刻出力要求受取部６１により受け取られた時刻出力要求に応じ、ＮＴＰ時計５４の時刻をサービス利用者のパーソナルコンピュータ１０に出力する（ステップＳ５４）。
【０１６３】
一方、ステップＳ５２の判断の結果、ＴＳ時計４０の時刻とＮＴＰ時計５４の時刻とが一致するとみなすことができる所定の関係でない（両時刻の一致性が認められない）場合には（ステップＳ５３：ＮＯ）、ＮＴＰ時計５４の時刻が標準時に合致し、かつ真正であると認定することができない。この場合には、時刻出力部６３はエラー信号をサービス利用者のパーソナルコンピュータ１０に出力する（ステップＳ５５）。
【０１６４】
続いて、ログ情報生成部７１が、時刻監査処理ログ情報８３を生成し、これを記憶部７３に記憶する（ステップＳ５６）。
【０１６５】
以上説明したとおり、時刻提供装置６では、時刻認証局３から取得したタイムスタンプトークン２０に含まれるＴＳ時刻情報２２の真正性を、このタイムスタンプトークン２０に含まれる電子署名２３、２５などを用いて検証し、検証の結果、真正であると認定されたＴＳ時刻情報２２が示す時刻を、時刻提供装置６のＴＳ時計４０の時刻として設定する。また、ＮＴＰサーバ５から取得したＮＴＰ時刻情報が示す時刻を時刻提供装置６のＮＴＰ時計５４の時刻として設定する。そして、ＴＳ時計４０の時刻とＮＴＰ時計５４の時刻とが一致するとみなすことができる所定の関係であるか否かを判断し、両時刻が一致するとみなすことができる所定の関係である場合に、ＮＴＰ時計５４の時刻をサービス利用者のパーソナルコンピュータ１０に出力する。これにより、サービス利用者のパーソナルコンピュータ１０に高精度（正確）であり、真正であり、かつ信頼性の高い時刻を提供することができる。
【０１６６】
すなわち、ＴＳ時刻情報２２は、国家時刻標準機関１、時刻配信監査局２および時刻認証局３といった公的機関または公的に認定された機関により作られた正確かつ真正な時刻情報である。また、ＴＳ時刻情報２２は、タイムスタンプトークン２０に含まれる電子署名２３、２５などによりその真正性が検証され、真正であることが認定されてからＴＳ時計４０の時刻の設定に用いられる。さらに、ＴＳ時刻情報２２は、時刻認証局３に保存されているタイムスタンプトークン２０の発行履歴を示す履歴情報に基づいてその真正性を証明することができ、それゆえ信頼性が高い（第三者機関である時刻認証局３に保存されているタイムスタンプトークン発行履歴と、時刻提供装置６に保存されているタイムスタンプトークン取得ログ情報８１とを照合することにより、タイムスタンプトークン発行履歴の後追い検証が可能である）。したがって、このような真正かつ信頼性の高いＴＳ時刻情報２２が示す時刻が設定されたＴＳ時計４０の時刻は真正であり、かつ信頼性が高い。そして、ＮＴＰ時計５４の時刻は、時刻監査処理においてＴＳ時計４０の時刻と一致するとみなすことができる所定の関係であることが認められることにより、その真正性および信頼性が保証される。一方、ＮＴＰ時刻情報は、ＮＴＰサーバ５からネットワークタイムプロトコルに従って供給されたものであるため標準時に高精度に合致している。したがって、このＮＴＰ時刻情報が示す時刻が設定されたＮＴＰ時計５４の時刻は、標準時に高精度に合致している。よって、時刻監査処理においてＴＳ時計４０の時刻と一致するとみなすことができる所定の関係であることが認められたＮＴＰ時計５４の時刻は、標準時に高精度に合致し、真正性が保証され、かつ信頼性が高い時刻である。このＮＴＰ時計５４の時刻をサービス利用者のパーソナルコンピュータ１０に出力することにより、サービス利用者のパーソナルコンピュータ１０に、高精度であり、真正であり、かつ信頼性が高い時刻を提供することができる。
【０１６７】
また、時刻提供装置６では、時刻提供装置６がタイムスタンプトークン２０の発行を要求してから、時刻提供装置６がタイムスタンプトークン２０を受け取るまでの時間であるタイムスタンプトークン取得経過時間を測定する。そして、ＮＴＰ時計５４の時刻が、ＴＳ時計４０の時刻以降であり、かつタイムスタンプトークン取得経過時間をＴＳ時計４０の時刻に加えた時刻以前である場合に、ＴＳ時計４０の時刻とＮＴＰ時計５４の時刻とが一致するとみなすことができる所定の関係であると判断する。これにより、ＴＳ時計４０の時刻とＮＴＰ時計５４の時刻とが一致するとみなすことができる所定の関係であるか否かを適正にかつ簡単な演算処理により判断することができる。
【０１６８】
また、時刻提供装置６では、サービス利用者のパーソナルコンピュータ１０からの時刻出力要求に応じてＮＴＰ時計５４の時刻をサービス利用者のパーソナルコンピュータ１０に出力しようとする度に、ＴＳ時計４０の時刻とＮＴＰ時計５４の時刻とが一致するとみなすことができる所定の関係であるか否かを判断する処理（時刻監査処理）を行う。そして、ＴＳ時計４０の時刻とＮＴＰ時計５４の時刻とが一致するとみなすことができる所定の関係でないときには、サービス利用者のパーソナルコンピュータ１０にエラー信号を出力する。これにより、ＮＴＰサーバ５から取得したＮＴＰ時刻情報が、ネットワーク上の攻撃や疑似信号などにより改ざんされ、ＮＴＰ時計５４に標準時と異なる時刻が設定されるなどの異常な事態が生じた場合には、この異常な事態を、ＮＴＰ時計５４の時刻をサービス利用者のパーソナルコンピュータ１０に出力しようとする度に認識することができ、標準時と異なった時刻がサービス利用者のパーソナルコンピュータ１０に提供されるのを防止することができる。したがって、サービス利用者のパーソナルコンピュータ１０に提供する時刻の正確性または真正性を高めることができる。
【０１６９】
また、時刻提供装置６では、ハッシュ値２１を生成し、これをハッシュ値照合データベース３２に記憶されたハッシュ値照合テーブル４１に記述すると共に、このハッシュ値２１を時刻提供装置６から時刻認証局３へ送る。そして、ハッシュ値２１を含むタイムスタンプトークン２０を時刻認証局３から受け取る度に、タイムスタンプトークン２０に含まれるハッシュ値２１と、ハッシュ値照合データベース３２に記憶されたハッシュ値照合テーブル４１中のハッシュ値２１とが一致するか否かを判断し、両者が一致した場合に限り、このハッシュ値２１と共にタイムスタンプトークン２０に含まれたＴＳ時刻情報２２をＴＳ時計４０の時刻設定に用いる。これにより、時刻提供装置６によるタイムスタンプトークン２０の発行要求に応じて時刻認証局３から発行されたタイムスタンプトークン２０に含まれるＴＳ時刻情報２２だけをＴＳ時計４０の時刻設定に用いることができる。すなわち、時刻認証局３以外の者から送られた偽のタイムスタンプトークンに含まれるＴＳ時刻情報によりＴＳ時計４０の時刻が設定されてしまうといった事態を回避することができる。したがって、時刻情報の改ざん者の攻撃から時刻提供装置６を保護することができ、時刻提供装置６の時刻提供の真正性を高めることができる。
【０１７０】
また、時刻提供装置６では、タイムスタンプトークン受取部３４により受け取られたタイムスタンプトークン２０に含まれるハッシュ値２１と、ハッシュ値照合データベース３２に記憶されたハッシュ値照合テーブル４１中のハッシュ値２１とが一致した場合には、照合回数値を参照し、照合回数値が「２」以上である場合には、このタイムスタンプトークン２０を破棄する。これにより、リプライ攻撃によりＴＳ時刻情報２２の正確性または真正性、ひいてはＴＳ時計４０の時刻の正確性または真正性が損なわれるのを防止することができる。
【０１７１】
また、時刻提供装置６では、相互に独立してそれぞれ時刻を刻むＴＳ時計４０およびＮＴＰ時計５４の２つの内部時計を有する。そして、ＴＳ時計４０には、ＴＳ時刻情報２２が示す時刻をタイムスタンプトークン取得間隔ごとに設定する。一方、ＮＴＰ時計５４には、ＮＴＰ時刻情報を示す時刻をＮＴＰ時刻取得間隔ごとに設定する。そして、サービス利用者のパーソナルコンピュータ１０から時刻出力要求があったときには、すでに設定されているＴＳ時計４０の時刻と、すでに設定されているＮＴＰ時計５４の時刻とが一致するとみなすことができる所定の関係であることを判断してから、すでに設定されているＮＴＰ時計５４の時刻をサービス利用者のパーソナルコンピュータ１０に出力する。これにより、標準時に合致した時刻を遅延させることなくサービス利用者のパーソナルコンピュータ１０に出力することができる。すなわち、仮にサービス利用者のパーソナルコンピュータ１０から時刻出力要求を受けてから、ＴＳ時刻情報２２およびＮＴＰ時刻情報を時刻認証局３およびＮＴＰサーバ５からそれぞれ取得し、これらに基づく時刻をサービス利用者のパーソナルコンピュータ１０に出力するとすれば、ＴＳ時刻情報２２およびＮＴＰ時刻情報の取得処理に時間がかかり、このため、標準時に対し遅延した時刻をサービス利用者のパーソナルコンピュータ１０に出力してしまうおそれがある。しかし、時刻提供装置６では、サービス利用者のパーソナルコンピュータ１０からの時刻出力要求とは無関係に、タイムスタンプトークン取得間隔ごとにＴＳ時計４０の時刻を設定し、ＮＴＰ時刻情報取得間隔ごとにＮＴＰ時計５４の時刻を設定する。そして、サービス利用者のパーソナルコンピュータ１０からの時刻出力要求があったときには、すでに設定されたＮＴＰ時計５４の時刻をサービス利用者のパーソナルコンピュータ１０に出力する。したがって、時刻提供装置６によれば、標準時に合致した時刻を遅延させることなくサービス利用者のパーソナルコンピュータ１０に出力することができる。
【０１７２】
また、時刻提供装置６によれば、サービス利用者のパーソナルコンピュータ１０からの時刻出力要求があったときに、すでに設定されたＮＴＰ時計５４の時刻をサービス利用者のパーソナルコンピュータ１０に出力するので、インターネット回線に生じた障害などにより、ＴＳ時刻情報２２またはＮＴＰ時刻情報が時刻認証局３またはＮＴＰサーバ５から一時的に取得できないといった事態が生じても、標準時に合致した正確かつ真正な時刻をサービス利用者のパーソナルコンピュータ１０に出力することができる。
【０１７３】
また、時刻提供装置６によれば、時刻認証局３およびＮＴＰサーバ５などの既存の機関の時刻提供システムをそのまま応用することにより、高精度かつ真正な時刻提供を実現することができる。すなわち、新たな時刻提供システムを構築する必要がないので、低いコストで、高精度かつ真正な時刻提供を実現することができる。
【０１７４】
なお、上述した実施形態では、乱数をハッシュ関数に入力することにより生成されたハッシュ値２１を、タイムスタンプトークン２０に含める場合を例にあげたが、本発明はこれに限らない。ハッシュ値２１の代わりに他の固有値をタイムスタンプトークン２０に含めてもよい。
【０１７５】
また、上述した実施形態では、毎日午前０時を経過した直後に、１日に必要な複数のハッシュ値２１を一度に生成し、これらをハッシュ値照合データベース３２に記憶する場合を例にあげたが、本発明はこれに限らない。すなわち、ハッシュ値を一度に生成する時刻は午前０時経過直後に限らない。また、１日ではなく３日または１週間に必要な複数のハッシュ値２１を一度に生成してもよい。一方、複数のハッシュ値２１を一度に生成するのではなく、タイムスタンプトークン２０の発行を要求する度に、ユニークなハッシュ値２１を１つずつ生成してもよい。
【０１７６】
また、上述した実施形態では、図６に示すように、ＴＳ時刻情報２２の真正性を、電子署名２３、２５などを用いて検証する場合を例にあげたが、ＴＳ時刻情報２２の真正性を検証する具体的な方法は、図６に示す例に限定されない。
【０１７７】
また、上述した実施形態では、タイムスタンプトークン２０に含まれたハッシュ値２１とハッシュ値照合データベース３２に記憶されたハッシュ値照合テーブル４１中のハッシュ値２１とが一致した回数を照合回数値として記憶し、照合回数値を参照することにより、同一のハッシュ値２１を含んだタイムスタンプトークン２０を受け取ったという事実の存在を認識する場合を例にあげたが、本発明はこれに限らない。照合回数値の代わりに、同一のハッシュ値２１を含んだタイムスタンプトークン２０を受け取ったという事実の有無を示すフラグを用いてもよい。
【０１７８】
また、上述した実施形態では、時刻監査部６２による時刻監査処理において、ＮＴＰ時計５４の時刻が、ＴＳ時計４０の時刻以降であり、かつタイムスタンプトークン取得経過時間をＴＳ時計４０の時刻に加えた時刻以前である場合に、ＴＳ時計４０の時刻とＮＴＰ時計５４の時刻とが一致するとみなすことができる所定の関係であると判断する場合を例にあげたが、本発明はこれに限らない。例えば、ＴＳ時計４０の時刻とＮＴＰ時計５４の時刻との差が予め決められた所定時間（例えば５００ｍｓ）内である場合に、ＴＳ時計４０の時刻とＮＴＰ時計５４の時刻とが一致するとみなすことができる所定の関係であると判断する方法を採用することもできる。もっとも、ＮＴＰ時計５４の時刻が、ＴＳ時計４０の時刻以降であり、かつタイムスタンプトークン取得経過時間をＴＳ時計４０の時刻に加えた時刻以前である場合に、ＴＳ時計４０の時刻とＮＴＰ時計５４の時刻とが一致するとみなすことができる所定の関係であると判断する方法を採用することにより、ＴＳ時計４０の時刻とＮＴＰ時計５４の時刻との一致性を適正に判断することが可能になる。
【０１７９】
また、上述した実施形態では、サービス利用者のパーソナルコンピュータ１０からの時刻出力要求に応じてＮＴＰ時計５４の時刻を出力しようとする度に、時刻監査部６２による時刻監査処理を実行する場合を例にあげたが、本発明はこれに限らない。例えば、予め決められた一定の周期で時刻監査処理を実行してもよい。もっとも、サービス利用者のパーソナルコンピュータ１０からの時刻出力要求に応じてＮＴＰ時計５４の時刻を出力しようとする度に、時刻監査部６２による時刻監査処理を実行する方法を採用することにより、上述したように、サービス利用者のパーソナルコンピュータ１０に提供する時刻の正確性または真正性を高めることができる。
【０１８０】
また、上述した実施形態では、時刻提供装置６が有する２つの内部時計の一方についてはＴＳ時刻情報２２を用いて時刻設定を行い、他方についてはＮＴＰ時刻情報を用いて時刻設定を行う場合を例にあげたが、本発明はこれに限らない。例えば、ＮＴＰ時刻情報に代えて、ＧＰＳから得られる時刻情報、または電波時計の時刻情報を用いてもよい。もっとも、ＮＴＰ時刻情報を用いることにより、高精度な時刻情報を、インターネットを利用して簡単に取得することができ、高精度な時刻の設定を簡単に実現することができる。
【０１８１】
また、上述した時刻提供装置６は、時刻監査処理において、ＴＳ時計４０の時刻とＮＴＰ時計５４の時刻とが一致するとみなすことができる所定の関係であると判断された場合に、ＮＴＰ時計５４の時刻をサービス利用者のパーソナルコンピュータ１０に出力する構成を採用している。高精度の時刻をサービス利用者のパーソナルコンピュータ１０に提供する場合には、このような構成を採用することが望ましい。しかしながら、サービス利用者に提供する時刻について、例えば１００ｍｓ〜５００ｍｓ程度の誤差が許される場合には、時刻監査処理を行わず、ＴＳ時計４０の時刻をサービス利用者に提供する構成を採用してもよい。この場合には、図３中のＮＴＰ時計セクション５０に含まれる構成要素および時刻監査部６２を時刻提供装置６から排除することができる。この構成によれば、時刻監査処理を行う構成と比較して時刻の精度は低くなるものの、１００ｍｓ〜５００ｍｓ程度の誤差しか含まない正確なかつ真正な時刻をサービス利用者に提供することができる。また、時刻提供装置をシンプルな構成とすることができ、製造コストを下げることができる。
【０１８２】
また、上述した時刻提供装置６は、時刻提供装置６を構成する図３に示す構成要素を１つの筐体に組み込み、時刻提供装置６を箱形の独立した装置として具現化してもよい。しかし、これ以外に、例えば、図３に示す時刻提供装置６の構成要素を基板上に構築し、この基板を例えばサービス利用者のパーソナルコンピュータ１０の拡張スロットに接続する構造としてもよい。また、図３に示す時刻提供装置６の構成要素を１チップに集約してもよい。
【０１８３】
また、上述した時刻提供装置６は、時刻提供装置６とサービス利用者のパーソナルコンピュータ１０をローカルエリアネットワーク９で接続する場合を例にあげたが、時刻提供装置６とサービス利用者のパーソナルコンピュータ１０との間の接続は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などの他の接続方法でもよい。
【０１８４】
また、時刻提供装置６が時刻を提供する電子機器は、パーソナルコンピュータ１０に限らず、サーバコンピュータ、汎用コンピュータ、複合機などの他の電子機器でもよい。
【０１８５】
また、本発明の時刻提供装置または時刻提供方法は、システムログ収集装置、ファクシミリ装置、スキャナー、複合機、タイムレコーダ、駐車場管理装置、計測機などに対し、ログ記録時刻、ファクシミリ送受信時刻、スキャニング時刻、出勤・退勤時刻、入庫・出庫時刻、測定時刻などを提供する装置または方法として用いることができる。
【０１８６】
また、図１中の時刻認証局３がタイムスタンプトークン発行局の具体例であり、サービス利用者のパーソナルコンピュータ１０が外部装置の具体例である。また、図２中のハッシュ値２１が固有値の具体例であり、電子署名２３、２５が証明情報の具体例である。また、図３中のタイムスタンプトークン要求部３３がタイムスタンプトークン要求手段の具体例であり、タイムスタンプトークン受取部３４がタイムスタンプトークン受取手段の具体例であり、時間測定部３５が時間測定手段の具体例であり、タイムスタンプトークン要求部３３、タイムスタンプトークン受取部３４および時間測定部３５がタイムスタンプトークン取得手段の具体例である。また、真正性検証部３６が真正性検証手段の具体例であり、ＴＳ時刻設定部３９が第１の時刻設定手段の具体例であり、ＴＳ時計４０が第１の時計の具体例であり、ＮＴＰ時刻情報要求部５１およびＮＴＰ時刻情報受取部５２がＮＴＰ時刻情報取得手段の具体例であり、ＮＴＰ時刻設定部５３が第２の時刻設定部の具体例であり、ＮＴＰ時計５４が第２の時計の具体例であり、時刻出力要求受取部６１が時刻出力要求受取手段の具体例であり、時刻監査部６２が時刻監査手段の具体例であり、時刻出力部６３が時刻出力手段の具体例である。また、ハッシュ値生成部３１が固有値生成手段の具体例であり、ハッシュ値照合データベース３２が固有値記憶手段および照合情報記憶手段の具体例であり、ハッシュ値照合部３７が照合手段の具体例であり、タイムスタンプトークン採否判断部３８がタイムスタンプトークン採否判断手段の具体例である。
【０１８７】
また、図１２中のステップＳ１６およびＳ１８がタイムスタンプトークン取得工程の具体例であり、ステップＳ１９が真正性検証工程の具体例であり、ステップＳ２６が第１の時刻設定工程の具体例である。また、図１３中のステップＳ４１およびＳ４２がＮＴＰ時刻情報取得工程の具体例であり、ステップＳ４３が第２の時刻設定工程の具体例である。また、図１４中のステップＳ５２が時刻監査工程の具体例であり、ステップＳ５４が時刻出力工程の具体例である。
【０１８８】
また、本発明は、請求の範囲および明細書全体から読み取るこのできる発明の要旨または思想に反しない範囲で適宜変更可能であり、そのような変更を伴う時刻提供装置および時刻提供方法もまた本発明の技術思想に含まれる。
【図面の簡単な説明】
【０１８９】
【図１】本発明の実施形態である時刻提供装置を含む時刻提供システムを示すブロック図である。
【図２】タイムスタンプトークンの構造を示す説明図である。
【図３】本発明の実施形態である時刻提供装置の内部構造を示すブロック図である。
【図４】ハッシュ値照合テーブルを示す説明図である。
【図５】タイムスタンプトークン取得経過時間を示す説明図である。
【図６】ＴＳ時刻情報の真正性を検証する処理を示す説明図である。
【図７】タイムスタンプトークン取得ログ情報を示す説明図である。
【図８】ＮＴＰ時刻情報取得ログ情報を示す説明図である。
【図９】時刻監査処理ログ情報を示す説明図である。
【図１０】時刻提供装置の管理設定画面を示す説明図である。
【図１１】時刻提供装置の動作を示すフローチャートである。
【図１２】時刻提供装置により行われるＴＳ時刻設定処理を示すフローチャートである。
【図１３】時刻提供装置により行われるＮＴＰ時刻設定処理を示すフローチャートである。
【図１４】時刻提供装置により行われる時刻出力処理を示すフローチャートである。
【符号の説明】
【０１９０】
３  時刻認証局（タイムスタンプトークン発行局）
５  ＮＴＰサーバ
６  時刻提供装置
１０  サービス利用者のパーソナルコンピュータ（外部装置）
２１  ハッシュ値（固有値）
２３、２５  電子署名（証明情報）
３１  ハッシュ値生成部（固有値生成手段）
３２  ハッシュ値照合データベース（固有値記憶手段、照合情報記憶手段）
３３  タイムスタンプトークン要求部（タイムスタンプトークン要求手段）
３４  タイムスタンプトークン受取部（タイムスタンプトークン受取手段）
３５  時間測定部（時間測定手段）
３６  真正性検証部（真正性検証手段）
３７  ハッシュ値照合部（照合手段）
３８  タイムスタンプトークン採否判断部（タイムスタンプトークン採否判断手段）
３９  ＴＳ時刻設定部（第１の時刻設定手段）
４０  ＴＳ時計（第１の時計）
５１  ＮＴＰ時刻情報要求部（ＮＴＰ時刻情報取得手段）
５２  ＮＴＰ時刻情報受取部（ＮＴＰ時刻情報取得手段）
５３  ＮＴＰ時刻設定部（第２の時刻設定部）
５４  ＮＴＰ時計（第２の時計）
６１  時刻出力要求受取部（時刻出力要求受取手段）
６２  時刻監査部（時刻監査手段）
６３  時刻出力部（時刻出力手段）
【図１】
2009212559.tif 000003
【図２】
2009212559.tif 000004
【図３】
2009212559.tif 000005
【図４】
2009212559.tif 000006
【図５】
2009212559.tif 000007
【図６】
2009212559.tif 000008
【図７】
2009212559.tif 000009
【図８】
2009212559.tif 000010
【図９】
2009212559.tif 000011
【図１０】
2009212559.tif 000012
【図１１】
2009212559.tif 000013
【図１２】
2009212559.tif 000014
【図１３】
2009212559.tif 000015
【図１４】
2009212559.tif 000016