(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024155626
(43)【公開日】2024-10-31
(54)【発明の名称】スマートメーターおよびスマートメーターシステム
(51)【国際特許分類】
H04L 9/10 20060101AFI20241024BHJP
H04L 9/32 20060101ALI20241024BHJP
G06F 21/64 20130101ALI20241024BHJP
【FI】
H04L9/10 A
H04L9/32 200B
G06F21/64
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2023070499
(22)【出願日】2023-04-21
(71)【出願人】
【識別番号】000002897
【氏名又は名称】大日本印刷株式会社
(74)【代理人】
【識別番号】100122529
【弁理士】
【氏名又は名称】藤枡 裕実
(74)【代理人】
【識別番号】100135954
【弁理士】
【氏名又は名称】深町 圭子
(74)【代理人】
【識別番号】100119057
【弁理士】
【氏名又は名称】伊藤 英生
(74)【代理人】
【識別番号】100131369
【弁理士】
【氏名又は名称】後藤 直樹
(74)【代理人】
【識別番号】100171859
【弁理士】
【氏名又は名称】立石 英之
(72)【発明者】
【氏名】福永 正剛
(72)【発明者】
【氏名】平野 晋健
(72)【発明者】
【氏名】嘉瀬 悠太
(72)【発明者】
【氏名】木下 靖夫
(72)【発明者】
【氏名】高田 憲一
(72)【発明者】
【氏名】高橋 憲介
(57)【要約】
【課題】スマートメーターが記録しているログの改ざんを防止する。
【解決手段】スマートメーター2は、イベントのログを保存するログファイル21と電子署名210を記憶するMCU20と、電子署名210の生成に用いる秘密鍵30を記憶するセキュアモジュール3を備える。MCU20は、イベントを検知すると、検知したイベントのログをログファイルに追加し、更新したログファイルのハッシュ値をセキュアモジュール3に送信する。セキュアモジュール3は、MCU20から受信したログファイル21のハッシュ値と秘密鍵30を用いて電子署名を生成し、MCU20は、セキュアモジュール3から取得した電子署名210を用いてログファイル21の電子署名210を更新する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
イベントのログを保存するログファイルと前記ログファイルの電子署名を記憶するMCU(Micro Controller Unit)と、電子署名の生成に用いる公開鍵暗号方式の秘密鍵を記憶するセキュアモジュールを備え、
前記MCUは、イベントを検知すると、検知したイベントのログを前記ログファイルに追加して前記ログファイルを更新し、更新した前記ログファイルのハッシュ値をセキュアモジュールに送信して、前記セキュアモジュールに電子署名を生成させ、前記セキュアモジュールから取得した電子署名を用いて前記ログファイルの電子署名を更新し、
前記セキュアモジュールは、前記MCUから受信した前記ログファイルのハッシュ値と前記秘密鍵を用いて電子署名を生成する、
ことを特徴とするスマートメーター。
【請求項2】
電子署名の生成対象となるイベントを特定イベントとして定義しておき、前記MCUは、前記特定イベントを検知した場合のみ、前記セキュアモジュールに電子署名を生成させる、
ことを特徴とする、請求項1に記載したスマートメーター。
【請求項3】
スマートメーターと、前記スマートメーターを個別管理するメーターデータ管理システムから少なくとも構成され、
前記スマートメーターは、イベントのログを保存するログファイルと前記ログファイルの電子署名を記憶するMCU(Micro Controller Unit)と、電子署名の生成に用いる公開鍵暗号方式の秘密鍵を記憶するセキュアモジュールを備え、前記MCUは、イベントを検知すると、検知したイベントのログを前記ログファイルに追加して前記ログファイルを更新し、更新した前記ログファイルのハッシュ値をセキュアモジュールに送信して、前記セキュアモジュールに電子署名を生成させ、前記セキュアモジュールから取得した電子署名を用いて前記ログファイルの電子署名を更新し、前記セキュアモジュールは、前記MCUから受信した前記ログファイルのハッシュ値と前記秘密鍵を用いて電子署名を生成し、
前記メーターデータ管理システムは、前記スマートメーターの前記MCUが記憶する前記ログファイルとこれの電子署名を取得し、前記メーターデータ管理システムが算出した前記ログファイルのハッシュ値と、前記ログファイルを取得した前記スマートメーターの前記セキュアモジュールが記憶している前記秘密鍵と対になる公開鍵を用いて前記ログファイルの電子署名を復号した値を比較して、前記ログファイルの電子署名を検証する、
ことを特徴とするスマートメーターシステム。
【請求項4】
電子署名の生成対象となるイベントを特定イベントとして定義しておき、
前記スマートメーターの前記MCUは、前記特定イベントを検知した場合のみ、前記セキュアモジュールに電子署名を生成させ、
前記メーターデータ管理システムは、前記スマートメーターから取得した前記ログファイルにおいて、最初のログから最後に発生した前記特定イベントのログまでを署名範囲としてハッシュ値を算出する、
ことを特徴とする、請求項3に記載したスマートメーターシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本願で開示する発明は、電力を自動で計測するスマートメーターに関する発明である。
【背景技術】
【0002】
物理的オブジェクトであるモノによりネットワークを構成するIoT(Internet of Things)が普及している。IoTを構成するモノとなるデバイスは、IoTデバイスと呼ばれている。IoTデバイスは、所定のネットワーク回線を通じて業務システムのサーバとデータのやり取りを行う。
【0003】
IoTデバイスの1つに、電力を自動で計測するスマートメーターがある。一般社団法人日本電気協会では、スマートメーターシステムに求める要求事項を記載したセキュリティガイドラインを定義して、一般社団法人日本電気協会のウェブサイトでこのセキュリティガイドラインを公開している。
【0004】
一般社団法人日本電気協会が定義しているスマートメーターセキュリティガイドラインに記載された要求事項の一つに、スマートメーターに対して行われた操作状況やスマートメーターの動作状況を記録したログをスマートメーターに保存し、このログを定期的に確認することがある。
【0005】
スマートメーターに対して行われた操作状況やスマートメーターの動作状況を記録したログは、スマートメーターのセキュリティ的に重要なデータになる。このため、スマートメーターが記録しているログの改ざんを防ぐことが重要になる。
【0006】
特許文献1で開示された発明では、スマートメーターが記憶するデータの改ざんを防止するため、検針データの演算処理などを行うプロセッサの他に、内部の保持情報に対する耐タンパ性能を有するセキュアモジュール(セキュアプロセッサ)をスマートメーターに実装させている。特許文献1で開示されたスマートメーターのプロセッサは、スマートメーターで固有の公開鍵を用いてデータを暗号化してセキュアエレメントに供給し、セキュアエレメントは、スマートメーターで固有の秘密鍵を用いて復号したデータを記憶する。
【先行技術文献】
【特許文献】
【0007】
【発明の概要】
【発明が解決しようとする課題】
【0008】
本願では、スマートメーターが記録しているログの改ざんを防止することを目的とする。
【課題を解決するための手段】
【0009】
上述した課題を解決する第1発明は、イベントのログを保存するログファイルと前記ログファイルの電子署名を記憶するMCU(Micro Controller Unit)と、電子署名の生成に用いる公開鍵暗号方式の秘密鍵を記憶するセキュアモジュールを備えたスマートメーターである。
前記MCUは、イベントを検知すると、検知したイベントのログを前記ログファイルに追加して前記ログファイルを更新し、更新した前記ログファイルのハッシュ値をセキュアモジュールに送信して、前記セキュアモジュールに電子署名を生成させ、前記セキュアモジュールから取得した電子署名を用いて前記ログファイルの電子署名を更新し、
前記セキュアモジュールは、前記MCUから受信した前記ログファイルのハッシュ値と前記秘密鍵を用いて電子署名を生成する。
第1発明では、電子署名の生成対象となるイベントを特定イベントとして定義しておき、前記MCUは、前記特定イベントを検知した場合のみ、前記セキュアモジュールに電子署名を生成させることが望ましい。
【0010】
上述した課題を解決する第2発明は、スマートメーターと、前記スマートメーターを個別管理するメーターデータ管理システムから少なくとも構成されるスマートメーターシステムである。
前記スマートメーターは、イベントのログを保存するログファイルと前記ログファイルの電子署名を記憶するMCU(Micro Controller Unit)と、電子署名の生成に用いる公開鍵暗号方式の秘密鍵を記憶するセキュアモジュールを備え、前記MCUは、イベントを検知すると、検知したイベントのログを前記ログファイルに追加して前記ログファイルを更新し、更新した前記ログファイルのハッシュ値をセキュアモジュールに送信して、前記セキュアモジュールに電子署名を生成させ、前記セキュアモジュールから取得した電子署名を用いて前記ログファイルの電子署名を更新し、前記セキュアモジュールは、前記MCUから受信した前記ログファイルのハッシュ値と前記秘密鍵を用いて電子署名を生成する。
前記メーターデータ管理システムは、前記スマートメーターの前記MCUが記憶する前記ログファイルとこれの電子署名を取得し、前記メーターデータ管理システムが算出した前記ログファイルのハッシュ値と、前記ログファイルを取得した前記スマートメーターの前記セキュアモジュールが記憶している前記秘密鍵と対になる公開鍵を用いて前記ログファイルの電子署名を復号した値を比較して、前記ログファイルの電子署名を検証する。
第2発明では、電子署名の生成対象となるイベントを特定イベントとして定義しておき、前記スマートメーターの前記MCUは、前記特定イベントを検知した場合のみ、前記セキュアモジュールに電子署名を生成させ、前記メーターデータ管理システムは、前記スマートメーターから取得した前記ログファイルにおいて、最初のログから最後に発生した前記特定イベントのログまでを署名範囲としてハッシュ値を算出することが望ましい。
【発明の効果】
【0011】
本願で開示する発明では、スマートメーターが記録しているログファイルの改ざんを防止するため、スマートメーターにセキュアモジュールを実装し、ログファイルの電子署名生成に係る処理をセキュアモジュールに実施させている。
【図面の簡単な説明】
【0012】
【
図1】本実施形態に係るスマートメーターシステムの構成を示した図。
【
図4】スマートメーターシステムの動作を説明する図。
【発明を実施するための形態】
【0013】
ここから,本願で開示する発明に係る実施形態について記載する。本実施形態は,本願で開示する発明の理解を容易にするためのものである。本願で開示する発明は,本実施形態に限定されるものではない。また,特に断りのない限り,図面は,本願で開示する発明の理解を容易にするために描かれた模式的な図である。
【0014】
図1では、本実施形態に係るスマートメーターシステム1の構成を示している。スマートメーターシステム1は、スマートメーター2とメーターデータ管理システム4(MDMS: Meter Data Management System)より少なくとも構成される。スマートメーター2は、電力量をデジタル計測し,通信機能を備えた電力量計である。MDMS4は、スマートメーター2を個別管理するシステムである。MDMS4は、スマートメーター2が計量した電力量など、スマートメーター2から取得したデータをスマートメーター2ごとに管理する。
【0015】
スマートメーター2は、WAN5(Wide Area Network)を介してMDMS4と接続している。スマートメーター2が使用する通信方式は一つではない。
図1において、FAN6(FAN: Field Area Network)に接続しているスマートメーター2の通信方式は無線マルチホップ方式になる。FAN6に接続しているスマートメーター2は、集約装置6aを介してWAN5に接続する。
図1において、FAN6に接続していないスマートメーター2の通信方式は、移動体通信(例えば、5G)などの1:N無線通信方式になる。
【0016】
本実施形態に係るMDMS4は、電力量に加えて、スマートメーター2に発生したイベントのログをスマートメーター2から収集する。イベントとは、スマートメーター2に対して行われた操作(パネルの開閉、ファームウェアの更新など)やスマートメーター2の動作状況(データ通信、エラー発生など)などを意味する。
【0017】
本実施形態に係るスマートメーター2は、発生したイベントを記したログを保存するログファイル21を記憶している。本実施形態に係るスマートメーター2は、電力量をデジタル計測する機能に加えて、イベントが発生すると、発生したイベントを記したログをログファイル21に記録する機能を有している。
【0018】
スマートメーター2が記録するログは、機密性が高い情報になる。そこで、本実施形態に係るスマートメーター2は、ログファイル21の改ざんを防止するため、発生したイベントのログを保存するログファイル21に加えて、ログファイル21の電子署名210を記憶する。電子署名210は、公開鍵暗号方式の秘密鍵30を用いてログファイル21から生成される値になる。電子署名210の生成に使用する秘密鍵30が漏洩すると、電子署名210が改ざんされてしまう。そこで、本実施形態では、秘密鍵30の漏洩を防止するため、記憶した情報の漏洩に対して高い耐タンパ性をもつセキュアモジュール3をスマートメーター2に実装し、電子署名210の生成に使用する秘密鍵30をセキュアモジュール3に格納している。本実施形態では、電子署名210の生成に係る暗号処理をセキュアモジュール3に行わせる。なお、本実施形態では、記憶した情報の漏洩に対して高い耐タンパ性をもつ半導体製品をセキュアモジュール3と呼んでいるが、セキュアモジュール3は、セキュリティモジュール、セキュリティチップ、セキュアチップまたはセキュアエレメントなどと呼ばれることもある。
【0019】
セキュアモジュール3に記憶させる公開鍵暗号方式の秘密鍵30を、セキュアモジュール3の外部(例えば、MDMS4)で生成して、セキュアモジュール3に秘密鍵30を登録してもよいが、電子署名210の生成に用いる秘密鍵30の漏洩を考慮すると、セキュアモジュール3の内部で秘密鍵30を生成することが望ましい。セキュアモジュール3の内部で秘密鍵30を生成する場合、セキュアモジュール3は、秘密鍵30とこれと対になる公開鍵を生成し、公開鍵を出力する機能を有する。
【0020】
スマートメーターシステム1を構成するスマートメーター2について説明する。
図2では、スマートメーター2のブロック図を示している。
図2で示した通り、スマートメーター2は、MCU20(Micro Controller Unit)、通信モジュール22、センシングモジュール23およびディスプレイ24を備える。更に、スマートメーター2は、上述のセキュアモジュール3を備える。
【0021】
スマートメーター2が備えるMCU20は、CPU20a(Central Processing Unit)、各種のメモリおよび周辺機能20e(Peripherals)を1つのチップに集積した半導体回路である。スマートメーター2が備えるMCU20は、メモリとして、電気的に書き換えできない不揮発性メモリであるROM20b(Read Only Memory),電気的に書き換えできる揮発性メモリであるRAM20c(Random Access Memory)、および、電気的に書き換えできる不揮発性メモリであるNVM20d(Non-Volatile Memory)を備える。
【0022】
通信モジュール22は、スマートメーター2が通信を行うための回路である。具体的に、通信モジュール22は、無線マルチホップ方式で通信を行う回路、または、1:N無線通信を行う回路などである。センシングモジュール23は、スマートメーター2が収集するデータを計測する回路である。具体的に、センシングモジュール23は、電流センサおよび電力センサなどを備え、電力を計測する回路になる。ディスプレイ24は、電力の検針値などを表示する表示装置である。具体的に、ディスプレイ24は、液晶ディスプレイである。
【0023】
MCU20が備えるNVM20dには、スマートメーター2のログを記録するファイルであるログファイル21が記憶される。ログファイル21に記録するログには、ログに対応するイベントが発生した日時、ログに対応するイベントを特定するための情報が含まれる。
【0024】
MCU20が備えるCPU20aは、ログを記録するイベントが発生すると、発生したイベントに対応するログを生成し、このログをNMV20dのログファイル21に追加することでログファイル21を更新する処理を実行する。更に、MCU20が備えるCPU20aは、更新したログファイル21の電子署名210をセキュアモジュール3に生成させ、セキュアモジュール3が算出した電子署名210を用いてログファイル21の電子署名210を更新する処理を実行する。これらの処理をMCU20のCPU20aに行わせるためのコンピュータプログラムは、MCU20のROM20bに格納されている。
【0025】
ログファイル21の電子署名210は、ログファイル21のハッシュ値とセキュアモジュール3が記憶している秘密鍵30を用いて署名生成した値になる。本実施形態において、ログファイル21のハッシュ値を算出する主体はMCU20である。ログファイル21のハッシュ値と秘密鍵30を用いて電子署名を生成する主体はセキュアモジュール3である。MCU20は、MCU20が算出したログファイル21のハッシュ値をセキュアモジュール3に送信して、セキュアモジュール3にログファイル21の電子署名210を生成させる。
【0026】
電子署名210を生成する処理は、スマートメーター2のMCU20にとって負荷が重い処理(処理時間がかかる処理)になる。そこで、電子署名210の生成対象になるイベントを特定イベントとして予めスマートメーター2に定義しておき、スマートメーター2のMCU20は、特定イベントが発生した場合のみ、ログファイル21の電子署名210を生成することが望ましい。
【0027】
図3は、セキュアモジュール3のブロック図を示している。セキュアモジュール3は、外部からの攻撃に対して高い耐タンパ性を有する半導体製品である。本実施形態において、セキュアモジュール3は、スマートメーター2の基板に組み込まれ、スマートメーター2のMCU20と接続している。セキュアモジュール3の形態としては、SIMカード(Subscriber Identity Module Card)の形態も考えらえる。
【0028】
スマートメーター2が備えるMCU20と同様に、セキュアモジュール3は、CPU3a、ROM3b、RAM3c、NVM3d、コプロセッサ3eおよび、周辺機能3fを備えている。セキュアモジュール3が備えるNVM3dには、ログファイル21の電子署名210の生成に使用する秘密鍵30が格納される。この秘密鍵30と対になる公開鍵40はMDMS4に記憶されている。
【0029】
セキュアモジュール3のROM3bには、セキュアモジュール3のCPUaを動作させるためのコンピュータプログラムが格納されている。本実施形態において、セキュアモジュール3のROM3bに格納するコンピュータプログラムには、コプロセッサ3eを使用して、MCU20から受け渡された情報(ここでは、ログファイル21のハッシュ値)を秘密鍵30で暗号化するコンピュータプログラムが含まれている。このコンピュータプログラムにより、秘密鍵30を用いて電子署名210を生成する機能がセキュアモジュール3に備えられる。
【0030】
ここから、スマートメーター2の動作について説明する。
図4は、スマートメーター2の動作を説明する図である。スマートメーター2のMCU20は、スマートメーター2に発生したイベントを検知すると(ステップS1)、検知したイベントに対応するログを生成する(ステップS2)。MCU20が検知するイベントは、MCU20が実行した所定の処理やスマートメーター2に発生したエラー(アラーム)などになる。ログは、MCU20が検知したイベントを識別する情報、イベントの発生時刻を含む。MCU20は、ログを生成すると、生成したログをログファイル21に追加して、ログファイル21を更新する(ステップS3)。
【0031】
スマートメーター2のMCU20は、電子署名210の生成対象になるイベントを意味する特定イベントが定義されているか確認する(ステップS4)。特定イベントが定義されていない場合、MCU20は、ログファイル21を更新すると、更新したログファイル21のハッシュ値を算出する(ステップS5)。ハッシュ値の算出には、SHA-1、SHA-2またはSHA-256などのハッシュ関数(要約関数)が利用される。
【0032】
MCU20は、更新したログファイル21のハッシュ値をセキュアモジュール3に送信する(ステップS6)。セキュアモジュール3は、NVM3dが格納している秘密鍵30を用いて、MCU20から引き渡されたハッシュ値を暗号化し、ログファイル21のハッシュ値を暗号化した結果を電子署名210としてMCU20に送信する(ステップS7)。MCU20は、ログファイル21と共に記憶している電子署名210を、セキュアモジュール3から受信した電子署名210に更新して(ステップS8)、
図4の手順は終了する。
【0033】
図4のステップS4において、特定イベントが定義されている場合、MCU20は、
図4のステップS1においてMCU20が検出したイベントが特定イベントであるか確認する(ステップS9)。
図4のステップS1においてMCU20が検出したイベントが特定イベントでない場合、
図4の手順は終了する。すなわち、
図4のステップS1においてMCU20が検出したイベントが特定イベントでない場合、
図4のステップS1においてMCU20が検出したイベントに対応するログがログファイル21に追加されてログファイル21は更新されるが、ログファイル21の電子署名210は更新されない。
【0034】
図4のステップS1においてMCU20が検出したイベントが特定イベントである場合、MCU20は、
図4のステップS5に処理を進め、ステップS5からステップS8を実行して、
図4の手順は終了する。すなわち、
図4のステップS1においてMCU20が検出したイベントが特定イベントである場合、
図4のステップS1においてMCU20が検出したイベントに対応するログがログファイル21に追加されてログファイル21は更新され、ログファイル21に対応する電子署名210は、更新したログファイル21から生成された電子署名210に更新される。
【0035】
MDMS4について説明する。MDMS4は、一つまたは複数のサーバを用いて実現されるシステムである。クラウドコンピューティング技術の発達により、クラウドコンピューティングによりMDMS4を実現することが一般的である。MDMS4は、スマートメーター2から取得したログファイル21に付与される電子署名210を検証する機能を有する。電子署名210に検証に用いる暗号鍵は、スマートメーター2のセキュアモジュール3が格納している秘密鍵30と対になる公開鍵40になる。MDMS4は、スマートメーター2の識別番号に関連づけて、スマートメーター2の公開鍵40を記憶する。スマートメーター2から取得したログファイル21に付与される電子署名210を検証する処理は、MDMS4が算出したログファイル21のハッシュ値と、公開鍵40を用いて電子署名210を復号した値を比較する処理になる。
【0036】
ここから、MDMS4の動作について説明する。
図5は、MDMS4の動作を説明する図である。MDMS4は、スマートメーター2が記憶しているログファイル21とこれの電子署名210をスマートメーター2から取得する(ステップS10)。MDMS4は、ログファイル21とこれの電子署名210の送信をスマートメーター2に要求し、ログファイル21とこれの電子署名210をスマートメーター2から受信する。
【0037】
MDMS4は、MDMS4が記憶している公開鍵40の中から、ログファイル21を取得したスマートメーター2に対応する公開鍵40を検索する(ステップS11)。スマートメーター2のログファイル21を送信するときに、スマートメーター2からMDMS4にスマートメーター2の識別番号を通知してもよく、また、ログファイル21の付帯情報にスマートメーター2の識別番号を含ませてもよい。
【0038】
MDMS4は、電子署名210の生成対象になるイベントを意味する特定イベントが定義されているか確認する(ステップS12)。特定イベントが定義されていない場合、MDMS4は、スマートメーター2から取得したログファイル21のすべてを署名範囲として、スマートメーター2から取得したログファイル21の電子署名210を検証する(ステップS13)。この場合、MDMS4は、スマートメーター2から取得したログファイル21のすべてを使用してハッシュ値を算出し、電子署名210を公開鍵40で復号した値とこのハッシュ値が一致するか確認する。電子署名210を公開鍵40で復号した値とこのハッシュ値が一致する場合、MDMS4は、電子署名210の検証に成功したと判定する。電子署名210を公開鍵40で復号した値とこのハッシュ値が一致しない場合、MDMS4は、電子署名210の検証に失敗したと判定する。
【0039】
特定イベントが定義されている場合、MDMS4は、スマートメーター2から取得したログファイル21において、最初のログから最後の特定イベントのログまでを署名範囲として、スマートメーター2から取得したログファイル21の電子署名210を検証する(ステップS14)。この場合、MDMS4は、スマートメーター2から取得したログファイル21において、最初のログから最後の特定イベントのログまでを使用してハッシュ値を算出し、電子署名210を公開鍵40で復号した値とこのハッシュ値が一致するか確認する。
【0040】
MDMS4は、電子署名210の検証結果に応じて処理を分岐する(ステップS15)。電子署名210の検証に失敗した場合、すなわち、電子署名210を公開鍵40で復号した値とログファイル21のハッシュ値が一致しない場合、MDMS4は、スマートメーター2から受信したログファイル21を記憶することなく、異常終了する(ステップS16b)。電子署名210の検証に成功した場合、すなわち、電子署名210を公開鍵40で復号した値とログファイル21のハッシュ値が一致する場合、MDMS4は、スマートメーター2から受信したログファイル21を記憶して、正常終了する(ステップS16a)。
【符号の説明】
【0041】
1 スマートメーターシステム
2 スマートメーター
20 MCU
21 ログファイル
210 電子署名
3 セキュアモジュール
30 秘密鍵
4 メーターデータ管理システム
40 公開鍵