基準時刻提供装置、タイムスタンプ発行装置、基準時刻提供方法、タイムスタンプ発行方法、基準時刻提供プログラム、及びタイムスタンプ発行プログラム
【課題】高精度・高信頼を確保しつつ、低コストでタイムスタンプを発行すること。
【解決手段】デジタル放送局2は、基準時刻を電子署名した時刻証明書3を時報コンテンツとして放送する。タイムスタンプサーバ4は、時刻証明書3を受信して基準時刻を取得し、これを用いて内部クロック17の更正と監査を行う。基準時刻は電子署名されているため、タイムスタンプサーバ4は、これによって基準時刻の正統性を確認することができる。内部クロック17は、時刻ラベル(例えば分以上の部分)と時刻ラベルよりも小さい単位である精度部分(例えば秒以下の部分)に分割して管理されており、タイムスタンプサーバ4は、時刻ラベルに対して監査を行い、精度部分に対して更正を行う。また、監査の際に新しく受信した時刻証明書3の時刻が前回に受信した時刻証明書3よりも進んでいることを確認する
【解決手段】デジタル放送局2は、基準時刻を電子署名した時刻証明書3を時報コンテンツとして放送する。タイムスタンプサーバ4は、時刻証明書3を受信して基準時刻を取得し、これを用いて内部クロック17の更正と監査を行う。基準時刻は電子署名されているため、タイムスタンプサーバ4は、これによって基準時刻の正統性を確認することができる。内部クロック17は、時刻ラベル(例えば分以上の部分)と時刻ラベルよりも小さい単位である精度部分(例えば秒以下の部分)に分割して管理されており、タイムスタンプサーバ4は、時刻ラベルに対して監査を行い、精度部分に対して更正を行う。また、監査の際に新しく受信した時刻証明書3の時刻が前回に受信した時刻証明書3よりも進んでいることを確認する
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、基準時刻提供装置、タイムスタンプ発行装置、基準時刻提供方法、タイムスタンプ発行方法、基準時刻提供プログラム、及びタイムスタンプ発行プログラムに関し、例えば、電子文書に対してタイムスタンプを発行するものに関する。
【背景技術】
【0002】
近年の情報技術の急激な進歩に伴って、公文書や私文書をデジタル情報化した電子文書にて調製する所謂ペーパレス化が推進されている。
また、このようにして作成された電子文書に付与される法的な地位を整備するため電子文書法が施行されている。
このようにして作成され保存される電子文書では発行日などの時刻証明(日付証明)が重要であり、時刻証明を行うタイムスタンプシステムが利用されている。
【0003】
図15は、従来のタイムスタンプシステムのシステム構成を説明するためのブロック図である。
タイムスタンプシステム100は、時刻配信局に設置された時刻配信サーバ101、時刻認証局に設置されたタイムスタンプサーバ102、及びクライアント端末103、103、・・・などから構成されている。
タイムスタンプサーバ102はタイムスタンプを発行するサーバであり、クライアント端末103は、タイムスタンプの発行を受ける端末装置である。タイムスタンプ発行の手順は次の通りである。
【0004】
まず、クライアント端末103は、時刻証明対象である電子文書のハッシュ値をタイムスタンプサーバ102に送信する。
次に、タイムスタンプサーバ102は、クライアント端末103からハッシュ値を受信し、内蔵する内部クロックが出力する時刻と受信したハッシュ値に対して電子署名を生成する。そして、タイムスタンプサーバ102は、これをタイムスタンプとしてクライアント端末103に送信する。
タイムスタンプの利用者は、電子文書にこのタイムスタンプを付与して第三者に提供することにより、電子文書の非改竄性の証明と時刻証明を行うことができる。
【0005】
時刻配信サーバ101は、タイムスタンプシステム100で使用する時刻の基準となる時刻を管理及び配信するサーバである。
時刻配信サーバ101は、例えば、基準時刻を計測するための原子時計を備えており、この原子時計が出力する基準時刻をタイムスタンプサーバ102に配信する。
タイムスタンプサーバ102は、時刻配信サーバ101から基準時刻を受信し、これを用いて内部クロックを更正する。
【0006】
基準時刻の改竄と通信経路の遅延を防ぐために、タイムスタンプサーバ102と時刻配信サーバ101の通信経路は、例えば、SSL(Secure Sockets Layer)などの技術を用いて暗号化され、通信プロトコルとしてNTP(Network Time Protocol)を用いている。なお、NTPは時刻の配信用に標準化されたプロトコルであり、通信経路による遅延を補正することができる。
【0007】
なお、図15では、タイムスタンプサーバ102が1台だけ記されているが、複数のタイムスタンプサーバ102が時刻配信サーバ101に接続されるように構成することができる。
【0008】
このようなタイムスタンプシステムを構成する技術として、次の信頼されるサードパーティクロックおよび信頼されるローカルクロックを提供するためのシステムおよび方法がある。
【0009】
【特許文献1】特表2003−519417公報
【0010】
この技術は、時刻配信サーバ101としてマスタクロックシステムを配置し、タイムスタンプサーバ102としてローカルクロックシステムを配置したものであり、マスタクロックシステムがローカルクロックシステムを検査などするものである。
この構成により、マスタクロックシステム(時刻配信サーバ101)は、ローカルクロックシステム(タイムスタンプサーバ102)に基準時刻を配信し、更に、ローカルクロックシステムで時刻が改竄されないか監査を行う。
【発明の開示】
【発明が解決しようとする課題】
【0011】
従来のタイムスタンプシステム100では、時刻配信サーバ101とタイムスタンプサーバ102の間の通信に、例えばNTPやPKI(Public Key Infrastructure)を用い、高精度かつ高信頼性を確保していたため、コストが高くなっていた。
また、システムの安全性を確保するために、タイムスタンプサーバ102に耐タンパチップ(安全性が確保されたICチップ)を実装していたが、耐タンパチップに、例えば、高い時刻精度を維持するなどの高度な機能を実装することは困難であり、コストが高くなっていた。
【0012】
そこで、本発明の目的は、高精度・高信頼を確保しつつ、低コストでタイムスタンプを発行することである。
【課題を解決するための手段】
【0013】
本発明は、前記目的を達成するために、基準時刻を計測するための基準時計装置と、前記計測された基準時刻を電子署名する署名手段と、前記基準時刻と前記電子署名を含む時刻証明書を生成する時刻証明書生成手段と、デジタル放送によって送信するために、前記生成した時刻証明書をデジタル放送システムに提供する時刻証明書提供手段と、を具備したことを特徴とする基準時刻提供装置を提供する(第1の構成)。
また、本発明は、時刻を計測する時計装置と、基準時刻と当該基準時刻の電子署名を含む時刻証明書を、デジタル放送を介して受信する受信手段と、前記受信した時刻証明書の電子署名を確認する署名確認手段と、前記時計装置の時刻と前記時刻証明書に含まれる基準時刻を比較することにより、前記時計装置が所定の精度で動作していることを検証する検証手段と、時刻証明対象となる証明対象情報を取得する証明対象情報取得手段と、前記署名確認手段で前記電子署名が確認され、前記検証手段で前記時計装置が所定の精度で動作していることが検証された場合に、前記時計装置が出力する時刻と、前記取得した証明対象情報と、を電子署名することによりタイムスタンプを生成するタイムスタンプ生成手段と、前記生成したタイムスタンプを出力するタイムスタンプ出力手段と、を具備したことを特徴とするタイムスタンプ発行装置を提供する(第2の構成)。
第2の構成において、前記タイムスタンプ生成手段は、検証に用いる基準時刻が、前回の検証で用いた基準時刻よりも後の時刻であることが確認できた場合に、タイムスタンプを生成するように構成することもできる(第3の構成)。
第2の構成、又は第3の構成において、前記受信した時刻証明書に含まれる基準時刻を用いて、前記時計装置が計測する前記所定の精度未満の時刻を更正する時刻更正手段を具備するように構成することもできる(第4の構成)。
第2の構成、第3の構成、又は第4の構成において、前記所定の精度を、第1の精度と、前記第1の精度よりも精度が低い第2の精度に変更する精度変更手段を具備し、前記精度変更手段は、前記所定の精度を第2の精度に設定し、前記検証手段が前記第2の精度を用いて前記時計装置の精度を検証した場合に、前記所定の精度を第1の精度に設定するように構成することもできる(第5の構成)。
第2の構成から第5の構成までのうちの何れか1の構成において、前記検証手段と前記タイムスタンプ生成手段が動作する第1の動作モードと、前記時刻更正手段が動作する第2の動作モードと、を切り替える動作モード切替手段を具備し、前記動作モード切替手段は、それぞれの動作モードにて動作が完了した後に動作モードを切り替えるように構成することもできる(第6の構成)。
第2の構成から第6の構成までのうちの何れか1の構成において、前記タイムスタンプ生成手段がタイムスタンプを生成する前に、課金が行われたか否かを確認する課金確認手段を具備し、前記タイムスタンプ生成手段は、前記課金確認手段にて課金が確認された場合にタイムスタンプを生成するように構成することもできる(第7の構成)。
また、本発明は、基準時計装置と、署名手段と、時刻証明書生成手段と、時刻証明書提供手段と、を備えた基準時刻提供装置において、前記基準時計装置で、基準時刻を計測する計測ステップと、前記署名手段で、前記計測された基準時刻を電子署名する署名ステップと、前記時刻証明書生成手段で、前記基準時刻と前記電子署名を含む時刻証明書を生成する時刻証明書生成ステップと、前記時刻証明書提供手段で、デジタル放送によって送信するために、前記生成した時刻証明書をデジタル放送システムに提供する時刻証明書提供ステップと、から構成されたことを特徴とする基準時刻提供方法を提供する(第8の構成)。
また、本発明は、時計装置と、受信手段と、署名確認手段と、検証手段と、証明対象情報取得手段と、タイムスタンプ生成手段と、タイムスタンプ出力手段と、を備えたタイムスタンプ発行装置において、前記時計装置で、時刻を計測する計測ステップと、前記受信手段で、基準時刻と当該基準時刻の電子署名を含む時刻証明書を、デジタル放送を介して受信する受信ステップと、前記署名確認手段で、前記受信した時刻証明書の電子署名を確認する署名確認ステップと、前記時計装置の時刻と前記時刻証明書に含まれる基準時刻を比較することにより、前記検証手段で、前記時計装置が所定の精度で動作していることを検証する検証ステップと、前記証明対象情報取得手段で、時刻証明対象となる証明対象情報を取得する証明対象情報取得ステップと、前記署名確認手段で前記電子署名が確認され、前記検証手段で前記時計装置が所定の精度で動作していることが検証された場合に、前記タイムスタンプ生成手段で、前記時計装置が出力する時刻と、前記取得した証明対象情報と、を電子署名することによりタイムスタンプを生成するタイムスタンプ生成ステップと、前記タイムスタンプ出力手段で、前記生成したタイムスタンプを出力するタイムスタンプ出力ステップと、から構成されたことを特徴とするタイムスタンプ発行方法を提供する(第9の構成)。
また、本発明は、基準時計装置で基準時刻を計測する計測機能と、前記計測された基準時刻を電子署名する署名機能と、前記基準時刻と前記電子署名を含む時刻証明書を生成する時刻証明書生成機能と、デジタル放送によって送信するために、前記生成した時刻証明書をデジタル放送システムに提供する時刻証明書提供機能と、をコンピュータで実現するための基準時刻提供プログラムを提供する(第10の構成)。
また、本発明は、時計装置で時刻を計測する計測機能と、基準時刻と当該基準時刻の電子署名を含む時刻証明書を、デジタル放送を介して受信する受信機能と、前記受信した時刻証明書の電子署名を確認する署名確認機能と、前記時計装置の時刻と前記時刻証明書に含まれる基準時刻を比較することにより、前記時計装置が所定の精度で動作していることを検証する検証機能と、時刻証明対象となる証明対象情報を取得する証明対象情報取得機能と、前記署名確認機能により前記電子署名が確認され、前記検証機能により前記時計装置が所定の精度で動作していることが検証された場合に、前記時計装置が出力する時刻と、前記取得した証明対象情報と、を電子署名することによりタイムスタンプを生成するタイムスタンプ生成機能と、前記生成したタイムスタンプを出力するタイムスタンプ出力機能と、をコンピュータで実現するためのタイムスタンプ発行プログラムを提供する(第11の構成)。
【発明の効果】
【0014】
本発明によれば、デジタル放送で電子署名付きの基準時刻を配信し、これを用いて時刻配信を行うことにより、高精度・高信頼を確保しつつ、低コストでタイムスタンプを発行することができる。
【発明を実施するための最良の形態】
【0015】
(1)実施の形態の概要
デジタル放送によって時刻証明書を定期的に配信する。受信機は高度なセキュリティを有する耐タンパモジュールを有し、これにより、秘密鍵管理、時刻計測が行われる。この耐タンパモジュールは3つの動作モードの切替が可能で、バックデイトを許さない構造をとる。本実施の形態では、時刻配信をデジタル放送により行うため、高精度な時刻配信を低コストで行うことができる。
【0016】
タイムスタンプシステム1(図1)において、デジタル放送局2は、基準時刻を電子署名した時刻証明書3を時報コンテンツとして放送する。タイムスタンプサーバ4は、時刻証明書3を受信して基準時刻を取得し、これを用いて内部クロック17の更正と監査を行う。基準時刻は電子署名されているため、タイムスタンプサーバ4は、これによって基準時刻の正統性を確認することができる。
【0017】
内部クロック17は、時刻ラベル(例えば分以上の部分)と時刻ラベルよりも小さい単位である精度部分(例えば秒以下の部分)に分割して管理されており、タイムスタンプサーバ4は、時刻ラベルに対して監査を行い、精度部分に対して更正を行う。
また、監査の際に新しく受信した時刻証明書3の時刻が前回に受信した時刻証明書3よりも進んでいることを確認する
【0018】
このようにタイムスタンプサーバ4は、内部クロック17を操作できる範囲を精度部分に限定し、更に、新旧の時刻証明書3を比較することにより、内部クロック17のバックデイトを防止することができる。
そして、タイムスタンプサーバ4は、更正・監査された内部クロック17の時刻により、クライアント端末5から送信されてきた情報(ハッシュ値など)に対してタイムスタンプを発行する。
【0019】
(2)実施の形態の詳細
図1は、本実施の形態に係るタイムスタンプシステム1のシステム構成の一例を示した図である。
タイムスタンプシステム1は、デジタル放送局2、タイムスタンプサーバ4、クライアント端末5、5、・・・などから構成されており、タイムスタンプサーバ4とクライアント端末5、5、・・・は、インターネットなどのネットワーク6で接続可能に配設されている。
なお、以下では、クライアント端末5、5、・・・を特に区別しないため、単にクライアント端末5と記す。
【0020】
デジタル放送局2は、デジタル放送によりラジオ番組やテレビ番組などのコンテンツを提供する放送局であり、コンテンツをデジタル信号として送信用アンテナから周囲の空間に送信するデジタル放送システムを備えている。なお、デジタル放送局2は光ファイバなどの媒体を用いて有線放送を行ってもよい。
【0021】
デジタル放送局2は、時刻証明書3を生成する時報装置7を備えており、時報装置7が所定時間ごとに作成した時刻証明書3を時報コンテンツとして放送する。所定時間は、例えば、1秒間隔、1分間隔、5分間隔など、タイムスタンプシステム1の運用に適した間隔を設定することができる。
【0022】
なお、時報装置7をデジタル放送局2の外部に設置し、これをネットワークで接続するように構成することも可能である。
更に、時報装置7はデジタル放送局2が運営してもよいし、あるいは、タイムスタンプサービスの事業者が運用し、デジタル放送局2に時報コンテンツの送信を依頼する事業形態としてもよい。
【0023】
時報装置7は、原子時計22と配信用電子署名鍵23を記憶した記憶装置を備えており、これらを用いて時刻証明書3を生成してデジタル放送システムに提供する。
時刻証明書3は、テキストデータなどの簡便なデータ形式で構成することができるため、デジタル放送局2は、極めて低い負荷にて時刻証明書3を送信することができる。
【0024】
時刻証明書3には、基準時刻、制限時間、シリアル番号、固有情報、ハッシュ値、電子署名など記録されている。
基準時刻は、原子時計22が出力した現在時刻を遅延時間を考慮して補正した時刻であり、タイムスタンプサーバ4は基準時刻を現在時刻として用いることができる。
制限時間は、時刻証明書3に記録してある基準時刻の有効期限である。タイムスタンプサーバ4は、基準時刻で内部クロック17を監査した後、この有効期限内でタイムスタンプを発行することができる。このタイムスタンプを発行できる時間は活性化時間と呼ばれることもある。
【0025】
シリアル番号は、時報装置7が発行順に付与する時刻証明書3の番号である。また、セキュリティを高めるためにシリアル番号として乱数を用いることもできる。
固有情報は、例えば、タイムスタンプサーバ4の型番など、時刻証明書3の送信先に関する情報である。
図示しないが、時刻証明書3の有効期限や、時報装置7のID情報など、その他の情報を時刻証明書3に含めることができる。
【0026】
ハッシュ値は、現在時刻、制限時間、シリアル番号、固有情報など、改竄を防止する情報を、ハッシュ関数によって演算したハッシュ値である。
ハッシュ関数は一方向性関数の一種であり、ハッシュ値から元の情報の復元は著しく困難となっている。
電子署名は、ハッシュ値を配信用電子署名鍵23で暗号化したデジタル署名である。
配信用電子署名鍵23は秘密鍵であり、タイムスタンプサーバ4が記憶している配信用公開鍵15がこれに対応する公開鍵となっている。
【0027】
タイムスタンプサーバ4は、クライアント端末5からの要求に応じてタイムスタンプを発行するサーバ装置である。
ここで、タイムスタンプとは、電子文書の確定時刻を証明する情報であり、その文書がいつから存在しているのか、及びその時点から第三者のみならず作成者本人にも改竄されていないことを証明するものである。
【0028】
セキュリティを高めるため、タイムスタンプサーバ4は、タイムスタンプ発行に関わる情報処理を耐タンパ部10の内部で行う。
耐タンパ部10は、配信用公開鍵15、タイムスタンプ用電子署名鍵16、内部クロック17、前回証明書18、モード切替部13など、タイムスタンプ発行に必要な機能や情報を備えている。
耐タンパ部10は、時刻証明書3を用いて内部クロック17を監査する監査モード、外部クロック12の時刻で内部クロック17を更正する同期モード、クライアント端末5にタイムスタンプを発行するスタンプモードを備えており、モード切替部13で動作モードを切り替える。
【0029】
配信用公開鍵15は、デジタル放送局2の配信用電子署名鍵23に対応する公開鍵であって、時刻証明書3の電子署名を確認するのに用いられる。
タイムスタンプ用電子署名鍵16は、秘密鍵であって、クライアント端末5から送信されてきたハッシュ値を現在時刻と共に電子署名してタイムスタンプを発行するのに用いられる。
内部クロック17は、タイムスタンプで証明する時刻を計測するための時計装置である。
【0030】
前回証明書18は、前回の監査の際にデジタル放送局2から送られてきた時刻証明書3を記憶しておいたものであり、今回送られてきた時刻証明書3の基準時刻が前回の時刻証明書3の基準時刻よりも後であることを確認するのに用いられる。
これによって、例えば、どこかに保存しておいた時刻証明書3によって内部クロック17をバックデイトすることを防ぐことができる。
工場出荷時には、デフォルトの前回証明書18が記憶されている。
【0031】
外部クロック12は、例えば、マザーボードなどに設置された水晶発振式の時計装置であって、時刻証明書3の基準時刻によって、例えばミリ秒単位まで更正することができる。
外部クロック12の時刻は、内部クロック17を更正するのに用いられる。即ち、タイムスタンプサーバ4は、基準時刻によりまず外部クロック12を更正し、そして外部クロック12を用いて内部クロック17を構成する。
内部クロック17は、耐タンパ部10の内部に形成されるという制約があるため、高精度の時計装置で構成することが困難である。そのため、精度を保つために外部クロック12を参照して内部クロック17の精度部分を更正するように構成した。
【0032】
次に、図2を用いてタイムスタンプサーバ4のハードウェア的な構成について説明する。
タイムスタンプサーバ4は、耐タンパ部10、CPU(Central Processing Unit)29、ROM(Read Only Memory)27、RAM(Random Access Memory)30、外部クロック12、通信部26、記憶部33、放送受信部34などがバスラインによって接続して構成されており、タイムスタンプ発行装置として機能する。
【0033】
耐タンパ部10は、CPU21、内部クロック17、ROM28、RAM24、EEPROM(Electrically Erasable and Programmable ROM)25などを図示しないバスラインによって接続した耐タンパチップによって構成されており、高度なセキュリティレベルを維持している。
耐タンパチップは、内部構造の解析や不正操作が著しく困難になるように構成されたICチップであり、しかも、内部構造を解析しようとすると自動的に壊れるようになっている。
【0034】
CPU21は、EEPROM25、ROM28、RAM24などに記憶されているプログラムに従って各種の情報処理を行う中央処理装置である。
本実施の形態では、耐タンパ部10の動作モードの切り替え、時刻証明書3の正統性の確認、内部クロック17の監査、内部クロック17の更正、タイムスタンプの発行などの各種情報処理を行う。
ROM28は、読み出し専用の記憶装置(メモリ)であって、耐タンパ部10を駆動するための基本的なプログラムやパラメータなどを格納している。
RAM24は、読み書き可能な記憶装置であって、CPU21が各種の情報処理を行う際のワーキングエリアを提供する。
【0035】
EEPROM25は、読み書きが可能な不揮発性の記憶装置であり、プログラムやデータなどが記憶されている。
本実施の形態では、一例として、配信用公開鍵15、タイムスタンプ用電子署名鍵16、前回証明書18、タイムスタンププログラムなどが記憶されている。
タイムスタンププログラムは、CPU21に、耐タンパ部10の動作モードの切り替え、時刻証明書3の正統性の確認、内部クロック17の監査・更正、タイムスタンプの発行などの機能を発揮させるためのプログラムである。
【0036】
CPU29は、記憶部33、ROM27、RAM30などに記憶されているプログラムに従って各種の情報処理を行う中央処理装置である。
CPU29は、例えば、デジタル放送局2から受信した時刻証明書3を耐タンパ部10へ出力したり、クライアント端末5からハッシュ値を受信して耐タンパ部10に出力したり、耐タンパ部10から出力されたタイムスタンプをクライアント端末5に送信したりする。
【0037】
外部クロック12は、タイムスタンプサーバ4を駆動するためのクロックを発生させるほか、内部クロック17の更正に用いられる。
なお、内部クロック17の更正には、電波時計用の基準電波や、GPS衛生から送信されるGPS信号に含まれる時刻、その他の時刻源を用いることも可能である。
【0038】
ROM27は、読み出し専用の記憶装置であって、CPU29を駆動するための基本的なプログラムやパラメータなどを格納している。
RAM30は、読み書き可能な記憶装置であって、CPU29が各種の情報処理を行う際のワーキングエリアを提供する。
【0039】
記憶部33は、例えば、ハードディスク装置や半導体記憶装置などによって構成されており、各種プログラムやデータなどが記憶されている。
記憶部33に記憶してあるプログラムを実行することにより、デジタル放送局2からの時刻証明書3の受信、クライアント端末5との送受信などの機能をCPU29に発揮させることができる。
【0040】
通信部26は、タイムスタンプサーバ4をネットワーク6に接続するためのインターフェースを構成しており、CPU21やCPU29は通信部26を介してクライアント端末5と通信することができる。
放送受信部34は、デジタル放送の受信機能を有し、デジタル放送局2から送信された時刻証明書3を受信して、これをCPU29に提供する。放送受信部34は、時刻証明書3を受信する受信手段として機能している。
【0041】
時報装置7のハードウェア構成は、基本的にタイムスタンプサーバ4と同様であり、CPU、ROM、RAM、記憶装置、原子時計22、入出力インターフェースなどがバスラインで接続して構成されている。記憶装置には、配信用電子署名鍵23が記憶されている。
原子時計は、基準時刻を計測するための基準時計装置として機能している。なお、基準時刻は、原子時計の計測値を遅延時間で補正して求められる。
CPUは、記憶装置などに記憶されているプログラムを実行することにより、基準時刻を配信用電子署名鍵23で電子署名する機能(署名手段)、時刻証明書3を生成する機能(時刻証明書生成手段)、時刻証明書3を入出力インターフェースを経由してデジタル放送局2のデジタル放送システムに送信して提供する機能(時刻証明書提供手段)を発揮する。このように、時報装置7は、基準時刻提供装置としての機能を有している。
クライアント端末5の構成もタイムスタンプサーバ4や時報装置7と基本的に同様である。
【0042】
次に、図3を用いて内部クロック17の監査と更正について説明する。
図3は、内部クロック17が計測する時刻の一例を示している。この例では、内部クロック17は百ミリ秒単位で時刻を計測し、「2005年3月30日15時30分20秒2百ミリ秒」となっている。
耐タンパ部10は、内部クロック17の計測する時刻を、時刻ラベルと、時刻ラベルよりも単位が小さい精度部分の2つの部分に区分して管理している。
【0043】
タイムスタンプは、例えば、日まで証明できればよい場合や、時間まで証明できればよい場合になど、証明対象によって必要とされる時刻精度が異なる。
そこで、耐タンパ部10は、必要とされる時刻精度を時刻ラベルとし、それよりも小さい単位を精度部分とし、外部クロック12による更正を精度部分に対して行うことにより時刻ラベルの改竄を防止している。
このように、内部クロック17の時刻をセキュリティを提供する部分(時刻ラベル)と品質を提供する部分(精度部分)に区分することにより、セキュリティと品質の両方をユーザに提供することができる。
【0044】
図の例では、一例として、時刻ラベルは分以上の部分(「2005年3月30日15時30分」)となっており、精度部分は秒以下の部分(「20秒2百ミリ秒」)となっている。
この場合、耐タンパ部10は、内部クロック17の秒以下の単位を外部クロック12に同期させることにより内部クロック17を更正する。
また、時刻監査は、内部クロック17の分以上の部分を時刻証明書3の基準時刻と対比することにより行う。
なお、時刻ラベルと精度部分は隣接している必要はなく、時刻ラベルを分以上、精度部分をミリ秒以下などとすることも可能である。
【0045】
次に、図4を用いてモード切替部13が行うモードの切り替えについて説明する。
図4に示したように、モード切替部13は、耐タンパ部10の動作モードを監査モード→スタンプモード→同期モード→監査モード→・・・の順序で順次切り替える。
監査モードとスタンプモードは、時刻ラベルを扱うため、高いセキュリティを要する動作モードであり(以下、セキュリティモード)、一方、同期モードは精度部分を扱うため、高いセキュリティが必ずしも必要ない動作モード(以下、一般モード)である。
【0046】
モード切替部13は、現在動作中の動作モードが完了してから耐タンパ部10の動作モードを次の動作モードを切り替える。
そのため、スタンプモードで動作するためには、監査モードと同期モードが完了していることが必要となり、耐タンパ部10は、監査、同期された時刻にてタイムスタンプを発行することができる。
【0047】
このように、耐タンパ部10は、セキュリティモードと一般モードを切り替えて動作することにより、高いセキュリティの必要な処理と高いセキュリティの必要のない処理を同時に行うことを防止している。
しかも、各動作モードは独立したモジュールによって動作するため、耐タンパ部10は、セキュリティモードでの処理と一般モードでの処理が耐タンパ部10内で干渉することを防ぐことができ、クラッキングなどの不正アクセスに対して高い耐性を備えている。
【0048】
なお、耐タンパ部10では、セキュリティモードを監査モードとスタンプモードに区分して切り替えているが、これらは何れもセキュリティモードなので、同じモードにて監査とスタンプの発行を行うように構成してもよい。
【0049】
このように、耐タンパ部10は、検証手段(監査を行う)と時刻証明情報生成手段(タイムスタンプを発行する)が動作する第1の動作モードと、前記時刻更正手段(秒単位の同期をとる)が動作する第2の動作モード(同期モード)と、を切り替える動作モード切替手段(モード切替部13)を具備し、前記動作モード切替手段は、それぞれの動作モードにて動作が完了した後に動作モードを切り替える。
【0050】
なお、本実施の形態では、同期モード→監査モード→スタンプモード→同期モード→・・・の順序でモードの切り替えを行ったが、モード切り替えの順序はこれに限定するものではなく、例えば、監査モード→同期モード→スタンプモード→監査モード・・・など、他の順序で動作モードを切り替えてもよい。
ただし、前者(同期モード→監査モード→スタンプモード→同期モード→・・・)の方が、監査後にタイムスタンプの発行を行うため、タイムスタンプサーバ4の信頼性は高まる。
【0051】
タイムスタンプサーバ4(好ましくは耐タンパ部10内部)に課金が行われたか否かを確認する課金モジュール(課金確認手段)を設けるとタイムスタンプサーバ4に対して課金を行うことができる。
この場合、モード切替部13は、監査モードからスタンプモードに動作モードを切り替える前に課金モジュールによって課金がなされたか否かを確認し、課金が確認できた場合に動作モードを監査モードからスタンプモードに切り替え、課金が確認できなかった場合は、動作モードを監査モードから同期モードに切り替える。
【0052】
このようにモード切替部13を構成することにより、耐タンパ部10は、課金が行われた場合にタイムスタンプを発行することができ、課金が行われない場合は、監査モードと同期モードを繰り返し、課金が確認できるまで待機することができる。
なお、課金の方法、及び確認方法は、公知のシステムや方法を用いて構成することができる。
【0053】
図5は、時報装置7が遅延時間による基準時刻の補正を行うプロトコルを説明するための概念図である。
時報装置7が時刻証明書3を出力してからタイムスタンプサーバ4がこれを受信するまでには、様々な原因(例えば、時刻証明書3を作成するのに要する時間や回路による遅延など)により遅延時間Δtが生じる。
時報装置7とタイムスタンプサーバ4を有線で接続した場合は、ネットワークの状況やタイムスタンプサーバ4の接続環境などによりΔtが変化する場合があるが、タイムスタンプシステム1では、無線によって時刻証明書3を放送するため、何れのタイムスタンプサーバ4においてもΔtはほぼ一定値となる。
【0054】
そこで、時報装置7は、予め計測したΔtを記憶しておき、時刻証明書3に記載する基準時刻をΔtだけ進んだ値に設定する。即ち、原子時計22の出力値をTAとしてT=TA+Δtを基準時刻とする。
これによって、タイムスタンプサーバ4は、受信した時刻証明書3に記載されている基準時刻を現在時刻として扱うことができる。
なお、本実施の形態では、時報装置7で遅延の補正を行うように構成したが、これに限定せず、タイムスタンプサーバ4の側で遅延の補正を行うように構成することもできる。
この場合、時刻証明書3の基準時刻は、遅延時間を含んだ時刻となっており、タイムスタンプサーバ4は、基準時刻をΔtだけ進めた時刻を現在時刻とする。
【0055】
図6は、モード切替部13による耐タンパ部10のモード切り替えを説明するためのフローチャートである。
まず、モード切替部13は、耐タンパ部10を同期モードにて動作させる(ステップ5)。
耐タンパ部10が同期モードにて内部クロック17の更正を終えると、モード切替部13は、耐タンパ部10を監査モードで動作させる(ステップ10)。
【0056】
耐タンパ部10が監査モードにて監査を終えると、モード切替部13は、課金モジュールにて課金が行われたか否かを確認し、課金が行われていない場合は(ステップ15;N)、動作モードを同期モードに切り替える。
課金が完了している場合(ステップ15;Y)、モード切替部13は、動作モードをスタンプモードに切り替える(ステップ20)。
なお、課金を行わない場合は、ステップ15を省略する。
【0057】
モード切替部13は、スタンプモードを開始してから活性化時間が経過すると、強制終了を行うか否かを判断し、強制終了を行わない場合は(ステップ25;N)、動作モードを同期モードに切り替え、強制終了を行う場合は(ステップ25;Y)、耐タンパ部10の動作を停止させる。
強制終了を行うか否かの判断は、例えば、ステップ5〜ステップ20のループを予め設定された所定回数繰り返した場合や、外部から強制終了の指示があった場合など、各種設定することができる。
【0058】
図7は、デジタル放送局2が時刻証明書3を送信する手順を説明するためのフローチャートである。
なお、以下のステップ30〜ステップ40は時報装置7が行い、ステップ45はデジタル放送局2のデジタル放送システムが行うものである。
まず、時報装置7は、原子時計22で現在時刻を計測する(ステップ30)。
次に、時報装置7は、ステップ30で計測した現在時刻を遅延時間Δtだけ進めた時刻を計算し、これを基準時刻として電子署名前の時刻証明書3(基準時刻、制限時間、シリアル番号、固有情報などを含む)を生成する(ステップ35)。
【0059】
次に、時報装置7は、署名前の時刻証明書3のハッシュ値を計算し、計算されたハッシュ値を配信用電子署名鍵23で暗号化する。
そして、時報装置7は、署名前の時刻証明書3にハッシュ値と、電子署名(ハッシュ値を配信用電子署名鍵23で暗号化した情報)を付与することにより時刻証明書3に電子署名する(ステップ40)。
【0060】
時報装置7は、時刻証明書3を生成するとこれをデジタル放送局2のデジタル放送システムに出力する。
デジタル放送局2のデジタル放送システムは、時刻証明書3を時報コンテンツとしてタイムスタンプサーバ4に送信する(ステップ45)。
【0061】
図8は、タイムスタンプサーバ4が外部クロック12を更正する手順を説明するためのフローチャートである。
なお、耐タンパ部10は、タイムスタンプサーバ4に含まれるが、情報処理が耐タンパ部10で行われるか否かを明確にするため、図8では、耐タンパ部10を独立した動作主体として示している。
このため、フローチャート中「耐タンパ部」が行う情報処理はCPU21が行い、「タイムスタンプサーバ」が行う情報処理はCPU29が行うものである。以下のフローチャートでも同様である。
【0062】
まず、デジタル放送局2がデジタル放送により、時刻証明書3を不特定のタイムスタンプサーバ4に送信する(ステップ50)。
タイムスタンプサーバ4は、デジタル放送局2から時刻証明書3を受信し、これを例えばRAM30(図2)に記憶する(ステップ55)。
次に、タイムスタンプサーバ4は、時刻証明書3から基本時刻を読み取り、この基本時刻と同期するように外部クロック12を更正する(ステップ60)。
【0063】
外部クロック12の時刻は、タイムスタンプの発行においてセキュリティに関わる部分には用いられないので、タイムスタンプサーバ4は、時刻証明書3の電子署名の確認は行わずに、時刻証明書3に含まれる基準時刻を用いる。
なお、これは一例であって、タイムスタンプサーバ4が電子署名の確認を行うように構成することも可能である。
また、内部クロック17は、外部クロック12の精度部分しか参照しないため、外部クロック12の更正も精度部分だけ行ってもよい。
【0064】
図9は、耐タンパ部10が内部クロック17を更正する手順を説明するためのフローチャートである。以下の情報処理は、耐タンパ部10が同期モードの間に行われるものである。
まず、耐タンパ部10は、タイムスタンプサーバ4に対して現在時刻を要求する(ステップ70)。
【0065】
タイムスタンプサーバ4は、外部クロック12が計測している時刻のうち、精度部分に該当する部分を耐タンパ部10に出力する(ステップ75)。
なお、外部クロック12が計測する時刻を耐タンパ部10に出力し、耐タンパ部10が精度部分に該当する部分を抽出するように構成してもよい。
耐タンパ部10は、タイムスタンプサーバ4から現在時刻を取得し、これを用いて内部クロック17が計測している時刻のうちの精度部分を更正する(ステップ80)。
【0066】
このように、耐タンパ部10は、時刻証明書3に含まれる基準時刻を外部クロック12を介して取得し、内部クロック17の計測する所定の精度未満の単位の時刻(即ち、精度部分)を更正する時刻更正手段を備えている。
なお、時刻証明書3を耐タンパ部10の内部に取り込んで時刻証明書3の基準時刻で内部クロック17を直接更正するように構成することも可能である。
【0067】
図10は、耐タンパ部10が内部クロック17を監査する手順を説明するためのフローチャートである。以下の情報処理は、耐タンパ部10が監査モードの間に行われるものである。
まず、耐タンパ部10は、タイムスタンプサーバ4に時刻証明書3を要求する(ステップ100)。
タイムスタンプサーバ4は、耐タンパ部10から時刻証明書3の要求を受けると、デジタル放送局2から時刻証明書3が送信されてくるまで待機する。
【0068】
デジタル放送局2が時刻証明書3を送信すると(ステップ105)、タイムスタンプサーバ4は、これを受信して耐タンパ部10に出力する(ステップ110)。
耐タンパ部10は、時刻証明書3を取得すると、時刻証明書3に記載されている基準時刻のうちのラベル部分に該当する部分の時刻を、内部クロック17が計測している時刻のラベル部分と比較する(ステップ115)。
このように耐タンパ部10は、内部クロック17の時刻と時刻証明書3に含まれる基準時刻を比較することにより、内部クロック17が所定の精度(時刻ラベル)で動作していることを検証する検証手段を備えている。
【0069】
両者の時刻が一致しない場合は(ステップ120;N)、モード切替部13が耐タンパ部10の動作モードを同期モードに移行させる(ステップ150)。
両者の時刻が一致する場合(ステップ120;Y)、耐タンパ部10は、時刻証明書3の電子署名を確認する(ステップ125)。
【0070】
この電子署名の確認は、次のようにして行われる。
まず、耐タンパ部10は、時刻証明書3の電子署名を配信用公開鍵15で復号化してハッシュ値を復元する。
そして、時刻証明書3に記載されている情報(現在時刻、制限時間など)からハッシュ値を生成する。両者が一致することにより耐タンパ部10は時刻証明書3が時報装置7によって作成された正統な情報であると確認する。
このように、耐タンパ部10は、時刻証明書3の電子署名を確認する署名確認手段を備えている。
【0071】
電子署名の確認により、時刻証明書3が有効であると確認できなかった場合(ステップ130;N)、耐タンパ部10はステップ100に戻り、再度タイムスタンプサーバ4に対して時刻証明書3を要求する。
時刻証明書3の有効性が確認できた場合(ステップ130;Y)、耐タンパ部10は、前回証明書18に記載されている基準時刻と、時刻証明書3に記載されている基準時刻の前後関係を比較する(ステップ135)。
【0072】
今回受信した時刻証明書3の基準時刻が前回証明書18の基準時刻よりも前である場合(ステップ140;N)、耐タンパ部10は、ステップ100に戻る。
今回受信した時刻証明書3の基準時刻が前回証明書18の基準時刻よりも後である場合(ステップ140;Y)、耐タンパ部10は、前回証明書18を今回受信した時刻証明書3で置き換える(ステップ145)。
前回証明書18を今回受信した時刻証明書3で置き換えた後、モード切替部13は、耐タンパ部10をスタンプモードに移行させ、耐タンパ部10はタイムスタンプの発行を開始する。
【0073】
本実施の形態では、内部クロック17の監査の後、前回証明書18の確認を行ったが、前回証明書18の確認は必ずしも行わなくてよい。
また、前回証明書18の代わりに、前回証明書18に含まれていた基準時刻を記憶しておきこれを今回受信した時刻証明書3の基準時刻と比較するように更正することもできる。
【0074】
ここで、図11のフローチャートを用いて監査方法の変形例を説明する。
この例では、耐タンパ部10は、内部クロック17を第2精度で監査した後、第2精度での監査に成功した場合に第1精度で監査する。
ただし、第1精度は第2精度よりも精度が高くなっており、例えば、第2精度は分単位、第1精度は秒単位とすることができる。
このように低い精度から高い精度にかけて段階的に監査する方法は、例えば、タイムスタンプサーバ4を工場出荷後に初めて監査する場合や、高い精度で監査を行う場合などに有効である。
【0075】
まず、監査モードになると、耐タンパ部10は、前回に第1精度での監査を行ったか確認する(ステップ150)。
前回に第1精度での監査を行っていない場合(ステップ150;N)、耐タンパ部10は、第2精度で監査を実行する(ステップ155)。
これは、耐タンパ部10が、デジタル放送局2から時刻証明書3を取得し、これを用いて、内部クロック17が第2精度で一致するか確認することにより行う。
より詳細には、耐タンパ部10は、内部クロック17の時刻が時刻証明書3に記載されている時刻から所定時間以内(例えば、±(第2精度で計測できる最小時間の半分)以内)であることを確認する。
【0076】
内部クロック17が第2精度で一致しなかった場合、監査に成功しなかったため(ステップ160;N)、耐タンパ部10はステップ155に戻り、デジタル放送局2から時刻証明書3を取得して第2精度の監査を行う。
このようにして、偶発的なエラーなどにより監査が不成功となった場合、耐タンパ部10は、再度監査を試みることができる。
【0077】
一方、前回の監査で第1精度で監査を行っている場合(ステップ150;Y)、又は内部クロック17の時刻が時刻証明書3の時刻と第2精度で一致して監査が成功した場合(ステップ160;Y)、耐タンパ部10は、第1精度での監査を実行する(ステップ165)。これは、耐タンパ部10が、デジタル放送局2から時刻証明書3を取得し、これを用いて、内部クロック17が第1精度で一致するか確認することにより行う。
より詳細には、耐タンパ部10は、内部クロック17の時刻が時刻証明書3に記載されている時刻から所定時間内(例えば、±(第1精度で計測できる最小時間の半分)以内)であることを確認する。
【0078】
内部クロック17が第1精度で一致しなかった場合、監査に成功しなかったため(ステップ170;N)、耐タンパ部10はステップ155に戻り、デジタル放送局2から時刻証明書3を取得して第2精度の監査を行う。
このようにして、偶発的なエラーなどにより第1精度での監査が不成功となった場合、耐タンパ部10は、第2精度での監査を再度試みることができる。
一方、内部クロック17の時刻が時刻証明書3の時刻と第1精度で一致して監査が成功した場合(ステップ170;Y)、耐タンパ部10は、監査モードを終了する。
【0079】
このように、耐タンパ部10は、時刻ラベルを規定する所定の精度を、第1の精度と、前記第1精度よりも精度が低い第2精度に変更する精度変更手段を備えている。
そして、精度変更手段は、第2の精度で内部クロック17の監査が成功した場合に所定の精度を第1の精度に設定する。
【0080】
図12は、タイムスタンプサーバ4がクライアント端末5に対してタイムスタンプを発行する手順を説明するためのフローチャートである。
まず、クライアント端末5では、タイムスタンプ発行対象となる電子文書のハッシュ値を生成し、これをタイムスタンプサーバ4に送信する(ステップ200)。
タイムスタンプサーバ4は、クライアント端末5からハッシュ値を受信し、これを耐タンパ部10に出力する(ステップ210)。
このように、タイムスタンプサーバ4は、時刻証明対象となる証明対象情報(ハッシュ値)を取得する証明対象情報取得手段を備えている。
【0081】
耐タンパ部10は、ハッシュ値を取得すると、内部クロック17から時刻ラベルと精度部分を含む現在時刻を取得する(ステップ215)。
次に、耐タンパ部10は、ハッシュ値、現在時刻、及びその他の情報(例えば、タイムスタンプサーバ4の識別情報、タイムスタンプ発行日時など)を含むデータを生成し、これのハッシュ値を計算する。
そして、耐タンパ部10は、算出したハッシュ値をタイムスタンプ用電子署名鍵16で暗号化することにより電子署名する(ステップ220)。
【0082】
このようにしてクライアント端末5が送信したハッシュ値と内部クロック17の現在時刻がタイムスタンプ用電子署名鍵16によって電子署名されたタイムスタンプが生成される。
この電子署名は、内部クロック17の監査成功後に行われるため、耐タンパ部10は、時刻証明書3の前記電子署名が確認され、内部クロック17が所定の精度で動作していることが検証された場合に、内部クロック17が出力する時刻と、ハッシュ値と、を電子署名することによりタイムスタンプを生成するタイムスタンプ生成手段を備えている。
【0083】
また、時刻証明書3の基準時刻が前回証明書18の基準時刻よりも後であることが確認できているため、耐タンパ部10は、検証に用いる基準時刻が、前回の検証で用いた基準時刻よりも後の時刻であることが確認できた場合に、タイムスタンプを生成している。
更に、課金を行う場合は課金が確認できた後にスタンプモードとなるため、耐タンパ部10は、課金が確認された場合にタイムスタンプを生成している。
【0084】
耐タンパ部10は、タイムスタンプを生成するとCPU29に出力し、タイムスタンプサーバ4はこれをクライアント端末5に送信する(ステップ230)。
このように、耐タンパ部10は、前記生成したタイムスタンプを出力するタイムスタンプ出力手段を備えている。
クライアント端末5は、タイムスタンプサーバ4からタイムスタンプを受信する(ステップ235)。
【0085】
タイムスタンプ利用者は、電子文書にこのタイムスタンプを付することにより、電子文書の非改竄性を第三者に保証することができる。
そして、第三者は、次のようにしてタイムスタンプ利用者から取得した電子文書の非改竄性を確認することができる。
第三者は、タイムスタンプ用電子署名鍵16に対応するタイムスタンプ用公開鍵を用意しておき、電子文書に付与されているタイムスタンプの電子署名を確認することによりタイムスタンプの正統性を確認する。
即ち、第三者は、電子文書のハッシュ値を生成し、これをタイムスタンプに含まれているハッシュ値と比較する。
両者が一致した場合、電子文書の非改竄と、タイムスタンプサーバ4が付与した時刻情報を確認することができる。
【0086】
以上に説明した実施の形態により次のような効果を得ることができる。
(1)数ミリ秒以上の高精度な時刻同期精度を確保した時刻配信が可能となる。
(2)シンプルなアルゴリズムの実装による耐タンパ部10のICチップ化が容易なことから低コスト化が実現可能となる。
(3)時刻証明と時刻同期を分離した通信プロトコルにより、高精度な時刻配信とデジタル放送を活用したサービスの実現が可能となる。
(4)デジタル放送を活用することで、大規模な時刻同期システムの構築が可能となる。
【0087】
次に、本実施の形態の変形例について説明する。
本変形例は、計測装置にタイムスタンプサーバ4と同様のタイムスタンプ機能を備えておき、計測値が計測された際にその場で計測データにタイムスタンプを発行するものである。
図13は、変形例に係るタイムスタンプシステム1aのネットワーク構成を説明するためのブロック図である。
タイムスタンプシステム1aは、デジタル放送局2、計測装置4a、及びデータ収集サーバ8を備えている。
デジタル放送局2の構成は先に説明した実施の形態と同様である。
【0088】
計測装置4aは、タイムスタンプサーバ4と同様に外部クロック12と耐タンパ部10を備えており、デジタル放送局2から送信された時刻証明書3によって同期と監査を行うことができるほか、物理量の計測を行う計測部14を備えている。
計測部14は、例えば、所定時間ごとに物理量を計測しており、計測を行うと計測データを耐タンパ部10に出力する。
【0089】
耐タンパ部10は、この計測データに内部クロック17の現在時刻などを付与し、タイムスタンプ用電子署名鍵16でこれを電子署名する。これによって計測データにタイムスタンプが発行される。
計測装置4aは、耐タンパ部10からタイムスタンプが付与された計測データを取得し、これをネットワーク6を介してデータ収集サーバ8に送信する。
データ収集サーバ8は、計測装置4aからタイムスタンプ付き計測データを収集してこれを蓄積する。
【0090】
このように、本変形例では、計測装置4a内にタイムスタンプ発行機能を備え、これによって計測データの取得したその場で即座にタイムスタンプを発行するため、計測データの非改竄性や時刻証明を確実に行うことができる。
具体的な計測装置4aの使用形態としては、例えば、電気メータ、水道メータ、ガスメータなどの商用の計測装置に用いることができるほか、気象観測装置、地震計、大気汚染計測装置、ビニールハウス内の温度計、原子力発電所の放射線計測計など、各種の特殊計測装置に用いることができる。
【0091】
更に、計測装置4aにGPS(Global Positioning Systems)装置を備えておき、計測データとGPSによる現在位置にタイムスタンプを発行するように構成すると、計測データの計測時刻、計測場所が改竄不能に記録できる。
【0092】
本変形例により次のような効果を得ることができる。
(1)計測値が計測されたその場で計測データにタイムスタンプを発行することができる。このため、計測データの改竄を防止することができる。
(2)デジタル放送される時刻証明書3を受信して内部クロック17の同期・監査を行うため、監査サーバなど、高価な設備を用いずに高精度なタイムスタンプを発行することができる。
(3)水道メータなどの検針作業を自動化することができる。
【0093】
次に、本実施の形態の第2の変形例について説明する。
本変形例は、計測装置に親子関係を設定し、子機で計測した計測データに対して親機がタイムスタンプを発行するものである。
図14は、第2の変形例に係るタイムスタンプシステム1bのネットワーク構成を説明するためのブロック図である。
タイムスタンプシステム1bは、計測装置4bと、ネットワーク6を介して計測装置4bと接続可能に配設されたデータ収集サーバ8、及び計測装置4bと無線通信可能な子機50、50、・・・を備えている。
【0094】
計測装置4bは、計測装置4aと同様に外部クロック12や耐タンパ部10を備えるほか、子機50との通信機能(無線・有線何れでもよい)と、子機50の子機秘密鍵に対応する子機公開鍵を記憶した子機公開鍵データベース19を備えている。
各子機50は、それぞれ子機IDを有しており、計測装置4bは、子機IDによって子機50を識別すると共に、当該子機50の子機公開鍵を子機公開鍵データベース19から取得することができる。
【0095】
子機50は、物理量を計測する計測部と秘密鍵である子機秘密鍵を記憶しており、計測部で計測した計測データを子機秘密鍵で電子署名して計測装置4bに送信する。
計測装置4bは、子機50から計測データを受信すると、当該子機50の子機公開鍵を子機公開鍵データベース19から取得し、これを用いて計測データの正統性を確認する。
そして、計測装置4bは、計測データに図示しない内部クロック17の現在時刻などを付与して、これをタイムスタンプ用電子署名鍵16で電子署名し、タイムスタンプを発行する。
計測装置4bは、電子署名を付与した計測データをデータ収集サーバ8に送信し、データ収集サーバ8は、これを受信して蓄積する。
【0096】
本変形例により次のような効果を得ることができる。
(1)子機50は、タイムスタンプ発行機能を必要としないので、安価に多数の計測器を配置することができる。
例えば、ビニールハウス内の各場所の温度をモニターするような場合、計測装置4bを1台設置し、その他の場所に子機50を設置することにより、ビニールハウス内の各場所の温度データにタイムスタンプを発行することができる。
(2)例えば、デジタル放送の受信が困難な場所で計測データを収集する場合、デジタル放送が受信可能な場所に計測装置4bを設置し、デジタル放送の受信が困難な場所に子機50を設置することにより、計測データにタイムスタンプを発行することができる。
このような場合としては、例えば、トンネル外に計測装置4bを設置し、トンネル内に子機50を設置する場合がある。
【図面の簡単な説明】
【0097】
【図1】タイムスタンプシステムのシステム構成を示した図である。
【図2】タイムスタンプサーバのハードウェア的な構成を示した図である。
【図3】内部クロックが計測する時刻の一例を示した図である。
【図4】動作モードの切り替えを説明するための図である。
【図5】基準時刻の補正を行うプロトコルを説明するための図である。
【図6】モード切り替えを説明するためのフローチャートである。
【図7】時刻証明書を送信する手順を説明するためのフローチャートである。
【図8】外部クロックを更正する手順を説明するためのフローチャートである。
【図9】内部クロック17を更正する手順を説明するためのフローチャートである。
【図10】監査手順を説明するためのフローチャートである。
【図11】監査方法の変形例を説明するためのフローチャートである。
【図12】タイムスタンプを発行する手順を説明するためのフローチャートである。
【図13】変形例を説明するための図である。
【図14】第2の変形例を説明するための図である。
【図15】従来のタイムスタンプシステムのシステムを説明するための図である。
【符号の説明】
【0098】
1 タイムスタンプシステム
2 デジタル放送局
3 時刻証明書
4 タイムスタンプサーバ
5 クライアント端末
6 ネットワーク
7 時報装置
8 データ収集サーバ
10 耐タンパ部
12 外部クロック
13 モード切替部
15 配信用公開鍵
16 タイムスタンプ用電子署名鍵
17 内部クロック
18 前回証明書
22 原子時計
23 配信用電子署名鍵
【技術分野】
【0001】
本発明は、基準時刻提供装置、タイムスタンプ発行装置、基準時刻提供方法、タイムスタンプ発行方法、基準時刻提供プログラム、及びタイムスタンプ発行プログラムに関し、例えば、電子文書に対してタイムスタンプを発行するものに関する。
【背景技術】
【0002】
近年の情報技術の急激な進歩に伴って、公文書や私文書をデジタル情報化した電子文書にて調製する所謂ペーパレス化が推進されている。
また、このようにして作成された電子文書に付与される法的な地位を整備するため電子文書法が施行されている。
このようにして作成され保存される電子文書では発行日などの時刻証明(日付証明)が重要であり、時刻証明を行うタイムスタンプシステムが利用されている。
【0003】
図15は、従来のタイムスタンプシステムのシステム構成を説明するためのブロック図である。
タイムスタンプシステム100は、時刻配信局に設置された時刻配信サーバ101、時刻認証局に設置されたタイムスタンプサーバ102、及びクライアント端末103、103、・・・などから構成されている。
タイムスタンプサーバ102はタイムスタンプを発行するサーバであり、クライアント端末103は、タイムスタンプの発行を受ける端末装置である。タイムスタンプ発行の手順は次の通りである。
【0004】
まず、クライアント端末103は、時刻証明対象である電子文書のハッシュ値をタイムスタンプサーバ102に送信する。
次に、タイムスタンプサーバ102は、クライアント端末103からハッシュ値を受信し、内蔵する内部クロックが出力する時刻と受信したハッシュ値に対して電子署名を生成する。そして、タイムスタンプサーバ102は、これをタイムスタンプとしてクライアント端末103に送信する。
タイムスタンプの利用者は、電子文書にこのタイムスタンプを付与して第三者に提供することにより、電子文書の非改竄性の証明と時刻証明を行うことができる。
【0005】
時刻配信サーバ101は、タイムスタンプシステム100で使用する時刻の基準となる時刻を管理及び配信するサーバである。
時刻配信サーバ101は、例えば、基準時刻を計測するための原子時計を備えており、この原子時計が出力する基準時刻をタイムスタンプサーバ102に配信する。
タイムスタンプサーバ102は、時刻配信サーバ101から基準時刻を受信し、これを用いて内部クロックを更正する。
【0006】
基準時刻の改竄と通信経路の遅延を防ぐために、タイムスタンプサーバ102と時刻配信サーバ101の通信経路は、例えば、SSL(Secure Sockets Layer)などの技術を用いて暗号化され、通信プロトコルとしてNTP(Network Time Protocol)を用いている。なお、NTPは時刻の配信用に標準化されたプロトコルであり、通信経路による遅延を補正することができる。
【0007】
なお、図15では、タイムスタンプサーバ102が1台だけ記されているが、複数のタイムスタンプサーバ102が時刻配信サーバ101に接続されるように構成することができる。
【0008】
このようなタイムスタンプシステムを構成する技術として、次の信頼されるサードパーティクロックおよび信頼されるローカルクロックを提供するためのシステムおよび方法がある。
【0009】
【特許文献1】特表2003−519417公報
【0010】
この技術は、時刻配信サーバ101としてマスタクロックシステムを配置し、タイムスタンプサーバ102としてローカルクロックシステムを配置したものであり、マスタクロックシステムがローカルクロックシステムを検査などするものである。
この構成により、マスタクロックシステム(時刻配信サーバ101)は、ローカルクロックシステム(タイムスタンプサーバ102)に基準時刻を配信し、更に、ローカルクロックシステムで時刻が改竄されないか監査を行う。
【発明の開示】
【発明が解決しようとする課題】
【0011】
従来のタイムスタンプシステム100では、時刻配信サーバ101とタイムスタンプサーバ102の間の通信に、例えばNTPやPKI(Public Key Infrastructure)を用い、高精度かつ高信頼性を確保していたため、コストが高くなっていた。
また、システムの安全性を確保するために、タイムスタンプサーバ102に耐タンパチップ(安全性が確保されたICチップ)を実装していたが、耐タンパチップに、例えば、高い時刻精度を維持するなどの高度な機能を実装することは困難であり、コストが高くなっていた。
【0012】
そこで、本発明の目的は、高精度・高信頼を確保しつつ、低コストでタイムスタンプを発行することである。
【課題を解決するための手段】
【0013】
本発明は、前記目的を達成するために、基準時刻を計測するための基準時計装置と、前記計測された基準時刻を電子署名する署名手段と、前記基準時刻と前記電子署名を含む時刻証明書を生成する時刻証明書生成手段と、デジタル放送によって送信するために、前記生成した時刻証明書をデジタル放送システムに提供する時刻証明書提供手段と、を具備したことを特徴とする基準時刻提供装置を提供する(第1の構成)。
また、本発明は、時刻を計測する時計装置と、基準時刻と当該基準時刻の電子署名を含む時刻証明書を、デジタル放送を介して受信する受信手段と、前記受信した時刻証明書の電子署名を確認する署名確認手段と、前記時計装置の時刻と前記時刻証明書に含まれる基準時刻を比較することにより、前記時計装置が所定の精度で動作していることを検証する検証手段と、時刻証明対象となる証明対象情報を取得する証明対象情報取得手段と、前記署名確認手段で前記電子署名が確認され、前記検証手段で前記時計装置が所定の精度で動作していることが検証された場合に、前記時計装置が出力する時刻と、前記取得した証明対象情報と、を電子署名することによりタイムスタンプを生成するタイムスタンプ生成手段と、前記生成したタイムスタンプを出力するタイムスタンプ出力手段と、を具備したことを特徴とするタイムスタンプ発行装置を提供する(第2の構成)。
第2の構成において、前記タイムスタンプ生成手段は、検証に用いる基準時刻が、前回の検証で用いた基準時刻よりも後の時刻であることが確認できた場合に、タイムスタンプを生成するように構成することもできる(第3の構成)。
第2の構成、又は第3の構成において、前記受信した時刻証明書に含まれる基準時刻を用いて、前記時計装置が計測する前記所定の精度未満の時刻を更正する時刻更正手段を具備するように構成することもできる(第4の構成)。
第2の構成、第3の構成、又は第4の構成において、前記所定の精度を、第1の精度と、前記第1の精度よりも精度が低い第2の精度に変更する精度変更手段を具備し、前記精度変更手段は、前記所定の精度を第2の精度に設定し、前記検証手段が前記第2の精度を用いて前記時計装置の精度を検証した場合に、前記所定の精度を第1の精度に設定するように構成することもできる(第5の構成)。
第2の構成から第5の構成までのうちの何れか1の構成において、前記検証手段と前記タイムスタンプ生成手段が動作する第1の動作モードと、前記時刻更正手段が動作する第2の動作モードと、を切り替える動作モード切替手段を具備し、前記動作モード切替手段は、それぞれの動作モードにて動作が完了した後に動作モードを切り替えるように構成することもできる(第6の構成)。
第2の構成から第6の構成までのうちの何れか1の構成において、前記タイムスタンプ生成手段がタイムスタンプを生成する前に、課金が行われたか否かを確認する課金確認手段を具備し、前記タイムスタンプ生成手段は、前記課金確認手段にて課金が確認された場合にタイムスタンプを生成するように構成することもできる(第7の構成)。
また、本発明は、基準時計装置と、署名手段と、時刻証明書生成手段と、時刻証明書提供手段と、を備えた基準時刻提供装置において、前記基準時計装置で、基準時刻を計測する計測ステップと、前記署名手段で、前記計測された基準時刻を電子署名する署名ステップと、前記時刻証明書生成手段で、前記基準時刻と前記電子署名を含む時刻証明書を生成する時刻証明書生成ステップと、前記時刻証明書提供手段で、デジタル放送によって送信するために、前記生成した時刻証明書をデジタル放送システムに提供する時刻証明書提供ステップと、から構成されたことを特徴とする基準時刻提供方法を提供する(第8の構成)。
また、本発明は、時計装置と、受信手段と、署名確認手段と、検証手段と、証明対象情報取得手段と、タイムスタンプ生成手段と、タイムスタンプ出力手段と、を備えたタイムスタンプ発行装置において、前記時計装置で、時刻を計測する計測ステップと、前記受信手段で、基準時刻と当該基準時刻の電子署名を含む時刻証明書を、デジタル放送を介して受信する受信ステップと、前記署名確認手段で、前記受信した時刻証明書の電子署名を確認する署名確認ステップと、前記時計装置の時刻と前記時刻証明書に含まれる基準時刻を比較することにより、前記検証手段で、前記時計装置が所定の精度で動作していることを検証する検証ステップと、前記証明対象情報取得手段で、時刻証明対象となる証明対象情報を取得する証明対象情報取得ステップと、前記署名確認手段で前記電子署名が確認され、前記検証手段で前記時計装置が所定の精度で動作していることが検証された場合に、前記タイムスタンプ生成手段で、前記時計装置が出力する時刻と、前記取得した証明対象情報と、を電子署名することによりタイムスタンプを生成するタイムスタンプ生成ステップと、前記タイムスタンプ出力手段で、前記生成したタイムスタンプを出力するタイムスタンプ出力ステップと、から構成されたことを特徴とするタイムスタンプ発行方法を提供する(第9の構成)。
また、本発明は、基準時計装置で基準時刻を計測する計測機能と、前記計測された基準時刻を電子署名する署名機能と、前記基準時刻と前記電子署名を含む時刻証明書を生成する時刻証明書生成機能と、デジタル放送によって送信するために、前記生成した時刻証明書をデジタル放送システムに提供する時刻証明書提供機能と、をコンピュータで実現するための基準時刻提供プログラムを提供する(第10の構成)。
また、本発明は、時計装置で時刻を計測する計測機能と、基準時刻と当該基準時刻の電子署名を含む時刻証明書を、デジタル放送を介して受信する受信機能と、前記受信した時刻証明書の電子署名を確認する署名確認機能と、前記時計装置の時刻と前記時刻証明書に含まれる基準時刻を比較することにより、前記時計装置が所定の精度で動作していることを検証する検証機能と、時刻証明対象となる証明対象情報を取得する証明対象情報取得機能と、前記署名確認機能により前記電子署名が確認され、前記検証機能により前記時計装置が所定の精度で動作していることが検証された場合に、前記時計装置が出力する時刻と、前記取得した証明対象情報と、を電子署名することによりタイムスタンプを生成するタイムスタンプ生成機能と、前記生成したタイムスタンプを出力するタイムスタンプ出力機能と、をコンピュータで実現するためのタイムスタンプ発行プログラムを提供する(第11の構成)。
【発明の効果】
【0014】
本発明によれば、デジタル放送で電子署名付きの基準時刻を配信し、これを用いて時刻配信を行うことにより、高精度・高信頼を確保しつつ、低コストでタイムスタンプを発行することができる。
【発明を実施するための最良の形態】
【0015】
(1)実施の形態の概要
デジタル放送によって時刻証明書を定期的に配信する。受信機は高度なセキュリティを有する耐タンパモジュールを有し、これにより、秘密鍵管理、時刻計測が行われる。この耐タンパモジュールは3つの動作モードの切替が可能で、バックデイトを許さない構造をとる。本実施の形態では、時刻配信をデジタル放送により行うため、高精度な時刻配信を低コストで行うことができる。
【0016】
タイムスタンプシステム1(図1)において、デジタル放送局2は、基準時刻を電子署名した時刻証明書3を時報コンテンツとして放送する。タイムスタンプサーバ4は、時刻証明書3を受信して基準時刻を取得し、これを用いて内部クロック17の更正と監査を行う。基準時刻は電子署名されているため、タイムスタンプサーバ4は、これによって基準時刻の正統性を確認することができる。
【0017】
内部クロック17は、時刻ラベル(例えば分以上の部分)と時刻ラベルよりも小さい単位である精度部分(例えば秒以下の部分)に分割して管理されており、タイムスタンプサーバ4は、時刻ラベルに対して監査を行い、精度部分に対して更正を行う。
また、監査の際に新しく受信した時刻証明書3の時刻が前回に受信した時刻証明書3よりも進んでいることを確認する
【0018】
このようにタイムスタンプサーバ4は、内部クロック17を操作できる範囲を精度部分に限定し、更に、新旧の時刻証明書3を比較することにより、内部クロック17のバックデイトを防止することができる。
そして、タイムスタンプサーバ4は、更正・監査された内部クロック17の時刻により、クライアント端末5から送信されてきた情報(ハッシュ値など)に対してタイムスタンプを発行する。
【0019】
(2)実施の形態の詳細
図1は、本実施の形態に係るタイムスタンプシステム1のシステム構成の一例を示した図である。
タイムスタンプシステム1は、デジタル放送局2、タイムスタンプサーバ4、クライアント端末5、5、・・・などから構成されており、タイムスタンプサーバ4とクライアント端末5、5、・・・は、インターネットなどのネットワーク6で接続可能に配設されている。
なお、以下では、クライアント端末5、5、・・・を特に区別しないため、単にクライアント端末5と記す。
【0020】
デジタル放送局2は、デジタル放送によりラジオ番組やテレビ番組などのコンテンツを提供する放送局であり、コンテンツをデジタル信号として送信用アンテナから周囲の空間に送信するデジタル放送システムを備えている。なお、デジタル放送局2は光ファイバなどの媒体を用いて有線放送を行ってもよい。
【0021】
デジタル放送局2は、時刻証明書3を生成する時報装置7を備えており、時報装置7が所定時間ごとに作成した時刻証明書3を時報コンテンツとして放送する。所定時間は、例えば、1秒間隔、1分間隔、5分間隔など、タイムスタンプシステム1の運用に適した間隔を設定することができる。
【0022】
なお、時報装置7をデジタル放送局2の外部に設置し、これをネットワークで接続するように構成することも可能である。
更に、時報装置7はデジタル放送局2が運営してもよいし、あるいは、タイムスタンプサービスの事業者が運用し、デジタル放送局2に時報コンテンツの送信を依頼する事業形態としてもよい。
【0023】
時報装置7は、原子時計22と配信用電子署名鍵23を記憶した記憶装置を備えており、これらを用いて時刻証明書3を生成してデジタル放送システムに提供する。
時刻証明書3は、テキストデータなどの簡便なデータ形式で構成することができるため、デジタル放送局2は、極めて低い負荷にて時刻証明書3を送信することができる。
【0024】
時刻証明書3には、基準時刻、制限時間、シリアル番号、固有情報、ハッシュ値、電子署名など記録されている。
基準時刻は、原子時計22が出力した現在時刻を遅延時間を考慮して補正した時刻であり、タイムスタンプサーバ4は基準時刻を現在時刻として用いることができる。
制限時間は、時刻証明書3に記録してある基準時刻の有効期限である。タイムスタンプサーバ4は、基準時刻で内部クロック17を監査した後、この有効期限内でタイムスタンプを発行することができる。このタイムスタンプを発行できる時間は活性化時間と呼ばれることもある。
【0025】
シリアル番号は、時報装置7が発行順に付与する時刻証明書3の番号である。また、セキュリティを高めるためにシリアル番号として乱数を用いることもできる。
固有情報は、例えば、タイムスタンプサーバ4の型番など、時刻証明書3の送信先に関する情報である。
図示しないが、時刻証明書3の有効期限や、時報装置7のID情報など、その他の情報を時刻証明書3に含めることができる。
【0026】
ハッシュ値は、現在時刻、制限時間、シリアル番号、固有情報など、改竄を防止する情報を、ハッシュ関数によって演算したハッシュ値である。
ハッシュ関数は一方向性関数の一種であり、ハッシュ値から元の情報の復元は著しく困難となっている。
電子署名は、ハッシュ値を配信用電子署名鍵23で暗号化したデジタル署名である。
配信用電子署名鍵23は秘密鍵であり、タイムスタンプサーバ4が記憶している配信用公開鍵15がこれに対応する公開鍵となっている。
【0027】
タイムスタンプサーバ4は、クライアント端末5からの要求に応じてタイムスタンプを発行するサーバ装置である。
ここで、タイムスタンプとは、電子文書の確定時刻を証明する情報であり、その文書がいつから存在しているのか、及びその時点から第三者のみならず作成者本人にも改竄されていないことを証明するものである。
【0028】
セキュリティを高めるため、タイムスタンプサーバ4は、タイムスタンプ発行に関わる情報処理を耐タンパ部10の内部で行う。
耐タンパ部10は、配信用公開鍵15、タイムスタンプ用電子署名鍵16、内部クロック17、前回証明書18、モード切替部13など、タイムスタンプ発行に必要な機能や情報を備えている。
耐タンパ部10は、時刻証明書3を用いて内部クロック17を監査する監査モード、外部クロック12の時刻で内部クロック17を更正する同期モード、クライアント端末5にタイムスタンプを発行するスタンプモードを備えており、モード切替部13で動作モードを切り替える。
【0029】
配信用公開鍵15は、デジタル放送局2の配信用電子署名鍵23に対応する公開鍵であって、時刻証明書3の電子署名を確認するのに用いられる。
タイムスタンプ用電子署名鍵16は、秘密鍵であって、クライアント端末5から送信されてきたハッシュ値を現在時刻と共に電子署名してタイムスタンプを発行するのに用いられる。
内部クロック17は、タイムスタンプで証明する時刻を計測するための時計装置である。
【0030】
前回証明書18は、前回の監査の際にデジタル放送局2から送られてきた時刻証明書3を記憶しておいたものであり、今回送られてきた時刻証明書3の基準時刻が前回の時刻証明書3の基準時刻よりも後であることを確認するのに用いられる。
これによって、例えば、どこかに保存しておいた時刻証明書3によって内部クロック17をバックデイトすることを防ぐことができる。
工場出荷時には、デフォルトの前回証明書18が記憶されている。
【0031】
外部クロック12は、例えば、マザーボードなどに設置された水晶発振式の時計装置であって、時刻証明書3の基準時刻によって、例えばミリ秒単位まで更正することができる。
外部クロック12の時刻は、内部クロック17を更正するのに用いられる。即ち、タイムスタンプサーバ4は、基準時刻によりまず外部クロック12を更正し、そして外部クロック12を用いて内部クロック17を構成する。
内部クロック17は、耐タンパ部10の内部に形成されるという制約があるため、高精度の時計装置で構成することが困難である。そのため、精度を保つために外部クロック12を参照して内部クロック17の精度部分を更正するように構成した。
【0032】
次に、図2を用いてタイムスタンプサーバ4のハードウェア的な構成について説明する。
タイムスタンプサーバ4は、耐タンパ部10、CPU(Central Processing Unit)29、ROM(Read Only Memory)27、RAM(Random Access Memory)30、外部クロック12、通信部26、記憶部33、放送受信部34などがバスラインによって接続して構成されており、タイムスタンプ発行装置として機能する。
【0033】
耐タンパ部10は、CPU21、内部クロック17、ROM28、RAM24、EEPROM(Electrically Erasable and Programmable ROM)25などを図示しないバスラインによって接続した耐タンパチップによって構成されており、高度なセキュリティレベルを維持している。
耐タンパチップは、内部構造の解析や不正操作が著しく困難になるように構成されたICチップであり、しかも、内部構造を解析しようとすると自動的に壊れるようになっている。
【0034】
CPU21は、EEPROM25、ROM28、RAM24などに記憶されているプログラムに従って各種の情報処理を行う中央処理装置である。
本実施の形態では、耐タンパ部10の動作モードの切り替え、時刻証明書3の正統性の確認、内部クロック17の監査、内部クロック17の更正、タイムスタンプの発行などの各種情報処理を行う。
ROM28は、読み出し専用の記憶装置(メモリ)であって、耐タンパ部10を駆動するための基本的なプログラムやパラメータなどを格納している。
RAM24は、読み書き可能な記憶装置であって、CPU21が各種の情報処理を行う際のワーキングエリアを提供する。
【0035】
EEPROM25は、読み書きが可能な不揮発性の記憶装置であり、プログラムやデータなどが記憶されている。
本実施の形態では、一例として、配信用公開鍵15、タイムスタンプ用電子署名鍵16、前回証明書18、タイムスタンププログラムなどが記憶されている。
タイムスタンププログラムは、CPU21に、耐タンパ部10の動作モードの切り替え、時刻証明書3の正統性の確認、内部クロック17の監査・更正、タイムスタンプの発行などの機能を発揮させるためのプログラムである。
【0036】
CPU29は、記憶部33、ROM27、RAM30などに記憶されているプログラムに従って各種の情報処理を行う中央処理装置である。
CPU29は、例えば、デジタル放送局2から受信した時刻証明書3を耐タンパ部10へ出力したり、クライアント端末5からハッシュ値を受信して耐タンパ部10に出力したり、耐タンパ部10から出力されたタイムスタンプをクライアント端末5に送信したりする。
【0037】
外部クロック12は、タイムスタンプサーバ4を駆動するためのクロックを発生させるほか、内部クロック17の更正に用いられる。
なお、内部クロック17の更正には、電波時計用の基準電波や、GPS衛生から送信されるGPS信号に含まれる時刻、その他の時刻源を用いることも可能である。
【0038】
ROM27は、読み出し専用の記憶装置であって、CPU29を駆動するための基本的なプログラムやパラメータなどを格納している。
RAM30は、読み書き可能な記憶装置であって、CPU29が各種の情報処理を行う際のワーキングエリアを提供する。
【0039】
記憶部33は、例えば、ハードディスク装置や半導体記憶装置などによって構成されており、各種プログラムやデータなどが記憶されている。
記憶部33に記憶してあるプログラムを実行することにより、デジタル放送局2からの時刻証明書3の受信、クライアント端末5との送受信などの機能をCPU29に発揮させることができる。
【0040】
通信部26は、タイムスタンプサーバ4をネットワーク6に接続するためのインターフェースを構成しており、CPU21やCPU29は通信部26を介してクライアント端末5と通信することができる。
放送受信部34は、デジタル放送の受信機能を有し、デジタル放送局2から送信された時刻証明書3を受信して、これをCPU29に提供する。放送受信部34は、時刻証明書3を受信する受信手段として機能している。
【0041】
時報装置7のハードウェア構成は、基本的にタイムスタンプサーバ4と同様であり、CPU、ROM、RAM、記憶装置、原子時計22、入出力インターフェースなどがバスラインで接続して構成されている。記憶装置には、配信用電子署名鍵23が記憶されている。
原子時計は、基準時刻を計測するための基準時計装置として機能している。なお、基準時刻は、原子時計の計測値を遅延時間で補正して求められる。
CPUは、記憶装置などに記憶されているプログラムを実行することにより、基準時刻を配信用電子署名鍵23で電子署名する機能(署名手段)、時刻証明書3を生成する機能(時刻証明書生成手段)、時刻証明書3を入出力インターフェースを経由してデジタル放送局2のデジタル放送システムに送信して提供する機能(時刻証明書提供手段)を発揮する。このように、時報装置7は、基準時刻提供装置としての機能を有している。
クライアント端末5の構成もタイムスタンプサーバ4や時報装置7と基本的に同様である。
【0042】
次に、図3を用いて内部クロック17の監査と更正について説明する。
図3は、内部クロック17が計測する時刻の一例を示している。この例では、内部クロック17は百ミリ秒単位で時刻を計測し、「2005年3月30日15時30分20秒2百ミリ秒」となっている。
耐タンパ部10は、内部クロック17の計測する時刻を、時刻ラベルと、時刻ラベルよりも単位が小さい精度部分の2つの部分に区分して管理している。
【0043】
タイムスタンプは、例えば、日まで証明できればよい場合や、時間まで証明できればよい場合になど、証明対象によって必要とされる時刻精度が異なる。
そこで、耐タンパ部10は、必要とされる時刻精度を時刻ラベルとし、それよりも小さい単位を精度部分とし、外部クロック12による更正を精度部分に対して行うことにより時刻ラベルの改竄を防止している。
このように、内部クロック17の時刻をセキュリティを提供する部分(時刻ラベル)と品質を提供する部分(精度部分)に区分することにより、セキュリティと品質の両方をユーザに提供することができる。
【0044】
図の例では、一例として、時刻ラベルは分以上の部分(「2005年3月30日15時30分」)となっており、精度部分は秒以下の部分(「20秒2百ミリ秒」)となっている。
この場合、耐タンパ部10は、内部クロック17の秒以下の単位を外部クロック12に同期させることにより内部クロック17を更正する。
また、時刻監査は、内部クロック17の分以上の部分を時刻証明書3の基準時刻と対比することにより行う。
なお、時刻ラベルと精度部分は隣接している必要はなく、時刻ラベルを分以上、精度部分をミリ秒以下などとすることも可能である。
【0045】
次に、図4を用いてモード切替部13が行うモードの切り替えについて説明する。
図4に示したように、モード切替部13は、耐タンパ部10の動作モードを監査モード→スタンプモード→同期モード→監査モード→・・・の順序で順次切り替える。
監査モードとスタンプモードは、時刻ラベルを扱うため、高いセキュリティを要する動作モードであり(以下、セキュリティモード)、一方、同期モードは精度部分を扱うため、高いセキュリティが必ずしも必要ない動作モード(以下、一般モード)である。
【0046】
モード切替部13は、現在動作中の動作モードが完了してから耐タンパ部10の動作モードを次の動作モードを切り替える。
そのため、スタンプモードで動作するためには、監査モードと同期モードが完了していることが必要となり、耐タンパ部10は、監査、同期された時刻にてタイムスタンプを発行することができる。
【0047】
このように、耐タンパ部10は、セキュリティモードと一般モードを切り替えて動作することにより、高いセキュリティの必要な処理と高いセキュリティの必要のない処理を同時に行うことを防止している。
しかも、各動作モードは独立したモジュールによって動作するため、耐タンパ部10は、セキュリティモードでの処理と一般モードでの処理が耐タンパ部10内で干渉することを防ぐことができ、クラッキングなどの不正アクセスに対して高い耐性を備えている。
【0048】
なお、耐タンパ部10では、セキュリティモードを監査モードとスタンプモードに区分して切り替えているが、これらは何れもセキュリティモードなので、同じモードにて監査とスタンプの発行を行うように構成してもよい。
【0049】
このように、耐タンパ部10は、検証手段(監査を行う)と時刻証明情報生成手段(タイムスタンプを発行する)が動作する第1の動作モードと、前記時刻更正手段(秒単位の同期をとる)が動作する第2の動作モード(同期モード)と、を切り替える動作モード切替手段(モード切替部13)を具備し、前記動作モード切替手段は、それぞれの動作モードにて動作が完了した後に動作モードを切り替える。
【0050】
なお、本実施の形態では、同期モード→監査モード→スタンプモード→同期モード→・・・の順序でモードの切り替えを行ったが、モード切り替えの順序はこれに限定するものではなく、例えば、監査モード→同期モード→スタンプモード→監査モード・・・など、他の順序で動作モードを切り替えてもよい。
ただし、前者(同期モード→監査モード→スタンプモード→同期モード→・・・)の方が、監査後にタイムスタンプの発行を行うため、タイムスタンプサーバ4の信頼性は高まる。
【0051】
タイムスタンプサーバ4(好ましくは耐タンパ部10内部)に課金が行われたか否かを確認する課金モジュール(課金確認手段)を設けるとタイムスタンプサーバ4に対して課金を行うことができる。
この場合、モード切替部13は、監査モードからスタンプモードに動作モードを切り替える前に課金モジュールによって課金がなされたか否かを確認し、課金が確認できた場合に動作モードを監査モードからスタンプモードに切り替え、課金が確認できなかった場合は、動作モードを監査モードから同期モードに切り替える。
【0052】
このようにモード切替部13を構成することにより、耐タンパ部10は、課金が行われた場合にタイムスタンプを発行することができ、課金が行われない場合は、監査モードと同期モードを繰り返し、課金が確認できるまで待機することができる。
なお、課金の方法、及び確認方法は、公知のシステムや方法を用いて構成することができる。
【0053】
図5は、時報装置7が遅延時間による基準時刻の補正を行うプロトコルを説明するための概念図である。
時報装置7が時刻証明書3を出力してからタイムスタンプサーバ4がこれを受信するまでには、様々な原因(例えば、時刻証明書3を作成するのに要する時間や回路による遅延など)により遅延時間Δtが生じる。
時報装置7とタイムスタンプサーバ4を有線で接続した場合は、ネットワークの状況やタイムスタンプサーバ4の接続環境などによりΔtが変化する場合があるが、タイムスタンプシステム1では、無線によって時刻証明書3を放送するため、何れのタイムスタンプサーバ4においてもΔtはほぼ一定値となる。
【0054】
そこで、時報装置7は、予め計測したΔtを記憶しておき、時刻証明書3に記載する基準時刻をΔtだけ進んだ値に設定する。即ち、原子時計22の出力値をTAとしてT=TA+Δtを基準時刻とする。
これによって、タイムスタンプサーバ4は、受信した時刻証明書3に記載されている基準時刻を現在時刻として扱うことができる。
なお、本実施の形態では、時報装置7で遅延の補正を行うように構成したが、これに限定せず、タイムスタンプサーバ4の側で遅延の補正を行うように構成することもできる。
この場合、時刻証明書3の基準時刻は、遅延時間を含んだ時刻となっており、タイムスタンプサーバ4は、基準時刻をΔtだけ進めた時刻を現在時刻とする。
【0055】
図6は、モード切替部13による耐タンパ部10のモード切り替えを説明するためのフローチャートである。
まず、モード切替部13は、耐タンパ部10を同期モードにて動作させる(ステップ5)。
耐タンパ部10が同期モードにて内部クロック17の更正を終えると、モード切替部13は、耐タンパ部10を監査モードで動作させる(ステップ10)。
【0056】
耐タンパ部10が監査モードにて監査を終えると、モード切替部13は、課金モジュールにて課金が行われたか否かを確認し、課金が行われていない場合は(ステップ15;N)、動作モードを同期モードに切り替える。
課金が完了している場合(ステップ15;Y)、モード切替部13は、動作モードをスタンプモードに切り替える(ステップ20)。
なお、課金を行わない場合は、ステップ15を省略する。
【0057】
モード切替部13は、スタンプモードを開始してから活性化時間が経過すると、強制終了を行うか否かを判断し、強制終了を行わない場合は(ステップ25;N)、動作モードを同期モードに切り替え、強制終了を行う場合は(ステップ25;Y)、耐タンパ部10の動作を停止させる。
強制終了を行うか否かの判断は、例えば、ステップ5〜ステップ20のループを予め設定された所定回数繰り返した場合や、外部から強制終了の指示があった場合など、各種設定することができる。
【0058】
図7は、デジタル放送局2が時刻証明書3を送信する手順を説明するためのフローチャートである。
なお、以下のステップ30〜ステップ40は時報装置7が行い、ステップ45はデジタル放送局2のデジタル放送システムが行うものである。
まず、時報装置7は、原子時計22で現在時刻を計測する(ステップ30)。
次に、時報装置7は、ステップ30で計測した現在時刻を遅延時間Δtだけ進めた時刻を計算し、これを基準時刻として電子署名前の時刻証明書3(基準時刻、制限時間、シリアル番号、固有情報などを含む)を生成する(ステップ35)。
【0059】
次に、時報装置7は、署名前の時刻証明書3のハッシュ値を計算し、計算されたハッシュ値を配信用電子署名鍵23で暗号化する。
そして、時報装置7は、署名前の時刻証明書3にハッシュ値と、電子署名(ハッシュ値を配信用電子署名鍵23で暗号化した情報)を付与することにより時刻証明書3に電子署名する(ステップ40)。
【0060】
時報装置7は、時刻証明書3を生成するとこれをデジタル放送局2のデジタル放送システムに出力する。
デジタル放送局2のデジタル放送システムは、時刻証明書3を時報コンテンツとしてタイムスタンプサーバ4に送信する(ステップ45)。
【0061】
図8は、タイムスタンプサーバ4が外部クロック12を更正する手順を説明するためのフローチャートである。
なお、耐タンパ部10は、タイムスタンプサーバ4に含まれるが、情報処理が耐タンパ部10で行われるか否かを明確にするため、図8では、耐タンパ部10を独立した動作主体として示している。
このため、フローチャート中「耐タンパ部」が行う情報処理はCPU21が行い、「タイムスタンプサーバ」が行う情報処理はCPU29が行うものである。以下のフローチャートでも同様である。
【0062】
まず、デジタル放送局2がデジタル放送により、時刻証明書3を不特定のタイムスタンプサーバ4に送信する(ステップ50)。
タイムスタンプサーバ4は、デジタル放送局2から時刻証明書3を受信し、これを例えばRAM30(図2)に記憶する(ステップ55)。
次に、タイムスタンプサーバ4は、時刻証明書3から基本時刻を読み取り、この基本時刻と同期するように外部クロック12を更正する(ステップ60)。
【0063】
外部クロック12の時刻は、タイムスタンプの発行においてセキュリティに関わる部分には用いられないので、タイムスタンプサーバ4は、時刻証明書3の電子署名の確認は行わずに、時刻証明書3に含まれる基準時刻を用いる。
なお、これは一例であって、タイムスタンプサーバ4が電子署名の確認を行うように構成することも可能である。
また、内部クロック17は、外部クロック12の精度部分しか参照しないため、外部クロック12の更正も精度部分だけ行ってもよい。
【0064】
図9は、耐タンパ部10が内部クロック17を更正する手順を説明するためのフローチャートである。以下の情報処理は、耐タンパ部10が同期モードの間に行われるものである。
まず、耐タンパ部10は、タイムスタンプサーバ4に対して現在時刻を要求する(ステップ70)。
【0065】
タイムスタンプサーバ4は、外部クロック12が計測している時刻のうち、精度部分に該当する部分を耐タンパ部10に出力する(ステップ75)。
なお、外部クロック12が計測する時刻を耐タンパ部10に出力し、耐タンパ部10が精度部分に該当する部分を抽出するように構成してもよい。
耐タンパ部10は、タイムスタンプサーバ4から現在時刻を取得し、これを用いて内部クロック17が計測している時刻のうちの精度部分を更正する(ステップ80)。
【0066】
このように、耐タンパ部10は、時刻証明書3に含まれる基準時刻を外部クロック12を介して取得し、内部クロック17の計測する所定の精度未満の単位の時刻(即ち、精度部分)を更正する時刻更正手段を備えている。
なお、時刻証明書3を耐タンパ部10の内部に取り込んで時刻証明書3の基準時刻で内部クロック17を直接更正するように構成することも可能である。
【0067】
図10は、耐タンパ部10が内部クロック17を監査する手順を説明するためのフローチャートである。以下の情報処理は、耐タンパ部10が監査モードの間に行われるものである。
まず、耐タンパ部10は、タイムスタンプサーバ4に時刻証明書3を要求する(ステップ100)。
タイムスタンプサーバ4は、耐タンパ部10から時刻証明書3の要求を受けると、デジタル放送局2から時刻証明書3が送信されてくるまで待機する。
【0068】
デジタル放送局2が時刻証明書3を送信すると(ステップ105)、タイムスタンプサーバ4は、これを受信して耐タンパ部10に出力する(ステップ110)。
耐タンパ部10は、時刻証明書3を取得すると、時刻証明書3に記載されている基準時刻のうちのラベル部分に該当する部分の時刻を、内部クロック17が計測している時刻のラベル部分と比較する(ステップ115)。
このように耐タンパ部10は、内部クロック17の時刻と時刻証明書3に含まれる基準時刻を比較することにより、内部クロック17が所定の精度(時刻ラベル)で動作していることを検証する検証手段を備えている。
【0069】
両者の時刻が一致しない場合は(ステップ120;N)、モード切替部13が耐タンパ部10の動作モードを同期モードに移行させる(ステップ150)。
両者の時刻が一致する場合(ステップ120;Y)、耐タンパ部10は、時刻証明書3の電子署名を確認する(ステップ125)。
【0070】
この電子署名の確認は、次のようにして行われる。
まず、耐タンパ部10は、時刻証明書3の電子署名を配信用公開鍵15で復号化してハッシュ値を復元する。
そして、時刻証明書3に記載されている情報(現在時刻、制限時間など)からハッシュ値を生成する。両者が一致することにより耐タンパ部10は時刻証明書3が時報装置7によって作成された正統な情報であると確認する。
このように、耐タンパ部10は、時刻証明書3の電子署名を確認する署名確認手段を備えている。
【0071】
電子署名の確認により、時刻証明書3が有効であると確認できなかった場合(ステップ130;N)、耐タンパ部10はステップ100に戻り、再度タイムスタンプサーバ4に対して時刻証明書3を要求する。
時刻証明書3の有効性が確認できた場合(ステップ130;Y)、耐タンパ部10は、前回証明書18に記載されている基準時刻と、時刻証明書3に記載されている基準時刻の前後関係を比較する(ステップ135)。
【0072】
今回受信した時刻証明書3の基準時刻が前回証明書18の基準時刻よりも前である場合(ステップ140;N)、耐タンパ部10は、ステップ100に戻る。
今回受信した時刻証明書3の基準時刻が前回証明書18の基準時刻よりも後である場合(ステップ140;Y)、耐タンパ部10は、前回証明書18を今回受信した時刻証明書3で置き換える(ステップ145)。
前回証明書18を今回受信した時刻証明書3で置き換えた後、モード切替部13は、耐タンパ部10をスタンプモードに移行させ、耐タンパ部10はタイムスタンプの発行を開始する。
【0073】
本実施の形態では、内部クロック17の監査の後、前回証明書18の確認を行ったが、前回証明書18の確認は必ずしも行わなくてよい。
また、前回証明書18の代わりに、前回証明書18に含まれていた基準時刻を記憶しておきこれを今回受信した時刻証明書3の基準時刻と比較するように更正することもできる。
【0074】
ここで、図11のフローチャートを用いて監査方法の変形例を説明する。
この例では、耐タンパ部10は、内部クロック17を第2精度で監査した後、第2精度での監査に成功した場合に第1精度で監査する。
ただし、第1精度は第2精度よりも精度が高くなっており、例えば、第2精度は分単位、第1精度は秒単位とすることができる。
このように低い精度から高い精度にかけて段階的に監査する方法は、例えば、タイムスタンプサーバ4を工場出荷後に初めて監査する場合や、高い精度で監査を行う場合などに有効である。
【0075】
まず、監査モードになると、耐タンパ部10は、前回に第1精度での監査を行ったか確認する(ステップ150)。
前回に第1精度での監査を行っていない場合(ステップ150;N)、耐タンパ部10は、第2精度で監査を実行する(ステップ155)。
これは、耐タンパ部10が、デジタル放送局2から時刻証明書3を取得し、これを用いて、内部クロック17が第2精度で一致するか確認することにより行う。
より詳細には、耐タンパ部10は、内部クロック17の時刻が時刻証明書3に記載されている時刻から所定時間以内(例えば、±(第2精度で計測できる最小時間の半分)以内)であることを確認する。
【0076】
内部クロック17が第2精度で一致しなかった場合、監査に成功しなかったため(ステップ160;N)、耐タンパ部10はステップ155に戻り、デジタル放送局2から時刻証明書3を取得して第2精度の監査を行う。
このようにして、偶発的なエラーなどにより監査が不成功となった場合、耐タンパ部10は、再度監査を試みることができる。
【0077】
一方、前回の監査で第1精度で監査を行っている場合(ステップ150;Y)、又は内部クロック17の時刻が時刻証明書3の時刻と第2精度で一致して監査が成功した場合(ステップ160;Y)、耐タンパ部10は、第1精度での監査を実行する(ステップ165)。これは、耐タンパ部10が、デジタル放送局2から時刻証明書3を取得し、これを用いて、内部クロック17が第1精度で一致するか確認することにより行う。
より詳細には、耐タンパ部10は、内部クロック17の時刻が時刻証明書3に記載されている時刻から所定時間内(例えば、±(第1精度で計測できる最小時間の半分)以内)であることを確認する。
【0078】
内部クロック17が第1精度で一致しなかった場合、監査に成功しなかったため(ステップ170;N)、耐タンパ部10はステップ155に戻り、デジタル放送局2から時刻証明書3を取得して第2精度の監査を行う。
このようにして、偶発的なエラーなどにより第1精度での監査が不成功となった場合、耐タンパ部10は、第2精度での監査を再度試みることができる。
一方、内部クロック17の時刻が時刻証明書3の時刻と第1精度で一致して監査が成功した場合(ステップ170;Y)、耐タンパ部10は、監査モードを終了する。
【0079】
このように、耐タンパ部10は、時刻ラベルを規定する所定の精度を、第1の精度と、前記第1精度よりも精度が低い第2精度に変更する精度変更手段を備えている。
そして、精度変更手段は、第2の精度で内部クロック17の監査が成功した場合に所定の精度を第1の精度に設定する。
【0080】
図12は、タイムスタンプサーバ4がクライアント端末5に対してタイムスタンプを発行する手順を説明するためのフローチャートである。
まず、クライアント端末5では、タイムスタンプ発行対象となる電子文書のハッシュ値を生成し、これをタイムスタンプサーバ4に送信する(ステップ200)。
タイムスタンプサーバ4は、クライアント端末5からハッシュ値を受信し、これを耐タンパ部10に出力する(ステップ210)。
このように、タイムスタンプサーバ4は、時刻証明対象となる証明対象情報(ハッシュ値)を取得する証明対象情報取得手段を備えている。
【0081】
耐タンパ部10は、ハッシュ値を取得すると、内部クロック17から時刻ラベルと精度部分を含む現在時刻を取得する(ステップ215)。
次に、耐タンパ部10は、ハッシュ値、現在時刻、及びその他の情報(例えば、タイムスタンプサーバ4の識別情報、タイムスタンプ発行日時など)を含むデータを生成し、これのハッシュ値を計算する。
そして、耐タンパ部10は、算出したハッシュ値をタイムスタンプ用電子署名鍵16で暗号化することにより電子署名する(ステップ220)。
【0082】
このようにしてクライアント端末5が送信したハッシュ値と内部クロック17の現在時刻がタイムスタンプ用電子署名鍵16によって電子署名されたタイムスタンプが生成される。
この電子署名は、内部クロック17の監査成功後に行われるため、耐タンパ部10は、時刻証明書3の前記電子署名が確認され、内部クロック17が所定の精度で動作していることが検証された場合に、内部クロック17が出力する時刻と、ハッシュ値と、を電子署名することによりタイムスタンプを生成するタイムスタンプ生成手段を備えている。
【0083】
また、時刻証明書3の基準時刻が前回証明書18の基準時刻よりも後であることが確認できているため、耐タンパ部10は、検証に用いる基準時刻が、前回の検証で用いた基準時刻よりも後の時刻であることが確認できた場合に、タイムスタンプを生成している。
更に、課金を行う場合は課金が確認できた後にスタンプモードとなるため、耐タンパ部10は、課金が確認された場合にタイムスタンプを生成している。
【0084】
耐タンパ部10は、タイムスタンプを生成するとCPU29に出力し、タイムスタンプサーバ4はこれをクライアント端末5に送信する(ステップ230)。
このように、耐タンパ部10は、前記生成したタイムスタンプを出力するタイムスタンプ出力手段を備えている。
クライアント端末5は、タイムスタンプサーバ4からタイムスタンプを受信する(ステップ235)。
【0085】
タイムスタンプ利用者は、電子文書にこのタイムスタンプを付することにより、電子文書の非改竄性を第三者に保証することができる。
そして、第三者は、次のようにしてタイムスタンプ利用者から取得した電子文書の非改竄性を確認することができる。
第三者は、タイムスタンプ用電子署名鍵16に対応するタイムスタンプ用公開鍵を用意しておき、電子文書に付与されているタイムスタンプの電子署名を確認することによりタイムスタンプの正統性を確認する。
即ち、第三者は、電子文書のハッシュ値を生成し、これをタイムスタンプに含まれているハッシュ値と比較する。
両者が一致した場合、電子文書の非改竄と、タイムスタンプサーバ4が付与した時刻情報を確認することができる。
【0086】
以上に説明した実施の形態により次のような効果を得ることができる。
(1)数ミリ秒以上の高精度な時刻同期精度を確保した時刻配信が可能となる。
(2)シンプルなアルゴリズムの実装による耐タンパ部10のICチップ化が容易なことから低コスト化が実現可能となる。
(3)時刻証明と時刻同期を分離した通信プロトコルにより、高精度な時刻配信とデジタル放送を活用したサービスの実現が可能となる。
(4)デジタル放送を活用することで、大規模な時刻同期システムの構築が可能となる。
【0087】
次に、本実施の形態の変形例について説明する。
本変形例は、計測装置にタイムスタンプサーバ4と同様のタイムスタンプ機能を備えておき、計測値が計測された際にその場で計測データにタイムスタンプを発行するものである。
図13は、変形例に係るタイムスタンプシステム1aのネットワーク構成を説明するためのブロック図である。
タイムスタンプシステム1aは、デジタル放送局2、計測装置4a、及びデータ収集サーバ8を備えている。
デジタル放送局2の構成は先に説明した実施の形態と同様である。
【0088】
計測装置4aは、タイムスタンプサーバ4と同様に外部クロック12と耐タンパ部10を備えており、デジタル放送局2から送信された時刻証明書3によって同期と監査を行うことができるほか、物理量の計測を行う計測部14を備えている。
計測部14は、例えば、所定時間ごとに物理量を計測しており、計測を行うと計測データを耐タンパ部10に出力する。
【0089】
耐タンパ部10は、この計測データに内部クロック17の現在時刻などを付与し、タイムスタンプ用電子署名鍵16でこれを電子署名する。これによって計測データにタイムスタンプが発行される。
計測装置4aは、耐タンパ部10からタイムスタンプが付与された計測データを取得し、これをネットワーク6を介してデータ収集サーバ8に送信する。
データ収集サーバ8は、計測装置4aからタイムスタンプ付き計測データを収集してこれを蓄積する。
【0090】
このように、本変形例では、計測装置4a内にタイムスタンプ発行機能を備え、これによって計測データの取得したその場で即座にタイムスタンプを発行するため、計測データの非改竄性や時刻証明を確実に行うことができる。
具体的な計測装置4aの使用形態としては、例えば、電気メータ、水道メータ、ガスメータなどの商用の計測装置に用いることができるほか、気象観測装置、地震計、大気汚染計測装置、ビニールハウス内の温度計、原子力発電所の放射線計測計など、各種の特殊計測装置に用いることができる。
【0091】
更に、計測装置4aにGPS(Global Positioning Systems)装置を備えておき、計測データとGPSによる現在位置にタイムスタンプを発行するように構成すると、計測データの計測時刻、計測場所が改竄不能に記録できる。
【0092】
本変形例により次のような効果を得ることができる。
(1)計測値が計測されたその場で計測データにタイムスタンプを発行することができる。このため、計測データの改竄を防止することができる。
(2)デジタル放送される時刻証明書3を受信して内部クロック17の同期・監査を行うため、監査サーバなど、高価な設備を用いずに高精度なタイムスタンプを発行することができる。
(3)水道メータなどの検針作業を自動化することができる。
【0093】
次に、本実施の形態の第2の変形例について説明する。
本変形例は、計測装置に親子関係を設定し、子機で計測した計測データに対して親機がタイムスタンプを発行するものである。
図14は、第2の変形例に係るタイムスタンプシステム1bのネットワーク構成を説明するためのブロック図である。
タイムスタンプシステム1bは、計測装置4bと、ネットワーク6を介して計測装置4bと接続可能に配設されたデータ収集サーバ8、及び計測装置4bと無線通信可能な子機50、50、・・・を備えている。
【0094】
計測装置4bは、計測装置4aと同様に外部クロック12や耐タンパ部10を備えるほか、子機50との通信機能(無線・有線何れでもよい)と、子機50の子機秘密鍵に対応する子機公開鍵を記憶した子機公開鍵データベース19を備えている。
各子機50は、それぞれ子機IDを有しており、計測装置4bは、子機IDによって子機50を識別すると共に、当該子機50の子機公開鍵を子機公開鍵データベース19から取得することができる。
【0095】
子機50は、物理量を計測する計測部と秘密鍵である子機秘密鍵を記憶しており、計測部で計測した計測データを子機秘密鍵で電子署名して計測装置4bに送信する。
計測装置4bは、子機50から計測データを受信すると、当該子機50の子機公開鍵を子機公開鍵データベース19から取得し、これを用いて計測データの正統性を確認する。
そして、計測装置4bは、計測データに図示しない内部クロック17の現在時刻などを付与して、これをタイムスタンプ用電子署名鍵16で電子署名し、タイムスタンプを発行する。
計測装置4bは、電子署名を付与した計測データをデータ収集サーバ8に送信し、データ収集サーバ8は、これを受信して蓄積する。
【0096】
本変形例により次のような効果を得ることができる。
(1)子機50は、タイムスタンプ発行機能を必要としないので、安価に多数の計測器を配置することができる。
例えば、ビニールハウス内の各場所の温度をモニターするような場合、計測装置4bを1台設置し、その他の場所に子機50を設置することにより、ビニールハウス内の各場所の温度データにタイムスタンプを発行することができる。
(2)例えば、デジタル放送の受信が困難な場所で計測データを収集する場合、デジタル放送が受信可能な場所に計測装置4bを設置し、デジタル放送の受信が困難な場所に子機50を設置することにより、計測データにタイムスタンプを発行することができる。
このような場合としては、例えば、トンネル外に計測装置4bを設置し、トンネル内に子機50を設置する場合がある。
【図面の簡単な説明】
【0097】
【図1】タイムスタンプシステムのシステム構成を示した図である。
【図2】タイムスタンプサーバのハードウェア的な構成を示した図である。
【図3】内部クロックが計測する時刻の一例を示した図である。
【図4】動作モードの切り替えを説明するための図である。
【図5】基準時刻の補正を行うプロトコルを説明するための図である。
【図6】モード切り替えを説明するためのフローチャートである。
【図7】時刻証明書を送信する手順を説明するためのフローチャートである。
【図8】外部クロックを更正する手順を説明するためのフローチャートである。
【図9】内部クロック17を更正する手順を説明するためのフローチャートである。
【図10】監査手順を説明するためのフローチャートである。
【図11】監査方法の変形例を説明するためのフローチャートである。
【図12】タイムスタンプを発行する手順を説明するためのフローチャートである。
【図13】変形例を説明するための図である。
【図14】第2の変形例を説明するための図である。
【図15】従来のタイムスタンプシステムのシステムを説明するための図である。
【符号の説明】
【0098】
1 タイムスタンプシステム
2 デジタル放送局
3 時刻証明書
4 タイムスタンプサーバ
5 クライアント端末
6 ネットワーク
7 時報装置
8 データ収集サーバ
10 耐タンパ部
12 外部クロック
13 モード切替部
15 配信用公開鍵
16 タイムスタンプ用電子署名鍵
17 内部クロック
18 前回証明書
22 原子時計
23 配信用電子署名鍵
【特許請求の範囲】
【請求項1】
基準時刻を計測するための基準時計装置と、
前記計測された基準時刻を電子署名する署名手段と、
前記基準時刻と前記電子署名を含む時刻証明書を生成する時刻証明書生成手段と、
デジタル放送によって送信するために、前記生成した時刻証明書をデジタル放送システムに提供する時刻証明書提供手段と、
を具備したことを特徴とする基準時刻提供装置。
【請求項2】
時刻を計測する時計装置と、
基準時刻と当該基準時刻の電子署名を含む時刻証明書を、デジタル放送を介して受信する受信手段と、
前記受信した時刻証明書の電子署名を確認する署名確認手段と、
前記時計装置の時刻と前記時刻証明書に含まれる基準時刻を比較することにより、前記時計装置が所定の精度で動作していることを検証する検証手段と、
時刻証明対象となる証明対象情報を取得する証明対象情報取得手段と、
前記署名確認手段で前記電子署名が確認され、前記検証手段で前記時計装置が所定の精度で動作していることが検証された場合に、前記時計装置が出力する時刻と、前記取得した証明対象情報と、を電子署名することによりタイムスタンプを生成するタイムスタンプ生成手段と、
前記生成したタイムスタンプを出力するタイムスタンプ出力手段と、
を具備したことを特徴とするタイムスタンプ発行装置。
【請求項3】
前記タイムスタンプ生成手段は、検証に用いる基準時刻が、前回の検証で用いた基準時刻よりも後の時刻であることが確認できた場合に、タイムスタンプを生成することを特徴とする請求項2に記載のタイムスタンプ発行装置。
【請求項4】
前記受信した時刻証明書に含まれる基準時刻を用いて、前記時計装置が計測する前記所定の精度未満の時刻を更正する時刻更正手段を具備したことを特徴とする請求項2、又は請求項3に記載のタイムスタンプ発行装置。
【請求項5】
前記所定の精度を、第1の精度と、前記第1の精度よりも精度が低い第2の精度に変更する精度変更手段を具備し、
前記精度変更手段は、前記所定の精度を第2の精度に設定し、前記検証手段が前記第2の精度を用いて前記時計装置の精度を検証した場合に、前記所定の精度を第1の精度に設定することを特徴とする請求項2、請求項3、又は請求項4に記載のタイムスタンプ発行装置。
【請求項6】
前記検証手段と前記タイムスタンプ生成手段が動作する第1の動作モードと、前記時刻更正手段が動作する第2の動作モードと、を切り替える動作モード切替手段を具備し、
前記動作モード切替手段は、それぞれの動作モードにて動作が完了した後に動作モードを切り替えることを特徴とする請求項2から請求項5までのうちの何れか1の請求項に記載のタイムスタンプ発行装置。
【請求項7】
前記タイムスタンプ生成手段がタイムスタンプを生成する前に、課金が行われたか否かを確認する課金確認手段を具備し、
前記タイムスタンプ生成手段は、前記課金確認手段にて課金が確認された場合にタイムスタンプを生成することを特徴とする請求項2から請求項6までのうちの何れか1の請求項に記載のタイムスタンプ発行装置。
【請求項8】
基準時計装置と、署名手段と、時刻証明書生成手段と、時刻証明書提供手段と、を備えた基準時刻提供装置において、
前記基準時計装置で、基準時刻を計測する計測ステップと、
前記署名手段で、前記計測された基準時刻を電子署名する署名ステップと、
前記時刻証明書生成手段で、前記基準時刻と前記電子署名を含む時刻証明書を生成する時刻証明書生成ステップと、
前記時刻証明書提供手段で、デジタル放送によって送信するために、前記生成した時刻証明書をデジタル放送システムに提供する時刻証明書提供ステップと、
から構成されたことを特徴とする基準時刻提供方法。
【請求項9】
時計装置と、受信手段と、署名確認手段と、検証手段と、証明対象情報取得手段と、タイムスタンプ生成手段と、タイムスタンプ出力手段と、を備えたタイムスタンプ発行装置において、
前記時計装置で、時刻を計測する計測ステップと、
前記受信手段で、基準時刻と当該基準時刻の電子署名を含む時刻証明書を、デジタル放送を介して受信する受信ステップと、
前記署名確認手段で、前記受信した時刻証明書の電子署名を確認する署名確認ステップと、
前記時計装置の時刻と前記時刻証明書に含まれる基準時刻を比較することにより、前記検証手段で、前記時計装置が所定の精度で動作していることを検証する検証ステップと、
前記証明対象情報取得手段で、時刻証明対象となる証明対象情報を取得する証明対象情報取得ステップと、
前記署名確認手段で前記電子署名が確認され、前記検証手段で前記時計装置が所定の精度で動作していることが検証された場合に、前記タイムスタンプ生成手段で、前記時計装置が出力する時刻と、前記取得した証明対象情報と、を電子署名することによりタイムスタンプを生成するタイムスタンプ生成ステップと、
前記タイムスタンプ出力手段で、前記生成したタイムスタンプを出力するタイムスタンプ出力ステップと、
から構成されたことを特徴とするタイムスタンプ発行方法。
【請求項10】
基準時計装置で基準時刻を計測する計測機能と、
前記計測された基準時刻を電子署名する署名機能と、
前記基準時刻と前記電子署名を含む時刻証明書を生成する時刻証明書生成機能と、
デジタル放送によって送信するために、前記生成した時刻証明書をデジタル放送システムに提供する時刻証明書提供機能と、
をコンピュータで実現するための基準時刻提供プログラム。
【請求項11】
時計装置で時刻を計測する計測機能と、
基準時刻と当該基準時刻の電子署名を含む時刻証明書を、デジタル放送を介して受信する受信機能と、
前記受信した時刻証明書の電子署名を確認する署名確認機能と、
前記時計装置の時刻と前記時刻証明書に含まれる基準時刻を比較することにより、前記時計装置が所定の精度で動作していることを検証する検証機能と、
時刻証明対象となる証明対象情報を取得する証明対象情報取得機能と、
前記署名確認機能により前記電子署名が確認され、前記検証機能により前記時計装置が所定の精度で動作していることが検証された場合に、前記時計装置が出力する時刻と、前記取得した証明対象情報と、を電子署名することによりタイムスタンプを生成するタイムスタンプ生成機能と、
前記生成したタイムスタンプを出力するタイムスタンプ出力機能と、
をコンピュータで実現するためのタイムスタンプ発行プログラム。
【請求項1】
基準時刻を計測するための基準時計装置と、
前記計測された基準時刻を電子署名する署名手段と、
前記基準時刻と前記電子署名を含む時刻証明書を生成する時刻証明書生成手段と、
デジタル放送によって送信するために、前記生成した時刻証明書をデジタル放送システムに提供する時刻証明書提供手段と、
を具備したことを特徴とする基準時刻提供装置。
【請求項2】
時刻を計測する時計装置と、
基準時刻と当該基準時刻の電子署名を含む時刻証明書を、デジタル放送を介して受信する受信手段と、
前記受信した時刻証明書の電子署名を確認する署名確認手段と、
前記時計装置の時刻と前記時刻証明書に含まれる基準時刻を比較することにより、前記時計装置が所定の精度で動作していることを検証する検証手段と、
時刻証明対象となる証明対象情報を取得する証明対象情報取得手段と、
前記署名確認手段で前記電子署名が確認され、前記検証手段で前記時計装置が所定の精度で動作していることが検証された場合に、前記時計装置が出力する時刻と、前記取得した証明対象情報と、を電子署名することによりタイムスタンプを生成するタイムスタンプ生成手段と、
前記生成したタイムスタンプを出力するタイムスタンプ出力手段と、
を具備したことを特徴とするタイムスタンプ発行装置。
【請求項3】
前記タイムスタンプ生成手段は、検証に用いる基準時刻が、前回の検証で用いた基準時刻よりも後の時刻であることが確認できた場合に、タイムスタンプを生成することを特徴とする請求項2に記載のタイムスタンプ発行装置。
【請求項4】
前記受信した時刻証明書に含まれる基準時刻を用いて、前記時計装置が計測する前記所定の精度未満の時刻を更正する時刻更正手段を具備したことを特徴とする請求項2、又は請求項3に記載のタイムスタンプ発行装置。
【請求項5】
前記所定の精度を、第1の精度と、前記第1の精度よりも精度が低い第2の精度に変更する精度変更手段を具備し、
前記精度変更手段は、前記所定の精度を第2の精度に設定し、前記検証手段が前記第2の精度を用いて前記時計装置の精度を検証した場合に、前記所定の精度を第1の精度に設定することを特徴とする請求項2、請求項3、又は請求項4に記載のタイムスタンプ発行装置。
【請求項6】
前記検証手段と前記タイムスタンプ生成手段が動作する第1の動作モードと、前記時刻更正手段が動作する第2の動作モードと、を切り替える動作モード切替手段を具備し、
前記動作モード切替手段は、それぞれの動作モードにて動作が完了した後に動作モードを切り替えることを特徴とする請求項2から請求項5までのうちの何れか1の請求項に記載のタイムスタンプ発行装置。
【請求項7】
前記タイムスタンプ生成手段がタイムスタンプを生成する前に、課金が行われたか否かを確認する課金確認手段を具備し、
前記タイムスタンプ生成手段は、前記課金確認手段にて課金が確認された場合にタイムスタンプを生成することを特徴とする請求項2から請求項6までのうちの何れか1の請求項に記載のタイムスタンプ発行装置。
【請求項8】
基準時計装置と、署名手段と、時刻証明書生成手段と、時刻証明書提供手段と、を備えた基準時刻提供装置において、
前記基準時計装置で、基準時刻を計測する計測ステップと、
前記署名手段で、前記計測された基準時刻を電子署名する署名ステップと、
前記時刻証明書生成手段で、前記基準時刻と前記電子署名を含む時刻証明書を生成する時刻証明書生成ステップと、
前記時刻証明書提供手段で、デジタル放送によって送信するために、前記生成した時刻証明書をデジタル放送システムに提供する時刻証明書提供ステップと、
から構成されたことを特徴とする基準時刻提供方法。
【請求項9】
時計装置と、受信手段と、署名確認手段と、検証手段と、証明対象情報取得手段と、タイムスタンプ生成手段と、タイムスタンプ出力手段と、を備えたタイムスタンプ発行装置において、
前記時計装置で、時刻を計測する計測ステップと、
前記受信手段で、基準時刻と当該基準時刻の電子署名を含む時刻証明書を、デジタル放送を介して受信する受信ステップと、
前記署名確認手段で、前記受信した時刻証明書の電子署名を確認する署名確認ステップと、
前記時計装置の時刻と前記時刻証明書に含まれる基準時刻を比較することにより、前記検証手段で、前記時計装置が所定の精度で動作していることを検証する検証ステップと、
前記証明対象情報取得手段で、時刻証明対象となる証明対象情報を取得する証明対象情報取得ステップと、
前記署名確認手段で前記電子署名が確認され、前記検証手段で前記時計装置が所定の精度で動作していることが検証された場合に、前記タイムスタンプ生成手段で、前記時計装置が出力する時刻と、前記取得した証明対象情報と、を電子署名することによりタイムスタンプを生成するタイムスタンプ生成ステップと、
前記タイムスタンプ出力手段で、前記生成したタイムスタンプを出力するタイムスタンプ出力ステップと、
から構成されたことを特徴とするタイムスタンプ発行方法。
【請求項10】
基準時計装置で基準時刻を計測する計測機能と、
前記計測された基準時刻を電子署名する署名機能と、
前記基準時刻と前記電子署名を含む時刻証明書を生成する時刻証明書生成機能と、
デジタル放送によって送信するために、前記生成した時刻証明書をデジタル放送システムに提供する時刻証明書提供機能と、
をコンピュータで実現するための基準時刻提供プログラム。
【請求項11】
時計装置で時刻を計測する計測機能と、
基準時刻と当該基準時刻の電子署名を含む時刻証明書を、デジタル放送を介して受信する受信機能と、
前記受信した時刻証明書の電子署名を確認する署名確認機能と、
前記時計装置の時刻と前記時刻証明書に含まれる基準時刻を比較することにより、前記時計装置が所定の精度で動作していることを検証する検証機能と、
時刻証明対象となる証明対象情報を取得する証明対象情報取得機能と、
前記署名確認機能により前記電子署名が確認され、前記検証機能により前記時計装置が所定の精度で動作していることが検証された場合に、前記時計装置が出力する時刻と、前記取得した証明対象情報と、を電子署名することによりタイムスタンプを生成するタイムスタンプ生成機能と、
前記生成したタイムスタンプを出力するタイムスタンプ出力機能と、
をコンピュータで実現するためのタイムスタンプ発行プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2007−306352(P2007−306352A)
【公開日】平成19年11月22日(2007.11.22)
【国際特許分類】
【出願番号】特願2006−133277(P2006−133277)
【出願日】平成18年5月12日(2006.5.12)
【出願人】(000002325)セイコーインスツル株式会社 (3,629)
【Fターム(参考)】
【公開日】平成19年11月22日(2007.11.22)
【国際特許分類】
【出願日】平成18年5月12日(2006.5.12)
【出願人】(000002325)セイコーインスツル株式会社 (3,629)
【Fターム(参考)】
[ Back to top ]