(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6707717
(24)【登録日】2020年5月22日
(45)【発行日】2020年6月10日
(54)【発明の名称】デバイスプロビジョニングプロトコル(DPP)のためのコンフィギュレータ鍵パッケージ
(51)【国際特許分類】
H04L 9/08 20060101AFI20200601BHJP
H04W 12/04 20090101ALI20200601BHJP
H04W 84/10 20090101ALI20200601BHJP
【FI】
H04L9/00 601A
H04L9/00 601F
H04W12/04
H04W84/10 110
【請求項の数】27
【全頁数】34
(21)【出願番号】特願2019-520681(P2019-520681)
(86)(22)【出願日】2017年8月25日
(65)【公表番号】特表2019-537871(P2019-537871A)
(43)【公表日】2019年12月26日
(86)【国際出願番号】US2017048560
(87)【国際公開番号】WO2018075135
(87)【国際公開日】20180426
【審査請求日】2020年2月19日
(31)【優先権主張番号】62/410,309
(32)【優先日】2016年10月19日
(33)【優先権主張国】US
(31)【優先権主張番号】15/648,437
(32)【優先日】2017年7月12日
(33)【優先権主張国】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100109830
【弁理士】
【氏名又は名称】福原 淑弘
(74)【代理人】
【識別番号】100158805
【弁理士】
【氏名又は名称】井関 守三
(74)【代理人】
【識別番号】100112807
【弁理士】
【氏名又は名称】岡田 貴志
(72)【発明者】
【氏名】カマロタ、ロサリオ
(72)【発明者】
【氏名】マリネン、ジョウニ・カレビ
(72)【発明者】
【氏名】ティナゴーンスリスパップ、ピーラポン
【審査官】
中里 裕正
(56)【参考文献】
【文献】
特開平9−6236(JP,A)
【文献】
特開2006−352560(JP,A)
【文献】
特開2013−235465(JP,A)
【文献】
国際公開第2015/094326(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/08
H04W 12/04
H04W 84/10
(57)【特許請求の範囲】
【請求項1】
ネットワークの第1のコンフィギュレータデバイスによって実行される方法であって、
前記第1のコンフィギュレータデバイスによって、前記ネットワークでエンローリデバイスを登録するために前記第1のコンフィギュレータデバイスがコンフィギュレータ秘密署名鍵を使用するように構成されたデバイスプロビジョニングプロトコルを実装することと、
前記第1のコンフィギュレータデバイスに関連付けられた少なくとも前記コンフィギュレータ秘密署名鍵を含む、コンフィギュレータ鍵パッケージを生成することと、
前記コンフィギュレータ鍵パッケージの少なくとも一部分を暗号化することと、
第2のコンフィギュレータデバイスによる後のリストアのためのバックアップとして、ストレージロケーションに前記コンフィギュレータ鍵パッケージを記憶することと、
を備え、同じコンフィギュレータ秘密署名鍵および同じコンフィギュレータ公開検証鍵は、前記デバイスプロビジョニングプロトコルに従って前記ネットワークで異なるエンローリデバイスを登録するために、前記第2のコンフィギュレータデバイスを含む複数のコンフィギュレータ間で共有される、方法。
【請求項2】
前記コンフィギュレータ鍵パッケージは、前記コンフィギュレータ秘密署名鍵に関連付けられるコンフィギュレータ公開検証鍵をさらに含む、請求項1に記載の方法。
【請求項3】
前記コンフィギュレータ鍵パッケージの少なくとも前記一部分を暗号化することは、前記コンフィギュレータ秘密署名鍵とは異なる暗号鍵を使用して前記コンフィギュレータ鍵パッケージを暗号化することを含む、請求項1に記載の方法。
【請求項4】
前記コンフィギュレータ鍵パッケージの少なくとも前記一部分を暗号化することは、秘密鍵暗号化技法を使用して前記コンフィギュレータ秘密署名鍵を暗号化することと、前記コンフィギュレータ鍵パッケージのヘッダ中に前記秘密鍵暗号化技法のインジケーションを含めることと、を含む、請求項1に記載の方法。
【請求項5】
前記コンフィギュレータ鍵パッケージを記憶することは、
前記コンフィギュレータ鍵パッケージと復号情報とを含むデジタルエンベロープを生成することを含み、前記復号情報は、前記第2のコンフィギュレータデバイスが前記コンフィギュレータ鍵パッケージの少なくとも前記一部分を復号することを可能にする、
請求項1に記載の方法。
【請求項6】
前記ストレージロケーションは、前記第1のコンフィギュレータデバイスのメモリ、ネットワーク共有ロケーション、パーソナルコンピュータ、ホームサーバ、クラウドベースのストレージサービス、およびワイヤレスネットワークのアクセスポイント(AP)、からなるグループから選択される少なくとも1つのメンバである、請求項1に記載の方法。
【請求項7】
前記第1のコンフィギュレータデバイスによって、前記ストレージロケーションから前記コンフィギュレータ鍵パッケージの前記バックアップを検索することと、
前記コンフィギュレータ鍵パッケージの少なくとも前記一部分を復号することと、
前記コンフィギュレータ鍵パッケージから前記コンフィギュレータ秘密署名鍵を取得することと、
をさらに備える、請求項1に記載の方法。
【請求項8】
前記コンフィギュレータ鍵パッケージから取得された前記コンフィギュレータ秘密署名鍵に少なくとも部分的に基づいて、コンフィギュレータ公開検証鍵を決定すること、
をさらに備える、請求項7に記載の方法。
【請求項9】
前記ストレージロケーションにおける前記コンフィギュレータ鍵パッケージのロケーションアドレスを決定することと、
前記第2のコンフィギュレータデバイスに前記ロケーションアドレスを提供することと、
をさらに備える、請求項1に記載の方法。
【請求項10】
前記第2のコンフィギュレータデバイスに復号情報を提供することをさらに備え、前記復号情報は、前記第2のコンフィギュレータデバイスが、前記コンフィギュレータ鍵パッケージの少なくとも前記一部分を復号することと、前記コンフィギュレータ秘密署名鍵を取得することと、を可能にする、
請求項1に記載の方法。
【請求項11】
前記復号情報は、前記ストレージロケーションにおける前記コンフィギュレータ鍵パッケージのロケーションアドレスと、前記コンフィギュレータ鍵パッケージの少なくとも前記一部分を復号するために使用可能な暗号鍵と、からなるグループから選択される少なくとも1つのメンバを含む、請求項10に記載の方法。
【請求項12】
前記復号情報を提供することは、前記第1のコンフィギュレータデバイスのディスプレイ、スピーカ、光信号、センサインターフェース、および短距離無線周波数インターフェース、からなるグループから選択される少なくとも1つのメンバからの信号中で前記復号情報を通信することを含む、請求項10に記載の方法。
【請求項13】
前記復号情報を提供することは、前記復号情報が符号化されているイメージを表示することを含む、請求項10に記載の方法。
【請求項14】
前記イメージは、バーコードまたはクイックレスポンス(QR)コードイメージである、請求項13に記載の方法。
【請求項15】
第1のコンフィギュレータデバイスで使用するための装置であって、
少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサは、
前記ネットワークでエンローリデバイスを登録するために前記第1のコンフィギュレータデバイスがコンフィギュレータ秘密署名鍵を使用するように構成されたデバイスプロビジョニングプロトコルを実装することと、
前記第1のコンフィギュレータデバイスに関連付けられた少なくとも前記コンフィギュレータ秘密署名鍵を含む、コンフィギュレータ鍵パッケージを生成することと、
前記コンフィギュレータ鍵パッケージの少なくとも一部分を暗号化することと、
を行うように構成され、
第2のコンフィギュレータデバイスによる後のリストアのためのバックアップとして、ストレージロケーションに前記コンフィギュレータ鍵パッケージを出力するように構成された第1のインターフェースと、
を備え、同じコンフィギュレータ秘密署名鍵および同じコンフィギュレータ公開検証鍵は、前記デバイスプロビジョニングプロトコルに従って前記ネットワークで異なるエンローリデバイスを登録するために、前記第2のコンフィギュレータデバイスを含む複数のコンフィギュレータ間で共有される、装置。
【請求項16】
前記プロセッサは、前記コンフィギュレータ秘密署名鍵とは異なる暗号鍵を使用して前記コンフィギュレータ鍵パッケージを暗号化する
ようにさらに構成される、請求項15に記載の装置。
【請求項17】
前記プロセッサは、
秘密鍵暗号化技法を使用して前記コンフィギュレータ秘密署名鍵を暗号化することと、
前記コンフィギュレータ鍵パッケージのヘッダ中に前記秘密鍵暗号化技法のインジケーションを含めることと、
を行うようにさらに構成される、請求項15に記載の装置。
【請求項18】
前記プロセッサは、前記コンフィギュレータ鍵パッケージと復号情報とを含むデジタルエンベロープを生成するようにさらに構成され、前記復号情報は、前記第2のコンフィギュレータデバイスが前記コンフィギュレータ鍵パッケージの少なくとも前記一部分を復号することを可能にする、請求項15に記載の装置。
【請求項19】
前記プロセッサは、
前記ストレージロケーションから前記コンフィギュレータ鍵パッケージの前記バックアップを検索することと、
前記コンフィギュレータ鍵パッケージの少なくとも前記一部分を復号することと、
前記コンフィギュレータ鍵パッケージから前記コンフィギュレータ秘密署名鍵を取得することと、
を行うようにさらに構成される、請求項15に記載の装置。
【請求項20】
プロセッサは、
前記ストレージロケーションにおけるコンフィギュレータ鍵パッケージのロケーションアドレスを決定することと、
前記第2のコンフィギュレータデバイスに前記ロケーションアドレスを提供することと、
を行うようにさらに構成される、請求項15に記載の装置。
【請求項21】
プロセッサは、前記第2のコンフィギュレータデバイスに復号情報を提供するようにさらに構成され、前記復号情報は、前記第2のコンフィギュレータデバイスが、前記コンフィギュレータ鍵パッケージの少なくとも前記一部分を復号することと、前記コンフィギュレータ秘密署名鍵を取得することと、を可能にする、請求項15に記載の装置。
【請求項22】
前記復号情報は、前記ストレージロケーションにおける前記コンフィギュレータ鍵パッケージのロケーションアドレスと、前記コンフィギュレータ鍵パッケージの少なくとも前記一部分を復号するために使用可能な暗号鍵と、からなるグループから選択される少なくとも1つのメンバを含む、請求項21に記載の装置。
【請求項23】
前記プロセッサは、前記第1のコンフィギュレータデバイスのディスプレイ、スピーカ、光信号、センサインターフェース、および短距離無線周波数インターフェース、からなるグループから選択される少なくとも1つのメンバを使用して前記復号情報を提供するようにさらに構成される、請求項21に記載の装置。
【請求項24】
ネットワークの第1のコンフィギュレータデバイスで使用するためのワイヤレス通信デバイスであって、
少なくとも1つのモデムと、
前記少なくとも1つのモデムと通信可能に結合された少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信可能に結合され、プロセッサ可読コードを記憶する少なくとも1つのメモリと、を備え、
前記プロセッサ可読コードは、前記少なくとも1つのモデムと連携して前記少なくとも1つのプロセッサによって実行されたとき、
前記ネットワークでエンローリデバイスを登録するために前記第1のコンフィギュレータデバイスがコンフィギュレータ秘密署名鍵を使用するように構成されたデバイスプロビジョニングプロトコルを実装することと、
前記第1のコンフィギュレータデバイスに関連付けられた少なくとも前記コンフィギュレータ秘密署名鍵を含む、コンフィギュレータ鍵パッケージを生成することと、
前記コンフィギュレータ鍵パッケージの少なくとも一部分を暗号化することと、
第2のコンフィギュレータデバイスによる後のリストアのためのバックアップとして、ストレージロケーションに前記コンフィギュレータ鍵パッケージを記憶することと、ここにおいて、同じコンフィギュレータ秘密署名鍵および同じコンフィギュレータ公開検証鍵は、前記デバイスプロビジョニングプロトコルに従って前記ネットワークで異なるエンローリデバイスを登録するために、前記第2のコンフィギュレータデバイスを含む複数のコンフィギュレータ間で共有される、
を行うように構成される、ワイヤレス通信デバイス。
【請求項25】
前記プロセッサ可読コードは、前記少なくとも1つのプロセッサによって実行されたとき、
秘密鍵暗号化技法を使用して前記コンフィギュレータ秘密署名鍵を暗号化することと、
前記コンフィギュレータ鍵パッケージのヘッダ中に前記秘密鍵暗号化技法のインジケーションを含めることと、
を行うように構成される、請求項24に記載のワイヤレス通信デバイス。
【請求項26】
前記プロセッサ可読コードは、前記少なくとも1つのプロセッサによって実行されたとき、
前記ストレージロケーションから前記コンフィギュレータ鍵パッケージの前記バックアップを検索することと、
前記コンフィギュレータ鍵パッケージの少なくとも前記一部分を復号することと、
前記コンフィギュレータ鍵パッケージから前記コンフィギュレータ秘密署名鍵を取得することと、
を行うように構成される、請求項24に記載のワイヤレス通信デバイス。
【請求項27】
モバイル局であって、
ネットワークの第1のコンフィグレータデバイスにおいて使用するためのワイヤレス通信デバイスを備え、前記ワイヤレス通信デバイスは、
少なくとも1つのモデムと、
前記少なくとも1つのモデムと通信可能に結合された少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信可能に結合され、プロセッサ可読コードを記憶する少なくとも1つのメモリと、
前記プロセッサ可読コードは、前記少なくとも1つのモデムと連携して前記少なくとも1つのプロセッサによって実行されたとき、
ネットワークでエンローリデバイスを登録するために第1のコンフィギュレータデバイスがコンフィギュレータ秘密署名鍵を使用するように構成されたデバイスプロビジョニングプロトコルを実装することと、
前記第1のコンフィギュレータデバイスに関連付けられた少なくとも前記コンフィギュレータ秘密署名鍵を含む、コンフィギュレータ鍵パッケージを生成することと、
前記コンフィギュレータ鍵パッケージの少なくとも一部分を暗号化することと、
第2のコンフィギュレータデバイスによる後のリストアのためのバックアップとして、ストレージロケーションに前記コンフィギュレータ鍵パッケージを記憶することと、ここにおいて、同じコンフィギュレータ秘密署名鍵および同じコンフィギュレータ公開検証鍵は、前記デバイスプロビジョニングプロトコルに従って前記ネットワークで異なるエンローリデバイスを登録するために、前記第2のコンフィギュレータデバイスを含む複数のコンフィギュレータ間で共有される、
を行うように構成され、
前記少なくとも1つのモデムに結合された少なくとも1つのトランシーバと、
前記少なくとも1つのトランシーバから出力された信号をワイヤレスに送信するために、および前記少なくとも1つのトランシーバへの入力のための信号をワイヤレスに受信するために、前記少なくとも1つのトランシーバに結合された少なくとも1つのアンテナと、
前記少なくとも1つのモデム、前記少なくとも1つのプロセッサ、前記少なくとも1つのメモリ、前記少なくとも1つのトランシーバ、および前記少なくとも1つのアンテナの少なくとも一部分、を包含するハウジングと、
を備える、モバイル局。
【発明の詳細な説明】
【0001】
[0001] 本特許出願は、「DEVICE PROVISIONING PROTOCOL (DPP) WITH MULTIPLE CONFIGURATORS」と題され、本願の譲受人に譲渡された、2016年10月19日付で出願された、米国仮特許出願第62/410,309号の優先権を主張する、2017年7月12日付で出願された、米国特許出願第15/648,437号の優先権を主張する。これら先行出願の開示は、本特許出願の一部と見なされ、かつ参照により本特許出願に組み込まれている。
【技術分野】
【0002】
[0002] 本開示は、概して、通信システムの分野に関し、より具体的には、通信ネットワーク中のデバイスプロビジョニングプロトコル(DPP)に関する。
【背景技術】
【0003】
[0003] ネットワークは、通信媒体を介して互いに通信するデバイスを含んでいる。デバイスは、そのデバイスがネットワークの他のデバイスと通信する前に通信媒体にアクセスするためのパラメータを用いて構成される。デバイスを構成するプロセスは、デバイスプロビジョニングと呼ばれ得、アソシエーション、登録、認証に関するオペレーション、または他のオペレーションを含み得る。ネットワーク用にまだ構成されていない新規のデバイスは、エンローリデバイス(enrollee device)と呼ばれる。デバイスプロビジョニングプロトコル(DPP:device provisioning protocol)は、ネットワークに取り込まれるエンローリデバイスの構成を容易にし得る。コンフィギュレータデバイスは、デバイスプロビジョニングプロトコルにしたがって、ネットワークに関するエンローリデバイスを構成するための能力を有するデバイスである。
【発明の概要】
【0004】
[0004] 本開示のシステム、方法、およびデバイスはそれぞれ、いくつかの革新的な様態を有し、これらのうちの何れも、本明細書に開示される所望の属性を単独で担うものではない。
【0005】
[0005] 本開示で説明される主題の1つの革新的な態様は、ネットワークの第1のコンフィギュレータデバイスに実装されることができる。第1のコンフィギュレータデバイスは、第1のコンフィギュレータデバイスに関連付けられた少なくともコンフィギュレータ秘密署名鍵(private signing key)を含む、コンフィギュレータ鍵パッケージを生成し得る。第1のコンフィギュレータデバイスは、コンフィギュレータ鍵パッケージの少なくとも一部分を暗号化する。第1のコンフィギュレータデバイスは、第1のコンフィギュレータデバイスまたは第2のコンフィギュレータデバイスによる後のリストア(restore)のためのバックアップとして、ストレージロケーションにコンフィギュレータ鍵パッケージを記憶する。
【0006】
[0006] いくつかの実装では、コンフィギュレータ鍵パッケージは、コンフィギュレータ秘密署名鍵に関連付けられるコンフィギュレータ公開検証鍵(public verification key)をさらに含む。
【0007】
[0007] いくつかの実装では、第1のコンフィギュレータデバイスは、コンフィギュレータ秘密署名鍵とは異なる暗号鍵(encryption key)を使用してコンフィギュレータ鍵パッケージを暗号化し得る。
【0008】
[0008] いくつかの実装では、第1のコンフィギュレータデバイスは、秘密鍵暗号化技法を使用してコンフィギュレータ秘密署名鍵を暗号化し、コンフィギュレータ鍵パッケージのヘッダ中に秘密鍵暗号化技法のインジケーションを含め得る。
【0009】
[0009] いくつかの実装では、第1のコンフィギュレータデバイスは、コンフィギュレータ鍵パッケージと復号(decrypt)情報とを含むデジタルエンベロープ(digital envelope)を生成し得る。復号情報は、第2のコンフィギュレータデバイスがコンフィギュレータ鍵パッケージの少なくとも一部分を復号することを可能にし得る。
[0010] いくつかの実装では、ストレージロケーションは、第1のコンフィギュレータデバイスのメモリ、ネットワーク共有ロケーション、パーソナルコンピュータ、ホームサーバ、クラウドベースのストレージサービス、およびワイヤレスネットワークのアクセスポイント(AP)、からなるグループから選択される少なくとも1つのメンバである。
【0010】
[0011] いくつかの実装では、コンフィギュレータ鍵パッケージを記憶することは、コンフィギュレータ鍵パッケージのバックアップを記憶することを含む。第1のコンフィギュレータデバイスは、ストレージロケーションからコンフィギュレータ鍵パッケージのバックアップを検索し得る。第1のコンフィギュレータデバイスは、コンフィギュレータ鍵パッケージの少なくとも一部分を復号し得、コンフィギュレータ鍵パッケージからコンフィギュレータ秘密署名鍵を取得し得る。
【0011】
[0012] いくつかの実装では、第1のコンフィギュレータデバイスは、コンフィギュレータ鍵パッケージから取得されたコンフィギュレータ秘密署名鍵に少なくとも部分的に基づいて、コンフィギュレータ公開検証鍵を決定し得る。
【0012】
[0013] いくつかの実装では、第1のコンフィギュレータデバイスは、ストレージロケーションにおいてコンフィギュレータ鍵パッケージのロケーションアドレスを決定し得、第2のコンフィギュレータデバイスにロケーションアドレスを提供し得る。
【0013】
[0014] いくつかの実装では、第1のコンフィギュレータデバイスは、デバイスプロビジョニングプロトコルに関連付けられたブートストラッピング技法を使用して、復号情報を提供し得る。
【0014】
[0015] いくつかの実装では、第1のコンフィギュレータデバイスは、第2のコンフィギュレータデバイスに復号情報を提供し得る。復号情報は、第2のコンフィギュレータデバイスが少なくともコンフィギュレータ鍵パッケージの一部分を復号することを可能にし得、コンフィギュレータ秘密署名鍵およびコンフィギュレータ公開検証鍵を取得し得る。
【0015】
[0016] いくつかの実装では、復号情報は、ストレージロケーションにおけるコンフィギュレータ鍵パッケージのロケーションアドレス、パスフレーズ(passphrase)、およびコンフィギュレータ鍵パッケージの少なくとも一部分を復号するために使用可能な暗号鍵からなるグループ構成から選択される少なくとも1つのメンバを含む。
【0016】
[0017] いくつかの実装では、復号情報を提供することは、第1のコンフィギュレータデバイスのディスプレイ、スピーカ、光信号、センサインターフェース、および短距離無線周波数インターフェース、からなるグループから選択される少なくとも1つのメンバを使用して復号情報を提供することを含む。
【0017】
[0018] いくつかの実装では、第1のコンフィギュレータデバイスは、復号情報が符号化されているイメージを表示することによって、復号情報を提供し得る。
【0018】
[0019] いくつかの実装では、イメージは、バーコードまたはクイックレスポンス(QR)コードイメージである。
【0019】
[0020] いくつかの実装では、コンフィギュレータ秘密署名鍵およびコンフィギュレータ公開検証鍵は、第1のネットワークの複数のコンフィギュレータ間で共有される。複数のコンフィギュレータの各々は、第1のネットワーク用のエンローリデバイスを構成するために、デバイスプロビジョニングプロトコルに従ってコンフィギュレータ秘密署名鍵およびコンフィギュレータ公開検証鍵を使用することが可能であり得る。
【0020】
[0021] 本開示で説明される主題の別の革新的な態様は、第2のコンフィギュレータデバイスに実装され得る。第2のコンフィギュレータデバイスは、ストレージロケーションから、コンフィギュレータ鍵パッケージを取得し得る。コンフィギュレータ鍵パッケージの少なくとも一部分は暗号化され得、コンフィギュレータ鍵パッケージは、第1のコンフィギュレータデバイスに関連付けられた、少なくともコンフィギュレータ秘密署名鍵およびコンフィギュレータ公開検証鍵を含み得る。第2のコンフィギュレータデバイスは、コンフィギュレータ鍵パッケージの少なくとも一部分を復号し得る。第2のコンフィギュレータデバイスは、コンフィギュレータ鍵パッケージからコンフィギュレータ秘密署名鍵を取得し得る。第2のコンフィギュレータデバイスは、デバイスプロビジョニングプロトコルに従って、コンフィギュレータ秘密署名鍵を利用して、ネットワーク用にエンローリデバイスをプロビジョニングし得る。
【0021】
[0022] いくつかの実装では、第2のコンフィギュレータデバイスは、第1のコンフィギュレータデバイスから復号情報を取得し得る。復号情報は、第2のコンフィギュレータデバイスがコンフィギュレータ鍵パッケージの少なくとも一部分を復号することを可能にし得る。
【0022】
[0023] いくつかの実装では、第2のコンフィギュレータデバイスは、第1のコンフィギュレータデバイスのディスプレイ、スピーカ、光信号、センサインターフェース、および短距離無線周波数インターフェース、からなるグループから選択される少なくとも1つのメンバを使用して復号情報を取得し得る。
【0023】
[0024] いくつかの実装では、第2のコンフィギュレータデバイスは、第2のコンフィギュレータデバイスに関連付けられたカメラを介して、復号情報が符号化されているイメージを取得し得る。第2のコンフィギュレータデバイスは、復号情報を検索するためにイメージを復号し得る。
【0024】
[0025] 本開示で説明されている主題の別の革新的な態様が、方法に実装され得る。方法は、ネットワークの第1のコンフィギュレータデバイスによって行われ得、第1のコンフィギュレータデバイスに関連付けられた少なくともコンフィギュレータ秘密署名鍵を含む、コンフィギュレータ鍵パッケージを生成することを含み得る。方法は、コンフィギュレータ鍵パッケージの少なくとも一部分を暗号化することを含み得る。方法は、第1のコンフィギュレータデバイスは、第1のコンフィギュレータデバイスまたは第2のコンフィギュレータデバイスによる後のリストアのためのバックアップとして、ストレージロケーションにコンフィギュレータ鍵パッケージを記憶することを含み得る。
【0025】
[0026] いくつかの実装では、コンフィギュレータ鍵パッケージは、コンフィギュレータ秘密署名鍵に関連付けられるコンフィギュレータ公開検証鍵をさらに含み得る。
【0026】
[0027] いくつかの実装では、コンフィギュレータ鍵パッケージの少なくとも一部分を暗号化することは、コンフィギュレータ秘密署名鍵とは異なる暗号鍵を使用してコンフィギュレータ鍵パッケージを暗号化することを含み得る。
【0027】
[0028] いくつかの実装では、コンフィギュレータ鍵パッケージの少なくとも一部分を暗号化することは、秘密鍵暗号化技法を使用してコンフィギュレータ秘密署名鍵を暗号化することを含み得、コンフィギュレータ鍵パッケージのヘッダ中に秘密鍵暗号化技法のインジケーションを含める。
【0028】
[0029] いくつかの実装では、コンフィギュレータ鍵パッケージを記憶することは、コンフィギュレータ鍵パッケージと復号情報とを含むデジタルエンベロープを生成することを含み得、復号情報は、第2のコンフィギュレータデバイスがコンフィギュレータ鍵パッケージの少なくとも一部分を復号することを可能にする。
【0029】
[0030] いくつかの実装では、ストレージロケーションは、第1のコンフィギュレータデバイスのメモリ、ネットワーク共有ロケーション、パーソナルコンピュータ、ホームサーバ、クラウドベースのストレージサービス、およびワイヤレスネットワークのアクセスポイント(AP)、からなるグループから選択される少なくとも1つのメンバであり得る。
【0030】
[0031] いくつかの実装では、コンフィギュレータ鍵パッケージを記憶することは、コンフィギュレータ鍵パッケージのバックアップを記憶することを含み得る。方法は、第1のコンフィギュレータデバイスによって、ストレージロケーションからコンフィギュレータ鍵パッケージのバックアップを検索することを含み得る。方法は、コンフィギュレータ鍵パッケージの少なくとも一部分を復号することを含み得る。方法は、コンフィギュレータ鍵パッケージからコンフィギュレータ秘密署名鍵を取得することを含み得る。
【0031】
[0032] いくつかの実装では、方法は、コンフィギュレータ鍵パッケージから取得されたコンフィギュレータ秘密署名鍵に少なくとも部分的に基づいて、コンフィギュレータ公開検証鍵を決定することを含み得る。
【0032】
[0033] いくつかの実装では、方法は、ストレージロケーションにおけるコンフィギュレータ鍵パッケージのロケーションアドレスを決定することを含み得る。方法は、第2のコンフィギュレータデバイスにロケーションアドレスを提供することを含み得る。
【0033】
[0034] いくつかの実装では、方法は、第2のコンフィギュレータデバイスに復号情報を提供することを含み得、復号情報は、第2のコンフィギュレータデバイスがコンフィギュレータ鍵パッケージの少なくとも一部分を復号することと、コンフィギュレータ秘密署名鍵を取得することとを可能にする。
【0034】
[0035] いくつかの実装では、復号情報は、ストレージロケーションにおけるコンフィギュレータ鍵パッケージのロケーションアドレスと、コンフィギュレータ鍵パッケージの少なくとも一部分を復号するために使用可能な暗号鍵と、からなるグループから選択される少なくとも1つのメンバを含み得る。
【0035】
[0036] いくつかの実装では、復号情報を提供することは、第1のコンフィギュレータデバイスのディスプレイ、スピーカ、光信号、センサインターフェース、および短距離無線周波数インターフェース、からなるグループから選択される少なくとも1つのメンバを使用して復号情報を提供することを含み得る。
【0036】
[0037] いくつかの実装では、復号情報を提供することは、復号情報が符号化されているイメージを表示することを含み得る。
【0037】
[0038] いくつかの実装では、イメージは、バーコードまたはクイックレスポンス(QR)コードイメージであり得る。
【0038】
[0039] いくつかの実装では、コンフィギュレータ公開検証鍵は、コンフィギュレータ秘密署名鍵から導出されるか、またはコンフィギュレータ鍵パッケージから取得され得る。コンフィギュレータ秘密署名鍵およびコンフィギュレータ公開検証鍵は、第1のネットワークの複数のコンフィギュレータ間で共有され得る。複数のコンフィギュレータの各々は、第1のネットワーク用にエンローリデバイスを構成するために、デバイスプロビジョニングプロトコルに従ってコンフィギュレータ秘密署名鍵およびコンフィギュレータ公開検証鍵を使用することが可能であり得る。
【0039】
[0040] 本開示で説明されている主題の別の革新的な態様が、プロセッサと、命令を記憶したメモリとを含む、第1のコンフィギュレータデバイスに実装されることができる。命令は、プロセッサによって実行されると、第1のコンフィギュレータデバイスに、第1のコンフィギュレータデバイスに関連付けられた少なくともコンフィギュレータ秘密署名鍵を含む、コンフィギュレータ鍵パッケージを生成させ得る。命令は、プロセッサによって実行されると、第1のコンフィギュレータデバイスに、コンフィギュレータ鍵パッケージの少なくとも一部分を暗号化することと、第1のコンフィギュレータデバイスまたは第2のコンフィギュレータデバイスによる後のリストアのためのバックアップとして、ストレージロケーションにコンフィギュレータ鍵パッケージを記憶することと、を行わせ得る。
【0040】
[0041] いくつかの実装では、命令は、プロセッサによって実行されると、第1のコンフィギュレータデバイスに、コンフィギュレータ秘密署名鍵とは異なる暗号化を使用してコンフィギュレータ鍵パッケージを暗号化することを行わせ得る。
【0041】
[0042] いくつかの実装では、命令は、プロセッサによって実行されると、第1のコンフィギュレータデバイスに、秘密鍵暗号化技法を使用してコンフィギュレータ秘密署名鍵を暗号化することと、コンフィギュレータ鍵パッケージのヘッダ中に秘密鍵暗号化技法のインジケーションを含めることと、を行わせ得る。
【0042】
[0043] いくつかの実装では、命令は、プロセッサによって実行されると、第1のコンフィギュレータデバイスに、コンフィギュレータ鍵パッケージと復号情報とを含むデジタルエンベロープを生成することを行わせ、復号情報は、第2のコンフィギュレータデバイスがコンフィギュレータ鍵パッケージの少なくとも一部分を復号することを可能にする。
【0043】
[0044] いくつかの実装では、コンフィギュレータ鍵パッケージを記憶するための命令は、コンフィギュレータ鍵パッケージのバックアップを記憶するための命令を含む。命令は、プロセッサによって実行されると、第1のコンフィギュレータデバイスに、ストレージロケーションからコンフィギュレータ鍵パッケージのバックアップを検索することと、コンフィギュレータ鍵パッケージの少なくとも一部分を復号することと、コンフィギュレータ鍵パッケージからコンフィギュレータ秘密署名鍵を取得することと、を行わせる。
【0044】
[0045] いくつかの実装では、命令は、プロセッサによって実行されると、第1のコンフィギュレータデバイスに、ストレージロケーションにおけるコンフィギュレータ鍵パッケージのロケーションアドレスを決定することと、第2のコンフィギュレータデバイスにロケーションアドレスを提供することと、を行わせ得る。
【0045】
[0046] いくつかの実装では、命令は、プロセッサによって実行されると、第1のコンフィギュレータデバイスに、第2のコンフィギュレータデバイスに復号情報を提供することを行わせ得、復号情報は、第2のコンフィギュレータデバイスがコンフィギュレータ鍵パッケージの少なくとも一部分を復号することと、コンフィギュレータ秘密署名鍵を取得することとを可能にする。
【0046】
[0047] いくつかの実装では、復号情報は、ストレージロケーションにおけるコンフィギュレータ鍵パッケージのロケーションアドレスと、コンフィギュレータ鍵パッケージの少なくとも一部分を復号するために使用可能な暗号鍵と、からなるグループから選択される少なくとも1つのメンバを含み得る。
【0047】
[0048] いくつかの実装では、命令は、プロセッサによって実行されると、第1のコンフィギュレータデバイスに、第1のコンフィギュレータデバイスのディスプレイ、スピーカ、光信号、センサインターフェース、および短距離無線周波数インターフェース、からなるグループから選択される少なくとも1つのメンバを使用して復号情報を提供することを行わせ得る。
【0048】
[0049]本開示で説明されている主題の別の革新的な態様は、命令を記憶するコンピュータ可読媒体に実装され得、命令は、第1のコンフィギュレータデバイスのプロセッサによって実行されると、第1のコンフィギュレータデバイスに、第1のコンフィギュレータデバイスに関連付けられた少なくともコンフィギュレータ秘密署名鍵を含む、コンフィギュレータ鍵パッケージを生成させ得る。命令は、第1のコンフィギュレータデバイスのプロセッサによって実行されると、コンフィギュレータ鍵パッケージの少なくとも一部分を暗号化することと、第1のコンフィギュレータデバイスまたは第2のコンフィギュレータデバイスによる後の検索のために、ストレージロケーションにおいてコンフィギュレータ鍵パッケージを記憶することと、を行わせ得る。
【0049】
[0050] 本開示で説明される主題の別の革新的な態様は、第2のコンフィギュレータデバイスによって行われる方法に実装され得る。方法は、第2のコンフィギュレータデバイスにおいて、ストレージロケーションからコンフィギュレータ鍵パッケージを取得することと、ここにおいて、コンフィギュレータ鍵パッケージの少なくとも一部分は暗号化され、コンフィギュレータ鍵パッケージは、第1のコンフィギュレータデバイスに関連付けられた少なくともコンフィギュレータ秘密署名鍵を含み得る。方法は、コンフィギュレータ鍵パッケージの少なくとも部分を復号することと、コンフィギュレータ鍵パッケージからコンフィギュレータ秘密署名鍵を取得することと、デバイスプロビジョニングプロトコルに従って、コンフィギュレータ秘密署名鍵を利用して、ネットワーク用にエンローリデバイスをプロビジョニングすることと、を含み得る。
【0050】
[0051] いくつかの実装では、方法は、第1のコンフィギュレータデバイスから復号情報を取得することを含み得、復号情報は、第2のコンフィギュレータデバイスがコンフィギュレータ鍵パッケージの少なくとも一部分を復号することを可能にする。
【0051】
[0052] いくつかの実装では、復号情報は、ストレージロケーションにおけるコンフィギュレータ鍵パッケージのロケーションアドレスと、コンフィギュレータ鍵パッケージの少なくとも一部分を復号するために使用可能な暗号鍵と、からなるグループから選択される少なくとも1つのメンバを含み得る。
【0052】
[0053] いくつかの実装では、復号情報を取得することは、第1のコンフィギュレータデバイスのディスプレイ、スピーカ、光信号、センサインターフェース、および短距離無線周波数インターフェース、からなるグループから選択される少なくとも1つのメンバを使用して復号情報を取得することを含み得る。
【0053】
[0054] いくつかの実装では、復号情報を取得することは、第2のコンフィギュレータデバイスに関連付けられたカメラを介して、復号情報が符号化されているイメージを取得することと、復号情報を検索するためにイメージを復号することと、を含み得る。
【0054】
[0055] 本開示で説明される主題の1つまたは複数の実装の詳細が、添付の図面および以下の説明に記載されている。他の特徴、様態、および利点が、説明、図面、および特許請求の範囲から明らかになるだろう。下記の図面の相対的な寸法は、原寸通りに描かれていない可能性があることに留意されたい。
【図面の簡単な説明】
【0055】
【
図1】
図1は、複数のコンフィギュレータを有するデバイスプロビジョニングプロトコルの概念を紹介するための例示的なシステム図を示す。
【
図2】
図2は、デバイスプロビジョニングプロトコルの例示的なメッセージフロー図を示す。
【
図3】
図3は、コンフィギュレータ鍵を記憶する第1のコンフィギュレータデバイスに関する例示的なフローチャートを示す。
【
図4】
図4は、第1のコンフィギュレータデバイスによるコンフィギュレータ鍵のリストアおよびバックアップを説明するための、例示的なシステム図を示す。
【
図5】
図5は、第1のコンフィギュレータデバイスから第2のコンフィギュレータデバイスへのコンフィギュレータ鍵を共有することを説明するための例示的なシステム図を示す。
【
図6】
図6は、複数のコンフィギュレータを有するデバイスプロビジョニングプロトコルの例示的なメッセージフロー図を示す。
【
図7】
図7は、第1のコンフィギュレータデバイスを動作させるための例示的なフローチャートを示す。
【
図8】
図8は、第2のコンフィギュレータデバイスを動作させるための例示的なフローチャートを示す。
【
図9】
図9は、コンフィギュレータ鍵をバックアップおよびリストアするためにコンフィギュレータデバイスを動作させるための例示的なフローチャートを示す。
【
図10】
図10は、本開示の態様を実装するための例示的な電子デバイスのブロック図を示す。
【0056】
[0066] 様々な図面における同様の参照番号および呼称は、同様の要素を示す。
【0057】
[0067] 下記の説明は、本開示の革新的な態様を説明することを目的として、ある特定の実装を対象としている。しかしながら、当業者は、本明細書における教示が多数の異なる方法で適用される得ることを容易に認識するだろう。説明される実装は、米国電気電子学会(IEEE)16.11規格のうちの任意のもの、またはIEEE802.11規格のうちの任意のもの、Bluetooth(登録商標)規格、符号分割多元接続(CDMA)、周波数分割多元接続(FDMA)、時分割多元接続(TDMA)、モバイル通信のためのグローバルシステム(GSM(登録商標))、GSM/汎用パケット無線サービス(GPRS)、エンハンストデータGSM環境(EDGE)、地上基盤無線(TETRA)、ワイドバンドCDMA(W−CDMA(登録商標))、エボリューションデータオプティマイズド(EV−DO)、1xEV−DO、EV−DO Rev A、EV−DO Rev B、高速パケットアクセス(HSPA)、高速ダウンリンクパケットアクセス(HSDPA)、高速アップリンクパケットアクセス(HSUPA)、発展型高速パケットアクセス(HSPA+)、ロングタームエボリューション(LTE(登録商標))、AMPSにしたがう無線周波数(RF)信号、あるいは、3G、4G、または5G、もしくはそれらのさらなる実装の技術を利用するシステムのようなワイヤレス、セルラまたはモノのインターネット(IOT)ネットワーク内で通信するために使用される他の知られている信号を送信および受信することが可能な任意のデバイス、システムまたはネットワークにおいて実装され得る。
【0058】
[0068] 上述されたように、デバイスプロビジョニングプロトコル(Wi−FiデバイスプロビジョニングプロトコルなどのDPP)は、ネットワークに導入されるエンローリデバイスの構成を容易にし得る。例えば、DPPは、エンローリデバイスとコンフィギュレータデバイスとの間の認証および認証キー確立を提供し得る。いくつかの実装では、DPPは、認証プロトコルに通常使用されるよりも少ないメッセージを使用する。例えば、DPP認証プロトコルは、第1の認証のために、およびさらなるプロビジョニングの前にエフェメラルプロトコル鍵(ephemeral protocol key)を生成するために、「ブートストラップされた(bootstrapped)」公開鍵を使用し得る。ブートストラッピング(bootstrapping)は、公開鍵を取得するための信頼された帯域外技法の使用を指す。帯域外技法は、(複数の)デバイスの近接性に基づいた信頼の度合いを提供する。例えば、ブートストラッピングは、第2のデバイスに表示される(または、第2のデバイスに付加される)イメージをスキャンおよび復号(decode)するために、第1のデバイス上のカメラの使用を含む。
【0059】
[0069] DPPでは、コンフィギュレータデバイスは、エンローリのセットアップをサポートすることを担う。通常、ブートストラッピング鍵は、コンフィギュレータデバイスと新規のエンローリとの間の第1の認証のために使用され得る。その認証が完了した後、コンフィギュレータデバイスは、ネットワークを介して通信するためにエンローリをプロビジョニングし得る。プロビジョニングの一部として、コンフィギュレータデバイスは、エンローリがネットワーク中の他のピアとセキュアなアソシエーションを確立することを可能にする。コンフィギュレータ鍵は、「コネクタ」(「構成オブジェクト」とも呼ばれ得る)を生成するために、コンフィギュレータデバイスによって使用される。コネクタは、エンローリの構成を搬送し、かつエンローリデバイスとピアデバイス(アクセスポイントまたはピア・ツー・ピアの隣接機器など)との間の接続を許可する(authorize)。コンフィギュレータ鍵は、コンフィギュレータ秘密署名鍵(「c−sign−key」とも呼ばれ得る)と、コンフィギュレータ公開検証鍵(「C−sign−key」とも呼ばれ得る)とで構成されている署名鍵ペアを含む。コンフィギュレータ秘密署名鍵(c−sign−key)は、コネクタに署名するコンフィギュレータによって使用され、一方コンフィギュレータ公開検証鍵(C−sign−key)は、同じコンフィギュレータによって署名される他のデバイスのコネクタを検証するプロビジョニングされたデバイスによって使用される。以下でさらに説明されるように、コンフィギュレータ鍵は、数学的に対応しており、コンフィギュレータデバイスによって署名されたメッセージの信頼性を検証するために使用され得る。各コネクタは、コンフィギュレータデバイスのコンフィギュレータ秘密署名鍵を使用して署名され得る。コンフィギュレータデバイスは、コンフィギュレータデバイスが構成する各エンローリに対し1つまたは複数のコネクタを作成し得る。コネクタがコンフィギュレータデバイスのコンフィギュレータ秘密署名鍵を使用して署名された後、コネクタは、ネットワーク中の任意のピアによって検証され得る。例えば、コンフィギュレータ公開検証鍵は、コンフィギュレータ秘密署名鍵を使用して署名されたコネクタの信頼性を検証するために使用され得る。コンフィギュレータ鍵はデバイスプロビジョニングプロトコルの基本的態様であり得るため、コンフィギュレータ鍵がバックアップとしてセキュアに記憶され得るか、別のコンフィギュレータデバイスと共有され得る状況が存在し得る。
【0060】
[0070] 一態様では、コンフィギュレータデバイスは、コンフィギュレータ鍵のセキュアなバックアップとしてコンフィギュレータ鍵パッケージを準備し得る。コンフィギュレータ鍵パッケージは、後のリストアのためのバックアップとして記憶され得る。例えば、コンフィギュレータ鍵パッケージは、コンフィギュレータデバイスおよびもしかすると他のコンフィグレーションデバイスによってアクセス可能なロケーションにエクスポートされ得る。別の態様では、複数のコンフィギュレータデバイスは、同じ(複数の)コンフィギュレータ鍵を共有することができる。例えば、コンフィギュレータ鍵は、第2のコンフィギュレータデバイスが当該コンフィギュレータ鍵を使用することができるように、第2のコンフィギュレータデバイスと共有され得る。仮説的シナリオとして、二人のルームメイトが住居を共有しており、ゲストエンローリデバイスを構成するように各ルームメイトがコンフィギュレータデバイス(彼ら個人の携帯電話など)を動作する例が考えられる。本開示で説明される実装は、(複数の)コンフィギュレータ鍵が複数のコンフィギュレータデバイスによって使用されることができるように、デバイスプロビジョニングプロトコルを拡張する。
【0061】
[0071] 第1のコンフィギュレータデバイスは、当該第1のコンフィギュレータデバイスに関連付けられた少なくとも1つのコンフィギュレータ秘密署名鍵を含む、1つのコンフィギュレータ鍵パッケージを生成し得る。コンフィギュレータ鍵パッケージはまた、コンフィギュレータ秘密署名鍵に関連付けられたコンフィギュレータ公開検証鍵を含み得る。第1のコンフィギュレータデバイスは、コンフィギュレータ鍵パッケージの少なくとも一部分を暗号化し、そして第1のコンフィギュレータデバイスまたは第2のコンフィギュレータデバイスによる後の検索のために、ストレージロケーションにコンフィギュレータ鍵パッケージを記憶することができる。コンフィギュレータ鍵パッケージは、第1のコンフィギュレータデバイスから第2のコンフィギュレータデバイスに共有されることができる暗号鍵を使用して暗号化され得る。いくつかの実装では、デバイスプロビジョニングプロトコルは、エンローリデバイスの公開ブートストラップ鍵を取得するためにブートストラッピングを使用する。同様のブートストラッピング技法は、コンフィギュレータデバイス間の暗号鍵を共有するために使用され得る。ブートストラッピングは、帯域外技法がピアデバイスとの近接性または物理的アソシエーションを伴うため、暗号鍵における信頼を提供する。
【0062】
[0072] 本開示で説明される主題の特定の実装は、下記の潜在的な利点のうちの1つまたは複数を実現するように実装され得る。本開示における実装を使用して、デバイスプロビジョニングプロトコルは、コンフィギュレータ鍵のバックアップ/リストアまたはエクスポート/インポートをサポートし得る。いくつかの実装では、デバイスプロビジョニングプロトコルは、1つのネットワークのために複数のコンフィギュレータデバイスを有することで恩恵を受け得る。複数のコンフィギュレータデバイスは、同じ共有された(複数の)コンフィギュレータ鍵を使用することができ、それらはネットワークのために構成されたピア間の互換性を改善し得る。例えば、どのコンフィギュレータデバイスが当該ネットワーク用にエンローリデバイスを構成したかにかかわらず、コネクタは、同じコンフィギュレータ鍵を使用して署名および検証され得る。本開示におけるコンフィギュレータ鍵を共有するための技法は、各コンフィギュレータデバイスに対する異なるコンフィギュレータ鍵に依存するアプローチと比較すると、より多くのコンフィギュレータデバイスをデバイスプロビジョニングプロトコルに追加するためのスケーラブルかつ複雑性の低いアプローチを提供し得る。コンフィギュレータ鍵を記憶または共有するためのセキュアなストレージフォーマットを定義することによって、デバイスプロビジョニングプロトコルは、コンフィギュレータデバイス間で高まる相互運用性からの恩恵を受ける。
【0063】
[0073]
図1は、複数のコンフィギュレータを有するデバイスプロビジョニングプロトコルの概念を紹介するための例示的なシステム図を示す。例示的なシステム100は、第1のコンフィギュレータデバイス110、第2のコンフィギュレータデバイス120、およびエンローリデバイス150Aおよび150Bを含む。エンローリデバイスは、第1のコンフィギュレータデバイス110または第2のコンフィギュレータデバイス120のいずれかによって管理されるネットワーク中で使用するために未だ構成されていないデバイスの任意のタイプであり得る。第1のコンフィギュレータデバイス110は、コンフィギュレータ秘密署名鍵およびコンフィギュレータ公開検証鍵を含む一対のコンフィギュレータ鍵を有し得る。コンフィギュレータ秘密署名鍵は、デジタルで署名されたメッセージを作成するために使用され得る。コンフィギュレータ公開検証鍵は、デジタルで署名されたメッセージがコンフィギュレータ秘密署名鍵を使用して署名されたことを検証するために使用され得る。
【0064】
[0074]
図1で示されるように、第1のコンフィギュレータデバイス110は、ネットワーク中での使用のためにエンローリデバイス150Aを構成するようにデバイスプロビジョニングプロトコルを実施し得る(矢印158として示される)。複数のコンフィギュレータデバイスとともにデバイスプロビジョニングプロトコルを使用するために、第1のコンフィギュレータデバイス110は、その一対のコンフィギュレータ鍵を、第2のコンフィギュレータデバイス120と共有する(矢印152として示される)。以下でさらに説明されるように、コンフィギュレータ鍵は、第2のコンフィギュレータデバイス120に直接送信され得ない。むしろ、第1のコンフィギュレータデバイス110がコンフィギュレータ鍵パッケージを生成し得る。コンフィギュレータ鍵パッケージのいくつかまたは全てのコンテンツは、暗号鍵を使用して暗号化され得る。コンフィギュレータ鍵パッケージは、第2のコンフィギュレータデバイス120によってアクセス可能なネットワーク中のロケーションにエクスポートされ得る。いくつかの実装では、第1のコンフィギュレータデバイス110は、第2のコンフィギュレータデバイス120がコンフィギュレータ鍵パッケージを取得および復号することができるように、第2のコンフィギュレータデバイス120に復号情報を提供し得る。例えば、復号情報は、コンフィギュレータ鍵パッケージが記憶されるロケーションアドレスを含み得る。いくつかの実装では、復号情報は、暗号鍵を含み得る。復号情報は、エンローリデバイスの公開ブートストラップ鍵を取得するためにコンフィギュレータデバイスによって使用される同様のブートストラッピング技法を使用して提供され得る。ブートストラッピング技法は、
図2の説明においてより詳細に説明される。いくつかの他の実装では、復号情報は、コンフィギュレータ鍵パッケージを復号するために、第2のコンフィギュレータデバイス120にマニュアルで入力され得るパスフレーズまたは他の情報を含み得る。
【0065】
[0075] 一旦第2のコンフィギュレータデバイス120が復号情報およびコンフィギュレータ鍵パッケージを取得すると、第2のコンフィギュレータデバイス120は、(暗号鍵などを使用して)コンフィギュレータ鍵パッケージを復号し、コンフィギュレータ鍵を検索することができる。第2のコンフィギュレータデバイス120は、コンフィギュレータ鍵を記憶し、他のエンローリデバイスを構成するとき、共有されたコンフィギュレータ鍵を使用することができる。例えば、第2のコンフィギュレータデバイス120は、エンローリデバイス150Bを構成するために、デバイスプロビジョニングプロトコルを実施し得る(矢印154として示される)。エンローリデバイス150Aおよび150Bが異なるコンフィギュレータデバイスで構成されたとしても、エンローリデバイス150Aおよび150Bの各々は、(これらがネットワークを介して通信することを許可する)署名されたコネクタを、同じコンフィギュレータ公開検証鍵を使用して検証し得る。
【0066】
[0076]
図2は、デバイスプロビジョニングプロトコルの例示的なメッセージフロー図を示す。
図2のDPP200は、一対のデバイス、エンローリデバイス250とコンフィギュレータデバイス210との間のものである。DPP200は、ブートストラッピング技法、DPP認証、およびDPP構成の3つのオペレーションを含む。DPP認証は、(下記でさらに説明されるもののような)ブートストラッピング技法を通じて取得されている認証パーティのブートストラッピング鍵(authenticating party’s bootstrapping key)に依存する。
【0067】
[0077] ブートストラッピングは、別のデバイスから共有鍵を取得するための帯域外技法を指す。エンローリデバイス250およびコンフィギュレータデバイス210の各々は、初期認証に関しておよび一時的プロビジョニング鍵(temporary provisioning key)を生成することに関して信頼された公開ブートストラップ鍵(「公開アイデンティティ鍵」と呼ばれることもある)を有し得る。ブートストラッピングは、公開ブートストラップ鍵を共有するために使用され得る様々な技法のうちの1つである。例えば、ブートストラッピングは、公開ブートストラップ鍵を符号化するクイックレスポンス(登録商標)(QR)コードをスキャンすることを含み得る。認証のこの形式に関するサポートは、ユーザインターフェースを欠いているある特定のデバイス(IOTデバイス、ウェアラブルアクセサリ、ホームオートメーションデバイスなど)が、コンフィギュレータデバイスを用いて認証されることを可能にする。
【0068】
[0078] 205において、コンフィギュレータデバイス210は、エンローリデバイス250からエンローリブートストラッピングデータを取得し得る。例えば、エンローリデバイス250は、それにプリントされた(またはパッケージング上にプリントされた、またはパッケージングに挿入された)ビジュアルタグを有し得る。そのビジュアルタグは、バーコード、マトリックスコード、二次元コードなどであり得る。バーコードの一般的な例は、QRコード(登録商標)であり得る。コンフィギュレータデバイス210は、カメラおよび対応するソフトウェアを使用してバーコード(または同様のビジュアルタグ)を検出し得る。コンフィギュレータデバイス210は、そのバーコードを復号することによって、エンローリブートストラッピングデータを取得し得る。1つの実施形態では、エンローリブートストラッピングデータは、エンローリデバイス250のための公開ブートストラップ鍵を含み得る。公開ブートストラップ鍵に加えて、他の情報もまた、エンローリブートストラッピングデータに含まれ得る。例えば、エンローリブートストラッピングデータは、公開ブートストラップ鍵、並びに、グローバルオペレーティングクラス(Global Operating Class)およびチャネルナンバリスト(Channel Number list)を含み得る。グローバルオペレーティングクラスおよびチャネルナンバリストは、どの無線パラメータまたはどの(1つまたは複数の)ワイヤレスチャネルを、エンローリデバイス250がDPP認証のために使用するかを決定するために使用され得る。例えば、グローバルオペレーティングクラスおよびチャネルナンバリストは、共に(together)、エンローリデバイス250がDPP認証リクエストメッセージをリッスンする(または送る)ワイヤレスチャネルはどれであるかを示し得る。207において、いくつかの実装では、エンローリデバイス250はまた、コンフィギュレータデバイス210からコンフィギュレータブートストラッピングデータを取得し得る。両方のパーティが互いのブートストラッピングデータを取得したとき、DPP認証は、相互の双方向性認証を利用することができる。
【0069】
[0079]
図2で示されるブートストラッピングデータ技法に加えて、様々な他のブートストラッピング技法が使用され得る。ブートストラッピング技法は、ブートストラッピングデータが特定のデバイスに属することを受信側が信頼することを可能にする。
図1で説明されるように、(QRコードなどの)2次元マトリックスコードをスキャンすることは、ブートストラッピングデータを取得するための1つの技法である。バーコードをスキャンすることの代替として、コンフィギュレータデバイス210が近隣認識ネットワーキング(NAN:Neighbor-Aware Networking)(図示せず)を使用し得る。NANは、デバイス間のアソシエーションを用いることなく、ワイヤレス媒体上で発見能力およびサービス情報交換を提供する。別のブートストラッピング技法は、転送されたコンテンツのインテグリティのためにある一定の信頼性を提供することができる他の媒体上でブートストラッピングデータを転送するものである。例えば、いくつかの実装では、ブートストラッピングは、ユニバーサルシリアルバス(USB)、近距離通信(NFC)、または短距離無線通信(Bluetooth(登録商標)通信など)の使用を含み得る。さらに別のブートストラッピング技法は、共有されたコード/キー/フレーズ/ワード(以下、「コード」)を用いてブートストラッピングデータをマスクするものであり、ブートストラッピング鍵をアンマスクするための共有されたコードの知識に依存する。ピアが、共有されたコードを知っておりかつそれを使用することができると証明することが可能な場合、そのピアのブートストラッピングデータは信頼され得る。
【0070】
[0080] DPP認証段階は、コンフィギュレータおよびエンローリを強固に認証するために、ブートストラッピング技法を使用して取得されたブートストラッピングデータを使用する。DPP認証段階は、3つのメッセージ交換からなり、共有秘密鍵および認証鍵を生成する。215において、コンフィギュレータデバイス210は、第1のナンス(nonce)を生成し、プロトコル鍵ペアを生成し、エンローリ公開ブートストラップ鍵のハッシュ関数を実行し、ハッシュされたブートストラップデータから導出される共有秘密に基づいて第1の対称鍵(symmetric key)を生成する。コンフィギュレータデバイス210は、チャネルリスト中の1つまたは複数のチャネルを介して、DPP認証リクエストメッセージ217を送る。DPP認証リクエストメッセージ217は、共有秘密、および第1の対称鍵によって暗号化された第1のノンスを含み得る。
【0071】
[0081] エンローリデバイス250は、DPP認証リクエストメッセージ217を受信する。225において、エンローリデバイス250は、その公開ブートストラップ鍵のハッシュがメッセージ中にあるかどうかをチェックする。その公開ブートストラップ鍵のハッシュがメッセージ中にある場合、エンローリデバイス250は、共有秘密を生成し、第1の対称鍵を導出する。エンローリデバイス250は、第1の対称鍵を使用して第1のノンスをアンラップ(unwrap)しようと試みる。次に、エンローリデバイス250は、第2のノンス、共有秘密、および第2の対称鍵を生成する。エンローリデバイス250は、2つのノンスとその能力を第1の対称鍵中にラップ(wrap)し、認証タグを第2の対称鍵にラップする。エンローリデバイス250は次いで、そのパブリックブートストラッピング鍵のハッシュ(および、オプションで、それが相互認証を行う場合、コンフィギュレータ公開ブートストラッピング鍵のハッシュを含む)、その公開プロトコル鍵、ラップされたノンスおよびそのラップされたネットワーク公開鍵、およびラップされた認証タグを、DPP認証応答メッセージ227に置く。DPP認証応答メッセージ227は、コンフィギュレータデバイス210に送信される。
【0072】
[0082] 応答を成功裏に受信した後、コンフィギュレータデバイス210は、235において、結果を確証し(validate)、DPP認証段階を完了させるために、DPP認証確認メッセージ237を送信する。これらのフレーム交換が成功裏に完了した後、イニシエータ/コンフィギュレータとレスポンダ/エンローリとの間のセキュアチャネルが、245において確立される。
【0073】
[0083] DPP認証が完了した後、コンフィギュレータデバイス210は、デバイス・ツー・デバイス通信またはインフラストラクチャ通信のために、エンローリデバイス250をプロビジョニングする。プロビジョニングの一部として、コンフィギュレータデバイス210は、エンローリデバイス250がネットワーク中の他のピアとセキュアなアソシエーションを確立することを可能にする。
エンローリデバイス250は、DPP構成リクエストメッセージ263を送信することによって構成段階を開始し、DPP構成応答メッセージ267中の構成情報を用いてプロビジョニングされる。DPP構成応答メッセージ267を成功裏に受信した後、エンローリデバイス250は、ネットワークへのセキュアアクセスを確立するために使用可能な構成情報を用いてプロビジョニングされる。
【0074】
[0084] いくつかの実装では、コンフィギュレータデバイス210はまた、ワイヤレスローカルエリアネットワーク(WLAN)のアクセスポイントであり得る。代替的に、コンフィギュレータデバイス210は、アクセスポイントから離されていることがある。例えば、コンフィギュレータデバイス210によって提供された構成情報は、アクセスポイント280とのセキュアなワイヤレス接続を確立するために、エンローリデバイス250によって使用され得る。別の態様では、コンフィギュレータデバイス210は、ピア・ツー・ピア(P2P)グループオーナーまたはP2Pグループメンバであり得る。
【0075】
[0085] DPP構成段階の終わりに、コンフィギュレータデバイス210は、コネクタを形成し得る(矢印277によって表される)。コネクタは、ネットワーク上の他のデバイスがエンローリデバイス250と通信するために許可されたという、信頼されたステートメントを、エンローリデバイス250が獲得することを可能にする、署名された導入部(introduction)である。各コネクタは、グループ識別子、ネットワークロール、およびネットワークアクセスプロビジョニングキーのタプル(tuple)を含み得、全てがコンフィギュレータデバイスのコンフィギュレータ秘密署名鍵を使用して署名される。識別子は、特定のピア、あるいは、全てのピアを示すワイルドカードを示すことができる。上述されるように、コネクタは、コンフィギュレータデバイス210のコンフィギュレータ秘密署名鍵(c−sign−key)によって署名され、コンフィギュレータデバイス210のコンフィギュレータ公開検証鍵(C−sign−key)を使用して検証され得る。
【0076】
[0086]コンフィギュレータデバイス210がアクセスポイント280から離れている場合、エンローリデバイス250は、アクセスポイント280とのワイヤレスアソシエーション287のための信用証明(credentials)として、コネクタおよび構成情報を使用することができる。エンローリデバイス250は、アクセスポイント280を発見し、ピア発見リクエストフレーム(図示せず)を送信し、次いで、ピア発見リクエストフレーム(図示せず)を待ち得る。ピア発見フレームの成功裏の検証(validation)の際に、エンローリデバイス250およびアクセスポイント280は、PMK(pairwise master key)を相互に導出し、通常のIEEE802.11プロシージャにしたがう。例えば、4−wayハンドシェイクプロシージャは、アクセスポイント280とのエンローリデバイス250の認証およびワイヤレスアソシエーションを完了させるために、エンローリデバイス250とアクセスポイント280との間で行われ得る。PMK(pairwise master key)は、後続のWPA(Wi-Fi(登録商標) Protected Access)ハンドシェイクおよび構成メッセージのために使用され得る。代替的に、アクセスポイント280がレガシアクセスポイントである場合、構成情報は、エンローリデバイス250がアクセスポイント280に接続することを可能にするために、PSK(pre-shared key)またはPSKパスフレーズ信用情報(passphrase credential)を含み得る。この実装では、エンローリデバイス250は、IEEE802.11およびWPA2パーソナルネットワークアクセスプロシージャを使用してAPを発見しかつAPとアソシエートするために、構成情報を使用するだろう。
【0077】
[0087]
図3は、コンフィギュレータ鍵を記憶する第1のコンフィギュレータデバイスに関する例示的なフローチャートを示す。フローチャート300は、ブロック310において開始する。ブロック310において、第1のコンフィギュレータデバイスは、少なくとも、第1のコンフィギュレータデバイスに関連付けられたコンフィギュレータ秘密署名鍵を含む、コンフィギュレータ鍵パッケージを生成し得る。いくつかの実装では、コンフィギュレータ鍵パッケージはコンフィギュレータ秘密署名鍵およびコンフィギュレータ公開検証鍵の両方を含み得る。
【0078】
[0088] ブロック320において、第1のコンフィギュレータデバイスは、コンフィギュレータ鍵パッケージの少なくとも一部分を暗号化し得る。例えば、コンフィギュレータ鍵パッケージは、コンフィギュレータ秘密署名鍵とは異なる暗号鍵を使用して暗号化され得る。いくつかの実装では、第1のコンフィギュレータデバイスは、秘密鍵暗号化技法を使用してコンフィギュレータ秘密署名鍵(および、オプションで、コンフィギュレータ公開検証鍵)を暗号化し得る。いくつかの実装では、コンフィギュレータ鍵パッケージは、コンフィギュレータ鍵パッケージを準備するために使用されるストラクチャ、コンテンツ、または暗号化技法を記述するヘッダを含み得る。
【0079】
[0089] ブロック330において、第1のコンフィギュレータデバイスは、第1のコンフィギュレータデバイスまたは第2のコンフィギュレータデバイスによる後のリストアのために、バックアップとして、ストレージロケーションにコンフィギュレータ鍵パッケージを記憶し得る。例えば、ストレージロケーションは、第1のコンフィギュレータデバイスのメモリ、ネットワーク共有ロケーション、パーソナルコンピュータ、ホームサーバ、クラウドベースのストレージサービス、およびワイヤレスネットワークのアクセスポイント(AP)であり得る。
【0080】
[0090] コンフィギュレータ鍵パッケージが記憶された後、記憶されたコンフィギュレータ鍵パッケージを使用するための異なる方法が存在する。例えば、ブロック340において、第1のコンフィギュレータデバイスは、ストレージロケーションからコンフィギュレータ鍵パッケージのバックアップを検索し得る。第1のコンフィギュレータデバイスは、コンフィギュレータ鍵パッケージを復号し、コンフィギュレータ鍵パッケージからコンフィギュレータ秘密署名鍵を取得し得る。別の例では、ブロック350において、第1のコンフィギュレータデバイスは、第2のコンフィギュレータデバイスに復号情報を提供し得る。復号情報は、第1のコンフィギュレータデバイスによって暗号化されたコンフィギュレータ鍵パッケージの少なくとも一部分を、第2のコンフィギュレータデバイスが復号することを可能にし得る。第2のコンフィギュレータデバイスは、コンフィギュレータ鍵パッケージからコンフィギュレータ秘密署名鍵を取得し得る。コンフィギュレータ鍵パッケージが、コンフィギュレータ公開検証鍵を含む場合、第2のコンフィギュレータデバイスは、コンフィギュレータ鍵パッケージからコンフィギュレータ公開検証鍵をリストアすることができる。コンフィギュレータ鍵パッケージがコンフィギュレータ公開検証鍵を含まない場合、第2のコンフィギュレータデバイスは、コンフィギュレータ秘密署名鍵に少なくとも部分的に基づいて、コンフィギュレータ公開検証鍵を決定し得る。
【0081】
[0091]
図4は、第1のコンフィギュレータデバイスによるコンフィギュレータ鍵のリストアおよびバックアップを説明するための、例示的なシステム図を示す。例示的なシステム400は、第1のコンフィギュレータデバイス110およびストレージロケーション410を含む。第1のコンフィギュレータデバイス110は、コンフィギュレータ鍵412を有し、暗号化技法416を使用して、コンフィギュレータ鍵412の少なくとも一部分を暗号化することを可能にする。本開示の実装に容易に適合し得る様々な暗号化技法が存在し得る。異なる暗号化技法の例が、以下にさらに説明される。
【0082】
[0092] 第1のコンフィギュレータデバイス110は、コンフィギュレータ鍵412を含むコンフィギュレータ鍵パッケージ427を生成し、暗号化技法416を使用して少なくとも部分的に暗号化されている(中括弧で示される)。第1のコンフィギュレータデバイス110はまた、バックアップ/リストアモジュール455を有する。バックアップ/リストアモジュール455は、コンフィギュレータ鍵パッケージ427が、ストレージロケーション410に記憶されることを行わせ得る(矢印467で示される)。例えば、コンフィギュレータ鍵パッケージ427を記憶するための動作は、バックアップと呼ばれ得る。
【0083】
[0093] コンフィギュレータ鍵パッケージ427が記憶された後、バックアップ/リストアモジュール455は、コンフィギュレータ鍵をリストアすることを可能にし得る。バックアップ/リストアモジュール455は、ストレージロケーション410からコンフィギュレータ鍵パッケージ427を検索し得る(矢印477で示される)。例えば、バックアップ/リストアモジュール455は、ストレージロケーション410からコンフィギュレータ鍵パッケージ427にアクセスし得るか、またはそれをダウンロードし得る。バックアップ/リストアモジュール455は、暗号化技法を逆にし(reversing)、コンフィギュレータ鍵パッケージ427からコンフィギュレータ鍵を取得することによって、コンフィギュレータ鍵をリストアし得る。
【0084】
[0094]
図5は、第1のコンフィギュレータデバイスから第2のコンフィギュレータデバイスへのコンフィギュレータ鍵を共有することを説明するための例示的なシステム図を示す。例示的なシステム500は、第1のコンフィギュレータデバイス110、第2のコンフィギュレータデバイス120、およびストレージロケーション410を含み得る。ストレージロケーション410は、ネットワーク共有メモリ、ネットワークドライブ、アクセスポイントのリソース、クラウドベースのストレージロケーション、または通信ネットワークを介して第2のコンフィギュレータデバイス120によってアクセス可能な任意の他のリソースであり得る。上述されるように、第1のコンフィギュレータデバイス110は、コンフィギュレータ鍵412を有し、それは、コンフィギュレータ秘密署名鍵およびコンフィギュレータ公開検証鍵を含み得る。第2のコンフィギュレータデバイス120にコンフィギュレータ鍵を提供するために、第1のコンフィギュレータデバイス110は、コンフィギュレータ鍵パッケージ427中にコンフィギュレータ鍵をエクスポートし得る。517で表されるように、第1のコンフィギュレータデバイス110は、コンフィギュレータ鍵を(暗号鍵を使用して)暗号化し、コンフィギュレータ鍵パッケージ427を作成し得る。
【0085】
[0095] いくつかの実装では、第1のコンフィギュレータデバイス110は、公開鍵暗号法規格(PKCS:Public-Key Cryptography Standards)と呼ばれる規格のファミリに従って、コンフィギュレータ鍵パッケージを生成し得る。例えば、PKCS#8は、規格のうちの1つであり、秘密鍵情報を記憶するために標準シンタックス(standard syntax)を定義する。PCKS#8における暗号化は、デジタルエンベロープを特定し、それは(構成についての情報を有する)非対称鍵パッケージ(Asymmetric Key Package)および暗号鍵からなる。暗号鍵は、鍵管理、鍵アグリーメント(Key agreement)、共有されたパスワードを用いて導出される対称鍵、または共有された情報を通じた対称鍵暗号化のいずれかを使用して保護されることができる。よって、暗号鍵を導出することができるデバイスのみがコンフィギュレータ鍵パッケージを復号することができる。1つの実装では、第1のコンフィギュレータデバイス110は、任意のコンフィギュレータデバイスが(PKCS#8 blobの形式で)ストレージロケーション410からコンフィギュレータ鍵パッケージ427を取得することができるように、ネットワークにおける公開コネクタプロファイル(public connector profile)を作成し得る。
【0086】
[0096] 公開コネクタプロファイルは、例えば、コンフィギュレータ鍵パッケージがダウンロードされ得るストレージロケーション410のための、ユニフォームリソースロケータ(URL)またはユニフォームリソース識別子(URI)などのロケーションアドレスを含み得る。コンフィギュレータ鍵パッケージは複数のデバイスによってアクセス可能であり得るが、許可されたコンフィギュレータデバイスのみ(第2のコンフィギュレータデバイス120など)がコンフィギュレータ鍵パッケージを復号するのに必要とされる復号情報を有しているだろう。例えば、復号情報は、コンフィギュレータ鍵パッケージに関連付けられたデジタルエンベロープから暗号鍵を導出するための共有されたパスワードであり得る。代替的に、復号情報は、コンフィギュレータ鍵パッケージを暗号化するために使用される暗号鍵をデバイスが取得するための任意の他の手段であり得る。別の実装では、ロケーションアドレスは、許可されたコンフィギュレータにのみ提供される秘密として維持される。547において、コンフィギュレータ鍵パッケージ427は、後の検索のためにストレージロケーション410に記憶される。いくつかの実装では、第1のコンフィギュレータデバイス110は、ネットワークを介して、コンフィギュレータ鍵パッケージ427を第2のコンフィギュレータデバイス120に送り、コンフィギュレータ鍵パッケージ427が、第2のコンフィギュレータデバイス120においてコロケートされたストレージロケーションに記憶されるようにし得る。
【0087】
[0097] 第2のコンフィギュレータデバイス120は、第1のコンフィギュレータデバイス110から復号情報を取得し得る(矢印537によって表される)。いくつかの実装では、復号情報は、コンフィギュレータ鍵パッケージを復号するのに必要とされる暗号鍵を含み得る。いくつかの実装では、復号情報は、コンフィギュレータ鍵パッケージがストレージロケーション410中のどこに記憶されるかを示すロケーションアドレスを含み得る。第1のコンフィギュレータデバイス110が第2のコンフィギュレータデバイス120に復号情報を提供するための様々な方法―ブートストラッピングを含む―が存在し得る。例えば、暗号鍵は、第2のコンフィギュレータデバイス120によってスキャンされることができるバーコードイメージに符号化され得る。いくつかの実装では、そのバーコードイメージは、静的またはエフェメラル(ephemeral)であり得る。例えば、第1のコンフィギュレータデバイス110は、ディスプレイを装備し得、暗号鍵を用いて符号化されているバーコードイメージ(または他のコーディングされたイメージ)を作成し得る。暗号鍵は、機械可読イメージ(QRコードなど)を、カメラ、スマートフォン、スキャナ、または第2のコンフィギュレータデバイス120の別の機械可読コードを用いてスキャンおよび復号することによって決定され得る。暗号鍵に加えて、バーコードイメージはまた、第2のコンフィギュレータデバイス120がコンフィギュレータ鍵パッケージ427をダウンロードすることができるロケーションアドレスを用いて符号化され得る。
【0088】
[0098] 第2のコンフィギュレータデバイス120は、ネットワークロケーションからコンフィギュレータ鍵パッケージ427をダウンロードすることができる(矢印557によって表される)。一旦、第2のコンフィギュレータデバイス120がコンフィギュレータ鍵パッケージ5427および暗号鍵を取得すると、第2のコンフィギュレータデバイス120は、暗号化された秘密鍵パッケージを復号することができ、それにより、コンフィギュレータ鍵を取得し、デバイスプロビジョニングプロトコルを用いた使用のための第2のコンフィギュレータデバイス120のメモリにコンフィギュレータ鍵を記憶する。
【0089】
[0099]
図6は、複数のコンフィギュレータを有するデバイスプロビジョニングプロトコルの例示的なメッセージフロー図を示す。メッセージフロー
図600は、第1のコンフィギュレータデバイス110、第2のコンフィギュレータデバイス120、およびストレージロケーション410の間のメッセージを含む。605において、第1のコンフィギュレータデバイス110は、第1のコンフィギュレータデバイス110のコンフィギュレータ鍵(c−sign−keyおよび C−sign−key)を含むコンフィギュレータ鍵パッケージを生成し得る。コンフィギュレータ鍵パッケージは、暗号鍵を使用して暗号化される。611において、第1のコンフィギュレータデバイス110は、ストレージロケーション410においてコンフィギュレータ鍵パッケージをエクスポートおよび記憶する。第1のコンフィギュレータデバイス110はまた、コンフィギュレータ鍵パッケージがどこに記憶されるかを示すロケーションアドレスを決定し得る。暗号鍵およびロケーションアドレスは、バーコードイメージまたは他のタイプのデータストラクチャとして符号化され得る。
【0090】
[00100] 613において、第2のコンフィギュレータデバイス120は、コンフィギュレータ鍵パッケージ(および、オプションでロケーションアドレス)を取得し得る。例えば、第2のコンフィギュレータデバイス120は、バーコードイメージまたは他のデータストラクチャを取得および復号し得る。619において、第2のコンフィギュレータデバイス120は、コンフィギュレータ鍵パッケージのロケーションアドレスを決定し得る。第2のコンフィギュレータデバイス120は、バーコードイメージから、第1のコンフィギュレータデバイス110から別のメッセージ(図示せず)を介して、公開コネクタプロファイルを使用して、またはロケーションアドレスを共有するための任意の他のメカニズムによって、ロケーションアドレスを決定し得る。ロケーションアドレスに基づいて、第2のコンフィギュレータデバイス120は、ストレージロケーション410へのコンフィギュレータ鍵パッケージのリクエストを(621において)送り得る。623において、第2のコンフィギュレータデバイス120は、ストレージロケーション410からコンフィギュレータ鍵パッケージを受信し得る。625において、第2のコンフィギュレータデバイス120は、(暗号鍵を使用して)コンフィギュレータ鍵パッケージを復号し、コンフィギュレータ鍵を検索し得る。一旦第2のコンフィギュレータデバイス120がコンフィギュレータ鍵をもつと、第2のコンフィギュレータデバイス120は、第1のコンフィギュレータデバイス110が使用するであろう同じコンフィギュレータ鍵を使用して、エンローリデバイス250を構成し得る。
【0091】
[00101] (ブートストラップ、認証、および構成を含む)デバイスプロビジョニングは、先に説明されたように続けることができる(
図2のメッセージ205、207、217、227、237、263、267、および277の対応する説明を参照)。
【0092】
[00102]
図7は、第1のコンフィギュレータデバイスを動作させるための例示的なフローチャートを示す。フローチャート700は、ブロック710において開始する。ブロック710において、第1のコンフィギュレータデバイスは、暗号鍵を使用して少なくとも一部分を暗号化されたコンフィギュレータ鍵パッケージを生成し得る。コンフィギュレータ鍵パッケージは、第1のコンフィギュレータデバイスのための少なくともコンフィギュレータ秘密署名鍵を含み得る。ブロック720において、第1のコンフィギュレータデバイスは、第2のコンフィギュレータデバイスによってアクセス可能なストレージロケーションにおいてコンフィギュレータ鍵パッケージを記憶し得る。ブロック730において、第1のコンフィギュレータデバイスは、第2のコンフィギュレータデバイスがストレージロケーションからのコンフィギュレータ鍵パッケージを復号することを可能にするために、暗号鍵を提供する。ブロック740において、第1のコンフィギュレータデバイスは、オプションで、第2のコンフィギュレータデバイスにロケーションアドレスを提供し得る。ロケーションアドレスは、コンフィギュレータ鍵パッケージがストレージロケーションにおいてどこに記憶されるかを示し得る。
【0093】
[00103]
図8は、第2のコンフィギュレータデバイスを動作させるための例示的なフローチャートを示す。フローチャート800は、ブロック810において開始する。ブロック810において、第2のコンフィギュレータデバイスは、第2のコンフィギュレータデバイスにおいて、第1のコンフィギュレータデバイスから復号情報を取得し得る。例えば、復号情報は、コンフィギュレータ鍵パッケージを暗号化するために前に使用された暗号鍵であり得る。ブロック820において、第2のコンフィギュレータデバイスは、第2のコンフィギュレータデバイスにおいて、ストレージロケーションからコンフィギュレータ鍵パッケージを取得し得る。コンフィギュレータ鍵パッケージは、第1のコンフィギュレータデバイスのための少なくともコンフィギュレータ秘密署名鍵を含み得る。ブロック830において、第2のコンフィギュレータデバイスは、コンフィギュレータ秘密署名鍵を検索するために、復号情報を使用してコンフィギュレータ鍵パッケージを復号し得る。コンフィギュレータ鍵パッケージがコンフィギュレータ公開検証鍵を含み得る場合、第2のコンフィギュレータデバイスは、コンフィギュレータ鍵パッケージからコンフィギュレータ公開検証鍵をリストアすることができる。コンフィギュレータ鍵パッケージがコンフィギュレータ公開検証鍵を含まない場合、第2のコンフィギュレータデバイスは、コンフィギュレータ秘密署名鍵に少なくとも部分的に基づいて、コンフィギュレータ公開検証鍵を決定し得る。ブロック840において、第2のコンフィギュレータデバイスは、デバイスプロビジョニングプロトコルにしたがってコンフィギュレータ公開検証鍵およびコンフィギュレータ秘密署名鍵を使用して、ネットワーク用にエンローリデバイスを構成し得る。
【0094】
[00104]
図9は、コンフィギュレータ鍵をバックアップおよびリストアするためにコンフィギュレータデバイスを動作させるための例示的なフローチャートを示す。フローチャート900は、ブロック910において開始する。ブロック910において、コンフィギュレータデバイスは、コンフィギュレータ秘密署名鍵の暗号化されたコピーを少なくとも含むコンフィギュレータ鍵パッケージを生成し得る。暗号化されたコピーは、秘密鍵暗号化技法を使用して暗号化され得る。例えば、秘密鍵暗号化技法は、インターネット・エンジニアリング・タスクフォース(IETF)のRFC(Request for Comments)5958およびRFC5208のうちの少なくとも1つにおいて定義され得る。いくつかの実装では、秘密鍵暗号化技法は、コンフィギュレータ鍵パッケージのヘッダにおいて識別され得る。
【0095】
[00105] ブロック920において、コンフィギュレータデバイスは、コンフィギュレータデバイスによってアクセス可能なストレージロケーションに、コンフィギュレータ鍵パッケージをバックアップとして記憶し得る。ストレージロケーションは、コンフィギュレータデバイスに利用可能な任意のストレージデバイスであり得る。ストレージロケーションの例は、コンフィギュレータデバイスのメモリ、ストレージロケーション、パーソナルコンピュータ、ホームサーバ、クラウドベースのストレージサービスなどを含む。いくつかの実装では、ストレージロケーションは、異なるコンフィギュレータ鍵を使用して、異なるコンフィギュレータデバイスからのバックアップを記憶するために使用され得る。
【0096】
[00106] ブロック930において、コンフィギュレータデバイスは、コンフィギュレータ鍵パッケージを取得し、秘密鍵暗号化技法を使用してコンフィギュレータ鍵パッケージを復号することによって、バックアップを後にリストアし得る。
【0097】
[00107] 以下は、本明細書で説明された任意の実装を用いて使用され得るコンフィギュレータ鍵パッケージの一例である。例示的なコンフィギュレータ鍵パッケージは、(PKCS#8を使用して)RFC5958において定義された1つの非対称鍵のASN.1シーケンスである非対称鍵パッケージである。
【0099】
[00108]
図10は、本開示の態様を実装するための例示的な電子デバイス1000のブロック図を示す。いくつかの実装では、電子デバイス1000は、第1のコンフィギュレータデバイス110または第2のコンフィギュレータデバイス120に類似し得る。電子デバイス1000は、ラップトップコンピュータ、タブレットコンピュータ、モバイルフォン、ゲーミングコンソール、スマートウォッチ、仮想または拡張現実デバイス、ドローン、あるいは別の電子システムであり得る。電子デバイス1000は、(場合により、複数のプロセッサ、複数のコア、複数のノードを含む、またはマルチスレッドを実行するなどの)プロセッサ1002を含む。電子デバイス1000は、プロセッサ1006を含む。メモリ1006は、システムメモリ、あるいは、機械可読媒体またはコンピュータ可読媒体の下記に説明されるあり得る現実(realizations)のうちの任意の1つまたは複数であり得る。電子デバイス1000はまた、(PCI、ISA、PCI−Express、HyperTransport(登録商標)、InfiniBand(登録商標)、NuBus、AHB、AXIなどの)バス1001を含み得る。電子デバイスは、1つまたは複数のネットワークインターフェース1004を含み得、それは、(WLANインターフェース、Bluetooth(登録商標)インターフェース、WiMAXインターフェース、ZigBee(登録商標)インターフェース、ワイヤレスUSBインターフェースなどのような)ワイヤレスネットワークインターフェースまたは(電力線通信インターフェース、イーサネット(登録商標)インターフェースなどのような)ワイヤードネットワークインターフェースであり得る。いくつかの実装では、電子デバイス1000は、複数のネットワークインターフェース1004をサポートし得る、その各々は、電子デバイス1000を異なる通信ネットワークに結合するように構成され得る。
【0100】
[00109] メモリ1006は、上述された様々な実装をサポートするための機能を含む。メモリ1006は、デバイスプロビジョニングプロトコルの実装を容易にする1つまたは複数の機能を含み得る。例えば、メモリ1006は、上述されるように第1のコンフィギュレータデバイス110または第2のコンフィギュレータデバイス120のうちの1つまたは複数の態様を実装し得る。メモリ1006は、上記の
図1〜
図9に説明される実装を利用可能にするための機能を具現化し得る。いくつかの実装では、メモリ1006は、コンフィギュレータ鍵パッケージを生成、記憶、または検索することを容易にする1つまたは複数の機能を含み得る。電子デバイス1000は、暗号化/復号モジュール1016またはバックアップ/リストアモジュール1055を含み得る。例えば、暗号化/復号モジュール1016は、コンフィギュレータ鍵パッケージの少なくとも一部分の暗号化、またはコンフィギュレータ鍵パッケージの復号を容易にし得る。バックアップ/リストアモジュール1055は、コンフィギュレータ鍵パッケージのストレージ、およびストレージロケーションからのコンフィギュレータ鍵パッケージの検索を容易にし得る。電子デバイス1000はまた、センサユニット、ユーザインターフェースコンポーネント、または別の入力/出力コンポーネントなどの他のコンポーネント1020を含み得る。いくつかの他の実装では、電子デバイス1000は、ブートストラッピング技法を使用して、復号情報を取得するために使用される(カメラ、マイクロフォン、NFC検出器、バーコードスキャナなどのような)他の適切なセンサを有し得る。
【0101】
[00110] これらの機能のうちの任意の1つが、プロセッサ1002上などのハードウェア中で部分的に(または全体的に)実装され得る。例えば、機能は、特定用途向け集積回路を用いて、プロセッサ1002中で実施されるロジックにおいて、周辺デバイスのコプロセッサ(co-processor)において、またはカードなどで、実施され得る。さらに、それらの実現は、
図10において例示されていない、より少ないまたは追加のコンポーネント(例えば、映像カード、音声カード、追加のネットワークインターフェース、周辺デバイスなど)を含み得る。プロセッサ1002およびプロセッサ1006は、バス1001に結合され得る。バス1001に結合されているように図示されるが、メモリ1006は、プロセッサ1002に直接結合されてもよい。
【0102】
[00111] 本明細書で使用されるとき、項目のリスト「のうちの少なくとも1つ」を示すフレーズは、単一の要素を含む、それらの項目の任意の組み合わせを指す。例として、「a、b、またはcのうちの少なくとも1つ」は、a、b、c、a−b、a−c、b−c、およびa−b−cをカバーすることを意図される。
【0103】
[00112] 本明細書で開示された実施形態に関連して説明される様々な例示的なロジック、論理ブロック、モジュール、回路、およびアルゴリズムプロセスは、電子ハードウェア、コンピュータソフトウェア、または両方の組み合わせとして実施され得る。ハードウェアとソフトウェアとの互換性は概して、機能の観点から説明されており、上述された様々な例示的なコンポーネント、ブロック、モジュール、回路、およびプロセスにおいて例示されている。そのような機能をハードウェアにおいて実装されるか、ソフトウェアにおいて実装されるかは、特定の適用例および全体的なシステムに課される設計制約に依存する。
【0104】
[00113] 本明細書に開示された態様に関連して説明された例示的な様々な論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアおよびデータ処理装置は、汎用のシングルチップまたはマルチチッププロセッサ、デジタルシグナルプロセッサ(DSP)、−特定用途向け集積回路(ASIC)、フィールド−プログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス、ディスクリートゲートまたはトランジスタ論理回路、ディスクリートハードウェア構成要素、もしくは、本明細書で説明された機能を行うように設計されたそれらの任意の組合せで実装され得るかまたは行われ得る。汎用プロセッサは、マイクロプロセッサ、または、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、あるいはステートマシンであり得る。プロセッサはまた、DSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、DSPコアと連携した1つまたは複数のマイクロプロセッサ、あるいはあらゆる他のこのような構成などの、コンピューティングデバイスの組み合わせとして実装され得る。いくつかの実施形態では、特定のプロセスおよび方法が、所与の機能に特有である回路によって行われ得る。
【0105】
[00114] 1つまたは複数の様態では、説明された機能は、この明細書中に開示された構造およびそれらの構造的同等物を含む、ハードウェア、デジタル電子回路、コンピュータソフトウェア、ファームウェアまたはそれらの任意の組み合わせにおいて実装され得る。本明細書で説明された主題の実装はまた、データ処理装置による実行のための、またはデータ処理装置の動作を制御するために、コンピュータ記憶媒体上で符号化される、1つまたは複数のコンピュータプログラム、すなわち、コンピュータプログラムの命令の1つまたは複数のモジュールとして実装されることができる。
【0106】
[00115] ソフトウェアで実施する場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶するか、あるいはコンピュータ可読媒体を介して送信することができる。本明細書で開示された方法またはアルゴリズムのプロセスは、コンピュータ可読媒体上に存在し得るプロセッサ実行可能ソフトウェアモジュールにおいて実装され得る。コンピュータ可読媒体は、ある場所から別の場所にコンピュータプログラムを転送することを可能にされることができる任意の媒体を含む通信媒体およびコンピュータ記憶媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定はされないが、例として、このようなコンピュータ可読媒体は、RAM(SRAM、DRAM、ゼロキャパシタRAM、ツイントランジスタRAM、eDRAM、EDO RAM、DDR RAM、EEPROM(登録商標)、NRAM、RRAM(登録商標),SONOS、PRAMなどを含む)、ROM、EEPROM(登録商標)、CD−ROMあるいは他の光ディスク記憶装置、磁気ディスク記憶デバイスあるいは他の磁気記憶デバイス、または命令あるいはデータ構造の形態で所望のプログラムコードを記憶するために使用され、コンピュータによってアクセスされ得る任意の他の媒体を含み得る。また、任意の接続は、コンピュータ可読媒体と適切に呼ばれ得る。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク(登録商標)、光ディスク、デジタル多用途ディスク(DVD)、フロッピー(登録商標)ディスクおよびブルーレイディスクを含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれることができる。加えて、方法またはアルゴリズムの動作は、機械−可読媒体およびコンピュータ可読媒体上で、コードおよび命令のうちの1つ、またはそれらの任意の組み合わせ、またはそれらのセットとして存在し得、それは、コンピュータプログラム製品に組み込まれ得る。
【0107】
[00116] 本開示で説明される実装への様々な変更は、当業者にとって容易に明らかであり、および、ここで定義される一般的な原理は、本開示の精神または範囲から逸脱することなく他の実装に適用され得る。よって、特許請求の範囲は、本明細書に示される実施形態に限定されることを意図されてはいないが、本明細書に開示されたこの開示、原理および新規の特徴と一致する最も広い範囲が付与されるべきである。
【0108】
[00117] 加えて、当業者は、「上方」および「下方」という用語が、図を説明しやすくするために使用されることがあり、適正に方向付けられた頁上で図の向きに対応する相対位置を示し、実施されたときの任意のデバイスの適正な向きを反映しないことがあり得ることを容易に認識するであろう。
【0109】
[00118] 別個の実装に照らして本明細書で説明される、ある特徴もまた、単一の実装で組み合わせて実施されることができる。反対に、単一の実装のコンテキストにおいて説明されている様々な特徴もまた、別個に複数の実装において、または任意の適したサブコンビネーションにおいて実装されることができる。さらに、特徴は、ある特定の組み合わせで機能するとして上述され、特許請求の範囲にさえ最初はそのように記載され得るが、特許請求の範囲に記載されている組み合わせからの1つまたは複数の特徴は、いくつかのケースでは、その組み合わせから削除され、特許請求の範囲に記載されている組み合わせは、サブコンビネーションまたはサブコンビネーションの変形を対象とし得る。
【0110】
[00119] 同様に、動作が特定の順序で図面に図示されているが、このことは、そのような動作が、望ましい結果を達成するために、示された特定の順序または連続した順序で行われること、または全ての例示された動作が行われることを必要とするものと理解されるべきではない。さらに、図面は、フロー図の形式でもう1つの実例的なプロセスを概略的に図示し得る。しかしながら、図示されていない他の動作は、概略的に例示されている実例的なプロセス中に組み込まれることができる。例えば、1つまたは複数の追加の動作は、例示されている動作のいずれかの前に、後で、同時に、または間に行われ得る。ある特定の状況では、マルチタスクおよび平行処理が有利であり得る。さらに、上述された実装における様々なシステムコンポーネントの分離は、すべての実装においてそのような分離を必要とするものと理解されるべきではなく、説明されたプログラムコンポーネントおよびシステムが、概して、単一のソフトウェア製品に一体化されるか、または複数のソフトウェア製品にパッケージ化される得ることが理解されるべきである。加えて、他の実施形態は、下記の特許請求の範囲内にある。いくつかのケースでは、特許請求の範囲に記載されるアクションは、異なる順序で行われ、それでもなお望ましい結果を達成することができる。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
ネットワークの第1のコンフィギュレータデバイスによって実行される方法であって、 前記第1のコンフィギュレータデバイスに関連付けられた少なくともコンフィギュレータ秘密署名鍵を含む、コンフィギュレータ鍵パッケージを生成することと、
前記コンフィギュレータ鍵パッケージの少なくとも一部分を暗号化することと、
前記第1のコンフィギュレータデバイスまたは第2のコンフィギュレータデバイスによる後のリストアのためのバックアップとして、ストレージロケーションに前記コンフィギュレータ鍵パッケージを記憶することと、
を備える、方法。
[C2]
前記コンフィギュレータ鍵パッケージは、前記コンフィギュレータ秘密署名鍵に関連付けられるコンフィギュレータ公開検証鍵をさらに含む、C1に記載の方法。
[C3]
前記コンフィギュレータ鍵パッケージの少なくとも前記一部分を暗号化することは、前記コンフィギュレータ秘密署名鍵とは異なる暗号鍵を使用して前記コンフィギュレータ鍵パッケージを暗号化することを含む、C1に記載の方法。
[C4]
少なくとも前記コンフィギュレータ鍵パッケージの少なくとも前記一部分を暗号化することは、秘密鍵暗号化技法を使用して前記コンフィギュレータ秘密署名鍵を暗号化することと、前記コンフィギュレータ鍵パッケージのヘッダ中に前記秘密鍵暗号化技法のインジケーションを含めることと、を含む、C1に記載の方法。
[C5]
前記コンフィギュレータ鍵パッケージを記憶することは、
前記コンフィギュレータ鍵パッケージと復号情報とを含むデジタルエンベロープを生成することを含み、前記復号情報は、前記第2のコンフィギュレータデバイスが前記コンフィギュレータ鍵パッケージの少なくとも前記一部分を復号することを可能にする、
C1に記載の方法。
[C6]
前記ストレージロケーションは、前記第1のコンフィギュレータデバイスのメモリ、ネットワーク共有ロケーション、パーソナルコンピュータ、ホームサーバ、クラウドベースのストレージサービス、およびワイヤレスネットワークのアクセスポイント(AP)、からなるグループから選択される少なくとも1つのメンバである、C1に記載の方法。
[C7]
前記コンフィギュレータ鍵パッケージを記憶することは、前記コンフィギュレータ鍵パッケージのバックアップを記憶することを含み、前記方法は、
前記第1のコンフィギュレータデバイスによって、前記ストレージロケーションから、前記コンフィギュレータ鍵パッケージの前記バックアップを検索することと、
前記コンフィギュレータ鍵パッケージのすくなくとも前記一部分を復号することと、 前記コンフィギュレータ鍵パッケージから前記コンフィギュレータ秘密署名鍵を取得することと、
をさらに備える、C1に記載の方法。
[C8]
前記コンフィギュレータ鍵パッケージから取得された前記コンフィギュレータ秘密署名鍵に少なくとも部分的に基づいて、コンフィギュレータ公開検証鍵を決定すること、
をさらに備える、C7に記載の方法。
[C9]
前記ストレージロケーションにおける前記コンフィギュレータ鍵パッケージのロケーションアドレスを決定することと、
前記第2のコンフィギュレータデバイスに前記ロケーションアドレスを提供することと、
をさらに備える、C1に記載の方法。
[C10]
前記第2のコンフィギュレータデバイスに復号情報を提供することをさらに備え、前記復号情報は、前記第2のコンフィギュレータデバイスが、前記コンフィギュレータ鍵パッケージの少なくとも前記一部分を復号することと、前記コンフィギュレータ秘密署名鍵を取得することと、を可能にする、
C1に記載の方法。
[C11]
前記復号情報は、前記ストレージロケーションにおける前記コンフィギュレータ鍵パッケージのロケーションアドレスと、前記コンフィギュレータ鍵パッケージの少なくとも前記一部分を復号するために使用可能な暗号鍵と、からなるグループから選択される少なくとも1つのメンバを含む、C10に記載の方法。
[C12]
前記復号情報を提供することは、前記第1のコンフィギュレータデバイスのディスプレイ、スピーカ、光信号、センサインターフェース、および短距離無線周波数インターフェース、からなるグループから選択される少なくとも1つのメンバを使用して前記復号情報を提供することを含む、C10に記載の方法。
[C13]
前記復号情報を提供することは、前記復号情報が符号化されているイメージを表示することを含む、C10に記載の方法。
[C14]
前記イメージは、バーコードまたはクイックレスポンス(QR)コードイメージである、C13に記載の方法。
[C15]
コンフィギュレータ公開検証鍵は、前記コンフィギュレータ秘密署名鍵から導出されるか、または前記コンフィギュレータ鍵パッケージから取得され、
前記コンフィギュレータ秘密署名鍵および前記コンフィギュレータ公開検証鍵は、第1のネットワークの複数のコンフィギュレータ間で共有され、
前記複数のコンフィギュレータの各々は、前記第1のネットワーク用にエンローリデバイスを構成するために、デバイスプロビジョニングプロトコルに従って前記コンフィギュレータ秘密署名鍵および前記コンフィギュレータ公開検証鍵を使用することが可能である、
C1に記載の方法。
[C16]
第1のコンフィギュレータデバイスであって、
プロセッサと、
命令を記憶したメモリと、
を備え、前記命令は、前記プロセッサによって実行されると、前記第1のコンフィギュレータデバイスに、
前記第1のコンフィギュレータデバイスに関連付けられた少なくともコンフィギュレータ秘密署名鍵を含む、コンフィギュレータ鍵パッケージを生成することと、
前記コンフィギュレータ鍵パッケージの少なくとも一部分を暗号化することと、
前記第1のコンフィギュレータデバイスまたは第2のコンフィギュレータデバイスによる後のリストアのためのバックアップとして、ストレージロケーションに前記コンフィギュレータ鍵パッケージを記憶することと、
を行わせる、第1のコンフィギュレータデバイス。
[C17]
前記命令は、前記プロセッサによって実行されると、前記第1のコンフィギュレータデバイスに、
前記コンフィギュレータ秘密署名鍵とは異なる暗号鍵を使用して、前記コンフィギュレータ鍵パッケージを暗号化すること、
をさらに行わせる、C16に記載の第1のコンフィギュレータデバイス。
[C18]
前記命令は、前記プロセッサによって実行されると、前記第1のコンフィギュレータデバイスに、
秘密鍵暗号化技法を使用して前記コンフィギュレータ秘密署名鍵を暗号化することと、 前記コンフィギュレータ鍵パッケージのヘッダ中に前記秘密鍵暗号化技法のインジケーションを含めることと、
をさらに行わせる、C16に記載の第1のコンフィギュレータデバイス。
[C19]
前記命令は、前記プロセッサによって実行されると、前記第1のコンフィギュレータデバイスに、
前記コンフィギュレータ鍵パッケージと復号情報とを含むデジタルエンベロープを生成することをさらに行わせ、前記復号情報は、前記第2のコンフィギュレータデバイスが前記コンフィギュレータ鍵パッケージの少なくとも前記部分を復号することを可能にする、 C16に記載の第1のコンフィギュレータデバイス。
[C20]
前記コンフィギュレータ鍵パッケージを記憶するための前記命令は、前記コンフィギュレータ鍵パッケージのバックアップを記憶するための命令を含み、前記命令は、前記プロセッサによって実行されると、前記第1のコンフィギュレータデバイスに、
前記ストレージロケーションから前記コンフィギュレータ鍵パッケージの前記バックアップを検索することと、
前記コンフィギュレータ鍵パッケージの少なくとも前記一部分を復号することと、
前記コンフィギュレータ鍵パッケージから前記コンフィギュレータ秘密署名鍵を取得することと、
をさらに行わせる、C16に記載の第1のコンフィギュレータデバイス。
[C21]
前記命令は、前記プロセッサによって実行されると、前記第1のコンフィギュレータデバイスに、
前記ストレージロケーションにおけるコンフィギュレータ鍵パッケージのロケーションアドレスを決定することと、
前記第2のコンフィギュレータデバイスに前記ロケーションアドレスを提供することと、
をさらに行わせる、C16に記載の第1のコンフィギュレータデバイス。
[C22]
前記命令は、前記プロセッサによって実行されると、前記第1のコンフィギュレータデバイスに、
前記第2のコンフィギュレータデバイスに復号情報を提供することをさらに行わせ、前記復号情報は、前記第2のコンフィギュレータデバイスが前記コンフィギュレータ鍵パッケージの少なくとも前記一部分を復号することと、前記コンフィギュレータ秘密署名鍵を取得することと、を可能にする、
C16に記載の第1のコンフィギュレータデバイス。
[C23]
前記復号情報は、前記ストレージロケーションにおける前記コンフィギュレータ鍵パッケージのロケーションアドレスと、前記コンフィギュレータ鍵パッケージの少なくとも前記一部分を復号するために使用可能な暗号鍵と、からなるグループから選択される少なくとも1つのメンバを含む、C22に記載の第1のコンフィギュレータデバイス。
[C24]
前記命令は、前記プロセッサによって実行されると、前記第1のコンフィギュレータデバイスに、
前記第1のコンフィギュレータデバイスのディスプレイ、スピーカ、光信号、センサインターフェース、および短距離無線周波数インターフェース、からなるグループから選択される少なくとも1つのメンバを使用して前記復号情報を提供すること、
をさらに行わせる、C22に記載の第1のコンフィギュレータデバイス。
[C25]
命令を記憶したコンピュータ可読媒体であって、前記命令は、第1のコンフィギュレータデバイスのプロセッサによって実行されると、前記第1のコンフィギュレータデバイスに、
前記第1のコンフィギュレータデバイスに関連付けられた少なくともコンフィギュレータ秘密署名鍵を含む、コンフィギュレータ鍵パッケージを生成することと、
前記コンフィギュレータ鍵パッケージの少なくとも一部分を暗号化することと、
前記第1のコンフィギュレータデバイスまたは第2のコンフィギュレータデバイスによる後の検索のために、ストレージロケーションに前記コンフィギュレータ鍵パッケージを記憶することと、
を行わせる、第1のコンフィギュレータデバイス。
[C26]
第2のコンフィギュレータデバイスによって行われる方法であって、
前記第2のコンフィギュレータデバイスにおいて、ストレージロケーションからコンフィギュレータ鍵パッケージを取得することと、ここにおいて、前記コンフィギュレータ鍵パッケージの少なくとも一部分は暗号化され、前記コンフィギュレータ鍵パッケージは、第1のコンフィギュレータデバイスに関連付けられたコンフィギュレータ秘密署名鍵を少なくとも含み、
前記コンフィギュレータ鍵パッケージの少なくとも前記一部分を復号することと、
前記コンフィギュレータ鍵パッケージから前記コンフィギュレータ秘密署名鍵を取得することと、
デバイスプロビジョニングプロトコルに従って、前記コンフィギュレータ秘密署名鍵を利用して、ネットワーク用にエンローリデバイスをプロビジョニングすることと、
を備える、方法。
[C27]
前記第1のコンフィギュレータデバイスから復号情報を取得することをさらに備え、前記復号情報は、前記第2のコンフィギュレータデバイスが前記コンフィギュレータ鍵パッケージの少なくとも前記一部分を復号することを可能にする、
C26に記載の方法。
[C28]
前記復号情報は、前記ストレージロケーションにおける前記コンフィギュレータ鍵パッケージのロケーションアドレスと、前記コンフィギュレータ鍵パッケージの少なくとも前記一部分を復号するために使用可能な暗号鍵と、からなるグループから選択される少なくとも1つのメンバを含む、C27に記載の方法。
[C29]
前記復号情報を取得することは、前記第1のコンフィギュレータデバイスのディスプレイ、スピーカ、光信号、センサインターフェース、および短距離無線周波数インターフェース、からなるグループから選択される少なくとも1つのメンバを使用して前記復号情報を取得することを含む、C27に記載の方法。
[C30]
前記復号情報を取得することは、前記第2のコンフィギュレータデバイスに関連付けられたカメラを介して、前記復号情報が符号化されているイメージを取得することと、
前記復号情報を検索するために前記イメージを復号することと、
を含む、C27に記載の方法。