(57)【要約】【課題】電力、ガス等の自動検針に使用されるスマートメータにおいて、プログラムやデータの改竄を未然に防止しかつ通信経路におけるセキュリティを確保する。【解決手段】スマートメータ（７）は、使用量に応ずる計測信号を入力して検針データを演算すると共にネットワークに接続する通信部による通信制御を行うデータプロセッサ部（１２）の他に、内部の保持情報に対する耐タンパ性能を有すると共にリモートアクセスに対するセキュア認証処理を行うセキュアプロセッサ部（１５）を有する。データプロセッサ部は、演算した検針データをスマートメータに固有の公開鍵（Ｋ１＿ｐｕｂ）を用いて暗号化してセキュアプロセッサ部に供給し、セキュアプロセッサ部は、暗号化された検針データをスマートメータに固有の秘密鍵（Ｋ１＿ｓｅｃ））を用いて復号するとともに、復号された検針データ又は暗号化された検針データを不揮発性記憶領域に蓄積する。【選択図】図１
2012113670.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続する通信部と、
使用量に応ずる計測信号を入力して検針データを演算すると共に前記通信部による通信制御を行うデータプロセッサ部と、
内部の保持情報に対する耐タンパ性能を有すると共にリモートアクセスに対するセキュア認証処理を行うセキュアプロセッサ部と、を有するスマートメータであって、
前記セキュアプロセッサ部は、前記セキュア認証処理を行うための情報として、所定の認証局から発行された当該スマートメータに固有の公開鍵、同じく当該スマートメータに固有の秘密鍵、前記認証局の秘密鍵によって前記公開鍵が暗号化された情報である公開鍵証明書、及び前記認証局の公開鍵をそれぞれ格納する第１の不揮発性記憶装置を有し、
前記データプロセッサ部は、前記スマートメータに固有の公開鍵を格納するための第２の不揮発性記憶装置を有し、
前記データプロセッサ部は、演算した検針データを前記スマートメータに固有の公開鍵を用いて暗号化して前記セキュアプロセッサ部に供給し、
前記セキュアプロセッサ部は、前記暗号化された検針データを前記スマートメータに固有の秘密鍵を用いて復号するとともに、復号された検針データ又は暗号化された検針データを前記第１の不揮発性記憶装置に蓄積する、スマートメータ。
【請求項２】
前記セキュアプロセッサ部は、前記耐タンパ性能を得るために、物理的セキュリティを実現するメタルシールド、セキュリティロジックを実現するウォッチドッグタイマ、及び暗号化復号処理に用いる暗号演算用コプロセッサを有する、請求項１記載のスマートメータ。
【請求項３】
前記セキュアプロセッサ部は、リモートアクセスに対するセキュア認証処理の前準備として、前記認証局の秘密鍵によってサーバの公開鍵が暗号化されたサーバの公開鍵証明書を前記通信部を介して受け取り、前記認証局の公開鍵を用いてその公開鍵証明書の署名を検証することによって前記サーバの公開鍵を取得し、前記認証局の秘密鍵によって前記スマートメータの公開鍵が暗号化されたスマートメータの公開鍵証明書を前記通信部を介して前記サーバに送信し、前記サーバ及びスマートメータに相互に他の署名検証された公開鍵を保有可能とする、請求項１記載のスマートメータ。
【請求項４】
前記セキュアプロセッサ部は更に、取得したサーバの公開鍵を用いて暗号化した乱数をプリマスターシークレットとしてサーバに送信し、且つ、スマートメータの秘密鍵を用いて生成したスマートメータの署名をサーバに送信し、サーバがスマートメータを認証することを条件に相互に任意の乱数を交換し、交換した乱数及び前記プリマスターシークレットを用いて生成した暗号鍵をスマートメータ及びサーバが共有して、リモートアクセスに対するセキュア認証処理を完了する、請求項３記載のスマートメータ。
【請求項５】
データプロセッサ部は、前記セキュアプロセッサ部によるセキュア認証処理を完了したリモートアクセスによって前記サーバから供給された暗号化コマンドを前記セキュアプロセッサ部に前記暗号鍵を用いて復号させて、そのコマンドに応答する、請求項４記載のスマートメータ。
【請求項６】
データプロセッサ部は、前記暗号鍵で暗号化された検針データを前記セキュアプロセッサ部から受け取り、前記セキュアプロセッサ部によるセキュア認証処理を完了したリモートアクセスにより当該検針データを通信部に通信させる請求項５記載のスマートメータ。
【請求項７】
前記第２の不揮発性記憶装置はデータプロセッサ部が実行するプログラムを格納する領域を有し、
前記第１の不揮発性記憶装置は前記プログラムのハッシュ値を格納する領域を有し,
前記セキュアプロセッサ部は、所定のタイミングで、前記第２の不揮発性記憶装置からプログラムを読み込んでそのハッシュ値を演算し、演算したハッシュ値が第１の不揮発性記憶装置が保持するハッシュ値に一致するか否かを判別し、それによる不一致の判別結果を前記第１の不揮発性記憶装置に保持し、
前記第１の不揮発性記憶装置はサーバによるリモートアクセスの対象にされる、請求項１記載のスマートメータ。
【請求項８】
前記セキュアプロセッサ部は、前記所定のタイミングを生成するタイマーカウンタを有する、請求項７記載のスマートメータ。
【請求項９】
前記第１の不揮発性記憶装置は、前記計測信号に対するキャリブレーションを行うためのキャリブレーションデータを格納する領域を有する、請求項１記載のスマートメータ。
【請求項１０】
前記使用量に応ずる計測信号は、電力使用量に応ずる電圧信号及び電流信号であり、
前記検針データは、前記電圧信号及び電流信号に基づいて逐次演算された電力を累積した累積電力データである、請求項１記載のスマートメータ。
【請求項１１】
前記使用量に応ずる計測信号は、電力使用量に応ずる電圧信号及び電流信号であり、
前記検針データは、前記電圧信号及び電流信号に基づいて逐次演算された電力を累積した累積電力データ及び所定期間の前記累積電力データに応ずる電気料金データである、請求項１記載のスマートメータ。
【請求項１２】
前記第１の不揮発性記憶装置は、前記電気料金データの演算に用いる使用時間帯別の電気料金表データを格納する領域を有する、請求項１記載のスマートメータ。
【請求項１３】
演算に用いる時間帯別の電気料金表を判別するために参照される時刻を刻むリアルタイムクロックを有し、
前記リアルタイムクロックに対する操作は前記セキュアプロセッサ部によるセキュア認証処理を完了したリモートアクセスによって可能にされる、請求項１２記載のスマートメータ。
【請求項１４】
ネットワークを介して接続されたサーバと複数のスマートメータとを有する検針システムであって、
前記スマートメータは、ネットワークに接続する通信部と、
使用量に応ずる計測信号を入力して検針データを演算すると共に前記通信部による通信制御を行うデータプロセッサ部と、
内部の保持情報に対する耐タンパ性能を有すると共にリモートアクセスに対するセキュア認証処理を行うセキュアプロセッサ部と、を有し、
前記セキュアプロセッサ部は、前記セキュア認証処理を行うための情報として、所定の認証局から発行された当該スマートメータに固有の公開鍵、同じく当該スマートメータに固有の秘密鍵、前記認証局の秘密鍵によって前記公開鍵が暗号化された情報である公開鍵証明書、及び前記認証局の公開鍵をそれぞれ格納する第１の不揮発性記憶装置を有し、
前記データプロセッサ部は、前記スマートメータに固有の公開鍵を格納するための第２の不揮発性記憶装置を有し、
前記データプロセッサ部は、演算した検針データを前記スマートメータに固有の公開鍵を用いて暗号化して前記セキュアプロセッサ部に供給し、
前記セキュアプロセッサ部は、前記暗号化された検針データを前記スマートメータに固有の秘密鍵を用いて復号するとともに、復号された検針データ又は暗号化された検針データを前記第１の不揮発性記憶装置に蓄積する、検針システム。
【請求項１５】
前記セキュアプロセッサ部は、前記耐タンパ性能を得るために、物理的セキュリティを実現するメタルシールド、セキュリティロジックを実現するウォッチドッグタイマ、及び暗号化復号処理に用いる暗号演算用コプロセッサを有する、請求項１４記載の検針システム。
【請求項１６】
前記セキュアプロセッサ部は、リモートアクセスに対するセキュア認証処理の前準備として、前記認証局の秘密鍵によってサーバの公開鍵が暗号化されたサーバの公開鍵証明書を前記通信部を介して受け取り、前記認証局の公開鍵を用いてその公開鍵証明書の署名を検証することによって前記サーバの公開鍵を取得し、前記認証局の秘密鍵によって前記スマートメータの公開鍵が暗号化されたスマートメータの公開鍵証明書を前記通信部を介して前記サーバに送信し、前記サーバ及びスマートメータに相互に他の署名検証された公開鍵を保有可能とする、請求項１４記載の検針システム。
【請求項１７】
前記セキュアプロセッサ部は更に、取得したサーバの公開鍵を用いて暗号化した乱数をプリマスターシークレットとしてサーバに送信し、且つ、スマートメータの秘密鍵を用いて生成したスマートメータの署名をサーバに送信し、サーバがスマートメータを認証することを条件に相互に任意の乱数を交換し、交換した乱数及び前記プリマスターシークレットを用いて生成した暗号鍵をスマートメータ及びサーバが共有して、リモートアクセスに対するセキュア認証処理を完了する、請求項１６記載の検針システム。
【請求項１８】
データプロセッサ部は、前記セキュアプロセッサ部によるセキュア認証処理を完了したリモートアクセスによって前記サーバから供給された暗号化コマンドを前記セキュアプロセッサ部に前記暗号鍵を用いて復号させて、そのコマンドに応答する、請求項１７記載の検針システム。
【請求項１９】
データプロセッサ部は、前記暗号鍵で暗号化された検針データを前記セキュアプロセッサ部から受け取り、前記セキュアプロセッサ部によるセキュア認証処理を完了したリモートアクセスにより当該検針データを通信部に通信させる、請求項１８記載の検針システム。
【請求項２０】
前記第２の不揮発性記憶装置はデータプロセッサ部が実行するプログラムを格納する領域を有し、
前記第１の不揮発性記憶装置は前記プログラムのハッシュ値を格納する領域を有し、
前記セキュアプロセッサ部は、所定のタイミングで、前記第２の不揮発性記憶装置からプログラムを読み込んでそのハッシュ値を演算し、演算したハッシュ値が第１の不揮発性記憶装置が保持するハッシュ値に一致するか否かを判別し、それによる不一致の判別結果を前記第１の不揮発性記憶装置に保持し、
前記第１の不揮発性記憶装置はサーバによるリモートアクセスの対象にされる、請求項１４記載の検針システム。
【請求項２１】
前記セキュアプロセッサ部は、前記所定のタイミングを生成するタイマーカウンタを有する、請求項２０記載の検針システム。
【請求項２２】
前記サーバは、前記不一致の判別結果を前記第１の不揮発性記憶装置から所要のタイミングで参照する、請求項２０記載の検針システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、使用量に応ずる検針データの生成と管理を行うスマートメータ及びスマートメータをネットワークに接続して検針を行う検針システムに関し、例えば電力需給バランスを実現するためのスマートグリッドに適用して有効な技術に関する。
【背景技術】
【０００２】
ＡＭＩ（Advanced Metering Infrastructure）と呼ばれるスマートグリッドとしてのスマートメータシステムが実用化されている。スマートメータシステムにおいては、電力需要者毎にスマートメータを設置し、双方向通信可能なネットワークを用いて電力供給会社のサーバがスマートメータをリモートアクセスすることによって、電力使用量の遠隔検針、電力弁の遠隔遮断、及び電気料金テーブルのアップデートなどを行う。
【０００３】
特許文献１には、電力需要のピーク時に電力需要者自らがピーク時の電力需要を抑制する技術が記載される。特許文献２には、ネットワークを介するハッキングに対するセキュリティのためにファイヤーウォールを採用することが記載される。
【０００４】
セキュリティの点に関し、スマートメータシステムには大きく分けて次の３つのセキュリティ脅威が存在する。
【０００５】
第１はネットワーク経由の不正アクセスである。スマートメータで計測された各家庭の検針データは、データコンセントレータを経由しエネルギ供給会社のサーバに送信される。逆に、エネルギ供給会社に設定されたサーバからはスマートメータのアップデートファイルや、場合によってはエネルギ弁の遠隔開閉を行う為の命令信号も送信される。すなわちスマートメータとエネルギ供給会社のサーバはＷＡＮ（Wide Area Network）を経由した双方向通信を行うが、これらシステムがネットワークに接続されることにより利便性が向上する一方でシステムがネットワーク経由による不正アクセスを受けて攻撃されるセキュリティ脅威が増加する。その為、スマートメータとエネルギ供給会社のサーバの間では通信相手が正しいことを認証し、通信内容を盗み見られないように通信データを暗号化したエンド・トゥー・エンドでセキュア通信を行う必要がある。エンド・トゥー・エンドのセキュア通信は主にＳＳＬ（Secure Socket Layer）、ＴＳＬ（（Transport Layer Security）などが使用されるが、認証をするための証明書や暗号鍵、パスワードなどが漏洩してしまうと攻撃者がネットワークへの不正アクセスが可能となり、メータやサーバへのなりすましによるDOS攻撃（Denial of Service Attack：サービス妨害攻撃）、地域全体を停電させてしまうテロ行為などが行われる脅威が発生する。
【０００６】
第２はスマートメータを構成するシステムオンチップ（ＳｏＣ）のマイクロコンピュータなどに対するプログラムの改竄に対する脅威である。
【０００７】
第３は検針データの不正読み出しや改竄に対する脅威である。
【０００８】
従来の一般的なスマートメータは、電圧、電流値などの入力を基に検針値の演算などを行うマイクロコンピュータなどのシステムオンチップのデータ処理デバイス（メータＳｏＣとも記す）を有し、メータＳｏＣのオンチップ不揮発性メモリ又は外付け不揮発性メモリに、演算のための料金表、演算プログラム、演算された検針データ、エネルギ供給会社のサーバ間で認証や暗号通信を行う為の証明書や暗号鍵などが格納される。料金表、検針データ、証明書及び暗号鍵などは特定の鍵で暗号化して不揮発性記憶装置に格納される。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１０−１２８８１０号公報
【特許文献２】特開２００７−５２７７３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
料金表、検針データ、証明書及び暗号鍵などを特定の鍵で暗号化して不揮発性記憶装置に格納しても、不揮発性記憶装置に充分なセキュリティ対策が施されていなければ、当該特定の鍵自体が不揮発性記憶装置から不正に読み取られて、証明書や暗号鍵が盗み出され、正規利用者になりすましてサーバを攻撃したり、正規サーバになりすましてメータに悪意のあるアップデートファイル（パッチ）や偽コマンドを送信したりするというセキュリティ脅威が発生する。また、攻撃者が電気使用量を実際の使用量よりも少なく計算される様にプログラムを改竄したり、キャリブレーションデータや電気使用量を書き換えたり、更にはハッキングログを消去したりするセキュリティ脅威の発生が想定される。その他に、電力用メータにおいては時間帯別料金に対応するためにリアルタイムクロックが用いられるが、攻撃者がリアルタイムクロックの時刻を変更して使用料金が安価な時間帯が常に適用されるようにメータを改竄する攻撃も想定される。これらの点について、メタルシールドなどのフィジカルセキュリティについて対策された不揮発性記憶装置を採用するだけでは不十分である。
【００１１】
本発明の目的は、電力、ガス、水道等の自動検針に使用されるスマートメータにおいて、プログラムやデータの改竄を未然に防止しかつメータの内部や外部との通信経路におけるセキュリティが確保されたシステムの実現に資することができるスマートメータを提供することにある。
【００１２】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１３】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１４】
すなわち、スマートメータは、使用量に応ずる計測信号を入力して検針データを演算すると共にネットワークに接続する通信部による通信制御を行うデータプロセッサ部のほかに、内部の保持情報に対する耐タンパ性能を有すると共にリモートアクセスに対するセキュア認証処理を行うセキュアプロセッサ部を有する。前記セキュアプロセッサ部は公開鍵暗号による認証と公開鍵暗号によるデータの暗号化復号処理に必要なスマートメータに固有の公開鍵などの情報を保持するための不揮発性記憶領域を有し、前記データプロセッサ部は、当該スマートメータに固有の公開鍵を保持するための不揮発性記憶領域を有する。前記データプロセッサ部は、演算した検針データを前記スマートメータに固有の公開鍵を用いて暗号化して前記セキュアプロセッサ部に供給し、前記セキュアプロセッサ部は、前記暗号化された検針データを前記スマートメータに固有の秘密鍵を用いて復号するとともに、復号された検針データ又は暗号化された検針データを自らの不揮発性記憶領域に蓄積する。
【００１５】
公開鍵暗号によるセキュア認証処理によりサーバとスマートメータとの間のリモートアクセスに対するセキュリティが確保される。セキュアプロセッサ部はその耐タンパ性能、即ち、物理的あるいは論理的に内部の情報を読み取られることに対する耐性（フィジカルセキュリティ及びセキュリティロジック）によって保持データの秘匿性を維持する。データプロセッサ部で演算された検針データは公開鍵暗号方式で暗号化されてデータプロセッサ部からセキュアプロセッサ部に転送されるが、その転送途上で暗号化検針データが盗み取られても耐タンパ性能を有するセキュアプロセッサ部から公開暗号方式に用いる秘密鍵それ自体を盗み取ることは容易ではないので、この点においても検針データに対するセキュリティは万全である。セキュアプロセッサ部が保持する検針データを外部から参照するには上記セキュア認証処理によるセキュリティが確保されている。
【発明の効果】
【００１６】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１７】
すなわち、電力、ガス、水道等の自動検針に使用されるスマートメータにおいて、プログラムやデータの改竄を未然に防止しかつメータの内部や外部との通信経路におけるセキュリティが確保されたシステムの実現に資することができる。
【図面の簡単な説明】
【００１８】
【図１】図１は本発明の一実施の形態に係るスマートメータ及びこれが配置された検針システムを例示するシステム構成図である。
【図２】図２はセキュアマイコンを例示するブロック図である。
【図３】図３はメータマイコンで演算された検針データをセキュアマイコンが受け取って保持する処理（セキュアストレージ処理）を例示する動作説明図である。
【図４】図４はセキュア認証のためにサーバ及びスマートメータが相互に一方が他方の署名検証された公開鍵を取得する処理を図５と共に例示する動作説明図である。
【図５】図５はセキュア認証のためにサーバ及びスマートメータが相互に一方が他方の署名検証された公開鍵を取得する処理を図４と共に例示する動作説明図である。
【図６】図６はサーバ及びスマートメータが相互に取得した他方の署名検証された公開鍵を用いて共通の暗号鍵を取得する処理を図７及び図８と共に例示する動作説明図である。
【図７】図７はサーバ及びスマートメータが相互に取得した他方の署名検証された公開鍵を用いて共通の暗号鍵を取得する処理を図６及び図８と共に例示する動作説明図である。
【図８】図８はサーバ及びスマートメータが相互に取得した他方の署名検証された公開鍵を用いて共通の暗号鍵を取得する処理を図６及び図７と共に例示する動作説明図である。
【図９】図９はセキュア認証完了後におけるセキュアリモートアクセスの一例として検針データ送信処理が例示する動作説明図である。
【図１０】図１０はセキュア認証完了後におけるセキュアリモートアクセスの一例として電力弁遠隔操作処理を例示する動作説明図である。
【図１１】図１１はメータマイコンのプログラムに対する改竄を検出するための処理（セキュアブート）を例示する動作説明図である。
【発明を実施するための形態】
【００１９】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００２０】
〔１〕＜リモートアクセスと検針データ保持のセキュリティ制御＞
本発明の代表的な実施の形態に係るスマートメータ（７）は、ネットワーク（１）に接続する通信部（１０）と、使用量に応ずる計測信号を入力して検針データを演算すると共に前記通信部による通信制御を行うデータプロセッサ部（１２）と、内部の保持情報に対する耐タンパ性能を有すると共にリモートアクセスに対するセキュア認証処理を行うセキュアプロセッサ部（１５）と、を有する。前記セキュアプロセッサ部は、前記セキュア認証処理を行うための情報として、所定の認証局から発行された当該スマートメータに固有の公開鍵（Ｋ１＿ｐｕｂ）、同じく当該スマートメータに固有の秘密鍵（Ｋ１＿ｓｅｃ）、前記認証局の秘密鍵によって前記公開鍵が暗号化された情報である公開鍵証明書（ＣＲＴＦ＿ｋ１ｐｕｂ）、及び前記認証局の公開鍵（ＣＡ＿ｐｕｂ）をそれぞれ格納する第１の不揮発性記憶装置（３２）を有する。前記データプロセッサ部は、前記スマートメータに固有の公開鍵（Ｋ１＿ｐｕｂ）を格納するための第２の不揮発性記憶装置（１６）を有する。前記データプロセッサ部は、演算した検針データを前記スマートメータに固有の公開鍵を用いて暗号化して（Ｓ１）前記セキュアプロセッサ部に供給する（Ｓ２）。前記セキュアプロセッサ部は、前記暗号化された検針データを前記スマートメータに固有の秘密鍵を用いて復号するとともに（Ｓ３）、復号された検針データ又は暗号化された検針データを前記第１の不揮発性記憶装置に蓄積する（Ｓ４）。
【００２１】
上記によれば、公開鍵暗号によるセキュア認証処理によりサーバとスマートメータとの間のリモートアクセスに対するセキュリティが確保される。セキュアプロセッサ部はその耐タンパ性能、即ち、物理的あるいは論理的に内部の情報を読み取られることに対する耐性（フィジカルセキュリティ及びセキュリティロジック）によって保持データの秘匿性を維持する。データプロセッサ部で演算された検針データは公開鍵暗号方式で暗号化されてデータプロセッサ部からセキュアプロセッサ部に転送されるが、その転送途上で暗号化検針データが盗み取られても耐タンパ性能を有するセキュアプロセッサ部から公開暗号方式に用いる秘密鍵それ自体を盗み取ることは容易ではないので、この点においても検針データに対するセキュリティは万全である。セキュアプロセッサ部が保持する検針データを外部から参照するには上記セキュア認証処理によるセキュリティが確保されている。
【００２２】
したがって、プログラムやデータの改竄を未然に防止しかつスマートメータの内部や外部との通信経路におけるセキュリティを確保することができる。
【００２３】
〔２〕＜耐タンパ性＞
項１のスマートメータにおいて、前記セキュアプロセッサ部は、前記耐タンパ性能を得るために、物理的セキュリティを実現するメタルシールド、セキュリティロジックを実現するウォッチドッグタイマ（３４）、及び暗号化復号処理に用いる暗号演算用コプロセッサ（３１）を有する。
【００２４】
強力な耐タンパ性能を実現する事ができる。
【００２５】
〔３〕＜サーバ及びスマートメータによる相互に他の署名検証された公開鍵の取得＞
項１のスマートメータにおいて、前記セキュアプロセッサ部は、リモートアクセスに対するセキュア認証処理の前準備として、前記認証局の秘密鍵によってサーバの公開鍵（Ｋｓ＿ｐｕｂ）が暗号化されたサーバの公開鍵証明書（ＣＲＴＦ＿ｋｓｐｕｂ）を前記通信部を介して受け取り（Ｓ１１）、前記認証局の公開鍵（ＣＡ＿ｐｕｂ）を用いてその公開鍵証明書の署名を検証する（Ｓ１２）ことによって前記サーバの公開鍵を取得し（Ｓ１３）、前記認証局の秘密鍵によって前記スマートメータの公開鍵（Ｋ１＿ｐｕｂ）が暗号化されたスマートメータの公開鍵証明書（ＣＲＴ＿ｋ１ｐｕｂ）を前記通信部を介して前記サーバに送信し（Ｓ２１）、前記サーバ及びスマートメータに相互に他の署名検証された公開鍵を保有可能とする。
【００２６】
サーバ及びスマートメータが相互に他の署名検証された公開鍵を保有することにより、相互に相手の公開鍵を用いて暗号化した情報を安全に交換することができるようになる。
【００２７】
〔４〕＜セキュア認証処理の完了＞
項３のスマートメータにおいて、前記セキュアプロセッサ部は更に、取得したサーバの公開鍵を用いて暗号化した乱数（ｐ）をプリマスターシークレットとしてサーバに送信し（Ｓ３３）、且つ、スマートメータの秘密鍵を用いて生成したスマートメータの署名をサーバに送信し（Ｓ３５）、サーバがスマートメータを認証することを条件に（Ｓ３８）相互に任意の乱数を交換し、交換した乱数及び前記プリマスターシークレットを用いて生成した暗号鍵（Ｋ２＿ｓｅｃ）をスマートメータ及びサーバが共有して（Ｓ４５，Ｓ５３）、リモートアクセスに対するセキュア認証処理を完了する。
【００２８】
上記手法によるセキュア認証を行うことによってサーバとスマートメータが共有する暗号鍵を用いて行う暗号化通信には強固なセキュリティを実現することができる。
【００２９】
〔５〕＜暗号化コマンドに対する応答＞
項４のスマートメータにおいて、前記データプロセッサ部は、前記セキュアプロセッサ部によるセキュア認証処理を完了したリモートアクセスによって前記サーバから供給された暗号化コマンドを前記セキュアプロセッサ部に前記暗号鍵（Ｋ２＿ｓｅｃ）を用いて復号させて（Ｓ７３）、そのコマンドに応答する。
【００３０】
外部から与えられるコマンドに応答する処理に対して強固なセキュリティを実現することができる。
【００３１】
〔６〕＜検針データの転送＞
項５のスマートメータにおいて、前記データプロセッサ部は、前記暗号鍵で暗号化された検針データを前記セキュアプロセッサ部から受け取って、前記セキュアプロセッサ部によるセキュア認証処理を完了したリモートアクセスにより通信部に通信させる（Ｓ６２）。
【００３２】
外部から与えられる検針データの転送要求に対して強固なセキュリティを実現することができる。
【００３３】
〔７〕＜プログラムの改竄防止＞
項１のスマートメータにおいて、前記第２の不揮発性記憶装置はデータプロセッサ部が実行するプログラム（ＰＧＭ１〜ＰＧＭｎ）を格納する領域を有する。前記第１の不揮発性記憶装置は前記プログラムのハッシュ値（ＨＳＨ＿ｐｇｍ、ＨＳＨ＿ｐｇｍ１〜ＨＳＨ＿ｐｇｍｎ）を格納する領域を有する。前記セキュアプロセッサ部は、所定のタイミングで、前記第２の不揮発性記憶装置からプログラムを読み込んでそのハッシュ値を演算し（Ｓ８１）、演算したハッシュ値が第１の不揮発性記憶装置が保持するハッシュ値に一致するか否かを判別し（Ｓ８２）、それによる不一致の判別結果（ＲＳＬＴ＿ｅｒｒ）を前記第１の不揮発性記憶装置に保持する（Ｓ８３）。
前記第１の不揮発性記憶装置はサーバによるリモートアクセスの対象にされる。
【００３４】
データプロセッサが実行するプログラムのハッシュ値が、耐タンパ性を有する第１の不揮発性記憶装置に格納されるハッシュ値に一致しない状態によって、サーバは第２の不揮発性記憶装置が保有するデータプロセッサのプログラムが改竄されたことを検知することができる。
【００３５】
〔８〕＜プログラム検証処理起動タイマ＞
項７のスマートメータにおいて、前記セキュアプロセッサ部は、前記ハッシュ値の一致／不一致を判別する前記所定のタイミングを生成するためのタイマーカウンタ（３６）を有する。
【００３６】
プログラムの改竄が行われたか否かをサーバが判別するための情報をスマートメータ自身で逐次生成することができる。
【００３７】
〔９〕＜第１の不揮発性記憶装置によるキャリブレーションデータの保持＞
前記第１の不揮発性記憶装置は、前記計測信号に対するキャリブレーションを行うためのキャリブレーションデータ（ＤＡＴ＿ｃｌｂ）を格納する。
【００３８】
キャリブレーションデータを改竄することによって計測信号値に応答する検針データを改竄する不正の防止に資することができる。
【００３９】
〔１０〕＜累積電力データ＞
項１のスマートメータにおいて、前記使用量に応ずる計測信号は、電力使用量に応ずる電圧信号及び電流信号であり、前記検針データは、前記電圧信号及び電流信号に基づいて逐次演算された電力を累積した累積電力データである。
【００４０】
使用電力の測定が可能である。
【００４１】
〔１１〕＜電気料金データ＞
項１のスマートメータにおいて、前記使用量に応ずる計測信号は、電力使用量に応ずる電圧信号及び電流信号であり、前記検針データは、前記電圧信号及び電流信号に基づいて逐次演算された電力を累積した累積電力データ及び所定期間の前記累積電力データに応ずる電気料金データである。
【００４２】
使用電力の測定が可能であり、かつ定期的な電力料金の測定が可能になる。
【００４３】
〔１２〕＜使用時間帯別の電気料金表データ＞
項１のスマートメータにおいて、前記第１の不揮発性記憶装置は、前記電気料金データの演算に用いる使用時間帯別の電気料金表データ（ＤＡＴ＿ｃｈｇ）を格納する。
【００４４】
使用時間帯に応じたて異なる電気料金が設定される料金体系に適用できる。
【００４５】
〔１３〕＜リアルタイムクロック＞
項１２のスマートメータにおいて、演算に用いる時間帯別の電気料金表を判別するために参照される時刻を刻むリアルタイムクロック（１４，３７）を有し、前記リアルタイムクロックに対する時刻設定やリセットなどの操作は前記セキュアプロセッサ部によるセキュア認証処理を完了したリモートアクセスによって可能にされる。
【００４６】
攻撃者がリアルタイムクロックの時刻を変更して使用料金が安価な時間帯が常に適用されるようにする攻撃を未然に防止することができる。
【００４７】
〔１４〕＜検針システムにおけるリモートアクセスと検針データのセキュリティ＞
本発明の別の実施の形態に係る検針システムはネットワークを介して接続されたサーバ（４）と複数のスマートメータ（７）とを有する。前記スマートメータは、ネットワークに接続する通信部と、使用量に応ずる計測信号を入力して検針データを演算すると共に前記通信部による通信制御を行うデータプロセッサ部と、内部の保持情報に対する耐タンパ性能を有すると共にリモートアクセスに対するセキュア認証処理を行うセキュアプロセッサ部と、を有する。前記セキュアプロセッサ部は、前記セキュア認証処理を行うための情報として、所定の認証局から発行された当該スマートメータに固有の公開鍵、同じく当該スマートメータに固有の秘密鍵、前記認証局の秘密鍵によって前記公開鍵が暗号化された情報である公開鍵証明書、及び前記認証局の公開鍵をそれぞれ格納する第１の不揮発性記憶装置を有する。前記データプロセッサ部は、前記スマートメータに固有の公開鍵を格納するための第２の不揮発性記憶装置を有する。前記データプロセッサ部は、演算した検針データを前記スマートメータに固有の公開鍵を用いて暗号化して前記セキュアプロセッサ部に供給する。前記セキュアプロセッサ部は、前記暗号化された検針データを前記スマートメータに固有の秘密鍵を用いて復号するとともに、復号された検針データ又は暗号化された検針データを前記第１の不揮発性記憶装置に蓄積する。
【００４８】
これにより、プログラムやデータの改竄を未然に防止し且つスマートメータの内部や外部との通信経路におけるセキュリティを確保した検針システムを実現することができる。
【００４９】
〔１５〕＜耐タンパ性＞
項１４の検針システムにおいて、前記セキュアプロセッサ部は、前記耐タンパ性能を得るために、物理的セキュリティを実現するメタルシールド、セキュリティロジックを実現するウォッチドッグタイマ、及び暗号化復号処理に用いる暗号演算用コプロセッサを有する。
【００５０】
強力な耐タンパ性能を実現する事ができる。
【００５１】
〔１６〕＜サーバ及びスマートメータによる相互に他の署名検証された公開鍵の取得＞
項１４の検針システムにおいて、前記セキュアプロセッサ部は、リモートアクセスに対するセキュア認証処理の前準備として、前記認証局の秘密鍵によってサーバの公開鍵が暗号化されたサーバの公開鍵証明書を前記通信部を介して受け取り、前記認証局の公開鍵を用いてその公開鍵証明書の署名を検証することによって前記サーバの公開鍵を取得し、前記認証局の秘密鍵によって前記スマートメータの公開鍵が暗号化されたスマートメータの公開鍵証明書を前記通信部を介して前記サーバに送信し、前記サーバ及びスマートメータに相互に他の署名検証された公開鍵を保有可能とする。
【００５２】
サーバ及びスマートメータが相互に他の署名検証された公開鍵を保有することにより、相互に相手の公開鍵を用いて暗号化した情報を安全に交換することができるようになる。
【００５３】
〔１７〕＜セキュア認証処理の完了＞
項１６の検針システムにおいて、前記セキュアプロセッサ部は更に、取得したサーバの公開鍵を用いて暗号化した乱数をプリマスターシークレットとしてサーバに送信し、且つ、スマートメータの秘密鍵を用いて生成したスマートメータの署名をサーバに送信し、サーバがスマートメータを認証することを条件に相互に任意の乱数を交換し、交換した乱数及び前記プリマスターシークレットを用いて生成した暗号鍵をスマートメータ及びサーバが共有して、リモートアクセスに対するセキュア認証処理を完了する。
【００５４】
上記手法によるセキュア認証を行うことによってサーバとスマートメータが共有する暗号鍵を用いて行う暗号化通信には強固なセキュリティを実現することができる。
【００５５】
〔１８〕＜暗号化コマンドに対する応答＞
項１７の検針システムにおいて、データプロセッサ部は、前記セキュアプロセッサ部によるセキュア認証処理を完了したリモートアクセスによって前記サーバから供給された暗号化コマンドを前記セキュアプロセッサ部に前記暗号鍵を用いて復号させて、そのコマンドに応答する。
【００５６】
外部から与えられるコマンドに応答する処理に対して強固なセキュリティを実現することができる。
【００５７】
〔１９〕＜検針データの転送＞
項１８の検針システムにおいて、データプロセッサ部は、前記暗号鍵で暗号化された検針データを前記セキュアプロセッサ部から受け取って、前記セキュアプロセッサ部によるセキュア認証処理を完了したリモートアクセスにより通信部に通信させる。
【００５８】
外部から与えられる検針データの転送要求に対して強固なセキュリティを実現することができる。
【００５９】
〔２０〕＜プログラムの改竄防止＞
項１４の検針システムにおいて、前記第２の不揮発性記憶装置はデータプロセッサ部が実行するプログラムを格納する領域を有し、前記第１の不揮発性記憶装置は前記プログラムのハッシュ値を格納する領域を有する。前記セキュアプロセッサ部は、所定のタイミングで、前記第２の不揮発性記憶装置からプログラムを読み込んでそのハッシュ値を演算し、演算したハッシュ値が第１の不揮発性記憶装置が保持するハッシュ値に一致するか否かを判別し、それによる不一致の判別結果を前記第１の不揮発性記憶装置に保持する。前記第１の不揮発性記憶装置はサーバによるリモートアクセスの対象にされる。
【００６０】
データプロセッサが実行するプログラムのハッシュ値が、耐タンパ性を有する第１の不揮発性記憶装置に格納されるハッシュ値に一致しない状態によって、サーバは第２の不揮発性記憶装置が保有するデータプロセッサのプログラムが改竄されたことを検知することができる。
【００６１】
〔２１〕＜プログラム検証処理起動タイマ＞
項２０の検針システムにおいて、前記セキュアプロセッサ部は、前記所定のタイミングを生成するタイマーカウンタを有する。
【００６２】
プログラムの改竄が行われたか否かをサーバが判別するための情報をスマートメータ自身で逐次生成することができる。
【００６３】
〔２２〕＜サーバによるプログラム改竄判別結果の参照＞
項２０の検針システムにおいて、前記サーバは、前記不一致の判別結果を前記第１の不揮発性記憶装置から所要のタイミングで参照する。
【００６４】
サーバは、スマートメータのプログラムが改竄された事実を知ることができる。
【００６５】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００６６】
≪検針システムの基本構成≫
図１には本発明の一実施の形態に係るスマートメータ及びこれが配置された検針システムが例示される。同図に示される検針システムは、例えば電力の需給状況に応じた電力供給管理など可能にするスマートグリッドのような配電システムに適用される。この検針システムに適用されるスマートメータは従来の一定期間の電力使用量を記録する電力メータに代わって採用されるプログラム可能な装置であり、例えば、多様な料金メニューに従った電気料金の積算、電力使用量のリアルタイム把握、配電停止や復電の遠隔操作、遠隔検針などを可能にするために電力需要者毎に配置されるものである。
【００６７】
図１では検針システムとして双方向ネットワーク１にコンセントレータ２を介して接続された電力供給会社３のサーバ４と、同じくコンセントレータ５を介して接続された電力需要者６のスマートメータ７が代表的に示される。特に図示はしないが、コンセントレータ２，５には他のスマートメータや他のサーバなどが接続される。
【００６８】
スマートメータ7は、前記コンセントレータ５を介してネットワークに接続する通信部としての通信モジュール１０、電力供給会社３から電力需要者６に供給されて使用された電力に応ずる計測信号として電圧及び電流信号をディジタル信号に変換するアナログディジタル変換器（ＡＤＣ）１１、ＡＤＣ１１で変換されたディジタル信号を入力して検針データを演算するとともに通信モジュール１０の通信制御などを行うデータプロセッサ部としてのメータマイコン１２、メータマイコン１２によって表示制御される液晶ディスプレイ（ＬＣＤ）１３、メータマイコン１２によってタイマーカウント制御され検針データのタイムスタンプの生成などに利用されるリアルタイムクロック（ＲＴＣ）１４、及び内部の保持情報に対する耐タンパ性能を有すると共にネットワーク経由のリモートアクセスに対するセキュア認証処理などを行うセキュアプロセッサ部としてのセキュアマイコン１５を有する。特に制限されないが、スマートメータ７を構成するそれらの回路１０〜１５は配線基板上の所定の配線パターンに形成された電極パッドの上に実装されて構成される。
【００６９】
≪メータマイコン≫
前記メータマイコン１２は、特に制限されないが、ＡＤＣ１１及びＲＴＣ１４の出力信号を入力する入力ポート、通信モジュール１０の接続される通信インタフェース、ＬＣＤ１３に接続される表示制御回路、セキュアマイコン１５とインタフェースされる入出力インタフェースポート、中央処理装置、中央処理装置のワークＲＡＭ、及び中央処理装置の動作プログラムなどを保有する電気的に書き換え可能な第２の不揮発性記憶装置としてのフラッシュメモリ（ＦＬＳＨ）を有する。図１において前記フラッシュメモリ（ＦＬＳＨ）には参照符号１６が付されている。このフラッシュメモリ１６に格納されるプログラムは、ＡＤＣ１１の出力に基づく使用電力量や電気料金の演算制御、通信モジュール１０を用いた通信プロトコル制御、ＲＴＣ１４からの出力を用いた時計制御、ＬＣＤ１３に対する表示制御、及びセキュアマイコン１５とのインタフェース制御などを行うプログラムとされる。使用電力量や電気料金の演算制御によって得られた検針データは、特に制限されないが、ＡＤＣ１１から供給される電圧信号及び電流信号に基づいて逐次演算された電力を累積した累積電力データ及び月極めなどの所定期間の前記累積電力データに応ずる電気料金データである。
【００７０】
メータマイコン１２は、特に制限されないが、システムオンチップ（ＳＯＣ）の半導体集積回路デバイス又はシステムインパッケージ（ＳＩＰ）のようなマルチチップの半導体モジュールデバイスとして実現され、耐タンパ性能を備えていない。ＡＤＣ１１及びＲＴＣ１４はメータマイコン１２に搭載することも可能である。
【００７１】
≪セキュアマイコン≫
セキュアマイコン１５は、例えば図２に例示されるように、一般的なマイクロコンピュータに搭載されているのと同様の回路モジュールとして、プログラムを実行する中央処理装置（ＣＰＵ）２０、外部とのインタフェースを行う入出力ポート（ＩＯＰ）２１、割り込み制御やモード制御などを行うシステムコントロールロジック２２、ＣＰＵ２０の動作プログラムなどを保有するＲＯＭ２３、ＣＰＵ２０のワーク領域などに用いられるＲＡＭ２４などを備え、これに加えて、耐タンパ性能を実現するために、ハッキングを検出するための異常検出回路３０、暗号処理を高速に行う為の暗号演算コプロセッサ３１、電気的に書き換え可能な第１の不揮発性記憶装置としてのＥＥＰＲＯＭ３２、暗号鍵を生成するための乱数生成回路（ＲＮＧ）３３、ウォッチドッグタイマ（ＷＤＴ）３４、ファイヤーウォールマネージメントユニット（ＦＭＵ）３５、タイマ回路（ＴＭＲ）３６などを搭載している。特に制限されないが、図２のセキュアマイコン１５は、攻撃対象になり易いデバイスであるリアルタイムクロック（ＲＴＣ）３７を搭載し、その耐タンパ性能によって保護するように構成される。この場合には図１のＲＴＣ14は不要にしてよい。
【００７２】
セキュアンマイコン１５は、特に制限されないが、ＩＳＯ／ＩＥＣ１５４０８の評価・認証機関によって認証された、リバースエンジニアリングや改竄が困難になるように耐タンパ性能を備えたマイクロコンピュータであることが望ましいが、それと同等の機能を有していれば良く、必ずしもそのような認証を取得していることは必須ではない。
【００７３】
セキュリティマイコン１５は、耐タンパ性能を得るために、例えば、物理的セキュリティを実現するメタルシールド及び回路要素の不規則配置、更に前述のセキュリティロジックを実現するウォッチドッグタイマ３４、及び暗号化復号処理に用いる暗号演算用コプロセッサ（ＤＥＳコプロセッサ、剰余乗算コプロセッサ）３１などを有する。これにより、セキュアマイコン１５のＥＥＰＲＯＭ３２などに保持されるデータやプログラムなどに対して強力な耐タンパ性能を実現する事ができる。物理的セキュリティを実現するメタルシールド及び回路要素の不規則配置などの耐タンパ性能はＥＥＰＲＯＭ３２だけではなくセキュアマイコン１５の全体に対して施されている。
【００７４】
リモートアクセスに際してセキュアマイコン１５が行うセキュア認証は、公開鍵暗号を利用した認証（ディジタル署名）を利用する。セキュアマイコン１５は、耐タンパ性能が実現されているＥＥＰＲＯＭ３２に、前記セキュア認証処理を行うための情報として、所定の認証局から発行された当該スマートメータに固有の公開鍵Ｋ１＿ｐｕｂ、同じく当該スマートメータに固有の秘密鍵Ｋ１＿ｓｅｃ、前記認証局の秘密鍵によって前記公開鍵が暗号化された情報である公開鍵証明書ＣＲＴＦ＿ｋ１ｐｕｂ、及び前記認証局の公開鍵ＣＡ＿ｐｕｂをそれぞれ格納する。具体的な処理手順については後述するが、それらの情報を用いた公開鍵暗号によるセキュア認証処理によりサーバ４とスマートメータ７との間のリモートアクセスに対するセキュリティを確保することができる。
【００７５】
メータマイコン１２が生成する検針データは耐タンパ性能を有するＥＥＰＲＯＭ３２が保持することになるが、生成された検針データがメータマイコン１２からセキュアマイコン１５に転送される経路上におけるデータセキュリティを実現するために、メータマイコン１２はフラッシュメモリ１６に前記公開鍵Ｋ１＿ｐｕｂを保持する。メータマイコン１２は、演算した検針データを前記スマートメータに固有の公開鍵Ｋ１＿ｐｕｂを用いて暗号化して前記セキュリティマイコン１５に供給する。前記セキュリティマイコン１５は、前記暗号化された検針データを前記スマートメータに固有の秘密鍵Ｋ１＿ｓｅｃを用いて復号するとともに、復号された検針データをＥＥＰＲＯＭ３２に蓄積する。秘密鍵Ｋ１＿ｓｅｃは耐タンパ性能を有するＥＥＰＲＯＭ３２が保持するから、メータマイコン１２からセキュアマイコン１５の暗号化された検針データが転送されるときに盗み取られても、秘密鍵Ｋ１＿ｓｅｃそれ自体を盗み取ることは容易ではないから、この点においても検針データに対するセキュリティは万全である。
【００７６】
セキュアマイコン１５のＥＥＰＲＯＭ３２はそのほかに、マイコンメータ１２が実行するフラッシュメモリ１６内の正規のプログラムに対して所定のハッシュ関数から得られるハッシュ値ＨＳＨ＿ｐｇｍを期待値として格納する。ＣＰＵ２０は、所定のタイミングで、ＲＯＭ２３のプログラムを実行することにより、フラッシュメモリ１６からメータマイコン１２のプログラムを読み込んでそのハッシュ値を上記ハッシュ関数で演算し、演算したハッシュ値がＥＥＰＲＯＭ３２が保持する期待値としてのハッシュ値ＨＳＨ＿ｐｇｍに一致するか否かを判別し、それによる不一致の判別結果ＲＳＬＴ＿ｅｒｒをＥＥＰＲＯＭ３２の所定アドレスに保持する。ＥＥＰＲＯＭ３２の１の不一致の判別結果ＲＳＬＴ＿ｅｒｒはサーバ４によるリモートアクセスの対象にされる。メータマイコン１２が実行するプログラムのハッシュ値が、耐タンパ性を有するセキュアマイコン１５のＥＥＰＲＯＭ３２に格納されるハッシュ値ＨＳＨ＿ｐｇｍに一致しない状態によって、サーバ４はメータマイコン１２が保有するその動作プログラムの改竄を検知することができる。
【００７７】
上記ハッシュ値の判別処理を行うタイミングは例えばタイマ回路３６によって定期的に生成される。プログラムの改竄が行われたか否かをサーバが判別するための情報をスマートメータ自身で逐次生成することができる。
【００７８】
セキュアマイコン１５のＥＥＰＲＯＭ３２は更に、前記計測信号に対するキャリブレーションを行うためのキャリブレーションデータＤＡＴ＿ｃｌｂを格納する。そのキャリブレーションデータＤＡＴ＿ｃｌｂは、例えば計測信号としての電圧及び電流信号をディジタル信号に変換するＡＤＣ１１の変換レートを決めるデータであり、本来、ＡＤＣ１１の変換機能を微調整するために用いられる。このようなキャリブレーションデータＤＡＴ＿ｃｌｂに対して耐タンパ性能が得られるので、キャリブレーションデータを改竄することによって計測信号値に応答する検針データを改竄する不正の防止に資することができる。
【００７９】
セキュアマイコン１５のＥＥＰＲＯＭ３２は更に、ＡＤＣ１１から供給される電圧信号及び電流信号に基づいてメータマイコン１２が演算する累積電力データに基づいて電気料金データを取得するのに用いる使用時間帯別の電気料金表データＤＡＴ＿ｃｈｇを格納する。そのような電気料金表データＤＡＴ＿ｃｈｇの改ざんを防止して、使用時間帯に応じたて異なる電気料金が設定される料金体系に対応することができる。
【００８０】
このとき、ＲＴＣ１４は、電気料金の演算に用いる時間帯別の電気料金表データを判別するために参照される時刻を刻むことになる。ＲＴＣ１４に対する時刻設定やリセットなどの操作は前記セキュリティマイコン１５によるセキュア認証処理を完了したリモートアクセスによって可能にされる。これにより、攻撃者がリアルタイムクロックの時刻を変更して使用料金が安価な時間帯が常に適用されるようにする攻撃を未然に防止することができる。
【００８１】
《セキュアマイコンが解決するセキュリティ脅威》
図１の検針システムにおいてセキュアマイコン１５により解決されるセキュリティ脅威は、第１にネットワーク経由の不正アクセス、第２にメータマイコンに対するプログラムなどの改竄、第３に検針データなどのデータの改竄である。
【００８２】
第１のセキュリティ脅威は、耐タンパ性能を持つセキュアマイコン１５が公開鍵証明書や秘密鍵を保持し、このセキュアマイコン１５による公開鍵暗号を利用した認証により正当性若しくは正規性が確認された初めてネットワーク１を介するリモートアクセスが可能にされることによって解決される。公開鍵証明書や秘密鍵が耐タンパ性能を持たない単なるＥＥＰＲＯＭに格納されて個々のスマートメータが保管する構成では、それらが容易に盗みだされる虞があり、公開鍵暗号を利用した認証が実質的に無意味になることが想定される。したがって、上記実施の形態に係る検針システムでは電気使用量の遠隔検針、電気供給弁の遠隔遮断、スマートメータに対するアップデートファイルの送信に対して万全のセキュリティを保証することが可能になる。例えば、不正に大規模停電を惹起する行為、リアルタイムクロックの時刻を変更することによって格安の夜間電気料金体系を適用可能にする不正行為などを防止することができる。
【００８３】
第２のセキュリティ脅威は、メータマイコン１２が電気料金を計算したりするための各種プログラムに対して所定のハッシュ関数で予め取得したハッシュ値、キャリブレーションデータ及び電気料金表データを耐タンパ性能を持つセキュアマイコン１５のＥＥＰＲＯＭ３２が持つことによって解決される。
【００８４】
第３のセキュリティ脅威は、耐タンパ性能を持つセキュアマイコン１５が検針データ、キャリブレーションデータ及びハッキングログとしての判別結果をＥＥＰＲＯＭ３２に持つことによって解決される。
【００８５】
《セキュアストレージ》
図３にはメータマイコン１２で演算された検針データをセキュアマイコン１５が受け取って保持する処理（セキュアストレージ処理）が例示される。
【００８６】
システム稼動前の前準備としてスマートメータ７のセキュアマイコン１５は、署名検証などに用いるための当該スマートメータ７の公開鍵Ｋ１＿ｐｕｂ、スマートメータの秘密鍵Ｋ１＿ｓｅｃ、認証局の秘密鍵で公開鍵Ｋ１＿ｐｕｂが暗号化されたスマートメータの公開鍵証明書ＣＲＴＦ＿ｋ１ｐｕｂ、及び認証局の公開鍵ＣＡ＿ｐｕｂをＥＥＰＲＯＭ３２に格納し、メータマイコン１２はフラッシュメモリ１６に公開鍵Ｋ１＿ｐｕｂを格納する。
【００８７】
メータマイコンは検針データをスマートメータ７に固有の公開鍵Ｋ１＿ｐｕｂで暗号化し（Ｓ１）、暗号化検針データをスマートメータ７の所定の実装配線を介してセキュアマイコン１５に送信する（Ｓ２）。セキュアマイコン１５は当該スマートメータ７に固有の秘密鍵Ｋ１＿ｓｅｃを用いて暗号化検針データを復号し（Ｓ３）、ＥＥＰＲＯＭ３２に蓄積する（Ｓ４）。
【００８８】
《セキュア認証》
図４及び図５にはセキュア認証のためにサーバ及びスマートメータが相互に一方が他方の署名検証された公開鍵を取得する処理が例示される。
【００８９】
メータマイコン１２がサーバ４にＳＳＬ通信の開始を通知すると（Ｓ１１）、それに応答してサーバ４は、サーバ４の公開鍵証明書ＣＲＴＦ＿ｋｓｐｕｂ（認証局が発行したサーバの公開鍵Ｋｓ＿ｐｕｂを認証局の秘密鍵で暗号化した証明書）をスマートメータ７に送信して、セキュアマイコン１５が受け取る（Ｓ１１）。セキュアマイコン１５は公開鍵証明書ＣＲＴＦ＿ｋｓｐｕｂを認証局の公開鍵で復号して署名検証を行い（Ｓ１２）、認証を行うことができた場合には、その公開鍵証明書ＣＲＴＦ＿ｋｓｐｕｂに付随する公開鍵Ｋｓ＿ｐｕｂを取り出して保持する（Ｓ１３）し、その旨をサーバ４に通知する（Ｓ１４）。
【００９０】
サーバ４はその通知に応答してメータマイコン７にスマートメータの公開鍵証明書ＣＲＴＦ＿ｋ１ｐｕｂの送信を要求する（Ｓ２１）。これに応答してセキュアマイコン１５はスマートメータの公開鍵証明書ＣＲＴＦ＿ｋ１ｐｕｂをサーバ４に送信する（Ｓ２１）。サーバ４は、公開鍵証明書ＣＲＴＦ＿ｋ１ｐｕｂを認証局の公開鍵で復号して署名検証を行い（Ｓ２２）、認証を行うことができた場合には、その公開鍵証明書ＣＲＴＦ＿ｋ１ｐｕｂに付随する公開鍵Ｋ１＿ｐｕｂを取り出して保持する（Ｓ２３）し、その旨をサーバ４に通知する（Ｓ２４）。これによってスマートメータ７はサーバ４の公開鍵Ｋｓ＿ｐｕｂを持ち、サーバ４はスマートメータ７の公開鍵Ｋ１＿ｐｕｂを持つことになる。
【００９１】
図６乃至図８にはサーバ及びスマートメータが相互に取得した他方の署名検証された公開鍵を用いて共通の暗号鍵を取得する処理が例示される。
【００９２】
図６において、図５のステップＳ２４の通知に応答してセキュアマイコン１５は、プリマスタシークレットとして乱数ｐを生成し（Ｓ３１）、これをサーバの公開鍵Ｋｓ＿ｐｕｂで暗号化して（Ｓ３２）、サーバ４に送信する（Ｓ３３）。更にセキュアマイコン１５は、ステップＳ１０の通信内容（Client Hello）から直前までにサーバ４に与えた通信内容に対して所定のハッシュ関数を用いて生成したハッシュ値（通信内容のダイジェスト版）を求め、これを自らの秘密鍵Ｋ１＿ｓｅｃで暗号化したディジタル署名を生成し（Ｓ３４）、これをサーバに送信する（Ｓ３５）。サーバ４は自らの秘密鍵Ｋｓ＿ｓｅｃを用いて乱数ｐを復号して保持する（図８のＳ３６）。更にサーバ４は、受け取ったディジタル署名をセキュアマイコンの公開鍵Ｋ１＿ｐｕｂで復号して（Ｓ３７）、署名検証を行う（Ｓ３８）。これによって認証を行うことができたときその旨をセキュアマイコン１５に通知する（Ｓ３９）。
【００９３】
図７において、サーバ４はサーバランダムとして乱数ｓを生成して（Ｓ４１）、セキュアマイコン１５に送信する（Ｓ４２）。セキュアマイコン１５はクライアントランダムとしての乱数ｃを生成し（Ｓ４３）、この乱数ｃ、受け取った乱数ｓ及び前記乱数ｐを用いてマスタシークレットを生成し（Ｓ４４）、マスタシークレットを用いて秘密鍵としての暗号鍵Ｋ２＿ｓｅｃを生成する（Ｓ４５）。最後に、セキュアマイコン１５は暗号鍵Ｋ２＿ｓｅｃを用いる暗号化通信アルゴリズムの準備完了、そして暗号仕様の変更をサーバ４に通知する（Ｓ４６）。
【００９４】
図８においてセキュアマイコン１５は、ステップＳ４６の通知と共に乱数ｃをサーバ４に送信する（Ｓ５１）。サーバ４は、この乱数ｃ、前記乱数ｓ及び乱数ｐを用いてマスタシークレットを生成し（Ｓ５２）、マスタシークレットを用いて秘密鍵としての暗号鍵Ｋ２＿ｓｅｃを生成する（Ｓ５３）。サーバ４は、暗号鍵Ｋ２＿ｓｅｃを用いる暗号化通信アルゴリズムの準備完了、そして暗号仕様の変更をセキュアマイコン１５に通知する（Ｓ５４）。
【００９５】
これにより、サーバ４とスマートメータ７のセキュアマイコン１５において、暗号鍵Ｋ２＿ｓｅｃを暗号セッション鍵として共有する状態が確立され、セキュア認証処理が完了される。
【００９６】
《セキュアリモートアクセス》
図９にはセキュア認証完了後におけるセキュアリモートアクセスの一例として検針データ送信処理が示される。セキュアマイコン１５において例えば１５分に１回の割合で演算された検針データが図３の処理手順に従ってＥＥＰＲＯＭ３２に保持されている。前記セキュア認証を完了すると、セキュアマイコン１５は検針データを暗号鍵Ｋ２＿ｓｅｃで暗号化し（Ｓ６１）、暗号化検針データをネットワーク１を介してサーバ４に送信する（Ｓ６２）。サーバ４は暗号化検針データを暗号鍵Ｋ２＿ｓｅｃを用いて復号して利用する（Ｓ６３）。このとき使用した暗号鍵Ｋ２＿ｓｅｃは、検針データの通信の最後で廃棄される（Ｓ６４，Ｓ６５）。
【００９７】
図１０にはセキュア認証完了後におけるセキュアリモートアクセスの一例として電力弁遠隔操作処理が示される。図４乃至図９で説明したメータがサーバの公開鍵付き証明書の署名を認証局の公開鍵で検証することにより通信相手が正しいことを最初に確認することからセキュア認証を行ったが、電力弁遠隔操作はサーバ側からの要求に基づくものであり、サーバがメータを最初に確認することからセキュア認証を行うことになる。要するに、図４乃至図９とは逆向きで認証を行えばよく、最終的にはサーバ及びセキュアマイコンはセッション鍵としての暗号鍵Ｋ２＿ｓｅｃを共有する。
【００９８】
この場合サーバは、電力弁を閉じる指示を与えるコマンドを暗号鍵Ｋ２＿ｓｅｃで暗号化し（Ｓ７１）、この暗号化コマンドをネットワーク１を経由してスマートメータ７に送信する（Ｓ７２）。これを受信したスマートメータのセキュアマイコン１５は暗号鍵Ｋ２＿ｓｅｃを用いて暗号化コマンドを復号し（Ｓ７３）、メータマイコン１２に電力弁を閉じる操作を実行させる（Ｓ７４）。電力弁を閉じる操作が完了される前に暗号鍵Ｋ２＿ｓｅｃが廃棄される（Ｓ７５，Ｓ７６）。
【００９９】
特に図示はしないが、メータマイコン１２が実行するプログラムのアップデータ、電気料金表のアップデート、リアルタイムクロック１４に対する時間設定操作についてみ、電力弁遠隔操作と同様のセキュア認証処理と操作コマンドの暗号化によって、それら処理に対するセキュリティを万全なものとする事ができる。
【０１００】
《セキュアブート》
図１１にはメータマイコン１２のプログラムに対する改竄を検出するための処理（セキュアブート）のフローチャートが例示される。セキュアブートのために、メータマイコン１５のフラッシュメモリ１６に格納されるプログラムＰＧＭ１〜ＰＧＭｎに対して予め所定のハッシュ関数で取得されたハッシュ値ＨＳＨ＿ｐｇｍ１〜ＨＳＨ＿ｐｇｍｎがセキュアマイコン１５のＥＥＰＲＯＭ３２に格納されている。
【０１０１】
セキュアマイコン１５でセキュアブート処理が開始されると（Ｓ８０）、プログラム番号のポインタｎが指すプログラム番号のプログラムをメータマイコン１２から読み込んで、そのハッシュ値を計算する（Ｓ８１）。計算されたハッシュ値は予めＥＥＰＲＯＭ３２に取得されているハッシュ値ＨＳＨ＿ｐｇｍ１と比較されて一致／不一致の判別が行われる（Ｓ８２）。不一致であれば、改竄の可能性があることから、不一致の判定結果ＲＳＬＴ＿ｅｒｒが記述されたハッキングログを発行してＥＥＰＲＯＭ３２に保持する（Ｓ８３）。特に制限されないが不一致の場合にはプログラム番号毎に設けられたプログラムバリッドビットをインバリッドに設定して、当該プログラムの実行を禁止する。不一致でなければ改竄されていないと判断して、メータマイコン１２によるそのプログラム番号ｎ１のプログラムに実行を許可する（Ｓ８４）。プログラムの実行許可は、特に制限されないが、プログラム番号毎に設けられた前記プログラムバリッドビットをバリッドに保つことである。上記ステップＳ８１〜Ｓ８４の処理はｎが最後の番号に達するまで繰り返され（Ｓ８５）、最後にハッキングログの有無が判別され（Ｓ８６）、ハッキングログがある場合にはこれを前記暗号鍵Ｋ２＿ｓｅｃを用いて暗号化しサーバ４に送信する（Ｓ８７）。特に制限されないが、セキュアブート処理はタイマ３６の設定に従って例えば１日１回起動される。
【０１０２】
ハッキングログはセキュアブート処理の結果だけではなく、電源電圧や同期動作用のクロック周波数などの異常を検出する異常検出回路３０による異常の検出結果も含めるようにしてもよい。
【０１０３】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【０１０４】
例えば、メータマイコンに代表されるデータプロセッサ部が暗号化に用いるスマートメータに固有の公開鍵はセキュアマイコンに代表されるセキュアプロセッサ部の第１の不揮発性記憶装置から第２の不揮発性記憶装置に転送されてもよい。
【０１０５】
電気料金の計算はサーバが行ってもよい。したがって、その場合にはスマートメータは電力量を演算すればよく、電気料金の演算を要しない。
【０１０６】
また、上記実施の形態では、データプロセッサ部を実現するメータマイコンと、セキュアプロセッサ部を実現するセキュアマイコンをそれぞれ異なる半導体デバイスで構成することにより、ＩＣカード用マイクロコンピュータなどをセキュアプロセッサ部に利用できるようにしたが、１チップに双方のプロセッサ部が構成されたデバイスを用いることも可能である。
【０１０７】
データプロセッサ部の第２の不揮発性記憶装置は当該プロセッサ部の内部メモリまたは外付けメモリの何れであってもよい。
【０１０８】
認証局は同業者組合などの私設認証局であってもよい。
【０１０９】
本発明は電力以外の水道やガス等のエネルギーメータに対しても適用できる。
【符号の説明】
【０１１０】
１  ネットワーク
４  サーバ
７  スマートメータ
１１  アナログディジタル変換器（ＡＤＣ）
１２  メータマイコン
１４  リアルタイムクロック（ＲＴＣ）
１５  セキュアマイコン
１６  フラッシュメモリ（ＦＬＳＨ）
２０  中央処理装置（ＣＰＵ）
２１  入出力ポート（ＩＯＰ）
２２  システムコントロールロジック
２３  ＲＯＭ
２４  ＲＡＭ
３０  異常検出回路
３１  暗号演算コプロセッサ
３２  ＥＥＰＲＯＭ
３３  乱数生成回路（ＲＮＧ）
３４  ウォッチドッグタイマ（ＷＤＴ）
３５  ファイヤーウォールマネージメントユニット（ＦＭＵ）
３６  タイマ回路（ＴＭＲ）
３７  リアルタイムクロック（ＲＴＣ）
Ｋ１＿ｐｕｂ  スマートメータに固有の公開鍵
Ｋ１＿ｓｅｃ  スマートメータに固有の秘密鍵
ＣＲＴＦ＿ｋ１ｐｕｂ  公開鍵証明書
ＣＡ＿ｐｕｂ  認証局の公開鍵
ＨＳＨ＿ｐｇｍ  ハッシュ値
ＲＳＬＴ＿ｅｒｒ  判別結果
ＤＡＴ＿ｃｌｂ  キャリブレーションデータ
ＤＡＴ＿ｃｈｇ  電気料金表データ
【図１】
2012113670.tif 000003
【図２】
2012113670.tif 000004
【図３】
2012113670.tif 000005
【図４】
2012113670.tif 000006
【図５】
2012113670.tif 000007
【図６】
2012113670.tif 000008
【図７】
2012113670.tif 000009
【図８】
2012113670.tif 000010
【図９】
2012113670.tif 000011
【図１０】
2012113670.tif 000012
【図１１】
2012113670.tif 000013