(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-08
(45)【発行日】2024-10-17
(54)【発明の名称】三者暗号ハンドシェイクプロトコル
(51)【国際特許分類】
H04L 9/08 20060101AFI20241009BHJP
H04W 48/16 20090101ALI20241009BHJP
H04W 12/0431 20210101ALI20241009BHJP
H04W 12/75 20210101ALI20241009BHJP
【FI】
H04L9/08 C
H04W48/16
H04W12/0431
H04W12/75
(21)【出願番号】P 2022562827
(86)(22)【出願日】2021-04-05
(86)【国際出願番号】 US2021025733
(87)【国際公開番号】W WO2021211314
(87)【国際公開日】2021-10-21
【審査請求日】2023-03-28
(32)【優先日】2020-04-15
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ユング,マーセル・エム・エム
(72)【発明者】
【氏名】ラザロブ,デイビッド
【審査官】青木 重徳
(56)【参考文献】
【文献】特開2015-070498(JP,A)
【文献】特開2007-011585(JP,A)
【文献】米国特許出願公開第2015/0200774(US,A1)
【文献】米国特許出願公開第2019/0141524(US,A1)
【文献】Jinsu Kang et al.,Ephemeral ID Beacon-Based Improved Indoor Positioning System,symmetry 2018,米国,MDPI [オンライン],2018年11月10日,10(11), 622,pp. 1-13,(2024年 8月21日 検索)、インターネット,<URL: https://doi.org/10.3390/sym10110622>
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/08
H04W 48/16
H04W 12/0431
H04W 12/75
JSTPlus/JMEDPlus/JST7580(JDreamIII)
IEEE Xplore
THE ACM DIGITAL LIBRARY
(57)【特許請求の範囲】
【請求項1】
サイターからオーナーにメッセージを安全に通信するための方法であって、前記方法は、
ビーコンから、エンドツーエンド暗号化一時的識別子(E2EE-EID)を含むパケットを受信することと、
前記サイターが前記ビーコンから前記パケット内のデータを受信することと、
前記オーナーへの前記メッセージを生成すること
とを備え、前記オーナーへの前記メッセージを生成することは、前記サイターが、前記受信したデータを前記オーナーへの前記メッセージに含めることを含み、前記方法はさらに、
秘密鍵を選択することと、
前記秘密鍵と前記E2EE-EIDとを用いて交換鍵を計算することと、
前記交換鍵から共通対称鍵を抽出することと、
前記共通対称鍵を用いて前記メッセージを暗号化することと、
前記暗号化されたメッセージを前記オーナーに送信することとを含む、方法。
【請求項2】
前記オーナーへの前記メッセージを生成することは、前記サイターが、前記サイターからのデータを前記メッセージに含めることを含む、請求項
1に記載の方法。
【請求項3】
前記サイターからの前記データは、前記サイターが前記ビーコンから前記パケットを受信したときの前記サイターの位置を含む、請求項
2に記載の方法。
【請求項4】
前記サイターが、前記ビーコンから、前記パケット内の前記パケットの認証タグを受信することをさらに含み、
前記オーナーへの前記メッセージを生成することは、前記サイターが、前記認証タグを前記オーナーへの前記メッセージに含めることを含む、請求項1~
3のいずれか一項に記載の方法。
【請求項5】
前記E2EE-EIDは、前記ビーコンと前記オーナーとの間で共有される共通鍵と、時間値とを用いて生成される、請求項1~4のいずれか1項に記載の方法。
【請求項6】
前記暗号化されたメッセージを前記オーナーに送信することとは、前記暗号化されたメッセージをリゾルバを経由して前記オーナーに送信することを含み、
前記リゾルバは、前記メッセージに含まれるE2EE-EIDを、オーナーに関連するE2EE-EIDのセットと比較することによって、前記メッセージに関連するオーナーを決定し、前記メッセージを前記関連するオーナーに転送する、請求項1~5のいずれか1項に記載の方法。
【請求項7】
電子装置であって、
無線トランシーバと、
プロセッサと、
請求項1から6のいずれか
一項に記載の方法を実行するように電子装置を構成するように前記プロセッサによって実行可能な命令とを備える、電子装置。
【請求項8】
プロセッサに請求項1から
6のいずれか一項に記載の方法を実行させる、プログラム。
【発明の詳細な説明】
【背景技術】
【0001】
背景
一時的識別子(ephemeral identifier)を使用するビーコンシステムは、どのクライアントがビーコンシステムのビーコン信号を利用できるかを開発者が制御できるように設計されている。ビーコンとビーコンのオーナーとの間で共有される一時的識別子および鍵により、サイター(sighter)が一時的識別子をリゾルバサービスに送信すると、リゾルバサービスは、ビーコンのオーナーを決定することができる。ビーコンのサイターとリゾルバとの間の通信、およびリゾルバとオーナーとの間の通信は、保護されているが、ビーコンおよび/またはサイターとオーナーとの間の通信は、いずれも安全ではなく、リゾルバが見ることができる。
【発明の概要】
【0002】
概要
この概要は、三者暗号ハンドシェイクプロトコル(three-party cryptographic handshake protocol)の簡略概念を紹介するために提供されている。この簡略概念は、以下の詳細な説明においてさらに説明される。この概要は、特許請求される主題の本質的な特徴を特定することを意図しておらず、特許請求される主題の範囲の決定に使用することを意図していない。
【0003】
一態様において、無線ネットワークにおいて三者暗号ハンドシェイクプロトコルを行うための方法、装置、システム、および手段が記載されている。サイターは、ビーコンから、エンドツーエンド暗号化一時的識別子(E2EE-EID)を含むパケットを受信する。サイターは、オーナーへのメッセージを生成し、秘密鍵を選択し、秘密鍵とE2EE-EIDとを用いて交換鍵を計算する。サイターは、交換鍵から共通対称鍵を抽出し、共通対称鍵を用いてメッセージを暗号化し、暗号化メッセージをオーナーに送信する。
【0004】
一態様において、無線ネットワークにおいて三者暗号ハンドシェイクプロトコルを行うための方法、装置、システム、および手段が記載されている。サイターは、ビーコンから、ランダム値のべき乗とプロキシ値とを含むパケットを受信し、ランダム値のべき乗とプロキシ値とから、エンドツーエンド暗号化一時的識別子(E2EE-EID)を生成する。サイターは、オーナーへのメッセージを生成し、秘密鍵を選択し、秘密鍵とE2EE-EIDとを用いて交換鍵を計算する。サイターは、交換鍵から共通対称鍵を抽出し、共通対称鍵を用いてメッセージを暗号化し、暗号化メッセージをオーナーに送信する。
【0005】
一態様において、無線ネットワークにおいて三者暗号ハンドシェイクプロトコルを行うための方法、装置、システム、および手段が記載されている。ビーコンは、ビーコンとオーナーとの間で共有される共通鍵を決定する。ビーコンは、共通鍵と時間値とを用いて、エンドツーエンド暗号化一時的識別子(E2EE-EID)を生成する。ビーコンは、E2EE-EIDを含むビーコンパケットを生成し、ビーコンパケットを送信する。送信されたビーコンパケットは、ビーコンパケットを受信するサイターによって使用され、オーナーに安全なメッセージを送信する。
【0006】
一態様において、無線ネットワークにおいて三者暗号ハンドシェイクプロトコルを行うための方法、装置、システム、および手段が記載されている。ビーコンは、ビーコンとオーナーとの間で共有されるランダム値のべき乗を生成し、ランダム値とランダム値のべき乗とを記憶する。ビーコンは、ランダム値の逆数を生成し、ランダム値の逆数を記憶する。ビーコンは、記憶された逆数の値と時間値とを用いてプロキシ値を生成し、ランダム値のべき乗とプロキシ値とを含むビーコンパケットを生成する。ビーコンは、ビーコンパケットを送信する。ビーコンパケットを受信したサイターは、安全なメッセージをオーナーに送信するために使用可能なエンドツーエンド暗号化一時的識別子(E2EE-EID)を生成する。
【0007】
三者暗号ハンドシェイクプロトコルのための説明されるシステムおよび方法の特徴および概念は、任意の数の異なる環境、システム、装置、および/または様々な構成において実現することができるが、以下の例示的装置、システム、および構成に関連して、三者暗号ハンドシェイクプロトコルの実施形態を説明する。
【0008】
以下の図面を参照して、三者暗号ハンドシェイクプロトコルの実施形態を説明する。図面全体を通して、同一の番号を用いて同様の特徴および構成要素を参照する。
【図面の簡単な説明】
【0009】
【
図1】三者暗号ハンドシェイクプロトコルの様々な実施形態を実現することができる例示的な環境を示す図である
【
図2】三者暗号ハンドシェイクプロトコルの態様に従って、装置間の例示的なデータおよび制御トランザクションを示す図である。
【
図3】本明細書に記載されている技術の実施形態に従って、三者暗号ハンドシェイクプロトコルの例示的な方法を示す図である。
【
図4】本明細書に記載されている技術の実施形態に従って、三者暗号ハンドシェイクプロトコルの例示的な方法を示す図である。
【
図5】本明細書に記載されている技術の実施形態に従って、三者暗号ハンドシェイクプロトコルの例示的な方法を示す図である。
【
図6】本明細書に記載されている技術の実施形態に従って、三者暗号ハンドシェイクプロトコルの別の例示的な方法を示す図である。
【
図7】本明細書に記載されている技術の1つ以上の実施形態に従って、ネットワーク環境に実現することができる例示的なネットワーク装置を示す図である。
【
図8】本明細書に記載されている技術の1つ以上の実施形態に従って、ネットワーク環境に実現することができる例示的なビーコン装置を示す図である。
【発明を実施するための形態】
【0010】
詳細な説明
Bluetooth(登録商標)Low Energy(Bluetooth LE、BLE)ビーコンなどの低電力無線ビーコンは、ビーコンパケット(例えば、アドバタイズメントパケット)で情報を送信する。ビーコンは、直接識別可能なブロードキャスト情報(例えば、非暗号化データ)を送信することができ、または数分ごとに変わる識別子、例えば一時的識別子(一時的ID:EID)をブロードキャストすることができる。一時的識別子は、個々のビーコンと鍵(一時的識別鍵、すなわち、EIK)とを共有するオーナー(owner)によって、有用な情報に解明することができる。以下の記載ではBLEに頻繁に言及するが、BLEは、簡単にするために記載されている無線技術の一例であり、本明細書に記載されている一時的識別子は、別の無線技術(例えば、ウルトラワイドバンド(UWB)、無線ローカルエリアネットワーク(WLAN)、NFC、パーソナルエリアネットワーク(PAN)、IEEE802.15.4、ZigBee(登録商標)、Threadなど)にも同様に適用されてもよい。
【0011】
Eddystone(登録商標)オープンビーコンフォーマットなどの一時的識別子を使用するビーコンシステムは、クライアントがビーコン信号を利用することができる制御を開発者に与えるように設計されている。予め合意した擬似ランダム関数ファミリー(PRF)を使用してビーコンとオーナーとの間で状態を共有することによって、ビーコンは、アルゴリズム的方法を用いて、オーナーが誰であるかを知ることなくまたはオーナーにアクセスすることなく、サイター(sighter)がオーナーとの間の安全なチャネルを確保することができる。ビーコンと鍵を共有した正しいオーナーへのチャネルが安全であることをサイターが確信できるようにすることによって、オーナーは、サイターから受信したメッセージの信頼性を解読および確認することができる。ビーコンのオーナーを解明および発見するリゾルバは、サイターからオーナーに送信したメッセージの内容にアクセスすることができない。
【0012】
例示的な環境
図1は、三者暗号ハンドシェイクプロトコルの様々な実施形態を実現することができる例示的な環境100を示す。環境100は、ビーコン110と、サイター120と、リゾルバ130と、オーナー140とを含む。ビーコン110は、102で示すように、ビーコンパケットを定期的にブロードキャスト(例えば、送信)する装置、例えばBLEビーコン、ヘッドセットなどである。サイター(またはオブザーバ)120は、104で示すように、ビーコンパケットを受信し、受信したパケットをリゾルバサービスに転送することができる装置、例えばスマートフォンである。例えば、サイター120は、インターネット150を介して、受信したパケットをリゾルバサービス130に転送する。この例において、インターネット150は、サイター120、リゾルバ130、および/またはオーナー140を相互に接続する有線および/または無線、ローカルおよび/またはワイドエリアネットワークの任意の組み合わせを表す。クラウドベースリゾルバサービス(解明サービス)などのリゾルバ130は、106で示すように、受信したEIDを共有鍵および関連するオーナーのハッシュ値と比較して正しいオーナーを決定し、受信したパケットを正しいオーナー140に転送する。代替的または追加的に、オーナー140は、サイター120から受信した、オーナー140に関連する任意のビーコン110のパケットまたはメッセージについて、リゾルバ130に問い合わせることができる。オーナー140は、ビーコン110に関連する装置またはサービス、例えば、スマートフォン、コンピュータ、またはクラウドベースサービスである。オーナー140は、1つ以上のビーコン110を所有し、1つ以上のビーコン110の各々の共有鍵を記憶することができる。
【0013】
図1に示すように、三者暗号ハンドシェイクプロトコルは、通信のために構成された任意の好適な装置と共に使用されてもよい。オーナー140は、任意のオーナーコンピューティングシステムであってもよい。ビーコン110は、オーナーコンピューティングシステムに関連する任意の装置であってもよい。装置からオーナーコンピューティングシステムへの通信は、(装置およびオーナーコンピューティングシステムの両方のアイデンティティを隠すことによって)匿名化され、ルーティングシステム(例えば、リゾルバ130)は、匿名性を解明してオーナーコンピューティングシステムおよび装置を識別し、装置をオーナーコンピューティングシステムに接続する。サイター120は、匿名性にもかかわらず、装置からビーコンパケットを受信し、装置のサイティングに関するサイティング情報をオーナーコンピューティングシステムに送信する中間装置である任意のサイターシステムであってもよい。サイティング情報は、オーナーコンピューティングシステム以外のリゾルバ(および任意の他のネットワークノード)から安全に保たれる。
【0014】
ビーコン110は、ビーコン110とオーナー140との間で共有される共有鍵(EIK)から生成された一時的識別子(EID)と、ビーコン110がEIDを生成した時間とを含むビーコンパケット(例えば、BLEアドバタイズメントパケット)を定期的に送信(ブロードキャスト)する装置である。ビーコン110は、ビーコン110およびオーナー140に知られている回転速度で新しいEIDを計算する。ビーコン110は、限られた計算リソースおよび電力リソースを有してもよく、限られた範囲にわたってビーコンパケットをブロードキャストする。サイター120は、ビーコン110からビーコンパケットを受信することができ、長距離ネットワーク(例えば、ワイドエリアネットワーク(WAN))にアクセスすることができる。サイター120は、長距離ネットワークを介して、リゾルバ130などのクラウドベースサービスに接続することができる。これによって、サイター120は、受信したビーコンパケットをクラウドベースリゾルバ130に転送することができる。リゾルバ130は、装置(サーバ)、またはクラウドベースのサービスを形成する装置の集合体であってもよい。リゾルバ130は、オーナー140およびオーナーに関連するEIDのセットを記憶する。リゾルバ130は、ビーコンパケットから受信したEIDを、記憶されたEIDのセットと比較して、受信したビーコンパケットに関連するオーナー140を決定する。受信したビーコンパケットのオーナー140が識別されると、リゾルバ130は、ビーコンパケットをそのパケットの正しいオーナー140に転送することができる。
【0015】
ビーコン110の初期化時に、ビーコン110およびオーナー140は、108で示すように、楕円曲線ディフィー・ヘルマン鍵合意プロトコルを用いて、ビーコン110とオーナー140との間で共有される鍵(EIK)を交換する。共有EIKによって、リゾルバ130は、時間に基づいてEIDからビーコン110のアイデンティティを解明し、ビーコン110および/またはサイター120からのメッセージをオーナー140に転送することができる。サイター120とリゾルバー130との間の通信およびリゾルバー130とオーナー140との間の通信は、トランスポート層セキュリティ(TLS)を用いて保護されている。しかしながら、リゾルバ130は、ビーコン110および/またはサイター120とオーナー140との間の通信を見ることができる。リゾルバ130をサイター120とオーナー140との間のメッセージの暗号化ペイロードにアクセスすることができないルーティング要素として用いて、サイター120からオーナー140への安全な(暗号化された)エンドツーエンド通信チャネルを追加することは、ビーコン110および/またはサイター120からオーナー140へのメッセージに秘密性を提供する。
【0016】
三者暗号ハンドシェイクプロトコル
ビーコン110をオーナー140とペアリングすると、ビーコン110およびオーナー140は、上述したように、共通状態を開始し、共通鍵(EIK)に合意する。ビーコン110およびオーナー140は、PRFに基づいて、共通状態から共通ローテーション鍵を決定することができる。サイター120は、PRFに基づいた鍵(例えば、PRF-S鍵)を用いて、オーナー140に送信するメッセージを暗号化する。このペアリングおよび初期化は、近接性および他の近くの装置の欠如に基づいて安全な物理環境において実行され、キーがビーコン110およびオーナー140のみに知られることを保証する。
【0017】
ビーコン110によるブロードキャストの際に、ビーコン110は、その時点に調整されたPRF-Sに基づいて、サイター120がサイター120とオーナー140との間に安全なチャネルを確立することを支援する。また、選択的にまたは追加的に、オーナー140とビーコン110との間で共有されているPRFに基づいた認証ローテーション鍵(authentication rotating key)は、(例えば、メッセージ認証コード(MAC)を用いて)ビーコン110から送信された認証タグ(例えば、PRFタグキー(PRF-Tキー)を用いて作成された認証タグ)を用いて、通知された時間を秘密に署名する。この認証タグによって、リゾルバ130は、サイター120が関与しない場合に偽造メッセージをオーナー140に送信することができない。上述したように、ビーコン110は、自身のアイデンティティおよび自身のオーナー140を確立するためのリゾルバ130へのチャネルと、安全なペイロードを送信するための安全なチャネルとを有する。
【0018】
ビーコン110は、サイター120がオーナー140との安全なチャネルを確立することを支援する。ビーコン110は、エンドツーエンド暗号化一時的識別子(E2EE-EID)を使用する。E2EE-EIDは、時間tでオーナーの識別子を解明および識別するためにリゾルバ130に提供される。そうでない場合、時間tは、利用可能であるまたはオーナー140によって推測される。
【0019】
【0020】
【0021】
【0022】
【0023】
【0024】
【0025】
【0026】
三者暗号ハンドシェイクプロトコルを使用した結果、オーナー140は、サイター120によって受信されているビーコン110のブロードキャストに基づいて、レゾルバ130を介してビーコン110および/またはサイター120から秘密メッセージを受信することができる。このメッセージは、オーナー140のみによって認証され、復号可能である。リゾルバ130またはサイター120とオーナー140との間のネットワークに沿った任意の他のノードは、このメッセージの内容にアクセスすることができない。三者暗号ハンドシェイクプロトコルを使用するメッセージング動作について、リゾルバ130がメッセージmをオーナ140に正しくルーティングすることのみを想定する。三者暗号ハンドシェイクプロトコルの全てのプロパティは、ビーコン110とオーナー140との間の鍵の初期共有から導出される。
【0027】
プロキシ暗号化
【0028】
【0029】
【0030】
【0031】
図2は、三者暗号ハンドシェイクプロトコルの態様に従って、装置間の例示的なデータおよび制御トランザクションを示す。図示を明確にするために示していないが、三者暗号ハンドシェイクプロトコルの信頼できる動作を保証するために、
図2に示すメッセージに対する様々な確認応答が実行されてもよい。
【0032】
205において、上述のように、ビーコン110をオーナー140とペアリングする。ペアリングは、三者暗号ハンドシェイクプロトコルの鍵を共有することを含む。
【0033】
210において、ビーコンは、現在の時間に基づいてE2EE-EIDを生成する。必要に応じて、215において、ビーコン110は、ビーコンパケットの認証タグを生成する。
【0034】
220において、ビーコン110は、ビーコンパケットを生成する。ビーコン110は、E2EE-EIDと、(生成された場合)認証タグとをビーコンパケットに含める。必要に応じて、ビーコン110は、センサデータなどのペイロードデータをビーコンパケットに含めることができる。なお、ビーコン110は、E2EE-EIDの所定の回転速度に基づいて、連続する回転サイクルごとに210、215、および220の動作を繰り返す(
図2には図示せず)。225において、ビーコン110は、ビーコンパケットを送信する。ビーコン110は、回転の各サイクル中にビーコンパケットを1回または複数回送信することができる。
【0035】
【0036】
240において、リゾルバ130は、時間に基づいて、ビーコン110のアイデンティティをE2EE-EIDから解明し、アイデンティティをオーナーのセット140およびオーナーに関連するE2EE-EIDと比較する。リゾルバが受信したメッセージのオーナー140を識別した場合、リゾルバは、245において、メッセージをオーナー140に転送する。250において、オーナーは、受信したメッセージを復号する。
【0037】
ポリシー制御
サイター120がビーコンパケットの受信位置などの情報を追加する能力は、1つ以上のサイター120がビーコン110を追跡することを可能にすることができる。例えば、ビーコン110は、人によって運ばれる装置または車両に取り付けられる装置であってもよい。サイター120がオーナー140でもある場合、サイティングデータがオーナーに利用可能な速度は、問題とならないことがある。大きなグループのサイター120を用いてビーコン110の経時的な位置をクラウドソースする場合、追跡データがオーナーに利用可能な速度および/または遅延を制御するためのポリシー制御を実装することができる。例えば、サイター120がビーコンパケットを受信する時間と、サイター120がメッセージをオーナー140に送信する時間との間の最小間隔を設定するポリシーは、ビーコン110のリアルタイム追跡能力を低減する。別の例において、リゾルバ130がメッセージを受信する時間と、メッセージをオーナー140に転送する時間との間の最小間隔は、ビーコン110のリアルタイム追跡能力を低減する。追加的にまたは随意に、ビーコンサイティングからのメッセージは、バッチでサイザ120および/またはリゾルバ130にバッファリングされてもよく、バッチメッセージの送信遅延は、リアルタイム追跡の可能性を低減する。
【0038】
例示的な方法
三者暗号ハンドシェイクプロトコルの1つ以上の実施形態に従って、
図3~6を参照して例示的な方法300~600を各々説明する。記載されている方法ブロックの順序は、限定として解釈されることを意図しておらず、記載されている方法ブロックをいくらでも省略してもよく、または方法または代替方法を実現するように、任意の順序で記載されている方法ブロックを組み合わせてもよい。一般に、本明細書に記載されている構成要素、モジュール、方法、および動作はいずれも、ソフトウェア、ファームウェア、ハードウェア(例えば固定論理回路)、手動処理、またはそれらの任意の組み合わせを用いて実現可能である。これらの方法の例のいくつかの動作は、コンピュータ処理システムにローカルおよび/またはリモートであるコンピュータ読取可能記憶メモリに格納された実行可能な命令の一般的文脈の中で説明されてもよく、実現例は、ソフトウェアアプリケーション、プログラム、機能などを含み得る。これに代えてまたはこれに加えて、本明細書に記載されている機能はいずれも、少なくとも一部が、1つ以上のハードウェアロジックコンポーネントによって実行可能であり、1つ以上のハードウェアロジックコンポーネントは、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準品(ASSP)、システムオンチップシステム(SoC)、複合プログラマブルロジック装置(CPLD)などであるが、これらに限定されるものではない。
【0039】
図3は、サイターからオーナーにメッセージを安全に通信することに一般に関連する三者暗号ハンドシェイクプロトコルの例示的な方法300を示す。ブロック302において、サイター(例えば、サイター120)は、ビーコン(例えば、ビーコン110)から、エンドツーエンド暗号化一時的識別子(E2EE-EID)を含むパケットを受信する。
【0040】
【0041】
【0042】
【0043】
【0044】
【0045】
図5は、サイターからオーナーにメッセージをセキュアに通信することに一般に関連する三者暗号ハンドシェイクプロトコルの例示的な方法500を示す。ブロック502において、ビーコン(例えば、ビーコン110)は、ビーコンとオーナーとの間で共有される共通鍵を決定する。ブロック504において、ビーコンは、共通鍵と時間値とを用いてエンドツーエンド暗号化一時的識別子(E2EE-EID)を生成する。
【0046】
ブロック506において、ビーコンは、E2EE-EIDを含むビーコンパケットを生成する。ブロック508において、ビーコンは、ビーコンパケットを送信する。サイター(例えば、サイター120)は、このビーコンパケットを用いて、安全なメッセージをオーナーに送信することができる。
【0047】
【0048】
【0049】
ブロック612において、ビーコンは、ランダム値のべき乗とプロキシ値とを含むビーコンパケットを生成する。ブロック614において、ビーコンは、ビーコンパケットを送信する。この送信によって、サイター(例えば、サイター120)は、安全なメッセージをオーナーに送信するために使用可能なエンドツーエンド暗号化一時的識別子(E2EE-EID)を生成する。
【0050】
例示的な装置
図7は、本明細書に記載されている三者暗号ハンドシェイクプロトコルの1つ以上の実施形態に従って、ネットワーク内のネットワーク装置、例えば、サイター120、リゾルバ130、またはオーナー140のいずれかとして実装され得る例示的なネットワーク装置700を示す。ネットワーク装置700は、電子回路、マイクロプロセッサ、メモリ、入出力(I/O)論理制御、通信インターフェイスおよびコンポーネント、ならびにネットワーク内の装置を実装するための他のハードウェア、ファームウェア、および/またはソフトウェアと一体化されてもよい。
【0051】
この例において、ネットワーク装置700は、実行可能な命令を処理するための低電力マイクロプロセッサ702および/または高電力マイクロプロセッサ704(例えば、マイクロコントローラまたはデジタル信号プロセッサ)を含む。また、ネットワーク装置は、(例えば、電子回路を含むための)入出力(I/O)論理制御706を含む。マイクロプロセッサは、集積回路、プログラマブル論理装置、1つ以上の半導体を用いて形成された論理装置、ならびにシステムオンチップ(SoC)として実装されたプロセッサおよびメモリシステムなどの他のシリコンおよび/またはハードウェアの実装を含むことができる。代替的にまたは追加的に、ビーコン装置は、ソフトウェア、ハードウェア、ファームウェア、または処理回路および制御回路で実現され得る固定論理回路のいずれか1つまたは組み合わせで実装されてもよい。また、低電力マイクロプロセッサ702および高電力マイクロプロセッサ704は、装置の1つ以上の異なる装置機能をサポートすることができる。例えば、高電力マイクロプロセッサ704は、計算集約的な動作を実行することができ、低電力マイクロプロセッサ702は、1つ以上のセンサ708からの危険または温度を検出するなど、より単純な処理を管理することができる。また、低電力プロセッサ702は、計算集約的な処理を行うために高電力プロセッサ704を起動または初期化することができる。
【0052】
1つ以上のセンサ708は、加速度、温度、湿度、水分、供給電力、近接度、外部の動き、装置の動き、音声信号、超音波信号、光信号、火、煙、一酸化炭素、全地球測位衛星(GPS)信号、無線周波数(RF)、他の電磁信号または電磁場などのさまざまな特性を検出するように含まれて実装されてもよい。したがって、センサ708は、温度センサ、湿度センサ、危険関連センサ、他の環境センサ、加速度計、マイクロフォン、カメラ(例えば、電荷結合素子またはビデオカメラ)、光学センサ、能動または受動放射センサ、GPS受信機、および無線周波数識別検出器のいずれか1つまたは組み合わせを含んでもよい。実装形態において、ネットワーク装置700は、1つ以上の一次センサと、1つ以上の二次センサとを含んでもよい。一次センサは、装置のコア動作(例えば、サーモスタットにおける温度の検知、または煙検知器における煙の検知)を中心とするデータを検知し、二次センサは、エネルギー効率の目的またはスマート操作の目的で使用可能な他の種類のデータ(例えば、動き、光または音)を検知する。
【0053】
ネットワーク装置700は、メモリ装置コントローラ710と、任意の種類の不揮発性メモリおよび/または他の適切な電子データ記憶装置などのメモリ装置712とを含む。また、ネットワーク装置700は、メモリによってコンピュータ実行可能な命令として保存され、マイクロプロセッサによって実行される様々なファームウェアおよび/またはソフトウェア、例えばオペレーティングシステム714を含むことができる。この装置ソフトウェアは、三者暗号ハンドシェイクプロトコルの実施形態を実装するメッセージングアプリケーション716を含んでもよい。また、ネットワーク装置700は、別の装置または周辺コンポーネントとインターフェイスするための装置インターフェイス718を含み、コンポーネント間のデータ通信を行うために無線ネットワーク装置の様々なコンポーネントを連結するための統合データバス720を含む。また、無線ネットワーク装置のデータバスは、異なるバス構造および/またはバスアーキテクチャのいずれか1つまたは組み合わせとして実装されてもよい。
【0054】
装置インターフェイス718は、(例えば、ユーザインターフェイスとして)ユーザから入力を受信することができ、および/またはユーザに情報を提供することができ、受信した入力を用いて設定を決定することができる。また、装置インターフェイス718は、ユーザ入力に応答する機械コンポーネントまたは仮想コンポーネントを含むことができる。例えば、ユーザは、摺動コンポーネントまたは回転可能なコンポーネントを機械的に動かすことができ、またはタッチパッドに沿った動きを検出することができる。このような動きは、装置の設定調整に対応してもよい。物理的および仮想的な可動ユーザインターフェイスコンポーネントは、ユーザが見かけの連続体の一部分に沿って設定を入力することを可能にすることができる。また、装置インターフェイス718は、任意の数の周辺機器、例えば、ボタン、キーパッド、スイッチ、マイクロフォン、および撮像装置(例えば、カメラ装置)から入力を受信することができる。
【0055】
ネットワーク装置700は、ネットワークインターフェイス722、例えば、無線ネットワーク内の他の無線ネットワーク装置と通信するための無線ネットワークインターフェイスおよびインターネットなどを介してネットワーク通信を行うための外部ネットワークインターフェイスを含むことができる。また、ネットワーク装置700は、無線ネットワークインターフェイスを介して他の無線ネットワーク装置および複数の異なる無線通信システムと無線通信を行うためのワイヤレス無線システム724を含む。ワイヤレス無線システム724は、Wi-Fi(登録商標)、Bluetooth(登録商標)、BLE、モバイルブロードバンド、および/またはポイントツーポイントIEEE802.15.4を含んでもよい。異なる無線システムの各々は、特定の無線通信技術のために実装された無線装置、アンテナ、およびチップセットを含んでもよい。また、ネットワーク装置700は、バッテリなどの電源726、および/または装置をライン電圧に接続するための電源726を含む。AC電源を用いて装置のバッテリを充電してもよい。
【0056】
図8は、本明細書に記載されている三者暗号ハンドシェイクプロトコルの1つ以上の実施形態に従って、ネットワーク内のビーコン装置110として実装され得る例示的なビーコン装置800を示す。ビーコン装置800は、電子回路、マイクロプロセッサ、メモリ、入出力(I/O)論理制御、通信インターフェイスおよびコンポーネント、ならびにネットワーク内の装置を実装するための他のハードウェア、ファームウェア、および/またはソフトウェアと一体化されてもよい。
【0057】
この例において、ビーコン装置800は、実行可能な命令を処理するための1つ以上のプロセッサ802(例えば、マイクロコントローラまたはデジタル信号プロセッサ)を含む。また、ビーコン装置は、(例えば、電子回路を含むための)入出力(I/O)論理制御804を含む。プロセッサは、集積回路、プログラマブル論理装置、1つ以上の半導体を用いて形成された論理装置、ならびにシステムオンチップ(SoC)として実装されたプロセッサおよびメモリシステムなどの他のシリコンおよび/またはハードウェアの実装を含むことができる。代替的にまたは追加的に、ビーコン装置は、ソフトウェア、ハードウェア、ファームウェア、または処理回路および制御回路で実現され得る固定論理回路のいずれか1つまたは組み合わせで実装されてもよい。
【0058】
必要に応じてまたはそれに加えて、1つ以上のセンサ806は、加速度、温度、湿度、水分、供給電力、近接度、外部の動き、装置の動き、音声信号、超音波信号、光信号、火、煙、一酸化炭素、全地球測位衛星(GPS)信号、無線周波数(RF)、他の電磁信号または電磁場などのさまざまな特性を検出するように含まれて実装されてもよい。したがって、センサ806は、温度センサ、湿度センサ、危険関連センサ、他の環境センサ、加速度計、マイクロフォン、カメラ(例えば、電荷結合素子またはビデオカメラ)、光学センサ、能動または受動放射センサ、GPS受信機、および無線周波数識別検出器のいずれか1つまたは組み合わせを含んでもよい。実装形態において、ビーコン装置800は、1つ以上の一次センサと、1つ以上の二次センサとを含んでもよい。一次センサは、装置のコア動作(例えば、サーモスタットにおける温度の検知、または煙検知器における煙の検知)を中心とするデータを検知し、二次センサは、エネルギー効率の目的またはスマート操作の目的で使用可能な他の種類のデータ(例えば、動き、光または音)を検知する。
【0059】
ビーコン装置800は、任意の種類の不揮発性メモリおよび/または他の適切な電子データ記憶装置などのメモリ808を含む。また、ビーコン装置800は、メモリによってコンピュータ実行可能な命令として保存され、プロセッサによって実行される様々なファームウェアおよび/またはソフトウェア、例えばオペレーティングシステム810を含むことができる。この装置ソフトウェアは、三者暗号ハンドシェイクプロトコルの実施形態を実装するビーコンアプリケーション812を含んでもよい。必要に応じてまたはそれに加えて、ビーコン装置800は、別の装置または周辺コンポーネントとインターフェイスするための装置インターフェイス814を含む。ビーコン装置800は、コンポーネント間のデータ通信を行うためにビーコン装置の様々なコンポーネントを連結するための統合データバス816を含む。また、ビーコン装置内のデータバスは、異なるバス構造および/またはバスアーキテクチャのいずれか1つまたは組み合わせとして実装されてもよい。
【0060】
装置インターフェイス814は、(例えば、ユーザインターフェイスとして)ユーザから入力を受信することができ、および/またはユーザに情報を提供することができ、受信した入力を用いて設定を判定することができる。また、装置インターフェイス814は、ユーザ入力に応答する機械コンポーネントまたは仮想コンポーネントを含むことができる。例えば、ユーザは、摺動コンポーネントまたは回転可能なコンポーネントを機械的に動かすことができ、またはタッチパッドに沿った動きを検出することができる。このような動きは、装置の設定調整に対応してもよい。物理的および仮想的な可動ユーザインターフェイスコンポーネントは、ユーザが見かけの連続体の一部分に沿って設定を入力することを可能にすることができる。また、装置インターフェイス814は、任意の数の周辺機器、例えば、ボタン、キーパッド、スイッチ、マイクロフォン、および撮像装置(例えば、カメラ装置)から入力を受信することができる。
【0061】
ビーコン装置800は、無線通信を行うためのワイヤレス無線システム818を含むことができる。ワイヤレス無線システム818は、Wi-Fi(登録商標)、Bluetooth(登録商標)、BLE、モバイルブロードバンド、および/またはポイントツーポイントIEEE802.15.4を含むことができる。ワイヤレス無線システム818は、特定の無線通信技術のために実装された無線装置、アンテナ、およびチップセットを含むことができる。また、ビーコン装置800は、バッテリなどの電源820、および/または装置をライン電圧に接続するための電源820を含む。AC電源を用いて装置のバッテリを充電してもよい。
【0062】
以下にいくつかの例を記載する。
例1
サイターからオーナーにメッセージを安全に通信するための方法であって、この方法は、
ビーコンから、エンドツーエンド暗号化一時的識別子(E2EE-EID)を含むパケットを受信することと、
オーナーへのメッセージを生成することと、
秘密鍵を選択することと、
秘密鍵とE2EE-EIDとを用いて交換鍵を計算することと、
交換鍵から共通対称鍵を抽出することと、
共通対称鍵を用いてメッセージを暗号化することと、
暗号化メッセージをオーナーに送信することとを含む。
【0063】
例2
サイターがビーコンからパケット内のデータを受信することをさらに含み、
オーナーへのメッセージを生成することは、サイターが、受信データをオーナーへのメッセージに含めることを含む、例1に記載の方法。
【0064】
例3
オーナーへのメッセージを生成することは、サイターが、サイターからのデータをメッセージに含めることを含む、例1または例2に記載の方法。
【0065】
例4
サイターからのデータは、サイターがビーコンからパケットを受信したときのサイターの位置を含む、例3に記載の方法。
【0066】
例5
サイターが、ビーコンから、パケット内のパケットの認証タグを受信することをさらに含み、
オーナーへのメッセージを生成することは、サイターが、認証タグをオーナーへのメッセージに含めることを含む、前述した例のいずれか1つに記載の方法。
【0067】
例6
サイターからオーナーにメッセージを安全に通信するための方法であって、この方法は、
ビーコンから、ランダム値のべき乗とプロキシ値とを含むパケットを受信することと、
ランダム値のべき乗とプロキシ値とから、エンドツーエンド暗号化一時的識別子(E2EE-EID)を生成することと、
オーナーへのメッセージを生成することと、
秘密鍵を選択することと、
秘密鍵とE2EE-EIDとを用いて交換鍵を計算することと、
交換鍵から共通対称鍵を抽出することと、
共通対称鍵を用いてメッセージを暗号化することと、
暗号化メッセージをオーナーに送信することとを含む。
【0068】
例7
サイターがビーコンからパケット内のデータを受信することをさらに含み、
オーナーへのメッセージを生成することは、サイターが、受信データをオーナーへのメッセージに含めることを含む、例6に記載の方法。
【0069】
例8
オーナーへのメッセージを生成することは、サイターが、サイターからのデータをメッセージに含めることを含む、例6または例7に記載の方法。
【0070】
例9
サイターからのデータは、サイターがビーコンからパケットを受信したときのサイターの位置を含む、例8に記載の方法。
【0071】
例10
サイターが、ビーコンから、パケット内のパケットの認証タグを受信することをさらに含み、
オーナーへのメッセージを生成することは、サイターが、認証タグをオーナーへのメッセージに含めることを含む、例6から9のいずれか1つに記載の方法。
【0072】
例11
ビーコンからオーナーにメッセージを安全に通信するための方法であって、この方法は、
ビーコンが、ビーコンとオーナーとの間で共有される共通鍵を決定することと、
ビーコンが、共通鍵と時間値とを用いて、エンドツーエンド暗号化一時的識別子(E2EE-EID)を生成することと、
ビーコンが、E2EE-EIDを含むビーコンパケットを生成することと、
ビーコンが、ビーコンパケットを送信することとを含み、ビーコンパケットは、サイターによって使用され、オーナーに安全なメッセージを送信する。
【0073】
例12
ビーコンパケットを生成することは、ビーコンが、データをビーコンパケットに含めることを含む、例11に記載の方法。
【0074】
例13
データは、ビーコンに含まれるセンサからのデータである、例12に記載の方法。
【0075】
例14
ビーコンが、ビーコンパケットの認証タグを生成することをさらに含み、
ビーコンパケットを生成することは、ビーコンが、認証タグをビーコンパケットに含めることを含む、例11~13のいずれか1つに記載の方法。
【0076】
例15
ビーコンからオーナーにメッセージを安全に通信するための方法であって、この方法は、
ビーコンが、ビーコンとオーナーとの間で共有されるランダム値のべき乗を生成することと、
ビーコンが、ランダム値とランダム値のべき乗とを記憶することと、
ビーコンが、ランダム値の逆数を生成することと、
ビーコンが、ランダム値の逆数を記憶することと、
ビーコンが、逆数の記憶値と時間値とを用いてプロキシ値を生成することと、
ビーコンが、ランダム値のべき乗とプロキシ値とを含むビーコンパケットを生成することと、
ビーコンが、ビーコンパケットを送信することとを含み、当該送信によって、サイターが、オーナーに安全なメッセージを送信するために使用可能なエンドツーエンド暗号化一時的識別子(E2EE-EID)を生成する。
【0077】
例16
ビーコンパケットを生成することは、ビーコンが、データをビーコンパケットに含めることを含む、例15に記載の方法。
【0078】
例17
データは、ビーコンに含まれるセンサからのデータである、例16に記載の方法。
【0079】
例18
ビーコンが、ビーコンパケットの認証タグを生成することをさらに含み、
ビーコンパケットを生成することは、ビーコンが、認証タグをビーコンパケットに含めることを含む、例15から17のいずれか1つに記載の方法。
【0080】
例19
電子装置であって、
無線トランシーバと、
プロセッサと、
方法1から18のいずれか1つを実行するように電子装置を構成するようにプロセッサによって実行可能な命令とを備える。
【0081】
例20
プロセッサによる実行に応答して、請求項1から18のいずれか一項に記載の方法を実行させる命令を含むコンピュータ可読記憶媒体。
【0082】
特徴および/または方法に特有の言語で三者暗号ハンドシェイクプロトコルの実施形態を説明してきたが、添付の特許請求の範囲の主題は、説明された特定の特徴または方法に必ずしも限定されない。むしろ、特定の特徴および方法は、三者暗号ハンドシェイクプロトコルの例示的な実現例として開示され、他の同等の特徴および方法は、添付の請求項の範囲にあるように意図される。さらに、様々な異なる実施形態が記載されており、記載されている各実施形態は、独立してまたは記載されている1つ以上の他の実施形態と関連して実現可能であることを理解されたい。