IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 華為技術有限公司の特許一覧

特許7534445鍵ネゴシエーション方法、装置、およびシステム
<>
  • 特許-鍵ネゴシエーション方法、装置、およびシステム 図1
  • 特許-鍵ネゴシエーション方法、装置、およびシステム 図2
  • 特許-鍵ネゴシエーション方法、装置、およびシステム 図3
  • 特許-鍵ネゴシエーション方法、装置、およびシステム 図4
  • 特許-鍵ネゴシエーション方法、装置、およびシステム 図5
  • 特許-鍵ネゴシエーション方法、装置、およびシステム 図6
  • 特許-鍵ネゴシエーション方法、装置、およびシステム 図7
  • 特許-鍵ネゴシエーション方法、装置、およびシステム 図8
  • 特許-鍵ネゴシエーション方法、装置、およびシステム 図9
  • 特許-鍵ネゴシエーション方法、装置、およびシステム 図10
  • 特許-鍵ネゴシエーション方法、装置、およびシステム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-05
(45)【発行日】2024-08-14
(54)【発明の名称】鍵ネゴシエーション方法、装置、およびシステム
(51)【国際特許分類】
   H04L 9/08 20060101AFI20240806BHJP
【FI】
H04L9/08 C
【請求項の数】 27
(21)【出願番号】P 2022573316
(86)(22)【出願日】2020-05-29
(65)【公表番号】
(43)【公表日】2023-06-27
(86)【国際出願番号】 CN2020093490
(87)【国際公開番号】W WO2021237724
(87)【国際公開日】2021-12-02
【審査請求日】2023-01-19
(73)【特許権者】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
【住所又は居所原語表記】Huawei Administration Building, Bantian, Longgang District, Shenzhen, Guangdong 518129, P.R. China
(74)【代理人】
【識別番号】100132481
【弁理士】
【氏名又は名称】赤澤 克豪
(74)【代理人】
【識別番号】100115635
【弁理士】
【氏名又は名称】窪田 郁大
(72)【発明者】
【氏名】王 勇
(72)【発明者】
【氏名】▲陳▼ ▲ジン▼
【審査官】中里 裕正
(56)【参考文献】
【文献】特開昭61-163746(JP,A)
【文献】RESCORLA, E.,The Transport Layer Security (TLS) Protocol Version 1.3,IETF Request for Comments: 8446,, [online],2018年08月,pp.1-160,<URL:https://datatracker.ietf.org/doc/html/rfc8446>, [2024年2月22日検索]
【文献】KRAWCZYK, H. and WEE, H.,The OPTLS Protocol and TLS 1.3,2016 IEEE European Symposium on Security and Privacy,2016年03月,pp.81-96
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/08
JSTPlus/JMEDPlus/JST7580(JDreamIII)
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
鍵ネゴシエーション方法であって、前記方法は、
送信側デバイスによって、第1の情報を送信するステップであって、前記第1の情報は、N個の鍵ネゴシエーションアルゴリズムを示すために使用され、Nは、1以上の整数であり、前記N個の鍵ネゴシエーションアルゴリズムは、前記送信側デバイスによってサポートされるアルゴリズムである、ステップと、
前記送信側デバイスによって、受信側デバイスから第2の情報を受信するステップであって、前記第2の情報は、ターゲット鍵ネゴシエーションアルゴリズムを示すために使用され、第1の鍵ネゴシエーションパラメータを含み、前記ターゲット鍵ネゴシエーションアルゴリズムは、前記受信側デバイスによってサポートされる、前記N個の鍵ネゴシエーションアルゴリズムのうちの鍵ネゴシエーションアルゴリズムであり、前記第1の鍵ネゴシエーションパラメータは、前記受信側デバイスに対応し、かつ、前記ターゲット鍵ネゴシエーションアルゴリズムに基づいて取得される鍵ネゴシエーションパラメータである、ステップと、
前記送信側デバイスによって、前記ターゲット鍵ネゴシエーションアルゴリズムおよび前記第1の鍵ネゴシエーションパラメータに基づいて、ターゲット鍵を生成するステップと
前記送信側デバイスによって、前記受信側デバイスへ第3の情報を送信するステップであって、前記第3の情報は、第2の鍵ネゴシエーションパラメータを含み、前記第2の鍵ネゴシエーションパラメータは、前記送信側デバイスに対応し、かつ、前記ターゲット鍵ネゴシエーションアルゴリズムに基づいて取得される鍵ネゴシエーションパラメータである、ステップと
を含む、鍵ネゴシエーション方法。
【請求項2】
前記送信側デバイスによって、前記受信側デバイスへ第3の情報を送信する前記ステップは、
前記送信側デバイスによって、完全性保護アルゴリズムを使用することによって処理されている前記第3の情報を前記受信側デバイスへ送信するステップ
を含む請求項に記載の方法。
【請求項3】
前記第1の情報は、前記N個の鍵ネゴシエーションアルゴリズムの優先度情報を示すためにさらに使用され、
前記第1の情報は、前記N個の鍵ネゴシエーションアルゴリズムの識別情報を含み、前記識別情報は、前記N個の鍵ネゴシエーションアルゴリズムの前記優先度情報に基づいて、配置され、またはカプセル化される請求項1または2に記載の方法。
【請求項4】
前記ターゲット鍵ネゴシエーションアルゴリズムが、前記受信側デバイスによってサポートされる、前記N個の鍵ネゴシエーションアルゴリズムにおいて、鍵ネゴシエーションアルゴリズムにおいて最も高い優先度を有する鍵ネゴシエーションアルゴリズムであり、
前記ターゲット鍵ネゴシエーションアルゴリズムおよび前記第1の鍵ネゴシエーションパラメータに基づいて、前記ターゲット鍵を生成するステップ
を含む請求項1乃至のいずれか一項に記載の方法。
【請求項5】
前記方法は、
前記送信側デバイスによって、前記受信側デバイスから第4の情報を受信し、検証することを試みるステップ
をさらに含請求項乃至のいずれか一項に記載の方法。
【請求項6】
前記方法は、
前記送信側デバイスによって、前記受信側デバイスによって送信された第4の情報を受信し、検証することを試みるステップ
さらに含み、
前記第4の情報は、第3の認証データを含み、前記第3の認証データは、認証処理が前記第3の情報と前記第1の情報において示される前記N個の鍵ネゴシエーションアルゴリズムとに対して行われた後に取得されるデータである請求項乃至のいずれか一項に記載の方法。
【請求項7】
前記第4の情報は、完全性保護アルゴリズムを使用することによって処理されている情報である請求項またはに記載の方法。
【請求項8】
前記認証処理は、予め設定された共有鍵に基づいて行われる認証処理をさらに含む請求項6に記載の方法。
【請求項9】
送信側デバイスによって、第1の情報を送信する前記ステップは、
前記送信側デバイスによって、ブロードキャスト手法で前記受信側デバイスへ前記第1の情報を送信するステップ
を含む請求項1乃至のいずれか一項に記載の方法。
【請求項10】
鍵ネゴシエーション方法であって、前記方法は、
受信側デバイスによって、送信側デバイスから第1の情報を受信するステップであって、前記第1の情報は、前記送信側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズムを示し、Nは、1以上の整数である、ステップと、
前記受信側デバイスによって、ターゲット鍵ネゴシエーションアルゴリズムを決定するステップであって、前記ターゲット鍵ネゴシエーションアルゴリズムは、前記受信側デバイスによってサポートされる、前記N個の鍵ネゴシエーションアルゴリズムのうちの鍵ネゴシエーションアルゴリズムである、ステップと、
前記受信側デバイスによって、前記ターゲット鍵ネゴシエーションアルゴリズムに基づいて、第1の鍵ネゴシエーションパラメータを生成するステップと、
前記受信側デバイスによって、前記送信側デバイスへ第2の情報を送信するステップであって、前記第2の情報は、前記ターゲット鍵ネゴシエーションアルゴリズムを示し、前記第1の鍵ネゴシエーションパラメータを含む、ステップと
前記受信側デバイスによって、前記送信側デバイスから第3の情報を受信するステップであって、前記第3の情報は、第2の鍵ネゴシエーションパラメータを示し、前記第2の鍵ネゴシエーションパラメータは、前記送信側デバイスに対応し、かつ、前記ターゲット鍵ネゴシエーションアルゴリズムに基づいて取得される鍵ネゴシエーションパラメータである、ステップと、
前記受信側デバイスによって、前記第2の鍵ネゴシエーションパラメータおよび前記ターゲット鍵ネゴシエーションアルゴリズムに基づいて、ターゲット鍵を生成するステップと
を含む、鍵ネゴシエーション方法。
【請求項11】
前記第3の情報は、完全性保護アルゴリズムを使用することによって処理されている請求項10に記載の方法。
【請求項12】
前記第1の情報は、前記N個の鍵ネゴシエーションアルゴリズムの優先度情報を示すためにさらに使用され、前記第1の情報は、前記N個の鍵ネゴシエーションアルゴリズムの識別情報を含み、前記識別情報は、前記N個の鍵ネゴシエーションアルゴリズムの前記優先度情報に基づいて、配置され、またはカプセル化される請求項10または11に記載の方法。
【請求項13】
前記受信側デバイスによって、ターゲット鍵ネゴシエーションアルゴリズムを決定する前記ステップは、
前記受信側デバイスによって、前記N個の鍵ネゴシエーションアルゴリズムから、最も高い優先度を有する鍵ネゴシエーションアルゴリズムを、前記ターゲット鍵ネゴシエーションアルゴリズムとして決定するステップ
を含む請求項10乃至12のいずれか一項に記載の方法。
【請求項14】
前記受信側デバイスによって、前記送信側デバイスへ第4の情報を送信するステッ
をさらに含む請求項10乃至13のいずれか一項に記載の方法。
【請求項15】
前記受信側デバイスによって、前記送信側デバイスへ第4の情報を送信するステップであって、前記第4の情報は、第3の認証データを含み、前記第3の認証データは、前記受信側デバイスが前記第3の情報と前記第1の情報において示される前記N個の鍵ネゴシエーションアルゴリズムに対して認証処理を行った後に取得される認証データである、ステップ
をさらに含む請求項10乃至13のいずれか一項に記載の方法。
【請求項16】
前記受信側デバイスによって、前記送信側デバイスへ第4の情報を送信する前記ステップは、
前記受信側デバイスによって、完全性保護アルゴリズムを使用することによって処理されている前記第4の情報を前記送信側デバイスへ送信するステップ
を含む請求項14または15に記載の方法。
【請求項17】
前記認証処理は、予め設定された鍵に基づいて行われる認証処理をさらに含む請求項15に記載の方法。
【請求項18】
請求項1乃至のいずれか一項に記載の方法を実装するように構成された、鍵ネゴシエーション装置。
【請求項19】
請求項10乃至17のいずれか一項に記載の方法を行うように構成された、鍵ネゴシエーション装置。
【請求項20】
鍵ネゴシエーション装置であって、前記装置は、
第1の情報を送信する送信ユニットであって、前記第1の情報は、N個の鍵ネゴシエーションアルゴリズムを示すために使用され、Nは、1以上の整数であり、前記N個の鍵ネゴシエーションアルゴリズムは、送信側デバイスによってサポートされるアルゴリズムである、送信ユニットと、
受信側デバイスから第2の情報を受信する受信ユニットであって、前記第2の情報は、ターゲット鍵ネゴシエーションアルゴリズムを示すために使用され、第1の鍵ネゴシエーションパラメータを含み、前記ターゲット鍵ネゴシエーションアルゴリズムは、前記受信側デバイスによってサポートされる、前記N個の鍵ネゴシエーションアルゴリズムのうちの鍵ネゴシエーションアルゴリズムであり、前記第1の鍵ネゴシエーションパラメータは、前記受信側デバイスに対応し、かつ、前記ターゲット鍵ネゴシエーションアルゴリズムに基づいて取得される鍵ネゴシエーションパラメータである、受信ユニットと、
前記ターゲット鍵ネゴシエーションアルゴリズムおよび前記第1の鍵ネゴシエーションパラメータに基づいて、ターゲット鍵を生成する処理ユニットと
を備え、
前記送信ユニットは、前記受信側デバイスへ第3の情報を送信し、前記第3の情報は、第2の鍵ネゴシエーションパラメータを含み、前記第2の鍵ネゴシエーションパラメータは、前記送信側デバイスに対応し、かつ、前記ターゲット鍵ネゴシエーションアルゴリズムに基づいて取得される鍵ネゴシエーションパラメータである、ようにさらに構成されている鍵ネゴシエーション装置。
【請求項21】
鍵ネゴシエーション装置であって、前記装置は、
送信側デバイスから第1の情報を受信する受信ユニットであって、前記第1の情報は、前記送信側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズムを示し、Nは、1以上の整数である、受信ユニットと、
ターゲット鍵ネゴシエーションアルゴリズムを決定し、前記ターゲット鍵ネゴシエーションアルゴリズムに基づいて、第1の鍵ネゴシエーションパラメータを生成する処理ユニットであって、前記ターゲット鍵ネゴシエーションアルゴリズムは、受信側デバイスによってサポートされる、前記N個の鍵ネゴシエーションアルゴリズムのうちの鍵ネゴシエーションアルゴリズムである、処理ユニットと、
前記送信側デバイスへ第2の情報を送信する送信ユニットであって、前記第2の情報は、前記ターゲット鍵ネゴシエーションアルゴリズムを示し、前記第1の鍵ネゴシエーションパラメータを含む、送信ユニットと
を備え、
前記受信ユニットは、
前記送信側デバイスから第3の情報を受信し、前記第3の情報は、第2の鍵ネゴシエーションパラメータを示し、前記第2の鍵ネゴシエーションパラメータは、前記送信側デバイスに対応し、かつ、前記ターゲット鍵ネゴシエーションアルゴリズムに基づいて取得される鍵ネゴシエーションパラメータであり、
前記第2の鍵ネゴシエーションパラメータおよび前記ターゲット鍵ネゴシエーションアルゴリズムに基づいて、ターゲット鍵を生成するようにさらに構成されている鍵ネゴシエーション装置。
【請求項22】
鍵ネゴシエーション装置であって、1つまたは複数のプロセッサを備え、前記1つまたは複数のプロセッサは、1つまたは複数のメモリに結合され、
前記1つまたは複数のメモリは、コンピュータプログラムまたは命令を記憶するように構成され、
前記1つまたは複数のプロセッサは、前記1つまたは複数のメモリに記憶された前記コンピュータプログラムまたは命令を実行して、前記装置が、請求項1乃至のいずれか一項に記載の方法を行うことを可能にするように構成される、鍵ネゴシエーション装置。
【請求項23】
鍵ネゴシエーション装置であって、1つまたは複数のプロセッサを備え、前記1つまたは複数のプロセッサは、1つまたは複数のメモリに結合され、
前記1つまたは複数のメモリは、コンピュータプログラムまたは命令を記憶するように構成され、
前記1つまたは複数のプロセッサは、前記1つまたは複数のメモリに記憶された前記コンピュータプログラムまたは命令を実行して、前記装置が、請求項10乃至17のいずれか一項に記載の方法を行うことを可能にするように構成される、鍵ネゴシエーション装置。
【請求項24】
請求項1乃至のいずれか一項に記載の方法を行うように構成された送信側デバイスと、請求項10乃至17のいずれか一項に記載の方法を行うように構成された受信側デバイスとを備える、通信システム。
【請求項25】
プログラムまたは命令を備える可読記憶媒体であって、前記プログラムまたは命令がプロセッサ上で実行されると、請求項1乃至のいずれか一項に記載の方法が行われる、可読記憶媒体。
【請求項26】
プログラムまたは命令を備える可読記憶媒体であって、前記プログラムまたは命令がプロセッサ上で実行されると、請求項10乃至17のいずれか一項に記載の方法が行われる、可読記憶媒体。
【請求項27】
コンピュータに、請求項1乃至のいずれか一項に方法、または請求項10乃至17のいずれか一項に記載の方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、通信技術の分野、特に、鍵ネゴシエーション方法、装置、およびシステムに関し、短距離通信、例えば、コックピットドメイン通信に具体的に適用され得る。
【背景技術】
【0002】
IKEv2(Internet Key Exchange Version 2、インターネット鍵交換バージョン2)は、鍵をネゴシエートするために使用されるプロトコルであり、セキュリティプロトコル、アルゴリズム、およびIPsec(Internet Protocol Security、インターネットプロトコルセキュリティ)トンネルのための鍵などのパラメータをネゴシエートするために使用され得る。
【0003】
IKEv2ネゴシエーション処理は、下記の通りであり得る。送信側デバイスによって受信側デバイスへ送信されるネゴシエーションパケットは、送信側デバイスによってサポートされる少なくとも1つの鍵ネゴシエーションアルゴリズムと、送信側デバイスに対応する1つの鍵ネゴシエーションアルゴリズムの鍵ネゴシエーションパラメータとを含む。ネゴシエーションパケットを受信した後、受信側デバイスは、ネゴシエーションパケット内に含まれる鍵ネゴシエーションアルゴリズムから、受信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムを選択する。ネゴシエーションパケット内に含まれる、送信側デバイスの鍵ネゴシエーションパラメータが、受信側デバイスによって選択された鍵ネゴシエーションアルゴリズムに対応しない場合、受信側デバイスは、受信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムを含むパケットを送信側デバイスへ送信し、次いで、送信側デバイスは、受信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムに基づいて、ネゴシエーションパケットを再送する。結果的に、送信側デバイスと受信側デバイスとの間のパケット交換の回数は増加し、低い鍵ネゴシエーション効率をもたらす。
【発明の概要】
【0004】
本出願の実施形態は、鍵ネゴシエーション効率を改善するための鍵ネゴシエーション方法、装置、およびシステムを提供する。
【0005】
第1の態様によれば、本出願の実施形態は、
第1の情報を送信するステップであって、第1の情報は、N個の鍵ネゴシエーションアルゴリズムを示すために使用され、Nは、1以上の整数であり、N個の鍵ネゴシエーションアルゴリズムは、送信側デバイスによってサポートされるアルゴリズムである、ステップと、
受信側デバイスから第2の情報を受信するステップであって、第2の情報は、ターゲット鍵ネゴシエーションアルゴリズムを示すために使用され、第1の鍵ネゴシエーションパラメータを含み、ターゲット鍵ネゴシエーションアルゴリズムは、受信側デバイスによってサポートされる、N個の鍵ネゴシエーションアルゴリズムのうちの鍵ネゴシエーションアルゴリズムであり、第1の鍵ネゴシエーションパラメータは、受信側デバイスに対応し、かつ、ターゲット鍵ネゴシエーションアルゴリズムに基づいて取得される鍵ネゴシエーションパラメータである、または、第1の鍵ネゴシエーションパラメータは、ターゲット鍵ネゴシエーションアルゴリズムに基づいて、受信側デバイスによって生成される鍵ネゴシエーションパラメータである、ステップと、
ターゲット鍵ネゴシエーションアルゴリズムおよび第1の鍵ネゴシエーションパラメータに基づいて、ターゲット鍵を生成するステップと
を含む、鍵ネゴシエーション方法を提供する。
【0006】
可能な設計において、本方法は、
受信側デバイスへ第3の情報を送信するステップであって、第3の情報は、第2の鍵ネゴシエーションパラメータを含み、第2の鍵ネゴシエーションパラメータは、送信側デバイスに対応し、かつ、ターゲット鍵ネゴシエーションアルゴリズムに基づいて取得される鍵ネゴシエーションパラメータである、ステップ
をさらに含む。
【0007】
可能な設計において、受信側デバイスへ第3の情報を送信するステップは、
完全性保護アルゴリズムを使用することによって処理されている第3の情報を受信側デバイスへ送信するステップ
を含む。
【0008】
可能な設計において、第1の情報は、N個の鍵ネゴシエーションアルゴリズムの優先度情報を示すためにさらに使用され、
第1の情報は、N個の鍵ネゴシエーションアルゴリズムの識別情報を含み、識別情報は、N個の鍵ネゴシエーションアルゴリズムの優先度情報に基づいて、配置され、またはカプセル化される。
【0009】
可能な設計において、第2の情報は、受信側デバイスによってサポートされるM個の鍵ネゴシエーションアルゴリズムを示すためにさらに使用され、Mは、1以上の整数である。
【0010】
可能な設計において、ターゲット鍵ネゴシエーションアルゴリズムおよび第1の鍵ネゴシエーションパラメータに基づいて、ターゲット鍵を生成するステップは、
ターゲット鍵ネゴシエーションアルゴリズムが、受信側デバイスによってサポートされる、N個の鍵ネゴシエーションアルゴリズムにおいて、鍵ネゴシエーションアルゴリズムにおいて最も高い優先度を有する鍵ネゴシエーションアルゴリズムであると決定するステップと、
ターゲット鍵ネゴシエーションアルゴリズムおよび第1の鍵ネゴシエーションパラメータに基づいて、ターゲット鍵を生成するステップと
を含む。
【0011】
代替として、可能な設計において、ターゲット鍵ネゴシエーションアルゴリズムは、受信側デバイスによってサポートされる、N個の鍵ネゴシエーションアルゴリズムにおいて、鍵ネゴシエーションアルゴリズムにおいて最も高い優先度を有する鍵ネゴシエーションアルゴリズムである。
【0012】
可能な設計において、本方法は、
受信側デバイスから、M個の鍵ネゴシエーションアルゴリズムの優先度情報を受信するステップ
をさらに含む。
【0013】
可能な設計において、第2の情報は、受信側デバイスによってサポートされるM個の鍵ネゴシエーションアルゴリズムの優先度情報を示すためにさらに使用され、
第2の情報は、M個の鍵ネゴシエーションアルゴリズムの識別情報を含み、識別情報は、M個の鍵ネゴシエーションアルゴリズムの優先度に基づいて、配置され、またはカプセル化される。
【0014】
可能な設計において、第3の情報は、第1の認証データをさらに含み、第1の認証データは、送信側デバイスが第2の情報に対して認証処理を行った後に取得される認証データである。代替として、可能な設計において、本方法は、受信側デバイスへ第1の認証データを送信するステップであって、第1の認証データは、送信側デバイスが第2の情報に対して認証処理を行った後に取得される認証データである、ステップをさらに含む。第1の認証データは、第3の情報を使用することによって示されてよく、または別の情報を使用することによって示され、もしくは搬送されてよい。
【0015】
可能な設計において、本方法は、
受信側デバイスによって送信された第4の情報を受信し、検証することを試みるステップ
をさらに含み、
第4の情報は、第2の認証データを含み、第2の認証データは、受信側デバイスからのものであり、かつ、認証処理が第3の情報に対して行われた後に取得されるデータである。
【0016】
可能な設計において、本方法は、
受信側デバイスによって送信された第4の情報を受信し、検証することを試みるステップ
をさらに含み、
第4の情報は、第3の認証データを含み、第3の認証データは、受信側デバイスからのものであり、かつ、認証処理が第3の情報と第1の情報において示されるN個の鍵ネゴシエーションアルゴリズムとに対して行われた後に取得されるデータである。
【0017】
可能な設計において、第4の情報は、完全性保護アルゴリズムを使用することによって処理されている。
【0018】
可能な設計において、認証処理は、予め設定された共有鍵に基づいて行われる認証処理をさらに含む。
【0019】
可能な設計において、第3の情報は、送信側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズムをさらに示す。
【0020】
可能な設計において、受信側デバイスへ第1の情報を送信するステップは、
ブロードキャスト手法で受信側デバイスへ第1の情報を送信するステップ
を含む。
【0021】
可能な設計において、受信側デバイスへ第1の情報を送信するステップの前に、本方法は、
受信側デバイスから第5の情報を受信するステップであって、第5の情報は、受信側デバイスへ第1の情報を送信するように送信側デバイスに示すために使用される、ステップ
をさらに含み、
受信側デバイスへ第1の情報を送信するステップは、
ユニキャスト手法で受信側デバイスへ第1の情報を送信するステップ
を含む。
【0022】
第2の態様によれば、本出願の実施形態は、鍵ネゴシエーション方法であって、本方法は、
送信側デバイスから第1の情報を受信するステップであって、第1の情報は、送信側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズムを示し、Nは、1以上の整数である、ステップと、
ターゲット鍵ネゴシエーションアルゴリズムを決定するステップであって、ターゲット鍵ネゴシエーションアルゴリズムは、受信側デバイスによってサポートされる、N個の鍵ネゴシエーションアルゴリズムのうちの鍵ネゴシエーションアルゴリズムである、ステップと、
ターゲット鍵ネゴシエーションアルゴリズムに基づいて、第1の鍵ネゴシエーションパラメータを生成するステップであって、第1の鍵ネゴシエーションパラメータは、受信側デバイスに対応し、かつ、ターゲット鍵ネゴシエーションアルゴリズムに基づいて取得される鍵ネゴシエーションパラメータであり、または、第1の鍵ネゴシエーションパラメータは、ターゲット鍵ネゴシエーションアルゴリズムに基づいて、受信側デバイスによって生成される鍵ネゴシエーションパラメータである、ステップと、
送信側デバイスへ第2の情報を送信するステップであって、第2の情報は、ターゲット鍵ネゴシエーションアルゴリズムを示し、第1の鍵ネゴシエーションパラメータを含む、ステップと
を含む、鍵ネゴシエーション方法を提供する。
【0023】
可能な設計において、本方法は、
送信側デバイスから第3の情報を受信するステップであって、第3の情報は、第2の鍵ネゴシエーションパラメータを示し、第2の鍵ネゴシエーションパラメータは、送信側デバイスに対応し、かつ、ターゲット鍵ネゴシエーションアルゴリズムに基づいて取得される鍵ネゴシエーションパラメータである、ステップと、
第2の鍵ネゴシエーションパラメータおよびターゲット鍵ネゴシエーションアルゴリズムに基づいて、ターゲット鍵を生成するステップと
をさらに含む。
【0024】
可能な設計において、第3の情報は、完全性保護アルゴリズムを使用することによって処理されている。
【0025】
可能な設計において、第2の情報は、受信側デバイスによってサポートされるM個の鍵ネゴシエーションアルゴリズムの優先度情報をさらに示し、
第2の情報は、M個の鍵ネゴシエーションアルゴリズムの識別情報を含み、識別情報は、M個の鍵ネゴシエーションアルゴリズムの優先度情報に基づいて、配置され、またはカプセル化される。
【0026】
可能な設計において、第1の情報は、N個の鍵ネゴシエーションアルゴリズムの優先度情報を示すためにさらに使用され、第1の情報は、N個の鍵ネゴシエーションアルゴリズムの識別情報を含み、識別情報は、N個の鍵ネゴシエーションアルゴリズムの優先度情報に基づいて、配置され、またはカプセル化される。
【0027】
可能な設計において、ターゲット鍵ネゴシエーションアルゴリズムを決定するステップは、
N個の鍵ネゴシエーションアルゴリズムから、最も高い優先度を有する鍵ネゴシエーションアルゴリズムを、ターゲット鍵ネゴシエーションアルゴリズムとして決定するステップ
を含む。
【0028】
代替として、可能な設計において、ターゲット鍵ネゴシエーションアルゴリズムは、受信側デバイスによってサポートされる、N個の鍵ネゴシエーションアルゴリズムにおいて、鍵ネゴシエーションアルゴリズムにおいて最も高い優先度を有する鍵ネゴシエーションアルゴリズムである。
【0029】
可能な設計において、本方法は、
送信側デバイスから第1の認証データを受信するステップであって、第1の認証データは、送信側デバイスが第2の情報に対して認証処理を行った後に取得される認証データである、ステップをさらに含む。代替として、第3の情報は、第1の認証データをさらに含み、第1の認証データは、送信側デバイスが第2の情報に対して認証処理を行った後に取得される認証データである。第1の認証データは、第3の情報を使用することによって示されてよく、または別の情報を使用することによって示され、もしくは搬送されてよい。
【0030】
可能な設計において、本方法は、
送信側デバイスへ第4の情報を送信するステップであって、第4の情報は、第2の認証データを含み、第2の認証データは、受信側デバイスが第3の情報に対して認証処理を行った後に取得される認証データである、ステップ
をさらに含む。
【0031】
可能な設計において、本方法は、
送信側デバイスへ第4の情報を送信するステップであって、第4の情報は、第3の認証データを含み、第3の認証データは、受信側デバイスが第3の情報と第1の情報において示されるN個の鍵ネゴシエーションアルゴリズムに対して認証処理を行った後に取得される認証データである、ステップ
をさらに含む。
【0032】
可能な設計において、送信側デバイスへ第4の情報を送信するステップは、
完全性保護アルゴリズムを使用することによって処理されている第4の情報を送信側デバイスへ送信するステップ
を含む。
【0033】
可能な設計において、認証処理は、予め設定された鍵に基づいて行われる認証処理をさらに含む。
【0034】
可能な設計において、第3の情報は、送信側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズムをさらに示す。
【0035】
可能な設計において、送信側デバイスから第1の情報を受信するステップの前に、本方法は、
送信側デバイスへ第5の情報を送信するステップであって、第5の情報は、受信側デバイスへ第1の情報を送信するように送信側デバイスに示すために使用される、ステップ
をさらに含む。
【0036】
第3の態様によれば、本出願の実施形態は、
第1の態様における鍵ネゴシエーション方法を実装するように構成された、少なくとも1つのモジュール、構成要素、または回路と、
第2の態様における鍵ネゴシエーション方法を実装するように構成された、少なくとも1つのモジュール、構成要素、または回路と
を含む、鍵ネゴシエーション装置を提供する。
【0037】
第4の態様によれば、本出願の実施形態は、少なくとも1つのプロセッサと、メモリとを含む、鍵ネゴシエーション装置を提供する。少なくとも1つのプロセッサは、メモリ内のコンピュータプログラムを実行するように構成され、その結果、鍵ネゴシエーション装置は、本出願の実施形態における第1の態様または第2の態様による鍵ネゴシエーション方法を行う。
【0038】
第5の態様によれば、本出願の実施形態は、鍵ネゴシエーション装置を提供する。鍵ネゴシエーション装置は、1つまたは複数のプロセッサと、通信ユニットとを含む。1つまたは複数のプロセッサは、本出願の実施形態における第1の態様または第2の態様による鍵ネゴシエーション方法を行う際に、通信装置をサポートするように構成される。通信ユニットは、鍵ネゴシエーション装置が別のデバイスと通信する際にサポートして、受信機能および/または送信機能を実装するように構成される。
【0039】
任意選択で、本装置は、1つまたは複数のメモリをさらに含み得る。メモリは、プロセッサに結合されるように構成され、メモリは、装置にとって必要なプログラム命令および/またはデータを記憶する。1つまたは複数のメモリは、プロセッサに一体化されてよく、またはプロセッサから独立して配設されてよい。これは、本出願において限定されない。
【0040】
鍵ネゴシエーション装置は、代替として、チップであってよい。通信ユニットは、通信チップの入出力回路またはインターフェースであってよい。
【0041】
第6の態様によれば、本出願の実施形態は、コンピュータプログラムを記憶するように構成されたコンピュータ可読記憶媒体を提供する。コンピュータプログラムは、本出願の実施形態における第1の態様または第2の態様による鍵ネゴシエーション方法を行うために使用される命令を含む。
【0042】
第7の態様によれば、本出願の実施形態は、コンピュータプログラム製品を提供する。コンピュータプログラム製品は、コンピュータプログラムコードを含み、コンピュータプログラムコードがコンピュータ上で実行される場合、コンピュータは、本出願の実施形態における第1の態様または第2の態様による鍵ネゴシエーション方法を行うことを可能にされる。
【0043】
第8の態様によれば、本出願の実施形態は、本出願の実施形態における第1の態様による鍵ネゴシエーション方法を行うように構成された鍵ネゴシエーション装置と、本出願の実施形態における第2の態様による鍵ネゴシエーション方法を行うように構成された鍵ネゴシエーション装置とを含む、鍵ネゴシエーションシステムを提供する。
【0044】
第9の態様によれば、本出願の実施形態は、端末を提供する。端末は、ドローン、無人輸送車両、自動車、ロボット等を含む、輸送車両またはインテリジェントデバイスであってよい。輸送車両またはインテリジェントデバイスは、第3の態様、および/または第4の態様、および/または第5の態様による鍵ネゴシエーション装置を含む。
【0045】
本出願の実施形態は、鍵ネゴシエーション方法、装置、およびシステムを提供する。送信側デバイスと受信側デバイスとの間の鍵ネゴシエーション期間中に、送信側デバイスは、第1の情報を使用することによって、送信側デバイスによってサポートされる全ての鍵ネゴシエーションアルゴリズムを受信側デバイスに通知する。受信側デバイスは、送信側デバイスによってサポートされる、受信された鍵ネゴシエーションアルゴリズムから、受信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムを選択する。このようにして、受信側デバイスによって選択された鍵ネゴシエーションアルゴリズムは、送信側デバイスと受信側デバイスとの両方によってサポートされる。これは、受信側デバイスによって選択された鍵ネゴシエーションアルゴリズムを送信側デバイスがサポートしないことが理由で引き起こされる、鍵ネゴシエーションアルゴリズムネゴシエーション失敗を回避し、鍵ネゴシエーション効率を改善する。また、本出願の実施形態において提供される鍵ネゴシエーション方法は、中国語の暗号アルゴリズムをサポートする。
【図面の簡単な説明】
【0046】
図1】本出願の一実施形態による適用シナリオの概略図である。
図2】本出願の実施形態に適用可能な通信装置のハードウェア構造の概略図である。
図3】鍵ネゴシエーション方法のフローチャートである。
図4】本出願の一実施形態による鍵ネゴシエーション方法のフローチャートである。
図5】本出願の別の実施形態による鍵ネゴシエーション方法のフローチャートである。
図6】本出願の別の実施形態による鍵ネゴシエーション方法のフローチャートである。
図7】本出願の別の実施形態による鍵ネゴシエーション方法のフローチャートである。
図8】本出願の一実施形態による鍵ネゴシエーション装置の構造の概略図である。
図9】本出願の別の実施形態による鍵ネゴシエーション装置の構造の概略図である。
図10】本出願の別の実施形態による鍵ネゴシエーション装置の構造の概略図である。
図11】本出願の一実施形態による鍵ネゴシエーションシステムの構造の概略図である。
【発明を実施するための形態】
【0047】
本出願の実装部分において使用される用語は、本出願の特定の実施形態を解説するために使用されているにすぎず、本出願を限定するようには意図されていない。
【0048】
本出願の実施形態は、様々なタイプの通信システムにおいて使用され得る。図1は、本出願の一実施形態による適用シナリオの概略図である。図1に示される通信システムは、主に、送信側デバイス11と受信側デバイス12とを含む。送信側デバイス11は、通信における開始側であり、受信側デバイス12は、通信における受信側である。
【0049】
図1に示される通信システム内に含まれる送信側デバイス11または受信側デバイス12は、送受信機機能を有する任意のデバイスであってよく、ロングタームエボリューション(long term evolution、LTE)システムにおける進化型ノードB(NodeB、eNB、もしくはe-NodeB、進化型NodeB))、新無線(new radio、NR)システムにおけるgノードB(gNodeBもしくはgNB)もしくは送受信ポイント(transmission receiving point/transmission reception point、TRP)、第三世代パートナーシッププロジェクト(the 3rd generation partnership project、3GPP)によって後に進化させられる基地局、無線通信システム(例えば、Wi-Fiもしくはブルートゥース)におけるアクセスノード、無線中継ノード、無線バックホールノード、またはユニバーサルモバイル通信技術におけるデータトランシットデバイス(ルータ、リピータ、ブリッジ、もしくはスイッチなど)含むが、これらに限定されない。基地局は、マクロ基地局、マイクロ基地局、ピコセル基地局、スモールセル、中継局、バルーン局等であってよい。
【0050】
送信側デバイス11または受信側デバイス12は、代替として、クラウド無線アクセスネットワーク(cloud radio access network、CRAN)シナリオにおける無線コントローラ、中央ユニット(centralized unit、CU)、および/または分散ユニット(distributed unit、DU)であってよい。
【0051】
送信側デバイス11または受信側デバイス12は、代替として、サーバ、ウェアラブルデバイス(スマートウォッチ、スマートバンド、もしくは歩数計など)、機械通信デバイス、または車載デバイスであってよい。
【0052】
送信側デバイス11または受信側デバイス12は、代替として、携帯電話(mobile phone)、タブレットコンピュータ(パッド)、無線受信機能および無線送信機能を有するコンピュータ、ヘッドホン、スピーカ、仮想現実(virtual reality、VR)端末デバイス、拡張現実(augmented reality、AR)端末デバイス、マシンタイプ通信(machine type communication、MTC)における端末、産業制御(industrial control)における端末、車載端末デバイス、自動運転(self driving)における端末、アシスト運転における端末デバイス、テレメディスン(遠隔医療)における端末、スマートグリッド(smart grid)における端末、輸送安全性(transportation safety)における端末、スマートシティ(smart city)における端末、スマートホーム(smart home)における端末等であってよい。
【0053】
送信側デバイス11または受信側デバイス12は、代替として、車両コックピットドメイン(cockpit domain)デバイス、または車両コックピットドメインデバイス内のモジュール(例えば、コックピットドメインコントローラ(cockpit domain controller、CDC)、カメラ、スクリーン、マイクロフォン、スピーカ、電子鍵、もしくはパッシブエントリパッシブスタートシステムコントローラ)であってよい。
【0054】
適用シナリオは、本出願の実施形態において限定されない。時には、端末は、端末デバイス、ユーザ機器(user equipment、UE)、アクセス端末デバイス、車載端末、産業制御端末、UEユニット、UE局、移動局、モバイルコンソール、遠隔局、遠隔端末デバイス、モバイルデバイス、UE端末デバイス、無線通信デバイス、機械端末、UEエージェント、UE装置等とも称され得る。端末は、固定式または可動式であってよい。
【0055】
図1に示される通信システム10は、例として使用されているにすぎず、本出願の技術的解決策を限定するようには意図されていない。当業者は、特定の実装処理において、通信システム10が、別のデバイスをさらに含んでよく、送信側デバイスの数量および受信側デバイスの数量が、特定の要件に基づいて決定されてよく、それらは限定されないことを、理解するべきである。
【0056】
任意選択で、本出願のこの実施形態における、図1内のデバイス、例えば、送信側デバイス11および受信側デバイス12は各々、装置内の1つの機能モジュールであってよい。機能モジュールは、ハードウェアデバイス内の要素、例えば、端末デバイスもしくはネットワークデバイス内のチップもしくは通信構成要素であってよく、またはハードウェア上で実行されるソフトウェア機能モジュール、もしくはプラットフォーム(例えば、クラウドプラットフォーム)上でインスタンス化される仮想化された機能であってよいことが理解され得る。
【0057】
例えば、図1における各デバイスは、図2における通信装置200を使用することによって実装され得る。通信装置200は、デバイス、またはデバイス内のチップもしくは集積回路であってよい。図2は、本出願の実施形態に適用可能な通信装置のハードウェア構造の概略図である。通信装置200は、少なくとも1つのプロセッサ201と、少なくとも1つの通信インターフェース204とを含み得る。任意選択で、通信装置200は、通信回線202およびメモリ203のうちの少なくとも1つをさらに含んでよい。
【0058】
プロセッサ201は、汎用中央処理ユニット(central processing unit、CPU)、マイクロプロセッサ、特定用途向け集積回路(application-specific integrated circuit、ASIC)、または本出願の解決策におけるプログラムの実行を制御するように構成される1つもしくは複数の集積回路であってよい。
【0059】
通信回線202は、前述の構成要素間で情報が伝送されるチャネル、例えば、バスを含み得る。
【0060】
通信インターフェース204は、送受信機などの任意の装置を使用することによって、別のデバイスまたは通信ネットワークと通信するために使用され、例えば、イーサネットインターフェース、無線アクセスネットワーク(radio access network、RAN)インターフェース、または無線ローカルエリアネットワーク(wireless local area network、WLAN)インターフェースである。
【0061】
メモリ203は、読み出し専用メモリ(read-only memory、ROM)、もしくは静的情報および命令を記憶することが可能な別のタイプの静的記憶デバイス、もしくはランダムアクセスメモリ(random access memory、RAM)、もしくは情報および命令を記憶することが可能な別のタイプの動的記憶デバイスであってよく、または、電気的消去可能プログラム可能読み出し専用メモリ(electrically erasable programmable read-only memory、EEPROM)、コンパクトディスク読み出し専用メモリ(compact disc read-only memory、CD-ROM)もしくは別のコンパクトディスクストレージ、光ディスクストレージ(圧縮光ディスク、レーザディスク、光ディスク、デジタル多用途光ディスク、ブルーレイディスク等を含む)、磁気ディスク記憶媒体もしくは別の磁気記憶デバイス、または、期待されるプログラムコードを命令もしくはデータ構造の形式で担持もしくは記憶することが可能であり、コンピュータによってアクセスされることが可能である任意の他の媒体であってよい。しかしながら、メモリ203は、これらに限定されない。メモリは、独立して存在してよく、通信回線202を通じてプロセッサに接続される。メモリは、代替として、プロセッサに一体化されてよい。本出願のこの実施形態において提供されるメモリは、通常、不揮発性であり得る。メモリ203は、本出願の解決策を実行するためのコンピュータ実行可能な命令を記憶するように構成され、プロセッサ201は、実行を制御する。プロセッサ201は、メモリ203内に記憶されたコンピュータ実行可能な命令を実行して、本出願の実施形態において提供される方法を実装するように構成される。
【0062】
任意選択で、本出願のこの実施形態におけるコンピュータ実行可能な命令は、アプリケーションプログラムコードと称されてもよい。これは、本出願のこの実施形態において特に限定されない。
【0063】
特定の実装期間中に、一実施形態において、プロセッサ201は、1つまたは複数のCPU、例えば、図2におけるCPU 0およびCPU 1を含み得る。
【0064】
特定の実装期間中に、一実施形態において、通信装置200は、複数のプロセッサ、例えば、図2におけるプロセッサ201およびプロセッサ207を含み得る。プロセッサの各々は、単一のCPU(single-CPU)プロセッサであってよく、またはマルチCPU(multi-CPU)プロセッサであってよい。本明細書におけるプロセッサは、データ(例えば、コンピュータプログラム命令)を処理するための、1つまたは複数のデバイス、回路、および/または処理コアであり得る。
【0065】
特定の実装期間中に、一実施形態において、通信装置200は、出力デバイス205と入力デバイス206とをさらに含み得る。出力デバイス205は、プロセッサ201と通信し、情報を複数の手法で表示し得る。例えば、出力デバイス205は、液晶ディスプレイ(liquid crystal display、LCD)、発光ダイオード(light emitting diode、LED)表示デバイス、ブラウン管(cathode ray tube、CRT)表示デバイス、プロジェクター(projector)等であってよい。入力デバイス206は、プロセッサ201と通信し、ユーザ入力を複数の手法で受け取り得る。例えば、入力デバイス206は、マウス、キーボード、タッチスクリーンデバイス、または感知デバイスであってよい。
【0066】
特定の実装期間中に、通信装置200は、デスクトップコンピュータ、ポータブルコンピュータ、ネットワークサーバ、携帯情報端末(personal digital assistant、PDA)、携帯電話、タブレットコンピュータ、無線端末デバイス、組み込みデバイス、または、図2における構造と同様の構造を有するデバイスであってよい。通信装置200のタイプは、本出願のこの実施形態において限定されない。
【0067】
可能な鍵ネゴシエーション方法は、図1および図2を参照して、下記に具体的に説明される。下記の実施形態における送信側デバイスおよび受信側デバイスは、図2に示される構成要素を含み得る。
【0068】
送信側デバイスと受信側デバイスとの間の鍵ネゴシエーションのための方法は、図3に示されており、鍵ネゴシエーション方法は、下記のステップを含む。
【0069】
S301:送信側デバイスは、受信側デバイスへネゴシエーションパケットを送信する。対応して、受信側デバイスは、ネゴシエーションパケットを受信する。
【0070】
ネゴシエーションパケットは、N個の鍵ネゴシエーションアルゴリズムを示すために使用され、送信側デバイスの鍵ネゴシエーションパラメータを含む。鍵ネゴシエーションパラメータは、送信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムのうちの1つに基づいて取得される。
【0071】
この実施形態において、送信側デバイスは、送信側デバイスによってサポートされる任意の鍵ネゴシエーションアルゴリズムを、ターゲット鍵を生成するためのアルゴリズムとして使用し、選択された鍵ネゴシエーションアルゴリズムに基づいて、鍵ネゴシエーションパラメータを取得し、次いで、鍵ネゴシエーションパラメータをネゴシエーションパケットに追加し、ネゴシエーションパケットを受信側デバイスへ送信する。このようにして、受信側デバイスは、ネゴシエーションパケットを使用することによって、送信側デバイスによってサポートされる全ての鍵ネゴシエーションアルゴリズムを決定することができ、ターゲット鍵を生成するために受信側デバイスによって使用される送信側デバイスの鍵ネゴシエーションパラメータを直接取得することができる。
【0072】
S302:受信側デバイスは、ターゲット鍵ネゴシエーションアルゴリズムを決定し、ターゲットネゴシエーションアルゴリズムに基づいて、受信側デバイスの鍵ネゴシエーションパラメータを生成する。
【0073】
受信側デバイスの鍵ネゴシエーションパラメータは、ターゲット鍵ネゴシエーションアルゴリズムに基づいて取得される。
【0074】
この実施形態において、受信側デバイスは、ネゴシエーションパケットに基づいて取得される、送信側デバイスによってサポートされる全ての鍵ネゴシエーションアルゴリズムからのいずれかの鍵ネゴシエーションアルゴリズムを、ターゲット鍵を生成するためのアルゴリズムとして選択し、選択された鍵ネゴシエーションアルゴリズムに基づいて、鍵ネゴシエーションパラメータを取得する。ターゲット鍵ネゴシエーションアルゴリズムを選択する処理において、受信側デバイスは、どの鍵ネゴシエーションアルゴリズムが送信側デバイスによって選択されているかを考慮しない。言いかえれば、送信側デバイスおよび受信側デバイスは、ターゲット鍵を生成するために使用されるそれらのそれぞれの鍵ネゴシエーションアルゴリズムを選択する場合に、互いから独立している。したがって、受信側デバイスによって選択された鍵ネゴシエーションアルゴリズムが、送信側デバイスによって選択された鍵ネゴシエーションアルゴリズムとマッチしない状況が生じやすい。結果として、受信側デバイスによって選択された鍵ネゴシエーションアルゴリズムは、送信側デバイスの鍵ネゴシエーションパラメータとマッチしない。
【0075】
S303:送信側デバイスの鍵ネゴシエーションパラメータが、ターゲット鍵ネゴシエーションアルゴリズムとマッチする場合、受信側デバイスは、送信側デバイスへネゴシエーション応答パケットを送信する。
【0076】
ネゴシエーション応答パケットは、ターゲット鍵ネゴシエーションアルゴリズムを示すために使用され、受信側デバイスの鍵ネゴシエーションパラメータを含む。
【0077】
S304:受信側デバイスは、送信側デバイスの鍵ネゴシエーションパラメータおよびターゲット鍵ネゴシエーションアルゴリズムに基づいて、ターゲット鍵を生成する。
【0078】
S305:送信側デバイスは、受信側デバイスの鍵ネゴシエーションパラメータおよびターゲット鍵ネゴシエーションアルゴリズムに基づいて、ターゲット鍵を生成する。
【0079】
この実施形態において、受信側デバイスおよび送信側デバイスがターゲット鍵を生成する処理は、下記の通りである。
【0080】
ディフィーヘルマンDHアルゴリズムが、例として使用される。2つのノードは、同一の比較的大きい素数pと、同一の乱数gとを使用し(すなわち、素数pと乱数gとは、送信側デバイスと受信側デバイスとの間の公開鍵である)、乱数aと乱数bとをそれぞれ生成する(すなわち、乱数aは、受信側デバイスの秘密鍵であり、乱数bは、送信側デバイスの秘密鍵である)。素数p、乱数g、ならびに乱数aおよびbは全て、鍵ネゴシエーションアルゴリズムのパラメータとして考慮され得る。受信側デバイスは、gモジュラス(mod)Pをa乗することによって生成される値A(すなわち、A=ga mod pであり、Aは、第1の鍵ネゴシエーションアルゴリズムパラメータである)を送信側デバイスへ送信し、次いで、送信側デバイスは、受信された値Aをb乗して、秘密値KEを生成する。送信側デバイスは、g mod Pをb乗することによって生成される値B(すなわち、B=gb mod pであり、Bは、第2の鍵ネゴシエーションアルゴリズムパラメータである)を受信側デバイスへ送信し、次いで、受信側デバイスは、受信された値Bをa乗して、秘密値KEを生成する。KE=Ab mod p=(ga mod p)b mod p=gab mod p=(gb mod p)a mod p=Ba mod pであるので、送信側デバイスおよび受信側デバイスによって生成される秘密値KEは同一であり、すなわち、ターゲット鍵は同一である。
【0081】
現在の技術においては、受信側デバイスおよび送信側デバイスが、受信側デバイスおよび送信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムをそれぞれ選択するので、受信側デバイスによって選択された鍵ネゴシエーションアルゴリズムは、開始側デバイスの鍵ネゴシエーションパラメータとマッチしない可能性があり、結果的に、ネゴシエーションが失敗することを知ることができる。受信側デバイスによって選択された鍵ネゴシエーションアルゴリズムが、開始側デバイスの鍵ネゴシエーションパラメータとマッチしない場合、受信側デバイスは、開始側デバイスへパケットを送信する必要があり、その結果、開始側デバイスは、ネゴシエーションパケットを再送し、受信側デバイスによって選択された鍵ネゴシエーションアルゴリズムが開始側デバイスの鍵ネゴシエーションパラメータとマッチするまで、前述のステップを繰り返す。結果的に、送信側デバイスと受信側デバイスとの間のパケット交換の回数は増加し、低い鍵ネゴシエーション効率をもたらす。
【0082】
前述の問題を解決するために、本出願の実施形態は、送信側デバイスが、送信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムを受信側デバイスに通知し、受信側デバイスが、鍵ネゴシエーションアルゴリズムから、受信側デバイスおよび送信側デバイスの両方によってサポートされる鍵ネゴシエーションアルゴリズムを選択し、選択された鍵ネゴシエーションアルゴリズムと、受信側デバイスに対応し、かつ、鍵ネゴシエーションアルゴリズムに基づいて生成される鍵ネゴシエーションパラメータとを送信側デバイスへ送信することを提案する。送信側デバイスおよび受信側デバイスが、送信側デバイスおよび受信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムをそれぞれ選択する方法と比較して、本出願における方法は、送信側デバイスおよび受信側デバイスによって選択された鍵ネゴシエーションアルゴリズムがマッチしないという問題を解決し、鍵ネゴシエーション効率を改善する。
【0083】
本出願において提案される鍵ネゴシエーション方法は、特定の実施形態を参照して、下記に詳細に説明される。
【0084】
図4は、本出願の一実施形態による鍵ネゴシエーション方法のフローチャートである。図4に示されるように、本出願のこの実施形態における鍵ネゴシエーション方法は、下記のステップを含む。
【0085】
S401:送信側デバイスは、受信側デバイスへ第1の情報を送信する。対応して、受信側デバイスは、第1の情報を受信する。
【0086】
第1の情報は、N個の鍵ネゴシエーションアルゴリズムを示すために使用され、Nは、1以上の整数であり、N個の鍵ネゴシエーションアルゴリズムは、送信側デバイスによってサポートされる。
【0087】
例えば、第1の情報は、ネゴシエーションパケット内で搬送される。具体的には、通信システム内の2つのデバイスがデータ伝送を行う前に、2つのデバイスは、伝送されるデータをターゲット鍵に基づいて暗号化および復号するために、鍵ネゴシエーションを行って、ターゲット鍵を取得する必要がある。送信側デバイスと受信側デバイスとが鍵ネゴシエーションを行う場合、開始側デバイスは、受信側デバイスへネゴシエーションパケットを送信する。
【0088】
第1の情報は、下記の手法のうちのいずれか1つにおいて、N個の鍵ネゴシエーションアルゴリズムを示し得る。
【0089】
手法1:第1の情報は、開始側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズムの識別子を含み、その結果、受信側デバイスは、開始側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズムを取得する。
【0090】
表1に示されるアルゴリズムの識別子は、例として使用される。第1の情報が、ID 1、ID 3、およびID 5を含む場合、第1の情報は、アルゴリズム1、アルゴリズム3、およびアルゴリズム5を示すために使用される。第1の情報が、ID 2およびID 4を含む場合、第1の情報は、アルゴリズム2およびアルゴリズム4を示すために使用される。
【0091】
【表1】
【0092】
表1は、第1の情報によって示される鍵ネゴシエーションアルゴリズム識別子の例にすぎないことが理解され得る。特定の適用において、第1の情報によって示される鍵ネゴシエーションアルゴリズムは、代替として、別の形式であってよく、それについては限定されない。
【0093】
手法2:第1の情報は、ビットシーケンスを含み、ビットシーケンス内の1つのビットは、1つのアルゴリズムに対応し、ビットシーケンス内の各ビットは、そのビットに対応するアルゴリズムを第1の情報が示すかどうかを示すために、0または1であり得る。例えば、ビットが1である場合、それは、そのビットに対応するアルゴリズムを第1の情報が示すことを示し得、ビットが0である場合、それは、そのビットに対応するアルゴリズムを第1の情報が示さないことを示し得る。
【0094】
例えば、第1の情報は、5つのビットを含み、5つのビット内の第1のビットは、アルゴリズム1に対応し、第2のビットは、アルゴリズム2に対応し、第3のビットは、アルゴリズム3に対応し、第4のビットは、アルゴリズム4に対応し、第5のビットは、アルゴリズム5に対応する。5つのビットが01010である場合、それは、アルゴリズム2およびアルゴリズム4を示すために第1の情報が使用されることを示し得る。5つのビットが11001である場合、それは、アルゴリズム1、アルゴリズム2、およびアルゴリズム5を示すために第1の情報が使用されることを示し得る。
【0095】
任意選択で、第1の情報は、N個の鍵ネゴシエーションアルゴリズムの優先度情報を示すためにさらに使用される。第1の情報に含まれるN個の鍵ネゴシエーションアルゴリズムの識別情報は、N個の鍵ネゴシエーションアルゴリズムの優先度情報に基づいて、配置され、またはカプセル化される。
【0096】
例えば、第1の情報によって示されるN個の鍵ネゴシエーションアルゴリズムは、優先度の降順で配置され、または第1の情報によって示されるN個の鍵ネゴシエーションアルゴリズムは、優先度の昇順で配置される。例えば、表2に示されるように、第1の情報は、アルゴリズム1、アルゴリズム2、アルゴリズム3、アルゴリズム4、およびアルゴリズム5を示すために使用される。アルゴリズム4の優先度は、アルゴリズム2の優先度より高く、アルゴリズム2の優先度は、アルゴリズム5の優先度より高く、アルゴリズム5の優先度は、アルゴリズム1の優先度より高く、アルゴリズム1の優先度は、アルゴリズム3の優先度より高い。
【0097】
【表2】
【0098】
任意選択で、送信側デバイスは、受信側デバイスへブロードキャスト手法でネゴシエーションパケットを送信し、その結果、付加的なパケット交換は必要とされず、鍵ネゴシエーション効率が改善される。また、ネゴシエーションパケットは、ブロードキャスト手法で送信され、その結果、複数の受信側デバイスが、ネゴシエーションパケットを受信することができ、パケット交換の回数がさらに低減される。
【0099】
第1の情報を送信する処理において、第1の情報は第三者デバイスによって傍受される可能性があることが留意されるべきである。第三者デバイスは、第1の情報を改ざんし、改ざんされた第1の情報を受信側デバイスへ送信する。この場合において、受信側デバイスによって受信された第1の情報において示される、送信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムと、送信側デバイスによって送信された第1の情報において示される、送信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムとの間に、差異があり得る。この場合において、受信側デバイスによって受信された第1の情報において示される、送信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムは、K個の鍵ネゴシエーションアルゴリズムであり、Kは、0以上の整数である。
【0100】
受信側デバイスによって受信された第1の情報において示される、送信側デバイスによってサポートされるK個の鍵ネゴシエーションアルゴリズムと、送信側デバイスによって送信された第1の情報において示される、送信側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズムとは、少なくとも下記の3つの関係を有することが理解され得る。
【0101】
第1の関係:KはNに等しく、受信側デバイスによって受信された第1の情報において示される、送信側デバイスによってサポートされるK個の鍵ネゴシエーションアルゴリズムは、送信側デバイスによって送信された第1の情報において示される、送信側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズムと、一対一で対応する。
【0102】
第2の関係:KはNと等しいが、受信側デバイスによって受信された第1の情報において示される、送信側デバイスによってサポートされるK個の鍵ネゴシエーションアルゴリズムは、送信側デバイスによって送信された第1の情報において示される、送信側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズムと、一対一で対応しない。
【0103】
第3の関係:KはNと等しくない。
【0104】
K個の鍵ネゴシエーションアルゴリズムとN個の鍵ネゴシエーションアルゴリズムとの間の関係が、第1の関係である場合、それは、送信側デバイスによって送信された第1の情報において示されるN個の鍵ネゴシエーションアルゴリズムが改ざんされていないことを示す。K個の鍵ネゴシエーションアルゴリズムとN個の鍵ネゴシエーションアルゴリズムとの間の関係が、第2の関係または第3の関係である場合、それは、送信側デバイスによって送信された第1の情報が改ざんされていることを示す。
【0105】
任意選択で、S401の前に、本出願において説明される鍵ネゴシエーションアルゴリズムは、受信側デバイスから第5の情報を受信することであって、第5の情報は、第1の情報を送信するように送信側デバイスに示すために使用される、ことをさらに含む。対応して、S401の可能な実装は、受信側デバイスへユニキャスト手法で第1の情報を送信することである。具体的には、受信側デバイスが送信側デバイスと通信する必要がある場合、受信側デバイスは、まず、情報、すなわち第5の情報を送信側デバイスへ送信し得る。第5の情報は、受信側デバイスへ第1の情報を送信するように送信側デバイスに示すために使用される。このようにして、第5の情報を受信した後、送信側デバイスは、受信側デバイスへ第1の情報を送信する。送信側デバイスは、ユニキャスト手法で第1の情報を送信する。
【0106】
任意選択で、第5の情報は、インジケーション識別子を搬送する。例えば、インジケーション識別子は、送信側デバイスと受信側デバイスとによって、予めネゴシエートされ得る。受信側デバイスが、受信側デバイスへ第1の情報を送信するように送信側デバイスに示す必要がある場合、第5の情報は、予めネゴシエートされたインジケーション識別子を含む。インジケーション識別子を含む第5の情報を受信した後、送信側デバイスは、受信側デバイスへ第1の情報を送信する。
【0107】
任意選択で、第5の情報は、空のターゲット鍵ネゴシエーションアルゴリズムを含む。例えば、鍵ネゴシエーションアルゴリズムを示すために使用されるビットの識別子は、「ヌル」である。受信側デバイスが、受信側デバイスへ第1の情報を送信するように送信側デバイスに示す必要がある場合、第5の情報は、空のターゲット鍵ネゴシエーションアルゴリズムを含み、空のターゲット鍵ネゴシエーションアルゴリズムを含む第5の情報を受信した後、送信側デバイスは、受信側デバイスへ第1の情報を送信する。
【0108】
S402:受信側デバイスは、ターゲット鍵ネゴシエーションアルゴリズムを決定する。
【0109】
ターゲット鍵ネゴシエーションアルゴリズムは、受信側デバイスによってサポートされる、N個の鍵ネゴシエーションアルゴリズムのうちの鍵ネゴシエーションアルゴリズムである。
【0110】
この実施形態において、受信側デバイスは、第1の情報におけるN個の鍵ネゴシエーションアルゴリズムから、受信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムをターゲットネゴシエーションアルゴリズムとして決定する。
【0111】
任意選択で、受信側デバイスは、受信された第1の情報において示されるN個の鍵ネゴシエーションアルゴリズムの優先度情報に基づいて、N個の鍵ネゴシエーションアルゴリズムの中にあり、かつ、受信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムにおいて、最も高い優先度を有する鍵ネゴシエーションアルゴリズムを決定し、その鍵ネゴシエーションアルゴリズムをターゲットネゴシエーションアルゴリズムとして使用する。本明細書における最も高い優先度は、送信側デバイスに対応する鍵ネゴシエーションアルゴリズムの優先順位に基づいて決定されることが留意されるべきである。
【0112】
例えば、表3は、受信側デバイスによってサポートされる全ての鍵ネゴシエーションアルゴリズムを示す。受信側デバイスによって受信された第1の情報は、表1に示される5つの鍵ネゴシエーションアルゴリズムを示す。第1の情報において、5つのアルゴリズムの識別子は、優先度の降順で配置される。5つの鍵ネゴシエーションアルゴリズムにおいて、受信側デバイスは、アルゴリズム2、アルゴリズム3、およびアルゴリズム5をサポートしており、アルゴリズム2の優先度は、アルゴリズム3の優先度およびアルゴリズム5の優先度よりも高いことが、表1から表3より知ることができる。この場合において、受信側デバイスは、アルゴリズム2をターゲットネゴシエーションアルゴリズムとして選択する。
【0113】
【表3】
【0114】
任意選択で、受信側デバイスは、受信された第1の情報において示されるN個の鍵ネゴシエーションアルゴリズムに基づいて、N個の鍵ネゴシエーションアルゴリズムの中にあり、かつ、受信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムにおいて、受信側デバイスに関して最も高い優先度を有する鍵ネゴシエーションアルゴリズムを決定し、その鍵ネゴシエーションアルゴリズムをターゲットネゴシエーションアルゴリズムとして使用する。すなわち、N個の鍵ネゴシエーションアルゴリズムにおいて、ターゲット鍵ネゴシエーションアルゴリズムは、受信側デバイスに対応する鍵ネゴシエーションアルゴリズムの優先順位に基づいて、受信側デバイスと送信側デバイスとの両方によってサポートされる鍵ネゴシエーションアルゴリズムから決定される。
【0115】
例えば、表4は、受信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムの優先度情報を示す。表3に示されるように、受信側デバイスによって受信された第1の情報は、表1に示される5つの鍵ネゴシエーションアルゴリズムを示し、受信側デバイスは、5つの鍵ネゴシエーションアルゴリズムにおけるアルゴリズム2、アルゴリズム3、およびアルゴリズム5をサポートする。受信側デバイスに関しては、アルゴリズム3の優先度が、アルゴリズム2の優先度よりも高く、アルゴリズム2の優先度が、アルゴリズム5の優先度よりも高いことが、表4から知ることができる。この場合において、受信側デバイスは、アルゴリズム3をターゲットネゴシエーションアルゴリズムとして選択する。この実施形態において、第1の情報において示される、送信側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズムは、優先度に従って配置されなくてよいこと、すなわち、第1の情報は、送信側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズムの優先度情報を示さないことが留意されるべきである。
【0116】
【表4】
【0117】
S403:受信側デバイスは、ターゲット鍵ネゴシエーションアルゴリズムに基づいて、第1の鍵ネゴシエーションパラメータを生成する。
【0118】
第1の鍵ネゴシエーションパラメータは、受信側デバイスに対応しており、かつ、ターゲット鍵ネゴシエーションアルゴリズムに基づいて取得される鍵ネゴシエーションパラメータである。
【0119】
例えば、受信側デバイスは、S304の手法で秘密鍵を生成し、受信側デバイスのみが秘密鍵を知っており、次いで、受信側デバイスは、選択された鍵ネゴシエーションアルゴリズムを使用することによって、受信側デバイスに対応する公開鍵生成し、公開鍵を第1の鍵ネゴシエーションパラメータ、すなわち、鍵ネゴシエーションパラメータKE 1として使用する。
【0120】
第1の鍵ネゴシエーションパラメータを取得する手法は、本出願において限定されない。
【0121】
S404:受信側デバイスは、送信側デバイスへ第2の情報を送信する。対応して、送信側デバイスは、受信側デバイスから第2の情報を受信する。
【0122】
第2の情報は、ターゲット鍵ネゴシエーションアルゴリズムを示し、第1の鍵ネゴシエーションパラメータを含む。
【0123】
任意選択で、第2の情報は、第1の乱数をさらに搬送し、第1の乱数(NONCE 1)は、受信側デバイスによって生成された乱数である。
【0124】
S405:送信側デバイスは、ターゲット鍵ネゴシエーションアルゴリズムおよび第1の鍵ネゴシエーションパラメータに基づいて、ターゲット鍵を生成する。
【0125】
この実施形態において、第2の情報は、ターゲット鍵ネゴシエーションアルゴリズムの識別子を搬送するので、送信側デバイスは、ターゲット鍵ネゴシエーションアルゴリズムの識別子を使用することによって、受信側デバイスによって選択された鍵ネゴシエーションアルゴリズムを決定する。例えば、送信側デバイスは、S305の手法で秘密鍵を生成する。秘密鍵は、送信側デバイスのみによって知られている。次いで、送信側デバイスは、第1のターゲット鍵ネゴシエーションアルゴリズムに基づいて、計算を通じて、送信側デバイスに対応する公開鍵を取得し、公開鍵を第2の鍵ネゴシエーションパラメータとして使用し、第2の鍵ネゴシエーションパラメータは、KE 2として表される。次いで、ターゲット鍵KEは、ターゲット鍵ネゴシエーションアルゴリズムおよび鍵ネゴシエーションパラメータKE 1に基づいて生成される。
【0126】
任意選択で、第2の情報を使用することによってターゲット鍵ネゴシエーションアルゴリズムを決定した後、送信側デバイスは、ターゲット鍵ネゴシエーションアルゴリズムが、第1の情報によって示されるN個の鍵ネゴシエーションアルゴリズムのうちの1つかどうかを決定し、はいの場合、送信側デバイスは、ターゲット鍵ネゴシエーションアルゴリズムに基づいて、ターゲット鍵および/または鍵ネゴシエーションパラメータKE 2を取得し、いいえの場合、送信側デバイスは、第2の情報を破棄する。
【0127】
任意選択で、送信側デバイスは、ターゲット鍵KEに基づいて、暗号鍵および完全性保護鍵を取得する。暗号鍵は、送信側デバイスと受信側デバイスとの間で伝送される情報を暗号化するために使用される。完全性保護鍵は、送信側デバイスと受信側デバイスとの間で伝送される情報に対して完全性保護を行うために使用される。
【0128】
送信側デバイスが暗号鍵および完全性保護鍵を取得する手法は、下記の通りである。
【0129】
送信側デバイスは、第2の乱数(NONCE 2)をランダムに生成し、送信側デバイスは、ターゲット鍵KE、乱数(NONCE 1)、および乱数(NONCE 2)を鍵導出関数(key derivation function、KDF)KDF 1の入力として使用して、共有鍵Kgtを取得し、すなわち、Kgt=KDF 1(KE、NONCE 1、NONCE 2)である。
【0130】
送信側デバイスは、共有鍵KgtをKDF 2の入力として使用して、暗号鍵および完全性保護鍵を取得し、すなわち、Kenc=KDF 2(Kgt)である。同様に、Kint=KDF 3(Kgt)である。Kencは暗号鍵であり、Kintは完全性保護鍵である。
【0131】
別の手法において、ターゲット鍵KEを取得した後、送信側デバイスは、ターゲット鍵KEをKDF 2の入力として使用して、暗号鍵および完全性保護鍵を取得し、すなわち、Kenc=KDF 2(KE)である。同様に、Kint=KDF 3(KE)である。Kencは暗号鍵であり、Kintは完全性保護鍵である。
【0132】
KDF 1、KDF 2、およびKDF 3は、同一であってよく、または異なってもよいことが留意されるべきである。また、共有鍵Kgtを取得するために使用されるKDF、暗号鍵Kencを取得するために使用されるKDF、および完全性保護鍵Kintを取得するために使用されるKDFは、本出願において限定されない。
【0133】
本出願のこの実施形態における共有鍵Kgt、暗号鍵Kenc、および完全性保護鍵Kintを取得する手法は、本出願を限定するようには意図されておらず、別の手法が代替として使用されてよいことが理解され得る。例えば、Kenc=KDF 2(Kgt、ID 1)、およびKint=KDF 3(Kgt、ID 2)であり、ID 1は、暗号アルゴリズムの識別子であり、ID 2は、完全性保護アルゴリズムの識別子である。
【0134】
任意選択で、本方法は、S406をさらに含む。送信側デバイスは、受信側デバイスへ第3の情報を送信する。対応して、受信側デバイスは、送信側デバイスから第3の情報を受信する。
【0135】
第3の情報は、第2の鍵ネゴシエーションパラメータを含み、第2の鍵ネゴシエーションパラメータは、送信側デバイスに対応し、かつ、ターゲット鍵ネゴシエーションアルゴリズムに基づいて取得される鍵ネゴシエーションパラメータである。
【0136】
具体的には、第3の情報は、第2の乱数(NONCE 2)を搬送する。
【0137】
受信側デバイスによって送信側デバイスへ送信される第2の情報に対してはセキュリティ保護が行われないので、第2の情報は、送信処理中に改ざんされることがある。第2の情報が改ざんされている場合、送信側デバイスと受信側デバイスとの間の鍵ネゴシエーションは失敗し得る。したがって、第2の情報が改ざんされているかどうかが検証される必要がある。第2の情報が改ざんされているかどうかを検証する手法は、例えば、下記であり得る。
【0138】
送信側デバイスは、第2の情報に対して認証処理を行い、第2の情報をパラメータとして使用することによって、第1の認証データAUTH 1を生成し、第1の認証データAUTH 1を受信側デバイスへ送信し、その結果、受信側デバイスは、第2の情報が改ざんされているかどうかを検証する。任意選択で、第3の情報は、第1の認証データAUTH 1を含む。AUTH 1を取得する手法は、下記を含む。
【0139】
手法1:認証データAUTH 1は、送信側デバイスによって受信された第2の情報、予め設定された共有鍵PSK、およびKDF 4に基づいて、送信側デバイスによって取得され、すなわち、AUTH 1=KDF 4(PSK、第2の情報)である。予め設定された共有鍵PSKは、送信側デバイスと受信側デバイスとによって前もって共有される鍵であり、その結果、予め設定された共有鍵PSKに基づいて、送信側デバイスと受信側デバイスとの両方の識別に対して検証を行うことができ、送信側デバイスと受信側デバイスとの間で交換される情報の改ざんを回避するようにする。予め設定された共有鍵PSKを予め設定する手法は、本出願のこの実施形態において限定されないことが留意されるべきである。例えば、予め設定された共有鍵PSKは、送信側デバイスおよび受信側デバイスの各々に同一の数を前もって入力することによって取得されてよく、またはターゲット鍵KEが取得された後に、同一の導出アルゴリズムを使用することによって取得されてよい。
【0140】
対応して、第3の情報を受信した後、受信側デバイスは、認証データAUTH 1を取得し、認証データAUTH 1と第1の参照認証データとを照合する。第1の参照認証データは、送信された第2の情報、予め設定された共有鍵PSK、およびKDF 4に基づいて、受信側デバイスによって取得され、すなわち、第1の参照認証データ=KDF 4(PSK、第2の情報)である。したがって、第2の情報が、送信処理中に改ざんされていない場合、すなわち、送信側デバイスによって受信された第2の情報が、受信側デバイスによって送信された第2の情報と合致する場合、認証データAUTH 1は、参照認証データとマッチし、そうでない場合、認証データAUTH 1は、参照認証データとマッチしない。したがって、受信側デバイスは、認証データAUTH 1と第1の参照認証データとの照合結果に従って、送信側デバイスによって受信された第2の情報が、受信側デバイスによって送信された第2の情報と合致するかどうかを決定し得る。認証データAUTH 1が参照認証データとマッチする場合、それは、第2の情報が改ざんされていないことを示し、そうでない場合、受信側デバイスは、第3の情報を破棄し、受信側デバイスと送信側デバイスとの間の現在の接続を解放し、次いで、第2の情報を再送し得る。
【0141】
手法2:認証データAUTH 1は、送信側デバイスによって受信された第2の情報、乱数(NONCE 2)、予め設定された共有鍵PSK、およびKDF 5に基づいて、送信側デバイスによって取得され、すなわち、AUTH 1=KDF 5(PSK、NONCE 2、第2の情報)である。対応して、第1の参照認証データは、送信された第2の情報、受信された第3の情報内の乱数(NONCE 2)、予め設定された共有鍵PSK、およびKDF 5に基づいて、受信側デバイスによって取得され、すなわち、第1の参照認証データ=KDF 5(PSK、NONCE 2、第2の情報)である。したがって、第2の情報が、送信処理中に改ざんされていない、すなわち、送信側デバイスによって受信された第2の情報が、受信側デバイスによって送信された第2の情報と合致し、かつ、第3の情報内の乱数(NONCE 2)が改ざんされていない場合、認証データAUTH 1は、参照認証データとマッチし、そうでない場合、認証データAUTH 1は、参照認証データとマッチしない。したがって、受信側デバイスは、認証データAUTH 1と第1の参照認証データとの照合結果に従って、送信側デバイスによって受信された第2の情報が、受信側デバイスによって送信された第2の情報と合致するかどうかを決定し得る。認証データAUTH 1が参照認証データとマッチする場合、それは、第2の情報および乱数(NONCE 2)が改ざんされていないことを示し、そうでない場合、受信側デバイスは、第3の情報を破棄し、受信側デバイスと送信側デバイスとの間の現在の接続を解放し、次いで、第2の情報を再送し得る。
【0142】
本出願のこの実施形態において、AUTH 1は、代替として、他の手法で取得されてよく、他の手法は、本明細書において一つずつ列挙されない。
【0143】
AUTH 1を取得するためのKDFが、第1の参照認証データを取得するためのKDFと同一であり、かつ、AUTH 1を取得するためのパラメータが、第1の参照認証データを取得するためのパラメータと一対一で対応するならば、AUTH 1および第1の参照認証データを取得するためのKDFは、本出願のこの実施形態において限定されないことが留意されるべきである。例えば、AUTH 1は、KDF 4、送信側デバイスによって受信された第2の情報、および予め設定された共有鍵PSKを使用することによって取得され、対応して、第1の参照認証データは、KDF 4、受信側デバイスによって送信された第2の情報、および予め設定された共有鍵PSKを使用することによって取得される。
【0144】
任意選択で、第3の情報は、完全性保護アルゴリズムを使用することによって処理されている情報である。
【0145】
例えば、S406が行われる前に、送信側デバイスが、暗号鍵Kencおよび完全性保護鍵Kintを取得した後、送信側デバイスは、完全性保護アルゴリズム、完全性保護鍵Kint、および送信側デバイスによって送信された第3の情報内の一部または全部の情報に基づいて、第1のメッセージ認証コード(message authentication code、MAC)を取得し、第1のMACを使用することによって、第3の情報に対して完全性保護を行う。例えば、第3の情報は、第1のMACを含む。
【0146】
S407:受信側デバイスは、第2の鍵ネゴシエーションパラメータおよびターゲット鍵ネゴシエーションアルゴリズムに基づいて、ターゲット鍵を生成する。
【0147】
この実施形態において、送信側デバイスの鍵ネゴシエーションパラメータKE 2を受信した後、受信側デバイスは、鍵ネゴシエーションアルゴリズムおよび受信された鍵ネゴシエーションパラメータKE 2に基づいて、ターゲット鍵KEを取得する。
【0148】
任意選択で、受信側デバイスは、送信側デバイスと同一の方法を使用することによって、ターゲット鍵KEに基づいて、暗号鍵Kencおよび完全性保護鍵Kintを取得する。受信側デバイスは、完全性保護アルゴリズム、完全性保護鍵Kint、および受信側デバイスによって受信された第3の情報内の一部または全部の情報に基づいて、第2のMACを取得する。第1のMACが第2のMACと合致する場合、それは、第3の情報が改ざんされていないことを示す。そうでない場合、受信側デバイスは、第3の情報を破棄し、受信側デバイスと送信側デバイスとの間の現在の接続を解放し、次いで、第2の情報を再送し得る。
【0149】
任意選択で、本方法は、S408をさらに含む。受信側デバイスは、送信側デバイスへ第4の情報を送信する。対応して、送信側デバイスは、第4の情報を受信する。
【0150】
第4の情報は、鍵ネゴシエーションが成功したかどうかを決定するために、送信側デバイスによって使用される。
【0151】
任意選択で、第4の情報は、暗号鍵Kencを使用することによって暗号化される。受信側デバイスは、暗号鍵Kencを使用することによって第4の情報を暗号化する。第4の情報を受信した後、送信側デバイスは、暗号化された第4の情報を、暗号鍵Kencを使用することによって復号して、第4の情報を取得する。
【0152】
任意選択で、第4の情報は、第3の認証データをさらに含む。第3の認証データAUTH 3を取得する手法は、下記を含む。
【0153】
手法1:受信側デバイスは、受信側デバイスによって受信された第1の情報において示されるK個の鍵ネゴシエーションアルゴリズム、受信された第3の情報、予め設定された共有鍵PSK、乱数(NONCE 1)、およびKDF 6に基づいて、AUTH 3を取得し、すなわち、AUTH 3=KDF 6(PSK、K個の鍵ネゴシエーションアルゴリズム、第3の情報、NONCE 1)である。
【0154】
手法2:受信側デバイスは、受信側デバイスによって受信された第1の情報において示されるK個の鍵ネゴシエーションアルゴリズム、受信された第3の情報、予め設定された共有鍵PSK、およびKDF 7に基づいて、AUTH 3を取得し、すなわち、AUTH 3=KDF 7(PSK、K個の鍵ネゴシエーションアルゴリズム、第3の情報)である。
【0155】
本出願のこの実施形態において、AUTH 1は、代替として、他の手法で取得されてよく、他の手法は、本明細書において一つずつ列挙されない。
【0156】
任意選択で、第4の情報は、完全性保護アルゴリズムを使用することによって処理されている情報である。
【0157】
受信側デバイスは、完全性保護アルゴリズム、完全性保護鍵Kint、および受信側デバイスによって送信された第4の情報内の一部または全部の情報に基づいて、第3のメッセージ認証コードMACを取得し、第3のMACを使用することによって、第4の情報に対して完全性保護を行う。例えば、第4の情報は、第3のMACを含む。
【0158】
任意選択で、本方法は、S409をさらに含む。送信側デバイスは、第4の情報を検証することを試みる。
【0159】
任意選択で、送信側デバイスは、完全性保護アルゴリズム、完全性保護鍵Kint、および送信側デバイスによって受信された第4の情報内の一部または全部の情報に基づいて、第4のメッセージ認証コードMACを取得する。第3のMACが第4のMACと合致する場合、それは、第4の情報が改ざんされていないことを示し、後続の動作が行われる。そうでない場合、受信側デバイスは、第4の情報を破棄する。後続の動作の具体的な動作内容は、本出願のこの実施形態において限定されない。
【0160】
任意選択で、第4の情報は、認証データAUTH 3を含み、対応して、送信側デバイスは、認証データAUTH 3を取得し、認証データAUTH 3を第3の参照認証データと照合する。
【0161】
KDF、および第3の参照認証データを取得するためのパラメータは、AUTH 3を取得する手法に対応する。例えば、下記の通りである。
【0162】
AUTH 3が手法1で取得される場合、第3の参照認証データは、送信側デバイスによって送信された第1の情報において示されるN個の鍵ネゴシエーションアルゴリズム、送信された第3の情報、予め設定された共有鍵PSK、乱数(NONCE 1)、およびKDF 6に基づいて、送信側デバイスによって取得される。すなわち、第3の参照認証データ=KDF 6(PSK、送信された第1の情報において示されるN個の鍵ネゴシエーションアルゴリズム、第3の情報、NONCE 1)である。したがって、第1の情報および第3の情報が伝送期間中に改ざんされていない、すなわち、受信側デバイスによって受信された第1の情報および第3の情報が、送信側デバイスによって送信された第1の情報および第3の情報とそれぞれ合致する場合、認証データAUTH 3は、第3の参照認証データとマッチする。第1の情報および/または第3の情報が、伝送期間中に改ざんされている場合、認証データAUTH 3は、第3の参照認証データとマッチしない。したがって、認証データAUTH 3と第3の参照認証データとの照合結果に従って、送信側デバイスは、受信側デバイスによって受信された第1の情報が、送信側デバイスによって送信された第1の情報と合致するかどうか、および受信側デバイスによって受信された第3の情報が、送信側デバイスによって送信された第3の情報と合致するかどうかを決定し得る。認証データAUTH 3が参照認証データとマッチする場合、それは、第1の情報も第3の情報も改ざんされておらず、送信側デバイスと受信側デバイスとの間の鍵ネゴシエーションが成功したことを示し、そうでない場合、送信側デバイスは、第4の情報を破棄し、受信側デバイスから接続解除する。
【0163】
AUTH 3が手法2で取得される場合、第3の参照認証データは、送信側デバイスによって送信された第1の情報において示されるN個の鍵ネゴシエーションアルゴリズム、送信された第3の情報、予め設定された共有鍵PSK、およびKDF 6に基づいて、送信側デバイスによって取得される。すなわち、第3の参照認証データ=KDF 7(PSK、送信された第1の情報において示されるN個の鍵ネゴシエーションアルゴリズム、第3の情報)である。したがって、第1の情報および第3の情報が伝送期間中に改ざんされていない、すなわち、受信側デバイスによって受信された第1の情報および第3の情報が、送信側デバイスによって送信された第1の情報および第3の情報とそれぞれ合致する場合、認証データAUTH 3は、第3の参照認証データとマッチする。第1の情報および/または第3の情報が、伝送期間中に改ざんされている場合、認証データAUTH 3は、第3の参照認証データとマッチしない。したがって、認証データAUTH 3と第3の参照認証データとの照合結果に従って、送信側デバイスは、受信側デバイスによって受信された第1の情報が、送信側デバイスによって送信された第1の情報と合致するかどうか、および受信側デバイスによって受信された第3の情報が、送信側デバイスによって送信された第3の情報と合致するかどうかを決定し得る。認証データAUTH 3が参照認証データとマッチする場合、それは、第1の情報も第3の情報も改ざんされておらず、送信側デバイスと受信側デバイスとの間の鍵ネゴシエーションが成功することを示し、そうでない場合、送信側デバイスは、第4の情報を破棄し、受信側デバイスから接続解除する。
【0164】
AUTH 3を取得するためのKDFが、第3の参照認証データを取得するためのKDFと同一であり、かつ、AUTH 3を取得するためのパラメータが、第3の参照認証データを取得するためのパラメータと一対一で対応するならば、AUTH 3および第3の参照認証データを取得するためのKDFは、本出願のこの実施形態において限定されないことが留意されるべきである。例えば、AUTH 3は、KDF 6、受信側デバイスによって受信された第1の情報において示されるK個の鍵ネゴシエーションアルゴリズム、受信された第3の情報、予め設定された共有鍵PSK、および乱数(NONCE 1)を使用することによって取得される。対応して、第3の参照認証データは、KDF 6、送信側デバイスによって送信された第1の情報において示されるN個の鍵ネゴシエーションアルゴリズム、送信された第3の情報、予め設定された共有鍵PSK、および乱数(NONCE 1)を使用することによって取得される。
【0165】
この実施形態において、送信側デバイスと受信側デバイスとの間の鍵ネゴシエーション期間中に、送信側デバイスは、第1の情報を使用することによって、送信側デバイスによってサポートされる全ての鍵ネゴシエーションアルゴリズムを受信側デバイスに通知し、受信側デバイスは、送信側デバイスによってサポートされる受信された鍵ネゴシエーションアルゴリズムから、受信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムを選択する。このようにして、受信側デバイスによって選択された鍵ネゴシエーションアルゴリズムは、送信側デバイスと受信側デバイスとの両方によってサポートされる。これは、受信側デバイスによって選択された鍵ネゴシエーションアルゴリズムを送信側デバイスがサポートしないことが理由で引き起こされる、鍵ネゴシエーションアルゴリズムネゴシエーション失敗を回避し、鍵ネゴシエーション効率を改善する。また、本出願のこの実施形態において提供される鍵ネゴシエーション方法は、中国語の暗号のアルゴリズムをサポートする。
【0166】
図5は、本出願の別の実施形態による鍵ネゴシエーション方法のフローチャートである。図5に示されるように、本出願のこの実施形態における鍵ネゴシエーション方法は、下記のステップを含む。
【0167】
S501:送信側デバイスは、受信側デバイスへ第1の情報を送信する。対応して、受信側デバイスは、第1の情報を受信する。
【0168】
第1の情報は、N個の鍵ネゴシエーションアルゴリズムを示すために使用され、Nは、1以上の整数であり、N個の鍵ネゴシエーションアルゴリズムは、送信側デバイスによってサポートされる。
【0169】
例えば、第1の情報は、ネゴシエーションパケット内で搬送される。具体的には、通信システム内の2つのデバイスがデータ伝送を行う前に、2つのデバイスは、伝送されるデータをターゲット鍵に基づいて暗号化および復号するために、鍵ネゴシエーションを行って、ターゲット鍵を取得する必要がある。送信側デバイスと受信側デバイスとが鍵ネゴシエーションを行う場合、開始側デバイスは、受信側デバイスへネゴシエーションパケットを送信する。
【0170】
任意選択で、第1の情報は、N個の鍵ネゴシエーションアルゴリズムの優先度情報を示すためにさらに使用される。第1の情報内に含まれるN個の鍵ネゴシエーションアルゴリズムの識別情報は、N個の鍵ネゴシエーションアルゴリズムの優先度情報に基づいて、配置され、またはカプセル化される。
【0171】
例えば、第1の情報によって示されるN個の鍵ネゴシエーションアルゴリズムは、優先度の降順で配置され、または第1の情報によって示されるN個の鍵ネゴシエーションアルゴリズムは、優先度の昇順で配置される。例えば、表2に示されるように、第1の情報は、アルゴリズム1、アルゴリズム2、アルゴリズム3、アルゴリズム4、およびアルゴリズム5を示すために使用される。アルゴリズム4の優先度は、アルゴリズム2の優先度よりも高く、アルゴリズム2の優先度は、アルゴリズム5の優先度よりも高く、アルゴリズム5の優先度は、アルゴリズム1の優先度よりも高く、アルゴリズム1の優先度は、アルゴリズム3の優先度よりも高い。
【0172】
S502:受信側デバイスは、ターゲット鍵ネゴシエーションアルゴリズムを決定する。
【0173】
ターゲット鍵ネゴシエーションアルゴリズムは、受信側デバイスによってサポートされる、N個の鍵ネゴシエーションアルゴリズムのうちの鍵ネゴシエーションアルゴリズムである。
【0174】
この実施形態において、受信側デバイスは、第1の情報におけるN個の鍵ネゴシエーションアルゴリズムから、受信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムをターゲットネゴシエーションアルゴリズムとして決定する。
【0175】
任意選択で、受信側デバイスは、受信された第1の情報において示されるN個の鍵ネゴシエーションアルゴリズムの優先度情報に基づいて、N個の鍵ネゴシエーションアルゴリズムの中にあり、かつ、受信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムにおいて、送信側デバイスに関して最も高い優先度を有する鍵ネゴシエーションアルゴリズムを選択し、鍵ネゴシエーションアルゴリズムをターゲットネゴシエーションアルゴリズムとして使用する。
【0176】
例えば、表3は、受信側デバイスによってサポートされる全ての鍵ネゴシエーションアルゴリズムを示す。受信側デバイスによって受信された第1の情報は、表1に示される5つの鍵ネゴシエーションアルゴリズムを示す。第1の情報において、5つのアルゴリズムの識別子は、優先度の降順で配置される。5つの鍵ネゴシエーションアルゴリズムにおいて、受信側デバイスは、アルゴリズム2、アルゴリズム3、およびアルゴリズム5をサポートしており、アルゴリズム2の優先度は、アルゴリズム3の優先度およびアルゴリズム5の優先度よりも高いことが、表1から表3より知ることができる。この場合において、受信側デバイスは、アルゴリズム2をターゲットネゴシエーションアルゴリズムとして選択する。
【0177】
任意選択で、受信側デバイスは、受信された第1の情報において示されるN個の鍵ネゴシエーションアルゴリズムに基づいて、N個の鍵ネゴシエーションアルゴリズムの中にあり、かつ、受信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムにおいて、受信側デバイスに関して最も高い優先度を有する鍵ネゴシエーションアルゴリズムを決定し、鍵ネゴシエーションアルゴリズムをターゲットネゴシエーションアルゴリズムとして使用する。
【0178】
例えば、表4は、受信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムの優先度情報を示す。表3に示されるように、受信側デバイスによって受信された第1の情報は、表1に示される5つの鍵ネゴシエーションアルゴリズムを示し、受信側デバイスは、5つの鍵ネゴシエーションアルゴリズムにおけるアルゴリズム2、アルゴリズム3、およびアルゴリズム5をサポートする。受信側デバイスに関しては、アルゴリズム3の優先度が、アルゴリズム2の優先度よりも高く、アルゴリズム2の優先度が、アルゴリズム5の優先度よりも高いことが、表4から知ることができる。この場合において、受信側デバイスは、アルゴリズム3をターゲットネゴシエーションアルゴリズムとして選択する。この実施形態において、第1の情報において示される、送信側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズムは、優先度情報に従って配置されなくてよく、すなわち、第1の情報は、送信側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズムの優先度情報を示さないことが留意されるべきである。
【0179】
S503:受信側デバイスは、ターゲット鍵ネゴシエーションアルゴリズムに基づいて、第1の鍵ネゴシエーションパラメータを生成する。
【0180】
第1の鍵ネゴシエーションパラメータは、受信側デバイスに対応して、かつ、ターゲット鍵ネゴシエーションアルゴリズムに基づいて取得される鍵ネゴシエーションパラメータである。
【0181】
例えば、受信側デバイスは、選択された鍵ネゴシエーションアルゴリズムを使用することによって、計算を通じて、鍵ネゴシエーションパラメータKE 1を取得する。
【0182】
S504:受信側デバイスは、送信側デバイスへ第2の情報を送信する。対応して、送信側デバイスは、受信側デバイスから第2の情報を受信する。
【0183】
第2の情報は、ターゲット鍵ネゴシエーションアルゴリズムを示し、第1の鍵ネゴシエーションパラメータを含む。さらに、任意選択で、第2の情報は、受信側デバイスによってサポートされるM個の鍵ネゴシエーションアルゴリズムをさらに示す。
【0184】
この実施形態において、第2の情報は、受信側デバイスによってサポートされるM個の鍵ネゴシエーションアルゴリズムをさらに示し、その結果、送信側デバイスは、受信側デバイスによって選択された鍵ネゴシエーションアルゴリズムが受信側デバイスと送信側デバイスとの両方によってサポートされるかどうかを決定する。受信側デバイスによって選択された鍵ネゴシエーションアルゴリズムが受信側デバイスと送信側デバイスとの両方によってサポートされると決定した場合、送信側デバイスは、S505を行い、そうでない場合、送信側デバイスは、第2の情報を破棄し、受信側デバイスから接続解除する。
【0185】
第2の情報は、下記の手法のうちのいずれか1つにおいて、M個の鍵ネゴシエーションアルゴリズムを示し得る。
【0186】
手法1:第2の情報は、受信側デバイスによってサポートされるM個の鍵ネゴシエーションアルゴリズムの識別子を含み、その結果、送信側デバイスは、受信側デバイスによってサポートされるM個の鍵ネゴシエーションアルゴリズムを取得する。
【0187】
表1に示されるアルゴリズムの識別子は、例として使用される。第2の情報が、ID 2、ID 3、およびID 5を含む場合、第2の情報は、アルゴリズム2、アルゴリズム3、およびアルゴリズム5を示すために使用される。第2の情報が、ID 1およびID 5を含む場合、第2の情報は、アルゴリズム1およびアルゴリズム5を示すために使用される。
【0188】
表1は、第2の情報によって示される鍵ネゴシエーションアルゴリズム識別子の例にすぎないことが理解され得る。特定の適用において、第2の情報によって示される鍵ネゴシエーションアルゴリズムは、代替として、別の形式であってよく、それについては限定されない。
【0189】
手法2:第2の情報は、ビットシーケンスを含み、ビットシーケンス内の1つのビットは、1つのアルゴリズムに対応し、ビットシーケンス内の各ビットは、そのビットに対応するアルゴリズムを第2の情報が示すかどうかを示すために、0または1であり得る。例えば、ビットが1である場合、それは、そのビットに対応するアルゴリズムを第2の情報が示すことを示し得、ビットが0である場合、それは、そのビットに対応するアルゴリズムを第2の情報が示さないことを示し得る。
【0190】
例えば、第1の情報は、4つのビットを含み、4つのビット内の第1のビットは、アルゴリズム1に対応し、第2のビットは、アルゴリズム2に対応し、第3のビットは、アルゴリズム3に対応し、第4のビットは、アルゴリズム4に対応する。4つのビットが1001である場合、それは、アルゴリズム1およびアルゴリズム4を示すために第2の情報が使用されることを示し得る。つのビットが1100である場合、それは、アルゴリズム1およびアルゴリズム2を示すために第1のアルゴリズムネゴシエーション要求情報が使用されることを示し得る。
【0191】
任意選択で、送信側デバイスは、受信された第2の情報において示される、受信側デバイスによってサポートされるM個の鍵ネゴシエーションアルゴリズムに基づいて、受信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムの優先度を決定して、受信側デバイスによって選択された鍵ネゴシエーションアルゴリズムが、受信側デバイスと送信側デバイスとの両方によってサポートされるアルゴリズムにおいて、送信側デバイスまたは受信側デバイスに関して最も高い優先度を有する鍵ネゴシエーションアルゴリズムかどうかを決定するようにする。はいの場合、送信側デバイスは、S505を行い、そうでない場合、送信側デバイスは、第2の情報を破棄し、受信側デバイスから接続解除する。
【0192】
例えば、受信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムは、アルゴリズム2、アルゴリズム3、アルゴリズム5、およびアルゴリズム6を含む。受信側デバイスについて、表4に示されるように、アルゴリズム3の優先度は、アルゴリズム6の優先度より高い、アルゴリズム6の優先度は、アルゴリズム2の優先度より高い。また、アルゴリズム2の優先度は、アルゴリズム5の優先度より高い。
【0193】
受信側デバイスが、受信側デバイスと送信側デバイスとの両方によってサポートされるアルゴリズムにおいて、送信側デバイスに関して最も高い優先度を有する鍵ネゴシエーションアルゴリズムを、ターゲットネゴシエーションアルゴリズムとして選択する場合、送信側デバイスによって、第2の情報を使用することによって取得されるターゲットネゴシエーションアルゴリズムは、アルゴリズム2であるべきであることが、表2および表4を参照して学習されることが可能である。送信側デバイスによって、第2の情報を使用することによって取得されるターゲットネゴシエーションアルゴリズムが、アルゴリズム2ではない場合、送信側デバイスは、第2の情報を破棄する。
【0194】
受信側デバイスが、受信側デバイスと送信側デバイスとの両方によってサポートされるアルゴリズムにおいて、受信側デバイスに関して最も高い優先度を有する鍵ネゴシエーションアルゴリズムを、ターゲットネゴシエーションアルゴリズムとして選択する場合、送信側デバイスによって、第2の情報を使用することによって取得されるターゲットネゴシエーションアルゴリズムは、アルゴリズム3であるべきである。送信側デバイスによって、第2の情報を使用することによって取得されるターゲットネゴシエーションアルゴリズムが、アルゴリズム3でない場合、送信側デバイスは、第2の情報を破棄する。
【0195】
例えば、送信側デバイスが、受信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムの優先度を決定する手法は、下記を含む。
【0196】
手法1:送信側デバイスは、受信側デバイスから、M個の鍵ネゴシエーションアルゴリズムの優先度情報を受信する。例えば、鍵ネゴシエーションは、送信側デバイスと受信側デバイスとの間で行われる。鍵ネゴシエーション期間中に、受信側デバイスは、受信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムの優先度を、情報を使用することによって送信側デバイスに示す。次いで、送信側デバイスは、受信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムの優先度を受信側デバイスに関連付け、関連付けを記憶する。したがって、この鍵ネゴシエーション処理において、送信側デバイスは、受信側デバイスの識別子に基づいて、受信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムの優先度を決定する。
【0197】
手法2:第2の情報は、受信側デバイスによってサポートされるM個の鍵ネゴシエーションアルゴリズムの優先度情報を示すためにさらに使用される。第2の情報は、M個の鍵ネゴシエーションアルゴリズムの識別情報を含み、識別情報は、M個の鍵ネゴシエーションアルゴリズムの優先度に基づいて、配置され、またはカプセル化される。この場合において、送信側デバイスは、第2の情報に基づいて、受信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムの優先度情報を取得する。
【0198】
任意選択で、第2の情報は、第1の乱数をさらに搬送し、第1の乱数(NONCE 1)は、受信側デバイスによって生成される乱数である。
【0199】
任意選択で、第2の情報は、受信側デバイスの識別子をさらに搬送する。受信側デバイスの識別子は、受信側デバイスを識別するために使用される。
【0200】
S505:送信側デバイスは、ターゲット鍵ネゴシエーションアルゴリズムおよび第1の鍵ネゴシエーションパラメータに基づいて、ターゲット鍵を生成する。
【0201】
この実施形態において、第2の情報は、ターゲット鍵ネゴシエーションアルゴリズムの識別子を搬送するので、送信側デバイスは、ターゲット鍵ネゴシエーションアルゴリズムの識別子を使用することによって、受信側デバイスによって選択された鍵ネゴシエーションアルゴリズムを決定して、ターゲット鍵ネゴシエーションアルゴリズムおよび鍵ネゴシエーションパラメータKE 1に基づいて、ターゲット鍵KEを生成するようにする。また、送信側デバイスは、ターゲット鍵ネゴシエーションアルゴリズムに基づいて、鍵ネゴシエーションパラメータKE 2を計算する。
【0202】
任意選択で、第2の情報を使用することによってターゲット鍵ネゴシエーションアルゴリズムを決定した後、送信側デバイスは、ターゲット鍵ネゴシエーションアルゴリズムが、第1の情報によって示されるN個の鍵ネゴシエーションアルゴリズムのうちの1つかどうかを決定し、はいの場合、送信側デバイスは、ターゲット鍵ネゴシエーションアルゴリズムに基づいて、ターゲット鍵および/または鍵ネゴシエーションパラメータKE 2を取得し、いいえの場合、送信側デバイスは、第2の情報を破棄する。
【0203】
任意選択で、送信側デバイスは、ターゲット鍵KEに基づいて、暗号鍵および完全性保護鍵を取得する。暗号鍵は、送信側デバイスと受信側デバイスとの間で伝送される情報を暗号化するために使用される。完全性保護鍵は、送信側デバイスと受信側デバイスとの間で伝送される情報に対して完全性保護を行うために使用される。
【0204】
送信側デバイスが暗号鍵および完全性保護鍵を取得する手法は、下記の通りである。
【0205】
送信側デバイスは、第2の乱数(NONCE 2)をランダムに生成し、送信側デバイスは、ターゲット鍵KE、乱数(NONCE 1)、および乱数(NONCE 2)を、鍵導出関数(key derivation function、KDF)KDF 1の入力として使用して、共有鍵Kgtを取得し、すなわち、Kgt=KDF 1(KE、NONCE 1、NONCE 2)である。
【0206】
送信側デバイスは、共有鍵KgtをKDF 2の入力として使用して、暗号鍵および完全性保護鍵を取得し、すなわち、Kenc=KDF 2(Kgt)である。同様に、Kint=KDF 3(Kgt)である。Kencは暗号鍵であり、Kintは完全性保護鍵である。
【0207】
別の手法において、ターゲット鍵KEを取得した後、送信側デバイスは、ターゲット鍵KEをKDF 2の入力として使用して、暗号鍵および完全性保護鍵を取得し、すなわち、Kenc=KDF 2(KE)である。同様に、Kint=KDF 3(KE)である。Kencは暗号鍵であり、Kintは完全性保護鍵である。
【0208】
KDF 1、KDF 2、およびKDF 3は、同一であってよく、または異なってよいことが留意されるべきである。また、共有鍵Kgtを取得するために使用されるKDF、暗号鍵Kencを取得するために使用されるKDF、および完全性保護鍵Kintを取得するために使用されるKDFは、本出願において限定されない。
【0209】
本出願のこの実施形態における共有鍵Kgt、暗号鍵Kenc、および完全性保護鍵Kintを取得する手法は、本出願を限定するようには意図されておらず、別の手法が代替として使用されてよいことが理解され得る。例えば、Kenc=KDF 2(Kgt、ID 1)、およびKint=KDF 3(Kgt、ID 2)であり、ID 1は、暗号アルゴリズムの識別子であり、ID 2は、完全性保護アルゴリズムの識別子である。
【0210】
任意選択で、本方法は、S506をさらに含む。送信側デバイスは、受信側デバイスへ第3の情報を送信する。対応して、受信側デバイスは、送信側デバイスから第3の情報を受信する。
【0211】
第3の情報は、第2の鍵ネゴシエーションパラメータを含み、第2の鍵ネゴシエーションパラメータは、送信側デバイスに対応し、かつ、ターゲット鍵ネゴシエーションアルゴリズムに基づいて取得される鍵ネゴシエーションパラメータである。
【0212】
具体的には、第3の情報は、第2の乱数(NONCE 2)を搬送する。
【0213】
任意選択で、受信側デバイスによって送信側デバイスへ送信される第2の情報に対してはセキュリティ保護が行われないので、第2の情報は、送信処理中に改ざんされることがある。第2の情報が改ざんされている場合、送信側デバイスと受信側デバイスとの間の鍵ネゴシエーションは失敗し得る。したがって、第2の情報が改ざんされているかどうかが検証される必要がある。第2の情報が改ざんされているかどうかを検証する手法は、例えば、下記であり得る。
【0214】
送信側デバイスは、第2の情報に対して認証処理を行い、第2の情報をパラメータとして使用することによって第1の認証データAUTH 1を生成し、受信側デバイスへ認証データAUTH 1を送信し、その結果、受信側デバイスは、第2の情報が改ざんされているかどうかを検証する。任意選択で、第3の情報は、認証データAUTH 1を含む。AUTH 1を取得する手法は、下記を含む。
【0215】
手法1:認証データAUTH 1は、送信側デバイスによって受信された第2の情報、予め設定された共有鍵PSK、およびKDF 4に基づいて、送信側デバイスによって取得され、すなわち、AUTH 1=KDF 4(PSK、第2の情報)である。予め設定された共有鍵PSKは、送信側デバイスと受信側デバイスとによって前もって共有される鍵であり、その結果、予め設定された共有鍵PSKに基づいて、送信側デバイスと受信側デバイスとの両方の識別に対して検証を行うことができ、送信側デバイスと受信側デバイスとの間で交換される情報の改ざんを回避するようにする。予め設定された共有鍵PSKを予め設定する手法は、本出願のこの実施形態において限定されないことが留意されるべきである。例えば、予め設定された共有鍵PSKは、送信側デバイスおよび受信側デバイスの各々に同一の数を前もって入力することによって取得されてよく、またはターゲット鍵KEが取得された後に、同一の導出アルゴリズムを使用することによって取得されてよい。
【0216】
対応して、第3の情報を受信した後、受信側デバイスは、認証データAUTH 1を取得し、認証データAUTH 1を第1の参照認証データと照合する。第1の参照認証データは、送信された第2の情報、予め設定された共有鍵PSK、およびKDF 4に基づいて、受信側デバイスよって取得され、すなわち、第1の参照認証データ=KDF 4(PSK、第2の情報)である。したがって、第2の情報が、送信処理中に改ざんされていない場合、すなわち、送信側デバイスによって受信された第2の情報が、受信側デバイスによって送信された第2の情報と合致する場合、認証データAUTH 1は、参照認証データとマッチし、そうでない場合、認証データAUTH 1は、参照認証データとマッチしない。したがって、受信側デバイスは、認証データAUTH 1と第1の参照認証データとの照合結果に従って、送信側デバイスによって受信された第2の情報が、受信側デバイスによって送信された第2の情報と合致するかどうかを決定し得る。認証データAUTH 1が参照認証データとマッチする場合、それは、第2の情報が改ざんされていないことを示し、そうでない場合、受信側デバイスは、第3の情報を破棄し、受信側デバイスと送信側デバイスとの間の現在の接続を解放し、次いで、第2の情報を再送し得る。
【0217】
手法2:認証データAUTH 1は、送信側デバイスによって受信された第2の情報、乱数(NONCE 2)、予め設定された共有鍵PSK、およびKDF 5に基づいて、送信側デバイスによって取得され、すなわち、AUTH 1= KDF 5(PSK、NONCE、第2の情報2)である。対応して、第1の参照認証データは、送信された第2の情報、受信された第3の情報内の乱数(NONCE 2)、予め設定された共有鍵PSK、およびKDF 5に基づいて、受信側デバイスによって取得され、すなわち、第1の参照認証データ=KDF 5(PSK、NONCE、第2の情報2)である。したがって、第2の情報が、送信処理中改ざんされていない、すなわち、送信側デバイスによって受信された第2の情報が、受信側デバイスによって送信された第2の情報と合致し、第3の情報内の乱数(NONCE 2)が改ざんされていない場合、認証データAUTH 1は、参照認証データとマッチし、そうでない場合、認証データAUTH 1は、参照認証データとマッチしない。したがって、受信側デバイスは、認証データAUTH 1と第1の参照認証データとの照合結果に従って、送信側デバイスによって受信された第2の情報が、受信側デバイスによって送信された第2の情報と合致するかどうかを決定し得る。認証データAUTH 1が、参照認証データとマッチする場合、それは、第2の情報および乱数(NONCE 2)が改ざんされていないことを示し、そうでない場合、受信側デバイスは、第3の情報を破棄し、受信側デバイスと送信側デバイスとの間の現在の接続を解放し、次いで、第2の情報を再送し得る。
【0218】
本出願のこの実施形態において、AUTH 1は、代替として、他の手法で取得されてよく、他の手法は、本明細書において一つずつ列挙されない。
【0219】
AUTH 1を取得するためのKDFが、第1の参照認証データを取得するためのKDFと同一であり、かつ、AUTH 1を取得するためのパラメータが、第1の参照認証データを取得するためのパラメータと一対一で対応するならば、AUTH 1および第1の参照認証データを取得するためのKDFは、本出願のこの実施形態において限定されないことが留意されるべきである。例えば、AUTH 1は、KDF 4、送信側デバイスによって受信された第2の情報、および予め設定された共有鍵PSKを使用することによって取得され、対応して、第1の参照認証データは、KDF 4、受信側デバイスによって送信された第2の情報、および予め設定された共有鍵PSKを使用することによって取得される。
【0220】
任意選択で、第3の情報は、完全性保護アルゴリズムを使用することによって処理されている情報である。
【0221】
例えば、S406が行われる前に、送信側デバイスが、暗号鍵Kencおよび完全性保護鍵Kintを取得した後、送信側デバイスは、完全性保護アルゴリズム、完全性保護鍵Kint、および送信側デバイスによって送信された第3の情報内の一部または全部の情報に基づいて、第1のメッセージ認証コード(message authentication code、MAC)を取得し、第1のMACを使用することによって、第3の情報に対して完全性保護を行う。例えば、第3の情報は、第1のMACを含む。
【0222】
S507:受信側デバイスは、第2の鍵ネゴシエーションパラメータおよびターゲット鍵ネゴシエーションアルゴリズムに基づいて、ターゲット鍵を生成する。
【0223】
この実施形態において、送信側デバイスの鍵ネゴシエーションパラメータKE 2を受信した後、受信側デバイスは、鍵ネゴシエーションアルゴリズムおよび受信された鍵ネゴシエーションパラメータKE 2に基づいて、ターゲット鍵KEを取得する。
【0224】
任意選択で、受信側デバイスは、送信側デバイスと同一の方法を使用することによって、ターゲット鍵KEに基づいて、暗号鍵Kencおよび完全性保護鍵Kintを取得する。受信側デバイスは、完全性保護アルゴリズム、完全性保護鍵Kint、および受信側デバイスによって受信された第3の情報内の一部または全部の情報に基づいて、第2のメッセージ認証コードMACを取得する。第1のMACが第2のMACと合致する場合、それは、第3の情報が改ざんされていないことを示す。そうでない場合、受信側デバイスは、第3の情報を破棄し、受信側デバイスと送信側デバイスとの間の現在の接続を解放し、次いで、第2の情報を再送し得る。
【0225】
任意選択で、本方法は、S508をさらに含む。受信側デバイスは、送信側デバイスへ第4の情報を送信する。対応して、送信側デバイスは、第4の情報を受信する。
【0226】
任意選択で、本方法は、S509をさらに含む。送信側デバイスは、第4の情報を検証することを試みる。
【0227】
この実施形態において、第4の情報は、第2の認証データAUTH 2をさらに含み、第2の認証データAUTH 2は、受信側デバイスが第3の情報に対して認証処理を行った後に取得される認証データである。第2の認証データAUTH 2は、第3の情報が改ざんされているかどうかを示すために使用される。第3の情報が改ざんされているかどうかは、第2の認証データAUTH 2と第2の参照認証データとの照合結果を使用することによって示される。第2の参照認証データは、認証処理が第3の情報に対して行われた後に取得される認証データである。
【0228】
第2の情報は、受信側デバイスによってサポートされる全ての鍵ネゴシエーションアルゴリズムを示す。S508が行われる場合、それは、第1の情報および第2の情報が送信処理中に改ざんされていないことを示す。したがって、第1の情報が改ざんされているかどうかを確認することは必要ではない。
【0229】
送信側デバイスは、受信側デバイスへ第3の情報を送って、受信側デバイスがターゲット鍵を取得することを可能にする。しかしながら、受信側デバイスはターゲット鍵を生成しないので、暗号鍵は生成されることが可能ではない。したがって、送信側デバイスは、第3の情報を暗号化することができず、すなわち、第3の情報は、セキュリティ保護を受けず、結果的に、第3の情報が伝送期間中に改ざんされる可能性がある。第3の情報が改ざんされている場合、送信側デバイスと受信側デバイスとの間の通信における情報は、漏洩され得る。したがって、第3の情報が改ざんされているかどうかが決定される必要がある。したがって、受信側デバイスは、第3の情報に対して認証処理を行って、第2の認証データAUTH 2を取得する。また、第3の情報は送信側デバイスによって送信されるので、認証データAUTH 2は、第4の情報内に含まれており、送信側デバイスへ送信され、送信側デバイスは、第3の情報が改ざんされているかどうかを決定する。例えば、AUTH 2は、受信された第3の情報、予め設定された共有鍵PSK、乱数(NONCE 1)、およびKDF 6に基づいて、受信側デバイスによって取得され、すなわち、AUTH 2=KDF 8(PSK、第3の情報、NONCE 1)である。
【0230】
送信側デバイスは、第4の情報からAUTH 2を取得し、認証データAUTH 2を第2の参照認証データと照合する。第2の参照認証データは、送信側デバイスによって送信された第3の情報、予め設定された共有鍵PSK、乱数(NONCE 1)、およびKDF 8に基づいて、送信側デバイスによって取得され、すなわち、第3の参照認証データ=KDF 8(PSK、第3の情報、NONCE 1)である。したがって、第3の情報が伝送期間中に改ざんされていない、すなわち、受信側デバイスによって受信された第3の情報が、送信側デバイスによって送信された第3の情報と合致する場合、認証データAUTH 2は、第2の参照認証データとマッチする。第3の情報が伝送期間中に改ざんされている場合、認証データAUTH 2は、第2の参照認証データとマッチしない。したがって、送信側デバイスは、認証データAUTH 2と第2の参照認証データとの照合結果に従って、受信側デバイスによって受信された第3の情報が、送信側デバイスによって送信された第3の情報と合致するかどうかを決定し得る。認証データAUTH 2が参照認証データとマッチする場合、それは、第3の情報が改ざんされておらず、送信側デバイスと受信側デバイスとの間の鍵ネゴシエーションが成功したことを示し、そうでない場合、送信側デバイスは、第4の情報を破棄し、受信側デバイスから接続解除する。
【0231】
図6は、本出願の別の実施形態による鍵ネゴシエーション方法のフローチャートである。図6に示されるように、本出願のこの実施形態における鍵ネゴシエーション方法は、下記のステップを含む。
【0232】
S601:送信側デバイスは、受信側デバイスへ第1の情報を送信する。対応して、受信側デバイスは、第1の情報を受信する。
【0233】
第1の情報は、N個の鍵ネゴシエーションアルゴリズムを示すために使用され、Nは、1以上の整数であり、N個の鍵ネゴシエーションアルゴリズムは、送信側デバイスによってサポートされる。
【0234】
例えば、第1の情報は、ネゴシエーションパケット内で搬送される。具体的には、通信システム内の2つのデバイスがデータ伝送を行う前に、2つのデバイスは、伝送されるデータをターゲット鍵に基づいて暗号化および復号するために、鍵ネゴシエーションを行って、ターゲット鍵を取得する必要がある。送信側デバイスと受信側デバイスとが鍵ネゴシエーションを行う場合、開始側デバイスは、受信側デバイスへネゴシエーションパケットを送信する。
【0235】
任意選択で、第1の情報は、N個の鍵ネゴシエーションアルゴリズムの優先度情報を示すためにさらに使用される。第1の情報内に含まれるN個の鍵ネゴシエーションアルゴリズムの識別情報は、N個の鍵ネゴシエーションアルゴリズムの優先度情報に基づいて、配置され、またはカプセル化される。
【0236】
例えば、第1の情報によって示されるN個の鍵ネゴシエーションアルゴリズムは、優先度の降順で配置され、または第1の情報によって示されるN個の鍵ネゴシエーションアルゴリズムは、優先度の昇順で配置される。例えば、表2に示されるように、第1の情報は、アルゴリズム1、アルゴリズム2、アルゴリズム3、アルゴリズム4、およびアルゴリズム5を示すために使用される。アルゴリズム4の優先度は、アルゴリズム2の優先度より高く、アルゴリズム2の優先度は、アルゴリズム5の優先度より高く、アルゴリズム5の優先度は、アルゴリズム1の優先度より高く、アルゴリズム1の優先度は、アルゴリズム3の優先度より高い。
【0237】
S602:受信側デバイスは、ターゲット鍵ネゴシエーションアルゴリズムを決定する。
【0238】
ターゲット鍵ネゴシエーションアルゴリズムは、受信側デバイスによってサポートされる、N個の鍵ネゴシエーションアルゴリズムのうちの鍵ネゴシエーションアルゴリズムである。
【0239】
この実施形態において、受信側デバイスは、第1の情報内のN個の鍵ネゴシエーションアルゴリズムから、受信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムをターゲットネゴシエーションアルゴリズムとして決定する。
【0240】
任意選択で、受信側デバイスは、受信された第1の情報において示されるN個の鍵ネゴシエーションアルゴリズムの優先度情報に基づいて、N個の鍵ネゴシエーションアルゴリズムの中にあり、かつ、受信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムにおいて、送信側デバイスに関して最も高い優先度を有する鍵ネゴシエーションアルゴリズムを選択し、その鍵ネゴシエーションアルゴリズムをターゲットネゴシエーションアルゴリズムとして使用する。
【0241】
例えば、表3は、受信側デバイスによってサポートされる全ての鍵ネゴシエーションアルゴリズムを示す。受信側デバイスによって受信された第1の情報は、表1に示される5つの鍵ネゴシエーションアルゴリズムを示す。第1の情報において、5つのアルゴリズムの識別子は、優先度の降順で配置される。5つの鍵ネゴシエーションアルゴリズムにおいて、受信側デバイスは、アルゴリズム2、アルゴリズム3、およびアルゴリズム5をサポートしており、アルゴリズム2の優先度は、アルゴリズム3の優先度およびアルゴリズム5の優先度よりも高いことが、表1から表3より知るこができる。この場合において、受信側デバイスは、アルゴリズム2をターゲットネゴシエーションアルゴリズムとして選択する。
【0242】
任意選択で、受信側デバイスは、受信された第1の情報において示されるN個の鍵ネゴシエーションアルゴリズムに基づいて、N個の鍵ネゴシエーションアルゴリズムの中にあり、かつ、受信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムにおいて、受信側デバイスに関して最も高い優先度を有する鍵ネゴシエーションアルゴリズムを決定し、その鍵ネゴシエーションアルゴリズムをターゲットネゴシエーションアルゴリズムとして使用する。
【0243】
例えば、表4は、受信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムの優先度情報を示す。表3に示されるように、受信側デバイスによって受信された第1の情報は、表1に示される5つの鍵ネゴシエーションアルゴリズムを示し、受信側デバイスは、5つの鍵ネゴシエーションアルゴリズムにおけるアルゴリズム2、アルゴリズム3、およびアルゴリズム5をサポートする。受信側デバイスに関しては、アルゴリズム3の優先度が、アルゴリズム2の優先度よりも高く、アルゴリズム2の優先度が、アルゴリズム5の優先度よりも高いことが、表4から知ることができる。この場合において、受信側デバイスは、アルゴリズム3をターゲットネゴシエーションアルゴリズムとして選択する。この実施形態において、第1の情報において示される、送信側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズムは、優先度情報に従って配置されなくてよいこと、すなわち、第1の情報は、送信側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズムの優先度情報を示さないことが留意されるべきである。
【0244】
S603:受信側デバイスは、ターゲット鍵ネゴシエーションアルゴリズムに基づいて、第1の鍵ネゴシエーションパラメータを生成する。
【0245】
第1の鍵ネゴシエーションパラメータは、受信側デバイスに対応し、かつ、ターゲット鍵ネゴシエーションアルゴリズムに基づいて取得される鍵ネゴシエーションパラメータである。
【0246】
例えば、受信側デバイスは、選択された鍵ネゴシエーションアルゴリズムを使用することによって、計算を通じて、鍵ネゴシエーションパラメータKE 1を取得する。
【0247】
S604:受信側デバイスは、送信側デバイスへ第2の情報を送信する。対応して、送信側デバイスは、受信側デバイスから第2の情報を受信する。
【0248】
第2の情報は、ターゲット鍵ネゴシエーションアルゴリズムを示し、第1の鍵ネゴシエーションパラメータを含む。
【0249】
任意選択で、第2の情報は、第1の乱数をさらに搬送し、第1の乱数(NONCE 1)は、受信側デバイスによって生成される乱数である。
【0250】
任意選択で、第2の情報は、受信側デバイスの識別子をさらに搬送する。受信側デバイスの識別子は、受信側デバイスを識別するために使用される。
【0251】
S605:送信側デバイスは、ターゲット鍵ネゴシエーションアルゴリズムおよび第1の鍵ネゴシエーションパラメータに基づいて、ターゲット鍵を生成する。
【0252】
この実施形態において、第2の情報は、ターゲット鍵ネゴシエーションアルゴリズムの識別子を搬送するので、送信側デバイスは、ターゲット鍵ネゴシエーションアルゴリズムの識別子を使用することによって、受信側デバイスによって選択された鍵ネゴシエーションアルゴリズムを決定して、ターゲット鍵ネゴシエーションアルゴリズムおよび鍵ネゴシエーションパラメータKE 1に基づいて、ターゲット鍵KEを生成する。また、送信側デバイスは、ターゲット鍵ネゴシエーションアルゴリズムに基づいて、計算を通じて、KE 2として表される第2の鍵ネゴシエーションパラメータを取得する。
【0253】
任意選択で、第2の情報を使用することによってターゲット鍵ネゴシエーションアルゴリズムを決定した後、送信側デバイスは、ターゲット鍵ネゴシエーションアルゴリズムが、第1の情報によって示されるN個の鍵ネゴシエーションアルゴリズムのうちの1つかどうかを決定し、はいの場合、送信側デバイスは、ターゲット鍵ネゴシエーションアルゴリズムに基づいて、ターゲット鍵および/または鍵ネゴシエーションパラメータKE 2を取得し、いいえの場合、送信側デバイスは、第2の情報を破棄する。
【0254】
任意選択で、送信側デバイスは、ターゲット鍵KEに基づいて、暗号鍵および完全性保護鍵を取得する。暗号鍵は、送信側デバイスと受信側デバイスとの間で伝送される情報を暗号化するために使用される。完全性保護鍵は、送信側デバイスと受信側デバイスとの間で伝送される情報に対して完全性保護を行うために使用される。
【0255】
送信側デバイスが暗号鍵および完全性保護鍵を取得する手法は、下記の通りである。
【0256】
送信側デバイスは、第2の乱数(NONCE 2)をランダムに生成し、送信側デバイスは、ターゲット鍵KE、乱数(NONCE 1)、および乱数(NONCE 2)を、鍵導出関数(key derivation function、KDF)KDF 1の入力として使用して、共有鍵Kgtを取得し、すなわち、Kgt=KDF 1(KE、NONCE 1、NONCE 2)である。
【0257】
送信側デバイスは、共有鍵KgtをKDF 2の入力として使用して、暗号鍵および完全性保護鍵を取得し、すなわち、Kenc=KDF 2(Kgt)である。同様に、Kint=KDF 3(Kgt)である。Kencは暗号鍵であり、Kintは完全性保護鍵である。
【0258】
別の手法において、ターゲット鍵KEを取得した後、送信側デバイスは、ターゲット鍵KEをKDF 2の入力として使用して、暗号鍵および完全性保護鍵を取得し、すなわち、Kenc=KDF 2(KE)である。同様に、Kint=KDF 3(KE)である。Kencは暗号鍵であり、Kintは完全性保護鍵である。
【0259】
KDF 1、KDF 2、およびKDF 3は、同一であってよく、または異なってよいことが留意されるべきである。また、共有鍵Kgtを取得するために使用されるKDF、暗号鍵Kencを取得するために使用されるKDF、および完全性保護鍵Kintを取得するために使用されるKDFは、本出願において限定されない。
【0260】
本出願のこの実施形態における共有鍵Kgt、暗号鍵Kenc、および完全性保護鍵Kintを取得する手法は、本出願を限定するようには意図されておらず、別の手法が代替として使用されてよいことが理解され得る。例えば、Kenc=KDF 2(Kgt、ID 1)、およびKint=KDF 3(Kgt、ID 2)であり、ID 1は、暗号アルゴリズムの識別子であり、ID 2は、完全性保護アルゴリズムの識別子である。
【0261】
任意選択で、本方法は、S606をさらに含む。送信側デバイスは、受信側デバイスへ第3の情報を送信する。対応して、受信側デバイスは、送信側デバイスから第3の情報を受信する。
【0262】
第3の情報は、第2の鍵ネゴシエーションパラメータを含み、第2の鍵ネゴシエーションパラメータは、送信側デバイスに対応し、かつ、ターゲット鍵ネゴシエーションアルゴリズムに基づいて取得される鍵ネゴシエーションパラメータであり、第3の情報は、送信側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズムを示すためにさらに使用される。受信側デバイスは、第1の情報が改ざんされているかどうかを決定する。
【0263】
第3の情報は、ふたたび、送信側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズムを示す。完全性保護が第3の情報に対して行われているので、受信側デバイスは、第1のMACと第2のMACとの比較結果を使用することによって、第3の情報が改ざんされているかどうかを決定し得る。第3の情報が改ざんされていないとき、第3の情報によって示される、送信側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズムが、第1の情報から取得される、送信側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズムと合致する場合、それは、第1の情報が改ざんされていないことを示し、そうでない場合、それは、第1の情報が改ざんされていることを示し、受信側デバイスは、第3の情報を破棄し、送信側デバイスから接続解除する。
【0264】
S607:受信側デバイスは、第2の鍵ネゴシエーションパラメータおよびターゲット鍵ネゴシエーションアルゴリズムに基づいて、ターゲット鍵を生成する。
【0265】
この実施形態において、送信側デバイスの鍵ネゴシエーションパラメータKE 2を受信した後、受信側デバイスは、鍵ネゴシエーションアルゴリズムおよび受信された鍵ネゴシエーションパラメータKE 2に基づいて、ターゲット鍵KEを取得する。
【0266】
任意選択で、受信側デバイスは、送信側デバイスと同一の方法を使用することによって、ターゲット鍵KEに基づいて、暗号鍵Kencおよび完全性保護鍵Kintを取得する。受信側デバイスは、完全性保護アルゴリズム、完全性保護鍵Kint、および受信側デバイスによって受信された第3の情報内の一部または全部の情報に基づいて、第2のメッセージ認証コードMACを取得する。第1のMACが第2のMACと合致する場合、それは、第3の情報が改ざんされていないことを示す。そうでない場合、受信側デバイスは、第3の情報を破棄し、受信側デバイスと送信側デバイスとの間の現在の接続を解放し、次いで、第2の情報を再送し得る。
【0267】
任意選択で、本方法は、S608をさらに含む。受信側デバイスは、送信側デバイスへ第4の情報を送信する。対応して、送信側デバイスは、第4の情報を受信する。
【0268】
任意選択で、本方法は、S609をさらに含む。送信側デバイスは、第4の情報を検証することを試みる。
【0269】
この実施形態において、第4の情報は、第2の認証データAUTH 2をさらに含み、第2の認証データは、受信側デバイスが第3の情報に対して認証処理を行った後に取得される認証データである。第2の認証データは、第3の情報が改ざんされているかどうかを示すために使用される。第3の情報が改ざんされているかどうかは、第2の認証データと第2の参照認証データとの照合結果を使用することによって示される。第2の参照認証データは、認証処理が第3の情報に対して行われた後に取得される認証データである。
【0270】
送信側デバイスは、受信側デバイスへ第3の情報を送って、受信側デバイスがターゲット鍵を取得することを可能にする。しかしながら、受信側デバイスはターゲット鍵を生成しないので、暗号鍵は生成されることが可能ではない。したがって、送信側デバイスは、第3の情報を暗号化することができず、すなわち、第3の情報は、セキュリティ保護を受けず、結果的に、第3の情報が伝送期間中に改ざんされる可能性がある。第3の情報が改ざんされている場合、送信側デバイスと受信側デバイスとの間の通信における情報は、漏洩され得る。したがって、第3の情報が改ざんされているかどうかが決定される必要がある。したがって、受信側デバイスは、第3の情報に対して認証処理を行って、第2の認証データAUTH 2を取得し、認証データAUTH 2を第4の情報に追加し、送信側デバイスへ第4の情報を送信する。第3の情報は送信側デバイスによって送信されるので、送信側デバイスは、第3の情報が改ざんされているかどうかを決定する。例えば、AUTH 2は、受信された第3の情報、予め設定された共有鍵PSK、乱数(NONCE 1)、およびKDF 6に基づいて、受信側デバイスによって取得され、すなわち、AUTH 2=KDF 6(PSK、第3の情報、NONCE 1)である。
【0271】
送信側デバイスは、第4の情報からAUTH 2を取得し、認証データAUTH 2を第2の参照認証データと照合する。第2の参照認証データは、送信側デバイスによって送信された第3の情報、予め設定された共有鍵PSK、乱数(NONCE 1)、およびKDF 5に基づいて、送信側デバイスによって取得され、すなわち、第3の参照認証データ=KDF 6(PSK、第3の情報、NONCE 1)である。したがって、第3の情報が伝送期間中に改ざんされていない、すなわち、受信側デバイスによって受信された第3の情報が、送信側デバイスによって送信された第3の情報と合致する場合、認証データAUTH 2は、第2の参照認証データとマッチする。第3の情報が伝送期間中に改ざんされている場合、認証データAUTH 2は、第2の参照認証データとマッチしない。したがって、送信側デバイスは、認証データAUTH 2と第2の参照認証データとの照合結果に従って、受信側デバイスによって受信された第3の情報が、送信側デバイスによって送信された第3の情報と合致するかどうかを決定し得る。認証データAUTH 2が参照認証データとマッチする場合、それは、第3の情報が改ざんされておらず、送信側デバイスと受信側デバイスとの間の鍵ネゴシエーションが成功したことを示し、そうでない場合、送信側デバイスは、受信側デバイスから接続解除する。
【0272】
図7は、本出願の別の実施形態による鍵ネゴシエーション方法のフローチャートである。図7に示されるように、本出願のこの実施形態における鍵ネゴシエーション方法は、下記のステップを含む。
【0273】
S701:第6の情報を送信する。対応して、受信側デバイスは、第6の情報を受信する。
【0274】
この実施形態において、第1の情報と比較して、第6の情報は、送信側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズムを示さない。したがって、第6の情報を受信した後、受信側デバイスは、送信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムについて学習することができない。
【0275】
S702:受信側デバイスは、第1のターゲット鍵ネゴシエーションアルゴリズムを決定する。
【0276】
第1のターゲット鍵ネゴシエーションアルゴリズムは、M個の鍵ネゴシエーションアルゴリズムから、受信側デバイスによって決定された鍵ネゴシエーションアルゴリズムである。
【0277】
この実施形態において、受信側デバイスは、送信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムについて学習しないので、受信側デバイスは、受信側デバイスによってサポートされるM個の鍵ネゴシエーションアルゴリズムから、第1のターゲット鍵ネゴシエーションアルゴリズムを決定する。
【0278】
S703:受信側デバイスは、第1のターゲット鍵ネゴシエーションアルゴリズムに基づいて、第1の鍵ネゴシエーションパラメータを生成する。
【0279】
この実施形態において、受信側デバイスは、秘密鍵を生成し、秘密鍵は、受信側デバイスのみに知られており、受信側デバイスは、選択された鍵ネゴシエーションアルゴリズムを使用することによって公開鍵を生成し、公開鍵は、鍵ネゴシエーションパラメータKE 1である。
【0280】
S704:受信側デバイスは、送信側デバイスへ第2の情報を送信する。対応して、送信側デバイスは、受信側デバイスから第2の情報を受信する。
【0281】
第2の情報は、受信側デバイスによってサポートされるM個の鍵ネゴシエーションアルゴリズム、第1のターゲット鍵ネゴシエーションパラメータ、および第1の鍵ネゴシエーションパラメータを示すために使用される。
【0282】
S705:送信側デバイスは、第1のターゲット鍵ネゴシエーションアルゴリズムに基づいて、ターゲット鍵ネゴシエーションを行うかどうかを決定し、はいの場合、S706を行い、またはnoの場合、S710を行う。
【0283】
この実施形態において、第1のターゲット鍵ネゴシエーションアルゴリズムを選択する場合、受信側デバイスは、送信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズムを知らない。したがって、第1のターゲット鍵ネゴシエーションアルゴリズムは、送信側デバイスによってサポートされていないことがある。したがって、第2の情報を受信した後、送信側デバイスは、第1のターゲット鍵ネゴシエーションアルゴリズムが送信側デバイスによってサポートされるかどうかを決定し、はいの場合、S706を行い、そうでない場合、S710を行う。
【0284】
任意選択で、送信側デバイスは、第1のターゲット鍵ネゴシエーションが、送信側デバイスによってサポートされ、かつ、受信側デバイスによってもサポートされるアルゴリズムにおいて、送信側デバイスに関して最も高い優先度を有する鍵ネゴシエーションアルゴリズムであるかどうかをさらに決定し得る。はいの場合、S706が行われ、そうでない場合、S710が実行される。
【0285】
任意選択で、第2の情報は、受信側デバイスによってサポートされるM個の鍵ネゴシエーションアルゴリズムの優先度情報をさらに示す。したがって、送信側デバイスは、第2の情報に基づいて、受信側デバイスによってサポートされるM個の鍵ネゴシエーションアルゴリズムの優先度情報について学習し得る。この場合において、送信側デバイスは、第1のターゲット鍵ネゴシエーションが、送信側デバイスによってサポートされ、かつ、受信側デバイスによってもサポートされるアルゴリズムにおいて、受信側デバイスに関して最も高い優先度を有する鍵ネゴシエーションアルゴリズムかどうかをさらに決定し得る。はいの場合、S706が行われ、そうでない場合、S710が実行される。
【0286】
S706:送信側デバイスは、第1のターゲット鍵ネゴシエーションアルゴリズムおよび第1の鍵ネゴシエーションパラメータに基づいて、ターゲット鍵を生成する。
【0287】
この実施形態において、送信側デバイスは、第1のターゲット鍵ネゴシエーションアルゴリズムおよび鍵ネゴシエーションパラメータKE 1に基づいて、ターゲット鍵KEを生成する。また、送信側デバイスは、秘密鍵を生成し、秘密鍵は、送信側デバイスのみに知られており、次いで、送信側デバイスは、第1のターゲット鍵ネゴシエーションアルゴリズムに基づいて、計算を通じて、対応する公開鍵を取得する。公開鍵は、第2の鍵ネゴシエーションパラメータであり、KE 2として表される。
【0288】
S707:送信側デバイスは、受信側デバイスへ第3の情報を送信する。対応して、受信側デバイスは、送信側デバイスから第3の情報を受信する。
【0289】
第3の情報は、第2の鍵ネゴシエーションパラメータを含む。
【0290】
S708:受信側デバイスは、第2の鍵ネゴシエーションパラメータおよび第1のターゲット鍵ネゴシエーションアルゴリズムに基づいて、ターゲット鍵を生成する。
【0291】
この実施形態において、第3の情報は、鍵ネゴシエーションパラメータKE 2を含み、第3の情報を受信した後、受信側デバイスは、鍵ネゴシエーションパラメータKE 2および第1のターゲット鍵ネゴシエーションアルゴリズムに基づいて、ターゲット鍵KEを生成する。
【0292】
S709:受信側デバイスは、送信側デバイスへ第4の情報を送信する。対応して、送信側デバイスは、第4の情報を受信する。
【0293】
第4の情報は、鍵ネゴシエーションが成功するかどうかを決定するために、送信側デバイスによって使用される。
【0294】
S710:送信側デバイスは、第2のターゲット鍵ネゴシエーションアルゴリズムを決定する。
【0295】
第2のターゲット鍵ネゴシエーションアルゴリズムは、送信側デバイスと受信側デバイスとの両方によってサポートされ、かつ、N個の鍵ネゴシエーションアルゴリズムおよびM個の鍵ネゴシエーションアルゴリズムから、送信側デバイスによって決定される鍵ネゴシエーションアルゴリズムである。
【0296】
この実施形態において、送信側デバイスは、受信側デバイスによってサポートされるM個の鍵ネゴシエーションアルゴリズムを知っている。この場合において、送信側デバイスは、送信側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズム、および受信側デバイスによってサポートされるM個の鍵ネゴシエーションアルゴリズムから、送信側デバイスと受信側デバイスとの両方によってサポートされる鍵ネゴシエーションアルゴリズムを、第2のターゲット鍵ネゴシエーションアルゴリズムとして選択する。
【0297】
任意選択で、送信側デバイスは、送信側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズム、および受信側デバイスによってサポートされるM個の鍵ネゴシエーションアルゴリズムから、送信側デバイスに関して最も高い優先度を有し、かつ、送信側デバイスと受信側デバイスとの両方によってサポートされる鍵ネゴシエーションアルゴリズムを、第2のターゲット鍵ネゴシエーションアルゴリズムとして、さらに選択してよい。
【0298】
任意選択で、第2の情報は、受信側デバイスによってサポートされるM個の鍵ネゴシエーションアルゴリズムの優先度情報をさらに示す。
【0299】
任意選択で、送信側デバイスは、送信側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズム、および受信側デバイスによってサポートされるM個の鍵ネゴシエーションアルゴリズムから、送信側デバイスに関して最も高い優先度を有し、かつ、送信側デバイスと受信側デバイスとの両方によってサポートされる鍵ネゴシエーションアルゴリズムを、第2のターゲット鍵ネゴシエーションアルゴリズムとして、さらに選択してよい。
【0300】
任意選択で、第2の情報は、受信側デバイスによってサポートされるM個の鍵ネゴシエーションアルゴリズムの優先度情報をさらに示す。この場合において、送信側デバイスは、送信側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズム、および受信側デバイスによってサポートされるM個の鍵ネゴシエーションアルゴリズムから、受信側デバイスに関して最も高い優先度を有し、かつ、送信側デバイスと受信側デバイスとの両方によってサポートされる鍵ネゴシエーションアルゴリズムを、第2のターゲット鍵ネゴシエーションアルゴリズムとして、さらに選択し得る。
【0301】
S711:送信側デバイスは、受信側デバイスへ第7の情報を送信する。
【0302】
第7の情報は、送信側デバイスによって選択される第2のターゲット鍵ネゴシエーションアルゴリズムを示すために使用される。
【0303】
例えば、送信側デバイスは、第7の情報を使用することによって、受信側デバイスへ第2のターゲット鍵ネゴシエーションアルゴリズムを送信する。第7の情報を受信した後、受信側デバイスは、図4におけるステップS403からS408を行うが、ターゲット鍵ネゴシエーションアルゴリズムは、第2のターゲット鍵ネゴシエーションアルゴリズムである。具体的には、受信側デバイスは、第7の情報に基づいて、第2のターゲット鍵ネゴシエーションアルゴリズムについて学習し、次いで、秘密鍵を生成し、秘密鍵は、受信側デバイスのみによって知られており、受信側デバイスは、第2の鍵ネゴシエーションアルゴリズムを使用することによって、公開鍵を生成し、公開鍵は、鍵ネゴシエーションパラメータKE 1であり、受信側デバイスは、送信側デバイスへ第2の情報を送信し、第2の情報は、鍵ネゴシエーションパラメータKE 1を含む。
【0304】
第2の情報を受信した後、送信側デバイスは、鍵ネゴシエーションパラメータKE 1を取得し、送信側デバイスは、秘密鍵を生成し、秘密鍵は、送信側デバイスのみに知られている。送信側デバイスは、鍵ネゴシエーションパラメータKE 1、送信側デバイスに対応する秘密鍵、および第2のターゲット鍵ネゴシエーションアルゴリズムに基づいて、ターゲット鍵KEを取得する。また、送信側デバイスは、第2の鍵ネゴシエーションアルゴリズムを使用することによって、生成された秘密鍵に基づいて、公開鍵を生成し、公開鍵は、鍵ネゴシエーションパラメータKE 2であり、送信側デバイスは、受信側デバイスへ第3の情報を送信し、第3の情報は、鍵ネゴシエーションパラメータKE 2を含む。
【0305】
第3の情報を受信した後、受信側デバイスは、鍵ネゴシエーションパラメータKE 2を取得し、受信側デバイスは、秘密鍵を生成し、秘密鍵は、受信側デバイスのみに知られている。受信側デバイスは、鍵ネゴシエーションパラメータKE 2、受信側デバイスに対応する秘密鍵、および第2のターゲット鍵ネゴシエーションアルゴリズムに基づいて、ターゲット鍵KEを取得する。
【0306】
任意選択で、第7の情報は、送信側デバイスによって選択された第2のターゲット鍵ネゴシエーションアルゴリズムと、第2の鍵ネゴシエーションパラメータとを示すために使用される。第2のターゲット鍵ネゴシエーションアルゴリズムを決定した後、送信側デバイスは、秘密鍵を生成し、秘密鍵は、送信側デバイスのみに知られている。送信側デバイスは、第2のターゲット鍵ネゴシエーションアルゴリズムを使用することによって、鍵ネゴシエーションパラメータKE 2を生成し、鍵ネゴシエーションパラメータKE 2および第2のターゲット鍵ネゴシエーションアルゴリズムを受信側デバイスへ送信する。このようにして、受信側デバイスは、第7の情報を使用することによって、鍵ネゴシエーションパラメータKE 2について直接学習し得、その結果、送信側デバイスは、鍵ネゴシエーションパラメータKE 2を示すために別の情報を送信する必要がなく、送信側デバイスと受信側デバイスとの間の情報交換が低減され、鍵ネゴシエーション効率が改善される。
【0307】
第7の情報を受信した後、受信側デバイスは、送信側デバイスの鍵ネゴシエーションパラメータKE 2および第2のターゲット鍵ネゴシエーションアルゴリズムを取得し得る。受信側デバイスは、秘密鍵を生成し、秘密鍵は、受信側デバイスのみに知られている。次いで、受信側デバイスは、第2のターゲット鍵ネゴシエーションアルゴリズムに基づいて、鍵ネゴシエーションパラメータKE 1を生成する。次いで、受信側デバイスは、鍵ネゴシエーションパラメータKE 2および第2のターゲット鍵ネゴシエーションアルゴリズムに基づいて、ターゲット鍵KEを生成する。次いで、受信側デバイスは、送信側デバイスへ第2の情報を送信し、第2の情報は、鍵ネゴシエーションパラメータKE 1を含む。
【0308】
任意選択で、第2の情報は、受信側デバイスによってランダムに生成された第1の乱数(NONCE 1)をさらに含む。
【0309】
任意選択で、第2の情報は、第4の認証データをさらに含んでよく、第4の認証データは、受信された第7の情報、予め設定された共有鍵PSK、およびKDF 9に基づいて、受信側デバイスによって取得され、すなわち、第4の参照認証データ= KDF 9(PSK、受信側デバイスによって受信された第7の情報)である。第2の情報を受信した後、送信側デバイスは、第4の認証データを第4の参照認証データと比較する。第4の参照認証データは、送信された第7の情報、予め設定された共有鍵PSK、およびKDF 9に基づいて、送信側デバイスによって取得される。この場合において、第4の認証データが第4の参照認証データとマッチする場合、それは、第7の情報が送信処理中に改ざんされていないことを示し、そうでない場合、送信側デバイスは、第2の情報を破棄し、受信側デバイスから接続解除する。任意選択で、第2の情報は、完全性保護された情報である。
【0310】
第7の情報が送信処理中に改ざんされていない場合、送信側デバイスは、受信側デバイスへ第3の情報を送信し、第3の情報は、暗号化され、かつ、完全性保護された情報である。第3の情報は、第5の認証データを含み、第5の認証データは、S704において送信側デバイスよって受信された対応する第2の情報、予め設定された共有鍵PSK、送信側デバイスによって受信され、かつ、第4の認証データを搬送する第2の情報、およびKDF 10に基づいて、送信側デバイスによって取得され、すなわち、第4の参照認証データ=KDF 10(PSK、S704において送信側デバイスによって受信された対応する第2の情報、および送信側デバイスによって受信され、かつ、第4の認証データを搬送する第2の情報)である。第3の情報を受信した後、送信側デバイスは、第5の認証データを第5の参照認証データと比較する。第5の参照認証データは、S704において送信された対応する第2の情報、予め設定された共有鍵PSK、第4の認証データを搬送する送信された第2の情報、およびKDF 10に基づいて、受信側デバイスによって取得される。したがって、第5の認証データが第5の参照認証データとマッチする場合、それは、S704における対応する第2の情報も、第4の認証データを搬送する第2の情報も、送信処理中に改ざんされていないことを示し、そうでない場合、受信側デバイスは、第3の情報を破棄し、受信側デバイスから接続解除する。
【0311】
第2の情報を受信した後、送信側デバイスは、鍵ネゴシエーションパラメータKE 1を取得し、鍵ネゴシエーションパラメータKE 1および第2のターゲット鍵ネゴシエーションアルゴリズムに基づいて、ターゲット鍵KEを取得する。
【0312】
任意選択で、第7の情報は、送信側デバイスによってランダムに生成された第2の乱数(NONCE 2)をさらに含む。
【0313】
前述の実施形態において、送信側デバイスによって実装される方法またはステップは、受信側デバイスに対して使用されることが可能な構成要素によって実装されてもよく、受信側デバイスによって実装される方法またはステップは、送信側デバイスに対して使用されることが可能な構成要素によって実装されてもよいことが理解され得る。
【0314】
図8は、本出願の一実施形態による鍵ネゴシエーション装置の構造の概略図である。図8に示されるように、この実施形態における鍵ネゴシエーション装置800は、前述の方法実施形態において言及された送信側デバイスまたは受信側デバイスであってよい。鍵ネゴシエーション装置は、前述の方法実施形態において説明された送信側デバイスまたは受信側デバイスに対応する方法を実装するように構成され得る。詳細については、前述の方法実施形態における説明を参照されたい。
【0315】
鍵ネゴシエーション装置800は、1つまたは複数のプロセッサ801を含み得る。プロセッサ801は、処理ユニットと称されてもよく、特定の制御または処理機能を実装し得る。プロセッサ801は、汎用プロセッサ、専用プロセッサ等であってよい。例えば、プロセッサは、ベースバンドプロセッサまたは中央処理ユニットであってよい。ベースバンドプロセッサは、通信プロトコルおよび通信データを処理するように構成され得る。中央処理ユニットは、通信装置を制御し、ソフトウェアプログラムを実行し、ソフトウェアプログラムのデータを処理するように構成され得る。
【0316】
任意選択の設計において、プロセッサ801は、命令803またはデータ(例えば、中間データ)を記憶してもよい。命令803は、プロセッサによって実行されて、鍵ネゴシエーション装置800が、前述の方法実施形態において説明された送信側デバイスまたは受信側デバイスに対応する方法を行うことを可能にし得る。
【0317】
別の可能な設計において、鍵ネゴシエーション装置800は、回路を含み得る。回路は、前述の方法実施形態における送信機能、受信機能、または通信機能を実装し得る。
【0318】
任意選択で、鍵ネゴシエーション装置800は、1つまたは複数のメモリ802を含み得る。メモリは、命令804を記憶し、命令は、プロセッサ上で実行されて、鍵ネゴシエーション装置800が、前述の方法実施形態において説明された方法を行うことを可能にし得る。
【0319】
任意選択で、メモリは、データを記憶してもよい。プロセッサとメモリとは、別々に配設されてよく、または共に一体化されてよい。
【0320】
任意選択で、鍵ネゴシエーション装置800は、送受信機805および/またはアンテナ806をさらに含み得る。プロセッサ801は、処理ユニットと称されてよく、鍵ネゴシエーション装置(送信側デバイスまたは受信側デバイス)を制御する。送受信機805は、送受信機ユニット、送受信機機械、送受信機回路、送受信機等と称されてよく、鍵ネゴシエーション装置の受信機能および送信機能を実装するように構成される。
【0321】
設計において、鍵ネゴシエーション装置800は、前述の実施形態における受信側デバイスに対応する動作を実装するように構成される。例えば、送受信機805は、送信側デバイスからの第1の情報を受信し得る。プロセッサ801は、第1の情報に基づいて、受信側デバイスが送信側デバイスと鍵ネゴシエーションを行うと決定する。
【0322】
別の設計において、鍵ネゴシエーション装置800は、前述の実施形態における送信側デバイスに対応する動作を実装するように構成される。例えば、プロセッサ801は、第1の情報を決定し得、第1の情報は、送信側デバイスによってサポートされる鍵ネゴシエーションアルゴリズム能力を示し、送受信機805は、受信側デバイスへ第1の情報を送信する。
【0323】
送受信機805およびプロセッサ801の特定の実装処理については、前述の実施形態における関連する説明を参照されたく、詳細は、ここでは再度説明されない。
【0324】
本出願において説明されるプロセッサ801および送受信機805は、集積回路(integrated circuit、IC)、アナログIC、無線周波数集積回路(radio frequency integrated circuit、RFIC)、混合信号IC、特定用途向け集積回路(application-specific integrated circuit、ASIC)、プリント回路板(printed circuit board、PCB)、電子デバイス等で実装され得る。プロセッサおよび送受信機は、様々なIC技術、例えば、相補型金属酸化膜半導体(complementary metal oxide semiconductor、CMOS)、N型金属酸化膜半導体(N-type metal oxide semiconductor、NMOS)、pチャネル金属酸化膜半導体(positive channel metal oxide semiconductor、PMOS)、バイポーラ接合トランジスタ(bipolar junction transistor、BJT)、バイポーラCMOS(BiCMOS)、シリコンゲルマニウム(SiGe)、およびガリウムひ素(GaAs)を使用することによって製造され得る。
【0325】
鍵ネゴシエーション装置800は、前述の実施形態において、例として送信側デバイスまたは受信側デバイスを使用することによって説明されているが、本出願において説明される鍵ネゴシエーション装置の範囲は、前述の送信側デバイスまたは前述の受信側デバイスに限定されない。また、鍵ネゴシエーション装置の構造は、図8に限定されなくてよい。鍵ネゴシエーション装置800は、独立したデバイスであってよく、または比較的大型のデバイスの一部であってよい。例えば、デバイスは、
(1)独立した集積回路IC、チップ、もしくはチップシステムもしくはサブシステム、
(2)1つもしくは複数のICを含むセットであって、任意選択で、ICセットは、データおよび/もしくは命令を記憶するように構成された記憶構成要素をさらに含み得る、1つもしくは複数のICを含むセット、
(3)ASIC、例えば、モデム(MSM)、
(4)別のデバイスに埋め込まれることが可能なモジュール、
(5)受信機、端末、セルラー電話、ワイヤレスデバイス、携帯型電話、モバイルユニット、ネットワークデバイス等、または
(6)他のもの等
であってよい。
【0326】
図9は、本出願の別の実施形態による鍵ネゴシエーション装置の構造の概略図である。本装置は、送信側デバイスであってよく、または送信側デバイスの構成要素(例えば、集積回路もしくはチップ)であってよく、または図4から図6に示される方法実施形態における送信側デバイスに対応する動作もしくはステップを実装するように構成された別の通信モジュールであってよい。図9に示されるように、この実施形態において提供される鍵ネゴシエーション装置は、第1の送信モジュール901と、第1の受信モジュール902と、第1の処理モジュール903とを含む。
【0327】
第1の送信モジュール901は、受信側デバイスへ第1の情報を送信するように構成され、第1の情報は、N個の鍵ネゴシエーションアルゴリズムを示すために使用され、Nは、1以上の整数であり、N個の鍵ネゴシエーションアルゴリズムは、送信側デバイスによってサポートされるアルゴリズムである。
【0328】
第1の受信モジュール902は、受信側デバイスから第2の情報を受信するように構成され、第2の情報は、ターゲット鍵ネゴシエーションアルゴリズムを示すために使用され、第1の鍵ネゴシエーションパラメータを含み、ターゲット鍵ネゴシエーションアルゴリズムは、受信側デバイスによってサポートされる、N個の鍵ネゴシエーションアルゴリズムのうちの鍵ネゴシエーションアルゴリズムであり、第1の鍵ネゴシエーションパラメータは、受信側デバイスに対応し、かつ、ターゲット鍵ネゴシエーションアルゴリズムに基づいて取得される鍵ネゴシエーションパラメータである。
【0329】
第1の処理モジュール903は、ターゲット鍵ネゴシエーションアルゴリズムおよび第1の鍵ネゴシエーションパラメータに基づいて、ターゲット鍵を生成するように構成される。
【0330】
任意選択で、第1の送信モジュール901は、
受信側デバイスへ第3の情報を送信することであって、第3の情報は、第2の鍵ネゴシエーションパラメータを含み、第2の鍵ネゴシエーションパラメータは、送信側デバイスに対応し、かつ、ターゲット鍵ネゴシエーションアルゴリズムに基づいて取得される鍵ネゴシエーションパラメータである、こと
を行うようにさらに構成される。
【0331】
任意選択で、受信側デバイスへ第3の情報を送信する場合、第1の送信モジュール901は、
完全性保護アルゴリズムを使用することによって処理されている第3の情報を受信側デバイスへ送信するように特に構成される。
【0332】
任意選択で、第1の情報は、N個の鍵ネゴシエーションアルゴリズムの優先度情報を示すためにさらに使用される。
【0333】
第1の情報は、N個の鍵ネゴシエーションアルゴリズムの識別情報を含み、識別情報は、N個の鍵ネゴシエーションアルゴリズムの優先度情報に基づいて、配置され、またはカプセル化される。
【0334】
任意選択で、第2の情報は、受信側デバイスによってサポートされるM個の鍵ネゴシエーションアルゴリズムを示すためにさらに使用され、Mは、1以上の整数である。
【0335】
ターゲット鍵ネゴシエーションアルゴリズムおよび第1の鍵ネゴシエーションパラメータに基づいて、ターゲット鍵を生成することは、
ターゲット鍵ネゴシエーションアルゴリズムが、M個の鍵ネゴシエーションアルゴリズムにおいて、受信側デバイスに関して最も高い優先度を有する鍵ネゴシエーションアルゴリズムであると決定することと、
ターゲット鍵ネゴシエーションアルゴリズムおよび第1の鍵ネゴシエーションパラメータに基づいて、ターゲット鍵を生成することと
を含む。
【0336】
任意選択で、第1の受信モジュール902は、
受信側デバイスから、M個の鍵ネゴシエーションアルゴリズムの優先度情報を受信する
ようにさらに構成される。
【0337】
任意選択で、第2の情報は、受信側デバイスによってサポートされるM個の鍵ネゴシエーションアルゴリズムの優先度情報を示すためにさらに使用される。
【0338】
第2の情報は、M個の鍵ネゴシエーションアルゴリズムの識別情報を含み、識別情報は、M個の鍵ネゴシエーションアルゴリズムの優先度に基づいて、配置され、またはカプセル化される。
【0339】
任意選択で、第1の送信モジュール901は、
受信側デバイスへ第1の認証データを送信することであって、第1の認証データは、送信側デバイスが第2の情報に対して認証処理を行った後に取得される認証データである、こと
を行うようにさらに構成される。
【0340】
任意選択で、第1の受信モジュール902は、
受信側デバイスによって送信された第4の情報を受信する
ようにさらに構成され、
第1の処理モジュール903は、
第4の情報を検証することを試みる
ようにさらに構成され、
第4の情報は、第2の認証データを含み、第2の認証データは、受信側デバイスからのものであり、かつ、認証処理が第3の情報に対して行われた後に取得されるデータである。
【0341】
任意選択で、第1の受信モジュール902は、
受信側デバイスによって送信された第4の情報を受信する
ようにさらに構成され、
第1の処理モジュール903は、
第4の情報を検証することを試みる
ようにさらに構成され、
第4の情報は、第3の認証データを含み、第3の認証データは、受信側デバイスからのものであり、かつ、認証処理が第3の情報と第1の情報において示されるN個の鍵ネゴシエーションアルゴリズムとに対して行われた後に取得されるデータである。
【0342】
任意選択で、第4の情報は、完全性保護アルゴリズムを使用することによって処理されている。
【0343】
任意選択で、認証処理は、予め設定された共有鍵に基づいて行われる認証処理をさらに含む。
【0344】
任意選択で、第3の情報は、送信側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズムをさらに示す。
【0345】
任意選択で、受信側デバイスへ第1の情報を送信する場合、第1の送信モジュール901は、
ブロードキャスト手法で受信側デバイスへ第1の情報を送信するように特に構成される。
【0346】
具体的には、この実施形態において提供されるデバイスは、前述の方法実施形態のうちの任意の1つにおける技術的解決策を実行するように対応して構成され得る。実装原理およびその技術的な効果は、同様であり、詳細は、ここでは再度説明されない。
【0347】
図10は、本出願の別の実施形態による鍵ネゴシエーション装置の構造の概略図である。本装置は、受信側デバイスであってよく、または受信側デバイスの構成要素(例えば、集積回路もしくはチップ)であってよく、または図4から図6に示される方法実施形態における受信側デバイスに対応する動作もしくはステップを実装するように構成された別の通信モジュールであってよい。図10に示されるように、この実施形態において提供される鍵ネゴシエーション装置は、第2の受信モジュール1001と、第2の処理モジュール1002と、第2の送信モジュール1003とを含む。
【0348】
第2の受信モジュール1001は、送信側デバイスから第1の情報を受信するように構成され、第1の情報は、送信側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズムを示し、Nは、1以上の整数である。
【0349】
第2の処理モジュール1002は、ターゲット鍵ネゴシエーションアルゴリズムを決定し、ターゲット鍵ネゴシエーションアルゴリズムに基づいて、第1の鍵ネゴシエーションパラメータを生成するように構成され、ターゲット鍵ネゴシエーションアルゴリズムは、受信側デバイスによってサポートされる、N個の鍵ネゴシエーションアルゴリズムのうちの鍵ネゴシエーションアルゴリズムであり、第1の鍵ネゴシエーションパラメータは、受信側デバイスに対応し、かつ、ターゲット鍵ネゴシエーションアルゴリズムに基づいて取得される鍵ネゴシエーションパラメータである。
【0350】
第2の送信モジュール1003は、送信側デバイスへ第2の情報を送信するように構成され、第2の情報は、ターゲット鍵ネゴシエーションアルゴリズムを示し、第1の鍵ネゴシエーションパラメータを含む。
【0351】
第2の受信モジュール1001は、送信側デバイスから第3の情報を受信するように構成され、第3の情報は、第2の鍵ネゴシエーションパラメータを示し、第2の鍵ネゴシエーションパラメータは、送信側デバイスに対応し、かつ、ターゲット鍵ネゴシエーションアルゴリズムに基づいて取得される鍵ネゴシエーションパラメータである。
【0352】
第2の処理モジュール1002は、第2の鍵ネゴシエーションパラメータおよびターゲット鍵ネゴシエーションアルゴリズムに基づいて、ターゲット鍵を生成するようにさらに構成される。
【0353】
任意選択で、第3の情報は、完全性保護アルゴリズムを使用することによって処理されている。
【0354】
任意選択で、第1の情報は、N個の鍵ネゴシエーションアルゴリズムの優先度情報を示すためにさらに使用される。第1の情報は、N個の鍵ネゴシエーションアルゴリズムの識別情報を含み、識別情報は、N個の鍵ネゴシエーションアルゴリズムの優先度情報に基づいて、配置され、またはカプセル化される。
【0355】
第2の処理モジュール1002は、ターゲット鍵ネゴシエーションアルゴリズムを決定し、
N個の鍵ネゴシエーションアルゴリズムから、送信側デバイスに関して最も高い優先度を有する鍵ネゴシエーションアルゴリズムを、ターゲット鍵ネゴシエーションアルゴリズムとして決定する。
【0356】
任意選択で、ターゲット鍵ネゴシエーションアルゴリズムを決定する場合、第2の処理モジュール1002は、
N個の鍵ネゴシエーションアルゴリズムから、受信側デバイスに関して最も高い優先度を有する鍵ネゴシエーションアルゴリズムを、ターゲット鍵ネゴシエーションアルゴリズムとして決定する
ように特に構成される。
【0357】
任意選択で、第2の情報は、受信側デバイスによってサポートされるM個の鍵ネゴシエーションアルゴリズムの優先度情報を示すためにさらに使用される。
【0358】
第2の情報は、M個の鍵ネゴシエーションアルゴリズムの識別情報を含み、識別情報は、M個の鍵ネゴシエーションアルゴリズムの優先度情報に基づいて、配置され、またはカプセル化される。
【0359】
任意選択で、第2の受信モジュール1001は、
送信側デバイスから第1の認証データを受信することであって、第1の認証データは、送信側デバイスが第2の情報に対して認証処理を行った後に取得される認証データである、こと
を行うようにさらに構成される。
【0360】
任意選択で、第2の送信モジュール1003は、
送信側デバイスへ第4の情報を送信することであって、第4の情報は、第2の認証データを含み、第2の認証データは、受信側デバイスが第3の情報に対して認証処理を行った後に取得される認証データである、こと
を行うようにさらに構成される。
【0361】
任意選択で、第2の送信モジュール1003は、
送信側デバイスへ第4の情報を送信することであって、第4の情報は、第3の認証データを含み、第3の認証データは、受信側デバイスが第3の情報と第1の情報において示されるN個の鍵ネゴシエーションアルゴリズムとに対して認証処理を行った後に取得される認証データである、こと
を行うようにさらに構成される。
【0362】
任意選択で、送信側デバイスへ第4の情報を送信する場合、第2の送信モジュール1003は、
完全性保護アルゴリズムを使用することによって処理されている第4の情報を送信側デバイスへ送信する
ように特に構成される。
【0363】
任意選択で、認証処理は、予め設定された鍵に基づいて行われる認証処理をさらに含む。
【0364】
任意選択で、第3の情報は、送信側デバイスによってサポートされるN個の鍵ネゴシエーションアルゴリズムをさらに示す。
【0365】
具体的には、この実施形態において提供されるデバイスは、前述の方法実施形態のうちの任意の1つにおける技術的解決策を実行するように対応して構成され得る。実装原理およびその技術的な効果は、同様であり、詳細は、ここでは再度説明されない。
【0366】
図11は、本出願の一実施形態による通信システムの構造の概略図である。図11に示されるように、この実施形態における通信システム1100は、送信側デバイス1101と、受信側デバイス1102とを含み得る。
【0367】
別の可能な実装において、送信側デバイス1101は、図8または図9に示される装置実施形態の構造を使用し得る。対応して、送信側デバイス1101は、前述の方法実施形態のうちの任意の1つにおける送信側デバイスに関連する技術的解決策を行い得る。実装原理およびその技術的な効果は、同様である。詳細は、ここでは再度説明されない。
【0368】
別の可能な実装において、受信側デバイス1102は、図8または図10に示される装置実施形態の構造を使用し得る。対応して、受信側デバイス1102は、前述の方法実施形態のうちの任意の1つにおける受信側デバイスに関連する技術的解決策を行い得る。実装原理およびその技術的な効果は、同様である。詳細は、ここでは再度説明されない。
【0369】
別の可能な実装において、送信側デバイス1101は、図8または図9に示される装置実施形態の構造を使用し得る。対応して、送信側デバイス1101は、前述の方法実施形態のうちの任意の1つにおける送信側デバイスに関連する技術的解決策を行い得る。実装原理およびその技術的な効果は、同様である。詳細は、ここでは再度説明されない。受信側デバイス1102は、図8または図10に示される装置実施形態の構造を使用し得る。対応して、受信側デバイス1102は、前述の方法実施形態のうちの任意の1つにおける受信側デバイスに関連する技術的解決策を行い得る。実装原理およびその技術的な効果は、同様である。詳細は、ここでは再度説明されない。
【0370】
一体化されたモジュールが、ソフトウェア機能モジュールの形態で実装され、独立した製品として販売および使用される場合、一体化されたモジュールは、コンピュータ可読記憶媒体に記憶され得る。そのような理解に基づいて、現在の技術に対して実質的にもしくは部分的に貢献する本出願の技術的解決策、または技術的解決策の全部もしくは一部は、ソフトウェア製品の形態で実装され得る。コンピュータソフトウェア製品は、記憶媒体に記憶され、コンピュータデバイス(これは、パーソナルコンピュータ、サーバ、もしくはネットワークデバイスであってよい)またはプロセッサ(processor)に、本出願の実施形態において説明される方法のステップの全部または一部を行うように指示するためのいくつかの命令を含む。前述の記憶媒体は、プログラムコードを記憶することができる様々な媒体、例えば、USBフラッシュドライブ、リムーバブルハードディスクドライブ、読み出し専用メモリ(read-only memory、ROM)、ランダムアクセスメモリ(random access memory、RAM)、磁気ディスク、および光ディスクなどを含む。
【0371】
本出願の一実施形態は、コンピュータ可読記憶媒体をさらに提供する。コンピュータ可読記憶媒体は、コンピュータプログラムを記憶する。コンピュータプログラムが、1つまたは複数のプロセッサ上で実行される場合、図3から図7に示される実施形態のうちの任意の1つにおける方法が行われる。
【0372】
本出願の一実施形態は、チップシステムをさらに提供する。チップシステムは、少なくとも1つのプロセッサと、少なくとも1つのメモリと、インターフェース回路とを含む。インターフェース回路は、少なくとも1つのプロセッサに対して情報入力/出力を提供するように構成され、少なくとも1つのメモリは、コンピュータプログラムを記憶し、コンピュータプログラムが、1つまたは複数のプロセッサ上で実行される場合、図3から図7に示される実施形態のうちの任意の1つにおける方法が行われる。
【0373】
本出願の一実施形態は、スマートコックピット製品をさらに提供する。スマートコックピット製品は、図8もしくは図10において提供される鍵ネゴシエーション装置、または図8もしくは図9において提供される鍵ネゴシエーション装置を含む。鍵ネゴシエーション装置は、図3から図7における実施形態のうちの任意の1つにおける鍵ネゴシエーション装置に対応する送信側デバイスまたは受信側デバイスによって行われる方法を行い得る。
【0374】
本出願の一実施形態は、スマート端末をさらに提供する。スマート端末は、図8もしくは図10において提供される鍵ネゴシエーション装置、または図8もしくは図9において提供される鍵ネゴシエーション装置を含む。鍵ネゴシエーション装置は、図3から図7における実施形態のうちの任意の1つにおける鍵ネゴシエーション装置に対応する送信側デバイスまたは受信側デバイスによって行われる方法を行い得る。さらに、スマート端末は、ドローン、無人輸送車両、スマートカー、ロボット等を含む、輸送車両またはインテリジェントデバイスであってよい。
【0375】
本明細書における実施形態は全て、漸進的な手法で説明されており、実施形態における同一または同様の部分については、これらの実施形態を参照されたく、各実施形態は、他の実施形態との差異に対して焦点を当てている。特に、装置実施形態は、方法実施形態と基本的に同様であり、したがって、簡単に説明されている。関連する部分については、方法実施形態の説明部分を参照されたい。説明されている装置実施形態は、例にすぎない。別個の部分として説明されたユニットは、物理的に別個であってよく、または物理的に別個でなくてよく、ユニットとして表示された部分は、物理的なユニットであってよく、または物理的なユニットでなくてよく、1つの位置に位置してよく、または複数のネットワークユニットに分散されてよい。モジュールのうちの一部または全部は、実施形態の解決策の目的を達成するために、実際の要件に従って選択され得る。当業者は、創造的な努力なしに、実施形態を理解および実装し得る。
【0376】
前述の実施形態の全部または一部は、ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組み合わせを使用して実装され得る。ソフトウェアが、実施形態を実装するために使用される場合、実施形態の全部または一部は、コンピュータプログラム製品の形態で実装され得る。コンピュータプログラム製品は、1つまたは複数のコンピュータ命令を含む。コンピュータプログラム命令が、コンピュータにロードされ、実行される場合、本出願の実施形態による手順または機能が全てまたは部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または別のプログラム可能な装置であってよい。コンピュータ命令は、コンピュータ可読記憶媒体に記憶されてよく、またはコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体へ伝送されてよい。例えば、コンピュータ命令は、ウェブサイト、コンピュータ、サーバ、またはデータセンタから、別のウェブサイト、コンピュータ、サーバ、またはデータセンタへ、有線(例えば、同軸ケーブル、光ファイバー、もしくはデジタル加入者線(DSL))で、または無線(例えば、赤外線、無線、もしくはマイクロ波)で伝送され得る。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の使用可能な媒体、または、1つもしくは複数の使用可能な媒体を一体化したデータ記憶デバイス、例えば、サーバもしくはデータセンタなどであってよい。使用可能な媒体は、磁気媒体(例えば、フロッピーディスク、ハードディスク、または磁気テープ)、光学媒体(例えば、DVD)、半導体媒体(例えば、ソリッドステートドライブSolid-State Drive(SSD))等であってよい。
【0377】
前述の説明は、本出願の特定の実装にすぎず、本出願の保護範囲を限定するようには意図されていない。本出願において開示されている技術的な範囲内で当業者によって容易に考え出されるいかなるバリエーションまたは置換も、本出願の保護範囲内に収まるべきものである。したがって、本出願の保護範囲は、特許請求の範囲の保護範囲に従うべきものである。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11