端末機器
【課題】多数の計測機器で計測された計測値に低コストで時刻証明を行うこと。
【解決手段】機器7は、ネットワーク10に接続すると共に、子機9と無線通信を行う。子機9は、温度計などの計測機器であり、計測値を機器7に送信する。機器7は、タイムスタンプ発行機能を内蔵しており、機器7から計測値を受信すると、これにタイムスタンプを発行して顧客サーバ4に送信する。機器7と子機9は、共通鍵を共有しており、機器7と子機9の間の通信はこの共通鍵によって暗号化されている。なお、他の子機9を介して子機9を機器7に接続することもできる。機器7も計測部を有しており、自己が計測した計測値にタイムスタンプを発行して顧客サーバ4に送信する。顧客サーバ4は、機器7から機器7で計測した計測値や子機9で計測した計測値を受信してタイムスタンプを確認した後、計測値データベースに記憶する。
【解決手段】機器7は、ネットワーク10に接続すると共に、子機9と無線通信を行う。子機9は、温度計などの計測機器であり、計測値を機器7に送信する。機器7は、タイムスタンプ発行機能を内蔵しており、機器7から計測値を受信すると、これにタイムスタンプを発行して顧客サーバ4に送信する。機器7と子機9は、共通鍵を共有しており、機器7と子機9の間の通信はこの共通鍵によって暗号化されている。なお、他の子機9を介して子機9を機器7に接続することもできる。機器7も計測部を有しており、自己が計測した計測値にタイムスタンプを発行して顧客サーバ4に送信する。顧客サーバ4は、機器7から機器7で計測した計測値や子機9で計測した計測値を受信してタイムスタンプを確認した後、計測値データベースに記憶する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、端末機器に関し、例えば、子機端末から計測値を受信するものに関する。
【背景技術】
【0002】
近年のネットワーク技術の急激な進歩に伴って、各種の電子化情報がネットワークを介して流通している。
このようなネットワーク技術を用いて遠隔地に設置した計測機器をネットワークに接続する試みも行われている。
これによって、従来は検針員が各計測機器(例えば、ガスメータ)を回って計測値を手作業で収集していたものが、ネットワークを介してサーバで収集することができるようになる。
【0003】
このように、遠隔地での計測値をサーバで収集する場合、計測値か計測された場所の位置一証明と計測値が計測された時刻の時刻証明が重要となる。
例えば、ガスメータのような定位置に固定された機器の場合、計測位置は一定であるが、計測時刻は毎回異なるため、計測値を機器からタイムスタンプサーバに送信し、タイムスタンプサーバでタイムスタンプを発行してもらっていた。
タイムスタンプは、機器から受信した計測値に受信した時刻情報を付加して、タイムスタンプサーバの秘密鍵でデジタル署名を行ったものである。
この秘密鍵に対応する公開鍵でデジタル署名を確認することにより、タイムスタンプサーバが当該時刻に、当該計測値を受信したことを証明することができる。
【0004】
このようなタイムスタンプシステムを構成する技術として、次の信頼されるサードパーティクロックおよび信頼されるローカルクロックを提供するためのシステムおよび方法がある。
【特許文献1】特表2003−519417公報
【0005】
この技術は、タイムスタンプサーバのクロックを監査する監査サーバを設け、タイムスタンプサーバでの時刻改竄を防止するものである。
【発明の開示】
【発明が解決しようとする課題】
【0006】
例えば、温室内の温度分布の計測など、大量の計測機器を設置してデータの収集を行いたいとの要望がある。ところが、大量の計測機器にそれぞれ時刻証明機能を備えるとコストが上昇するという問題があった。
【0007】
そこで、本発明の目的は、多数の計測機器で計測された計測値に時刻証明を行う機能を低コストで実現することである。
【課題を解決するための手段】
【0008】
本発明は、前記目的を達成するために、子機端末と、前記子機端末と通信可能な端末機器と、前記端末機器から計測値を受信する情報処理サーバと、を用いて構成された情報処理システムで使用する端末機器であって、前記子機端末が計測対象を計測した計測値を前記子機端末から取得する計測値取得手段と、前記計測値受信手段で計測値を受信した際の時刻を計測する時計装置と、前記受信した計測値に対して前記取得した時刻による時刻証明情報を生成する時刻証明情報生成手段と、を具備したことを特徴とする端末機器を提供する(第1の構成)。
第1に構成において、非対称暗号鍵として対をなす公開鍵と秘密鍵のうち、前記秘密鍵を記憶する秘密鍵記憶手段を具備し、前記時刻証明情報生成手段は、前記記憶した秘密鍵を用いて、前記計測値と前記時刻を対応づけた対応情報を、所定の暗号方式により暗号化することにより時刻証明情報を生成するように構成することもできる(第2の構成)。
第1の構成、又は第2の構成において、前記生成した時刻証明情報を所定の送信先に送信する送信手段を具備するように構成することもできる(第3の構成)。
第1の構成、第2の構成、又は第3の構成において、基準時刻送信装置が送信した基準時刻を受信する基準時刻情報受信手段と、前記受信した基準時刻を用いて、前記時計装置が計測する時刻のうち所定単位よりも小さい単位の時刻を補正する時刻補正手段と、を具備するように構成することもできる(第4の構成)。
第4の構成において、所定の監査サーバから基準時刻を受信する基準時刻受信手段と、前記所定単位以上の時刻において、前記計測した時刻と前記受信した基準時刻が一致する場合に前記時刻証明情報生成手段を動作させ、一致しない場合に前記時刻証明情報生成手段を停止させる監査結果実行手段と、を具備するように構成することもできる(第5の構成)。
第1の構成から第5の構成までのうちの何れか1の構成において、計測対象を計測する計測手段を具備し、前記計測値取得手段は、前記計測手段から計測値を取得するように構成することもできる(第6の構成)。
【発明の効果】
【0009】
本発明によれば、子機端末での計測値に端末機器で時刻証明を付与することにより、多数の計測機器で計測された計測値に低コストで時刻証明を行うことができる。
【発明を実施するための最良の形態】
【0010】
(1)実施の形態の概要
機器7(図16)は、ネットワーク10に接続すると共に、子機9、9、・・・と無線通信を行う。
子機9は、例えば、温度計などの計測機器であり、計測値を機器7に送信する。機器7は、タイムスタンプ発行機能を内蔵しており、機器7から計測値を受信すると、これにタイムスタンプを発行して顧客サーバ4に送信する。機器7と子機9は、共通鍵を共有しており、機器7と子機9の間の通信はこの共通鍵によって暗号化されている。なお、他の子機9を介して子機9を機器7に接続することもできる。
機器7も計測部を有しており、自己が計測した計測値にタイムスタンプを発行して顧客サーバ4に送信する。
顧客サーバ4は、機器7から機器7で計測した計測値や子機9で計測した計測値を受信してタイムスタンプを確認した後、計測値データベースに記憶する。
【0011】
(2)実施の形態の詳細
本実施の形態では、計測機器のネットワークへの設置と、設置後の計測機器の利用について説明する。
【0012】
[機器の設置]
図1は、本実施の形態に係る情報処理システムのネットワーク構成の一例を示したブロック図である。
情報処理システム1は、CA3、3、検証サーバ5、顧客サーバ4、4、機器登録サーバ6、機器7、7、7、・・・、基地局8などがネットワーク10を介して接続可能に配置されており、CA3、3の上位には親CA2が設けられている。
以後、CA3、3、顧客サーバ4、4、機器7、7、・・・など複数存在するものに関しては、特に区別しない場合は単にCA3、顧客サーバ4、機器7と記すことにする。
【0013】
親CA2とCA3は、何れも公開鍵証明書を作成する認証局の認証サーバであり、親CA2が発行するルート証明書によりCA3のCA公開鍵の正統性を証明する証明書信頼チェーンを構成している。
情報処理システム1で複数のCA3を設けたのは、機器7が大量に流通するため、これを例えば、製造ロットごと、あるいは機器7を使用する顧客ごとなどに区分してCA3に割り当てることができるようにするためである。
このように、証明書信頼チェーンを用いるのは事業の便宜のためであり、単一のCAによって全ての機器7を取り扱うように構成してもよい。
【0014】
CA3の公開鍵を証明するCA公開鍵証明書の正統性は、親CA2の発行するルート証明書により確認される。
より詳細には、CA3のCA公開鍵は、親CA2の親CA秘密鍵によりデジタル署名されており、このデジタル署名の正統性を親CA公開鍵で検証することによりCA公開鍵の正統性を確認することができる。
CA公開鍵証明書やルート証明書は、安全な方法により予め顧客サーバ4、検証サーバ5、機器7などに提供されている。
【0015】
顧客サーバ4は、機器7を利用して測定を行う顧客が運用する情報処理サーバである。なお、機器7の販売者側から見て機器7のユーザは販売者の顧客であるためユーザを顧客と呼んでいる。
顧客サーバ4は、A社が運用するものやB社が運用するものなど、顧客がそれぞれ運用している。
機器7は、例えば、ガスメータなどの計測装置であり、顧客サーバ4は、ネットワーク10を介してこれら機器7から計測値を収集する。収集された計測値によりガス料金などが計算される。
【0016】
機器7は、ネットワーク10に接続可能に設置された計測機器などであり、ガスメータなどの固定式のもののほか、移動式のものを用いることもできる。
機器7は、例えば、A社の機器7はA社の顧客サーバ4に接続し、B社の機器7はB社の顧客サーバ4に接続するというように、所有者に対応した顧客サーバ4に接続して計測値などの情報を顧客サーバ4に送信する。
機器7は、有線のほか、無線によってネットワーク10に接続することも可能であり、この場合は、基地局8を介してネットワーク10に接続するようになっている。
【0017】
検証サーバ5は、機器7をネットワーク10に設置して顧客サーバ4に接続する際に、機器7の正統性を検証し、なりすましなどの機器7の不正使用を防ぐためのサーバである。
検証サーバ5で機器7が正統品であることが検証された後、顧客サーバ4は機器7と接続する。
【0018】
機器登録サーバ6は、機器7が機器公開鍵証明書などをCA3に発行してもらうに際して機器7とCA3との仲介を行うと共に、機器7を検証サーバ5に登録するサーバである。
なお、機器登録サーバ6は、機器登録サーバ秘密鍵を記憶しており、検証サーバ5は、この秘密鍵に対応する機器登録サーバ公開鍵を記憶している。
そして、機器登録サーバ6は、機器7を機器登録するための登録要求情報を検証サーバ公開鍵で暗号化して検証サーバ5に送信し、検証サーバ5は、これを検証サーバ秘密鍵で復号化するようになっている。
検証サーバ5は、登録要求情報が登録サーバ秘密鍵でデジタル署名することにより、この情報が確かに機器登録サーバ6から送信されたものであることを確認することができる。
【0019】
以上のように構成された情報処理システム1において、親CA2、CA3、検証サーバ5、及び機器登録サーバ6は、機器7の製造事業者や販売事業者などの販売側事業者によって運用されており、顧客サーバ4は、機器7を購入した顧客によって運用されている。
販売側事業者は機器7の製造番号や機器7の納入先の顧客などに関する情報を有しているため、親CA2、CA3、検証サーバ5、機器登録サーバ6を運用して顧客に機器検証サービスを提供するのに適した立場にある。
【0020】
また、機器7、検証サーバ5、機器登録サーバ6、顧客サーバ4などがネットワーク10を介して形成する通信経路はSSL(Secure Sockets Layer)などの技術を用いて暗号化されており、情報処理システム1のセキュリティが高められている。
【0021】
次に、図2を用いて機器7のハードウェア的な構成について説明する。
機器7は、大きく分けて耐タンパ部20と計測部35がバスラインによって接続されて構成されている。
耐タンパ部20は、機器認証などセキュリティに関わる情報処理を行う機能部であり、例えば、耐タンパ仕様の集積回路を収納したICチップによって構成された耐タンパモジュールである。
【0022】
耐タンパ仕様とは、例えば、内部構造を解析しようとすると自動的に内部構造を破壊するなど、改竄や複製、内部の論理構造の解読などの不正行為に対して十分な防御手段を講じるための仕様である。
そのため、耐タンパ部20は、外部からの解析が著しく困難で一種のブラックボックスとなっており、例えば、機器秘密鍵などの秘密情報を安全に保持することができる。
なお、タンパ(tamper)とは、装置に手を加えるという意味や、情報などを不正に変更するという意味があり、耐タンパとは、これらの操作に対して耐性を保持していることを意味する。
【0023】
耐タンパ部20は、CPU(Central Processing Unit)21、内部クロック22、ROM(Read Only Memory)23、RAM(Random Access Memory)24、EEPROM(Electrically Erasable and Programmable ROM)25などが図示しないバスラインによって接続されて構成されている。
【0024】
CPU21は、EEPROM25、ROM23、RAM24などに記憶されているプログラムに従って各種の情報処理を行う中央処理装置である。
本実施の形態では、機器公開鍵と機器秘密鍵のペアを生成したり、検証サーバ5と通信して機器7の機器認証を行ったり、顧客サーバ4と通信する際に情報の暗号化・復号化を行ったりする。
【0025】
内部クロック22は、耐タンパ部20を駆動するためのクロックを発生させるほか、例えば、耐タンパ部20が計測部35の計測値に対して時刻情報を付与するタイプの機器7に関しては、時刻情報を付与するための時計として使用することができる。内部クロック22は、計測部35の外部クロック28と同期しており、CPU21とCPU29はタイミングを同期させて協働して動作することができる。
ROM23は、読み出し専用の記憶装置(メモリ)であって、耐タンパ部20を駆動するための基本的なプログラムやパラメータなどを格納している。
RAM24は、読み書き可能な記憶装置であって、CPU21が各種の情報処理を行う際のワーキングエリアを提供する。
【0026】
EEPROM25は、読み書きが可能な不揮発性の記憶装置であり、プログラムやデータなどが記憶されている。
本実施の形態では、一例として、非対称暗号鍵生成プログラム、機器秘密鍵、機器公開鍵証明書、検証サーバ公開鍵証明書、検証サーバ接続情報、検証要求プログラム、CA公開鍵証明書や、図示しない、通信プログラム、OS(Operating System)などが記憶されている。
【0027】
非対称暗号鍵生成プログラムは、機器7が顧客に渡される前に、機器7の管理者(通常は機器7の製造事業者)が実行するプログラムであり、このプログラムをCPU21で実行すると、耐タンパ部20の内部で機器秘密鍵と機器公開鍵の非対称暗号鍵ペア(対)が生成される。
機器7は、生成した機器秘密鍵をEEPROM25に記憶し、外部からこの機器秘密鍵を知ることはできないようになっている。
【0028】
機器公開鍵証明書は、生成した機器公開鍵を機器7が機器登録サーバ6を介してCA3に送信し、CA3がCA秘密鍵でデジタル署名した公開鍵証明書である。
機器公開鍵証明書を受け取ったものは、CA公開鍵でデジタル署名を検証することにより機器公開鍵証明書に記載されている機器公開鍵が正統なものであることを確認することができる。
【0029】
検証サーバ公開鍵証明書は、検証サーバ5の公開鍵である検証サーバ公開鍵をCA3がCA秘密鍵でデジタル署名した公開鍵証明書である。
後述するように、機器7は、検証サーバ公開鍵に記録されている検証サーバ公開鍵を用いて情報を暗号化し、検証サーバ5に送信する。この暗号化情報は、検証サーバ5が有する検証サーバ秘密鍵でしか復号化することができないため、検証サーバ5以外のものがこの暗号化情報を受信しても復号化できず、セキュリティを高めることができる。
なお、検証サーバ公開鍵の正統性は、CA公開鍵で検証サーバ公開鍵証明書のデジタル署名を検証することにより確認することができる。
【0030】
CA公開鍵証明書は、CA3の公開鍵であるCA公開鍵を親CA2が親CA秘密鍵でデジタル署名した公開鍵証明書である。機器7は、CA公開鍵証明書に記載されているCA公開鍵を用いて、検証サーバ5の検証サーバ公開鍵証明書や顧客サーバ4の顧客サーバ公開鍵証明書(何れもCA3のCA公開鍵によりデジタル署名されている)の正統性を検証することができる。
また、図示しないが、機器7は、EEPROM25に親CA2が発行したルート証明書を記憶しており、ルート証明書に記載されている親CA公開鍵によって、CA公開鍵証明書の正統性を確認することができる。
【0031】
検証サーバ接続情報は、機器7がネットワーク10に接続した際に、検証サーバ5に接続するためのアドレス情報であり、例えば、検証サーバ5のURL(Uniform Resource Locators)で構成されている。
機器7は、ネットワーク10に設置された際に、検証サーバ接続情報を用いて検証サーバ5に接続し、機器検証を受ける。
このように、本実施の形態では、機器7に予め検証サーバ接続情報を埋め込んでおくため、どのようなネットワーク環境下で機器7が設置されても、機器7から検証サーバ5にアクセスすることができる。
【0032】
検証要求プログラムは、検証サーバ5に機器に検証を要求するためのプログラムである。
機器7をネットワーク10に接続した後(例えば、電源投入直後)、CPU21で検証要求プログラムを実行すると、CPU21は、後述の検証情報を生成する。そしてCPU21は、検証サーバ接続情報を用いて機器7を検証サーバ5に接続し、検証情報を検証サーバ5に送信する。
また、図示しないが、EEPROM25には、計測部35で計測した計測値を暗号化するなど、セキュリティに関わる情報処理を行うためのプログラムが格納されている。
以上、耐タンパ部20の各構成要素について説明したが、この他に耐タンパ部20と計測部35との通信を制御する通信制御部なども構成されている。
【0033】
計測部35は、計測を行う機能部であり、CPU29、ROM27、RAM30、外部クロック28、表示部31、入力部32、記憶部33、計測装置部34などから構成されている。
計測装置部34は、計測を行う装置であって、CPU29から要求があると計測値をデジタル情報としてCPU29に出力する。
計測装置部34としては、例えば、ガス・水道・電気の使用量を計測するもののほか、温度計測、湿度計測、水質計測、大気汚染計測を行うものや、自動販売機に設置して在庫や販売状況などを計測するものなど、各種のものを採用することができる。
【0034】
CPU29は、記憶部33、ROM27、RAM30などに記憶されているプログラムに従って各種の情報処理を行う中央処理装置である。
CPU29は、CPU21と協働して動作し、例えば、機器7の設置の際に、耐タンパ部20から出力された検証情報を検証サーバ5に送信したり、設置後は、計測装置部34から計測値を取得してこれを耐タンパ部20でデジタル署名して顧客サーバ4に送信したりなどする。
【0035】
外部クロック28は、計測部35を駆動するためのクロックを発生させる。また、一般に外部クロック28は内部クロック22よりも精度が高いため、外部クロック28を外部の電波などで更正し、更正された外部クロック28を用いて内部クロック22を更正するように構成されている。
【0036】
ROM27は、読み出し専用の記憶装置であって、CPU29を駆動するための基本的なプログラムやパラメータなどを格納している。
RAM30は、読み書き可能な記憶装置であって、CPU29が各種の情報処理を行う際のワーキングエリアを提供する。
【0037】
記憶部33は、例えば、EEPROMによって更正されており、各種プログラムやデータなどが記憶されている。
記憶部33に記憶しているプログラムをCPU29で実行することにより、計測装置部34から計測値を取得する機能、耐タンパ部20と通信して協働して情報処理を行う機能、通信部26を制御して、検証サーバ5や顧客サーバ4と通信する機能などを実現することができる。
また、記憶部33は、計測装置部34で計測された計測値を一時的に記憶するのに用いることもできる。
【0038】
表示部31は、例えば、液晶表示パネルなどの表示デバイスを備えており、設置担当者が機器7をネットワーク10に設置する際の操作指示や、計測装置部34の計測値など、各種の情報を表示することができる。
入力部32は、操作ボタンなどを備えており、例えば、設置担当者が機器7をネットワーク10に設置する際に機器7を操作するのに用いられる。
【0039】
通信部26は、機器7をネットワーク10に接続するためのインターフェースを構成しており、CPU21やCPU29は通信部26を介して機器登録サーバ6、検証サーバ5、顧客サーバ4などと通信することができる。機器7が無線でネットワーク10に接続する場合、通信部26はRF回路などを備える。
【0040】
次に図3を用いて検証サーバ5のハードウェア的な構成について説明する。
検証サーバ5は、CPU41、ROM42、RAM43、記憶部46、及び通信部45などから構成されている。
CPU41は、ROM42、RAM43、記憶部46などに記憶されているプログラムに従って動作し、機器7を検証するための各種の情報処理を行う。
【0041】
ROM42は、読み出し専用の記憶装置であって、CPU41を駆動するための基本的なプログラムやパラメータなどを格納している。
RAM43は、読み書き可能な記憶装置であって、CPU41が各種の情報処理を行う際のワーキングエリアを提供する。
通信部45は、検証サーバ5をネットワーク10に接続するインターフェースである。
【0042】
記憶部46は、例えば、ハードディスクなどの大容量の記憶媒体を用いて構成されており、図示したような各種プログラムやデータが格納されている。
検証プログラムは、機器7を機器検証するためのプログラムであり、CPU41は機器検証プログラムを実行することにより、機器7から送信されてきた検証情報を検証し、検証結果を顧客サーバ4に送信することができる。
【0043】
CA公開鍵証明書は、CA3のCA公開鍵の公開鍵証明書である。また、図示しないが、親CA2のルート証明書も記憶している。これらの証明書は、例えば、担当者間で手渡しするなど、安全な方法により提供されたものである。
検証サーバ秘密鍵は、検証サーバ公開鍵に対応する秘密鍵であり、情報の暗号化やデジタル署名などに用いられる。
【0044】
顧客サーバ接続情報は、ネットワーク10を介して顧客サーバ4に接続するための情報であり、例えば顧客サーバ4のURLやIPアドレスなどによって構成されている。
顧客サーバ接続情報は、予め顧客に提供してもらい記憶部46に記憶したものである。
検証サーバ5は、検証結果を顧客サーバ4に送信する際に、顧客サーバ接続情報を用いて顧客サーバ4に接続して送信する。
【0045】
次に、機器登録データベースについて説明する。
機器登録データベースは、検証を要する機器7を予め登録したデータベースであり、その論理的な構成の一例を図4に示す。
図に示したように、機器登録データベースは、「顧客ID」、「顧客サーバ接続情報」、「機器ID」、「機器公開鍵」、・・・などの各項目から構成されている。
【0046】
「顧客ID」は、顧客サーバ4、4、・・・を運用する各顧客を特定するID情報である。このように、顧客は予め検証サーバ5に登録されており、ID情報が付与されている。
「顧客サーバ接続情報」は、顧客サーバ4に接続するための接続情報であり、顧客IDと対応づけて記憶されている。
なお、図では、各顧客に1つの顧客サーバ接続情報が記載されているが、顧客が複数の顧客サーバ4を用いる場合は、これら複数の顧客サーバ接続情報が顧客IDに対応づけられる。
【0047】
「機器ID」は、機器7、7、・・・の個々に付与されたID情報であり、例えば、製造シリアル番号などを用いることができる。
「機器公開鍵」は、機器秘密鍵に対応する機器公開鍵を各機器7ごとに記憶したものである。機器公開鍵は、CA3が検証サーバ5に送信した機器公開鍵証明書から取得されたものである。
【0048】
機器7を何れの顧客サーバ接続情報に対応させて登録するかは、例えば、機器7の販売時に顧客から機器7を接続する顧客サーバ4の指定を受け、これを検証サーバ5の管理者が対応させたものである。
【0049】
以上、検証サーバ5のハードウェア的な構成について説明したが、顧客サーバ4や機器登録サーバ6及びCA3などのハードウェア的な構成も検証サーバ5と同様である。
CA3、親CA2は、予め記憶した所定のプログラムをCPUが実行することにより公開鍵証明書を作成したりなどの各種情報処理を行う機能を発揮する。
更に、CA3の場合は、機器公開鍵証明書を発行した機器7の失効情報を記憶した失効リストを記憶部46に記憶している。
失効リストは、CA3が機器公開鍵証明書を発行した機器7が現在失効状態か否かを機器IDの有無に対応させて記憶したデータリストであり、機器公開鍵証明書発行後直後は、当該機器に関する情報は何も登録されていない。そして、失効は、顧客からの申告により当該機器IDを失効リストに登録することにより設定される。
検証サーバ5は、顧客サーバ4などから有効性の問い合わせがあった場合に、CA3の失効リストを参照し、有効性を検証する。
即ち、検証サーバ5は、機器7の正統性を検証する際に、機器が失効状態であるか否かを記憶した失効状態記憶手段(CA3の失効リスト)を用いて機器7の有効性を検証する有効性検証手段を備えている。
【0050】
顧客サーバ4の場合は、記憶部46に機器マスタと計測値データベースなどが記憶されている。
機器マスタは、顧客サーバ4が接続する機器7のマスタ情報であり、例えば、機器7の機器ID、機器7に接続するための機器接続情報、機器公開鍵といった基本的な事項や、機器7の設置場所、設置日時といった付属的な情報から構成されている。顧客サーバ4は、機器マスタによって各機器7を管理する。
【0051】
例えば、基本的な事項は、機器検証の際に検証サーバ5から受信して記憶したものであり、付属的な事項は顧客サーバ4の管理者が入力したものである。
機器7が失効となった場合は、顧客サーバ4の管理者が顧客サーバ4に当該機器7の失効を入力して機器マスタから削除する。この際に、顧客サーバ4は、失効要求をCA3に送信し、CA3が失効リストに登録されることにより失効とされる。
【0052】
計測値データベースは、ネットワーク10を経由して機器7から送信されてきた計測値を記憶・蓄積したデータベースである。
計測値データベースでは、各計測値がこれを計測した機器7の機器IDに対応づけられ、計測日時なども記憶される。
【0053】
機器登録サーバ6は、機器7が機器公開鍵証明書を取得する際に機器7とCA3との仲介を行う機能や、 登録要求情報を生成して検証サーバ5に送信し、検証サーバ5に機器7を登録する機能などをCPUに発揮させるプログラムを記憶部46に記憶しており、これを実行することによりこれらの機能を発揮する。また、機器登録サーバ6は、機器7に入力するための検証サーバ接続情報なども記憶している。
【0054】
次に、図5を用いて、機器7の出荷前処理から設置までの手順の全体構成について説明する。図中に手順の順序を括弧にて示してあり、以下、この順序に従って説明していく。
なお、手順(1)から手順(4)までは、機器7の設置前(好ましくは顧客への出荷前)に行う作業である。
(1)(機器秘密鍵と機器公開鍵の非対称暗号鍵ペアの生成)
機器7のハードウェアが完成すると、作業担当者が機器7を操作して非対称暗号鍵生成プログラムを実行し、耐タンパ部20内でCPU21に機器秘密鍵と機器公開鍵のペアを生成させる(非対称暗号鍵生成手段)。
そして、機器7は、生成した機器秘密鍵をEEPROM25の所定のエリアに記憶する(秘密鍵記憶手段)。
【0055】
(2)(機器公開鍵の送信)
機器7は、作業担当者によって当該機器7を担当する機器登録サーバ6に接続され、生成した機器公開鍵や機器固有情報などを機器登録サーバ6に送信する(公開鍵提供手段)。
ここで、機器固有情報には、機器ID、耐タンパ部のMACアドレスなど機器7に固有の情報が含まれている。
機器登録サーバ6は、機器7からこれらの情報を受信する(公開鍵取得手段)。そして、機器登録サーバ6は、機器公開鍵や機器IDなどをCA3に送信し、CA3に機器公開鍵証明書の発行を要求する(公開鍵証明書発行要求手段)。
【0056】
(3)(機器証明書の書き込み)
CA3は、機器登録サーバ6から機器公開鍵から機器証明書を作成する。そして、CA3は、機器証明書に検証サーバ5の検証サーバ公開鍵証明書を加えて機器証明書を作成し、機器登録サーバ6に送信する。
機器登録サーバ6は、機器証明書をCA3から受信すると、これに検証サーバ接続情報を付加して機器7に送信する。
機器7は、機器登録サーバ6から機器証明書を受信して耐タンパ部20に記憶する。
以上のように、機器証明書には、機器公開鍵証明書、検証サーバ接続情報、検証サーバ公開鍵証明書などが含まれている。
【0057】
より詳細には、機器公開鍵証明書は、機器7の機器公開鍵をCA3のCA秘密鍵(証明サーバ秘密鍵)でデジタル署名した公開鍵証明書である(公開鍵証明書作成手段)。このようにCA3は秘密鍵記憶手段を備えている。
より詳細には、機器公開鍵証明書は、例えば、「公開鍵[ab12・・・01]は、機器ID[12・・・]の機器公開鍵である。」といった内容のメッセージと、当該メッセージから生成したダイジェスト(例えば、メッセージのハッシュ値を用いる)をCA3のCA秘密鍵で暗号化したデジタル署名などから構成されている。
機器公開鍵証明書を受信したものは、CA3のCA公開鍵(証明サーバ公開鍵)を用いてデジタル署名を復号化し、更に、メッセージのダイジェストを作成して両者の一致を確認することにより、メッセージが改編されていないことを確認することができる。
【0058】
検証サーバ接続情報は、ネットワーク10上で検証サーバ5に接続するための情報であり、例えば、検証サーバ5のURL(Uniform Resource Locators)やIPアドレスで構成されている(検証サーバ接続情報記憶手段)。
【0059】
検証サーバ公開鍵証明書は、検証サーバ公開鍵をCA3の秘密鍵でデジタル署名した公開鍵証明書である。
検証サーバ公開鍵証明書には、検証サーバ公開鍵が含まれているため、機器7はこれによって検証サーバ公開鍵を取得する。
なお、機器7は、予め組み込まれているCA公開鍵などを用いて、機器公開鍵証明書や検証サーバ公開鍵証明書の正統性を検証することができる。
なお、本実施の形態の機器登録サーバ6は、CA3から受信した機器証明書に検証サーバ公開鍵証明書を含めて機器7に送信したが、これに限定せず、CA3から受信した機器証明書と、検証サーバ接続情報を別々に機器7に送信するように構成することもできる。
【0060】
(4)(機器7の登録要求)
機器登録サーバ6は、機器7に対してCA3が機器証明書を発行する際に、機器公開鍵証明書を取得することができる。
そして、機器登録サーバ6は、このようにして得た機器公開鍵証明書と、機器固有情報(機器ID)などが含まれる登録要求情報を作成して、検証サーバ5に送信し、検証サーバ5に機器7の登録を要求する(公開鍵証明書送信手段)。
検証サーバ5は、登録要求情報を機器登録サーバ6から受信し、これを用いて機器登録データベースを更新する。
【0061】
また、機器7の販売側事業者は、機器7の販売先の顧客から当該機器7を接続する顧客サーバ4の指定を受けた後、当該顧客サーバ4の顧客サーバ接続情報を機器7に対応させて検証サーバ5に入力するようになっている。
即ち、検証サーバ5は、登録要求情報に含まれる機器公開鍵を機器7に対応づけて機器登録データベースに記憶し(公開鍵記憶手段)、更に機器7と顧客サーバ4を対応づけて機器登録データベースに記憶する(情報処理サーバ機器対応記憶手段)。
【0062】
(5)(出荷)
機器7は、検証サーバ5に登録された後、顧客に出荷される。機器7は、出荷された後は顧客の管理下におかれる。
【0063】
(6)(検証要求)
機器7は、出荷された後、設置担当者によってネットワーク10に接続され、検証要求プログラムが実行される。
検証要求プログラムが実行されると、機器7は、検証要求情報を生成する。そして、機器7は、EEPROM25に記憶してある検証サーバ接続情報を用いて検証サーバ5に接続し(検証サーバ接続手段)、検証要求情報を送信する。
【0064】
検証要求情報は、機器ID、顧客サーバ4から機器7に接続するための機器接続情報、環境情報(ネットワーク接続環境に関する情報)などを機器秘密鍵でデジタル署名したものを、検証サーバ公開鍵で暗号化したものである。
このように、機器7は、ネットワーク10に接続されると自身の機器接続情報を取得し(接続情報取得手段)、これを検証サーバ5に送信する(接続情報送信手段)。これに対し、検証サーバ5は、これを受信する接続情報受信手段を備えている。
また、検証要求情報は、機器秘密鍵でダイジェスト(所定の情報)を暗号化したデジタル署名が含まれており、署名情報として機能する。このように機器7は署名情報送信手段を有している。
【0065】
(7)(失効リストの参照)
検証サーバ5は、機器7から検証情報を受信すると(署名情報受信手段)、これを検証サーバ秘密鍵で復号化する。そして、検証サーバ5は、機器登録データベースから当該機器7の機器公開鍵を取得し(公開鍵取得手段)、これを用いてデジタル署名の正統性を確認することにより、機器7が正統品であるか否かを検証する(検証手段)。
更に、図示しないが、検証サーバ5は、当該機器7が失効であるか否かをCA3に問い合わせて確認する(有効性検証手段)。
(8)(検証結果の通知)
当該機器7が有効であった場合、検証サーバ5は、機器登録データベースで当該機器7に対応づけられている顧客サーバ接続情報を用いて顧客サーバ4に検証結果を送信する(検証結果送信手段)。
検証結果は、例えば、機器7の機器公開鍵証明書、機器7への機器接続情報、検証結果などを検証サーバ秘密鍵で暗号化したものである。このように、検証サーバ5は、機器7への接続情報を顧客サーバ4に送信する接続情報送信手段を備えている。
【0066】
顧客サーバ4は、検証結果を予め記憶した検証サーバ公開鍵で復号化することにより検証結果の正統性を確認することができる。あるいは、検証結果を検証サーバ5の検証サーバ秘密鍵でデジタル署名することにより正統性を保証してもよい。
機器7が失効であった場合は、機器7にエラーメッセージを送信し、検証結果は顧客サーバ4に通知しない。または、検証サーバ5が失効となった機器7からの検証要求があった旨の通知を顧客サーバ4に行うように構成してもよい。
【0067】
(9)(顧客サーバ情報の通知)
顧客サーバ4は、検証サーバ5から検証結果を受信して(検証結果受信手段)、当該機器7が正統品であると検証されたことを確認した後、機器7と接続して(接続手段)顧客サーバ4に顧客サーバ情報を送信する。
顧客サーバ情報は、顧客サーバ公開鍵証明書や機器7がネットワーク10を介して顧客サーバ4に接続するための顧客サーバ接続情報などが含まれている。
【0068】
なお、顧客サーバ4と機器7の接続は、顧客サーバ4から機器7に接続してもよいし、あるいは、機器7から顧客サーバ4に接続してもよい。
前者の場合は、顧客サーバ4が機器7の接続情報を用いて機器7に接続し、後者の場合は、機器7が検証要求の際に検証サーバ5から顧客サーバ接続情報を受信しておき、これを用いて顧客サーバ4に接続するようにする。
【0069】
(10)(機器7と顧客サーバ4の通信)
機器7は、顧客サーバ4から送信された顧客サーバ公開鍵証明書(CA秘密鍵でデジタル署名されている)を予め記憶したCA公開鍵で検証し、顧客サーバ4の正統性を確認することができる。
以降、機器7と顧客サーバ4は通信可能な状態となり、機器7は計測データを顧客サーバ公開鍵で暗号化して顧客サーバ4に送信する。
計測データは顧客サーバ秘密鍵を有する顧客サーバ4しか復号化できないため、計測データの送信途上での漏洩を防止することができる。
【0070】
(11)(失効要求)
例えば、機器7を新しい機器で置き換えるなどして機器7が使用されなくなった場合、顧客は、機器マスタで当該機器7を失効にすると共に、CA3に対して当該機器7の失効要求を行う。
CA3の失効リストで機器7を失効とすることにより、機器7が他の場所に新たに設置されたり、あるいは不正利用されることを防ぐことができる。
【0071】
以上に、機器7を設置するまでの全体的な手順について説明したが、次に、フローチャートを用いてこれらの手順について詳細に説明する。
図6は、機器7を顧客に出荷するまでの手順を説明するためのフローチャートである。
機器7は、組み立てラインで組み立てられた後、機器登録部門に送られる。機器登録部門では、当該機器7を購入する顧客、機器7を接続する顧客サーバ4、当該機器7を割り当てるCA3などを予め把握している。
【0072】
作業担当者は、機器7をCA3に接続して入力部32を操作し、非対称暗号鍵生成プログラムをCPU21に実行させる。
すると、CPU21は、例えば、乱数を用いるなどして、機器7に固有の非対称暗号鍵ペアである機器秘密鍵と機器公開鍵を生成する(ステップ5)。
なお、CA3への接続は、機器秘密鍵と機器公開鍵を生成した後でもよい。
【0073】
CPU21は、生成した機器秘密鍵をEEPROM25内の所定エリアに格納する。そして、CPU21は、予めEEPROM25に記憶されている機器IDや耐タンパ部20のMACアドレスなどの機器7に固有な機器固有情報を読み出し、これらを機器公開鍵と共に機器登録サーバ6に送信する(ステップ10)。
検証サーバ5は、機器7から機器公開鍵や機器固有情報などを受信し、CA3に送信する(ステップ13)。
【0074】
CA3は、機器登録サーバ6から機器7の機器公開鍵と機器固有情報を受信する(ステップ15)。
そして、CA3は、機器固有情報から機器IDを抽出し、例えば、「機器公開鍵○○○は、機器ID○○○の機器公開鍵です。証明者はCA3です。」といった、機器公開鍵、機器ID、証明者、及びその他の例えば証明日時からなるメッセージを生成する。
更にCA3は、メッセージからダイジェストを生成し、これをCA秘密鍵で暗号化することによりデジタル署名する。
【0075】
CA3は、メッセージとデジタル署名から機器公開鍵証明書を作成した後(ステップ20)、当該機器公開鍵証明書と検証サーバ公開鍵証明書を用いて機器証明書を生成する(ステップ25)。
そして、CA3は、生成した機器証明書を機器登録サーバ6に送信する(ステップ30)。
機器登録サーバ6は、CA3から機器証明書を受信し、これに検証サーバ接続情報を添付して機器7に送信する(ステップ33)。なお、検証サーバ接続情報は、機器証明書とは別に送信してもよい。
【0076】
機器7は、機器証明書を受信し、これを耐タンパ部20内のEEPROM25に記憶する(ステップ35)。
EEPROM25内には、予めCA3のCA公開鍵証明書や親CA2のルート証明書が記憶されており、機器7は、これらを用いて機器証明書の正統性を確認することができる。
【0077】
一方、機器登録サーバ6は、機器7に機器証明書を送信した後、検証サーバ5に機器ID、機器公開鍵証明書などからなる登録要求情報を送信して、当該機器7の機器登録データベースへの登録要求を行う(ステップ40)。
この際、機器登録サーバ6は、登録要求情報を機器登録サーバ秘密鍵でデジタル署名して検証サーバ5に送信し、検証サーバ5が機器登録サーバ公開鍵で検証要求情報の正統性を確認できるようにする。
【0078】
検証サーバ5は、機器登録サーバ6が登録要求情報をデジタル署名し、これを検証サーバ5が確認することにより登録要求情報の正統性を確認する。
検証サーバ5は、機器登録サーバ公開鍵を用いて機器公開鍵証明書の正統性を確認し、登録要求情報に含まれる顧客サーバ接続情報、機器ID、機器公開鍵の対応関係を機器登録データベースに登録する(ステップ45)。
【0079】
以上により、機器7の出荷前処理を完了し、機器秘密鍵と検証サーバ接続情報が耐タンパ部20に埋め込まれた機器7が顧客に出荷される。
一方、検証サーバ5では、機器7の検証に備えて、機器7に関する情報が記憶される。
なお、フローチャートには記さなかったが、機器7が接続すべき顧客サーバ4の顧客サーバ接続情報は、検証サーバ5の機器登録データベースに別途入力される。
【0080】
次に、図7のフローチャートを用いて、機器7を設置現場に設置して、ネットワーク10を介して顧客サーバ4に接続するまでの手順について説明する。
機器7は、顧客に出荷されると、顧客の事業計画に基づいて設置箇所に搬送される。
設置担当者は現地に赴き、機器7をネットワーク10に接続して、検証要求プログラムを起動する。
すると、機器7は、ネットワーク10上での自己のIPアドレスといった機器接続情報や、例えば、ルータを介して接続されているなどの環境情報を収集する(ステップ50)。
【0081】
次に、機器7は、自己の機器IDをEEPROM25から読み出し、これを先に収集した機器接続情報や環境情報と共に機器秘密鍵でデジタル署名して検証要求情報を作成する。
そして、機器7は、検証要求情報を検証サーバ公開鍵で暗号化することにより暗号化した検証要求情報を作成する。
次に、機器7は、検証サーバ接続情報を用いて検証サーバ5に接続し、暗号化した検証要求情報を検証サーバ5に送信し、自身の検証を検証サーバ5に要求する(ステップ55)。
【0082】
検証サーバ5は、機器7から暗号化した検証情報を受信し、これを予め記憶した検証サーバ秘密鍵で復号化する。
検証サーバ秘密鍵は検証サーバ5しか有していないため、暗号化した検証情報は送信途上で他者に渡ったとしても復号化することはできない。
次に、検証サーバ5は、検証要求情報に含まれる機器IDを機器登録データベースで検索し、当該機器IDに対応づけられている機器公開鍵を取得する。
【0083】
次に、検証サーバ5は、この機器公開鍵を用いてデジタル署名を確認し、検証情報の正統性を確認する(ステップ60)。
より詳細には、検証サーバ5は検証要求情報からダイジェストを生成すると共にデジタル署名を機器公開鍵で復号化してダイジェストを復元し、両者が一致することをもって検証要求情報が正統であると確認する。
両者が一致しない場合、検証サーバ5は、機器7が正統でないとしてエラーメッセージを機器7に送信する。
【0084】
検証サーバ5は、機器7の正統性を確認した後、当該機器7の機器IDなどを図示しないCA3に送信し、当該機器7の失効の有無を問い合わせる。
そして、検証サーバ5は、機器7の失効の有無をCA3から受信し、これによって機器7の有効性を確認する(ステップ65)。
当該機器7が有効である場合、検証サーバ5は、機器7の機器ID、接続情報、正統であるとの検証結果、接続環境などを検証サーバ秘密鍵でデジタル署名し、検証結果を作成する(ステップ70)。
【0085】
次に、検証サーバ5は、機器7の機器IDを機器登録データベースで検索し、当該機器7に対応づけられている顧客サーバ4の顧客サーバ接続情報を取得する。
そして、検証サーバ5は、これを用いて顧客サーバ4に接続し、検証結果を送信する(ステップ75)。
一方、当該機器7が機器登録データベースで失効となっていた場合、検証サーバ5は、エラーメッセージを機器7に送信し、顧客サーバ4へは検証結果を送信しない。なお、検証されなかった旨の通知を顧客サーバ4に送信するように構成することもできる。
【0086】
顧客サーバ4は、検証サーバ5から検証結果を受信し、これを予め記憶してある検証サーバ公開鍵で復号化することにより検証サーバ5の正統性を検証する(ステップ85)。
即ち、検証結果を検証サーバ秘密鍵でデジタル署名できるのは検証サーバ5だけであるので、検証結果を検証サーバ公開鍵で復号化できることにより検証サーバ5の正統性を検証することができる。
なお、検証結果は、サーバ秘密鍵でデジタル署名し、これを顧客サーバ4で検証するように構成してもよい。
【0087】
顧客サーバ4は、検証サーバ5の正統性を確認した後、検証結果に含まれる機器ID、機器公開鍵、機器接続情報などを機器マスタに記憶し、機器7を顧客サーバ4の正統な計測機器として登録する。
一方、顧客サーバ4は、正統性が確認できなかった場合、エラーメッセージを検証サーバ5に送信する。
【0088】
次に、顧客サーバ4は、機器マスタに登録した機器接続情報を用いて機器7に接続し、顧客サーバ情報を送信する(ステップ90)。
顧客サーバ情報には、公開鍵証明書(CA公開鍵でデジタル署名された顧客サーバ公開鍵証明書)や、URLやIPアドレスなどからなる顧客サーバ4への接続情報が含まれている。
【0089】
機器7は、顧客サーバ4から顧客サーバ情報を受信すると、CA公開鍵を用いて顧客サーバ公開鍵証明書のデジタル署名を検証し、顧客サーバ4の正統性を確認する。
そして、機器7は、顧客サーバ接続情報をEEPROM25に記憶し、顧客サーバ4に接続する際に用いる。
以後、顧客サーバ4と機器7は通信可能となり(ステップ95)、機器7は計測値を顧客サーバ4に送信することができる。この際、機器7は、計測値を顧客サーバ公開鍵で暗号化して顧客サーバ4に送信することにより、計測値の漏洩を防止する。
【0090】
以上の例では、顧客サーバ4から機器7に接続したが、機器7から顧客サーバ4に接続するように構成することもできる。
この場合、検証サーバ5は、顧客サーバ4に検証結果を送信した後(ステップ75)、顧客サーバ4から機器7を登録した旨の通知を受ける。
検証サーバ5は、このようにして機器7が登録されたことを確認した後、顧客サーバ接続情報を機器7に送信する(ステップ80)。
機器7は、検証サーバ5から顧客サーバ接続情報を受信し、これを用いて顧客サーバ4に接続する。
以後、顧客サーバ4と機器7は通信可能となる(ステップ95)。
【0091】
以上に説明した情報処理システム1では、機器7の有効性をCA3の失効リストで管理したが、失効リストのコピーを検証サーバ5で管理するように構成することもできる。
この場合、例えば、1日1回程度、バッチ処理にて検証サーバ5の機器登録データベースをCA3の失効リストに同期させる。
そして、機器7の検証の際に、検証サーバ5の機器登録データベースで機器7が失効であった場合、(失効になったものが有効になることはないので)検証サーバ5はCA3に問い合わせを行わなくても、当該機器7が失効であることを確認することができる。
そのため、検証サーバ5は、自己の機器登録データベースで機器7が有効であった場合にCA3に失効の有無を問い合わせればよい。この場合、前回バッチ処理を行った後、失効となった機器7が失効としてCA3から検証サーバ5に通知される。
このように、失効リストのコピーを用いることによりCA3への問い合わせ回数を減らすことができ、CA3の負荷を低減することができる。
【0092】
また、本実施の形態では、CA3、機器登録サーバ6及び検証サーバ5を別のサーバとして構成したが、1台のサーバで両者の機能を発揮するように構成することもできる。
例えば、検証サーバ5と機器登録サーバ6の機能を備えたサーバとCA3、機器登録サーバ6とCA3の機能を備えたサーバと検証サーバ5、検証サーバ5とCA3の機能を備えたサーバと機器登録サーバ6、あるいは、CA3、検証サーバ5、機器登録サーバ6の機能を備えたサーバを構成することもできる。これらの場合、サーバのメンテナンス作業などを軽減することができる。
【0093】
以上に説明した本実施の形態により次のような効果を得ることができる。
(1)耐タンパ部20内で非対称鍵のペア(機器秘密鍵、機器公開鍵)を生成することにより、機器7に機器秘密鍵を外部から秘匿して記憶させることができる。
(2)機器公開鍵を用いて機器7が機器秘密鍵を記憶していることを確認することにより機器7が正統な機器であることを検証することができる。
(3)機器7と顧客サーバ4を接続する際に、機器7の正統性を検証サーバ5で検証することにより、顧客サーバ4に対して機器7が正統な機器であることを保証することができる。
(4)検証サーバの接続情報を予め機器7に記憶させておくことにより、機器7の接続環境にかかわらず、機器7を検証サーバ5に接続することができる。
(5)失効となった機器7を失効リストで管理することにより、失効になった機器7と顧客サーバ4の接続を防止することができる。
(6)機器7の検証をネットワーク10を介して自動的に行うため、機器7の設置現場に高度な技術を有する技術者を派遣する必要がない。
【0094】
[機器の運用]
次に、情報処理システム1に機器7を設置した後の運用について説明する。
図8は、情報処理システム1で機器7の運用に関係するものを示したブロック図である。図1で示した検証サーバ5、CA3、親CA2は、機器7の設置が完了すると機能を終えるため図8には示していない。
また、機器7の運用を開始すると監査サーバと標準電波送信装置が関係してくるため、図8には、監査サーバ12、標準電波送信装置11が図示されている。
【0095】
機器7は、内部クロック22の計測する時刻によって計測値にタイムスタンプを発行するタイムスタンプ機能を有している。
また、機器7は、標準電波送信装置11が送信する標準電波を受信するための装置を備えており、後述するように、標準電波で外部クロック28(図2)を更正し、更に外部クロック28を用いて内部クロック22を更正する。
なお、本実施の形態では、標準電波によって内部クロック22を更正するが、これに限定するものではなく、例えば、GPSで配信される時刻や無線通信のプロトコルに含まれる時刻を用いることも可能であり、あるいは、時刻配信サーバの配信時刻を有線や無線にて機器7に供給するように構成することも可能である。
【0096】
監査サーバ12は、監査局が運用するサーバであって、機器7の内部クロック22を監査する。
一般に、監査局は、機器7を運用する顧客とは第三者である事業体が運用している。そのため、顧客が監査サーバ12の運用者と共謀してタイムスタンプのバックデイトを行うことが事実上不可能になり、極めて高いセキュリティレベルを実現することができる。
【0097】
監査サーバ12は、原子時計と監査用秘密鍵を備えており、原子時計による基準時刻を監査用秘密鍵でデジタル署名して時刻証明書を作成し、これを機器7に送信する。
機器7は、この時刻証明書を用いて内部クロック22が正しい時刻を出力しているか否かを確認し、正しい時刻を出力していない場合は、タイムスタンプの発行を停止するようになっている。このように、監査サーバ12は、機器7に基準時刻を送信することにより時刻監査を行うことができる。
【0098】
標準電波送信装置11は、標準電波局が運用し、時刻情報を含む標準電波を不特定多数の受信装置に送信する送信装置である。
機器7は、標準電波送信装置11が送信する標準電波を受信し、これを用いて(外部クロック28を介して)内部クロック22を更正する。
顧客サーバ4は、機器7からタイムスタンプが付与された計測データを受信し、計測値データベースに記憶する。
【0099】
図9は、機器7、監査サーバ12、及び顧客サーバ4の関係を説明するための図である。
監査サーバ12は、時刻証明書に記載する時刻を計測するための原子時計を備え、更に監査用秘密鍵を記憶している。
監査サーバ12が機器7に送信する時刻証明書には、基準時刻、制限時間、シリアル番号、固有情報、デジタル署名などが含まれている。
基準時刻は、原子時計が計測した時刻を用いて構成された時刻であり、原子時計の現在時刻をそのまま用いてもよいし、あるいは、通信の遅延が問題になる場合は、遅延時間で健在時刻を補正した値を用いるなど、何らかの補正を施した値を用いてもよい。
【0100】
制限時間は、時刻証明書に記録してある基準時刻の有効期限である。即ち、時刻証明書に記してある基準時刻で監査した内部クロック22の出力時刻は、この制限時間の間、監査局により精度が保証される。
機器7は、この制限時間の範囲内でタイムスタンプを発行することができ、このタイムスタンプを発行できる時間を活性化時間と呼ぶ。
【0101】
シリアル番号は、監査サーバ12が発行順に付与する時刻証明書の番号であるが、連番を発行すると、外部から推測が容易になる可能性があることから、本実施の形態では、シリアル番号を乱数により構成した。
固有情報は、例えば、耐タンパ部20のID情報など、機器7のハードウェアに固有な情報である。固有情報が一致しない場合、耐タンパ部20はエラーを発する。
【0102】
なお、これらの項目のほかに、時刻証明書の有効期限や、時刻証明書の正当性が確認された後、機器7と監査サーバ12の間の通信の共通鍵なども時刻証明書に含めることができる。
【0103】
デジタル署名は、メッセージのダイジェストを監査用秘密鍵で暗号化したものである。
ここで、メッセージは、現在時刻、制限時間、シリアル番号、固有情報など、改竄を防止する情報であり、ダイジェストはメッセージをハッシュ関数によって演算したハッシュ値である。
時刻証明書の受信者は、メッセージからダイジェストを作成し、更に、デジタル署名を監査用公開鍵で復号化してダイジェストを復元する。そして、両者の一致によって時刻証明書の内容が改竄されていないことを確認することができる。
【0104】
機器7は、耐タンパ部20に、先に説明した機器秘密鍵、内部クロック22のほかに、監査用秘密鍵と対をなす監査用公開鍵をEEPROM25に記憶すると共にモード切替部51を有している。
モード切替部51は、出荷時にEEPROM25に予め記憶されたタイムスタンププログラムをCPU21で実行することにより構成されたものである。
また、EEPROM25には、直近の過去に監査サーバ12から受信した時刻証明書である前回証明書が記憶されている。
図2では、通信部26を計測部35に含めて示したが、ここでは理解を容易にするため通信部26を計測部35の外に図示している。
【0105】
監査用公開鍵は、監査サーバ12から送信されてくる時刻証明書に付随するデジタル署名を復号化するための公開鍵情報である。
耐タンパ部20は、監査用公開鍵を用いて時刻証明書の正統性を確認することができ、基準時刻の有効性を確認する。
【0106】
機器秘密鍵は、顧客サーバ4に送信する計測データをデジタル署名するのに用いる。
ここで、メッセージとして用いられる情報は、計測値、機器ID、計測時刻などであり、これらのダイジェストを機器秘密鍵でデジタル署名することによりタイムスタンプが構成されている。
なお、ダイジェストを生成せずに、メッセージをそのままデジタル署名してもよい。
【0107】
内部クロック22は、計測値に計測時刻を付与する。即ち、耐タンパ部20が計測部35から計測値を取得した時刻を内部クロック22で計測し、この時刻を計測時刻とする。
内部クロック22は、耐タンパ部20の内部に構成されるという制約があるため、高精度の時計装置で構成することが困難である。一方、外部クロック28は精度が高く、標準電波によって常に更正されている。そこで、耐タンパ部20は、外部クロック28(図2)を適宜参照して内部クロック22を更正する。
【0108】
ここで、内部クロック22の更正について図10を用いてより詳細に説明する。
図10は、内部クロック22が計測する時刻の一例を示しており、一例として「2005年3月30日15時30分20秒2百ミリ秒」となっている。このように内部クロック22は時刻を百ミリ秒単位で計測している。
耐タンパ部20は、内部クロック22の時刻を分以上の部分(以下、時刻ラベルと呼ぶ)と秒単位に区分して管理しており、時刻監査は時刻ラベルに対して行い、時刻の更正は秒単位に対して行う。
【0109】
このため、内部クロック22の時刻のうち、セキュリティを要する部分(時刻ラベル)については改竄を行うことができず、セキュリティを高めることができる。また、品質を提供する部分(秒単位)は、標準電波によって高精度に更正される。
一般に、内部クロック22は、更正しなくても数ヶ月間程度は1分以内の精度を維持できるので、顧客は、その間に機器7を設置して内部クロック22の秒単位の更正を行うことにより内部クロック22の更正を行うことができる。
【0110】
なお、本実施の形態では、一例として秒単位を境としてセキュリティに関係する部分と品質保証に関係する部分に時刻を区分したが、これに限定するものではなく、計測対象などに応じて、更に大きい単位、あるいは小さい単位で区分することも可能である。
即ち、例えば、タイムスタンプで1秒単位まで正確な時刻が必要な場合は、1秒以上の部分を監査サーバ12で監査し、999ミリ秒以下の時刻を標準電波で更正する。
【0111】
図9に戻り、前回証明書は、前回の時刻監査の際に監査サーバ12から送られてきて使用した時刻証明書をEEPROM25に記憶しておいたものである。
耐タンパ部20は、監査サーバ12から送信されてきた時刻証明書の基準時刻を確認する際に、この基準時刻が前回に監査サーバ12から受信した基準時刻よりも後であることを確認する。
【0112】
タイムスタンプにおいて、最も防がなくてはならないことは、改竄などによりバックデイト(過去の時刻を出力させること)された時刻でタイムスタンプを発行することである。
そのため、耐タンパ部20は、監査サーバ12から送信されてきた基準時刻が前回に監査を行った時刻(前回証明書に記載されている時刻)よりも後であることを確認する。
【0113】
そして、監査サーバ12から送信されてきた基準時刻が前回証明書に記載された時刻よりも前である場合は、エラーメッセージを発するなどして監査モード(後述)で停止し、タイムスタンプの発行を行わない。
【0114】
このように前回の基準時刻を記憶しておき、監査に用いる基準時刻がこれよりも後の時刻であることを確認することにより、バックデイトされた時刻でタイムスタンプが発行されるのを防止することができる。
なお、工場出荷時に、デフォルトの前回証明書をEEPROM25に記憶させておく。
【0115】
モード切替部51は、耐タンパ部20のタイムスタンプ機能に関する動作モードを順次切り替える機能部である。
耐タンパ部20が行う動作モードには、監査モード、同期モード、スタンプモードがある。
これらの各動作モードはそれぞれ独立したモジュールが行い、モジュール間の干渉が生じないようにしてある。
【0116】
監査モードは、監査サーバ12から送信されてきた基準時刻を用いて内部クロック22の時刻ラベルが正しいことを監査する動作モードである。
同期モードは、標準電波送信装置11から標準電波により配信される時刻を用いて内部クロック22の秒単位の部分を正確な時刻に同期させる(即ち、更正する)動作モードである。
スタンプモードは、計測部35が計測した計測値に対してタイムスタンプを発行する動作モードである。
【0117】
モード切替部51は、耐タンパ部20の動作モードを、図11に示したように、監査モード→同期モード→スタンプモード→監査モード→・・・、といったように、所定の順序にて順次切り替えていく。
これらのモードのうち、監査モードとスタンプモードは、時刻ラベルを扱うため、高いセキュリティを要する動作モードであり(セキュリティモード)、一方、同期モードは秒単位を扱うため、高いセキュリティが必ずしも必要ない動作モード(一般モード)である。
【0118】
そして、モード切替部51は、現在動作中の動作モードが完了するまでは耐タンパ部20を次の動作モードに切り替えない。
そのため、スタンプモードで動作するためには、監査モードと同期モードが完了していることが必要となり、耐タンパ部20は、監査、同期された時刻にてタイムスタンプを発行することができる。
また、耐タンパ部20は、監査モード、同期モードの少なくとも一方でエラーが発生した場合に、タイムスタンプの発行を停止することができる。
【0119】
このように、耐タンパ部20は、セキュリティモードと一般モードを切り替えて動作することにより、高いセキュリティの必要な処理と高いセキュリティの必要のない処理を同時に行うことを防止している。
しかも、各動作モードは独立したモジュールにて動作するため、耐タンパ部20は、セキュリティモードでの処理と一般モードでの処理が耐タンパ部20内で干渉することを防ぐことができ、クラッキングなどの不正アクセスに対して高い耐性を備えている。
【0120】
なお、耐タンパ部20では、セキュリティモードを監査モードとスタンプモードに区分して切り替えているが、これらは何れもセキュリティモードなので、同じモードにて監査とスタンプの発行を行うように構成してもよい。
更に、本実施の形態では、監査モード→同期モード→スタンプモード→監査モード・・・の順序でモードの切り替えを行ったが、モード切り替えの順序はこれに限定するものではなく、例えば、同期モード→監査モード→スタンプモード→同期モード→・・・など、他の順序で動作モードを切り替えてもよい。
【0121】
このようにして、機器7(図9)は、スタンプモードの間、計測部35から計測値を取得して内部クロック22の時刻によりタイムスタンプを発行し、計測データとして顧客サーバ4に送信する。
このように、機器7は、タイムスタンプ機能を内蔵しており、計測と共にタイムスタンプを発行するため、当該計測値が確かに当該計測時刻に計測されたことを保証することができる。
なお、本実施の形態では、内部クロック22で計測した時刻を計測時刻としたが、計測部35が計測値と共に計測時刻を耐タンパ部20に出力し、この計測時刻を含めて耐タンパ部20がタイムスタンプを発行するように構成することもできる。
【0122】
顧客サーバ4(図9)は、機器7を登録した機器マスタと機器7から送信された計測データを記憶する計測値データベースを備えている。
図12(a)は、機器マスタの論理的な構成の一例を示した図である。
機器マスタは、「機器ID」、「接続情報」、「機器公開鍵」、「型番」、「設置箇所」、「設置日」、・・・などの各項目から構成されている。
機器IDは、機器7を識別するのに用い、接続情報は機器7に接続するのに用いる。機器公開鍵は計測データのタイムスタンプ(デジタル署名)を確認するのに用いる。
【0123】
図12(b)は、計測値データベースの論理的な構成の一例を示した図である。
計測値データベースは、「機器ID」、「受信時刻」、「計測値」、「計測時刻」、・・・などの項目から構成されている。
機器IDは、計測データの送信元である機器7の機器IDであり、受信時刻は、顧客サーバ4が計測データを受信した時刻である。計測値は、計測データに含まれていた計測値である。
顧客サーバ4は、機器7の機器公開鍵で計測データのタイムスタンプを検証し、計測データや計測時刻などが改竄されていないことを確認してからこれらを計測値データベースに登録する。
【0124】
次に、図13を用いて顧客サーバ4が機器7から計測データを収集する手順について説明する。
ここでは、機器7が監査モードに切り替わった時点から説明する。なお、以下の機器7の動作は耐タンパ部20が行うものである。
まず、モード切替部51が耐タンパ部20を監査モードに切り替えると、機器7は、監査サーバ12に接続し、時刻証明書の送信を要求する(ステップ25)。
【0125】
監査サーバ12は、機器7から時刻証明書の送信要求を受けると、原子時計の出力する時刻を用いて時刻証明書作成し、機器7に送信する(ステップ30)。
機器7は、監査サーバ12から時刻証明書を受信すると、監査用公開鍵を用いて時刻証明書のデジタル署名を確認した後、時刻証明書の基準時刻と、内部クロック22が計測している時刻の時刻ラベル(図10)が一致することを確認する(ステップ35)。
【0126】
時刻ラベルが基準時刻ラベルと一致しない場合、耐タンパ部20では、モード切替部51がモード切替を停止し、機器7はエラーメッセージを顧客サーバ4に送信する。これによって、顧客サーバ4では、機器7の異常を検知することができる。
時刻ラベルと基準時刻が一致する場合、モード切替部51は、耐タンパ部20の動作モードを同期モードに切り替える。
【0127】
耐タンパ部20が同期モードに設定されると、機器7は、基地局8が放送している標準電波(ステップ40)を受信し、標準電波で送られた時刻を用いて内部クロック22の秒単位を更正する(ステップ45)。
内部クロック22の秒単位の更正が完了すると、モード切替部51は、耐タンパ部20の動作モードをスタンプモードに切り替える。
【0128】
耐タンパ部20がスタンプモードに切り替わると、計測部35のCPU29は、計測装置部34で計測された計測値を耐タンパ部20に送信する。そして、耐タンパ部20は、これを用いて計測データを生成して顧客サーバ4に送信する(ステップ50)。
顧客サーバ4は、機器7から計測データを受信し、計測値などを計測値データベースに記憶する(ステップ60)。
【0129】
耐タンパ部20は、時刻監査からの期間が活性化時間を経過したか否かを監視しており、活性化時間を経過していない場合(ステップ55;N)、機器7は、ステップ50に戻って計測を続行する。
一方、活性化時間を経過した場合(ステップ55;N)、機器7は、無限ループを続行するか否かを判断する(ステップ65)。
【0130】
無限ループを続行する場合は(ステップ65;Y)、モード切替部51が耐タンパ部20の動作モードを監査モードに切り替えて機器7はステップ25に戻る。無限ループを続行しない場合(ステップ65;N)、機器7は動作を終了する。
機器7は、通常無限ループで連続的に動作するが、例えば、使用期間が限定されてる場合で使用期限が切れた場合など、無限ループを続行しない場合は自動停止する。
【0131】
次に、図14のフローチャートを用いて機器7の時刻監査についてより詳細に説明する。図14のステップ110〜ステップ140は、図13のステップ35に対応する。
機器7が時刻証明書を要求し(ステップ25)、これに応じて監査サーバ12が時刻証明書を送信する(ステップ30)。
機器7は、監査サーバ12から送信されてきた時刻証明書を受信し、これを耐タンパ部20に入力する。
そして、機器7は、時刻証明書に記されている基準時刻と内部クロック22が計測している時刻を比較する(ステップ110)。
【0132】
この比較は時刻ラベル、即ち分単位で行い、秒単位は行わない。例えば、時刻証明書に記載されていた時刻が「2005年3月20日12時30分3秒2百ミリ秒」で、内部クロック22の時刻が「2005年3月20日12時30分0秒5百ミリ秒」であった場合、両者は分単位以上が同じであるので、機器7は両者が一致すると判断する。
【0133】
時刻証明書に記載されていた時刻と内部クロック22の時刻が一致しない場合(ステップ115;N)、機器7はステップ25に戻り、監査サーバ12に再度時刻証明書の送信を要求する。
両時刻が一致する場合(ステップ115;Y)、機器7は、時刻証明書の有効性を確認する(ステップ120)。
【0134】
この有効性は、時刻証明書に付属するデジタル署名を監査用公開鍵で復号化してダイジェストを復元し、更に時刻証明書から監査サーバ12と同じ関数(例えば、ハッシュ関数)を用いてダイジェストを求め、両者の一致を確認することにより行う。
また、時刻証明書に時刻証明書の有効期限が付属している場合は、有効期限内であることを確認する。
【0135】
このように、時刻証明書と内部クロック22の時刻の比較を時刻証明書の有効性の確認の前に行ったのは、時刻の比較をなるべく速やかに行うためである。
即ち、有効性の確認の後に時刻の比較を行うと、有効性の確認に要する時間だけ内部クロック22の時刻が進んでしまい、時刻証明書に記載されている時刻との差が大きくなるためである。
【0136】
時刻証明書が有効でなかった場合(ステップ125;N)、機器7はステップ25に戻る。
時刻証明書が有効であった場合(ステップ125;Y)、機器7は、前回証明書(図9)に記載されている基準時刻と、時刻証明書に記載されている基準時刻との前後関係を比較する(ステップ130)。
【0137】
時刻証明書に記載されている基準時刻が、前回証明書に記載されている基準時刻よりも前の時刻であった場合(ステップ135;N)、機器7はステップ25に戻る。
一方、時刻証明書に記載されている基準時刻が、前回証明書に記載されている基準時刻よりも後の時刻であった場合(ステップ135;Y)、前回証明書を今回受け取った時刻証明書にて上書きするなどして置き換える。
【0138】
通信回線の状態などにより、監査エラーが発生する場合があり、この場合、機器7は、その都度ステップ25に戻って監査サーバ12に時刻証明書の発行を要求するようになっている。
そして、監査サーバ12は、監査の再実行が所定回数に達した場合は、機器7を停止させるコマンドを機器7に送信する。
このように、機器7で何らかの異常が発生していると考えられる場合、監査サーバ12は機器7を停止させることができる。
【0139】
次に、図15のフローチャートを用いて機器7の計測処理についてより詳細に説明する。図15のステップ200〜ステップ220は、図13のステップ50に対応し、図15のステップ225、230は、図13のステップ60に対応する。
機器7の計測部35(図2)は、外部クロック28を監視しており、予め設定された計測時刻に達すると、計測装置部34に計測を指示し、これによって計測を実行する(ステップ200)。
なお、計測部35が計測装置部34から計測値を取得するタイミングは、機器7の種類や用途などによって様々設定することができる。
【0140】
そして、機器7は、計測部35で取得した計測値をバスラインを介して耐タンパ部20に提供する(ステップ205)。
耐タンパ部20では、計測値が提供された時刻を内部クロック22から取得し、この時刻を測定値の計測時刻とする(ステップ210)。
【0141】
次に、機器7は、耐タンパ部20内で、機器ID、計測値、計測時刻などのメッセージのダイジェストを作成し、これを機器秘密鍵で暗号化してタイムスタンプを生成・発行する(ステップ215)。
そして、機器7は、機器ID、計測値、計測時刻やタイムスタンプなどから計測データを作成し、顧客サーバ4に送信する(ステップ220)。
【0142】
顧客サーバ4は、計測データを機器7から受信すると、計測データに記されている機器IDを機器マスタで検索し、当該機器7の機器公開鍵を取得する。
そして、顧客サーバ4は、この機器公開鍵を用いてタイムスタンプの確認を行う(ステップ225)。
タイムスタンプの確認を終えると、顧客サーバ4は、計測データに記されている計測値や計測時刻などを計測値データベースに記憶し、これを更新する(ステップ230)。
【0143】
以上に説明したように、機器7の計測部35は、計測対象を計測する計測手段として機能し、内部クロック22は、時刻を計測する時計装置として機能する。
そして、耐タンパ部20は、スタンプモードにおいて、計測部35で計測がなされた際の時刻を内部クロック22から取得し、当該計測値に対して当該取得した時刻による時刻証明情報(タイムスタンプ)を生成する時刻証明情報生成手段として機能している。
【0144】
また、EEPROM25は、非対称暗号鍵として対をなす機器公開鍵と機器秘密鍵のうち、機器秘密鍵を記憶する秘密鍵記憶手段として機能し、耐タンパ部20は、当該機器秘密鍵を用いて、計測値と時刻を対応づけた対応情報(メッセージやダイジェスト)を、所定の暗号方式により暗号化することにより時刻証明情報を生成する。
また、通信部26は、生成した時刻証明情報を所定の送信先に送信する送信手段として機能している。
【0145】
また、機器7は、基準時刻送信装置(標準電波送信装置11など)が送信した基準時刻(標準電波など)を受信する基準時刻情報受信手段と、当該基準時刻を用いて、内部クロック22が計測する時刻のうち所定単位よりも小さい単位の時刻(秒単位の時刻)を補正する時刻補正手段と、備えている。
更に、機器7は、所定の監査サーバから基準時刻を受信する基準時刻受信手段を備え、モード切替部51は、前記所定単位以上の時刻(時刻ラベル)において、内部クロック22で計測した時刻と当該受信した基準時刻が一致する場合に前記時刻証明情報生成手段を動作させ、一致しない場合に前記時刻証明情報生成手段を停止させる監査結果実行手段として機能している。
【0146】
以上に説明した本実施の形態により次のような効果を得ることができる。
(1)機器7にタイムスタンプ機能が内蔵されてるため、計測値からタイムスタンプで証明される時刻に計測されたものであることを保証することができる。
(2)機器7での計測時刻が改竄できないため、信頼できる計測値の時系列を得ることができる。
(3)内部クロック22の更正に、標準電波を用いるため、更正用の時刻を配信する設備が必要ない。
(4)時刻の更正は秒単位以下に対してしか行うことができないため、時刻ラベルの改竄を防ぐことができる。
(5)耐タンパ部20の動作をセキュリティモード(時刻監査、タイムスタンプの発行)と一般モード(同期)で切り替えるため、セキュリティを高めることができる。
【0147】
なお、本実施の形態では、内部クロック22の計測する時刻を時刻ラベルと秒単位に区分し、時刻監査は時刻ラベルに対して行い、時刻の更正は標準電波にて秒単位に対して行ったが、従来技術のように時刻配信サーバを設け、これによって時刻配信を行い、これによって更正された内部クロック22の時刻を時刻監査するように構成してもよい。
また、機器7の用途としては、水道・ガスメータといったメータ類のほかに、ハウス栽培の温度計、原子力発電所での放射能漏れ計測装置、地震計などに用いることができる。
【0148】
また、機器7は、次のような時刻証明サーバとしての機能を有している。
即ち、時刻を出力する時計装置と、前記時計装置が出力した時刻のうち、所定の単位以上の時刻(時刻ラベル)を取得する第1の時刻取得手段と、基準時刻を配信する基準時刻配信サーバ(監査サーバ12)から基準となる時刻を受信する基準時刻受信手段と、前記所定単位以上の時刻において前記第1の時刻取得手段で取得した時刻と前記受信した基準時刻とが一致することを確認することにより、前記時計装置が所定の範囲の精度で作動していることを検証する検証手段と、クライアント機器(計測部35)から、時刻証明対象となる証明対象情報を受信する証明対象情報受信手段と、前記精度を検証した前記時計装置が出力する時刻を用いて、前記受信した証明対象情報の時刻証明情報(タイムスタンプ)を生成する時刻証明情報生成手段と、前記生成した時刻証明情報を所定の送信先に送信する時刻証明情報送信手段と、を具備したことを特徴とする時刻証明サーバを提供する(第1の構成)。
第1の構成において、前記検証手段は、検証に用いる基準時刻が、前回の検証で用いた基準時刻よりも後の時刻であることが確認できた場合に、前記時計装置が所定の範囲の精度にて作動していると検証するように構成することもできる(第2の構成)。
第1の構成、又は第2の構成において、更正時刻発生装置(標準電波送信装置11)から更正時刻を取得する更正時刻取得手段と、前記取得した更正時刻を用いて、前記時計装置が計測する時刻のうち、前記所定の単位よりも小さい単位(秒単位)の時刻を更正する時刻更正手段と、を具備し、前記時刻証明情報生成手段は、前記構成した時刻を用いて前記時刻証明情報を生成するように構成することもできる(第3の構成)。
第1の構成、第2の構成、又は第3の構成において、前記所定の単位を変更する所定単位変更手段を具備するように構成することもできる(第4の構成)。
第3の構成において、前記検証手段と前記時刻証明情報生成手段が動作する第1の動作モードと、前記時刻更正手段が動作する第2の動作モードと、を切り替える動作モード切替手段を具備し、前記動作モード切替手段は、それぞれの動作モードにて動作が完了した後に動作モードを切り替えるように構成することもできる(第5の構成)。
第5の構成において、前記第1の動作モードは、前記検証手段が前記時計装置を検証する検証モードと、前記時刻証明情報生成手段が前記時刻証明情報を生成する時刻証明情報生成モードと、から成り、前記動作モード切替手段は、前記検証モードと前記時刻証明情報生成モードの切替において、モード切替元の動作が完了した後にモード切替先に動作モードを切り替えるように構成することもできる(第6の構成)。
【0149】
[子機の設置]
次に、以上のようにして設置された機器7に子機を設置する場合について説明する。
図16は、情報処理システム1において、機器7を親機として子機9を接続したところを示したブロック図である。
機器7は、複数の子機9に直接接続することができると共に、子機9を介して更に多くの子機9と接続することができる。
本実施の形態では、機器7と子機9の接続、及び子機9と子機9の接続は無線を用いるが、有線にて接続してもよい。
【0150】
情報処理システム1において、子機9は、計測値を機器7に送信し、機器7は、これにタイムスタンプを付与して顧客サーバ4に送信する。
このようにして、顧客サーバ4は、機器7や子機9からタイムスタンプが付与された計測値を収集することができる。
【0151】
図17は、子機9のハードウェア的な構成の一例を示したブロック図である。
子機9の構成は、図2に示した機器7と概略同じになっている。そのため、対応する構成要素には機器7と同じ符号を付し、重複する説明は簡略化あるいは省略する。
【0152】
EEPROM25には、非対称暗号鍵生成プログラム、子機秘密鍵、子機証明書、接続要求プログラム、共通鍵、CA公開鍵証明書などが記憶されている。
非対称暗号鍵生成プログラムは、子機秘密鍵と子機公開鍵のペアを生成するためのプログラムであり、CPU21がこのプログラムを実行することにより、子機秘密鍵と子機公開鍵のペアが耐タンパ部20内で生成される。
そして、子機秘密鍵は、生成された後、EEPROM25に記憶される。このようにEEPROM25は、子機秘密鍵記憶手段を構成している。
【0153】
子機証明書は、子機公開鍵の子機公開鍵証明書を検証サーバ公開鍵で暗号化した暗号化子機公開鍵証明書や、子機IDなどからなる子機固有情報などを、CA3がCA秘密鍵でデジタル署名したものである。このように、EEPROM25は、暗号化子機公開鍵記憶手段を構成している。
接続要求プログラムは、子機9を機器7に接続する際に用いるプログラムである。機器7も子機9からの接続要求を受け付ける子機接続プログラムを記憶しており、これらが協働して機能することにより機器7と子機9の接続がなされる。
【0154】
共通鍵は、機器7と接続する際に、機器7から送信されてきた共通鍵であり、子機9は、計測値を機器7に送信する際に、これを共通鍵で暗号化して送信し、また、機器7から送られてくる情報(共通鍵で暗号化されている)を共通鍵で復号化する。
CA公開鍵証明書は、CA3の公開鍵証明書である。また、図示しないが、ルート証明書もEEPROM25に記憶されている。
【0155】
次に、図18を用いて、子機9の出荷前処理から設置までの手順の全体構成について説明する。図中に手順の順序を括弧にて示してあり、以下、この順序に従って説明していく。なお、機器7は、既に情報処理システム1に設置されているものとする。
また、手順(1)から手順(4)までは、子機9の設置前(好ましくは顧客への出荷前)に行う作業である。
(1)(子機秘密鍵と子機公開鍵の非対称暗号鍵ペアの生成)
子機9のハードウェアが完成すると、作業担当者が子機9を操作して非対称暗号鍵生成プログラムを実行し、耐タンパ部20内でCPU21に子機秘密鍵と子機公開鍵のペアを生成させる。
そして、子機9は、生成した子機秘密鍵をEEPROM25の所定のエリアに記憶する。
【0156】
(2)(子機公開鍵の送信)
子機9は、作業担当者によって当該子機9を担当するCA3に接続され、生成した子機公開鍵と子機固有情報(子機IDなど)をCA3に送信する。
(3)(子機証明書の書き込み)
CA3は、子機9から子機公開鍵を受信すると、これをCA秘密鍵でデジタル署名して子機公開鍵証明書を作成する。
更に、CA3は、検証サーバ公開鍵を記憶しており、これを用いて所定の暗号方式により子機公開鍵証明書を暗号化し、暗号化子機公開鍵証明書を作成する。
そして、CA3は、暗号化子機公開鍵証明書やその他の情報(子機固有情報など)をデジタル署名して子機証明書を作成し、子機9に送信する。
子機9は、子機証明書をCA3から受信し、EEPROM25に記憶する。
(4)(出荷)
子機9は、子機証明書を記憶した後、顧客に出荷され、その後は顧客の管理下におかれる。
【0157】
(5)(接続要求)
子機9は、出荷された後、設置担当者によって設置箇所に設置される。機器7と子機9が無線通信できる範囲は限られているので、子機9は、親機となる機器7との通信範囲内(例えば、機器7から半径百メートルの範囲)に設置される。
子機9では、設置箇所に設置された後、設置担当者によって接続要求プログラムが起動される。
【0158】
子機9は、接続要求プログラムが起動すると、通信範囲内にある機器7を検出する。
そして、子機9は、検出された機器7に対して接続要求を行い、子機証明書を機器7に送信する。このように子機9は、暗号化子機公開鍵(子機証明書に含まれている)送信手段を備えている。
機器7が複数検出された場合、子機9は、例えば、各機器7の機器IDを取得して表示装置に表示し、設置担当者に接続する機器7を選択させる。
【0159】
(6)(顧客サーバ4への子機証明書の送信)
機器7は、子機9から子機証明書を受信して(暗号化子機公開鍵受信手段)、CA公開鍵でデジタル署名を確認する。そして、機器7は、顧客サーバ4に接続して子機証明書を顧客サーバ4に送信する。
このように、機器7は、暗号化子機公開鍵を所定の送信先に送信する暗号化子機公開鍵送信手段を備えている。本実施の形態では、所定の送信先を顧客サーバ4とするが、例えば、検証サーバ5に直接送信するなど、各種の変形例が考えられる。
【0160】
顧客サーバ4は、機器7から子機証明書を受信する。このように、機器7は、暗号化子機公開鍵受信手段を備えている。
顧客サーバ4は、機器7から機器IDを取得し、子機証明書から子機IDを取得することができる。なお、顧客サーバ4は、子機証明書の受信に際し、デジタル署名によって正統性を確認する。
そして、顧客サーバ4は、子機マスタを用いて機器7と子機9の組み合わせが予め登録されているか否かを確認する。
【0161】
子機マスタは、図19に示したように、機器7に接続する子機9を機器IDと子機IDの組み合わせにより予め規定したものであり、対応記憶手段を構成している。また、子機マスタには、子機9の有効性も登録されており、使用可能なものは有効に設定され、使用されないものは失効に設定されている。
【0162】
顧客サーバ4は、機器7から受信した機器IDと子機IDの組み合わせが子機マスタで規定されているものと一致し、更に当該子機の有効性が有効である場合に、後の処理を続行する。一方、これらの条件のうち、少なくとも一方が満たされない場合は、エラーメッセージを機器7に送信する。
即ち、機器7は、機器7と子機9が子機マスタで対応づけられているか否かを確認する対応確認手段を備えている。
このように、機器7に接続する子機9を顧客が予め計画して子機マスタに規定しておくことにより、なりすましによる子機9の設置や子機9の誤設置を防ぐことができる。
【0163】
(7)(検証サーバ5への子機証明書の送信)
図18に戻り、顧客サーバ4は、子機マスタによる確認を行った後、子機証明書を検証サーバ5に送信する。このように、機器7は、暗号化子機公開鍵送信手段を備えている。
(8)(顧客サーバ4への子機公開鍵送信)
検証サーバ5は、顧客サーバ4から子機証明書を受信すると、デジタル署名によって正統性を確認する。
そして、検証サーバ5は、子機証明書に含まれる暗号化子機公開鍵証明書を検証サーバ秘密鍵で復号化し、顧客サーバ4に送信する。
暗号化子機公開鍵証明書の復号化ができなかったり、あるいは子機証明書などの正統性が確認できなかった場合、検証サーバ5は顧客サーバ4にエラーメッセージを送信する。
【0164】
(9)(機器7への子機公開鍵の送信)
顧客サーバ4は、検証サーバ5から子機公開鍵を受信すると、これを機器7に転送する。
(10)(共通鍵の送信)
機器7は、顧客サーバ4から子機公開鍵を受信し(子機公開鍵受信手段)、これをRAM24に一時記憶する。そして、機器7は、乱数を発生させるなどして共通鍵を生成し、これを一時記憶しておいた子機公開鍵で暗号化して子機9に送信する。
子機9は、機器7からこの暗号化共通鍵を受信し、これを子機秘密鍵で復号化して共通鍵を復元する。
以後、機器7と子機9は、この共通鍵を用いて情報を暗号化し、通信する。即ち、機器7と子機9のうち、情報送信側は、共通鍵で情報を暗号化して送信し、情報受信側は、共通鍵で情報を復号化する。
【0165】
なお、以上の例では、機器7は顧客サーバ4を介して検証サーバ5に暗号化子機公開鍵証明書を送信し、更に顧客サーバ4を介して子機公開鍵を受信したが、これに限定するものではなく、例えば、機器7が検証サーバ5と接続し、機器7から検証サーバ5に暗号化子機公開鍵証明書を直接送信し、また、子機公開鍵の受信も検証サーバ5から直接行うように構成することもできる。
【0166】
また、顧客サーバ4は、機器7から暗号化子機公開鍵を受信すると、これを順次検証サーバ5に送信するように構成したが、ある期間の間、暗号化子機公開鍵を受信して記憶しておき、バッチ処理にてこれらを一括して検証サーバ5に送るように構成することもできる。
【0167】
次に、図20のフローチャートを用いて子機9が機器7に接続する手順について説明する。なお、以下で子機9が行う情報処理は主に耐タンパ部20(図17)内でCPU21が行うものである。
なお、子機9内で子機公開鍵と子機秘密鍵のペアを生成するなど、子機出荷前の処理は機器7と同様であるので説明を省略する。
子機9は、設置場所に設置されると、設置担当者が入力部32(図17)を操作し、接続要求プログラムを起動する。すると、子機9は、周辺に存在する機器7を検索し、検索された機器7に対して接続要求を行う。
【0168】
一方、機器7は子機9から接続要求があった場合に、耐タンパ部20(図2)に予め記憶した子機接続プログラムを起動し、子機9と協働して以下の一連の情報処理を行う。
まず、機器7で子機接続プログラムが起動されると、子機9はEEPROM25から子機証明書を読み出し、機器7に送信する(ステップ305)。
【0169】
機器7は、子機9から子機証明書を受信すると、CA公開鍵を用いてデジタル署名を検証し、子機証明書の正統性を確認する。
正統性が確認できなかった場合、機器7は子機9にエラーメッセージを送信する。正統性が確認できた場合、顧客サーバ接続情報を用いて顧客サーバ4に接続する。この際に、機器7の機器IDが顧客サーバ4に通知される。なお、機器7と顧客サーバ4が常時接続されたものである場合は、新たに接続する必要はない。
機器7は、顧客サーバ4に接続した後、子機9から受信した子機証明書を顧客サーバ4に送信する(ステップ310)。
【0170】
顧客サーバ4は、機器7から子機証明書を受信すると、CA公開鍵によってデジタル署名を確認する。
次に、機器7の機器IDと子機9の子機証明書に記載された子機IDの組み合わせを子機マスタ(図19)で検索し、予めこの組み合わせが子機マスタで規定されているか否かを確認する(ステップ315)。
組み合わせが確認できなかった場合、顧客サーバ4は機器7に対してエラーメッセージを送信し、このエラーメッセージは、更に機器7から子機9に伝達される。
組み合わせが確認できた場合、顧客サーバ4は、検証サーバ5に接続し、子機証明書を送信する(ステップ320)。
【0171】
検証サーバ5は、顧客サーバ4から子機証明書を受信すると、CA公開鍵でデジタル署名を確認する。
次に、子機証明書に含まれる暗号化子機公開鍵証明書を予め記憶した検証サーバ秘密鍵でこれを復号化し、子機公開鍵証明書を復元する(ステップ325)。
次に、検証サーバ5は、CA公開鍵を用いて子機公開鍵証明書のデジタル署名を確認し、子機公開鍵証明書の正統性を確認する。
【0172】
子機証明書や子機公開鍵証明書が正統なものでなかった場合、検証サーバ5は、顧客サーバ4にエラーメッセージを送信し、このエラーメッセージは更に機器7を介して子機9まで伝達される。
子機公開鍵証明書が正統なものであった場合、検証サーバ5は子機公開鍵を顧客サーバ4に送信する(ステップ330)。
【0173】
顧客サーバ4は、検証サーバ5から子機公開鍵を受信し、これを機器7に送信する(ステップ335)。
機器7は、顧客サーバ4から子機公開鍵を受信すると、共通鍵を生成し、これを子機公開鍵で暗号化して暗号化共通鍵を生成する(ステップ340)。そして、機器7は、暗号化共通鍵を子機9に送信する(ステップ345)。
【0174】
子機9は、機器7から暗号化共通鍵を受信すると、これをEEPROM25に記憶してある子機秘密鍵を用いて復号化して共通鍵を復元する(ステップ350)。
このようにして、機器7と子機9は、共通鍵を共有することができ、以後、機器7と子機9は、送受信する情報を共通鍵で暗号化・復号化して通信する。
このようにして、機器7と子機9が共通鍵を共有したことを確認した後、機器7は、子機9の子機固有情報やアドレスなどをEEPROM25(図2)に記憶し、子機9を自己の子機として正式登録する。このようにして、機器7と子機9は接続する(ステップ355)。
【0175】
次に、図21のフローチャートを用いて、子機9と機器7の接続方法の変形例について説明する。
先に説明した実施の形態では、子機マスタで予め機器7と子機9の組み合わせが規定されていたが、この変形例では、機器7に任意の子機9を接続し、この機器7と子機9の組み合わせによって動的に子機マスタを更新する。
なお、図20と共通のステップには、同じステップ番号を付し、説明を簡略化あるいは省略することにする。
【0176】
ステップ305、ステップ310は、図20と同様である。
次に、顧客サーバ4は、子機証明書を機器7から受信すると、当該機器7の機器IDに対して当該子機9の子機IDを対応づけて子機マスタに仮登録する(ステップ360)。
本変形例の子機マスタでは、初めは機器IDと子機IDの対応づけがなされておらず、ステップ360の処理によって機器IDと子機IDの対応を記憶するようになっている。
【0177】
以降、ステップ320からステップ355までは図20と同じである。
そして、機器7は、子機9との接続を確立すると、顧客サーバ4に対して子機9と接続した旨の接続通知を送信する(ステップ365)。
顧客サーバ4は、機器7から接続通知を受信すると、子機マスタで仮登録してある当該機器7の機器IDと当該子機9の子機IDの組み合わせを確定し、子機マスタに正式に登録する(ステップ370)。
【0178】
この変形例では、予め機器7と子機9の組み合わせを機器マスタで規定しないので、機器7と子機9の組み合わせを確認することはできないが、機器7に対して任意の子機9を接続していくことができるため、子機9運用の柔軟性が高まる。
【0179】
以上に説明した子機設定方法により次のような効果を得ることができる。
(1)子機の設置と管理は顧客が行うため、機器7や子機9の供給事業者は機器7に関する情報(機器公開鍵など)を管理すればよい。
(2)子機マスタにより機器7と子機9の組み合わせを予め登録しておくことにより、子機9のなりすましや子機9の誤設置などを抑制することができる。
(3)機器7は、子機証明書の検証を検証サーバ5に依頼することにより、子機認証を行うことができる。
(4)機器7に複数の子機9を設置することができ、機器7や子機9による計測機器の設置の柔軟性を高めることができる。
【0180】
[子機の運用]
次に、以上のようにして設置した子機9の運用について図22のフローチャートを用いて説明する。
なお、図15と同様の処理を行うステップに関しては、図15と同じステップ番号を付し、説明を簡略化する。
【0181】
まず、子機9が、計測装置部34(図17)によって計測対象の計測を実行する(ステップ300)。この計測は、例えば、所定時間間隔や、予め設定された時刻に行われる。
子機9は、計測装置部34で計測値を取得すると、これを耐タンパ部20に送り、耐タンパ部20内で共通鍵によって暗号化する(ステップ305)。そして、子機9は、このようにして計測値を暗号化した暗号化計測値を機器7に送信する(ステップ310)。
【0182】
機器7は、子機9から暗号化計測値を受信すると(ステップ315)、これを耐タンパ部20内で共通鍵により復号化する(ステップ320)。このように、機器7は子機9から計測値を取得する計測値取得手段を備えている。
そして、機器7は、暗号化計測値を受信した際の時刻を内部クロック22で計測することにより計測値の計測時刻を取得する(ステップ210)。
【0183】
次に、機器7は、耐タンパ部20内で、計測値、計測時刻、子機9の子機IDなどを含む計測データを生成し、これに機器秘密鍵でデジタル署名してタイムスタンプを発行する(ステップ215)。
機器7は、このようにしてタイムスタンプが発行された計測データを顧客サーバ4に送信する(ステップ220)。
【0184】
顧客サーバ4は、機器7から計測データを受信すると、デジタル署名を当該機器7の機器公開鍵で復号化することによりタイムスタンプを確認する(ステップ225)。これによって計測データの正統性が確認される。
タイムスタンプが確認されると、顧客サーバ4は、計測データに含まれるデータを計測値データベースに記憶し、これを更新する(ステップ230)。
【0185】
計測値データベースは、機器7で計測したデータに加え、子機9で計測したデータも記憶するようになっている。
記憶する項目は、機器7と同様であり、図12(b)の「機器ID」の項目を「子機ID」としたものである。
「計測値」は、子機9で計測された計測値が記憶され、計測値には、機器7が子機9から計測値を受信した際の時刻が記憶される。
【0186】
以上に説明した子機9の運用により次のような効果を得ることができる。
(1)子機9での計測値に対して機器7でタイムスタンプを発行することができる。
(2)タイムスタンプは機器7で発行するため、子機9にタイムスタンプ発行機能を搭載する必要がない。
(3)タイムスタンプは、機器7の機器秘密鍵によってなされるため、顧客サーバ4は、子機9の子機秘密鍵を記憶する必要がない。
(4)機器7に複数の台の子機9を接続することができるため、多くの子機9を設置することができる。
【図面の簡単な説明】
【0187】
【図1】本実施の形態に係る情報処理システムのネットワーク構成の一例を示したブロック図である。
【図2】機器のハードウェア的な構成の一例を示したブロック図である。
【図3】検証サーバのハードウェア的な構成の一例を示したブロック図である。
【図4】機器登録データベースの論理的な構成の一例を示した図である。
【図5】機器を設置して顧客サーバに接続するまでの全体的な手順について説明するための図である。
【図6】機器を出荷する前に行う処理の手順を説明するためのフローチャートである。
【図7】機器を設置現場に設置して顧客サーバに接続するまでの手順を説明するためのフローチャートである。
【図8】情報処理システムの運用に関する部分を示したブロック図である。
【図9】機器、監査サーバ、及び顧客サーバの関係を示したブロック図である。
【図10】内部クロックの更正について説明するための図である。
【図11】モード切替部のモード切替動作を説明するための図である。
【図12】機器マスタ、計測値データベースの論理的な構成を示した図である。
【図13】顧客サーバ4が機器7から計測データを収集する手順を説明するためのフローチャートである。
【図14】時刻監査手順を説明するためのフローチャートである。
【図15】計測処理手順を説明するためのフローチャートである。
【図16】情報処理システムにおいて機器と子機を接続したところを示した図である。
【図17】子機のハードウェア的な構成の一例を示したブロック図である。
【図18】子機を設置するまでの手順を説明するための図である。
【図19】子機マスタの論理的な構成の一例を示した図である。
【図20】子機を機器に接続する手順を説明するためのフローチャートである。
【図21】子機を機器に接続する手順の変形例を説明するためのフローチャートである。
【図22】子機の運用を説明するためのフローチャートである。
【符号の説明】
【0188】
1 情報処理システム
2 親CA
3 CA
4 顧客サーバ
5 検証サーバ
6 機器登録サーバ
7 機器
8 基地局
9 子機
10 ネットワーク
12 監査サーバ
51 モード切替部
【技術分野】
【0001】
本発明は、端末機器に関し、例えば、子機端末から計測値を受信するものに関する。
【背景技術】
【0002】
近年のネットワーク技術の急激な進歩に伴って、各種の電子化情報がネットワークを介して流通している。
このようなネットワーク技術を用いて遠隔地に設置した計測機器をネットワークに接続する試みも行われている。
これによって、従来は検針員が各計測機器(例えば、ガスメータ)を回って計測値を手作業で収集していたものが、ネットワークを介してサーバで収集することができるようになる。
【0003】
このように、遠隔地での計測値をサーバで収集する場合、計測値か計測された場所の位置一証明と計測値が計測された時刻の時刻証明が重要となる。
例えば、ガスメータのような定位置に固定された機器の場合、計測位置は一定であるが、計測時刻は毎回異なるため、計測値を機器からタイムスタンプサーバに送信し、タイムスタンプサーバでタイムスタンプを発行してもらっていた。
タイムスタンプは、機器から受信した計測値に受信した時刻情報を付加して、タイムスタンプサーバの秘密鍵でデジタル署名を行ったものである。
この秘密鍵に対応する公開鍵でデジタル署名を確認することにより、タイムスタンプサーバが当該時刻に、当該計測値を受信したことを証明することができる。
【0004】
このようなタイムスタンプシステムを構成する技術として、次の信頼されるサードパーティクロックおよび信頼されるローカルクロックを提供するためのシステムおよび方法がある。
【特許文献1】特表2003−519417公報
【0005】
この技術は、タイムスタンプサーバのクロックを監査する監査サーバを設け、タイムスタンプサーバでの時刻改竄を防止するものである。
【発明の開示】
【発明が解決しようとする課題】
【0006】
例えば、温室内の温度分布の計測など、大量の計測機器を設置してデータの収集を行いたいとの要望がある。ところが、大量の計測機器にそれぞれ時刻証明機能を備えるとコストが上昇するという問題があった。
【0007】
そこで、本発明の目的は、多数の計測機器で計測された計測値に時刻証明を行う機能を低コストで実現することである。
【課題を解決するための手段】
【0008】
本発明は、前記目的を達成するために、子機端末と、前記子機端末と通信可能な端末機器と、前記端末機器から計測値を受信する情報処理サーバと、を用いて構成された情報処理システムで使用する端末機器であって、前記子機端末が計測対象を計測した計測値を前記子機端末から取得する計測値取得手段と、前記計測値受信手段で計測値を受信した際の時刻を計測する時計装置と、前記受信した計測値に対して前記取得した時刻による時刻証明情報を生成する時刻証明情報生成手段と、を具備したことを特徴とする端末機器を提供する(第1の構成)。
第1に構成において、非対称暗号鍵として対をなす公開鍵と秘密鍵のうち、前記秘密鍵を記憶する秘密鍵記憶手段を具備し、前記時刻証明情報生成手段は、前記記憶した秘密鍵を用いて、前記計測値と前記時刻を対応づけた対応情報を、所定の暗号方式により暗号化することにより時刻証明情報を生成するように構成することもできる(第2の構成)。
第1の構成、又は第2の構成において、前記生成した時刻証明情報を所定の送信先に送信する送信手段を具備するように構成することもできる(第3の構成)。
第1の構成、第2の構成、又は第3の構成において、基準時刻送信装置が送信した基準時刻を受信する基準時刻情報受信手段と、前記受信した基準時刻を用いて、前記時計装置が計測する時刻のうち所定単位よりも小さい単位の時刻を補正する時刻補正手段と、を具備するように構成することもできる(第4の構成)。
第4の構成において、所定の監査サーバから基準時刻を受信する基準時刻受信手段と、前記所定単位以上の時刻において、前記計測した時刻と前記受信した基準時刻が一致する場合に前記時刻証明情報生成手段を動作させ、一致しない場合に前記時刻証明情報生成手段を停止させる監査結果実行手段と、を具備するように構成することもできる(第5の構成)。
第1の構成から第5の構成までのうちの何れか1の構成において、計測対象を計測する計測手段を具備し、前記計測値取得手段は、前記計測手段から計測値を取得するように構成することもできる(第6の構成)。
【発明の効果】
【0009】
本発明によれば、子機端末での計測値に端末機器で時刻証明を付与することにより、多数の計測機器で計測された計測値に低コストで時刻証明を行うことができる。
【発明を実施するための最良の形態】
【0010】
(1)実施の形態の概要
機器7(図16)は、ネットワーク10に接続すると共に、子機9、9、・・・と無線通信を行う。
子機9は、例えば、温度計などの計測機器であり、計測値を機器7に送信する。機器7は、タイムスタンプ発行機能を内蔵しており、機器7から計測値を受信すると、これにタイムスタンプを発行して顧客サーバ4に送信する。機器7と子機9は、共通鍵を共有しており、機器7と子機9の間の通信はこの共通鍵によって暗号化されている。なお、他の子機9を介して子機9を機器7に接続することもできる。
機器7も計測部を有しており、自己が計測した計測値にタイムスタンプを発行して顧客サーバ4に送信する。
顧客サーバ4は、機器7から機器7で計測した計測値や子機9で計測した計測値を受信してタイムスタンプを確認した後、計測値データベースに記憶する。
【0011】
(2)実施の形態の詳細
本実施の形態では、計測機器のネットワークへの設置と、設置後の計測機器の利用について説明する。
【0012】
[機器の設置]
図1は、本実施の形態に係る情報処理システムのネットワーク構成の一例を示したブロック図である。
情報処理システム1は、CA3、3、検証サーバ5、顧客サーバ4、4、機器登録サーバ6、機器7、7、7、・・・、基地局8などがネットワーク10を介して接続可能に配置されており、CA3、3の上位には親CA2が設けられている。
以後、CA3、3、顧客サーバ4、4、機器7、7、・・・など複数存在するものに関しては、特に区別しない場合は単にCA3、顧客サーバ4、機器7と記すことにする。
【0013】
親CA2とCA3は、何れも公開鍵証明書を作成する認証局の認証サーバであり、親CA2が発行するルート証明書によりCA3のCA公開鍵の正統性を証明する証明書信頼チェーンを構成している。
情報処理システム1で複数のCA3を設けたのは、機器7が大量に流通するため、これを例えば、製造ロットごと、あるいは機器7を使用する顧客ごとなどに区分してCA3に割り当てることができるようにするためである。
このように、証明書信頼チェーンを用いるのは事業の便宜のためであり、単一のCAによって全ての機器7を取り扱うように構成してもよい。
【0014】
CA3の公開鍵を証明するCA公開鍵証明書の正統性は、親CA2の発行するルート証明書により確認される。
より詳細には、CA3のCA公開鍵は、親CA2の親CA秘密鍵によりデジタル署名されており、このデジタル署名の正統性を親CA公開鍵で検証することによりCA公開鍵の正統性を確認することができる。
CA公開鍵証明書やルート証明書は、安全な方法により予め顧客サーバ4、検証サーバ5、機器7などに提供されている。
【0015】
顧客サーバ4は、機器7を利用して測定を行う顧客が運用する情報処理サーバである。なお、機器7の販売者側から見て機器7のユーザは販売者の顧客であるためユーザを顧客と呼んでいる。
顧客サーバ4は、A社が運用するものやB社が運用するものなど、顧客がそれぞれ運用している。
機器7は、例えば、ガスメータなどの計測装置であり、顧客サーバ4は、ネットワーク10を介してこれら機器7から計測値を収集する。収集された計測値によりガス料金などが計算される。
【0016】
機器7は、ネットワーク10に接続可能に設置された計測機器などであり、ガスメータなどの固定式のもののほか、移動式のものを用いることもできる。
機器7は、例えば、A社の機器7はA社の顧客サーバ4に接続し、B社の機器7はB社の顧客サーバ4に接続するというように、所有者に対応した顧客サーバ4に接続して計測値などの情報を顧客サーバ4に送信する。
機器7は、有線のほか、無線によってネットワーク10に接続することも可能であり、この場合は、基地局8を介してネットワーク10に接続するようになっている。
【0017】
検証サーバ5は、機器7をネットワーク10に設置して顧客サーバ4に接続する際に、機器7の正統性を検証し、なりすましなどの機器7の不正使用を防ぐためのサーバである。
検証サーバ5で機器7が正統品であることが検証された後、顧客サーバ4は機器7と接続する。
【0018】
機器登録サーバ6は、機器7が機器公開鍵証明書などをCA3に発行してもらうに際して機器7とCA3との仲介を行うと共に、機器7を検証サーバ5に登録するサーバである。
なお、機器登録サーバ6は、機器登録サーバ秘密鍵を記憶しており、検証サーバ5は、この秘密鍵に対応する機器登録サーバ公開鍵を記憶している。
そして、機器登録サーバ6は、機器7を機器登録するための登録要求情報を検証サーバ公開鍵で暗号化して検証サーバ5に送信し、検証サーバ5は、これを検証サーバ秘密鍵で復号化するようになっている。
検証サーバ5は、登録要求情報が登録サーバ秘密鍵でデジタル署名することにより、この情報が確かに機器登録サーバ6から送信されたものであることを確認することができる。
【0019】
以上のように構成された情報処理システム1において、親CA2、CA3、検証サーバ5、及び機器登録サーバ6は、機器7の製造事業者や販売事業者などの販売側事業者によって運用されており、顧客サーバ4は、機器7を購入した顧客によって運用されている。
販売側事業者は機器7の製造番号や機器7の納入先の顧客などに関する情報を有しているため、親CA2、CA3、検証サーバ5、機器登録サーバ6を運用して顧客に機器検証サービスを提供するのに適した立場にある。
【0020】
また、機器7、検証サーバ5、機器登録サーバ6、顧客サーバ4などがネットワーク10を介して形成する通信経路はSSL(Secure Sockets Layer)などの技術を用いて暗号化されており、情報処理システム1のセキュリティが高められている。
【0021】
次に、図2を用いて機器7のハードウェア的な構成について説明する。
機器7は、大きく分けて耐タンパ部20と計測部35がバスラインによって接続されて構成されている。
耐タンパ部20は、機器認証などセキュリティに関わる情報処理を行う機能部であり、例えば、耐タンパ仕様の集積回路を収納したICチップによって構成された耐タンパモジュールである。
【0022】
耐タンパ仕様とは、例えば、内部構造を解析しようとすると自動的に内部構造を破壊するなど、改竄や複製、内部の論理構造の解読などの不正行為に対して十分な防御手段を講じるための仕様である。
そのため、耐タンパ部20は、外部からの解析が著しく困難で一種のブラックボックスとなっており、例えば、機器秘密鍵などの秘密情報を安全に保持することができる。
なお、タンパ(tamper)とは、装置に手を加えるという意味や、情報などを不正に変更するという意味があり、耐タンパとは、これらの操作に対して耐性を保持していることを意味する。
【0023】
耐タンパ部20は、CPU(Central Processing Unit)21、内部クロック22、ROM(Read Only Memory)23、RAM(Random Access Memory)24、EEPROM(Electrically Erasable and Programmable ROM)25などが図示しないバスラインによって接続されて構成されている。
【0024】
CPU21は、EEPROM25、ROM23、RAM24などに記憶されているプログラムに従って各種の情報処理を行う中央処理装置である。
本実施の形態では、機器公開鍵と機器秘密鍵のペアを生成したり、検証サーバ5と通信して機器7の機器認証を行ったり、顧客サーバ4と通信する際に情報の暗号化・復号化を行ったりする。
【0025】
内部クロック22は、耐タンパ部20を駆動するためのクロックを発生させるほか、例えば、耐タンパ部20が計測部35の計測値に対して時刻情報を付与するタイプの機器7に関しては、時刻情報を付与するための時計として使用することができる。内部クロック22は、計測部35の外部クロック28と同期しており、CPU21とCPU29はタイミングを同期させて協働して動作することができる。
ROM23は、読み出し専用の記憶装置(メモリ)であって、耐タンパ部20を駆動するための基本的なプログラムやパラメータなどを格納している。
RAM24は、読み書き可能な記憶装置であって、CPU21が各種の情報処理を行う際のワーキングエリアを提供する。
【0026】
EEPROM25は、読み書きが可能な不揮発性の記憶装置であり、プログラムやデータなどが記憶されている。
本実施の形態では、一例として、非対称暗号鍵生成プログラム、機器秘密鍵、機器公開鍵証明書、検証サーバ公開鍵証明書、検証サーバ接続情報、検証要求プログラム、CA公開鍵証明書や、図示しない、通信プログラム、OS(Operating System)などが記憶されている。
【0027】
非対称暗号鍵生成プログラムは、機器7が顧客に渡される前に、機器7の管理者(通常は機器7の製造事業者)が実行するプログラムであり、このプログラムをCPU21で実行すると、耐タンパ部20の内部で機器秘密鍵と機器公開鍵の非対称暗号鍵ペア(対)が生成される。
機器7は、生成した機器秘密鍵をEEPROM25に記憶し、外部からこの機器秘密鍵を知ることはできないようになっている。
【0028】
機器公開鍵証明書は、生成した機器公開鍵を機器7が機器登録サーバ6を介してCA3に送信し、CA3がCA秘密鍵でデジタル署名した公開鍵証明書である。
機器公開鍵証明書を受け取ったものは、CA公開鍵でデジタル署名を検証することにより機器公開鍵証明書に記載されている機器公開鍵が正統なものであることを確認することができる。
【0029】
検証サーバ公開鍵証明書は、検証サーバ5の公開鍵である検証サーバ公開鍵をCA3がCA秘密鍵でデジタル署名した公開鍵証明書である。
後述するように、機器7は、検証サーバ公開鍵に記録されている検証サーバ公開鍵を用いて情報を暗号化し、検証サーバ5に送信する。この暗号化情報は、検証サーバ5が有する検証サーバ秘密鍵でしか復号化することができないため、検証サーバ5以外のものがこの暗号化情報を受信しても復号化できず、セキュリティを高めることができる。
なお、検証サーバ公開鍵の正統性は、CA公開鍵で検証サーバ公開鍵証明書のデジタル署名を検証することにより確認することができる。
【0030】
CA公開鍵証明書は、CA3の公開鍵であるCA公開鍵を親CA2が親CA秘密鍵でデジタル署名した公開鍵証明書である。機器7は、CA公開鍵証明書に記載されているCA公開鍵を用いて、検証サーバ5の検証サーバ公開鍵証明書や顧客サーバ4の顧客サーバ公開鍵証明書(何れもCA3のCA公開鍵によりデジタル署名されている)の正統性を検証することができる。
また、図示しないが、機器7は、EEPROM25に親CA2が発行したルート証明書を記憶しており、ルート証明書に記載されている親CA公開鍵によって、CA公開鍵証明書の正統性を確認することができる。
【0031】
検証サーバ接続情報は、機器7がネットワーク10に接続した際に、検証サーバ5に接続するためのアドレス情報であり、例えば、検証サーバ5のURL(Uniform Resource Locators)で構成されている。
機器7は、ネットワーク10に設置された際に、検証サーバ接続情報を用いて検証サーバ5に接続し、機器検証を受ける。
このように、本実施の形態では、機器7に予め検証サーバ接続情報を埋め込んでおくため、どのようなネットワーク環境下で機器7が設置されても、機器7から検証サーバ5にアクセスすることができる。
【0032】
検証要求プログラムは、検証サーバ5に機器に検証を要求するためのプログラムである。
機器7をネットワーク10に接続した後(例えば、電源投入直後)、CPU21で検証要求プログラムを実行すると、CPU21は、後述の検証情報を生成する。そしてCPU21は、検証サーバ接続情報を用いて機器7を検証サーバ5に接続し、検証情報を検証サーバ5に送信する。
また、図示しないが、EEPROM25には、計測部35で計測した計測値を暗号化するなど、セキュリティに関わる情報処理を行うためのプログラムが格納されている。
以上、耐タンパ部20の各構成要素について説明したが、この他に耐タンパ部20と計測部35との通信を制御する通信制御部なども構成されている。
【0033】
計測部35は、計測を行う機能部であり、CPU29、ROM27、RAM30、外部クロック28、表示部31、入力部32、記憶部33、計測装置部34などから構成されている。
計測装置部34は、計測を行う装置であって、CPU29から要求があると計測値をデジタル情報としてCPU29に出力する。
計測装置部34としては、例えば、ガス・水道・電気の使用量を計測するもののほか、温度計測、湿度計測、水質計測、大気汚染計測を行うものや、自動販売機に設置して在庫や販売状況などを計測するものなど、各種のものを採用することができる。
【0034】
CPU29は、記憶部33、ROM27、RAM30などに記憶されているプログラムに従って各種の情報処理を行う中央処理装置である。
CPU29は、CPU21と協働して動作し、例えば、機器7の設置の際に、耐タンパ部20から出力された検証情報を検証サーバ5に送信したり、設置後は、計測装置部34から計測値を取得してこれを耐タンパ部20でデジタル署名して顧客サーバ4に送信したりなどする。
【0035】
外部クロック28は、計測部35を駆動するためのクロックを発生させる。また、一般に外部クロック28は内部クロック22よりも精度が高いため、外部クロック28を外部の電波などで更正し、更正された外部クロック28を用いて内部クロック22を更正するように構成されている。
【0036】
ROM27は、読み出し専用の記憶装置であって、CPU29を駆動するための基本的なプログラムやパラメータなどを格納している。
RAM30は、読み書き可能な記憶装置であって、CPU29が各種の情報処理を行う際のワーキングエリアを提供する。
【0037】
記憶部33は、例えば、EEPROMによって更正されており、各種プログラムやデータなどが記憶されている。
記憶部33に記憶しているプログラムをCPU29で実行することにより、計測装置部34から計測値を取得する機能、耐タンパ部20と通信して協働して情報処理を行う機能、通信部26を制御して、検証サーバ5や顧客サーバ4と通信する機能などを実現することができる。
また、記憶部33は、計測装置部34で計測された計測値を一時的に記憶するのに用いることもできる。
【0038】
表示部31は、例えば、液晶表示パネルなどの表示デバイスを備えており、設置担当者が機器7をネットワーク10に設置する際の操作指示や、計測装置部34の計測値など、各種の情報を表示することができる。
入力部32は、操作ボタンなどを備えており、例えば、設置担当者が機器7をネットワーク10に設置する際に機器7を操作するのに用いられる。
【0039】
通信部26は、機器7をネットワーク10に接続するためのインターフェースを構成しており、CPU21やCPU29は通信部26を介して機器登録サーバ6、検証サーバ5、顧客サーバ4などと通信することができる。機器7が無線でネットワーク10に接続する場合、通信部26はRF回路などを備える。
【0040】
次に図3を用いて検証サーバ5のハードウェア的な構成について説明する。
検証サーバ5は、CPU41、ROM42、RAM43、記憶部46、及び通信部45などから構成されている。
CPU41は、ROM42、RAM43、記憶部46などに記憶されているプログラムに従って動作し、機器7を検証するための各種の情報処理を行う。
【0041】
ROM42は、読み出し専用の記憶装置であって、CPU41を駆動するための基本的なプログラムやパラメータなどを格納している。
RAM43は、読み書き可能な記憶装置であって、CPU41が各種の情報処理を行う際のワーキングエリアを提供する。
通信部45は、検証サーバ5をネットワーク10に接続するインターフェースである。
【0042】
記憶部46は、例えば、ハードディスクなどの大容量の記憶媒体を用いて構成されており、図示したような各種プログラムやデータが格納されている。
検証プログラムは、機器7を機器検証するためのプログラムであり、CPU41は機器検証プログラムを実行することにより、機器7から送信されてきた検証情報を検証し、検証結果を顧客サーバ4に送信することができる。
【0043】
CA公開鍵証明書は、CA3のCA公開鍵の公開鍵証明書である。また、図示しないが、親CA2のルート証明書も記憶している。これらの証明書は、例えば、担当者間で手渡しするなど、安全な方法により提供されたものである。
検証サーバ秘密鍵は、検証サーバ公開鍵に対応する秘密鍵であり、情報の暗号化やデジタル署名などに用いられる。
【0044】
顧客サーバ接続情報は、ネットワーク10を介して顧客サーバ4に接続するための情報であり、例えば顧客サーバ4のURLやIPアドレスなどによって構成されている。
顧客サーバ接続情報は、予め顧客に提供してもらい記憶部46に記憶したものである。
検証サーバ5は、検証結果を顧客サーバ4に送信する際に、顧客サーバ接続情報を用いて顧客サーバ4に接続して送信する。
【0045】
次に、機器登録データベースについて説明する。
機器登録データベースは、検証を要する機器7を予め登録したデータベースであり、その論理的な構成の一例を図4に示す。
図に示したように、機器登録データベースは、「顧客ID」、「顧客サーバ接続情報」、「機器ID」、「機器公開鍵」、・・・などの各項目から構成されている。
【0046】
「顧客ID」は、顧客サーバ4、4、・・・を運用する各顧客を特定するID情報である。このように、顧客は予め検証サーバ5に登録されており、ID情報が付与されている。
「顧客サーバ接続情報」は、顧客サーバ4に接続するための接続情報であり、顧客IDと対応づけて記憶されている。
なお、図では、各顧客に1つの顧客サーバ接続情報が記載されているが、顧客が複数の顧客サーバ4を用いる場合は、これら複数の顧客サーバ接続情報が顧客IDに対応づけられる。
【0047】
「機器ID」は、機器7、7、・・・の個々に付与されたID情報であり、例えば、製造シリアル番号などを用いることができる。
「機器公開鍵」は、機器秘密鍵に対応する機器公開鍵を各機器7ごとに記憶したものである。機器公開鍵は、CA3が検証サーバ5に送信した機器公開鍵証明書から取得されたものである。
【0048】
機器7を何れの顧客サーバ接続情報に対応させて登録するかは、例えば、機器7の販売時に顧客から機器7を接続する顧客サーバ4の指定を受け、これを検証サーバ5の管理者が対応させたものである。
【0049】
以上、検証サーバ5のハードウェア的な構成について説明したが、顧客サーバ4や機器登録サーバ6及びCA3などのハードウェア的な構成も検証サーバ5と同様である。
CA3、親CA2は、予め記憶した所定のプログラムをCPUが実行することにより公開鍵証明書を作成したりなどの各種情報処理を行う機能を発揮する。
更に、CA3の場合は、機器公開鍵証明書を発行した機器7の失効情報を記憶した失効リストを記憶部46に記憶している。
失効リストは、CA3が機器公開鍵証明書を発行した機器7が現在失効状態か否かを機器IDの有無に対応させて記憶したデータリストであり、機器公開鍵証明書発行後直後は、当該機器に関する情報は何も登録されていない。そして、失効は、顧客からの申告により当該機器IDを失効リストに登録することにより設定される。
検証サーバ5は、顧客サーバ4などから有効性の問い合わせがあった場合に、CA3の失効リストを参照し、有効性を検証する。
即ち、検証サーバ5は、機器7の正統性を検証する際に、機器が失効状態であるか否かを記憶した失効状態記憶手段(CA3の失効リスト)を用いて機器7の有効性を検証する有効性検証手段を備えている。
【0050】
顧客サーバ4の場合は、記憶部46に機器マスタと計測値データベースなどが記憶されている。
機器マスタは、顧客サーバ4が接続する機器7のマスタ情報であり、例えば、機器7の機器ID、機器7に接続するための機器接続情報、機器公開鍵といった基本的な事項や、機器7の設置場所、設置日時といった付属的な情報から構成されている。顧客サーバ4は、機器マスタによって各機器7を管理する。
【0051】
例えば、基本的な事項は、機器検証の際に検証サーバ5から受信して記憶したものであり、付属的な事項は顧客サーバ4の管理者が入力したものである。
機器7が失効となった場合は、顧客サーバ4の管理者が顧客サーバ4に当該機器7の失効を入力して機器マスタから削除する。この際に、顧客サーバ4は、失効要求をCA3に送信し、CA3が失効リストに登録されることにより失効とされる。
【0052】
計測値データベースは、ネットワーク10を経由して機器7から送信されてきた計測値を記憶・蓄積したデータベースである。
計測値データベースでは、各計測値がこれを計測した機器7の機器IDに対応づけられ、計測日時なども記憶される。
【0053】
機器登録サーバ6は、機器7が機器公開鍵証明書を取得する際に機器7とCA3との仲介を行う機能や、 登録要求情報を生成して検証サーバ5に送信し、検証サーバ5に機器7を登録する機能などをCPUに発揮させるプログラムを記憶部46に記憶しており、これを実行することによりこれらの機能を発揮する。また、機器登録サーバ6は、機器7に入力するための検証サーバ接続情報なども記憶している。
【0054】
次に、図5を用いて、機器7の出荷前処理から設置までの手順の全体構成について説明する。図中に手順の順序を括弧にて示してあり、以下、この順序に従って説明していく。
なお、手順(1)から手順(4)までは、機器7の設置前(好ましくは顧客への出荷前)に行う作業である。
(1)(機器秘密鍵と機器公開鍵の非対称暗号鍵ペアの生成)
機器7のハードウェアが完成すると、作業担当者が機器7を操作して非対称暗号鍵生成プログラムを実行し、耐タンパ部20内でCPU21に機器秘密鍵と機器公開鍵のペアを生成させる(非対称暗号鍵生成手段)。
そして、機器7は、生成した機器秘密鍵をEEPROM25の所定のエリアに記憶する(秘密鍵記憶手段)。
【0055】
(2)(機器公開鍵の送信)
機器7は、作業担当者によって当該機器7を担当する機器登録サーバ6に接続され、生成した機器公開鍵や機器固有情報などを機器登録サーバ6に送信する(公開鍵提供手段)。
ここで、機器固有情報には、機器ID、耐タンパ部のMACアドレスなど機器7に固有の情報が含まれている。
機器登録サーバ6は、機器7からこれらの情報を受信する(公開鍵取得手段)。そして、機器登録サーバ6は、機器公開鍵や機器IDなどをCA3に送信し、CA3に機器公開鍵証明書の発行を要求する(公開鍵証明書発行要求手段)。
【0056】
(3)(機器証明書の書き込み)
CA3は、機器登録サーバ6から機器公開鍵から機器証明書を作成する。そして、CA3は、機器証明書に検証サーバ5の検証サーバ公開鍵証明書を加えて機器証明書を作成し、機器登録サーバ6に送信する。
機器登録サーバ6は、機器証明書をCA3から受信すると、これに検証サーバ接続情報を付加して機器7に送信する。
機器7は、機器登録サーバ6から機器証明書を受信して耐タンパ部20に記憶する。
以上のように、機器証明書には、機器公開鍵証明書、検証サーバ接続情報、検証サーバ公開鍵証明書などが含まれている。
【0057】
より詳細には、機器公開鍵証明書は、機器7の機器公開鍵をCA3のCA秘密鍵(証明サーバ秘密鍵)でデジタル署名した公開鍵証明書である(公開鍵証明書作成手段)。このようにCA3は秘密鍵記憶手段を備えている。
より詳細には、機器公開鍵証明書は、例えば、「公開鍵[ab12・・・01]は、機器ID[12・・・]の機器公開鍵である。」といった内容のメッセージと、当該メッセージから生成したダイジェスト(例えば、メッセージのハッシュ値を用いる)をCA3のCA秘密鍵で暗号化したデジタル署名などから構成されている。
機器公開鍵証明書を受信したものは、CA3のCA公開鍵(証明サーバ公開鍵)を用いてデジタル署名を復号化し、更に、メッセージのダイジェストを作成して両者の一致を確認することにより、メッセージが改編されていないことを確認することができる。
【0058】
検証サーバ接続情報は、ネットワーク10上で検証サーバ5に接続するための情報であり、例えば、検証サーバ5のURL(Uniform Resource Locators)やIPアドレスで構成されている(検証サーバ接続情報記憶手段)。
【0059】
検証サーバ公開鍵証明書は、検証サーバ公開鍵をCA3の秘密鍵でデジタル署名した公開鍵証明書である。
検証サーバ公開鍵証明書には、検証サーバ公開鍵が含まれているため、機器7はこれによって検証サーバ公開鍵を取得する。
なお、機器7は、予め組み込まれているCA公開鍵などを用いて、機器公開鍵証明書や検証サーバ公開鍵証明書の正統性を検証することができる。
なお、本実施の形態の機器登録サーバ6は、CA3から受信した機器証明書に検証サーバ公開鍵証明書を含めて機器7に送信したが、これに限定せず、CA3から受信した機器証明書と、検証サーバ接続情報を別々に機器7に送信するように構成することもできる。
【0060】
(4)(機器7の登録要求)
機器登録サーバ6は、機器7に対してCA3が機器証明書を発行する際に、機器公開鍵証明書を取得することができる。
そして、機器登録サーバ6は、このようにして得た機器公開鍵証明書と、機器固有情報(機器ID)などが含まれる登録要求情報を作成して、検証サーバ5に送信し、検証サーバ5に機器7の登録を要求する(公開鍵証明書送信手段)。
検証サーバ5は、登録要求情報を機器登録サーバ6から受信し、これを用いて機器登録データベースを更新する。
【0061】
また、機器7の販売側事業者は、機器7の販売先の顧客から当該機器7を接続する顧客サーバ4の指定を受けた後、当該顧客サーバ4の顧客サーバ接続情報を機器7に対応させて検証サーバ5に入力するようになっている。
即ち、検証サーバ5は、登録要求情報に含まれる機器公開鍵を機器7に対応づけて機器登録データベースに記憶し(公開鍵記憶手段)、更に機器7と顧客サーバ4を対応づけて機器登録データベースに記憶する(情報処理サーバ機器対応記憶手段)。
【0062】
(5)(出荷)
機器7は、検証サーバ5に登録された後、顧客に出荷される。機器7は、出荷された後は顧客の管理下におかれる。
【0063】
(6)(検証要求)
機器7は、出荷された後、設置担当者によってネットワーク10に接続され、検証要求プログラムが実行される。
検証要求プログラムが実行されると、機器7は、検証要求情報を生成する。そして、機器7は、EEPROM25に記憶してある検証サーバ接続情報を用いて検証サーバ5に接続し(検証サーバ接続手段)、検証要求情報を送信する。
【0064】
検証要求情報は、機器ID、顧客サーバ4から機器7に接続するための機器接続情報、環境情報(ネットワーク接続環境に関する情報)などを機器秘密鍵でデジタル署名したものを、検証サーバ公開鍵で暗号化したものである。
このように、機器7は、ネットワーク10に接続されると自身の機器接続情報を取得し(接続情報取得手段)、これを検証サーバ5に送信する(接続情報送信手段)。これに対し、検証サーバ5は、これを受信する接続情報受信手段を備えている。
また、検証要求情報は、機器秘密鍵でダイジェスト(所定の情報)を暗号化したデジタル署名が含まれており、署名情報として機能する。このように機器7は署名情報送信手段を有している。
【0065】
(7)(失効リストの参照)
検証サーバ5は、機器7から検証情報を受信すると(署名情報受信手段)、これを検証サーバ秘密鍵で復号化する。そして、検証サーバ5は、機器登録データベースから当該機器7の機器公開鍵を取得し(公開鍵取得手段)、これを用いてデジタル署名の正統性を確認することにより、機器7が正統品であるか否かを検証する(検証手段)。
更に、図示しないが、検証サーバ5は、当該機器7が失効であるか否かをCA3に問い合わせて確認する(有効性検証手段)。
(8)(検証結果の通知)
当該機器7が有効であった場合、検証サーバ5は、機器登録データベースで当該機器7に対応づけられている顧客サーバ接続情報を用いて顧客サーバ4に検証結果を送信する(検証結果送信手段)。
検証結果は、例えば、機器7の機器公開鍵証明書、機器7への機器接続情報、検証結果などを検証サーバ秘密鍵で暗号化したものである。このように、検証サーバ5は、機器7への接続情報を顧客サーバ4に送信する接続情報送信手段を備えている。
【0066】
顧客サーバ4は、検証結果を予め記憶した検証サーバ公開鍵で復号化することにより検証結果の正統性を確認することができる。あるいは、検証結果を検証サーバ5の検証サーバ秘密鍵でデジタル署名することにより正統性を保証してもよい。
機器7が失効であった場合は、機器7にエラーメッセージを送信し、検証結果は顧客サーバ4に通知しない。または、検証サーバ5が失効となった機器7からの検証要求があった旨の通知を顧客サーバ4に行うように構成してもよい。
【0067】
(9)(顧客サーバ情報の通知)
顧客サーバ4は、検証サーバ5から検証結果を受信して(検証結果受信手段)、当該機器7が正統品であると検証されたことを確認した後、機器7と接続して(接続手段)顧客サーバ4に顧客サーバ情報を送信する。
顧客サーバ情報は、顧客サーバ公開鍵証明書や機器7がネットワーク10を介して顧客サーバ4に接続するための顧客サーバ接続情報などが含まれている。
【0068】
なお、顧客サーバ4と機器7の接続は、顧客サーバ4から機器7に接続してもよいし、あるいは、機器7から顧客サーバ4に接続してもよい。
前者の場合は、顧客サーバ4が機器7の接続情報を用いて機器7に接続し、後者の場合は、機器7が検証要求の際に検証サーバ5から顧客サーバ接続情報を受信しておき、これを用いて顧客サーバ4に接続するようにする。
【0069】
(10)(機器7と顧客サーバ4の通信)
機器7は、顧客サーバ4から送信された顧客サーバ公開鍵証明書(CA秘密鍵でデジタル署名されている)を予め記憶したCA公開鍵で検証し、顧客サーバ4の正統性を確認することができる。
以降、機器7と顧客サーバ4は通信可能な状態となり、機器7は計測データを顧客サーバ公開鍵で暗号化して顧客サーバ4に送信する。
計測データは顧客サーバ秘密鍵を有する顧客サーバ4しか復号化できないため、計測データの送信途上での漏洩を防止することができる。
【0070】
(11)(失効要求)
例えば、機器7を新しい機器で置き換えるなどして機器7が使用されなくなった場合、顧客は、機器マスタで当該機器7を失効にすると共に、CA3に対して当該機器7の失効要求を行う。
CA3の失効リストで機器7を失効とすることにより、機器7が他の場所に新たに設置されたり、あるいは不正利用されることを防ぐことができる。
【0071】
以上に、機器7を設置するまでの全体的な手順について説明したが、次に、フローチャートを用いてこれらの手順について詳細に説明する。
図6は、機器7を顧客に出荷するまでの手順を説明するためのフローチャートである。
機器7は、組み立てラインで組み立てられた後、機器登録部門に送られる。機器登録部門では、当該機器7を購入する顧客、機器7を接続する顧客サーバ4、当該機器7を割り当てるCA3などを予め把握している。
【0072】
作業担当者は、機器7をCA3に接続して入力部32を操作し、非対称暗号鍵生成プログラムをCPU21に実行させる。
すると、CPU21は、例えば、乱数を用いるなどして、機器7に固有の非対称暗号鍵ペアである機器秘密鍵と機器公開鍵を生成する(ステップ5)。
なお、CA3への接続は、機器秘密鍵と機器公開鍵を生成した後でもよい。
【0073】
CPU21は、生成した機器秘密鍵をEEPROM25内の所定エリアに格納する。そして、CPU21は、予めEEPROM25に記憶されている機器IDや耐タンパ部20のMACアドレスなどの機器7に固有な機器固有情報を読み出し、これらを機器公開鍵と共に機器登録サーバ6に送信する(ステップ10)。
検証サーバ5は、機器7から機器公開鍵や機器固有情報などを受信し、CA3に送信する(ステップ13)。
【0074】
CA3は、機器登録サーバ6から機器7の機器公開鍵と機器固有情報を受信する(ステップ15)。
そして、CA3は、機器固有情報から機器IDを抽出し、例えば、「機器公開鍵○○○は、機器ID○○○の機器公開鍵です。証明者はCA3です。」といった、機器公開鍵、機器ID、証明者、及びその他の例えば証明日時からなるメッセージを生成する。
更にCA3は、メッセージからダイジェストを生成し、これをCA秘密鍵で暗号化することによりデジタル署名する。
【0075】
CA3は、メッセージとデジタル署名から機器公開鍵証明書を作成した後(ステップ20)、当該機器公開鍵証明書と検証サーバ公開鍵証明書を用いて機器証明書を生成する(ステップ25)。
そして、CA3は、生成した機器証明書を機器登録サーバ6に送信する(ステップ30)。
機器登録サーバ6は、CA3から機器証明書を受信し、これに検証サーバ接続情報を添付して機器7に送信する(ステップ33)。なお、検証サーバ接続情報は、機器証明書とは別に送信してもよい。
【0076】
機器7は、機器証明書を受信し、これを耐タンパ部20内のEEPROM25に記憶する(ステップ35)。
EEPROM25内には、予めCA3のCA公開鍵証明書や親CA2のルート証明書が記憶されており、機器7は、これらを用いて機器証明書の正統性を確認することができる。
【0077】
一方、機器登録サーバ6は、機器7に機器証明書を送信した後、検証サーバ5に機器ID、機器公開鍵証明書などからなる登録要求情報を送信して、当該機器7の機器登録データベースへの登録要求を行う(ステップ40)。
この際、機器登録サーバ6は、登録要求情報を機器登録サーバ秘密鍵でデジタル署名して検証サーバ5に送信し、検証サーバ5が機器登録サーバ公開鍵で検証要求情報の正統性を確認できるようにする。
【0078】
検証サーバ5は、機器登録サーバ6が登録要求情報をデジタル署名し、これを検証サーバ5が確認することにより登録要求情報の正統性を確認する。
検証サーバ5は、機器登録サーバ公開鍵を用いて機器公開鍵証明書の正統性を確認し、登録要求情報に含まれる顧客サーバ接続情報、機器ID、機器公開鍵の対応関係を機器登録データベースに登録する(ステップ45)。
【0079】
以上により、機器7の出荷前処理を完了し、機器秘密鍵と検証サーバ接続情報が耐タンパ部20に埋め込まれた機器7が顧客に出荷される。
一方、検証サーバ5では、機器7の検証に備えて、機器7に関する情報が記憶される。
なお、フローチャートには記さなかったが、機器7が接続すべき顧客サーバ4の顧客サーバ接続情報は、検証サーバ5の機器登録データベースに別途入力される。
【0080】
次に、図7のフローチャートを用いて、機器7を設置現場に設置して、ネットワーク10を介して顧客サーバ4に接続するまでの手順について説明する。
機器7は、顧客に出荷されると、顧客の事業計画に基づいて設置箇所に搬送される。
設置担当者は現地に赴き、機器7をネットワーク10に接続して、検証要求プログラムを起動する。
すると、機器7は、ネットワーク10上での自己のIPアドレスといった機器接続情報や、例えば、ルータを介して接続されているなどの環境情報を収集する(ステップ50)。
【0081】
次に、機器7は、自己の機器IDをEEPROM25から読み出し、これを先に収集した機器接続情報や環境情報と共に機器秘密鍵でデジタル署名して検証要求情報を作成する。
そして、機器7は、検証要求情報を検証サーバ公開鍵で暗号化することにより暗号化した検証要求情報を作成する。
次に、機器7は、検証サーバ接続情報を用いて検証サーバ5に接続し、暗号化した検証要求情報を検証サーバ5に送信し、自身の検証を検証サーバ5に要求する(ステップ55)。
【0082】
検証サーバ5は、機器7から暗号化した検証情報を受信し、これを予め記憶した検証サーバ秘密鍵で復号化する。
検証サーバ秘密鍵は検証サーバ5しか有していないため、暗号化した検証情報は送信途上で他者に渡ったとしても復号化することはできない。
次に、検証サーバ5は、検証要求情報に含まれる機器IDを機器登録データベースで検索し、当該機器IDに対応づけられている機器公開鍵を取得する。
【0083】
次に、検証サーバ5は、この機器公開鍵を用いてデジタル署名を確認し、検証情報の正統性を確認する(ステップ60)。
より詳細には、検証サーバ5は検証要求情報からダイジェストを生成すると共にデジタル署名を機器公開鍵で復号化してダイジェストを復元し、両者が一致することをもって検証要求情報が正統であると確認する。
両者が一致しない場合、検証サーバ5は、機器7が正統でないとしてエラーメッセージを機器7に送信する。
【0084】
検証サーバ5は、機器7の正統性を確認した後、当該機器7の機器IDなどを図示しないCA3に送信し、当該機器7の失効の有無を問い合わせる。
そして、検証サーバ5は、機器7の失効の有無をCA3から受信し、これによって機器7の有効性を確認する(ステップ65)。
当該機器7が有効である場合、検証サーバ5は、機器7の機器ID、接続情報、正統であるとの検証結果、接続環境などを検証サーバ秘密鍵でデジタル署名し、検証結果を作成する(ステップ70)。
【0085】
次に、検証サーバ5は、機器7の機器IDを機器登録データベースで検索し、当該機器7に対応づけられている顧客サーバ4の顧客サーバ接続情報を取得する。
そして、検証サーバ5は、これを用いて顧客サーバ4に接続し、検証結果を送信する(ステップ75)。
一方、当該機器7が機器登録データベースで失効となっていた場合、検証サーバ5は、エラーメッセージを機器7に送信し、顧客サーバ4へは検証結果を送信しない。なお、検証されなかった旨の通知を顧客サーバ4に送信するように構成することもできる。
【0086】
顧客サーバ4は、検証サーバ5から検証結果を受信し、これを予め記憶してある検証サーバ公開鍵で復号化することにより検証サーバ5の正統性を検証する(ステップ85)。
即ち、検証結果を検証サーバ秘密鍵でデジタル署名できるのは検証サーバ5だけであるので、検証結果を検証サーバ公開鍵で復号化できることにより検証サーバ5の正統性を検証することができる。
なお、検証結果は、サーバ秘密鍵でデジタル署名し、これを顧客サーバ4で検証するように構成してもよい。
【0087】
顧客サーバ4は、検証サーバ5の正統性を確認した後、検証結果に含まれる機器ID、機器公開鍵、機器接続情報などを機器マスタに記憶し、機器7を顧客サーバ4の正統な計測機器として登録する。
一方、顧客サーバ4は、正統性が確認できなかった場合、エラーメッセージを検証サーバ5に送信する。
【0088】
次に、顧客サーバ4は、機器マスタに登録した機器接続情報を用いて機器7に接続し、顧客サーバ情報を送信する(ステップ90)。
顧客サーバ情報には、公開鍵証明書(CA公開鍵でデジタル署名された顧客サーバ公開鍵証明書)や、URLやIPアドレスなどからなる顧客サーバ4への接続情報が含まれている。
【0089】
機器7は、顧客サーバ4から顧客サーバ情報を受信すると、CA公開鍵を用いて顧客サーバ公開鍵証明書のデジタル署名を検証し、顧客サーバ4の正統性を確認する。
そして、機器7は、顧客サーバ接続情報をEEPROM25に記憶し、顧客サーバ4に接続する際に用いる。
以後、顧客サーバ4と機器7は通信可能となり(ステップ95)、機器7は計測値を顧客サーバ4に送信することができる。この際、機器7は、計測値を顧客サーバ公開鍵で暗号化して顧客サーバ4に送信することにより、計測値の漏洩を防止する。
【0090】
以上の例では、顧客サーバ4から機器7に接続したが、機器7から顧客サーバ4に接続するように構成することもできる。
この場合、検証サーバ5は、顧客サーバ4に検証結果を送信した後(ステップ75)、顧客サーバ4から機器7を登録した旨の通知を受ける。
検証サーバ5は、このようにして機器7が登録されたことを確認した後、顧客サーバ接続情報を機器7に送信する(ステップ80)。
機器7は、検証サーバ5から顧客サーバ接続情報を受信し、これを用いて顧客サーバ4に接続する。
以後、顧客サーバ4と機器7は通信可能となる(ステップ95)。
【0091】
以上に説明した情報処理システム1では、機器7の有効性をCA3の失効リストで管理したが、失効リストのコピーを検証サーバ5で管理するように構成することもできる。
この場合、例えば、1日1回程度、バッチ処理にて検証サーバ5の機器登録データベースをCA3の失効リストに同期させる。
そして、機器7の検証の際に、検証サーバ5の機器登録データベースで機器7が失効であった場合、(失効になったものが有効になることはないので)検証サーバ5はCA3に問い合わせを行わなくても、当該機器7が失効であることを確認することができる。
そのため、検証サーバ5は、自己の機器登録データベースで機器7が有効であった場合にCA3に失効の有無を問い合わせればよい。この場合、前回バッチ処理を行った後、失効となった機器7が失効としてCA3から検証サーバ5に通知される。
このように、失効リストのコピーを用いることによりCA3への問い合わせ回数を減らすことができ、CA3の負荷を低減することができる。
【0092】
また、本実施の形態では、CA3、機器登録サーバ6及び検証サーバ5を別のサーバとして構成したが、1台のサーバで両者の機能を発揮するように構成することもできる。
例えば、検証サーバ5と機器登録サーバ6の機能を備えたサーバとCA3、機器登録サーバ6とCA3の機能を備えたサーバと検証サーバ5、検証サーバ5とCA3の機能を備えたサーバと機器登録サーバ6、あるいは、CA3、検証サーバ5、機器登録サーバ6の機能を備えたサーバを構成することもできる。これらの場合、サーバのメンテナンス作業などを軽減することができる。
【0093】
以上に説明した本実施の形態により次のような効果を得ることができる。
(1)耐タンパ部20内で非対称鍵のペア(機器秘密鍵、機器公開鍵)を生成することにより、機器7に機器秘密鍵を外部から秘匿して記憶させることができる。
(2)機器公開鍵を用いて機器7が機器秘密鍵を記憶していることを確認することにより機器7が正統な機器であることを検証することができる。
(3)機器7と顧客サーバ4を接続する際に、機器7の正統性を検証サーバ5で検証することにより、顧客サーバ4に対して機器7が正統な機器であることを保証することができる。
(4)検証サーバの接続情報を予め機器7に記憶させておくことにより、機器7の接続環境にかかわらず、機器7を検証サーバ5に接続することができる。
(5)失効となった機器7を失効リストで管理することにより、失効になった機器7と顧客サーバ4の接続を防止することができる。
(6)機器7の検証をネットワーク10を介して自動的に行うため、機器7の設置現場に高度な技術を有する技術者を派遣する必要がない。
【0094】
[機器の運用]
次に、情報処理システム1に機器7を設置した後の運用について説明する。
図8は、情報処理システム1で機器7の運用に関係するものを示したブロック図である。図1で示した検証サーバ5、CA3、親CA2は、機器7の設置が完了すると機能を終えるため図8には示していない。
また、機器7の運用を開始すると監査サーバと標準電波送信装置が関係してくるため、図8には、監査サーバ12、標準電波送信装置11が図示されている。
【0095】
機器7は、内部クロック22の計測する時刻によって計測値にタイムスタンプを発行するタイムスタンプ機能を有している。
また、機器7は、標準電波送信装置11が送信する標準電波を受信するための装置を備えており、後述するように、標準電波で外部クロック28(図2)を更正し、更に外部クロック28を用いて内部クロック22を更正する。
なお、本実施の形態では、標準電波によって内部クロック22を更正するが、これに限定するものではなく、例えば、GPSで配信される時刻や無線通信のプロトコルに含まれる時刻を用いることも可能であり、あるいは、時刻配信サーバの配信時刻を有線や無線にて機器7に供給するように構成することも可能である。
【0096】
監査サーバ12は、監査局が運用するサーバであって、機器7の内部クロック22を監査する。
一般に、監査局は、機器7を運用する顧客とは第三者である事業体が運用している。そのため、顧客が監査サーバ12の運用者と共謀してタイムスタンプのバックデイトを行うことが事実上不可能になり、極めて高いセキュリティレベルを実現することができる。
【0097】
監査サーバ12は、原子時計と監査用秘密鍵を備えており、原子時計による基準時刻を監査用秘密鍵でデジタル署名して時刻証明書を作成し、これを機器7に送信する。
機器7は、この時刻証明書を用いて内部クロック22が正しい時刻を出力しているか否かを確認し、正しい時刻を出力していない場合は、タイムスタンプの発行を停止するようになっている。このように、監査サーバ12は、機器7に基準時刻を送信することにより時刻監査を行うことができる。
【0098】
標準電波送信装置11は、標準電波局が運用し、時刻情報を含む標準電波を不特定多数の受信装置に送信する送信装置である。
機器7は、標準電波送信装置11が送信する標準電波を受信し、これを用いて(外部クロック28を介して)内部クロック22を更正する。
顧客サーバ4は、機器7からタイムスタンプが付与された計測データを受信し、計測値データベースに記憶する。
【0099】
図9は、機器7、監査サーバ12、及び顧客サーバ4の関係を説明するための図である。
監査サーバ12は、時刻証明書に記載する時刻を計測するための原子時計を備え、更に監査用秘密鍵を記憶している。
監査サーバ12が機器7に送信する時刻証明書には、基準時刻、制限時間、シリアル番号、固有情報、デジタル署名などが含まれている。
基準時刻は、原子時計が計測した時刻を用いて構成された時刻であり、原子時計の現在時刻をそのまま用いてもよいし、あるいは、通信の遅延が問題になる場合は、遅延時間で健在時刻を補正した値を用いるなど、何らかの補正を施した値を用いてもよい。
【0100】
制限時間は、時刻証明書に記録してある基準時刻の有効期限である。即ち、時刻証明書に記してある基準時刻で監査した内部クロック22の出力時刻は、この制限時間の間、監査局により精度が保証される。
機器7は、この制限時間の範囲内でタイムスタンプを発行することができ、このタイムスタンプを発行できる時間を活性化時間と呼ぶ。
【0101】
シリアル番号は、監査サーバ12が発行順に付与する時刻証明書の番号であるが、連番を発行すると、外部から推測が容易になる可能性があることから、本実施の形態では、シリアル番号を乱数により構成した。
固有情報は、例えば、耐タンパ部20のID情報など、機器7のハードウェアに固有な情報である。固有情報が一致しない場合、耐タンパ部20はエラーを発する。
【0102】
なお、これらの項目のほかに、時刻証明書の有効期限や、時刻証明書の正当性が確認された後、機器7と監査サーバ12の間の通信の共通鍵なども時刻証明書に含めることができる。
【0103】
デジタル署名は、メッセージのダイジェストを監査用秘密鍵で暗号化したものである。
ここで、メッセージは、現在時刻、制限時間、シリアル番号、固有情報など、改竄を防止する情報であり、ダイジェストはメッセージをハッシュ関数によって演算したハッシュ値である。
時刻証明書の受信者は、メッセージからダイジェストを作成し、更に、デジタル署名を監査用公開鍵で復号化してダイジェストを復元する。そして、両者の一致によって時刻証明書の内容が改竄されていないことを確認することができる。
【0104】
機器7は、耐タンパ部20に、先に説明した機器秘密鍵、内部クロック22のほかに、監査用秘密鍵と対をなす監査用公開鍵をEEPROM25に記憶すると共にモード切替部51を有している。
モード切替部51は、出荷時にEEPROM25に予め記憶されたタイムスタンププログラムをCPU21で実行することにより構成されたものである。
また、EEPROM25には、直近の過去に監査サーバ12から受信した時刻証明書である前回証明書が記憶されている。
図2では、通信部26を計測部35に含めて示したが、ここでは理解を容易にするため通信部26を計測部35の外に図示している。
【0105】
監査用公開鍵は、監査サーバ12から送信されてくる時刻証明書に付随するデジタル署名を復号化するための公開鍵情報である。
耐タンパ部20は、監査用公開鍵を用いて時刻証明書の正統性を確認することができ、基準時刻の有効性を確認する。
【0106】
機器秘密鍵は、顧客サーバ4に送信する計測データをデジタル署名するのに用いる。
ここで、メッセージとして用いられる情報は、計測値、機器ID、計測時刻などであり、これらのダイジェストを機器秘密鍵でデジタル署名することによりタイムスタンプが構成されている。
なお、ダイジェストを生成せずに、メッセージをそのままデジタル署名してもよい。
【0107】
内部クロック22は、計測値に計測時刻を付与する。即ち、耐タンパ部20が計測部35から計測値を取得した時刻を内部クロック22で計測し、この時刻を計測時刻とする。
内部クロック22は、耐タンパ部20の内部に構成されるという制約があるため、高精度の時計装置で構成することが困難である。一方、外部クロック28は精度が高く、標準電波によって常に更正されている。そこで、耐タンパ部20は、外部クロック28(図2)を適宜参照して内部クロック22を更正する。
【0108】
ここで、内部クロック22の更正について図10を用いてより詳細に説明する。
図10は、内部クロック22が計測する時刻の一例を示しており、一例として「2005年3月30日15時30分20秒2百ミリ秒」となっている。このように内部クロック22は時刻を百ミリ秒単位で計測している。
耐タンパ部20は、内部クロック22の時刻を分以上の部分(以下、時刻ラベルと呼ぶ)と秒単位に区分して管理しており、時刻監査は時刻ラベルに対して行い、時刻の更正は秒単位に対して行う。
【0109】
このため、内部クロック22の時刻のうち、セキュリティを要する部分(時刻ラベル)については改竄を行うことができず、セキュリティを高めることができる。また、品質を提供する部分(秒単位)は、標準電波によって高精度に更正される。
一般に、内部クロック22は、更正しなくても数ヶ月間程度は1分以内の精度を維持できるので、顧客は、その間に機器7を設置して内部クロック22の秒単位の更正を行うことにより内部クロック22の更正を行うことができる。
【0110】
なお、本実施の形態では、一例として秒単位を境としてセキュリティに関係する部分と品質保証に関係する部分に時刻を区分したが、これに限定するものではなく、計測対象などに応じて、更に大きい単位、あるいは小さい単位で区分することも可能である。
即ち、例えば、タイムスタンプで1秒単位まで正確な時刻が必要な場合は、1秒以上の部分を監査サーバ12で監査し、999ミリ秒以下の時刻を標準電波で更正する。
【0111】
図9に戻り、前回証明書は、前回の時刻監査の際に監査サーバ12から送られてきて使用した時刻証明書をEEPROM25に記憶しておいたものである。
耐タンパ部20は、監査サーバ12から送信されてきた時刻証明書の基準時刻を確認する際に、この基準時刻が前回に監査サーバ12から受信した基準時刻よりも後であることを確認する。
【0112】
タイムスタンプにおいて、最も防がなくてはならないことは、改竄などによりバックデイト(過去の時刻を出力させること)された時刻でタイムスタンプを発行することである。
そのため、耐タンパ部20は、監査サーバ12から送信されてきた基準時刻が前回に監査を行った時刻(前回証明書に記載されている時刻)よりも後であることを確認する。
【0113】
そして、監査サーバ12から送信されてきた基準時刻が前回証明書に記載された時刻よりも前である場合は、エラーメッセージを発するなどして監査モード(後述)で停止し、タイムスタンプの発行を行わない。
【0114】
このように前回の基準時刻を記憶しておき、監査に用いる基準時刻がこれよりも後の時刻であることを確認することにより、バックデイトされた時刻でタイムスタンプが発行されるのを防止することができる。
なお、工場出荷時に、デフォルトの前回証明書をEEPROM25に記憶させておく。
【0115】
モード切替部51は、耐タンパ部20のタイムスタンプ機能に関する動作モードを順次切り替える機能部である。
耐タンパ部20が行う動作モードには、監査モード、同期モード、スタンプモードがある。
これらの各動作モードはそれぞれ独立したモジュールが行い、モジュール間の干渉が生じないようにしてある。
【0116】
監査モードは、監査サーバ12から送信されてきた基準時刻を用いて内部クロック22の時刻ラベルが正しいことを監査する動作モードである。
同期モードは、標準電波送信装置11から標準電波により配信される時刻を用いて内部クロック22の秒単位の部分を正確な時刻に同期させる(即ち、更正する)動作モードである。
スタンプモードは、計測部35が計測した計測値に対してタイムスタンプを発行する動作モードである。
【0117】
モード切替部51は、耐タンパ部20の動作モードを、図11に示したように、監査モード→同期モード→スタンプモード→監査モード→・・・、といったように、所定の順序にて順次切り替えていく。
これらのモードのうち、監査モードとスタンプモードは、時刻ラベルを扱うため、高いセキュリティを要する動作モードであり(セキュリティモード)、一方、同期モードは秒単位を扱うため、高いセキュリティが必ずしも必要ない動作モード(一般モード)である。
【0118】
そして、モード切替部51は、現在動作中の動作モードが完了するまでは耐タンパ部20を次の動作モードに切り替えない。
そのため、スタンプモードで動作するためには、監査モードと同期モードが完了していることが必要となり、耐タンパ部20は、監査、同期された時刻にてタイムスタンプを発行することができる。
また、耐タンパ部20は、監査モード、同期モードの少なくとも一方でエラーが発生した場合に、タイムスタンプの発行を停止することができる。
【0119】
このように、耐タンパ部20は、セキュリティモードと一般モードを切り替えて動作することにより、高いセキュリティの必要な処理と高いセキュリティの必要のない処理を同時に行うことを防止している。
しかも、各動作モードは独立したモジュールにて動作するため、耐タンパ部20は、セキュリティモードでの処理と一般モードでの処理が耐タンパ部20内で干渉することを防ぐことができ、クラッキングなどの不正アクセスに対して高い耐性を備えている。
【0120】
なお、耐タンパ部20では、セキュリティモードを監査モードとスタンプモードに区分して切り替えているが、これらは何れもセキュリティモードなので、同じモードにて監査とスタンプの発行を行うように構成してもよい。
更に、本実施の形態では、監査モード→同期モード→スタンプモード→監査モード・・・の順序でモードの切り替えを行ったが、モード切り替えの順序はこれに限定するものではなく、例えば、同期モード→監査モード→スタンプモード→同期モード→・・・など、他の順序で動作モードを切り替えてもよい。
【0121】
このようにして、機器7(図9)は、スタンプモードの間、計測部35から計測値を取得して内部クロック22の時刻によりタイムスタンプを発行し、計測データとして顧客サーバ4に送信する。
このように、機器7は、タイムスタンプ機能を内蔵しており、計測と共にタイムスタンプを発行するため、当該計測値が確かに当該計測時刻に計測されたことを保証することができる。
なお、本実施の形態では、内部クロック22で計測した時刻を計測時刻としたが、計測部35が計測値と共に計測時刻を耐タンパ部20に出力し、この計測時刻を含めて耐タンパ部20がタイムスタンプを発行するように構成することもできる。
【0122】
顧客サーバ4(図9)は、機器7を登録した機器マスタと機器7から送信された計測データを記憶する計測値データベースを備えている。
図12(a)は、機器マスタの論理的な構成の一例を示した図である。
機器マスタは、「機器ID」、「接続情報」、「機器公開鍵」、「型番」、「設置箇所」、「設置日」、・・・などの各項目から構成されている。
機器IDは、機器7を識別するのに用い、接続情報は機器7に接続するのに用いる。機器公開鍵は計測データのタイムスタンプ(デジタル署名)を確認するのに用いる。
【0123】
図12(b)は、計測値データベースの論理的な構成の一例を示した図である。
計測値データベースは、「機器ID」、「受信時刻」、「計測値」、「計測時刻」、・・・などの項目から構成されている。
機器IDは、計測データの送信元である機器7の機器IDであり、受信時刻は、顧客サーバ4が計測データを受信した時刻である。計測値は、計測データに含まれていた計測値である。
顧客サーバ4は、機器7の機器公開鍵で計測データのタイムスタンプを検証し、計測データや計測時刻などが改竄されていないことを確認してからこれらを計測値データベースに登録する。
【0124】
次に、図13を用いて顧客サーバ4が機器7から計測データを収集する手順について説明する。
ここでは、機器7が監査モードに切り替わった時点から説明する。なお、以下の機器7の動作は耐タンパ部20が行うものである。
まず、モード切替部51が耐タンパ部20を監査モードに切り替えると、機器7は、監査サーバ12に接続し、時刻証明書の送信を要求する(ステップ25)。
【0125】
監査サーバ12は、機器7から時刻証明書の送信要求を受けると、原子時計の出力する時刻を用いて時刻証明書作成し、機器7に送信する(ステップ30)。
機器7は、監査サーバ12から時刻証明書を受信すると、監査用公開鍵を用いて時刻証明書のデジタル署名を確認した後、時刻証明書の基準時刻と、内部クロック22が計測している時刻の時刻ラベル(図10)が一致することを確認する(ステップ35)。
【0126】
時刻ラベルが基準時刻ラベルと一致しない場合、耐タンパ部20では、モード切替部51がモード切替を停止し、機器7はエラーメッセージを顧客サーバ4に送信する。これによって、顧客サーバ4では、機器7の異常を検知することができる。
時刻ラベルと基準時刻が一致する場合、モード切替部51は、耐タンパ部20の動作モードを同期モードに切り替える。
【0127】
耐タンパ部20が同期モードに設定されると、機器7は、基地局8が放送している標準電波(ステップ40)を受信し、標準電波で送られた時刻を用いて内部クロック22の秒単位を更正する(ステップ45)。
内部クロック22の秒単位の更正が完了すると、モード切替部51は、耐タンパ部20の動作モードをスタンプモードに切り替える。
【0128】
耐タンパ部20がスタンプモードに切り替わると、計測部35のCPU29は、計測装置部34で計測された計測値を耐タンパ部20に送信する。そして、耐タンパ部20は、これを用いて計測データを生成して顧客サーバ4に送信する(ステップ50)。
顧客サーバ4は、機器7から計測データを受信し、計測値などを計測値データベースに記憶する(ステップ60)。
【0129】
耐タンパ部20は、時刻監査からの期間が活性化時間を経過したか否かを監視しており、活性化時間を経過していない場合(ステップ55;N)、機器7は、ステップ50に戻って計測を続行する。
一方、活性化時間を経過した場合(ステップ55;N)、機器7は、無限ループを続行するか否かを判断する(ステップ65)。
【0130】
無限ループを続行する場合は(ステップ65;Y)、モード切替部51が耐タンパ部20の動作モードを監査モードに切り替えて機器7はステップ25に戻る。無限ループを続行しない場合(ステップ65;N)、機器7は動作を終了する。
機器7は、通常無限ループで連続的に動作するが、例えば、使用期間が限定されてる場合で使用期限が切れた場合など、無限ループを続行しない場合は自動停止する。
【0131】
次に、図14のフローチャートを用いて機器7の時刻監査についてより詳細に説明する。図14のステップ110〜ステップ140は、図13のステップ35に対応する。
機器7が時刻証明書を要求し(ステップ25)、これに応じて監査サーバ12が時刻証明書を送信する(ステップ30)。
機器7は、監査サーバ12から送信されてきた時刻証明書を受信し、これを耐タンパ部20に入力する。
そして、機器7は、時刻証明書に記されている基準時刻と内部クロック22が計測している時刻を比較する(ステップ110)。
【0132】
この比較は時刻ラベル、即ち分単位で行い、秒単位は行わない。例えば、時刻証明書に記載されていた時刻が「2005年3月20日12時30分3秒2百ミリ秒」で、内部クロック22の時刻が「2005年3月20日12時30分0秒5百ミリ秒」であった場合、両者は分単位以上が同じであるので、機器7は両者が一致すると判断する。
【0133】
時刻証明書に記載されていた時刻と内部クロック22の時刻が一致しない場合(ステップ115;N)、機器7はステップ25に戻り、監査サーバ12に再度時刻証明書の送信を要求する。
両時刻が一致する場合(ステップ115;Y)、機器7は、時刻証明書の有効性を確認する(ステップ120)。
【0134】
この有効性は、時刻証明書に付属するデジタル署名を監査用公開鍵で復号化してダイジェストを復元し、更に時刻証明書から監査サーバ12と同じ関数(例えば、ハッシュ関数)を用いてダイジェストを求め、両者の一致を確認することにより行う。
また、時刻証明書に時刻証明書の有効期限が付属している場合は、有効期限内であることを確認する。
【0135】
このように、時刻証明書と内部クロック22の時刻の比較を時刻証明書の有効性の確認の前に行ったのは、時刻の比較をなるべく速やかに行うためである。
即ち、有効性の確認の後に時刻の比較を行うと、有効性の確認に要する時間だけ内部クロック22の時刻が進んでしまい、時刻証明書に記載されている時刻との差が大きくなるためである。
【0136】
時刻証明書が有効でなかった場合(ステップ125;N)、機器7はステップ25に戻る。
時刻証明書が有効であった場合(ステップ125;Y)、機器7は、前回証明書(図9)に記載されている基準時刻と、時刻証明書に記載されている基準時刻との前後関係を比較する(ステップ130)。
【0137】
時刻証明書に記載されている基準時刻が、前回証明書に記載されている基準時刻よりも前の時刻であった場合(ステップ135;N)、機器7はステップ25に戻る。
一方、時刻証明書に記載されている基準時刻が、前回証明書に記載されている基準時刻よりも後の時刻であった場合(ステップ135;Y)、前回証明書を今回受け取った時刻証明書にて上書きするなどして置き換える。
【0138】
通信回線の状態などにより、監査エラーが発生する場合があり、この場合、機器7は、その都度ステップ25に戻って監査サーバ12に時刻証明書の発行を要求するようになっている。
そして、監査サーバ12は、監査の再実行が所定回数に達した場合は、機器7を停止させるコマンドを機器7に送信する。
このように、機器7で何らかの異常が発生していると考えられる場合、監査サーバ12は機器7を停止させることができる。
【0139】
次に、図15のフローチャートを用いて機器7の計測処理についてより詳細に説明する。図15のステップ200〜ステップ220は、図13のステップ50に対応し、図15のステップ225、230は、図13のステップ60に対応する。
機器7の計測部35(図2)は、外部クロック28を監視しており、予め設定された計測時刻に達すると、計測装置部34に計測を指示し、これによって計測を実行する(ステップ200)。
なお、計測部35が計測装置部34から計測値を取得するタイミングは、機器7の種類や用途などによって様々設定することができる。
【0140】
そして、機器7は、計測部35で取得した計測値をバスラインを介して耐タンパ部20に提供する(ステップ205)。
耐タンパ部20では、計測値が提供された時刻を内部クロック22から取得し、この時刻を測定値の計測時刻とする(ステップ210)。
【0141】
次に、機器7は、耐タンパ部20内で、機器ID、計測値、計測時刻などのメッセージのダイジェストを作成し、これを機器秘密鍵で暗号化してタイムスタンプを生成・発行する(ステップ215)。
そして、機器7は、機器ID、計測値、計測時刻やタイムスタンプなどから計測データを作成し、顧客サーバ4に送信する(ステップ220)。
【0142】
顧客サーバ4は、計測データを機器7から受信すると、計測データに記されている機器IDを機器マスタで検索し、当該機器7の機器公開鍵を取得する。
そして、顧客サーバ4は、この機器公開鍵を用いてタイムスタンプの確認を行う(ステップ225)。
タイムスタンプの確認を終えると、顧客サーバ4は、計測データに記されている計測値や計測時刻などを計測値データベースに記憶し、これを更新する(ステップ230)。
【0143】
以上に説明したように、機器7の計測部35は、計測対象を計測する計測手段として機能し、内部クロック22は、時刻を計測する時計装置として機能する。
そして、耐タンパ部20は、スタンプモードにおいて、計測部35で計測がなされた際の時刻を内部クロック22から取得し、当該計測値に対して当該取得した時刻による時刻証明情報(タイムスタンプ)を生成する時刻証明情報生成手段として機能している。
【0144】
また、EEPROM25は、非対称暗号鍵として対をなす機器公開鍵と機器秘密鍵のうち、機器秘密鍵を記憶する秘密鍵記憶手段として機能し、耐タンパ部20は、当該機器秘密鍵を用いて、計測値と時刻を対応づけた対応情報(メッセージやダイジェスト)を、所定の暗号方式により暗号化することにより時刻証明情報を生成する。
また、通信部26は、生成した時刻証明情報を所定の送信先に送信する送信手段として機能している。
【0145】
また、機器7は、基準時刻送信装置(標準電波送信装置11など)が送信した基準時刻(標準電波など)を受信する基準時刻情報受信手段と、当該基準時刻を用いて、内部クロック22が計測する時刻のうち所定単位よりも小さい単位の時刻(秒単位の時刻)を補正する時刻補正手段と、備えている。
更に、機器7は、所定の監査サーバから基準時刻を受信する基準時刻受信手段を備え、モード切替部51は、前記所定単位以上の時刻(時刻ラベル)において、内部クロック22で計測した時刻と当該受信した基準時刻が一致する場合に前記時刻証明情報生成手段を動作させ、一致しない場合に前記時刻証明情報生成手段を停止させる監査結果実行手段として機能している。
【0146】
以上に説明した本実施の形態により次のような効果を得ることができる。
(1)機器7にタイムスタンプ機能が内蔵されてるため、計測値からタイムスタンプで証明される時刻に計測されたものであることを保証することができる。
(2)機器7での計測時刻が改竄できないため、信頼できる計測値の時系列を得ることができる。
(3)内部クロック22の更正に、標準電波を用いるため、更正用の時刻を配信する設備が必要ない。
(4)時刻の更正は秒単位以下に対してしか行うことができないため、時刻ラベルの改竄を防ぐことができる。
(5)耐タンパ部20の動作をセキュリティモード(時刻監査、タイムスタンプの発行)と一般モード(同期)で切り替えるため、セキュリティを高めることができる。
【0147】
なお、本実施の形態では、内部クロック22の計測する時刻を時刻ラベルと秒単位に区分し、時刻監査は時刻ラベルに対して行い、時刻の更正は標準電波にて秒単位に対して行ったが、従来技術のように時刻配信サーバを設け、これによって時刻配信を行い、これによって更正された内部クロック22の時刻を時刻監査するように構成してもよい。
また、機器7の用途としては、水道・ガスメータといったメータ類のほかに、ハウス栽培の温度計、原子力発電所での放射能漏れ計測装置、地震計などに用いることができる。
【0148】
また、機器7は、次のような時刻証明サーバとしての機能を有している。
即ち、時刻を出力する時計装置と、前記時計装置が出力した時刻のうち、所定の単位以上の時刻(時刻ラベル)を取得する第1の時刻取得手段と、基準時刻を配信する基準時刻配信サーバ(監査サーバ12)から基準となる時刻を受信する基準時刻受信手段と、前記所定単位以上の時刻において前記第1の時刻取得手段で取得した時刻と前記受信した基準時刻とが一致することを確認することにより、前記時計装置が所定の範囲の精度で作動していることを検証する検証手段と、クライアント機器(計測部35)から、時刻証明対象となる証明対象情報を受信する証明対象情報受信手段と、前記精度を検証した前記時計装置が出力する時刻を用いて、前記受信した証明対象情報の時刻証明情報(タイムスタンプ)を生成する時刻証明情報生成手段と、前記生成した時刻証明情報を所定の送信先に送信する時刻証明情報送信手段と、を具備したことを特徴とする時刻証明サーバを提供する(第1の構成)。
第1の構成において、前記検証手段は、検証に用いる基準時刻が、前回の検証で用いた基準時刻よりも後の時刻であることが確認できた場合に、前記時計装置が所定の範囲の精度にて作動していると検証するように構成することもできる(第2の構成)。
第1の構成、又は第2の構成において、更正時刻発生装置(標準電波送信装置11)から更正時刻を取得する更正時刻取得手段と、前記取得した更正時刻を用いて、前記時計装置が計測する時刻のうち、前記所定の単位よりも小さい単位(秒単位)の時刻を更正する時刻更正手段と、を具備し、前記時刻証明情報生成手段は、前記構成した時刻を用いて前記時刻証明情報を生成するように構成することもできる(第3の構成)。
第1の構成、第2の構成、又は第3の構成において、前記所定の単位を変更する所定単位変更手段を具備するように構成することもできる(第4の構成)。
第3の構成において、前記検証手段と前記時刻証明情報生成手段が動作する第1の動作モードと、前記時刻更正手段が動作する第2の動作モードと、を切り替える動作モード切替手段を具備し、前記動作モード切替手段は、それぞれの動作モードにて動作が完了した後に動作モードを切り替えるように構成することもできる(第5の構成)。
第5の構成において、前記第1の動作モードは、前記検証手段が前記時計装置を検証する検証モードと、前記時刻証明情報生成手段が前記時刻証明情報を生成する時刻証明情報生成モードと、から成り、前記動作モード切替手段は、前記検証モードと前記時刻証明情報生成モードの切替において、モード切替元の動作が完了した後にモード切替先に動作モードを切り替えるように構成することもできる(第6の構成)。
【0149】
[子機の設置]
次に、以上のようにして設置された機器7に子機を設置する場合について説明する。
図16は、情報処理システム1において、機器7を親機として子機9を接続したところを示したブロック図である。
機器7は、複数の子機9に直接接続することができると共に、子機9を介して更に多くの子機9と接続することができる。
本実施の形態では、機器7と子機9の接続、及び子機9と子機9の接続は無線を用いるが、有線にて接続してもよい。
【0150】
情報処理システム1において、子機9は、計測値を機器7に送信し、機器7は、これにタイムスタンプを付与して顧客サーバ4に送信する。
このようにして、顧客サーバ4は、機器7や子機9からタイムスタンプが付与された計測値を収集することができる。
【0151】
図17は、子機9のハードウェア的な構成の一例を示したブロック図である。
子機9の構成は、図2に示した機器7と概略同じになっている。そのため、対応する構成要素には機器7と同じ符号を付し、重複する説明は簡略化あるいは省略する。
【0152】
EEPROM25には、非対称暗号鍵生成プログラム、子機秘密鍵、子機証明書、接続要求プログラム、共通鍵、CA公開鍵証明書などが記憶されている。
非対称暗号鍵生成プログラムは、子機秘密鍵と子機公開鍵のペアを生成するためのプログラムであり、CPU21がこのプログラムを実行することにより、子機秘密鍵と子機公開鍵のペアが耐タンパ部20内で生成される。
そして、子機秘密鍵は、生成された後、EEPROM25に記憶される。このようにEEPROM25は、子機秘密鍵記憶手段を構成している。
【0153】
子機証明書は、子機公開鍵の子機公開鍵証明書を検証サーバ公開鍵で暗号化した暗号化子機公開鍵証明書や、子機IDなどからなる子機固有情報などを、CA3がCA秘密鍵でデジタル署名したものである。このように、EEPROM25は、暗号化子機公開鍵記憶手段を構成している。
接続要求プログラムは、子機9を機器7に接続する際に用いるプログラムである。機器7も子機9からの接続要求を受け付ける子機接続プログラムを記憶しており、これらが協働して機能することにより機器7と子機9の接続がなされる。
【0154】
共通鍵は、機器7と接続する際に、機器7から送信されてきた共通鍵であり、子機9は、計測値を機器7に送信する際に、これを共通鍵で暗号化して送信し、また、機器7から送られてくる情報(共通鍵で暗号化されている)を共通鍵で復号化する。
CA公開鍵証明書は、CA3の公開鍵証明書である。また、図示しないが、ルート証明書もEEPROM25に記憶されている。
【0155】
次に、図18を用いて、子機9の出荷前処理から設置までの手順の全体構成について説明する。図中に手順の順序を括弧にて示してあり、以下、この順序に従って説明していく。なお、機器7は、既に情報処理システム1に設置されているものとする。
また、手順(1)から手順(4)までは、子機9の設置前(好ましくは顧客への出荷前)に行う作業である。
(1)(子機秘密鍵と子機公開鍵の非対称暗号鍵ペアの生成)
子機9のハードウェアが完成すると、作業担当者が子機9を操作して非対称暗号鍵生成プログラムを実行し、耐タンパ部20内でCPU21に子機秘密鍵と子機公開鍵のペアを生成させる。
そして、子機9は、生成した子機秘密鍵をEEPROM25の所定のエリアに記憶する。
【0156】
(2)(子機公開鍵の送信)
子機9は、作業担当者によって当該子機9を担当するCA3に接続され、生成した子機公開鍵と子機固有情報(子機IDなど)をCA3に送信する。
(3)(子機証明書の書き込み)
CA3は、子機9から子機公開鍵を受信すると、これをCA秘密鍵でデジタル署名して子機公開鍵証明書を作成する。
更に、CA3は、検証サーバ公開鍵を記憶しており、これを用いて所定の暗号方式により子機公開鍵証明書を暗号化し、暗号化子機公開鍵証明書を作成する。
そして、CA3は、暗号化子機公開鍵証明書やその他の情報(子機固有情報など)をデジタル署名して子機証明書を作成し、子機9に送信する。
子機9は、子機証明書をCA3から受信し、EEPROM25に記憶する。
(4)(出荷)
子機9は、子機証明書を記憶した後、顧客に出荷され、その後は顧客の管理下におかれる。
【0157】
(5)(接続要求)
子機9は、出荷された後、設置担当者によって設置箇所に設置される。機器7と子機9が無線通信できる範囲は限られているので、子機9は、親機となる機器7との通信範囲内(例えば、機器7から半径百メートルの範囲)に設置される。
子機9では、設置箇所に設置された後、設置担当者によって接続要求プログラムが起動される。
【0158】
子機9は、接続要求プログラムが起動すると、通信範囲内にある機器7を検出する。
そして、子機9は、検出された機器7に対して接続要求を行い、子機証明書を機器7に送信する。このように子機9は、暗号化子機公開鍵(子機証明書に含まれている)送信手段を備えている。
機器7が複数検出された場合、子機9は、例えば、各機器7の機器IDを取得して表示装置に表示し、設置担当者に接続する機器7を選択させる。
【0159】
(6)(顧客サーバ4への子機証明書の送信)
機器7は、子機9から子機証明書を受信して(暗号化子機公開鍵受信手段)、CA公開鍵でデジタル署名を確認する。そして、機器7は、顧客サーバ4に接続して子機証明書を顧客サーバ4に送信する。
このように、機器7は、暗号化子機公開鍵を所定の送信先に送信する暗号化子機公開鍵送信手段を備えている。本実施の形態では、所定の送信先を顧客サーバ4とするが、例えば、検証サーバ5に直接送信するなど、各種の変形例が考えられる。
【0160】
顧客サーバ4は、機器7から子機証明書を受信する。このように、機器7は、暗号化子機公開鍵受信手段を備えている。
顧客サーバ4は、機器7から機器IDを取得し、子機証明書から子機IDを取得することができる。なお、顧客サーバ4は、子機証明書の受信に際し、デジタル署名によって正統性を確認する。
そして、顧客サーバ4は、子機マスタを用いて機器7と子機9の組み合わせが予め登録されているか否かを確認する。
【0161】
子機マスタは、図19に示したように、機器7に接続する子機9を機器IDと子機IDの組み合わせにより予め規定したものであり、対応記憶手段を構成している。また、子機マスタには、子機9の有効性も登録されており、使用可能なものは有効に設定され、使用されないものは失効に設定されている。
【0162】
顧客サーバ4は、機器7から受信した機器IDと子機IDの組み合わせが子機マスタで規定されているものと一致し、更に当該子機の有効性が有効である場合に、後の処理を続行する。一方、これらの条件のうち、少なくとも一方が満たされない場合は、エラーメッセージを機器7に送信する。
即ち、機器7は、機器7と子機9が子機マスタで対応づけられているか否かを確認する対応確認手段を備えている。
このように、機器7に接続する子機9を顧客が予め計画して子機マスタに規定しておくことにより、なりすましによる子機9の設置や子機9の誤設置を防ぐことができる。
【0163】
(7)(検証サーバ5への子機証明書の送信)
図18に戻り、顧客サーバ4は、子機マスタによる確認を行った後、子機証明書を検証サーバ5に送信する。このように、機器7は、暗号化子機公開鍵送信手段を備えている。
(8)(顧客サーバ4への子機公開鍵送信)
検証サーバ5は、顧客サーバ4から子機証明書を受信すると、デジタル署名によって正統性を確認する。
そして、検証サーバ5は、子機証明書に含まれる暗号化子機公開鍵証明書を検証サーバ秘密鍵で復号化し、顧客サーバ4に送信する。
暗号化子機公開鍵証明書の復号化ができなかったり、あるいは子機証明書などの正統性が確認できなかった場合、検証サーバ5は顧客サーバ4にエラーメッセージを送信する。
【0164】
(9)(機器7への子機公開鍵の送信)
顧客サーバ4は、検証サーバ5から子機公開鍵を受信すると、これを機器7に転送する。
(10)(共通鍵の送信)
機器7は、顧客サーバ4から子機公開鍵を受信し(子機公開鍵受信手段)、これをRAM24に一時記憶する。そして、機器7は、乱数を発生させるなどして共通鍵を生成し、これを一時記憶しておいた子機公開鍵で暗号化して子機9に送信する。
子機9は、機器7からこの暗号化共通鍵を受信し、これを子機秘密鍵で復号化して共通鍵を復元する。
以後、機器7と子機9は、この共通鍵を用いて情報を暗号化し、通信する。即ち、機器7と子機9のうち、情報送信側は、共通鍵で情報を暗号化して送信し、情報受信側は、共通鍵で情報を復号化する。
【0165】
なお、以上の例では、機器7は顧客サーバ4を介して検証サーバ5に暗号化子機公開鍵証明書を送信し、更に顧客サーバ4を介して子機公開鍵を受信したが、これに限定するものではなく、例えば、機器7が検証サーバ5と接続し、機器7から検証サーバ5に暗号化子機公開鍵証明書を直接送信し、また、子機公開鍵の受信も検証サーバ5から直接行うように構成することもできる。
【0166】
また、顧客サーバ4は、機器7から暗号化子機公開鍵を受信すると、これを順次検証サーバ5に送信するように構成したが、ある期間の間、暗号化子機公開鍵を受信して記憶しておき、バッチ処理にてこれらを一括して検証サーバ5に送るように構成することもできる。
【0167】
次に、図20のフローチャートを用いて子機9が機器7に接続する手順について説明する。なお、以下で子機9が行う情報処理は主に耐タンパ部20(図17)内でCPU21が行うものである。
なお、子機9内で子機公開鍵と子機秘密鍵のペアを生成するなど、子機出荷前の処理は機器7と同様であるので説明を省略する。
子機9は、設置場所に設置されると、設置担当者が入力部32(図17)を操作し、接続要求プログラムを起動する。すると、子機9は、周辺に存在する機器7を検索し、検索された機器7に対して接続要求を行う。
【0168】
一方、機器7は子機9から接続要求があった場合に、耐タンパ部20(図2)に予め記憶した子機接続プログラムを起動し、子機9と協働して以下の一連の情報処理を行う。
まず、機器7で子機接続プログラムが起動されると、子機9はEEPROM25から子機証明書を読み出し、機器7に送信する(ステップ305)。
【0169】
機器7は、子機9から子機証明書を受信すると、CA公開鍵を用いてデジタル署名を検証し、子機証明書の正統性を確認する。
正統性が確認できなかった場合、機器7は子機9にエラーメッセージを送信する。正統性が確認できた場合、顧客サーバ接続情報を用いて顧客サーバ4に接続する。この際に、機器7の機器IDが顧客サーバ4に通知される。なお、機器7と顧客サーバ4が常時接続されたものである場合は、新たに接続する必要はない。
機器7は、顧客サーバ4に接続した後、子機9から受信した子機証明書を顧客サーバ4に送信する(ステップ310)。
【0170】
顧客サーバ4は、機器7から子機証明書を受信すると、CA公開鍵によってデジタル署名を確認する。
次に、機器7の機器IDと子機9の子機証明書に記載された子機IDの組み合わせを子機マスタ(図19)で検索し、予めこの組み合わせが子機マスタで規定されているか否かを確認する(ステップ315)。
組み合わせが確認できなかった場合、顧客サーバ4は機器7に対してエラーメッセージを送信し、このエラーメッセージは、更に機器7から子機9に伝達される。
組み合わせが確認できた場合、顧客サーバ4は、検証サーバ5に接続し、子機証明書を送信する(ステップ320)。
【0171】
検証サーバ5は、顧客サーバ4から子機証明書を受信すると、CA公開鍵でデジタル署名を確認する。
次に、子機証明書に含まれる暗号化子機公開鍵証明書を予め記憶した検証サーバ秘密鍵でこれを復号化し、子機公開鍵証明書を復元する(ステップ325)。
次に、検証サーバ5は、CA公開鍵を用いて子機公開鍵証明書のデジタル署名を確認し、子機公開鍵証明書の正統性を確認する。
【0172】
子機証明書や子機公開鍵証明書が正統なものでなかった場合、検証サーバ5は、顧客サーバ4にエラーメッセージを送信し、このエラーメッセージは更に機器7を介して子機9まで伝達される。
子機公開鍵証明書が正統なものであった場合、検証サーバ5は子機公開鍵を顧客サーバ4に送信する(ステップ330)。
【0173】
顧客サーバ4は、検証サーバ5から子機公開鍵を受信し、これを機器7に送信する(ステップ335)。
機器7は、顧客サーバ4から子機公開鍵を受信すると、共通鍵を生成し、これを子機公開鍵で暗号化して暗号化共通鍵を生成する(ステップ340)。そして、機器7は、暗号化共通鍵を子機9に送信する(ステップ345)。
【0174】
子機9は、機器7から暗号化共通鍵を受信すると、これをEEPROM25に記憶してある子機秘密鍵を用いて復号化して共通鍵を復元する(ステップ350)。
このようにして、機器7と子機9は、共通鍵を共有することができ、以後、機器7と子機9は、送受信する情報を共通鍵で暗号化・復号化して通信する。
このようにして、機器7と子機9が共通鍵を共有したことを確認した後、機器7は、子機9の子機固有情報やアドレスなどをEEPROM25(図2)に記憶し、子機9を自己の子機として正式登録する。このようにして、機器7と子機9は接続する(ステップ355)。
【0175】
次に、図21のフローチャートを用いて、子機9と機器7の接続方法の変形例について説明する。
先に説明した実施の形態では、子機マスタで予め機器7と子機9の組み合わせが規定されていたが、この変形例では、機器7に任意の子機9を接続し、この機器7と子機9の組み合わせによって動的に子機マスタを更新する。
なお、図20と共通のステップには、同じステップ番号を付し、説明を簡略化あるいは省略することにする。
【0176】
ステップ305、ステップ310は、図20と同様である。
次に、顧客サーバ4は、子機証明書を機器7から受信すると、当該機器7の機器IDに対して当該子機9の子機IDを対応づけて子機マスタに仮登録する(ステップ360)。
本変形例の子機マスタでは、初めは機器IDと子機IDの対応づけがなされておらず、ステップ360の処理によって機器IDと子機IDの対応を記憶するようになっている。
【0177】
以降、ステップ320からステップ355までは図20と同じである。
そして、機器7は、子機9との接続を確立すると、顧客サーバ4に対して子機9と接続した旨の接続通知を送信する(ステップ365)。
顧客サーバ4は、機器7から接続通知を受信すると、子機マスタで仮登録してある当該機器7の機器IDと当該子機9の子機IDの組み合わせを確定し、子機マスタに正式に登録する(ステップ370)。
【0178】
この変形例では、予め機器7と子機9の組み合わせを機器マスタで規定しないので、機器7と子機9の組み合わせを確認することはできないが、機器7に対して任意の子機9を接続していくことができるため、子機9運用の柔軟性が高まる。
【0179】
以上に説明した子機設定方法により次のような効果を得ることができる。
(1)子機の設置と管理は顧客が行うため、機器7や子機9の供給事業者は機器7に関する情報(機器公開鍵など)を管理すればよい。
(2)子機マスタにより機器7と子機9の組み合わせを予め登録しておくことにより、子機9のなりすましや子機9の誤設置などを抑制することができる。
(3)機器7は、子機証明書の検証を検証サーバ5に依頼することにより、子機認証を行うことができる。
(4)機器7に複数の子機9を設置することができ、機器7や子機9による計測機器の設置の柔軟性を高めることができる。
【0180】
[子機の運用]
次に、以上のようにして設置した子機9の運用について図22のフローチャートを用いて説明する。
なお、図15と同様の処理を行うステップに関しては、図15と同じステップ番号を付し、説明を簡略化する。
【0181】
まず、子機9が、計測装置部34(図17)によって計測対象の計測を実行する(ステップ300)。この計測は、例えば、所定時間間隔や、予め設定された時刻に行われる。
子機9は、計測装置部34で計測値を取得すると、これを耐タンパ部20に送り、耐タンパ部20内で共通鍵によって暗号化する(ステップ305)。そして、子機9は、このようにして計測値を暗号化した暗号化計測値を機器7に送信する(ステップ310)。
【0182】
機器7は、子機9から暗号化計測値を受信すると(ステップ315)、これを耐タンパ部20内で共通鍵により復号化する(ステップ320)。このように、機器7は子機9から計測値を取得する計測値取得手段を備えている。
そして、機器7は、暗号化計測値を受信した際の時刻を内部クロック22で計測することにより計測値の計測時刻を取得する(ステップ210)。
【0183】
次に、機器7は、耐タンパ部20内で、計測値、計測時刻、子機9の子機IDなどを含む計測データを生成し、これに機器秘密鍵でデジタル署名してタイムスタンプを発行する(ステップ215)。
機器7は、このようにしてタイムスタンプが発行された計測データを顧客サーバ4に送信する(ステップ220)。
【0184】
顧客サーバ4は、機器7から計測データを受信すると、デジタル署名を当該機器7の機器公開鍵で復号化することによりタイムスタンプを確認する(ステップ225)。これによって計測データの正統性が確認される。
タイムスタンプが確認されると、顧客サーバ4は、計測データに含まれるデータを計測値データベースに記憶し、これを更新する(ステップ230)。
【0185】
計測値データベースは、機器7で計測したデータに加え、子機9で計測したデータも記憶するようになっている。
記憶する項目は、機器7と同様であり、図12(b)の「機器ID」の項目を「子機ID」としたものである。
「計測値」は、子機9で計測された計測値が記憶され、計測値には、機器7が子機9から計測値を受信した際の時刻が記憶される。
【0186】
以上に説明した子機9の運用により次のような効果を得ることができる。
(1)子機9での計測値に対して機器7でタイムスタンプを発行することができる。
(2)タイムスタンプは機器7で発行するため、子機9にタイムスタンプ発行機能を搭載する必要がない。
(3)タイムスタンプは、機器7の機器秘密鍵によってなされるため、顧客サーバ4は、子機9の子機秘密鍵を記憶する必要がない。
(4)機器7に複数の台の子機9を接続することができるため、多くの子機9を設置することができる。
【図面の簡単な説明】
【0187】
【図1】本実施の形態に係る情報処理システムのネットワーク構成の一例を示したブロック図である。
【図2】機器のハードウェア的な構成の一例を示したブロック図である。
【図3】検証サーバのハードウェア的な構成の一例を示したブロック図である。
【図4】機器登録データベースの論理的な構成の一例を示した図である。
【図5】機器を設置して顧客サーバに接続するまでの全体的な手順について説明するための図である。
【図6】機器を出荷する前に行う処理の手順を説明するためのフローチャートである。
【図7】機器を設置現場に設置して顧客サーバに接続するまでの手順を説明するためのフローチャートである。
【図8】情報処理システムの運用に関する部分を示したブロック図である。
【図9】機器、監査サーバ、及び顧客サーバの関係を示したブロック図である。
【図10】内部クロックの更正について説明するための図である。
【図11】モード切替部のモード切替動作を説明するための図である。
【図12】機器マスタ、計測値データベースの論理的な構成を示した図である。
【図13】顧客サーバ4が機器7から計測データを収集する手順を説明するためのフローチャートである。
【図14】時刻監査手順を説明するためのフローチャートである。
【図15】計測処理手順を説明するためのフローチャートである。
【図16】情報処理システムにおいて機器と子機を接続したところを示した図である。
【図17】子機のハードウェア的な構成の一例を示したブロック図である。
【図18】子機を設置するまでの手順を説明するための図である。
【図19】子機マスタの論理的な構成の一例を示した図である。
【図20】子機を機器に接続する手順を説明するためのフローチャートである。
【図21】子機を機器に接続する手順の変形例を説明するためのフローチャートである。
【図22】子機の運用を説明するためのフローチャートである。
【符号の説明】
【0188】
1 情報処理システム
2 親CA
3 CA
4 顧客サーバ
5 検証サーバ
6 機器登録サーバ
7 機器
8 基地局
9 子機
10 ネットワーク
12 監査サーバ
51 モード切替部
【特許請求の範囲】
【請求項1】
子機端末と、前記子機端末と通信可能な端末機器と、前記端末機器から計測値を受信する情報処理サーバと、を用いて構成された情報処理システムで使用する端末機器であって、
前記子機端末が計測対象を計測した計測値を前記子機端末から取得する計測値取得手段と、
前記計測値受信手段で計測値を受信した際の時刻を計測する時計装置と、
前記受信した計測値に対して前記取得した時刻による時刻証明情報を生成する時刻証明情報生成手段と、
を具備したことを特徴とする端末機器。
【請求項2】
非対称暗号鍵として対をなす公開鍵と秘密鍵のうち、前記秘密鍵を記憶する秘密鍵記憶手段を具備し、
前記時刻証明情報生成手段は、前記記憶した秘密鍵を用いて、前記計測値と前記時刻を対応づけた対応情報を、所定の暗号方式により暗号化することにより時刻証明情報を生成することを特徴とする請求項1に記載の端末機器。
【請求項3】
前記生成した時刻証明情報を所定の送信先に送信する送信手段を具備したことを特徴とする請求項1、又は請求項2に記載の端末機器。
【請求項4】
基準時刻送信装置が送信した基準時刻を受信する基準時刻情報受信手段と、
前記受信した基準時刻を用いて、前記時計装置が計測する時刻のうち所定単位よりも小さい単位の時刻を補正する時刻補正手段と、
を具備したことを特徴とする請求項1、請求項2、又は請求項3に記載の端末機器。
【請求項5】
所定の監査サーバから基準時刻を受信する基準時刻受信手段と、
前記所定単位以上の時刻において、前記計測した時刻と前記受信した基準時刻が一致する場合に前記時刻証明情報生成手段を動作させ、一致しない場合に前記時刻証明情報生成手段を停止させる監査結果実行手段と、
を具備したことを特徴とする請求項4に記載の端末機器。
【請求項6】
計測対象を計測する計測手段を具備し、
前記計測値取得手段は、前記計測手段から計測値を取得することを特徴とする請求項1から請求項5までのうちの何れか1の請求項に記載の端末機器。
【請求項1】
子機端末と、前記子機端末と通信可能な端末機器と、前記端末機器から計測値を受信する情報処理サーバと、を用いて構成された情報処理システムで使用する端末機器であって、
前記子機端末が計測対象を計測した計測値を前記子機端末から取得する計測値取得手段と、
前記計測値受信手段で計測値を受信した際の時刻を計測する時計装置と、
前記受信した計測値に対して前記取得した時刻による時刻証明情報を生成する時刻証明情報生成手段と、
を具備したことを特徴とする端末機器。
【請求項2】
非対称暗号鍵として対をなす公開鍵と秘密鍵のうち、前記秘密鍵を記憶する秘密鍵記憶手段を具備し、
前記時刻証明情報生成手段は、前記記憶した秘密鍵を用いて、前記計測値と前記時刻を対応づけた対応情報を、所定の暗号方式により暗号化することにより時刻証明情報を生成することを特徴とする請求項1に記載の端末機器。
【請求項3】
前記生成した時刻証明情報を所定の送信先に送信する送信手段を具備したことを特徴とする請求項1、又は請求項2に記載の端末機器。
【請求項4】
基準時刻送信装置が送信した基準時刻を受信する基準時刻情報受信手段と、
前記受信した基準時刻を用いて、前記時計装置が計測する時刻のうち所定単位よりも小さい単位の時刻を補正する時刻補正手段と、
を具備したことを特徴とする請求項1、請求項2、又は請求項3に記載の端末機器。
【請求項5】
所定の監査サーバから基準時刻を受信する基準時刻受信手段と、
前記所定単位以上の時刻において、前記計測した時刻と前記受信した基準時刻が一致する場合に前記時刻証明情報生成手段を動作させ、一致しない場合に前記時刻証明情報生成手段を停止させる監査結果実行手段と、
を具備したことを特徴とする請求項4に記載の端末機器。
【請求項6】
計測対象を計測する計測手段を具備し、
前記計測値取得手段は、前記計測手段から計測値を取得することを特徴とする請求項1から請求項5までのうちの何れか1の請求項に記載の端末機器。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【公開番号】特開2007−215104(P2007−215104A)
【公開日】平成19年8月23日(2007.8.23)
【国際特許分類】
【出願番号】特願2006−35262(P2006−35262)
【出願日】平成18年2月13日(2006.2.13)
【出願人】(000002325)セイコーインスツル株式会社 (3,629)
【Fターム(参考)】
【公開日】平成19年8月23日(2007.8.23)
【国際特許分類】
【出願日】平成18年2月13日(2006.2.13)
【出願人】(000002325)セイコーインスツル株式会社 (3,629)
【Fターム(参考)】
[ Back to top ]