(57)【要約】      （修正有）【課題】電力メータに過大な負荷を与えることなく電力メータが集計した電力使用量そのものを隠蔽してプライバシの保護を図りつつ、アプリケーションサーバが必要とする電力使用量の総量を計算できるデータ管理装置を提供する。【解決手段】データ管理装置であるＭＤＭＳ２０は、電力メータから、第１秘密鍵を用いて電力使用量を暗号化した値である第１の値を受信し、複数の第１の値を合算して第１合算暗号文を生成する（Ｓ３０２）。さらに鍵管理サーバから、第１秘密鍵と第２秘密鍵とを用いて生成された第１変換鍵を受信し、第１変換鍵を用いて第１合算暗号文を第１変換合算暗号文に変換し（Ｓ３０６）、第１変換合算暗号文をアプリケーションサーバであるＥＭＳ３０に送信する（Ｓ３０７）。ＥＭＳ３０は第２秘密鍵を用いて第１変換合算暗号文を復号して、複数の電力使用量を合算した値である第１電力使用総量を生成する（Ｓ３０８）。【選択図】図９
2014153630.tif 000002
【特許請求の範囲】
【請求項１】
電気機器の単位時間あたりの電力使用量を集計する電力メータと、複数の前記電力使用量を合算した値を用いて所定のアプリケーションを実行するアプリケーションサーバと、前記電力メータが保持する第１秘密鍵および前記アプリケーションサーバが保持する第２秘密鍵を保持する鍵管理サーバとに接続されるデータ管理装置であって、
前記電力メータから、前記第１秘密鍵を用いて前記電力使用量を暗号化した値である第１の値を受信する第１受信部と、
複数の前記第１の値を合算して第２の値を生成する生成部と、
前記鍵管理サーバから、前記第１秘密鍵と前記第２秘密鍵とを用いて生成された変換鍵を受信する第２受信部と、
前記変換鍵を用いて前記第２の値を第３の値に変換する変換部と、
前記第３の値を前記アプリケーションサーバに送信する送信部と、を備え、
前記第３の値は、前記アプリケーションサーバが前記第２秘密鍵を用いて当該第３の値を復号することで、複数の前記電力使用量を合算した値が得られる値であることを特徴とするデータ管理装置。
【請求項２】
前記第１の値は、前記第１秘密鍵と前記電力使用量が集計された時間帯を表す時刻情報とを用いて前記電力使用量を暗号化した値であり、
前記変換鍵は、前記第１秘密鍵と前記第２秘密鍵と前記時刻情報とを用いて生成された鍵情報であり、
前記第３の値は、前記第２秘密鍵と前記時刻情報とを用いて当該第３の値を復号することで、複数の前記電力使用量を合算した値が得られる値であることを特徴とする請求項１に記載のデータ管理装置。
【請求項３】
前記電力使用量をｄｔ、前記電力使用量の取り得る最大値をｄｔ＿ｍａｘ、前記第１秘密鍵と前記時刻情報とを用いて生成される鍵情報をＫ１、ｄｔ＋Ｋ１をｃ、ｃがｄｔ＿ｍａｘ以上であるか否かを示すフラグをｆｔとしたときに、
前記第１の値は、ｃがｄｔ＿ｍａｘ未満の場合は、ｃと、ｆｔ＝０とを組み合わせた値であり、ｃがｄｔ＿ｍａｘ以上の場合は、ｃ−ｄｔ＿ｍａｘと、ｆｔ＝１とを組み合わせた値であり、
前記第２の値は、複数のｃまたはｃ−ｄｔ＿ｍａｘを合算した値と、複数のｆｔを合算した値とを組み合わせた値であり、
複数のｃまたはｃ−ｄｔ＿ｍａｘを合算した値をＣ、複数のｆｔを合算した値をＦ、前記変換鍵をＫｃ、前記第２秘密鍵と前記時刻情報とを用いて生成される鍵情報をＫ２としたときに、
前記第３の値は、Ｃ−Ｋｃと、Ｆとを組み合わせた値であり、Ｃ−Ｋｃ−Ｋｃ＋Ｆ×ｄｔ＿ｍａｘにより複数の前記電力使用量を合算した値が得られることを特徴とする請求項２に記載のデータ管理装置。
【請求項４】
電力メータと、データ管理装置と、アプリケーションサーバと、鍵管理サーバと、を備える電力使用量計算システムであって、
前記電力メータは、
電気機器の単位時間あたりの電力使用量を集計する集計部と、
前記鍵管理サーバと共有する第１秘密鍵を用いて前記電力使用量を暗号化して第１の値を生成する第１生成部と、
前記第１の値を前記データ管理装置に送信する第１送信部と、を備え、
前記データ管理装置は、
前記電力メータから前記第１の値を受信する第１受信部と、
複数の前記第１の値を合算して第２の値を生成する第２生成部と、
前記鍵管理サーバから変換鍵を受信する第２受信部と、
前記変換鍵を用いて前記第２の値を第３の値に変換する変換部と、
前記第３の値を前記アプリケーションサーバに送信する第２送信部と、を備え、
前記アプリケーションサーバは、
前記データ管理装置から前記第３の値を受信する第３受信部と、
前記鍵管理サーバと共有する第２秘密鍵を用いて前記第３の値を復号し、複数の前記電力使用量を合算した値である第４の値を生成する第３生成部と、
前記第４の値を用いて所定のアプリケーションを実行する実行部と、を備え、
前記鍵管理サーバは、
前記データ管理装置からの要求に応じて、前記第１秘密鍵と前記第２秘密鍵とを用いて前記変換鍵を生成する第４生成部と、
前記変換鍵を前記データ管理装置に送信する第３送信部と、を備えることを特徴とする電力使用量計算システム。
【請求項５】
前記変換鍵は、複数の鍵要素を組み合わせた鍵情報であり、
前記第４生成部は、前記データ管理装置からの要求がある前に、複数の前記鍵要素の少なくともいずれかを事前に計算し、
前記鍵管理サーバは、前記第４生成部が事前に計算した前記鍵要素を記憶する記憶部をさらに備えることを特徴とする請求項４に記載の電力使用量計算システム。
【請求項６】
前記アプリケーションサーバを複数備え、
前記第４生成部は、複数の前記アプリケーションサーバの各々に対応する複数の前記変換鍵を生成し、
前記記憶部は、複数の前記アプリケーションサーバの各々に対応する複数の記憶領域を有し、
前記鍵管理サーバは、
前記第４生成部が事前に計算した前記鍵要素が複数の前記変換鍵で共通する鍵要素である場合に、該鍵要素を複数の前記記憶領域にそれぞれ記憶させる記憶制御部をさらに備えることを特徴とする請求項５に記載の電力使用量計算システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施の形態は、データ管理装置および電力使用量計算システムに関する。
【背景技術】
【０００２】
スマートグリッドと呼ばれる次世代電力網では、各家庭などの電力使用量の集計範囲ごとに、電気機器の電力使用量を集計する電力メータであるスマートメータ（Smart  Meter；以下、ＳＭという。）が設置される。ＳＭは、電力網を介してデータ管理装置であるメータデータ管理システム（Meter  Data  Management  System；以下、ＭＤＭＳという。）と通信する。ＭＤＭＳは、各家庭などに設置されたＳＭから、単位時間あたりの電力使用量を収集する。ＭＤＭＳが収集した単位時間あたりの電力使用量は、例えば、電力網に接続されたエネルギ管理システム（Energy  Management  System；以下、ＥＭＳという。）で利用される。ＥＭＳは、ＭＤＭＳに集まった複数の家庭などの電力使用量の総量に基づいて、管理対象エリア内の各家庭などに対して電力の使用を抑制するよう要求したり、電力網に接続される蓄電池の充放電を制御したりするなどの電力制御を行う。また、ＭＤＭＳが収集した電力使用量は、電力網に接続された課金サーバでも利用される。課金サーバは、ＭＤＭＳが収集した各家庭の所定期間における電力使用量の総量に基づいて、各家庭での電力の使用に対する課金処理を行う。このように、ＥＭＳや課金サーバなど（以下、これらを総称してアプリケーションサーバという。）では、所定のアプリケーションを実行するために、ＭＤＭＳがＳＭから収集した電力使用量の総量を利用する。このため、ＭＤＭＳは、ＳＭから収集した電力使用量を保持して、後にアプリケーションサーバで利用する電力使用量の総量を計算できるようにしている。
【０００３】
しかし、ＳＭで集計された電力使用量そのものをＭＤＭＳに保持させる構成であると、ＭＤＭＳの管理者やＭＤＭＳに侵入した不正なユーザによって電力使用量が盗み見されることで、家庭における活動の様子などを推察することが可能となり、プライバシの侵害に繋がる。そのため、ＳＭで集計した電力使用量そのものを隠蔽した状態でＭＤＭＳに保持させながら、アプリケーションサーバが必要とする電力使用量の総量を計算できるようにすることで、プライバシの保護を図ることが検討されている。電力使用量そのものを隠蔽した状態でＭＤＭＳに保持させるには、ＳＭにおいて電力使用量を暗号化することが有効であるが、この際、ＳＭに過大な負荷を与えないようにすることが求められる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１１２８６８号公報
【特許文献２】特開２０１２−０５８８５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、電力メータに過大な負荷を与えることなく電力メータが集計した電力使用量そのものを隠蔽してプライバシの保護を図りつつ、アプリケーションサーバが必要とする電力使用量の総量を計算できるデータ管理装置および電力使用量計算システムを提供することである。
【課題を解決するための手段】
【０００６】
実施形態のデータ管理装置は、電気機器の単位時間あたりの電力使用量を集計する電力メータと、複数の前記電力使用量を合算した値を用いて所定のアプリケーションを実行するアプリケーションサーバと、前記電力メータが保持する第１秘密鍵および前記アプリケーションサーバが保持する第２秘密鍵を保持する鍵管理サーバとに接続される。本実施形態のデータ管理装置は、第１受信部と、生成部と、第２受信部と、変換部と、送信部と、を備える。第１受信部は、前記電力メータから、前記第１秘密鍵を用いて前記電力使用量を暗号化した値である第１の値を受信する。生成部は、複数の前記第１の値を合算して第２の値を生成する。第２受信部は、前記鍵管理サーバから、前記第１秘密鍵と前記第２秘密鍵とを用いて生成された変換鍵を受信する。変換部は、前記変換鍵を用いて前記第２の値を第３の値に変換する。送信部は、前記第３の値を前記アプリケーションサーバに送信する。前記第３の値は、前記アプリケーションサーバが前記第２秘密鍵を用いて当該第３の値を復号することで、複数の前記電力使用量を合算した値が得られる値である。
【図面の簡単な説明】
【０００７】
【図１】実施形態に係る電力使用量計算システムの構成例を示すブロック図。
【図２】ＳＭの機能的構成の一例を示すブロック図。
【図３】ＭＤＭＳの機能的構成の一例を示すブロック図。
【図４】ＥＭＳの機能的構成の一例を示すブロック図。
【図５】課金サーバの機能的構成の一例を示すブロック図。
【図６】鍵管理サーバの機能的構成の一例を示すブロック図。
【図７】ＳＭにより実行される処理手順の一例を示すフローチャート。
【図８】ＳＭにより実行される処理手順の他の例を示すフローチャート。
【図９】ＥＭＳとＭＤＭＳと鍵管理サーバの処理手順を示すフローチャート。
【図１０】課金サーバとＭＤＭＳと鍵管理サーバの処理手順を示すフローチャート。
【図１１】鍵管理サーバの機能的構成の他の例を示すブロック図。
【図１２】第１変換鍵の鍵要素と第２変換鍵の鍵要素を概念的に示す模式図。
【図１３】変換鍵の鍵要素の事前計算の処理手順を示すフローチャート。
【発明を実施するための形態】
【０００８】
（電力使用量計算システムの概要）
まず、実施形態に係る電力使用量計算システムの概要について説明する。実施形態に係る電力使用量計算システムは、複数の集計範囲の各々に設置されたＳＭと、ＭＤＭＳと、アプリケーションサーバと、鍵管理サーバとを備える。
【０００９】
ＳＭは、集計範囲における電気機器の単位時間あたりの電力使用量を集計し、集計した単位時間あたりの電力使用量を自身の秘密鍵（第１秘密鍵）を用いて暗号化し、暗号文（第１の値）をＭＤＭＳに送信する。ＳＭが電力使用量の暗号化に用いる秘密鍵は、鍵管理サーバと共有されている。
【００１０】
ＭＤＭＳは、複数のＳＭから各々送信された暗号文を受信して保存する。この際、ＭＤＭＳに対しては、ＳＭが電力使用量の暗号化に用いる秘密鍵が秘匿されている。このため、ＳＭが集計した単位時間あたりの電力使用量がＭＤＭＳにおいて復号されることはなく、プライバシの保護が図られる。
【００１１】
また、ＭＤＭＳは、アプリケーションサーバからの要求に応じて、複数の暗号文を合算して合算暗号文（第２の値）を生成する。そして、ＭＤＭＳは、鍵管理サーバに対して変換鍵を要求し、この要求に対する応答として鍵管理サーバから送信された変換鍵を受信し、この変換鍵を用いて合算暗号文を変換合算暗号文（第３の値）に変換する。そして、ＭＤＭＳは、アプリケーションサーバからの要求に対する応答として、変換合算暗号文をアプリケーションサーバに送信する。
【００１２】
アプリケーションサーバは、ＭＤＭＳから送信された変換合算暗号文を受信し、この変換合算暗号文を自身の秘密鍵（第２秘密鍵）を用いて復号し、複数の電力使用量を合算した値である電力使用総量（第４の値）を生成する。そして、アプリケーションサーバは、生成した電力使用総量を用いて所定のアプリケーションを実行する。アプリケーションサーバが変換合算暗号文の復号に用いる秘密鍵は、鍵管理サーバと共有されている。
【００１３】
鍵管理サーバは、ＭＤＭＳからの要求に応じて変換鍵を生成し、生成した変換鍵を、ＭＤＭＳからの要求に対する応答としてＭＤＭＳに送信する。変換鍵は、ＳＭが電力使用量の暗号化に用いる秘密鍵と、アプリケーションサーバが変換合算暗号文の復号に用いる秘密鍵とを用いて生成される。変換鍵は、上述したように、ＳＭの秘密鍵で電力使用量を暗号化して得られる複数の暗号文を合算した合算暗号文を、アプリケーションサーバの秘密鍵を用いて複数の電力使用量を合算した値である電力使用総量に復号することができる変換合算暗号文に変換する鍵情報である。
【００１４】
以上のように、本実施形態に係る電力使用量計算システムによれば、ＭＤＭＳは電力使用量そのものを保存するのではなく、ＳＭの秘密鍵で電力使用量を暗号化して得られる暗号文を保存する。また、アプリケーションサーバからの要求に応じてＭＤＭＳにおいて行われる計算は、元の電力使用量を秘匿したままで行われる。したがって、ＭＤＭＳの管理者やＭＤＭＳに侵入した不正なユーザがＭＤＭＳから情報を取り出したとしても、電力使用量そのものが漏洩することはなく、プライバシの保護が図られる。また、ＳＭからＭＤＭＳに対して送信されるのは、ＳＭの秘密鍵で電力使用量を暗号化して得られる暗号文であり、ＭＤＭＳからアプリケーションサーバに対して送信されるのは、アプリケーションサーバの秘密鍵で電力使用総量を復号可能な変換合算暗号文である。したがって、ＳＭとＭＤＭＳの間の通信やＭＤＭＳとアプリケーションサーバとの間の通信が攻撃の対象となったとしても、電力使用量や電力使用総量が漏洩することはなく、プライバシの保護が図られる。
【００１５】
また、本実施形態に係る電力使用量計算システムによれば、ＳＭにおいて電力使用量の暗号化に用いられる秘密鍵や、アプリケーションサーバにおいて変換合算暗号文の復号に用いられる秘密鍵を鍵管理サーバが管理する。そして、管理サーバがこれらの秘密鍵を用いて生成した変換鍵を用いて、ＭＤＭＳが合算暗号文を変換合算暗号文に変換してアプリケーションサーバに送信し、アプリケーションサーバにおいて電力使用量の総量を得られるようにしている。したがって、ＳＭに過大な負荷を与えることなく、電力使用量そのものを隠蔽しながら、アプリケーションサーバで電力使用量の総量を得られるシステムを実現できる。
【００１６】
ＳＭで集計した電力使用量そのものを隠蔽した状態でＭＤＭＳに保持させながら、後にアプリケーションサーバで利用する電力使用量の総量を算出できるようにする方法としては、ＳＭとアプリケーションサーバとで共有する秘密鍵を用いて電力使用量を暗号化し、その暗号文をＭＤＭＳに保持させることが考えられる。しかし、この方法では、ＳＭはアプリケーションごとに異なる秘密鍵を用いて電力使用量を暗号化する必要があるためＳＭにおける負荷が大きくなる。これに対して、本実施形態に係る電力使用量計算システムによれば、アプリケーションの種類に関わらず、ＳＭは鍵管理サーバと共有する１つの秘密鍵を用いて電力使用量を暗号化すればよいため、ＳＭの負荷を小さくすることができる。
【００１７】
以下では、アプリケーションサーバとしてＥＭＳと課金サーバとを備えた電力使用量計算システムについて、さらに詳しく説明する。
【００１８】
ＥＭＳは、管理対象エリア内の複数のＳＭから収集した第１単位時間における複数の電力使用量の総量（以下、第１電力使用総量という。）に基づいて、管理対象エリアに対する電力制御を行う。ここで、第１単位時間とは、ＥＭＳが電力制御を実行する時間間隔を表し、例えば３０分などの時間間隔である。ＳＭが集計する電力使用量は、この第１単位時間あたりの電力使用量であるものとする。
【００１９】
課金サーバは、ＭＤＭＳが収集した各家庭などの第２単位時間における電力使用量の総量（以下、第２電力使用総量という。）に基づいて、各家庭などでの電力の使用に対する課金処理を行う。ここで、第２単位時間とは、課金サーバが課金処理を行う時間単位であり、通常１ヶ月である。第２単位時間は、第１単位時間の整数倍であり、１つのＳＭで第１単位時間ごとに集計された電力使用量を複数合算した値が第２電力使用総量となる。
【００２０】
なお、以下では、ＳＭは家庭における電力使用量を集計するものとして説明するが、ＳＭがオフィスビルなどの建物の電力使用量を集計する場合や、工場の電力使用量を集計する場合、地域における電力使用量を集計する場合であっても、同様の電力使用量計算システムを構築できる。また、アプリケーションサーバはＭＤＭＳや課金サーバに限定されるものではなく、電力使用量の総量を用いて所定のアプリケーションを実行する他のアプリケーションサーバを備えていてもよい。また、後述する電力使用量の暗号化処理は、ＳＭ以外の機器、例えばＳＭの集約器であるコンセントレータや、電力使用量を一時的に蓄積するＨＥＳ（Head  End  System）などで実施してもよい。
【００２１】
（第１実施形態）
図１は、第１実施形態に係る電力使用量計算システムの構成例を示すブロック図である。本実施形態に係る電力使用量計算システムは、図１に示すように、ＳＭ１０と、ＭＤＭＳ２０と、ＥＭＳ３０と、課金サーバ４０と、鍵管理サーバ５０とを備え、これらがネットワーク６０を介して接続される構成である。なお、図面の簡略化のため、ＳＭ１０は１つしか図示していないが、電力使用量計算システムには、複数のＳＭ１０が接続されている。ネットワーク６０とは、例えば、ＬＡＮ（Local  Area  Network）、イントラネット、イーサネット（登録商標）またはインターネットなどである。
【００２２】
ＳＭ１０は、各家庭に設置され、各家庭で使用される電気機器の電力使用量を集計する設備である。なお、各ＳＭ１０に対しては、これを識別するための識別情報（以下、ＳＭ＿ＩＤという。）が付与されており、各ＳＭ１０は当該ＳＭ１０に対して付与されたＳＭ＿ＩＤを記憶しているものとする。
【００２３】
ＭＤＭＳ２０は、ネットワーク６０を介して各家庭のＳＭ１０から電力使用量を収集して管理するシステムである。ＭＤＭＳ２０は、複数の装置で構成されていてもよいし、単体の装置として構成されていてもよい。以下では、ＭＤＭＳ２０は単体の装置として構成されているものとして説明する。
【００２４】
ＥＭＳ３０は、管理対象エリアにおける複数の家庭の第１単位時間における電力使用量の総量（第１電力使用総量）を把握し、第１電力使用総量と供給可能な電力量とのバランスを考慮して、管理対象エリア内の各家庭に対して、電力の使用を抑制するよう要求したり、電力網に接続される蓄電池の充放電を制御したりするなどの電力制御を行う。ＥＭＳ３０は、複数の装置で構成されていてもよいし、単体の装置として構成されていてもよい。以下では、ＥＭＳ３０は単体の装置として構成されているものとして説明する。
【００２５】
課金サーバ４０は、各家庭での第２単位時間における電力使用量の総量（第２電力使用総量）を把握し、各家庭のそれぞれに対して電力の使用に対する課金処理を行う。
【００２６】
鍵管理サーバ５０は、ＳＭ１０、ＥＭＳ３０および課金サーバ４０のそれぞれと秘密鍵を共有し、ＭＤＭＳ２０からの要求に応じて、これらの秘密鍵を用いて後述する変換鍵を生成してＭＤＭＳ２０に渡す。
【００２７】
なお、ＭＤＭＳ２０、ＥＭＳ３０、課金サーバ４０および鍵管理サーバ５０は各々、電力使用量計算システムに接続されるＳＭ１０のＳＭ＿ＩＤをすべて記憶しているものとする。また、ＳＭ１０が集計した第１単位時間における電力使用量に対しては、少なくともＳＭ＿ＩＤと、集計された時間帯を表す時刻情報とが対応付けられる。電力使用量の暗号文は、電力使用量に対応付けられた時刻情報も利用して生成される。ただし、電力使用量に対してＳＭ＿ＩＤや時刻情報に加えて他の情報をさらに対応付けて、他の情報をさらに用いて暗号文を生成するようにしてもよい。
【００２８】
ＳＭ１０、ＥＭＳ３０および課金サーバ４０のそれぞれは、電力使用量の暗号化および復号に用いるための独自の秘密鍵を保持しており、同じ秘密鍵を鍵管理サーバ５０も保持している。ＳＭ１０の秘密鍵は工場出荷時にＳＭ１０に埋め込まれていてもよいし、家庭に設置した際にＳＭ１０内部で生成されて、それがネットワーク６０を通じて鍵管理サーバ５０に送信されてもよいし、家庭に設置した後にネットワーク６０を通じて鍵管理サーバ５０から配信されてもよい。また、ＥＭＳ３０や課金サーバ４０の秘密鍵も、各々のアプリケーションが稼働する前に鍵管理サーバ５０から配信されてもよいし、その他の手段で渡してもよい。ＳＭ１０、ＥＭＳ３０および課金サーバ４０などの各主体と鍵管理サーバ５０のみが同じ秘密鍵を共有していればよく、共有する方法については特に限定されない。
【００２９】
このような構成の電力使用量計算システムにおいて、ＳＭ１０は、自身の秘密鍵を用いて第１単位時間における電力使用量を暗号化して暗号文を生成する。ＳＭ１０が生成した暗号文は、ネットワーク６０を介してＭＤＭＳ２０に送信される。
【００３０】
ＭＤＭＳ２０は、ＳＭ１０から送信された暗号文を受信して保持する。そして、ＭＤＭＳ２０は、ＥＭＳ３０からの要求に応じて、まず、ＥＭＳ３０の管理対象エリアに含まれる家庭のＳＭ１０から収集した複数の暗号文を合算した合算暗号文（以下、第１合算暗号文という。）を生成する。次に、ＭＤＭＳ２０は、第１合算暗号文をＥＭＳ３０において第１電力使用総量に復号可能な変換合算暗号文（以下、第１変換合算暗号文という。）に変換するための変換鍵（以下、第１変換鍵という。）の取得要求を、ネットワーク６０を介して鍵管理サーバ５０に送信する。そして、ＭＤＭＳ２０は、取得要求に対する応答として鍵管理サーバ５０からネットワーク６０を介して送信された第１変換鍵を受信し、この第１変換鍵を用いて第１合算暗号文を第１変換合算暗号文に変換する。そして、ＭＤＭＳ２０は、得られた第１変換合算暗号文を、ネットワーク６０を介してＥＭＳ３０に送信する。
【００３１】
また、ＭＤＭＳ２０は、課金サーバ４０からの要求に応じて、まず、指定された家庭のＳＭ１０から収集した第２単位時間に含まれる複数の暗号文を合算した合算暗号文（以下、第２合算暗号文という。）を生成する。次に、ＭＤＭＳ２０は、第２合算暗号文を課金サーバ４０において第２電力使用総量に復号可能な変換合算暗号文（以下、第２変換合算暗号文という。）に変換するための変換鍵（以下、第２変換鍵という。）の取得要求を、ネットワーク６０を介して鍵管理サーバ５０に送信する。そして、ＭＤＭＳ２０は、取得要求に対する応答として鍵管理サーバ５０からネットワーク６０を介して送信された第２変換鍵を受信し、この第２変換鍵を用いて第２合算暗号文を第２変換合算暗号文に変換する。そして、ＭＤＭＳ２０は、得られた第２変換合算暗号文を、ネットワーク６０を介して課金サーバ４０に送信する。
【００３２】
ＥＭＳ３０は、要求に対する応答としてＭＤＭＳ２０からネットワーク６０を介して送信された第１変換合算暗号文を受信し、この第１変換合算暗号文を自身の秘密鍵を用いて復号することにより、第１電力使用総量を生成する。そして、ＥＭＳ３０は、得られた第１電力使用総量に基づいて、管理対象エリアに対する電力制御を行う。
【００３３】
また、課金サーバ４０は、要求に対する応答としてＭＤＭＳ２０からネットワーク６０を介して送信された第２変換合算暗号文を受信し、この第２変換合算暗号文を自身の秘密鍵を用いて復号することにより、第２電力使用総量を生成する。そして、課金サーバ４０は、得られた第２電力使用総量に基づいて、対象となる家庭における電力の使用に対する課金処理を行う。
【００３４】
次に、ＳＭ１０、ＭＤＭＳ２０、ＥＭＳ３０、課金サーバ４０および鍵管理サーバ５０のハードウェア構成について説明する。
【００３５】
ＭＤＭＳ２０、ＥＭＳ３０、課金サーバ４０および鍵管理サーバ５０は、装置全体の制御や基本演算を実行するＣＰＵ（Central  Processing  Unit）などの制御部と、ＣＰＵのワークエリアとなるＲＡＭ（Random  Access  Memory）などの主記憶部と、各種データや各種プログラムを記憶するＲＯＭ（Read  Only  Memory）、ＨＤＤ（Hard  Disk  Drive）、ＣＤ（Compact  Disk）ドライブ装置などの補助記憶部と、これらを接続するバスとを備えており、通常のコンピュータを利用したハードウェア構成となっている。また、ＭＤＭＳ２０、ＥＭＳ３０、課金サーバ４０および鍵管理サーバ５０は、ネットワーク６０を介して通信を行うための通信Ｉ／Ｆ（Interface）をさらに備える。
【００３６】
ＳＭ１０は、装置全体を制御するＣＰＵなどの制御部と、ＣＰＵのワークエリアとなるＲＡＭなどの主記憶部と、各種データや各種プログラムを記憶するＲＯＭや不揮発性メモリなどの補助記憶部と、これらを接続するバスとを備えており、専用ハードウェアあるいは組み込み機器と同様の構成となっている。また、ＳＭ１０は、ネットワーク６０を介して通信を行うための通信Ｉ／Ｆをさらに備える。さらに、ＳＭ１０には、電力使用量などの各種情報を表示する表示部と、ユーザの操作が入力される操作ボタンやキーボードなどの操作入力部とが接続される。
【００３７】
次に、このようなハードウェア構成において、ＳＭ１０、ＭＤＭＳ２０、ＥＭＳ３０、課金サーバ４０および鍵管理サーバ５０のそれぞれにおいて実現される各種機能について説明する。
【００３８】
まず、ＳＭ１０において実現される各種機能について説明する。図２は、ＳＭ１０の機能的構成の一例を示すブロック図である。ＳＭ１０は、例えば図２に示すように、通信制御部１１と、暗号化部１２と、電力使用量記憶部１３と、電力使用量計測部１４と、秘密鍵記憶部１５とを備える。通信制御部１１の機能は、通信Ｉ／Ｆと、ＣＰＵが実行する各種プログラムにより実現される。暗号化部１２および電力使用量計測部１４の各機能は、ＣＰＵが実行する各種プログラムにより実現される。電力使用量記憶部１３および秘密鍵記憶部１５はそれぞれ、例えば補助記憶部に確保される記憶領域である。
【００３９】
通信制御部１１は、ＭＤＭＳ２０との間のネットワーク６０を介した通信を制御する。具体的には、通信制御部１１は、ＭＤＭＳ２０から送信された制御コマンドを受信したり、後述の暗号化部１２が電力使用量記憶部１３に記憶された電力使用量を暗号化して得られる暗号文をＭＤＭＳ２０に送信したりする（第１送信部）。
【００４０】
電力使用量計測部１４は、家庭における電気機器の電力使用量を第１単位時間ごとに集計する（集計部）。そして、電力使用量計測部１４は、集計した電力使用量を電力使用量記憶部１３に記憶させる。また、電力使用量計測部１４は、通信制御部１１が受信した制御コマンドに応じて、電力使用量の集計を開始したり、その集計を中止したりする。
【００４１】
電力使用量記憶部１３は、電力使用量計測部１４が集計した第１単位時間ごとの電力使用量を記憶する。電力使用量記憶部１３に記憶された電力使用量は第１所定時間後に削除される。ここで第１所定時間とは、ＳＭ１０の記憶領域のサイズなどに依存する時間であり、例えば２週間であったり３０日であったりする。
【００４２】
暗号化部１２は、電力使用量記憶部１３が記憶する第１単位時間ごとの電力使用量を、秘密鍵記憶部１５に記憶された秘密鍵を用いて暗号化して暗号文を生成する（第１生成部）。本実施形態においては、電力使用量の暗号化には、鍵管理サーバ５０と共有した秘密鍵を利用したストリーム暗号方式を用いる。電力使用量の暗号化の詳細は後述する。
【００４３】
秘密鍵記憶部１５は、電力使用量を暗号化して暗号文を生成するための秘密鍵を記憶する。
【００４４】
ここで、秘密鍵について説明する。秘密鍵は、ＳＭ１０と鍵管理サーバ５０との間のみで共有される秘密鍵Ｋｓｍと、ＥＭＳ３０と鍵管理サーバ５０との間のみで共有される秘密鍵Ｋｅと、課金サーバ４０と鍵管理サーバ５０との間のみで共有される秘密鍵Ｋｐとが存在する。このうち、秘密鍵Ｋｓｍが、ＳＭ１０の秘密鍵記憶部１５に記憶される。なお、複数のＳＭ１０の間では、秘密鍵Ｋｓｍは互いに異なる値とする。
【００４５】
暗号化部１２は、秘密鍵Ｋｓｍを電力使用量の暗号化に直接用いるのではなく、秘密鍵Ｋｓｍと上述した時刻情報とを用いて一時鍵を生成して、この一時鍵を用いて電力使用量を暗号化する。時刻情報の例としては、「２０１２年１月１日」や「１４：３５：４６，１／１／２０１２」やＵＮＩＸ（登録商標）時刻（１９７０年１月１日０時０分０秒（ＧＭＴ）を起点とし、それから経過した秒数）などが挙げられる。秘密鍵をＫｓｍ、時刻情報をｔとしたときに一時鍵Ｋｓｍ＿ｔは、下記式（１）により計算される。
Ｋｓｍ＿ｔ＝ｈ（Ｋｓｍ，ｔ）  ・・・（１）
ここで、ｈ（ｘ，ｙ）はｘとｙを入力とする一方向性関数あるいは鍵付きハッシュ関数であり、一方向性関数の例としてはｓｈａ−１やｍｄ５、ｓｈａ２５６など、また鍵付きハッシュ関数としてはｈｍａｃなどが挙げられる。
【００４６】
次に、暗号化部１２が行う暗号化の方法の具体例について説明する。本実施形態において使用する暗号化の方法は、準同型性を有する。データｄを暗号化鍵ｅｋ＿Ｐで暗号化する暗号化Ｅｎｃ＿Ｐ（ｅｋ＿Ｐ，ｄ）が準同型であるとは、データｄとｄ’について、Ｅｎｃ＿Ｐ（ｅｋ＿Ｐ，ｄ）＊Ｅｎｃ＿Ｐ（ｅｋ＿Ｐ，ｄ’）＝Ｅｎｃ＿Ｐ（ｅｋ＿Ｐ，ｄ＋ｄ’）を満たすことをいう。ここで、＋は算術加算を表し、＊は適切な演算子を表す。このような暗号化の方法としては、例えば、十分に大きな基数を用いるシーザー暗号や、以下の参考文献１に記載された暗号化などがあり、＊はそれぞれ、剰余環での加算および剰余乗算を表す。
（参考文献１）Pascal  Paillier，Public-Key  Cryptosystems  Based  on  Composite  Degree  Residuosity  Classes，EUROCRYPT  1999，pp223-238
【００４７】
ここで、電力使用量を暗号化して暗号文を生成する手順の具体的な一例について説明する。時刻情報ｔで示される第１単位時間において電力使用量計測部１４で集計された電力使用量をｄｔとする。暗号化部１２は、まず下記式（２）に従って、ｃｔを計算する。
ｃｔ＝ｄｔ＋ＫｓｍＳＴ＿ｔ（ｍｏｄ  α）  ・・・（２）
ここで、ＫｓｍＳＴ＿ｔは、時刻情報ｔを用いて得られる一時鍵Ｋｓｍ＿ｔを入力としてストリーム暗号を動作させることによって得られる鍵系列（ＫｓｍＳＴ＿ｔ＝ＳＴ（Ｋｓｍ＿ｔ）、ＳＴ（・）はストリーム暗号）である。ストリーム暗号ＳＴ（・）としては、例えば、ＲＣ４を用いたり、ブロック暗号の利用モードとしてＯＦＢ，ＣＦＢ，ＣＴＲモードで動作させたりすることで実現できる。また、パラメータαは大きな素数であり、暗号化を行う主体と、暗号文の変換を行う主体と、復号を行う主体との間で共有している必要がある。
【００４８】
なお、処理の簡略化のために、ＫｓｍＳＴ＿ｔ＝Ｋｓｍ＿ｔとしてもよい。つまり、秘密鍵Ｋｓｍと時刻情報ｔとを用いて得られる一時鍵Ｋｓｍ＿ｔをそのまま電力使用量ｄｔに算術加算してｃｔを計算することで処理の簡略化を図るようにしてもよい。この簡略化は、後述の変換鍵の生成や復号処理の際にも適用してもよい。
【００４９】
なお、時刻情報ｔは、以降の処理において必要な情報となるため、暗号文に付随してＭＤＭＳ２０に送信する必要がある。このため、ＳＭ１０がＭＤＭＳ２０に送信するデータＣｓｍ＿ｔは、下記式（３）で示されるように、暗号文ｃｔと時刻情報ｔとを対応付けたデータとなる。
Ｃｓｍ＿ｔ＝（ｃｔ，ｔ）  ・・・（３）
以下では、暗号文ｃｔと時刻情報ｔとを対応付けたデータＣｓｍ＿ｔ＝（ｃｔ，ｔ）を、電力使用量の暗号文として扱うものとする。
【００５０】
次に、ＭＤＭＳ２０において実現される各種機能について説明する。図３は、ＭＤＭＳ２０の機能的構成の一例を示すブロック図である。ＭＤＭＳ２０は、例えば図３に示すように、通信制御部２１と、変換鍵取得要求生成部２２と、電力使用量記憶部２３と、合算部２４と、変換部２５とを備える。通信制御部２１の機能は、通信Ｉ／Ｆと、ＣＰＵが実行する各種プログラムにより実現される。変換鍵取得要求生成部２２、合算部２４および変換部２５の各機能は、ＣＰＵが実行する各種プログラムにより実現される。電力使用量記憶部２３は、例えば補助記憶部に確保される記憶領域である。
【００５１】
通信制御部２１は、ＳＭ１０やＥＭＳ３０や課金サーバ４０や鍵管理サーバ５０などの他の機器との間のネットワーク６０を介した通信を制御する。具体的には、通信制御部２１は、第１単位時間ごとにＳＭ１０から電力使用量の暗号文を受信したり（第１受信部）、鍵管理サーバ５０に対して、第１変換鍵や第２変換鍵の取得要求を送信したり、この取得要求に対する応答として鍵管理サーバ５０から送信された第１変換鍵や第２変換鍵を受信したりする（第２受信部）。また、通信制御部２１は、ＳＭ１０に制御コマンドを送信したり、ＥＭＳ３０から第１変換合算暗号文の取得要求を受信したり、この取得要求に対する応答として後述の変換部２５により生成された第１変換合算暗号文をＥＭＳ３０に送信したり（第２送信部）、課金サーバ４０から第２変換合算暗号文の取得要求を受信したり、この取得要求に対する応答として後述の変換部２５により生成された第２変換合算暗号文を課金サーバ４０に送信したりする（第２送信部）。なお、ＳＭ１０に送信する制御コマンドとは、例えば、電力使用量の計測の中止やその開始、電力使用量の送信などを指示するコマンドである。
【００５２】
電力使用量記憶部２３は、通信制御部２１がＳＭ１０から受信した第１単位時間ごとの電力使用量の暗号文を記憶する。
【００５３】
合算部２４は、ＥＭＳ３０からの要求に応じて、ＥＭＳ３０の管理対象エリアに含まれるすべての家庭のＳＭ１０から収集して電力使用量記憶部２３に記憶された複数の第１単位時間の電力使用量の暗号文を合算し、第１合算暗号文を生成する（第２生成部）。また、合算部２４は、課金サーバ４０からの要求に応じて、課金対象として指定された家庭のＳＭ１０から収集して電力使用量記憶部２３に記憶された第２単位時間に相当する複数の電力使用量の暗号文を合算し、第２合算暗号文を生成する（第２生成部）。
【００５４】
変換鍵取得要求生成部２２は、合算部２４が生成した第１合算暗号文を第１変換合算暗号文に変換するための第１変換鍵の取得要求や、合算部２４が生成した第２合算暗号文を第２変換合算暗号文に変換するための第２変換鍵の取得要求を生成する。第１変換鍵の取得要求Ｒｅｑ１には、ＥＭＳ３０の識別情報と、ＥＭＳ３０により指定されたすべての家庭（管理対象エリアに含まれるすべての家庭）のＳＭ１０のＳＭ＿ＩＤと、ＥＭＳ３０により指定された時刻情報ｔとが含まれる。一方、第２変換鍵の取得要求Ｒｅｑ２には、課金サーバ４０の識別情報と、課金サーバ４０により指定された家庭（課金対象となる家庭）のＳＭ１０のＳＭ＿ＩＤと、課金サーバ４０により指定された第２単位時間（例えば１ヶ月）内のすべての第１単位時間の時刻情報ｔ１，ｔ２，・・・，ｔｎとが含まれる。
【００５５】
変換鍵取得要求生成部２２により生成された第１変換鍵の取得要求Ｒｅｑ１は、通信制御部２１からネットワーク６０を介して鍵管理サーバ５０に送信される。そして、この第１変換鍵の取得要求Ｒｅｑ１に対する応答として鍵管理サーバ５０からネットワーク６０を介して送信された第１変換鍵は、通信制御部２１により受信される。また、変換鍵取得要求生成部２２により生成された第２変換鍵の取得要求Ｒｅｑ２は、通信制御部２１からネットワーク６０を介して鍵管理サーバ５０に送信される。そして、この第２変換鍵の取得要求Ｒｅｑ２に対する応答として鍵管理サーバ５０からネットワーク６０を介して送信された第２変換鍵は、通信制御部２１により受信される。
【００５６】
変換部２５は、鍵管理サーバ５０から送信された第１変換鍵を用いて、合算部２４が生成した第１合算暗号文を第１変換合算暗号文に変換する。また、変換部２５は、鍵管理サーバ５０から送信された第２変換鍵を用いて、合算部２４が生成した第２合算暗号文を第２変換合算暗号文に変換する。変換部２５が生成した第１変換合算暗号文は、ＥＭＳ３０からの第１変換合算暗号文の取得要求に対する応答として、通信制御部２１からネットワーク６０を介してＥＭＳ３０に送信される。また、変換部２５が生成した第２変換合算暗号文は、課金サーバ４０からの第２変換合算暗号文の取得要求に対する応答として、通信制御部２１からネットワーク６０を介して課金サーバ４０に送信される。
【００５７】
ここで、複数の暗号文を合算して合算暗号文を生成する手順、および変換鍵を用いて合算暗号文を変換合算暗号文に変換する手順の具体的な一例について説明する。まず、合算部２４が第１合算暗号文を生成する手順の一例を説明する。ここでは、合算の対象となるＳＭ１０が３つであるものとして説明する。３つのＳＭ１０をそれぞれＳＭ１０ａ，ＳＭ１０ｂ，ＳＭ１０ｃとする。ＳＭ１０ａ，ＳＭ１０ｂ，ＳＭ１０ｃそれぞれの時刻情報ｔで示される第１単位時間における電力使用量の暗号文をＣｓｍ＿ａ＿ｔ，Ｃｓｍ＿ｂ＿ｔ，Ｃｓｍ＿ｃ＿ｔとすると、これらは下記式（４）〜（６）のように表すことができる。
Ｃｓｍ＿ａ＿ｔ＝（ｃｔ＿ａ，ｔ）  ・・・（４）
Ｃｓｍ＿ｂ＿ｔ＝（ｃｔ＿ｂ，ｔ）  ・・・（５）
Ｃｓｍ＿ｃ＿ｔ＝（ｃｔ＿ｃ，ｔ）  ・・・（６）
このとき、第１合算暗号文をＣｓｍ＿１Ａ（ａｂｃ）＿（ｔ）とすると、合算部２４は、下記式（７）を用いて第１合算暗号文を求めることができる。
Ｃｓｍ＿１Ａ（ａｂｃ）＿（ｔ）＝（Ｃ１Ａ＿ｃ，ｔ）  ・・・（７）
ただし、Ｃ１Ａ＿ｃ＝ｃｔ＿ａ＋ｃｔ＿ｂ＋ｃｔ＿ｃ（ｍｏｄ  α）である。
【００５８】
次に、合算部２４が第２合算暗号文を生成する手順の一例を説明する。課金対象の家庭のＳＭ１０をＳＭ１０ａとし、第２単位時間内のすべての第１単位時間の時刻情報をｔ１，ｔ２，・・・，ｔｎとする。各時刻情報ｔ１，ｔ２，・・・，ｔｎで示される第１単位時間における電力使用量の暗号文をＣｓｍ＿ａ＿ｔ１，Ｃｓｍ＿ａ＿ｔ２，・・・，Ｃｓｍ＿ａ＿ｔｎとすると、これらは下記式（８）〜（１０）のように表すことができる。
Ｃｓｍ＿ａ＿ｔ１＝（ｃｔ＿ｔ１＿ａ，ｔ１）  ・・・（８）
Ｃｓｍ＿ａ＿ｔ２＝（ｃｔ＿ｔ２＿ａ，ｔ２）  ・・・（９）
・・・
Ｃｓｍ＿ａ＿ｔｎ＝（ｃｔ＿ｔｎ＿ａ，ｔｎ）  ・・・（１０）
このとき、第２合算暗号文をＣｓｍ＿２Ａ（ａ）＿（ｔ１，ｔ２，・・・，ｔｎ）とすると、合算部２４は、下記式（１１）を用いて第２合算暗号文を求めることができる。
Ｃｓｍ＿２Ａ（ａ）＿（ｔ１，ｔ２，・・・，ｔｎ）＝（Ｃ２Ａ＿ｃ，ｔ１，ｔ２，・・・，ｔｎ）  ・・・（１１）
ただし、Ｃ２Ａ＿ｃ＝ｃｔ＿ｔ１＿ａ＋ｃｔ＿ｔ２＿ａ＋・・・＋ｃｔ＿ｔｎ＿ａ（ｍｏｄ  α）である。
【００５９】
次に、変換部２５が第１合算暗号文を第１変換合算暗号文に変換する手順の一例を説明する。鍵管理サーバ５０から受信した第１変換鍵をＫ（ａ，ｂ，ｃ，ｔ）とする。なお、第１変換鍵を生成する方法の具体例については後述する。このとき、第１変換合算暗号文をＣｓｍ＿１Ｂ（ａｂｃ）＿（ｔ）とすると、変換部２５は、下記式（１２）を用いて第１変換合算暗号文を求めることができる。
Ｃｓｍ＿１Ｂ（ａｂｃ）＿（ｔ）＝（Ｃ１Ｂ＿ｃ，ｔ）  ・・・（１２）
ただし、Ｃ１Ｂ＿ｃ＝Ｃ１Ａ＿ｃ−Ｋ（ａ，ｂ，ｃ，ｔ）（ｍｏｄ  α）である。
【００６０】
最後に、第２合算暗号文を第２変換合算暗号文に変換する手順の一例を説明する。鍵管理サーバ５０から受信した第２変換鍵をＫ（ａ，ｔ１，ｔ２，・・・，ｔｎ）とする。なお、第２変換鍵を生成する方法の具体例については後述する。このとき、第２変換合算暗号文をＣｓｍ＿２Ｂ（ａ）＿（ｔ１，ｔ２，・・・，ｔｎ）とすると、変換部２５は、下記式（１３）を用いて第２変換合算暗号文を求めることができる。
Ｃｓｍ＿２Ｂ（ａ）＿（ｔ１，ｔ２，・・・，ｔｎ）＝（Ｃ２Ｂ＿ｃ，ｔ１，ｔ２，・・・，ｔｎ）  ・・・（１３）
ただし、Ｃ２Ｂ＿ｃ＝Ｃ２Ａ＿ｃ−Ｋ（ａ，ｔ１，ｔ２，・・・，ｔｎ）（ｍｏｄ  α）である。
【００６１】
次に、ＥＭＳ３０において実現される各種機能について説明する。図４は、ＥＭＳ３０の機能的構成の一例を示すブロック図である。ＥＭＳ３０は、例えば図４に示すように、通信制御部３１と、復号部３２と、秘密鍵記憶部３３と、地域電力データ記憶部３４と、電力制御実行部３５とを備える。通信制御部３１の機能は、通信Ｉ／Ｆと、ＣＰＵが実行する各種プログラムにより実現される。復号部３２および電力制御実行部３５の各機能は、ＣＰＵが実行する各種プログラムにより実現される。秘密鍵記憶部３３および地域電力データ記憶部３４は、例えば補助記憶部に確保される記憶領域である。
【００６２】
通信制御部３１は、ＭＤＭＳ２０との間のネットワーク６０を介した通信を制御する。具体的には、通信制御部３１は、ＭＤＭＳ２０に対して第１変換合算暗号文の取得要求を送信したり、この取得要求に対する応答としてＭＤＭＳ２０から送信された第１変換合算暗号文を受信したりする（第３受信部）。通信制御部３１がＭＤＭＳ２０に送信する第１変換合算暗号文の取得要求には、管理対象エリアに含まれるすべての家庭のＳＭ１０のＳＭ＿ＩＤと、第１電力使用総量を求める対象となる時刻情報ｔとが含まれる。
【００６３】
秘密鍵記憶部３３は、鍵管理サーバ５０と共有する上述した秘密鍵Ｋｅを記憶する。
【００６４】
地域電力データ記憶部３４は、通信制御部３１が受信した第１変換合算暗号文や、後述の復号部３２が秘密鍵Ｋｅを用いて第１変換合算暗号文を復号することで得られる第１電力使用総量を記憶する。
【００６５】
復号部３２は、秘密鍵記憶部３３に記憶された秘密鍵Ｋｅを用いて、通信制御部３１が受信した第１変換合算暗号文を復号することにより、第１電力使用総量を生成する（第３生成部）。
【００６６】
ここで、復号部３２が秘密鍵Ｋｅを用いて第１変換合算暗号文を復号して第１電力使用総量を生成する手順の具体的な一例について説明する。ここでは、通信制御部３１が、ＭＤＭＳ２０から第１変換合算暗号文Ｃｓｍ＿１Ｂ（ａｂｃ）＿（ｔ）＝（Ｃ１Ｂ＿ｃ，ｔ）を受信した場合を例示する。
【００６７】
復号部３２は、ＭＤＭＳ２０から受信した第１変換合算暗号文に含まれる時刻情報ｔと自身の秘密鍵Ｋｅとを用いて、まず下記式（１４）で示す計算を行う。
Ｋｅ＿ｔ＝ｈ（Ｋｅ，ｔ）  ・・・（１４）
なお、ｈ（ｘ，ｙ）は、上述したようにｘとｙを入力とする一方向性関数あるいは鍵付きハッシュ関数である。
ただし、暗号化の際にストリーム暗号を用いる場合には、式（１４）の計算に代えて、下記式（１５）の計算を行う。
Ｋｅ＿ｔ＝ＳＴ（ｈ（Ｋｅ，ｔ））  ・・・（１５）
【００６８】
次に、復号部３２は、式（１４）あるいは式（１５）で求めたＫｅ＿ｔを用いて下記式（１６）で示す計算を行い、第１電力使用総量ｄ＿ＥＭＳを得る。
ｄ＿ＥＭＳ＝Ｃ１Ｂ＿ｃ−Ｋｅ＿ｔ（ｍｏｄ  α）  ・・・（１６）
【００６９】
電力制御実行部３５は、復号部３２が生成した第１電力使用総量に基づいて、管理対象エリアに対する電力制御を行う（実行部）。電力制御とは、例えば、第１電力使用総量が上限値を超えている場合に、管理対象エリア内の各家庭に対して電力の使用を抑制するよう要求したり、電力網に接続される蓄電池の放電を促したり、第１電力使用総量が下限値を下回っている場合に、電力網に接続される蓄電池に余剰の供給電力を蓄電したりする制御である。
【００７０】
次に、課金サーバ４０において実現される各種機能について説明する。図５は、課金サーバ４０の機能的構成の一例を示すブロック図である。課金サーバ４０は、例えば図５に示すように、通信制御部４１と、復号部４２と、秘密鍵記憶部４３と、課金データ記憶部４４と、課金処理実行部４５とを備える。通信制御部４１の機能は、通信Ｉ／Ｆと、ＣＰＵが実行する各種プログラムにより実現される。復号部４２および課金処理実行部４５の各機能は、ＣＰＵが実行する各種プログラムにより実現される。秘密鍵記憶部４３および課金データ記憶部４４は、例えば補助記憶部に確保される記憶領域である。
【００７１】
通信制御部４１は、ＭＤＭＳ２０との間のネットワーク６０を介した通信を制御する。具体的には、通信制御部４１は、ＭＤＭＳ２０に対して第２変換合算暗号文の取得要求を送信したり、この取得要求に対する応答としてＭＤＭＳ２０から送信された第２変換合算暗号文を受信したりする（第３受信部）。通信制御部４１がＭＤＭＳ２０に送信する第２変換合算暗号文の取得要求には、課金対象となる家庭のＳＭ１０のＳＭ＿ＩＤと、課金対象となる第２単位時間内のすべての第１単位時間の時刻情報ｔ１，ｔ２，・・・，ｔｎとが含まれる。
【００７２】
秘密鍵記憶部４３は、鍵管理サーバ５０と共有する上述した秘密鍵Ｋｐを記憶する。
【００７３】
課金データ記憶部４４は、通信制御部４１が受信した第２変換合算暗号文や、後述の復号部４２が秘密鍵Ｋｐを用いて第２変換合算暗号文を復号することで得られる第２電力使用総量を記憶する。
【００７４】
復号部４２は、秘密鍵記憶部４３に記憶された秘密鍵Ｋｐを用いて、通信制御部４１が受信した第２変換合算暗号文を復号することにより、第２電力使用総量を生成する（第３生成部）。
【００７５】
ここで、復号部４２が秘密鍵Ｋｐを用いて第２変換合算暗号文を復号して第２電力使用総量を生成する手順の具体的な一例について説明する。ここでは、通信制御部４１が、ＭＤＭＳ２０から第２変換合算暗号文Ｃｓｍ＿２Ｂ（ａ）＿（ｔ１，ｔ２，・・・，ｔｎ）＝（Ｃ２Ｂ＿ｃ，ｔ１，ｔ２，・・・，ｔｎ）を受信した場合を例示する。
【００７６】
復号部４２は、ＭＤＭＳ２０から受信した第２変換合算暗号文に含まれる時刻情報ｔ１，ｔ２，・・・，ｔｎと自身の秘密鍵Ｋｐとを用いて、まず下記式（１７）で示す計算を行う。
Ｋｐ＿（ｔ１，ｔ２，・・・，ｔｎ）＝ｈ（Ｋｐ，ｔ１，ｔ２，・・・，ｔｎ）  ・・・（１７）
ここで、ｈ（ａ，ｂ１，・・・，ｂｎ）は、ａ，ｂ１，・・・，ｂｎを入力とする一方向性関数あるいは鍵付きハッシュ関数である。
ただし、暗号化の際にストリーム暗号を用いる場合には、式（１７）の計算に代えて、下記式（１８）の計算を行う。
Ｋｐ＿（ｔ１，ｔ２，・・・，ｔｎ）＝ＳＴ（ｈ（Ｋｐ，ｔ１，ｔ２，・・・，ｔｎ））  ・・・（１８）
【００７７】
次に、復号部４２は、式（１７）あるいは式（１８）で求めたＫｐ＿（ｔ１，ｔ２，・・・，ｔｎ）を用いて下記式（１９）で示す計算を行い、第２電力使用総量ｄ＿ｐａｙを得る。
ｄ＿ｐａｙ＝Ｃ２Ｂ＿ｃ−Ｋｐ＿（ｔ１，ｔ２，・・・，ｔｎ）（ｍｏｄ  α）  ・・・（１９）
【００７８】
課金処理実行部４５は、復号部４２が生成した第２電力使用総量に基づいて、課金対象となる家庭の第２単位時間における電力の使用に対する課金処理を行う（実行部）。
【００７９】
次に、鍵管理サーバ５０において実現される各種機能について説明する。図６は、鍵管理サーバ５０の機能的構成の一例を示すブロック図である。鍵管理サーバ５０は、例えば図６に示すように、通信制御部５１と、変換鍵生成部５２と、秘密鍵記憶部５３とを備える。通信制御部５１の機能は、通信Ｉ／Ｆと、ＣＰＵが実行する各種プログラムにより実現される。変換鍵生成部５２の機能は、ＣＰＵが実行する各種プログラムにより実現される。秘密鍵記憶部５３は、例えば補助記憶部に確保される記憶領域である。
【００８０】
通信制御部５１は、ＭＤＭＳ２０との間のネットワーク６０を介した通信を制御する。具体的には、通信制御部５１は、ＭＤＭＳ２０から送信された第１変換鍵の取得要求や第２変換鍵の取得要求を受信したり、これらの取得要求に対する応答として後述の変換鍵生成部５２で生成された第１変換鍵や第２変換鍵をＭＤＭＳ２０に送信したりする（第３送信部）。
【００８１】
秘密鍵記憶部５３は、ＳＭ１０と共有する上述した秘密鍵Ｋｓｍと、ＥＭＳ３０と共有する上述した秘密鍵Ｋｅと、課金サーバ４０と共有する上述した秘密鍵Ｋｐとを記憶する。
【００８２】
変換鍵生成部５２は、ＭＤＭＳ２０からの第１変換鍵の取得要求に応じて、この取得要求に含まれるすべてのＳＭ１０のＳＭ＿ＩＤおよび時刻情報ｔと、秘密鍵記憶部５３が記憶する秘密鍵Ｋｓｍおよび秘密鍵Ｋｅとを用いて、第１変換鍵を生成する（第４生成部）。また、変換鍵生成部５２は、ＭＤＭＳ２０からの第２変換鍵の取得要求に応じて、この取得要求に含まれるＳＭ１０のＳＭ＿ＩＤおよびすべての時刻情報ｔ１，ｔ２，・・・，ｔｎと、秘密鍵記憶部５３が記憶する秘密鍵Ｋｓｍおよび秘密鍵Ｋｐとを用いて、第２変換鍵を生成する（第４生成部）。変換鍵生成部５２が生成した第１変換鍵や第２変換鍵は、第１変換鍵や第２変換鍵の取得要求に対する応答として、通信制御部５１からネットワーク６０を介してＭＤＭＳ２０に送信される。
【００８３】
ここで、変換鍵生成部５２が第１変換鍵や第２変換鍵を生成する手順の具体的な一例について説明する。まず、ＭＤＭＳ２０からの第１変換鍵の取得要求に応じて第１変換鍵を生成する手順の一例を説明する。ＭＤＭＳ２０から送信される第１変換鍵の取得要求Ｒｅｑ１には、上述したように、ＥＭＳ３０の識別情報と、ＥＭＳ３０により指定されたすべての家庭（管理対象エリアに含まれるすべての家庭）のＳＭ１０（ここでは、ＳＭ１０ａ，ＳＭ１０ｂ，ＳＭ１０ｃであるものとする。）のＳＭ＿ＩＤと、ＥＭＳ３０により指定された時刻情報ｔとが含まれる。
【００８４】
変換鍵生成部５２は、まず、ＥＭＳ３０の識別情報と対応付けて秘密鍵記憶部５３に記憶されている秘密鍵Ｋｅと、ＳＭ１０ａ，ＳＭ１０ｂ，ＳＭ１０ｃのそれぞれのＳＭ＿ＩＤと対応付けて秘密鍵記憶部５３に記憶されている秘密鍵Ｋｓｍ＿ａ，Ｋｓｍ＿ｂ，Ｋｓｍ＿ｃとを取り出す。そして、変換鍵生成部５２は、これらの秘密鍵と時刻情報ｔとを用いて、下記式（２０）に示すように、第１変換鍵Ｋ（ａ，ｂ，ｃ，ｔ）を生成する。
Ｋ（ａ，ｂ，ｃ，ｔ）＝ｈ（Ｋｓｍ＿ａ，ｔ）＋ｈ（Ｋｓｍ＿ｂ，ｔ）＋ｈ（Ｋｓｍ＿ｃ，ｔ）−ｈ（Ｋｅ，ｔ）（ｍｏｄ  α）  ・・・（２０）
ただし、暗号化の際にストリーム暗号を用いる場合には、第１変換鍵Ｋ（ａ，ｂ，ｃ，ｔ）は下記式（２１）の計算で生成する。
Ｋ（ａ，ｂ，ｃ，ｔ）＝ＳＴ（ｈ（Ｋｓｍ＿ａ，ｔ））＋ＳＴ（ｈ（Ｋｓｍ＿ｂ，ｔ））＋ＳＴ（ｈ（Ｋｓｍ＿ｃ，ｔ））−ＳＴ（ｈ（Ｋｅ，ｔ））（ｍｏｄ  α）  ・・・（２１）
【００８５】
次に、ＭＤＭＳ２０からの第２変換鍵の取得要求に応じて第２変換鍵を生成する手順の一例を説明する。ＭＤＭＳ２０から送信される第２変換鍵の取得要求Ｒｅｑ２には、上述したように、課金サーバ４０の識別情報と、課金サーバ４０により指定された家庭（課金対象となる家庭）のＳＭ１０（ここでは、ＳＭ１０ａであるものとする。）のＳＭ＿ＩＤと、課金サーバ４０により指定された第２単位時間内のすべての第１単位時間の時刻情報ｔ１，ｔ２，・・・，ｔｎとが含まれる。
【００８６】
変換鍵生成部５２は、まず、課金サーバ４０の識別情報と対応付けて秘密鍵記憶部５３に記憶されている秘密鍵Ｋｐと、ＳＭ１０ａのＳＭ＿ＩＤと対応付けて秘密鍵記憶部５３に記憶されている秘密鍵Ｋｓｍ＿ａとを取り出す。そして、変換鍵生成部５２は、これらの秘密鍵と時刻情報ｔ１，ｔ２，・・・，ｔｎとを用いて、下記式（２２）に示すように、第２変換鍵Ｋ（ａ，ｔ１，ｔ２，・・・，ｔｎ）を生成する。
Ｋ（ａ，ｔ１，ｔ２，・・・，ｔｎ）＝ｈ（Ｋｓｍ＿ａ，ｔ１）＋ｈ（Ｋｓｍ＿ａ，ｔ２）＋・・・＋ｈ（Ｋｓｍ＿ａ，ｔｎ）−ｈ（Ｋｐ，ｔ１，ｔ２，・・・，ｔｎ）（ｍｏｄ  α）  ・・・（２２）
ただし、暗号化の際にストリーム暗号を用いる場合には、第２変換鍵Ｋ（ａ，ｔ１，ｔ２，・・・，ｔｎ）は下記式（２３）の計算で生成する。
Ｋ（ａ，ｔ１，ｔ２，・・・，ｔｎ）＝ＳＴ（ｈ（Ｋｓｍ＿ａ，ｔ１））＋ＳＴ（ｈ（Ｋｓｍ＿ａ，ｔ２））＋・・・＋ＳＴ（ｈ（Ｋｓｍ＿ａ，ｔｎ））−ＳＴ（ｈ（Ｋｐ，ｔ１，ｔ２，・・・，ｔｎ））（ｍｏｄ  α）  ・・・（２３）
【００８７】
次に、本実施形態に係る電力使用量計算システムにおいて実行される各種の処理の手順について、図７乃至図１０のフローチャートを参照しながら説明する。
【００８８】
まず、ＳＭ１０が電力使用量の暗号文をＭＤＭＳ２０に送信するまでの処理の手順について、図７を用いて説明する。図７は、ＳＭ１０により実行される処理手順の一例を示すフローチャートである。
【００８９】
ＳＭ１０は、第１単位時間ごとに電気機器の電力使用量ｄｔを集計すると（ステップＳ１０１）、鍵管理サーバ５０と共有している秘密鍵Ｋｓｍと時刻情報ｔとを用いて一時鍵Ｋｓｍ＿ｔを計算する（ステップＳ１０２）。
【００９０】
次に、ＳＭ１０は、ステップＳ１０２で計算した一時鍵Ｋｓｍ＿ｔを用いてストリーム暗号を動作させて鍵系列ＫｓｍＳＴ＿ｔを計算する（ステップＳ１０３）。そして、ＳＭ１０は、ステップＳ１０３で計算した鍵系列ＫｓｍＳＴ＿ｔを用いてステップＳ１０１で集計した電力使用量ｄｔを暗号化し、暗号文ｃｔを生成する（ステップＳ１０４）。そして、ＳＭ１０は、ステップＳ１０４で生成した暗号文ｃｔを時刻情報ｔと対応付けてＭＤＭＳ２０に送信する（ステップＳ１０５）。このとき、ＳＭ１０は、ＳＭ１０に付与されたＳＭ＿ＩＤも送信する。
【００９１】
なお、ＳＭ１０は、上述したように、処理の簡略化のために秘密鍵Ｋｓｍと時刻情報ｔとから生成した一時鍵Ｋｓｍ＿ｔをそのまま用いて電力使用量ｄｔを暗号化するようにしてもよい。図８は、一時鍵Ｋｓｍ＿ｔをそのまま用いて電力使用量ｄｔを暗号化する場合のＳＭ１０における処理手順を示すフローチャートである。
【００９２】
この場合、ＳＭ１０は、第１単位時間ごとに電気機器の電力使用量ｄｔを集計すると（ステップＳ２０１）、鍵管理サーバ５０と共有している秘密鍵Ｋｓｍと時刻情報ｔとを用いて一時鍵Ｋｓｍ＿ｔを計算する（ステップＳ２０２）。
【００９３】
次に、ＳＭ１０は、ステップＳ２０２で計算した一時鍵Ｋｓｍ＿ｔを用いてステップＳ２０１で集計した電力使用量ｄｔを暗号化し、暗号文ｃｔを生成する（ステップＳ２０３）。そして、ＳＭ１０は、ステップＳ２０３で生成した暗号文ｃｔを時刻情報ｔと対応付けてＭＤＭＳ２０に送信する（ステップＳ２０４）。このとき、ＳＭ１０は、ＳＭ１０に付与されたＳＭ＿ＩＤも送信する。
【００９４】
次に、ＥＭＳ３０が第１電力使用総量を生成するまでの処理の手順について、図９を用いて説明する。図９は、ＥＭＳ３０とＭＤＭＳ２０と鍵管理サーバ５０とにより実行される処理手順の一例を示すフローチャートである。
【００９５】
まず、ＥＭＳ３０が、ＭＤＭＳ２０に対して、第１変換合算暗号文の取得要求を送信する（ステップＳ３０１）。ＥＭＳ３０から第１変換合算暗号文の取得要求を受信したＭＤＭＳ２０は、ＥＭＳ３０の管理対象エリアに含まれるすべての家庭のＳＭ１０から受信した時刻情報ｔで示される第１単位時間の電力使用量の暗号文を合算して、第１合算暗号文を生成する（ステップＳ３０２）。
【００９６】
次に、ＭＤＭＳ２０は、鍵管理サーバ５０に対して、第１変換鍵の取得要求を送信する（ステップＳ３０３）。この第１変換鍵の取得要求には、ＥＭＳ３０の識別情報と、ＥＭＳ３０により指定されたすべての家庭（管理対象エリアに含まれるすべての家庭）のＳＭ１０のＳＭ＿ＩＤと、ＥＭＳ３０により指定された時刻情報ｔとが含まれる。
【００９７】
ＭＤＭＳ２０から第１変換鍵の取得要求を受信した鍵管理サーバ５０は、第１変換鍵の取得要求に含まれるすべてのＳＭ＿ＩＤと時刻情報ｔとを用いて第１変換鍵を生成する（ステップＳ３０４）。そして、鍵管理サーバ５０は、ステップＳ３０４で生成した第１変換鍵を、第１変換鍵の取得要求に対する応答として、ＭＤＭＳ２０に送信する（ステップＳ３０５）。
【００９８】
鍵管理サーバ５０から第１変換鍵を受信したＭＤＭＳ２０は、受信した第１変換鍵を用いて、ステップＳ３０２で生成した第１合算暗号文を第１変換合算暗号文に変換する（ステップＳ３０６）。そして、ＭＤＭＳ２０は、ステップＳ３０６で生成した第１変換合算暗号文を、第１変換合算暗号文の取得要求に対する応答として、ＥＭＳ３０に対して送信する（ステップＳ３０７）。
【００９９】
ＭＤＭＳ２０から第１変換合算暗号文を受信したＥＭＳ３０は、自身の秘密鍵Ｋｅを用いて第１変換合算暗号文を復号し、第１電力使用総量を生成する（ステップＳ３０８）。その後、ＥＭＳ３０は、この第１電力使用総量を用いて電力制御を実行する。
【０１００】
次に、課金サーバ４０が第２電力使用総量を生成するまでの処理の手順について、図１０を用いて説明する。図１０は、課金サーバ４０とＭＤＭＳ２０と鍵管理サーバ５０とにより実行される処理手順の一例を示すフローチャートである。
【０１０１】
まず、課金サーバ４０が、ＭＤＭＳ２０に対して、第２変換合算暗号文の取得要求を送信する（ステップＳ４０１）。課金サーバ４０から第２変換合算暗号文の取得要求を受信したＭＤＭＳ２０は、課金対象となる家庭のＳＭ１０から受信した第２単位時間内のすべての第１単位時間における電力使用量の暗号文を合算して、第２合算暗号文を生成する（ステップＳ４０２）。
【０１０２】
次に、ＭＤＭＳ２０は、鍵管理サーバ５０に対して、第２変換鍵の取得要求を送信する（ステップＳ４０３）。この第２変換鍵の取得要求には、課金サーバ４０の識別情報と、課金サーバ４０により指定された家庭のＳＭ１０のＳＭ＿ＩＤと、課金サーバ４０により指定された第２単位時間内のすべての第１単位時間の時刻情報ｔ、ｔ１，・・・，ｔｎとが含まれる。
【０１０３】
ＭＤＭＳ２０から第２変換鍵の取得要求を受信した鍵管理サーバ５０は、第２変換鍵の取得要求に含まれるＳＭ＿ＩＤと時刻情報ｔ１，ｔ２，・・・，ｔｎとを用いて第２変換鍵を生成する（ステップＳ４０４）。そして、鍵管理サーバ５０は、ステップＳ４０４で生成した第２変換鍵を、第２変換鍵の取得要求に対する応答として、ＭＤＭＳ２０に送信する（ステップＳ４０５）。
【０１０４】
鍵管理サーバ５０から第２変換鍵を受信したＭＤＭＳ２０は、受信した第２変換鍵を用いて、ステップＳ４０２で生成した第２合算暗号文を第２変換合算暗号文に変換する（ステップＳ４０６）。そして、ＭＤＭＳ２０は、ステップＳ４０６で生成した第２変換合算暗号文を、第２変換合算暗号文の取得要求に対する応答として、課金サーバ４０に対して送信する（ステップＳ４０７）。
【０１０５】
ＭＤＭＳ２０から第２変換合算暗号文を受信した課金サーバ４０は、自身の秘密鍵Ｋｐを用いて第２変換合算暗号文を復号し、第２電力使用総量を生成する（ステップＳ４０８）。その後、課金サーバ４０は、この第２電力使用総量を用いて課金処理を実行する。
【０１０６】
以上、具体的な例を挙げながら詳細に説明したように、本実施形態に係る電力使用量計算システムによれば、ＳＭ１０が集計した電力使用量は、ＳＭ１０の秘密鍵Ｋｓｍを用いて暗号化された暗号文としてＭＤＭＳ２０に送信される。そして、ＭＤＭＳ２０では、元の電力使用量を秘匿した状態で、ＥＭＳ３０や課金サーバ４０の要求に応じて第１変換合算暗号文や第２変換合算暗号文が生成され、第１変換合算暗号文はＥＭＳ３０、第２変換合算暗号文は課金サーバ４０にそれぞれ送信される。そして、ＥＭＳ３０が自身の秘密鍵Ｋｅを用いて第１変換合算暗号文を復号することで第１電力使用総量が得られ、課金サーバ４０が自身の秘密鍵Ｋｐを用いて第２変換合算暗号文を復号することで第２電力使用総量が得られるようにしている。このように、本実施形態に係る電力使用量計算システムによれば、電力使用量そのものを秘匿した状態でアプリケーションが必要とする電力使用総量を得られるようにしているので、プライバシの保護を図りつつ、電力使用総量を利用した様々なアプリケーションを適切に実行することができる。
【０１０７】
また、本実施形態に係る電力使用量計算システムによれば、ＳＭ１０において電力使用量の暗号化に用いられる秘密鍵Ｋｓｍや、ＥＭＳ３０において第１変換合算暗号文の復号に用いられる秘密鍵Ｋｅ、課金サーバ４０において第２変換合算暗号文の復号に用いられる秘密鍵Ｋｐを鍵管理サーバ５０が管理するようにしている。そして、鍵管理サーバ５０がこれらの秘密鍵を用いて第１変換鍵や第２変換鍵を生成し、ＭＤＭＳ２０が第１変換鍵を用いて生成した第１変換合算暗号文をＥＭＳ３０に送信し、第２変換鍵を用いて生成した第２変換合算暗号文を課金サーバ４０に送信することで、ＥＭＳ３０において第１電力使用総量が得られ、課金サーバ４０において第２電力使用総量が得られるようにしている。したがって、ＳＭ１０は、電力制御や課金処理などの異なるアプリケーションで要求される電力使用総量を得られるようにするために、アプリケーションごとに異なる秘密鍵を用いて電力使用量を暗号化する必要はなく、鍵管理サーバ５０と共有する１つの秘密鍵Ｋｓｍを用いて電力使用量を暗号化してその暗号文をＭＤＭＳ２０に送ればよい。このように、本実施形態に係る電力使用量計算システムによれば、ＳＭ１０に過大な負荷を与えることなく、プライバシの保護を図りながら、様々なアプリケーションが必要とする電力使用総量を得ることができる。
【０１０８】
（第１実施形態の変形例１）
上述の第１実施形態では、ＳＭ１０の暗号化部１２が、電力使用量ｄｔにストリーム暗号の鍵系列ＫｓｍＳＴ＿ｔを算術加算して暗号文ｃｔを求めるようにしている。これに対して、本変形例では、ＳＭ１０の暗号化部１２が、電力使用量ｄｔにストリーム暗号の鍵系列ＫｓｍＳＴ＿ｔを算術加算してｃｔを求め、さらに、求めたｃｔがＳＭ１０で計測される電力使用量の最大値であるｄｔ＿ｍａｘ以上の値であるか否かを示すフラグｆｔを用いて、暗号文（ｃｔ’，ｆｔ）を生成する。つまり、求めたｃｔがｄｔ＿ｍａｘ未満であれば、フラグｆｔの値を０とし、ｃｔとフラグ０との組み合わせ（ｃｔ，０）を電力使用量ｄｔの暗号文とする。一方、求めたｃｔがｄｔ＿ｍａｘ以上であれば、フラグｆｔの値を１とし、ｃｔとｄｔ＿ｍａｘとの差分とフラグ１との組み合わせ（ｃｔ−ｄｔ＿ｍａｘ，１）を電力使用量ｄｔの暗号文とする。本変形例では、Ｋｓｍ＿ｔの値域は、０以上ｄｔ＿ｍａｘ未満（ｄｔ＿ｍａｘは、ＳＭ１０で計測される電力使用量の最大値）である。
【０１０９】
以下、本変形例における処理の具体例について、上述した第１実施形態との差分を説明する。
【０１１０】
本変形例では、ＳＭ１０の暗号化部１２は、まず、下記式（２’）に従って、ｃｔを計算する。
ｃｔ＝ｄｔ＋ＫｓｍＳＴ＿ｔ  ・・・（２’）
【０１１１】
次に、暗号化部１２は、ｃｔがｄｔ＿ｍａｘ未満の値であった場合は、下記式（２４）に従って（ｃｔ’，ｆｔ）を求める。
（ｃｔ’，ｆｔ）＝（ｃｔ，０）  ・・・（２４）
一方、ｃｔがｄｔ＿ｍａｘ以上の値であった場合は、暗号化部１２は、下記式（２５）に従って（ｃｔ’，ｆｔ）を求める。
（ｃｔ’，ｆｔ）＝（ｃｔ−ｄｔ＿ｍａｘ，１）  ・・・（２５）
本変形例では、このようにして得られた（ｃｔ’，ｆｔ）が、電力使用量ｄｔを暗号化した暗号文となる。
【０１１２】
なお、時刻情報ｔは、以降の処理において必要な情報となるため、上述した第１実施形態と同様に、暗号文に付随してＭＤＭＳ２０に送信する。以下では、暗号文（ｃｔ’，ｆｔ）と時刻情報ｔとを対応付けたデータＣｓｍ＿ｔ＝（ｃｔ’，ｆｔ，ｔ）を、電力使用量ｄｔの暗号文として扱うものとする。
【０１１３】
次に、ＭＤＭＳ２０の合算部２４が第１合算暗号文を生成する手順の一例について説明する。ここでは、上述した第１実施形態と同様に、３つのＳＭ１０（ＳＭ１０ａ，ＳＭ１０ｂ，ＳＭ１０ｃ）の時刻情報ｔで示される第１単位時間における電力使用量の暗号文Ｃｓｍ＿ａ＿ｔ，Ｃｓｍ＿ｂ＿ｔ，Ｃｓｍ＿ｃ＿ｔを合算して、第１合算暗号文Ｃｓｍ＿１Ａ（ａｂｃ）＿（ｔ）を求める場合を例に挙げる。
【０１１４】
本変形例の場合、Ｃｓｍ＿ａ＿ｔ，Ｃｓｍ＿ｂ＿ｔ，Ｃｓｍ＿ｃ＿ｔは、下記式（４’）〜（６’）のように表される。
Ｃｓｍ＿ａ＿ｔ＝（ｃｔ’＿ａ，ｆｔ＿ａ，ｔ）  ・・・（４’）
Ｃｓｍ＿ｂ＿ｔ＝（ｃｔ’＿ｂ，ｆｔ＿ｂ，ｔ）  ・・・（５’）
Ｃｓｍ＿ｃ＿ｔ＝（ｃｔ’＿ｃ，ｆｔ＿ｃ，ｔ）  ・・・（６’）
そして、合算部２４は、下記式（７’）を用いて第１合算暗号文Ｃｓｍ＿１Ａ（ａｂｃ）＿（ｔ）を求めることができる。
Ｃｓｍ＿１Ａ（ａｂｃ）＿（ｔ）＝（Ｃ１Ａ＿ｃ，Ｃ１Ａ＿ｆ，ｔ）  ・・・（７’）
ただし、Ｃ１Ａ＿ｃ＝ｃｔ’＿ａ＋ｃｔ’＿ｂ＋ｃｔ’＿ｃ、Ｃ１Ａ＿ｆ＝ｆｔ＿ａ＋ｆｔ＿ｂ＋ｆｔ＿ｃである。
【０１１５】
次に、ＭＤＭＳ２０の合算部２４が第２合算暗号文を生成する手順の一例について説明する。ここでは、上述した第１実施形態と同様に、課金対象の家庭のＳＭ１０ａから受信した第２単位時間内に含まれる各第１単位時間における電力使用量の暗号文Ｃｓｍ＿ａ＿ｔ１，Ｃｓｍ＿ａ＿ｔ２，・・・，Ｃｓｍ＿ａ＿ｔｎを合算して、第２合算暗号文Ｃｓｍ＿２Ａ（ａ）＿（ｔ１，ｔ２，・・・，ｔｎ）を求める場合を例に挙げる。
【０１１６】
本変形例の場合、Ｃｓｍ＿ａ＿ｔ１，Ｃｓｍ＿ａ＿ｔ２，・・・，Ｃｓｍ＿ａ＿ｔｎは、下記式（８’）〜（１０’）のように表される。
Ｃｓｍ＿ａ＿ｔ１＝（ｃｔ’＿ｔ１＿ａ，ｆｔ＿ｔ１＿ａ，ｔ１）  ・・・（８’）
Ｃｓｍ＿ａ＿ｔ２＝（ｃｔ’＿ｔ２＿ａ，ｆｔ＿ｔ２＿ａ，ｔ２）  ・・・（９’）
・・・
Ｃｓｍ＿ａ＿ｔｎ＝（ｃｔ’＿ｔｎ＿ａ，ｆｔ＿ｔｎ＿ａ，ｔｎ）  ・・・（１０’）
そして、合算部２４は、下記式（１１’）を用いて第２合算暗号部Ｃｓｍ＿２Ａ（ａ）＿（ｔ１，ｔ２，・・・，ｔｎ）を求めることができる。
Ｃｓｍ＿２Ａ（ａ）＿（ｔ１，ｔ２，・・・，ｔｎ）＝（Ｃ２Ａ＿ｃ，Ｃ２Ａ＿ｆ，ｔ１，ｔ２，・・・，ｔｎ）  ・・・（１１’）
ただし、Ｃ２Ａ＿ｃ＝ｃｔ’＿ｔ１＿ａ＋ｃｔ’＿ｔ２＿ａ＋・・・＋ｃｔ’＿ｔｎ＿ａ、Ｃ２Ａ＿ｆ＝ｆｔ＿ｔ１＿ａ＋ｆｔ＿ｔ２＿ａ＋・・・＋ｆｔ＿ｔｎ＿ａである。
【０１１７】
本変形例の場合、ＭＤＭＳ２０の変換部２５は、鍵管理サーバ５０から受信した第１変換鍵Ｋ（ａ，ｂ，ｃ，ｔ）を用いて、下記式（１２’）に従って、第１変換合算暗号文Ｃｓｍ＿１Ｂ（ａｂｃ）＿（ｔ）を求めることができる。
Ｃｓｍ＿１Ｂ（ａｂｃ）＿（ｔ）＝（Ｃ１Ｂ＿ｃ，Ｃ１Ｂ＿ｆ，ｔ）  ・・・（１２’）
ただし、Ｃ１Ｂ＿ｃ＝Ｃ１Ａ＿ｃ−Ｋ（ａ，ｂ，ｃ，ｔ）、Ｃ１Ｂ＿ｆ＝Ｃ１Ａ＿ｆである。
【０１１８】
また、本変形例の場合、ＭＤＭＳ２０の変換部２５は、鍵管理サーバ５０から受信した第２変換鍵Ｋ（ａ，ｔ１，ｔ２，・・・，ｔｎ）を用いて、下記式（１３’）に従って、第２変換合算暗号文Ｃｓｍ＿２Ｂ（ａ）＿（ｔ１，ｔ２，・・・，ｔｎ）を求めることができる。
Ｃｓｍ＿２Ｂ（ａ）＿（ｔ１，ｔ２，・・・，ｔｎ）＝（Ｃ２Ｂ＿ｃ，Ｃ２Ｂ＿ｆ，ｔ１，ｔ２，・・・，ｔｎ）  ・・・（１３’）
ただし、Ｃ２Ｂ＿ｃ＝Ｃ２Ａ＿ｃ−Ｋ（ａ，ｔ１，ｔ２，・・・，ｔｎ）、Ｃ２Ｂ＿ｆ＝Ｃ２Ａ＿ｆである。
【０１１９】
次に、ＥＭＳ３０の復号部３２が秘密鍵Ｋｅを用いて第１変換合算暗号文を復号して第１電力使用総量を生成する手順の一例について説明する。ここでは、通信制御部３１が、ＭＤＭＳ２０から第１変換合算暗号文Ｃｓｍ＿１Ｂ（ａｂｃ）＿（ｔ）＝（Ｃ１Ｂ＿ｃ，Ｃ１Ｂ＿ｆ，ｔ）を受信した場合を例示する。
【０１２０】
復号部３２は、まず、上述した第１実施形態と同様に、ＭＤＭＳ２０から受信した第１変換合算暗号文に含まれる時刻情報ｔと自身の秘密鍵Ｋｅとを用いて、上記の式（１４）あるいは式（１５）で示す計算を行い、Ｋｅ＿ｔを求める。
【０１２１】
次に、復号部３２は、式（１４）あるいは式（１５）で求めたＫｅ＿ｔを用いて下記式（１６’）で示す計算を行い、第１電力使用総量ｄ＿ＥＭＳを得る。
ｄ＿ＥＭＳ＝Ｃ１Ｂ＿ｃ−Ｋｅ＿ｔ＋Ｃ１Ｂ＿ｆ×ｄｔ＿ｍａｘ  ・・・（１６’）
【０１２２】
次に、課金サーバ４０の復号部４２が秘密鍵Ｋｐを用いて第２変換合算暗号文を復号して第２電力使用総量を生成する手順の一例について説明する。ここでは、通信制御部４１が、ＭＤＭＳ２０から第２変換合算暗号文Ｃｓｍ＿２Ｂ（ａ）＿（ｔ１，ｔ２，・・・，ｔｎ）＝（Ｃ２Ｂ＿ｃ，Ｃ２Ｂ＿ｆ，ｔ１，ｔ２，・・・，ｔｎ）を受信した場合を例示する。
【０１２３】
復号部４２は、まず、上述した第１実施形態と同様に、ＭＤＭＳ２０から受信した第２変換合算暗号文に含まれる時刻情報ｔ１，ｔ２，・・・，ｔｎと自身の秘密鍵Ｋｐとを用いて、上記の式（１７）あるいは式（１８）で示す計算を行い、Ｋｐ＿（ｔ１，ｔ２，・・・，ｔｎ）を求める。
【０１２４】
次に、復号部４２は、式（１７）あるいは式（１８）で求めたＫｐ＿（ｔ１，ｔ２，・・・，ｔｎ）を用いて下記式（１９’）で示す計算を行い、第２電力使用総量ｄ＿ｐａｙを得る。
ｄ＿ｐａｙ＝Ｃ２Ｂ＿ｃ−Ｋｐ＿（ｔ１，ｔ２，・・・，ｔｎ）＋Ｃ２Ｂ＿ｆ×ｄｔ＿ｍａｘ  ・・・（１９’）
【０１２５】
次に、鍵管理サーバ５０の変換鍵生成部５２が第１変換鍵を生成する手順の一例について説明する。ここでは、上述した第１実施形態と同様に、ＥＭＳ３０により指定されたすべての家庭（管理対象エリアに含まれるすべての家庭）のＳＭ１０がＳＭ１０ａ，ＳＭ１０ｂ，ＳＭ１０ｃであるものとする。
【０１２６】
変換鍵生成部５２は、まず、上述した第１実施形態と同様に、ＥＭＳ３０の識別情報と対応付けて秘密鍵記憶部５３に記憶されている秘密鍵Ｋｅと、ＳＭ１０ａ，ＳＭ１０ｂ，ＳＭ１０ｃのそれぞれのＳＭ＿ＩＤと対応付けて秘密鍵記憶部５３に記憶されている秘密鍵Ｋｓｍ＿ａ，Ｋｓｍ＿ｂ，Ｋｓｍ＿ｃとを取り出す。
【０１２７】
そして、変換鍵生成部５２は、これらの秘密鍵と時刻情報ｔとを用いて、下記式（２０’）に示すように、第１変換鍵Ｋ（ａ，ｂ，ｃ，ｔ）を生成する。
Ｋ（ａ，ｂ，ｃ，ｔ）＝ｈ（Ｋｓｍ＿ａ，ｔ）＋ｈ（Ｋｓｍ＿ｂ，ｔ）＋ｈ（Ｋｓｍ＿ｃ，ｔ）−ｈ（Ｋｅ，ｔ）  ・・・（２０’）
ただし、暗号化の際にストリーム暗号を用いる場合には、第１変換鍵Ｋ（ａ，ｂ，ｃ，ｔ）は下記式（２１’）の計算で生成する。
Ｋ（ａ，ｂ，ｃ，ｔ）＝ＳＴ（ｈ（Ｋｓｍ＿ａ，ｔ））＋ＳＴ（ｈ（Ｋｓｍ＿ｂ，ｔ））＋ＳＴ（ｈ（Ｋｓｍ＿ｃ，ｔ））−ＳＴ（ｈ（Ｋｅ，ｔ））  ・・・（２１’）
【０１２８】
次に、鍵管理サーバ５０の変換鍵生成部５２が第２変換鍵を生成する手順の一例について説明する。ここでは、上述した第１実施形態と同様に、課金サーバ４０により指定された家庭（課金対象となる家庭）のＳＭ１０がＳＭ１０ａであり、課金サーバ４０により指定された第２単位時間内のすべての第１単位時間の時刻情報がｔ１，ｔ２，・・・，ｔｎであるものとする。
【０１２９】
変換鍵生成部５２は、まず、上述した第１実施形態と同様に、課金サーバ４０の識別情報と対応付けて秘密鍵記憶部５３に記憶されている秘密鍵Ｋｐと、ＳＭ１０ａのＳＭ＿ＩＤと対応付けて秘密鍵記憶部５３に記憶されている秘密鍵Ｋｓｍ＿ａとを取り出す。
【０１３０】
そして、変換鍵生成部５２は、これらの秘密鍵と時刻情報ｔ１，ｔ２，・・・，ｔｎとを用いて、下記式（２２’）に示すように、第２変換鍵Ｋ（ａ，ｔ１，ｔ２，・・・，ｔｎ）を生成する。
Ｋ（ａ，ｔ１，ｔ２，・・・，ｔｎ）＝ｈ（Ｋｓｍ＿ａ，ｔ１）＋ｈ（Ｋｓｍ＿ａ，ｔ２）＋・・・＋ｈ（Ｋｓｍ＿ａ，ｔｎ）−ｈ（Ｋｐ，ｔ１，ｔ２，・・・，ｔｎ）  ・・・（２２’）
ただし、暗号化の際にストリーム暗号を用いる場合には、第２変換鍵Ｋ（ａ，ｔ１，ｔ２，・・・，ｔｎ）は下記式（２３’）の計算で生成する。
Ｋ（ａ，ｔ１，ｔ２，・・・，ｔｎ）＝ＳＴ（ｈ（Ｋｓｍ＿ａ，ｔ１））＋ＳＴ（ｈ（Ｋｓｍ＿ａ，ｔ２））＋・・・＋ＳＴ（ｈ（Ｋｓｍ＿ａ，ｔｎ））−ＳＴ（ｈ（Ｋｐ，ｔ１，ｔ２，・・・，ｔｎ））  ・・・（２３’）
【０１３１】
本変形例におけるその他の処理は上述した第１実施形態と同様であるため、説明を省略する。
【０１３２】
以上説明したように、本変形例においては、ＳＭ１０の暗号化部１２が、電力使用量ｄｔにストリーム暗号の鍵系列ＫｓｍＳＴ＿ｔを算術加算してｃｔを求め、求めたｃｔがＳＭ１０で計測される電力使用量の最大値であるｄｔ＿ｍａｘ以上の値であるか否かを示すフラグｆｔを用いて、暗号文（ｃｔ’，ｆｔ）を生成するようにしている。したがって、本変形例によれば、電力使用量ｄｔの暗号文のデータサイズを小さくし、メモリ資源の有効活用や演算処理の効率化を図ることができる。
【０１３３】
（第１実施形態の変形例２）
上述した変形例１では、Ｋｓｍ＿ｔの値域は、０以上ｄｔ＿ｍａｘ未満（ｄｔ＿ｍａｘは、ＳＭ１０で計測される電力使用量の最大値）としていた。本変形例では、Ｋｓｍ＿ｔの値域は、０以上ｃｔ＿ｍａｘ未満とする（ｃｔ＿ｍａｘは、１以上の整数値）。本変形例では、ｃｔ＿ｍａｘをｄｔ＿ｍａｘより小さな値とすることで、上述した変形例１よりもｃｔの値を小さくでき、ｃｔを記憶するための記憶容量をさらに削減することができる。
【０１３４】
以下、本変形例における処理の具体例について、上述した変形例１との差分を説明する。
【０１３５】
本変形例では、ＳＭ１０の暗号化部１２は、上記の式（２’）に従ってｃｔを計算した後に、下記式（２６）に従って、電力使用量ｄｔを暗号化した暗号文（ｃｔ’，ｆｔ）を求める。
（ｃｔ’，ｆｔ）＝（ｃｔ ｍｏｄ ｃｔ＿ｍａｘ，Ｑ（ｃｔ，ｃｔ＿ｍａｘ））  ・・・（２６）
ただし、Ｑ（ａ，ｂ）は、整数ａをｂで割り算する際に得られる商である。本変形例では、フラグｆｔは０，１以外の値となることもある。これにより、電力使用量ｄｔの暗号文のデータサイズを小さくし、メモリ資源の有効活用や演算処理の効率化を図ることができる。
【０１３６】
本変形例において、ＭＤＭＳ２０の合算部２４が複数の暗号文を合算して合算暗号文を生成する手順は、上述した変形例１と同様である。また、本変形例において、ＭＤＭＳ２０の変換部２５が第１合算暗号文を第１変換合算暗号文に変換する手順および第２合算暗号文を第２変換合算暗号文に変換する手順は、上述した変形例１と同様である。
【０１３７】
本変形例では、ＥＭＳ３０の復号部３２は、上記の式（１４）あるいは式（１５）でＫｅ＿ｔを求めた後、このＫｅ＿ｔを用いて下記式（１６’’）で示す計算を行い、第１電力使用総量ｄ＿ＥＭＳを得る。
ｄ＿ＥＭＳ＝Ｃ１Ｂ＿ｃ−Ｋｅ＿ｔ＋Ｃ１Ｂ＿ｆ×ｃｔ＿ｍａｘ  ・・・（１６’’）
【０１３８】
また、本変形例では、課金サーバ４０の復号部４２は、上記の式（１７）あるいは式（１８）でＫｐ＿（ｔ１，ｔ２，・・・，ｔｎ）を求めた後、このＫｐ＿（ｔ１，ｔ２，・・・，ｔｎ）を用いて下記式（１９’’）で示す計算を行い、第２電力使用総量ｄ＿ｐａｙを得る。
ｄ＿ｐａｙ＝Ｃ２Ｂ＿ｃ−Ｋｐ＿（ｔ１，ｔ２，・・・，ｔｎ）＋Ｃ２Ｂ＿ｆ×ｃｔ＿ｍａｘ  ・・・（１９’’）
【０１３９】
本変形例におけるその他の処理は上述した第１実施形態および変形例１と同様であるため、説明を省略する。
【０１４０】
（第１実施形態の変形例３）
上述した変形例１および変形例２では、フラグｆｔの値は秘匿されることなく、電力使用量記憶部２３に記憶される。このとき、ある暗号文ｃｔに対応するフラグｆｔが０である場合には、ｃｔ＝ｄｔ＋ＫｓｍＳＴ＿ｔ≧ｄｔであり、電力使用量ｄｔは０以上かつｃｔ以下であることが推測可能となる。一方、たとえば上述の変形例１において、あるｃｔに対応するｆｔが１である場合には、ｃｔ＝ｄｔ＋ＫｓｍＳＴ＿ｔ−ｄｔ＿ｍａｘ≦ｄｔ＋ｄｔ＿ｍａｘ−ｄｔ＿ｍａｘ＝ｄｔであり、ｄｔはｃｔ以上かつｄｔ＿ｍａｘ以下であることが推測可能となる。
【０１４１】
このように、フラグｆｔの値が秘匿されない場合には、フラグｆｔの値に基づいて電力使用量ｄｔの情報が一部漏洩する。そこで、本変形例では、フラグｆｔの値を秘匿することで電力使用量ｄｔの推測を困難にする。以下では、上述した変形例１を例として、フラグｆｔの値を秘匿する方法を説明するが、上述した変形例２においても同様の方法でフラグｆｔの値を秘匿することが可能である。
【０１４２】
以下、本変形例における処理の具体例について、上述した変形例１との差分を説明する。
【０１４３】
上述した変形例１におけるＳＭ１０の秘密鍵記憶部１５は、式（１）の秘密鍵を記憶していた。これに対し、本変形例におけるＳＭ１０の秘密鍵記憶部１５は、下記式（１’）の秘密鍵を記憶する。
（Ｋｓｍ＿ｔ，Ｋ’ｓｍ＿ｔ）＝ｈ（Ｋｓｍ，ｔ）  ・・・（１’）
ここで、Ｋｓｍ＿ｔの値域は、０以上ｄｔ＿ｍａｘ未満であり、Ｋ’ｓｍ＿ｔは、ｆｔ＿ｂｉｔビット（ｆｔ＿ｂｉｔは１以上の整数であり、上述した変形例２に本変形例を適用する場合には、ｆｔ＿ｂｉｔは上述した変形例２でフラグｆｔが取りうる最大値のビット長以上の値とすることが望ましい）の値である。
【０１４４】
本変形例において、ＳＭ１０の暗号化部１２は、まず、上述した変形例１と同様の手順で、上記の式（２４）あるいは式（２５）に基づいて（ｃｔ’，ｆｔ）を計算する。暗号化部１２は、次に、ｆｔ’＝ｆｔ（＋）Ｋ’ｓｍＳＴ＿ｔ（ただし、（＋）はビットごとの排他的論理和演算を表す）を計算し、（ｃｔ’，ｆｔ’）を暗号文として出力する。
【０１４５】
次に、ＭＤＭＳ２０の合算部２４が第１合算暗号文を生成する手順の一例について説明する。ここでは、上述した変形例１と同様に、３つのＳＭ１０（ＳＭ１０ａ，ＳＭ１０ｂ，ＳＭ１０ｃ）の時刻情報ｔで示される第１単位時間における電力使用量の暗号文Ｃｓｍ＿ａ＿ｔ，Ｃｓｍ＿ｂ＿ｔ，Ｃｓｍ＿ｃ＿ｔを合算して、第１合算暗号文Ｃｓｍ＿１Ａ（ａｂｃ）＿（ｔ）を求める場合を例に挙げる。
【０１４６】
本変形例の場合、Ｃｓｍ＿ａ＿ｔ，Ｃｓｍ＿ｂ＿ｔ，Ｃｓｍ＿ｃ＿ｔは、下記式（４’’）〜（６’’）のように表される。
Ｃｓｍ＿ａ＿ｔ＝（ｃｔ’＿ａ，ｆｔ’＿ａ，ｔ）  ・・・（４’’）
Ｃｓｍ＿ｂ＿ｔ＝（ｃｔ’＿ｂ，ｆｔ’＿ｂ，ｔ）  ・・・（５’’）
Ｃｓｍ＿ｃ＿ｔ＝（ｃｔ’＿ｃ，ｆｔ’＿ｃ，ｔ）  ・・・（６’’）
そして、合算部２４は、下記式（７’’）を用いて第１合算暗号文Ｃｓｍ＿１Ａ（ａｂｃ）＿（ｔ）を求めることができる。
Ｃｓｍ＿１Ａ（ａｂｃ）＿（ｔ）＝（Ｃ１Ａ＿ｃ，Ｃ１Ａ’＿ｆ，ｔ）  ・・・（７’’）
ただし、Ｃ１Ａ＿ｃ＝ｃｔ’＿ａ＋ｃｔ’＿ｂ＋ｃｔ’＿ｃ、Ｃ１Ａ’＿ｆ＝（ｆｔ＿ａ（＋）Ｋ’ｓｍＳＴ＿ｔ＿ａ）＋（ｆｔ＿ｂ（＋）Ｋ’ｓｍＳＴ＿ｔ＿ｂ）＋（ｆｔ＿ｃ（＋）Ｋ’ｓｍＳＴ＿ｔ＿ｃ）であり、Ｋ’ｓｍＳＴ＿ｔ＿ｉは第ｉ番目のＳＭ１０について上記式（１’）で計算される第２成分である。
【０１４７】
次に、ＭＤＭＳ２０の合算部２４が第２合算暗号文を生成する手順の一例について説明する。ここでは、上述した変形例１と同様に、課金対象の家庭のＳＭ１０ａから受信した第２単位時間内に含まれる各第１単位時間における電力使用量の暗号文Ｃｓｍ＿ａ＿ｔ１，Ｃｓｍ＿ａ＿ｔ２，・・・，Ｃｓｍ＿ａ＿ｔｎを合算して、第２合算暗号文Ｃｓｍ＿２Ａ（ａ）＿（ｔ１，ｔ２，・・・，ｔｎ）を求める場合を例に挙げる。
【０１４８】
本変形例の場合、Ｃｓｍ＿ａ＿ｔ１，Ｃｓｍ＿ａ＿ｔ２，・・・，Ｃｓｍ＿ａ＿ｔｎは、下記式（８’’）〜（１０’’）のように表される。
Ｃｓｍ＿ａ＿ｔ１＝（ｃｔ’＿ｔ１＿ａ，ｆｔ’＿ｔ１＿ａ，ｔ１）  ・・・（８’’）
Ｃｓｍ＿ａ＿ｔ２＝（ｃｔ’＿ｔ２＿ａ，ｆｔ’＿ｔ２＿ａ，ｔ２）  ・・・（９’’）
・・・
Ｃｓｍ＿ａ＿ｔｎ＝（ｃｔ’＿ｔｎ＿ａ，ｆｔ’＿ｔｎ＿ａ，ｔｎ）  ・・・（１０’’）
そして、合算部２４は、下記式（１１’’）を用いて第２合算暗号部Ｃｓｍ＿２Ａ（ａ）＿（ｔ１，ｔ２，・・・，ｔｎ）を求めることができる。
Ｃｓｍ＿２Ａ（ａ）＿（ｔ１，ｔ２，・・・，ｔｎ）＝（Ｃ２Ａ＿ｃ，Ｃ２Ａ’＿ｆ，ｔ１，ｔ２，・・・，ｔｎ）  ・・・（１１’’）
ただし、Ｃ２Ａ＿ｃ＝ｃｔ’＿ｔ１＿ａ＋ｃｔ’＿ｔ２＿ａ＋・・・＋ｃｔ’＿ｔｎ＿ａ、Ｃ２Ａ’＿ｆ＝（ｆｔ＿ｔ１＿ａ（＋）Ｋ’ｓｍＳＴ＿ｔ１＿ａ）＋（ｆｔ＿ｔ２＿ａ（＋）Ｋ’ｓｍＳＴ＿ｔ２＿ａ）＋・・・＋（ｆｔ＿ｔｎ＿ａ（＋）Ｋ’ｓｍＳＴ＿ｔｎ＿ａ）である。
【０１４９】
本変形例におけるその他の処理は上述した第１実施形態および変形例１と同様であるため、説明を省略する。
【０１５０】
（第１実施形態の変形例４）
上述した変形例３では、フラグｆｔの値を秘匿するために、ビットごとの排他的論理和演算を用いた。これに対して本変形例では、フラグｆｔの値を秘匿するために、ビットごとの排他的論理和演算ではなく、算術加算を用いる。なお、本変形例も変形例３と同様に、上述した変形例１を例として、フラグｆｔの値を秘匿する方法を説明するが、上述した変形例２においても同様の方法でフラグｆｔの値を秘匿することが可能である。
【０１５１】
以下、本変形例における処理の具体例について、上述した変形例１との差分を説明する。
【０１５２】
上述した変形例１におけるＳＭ１０の秘密鍵記憶部１５は、式（１）の秘密鍵を記憶していた。これに対し、本変形例におけるＳＭ１０の秘密鍵記憶部１５は、下記式（１’’）の秘密鍵を記憶する。
（Ｋｓｍ＿ｔ，Ｋ’’ｓｍ＿ｔ）＝ｈ（Ｋｓｍ，ｔ）  ・・・（１’’）
ここで、Ｋｓｍ＿ｔの値域は、０以上ｄｔ＿ｍａｘ未満であり、Ｋ’’ｓｍ＿ｔは、０以上かつｆｔ＿ｍａｘ以下の値である。
【０１５３】
本変形例において、ＳＭ１０の暗号化部１２は、まず、上述した変形例１と同様の手順で、上記の式（２４）あるいは式（２５）に基づいて（ｃｔ’，ｆｔ）を計算する。暗号化部１２は、次に、ｆｔ’’＝ｆｔ＋Ｋ’’ｓｍＳＴ＿ｔを計算し、（ｃｔ’，ｆｔ’’）を暗号文として出力する。
【０１５４】
次に、ＭＤＭＳ２０の合算部２４が第１合算暗号文を生成する手順の一例について説明する。ここでは、上述した変形例１と同様に、３つのＳＭ１０（ＳＭ１０ａ，ＳＭ１０ｂ，ＳＭ１０ｃ）の時刻情報ｔで示される第１単位時間における電力使用量の暗号文Ｃｓｍ＿ａ＿ｔ，Ｃｓｍ＿ｂ＿ｔ，Ｃｓｍ＿ｃ＿ｔを合算して、第１合算暗号文Ｃｓｍ＿１Ａ（ａｂｃ）＿（ｔ）を求める場合を例に挙げる。
【０１５５】
本変形例の場合、Ｃｓｍ＿ａ＿ｔ，Ｃｓｍ＿ｂ＿ｔ，Ｃｓｍ＿ｃ＿ｔは、下記式（４’’’）〜（６’’’）のように表される。
Ｃｓｍ＿ａ＿ｔ＝（ｃｔ’＿ａ，ｆｔ’’＿ａ，ｔ）  ・・・（４’’’）
Ｃｓｍ＿ｂ＿ｔ＝（ｃｔ’＿ｂ，ｆｔ’’＿ｂ，ｔ）  ・・・（５’’’）
Ｃｓｍ＿ｃ＿ｔ＝（ｃｔ’＿ｃ，ｆｔ’’＿ｃ，ｔ）  ・・・（６’’’）
そして、合算部２４は、下記式（７’’’）を用いて第１合算暗号文Ｃｓｍ＿１Ａ（ａｂｃ）＿（ｔ）を求めることができる。
Ｃｓｍ＿１Ａ（ａｂｃ）＿（ｔ）＝（Ｃ１Ａ＿ｃ，Ｃ１Ａ’’＿ｆ，ｔ）  ・・・（７’’’）
ただし、Ｃ１Ａ＿ｃ＝ｃｔ’＿ａ＋ｃｔ’＿ｂ＋ｃｔ’＿ｃ、Ｃ１Ａ’’＿ｆ＝（ｆｔ＿ａ＋Ｋ’’ｓｍＳＴ＿ｔ＿ａ）＋（ｆｔ＿ｂ＋Ｋ’’ｓｍＳＴ＿ｔ＿ｂ）＋（ｆｔ＿ｃ＋Ｋ’’ｓｍＳＴ＿ｔ＿ｃ）であり、Ｋ’’ｓｍＳＴ＿ｔ＿ｉは第ｉ番目のＳＭ１０について上記式（１’’）で計算される第２成分である。
【０１５６】
次に、ＭＤＭＳ２０の合算部２４が第２合算暗号文を生成する手順の一例について説明する。ここでは、上述した変形例１と同様に、課金対象の家庭のＳＭ１０ａから受信した第２単位時間内に含まれる各第１単位時間における電力使用量の暗号文Ｃｓｍ＿ａ＿ｔ１，Ｃｓｍ＿ａ＿ｔ２，・・・，Ｃｓｍ＿ａ＿ｔｎを合算して、第２合算暗号文Ｃｓｍ＿２Ａ（ａ）＿（ｔ１，ｔ２，・・・，ｔｎ）を求める場合を例に挙げる。
【０１５７】
本変形例の場合、Ｃｓｍ＿ａ＿ｔ１，Ｃｓｍ＿ａ＿ｔ２，・・・，Ｃｓｍ＿ａ＿ｔｎは、下記式（８’’’）〜（１０’’’）のように表される。
Ｃｓｍ＿ａ＿ｔ１＝（ｃｔ’＿ｔ１＿ａ，ｆｔ’’＿ｔ１＿ａ，ｔ１）  ・・・（８’’’）
Ｃｓｍ＿ａ＿ｔ２＝（ｃｔ’＿ｔ２＿ａ，ｆｔ’’＿ｔ２＿ａ，ｔ２）  ・・・（９’’’）
・・・
Ｃｓｍ＿ａ＿ｔｎ＝（ｃｔ’＿ｔｎ＿ａ，ｆｔ’’＿ｔｎ＿ａ，ｔｎ）  ・・・（１０’’’）
そして、合算部２４は、下記式（１１’’’）を用いて第２合算暗号部Ｃｓｍ＿２Ａ（ａ）＿（ｔ１，ｔ２，・・・，ｔｎ）を求めることができる。
Ｃｓｍ＿２Ａ（ａ）＿（ｔ１，ｔ２，・・・，ｔｎ）＝（Ｃ２Ａ＿ｃ，Ｃ２Ａ’’＿ｆ，ｔ１，ｔ２，・・・，ｔｎ）  ・・・（１１’’’）
ただし、Ｃ２Ａ＿ｃ＝ｃｔ’＿ｔ１＿ａ＋ｃｔ’＿ｔ２＿ａ＋・・・＋ｃｔ’＿ｔｎ＿ａ、Ｃ２Ａ’’＿ｆ＝（ｆｔ＿ｔ１＿ａ−Ｋ’’ｓｍＳＴ＿ｔ１＿ａ）＋（ｆｔ＿ｔ２＿ａ−Ｋ’’ｓｍＳＴ＿ｔ２＿ａ）＋・・・＋（ｆｔ＿ｔｎ＿ａ−Ｋ’’ｓｍＳＴ＿ｔｎ＿ａ）である。
【０１５８】
本変形例におけるその他の処理は上述した第１実施形態および変形例１と同様であるため、説明を省略する。
【０１５９】
（第２実施形態）
次に、第２実施形態に係る電力使用量計算システムについて説明する。第２実施形態に係る電力使用量計算システムは、鍵管理サーバ５０が、ＭＤＭＳ２０から変換鍵の取得要求を受信する前に、変換鍵の鍵要素を可能な範囲で事前に計算することで、変換鍵の取得要求に対する応答性を高めるようにしたものである。なお、電力使用量計算システムの基本的な構成や鍵管理サーバ５０を除く各機器の処理は第１実施形態と共通であるため、以下、第２実施形態において特徴的な鍵管理サーバ５０についてのみ説明し、第１実施形態と重複する説明は省略する。以下では、第２実施形態の鍵管理サーバ５０を鍵管理サーバ５０Ａと表記し、第１実施形態と区別する。
【０１６０】
図１１は、第２実施形態の鍵管理サーバ５０Ａの機能的構成の一例を示すブロック図である。鍵管理サーバ５０Ａは、例えば図１１に示すように、第１実施形態の鍵管理サーバ５０の構成に加えて、変換鍵記憶部５４と、変換鍵記憶制御部５５とを備える。また、鍵管理サーバ５０Ａは、第１実施形態の鍵管理サーバ５０が備える変換鍵生成部５２に代えて、変換鍵生成部５２Ａを備える。変換鍵生成部５２Ａおよび変換鍵記憶制御部５５の各機能は、ＣＰＵが実行する各種プログラムにより実現される。変換鍵記憶部５４は、例えば補助記憶部に確保される記憶領域である。
【０１６１】
変換鍵生成部５２Ａは、ＭＤＭＳ２０から第１変換鍵や第２変換鍵の取得要求を受信する前に、第１変換鍵や第２変換鍵の鍵要素を事前に計算する。すなわち、第１変換鍵は、上記式（２２）あるいは上記式（２３）に示したように、時刻情報ｔが共通でＳＭ＿ＩＤが異なる複数の暗号文の各々に対応する複数の鍵要素を組み合わせた鍵情報である。また、第２変換鍵は、上記式（２４）あるいは上記式（２５）に示したように、ＳＭ＿ＩＤが共通で時刻情報ｔが異なる複数の暗号文の各々に対応する複数の鍵要素を組み合わせた鍵情報である。ここで、時刻情報ｔの値は、第１単位時間の長さが固定であるため、鍵管理サーバ５０において事前に認識することができる。また、ＳＭ＿ＩＤに対応する秘密鍵Ｋｓｍは、秘密鍵記憶部５３が記憶している。したがって、第１変換鍵や第２変換鍵を構成する個々の鍵要素は、ＭＤＭＳ２０からの取得要求を待つことなく、鍵管理サーバ５０において事前に計算することが可能である。
【０１６２】
そこで、変換鍵生成部５２Ａは、鍵管理サーバ５０がアイドル状態のとき、つまりＭＤＭＳ２０から第１変換鍵や第２変換鍵の取得要求が送信されるのを待機しているときに、第１変換鍵や第２変換鍵の鍵要素を可能な範囲で生成する。そして、通信制御部５１がＭＤＭＳ２０から第１変換鍵や第２変換鍵の取得要求を受信すると、変換鍵生成部５２Ａは、事前に計算できなかった鍵要素があればその鍵要素のみを計算し、取得要求に含まれる時刻情報ｔやＳＭ＿ＩＤから必要な鍵要素を特定してこれらを組み合わせることで、第１変換鍵や第２変換鍵を生成する。このように、変換鍵生成部５２Ａが第１変換鍵や第２変換鍵の鍵要素を可能な範囲で事前に計算しておくことで、第１変換鍵や第２変換鍵の取得要求に対する応答性を高めることができる。
【０１６３】
変換鍵記憶部５４は、変換鍵生成部５２Ａが計算した第１変換鍵や第２変換鍵の鍵要素を記憶する。変換鍵記憶部５４は、第１変換鍵の鍵要素を記憶する第１記憶領域と、第２変換鍵の鍵要素を記憶する第２記憶領域とを有する。変換鍵生成部５２Ａが計算した第１変換鍵の鍵要素は、変換鍵記憶制御部５５によって第１記憶領域に格納され、変換鍵生成部５２Ａが計算した第２変換鍵の鍵要素は、変換鍵記憶制御部５５によって第２記憶領域に格納される。
【０１６４】
変換鍵記憶制御部５５は、変換鍵生成部５２Ａが計算した第１変換鍵や第２変換鍵の鍵要素を、変換鍵記憶部５４の第１記憶領域と第２記憶領域とに振分けながら格納する。このとき、変換鍵記憶制御部５５は、変換鍵生成部５２Ａが計算した鍵要素が、第１変換鍵と第２変換鍵とで共通する鍵要素である場合に、この鍵要素を変換鍵記憶部５４の第１記憶領域と第２記憶領域とにそれぞれ格納する。
【０１６５】
図１２は、第１変換鍵の鍵要素と第２変換鍵の鍵要素を概念的に示す模式図である。図１２において、ｄｉ，ｊはＳＭ（ｉ）が時刻情報ｔ＝ｊのときに集計した電力使用量を表し、ｋｉ，ｊはｄｉ，ｊを暗号化／復号するための鍵要素を表し、ｃｉ，ｊはｋｉ，ｊを用いてｄｉ，ｊを暗号化した結果の暗号文を表している。
【０１６６】
図１２に示す例において、例えば、時刻情報ｔ＝１のときに複数のＳＭ（ｉ）が集計した電力使用量の暗号文を合算した第１合算暗号文を第１変換合算暗号文に変換するための第１変換鍵は、ｋ１，１，ｋ２，１，ｋ３，１，・・・，ｋｉ＿ｍａｘ，１の鍵要素を持つ。また、ＳＭ（１）が複数の時刻情報ｔ＝ｉのときに各々集計した電力使用量の暗号文を合算した第２合算暗号文を第２変換合算暗号文に変換するための第２変換鍵は、ｋ１，１，ｋ１，２，ｋ１，３，・・・，ｋ１，ｊ＿ｍａｘの鍵要素を持つ。これらの鍵要素のうち、ｋ１，１は第１変換鍵と第２変換鍵とで共通する鍵要素である。この例の場合、変換鍵生成部５２Ａによって鍵要素ｋ１，１が事前に計算されると、変換鍵記憶制御部５５が、この鍵要素ｋ１，１を変換鍵記憶部５４の第１記憶領域と第２記憶領域との双方に格納する。このように、変換鍵生成部５２Ａによって第１変換鍵と第２変換鍵とで共通する鍵要素が事前に計算された場合に、変換鍵記憶制御部５５が、この鍵要素を変換鍵記憶部５４の第１記憶領域と第２記憶領域との双方に格納することで、変換鍵生成部５２Ａによる鍵要素の計算回数を減らし、処理の効率化を図ることができる。
【０１６７】
図１３は、変換鍵の鍵要素を事前計算する際の処理手順の一例を示すフローチャートである。まず、変換鍵生成部５２Ａは、鍵管理サーバ５０がアイドル状態であるか否かを判定する（ステップＳ５０１）。そして、鍵管理サーバ５０がアイドル状態であれば（ステップＳ５０１：Ｙｅｓ）、変換鍵生成部５２Ａは、未計算で事前計算が可能な変換鍵の鍵要素があるか否かを判定する（ステップＳ５０２）。そして、未計算で事前計算が可能な変換鍵の鍵要素があれば（ステップＳ５０２：Ｙｅｓ）、変換鍵生成部５２Ａが未計算で事前計算が可能な変換鍵の鍵要素を計算し、変換鍵記憶制御部５５が、変換鍵生成部５２Ａにより計算された鍵要素を、変換鍵記憶部５４の対応する記憶領域に格納する（ステップＳ５０３）。すなわち、変換鍵生成部５２Ａにより計算された鍵要素が第１変換鍵のみの鍵要素であれば、変換鍵記憶制御部５５は、この鍵要素を変換鍵記憶部５４の第１記憶領域に格納する。また、変換鍵生成部５２Ａにより計算された鍵要素が第２変換鍵のみの鍵要素であれば、変換鍵記憶制御部５５は、この鍵要素を変換鍵記憶部５４の第２記憶領域に格納する。また、変換鍵生成部５２Ａにより計算された鍵要素が第１変換鍵と第２変換鍵とで共通する鍵要素であれば、変換鍵記憶制御部５５は、この鍵要素を変換鍵記憶部５４の第１記憶領域と第２記憶領域との双方に格納する。なお、鍵管理サーバ５０がアイドル状態でない場合や（ステップＳ５０１：Ｎｏ）、未計算で事前計算が可能な変換鍵の鍵要素がない場合は（ステップＳ５０２：Ｎｏ）、ステップＳ５０３の処理を行うことなくそのまま処理を終了する。
【０１６８】
以上説明したように、本実施形態に係る電力使用量計算システムによれば、鍵管理サーバ５０Ａの変換鍵生成部５２Ａが、ＭＤＭＳ２０から第１変換鍵や第２変換鍵の取得要求を受信する前に、第１変換鍵や第２変換鍵の鍵要素を可能な範囲で事前に計算するようにしているので、第１変換鍵や第２変換鍵の取得要求に対する応答性を高めることができる。また、変換鍵生成部５２Ａが事前計算した鍵要素が第１変換鍵と第２変換鍵とで共通する鍵要素である場合は、変換鍵記憶制御部５５がこの鍵要素を変換鍵記憶部５４の第１記憶領域と第２記憶領域との双方に格納するようにしているので、変換鍵生成部５２Ａによる鍵要素の計算回数を減らし、処理の効率化を図ることができる。
【０１６９】
なお、以上説明した実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。上記の新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。上記の実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均などの範囲に含まれる。
【符号の説明】
【０１７０】
１０  ＳＭ
１１  通信制御部
１２  暗号化部
１４  電力使用量計測部
２０  ＭＤＭＳ
２１  通信制御部
２４  合算部
２５  変換部
３０  ＥＭＳ
３１  通信制御部
３２  復号部
３５  電力制御実行部
４０  課金サーバ
４１  通信制御部
４２  復号部
４５  課金処理実行部
５０  鍵管理サーバ
５１  通信制御部
５２  変換鍵生成部
【図１】
2014153630.tif 000003
【図２】
2014153630.tif 000004
【図３】
2014153630.tif 000005
【図４】
2014153630.tif 000006
【図５】
2014153630.tif 000007
【図６】
2014153630.tif 000008
【図７】
2014153630.tif 000009
【図８】
2014153630.tif 000010
【図９】
2014153630.tif 000011
【図１０】
2014153630.tif 000012
【図１１】
2014153630.tif 000013
【図１２】
2014153630.tif 000014
【図１３】
2014153630.tif 000015