(57)【要約】様々な例示的態様において、ネットワーク化システム内のセンサノードにおいて収集された保護顧客データのためのシステムおよび方法が提供される。鍵回復モジュールは、要求内の暗号化されたセンサデータが、第1の顧客鍵ペアと関連付けられた認証済み公開鍵によって暗号化されたと判定する。該第1の顧客鍵ペアは、回復された秘密鍵に相当する。該鍵回復モジュールは、該第1の顧客鍵ペアと関連付けられた該秘密鍵が、第2の顧客鍵ペアと関連付けられた該秘密鍵によって暗号化されていると判定する。該第1の顧客鍵ペアと関連付けられた秘密鍵は、該第2の顧客鍵ペアと関連付けられた秘密鍵を用いることによって復号化される。該要求内の該暗号化されたセンサデータは、復号化された、該第1の顧客鍵ペアと関連付けられた秘密鍵を用いて、復号化される。2017507629.tif 000003
2017507629.tif 000002
【特許請求の範囲】
【請求項１】
以下の工程を含む、センサネットワーク内のセンサノードに使用可能なデータを保護するための方法:
顧客と関連付けられ公開暗号化鍵と秘密復号化鍵とを含む鍵ペアを生成する工程;
該公開暗号化鍵の認証を要求する工程;
認証済み公開暗号化鍵に相当する証明書を受け取る工程;
該センサネットワーク内の該センサノードが該センサノードにおいて使用可能なセンサデータを該証明書によって暗号化することを可能にするために、該顧客と関連付けられた該センサノードへ該証明書を配布する工程;
暗号化された該センサデータをサービスデータプラットフォームが復号化することを可能にするために複数のシェアの指定されたサブセットが組み合わせて用いられうるように、1つのマシンの少なくとも1つのプロセッサを用いて該秘密復号化鍵を該複数のシェアに分割する工程;
該複数のシェアのうちの第1のシェアを該サービスデータプラットフォームにおいて記憶する工程;
該複数のシェアのうちの第2のシェアの、パスワードで暗号化されたローカルシェアを、該サービスデータプラットフォームにおいて記憶する工程;および
記憶のために第三者機関デバイスへ該複数のシェアのうちの第3のシェアを送信する工程。
【請求項２】
顧客鍵ペアに相当する前記鍵ペアを生成するように、前記顧客と関連付けられた要求を受け取る工程
をさらに含む、請求項1に記載の方法。
【請求項３】
前記公開暗号化鍵の認証を要求する工程が、
認証局に、前記鍵ペアと関連付けられた顧客証明書を生成するように要求すること
を含む、請求項1に記載の方法。
【請求項４】
顧客デバイスへ前記複数のシェアのうちの前記第2のシェアを送信する工程
をさらに含む、請求項1に記載の方法。
【請求項５】
前記秘密復号化鍵を複数のシェアに分割する工程の後で、該秘密復号化鍵を破壊する工程
をさらに含む、請求項1に記載の方法。
【請求項６】
以下の工程を含む、ネットワーク化システムにおいて顧客データを保護する方法:
ネットワーク上でサービスデータプラットフォームと通信するセンサネットワーク内のセンサノードにおいて使用可能なセンサデータを収集する工程;
顧客鍵ペアと関連付けられた認証済み公開鍵を用いて、機密扱いの識別情報と関連付けられた該顧客データに相当する該センサデータを暗号化する工程;
デバイス秘密鍵によって該センサデータに暗号で署名する工程;
記憶のために該サービスデータプラットフォームへ、暗号化された該センサデータを搬送する工程;ならびに
該サービスデータプラットフォームにおいて、該暗号化されたセンサデータを、1つのマシンの少なくとも1つのプロセッサを用いて秘密鍵共有方式を用いて復号化する工程であって、該秘密鍵共有方式が、第1のシェアとパスワードで暗号化された第2のシェアとを用いて、該顧客鍵ペアと関連付けられた該秘密鍵を再構築し、該第1のシェアが該サービスデータプラットフォームに割り当てられておりかつ該パスワードで暗号化された第2のシェアが該顧客鍵ペアの顧客に割り当てられている、工程。
【請求項７】
前記機密扱いの識別情報が、顧客識別情報および個人識別情報のうちの1つに相当する、請求項6に記載の方法。
【請求項８】
前記サービスデータプラットフォームによって記憶されている前記暗号化されたセンサデータにアクセスするように、該サービスデータプラットフォームの前記顧客の許可されたユーザと関連付けられた要求を受け取る工程;
パスワードで暗号化された第2のシェアと関連付けられたパスワードを受け取る工程;および
該パスワードで暗号化された第2のシェアを復号化する工程
をさらに含む、請求項6に記載の方法。
【請求項９】
前記顧客鍵ペアと関連付けられた秘密鍵を再構築するために、前記第1のシェアと復号化された前記パスワードで暗号化された第2のシェアとを組み合わせる工程
をさらに含む、請求項8に記載の方法。
【請求項１０】
前記秘密鍵共有方式が、前記秘密鍵の少なくとも3つのシェアを含み、該少なくとも3つのシェアのうちの少なくとも2つが、前記暗号化されたセンサデータを復号化するための前記顧客鍵ペアと関連付けられた秘密鍵を再構築するために用いられることができる、請求項6に記載の方法。
【請求項１１】
以下の工程を含む、ネットワーク化システムにおいて顧客データを保護する方法:
サービスデータプラットフォームにおいて記憶されている暗号化されたセンサデータにアクセスするように要求を受け取る工程;
該要求内の該暗号化されたセンサデータが、回復された秘密鍵に相当する第1の顧客鍵ペアと関連付けられた認証済み公開鍵によって暗号化されたと、1つのマシンの少なくとも1つのプロセッサを用いて判定する工程;
該第1の顧客鍵ペアと関連付けられた該秘密鍵が、第2の顧客鍵ペアと関連付けられた該秘密鍵によって暗号化されていると判定する工程;
該第2の顧客鍵ペアと関連付けられた秘密鍵を用いることによって、該第1の顧客鍵ペアと関連付けられた秘密鍵を復号化する工程;および
復号化された、該第1の顧客鍵ペアと関連付けられた秘密鍵を用いて、該要求内の該暗号化されたセンサデータを復号化する工程。
【請求項１２】
ネットワーク上で前記サービスデータプラットフォームと通信するセンサネットワーク内のセンサノードにおいて使用可能なセンサデータを収集する工程;
前記第1の顧客鍵ペアと関連付けられた前記認証済み公開鍵を用いて、機密扱いの識別情報と関連付けられた前記顧客データに相当する該センサデータを暗号化する工程;
該第1の顧客鍵ペアと関連付けられたデバイス秘密鍵を用いて該センサデータに暗号で署名する工程;および
記憶のために該サービスデータプラットフォームへ、暗号化された該センサデータを搬送する工程
をさらに含む、請求項11に記載の方法。
【請求項１３】
前記第1の顧客鍵ペアと関連付けられた第三者機関シェアを取り出す工程であって、該第三者機関シェアが、前記サービスデータプラットフォームへ提供することを前記顧客によって許可されている、工程;
該第1の顧客鍵ペアと関連付けられた該第三者機関シェアを、該サービスデータプラットフォームに割り当てられたサーバシェアと組み合わせる工程;ならびに
該サーバシェアおよび信頼できる該第三者機関シェアを用いて、前記第1の顧客鍵ペアと関連付けられた秘密鍵を回復する工程
をさらに含む、請求項11に記載の方法。
【請求項１４】
回復された、前記第1の顧客鍵ペアと関連付けられた秘密鍵を暗号化する工程、および
暗号化された、該第1の顧客鍵ペアと関連付けられた秘密鍵を、前記サービスデータプラットフォームにおいて記憶する工程
をさらに含む、請求項13に記載の方法。
【請求項１５】
前記第2の顧客鍵ペアと関連付けられた秘密鍵を再構築するために、該第2の顧客鍵ペアと関連付けられた秘密鍵の、パスワードで復号化された顧客シェアに関して、パスワードを要求する工程;
該パスワードを受け取り、かつ、該第2の顧客鍵ペアと関連付けられた該パスワードで復号化された顧客シェアを復号化する工程;
サーバシェアと、該第2の顧客鍵ペアと関連付けられた復号化該パスワードで暗号化された顧客シェアとを組み合わせる工程;ならびに
該第2の顧客鍵ペアと関連付けられた秘密鍵を再構築する工程
をさらに含む、請求項11に記載の方法。
【請求項１６】
前記第2の顧客鍵ペアと関連付けられた認証済み公開鍵を用いることによって、前記第1の顧客鍵ペアと関連付けられた秘密鍵を暗号化する工程;および
暗号化された、該第1の顧客鍵ペアと関連付けられた秘密鍵を記憶する工程
をさらに含む、請求項11に記載の方法。
【請求項１７】
ネットワーク化システムがセンサネットワークを備え、該センサネットワークが、Wi-Fi無線ネットワークまたはアドホック無線ネットワークのうちの少なくとも1つである、請求項11に記載の方法。
【請求項１８】
プロセッサ実装モジュールのための動作を実行するように構成された少なくとも1つのプロセッサ
を備え、該プロセッサ実装モジュールが、
顧客と関連付けられ公開暗号化鍵と秘密復号化鍵とを含む鍵ペアを生成し;
該公開暗号化鍵の認証を要求し;
認証済み公開暗号化鍵に相当する証明書を受け取り;
センサネットワーク内のセンサノードが該センサノードにおいて使用可能なセンサデータを該証明書によって暗号化することを可能にするために、該顧客と関連付けられた該センサノードへ該証明書を配布する
ように構成された、鍵ペア生成モジュールと、
暗号化された該センサデータをサービスデータプラットフォームが復号化することを可能にするために複数のシェアの指定されたサブセットが組み合わせて用いられうるように、該秘密復号化鍵を該複数のシェアに分割し;
該複数のシェアのうちの第1のシェアを該サービスデータプラットフォームにおいて記憶し;
該複数のシェアのうちの第2のシェアの、パスワードで暗号化されたローカルシェアを、該サービスデータプラットフォームにおいて記憶し;かつ
記憶のために第三者機関デバイスへ該複数のシェアのうちの第3のシェアを送信する
ように構成された、鍵共有モジュールと
を含む、ネットワーク化システム内の該センサノードにおいて収集された顧客データを保護するためのシステム。
【請求項１９】
プロセッサ実装モジュールのための動作を実行するように構成された少なくとも1つのプロセッサ
を備え、該プロセッサ実装モジュールが、
要求内の暗号化されたセンサデータが、回復された秘密鍵に相当する第1の顧客鍵ペアと関連付けられた認証済み公開鍵によって暗号化されたと判定し;
該第1の顧客鍵ペアと関連付けられた該秘密鍵が、第2の顧客鍵ペアと関連付けられた該秘密鍵によって暗号化されていると判定し;
該第2の顧客鍵ペアと関連付けられた秘密鍵を用いることによって、該第1の顧客鍵ペアと関連付けられた秘密鍵を復号化し;かつ
復号化された、該第1の顧客鍵ペアと関連付けられた秘密鍵を用いて、該要求内の該暗号化されたセンサデータを復号化する
ように構成された、鍵回復モジュール
を含む、ネットワーク化システム内のセンサノードにおいて収集された顧客データを保護するためのシステム。
【請求項２０】
少なくとも1つのプロセッサに通信可能に（communicatively）結合されており、第1の顧客鍵ペアと関連付けられた前記認証済み公開鍵によって暗号化された前記暗号化されたセンサデータと、暗号化された、該第1の顧客鍵ペアと関連付けられた認証済み公開鍵とを記憶するように構成された、データベース
をさらに備える、請求項18に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、参照によりその全体が各々組み入れられる、2015年3月5日付で出願された米国特許出願第14/639,841号の優先権を主張し、2014年3月6日付で出願された米国特許仮出願第61/948,817号の優先権を主張するものである。本出願は、2013年9月11日付で出願された、「センシング使用のためのネットワーク化された照明インフラストラクチャ（Networked Lighting Infrastructure for Sensing Applications）」という名称の米国特許非仮出願第14/024,561号および2012年9月12日付で出願されたその同名の関連する米国特許仮出願第61/699,968号に関連したものである。
【０００２】
技術分野
本開示の態様は全体として、ネットワーク化環境におけるセキュリティおよびデータプライバシに関し、限定のためではないが、より詳細には、センサネットワークによって収集された顧客データの保護に関する。
【背景技術】
【０００３】
背景
今日、センサネットワークは幅広い応用分野で使用されている。例えば、センサネットワークによって収集されたデータは、環境モニタリング、セキュリティおよび監視、ロジスティクスおよび輸送、制御および自動化、ならびに交通モニタリングに用いることができる。セキュリティおよびプライバシは、センサネットワークが人間関与者を伴うセンサデータを収集する場合の大きな関心事の1つである。人間関与者のプライバシを保護し、センサネットワークによって収集されたセンサデータへの不正アクセスを防止するために、センサデータを収集、記憶、および処理するシステムにおいては適切なセキュリティ措置が実施されうる。
【発明の概要】
【０００４】
【図面の簡単な説明】
【０００５】
添付の図面の図において、様々な態様は例示のために示しており、限定のために示されてはいない。
【図１】様々な態様における使用に適する照明センサネットワークの図である。
【図２】例示的態様による、公開鍵基盤（PKI）および顧客デバイスと通信する照明センサネットワークのブロック図である。
【図３Ａ】例示的態様による、照明センサネットワーク内でセキュリティを実施するのに用いられる証明書および秘密鍵の様々な例を示す図である。
【図３Ｂ】例示的態様による、照明センサネットワーク内の複数のデバイスの間で、または照明センサネットワークと通信するデバイスの間で配布される鍵、証明書、およびシェアを有する照明センサネットワークを示す様々なブロック図である。
【図３Ｃ】例示的態様による、照明センサネットワーク内の複数のデバイスの間で、または照明センサネットワークと通信するデバイスの間で配布される鍵、証明書、およびシェアを有する照明センサネットワークを示す様々なブロック図である。
【図３Ｄ】例示的態様による、照明センサネットワーク内の複数のデバイスの間で、または照明センサネットワークと通信するデバイスの間で配布される鍵、証明書、およびシェアを有する照明センサネットワークを示す様々なブロック図である。
【図４】例示的態様による、顧客が証明書および鍵ペアを作成するための方法を示す図である。
【図５】例示的態様による、顧客がサービスデータプラットフォームにおいて記憶されたデータを復号化し、データにアクセスするための方法を示す図である。
【図６】例示的態様による、顧客が秘密鍵を回復するための方法を示す図である。
【図７】例示的態様による、本明細書で論じる方法のうちの任意の1つまたは複数をマシンに実行させるための命令セットが内部で実行されうるコンピュータシステムの形態のマシンを示す図である。
【発明を実施するための形態】
【０００６】
本明細書で与えられる見出しは単に便宜的なものにすぎず、必ずしも用いられる用語の範囲または意味に影響を及ぼすとは限らない。
【０００７】
詳細な説明
以下の説明は、本発明の例示的態様を具現化するシステム、方法、技法、命令シーケンス、および計算機プログラム製品を含む。以下の記述では、説明を目的として、本発明の主題の様々な態様の理解を提供するために多数の具体的詳細が示される。本明細書で用いる場合、「または/もしくは」という用語は、包括的意味または排他的意味として解釈することができる。しかし、本発明の主題の態様がこれらの具体的詳細なしでも実施されうることが、当業者には明らかであろう。概して、周知の命令インスタンス、プロトコル、構造、および技法は詳細に示していない。本明細書に記載される例示的態様は、サービスデータプラットフォームと通信するセンサネットワークのセキュリティおよびデータプライバシのためのシステムおよび方法を提供する。
【０００８】
様々な態様においては、顧客データを第三者による不正アクセスから安全にするために、秘密鍵共有方式と共に実施される公開鍵暗号法も用いられうる。顧客データは、センサネットワーク内のセンサノードによって収集されたセンサデータに相当しうる。センサデータの例には、動き検知データ、周囲光センサデータ、オーディオデータ、画像データ、ビデオデータ、および振動データが含まれる。顧客データは、顧客データによって表される個人のプライバシを保持するために保護を必要とする機密扱いの識別情報を含む場合がある。機密扱いの識別情報は、個人を特定できる情報および顧客を特定できる情報を含みうる。機密扱いの識別情報にアクセスすることのできるシステムは、様々なデータプライバシの法規に準拠することを求められうる。そうしたシステムを所有または管理する企業または実体は、データプライバシの法律、規則、および模範事例に準拠するためのプライバシガイドラインを実施することができる。
【０００９】
例えば、データプライバシーガイドラインは以下の規定を含みうる:データプライバシはエンド・ツー・エンドで管理されること;データプライバシはデータの収集、記憶、および表示時にサポートされること;秘密データは、個人を特定できる情報および顧客を特定できる情報を含むこと;オーディオ関連の感知は連邦盗聴法を遵守すること;アクセスされるすべてのデータがパスワード保護されること;データは必要とされる場合にのみ記憶されること;個人を特定できる情報および顧客を特定できる情報は、関連するプライバシガイドラインが満たされる場合に送信され、送信される個人を特定できる情報および顧客を特定できる情報は暗号化されること;ならびに照明インフラストラクチャ所有者らは、個人および実体から求められる場合に、適切な署名を書き込み、明確な書面による同意を得る必要があること。いくつかの態様において、周囲データのためのプライバシガイドラインは現行法規に基づくものであり、個人のプライバシを保護しつつアプリケーションおよびサービスのエンドユーザを利するように策定される。様々なガイドラインは、アプリケーションおよびサービスが開発され、配置されるにつれて、法律およびユーザ嗜好に基づいて発展しうる。
【００１０】
いくつかの態様において、照明センサネットワーク内のセンサノードは、ビデオデータおよびオーディオデータといった様々なセンサデータを取得するように構成することができる。例えば、屋内駐車場または屋外駐車場内のセンサノードに結合された、またはセンサノード内に置かれたビデオカメラセンサは、動き回る車のビデオデータおよびオーディオデータを取り込むことができる。取得されたセンサデータは、多くの場合、センサノードを含むパーキングデッキ内で車を運転している運転者といった、インフラストラクチャ内の人の識別データ（機密扱いの識別情報とも呼ばれる）を含む。例えば、ビデオデータは、人の顔もしくは類似した特徴、ナンバープレート番号、またはそれぞれの自動車に関する他の識別情報を含みうる。センサノードにおいて生センサデータを収集している照明センサネットワークの所有者は、照明センサネットワーク内のセンサノードによって収集または記録されたセンサデータにアクセスすることによってその身元が明らかになる可能性のある人のプライバシを保護する法的義務または他の義務を負う場合がある。追加的なプライバシ措置を必要としうる機密扱いの識別情報のいくつかの例には、顔識別、携帯電話上の媒体アクセス制御（MAC）アドレス、および車のナンバープレートが含まれうる。センサノードにおいて収集されたセンサデータにアクセスすることによってその身元が明らかになる可能性のある人のプライバシを保護するために、公開鍵暗号法を用いて、顧客データを、ネットワーク化環境内での望まない共有またはアクセスから保護することができる。公開鍵暗号法は、公開鍵基盤（PKI）を用いて、ディジタル署名で公開鍵を認証するディジタル証明書を作成して実施することができる。
【００１１】
ネットワーク化環境は、ネットワーク（例えば広域ネットワーク（WAN））を介したセンサデータ記憶および管理プラットフォーム（サービスデータプラットフォームとも呼ばれる）に相当するサーバシステムと通信するセンサネットワークを含む照明センサネットワークを含むことができる。センサデータを収集し、処理するためのこのフレームワークは、エンド・ツー・エンドセキュリティをサポートし、様々なプライバシガイドラインを実施するのに用いることができる。センサネットワークは、センサネットワーク内のセンサノードに、センサノードを取り付けるための機械的支持を提供し、センサノードに追加的な電力およびネットワーキング機能を提供することのできる照明インフラストラクチャ（または他のインフラストラクチャ）に結合することができる。例示的態様においては、センサノードの一部または全部を、照明インフラストラクチャ内の照明器具に、直接的または間接的に取り付けることができる。
【００１２】
暗号化されたセンサデータをインターネット上または他のネットワーク上で送り、かつ、センサデータをサービスデータプラットフォームにおいて暗号化された形で記憶することによって、公開鍵暗号法はセキュリティの問題および脅威を減少または最小化するのに用いることができる。また公開鍵暗号法は、（機密扱いの識別情報を含みうる）センサデータへのアクセスを、そうしたデータにアクセスすることを許可されている当事者だけに許可または制限するのに用いることもできる。様々な態様において、公開鍵暗号法は、照明センサネットワークによって、センサノードにおいて収集された顧客データを保護するのに用いることができる。例えば、センサノードにおいて収集されたセンサデータは、センサノードにおいて、顧客公開鍵を用いて暗号化することができる。暗号化されたセンサデータは、サービスデータプラットフォームへ搬送され、かつ、暗号化されたセンサデータとして、センサデータに顧客がアクセスしようと決めるまで記憶される。センサデータは様々な態様において顧客秘密鍵共有方式を用いて復号化される。公開鍵暗号法は、顧客が、秘密鍵を管理および制御し、したがって、顧客のセンサデータへのアクセスを許可された当事者だけに制限することを可能にする。
【００１３】
例示的態様においては、照明センサネットワークのセンサノードによるセンサデータ内および記録内で表されたこのような人のプライバシを保護するために、照明センサネットワークと関連付けられたコンピューティングデバイスはデータ（例えば、証明書、シェア、鍵など）を生成することができ、該データは組み合わせて初めて、センサノードによって取得される暗号化されたセンサデータを復号化することができる。様々な態様においては、3種類の鍵および関連付けられた証明書が用いられる。3種類の鍵および関連付けられた証明書を、デバイス、サーバおよび顧客の鍵および証明書と呼ぶことができる。デバイス鍵およびデバイス証明書は、照明ノード（および、おそらくは、照明ネットワーク内の他のデバイス）と関連付けられている。サーバ鍵およびサーバ証明書は、複数のサーバを有するサーバシステムに相当するサービスデータプラットフォームと関連付けられている。顧客鍵および顧客証明書は顧客と関連付けられている。顧客は、サービスデータプラットフォームの顧客または照明ネットワークの所有者でありうるサービス提供者とすることができる。また顧客は照明ネットワークの所有者の顧客とすることもできる。照明センサネットワークはこれら3種類の鍵および証明書に依拠することができる。各種の鍵および証明書の数は、様々な態様において関与する、または説明する公開鍵暗号方式を実施する照明センサネットワーク内のデバイスの台数に依存する。様々なデバイス（例えば、デバイス（すなわち、センサノード））、サーバ（すなわち、サービスデータプラットフォーム）および顧客デバイス）と関連付けられた様々な鍵、証明書、およびシェアについて、図3B〜図3Dを用いてより詳細に論じる。
【００１４】
いくつかの態様においては、顧客秘密鍵を3つのシェア、すなわち、顧客シェア、サーバシェア、および第三者機関シェア（例えば、信頼できる代理店、エスクロー会社）へ分割して、センサデータがそれら3つのシェアのうちの2つ以上を用いてのみ復号化されうるようにすることができる。秘密鍵共有方式を用いることにより、センサノードによって記録された暗号化データへのアクセス権を得ようとする外部の者は、顧客（または照明センサネットワークもしくはセンサノードの所有者）の許可または許認可なしにおよび秘密鍵からの指定された数のシェアなしに、データを復号化することができず、よって機密扱いの身元情報を明らかにすることができなくなる。様々な態様において、顧客は、顧客の要求時の顧客によるサービスデータプラットフォームによって記憶されている暗号化されたセンサデータへのアクセスを円滑化するために、顧客の顧客シェアの暗号化されたローカルシェアをサービスデータプラットフォームに提供することを選択することができる。サーバシェア、暗号化されたローカルシェアの組み合わせを用いて、暗号化されたセンサデータを復号化することができる。暗号化されたローカルシェアはパスワード保護することができる。
【００１５】
様々な態様においては、顧客が、秘密鍵の顧客シェア（または顧客シェアの暗号化ローカルシェア）を用いてウェブインターフェースを介してセンサノードによって取得される暗号化されたセンサデータにアクセスすることを可能にすることができる。
【００１６】
様々な態様は、照明センサネットワーク内で用いられるセキュリティおよびデータプライバシのための方法、デバイス、システム、および非一時的プロセス可読記憶媒体を提供する。そうしたネットワークは、本出願が優先権を主張する、2015年3月5日付で出願された米国特許出願第14/639,841号、2014年3月6日付で出願された、「照明センサネットワークのためのセキュリティおよびデータプライバシ（Security and Data Privacy for Lighting Sensory Network」という名称の米国特許仮出願第61/948,817号、2013年9月11日付で出願された、「センシング使用のためのネットワーク化された照明インフラストラクチャ（Networked Lighting Infrastructure for Sensing Applications）」という名称の米国特許非仮出願第14/024,561号、および2012年9月12日付で出願されたその同名の関連する米国特許仮出願第61/699,968号に記載されており、これらの内容は参照によりその全体が各々組み入れられる。
【００１７】
カリフォルニア州サニーベールのSensity Systems Inc.によって開発されたNetSense照明センサネットワークプラットフォームは、記載される様々な態様を実施するのに用いられうる照明センサネットワークの一例を提供するものである。NetSenseフレームワークは、機密扱いの識別情報に相当してもよいセンサデータ情報にアプリケーションがセキュリティ上安全にアクセスすることを可能にする照明インフラストラクチャを用いた様々なセンサの配置を可能にする。NetSenseはエンド・ツー・エンドのデータセキュリティおよび発展するプライバシガイドラインをサポートするように設計されている。NetSenseの主要構成要素には、エンドポイントセンサデータ収集デバイス（例えば、センサノード）、センサデータを処理し、アプリケーションがセンサデータにセキュリティ上安全にアクセスすることを可能にするサーバプラットフォーム（例えば、サービスデータプラットフォーム）、およびセンサデータを表示するユーザインターフェースが含まれる。
【００１８】
NetSenseプラットフォーム内のデータセキュリティを保証するために、記憶のためまたは伝送前にデータを暗号化することができる。これにより、たとえデータへのアクセスが脅かされた場合でさえも、暗号化がデータを使用不能にすることが保証される。様々な態様においては、公開鍵暗号法を用いてデバイスレベルデータ（例えば、センサノードにおけるデータ）を暗号化することができる。
【００１９】
図1に、様々な態様における使用に適する照明センサネットワーク160の実装を示す。照明センサネットワーク160は、照明インフラストラクチャを用いた様々なセンサ111の配置を可能にし、センサデータが、セキュアな記憶および顧客の要求時の処理のためにサービスデータプラットフォーム140へセキュリティ上安全に搬送されることを可能にする。
【００２０】
図1に、照明センサネットワーク160の様々な構成要素が示されている。照明センサネットワーク160は、サービスデータプラットフォーム140とネットワーク接続されているセンサネットワーク100と統合された照明インフラストラクチャを表す。センサノード100は1つまたは複数のセンサ111を含む。照明インフラストラクチャは、照明インフラストラクチャ内の照明器具に直接的または間接的に取り付けられた、センサノード100を含む。センサノード100は、単独で、または照明インフラストラクチャと組み合わさって、センサネットワーク100を形成することができる。
【００２１】
センサネットワーク100は、温度、音、圧力、光、交通（乗り物および人）、振動といった、物理環境条件をモニタするのに用いられる、複数の空間的に分散されたセンサノード100を含む。センサノード100は、いくつかの構成要素、例えば、複数のセンサ、内蔵アンテナを供える無線送受信機、マイクロコントローラ、センサおよび電源とインターフェースするための電子回路を含むことができる。センサノード100は、他のネットワーキングインターフェースを含むことができる。コントローラは、様々な証明書、鍵、およびシェアをセンサノード100においてローカルで記憶するためのメモリを含む。例えば、図3Bに示す例示的態様においては、顧客証明書1100、サーバルート証明書2000、デバイス証明書3100、およびデバイス秘密鍵3201を、センサノード100aにおいてローカルで記憶することができる。
【００２２】
センサネットワーク100は普通、顧客サイトといった区域をモニタする。例えば、センサノード100は、照明インフラストラクチャを表す顧客サイトに位置する照明器具105に取り付けることができる。照明インフラストラクチャ（または他の種類のインフラストラクチャ）は、センサノードへの電力およびセンサノードのための機械的または物理的支持を提供することができる。また照明インフラストラクチャは、センサネットワーク100のためのさらに別のネットワーキング通信インターフェースを提供することもできる。センサノード100は、照明センサネットワーク160のユーザへ洞察を提供する様々な条件、事象、または現象をモニタするためにサイト内に配置される。代替の態様においては、照明インフラストラクチャ内の照明器具105の一部だけがセンサノード100に直接的または間接的に取り付けられる。
【００２３】
センサノード100は、広域ネットワーク（WAN）130といったネットワーク上でサービスデータプラットフォーム140と通信し、サービスデータプラットフォーム140はクラウドコンピューティング環境に置かれた1つまたは複数のアプリケーションサーバに相当することができる。多くのアプリケーションにおいて、センサネットワーク100は、ゲートウェイを介してローカルエリアネットワーク（LAN）または広域ネットワーク（WAN）と通信する。例えば、ゲートウェイは、WAN130と他方のネットワーク（例えば、図示されていない、LAN）との間のブリッジとして働く。センサネットワーク100内のセンサノード100において収集されたセンサデータは、記憶および処理のために（サービスデータプラットフォーム140で表されている）リモートサーバシステムへセキュリティ上安全に搬送することができる。これにより、データを、より多くのリソースを有するデバイスによって、例えば、クラウドコンピューティング環境内に置かれたリモートに位置するサーバシステムにおいて記憶および処理することが可能になる。
【００２４】
様々な態様において、サービスデータプラットフォーム140は、サービス提供者と呼ばれる実体によって所有され、運営されうる。照明インフラストラクチャの所有者をサービス提供者の顧客を呼ぶことができる。場合によっては、サービス提供者の顧客は、第三者機関に、センサノード100において収集されたセンサデータにアクセスさせることもできる。前述のように、センサノード100において収集されるセンサデータは、生センサデータ、イベントセンサデータ、または処理されたセンサデータである、センサデータの秘密性およびプライバシを保持するために照明センサネットワーク160によって適切なセキュリティ措置が実施されることを必要とする機密扱いの識別情報を含む場合がある。
【００２５】
前述のように、センサデータへの不正アクセスが行われず、データがセキュリティ上安全に搬送されることを保証するために、鍵ペアを用いた公開鍵暗号法が、照明センサネットワーク160によって用いられうる。センサノード100によって収集されたセンサデータは、センサノード100によって暗号化し、次いで、サービスデータプラットフォーム140によって記憶されるようにWAN130上でセキュリティ上安全に搬送することができる。センサノード100とサービスデータプラットフォーム140との間のセキュアな接続は、センサノード、サーバ、および顧客デバイスに対して発行される様々なディジタル証明書および秘密鍵を用いて確立することができる。
【００２６】
許可されたユーザが、暗号化されたセンサデータへのアクセスを要求するまで、サービスデータプラットフォーム140によって記憶されているセンサデータは、暗号化されたセンサデータとして記憶されることができる。暗号化されたセンサデータへアクセスするための、許可されたユーザからの要求に応じて、暗号化されたセンサデータは、秘密鍵共有方式に従ってサービスデータプラットフォーム140によって復号化することもでき、または、別のシステムによって、もしくはサービスデータプラットフォーム140からオフラインで復号化されるようにサービスデータプラットフォーム140から搬送することもできる。暗号化されたセンサデータを復号化するのに用いられる秘密鍵共有方式について以下でさらに詳細に説明する。
【００２７】
サービスデータプラットフォーム140はまた、サービスデータプラットフォーム140に記憶されたデータへのAPIサーバを介したプログラムによるアクセスとウェブサーバを介したウェブアクセスの両方を提供する。データは、データベースサーバを介してアクセスされる、1つまたは複数のデータベースにおいてサービスデータプラットフォーム140に記憶することができる。例えば、サービスデータプラットフォーム140は、サードパーティアプリケーションがサービスデータプラットフォーム140に記憶されたセンサデータにアクセスするためのアプリケーションプログラミングインターフェース（API）を提供することができる。別の例では、サービスデータプラットフォーム140は、ウェブサーバを介したセンサデータへのアクセスも提供することができる。
【００２８】
サービスデータプラットフォーム140は、顧客のためのデータベースサービスを含むセンサデータを管理するためのプラットフォームに相当することができる。サードパーティアプリケーション150の開発者は、データベースに記憶されたセンサデータにアクセスし、センサデータを用いる独自のアプリケーションを構築することができる。サービスデータプラットフォーム140によって、例えば、サービスデータプラットフォーム140の許可されたユーザからアクセス可能なセンサデータを解析し、処理する他のオンラインデータサービスを提供することもできる。サービスデータプラットフォーム140は、APIおよびサードパーティアプリケーション開発者用インターフェースと、センサデータを管理および処理するのに必要なビジネスロジックを含むミドルウェアと、大量のセンサデータの効率的な記憶および取り出しに適した記憶モデルと、顧客のセンサデータへの不正アクセスを保護するために、顧客にとって使用可能である適切なセキュリティ措置とを備えることができる。
【００２９】
図2に、例示的態様による、公開鍵基盤（PKI）101および顧客デバイス104と通信する照明センサネットワーク160のブロック図を示す。照明センサネットワーク160は、センサネットワーク100およびサービスデータプラットフォーム140を含む。サービスデータプラットフォーム140は、様々な態様において公開鍵暗号法を実施するのに用いることのできるセキュリティシステム144を備える。セキュリティシステム144は、鍵ペア生成モジュール141、鍵回復モジュール142、鍵共有モジュール143、鍵配布モジュール145、および通信モジュール146を備える。
【００３０】
通信モジュール146は、サービスデータプラットフォーム140によって、WAN130を介して、PKI101、認証局102、センサネットワーク100、顧客デバイス104、および信頼できる第三者機関デバイス（図示せず）と通信するのに用いることができる。
【００３１】
例示的態様において、鍵配布モジュール145は単独でまたは通信モジュール146と組み合わせて、照明センサネットワーク160内の様々なデバイスまたは照明センサネットワーク160と通信するデバイス（例えば、顧客デバイス104または信頼できる第三者機関デバイス（図示せず）へ様々な鍵、証明書、およびシェアを配布するのに用いられることができる。
【００３２】
鍵共有モジュール143については図4〜図6に関連して以下に説明する。様々な態様において、鍵共有モジュール143は、秘密鍵のシェアを作成すると共に、秘密鍵共有方式を実施するのに必要とされるシェアのサブセットを用いて秘密鍵を再構築するために用いられることができる。鍵回復モジュール143については図6に関連して以下に説明する。
【００３３】
鍵ペア生成モジュール141は、様々な公開鍵暗号法アルゴリズムを用いて鍵ペアを生成する機能を提供する。PKI101は、例示的態様においてディジタル証明書を作成するのに用いられる。いくつかの態様においては、鍵ペアが鍵ペア生成モジュール141によって生成された後で、サービスデータプラットフォーム140の通信モジュール146は鍵ペアの公開鍵部分を、PKI101のディジタル署名で認証されるようにPKI101へ送る。サービスデータプラットフォーム140は（データを復号化するのに用いられる）秘密鍵を非公開にしておき、秘密鍵をPKI101へ送らない。様々な態様において、認証局102は、デバイス、サーバ、および顧客のためのルート秘密鍵を記憶する。ルート秘密鍵は取り消すのが難しく、サービスデータプラットフォーム140によって非常にセキュアに保たれる。
【００３４】
PKI101は、ネットワーク化環境内の様々なコンピューティングデバイスのためのルート証明書および他の関連付けられた証明書を作成する。例えば、PKI101は、顧客ルート証明書および顧客鍵ペアと関連付けられた1つまたは複数の顧客証明書、サーバルート証明書およびサーバ鍵ペアと関連付けられた1つまたは複数のサーバ証明書、ならびにデバイスルート証明書およびデバイス鍵ペアと関連付けられた1つまたは複数のデバイス証明書を作成することができる。
【００３５】
機密扱いの識別情報（例えば、センサノード100において収集されたセンサデータ）は、セキュリティのためにPKI101を用いてインターネット上で交換することができる。PKI101は、鍵およびディジタル証明書に関連したポリシーおよび規格を実施するのに用いられうるハードウェアおよびソフトウェアを含むことができる。PKI100は以下の構成要素を含むことができる。
・認証局とも呼ばれ、信頼のルートとして働きかつ個人、コンピュータ、および他の実体の身元を認証するサービスを提供する、信頼できる当事者;
・下位認証局とも呼ばれ、ルート認証局によって許可された特定の用途についてのディジタル証明書を発行するためにルート認証局によって認証される、登録局;
・証明書要求を記憶するための証明書データベース;ならびに
・発行済み証明書および秘密鍵を記憶するための場所としてローカルコンピュータ上に置くことができる、証明書ストア。
いくつかの態様において、PKI101は、サービスデータ提供者140によって所有され、運用される専用PKIとすることができる。
【００３６】
代替の態様においては、鍵ペアを顧客が生成することができ、顧客はその場合、ネットワーク化環境内の様々なコンピューティングデバイスへ様々なディジタル証明書および鍵を配布する前にPKI101から証明書を取得する。
【００３７】
ルート証明書は複数の中間証明書を発行するための基礎とすることができる。ルート証明書はPKI方式の一部である。ルート証明書は、公開鍵基盤（PKI）および権限管理基盤（PMI）ためのITU-T X.509規格に基づくものとすることができ、多くの場合、認証局からのディジタル署名を含む。ディジタル証明書は信頼の連鎖を用いて検証される。ディジタル証明書のためのトラストアンカはルート認証局である。
【００３８】
図3Aに、証明書301およびルート証明書302の例を示す。証明書301および証明書302内に含まれる情報は、公開鍵情報、認証局102の暗号署名、鍵ペア所有者の識別情報を含む。証明書301は、ルート証明書302の暗号署名に加えて、その特定のルート証明書302に署名するのに用いられたルート証明書302に関する情報を含む。認証局102は、実体および個人の身元を検証した後で実体および個人にディジタル証明書を発行する。また図3Aには秘密鍵303および秘密共有方式を用いる秘密鍵304も示されている。秘密鍵304は、第1のシェア140a、第2のシェア104a、および第3のシェア103aに分割される。
【００３９】
図3Bに、顧客鍵ペアのための秘密鍵共有方式を用いた公開鍵暗号法を実施する照明センサネットワーク160のハイレベルブロック図を示す。照明センサネットワーク160は、照明ネットワーク100、顧客デバイス104および信頼できる第三者機関デバイス103と通信するサービスデータプラットフォーム140を含む。センサノード100aはセンサノード100aに使用可能なセンサデータを暗号化し、WAN130上でサービスデータプラットフォーム140とのセキュアな接続を確立することができる。顧客デバイス104は、顧客によってサービスデータプラットフォーム140にログインして新しい顧客鍵ペアを要求するために用いられるクライアントデバイスを表しうる。顧客は、照明センサネットワーク160内のデバイスとその顧客データへの不正アクセスとの間のセキュアな通信を保証するために照明ネットワーク100をインストールまたは更新する際に顧客鍵ペアを要求することができる。様々な例において、顧客は、照明インフラストラクチャの所有者、センサネットワーク100の所有者、センサデータの所有者、またはセンサノード100からセンサデータを収集し、センサデータにアクセスすることを許可された任意の他者に相当しうる。また顧客はサービスデータプラットフォーム140の顧客も表しうる。
【００４０】
上記のように、（図2に示す）PKI101内の認証局102は、鍵ペアと関連付けられたディジタル証明書を発行する。ディジタル証明書は公開鍵および鍵ペアの所有者の身元を含む。例えば、所有者は顧客鍵ペアの顧客とすることができる。ディジタル証明書は、ディジタル証明書に含まれる顧客公開鍵がディジタル証明書に記録されている当事者（例えば、顧客）に属するという認証局102による妥当性検査の確認を提供する。
【００４１】
PKI101がディジタル証明書を作成すると、PKI101はディジタル証明書をサービスデータプラットフォーム140へ配布する。例示的態様においては、顧客鍵ペアと関連付けられたディジタル証明書は、公開鍵および所有者の身元を含み、照明ネットワーク100内のセンサノード100へ配布される。顧客証明書1100は、顧客によって所有されている認証済み公開鍵に相当する。センサノード100aは認証済み公開鍵にアクセスできると、センサノード100aは、センサノード100において収集されたセンサデータと、センサノード100aにおいて使用可能な他のデータとを暗号化することができる。暗号化されたセンサデータを搬送するために、センサネットワーク100内のセンサノード100aとサービスデータプラットフォーム140との間でセキュアな接続を確立することができる。セキュアな接続は、センサノード100およびデータサービスプラットフォーム140と関連付けられた1つまたは複数の鍵ペアによって確立することができる。
【００４２】
様々な例において、センサノード100aは、照明ネットワーク100とサービスデータプラットフォーム140との間のセキュアな接続を確立する前の検証の一部として、証明書を用いて証明書の署名を検証するクライアントデバイスに相当することができる。センサノード100aは、サービスデータプラットフォーム140との接続を確立しようと試みることができ、サービスデータプラットフォーム140とセンサノード100aとは相互に互いを認証し合う。サービスデータプラットフォーム140はセンサノード100aにそのサーバ証明書2100を提示することができる。センサノード100aは、センサノード100aにおいてローカルで記憶されたサーバルート証明書2000を用いて、サーバ証明書2100の署名がサーバルート証明書2000までトレースバックすることができることを検証し、サービスデータプラットフォーム140を認証する。センサノード100aはサービスデータプラットフォーム140へデバイス証明書3100を送る。サービスデータプラットフォーム140は、サービスデータプラットフォーム140においてローカルで記憶されたデバイスルート証明書3000を用いて、そのセンサノード100aを認証する。サービスデータプラットフォーム140は、デバイス証明書3100をデバイスルート証明書3000までトレースバックすることができる。ディジタル証明書は、証明書の発行先の名前により公開鍵の所有を認証する。ディジタル証明書は、他者が、認証済み公開鍵に対応する秘密鍵によってなされた署名または表明に依拠することを可能にする。
【００４３】
例示的態様において、暗号化されたセンサデータを復号化するのに用いられる、マッチする顧客秘密鍵は、公然と使用可能にするのではなく、鍵ペアを生成した所有者または顧客によって非公開にしておかれる。いくつかの態様においては、秘密共有方式の関与者のみが顧客秘密鍵のシェアにアクセスすることができる。例示的態様において、サービスデータプラットフォーム140は、シークレット共有アルゴリズムまたはシークレット共有方式を用いて顧客のための顧客秘密鍵を管理する。様々な態様において、顧客秘密鍵（「シークレット」とも呼ばれる）は、一グループの関与者の間で配布され、関与者の各々にシークレットのシェアが割り振られる。いくつかの態様においては、（図2に示す）鍵配布モジュール145は、様々なデバイスまたはシークレット共有方式の関与者へシークレットのシェアを配布する役割を担う。シークレットまたは顧客秘密鍵は、十分な数のシェアが組み合わされた場合に再構築することができる。（図2に示す）鍵共有モジュール143は、シークレット共有アルゴリズムを用いることによってシェアを作成するために用いられることができ、また、用いられているシークレット共有方式によって指定される秘密鍵の複数のシェアを組み合わせることによって秘密鍵を再構築するために用いられることもできる。個々のシェアのいずれもそれだけで暗号化データを復号化することはできない。様々な態様において、顧客秘密鍵は、シェアが秘密鍵から作成された後で、破壊または廃棄される。
【００４４】
図3Bに示す例示的態様において、顧客秘密鍵は、破壊されるかまたはそれ以外の方法で廃棄される前に、3つのシェア（例えば、第1のシェア140a、第2のシェア104a、および第3のシェア103）に分割された。104aで指示される第2のシェアはサービスデータプラットフォーム140上のサーバによって記憶された顧客シェアに相当し、104bで指示される第2のシェアは、顧客へ返される顧客シェアに相当する。3つのシェア140a、104a（または104b）、および103aのうちの2つの任意の組み合わせにより、秘密鍵共有方式に従ってサービスデータプラットフォーム140に記憶されたセンサデータへ、この暗号化されたものを十分に復号化することができる。（図2に示す）鍵ペア生成モジュール141が顧客鍵の3つのシェア140a、104a、および103aを生成する場合に、シェア140a、シェア104a、およびシェア103aのうちの2つの組み合わせが、顧客秘密鍵を再構築するために用いられることができるように、3つのシェアは各々、顧客秘密鍵の少なくとも3分の2を含む。代替の態様においては、秘密共有方式は3つ超のシェアを用いることができ、各シェアは、秘密鍵共有方式で指定された指定数のシェアを用いて顧客秘密鍵を再構築するのに必要な顧客秘密鍵の少なくとも一部分を含む。
【００４５】
一例において、第1のシェア140aおよび第2のシェア104aは、どちらもサービスデータプラットフォーム140上に記憶されており、かつ、サービスデータプラットフォーム140が許可されたユーザから要求を受け取った場合に、暗号化されたセンサデータを復号化するのに用いることができる。許可されたユーザは、暗号化されたセンサデータにアクセスするように要求を生成する前に、サービスデータプラットフォーム140にログインし、第2のシェア104aのためのパスワードまたはパスコードを提供することができる。例えば、許可されたユーザは、顧客デバイス104を用いてサービスデータプラットフォーム140にログオンすることができる。代替の態様においては、第2のシェア104aと第3のシェア103aの組み合わせを用いて、暗号化されたセンサデータを復号化することができる。別の態様においては、第1のシェア140aおよび第3のシェア103aを用いて、暗号化されたセンサデータを復号化することができる。
【００４６】
一例においては、顧客は、WAN130上で信頼できる第三者機関デバイス103または顧客デバイス104へ、暗号化されたセンサデータが送信されるように、顧客デバイス104を介して要求することができる。信頼できる第三者機関デバイス103または顧客デバイス104によって暗号化されたセンサデータが受け取られると、暗号化されたセンサデータを第2のシェア104bと第3のシェア103aの組み合わせによって復号化することができる。センサデータが、顧客がサービスデータプラットフォーム140の所有者または管理者との共有を望まない可能性のある機密扱いの識別情報を含みうるいくつかの状況では、顧客は、暗号化されたセンサデータを復号化する前に、暗号化されたセンサデータを、サービスデータプラットフォーム140から離れてオフラインで搬送しようと決めることができる。言い換えると、センサデータはサービスデータプラットフォーム140からオフラインで復号化される。
【００４７】
別の例では、信頼できる第三者機関デバイス103は、第3のシェア103aをエスクローとして保持するエスクロー会社とすることができる。第2のシェア104aまたは104bが失われる場合、損傷される場合、またはそれ以外の理由でアクセスできない場合には、第3のシェア103aは、サービスデータプラットフォーム140へセキュリティ上安全に送信されて、サービスデータプラットフォーム140上に記憶されている暗号化されたセンサデータを復号化するのに用いられることができる。また第3のシェア103はセキュリティを高めるためにパスワードで暗号化することもできる。
【００４８】
他の態様においては、顧客は、サービスデータプラットフォーム140が、サービスデータプラットフォーム上で収集および記憶された暗号化されたセンサデータのいずれも復号化することができないように秘密鍵自体へのアクセスを管理しようと決めることができる。鍵ペアおよび鍵ペアの配布のための要求は、サービスデータプラットフォーム140から分離されたデバイス上で顧客によって処理されうる。顧客が鍵ペアを発行した後で、サービスデータプラットフォーム140がセンサノード100へ配布するために顧客公開鍵をサービスデータプラットフォーム140に提供することができる。しかし、顧客秘密鍵はサービスデータプラットフォーム140へ提供されない場合もあり、秘密鍵共有方式は顧客または顧客によって選択された別の当事者によって管理されうる。このシナリオでは、サービスデータプラットフォーム140は、主として、暗号化されたセンサデータを記憶するデータベースサービスを提供する。
【００４９】
図3Bに示す例示的態様においては、顧客秘密鍵は3つのシェアに分割されるかまたは分けられる。第1のシェア140aをサーバシェアと呼ぶことができ、第2のシェア104a（および104b）を顧客シェアと呼ぶことができ、第3のシェア103aを信頼できる第三者機関シェアと呼ぶことができる。3つのシェアが作成された後で、顧客秘密鍵は破壊することまたはそれ以外の方法で廃棄することができる。例示的態様において、サービスデータプラットフォーム140は、秘密鍵を3つのシェアに分割し、次いで、3つのシェアが作成された後で顧客秘密鍵を廃棄するセキュリティ機能を提供する。いくつかの態様において、（図2に示す）鍵ペア生成モジュール140は、秘密鍵を複数のシェアに分割するのに用いることができる。本例では、一緒に組み合わされた、3つのシェアのうちの任意の2つは、暗号化されたセンサデータを十分に復号化することができる。様々な代替の態様において、秘密鍵共有方式は秘密鍵を任意の数のシェア（例えば、4つのシェア、5つのシェアなど）に分割することができ、その数のシェアのサブセットは暗号化されたセンサデータを復号化するために組み合わされることが必要とされる。
【００５０】
図3Bを見ると、サーバシェアを表す第1のシェア140aはサービスデータプラットフォーム140のデータベースに平文で記憶することができる。第2のシェア104aは、パスワードで暗号化されたローカル顧客シェアを表し、やはりサービスデータプラットフォーム140のデータベースに記憶することができる。第2のシェア104aは、暗号化されたセンサデータを復号化する前に顧客パスワードを必要とする。いくつかの態様において、第2のシェア104bは、暗号化される場合もされない場合もあり、顧客へ返される。顧客は、暗号化されたセンサデータを、サービスデータプラットフォーム140から離れてオフラインで復号化するために、顧客シェア104bを第3のシェア103aと組み合わせて用いることができる。
【００５１】
信頼できる第三者機関は、信頼できる当事者に相当する、顧客によって選択された任意の実体に相当しうる。例えば、信頼できる第三者機関はエスクロー会社とすることができる。信頼できる第三者機関シェアは、第3のシェア103aと呼ばれ、第2のシェア104aおよび104bが失われた場合の保管のために、または第2のシェア104bと組み合わせたオフライン復号化で用いるために、信頼できる第三者機関へセキュリティ上安全に転送することができる。
【００５２】
PKI101を用いることによって、照明センサネットワーク160および照明センサネットワーク160内のコンピュータ（またはコンピューティングデバイス）にアクセスするユーザは、インターネットといったネットワーク上でデータをセキュリティ上安全に交換すると共に、他方の当事者の身元を検証することもできる。例えば、センサノード100において生成されたセンサデータを、暗号化し、ネットワーク上でサービスデータプラットフォーム140へセキュリティ上安全に搬送することができる。暗号化されたセンサデータは、サービスデータプラットフォーム140で記憶し、秘密鍵共有方式を用いて復号化することができる。サービスデータプラットフォーム140は、その暗号化されたセンサデータが顧客デバイス（例えば、顧客によって所有されるセンサノード100）によって提供されたことを検証することができる。
【００５３】
前述のように、（顧客証明書1100で表される）顧客の認証済み公開鍵は、様々なセンサノード100aへ広く配布することができる。いくつかの態様において、鍵配布モジュール145は顧客証明書1000を配布することができる。他方、顧客秘密鍵は秘密鍵共有方式の関与者にのみ供与される。より具体的には、センサノード100aは、生センサデータ（およびセンサノード100aにおいて使用可能な他のデータ）を収集することができ、データは記憶のために、場合によってはさらに処理するためにネットワーク（例えば、WAN130）上でサービスデータプラットフォーム140へ搬送される前に暗号化される。
【００５４】
サービスデータプラットフォーム140は、クラウドコンピューティング環境に位置するリモートサーバに相当することができる。暗号化されたセンサデータは、暗号化されたセンサデータにアクセスするための要求が許可されたユーザからサービスデータプラットフォーム140によって受け取られるまで、その暗号化形態で記憶することができる。暗号化データは例示的態様においては図3Bに示す3つのシェアのうちの2つを用いて復号化することができる。様々な態様において、顧客秘密鍵のシェアのうちの1つまたは複数は復号化の前にパスフレーズ（またはパスコード）を要求することができる。いくつかの態様において、パスフレーズは手入力で供給することができる。他の態様においては、メッセージが自動的に復号化されるようにユーザにパスフレーズをローカルで記憶させることができる。前述のように、第2のシェア104aは、手入力または自動でパスフレーズを必要としうる。
【００５５】
様々な態様において、顧客秘密鍵についての責任は、サービスデータプラットフォーム140の管理者または所有者、顧客、および信頼できる第三者機関のような複数の当事者間で共有される。共有技術は鍵を複数の部分に分割する暗号鍵共有法を用いて実施することができ、複数の部分のうちのいくつかを併用して顧客秘密鍵全体を回復すること、再構築すること、または置き換えることができる。サービスデータプラットフォーム140は、パスワードで暗号化された顧客シェアを保持するためのサーバを提供する。場合によっては、サービスデータプラットフォーム140は顧客がパスワードを提供しない限りローカルシェアを復号化することができず、パスワードは、少なくともログインセッションごとにサーバへ提供されることが必要とされうる。
【００５６】
図3Bに、例示的態様による、照明センサネットワーク160のデータセキュリティのための公開鍵暗号法を実施するのに用いられうる様々な鍵およびディジタル証明書が示されている。照明センサネットワーク160内のコンピューティングデバイスおよび照明センサネットワーク160のユーザはセキュアな通信のために署名付きの鍵ペアを割り当てられる。用いられる鍵および証明書を以下に説明する。
【００５７】
サーバルート証明書2000およびサーバルート秘密鍵2200は、すべてのサーバ証明書2100に署名するのに用いられる証明書および鍵ペアに相当する。サーバルート証明書2000は、サービスデータプラットフォーム140においてサーバに接続するすべてのデバイス（例えば、センサノード100a）に配布される。図3Bには、センサノード100aにおいてローカルで記憶されたサーバルート証明書2000が示されている。サーバルート秘密鍵2200は、取り消すのが難しいため、きわめて安全に保持されなければならない。いくつかの態様において、サーバルート秘密鍵2200は、認証局102にしか知られていないセキュアな場所で保持される。サーバルート秘密鍵2200はサーバ証明書2100に署名するためにのみ用いられる。サーバ秘密鍵2201はサーバ証明書2100に対応し、サーバルート秘密鍵2200とは異なる。
【００５８】
サーバ証明書2100およびサーバルート秘密鍵2200は、サービスデータプラットフォーム140においてサーバによってこのサーバへのすべてのデバイス接続に用いられる証明書および鍵ペアに相当する。サーバ証明書2100はサーバルート秘密鍵2300によって署名される。図3Bに、サービスデータプラットフォーム140においてローカルで記憶されたサーバ証明書2100およびサーバ秘密鍵2200が示されている。
【００５９】
デバイスルート証明書3000およびデバイスルート秘密鍵3200はすべてのデバイス証明書3100に署名するのに用いられる証明書および鍵ペアに相当する。デバイスルート証明書3000はデバイス（例えば、センサノード100a）の身元を確認するためにサービスデータプラットフォーム140内のすべてのサーバに配布される。デバイスルート秘密鍵3200は、取り消すのが難しいため、きわめて安全に保持されなければならない。いくつかの態様において、デバイスルート秘密鍵3200は、認証局102にしか知られていないセキュアな場所で保持される。デバイスルート秘密鍵3200はデバイス証明書3100に署名するためにのみ用いられる。デバイス秘密鍵3201はデバイス証明書3100に対応し、デバイスルート秘密鍵3200とは異なる。
【００６０】
デバイス証明書3100およびデバイス秘密鍵3201は、サービスデータプラットフォーム140内の任意のノード、サービスブリッジおよび任意の他の無線局またはサーバのクライアントに割り当てられる証明書および鍵ペアに相当する。デバイス証明書3100はデバイスルート秘密鍵3200によって署名される。
【００６１】
顧客ルート証明書1000および顧客ルート秘密鍵1200は、すべての顧客ルート証明書1100に署名するのに用いられる証明書および鍵ペアに相当する。顧客ルート証明書1100はサービスデータプラットフォーム140内のサーバに配布され、顧客がログインする場合に顧客の身元を確認するのに用いることができる。顧客ルート秘密鍵1200は、取り消すのが難しいため、きわめて安全に保持されなければならない。いくつかの態様において、顧客ルート秘密鍵1200は、認証局102にしか知られていないセキュアな場所で保持される。顧客ルート秘密鍵1200は顧客証明書1100に署名するためにのみ用いられる。顧客秘密鍵は顧客証明書1100に対応し、顧客ルート秘密鍵1200とは異なる。顧客秘密鍵は秘密鍵共有アルゴリズムを用いて再構築される。
【００６２】
顧客証明書1100および顧客秘密鍵は、センサノード100aにおけるすべての顧客を特定できる情報および人物を特定できる情報を暗号化するのに用いられる鍵ペアに相当する。顧客秘密鍵は顧客の制御下に置かれ、サーバによって署名される。顧客証明書1100は、データの暗号化のために顧客によって所有されるデバイス（例えば、センサノード100a）に配布される。データがそれらのデバイスによって暗号化されると、それらのデバイスが対応する顧客秘密鍵を持つことはないため、データを復号化することができなくなる。
【００６３】
図3Bに示すように、照明センサネットワーク160内の、照明センサネットワークと通信する様々な実体は各々、鍵およびシークレットのサブセットを保持する。鍵配布モジュール145は、例示的態様において、様々な鍵、証明書、およびシェアを図3Bに示す様々なデバイスへ配布する役割を担う。
【００６４】
例示的態様において、センサノード100a（またはデバイス）は以下の証明書および鍵をローカルで記憶する:デバイス証明書3100およびデバイス秘密鍵3201、サーバルート証明書2000、ならびに顧客証明書1100。
【００６５】
例示的態様において、サービスデータプラットフォーム140（またはサーバ）は以下の証明書および鍵をローカルで記憶する:サーバ証明書2100およびサーバ秘密鍵2201、顧客ルート証明書1000、デバイスルート証明書3000、サーバ顧客鍵シェア（例えば、第1のシェア140a）、ならびに暗号化ローカル顧客鍵シェア（例えば、第2のシェア104a）。
【００６６】
例示的態様において、顧客デバイス104は以下の証明書および鍵をローカルで記憶する:デバイスルート証明書3000、顧客秘密鍵または少なくとも第2のシェア104bで表される顧客鍵シェア。
【００６７】
別の態様において、認証局102は、それぞれ、デバイスルート秘密鍵3300、サーバルート秘密鍵2300、および顧客ルート秘密鍵1300で表されるデバイス、サーバおよび顧客のためのルート秘密鍵をローカルで記憶する。
【００６８】
図3Cに、例示的態様による、顧客証明書1100によって第1の顧客鍵ペアから暗号化されたサービスデータプラットフォーム140に記憶されたセンサデータへの（パス1040およびパス1041上での）アクセスを要求する顧客デバイス104を有する照明センサネットワーク160のブロック図を示す。言い換えると、センサネットワーク100においてセンサデータを暗号化するのに用いられるのと同じ顧客鍵ペアが、サービスデータプラットフォーム140によって、センサノード100aによって収集された新しいセンサデータの暗号化されたセンサデータを復号化するのに用いられている。
【００６９】
他方、図3Dには、第1の顧客鍵ペアからの回復された顧客秘密鍵と関連付けられている第1の顧客鍵ペアから顧客証明書1100によって暗号化された（古いセンサデータとして）サービスデータプラットフォーム140に記憶されたセンサデータへの（パス1040およびパス1041上での）アクセスを要求する顧客デバイス104を有する照明センサネットワーク160のブロック図を示す。第1の顧客鍵ペアからの回復された顧客秘密鍵は、サービスデータプラットフォーム140によって暗号化され、次いで、顧客104が第1の顧客鍵ペアと関連付けられた顧客証明書を用いて暗号化されたセンサデータに引き続きアクセスできるように、サービスデータプラットフォーム140上に記憶されている。例示的態様においては、1つまたは複数のデータベース291が、第1の顧客鍵ペアからの顧客証明書1100を用いた暗号化データ292、第2の顧客鍵ペアからの顧客証明書1100を用いた暗号化データ293、および暗号化された第1の顧客秘密鍵294を記憶する。
【００７０】
第1の顧客鍵ペアから顧客秘密鍵を回復し、次いで、第1の顧客鍵ペアからの回復された顧客秘密鍵を暗号化するためのプロセスを、図6に関連して以下にさらに詳細に説明する。例示的態様において、鍵回復モジュール142は図6に示す方法に従って秘密鍵を回復する機能を提供する。このシナリオでは、第1の顧客鍵ペアの秘密鍵が回復された秘密鍵に相当する場合に、第2の顧客鍵ペアと関連付けられた新しい秘密鍵が生成される。様々な態様において、センサノード100aによって収集された新しいデータは、次いで、第2の顧客鍵ペアと関連付けられた顧客証明書1100を用いて暗号化され、次いで、第2の顧客鍵ペアと関連付けられた秘密鍵共有方式を用いて復号化される。第1の顧客鍵ペアからの回復された秘密鍵はサービスデータプラットフォーム140によって暗号化される。第1の顧客鍵ペアからの回復された秘密鍵は、暗号化された古いセンサデータを復号化するのに用いられる前に、サービスデータプラットフォーム140によって復号化される。例示的態様において、第2の顧客鍵ペアと関連付けられた秘密鍵共有（例えば、シェア140a、104a、104b、および103a）は、第2の顧客鍵ペアと関連付けられた顧客ルート証明書1000によって暗号化された、第1の顧客鍵ペアからの回復された秘密鍵を復号化するのに用いることができる。例示的態様によれば、古いセンサデータが復号化された後で、その古いセンサデータに顧客デバイス104が第2の顧客鍵ペアを用いてアクセスすることができる。言い換えると、顧客デバイス104は、古い顧客鍵ペア（例えば、第1の顧客鍵ペア）で暗号化されたセンサデータへのアクセスを要求し、新しい顧客鍵ペア（例えば、第2の顧客鍵ペア）が照明センサネットワーク160によって現在用いられている。
【００７１】
例示的態様において、図4〜図6に示す方法および各方法に記載されている動作は、（図2に示す）セキュリティシステム144に備えられる各モジュール141、142、143、145、および146のうちの1つまたは複数を、単独で、または他のモジュールと組み合わせて用いて実施することができる。図2に示されていない追加のモジュールも用いることができる。例えば、暗号化モジュールは図示されておらず、復号化モジュールは図示されてはいないがセキュリティシステム144に備えられる。
【００７２】
図4に、様々な態様によるセンサデータを暗号化する方法についての図の例を示す。図4に示す図を顧客開始手順と呼ぶことができる。図4に示す方法は例示的態様においては動作401〜410を含む。動作401で、顧客430は新しい顧客鍵ペアを作成するように要求を出す。新しい顧客鍵ペアは、顧客証明書1100で表される認証済み公開鍵を含むことができる。顧客430は、データ暗号化のための秘密鍵共有方式を実施する新しいディジタル証明書および秘密鍵を作成しようとする。この要求はサービスデータプラットフォーム140へ送られる。
【００７３】
一態様において、サービスデータプラットフォーム140は動作402で示されるように顧客鍵ペアを生成する。いくつかの態様においては、サービスデータプラットフォーム140が新しい鍵ペアを合成し、他の態様においては、顧客430が顧客鍵ペアを生成し、顧客公開鍵およびおそらくは顧客秘密鍵シェア（例えば、第1のシェア140a）をサービスデータプラットフォーム140へ提供する。別の態様において、顧客秘密鍵は顧客430によって保留される場合もあり、その場合には、サービスデータプラットフォーム140は顧客のデータを直接復号化することができなくなる。
【００７４】
いくつかの態様によれば、鍵ペアがサービスデータプラットフォーム140によって生成された後で、サービスデータプラットフォーム140は、動作403aで示すように認証局102へ要求403aを送る。様々な態様において、認証局102はPKI101の一部である。動作403aでの要求は、認証局102に顧客公開鍵に署名するように要求することであることができる。動作403で、認証局102は、サービスデータプラットフォーム140へディジタル証明書の一部として認証局102の署名を返す。
【００７５】
署名付きディジタル証明書は認証済み顧客公開鍵に相当する。認証局102は、センサノード100aにおいてローカルで記憶されている顧客証明書1100、およびサービスデータプラットフォームにおいて記憶されている顧客ルート証明書1000を提供することができる。顧客証明書1100は、センサネットワーク100内の様々なセンサノード100aまたは他のデバイスへ割り当て、または配布することができる。顧客証明書1100は、センサデータを暗号化するためまたはセンサノード100aに使用可能な他のデータを暗号化するために、センサノード100aによって用いられる。
【００７６】
他の態様において、サービスデータプラットフォーム140は、鍵ペアおよび顧客証明書1100といった関連付けられるディジタル証明書を発行するように要求を（顧客に代わって）認証局102へ送ることができる。認証局102はその場合、鍵ペアおよび関連付けられたディジタル証明書を作成し、それらをサービスデータプラットフォーム140へ返送する。
【００７７】
サービスデータプラットフォーム140が署名付き顧客証明書1100を受け取ると、サービスデータプラットフォーム140は、動作404において、認証済み公開鍵に相当する顧客証明書110を顧客鍵ペアから顧客デバイス（例えば、センサノード100）へ配布する。センサノード100は、顧客430によって所有されるデバイスを表すことができる。公開鍵はいくつかの態様においては顧客証明書1100に含まれる。いくつかの態様において、署名付き顧客証明書1100は次いで顧客へ返され、顧客は次いでそれを顧客が所有するデバイスへ配布する。いくつかの態様においては、顧客が秘密鍵を保留することを選択した場合、それ以上の措置は講じられない。
【００７８】
符番405および符番406はサービスデータプラットフォーム140によって行われる動作を表す。サービスデータプラットフォーム140が顧客430に代わって秘密鍵を管理している態様では、秘密鍵はサービスデータプラットフォーム140によって複数のシェア（例えば、3つのシェア）に分割される。
【００７９】
動作405において、サービスデータプラットフォーム140は、秘密（またはシークレット）共有アルゴリズムを用いて秘密鍵を複数のシェアに分割する。動作406で、サービスデータプラットフォーム140はサービスデータプラットフォーム140上でサーバシェアを記憶する。例示的態様において、サーバシェアはサービスデータプラットフォーム140のデータベースに平文として記憶されている。
【００８０】
動作407において、サービスデータプラットフォーム140は、次いで、第三者機関シェアを信頼できる第三者機関1031へ転送する。例えば、第三者機関シェアは、保管のために、または顧客430によるオフライン復号化で用いるために信頼できる第三者機関デバイス103へセキュリティ上安全に転送される。
【００８１】
動作408aにおいて、サービスデータプラットフォーム140は顧客430へ、顧客シェアを暗号化するのに用いることができるパスワードまたはパスコードを求める要求を送る。パスコードは動作408bで顧客430から受け取ることができる。例えば、顧客は顧客シェアを暗号化するためのパスワードの入力を促される。
【００８２】
動作409において、サービスデータプラットフォーム140は、秘密鍵の顧客シェアを暗号化し、かつ、秘密鍵の、パスワードで暗号化された顧客シェアを、サービスデータプラットフォーム140のデータベース291のうちの1つに記憶する。
【００８３】
サービスデータプラットフォーム140は次いで動作410で顧客へ顧客シェアを返すことができる。顧客シェアは暗号化される場合も暗号化されない場合もある。顧客は、パスワードで暗号化された顧客シェアが失われた場合に、受け取った顧客シェアを用いることができるか、または、例えば、信頼できる第三者機関シェアと組み合わせてサービスデータプラットフォーム140からアクセスされる復号化したセンサデータの暗号化に用いることもできる。
【００８４】
例示的態様において、動作401、動作403a、動作403b、動作408a、動作408b、および動作410は、通信モジュール146によって行われうる。他の態様において、動作404および動作407は鍵配布モジュール145によって行われうる。別の態様において、動作402は鍵ペア生成モジュール141によって行われうる。いくつかの態様においては、動作405および動作406は鍵共有モジュール143によって行われうる。モジュール146、モジュール145、モジュール141、およびモジュール143は、図2に、セキュリティシステム144の一部として示されている。
【００８５】
一つの例示的態様においては、センサネットワーク100内のセンサノード110に使用可能なデータを保護するための方法が記載されている。この方法は、顧客と関連付けられ公開暗号化鍵と秘密復号化鍵とを含む鍵ペアを生成する工程、公開暗号化鍵の認証を要求する工程、認証済み公開暗号化鍵に相当する証明書を受け取る工程、センサネットワーク100内のセンサノードがセンサノード110において使用可能なセンサデータを証明書によって暗号化することを可能にするために、顧客と関連付けられたセンサノードへ証明書を配布する工程、暗号化されたセンサデータをサービスデータプラットフォーム140が復号化することを可能にするために複数のシェアの指定されたサブセットが組み合わせて用いられうるように、秘密復号化鍵を複数のシェアに分割する工程、複数のシェアのうちの第1のシェア140aをサービスデータプラットフォーム140において記憶する工程、複数のシェアのうちの第2のシェア104aの、パスワードで暗号化されたローカルシェアを、サービスデータプラットフォーム140において記憶する工程、および、記憶のために第三者機関デバイス（例えば、信頼できる第三者機関デバイス103）へ、複数のシェアのうちの第3のシェア103aを送信する工程を含む。いくつかの態様において、公開暗号化鍵の認証を要求する工程は、認証局102に、鍵ペアと関連付けられた顧客証明書1100を生成するように要求することを含む。
【００８６】
別の態様においては、センサネットワーク100内のセンサノード110に使用可能なデータを保護するための方法は、鍵ペアを生成するように、顧客と関連付けられた要求を受け取る工程を含む。鍵ペアは顧客鍵ペアに相当する。別の実施形態においては、センサネットワーク100内のセンサノード110に使用可能なデータを保護するための方法は、顧客デバイス104へ複数のシェアのうちの第2のシェア104bを送信する工程を含む。別の態様においては、センサネットワーク100内のセンサノード110に使用可能なデータを保護するための方法は、秘密復号化鍵を複数のシェアに分割する工程の後で、秘密復号化鍵を破壊する工程を含む。
【００８７】
様々な他のセキュリティアルゴリズムまたは方式を、センサノード100において収集されるセンサデータのセキュリティを高めるためにサービスデータプラットフォーム140によって実施することができる。上記のように、機密扱いの識別データはセンサノード100において収集され、この機密扱いの識別データは、個人を特定できる情報および顧客を特定できる情報を含みうる。例えば、センサノード100においてはカメラ、マイクロフォンまたは他のデータが収集されうる。
【００８８】
いくつかの態様では、センサノード100は、時間感度を除去するために、センサデータをバケット処理またはグループ化して1時間ごと、または1日ごとの要録とすることができる。これは、センサノード100とサービスデータプラットフォーム140との間の通信の頻度をモニタすることによってセンサデータの内容を推測することを防ぐ。
【００８９】
他の態様においては、センサノード100は、サイズ感度を除去するために、センサデータにパディングして（またはセンサデータのサイズを調整して）固定サイズにすることができる。これは、サーバへ送られたデータの量をモニタすることによってセンサデータの内容を推測することを防ぐ。セキュリティアルゴリズムまたは方式は、単独で、または本明細書に記載される公開鍵暗号法の様々な態様と併せて用いることができる。センサノード100において収集されたセンサデータは、セキュアな接続上でサービスデータプラットフォーム140へ送信することができるサービスデータプラットフォーム140は、後で顧客によってアクセスされる可能性がある場合にセンサデータを記憶する。
【００９０】
別の態様においては、顧客証明書1100を用いてデータパッケージが暗号化される。データパッケージは、ネットワーク（例えば、WAN130）上でサービスデータプラットフォーム140へ送信されるべきである、センサノード100において収集されたセンサデータに相当することができる。いくつかの態様において、暗号化データパケットはマルチパートペイロードにおいて非暗号化メタデータと組み合わされ、マルチパートペイロードは次いで、デバイス秘密鍵3201を用いて署名される。署名付きマルチパートペイロードはセキュアな接続上でサービスデータプラットフォーム140へ送信することができる。別の態様において、サービスデータプラットフォーム140は、後で顧客が暗号化データパッケージを取り出すことができるように、非暗号化メタデータキーで索引付けされたデータベース291のうちの1つまたは複数に暗号化データパッケージを記憶する。サービスデータプラットフォーム140は署名付きペイロードの暗号ハッシュを連想記憶ファイルキーとして用いることができる。
【００９１】
図5に、例示的態様による、センサデータを復号化するための方法の図を示す。サービスデータプラットフォーム140は、センサノード100から受け取った暗号化されたセンサデータを記憶する。センサデータは、センサノード100によって暗号化され、次いで、記憶のためにサービスデータプラットフォーム140へ搬送されたものである。
【００９２】
動作501において、顧客430は、サービスデータプラットフォーム140において記憶されている暗号化されたセンサデータにアクセスするように要求を送る。様々な態様において、顧客430は資格情報（例えば、ユーザ名およびパスワード）を用いてサービスデータプラットフォーム140にログインする。また顧客430は、顧客証明書を用いて暗号化されているセンサデータを表示するように要求することもできる。
【００９３】
動作502において、サービスデータプラットフォーム140は、パスワード保護された暗号化ローカル顧客シェアおよびサーバシェアをフェッチする。いくつかの態様において、サービスデータプラットフォーム140は、そのデータベース（例えば、データベース291）から、センサデータ、サーバシェア、および顧客シェアの暗号化ローカルシェアを暗号化するのにどんな顧客証明書1100が用いられたかに関する情報を含む暗号化情報を取得する。
【００９４】
動作503aにおいて、サービスデータプラットフォーム140は顧客430へ、暗号化ローカル顧客シェアパスワードを求める要求を送る。動作503bで、サービスデータプラットフォーム140は、顧客430からパスワードを受け取る。
【００９５】
サービスデータプラットフォーム140は顧客430から暗号化ローカルシェアのパスワードを取得し、正しいパスワードが提供された場合には暗号化ローカル顧客シェアを復号化する。
【００９６】
動作504において、サービスデータプラットフォーム140は、パスワードが受け取られた後で顧客秘密鍵を再構築する。例えば、秘密鍵共有方式が3つのシェアを用いる場合、各シェアは、2つのシェアだけで秘密鍵を再構築できるように秘密鍵の少なくとも3分の2を含む。併せて、サービスデータプラットフォーム140において記憶されている暗号化されたセンサデータを復号化するために、復号化されたローカル顧客シェアおよびサーバシェアを用いる。サービスデータプラットフォーム140は動作505において、暗号化されたセンサデータを取り出して、次いでそれを復号化する。
【００９７】
動作506において、サービスデータプラットフォーム140は、顧客430に復号化されたセンサデータを返す応答を提供する。いくつかの態様において、復号化されたセンサデータはセキュアな接続上で顧客のブラウザへ送信され、ブラウザによって画面へレンダリングされる。
【００９８】
例示的態様において、動作501、動作503a、動作503b、および動作506は通信モジュール146によって行われる。様々な態様において、動作502および動作504は鍵共有モジュール143によって行われる。別の態様において、動作505はセキュリティシステム144によって行われうる。いくつかの態様において、動作505は復号化モジュール（図示せず）によって行われうる。モジュール146、モジュール143、モジュール144は図2に示されている。
【００９９】
一つの例示的態様において、ネットワーク化システム（例えば、照明センサネットワーク160）において顧客データを保護する方法は、ネットワーク（例えば、WAN130）上でサービスデータプラットフォーム140と通信するセンサネットワーク100内のセンサノード110において使用可能なセンサデータを収集する工程、顧客鍵ペアと関連付けられた認証済み公開鍵を用いて、機密扱いの識別情報と関連付けられた顧客データに相当するセンサデータを暗号化する工程、デバイス秘密鍵によってセンサデータに暗号で署名する工程、記憶のためにサービスデータプラットフォーム140へ、暗号化されたセンサデータを搬送する工程、ならびに、秘密鍵共有方式を用いてサービスデータプラットフォーム140において暗号化されたセンサデータを復号化する工程であって、秘密鍵共有方式が、第1のシェア140aとパスワードで暗号化された第2のシェア104aとを用いて、顧客鍵ペアと関連付けられた秘密鍵を再構築し、第1のシェア140aがサービスデータプラットフォーム140に割り当てられておりかつパスワードで暗号化された第2のシェア104aが顧客鍵ペアの顧客に割り当てられている、工程を含む。
【０１００】
別の態様においては、ネットワーク化システム（例えば、照明センサネットワーク160）において顧客データを保護する方法は、サービスデータプラットフォーム140によって記憶されている暗号化されたセンサデータに、アクセスするように、サービスデータプラットフォーム140の顧客の許可されたユーザと関連付けられた要求を受け取る工程、パスワードで暗号化された第2のシェア104aと関連付けられたパスワードを受け取る工程、および、パスワードで暗号化された第2のシェア104aを復号化する工程を含む。
【０１０１】
他の例示的態様においては、ネットワーク化システム（例えば、照明センサネットワーク160）において顧客データを保護する方法は、顧客鍵ペアに関連付けられた秘密鍵を再構築するために、第1のシェア140aと、復号化された、パスワードで暗号化された第2のシェア104aとを組み合わせる工程を含む。
【０１０２】
様々な態様において、機密扱いの識別情報は、顧客識別情報および個人識別情報のうちの1つに相当する。他の態様においては、秘密鍵共有方式は秘密鍵の少なくとも3つのシェアを含み、少なくとも3つのシェアのうちの少なくとも2つは、暗号化されたセンサデータを復号化するための、顧客鍵ペアと関連付けられた秘密鍵を再構築するために、用いられることができる。
【０１０３】
いくつかの態様において、顧客430は、サービスデータプラットフォーム140がサービスデータプラットフォーム140において記憶されている暗号化されたセンサデータを、復号化するのを防ぐために、顧客430の秘密鍵をサービスデータプラットフォーム140と共有しないことを選択する。しかし、サービスデータプラットフォーム140は、該顧客に、暗号化されたセンサデータを配信することができ、顧客はその場合データをオフラインで復号化することができる。サービスデータプラットフォーム140からオフラインでセンサデータを復号化するための方法を以下に説明する。
【０１０４】
サービスデータプラットフォーム140からオフラインでセンサデータを復号化するための方法ではまず、顧客430がユーザ名およびパスワードといった資格情報における顧客のログを用いてサービスデータプラットフォーム140にログインすることができる。顧客430は次いで、サービスデータプラットフォーム140において記憶されている暗号化されたセンサデータにアクセスするように、または該暗号化されたセンサデータを取り出すように要求をサービスデータプラットフォーム140へ送る。暗号化されたセンサデータはデータパッケージとして搬送されうる。暗号化されたセンサデータ140は顧客430によってサービスデータプラットフォーム140からダウンロードされうる。顧客430は次いで、サービスデータプラットフォーム140からデバイスルート証明書3000を取得することができる。サービスデータプラットフォーム140によって提供されたデバイスルート証明書3000で、顧客430は、データパッケージに含まれる暗号化されたセンサデータが顧客のデバイス（例えば、センサノード100）のうちの1つまたは複数からのものであることを保証するために、データパッケージ上の署名を検証することができる。顧客430は次いで、顧客の秘密鍵を用いてセンサデータを復号化する。秘密共有方式またはシークレット共有方式が用いられる場合には、データパッケージはシークレット共有方式によって指定される指定数のシェアによって復号化することができる。顧客430は次いで、顧客自身のツールおよびソフトウェアアプリケーションを用いて、復号化されたセンサデータを閲覧することができる。
【０１０５】
図6に、様々な態様による、顧客秘密鍵を回復するための方法の図を示す。一つの例示的態様において、回復された顧客秘密鍵は第1の顧客鍵ペアと関連付けられている。新しい顧客秘密鍵が第2の顧客鍵ペアのために作成される。
【０１０６】
様々な態様において、鍵ペア生成モジュール141は第2の顧客鍵ペアを生成するのに用いられ、鍵回復モジュール142は、顧客のシェアが失われた場合、または顧客のシェアが第1の顧客鍵シェアと関連付けられた顧客秘密鍵を再構築するのに使用できなくなった場合に、第1の顧客鍵ペアと関連付けられた秘密鍵を回復するために用いられる。別の態様において、鍵共有モジュール143は、顧客秘密鍵を、実施されている特定の秘密鍵共有方式によって要求される複数のシェアに分割する。鍵ペア生成モジュール141、鍵回復モジュール142、および鍵共有モジュール143は図2に示されている。
【０１０７】
図6によれば、顧客430は、鍵共有を用いて顧客のシェア、または顧客に対して発行された秘密鍵の何らかの他のシェア（例えば、第2のシェア104aおよび104b）の喪失から顧客自身を守っている。例えば、顧客シェア104bおよび顧客のシェア104aの暗号化ローカルシェアのパスワードが顧客430によって失われたとする。サービスデータプラットフォーム140は、信頼できる第三者機関の助けを借りて（第1の顧客鍵ペアと関連付けられた秘密鍵の顧客のシェアと関連付けられた）失われたデータを回復するように要求されうる。
【０１０８】
動作601aにおいて、顧客430は、信頼できる第三者機関デバイス103に、サービスデータプラットフォーム140に対して第三者機関シェア103aを公開することを許可する。動作601bにおいて、信頼できる第三者機関デバイス103によって、この要求を確認する応答が提供されうる。
【０１０９】
動作602aにおいて、顧客430は、サービスデータプラットフォーム140が失われた鍵または鍵シェア（例えば、シェア104aまたはシェア104b）を回復することを要求する。動作603aで、サービスデータプラットフォーム140は、信頼できる第三者機関1031に、第3のシェア103aと呼ばれる第三者機関シェアを要求する。動作603bで、第3のシェア103aが信頼できる第三者機関1031によってサービスデータプラットフォーム140に提供される。動作604で、サービスデータプラットフォーム140は、第3のシェア103aと第1のシェア140aによって表されるサーバシェアを組み合わせることによって（第1の顧客鍵ペアと関連付けられた）顧客秘密鍵を回復する。
【０１１０】
様々な態様において、第1の顧客鍵ペアと関連付けられた秘密鍵は、秘密鍵共有方式からの3つのシェアのうちの2つを用いて再構築される。シェアの各々は、第1の顧客鍵ペアからの顧客秘密鍵の少なくとも3分の2を含む。
【０１１１】
動作605aにおいて、顧客は、新しい鍵ペアを生成するための図4で概説される手順または方法に従って新しい顧客証明書および顧客秘密鍵を作成する。図4に示すこの手順を顧客開始手順と呼ぶことができる。例示的態様において、顧客証明書1100および顧客秘密鍵は、新しい鍵ペアと呼ばれる、第2の顧客鍵ペアと関連付けられる。例えば図5に記載される秘密鍵共有方式は、第2の顧客鍵ペアと関連付けられた顧客秘密鍵を複数のシェアに分割するのに用いられる。いくつかの態様において、動作605bは、顧客430に、第2の顧客鍵ペアと関連付けられた新しい秘密鍵を提供するのに用いることができる。新しい顧客秘密鍵のシェアは、図5または図3B〜図3Dに示すように、サービスデータプラットフォーム140、センサノード100、および顧客デバイス104へ配布することができる。
【０１１２】
動作606において、サービスデータプラットフォーム140は、回復された、第2の顧客鍵ペアと関連付けられた顧客秘密鍵を、新しい顧客証明書1100によって暗号化して、それにサーバ秘密鍵2200によって署名する。暗号化され回復された、第1の顧客鍵ペアと関連付けられた秘密鍵はデータベース291に記憶されている。例示的態様においては、古い顧客秘密鍵が必要とされる場合には、古い顧客秘密鍵を復号化するのに新しい顧客秘密鍵が必要とされる。新しい顧客秘密鍵は前述の秘密鍵共有を用いて再構築される。
【０１１３】
第2の顧客鍵ペアが生成されると、センサノード100は、第2の顧客鍵ペアと関連付けられた顧客証明書1100を用いてセンサデータを暗号化することができる。そうしたデータはその場合、第2の顧客鍵ペアと関連付けられた秘密鍵共有方式を用いて復号化することができる。またセンサノード100は、第1の顧客鍵ペアと関連付けられた顧客証明書1100を用いて引き続きセンサデータを暗号化することもできる。回復された、第1の顧客鍵ペアと関連付けられた秘密鍵はサービスデータプラットフォーム140によって暗号化され、顧客430が、第1の顧客鍵ペアと関連付けられた顧客証明書1100で暗号化されたデータを復号化することを可能にするために、サービスデータプラットフォーム140のデータベース291のうちの1つに記憶されている。
【０１１４】
センサノード110は、サービスデータプラットフォーム140が第2の顧客鍵ペアからの顧客証明書1100をセンサノード110に配布するまで、第1の顧客鍵ペアからの顧客証明書1100を用いてセンサデータを引き続き暗号化することができる。
【０１１５】
動作607において、顧客430は、サービスデータプラットフォーム140上に記憶されている暗号化されたデータを要求する。図3Dに示すように、サービスデータプラットフォーム140は、第1の顧客鍵ペアからの顧客証明書1100で暗号化されたデータ292と第2の顧客鍵ペアからの顧客証明書1100で暗号化されたデータ293の両方を記憶することができる。第1の顧客鍵ペアからの顧客証明書1100で暗号化されたデータは古い（または回復された）鍵を用いる。古い（または回復された鍵）は、第1の顧客鍵ペアと関連付けられた顧客証明書1100で暗号化された古いデータを復号化するのに用いられる。
【０１１６】
動作608aにおいて、サービスデータプラットフォーム140は、以前に回復された鍵によってセンサデータが暗号化されたかどうか確認するために検査する。そうである場合、サービスデータプラットフォーム140は、顧客シェアの、新しいパスワードで暗号化されたローカルシェアの、パスワードについての入力を促す。第2のシェア104aのためのパスワードが受け取られると、サービスデータプラットフォーム140は古い秘密鍵を復号化することができる。
【０１１７】
動作609において、サービスデータプラットフォーム140は、データベース292からアクセスすることのできる古い秘密鍵を復号化する。回復された、第1の顧客鍵ペアと関連付けられた秘密鍵を、第2の顧客鍵ペアと関連付けられた秘密鍵を用いて復号化することができる。例えば、第2の顧客鍵ペアと関連付けられた秘密鍵を、第2の秘密鍵ペアと関連付けられた第1のシェア140aおよび第2のシェア104aまたは104bを用いて再構築することができる。
【０１１８】
様々な態様においては、複数の鍵回復が行われうる。複数の鍵回復が行われる場合に、サービスデータプラットフォーム140は、使用できる鍵が見つかるまでより古い回復の連鎖を追従する。
【０１１９】
動作610において、復号化されたセンサデータを顧客または顧客の他の許可されたユーザに表示することができる。
【０１２０】
例示的態様において、動作602a、動作602b、動作607、動作608a、動作608bおよび動作610は、通信モジュール146によって行われうる。他の態様において、動作603aおよび動作603b、ならびに動作604は、鍵回復モジュール142によって行われうる。いくつかの態様において、動作605は鍵ペア生成モジュール141によって行われうる。動作606は暗号化モジュール（図示せず）によって行われうる。動作609は復号化モジュール（図示せず）によって行われうる。モジュール146、モジュール142、およびモジュール141は図2に示されている。
【０１２１】
例示的態様において、ネットワーク化システムにおいて顧客データを保護する方法は、サービスデータプラットフォーム140において記憶されている暗号化されたセンサデータにアクセスするように要求を受け取る工程、要求内の暗号化されたセンサデータが、回復された秘密鍵に相当する第1の顧客鍵ペアと関連付けられた認証済み公開鍵によって暗号化されたと判定する工程、第1の顧客鍵ペアと関連付けられた秘密鍵が、第2の顧客鍵ペアと関連付けられた秘密鍵によって暗号化されていると判定する工程、第2の顧客鍵ペアと関連付けられた秘密鍵を用いることによって、第1の顧客鍵ペアと関連付けられた秘密鍵を復号化する工程、および、復号化された、第1の顧客鍵ペアと関連付けられた秘密鍵を用いて、要求内の暗号化されたセンサデータを復号化する工程を含む。いくつかの態様において、ネットワーク化システムはセンサネットワーク100を備える。センサネットワーク100はWi-Fi無線ネットワークまたはアドホック無線ネットワークのうちの少なくとも1つに相当する。
【０１２２】
他の態様において、ネットワーク化システムにおいて顧客データを保護する方法は、ネットワーク（例えば、WAN130）上でサービスデータプラットフォーム140と通信するセンサネットワーク100内のセンサノード110において使用可能なセンサデータを収集する工程、第1の顧客鍵ペアと関連付けられた認証済み公開鍵を用いて、機密扱いの識別情報と関連付けられた顧客データに相当するセンサデータを暗号化する工程、第1の顧客鍵ペアと関連付けられたデバイス秘密鍵を用いてセンサデータに暗号で署名する工程、および、記憶のためにサービスデータプラットフォーム140へ、暗号化されたセンサデータを搬送する工程を含む。
【０１２３】
別の態様において、ネットワーク化システムにおいて顧客データを保護する方法は、第1の顧客鍵ペアと関連付けられた第三者機関シェア103aを取り出す工程であって、第三者機関シェア103aがサービスデータプラットフォーム140へ提供することを顧客によって許可されている、工程、第1の顧客鍵ペアと関連付けられた第三者機関シェア（例えば、第3のシェア103a）を、サービスデータプラットフォームに割り当てられたサーバシェア（例えば、第1のシェア140a）と組み合わせる工程、ならびに、サーバシェア（例えば、第1のシェア140a）および信頼できる第三者機関シェア（例えば、第3のシェア103a）を用いて、第1の顧客鍵ペアと関連付けられた秘密鍵を回復する工程を含む。
【０１２４】
別の態様において、ネットワーク化システムにおいて顧客データを保護する方法は、回復された、第1の顧客鍵ペアと関連付けられた秘密鍵を暗号化する工程、および、暗号化された、第1の顧客鍵ペアと関連付けられた暗号化秘密鍵を、サービスデータプラットフォーム140において記憶する工程を含む。
【０１２５】
別の例示的態様において、ネットワーク化システムにおいて顧客データを保護する方法は、第2の顧客鍵ペアと関連付けられた秘密鍵を再構築するために、第2の顧客鍵ペアと関連付けられた秘密鍵の、パスワードで復号化された顧客シェア（例えば、第2のシェア104a）に関して、パスワードを要求する工程、パスワードを受け取り、かつ、第2の顧客鍵ペアと関連付けられたパスワードで復号化された顧客シェア（例えば、第2のシェア104a）を復号化する工程、サーバシェア（例えば、第1のシェア140a）と、第2の顧客鍵ペアと関連付けられた復号化パスワードで暗号化された顧客シェア（例えば、第2のシェア104a）とを組み合わせる工程、ならびに、第2の顧客鍵ペアと関連付けられた秘密鍵を再構築する工程を含む。
【０１２６】
別の態様において、ネットワーク化システムにおいて顧客データを保護する方法は、第2の顧客鍵ペアと関連付けられた認証済み公開鍵を用いて第1の顧客鍵ペアと関連付けられた秘密鍵を暗号化する工程、および、暗号化された、第1の顧客鍵ペアと関連付けられた秘密鍵を記憶する工程を含む。
【０１２７】
様々な態様においてセンサノード100内で用いられうるセンサ111の他の例には、バイオメトリックセンサ、動きセンサ、環境センサ、および位置センサが含まれる。例えば、バイオメトリックセンサは、表情（例えば、手の表情、顔の表情、声の表情、身振り、または視線）を検知し、生体信号（例えば、血圧、心拍数、体温、発汗、または脳波）を測定し、人を識別する（例えば、音声識別、網膜識別、顔識別、指紋識別、または脳波ベースの識別）などのための構成要素を含むことができる。動きセンサの例には、加速度センサ構成要素（例えば、加速度計）、重力センサ構成要素、回転センサ構成要素（例えば、ジャイロスコープ）などといった動き構成要素が含まれうる。様々な環境センサを用いることができ、環境センサには、照明センサ構成要素（例えば、光度計）、温度センサ構成要素（例えば、周囲温度を検知する1つもしくは複数の温度計）、湿度センサ構成要素、圧力センサ構成要素（例えば、気圧計）、音響センサ構成要素（例えば、暗騒音を検知する1つもしくは複数のマイクロフォン）、近接センサ構成要素（例えば、近くの物体を検知する赤外線センサ）、ガスセンサ（例えば、安全のために危険なガスの濃度を検知し、もしくは大気中の汚染物質を測定するガス検知センサ）、または周囲の物理環境に対応する指示、測定、もしくは信号を提供することのできる他の構成要素といった環境構成要素が含まれる。様々な位置センサは、位置センサ構成要素（例えば、全地球測位システム（GPS）受信機構成要素）、高度センサ構成要素（例えば、高度計、または、高度を導出するための気圧を検知する気圧計）、方向センサ構成要素（例えば、磁力計）などといった位置構成要素を含むことができる。
【０１２８】
加えて、本明細書に記載するある特定の態様は、論理またはいくつかのモジュール、エンジン、構成要素、もしくは機構として実施することもできる。モジュール、エンジン、論理、構成要素、または機構（まとめて「モジュール」と呼ぶ）は、ある特定の動作を実行することができ、ある特定のやり方で構成または配置された有形のユニットとすることができる。ある特定の例示的態様においては、1つもしくは複数のコンピュータシステム（例えば、独立型、クライアント、もしくはサーバコンピュータシステム）、またはコンピュータシステムの1つもしくは複数の構成要素（例えば、プロセッサもしくはプロセッサグループ）が、ソフトウェア（例えば、アプリケーションもしくはアプリケーションの部分）またはファームウェア（ソフトウェアとファームウェアとは一般に、当業者に公知であるようにここでは区別なく用いられうることに留意されたい）によって、本明細書に記載されているある特定の動作を実行するように動作するモジュールとして構成されうる。
【０１２９】
様々な態様において、モジュールは、機械的に、または電子的に実施されうる。例えば、モジュールは、ある特定の動作を実行するように（例えば、専用プロセッサ、特定用途向け集積回路（ASIC）、またはアレイ内で）永続的に構成されている専用回路または論理を含むことができる。またモジュールは、ソフトウェアまたはファームウェアによってある特定の動作を実行するように一時的に構成される（例えば、汎用プロセッサ内または他のプログラマブルプロセッサ内に含まれる）プログラマブル論理または回路を含むこともできる。モジュールを機械的に、専用の永続的に構成された回路において実施するか、それとも一時的に構成される（例えば、ソフトウェアによって構成される）回路において実施するかの判断は、例えば、費用、時間、エネルギー使用、およびパッケージサイズの考慮事項によって決定されうることが理解されるであろう。
【０１３０】
したがって、「モジュール」という用語は、有形のエンティティを、ある特定のやり方で動作するように、または本明細書に記載されるある特定の動作を実行するように物理的に構築され、永続的に構成され（例えば、ハードウェア）、または一時的に構成される（例えば、プログラムされる）エンティティとして含むものと理解すべきである。モジュールまたは構成要素が一時的に構成される（例えば、プログラムされる）態様を考えると、モジュールまたは構成要素の各々は任意の場合に構成され、インスタンス化される必要がある。例えば、モジュールまたは構成要素がソフトウェアを用いて構成される汎用プロセッサを含む場合、汎用プロセッサはその時々でそれぞれ異なるモジュールとして構成されうる。ソフトウェアは、ある場合には特定のモジュールを構成し、別の場合には別のモジュールを構成するように、プロセッサをしかるべく構成することができる。
【０１３１】
モジュールは、他のモジュールへ情報を提供し、他のモジュールから情報を受け取ることができる。したがって、説明されるモジュールは、通信可能（communicatively）に結合されているものとみなすことができる。複数のそうしたモジュールが同時に存在する場合には、各モジュールを接続する（例えば、適切な回路およびバス上での）信号伝送によって通信が実現されうる。複数のモジュールが別々の場合に構成またはインスタンス化される態様では、そうしたモジュール間の通信は、例えば、複数のモジュールがアクセスすることのできるメモリ構造における情報の記憶および取り出しによって実現されうる。例えば、あるモジュールは動作を実行し、その動作の出力を、モジュールが通信可能に結合されているメモリデバイスに記憶することができる。別のモジュールはその場合、後で、記憶された出力を取り出して処理するためにメモリデバイスにアクセスすることができる。また各モジュールは、入力デバイスまたは出力デバイスとの通信を開始することもでき、リソース（例えば、情報の集合体）に作用することができる。
【０１３２】
図7に関連して、一つの例示的態様は、内部でマシンに本明細書で論じる方法のうちの任意の1つまたは複数を実行させるための命令を実行することのできるコンピュータシステム700の例示的形態のマシンに及ぶものである。代替の例示的態様において、本マシンは独立型デバイスとして動作するか、または他のマシンに接続する（例えば、ネットワーク接続する）ことができる。ネットワーク接続された配置において、本マシンは、サー・クライアントネットワーク環境もしくはn層ネットワークにおけるサーバもしくはクライアントマシンとして、またはピア・ツー・ピア（もしくは分散）ネットワーク環境における、または仮想化クラウドコンピューティング環境におけるピアマシンとして動作することができる。本マシンは、パーソナルコンピュータ（PC）、ウェアラブルコンピューティングデバイス、タブレットPC、セットトップボックス（STB）、携帯情報端末（PDA）、セルラ電話機、ウェブアプライアンス、ネットワークルータ、スイッチもしくはブリッジ、センサノード、またはこのマシンによって講じられるべき措置を指定する（順次の、またはそれ以外の）命令を実行することができる任意のマシンとすることができる。さらに、1台のマシンだけが示されているが、「マシン」という用語は、本明細書で論じる方法のうちの任意の1つまたは複数を実行するために命令セット（または複数の命令セット）を個々に、または連携して実行するマシンの任意の集合体を含むものとしても理解されるものである。
【０１３３】
例示的コンピュータシステム700は、プロセッサ702（例えば、中央処理装置（CPU）、グラフィックス処理装置（GPU）、またはその両方）、メインメモリ704およびスタティックメモリ706を備えることができ、これらはバス708を介して相互に通信する。コンピュータシステム700は、ビデオディスプレイユニット710（例えば、液晶ディスプレイ（LCD）またはブラウン管（CRT））をさらに備えることができる。例示的態様において、コンピュータシステム700は、英数字入力デバイス712（例えば、キーボード）、ユーザインターフェース（UI）ナビゲーションデバイスまたはカーソル制御デバイス714（例えば、マウス）、記憶装置716、信号発生デバイス718（例えば、スピーカ）、およびネットワークインターフェースデバイス720のうちの1つまたは複数も備える。
【０１３４】
記憶装置716は、本明細書に記載される方法または機能のうちのいずれか1つもしくは複数を具現化するかまたはそれらによって用いられる1つもしくは複数の命令セット724およびデータ構造（例えば、ソフトウェア命令）が記憶されている機械可読記憶媒体722を含む。命令724は、コンピュータシステム700による命令の実行時に、その全部または少なくとも一部が、メインメモリ704内に、またはプロセッサ702内に置かれてもよく、メインメモリ704およびプロセッサ702は機械可読媒体も構成している。
【０１３５】
機械可読記憶媒体722は、例示的態様において、単一の媒体であるものとして示されているが、「機械可読記憶媒体」という用語は、1つまたは複数の命令を記憶する単一の媒体または複数の媒体（例えば、集中もしくは分散データベース、または関連付けられたキャッシュおよびサーバ）を含みうる。また「機械可読媒体」という用語は、マシンによる実行のための命令を記憶、符号化、または搬送することができ、かつマシンに、本発明の態様の方法のうちの任意の1つまたは複数を実行させるか、あるいは、そうした命令によって用いられるデータ構造またはそうした命令と関連付けられたデータ構造を記憶、符号化、または搬送することができる、任意の有形の媒体を含むものとしても理解されるものである。「機械可読記憶媒体」という用語は、それだけに限らないが、固体メモリおよび光学媒体および磁気媒体を含むものとしてしかるべく理解されるものである。機械可読記憶媒体の具体例には、例えば、半導体メモリデバイス（例えば、消去可能プログラム可能読取り専用メモリ（EPROM）、電気的消去可能プログラム可能読取り専用メモリ（EEPROM）、およびフラッシュメモリデバイス）、内蔵ハードディスクおよび取り外し可能ディスクといった磁気ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む不揮発性メモリが含まれる。
【０１３６】
命令724はさらに、ネットワークインターフェースデバイス720を介した伝送媒体を用い、いくつかの周知の転送プロトコル（例えば、HTTP）のうちのいずれか1つを用いて通信ネットワーク726上で送信または受信することもできる。通信ネットワークの例には、ローカルエリアネットワーク（LAN）、広域ネットワーク（WAN）、インターネット、移動電話網、POTSネットワーク、および無線データネットワーク（例えば、Wi-FiネットワークおよびWiMAXネットワーク）が含まれる。「伝送媒体」という用語は、マシンによる実行のための命令を記憶、符号化、または搬送することができる任意の無形の媒体を含むものとして理解されるものであり、そうしたソフトウェアの通信を円滑化するためのディジタルまたはアナログの通信信号または他の無形の媒体を含む。
【０１３７】
本発明の主題の概要を特定の例示的態様に関連して説明したが、本発明の態様の幅広い趣旨および範囲を逸脱することなく、これらの態様に様々な改変および変更を加えることができる。本発明の主題のそうした態様を本明細書では、個々に、またはまとめて、「発明」という用語で呼ぶ場合があり、これは単に便宜的にそう呼ぶにすぎず、複数の発明が実際に開示されている場合に、本出願の範囲を単一の発明または発明概念に自発的に限定するためのものではない。
【０１３８】
本明細書で例示した態様は、当業者が開示された教示を実施することを可能にするのに十分な詳細さで記載されている。本開示の範囲を逸脱することなく構造的、論理的な置換および変更が加えられるように、他の態様を用い、これらの態様から導出することもできる。したがって、以上の詳細な説明は、限定的な意味で理解すべきではなく、様々な態様の範囲は、添付の特許請求の範囲が権利を付与されるべき範囲と同等の十分な範囲を伴って、それらの特許請求の範囲によってのみ定義されるものである。
【０１３９】
さらに、単一のインスタンスとして本明細書に記載されているリソース、動作、または構造について複数のインスタンスが提供される場合もある。加えて、様々なリソース、動作、モジュール、エンジン、およびデータストアの間の境界は若干恣意的であり、特定の動作が特定の例示的構成のコンテキストにおいて示されている。他の機能の割り振りも想定され、本発明の様々な態様の範囲内に含まれうる。一般に、例示的構成において別々のリソースとして提示されている構造および機能は、組み合わされた構造またはリソースとして実施することもできる。同様に、単一のリソースとして提示されている構造および機能も別々のリソースとして実施することができる。上記その他の変形、改変、追加、および改善は、添付の特許請求の範囲によって表される本発明の態様の範囲内に含まれるものである。したがって、本明細書および図面は、限定的な意味ではなく例示とみなすべきである。
【図１】
2017507629.tif 000004
【図２】
2017507629.tif 000005
【図３Ａ】
2017507629.tif 000006
【図３Ｂ】
2017507629.tif 000007
【図３Ｃ】
2017507629.tif 000008
【図３Ｄ】
2017507629.tif 000009
【図４】
2017507629.tif 000010
【図５】
2017507629.tif 000011
【図６】
2017507629.tif 000012
【図７】
2017507629.tif 000013
【国際調査報告】
2017507629.tif 000014