(57)【要約】【課題】エネルギー使用データ管理を提供する。【解決手段】特定の期間中の顧客の電気エネルギー使用を表わすエネルギー使用データを受領することを含む方法。エネルギー使用データは公益事業者のデジタル署名で署名されている。本方法は、エネルギー使用データのデータ・ブロックを選択する効果のある顧客の入力を受領することを含む。本方法は、前記入力に応答して、エネルギー使用データから選択されたデータ・ブロックを削除することを含む。本方法は、顧客に一意的な顧客毎鍵、初期化ベクトルおよびカウンタを使って、削除されたデータ・ブロックについてのハッシュ値を計算することを含む。本方法は、エネルギー使用データにおいて、削除されたデータ・ブロックを、該削除されたデータ・ブロックに対応する前記計算されたハッシュ値で置き換えることを含む。【選択図】図１Ａ
2015091137.tif 000002
【特許請求の範囲】
【請求項１】
特定の期間中の顧客の電気エネルギー使用を表わすエネルギー使用データを受領する段階であって、前記エネルギー使用データは公益事業者のデジタル署名で署名されている、段階と；
前記エネルギー使用データのデータ・ブロックを選択する効果のある顧客の入力を受領する段階と；
前記入力に応答して、前記エネルギー使用データから選択されたデータ・ブロックを削除する段階と；
前記顧客に一意的な顧客毎鍵、初期化ベクトルおよびカウンタを使って、前記削除されたデータ・ブロックについてのハッシュ値を計算する段階と；
前記エネルギー使用データにおいて、前記削除されたデータ・ブロックを、該削除されたデータ・ブロックに対応する前記計算されたハッシュ値で置き換える段階とを含む、
方法。
【請求項２】
請求項１記載の方法であって、さらに：
前記エネルギー使用データのうちの、共通の親をもつ少なくとも二つの逐次的なデータ・ブロックを含む諸データ・ブロックのセクションを選択する効果のある顧客の入力を受領する段階と；
前記入力に応答して、前記エネルギー使用データからデータ・ブロックの選択されたセクションを削除する段階と；
前記顧客毎鍵、前記初期化ベクトルおよび前記カウンタを使って、データ・ブロックの前記選択されたセクションにおける各データ・ブロックについて、ハッシュ値を計算する段階と；
さらに、共通の親についての親ハッシュ値を、前記共通の親の子ノードのハッシュ値の連結および前記顧客毎鍵に基づいて計算する段階と；
削除されたセクションを、前記親ハッシュ値で置き換える段階とを含む、
方法。
【請求項３】
請求項２記載の方法であって、前記削除されたデータ・ブロックについての前記ハッシュ値が式
【数１２】
2015091137.tif 000014
に従って計算され、ここで、
Hは前記削除されたデータ・ブロックについての前記ハッシュ値を表わし；
Dは前記データ・ブロックを表わし；
IVは前記初期化ベクトルを表わし；
iは前記カウンタを表わし；
Kは前記顧客毎鍵を表わし；
【数１３】
2015091137.tif 000015
は合意された演算子を表わす、
方法。
【請求項４】
請求項２記載の方法であって、前記共通の親ハッシュ値が式
HP(L,R)＝M(L‖R,K)
に従って計算され、ここで、
HPは前記共通親ハッシュ値を表わし；
Mは鍵付きハッシュ関数を表わし；
‖は連結演算子を表わし；
Lは第一の子ノードの第一のハッシュ値を表わし；
Rは第二の子ノードの第二のハッシュ値を表わし；
Kは前記顧客毎鍵を表わす、
方法。
【請求項５】
請求項４記載の方法であって：
前記初期化ベクトルは前記公益事業者によって選択されるランダムな数を含み；
前記カウンタは、最初のデータ・ブロックについての1の値で始まり、前記エネルギー使用データの各データ・ブロックについてインクリメントされ；
前記合意された関数はXORを含む、
方法。
【請求項６】
請求項２記載の方法であって、さらに：
前記ハッシュ値および前記親ハッシュ値を、前記選択されたデータ・ブロックおよび前記選択されたセクションについての置換としてそれぞれ含む前記エネルギー使用データをサードパーティーに通信する段階と；
前記公益事業者の前記デジタル署名がなされたルート・ノード、前記ハッシュ値および前記親ハッシュ値を含む修正されたマークル・ハッシュ木の再構成を可能にするよう、さらに前記顧客毎鍵を前記サードパーティーに通信する段階とを含む、
方法。
【請求項７】
請求項１記載の方法であって：
前記デジタル署名が、データ・ブロックについて計算されたハッシュ値を有する葉ノードおよび自らの子ノードのハッシュ値を有する非葉ノードを含む修正されたマークル・ハッシュ木のルート・ハッシュ値に対してなされ；
データ・ブロックについて計算される前記ハッシュ値は式
【数１４】
2015091137.tif 000016
に従って計算され、ここで、
Hは前記データ・ブロックについての前記ハッシュ値を表わし；
Dは前記データ・ブロックを表わし；
IVは前記初期化ベクトルを表わし；
iは前記カウンタを表わし；
Kは前記顧客毎鍵を表わし；
【数１５】
2015091137.tif 000017
は合意された演算子を表わし；
前記非葉ノードの前記ハッシュ値が式
HP(L,R)＝M(L‖R,K)
に従って計算され、ここで、
HPは前記共通親ハッシュ値を表わし；
Mは鍵付きハッシュ関数を表わし；
‖は連結演算子を表わし；
Lは第一の子ノードの第一のハッシュ値を表わし；
Rは第二の子ノードの第二のハッシュ値を表わし；
Kは前記顧客毎鍵を表わす、
方法。
【請求項８】
請求項７記載の方法であって：
葉ノードの前記ハッシュ値が、前記初期化ベクトル、前記カウンタおよび前記顧客毎鍵を使って計算され；
非葉ノードの前記ハッシュ値が、前記子ノードの連結および前記顧客毎鍵に対して作用する鍵付きハッシュ関数を使って計算され；
前記データ・ブロックが、メーター読みからのエネルギー使用データおよび前記メーター読みに関連付けられたメタデータを含み；
前記データ・ブロックの削除が前記ルート・ノードに影響しない、
方法。
【請求項９】
請求項７記載の方法であって：
前記顧客毎鍵は、前記修正されたマークル・ハッシュ木を構築するために前記公益事業者と共有され、前記ルート・ノードのルート・ハッシュ値を計算するために使用され；
前記顧客毎鍵は前記修正されたマークル・ハッシュ木を再構成するためにサードパーティーと共有される、
方法。
【請求項１０】
請求項１記載の方法であって：
前記エネルギー使用データが向上グリーン・ボタン・データ方式を使って通信され；
前記向上グリーン・ボタン・データ方式は：
修正されたマークル・ハッシュ木のルート・ノードの署名を含み、前記デジタル署名を生成するために使われたアルゴリズムを指定する第一の向上データ・クラス；
前記修正されたマークル・ハッシュ木を構築するために使われたハッシュ・アルゴリズムおよびダイジェストを生成するために使われたアルゴリズムについての情報ならびに前記初期化ベクトルを含む第二のデータ・クラス；
一つまたは複数のパワー使用サマリー要素のハッシュ値を含む第三のデータ・クラス；および
顧客が前記エネルギー使用データのある部分をサードパーティーから削除するときにマークル・ハッシュ木の計算のために使われるハッシュ値と、該ハッシュ値によって表わされる削除されたエネルギー使用データの時刻および継続時間と、該ハッシュ値によって削除されるデータ・ブロックの数とを含む第四のデータ・クラスを含む、
方法。
【請求項１１】
プログラミング・コードがエンコードされている非一時的なコンピュータ可読媒体であって、前記プログラミング・コードは：
特定の期間中の顧客の電気エネルギー使用を表わすエネルギー使用データを受領する段階であって、前記エネルギー使用データは公益事業者のデジタル署名で署名されている、段階と；
前記エネルギー使用データのデータ・ブロックを選択する効果のある顧客の入力を受領する段階と；
前記入力に応答して、前記エネルギー使用データから選択されたデータ・ブロックを削除する段階と；
前記顧客に一意的な顧客毎鍵、初期化ベクトルおよびカウンタを使って、前記削除されたデータ・ブロックについてのハッシュ値を計算する段階と；
前記エネルギー使用データにおいて、前記削除されたデータ・ブロックを、該削除されたデータ・ブロックに対応する前記計算されたハッシュ値で置き換える段階
とを含む動作を実行するまたは該動作の実行を制御するようプロセッサによって実行可能である、
非一時的なコンピュータ可読媒体。
【請求項１２】
前記動作がさらに：
前記エネルギー使用データのうちの、共通の親をもつ少なくとも二つの逐次的なデータ・ブロックを含む諸データ・ブロックのセクションを選択する効果のある顧客の入力を受領する段階と；
前記入力に応答して、前記エネルギー使用データからデータ・ブロックの選択されたセクションを削除する段階と；
前記顧客毎鍵、前記初期化ベクトルおよび前記カウンタを使って、データ・ブロックの前記選択されたセクションにおける各データ・ブロックについて、ハッシュ値を計算する段階と；
さらに、共通の親についての親ハッシュ値を、前記共通の親の子ノードのハッシュ値の連結および前記顧客毎鍵に基づいて計算する段階と；
削除されたセクションを、前記親ハッシュ値で置き換える段階とを含む、
請求項１１記載の非一時的なコンピュータ可読媒体。
【請求項１３】
請求項１２記載の非一時的なコンピュータ可読媒体であって、前記削除されたデータ・ブロックについての前記ハッシュ値が式
【数１６】
2015091137.tif 000018
に従って計算され、ここで、
Hは前記削除されたデータ・ブロックについての前記ハッシュ値を表わし；
Dは前記データ・ブロックを表わし；
IVは前記初期化ベクトルを表わし；
iは前記カウンタを表わし；
Kは前記顧客毎鍵を表わし；
【数１７】
2015091137.tif 000019
は合意された演算子を表わす、
非一時的なコンピュータ可読媒体。
【請求項１４】
請求項１２記載の非一時的なコンピュータ可読媒体であって、共通の親ハッシュ値が式
HP(L,R)＝M(L‖R,K)
に従って計算され、ここで、
HPは前記共通親ハッシュ値を表わし；
Mは鍵付きハッシュ関数を表わし；
‖は連結演算子を表わし；
Lは第一の子ノードの第一のハッシュ値を表わし；
Rは第二の子ノードの第二のハッシュ値を表わし；
Kは前記顧客毎鍵を表わす、
非一時的なコンピュータ可読媒体。
【請求項１５】
請求項１４記載の非一時的なコンピュータ可読媒体であって：
前記初期化ベクトルは前記公益事業者によって選択されるランダムな数を含み；
前記カウンタは、最初のデータ・ブロックについての1の値で始まり、前記エネルギー使用データの各データ・ブロックについてインクリメントされ；
前記合意された関数はXORを含む、
非一時的なコンピュータ可読媒体。
【請求項１６】
請求項１２記載の非一時的なコンピュータ可読媒体であって、前記動作がさらに：
前記ハッシュ値および前記親ハッシュ値を、前記選択されたデータ・ブロックおよび前記選択されたセクションについての置換としてそれぞれ含む前記エネルギー使用データをサードパーティーに通信する段階と；
前記公益事業者の前記デジタル署名がなされたルート・ノード、前記ハッシュ値および前記親ハッシュ値を含む修正されたマークル・ハッシュ木の再構成を可能にするよう、さらに前記顧客毎鍵を前記サードパーティーに通信する段階とを含む、
非一時的なコンピュータ可読媒体。
【請求項１７】
請求項１１記載の非一時的なコンピュータ可読媒体であって：
前記デジタル署名が、データ・ブロックについて計算されたハッシュ値を有する葉ノードおよび自らの子ノードのハッシュ値を有する非葉ノードを含む修正されたマークル・ハッシュ木のルート・ハッシュ値に対してなされ；
データ・ブロックについて計算される前記ハッシュ値は式
【数１８】
2015091137.tif 000020
に従って計算され、ここで、
Hは前記データ・ブロックについての前記ハッシュ値を表わし；
Dは前記データ・ブロックを表わし；
IVは前記初期化ベクトルを表わし；
iは前記カウンタを表わし；
Kは前記顧客毎鍵を表わし；
【数１９】
2015091137.tif 000021
は合意された演算子を表わし；
前記非葉ノードの前記ハッシュ値が式
HP(L,R)＝M(L‖R,K)
に従って計算され、ここで、
HPは前記共通親ハッシュ値を表わし；
Mは鍵付きハッシュ関数を表わし；
‖は連結演算子を表わし；
Lは第一の子ノードの第一のハッシュ値を表わし；
Rは第二の子ノードの第二のハッシュ値を表わし；
Kは前記顧客毎鍵を表わす、
非一時的なコンピュータ可読媒体。
【請求項１８】
請求項１７記載の非一時的なコンピュータ可読媒体であって：
葉ノードの前記ハッシュ値が、前記初期化ベクトル、前記カウンタおよび前記顧客毎鍵を使って計算され；
非葉ノードの前記ハッシュ値が、前記子ノードの連結および前記顧客毎鍵に対して作用する鍵付きハッシュ関数を使って計算され；
前記データ・ブロックが、メーター読みからのエネルギー使用データおよび前記メーター読みに関連付けられたメタデータを含み；
前記データ・ブロックの削除が前記ルート・ノードに影響しない、
非一時的なコンピュータ可読媒体。
【請求項１９】
請求項１７記載の非一時的なコンピュータ可読媒体であって：
前記顧客毎鍵は、前記修正されたマークル・ハッシュ木を構築するために前記公益事業者と共有され、前記ルート・ノードのルート・ハッシュ値を計算するために使用され；
前記顧客毎鍵は前記修正されたマークル・ハッシュ木を再構成するためにサードパーティーと共有される、
非一時的なコンピュータ可読媒体。
【請求項２０】
請求項１１記載の非一時的なコンピュータ可読媒体であって：
前記エネルギー使用データが向上グリーン・ボタン・データ方式を使って通信され；
前記向上グリーン・ボタン・データ方式は：
修正されたマークル・ハッシュ木のルート・ノードの署名を含み、前記デジタル署名を生成するために使われたアルゴリズムを指定する第一の向上データ・クラス；
前記修正されたマークル・ハッシュ木を構築するために使われたハッシュ・アルゴリズムおよびダイジェストを生成するために使われたアルゴリズムについての情報ならびに前記初期化ベクトルを含む第二のデータ・クラス；
一つまたは複数のパワー使用サマリー要素のハッシュ値を含む第三のデータ・クラス；および
顧客が前記エネルギー使用データのある部分をサードパーティーから削除するときにマークル・ハッシュ木の計算のために使われるハッシュ値と、該ハッシュ値によって表わされる削除されたエネルギー使用データの時刻および継続時間と、該ハッシュ値によって削除されるデータ・ブロックの数とを含む第四のデータ・クラスを含む、
非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本願は2013年11月7日に出願された米国仮出願第61/901,308号の利益および優先権を主張するものである。同出願の内容はここに参照によってその全体において組み込まれる。
【０００２】
分野
本稿で論じる実施形態は、エネルギー使用データ管理に関する。
【背景技術】
【０００３】
粒度の細かいエネルギー使用データは顧客についての機微な情報を漏らすことがありうる。さらに、そのようなデータを利用するいくつかのサービス・プロバイダーが登場している。該サービス・プロバイダーはエネルギー使用データを受け取って、デマンドレスポンス・サービスのようなサービスを行なうことがある。サービス・プロバイダーはスマートグリッド技術の有効性および送電網の効率を改善しうるが、顧客のプライバシーを優先させはしない。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本願で特許請求される主題は、何らかの欠点を解決するまたは上記のような環境でのみ動作する実施形態に限定されない。むしろ、この背景は、本稿に記載されるいくつかの実施形態が実施されうる一つの例示的な技術領域を示すために与えられているだけである。
【課題を解決するための手段】
【０００５】
ある実施形態のある側面によれば、特定の時間期間中の顧客の電気エネルギー使用のようなエネルギー使用を表わすエネルギー使用データを受け取ることを含みうる。エネルギー使用データは、公益事業者〔ユーティリティー〕のデジタル署名で署名されていてもよい。本方法は、前記エネルギー使用データのあるデータ・ブロックを選択する効果のある顧客の入力を受け取ることを含んでいてもよい。本方法は、前記入力に応答して、前記エネルギー使用データから前記選択されたデータ・ブロックを削除することを含んでいてもよい。本方法は、前記顧客に一意的な顧客毎の鍵、初期化ベクトルおよびカウンタを使って前記削除されたデータ・ブロックについてのハッシュ値を計算することを含んでいてもよい。本方法は、前記エネルギー使用データにおいて、前記削除されたデータ・ブロックを、該削除されたデータ・ブロックに対応する前記計算されたハッシュ値で置き換えることを含んでいてもよい。
【０００６】
実施形態の目的および利点は、少なくとも、請求項において具体的に指摘される要素、特徴および組み合わせによって、実現および達成されるであろう。
【０００７】
以上の一般的な記述および以下の詳細な記述はいずれも例示および説明するものであり、特許請求される発明を制約するものではないことは理解しておくものとする。
【図面の簡単な説明】
【０００８】
例示的な実施形態について、付属の図面の使用を通じてさらに具体的かつ詳細に記述し、説明する。
【図１Ａ】電気エネルギー使用データのようなエネルギー使用データが通信されうる例示的なシステムのブロック図である。
【図１Ｂ】図１Ａのシステムにおけるエネルギー使用データの例示的な管理を示す図である。
【図２】図１Ａおよび図１Ｂのシステムにおいて実装されうる、例示的な修正されたマークル・ハッシュ木を示す図である。
【図３】図１Ａおよび図１Ｂのシステムのようなデータ通信システムにおいて実装されうる、例示的な向上グリーン・ボタン方式を示す図である。
【図４Ａ】図３の向上グリーン・ボタン方式において実装されうる向上データ・クラスの例を表わす図である。
【図４Ｂ】図３の向上グリーン・ボタン方式において実装されうる向上データ・クラスのもう一つの例を表わす図である。
【図４Ｃ】図３の向上グリーン・ボタン方式において実装されうる向上データ・クラスのもう一つの例を表わす図である。
【図４Ｄ】図３の向上グリーン・ボタン方式において実装されうる向上データ・クラスのもう一つの例を表わす図である。
【図５Ａ】データ管理の例示的な方法の流れ図の第一の部分である。
【図５Ｂ】本稿に記載される少なくとも一つの実施形態に基づいて構成された、図５Ａのデータ管理の例示的な方法の流れ図の別の部分である。
【発明を実施するための形態】
【０００９】
スマートメーターおよび先進計量インフラストラクチャー（AMI:  advanced  metering  infrastructure）の幅広い浸透は、公益事業者と顧客との間の双方向的な通信および粒度の細かいエネルギー消費データの収集を可能にした。スマートメーターの幅広い浸透は、エネルギー・システムの発電および分配側および需要側の両方にいくらかの恩恵をもたらしうる。
【００１０】
たとえば、公益事業者はピーク需要をよりよく予測するために収集されたデータを使うことができ、それはサービス中断を回避し、分配網の安定性を改善する助けとなりうる。また、顧客は、自分のエネルギー消費パターンを知り、最適化してエネルギー効率を改善することによって裨益しうる。
【００１１】
スマートグリッド・システムにおけるデータ管理および共有をめぐる展望はますます複雑になりつつある。たとえば、顧客のエネルギー使用データに対するデータ分析はしばしば公益事業者によってサードパーティーに外部委託される。一つの例が、公益事業会社ＰＧ＆Ｅと、ＰＧ＆Ｅに推薦サービスを提供するサービス型ソフトウェア（software-as-a-service）会社のオーパワー（Opower）との間の提携である。サードパーティー・サービスのもう一つの例は、大規模DRサービスを容易にするデマンドレスポンス（DR:  demand-response）アグリゲーターを含む。
【００１２】
そのようなサードパーティー・サービスは、スマートグリッドにおいて重要な役割を演じうるが、顧客のプライバシーは最優先事項ではないことがある。たとえば、いくつかのDRアグリゲーターは、メーター読みデータを取得し、自らのサービスの提供を容易にするために独自の計量装置を現場に設置する。こうして、個人特定可能な情報と組み合わされたエネルギー使用データが公益事業者によっておよびDRアグリゲーターによって収集されうる。DRアグリゲーターは望むだけ多くの情報を、そのような情報がサービス提供に必要かどうかに関わりなく、収集できる。サービスがサードパーティーに外部委託され、顧客がデータ共有に対して直接的な制御をもたない場合に同様な懸念が生じうる。
【００１３】
よって、本稿で論じられるいくつかの実施形態は、プライバシーを向上させた仕方でエネルギー使用データを管理し、記憶し、共有するための顧客中心の枠組みを含む。いくつかの実施形態は、サードパーティーのサービス・プロバイダーがデータの真正性を確信できるようにしつつ、開示されるエネルギー使用情報の量を顧客が柔軟に制御できるようにする機構を含む。実装は、向上したグリーン・ボタン・データ方式を介してであってもよい。いくつかの実施形態は、サードパーティーのサービス・プロバイダーによって追加的な計量装置を設置することなく実装されうる。このことは、顧客がデータ開示についてより大きな制御をもつことを許容しうる。このおよびその他の実施形態は、付属の図面を参照しつつ記述される。
【００１４】
図１Ａおよび図１Ｂは、エネルギー使用データが通信されうる例示的なシステム１００のブロック図を示している。たとえば、エネルギー使用データは、該エネルギー使用データに基づいてサービスが実行されうるよう、サードパーティー１２０に通信されてもよい。システム１００では、サイト１２８におけるエネルギー使用を示すエネルギー使用データが生成されてもよい。たとえば、エネルギー使用データは、サイト１２８における電気エネルギー使用を表わしていてもよい。サイト１２８は顧客１０２に関連していてもよく、顧客１０２によって実行されるアクションから帰結してもよい。よって、エネルギー使用データは、顧客１０２に対してプライバシーの懸念を呈しうる。顧客１０２の行動およびアクションがエネルギー使用データから導出されうるからである。たとえば、顧客１０２が特定の時間に使用する特定の機器がエネルギー使用データから導出されうる。
【００１５】
システム１００は、顧客１０２がサイト１２８において生成されるエネルギー使用データに対する制御をもつ顧客中心のシステムとして構成されてもよい。たとえば、システム１００は顧客領域１２６を含んでいてもよい。顧客領域１２６は顧客装置１０４、貯蔵部１２４またはその何らかの部分およびネットワーク１２２の何らかの部分を含んでいてもよい。エネルギー使用データが顧客領域１２６にあるとき、顧客１０２は少なくとも部分的にエネルギー使用データを制御しうる。たとえば、顧客１０２は、エネルギー使用データのどの部分が閲覧可能またはプライベートであるかおよび／またはどのエンティティ（たとえばサードパーティー１２０）がエネルギー使用データへのアクセスをもつかを制御しうる。
【００１６】
システム１００において、顧客１０２は、エネルギー使用データまたはその何らかの部分をサードパーティー１２０に提供する誘因をもちうる。たとえば、サードパーティー１２０は、顧客１０２がエネルギー効率またはデマンドレスポンス寄与のために報償を受け取るかどうかを決定するためにエネルギー使用データを評価するサービス・プロバイダーを含んでいてもよい。エネルギー使用データの通信に先立って、顧客１０２は、プライバシーの問題を導入しうるエネルギー使用データの利用可能性を制限するよう、エネルギー使用データの諸部分を編集してもよい。
【００１７】
しかしながら、顧客１０２が編集しうるエネルギー使用データの量には制限があってもよい。具体的には、エネルギー使用データの許される編集は、サードパーティー１２０が修正されたエネルギー使用データを評価できないほど大規模であってはならない。サードパーティー１２０は、少なくともサービスを実行することに関わる量のエネルギー使用データを受け取ることに関心をもつことがありうる。たとえば、いくつかの実施形態では、サードパーティー１２０はDRアグリゲーターを含んでいてもよい。DRアグリゲーターはあるDRイベントの間のサイト１２８におけるエネルギー使用を評価して、顧客があるエネルギー削減量を満たしたかどうかを見きわめてもよい。よって、DRアグリゲーターは、そのDRイベントを含む時間期間からのエネルギー使用データおよび／または何らかの履歴エネルギー使用データを受け取ることに関心をもつことがある。
【００１８】
さらに、サードパーティー１２０は、エネルギー使用データのどの部分が編集されているかについての指示をほしがることがある。これは、不完全なまたは欺瞞的なエネルギー使用データを減らしうる。たとえば、DRイベントへの参加のための報償を受け取るために、顧客１０２はサイト１２８におけるエネルギー使用を特定の量だけ削減することがありうる。サードパーティー１２０が、顧客１０２がその削減量を満たしたかどうかを評価するために雇われてもよい。不完全なエネルギー使用データは、顧客１０２がその特定量のエネルギーを削減しなかったことを示すデータを単に消去するエネルギー使用データを含みうる。サードパーティー１２０は、顧客１０２に対して、削減を評価するために十分なデータがないことを示すエラーを返してもよい。
【００１９】
さらに、サードパーティー１２０は、修正されたデータの有効性および／または源についての保証をほしがることがある。システム１００において、公益事業者１０８はエネルギーをサイト１２８に提供して、スマートメーターを使ってエネルギー使用データを収集しうる。よって、サードパーティー１２０は、エネルギー使用データの源が公益事業者１０８であり、エネルギー使用データがサードパーティー１２０に通信される前に工作されていないという保証をほしがることがある。
【００２０】
システム１００において、サードパーティー１２０がエネルギー使用データの源を検証し（verify）、編集を含むエネルギー使用データの精確さを認証する（authenticate）ことを可能にしつつ、顧客１０２がエネルギー使用データの諸部分を編集することを許容するデータ構造が用いられてもよい。本稿で論じられるいくつかの実施形態では、用いられるデータ構造は修正されたマークル・ハッシュ木を含んでいてもよい。修正されたマークル・ハッシュ木は一般に、編集された部分をもつエネルギー使用データの検証および認証を許容する編集可能署名の生成を可能にしうる。
【００２１】
いくつかの実施形態では、修正マークル・ハッシュ木の使用は、少なくとも部分的には、2013年7月16日に出願された「顧客中心のエネルギー使用データの共有」という名称の米国特許出願第13/942,995号で論じられるように実行されてもよい。同出願の内容はここに参照によってその全体において組み込まれる。たとえば、本稿に記載されるいくつかの実施形態は、同出願に記載される編集可能なデジタル署名方式を含んでいてもよい。
【００２２】
図１Ａに描かれるシステム１００は、公益事業者１０８、サードパーティー１２０、サイト１２８、貯蔵部１２４および顧客１０２を含んでいてもよい。公益事業者１０８は、公益事業者サーバー１１０と関連付けられていてもよく、顧客１０２はサイト１２８および顧客装置１０４と関連付けられていてもよく、サードパーティー１２０はサードパーティー・サーバー１１４と関連付けられていてもよい。「……と関連付けられている」という表現は、そのエンティティおよび／または顧客１０２が直接または間接的に、サーバー（１１０または１１４）またはサイト１２８および顧客装置１０４を、所有するまたは他の仕方で制御することを示しうる。たとえば、サードパーティー・サーバー１１４はサードパーティー１２０によって制御されていてもよい。さらに、サイト１２８および顧客装置１０４は顧客１０２によって制御されていてもよい。よって、顧客１０２との通信および顧客１０２に帰されるアクションが顧客装置１０４において生起してもよい。同様に、サードパーティー１２０との通信およびサードパーティー１２０に帰されるアクションがサードパーティー・サーバー１１４において生起してもよい。
【００２３】
システム１００において、エネルギー使用データまたはその一部ならびに他のメッセージおよび情報を含むデータ・セットが公益事業者サーバー１１０、サードパーティー・サーバー１１４、貯蔵部１２４および顧客装置１０４の間でネットワーク１２２を介して通信されてもよい。ネットワーク１２２は有線または無線であってもよく、スター構成、トークンリング構成または他の構成を含む数多くの構成をもちうる。ネットワーク１２２は、ローカルエリアネットワーク（LAN）、広域ネットワーク（WAN）（たとえばインターネット）および／またはそれを通じて複数の装置が通信しうる他の相互接続されたデータ経路を含みうる。いくつかの実施形態では、ネットワーク１２２はピアツーピア・ネットワークを含んでいてもよい。ネットワーク１２２は、多様な異なる通信プロトコルでデータの通信を可能にしうる遠隔通信ネットワークに結合されていてもよいし、あるいは該遠隔通信ネットワークの一部を含んでいてもよい。いくつかの実施形態では、ネットワーク１２２は、ショート・メッセージ交換サービス（SMS）、マルチメディア・メッセージ交換サービス（MMS）、ハイパーテキスト転送プロトコル（HTTP）、直接データ接続、無線アプリケーション・プロトコル（WAP）、電子メールなどを介してデータを送受信するために、ブルートゥース（登録商標）通信ネットワークおよび／またはセルラー通信ネットワークを含んでいてもよい。
【００２４】
システム１００において、公益事業者１０８は、エネルギー（たとえば電気）をサイト１２８に分配してもよい。公益事業者１０８によるエネルギーのサイト１２８への分配は図１Ａでは１３２において示されている。さらに、公益事業者１０８は、サイト１２８からエネルギー使用データを収集してもよい。エネルギー使用データの収集は図１Ａでは１３０において示されている。公益事業者１０８は、電気の生産、伝送および／または分配に関わるいかなるエンティティを含んでいてもよい。公益事業者１０８は、公有であってもよいし、あるいは私有であってもよい。公益事業者１０８のいくつかの例は、発電所、エネルギー協同組合（energy  cooperative）および独立系統運用機関（ISO:  independent  system  operator）を含んでいてもよい。
【００２５】
いくつかの実施形態では、サードパーティー１２０（本稿の他所で論じる）はDRアグリゲーターを含んでいてもよく、エネルギー使用データは顧客１０２、貯蔵部１２４およびサードパーティー・サーバー１１４の間で、少なくとも部分的にはあるDRイベントのコンテキストにおけるエネルギー使用の評価のために、通信されてもよい。これらおよび他の実施形態において、公益事業者１０８はDRイベントについての条件を設定してもよい。たとえば、公益事業者１０８はDRイベントへの参加について誘因交換、DRイベントの時間期間（time  period）、DRイベントの継続時間（duration）およびDRイベントについてのエネルギー使用削減を設定してもよい。DRイベントの条件は、顧客装置１０４を介して顧客１２０に、および／またはサードパーティー・サーバー１１４を介してサードパーティー１２０に通信されてもよい。
【００２６】
さらに、本稿で論じられる実施形態の一つまたは複数は、エネルギー使用データ以外のデータが顧客１０２または他のデータ主題とサードパーティーとの間で通信されてもよい他のシステムにおいて利用されてもよい。これらの実施形態では、公益事業者１０８はより一般に、顧客１０２または他のデータ主題による編集の前にデータに署名するまたは他の仕方でデータを最初に認証するエンティティであってもよい。
【００２７】
サイト１２８は、建物、構造物、設備または公益事業者１０８によって分配される電気を使用する他のオブジェクトを含んでいてもよい。サイト１２８は、スマートメーターのような、サイト１２８に分配されるエネルギーを測定するメーターを適応させていてもよい。メーターは、公益事業者１０８にエネルギー使用データを通信してもよい。いくつかの実施形態では、エネルギー使用データはネットワーク１２２を介して公益事業者１０８に通信されてもよい。エネルギー使用データに基づいて、公益事業者１０８はサイト１２８のエネルギー使用を確かめることができ、それがたとえば顧客１０２に料金請求するために使用されてもよい。エネルギー使用データ以外のデータが通信される実施形態では、サイト１２８は省略されてもよい。追加的または代替的に、これらおよび他の実施形態において、顧客装置１０４およびサイト１２８および／またはそれに帰される一つまたは複数の特性または機能が組み合わされてもよい。
【００２８】
公益事業者１０８に関連付けられた公益事業者サーバー１１０は、プロセッサ、メモリおよびネットワーク通信機能を含むハードウェア・サーバーを含んでいてもよい。図示した実施形態では、公益事業者サーバー１１０は、顧客装置１０４、貯蔵部１２４およびサードパーティー・サーバー１１４にネットワーク１２２を介してデータを送受信するために、ネットワーク１２２に結合されていてもよい。
【００２９】
公益事業者サーバー１１０は、署名モジュール１１２を含んでいてもよい。署名モジュール１１２は、本稿に記載されるプライバシー保持通信のためのコードおよびルーチンを含んでいてもよい。いくつかの実施形態では、署名モジュール１１２は、フィールド・プログラム可能なゲート・アレイ（FPGA）または特定用途向け集積回路（ASIC）を含むハードウェアを使って実装されてもよい。他のいくつかの事例では、署名モジュール１１２はハードウェアとソフトウェアの組み合わせを使って実装されてもよい。
【００３０】
署名モジュール１１２は、計量装置またはサイト１２８における他の好適なデータ測定システムからエネルギー使用データを受信するよう構成されていてもよい。署名モジュール１１２において受信されるエネルギー使用データは、時間の関数としてのエネルギー使用を表わすデータを含んでいてもよい。署名モジュール１１２は、サードパーティー１２０がエネルギー使用データの源を検証し、顧客１０２から受信されるエネルギー使用データを認証することを可能にしつつ、顧客１０２がエネルギー使用データの諸部分を編集することを可能にするために、修正されたマークル・ハッシュ木のようなデータ構造を使ってもよい。
【００３１】
修正されたマークル・ハッシュ木を実装する実施形態において、署名モジュール１１２は、修正されたマークル・ハッシュ木のルート・ハッシュを計算してもよく、それが公益事業者１０８の秘密鍵を使って署名されてもよい。ルート・ハッシュは、顧客に一意的な顧客毎の鍵、鍵付きハッシュ関数、初期化ベクトルおよびカウンタに基づいて計算されてもよい。鍵付きハッシュ関数、初期化ベクトルおよび顧客毎の鍵の一つまたは複数はエネルギー使用データとともに含まれていてもよく、それにより修正されたマークル・ハッシュ木が再構成されることができるおよび／またはエネルギー使用データの諸部分が編集されることができる。
【００３２】
顧客１０２はたとえば、個人、個人のグループまたは他のエンティティを含んでいてもよい。サイト１２８および顧客装置１０４は顧客１０２に関連付けられていてもよい。いくつかの実施形態では、顧客１０２はエネルギー使用データのどの部分を編集するかを決定してもよい。
【００３３】
顧客１０２に関連付けられた顧客装置１０４は、プロセッサ、メモリおよびネットワーク通信機能を含むコンピューティング装置を含んでいてもよい。たとえば、顧客装置１０４は、ラップトップ・コンピュータ、デスクトップ・コンピュータ、タブレット・コンピュータ、携帯電話、携帯情報端末（「PDA」）、スマートフォン、モバイル電子メール装置、携帯ゲーム・プレーヤー、携帯音楽プレーヤー、一つまたは複数のプロセッサが埋め込まれたまたは結合されたテレビジョンまたはネットワーク１２２にアクセスする機能をもつ他の電子装置を含んでいてもよい。
【００３４】
顧客装置１０４は、顧客プライバシー・モジュール１０６を含んでいてもよい。顧客プライバシー・モジュール１０６は、プライバシーを保持する通信のためのコードおよびルーチンを含んでいてもよい。いくつかの実施形態では、顧客プライバシー・モジュール１０６は、部分的には、コンピューティング装置（たとえば顧客装置１０４）上に記憶されていてもよいシンクライアント・アプリケーションとして、部分的にはたとえばサードパーティー・サーバー１１４、貯蔵部１２４および公益事業者サーバー１１０のような他のコンピューティング装置上に記憶されていてもよいコンポーネントとして作用しうる。いくつかの実施形態では、顧客プライバシー・モジュール１０６は、FPGAまたはASICを含むハードウェアを使って実装されてもよい。他のいくつかの実施形態では、顧客プライバシー・モジュール１０６は、ハードウェアとソフトウェアの組み合わせを使って実装されてもよい。
【００３５】
いくつかの実施形態では、たとえばシステム１００がDRイベントのコンテキストにおいて使用される実施形態では、オープンADRが使用されてもよい。オープンADRをサポートするために、顧客装置１０４は、貯蔵部１２４と対話するための追加的な機能をもつオープンADRクライアント・ソフトウェア（たとえばVENすなわちVirtual  End  Node）を備えていてもよい。これが本稿に記載されるプロセスにおける一つまたは複数のステップを自動化しうる。
【００３６】
貯蔵部１２４は、公益事業者サーバー１１０からエネルギー使用データを受信してもよい。顧客プライバシー・モジュール１０６は、貯蔵部１２４からのエネルギー使用データをダウンロードするまたは他の仕方でこれにアクセスするよう構成されていてもよい。顧客プライバシー・モジュール１０６は、顧客１０２がエネルギー使用データを閲覧できるようにしてもよい。さらに、顧客プライバシー・モジュール１０６は、削除すべきエネルギー使用データの諸部分の顧客１０２による選択を可能にしてもよい。
【００３７】
顧客プライバシー・モジュール１０６は追加的または代替的に、貯蔵部プライバシー・モジュール１８０内に含まれているまたは貯蔵部１２４によってホストされているのでもよい。これらおよび他の実施形態において、顧客装置１０４は、顧客プライバシー・モジュール１０６および／または該顧客プライバシー・モジュール１０６に通信された情報にアクセスするために使用されうる、フロントエンド装置のはたらきをしてもよい。たとえば、顧客プライバシー・モジュール１０６は、ブラウザーにおいて実行されてもよく、該ブラウザーが、それを通じて顧客１０２が顧客プライバシー・モジュール１０６と接点をもちうるインターフェースを提供してもよい。
【００３８】
サードパーティー１２０は、エネルギー使用データを受領することに関心をもつまたはエネルギー使用データを提供されてもよいサービス・プロバイダーまたは他の任意のエンティティを含んでいてもよい。サードパーティー１２０は、いかなるサービス・プロバイダーを含んでいてもよい。たとえば、サードパーティー１２０は、顧客１０２および／または公益事業者１０８；エネルギー市場、エネルギー・システム設備の普及／使用、広告に関心をもつ商業エンティティ；政府の監督機関；民間の監督機関などによって、エネルギー使用データを評価するよう委託または他の仕方で雇われてもよい。
【００３９】
いくつかの実施形態では、サードパーティー１２０は、顧客１０２および／または公益事業者１０８によって完全に信頼されていなくてもよい。これらおよび他の実施形態において、プライバシーの懸念を最小にするために、システム１００におけるサードパーティー１２０へのエネルギー使用データ開示は最小にされてもよい。たとえば、エネルギー使用データは、あるサービスの実行に関わるデータのみがサードパーティー１２０に通信されうるよう修正されてもよい。
【００４０】
サードパーティー１２０は、サードパーティー・サーバー１１４と関連付けられていてもよい。サードパーティー・サーバー１１４は、プロセッサ、メモリおよび通信機能を含むハードウェア・サーバーを含んでいてもよい。図示した実施形態では、サードパーティー・サーバー１１４は、顧客装置１０４および／または公益事業者サーバー１１０との間でネットワーク１２２を介して情報を送受信するために、ネットワーク１２２に結合されていてもよい。
【００４１】
描かれている実施形態では、サードパーティー・サーバー１１４はデータ検証モジュール１１６を含んでいてもよい。データ検証モジュール１１６は、本稿に記載されるプライバシーを保持する通信のためのコードおよびルーチンを含んでいてもよい。いくつかの実施形態では、データ検証モジュール１１６は、FPGAまたはASICを含むハードウェアを使って実装されてもよい。他のいくつかの事例では、署名モジュール１１２はハードウェアとソフトウェアの組み合わせを使って実装されてもよい。
【００４２】
データ検証モジュール１１６は、顧客装置１０４、顧客１０２または貯蔵部１２４からあるエネルギー使用データを要求するよう構成されていてもよい。たとえば、データ検証モジュール１１６は、該あるエネルギー使用データを、貯蔵部プライバシー・モジュール１８０から要求してもよい。これらの実施形態では、次いで顧客１０２が、顧客装置１０４を介して貯蔵部プライバシー・モジュール１８０とインターフェースをもつことによって該要求を受領してもよい。
【００４３】
サードパーティー１２０によって要求される上記あるエネルギー使用データは、特定の時間期間からのデータを含んでいてもよい。たとえば、前記特定の時間期間は、あるDRイベントに対応する時間期間、あるDRイベントの前および／または後の時間期間、ベースライン計算のための履歴時間期間、あるできごと以降（たとえばヒーターまたはエアコン・ユニットの設置以降の）時間期間、ある特定の期間の間の時間期間（たとえば2013年の6月および7月からの午後1:00から午後3:00まで）または他の任意のあるエネルギー使用データを含んでいてもよい。
【００４４】
上記DRイベントからの上記あるエネルギー使用データは、評価のための基礎として使用されてもよい。たとえば、サードパーティー１２０がDRアグリゲーターを含む実施形態では、エネルギー使用データは、顧客１０２がDRイベントに従っているかどうかを判定するために使用されてもよい。
【００４５】
データ検証モジュール１１６は、一つまたは複数の編集された部分を含むエネルギー使用データを受け取るよう構成されていてもよい。エネルギー使用データが受信されたのち、データ検証モジュール１１６は、該エネルギー使用データに対する編集可能署名の生成を可能にするために使われたデータ構造を再構成してもよい。再構成されたデータ構造に基づいて、データ検証モジュール１１６はエネルギー使用データの源を検証するおよび／またはエネルギー使用データを認証することができる。
【００４６】
いくつかの実施形態では、エネルギー使用データに対する編集可能署名の生成を可能にするために、修正されたマークル・ハッシュ木が使用されてもよい。修正されたマークル・ハッシュ木を再構成することによって、修正されたマークル・ハッシュ木の諸ノードのハッシュ値が計算でき、公益事業者１０８の署名が検証できる。このようにして、エネルギー使用データは、編集された部分があっても認証および検証されうる。これらおよび他の実施形態において、データ検証モジュール１１６は、ルート・ハッシュ値を計算し、公益事業者１０８の署名に対してルート・ハッシュ値を検証するよう構成されていてもよい。いくつかの実施形態では、鍵付きハッシュ関数、初期化ベクトルおよび顧客毎の鍵の一つまたは複数がエネルギー使用データとともに含まれていてもよく、それにより修正されたマークル・ハッシュ木が再構成されうる。さらに、サードパーティー検証モジュール１１６は、ルート・ノードに対する公益事業者１０８の署名を検証するために公開鍵にアクセスしてもよい。
【００４７】
貯蔵部１２４は、ネットワーク１２２を介した通信機能をもちうる任意の記憶装置または記憶サーバーを含んでいてもよい。貯蔵部１２４は、エネルギー使用データが少なくとも一時的にそこに記憶されることを許容してもよい。次いで、エネルギー使用データがアクセスされてもよい。たとえば、公益事業者１０８は、サイト１２８から収集されたエネルギー使用データを貯蔵部１２４に通信してもよい。次いで、顧客装置１０４はエネルギー使用データまたはその一部を貯蔵部１２４からダウンロードしてもよい。顧客１０２は、貯蔵部１２４上のダウンロードされたエネルギー使用データをブラウズおよび／または処理してもよい。追加的または代替的に、エネルギー使用データは顧客１０２によってダウンロードされ、次いで顧客１０２によって貯蔵部１２４にアップロードされてもよい。
【００４８】
いくつかの実施形態では、貯蔵部１２４は、貯蔵部プライバシー・モジュール１８０、メモリ１８２、プロセッサ１８４および通信ユニット１８６を含んでいてもよい。貯蔵部プライバシー・モジュール１８０、メモリ１８２、プロセッサ１８４および通信ユニット１８６はバス１８８を介して結合されていてもよい。
【００４９】
プロセッサ１８４は、算術論理ユニット（ALU）、マイクロプロセッサ、汎用コントローラまたは計算を実行するための他の何らかのプロセッサ・アレイを含んでいてもよい。プロセッサ１８４は、他のコンポーネントとの通信のためにバス１８８に結合されていてもよい。プロセッサ１８４は一般に、データ信号を処理し、複雑命令セット・コンピュータ（CISC）アーキテクチャ、縮小命令セット・コンピュータ（RISC）アーキテクチャまたは命令セットの組み合わせを実装するアーキテクチャを含むさまざまなコンピューティング・アーキテクチャを含んでいてもよい。図１Ａは単一のプロセッサ１８４を含んでいるが、複数のプロセッサが貯蔵部１２４に含まれていてもよく、貯蔵部内の該複数のプロセッサは、本稿に記載される動作の一つまたは複数を個々にまたは集団的に実行するよう構成されていてもよい。
【００５０】
メモリ１８２は、プロセッサ１８４によって実行されうる命令および／またはデータを記憶するよう構成されていてもよい。メモリ１８２は、他のコンポーネントとの通信のためにバス１８８に結合されていてもよい。命令および／またはデータは、本稿に記載される技法または方法を実行するためのコードを含んでいてもよい。メモリ１８２は、動的ランダム・アクセス・メモリ（DRAM）デバイス、静的ランダム・アクセス・メモリ（SRAM）デバイス、フラッシュメモリまたは他の何らかのメモリ・デバイスを含んでいてもよい。いくつかの実施形態では、メモリ１８２は、ハードディスクドライブ、フロッピー(登録商標)ディスクドライブ、CD-ROMデバイス、DVD-ROMデバイス、DVD-RAMデバイス、DVD-RWデバイス、フラッシュ・メモリ・デバイスまたはより持続的に情報を記憶するための他の何らかの大容量記憶デバイスを含む、不揮発性メモリまたは同様の持続的記憶デバイスおよび媒体を含んでいてもよい。  
【００５１】
通信ユニット１８６は、顧客装置１０４、公益事業者サーバー１１０およびサードパーティー・サーバー１１４との間でデータを送受信するよう構成されていてもよい。通信ユニット１８６は、バス１８８に結合されていてもよい。いくつかの実施形態では、通信ユニット１８６はネットワーク１２２へのまたは他の通信チャネルへの直接的な物理的接続のためのポートを含んでいてもよい。たとえば、通信ユニット１８６は、ユニバーサル・シリアル・バス（USB）、標準精細度（SD:  standard  definition）ポート、カテゴリー（CAT）5ポートまたはシステム１００のコンポーネントとの有線通信のための同様のポートを含んでいてもよい。いくつかの実施形態では、通信ユニット１８６は、IEEE802.11、IEEE802.16、ブルートゥース（登録商標）、グローバル移動通信システム（GSM(登録商標)）、一般パケット電波サービス（GPRS）、GSM発展のための向上データレート（EDGE）、符号分割多重アクセス（CDMA）、万国移動通信システム（UMTS）、ロングタームエボリューション（LTE）、LTEアドバンスト（LTE-A）または他の好適な無線通信方法を含む一つまたは複数の無線通信方法を使って、通信チャネルを介してデータを交換するための無線トランシーバを含む。
【００５２】
いくつかの実施形態では、通信ユニット１８６は、SMS、MMS、HTTP、直接データ接続、WAP、電子メールまたは他の好適な型の電子通信を介することを含めセルラー通信ネットワークを通じてデータを送受信するためのセルラー通信トランシーバを含む。いくつかの実施形態では、通信ユニット１８６は、有線ポートおよび無線トランシーバを含む。通信ユニット１８６はまた、伝送制御プロトコル／インターネット・プロトコル（TCP/IP）、HTTP、HTTPセキュア（HTTPS）および簡単なメール転送プロトコル（SMTP）などを含む標準的なネットワーク・プロトコルを使って、ファイルおよび／または他のメディア・オブジェクトの分配のためにネットワーク１２２への他の通常の接続を提供してもよい。
【００５３】
貯蔵部プライバシー・モジュール１８０は、プライバシーを保持する通信のためのコードおよびルーチンを含んでいてもよい。いくつかの実施形態では、貯蔵部プライバシー・モジュール１８０は、部分的には、コンピューティング装置（たとえば顧客装置１０４）上に記憶されていてもよいシンクライアント・アプリケーションとして、部分的にはたとえばサードパーティー・サーバー１１４、貯蔵部１２４および公益事業者サーバー１１０のような他のコンピューティング装置上に記憶されていてもよいコンポーネントとして作用しうる。いくつかの実施形態では、貯蔵部プライバシー・モジュール１８０は、FPGAまたはASICを含むハードウェアを使って実装されてもよい。他のいくつかの実施形態では、貯蔵部プライバシー・モジュール１８０は、ハードウェアとソフトウェアの組み合わせを使って実装されてもよい。
【００５４】
貯蔵部プライバシー・モジュール１８０は、ネットワーク１２２を介してエネルギー使用データを受領するまたはこれにアクセスするよう構成されていてもよい。貯蔵部プライバシー・モジュール１８０はさらに、エネルギー使用データのデータを選択する効果をもつ、顧客装置１０４を介した顧客１０２の入力を受領するよう構成されていてもよい。いくつかの実施形態では、顧客１０２の入力は、どのデータを編集すべきかを示す編集要求を含んでいてもよい。追加的または代替的に、顧客１０２の入力は、ポリシー選択を含んでいてもよい。ポリシー選択は、編集のために貯蔵部プライバシー・モジュール１８０によって選択されるデータの基礎をなすプライバシー・レベルを設定しうる。
【００５５】
顧客１０２の入力に応答して、貯蔵部プライバシー・モジュール１８０はエネルギー使用データをパースし、顧客入力に従ってエネルギー使用データからの前記データを編集してもよい。次いで、貯蔵部プライバシー・モジュール１８０は、エネルギー使用データがサードパーティー１２０によって検証可能かつ認証可能であるように、エネルギー使用データを再構成してもよい。たとえば、前記データの編集（redaction）がエネルギー使用データから前記データを除去すること（removing）または前記エネルギー使用データから前記データが見きわめられないよう前記データを難読化すること（obscuring）を含むことがある。その際、貯蔵部プライバシー・モジュール１８０は編集されたデータを、ハッシュ値のような別の値で置き換えてもよい。ハッシュ値は、サードパーティー１２０が、編集された一つまたは複数のデータ値をもつエネルギー使用データを検証および認証できるようにしうる。
【００５６】
いくつかの実施形態では、エネルギー使用データを認証および検証するために使用される編集可能署名（redactable  signature）の生成を可能にするために、修正されたマークル・ハッシュ木が使用されてもよい。これらおよび他の実施形態において、鍵付きハッシュ関数、初期化ベクトルおよび顧客毎の鍵の一つまたは複数が、修正されたマークル・ハッシュ木において使用されるハッシュ値を計算するために使われてもよい。
【００５７】
いくつかの実施形態では、貯蔵部プライバシー・モジュール１８０は、データ検証モジュール１１６に関して上述した一つまたは複数の機能を実行してもよい。たとえば、貯蔵部プライバシー・モジュール１８０は、エネルギー使用データを受信するよう構成されていてもよい。エネルギー使用データが受信されたのち、貯蔵部プライバシー・モジュール１８０は、エネルギー使用データに対する編集可能署名の生成を可能にするために使われるデータ構造を再構成してもよい。再構成されたデータ構造に基づいて、貯蔵部プライバシー・モジュール１８０はエネルギー使用データの源を検証してもよい。
【００５８】
いくつかの実施形態では、修正されたマークル・ハッシュ木は、エネルギー使用データに対する編集可能署名の生成を可能にするために使われてもよい。修正されたマークル・ハッシュ木を再構成することによって、修正されたマークル・ハッシュ木の諸ノードのハッシュ値が計算でき、公益事業者１０８の署名が検証できる。このようにして、エネルギー使用データが検証されうる。これらおよび他の実施形態において、貯蔵部プライバシー・モジュール１８０は、ルート・ハッシュ値を計算し、公益事業者１０８の署名に対してルート・ハッシュ値を検証するよう構成されていてもよい。
【００５９】
貯蔵部１２４は、顧客装置１０４、サードパーティー・サーバー１１４および公益事業者サーバー１１０とは別個に描かれているが、そのような実装に限定されるものではない。たとえば、いくつかの実施形態では、貯蔵部１２４は、顧客装置１０４および／または公益事業者サーバー１１０上にホストされた記憶モジュールを含んでいてもよい。追加的または代替的に、貯蔵部１２４は、信頼されるエンティティに含まれるまたは信頼されるエンティティによってホストされるのでもよい。いくつかの実施形態では、エネルギー使用データへのアクセスは、ウェブサイト、コンピュータ・アプリケーション（たとえばモバイル・アプリケーション）を介してまたはブラウザー・ベースのインターフェースを介してであってもよい。
【００６０】
図１Ａを参照するに、システム１００において、公益事業者１０８は、エネルギー（たとえば電気）をサイト１２８に分配してもよい。よって、システム１００において修正され、通信されるデータは、エネルギー使用データを含んでいてもよい。いくつかの実施形態では、公益事業者１０８は、天然ガスまたは水のような別の資源をサイト１２８に提供してもよい。このように、これらの実施形態において、修正され通信されるデータは、資源消費など、その資源に関係する他の型のデータを含んでいてもよい。
【００６１】
一つまたは複数の実施形態は、たとえば顧客中心的なDRアグリゲーション・サービスに統合されてもよい。さらに、一つまたは複数の実施形態は、本稿で論じられる顧客中心モデルの一つまたは複数の実施形態の上に実装されてもよい、DRアグリゲーション以外の他のアプリケーションに統合されてもよい。洗練された推薦サービスのようないくつかのサービスは、種々のプライバシー保持方式を含んでいてもよい統計的または機械学習技法を使ってもよい。もう一つの方向は、一つまたは複数の開示される実施形態を、プライバシーを適切にバランスさせ、顧客がサービスから裨益するのを可能にするまたは支援するための顧客の意思決定を支援するユーザー・インターフェースにおいて実装することを含んでいてもよい。
【００６２】
さらに、いくつかの実施形態は、他のシステムまたは環境において適用可能であってもよい。図１Ａに描かれたシステム１００はエネルギー使用データの通信を含むが、システム１００は、本稿に記載される修正されたマークル・ハッシュ木または同様のデータ構造を使ってデータが通信されうる環境の個別的な例である。公益事業者１０８は、上記環境において実装されうるデータ発行者またはデータ源の具体的な例でありうる。サードパーティー１２０は、上記環境において実装されうるデータ検証者の具体的な例でありうる。顧客１０２は、上記環境において実装されうるデータ主題の具体的な例でありうる。たとえば、同様のプロセスが、個人が身につけることのできるデバイス、医療診断、自動車または乗り物データ、保険会社通信などのような機微な時系列がある環境におけるプライバシーの保持のために使用されてもよい。
【００６３】
本開示の範囲から外れることなく、システム１００に対して修正、追加または省略がなされてもよい。具体的には、図１Ａに描かれている実施形態は、一の顧客１０２、一の顧客装置１０４、一の貯蔵部１２４、一のサイト１２８、一の公益事業者１０８、一の公益事業者サーバー１１０、一のサードパーティー１２０および一のサードパーティー・サーバー１１４を含んでいるが、本開示は、一または複数の顧客１０２、一または複数の顧客装置１０４、一または複数の貯蔵部１２４、一または複数のサイト１２８、一または複数の公益事業者１０８、一または複数の公益事業者サーバー１１０、一または複数のサードパーティー１２０および一または複数のサードパーティー・サーバー１１４またはそれらの任意の組み合わせを含んでいてもよいシステムにも当てはまる。
【００６４】
さらに、本稿に記載される実施形態におけるさまざまなコンポーネントの分離は、あらゆる実施形態においてその分離が起こることを示すことを意図したものではない。本開示のおかげで、記載されるコンポーネントが単一のコンポーネントに一緒に統合されても、あるいは複数のコンポーネントに分離されてもよいことが理解されうる。
【００６５】
システム１００では、顧客装置１０４、公益事業者サーバー１１０およびサードパーティー・サーバー１１４におけるメモリは、実質的にメモリ１８２と同様であってもよい。顧客装置１０４、公益事業者サーバー１１０およびサードパーティー・サーバー１１４におけるプロセッサは、プロセッサ１８４と実質的に同様であってもよい。さらに、顧客装置１０４、公益事業者サーバー１１０およびサードパーティー・サーバー１１４のうちの一つまたは複数が通信ユニット１８６と実質的に同様の通信ユニットを含んでいてもよい。
【００６６】
図１Ｂは、システム１００について例示的な顧客中心システム・アーキテクチャ１７０を示している。図１Ｂはさらに、システム１００におけるエネルギー使用データ（たとえば１５０、１５２、１５４、１５６および１６０）の例示的なプライバシーを保持する管理を示している。システム・アーキテクチャ１７０に描かれている管理は、図１Ａの一つまたは複数のエンティティ（たとえば１０２、１０８、１２０および１２４）を含み、それらのエンティティの間での情報の例示的な流れを示している。
【００６７】
エネルギー使用データは、顧客１０２において（たとえば顧客１０２に関連付けられたサイト１２８において）発してもよい。エネルギー使用データは、メーターの読み１５０を含んでいてもよい。いくつかの実施形態では、メーターの読み１５０は、定期的に（たとえば15分間隔で）またはリアルタイムで公益事業者１０８に送られてもよい。メーターの読み１５０は、顧客１０２および／またはサードパーティー１２０がエネルギー使用データに関心があるかどうかに関わりなく、公益事業者１０８に通信されてもよい。
【００６８】
顧客１０２は、顧客装置１０４および／または貯蔵部１２４を使って、公益事業者１０８からエネルギー使用データを定期的にダウンロードしてもよい。追加的または代替的に、貯蔵部１２４は、顧客１０２に代わって、公益事業者サーバー１１０からエネルギー使用データを定期的または自動的にダウンロードしてもよい。公益事業者サーバー１１０からダウンロードされるエネルギー使用データは、署名されたエネルギー使用データ１５２を含んでいてもよい。
【００６９】
署名されたエネルギー使用データ１５２は、エネルギー使用データに関連付けられたエネルギー使用データ・メタデータ、署名されたエネルギー使用データ１５２の検証および認証を可能にするために使用される修正されたマークル・ハッシュ木を再構成するのに十分な情報またはその何らかの組み合わせを含んでいてもよい。たとえば、署名されたエネルギー使用データ１５２は、修正されたマークル・ハッシュ木のルート・ノードに対する公益事業者１０８のデジタル署名を検証し、修正されたマークル・ハッシュ木の再構成を可能にするのに十分な情報およびデータを含んでいてもよい。署名されたエネルギー使用データ１５２は一般には、エネルギー使用データのデータを含む（たとえば、該データの何も編集されていない）。
【００７０】
署名されたエネルギー使用データ１５２に署名を含んでいることによって、サードパーティー１２０または公益事業者１０８の公開鍵を知っておりそれを信頼する他の任意の当事者は、署名されたエネルギー使用データ１５２が公益事業者サーバー１１０によって提供されたものであることおよび／または顧客１０２によって欺瞞的な工作をされていないことを確信しうる。公益事業者１０８は、信頼される証明機関（CA:  Certification  Authority）からデジタル証明書を発行してもらってもよく、公益事業者１０８は該デジタル証明書を、公益事業者１０８のウェブサイト上などで公に掲出してもよい。
【００７１】
署名されたエネルギー使用データ１５２は、少なくとも一時的に、貯蔵部１２４に記憶されてもよい。顧客１０２は、顧客装置１０４を使って、貯蔵部１２４に記憶されている署名されたエネルギー使用データ１５２にアクセスするおよび／またはこれをブラウズすることができる。いくつかの実施形態では、顧客装置１０４は、任意の時に、署名されたエネルギー使用データ１５２にアクセスすることおよび／またはこれをブラウズすることができる。貯蔵部１２４に対するアクセスおよび／または制御は専用のクライアント・ソフトウェアおよび／またはウェブ・ブラウザー（たとえば、図１Ａの顧客プライバシー・モジュール１０６および／または貯蔵部プライバシー・モジュール１８０）を介して可能であってもよい。
【００７２】
顧客装置１０４を使って、顧客１０２は貯蔵部１２４にデータ共有要求１６０を発してもよい。たとえば、顧客１０２が何らかのエネルギー使用データをサードパーティー１２０と共有することを意図する時、顧客１０２は顧客装置１０４を使って貯蔵部１２４に対してデータ共有要求１６０を発してもよい。
【００７３】
サードパーティー１２０がDRアグリゲーターを含むような実施形態では、データ共有要求１６０は、公益事業者サーバー１１０またはサードパーティー・サーバー１１４によって顧客装置１０４に通信されるイベント情報に関係していてもよい。イベント情報はDRイベント継続時間、削減量などを含んでいてもよい。イベント情報は、たとえば一日早くまたは数時間早く通信されてもよい。追加的または代替的に、イベント情報はサードパーティー・サーバー１１４にも通信されてもよい。応答して、サードパーティー・サーバー１１４も、情報要求（図示せず）を通信してもよい。該情報要求は、顧客１０２に対して、サードパーティー・サーバー１１４に通信されるエネルギー使用データに含めるべき特定の時間期間を示してもよい。その特定の時間期間は、DRイベントの間および履歴エネルギー使用データを含んでいてもよい。
【００７４】
データ共有要求１６０が顧客装置１０４によって発されるのに応答して、編集された署名されたエネルギー使用データ（編集されたデータ）１５４が生成されてもよい。編集されたデータ１５４は、前記署名されたエネルギー使用データ１５２の諸部分（たとえば特定のまたは選択されたデータ）が編集されたものを含んでいてもよい。たとえば、署名されたエネルギー使用データ１５２のうち、顧客に対するプライバシー問題を導入する諸部分が、エネルギー使用データ１５２から削除されてもよい。追加的または代替的に、署名されたエネルギー使用データ１５２のうち、サードパーティー・サーバー１１４によって提供されるサービスに関わるデータ以外のすべての部分が削除されてもよい。
【００７５】
いくつかの実施形態では、貯蔵部１２４は編集されたデータ１５４生成してもよい。編集されたデータ１５４は、事前選択されたプライバシー・ポリシーに基づいていてもよい。たとえば、顧客装置１０４を使って、顧客１０２は、署名されたエネルギー使用データ１５２のうち特定のパターンを含む部分のみが削除されうる、低レベルのプライバシーを選択してもよい。追加的または代替的に、編集されたデータ１５４は、データ共有要求１６０に基づいて、公益事業者１０８によって提供される署名されたエネルギー使用データ１５２の最小限の開示の形を含んでいてもよい。
【００７６】
いくつかの実施形態では、顧客１０２は、署名されたエネルギー使用データ１５２を、顧客装置１０４を使って閲覧してもよい。顧客１０２は、次いで、顧客装置１０４を使って、編集するために署名されたエネルギー使用データ１５２の諸部分を選択してもよい。顧客装置１０４は編集要求１５６を貯蔵部１２４に通信してもよい。編集要求１５６は、署名されたエネルギー使用データ１５２のうち、顧客１０２が削除することを望む一つまたは複数の部分を含んでいてもよい。たとえば、顧客装置１０４を使って、顧客１０２は、サードパーティー１２０によって実行されるサービスに関係ないと思われる諸部分および／または顧客１０２に対してプライバシー問題を導入しうる諸部分を削除してもよい。編集要求１５６に基づいて、貯蔵部１２４は編集されたデータ１５４を生成してもよい。
【００７７】
編集されたデータ１５４は次いで、サードパーティー・サーバー１１４に通信されてもよい。編集されたデータ１５４および／または一つまたは複数の他の情報に基づいて、サードパーティー・サーバー１１４は、編集されたデータ１５４の検証および認証を可能にするよう構成された、修正されたマークル・ハッシュ木を再構成してもよい。たとえば、削除された部分にもかかわらず、サードパーティー１２０は、そのエネルギー使用データがある特定の時間期間にわたるエネルギー使用を精確に表わしていることを保証してもよい。編集されたデータ１５４に基づいて、サードパーティー１２０は解析を実行してもよい。さらに、修正されたマークル・ハッシュ木が再構成されたのち、サードパーティー・サーバー１１４は、公益事業者１０８の署名を検証してもよい。署名の検証は、サードパーティー１２０が、悪意のあるまたは欺瞞的なサービス要求に対して防護することを許容しうる。
【００７８】
いくつかの実施形態では、公益事業者１０８または公益事業者サーバー１１０は、いまだ署名されたエネルギー使用データ１５２へのアクセスを有していてもよい。公益事業者１０８または公益事業者サーバー１１０は、予測、異状検出などのために署名されたエネルギー使用データ１５２を使ってもよい。いくつかの状況では、顧客１０２はそのようなアクセスに前もって同意していてもよい。よって、システム１００は、公益事業者１０８によって提供されるサービスの品質に影響しないことがありうる。同様に、顧客装置１０４は、データ解析を実施するために署名されたエネルギー使用データ１５２へのアクセスを有していてもよい。いくつかの実施形態では、貯蔵部１２４はそのような機能を含むまたはサポートすることができる。
【００７９】
上述したように、修正されたマークル・ハッシュ木は、エネルギー使用データを検証および認証するために使われる編集可能署名の生成のために使用されてもよい。修正されたマークル・ハッシュ木は伝統的なマークル・ハッシュ木と同様であってもよいが、修正されたマークル・ハッシュ木では、ノードのハッシュ値は、鍵付きハッシュ関数、顧客鍵、初期化ベクトル、カウンタまたはその何らかの組み合わせを使って計算されてもよい。
【００８０】
たとえば、図２は、図１Ａおよび図１Ｂのシステム１００において実装されうる例示的な修正されたマークル・ハッシュ木２００を描いている。修正されたマークル・ハッシュ木２００は、図１Ａおよび図１Ｂのシステム１００を通じて使用されてもよい。たとえば、公益事業者１０８は、ルート・ノード２１４についてルート・ハッシュ値を計算するために修正されたマークル・ハッシュ木２００を構築してもよい。公益事業者１０８のデジタル署名が、ルート・ノード２１４について計算されたルート・ハッシュ値に対してなされてもよい。さらに、修正されたマークル・ハッシュ木２００は貯蔵部１２４およびまたは顧客装置１０４によって、エネルギー使用データからの編集されたデータを置き換えるために使用されてもよい。さらに、修正されたマークル・ハッシュ木２００は、サードパーティー・サーバー１１４によって、いくつかの部分が編集されたエネルギー使用データから再構成されてもよい。再構成された修正されたマークル・ハッシュ木に基づいて、サードパーティー１２０はエネルギー使用データの源を検証し（verify）（たとえばデジタル署名により）、エネルギー使用データの編集されていない部分を認証し（authenticate）てもよい（たとえば、編集された部分に対応するハッシュ値およびデジタル署名により）。
【００８１】
修正されたマークル・ハッシュ木２００は、ある特定の時間期間にわたるエネルギー使用データを含む特定のデータ・セットについてであってもよい。一般に、修正されたマークル・ハッシュ木２００は、各ノード（２１４、２０６、２０４）が何らかのデータのハッシュを含む木構造を含む。修正されたマークル・ハッシュ木２００はルート・ノード２１４、親ノード２０６Ａ〜２０６Ｈ（一般に単数または複数の親ノード２０６）、葉ノード２０４Ａ〜２０４Ｈ（一般に単数または複数の葉ノード２０４）およびデータ・ブロック２０２Ａ〜２０２Ｈ（一般に、単数または複数のデータ・ブロック２０２）を含んでいてもよい。ルート・ノード２１４および親ノード２０６は、非末端ノード２１４／２０６とも称されることがある。
【００８２】
ルート・ノード２１４および親ノード２０６はその子ノードのハッシュ値を含んでいてもよい。たとえば、ルート・ノード２１４は、第七の親ノード２０６Ｇおよび第八の親ノード２０６Ｈのハッシュ値を含んでいてもよい。同様に、第一の親ノード２０６Ａは第一の葉ノード２０４Ａおよび第二の葉ノード２０４Ｂのハッシュ値を含んでいてもよい。図２において、ルート・ノード２１４および親ノード２０６に含まれるH(L,R)は、左の子ノード（L）および右の子ノード（R）のハッシュ値を表わす。葉ノード２０４は、対応するデータ・ブロック２０２のハッシュ値を含んでいてもよい。たとえば、第三の葉ノード２０４Ｃは、第三のデータ・ブロック２０２Ｃのハッシュ値を含んでいてもよい。描かれている実施形態では、データ・ブロック２０２のそれぞれは、エネルギー使用データからのデータ値およびそれらデータ値のメタデータを含む。たとえば、データ・ブロック２０２のそれぞれは、2014年1月1日午前1:05から午前1:06について10kWhのようなある特定の区間についての平均エネルギー使用値を含んでいてもよい。データ・ブロック２０２におけるデータ値は、いくつかの実施形態では、拡張可能なマークアップ言語（XML）においてフォーマットされていてもよい。メタデータのいくつかの例は、タイムスタンプおよび単位を含んでいてもよい。
【００８３】
図１Ａおよび図２を合わせて参照するに、エネルギー使用データが検証可能かつ認証可能であるようにエネルギー使用データを構築および／または再構成することは、編集されたデータについてハッシュ値を計算することを含みうる。システム１００では、どのエンティティがエネルギー使用データと対話しているかに依存して、貯蔵部プライバシー・モジュール１８０、顧客プライバシー・モジュール１０６、署名モジュール１１２、サードパーティー検証モジュール１１６またはその何らかの組み合わせがハッシュ値を計算しうる。あるデータ・ブロック２０２のデータ値が編集されるとき、ハッシュ値は、対応する葉ノード２０４において計算されてもよい。ハッシュ値は、エネルギー使用データにおいて削除されたデータ・ブロック２０２を置き換えてもよい。さらに、諸データ・ブロックのセクション２５０が削除されてもよい。データ・ブロックのセクション２５０は、共通の親２０６をもつ少なくとも二つの逐次的なデータ・ブロック２０２を含んでいてもよい。データ・ブロック２５０のセクションが編集されるとき、ハッシュ値は、共通の親ノード２０６において計算されてもよい。共通の親ノード２０６のハッシュ値は、エネルギー使用データにおけるデータ・ブロック２０２のセクションを置き換えてもよい。
【００８４】
たとえば、第三のデータ・ブロック２０２Ｃからのデータ値が削除される（図２では、斜線パターンとして描かれている）場合、貯蔵部プライバシー・モジュール１８０（または他のモジュール、たとえば１１２、１１６、１０６）は第三の葉ノード２０４Ｃのハッシュ値を計算してもよい。第三の葉ノード２０４Ｃのハッシュ値は、エネルギー使用データにおける第三のデータ・ブロック２０２Ｃを置き換えてもよい。さらに、第三の親ノード２０６Ｃという共通の親をもつ第五のデータ・ブロック２０２Ｅおよび第六のデータ・ブロック２０２Ｆからのデータ値が削除される場合には、貯蔵部プライバシー・モジュール１８０は第三の親ノード２０６Ｃの共通ハッシュ値を計算してもよい。第三の親ノード２０６Ｃのハッシュ値は、エネルギー使用データにおいてデータ・ブロックのセクション２５０を置き換えてもよい。
【００８５】
いくつかの実施形態では、葉ノード２０４のハッシュ値は、顧客１０２に一意的な顧客毎鍵、初期化ベクトルおよびカウンタを使って計算されてもよい。顧客毎鍵は、悪意のあるサードパーティーが複数の顧客の間のハッシュ値を相関付けることを防止するまたはその可能性を減らすことがありうる。具体的には、いくつかの実施形態では、鍵付きハッシュ関数（たとえばHMAC）が、ハッシュ木計算のために顧客毎鍵とともに利用されてもよい。顧客毎鍵は、顧客１０２について一意的に選ばれてもよく、公益事業者１０８およびデータにアクセスする権限を与えられているサードパーティー１２０と共有されてもよい。公益事業者１０８は、修正されたマークル・ハッシュ木２００を構築し、ルート・ノード２１４についてのハッシュ値を計算するために顧客毎鍵を使ってもよい。
【００８６】
サードパーティー１２０も、修正されたマークル・ハッシュ木２００を再構成して、ルート・ノード２１４についてのハッシュ値を得るために顧客毎鍵を使ってもよく、該ハッシュ値は、公益事業者１０８の公開鍵を使って検証されてもよい。さらに、顧客毎鍵は、メーター読み値（または一連の値）が同一であるときでさえ異なる顧客について異なるハッシュ値を許容しうる。
【００８７】
いくつかの実施形態では、顧客毎鍵は、顧客が選んだ暗証番号（PIN）を使って導出された鍵を含んでいてもよく、PINを知っているサードパーティー１２０のみが顧客１０２のエネルギー使用データにアクセスしうるよう、この鍵が公益事業者１０８のシステムにおいて利用されてもよい。他の実施形態では、顧客毎鍵は、データ秘匿性、認証またはアクセス制御のために使用されなくてもよい。
【００８８】
ハッシュ値は初期化ベクトルに基づいて計算されてもよい。初期化ベクトルは、暗号学的に安全な乱数を含んでいてもよい。初期化ベクトルは、ハッシュされるべきデータ・ブロック２０２のそれぞれについて新しい鍵を導出するために使われてもよい。公益事業者１０８によって署名されるエネルギー使用データの各データ・セットについて、一つの初期化ベクトルが生成されてもよい。エネルギー使用データのデータ・セット内では、初期化ベクトルはデータ・ブロック２０２のそれぞれについてカウンタによってインクリメントされてもよい。たとえば、修正されたマークル・ハッシュ木２００において、第一の葉ノード２０４Ａは1に等しいカウンタを含んでいてもよく、第二の葉ノード２０４Ｂは2に等しいカウンタを含んでいてもよい、などとなる。初期化ベクトルは顧客毎鍵とたとえばXORされ、新しい鍵を導出する。新しい鍵は、エネルギー使用データの同じデータ・セットにおける二つのデータ値またはデータ・ブロック２０２が決して同じハッシュ値を与えないことを保証しうる。カウンタは、データ値の許諾されない並べ替えをも防止しうる。
【００８９】
初期化ベクトルおよび／またはカウンタの例示的な恩恵は、力づくの攻撃の撃退を含みうる。たとえば、顧客毎鍵があっても、同じ顧客のエネルギー使用データにおける同じ入力は同じ出力ハッシュ値を与えうる。敵（図示せず）は、プライバシーを破ろうとする努力を助けるために、同じ出力ハッシュ値を利用しうる。たとえば、敵が修正されたマークル・ハッシュ木２００の同じレベルにある同じハッシュ値を複数回見る場合、敵は力づく計算を繰り返さずにすむことがありうる。
【００９０】
いくつかの実施形態では、葉ノード２０４のハッシュ値は、次のハッシュ値の式に従って計算されてもよい。
【数１】
2015091137.tif 000003
このハッシュ値の式において、変数Hはそのデータ・ブロックについてのハッシュ値を表わす。変数Dはデータのそのデータ・ブロックを表わす。あるデータ・ブロックが削除される状況では、Dは削除されるべく選択されたデータ・ブロックを表わす。変数IVは初期化ベクトル（initialization  vector）を表わす。変数iはカウンタを表わす。変数Kは顧客毎鍵を表わす。○囲みの＋の演算子は、XORのような合意された演算子を表わす。
【００９１】
追加的または代替的に、親ノード２０６またはルート・ノード２１４の共通親ハッシュ値は、次の共通ハッシュ値の式に従って計算されてもよい。
【００９２】
HP(L,R)＝M(L‖R,K)
この共通ハッシュ値の式において、変数HPは共通親（parent）ハッシュ値を表わす。変数Lは第一の子ノードの第一のハッシュ値を表わす。変数Rは第二の子ノードの第二のハッシュ値を表わす。関数Mは、SHA-Aまたは他の好適なハッシュ関数を使う、ハッシュに基づくメッセージ認証符号（HMAC）のような鍵付きハッシュ関数を表わす。変数Kは顧客毎鍵を表わす。演算子‖は連結演算子を表わす。
【００９３】
本稿に記載されるようにハッシュ値を計算することは、いくつかのセキュリティ上の利益をもたらしうる。たとえば、修正されたマークル・ハッシュ木２００のデータ・セットについてランダムな初期化ベクトルを選択し、各データ・ブロック２０２について初期化ベクトルをインクリメントすることによって、力づくの方法を使う敵が、削除された各データ値についてある範囲の推定されるデータ値を通じてループすることなく削除されたデータを取得することを防止するまたはその効率を低下させうる。さらに、二つの削除されたデータ値の共通親ハッシュ値に一致する該二つの削除されたデータ値を見出すためには、敵は、二つのデータ値のあらゆる可能な組み合わせを通じて逐次反復することがありうるが、それは力づくの攻撃を遅くしうる。
【００９４】
いくつかの実施形態では、修正されたマークル・ハッシュ木は、二分マークル・ハッシュ木を含んでいてもよい。二分マークル・ハッシュ木を使うとき、ノード（たとえば２１４、２０６、２０４）によって表わされる削除されたデータ・ブロック２０２の数は2の何らかの冪でありうる。たとえば、連続する19個のデータ・ブロック２０２の編集は諸ハッシュ値、すなわち16個のデータ・ブロック２０２についての第一のハッシュ値、二つのデータ・ブロック２０２についての第二のハッシュ値および一つのデータ・ブロック２０２についての第三のハッシュ値によって表わされてもよい。少数のデータ・ブロック（たとえば一つまたは二つ）を表わすハッシュ値は力づく攻撃に弱いことがある。よって、これらおよび他の実施形態では、多数の連続するデータ・ブロック２０２が削除されるとき、セキュリティが改善されうる。
【００９５】
たとえば、削除されたデータを得るために、いくつかの実施形態では、敵は、削除されたデータ値を個々に復元するための削除された各葉ノード２０４について力づく攻撃をかけてもよい。連続して8個のメーター読みが削除されるときには、該一連のデータを明らかにするためには、8個のデータ値のあらゆる可能な組み合わせに対して力づく攻撃をかけられうる。それぞれについての探索空間が何らかの、知識に基づく推定を通じて100個の可能性まで絞り込まれるとしたら、8個の削除されたメーター読みが明らかにされうる前に、約1008（〜253）回の試行が使われうる。
【００９６】
いくつかの実施形態では、修正されたマークル・ハッシュ木２００において、削除される連続するノード（たとえば２１４、２０６、２０４）が一つまたは少数の中間ハッシュ値に総合されてもよい。削除されるべき連続するノード（たとえば２１４、２０６、２０４）の数が増して、多数の削除されたノードを一つまたは少数の中間ハッシュ値に総合しうるようになるにつれて、削除されたデータ値を取り戻すのはより難しくなりうる。削除されたデータ値を取り戻すことの困難は、少なくとも部分的には、多数のデータ・ブロック２０２を含む削除されたデータ値の代わりにされるハッシュ値の計算によるものでありうる。
【００９７】
一般に、サードパーティー１２０がサービス・プロバイダーである実施形態では、サードパーティー１２０は、一日のうちの数時間からのエネルギー使用データを使うだけであってもよい。そのため、顧客１０２は、エネルギー使用データの大きな部分を削除することができてもよい。よって、削除される連続する値の数は、力づく攻撃を非現実的にするのに十分大きくてもよい。同じ継続時間についてのより短い計量区間もセキュリティを強めうる。
【００９８】
図３は、図１Ａおよび図１Ｂのシステム１００において実装されうる例示的な向上グリーン・ボタン（Green  Button）方式３００を示している。向上グリーン・ボタン方式３００は、グリーン・ボタン・データ・モデルに基づいていてもよい。グリーン・ボタンは一般に、エネルギー使用データを共有することに向けた顧客中心のアプローチを含む。グリーン・ボタンに関する何らかの追加的な情報は、www.greenbuttondata.orgに見出されうる。その内容はここに参照によってその全体において組み込まれる。
【００９９】
向上グリーン・ボタン方式３００はXMLにおいてフォーマットされてもよい。さらに、向上したグリーン・ボタン方式３００は、エネルギー使用データを記憶し、通信するためのXMLデータ構造を指定してもよい。向上グリーン・ボタン方式３００は、複数のクラス（３０２、３０４、３０６、３０８、３１０、３１２、３１４、３１６、３２８、３２６、３２４、３２２、３２０、３１８）を含む。向上グリーン・ボタン方式３００におけるクラス間の例示的な関係は図３に示されている。
【０１００】
向上グリーン・ボタン方式３００は新しいクラス（たとえば、３０２、３０４、３２４、３１４）を、通常のグリーン・ボタン方式において存在しうるクラス（たとえば、３０６、３０８、３１０、３１２、３１６、３２８、３２６、３２２）とともに示している。向上グリーン・ボタン方式３００の一つまたは複数の向上した機能を例解するために、ここでこれらのクラスの部分集合が記述される。さらに、クラスの詳細は、www.greenbuttondata.orgにおいて記述されている特徴および機能の一つまたは複数を含んでいてもよい。第一のクラス３０６はUsagePoint〔使用点〕を含んでいてもよい。第一のクラス３０６はデータ・モデルのルート要素を含んでいてもよい。第一のクラス３０６は、消費が物理的に測定されうる（たとえばメーター計量されうる）または推定されうる（たとえばメーターのない街灯）スマートグリッド・ネットワーク上の論理的な点を含んでいてもよい。
【０１０１】
第二のクラス３１２は、ElectricPowerUsageSummary〔電力使用サマリー〕を含んでいてもよい。第二のクラス３１２は電力使用のサマリーを含んでいてもよい。たとえば、第二のクラス３１２は、料金請求期間、現在の料金請求期間の総コスト、直前の料金請求期間のコスト、去年の消費に関係したデータなどを含んでいてもよい。第三のクラス３０８はMeterReading〔メーター読み〕を含んでいてもよい。第三のクラス３０８は第一のクラス３０６によって表わされる使用点におけるメーターを表わしていてもよい。第一のクラス３０６UsagePointがメーターからのエネルギー使用データをもち、第三のクラス３０８はいかなるデータおよびリンクも含んでいなくてもよい。
【０１０２】
第四のクラス３１０は、ReadingType〔読み型〕を含んでいてもよい。第四のクラス３１０は、第三のクラス３０８に含まれる読みに関連付けられた特性を指定していてもよい。第四のクラス３１０はデータ値の単位（たとえばkWh）、コストに関連付けられた通貨種別、読みの品質などを含んでいてもよい。第五のクラス３２２はIntervalBlock〔区間ブロック〕を含んでいてもよい。第五のクラス３２２は、同じ第四のクラス３１０（ReadingType）の時系列に配置された一組の読みを含んでいてもよい。
【０１０３】
第六のクラス３２０はIntervalReading〔区間読み〕を含んでいてもよい。第六のクラス３２０は、メーターまたは別の資産によって測定された値を指定していてもよい。第六のクラス３２０は、コスト；第四のクラス３１０（ReadingType）において指定されていてもよい単位でのコスト；および読みの日付および継続時間を含んでいてもよい。
【０１０４】
グリーン・ボタンの以前の諸バージョンは情報交換のために構成されうる。したがって、グリーン・ボタンの以前の諸バージョンはデータ・モデルのみを定義する。よって、真正性、検証およびプライバシーはグリーン・ボタンの以前の諸バージョンの範囲内ではない。さらに、デジタル署名の概念、特に限られた共有をもつデジタル署名は、グリーン・ボタンの以前の諸バージョンの一部ではない。
【０１０５】
向上グリーン・ボタン方式３００は、追加的な四つの向上データ・クラス３０２、３０４、３１４および３２４を含む。第一の向上データ・クラス３０２はSignatureInformation〔署名情報〕を含む。第一の向上データ・クラス３０２は、マークル・ハッシュ木（たとえば図２のカスタマイズ可能な修正されたマークル・ハッシュ木）のルート・ノードの署名を含んでいてもよい。第一の向上データ・クラス３０２は署名を生成するために使用されるアルゴリズム（たとえばRSAと一緒のSHA1）を指定してもよい。図４Ａは、いくつかの実施形態に基づく第一の向上データ・クラス３０２の例を表わしている。
【０１０６】
第二の向上データ・クラス３０４はHashInformation〔ハッシュ情報〕を含む。第二の向上データ・クラス３０４は修正されたマークル・ハッシュ木を構築するために使われるハッシュ・アルゴリズムについての情報を含んでいてもよい。第二の向上データ・クラス３０４はさらに、ダイジェストを生成するために使われるアルゴリズム（たとえばHmacSHA1）および／または当該データ・セットについての初期化ベクトル値を含んでいてもよい。図４Ｂは、いくつかの実施形態に基づく、第二の向上データ・クラス３０４の例を表わしている。
【０１０７】
第三の向上データ・クラス３１４はElectricPowerUsageSummaryHash〔電力使用サマリー・ハッシュ〕を含む。第三の向上データ・クラス３１４は、一つまたは複数のパワー使用サマリー要素のハッシュ値を含んでいてもよい。使用データのサマリーは機微なものであることがあり、顧客は該サマリーを、所望される場合に図１Ａ〜図２のサードパーティー１２０のようなサードパーティーから隠すオプションを有していてもよい。この要素は、前記サマリー要素が編集された場合に存在していてもよい。図４Ｃは、いくつかの実施形態に基づく、第三の向上データ・クラス３１４の例を表わしている。
【０１０８】
第四の向上データ・クラス３２４はIntervalHash〔区間ハッシュ〕を含む。第四の向上データ・クラス３２４は、含まれるエネルギー使用データのある部分を信頼されない当事者から隠すことを顧客が望むときに、修正されたマークル・ハッシュ木の計算のために使われるハッシュ値を含んでいてもよい。第四の向上データ・クラス３２４は、ハッシュ値によって表わされる編集されたエネルギー使用データの時刻および継続時間ならびにハッシュによって隠されるブロックの数を含んでいてもよい。図４Ｄは、いくつかの実施形態に基づく、第四の向上データ・クラス３２４の例を表わしている。
【０１０９】
第四の向上データ・クラス３２４に含まれる追加的な情報は、修正されたマークル・ハッシュ木における対応するハッシュ値の位置を決定するために使用されてもよい。さらに、追加的な情報は、データ検証および認証のために、修正されたマークル・ハッシュ木を再構成することにおいて有用であってもよい。
【０１１０】
向上グリーン・ボタン方式３００を含む実施形態では、悪意のある当事者が第一のクラス３０６（たとえばUsagePoint値）に含まれる値のようなデータ・セットの何らかのセクションを修正することを防止または禁止するために、データは、修正されたマークル・ハッシュ木計算において、葉ノードとしてグリーン・ボタンXMLファイルに含められてもよい。たとえば、ReadingTypeの各要素の各値は、木の計算の間、データ・ブロックとして表わされていてもよい。
【０１１１】
図５Ａおよび図５Ｂは、本稿に記載される少なくとも一つの実施形態に基づいて構成されたデータ管理の例示的な方法５００の流れ図である。方法５００は、図１Ａおよび図１Ｂを参照して述べた貯蔵部１２４によっていくつかの実施形態においてプログラム可能に実行されてもよい。貯蔵部１２４は、個々にまたは集団的に方法５００を実行するまたは方法５００の実行を制御するために一つまたは複数のプロセッサによって実行可能なプログラミング・コードまたは命令を記憶またはエンコードしている一つまたは複数の非一時的なコンピュータ可読媒体（たとえば図１Ａのメモリ１８２）を含んでいてもよく、あるいは該媒体に通信可能に結合されていてもよい。追加的または代替的に、貯蔵部１２４は、方法４００の実行を引き起こすまたは制御するためにコンピュータ命令を実行するよう構成されている一つまたは複数のプロセッサ（たとえば図１Ａのプロセッサ１８４）を含んでいてもよい。離散的なブロックとして示されているが、所望される実装に依存して、さまざまなブロックは追加的なブロックに分割されても、より少数のブロックに組み合わされても、あるいは消去されてもよい。
【０１１２】
図５Ａを参照するに、方法５００はブロック５０２において始まってもよい。ブロック５０２では、エネルギー使用データが受領されてもよい。エネルギー使用データは、ある特定の期間の間の顧客のエネルギー使用を表わしていてもよい。エネルギー使用データは、公益事業者のデジタル署名をもって署名されてもよい。
【０１１３】
いくつかの実施形態では、デジタル署名が、修正されたマークル・ハッシュ木のルート・ハッシュ値に対してなされてもよい。修正されたマークル・ハッシュ木は、データ・ブロックについて計算されたハッシュ値を有する葉ノードおよび自分の子ノードのハッシュ値を有する非葉ノードを含んでいてもよい。データ・ブロックについて計算されたハッシュ値は、上記のように式
【数２】
2015091137.tif 000004
に従って計算されてもよい。追加的または代替的に、非葉ノードのハッシュ値は、上記のように式HP(L,R)＝M(L‖R,K)に従って計算されてもよい。
【０１１４】
ブロック５０４では、顧客の入力が受領されてもよい。該入力は、エネルギー使用データのデータ・ブロックを選択する効果があってもよい。ブロック５０６では、選択されたデータ・ブロックは、該入力に応答してエネルギー使用データから削除されてもよい。ブロック５０８では、削除されたデータ・ブロックについてハッシュ値が計算されてもよい。ハッシュ値は、顧客に一意的な顧客毎鍵、初期化ベクトルおよびカウンタを使って計算されてもよい。
【０１１５】
たとえば、いくつかの実施形態では、削除されたデータ・ブロックについてのハッシュ値は式
【数３】
2015091137.tif 000005
に従って計算されてもよい。いくつかの実施形態では、初期化ベクトルは、公益事業者によって選択された乱数を含み、カウンタは、第一のデータ・ブロックについての1の値に始まり、エネルギー使用データ中の各データ・ブロックについてインクリメントされてもよく、合意された関数はXORを含んでいてもよい。
【０１１６】
ブロック５１０において、削除されたデータ・ブロックは、エネルギー使用データにおいて、該削除されたデータ・ブロックに対応する計算されたハッシュ値で置き換えられる。ブロック５１２では、顧客の入力が受領されてもよい。該入力は、エネルギー使用データの諸データ・ブロックのセクションを選択する効果をもつものでもよい。該セクションは、共通の親をもつ少なくとも二つの逐次的なデータ・ブロックを含んでいてもよい。
【０１１７】
図５Ｂを参照するに、ブロック５１４において、諸データ・ブロックの選択されたセクションは、該入力に応答してエネルギー使用データから削除されてもよい。ブロック５１６では、ハッシュ値が、選択されたセクション内の各データ・ブロックについて、顧客毎鍵、初期化ベクトルおよびカウンタから計算されてもよい。ブロック５１８では、前記共通の親について、親ハッシュ値が計算されてもよい。親ハッシュ値は、前記共通の親の子ノードのハッシュ値を連結したものおよび前記顧客毎鍵に基づいて計算されてもよい。
【０１１８】
たとえば、共通親ハッシュ値は、式HP(L,R)＝M(L‖R,K)に従って計算される。ブロック５２０において、削除されたセクションは、親ハッシュ値で置き換えられてもよい。ブロック５２２では、前記ハッシュ値および前記親ハッシュ値をそれぞれ選択されたデータ・ブロックおよび選択されたセクションについての置換として含むエネルギー使用データがサードパーティーに通信されてもよい。ブロック５２４では、顧客毎鍵はサードパーティーに通信されてもよい。顧客毎鍵を使って、修正されたマークル・ハッシュ木が再構成されてもよい。修正されたマークル・ハッシュ木は、公益事業者のデジタル署名がなされているルート・ノードと、ハッシュ値と、親ハッシュ値とを含んでいてもよい。
【０１１９】
当業者は、本稿において開示されるこのおよび他の手順および方法について、該プロセスおよび方法において実行される機能は異なる順序で実装されてもよいことを理解するであろう。さらに、概説されたステップおよび動作は単に例として与えられているのであり、開示される実施形態を損なうことなく、ステップおよび動作のいくつかは任意的であってもよく、より少数のステップおよび動作に組み合わされてもよく、あるいは追加的なステップおよび動作に展開されてもよい。
【０１２０】
いくつかの実施形態では、エネルギー使用データは向上グリーン・ボタン・データ方式を使って通信される。向上グリーン・ボタン・データ方式は四つの向上データ・クラスを含む。第一の向上データ・クラスは、修正されたマークル・ハッシュ木のルート・ノードの署名を含んでいてもよく、該署名を生成するために使われたアルゴリズムを指定する。第二のデータ・クラスは、修正されたマークル・ハッシュ木を構築するために使われたハッシュ・アルゴリズムおよびダイジェストを生成するために使われたアルゴリズムについての情報ならびに初期化ベクトルを含んでいてもよい。第三のデータ・クラスは、すべてのパワー使用サマリー要素のハッシュ値を含んでいてもよい。第四のデータ・クラスは、顧客がエネルギー使用データのある部分を信頼されない当事者から隠すときに、修正されたマークル・ハッシュ木の計算のために使われるハッシュ値と、該ハッシュ値によって表わされる削除されたエネルギー使用データの時刻および継続時間と、ハッシュによって削除されるデータ・ブロックの数を含んでいてもよい。
【０１２１】
いくつかの実施形態では、エネルギー使用データは、修正されたマークル・ハッシュ木を使って再構成されてもよい。修正されたマークル・ハッシュ木では、葉ノードは、データ・ブロックの一つのハッシュを記憶しており、非葉ノードは自分の子ノードの内容のハッシュを記憶している。公益事業者は、修正されたマークル・ハッシュ木のルート・ノードに署名してもよい。これらおよび他の実施形態では、データ・ブロックは、メーター読みからのエネルギー使用データおよび該メーター読みに関連付けられたメタデータを含み、該データ・ブロックの削除／編集はルート・ノードに影響しない。さらに、顧客毎鍵は、修正されたマークル・ハッシュ木を構築するために公益事業者と共有され、ルート・ハッシュを計算するために使用されてもよい。さらに、顧客毎鍵は、修正されたマークル・ハッシュ木を再構成するためにサードパーティーと共有されてもよい。
【０１２２】
本稿に記載された実施形態は、下記でより詳細に論じるさまざまなコンピュータ・ハードウェアまたはソフトウェア・モジュールを含む専用または汎用のコンピュータを含んでいてもよい。
【０１２３】
本稿に記載される実施形態は、コンピュータ実行可能命令またはデータ構造を担持または記憶するコンピュータ可読媒体を使って実装されてもよい。そのようなコンピュータ可読媒体は、汎用または専用のコンピュータによってアクセスされうるいかなる利用可能な媒体であってもよい。限定ではなく例として、そのようなコンピュータ可読媒体は、ランダム・アクセス・メモリ（RAM）、読み出し専用メモリ（ROM）、電気的に消去可能なプログラム可能な読み出し専用メモリ（EEPROM）、コンパクトディスク読み出し専用メモリ（CD-ROM）または他の光ディスク記憶、磁気ディスク記憶または他の磁気記憶デバイス、フラッシュ・メモリ・デバイス（たとえば半導体記憶デバイス）またはコンピュータ実行可能命令またはデータ構造の形の所望されるプログラム・コードを担持または記憶するために使用でき、汎用または専用コンピュータによってアクセスされうる他の任意の記憶媒体を含む非一時的なコンピュータ可読記憶媒体を含んでいてもよい。上記の組み合わせも、コンピュータ可読媒体の範囲内に含まれてもよい。
【０１２４】
コンピュータ実行可能命令は、たとえば、汎用コンピュータ、専用コンピュータまたは専用処理装置（たとえば一つまたは複数のプロセッサ）にある機能または機能群を実行させる命令およびデータを含んでいてもよい。主題は構造的な特徴および／または方法論的な工程に固有の言辞で記載してきたが、付属の請求項において定義される主題は必ずしも上記の個別的な特徴または工程に限定されないことは理解しておくものとする。むしろ、上記の個別的な特徴および工程は、請求項を実装する例示的な形態として開示されている。
【０１２５】
本稿での用法では、用語「モジュール」または「コンポーネント」は、該モジュールまたはコンポーネントの動作を実行するよう構成された個別的なハードウェア実装および／またはコンピューティング・システムの汎用ハードウェア（たとえばコンピュータ可読媒体、処理装置など）に記憶および／または実行されうるソフトウェア・オブジェクトまたはソフトウェア・ルーチンを指しうる。いくつかの実施形態では、本稿に記載される種々のコンポーネント、モジュール、エンジンおよびサービスは、コンピューティング・システム上で実行されるオブジェクトまたはプロセス（たとえば別個のスレッド）として実装されてもよい。本稿に記載されるシステムおよび方法のいくつかは、一般に、（汎用ハードウェアに記憶されるおよび／または実行される）ソフトウェアで実装されるものとして記載されているものの、個別的なハードウェア実装またはソフトウェアと個別的なハードウェア実装の組み合わせも可能であり、考えられる。本稿において、「コンピューティング・エンティティ」は、本稿で先に定義したような任意のコンピューティング・システムまたはコンピューティング・システム上で走る任意のモジュールまたはモジュールの組み合わせであってもよい。
【０１２６】
本稿に記載されるあらゆる例および条件付きの言辞は、本発明および発明者によって当技術分野の発展のために寄与される概念の理解において読者を助ける教育目的を意図されており、そのような特定的に挙げられる例および条件に限定することなく解釈されるものとする。本発明の実施形態について詳細に述べてきたが、本発明の精神および範囲から外れることなく、これにさまざまな変化、代替および変更をなすことができることは理解しておくべきである。
【０１２７】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
特定の期間中の顧客の電気エネルギー使用を表わすエネルギー使用データを受領する段階であって、前記エネルギー使用データは公益事業者のデジタル署名で署名されている、段階と；
前記エネルギー使用データのデータ・ブロックを選択する効果のある顧客の入力を受領する段階と；
前記入力に応答して、前記エネルギー使用データから選択されたデータ・ブロックを削除する段階と；
前記顧客に一意的な顧客毎鍵、初期化ベクトルおよびカウンタを使って、前記削除されたデータ・ブロックについてのハッシュ値を計算する段階と；
前記エネルギー使用データにおいて、前記削除されたデータ・ブロックを、該削除されたデータ・ブロックに対応する前記計算されたハッシュ値で置き換える段階とを含む、
方法。
（付記２）
付記１記載の方法であって、さらに：
前記エネルギー使用データのうちの、共通の親をもつ少なくとも二つの逐次的なデータ・ブロックを含む諸データ・ブロックのセクションを選択する効果のある顧客の入力を受領する段階と；
前記入力に応答して、前記エネルギー使用データからデータ・ブロックの選択されたセクションを削除する段階と；
前記顧客毎鍵、前記初期化ベクトルおよび前記カウンタを使って、データ・ブロックの前記選択されたセクションにおける各データ・ブロックについて、ハッシュ値を計算する段階と；
さらに、共通の親についての親ハッシュ値を、前記共通の親の子ノードのハッシュ値の連結および前記顧客毎鍵に基づいて計算する段階と；
削除されたセクションを、前記親ハッシュ値で置き換える段階とを含む、
方法。
（付記３）
付記２記載の方法であって、前記削除されたデータ・ブロックについての前記ハッシュ値が式
【数４】
2015091137.tif 000006
に従って計算され、ここで、
Hは前記削除されたデータ・ブロックについての前記ハッシュ値を表わし；
Dは前記データ・ブロックを表わし；
IVは前記初期化ベクトルを表わし；
iは前記カウンタを表わし；
Kは前記顧客毎鍵を表わし；
【数５】
2015091137.tif 000007
は合意された演算子を表わす、
方法。
（付記４）
付記２記載の方法であって、前記共通の親ハッシュ値が式
HP(L,R)＝M(L‖R,K)
に従って計算され、ここで、
HPは前記共通親ハッシュ値を表わし；
Mは鍵付きハッシュ関数を表わし；
‖は連結演算子を表わし；
Lは第一の子ノードの第一のハッシュ値を表わし；
Rは第二の子ノードの第二のハッシュ値を表わし；
Kは前記顧客毎鍵を表わす、
方法。
（付記５）
付記４記載の方法であって：
前記初期化ベクトルは前記公益事業者によって選択されるランダムな数を含み；
前記カウンタは、最初のデータ・ブロックについての1の値で始まり、前記エネルギー使用データの各データ・ブロックについてインクリメントされ；
前記合意された関数はXORを含む、
方法。
（付記６）
付記２記載の方法であって、さらに：
前記ハッシュ値および前記親ハッシュ値を、前記選択されたデータ・ブロックおよび前記選択されたセクションについての置換としてそれぞれ含む前記エネルギー使用データをサードパーティーに通信する段階と；
前記公益事業者の前記デジタル署名がなされたルート・ノード、前記ハッシュ値および前記親ハッシュ値を含む修正されたマークル・ハッシュ木の再構成を可能にするよう、さらに前記顧客毎鍵を前記サードパーティーに通信する段階とを含む、
方法。
（付記７）
付記１記載の方法であって：
前記デジタル署名が、データ・ブロックについて計算されたハッシュ値を有する葉ノードおよび自らの子ノードのハッシュ値を有する非葉ノードを含む修正されたマークル・ハッシュ木のルート・ハッシュ値に対してなされ；
データ・ブロックについて計算される前記ハッシュ値は式
【数６】
2015091137.tif 000008
に従って計算され、ここで、
Hは前記データ・ブロックについての前記ハッシュ値を表わし；
Dは前記データ・ブロックを表わし；
IVは前記初期化ベクトルを表わし；
iは前記カウンタを表わし；
Kは前記顧客毎鍵を表わし；
【数７】
2015091137.tif 000009
は合意された演算子を表わし；
前記非葉ノードの前記ハッシュ値が式
HP(L,R)＝M(L‖R,K)
に従って計算され、ここで、
HPは前記共通親ハッシュ値を表わし；
Mは鍵付きハッシュ関数を表わし；
‖は連結演算子を表わし；
Lは第一の子ノードの第一のハッシュ値を表わし；
Rは第二の子ノードの第二のハッシュ値を表わし；
Kは前記顧客毎鍵を表わす、
方法。
（付記８）
付記７記載の方法であって：
葉ノードの前記ハッシュ値が、前記初期化ベクトル、前記カウンタおよび前記顧客毎鍵を使って計算され；
非葉ノードの前記ハッシュ値が、前記子ノードの連結および前記顧客毎鍵に対して作用する鍵付きハッシュ関数を使って計算され；
前記データ・ブロックが、メーター読みからのエネルギー使用データおよび前記メーター読みに関連付けられたメタデータを含み；
前記データ・ブロックの削除が前記ルート・ノードに影響しない、
方法。
（付記９）
付記７記載の方法であって：
前記顧客毎鍵は、前記修正されたマークル・ハッシュ木を構築するために前記公益事業者と共有され、前記ルート・ノードのルート・ハッシュ値を計算するために使用され；
前記顧客毎鍵は前記修正されたマークル・ハッシュ木を再構成するためにサードパーティーと共有される、
方法。
（付記１０）
付記１記載の方法であって：
前記エネルギー使用データが向上グリーン・ボタン・データ方式を使って通信され；
前記向上グリーン・ボタン・データ方式は：
修正されたマークル・ハッシュ木のルート・ノードの署名を含み、前記デジタル署名を生成するために使われたアルゴリズムを指定する第一の向上データ・クラス；
前記修正されたマークル・ハッシュ木を構築するために使われたハッシュ・アルゴリズムおよびダイジェストを生成するために使われたアルゴリズムについての情報ならびに前記初期化ベクトルを含む第二のデータ・クラス；
一つまたは複数のパワー使用サマリー要素のハッシュ値を含む第三のデータ・クラス；および
顧客が前記エネルギー使用データのある部分をサードパーティーから削除するときにマークル・ハッシュ木の計算のために使われるハッシュ値と、該ハッシュ値によって表わされる削除されたエネルギー使用データの時刻および継続時間と、該ハッシュ値によって削除されるデータ・ブロックの数とを含む第四のデータ・クラスを含む、
方法。
（付記１１）
プログラミング・コードがエンコードされている非一時的なコンピュータ可読媒体であって、前記プログラミング・コードは：
特定の期間中の顧客の電気エネルギー使用を表わすエネルギー使用データを受領する段階であって、前記エネルギー使用データは公益事業者のデジタル署名で署名されている、段階と；
前記エネルギー使用データのデータ・ブロックを選択する効果のある顧客の入力を受領する段階と；
前記入力に応答して、前記エネルギー使用データから選択されたデータ・ブロックを削除する段階と；
前記顧客に一意的な顧客毎鍵、初期化ベクトルおよびカウンタを使って、前記削除されたデータ・ブロックについてのハッシュ値を計算する段階と；
前記エネルギー使用データにおいて、前記削除されたデータ・ブロックを、該削除されたデータ・ブロックに対応する前記計算されたハッシュ値で置き換える段階
とを含む動作を実行するまたは該動作の実行を制御するようプロセッサによって実行可能である、
非一時的なコンピュータ可読媒体。
（付記１２）
前記動作がさらに：
前記エネルギー使用データのうちの、共通の親をもつ少なくとも二つの逐次的なデータ・ブロックを含む諸データ・ブロックのセクションを選択する効果のある顧客の入力を受領する段階と；
前記入力に応答して、前記エネルギー使用データからデータ・ブロックの選択されたセクションを削除する段階と；
前記顧客毎鍵、前記初期化ベクトルおよび前記カウンタを使って、データ・ブロックの前記選択されたセクションにおける各データ・ブロックについて、ハッシュ値を計算する段階と；
さらに、共通の親についての親ハッシュ値を、前記共通の親の子ノードのハッシュ値の連結および前記顧客毎鍵に基づいて計算する段階と；
削除されたセクションを、前記親ハッシュ値で置き換える段階とを含む、
付記１１記載の非一時的なコンピュータ可読媒体。
（付記１３）
付記１２記載の非一時的なコンピュータ可読媒体であって、前記削除されたデータ・ブロックについての前記ハッシュ値が式
【数８】
2015091137.tif 000010
に従って計算され、ここで、
Hは前記削除されたデータ・ブロックについての前記ハッシュ値を表わし；
Dは前記データ・ブロックを表わし；
IVは前記初期化ベクトルを表わし；
iは前記カウンタを表わし；
Kは前記顧客毎鍵を表わし；
【数９】
2015091137.tif 000011
は合意された演算子を表わす、
非一時的なコンピュータ可読媒体。
（付記１４）
付記１２記載の非一時的なコンピュータ可読媒体であって、共通の親ハッシュ値が式
HP(L,R)＝M(L‖R,K)
に従って計算され、ここで、
HPは前記共通親ハッシュ値を表わし；
Mは鍵付きハッシュ関数を表わし；
‖は連結演算子を表わし；
Lは第一の子ノードの第一のハッシュ値を表わし；
Rは第二の子ノードの第二のハッシュ値を表わし；
Kは前記顧客毎鍵を表わす、
非一時的なコンピュータ可読媒体。
（付記１５）
付記１４記載の非一時的なコンピュータ可読媒体であって：
前記初期化ベクトルは前記公益事業者によって選択されるランダムな数を含み；
前記カウンタは、最初のデータ・ブロックについての1の値で始まり、前記エネルギー使用データの各データ・ブロックについてインクリメントされ；
前記合意された関数はXORを含む、
非一時的なコンピュータ可読媒体。
（付記１６）
付記１２記載の非一時的なコンピュータ可読媒体であって、前記動作がさらに：
前記ハッシュ値および前記親ハッシュ値を、前記選択されたデータ・ブロックおよび前記選択されたセクションについての置換としてそれぞれ含む前記エネルギー使用データをサードパーティーに通信する段階と；
前記公益事業者の前記デジタル署名がなされたルート・ノード、前記ハッシュ値および前記親ハッシュ値を含む修正されたマークル・ハッシュ木の再構成を可能にするよう、さらに前記顧客毎鍵を前記サードパーティーに通信する段階とを含む、
非一時的なコンピュータ可読媒体。
（付記１７）
付記１１記載の非一時的なコンピュータ可読媒体であって：
前記デジタル署名が、データ・ブロックについて計算されたハッシュ値を有する葉ノードおよび自らの子ノードのハッシュ値を有する非葉ノードを含む修正されたマークル・ハッシュ木のルート・ハッシュ値に対してなされ；
データ・ブロックについて計算される前記ハッシュ値は式
【数１０】
2015091137.tif 000012
に従って計算され、ここで、
Hは前記データ・ブロックについての前記ハッシュ値を表わし；
Dは前記データ・ブロックを表わし；
IVは前記初期化ベクトルを表わし；
iは前記カウンタを表わし；
Kは前記顧客毎鍵を表わし；
【数１１】
2015091137.tif 000013
前記非葉ノードの前記ハッシュ値が式
HP(L,R)＝M(L‖R,K)
に従って計算され、ここで、
HPは前記共通親ハッシュ値を表わし；
Mは鍵付きハッシュ関数を表わし；
‖は連結演算子を表わし；
Lは第一の子ノードの第一のハッシュ値を表わし；
Rは第二の子ノードの第二のハッシュ値を表わし；
Kは前記顧客毎鍵を表わす、
非一時的なコンピュータ可読媒体。
（付記１８）
付記１７記載の非一時的なコンピュータ可読媒体であって：
葉ノードの前記ハッシュ値が、前記初期化ベクトル、前記カウンタおよび前記顧客毎鍵を使って計算され；
非葉ノードの前記ハッシュ値が、前記子ノードの連結および前記顧客毎鍵に対して作用する鍵付きハッシュ関数を使って計算され；
前記データ・ブロックが、メーター読みからのエネルギー使用データおよび前記メーター読みに関連付けられたメタデータを含み；
前記データ・ブロックの削除が前記ルート・ノードに影響しない、
非一時的なコンピュータ可読媒体。
（付記１９）
付記１７記載の非一時的なコンピュータ可読媒体であって：
前記顧客毎鍵は、前記修正されたマークル・ハッシュ木を構築するために前記公益事業者と共有され、前記ルート・ノードのルート・ハッシュ値を計算するために使用され；
前記顧客毎鍵は前記修正されたマークル・ハッシュ木を再構成するためにサードパーティーと共有される、
非一時的なコンピュータ可読媒体。
（付記２０）
付記１１記載の非一時的なコンピュータ可読媒体であって：
前記エネルギー使用データが向上グリーン・ボタン・データ方式を使って通信され；
前記向上グリーン・ボタン・データ方式は：
修正されたマークル・ハッシュ木のルート・ノードの署名を含み、前記デジタル署名を生成するために使われたアルゴリズムを指定する第一の向上データ・クラス；
前記修正されたマークル・ハッシュ木を構築するために使われたハッシュ・アルゴリズムおよびダイジェストを生成するために使われたアルゴリズムについての情報ならびに前記初期化ベクトルを含む第二のデータ・クラス；
一つまたは複数のパワー使用サマリー要素のハッシュ値を含む第三のデータ・クラス；および
顧客が前記エネルギー使用データのある部分をサードパーティーから削除するときにマークル・ハッシュ木の計算のために使われるハッシュ値と、該ハッシュ値によって表わされる削除されたエネルギー使用データの時刻および継続時間と、該ハッシュ値によって削除されるデータ・ブロックの数とを含む第四のデータ・クラスを含む、
非一時的なコンピュータ可読媒体。
【符号の説明】
【０１２８】
１００  システム
１０４  顧客装置
１０６  顧客プライバシー・モジュール
１０８  公益事業者
１１０  公益事業者サーバー
１１２  署名モジュール
１１４  サードパーティー・サーバー
１１６  サードパーティー検証モジュール
１２０  サードパーティー
１２２  ネットワーク
１２４  貯蔵部
１２８  サイト
１３０  エネルギー使用データ
１３２  エネルギー
１５０  メーター読み
１５２  署名されたエネルギー使用データ
１５４  編集された署名されたエネルギー使用データ
１５６  編集要求
１６０  データ共有要求
１８０  貯蔵部プライバシー・モジュール
１８２  メモリ
１８４  プロセッサ
１８６  通信ユニット
２００  修正されたマークル・ハッシュ木
３００  向上グリーン・ボタン方式
３０２  署名情報
３０４  ハッシュ情報
３０６  使用点
３０８  メーター読み
３１０  読み型
３１２  電力使用サマリー
３１４  電力使用サマリー・ハッシュ
３１６  電力品質サマリー
３１８  読み品質
３２０  区間読み
３２２  区間ブロック
３２４  区間ハッシュ
３２６  サービス・カテゴリー
３２８  ローカル時間パラメータ
５００  データ管理方法
５０２  エネルギー使用データを受領
５０４  エネルギー使用データのデータ・ブロックを選択する効果のある顧客の入力を受領
５０６  選択されたデータ・ブロックをエネルギー使用データから削除
５０８  削除されたデータ・ブロックについてのハッシュ値を、顧客に一意的な顧客毎鍵、初期化ベクトルおよびカウンタを使って計算
５１０  エネルギー使用データにおいて、削除されたデータ・ブロックを、該削除されたデータ・ブロックに対応する計算されたデータ・ハッシュ値で置き換え
５１２  エネルギー使用データのうちの、共通の親をもつ少なくとも二つの逐次的なデータ・ブロックを含むデータ・ブロックのセクションを選択する効果のある顧客の入力を受領
５１４  前記入力に応答して、諸データ・ブロックの選択されたセクションをエネルギー使用データから削除
５１６  諸データ・ブロックの選択されたセクション内の各データ・ブロックについて、顧客毎鍵、初期化ベクトルおよびカウンタを使ってハッシュ値を計算
５１８  前記共通の親について、親ハッシュ値を、前記共通の親の子ノードのハッシュ値の連結および前記顧客毎鍵に基づいて計算
５２０  削除されたセクションを、親ハッシュ値で置き換え
５２２  前記ハッシュ値および前記親ハッシュ値をそれぞれ選択されたデータ・ブロックおよび選択されたセクションについての置換として含むエネルギー使用データをサードパーティーに通信
５２４  顧客毎鍵をサードパーティーに通信
【図１Ａ】
2015091137.tif 000022
【図１Ｂ】
2015091137.tif 000023
【図２】
2015091137.tif 000024
【図３】
2015091137.tif 000025
【図４Ａ】
2015091137.tif 000026
【図４Ｂ】
2015091137.tif 000027
【図４Ｃ】
2015091137.tif 000028
【図４Ｄ】
2015091137.tif 000029
【図５Ａ】
2015091137.tif 000030
【図５Ｂ】
2015091137.tif 000031