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

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

▶ ホアウェイ・テクノロジーズ・カンパニー・リミテッドの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-09
(54)【発明の名称】セキュアアクセス方法および装置
(51)【国際特許分類】
   H04L 9/08 20060101AFI20231226BHJP
   H04L 9/32 20060101ALI20231226BHJP
   G09C 1/00 20060101ALI20231226BHJP
【FI】
H04L9/08 C
H04L9/32 200F
G09C1/00 650A
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023538932
(86)(22)【出願日】2020-12-24
(85)【翻訳文提出日】2023-08-01
(86)【国際出願番号】 CN2020139154
(87)【国際公開番号】W WO2022133949
(87)【国際公開日】2022-06-30
(81)【指定国・地域】
(71)【出願人】
【識別番号】504161984
【氏名又は名称】ホアウェイ・テクノロジーズ・カンパニー・リミテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】リ、ヨン
(72)【発明者】
【氏名】ワン、ヨン
(72)【発明者】
【氏名】チェン、ジン
(57)【要約】
本願の実施形態が、通信技術の分野およびコネクテッドビークルの分野に適用されるセキュアアクセス方法および装置を提供する。本方法は、第2ノードから第1メッセージを受信する段階、ここで第1メッセージは第1暗号文を含み、第1暗号文はセキュリティパラメータおよび第1キーネゴシエーションパラメータに基づいて取得される;セキュリティパラメータに基づいて第1暗号文を解読し、第1キーネゴシエーションパラメータを取得する段階;第1キーネゴシエーションパラメータおよびキーネゴシエーションアルゴリズムに基づいて第1共有キーを決定する段階;および第1共有キーおよび、第1ノードおよび第2ノードの間のPSKに基づいて第1アイデンティティ認証情報を取得する段階、ここで第1アイデンティティ認証情報は第1ノードのアイデンティティを認証するのに用いられる、を含む。本願の実施形態によれば、ノードが、信頼できないアイデンティティを有する攻撃者とのアソシエーションに成功しないようにすることが可能である。本解決手段はさらに、自動運転または先進運転者支援システムADASの能力を改善するのに用いられてよく、ビークルツーエブリシングV2X、ロングタームエボリューション-ビークルLTE-V、およびビークルツービークルV2Vなどの分野に適用され得る。
【特許請求の範囲】
【請求項1】
セキュアアクセス方法であって、前記セキュアアクセス方法が、
第2ノードから第1メッセージを受信する段階、ここで前記第1メッセージが第1暗号文を含み、前記第1暗号文がセキュリティパラメータおよび第1キーネゴシエーションパラメータに基づいて取得され、前記セキュリティパラメータが第1ノードおよび前記第2ノードの間の事前共有キーPSKであるか、または第1パスワードであり、前記第1パスワードが前記第1ノードおよび前記第2ノードの間の合意済みアクセスパスワードである;
前記セキュリティパラメータに基づいて前記第1暗号文を解読し、前記第1キーネゴシエーションパラメータを取得する段階;
前記第1キーネゴシエーションパラメータおよびキーネゴシエーションアルゴリズムに基づいて第1共有キーを決定する段階;
前記第1ノードおよび前記第2ノードの間の前記PSKを取得する段階;および
前記第1共有キーおよび、前記第1ノードおよび前記第2ノードの間の前記PSKに基づいて第1アイデンティティ認証情報を取得する段階、ここで前記第1アイデンティティ認証情報が前記第1ノードのアイデンティティを認証するのに用いられる、
を備える、方法。
【請求項2】
前記第1ノードおよび前記第2ノードの間の前記PSKを取得する前記段階が、
第1の対応関係に基づいて前記第1ノードおよび前記第2ノードの間の前記PSKを取得する段階;または
前記第1パスワード、前記第1共有キー、第1乱数、および第2乱数に基づいて、前記第1ノードおよび前記第2ノードの間の前記PSKを決定する段階、ここで前記第1メッセージがさらに前記第1乱数を含む
を有する、請求項1に記載の方法。
【請求項3】
前記第1暗号文が前記セキュリティパラメータのハッシュ値および前記第1キーネゴシエーションパラメータに基づいて取得され;前記第1パスワードに基づいて前記第1暗号文を解読し、前記第1キーネゴシエーションパラメータを取得する前記段階が、
前記セキュリティパラメータの前記ハッシュ値に基づいて前記第1暗号文を解読し、前記第1キーネゴシエーションパラメータを取得する段階を有する、請求項2に記載の方法。
【請求項4】
前記第1暗号文が、前記セキュリティパラメータの前記ハッシュ値および前記第1キーネゴシエーションパラメータに基づいて楕円曲線点の加算演算を行うことで取得され;前記第1パスワードに基づいて前記第1暗号文を解読し、前記第1キーネゴシエーションパラメータを取得する前記段階が、
前記セキュリティパラメータの前記ハッシュ値および前記第1暗号文に基づいて楕円曲線点の減算演算を行うことで、前記第1キーネゴシエーションパラメータを取得する段階を有する、請求項3に記載の方法。
【請求項5】
前記セキュリティパラメータに基づいて前記第1暗号文を解読し、前記第1キーネゴシエーションパラメータを取得する前記段階が、
前記セキュリティパラメータの前記ハッシュ値および前記第1乱数に基づいて第1中間キーを決定する段階;および
前記第1中間キーに基づいて前記第1暗号文を解読し、前記第1キーネゴシエーションパラメータを取得する段階
を有する、請求項3に記載の方法。
【請求項6】
前記方法がさらに、
前記セキュリティパラメータに基づいて第2キーネゴシエーションパラメータを暗号化し、第2暗号文を取得する段階;および
前記第2ノードに第2メッセージを送信する段階、ここで前記第2メッセージが前記第1アイデンティティ認証情報および前記第2暗号文を含み、前記第2暗号文が、前記第1共有キーを決定するのに前記第2ノードにより用いられる
を備える、請求項3に記載の方法。
【請求項7】
前記セキュリティパラメータに基づいて第2キーネゴシエーションパラメータを暗号化し、第2暗号文を取得する前記段階が、
前記セキュリティパラメータの前記ハッシュ値に基づいて前記第2キーネゴシエーションパラメータを暗号化し、前記第2暗号文を取得する段階;または
前記セキュリティパラメータの前記ハッシュ値および前記第2キーネゴシエーションパラメータに基づいて楕円曲線点の加算演算を行うことで、前記第2暗号文を取得する段階;または
前記セキュリティパラメータの前記ハッシュ値および前記第2乱数に基づいて第2中間キーを決定する段階;および
前記第2中間キーに基づいて前記第2キーネゴシエーションパラメータを暗号化し、前記第2暗号文を取得する段階
を有する、請求項6に記載の方法。
【請求項8】
セキュアアクセス方法であって、前記セキュアアクセス方法が
第1ノードに第1メッセージを送信する段階、ここで前記第1メッセージが第1暗号文を含み、前記第1暗号文がセキュリティパラメータおよび第1キーネゴシエーションパラメータに基づいて取得され、前記セキュリティパラメータが前記第1ノードおよび第2ノードの間の事前共有キーPSKであるか、または第1パスワードであり、前記第1パスワードが前記第1ノードおよび前記第2ノードの間の合意済みアクセスパスワードである;
前記第1ノードから第2メッセージを受信する段階、ここで前記第2メッセージが第2暗号文を含み、前記第2暗号文が、前記セキュリティパラメータに基づいて第2キーネゴシエーションパラメータを暗号化することで取得される;
前記セキュリティパラメータに基づいて前記第2暗号文を解読し、前記第2キーネゴシエーションパラメータを取得する段階;
前記第2キーネゴシエーションパラメータおよびキーネゴシエーションアルゴリズムに基づいて第1共有キーを決定する段階;および
前記第1共有キーおよび、前記第1ノードおよび前記第2ノードの間の前記PSKに基づいて第2アイデンティティ認証情報を取得する段階、ここで前記第2アイデンティティ認証情報が、前記第2ノードのアイデンティティを認証するのに用いられる
を備える、方法。
【請求項9】
前記第1共有キーおよび、前記第1ノードおよび前記第2ノードの間の前記PSKに基づいて第2アイデンティティ認証情報を取得する前記段階の前に、前記方法がさらに、
前記第1ノードおよび前記第2ノードの間の前記PSKを取得する段階を備える、請求項8に記載の方法。
【請求項10】
前記第1ノードおよび前記第2ノードの間の前記PSKを取得する前記段階が、
第2の対応関係に基づいて、前記第1ノードおよび前記第2ノードの間の前記PSKを取得する段階;または
前記第1パスワード、前記第1共有キー、第1乱数、および第2乱数に基づいて、前記第1ノードおよび前記第2ノードの間の前記PSKを決定する段階、ここで前記第1メッセージがさらに前記第1乱数を含み、前記第1メッセージが前記第1乱数を含む、
を有する、請求項8または9に記載の方法。
【請求項11】
第1メッセージを送信する前記段階の前に、前記方法がさらに、
前記セキュリティパラメータに基づいて前記第1キーネゴシエーションパラメータを暗号化し、前記第1暗号文を取得する段階を備える、請求項10に記載の方法。
【請求項12】
前記セキュリティパラメータに基づいて前記第1キーネゴシエーションパラメータを暗号化し、前記第1暗号文を取得する前記段階が、
前記セキュリティパラメータのハッシュ値に基づいて前記第1キーネゴシエーションパラメータを暗号化し、前記第1暗号文を取得する段階;または
前記セキュリティパラメータのハッシュ値および前記第1キーネゴシエーションパラメータに基づいて楕円曲線点の加算演算を行うことで、前記第1暗号文を取得する段階;または
前記セキュリティパラメータのハッシュ値および前記第1乱数に基づいて第1中間キーを決定する段階;および
前記第1中間キーに基づいて前記第1キーネゴシエーションパラメータを暗号化し、前記第1暗号文を取得する段階
を有する、請求項11に記載の方法。
【請求項13】
前記第2暗号文が前記セキュリティパラメータの前記ハッシュ値および前記第2キーネゴシエーションパラメータに基づいて取得され;前記セキュリティパラメータに基づいて前記第2暗号文を解読し、前記第2キーネゴシエーションパラメータを取得する前記段階が、
前記セキュリティパラメータの前記ハッシュ値に基づいて前記第2暗号文を解読し、前記第2キーネゴシエーションパラメータを取得する段階を有する、請求項12に記載の方法。
【請求項14】
前記セキュリティパラメータに基づいて前記第2暗号文を解読し、前記第2キーネゴシエーションパラメータを取得する前記段階が、
前記セキュリティパラメータの前記ハッシュ値および前記第2乱数に基づいて第2中間キーを決定する段階;および
前記第2中間キーに基づいて前記第2暗号文を解読し、前記第2キーネゴシエーションパラメータを取得する段階
を有する、請求項13に記載の方法。
【請求項15】
プロセッサおよび通信インタフェースを備え、前記プロセッサがメモリに格納されたコンピュータプログラムを呼び出して、請求項1から7のいずれか一項または請求項8から14のいずれか一項に記載の方法を実施するように構成されている、装置。
【請求項16】
コンピュータ上で動作すると、前記コンピュータが請求項1から7のいずれか一項または請求項8から14のいずれか一項に記載の方法を行うことが可能になる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、通信技術の分野およびコネクテッドビークルの分野に関し、具体的には短距離通信技術の分野、例えばコックピットドメイン通信、特にセキュアアクセス方法および装置に関する。
【背景技術】
【0002】
今日では、情報化の急速な進展に伴い、モバイル端末、携帯電話、またはタブレットなどの携帯型インテリジェント端末が、人々に欠かせない重要な個人用インテリジェントツールになっている。人々は、情報化がもたらす利便性を享受する一方で、セキュリティの脆弱性および個人情報の流出という脅威にも直面している。一例として、インテリジェントビークルを用いる。車両通信が広く適用されると、無線通信も車両に一連のセキュリティリスクをもたらす。例えば、既存の短距離通信技術を用いて、ハッカーが車載情報システムに侵入して車両情報を取得する、または車両を遠隔制御する可能性さえあり、これがユーザプライバシーおよび車両セキュリティに非常に大きな脅威をもたらす。
【0003】
通信セキュリティを確保するために、2つのノード(説明しやすくするために、第1ノードおよび第2ノードと呼ばれる)が互いに通信する前に、第2ノードはペアリングモードで第1ノードにアクセスするか、またはオープンモードで第1ノードに直接アクセスする。第2ノードは通常、第1ノードにアクセスするときに、両当事者が通信暗号化に用いる共有キーを最初に決定する。しかしながら、既存のアクセスプロセスでは、生成された共有キーの機密性が比較的低い。例えば、ブルートゥース(登録商標)ヘッドセットが携帯電話にアクセスする場合、携帯電話にあるブルートゥース(登録商標)ヘッドセットの名前を直接タップすることでリンクキー(link key)が生成されてよく、その後、ブルートゥース(登録商標)ヘッドセットは携帯電話とのアソシエーションに成功する。その後、第1ノードとしての携帯電話およびブルートゥース(登録商標)ヘッドセットの間で、データの送信および受信が行われ得る。このアクセスモードは明らかに、データ漏洩を引き起こし、ユーザプライバシーおよびセキュリティを脅かす可能性が高い。通信システム、特に車載通信システムでは、信頼できないノードによる車両へのアクセスが容易であり、この場合、車両は信頼できないアイデンティティを有する攻撃者と通信することにより、運転者および同乗者の個人の安全を危険にさらすことになる。
【0004】
したがって、信頼できない攻撃者のアクセスを回避し、ノード通信のセキュリティを改善するための方法が、当業者が検討している技術的課題である。
【発明の概要】
【0005】
本願の実施形態では、セキュアアクセス方法および装置を開示し、極めてセキュアな認証およびキーネゴシエーション方法を提供して、ノードが、信頼できないアイデンティティを有する攻撃者とのアソシエーションに成功しないようにする。
【0006】
第1態様によれば、本願の一実施形態がセキュアアクセス方法を開示し、本方法は、第2ノードから第1メッセージを受信する段階、ここで第1メッセージは第1暗号文を含み、第1暗号文はセキュリティパラメータおよび第1キーネゴシエーションパラメータに基づいて取得され、セキュリティパラメータは第1ノードおよび第2ノードの間の事前共有キーPSKであるか、または第1パスワードであり、第1パスワードは第1ノードおよび第2ノードの間の合意済みアクセスパスワードであり、第1ノードおよび第2ノードの間のPSKは第1ノードおよび第2ノードの間で共有された秘密値であり、第1パスワードは、第1ノードにアクセスするのに第2ノードにより用いられるパスワードとみなされ得る;セキュリティパラメータに基づいて第1暗号文を解読し、第1キーネゴシエーションパラメータを取得する段階;および第1キーネゴシエーションパラメータおよびキーネゴシエーションアルゴリズムに基づいて第1共有キーを決定する段階を含む。
【0007】
本願の本実施形態において、第2ノードはセキュリティパラメータ(セキュリティパラメータはPSKでも、または第1パスワードでもよい)に基づいて第1キーネゴシエーションパラメータを暗号化し、第1暗号文を取得する。同じセキュリティパラメータが第1ノード用に予め設定されているか、または第1ノードが、同じセキュリティパラメータを取得できるため、第1ノードは第1暗号文を解読して第1キーネゴシエーションパラメータを取得でき、その後、第1キーネゴシエーションパラメータに基づいて共有キーを生成できる。セキュリティパラメータを取得しないと、共有キーを生成できず、第2ノードは第1ノードにアクセスできない。したがって、攻撃者が第2ノードを用いて第1ノードにアクセスするのを防止でき、第1ノードが、信頼できないアイデンティティを有する攻撃者とのアソシエーションに成功しないようにすることが可能である。
【0008】
第1態様の可能な一実装例において、本方法はさらに、第1ノードおよび第2ノードの間のPSKを取得する段階;および第1共有キーおよび、第1ノードおよび第2ノードの間のPSKに基づいて第1アイデンティティ認証情報を取得する段階、ここで第1アイデンティティ認証情報は第1ノードのアイデンティティを認証するのに用いられる、を含む。
【0009】
第1アイデンティティ認証情報は第1共有キーおよびPSKに基づいて取得され、第1アイデンティティ認証情報は第1ノードのアイデンティティを認証するのに用いられてよい。本願では、第1アイデンティティ情報を用いて第1ノードのアイデンティティを認証する方法が示されている。つまり、第2ノードは第1共有キーを決定し、第1共有キーおよびPSKに基づいて確認情報を生成する。確認情報が第1アイデンティティ認証情報と同じである場合、これは第1ノード上にある第1共有キーおよびPSKが第2ノード上にあるものと同じであることを示している。このようにして、第1ノードのアイデンティティを認証でき、当該ノードおよび攻撃者の間の通信が防止され、ノードのセキュリティが改善される。
【0010】
第1態様の別の可能な実装例において、第1ノードおよび第2ノードの間のPSKを取得する段階は、第1の対応関係に基づいて、第1ノードおよび第2ノードの間のPSKを取得する段階;または第1パスワード、第1共有キー、第1乱数、および第2乱数に基づいて、第1ノードおよび第2ノードの間のPSKを決定する段階、ここで第1メッセージはさらに第1乱数を含む、を含む。
【0011】
第1ノードは、PSKおよび第2ノードの間の対応関係を対応関係の形式で格納できることが分かる。したがって、この対応関係に基づいて、第1ノードおよび第2ノードの間のPSKを取得できる。
【0012】
可能な一設計例において、PSKは、第1パスワード、第1共有キー、第1乱数、および第2乱数に基づいて決定される。第1ノードが第2ノードと初めてアソシエーションを行う場合、または第1ノードが第1の対応関係を取得していない場合、第1ノードは第2ノードに対応するPSKを有していないため、新たなPSKが決定されてよい。
【0013】
第1態様のさらに別の可能な実装例では、第1パスワード、第1共有キー、第1乱数、および第2乱数に基づいて、第1ノードおよび第2ノードの間のPSKを決定する段階が、第1共有キー、第1乱数、および第2乱数に基づいて第2共有キーを決定する段階;および第1パスワード、第2共有キー、第1乱数、および第2乱数に基づいて、第1ノードおよび第2ノードの間のPSKを決定する段階を含む。
【0014】
第1態様のさらに別の可能な実装例において、第1暗号文はセキュリティパラメータのハッシュ値および第1キーネゴシエーションパラメータに基づいて取得され;第1パスワードに基づいて第1暗号文を解読し、第1キーネゴシエーションパラメータを取得する段階は、セキュリティパラメータのハッシュ値に基づいて第1暗号文を解読し、第1キーネゴシエーションパラメータを取得する段階を含む。
【0015】
第1態様のさらに別の可能な実装例において、第1暗号文は、セキュリティパラメータのハッシュ値および第1キーネゴシエーションパラメータに基づいて楕円曲線点の加算演算を行うことで取得され;第1パスワードに基づいて第1暗号文を解読し、第1キーネゴシエーションパラメータを取得する段階は、セキュリティパラメータのハッシュ値および第1暗号文に基づいて楕円曲線点の減算演算を行うことで、第1キーネゴシエーションパラメータを取得する段階を含む。
【0016】
第1態様のさらに別の可能な実装例において、セキュリティパラメータに基づいて第1暗号文を解読し、第1キーネゴシエーションパラメータを取得する段階は、セキュリティパラメータのハッシュ値および第1乱数に基づいて第1中間キーを決定する段階;および第1中間キーに基づいて第1暗号文を解読し、第1キーネゴシエーションパラメータを取得する段階を含む。
【0017】
第1態様のさらに別の可能な実装例において、第1共有キーおよび、第1ノードおよび第2ノードの間のPSKに基づいて第1アイデンティティ認証情報を取得する段階はさらに、第1共有キー、PSK、第1乱数、および第2乱数に基づいて第1キーを導出する段階;および第1キー、第1乱数、および第2乱数に基づいて第1アイデンティティ認証情報を生成する段階、ここで第1アイデンティティ認証情報は第1ノードのアイデンティティを認証するのに用いられる、を含む。
【0018】
第1態様のさらに別の可能な実装例において、本方法はさらに、セキュリティパラメータに基づいて第2キーネゴシエーションパラメータを暗号化し、第2暗号文を取得する段階;および第2ノードに第2メッセージを送信する段階、ここで第2メッセージは第1アイデンティティ認証情報および第2暗号文を含み、第2暗号文は、第1共有キーを決定するのに第2ノードにより用いられる、を含む。
【0019】
第2キーネゴシエーションパラメータは、共有キーを決定するのに第2ノードにより用いられる。第2キーネゴシエーションパラメータはセキュリティパラメータに基づいて暗号化されてよいこと、および第2キーネゴシエーションパラメータは、セキュリティパラメータがクラックされた後に限り、共有キーを生成するために解読され得ることが分かる。これで、攻撃者が第2ノードに成り済まして第1ノードにアクセスするのを防止し、キーネゴシエーションプロセスのセキュリティを確保する。
【0020】
第1態様のさらに別の可能な実装例において、本方法はさらに、第2ノードから第3メッセージを受信する段階、ここで第3メッセージは第2アイデンティティ認証情報を含む;および第1ノードおよび第2ノードの間のPSK、第1共有キー、および第2アイデンティティ認証情報に基づいて、第2ノードのアイデンティティ認証が成功したと判定する段階を含む。
【0021】
以上では、第2ノードのアイデンティティを認証する方法を説明した。第2アイデンティティ認証情報は、PSKおよび第1共有キーに基づいて、第2ノードにより生成される。したがって、PSK、第1共有キー、および第2アイデンティティ認証情報に基づいて、第2ノード上にある第1共有キーおよびPSKが第1ノード上にあるものと同じであるかどうかを判定できるため、第2ノードのアイデンティティを認証できるようになる。
【0022】
第1態様のさらに別の可能な実装例において、第1メッセージは、アクセス要求メッセージ(またはアソシエーション要求メッセージ)とも呼ばれることがある。さらに、第2メッセージは、セキュリティコンテキスト要求メッセージ(またはアイデンティティ認証要求メッセージ)とも呼ばれることがある。第3メッセージは、セキュリティコンテキスト応答メッセージ(またはアイデンティティ認証応答メッセージ)とも呼ばれることがある。
【0023】
第1態様のさらに別の可能な実装例において、本方法はさらに、第2ノードに第4メッセージを送信する段階、ここで第4メッセージはアクセスが成功したことを示すのに用いられるか、またはアソシエーションが完了したことを示すのに用いられる、を含む。さらに、第4メッセージは、アソシエーション確立メッセージ(またはアクセスアソシエーション完了メッセージ)、またはアソシエーション完了メッセージなどと呼ばれることがある。
【0024】
第2態様によれば、本願の一実施形態がセキュアアクセス方法を開示し、本方法は、第1ノードに第1メッセージを送信する段階、ここで第1メッセージは第1暗号文を含み、第1暗号文はセキュリティパラメータおよび第1キーネゴシエーションパラメータに基づいて取得され、セキュリティパラメータは第1ノードおよび第2ノードの間の事前共有キーPSKであるか、または第1パスワードであり、第1パスワードは第1ノードおよび第2ノードの間の合意済みアクセスパスワードである;第1ノードから第2メッセージを受信する段階、ここで第2メッセージは第2暗号文を含み、第2暗号文はセキュリティパラメータに基づいて第2キーネゴシエーションパラメータを暗号化することで取得される;セキュリティパラメータに基づいて第2暗号文を解読し、第2キーネゴシエーションパラメータを取得する段階;第2キーネゴシエーションパラメータおよびキーネゴシエーションアルゴリズムに基づいて第1共有キーを決定する段階;および第1共有キーおよび、第1ノードおよび第2ノードの間のPSKに基づいて第2アイデンティティ認証情報を取得する段階、ここで第2アイデンティティ認証情報は第2ノードのアイデンティティを認証するのに用いられる、を含む。
【0025】
本願の本実施形態において、第1キーネゴシエーションパラメータはセキュリティパラメータ(セキュリティパラメータはPSKでも、または第1パスワードでもよい)に基づいて暗号化された後に、第1ノードに送信される。それに対応して、第1ノードも、セキュリティパラメータに基づいて第2キーネゴシエーションパラメータを暗号化する。両通信当事者は、セキュリティパラメータに基づいて暗号文を解読し、キーネゴシエーションパラメータに基づいて共有キーを生成してよい。セキュリティパラメータを取得しないと、共有キーを生成できず、第2ノードは第1ノードにアクセスできない。したがって、信頼できない第1ノードに第2ノードがアクセスするのを防止でき、第2ノードのセキュリティが改善される。
【0026】
第2態様の可能な一実装例では、第1共有キーおよび、第1ノードおよび第2ノードの間のPSKに基づいて第2アイデンティティ認証情報を取得する段階の前に、本方法はさらに、第1ノードおよび第2ノードの間のPSKを取得する段階を含む。
【0027】
第2態様の別の可能な実装例において、第1ノードおよび第2ノードの間のPSKを取得する段階は、第2の対応関係に基づいて、第1ノードおよび第2ノードの間のPSKを取得する段階;または第1パスワード、第1共有キー、第1乱数、および第2乱数に基づいて、第1ノードおよび第2ノードの間のPSKを決定する段階、ここで第1メッセージはさらに第1乱数を含み、第1メッセージは第1乱数を含む、を含む。
【0028】
PSKおよび第1ノードの間の対応関係が対応関係の形式で格納されてよいことが分かる。したがって、この対応関係に基づいて、第1ノードおよび第2ノードの間のPSKを取得できる。
【0029】
可能な一設計例において、PSKは、第1パスワード、第1共有キー、第1乱数、および第2乱数に基づいて決定される。第1ノードが第2ノードと初めてアソシエーションを行う場合、または第1ノードが第1の対応関係を取得していない場合、第2ノードは第1ノードに対応するPSKを有していないため、前述した方式で新たなPSKが決定されてよい。
【0030】
第2態様のさらに別の可能な実装例では、第1パスワード、第1共有キー、第1乱数、および第2乱数に基づいて第1ノードおよび第2ノードの間のPSKを決定する段階が、第1共有キー、第1乱数、および第2乱数に基づいて第2共有キーを決定する段階;および第1パスワード、第2共有キー、第1乱数、および第2乱数に基づいて、第1ノードおよび第2ノードの間のPSKを決定する段階を含む。
【0031】
第2態様のさらに別の可能な実装例では、第1メッセージを送信する段階の前に、本方法はさらに、セキュリティパラメータに基づいて第1キーネゴシエーションパラメータを暗号化し、第1暗号文を取得する段階を含む。
【0032】
第2態様のさらに別の可能な実装例において、セキュリティパラメータに基づいて第1キーネゴシエーションパラメータを暗号化し、第1暗号文を取得する段階は、セキュリティパラメータのハッシュ値に基づいて第1キーネゴシエーションパラメータを暗号化し、第1暗号文を取得する段階;またはセキュリティパラメータのハッシュ値および第1キーネゴシエーションパラメータに基づいて楕円曲線点の加算演算を行うことで、第1暗号文を取得する段階;またはセキュリティパラメータのハッシュ値および第1乱数に基づいて第1中間キーを決定する段階;および第1中間キーに基づいて第1キーネゴシエーションパラメータを暗号化し、第1暗号文を取得する段階を含む。
【0033】
第2態様のさらに別の可能な実装例において、第1共有キーおよび、第1ノードおよび第2ノードの間のPSKに基づいて第2アイデンティティ認証情報を取得する段階はさらに、第1共有キー、PSK、第1乱数、および第2乱数に基づいて第1キーを導出する段階;および第1キー、第1乱数、および第2乱数に基づいて第2アイデンティティ認証情報を生成する段階、ここで第1アイデンティティ認証情報は第1ノードのアイデンティティを認証するのに用いられる、を含む。
【0034】
第2態様のさらに別の可能な実装例において、第2メッセージはさらに第1アイデンティティ認証情報を含み;本方法はさらに、第1ノードおよび第2ノードの間のPSK、第1共有キー、および第1アイデンティティ認証情報に基づいて、第1ノードのアイデンティティ認証が成功したと判定する段階を含む。
【0035】
以上では、第1ノードのアイデンティティを認証する方法を説明した。第1アイデンティティ認証情報は、PSKおよび第1共有キーに基づいて、第1ノードにより生成される。したがって、PSK、第1共有キー、および第1アイデンティティ認証情報に基づいて、第1ノード上にある第1共有キーおよびPSKが第2ノード上にあるものと同じであるかどうかを判定できるため、第1ノードのアイデンティティを認証できるようになる。第1ノードのアイデンティティを認証する機会が周期的であっても、または非周期的であってもよく、または第1ノードのアイデンティティは、いくつかの重要なオペレーションが行われる前に認証されてよく、これは特定の実装では実装に依存することに留意されたい。
【0036】
第2態様のさらに別の可能な実装例において、第1メッセージは、アクセス要求メッセージ(またはアソシエーション要求メッセージ)とも呼ばれることがある。さらに第2メッセージは、セキュリティコンテキスト要求メッセージ(またはアイデンティティ認証要求メッセージ)とも呼ばれることがある。第3メッセージは、セキュリティコンテキスト応答メッセージ(またはアイデンティティ認証応答メッセージ)とも呼ばれることがある。
【0037】
第2態様のさらに別の可能な実装例において、本方法はさらに、第1ノードから第4メッセージを受信する段階、ここで第4メッセージはアクセスが成功したことを示すのに用いられるか、またはアソシエーションが完了したことを示すのに用いられる、を含む。さらに第4メッセージは、アソシエーション確立メッセージ(またはアクセスアソシエーション完了メッセージ)またはアソシエーション完了メッセージなどと呼ばれることがある。
【0038】
第3態様によれば、本願の一実施形態が通信装置を開示する。通信装置は、受信ユニットおよび処理ユニットを含む。通信装置は、第1態様または第1態様の可能な実装例のいずれか1つで説明したセキュアアクセス方法を実施するように構成されている。
【0039】
第4態様によれば、本願の一実施形態が、送信ユニット、受信ユニット、および処理ユニットを含む通信装置を開示する。通信装置は、第2態様または第2態様の可能な実装例のいずれか1つで説明したセキュアアクセス方法を実施するように構成されている。
【0040】
第5態様によれば、本願の一実施形態が、プロセッサおよび通信インタフェースを含む通信装置を開示する。プロセッサは、メモリに格納されたコンピュータプログラムを呼び出して、第1態様または第1態様の可能な実装例のいずれか1つで説明した方法を実施するように構成されている。
【0041】
第6態様によれば、本願の一実施形態が、プロセッサおよび通信インタフェースを含む通信装置を開示する。プロセッサは、メモリに格納されたコンピュータプログラムを呼び出して、第1態様または第1態様の可能な実装例のいずれか1つを実現するように構成されている。
【0042】
第7態様によれば、本願の一実施形態がさらにチップシステムを提供する。チップシステムは、少なくとも1つのプロセッサおよび通信インタフェースを含む。通信インタフェースはデータの送信および/または受信を行うように構成されており、少なくとも1つのプロセッサは、少なくとも1つのメモリに格納されたコンピュータプログラムを呼び出すように構成されているため、チップシステムは、第1態様または第1態様の可能な実装例のいずれか1つで説明した方法を実施するか、または第2態様または第2態様の可能な実装例のいずれか1つで説明した方法を実施するようになる。
【0043】
第8態様によれば、本願の一実施形態がさらに、第1ノードおよび第2ノードを含む通信システムを提供する。第1ノードは、第3態様または第3態様の可能な実装例のいずれか1つで説明した通信装置を含むか、または第5態様または第5態様の可能な実装例のいずれか1つで説明した通信装置を含む。第2ノードは、第4態様または第4態様の可能な実装例のいずれか1つで説明した通信装置を含むか、または第6態様または第6態様の可能な実装例のいずれか1つで説明した通信装置を含む。
【0044】
第9態様によれば、本願の一実施形態がコンピュータ可読記憶媒体を開示する。コンピュータ可読記憶媒体は、コンピュータプログラムを格納する。コンピュータプログラムがコンピュータ上で動作すると、コンピュータは、第1態様または第1態様の可能な実装例のいずれか1つで説明した方法を行うか、または第2態様または第2態様の可能な実装例のいずれか1つで説明した方法を行うことが可能になる。
【0045】
第10態様によれば、本願の一実施形態がコンピュータプログラム製品を開示する。コンピュータプログラム製品が1つまたは複数のプロセッサ上で動作すると、第1態様または第1態様の可能な実装例のいずれか1つで説明した方法が行われるか、または第2態様または第2態様の可能な実装例のいずれか1つで説明した方法が行われる。
【0046】
第11態様によれば、本願の一実施形態が端末を開示する。端末は、インテリジェントコックピット製品または車両などであってよく、端末は、第1ノードおよび/または第2ノードを含む。第2ノード(例えば、カメラ、スクリーン、マイク、スピーカ、レーダ、電子キー、パッシブエントリパッシブスタートシステムコントローラ、およびユーザ機器UEなどのモジュールのうちの1つまたは複数)は、第3態様または第3態様の可能な実装例のいずれか1つで説明した装置を含む。第1ノード(例えば、基地局または車両のコックピットドメインコントローラCDC)は、第4態様または第4態様の可能な実装例のいずれか1つで説明した通信装置を含む。
【0047】
あるいは、車両は、インテリジェント端末、または無人航空機またはロボットなどの輸送車両と置き換えられてもよい。
【図面の簡単な説明】
【0048】
以下では、本願の実施形態で用いられる添付図面を説明する。
【0049】
図1】キーネゴシエーションアルゴリズムの概略図である。
【0050】
図2(a)】キーネゴシエーションアルゴリズムの使用シナリオの概略図である。
図2(b)】キーネゴシエーションアルゴリズムの使用シナリオの概略図である。
図2(c)】キーネゴシエーションアルゴリズムの使用シナリオの概略図である。
【0051】
図3】本願の一実施形態による通信システムの概略フローチャートである。
【0052】
図4】本願の一実施形態による通信シナリオの概略図である。
【0053】
図5】本願の一実施形態による通信方法の概略フローチャートである。
【0054】
図6】本願の一実施形態による共有キーを決定する概略フローチャートである。
【0055】
図7】本願の一実施形態による別の通信方法の概略フローチャートである。
【0056】
図8A】本願の一実施形態によるさらに別の通信方法の概略フローチャートである。
図8B】本願の一実施形態によるさらに別の通信方法の概略フローチャートである。
【0057】
図9A】本願の一実施形態による通信方法の運用シナリオの概略図である。
図9B】本願の一実施形態による通信方法の運用シナリオの概略図である。
図9C】本願の一実施形態による通信方法の運用シナリオの概略図である。
図9D】本願の一実施形態による通信方法の運用シナリオの概略図である。
図9E】本願の一実施形態による通信方法の運用シナリオの概略図である。
【0058】
図10】本願の一実施形態による通信装置の構造の概略図である。
【0059】
図11】本願の一実施形態による別の通信装置の構造の概略図である。
【0060】
図12】本願の一実施形態によるさらに別の通信装置の構造の概略図である。
【発明を実施するための形態】
【0061】
以下では、本願の実施形態における添付図面を参照して、本願の実施形態を説明する。本願では、一例、事例、または実例を表すのに、「一例」または「例えば」などの用語が用いられることに留意されたい。本願において「一例」または「例えば」と説明される実施形態または設計方式はいずれも、他の実施形態または設計方式より好ましいまたは有利であると解釈されるべきではない。まさに、「例」または「例えば」などの用語を用いることで、具体的な方式で相対概念を提示することが意図されている。
【0062】
本願の実施形態では、「少なくとも1つ」という用語は1つまたは複数を示しており、「複数の」という用語は2つまたはそれより多くを示している。「以下の項目のうちの少なくとも1つ」という用語またはこの用語に類似した表現は、これらの項目のあらゆる組み合わせを示しており、1つの項目、または複数の項目のあらゆる組み合わせを含む。例えば、a、b、およびcのうちの少なくとも1つの項目とは、a、b、c、(aおよびb)、(aおよびc)、(bおよびc)、または(a、b、およびc)を示してよく、a、b、およびcは単数であっても、または複数であってもよい。「および/または」という用語は、関連付けられる対象物同士の関連関係を説明するものであり、3つの関係が存在し得ることを表している。例えば、Aおよび/またはBとは、Aのみが存在する、AおよびBの両方が存在する、およびBのみが存在するという3つの場合を表すことができ、AおよびBは単数であっても、または複数であってもよい。「/」という記号は一般に、関連する対象物同士の間の「または」の関係を示している。
【0063】
さらに、特に指定されない限り、本願の実施形態で用いられる「第1」および「第2」などの序数は、複数の対象物同士を区別するのに用いられ、複数の対象物の順序、時系列、優先度、または重要性の限定を意図するものではない。例えば、異なる情報同士を区別するのに第1情報および第2情報を用いるだけであり、2つの種類の情報が内容、優先度、送信順序、または重要性などにおいて異なることを示しているわけではない。
【0064】
以下では最初に、本願の実施形態で用いられる技術用語を説明する。
【0065】
1.ノード(node)
【0066】
ノードとは、データの処理、送信、および受信が可能な電子デバイスであるか、または電子デバイス内のコンポーネント(例えば、チップまたは集積回路)である。電子デバイスとしては、端末デバイスまたはネットワーク側デバイスが挙げられてよい。例えばノードは、コックピットドメイン(cockpit domain)デバイスであっても、またはコックピットドメインデバイス内のモジュール(例えば、コックピットドメインコントローラ(cockpit domain controller、CDC)、カメラ、スクリーン、マイク、スピーカ、電子キー、およびパッシブエントリパッシブスタートシステムコントローラなどのモジュールのうちの1つまたは複数)であってもよい。特定の実装プロセスにおいて、ノードは代替的にデータ中継デバイス、例えば、基地局、ルータ、リピータ、ブリッジ、またはスイッチであってもよく;または端末デバイス、例えば、様々な種類のユーザ機器(user equipment、UE)、携帯電話(mobile phone)、タブレットコンピュータ(pad)、デスクトップコンピュータ、イヤホン、およびステレオであってもよく;またはマシンインテリジェントデバイス、例えば、自動運転(self-driving)デバイス、輸送安全(transportation safety)デバイス、スマートホームデバイス(例えば、音響映像デバイス、セキュリティデバイス、スマート照明デバイス、および環境監視デバイスのうちの1つまたは複数)、仮想現実(virtual reality、VR)端末デバイス、拡張現実(augmented reality、AR)端末デバイス、マシンタイプ通信(machine type communication、MTC)デバイス、産業用制御(industrial control)デバイス、遠隔医療(remote medical)デバイス、スマートグリッド(smart grid)デバイス、またはスマートシティ(smart city)デバイスをさらに含んでもよく;またはウェアラブルデバイス(例えば、スマートウォッチ、スマートバンド、または歩数計)などをさらに含んでもよい。
【0067】
一部の技術的シナリオでは、同様のデータ送受信機能を有するデバイスがノードと呼ばれなくてもよい。しかしながら、説明しやすくするために、データ送受信機能を有する電子デバイスは、本願の実施形態では総称してノードと呼ばれる。
【0068】
2.セキュリティアルゴリズム(暗号アルゴリズム)
【0069】
(1)ハッシュアルゴリズム
【0070】
ハッシュアルゴリズムは、ハッシュ(hash)関数またはハッシュアルゴリズムとも呼ばれる。ハッシュアルゴリズムは、データ(例えば、文字列、数字、またはファイル)の一部を予め設定された長さ(例えば、80ビットまたは128ビット)のハッシュ値(ハッシュ値はハッシュ値またはダイジェスト値とも呼ばれることがある)として出力でき、逆の法則を見つけるのは非常に困難である。一般的なハッシュアルゴリズムには主に、セキュアハッシュアルゴリズム(secure hash algorithm 1、SHA-1)およびメッセージダイジェスト(message digest、MD)アルゴリズム(例えば、MD2、MD4,またはMD5)などが含まれる。
【0071】
(2)暗号化(encryption)アルゴリズム
【0072】
暗号化アルゴリズムが、データの機密性(confidentiality)を保護するのに用いられ、通常、平文を暗号化して暗号文を取得するものとして表される。暗号化アルゴリズムは、暗号化演算(例えば、楕円点の加算演算または排他的論理和演算)を含んでよく、比較的高いセキュリティを有する様々な数学関数も含んでよい。一般的な暗号化アルゴリズムとしては主に、排他的論理和演算、データ暗号化標準(data encryption standard、DES)、トリプルデータ暗号化アルゴリズム(triple data encryption algorithm、3DES)、高度暗号化標準(advanced encryption standard、AES)、RSA暗号化アルゴリズム、およびデータ構造分析(data structure analysis、DSA)アルゴリズムなどが挙げられる。
【0073】
(3)キー導出アルゴリズム
【0074】
秘密値から1つまたは複数の秘密値を導出する(導出する、または派生させる)のに、キー導出アルゴリズムが用いられる。これは、キー導出アルゴリズムとも呼ばれている。例えば、秘密値キーから導出された新たな秘密値DKが以下のように表されてよい。すなわち、DK=KDF(Key)。一般的なキー導出アルゴリズムとしては、パスワードベースのキー導出関数(password-based key derivation function、PBKDF)、およびスクリプト(scrypt)アルゴリズムなどが挙げられる。PBKDFアルゴリズムはさらに、第1世代PBKDF1および第2世代PBKDF2を含む。一部のKDFアルゴリズムのキー導出プロセスでは、入力された秘密値に対してハッシュ変換を行うのにハッシュアルゴリズムが用いられる。したがって、アルゴリズム識別子はさらに、KDF関数の入力として受信され、用いられるハッシュアルゴリズムを示すのに用いられてよい。
【0075】
KDFは、導出によって秘密値を取得するプロセスに適用されるだけでなく、認証情報およびアイデンティティ情報の生成などの態様に適用されてもよいことに留意されたい。
【0076】
もちろん、認証アルゴリズム(認証関数、AUF、またはAUTH関数)も、認証情報およびアイデンティティ情報を生成するのに用いられてよい。認証アルゴリズムは、入力されたパラメータに基づいて認証情報を取得するのに用いられる。
【0077】
(4)キーネゴシエーションアルゴリズム
【0078】
キーネゴシエーションとは、両通信当事者がいくつかのパラメータを交換して、ネゴシエーションを通じてキーを取得するプロセスである。キーネゴシエーションに用いられるアルゴリズムは、キーネゴシエーションアルゴリズムまたはキー交換アルゴリズムと呼ばれている。一般的なキーネゴシエーションアルゴリズムとしては、ディフィ・ヘルマンのキー交換(Diffie-Hellman key exchange、DH)アルゴリズム、楕円曲線暗号法(Elliptic Curve Cryptosystems、ECC)に基づくDH(ECDH)アルゴリズム、中国の暗号アルゴリズム(SM1、SM2、SM3、およびSM4など)、およびオークリー(Oakley)アルゴリズムなどが挙げられる。
【0079】
キーネゴシエーションアルゴリズムは、キーネゴシエーションプロトコルともみなされてよいことに留意されたい。すなわち、両通信当事者にとって、キーネゴシエーションアルゴリズムはキーの生成および交換の規則を定めており、暗号化のためにキーをどのように用いるかは他のアルゴリズムに依存する。
【0080】
3.DHアルゴリズム
【0081】
DHアルゴリズムによって、安全性が十分でないチャネルで両当事者がキーを作成するのが可能になり得る。このキーは、その後の通信で通信内容を暗号化するキーとして用いられ得る。
【0082】
図1は、本願の一実施形態によるDHアルゴリズムの概略図である。第1ノードおよび第2ノードが、決定された素数pおよび乱数gを取得する。DHアルゴリズムを用いて2つのノード同士の間でキーを交換する段階とは、以下の通りである。
【0083】
段階1:第2ノードが乱数aを決定する。
【0084】
段階2:第2ノードが第1計算値Aを生成する。ここで、A=g mod pである。
【0085】
段階3:第2ノードが第1計算値Aを第1ノードに送信する。
【0086】
段階4:第1ノードが乱数bを決定する。
【0087】
段階5:第1ノードが計算によって第2計算値Bを取得する。ここで、B=g mod pである。
【0088】
段階6:第1ノードがキーsを決定する。ここで、s=A mod pである。
【0089】
段階7:第1ノードが第2ノードに第2計算値Bを送信する。
【0090】
段階8:第2ノードがキーsを決定する。ここで、s=B mod pである。
【0091】
s=A mod p=(g mod p) mod p=gab mod p=(g mod p) mod p=B mod pとなるため、第1ノードおよび第2ノードによって計算されるキーsは同じである。キーsは、メッセージで直接伝達されない。したがって、攻撃者はこのキーを直接取得できない。ネゴシエーションを通じて取得されるキーsは、攻撃者が総当たり攻撃によるクラックでaまたはbを取得した後に限り計算されてよい。この場合、攻撃者がA、g、およびpに基づく総当たり攻撃によるクラックを行うことで計算によってaを取得するための公式が、a=loggA mod pである。対数演算には高速な計算アルゴリズムがなく、通常、素数pおよび乱数gの値が比較的大きいため、攻撃者がA、素数p、および乱数gに基づいて対数演算および剰余演算を行うことでaを取得するのは困難である。したがって、DHアルゴリズムを用いて取得されるキーKは安全である。
【0092】
4.楕円曲線アルゴリズム
【0093】
楕円曲線アルゴリズムとは、楕円曲線の数学理論に基づいて実施されるセキュリティアルゴリズムである。通常、人々が論じる楕円曲線の曲線方程式は二元三次方程式である。この方程式には複数の形式がある。最も一般的に用いられる一般方程式は、以下の通りである。
【数1】
【0094】
曲線方程式およびイメージから、楕円曲線がx軸に関して対称であることが容易に分かる。ゼロに等しくない判別式
【数2】
によって、楕円曲線上には特異点がないことが理解できる、すなわち、楕円曲線は滑らかであり、楕円曲線上のあらゆる点を導出することが可能である。これにより、楕円曲線における加算演算が容易になる。
【0095】
(1)点の加算(point addition)演算(楕円曲線の加算演算)
【0096】
図2(a)、図2(b)、および図2(c)は、本願による可能な、点の加算演算の概略図である。図2(a)を参照すると、楕円曲線における加算演算は以下の方式で表現され得る。つまり、曲線上に点Pおよび点Qをマークする(本明細書では、a=0およびb=7の楕円曲線、すなわちy=x+7を一例として用いる);点PおよびQを通り且つ3つ目の点-Rで曲線と交差する直線を描き;x軸に関して点-Rと対称な点Rを引き続き描く。点Rは、PおよびQを加算して取得される点であり、P+Q=Rによって表される。
【0097】
楕円曲線はx軸に関して対称であるため、Rは点-Rと対称な点であり、点-Rが楕円曲線上にあるため、点Rも確実に楕円曲線上にある、すなわち、PおよびQを加算して取得される点は楕円曲線上にあることに留意されたい。
【0098】
図2(b)を参照すると、P=Qである場合、点Pを正接点に用いて、楕円曲線の正接線が描かれる。正接線は、点-Rによって表される別の点において楕円曲線と交差する。同様に、x軸に関して点-Rと対称な点Rが描かれる。点Rは、PおよびPを加算して取得される点であり、P+P=2P=Rによって表される。
【0099】
(2)点の減算演算(楕円曲線の減算演算)
【0100】
図2(c)を参照すると、R-P=R+(-P)であるため、(R-P)を解くのは点Rおよび点-Pの間の加算演算である。点-Pは点Pと対称な点である。したがって、点Rおよび-Pを通る直線が描かれる。楕円曲線がx軸に関して対称であるため、この直線は点-Pで楕円曲線に接することが分かる。したがって、x軸に関して点-Pと対称な点Pが描かれ、点Pは点Rおよび-Pを加算して取得される点である。
【0101】
(3)点の乗算(point multiplication)演算
【0102】
楕円曲線上の点をn回連続して加算する場合、点Pをn回加算した結果が取得され、その結果はnPによって表される。加算回数の数nは整数であり、スカラーと呼ばれることがある。楕円曲線上での点の乗算演算は、スカラー乗算(scalar multiplication)演算と呼ばれることがある。この演算が複数のスカラーに関する場合、演算はマルチスカラー乗算(multi-scalar multiplication)演算と呼ばれることがある。
【0103】
点の乗算アルゴリズムは異なる演算シナリオでは異なる定義を有してよく、実装が、点の乗算アルゴリズムの具体的に定められた演算法則に依存することに留意されたい。ここでは、楕円曲線点の乗算アルゴリズムの可能な計算方式を示す。
【0104】
(4)ECDHキー交換
【0105】
楕円曲線アルゴリズムは、有限体で定められた楕円曲線の巡回サブグループを必要とする。必要なパラメータは以下の通りである。つまり、有限体の大きさを説明するのに用いられる素数p、楕円曲線方程式のパラメータaおよびb、巡回サブグループを生成するのに用いられるベースポイントG、サブグループの位数(order)n、およびサブグループの余因子hである(h=N/n、ここでNは楕円曲線群の位数である)。一般に、6つのパラメータ(p、a、b、G、n、h)を組み合わせて、楕円曲線アルゴリズムにより用いられる楕円曲線を定める。
【0106】
ECDHアルゴリズムは主に、以下の方程式K=k×Gに基づいて実施される。ここで、KおよびGは楕円曲線Ep(a,b)上の点であり、nはGの位数(nG=O∞、O∞は無限大を意味する)、kはnより小さい整数である。K=kGでは、与えられたkおよびGに対して、加算法則(例えば、点の加算演算を用いた累積)に従ってKを計算するのは容易である。しかしながら、逆に、与えられたKおよびGに対して、kを取得するのは非常に困難である。楕円曲線アルゴリズムの実際の使用では、原理上、pが非常に大きく、nも非常に大きい。したがって、n個の点を1つずつ計算して、それをKと比較するのは数学の問題である。
【0107】
キー交換プロセスでは、キー交換の両当事者がAliceおよびBobであり、且つ両当事者が曲線パラメータ(楕円曲線E、位数N、ベースポイントG)を共有していると仮定する。交換の各段階は以下の通りであってよい。
【0108】
段階1:Aliceがランダムな整数aを生成し、第1計算値A=a×Gを計算する。
【0109】
段階2:Bobがランダムな整数bを生成し、第2計算値B=b×Gを計算する。
【0110】
段階3:AliceがBobにAを転送する。Aの転送は公開されてよい。具体的には、攻撃者はAおよびGを取得できるが、攻撃者がAおよびGに基づいてaを計算するのは困難である。
【0111】
段階4:BobはAliceにBを転送する。同様に、Bの転送は公開されてよい。具体的には、攻撃者はBおよびGを取得できるが、攻撃者がBおよびGに基づいてaを計算するのは困難である。
【0112】
段階5:BobがAliceにより転送されたAを受信し、Q=b×A=ab×Gを計算する。
【0113】
段階6:AliceがBobにより転送されたBを受信し、Q′=a×B=ab×Gを計算する。
【0114】
AliceおよびBobの双方は、Q=b×A=b×(a×G)=(b×a)×G=(a×b)×G=a×(b×G)=a×B=Q′(交換法則および結合法則)を取得する、すなわち、同じキーQを双方が取得する。キーQは直接伝達されないため、攻撃者が、取得したA、B、およびGに基づいてQを計算するのは困難である。したがって、ECDHアルゴリズムを用いて、交換によって取得されたキーQは安全である。
【0115】
5.フレッシュパラメータ
【0116】
フレッシュパラメータとは、情報セキュリティ分野におけるパラメータであり、キーおよび認証パラメータなどを生成するのに用いられ、フレッシュまたはフレッシュパラメータとも呼ばれることがある。フレッシュパラメータは、乱数(number once、NONCE)、カウント値(counter)、シリアル番号(serial number)、およびシーケンス番号(sequence number)などのうちの少なくとも1つを含んでよい。通常、異なる時点で生成されたフレッシュパラメータは異なる。フレッシュパラメータが生成されるたびにフレッシュパラメータの特定の値が変化し、今回のキーの生成に用いられるフレッシュパラメータ(または認証パラメータなど)が、前回のキーの生成に用いられたフレッシュパラメータ(または認証パラメータなど)と異なるため、生成されるキーのセキュリティを改善できることが理解されるであろう。
【0117】
NONCEは、一度だけ用いられる(または繰り返されない)ランダムな値である。
【0118】
6.パスワード
【0119】
パスワードとは、あるノードによって、別のノードのアクセスのために予め設定されるか、または予め定められるパスワードと理解されても、または2つのノード同士の間で合意された秘密値と理解されてもよい。任意選択で、パスワードは、数字、文字、および記号などのうちの1つまたは複数を含む文字列の形式であってよく、キーボード、音声、または生体情報などを用いて入力されてよい。例えば、ワイヤレスフィデリティ(Wireless Fidelity、Wi-Fi(登録商標))プロトコルをサポートするルータに携帯電話端末がアクセスするシナリオでは、携帯電話端末は「Wi-Fi(登録商標)パスワード」を用いてルータにアクセスしてよく、「Wi-Fi(登録商標)パスワード」はルータのパスワードと理解されてよい。
【0120】
任意選択で、パスワードは以下のシナリオで用いられてよい(第2ノードが第1ノードへのアクセスを要求すると仮定する)。
【0121】
シナリオ1:第1ノードは第1パスワードを予め定めるか、または予め設定し、第2ノードのユーザが第2ノード上で第1パスワードを入力してよい。具体的には、第2ノードはユーザが入力した第1パスワードを受け取り、第1パスワードに基づいて第1ノードへのアクセスを要求してよい。例えば、車両所有者は管理者インタフェースを用いて車両の第1パスワードを設定する。車両所有者の新たなスマートフォンが車両にアクセスする必要がある場合、車両所有者は新たなスマートフォン上で第1パスワードを入力してよく、スマートフォンは、入力されたパスワードに基づいて、車両へのアクセスを要求してよい。
【0122】
シナリオ2:第1ノードは第1パスワードを予め定めるか、または予め設定する。同様に、第1ノードにアクセスするための第1パスワードは、第2ノードにも予め設定される。第2ノードが第1ノードにアクセスする必要がある場合、第2ノードは、予め設定された第1パスワードを用いてアクセスを行うことができる。例えば、車両を組み立てるときに、車両工場が車両のCDCに第1パスワードを設定し、CDCの第1パスワードを車両のレーダに設定してよい。このように、レーダは、車両のCDCにアクセスするときに、CDCの第1パスワードを用いてCDCにアクセスできる。
【0123】
シナリオ3:サードパーティデバイス(第1ノードに信頼されたネットワーク側デバイス、証明センタ、または認証サーバなど)が第1ノードおよび第2ノードに合意値を割り当ててよい。ここで合意値は、第1ノードにアクセスするのに第2ノードにより用いられてよい。したがって、合意値は第1ノードのアクセスパスワードとみなされてよい。
【0124】
アルゴリズムに関する前述の説明は、単に実装原理を簡潔に説明するのに用いられるものであり、使用中に同じパラメータを実装に用いなければならないことを限定するものではないと理解されるであろう。アルゴリズムの特定の実装プロセスにおいて、他の改良および変形があってよい。本願で言及したアルゴリズムは、改良および変形の後に取得されたアルゴリズムであってよい。例えば、ECCはDSAアルゴリズムに組み込まれてよく、その組み合わせがECDSAアルゴリズムと呼ばれている。
【0125】
さらに、本願の実施形態で言及される「認証」、「確認」、および「検証」が、正当性および妥当性を確認するという意味を表し得ることに留意されたい。本願の実施形態で言及する「アクセス」という用語は、第1ノードが第2ノードへの接続を確立するプロセスを示している。一部の特定の技術的シナリオでは、「アクセス」がアソシエーションとしても記載されていることがある。
【0126】
以下では、本願の実施形態におけるシステムアーキテクチャおよびサービスシナリオを説明する。本願において説明されるシステムアーキテクチャおよびサービスシナリオは、本願における技術的解決手段をより明確に説明するように意図されており、本願において提供される技術的解決手段に関する限定を構成しないことに留意されたい。システムアーキテクチャの進化および新たなサービスシナリオの出現に伴い、本願において提供される技術的解決手段が同様の技術的課題にも適用可能であることが、当業者であれば分かるであろう。
【0127】
図3は、本願の一実施形態による可能な通信システムの概略図である。通信システムは、第1ノード301および第2ノード302を含む。第2ノード302は、第1ノード301とのアソシエーションを要求してよい。アソシエーションが成功した後に、第1ノード301は第2ノード302と通信できる。第1ノード301および第2ノード302の間の通信リンクには、有線リンク(例えば、光ファイバ)、無線リンク、または有線リンクおよび無線リンクの組み合わせなどを含む様々な種類の接続媒体が含まれてよい。例えば、短距離接続技術には、802.11b/g、ブルートゥース(登録商標)(Bluetooth(登録商標))、ジグビー(登録商標)(ZigBee(登録商標))、無線自動識別(radio frequency identification、RFID)技術、超広帯域(ultra wideband、UWB)技術、または無線短距離通信システム(例えば、車載無線短距離通信システム)などが含まれてよい。別の例を挙げると、長距離接続技術には、ロングタームエボリューション(Long Term Evolution、ロングタームエボリューション)ベースの通信技術、第5世代移動体通信技術(5th generation mobile networksまたは5th generation wireless systems、5th-Generation、略して、5Gまたは5G技術)、移動体通信用グローバルシステム(global system for mobile communications、GSM(登録商標))、汎用パケット無線サービス(general packet radio service、GPRS)、汎用移動体通信システム(universal mobile telecommunications system、UMTS)などの無線アクセス技術が含まれてよい。
【0128】
もちろん、第1ノードおよび第2ノードの間の通信をサポートするのに、他の無線通信技術も用いられてよい。例えば、いくつかの特定の実装シナリオにおいて、第1ノードはノードG、制御ノード、またはアクセスポイント(access point)とも呼ばれることがあり、第2ノードはノードTまたは端末とも呼ばれることがある。ノードGからノードTへの通信リンクがリンクGと呼ばれることがあり、ノードTからノードGへの通信リンクはリンクTと呼ばれることがある。
【0129】
第1ノード301および第2ノード302は、同じ種類のデバイスであってもよく、または異なる種類のデバイスであってもよい。例えば、図4は可能な通信シナリオの概略図である。車両のコックピットドメインコントローラ(cockpit domain controller、CDC)401が、車両のインテリジェントコックピットデバイスにおけるコントロールセンタであり、第1ノード401とみなされてよい。スマートフォン402は、データ送受信機能を備えたデバイスであり、第2ノード402とみなされてよい。
【0130】
CDC401には、ブルートゥース(登録商標)を通じてアクセスしてよい。スマートフォン402はブルートゥース(登録商標)機能をサポートする。したがって、スマートフォン402はCDC401へのアクセスを要求してよい。ブルートゥース(登録商標)技術は通常、デジタルペアリングモードまたはジャストワーク(just work)モードを接続に用いる。したがって、デジタルペアリングモードでは、CDC401の識別子がスマートフォン402上で直接タップされて、ペアリング番号がCDC401で確認されるため、ブルートゥース(登録商標)を通じてCDC401に接続できるようになる。この場合、攻撃者がスマートフォン402のアイデンティティを用いてCDC401に接続するならば、CDC401は攻撃者を識別できず、攻撃者はCDC401へのアクセスに成功するので、車両のプライバシおよびセキュリティを脅かす。本明細書では、ブルートゥース(登録商標)によるアクセスシナリオのみを一例として用いる。特定のアクセスシナリオにはさらに、別の通信技術を用いて行われるアクセスが含まれてよい。同様に、一部の他のシナリオでは、従来の方法を用いてノードにアクセスする場合、通常、未知のアイデンティティを有する攻撃者がノードにアクセスできないようにするのは困難であるため、通信セキュリティが影響を受ける。
【0131】
したがって、セキュリティを改善するために、本願の一実施形態が、図5に示すセキュアアクセス方法を提供する。
【0132】
図5は、本願の一実施形態によるセキュアアクセス方法の概略フローチャートである。さらに、本方法は、図3に示すアーキテクチャに基づいて実施されてよい。本方法は、少なくとも以下の段階を含む。
【0133】
段階S501:第2ノードが第1ノードに第1メッセージを送信する。第1メッセージは第1暗号文を含み、第1暗号文は、第1キーネゴシエーションパラメータおよびセキュリティパラメータに基づいて取得される。
【0134】
具体的には、キーネゴシエーションパラメータは、キーネゴシエーションプロセスで決定されるパラメータである。説明しやすくするために、本願の各実施形態では、第2ノードにより第1ノードに送信されるキーネゴシエーションパラメータが第1キーネゴシエーションパラメータと呼ばれる。
【0135】
例えば、第1ノードおよび第2ノードはDHアルゴリズムに基づいてキーネゴシエーションを行い、公開キーとして比較的大きい素数pおよび乱数gを用いる。第2ノードは、それ自体の秘密キー(a)および公開キー(pおよびg)に基づいて計算値Aを決定する。素数p、乱数g、秘密キーa、および計算値Aは全て、キーネゴシエーションプロセスで生成されたパラメータとみなされてよい。計算値Aは第2ノードにより決定されて、次いで第1ノードに送信されるため、計算値Aは第1キーネゴシエーションパラメータとみなされてよい。
【0136】
別の例では、第1ノードおよび第2ノードはECDHアルゴリズムに基づいてキーネゴシエーションを行う。決定された楕円曲線がEpであり、ベースポイントがGであると仮定すると、第2ノードはそれ自体の秘密キーaおよびベースポイントGに基づいて計算値A(例えば、A=a×G)を取得し、計算値Aを第1ノードに送信する。この場合、計算値Aは第1キーネゴシエーションパラメータとみなされてよい。
【0137】
セキュリティパラメータは、第1ノードおよび第2ノードの間で共有されるパラメータ、例えば、第1ノードおよび第2ノードの間の共有キー(事前共有キーまたは対称暗号化キーなどを含む)、第1パスワード、第1ノードおよび第2ノードの間の事前設定パラメータ、または通信プロトコルにおいて予め定められたパラメータである。
【0138】
事前共有キー(pre-shared key、PSK)は、第1ノードおよび第2ノードの間で共有される秘密値である。第2ノードは、相互のネゴシエーションを通じて予め定める、予め設定する、または生成するなどの方式で、第1ノードと共有されるPSKを取得してよく、第2ノードはPSKを用いてメッセージを暗号化してよい。
【0139】
第1パスワードは、第1ノードおよび第2ノードの間の合意済みアクセスパスワードであるか、または第2ノードによる第1ノードへのアクセスを許可するために第1ノードにより予め設定された、または予め定められたパスワードと理解されてもよく、または第1ノードおよび第2ノードの間で合意された秘密値と理解されてもよい。さらに、第1パスワードの関連説明については、技術用語の説明部分の解説を参照されたい。ここでは、詳細について改めて説明しない。
【0140】
以下では、事前共有キーPSKを一例に用いて、セキュリティパラメータおよび第1キーネゴシエーションパラメータに基づいて第1暗号文を取得する4つの実装方法を示す。
【0141】
実装方法1:第2ノードが、PSKおよび第1キーネゴシエーションパラメータに基づいて点の加算演算を行い、第1暗号文を取得する。さらに、第1ノードは最初にPSKに対してハッシュ演算を行い、次いでPSKのハッシュ値および第1キーネゴシエーションアルゴリズムに基づいて点の加算演算を行って第1暗号文を取得してよい。例えば、第1暗号文C1は以下の公式
【数3】
を満たす。ここで、KEtは第1キーネゴシエーションパラメータであり、+は楕円曲線点の加算演算であり、hashはハッシュアルゴリズムである。
【0142】
楕円曲線のある点に対して点の加算演算が行われてよい。しかしながら、特定の実装プロセスでは、第1キーネゴシエーションパラメータが楕円曲線上の点ではない場合、第1キーネゴシエーションパラメータは最初に、楕円曲線上のある点にマッピングされてよく、次いで点の加算演算が行われる。PSKおよびhash(PSK)などの他のパラメータも、同様にマッピングされてよい。本願では、可能な計算方法が示されている。つまり、第2ノードはhash(PSK)を水平座標として用い(hash(PSK)が定義域を超える場合、hash(PSK)に対して剰余演算を行ってよい)、楕円曲線上のマッピング点R(hash(PSK),y1)を取得し、点RおよびKEtに基づいて楕円曲線点の加算演算を行って点S(x2,y2)を取得してよい。第2ノードは、点Sの水平座標x2または垂直座標y2をC1として用いてよい。それに対応して、1つのx値が複数のy値に対応する場合、y値が満たす必要のある条件が事前合意され得る(例えば、絶対値が最大である1つのy値が選択される)ため、対応する点が決定されるようになる。
【0143】
任意選択で、第1ノードおよび第2ノードによって直接用いられるキーネゴシエーションアルゴリズムがECDHアルゴリズムである場合、第1暗号文は、実装例1の方法を用いて取得されてよい。もちろん、キーネゴシエーションアルゴリズムがECDHアルゴリズムではない場合、キーネゴシエーションパラメータは代替的に、楕円曲線上のある点にマッピングされ得るため、第1暗号文は点の加算演算を用いて取得されるようになる。
【0144】
実装方法2:第2ノードが、PSKおよび第1キーネゴシエーションパラメータに基づいて乗算演算を行い、第1暗号文を取得する。例えば、第1暗号文C1は以下の公式
【数4】
を満たす。ここで、KEtは第1キーネゴシエーションパラメータであり、*は乗算演算であり、hashはハッシュアルゴリズムである。
【0145】
任意選択で、第1ノードおよび第2ノードによって直接用いられるキーネゴシエーションアルゴリズムがDHアルゴリズムである場合、第1暗号文は、実装例2の方法を用いて取得されてよい。もちろん、キーネゴシエーションアルゴリズムがDHアルゴリズムではない場合でも、乗算演算が第1暗号文を取得するのに行われてよい。
【0146】
実装方法3:第2ノードが、PSKまたはPSKのハッシュ値に基づき、暗号化アルゴリズムを用いて第1キーネゴシエーションパラメータを暗号化し、第1暗号文を取得する。例えば、取得した第1暗号文C1は以下の公式、C1=Enc(hash(PSK),KEt)を満たす。ここで、Encは暗号化アルゴリズムであり、具体的には、SM4アルゴリズム、ZUCアルゴリズム、およびAESアルゴリズムなどのうちの1つでも、またはその組み合わせであってもよい。
【0147】
実装方法4:第2ノードが、PSKに基づいてキーを導出し(説明しやすくするために、このキーは第1中間キーと呼ばれる)、第1中間キーに基づいて第1キーネゴシエーションパラメータを暗号化し、第1暗号文を取得してよい。例えば、第1中間キーK1は以下の公式、K1=KDF(Hash(PSK),NONCEd)を満たす。ここで、KDFは第1中間キーを導出するのに用いられる導出アルゴリズムであり、NONCEdは第1中間キーを導出するのに用いられるフレッシュパラメータである(任意選択的なパラメータであり、ここでは単なる一例として用いられている)。第2ノードにより取得された第1暗号文C1は、C1=Enc(K1,KEt)を満たす。
【0148】
ここでは本解決手段をより明確に説明するために、複数の段階を行うことで第1暗号文をどのように取得するかを実装方法4が説明していることに留意されたい。実際の処理では、第1暗号文は代替的に、1つの段階を行うことで取得されてもよい。第1中間キーK1は単なる中間結果である、すなわち第1暗号文C1を決定する方式がC1=Enc(KDF(Hash(PSK),NONCEd),KEt)を満たす。
【0149】
PSKは、第1パスワード、第1ノードおよび第2ノードの間の事前設定パラメータ、または通信プロトコルにおいて予め定められたパラメータなどと置き換えられてもよいことが理解されるであろう。ここでは、詳細について改めて説明しない。可能な一設計例では、第2ノードが第2ノードおよび第1ノードの間のPSKを有する場合、第2ノードは、PSKおよび第1キーネゴシエーションパラメータに基づいて第1暗号文を取得する。第2ノードが第2ノードおよび第1ノードの間のPSKを有していない場合、第2ノードは、第1パスワードおよび第1キーネゴシエーションパラメータに基づいて第1暗号文を取得する。
【0150】
任意選択で、第1メッセージはさらにフレッシュパラメータ(fresh parameter)を含んでよい。説明しやすくするために、本願の各実施形態では、第1メッセージに含まれるフレッシュパラメータは第1フレッシュパラメータと呼ばれる。フレッシュパラメータは、乱数、カウント値、およびシリアル番号などのうちの少なくとも1つを含む。
【0151】
任意選択で、第1ノードはメッセージをブロードキャストしてよい。それに対応して、第2ノードは第1ノードによりブロードキャストされたメッセージを受信してよい。第2ノードは、第1ノードによりブロードキャストされたメッセージに基づいて第1ノードに第1情報を送信する。さらに任意選択で、第1ノードによりブロードキャストされたメッセージは、第1ノードによりサポートされるキーネゴシエーションアルゴリズムのインジケーション情報(または第1ノードのキーネゴシエーションアルゴリズム機能と呼ばれる)を搬送してよい。
【0152】
さらに任意選択で、第2ノードは、第1ノードとのキーネゴシエーションに用いられるアルゴリズムとして、第1ノードによりサポートされるキーネゴシエーションアルゴリズムの1つを決定してよい。この場合、第1メッセージはさらに、第2ノードにより選択されたキーネゴシエーションアルゴリズムの識別子を搬送してよい。
【0153】
第2ノードは、第1ノードに第1メッセージを送信する。それに対応して、第1ノードは、第2ノードから第1メッセージを受信する。
【0154】
第1メッセージはアクセス要求メッセージ(またはアクセス要求情報)とも呼ばれることがあり、またはアソシエーション要求メッセージと呼ばれることがある(または、特定のシナリオではアソシエーション要求情報と呼ばれることがある)ことに留意されたい。本願の各実施形態では、メッセージまたは情報の名前を限定することはなく、メッセージの内容のみを一例として説明し、表現する。メッセージの名前は、ランダムに置き換えられてよい。
【0155】
段階S502:第1ノードがセキュリティパラメータに基づいて第1暗号文を解読し、第1キーネゴシエーションパラメータを取得する。
【0156】
具体的には、第1暗号文はセキュリティパラメータおよび第1キーネゴシエーションパラメータに基づいて取得され、セキュリティパラメータは第1ノードおよび第2ノードの両方が取得できるパラメータである。したがって、第1ノードはセキュリティパラメータに基づいて第1暗号文を解読し、第1キーネゴシエーションパラメータを取得できる。
【0157】
第2ノードが第1暗号文を取得する前述の実装例に対応して、本願では第1暗号文を解読するいくつかの実装例を以下に示す。
【0158】
実装例1:第1ノードが第1暗号文およびPSK(またはPSKのハッシュ値)に基づいて楕円点の減算演算を行い、第1キーネゴシエーションパラメータを取得する。例えば、第1キーネゴシエーションパラメータKEtは以下の公式
【数5】
を満たす。ここでC1は第1暗号文であり、-は楕円曲線点の減算演算であり、hashはハッシュアルゴリズムである。
【0159】
実装例2:第1ノードが第1暗号文およびPSK(またはPSKのハッシュ値)に基づいて除算演算を行い、第1キーネゴシエーションパラメータを取得する。例えば、第1キーネゴシエーションパラメータKEtは以下の公式
【数6】
を満たす。ここでC1は第1暗号文であり、÷は除算演算であり、hashはハッシュアルゴリズムである。
【0160】
実装例3:第1ノードが、暗号化アルゴリズムを用い且つPSKまたはPSKのハッシュ値を暗号化アルゴリズムの入力として用いることで、第1暗号文を解読する。例えば、第1キーネゴシエーションパラメータKEtは以下の公式、KEt=Dec(hash(PSK),C1)を満たす。ここで、Decは暗号化アルゴリズムEncに対応する解読アルゴリズムである(暗号化アルゴリズムおよび解読アルゴリズムは一般に同じアルゴリズムであるか、または具体的にはアルゴリズムが異なる計算手順であってよく、ここでは説明しやすくするために異なる名前を用いる)。
【0161】
実装例4:第1ノードがPSKに基づいて第1中間キーを導出し、第1中間キーに基づいて第1暗号文を解読し、第1キーネゴシエーションパラメータを取得する。例えば、第1中間キーK1は以下の公式、K1=KDF(Hash(PSK),NONCEd)を満たす。ここで、KDFは第1中間キーの導出に用いられる導出アルゴリズムであり、NONCEdは第1中間キーの導出に用いられるフレッシュパラメータである。取得した第1キーネゴシエーションパラメータKEtは以下の公式、KEt=Dec(K1,C1)を満たす。
【0162】
段階S503:第1ノードが第1キーネゴシエーションパラメータおよびキーネゴシエーションアルゴリズムに基づいて第1共有キーを決定する。
【0163】
具体的には、キーネゴシエーションアルゴリズムは第1ノードおよび第2ノードの間で事前合意されたキーネゴシエーションアルゴリズムであるか、または第2ノードはキーネゴシエーションアルゴリズムの識別子を第1メッセージに搬送して、用いられるキーネゴシエーションアルゴリズムを示してもよい。
【0164】
本願では、第1キーネゴシエーションパラメータおよびキーネゴシエーションアルゴリズムに基づいて第1共有キーを決定するいくつかの方式を示す。
【0165】
方式1:第1ノードが、第1ノードの秘密キーを決定し、キーネゴシエーションアルゴリズム、第1キーネゴシエーションパラメータ、および第1ノードの秘密キーに基づいて交換キーを決定してよい。交換キーは、第1共有キーとして用いられてよい。
【0166】
図6は、本願の一実施形態による、交換キー(第1共有キー)を決定するための概略フローチャートである。図6の部分図(a)を参照すると、DHアルゴリズムに基づいて交換キーを決定するプロセスが記載されている。第1ノードは、第1キーネゴシエーションパラメータKEtをDHアルゴリズムに入力してよい。第1ノードは、DHアルゴリズムの手順に従って(第1ノードの秘密キーとして用いられる)乱数bを決定し、乱数bおよび第1キーネゴシエーションパラメータに基づいて交換キーKKEを決定してよい。
【0167】
図6の部分図(b)を参照すると、第1ノードは、第1キーネゴシエーションパラメータKEtをECDHアルゴリズムに入力してよい。第1ノードは、ECDHアルゴリズムの手順に従って(第1ノードの秘密キーとして用いられる)乱数bを決定し、乱数bおよび楕円曲線に基づいて交換キーKKEを決定する。
【0168】
いくつかの特定の設計例において、キーネゴシエーションアルゴリズムをある計算手順にカプセル化してよく、ここで、入力が第1キーネゴシエーションパラメータであり、出力が第1共有キーであることが理解されるであろう。もちろん、一部の他の可能な設計例において、秘密キーを決定し交換キーを計算する段階が、異なる計算手順で行われてもよい。
【0169】
方式2:第1ノードが、第1ノードの秘密キーを決定し、キーネゴシエーションアルゴリズム、第1キーネゴシエーションパラメータ、および第1ノードの秘密キーに基づいて交換キーを決定してよい。第1ノードは、交換キーおよびフレッシュパラメータに基づいて第1共有キーを決定する。
【0170】
例えば、第1ノードは、方式1で説明した方法に基づいて交換キーKKEを決定し、交換キーKKEに基づいて第1共有キーKgtを決定してよい。例えば、第1共有キーKgtは以下の公式、Kgt=KDF(KKE,NONCEt,NONCEg)を満たす。ここで、NONCEtは第1フレッシュパラメータ(任意選択的なパラメータ)であり、NONCEgは第2フレッシュパラメータ(任意選択的なパラメータ)である。
【0171】
方式2で取得される第1共有キー(以下、第1共有キーKgtと呼ばれる)が交換キーKKEに基づいて決定され、且つ交換キーが方式1で説明した解決手段における第1共有キーとして用いられるので、説明しやすくするために、特許請求の範囲では第1共有キーKgtを第2共有キーとして説明することに留意されたい。本願における「第1」および「第2」は、パラメータ同士の区別を意図しているだけであり、特定のパラメータ名の限定を意図しているわけではないことが理解されるであろう。
【0172】
任意選択で、図5に示すセキュアアクセス方法は、段階S504~段階S509のうちの1つまたは複数を含む。段階S504~段階S509は、具体的には以下の通りである。
【0173】
段階S504:第1ノードが第1ノードおよび第2ノードの間の事前共有キー(pre-shared key、PSK)を取得する。
【0174】
具体的には、PSKは第1ノードおよび第2ノードの間で共有される秘密値である。以下では、第1ノードが第1ノードおよび第2ノードの間のPSKを取得する2つの可能なケースを示す。
【0175】
ケース1:PSKおよび第2ノードのアイデンティティの間の対応関係が第1ノード上に存在する。言い換えれば、第1ノード上では、第1ノードおよび第2ノードの間のPSKが第2ノードのアイデンティティに対応してよい。第1ノードは、第2ノードのアイデンティティおよび対応関係に基づいて、対応するPSKを取得してよい。
【0176】
第2ノードのアイデンティティは、ID、媒体アクセス制御(media access control、MAC)アドレス、ドメイン名、ドメインアドレス、または第2ノードの別のユーザ定義アイデンティティであってもよく、第2ノードのデバイスアイデンティティとも呼ばれる。さらに、第2ノードは第2ノードのアイデンティティを第1メッセージに追加できるため、第1ノードは第2ノードのアイデンティティを取得できるようになる。任意選択で、PSKおよび第2ノードのアイデンティティの間の対応関係は、第1ノード上に予め設定された、または予め定められた対応関係であってもよく、または第1ノードおよび第2ノードがネゴシエーションを通じてPSKを生成した後に格納された対応関係であってもよい。この対応関係は、対応関係一式、データテーブル、およびデータベースなどのうちの1つまたは複数の形式であってよい。本願では、これについて限定しない。表1は、本願の一実施形態において示されるPSKおよび第2ノードのアイデンティティの間の対応関係に関する可能な一式である。この対応関係一式には、複数の第2ノードのアイデンティティ、対応するPSK、およびPSK種別が含まれる。例えば、アイデンティティが「ID1」の第2ノードでは、第1ノードは一時ID「ID1.1」に基づいて、第2ノードに対応するPSKが「PSK1」であると判定してよい。さらに、「PSK1」の種類が予め設定されている。
表1 PSKおよび第2ノードのアイデンティティの間の対応関係一式
【表1】
【0177】
ここで留意すべきは、対応関係が予め設定されている場合、第1ノード上に予め設定されたPSKは第2ノード上に予め設定されたPSKと同じであること;またはPSKが生成された後に対応関係が格納された場合、第1ノードがPSKを生成するための方法およびパラメータも、第2ノードがPSKを生成するための方法およびパラメータと同じであることである。可能な一設計例では、PSKおよび第2ノードのアイデンティティの間の対応関係が第1ノード上に存在する場合、これは第2ノードが以前に第1ノードにアクセスしたこと、または第1ノードが第1ノードおよび第2ノードの間のPSKを予め設定したことを示してよい。したがって、第1ノードは対応関係に基づいてPSKを取得できる。
【0178】
第1ノードがケース1の方式でPSKを取得する場合、段階S504は代替的に、段階S502の前に行われてもよく、PSKは第1暗号文を解読するのに用いられてよいことに留意されたい。本願における他の段階を行う順序も、解決手段の実施に影響を及ぼすことなく変更されてよい。
【0179】
ケース2:第1ノードが第1ノードおよび第2ノードの間のPSKを生成する。具体的には、PSKを生成するためのパラメータには、第1パスワード、第1共有キー(これは具体的には交換キーKKEでも、または共有キーKgtでもよい)、第1フレッシュパラメータ、第2フレッシュパラメータ、第1ノードのアイデンティティ、および第2ノードのアイデンティティなどのうちの1つまたは複数が含まれてよい。以下では、PSKを生成するためのパラメータについていくつかのケースを示す。
【0180】
ケース1:第1ノードが乱数を決定し、乱数を第1ノードおよび第2ノードの間のPSKとして用いる。
【0181】
ケース2:第1メッセージが第1フレッシュパラメータを含み、第1ノードが第1フレッシュパラメータおよび第1ノードにより決定されたフレッシュパラメータに基づいてPSKを生成する。例えば、生成したPSKは
【数7】
を満たす。ここで、KDFはPSKを生成するための暗号アルゴリズムであり、NONCEtは第1フレッシュパラメータであり、NONCEgは第2フレッシュパラメータである。
【0182】
ケース3:第1ノードが第1パスワードに基づいてPSKを生成する。例えば、生成したPSKは、PSK=KDF(pw,IDg,IDt,NONCEt,NONCEg,Kgt)を満たす。ここで、pwは第1パスワードであり、IDgは第1ノードのアイデンティティであり、IDtは第2ノードのアイデンティティであり、NONCEtは第1フレッシュパラメータであり、NONCEgは第2フレッシュパラメータである。IDt、IDg、NONCEt、NONCEg、およびKgtは任意選択的なパラメータであり、Kgtは前述の交換キーKKEと置き換えられてもよいことに留意されたい。
【0183】
さらに、第1共有キーKgtが交換キーKKEに基づいて導出される場合、第1ノードにより生成されるPSKは
【数8】
を満たしてよい。
【0184】
これらのパラメータについては、前述の説明を参照されたい。ここでは、詳細について改めて説明しない。
【0185】
可能な一設計例では、第1ノードおよび第2ノードの間のPSKを生成した後に、第1ノードはPSKおよび第2ノードのアイデンティティの間の対応関係を格納してよい。
【0186】
段階S505:第1ノードが第1共有キーおよび/またはPSKに基づいて第1アイデンティティ認証情報を取得する。
【0187】
具体的には、第1アイデンティティ認証情報は第1ノードのアイデンティティを認証するのに用いられる。例えば、第1ノードは第1アイデンティティ認証情報を別のノード(例えば、第2ノード)に送信してよく、別のノードは第1アイデンティティ認証情報に基づいて第1ノードのアイデンティティを判定してよい。
【0188】
本願では、第1アイデンティティ認証情報を取得する以下の3つの実装例を示す。
【0189】
実装例1:第1ノードが事前共有キーPSKに基づいて第1アイデンティティ認証情報を判定する。任意選択で、第1アイデンティティ認証情報の生成に関与する任意選択的なパラメータにはさらに、第1共有キー(これはKKEでも、またはKgtでもよい)、第1メッセージ、第1アイデンティティ情報が置かれている第2メッセージ(後述する)、第1ノードによりサポートされるキーネゴシエーションアルゴリズムの識別子(または第1ノードのキーネゴシエーションアルゴリズム機能と呼ばれる)、および第2ノードによりサポートされるキーネゴシエーションアルゴリズムの識別子(または第2ノードのキーネゴシエーションアルゴリズム機能と呼ばれる)のうちの1つまたは複数が含まれてよい。前述したメッセージは、メッセージ全体であってもよく、またはメッセージ内の一部のパラメータであってもよい。例えば、第1メッセージ全体をパラメータとして用いてもよく、または第1メッセージ内の第1フレッシュパラメータをパラメータとして用いてもよい。
【0190】
例えば、可能な一設計例では、第1アイデンティティ認証情報AUTHgが、AUTHg=KDF(PSK,第1メッセージ,第2メッセージ内の一部のパラメータ)を満たす。ここで、第2メッセージは第1アイデンティティ認証情報が置かれているメッセージ(後述する)であってよい。このように、別のノード(例えば、第2ノード)は、第1アイデンティティ認証情報に基づいて、別のノード上に格納されたPSKが第1ノード上にあるPSKと同じであるかどうかを確認してよく(PSKが第1ノード上にあるPSKと同じである場合、これは第1ノードのアイデンティティが信頼できることを示す)、第1メッセージおよび第2メッセージ内の一部のパラメータが改ざんされているかどうかをさらに確認してよい。言い換えれば、第1アイデンティティ認証情報は、第1ノードのアイデンティティを認証できるだけでなく、第1メッセージおよび第2メッセージの完全性も保護できる。別の例では、別の可能な設計例において、第1アイデンティティ認証情報AUTHgは、AUTHg=AUF(PSK,KKE,第1メッセージ,第2フレッシュパラメータ)を満たしてよい。これらのパラメータについては、前述の説明を参照されたい。
【0191】
実装例2:実装例1のPSKは、交換キーKKEまたは第1共有キーKgtと置き換えられてもよい。
【0192】
実装例3:第1ノードは第1共有キーおよび/またはPSKに基づいて第1キー(またはアイデンティティ認証キーと呼ばれる)を決定し、第1キーに基づいて第1アイデンティティ認証情報を生成する。第1アイデンティティ認証情報を生成する際に、PSKも、または第1共有キーも直接用いられないが、PSKおよび/または第1共有キーに基づいて取得された第1キーは用いられることが理解されるであろう。このように、PSKおよび第1共有キーのセキュリティを保護でき、PSKおよび第1共有キーのセキュリティを改善できる。
【0193】
任意選択で、第1ノードにより生成される第1アイデンティティ認証情報AUTHgは、AUTHg=KDF(Kauth,第1メッセージ,第2メッセージ内の一部のパラメータ)を満たす。これらのパラメータの意味については、前述の定義を参照されたい。
【0194】
さらに任意選択で、以下の設計例が、第1共有キーおよび/またはPSKに基づいて第1ノードが第1キー(Kauth)を決定するのに利用可能であってよい。
【0195】
設計例1:第1ノードにより決定された第1キーKauthが
【数9】
を満たす。ここで、「authentication」は任意選択的なキー識別子である。特定の実装例では、キー識別子として、文字列がプロトコルに予め設定されても、または指定されてもよい。NONCEt、NOCNEg、IDg、IDt、および「authentication」は任意選択的なパラメータである。具体的な意味については、前述の説明を参照されたい。
【0196】
設計例2:第1ノードにより決定された第1キーKauthが、
【数10】
を満たす。ここで
【数11】
は文字列連結を表してよい(これは単なる一例であり;特定の実装プロセスでは連結がなくてもよく;例えば2つの別個の入力パラメータが用いられる)。NONCEt、NOCNEg、IDg、IDt、および「authentication」は任意選択的なパラメータである。具体的な意味については、前述の説明を参照されたい。
【0197】
設計例3:設計例1および2のKKEが、KKEに基づいて導出されたKgtと置き換えられてもよい。さらに、第1キーKauthを決定する方式が、
【数12】
を満たす。
【0198】
これらのパラメータについては、前述の定義を参照されたい。
【0199】
同様に、第1ノードは、設計例1から3に示す方法を用いて、暗号化キーおよび完全性保護キーも導出してよい。
【0200】
例えば、第1ノードにより決定された暗号化キーKencは
【数13】
を満たしてよい。
【0201】
別の例では、第1ノードにより決定される完全性保護キーKmacは
【数14】
を満たしてよい。
【0202】
段階S506:第1ノードは第2ノードに第2メッセージを送信する。第2メッセージは第2暗号文を含み、第2暗号文は第2キーネゴシエーションパラメータおよびセキュリティパラメータに基づいて取得される。任意選択で、第2メッセージはさらに第1アイデンティティ認証情報を含んでよい。
【0203】
具体的には、説明しやすくするために、第1ノードにより第2ノードに送信されるキーネゴシエーションパラメータは第2キーネゴシエーションパラメータと呼ばれる。
【0204】
第2キーネゴシエーションパラメータは通常、第1ノードの秘密キーに基づいて、第1ノードにより決定される。
【0205】
セキュリティパラメータは、第1ノードおよび第2ノードの間で共有されるパラメータ、例えば、第1ノードおよび第2ノードの間の共有キー(事前共有キーまたは対称暗号化キーなどを含む)、第1ノードおよび第2ノードの間で合意されたパスワード、第1ノードおよび第2ノードの間の事前設定パラメータ、または通信プロトコルにおいて予め定められたパラメータである。詳細については、S501の詳細な説明を参照されたい。ここでは、詳細について改めて説明しない。
【0206】
PSKを一例として用い、以下では、第1ノードがセキュリティパラメータおよび第2キーネゴシエーションパラメータに基づいて第2暗号文を取得するための4つの実装方法を示す。
【0207】
実装方法1:第1ノードが、PSK(またはPSKのハッシュ値)および第2キーネゴシエーションパラメータに基づいて点の加算演算を行い、第2暗号文を取得する。例えば、第2暗号文C2は以下の公式
【数15】
を満たす。ここで、KEgは第2キーネゴシエーションパラメータであり、+は楕円曲線点の加算演算であり、hashはハッシュアルゴリズムである。
【0208】
実装方法2:第1ノードが、PSK(またはPSKのハッシュ値)および第2キーネゴシエーションパラメータに基づいて乗算演算を行い、第2暗号文を取得する。例えば、第2暗号文C2は以下の公式
【数16】
を満たす。ここで、KEgは第2キーネゴシエーションパラメータであり、*は乗算演算であり、hashはハッシュアルゴリズムである。
【0209】
実装方法3:第1ノードが、PSK(またはPSKのハッシュ値)に基づき、暗号化アルゴリズムを用いて第2キーネゴシエーションパラメータを暗号化し、第2暗号文を取得する。例えば、取得した第2暗号文C2は以下の公式、C2=Enc(hash(PSK),KEg)を満たす。ここで、Encは暗号化アルゴリズムであり、具体的には、SM4アルゴリズム、ZUCアルゴリズム、およびAESアルゴリズムなどのうちの1つまたは複数であってよい。
【0210】
実装方法4:第1ノードが、PSKまたはPSKのハッシュ値に基づいて第1中間キーを導出し、第1中間キーを用いて第2キーネゴシエーションパラメータを暗号化してよい。例えば、第1中間キーK1は以下の公式、K1=KDF(Hash(PSK),NONCEd)を満たす。ここで、KDFはキーを導出するのに用いられる導出アルゴリズムであり、NONCEdは第1中間キーを導出するのに用いられるフレッシュパラメータである(これは任意選択的なパラメータであり、ここでは単なる一例として用いられ;NONCEdが第2ノードにより決定される乱数である場合、NONCEdはメッセージを用いて第1ノードに送信されてよい)。第1ノードにより取得された第2暗号文C2は、C2=Enc(K1,KEg)を満たす。
【0211】
PSKは、第1パスワード、第1ノードおよび第2ノードの間の事前設定パラメータ、または通信プロトコルにおいて予め定められたパラメータなどと置き換えられてもよいことが理解されるであろう。ここでは、詳細について改めて説明しない。
【0212】
可能な一設計例では、第1ノードが第1ノードおよび第2ノードの間のPSKを有する場合、第1ノードはPSKおよび第1キーネゴシエーションパラメータに基づいて第2暗号文を取得する。第1ノードが第1ノードおよび第2ノードの間のPSKを有していない場合、第1ノードは第1パスワードおよび第2キーネゴシエーションパラメータに基づいて第2暗号文を取得する。
【0213】
可能な一設計例では、プロトコル仕様によれば、第2ノードがある方式で第1暗号文を取得する場合、第1ノードも対応する方式で第2暗号文を取得し、暗号化および解読を容易にする。
【0214】
任意選択で、第2メッセージはさらに、第2ノードにより決定されたフレッシュパラメータ(fresh parameter)を含んでよい。説明しやすくするために、本願の各実施形態では、第2メッセージに含まれるフレッシュパラメータは第2フレッシュパラメータと呼ばれる。フレッシュパラメータは、乱数、カウント値、およびシリアル番号などのうちの少なくとも1つを含む。
【0215】
これに加えて、任意選択で、第2メッセージはさらにメッセージ認証コード(message authentication code、MAC)を含んでよい。MACは、完全性保護アルゴリズムに基づいて生成されるメッセージ認証コードであり、第2メッセージの完全性を保護するのに用いられる。
【0216】
第1ノードは第2ノードに第2メッセージを送信する。それに対応して、第2ノードは第1ノードから第2メッセージを受信する。特定の実装プロセスにおいて、第2メッセージは、認証要求メッセージ、セキュリティコンテキスト要求メッセージ、またはアイデンティティ認証要求メッセージとも呼ばれてよく、または認証要求情報、セキュリティコンテキスト要求情報、またはアイデンティティ認証要求情報と呼ばれてもよいことに留意されたい。
【0217】
段階S507:第2ノードが、セキュリティパラメータに基づいて第2暗号文を解読し、第2キーネゴシエーションパラメータを取得する。
【0218】
具体的には、第2暗号文はセキュリティパラメータおよび第1キーネゴシエーションパラメータに基づいて取得される。したがって、第2ノードは、セキュリティパラメータに基づいて第2暗号文を解読し、第2キーネゴシエーションパラメータを取得できる。
【0219】
第1ノードが第2暗号文を取得する前述の実装例に対応して、本願では第2暗号文を解読するいくつかの実装例を以下に示す。
【0220】
実装例1:第2ノードが第2暗号文およびPSK(またはPSKのハッシュ値)に基づいて点の減算演算を行い、第2キーネゴシエーションパラメータを取得する。
【0221】
実装例2:第2ノードが第2暗号文およびPSK(またはPSKのハッシュ値)に基づいて除算演算を行い、第2キーネゴシエーションパラメータを取得する。
【0222】
実装例3:第2ノードが、暗号化アルゴリズムを用い且つPSKまたはPSKのハッシュ値を解読アルゴリズムの入力として用いることで、第2暗号文を解読する。例えば、第1キーネゴシエーションパラメータKEtは以下の公式、KEg=Dec(hash(PSK),C2)を満たす。ここで、Decは暗号化アルゴリズムEncに対応する解読アルゴリズムである。
【0223】
実装例4:第2ノードがPSKに基づいて第1中間キーを導出し、第1中間キーを用いて第2暗号文を解読してよい。例えば、第1中間キーK1は以下の公式、K1=KDF(Hash(PSK),NONCEd)を満たす。ここで、KDFは第1中間キーの導出に用いられる導出アルゴリズムであり、NONCEdは第1中間キーの導出に用いられるフレッシュパラメータである。例えば、第1キーネゴシエーションパラメータKEtは以下の公式、KEt=Enc(K1,C2)を満たす。
【0224】
前述の実装例については、段階S502における第1ノードでの解読方法の詳細な説明を参照できることに留意されたい。
【0225】
段階S508:第2ノードが、第2キーネゴシエーションパラメータおよびキーネゴシエーションアルゴリズムに基づいて第1共有キーを決定する。
【0226】
具体的には、キーネゴシエーションアルゴリズムは第1ノードおよび第2ノードの間で事前合意されたキーネゴシエーションアルゴリズムである、または第2ノードは、要件に基づいて、第1ノードによりサポートされる1つまたは複数のキーネゴシエーションアルゴリズムから、キーネゴシエーションプロセスに用いられるアルゴリズムを決定してよい、または第1ノードは、第2ノードに送信されるメッセージにキーネゴシエーションアルゴリズムの識別子を追加して、用いられるキーネゴシエーションアルゴリズムを示してよい。
【0227】
本願では、第2キーネゴシエーションパラメータおよびキーネゴシエーションアルゴリズムに基づいて第1共有キーを決定するいくつかの方式を示す。
【0228】
方式1:第2ノードが、第2ノードの秘密キーを決定し、キーネゴシエーションアルゴリズム、第2キーネゴシエーションパラメータ、および第2ノードの秘密キーに基づいて交換キーを決定する。交換キーは、第1共有キーとして用いられてよい。
【0229】
方式2:第2ノードが、第2キーネゴシエーションパラメータ、および第2ノードの秘密キーに基づいて交換キーを決定してよい。第2ノードは、交換キーおよびフレッシュパラメータに基づいて第1共有キーを決定する。
【0230】
前述の実装例については、段階S503において第1ノードが第1共有キーを決定する詳細な説明を参照できることに留意されたい。
【0231】
段階S509:第2ノードが第1共有キーおよび/またはPSKに基づいて第2アイデンティティ認証情報を取得する。
【0232】
具体的には、PSKは、第1ノードおよび第2ノードの間で共有される秘密値である。PSKは、第2ノードからのフレッシュパラメータおよび第1ノードからのフレッシュパラメータに基づいて生成されてもよく、または第1ノードおよび第2ノード上に予め設定されてもまたは予め定められてもよい。
【0233】
第2アイデンティティ認証情報を決定する前に、第2ノードは最初に、第2ノードおよび第1ノードの間のPSKを取得してよい。以下では、第2ノードが第1ノードおよび第2ノードの間のPSKを取得する2つの可能なケースを示す。
【0234】
ケース1:PSKおよび第1ノードのアイデンティティの間の対応関係が第2ノード上に存在し、第2ノードは、第1ノードのアイデンティティおよび対応関係に基づいて、対応するPSKを取得してよい。この対応関係は、対応関係一式、データテーブル、およびデータベースなどのうちの1つまたは複数の形式であってよい。本願では、これについて限定しない。詳細については、段階S504における第1ノードの関連説明を参照されたい。ここでは、詳細について改めて説明しない。
【0235】
第2ノードがケース1の方式でPSKを取得する場合、段階S509は代替的に、段階S501の前に行われてもよく、PSKは第1キーネゴシエーションパラメータを暗号化するのに用いられてよいことに留意されたい。
【0236】
ケース2:第2ノードが第2ノードおよび第1ノードの間のPSKを生成する。具体的には、PSKを生成するためのパラメータには、第1パスワード、第1共有キー、第1フレッシュパラメータ、第2フレッシュパラメータ、第1ノードのアイデンティティ、および第2ノードのアイデンティティなどのうちの1つまたは複数が含まれてよい。詳細な説明については、段階S504における第1ノードによるPSKの生成に関する詳細な説明を参照されたい。ここでは、詳細について改めて説明しない。
【0237】
任意選択で、第2ノードが第1共有キーおよび/またはPSKに基づいて第2アイデンティティ認証情報を取得することは、少なくとも以下の3つの実装例を含んでよい。
【0238】
実装例1:第2ノードがPSKに基づいて第2アイデンティティ認証情報を取得する。任意選択で、第2アイデンティティ認証情報の生成に関与する任意選択的なパラメータにはさらに、第1共有キー(これはKKEでも、またはKgtでもよい)、第1メッセージ、第2メッセージ、第2アイデンティティ認証情報が置かれている第3メッセージ(後述する)、第1ノードのキーネゴシエーションアルゴリズム機能、および第2ノードのキーネゴシエーションアルゴリズム機能のうちの1つまたは複数が含まれてよい。前述したメッセージは、メッセージ全体であってもよく、またはメッセージ内の一部のパラメータであってもよい。例えば、第2メッセージ全体をパラメータとして用いてもよく、または第2メッセージ内の第2フレッシュパラメータ(NONCEt)をパラメータとして用いてもよい。
【0239】
例えば、可能な一設計例において、第2アイデンティティ認証情報AUTHtは、AUTHt=KDF(PSK,第1メッセージ,第2メッセージ,第3メッセージ内の一部のパラメータ,第1ノードのキーネゴシエーションアルゴリズム機能)を満たす。このように、別のノード(例えば、第1ノード)は、第2アイデンティティ認証情報に基づいて、別のノード上にあるPSKが第2ノード上にあるPSKと同じであるかどうかを確認してよく(PSKが第2ノード上にあるPSKと同じである場合、これは第2ノードのアイデンティティが信頼できることを示す)、第1メッセージ、第2メッセージ、および第3メッセージ内の一部のパラメータが改ざんされているかどうかをさらに確認してよい。言い換えれば、第2アイデンティティ認証情報は、第2ノードのアイデンティティを認証できるだけでなく、第1メッセージ、第2メッセージ、および第3メッセージの完全性も保護できる。
【0240】
別の例では、別の可能な設計例において、第2アイデンティティ認証情報AUTHtは、AUTHg=AUF(PSK,KKE,第2メッセージ,NONCEt,第1ノードのキーネゴシエーションアルゴリズム機能)を満たしてよい。これらのパラメータについては、前述の説明を参照されたい。
【0241】
実装例2:実装例1のPSKは、前述の交換キーKKEまたは第1共有キーKgtと置き換えられてよい。
【0242】
実装例3:第2ノードは第1共有キーおよび/またはPSKに基づいて第1キー(またはアイデンティティ認証キーと呼ばれる)を決定し、第1キーに基づいて第2アイデンティティ認証情報を生成する。言い換えれば、実装例1のKgtは第1キーKauthと置き換えられてよい。
【0243】
第2アイデンティティ認証情報を生成する際に、PSKも、または第1共有キーも直接用いられないが、PSKまたは第1共有キーに基づいて取得された第1キーは用いられることが理解されるであろう。このように、PSKおよび第1共有キーのセキュリティを改善できる。
【0244】
任意選択で、第2ノードにより生成される第2アイデンティティ認証情報AUTHtは、AUTHt=KDF(Kauth,第1メッセージ,第2メッセージ,第3メッセージ内の一部のパラメータ,第1ノードのキーネゴシエーションアルゴリズム機能)を満たす。これらのパラメータの意味については、前述の定義を参照されたい。
【0245】
第2ノードが第1キーKauth、暗号化キー、および完全性保護キーを生成する特定のケースについては、段階S505における第1ノードの説明を参照できることに留意されたい。ここでは、詳細について改めて説明しない。
【0246】
任意選択で、本願の本実施形態におけるセキュアアクセス方法はさらに、図7に示す段階S510~段階S514のうちの1つまたは複数を含んでよい。段階S510~段階S514は、具体的には以下の通りである。
【0247】
段階S510:第2ノードが、第1アイデンティティ認証情報に基づいて第1ノードのアイデンティティを認証する。
【0248】
具体的には、第1ノードが第2ノードに第1アイデンティティ情報を送信する(例えば、第2メッセージが第1アイデンティティ認証情報を搬送する)場合、第2ノードは、第1アイデンティティ情報に基づいて第1ノードのアイデンティティを認証してよい。
【0249】
任意選択的な解決手段では、プロトコル仕様によれば、第1ノードが特定のパラメータを用いて第1アイデンティティ認証情報を生成する場合、第2ノードも同じパラメータを用いて確認情報を生成するはずである。確認情報が第1アイデンティティ認証情報と同じである場合、これは検証が成功したとみなされる。
【0250】
例えば、第1アイデンティティ認証情報が第1共有キーおよび/またはPSKに基づいて決定されるため、第2ノードは、第1共有キーおよび/またはPSKおよび第1アイデンティティ認証情報に基づいて第1ノードのアイデンティティを認証してよい。具体的には、第1共有キーおよび/またはPSKに基づいて第2ノードにより生成された確認情報が第1アイデンティティ認証情報と同じである場合、これは第1ノードのアイデンティティ認証が成功したと判定される。
【0251】
別の例では、第1アイデンティティ認証情報AUTHgがAUTHg=KDF(Kauth,第1メッセージ,第2メッセージ内の一部のパラメータ)を満たし、第2ノードがKauthに基づいて確認情報check1=KDF(Kauth,第1メッセージ,第2メッセージ内の一部のパラメータ)を生成し、且つ確認情報check1がAUTHgと同じである場合、これは第1ノードのアイデンティティ認証が成功したと判定される。
【0252】
任意選択で、第1アイデンティティ認証情報の検証が失敗した場合、第2ノードは、第2ノードおよび第1ノードの間の通信接続を切断しても、または第2メッセージを破棄してもよく、さらに第1ノードに第1メッセージを改めて送信してよい。例えば、第1アイデンティティ認証情報の検証が失敗した場合、これは第2ノード上の第1共有キー(PSK)が第2ノード上の第1共有キー(PSK)と異なることを示す。したがって、第1ノードのアイデンティティは信頼できず、第1ノードは攻撃者が成り済ましたノードの可能性がある。したがって、第2メッセージは破棄され、第1メッセージが改めて第1ノードに送信される。このように、信頼できないノードへのアクセスが回避される。
【0253】
段階S510は代替的に、段階S509の前に行われてもよいことに留意されたい。本願における他の段階を行う順序も、解決手段の実施に影響を及ぼすことなく変更されてよい。
【0254】
段階S511:第2ノードが第1ノードに第3メッセージを送信する。
【0255】
具体的には、第3メッセージは第2アイデンティティ認証情報を搬送する。第2アイデンティティ認証情報は、段階S509で決定された第2アイデンティティ認証情報であってよい。
【0256】
第2ノードが第1ノードに第3メッセージを送信し、それに対応して、第1ノードが第2ノードから第3メッセージを受信することが理解されるであろう。
【0257】
段階S512:第1ノードが第2アイデンティティ認証情報に基づいて第2ノードのアイデンティティを認証する。
【0258】
具体的には、第2アイデンティティ認証情報が第1共有キーおよび/またはPSKに基づいて第2ノードにより決定されるため、第1ノードも第1共有キーおよび/またはPSKを取得して第2アイデンティティ認証情報を確認してよい。
【0259】
任意選択的な解決手段では、プロトコル仕様によれば、第2ノードが特定のパラメータを用いて第2アイデンティティ認証情報を生成する場合、第1ノードも同じパラメータを用いて確認情報を生成するはずである。確認情報が第2アイデンティティ認証情報と同じである場合、これは検証が成功したとみなされる。
【0260】
例えば、第2アイデンティティ認証情報が第1共有キーおよび/またはPSKに基づいて決定されるため、第1ノードは、第1共有キーおよび/またはPSKおよび第2アイデンティティ認証情報に基づいて第2ノードのアイデンティティを認証してよい。具体的には、第1共有キーおよび/またはPSKに基づいて第1ノードにより生成された確認情報が第2アイデンティティ認証情報と同じである場合、これは第1ノードのアイデンティティ認証が成功したと判定される。
【0261】
別の例では、第2アイデンティティ認証情報AUTHtは、AUTHt=KDF(Kauth,第1メッセージ,第2メッセージ,第3メッセージ内の一部のパラメータ,第1ノードのキーネゴシエーションアルゴリズム機能)を満たす。この場合、第1ノードは同じパラメータおよび方式に基づいて確認情報check2を生成してよく、すなわち、確認情報check2は、check2=KDF(Kauth,第1メッセージ,第2メッセージ,第3メッセージ内の一部のパラメータ,第1ノードのキーネゴシエーションアルゴリズム機能)を満たす。確認情報check2が第2アイデンティティ認証情報AUTHtと同じである場合、これは第2ノードのアイデンティティ認証が成功したと判定される。
【0262】
任意選択で、第2アイデンティティ認証情報の検証が失敗した場合、第1ノードは第2ノードおよび第1ノードの間の通信接続を切断してよい。第2アイデンティティ認証情報の検証が成功した場合、これは第2ノードのアイデンティティが信頼できることを示しており、第1ノードは第2ノードと通信できる。
【0263】
段階S513:第1ノードが第2ノードに第4メッセージを送信する。
【0264】
任意選択で、アソシエーションが確立したことを第2ノードに示す、またはアクセスが成功したことを第2ノードに示す、または第2ノードのアイデンティティ検証が成功したことを示すなどのために、第4メッセージが用いられる。それに対応して、第2ノードは第1ノードから第4メッセージを受信してよい。
【0265】
さらに、第4メッセージはアソシエーション確立メッセージと呼ばれることがある(特定のシナリオではアソシエーション完了メッセージとも呼ばれることがある)。
【0266】
図5に示す実施形態において、第2ノードはセキュリティパラメータ(セキュリティパラメータはPSKでも、または第1パスワードでもよい)に基づいて第1キーネゴシエーションパラメータを暗号化し、第1暗号文を取得する。同じセキュリティパラメータが第1ノード用に予め設定されているか、または第1ノードが、同じセキュリティパラメータを取得できるため、第1ノードは第1暗号文を解読して第1キーネゴシエーションパラメータを取得でき、その後、第1キーネゴシエーションパラメータに基づいて共有キーを生成できる。セキュリティパラメータを取得しないと、共有キーを生成できず、第2ノードは第1ノードにアクセスできない。したがって、攻撃者が第2ノードを用いて第1ノードにアクセスするのを防止でき、第1ノードが、信頼できないアイデンティティを有する攻撃者とのアソシエーションに成功しないようにすることが可能である。
【0267】
図5および図7に示す方法の実施形態は、複数の可能な実装解決手段を含む。以下では、図8Aおよび図8Bを参照し、例を用いて、いくつかの実装解決手段を説明する。図8Aおよび図8Bに説明されていない関連概念、オペレーション、または論理関係については、図5および図7に示す実施形態の対応する説明を参照できることに留意されたい。
【0268】
図8Aおよび図8Bは、本願の一実施形態によるセキュアアクセス方法である。図9A図9Eは、セキュアアクセス方法の可能な概略運用図である。本方法は、図3に示すアーキテクチャに基づいて実現され得る。セキュアアクセス方法は、以下の段階を含んでよい。
【0269】
段階S801:第2ノードがセキュリティパラメータに基づいて第1キーネゴシエーションパラメータを暗号化し、第1暗号文を取得する。
【0270】
具体的には、第1キーネゴシエーションパラメータは一般に、第2ノードの秘密キーに基づいて決定される。図9A図9Eを参照し、キーネゴシエーションアルゴリズムがECDHアルゴリズムであると仮定すると、第2ノードは秘密キーaおよびベースポイントGに基づいて第1キーネゴシエーションパラメータKEtを決定してよい。
【0271】
図9A図9Eを参照すると、第2ノードはセキュリティパラメータ901を用いて第1キーネゴシエーションパラメータKEtを暗号化し、第1暗号文C1を取得してよい。具体的な暗号化方法については、段階S501の詳細な説明を参照されたい。ここでは、詳細について改めて説明しない。
【0272】
段階S802:第2ノードが第1ノードに第1メッセージを送信する。第1メッセージは、第2ノードのアイデンティティ、第1暗号文、および第1フレッシュパラメータNONCEtを含む。
【0273】
段階S803:第1ノードが第1暗号文を解読して、第1キーネゴシエーションパラメータを取得する。
【0274】
具体的には、第1暗号文はセキュリティパラメータおよび第1キーネゴシエーションパラメータに基づいて取得される。したがって、第1ノードは、セキュリティパラメータに基づいて第1暗号文を解読し、第1キーネゴシエーションパラメータを取得できる。図9A図9Eを参照すると、セキュリティパラメータ901が第1ノードおよび第2ノードの間で共有されるパラメータであるため、第1ノードはセキュリティパラメータ901に基づいて第1暗号文C1を解読し、第1キーネゴシエーションパラメータKEtを取得できる。具体的な解読方法については、段階S502の詳細な説明を参照されたい。ここでは、詳細について改めて説明しない。
【0275】
段階S804:第1ノードがセキュリティパラメータに基づいて第2キーネゴシエーションパラメータを暗号化し、第2暗号文を取得する。
【0276】
一般に、第2キーネゴシエーションパラメータは第1ノードの秘密キーに基づいて決定される。図9A図9Eを参照し、キーネゴシエーションアルゴリズムがECDHアルゴリズムであると仮定すると、第1ノードは、秘密キーbおよびベースポイントGに基づいて第2キーネゴシエーションパラメータKEgを決定してよい。具体的な暗号化方法については、段階S506の詳細な説明を参照されたい。ここでは、詳細について改めて説明しない。
【0277】
段階S805:第1ノードは、キーネゴシエーションアルゴリズム、第1キーネゴシエーションパラメータ、第1フレッシュパラメータ、および第2フレッシュパラメータに基づいて第1共有キーを決定する。
【0278】
具体的には、例えば、図9A図9Eを参照すると、第1ノードは、第1ノードの秘密キーbおよび第1キーネゴシエーションパラメータKEtに基づいて交換キーKKEを決定し、交換キーKKE、第1フレッシュパラメータNONCEt、および第2フレッシュパラメータNONCEgに基づいて第1共有キーKgtを決定してよい。
【0279】
いくつかの可能なシナリオにおいて、第1フレッシュパラメータNONCEtおよび第2フレッシュパラメータNONCEgは任意選択的なパラメータである(図9A図9Eにおいて破線で示されているパラメータおよび段階が任意選択的なパラメータおよび段階である)。
【0280】
段階S806:第1ノードが、第1共有キーおよび/または、第1ノードおよび第2ノードの間のPSKに基づいて、アイデンティティ認証キーを決定する。
【0281】
詳細については、段階S504の関連説明を参照されたい。ここでは、詳細について改めて説明しない。
【0282】
図9A図9Eを参照すると、第1ノードにより生成されたアイデンティティ認証キーKauthは
【数17】
を満たしてよい。ここで
【数18】
は文字列連結を表してよく(これは単なる一例であり;特定の実装プロセスでは連結がなくてもよく;例えば2つの別個の入力パラメータが用いられる)、Kgtは第1共有キーであり、NONCEtは第1フレッシュパラメータであり、NOCNEgは第2フレッシュパラメータであり、IDgは第1ノードのアイデンティティであり、IDtは第2ノードのアイデンティティであり、「authentication」は文字列である(これは、予め定められてもまたは設定されても、またはプロトコルで指定されてもよい)。いくつかの可能なシナリオにおいて、NONCEt,NOCNEg,IDg,IDt,および「authentication」は任意選択的なパラメータであり、第1共有キーKgtは交換キーKKEと置き換えられてもよい。
【0283】
段階S807:第1ノードが、アイデンティティ認証キーおよび、第1メッセージおよび第2メッセージのうちの少なくとも一方に基づいて、第1アイデンティティ認証情報を決定する。
【0284】
詳細については、段階S505の詳細な説明を参照されたい。
【0285】
段階S808:第1ノードが第2ノードに第2メッセージを送信する。第2メッセージは、第2暗号文、第2フレッシュパラメータ、および第1アイデンティティ認証情報を含む。
【0286】
段階S809:第2ノードは第2暗号文を解読して、第2キーネゴシエーションパラメータを取得する。
【0287】
具体的には、第2暗号文はセキュリティパラメータおよび第2キーネゴシエーションパラメータに基づいて取得される。したがって、第2ノードは、セキュリティパラメータに基づいて第2暗号文を解読し、第2キーネゴシエーションパラメータを取得できる。図9A図9Eを参照すると、セキュリティパラメータ902が第1ノードおよび第2ノードの間で共有されるパラメータであるため、第1ノードはセキュリティパラメータ902に基づいて第1暗号文C1を解読し、第2キーネゴシエーションパラメータKEtを取得できる。具体的な解読方法については、段階S507の詳細な説明を参照されたい。ここでは、詳細について改めて説明しない。
【0288】
特定の実装プロセスにおいて、セキュリティパラメータ901およびセキュリティパラメータ902は通常、同じパラメータであることに留意されたい。例えば、第2ノードはセキュリティパラメータ901として第1パスワードを用い、第1ノードもセキュリティパラメータ902として第1パスワードを用いる。しかしながら、いくつかのシナリオにおいて、セキュリティパラメータ901およびセキュリティパラメータ902は異なるパラメータであってもよい。例えば、第1ノードはセキュリティパラメータ901として第1公開キーを用い、第2ノードはセキュリティパラメータ902として第1秘密キーを用い、第1公開キーおよび第1秘密キーは公開・秘密キーペアである。
【0289】
段階S810:第2ノードは、キーネゴシエーションアルゴリズム、第2キーネゴシエーションパラメータ、第1フレッシュパラメータ、および第2フレッシュパラメータに基づいて第1共有キーを決定する。
【0290】
例えば、図9A図9Eを参照すると、第2ノードは、第2ノードの秘密キーaおよび第2キーネゴシエーションパラメータKEgに基づいて交換キーKKEを決定し、交換キーKKE、第1フレッシュパラメータNONCEt、および第2フレッシュパラメータNONCEgに基づいて第1共有キーKgtを決定してよい。第1フレッシュパラメータNONCEtおよび第2フレッシュパラメータNONCEgは、任意選択的なパラメータである。
【0291】
段階S811:第2ノードが、第1共有キーおよび、第1ノードおよび第2ノードの間のPSKに基づいて、アイデンティティ認証キーを決定する。
【0292】
詳細については、段階S504の関連説明を参照されたい。ここでは、詳細について改めて説明しない。
【0293】
段階S812:第2ノードが、アイデンティティ認証キーおよび、第1メッセージおよび第2メッセージのうちの少なくとも一方に基づいて、第1アイデンティティ認証情報を確認する。
【0294】
詳細については、段階S510の関連説明を参照されたい。ここでは、詳細について改めて説明しない。
【0295】
段階S813:第2ノードが、アイデンティティ認証キーおよび、第1メッセージ、第2メッセージ、および第3メッセージのうちの少なくとも1つに基づいて、第2アイデンティティ認証情報を決定する。
【0296】
詳細については、段階S509の詳細な説明を参照されたい。
【0297】
段階S814:第2ノードが第1ノードに第3メッセージを送信し、第3メッセージは第2アイデンティティ認証情報を含む。
【0298】
詳細については、段階S511の説明を参照されたい。任意選択で、図9A図9Eを参照すると、第3メッセージが暗号化キー903を用いて暗号化されてよい。暗号化キーは、第1共有キーおよびPSKに基づいて導出されてよい。
【0299】
任意選択で、完全性保護がさらに、第3メッセージに対して完全性保護キーを用いて行われてよい。
【0300】
段階S815:第1ノードが、アイデンティティ認証キーおよび、第1メッセージ、第2メッセージ、および第3メッセージのうちの少なくとも1つに基づいて第2アイデンティティ認証情報を確認する。
【0301】
詳細については、段階S512の関連説明を参照されたい。
【0302】
任意選択で、図8Aおよび図8Bに示す実施形態はさらに、段階S816を含んでよく、具体的には以下の通りである。
【0303】
段階S816:第1ノードが第2ノードに第4メッセージを送信する。
【0304】
任意選択で、図9A図9Eを参照すると、第4メッセージは暗号化キー903を用いて暗号化されてよい。
【0305】
任意選択で、完全性保護がさらに、第4メッセージに対して完全性保護キーを用いて行われてよい。
【0306】
本願の実施形態における方法が以上で詳細に説明されており、本願の実施形態における装置が以下で提供される。
【0307】
図10は、本願の一実施形態による通信装置100の構造の概略図である。装置100はノードであってよく、説明しやすくするために第1ノードと呼ばれることがある。もちろん、装置100は代替的に第1ノード内のコンポーネント、例えば、チップでも、または集積回路でもよい。装置100は、受信ユニット1001および処理ユニット1002を含んでよい。通信装置100は、前述したセキュアアクセス方法、例えば、図5図7、または図8Aおよび図8Bに示すいずれかの実施形態におけるセキュアアクセス方法を実施するように構成されている。
【0308】
可能な一実装例において、受信ユニット1001は第2ノードから第1メッセージを受信するように構成されており、第1メッセージは第1暗号文を含み、第1暗号文はセキュリティパラメータおよび第1キーネゴシエーションパラメータに基づいて取得され、セキュリティパラメータは第1ノードおよび第2ノードの間の事前共有キーPSKであるか、または第1パスワードであり、第1パスワードは第1ノードおよび第2ノードの間の合意済みアクセスパスワードであり、第1ノードおよび第2ノードの間のPSKは第1ノードおよび第2ノードの間で共有される秘密値であり、第1パスワードは、第1ノードにアクセスするのに第2ノードにより用いられるパスワードとみなされてよく;処理ユニット1002はセキュリティパラメータに基づいて第1暗号文を解読し、第1キーネゴシエーションパラメータを取得するように構成されており;処理ユニット1002はさらに、第1キーネゴシエーションパラメータおよびキーネゴシエーションアルゴリズムに基づいて第1共有キーを決定するように構成されている。
【0309】
本願の本実施形態において、第2ノードはセキュリティパラメータ(セキュリティパラメータはPSKでも、または第1パスワードでもよい)に基づいて第1キーネゴシエーションパラメータを暗号化する。同じセキュリティパラメータが通信装置用に予め設定されてよいか、または通信装置が、同じセキュリティパラメータを取得できるため、通信装置は第1暗号文を解読して第1キーネゴシエーションパラメータを取得でき、その後、第1キーネゴシエーションパラメータに基づいて共有キーを生成できる。セキュリティパラメータを取得しないと、共有キーを生成できず、第2ノードは第1ノードにアクセスできない。したがって、攻撃者が第2ノードを用いて第1ノードにアクセスするのを防止でき、第1ノードが、信頼できないアイデンティティを有する攻撃者とのアソシエーションに成功しないようにすることが可能である。
【0310】
可能な一実装例において、処理ユニット1002はさらに、第1ノードおよび第2ノードの間のPSKを取得し;第1共有キーおよび、第1ノードおよび第2ノードの間のPSKに基づいて第1アイデンティティ認証情報を取得する、ここで第1アイデンティティ認証情報は第1ノードのアイデンティティを認証するのに用いられる、ように構成されている。
【0311】
通信装置100は第1共有キーおよびPSKに基づいて第1アイデンティティ認証情報を取得してよく、第1アイデンティティ認証情報は第1ノードのアイデンティティを認証するのに用いられてよい。本願では、第1アイデンティティ情報を用いて第1ノードのアイデンティティを認証する方法が示されている。つまり、第2ノードは第1共有キーを決定し、第1共有キーおよびPSKに基づいて確認情報を生成する。確認情報が第1アイデンティティ認証情報と同じである場合、これは第1ノード上にある第1共有キーおよびPSKが第2ノード上にあるものと同じであることを示している。このようにして、第1ノードのアイデンティティを認証でき、当該ノードおよび攻撃者の間の通信が防止され、ノードのセキュリティが改善される。
【0312】
別の可能な実装例において、処理ユニット1002は、第1の対応関係に基づいて第1ノードおよび第2ノードの間のPSKを取得する;または第1パスワード、第1共有キー、第1乱数、および第2乱数に基づいて、第1ノードおよび第2ノードの間のPSKを決定する、ここで第1メッセージはさらに第1乱数を含む、ように特に構成されている。
【0313】
第1ノードはPSKおよび第2ノードの間の対応関係を対応関係の形式で格納してよいことが分かる。したがって、通信装置100は、第1の関係に基づいて第1ノードおよび第2ノードの間のPSKを取得できる。
【0314】
可能な一設計例において、PSKは、第1パスワード、第1共有キー、第1乱数、および第2乱数に基づいて決定される。第1ノードが第2ノードと初めてアソシエーションを行う場合、または第1ノードが第1の対応関係を取得していない場合、第1ノードは第2ノードのアイデンティティに対応するPSKを有していないため、通信装置100は新たなPSKを決定できる。
【0315】
さらに別の可能な実装例において、処理ユニット1002は、第1共有キー、第1乱数、および第2乱数に基づいて第2共有キーを決定し;第1パスワード、第2共有キー、第1乱数、および第2乱数に基づいて、第1ノードおよび第2ノードの間のPSKを決定するように特に構成されている。
【0316】
さらに別の可能な実装例において、第1暗号文はセキュリティパラメータのハッシュ値および第1キーネゴシエーションパラメータに基づいて取得され;処理ユニット1002は、セキュリティパラメータのハッシュ値に基づいて第1暗号文を解読し、第1キーネゴシエーションパラメータを取得するように特に構成されている。
【0317】
さらに別の可能な実装例において、第1暗号文は、セキュリティパラメータのハッシュ値および第1キーネゴシエーションパラメータに基づいて楕円曲線点の加算演算を行うことで取得され;処理ユニット1002は、セキュリティパラメータのハッシュ値および第1暗号文に基づいて楕円曲線点の減算演算を行うことで、第1キーネゴシエーションパラメータを取得するように特に構成されている。
【0318】
さらに別の可能な実装例において、処理ユニット1002は、セキュリティパラメータのハッシュ値および第1乱数に基づいて第1中間キーを決定し;第1中間キーに基づいて第1暗号文を解読し、第1キーネゴシエーションパラメータを取得するように特に構成されている。
【0319】
さらに別の可能な実装例において、処理ユニット1002は、第1共有キー、PSK、第1乱数、および第2乱数に基づいて第1キーを導出し;第1キー、第1乱数、および第2乱数に基づいて第1アイデンティティ認証情報を生成する、ここで第1アイデンティティ認証情報は第1ノードのアイデンティティを認証するのに用いられる、ように特に構成されている。
【0320】
さらに別の可能な実装例において、処理ユニット1002はさらに、セキュリティパラメータに基づいて第2キーネゴシエーションパラメータを暗号化し、第2暗号文を取得するように構成されており;装置100はさらに、第2ノードに第2メッセージを送信するように構成された送信ユニット1003を含み、第2メッセージは第1アイデンティティ認証情報および第2暗号文を含み、第2暗号文は、第1共有キーを決定するのに第2ノードにより用いられる。
【0321】
第2キーネゴシエーションパラメータは、共有キーを決定するのに第2ノードにより用いられる。通信装置100はセキュリティパラメータに基づいて第2キーネゴシエーションパラメータを暗号化できること、および第2キーネゴシエーションパラメータは、セキュリティパラメータがクラックされた後に限り、共有キーを生成するために解読され得ることが分かる。これで、攻撃者が第2ノードに成り済まして装置100にアクセスするのを防止し、キーネゴシエーションプロセスのセキュリティを確保する。
【0322】
さらに別の可能な実装例において、受信ユニット1001はさらに、第2ノードから第3メッセージを受信するように構成されており、第3メッセージは第2アイデンティティ認証情報を含み;処理ユニット1002はさらに、第1ノードおよび第2ノードの間のPSK、第1共有キー、および第2アイデンティティ認証情報に基づいて、第2ノードのアイデンティティ認証が成功したと判定するように構成されている。
【0323】
以上で、第2ノードのアイデンティティを認証する方法を説明した。第2アイデンティティ認証情報は、PSKおよび第1共有キーに基づいて、第2ノードにより生成される。したがって、通信装置100は、PSK、第1共有キー、および第2アイデンティティ認証情報に基づいて、第2ノード上にある第1共有キーおよびPSKが第1ノード上にあるものと同じであるかどうかを判定できるため、第2ノードのアイデンティティを認証できるようになる。
【0324】
さらに別の可能な実装例において、第1メッセージは、アクセス要求メッセージ(またはアソシエーション要求メッセージ)とも呼ばれることがある。さらに、第2メッセージは、セキュリティコンテキスト要求メッセージ(またはアイデンティティ認証要求メッセージ)とも呼ばれることがある。第3メッセージは、セキュリティコンテキスト応答メッセージ(またはアイデンティティ認証応答メッセージ)とも呼ばれることがある。
【0325】
さらに別の可能な実装例において、送信ユニット1003はさらに、第2ノードに第4メッセージを送信する、ここで第4メッセージはアクセスが成功したことを示すのに用いられるか、またはアソシエーションが完了したことを示すのに用いられる、ように構成されている。さらに、第4メッセージは、アソシエーション確立メッセージ(またはアクセスアソシエーション完了メッセージ)、またはアソシエーション完了メッセージなどと呼ばれることがある。
【0326】
各ユニットの実装については、図5または図8Aおよび図8Bに示す実施形態の対応する説明を参照できることに留意されたい。通信装置100は、図5または図8Aおよび図8Bに示す実施形態における第1ノードであってよい。
【0327】
本願の装置の実施形態では、複数のユニットまたはモジュールへの分割が各機能に基づく単なる論理的分割に過ぎず、本装置の具体的な構造を限定する意図はないことが理解されるであろう。具体的な実装において、一部の機能モジュールがより小さい機能モジュールに細分割されてよく、一部の機能モジュールを組み合わせて1つの機能モジュールにしてもよい。しかしながら、これらの機能モジュールを細分割するのか、または組み合わせるのかに関係なく、セキュアアクセスプロセスで装置100により行われる一般的な手順は同じである。例えば、装置100内の受信ユニット1001および送信ユニット1003は通信ユニットに統合されてもよく、通信ユニットは受信ユニット1001および送信ユニット1003により実現される機能を実装してよい。通常、各ユニットは、それぞれのプログラムコード(またはプログラム命令)に対応する。ユニットに対応するプログラムコードがプロセッサ上で動作すると、ユニットは、対応する手順を行って対応する機能を実現するように処理ユニットによって制御される。
【0328】
図11は、本願の一実施形態による通信装置110の構造の概略図である。装置110はノードであってよく、説明しやすくするために第2ノードと呼ばれることがある。もちろん、装置110は代替的に第1ノード内のコンポーネント、例えば、チップでも、または集積回路でもよい。装置110は、送信ユニット1101、受信ユニット1102、および処理ユニット1103を含んでよい。通信装置110は、前述したセキュアアクセス方法、例えば、図5図7、または図8Aおよび図8Bに示すいずれかの実施形態におけるセキュアアクセス方法を実施するように構成されている。
【0329】
可能な一実装例において、送信ユニット1101は第1ノードに第1メッセージを送信するように構成されており、ここで第1メッセージは第1暗号文を含み、第1暗号文はセキュリティパラメータおよび第1キーネゴシエーションパラメータに基づいて取得され、セキュリティパラメータは第1ノードおよび第2ノードの間の事前共有キーPSKであるか、または第1パスワードであり、第1パスワードは第1ノードおよび第2ノードの間の合意済みアクセスパスワードである;受信ユニット1102は第1ノードから第2メッセージを受信するように構成されており、ここで第2メッセージは第2暗号文を含み、第2暗号文はセキュリティパラメータに基づいて第2キーネゴシエーションパラメータを暗号化することで取得される;処理ユニット1103はセキュリティパラメータに基づいて第2暗号文を解読し、第2キーネゴシエーションパラメータを取得するように構成されており;処理ユニット1103はさらに、第2キーネゴシエーションパラメータおよびキーネゴシエーションアルゴリズムに基づいて第1共有キーを決定するように構成されており;処理ユニット1103はさらに、第1共有キーおよび、第1ノードおよび第2ノードの間のPSKに基づいて第2アイデンティティ認証情報を取得するように構成されており、ここで第2アイデンティティ認証情報は第2ノードのアイデンティティを認証するのに用いられる。
【0330】
本願の本実施形態において、通信装置110は、セキュリティパラメータ(セキュリティパラメータはPSKでも、または第1パスワードでもよい)に基づいて第1キーネゴシエーションパラメータを暗号化し、次いで暗号化した第1キーネゴシエーションパラメータを第1ノードに送信する。それに対応して、第1ノードも、セキュリティパラメータに基づいて第2キーネゴシエーションパラメータを暗号化する。両通信当事者は、セキュリティパラメータに基づいて暗号文を解読し、キーネゴシエーションパラメータに基づいて共有キーを生成してよい。セキュリティパラメータを取得しないと、共有キーを生成できず、第2ノードは第1ノードにアクセスできない。したがって、信頼できない第1ノードに第2ノードがアクセスするのを防止でき、第2ノードのセキュリティが改善される。
【0331】
可能な一実装例において、処理ユニット1103はさらに、第1ノードおよび第2ノードの間のPSKを取得するように構成されている。
【0332】
別の可能な実装例において、処理ユニット1103は、第2の対応関係に基づいて第1ノードおよび第2ノードの間のPSKを取得する;または第1パスワード、第1共有キー、第1乱数、および第2乱数に基づいて、第1ノードおよび第2ノードの間のPSKを決定する、ここで第1メッセージはさらに第1乱数を含み、第1メッセージは第1乱数を含む、ように特に構成されている。
【0333】
PSKおよび第1ノードの間の対応関係が対応関係の形式で格納されてよいことが分かる。したがって、通信装置110は、この対応関係に基づいて第1ノードおよび第2ノードの間のPSKを取得できる。
【0334】
可能な一設計例において、PSKは、第1パスワード、第1共有キー、第1乱数、および第2乱数に基づいて決定される。第1ノードが第2ノードと初めてアソシエーションを行う場合、または第1ノードが第1の対応関係を取得していない場合、第2ノードは第1ノードに対応するPSKを有していないため、通信装置110は前述した方式で新たなPSKを決定できる。
【0335】
さらに別の可能な実装例において、処理ユニット1103は、第1共有キー、第1乱数、および第2乱数に基づいて第2共有キーを決定し;第1パスワード、第2共有キー、第1乱数、および第2乱数に基づいて、第1ノードおよび第2ノードの間のPSKを決定するように特に構成されている。
【0336】
さらに別の可能な実装例において、処理ユニット1103はさらに、セキュリティパラメータに基づいて第1キーネゴシエーションパラメータを暗号化し、第1暗号文を取得するように構成されている。
【0337】
さらに別の可能な実装例において、処理ユニット1103は、セキュリティパラメータのハッシュ値に基づいて第1キーネゴシエーションパラメータを暗号化し、第1暗号文を取得する;またはセキュリティパラメータのハッシュ値および第1キーネゴシエーションパラメータに基づいて楕円曲線点の加算演算を行うことで、第1暗号文を取得する;またはセキュリティパラメータのハッシュ値および第1乱数に基づいて第1中間キーを決定し;第1中間キーに基づいて第1キーネゴシエーションパラメータを暗号化し、第1暗号文を取得するように特に構成されている。
【0338】
さらに別の可能な実装例において、処理ユニット1103は、第1共有キー、PSK、第1乱数、および第2乱数に基づいて第1キーを導出し;第1キー、第1乱数、および第2乱数に基づいて第2アイデンティティ認証情報を生成する、ここで第1アイデンティティ認証情報は第1ノードのアイデンティティを認証するのに用いられる、ように特に構成されている。
【0339】
さらに別の可能な実装例において、第2メッセージはさらに第1アイデンティティ認証情報を含み;処理ユニット1103はさらに、第1ノードおよび第2ノードの間のPSK、第1共有キー、および第1アイデンティティ認証情報に基づいて、第1ノードのアイデンティティ認証が成功したと判定するように構成されている。
【0340】
以上で、第1ノードのアイデンティティを認証する方法を説明した。第1アイデンティティ認証情報は、PSKおよび第1共有キーに基づいて、第1ノードにより生成される。したがって、PSK、第1共有キー、および第1アイデンティティ認証情報に基づいて、第1ノード上にある第1共有キーおよびPSKが第2ノード上にあるものと同じであるかどうかを判定できるため、第1ノードのアイデンティティを認証できるようになる。第1ノードのアイデンティティを認証する機会が周期的であっても、または非周期的であってもよく、または第1ノードのアイデンティティは、いくつかの重要なオペレーションが行われる前に認証されてよく、これは特定の実装では実装に依存することに留意されたい。
【0341】
さらに別の可能な実装例において、第1メッセージは、アクセス要求メッセージ(またはアソシエーション要求メッセージ)とも呼ばれることがある。さらに、第2メッセージは、セキュリティコンテキスト要求メッセージ(またはアイデンティティ認証要求メッセージ)とも呼ばれることがある。第3メッセージは、セキュリティコンテキスト応答メッセージ(またはアイデンティティ認証応答メッセージ)とも呼ばれることがある。
【0342】
さらに別の可能な実装例において、受信ユニット1102はさらに、第1ノードから第4メッセージを受信する、ここで第4メッセージはアクセスが成功したことを示すのに用いられるか、またはアソシエーションが完了したことを示すのに用いられる、ように構成されている。さらに、第4メッセージは、アソシエーション確立メッセージ(またはアクセスアソシエーション完了メッセージ)、またはアソシエーション完了メッセージなどと呼ばれることがある。
【0343】
各ユニットの実装については、図5または図8Aおよび図8Bに示す実施形態の対応する説明を参照できることに留意されたい。通信装置110は、図5または図8Aおよび図8Bに示す実施形態における第2ノードであってよい。
【0344】
図12は、本願の一実施形態による通信装置120の構造の概略図である。通信装置120はノードであってもよく、またはノード内のコンポーネント、例えば、チップでも、または集積回路でもよい。装置120は、少なくとも1つのプロセッサ1202および通信インタフェース1204を含んでよい。これに加えて任意選択で、通信装置はさらに、少なくとも1つのメモリ1201を含んでよい。これに加えて任意選択で、通信装置はさらにバス1203を含んでよい。メモリ1201、プロセッサ1202、および通信インタフェース1204は、バス1203を用いて接続されている。
【0345】
メモリ1201は記憶領域を提供するように構成されており、この記憶領域にはオペレーティングシステムおよびコンピュータプログラムなどのデータが格納されてよい。メモリ1201は、ランダムアクセスメモリ(random access memory、RAM)、リードオンリメモリ(read-only memory、ROM)、消去可能プログラム可能型リードオンリメモリ(erasable programmable read only memory、EPROM)、およびコンパクトディスクリードオンリメモリ(compact disc read-only memory、CD-ROM)などのうちの1つであっても、またはその組み合わせであってもよい。
【0346】
プロセッサ1202は、算術演算および/または論理演算を行うモジュールであり、具体的には、中央演算処理ユニット(central processing unit、CPU)、グラフィックス処理ユニット(graphics processing unit、GPU)、マイクロプロセッサユニット(microprocessor unit、MPU)、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA)、複合プログラマブルロジックデバイス(Complex programmable logic device、CPLD)、コプロセッサ(中央演算処理ユニットによる対応する処理およびアプリケーションの完了を支援する)、およびマイクロ制御ユニット(Microcontroller Unit、MCU)などの処理モジュールのうちの1つでも、またはその組み合わせでもよい。
【0347】
通信インタフェース1204は、少なくとも1つのプロセッサに情報の入力または出力を提供するように構成されてよく;および/または通信インタフェースは、外部から送信されたデータの受信および/または外部へのデータの送信を行うように構成されてよく、イーサネット(登録商標)ケーブルなどを含む有線リンクインタフェースであってもよく、または無線リンク(Wi-Fi(登録商標)、ブルートゥース(登録商標)、汎用無線伝送、または車載短距離通信技術など)インタフェースであってもよい。任意選択で、通信インタフェース1204はさらに、インタフェースに連結された送信機(例えば、無線周波数送信機またはアンテナ)または受信機などを含んでよい。
【0348】
装置120内のプロセッサ1202は、メモリ1201に格納されたコンピュータプログラムを読み出して、前述したセキュアアクセス方法、例えば、図5図7、または図8Aおよび図8Bに示す実施形態で説明したセキュアアクセス方法を行うように構成されている。
【0349】
ある設計例において、通信装置120は、図5図7、または図8Aおよび図8Bに示す実施形態における第1ノードであってよい。装置120内のプロセッサ1202は、メモリ1201に格納されたコンピュータプログラムを読み出して、通信インタフェース1204を用いて第2ノードから第1メッセージを受信するオペレーション、ここで第1メッセージは第1暗号文を含み、第1暗号文はセキュリティパラメータおよび第1キーネゴシエーションパラメータに基づいて取得され、セキュリティパラメータは第1ノードおよび第2ノードの間の事前共有キーPSKであるか、または第1パスワードであり、第1パスワードは第1ノードおよび第2ノードの間の合意済みアクセスパスワードであり、第1ノードおよび第2ノードの間のPSKは第1ノードおよび第2ノードの間で共有される秘密値であり、第1パスワードは、第1ノードにアクセスするのに第2ノードにより用いられるパスワードとみなされてよい;セキュリティパラメータに基づいて第1暗号文を解読し、第1キーネゴシエーションパラメータを取得するオペレーション;および第1キーネゴシエーションパラメータおよびキーネゴシエーションアルゴリズムに基づいて第1共有キーを決定するオペレーションを行うように構成されている。
【0350】
本願の本実施形態において、第2ノードはセキュリティパラメータ(セキュリティパラメータはPSKでも、または第1パスワードでもよい)を用いて第1キーネゴシエーションパラメータを暗号化し、第1暗号文を取得する。同じセキュリティパラメータが通信装置120用に予め設定されてよいか、または通信装置120が、同じセキュリティパラメータを取得できるため、通信装置120は第1暗号文を解読して第1キーネゴシエーションパラメータを取得でき、その後、第1キーネゴシエーションパラメータに基づいて共有キーを生成できる。セキュリティパラメータを取得しないと、共有キーを生成できず、第2ノードは第1ノードにアクセスできない。したがって、攻撃者が第2ノードを用いて第1ノードにアクセスするのを防止でき、第1ノードが、信頼できないアイデンティティを有する攻撃者とのアソシエーションに成功しないようにすることが可能である。
【0351】
可能な一実装例において、プロセッサ1202はさらに、第1ノードおよび第2ノードの間のPSKを取得し;第1共有キーおよび、第1ノードおよび第2ノードの間のPSKに基づいて第1アイデンティティ認証情報を取得する、ここで第1アイデンティティ認証情報は第1ノードのアイデンティティを認証するのに用いられる、ように構成されている。
【0352】
第2ノードは第1共有キーおよびPSKに基づいて第1アイデンティティ認証情報を取得してよく、第1アイデンティティ認証情報は第1ノードのアイデンティティを認証するのに用いられてよい。本願では、第1アイデンティティ情報を用いて第1ノードのアイデンティティを認証する方法が示されている。つまり、第2ノードは第1共有キーを決定し、第1共有キーおよびPSKに基づいて確認情報を生成する。確認情報が第1アイデンティティ認証情報と同じである場合、これは第1ノード上にある第1共有キーおよびPSKが第2ノード上にあるものと同じであることを示している。このようにして、第1ノードのアイデンティティを認証でき、当該ノードおよび攻撃者の間の通信が防止され、ノードのセキュリティが改善される。
【0353】
別の可能な実装例において、プロセッサ1202は、第1の対応関係に基づいて第1ノードおよび第2ノードの間のPSKを取得する;または第1パスワード、第1共有キー、第1乱数、および第2乱数に基づいて、第1ノードおよび第2ノードの間のPSKを決定する、ここで第1メッセージはさらに第1乱数を含む、ように特に構成されている。
【0354】
第1ノードは、PSKおよび第2ノードの間の対応関係を対応関係の形式で格納できることが分かる。したがって、通信装置120は、第1の関係に基づいて、第1ノードおよび第2ノードの間のPSKを取得できる。
【0355】
可能な一設計例において、PSKは、第1パスワード、第1共有キー、第1乱数、および第2乱数に基づいて決定される。第1ノードが第2ノードと初めてアソシエーションを行う場合、または第1ノードが第1の対応関係を取得していない場合、第1ノードは第2ノードのアイデンティティに対応するPSKを有していないため、通信装置120は新たなPSKを決定できる。
【0356】
さらに別の可能な実装例において、プロセッサ1202は、第1共有キー、第1乱数、および第2乱数に基づいて第2共有キーを決定し;第1パスワード、第2共有キー、第1乱数、および第2乱数に基づいて、第1ノードおよび第2ノードの間のPSKを決定するように特に構成されている。
【0357】
さらに別の可能な実装例において、第1暗号文はセキュリティパラメータのハッシュ値および第1キーネゴシエーションパラメータに基づいて取得され;プロセッサ1202は、セキュリティパラメータのハッシュ値に基づいて第1暗号文を解読し、第1キーネゴシエーションパラメータを取得するように特に構成されている。
【0358】
さらに別の可能な実装例において、第1暗号文は、セキュリティパラメータのハッシュ値および第1キーネゴシエーションパラメータに基づいて楕円曲線点の加算演算を行うことで取得され;プロセッサ1202は、セキュリティパラメータのハッシュ値および第1暗号文に基づいて楕円曲線点の減算演算を行うことで、第1キーネゴシエーションパラメータを取得するように特に構成されている。
【0359】
さらに別の可能な実装例において、プロセッサ1202は、セキュリティパラメータのハッシュ値および第1乱数に基づいて第1中間キーを決定し;第1中間キーに基づいて第1暗号文を解読し、第1キーネゴシエーションパラメータを取得するように特に構成されている。
【0360】
さらに別の可能な実装例において、プロセッサ1202は、第1共有キー、PSK、第1乱数、および第2乱数に基づいて第1キーを導出し;第1キー、第1乱数、および第2乱数に基づいて第1アイデンティティ認証情報を生成する、ここで第1アイデンティティ認証情報は第1ノードのアイデンティティを認証するのに用いられる、ように特に構成されている。
【0361】
さらに別の可能な実装例において、プロセッサ1202はさらに、セキュリティパラメータに基づいて第2キーネゴシエーションパラメータを暗号化し、第2暗号文を取得し;通信インタフェース1204を用いて第2ノードに第2メッセージを送信する、ここで、第2メッセージは第1アイデンティティ認証情報および第2暗号文を含み、第2暗号文は、第1共有キーを決定するのに第2ノードにより用いられる、ように構成されている。
【0362】
第2キーネゴシエーションパラメータは、共有キーを決定するのに第2ノードにより用いられる。通信装置120はセキュリティパラメータに基づいて第2キーネゴシエーションパラメータを暗号化できること、および第2キーネゴシエーションパラメータは、セキュリティパラメータがクラックされた後に限り、共有キーを生成するために解読され得ることが分かる。これで、攻撃者が第2ノードに成り済まして装置120にアクセスするのを防止し、キーネゴシエーションプロセスのセキュリティを確保する。
【0363】
さらに別の可能な実装例において、プロセッサ1202はさらに、通信インタフェース1204を用いて第2ノードから第3メッセージを受信し、ここで第3メッセージは第2アイデンティティ認証情報を含む;第1ノードおよび第2ノードの間のPSK、第1共有キー、および第2アイデンティティ認証情報に基づいて、第2ノードのアイデンティティ認証が成功したと判定するように構成されている。
【0364】
以上で、第2ノードのアイデンティティを認証する方法を説明した。第2アイデンティティ認証情報は、PSKおよび第1共有キーに基づいて、第2ノードにより生成される。したがって、通信装置120は、PSK、第1共有キー、および第2アイデンティティ認証情報に基づいて、第2ノード上にある第1共有キーおよびPSKが第1ノード上にあるものと同じであるかどうかを判定できるため、第2ノードのアイデンティティを認証できるようになる。
【0365】
さらに別の可能な実装例において、第1メッセージは、アクセス要求メッセージ(またはアソシエーション要求メッセージ)とも呼ばれることがある。さらに、第2メッセージは、セキュリティコンテキスト要求メッセージ(またはアイデンティティ認証要求メッセージ)とも呼ばれることがある。第3メッセージは、セキュリティコンテキスト応答メッセージ(またはアイデンティティ認証応答メッセージ)とも呼ばれることがある。
【0366】
さらに別の可能な実装例において、プロセッサ1202はさらに、通信インタフェースを用いて第2ノードに第4メッセージを送信する、ここで第4メッセージはアクセスが成功したことを示すのに用いられるか、またはアソシエーションが完了したことを示すのに用いられる、ように構成されている。さらに、第4メッセージは、アソシエーション確立メッセージ(またはアクセスアソシエーション完了メッセージ)、またはアソシエーション完了メッセージなどと呼ばれることがある。
【0367】
具体的な実装については、図3または図5に示す実施形態の詳細な説明を参照されたい。ここでは、詳細について改めて説明しない。
【0368】
ある設計例において、通信装置120は、図5図7、または図8Aおよび図8Bに示す実施形態における第2ノードであってよい。装置120内のプロセッサ1202は、メモリ1201に格納されたコンピュータプログラムを読み出して、通信インタフェース1204を用いて第1ノードに第1メッセージを送信するオペレーション、ここで第1メッセージは第1暗号文を含み、第1暗号文はセキュリティパラメータおよび第1キーネゴシエーションパラメータに基づいて取得され、セキュリティパラメータは第1ノードおよび第2ノードの間の事前共有キーPSKであるか、または第1パスワードであり、第1パスワードは第1ノードおよび第2ノードの間の合意済みアクセスパスワードである;通信インタフェース1204を用いて第1ノードから第2メッセージを受信するオペレーション、ここで第2メッセージは第2暗号文を含み、第2暗号文はセキュリティパラメータに基づいて第2キーネゴシエーションパラメータを暗号化することで取得される;セキュリティパラメータに基づいて第2暗号文を解読し、第2キーネゴシエーションパラメータを取得するオペレーション;第2キーネゴシエーションパラメータおよびキーネゴシエーションアルゴリズムに基づいて第1共有キーを決定するオペレーション;および第1共有キーおよび、第1ノードおよび第2ノードの間のPSKに基づいて第2アイデンティティ認証情報を取得するオペレーション、ここで第2アイデンティティ認証情報は第2ノードのアイデンティティを認証するのに用いられる、を行うように構成されている。
【0369】
本願の本実施形態において、通信装置120は、セキュリティパラメータ(セキュリティパラメータはPSKでも、または第1パスワードでもよい)に基づいて第1キーネゴシエーションパラメータを暗号化し、次いで暗号化した第1キーネゴシエーションパラメータを第1ノードに送信する。それに対応して、第1ノードも、セキュリティパラメータに基づいて第2キーネゴシエーションパラメータを暗号化する。両通信当事者は、セキュリティパラメータに基づいて暗号文を解読し、キーネゴシエーションパラメータに基づいて共有キーを生成してよい。セキュリティパラメータを取得しないと、共有キーを生成できず、第2ノードは第1ノードにアクセスできない。したがって、信頼できない第1ノードに第2ノードがアクセスするのを防止でき、第2ノードのセキュリティが改善される。
【0370】
可能な一実装例において、プロセッサ1202はさらに、第1ノードおよび第2ノードの間のPSKを取得するように構成されている。
【0371】
第6態様の別の可能な実装例において、プロセッサは、第2の対応関係に基づいて第1ノードおよび第2ノードの間のPSKを取得する;または第1パスワード、第1共有キー、第1乱数、および第2乱数に基づいて、第1ノードおよび第2ノードの間のPSKを決定する、ここで第1メッセージはさらに第1乱数を含み、第1メッセージは第1乱数を含む、ように特に構成されている。
【0372】
PSKおよび第1ノードの間の対応関係が対応関係の形式で格納されてよいことが分かる。したがって、通信装置120は、この対応関係に基づいて第1ノードおよび第2ノードの間のPSKを取得できる。
【0373】
可能な一設計例において、PSKは、第1パスワード、第1共有キー、第1乱数、および第2乱数に基づいて決定される。第1ノードが第2ノードと初めてアソシエーションを行う場合、または第1ノードが第1の対応関係を取得していない場合、第2ノードは第1ノードに対応するPSKを有していないため、通信装置120は前述した方式で新たなPSKを決定できる。
【0374】
さらに別の可能な実装例において、プロセッサ1202は、第1共有キー、第1乱数、および第2乱数に基づいて第2共有キーを決定し;第1パスワード、第2共有キー、第1乱数、および第2乱数に基づいて、第1ノードおよび第2ノードの間のPSKを決定するように特に構成されている。
【0375】
さらに別の可能な実装例において、プロセッサ1202はさらに、セキュリティパラメータに基づいて第1キーネゴシエーションパラメータを暗号化し、第1暗号文を取得するように構成されている。
【0376】
さらに別の可能な実装例において、プロセッサ1202は、セキュリティパラメータのハッシュ値に基づいて第1キーネゴシエーションパラメータを暗号化し、第1暗号文を取得する;またはセキュリティパラメータのハッシュ値および第1キーネゴシエーションパラメータに基づいて楕円曲線点の加算演算を行うことで、第1暗号文を取得する;またはセキュリティパラメータのハッシュ値および第1乱数に基づいて第1中間キーを決定し;第1中間キーに基づいて第1キーネゴシエーションパラメータを暗号化し、第1暗号文を取得するように特に構成されている。
【0377】
さらに別の可能な実装例において、プロセッサ1202は、第1共有キー、PSK、第1乱数、および第2乱数に基づいて第1キーを導出し;第1キー、第1乱数、および第2乱数に基づいて第2アイデンティティ認証情報を生成する、ここで第1アイデンティティ認証情報は第1ノードのアイデンティティを認証するのに用いられる、ように特に構成されている。
【0378】
さらに別の可能な実装例において、第2メッセージはさらに第1アイデンティティ認証情報を含み;プロセッサ1202はさらに、第1ノードおよび第2ノードの間のPSK、第1共有キー、および第1アイデンティティ認証情報に基づいて、第1ノードのアイデンティティ認証が成功したと判定するように構成されている。
【0379】
以上で、第1ノードのアイデンティティを認証する方法を説明した。第1アイデンティティ認証情報は、PSKおよび第1共有キーに基づいて、第1ノードにより生成される。したがって、PSK、第1共有キー、および第1アイデンティティ認証情報に基づいて、第1ノード上にある第1共有キーおよびPSKが第2ノード上にあるものと同じであるかどうかを判定できるため、第1ノードのアイデンティティを認証できるようになる。第1ノードのアイデンティティを認証する機会が周期的であっても、または非周期的であってもよく、または第1ノードのアイデンティティは、いくつかの重要なオペレーションが行われる前に認証されてよく、これは特定の実装では実装に依存することに留意されたい。
【0380】
さらに別の可能な実装例において、第1メッセージは、アクセス要求メッセージ(またはアソシエーション要求メッセージ)とも呼ばれることがある。さらに、第2メッセージは、セキュリティコンテキスト要求メッセージ(またはアイデンティティ認証要求メッセージ)とも呼ばれることがある。第3メッセージは、セキュリティコンテキスト応答メッセージ(またはアイデンティティ認証応答メッセージ)とも呼ばれることがある。
【0381】
さらに別の可能な実装例において、プロセッサ1202はさらに、通信インタフェース1204を用いて第1ノードから第4メッセージを受信する、ここで第4メッセージはアクセスが成功したことを示すのに用いられるか、またはアソシエーションが完了したことを示すのに用いられる、ように構成されている。さらに、第4メッセージは、アソシエーション確立メッセージ(またはアクセスアソシエーション完了メッセージ)、またはアソシエーション完了メッセージなどと呼ばれることがある。
【0382】
具体的な実装については、図5図7、または図8Aおよび図8Bに示す実施形態の詳細な説明を参照されたい。ここでは、詳細について改めて説明しない。
【0383】
本願の一実施形態がさらに、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は、コンピュータプログラムを格納する。コンピュータプログラムが1つまたは複数のプロセッサ上で動作すると、図5図7、または図8Aおよび図8Bに示す実施形態における方法が実施される。
【0384】
本願の一実施形態がさらに、チップシステムを提供する。チップシステムは、少なくとも1つのプロセッサおよび通信インタフェースを含む。通信インタフェースは、データの送信および/または受信を行うように構成されており、少なくとも1つのプロセッサは、少なくとも1つのメモリに格納されたコンピュータプログラムを呼び出して、図5図7、または図8Aおよび図8Bに示す実施形態における方法を実施するように構成されている。
【0385】
さらに、少なくとも1つのプロセッサは、CPU、MPU、MCU、またはコプロセッサのうちの少なくとも1つを含んでよい。
【0386】
本願の一実施形態がさらに端末を提供する。端末は、インテリジェントコックピット製品または車両などであってよく、端末は第1ノードおよび/または第2ノードを含む。第1ノード(例えば、カメラ、スクリーン、マイク、スピーカ、レーダ、電子キー、パッシブエントリパッシブスタートシステムコントローラ、およびユーザ機器UEといったモジュールのうちの1つまたは複数)は、図5図7、または図8Aおよび図8Bに示す実施形態における第1ノードである。第2ノード(例えば、基地局または車両のコックピットドメインコントローラCDC)は、図5図7、または図8Aおよび図8Bに示す実施形態における第2ノードである。
【0387】
さらに任意選択で、端末は、無人航空機、ロボット、スマートホームシナリオにおけるデバイス、またはスマートマニュファクチャリングシナリオにおけるデバイスなどであってもよい。
【0388】
本願の一実施形態がさらにコンピュータプログラム製品を提供する。コンピュータプログラム製品が1つまたは複数のプロセッサ上で動作すると、図5図7、または図8Aおよび図8Bに示す実施形態で説明した通信方法が実施され得る。
【0389】
前述した実施形態の全部または一部が、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせで実現され得る。
【0390】
実施形態を実現するのにソフトウェアが用いられる場合、実施形態の全部または一部が、コンピュータ命令製品の形態で実現されてよい。
【0391】
コンピュータ命令がコンピュータ上にロードされ、そこで実行されると、本願の実施形態による手順または機能の全部または一部が実施され得る。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または別のプログラム可能型装置であってもよい。コンピュータ命令は、コンピュータ可読記憶媒体に格納されてもよく、またはコンピュータ可読記憶媒体を用いて伝送されてもよい。コンピュータ可読記憶媒体はコンピュータがアクセスできる任意の使用可能な媒体であってもよく、または1つまたは複数の使用可能な媒体を統合したサーバまたはデータセンタなどのデータストレージデバイスであってもよい。使用可能な媒体は、磁気媒体(例えば、フロッピーディスク、ハードディスク、または磁気テープ)、光媒体(例えば、DVD)、または半導体媒体(例えば、ソリッドステートディスク(solid state disk、SSD))などであってもよい。
【0392】
本願の方法の実施形態における各段階に対して、実際の要件に基づき、順序の調整、組み合わせ、および削除が行われてよい。
【0393】
本願の装置の実施形態における各モジュールに対して、実際の要件に基づき、組み合わせ、分割、および削除が行われてよい。
[他の可能な項目]
[項目1]
セキュアアクセス方法であって、前記方法が、
第2ノードから第1メッセージを受信する段階、ここで前記第1メッセージが第1暗号文を含み、前記第1暗号文がセキュリティパラメータおよび第1キーネゴシエーションパラメータに基づいて取得され、前記セキュリティパラメータが第1ノードおよび前記第2ノードの間の事前共有キーPSKであるか、または第1パスワードであり、前記第1パスワードが前記第1ノードおよび前記第2ノードの間の合意済みアクセスパスワードである;
前記セキュリティパラメータに基づいて前記第1暗号文を解読し、前記第1キーネゴシエーションパラメータを取得する段階;
前記第1キーネゴシエーションパラメータおよびキーネゴシエーションアルゴリズムに基づいて第1共有キーを決定する段階;
前記第1ノードおよび前記第2ノードの間の前記PSKを取得する段階;および
前記第1共有キーおよび、前記第1ノードおよび前記第2ノードの間の前記PSKに基づいて第1アイデンティティ認証情報を取得する段階、ここで前記第1アイデンティティ認証情報が前記第1ノードのアイデンティティを認証するのに用いられる、
を備える、方法。
[項目2]
前記第1ノードおよび前記第2ノードの間の前記PSKを取得する前記段階が、
第1の対応関係に基づいて前記第1ノードおよび前記第2ノードの間の前記PSKを取得する段階;または
前記第1パスワード、前記第1共有キー、第1乱数、および第2乱数に基づいて、前記第1ノードおよび前記第2ノードの間の前記PSKを決定する段階、ここで前記第1メッセージがさらに前記第1乱数を含む
を有する、項目1に記載の方法。
[項目3]
前記第1暗号文が前記セキュリティパラメータのハッシュ値および前記第1キーネゴシエーションパラメータに基づいて取得され;前記第1パスワードに基づいて前記第1暗号文を解読し、前記第1キーネゴシエーションパラメータを取得する前記段階が、
前記セキュリティパラメータの前記ハッシュ値に基づいて前記第1暗号文を解読し、前記第1キーネゴシエーションパラメータを取得する段階を有する、項目1または2に記載の方法。
[項目4]
前記第1暗号文が、前記セキュリティパラメータの前記ハッシュ値および前記第1キーネゴシエーションパラメータに基づいて楕円曲線点の加算演算を行うことで取得され;前記第1パスワードに基づいて前記第1暗号文を解読し、前記第1キーネゴシエーションパラメータを取得する前記段階が、
前記セキュリティパラメータの前記ハッシュ値および前記第1暗号文に基づいて楕円曲線点の減算演算を行うことで、前記第1キーネゴシエーションパラメータを取得する段階を有する、項目3に記載の方法。
[項目5]
前記セキュリティパラメータに基づいて前記第1暗号文を解読し、前記第1キーネゴシエーションパラメータを取得する前記段階が、
前記セキュリティパラメータの前記ハッシュ値および前記第1乱数に基づいて第1中間キーを決定する段階;および
前記第1中間キーに基づいて前記第1暗号文を解読し、前記第1キーネゴシエーションパラメータを取得する段階
を有する、項目3に記載の方法。
[項目6]
前記第1共有キーおよび、前記第1ノードおよび前記第2ノードの間の前記PSKに基づいて第1アイデンティティ認証情報を取得する前記段階が、
前記第1共有キー、前記PSK、前記第1乱数、および前記第2乱数に基づいて第1キーを導出する段階;および
前記第1キー、前記第1乱数、および前記第2乱数に基づいて前記第1アイデンティティ認証情報を生成する段階、ここで前記第1アイデンティティ認証情報が前記第1ノードの前記アイデンティティを認証するのに用いられる
を有する、項目1から5のいずれか一項に記載の方法。
[項目7]
前記方法がさらに、
前記セキュリティパラメータに基づいて第2キーネゴシエーションパラメータを暗号化し、第2暗号文を取得する段階;および
前記第2ノードに第2メッセージを送信する段階、ここで前記第2メッセージが前記第1アイデンティティ認証情報および前記第2暗号文を含み、前記第2暗号文が、前記第1共有キーを決定するのに前記第2ノードにより用いられる
を備える、項目1から6のいずれか一項に記載の方法。
[項目8]
前記セキュリティパラメータに基づいて第2キーネゴシエーションパラメータを暗号化し、第2暗号文を取得する前記段階が、
前記セキュリティパラメータの前記ハッシュ値に基づいて前記第2キーネゴシエーションパラメータを暗号化し、前記第2暗号文を取得する段階;または
前記セキュリティパラメータの前記ハッシュ値および前記第2キーネゴシエーションパラメータに基づいて楕円曲線点の加算演算を行うことで、前記第2暗号文を取得する段階;または
前記セキュリティパラメータの前記ハッシュ値および前記第2乱数に基づいて第2中間キーを決定する段階;および
前記第2中間キーに基づいて前記第2キーネゴシエーションパラメータを暗号化し、前記第2暗号文を取得する段階
を有する、項目7に記載の方法。
[項目9]
前記方法がさらに、
前記第2ノードから第3メッセージを受信する段階、ここで前記第3メッセージが第2アイデンティティ認証情報を含む;および
前記第1ノードおよび前記第2ノードの間の前記PSK、前記第1共有キー、および前記第2アイデンティティ認証情報に基づいて、前記第2ノードのアイデンティティ認証が成功したと判定する段階
を備える、項目7または8に記載の方法。
[項目10]
セキュアアクセス方法であって、前記方法が
第1ノードに第1メッセージを送信する段階、ここで前記第1メッセージが第1暗号文を含み、前記第1暗号文がセキュリティパラメータおよび第1キーネゴシエーションパラメータに基づいて取得され、前記セキュリティパラメータが前記第1ノードおよび第2ノードの間の事前共有キーPSKであるか、または第1パスワードであり、前記第1パスワードが前記第1ノードおよび前記第2ノードの間の合意済みアクセスパスワードである;
前記第1ノードから第2メッセージを受信する段階、ここで前記第2メッセージが第2暗号文を含み、前記第2暗号文が、前記セキュリティパラメータに基づいて第2キーネゴシエーションパラメータを暗号化することで取得される;
前記セキュリティパラメータに基づいて前記第2暗号文を解読し、前記第2キーネゴシエーションパラメータを取得する段階;
前記第2キーネゴシエーションパラメータおよびキーネゴシエーションアルゴリズムに基づいて第1共有キーを決定する段階;および
前記第1共有キーおよび、前記第1ノードおよび前記第2ノードの間の前記PSKに基づいて第2アイデンティティ認証情報を取得する段階、ここで前記第2アイデンティティ認証情報が、前記第2ノードのアイデンティティを認証するのに用いられる
を備える、方法。
[項目11]
前記第1共有キーおよび、前記第1ノードおよび前記第2ノードの間の前記PSKに基づいて第2アイデンティティ認証情報を取得する前記段階の前に、前記方法がさらに、
前記第1ノードおよび前記第2ノードの間の前記PSKを取得する段階を備える、項目10に記載の方法。
[項目12]
前記第1ノードおよび前記第2ノードの間の前記PSKを取得する前記段階が、
第2の対応関係に基づいて、前記第1ノードおよび前記第2ノードの間の前記PSKを取得する段階;または
前記第1パスワード、前記第1共有キー、第1乱数、および第2乱数に基づいて、前記第1ノードおよび前記第2ノードの間の前記PSKを決定する段階、ここで前記第1メッセージがさらに前記第1乱数を含み、前記第1メッセージが前記第1乱数を含む、
を有する、項目10または11に記載の方法。
[項目13]
第1メッセージを送信する前記段階の前に、前記方法がさらに、
前記セキュリティパラメータに基づいて前記第1キーネゴシエーションパラメータを暗号化し、前記第1暗号文を取得する段階を備える、項目10から12のいずれか一項に記載の方法。
[項目14]
前記セキュリティパラメータに基づいて前記第1キーネゴシエーションパラメータを暗号化し、前記第1暗号文を取得する前記段階が、
前記セキュリティパラメータのハッシュ値に基づいて前記第1キーネゴシエーションパラメータを暗号化し、前記第1暗号文を取得する段階;または
前記セキュリティパラメータのハッシュ値および前記第1キーネゴシエーションパラメータに基づいて楕円曲線点の加算演算を行うことで、前記第1暗号文を取得する段階;または
前記セキュリティパラメータのハッシュ値および前記第1乱数に基づいて第1中間キーを決定する段階;および
前記第1中間キーに基づいて前記第1キーネゴシエーションパラメータを暗号化し、前記第1暗号文を取得する段階
を有する、項目13に記載の方法。
[項目15]
前記第2暗号文が前記セキュリティパラメータの前記ハッシュ値および前記第2キーネゴシエーションパラメータに基づいて取得され;前記セキュリティパラメータに基づいて前記第2暗号文を解読し、前記第2キーネゴシエーションパラメータを取得する前記段階が、
前記セキュリティパラメータの前記ハッシュ値に基づいて前記第2暗号文を解読し、前記第2キーネゴシエーションパラメータを取得する段階を有する、項目10から14のいずれか一項に記載の方法。
[項目16]
前記第1暗号文が、前記セキュリティパラメータの前記ハッシュ値および前記第1キーネゴシエーションパラメータに基づいて楕円曲線点の加算演算を行うことで取得され;前記セキュリティパラメータの前記ハッシュ値に基づいて前記第2暗号文を解読し、前記第2キーネゴシエーションパラメータを取得する前記段階が、
前記セキュリティパラメータの前記ハッシュ値および前記第2暗号文に基づいて楕円曲線点の減算演算を行うことで、前記第2キーネゴシエーションパラメータを取得する段階を有する、項目15に記載の方法。
[項目17]
前記セキュリティパラメータに基づいて前記第2暗号文を解読し、前記第2キーネゴシエーションパラメータを取得する前記段階が、
前記セキュリティパラメータの前記ハッシュ値および前記第2乱数に基づいて第2中間キーを決定する段階;および
前記第2中間キーに基づいて前記第2暗号文を解読し、前記第2キーネゴシエーションパラメータを取得する段階
を有する、項目15に記載の方法。
[項目18]
前記第1共有キーおよび、前記第1ノードおよび前記第2ノードの間の前記PSKに基づいて第2アイデンティティ認証情報を取得する前記段階がさらに、
前記第1共有キー、前記PSK、前記第1乱数、および前記第2乱数に基づいて第1キーを導出する段階;および
前記第1キー、前記第1乱数、および前記第2乱数に基づいて前記第2アイデンティティ認証情報を生成する段階、ここで前記第2アイデンティティ認証情報が前記第2ノードの前記アイデンティティを認証するのに用いられる
を有する、項目10から17のいずれか一項に記載の方法。
[項目19]
前記第2メッセージがさらに第1アイデンティティ認証情報を含み;前記第1共有キーおよび、前記第1ノードおよび前記第2ノードの間の前記PSKに基づいて第2アイデンティティ認証情報を取得する前記段階の前に、前記方法がさらに、
前記第1アイデンティティ認証情報、前記第1共有キー、および前記PSKに基づいて、前記第1ノードのアイデンティティ認証が成功したと判定する段階を備える、項目18に記載の方法。
[項目20]
第2ノードから第1メッセージを受信するように構成された受信ユニット、ここで前記第1メッセージが第1暗号文を含み、前記第1暗号文がセキュリティパラメータおよび第1キーネゴシエーションパラメータに基づいて取得され、前記セキュリティパラメータが第1ノードおよび前記第2ノードの間の事前共有キーPSKであるか、または第1パスワードであり、前記第1パスワードが前記第1ノードおよび前記第2ノードの間の合意済みアクセスパスワードである;および
前記セキュリティパラメータに基づいて前記第1暗号文を解読し、前記第1キーネゴシエーションパラメータを取得するように構成された処理ユニット
を備え、
前記処理ユニットがさらに、前記第1キーネゴシエーションパラメータおよびキーネゴシエーションアルゴリズムに基づいて第1共有キーを決定するように構成されており;
前記処理ユニットがさらに、前記第1ノードおよび前記第2ノードの間の前記PSKを取得するように構成されており;
前記処理ユニットがさらに、前記第1共有キーおよび、前記第1ノードおよび前記第2ノードの間の前記PSKに基づいて第1アイデンティティ認証情報を取得するように構成されており、ここで前記第1アイデンティティ認証情報が前記第1ノードのアイデンティティを認証するのに用いられる、通信装置。
[項目21]
前記処理ユニットが、
第1の対応関係に基づいて前記第1ノードおよび前記第2ノードの間の前記PSKを取得する;または
前記第1パスワード、前記第1共有キー、第1乱数、および第2乱数に基づいて、前記第1ノードおよび前記第2ノードの間の前記PSKを決定する、ここで前記第1メッセージがさらに前記第1乱数を含む
ように特に構成されている、項目20に記載の装置。
[項目22]
前記第1暗号文が前記セキュリティパラメータのハッシュ値および前記第1キーネゴシエーションパラメータに基づいて取得され;前記処理ユニットが、
前記セキュリティパラメータの前記ハッシュ値に基づいて前記第1暗号文を解読し、前記第1キーネゴシエーションパラメータを取得するように特に構成されている、項目20または21に記載の装置。
[項目23]
前記第1暗号文が、前記セキュリティパラメータの前記ハッシュ値および前記第1キーネゴシエーションパラメータに基づいて楕円曲線点の加算演算を行うことで取得され;前記処理ユニットが
前記セキュリティパラメータの前記ハッシュ値および前記第1暗号文に基づいて楕円曲線点の減算演算を行うことで、前記第1キーネゴシエーションパラメータを取得するように特に構成されている、項目22に記載の装置。
[項目24]
前記処理ユニットが、
前記セキュリティパラメータの前記ハッシュ値および前記第1乱数に基づいて第1中間キーを決定し;
前記第1中間キーに基づいて前記第1暗号文を解読し、前記第1キーネゴシエーションパラメータを取得する
ように特に構成されている、項目22に記載の装置。
[項目25]
前記処理ユニットが、
前記第1共有キー、前記PSK、前記第1乱数、および前記第2乱数に基づいて第1キーを導出し;
前記第1キー、前記第1乱数、および前記第2乱数に基づいて前記第1アイデンティティ認証情報を生成する、ここで前記第1アイデンティティ認証情報が前記第1ノードの前記アイデンティティを認証するのに用いられる
ように特に構成されている、項目20から24のいずれか一項に記載の装置。
[項目26]
前記処理ユニットがさらに、
前記セキュリティパラメータに基づいて第2キーネゴシエーションパラメータを暗号化し、第2暗号文を取得し;
前記第2ノードに第2メッセージを送信する、ここで前記第2メッセージが前記第1アイデンティティ認証情報および前記第2暗号文を含み、前記第2暗号文が、前記第1共有キーを決定するのに前記第2ノードにより用いられる、
ように構成されている、項目20から25のいずれか一項に記載の装置。
[項目27]
前記処理ユニットが、
前記セキュリティパラメータの前記ハッシュ値に基づいて前記第2キーネゴシエーションパラメータを暗号化し、前記第2暗号文を取得する;または
前記セキュリティパラメータの前記ハッシュ値および前記第2キーネゴシエーションパラメータに基づいて楕円曲線点の加算演算を行うことで、前記第2暗号文を取得する;または
前記セキュリティパラメータの前記ハッシュ値および前記第2乱数に基づいて第2中間キーを決定し;
前記第2中間キーに基づいて前記第2キーネゴシエーションパラメータを暗号化し、前記第2暗号文を取得する
ように特に構成されている、項目26に記載の装置。
[項目28]
前記処理ユニットが、
前記第2ノードから第3メッセージを受信し、ここで前記第3メッセージが第2アイデンティティ認証情報を含む;
前記第1ノードおよび前記第2ノードの間の前記PSK、前記第1共有キー、および前記第2アイデンティティ認証情報に基づいて、前記第2ノードのアイデンティティ認証が成功したと判定する
ように特に構成されている、項目26または27に記載の装置。
[項目29]
第1ノードに第1メッセージを送信するように構成された送信ユニット、ここで前記第1メッセージが第1暗号文を含み、前記第1暗号文がセキュリティパラメータおよび第1キーネゴシエーションパラメータに基づいて取得され、前記セキュリティパラメータが前記第1ノードおよび第2ノードの間の事前共有キーPSKであるか、または第1パスワードであり、前記第1パスワードが前記第1ノードおよび前記第2ノードの間の合意済みアクセスパスワードである;
前記第1ノードから第2メッセージを受信するように構成された受信ユニット、ここで前記第2メッセージが第2暗号文を含み、前記第2暗号文が前記セキュリティパラメータに基づいて第2キーネゴシエーションパラメータを暗号化することで取得される;および
前記セキュリティパラメータに基づいて前記第2暗号文を解読し、前記第2キーネゴシエーションパラメータを取得するように構成された処理ユニット
を備え、
前記処理ユニットがさらに、前記第2キーネゴシエーションパラメータおよびキーネゴシエーションアルゴリズムに基づいて第1共有キーを決定するように構成されており;
前記処理ユニットがさらに、前記第1共有キーおよび、前記第1ノードおよび前記第2ノードの間の前記PSKに基づいて第2アイデンティティ認証情報を取得するように構成されており、前記第2アイデンティティ認証情報が、前記第2ノードのアイデンティティを認証するのに用いられる、通信装置。
[項目30]
前記処理ユニットがさらに、
前記第1ノードおよび前記第2ノードの間の前記PSKを取得するように構成されている、項目29に記載の装置。
[項目31]
前記処理ユニットが、
第2の対応関係に基づいて前記第1ノードおよび前記第2ノードの間の前記PSKを取得する;または
前記第1パスワード、前記第1共有キー、第1乱数、および第2乱数に基づいて、前記第1ノードおよび前記第2ノードの間の前記PSKを決定する、ここで前記第1メッセージがさらに前記第1乱数を含み、前記第1メッセージが前記第1乱数を含む
ように特に構成されている、項目29または30に記載の装置。
[項目32]
前記処理ユニットがさらに、
前記セキュリティパラメータに基づいて前記第1キーネゴシエーションパラメータを暗号化し、前記第1暗号文を取得するように構成されている、項目29から31のいずれか一項に記載の装置。
[項目33]
前記処理ユニットが、
前記セキュリティパラメータのハッシュ値に基づいて前記第1キーネゴシエーションパラメータを暗号化し、前記第1暗号文を取得する;または
前記セキュリティパラメータのハッシュ値および前記第1キーネゴシエーションパラメータに基づいて楕円曲線点の加算演算を行うことで、前記第1暗号文を取得する;または
前記セキュリティパラメータのハッシュ値および前記第1乱数に基づいて第1中間キーを決定し;
前記第1中間キーに基づいて前記第1キーネゴシエーションパラメータを暗号化し、前記第1暗号文を取得する
ように特に構成されている、項目32に記載の装置。
[項目34]
前記第2暗号文が前記セキュリティパラメータの前記ハッシュ値および前記第2キーネゴシエーションパラメータに基づいて取得され;前記処理ユニットが、
前記セキュリティパラメータの前記ハッシュ値に基づいて前記第2暗号文を解読し、前記第2キーネゴシエーションパラメータを取得するように特に構成されている、項目29から33のいずれか一項に記載の装置。
[項目35]
前記第1暗号文が、前記セキュリティパラメータの前記ハッシュ値および前記第1キーネゴシエーションパラメータに基づいて楕円曲線点の加算演算を行うことで取得され;前記処理ユニットが
前記セキュリティパラメータの前記ハッシュ値および前記第2暗号文に基づいて楕円曲線点の減算演算を行うことで、前記第2キーネゴシエーションパラメータを取得するように特に構成されている、項目34に記載の装置。
[項目36]
前記処理ユニットが、
前記セキュリティパラメータの前記ハッシュ値および前記第2乱数に基づいて第2中間キーを決定し;
前記第2中間キーに基づいて前記第2暗号文を解読し、前記第2キーネゴシエーションパラメータを取得する
ように特に構成されている、項目34に記載の装置。
[項目37]
前記処理ユニットがさらに、
前記第1共有キー、前記PSK、前記第1乱数、および前記第2乱数に基づいて第1キーを導出し;
前記第1キー、前記第1乱数、および前記第2乱数に基づいて前記第2アイデンティティ認証情報を生成する、ここで前記第2アイデンティティ認証情報が前記第2ノードの前記アイデンティティを認証するのに用いられる
ように構成されている、項目29から36のいずれか一項に記載の装置。
[項目38]
前記第2メッセージがさらに第1アイデンティティ認証情報を含み;前記処理ユニットがさらに、
前記第1アイデンティティ認証情報、前記第1共有キー、および前記PSKに基づいて、前記第1ノードのアイデンティティ認証が成功したと判定するように構成されている、項目37に記載の装置。
[項目39]
チップシステムであって、前記チップシステムが少なくとも1つのプロセッサおよび通信インタフェースを備え、前記通信インタフェースがデータの送信および/または受信を行うように構成されており、前記少なくとも1つのプロセッサが、少なくとも1つのメモリに格納されたコンピュータプログラムを呼び出すように構成されていることで、前記チップシステムが項目1から9のいずれか一項に記載の方法を実施するようになる、チップシステム。
[項目40]
チップシステムであって、前記チップシステムが少なくとも1つのプロセッサおよび通信インタフェースを備え、前記通信インタフェースがデータの送信および/または受信を行うように構成されており、前記少なくとも1つのプロセッサが、少なくとも1つのメモリに格納されたコンピュータプログラムを呼び出すように構成されていることで、前記チップシステムが項目10から19のいずれか一項に記載の方法を実施するようになる、チップシステム。
[項目41]
コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体がコンピュータプログラムを格納し、前記コンピュータプログラムがコンピュータ上で動作すると、前記コンピュータが項目1から9のいずれか一項に記載の方法を行うことが可能になる、コンピュータ可読記憶媒体。
[項目42]
コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体がコンピュータプログラムを格納し、前記コンピュータプログラムがコンピュータ上で動作すると、前記コンピュータが項目10から19のいずれか一項に記載の方法を行うことが可能になる、コンピュータ可読記憶媒体。
[項目43]
第1ノード、ここで前記第1ノードが項目20から28のいずれか一項に記載の通信装置を有する;および
第2ノード、ここで前記第2ノードが項目29から38のいずれか一項に記載の通信装置を有する
を備える、セキュアアクセスシステム。
図1
図2(a)】
図2(b)】
図2(c)】
図3
図4
図5
図6
図7
図8A
図8B
図9A
図9B
図9C
図9D
図9E
図10
図11
図12
【国際調査報告】