(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-21
(45)【発行日】2024-07-01
(54)【発明の名称】通信方法及び通信装置
(51)【国際特許分類】
H04L 9/16 20060101AFI20240624BHJP
【FI】
H04L9/16
(21)【出願番号】P 2022568488
(86)(22)【出願日】2020-05-15
(86)【国際出願番号】 CN2020090460
(87)【国際公開番号】W WO2021226989
(87)【国際公開日】2021-11-18
【審査請求日】2022-12-15
(73)【特許権者】
【識別番号】504161984
【氏名又は名称】ホアウェイ・テクノロジーズ・カンパニー・リミテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】グオ、ツィペン
【審査官】中里 裕正
(56)【参考文献】
【文献】特開平11-191761(JP,A)
【文献】特開2000-349751(JP,A)
【文献】特開2005-198211(JP,A)
【文献】LAUTER, K. and MITYAGIN, A.,Security Analysis of KEA Authenticated Key Exchange Protocol,Cryptology ePrint Achive, Paper 2005/265 ver:20060217:002157,[online],2006年02月17日, pp.1-17,<URL:https://eprint.iacr.org/archive/2005/265/20060217:002157>,[2024年1月19日検索]
【文献】山村明弘,ISO/IEC 9798プロトコルの安全性評価,[online],2011年02月04日,pp.1-14,<URL:https://www.cryptrec.go.jp/ex_reports.html#fy2010>,[2024年1月19日検索]
【文献】太田良典,2章 詳説 SSL/TLS,Web Site Expert,技術評論社,2007年08月25日,#13,pp.110-116
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/16
(57)【特許請求の範囲】
【請求項1】
通信方法であって、
第2のデバイスが、第1のデバイスからの認証要求情報を受信する段階であって、前記認証要求情報は、前記第1のデバイスの識別子情報を含む、受信する段階と、
前記第2のデバイスが、第1のマッピング関係に基づいて、前記第1のデバイスの前記識別子情報に対応する暗号アルゴリズムスイートを決定する段階であって、前記第1のマッピング関係は、少なくとも1つのデバイスの識別子情報と少なくとも1つの暗号アルゴリズムスイートとの間の対応関係を示すために用いられる、決定する段階と、
前記第2のデバイスが、前記第1のデバイスとの通信に用いられるパケット暗号化モードを決定する段階であって、前記パケット暗号化モードは、完全暗号化モード及びオンデマンド暗号化モードのうち1つを含む、決定する段階と、
前記第2のデバイスが、前記暗号アルゴリズムスイートに基づいて、認証応答情報を生成する段階と、
前記第2のデバイスが、前記第1のデバイスに、前記認証応答情報を送信する段階と
を備える、通信方法。
【請求項2】
前記第2のデバイスが、前記第1のデバイスとの通信に用いられるパケット暗号化モードを決定する前記段階は、
前記第2のデバイスが、第2のマッピング関係に基づいて、前記第1のデバイスの前記識別子情報に対応する前記パケット暗号化モードを決定する段階であって、前記第2のマッピング関係は、少なくとも1つのデバイスの識別子情報と少なくとも1つのパケット暗号化モードとの間の対応関係を示すために用いられる、決定する段階
を有する、請求項
1に記載の通信方法。
【請求項3】
前記パケット暗号化モードが前記オンデマンド暗号化モードであり、前記通信方法は、
前記第2のデバイスが、通信パケットを生成する段階であって、前記通信パケットは、以下のフィールド:平文識別子、平文データ、暗号文識別子、及び暗号文データを含む、生成する段階
を更に備える、請求項
1に記載の通信方法。
【請求項4】
前記平文データは、前記暗号文データのストリーム暗号化鍵生成シードを含む、請求項
3に記載の通信方法。
【請求項5】
前記第2のデバイスが、前記第1のデバイスに、前記認証応答情報を送信する前記段階の前に、前記通信方法は、
前記第2のデバイスが、予め構成された第2のリストが前記第1のデバイスの前記識別子情報を含むと決定する段階であって、前記第2のリストは、認証される必要があるデバイスの識別子情報を含む、決定する段階
を更に備える、請求項1から
4のいずれか一項に記載の通信方法。
【請求項6】
通信方法であって、
第2のデバイスが、第1のデバイスからの認証要求情報を受信する段階であって、前記認証要求情報は、前記第1のデバイスの識別子情報を含む、受信する段階と、
前記第2のデバイスが、第1のマッピング関係に基づいて、前記第1のデバイスの前記識別子情報に対応する暗号アルゴリズムスイートを決定する段階であって、前記第1のマッピング関係は、少なくとも1つのデバイスの識別子情報と少なくとも1つの暗号アルゴリズムスイートとの間の対応関係を示すために用いられる、決定する段階と、
前記第2のデバイスが、予め構成された第2のリストが前記第1のデバイスの前記識別子情報を含むと決定する段階であって、前記第2のリストは、認証される必要があるデバイスの識別子情報を含む、決定する段階
と、
前記第2のデバイスが、前記暗号アルゴリズムスイートに基づいて、認証応答情報を生成する段階と、
前記第2のデバイスが、前記第1のデバイスに、前記認証応答情報を送信する段階と
を備える、通信方法。
【請求項7】
前記認証要求情報は、前記第1のデバイスの第1のデバイス証明書及び/又は前記第1のデバイスにより用いられる第1の署名値を更に含み、及び/又は
前記認証応答情報は、前記第2のデバイスの第2のデバイス証明書及び/又は前記第2のデバイスにより用いられる第2の署名値を更に含む、請求項1から6のいずれか一項に記載の通信方法。
【請求項8】
前記認証要求情報は、前記第1のデバイスにより用いられる第1の乱数及び/又は前記第1のデバイスにより用いられる第1の一時的公開鍵を更に含み、
前記認証応答情報は、前記第2のデバイスにより用いられる第2の乱数及び/又は前記第2のデバイスにより用いられる第2の一時的公開鍵を更に含む、請求項1から7のいずれか一項に記載の通信方法。
【請求項9】
前記認証要求情報は、第1の暗号を更に含み、及び/又は
前記認証応答情報は、第2の暗号を更に含み、前記第2の暗号は、予め格納され予め共有された鍵及び前記暗号アルゴリズムスイートに基づいて、前記第2のデバイスにより生成される、請求項1から6のいずれか一項に記載の通信方法。
【請求項10】
前記認証要求情報は、前記第1のデバイスにより用いられる第1の一時的公開鍵を更に含み、
前記認証応答情報は、前記第2のデバイスにより用いられる第2の一時的公開鍵及び前記第2のデバイスの識別子情報を更に含む、請求項9に記載の通信方法。
【請求項11】
前記少なくとも1つの暗号アルゴリズムスイートのそれぞれは、フォワードセキュリティ要件を満たす、請求項1から10のいずれか一項に記載の通信方法。
【請求項12】
通信方法であって、
第1のデバイスが、第3のマッピング関係に基づいて、第2のデバイスの識別子情報に対応する暗号アルゴリズムスイートを決定する段階であって、前記第3のマッピング関係は、少なくとも1つのデバイスの識別子情報と少なくとも1つの暗号アルゴリズムスイートとの間の対応関係を示すために用いられる、決定する段階と、
前記第1のデバイスが、前記第2のデバイスとの通信に用いられるパケット暗号化モードを決定する段階であって、前記パケット暗号化モードは、完全暗号化モード及びオンデマンド暗号化モードのうち1つを含む、決定する段階と、
前記第1のデバイスが、前記暗号アルゴリズムスイートに基づいて、認証要求情報を生成する段階であって、前記認証要求情報は、前記第1のデバイスの識別子情報を含む、生成する段階と、
前記第1のデバイスが、前記第2のデバイスに、前記認証要求情報を送信する段階と、
前記第1のデバイスが、前記第2のデバイスからの認証応答情報を受信する段階と
を備える、通信方法。
【請求項13】
前記第1のデバイスが、前記第2のデバイスとの通信に用いられるパケット暗号化モードを決定する前記段階は、
前記第1のデバイスが、第4のマッピング関係に基づいて、前記第2のデバイスの前記識別子情報に対応する前記パケット暗号化モードを決定する段階であって、前記第4のマッピング関係は、少なくとも1つのデバイスの識別子情報と少なくとも1つのパケット暗号化モードとの間の対応関係を示すために用いられる、決定する段階
を有する、請求項
12に記載の通信方法。
【請求項14】
前記パケット暗号化モードが前記オンデマンド暗号化モードであるとき、前記通信方法は、
前記第1のデバイスが、通信パケットを生成する段階であって、前記通信パケットは、以下のフィールド:平文識別子、平文データ、暗号文識別子、及び暗号文データを含む、生成する段階
を更に備える、請求項
12又は
13に記載の通信方法。
【請求項15】
前記平文データは、前記暗号文データのストリーム暗号化鍵生成シードを含む、請求項
14に記載の通信方法。
【請求項16】
前記第1のデバイスが、前記第2のデバイスに、前記認証要求情報を送信する段階の前に、前記通信方法は、
前記第1のデバイスが、予め構成された第1のリストが前記第2のデバイスの前記識別子情報を含むと決定する段階であって、前記第1のリストは、認証される必要があるデバイスの識別子情報を含む、決定する段階
を更に備える、請求項12から
15のいずれか一項に記載の通信方法。
【請求項17】
通信方法であって、
第1のデバイスが、第3のマッピング関係に基づいて、第2のデバイスの識別子情報に対応する暗号アルゴリズムスイートを決定する段階であって、前記第3のマッピング関係は、少なくとも1つのデバイスの識別子情報と少なくとも1つの暗号アルゴリズムスイートとの間の対応関係を示すために用いられる、決定する段階と、
前記第1のデバイスが、予め構成された第1のリストが前記第2のデバイスの前記識別子情報を含むと決定する段階であって、前記第1のリストは、認証される必要があるデバイスの識別子情報を含む、決定する段階
と、
前記第1のデバイスが、前記暗号アルゴリズムスイートに基づいて、認証要求情報を生成する段階であって、前記認証要求情報は、前記第1のデバイスの識別子情報を含む、生成する段階と、
前記第1のデバイスが、前記第2のデバイスに、前記認証要求情報を送信する段階と、
前記第1のデバイスが、前記第2のデバイスからの認証応答情報を受信する段階と
を備える、通信方法。
【請求項18】
前記認証要求情報は、前記第1のデバイスの第1のデバイス証明書及び/又は前記第1のデバイスにより用いられる第1の署名値を更に含み、及び/又は
前記認証応答情報は、前記第2のデバイスの第2のデバイス証明書及び/又は前記第2のデバイスにより用いられる第2の署名値を更に含む、請求項12から17のいずれか一項に記載の通信方法。
【請求項19】
前記認証要求情報は、第1の暗号を更に含み、前記第1の暗号は、予め格納され予め共有された鍵及び前記暗号アルゴリズムスイートに基づいて、前記第1のデバイスにより生成され、及び/又は
前記認証応答情報は、第2の暗号を更に含む、請求項12から17のいずれか一項に記載の通信方法。
【請求項20】
前記認証要求情報は、前記第1のデバイスにより用いられる第1の一時的公開鍵を更に含み、
前記認証応答情報は、前記第2のデバイスにより用いられる第2の一時的公開鍵及び前記第2のデバイスの前記識別子情報を更に含む、請求項19に記載の通信方法。
【請求項21】
前記認証要求情報は、前記第1のデバイスにより用いられる第1の乱数及び/又は前記第1のデバイスにより用いられる第1の一時的公開鍵を更に含み、
前記認証応答情報は、前記第2のデバイスにより用いられる第2の乱数及び/又は前記第2のデバイスにより用いられる第2の一時的公開鍵を更に含む、請求項12から18のいずれか一項に記載の通信方法。
【請求項22】
前記少なくとも1つの暗号アルゴリズムスイートのそれぞれは、フォワードセキュリティ要件を満たす、請求項12から21のいずれか一項に記載の通信方法。
【請求項23】
請求項1から11のいずれか一項に記載の通信方法を実装するように構成されたユニットを備える通信装置。
【請求項24】
請求項12から22のいずれか一項に記載の通信方法を実装するように構成されたユニットを備える通信装置。
【請求項25】
通信装置であって、
メモリに格納されたコンピュータ命令を実行するように構成されたプロセッサであって、前記通信装置が請求項1から11のいずれか一項に記載の通信方法を実行することを可能するプロセッサ
を備える、通信装置。
【請求項26】
通信装置であって、
メモリに格納されたコンピュータ命令を実行するように構成されたプロセッサであって、前記通信装置が請求項12から22のいずれか一項に記載の通信方法を実行することを可能にするプロセッサ
を備える、通信装置。
【請求項27】
コンピュータに、請求項1から11のいずれか一項に記載の通信方法が実行させる、コンピュータプログラム。
【請求項28】
コンピュータに、請求項12から22のいずれか一項に記載の通信方法が実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、通信分野に関し、より具体的には、通信方法及び通信装置に関する。
【背景技術】
【0002】
現在、自動車用イーサネット(登録商標)(Ethernet(登録商標)、Eth)の安全な通信のために、自動車オープンシステムアーキテクチャ(automotive open system architecture、AUTOSAR)コンソーシアムは、トランスポート層セキュリティ(transport layer security、TLS)プロトコル及びデータグラムトランスポート層セキュリティ(datagram transport layer security、DTLS)プロトコルを定める。
【0003】
2つのデバイスの最初のハンドシェイクプロセス又は予め共有された鍵ベースのハンドシェイクプロセスにおいて、それがTLSプロトコル又はDTLSプロトコルに基づくものであるかどうかに関係なく、一方のデバイスは、そのデバイスによりサポートされた暗号アルゴリズムスイートのリストを他方のデバイスに転送する必要がある。しかしながら、暗号アルゴリズムスイートのリストのデータ量は、比較的大きい。結果として、ハンドシェイクプロセスにおけるインターネットプロトコル(Internet protocol、IP)パケットの断片化された伝送を引き起こし易く、伝送信頼性及び通信効率に影響を与える。
【発明の概要】
【0004】
本願は、デバイスのハンドシェイクプロセスにおける伝送信頼性及び通信効率を向上するために、通信方法を提供する。
【0005】
第1の態様によれば、通信方法が提供される。方法は、第2のデバイスが、第1のデバイスからの認証要求情報を受信する段階であって、認証要求情報は、第1のデバイスの識別子情報を含む、受信する段階を含む。第2のデバイスは、第1のマッピング関係に基づいて、第1のデバイスの識別子情報に対応する暗号アルゴリズムスイートを決定し、ここで、第1のマッピング関係は、少なくとも1つのデバイスの識別子情報と少なくとも1つの暗号アルゴリズムスイートとの間の対応関係を示すために用いられる。第2のデバイスは、暗号アルゴリズムスイートに基づいて、認証応答情報を生成する。第2のデバイスは、第1のデバイスに、認証応答情報を送信する。
【0006】
前述の技術的解決手段によれば、暗号アルゴリズムスイートは、デバイスの識別子情報に対応し、その結果、第2のデバイスは、格納された第1のマッピング関係に基づいて、第1のデバイスとの通信のプロセスにおいて用いられる暗号アルゴリズムスイートを決定することができる。第1のデバイス及び第2のデバイスとの間のハンドシェイクプロセスにおいて、サポートされた暗号アルゴリズムスイートのリストを転送する必要がない。これは、ハンドシェイクプロセスにおいて伝送されるデータの量を低減させ、伝送信頼性及び通信効率を向上させる。
【0007】
第1の態様を参照して、第1の態様のいくつかの実装例において、第2のデバイスが第1のデバイスに認証応答情報を送信する前に、方法は、第2のデバイスが、予め構成された第2のリストが第1のデバイスの識別子情報を含むと決定する段階であって、第2のリストは、認証される必要があるデバイスの識別子情報を含む、決定する段階を更に含む。
【0008】
前述の技術的解決手段によれば、第2のリストは、第2のデバイスにおいて予め構成されており、その結果、第1のデバイスの識別子情報が第2のリストに格納されていると決定するとき、第2のデバイスは、第1のデバイスのソース有効性を決定することができ、つまり、第2のリストでの解決手段は、元のハンドシェイクプロセスにおけるcookieフィールド割り当て解決手段に取って代わることができる。悪意あるデバイスが認証プロセスを開始するための虚偽のソースを偽造することを防止することができ、第2のデバイスは、第2のリストに基づいて、無効なデバイスからの認証要求を直接的に無視することができる。これは、第2のデバイスの処理負担を低減させ、攻撃者の攻撃難易度を増大することができる。
【0009】
第1の態様を参照して、第1の態様のいくつかの実装例において、認証要求情報は、第1のデバイスの第1のデバイス証明書及び/又は第1のデバイスにより用いられる第1の署名値を更に含み、及び/又は認証応答情報は、第2のデバイスの第2のデバイス証明書及び/又は第2のデバイスにより用いられる第2の署名値を更に含む。
【0010】
第1の態様を参照して、第1の態様のいくつかの実装例において、認証要求情報は、第1のデバイスにより用いられる第1の乱数及び/又は第1のデバイスにより用いられる第1の一時的公開鍵を更に含み、認証応答情報は、第2のデバイスにより用いられる第2の乱数及び/又は第2のデバイスにより用いられる第2の一時的公開鍵を更に含む。
【0011】
第1の態様を参照して、第1の態様のいくつかの実装例において、認証要求情報は、第1の暗号を更に含み、及び/又は認証応答情報は、第2の暗号を更に含み、第2の暗号は、予め格納され予め共有された鍵及び暗号アルゴリズムスイートに基づいて、第2のデバイスにより生成される。
【0012】
前述の解決手段によれば、第1のデバイス及び第2のデバイスは、決定された暗号アルゴリズムスイート及び予め格納され予め共有された鍵に基づいて、デバイス証明書に取って代わる暗号を生成することができる。暗号の長さは、デバイス証明書の長さよりはるかに短い。これは、ハンドシェイクインタラクションプロセスにおいて交換されるデータの量を大幅に低減させ、ハンドシェイク効率及び信頼性を向上させる。
【0013】
加えて、暗号がデバイス証明書に取って代わるために用いられた後に、デバイスは、デバイス証明書におけるルート署名に対して署名検証を実行する必要がない。代わりに、デバイスは、暗号に対して対称暗号化及び解読動作を実行する。対称暗号化及び解読動作のスピードは、署名検証のスピードよりはるかに高く、これは、ハンドシェイク効率を向上させることができる。
【0014】
第1の態様を参照して、第1の態様のいくつかの実装例において、認証要求情報は、第1のデバイスにより用いられる第1の一時的公開鍵を更に含み、認証応答情報は、第2のデバイスにより用いられる第2の一時的公開鍵及び第2のデバイスの識別子情報を更に含む。
【0015】
第1の態様を参照して、第1の態様のいくつかの実装例において、少なくとも1つの暗号アルゴリズムスイートの各々は、フォワードセキュリティ要件を満たす。
【0016】
第1の態様を参照して、第1の態様のいくつかの実装例において、方法は、第2のデバイスが、第1のデバイスとの通信に用いられるパケット暗号化モードを決定する段階であって、パケット暗号化モードは、完全暗号化モード及びオンデマンド暗号化モードのうち1つを含む、決定する段階を更に含む。
【0017】
前述の技術的解決手段によれば、通信パケットのオンデマンド暗号化モードは、定められ、その結果、暗号化される必要がないデータは、オンデマンド暗号化モードにおいて平文において伝送され得る。これは、暗号化ペイロードのデータ量を低減させ、暗号化速度を向上させ、通信効率を向上させる。
【0018】
第1の態様を参照して、第1の態様のいくつかの実装例において、第2のデバイスが、第1のデバイスとの通信に用いられるパケット暗号化モードを決定する段階は、第2のデバイスが、第2のマッピング関係に基づいて、第1のデバイスの識別子情報に対応するパケット暗号化モードを決定する段階であって、第2のマッピング関係は、少なくとも1つのデバイスの識別子情報と少なくとも1つのパケット暗号化モードとの間の対応関係を示すために用いられる、決定する段階を含む。
【0019】
第1の態様を参照して、第1の態様のいくつかの実装例において、パケット暗号化モードがオンデマンド暗号化モードであるとき、方法は、第2のデバイスが、通信パケットを生成する段階であって、通信パケットは、以下のフィールド:平文識別子、平文データ、暗号文識別子、及び暗号文データを含む、生成する段階を更に含む。
【0020】
第1の態様を参照して、第1の態様のいくつかの実装例において、平文データは、暗号文データのストリーム暗号化鍵生成シードを含む。
【0021】
現在のユーザデータグラムプロトコルのハンドシェイクプロセスにおいて、ストリーム暗号化アルゴリズムは、用いられることができない。前述の技術的解決手段によれば、オンデマンド暗号化モードにおいて、暗号文データのストリーム暗号化鍵生成シードは、平文データに格納され得、その結果、ユーザデータグラムプロトコルは、ストリーム暗号化アルゴリズムをサポートすることができる。
【0022】
第2の態様によれば、通信方法が提供される。方法は、第1のデバイスが、第3のマッピング関係に基づいて、第2のデバイスの識別子情報に対応する暗号アルゴリズムスイートを決定する段階であって、第3のマッピング関係は、少なくとも1つのデバイスの識別子情報と少なくとも1つの暗号アルゴリズムスイートとの間の対応関係を示すために用いられる、決定する段階を含む。第1のデバイスは、暗号アルゴリズムスイートに基づいて、認証要求情報を生成し、ここで、認証要求情報は、第1のデバイスの識別子情報を含む。第1のデバイスは、第2のデバイスに、認証要求情報を送信する。第1のデバイスは、第2のデバイスからの認証応答情報を受信する。
【0023】
前述の技術的解決手段によれば、暗号アルゴリズムスイートは、デバイスの識別子情報に対応し、その結果、第1のデバイスは、格納された第3のマッピング関係に基づいて、第2のデバイスとの通信のプロセスにおいて用いられる暗号アルゴリズムスイートを決定することができる。第1のデバイス及び第2のデバイスとの間のハンドシェイクプロセスにおいて、サポートされた暗号アルゴリズムスイートのリストを転送する必要がない。これは、ハンドシェイクプロセスにおいて伝送されるデータの量を低減させ、伝送信頼性及び通信効率を向上させる。
【0024】
第2の態様を参照して、第2の態様のいくつか実装例において、第1のデバイスが、第2のデバイスに、認証要求情報を送信する段階の前に、方法は、第1のデバイスが、予め構成された第1のリストが第2のデバイスの識別子情報を含むと決定する段階であって、第1のリストは、認証される必要があるデバイスの識別子情報を含む、送信する段階を更に含む。
【0025】
前述の技術的解決手段によれば、第1のリストは、第1のデバイスにおいて予め構成され、その結果、第1のデバイスは、第2のデバイスの識別子情報が第2のリストに格納されていると決定するとき、第2のデバイスのソース有効性を決定することができる。
【0026】
第2の態様を参照して、第2の態様のいくつかの実装例において、認証要求情報は、第1のデバイスのデバイス証明書及び/又は第1のデバイスにより用いられる第1の署名値を更に含み、及び/又は認証応答情報は、第2のデバイスの第2のデバイス証明書及び/又は第2のデバイスにより用いられる第2の署名値を更に含む。
【0027】
第2の態様を参照して、第2の態様のいくつかの実装例において、認証要求情報は、第1の暗号を更に含み、第1の暗号は、予め格納され予め共有された鍵及び暗号アルゴリズムスイートに基づいて、第1のデバイスにより生成され、及び/又は認証応答情報は、第2の暗号を更に含む。
【0028】
前述の解決手段によれば、第1のデバイス及び第2のデバイスは、決定された暗号アルゴリズムスイート及び予め格納され予め共有された鍵に基づいて、デバイス証明書に取って代わる暗号を生成することができる。暗号の長さは、デバイス証明書の長さよりはるかに短い。これは、ハンドシェイクインタラクションプロセスにおいて交換されるデータの量を大幅に低減させ、ハンドシェイク効率及び信頼性を向上させる。
【0029】
加えて、暗号がデバイス証明書に取って代わるために用いられた後に、デバイスは、デバイス証明書におけるルート署名に対して署名検証を実行する必要がない。代わりに、デバイスは、暗号に対して対称暗号化及び解読動作を実行する。対称暗号化及び解読動作のスピードは、署名検証のスピードよりはるかに高く、これは、ハンドシェイク効率を向上させることができる。
【0030】
第2の態様を参照して、第2の態様のいくつかの実装例において、認証要求情報は、第1のデバイスにより用いられる第1の一時的公開鍵を更に含み、認証応答情報は、第2のデバイスにより用いられる第2の一時的公開鍵及び第2のデバイスの識別子情報を更に含む。
【0031】
第2の態様を参照して、第2の態様のいくつかの実装例において、認証要求情報は、第1のデバイスにより用いられる第1の乱数及び/又は第1のデバイスにより用いられる第1の一時的公開鍵を更に含み、認証応答情報は、第2のデバイスにより用いられる第2の乱数及び/又は第2のデバイスにより用いられる第2の一時的公開鍵を更に含む。
【0032】
第2の態様を参照して、第2の態様のいくつかの実装例において、少なくとも1つの暗号アルゴリズムスイートの各々は、フォワードセキュリティ要件を満たす。
【0033】
第2の態様を参照して、第2の態様のいくつかの実装例において、方法は、第2のデバイスが、第1のデバイスとの通信に用いられるパケット暗号化モードを決定する段階であって、パケット暗号化モードは、完全暗号化モード及びオンデマンド暗号化モードのうち1つを含む、決定する段階を更に含む。
【0034】
前述の技術的解決手段によれば、通信パケットのオンデマンド暗号化モードは、定められ、その結果、暗号化される必要がないデータは、オンデマンド暗号化モードにおいて平文において伝送され得る。これは、暗号化ペイロードのデータ量を低減させ、暗号化速度を向上させ、通信効率を向上させる。
【0035】
第2の態様を参照して、第2の態様のいくつかの実装例において、第1のデバイスが、第2のデバイスとの通信に用いられるパケット暗号化モードを決定する段階は、第1のデバイスが、第4のマッピング関係に基づいて、第2のデバイスの識別子情報に対応するパケット暗号化モードを決定する段階であって、第4のマッピング関係は、少なくとも1つのデバイスの識別子情報と少なくとも1つのパケット暗号化モードとの間の対応関係を示すために用いられる、決定する段階を含む。
【0036】
第2の態様を参照して、第2の態様のいくつかの実装例において、パケット暗号化モードがオンデマンド暗号化モードであるとき、方法は、第1のデバイスが、通信パケットを生成する段階であって、通信パケットは、以下のフィールド:平文識別子、平文データ、暗号文識別子、及び暗号文データを含む、生成する段階を更に含む。
【0037】
第2の態様を参照して、第2の態様のいくつかの実装例において、平文データは、暗号文データのストリーム暗号化鍵生成シードを含む。
【0038】
現在のユーザデータグラムプロトコルのハンドシェイクプロセスにおいて、ストリーム暗号化アルゴリズムは、用いられることができない。前述の技術的解決手段によれば、オンデマンド暗号化モードにおいて、暗号文データのストリーム暗号化鍵生成シードは、平文データに格納され得、その結果、ユーザデータグラムプロトコルは、ストリーム暗号化アルゴリズムをサポートすることができる。
【0039】
第3の態様によれば、通信装置が提供される。通信装置は、送受信機ユニット及び処理ユニットを含む。送受信機ユニットは、第1のデバイスからの認証要求情報を受信するように構成され、ここで、認証要求情報は、第1のデバイスの識別子情報を含む。処理ユニットは、第1のマッピング関係に基づいて、第1のデバイスの識別子情報に対応する暗号アルゴリズムスイートを決定するように構成されており、ここで、第1のマッピング関係は、少なくとも1つのデバイスの識別子情報と少なくとも1つの暗号アルゴリズムスイートとの間の対応関係を示すために用いられる。処理ユニットは、暗号アルゴリズムスイートに基づいて、認証応答情報を生成するように更に構成されている。送受信機ユニットは、第1のデバイスに、認証応答情報を送信するように更に構成されている。
【0040】
第3の態様を参照して、第3の態様のいくつかの実装例において、処理ユニットは、予め構成された第2のリストが第1のデバイスの識別子情報を含むと決定するように更に構成されており、ここで、第2のリストは、認証される必要があるデバイスの識別子情報を含む。
【0041】
第3の態様を参照して、第3の態様のいくつかの実装例において、認証要求情報は、第1のデバイスの第1のデバイス証明書及び/又は第1のデバイスにより用いられる第1の署名値を更に含み、及び/又は認証応答情報は、通信装置の第2のデバイス証明書及び/又は通信装置により用いられる第2の署名値を更に含む。
【0042】
第3の態様を参照して、第3の態様のいくつかの実装例において、認証要求情報は、第1の暗号を更に含み、及び/又は認証応答情報は、第2の暗号を更に含み、ここで、第2の暗号は、予め格納され予め共有された鍵及び暗号アルゴリズムスイートに基づいて、処理ユニットにより生成される。
【0043】
第3の態様を参照して、第3の態様のいくつかの実装例において、認証要求情報は、第1のデバイスにより用いられる第1の乱数及び/又は第1のデバイスにより用いられる第1の一時的公開鍵を更に含み、認証応答情報は、通信装置により用いられる第2の乱数及び/又は通信装置により用いられる第2の一時的公開鍵を更に含む。
【0044】
第3の態様を参照して、第3の態様のいくつかの実装例において、認証要求情報は、第1のデバイスにより用いられる第1の一時的公開鍵を更に含み、認証応答情報は、通信装置により用いられる第2の一時的公開鍵及び通信装置の識別子情報を更に含む。
【0045】
第3の態様を参照して、第3の態様のいくつかの実装例において、少なくとも1つの暗号アルゴリズムスイートの各々は、フォワードセキュリティ要件を満たす。
【0046】
第3の態様を参照して、第3の態様のいくつかの実装例において、処理ユニットは、第1のデバイスとの通信に用いられるパケット暗号化モードを決定するように更に構成されており、ここで、パケット暗号化モードは、完全暗号化モード及びオンデマンド暗号化モードのうち1つを含む。
【0047】
第3の態様を参照して、第3の態様のいくつかの実装例において、処理ユニットは、具体的に、第2のマッピング関係に基づいて、第1のデバイスの識別子情報に対応するパケット暗号化モードを決定するよう構成されており、ここで、第2のマッピング関係は、少なくとも1つのデバイスの識別子情報と少なくとも1つのパケット暗号化モードとの間の対応関係を示すために用いられる。
【0048】
第3の態様を参照して、第3の態様のいくつかの実装例において、パケット暗号化モードがオンデマンド暗号化モードであるとき、処理ユニットは、通信パケットを生成するように更に構成され、ここで、通信パケットは、以下のフィールド:平文識別子、平文データ、暗号文識別子、及び暗号文データを含む。
【0049】
第3の態様を参照して、第3の態様のいくつかの実装例において、平文データは、暗号文データのストリーム暗号化鍵生成シードを含む。
【0050】
第4の態様によれば、通信装置が提供される。通信装置は、送受信機ユニット及び処理ユニットを含む。処理ユニットは、第3のマッピング関係に基づいて、第2のデバイスの識別子情報に対応する暗号アルゴリズムスイートを決定するように構成され、ここで、第3のマッピング関係は、少なくとも1つのデバイスの識別子情報と少なくとも1つの暗号アルゴリズムスイートとの間の対応関係を示すために用いられる。処理ユニットは、暗号アルゴリズムスイートに基づいて、認証要求情報を生成するように更に構成されており、ここで、認証要求情報は、通信装置の識別子情報を含む。送受信機ユニットは、第2のデバイスに、認証要求情報を送信するように更に構成されている。送受信機ユニットは、第2のデバイスからの認証応答情報を受信するように更に構成されている。
【0051】
第4の態様を参照して、第4の態様のいくつかの実装例において、処理ユニットは、予め構成された第1のリストが第2のデバイスの識別子情報を含むと決定するように更に構成されており、ここで、第1のリストは、認証される必要があるデバイスの識別子情報を含む。
【0052】
第4の態様を参照して、第4の態様のいくつかの実装例において、認証要求情報は、通信装置のデバイス証明書及び/又は通信装置により用いられる第1の署名値を更に含み、及び/又は認証応答情報は、第2のデバイスの第2のデバイス証明書及び/又は第2のデバイスにより用いられる第2の署名値を更に含む。
【0053】
第4の態様を参照して、第4の態様のいくつかの実装例において、認証要求情報は、第1の暗号を更に含み、ここで、第1の暗号は、予め格納され予め共有された鍵及び暗号アルゴリズムスイートに基づいて、通信装置により生成され、及び/又は認証応答情報は、第2の暗号を更に含む。
【0054】
第4の態様を参照して、第4の態様のいくつかの実装例において、認証要求情報は、通信装置により用いられる第1の乱数及び/又は通信装置により用いられる第1の一時的公開鍵を更に含み、認証応答情報は、第2のデバイスにより用いられる第2の乱数及び/又は第2のデバイスにより用いられる第2の一時的公開鍵を更に含む。
【0055】
第4の態様を参照して、第4の態様のいくつかの実装例において、認証要求情報は、通信装置により用いられる第1の一時的公開鍵を更に含み、認証応答情報は、第2のデバイスにより用いられる第2の一時的公開鍵及び第2のデバイスの識別子情報を更に含む。
【0056】
第4の態様を参照して、第4の態様のいくつかの実装例において、少なくとも1つの暗号アルゴリズムスイートの各々は、フォワードセキュリティ要件を満たす。
【0057】
第4の態様を参照して、第4の態様のいくつかの実装例において、処理ユニットは、第2のデバイスとの通信に用いられるパケット暗号化モードを決定するように更に構成されており、ここで、パケット暗号化モードは、完全暗号化モード及びオンデマンド暗号化モードのうち1つを含む。
【0058】
第4の態様を参照して、第4の態様のいくつかの実装例において、処理ユニットは、具体的に、第4のマッピング関係に基づいて、第2のデバイスの識別子情報に対応するパケット暗号化モードを決定するよう構成されており、ここで、第4のマッピング関係は、少なくとも1つのデバイスの識別子情報と少なくとも1つのパケット暗号化モードとの間の対応関係を示すために用いられる。
【0059】
第4の態様を参照して、第4の態様のいくつかの実装例において、パケット暗号化モードがオンデマンド暗号化モードであるとき、処理ユニットは、通信パケットを生成するように更に構成され、ここで、通信パケットは、以下のフィールド:平文識別子、平文データ、暗号文識別子、及び暗号文データを含む。
【0060】
第4の態様を参照して、第4の態様のいくつかの実装例において、平文データは、暗号文データのストリーム暗号化鍵生成シードを含む。
【0061】
第5の態様によれば、通信装置は、提供され、プロセッサを含む。プロセッサは、メモリに連結されており、メモリ内の命令を実行して、第1の態様及び第2の態様又は第1の態様及び第2の態様の実行可能な実装例のいずれか1つにおける方法を実装するように構成されていてよい。
【0062】
第6の態様によれば、プロセッサは、提供され、入力回路と、出力回路と、処理回路とを含む。処理回路は、入力回路を通じて信号を受信し、出力回路を通じて信号を伝送するために用いられ、その結果、プロセッサは、第1の態様及び第2の態様又は第1の態様及び第2の態様の実行可能な実装例のいずれか1つにおける方法を実行する。
【0063】
特定の実装プロセスにおいて、前述のプロセッサは、チップであってよく、入力回路は、入力ピンであってよく、出力回路は、出力ピンであってよく、処理回路は、トランジスタ、ゲート回路、トリガ、又は様々な論理回路等であってよい。入力回路を通じて受信された入力信号は、例えば、限定されるわけではないが、受信機により受信及び入力されてよく、出力回路を通じた信号出力は、例えば、限定されるわけではないが、伝送機に出力され、伝送機により伝送されてよく、入力回路及び出力回路は、同じ回路であってよく、ここで、回路は、異なる瞬間において入力回路及び出力回路として用いられる。プロセッサ及び回路の特定の実装例は、本願の本実施形態に限定されない。
【0064】
第7の態様によれば、処理装置は、提供され、プロセッサを含み、メモリを更に含んでよい。メモリは、命令を格納するように構成されている。プロセッサは、第1の態様及び第2の態様又は第1の態様及び第2の態様の実行可能な実装例のいずれか1つにおける方法を実行するために、メモリに格納された命令を読み出し、受信機を用いて信号を受信し、伝送機を用いて信号を伝送するように構成されている。
【0065】
必要に応じて、1つ又は複数のプロセッサが存在し、1つ又は複数のメモリが存在する。
【0066】
必要に応じて、メモリは、プロセッサと統合されていてもよく、又はメモリ及びプロセッサは、別個に配置されている。
【0067】
具体的な実装プロセスにおいて、メモリは、非一時的(non‐transitory)メモリ、例えば、リードオンリメモリ(read‐only memory、ROM)であってよい。メモリ及びプロセッサは、同じチップ上に統合されてもよく、又は異なるチップ上に別個に配置されてもよい。メモリのタイプと、メモリ及びプロセッサを設定する方式とは、本願の本実施形態に限定されない。
【0068】
関連するデータ交換プロセスにおいて、例えば、指示情報を送信する段階は、プロセッサから指示情報を出力するプロセスであってよく、能力情報を受信する段階は、プロセッサによる入力能力情報を受信するプロセスであってよいことを理解されたい。具体的に、処理後のデータ出力は、伝送機に出力されてよく、プロセッサにより受信された入力データは、受信機から来てよい。伝送機及び受信機は、送受信機と総称され得る。
【0069】
第7の態様における処理装置は、チップであってよい。プロセッサは、ハードウェア又はソフトウェアを用いて実装されてよい。ハードウェアを用いてプロセッサが実装されるとき、プロセッサは論理回路又は集積回路等であってよい。プロセッサがソフトウェアを用いて実装された場合に、プロセッサは、汎用プロセッサであってよく、メモリに格納されたソフトウェアコードを読み取ることにより実装される。メモリは、プロセッサに統合されてもよく、又はプロセッサの外部に位置し、独立して存在してもよい。
【0070】
第8の態様によれば、コンピュータプログラム製品が提供される。コンピュータプログラム製品は、(コード又は命令とも称されてもよい)コンピュータプログラムを含む。コンピュータプログラムが実行されるとき、コンピュータは、第1の態様及び第2の態様又は第1の態様及び第2の態様の実行可能な実装例のいずれか1つにおける方法を実行することが可能である。
【0071】
第9の態様によれば、コンピュータ可読記憶媒体が提供される。コンピュータ可読記憶媒体は、コンピュータプログラム(コード又は命令とも称されてよい)を格納する。コンピュータ可読記憶媒体がコンピュータ上で実行されるとき、コンピュータは、第1の態様及び第2の態様又は第1の態様及び第2の態様の実行可能な実装例のいずれか1つにおける方法を実行することが可能である。
【0072】
第10の態様によれば、通信システムは、提供され、第3の態様又は第3の態様の実行可能な実装例のいずれか1つにおける通信装置及び/又は第4の態様又は第4の態様の実行可能な実装例のいずれか1つにおける通信装置を含む。
【図面の簡単な説明】
【0073】
【
図1】TLSプロトコルの概略フローチャートである。
【0074】
【
図2】予め共有された鍵ベースのハンドシェイクプロセスの概略フローチャートである。
【0075】
【
図3】本願の一実施形態に係る方法が適用可能な通信システムの概略図である。
【
図4】本願の一実施形態に係る方法が適用可能な通信システムの概略図である。
【0076】
【
図5】本願の一実施形態に係る通信方法の概略フローチャートである。
【
図6】本願の一実施形態に係る通信方法の概略フローチャートである。
【
図7】本願の一実施形態に係る通信方法の概略フローチャートである。
【0077】
【
図8】本願の一実施形態に係るオンデマンド暗号化モードにおける通信パケットのフォーマットの概略図である。
【0078】
【
図9】本願の一実施形態に係る完全暗号化モードにおける通信パケットのフォーマットの概略図である。
【0079】
【
図10】本願の一実施形態に係る通信方法の概略フローチャートである。
【
図11】それぞれ、本願の一実施形態に係る通信方法の概略フローチャートである。
【
図12】それぞれ、本願の一実施形態に係る通信方法の概略フローチャートである。
【0080】
【
図13】本願の一実施形態に係る通信装置の概略ブロック図である。
【
図14】本願の一実施形態に係る通信装置の概略ブロック図である。
【発明を実施するための形態】
【0081】
以下では、添付図面を参照して、本願の技術的解決手段を説明する。
【0082】
現在、AUTOSARコンソーシアムは、自動車イーサネットの安全な通信のために、TLSプロトコル及びDTLSプロトコルを定める。AUTOSARにおいて定められたTLSプロトコル及びDTLSプロトコルは、従来のイーサネットプロトコルにおいて定められたTLSプロトコル及びDTLSプロトコルと同じである。つまり、AUTOSARにおいて定められたTLSプロトコル及びDTLSプロトコルは、自動車イーサネットに移植されたTLSプロトコル及びDTLSプロトコルである。
【0083】
図1は、TLSプロトコルのフローチャートである。
図1に示されるように、TLSプロトコルは、ハンドシェイクプロセス及び通信プロセスを含む。ルート証明書、秘密鍵(secret key、SK)#1、及びデバイス証明書#1は、車両内部コンポーネント#1において予め設定されている。デバイス証明書#1は、車両内部コンポーネント#1のアイデンティティ(identity、ID)#1、公開鍵(public key、PK)#1、及びルート署名を含む。ルート証明書、SK#2、及びデバイス証明書#2は、車両内部コンポーネント#2において予め設定されている。デバイス証明書#2は、車両内部コンポーネント#2のID#2、PK#2、及びルート署名を含む。
【0084】
ハンドシェイクプロセスは、例えば、以下の段階を含んでよい。
【0085】
S101:車両内部コンポーネント#1は、乱数(random)#1を生成する。
【0086】
S102:車両内部コンポーネント#1は、車両内部コンポーネント#2に、接続要求(ClientHello)#1を送信し、ここで、接続要求#1は、乱数#1、及び車両内部コンポーネント#1によりサポートされた暗号アルゴリズムスイートのリストを含む。
【0087】
S103:車両内部コンポーネント#2は、cookieフィールドを生成する。
【0088】
S104:車両内部コンポーネント#2は、車両内部コンポーネント#1に、検証要求(HelloVerifyRequest)を送信し、ここで、検証要求は、cookieフィールドを含む。
【0089】
S105:車両内部コンポーネント#1は、車両内部コンポーネント#2に、接続要求#2を送信し、ここで、接続要求#2は、乱数#1、車両内部コンポーネント#1によりサポートされた暗号アルゴリズムスイートのリスト、及びcookieフィールドを含む。
【0090】
S106:車両内部コンポーネント#2は、乱数#2を生成する。
【0091】
S107:車両内部コンポーネント#2は、車両内部コンポーネント#1によりサポートされた暗号アルゴリズムスイートのリストに基づいて、サポートされた暗号アルゴリズムスイートを選択する。
【0092】
S108:車両内部コンポーネント#2は、選択された暗号アルゴリズムスイートに基づいて、一時的公開‐秘密鍵ペア#2を生成し、ここで、一時的公開‐秘密鍵ペア#2は、一時的秘密鍵(temporary secret key、tempSK)#2及び一時的公開鍵(temporary public key、tempPK)#2を含む。
【0093】
S109:車両内部コンポーネント#2は、署名(Sign)#2を計算し、ここで、Sign#2=Sign(ID#2||random#2||tempPK#2)。
【0094】
S110:車両内部コンポーネント#2は、車両内部コンポーネント#1に、接続応答(ServerHello)を送信し、ここで、接続応答は、デバイス証明書#2、乱数#2、tempPK#2、及びSign#2を含む。
【0095】
S111:車両内部コンポーネント#1は、デバイス証明書#2の有効性を検証する。
【0096】
S112:車両内部コンポーネント#1は、Sign#2の有効性を検証する。
【0097】
S113:車両内部コンポーネント#1は、一時的公開‐秘密鍵ペア#1を生成し、ここで、一時的公開‐秘密鍵ペア#1は、tempSK#1及びtempPK#1を含む。
【0098】
S114:車両内部コンポーネント#1は、Sign#1を計算し、ここで、Sign#1=Sign(ID#1||random#1||tempPK#1)。
【0099】
S115:車両内部コンポーネント#1は、車両内部コンポーネント#2に、暗号仕様変更(ChangeCipherSpec)を送信し、ここで、暗号仕様変更は、デバイス証明書#1、tempPK#1、及びSign#1を含む。
【0100】
S116:車両内部コンポーネント#1は、鍵導出関数(key derivation function、KDF)に基づいて、予め共有された鍵(pre-shared key、PSK)#1を計算し、ここで、PSK#1=KDF(ID#1,ID#2,tempSK#1,tempPK#2)。
【0101】
S117:車両内部コンポーネント#1は、KDFに基づいて、セッション鍵(SessionKey)#1を計算し、ここで、SessionKey#1=KDF(PSK#1,random#1,random#2)。
【0102】
S118:車両内部コンポーネント#2は、デバイス証明書#1の有効性を検証する。
【0103】
S119:車両内部コンポーネント#2は、Sign#1の有効性を検証する。
【0104】
S120:車両内部コンポーネント#2は、KDFに基づいて、PSK#2を計算し、ここで、PSK#2=KDF(ID#1,ID#2,tempSK#2,tempPK#1)。
【0105】
S121:車両内部コンポーネント#2は、KDFに基づいて、SessionKey#2を計算し、ここで、SessionKey#2=KDF(PSK#2,random#1,random#2)。
【0106】
上記のように、車両内部コンポーネント#1及び車両内部コンポーネント#2は、ハンドシェイクプロセスにおける2つの当事者の間でのアイデンティティ有効性認証、暗号アルゴリズムスイートネゴシエーション、及びSessionKeyネゴシエーション等の段階を完了する。更に、以下の段階が通信プロセスに含まれる。
【0107】
S122:車両内部コンポーネント#1及び車両内部コンポーネント#2はそれぞれ、伝送のためにSessionKeyを用いて、通信パケットを暗号化する。
【0108】
2つの通信当事者が以前にハンドシェイクプロセスを実行し、同じPSKを格納したことがある場合、ハンドシェイクプロセスは、簡素化され得る。
図2は、PSKベースのハンドシェイクプロセスを示す。
【0109】
S201:車両内部コンポーネント#1は、乱数(random)#1を生成する。
【0110】
S202:車両内部コンポーネント#1は、車両内部コンポーネント#2に、接続要求#3を送信し、ここで、接続要求#3は、乱数#1、車両内部コンポーネント#1によりサポートされた暗号アルゴリズムスイートのリスト、及びPSK_IDを含む。
【0111】
S203:車両内部コンポーネント#2は、乱数#2を生成する。
【0112】
S204:車両内部コンポーネント#2は、車両内部コンポーネント#1によりサポートされた暗号アルゴリズムスイートのリストの中のサポートされた暗号アルゴリズムスイートを選択し、PSK_IDに基づいて、PSKを選択する。
【0113】
S205:車両内部コンポーネント#2は、選択された暗号アルゴリズムスイートに基づいて、一時的公開‐秘密鍵ペア#2を生成し、ここで、一時的公開‐秘密鍵ペアは、tempSK#2及びtempPK#2を含む。
【0114】
S206:車両内部コンポーネント#2は、PSKを用いて、パケットを暗号化する。
【0115】
S207:車両内部コンポーネント#2は、車両内部コンポーネント#1に、暗号化された接続応答を送信し、ここで、接続応答は、乱数#2及びtempPK#2を含む。
【0116】
S208:車両内部コンポーネント#1は、乱数#2を取得するために、パケットを解読する。
【0117】
S209:車両内部コンポーネント#1は、一時的公開‐秘密鍵ペア#1を生成し、ここで、一時的公開‐秘密鍵ペア#1は、tempSK#1及びtempPK#1を含む。
【0118】
S210:車両内部コンポーネント#1は、PSKを用いて、パケットを暗号化する。
【0119】
S211:車両内部コンポーネント#1は、車両内部コンポーネント#2に、暗号化された暗号仕様変更を送信し、ここで、暗号仕様変更は、tempPK#1を含む。
【0120】
S212:車両内部コンポーネント#1は、予め共有された鍵(pre-shared key、PSK)#1を計算し、ここで、PSK#1=KDF(ID#1,ID#2,tempSK#1,tempPK#2)。
【0121】
S213:車両内部コンポーネント#1は、KDFに基づいて、SessionKey#1を計算し、ここで、SessionKey#1=KDF(PSK#1,random#1,random#2)。
【0122】
S214:車両内部コンポーネント#2は、KDFに基づいて、PSK#2を計算し、ここで、PSK#2=KDF(ID#1,ID#2,tempSK#2,tempPK#1)。
【0123】
S215:車両内部コンポーネント#2は、KDFに基づいて、SessionKey#2を計算し、ここで、SessionKey#2=KDF(PSK#2,random#1,random#2)。
【0124】
S216:車両内部コンポーネント#1及び車両内部コンポーネント#2はそれぞれ、伝送のためにSessionKeyを用いて、通信パケットを暗号化する。
【0125】
上記のように、有効性検証は、PSKベースのハンドシェイクプロセスにおいて、デバイス証明書に実行される必要がない。これは、ハンドシェイク効率を向上させる。
【0126】
しかしながら、最初のハンドシェイクプロセス及びPSKベースのハンドシェイクプロセスの両方において、暗号アルゴリズムスイートネゴシエーション段階において転送される暗号アルゴリズムスイートのリストのデータ量は、比較的大きく、最初のハンドシェイクプロセスにおけるアイデンティティ有効性認証段階において転送される証明書のデータ量は、比較的大きい。結果として、ハンドシェイクプロセスにおけるインターネットプロトコル(internet protocol、IP)パケットの断片化された伝送を引き起こし易く、伝送信頼性及び通信効率に影響を与える。
【0127】
加えて、車両内ネットワークシナリオにおいて、異なる車両内部コンポーネント間の大きなデータの量の伝送は、車両内部フォワーディングコンポーネントの負荷を増大させ、既存の暗号アルゴリズムスイートは、車両内部コンポーネントのハードウェア能力と互換性がない。結果として、展開は困難であり、リアルタイム性能は低い。接続は、伝送制御プロトコル(transmission control protocol、TCP)に基づいて、異なる車両内部コンポーネント間で確立される必要があるが、車両が起動されたときに多数の車両内部コンポーネント間で接続を確立することは、バス輻輳又は中央ノードの過負荷をもたらし得る。TLSプロトコルは、ユーザデータグラムプロトコル(user datagram protocol、UDP)に適用され得ない。加えて、異なる車両内部コンポーネント間の安全なチャネルが確立された後、全ての伝送対象データは、暗号化される必要があるが、車両には、完全性が保証される必要があり且つ暗号化される必要がない多くのデータ(例えば、車両制御命令)が存在する。したがって、全てのデータの暗号化は、コンピューティングリソースの浪費を引き起こし、セッション鍵が過度に多くの回数用いられた場合に、攻撃リスクは増大する。
【0128】
DTLSプロトコルは、UDPプロトコルに適合させるために、TLSプロトコル上の修正を通じて取得される。信頼性のないUDPプロトコルに起因して、パケット損失及びパケット障害が発生し得る。これらの状況を処理するために、DTLSプロトコルは、TLSプロトコルに基づいて、以下の変更を有する。
【0129】
(1)パケット損失を処理するために、DTLSに、パケットタイムアウト再伝送メカニズムが追加される。
【0130】
(2)パケット障害を処理するために、DTLSパケットに、暗号化されていないシーケンス番号が格納される。
【0131】
(3)DTLSは、ストリーム暗号化アルゴリズムをサポートすることを省く。つまり、DTLSによりサポートされた暗号アルゴリズムスイートは、TLSによりサポートされた暗号アルゴリズムスイートのサブセットである。
【0132】
上記相違点に加えて、DTLSプロトコルの手順は、TLSプロトコルの手順と同じである。
【0133】
DTLSプロトコルは、UDPプロトコルに用いられるので、パケット損失が発生し得、暗号アルゴリズムスイートのリスト及びデバイス証明書の大きなデータの量が、ハンドシェイクプロセスにおいて伝送され、これは、伝送信頼性及び通信効率により大きな悪影響を及ぼす。
【0134】
加えて、車両内ネットワークシナリオにおいて、異なる車両内部コンポーネント間の大きなデータの量の伝送は、車両内部フォワーディングコンポーネントの負荷を増大させ、既存の暗号アルゴリズムスイートは、車両内部コンポーネントのハードウェア能力と互換性がない。結果として、展開は困難であり、リアルタイム性能は低い。リアルタイム性の高い車内通信を追及することにおいて、ストリーム暗号化アルゴリズムは、一般的で効率的な暗号化方法であるが、DTLSプロトコルは、ストリーム暗号化アルゴリズムをサポートしない。加えて、異なる車両内部コンポーネント間の安全なチャネルが確立された後、全ての伝送対象データは、暗号化される必要があるが、車両には、完全性が保証される必要があり且つ暗号化される必要がない多くのデータ(例えば、車両制御命令)が存在する。したがって、全てのデータの暗号化は、コンピューティングリソースの浪費を引き起こし、セッション鍵が過度に多くの回数用いられた場合に、攻撃リスクは増大する。
【0135】
これに基づいて、本願の実施形態は、通信方法を提供して、ハンドシェイクプロセスにおけるインタラクションプロセス及び通信データ量を低減し、それにより、伝送効率及び通信品質を向上させる。
【0136】
図3は、本願の一実施形態に係る通信方法が適用可能な通信システムの概略図である。
図3に示されるように、本願の本実施形態において提供される方法は、安全な通信が自動車イーサネットを通じてインテリジェントコネクテッドビークルの車両内部コンポーネント間で実行されるシナリオに適用されてよい。例えば、
図3に示される電子制御ユニット(electronic control unit、ECU)#1及びECU#2は、自動車イーサネットを通じて互いに通信する。
【0137】
車両内部コンポーネントは、外部と通信するリモート情報プロセッサ、例えば、テレマティクスボックス(telematics box、T-Box)、ゲートウェイ(gateway、GW)、先進運転者支援システム(advanced driver assistance system、ADAS)、ヒューマンマシンインタフェース(human-machine interface、HMI)、又は車両制御ユニット(vehicle control unit、VCU)を含んでよい。
【0138】
図3に示されるように、2つの車両内部コンポーネントは、直接的に接続されてよい。代替的に、2つの車両内部コンポーネントは、別の車両内部コンポーネントを用いて転送を実行してもよい。
図4に示されるように、ECU#1及びECU#2は、GWを通じて接続されている。
【0139】
本願の実施形態において提供される方法は、添付図面を参照して、以下において説明されている。
【0140】
図5は、本願の一実施形態に係る通信方法の概略フローチャートである。
図5に示される方法500は、
図3又は
図4に示される通信システムに適用されてよい。
図5に示されるように、第1のデバイスは、
図3又は
図4におけるECU#1であってよく、第2のデバイスは、
図3又は
図4におけるECU#2であってよい。
図5に示されるように、方法500は、S501からS506を含んでよい。以下では、段階について詳細に説明する。
【0141】
S501:第1のデバイスは、第3のマッピング関係に基づいて、第2のデバイスの識別子情報に対応する暗号アルゴリズムスイートを決定する。
【0142】
第2のデバイスの識別子情報に対応する暗号アルゴリズムスイートは、第1のデバイス及び第2のデバイス間の通信に用いられる暗号アルゴリズムスイートであることが理解され得る。
【0143】
第1のデバイス又は第2のデバイスは、T-Box、GW、ADAS、HMI、又はVCU等であってよい。
【0144】
第3のマッピング関係は、少なくとも1つのデバイスの識別子情報と少なくとも1つの暗号アルゴリズムスイートとの間の対応関係を示すために用いられる。少なくとも1つのデバイスの識別子情報は、第1のデバイスにより認証される必要があるデバイスの識別子情報であってよい。換言すると、第1のデバイスは、第3のマッピング関係に基づいて、認証される必要があるデバイスとの通信に用いられる暗号アルゴリズムスイートを決定してよい。少なくとも1つのデバイスの識別子情報は、第2のデバイスの識別子情報を含むことが理解され得る。
【0145】
必要に応じて、第1のデバイスが第3のマッピング関係に基づいて、第2のデバイスの識別子情報に対応する暗号アルゴリズムスイートを決定し得る場合、第1のデバイスは、デフォルトで、第2のデバイスが認証される必要があるデバイスであるとみなしてよく、つまり、第2のデバイスの信憑性を決定してよい。
【0146】
デバイスの識別子情報は、以下のうちの1又は複数を含んでよい:デバイスのタイプ、デバイスの識別子(identifier、ID)、デバイスのインターネットプロトコル(internet protocol、IP)アドレス、デバイスの媒体アクセス制御(media access control、MAC)アドレス。
【0147】
少なくとも1つのデバイスの識別子情報と少なくとも1つの暗号アルゴリズムスイートとの間の対応関係は、本願の本実施形態に限定されない。
【0148】
一例において、少なくとも1つのデバイスの識別子情報と少なくとも1つの暗号アルゴリズムスイートとは、1対1の対応関係にあってよい。表1は、少なくとも1つのデバイスの識別子情報が少なくとも1つの暗号アルゴリズムスイートと1対1の対応関係にある例を示す。
表1
【表1】
【0149】
表1によれば、第1のデバイスは、デバイス#Aの識別子情報が暗号アルゴリズムスイート#Aに対応し、デバイス#Bの識別子情報が暗号アルゴリズムスイート#Bに対応し、デバイス#Cの識別子情報が暗号アルゴリズムスイート#Cに対応し、デバイス#Dの識別子情報が暗号アルゴリズムスイート#Dに対応すると決定してよい。
【0150】
別の例において、少なくとも1つのデバイスの識別子情報と少なくとも1つの暗号アルゴリズムスイートとは、多対1の対応関係にあってよい。表2は、少なくとも1つのデバイスの識別子情報が少なくとも1つの暗号アルゴリズムスイートと多対1の対応関係にある例を示す。
表2
【表2】
【0151】
表2によれば、第1のデバイスは、デバイス#Aの識別子情報、デバイス#Bの識別子情報、及びデバイス#Cの識別子情報が全て、暗号アルゴリズムスイート#Aに対応し、デバイス#Dの識別子情報が暗号アルゴリズムスイート#Bに対応すると決定してよい。
【0152】
第3のマッピング関係に示される、少なくとも1つのデバイスの識別子情報と少なくとも1つの暗号アルゴリズムスイートとの間の対応関係は、第1のデバイス及び少なくとも1つのデバイスのハードウェア能力に基づいて、決定されてよい。例えば、第1のデバイス及びデバイス#Aがそれぞれ、電子安全車両侵入保護アプリケーション(E-safety vehicle intrusion protected application、EVITA)fullレベルのハードウェアセキュリティモジュール(hardware security module、HSM)を有する場合、デバイス#Aとの安全な通信を実行するために第1のデバイスにより用いられる暗号アルゴリズムスイートは、ECDHE_ECDSA_AES_128_GCM_Whirlpoolとして決定されてよい。換言すると、デバイス#Aの識別子情報は、ECDHE_ECDSA_AES_128_GCM_Whirlpoolに対応してよく、ここで、一時的楕円曲線Diffie-Hellman(ephemeral elliptic curve Diffie-Hellman、ECDHE)は、鍵共有アルゴリズムを表し、楕円曲線デジタル署名アルゴリズム(elliptic curve digital signature algorithm、ECDSA)は、デジタル署名アルゴリズムを表し、高度暗号化標準(advanced encryption standard、AES)_128_(galois/counter mode、GCM)は、認証暗号化アルゴリズムを表し、Whirlpoolアルゴリズムは、ハッシュアルゴリズムであり、これら全てのアルゴリズムは、EVITA fullレベルのHSMにおいて指定される。
【0153】
第3のマッピング関係は、第1のデバイスに予め格納されてよい。例えば、第3のマッピング関係は、デバイス製造業者が第1のデバイスを生成するときに第1のデバイスに予め格納されてもよく、又は第3のマッピング関係は、ユーザが第1のデバイスを用いる前に、第1のデバイスに予め格納されてもよく、又は第3のマッピング関係は、ソフトウェアプロバイダにより第1のデバイスに予め格納されてもよい。
【0154】
本願の本実施形態において、暗号アルゴリズムスイートは、デバイスの識別子情報に対応し、その結果、第1のデバイスは、格納された第3のマッピング関係に基づいて、第2のデバイスとの通信に用いられる暗号アルゴリズムスイートを決定することができる。したがって、第1のデバイスは、第2のデバイスに、第1のデバイスによりサポートされた暗号アルゴリズムスイートのリストを伝送する必要がない。これは、伝送されるデータの量を低減する。
【0155】
必要に応じて、少なくとも1つの暗号アルゴリズムスイートの各々は、フォワードセキュリティ要件を満たす。つまり、第1のデバイス及び少なくとも1つの他のデバイスとの通信に用いられる暗号アルゴリズムスイートが定められるときに、フォワードセキュリティ要件を満たす鍵共有アルゴリズムのみが用いられる、例えば、一時的Diffie-Hellman(ephemeral Diffie-Hellman、DHE)又はECDHEが用いられる。
【0156】
S502:第1のデバイスは、決定された暗号アルゴリズムスイートに基づいて、認証要求情報を生成する。
【0157】
第1のデバイスが決定された暗号アルゴリズムスイートに基づいて認証要求情報を生成することは、第1のデバイスが決定された暗号アルゴリズムスイートに基づいて認証要求情報に含まれるパラメータを生成することとして理解されてもよい。
【0158】
認証要求情報は、第1のデバイスの識別子情報(ID#1が以下で説明のために一例として用いられる)を含む。認証要求情報は、以下のパラメータのうちの1又は複数を更に含んでよい:第1のデバイスにより用いられる第1の一時的公開鍵(tempPK#1が以下において説明のために一例として用いられる)、第1のデバイスにより用いられる第1の乱数(random)(random#1が以下において説明のために一例として用いられる)、第1のデバイスのデバイス証明書(デバイス証明書#1が以下において説明のために一例として用いられる)、第1のデバイスにより用いられる第1の署名値(Sign#1が以下において説明のために一例として用いられる)、第1の暗号(cipher#1が以下において説明のために一例として用いられる)。random#1及びtempPK#1は、第1のデバイス及び第2のデバイス間の通信に用いられるセッション鍵を生成するために用いられ、デバイス証明書#1、Sign#1、及びcipher#1は、第1のデバイスの有効性を検証するために用いられる。
【0159】
デバイス証明書#1は、ID#1、第1のデバイスにより用いられる第1の公開鍵(PK#1が以下において説明のために一例として用いられる)、及びルート署名を含む。デバイス証明書#1がID#1を含むので、認証要求情報は、第1のデバイスの識別子情報を含まない場合があることが理解され得る。この場合、第1のデバイスの識別子情報は、デバイス証明書#1に含まれることが理解され得る。
【0160】
tempPK#1は、決定された暗号アルゴリズムスイートに基づいて、第1のデバイスにより生成される。第1のデバイスは、暗号アルゴリズムスイートの中の鍵共有アルゴリズムに基づいて、第1の一時的公開‐秘密鍵ペアを生成し、第1の一時的公開‐秘密鍵ペアは、2つのデータ:tempPK#1及び第1の一時的秘密鍵(tempSK#1が以下において説明のために一例として用いられる)を含む。
【0161】
Sign#1は、決定された暗号アルゴリズムスイートに基づいて、第1のデバイスにより生成される。第1のデバイスは、第1のメッセージ(msg#1が以下において説明のために一例として用いられる)を構築し、msg#1の内容は、{ID#1||random#1||tempPK#1}である。更に、第1のデバイスは、用いられた第1の秘密鍵(SK#1が以下において説明のために一例として用いられる)を鍵として用いて、且つ、暗号アルゴリズムスイートにおいて指定されたデジタル署名アルゴリズムに基づいて、msg#1を暗号化して、Sign#1を取得する。Sign#1=Sign(ID#1||random#1||tempPK#1)、ここで、「||」は、接続を示し、Sign()は、計算がデジタル署名アルゴリズムに基づいて実行されることを示す。
【0162】
cipher#1は、予め格納されたPSK及び暗号アルゴリズムスイートに基づいて、第1のデバイスにより生成される。予め格納されたPSKは、第2のデバイスに対応する。
【0163】
第1のデバイスは、msg#1を構築し、msg#1の内容は、{ID#1||random#1}である。更に、第1のデバイスは、PSKを鍵として用いて、且つ、暗号アルゴリズムスイートの中の対称暗号化アルゴリズムに基づいて、msg#1を暗号化して、cipher#1を生成する。cipher#1=EncPSK(ID#1||random#1)、ここで、「||」は、接続を示し、EncPSK()は、暗号化がPSKを鍵として用いて、且つ、対称暗号化アルゴリズムに基づいて、実行されることを示す。
【0164】
予め格納されたPSKは、第1のデバイスが第2のデバイスとともにアイデンティティ認証を実行した以前のプロセスにおいて、第1のデバイスにより生成されていてよい。
【0165】
第1のデバイス及び第2のデバイスが以前にアイデンティティ認証プロセスを実行していた場合、第1のデバイス及び第2のデバイスは、同じPSKを格納し得ることが理解され得る。第1のデバイスは、第2のデバイスの識別子情報(ID#2が以下において説明のために一例として用いられる)に基づいて、1つ又は複数の格納されたPSKから、第2のデバイスに対応するPSKを決定してよい。
【0166】
代替的に、予め格納されたPSKは、第1のデバイスにおいて予め構成された第1のPSKリストに格納されたPSKであってよい。予め構成された第1のPSKリストは、少なくとも1つのデバイスの識別子情報に対応するPSKを含んでよい。予め構成された第1のPSKリストは、第1のPSKリストが第1のデバイスに予め格納されたものとして理解されてよい。例えば、第1のPSKリストは、デバイス製造業者が第1のデバイスを生成するときに、第1のデバイスに予め格納されてもよく、又は第1のPSKリストは、ユーザが第1のデバイスを用いる前に、第1のデバイスに予め格納されてもよく、又は第1のPSKリストは、ソフトウェアプロバイダにより第1のデバイスに予め格納されてもよい。
【0167】
この場合、第1のデバイスは、予め構成された第1のPSKリストからID#2に対応するPSKを決定してよい。
【0168】
必要に応じて、
図6に示されるように、方法500は、S507:第1のデバイスが、予め構成された第1のリストが第2のデバイスの識別子情報を含むと決定する段階を更に含んでよい。予め構成された第1のリストは、第1のリストが第1のデバイスに予め格納されたものとして理解されてよい。例えば、第1のリストは、デバイス製造業者が第1のデバイスを生成するときに、第1のデバイスに予め格納されてもよく、又は第1のリストは、ユーザが第1のデバイスを用いる前に、第1のデバイスに予め格納されてもよく、又は第1のリストは、ソフトウェアプロバイダにより第1のデバイスに予め格納されてもよい。
【0169】
S507がS502の後に実行される一例のみが説明のために図において用いられており、これは、本願に対する限定となるべきではないことに留意されたい。S507は、代替的に、S502又はS501の前に、実行されてよい。代替的に、S507及びS501は、1つの段階であってよい。
【0170】
第1のリストは、第1のデバイスが安全な通信を実行する必要があるデバイスの認証プロセスを定め、つまり、第1のリストは、第1のデバイスにより認証される必要があるデバイスの識別子情報を含む。
【0171】
第1のリストの中の内容は、第1のデバイスの応用シナリオに基づいて、決定されてよい。例えば、第1のデバイスが自律ドライビングサービス機能を有するADASである場合、ADASは、HMI、VCU、車体ドメインコントローラ、シャーシドメインコントローラ、及びセンサ等のデバイスと安全な通信を実行する必要がある。したがって、前述のデバイスの識別子情報は、ADASにおいて予め構成された第1のリストに格納され得る。
【0172】
第1のデバイスが認証要求情報を生成又は送信する前に、第1のデバイスは、予め構成された第1のリストが第2のデバイスの識別子情報を格納しているかどうかをクエリしてよい。
【0173】
第1のリストが第2のデバイスの識別子情報を格納している場合、それは、第1のデバイスが第2のデバイスに対してアイデンティティ認証を実行する必要があることを示し、第1のデバイスは、第2のデバイスに対して、認証プロセスを開始する。例えば、第1のリストが第2のデバイスの識別子情報を含むと決定するとき、第1のデバイスは、認証要求情報を生成する、又は第2のデバイスに、認証要求情報を送信する。
【0174】
第1のリストが第2のデバイスの識別子情報を格納していない場合、それは、第1のデバイスが第2のデバイスとアイデンティティ認証を実行する必要がないことを示し、第1のデバイスは、第2のデバイスに対して、認証プロセスを開始しない。例えば、第1のリストが第2のデバイスの識別子情報を含まないと決定するとき、第1のデバイスは、認証要求情報を生成しない、又は第2のデバイスに、認証要求情報を送信しない。
【0175】
第1のデバイスが、第1のリストが第2のデバイスの識別子情報を含むと決定する前述の解決手段はまた、別個に実装されてよく、つまり、本明細書の中の別の実施形態に依存することなく、独立した実施形態として用いられてよいことに更に留意されたい。
【0176】
本願の本実施形態において、第1のリストは、第1のデバイスにおいて予め設定され、その結果、第1のデバイスは、第2のデバイスの識別子情報が第1のリストに格納されていると決定するとき、第2のデバイスに、認証要求情報を送信する。これは、不必要な認証要求を開始することを防ぐことができる。
【0177】
必要に応じて、
図7に示されるように、方法500は、S509:第1のデバイスが、第2のデバイスとの通信に用いられるパケット暗号化モードを決定する段階を更に含んでよい。
【0178】
S509がS507の後に実行される一例のみが説明のために図において用いられており、これは、本願に対する限定となるべきではないことに留意されたい。代替的に、S509は、S507の前に実行されてもよく、又はS502の前に実行されてもよく、又はS501の前に実行されてもよく、又はS509は、S503の後に実行されてもよい。代替的に、S509及びS507は、1つの段階であってもよく、又はS509及びS501は、1つの段階であってもよい。
【0179】
パケット暗号化モードは、完全暗号化モード及びオンデマンド暗号化モードのうち1つを含む。
【0180】
第1のデバイス及び第2のデバイス間の通信に用いられるパケット暗号化モードが完全暗号化モードである場合、第1のデバイス及び第2のデバイス間で送信される通信パケットは、暗号文データを含んでよい。
【0181】
暗号文データは、暗号アルゴリズムスイートに基づいて、第1のデバイス及び第2のデバイスが通信データを暗号化することにより取得されるデータである。
【0182】
図8は、完全暗号化モードにおける通信パケットのフォーマットを示す。
図8に示されるように、完全暗号化モードにおいて、パケットシーケンス番号のみが暗号化されず、全ての他のデータは、暗号文データである。
【0183】
第1のデバイス及び第2のデバイス間の通信に用いられるパケット暗号化モードがオンデマンド暗号化モードである場合、第1のデバイス及び第2のデバイス間で送信される通信パケットは、平文識別子、平文データ、暗号文識別子、及び暗号文データを含む。
【0184】
平文識別子は、平文データの長さを識別するために用いられる、又は平文識別子に続くフィールドが平文データであることを示すために用いられる。平文データは、暗号化されていないデータである。
【0185】
必要に応じて、平文データは、暗号文データのストリーム暗号化鍵生成シードを含んでよい。
【0186】
図9は、第1のデバイス及び第2のデバイス間で送信される、オンデマンド暗号化モードにおける通信パケットのフォーマットを示す。
図9から、平文識別子の後及び暗号文識別子の前のデータは、平文データであり、暗号文識別子の後のデータは、暗号文データであることが分かり得る。平文データは、パケットシーケンス番号、ストリーム鍵シード、エンターテインメントデータ、車両制御命令、及びハッシュ値等を含んでよい。暗号文データは、位置データ、マップデータ、及びユーザプライバシ等を含んでよい。
【0187】
第1のデバイスがパケット暗号化モードを決定する方式は、本願の本実施形態に限定されない。
【0188】
一例において、第1のデバイスは、第1のデバイス及び第2のデバイス間で伝送されるデータ内容に基づいて、パケット暗号化モードを決定してよい。例えば、マップデータ及び位置データ等が第1のデバイス及び第2のデバイス間で伝送される場合、パケット暗号化モードが完全暗号化モードであると決定される。マップデータ等のデータに加えてエンターテインメントデータ及び制御命令等が第1のデバイス及び第2のデバイス間で更に伝送される場合、パケット暗号化モードがオンデマンド暗号化モードであると決定され、つまり、マップデータ等のデータは、暗号化され、エンターテインメントデータ及び制御命令等は、暗号化されない。
【0189】
更に、第1のデバイスは、第2のデバイスとの通信に用いられるパケット暗号化モードを示すために、第2のデバイスに指示情報を送信してよい。例えば、第1のデバイスにより送信される指示情報は、Boolean型(bool)変数であってよい。Boolean型変数が「1」である場合、それは、第1のデバイス及び第2のデバイス間の通信に用いられるパケット暗号化モードが完全暗号化モードであることを示す。Boolean型変数が「0」である場合、それは、第1のデバイス及び第2のデバイス間の通信に用いられるパケット暗号化モードがオンデマンド暗号化モードであることを示す。必要に応じて、指示情報は、認証要求情報において保持されてよい。
【0190】
別の例において、第1のデバイスは、第4のマッピング関係に基づいて、第2のデバイスの識別子情報に対応するパケット暗号化モードを決定してよく、ここで、第4のマッピング関係は、少なくとも1つのデバイスの識別子情報と少なくとも1つのパケット暗号化モードとの間の対応関係を示すために用いられる。
【0191】
少なくとも1つのデバイスの識別子情報と少なくとも1つのパケット暗号化モードとの間の対応関係は、本願の本実施形態に限定されない。
【0192】
例えば、少なくとも1つのデバイスの識別子情報と少なくとも1つのパケット暗号化モードとは、1対1の対応関係にあってよい。表3は、少なくとも1つのデバイスの識別子情報が少なくとも1つのパケット暗号化モードと1対1の対応関係にある例を示す。
表3
【表3】
【0193】
表3によれば、第1のデバイスは、デバイス#A及びデバイス#Bの識別子情報がそれぞれ完全暗号化モードに対応し、デバイス#C及びデバイス#Dの識別子情報がそれぞれオンデマンド暗号化モードに対応すると決定してよい。
【0194】
別の例として、少なくとも1つのデバイスの識別子情報と少なくとも1つのパケット暗号化モードとは、多対1の対応関係にあってよい。表4は、少なくとも1つのデバイスの識別子情報が少なくとも1つのパケット暗号化モードと多対1の対応関係にある例を示す。
【0195】
表4によれば、第1のデバイスは、デバイス#Aの識別子情報及びデバイス#Bの識別子情報の両方が完全暗号化モードに対応し、デバイス#Cの識別子情報及びデバイス#Dの識別子情報の両方がオンデマンド暗号化モードに対応すると決定してよい。
表4
【表4】
【0196】
第1のデバイスが第2のデバイスとの通信に用いられるパケット暗号化モードを決定する前述の解決手段はまた、別個に実装されてよく、つまり、本明細書の中の別の実施形態に依存することなく、独立した実施形態として用いられてよいことに更に留意されたい。
【0197】
本願の本実施形態において、通信パケットのオンデマンド暗号化モードは、定められ、その結果、暗号化される必要がないデータは、オンデマンド暗号化モードにおいて平文において伝送され得る。これは、暗号化ペイロードのデータ量を低減させ、暗号化速度を向上させ、通信効率を向上させる。オンデマンド暗号化モードにおいて、暗号文データのストリーム暗号化鍵生成シードは、平文データに格納され得、その結果、UDPプロトコルは、ストリーム暗号化アルゴリズムをサポートすることができる。これは、通信効率を更に向上させる。
【0198】
前述の説明は、第1のデバイスが第3のマッピング関係、第1のリスト、第1のPSKリスト、及び第4のマッピング関係を別個に格納する一例を用いて提供されており、これは、本願の本実施形態に対する限定となるべきではないことを理解されたい。
【0199】
第3のマッピング関係に示される情報、第4のマッピング関係に示される情報、第1のPSKリストに含まれる内容、及び第1のリストに含まれる内容は、同じリストに格納されてもよく、又は第3のマッピング関係に示される情報、第4のマッピング関係に示される情報、第1のPSKリストに含まれる内容、及び第1のリストに含まれる内容のうち1つ又は複数は、同じリストに格納されてもよい。
【0200】
表5は、第3のマッピング関係に示される情報、第4のマッピング関係に示される情報、第1のPSKリストに含まれる内容、及び第1のリストに含まれる内容が同じリストに格納されている一例を示す。
表5
【表5】
【0201】
デバイス#Aからデバイス#Dの識別子情報は、第1のデバイスにより認証される必要があるデバイスの識別子情報である。表5は、デバイス#Aからデバイス#Dの識別子情報にそれぞれ対応する、暗号アルゴリズムスイート#1から暗号アルゴリズムスイート#4、PSK#1からPSK#4、及びパケット暗号化モードを示す。
【0202】
S503:第1のデバイスは、第2のデバイスに、認証要求情報を送信する。それに対応して、S503において、第2のデバイスは、第1のデバイスからの認証要求情報を受信する。
【0203】
認証要求情報は、以下のパラメータのうちの1又は複数を含んでよい:ID#1、tempPK#1、random#1、デバイス証明書#1、Sign#1、及びcipher#1。
【0204】
例えば、第1のデバイス及び第2のデバイス間の一方向認証のシナリオにおいて、認証要求情報は、ID#1、tempPK#1、及びrandom#1を含んでよい。
【0205】
一方向認証は、第2のデバイスに対して第1のデバイスにより実行され、つまり、第1のデバイスは、第2のデバイスの有効性を認証するが、第2のデバイスは、第1のデバイスの有効性を認証しない。例えば、自律ドライビングシナリオにおいて、第1のデバイスは、インテリジェントドライビングドメインコントローラであり、第2のデバイスは、センサであると仮定される。インテリジェントドライビングドメインコントローラがイントラドメインセンサと通信する前に、インテリジェントドライビングドメインコントローラは、センサを認証して、センサが偽造データを送信することを防止する必要があるが、センサは、インテリジェントドライビングドメインコントローラを認証する必要がない。
【0206】
別の例として、第1のデバイス及び第2のデバイスが双方向認証を実行するとき、認証要求情報は、デバイス証明書#1、Sign#1、tempPK#1、及びrandom#1を含んでよい。
【0207】
双方向認証は、第1のデバイス及び第2のデバイス間で実行され、つまり、第1のデバイスは、第2のデバイスの有効性を認証し、第2のデバイスも、第1のデバイスの有効性を認証する。
【0208】
更に別の例として、第1のデバイスが第2のデバイスに対応するPSKを予め格納するとき、認証応答情報は、ID#1、cipher#1、及びtempPK#1を含んでよい。
【0209】
S504:第2のデバイスは、第1のマッピング関係に基づいて、第1のデバイスの識別子情報に対応する暗号アルゴリズムスイートを決定する。
【0210】
第1のデバイスの識別子情報に対応する暗号アルゴリズムスイートは、第1のデバイス及び第2のデバイス間の通信に用いられる暗号アルゴリズムスイートであることが理解され得る。
【0211】
第1のマッピング関係は、少なくとも1つのデバイスの識別子情報と少なくとも1つの暗号アルゴリズムスイートとの間の対応関係を示すために用いられる。具体的に、第1のマッピング関係の説明については、S501における第3のマッピング関係の説明を参照されたい。簡潔にするために、本願の本実施形態においては詳細について改めて説明しない。
【0212】
段階S504において決定される暗号アルゴリズムスイートは、段階S501において決定される暗号アルゴリズムスイートと同じであることが理解され得る。
【0213】
第1のマッピング関係は、第2のデバイスに予め格納されてよい。例えば、第1のマッピング関係は、デバイス製造業者が第2のデバイスを生成するときに、第2のデバイスに予め格納されてもよく、又は第1のマッピング関係は、ユーザが第2のデバイスを用いる前に、第2のデバイスに予め格納されてもよく、又は第1のマッピング関係は、ソフトウェアプロバイダにより第2のデバイスに予め格納されてもよい。
【0214】
必要に応じて、第2のデバイスが第1のマッピング関係に基づいて、第1のデバイスの識別子情報に対応する暗号アルゴリズムスイートを決定し得る場合、第2のデバイスは、デフォルトで、第1のデバイスが認証される必要があるデバイスであるとみなしてよく、つまり、第1のデバイスの信憑性を決定してよい。
【0215】
本願の本実施形態において、暗号アルゴリズムスイートは、デバイスの識別子情報に対応し、その結果、第2のデバイスは、格納された第1のマッピング関係に基づいて、第1のデバイスとの通信のプロセスにおいて用いられる暗号アルゴリズムスイートを決定することができる。したがって、第1のデバイスは、第2のデバイスに、第1のデバイスによりサポートされた暗号アルゴリズムスイートを伝送する必要がない。これは、伝送プロセスにおけるデータの量を低減させ、伝送信頼性及び通信効率を向上させる。
【0216】
必要に応じて、少なくとも1つの暗号アルゴリズムスイートの各々は、フォワードセキュリティ要件を満たす。
【0217】
上記のように、双方向認証が第1のデバイス及び第2のデバイス間で実行されるとき、第1のデバイスにより第2のデバイスに送信される認証要求情報は、デバイス証明書#1及び/又はSign#1を含んでよい。暗号アルゴリズムスイートを決定する前に、第2のデバイスはまず、デバイス証明書#1の有効性を検証してよい。
【0218】
第2のデバイスは、ルート証明書の中の第2のデバイスにより用いられる第2の公開鍵(PK#2が以下において説明のために一例として用いられる)を用いて、デバイス証明書#1に格納されたルート署名に対して署名検証を実行する。検証が成功した後、第2のデバイスは、暗号アルゴリズムスイートを決定する。
【0219】
暗号アルゴリズムスイートを決定した後、第2のデバイスは、Sign#1の有効性を検証することを続ける。第2のデバイスは、デバイス証明書#1に含まれるID#1と、認証要求情報に含まれるrandom#1及びtempPK#1とに基づいて、msg#1を構築してよい。更に、第2のデバイスは、デバイス証明書#1に含まれるPK#1を用いて、Sign#1の有効性を検証する。検証が成功した後、第2のデバイスは、後続の認証プロセスを実行する。
【0220】
認証要求情報がcipher#2を含む場合、暗号アルゴリズムスイートを決定した後、第2のデバイスは、第1のデバイスの識別子情報に対応する予め格納されたPSKを鍵として用いて、且つ、暗号アルゴリズムスイートの中の対称暗号化アルゴリズムに基づいて、cipher#1を解読して、ID#1を取得する。更に、第2のデバイスは、cipher#1を解読することにより取得されたID#1が、認証要求情報の中のID#1と一致するかどうかを決定する。ID#1がID#1と一致しない場合、認証は、失敗する。ID#1がID#1と一致する場合、後続の認証プロセスが続く。S505:第2のデバイスは、決定された暗号アルゴリズムスイートに基づいて、認証応答情報を生成する。
【0221】
認証応答情報は、以下のパラメータのうちの1又は複数を含んでよい:第2のデバイスの識別子情報(ID#2が以下において説明のために一例として用いられる)、第2のデバイスにより用いられる第2の乱数(random#2が以下において説明のために一例として用いられる)、第2のデバイスの第2のデバイス証明書(デバイス証明書#2が以下において説明のために一例として用いられる)、第2のデバイスにより用いられる第2の署名値(Sign#1が以下において説明のために一例として用いられる)、第2のデバイスにより用いられる第2の一時的公開鍵(tempPK#2が以下において説明のために一例として用いられる)、及び第2の暗号(cipher#2が以下において説明のために一例として用いられる)。デバイス証明書#2は、ID#2、PK#2、及びルート署名を含む。random#2及びtempPK#2は、第1のデバイス及び第2のデバイス間の通信に用いられるセッション鍵を生成するために用いられ、デバイス証明書#2、Sign#2、及びcipher#2は、第2のデバイスの有効性を検証するために用いられる。
【0222】
第2のデバイスが決定された暗号アルゴリズムスイートに基づいて認証応答情報を生成し得ることは、第2のデバイスが認証応答情報に含まれるパラメータを生成することであると理解され得る。
【0223】
第2のデバイスは、決定された暗号アルゴリズムスイートに基づいて、第2の一時的公開‐秘密鍵ペアを生成してよく、第2の一時的公開‐秘密鍵ペアは、2つのデータ:tempPK#2及び第2の一時的秘密鍵(tempSK#2が以下において説明のために一例として用いられる)を含む。
【0224】
第2のデバイスは、第2のメッセージ(msg#2が以下において説明のために一例として用いられる)を更に構築してよく、msg#2の内容は、{ID#2||random#2||tempPK#2}である。更に、第2のデバイスは、用いられた第2の秘密鍵(SK#2が以下において説明のために一例として用いられる)を鍵として用いて、且つ、暗号アルゴリズムスイートにおいて指定されたデジタル署名アルゴリズムに基づいて、msg#2を暗号化して、Sign#2を取得する。Sign#2=Sign(ID#2||random#2||tempPK#2)、ここで、「||」は、接続を示し、Sign()は、計算がデジタル署名アルゴリズムに基づいて実行されることを示す。
【0225】
第2のデバイスは、予め格納されたPSK及び暗号アルゴリズムスイートに基づいて、cipher#2を更に生成してよい。
第2のデバイスは、msg#2を構築し、msg#2の内容は、{ID#2||random#2}である。更に、第2のデバイスは、PSKを鍵として用いて、且つ、暗号アルゴリズムスイートの中の対称暗号化アルゴリズムに基づいて、msg#2を暗号化して、cipher#2を生成する。cipher#2=EncPSK(ID#2||random#2)、ここで、「||」は、接続を示し、EncPSK()は、暗号化がPSKを鍵として用いて、且つ、対称暗号化アルゴリズムに基づいて、実行されることを示す。
【0226】
予め格納されたPSKは、第1のデバイスが第2のデバイスとともにアイデンティティ認証を実行した以前のプロセスにおいて、第1のデバイスにより生成されていてよい。
【0227】
第1のデバイス及び第2のデバイスが以前にアイデンティティ認証プロセスを実行していた場合、第1のデバイス及び第2のデバイスは、同じPSKを格納することが理解され得る。第2のデバイスは、ID#1に基づいて、1つ又は複数の格納されたPSKから、第1のデバイスに対応するPSKを決定してよい。
【0228】
代替的に、予め格納されたPSKは、第2のデバイスにおいて予め構成された第2のPSKリストに格納されたPSKであってよい。予め構成された第2のPSKリストは、少なくとも1つのデバイスの識別子情報に対応するPSKを含んでよい。予め構成された第2のPSKリストは、第2のPSKリストが第2のデバイスに予め格納されたものであると理解されてよい。例えば、第2のPSKリストは、デバイス製造業者が第2のデバイスを生成するときに、第2のデバイスに予め格納されてもよく、又は第2のPSKリストは、ユーザが第2のデバイスを用いる前に、第2のデバイスに予め格納されてもよく、又は第2のPSKリストは、ソフトウェアプロバイダにより第2のデバイスに予め格納されてもよい。
【0229】
この場合、第2のデバイスは、予め構成された第2のPSKリストから、ID#1に対応するPSKを決定してよい。
【0230】
第1のデバイスの識別子情報に対応する暗号アルゴリズムスイートを決定した後、第2のデバイスが、第1のデバイスの有効性をまだ決定していない場合、第2のデバイスは、前述のパラメータを一時的に生成しない場合がある。
【0231】
この場合、第2のデバイスは、cookieフィールドを生成し、認証応答情報に、生成されたcookieフィールドを含み、第1のデバイスに、認証応答情報を送信してよい。更に、cookieフィールドを保持し且つ第1のデバイスにより送信される認証要求情報を受信した後、第2のデバイスは、認証要求情報の中のcookieフィールドに基づいて、第1のデバイスの信憑性及びソース有効性を決定してよい。
【0232】
必要に応じて、
図6に示されるように、方法500は、S508:第2のデバイスが、予め構成された第2のリストが第1のデバイスの識別子情報を含むと決定する段階を更に含んでよい。予め構成された第2のリストは、第2のリストが第2のデバイスに予め格納されたものであると理解されてよい。例えば、第2のリストは、デバイス製造業者が第2のデバイスを生成するときに、第2のデバイスに予め格納されてもよく、又は第2のリストは、ユーザが第2のデバイスを用いる前に、第2のデバイスに予め格納されてもよく、又は第2のリストは、ソフトウェアプロバイダにより第2のデバイスに予め格納されてもよい。
【0233】
S508がS505の後に実行される一例のみが説明のために図において用いられており、これは、本願に対する限定となるべきではないことに留意されたい。S508は、代替的に、S505又はS504の前に、実行されてよい。代替的に、S508及びS504は、1つの段階であってよい。
【0234】
第2のリストは、第2のデバイスが安全な通信を実行する必要があるデバイスの認証プロセスを定め、つまり、第2のリストは、第2のデバイスにより認証される必要があるデバイスの識別子情報を含む。具体的に、第2のリストの説明について、S507における第1のリストの前述の説明を参照されたい。簡潔にするために、本願の本実施形態においては詳細について改めて説明しない。
【0235】
第2のデバイスが認証応答情報を生成又は送信する前に、第2のデバイスは、予め構成された第2のリストが第1のデバイスの識別子情報を格納しているかどうかをクエリしてよい。
【0236】
第2のリストが第1のデバイスの識別子情報を格納している場合、それは、第1のデバイスのソースが有効であることを示し、第2のデバイスは、第1のデバイスからの認証要求に応答する。例えば、第2のリストが第1のデバイスの識別子情報を含むと決定するとき、第2のデバイスは、認証応答情報を生成する、又は第1のデバイスに、認証応答情報を送信する。
【0237】
第2のリストが第1のデバイスの識別子情報を格納していない場合、それは、第1のデバイスのソースが無効であることを示し、第2のデバイスは、第1のデバイスからの認証要求に応答しない。例えば、第2のリストが第1のデバイスの識別子情報を含まないと決定するとき、第2のデバイスは、認証応答情報を生成しない、又は第1のデバイスに、認証応答情報を送信しない。
【0238】
第2のデバイスが、第2のリストが第1のデバイスの識別子情報を含むと決定する前述の解決手段はまた、別個に実装されてよく、つまり、本明細書の中の別の実施形態に依存することなく、独立した実施形態として用いられてよいことに更に留意されたい。
【0239】
本願の本実施形態において、第2のリストは、第2のデバイスにおいて予め構成されており、その結果、第1のデバイスの識別子情報が第2のリストに格納されていると決定するとき、第2のデバイスは、第1のデバイスのソース有効性を決定することができ、つまり、第2のリストでの解決手段は、元のハンドシェイクプロセスにおけるcookieフィールド割り当て解決手段に取って代わることができる。悪意あるデバイスが認証プロセスを開始するための虚偽のソースを偽造することを防止することができ、第2のデバイスは、第2のリストに基づいて、無効なデバイスからの認証要求を直接的に無視することができる。これは、第2のデバイスの処理負担を低減させ、攻撃者の攻撃難易度を増大することができる。
【0240】
必要に応じて、
図7に示されるように、方法500は、S510:第2のデバイスが、第1のデバイスとの通信に用いられるパケット暗号化モードを決定する段階を更に含んでよい。
【0241】
S510がS508の後に実行される一例のみが説明のために図において用いられており、これは、本願に対する限定となるべきではないことに留意されたい。代替的に、S510は、S508の前に実行されてもよく、又はS505の前に実行されてもよく、又はS504の前に実行されてもよく、又はS510は、S506の後に実行されてもよい。代替的に、S510及びS508は、1つの段階であってもよく、又はS509及びS504は、1つの段階であってもよい。
【0242】
パケット暗号化モードは、完全暗号化モード及びオンデマンド暗号化モードのうち1つを含む。
【0243】
第1のデバイス及び第2のデバイス間の通信に用いられるパケット暗号化モードが完全暗号化モードである場合、第1のデバイス及び第2のデバイス間で送信される通信パケットは、暗号文データを含んでよい。
【0244】
暗号文データは、暗号アルゴリズムスイートに基づいて、第1のデバイス及び第2のデバイスが通信データを暗号化することにより取得されるデータである。
【0245】
図8は、完全暗号化モードにおける通信パケットのフォーマットを示す。
図8に示されるように、完全暗号化モードにおいて、パケットシーケンス番号のみが暗号化されず、全ての他のデータは、暗号文データである。
【0246】
第1のデバイス及び第2のデバイス間の通信に用いられるパケット暗号化モードがオンデマンド暗号化モードである場合、第1のデバイス及び第2のデバイス間で送信される通信パケットは、平文識別子、平文データ、暗号文識別子、及び暗号文データを含む。
【0247】
平文識別子は、平文データの長さを識別するために用いられる、又は平文識別子に続くフィールドが平文データであることを示すために用いられる。平文データは、暗号化されていないデータである。
【0248】
必要に応じて、平文データは、暗号文データのストリーム暗号化鍵生成シードを含んでよい。
【0249】
図9は、オンデマンド暗号化モードにおける通信パケットのフォーマットを示す。
図9から、平文識別子の後及び暗号文識別子の前のデータは、平文データであり、暗号文識別子の後のデータは、暗号文データであることが分かり得る。平文データは、パケットシーケンス番号、ストリーム鍵シード、エンターテインメントデータ、車両制御命令、及びハッシュ値等を含んでよい。暗号文データは、位置データ、マップデータ、及びユーザプライバシ等を含んでよい。
【0250】
第2のデバイスがパケット暗号化モードを決定する方式は、本願の本実施形態に限定されない。
【0251】
一例において、第2のデバイスは、第1のデバイスからの指示情報に基づいて、パケット暗号化モードを決定してよく、ここで、指示情報は、第1のデバイス及び第2のデバイス間の通信に用いられるパケット暗号化モードを示すために用いられる。例えば、第1のデバイスから第2のデバイスにより受信される指示情報は、Boolean型(bool)変数であってよい。Boolean型変数が「1」である場合、それは、第1のデバイス及び第2のデバイスとの通信に用いられるパケット暗号化モードが完全暗号化モードであることを示す。Boolean型変数が「0」である場合、それは、第1のデバイス及び第2のデバイスとの通信に用いられるパケット暗号化モードがオンデマンド暗号化モードであることを示す。
【0252】
別の例において、第2のデバイスは、第2のマッピング関係に基づいて、第1のデバイスの識別子情報に対応するパケット暗号化モードを決定してよく、ここで、第2のマッピング関係は、少なくとも1つのデバイスの識別子情報と少なくとも1つのパケット暗号化モードとの間の対応関係を示すために用いられる。具体的に、第2のマッピング関係の説明について、S509における第4のマッピング関係の説明を参照されたい。簡潔にするために、本願の本実施形態においては詳細について改めて説明しない。
【0253】
第2のデバイスが第1のデバイスとの通信に用いられるパケット暗号化モードを決定する前述の解決手段はまた、別個に実装されてよく、つまり、本明細書の中の別の実施形態に依存することなく、独立した実施形態として用いられてよいことに更に留意されたい。
【0254】
本願の本実施形態において、通信パケットのオンデマンド暗号化モードは、定められ、その結果、暗号化される必要がないデータは、オンデマンド暗号化モードにおいて平文において伝送され得る。これは、暗号化ペイロードのデータ量を低減させ、暗号化速度を向上させ、通信効率を向上させる。オンデマンド暗号化モードにおいて、暗号文データのストリーム暗号化鍵生成シードは、平文データに格納され得、その結果、UDPプロトコルは、ストリーム暗号化アルゴリズムをサポートすることができる。これは、通信効率を更に向上させる。
【0255】
前述の説明は、第2のデバイスが第1のマッピング関係、第2のリスト、第2のPSKリスト、及び第2のマッピング関係を別個に格納する一例を用いて提供されており、これは、本願の本実施形態に対する限定となるべきではないことを理解されたい。
【0256】
第1のマッピング関係に示される情報、第2のマッピング関係に示される情報、第2のPSKリストに含まれる内容、及び第2のリストに含まれる内容は、同じリストに格納されてもよく、又は第1のマッピング関係に示される情報、第2のマッピング関係に示される情報、第2のPSKリストに含まれる内容、及び第2のリストに含まれる内容のうち1つ又は複数は、同じリストに格納されてもよい。
【0257】
表6は、第1のマッピング関係に示される情報、第2のマッピング関係に示される情報、第2のPSKリストに含まれる内容、及び第2のリストに含まれる内容が同じリストに格納されている一例を示す。
表6
【表6】
【0258】
デバイス#Eからデバイス#Hの識別子情報は、第2のデバイスにより認証される必要があるデバイスの識別子情報である。表6は、デバイス#Eからデバイス#Hの識別子情報にそれぞれ対応する、暗号アルゴリズムスイート#1から暗号アルゴリズムスイート#4、PSK#1からPSK#4、及びパケット暗号化モードを示す。
【0259】
S506:第2のデバイスは、第1のデバイスに、認証応答情報を送信する。
【0260】
認証応答情報は、以下のパラメータのうちの1又は複数を含んでよい:random#2、デバイス証明書#2、Sign#1、tempPK#2、cipher#2、及びID#2。
【0261】
例えば、第2のデバイスが、第1のデバイスのソースが有効であると決定するとき、認証応答情報は、random#2、デバイス証明書#2、Sign#1、及びtempPK#2を含んでよい。
【0262】
別の例として、第1のデバイスが第2のデバイスに対応するPSKを予め格納するとき、認証応答情報は、ID#2、tempPK#2、及びcipher#2を含んでよい。
【0263】
それに対応して、S506において、第2のデバイスから認証応答情報を受信した後、第1のデバイスは、第2のデバイスの有効性を検証してよい。
【0264】
認証応答情報がデバイス証明書#2を含む場合、第1のデバイスは、デバイス証明書#2の有効性を検証する。第1のデバイスは、デバイス証明書#2に格納されたID#2に基づいて、予め構成された第1のリストをクエリして、第2のデバイスが認証される必要があるデバイスかどうかを決定する。第2のデバイスが認証される必要があるデバイスでない場合、認証は終了する、又は第2のデバイスが認証される必要があるデバイスである場合、第1のデバイスは、ルート証明書の中のPK#1を用いて、デバイス証明書#2の中のルート署名に対して、署名検証を実行する。
【0265】
認証応答情報がSign#2を含む場合、第1のデバイスは、Sign#2を検証することを続ける。第1のデバイスは、デバイス証明書#2に含まれるID#2と、認証応答情報に含まれるrandom#2及びtempPK#2とに基づいて、msg#2を構築してよい。更に第2のデバイスは、デバイス証明書#2に含まれるPK#2を用いて、Sign#2の有効性を検証する。
【0266】
認証応答情報がcipher#2を含む場合、第1のデバイスは、第2のデバイスに対応する予め格納されたPSKを鍵として用いて、且つ、暗号アルゴリズムスイートの中の対称暗号化アルゴリズムに基づいて、cipher#2を解読して、ID#2を取得する。更に、第1のデバイスは、cipher#2を解読することにより取得されたID#2が認証応答情報の中のID#2と一致するかどうかを決定する。ID#2がID#2と一致しない場合、認証は、失敗する。ID#2がID#2と一致する場合、認証は、成功する。
【0267】
アイデンティティ認証手順を完了し、2つの当事者により用いられる乱数及び一時的公開鍵を交換した後、第1のデバイス及び第2のデバイスは、既存の手順に基づいて、現在の安全な通信において用いられるPSK及びセッション鍵を計算し、その後、通信プロセスを実行する。
【0268】
本願の本実施形態において、暗号アルゴリズムスイートは、デバイスの識別子情報に対応し、その結果、第1のデバイス及び第2のデバイスは、格納されたマッピング関係に基づいて、通信プロセスにおいて用いられる暗号アルゴリズムスイートを決定することができる。第1のデバイス及び第2のデバイスとの間のハンドシェイクプロセスにおいて、サポートされた暗号アルゴリズムスイートのリストを転送する必要がない。これは、ハンドシェイクプロセスにおいて伝送されるデータの量を低減し、伝送信頼性及び通信効率を向上させ、更に第1のデバイスがフォワーディングコンポーネントを用いて第2のデバイスと通信するときのフォワーディングコンポーネントの負担を低減する。
【0269】
本願の本実施形態において、第2のリストは、第2のデバイスにおいて予め構成されており、その結果、第1のデバイスの識別子情報が第2のリストに格納されていると決定するとき、第2のデバイスは、第1のデバイスのソース有効性を決定することができ、つまり、第2のリストでの解決手段は、元のハンドシェイクプロセスにおけるcookieフィールド割り当て解決手段に取って代わることができる。悪意あるデバイスが認証プロセスを開始するための虚偽のソースを偽造することを防止することができ、第2のデバイスは、第2のリストに基づいて、無効なデバイスからの認証要求を直接的に無視することができる。これは、第2のデバイスの処理負担を低減させ、攻撃者の攻撃難易度を増大することができる。
【0270】
本願の本実施形態において、通信パケットのオンデマンド暗号化モードは、定められ、その結果、暗号化される必要がないデータは、オンデマンド暗号化モードにおいて平文において伝送され得る。これは、暗号化ペイロードのデータ量を低減させ、暗号化速度を向上させ、通信効率を向上させる。
【0271】
加えて、オンデマンド暗号化モードにおいて、暗号文データのストリーム暗号化鍵生成シードは、平文データに格納され得、その結果、UDPプロトコルは、ストリーム暗号化アルゴリズムをサポートすることができる。これは、通信効率を更に向上させる。
【0272】
図10は、本願の別の実施形態に係る方法600の概略フローチャートである。
図10に示されるように、方法600は、S601からS620を含んでよい。以下では、段階について詳細に説明する。
【0273】
S601:第1のデバイスは、予め構成された第1のリストが第2のデバイスの識別子情報(ID#2)を含むと決定する。
【0274】
第1のリストは、第1のデバイスにより認証される必要があるデバイスの識別子情報を含む。
【0275】
第1のデバイスが、第1のリストがID#2を含むと決定する場合、第1のデバイスは、認証プロセスを実行することを続ける、又は第1のデバイスが、第1のリストがID#2を含まないと決定する場合、第1のデバイスは、第2のデバイスとともに認証プロセスを実行しない。
【0276】
S602:第1のデバイスは、ID#2に対応する暗号アルゴリズムスイート及びパケット暗号化モードを決定する。
【0277】
第1のデバイスは、第3のマッピング関係に基づいて、ID#2に対応する暗号アルゴリズムスイートを決定してよい。第1のデバイスは、第4のマッピング関係に基づいて、ID#2に対応するパケット暗号化モードを決定してよい。
【0278】
S603:第1のデバイスは、乱数#1を生成する。
【0279】
S604:第1のデバイスは、暗号アルゴリズムスイートの中の鍵共有アルゴリズムに基づいて、第1の一時的公開‐秘密鍵ペアを生成する。
【0280】
第1の一時的公開‐秘密鍵ペアは、tempPK#1及びtempSK#1を含む。
【0281】
S605:第1のデバイスは、暗号アルゴリズムスイートの中のデジタル署名アルゴリズムに基づいて、第1の署名値を生成する。
【0282】
第1のデバイスは、msg#1を構築し、msg#1の内容は、{ID#1||random#1||tempPK#1}である。更に、第1のデバイスは、SK#1を鍵として用いて、且つ、暗号アルゴリズムスイートにおいて指定されたデジタル署名アルゴリズムに基づいて、msg#1を暗号化して、Sign#1を取得する。Sign#1=Sign(ID#1||random#1||tempPK#1)、ここで、「||」は、接続を示し、Sign()は、計算がデジタル署名アルゴリズムに基づいて実行されることを示す。
【0283】
S606:第1のデバイスは、第2のデバイスに、認証要求情報を送信する。
【0284】
認証要求情報は、デバイス証明書#1、random#1、tempPK#1、及びSign#1を含む。デバイス証明書#1は、ID#1、PK#1、及びルート署名を含む。
【0285】
S607:第2のデバイスは、デバイス証明書#1の有効性を検証する。
【0286】
第2のデバイスは、デバイス証明書#1の中のID#1に基づいて、ID#1は予め構成された第2のリストに格納されていると決定する。第2のリストがID#1を格納している場合、第2のデバイスは、第1のデバイスが認証される必要があるデバイスであると決定し、又は第2のリストがID#1を格納していない場合、第2のデバイスは、第1のデバイスが認証される必要がないデバイスであると決定し、更に、認証プロセスを終了する。
【0287】
第2のデバイスが、第1のデバイスが認証される必要があるデバイスであると決定するとき、第2のデバイスは、PK#2を用いてデバイス証明書#1の中のルート署名を検証することを続ける。検証が成功する場合、検証プロセスは、実行を続け、又は検証が失敗する場合、検証プロセスは終了される。
【0288】
S608:第2のデバイスは、ID#1に対応する暗号アルゴリズムスイート及びパケット暗号化モードを決定する。
【0289】
第2のデバイスは、第1のマッピング関係に基づいて、ID#1に対応する暗号アルゴリズムスイートを決定してよい。第1のデバイスは、第2のマッピング関係に基づいて、ID#1に対応するパケット暗号化モードを決定してよい。
【0290】
S609:第2のデバイスは、第1の署名値を検証する。
【0291】
第2のデバイスは、デバイス証明書#1に含まれるID#1と、認証要求情報に含まれるrandom#1及びtempPK#1とに基づいて、msg#1を構築してよい。更に、第2のデバイスは、デバイス証明書#1に含まれるPK#1を用いて、Sign#1の有効性を検証する。検証が成功した後、第2のデバイスは、後続の認証プロセスを実行する。検証が失敗する場合、検証は失敗する。
【0292】
S610:第2のデバイスは、乱数#2を生成する。
【0293】
S611:第2のデバイスは、暗号アルゴリズムスイートの中の鍵共有アルゴリズムに基づいて、第2の一時的公開‐秘密鍵ペアを生成する。
【0294】
第2の一時的公開‐秘密鍵ペアは、tempPK#2及びtempSK#2を含む。
【0295】
S612:第2のデバイスは、暗号アルゴリズムスイートの中のデジタル署名アルゴリズムに基づいて、第2の署名値を計算する。
【0296】
第2のデバイスは、msg#2を構築し、msg#2の内容は、{ID#2||random#2||tempPK#2}である。更に、第1のデバイスは、SK#2を鍵として用いて、且つ、暗号アルゴリズムスイートにおいて指定されたデジタル署名アルゴリズムに基づいて、msg#2を暗号化して、Sign#2を取得する。Sign#2=Sign(ID#2||random#2||tempPK#2)、ここで、「||」は、接続を示し、Sign()は、計算がデジタル署名アルゴリズムに基づいて実行されることを示す。
【0297】
S613:第2のデバイスは、第1のデバイスに、認証応答情報を送信する。
【0298】
認証応答情報は、デバイス証明書#2、random#2、tempPK#2、及びSign#2を含む。デバイス証明書#2は、ID#2、PK#2、及びルート署名を含む。
【0299】
S614:第2のデバイスは、PSK#2を計算する。
【0300】
PSK#2=KDF(ID#1,ID#2,tempSK#2,tempPK#1)、ここで、KDF()は、計算が鍵導出関数に基づいて実行されることを示す。
【0301】
S615:第2のデバイスは、セッション鍵#2を計算する。
【0302】
SessionKey#2=KDF(PSK#2,random#1,random#2)、ここで、KDF()は、計算が鍵導出関数に基づいて実行されることを示す。
【0303】
S616:第1のデバイスは、デバイス証明書#2の有効性を検証する。
【0304】
第1のデバイスは、デバイス証明書#2の中のID#2に基づいて、ID#2が予め構成された第1のリストに格納されていると決定する。第1のリストがID#2を格納している場合、第1のデバイスは、第2のデバイスが認証される必要があるデバイスであると決定し、又は第1のリストがID#2を格納していない場合、第1のデバイスは、第2のデバイスが認証される必要がないデバイスであると決定し、更に、認証プロセスを終了する。
【0305】
第1のデバイスが、第2のデバイスが認証される必要があるデバイスであると決定するとき、第1のデバイスは、PK#1を用いて、デバイス証明書#2の中のルート署名を検証することを続ける。検証が成功する場合、検証プロセスは、実行を続け、又は検証が失敗する場合、検証プロセスは終了される。
【0306】
S617:第1のデバイスは、第2の署名値を検証する。
【0307】
第1のデバイスは、デバイス証明書#2に含まれるID#2と、認証応答情報に含まれるrandom#2及びtempPK#2とに基づいて、msg#2を構築してよい。更に、第1のデバイスは、デバイス証明書#2に含まれるPK#2を用いて、Sign#2の有効性を検証する。検証が成功した後、第1のデバイスは、後続の認証プロセスを実行する。検証が失敗する場合、検証は、失敗する。
【0308】
S618:第1のデバイスは、PSK#1を計算する。
【0309】
PSK#1=KDF(ID#1,ID#2,tempPK#2,tempSK#1)、ここで、KDF()は、計算が鍵導出関数に基づいて実行されることを示す。
【0310】
PSK#1及びPSK#2はそれぞれ、第1のデバイス及び第2のデバイスにより生成されたPSKを表すために用いられるが、本願の本実施形態において、これは単に区別のためであり、PSK#1及びPSK#2は、均等であるとみなされるべきであることを理解され得る。
【0311】
S619:第1のデバイスは、セッション鍵#1を計算する。
【0312】
SessionKey#1=KDF(PSK#1,random#1,random#2)、ここで、KDF()は、計算が鍵導出関数に基づいて実行されることを示す。
【0313】
本願の本実施形態において、SessionKey#1及びSessionKey#2はそれぞれ、第1のデバイス及び第2のデバイスにより生成されたSessionKeyを表すために用いられるが、これは、単に区別のためであり、SessionKey#1及びSessionKey#2は、均等であるとみなされるべきであることが理解され得る。
【0314】
S620:第1のデバイスは、決定された暗号アルゴリズムスイート及びパケット暗号化モードに基づいて、第2のデバイスと、通信パケットを伝送する。
【0315】
本願の本実施形態において、第1のデバイスにおいて予め構成されたリストは、ハンドシェイクソースの有効なデバイス識別子のリストを記録し、その結果、悪意あるデバイスが虚偽のソースを偽造することを防止して、サービス攻撃の拒否を開始することができ、従来技術におけるcookieフィールドの役割を果たす。換言すると、TLSプロトコル及びDTLSプロトコルにいてcookieフィールドを割り当てる元のプロセスは、省略され得、それにより、ハンドシェイクプロセスにおける1つのインタラクションプロセスを低減する。第2のデバイスは、予め構成された第2のリストに基づいて、無効なデバイスからのハンドシェイク要求を直接的に無視することができ、その結果、第2のデバイスは、有効なハンドシェイクのみを実行する。これは、第2のデバイスの処理負担を低減させ、攻撃者の攻撃難易度を増大することができる。
【0316】
本願の本実施形態において、暗号アルゴリズムスイートは、デバイスの識別子情報に対応し、その結果、第1のデバイス及び第2のデバイスは、格納されたマッピング関係に基づいて、通信プロセスにおいて用いられる暗号アルゴリズムスイートを決定することができ、それにより、元のTLSプロトコル及びDTLSプロトコルにおける暗号アルゴリズムスイートのネゴシエーションプロセスを省略する。したがって、第1のデバイス及び第2のデバイスとの間のハンドシェイクプロセスにおいて、サポートされた暗号アルゴリズムスイートのリストを転送する必要がない。これは、ハンドシェイクプロセスにおいて伝送されるデータの量を低減させ、伝送信頼性及び通信効率を向上させる。
【0317】
加えて、一時的公開‐秘密鍵ペアは、セッション鍵ネゴシエーションプロセスにおいて用いられ、これは、フォワードセキュリティ要件を満たし得る。
【0318】
図11は、本願の別の実施形態に係る方法700の概略フローチャートである。
図11に示されるように、方法700は、S701からS716を含んでよい。S702及びS703は、方法600におけるS603及びS604と同じであり、S706からS716は、方法600におけるS610からS620と同じである。簡潔にするために、本願の本実施形態においては詳細について改めて説明しない。以下では、残りの段階について詳細に説明する。
【0319】
S701:第1のデバイスは、ID#2に対応する暗号アルゴリズムスイート及びパケット暗号化モードを決定する。
【0320】
第1のデバイスは、第3のマッピング関係に基づいて、ID#2に対応する暗号アルゴリズムスイートを決定してよい。第1のデバイスは、第4のマッピング関係に基づいて、ID#2に対応するパケット暗号化モードを決定してよい。
【0321】
本願の本実施形態において、第1のデバイスは、第3のマッピング関係に基づいて、ID#2に対応する暗号アルゴリズムスイートを決定してよく、第1のデバイスは、デフォルトで、第2のデバイスが認証される必要があるデバイスであるとみなしてよい。
【0322】
S704:第1のデバイスは、第2のデバイスに、認証要求情報を送信する。
【0323】
認証要求情報は、ID#1、random#1、及びtempPK#1を含む。
【0324】
S705:第2のデバイスは、ID#1に対応する暗号アルゴリズムスイート及びパケット暗号化モードを決定する。
【0325】
第2のデバイスは、第1のマッピング関係に基づいて、ID#1に対応する暗号アルゴリズムスイートを決定してよい。第1のデバイスは、第2のマッピング関係に基づいて、ID#1に対応するパケット暗号化モードを決定してよい。
【0326】
同様に、本願の本実施形態において、第2のデバイスは、第1のマッピング関係に基づいて、ID#1に対応する暗号アルゴリズムスイートを決定してよく、第2のデバイスは、デフォルトで、第1のデバイスが認証される必要があるデバイスであるとみなしてよい。
【0327】
本願の本実施形態は、第2のデバイスに対して、第1のデバイスにより実行される一方向アイデンティティ有効性認証のみを実行する。これは、動作段階及びハンドシェイクプロセスにおいて交換されるデータの量を更に低減させる。第2のデバイスは、第1のデバイスのアイデンティティの有効性を認証しないが、第1のマッピング関係に基づいて、暗号アルゴリズムスイートを決定するプロセスにおいて、第2のデバイスは、第1のデバイスが認証される必要があるデバイスであるかどうかを決定することができる。これは、攻撃者による悪意あるハンドシェイク要求を送信する難易度を増大させ、現在の一方向認証ハンドシェイクプロセスと比較して、セキュリティを向上させる。
【0328】
本願の本実施形態において、暗号アルゴリズムスイートは、デバイスの識別子情報に対応し、その結果、第1のデバイス及び第2のデバイスは、格納されたマッピング関係に基づいて、通信プロセスにおいて用いられる暗号アルゴリズムスイートを決定することができ、それにより、元のTLSプロトコル及びDTLSプロトコルにおける暗号アルゴリズムスイートのネゴシエーションプロセスを省略する。第1のデバイス及び第2のデバイスとの間のハンドシェイクプロセスにおいて、サポートされた暗号アルゴリズムスイートのリストを転送する必要がない。これは、ハンドシェイクプロセスにおいて伝送されるデータの量を低減させ、伝送信頼性及び通信効率を向上させる。
【0329】
加えて、一時的公開‐秘密鍵ペアは、セッション鍵ネゴシエーションプロセスにおいて用いられ、これは、フォワードセキュリティ要件を満たし得る。
【0330】
図12は、本願の別の実施形態に係る方法800の概略フローチャートである。
図12に示されるように、方法800は、S801からS817を含んでよい。S802及びS803は、方法600におけるS603及びS604と同じであり、S808及びS809は、方法600におけるS610及びS611と同じであり、S812及びS813は、方法600におけるS614及びS615と同じであり、S815からS817は、方法600におけるS618からS620と同じである。簡潔にするために、詳細は本願の本実施形態において説明されていない。以下では、残りの段階について詳細に説明する。
【0331】
S801:第1のデバイスは、ID#2に対応する暗号アルゴリズムスイート、パケット暗号化モード、及びPSKを決定する。
【0332】
第1のデバイスは、第3のマッピング関係に基づいて、ID#2に対応する暗号アルゴリズムスイートを決定してよい。第1のデバイスは、第4のマッピング関係に基づいて、ID#2に対応するパケット暗号化モードを決定してよい。第1のデバイスは、予め構成された第1のPSKリストに基づいて、ID#2に対応するPSKを決定してよい。
【0333】
S804:第1のデバイスは、第1の暗号を計算する。
【0334】
第1のデバイスは、msg#1を構築し、msg#1の内容は、{ID#1||random#1}である。更に、第1のデバイスは、PSKを鍵として用いて、且つ、暗号アルゴリズムスイートの中の対称暗号化アルゴリズムに基づいて、msg#1を暗号化して、cipher#1を生成する。cipher#1=EncPSK(ID#1||random#1)、ここで、「||」は、接続を示し、EncPSK()は、暗号化がPSKを鍵として用いて、且つ、対称暗号化アルゴリズムに基づいて、実行されることを示す。
【0335】
S805:第1のデバイスは、第2のデバイスに、認証要求情報を送信する。
【0336】
認証要求情報は、ID#1、cipher#1、及びtempPK#1を含む。
【0337】
S806:第2のデバイスは、ID#1に対応暗号アルゴリズムスイート、パケット暗号化モード、及びPSKを決定する。
【0338】
第2のデバイスは、第1のマッピング関係に基づいて、ID#1に対応する暗号アルゴリズムスイートを決定してよい。第2のデバイスは、第2のマッピング関係に基づいて、ID#1に対応するパケット暗号化モードを決定してよい。第2のデバイスは、予め構成された第2のPSKリストに基づいて、ID#1に対応するPSKを決定してよい。
【0339】
S807:第2のデバイスは、第1の暗号を解読する。
【0340】
暗号アルゴリズムスイートを決定した後、第2のデバイスは、決定されたPSKを鍵として用いて、且つ、暗号アルゴリズムスイートの中の対称暗号化アルゴリズムに基づいて、cipher#1を解読して、ID#1を取得する。更に、第2のデバイスは、cipher#1を解読することにより取得されたID#1が、認証要求情報の中のID#1と一致するかどうかを決定する。ID#1がID#1と一致しない場合、認証は、失敗する。ID#1がID#1と一致する場合、後続の認証プロセスが続く。
【0341】
S810:第2のデバイスは、第2の暗号を計算する。
【0342】
第2のデバイスは、msg#2を構築し、msg#2の内容は、{ID#2||random#2}である。更に、第2のデバイスは、PSKを鍵として用いて、且つ、暗号アルゴリズムスイートの中の対称暗号化アルゴリズムに基づいて、msg#2を暗号化して、cipher#2を生成する。cipher#2=EncPSK(ID#2||random#2)、ここで、「||」は、接続を示し、EncPSK()は、暗号化がPSKを鍵として用いて、且つ、対称暗号化アルゴリズムに基づいて、実行されることを示す。
【0343】
S811:第2のデバイスは、第1のデバイスに、認証応答情報を送信する。
【0344】
認証応答情報は、ID#2、tempPK#2、及びcipher#2を含む。
【0345】
S814:第1のデバイスは、第2の暗号を解読する。
【0346】
第1のデバイスは、決定されたPSKを鍵として用いて、且つ、暗号アルゴリズムスイートの中の対称暗号化アルゴリズムに基づいて、cipher#2を解読して、ID#2を取得する。更に、第2のデバイスは、cipher#2を解読することにより取得されたID#2が、認証応答情報の中のID#2と一致するかどうかを決定する。ID#2がID#2と一致しない場合、認証は、失敗する。ID#2がID#2と一致する場合、後続の認証プロセスが続く。
【0347】
本願の本実施形態において、暗号アルゴリズムスイートは、デバイスの識別子情報に対応し、その結果、第1のデバイス及び第2のデバイスは、格納されたマッピング関係に基づいて、通信プロセスにおいて用いられる暗号アルゴリズムスイートを決定することができ、それにより、元のTLSプロトコル及びDTLSプロトコルにおける暗号アルゴリズムスイートのネゴシエーションプロセスを省略する。第1のデバイス及び第2のデバイスとの間のハンドシェイクプロセスにおいて、サポートされた暗号アルゴリズムスイートのリストを転送する必要がない。これは、ハンドシェイクプロセスにおいて伝送されるデータの量を低減させ、伝送信頼性及び通信効率を向上させる。
【0348】
暗号アルゴリズムスイートが決定された後、暗号は、予め格納されたPSKを用いて生成されて、デバイス証明書に取って代わることができる。暗号の長さは、デバイス証明書の長さよりはるかに短い。これは、ハンドシェイクインタラクションプロセスにおいて交換されるデータの量を大幅に低減させ、ハンドシェイク効率及び信頼性を向上させる。
【0349】
加えて、暗号がデバイス証明書に取って代わるために用いられた後に、デバイスは、デバイス証明書におけるルート署名に対して署名検証を実行する必要がない。代わりに、デバイスは、暗号に対して対称暗号化及び解読動作を実行する。対称暗号化及び解読動作のスピードは、署名検証のスピードよりはるかに高く、これは、ハンドシェイク効率を向上させることができる。
【0350】
加えて、一時的公開‐秘密鍵ペアは、セッション鍵ネゴシエーションプロセスにおいて用いられ、これは、フォワードセキュリティ要件を満たし得る。
【0351】
本願の実施形態において提供される通信方法は、
図5から
図12を参照して、詳細に上で説明されている。本願の実施形態において提供される装置は、
図13及び
図14を参照して、以下に詳細に説明されている。
【0352】
図13は、本願の一実施形態に係る通信装置1000の概略ブロック図である。図に示されるように、通信装置1000は、送受信機ユニット1010及び処理ユニット1020を含んでよい。
【0353】
可能な設計において、通信装置1000は、前述の方法の実施形態における第1のデバイスに対応してよい。
【0354】
通信装置1000は、
図5から
図7における方法500、
図10における方法600、
図11における方法700、及び
図12における方法800において第1のデバイスにより実行される方法を実行するように構成されたユニットを含んでよいことを理解されたい。加えて、通信装置1000の中のユニット、及び前述の他の動作及び/又は機能は、
図5から
図7における方法500、
図10における方法600、
図11における方法700、及び
図12における方法800において第1のデバイスにより実行される対応する手順を実装するために別個に用いられる。ユニットが前述の対応する段階を実行する特定のプロセスは、前述の方法の実施形態において詳細に説明されていることを理解されたい。簡潔にするために、本明細書においては、詳細について改めて説明しない。
【0355】
別の可能な設計において、通信装置1000は、前述の方法の実施形態における第2のデバイスに対応してよい。
【0356】
通信装置1000は、
図5から
図7における方法500、
図10における方法600、
図11における方法700、及び
図12における方法800において第2のデバイスにより実行される方法を実行するように構成されたユニットを含んでよいことを理解されたい。加えて、通信装置1000の中のユニット、及び前述の他の動作及び/又は機能は、
図5から
図7における方法500、
図10における方法600、
図11における方法700、及び
図12における方法800において第2のデバイスにより実行される対応する手順を実装するために別個に用いられる。ユニットが前述の対応する段階を実行する特定のプロセスは、前述の方法の実施形態において詳細に説明されていることを理解されたい。簡潔にするために、本明細書においては、詳細について改めて説明しない。
【0357】
通信装置1000の中の送受信機ユニット1010は、
図14に示される通信装置2000の中の送受信機2010に対応してよく、通信装置1000の中の処理ユニット1020は、
図14に示される通信装置2000の中のプロセッサ2020に対応してよいことを理解されたい。
【0358】
図14は、本願の一実施形態に係る通信装置2000の概略ブロック図である。図に示されるように、通信装置2000は、プロセッサ2020を含んでよく、送受信機2010及びメモリ2030を更に含んでよい。プロセッサ2020は、メモリ2030に連結され、メモリに格納された命令を実行して、送受信機2010を制御して、信号を送信及び/又は信号を受信するように構成されている。
【0359】
プロセッサ2020及びメモリ2030は、1つの処理装置へと統合されてよいことを理解されたい。プロセッサ2020は、前述の機能を実行するために、メモリ2030に格納されたプログラムコードを実装するよう構成されている。特定の実装中、メモリ2030は代替的に、プロセッサ2020へと統合されてもよく、又はプロセッサ2020から独立してもよい。
【0360】
可能な設計において、通信装置2000は、前述の方法の実施形態における第1のデバイスに対応してよい。
【0361】
具体的に、通信装置2000は、
図5から
図7における方法500、
図10における方法600、
図11における方法700、及び
図12における方法800において第1のデバイスにより実行される方法を実行するように構成されたユニットを含んでよい。加えて、通信装置2000の中のユニット、及び前述の他の動作及び/又は機能は、
図5から
図7における方法500、
図10における方法600、
図11における方法700、及び
図12における方法800において第1のデバイスにより実行される対応する手順を実装するために別個に用いられる。ユニットが前述の対応する段階を実行する特定のプロセスは、前述の方法の実施形態において詳細に説明されていることを理解されたい。簡潔にするために、本明細書においては、詳細について改めて説明しない。
【0362】
別の可能な設計において、通信装置2000は、前述の方法の実施形態における第2のデバイスに対応してよい。
【0363】
具体的に、通信装置2000は、
図5から
図7における方法500、
図10における方法600、
図11における方法700、及び
図12における方法800において第2のデバイスにより実行される方法を実行するように構成されたユニットを含んでよい。加えて、通信装置2000の中のユニット、及び前述の他の動作及び/又は機能は、
図5から
図7における方法500、
図10における方法600、
図11における方法700、及び
図12における方法800において第2のデバイスにより実行される対応する手順を実装するために別個に用いられる。ユニットが前述の対応する段階を実行する特定のプロセスは、前述の方法の実施形態において詳細に説明されていることを理解されたい。簡潔にするために、本明細書においては、詳細について改めて説明しない。
【0364】
本願の実施形態において提供される方法によれば、本願は、コンピュータプログラム製品を更に提供する。コンピュータプログラム製品は、コンピュータプログラムコードを含む。コンピュータプログラムコードがコンピュータ上で実行された場合に、コンピュータは、
図5から
図7及び
図10から
図12に示される実施形態のいずれか1つにおける方法を実行することが可能である。
【0365】
本願の実施形態において提供される方法によれば、本願は、コンピュータ可読記憶媒体を更に提供する。コンピュータ可読記憶媒体は、プログラムコードを格納する。プログラムコードがコンピュータ上で実行された場合に、コンピュータは、
図5から
図7及び
図10から
図12に示される実施形態のいずれか1つにおける方法を実行することが可能である。
【0366】
本願の実施形態において提供される方法によれば、本願は、システムを更に提供する。システムは、前述の第1のデバイス及び第2のデバイスを含む。
【0367】
前述の実施形態の全て又はいくつかは、ソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組み合わせを用いることによって実装されてもよい。ソフトウェアが実施形態を実装するために用いられたとき、実施形態の全て又は一部は、コンピュータプログラム製品の形態において実装されてよい。コンピュータプログラム製品は1つ又は複数のコンピュータ命令を含む。コンピュータ命令がコンピュータ上でロードされ、実行されるとき、本願の実施形態における手順又は機能の全て又は一部は、生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、又は他のプログラマブル装置であってよい。コンピュータ命令は、コンピュータ可読記憶媒体に格納され得る、又はコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に伝送され得る。例えば、コンピュータ命令は、ウェブサイト、コンピュータ、サーバ又はデータセンタから、別のウェブサイト、コンピュータ、サーバ又はデータセンタに有線(例えば、同軸ケーブル、光ファイバ、又はデジタル加入線(digital subscriber line、DSL))、又は無線(例えば、赤外線、ラジオ、又はマイクロ波)方式で伝送されてよい。コンピュータ可読記憶媒体は、コンピュータによりアクセス可能な任意の使用可能な媒体、又は1つ又は複数の使用可能な媒体を統合する、サーバ又はデータセンタ等のデータ記憶デバイスであってよい。使用可能な媒体は、磁気媒体(例えば、フロッピディスク、ハードディスク、又は磁気テープ)、光学媒体(例えば、高密度デジタルビデオディスク(digital video disc、DVD))、又は半導体媒体(例えば、ソリッドステートドライブ(solid state disk、SSD))等であってよい。
【0368】
前述の装置の実施形態におけるネットワークエレメントは、方法の実施形態におけるネットワークエレメントに完全に対応してよい。対応するユニットは、対応する段階を実行する。例えば、送受信機ユニット(送受信機)は、方法の実施形態における受信段階又は送信段階を実行し、処理ユニット(プロセッサ)は、送信段階及び受信段階以外の別の段階を実行してよい。具体的なユニットの機能については、対応する方法の実施形態を参照されたい。1つ又は複数のプロセッサが存在してよい。
【0369】
明細書全体において言及される「一実施形態」又は「実施形態」は、実施形態に関連した特定の特徴、構造、若しくは特性が本願の少なくとも1つの実施形態に含まれることを意図するものではないことを理解されたい。したがって、明細書に現れる「一実施形態において」又は「実施形態において」は、同じ実施形態を参照しない。加えて、これらの特定の特徴、構造又は特性は、任意の適切な態様で、1つ又は複数の実施形態に組み合わされてもよい。
前述のプロセスのシーケンス番号は、本願の様々な実施形態における実行シーケンスを意味するものではないことを理解されたい。プロセスの実行シーケンスは、プロセスの機能及び内部論理に基づいて、決定されるべきであり、本願の実施形態の実装プロセスに対するいかなる限定として解釈されるべきでない。
【0370】
本明細書において用いられる「ユニット」及び「システム」等の用語は、コンピュータ関連エンティティ、ハードウェア、ファームウェア、ハードウェアとソフトウェアとの組み合わせ、ソフトウェア、又は実行されるソフトウェアを示すために用いられる。例えば、コンポーネントは、プロセッサ上で実行されるプロセス、プロセッサ、オブジェクト、実行可能なファイル、実行スレッド、プログラム、及び/又はコンピュータであってよいが、それらに限定されるものではない。図を用いて示すように、コンピューティングデバイス及びコンピューティングデバイス上で実行されるアプリケーションの両方がコンポーネントであってよい。1つ又は複数のコンポーネントは、プロセス及び/又は実行スレッド内に存在してよく、コンポーネントは、1つのコンピュータ上に位置してよく、及び/又は、2つ又はそれより多くのコンピュータ間で分散されてよい。加えて、これらのコンポーネントは、様々なデータ構造を格納する様々なコンピュータ可読媒体から実行されてよい。例えば、コンポーネントは、ローカル及び/又はリモートプロセスを用いて、且つ、例えば、1つ又は複数のデータパケット(例えば、ローカルシステム、分散システムにおいて、及び/又は信号を用いて他のシステムとインタラクトするインターネット等のネットワークを通じて別のコンポーネントとインタラクトする2つのコンポーネントからのデータ)を有する信号に従って、通信を実行してよい。
【0371】
当業者は、本明細書において開示された実施形態において説明した例との組み合わせで、方法のユニット及び段階が電子的ハードウェア又はコンピュータソフトウェア及び電子的ハードウェアの組み合わせにより実装されてよいことが認識され得る。これらの機能がハードウェア又はソフトウェアのどちらで実行されるかどうかは、技術的解決手段の具体的な用途及び設計制約に依存する。当業者は、異なる方法を用いて、説明された機能を具体的な用途毎に実装してよいが、このような実装が本願の範囲を超えるとみなされるべきではない。
【0372】
当業者であれば、簡便及び簡潔な説明の目的のために、前述のシステム、装置、及びユニットの詳細な動作プロセスについては、前述の方法の実施形態における対応するプロセスを参照することを明確に理解し得る。本明細書においては、詳細について改めて説明しない。
【0373】
本願に提供されたいくつかの実施形態において、開示されたシステム、装置及び方法は他の方式で実装され得ることを理解されたい。例えば、説明された装置の実施形態は、単なる一例である。例えば、ユニットへの分割は単なる論理的な機能分割に過ぎず、実際の実装では他の分割であってもよい。例えば、複数のユニット若しくはコンポーネントは、組み合わされてもよいし、又は別のシステムに統合されてもよいし、又はいくつかの特徴は、無視されてもよいし、若しくは実行されなくてもよい。加えて、表示又は論じられた相互連結又は直接連結又は通信接続は、いくつかのインタフェースを通して実装され得る。装置又はユニット間の間接連結又は通信接続が、電気的な形態、機械的な形態、又は別の形態で実装され得る。
【0374】
別個の部分として説明した前述のユニットは、物理的に離れていてもいなくてもよく、ユニットとして表示した部分が物理的ユニットであってもなくてもよく、1つの位置に配置されてもよく、複数のネットワークユニット上で分散されてもよい。これらのユニットの一部又は全ては、実際の要件に従って選択され、実施形態の解決手段の目的を実現してよい。
【0375】
加えて、本願の実施形態の各機能ユニットは、1つの処理ユニットへと統合されてもよく、又はユニットの各々が物理的に単独で存在してもよく、又は2つ若しくはそれより多くのユニットが1つのユニットへと統合されてもよい。
【0376】
これらの機能がソフトウェア機能ユニットの形態で実装され、且つ、独立した製品として販売又は用いられる場合は、当該機能がコンピュータ可読記憶媒体に格納されてよい。この理解に基づいて、本願の技術的解決手段は基本的に、又は先従来技術に寄与する部分、又は技術的解決手段の一部は、ソフトウェア製品の形態で実装されてよい。コンピュータソフトウェア製品は記憶媒体に格納され、本願の実施形態で説明した方法の段階の全て又は一部を実行するようコンピュータデバイス(例えば、パーソナルコンピュータ、サーバ、又はネットワークデバイスでよい)に命令するためのいくつかの命令を含む。前述の記憶媒体は、USBフラッシュドライブ、取り外し可能ハードディスクドライブ、リードオンリメモリ(read‐only memory、ROM)、ランダムアクセスメモリ(random access memory、RAM)、磁気ディスク、又は光ディスク等の、プログラムコードを格納できる任意の媒体を含む。
【0377】
前述の説明は、本願の単なる特定の実装例に過ぎず、本願の保護範囲を限定することを意図するものではない。本願において開示した技術的範囲内で当業者が容易に考え出す変形又は置換はいずれも、本願の保護範囲に含まれるものとする。したがって、本願の保護範囲は特許請求の範囲の保護範囲に従うものとする。
[他の可能な項目]
[項目1]
通信方法であって、
第2のデバイスが、第1のデバイスからの認証要求情報を受信する段階であって、前記認証要求情報は、前記第1のデバイスの識別子情報を含む、受信する段階と、
前記第2のデバイスが、第1のマッピング関係に基づいて、前記第1のデバイスの前記識別子情報に対応する暗号アルゴリズムスイートを決定する段階であって、前記第1のマッピング関係は、少なくとも1つのデバイスの識別子情報と少なくとも1つの暗号アルゴリズムスイートとの間の対応関係を示すために用いられる、決定する段階と、
前記第2のデバイスが、前記暗号アルゴリズムスイートに基づいて、認証応答情報を生成する段階と、
前記第2のデバイスが、前記第1のデバイスに、前記認証応答情報を送信する段階と
を備える、通信方法。
[項目2]
前記第2のデバイスが、前記第1のデバイスに、前記認証応答情報を送信する前記段階の前に、前記方法は、
前記第2のデバイスが、予め構成された第2のリストが前記第1のデバイスの前記識別子情報を含むと決定する段階であって、前記第2のリストは、認証される必要があるデバイスの識別子情報を含む、決定する段階
を更に備える、項目1に記載の方法。
[項目3]
前記認証要求情報は、前記第1のデバイスの第1のデバイス証明書及び/又は前記第1のデバイスにより用いられる第1の署名値を更に含み、及び/又は
前記認証応答情報は、前記第2のデバイスの第2のデバイス証明書及び/又は前記第2のデバイスにより用いられる第2の署名値を更に含む、項目1又は2に記載の方法。
[項目4]
前記認証要求情報は、前記第1のデバイスにより用いられる第1の乱数及び/又は前記第1のデバイスにより用いられる第1の一時的公開鍵を更に含み、
前記認証応答情報は、前記第2のデバイスにより用いられる第2の乱数及び/又は前記第2のデバイスにより用いられる第2の一時的公開鍵を更に含む、項目1から3のいずれか一項に記載の方法。
[項目5]
前記認証要求情報は、第1の暗号を更に含み、及び/又は
前記認証応答情報は、第2の暗号を更に含み、前記第2の暗号は、予め格納され予め共有された鍵及び前記暗号アルゴリズムスイートに基づいて、前記第2のデバイスにより生成される、項目1又は2に記載の方法。
[項目6]
前記認証要求情報は、前記第1のデバイスにより用いられる第1の一時的公開鍵を更に含み、
前記認証応答情報は、前記第2のデバイスにより用いられる第2の一時的公開鍵及び前記第2のデバイスの識別子情報を更に含む、項目5に記載の方法。
[項目7]
前記少なくとも1つの暗号アルゴリズムスイートのそれぞれは、フォワードセキュリティ要件を満たす、項目1から6のいずれか一項に記載の方法。
[項目8]
前記方法は、
前記第2のデバイスが、前記第1のデバイスとの通信に用いられるパケット暗号化モードを決定する段階であって、前記パケット暗号化モードは、完全暗号化モード及びオンデマンド暗号化モードのうち1つを含む、決定する段階
を更に備える、項目1から7のいずれか一項に記載の方法。
[項目9]
前記第2のデバイスが、前記第1のデバイスとの通信に用いられるパケット暗号化モードを決定する前記段階は、
前記第2のデバイスが、第2のマッピング関係に基づいて、前記第1のデバイスの前記識別子情報に対応する前記パケット暗号化モードを決定する段階であって、前記第2のマッピング関係は、少なくとも1つのデバイスの識別子情報と少なくとも1つのパケット暗号化モードとの間の対応関係を示すために用いられる、決定する段階
を有する、項目8に記載の方法。
[項目10]
前記パケット暗号化モードが前記オンデマンド暗号化モードであるとき、前記方法は、
前記第2のデバイスが、通信パケットを生成する段階であって、前記通信パケットは、以下のフィールド:平文識別子、平文データ、暗号文識別子、及び暗号文データを含む、生成する段階
を更に備える、項目8又は9に記載の方法。
[項目11]
前記平文データは、前記暗号文データのストリーム暗号化鍵生成シードを含む、項目10に記載の方法。
[項目12]
通信方法であって、
第1のデバイスが、第3のマッピング関係に基づいて、第2のデバイスの識別子情報に対応する暗号アルゴリズムスイートを決定する段階であって、前記第3のマッピング関係は、少なくとも1つのデバイスの識別子情報と少なくとも1つの暗号アルゴリズムスイートとの間の対応関係を示すために用いられる、決定する段階と、
前記第1のデバイスが、前記暗号アルゴリズムスイートに基づいて、認証要求情報を生成する段階であって、前記認証要求情報は、前記第1のデバイスの識別子情報を含む、生成する段階と、
前記第1のデバイスが、前記第2のデバイスに、前記認証要求情報を送信する段階と、
前記第1のデバイスが、前記第2のデバイスからの認証応答情報を受信する段階と
を備える、通信方法。
[項目13]
前記第1のデバイスが、前記第2のデバイスに、前記認証要求情報を送信する段階の前に、前記方法は、
前記第1のデバイスが、予め構成された第1のリストが前記第2のデバイスの前記識別子情報を含むと決定する段階であって、前記第1のリストは、認証される必要があるデバイスの識別子情報を含む、決定する段階
を更に備える、項目12に記載の方法。
[項目14]
前記認証要求情報は、前記第1のデバイスのデバイス証明書及び/又は前記第1のデバイスにより用いられる第1の署名値を更に含み、及び/又は
前記認証応答情報は、前記第2のデバイスの第2のデバイス証明書及び/又は前記第2のデバイスにより用いられる第2の署名値を更に含む、項目12又は13に記載の方法。
[項目15]
前記認証要求情報は、第1の暗号を更に含み、前記第1の暗号は、予め格納され予め共有された鍵及び前記暗号アルゴリズムスイートに基づいて、前記第1のデバイスにより生成され、及び/又は
前記認証応答情報は、第2の暗号を更に含む、項目12又は13に記載の方法。
[項目16]
前記認証要求情報は、前記第1のデバイスにより用いられる第1の一時的公開鍵を更に含み、
前記認証応答情報は、前記第2のデバイスにより用いられる第2の一時的公開鍵及び前記第2のデバイスの前記識別子情報を更に含む、項目15に記載の方法。
[項目17]
前記認証要求情報は、前記第1のデバイスにより用いられる第1の乱数及び/又は前記第1のデバイスにより用いられる第1の一時的公開鍵を更に含み、
前記認証応答情報は、前記第2のデバイスにより用いられる第2の乱数及び/又は前記第2のデバイスにより用いられる第2の一時的公開鍵を更に含む、項目12から14のいずれか一項に記載の方法。
[項目18]
前記少なくとも1つの暗号アルゴリズムスイートのそれぞれは、フォワードセキュリティ要件を満たす、項目12から17のいずれか一項に記載の方法。
[項目19]
前記方法は、
前記第1のデバイスが、前記第2のデバイスとの通信に用いられるパケット暗号化モードを決定する段階であって、前記パケット暗号化モードは、完全暗号化モード及びオンデマンド暗号化モードのうち1つを含む、決定する段階
を更に備える、項目12から18のいずれか一項に記載の方法。
[項目20]
前記第1のデバイスが、前記第2のデバイスとの通信に用いられるパケット暗号化モードを決定する前記段階は、
前記第1のデバイスが、第4のマッピング関係に基づいて、前記第2のデバイスの前記識別子情報に対応する前記パケット暗号化モードを決定する段階であって、前記第4のマッピング関係は、少なくとも1つのデバイスの識別子情報と少なくとも1つのパケット暗号化モードとの間の対応関係を示すために用いられる、決定する段階
を有する、項目19に記載の方法。
[項目21]
前記パケット暗号化モードが前記オンデマンド暗号化モードであるとき、前記方法は、
前記第1のデバイスが、通信パケットを生成する段階であって、前記通信パケットは、以下のフィールド:平文識別子、平文データ、暗号文識別子、及び暗号文データを含む、生成する段階
を更に備える、項目19又は20に記載の方法。
[項目22]
前記平文データは、前記暗号文データのストリーム暗号化鍵生成シードを含む、項目21に記載の方法。
[項目23]
項目1から11のいずれか一項に記載の方法を実装するように構成されたユニットを備える通信装置。
[項目24]
項目12から22のいずれか一項に記載の方法を実装するように構成されたユニットを備える通信装置。
[項目25]
通信装置であって、
メモリに格納されたコンピュータ命令を実行するように構成されたプロセッサであって、前記通信装置が項目1から11のいずれか一項に記載の方法を実行することを可能にするプロセッサ
を備える、通信装置。
[項目26]
通信装置であって、
メモリに格納されたコンピュータ命令を実行するように構成されたプロセッサであって、前記通信装置が項目12から22のいずれか一項に記載の方法を実行することを可能にするプロセッサ
を備える、通信装置。
[項目27]
コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体は、コンピュータプログラムを格納し、前記コンピュータプログラムが実行された場合に、項目1から11のいずれか一項に記載の方法が実行される、コンピュータ可読記憶媒体。
[項目28]
コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体は、コンピュータプログラムを格納し、前記コンピュータプログラムが実行された場合に、項目12から22のいずれか一項に記載の方法が実行される、コンピュータ可読記憶媒体。