(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-14
(45)【発行日】2025-02-25
(54)【発明の名称】データを暗号化又は復号化するための暗号処理イベント
(51)【国際特許分類】
H04L 9/08 20060101AFI20250217BHJP
H04W 12/041 20210101ALI20250217BHJP
H04W 12/10 20210101ALI20250217BHJP
H04W 12/03 20210101ALI20250217BHJP
H04W 12/0431 20210101ALI20250217BHJP
【FI】
H04L9/08 B
H04L9/08 F
H04W12/041
H04W12/10
H04W12/03
H04W12/0431
【外国語出願】
(21)【出願番号】P 2021088757
(22)【出願日】2021-05-26
【審査請求日】2024-03-08
(32)【優先日】2020-05-27
(33)【優先権主張国・地域又は機関】FR
(73)【特許権者】
【識別番号】519260337
【氏名又は名称】アイデミア フランス
(74)【代理人】
【識別番号】110004314
【氏名又は名称】弁理士法人青藍国際特許事務所
(74)【代理人】
【識別番号】100107641
【氏名又は名称】鎌田 耕一
(72)【発明者】
【氏名】ジロー,クリストフ
(72)【発明者】
【氏名】ドタ,エマニュエル
【審査官】平井 誠
(56)【参考文献】
【文献】特開2019-201398(JP,A)
【文献】特表2019-509648(JP,A)
【文献】国際公開第2019/020439(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G09C 1/00- 5/00
H04L 9/00-40
H04W 12/00-88
(57)【特許請求の範囲】
【請求項1】
第2システム(HN1)と連携する装置(DV1)によって実行される暗号処理方法であって、前記方法は、
・初期化段階(S100)であって、
仮生成元点G’を決定するステップ(S101)であって、前記仮生成元点G’は、G’=[d’]Gのような第1積に等しく、ここで、d’は、Nビットの第1秘密鍵を形成する第1ランダムスカラーであり、Gは、楕円曲線(ε)の生成元点である、ステップ(S102)と、
仮鍵Q’を決定するステップ(S104)であって、前記仮鍵Q’は、Q’=[d’]Qのような第2積に等しく、ここで、Qは、前記第2システムに関連する公開鍵を形成する前記楕円曲線(ε)の点である、ステップ(S104)と、
を含む初期化段階(S100)と、
・暗号化段階(S107)であって、
Mビットの第2秘密鍵kを形成する第2ランダムスカラーを決定するステップ(S108)であって、M<Nである、ステップ(S108)と、
前記装置に関連する公開鍵Pを計算するステップ(S110)であって、前記公開鍵Pは、P=[k]G’のような第3積に等しい、ステップ(S110)と、
前記楕円曲線の中間点SP1の少なくとも1つの座標(CD1)を計算するステップ(S112)であって、前記中間点SP1は、SP1=[k]Q’のような第4積に等しい、計算するステップ(S112)と、
前記中間点SP1の少なくとも1つの前記座標(CD1)に鍵導出関数(F1)を適用することによって、少なくとも1つの鍵(KY1、V1、KMAC1)を導出するステップ(S114)と、
暗号化されたデータを取得するために、前記導出において導出された少なくとも1つの前記鍵に基づきデータ(SUPI)を暗号化するステップ(S116)と、
前記第2システムによる復号化のために、前記公開鍵P及び前記暗号化されたデータを前記第2システムに送信するステップ(S118)と、
を含む暗号化段階(S107)と、
を含む、方法。
【請求項2】
前記公開鍵Pによって、前記第2システムが、前記第2システムの秘密鍵-表記a-を形成するスカラーに基づき、前記中間点SP1の少なくとも1つの前記座標を再計算することが可能となり、ここで、SP1=[a]Pであり、
前記中間点SP1の少なくとも1つの前記座標によって、前記第2システムが前記暗号化されたデータを復号化できる、請求項1に記載の方法。
【請求項3】
前記初期化段階は、
Nビットの前記第1秘密鍵d’を形成する前記第1ランダムスカラーを決定するステップ(S101)と、
前記仮生成元点G’を計算するステップ(S102)であって、前記仮生成元点G’は、G’=[d’]Gのような前記第1積に等しい、ステップ(S102)と、
前記仮鍵Q’を計算するステップ(S104)であって、前記仮鍵Q’は、Q’=[d’]Qのような前記第2積に等しい、ステップ(S104)と、
を含む、請求項1又は2に記載の方法。
【請求項4】
前記初期化段階の後に、前記方法は、前記仮生成元
点G’及び前記仮鍵Q’を前記装置の不揮発性メモリに登録するステップを含む、請求項1から3のいずれか1項に記載の方法。
【請求項5】
前記暗号化段階は、少なくとも1つのイベントの検出時に開始され、前記初期化段階は、前記検出の前に実行される、請求項1から4のいずれか1項に記載の方法。
【請求項6】
少なくとも1つの鍵の前記導出において、前記鍵導出関数(F1)を前記中間点SP1の少なくとも1つの前記座標に適用することによって、暗号化鍵(KY1)、初期化ベクトル(V1)、及びMAC鍵(KMAC1)が生成され、
前記暗号化は、
・前記暗号化鍵及び前記初期化ベクトルに基づき前記データを暗号化する暗号化関数(F2)を適用するステップと、
・前記暗号化されたデータ及び前記MAC鍵に基づき認証コードMAC(MC1)を計算するステップと、
を含み、
前記公開鍵P及び前記暗号化されたデータとは別に、前記装置は、前記認証コードMAC(MC1)を前記第2システムに送信して、前記第2システムに前記暗号化されたデータの完全性を検証させる、請求項1から5のいずれか1項に記載の方法。
【請求項7】
前記装置は、前記初期化段階において決定された前記仮生成元点G’及び前記仮鍵Q’に基づき、前記暗号化段階の少なくとも2つの連続した繰り返し処理を実行して、復号化のために前記第2システムに送信されるデータを暗号化する、請求項1から6のいずれか1項に記載の方法。
【請求項8】
前記暗号化段階の少なくとも1つの繰り返し処理について、現在の前記繰り返し処理において使用される前記仮生成元
点G’及び前記仮鍵Q’は、前記暗号化段階の先行する前記繰り返し処理において計算された前記公開鍵P及び前記中間点SP1にそれぞれ等しい、請求項1から7のいずれか1項に記載の方法。
【請求項9】
前記初期化段階において決定された前記仮生成元点G’及び前記仮鍵Q’に基づき、前記装置が、前記暗号化段階の少なくともX回の連続した繰り返し処理を実行して、暗号化されたデータを前記第2システムに送信したということが検出される時、前記方法はまた、
・前記仮生成元
点G’及び前記仮鍵Q’を、前記初期化段階の先行する前記繰り返し処理において決定され
た第1ランダム鍵とは異なる新たな第1秘密ランダム鍵d’に基づき更新するために、前記初期化段階の新たな繰り返し処理を実行するステップと、
更新された前記仮生成元
点G’及び更新された前記仮鍵Q’は、前記暗号化段階の少なくとも1つの後の繰り返し処理において使用されて、前記第2システムに新たな暗号化されたデータを送信するステップと、
を含み、
Xは、X≧1であるような整数である、請求項1から8のいずれか1項に記載の方法。
【請求項10】
・前記第2システムは、通信ネットワークであり、
・前記装置は、端末を前記通信ネットワークで認証するための、前記端末の組み込み加入者識別モジュールであり、
・前記データは、前記組み込み加入者識別モジュールの識別子(SUPI)を含み、
・前記暗号化において、前記識別子は、前記導出において導出された少なくとも1つの前記鍵に基づいて暗号化され、暗号化された識別子(SUCI)を取得し、
・前記送信において、前記組み込み加入者識別モジュールが前記通信ネットワークで認証されるようにするために、前記公開鍵P及び前記暗号化された識別子は、前記通信ネットワークのアクセスポイントに送信される、請求項1から9のいずれか1項に記載の方法。
【請求項11】
前記暗号化段階は、少なくとも1つのイベントの検出時に開始され、前記初期化段階は、前記検出の前に実行され、
少なくとも1つの前記イベントは、前記通信ネットワークの前記アクセスポイントから、前記通信ネットワークで前記組み込み加入者識別モジュールを登録するための要求を受信するステップを含
む、請求項10に記載の方法。
【請求項12】
前記通信ネットワークは、5Gモバイルネットワークであり、前記組み込み加入者識別モジュールの前記識別子は、SUPI識別子である、請求項10又は11に記載の方法。
【請求項13】
第2システム(HN1)と連携する装置(DV1)によって実行される暗号処理方法であり、前記方法は、
・初期化段階であって、
仮生成元点G’を決定するステップであって、前記仮生成元点G’は、G’=[d’]Gのような第1積に等しく、ここで、d’は、Nビットの第1秘密鍵を形成する第1ランダムスカラーであり、Gは、楕円曲線(ε)の生成元点である、ステップと、
仮鍵Q’を決定するステップであって、前記仮鍵Q’は、Q’=[d’]Qのような第2積に等しく、ここで、Qは、前記第2システムに関連する公開鍵を形成する前記楕円曲線(ε)の点である、ステップと、
を含む初期化段階と、
・復号化段階であって、
Mビットの第2秘密鍵kを形成する第2ランダムスカラーを決定するステップであって、M<Nである、ステップと、
前記装置に関連する公開鍵Pを計算するステップであって、前記公開鍵Pは、P=[k]G’のような第3積に等しい、ステップと、
前記公開鍵Pを第2システムに送信するステップと、
前記第2システムから送信された暗号化されたデー
タを受信するステップと、
前記楕円曲線の中間点SP1の少なくとも1つの座標(CD1)を計算するステップであって、前記中間点SP1は、SP1=[k]Q’のような第4積に等しい、ステップと、
前記中間点SP1の少なくとも1つの前記座標(CD1)に鍵導出関数(F1)を適用することによって、少なくとも1つの鍵(KY1、V1、KMAC1)を導出するステップと、
復号化されたデータを取得するために、前記導出において導出された少なくとも1つの前記鍵に基づき前記暗号化されたデータを復号化するステップと、
を含む復号化段階と、
を含む、方法。
【請求項14】
第2システムと連携できる暗号処理装置であって、
前記暗号処理装置は、
・初期化段階を実行するように構成された初期化モジュールであって、
前記初期化段階は、
仮生成元点G’を決定するステップであって、前記仮生成元点G’は、G’=[d’]Gのような第1積に等しく、ここで、d’は、Nビットの第1秘密鍵を形成する第1ランダムスカラーであり、Gは、楕円曲線(ε)の生成元点である、ステップと、
仮鍵Q’を決定するステップであって、前記仮鍵Q’は、Q’=[d’]Qのような第2積に等しく、ここで、Qは、前記第2システムに関連する公開鍵を形成する前記楕円曲線(ε)の点である、ステップと、
を含む初期化モジュールと、
・暗号化段階を実行するように構成された暗号化モジュールであって、
前記暗号化段階は、
Mビットの第2秘密鍵kを形成する第2ランダムスカラーを決定するステップであって、M<Nである、ステップと、
前記装置に関連する公開鍵Pを計算するステップであって、前記公開鍵Pは、P=[k]G’のような第3積に等しい、ステップと、
前記楕円曲線の中間点SP1の少なくとも1つの座標を計算するステップであって、前記中間点SP1は、SP1=[k]Q’のような第4積に等しい、ステップと、
前記中間点SP1の少なくとも1つの前記座標に鍵導出関数(F1)を適用することによって、少なくとも1つの鍵(KY1、V1、KMAC1)を導出するステップと、
暗号化されたデータを取得するために、前記導出において導出された少なくとも1つの前記鍵に基づきデータ(SUPI)を暗号化するステップと、
前記第2システムによる復号化のために、前記公開鍵P及び前記暗号化されたデータを前記第2システムに送信するステップと、
を含む暗号化モジュールと、
を含む、暗号処理装置。
【請求項15】
第2システムと連携できる暗号処理装置であって、
前記暗号処理装置は、
・初期化段階を実行するように構成された初期化モジュールであって、
前記初期化段階は、
仮生成元点G’を決定するステップであって、前記仮生成元点G’は、G’=[d’]Gのような第1積に等しく、ここで、d’は、Nビットの第1秘密鍵を形成する第1ランダムスカラーであり、Gは、楕円曲線(ε)の生成元点である、ステップと、
仮鍵Q’を決定するステップであって、前記仮鍵Q’は、Q’=[d’]Qのような第2積に等しく、ここで、Qは、前記第2システムに関連する公開鍵を形成する前記楕円曲線(ε)の点である、ステップと、
を含む初期化モジュールと、
・復号化段階を実行するように構成された復号化モジュールであって、
前記復号化段階は、
Mビットの第2秘密鍵kを形成する第2ランダムスカラーを決定するステップであって、M<Nである、ステップと、
前記装置に関連する公開鍵Pを計算するステップであって、前記公開鍵Pは、P=[k]G’のような第3積に等しい、ステップと、
前記公開鍵Pを第2システムに送信するステップと、
前記第2システムから送信された暗号化されたデー
タを受信するステップと、
前記楕円曲線の中間点SP1の少なくとも1つの座標(CD1)を計算するステップであって、前記中間点SP1は、SP1=[k]Q’のような第4積に等しい、ステップと、
前記中間点SP1の少なくとも1つの前記座標(CD1)に鍵導出関数(F1)を適用することによって、少なくとも1つの鍵(KY1、V1、KMAC1)を導出するステップと、
復号化されたデータを取得するために、前記導出において導出された少なくとも1つの前記鍵に基づき前記暗号化されたデータを復号化するステップと、
を含む復号化モジュールと、
を含む、暗号処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、暗号技術の分野に関し、より詳細には、装置から外部エンティティに安全に送信されるべきデータを暗号化するための暗号処理イベントの実行に関する。本発明は、特に、組み込み加入者識別モジュールの識別子を暗号化すること、及び通信端末を通信ネットワークで認証するためにそのような識別子を暗号化された形式で送信することに関する。
【背景技術】
【0002】
通信分野において「4G」とは、LTE-アドバンスト(LTE-Advanced)(IMT-アドバンスト(IMT-Advanced))に相当する第4世代の携帯電話規格のことである。4Gネットワークは、IPを基盤としたネットワークコアを含み、従来の2G世代又は3G世代で可能であったものよりも優れた速度及びサービスを提供してきた。
【0003】
知られているように、モバイル4Gネットワークにアクセスし、関連サービスを利用するためには、通信端末(「スマートフォン」電話機等)がネットワークで認証されるべき識別データを送信しなければならない。これを実現するために、一般的には、加入者識別モジュール(例えば、SIMカード)は、端末に組み込まれており、加入者のIMSI識別子(「インターナショナル モバイル サブスクライバー アイデンティティ(International Mobile Subscriber identity)」の略)を4Gネットワークに送信し、4Gネットワークでの認証手続きを行う。
【0004】
しかし、4Gに関しては、私生活を侵害するセキュリティ上の問題及びリスクが指摘されている。特に、端末からこの4GネットワークにIMSI識別子を送信する時にセキュリティが確保されていないので、加入者は、「IMSIインターセプタ―(IMSI interceptor)」又は「IMSIキャッチャー(IMSI catchers)」と呼ばれる悪意のある第三者に自身のIMSI識別子を傍受されるリスクにさらされている。実際、悪意のある第三者は、携帯通信トラフィックを傍受するために使用される監視システムを利用して、(IMSIを含む)機密情報をリモートで取得でき、又は4G端末のユーザの動向を追跡できる。これを実現するために、IMSIインターセプタ―は、偽の中継アンテナを、電話オペレータのネットワークと対象のクライアント端末との間に介在させることによって、あたかも本物のように見せ掛けている。
【0005】
第5世代の携帯電話規格は、5Gと呼ばれ、技術的にはLTE(ロング ターム エボリューション(Long Term Evolution)の略)を発展させたものであり、より優れた速度及びサービスを提供する。現在、5G世代の通信ネットワークでは、ユーザの私生活のセキュリティを強化するための対策、特に端末を5Gネットワークで認証する時に、加入者の識別子が不正に傍受されることに対抗するための対策が導入されている。
【0006】
5Gは、特に、加入者の識別子(SUPI:「サブスクリプション パーマネント アイデンティファー(Subscription Permanent Identifier)」の略)を暗号化するために、組み込み加入者識別モジュール(例えば、SIM、「組み込みSIM(embedded SIM)」の略である「eSIM」カードタイプ等)によって実施される暗号処理イベントを提供する。SUPI識別子は、組み込み加入者識別モジュールから関連する5Gネットワークに暗号化された形式で送信される。
【0007】
これを実現するために、組み込み加入者識別モジュールは、SUPI識別子及び暗号鍵から「SUCI」(「サブスクリプション コンシールド アイデンティファー(Subscription Concealed Identifier)」の略)と呼ばれる暗号化された識別子を生成できる暗号処理の手段を含む。暗号化された識別子SUCIを提供することによって、端末クライアントは、ネットワークで安全に認証され、その暗号化された識別子SUCIに代わる仮識別子を受信でき、ネットワークで繰り返し認証されることができる。
【0008】
図1は、ユーザURの通信端末2を概略的に示し、この端末は、アクセスポイント4(又は例えば、中継アンテナ)を介して、5Gモバイルネットワーク(表記6)と連携できる。この例において、端末は、アクセスポイント4から届く要求RQ1の受信(S2)に応答し、組み込み加入者識別モジュール3を利用して暗号化された識別子SUCIを生成する(S4)。暗号化された識別子SUCIは、メッセージMSG1でアクセスポイント4に送信され(S6)、アクセスポイント4は、SUCIから、ネットワーク6が加入者URに関連するネットワークであることを決定する(S8)。アクセスポイント4は、通常、識別子SUCI自体を復号化するために必要な手段を有さないことに留意すべきである。
【0009】
アクセスポイント4は、暗号化された識別子SUCIを(他の関連情報とともに)ネットワーク6に送信し(S10)、その後ネットワーク6は、暗号化された識別子SUCIを復号化して(S12)、そこから加入者のSUPI識別子を推定する。ネットワーク6及び加入者識別モジュール3は共に、相互認証の手順を実行し、セキュアチャネルを設定する(ステップS14)。このステップS14が完了すると、ネットワーク6は、SUPI識別子を復号化された形式でアクセスポイント4に送信する(S16)。アクセスポイントは、SUPIから、「5G-GUTI」と呼ばれる仮識別子を決定し(S18)、これを加入者URのSUPI識別子とともに記録する。また、アクセスポイント4は、仮識別子5G-GUTIを組み込み加入者識別モジュール3に送信し(S20)、組み込み加入者識別モジュール3は、仮識別子5G-GUTIをローカルに記録する(S22)。
【0010】
この後、組み込み加入者識別モジュール3は、ネットワーク6がアクセスポイント4に送信するその仮識別子5G-GUTIによって、ネットワーク6で繰り返し認証されることができる。このようにして、ユーザ識別子SUPIは、端末2とアクセスポイント4との間で復号化された形式で通信されることは決してないので、通信を監視する悪意のある第三者によるSUPIの不正な傍受をすべて防ぐことができる。また、アクセスポイント4は、組み込み加入者識別モジュール3に割り当てられた仮識別子5G-GUTIを繰り返し更新して(S24)、端末2が悪意のある第三者によって追跡されるリスクを制限できる。
【0011】
図2に示されるように、その後、組み込み加入者識別モジュール3は、その現在の仮識別子5G-GUTIをアクセスポイント4に送信し(S30)、その後アクセスポイント4がそのデータベースを参照して関連するSUPI識別子を取得する(S32)ことによって、再び認証されることができる。次に、アクセスポイント4は、そのデータベースから取得されたSUPI識別子をネットワーク6に送信する(S34)。ネットワーク6は、今度は、SUPIから、認証のための新しい手順を実行し、セキュアチャネルを設定できる(S36)。
【0012】
前述のような方法によって、クライアント端末を5Gネットワークで認証する時に加入者のSUPI識別子が保護され、それにより悪意のある第三者による不正な傍受のリスクが制限されている。したがって、ユーザの個人情報及び私生活がより保護される。
【0013】
しかし、識別子SUPIを暗号化するために必要な暗号処理イベントは、リソース及び処理時間をかなり費やすので、クライアント端末が5Gネットワークにアクセスして関連サービスを利用する際のパフォーマンスが低下してしまうという問題がある。
【0014】
5Gネットワークにおいてか、又は他のタイプの通信ネットワークにおいてかに関わらず、加入者の識別子の高レベルのセキュリティと、通信ネットワークへの効果的なアクセス(迅速でセキュアな認証)との間の良好な妥協点を得るための満足のいく暗号ソリューションは、現在ない。より一般的には、暗号化のセキュリティレベルと暗号化のパフォーマンス(リソース、処理時間等の消費)との間の良好な妥協点を提供しながら、任意のデータを(これがSUCI識別子であるか、別の形態の他のデータであるかに関わらず)暗号化又は復号化するための効果的な暗号処理が必要とされている。
【発明の概要】
【0015】
この目的のために、本発明は、データの暗号化を可能にする、第1装置によって実行される第1暗号処理方法に関する。より詳細には、本発明の目的は、第2システムと連携する装置によって実行される第1暗号処理方法であって、前記方法は、
・初期化段階であって、
仮生成元点G’を決定するステップであって、前記仮生成元点G’は、G’=[d’]Gのような第1積に等しく、ここで、d’は、Nビットの第1秘密鍵を形成する第1ランダムスカラーであり、Gは、楕円曲線の生成元点である、ステップと、
仮鍵Q’を決定するステップであって、前記仮鍵Q’は、Q’=[d’]Qのような第2積に等しく、ここで、Qは、前記第2システムに関連する公開鍵を形成する前記楕円曲線の点である、ステップと、
を含む初期化段階と、
・暗号化段階であって、
Mビットの第2秘密鍵kを形成する第2ランダムスカラーを決定するステップであって、M<Nである、ステップと、
前記装置に関連する公開鍵Pを計算するステップであって、前記公開鍵Pは、P=[k]G’のような第3積に等しい、ステップと、
前記楕円曲線の中間点SP1の少なくとも1つの座標を計算するステップであって、前記中間点SP1は、SP1=[k]Q’のような第4積に等しい、計算するステップと、
前記中間点SP1の少なくとも1つの前記座標に鍵導出関数を適用することによって、少なくとも1つの鍵を導出するステップと、
暗号化されたデータを取得するために、前記導出において導出された少なくとも1つの前記鍵を用いてデータを暗号化するステップと、
前記第2システムによる復号化のために、前記公開鍵P及び前記暗号化されたデータを前記第2システムに送信するステップと、
を含む暗号化段階と、
を含む。
【0016】
本発明は、楕円曲線に基づく第1暗号処理(例えば、Diffie-Hellman型)を実行し、楕円曲線は、実現されるセキュリティレベルと、リソース及び処理時間に必要な消費との間の良好な妥協点を実現することによって、データを安全に暗号化するための共有秘密(shared secret)(又は共通秘密(common secret))を生成する。これを実現するために、生成元点G及び公開鍵Qは、公開鍵P及び中間点SP1(又はSP1の少なくとも1つの座標)をそれぞれ計算するために使用され、初期化段階において取得される仮生成元点G’及び仮鍵Q’にそれぞれ置き換えられ、これらのパラメータG’及びQ’は、いずれもNビットでコードされた同一の秘密鍵d’に依存する。
【0017】
仮生成元点G’及び仮公開鍵Q’を決定するために、Nビットでコードされた第1秘密鍵d’を使用することによって、特に高いセキュリティレベルが実現される。仮生成元点G’及び仮公開鍵Q’は、暗号化段階における公開鍵P及び中間点SP1の座標の計算の際に登場し、これらの計算のセキュリティを強化する。このようにして、公開鍵P及び中間点SP1の座標の値は、(Mビットでコードされた)第2秘密鍵kだけでなく、(Nビットでコードされた)第1秘密鍵d’にも依存する。
【0018】
また、公開鍵P及び中間点SP1の座標の計算を2つの段階に分けることによって、装置が公開鍵P及び中間点SP1の座標を決定するために必要なリソースを制限すること、又は少なくともこれらのリソースの管理を改善することが可能である。初期化段階において、装置は、仮生成元点G’及び/又は仮鍵Q’を外部から取得することができ、又は、適切なタイミングで、例えば、暗号化段階の上流で、例えば、非アクティブの期間において、若しくは少なくとも必要なリソースが利用可能なときに、仮生成元点G’及び/又は仮鍵Q’を計算によって決定することができる。したがって、暗号化されるべきデータに関係なく、暗号化段階が開始されたときにすぐに使用できる仮生成元点G’及び仮鍵Q’を、初期化段階において事前に決定することによって、データの暗号化の速度を高速化することができる。
【0019】
本発明は、暗号化段階を開始する前の初期化段階において、時間及びリソースの観点から最も消費が多い暗号計算を実行する。第1秘密鍵d’は、第2秘密鍵kよりも多くのビットでコードされているので、初期化段階では、最も消費が多い計算が集中する。したがって、暗号化段階における計算処理は、第3積及び第4積で登場するkが分解に係るより小さい方である(is lower in resolution)分、消費が少なくなる。
【0020】
一実施形態によれば、初期化段階において、仮生成元点G’及び仮鍵Q’は、装置の外部から受信される。仮生成元点G’及び仮鍵Q’は、暗号化段階において後で取得して使用できるように、装置、例えば、装置の不揮発性メモリに登録することができる。したがって、この実施形態によれば、装置は、仮生成元点G’及び仮鍵Q’を計算する必要がない。
【0021】
特定の例によれば、本方法は、(前記データの前記暗号化ステップの前に)暗号化されるべきデータを取得するステップを含む。これらのデータは、任意の方法で取得又は決定することができる。特定の例によれば、秘密鍵kの決定、公開鍵Pの計算、及び中間点SP1の少なくとも1つの座標の計算、若しくは、少なくとも1つの鍵の前記導出は、事前に、すなわち、暗号化されるべきデータを取得するステップの前に、実行される。
【0022】
一実施形態によれば、前記公開鍵Pによって、前記第2システムが、前記第2システムの秘密鍵(表記a)を形成するスカラーから、前記中間点SP1の少なくとも1つの前記座標を再計算することが可能となり、ここで、SP1=[a]Pであり、
前記中間点SP1の少なくとも1つの前記座標によって、前記第2システムが前記暗号化されたデータを復号化できる。
【0023】
一実施形態によれば、N=256ビットであり、M=32ビット、48ビット、64ビット又は128ビットである。
【0024】
一実施形態によれば、前記初期化段階は、
Nビットの前記第1秘密鍵d’を形成する前記第1ランダムスカラーを決定するステップと、
前記仮生成元点G’を計算するステップであって、前記仮生成元点G’は、G’=[d’]Gのような前記第1積に等しい、ステップと、
仮鍵Q’を計算するステップであって、前記仮鍵Q’は、Q’=[d’]Qのような前記第2積に等しい、ステップと、
を含む。
【0025】
一実施形態によれば、前記方法は、前記初期化段階の後に、前記仮生成元G’及び前記仮鍵Q’を前記装置の不揮発性メモリに登録するステップを含む。
【0026】
一実施形態によれば、前記暗号化段階は、少なくとも1つのイベントの検出時に開始され、前記初期化段階は、前記検出の前に実行される。
【0027】
一実施形態によれば、少なくとも1つの鍵の前記導出において、前記鍵導出関数を前記中間点SP1の少なくとも1つの前記座標に適用することによって、暗号化鍵、初期化ベクトル、及びMAC鍵が生成され、
前記暗号化は、
・前記暗号化鍵及び前記初期化ベクトルから前記データを暗号化する暗号化関数を適用するステップと、
・前記暗号化されたデータ及び前記MAC鍵から認証コードMACを計算するステップと、
を含み、
前記公開鍵P及び前記暗号化されたデータとは別に、前記装置は、前記認証コードMAC(MC1)を前記第2システムに送信して、前記第2システムが前記暗号化されたデータの完全性を検証することを可能にする。
【0028】
一実施形態によれば、前記装置は、前記初期化段階において決定された前記仮生成元点G’及び前記仮鍵Q’から、前記暗号化段階の少なくとも2つの連続した繰り返し処理を実行して、復号化のために前記第2システムに送信されるデータを暗号化する。
【0029】
言い換えれば、初期化段階において決定された同一の仮生成元点G’及び同一の仮鍵Q’を用いることによって、前記暗号化段階の複数の繰り返し処理を実行することが可能であり、データの暗号化を実行するためのリソース及び処理時間に必要な消費をさらに削減することができる。したがって、本発明では、各暗号化段階の前に初期化段階を実行する必要がないので、前記装置によって実行される処理は、より一層高速化することができる。
【0030】
一実施形態によれば、前記暗号化段階の少なくとも1つの繰り返し処理について、現在の前記繰り返し処理において使用される前記仮生成元G’及び前記仮鍵Q’は、前記暗号化段階の先行する前記繰り返し処理において計算された前記公開鍵P及び前記中間点SP1にそれぞれ等しい。
【0031】
一実施形態によれば、前記初期化段階において決定された前記仮生成元点G’及び前記仮鍵Q’から、前記装置が、前記暗号化段階の少なくともX回の連続した繰り返し処理を実行して、暗号化されたデータを前記第2システムに送信したということが検出される時、前記方法はまた、
・前記仮生成元G’及び前記仮鍵Q’を、前記初期化段階の先行する前記繰り返し処理において決定された前記第1ランダム鍵とは異なる新たな第1秘密ランダム鍵d’から更新するために、前記初期化段階の新たな繰り返し処理を実行するステップと、
更新された前記仮生成元G’及び更新された前記仮鍵Q’は、前記暗号化段階の少なくとも1つの後の繰り返し処理において使用されて、前記第2システムに新たな暗号化されたデータを送信するステップと、
を含み、
Xは、X≧1であるような整数である。
【0032】
したがって、装置は、良好な処理パフォーマンスを維持しつつ、パラメータG’及びQ’を定期的に更新して、セキュリティを強化することができ、例えば、装置をネットワークで複数回認証することができる。特に、パラメータG’及びQ’(したがって、第1秘密鍵d’)を定期的に更新することによって、装置が通信ネットワークで組み込み加入者識別モジュールとして登録されている間に、悪意のある第三者が装置を追跡することを防ぐことができる。実際には、暗号化段階又は本方法の様々な繰り返し処理において交換された公開鍵Pに基づいて、第三者がユーザを追跡することは困難である。この理由は、これらの鍵が、この秘密鍵kによってのみ区別されるのではなく、この秘密鍵k及び仮生成元点G’によって区別されるからである。
【0033】
一実施形態によれば、第1方法は、
・前記第2システムは、通信ネットワークであり、
・前記装置は、端末を前記通信ネットワークで認証するための、前記端末の組み込み加入者識別モジュールであり、
・前記データは、前記組み込み加入者識別モジュールの識別子を含み、
・前記暗号化において、前記識別子は、前記導出において導出された少なくとも1つの前記鍵に基づいて暗号化され、暗号化された識別子を取得し、
・前記送信において、前記組み込み加入者識別モジュールが前記通信ネットワークで認証されるようにするために、前記公開鍵P及び前記暗号化された識別子は、前記通信ネットワークのアクセスポイントに送信される、
のようなものである。
【0034】
一実施形態によれば、前記暗号化段階は、少なくとも1つのイベントの検出時に開始され、前記初期化段階は、前記検出の前に実行され、
少なくとも1つの前記イベントは、前記通信ネットワークの前記アクセスポイントから、前記通信ネットワークで前記組み込み加入者識別モジュールを登録するための要求を受信するステップを含む。
【0035】
一実施形態によれば、通信ネットワークは、5Gモバイルネットワークであり、組み込み加入者識別モジュールの識別子は、SUPI識別子である。
【0036】
本発明は、特に、加入者のSUPI識別子を暗号化するために組み込み加入者識別モジュールによって実行される暗号処理イベントを改善し、また、達成されるセキュリティレベルと、リソース及び処理時間に必要な消費との間の良好な妥協点を実現する。
【0037】
特定の実施形態では、第1暗号処理方法の別のステップは、コンピュータプログラム命令によって決定される。
【0038】
結果として、本発明の別の目的は、データキャリア(又は記録媒体)上のコンピュータプログラムでもあり、このプログラムは、暗号処理装置、又はより一般的には、コンピュータ(又は、例えば、組み込み加入者識別モジュール等のプロセッサを含む任意の装置)で実行される可能性が高く、このプログラムは、本明細書で定義されているような第1暗号処理方法のステップを実行するように構成された命令を含む。
【0039】
本発明の別の目的は、コンピュータによって読み取り可能な記録媒体(又はデータキャリア)であって、前述のようなコンピュータプログラムの命令を含む。
【0040】
本発明の別の目的は、本発明の第1暗号処理方法を実行するように構成された、対応する第1暗号処理装置である。
【0041】
本発明は、特に、第2システムと連携できる暗号処理装置に関し、
前記暗号処理装置は、
・初期化段階を実行するように構成された初期化モジュールであって、
前記初期化段階は、
仮生成元点G’を決定するステップであって、前記仮生成元点G’は、G’=[d’]Gのような第1積に等しく、ここで、d’は、Nビットの第1秘密鍵を形成する第1ランダムスカラーであり、Gは、楕円曲線の生成元点である、ステップと、
仮鍵Q’を決定するステップであって、前記仮鍵Q’は、Q’=[d’]Qのような第2積に等しく、ここで、Qは、前記第2システムに関連する公開鍵を形成する前記楕円曲線の点である、ステップと、
を含む初期化モジュールと、
・暗号化段階を実行するように構成された暗号化モジュールであって、
前記暗号化段階は、
Mビットの第2秘密鍵kを形成する第2ランダムスカラーを決定するステップであって、M<Nである、ステップと、
前記装置に関連する公開鍵Pを計算するステップであって、前記公開鍵Pは、P=[k]G’のような第3積に等しい、ステップと、
前記楕円曲線の中間点SP1の少なくとも1つの座標を計算するステップであって、前記中間点SP1は、SP1=[k]Q’のような第4積に等しい、ステップと、
前記中間点SP1の少なくとも1つの前記座標に鍵導出関数を適用することによって、少なくとも1つの鍵を導出するステップと、
暗号化されたデータを取得するために、前記導出において導出された少なくとも1つの前記鍵に基づきデータを暗号化するステップと、
前記第2システムによる復号化のために、前記公開鍵P及び前記暗号化されたデータを前記第2システムに送信するステップと、
を含む暗号化モジュールと、
を含む。
【0042】
特定の実施形態によれば、第1装置は、初期化モジュールによって決定された仮生成元G’及び仮鍵Q’を格納するように構成されたメモリを含む。
【0043】
本発明の第1暗号処理方法に関連して前述した異なる実施形態(及び後述する実施形態)、及び関連する利点は、本発明の第1暗号処理装置にも同様に適用されることに留意すべきである。
【0044】
第1暗号処理方法の各ステップについて、本発明の第1暗号処理装置は、前記ステップを実行するように構成された対応するモジュールを含むことができる。
【0045】
また、本発明は、暗号化されたデータの復号化にも同様に適用される。本発明の目的は、特に、第2暗号処理装置によって実行される第2暗号処理方法であり、その第2暗号処理装置は、暗号化されたデータを、先に定義された(及び後述する)第1方法と同様の原理に基づいて復号化することを可能にする。
【0046】
本発明の特定の目的は、第2システムと連携する装置によって実行される第2暗号処理方法であり、前記方法は、
・初期化段階であって、
仮生成元点G’を決定するステップであって、前記仮生成元点G’は、G’=[d’]Gのような第1積に等しく、ここで、d’は、Nビットの第1秘密鍵を形成する第1ランダムスカラーであり、Gは、楕円曲線の生成元点である、ステップと、
仮鍵Q’を決定するステップであって、前記仮鍵Q’は、Q’=[d’]Qのような第2積に等しく、ここで、Qは、前記第2システムに関連する公開鍵を形成する前記楕円曲線の点である、ステップと、
を含む初期化段階と、
・復号化段階であって、
Mビットの第2秘密鍵kを形成する第2ランダムスカラーを決定するステップであって、M<Nである、ステップと、
前記装置に関連する公開鍵Pを計算するステップであって、前記公開鍵Pは、P=[k]G’のような第3積に等しい、ステップと、
前記公開鍵Pを第2システムに送信するステップと、
前記第2システムから送信された(originating from)暗号化されたデータを受信するステップと、
前記楕円曲線の中間点SP1の少なくとも1つの座標を計算するステップであって、前記中間点SP1は、SP1=[k]Q’のような第4積に等しい、ステップと、
前記中間点SP1の少なくとも1つの前記座標に鍵導出関数を適用することによって、少なくとも1つの鍵を導出するステップと、
復号化されたデータを取得するために、前記導出において導出された少なくとも1つの前記鍵に基づき前記暗号化されたデータを復号化するステップと、
を含む復号化段階と、
を含む。
【0047】
本発明の第1暗号処理方法に関連して前述した異なる実施形態(及び後述する実施形態)、及び関連する利点は、本発明の第2暗号処理方法にも同様に適用されることに留意すべきである。
【0048】
より具体的には、一実施形態によれば、初期化段階において、仮生成元点G’及び仮鍵Q’は、装置の外部から受信される。仮生成元点G’及び仮鍵Q’は、暗号化段階において後で取得して使用できるように、装置、例えば、装置の不揮発性メモリに登録することもできる。したがって、この実施形態によれば、装置は、仮生成元点G’及び仮鍵Q’を計算する必要がない。
【0049】
特定の例によれば、中間点SP1の少なくとも1つの座標の計算、又は、少なくとも1つの鍵の前記導出は、事前に、すなわち、暗号化されたデータを受信するステップの前に、実行される。
【0050】
特定の実施形態によれば、公開鍵Pは、第2システムが第2システムの秘密鍵(表記a)を形成するスカラーに基づいて前記中間点SP1の少なくとも1つの前記座標を計算することを可能にし、ここで、SP1=[a]Pであり、
前記中間点SP1の少なくとも1つの前記座標は、前記第2システムがデータを暗号化して前記暗号化されたデータを取得することを可能にする。
【0051】
特定の実施形態によれば、N=256ビットであり、M=32ビット、48ビット、64ビット又は128ビットである。
【0052】
特定の実施形態によれば、初期化段階は、
Nビットの前記第1秘密鍵d’を形成する第1ランダムスカラーを決定するステップと、
仮生成元点G’を計算するステップであって、仮生成元点G’は、G’=[d’]Gのような第1積に等しい、ステップと、
仮鍵Q’を計算するステップであって、仮鍵Q’は、Q’=[d’]Qのような第2積に等しい、ステップと、
を含む。
【0053】
特定の実施形態によれば、前記方法は、初期化段階の後に、仮生成元G’及び仮鍵Q’を前記装置の不揮発性メモリに登録するステップを含む。
【0054】
特定の実施形態によれば、復号化段階は、少なくとも1つのイベントの検出時に開始され、前記初期化段階は、前記検出の前に実行される。
【0055】
特定の実施形態によれば、少なくとも1つの鍵の前記導出において、鍵導出関数を中間点SP1の少なくとも1つの前記座標に適用することによって、復号化鍵、初期化ベクトル、及びMAC鍵が生成され、
前記復号化は、
・前記復号化鍵及び前記初期化ベクトルに基づいて前記暗号化されたデータを復号化する復号化関数を適用するステップと、
・前記暗号化されたデータ及び前記MAC鍵に基づいて認証コードMACを計算して、受信した前記暗号化されたデータの完全性を検証するステップと、
を含む。
【0056】
特定の実施形態によれば、本装置は、前記第2システムから受信した前記暗号化されたデータを復号化するために、前記初期化段階において決定された前記仮生成元点G’及び前記仮鍵Q’に基づいて、前記復号化段階の少なくとも2つの連続した繰り返し処理を実行する。
【0057】
特定の実施形態によれば、復号化段階の少なくとも1つの繰り返し処理について、現在の繰り返し処理において使用される仮生成元G’及び仮鍵Q’は、復号化段階の先行する繰り返し処理において計算された公開鍵P及び中間点SP1にそれぞれ等しい。
【0058】
特定の実施形態によれば、初期化段階において決定された前記仮生成元点G’及び前記仮鍵Q’から、前記装置が、前記復号化段階の少なくともX回の連続した繰り返し処理を実行して、前記第2システムから受信した暗号化されたデータを復号化したということが検出される時、前記方法はまた、
・前記仮生成元G’及び前記仮鍵Q’を、前記初期化段階の先行する繰り返し処理において決定された第1ランダム鍵とは異なる新たな第1秘密ランダム鍵d’に基づいて更新するために、前記初期化段階の新たな繰り返し処理を実行するステップと、
・更新された前記仮生成元G’及び更新された前記仮鍵Q’は、前記復号化段階の少なくとも1つの後の繰り返し処理において使用されて、前記第2システムから受信した新たな暗号化されたデータを復号化するステップと、
を含み、
Xは、X≧1であるような整数である。
【0059】
結果として、本発明の別の目的は、データキャリア(又は記録媒体)上のコンピュータプログラムであり、このプログラムは、暗号処理装置、又はより一般的には、コンピュータ(又は、例えば、組み込み加入者識別モジュール等のプロセッサを含む任意の装置)で実行される可能性が高く、このプログラムは、本明細書で定義されているような第2暗号処理方法のステップを実行するように構成された命令を含む。
【0060】
本発明の別の目的は、コンピュータによって読み取り可能な記録媒体(又はデータキャリア)であって、前述のようなコンピュータプログラムの命令を含む。
【0061】
本開示で述べているコンピュータプログラムは、任意のプログラミング言語を用いることができ、ソースコード、オブジェクトコード、又は部分的にコンパイルされた形式等のソースコードとオブジェクトコードとの間の中間コードの形式、又は他の任意の好ましい形式であってもよいことに留意すべきである。
【0062】
本発明の別の目的は、組み込み加入者識別モジュールによって、より一般的にはコンピュータによって読み取り可能なデータキャリア(又は記録媒体)であって、本明細書で定義されているようなコンピュータプログラムの命令を含む。
【0063】
また、本開示で述べている登録媒体は、プログラムを格納できる任意のエンティティ又は装置であってもよい。例えば、媒体は、書き換え可能な不揮発性メモリ若しくはROM、例えば、CD ROM、マイクロ電子回路のROM、又は磁気登録手段、例えば、ディスク(フロッピーディスク)、若しくはハードディスクなどの格納手段を含んでもよい。
【0064】
一方、データキャリアは、電気信号又は光信号のように、電気ケーブル、光ケーブル、無線、又はその他の手段を介して伝達できる、伝達可能な媒体であってもよい。本発明に係るプログラムは、特に、インターネットタイプのネットワークを介してダウンロードされてもよい。
【0065】
または、データキャリアは、プログラムが組み込まれた集積回路であってもよく、この回路は、対象の方法を実行するように、又は実行する際に使用されるように構成されている。
【0066】
本発明の別の目的は、本発明の第2暗号処理方法を実行するように構成された、対応する第2暗号処理装置である。
【0067】
本発明は、特に、第2システムと連携できる暗号処理装置に関し、
前記暗号処理装置は、
・初期化段階を実行するように構成された初期化モジュールであって、
前記初期化段階は、
仮生成元点G’を決定するステップであって、前記仮生成元点G’は、G’=[d’]Gのような第1積に等しく、ここで、d’は、Nビットの第1秘密鍵を形成する第1ランダムスカラーであり、Gは、楕円曲線の生成元点である、ステップと、
仮鍵Q’を決定するステップであって、前記仮鍵Q’は、Q’=[d’]Qのような第2積に等しく、ここで、Qは、前記第2システムに関連する公開鍵を形成する前記楕円曲線の点である、ステップと、
を含む初期化モジュールと、
・復号化段階を実行するように構成された復号化モジュールであって、
前記復号化段階は、
Mビットの第2秘密鍵kを形成する第2ランダムスカラーを決定するステップであって、M<Nである、ステップと、
前記装置に関連する公開鍵Pを計算するステップであって、前記公開鍵Pは、P=[k]G’のような第3積に等しい、ステップと、
前記公開鍵Pを第2システムに送信するステップと、
前記第2システムから送信された暗号化されたデータを受信するステップと、
前記楕円曲線の中間点SP1の少なくとも1つの座標を計算するステップであって、前記中間点SP1は、SP1=[k]Q’のような第4積に等しい、ステップと、
前記中間点SP1の少なくとも1つの前記座標に鍵導出関数を適用することによって、少なくとも1つの鍵を導出するステップと、
復号化されたデータを取得するために、前記導出において導出された少なくとも1つの前記鍵に基づき前記暗号化されたデータを復号化するステップと、
を含む復号化モジュールと、
を含む。
【0068】
特定の実施形態によれば、第2装置は、初期化モジュールによって決定された仮生成元G’及び仮鍵Q’を格納するように構成されたメモリを含む。
【0069】
本発明の第2暗号処理方法に関連して前述した異なる実施形態(及び後述する実施形態)、及び関連する利点は、本発明の第2暗号処理装置にも同様に適用されることに留意すべきである。
【0070】
第2暗号処理方法の各ステップについて、本発明の第2暗号処理装置は、前記ステップを実行するように構成された対応するモジュールを含むことができる。
【0071】
一実施形態によれば、本発明は、ソフトウェアコンポーネント及び/又はハードウェアコンポーネントによって実行される。この観点から、「モジュール」の用語は、本明細書において、ソフトウェアコンポーネント及びハードウェアコンポーネントの両方、又はハードウェアコンポーネント及びソフトウェアコンポーネントのセットに対応し得る。
【0072】
ソフトウェアコンポーネントとは、1つ以上のコンピュータプログラム、プログラムの1つ以上のサブプログラム、又は、より一般的には、対象のモジュールについて後述されるものに応じた機能若しくは機能のセットを実行できるプログラム若しくはソフトウェアの任意の要素に対応する。同様に、ハードウェアコンポーネントは、対象のモジュールについて本明細書に説明されるものに応じた機能又は機能のセットを実行できるハードウェアアセンブリ(又はハードウェア)の任意の要素に対応する。ハードウェアコンポーネントは、プログラム可能なハードウェアコンポーネントであってもよく、又はソフトウェアを実行するための統合されたプロセッサを有していてもよく、ハードウェアコンポーネントは、例えば、集積回路、スマートカード、メモリカード、ファームウェアを実行するための電子基盤等である。
【図面の簡単な説明】
【0073】
本発明の他の特徴及び利点は、非限定的な特徴を有する実施形態を示す添付の図面を参照した以下の説明によって表される。
【0074】
【
図1】
図1は、5Gネットワークでの通信端末の従来の認証処理を概略的に示すダイアグラムである。
【
図2】
図2は、5Gネットワークでの通信端末の従来の認証更新処理を概略的に示すダイアグラムである。
【
図3】
図3は、5Gネットワークで認証するための加入者の識別子の暗号化
方法のステップを図式化して示す。
【
図4】
図4は、5Gネットワークによって実行される加入者の識別子の復号化
方法のステップを図式化して示す。
【
図5】
図5は、本発明の特定の実施形態に係り、ユーザ通信端末を通信ネットワークで認証するための暗号処理装置を示す。
【
図6】
図6は、本発明の特定の実施形態に係り、暗号処理装置によって実行される機能モジュールを示す。
【
図7-1】
図7-1は、本発明の特定の実施形態に係り、暗号処理装置によって実行される暗号
方法のステップを、図式化して示す。
【
図7-2】
図7-2は、本発明の特定の実施形態に係り、暗号処理装置によって実行される暗号
方法のステップを、図式化して示す。
【
図8】
図8は、本発明の特定の実施形態に係り、通信ネットワークによって実行される暗号
方法のステップを、図式化して示す。
【
図9】
図9は、本発明の特定の実施形態に係り、暗号処理装置によって実行される暗号
方法のステップを、図式化して示す。
【
図10】
図10は、本発明の特定の実施形態に係り、暗号処理装置によって実行される暗号
方法のステップを、図式化して示す。
【
図11】
図11は、本発明の特定の実施形態に係り、暗号処理装置によって実行される暗号
方法のステップを、図式化して示す。
【発明を実施するための形態】
【0075】
本発明は、データを暗号化又は復号化するために、暗号処理イベントを実行することを提案し、また、セキュリティレベルと処理の消費との間の良好な妥協点を実現することを提案する。本発明の目的は、特に、排他的ではないが、通信ネットワークでユーザを認証するための加入者の識別子を暗号化することである(例えば、5Gネットワークで認証されることを考慮してSUPI識別子を暗号化すること)。しかし、本発明は、より一般的には、任意のデータが通信ネットワークへの加入者の識別子であるか、又は他の適切なデータであるかに関わらず、任意のデータを暗号化又は復号化する。
【0076】
特に、本発明は、暗号化されたデータを装置から第三者のエンティティに送信すること、又は暗号化された形で受信した暗号化されたデータを復号化することのいずれかを考慮して、共通秘密(common secret)(又は共有秘密(shared secret))を設定する。
【0077】
本発明は、特に、暗号処理装置(後に「装置」又は「処理装置」とも呼ばれる)によって実行される暗号処理方法を提供する。この処理は、本装置が楕円曲線の仮生成元点G’及び仮鍵Q’を決定する初期化段階と、装置が生成元点G’に基づいて公開鍵Pを決定し、仮鍵Q’に基づいてデータを暗号化する暗号化段階とを含む。したがって、本装置は、公開鍵P及び暗号化されたデータを「第2システム」と呼ばれるシステムに送信できる。
【0078】
その異なる実施形態によれば、本発明は、より詳細には、第2システムと連携する装置によって実行される暗号処理方法を提供し、前記方法は、
・初期化段階であって、
仮生成元点G’を決定するステップであって、仮生成元点G’は、G’=[d’]Gのような第1積に等しく、ここで、d’は、Nビットの第1秘密鍵を形成する第1ランダムスカラーであり、Gは、楕円曲線の生成元点である、ステップと、
仮鍵Q’を決定するステップであって、仮鍵Q’は、Q’=[d’]Qのような第2積に等しく、ここで、Qは、前記第2システムに関連する公開鍵を形成する前記楕円曲線の点である、ステップと、
を含む初期化段階と、
・暗号化段階であって、
Mビットの第2秘密鍵kを形成する第2ランダムスカラーを決定するステップであって、M<Nである、ステップと、
前記装置に関連する公開鍵Pを計算するステップであって、公開鍵Pは、P=[k]G’のような第3積に等しい、ステップと、
前記楕円曲線の中間点SP1の少なくとも1つの座標を計算するステップであって、中間点SP1は、SP1=[k]Q’のような第4積に等しい、計算するステップと、
前記中間点SP1の少なくとも1つの前記座標に鍵導出関数を適用することによって、少なくとも1つの鍵を導出するステップと、
暗号化されたデータを取得するために、前記導出において導出された少なくとも1つの前記鍵に基づいてデータを暗号化するステップと、
前記第2システムによる復号化のために、前記公開鍵P及び暗号化されたデータを前記第2システムに送信するステップと、
を含む暗号化段階と、
を含む。
【0079】
本発明の別の目的は、対応する装置及び対応するコンピュータプログラムである。
【0080】
本発明の別の目的は、本発明の暗号処理方法と同様の原理に基づく、暗号化されたデータを復号化するための方法である。本発明の別の目的は、対応する装置及び対応するコンピュータプログラムである。
【0081】
本発明の他の側面及び利点は、前述の図面を参照して後述する実施形態から説明される。
【0082】
本明細書では、本発明の例示的な実施形態を、通信端末のユーザを5Gタイプの通信ネットワークで認証するように構成された組み込み加入者識別モジュールの形態で説明する。これを実現するために、組み込み加入者識別モジュール(例えば、SIMカード又はeSIMモジュール)は、暗号処理を実行して、ユーザのSUPI識別子を暗号化する。
【0083】
SUPI識別子は、(例えば、15桁の)10進数の連鎖の形式であってもよいが、様々な実施があり得る。特定の例によれば、SUPI識別子は、
・「モバイル カントリー コード(Mobile Country Code)」(MCC)を表す3桁の数字と、
・オペレータネットワークを識別する「モバイル ネットワーク コード(Mobile Network Code)」(MNC)を構成する2桁又は3桁の他の数字と、
・オペレータネットワークのユーザを示す識別子MSIN(「サブスクライバー アイデンティフィケーション ナンバー(Subscriber identification Number)」の略)を構成する残りの数字(9桁又は10桁)と、
を連続して含む。
【0084】
しかし、本発明は、この特定の例に限定されるものではなく、より一般的に、本発明の暗号処理装置による任意のデータの暗号化又は復号化に適用されることに留意すべきである。暗号化されるべき(又は復号化されるべき)データは、例えば、(5Gタイプ又はその他の)通信ネットワークの加入者の識別子、又は個人データ若しくは機密性の高いデータ等の他のデータであってもよく、又はそれらを含んでもよい。本発明は、通信ネットワークでの認証以外の形態でのデータの暗号化又は復号化にも適用される。
【0085】
通信端末に組み込まれる加入者識別モジュールは、いくつかの形態、特に様々な形式(フォーマット)の要素を取り得ることに留意すべきである。このようにして、組み込み加入者識別モジュールは、SIMカード(又は「ユニバーサル インテグレイテッド サーキット カード(Universal Integrated Circuit Card)」の略であるUICC)又はeUICCとも呼ばれるeSIMカードの形態をとることができる。セキュアエレメントの別の例としては、eSE(「組み込みセキュアエレメント(embedded Secure Element)」の略)と呼ばれる組み込みセキュアエレメントがあり、これは、一般的にホスト端末にはんだ付けされる。したがって、本発明の原理は、異なるタイプのセキュアエレメント(例えば、SIM、eSIMカード、eUICC、SE、eSE、又はセキュアエレメントの組み合わせ)に適用可能である。
【0086】
別段の表現がない限り、いくつかの図に共通する要素又は類似するものには同一の参照番号が付されており、同一又は類似の特徴を示すので、これらの共通要素は、一般的に、簡素化のために再度説明されない。
【0087】
特定の実施形態のうちの1つにおいて後述される本発明をより明確に理解するために、SUPI識別子の暗号化
方法及び識別子SUCIの復号化
方法が、本発明の概念を実施していない特定の例に係る
図3及び
図4を参照して以下に説明される。これらの特定の例では、5Gネットワークでの加入者の認証が記載されている。
【0088】
より正確には、
図3に示されているように、通信端末2が加入者識別モジュール3を組み込み、加入者識別モジュール3が例えばSIMカードの形態をとることが想定されている。このSIM3カードは、特に、前記ネットワークのアクセスポイント4を介して、ユーザURを5G通信ネットワーク(表記6)で認証する。これを実現するために、SIM3カードは、当業者が適宜選択した楕円曲線εに基づく暗号処理イベントの各種処理を実行するための手段を含む。SIM3カードは、具体的には、楕円曲線εの生成元点G、ネットワーク6の公開鍵Q、SUPI識別子、鍵導出関数F1、及び暗号化関数F2をメモリに含む。
【0089】
生成ステップS40において、SIM3カードは、秘密鍵kを形成するスカラーをランダムに生成する。この鍵kは、Mビットでコードされていると想定され、ここで、Mは、256に等しい。次に、SIM3カードは、秘密鍵k及び生成元点Gに基づいて、SIM3カードに関連する公開鍵Pを計算する(S42)。これを実現するために、SIM3カードは、以下のようなkとGとの積を計算する(S42)。
【0090】
[数1]
P=[k]G
【0091】
本明細書において、この表記は、スカラー(「[ ]」の間に示す)と楕円曲線の点(括弧なしで示す)との積(又は乗算)を示すことに留意すべきである。したがって、同等の表記法(本文書において互換可能)によれば、公開鍵Pは、以下のようにもなる。
【0092】
[数2]
P=k・G
【0093】
次に、SIM3カードは、楕円曲線εの点SP1(中間点と呼ばれる)の少なくとも1つの座標CD1(例えば、方向x及び/又は方向yの座標)を計算する(S44)。この中間点SP1は、秘密鍵kとネットワーク6の公開鍵Qとの積に等しく、以下で示される。
【0094】
[数3]
SP1=[k]Q
【0095】
この例において、SIM3カードは、中間点SP1の単一の座標CD1(例えば、x又はy方向の座標)のみを決定することが想定されている。
【0096】
したがって、ステップS46において、SIM3カードは、鍵導出関数F1を中間点SP1の座標CD1に適用することによって、鍵(又はパラメータ)を導出する。そして、この例において、SIM3カードは、暗号化鍵KY1、初期化ベクトルV1、及びオプションとしてMAC鍵(「メッセージ認証コード(message authentication code)」)(表記KMAC1)を導出する。
【0097】
例として、関数F1は、規格「ANSI X9.63 Key Derivation Function, §5.6.3」で提供される導出関数であってもよいが、他の関数でもあり得る。
【0098】
次に、SIM3カードは、導出ステップS46において取得された鍵(又はデータ)に基づいて、SUPI識別子を暗号にする(cipher)又は暗号化して(S48)、暗号化された形式でSUPI識別子に等しい暗号化された識別子SUCIを取得できる。より正確には、SIM3カードは、加入者SUPI識別子(又は加入者SUPI識別子のサブパート)を暗号化することによって、暗号化された識別子SUCIを決定する。これを実現するために、SIM3カードは、暗号化鍵KY1及び初期化ベクトルV1を用いることによって、暗号化関数F2をSUPI識別子(又はSUPI識別子のサブパート)に適用し、暗号化された識別子SUCIを取得する。また、SIM3カードは、鍵KMAC1に基づいて、例えば、MAC計算関数を適用することによって、暗号化された識別子SUCIの認証コードMAC(表記MC1)を計算する。使用されるMAC計算関数は、例えば、SHA-256(FIPS 180-4 §6.2, August 2015)を用いたHMAC(FIPS 198-1, July 2008)であってもよい。
【0099】
例として、関数F2は、規格「SP800-38a §6.5」で提供されるようなカウンタモードの暗号化関数AES(FIPS 197)であってもよい。
【0100】
次に、そのアクセスポイント4を介して、SIM3カードは、公開鍵Pと、認証コードMAC MC1を伴う暗号化された識別子SUCIとをネットワーク6に送信する(S50)。SIM3カードは、例えば、認証コードMC1が挿入された暗号化された識別子SUCIを送信する。公開鍵Pは、例えば、暗号化された識別子SUCIに統合されるが、他の実施もあり得る。
【0101】
SUPI識別子を復号化された形式で取得するために、公開鍵Pは、ネットワーク6が識別子SUCIを復号化することを可能にし、一方、認証コードMAC MC1は、後述のように、ネットワーク6が、SIM3カードから受信した暗号化された識別子SUCIの完全性を検証することを可能にする。
【0102】
より正確には、
図4に示されているように、SIMカード3から発信され、アクセスポイント4を介して、ネットワーク6は、SIMカードの公開鍵Pと、認証コードMAC(MC1)を伴う暗号化された識別子SUCIと、を受信する(S60)。
【0103】
ネットワーク6は、前記ネットワーク6に関連する秘密鍵(表記a)、導出関数F1、及び復号化関数F3をメモリに格納する。
【0104】
計算ステップS62において、ネットワーク6は、楕円曲線εの中間点SP1の少なくとも1つの前記座標CD1を計算する。したがって、この例において、ネットワーク6は、SUPI識別子を暗号化するためにSIM3カードによって使用された単一の座標CD1(例えば、x又はy方向の座標)を計算する。これを実現するために、ネットワーク6は、中間点SP1の座標CD1を決定する。この中間点は、以下に定義するように、秘密鍵aと公開鍵Pとの積に等しい。
【0105】
[数4]
[a]P=[a][k]G=[k][a]G=[k]Q=SP1
【0106】
ここで、ネットワーク6の公開鍵Qは、以下に定義するように、秘密鍵aと生成元点Gとの積に等しい。
【0107】
[数5]
Q=[a]G
【0108】
前述のように、ネットワーク6は、その秘密鍵aをメモリに格納している。これによって、ネットワーク6は、秘密鍵kを知らなくても、計算によって中間点SP1の座標CD1を取得できる。
【0109】
次に、
図4に示すように、ネットワーク6は、SIM3カードによって以前に実行された導出ステップS46と同様に、鍵導出関数F1を適用することによって、暗号化鍵KY1、初期化ベクトルV1、及び必要に応じてMAC鍵(表記KMAC1)を導出する(S64)。これを実現するために、ネットワーク6は、S62で取得された中間点SP1の座標CD1に、鍵導出関数F1を適用する。ここでの鍵KY1は、暗号化された識別子SUCIを復号化するための復号化鍵として機能する。
【0110】
前述のように、関数F1は、例えば、規格「ANSI X9.63 Key Derivation Function, §5.6.3」で提供される導出関数であってもよいが、他の関数でもあり得る。
【0111】
検証ステップS66において、ネットワーク6は、SIM3カードからS60で受信した暗号化された識別子SUCIの完全性を検証する。これを実現するために、ネットワーク6は、S64で取得されたMAC鍵KMAC1に基づいて、SIM3カードによって提供された暗号化された識別子SUCIの認証コードMAC(表記MC2)を計算する。次に、ネットワーク6は、S68で計算された認証コードMC2と、S60でSIM3カードから受信した認証コードMC1とを比較する(S70)。認証コードMC1及びMC2が一致する場合、ネットワーク6は、このことから、S60で受信した暗号化された識別子SUCIが完全であると推定する。そうでなければ、SIM3カードによって提供された暗号化された識別子SUCIは、完全ではない。
【0112】
S60で受信した暗号化された識別子SUCIが完全である(変更されていない)ことが検出された場合、ネットワーク6は、SIM3カードによって以前に実行された暗号化ステップS48の逆の原理に従って、暗号化された識別子SUCIを復号化する(S72)。より詳細には、ネットワーク6は、SUPI識別子を復号化された形式で取得するために、導出ステップS64において取得された復号化鍵KY1及び初期化ベクトルV1に基づいて、暗号化された識別子SUCI(又は暗号化された識別子SUCIのサブパート)を解読又は復号化する(S72)。ネットワーク6は、復号化鍵KY1及び初期化ベクトルV1を用いて、特に暗号化された識別子SUCI(又は暗号化された識別子SUCIのサブパート)に対して、復号化関数F3(SIM3カードによってS48で使用された暗号化関数F2の逆関数)を適用して、SUPI識別子を取得する。
【0113】
例として、関数F3は、規格「SP800-38a §6.5」で提供されるようなカウンタモードの復号化関数AES(FIPS 197)であってもよい。
【0114】
S72で取得されたSUPI識別子に基づいて、ネットワーク6は、
図1及び
図2を参照して既に前述したように、加入者の認証(S74)を実行できる。
【0115】
前述のように、SIM3カード及びネットワーク6によってそれぞれ実行される暗号化及び復号化の暗号処理イベントによって、SIM3カードは、そのSUPI識別子を復号化された形式で提供することなく、ネットワーク6で安全に認証されることができる。これらの暗号処理イベントは、悪意のある第三者による識別子SUPIの不正な傍受に特に対抗するという点で有利である。
【0116】
しかし、これらの暗号処理イベントは、リソース及び処理時間において特に消費が多くなり得、これらの消費は、利用可能なリソース及び適用可能な時間の制約の範囲内には必ずしもない(not always being compatible with)という難点がある。より詳細には、公開鍵Pの計算(S42、
図3)(ここで、P=[k]G)及び中間点SP1の少なくとも1つの座標CD1の計算(S44)(ここで、SP1=[k]Q)は、特にリソース及び処理時間を消費する。これら2つの計算の複雑さは、特に、秘密鍵kが比較的大きなビット数、具体的には、256ビット(M=256)でコードされていることに起因しているが、Mは、他の値でもあり得る。
【0117】
したがって、本発明の目的は、特に、加入者のSUPI識別子を暗号化するために組み込み加入者識別モジュールによって実行される暗号処理イベントを改善し、また、達成されるセキュリティレベルと、リソース及び処理時間における必要な消費との間の良好な妥協点を実現することである。前述のように、本発明は、より一般的には、任意のデータの効果的でセキュアな暗号化又は復号化に適用され、これらが加入者の識別子(5G又はその他の形態におけるSUCI)であるか、又はセキュアに保護及び配布されるべき他のデータであるかに関わらず、適用される。
【0118】
次に、本発明の原理を特定の実施形態において説明する。
【0119】
図5は、アクセスポイントAP1を介して通信ネットワークHN1と連携できる、暗号処理装置DV1(以降、単に「装置」とも呼ぶ)を概略的に示す。ここでは、装置DV1は、通信端末T1内の組み込み加入者識別モジュールであり、通信ネットワークHN1は、5Gモバイルネットワークであることが想定されている。したがって、装置DV1は、ここでは特に、ネットワークHN1で加入者を認証することが意図されている。
【0120】
装置DV1は、適切な通信手段を含む通信端末T1によってネットワークHN1と通信する。
【0121】
加入者識別モジュールDV1は、様々な形態をとってもよく、例えば、SIMカード又はeSIMカード等であってもよい。装置DV1は、特に、取り外し可能なカード又は端末T1にはんだ付けされた装置であってもよい。装置DV1は、ここでは端末T1に組み込まれているが、装置DV1が端末T1に組み込まれておらず、端末T1と遠隔で連携しているような変形例もあり得る。
【0122】
この例において、端末T1は、携帯電話(スマートフォン)、タブレット等のような、5Gに対応した任意のクライアント端末であってもよい。
【0123】
より正確には、この例において、装置DV1は、少なくとも1つのプロセッサ20と、揮発性メモリ(RAM)22と、通信インターフェース24と、不揮発性メモリMR1とを含む。
【0124】
この例において、メモリMR1は、書き換え可能な不揮発性メモリ又は読み取り専用のメモリ(ROM、EEPROM、又はFLASH)であり、このメモリは、装置DV1によって読み取り可能な、特定の実施形態に係る記録媒体(又はデータキャリア)を構成し、そのメモリには、特定の実施形態に係るコンピュータプログラムPG1が登録されている。このコンピュータプログラムPG1は、特定の実施形態に係る暗号処理方法のステップを実行するための命令を含む。この方法のステップは、特定の実施形態において以下に詳細に説明される。
【0125】
メモリMR1は、特に、本発明の原理に係り暗号化されるべきデータDT1を格納できる。後述するように、ここでは、これらのデータDT1が、5Gネットワークでの加入者の認証を可能にするSUPIタイプの加入者の識別子(又はSUPIタイプの加入者の識別子のサブパート)であるか、又は少なくともそれを含むことが想定されている。しかし、他のタイプの加入者の識別子もあり得る。本発明の原理は、保護されるべき任意のデータの暗号化に適用することができる。これらのデータDT1は、装置DV1によって任意の方法で取得(受信、決定等)されてもよい。
【0126】
また、メモリMR1は、これらのデータDT1を暗号化するための本発明の暗号処理方法において使用されるデータ(又はパラメータ)を格納できる。ここで考えられる例において、メモリMR1は、特に、生成元点G、ネットワークHN1に関連する公開鍵Q、導出関数F1、及び暗号化関数F2を格納できる。また、メモリMR1は、暗号処理方法において決定されたデータ、特に仮生成元点G’及び仮鍵Q’を格納できる。これらの異なるパラメータの性質及び使用方法については、以下に詳細に説明される。
【0127】
通信インターフェース24は、装置DV1が、それが組み込まれている端末T1と連携するように構成されている。装置DV1は、端末T1を利用して、遠隔のネットワークHN1と通信する。このインターフェース24の性質は、形態に応じて変更してもよい。
【0128】
また、ネットワークHN1はメモリに、秘密鍵(表記a)、導出関数F1、及びデータDT1を暗号化するために装置DV1によって使用される暗号化関数F2の逆関数に対応する復号化関数F3を含むことにも留意すべきである。
【0129】
通信端末5G及び組み込み加入者識別モジュールに一般的に実施されているいくつかの要素は、本発明の理解に必要ではないので、意図的に省略されていることが明らかである。
【0130】
また、
図5に示す装置DV1は、単なる一実施形態を構成するものであり、本発明の範囲内で他の実施形態もあり得ることに留意すべきである。当業者は、装置DV1のいくつかの要素は、本発明の理解を容易にするためにのみここに記載されており、これらの要素は、本発明を実施するために必須ではないことを特に理解している。
【0131】
特定の実施形態に係る
図6に示すように、ここでは、コンピュータプログラムPG1によって制御されるプロセッサ20は、初期化モジュールMD1及び暗号化モジュールMD7を実施する。
【0132】
特定の例によれば、初期化モジュールMD1は、初期化段階を実行するように構成され、前記初期化段階は、
仮生成元点G’を決定するステップであって、仮生成元点G’は、G’=[d’]Gのような第1積に等しく、ここで、d’は、Nビットの第1秘密鍵を形成する第1ランダムスカラーであり、Gは、楕円曲線εの生成元点である、ステップと、
仮鍵Q’を決定するステップであって、仮鍵Q’は、Q’=[d’]Qのような第2積に等しく、ここで、Qは、前記第2システムに関連する公開鍵を形成する前記楕円曲線εの点である、ステップと、
を含む。
【0133】
使用される楕円曲線ε及び正の整数Nは、当業者であれば、検討している用途に応じて適宜選択することができる。Nの値は、特に好ましいセキュリティレベルに応じて、及びリソース及び処理時間の消費の制約に応じて選択されてもよい。後述するように、Nは、例えば、256に等しく、第1秘密鍵d’が256ビットでコードされるようにすることができる(ただし、他の値もあり得る)。
【0134】
当業者は、Nの値を適宜適応させることができる。Nの大きさは、特に、使用される楕円曲線εの大きさ(すなわち、生成元点Gによって生成される点群の位数(order of the group of points)の大きさ)に応じて選択されてもよい。例えば、384ビットの楕円曲線εを使用する場合、ビット数Nは、ここでは384ビットが選択される。このように、Nの値は、以下のいずれかの値の1つから選択されてもよく、例えば、N=192、224、256、384、521、又は512ビットである。Nの値は、使用される楕円曲線εに応じて(そのサイズに応じて)選択されてもよい。また、MがM<Nとなるような場合、Mの値は、使用される楕円曲線εに応じて選択されてもよい。
【0135】
後述のように、初期化モジュールMD1は、いくつかの実施があり得る。初期化モジュールMD1は、すべての適切な方法に従って、初期化段階において仮生成元点G’及び仮鍵Q’を取得又は決定するように構成することができる。特定の例によれば、初期化モジュールMD1は、装置DV1の外部から仮生成元点G’及び仮鍵Q’を受信するように構成される。仮生成元点G’及び仮鍵Q’は、後述する暗号化段階において後で取得して使用できるように、不揮発性メモリMR1に登録することができる。
【0136】
特定の例によれば、初期化モジュールMD1は、スカラー(表記d’)に基づく計算によってG’及びQ’を決定する。これを実現するために、初期化モジュールMD1は、例えば、
図6に示すように、第1決定モジュールMD2及び第1計算モジュールMD4を含んでもよいが、他の実施もあり得る。
【0137】
第1決定モジュールMD2は、Nビットの第1秘密鍵d’を形成する第1スカラーを決定するように構成されている。
【0138】
第1計算モジュールMD4は、
仮生成元点G’の計算であって、仮生成元点G’は、G’=[d’]Gのような第1積に等しい、計算と、
仮鍵Q’の計算であって、仮鍵Q’は、Q’=[d’]Qのような第2積に等しい、計算と、
をするように構成されている。
【0139】
そして、G’及びQ’について取得された結果は、装置DV1内のメモリ(ライブメモリ22又は不揮発性メモリMR1)に格納されてもよい。
【0140】
実施形態は、前述のようなモジュールMD2及びMD4を実行する初期化モジュールがなくてもよいことを覚えておくべきである。初期化モジュールMD1は、任意の方法でG’及びQ’を取得できる。
【0141】
また、暗号化モジュールMD7は、以下のステップを含む暗号化段階を実行するように構成されており、前記暗号化段階は、
Mビットの第2秘密鍵kを形成する第2ランダムスカラーを決定するステップであって、M<Nである、ステップと、
前記装置DV1に関連する公開鍵Pを計算するステップであって、公開鍵Pは、P=[k]G’のような第3積に等しい、ステップと、
前記楕円曲線εの中間点SP1の少なくとも1つの座標CD1を計算するステップであって、この中間点SP1は、SP1=[k]Q’のような第4積に等しい、計算するステップと、
前記中間点SP1の少なくとも1つの前記座標に鍵導出関数を適用することによって、少なくとも1つの鍵を導出するステップと、
暗号化されたデータを取得するために、前記導出において導出された少なくとも1つの前記鍵に基づいてデータを暗号化するステップと、
前記第2システムによる復号化のために、前記公開鍵P及び前記暗号化されたデータを第2システムに送信するステップと、
を含む。
【0142】
正の整数Mは、当業者であれば、(M<Nであることを前提に)対象の用途に応じて、特に好ましいセキュリティレベルに応じて、並びにリソース及び処理時間の消費の制約に応じて、適宜選択することができる。例えば、Mは、32、48、64、又は128ビットであり、Nは、256ビットであると考えられる(ただし、値(N、M)の他の組み合わせもあり得る)。
【0143】
後述する実施形態において、本発明における「第2システム」は、通信ネットワークHN1、より一般的にはそのアクセスポイントAP1を含むネットワークHN1であると考えられる。
【0144】
特定の例に係る
図6に示されているように、暗号化モジュールMD7は、第2決定モジュールMD6、第2計算モジュールMD8、鍵導出用モジュールMD10、暗号化モジュールMD12、及び送信モジュールMD14を含んでもよいが、他の実施もあり得る。
【0145】
より具体的には、第2決定モジュールMD6は、M<NであるMビットの第2秘密鍵kを形成する第2ランダムスカラーを決定するように構成されている。
【0146】
第2計算モジュールMD8は、
装置DV1に関連する公開鍵Pの計算であって、Pは、P=[k]G’のような第3積に等しい、計算と、
楕円曲線εの中間点SP1の少なくとも1つの座標CD1の計算であって、この中間点SP1は、SP1=[k]Q’のような第4積に等しい、計算と、
をするように構成される。
【0147】
鍵導出用モジュールMD10は、第2計算モジュールMD8によって計算された中間点SP1の少なくとも1つの前記座標CD1に鍵導出関数を適用することによって、少なくとも1つの鍵を導出するように構成されている。
【0148】
データ暗号化用モジュールMD12は、暗号化されたデータを取得するために、鍵導出用モジュールMD10によって導出された少なくとも1つの前記鍵に基づいて暗号化するように構成される。
【0149】
送信モジュールMD14は、第2システムによる復号化のために、公開鍵P及び暗号化されたデータを第2システムに(すなわち、この例においてはネットワークHN1に)送信するように構成される。
【0150】
装置DV1のモジュールMD1-MD14の構成及び機能は、後述する実施形態から正確に説明される。
図6に示すようなモジュールMD1-MD14は、本発明の非限定的な一実施形態を示しているに過ぎないことに留意すべきである。一般的に、本発明の暗号処理方法の各ステップについて、本発明の暗号処理装置は、当該ステップを実行するように構成された対応するモジュールを含むことができる。
【0151】
一般に、本発明の概念は、特に、一方で公開鍵Pを計算するためにステップS42(
図3)で使用される生成元点Gと、他方で中間点SP1の少なくとも1つの座標CD1を決定するためにステップS44(
図3)で使用される公開鍵Qとが、前述のように、暗号化段階において、仮生成元点G’と仮鍵Q’とにそれぞれ置き換えられることである。仮生成元点G’及び仮鍵Q’は、いずれも、暗号化段階において使用される秘密鍵kがコードされたビット数Mよりも高いビット数Nでコードされたランダムなスカラーである秘密鍵d’に基づいて生成される。比較的大きな数N(例えば、N=256)を選択することによって高いセキュリティレベルを維持しつつ、数Mを制限する(M<N)ことによって、暗号化段階において行われる計算の消費を削減することが可能である。前述のように、(Mよりも大きい)数Nは、使用される楕円曲線εに応じて選択することができる。数Nは、例えば、使用される楕円曲線εが提供する最大のセキュリティに対応することができる。
【0152】
秘密鍵kがNよりも低いビット数Mでコードされている範囲では、公開鍵P及び中間点SP1の少なくとも1つの座標CD1を決定するために行われる計算の複雑さが緩和されつつ、暗号化のセキュリティレベルと、リソース及び処理時間の消費との間の良好な妥協点が実現されている。この妥協点は、N及びMの値をそれぞれの状況に応じて調整することによって、適宜適応することができる。
【0153】
後述するように、仮生成元点G’及び仮鍵Q’は、暗号化段階に先行する初期化段階において決定されることができ、これによって、G’及びQ’を上流で有利に取得でき、したがって、暗号処理装置が暗号化段階に入る際の暗号処理イベントを加速することができる。また、初期化段階において取得されたG’及びQ’の同一の値は、暗号化段階で複数回(例えば、複数回の繰り返し処理時において)使用されてもよく、これによって、各暗号化段階の前に初期化段階を実行する必要がないので、装置によって実行される処理をさらに加速することができる。
【0154】
次に、本発明の特定の実施形態について、
図7を参照して説明される。より詳細には、暗号処理装置DV1は、特定の実施形態に係るプログラムPG1を実行することによって、本発明の暗号処理方法を実行する。
【0155】
この例において、端末T1に組み込み加入者識別モジュールを構成する装置DV1が、特にデータDT1を暗号化することを目的とした暗号処理を実行し、次に、このようにして取得された暗号化されたデータ(表記DTC1)を通信ネットワークHN1に送信することが想定されている。この例において、暗号化されるべきデータDT1は、ネットワークHN1に対する加入者URのSUPI識別子(又はSUPI識別子のサブパート)であるか、又はそれを含む。当業者にはよく知られているように、SUPI識別子は、ユーザが加入している5Gネットワークでユーザを識別するものである。これらのデータDT1は、装置DV1によって任意の方法で取得(受信、決定等)されてもよい。
【0156】
後述のように、装置DV1によって実行される暗号処理は、特に、当業者が使用する場合に応じて選択した楕円曲線εの使用に基づいている。
【0157】
より具体的には、装置DV1は、初期化段階S100を実行し、初期化段階S100において仮生成元点G’及び仮鍵Q’を決定する。
【0158】
仮生成元点G’は、以下のような第1積に等しい。
【0159】
[数6]
G’=[d’]G
【0160】
ここで、d’は、Nビットの第1秘密鍵を形成する第1ランダムスカラーであり、Gは、上記楕円曲線εの生成元点である。
【0161】
また、仮鍵Q’は、以下のような第2積に等しい。
【0162】
[数7]
Q’=[d’]Q
【0163】
ここで、Qは、本発明の観点から第2システム、具体的にはこの例においてネットワークHN1に関連する公開鍵を形成する楕円曲線εの点である。
【0164】
秘密鍵d’のコード化のビット数N(level N of coding in bits)は、例えば、256ビットに固定されており、又はさらに高いセキュリティレベルが要求される場合にはそれよりも大きくてもよい。
【0165】
前述のように、G’及びQ’を取得するための様々な方法があり得る。第1実施例によれば、装置DV1自体は、G’及びQ’を計算せず、外部から後に受信する。パラメータG’及びQ’は、例えば、装置DV1の初期パーソナライゼーションにおいて装置DV1に読み込まれるか、又は装置DV1が端末T1で既に使用されている期間において後で読み込まれる。
【0166】
図7に示される別の例によれば、装置DV1自体が、第1ランダムスカラーd’に基づいてパラメータG’及びQ’を計算する。この特定の例は、以下でより詳細に説明される。初期化段階S100は、後述するステップS101、S102、及びS104を含むと考えられる。
【0167】
決定ステップS101において、装置DV1は、Nビットの第1秘密鍵を形成する第1ランダムスカラーd’を決定する。前述のように、Nは、256に固定されていることが想定されており、又は必要に応じてそれよりも大きい値であってもよい。ここでの例では、装置DV1自体がスカラーd’をランダムに生成している。変形例によれば、装置DV1は、このランダムなスカラーd’を外部から受信できる(例えば、パーソナライゼーションにおいて、又はその実行後において読み込む)。
【0168】
装置DV1は、楕円曲線εの仮生成元点G’を計算し(S102)、この仮生成元点G’は、以下の第1積に等しい。
【0169】
[数8]
G’=[d’]G
【0170】
ここで、d’は、決定ステップS101で決定された第1ランダムスカラーである。
【0171】
装置DV1は、仮鍵Q’も計算し(S104)、仮鍵Q’は、以下の第2積に等しい。
【0172】
[数7]
Q’=[d’]Q
【0173】
ここで、Qは、第2システム、具体的にはこの例においてネットワークHN1に関連する公開鍵を形成する楕円曲線εの点である。
【0174】
これを実現するために、装置DV1は、そのメモリMR1に以前に格納されているパラメータG及びQを抽出する。計算ステップS102及びS104は、同時に又は任意の順序に従って実行することができる。
【0175】
S100で仮生成元点G’及び仮鍵Q’が決定されると、装置DV1は、これらのパラメータG’及びQ’をそのメモリMR1に格納し(S106、
図7)、次の暗号化段階S107においてそれらを使用できるようにする。
【0176】
暗号化段階S107(
図7)において、装置DV1は、初期化段階S100において取得された仮生成元点G’及び仮鍵Q’を利用して、上記データDT1を復号化する。前述のように、この例において、これらのデータDT1は、ネットワークHN1(
図5)に対する加入者URのSUPI識別子(又はSUPI識別子のサブパート)であるか、又はそれを含むことが想定されている。以下で詳細に説明するように、この例において、暗号化段階S107は、ステップS108、S110、S112、S114、S116、及びS118を含む。
【0177】
決定ステップS108において、装置DV1は、M<NであるMビットの第2秘密鍵kを形成する第2ランダムスカラーを決定する。第2秘密鍵kのコード化のビット数Mは、当業者がセキュリティのレベルと、リソース及び処理時間の観点における暗号処理の消費との間で、各形態で達成したい妥協点に応じて選択する。コード化のビット数Mが高いほど、セキュリティはより強化されるが、より多くのリソースが必要となり、暗号化段階における処理イベント速度への影響が大きくなる。
【0178】
特定の例によれば、N及びMは、Nが256ビットであり、Mが32、48、64又は128ビットであるように選択されるが、条件M<Nの関係が維持される範囲で他の組み合わせ(N、M)もあり得る。
【0179】
本発明の原理の1つは、初期化段階S100における暗号計算に介在する第1秘密鍵d’が、暗号化段階S107における暗号計算に介在する第2秘密鍵kよりも多くのビット(Nビット)で暗号化され、この第2秘密鍵kは、M<NであるMビットだけでコードされるということである。M及びNの差は、適宜調整され得る。これは、重要かつ一般的に任意の瞬間に迅速に実行される必要がある暗号化段階S107よりも、初期化段階S100に基づく処理においてより多く消費される。なお、後述のように、暗号化段階S107は、初期化段階S100において取得された同一のパラメータG’及びQ’を使用することによって複数回繰り返し行うことができるので、リソース及び処理時間の消費をさらに制限することができる。
【0180】
次に、装置DV1は、装置DV1に関連する公開鍵Pを計算し(S110)、Pは、以下のような第3積に等しい。
【0181】
[数8]
P=[k]G’=[k][d’]G
【0182】
したがって、この公開鍵P([k][d’])の離散対数の秘匿性は、第1秘密鍵d’のビット数N及び第2秘密鍵kのビット数Mに依存する。
【0183】
計算ステップS112において、装置DV1は、中間点SP1の少なくとも1つの座標CD1を計算し、当該中間点SP1は、以下のような第4積に等しい。
【0184】
[数9]
SP1=[k]Q’=[k][d’]Q
【0185】
これは可能であるが、装置DV1が楕円曲線ε上の中間点SP1のすべての座標を決定する必要はない。装置DV1は、方向x及び/又は方向yに応じて座標CD1を計算することができ、これらの方向x及び方向yは、楕円曲線εが延びる空間を定義する。後で簡単にするために、装置DV1は、ステップS112において中間点SP1の単一の座標CD1を決定することが想定されている。
【0186】
導出ステップS114において、装置DV1は、中間点SP1の座標CD1に鍵導出関数F1を適用することによって、少なくとも1つの鍵を導出する。言い換えれば、装置DV1は、鍵導出関数F1を実行して、中間点SP1の座標CD1に基づいて、少なくとも1つの鍵を決定する。鍵の性質及び数は、使用する形態に応じて、特に暗号化の種類及び考慮される関数F1に応じて変化し得る。ステップS114において、装置DV1は、単一の鍵又は複数の鍵を生成することができ、単一の鍵又は複数の鍵は、データDT1を復号化するために次の暗号化ステップS116で使用される。
【0187】
この例において、座標CD1を考慮して導出関数F1を適用することによって、別々のパラメータ(又はコンポーネント)、具体的には、暗号化鍵KY1、初期化ベクトルV1、及びMAC鍵(表記KMAC1)が生成されることが想定されている。後述のように、鍵KMAC1が介在しない変形例もあり得る。
【0188】
暗号化段階S107の一部は、事前に、すなわち、暗号化されるべきデータDT1が装置DV1によって決定又は取得される前に、又は、装置DV1がデータDT1を暗号化する必要があると決定する前に、実行することができることに留意すべきである。
【0189】
特定の例によれば、まだ行われていない暗号化ステップS116の前に、本方法は、暗号化されるべきデータDT1を取得するためのステップ(図示せず)、及び/又は、データDT1を暗号化する必要があると決定するためのステップを含む。これらのデータDT1は、任意の方法で受信又は決定することができる。特定の例によれば、秘密鍵kを決定するためのステップS108、公開鍵Pを計算するためのステップS110、及び中間点SP1の少なくとも1つの座標CD1を計算するためのステップS112、又は導出ステップS114(又はこれらのステップの少なくとも一部)までもが、事前に、つまり装置DV1が暗号化されるべきデータDT1を取得する前に、又は装置DV1がデータDT1を暗号化する必要があると決定する前に、実行され、暗号化方法をさらに加速させることが可能である。
【0190】
暗号化ステップS116において、装置DV1は、導出ステップS114において以前に導出された暗号化鍵KY1及び初期化ベクトルV1に基づいて、データDT1を暗号化して、暗号化されたデータDTC1を取得する。ここで考えられる例において、装置DV1は、暗号化関数F2を適用して、暗号化鍵KY1及び初期化ベクトルV1に基づいてデータDT1を暗号化する。前述のように、暗号化関数F2は、この例において、装置DV1のメモリMR1に格納されている。暗号化ステップS116は、データDT1に含まれる加入者SUPI識別子(又は加入者SUPI識別子のサブパート)を暗号化して、SUPIの暗号化された形式に対応する暗号化された識別子SUCI(又はSUCIのサブパート)を含む暗号化されたデータDTC1を生成する。
【0191】
この例において、暗号化ステップS116において、装置DV1が、暗号化されたデータDTC1及び鍵KMAC1に基づいて、認証コードMAC(表記MC1)を計算することも考慮される。認証コードMACは、任意の適切な方法に従って、暗号化されたデータDTC1に基づいて計算される。当業者にはよく知られているように、コードMACは、対象のデータの配布又は処理後にコードMACを後で検証できるようにすることによって、データの完全性を保証するためにデータに付随するコードである。このように、本形態では、認証コードMC1によって、ネットワークHN1は、受信した暗号化されたデータDTC1が完全である(変更されていない)ことを後から検証することができる。
【0192】
次に、送信ステップS118において、装置DV1は、ネットワークHN1による復号化のために、S110で計算された公開鍵P及び暗号化されたデータDTC1をネットワークHN1(第2システム)に送信する。この例において、装置DV1は、ネットワークHN1のアクセスポイントAP1を介して送信S118を実行する。そして、後述のように、ネットワークHN1は、受信した暗号化されたデータTDC1を復号化することができる。
【0193】
より詳細には、公開鍵Pは、ネットワークHN1がネットワークHN1の秘密鍵(表記a)を形成するスカラーに基づいて中間点SP1の座標CD1を再計算することを可能にする。
【0194】
[数10]
SP1=[a]P
【0195】
そして、中間点SP1の座標CD1は、後述するように、ネットワークHN1に、秘密鍵k及び秘密鍵d’を知らない状態で暗号化されたデータDTC1を復号化させる。
【0196】
ここで考えられる例において、公開鍵P及び暗号化されたデータDTC1とは別に、ステップS118において、装置DV1は、S116で計算された認証コードMC1をネットワークHN1に送信して、ネットワークHN1に、受信した暗号化されたデータDTC1の完全性を後で検証させる。装置DV1は、ネットワークHN1に送信する送信ステップS118の前に、認証コードMC1を暗号化されたデータDTC1に挿入することができる。変形例として、認証コードMC1は、暗号化されたデータDTC1に付随して送信される(S118)。
【0197】
本発明の原理は、コードMACを使用又は送信せずに実施できることに留意すべきである。しかし、コードMACを使用することは、受信エンティティ(この例におけるネットワークHN1)が、受信した暗号化されたデータDTC1の完全性を検証することができるという点で有利である。
【0198】
本発明は、楕円曲線に基づく暗号処理(例えば、Diffie-Hellman型)を実行し、楕円曲線は、達成されるセキュリティレベルと、リソース及び処理時間に必要な消費との間の良好な妥協点を実現することによって、データを暗号化する(又は、後述のように復号化する)。これを実現するために、生成元点G及び公開鍵Qは、
図3を参照して前述したステップS42及びS44において公開鍵P及び中間点SP1(又はSP1の少なくとも1つの座標CD1)をそれぞれ計算するために使用され、初期化段階において取得される仮生成元点G’及び仮鍵Q’にそれぞれ置き換えられ、これらのパラメータG’及びQ’は、いずれもNビットでコードされた同一の秘密鍵d’に依存する。
【0199】
特にNビットでコードされた第1秘密鍵d’を使用して仮生成元点G’及び仮公開鍵Q’を決定することによって、高いセキュリティレベルが実現される。仮生成元点G’及び仮公開鍵Q’は、暗号化段階における公開鍵Pと中間点SP1の座標CD1の計算の際に登場し、これらの計算のセキュリティを強化する。このようにして、公開鍵P及び座標CD1の値は、(Mビットでコードされた)第2秘密鍵kだけでなく、(Nビットでコードされた)第1秘密鍵d’にも依存する。
【0200】
また、公開鍵P及び座標CD1の計算を2つの段階に分けることによって、装置DV1が公開鍵P及び座標を決定するために必要なリソースを制限すること、又は少なくともこれらのリソースの管理を改善することが可能である。初期化段階S100において、装置DV1は、仮生成元点G’及び/又は仮鍵Q’を外部から取得することができ、又は、正しいタイミングで、例えば、暗号化段階S107の上流で、例えば、非アクティブの期間において、若しくは少なくとも必要なリソースが利用可能なときに、仮生成元点G’及び/又は仮鍵Q’を計算によって決定することができる。したがって、暗号化されるべきデータにも関係なく、暗号化段階が開始されたときにすぐに使用できる仮生成元点G’及び仮鍵Q’を、初期化段階において事前に決定することによって、データDT1の暗号化の速度を高速化することができる。
【0201】
本発明は、暗号化段階S107を開始する前の初期化段階S100において、時間及びリソースにおいて最も消費が多い暗号計算を実行する。第1秘密鍵d’は、第2秘密鍵kよりも多くのビットでコードされているので、初期化段階S100では、最も消費が多い計算が集中する。したがって、暗号化段階S107における計算処理は、第3積及び第4積(S110及びS112)で登場するkが分解に係るより小さい方である分、消費が少なくなる。
【0202】
特定の例によれば、暗号化段階S107(
図7)は、少なくとも1つのイベントの検出時に開始され、初期化段階S100は、前記少なくとも1つのイベントの検出前に実行される。
【0203】
SUPI識別子(又はSUPI識別子のサブパート)を含むデータDT1の暗号化段階S107(
図7)は、例えば、アクセスポイントAP1から、装置DV1をネットワークHN1に登録するための要求(例えば、規格ETSI TS 133 501、例えば、Version 15.3.1 Release 15に規定されているような「登録要求」又は「識別要求」)を受信することに応答して開始される。
【0204】
特定の例によれば、初期化段階S100は、例えば、装置DV1の初期起動において、又は装置DV1の製造において(例えば、そのプレパーソナライゼーション又はパーソナライゼーションにおいて)、1回だけ実行される。
【0205】
特定の例で後述するように、初期化段階S100は、好ましくはこの種類の処理に寄与する所定の期間において、複数回実行されることもできる。
【0206】
また、ネットワークHN1が、装置DV1によってS118(
図7)で提供された暗号化されたデータDTC1を
復号化する方法は、装置DV1によって実行される暗号化方法によって変更されない。言い換えれば、ネットワークHN1は、
図4を参照して前述した方法と同一の方法に従って、装置DV1によってS118(
図7)で提供されたデータDTC1を復号化することができる。
【0207】
次に、
図8を参照して、装置DV1によって以前に暗号化されたデータDTC1を復号化するためにネットワークHN1によって実行される、本発明の原理に従う処理方法が以下に説明される。
【0208】
受信ステップS130において、ネットワークHN1は、そのアクセスポイントAP1を介して、装置DV1から提供された、暗号化されたデータDTC1及び公開鍵Pを受信する。ここでは、認証コードMC1が暗号化されたデータDTC1に含まれていることが想定されている。
【0209】
計算ステップS132において、前述の計算ステップS62(
図4)と同様に、ネットワークHN1は、楕円曲線εの中間点SP1の少なくとも1つの前記座標CD1、すなわち、この例において、装置DV1によってS112(
図7)で決定された座標CD1を計算する。したがって、この例において、ネットワーク6は、装置DV1によって使用される単一の座標CD1(例えば、x又はy方向の座標)を計算し、データDT1を
暗号化する。
【0210】
中間点SP1は、以下に定義するように、ネットワークHN1の秘密鍵(表記a)と公開鍵Pとの積に等しい。
【0211】
[数11]
[a]P=[a][k][d’]G=[k][d’][a]G=[k][d’]Q=[k]Q’=SP1
【0212】
ここで、ネットワークHN1の公開鍵Qは、以下に定義するように、秘密鍵aと生成元点Gとの積に等しい。
【0213】
[数12]
Q=[a]G
【0214】
前述のように、ネットワークHN1は、その秘密鍵aをメモリに格納している。したがって、ネットワークHN1は、第1秘密鍵d’又は第2秘密鍵kを知らなくても、計算によって中間点SP1の座標CD1を取得できる。
【0215】
その後、
図8に示されるように、ネットワークHN1は、
図4を参照して既に前述したようなステップS64、S66、S68、S70、S72、及びS74とそれぞれ同一のステップS134、S136、S138、S140、S142、及びS144を実行する。
【0216】
より詳細には、次に、ネットワークHN1は、装置DV1によって以前に実行された導出ステップS114と同様に、鍵導出関数F1を適用することによって、暗号化鍵KY1、初期化ベクトルV1、及び必要に応じてMAC鍵(表記KMAC1)を導出する(S134)。これを実現するために、ネットワークHN1は、S132で取得された中間点SP1の座標CD1に、鍵導出関数F1を適用する。ここでの鍵KY1は、暗号化された識別子SUCIを含む暗号化されたデータDTC1を復号化するための復号化鍵として機能する。
【0217】
検証ステップS136において、ネットワークHN1は、装置DV1からS130で受信した暗号化されたデータDTC1の完全性を検証する。これを実現するために、ネットワークHN1は、S134で取得されたMAC鍵KMAC1に基づいて、装置DV1によって提供された暗号化されたデータDTC1の認証コードMAC(表記MC2)を計算する。次に、ネットワークHN1は、S138で計算された認証コードMC2と、装置DV1から発しS130で受信した認証コードMC1とを比較する(S140)。認証コードMC1及びMC2が一致する場合、ネットワークHN1は、このことから、S130で受信した暗号化されたデータDTC1が完全であると推定し、本方法は、その後、暗号化ステップS142を実行する。そうでなければ、受信した暗号化されたデータDTC1は、完全ではないので、復号化方法は、終了する。
【0218】
復号化ステップS142において、ネットワークHN1は、装置DV1によって以前に実行された暗号化ステップS116(
図7)の逆の原理に従って、(暗号化された識別子SUCI又は暗号化された識別子SUCIの一部を含む)暗号化されたデータDTC1を復号化する。より詳細には、ネットワークHN1は、加入者の識別子SUPI(又は加入者の識別子SUPIのサブパート)を含むデータDT1を復号化された形式で取得するために、導出ステップS134において取得された復号化鍵KY1及び初期化ベクトルV1に基づいて、暗号化されたデータDTC1を解読又は復号化する(S142)。これを実現するために、ネットワークHN1は、復号化鍵KY1及び初期化ベクトルV1を用いて、暗号化されたデータDTC1に対して、特に復号化関数F3(ここで、F3は、装置DV1によってS116で使用された暗号化関数F2の逆関数である)を適用して、復号化されたデータDT1を取得する。
【0219】
S142で決定されたデータDT1に含まれるSUPI識別子に基づいて、ネットワークHN1は、
図1及び
図2を参照して既に前述したように、加入者の認証(S144)を実行できる。
【0220】
前述のように、この特定の形態において、装置DV1及びネットワークHN1によってそれぞれ実行される暗号化及び復号化の暗号処理イベントによって、装置DV1は、加入者のSUPI識別子を復号化された形式で提供することなく、ネットワークHN1で後に安全に認証されることができる。これらの暗号処理イベントは、悪意のある第三者によるSUPI識別子の不正な傍受に特に対抗するという点で有利であり、そのためユーザの個人データと私生活のセキュリティを強化できる。
【0221】
特定の例によれば、
図7を参照して前述したステップS100-S118のシーケンスが複数回実行され、データDT1を暗号化し、データDT1を暗号化された形式で1つの第2システム又は複数の第2システムに送信する。初期化段階S100は、暗号化段階S107の各繰り返し処理の前に繰り返し実行できる。
【0222】
本発明は、初期化段階S100において決定された同一の仮生成元点G’及び同一の仮鍵Q’を用いることによって、暗号化段階S107の複数の繰り返し処理を実行することが可能であり、データDT1の暗号化を実行するためのリソース及び処理時間に必要な消費をさらに削減できるという点でも有利である。各暗号化段階S107の前に、初期化段階S100を実行する必要はない。
【0223】
このようにして、特定の実施形態において
図9に示すように、装置DV1は、前述のように初期化段階S100を実行し、その後、初期化段階S100において決定された仮生成元点G’及び仮鍵Q’に基づいて、暗号化段階S107の少なくとも2つの連続した繰り返し処理を実行して、復号化のために第2システム(ネットワークHN1)に送信されるデータDT1を
暗号化する。暗号化段階S107の各繰り返し処理で暗号化されるデータDT1、及びこれらの暗号化されたデータDT1が送信される第2システムは、バリエーションを有しうる(can vary)ことに留意すべきである。
【0224】
このようにして、初期化段階S100においてS102の第1積及びS104の第2積から生じる鍵G’及び鍵Q’は、1つ又は複数の第2システムと通信するために、例えば、1つ又は複数の通信ネットワークで経時的に複数回加入者URを認証するために、暗号化段階S107の複数の連続した繰り返し処理において、複数回使用することができる。各暗号化段階の前に、初期化段階を実行する必要はない。初期化段階S100は、例えば、暗号化S107のX段階ごとに実行することができる(又は、Xは、2以上の整数)。
【0225】
これによって、装置DV1によって行われる暗号計算における処理時間が制限され、一方で、高いセキュリティレベルが実現される。これは、暗号化段階S107において、秘密鍵kだけでなく、秘密鍵d’も積に影響を与えるためである。
【0226】
また、データDT1を暗号化するために暗号化段階S107の異なる繰り返し処理において使用される仮生成元G’及び仮鍵Q’を更新(修正)するように、初期化段階S100の複数の繰り返し処理を実行することが可能である。
【0227】
特定の実施形態によれば、装置DV1は、初期化段階S100において決定された同一の仮生成元点G’及び同一の仮鍵Q’を用いて行われた暗号化段階S107の連続した繰り返し処理回数を監視する。暗号化されたデータDTC1を第2システム(この例において具体的にはネットワークHN1)に送信するために初期化段階S100において決定された同一の仮生成元点G’及び同一の仮鍵Q’に基づいて、暗号化段階S107の少なくともX回の連続した繰り返し処理が実行されたことを検出すると、装置DV1は、初期化段階S100の新たな繰り返し処理を実行して、初期化段階S100の先行する繰り返し処理において決定された第1秘密ランダム鍵d’とは異なる新たな第1秘密ランダム鍵d’に基づいて、仮生成元G’及び仮鍵Q’を更新する(したがって変更する)。更新された仮生成元G’及び更新された仮鍵Q’は、暗号化段階S107の少なくとも1つの後の繰り返し処理において使用されて、新しいデータDT1を暗号化し、第2システム(この例において具体的にはネットワークHN1)にこれらの新しい暗号化されたデータDTC1を送信する。
【0228】
数Xは、X≧1となるような整数である。特定の例によれば、X≧2であり、これは、装置が、新しい暗号化を実行することに照らしてこれらの値を更新する前に、G’及びQ’の同一の値を用いた暗号化段階S107の少なくとも2つの連続した繰り返し処理を実行することを意味する。
【0229】
したがって、装置DV1は、パラメータG’及びQ’を定期的に更新して、セキュリティを強化するとともに、良好な処理パフォーマンスを維持することもでき、例えば、装置DV1をネットワークHN1で複数回認証することができる。特に、パラメータG’及びQ’(したがって、第1秘密鍵d’)を定期的に更新することによって、装置DV1が通信ネットワークに組み込み加入者識別モジュールとして登録されている間は、悪意のある第三者が装置DV1を追跡することを防ぐことができる。実際には、暗号化段階又は本方法の様々な繰り返し処理において交換された公開鍵Pに基づいて、第三者がユーザを追跡することは困難である。この理由は、これらの鍵が、この秘密鍵kによってのみ区別されるのではなく、この秘密鍵k及び仮生成元点G’によって区別されるからである。
【0230】
これを実現するために、装置DV1は、同一の組み合わせ(G’、Q’)がネットワークでの認証に使用された回数を監視するカウンタCTを利用することができる。
【0231】
次に、
図10を参照して特定の実施形態を説明する。装置DV1が、既に前述したように、暗号化段階S107を実行していることが想定されている。この暗号化段階S107が実行されたこと(又は開始されたこと、又は実行中であること)を検出すると、装置DV1は、また、カウンタCT1を更新する(S162)。この例において、カウンタCT1は、暗号化段階S107の新たな繰り返し処理が実行されるごとに1ずつ増加される。
【0232】
次に、新しい暗号化を実行する必要があることを検出すると、装置DV1は、そのカウンタCT1の現在の値に基づいて、暗号化段階S107の少なくともX回の連続した繰り返し処理が、G’及びQ’の同一の値を用いて実行されたかどうかを判断する(S164)。これを実現するために、装置DV1は、カウンタCT1が閾値X以上であるか否かを判断する。閾値X以上である場合には、本方法は、S100を継続して、初期化段階S100の新たな繰り返し処理においてパラメータG’及びQ’を更新し、カウンタCT1を再初期化する。そうでない場合には、装置DV1は、パラメータG’及びQ’を変更することなく暗号化段階S107の新たな繰り返し処理を実行する。
【0233】
このようにして、初期化段階S100の新たな繰り返し処理において、装置DV1は、仮生成元G’及び仮鍵Q’を更新(変更)する。そして、装置DV1は、S100で取得されたG’及びQ’の更新値を用いて、暗号化段階S107の新たな繰り返し処理を実行する、という具合である。
【0234】
図11に示される特定の実施形態によれば、暗号化段階S107の各繰り返し処理において、当該暗号化段階S107の現在の繰り返し処理において使用される仮生成元G’及び仮鍵Q’は、暗号化段階S107の先行する繰り返し処理において計算された公開鍵P及び中間点SP1にそれぞれ等しい。
【0235】
より一般的には、暗号化段階S107の少なくとも1つの繰り返し処理において、当該暗号化段階S107の現在の繰り返し処理において使用される仮生成元G’及び仮鍵Q’は、暗号化段階S107の先行する繰り返し処理において計算された公開鍵P及び中間点SP1にそれぞれ等しくなり得る。
【0236】
言い換えれば、現在の繰り返し処理のパラメータG’及びQ’は、暗号化段階S107の先行する繰り返し処理の値[k]G’及び[k]Q’に置き換えられ、これによって、悪意のある第三者(識別子の傍受者)が、通信ネットワークで認証するために組み込み加入者識別モジュールによって生成された連続的なSUCIに基づいて、組み込み加入者識別モジュールを追跡することがより困難になる程度にセキュリティが強化される。
【0237】
ただし、これが可能であっても、暗号化段階S107の各繰り返し処理において、秘密鍵kの同一の値を使用することは必須ではないことに留意すべきである。
【0238】
図11に示されているように、以下のように
P=[k
1]G’及びSP1=[k
1]Qのような繰り返し処理I1(S180)における秘密鍵k
1と、
P=[k
1][k
2]G’及びSP1=[k
1][k
2]Q’のような繰り返し処理I2(S182)における秘密鍵k
2と、
P=[k
1][k
2][k
3]G’及びSP1=[k
1][k
2][k
3]Q’のような繰り返し処理I3(S182)における秘密鍵k
3と、
等を使用することができる。
【0239】
このようにして、Rが少なくとも2に等しい整数である繰り返し処理IR(S186)において、P及びSP1は、
P=[k1][k2]...[kR]G’及びSP1=[k1][k2]...[kR]Q’
となる。
【0240】
特定の形態では、秘密鍵kの同一の値が各繰り返し処理に使用される。このようにして、繰り返し処理IR(S186)において、P及びSP1は、
P=[k]RG’及びSP1=[k]RQ’
となる。
【0241】
前述の実施形態において、本発明は、データの暗号化の形態に適用されている。しかし、前述のように、本発明は、この特定の形態に限定されるものではなく、暗号化されたデータの復号化にも適用される。これを実現するために、本発明は、前述の第1暗号処理方法と同様の原理に基づく第2暗号処理方法も提供する。
【0242】
このように、特定の実施形態によれば、装置DV1は、第2暗号処理を実行するように構成されている。この特定の態様によれば、装置DV1は、任意の第2システム(表記HN1)と連携し、前記方法は、
・初期化段階であって、
仮生成元点G’を決定するステップであって、仮生成元点G’は、G’=[d’]Gのような第1積に等しく、ここで、d’は、Nビットの第1秘密鍵を形成する第1ランダムスカラーであり、Gは、楕円曲線の生成元点である、ステップと、
仮鍵Q’を決定するステップであって、仮鍵Q’は、Q’=[d’]Qのような第2積に等しく、ここで、Qは、前記第2システムに関連する公開鍵を形成する前記楕円曲線の点である、ステップと、
を含む初期化段階と、
・復号化段階であって、
Mビットの第2秘密鍵kを形成する第2ランダムスカラーを決定するステップであって、M<Nである、ステップと、
前記装置に関連する公開鍵Pを計算するステップであって、公開鍵Pは、P=[k]G’のような第3積に等しい、ステップと、
公開鍵Pを第2システムに送信するステップと、
第2システムから送信された暗号化されたデータを受信するステップと、
前記楕円曲線の中間点SP1の少なくとも1つの座標を計算するステップであって、中間点SP1は、SP1=[k]Q’のような第4積に等しい、ステップと、
前記中間点SP1の少なくとも1つの前記座標に鍵導出関数を適用することによって、少なくとも1つの鍵を導出するステップと、
復号化されたデータを取得するために、前記導出において導出された少なくとも1つの前記鍵に基づき暗号化されたデータを復号化するステップと、
を含む復号化段階と、
を含む。
【0243】
初期化段階は、先に説明した初期化段階S100(
図7)と同様に実行することができる。特に、ランダム鍵d’の決定並びに第1鍵G’及び仮公開鍵Q’の計算は、前述のステップS101、S102、及びS104と同様にそれぞれ実行することができる。
【0244】
また、復号化段階は、先に説明した暗号化段階S107(
図7)と同様に実行することができる。特に、第2秘密鍵kの決定及び公開鍵Pの計算は、前述のステップS108及びS110と同様にそれぞれ実行することができる。同様に、中間点SP1の少なくとも1つの座標の計算、及び鍵導出関数の適用による少なくとも1つの鍵の導出は、前述のステップS112及びS114と同様にそれぞれ実行することができる。最後に、暗号化されたデータの復号化は、前述した暗号化ステップS116と同様に実行することができる。
【0245】
前述の実施形態のような本発明の暗号処理方法esのステップを連結する順序は、あくまでも一実施形態を構成するものであるが、他の変形例もあり得ることに留意すべきである。
【0246】
当業者であれば、前述した実施形態及び変形例が、本発明の実施形態の非限定的な例を構成していることを理解できる。特に、当業者は、特定の必要性に対応するように、前述した実施形態及び変形例の任意の適応又は組み合わせを想定することができる。