以下は、添付の図面を参照して、本出願の実施形態の実装を詳細に説明する。
本出願の実施形態において提供される方法は、様々な通信システムに適用され得る。例えば通信システムは、長期進化(long term evolution、LTE)システム、第5世代(5th generation、5G)通信システム、新しい無線(new radio、NR)システム、ワイヤレスフィデリティ(wireless fidelity、Wi-Fi)システム、第3世代パートナーシッププロジェクト(3rd generation partnership project、3GPP(登録商標))に関連する通信システム及び将来展開される通信システムであり得る。これは限定されない。図1に示される通信システム10は単に、本出願の実施形態において提供される方法を説明するために一例として以下で使用される。
図1は、本出願の一実施形態による通信システム10の概略アーキテクチャ図である。図1において、通信システム10は、ノード101と、該ノード101と通信することができるノード102を含み得る。図1は、概略図にすぎず、本出願で提供される技術的解決策の適用可能なシナリオに対する限定を構成するものではない。
図1のノード101又はノード102は、受信及び送信機能を有する任意のデバイスであり得る。このデバイスは、LTEにおけるevolved NodeB(NodeB、eNB又はe-NodeB、evolutional Node B)、NRにおけるgNodeB(gNodeB又はgNB)又は送信受信点(transmission receiving point/transmission reception point、TRP)、3GPPからその後進化した基地局、Wi-Fiシステムにおけるアクセスノード、無線中継ノード、無線バックホールノード、データ転送デバイス(例えばルータ、中継器、ブリッジ又はスイッチ)等を含むが、これらに限定されない。基地局は、マクロ基地局、マイクロ基地局、ピコセル基地局、スモールセル、中継基地局、バルーン基地局等であり得る。あるいは、ノード101又はノード102は、クラウド無線アクセスネットワーク(cloud radio access network、CRAN)シナリオにおける無線コントローラ、集中ユニット(centralized unit、CU)及び/又は分散ユニット(distributed unit、DU)であってもよい。あるいは、ノード101又はノード102は、サーバ、ウェアラブルデバイス(スマートウォッチ、スマートバンド又は歩数計等)、機械通信デバイス、車載デバイス等であってもよい。ノード101又はノード102は、携帯電話(mobile phone)、タブレットコンピュータ(Pad)、無線送受信機能を有するコンピュータ、ヘッドセット、スピーカ、仮想現実(virtual reality、VR)端末デバイス、拡張現実(augmented reality、AR)、機械型通信(machine type communication、MTC)における端末、産業用制御(industrial control)における端末、車載端末デバイス、自走式(self driving)の端末、補助運転の端末デバイス、遠隔医療(remote medical)における端末、スマートグリッド(smart grid)における端末、輸送安全性(transportation safety)における端末、スマートシティ(smart city)の端末、スマートホーム(smart home)の端末等であり得る。適用シナリオは、本出願の実施形態において限定されない。端末は、端末デバイス、ユーザ機器(user equipment、UE)、アクセス端末デバイス、車載端末、産業制御端末、UEユニット、UE局、移動局、移動コンソール、リモート局、リモート端末デバイス、モバイルデバイス、UE端末デバイス、無線通信デバイス、機械端末、UEエージェント、UE装置等とも呼ばれることがある。端末は固定式であっても移動式であってもよい。あるいは、ノード101又はノード102は、車両コックピットドメイン(cockpit domain)デバイス又は車両コックピットドメイン内のモジュール(コックピットドメインコントローラ(cockpit domain controller、CDC))、カメラ、スクリーン、マイクロホン、スピーカ、電子キー又は受動エントリ受動開始システムコントローラのような)であってもよい。
図1に示される通信システム10は、単に一例として使用されるものであるが、本出願の技術的解決策を限定するよう意図されていない。当業者は、特定の実装プロセスにおいて、通信システム10が別のデバイスを更に含んでもよく、ノードの数量が特定の要件に基づいて決定されてよいことを理解すべきである。これに限定されない。
任意に、本出願の実施形態では、ノード101又はノード102のような図1の各ノードは、装置内の機能モジュールであってもよい。機能モジュールは、ハードウェアデバイス内の要素、例えば端末デバイス又はネットワークデバイス内の通信チップ又は通信構成要素であってもよく、あるいはハードウェア上で動作するソフトウェア機能モジュール又はプラットフォーム(例えばクラウドプラットフォーム)上でインスタンス化された仮想化機能であってもよいことが理解され得る。
例えば図1の各ノードは、図2の通信装置200を使用することによって実装され得る。図2は、本出願の実施形態に適用可能な通信装置のハードウェア構造の概略図である。通信装置200は、少なくとも1つのプロセッサ201、メモリ203及び少なくとも1つの通信インタフェース204を含み得る。任意に、通信装置は、通信線202を更に含む。
少なくとも1つのプロセッサ201は、汎用中央処理ユニット(central processing unit、CPU)、マイクロプロセッサ、特定用途向け集積回路(application-specific integrated circuit、ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA)又は本出願の解決策においてプログラム実行を制御するよう構成される1つ以上の集積回路のうちの1つ以上を含み得る。
通信線202は、前述の構成要素間で情報を送信するよう構成され得る。例えば通信線202はバスである。
通信インタフェース204は、別のデバイス又は通信ネットワークと通信するよう構成され、イーサネット(登録商標)インタフェース、無線アクセスネットワーク(radio access network、RAN)インタフェース又は無線ローカルエリアネットワーク(wireless local area networks、WLAN)インタフェース等のようなトランシーバタイプの任意の装置である。あるいは、通信インタフェース204は、データ、命令又は情報の送信又は受信を完了するために、少なくとも1つのプロセッサ201に入力及び出力を提供し得る。しかしながら、接続構造は、図2に示されるものに限定されない。
メモリ203は、静的情報及び命令を記憶することができる読取専用メモリ(read-only memory、ROM)又は別のタイプの静的ストレージデバイス、あるいは情報及び命令を記憶することができるランダムアクセスメモリ(random access memory、RAM)又は別のタイプの動的ストレージデバイスであってよく、あるいは電気的消去可能なプログラマブル読取専用メモリ(electrically erasable programmable read-only memory、EEPROM)、コンパクトディスク読取専用メモリ(compact disc read-only memory、CD-ROM)又は他のコンパクトディスクストレージ、光ディスクストレージ(圧縮光ディスク、レーザディスク、光ディスク、デジタル多用途光ディスク、ブルーレイ(登録商標)ディスク等を含む)、磁気ディスク記憶媒体又は別の磁気記憶デバイス、あるいは予期されるプログラムコードを命令又はデータ構造の形態で担持又は記憶することができ、かつコンピュータによってアクセスされることができる任意の他の媒体であってよいが、これに限定されない。メモリは独立に存在してもよく、通信線202を介してプロセッサに接続される。あるいは、メモリは、プロセッサと一体化されてもよい。本出願の実施形態において提供されるメモリは、通常、不揮発性であり得る。メモリ203は、本出願の解決策を実行するためのコンピュータ実行可能命令を記憶するよう構成され、プロセッサ201は実行を制御する。プロセッサ201は、メモリ203に記憶されたコンピュータ実行可能命令を実行するよう構成され、本出願の実施形態に提供される方法を実装する。
任意に、本出願の実施形態におけるコンピュータ実行可能命令は、アプリケーションプログラムコードとも呼ばれることがある。これは、本出願の実施態様において特に限定されない。
特定の実装の間に、一実施形態では、プロセッサ201は、1つ以上のCPU、例えば図2のCPU0及びCPU1を含み得る。
特定の実装の間に、一実施形態では、通信装置200は、複数のプロセッサ、例えば図2のプロセッサ201及びプロセッサ207を含み得る。プロセッサの各々は、シングルコア(シングルCPU)プロセッサであり得るか、マルチコア(マルチCPU)プロセッサであり得る。本明細書におけるプロセッサは、データ(例えばコンピュータプログラム命令)を処理するよう構成される1つ以上のデバイス、回路及び/又は処理コアを参照し得る。
特定の実装の間に、一実施形態では、通信装置200は、出力デバイス205と入力デバイス206を更に含み得る。出力デバイス205は、プロセッサ201と通信し、複数の方式で情報を表示し得る。例えば出力デバイス205は、液晶ディスプレイ(liquid crystal display、LCD)、発光ダイオード(light-emitting diode、LED)ディスプレイデバイス、陰極線管(cathode ray tube、CRT)ディスプレイデバイス又はプロジェクタ(projector)であり得る。入力デバイス206は、プロセッサ201と通信し、複数の方式でユーザから入力を受信し得る。例えば入力デバイス206は、マウス、キーボード、タッチスクリーンデバイス又は感知デバイスであり得る。
特定の実装の間に、通信装置200は、デスクトップコンピュータ、ポータブルコンピュータ、ネットワークサーバ、パーソナルデジタルアシスタント(personal digital assistant、PDA)、携帯電話、タブレットコンピュータ、無線端末デバイス、内蔵デバイス又は図2と同様の構造を有するデバイスであり得る。通信装置200のタイプは、本出願の実施形態では限定されない。
以下では、図1及び図2を参照して、本出願の実施形態における通信方法を具体的に説明する。以下の実施形態におけるノードは、図2に示される構成要素を有し得る。
本出願の実施形態におけるアルゴリズムは、シグナリングプレーン(signaling plane)アルゴリズム、ユーザプレーン(user plane)アルゴリズム又はシグナリングプレーンアルゴリズムとユーザプレーンアルゴリズムであり得ることに留意されたい。シグナリングプレーンは、制御型シグナリング(control-type signaling)、例えばアクセス要求情報又はアイデンティティ認証情報を送信するために使用され、ユーザプレーンは、データを送信するために使用される。シグナリングプレーンアルゴリズムは、第1ノードと第2ノードとの間のシグナリングプレーン通信に使用される。シグナリングプレーンアルゴリズムは、暗号化アルゴリズム及び/又は完全性保護アルゴリズム及び/又は認証された暗号化アルゴリズムを含み得る。ユーザプレーンアルゴリズムは、第1ノードと第2ノードとの間のユーザプレーン通信に使用される。ユーザプレーンアルゴリズムは、暗号化アルゴリズム及び/又は完全性保護アルゴリズム及び/又は認証された暗号化アルゴリズムを含み得る。
本出願の実施形態において、ユーザプレーンアルゴリズムは、シグナリングプレーンアルゴリズムと同じであってよく、あるいはシグナリングプレーンアルゴリズムとは異なっていてもよい。シグナリングプレーンアルゴリズムが、ユーザプレーンアルゴリズムと同じであることは、以下のように表され得る:シグナリングプレーンアルゴリズムの数量が、ユーザプレーンアルゴリズムの数量と同じであり、シグナリングプレーンアルゴリズムのタイプが、ユーザプレーンアルゴリズムのタイプと同じであり、シグナリングプレーンアルゴリズムの識別子が、ユーザプレーンアルゴリズムの識別子と同じである。例えば2つのシグナリングプレーンアルゴリズム:暗号化アルゴリズム1と完全性保護アルゴリズム1が存在し、また2つのユーザプレーンアルゴリズム:暗号化アルゴリズム1と完全性保護アルゴリズム1も存在する。シグナリングプレーンアルゴリズムが、ユーザプレーンアルゴリズムと異なることは、以下のように表され得る:シグナリングプレーンアルゴリズムのタイプが、ユーザプレーンアルゴリズムのタイプと異なり(例えばシグナリングプレーンアルゴリズムが、暗号化アルゴリズムと完全性保護アルゴリズムを含み、ユーザプレーンアルゴリズムが、認証された暗号化アルゴリズムを含む)、及び/又はシグナリングプレーンアルゴリズムの数量が、ユーザプレーンアルゴリズムの数量と異なる(例えば2つのシグナリングプレーンアルゴリズムが存在し、1つのユーザプレーンアルゴリズムが存在する)か;あるいはシグナリングプレーンアルゴリズムのタイプがユーザプレーンアルゴリズムのタイプと同じであり、シグナリングプレーンアルゴリズムの数量がユーザプレーンアルゴリズムの数量と同じであるとき、シグナリングプレーンアルゴリズムの識別子が、ユーザプレーンアルゴリズムの識別子と異なる(例えば2つのシグナリングプレーンアルゴリズム:暗号化アルゴリズム1と完全性保護アルゴリズム1が存在し、2つのユーザプレーンアルゴリズム:暗号化アルゴリズム2と完全性保護アルゴリズム2が存在する)。
本出願の以下の実施態様において、ノード間のメッセージの名前、メッセージ内の各パラメータの名前等は、単なる例示であり、特定の実装の間では代替的に別の名前であってもよいことに留意されたい。これは、本出願の実施態様において特に限定されない。
本出願の実施形態において、第1ノード又は第2ノードは、本出願の実施形態におけるステップの一部又はすべてを実行し得ることが理解され得る。これらのステップは単なる例である。本出願の実施形態において、他のステップ又は様々なステップの変形が代替的に実行されてもよい。加えて、ステップは、本出願の実施形態において提示される順序とは異なる順序で実行されてよく、本出願の実施形態におけるステップの必ずしもすべてが実行される必要がない可能性がある。
図3は、本出願の一実施形態による通信方法を示す。通信方法は、ステップ301~ステップ303を含む。
ステップ301:第2ノードが、第1アルゴリズムネゴシエーション要求情報を第1ノードに送信する。
第2ノードは、図1の任意のノードであってよい。例えば第2ノードは、図1に示されるノード101又はノード102であり得る。第2ノードが、図1に示されるノード101であるとき、第1ノードは、図1に示されるノード102であり得る。第2ノードが、図1に示されるノード102であるとき、第1ノードは、図1に示されるノード101であり得る。
第1アルゴリズムネゴシエーション要求情報は、1つ以上のアルゴリズム及び1つ以上の鍵導出関数(key derivation function、KDF)を示すために使用され得る。1つ以上のアルゴリズムは、第2ノードによってサポートされる1つ以上のアルゴリズムであり得る。1つ以上のKDFは、第2ノードによってサポートされる1つ以上のKDFであり得る。KDFは、1つ以上のアルゴリズムの一部又はすべてに対応する鍵を生成するために使用され得る。
本明細書では、第2ノードによってサポートされる1つ以上のアルゴリズム及び/又は第2ノードによってサポートされる1つ以上のKDFは、第2ノードのセキュリティ能力と総称されることがあることに留意されたい。
1つ以上のアルゴリズムは、同じタイプのアルゴリズムであってよく、あるいは異なるタイプのアルゴリズムであってもよい。例えば1つ以上のアルゴリズムは、暗号化アルゴリズム及び/又は完全性保護アルゴリズム及び/又は認証された暗号化アルゴリズムを含む。さらに、1つ以上のアルゴリズムは、少なくとも1つの暗号化アルゴリズム及び/又は少なくとも1つの完全性保護アルゴリズム及び/又は少なくとも1つの認証された暗号化アルゴリズムを含む。暗号化アルゴリズムは、該暗号化アルゴリズムの鍵を使用することによって第1ノードと第2ノードとの間の通信情報の一部又はすべてを暗号化又は復号するために使用され得る。完全性保護アルゴリズムは、該完全性保護アルゴリズムに対応する鍵を使用することによって、第1ノードと第2ノードとの間の通信情報の一部又はすべてに対して完全性保護を実行するため、あるいは完全性保護アルゴリズムに対応する鍵を使用することによって、第1ノードと第2ノードとの間の通信情報の一部又はすべての完全性を検証するために、使用され得る。認証された暗号化アルゴリズムは、該認証された暗号化アルゴリズムの鍵を使用することによって、第1ノードと第2ノードとの間の通信情報の一部又はすべてを暗号化又は復号するために使用されてよく、認証された暗号化アルゴリズムは、該認証された暗号化アルゴリズムの鍵を使用することによって、第1ノードと第2ノードとの間の通信情報の一部又はすべてに対して完全性保護を実行するため、あるいは認証された暗号化アルゴリズムの鍵を使用することによって、第1ノードと第2ノードとの間の通信情報の一部又はすべての完全性を検証するために、使用され得る。
第1アルゴリズムネゴシエーション要求情報によって示される暗号化アルゴリズム、完全性保護アルゴリズム又は認証された暗号化アルゴリズムの数量は、本出願のこの実施形態において限定されないことが理解され得る。例えば第1アルゴリズムネゴシエーション要求情報は、8つのアルゴリズムを示すことができ、8つのアルゴリズムは、2つの暗号化アルゴリズムと、3つの完全性保護アルゴリズムと、3つの認証された暗号化アルゴリズムを含む。
任意に、第1アルゴリズムネゴシエーション要求情報によって示される1つ以上のアルゴリズム及び1つ以上のKDFは、優先度に基づいてソートされる。例えば第1アルゴリズムネゴシエーション要求情報によって示される1つ以上のアルゴリズム及び1つ以上のKDFは、優先度の降順にソートされるか、あるいは第1アルゴリズムネゴシエーション要求情報によって示される1つ以上のアルゴリズム及び1つ以上のKDFは、優先度の昇順にソートされる。
例えば第1アルゴリズムネゴシエーション要求情報によって示される1つ以上のアルゴリズム及び1つ以上のKDFは、優先度の降順にソートされる。第1アルゴリズムネゴシエーション要求情報が、暗号化アルゴリズム1、暗号化アルゴリズム2、完全性保護アルゴリズム1、完全性保護アルゴリズム2、KDF1及びKDF2を示すために使用される場合、暗号化アルゴリズムの優先度は、完全性保護アルゴリズムの優先度以上である。暗号化アルゴリズムでは、暗号化アルゴリズム1の優先度は、暗号化アルゴリズム2の優先度以上である。完全性保護アルゴリズムでは、完全性保護アルゴリズム1の優先度は、完全性保護アルゴリズム2の優先度以上である。KDFでは、KDF1の優先度は、KDF2の優先度以上である。
例えば第1アルゴリズムネゴシエーション要求情報によって示される1つ以上のアルゴリズム及び1つ以上のKDFは、優先度の昇順にソートされる。第1アルゴリズムネゴシエーション要求情報が、暗号化アルゴリズム1、暗号化アルゴリズム2、完全性保護アルゴリズム1、完全性保護アルゴリズム2、KDF1及びKDF2を示すために使用される場合、暗号化アルゴリズムの優先度は、完全性保護アルゴリズムの優先度以下である。暗号化アルゴリズムでは、暗号化アルゴリズム1の優先度は、暗号化アルゴリズム2の優先度以下である。完全性保護アルゴリズムでは、完全性保護アルゴリズム1の優先度は、完全性保護アルゴリズム2の優先度以下である。KDFでは、KDF1の優先度は、KDF2の優先度以下である。
1つ以上のアルゴリズムがシグナリングプレーンアルゴリズムとユーザプレーンアルゴリズムの両方を含む場合、1つ以上のアルゴリズムは、シグナリングプレーンアルゴリズムの優先度とユーザプレーンアルゴリズムの優先度に基づいて別々にソートされることが理解され得る。
例えば第1アルゴリズムネゴシエーション要求情報によって示される1つ以上のアルゴリズム及び1つ以上のKDFは、優先度の降順にソートされる。第1アルゴリズムネゴシエーション要求情報によって示されるアルゴリズム及びKDFは表1に示され得ることが想定される。表1では、ユーザプレーンアルゴリズムは、暗号化アルゴリズム1、暗号化アルゴリズム2及び完全性保護アルゴリズム1を含み、シグナリングプレーンアルゴリズムは、暗号化アルゴリズム2、完全性保護アルゴリズム1及び完全性保護アルゴリズム2を含み、KDFは、KDF1、KDF2及びKDF3を含む。このケースでは、ユーザプレーンアルゴリズム及びシグナリングプレーンアルゴリズムでは、暗号化アルゴリズムの優先度は、完全性保護アルゴリズムの優先度以上である。ユーザプレーンアルゴリズムに含まれる暗号化アルゴリズムでは、暗号化アルゴリズム1の優先度は、暗号化アルゴリズム2の優先度以上である。シグナリングプレーンアルゴリズムに含まれる完全性保護アルゴリズムでは、完全性保護アルゴリズム1の優先度は、完全性保護アルゴリズム2の優先度以上である。
例えば第1アルゴリズムネゴシエーション要求情報によって示される1つ以上のアルゴリズム及び1つ以上のKDFは、優先度の降順にソートされる。第1アルゴリズムネゴシエーション要求情報によって示されるアルゴリズム及びKDFは、代替的に表2に示され得る。表2では、ユーザプレーンアルゴリズム/KDFについて、認証された暗号化アルゴリズムの優先度は、暗号化アルゴリズム及び完全性保護アルゴリズムの優先度より高く、暗号化アルゴリズムと完全性保護アルゴリズムの優先度は同じである。ここで、認証された暗号化アルゴリズム1の優先度は、認証された暗号化アルゴリズム2の優先度以上であり、完全性保護アルゴリズム1の優先度は、完全性保護アルゴリズム2の優先度以上であり、完全性保護アルゴリズム2の優先度は、暗号化アルゴリズム1の優先度以上であり、暗号化アルゴリズム1の優先度は、暗号化アルゴリズム2の優先度以上であり、KDF1の優先度は、KDF2の優先度以上である。シグナリングプレーンアルゴリズム/KDFについて、暗号化アルゴリズムと完全性保護アルゴリズムの優先度は同じであり、暗号化アルゴリズムと完全性保護アルゴリズムの優先度は、認証された暗号化アルゴリズムの優先度よりも高い。ここで、完全性保護アルゴリズム1の優先度は、完全性保護アルゴリズム2の優先度以上であり、完全性保護アルゴリズム2の優先度は、暗号化アルゴリズム1の優先度以上であり、暗号化アルゴリズム1の優先度は、暗号化アルゴリズム2の優先度以上であり、認証された暗号化アルゴリズム2の優先度は、認証された暗号化アルゴリズム1の優先度以上であり、KDF3の優先度は、KDF4の優先度以上である。
第1アルゴリズムネゴシエーション要求情報は、1つ以上のアルゴリズム及び1つ以上のKDFを以下の方式のうちのいずれか1つで示すことができる。
方式1.1:第1アルゴリズムネゴシエーション要求情報は、1つ以上のアルゴリズムの1つ以上の識別子と、1つ以上のKDFの1つ以上の識別子を含む。
例えば表3に示されるアルゴリズム/KDF識別子を例として用いる。第1アルゴリズムネゴシエーション要求情報がID1、ID3及びID5を含むとき、第1アルゴリズムネゴシエーション要求情報は、アルゴリズム1、アルゴリズム3及びKDF2を示すために使用される。第1アルゴリズムネゴシエーション要求情報がID2とID4を含むとき、第1アルゴリズムネゴシエーション要求情報は、アルゴリズム2とKDF1を示すために使用される。
表1~表3は、第1アルゴリズムネゴシエーション要求情報によって示されるアルゴリズムの単なる例であることが理解され得る。特定の適用において、第1アルゴリズムネゴシエーション要求情報によって示されるアルゴリズムは、代替的に、他の形式であってもよい。これは限定されない。
方式1.2:第1アルゴリズムネゴシエーション要求情報は、1つのビットシーケンスを含み、該ビットシーケンス内の1つのビットは、1つのアルゴリズム又は1つのKDFに対応し、ビットシーケンス内の各ビットは、0又は1を使用することによって、第1アルゴリズムネゴシエーション要求情報が、そのビットに対応するアルゴリズムを示すか又はKDFを示すかを指示することができる。例えばビットが1である場合、これは、第1アルゴリズムネゴシエーション要求情報が、そのビットに対応するアルゴリズム又はKDFを示すことを指示することができ、ビットが0である場合、これは、第1アルゴリズムネゴシエーション要求情報が、そのビットに対応するアルゴリズム又はKDFを示さないことを指示することができ、逆も同様である。
例えば第1アルゴリズムネゴシエーション要求情報は5ビットを含み、5ビット内において、第1ビットはアルゴリズム1に対応し、第2ビットはアルゴリズム2に対応し、第3ビットはアルゴリズム3に対応し、第4ビットはKDF1に対応し、第5ビットはKDF2に対応する。5ビットが01010である場合、これは、第1アルゴリズムネゴシエーション要求情報が、アルゴリズム2及びKDF1を示すために使用されることを指示し得る。5ビットが11001である場合、これは、第1アルゴリズムネゴシエーション要求情報が、アルゴリズム1、アルゴリズム2及びKDF2を示すため使用されることを指示し得る。
方式1.3:第1アルゴリズムネゴシエーション要求情報は、2つのビットシーケンスを含み、ここで、2つのビットシーケンスの長さは、同じであっても、異なっていてもよい。
ビットシーケンスのうちの一方のビットシーケンスについて、該ビットシーケンス内の1ビットは1つのアルゴリズムに対応し、ビットシーケンス内の各ビットは、0又は1を使用することによって、第1アルゴリズムネゴシエーション要求情報が、そのビットに対応するアルゴリズムを示すかどうかを指示し得る。例えばビットが1である場合、これは、第1アルゴリズムネゴシエーション要求情報が、そのビットに対応するアルゴリズムを示すことを指示することができ、ビットが0である場合、第1アルゴリズムネゴシエーション要求情報が、そのビットに対応するアルゴリズムを示さないことを指示することができ、逆も同様である。
ビットシーケンスの他方のビットシーケンスについて、該ビットシーケンス内の1ビットは1つのKDFに対応し、ビットシーケンス内の各ビットは、0又は1を使用することによって、第1アルゴリズムネゴシエーション要求情報が、そのビットに対応するKDFを示すかどうかを指示し得る。例えばビットが1である場合、これは、第1アルゴリズムネゴシエーション要求情報が、そのビットに対応するKDFを示すことを指示することができ、ビットが0である場合、これは、第1アルゴリズムネゴシエーション要求情報が、そのビットに対応するKDFを示さないことを指示することができ、その逆も同様である。
例えば第1アルゴリズムネゴシエーション要求情報は、2つのビットシーケンスを含み、該ビットシーケンスのうちの一方のビットシーケンスは3ビットを含み、3ビット内の第1ビットはアルゴリズム1に対応し、3ビット内の第2ビットはアルゴリズム2に対応し、3ビット内の第3ビットはアルゴリズム3に対応し、ビットシーケンスのうちの他方のビットシーケンスは2ビットを含み、2ビット内の第1ビットはKDF1に対応し、2ビット内の第2ビットはKDF2に対応する。第1アルゴリズムネゴシエーション要求情報が110及び01を含む場合、これは、第1アルゴリズムネゴシエーション要求情報がアルゴリズム1、アルゴリズム2及びKDF2を示すために使用されることを指示し得る。第1アルゴリズムネゴシエーション要求情報が010及び11を含む場合、これは、第1アルゴリズムネゴシエーション要求情報が、アルゴリズム2、KDF1及びKDF2を示すために使用されることを指示し得る。
任意に、第1アルゴリズムネゴシエーション要求情報は、第2ノードの識別子と、第2フレッシュパラメータを更に含む。
第2ノードの識別子は、第2ノードを識別するために使用され得る。第2フレッシュパラメータは、第1アルゴリズムネゴシエーション要求情報の時間妥当性に関連するパラメータである。例えば第2フレッシュパラメータは、第2ノード内のカウンタの値又は第1ナンスを含む。カウンタの値は、第2ノードのカウンタのものであり、かつ第2ノードが第1アルゴリズムネゴシエーション要求情報を送信することを決定したときに存在する値とすることができ、カウンタは、第1ノードと第2ノードとの間の通信の時間の量を記録するために使用され得る。第1ナンスは、第2ノードが第1アルゴリズムネゴシエーション要求情報を送信することを決定したときに、第2ノードによって生成されるナンスであることができる。
任意に、ステップ301の前に、第2ノードは、該第2ノードが、第1ノードとネゴシエーションされるアルゴリズム及びKDFを有するかどうかを検出する。第2ノードが第1ノードとネゴシエーションされるアルゴリズム及びKDFを有する場合、第2ノードは、ネゴシエーションされるアルゴリズム及びKDFを使用することによって、第1ノードと通信する。第2ノードが、第1ノードとネゴシエーションされるアルゴリズム又はKDFを有しない場合、第2ノードはステップ301を実行する。
ステップ302:第1ノードは、第2ノードから第1アルゴリズムネゴシエーション要求情報を受信し、1つ以上のアルゴリズムにおける少なくとも1つの第1アルゴリズムと、1つ以上のKDFにおける少なくとも1つの第1KDFを決定する。
本明細書では、第1ノードによってサポートされる1つ以上のアルゴリズム及び/又は第1ノードによってサポートされる1つ以上のKDFは、第1ノードのセキュリティ能力と総称されることがあることに留意されたい。
任意に、少なくとも1つの第1アルゴリズムは、暗号化アルゴリズムを含むか;少なくとも1つの第1アルゴリズムは、完全性保護アルゴリズムを含むか;少なくとも1つの第1アルゴリズムは、暗号化アルゴリズムと完全性保護アルゴリズムを含むか;あるいは、少なくとも1つの第1アルゴリズムは、認証された暗号化アルゴリズムを含む。
任意に、複数のアルゴリズムは、対応する優先度に対応する。複数のKDFは、対応する優先度に対応する。
可能な実装では、第1アルゴリズムネゴシエーション要求情報によって示される1つ以上のアルゴリズム及び1つ以上のKDFが、優先度に基づいてソートされる。詳細については、ステップ301の説明を参照されたい。詳細は再度説明しない。
別の可能な実装では、アルゴリズムの識別子とアルゴリズムの優先度との間に対応が存在する。任意に、その対応は、プリセットされ、例えば規格又はプロトコルで定義され、あるいは、その対応は、任意の他のデバイスを使用することによって、対応するノードについて、プリセットされて予め構成され得る。例えばより大きな識別子を有するアルゴリズムの優先度は、より小さな識別子を持つアルゴリズムの優先度よりも高い。あるいは、より小さな識別子を有するアルゴリズムの優先度は、より大きな識別子を有するアルゴリズムの優先度よりも高い。例えばアルゴリズム2の優先度は、アルゴリズム1の優先度よりも高い。あるいは、アルゴリズム1の優先度は、アルゴリズム2の優先度よりも高い。同様に、KDFの識別子とKDFの優先度との間にも対応が存在する。例えばより大きい識別子を有するKDFの優先度は、より小さい識別子を有するKDFの優先度よりも高い。あるいは、より小さい識別子を有するKDFの優先度は、より大きい識別子を有するKDFの優先度よりも高い。説明を容易性のために、対応は、主にリスト方式で以下に説明される。しかしながら、当業者には、本出願は、表方式で通信を提示することを含むが、これに限定されないことがわかり得る。
更に別の可能な実装では、複数のアルゴリズムの優先度が、アルゴリズム優先度リストを使用することによって提示される。複数のKDFの優先度は、KDF優先度リストを使用することによって提示される。
任意に、アルゴリズム優先度リストは、暗号化アルゴリズム優先度リスト及び/又は完全性保護アルゴリズム優先度リスト及び/又は認証された暗号化アルゴリズム優先度リストを含む。
本出願のこの実施形態のアルゴリズムがシグナリングプレーンアルゴリズム及びユーザプレーンアルゴリズムである場合、アルゴリズム優先度リストは、ユーザプレーンアルゴリズム優先度リスト及び/又はシグナリングプレーンアルゴリズム優先度リストを含むことが理解され得る。ユーザプレーンアルゴリズム優先度リストは、ユーザプレーンの第1アルゴリズムを決定するために使用されてよく、シグナリングプレーンアルゴリズム優先度リストは、シグナリングプレーンの第1アルゴリズムを決定するために使用されてよい。ユーザプレーンアルゴリズム優先度リストとシグナリングプレーンアルゴリズム優先度リストは、同じであっても、異なっていてもよい。
アルゴリズム優先度リストは、1つ以上のアルゴリズムを含み、アルゴリズム優先度リストに含まれる1つ以上のアルゴリズムは、アルゴリズムの優先度に基づいてソートされることが理解され得る。例えば暗号化アルゴリズムの優先度リストを例として用いる。暗号化アルゴリズム優先度リストは、アルゴリズム1、アルゴリズム2及びアルゴリズム3を含み、アルゴリズム1の優先度≧アルゴリズム2の優先度≧アルゴリズム3の優先度であるか又はアルゴリズム1の優先度≦アルゴリズム2の優先度≦アルゴリズム3の優先度である。KDF優先度リストは、1つ以上のKDFを含み、1つ以上のKDFは、KDFの優先度に基づいてソートされる。例えばKDF優先度リストは、KDF1、KDF2及びKDF3を含み、KDF1の優先度≧KDF2の優先度≧KDF3の優先度であるか又はKDF1の優先度≦KDF2の優先度≦KDF3の優先度である。
任意に、アルゴリズム優先度リスト内のアルゴリズムは、アルゴリズムの優先度の降順又は昇順でソートされる。KDF優先度リスト内のKDFは、KDFの優先度の降順又は昇順にソートされる。
例えばアルゴリズム優先度リストは、暗号化アルゴリズム優先度リスト、完全性保護アルゴリズム優先度リスト及び認証された暗号化アルゴリズム優先度リストを含み、認証された暗号化アルゴリズムの優先度>完全性保護アルゴリズムの優先度≧暗号化アルゴリズムの優先度であり、暗号化アルゴリズム優先度リストは、アルゴリズム1及びアルゴリズム2を含み、アルゴリズム1の優先度はアルゴリズム2の優先度よりも高く、完全性保護アルゴリズム優先度リストはアルゴリズム3及びアルゴリズム4を含み、アルゴリズム3の優先度はアルゴリズム4の優先度よりも高く、認証された暗号化アルゴリズム優先度リストはアルゴリズム5及びアルゴリズム6を含み、アルゴリズム5の優先度はアルゴリズム6の優先度よりも高く、各優先度リスト内のアルゴリズムはアルゴリズムの優先度の降順にソートされる。アルゴリズム優先度リストは、表4に示され得る。表4は、アルゴリズム優先度リストの単なる例であり、アルゴリズム優先度リストは、代替的に別の形態であってもよい。これは限定されない。
前述の例について、完全性保護アルゴリズムの優先度が暗号化アルゴリズムの優先度と同じであるとき、アルゴリズム優先度リストは表5に示され得ることが理解され得る。表5では、認証された暗号化アルゴリズムの優先度は優先度1であり、暗号化アルゴリズムの優先度と完全性保護アルゴリズムの優先度は優先度2であり、優先度1は優先度2より高い。
任意に、少なくとも1つの第1アルゴリズムは、第1ノードによってサポートされ、かつ1つ以上のアルゴリズムにおいて最も高い優先度を有するアルゴリズムである。少なくとも1つの第1アルゴリズムは、1つ以上のアルゴリズムタイプに対応する。例えば少なくとも1つの第1アルゴリズムが1つのアルゴリズムを含む場合、少なくとも1つの第1アルゴリズムは、1つのアルゴリズムタイプに対応する。少なくとも1つの第1アルゴリズムが複数のアルゴリズムを含む場合、少なくとも1つの第1アルゴリズムに含まれる複数のアルゴリズムの各々は、1つのアルゴリズムタイプに対応する。
さらに、少なくとも1つの第1アルゴリズムに対応するアルゴリズムタイプは、第1ノードによってサポートされ、かつ1つ以上のアルゴリズムのアルゴリズムタイプにおいて最も高い優先度を有するアルゴリズムタイプである。
可能な実装では、少なくとも1つの第1アルゴリズムは1つのアルゴリズムタイプに対応し、アルゴリズムタイプは異なる優先度を有する複数のアルゴリズムに対応してよく、第1アルゴリズムは、第1ノードによってサポートされ、かつそのアルゴリズムタイプに対応するアルゴリズムにおいて最も高い優先度を有するアルゴリズムである。あるいは、アルゴリズムタイプが1つのアルゴリズムのみに対応する場合、第1アルゴリズムは、そのアルゴリズムタイプに対応するアルゴリズムを含む。
例えば少なくとも1つの第1アルゴリズムは1つのアルゴリズムを含み、第1アルゴリズムネゴシエーション要求情報は、アルゴリズム3、アルゴリズム4、アルゴリズム1及びアルゴリズム2を示し、アルゴリズム3の優先度>アルゴリズム4の優先度>アルゴリズム1の優先度>アルゴリズム2の優先度である。第1ノードによってサポートされるアルゴリズムがアルゴリズム4及びアルゴリズム1を含む場合、少なくとも1つの第1アルゴリズムはアルゴリズム4である。第1ノードによってサポートされるアルゴリズムがアルゴリズム3及びアルゴリズム1を含む場合、少なくとも1つの第1アルゴリズムはアルゴリズム3である。
例えば少なくとも1つの第1アルゴリズムは1つのアルゴリズムを含み、アルゴリズム優先度リストは表5に示され、第1アルゴリズムネゴシエーション要求情報はアルゴリズム5、アルゴリズム6、アルゴリズム3及びアルゴリズム2を示す。第1ノードによってサポートされるアルゴリズムがアルゴリズム6、アルゴリズム3及びアルゴリズム1を含む場合、少なくとも1つの第1アルゴリズムはアルゴリズム6である。第1ノードによってサポートされるアルゴリズムがアルゴリズム5、アルゴリズム4及びアルゴリズム2を含む場合、少なくとも1つの第1アルゴリズムはアルゴリズム5である。
別の可能な実装において、少なくとも1つの第1アルゴリズムは、複数のアルゴリズムタイプに対応し、該複数のアルゴリズムタイプの優先度は同じである。各アルゴリズムタイプは、異なる優先度を有する1つ以上のアルゴリズムに対応してよく、少なくとも1つの第1アルゴリズムは、第1ノードによってサポートされ、かつ複数のアルゴリズムタイプの各々に対応するアルゴリズムにおいて最も高い優先度を有するアルゴリズムを含む。あるいは、アルゴリズムタイプが1つのアルゴリズムのみに対応する場合、少なくとも1つの第1アルゴリズムは、そのアルゴリズムタイプに対応するアルゴリズムを含む。
例えば少なくとも1つの第1アルゴリズムは、2つのアルゴリズムを含み、アルゴリズム優先度リストは、表6に示され、第1アルゴリズムネゴシエーション要求情報は、アルゴリズム5、アルゴリズム6、アルゴリズム3及びアルゴリズム2を示す。表6では、アルゴリズムタイプについて、暗号化アルゴリズムと完全性保護アルゴリズムの優先度は同じであり、暗号化アルゴリズムと完全性保護アルゴリズムの優先度は、認証された暗号化アルゴリズムの優先度よりも高い。暗号化アルゴリズムでは、アルゴリズム5の優先度は、アルゴリズム6の優先度以上である。完全性保護アルゴリズムでは、アルゴリズム3の優先度は、アルゴリズム4の優先度以上である。認証された暗号化アルゴリズムでは、アルゴリズム1の優先度は、アルゴリズム2の優先度以上である。第1ノードによってサポートされるアルゴリズムがアルゴリズム5、アルゴリズム6、アルゴリズム3、アルゴリズム4及びアルゴリズム1を含む場合、少なくとも1つの第1アルゴリズムは、アルゴリズム5及びアルゴリズム3を含む。
第1アルゴリズムネゴシエーション要求情報によって示されるアルゴリズムのアルゴリズムタイプにおいて、最も高い優先度を有するアルゴリズムタイプが複数存在するとき、第1ノードは、複数のアルゴリズムタイプのうちの一部を、少なくとも1つの第1アルゴリズムに対応するアルゴリズムタイプとして決定し得ることに留意されたい。例えば第1アルゴリズムネゴシエーション要求情報によって示されるアルゴリズムのアルゴリズムタイプにおいて、最も高い優先度を有するアルゴリズムタイプは、暗号化アルゴリズムと完全性保護アルゴリズムであり、第1ノードは、完全性保護アルゴリズムを、少なくとも1つの第1アルゴリズムに対応するアルゴリズムタイプとして決定する。このシナリオでは、暗号化は、暗号化アルゴリズムを使用することによって実行されないことがある。解決策の説明の容易性のために、「アルゴリズムタイプを決定する」という表現が使用されることに更に留意されたい。しかしながら、実際の解決策では、アルゴリズムタイプは別々に決定されないことがあるが、アルゴリズムタイプに対応する少なくとも1つの第1アルゴリズムが直接決定される。
暗号化アルゴリズムはヌル暗号化(null encryption)アルゴリズムを含み得ることに留意されたい。ヌル暗号化アルゴリズムは、オールゼロ鍵ストリーム(all-zero keystream)を生成するために使用される。言い換えると、ヌル暗号化アルゴリズムは、情報が暗号化されていないことを示し得る。少なくとも1つの第1アルゴリズムがヌル暗号化アルゴリズムを含むとき、第1ノードと第2ノードとの間の通信情報は暗号化されないことを示す。
表4から表6は、単にアルゴリズム優先度リストの例であることが理解され得る。特定の適用において、アルゴリズム優先度リストは、代替的に別の形態であってもよい。これは限定されない。
任意に、アルゴリズムの優先度、アルゴリズムのセキュリティに関連する。例えばより高いセキュリティを有するアルゴリズムは、より高い優先度を有し、より低いセキュリティを有するアルゴリズムは、より低い優先度を有する。KDFの優先度は、KDFのセキュリティに関連する。例えば高いセキュリティを有するKDFは高い優先度を有し、低いセキュリティを有するKDFは低い優先度を有する。
任意に、少なくとも1つの第1KDFは、第1ノードによってサポートされ、かつ1つ以上のKDFにおいて最も高い優先度を有するKDFである。例えば少なくとも1つの第1KDFが1つのKDFを含む場合、少なくとも1つの第1KDFは、第1ノードによってサポートされ、1つ以上のKDFにおいて最も高い優先度を有するKDFである。少なくとも1つの第1KDFがm個のKDFを含み、mが1より大きい正の整数である場合、少なくとも1つの第1KDFは、第1ノードによってサポートされ、かつ1つ以上のKDFにおいて最も高い優先度を有する第1のm個のKDFである。
例えば少なくとも1つの第1KDFは1つのKDFを含み、第1アルゴリズムネゴシエーション要求情報は、KDF1、KDF2及びKDF3を示し、KDF1の優先度>KDF2の優先度>KDF3の優先度である。第1ノードによってサポートされるKDFがKDF2及びKDF3を含む場合、少なくとも1つの第1KDFはKDF2である。第1ノードによってサポートされるKDFがKDF1及びKDF2を含む場合、少なくとも1つの第1KDFはKDF1である。
ステップ303:第1ノードは第1情報を第2ノードに送信する。
第1情報は、少なくとも1つの第1アルゴリズム及び少なくとも1つの第1KDFを示すために使用され、その結果、第1ノードは、少なくとも1つの第1アルゴリズム及び少なくとも1つの第1KDFを使用することによって第2ノードと通信する。
任意に、少なくとも1つの第1アルゴリズムを使用することによって、完全性保護が第1情報に対して実行されるか;あるいは、少なくとも1つの第1アルゴリズムを使用することによって、第1情報が暗号化され、少なくとも1つの第1アルゴリズムを使用することによって、完全性保護が第1情報に対して実行されるか;あるいは、少なくとも1つの第1アルゴリズムを使用することによって、第1情報が暗号化される。
少なくとも1つの第1アルゴリズムを使用することによって、完全性保護が第1情報に対して実行されるケースを最初に説明する。
第1情報は、第2情報と第1MACを含む。第2情報は、少なくとも1つの第1アルゴリズム及び少なくとも1つの第1KDFを示すために使用される。例えば第2情報は、少なくとも1つの第1アルゴリズムに関する情報及び少なくとも1つの第1KDFに関する情報を含む。例えば第2情報は、少なくとも1つの第1アルゴリズムの識別子及び少なくとも1つの第1KDFの識別子を含む。第1MACは、第2情報に対して完全性保護を実行することによって取得される。
さらに、少なくとも1つの第1アルゴリズムは、完全性保護アルゴリズムを含み、あるいは少なくとも1つの第1アルゴリズムは、完全性保護アルゴリズム及び暗号化アルゴリズムを含み、第1MACは、完全性保護アルゴリズムを使用することによって、第2情報に対して完全性保護を実行することにより取得され;あるいは、少なくとも1つの第1アルゴリズムは、認証された暗号化アルゴリズムを含み、第1MACは、認証された暗号化アルゴリズムを使用することによって、第2情報に対して完全性保護を実行することにより取得される。詳細については、図6又は図7に示される以下の方法の説明を参照されたい。
第1情報は、少なくとも1つの第1アルゴリズム及び少なくとも1つの第1KDFを以下の方式のいずれか1つで示し得る。
方式2.1:第2情報は、第1アルゴリズムの識別子及び第1KDFの識別子を含む。
例えば表3に示されるアルゴリズム/KDF識別子を例として用いる。第2情報がID1とID5を含むとき、第1情報はアルゴリズム1とKDF2を示すために使用される。第2情報がID2とID4を含むとき、第1情報はアルゴリズム2とKDF1を示すために使用される。
例えばアルゴリズム/KDF識別子は表7において示され、第2情報は16ビットを含み、第1ビットから第4ビットは暗号化アルゴリズムの識別子を示すために使用され、第5ビットから第8ビットは完全性保護アルゴリズムの識別子を示すために使用され、第9ビットから第12ビットは認証された暗号化アルゴリズムの識別子を示すために使用され、第13ビットから第16ビットはKDFの識別子を示すために使用される。表7では、暗号化アルゴリズムは、アルゴリズム1、アルゴリズム2及びアルゴリズム3を含む。アルゴリズム1の識別子は0000であり、アルゴリズム1はヌル暗号化アルゴリズムであり、オールゼロ鍵ストリームを生成するために使用される。アルゴリズム2の識別子は0001であり、アルゴリズム3の識別子は0010である。完全性保護アルゴリズムは、アルゴリズム4及びアルゴリズム5を含む。アルゴリズム4の識別子は0001であり、アルゴリズム5の識別子は0010である。認証された暗号化アルゴリズムはアルゴリズム6を含み、アルゴリズム6の識別子は0011である。KDFはKDF1とKDF2を含み、KDF1の識別子は0001であり、KDF2の識別子は0010である。第2情報が0001000100000001を含む場合、第1情報は、アルゴリズム2、アルゴリズム4及びKDF1を示すために使用される。第2情報が0000000000110010を含む場合、第1情報はアルゴリズム6とKDF2を示すために使用される。
表7は、単にアルゴリズム/KDF識別子の例であることが理解され得る。特定の適用では、アルゴリズム/KDF識別子は、代替的に他の形態であってもよい。これは限定されない。
方式2.2:第2情報は1つのビットシーケンスを含み、該ビットシーケンス内の1ビットは、1つのアルゴリズム又は1つのKDFに対応する。例えばビットシーケンス内の1ビットは、第1アルゴリズムネゴシエーション要求情報によって示される1つ以上のアルゴリズムに対応する。あるいは、ビットシーケンス内の1ビットは、第1アルゴリズムネゴシエーション要求情報によって示されるKDFに対応する。ビットシーケンスの各ビットは、0又は1を使用することによって、第1アルゴリズムがビットに対応するアルゴリズムを含むかどうか又は第1KDFがビットに対応するKDFを含むどうかを示すことができる。例えばビットが1である場合、これは、第1アルゴリズムが、そのビットに対応するアルゴリズムを含むか、あるいは第1KDFが、そのビットに対応するKDFを含むことを示すことができ、ビットが0である場合、これは、第1アルゴリズムが、そのビットに対応するアルゴリズムを含まないか、第1KDFが、そのビットに対応するKDFを含まないことを示すことができ、逆も同様である。
例えば第2情報は5ビットを含み、5ビット内において、第1ビットはアルゴリズム1に対応し、第2ビットはアルゴリズム2に対応し、第3ビットはアルゴリズム3に対応し、第4ビットは鍵KDF1に対応し、第5ビットは鍵KDF2に対応する。5ビットが01010である場合、これは、第1アルゴリズムがアルゴリズム2を含み、第1KDFがKDF1を含むことを示し得る。5ビットが11001である場合、これは、第1アルゴリズムがアルゴリズム1とアルゴリズム2を含み、第1KDFがKDF2を含むことを示し得る。
方式2.3:第2情報は2つのビットシーケンスを含み、ここで、2つビットシーケンスの長さは同じであっても、異なっていてもよい。
ビットシーケンスのうちの一方のビットシーケンスについて、該ビットシーケンス内の1ビットは、1つのアルゴリズムに対応する。例えばビットシーケンス内の1ビットは、第1アルゴリズムネゴシエーション要求情報によって示される1つ以上のアルゴリズムに対応する。ビットシーケンス内の各ビットは、0又は1を使用することによって、第1アルゴリズムが、そのビットに対応するアルゴリズムを含むかどうかを示すことができる。例えばビットが1である場合、これは、第1アルゴリズムが、そのビットに対応するアルゴリズムを含むことを示すことができ、あるいはビットが0である場合、これは、第1アルゴリズムが、そのビットに対応するアルゴリズムを含まないことを示すことができ、逆も同様である。
ビットシーケンスのうちの他方のビットシーケンスについて、ビットシーケンス内の1ビットは、1つのKDFに対応する。例えばビットシーケンス内の1ビットは、第1アルゴリズムネゴシエーション要求情報によって示されるKDFに対応する。ビットシーケンス内の各ビットは、0又は1を使用することによって、第1KDFが、そのビットに対応するKDFを含むかどうかを示すことができる。例えばビットが1である場合、第1KDFが、そのビットに対応するKDFを含むことを示すことができ、ビットが0である場合、第1KDFが、そのビットに対応するKDFを含まないことを示すことができ、逆も同様である。
例えば第2情報は2つのビットシーケンスを含み、該ビットシーケンスのうちの一方のビットシーケンスは3ビットを含み、3ビット内の第1ビットはアルゴリズム1に対応し、3ビット内の第2ビットはアルゴリズム2に対応し、3ビット内の第3ビットはアルゴリズム3に対応し、ビットシーケンスのうちの他方のビデオシーケンスは2ビットを含み、2ビット内の第1ビットは鍵KDF1に対応し、2ビット内の第2ビットは鍵KDF2に対応する。第2情報が110及び01を含む場合、これは、第1アルゴリズムがアルゴリズム1及びアルゴリズム2を含み、第1KDFがKDF2を含むことを示し得る。第2情報が010及び10を含む場合、これは、第1アルゴリズムがアルゴリズム2を含み、第1KDFがKDF1を含むことを示し得る。
任意に、第2情報は、第1アルゴリズム又は第1KDFについての指示に関連しない情報を更に含む。例えば第2情報は、第1検証情報を更に含む。あるいは、第2情報は、第1フレッシュパラメータ及び第1検証情報を更に含む。あるいは、第2情報は、ステップ301において、1つ以上のアルゴリズム及び1つ以上のKDFを示すために使用される指示情報を更に含む。
第1フレッシュパラメータは、第1情報の時間妥当性に関連するパラメータである。例えば第1フレッシュパラメータは、第1ノードにおけるカウンタの値又は第2ナンスを含む。カウンタの値は、第1ノードのカウンタのものであり、かつ第1ノードが第1情報を送信することを決定したときに存在する値とすることができ、カウンタは、第1ノードと第2ノードとの間の通信時間の量を記録するために使用され得る。第2ナンスは、第1ノードが第1情報を送信することを決定したときに生成されるナンスであり得る。
第1検証情報は、第1ノードによって受信された第1アルゴリズムネゴシエーション要求情報が変更されたかどうかを検証するために、第2ノードによって使用される。
例えば第2情報は、第1検証情報を更に含む。第1検証情報は、第1ノードによって受信された第1アルゴリズムネゴシエーション要求情報、プリセット共有鍵及び第2KDFに基づいて取得される。例えばAUTH1=第2KDF(K,第1アルゴリズムネゴシエーション要求情報)である。ここで、AUTH1は第1検証情報である、Kはプリセット共有鍵であり、プリセット共有鍵は事前に設定される。具体的には、プリセット共有鍵は、任意の他のデバイスを使用することによって、対応するノードについて予め構成され得る。第2KDFは、第1KDFと同じであっても、異なっていてもよい。第2KDFが第1KDFと異なる場合、第2KDFは、第1ノード及び第2ノードにおいてプリセットされたKDFであり得る。
例えば第2情報は、第1フレッシュパラメータ及び第1検証情報を更に含む。第1検証情報は、第1ノードによって受信された第1アルゴリズムネゴシエーション要求情報、プリセット共有鍵、第1フレッシュパラメータ及び第2KDFに基づいて取得される。例えばAUTH1=第2KDF(K,第1フレッシュパラメータ,第1アルゴリズムネゴシエーション情報)である。AUTH1、K及び第2KDFの説明については、上述の例を参照されたい。詳細は再度説明されない。
ステップ301において、第2情報が、1つ以上のアルゴリズム及び1つ以上のKDFを示すために使用される指示情報を更に含む場合、指示情報を受信した後に続いて、第2ノードは、指示情報に基づいて、第1アルゴリズムネゴシエーション要求情報内のアルゴリズム及びKDFが変更されているかどうかを決定し得ることが理解され得る。
以下は、少なくとも1つの第1アルゴリズムを使用することによって第1情報を暗号化し、少なくとも1つの第1アルゴリズムを使用することによって第1情報に対して完全性保護を実行するケースを説明する。
第1情報は、暗号化された情報、第2通信情報及び第2MACを含む。暗号化された情報は、第1通信情報を暗号化することによって取得され、第1通信情報は、少なくとも1つの第1アルゴリズム又は少なくとも1つの第1KDFのうちの少なくとも一方を示さない。第2通信情報は、少なくとも1つの第1アルゴリズム及び少なくとも1つの第1KDFのうちの少なくとも一方を示すために使用される。第2MACは、暗号化された情報と第2通信情報に対して完全性保護を実行することによって取得される。
さらに、少なくとも1つの第1アルゴリズムは、暗号化アルゴリズム及び完全性保護アルゴリズムを含み、暗号化された情報は、暗号化アルゴリズムを使用することによって、第1通信情報を暗号化することにより取得され、第2MACは、完全性保護アルゴリズムを使用することによって、暗号化された情報及び第2通信情報に対して完全性保護を実行することにより取得され;あるいは、少なくとも1つの第1アルゴリズムは、認証された暗号化アルゴリズムを含み、暗号化された情報は、認証された暗号化アルゴリズムを使用することによって、第1通信情報を暗号化することにより取得され、第2MACは、認証された暗号化アルゴリズムを使用することによって、暗号化された情報及び第2通信情報に対して完全性保護を実行することにより取得される。詳細については、図4又は図5に示される以下の方法の説明を参照されたい。
第1情報は、少なくとも1つの第1アルゴリズム及び少なくとも1つの第1KDFを以下の方式のうちのいずれか1つで示すことができる。第2通信情報は、第1アルゴリズムの識別子及び第1KDFの識別子を含み;あるいは、第2通信情報は1つのビットシーケンスを含み、該ビットシーケンス内の1ビットは、1つのアルゴリズム又は1つのKDFに対応し;あるいは、第2通信情報は2つのビットシーケンスを含み、該ビットシーケンスのうちの一方のビットシーケンスでは、該ビットシーケンス内の1ビットは、1つのアルゴリズムに対応し、ビットシーケンスのうちの他方のビットシーケンスでは、該ビットシーケンス内の1ビットは、1つのKDFに対応する。詳細については、前述の方式2.1~方式2.3における説明を参照されたい。詳細は再度説明されない。
任意に、第1通信情報は、第1アルゴリズム又は第1KDFの指示に関連しない情報を含む。例えば第1通信情報は、第1検証情報を含む。あるいは、第1通信情報は、第1フレッシュパラメータ及び第1検証情報を含む。あるいは、第1通信情報は、ステップ301において1つ以上のアルゴリズムと1つ以上のKDFを示すために使用される指示情報を含む。第1検証情報、第1フレッシュパラメータ及びステップ301において1つ以上のアルゴリズムと1つ以上のKDFを示すために使用される指示情報の説明については、第2情報が、第1アルゴリズム又は第1KDFに関連しない情報を含むときに提供される前述の対応する説明を参照されたい。詳細は再度説明されない。
前述の説明において、第1ノードは、最初に情報を暗号化し、次いで第2MACを取得することが理解され得る。あるいは、第1ノードは、最初に第2MACを取得し、次いで第1通信情報を暗号化し得る。これは限定されない。相違点は以下のとおりである:すなわち、第1ノードが最初に情報を暗号化し、次いで第2MACを取得するとき、第1情報を受信した後、第2ノードは第1情報の完全性を最初に検証し、第1情報の完全性を検証した後、暗号化された情報を復号する必要があることである。第1ノードが最初に第2MACを取得し、次いで第1通信情報を暗号化するとき、第1情報を受信した後、第2ノードは最初に暗号化された情報を復号し、次いで第1情報の完全性を検証する。
以下は、少なくとも1つの第1アルゴリズムを使用することによって、第1情報が暗号化されるケースを説明する。
第1情報は、暗号化された情報及び第2通信情報を含む。暗号化された情報は、第1通信情報を暗号化することによって取得される。第1通信情報及び第2通信情報の説明と、第1情報によって少なくとも1つの第1アルゴリズム及び少なくとも1つの第1KDFを示す説明については、少なくとも1つの第1アルゴリズムを使用することによって第1情報を暗号化し、少なくとも1つの第1アルゴリズムを使用することによって第1情報に対して完全性保護を実行する前述のケースの説明を参照されたい。詳細は再度説明されない。
さらに、少なくとも1つの第1アルゴリズムは、暗号化アルゴリズムを含む。暗号化された情報は、暗号化アルゴリズムを使用することにより、第1通信情報を暗号化することによって取得される。例えば暗号化された情報は、暗号化鍵を使用することによって、第1通信情報を暗号化することにより取得される。暗号化鍵の説明については、図5に示される以下の方法を参照されたい。詳細は再度説明されない。
少なくとも1つの第1アルゴリズムが暗号化アルゴリズムを含むケースでは、第1ノードが第2ノードと通信するとき、送信者は、暗号化鍵を使用することによって、送信されるべき情報を暗号化して、暗号化された情報を取得し、暗号化された情報を受信者に送信し得ることが理解され得る。暗号化された情報を受信した後、受信者は、暗号化鍵を使用することによって、暗号化された情報を復号して、送信者の送信されるべき情報を取得し得る。このようにして、第1ノードと第2ノードと間の通信のセキュリティを向上させることができる。
これに対応して、第2ノードは、第1ノードから第1情報を受信し得る。続いて、第2ノードは、少なくとも1つの第1アルゴリズム及び少なくとも1つの第1KDFを使用することによって、第1ノードと通信する。
任意に、少なくとも1つの第1アルゴリズムを使用することによって、第1情報に対して完全性保護が実行される場合、第2ノードは、第1情報の完全性を検証する必要がある。少なくとも1つの第1アルゴリズムを使用することによって完全性保護が第1情報に対して実行される場合、第2ノードは、第1情報を受信し、少なくとも1つの第1KDFに基づいて、認証された暗号化鍵を取得し、少なくとも1つの第1アルゴリズムと第2情報に基づいて第3MACを取得し、第3MACを使用することによって第1情報の完全性を検証する。詳細については、図6又は図7に示される以下の方法の説明を参照されたい。少なくとも1つの第1アルゴリズムを使用することによって第1情報が暗号化され、少なくとも1つの第1アルゴリズムを使用することによって第1情報に対して完全性保護が実行される場合、第2ノードは、第1情報を受信し、少なくとも1つの第1アルゴリズム、暗号化された情報及び第2通信情報に基づいて第4MACを取得し、第4MACを使用することによって第1情報の完全性を検証する。詳細については、図4又は図5に示される以下の方法の説明を参照されたい。
任意に、第1情報を受信した後、第2ノードは、確認応答情報を第1ノードに送信する。確認応答情報は、第2ノードが第1情報を受信したことを示すために使用される。
任意に、第1情報を受信した後、第2ノードは、第2検証情報を第1ノードに送信する。第2検証情報は、第2ノードによって受信された第1情報が変更されたかどうかを検証するために、第1ノードによって使用される。
例えば第2検証情報は、第2ノードによって受信された第1情報、プリセット共有鍵及び第2KDFに基づいて取得される。例えばAUTH2=第2KDF(K,第1情報)である。このケースでは、第2検証情報を受信した後、第1ノードは、第1情報、プリセット共有鍵及び第2KDFに基づいて第3検証情報を取得する。例えばAUTH3=第2KDF(K,第1情報)である。第3検証情報が第2検証情報と同じである場合、これは、第2ノードによって受信された第1情報が変更されていないことを示し、第3検証情報が第2検証情報と異なる場合、これは、第2ノードによって受信された第1情報が変更されていることを示す。ここで、AUTH2は第2検証情報であり、AUTH3は第3検証情報であり、Kはプリセット共有鍵であり、第2KDFは第1KDFと同じであっても、異なっていてもよい。第2KDFが第1KDFと異なる場合、第2KDFは、第1ノード及び第2ノードにおいてプリセットされたKDFであり得る。
例えば第2検証情報は、第2ノードによって受信された第1情報、プリセット共有鍵、第2フレッシュパラメータ及び第2KDFに基づいて取得される。例えばAUTH2=第2KDF(K,第2フレッシュパラメータ,第1情報)である。このケースでは、第2検証情報を受信した後、第1ノードは、第1情報、プリセット共有鍵、第2フレッシュパラメータ及び第2KDFに基づいて第3検証情報を取得する。例えばAUTH3=第2KDF(K,第2フレッシュパラメータ,第1情報)である。第3検証情報が第2検証情報と同じである場合、これは、第2ノードによって受信された第1情報が変更されていないことを示し;あるいは、第3検証情報が第2検証情報と異なる場合、第2ノードによって受信された第1情報が変更されていることを示す。AUTH2、AUTH3、K及び第2KDFの説明については、前述の例を参照されたい。詳細は再度説明されない。
任意に、少なくとも1つの第1アルゴリズムを使用することによって、確認応答情報又は第2検証情報に対して完全性保護が実行される。少なくとも1つの第1アルゴリズムを使用することによって、確認応答情報又は第2検証情報に対して完全性保護を実行するプロセスについては、図4、図5、図6又は図7に示される以下の方法において、少なくとも1つの第1アルゴリズムを使用することによって、第1情報に対して完全性保護を実行する説明を参照されたい。詳細は再度説明されない。
図3に示される方法に基づいて、第2ノードは、第1ノードに、1つ以上のアルゴリズム及び1つ以上のKDFを示すために使用される第1アルゴリズムネゴシエーション要求情報を送信し得る。第1アルゴリズムネゴシエーション要求情報を受信した後、第1ノードは、第1アルゴリズムネゴシエーション要求情報に基づいて、少なくとも1つの第1アルゴリズム及び少なくとも1つの第1KDFを決定し、少なくとも1つの第1アルゴリズム及び少なくとも1つの第1KDFを示すために使用される第1情報を第2ノードに送信し得る。このようにして、第1ノードと第2ノードは、少なくとも1つの第1アルゴリズムと少なくとも1つの第1KDFを使用することによって互いに通信してよく、これにより、第1ノードと第2ノードは、同じアルゴリズムを使用することによって、第1ノードと第2ノードとの間の通信情報を暗号化又は復号することができる。
第1情報に含まれる内容及び/又は少なくとも1つの第1アルゴリズムに含まれ得るアルゴリズムの異なるタイプ及び数量について、いくつかの異なる実装が存在することが理解され得る。詳細については、図3に示される方法の以下の第1の実装、第2の実装、第3の実装及び第4の実装を参照されたい。
任意に、図3に示される方法の第1の可能な実装において、第1情報は、暗号化された情報、第2通信情報及び第2MACを含む。少なくとも1つの第1アルゴリズムが、認証された暗号化アルゴリズムを含むとき、暗号化された情報は、認証された暗号化アルゴリズムを使用することにより第1通信情報を暗号化することによって取得され、第2MACは、認証された暗号化アルゴリズムを使用することによって、暗号化された情報及び第2通信情報に対して完全性保護を実行することによって取得される。第1情報を受信した後、第2ノードは、認証された暗号化アルゴリズム、暗号化された情報及び第2通信情報に基づいて第4MACを取得し、第4MACを使用することによって第1情報の完全性を検証し得る。具体的には、図4に示されるように、図3に示される方法は、ステップ401~ステップ404を更に含む。
ステップ401:第1ノードは、少なくとも1つの第1KDFに基づいて認証された暗号化鍵を取得する。
認証された暗号化鍵は、第1通信情報を暗号化するために使用されてよく、あるいは認証された暗号化鍵は、暗号化された情報を復号するために使用されてよく、認証された暗号化鍵は、第2通信情報及び暗号化された情報に対して完全性保護を実行するために使用されてよく、あるいは認証された暗号化鍵は、第2通信情報及び暗号化された情報の完全性を検証するために使用されてもよい。
第1ノードは、認証された暗号化鍵を以下の方式のいずれか1つで取得し得る。
方式3.1:第1ノードは、共有鍵を第1KDFの入力として使用して、認証された暗号化鍵を取得する、すなわち、Kc=第1KDF(K)である、ここで、Kcは認証された暗号化鍵であり、Kは共有鍵である。
方式3.2:第1ノードは、共有鍵と第2フレッシュパラメータを第1KDFの入力として使用して、認証された暗号化鍵を取得する、すなわち、Kc=第1KDF(K,C)であり、ここで、Kcは認証された暗号化鍵であり、Kは共有鍵であり、Cは第2フレッシュパラメータである。
方式3.3:第1ノードは、共有鍵、第2フレッシュパラメータ及び第1文字列を第1KDFの入力として使用して、認証された暗号化鍵を取得する、すなわち、Kc=第1KDF(K,C,第1文字列)であり、ここで、Kcは認証された暗号化鍵であり、Kは共有鍵であり、Cは第2フレッシュパラメータである。第1文字列は、認証された暗号化アルゴリズムを識別するために使用され得る。例えば少なくとも1つの第1アルゴリズムがユーザプレーンの認証された暗号化アルゴリズムである場合、第1文字列は、ユーザプレーンの認証された暗号化アルゴリズムを識別する「user auth enc」であり得る。
方式3.4:第1ノードは、共有鍵、第2フレッシュパラメータ、第1文字列及び第1識別子を第1KDFの入力として使用して、認証された暗号化鍵を取得する、すなわち、Kc=第1KDF(K,C,第1文字列,第1識別子)であり、ここで、Kcは認証された暗号化鍵であり、Kは共有鍵であり、Cは第2フレッシュパラメータである。第1文字列の説明については、前述の方式3.3を参照されたい。詳細は再度説明しない。第1識別子は、認証された暗号化鍵を生成するために使用されるKDFを識別するために使用され得る。例えば第1識別子は第1KDFの識別子であり得る。
第1識別子は、数字及び/又は文字を含み得ることが理解され得る。方式3.4における第1文字列は、任意のパラメータであり得る。
方式3.5:第1ノードは、共有鍵と第2フレッシュパラメータに基づいて第1中間鍵を取得し;第1ノードは第1中間鍵と、第1識別子及び第1文字列のうちの少なくとも1つとに基づいて、認証された暗号化鍵を取得する。例えば第1ノードは、共有鍵と第2フレッシュパラメータをKDF1の入力として使用して、第1中間鍵を取得する、すなわち、Kmid1=KDF1(K,C)である。第1ノードは、第1中間鍵、第1識別子、第1文字列をKDF2の入力として使用して、認証された暗号化鍵を取得する、すなわちKc=KDF2(Kmid1,第1識別子,第1文字列)であり、ここで、Kmid1は第1中間鍵であり、Kは共有鍵であり、Cは第2フレッシュパラメータであり、Kcは認証された暗号化鍵である。第1文字列の説明については、前述の方式3.3を参照されたい。第1識別子の説明については、前述の方式3.4の説明を参照されたい。詳細は再度説明しない。
KDF1とKDF2は、少なくとも1つの第1KDFに含まれ得る。KDF1とKDF2は、同じであっても、異なっていてもよい。例えば少なくとも1つの第1KDFが1つのKDFを含む場合、KDF1とKDF2は同じである。少なくとも1つの第1KDFが2つ以上のKDFを含む場合、KDF1とKDF2は異なる。
解決策をより明確に説明するために、認証された暗号化鍵を取得する方法は、本明細書では2つのステップで説明されることが理解され得る。実際の処理では、認証された暗号化鍵は、代替的に1つのステップで取得され得る。第1中間鍵は中間結果にすぎない。具体的には、認証された暗号化鍵を決定する方式は、Kc=KDF2(KDF1(K,C),第1アルゴリズム,第1文字列)を満たす。
任意に、前述の方式における共有鍵は、第1ノードにおいてプリセットされるか、あるいは前述の方式における共有鍵は、ステップ401の前に計算を通して第1ノードによって取得される。
さらに、第2MACは、認証された暗号化アルゴリズム、暗号化された情報、第2通信情報及び認証された暗号化鍵に基づいて取得される。例えば第1ノードは、暗号化された情報、第2通信情報及び認証された暗号化鍵を、認証された暗号化アルゴリズムの入力として使用することによって、第2MACを取得する。
ステップ402:第2ノードが、少なくとも1つの第1KDFに基づいて認証された暗号化鍵を取得する。
第2ノードが、少なくとも1つの第1KDFに基づいて認証された暗号化鍵を取得する具体的なプロセスについては、第1ノードが、少なくとも1つの第1KDFに基づいて認証された暗号化鍵を取得するステップ401における対応する説明を参照されたい。詳細は再度説明しない。
ステップ403:第2ノードが、認証された暗号化アルゴリズム、暗号化された情報及び第2通信情報に基づいて、第4MACを取得する。
さらに、第2ノードは、認証された暗号化アルゴリズム、暗号化された情報、第2通信情報及び認証された暗号化鍵に基づいて第4MACを取得する。例えば第2ノードは、暗号化された情報、第2通信情報及び認証された暗号化鍵を、認証された暗号化アルゴリズムの入力として使用することによって、第4MACを取得する。
第2ノードが、暗号化された情報及び第2通信情報内の一部の情報に対して完全性保護を更に実行し得ることが理解され得る。例えば第2ノードは、暗号化された情報、第2通信情報の一部の情報、認証された暗号化アルゴリズム及び認証された暗号化鍵に基づいて第4MACを取得する。
ステップ404:第4MACが第2MACと同じである場合、第2ノードは、認証された暗号化アルゴリズムを使用することによって、暗号化された情報を復号する。
任意に、第4MACが第2MACと同じである場合、これは、第1通信情報が変更されていないことを示し、第2ノードは、認証された暗号化鍵を使用することによって、暗号化された情報を復号し、第1通信情報を取得する。
任意に、第4MACが第2MACと異なる場合、これは、第1通信情報が変更されていることを示し、第2ノードは、第1情報を破棄する。第2ノードは、ステップ301を再度実行してもよく、あるいは第2ノードは、少なくとも1つの第1アルゴリズム及び少なくとも1つの第1KDFを再決定するように第1ノードに指示し得る。
第1通信情報が、1つ以上のアルゴリズム及び1つ以上のKDFを示すために使用される指示情報を含むとき、第1通信情報を取得した後、第2ノードは、第1通信情報に含まれる1つ以上のアルゴリズム及び1つ以上のKDFが、第1アルゴリズムネゴシエーション要求情報に含まれる1つ以上のアルゴリズム及び1つ以上のKDFと同じであるかどうかを更に検証し得ることが理解され得る。第1通信情報に含まれる1つ以上のアルゴリズム及び1つ以上のKDFが、第1アルゴリズムネゴシエーション要求情報に含まれる1つ以上のアルゴリズム及び1つ以上のKDFと同じである場合、これは、第1アルゴリズムネゴシエーション要求情報が変更されていないことを示し、第1ノード及び第2ノードの通信環境はセキュアである。第1通信情報に含まれる1つ以上のアルゴリズム及び1つ以上のKDFが、第1アルゴリズムネゴシエーション要求情報に含まれる1つ以上のアルゴリズム及び1つ以上のKDFと異なる場合、これは、第1アルゴリズムネゴシエーション要求情報が変更されていることを示し、第1ノード及び第2ノードの通信環境はセキュアでない。
第1通信情報が第1検証情報を含むとき、第1通信情報を取得した後、第2ノードは、第1検証情報を使用することによって、第1アルゴリズムネゴシエーション要求情報が変更されているかどうかを検証することが理解され得る。第1アルゴリズムネゴシエーション要求情報が変更されていない場合、第1ノードと第2ノードの通信環境がセキュアであるか、あるいは第1アルゴリズムネゴシエーション要求情報が変更されている場合、第1ノードと第2ノードの通信環境はセキュアではない。
図4に示される方法に基づいて、少なくとも1つの第1アルゴリズムが認証された暗号化アルゴリズムを含む場合、第1ノード及び第2ノードは、少なくとも1つの第1KDFに基づいて、認証された暗号化鍵を取得し得る。続いて、第1ノードは、認証された暗号化鍵を使用することによって第1通信情報を暗号化して、暗号化された情報を取得し、認証された暗号化アルゴリズム、暗号化された情報、第2通信情報及び認証された暗号化鍵に基づいて第2MACを取得し、第2MACを使用することによって、第1情報に対して完全性保護を実行し得る。第2ノードは、認証された暗号化アルゴリズム、暗号化された情報、第2通信情報及び認証された暗号化鍵に基づいて第4MACを取得し、第4MACを使用することによって第1情報の完全性を検証し得る。このようにして、第1ノードが第2ノードと通信するとき、第1通信情報は、認証された暗号化アルゴリズムを使用することによって暗号化されることができ、認証された暗号化アルゴリズムを使用することによって、完全性保護が第1情報に対して更に実行されることができる。したがって、第1ノードと第2ノードとの間の通信のセキュリティを改善することができる。
任意に、図3に示される方法の第2の可能な実装において、第1情報は、暗号化された情報、第2通信情報及び第2MACを含む。少なくとも1つの第1アルゴリズムが暗号化アルゴリズムと完全性保護アルゴリズムを含むとき、暗号化された情報は、暗号化アルゴリズムを使用することによって、第1通信情報を暗号化することにより取得され、第2MACは、完全性保護アルゴリズムを使用することによって、暗号化された情報と第2通信情報に対して完全性保護を実行することにより取得される。第1情報を受信した後、第2ノードは、完全性保護アルゴリズム、暗号化された情報、第2通信情報に基づいて第4MACを取得し、第4MACを使用することによって第1情報の完全性を検証し得る。具体的には、図5に示されるように、図3に示される方法は、ステップ501~ステップ504を更に含む。
ステップ501:第1ノードが、少なくとも1つの第1KDFに基づいて暗号化鍵及び完全性保護鍵を取得する。
暗号化鍵は、第1通信情報を暗号化するために使用され得るか、あるいは暗号化鍵は、暗号化された情報を復号するために使用され得る。完全性保護鍵は、第2通信情報及び暗号化された情報に対する完全性保護を実行するために使用され得るか、あるいは完全性保護鍵は、第2通信情報及び暗号化された情報の完全性を検証するために使用され得る。
第1ノードは、以下の方式のいずれか1つで暗号化鍵及び完全性保護鍵を取得し得る。
方式4.1:第1ノードは、共有鍵を第1KDFの入力として使用して、暗号化鍵と完全性保護鍵を取得する、すなわち、Kenc=第1KDF(K)及びKint=第1KDF(K)であり、ここで、Kencは暗号化鍵であり、Kは共有鍵であり、Kintは完全性保護鍵である。
方式4.2:第1ノードは、共有鍵と第2フレッシュパラメータを第1KDFの入力として使用し、暗号化鍵と完全性保護鍵を取得する、すなわち、Kenc=第1KDF(K,C)及びKint=第1KDF(K,C)であり、ここで、Kencは暗号化鍵であり、Kは共有鍵であり、Cは第2フレッシュパラメータであり、Kintは完全性保護鍵である。
方式4.3:第1ノードは、共有鍵、第2フレッシュパラメータ及び第2文字列を第1KDFの入力として使用し、暗号化鍵を取得する、すなわち、Kenc=第1KDF(K,C,第2文字列)である。第1ノードは、共有鍵、第2フレッシュパラメータ及び第3文字列を第1KDFの入力として使用し、完全性保護鍵を取得する、すなわち、Kint=第1KDF(K,C,第3文字列)である。ここで、Kencは暗号化鍵であり、Kは共有鍵であり、Cは第2フレッシュパラメータであり、Kintは完全性保護鍵である。第2文字列は、暗号化アルゴリズムを識別するために使用され得る。例えば少なくとも1つの第1アルゴリズムがシグナリングプレーン暗号化アルゴリズムであるとき、第2文字列は「signalling enc」であり得る。第3文字列は、完全性保護アルゴリズムを識別するために使用され得る。例えば少なくとも1つの第1アルゴリズムがシグナリングプレーン完全性保護アルゴリズムであるとき、第3文字列は「signalling int」であり得る。
方式4.4:第1ノードは、共有鍵、第2フレッシュパラメータ、第2文字列及び第2識別子を第1KDFの入力として使用して、暗号化鍵を取得する、すなわち、Kenc=第1KDF(K,C,第2文字列,第2識別子)である。第1ノードは、共有鍵、第2フレッシュパラメータ、第3文字列及び第3識別子を第1KDFの入力として使用し、完全性保護鍵を取得する、すなわち、Kint=第1KDF(K,C,第3文字列,第3識別子)である。ここで、Kencは暗号化鍵であり、Kは共有鍵であり、Cは第2フレッシュパラメータであり、Kintは完全性保護鍵である。第2文字列と第3文字列の説明については、上記方式3.3を参照されたい。詳細は再度説明されない。第2識別子は、暗号化鍵を生成するために使用される第1KDFを識別するために使用され得る。例えば第2識別子は、暗号化鍵を生成するために使用される第1KDFの識別子であり得る。第3識別子は、完全性保護鍵を生成するために使用されるKDFを識別するために使用され得る。例えば第3識別子は、完全性保護鍵を生成するために使用される第1KDFの識別子であり得る。
第2識別子又は第3識別子は、数字及び/又は文字を含み得ることが理解され得る。方式4.4における第2文字列及び第3文字列は、任意のパラメータであり得る。
方式4.5:第1ノードは、共有鍵と第2フレッシュパラメータに基づいて第2中間鍵を取得し;第1ノードは第2中間鍵と、第2識別子及び第2文字列のうちの少なくとも1つとに基づいて暗号化鍵を取得する。例えば第1ノードは、共有鍵と第2フレッシュパラメータをKDF3の入力として使用して、第2中間鍵を取得する、すなわちKmid2=KDF1(K,C)である。第1ノードは、第2中間鍵、第2識別子及び第2文字列をKDF4の入力として使用して、暗号化鍵を取得する、すなわち、Kenc=KDF2(Kmid2、第2識別子、第2文字列)である。第1ノードは、共有鍵と第2フレッシュパラメータに基づいて第3中間鍵を取得し;第1ノードは、第3中間鍵と、第3識別子及び第3文字列のうちの少なくとも1つとに基づいて完全性保護鍵を取得する。例えば第1ノードは、共有鍵と第2フレッシュパラメータをKDF5の入力として使用して、第3中間鍵を取得する、すなわち、Kmid3=KDF1(K,C)である。第1ノードは、第3中間鍵、第3識別子及び第3文字列をKDF6の入力として使用して、完全性保護鍵を取得する、すなわち、Kint=KDF2(Kmid3,第3識別子,第3文字列)である。
ここで、Kmid2は第2中間鍵であり、Kは共有鍵であり、Cは第2フレッシュパラメータであり、Kencは暗号化鍵であり、Kmid3は第3中間鍵であり、Kintは完全性保護鍵である。第2文字列及び第3文字列の説明については、前述の方式4.3を参照されたい。第2識別子及び第3識別子の説明については、前述の方式4.4の説明を参照されたい。詳細は再度説明されない。
KDF3、KDF4、KDF5及びKDF6は、少なくとも1つの第1KDFに含まれ得る。KDF3とKDF4は、同じであっても、異なっていてもよい。KDF5とKDF6は、同じであっても、異なっていてもよい。
解決策をより明確に説明するために、暗号化鍵及び完全性保護鍵を取得する方法は、本明細書では2つのステップで説明されることが理解され得る。実際の処理では、暗号化鍵と完全性保護鍵は、代替的に1つのステップで取得されてもよい。第2中間鍵及び第3中間鍵は単なる中間結果である。具体的には、暗号化鍵を決定する方式は、Kenc=KDF4(KDF3(K,C),第2アルゴリズム,第2文字列)を満たし、完全性保護鍵を決定する方式は、Kint=KDF6(KDF5(K,C),第3アルゴリズム,第3文字列)を満たす。
任意に、前述の方式における共有鍵は、第1ノードにおいてプリセットされるか、あるいは前述の方式における共有鍵は、ステップ501の前の計算を通して第1ノードによって取得される。
任意に、前述の方式において、暗号化鍵を生成するための第1KDFは、完全性保護鍵を生成するための第1KDFと同じであるか又は異なる。例えば少なくとも1つの第1KDFは1つのKDFを含み、暗号化鍵を生成する第1KDFは、完全性保護鍵を生成するための第1KDFと同じであるか;あるいは、少なくとも1つの第1KDFは複数のKDFを含み、暗号化鍵を生成するための第1KDFは、完全性保護鍵を生成するための第1KDFとは異なる。
さらに、第2MACは、完全性保護アルゴリズム、暗号化された情報、第2通信情報及び完全性保護鍵に基づいて取得される。例えば第1ノードは、暗号化された情報、第2通信情報及び完全性保護鍵を完全性保護アルゴリズムの入力として使用することによって、第2MACを取得する。
ステップ502:第2ノードが、少なくとも1つの第1KDFに基づいて暗号化鍵と完全性保護鍵を取得する。
第2ノードが少なくとも1つの第1KDFに基づいて暗号化鍵と完全性保護鍵を取得する具体的なプロセスについては、第1ノードが少なくとも1つの第1KDFに基づいて暗号化鍵と完全性保護鍵を取得するステップ501の対応する説明を参照されたい。詳細は再度説明されない。
ステップ503:第2ノードは、完全性保護アルゴリズム、暗号化された情報及び第2通信情報に基づいて第4MACを取得する。
さらに、第2ノードは、完全性保護アルゴリズム、暗号化された情報、第2通信情報及び完全性保護鍵に基づいて第4MACを取得する。例えば第2ノードは、暗号化された情報、第2通信情報及び完全性保護鍵を完全性保護アルゴリズムの入力として使用することによって、第4MACを取得する。
第2ノードは、暗号化された情報と、第2通信情報内の一部の情報に対して完全性保護を更に実行し得ることが理解され得る。例えば第2ノードは、暗号化された情報、第2通信情報内の一部の情報、完全性保護アルゴリズム及び完全性保護鍵に基づいて第4MACを取得する。
ステップ504:第4MACが第2MACと同じである場合、第2ノードは、暗号化アルゴリズムを使用することによって、暗号化された情報を復号する。
任意に、第4MACが第2MACと同じである場合、これは、第1通信情報が変更されていないことを示し、第2ノードは、暗号化鍵を使用することによって暗号化された情報を復号して、第1通信情報を取得する。
任意に、第4MACが第2MACと異なる場合、これは、第1通信情報が変更されていることを示し、第2ノードは第1情報を破棄する。第2ノードは、ステップ301を再度実行してもよく、あるいは第2ノードは、少なくとも1つの第1アルゴリズム及び少なくとも1つの第1KDFを再決定するように第1ノードに指示し得る。
第1通信情報が、1つ以上のアルゴリズム及び1つ以上のKDFを示すために使用される指示情報を含むとき、第1通信情報を取得した後、第2ノードは、第1通信情報に含まれる1つ以上のアルゴリズム及び1つ以上のKDFが、第1アルゴリズムネゴシエーション要求情報に含まれる1つ以上のアルゴリズム及び1つ以上のKDFと同じであるかどうかを更に検証し得ることが理解され得る。第1通信情報に含まれる1つ以上のアルゴリズム及び1つ以上のKDFが、第1アルゴリズムネゴシエーション要求情報に含まれる1つ以上のアルゴリズム及び1つ以上のKDFと同じである場合、これは、第1アルゴリズムネゴシエーション要求情報が変更されていないことを示し、第1ノードと第2ノードの通信環境はセキュアである。第1通信情報に含まれる1つ以上のアルゴリズム及び1つ以上のKDFが、第1アルゴリズムネゴシエーション要求情報に含まれる1つ以上のアルゴリズム及び1つ以上のKDFとは異なる場合、これは、第1アルゴリズムネゴシエーション要求情報が変更されていることを示し、第1ノードと第2ノードの通信環境はセキュアではない。
第1通信情報が第1検証情報を含むとき、第1通信情報を取得した後、第2ノードは、第1検証情報を使用することによって、第1アルゴリズムネゴシエーション要求情報が変更されているかどうかを検証することが理解され得る。第1アルゴリズムネゴシエーション要求情報が変更されていない場合、第1ノードと第2ノードの通信環境はセキュアであり;あるいは、第1アルゴリズムネゴシエーション要求情報が変更されている場合、第1ノードと第2ノードの通信環境はセキュアではない。
図5に示される方法に基づいて、少なくとも1つの第1アルゴリズムが、暗号化アルゴリズムと完全性保護アルゴリズムを含むとき、第1ノードと第2ノードは、少なくとも1つの第1KDFに基づいて、暗号化鍵と完全性保護鍵を取得し得る。続いて、第1ノードは、暗号化鍵を使用することによって第1通信情報を暗号化して、暗号化された情報を取得し、完全性保護アルゴリズム、暗号化された情報、第2通信情報及び完全性保護鍵に基づいて第2MACを取得し、第2MACを使用することによって第1通信情報に対して完全性保護を実行し得る。第2ノードは、完全性保護アルゴリズム、暗号化された情報、第2通信情報及び完全性保護鍵に基づいて第4MACを取得し、第4MACを使用することによって第1情報の完全性を検証し得る。このようにして、第1ノードが第2ノードと通信するとき、第1通信情報は、暗号化アルゴリズムを使用することによって暗号化されることができ、完全性保護アルゴリズムを使用することによって、完全性保護を第1情報に対して更に実行することができる。したがって、第1ノードと第2ノードとの間の通信のセキュリティを改善することができる。
任意に、図3に示される方法の第3の可能な実装では、第1情報は第2情報及び第1MACを含む。少なくとも1つの第1アルゴリズムが暗号化アルゴリズムと完全性保護アルゴリズムを含むとき、第1MACは、完全性保護アルゴリズムを使用することによって、第2情報に対して完全性保護を実行することによって取得される。第1情報を受信した後、第2ノードは、完全性保護アルゴリズム、第2情報及び完全性保護鍵に基づいて第3MACを取得し、第3MACを使用することによって第1情報の完全性を検証し得る。具体的には、図6に示されるように、図3に示される方法は、ステップ601~ステップ603を更に含む。
ステップ601:第1ノードは、少なくとも1つの第1KDFに基づいて完全性保護鍵を取得する。
ステップ601の具体的なプロセスについては、ステップ501における対応する説明を参照されたい。詳細は再度説明されない。
さらに、第1MACが、完全性保護アルゴリズム、第2情報及び完全性保護鍵に基づいて取得される。例えば第1ノードは、第2情報及び完全性保護鍵を完全性保護アルゴリズムの入力として使用することによって、第1MACを取得する。
任意に、第1ノードは、少なくとも1つの第1KDFに基づいて暗号化鍵を取得し、それにより、第1ノードと第2ノードは、その後、暗号化鍵を使用することによって、第1ノードと第2ノードとの間の通信情報を暗号化又は復号する。これは、第1ノードと第2ノードとの間の通信のセキュリティが改善する。第1ノードが少なくとも1つの第1KDFに基づいて暗号化鍵を取得するプロセスについては、ステップ501のおける対応する説明を参照されたい。詳細は、再度説明しない。
ステップ602:第2ノードは、少なくとも1つの第1KDFに基づいて完全性保護鍵を取得する。
ステップ602の具体的なプロセスについては、ステップ502における対応する説明を参照されたい。詳細は再度説明されない。
任意に、第2ノードは、少なくとも1つのKDFに基づいて暗号化鍵を取得する。第2ノードが少なくとも1つの第1KDFに基づいて暗号化鍵を取得するプロセスについては、ステップ502における対応する説明を参照されたい。詳細は、再度説明しない。
ステップ603:第2ノードは、完全性保護アルゴリズム及び第2情報に基づいて第3MACを取得する。
第3MACは、第2情報の完全性を検証するために使用され得る。
さらに、第2ノードは、完全性保護アルゴリズム、第2情報及び完全性保護鍵に基づいて第3MACを取得する。例えば第2ノードは、第2情報と完全性保護鍵を完全性保護アルゴリズムの入力として使用することによって、第3MACを取得する。
第2ノードは、第2情報内の一部の情報に対して完全性保護を更に実行し得ることが理解され得る。例えば第2ノードは、第2情報内の一部の情報、完全性保護アルゴリズム及び完全性保護鍵に基づいて第3MACを取得する。
第3MACが第1MACと同じである場合、これは、第2情報が変更されていないことを示し、第2ノードと第1ノードは、少なくとも1つの第1アルゴリズムと少なくとも1つの第1KDFを使用することによって、互いに通信することができることに留意されたい。第3MACが第1MACと異なる場合、これは、第1情報が変更されていることを示し、第2ノードは、ステップ301を再度実行し得るか;あるいは第2ノードは、少なくとも1つの第1アルゴリズム及び少なくとも1つの第1KDFを再決定するように第1ノードに指示し得る。
第1通信情報が、1つ以上のアルゴリズム及び1つ以上のKDFを示すために使用される指示情報を含むとき、第1通信情報を取得した後、第2ノードは、第1通信情報に含まれる1つ以上のアルゴリズム及び1つ以上のKDFが、第1アルゴリズムネゴシエーション要求情報に含まれる1つ以上のアルゴリズム及び1つ以上のKDFと同じであるかどうかを更に検証し得るが理解され得る。第1通信情報に含まれる1つ以上のアルゴリズム及び1つ以上のKDFが、第1アルゴリズムネゴシエーション要求情報に含まれる1つ以上のアルゴリズム及び1つ以上のKDFと同じである場合、これは、第1アルゴリズムネゴシエーション要求情報が変更されていないことを示し、第1ノードと第2ノードの通信環境はセキュアである。第1通信情報に含まれる1つ以上のアルゴリズム及び1つ以上のKDFが、第1アルゴリズムネゴシエーション要求情報に含まれる1つ以上のアルゴリズム及び1つ以上のKDFとは異なる場合、これは、第1アルゴリズムネゴシエーション要求情報が変更されていることを示し、第1ノードと第2ノードの通信環境がセキュアではない。
第1通信情報が第1検証情報を含む場合、第1通信情報を取得した後、第2ノードは、第1検証情報を使用することによって、第1アルゴリズムネゴシエーション要求情報が変更されているかどうかを検証することが理解され得る。第1アルゴリズムネゴシエーション要求情報が変更されていない場合、第1ノードと第2ノードの通信環境はセキュアであり;あるいは、第1アルゴリズムネゴシエーション要求情報が変更されている場合、第1ノードと第2ノードの通信環境はセキュアではない。
図6に示される方法に基づいて、少なくとも1つの第1アルゴリズムが暗号化アルゴリズム及び完全性保護アルゴリズムを含むとき、第1ノードと第2ノードは、少なくとも1つの第1KDFに基づいて暗号化鍵及び完全性保護鍵を取得し得る。続いて、第1ノードは、完全性保護アルゴリズム、第2情報及び完全性保護鍵に基づいて第1MACを取得し、第1MACを使用することによって、第1情報に対して完全性保護を実行し得る。第2ノードは、完全性保護アルゴリズム、第2情報及び完全性保護鍵に基づいて第3MACを取得し、第3MACを使用することによって、第1情報の完全性を検証し得る。このようにして、第1ノードが第2ノードと通信するとき、完全性保護アルゴリズムを使用することによって、第1情報に対して完全性保護を実行することができる。したがって、第1ノードと第2ノードとの間の通信のセキュリティを改善することができる。
任意に、図3に示される方法の第4の可能な実装において、第1情報は、第2情報及び第1MACを含む。少なくとも1つの第1アルゴリズムが認証された暗号化アルゴリズムを含むとき、第1MACは、認証された暗号化アルゴリズムを使用することによって、第2情報に対して完全性保護を実行することにより取得される。第1情報を受信した後、第2ノードは、認証された暗号化アルゴリズム、第2情報及び認証された暗号化鍵に基づいて第3MACを取得し、第3MACを使用することによって、第1情報の完全性を検証し得る。具体的には、図7に示されるように、図3に示される方法は、ステップ701~ステップ703を更に含む。
ステップ701:第1ノードは、少なくとも1つの第1KDFに基づいて認証された暗号化鍵を取得する。
ステップ701の具体的なプロセスについては、ステップ401における対応する説明を参照されたい。詳細は再度説明されない。
さらに、第1MACは、認証された暗号化アルゴリズム、第2情報及び認証された暗号化鍵に基づいて取得される。例えば第1ノードは、第2情報と認証された暗号化鍵を認証された暗号化アルゴリズムの入力として使用することによって、第1MACを取得する。
ステップ702:第2ノードは、少なくとも1つの第1KDFに基づいて認証された暗号化鍵を取得する。
ステップ702の具体的なプロセスについては、ステップ402における対応する説明を参照されたい。詳細は再度説明されない。
ステップ703:第2ノードは、認証された暗号化アルゴリズム及び第2情報に基づいて第3MACを取得する。
第3MACは、第2情報の完全性を検証するために使用され得る。
さらに、第2ノードは、認証された暗号化アルゴリズム、第2情報及び認証された暗号化鍵に基づいて第3MACを取得する。例えば第2ノードは、第2情報と認証された暗号化鍵を、認証された暗号化アルゴリズムの入力として使用することによって第3MACを取得する。
第2ノードが、第2情報内の一部の情報に対して完全性保護を実行し得ることが理解され得る。例えば第2ノードは、第2情報内の一部の情報、認証された暗号化アルゴリズム及び認証された暗号化鍵に基づいて第3MACを取得する。
第3MACが第1MACと同じである場合、これは、第2情報が変更されていないことを示し、第2ノードと第1ノードは、少なくとも1つの第1KDFと少なくとも1つの第1KDFを使用することによって、互いに通信し得ることに留意されたい。第3MACが第1MACと異なる場合、これは、第1情報が変更されていないことを示し、第2ノードは、ステップ301を再度実行してよく、あるいは第2ノードは、少なくとも1つの第1アルゴリズム及び少なくとも1つの第1KDFを再決定するように第1ノードに指示し得る。
第1通信情報が、1つ以上のアルゴリズム及び1つ以上のKDFを示すために使用される指示情報を含むケース及び第1通信情報が第1検証情報を含むケースについては、図6における方法の説明を参照することが理解され得る。詳細は再度説明されない。
図7に示される方法に基づいて、少なくとも1つの第1アルゴリズムが、認証された暗号化アルゴリズムを含むとき、第1ノード及び第2ノードは、少なくとも1つの第1KDFに基づいて、認証された暗号化鍵を取得し得る。続いて、第1ノードは、認証された暗号化アルゴリズム、第2情報及び認証された暗号化鍵に基づいて第1MACを取得し、第1MACを使用することによって、第1情報に対して完全性保護を実行し得る。第2ノードは、認証された暗号化アルゴリズム、第2情報及び認証された暗号化鍵に基づいて第3MACを取得し、第3MACを使用することによって、第1情報の完全性を検証し得る。このようにして、第1ノードが第2ノードと通信するとき、認証された暗号化アルゴリズムを使用することによって、完全性保護が第1情報に対して実行され得る。したがって、第1ノードと第2ノードとの間の通信のセキュリティを改善することができる。
図3に示される方法、図4に示される方法、図5に示される方法又は図6に示される方法のステップ301の前に、第2ノードは、1つ以上のアルゴリズム及び1つ以上のKDFの指示情報を第1ノードに複数回送信してよく、その結果、第1ノードは、複数回送信された指示情報から少なくとも1つの第1アルゴリズム及び少なくとも1つの第1KDFを決定することが理解され得る。以下は、図3に示される方法を例として用いて、上述のプロセスを説明する。
任意に、図8に示されるように、図3に示される方法の第5の可能な実装において、図3に示される方法は、ステップ801及びステップ802を更に含む。
ステップ801:第2ノードは、第2アルゴリズムネゴシエーション要求情報を第1ノードに送信する。
第2アルゴリズムネゴシエーション要求情報は、1つ以上のアルゴリズム及び1つ以上のKDFを示すために使用され得る。
任意に、第2アルゴリズムネゴシエーション要求情報によって示される1つ以上のアルゴリズムは、第1アルゴリズムネゴシエーション要求情報によって示される1つ以上のアルゴリズムとは異なる。例えば第2アルゴリズムネゴシエーション要求情報によって示される1つ以上のアルゴリズムは、第1アルゴリズムネゴシエーション要求情報によって示される1つ以上のアルゴリズムとは完全に異なる。あるいは、第2アルゴリズムネゴシエーション要求情報によって示される1つ以上のアルゴリズムは、第1アルゴリズムネゴシエーション要求情報によって示される1つ以上のアルゴリズムと完全には同じではない。第2アルゴリズムネゴシエーション要求情報によって示される1つ以上のKDFは、第1アルゴリズムネゴシエーション要求情報によって示される1つ以上のKDFとは異なる。例えば第2アルゴリズムネゴシエーション要求情報によって示される1つ以上のKDFは、第1アルゴリズムネゴシエーション要求情報によって示される1つ以上のKDFとは完全に異なる。あるいは、第2アルゴリズムネゴシエーション要求情報によって示される1つ以上のKDFは、第1アルゴリズムネゴシエーション要求情報によって示される1つ以上のKDFと完全には同じではない。
任意に、第2アルゴリズムネゴシエーション要求情報は、第2ノードの識別子及び第3フレッシュパラメータを更に含む。第2ノードの識別子は、第2ノードを識別するために使用され得る。第3フレッシュパラメータは、第2アルゴリズムネゴシエーション要求情報の時間妥当性に関連するパラメータである。例えば第3フレッシュパラメータは、第2ノードにおけるカウンタの値又は第3ナンスを含む。カウンタの値は、第2ノードのカウンタのものであり、かつ第2ノードが第2アルゴリズムネゴシエーション要求情報を送信することを決定したときに存在する値とすることができ、カウンタは、第1ノードと第2ノードとの間の通信時間の量を記録するために使用され得る。第3ナンスは、第2ノードが第2アルゴリズムネゴシエーション要求情報を送信することを決定したときに、第2ノードによって生成されるナンスであり得る。
ステップ801の具体的なプロセスについては、第2ノードが第1アルゴリズムネゴシエーション要求情報を第1ノードに送信するステップ301の対応する説明を参照されたい。詳細は再度説明されない。
ステップ802:第1ノードは、第2ノードから第2アルゴリズムネゴシエーション要求情報を受信し、第3情報を第2ノードに送信する。
第3情報は、第2アルゴリズムネゴシエーション要求情報によって示される1つ以上のアルゴリズム及び1つ以上のKDFが、サポートされていないか又は適用可能でないことを示すために使用され得る。
第1ノードが、第2ノードによって示される1つ以上のアルゴリズム及び1つ以上のKDFがサポートされていないか又は適用可能でないことを示すとき、第1ノードが、第2ノードによって示される1つ以上のアルゴリズム及び1つ以上のKDFに基づいて少なくとも1つの第1アルゴリズム及び少なくとも1つの第1KDFを決定するまで、第2ノードはステップ801を再度実行し得ることが理解され得る。
図3に示される方法のステップ301の前に実行されることに加えて、ステップ801及びステップ802は、図4、図5、図6又は図7に示される方法のステップ301の前に実行されてもよいことが理解され得る。これは限定されない。
図8に示される方法に基づいて、第1ノードが少なくとも1つの第1アルゴリズム及び少なくとも1つの第1KDFを決定する前に、第2ノードは、1つ以上のアルゴリズム及び1つ以上のKDFの指示情報を第1ノードに複数回送信し得る。このようにして、第2ノードは、1つ以上のアルゴリズム及び1つ以上のKDFの指示情報を第1ノードに複数回送信することによって、第1ノードと第2ノードとの間で使用されるアルゴリズム及びKDFについて第1ノードとネゴシエーションすることができる。
本出願の実施態様において提供される解決策は、主に、第1ノードと第2ノードとの間の対話の観点から上記で説明されている。前述の機能を実装するために、第1ノード又は第2ノードは、機能を実行するために対応するハードウェア構造及び/又はソフトウェアモジュールを含むことが理解され得る。当業者は、本明細書で開示される実施形態で説明されるユニット及びアルゴリズム操作の例と組み合わせて、本出願を、ハードウェア又はハードウェアとコンピュータソフトウェアの組合せによって実装することができることに容易に気づくべきである。機能がハードウェアによって実行されるか又はコンピュータソフトウェアにより駆動されるハードウェアによって実行されるかは、特定の適用と技術的解決策の設計的制約に依存する。当業者は、特定の用途ごとに、異なる方法を使用して説明された機能を実装することができ、その実装が本出願の範囲を超えるものと見なされるべきではない。
本出願の実施形態では、第1ノード又は第2ノードは、前述の方法例に基づいて機能モジュールに分割され得る。例えば各機能モジュールは、各対応する機能に基づく分割を通して取得されてもよく、あるいは2つ以上の機能が1つの処理モジュールに統合されてもよい。統合モジュールは、ハードウェアの形態で実装され得るか又はソフトウェア機能モジュールの形態で実装され得る。本出願の実施態様において、モジュールへの分割は一例であり、単に論理機能分割であることに留意されたい。実際の実装の間に、別の分割方式が存在してもよい。
例えば各機能モジュールが統合方式の分割を通して取得されるとき、図9は通信装置の概略構造図である。通信装置は、第1ノードであるか又は第1ノード内のチップ又はシステムオンチップであってよく、通信装置は、前述の実施形態における第1ノードの機能を実行するよう構成され得る。
可能な実施形態では、図9に示される通信装置は、受信モジュール901、処理モジュール902及び送信モジュール903を含む。
受信モジュール901は、第1アルゴリズムネゴシエーション要求情報を第2ノードから受信するよう構成され、ここで、第1アルゴリズムネゴシエーション要求情報は、1つ以上のアルゴリズム及び1つ以上のKDFを示すために使用される。
処理モジュール902は、1つ以上のアルゴリズムにおける少なくとも1つの第1アルゴリズムと、1つ以上のKDFにおける少なくとも1つの第1KDFを決定するよう構成される。
送信モジュール903は、第1情報を第2ノードに送信するよう構成され、ここで、第1情報は、少なくとも1つの第1アルゴリズム及び少なくとも1つの第1KDFを示すために使用される。
任意に、1つ以上のアルゴリズムは、暗号化アルゴリズム及び/又は完全性保護アルゴリズム及び/又は認証された暗号化アルゴリズムを含む。
任意に、少なくとも1つの第1アルゴリズムを使用することによって、第1情報に対して完全性保護が実行される。
任意に、第1情報は、第2情報及び第1メッセージ認証コードMACを含み、第2情報は、少なくとも1つの第1アルゴリズム及び少なくとも1つの第1KDFを示すために使用され、第1MACは、第2情報に対して完全性保護を実行することによって取得される。
任意に、少なくとも1つの第1アルゴリズムは、完全性保護アルゴリズムを含み、第1MACは、完全性保護アルゴリズムを使用することによって、第2情報に対して完全性保護を実行することにより取得されるか;あるいは、少なくとも1つの第1アルゴリズムは、認証された暗号化アルゴリズムを含み、第1MACは、認証された暗号化アルゴリズムを使用することによって、第2情報に対して完全性保護を実行することにより取得される。
任意に、第2情報は、第1フレッシュパラメータ及び第1検証情報を更に含み、第1フレッシュパラメータは、第1情報の時間妥当性に関連するパラメータであり、第1検証情報は、第1アルゴリズムネゴシエーション要求情報、プリセット共有鍵、第1フレッシュパラメータ及び第1KDFに基づいて取得される。
任意に、第1情報は、暗号化された情報、第2通信情報及び第2メッセージ認証コードMACを含み;暗号化された情報は、第1通信情報を暗号化することによって取得され、第1通信情報は、少なくとも1つの第1アルゴリズム又は少なくとも1つの第1KDFのうちの少なくとも一方を示さず、第2通信情報は、少なくとも1つの第1アルゴリズム又は少なくとも1つの第1KDFのうちの少なくとも一方を示すために使用され;第2MACは、暗号化された情報及び第2通信情報に対して完全性保護を実行することによって取得される。
任意に、少なくとも1つの第1アルゴリズムは、暗号化アルゴリズム及び完全性保護アルゴリズムを含み;暗号化された情報は、暗号化アルゴリズムを使用することによって、第1通信情報を暗号化することにより取得され;第2MACは、完全性保護アルゴリズムを使用することによって、暗号化された情報及び第2通信情報に対して完全性保護を実行することによって取得される。
任意に、少なくとも1つの第1アルゴリズムは、認証された暗号化アルゴリズムを含み;暗号化された情報は、認証された暗号化アルゴリズムを使用することによって、第1通信情報を暗号化することにより取得され;第2MACは、認証された暗号化アルゴリズムを使用することによって、暗号化された情報及び第2通信情報の完全性保護を実行することにより取得される。
任意に、少なくとも1つの第1アルゴリズムは、通信装置によってサポートされ、かつ1つ以上のアルゴリズムにおいて最も高い優先度を有するアルゴリズムであり、少なくとも1つの第1KDFは、通信装置によってサポートされ、かつ1つ以上のKDFにおいて最も高い優先度を有するKDFである。
任意に、第1アルゴリズムネゴシエーション要求情報は、第2フレッシュパラメータを更に含み、第2フレッシュパラメータは、第1アルゴリズムネゴシエーション要求情報の時間妥当性に関連するパラメータであり;受信モジュール901は、第2ノードから第2検証情報を受信するよう更に構成され、ここで、第2検証情報は、第1情報、プリセット共有鍵、第2フレッシュパラメータ及び第1KDFに基づいて取得され;処理モジュール902は、第1情報、プリセット共有鍵、第2フレッシュパラメータ及び第1KDFに基づいて第2検証情報を検証するよう更に構成される。
任意に、受信モジュール901は、第2アルゴリズムネゴシエーション要求情報を第2ノードから受信するよう更に構成され、ここで、第2アルゴリズムネゴシエーション要求情報は、1つ以上のアルゴリズム及び1つ以上のKDFを示すために使用され;送信モジュール903は、第3情報を第2ノードに送信するよう更に構成され、ここで、第3情報は、第2アルゴリズムネゴシエーション要求情報によって示される1つ以上のアルゴリズム及び1つ以上のKDFがサポートされていないか又は適用可能でないことを示すために使用される。
任意に、第2アルゴリズムネゴシエーション要求情報によって示される1つ以上のアルゴリズムは、第1アルゴリズムネゴシエーション要求情報によって示される1つ以上のアルゴリズムとは異なり;第2アルゴリズムネゴシエーション要求情報によって示される1つ以上のKDFは、第1アルゴリズムネゴシエーション要求情報によって示される1つ以上のKDFとは異なる。
前述の方法の実施形態における動作のすべての関連する内容は、対応する機能モジュールの機能説明において引用され得る。詳細はここでは説明されない。
この実施形態では、通信装置は、分割を通して取得される機能モジュールの統合方式の形態で提示される。本明細書において「モジュール」は、特定のASIC、回路、1つ以上のソフトウェア又はファームウェアプログラムを実行するプロセッサとメモリ、集積論理回路及び/又は前述の機能を提供することができる別の構成要素であり得る。単純な実施形態では、当業者は、通信装置が図2に示される形態であり得ることを理解し得る。
例えば図2のプロセッサ201は、メモリ203に記憶されたコンピュータ実行可能命令を呼び出して、通信装置が前述の方法の実施形態における通信方法を実行することを可能にし得る。
例えば図9の受信モジュール901、処理モジュール902及び送信モジュール903の機能/実装プロセスは、メモリ203に記憶されたコンピュータ実行可能命令を呼び出すことによって、図2のプロセッサ201によって実装され得る。あるいは、図9の処理モジュール902の機能/実装プロセスは、メモリ203に記憶されたコンピュータ実行可能命令を呼び出すことによって、図2のプロセッサ201によって実装されてよく、図9の受信モジュール901及び送信モジュール903の機能/実装プロセスは、図2の通信インタフェース204によって実装されてもよい。
この実施形態で提供される通信装置は、前述の通信方法を実行するよう構成され得る。したがって、通信装置によって達成することができる技術的効果については、前述の方法の実施形態を参照されたい。詳細はここでは説明されない。
例えば各機能モジュールが統合方式で分割を通して取得されるとき、図10は通信装置の概略構造図である。通信装置は、第2ノードであるか又は第2ノード内のチップ又はシステムオンチップであってよく、通信装置は、前述の実施形態における第2ノードの機能を実行するよう構成され得る。
可能な実施形態では、図10に示される通信装置は、送信モジュール1001及び受信モジュール1002を含む。
送信モジュール1001は、第1アルゴリズムネゴシエーション要求情報を第1ノードに送信するよう構成され、ここで、第1アルゴリズムネゴシエーション要求情報は、1つ以上のアルゴリズム及び1つ以上のKDFを示すために使用される。
受信モジュール1002は、第1ノードから第1情報を受信するよう構成され、ここで、第1情報は、1つ以上のアルゴリズムにおける少なくとも1つの第1アルゴリズムと、1つ以上のKDFにおける少なくとも1つの第1KDFを示すために使用される。
任意に、1つ以上のアルゴリズムは、暗号化アルゴリズム及び/又は完全性保護アルゴリズム及び/又は認証された暗号化アルゴリズムを含む。
任意に、少なくとも1つの第1アルゴリズムを使用することによって、第1情報に対して完全性保護が実行される。
任意に、第1情報は、第2情報と第1メッセージ認証コードMACを含み、第2情報は、少なくとも1つの第1アルゴリズム及び少なくとも1つの第1KDFを示すために使用され、第1MACは、第2情報に対して完全性保護を実行することによって取得される。
任意に、図11に示されるように、通信装置は、処理モジュール1003を更に含み;少なくとも1つの第1アルゴリズムは、完全性保護アルゴリズムを含み、第1MACは、完全性保護アルゴリズムを使用することによって、第2情報に対して完全性保護を実行することにより取得され、処理モジュール1003は、完全性保護アルゴリズム及び第2情報に基づいて第3MACを取得するよう構成され、ここで、第3MACは、第2情報の完全性を検証するために使用され;あるいは、少なくとも1つの第1アルゴリズムは、認証された暗号化アルゴリズムを含み、第1MACは、認証された暗号化アルゴリズムを使用することによって、第2情報に対して完全性保護を実行することにより取得され、処理モジュール1003は、認証された暗号化アルゴリズム及び第2情報に基づいて第3MACを取得するよう構成され、ここで、第3MACは、第2情報の完全性を検証するために使用される。
任意に、第2情報は、第1フレッシュパラメータ及び第1検証情報を更に含み、第1フレッシュパラメータは、第1情報の時間妥当性に関連するパラメータであり、第1検証情報は、第1アルゴリズムネゴシエーション要求情報、プリセット共有鍵、第1フレッシュパラメータ及び第1KDFに基づいて取得される。
任意に、第1情報は、暗号化された情報、第2通信情報及び第2メッセージ認証コードMACを含み;暗号化された情報は、第1通信情報を暗号化することによって取得され、第1通信情報は、少なくとも1つの第1アルゴリズム又は少なくとも1つの第1KDFのうちの少なくとも一方を示さず、第2通信情報は、少なくとも1つの第1アルゴリズム又は少なくとも1つの第1KDFのうちの少なくとも一方を示すために使用され;第2MACは、暗号化された情報及び第2通信情報に対して完全性保護を実行することによって取得される。
任意に、少なくとも1つの第1アルゴリズムは、暗号化アルゴリズム及び完全性保護アルゴリズムを含み、暗号化された情報は、暗号化アルゴリズムを使用することによって、第1通信情報を暗号化することにより取得され;第2MACは、完全性保護アルゴリズムを使用することによって、暗号化された情報及び第2通信情報に対して完全性保護を実行することによって取得され;処理モジュール1003は、完全性保護アルゴリズム、暗号化された情報及び第2通信情報に基づいて第4MACを取得するよう構成され;処理モジュール1003は、第4MACが第2MACと同じである場合、暗号化アルゴリズムを使用することによって暗号化された情報を復号するように更に構成される。
任意に、少なくとも1つの第1アルゴリズムは、認証された暗号化アルゴリズムを含み、暗号化された情報は、認証された暗号化アルゴリズムを使用することによって、第1通信情報を暗号化することにより取得され;第2MACは、認証された暗号化アルゴリズムを使用することによって、暗号化された情報及び第2通信情報に対して完全性保護を実行することにより取得され、処理モジュール1003は、認証された暗号化アルゴリズム、暗号化された情報及び第2通信情報に基づいて、第4MACを取得するよう構成され;処理モジュール1003は、第4MACが第2MACと同じである場合、認証された暗号化アルゴリズムを使用することによって、暗号化された情報を復号するように更に構成される。
任意に、少なくとも1つの第1アルゴリズムは、第1ノードによってサポートされ、かつ1つ以上のアルゴリズムにおいて最も高い優先度を有するアルゴリズムであり、少なくとも1つの第1KDFは、第1ノードによってサポートされ、かつ1つ以上のKDFにおいて最も高い優先度を有するKDFである。
任意に、第1アルゴリズムネゴシエーション要求情報は、第2フレッシュパラメータを更に含み、第2フレッシュパラメータは、第1アルゴリズムネゴシエーション要求情報の時間妥当性に関連するパラメータであり、送信モジュール1001は、第2検証情報を第1ノードに送信するよう更に構成され、ここで、第2検証情報は、第1情報、プリセット共有鍵、第2フレッシュパラメータ及び第1KDFに基づいて取得される。
任意に、送信モジュール1001は、第2アルゴリズムネゴシエーション要求情報を第1ノードに送信するよう更に構成され、ここで、第2アルゴリズムネゴシエーション要求情報は、1つ以上のアルゴリズム及び1つ以上のKDFを示すために使用され;受信モジュール1002は、第1ノードから第3情報を受信するように更に構成され、ここで、第3情報は、第2アルゴリズムネゴシエーション要求情報によって示される1つ以上のアルゴリズム及び1つ以上のKDFが、サポートされていないか又は適用可能でないことを示すために使用される。
任意に、第2アルゴリズムネゴシエーション要求情報によって示される1つ以上のアルゴリズムは、第1アルゴリズムネゴシエーション要求情報によって示される1つ以上のアルゴリズムとは異なり;第2アルゴリズムネゴシエーション要求情報によって示される1つ以上のKDFは、第1アルゴリズムネゴシエーション要求情報によって示される1つ以上のKDFとは異なる。
前述の方法の実施形態における動作のすべての関連する内容は、対応する機能モジュールの機能説明において引用され得る。詳細はここでは説明されない。
この実施形態では、通信装置は、分割を通して取得される機能モジュールの統合方式の形態で提示される。本明細書において「モジュール」は、特定のASIC、回路、1つ以上のソフトウェア又はファームウェアプログラムを実行するプロセッサとメモリ、集積論理回路及び/又は前述の機能を提供することができる別の構成要素であり得る。単純な実施形態では、当業者は、通信装置が図2に示される形態であり得ることを理解し得る。
例えば図2のプロセッサ201は、メモリ203に記憶されたコンピュータ実行可能命令を呼び出して、通信装置が前述の方法の実施形態における通信方法を実行することを可能にし得る。
例えば図11の送信モジュール1001、受信モジュール1002及び処理モジュール1003の機能/実装プロセスは、メモリ203に記憶されたコンピュータ実行可能命令を呼び出すことによって、図2のプロセッサ201によって実装され得る。あるいは、図11の処理モジュール1003の機能/実装プロセスは、メモリ203に記憶されたコンピュータ実行可能命令を呼び出すことによって、図2のプロセッサ201によって実装されてもよく、図11の送信モジュール1001及び受信モジュール1002の機能/実装プロセスは、図2の通信インタフェース204によって実装されてもよい。
この実施形態で提供される通信装置は、前述の通信方法を実行するよう構成され得る。したがって、通信装置によって達成することができる技術的効果については、前述の方法の実施形態を参照されたい。詳細はここでは説明されない。
図12は、通信システムの概略構成図である。図12に示されるように、通信システム120は、ノード1201及びノード1202を含み得る。図12は、単に例示的な添付図面であり、図12に示される通信システム120に含まれるノード及びノードの数量は、本出願のこの実施形態において限定されないことに留意されたい。
ノード1201は、図9に示される通信装置の機能を有し、第1アルゴリズムネゴシエーション要求情報を第2ノードから受信し、1つ以上のアルゴリズムにおける少なくとも1つの第1アルゴリズムと、1つ以上のKDFにおける少なくとも1つの第1KDFを決定し、第1情報を第2ノードに送信するよう構成される。
ノード1202は、図10又は図11に示される通信装置の機能を有し、第1アルゴリズムネゴシエーション要求情報を第1ノードに送信し、第1情報を第1ノードから受信するよう構成され得る。
前述の方法の実施形態におけるステップのすべての関連する内容は、通信システム120の対応するノードの機能説明において引用され得ることに留意されたい。詳細はここでは説明されない。
図13は、本出願の一実施形態によるチップの概略構造図である。チップ130は、1つ以上のプロセッサ1301及びインタフェース回路1302を含む。任意に、チップ130は、バス1303を更に含み得る。
プロセッサ1301は、集積回路チップであってよく、信号処理能力を有する。実装プロセスにおいて、前述の方法におけるステップは、プロセッサ1301内のハードウェア集積論理回路を使用することによって又はソフトウェアの形式の命令を使用することによって実装され得る。プロセッサ1301は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)又は別のプログラマブルロジックデバイス、離散ゲート又はトランジスタ論理デバイス、あるいは離散ハードウェア構成要素であり得る。プロセッサは、本出願の実施形態において開示される方法及びステップを実装又は実行し得る。汎用プロセッサは、マイクロプロセッサであってよく、あるいはプロセッサは、任意の従来のプロセッサ等であってよい。
インタフェース回路1302は、データ、命令又は情報を送信又は受信するよう構成される。プロセッサ1301は、インタフェース回路1302によって受信されるデータ、命令又は他の情報を使用することによって処理を実行してよく、インタフェース回路1302を使用することによって処理された情報を送信し得るる。
任意に、チップ130はメモリを更に含む。メモリは、読取専用メモリ及びランダムアクセスメモリを含んでよく、プロセッサのための操作命令及びデータを提供し得る。メモリの一部は、不揮発性ランダムアクセスメモリ(NVRAM)を更に含み得る。
任意に、メモリは、実行可能ソフトウェアモジュール又はデータ構造を記憶し、プロセッサは、メモリに記憶された動作命令(動作命令は、オペレーティングシステムに記憶され得る)を呼び出すことによって対応する動作を実行し得る。
任意に、チップ130は、本出願の実施形態における通信装置(第1ノード及び第2ノードを含む)において使用され得る。任意に、インタフェース回路1302は、プロセッサ1301の実行結果を出力するよう構成され得る。本出願の1つ以上の実施形態において提供される通信方法については、前述の実施形態を参照されたい。詳細は、ここでは再度説明されない。
プロセッサ1301及びインタフェース回路1302に対応する機能は、ハードウェア設計を使用することによって実装されてよく、あるいはソフトウェア設計を使用して実装されてもよく、あるいはソフトウェアとハードウェアを組み合わせることによって実装されてもよいことに留意されたい。これは、本明細書において限定されない。
本出願の一実施形態は、スマートコックピット製品を更に提供し、スマートコックピット製品は、前述の第1ノード及び/又は前述の第2ノードを含む。
本出願の一実施形態は、インテリジェントデバイス又は輸送車両を更に提供し、車両は、第1ノード及び/又は第2ノードを含む。具体的には、インテリジェントデバイスはロボット等であり得、輸送車両はスマートカー、無人航空機、無人輸送車両等であり得る。
実装に関する前述の説明は、簡便かつ簡潔な説明のために、前述の機能モジュールへの分割は単に説明のための例示として使用されることを当業者が明確に理解することを可能にする。実際の適用では、前述の機能を、要求に基づいて実装のために異なる機能モジュールに割り当てることができる、すなわち、装置の内部構造は異なる機能モジュールに分割され、上述の機能の全部又は一部を実装する。
本出願において提供されるいくつかの実施形態において、開示された装置及び方法は、他の方式で実装されてもよいことを理解されたい。例えば記載される装置の実施形態は単なる例である。例えばモジュール又はユニットへの分割は、単に論理関数分割である。実際の実装においては別の分割方式が存在することがある。例えば複数のユニット又は構成要素が組み合わされるか又は別の装置に組み込まれてよく、あるいはいくつかの特徴が無視されるか又は実行されなくてよい。加えて、表示又は議論された相互結合、直接結合又は通信接続は、いくつかのインタフェースを使用することによって実装され得る。装置又はユニット間の間接的な結合又は通信接続は、電子的、機械的又は別の形態で実装され得る。
別個の構成要素として説明されるユニットは、物理的に分離していても、物理的に分離していなくてもよく、ユニットとして表示される構成要素は、1つ以上の物理的ユニットであってよい、すなわち、1つの場所に配置されてよく、あるいは複数の異なる場所に分散されてもよい。ユニットの一部又はすべては、実施形態の解決策の目的を達成するために、実際の要件に基づいて選択されてよい。
加えて、本出願の実施形態における機能ユニットは、1つの処理ユニットに統合されてよく、あるいはユニットの各々は、物理的に単独で存在してよく、あるいは2つ以上のユニットが1つのユニットに統合されてもよい。統合ユニットは、ハードウェアの形態で実装されてよく、あるいはソフトウェア機能ユニットの形態で実装されてもよい。
統合ユニットがソフトウェア機能ユニットの形態で実装されて、独立した製品として販売又は使用されるとき、統合ユニットは、読取可能記憶媒体に記憶されることがある。このような理解に基づいて、本質的に本出願の実施形態における技術的解決策、先行技術に寄与する部分又は技術的解決策のすべて若しくは一部が、ソフトウェア製品の形態で実装されることがある。ソフトウェア製品は、記憶媒体に記憶され、デバイス(シングルチップマイクロコンピュータ、チップ等であり得る)又はプロセッサ(processor)に、本出願の実施形態で説明される方法のステップのすべて又は一部を実行するよう指示するためのいくつかの命令を含む。前述の記憶媒体は、USBフラッシュドライブ、取外可能ハードディスク、ROM、RAM、磁気ディスク又は光ディスクのような、プログラムコードを記憶することができる任意の媒体を含む。
前述の説明は、単に本出願の具体的な実装にすぎないが、本出願の保護範囲を限定するよう意図されていない。本出願で開示される技術的範囲内の変更又は置換は、本出願の保護範囲内にあるものとする。したがって、本出願の保護範囲は、特許請求の範囲の保護範囲に従うものとする。