(57)【要約】【課題】  ある電子計量器にプログラム改竄を検知した場合、周辺の電子計量器のプログラム改竄を自動的に検査する。【解決手段】  電子計量器に設置場所に応じた電力供給制御ルールを設定しておき、その設置場所に応じてプログラム改竄検知処理の実行を管理する。電子計量器でプログラムの改竄を検知した時に、この電力供給制御ルールに従って電力の供給維持及び停止を判断する。また、改竄検知を中継器又は管理サーバ等の上位システムへ通知して、上位システムが改竄を検知した電子計量器の周辺の電子計量器へプログラム改竄検知の実行を指示する。【選択図】図１
2015018477.tif 000002
【特許請求の範囲】
【請求項１】
需要家の施設に設置され、社会インフラ資源の利用状況の監視と供給制御を行う複数の電子計量器と、該電子計量器による社会インフラ資源の計量値を収集して管理を行う管理サーバと、複数の該電子計量器にネットワークを介して接続されると共に該管理サーバにネットワークを介して接続される中継器とを含む電子計量システムであって、
該電子計量器は、社会インフラ資源の利用状況を計測する計量部と、社会インフラ資源の供給を制御する制御部と、該管理サーバと通信する通信部と、該電子計量器の動作に必要なプログラムやデータ及び社会インフラ資源の供給制御ルールを保存するデータ蓄積部と、該電子計量器のプログラム改竄を検知するプログラム改竄検知部と、該プログラム改竄検知に際して使用するハッシュ値を記憶する耐タンパ領域を有し、
該管理サーバは、データ蓄積部と、該電子計量器を制御する電子計量器制御部と、該電子計量器及び該中継器へプログラムを配信するプログラム配信部と、該電子計量器と該中継器のプログラム改竄を検知した場合に対策を実施するプログラム改竄対策部を有し、該データ蓄積部は、該電子計量器を動作させるための必要なデータと、該社会インフラ資源の供給制御ルールを保持する供給制御ルールテーブルと、該電子計量器が使用するプログラムと、該中継器が使用するプログラムを保持し、
該中継器は、該電子計量器及び該管理サーバとの間で通信を行う通信部と、該中継器のプログラムの改竄を検知する中継器プログラム改竄検知部と、該電子計量器で改竄が検知された場合対応を行う改竄検知対応部と、データ蓄積部を有し、データ蓄積部は電子計量器プログラムと中継器のプログラムのハッシュ値を記憶し、
該電子計量器の該プログラム改竄検知部は、自電子計量器内のプログラム全体のハッシュ値を計算し、耐タンパ領域に記憶された該ハッシュ値と比較して、その比較結果に応じてプログラムが改竄されたと判断すると、該制御部は該社会インフラ資源の供給制御ルールに従って社会インフラ資源の供給を制御することを特徴とする電子計量システム。
【請求項２】
該中継器の該中継器プログラム改竄検知部は、プログラムの改竄を定期的に検査して、改竄を検知すると該管理サーバに通知する、請求項１に記載の電子計量システム。
【請求項３】
該中継器の該改竄検知対応部は、該中継器に接続された該電子計量器から改竄検知の通知を受信すると、該中継器に接続されている他の該電子計量器へプログラムの改竄検知処理の実行を指示する、請求項１乃至２のいずれかの項に記載の電子計量システム。
【請求項４】
該管理サーバの該供給制御ルールテーブルは、該電子計量器が設置される施設の重要度に関する情報を含み、該重要度が高いほどプログラムの改竄検知処理の実行頻度を頻繁に行う、請求項１に記載の電子計量システム。
【請求項５】
該供給制御ルールテーブルは、該電子計量器がプログラム改竄を検知した場合の社会インフラ資源の供給について、「供給状態を維持」、「供給を停止」「プログラム更新時のみ停止」の判断基準を保持する、請求項１に記載の電子計量システム。
【請求項６】
該中継器が、該電子計量器からプログラムの改竄検知の通知を受信した後、該データ蓄積部に記憶された該電子計量器プログラムを該電子計量器へ送信し、
該電子計量器は、改竄が検知されたプログラムを該受信したプログラムに更新する、請求項１乃至５のいずれかの項に記載の電子計量システム。
【請求項７】
該管理サーバが、該中継器からプログラムの改竄検知の通知を受信すると、該中継器へ該該データ蓄積部に保持された中継器プログラムを該中継器に送信し、
該中継器は、改竄されたプログラムを該受信した中継器プログラムに更新する、請求項１乃至６のいずれかの項記載の電子計量システム。
【請求項８】
該管理サーバが該中継器から改竄検知の通知を受信すると、該管理サーバは管理者用の端末に警告を表示する、請求項１乃至７のいずれかの項記載の電子計量システム。
【請求項９】
該管理サーバに接続される複数の中継器のうちには前記改竄検知対応部を有しない中継器が存在することがあり、
該中継器が、該電子計量器からプログラムの改竄の検知を受信したとき、自中継器が該改竄検知対応部を有するかを判断し、該中継器が該改竄検知対応部を有する場合は、該改竄検知対応部が該中継器の配下にある全ての該電子計量器に対して、プログラムの改竄検知処理を実施し、
該中継器が該改竄検知対応部を有しない場合は、該管理サーバが該中継器の配下にある全ての該電子計量器に対して、プログラムの改竄検知処理を実施する、
請求項１乃至８のいずれかの項記載の電子計量システム。
【請求項１０】
需要家の施設に設置され、社会インフラ資源の利用状況の監視と供給制御を行う複数の電子計量器と、該電子計量器による社会インフラ資源の計量値を収集して管理を行う管理サーバと、複数の該電子計量器にネットワークを介して接続されると共に該管理サーバにネットワークを介して接続される中継器とを含む電子計量システムにおける電子計量器のプログラム改竄処理方法であって、
該電子計量器は、社会インフラ資源の利用状況を計測すると共に社会インフラ資源の供給を制御し、
データ蓄積部に該電子計量器の動作に必要なプログラムやデータ及び社会インフラ資源の供給制御ルールを保存し、
耐タンパ領域に該プログラム改竄検知に際して使用するハッシュ値を記憶し、
該電子計量器のプログラム改竄を検知し、
該管理サーバは、該データ蓄積部に、該電子計量器を動作させるための必要なデータと、該社会インフラ資源の供給制御ルールを保持する供給制御ルールテーブルと、該電子計量器が使用するプログラムと、該中継器が使用するプログラムを保持し、
該電子計量器と該中継器のプログラム改竄を検知した場合に対策を実施して、該電子計量器及び該中継器へプログラムを配信し、
該中継器は、データ蓄積部に電子計量器プログラムと中継器のプログラムのハッシュ値を記憶し、
該中継器のプログラムの改竄を検知し、該電子計量器で改竄が検知された場合対応を行い、
該電子計量器は、自電子計量器内のプログラム全体のハッシュ値を計算し、耐タンパ領域に記憶された該ハッシュ値と比較して、その比較結果に応じてプログラムが改竄されたと判断すると、該制御部は該社会インフラ資源の供給制御ルールに従って社会インフラ資源の供給を制御することを特徴とする電子計量器のプログラム改竄処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子計量システム及び電子計量器のプログラム改竄処理方法に係り、特に電気、ガス、水道等の供給状態の計量及び制御を実施するシステムにおける電子計量器のアプリケーションプログラムの改竄の検知処理に関する。
【背景技術】
【０００２】
電気、ガス、水道等の社会インフラシステムにおいては、検針員による計量器の直接的な検針の作業が減り、ネットワーク経由で計量器の監視制御をおこなうAdvanced Metering Infrastructure(AMI)と呼ばれる自動検針システムが普及し始めている。これにより詳細な監視制御が実施可能となる。例えば、気候や発電状況に応じて動的かつリアルタイムに需要家（社会インフラを利用する利用者）の電力需給状態を調整することで、電力使用の効率化への取組みを実施する傾向にある。
【０００３】
電気、ガス、水道等の計量器が高性能、多機能になると、計量器及びそれを利用するために敷設されたネットワークへのサイバー攻撃のリスクが高まり、その対策も重要となりつつある。サイバー攻撃の中で特に危険度が高いものが、攻撃者が計量器や関連機器のプログラムを改竄することである。プログラムの改竄によって攻撃が成功すると、攻撃者の意のままに計量器を操作可能となり得る。例えば電力システムの場合、電気料金の詐称、停電、漏電等の問題が発生する可能性がある。
【０００４】
この問題の対策としては、機器自体を耐タンパな構成にして攻撃耐性を持たせるとともに、通信路上に流れるデータに暗号化と改竄検知処理を施すことが考えられる。ここで、耐タンパ領域は、は物理的な攻撃に耐性を持つ不揮発性メモリである。特に、機器のプログラム改竄が問題になることから、例えば、特許文献１に記載のように、電子計量器の起動時に、起動プログラムがプログラムバイナリのハッシュ値を計算し、事前に記録してある認証済みハッシュ値を比較し、一致すれば起動し、そうでなければ異常であると判断して、表示部に異常である旨を表示して、動作を停止する電力計量器が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１８０９６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１では、電子計量器が起動中にプログラムを書き換えられた場合に検出できず、様々な不正利用が発生する可能性がある。また、ある電子計量器のプログラムが改竄された場合、周辺の電子計量器も同等な脅威にさらされている可能性があるがそれを検知する手段にならない。
【０００７】
さらに、計量システムの運用中にプログラムの書き換えを検知した場合、一律に電力供給を停止する案も考えられるが、病院等の重要施設に設置された電子計量器の場合は、医療機器等に損害を与え、人命にかかわる問題が発生する。他方、電子計量器は大量に製造されて各所に設置されることから、製造コストの制約によりハードウェアの性能が限られる。したがって、危険度が高いから取って、頻繁にプログラムの改竄検知処理を実行すると、本来の計量及び制御動作に悪影響を与える可能性がある。
【０００８】
本発明の目的は、電子計量器がプログラム改竄を検知した場合、他の電子計量器のプログラム改竄を自動的に検査することにある。
【課題を解決するための手段】
【０００９】
本発明に係る電子計量システムは、好ましくは、需要家の施設に設置され、社会インフラ資源の利用状況の監視と供給制御を行う複数の電子計量器と、該電子計量器による社会インフラ資源の計量値を収集して管理を行う管理サーバと、複数の該電子計量器にネットワークを介して接続されると共に該管理サーバにネットワークを介して接続される中継器とを含む電子計量システムであって、
該電子計量器は、社会インフラ資源の利用状況を計測する計量部と、社会インフラ資源の供給を制御する制御部と、該管理サーバと通信する通信部と、該電子計量器の動作に必要なプログラムやデータ及び社会インフラ資源の供給制御ルールを保存するデータ蓄積部と、該電子計量器のプログラム改竄を検知するプログラム改竄検知部と、該プログラム改竄検知に際して使用するハッシュ値を記憶する耐タンパ領域を有し、
該管理サーバは、データ蓄積部と、該電子計量器を制御する電子計量器制御部と、該電子計量器及び該中継器へプログラムを配信するプログラム配信部と、該電子計量器と該中継器のプログラム改竄を検知した場合に対策を実施するプログラム改竄対策部を有し、該データ蓄積部は、該電子計量器を動作させるための必要なデータと、該社会インフラ資源の供給制御ルールを保持する供給制御ルールテーブルと、該電子計量器が使用するプログラムと、該中継器が使用するプログラムを保持し、
該中継器は、該電子計量器及び該管理サーバとの間で通信を行う通信部と、該中継器のプログラムの改竄を検知する中継器プログラム改竄検知部と、該電子計量器で改竄が検知された場合対応を行う改竄検知対応部と、データ蓄積部を有し、データ蓄積部は電子計量器プログラムと中継器のプログラムのハッシュ値を記憶し、
該電子計量器の該プログラム改竄検知部は、自電子計量器内のプログラム全体のハッシュ値を計算し、耐タンパ領域に記憶された該ハッシュ値と比較して、その比較結果に応じてプログラムが改竄されたと判断すると、該制御部は該社会インフラ資源の供給制御ルールに従って社会インフラ資源の供給を制御することを特徴とする電子計量システムとして構成される。
また、本発明は、上記電子計量システムにおける電子計量器のプログラム改竄処理方法としても把握される。
【発明の効果】
【００１０】
本発明によれば、電子計量器のプログラム改竄を検知した場合、同じ中継器に接続された電子計量器のプログラム改竄を実施することができるので、改竄を検知した電子計量器の周囲にある電子計量器の安全性を早期に検査できる。
【図面の簡単な説明】
【００１１】
【図１】一実施例による電子計量システムの構成図である。
【図２】中継器の設置から稼働開始までの動作を示すフローチャートである。
【図３】電子計量器の設置から電力供給制御までの動作を示すフローチャートである。
【図４】フィールド機器のプログラム改竄検知の概要を示す図である。
【図５】中継器における改竄検査の処理動作を示すフローチャートである。
【図６】電子計量器における改竄検査の処理動作を示すフローチャートである。
【図７】電子計量器から改竄検知の通知を受けた中継器の処理動作を示すフローチャートである。
【図８】中継器から改竄検知の通知を受けた管理サーバの処理動作を示すフローチャートである。
【図９】電子計量器の回復処理動作を示すフローチャートである。
【図１０】電子計量器の設置場所情報テーブルの構成例を示す図である。
【図１１】電力供給制御ルール管理テーブルの構成例を示す図である。
【発明を実施するための形態】
【実施例１】
【００１２】
図１は電子計量システムの構成を示す。
電子計量システムは、電力の利用状況を計測制御する多数の電子計量器を遠隔監視及び制御するシステムである。尚、電子計量器が監視制御する対象は電力の他にガスや水道でも適用できる。以下の説明では、電子計量器は電力の利用状況を計測制御するものとする。
【００１３】
電子計量システムは、電子計量器管理サーバ（以下単に管理サーバという）１０３にネットワーク１２４を介して１又は複数の中継器１１１が接続され、更に各中継器１１１にはネットワーク１２５を介して１又は複数の電子計量器１０１が接続して構成される。以下、電子計量器１０１、管理サーバ１０３、中継器１１１の順でそれらの構成を説明する。
【００１４】
電子計量器１０１は需要家が保有する施設に設置され、利用電力量の計測と電力供給制御を行う。電子計量器１０１は、耐タンパ領域１０２、計量部１１２、制御部１１３、データ蓄積部１１４、電子計量器プログラム改竄検知部１１８、通信部１３１、及びプログラム更新部１３８を有して構成される。耐タンパ領域１０２は物理的な攻撃に耐性を持つ不揮発性メモリであり、プログラムのハッシュ値１３２を有する。
【００１５】
ここで、計量部１１２は電力量計が設置された施設へ供給される電力量を計測する。制御部１１３は電子計量器が設置された施設の電力供給を制御する。電子計量器プログラム改竄検知部１１８は電子計量器のプログラムを検査し改竄を検知する。通信部１３１は管理サーバ１０３と電子計量器１０１の間の通信を制御する。プログラム更新部１３８は、中継器１１１又は管理サーバ１０３からの指示によって電子計量器１０１内のプログラムを更新する。
【００１６】
データ蓄積部１１４はデータベースであり、電子計量器の動作に必要なデータ、例えば計量データ１１５、制御データ１１６、設定データ１１７、電子計量器用電力供給制御ルール１１９を保持する。計量データ１１５は電子計量器が測定した計測データであり、管理サーバ１０３へ送信される。制御データ１１６は管理サーバから送信されて受信した、電子計量器が電力供給を制御する際に使用されるデータである。電子計量器設定データ１１７は管理サーバ１０３から電子計量器１０１に設定されるデータであり、管理サーバ内の電子計量器設定データ１１０と同じデータである。電子計量器用電力供給制御ルール１１９は電子計量器でプログラムの改竄が検出された時に制御指針を決定するデータである。プログラムのハッシュ値１３２は電子計量器プログラム改竄検知部１１８で参照する、改竄が無い状態でのプログラムのハッシュ値である。
【００１７】
管理サーバ１０３は多数の電子計量器１０１を管理するサーバであり、データ蓄積部１０４、電子計量器制御部１０５、計測データ遠隔収集部１０６、プログラム配信部１２１、プログラム改竄対策部１２２を有し、全ての電子計量器を監視・制御する。
【００１８】
ここで、電子計量器制御部１０５は電子計量器１０１の制御を行う。例えば、電子計量器の電力供給スイッチの開閉制御を行う。計測データ遠隔収集部１０６は電子計量器が収集したデータをネットワーク経由で収集し、データ蓄積部１０４に保存する。
【００１９】
プログラム配信部１２１は、データ蓄積部１０３に保存された、中継器１１１及び電子計量器１０１用のプログラムをネットワーク経由で中継器１１１及び電子計量器１０１へ配信する。プログラム改竄対策部１２２は、中継器１１１を介して電子計量器１０１から改竄検知の通知を受けると、対策を実施する。対策としては例えば、データ蓄積部のプログラム配布、改竄発生地域の電子計量器の改竄チェック指示等がある。
【００２０】
データ蓄積部１０４はデータベースであり、電子計量システムが動作するために必要なデータを保持する。一例ではデータ蓄積部１０４は、計量データ１０７、電子計量器プログラム１０８、電力供給制御ルールテーブル１０９、電子計量器設定データ１１０、ログ１２０、中継器プログラム１２３、中継器設定データ１３４、及び設置場所情報テーブル１３５を保存する。（なお、電力供給制御ルールテーブル１０９及び設置場所情報テーブル１３５については、図１１乃至図１０を参照して後述する）。
【００２１】
ここで、計量データ１０７は電子計量器１０１が計量したデータである。電子計量器プログラム１０８は電子計量器に配信されるプログラムである。電力供給制御ルール管理テーブル（以下単にルール管理テーブルという）１０９は電子計量器で改竄を検知した場合の制御ルールを記録したテーブルであり、各電子計量器に本テーブル内のデータが設定される（詳細は図１１を参照して後述）。電子計量器設定データ１１０は電子計量器が動作するために必要な設定情報群である。ログ１２０はアクセス要求識別部が判断に利用するルール群である。中継器プログラム１２３は中継器１１１へ配信するプログラムである。中継器設定データ１３４は中継器に設定されるデータである。設置場所情報テーブル１３５は電子計量器が設置される場所の情報を格納する。
なお、図示していないが、管理サーバ１０３には管理者用の端末がネットワークを介して接続され、改竄の検知やその対応の状況を端末に表示することができる。
【００２２】
中継器１１１は、通信部１２６、中継器プログラム改竄対策部１２７、中継器プログラム改竄検知部１２８、データ蓄積部１２９、及びプログラム更新部１３７、改竄検知対応部１３９を有し、電子計量器１０１と管理サーバ１０３間のデータ通信を仲介すると共に、それに接続される１又は複数の電子計量器１０１の状態を管理する。
ここで、通信部１２６は管理サーバと電子計量器の通信を制御する。中継器プログラム改竄対策部１２７は、中継器１１１内のプログラム改竄あるいは電子計量器からプログラム改竄を通知されたときに対策を実施する。中継器プログラム改竄検知部１２８は中継器のプログラムを検査し改竄を検知する。プログラム更新部１３７は、管理サーバ１０３からの指示によって中継器１１１内のプログラムを更新する。改竄検知対応部１３９は、電子計量器１０１から改竄検知の通知を受けたら、当該中継器の配下にある電子計量器に対して改竄検知を実行させる。
【００２３】
データ蓄積部１２９はデータベースであり、中継器が動作するために必要なデータ、即ち電子計量器プログラム１３０、プログラムハッシュ値１３３、及び中継器設定データ１３６を保存する。電子計量器プログラム１３０は電子計量器に配信されるプログラムである。プログラムのハッシュ値１３３は中継器プログラム改竄検知部１２７で参照する、改竄が無い状態でのプログラムのハッシュ値である。これは例えばプログラムを電子計量器１０１にインストールした直後に生成される。中継器設定データ１３６は管理サーバ１０３から中継器１３６に設定されるデータであり、管理サーバ内の中継器データ１３４と同じデータである。
なお、管理サーバ１０３に接続される複数の中継器１１１の中には、改竄検知対応部１３９を持たないものもある。このような中継器については、管理サーバがその対応を代行することになる。
【００２４】
図１０は電子計量器の設置場所情報テーブル１３５の構成を示す。
識別ＩＤ１００１は情報を一意に識別する識別子である。分類１００２は電子計量器を設置する場所の分類である。設置場所名１００３は電子計量器を設置する場所の名称である。設置施設の重要度１００４は電子計量器を設置する施設の重要度を示す。環境安全度レベル１００５は施設周辺環境の安全性を示す。例えば、「識別ＩＤ」が「１」の住宅は、設置施設の重要度１００４が「低」であり、環境安全度レベル１００５が「１」である。また、「識別ＩＤ」が「２」でのマンションは、設置施設の重要度１００４が「中」であり、環境安全度レベル１００５が「３」である。「識別ＩＤ」が「３」の病院は、設置施設の重要度１００４が「高」であり、「環境安全度レベル」は「２」である。
【００２５】
図１１は電力供給制御ルール管理テーブル１０９の構成例を示す。
電力供給制御ルール管理テーブル１０９は、電子計量器で改竄が検出された場合の電力制御のルールを電子計量器及びその設置場所ごと登録する。計量器ＩＤ１１０１は電子計量器を一意に識別する識別子である。設置場所ＩＤ１１０２は設置場所を識別する識別子である。制御１１０３はプログラムの改竄が検出され場合の電子計量器の電力制御ルール（例えば電力供給の状態維持や供給停止等）である。
【００２６】
図２は、中継器１１１の設置から稼働開始までの動作を示す。図中、システム（ハードウェア）が行う動作を実線で示し、人間（管理者等）が行う動作を点線で示す。
まず、管理者が中継器１１１の設置場所（例えば電柱や地下の送電箇所等）を決定して（ステップ２０１）、その場所に中継器を適宜設置する（ステップ２０２）。（以下、ステップをＳと略す。）
システムが構築されると、中継器１１１は中継器のプログラムが改竄されたかをチェックする（Ｓ２０３）。後で詳述するが、この改竄の検知のためにプログラムのハッシュ値１３３を使用して行われる。チェックの結果、プログラムの改竄が検出されたか否か調べる（Ｓ２０４）。その結果、改竄が検出されれば、システムを停止する（Ｓ２０５）。一方、改竄が検出されなければ、中継器と管理サーバ１０３が通信開始する（Ｓ２０６）。そして、中継器の設置完了を管理サーバ１０３へ通知する（Ｓ２０７）。これにより中継器の設置が完了する。
【００２７】
図３は電子計量器の設置から電力供給までの動作を示す。
これは、管理者が必要な情報を電子計量器に設定し、その電子計量器を需要家の施設に設置し、電力の計量及び供給を制御する動作である。なお、点線は管理者が行う動作を示す。
管理者はまず、それぞれの計量器の設定データに固有の識別情報である計量器ＩＤを設定する（Ｓ３０１）。そして、各電子計量器の設置場所と設置施設を決定し、設置場所に固有の情報である設置場所ＩＤとその制御方法を含む電力制御ルールを決めて、ルール管理テーブル１０９に登録する（Ｓ３０２）。ルール管理テーブル１０９への情報の登録は管理サーバ１０３が有する管理端末（図示省略）より関係する情報を入力することで行われる。ルール管理テーブル１０９の構成については、図１１を参照して後述するが、電子計量器の設置場所によって電力の供給を維持するか停止するか電力供給制御ルールが登録される。
その後、管理者は各電子計量器を需要家宅（需要家の施設）に設置して、その電子計量器をネットワーク１２５に接続する（Ｓ３０３）。これにより電力の電子計量システムが構築される。
【００２８】
システムが構築されると、電子計量器１０１が中継器１１１経由で管理サーバ１０３へ接続完了を通知する（Ｓ３０４）。管理サーバは、接続完了を確認すると、電力供給制御ルールをルール管理テーブルから読み出して（Ｓ３０５）、中継器経由で対象とする電子計量器へ送信する（Ｓ３０６）。電力供給制御ルールを受信した電子計量器１０１は、自計量器内の電力供給制御ルール１１９に受信したルールを登録する。このようにして各電子計量器１０１に電力供給制御ルールが設定される。
【００２９】
その後、電子計量器が自計量器内のプログラムが改竄されているかの検出処理を実行する（Ｓ３０８）。後述するが、この改竄の検知のためにプログラムのハッシュ値１３２を使用して行われる。プログラムの改竄検出の結果に従って、管理サーバが電子計量器へ電力供給開始を指示し、電子計量器は電力供給開始する（Ｓ３０９）。
【００３０】
図４はフィールド機器の改竄検知の概要を示す。
中継器１１１や電子計量器１０１をフィールド機器（ＦＡＮ機器）という。フィールド機器において、耐タンパ領域４０２は物理的な攻撃に耐性を持つ不揮発性メモリであり、プログラムのハッシュ値４０５から構成されている。不揮発性メモリ４０３はＦＡＮ機器の動作に必要なプログラム４０４を記録して構成される。プログラム４０４はＦＡＮ機器の動作プログラムであり、プログラム改竄検知部１１８による改竄検知の対象となる。この動作プログラムは、管理サーバ１０３が保持する電子計量器プログラム１０８であり、管理サーバから配信される。プログラムのハッシュ値４０５は電子計量器プログラム改竄検知部１１８（或いは中継器１１１の中継器プログラム改竄検知部１２８）で参照する、改竄が無い状態でのプログラムのハッシュ値である。
【００３１】
電子計量器１０１及び中継器１１１は、これらの機器の製造後出荷前にプログラム全体のハッシュ値を計算する。計算されたハッシュ値は外部から情報の抜き取りが困難な耐タンパモジュールに格納される。プログラム改竄検知部１１８は、一定期間ごと自ら又は上位システム（中継器又は管理サーバ）からの指示により、プログラム全体のハッシュ値を計算し、そのハッシュ値と耐タンパモジュールに格納されたハッシュ値と照合することで改竄を検出する。
【００３２】
図５は中継器における改竄検査の処理動作を示す。
この処理は、中継器プログラム改竄検知部１２８によって実行される。
まず、外部（管理サーバ１０３）からの実行指示により改竄検知処理を開始する（Ｓ５０１）。なお、改竄検知の実行頻度は、例えば、以前に改竄を検出した場合や、設置場所情報の環境安全度レベル１００５が低い場合、更には設置施設の重要度１００４が高い場合には、管理サーバからの実行指示の周期を短く設定して（頻繁に行う）行うことができる。
【００３３】
次に実行モードが緊急モードかどうか調べる（Ｓ５０２）。その結果、実行モードが緊急モードであればＳ５０３へ進み、実行モードが緊急モードでなければＳ５０４へ進む。緊急モードの場合、中継器プログラム改竄検知部のＯＳ実行優先度を高くする（Ｓ５０３）。一方、緊急モードでなければ、プログラム改竄検知部のＯＳ実行優先度を低くする。
【００３４】
その後、中継器プログラム改竄検知部１２８は、中継器内プログラムのハッシュ値を計算する（Ｓ５０５）。なお、この処理において、電力供給制御ルール１０９の重要度に応じて、計量部、制御部等重要性が高い機能を実現するプログラムのみ改竄検知を実施することもできる。
ハッシュ値が計算されると、そのハッシュ値と耐タンパ領域に記録されたハッシュ値とを比較する（Ｓ５０６）。比較の結果、ハッシュ値が一致かどうか調べる（Ｓ５０７）。その結果、ハッシュ値が一致すれば、Ｓ５１０へ進み、改竄なしと判断する。一方、ハッシュ値が一致しなければ、Ｓ５０８へ進み、改竄ありと判断して、その旨を管理サーバ１０３へ通知する（Ｓ５０９）。
【００３５】
図６は電子計量器の改竄検査の処理動作を示す。
まず、外部（管理サーバ）は実行指示/定期実行タイミング/イベント発生を行う（Ｓ６０１）。ここで、定期実行タイミングとは、１日から数日の周期で定期的に改竄検知処理を実行することを意味する。例えば、以前に改竄を検出した場合や、設置場所情報の安環境安全度レベル１００５が低い場合、設置施設の重要度１００４が高い場合には実行周期を短くすることができる。また、イベント発生とは、例えば電子計量器にカバー開閉検知機能を搭載し、カバー開閉を検知した場合をいう。
【００３６】
電子計量器１０１が中継器１１１を介して上記実行指示等を受けると、電子計量器１０１の電子計量器プログラム改竄検知部１１８は、実行モードが緊急モードかどうか調べる（Ｓ６０２）。その結果、実行モードが緊急モードであれば、Ｓ６０３へ進み、プログラム改竄検知部のＯＳ実行優先度を高くする。一方、実行モードが緊急モードでなければ、Ｓ６０４へ進み、プログラム改竄検知部のＯＳ実行優先度を低くする。
【００３７】
その後、電子計量器プログラム改竄検知部１１８は電子計量器内プログラムのハッシュ値を計算する（Ｓ６０５）。なお、この処理において、電力供給制御ルールの重要度に応じて、計量部、制御部等重要性が高い機能を実現するプログラムのみ改竄検知を実施することもできる。
ハッシュ値が計算されると、そのハッシュ値と耐タンパ領域に記録されたハッシュ値と比較する（Ｓ６０６）。そして、ハッシュ値が一致かどうか調べる（Ｓ６０７）。その結果、ハッシュ値が一致すれば、改竄なしと判断し（Ｓ６１０）、ハッシュ値が一致でなければ、改竄ありと判断する（Ｓ６０８）。改竄ありの場合、通信部１３１はその旨を中継器１１１へ通知する（Ｓ６０９）。
【００３８】
図７は電子計量器から改竄検知の通知を受けた中継器の処理動作を示す。
中継器１１１が、電子計量器１０１からプログラム改竄検知の通知を受信すると（Ｓ７０１）、中継器が改竄検知対応部１３９を持っているかを調べる（Ｓ７０２）。その結果、中継器が改竄検知対応部を持っていなければ、Ｓ７１０へ進み、管理サーバ１０３へ電子計量器の改竄検出を通知する（Ｓ７１０）。この場合、以後管理サーバ１０３が改竄検知の対応を行うことになる。
【００３９】
中継器が改竄検知対応部１３９を持っている場合、改竄検知対応部１３９はその中継器１１１の配下にある（当該中継器１１１に接続された）全て電子計量器１０１に対して改竄検知処理の実施を通知する（Ｓ７０３）。この指示により電子計量器１０１はプログラムの改竄検知処理を実行し（Ｓ７０４0）、その結果、改竄を検出した場合（Ｓ７０５：Yes）、その電子計量器は中継器１１へ改竄検知を通知する（Ｓ７０６）。通知を受けた中継器１１１は管理サーバ１０３へ、その電子計量器がプログラムの改竄検出した旨（当該電子計量器の識別ＩＤを伴って）を通知する（Ｓ７０７）。
【００４０】
そして、中継器１１１の改竄検知対応部１３９は、改竄されたプログラムの修復のために、データ蓄積部１２９に保管された電子計量器プログラム１３０を電子計量器へ配信する（Ｓ７０８）。電子計量器プログラムの配信を受けた電子計量器１０１は、電力供給制御ルールに基づきプログラムの更新処理を実行する（Ｓ７０９）。その更新処理の実行が完了すると、電子計量器は中継器に対して更新処理完了を通知する。中継器１１１はこの処理をその配下にある全ての電子計量器１０１に対して行う。
【００４１】
そして中継器の改竄検知対応部１３９がその配下にある全ての電子計量器へ改竄検知処理の指示を完了したかを確認する（Ｓ７１１）。確認の結果、配下の全ての電子計量器への指示が完了であれば（Ｓ７１１：Yes）、管理サーバに対して改竄検知のあった電子計量器の改竄検知通知を送信する。
管理サーバ１０３では、改竄検知通知を受信し、ログ１２０として記録する（Ｓ７１２）。管理サーバは、定期的にログに記録された改竄検知の通知の数を統計し、増加傾向にあれば、管理者の端末に警告を表示することができる。
【００４２】
図８は中継器から改竄検知の通知を受けた管理サーバの処理動作を示す。
管理サーバ１０３が中継器１１１から改竄検知通知を受信すると（Ｓ８０１）、中継器で改竄を検知したか否かを調べる（Ｓ８０２）。その結果、中継器で改竄を検知していると認識すれば、中継器へ中継器プログラム１２３を送信して（Ｓ８０９）、中継器のプログラム更新部１３７がプログラムを更新する（Ｓ８１０）。
上記処理Ｓ８０２において、中継器１１１で改竄を検知していないと認識すれば、中継器が改竄検知対応部１３９を持っているかを調べる（Ｓ８０３）。その結果、中継器１１１が改竄検知対応部を持っていると判断すれば、改竄検知の発生をログ１２０に記録する（Ｓ８０８）。
【００４３】
一方、中継器が改竄検知対応部１３９を持っていないと判断すれば、プログラム改竄対策部１２２は中継器１１１へその配下にある全て電子計量器の改竄検知の実行を通知する（Ｓ８０４）。そして、改竄を検出した電子計量器のプログラムを更新するために、電子計量器プログラム１０８を中継器１１１へ送信する（Ｓ８０５）。中継器１１１は、受信した電子計量器プログラムを、改竄が検出された電子計量器へ配信する（Ｓ８０６）。電子計量器プログラムの配信を受けた電子計量器は、電力供給制御ルール１１９に基づいて自電子計量器の回復処理実行する（Ｓ８０７）。
【００４４】
図９は電子計量器の回復処理動作を示す。
この処理は、電子計量器でプログラム改竄が発生し、その後中継器又は管理サーバからプログラムの配信を受けた場合の処理である。
【００４５】
電子計量器１０１が中継器１１１から電子計量器のプログラムを受信すると（Ｓ９０１）、制御部１１３は、電力供給制御ルール１１９の改竄検知時の制御方針をチェックする（Ｓ９０２）。なお、この処理において例えば、制御方針に加えて、設置位置、機種、プログラムのバージョンなどもチェックして、処理を切り替える方法も考えられる。
【００４６】
上記制御方針のチェックの結果、改竄検知時の制御方針が“維持”かを調べる（Ｓ９０３）。もし改竄検知時の制御方針が“維持”であれば、制御部１１３は電力供給状態を維持する（Ｓ９０４）。この処理において、電力供給中であれば供給を継続し、電力供給を停止していれば、停止状態を維持する。即ち、制御部１１３は、設置場所ＩＤに対応する設置場所の重要度が病院等のように「高」であれば、電力供給の「状態維持」とするように制御する。
【００４７】
そして、制御部１１３は、通信部１３１を介して、上位システム（中継器及び管理サーバ）へプログラム更新不可を通知する（Ｓ９０５）。プログラム更新不可を受信した、中継器１１１はその通知を管理サーバ１０３へ転送する（Ｓ９１２）。管理サーバ１１１はその通知を受信すると、管理者の端末（図示せず）へその旨を通知する（Ｓ９０７）。この後、管理者は例えば工事業者に依頼して、電子計量器の保守点検などを行わせることになる。
【００４８】
上記制御方針の確認（Ｓ９０３）の結果、もし改竄検知時の制御方針が“維持”でなければ（Ｓ９０３：No）、改竄検知時の制御方針が“更新”かを調べる（Ｓ９０８）。その結果、もし改竄検知時の制御方針が“更新”であれば、Ｓ９１１へ進み、電子計量器が需要家設備への電力供給を停止する（Ｓ９１１）。そして、プログラム更新部１３８は電子計量器内に保持していたプログラムを、新たに中継器から送信され受信したプログラムに更新する（Ｓ９１２）。その後、電子計量器が需要家設備への電力供給を再開して（Ｓ９１４）、制御部１１３は通信部１３１を介して、更新完了を上位システムへ通知する（Ｓ９１４）。
【００４９】
上記制御方針の確認（Ｓ９０８）の結果、もし改竄検知時の制御方針が“更新”でなければ、制御部１１３は需要家設備への電力供給を停止する（Ｓ９０９）。そして、制御部１１３は通信部１３１を介して、電力供給停止を上位システムへ通知する（Ｓ９１０）。
なお、上記例の代替例として、電力供給制御ルールを中継器或いは管理サーバに配置し、上記処理をこれらで実施して電子計量器を遠隔から制御するようにしてもよい。
【００５０】
以上説明したように、上記実施例によれば、電子計量器の設置場所に応じた電力供給制御ルールを設定することにより、その電子計量器においてプログラムの改竄を検知しても、設置場所が病院等の重要な施設の場合は、電力供給を維持して停電を防止することが可能である。
また、電子計量器の設置環境の安全性に応じてプログラム改竄検知処理の実行頻度を変更することにより、電子計量器の改竄検知プログラムの実行負担を制御し、計量部及び制御部のプログラムの実行に与える影響を軽減することが可能となる。
【００５１】
また、電力に限らず、ガスや水道等の社会インフラシステムにも上述と同様の実施例を適用することができる。この場合、上記電力供給制御ルール１０９，１１９等は、ガスや水道の社会インフラ資源の供給制御ルールとなる。
【符号の説明】
【００５２】
１０１：電子計量器
１０２：耐タンパ領域
１０３：電子計量器管理サーバ
１０４：データ蓄積部
１０５：電子計量器制御部
１０６：計測データ遠隔収集部
１０７：計量データ
１０８：電子計量器プログラム
１０９：電力供給制御ルール管理テーブル
１１０：電子計量器設定データ
１１１：中継器
１１２：計量部
１１３：制御部
１１４：データ蓄積部
１１５：計量データ
１１６：制御データ
１１７：設定データ
１１８：電子計量器プログラム改竄検知部
１１９：電力供給制御ルール
１２１：プログラム配信部
１２２：プログラム改竄対策部
１２３：中継器プログラム
１２４、１２５：ネットワーク
１２６、１３１：通信部
１２７：中継器プログラム改竄対策部
１２８：中継器プログラム改竄検知部
１２９：データ蓄積部
１３０：電子計量器プログラム
１３２：プログラムのハッシュ値
１３３：プログラムのハッシュ値
１３４：中継器設定データ
１３５：設置場所情報テーブル
１３７、１３８：プログラム更新部
１３９：改竄検知対応部
【図１】
2015018477.tif 000003
【図２】
2015018477.tif 000004
【図３】
2015018477.tif 000005
【図４】
2015018477.tif 000006
【図５】
2015018477.tif 000007
【図６】
2015018477.tif 000008
【図７】
2015018477.tif 000009
【図８】
2015018477.tif 000010
【図９】
2015018477.tif 000011
【図１０】
2015018477.tif 000012
【図１１】
2015018477.tif 000013