以下で、本出願の実施形態における添付の図面に関連して、本出願の実施形態における技術的解決策を明確かつ十分に説明する。明らかに、説明される実施形態は本出願の実施形態の全部ではなく一部にすぎない。本出願の実施形態に基づいて当業者が難なく得ることができる他のすべての実施形態は、本出願の保護範囲内に含まれるものとする。
本出願は、SGSNとUEとの間の鍵を強化し、SGSNとUEとの間の通信に暗号化保護および完全性保護を提供することができるGPRSシステム鍵強化方法、SGSNデバイス、UE、HLR/HSS、およびGPRSシステムを提供する。以下で添付の図面を参照して説明する。
図1を参照されたい。図1は、本出願によるGPRSシステム鍵強化方法の一実施形態の概略流れ図である。図1に示すように、本方法は以下のステップを含む。
S101.SGSNが、UEが送信した要求メッセージを受信する。
具体的な実施に際して、UEがSGSN(Serving GPRS Support Node、サービングGPRSサポートノード)に送信する要求メッセージは、アタッチ要求メッセージ、経路更新メッセージ、または、サービス要求メッセージなど、別のメッセージとすることができる。UEが送信した要求メッセージを受信した後で、SGSNは、要求メッセージを送信したUEの識別子を取得することができる。UEが第1のタイプのUEである場合、要求メッセージはUEタイプ指示情報を搬送することができる。
本出願の本実施形態では、UEはUSIMカードを用いてネットワークと通信し、UEの識別子は、USIMカードのIMSI(International Mobile Subscriber Identification Number、国際移動体加入者識別番号)であってよい。第1のタイプのUEは、モノのインターネットUE、マシンツーマシン(Machine To Machine、M2M)通信UE、または他の高セキュリティUEであってよい。モノのインターネットUEとは、情報感知機能およびデータ伝送機能を有するユーザ機器、例えば、音声ガイド、携帯情報端末、バーコードコレクタ、データ収集端末、および購入または送金に主に用いられるPOS端末をいう。マシンツーマシン通信UEとは、人、モバイルネットワーク、または別の機械と情報を交換するために、ネットワーク接続および通信能力を有し、センサ、コントローラなどを用いて「インテリジェンス」属性を実現するユーザ機器をいう。
S102.SGSNは、HLR/HSSから認証ベクトルを取得し、認証ベクトルは第1の暗号化鍵および第1の完全性鍵を含む。
ホーム・ロケーション・レジスタ(Home Location Register、HLR)は、GPRSシステムの永続データベースであり、登録されたモバイルユーザのものである識別情報、サービス情報、サービス許可などの静的情報、およびユーザの位置情報などの動的情報を含む、多くのモバイルユーザの通信を管理するのに必要な情報を記憶している。ホーム加入システムHSS(Home Subscription System、HSS)は、HLRが進化し、アップグレードしたものであり、主に、ユーザの加入データおよびモバイルユーザの位置情報を管理する役割を果たす。HSSとHLRとはネットワークにおいて類似した機能を有し、HSSに記憶されるデータの多くがHLRに繰り返し記憶されるため、一般に、外部に対してはHSSとHLRの融合デバイスが提示される。本出願の本実施形態では、HLR/HSSは、HLRデバイスであっても、HSSデバイスであっても、HLRとHSSとの融合デバイスであってもよい。
本出願の本実施形態では、SGSNがHLR/HSSから取得する認証ベクトルは認証ベクトルクインテットであり、乱数RAND、予期される応答XRES、認証トークンAUTN、暗号化鍵CK、および完全性鍵IKを含む。
本出願の本実施形態では、第1の暗号化鍵は認証ベクトルクインテット内の暗号化鍵CKであり、第1の完全性鍵は認証ベクトルクインテット内の完全性鍵IKである。
S103.SGSNは、UEは第1のタイプのUEであると判定した場合、UEのための暗号化アルゴリズムおよび完全性アルゴリズムを選択し、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信する。
いくつかの実行可能な実施態様において、SGSNはHLR/HSSにUEの識別子を送信することができる。HLR/HSSは、UEの識別子に従って、UEは第1のタイプのUEであると判定する。SGSNは、HLR/HSSが送信したUEタイプ指示情報を受信した場合、UEタイプ指示情報に従って、UEは第1のタイプのUEであると判定することができる。
いくつかの他の実行可能な実施態様において、UEがSGSNに送信した要求メッセージがUEタイプ指示情報を搬送している場合、SGSNは、UEは第1のタイプのUEであると判定することができる。
任意選択で、UEタイプ指示情報は、特定の情報要素(Information Element、IE)の存在に従って、UEは第1のタイプのUEであると指示することもできる。例えば、SGSNが、HLR/HSSまたはUEが送信したUEタイプ指示情報を受信したときに、UEタイプ指示情報に特定のIEが存在する場合、SGSNは、UEは第1のタイプのUEであると判定することができ、UEタイプ指示情報に特定のIEが存在しない場合、SGSNは、UEは第1のタイプのUEではないと判定することができる。あるいは、UEタイプ指示情報は、特定のIEの値に従って、UEは第1のタイプのUEであると指示することもできる。例えば、SGSNが、HLR/HSSまたはUEが送信したUEタイプ指示情報を受信したときに、UEタイプ指示情報内の特定のIEの値が1である場合、SGSNは、UEは第1のタイプのUEであると判定することができ、特定のIEの値が0である場合、SGSNは、UEは第1のタイプのUEではないと判定することができる。
具体的な実施に際して、SGSNは、まず、HLR/HSSから認証ベクトルを取得し、次いで、UEは第1のタイプのUEであると判定してもよく、または、まず、UEは第1のタイプのUEであると判定し、次いで、HLR/HSSから認証ベクトルを取得してもよい。
具体的な実施に際して、UEとSGSNとは、いくつかの暗号化アルゴリズムおよび完全性アルゴリズムで別々に構成されている。SGSNに要求メッセージを送信するときに、UEは、SGSNに、UEがサポートしている暗号化アルゴリズムおよび完全性アルゴリズムを送信する。UEの要求メッセージを受信すると、SGSNは、UEがサポートしている暗号化アルゴリズムおよび完全性アルゴリズムの中からSGSNがサポートしている暗号化アルゴリズムおよびSGSNがサポートしている完全性アルゴリズムを選択する。
いくつかの実行可能な実施態様において、SGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズムは、認証ベクトル内の第1の暗号化鍵および第1の完全性鍵と共に、第2の暗号化鍵および第2の完全性鍵を計算するのに用いることができる。加えて、メッセージ暗号文を生成するために、SGSNが選択した暗号化アルゴリズムおよび第2の暗号化鍵に従って通信メッセージに対して暗号化を行うことができる。SGSNが選択した完全性アルゴリズムおよび第2の完全性鍵に従い、計算によってメッセージ認証コードMACを獲得することができる。メッセージ認証コードMACは、通信メッセージの完全性を検証するのに用いることができる。
任意選択で、GPRSネットワークが128ビットの第2の暗号化鍵を必要とする場合、SGSNが選択する暗号化アルゴリズムは、128−EEA1アルゴリズム、128−EEA2アルゴリズム、または128−EEA3アルゴリズムのうちのいずれか1つであってよく、SGSNが選択する完全性アルゴリズムは、128−EIA1アルゴリズム、128−EIA2アルゴリズム、または128−EIA3アルゴリズムのうちのいずれか1つであってよい。128−EEA1アルゴリズムおよび128−EIA1アルゴリズムのコアアルゴリズムとして、SNOW 3Gアルゴリズムが用いられる。128−EEA2アルゴリズムおよび128−EIA2アルゴリズムのコアアルゴリズムとして、AESアルゴリズムが用いられる。128−EEA3アルゴリズムおよび128−EIA3アルゴリズムのコアアルゴリズムとして、ZUCアルゴリズム(ZUCアルゴリズム)が用いられる。
具体的な実施に際して、SGSNは、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信するときに、UEに、認証ベクトル内の乱数RANDおよび認証トークンAUTNをさらに送信することができる。UEは、UE側がネットワーク側に対する認証を行うように、認証トークンAUTNに従ってSGSNに対する認証を行うことができ、受信した乱数RANDおよび受信した認証トークンAUTNに従ってf1アルゴリズムからf5アルゴリズムを用いて、第1の暗号化鍵CKおよび第1の完全性鍵IKをさらに計算することができる。
SGSNとUEとの間の通信メッセージを保護するためは、SGSNとUEの両方が、合意された鍵(すなわち、第2の暗号化鍵および第2の完全性鍵)と、合意されたアルゴリズム(すなわち、SGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズム)を用いて、通信メッセージに対する暗号化を行う必要がある。したがって、SGSNは、暗号化アルゴリズムおよび完全性アルゴリズムを選択した後で、UEが、第1の暗号化鍵CKおよび第1の完全性鍵IKに従って第2の暗号化鍵および第2の完全性鍵を計算した後で、SGSNが用いるのと同じ暗号化アルゴリズムおよび完全性アルゴリズム、第2の暗号化鍵、ならびに第2の完全性鍵を用いて、通信メッセージに対する暗号化を行うように、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信する必要がある。
S104.SGSNは、第1の暗号化鍵および第1の完全性鍵に従って第2の暗号化鍵および第2の完全性鍵を獲得する。
本出願の本実施形態では、SGSNは、暗号化アルゴリズムおよび完全性アルゴリズムを選択した後で、認証ベクトル内の第1の暗号化鍵および第1の完全性鍵に従って第2の暗号化鍵および第2の完全性鍵を獲得することができる。第2の暗号化鍵および第2の完全性鍵は、第1の暗号化鍵および第1の完全性鍵に基づく強化された鍵であり、第2の暗号化鍵およびSGSNが選択した暗号化アルゴリズムは、SGSNとUEとの間で送信されるメッセージの暗号化保護を行うのに用いることができ、第2の完全性鍵およびSGSNが選択した完全性アルゴリズムは、SGSNとUEとの間で送信されるメッセージの完全性保護を行うのに用いることができる。
任意選択で、SGSNは、第1の暗号化鍵および第1の完全性鍵のみに従って第2の暗号化鍵および第2の完全性鍵を獲得してもよく、または第1の暗号化鍵、第1の完全性鍵、選択された暗号化アルゴリズム、および選択された完全性アルゴリズムに従って第2の暗号化鍵および第2の完全性鍵を獲得してもよい。
具体的な実施に際して、UEに、SGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズムを送信するステップS103と、SGSNが、認証ベクトル内の第1の暗号化鍵および第1の完全性鍵に従って第2の暗号化鍵および第2の完全性鍵を計算するステップS104との間に順序はない。
本出願の本実施形態では、SGSNは、UEが送信した要求メッセージを受信し、UEは第1のタイプのUEであると判定した後で、暗号化アルゴリズムおよび完全性アルゴリズムを選択し、HLR/HSSから認証ベクトルを取得し、認証ベクトルに含まれている第1の暗号化鍵および第1の完全性鍵に従って強化された第2の暗号化鍵および強化された第2の完全性鍵を獲得し、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信し、そのため、UEが第2の暗号化鍵および第2の完全性鍵を計算した後で、SGSNとUEはどちらも、第2の暗号化鍵、第2の完全性鍵、ならびにSGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズムを用いて、SGSNとUEとの間の通信メッセージの暗号化保護および完全性保護を行うことができる。これにより、GPRSネットワークにおける第1のタイプのUEの通信のセキュリティが強化される。
図2を参照されたい。図2は、本出願によるGPRSシステム鍵強化方法の別の実施形態の概略流れ図である。図2に示すように、本方法は以下のステップを含む。
S201.SGSNが、UEが送信した要求メッセージを受信する。
S202.SGSNは、HLR/HSSから認証ベクトルを取得し、認証ベクトルは第1の暗号化鍵および第1の完全性鍵を含む。
S203.SGSNは、UEは第1のタイプのUEであると判定した場合、UEのための暗号化アルゴリズムおよび完全性アルゴリズムを選択する。
S204.SGSNは、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信する。
本出願の本実施形態では、ステップS201からステップS204の具体的な実施態様については、図1に示す実施形態のステップS101からステップS103を参照されたい。ここでは詳細を述べない。
S205.SGSNは、第1の暗号化鍵および第1の完全性鍵に従って中間鍵を計算する。
1つの実行可能な実施態様においては、第1の暗号化鍵および第1の完全性鍵に対して演算を行うことができ、次いで、演算結果が、中間鍵を計算するための鍵導出関数KDFの入力パラメータとして用いられる。例えば、中間鍵はKm=KDF(CK||IK)とすることができ、式中、CK||IKは、第1の暗号化鍵CKと第1の完全性鍵IKとに対して結合演算が行われることを示している。
別の実行可能な実施態様においては、中間鍵は、既存の64ビットGPRS暗号化鍵Kcまたは既存の128ビット暗号化鍵Kc128を直接用いてよく、すなわち、既存のGPRS暗号化鍵Kc(64ビット)を中間鍵として直接用いてよく、または既存のKc128(128ビット)を中間鍵として直接用いてよい。KcとKc128はどちらも、CkおよびIKに従った計算によって生成される。
S206.SGSNは、中間鍵に従って、または中間鍵および暗号化特徴記号列に従って第2の暗号化鍵を計算する。
1つの実行可能な実施態様において、SGSNは、中間鍵の第1の事前設定ビットを第2の暗号化鍵として用いることができる。例えば、GPRSシステムが64ビットの第2の暗号化鍵を必要とする場合、中間鍵の最上位64ビットを第2の暗号化鍵として直接用いることができ、GPRSシステムが128ビットの第2の暗号化鍵を必要とする場合、中間鍵の最上位128ビットを第2の暗号化鍵として直接用いることができる。別の任意選択の実施態様においては、必要な数のビットを第2の暗号化鍵として中間鍵の中からランダムに選択することができ、これについては本出願では限定しない。
別の実行可能な実施態様において、SGSNは、中間鍵および暗号化特徴記号列cipheringに従って第2の暗号化鍵を計算することができる。具体的な実施に際しては、中間鍵および暗号化特徴記号列cipheringを、第2の暗号化鍵を計算するための鍵導出関数KDFの入力パラメータとして用いることができる。例えば、第2の暗号化鍵は、Kcipher=KDF(Km,“ciphering”)を用いた計算によって獲得することができ、式中、“ciphering”は暗号化特徴記号列であり、コード化によって生成することができる。
いくつかの実行可能な実施態様において、GPRSシステムは128ビットの第2の暗号化鍵を必要とし、この場合、事前設定の128ビット(例えば、最上位の128ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の暗号化鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の128ビット(例えば、最上位の128ビット)が第2の暗号化鍵としてKDFの出力から取得され、または中間鍵Kc128は鍵導出関数KDFの入力パラメータの1つとして用いられ、鍵導出関数KDFの出力が第2の暗号化鍵として用いられる。
いくつかの実行可能な実施態様において、GPRSシステムは64ビットの第2の暗号化鍵を必要とし、この場合、事前設定の64ビット(例えば、最上位の64ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の暗号化鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の64ビット(例えば、最上位の64ビット)が第2の暗号化鍵としてKDFの出力から取得され、または中間鍵Kc(64ビット)を鍵導出関数KDFの入力パラメータの1つとして用いることもでき、鍵導出関数KDFの出力が第2の暗号化鍵として用いられる。
S207.SGSNは、中間鍵に従って、または中間鍵および完全性特徴記号列に従って第2の完全性鍵を計算する。
1つの実行可能な実施態様において、SGSNは、中間鍵の第2の事前設定ビットを第2の完全性鍵として用いることができる。例えば、GPRSシステムが64ビットの第2の完全性鍵を必要とする場合、中間鍵の最下位64ビットを第2の完全性鍵として直接用いることができ、GPRSシステムが128ビットの第2の完全性鍵を必要とする場合、中間鍵の最下位128ビットを第2の完全性鍵として直接用いることができる。別の任意選択の実施態様においては、必要な数のビットを第2の完全性鍵として中間鍵の中からランダムに選択することができ、これについては本出願では限定しない。
別の実行可能な実施態様において、SGSNは、中間鍵および完全性特徴記号列integrityに従って第2の完全性鍵を計算することができる。具体的な実施に際しては、中間鍵および完全性特徴記号列integrityを、第2の完全性鍵を計算するための鍵導出関数KDFの入力パラメータとして用いることができる。例えば、第2の完全性鍵は、Kintegrity=KDF(Km,“integrity”)を用いた計算によって獲得することができ、式中、“integrity”は完全性特徴記号列であり、コード化によって生成することができる。
いくつかの実行可能な実施態様において、GPRSシステムは128ビットの第2の完全性鍵を必要とし、この場合、事前設定の128ビット(例えば、最上位の128ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の完全性鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の128ビット(例えば、最上位の128ビット)が第2の完全性鍵としてKDFの出力から取得され、または中間鍵Kc128を鍵導出関数KDFの入力パラメータの1つとして用いることもでき、鍵導出関数KDFの出力が第2の完全性鍵として用いられる。
いくつかの実行可能な実施態様において、GPRSシステムは64ビットの第2の完全性鍵を必要とし、この場合、事前設定の64ビット(例えば、最上位の64ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の完全性鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の64ビット(例えば、最上位の64ビット)が第2の完全性鍵としてKDFの出力から取得され、または中間鍵Kc(64ビット)を鍵導出関数KDFの入力パラメータの1つとして用いることもでき、鍵導出関数KDFの出力が第2の完全性鍵として用いられる。
本出願の本実施形態では、暗号化特徴記号列cipheringおよび完全性特徴記号列integrityは、計算された第2の暗号化鍵と計算された第2の完全性鍵とを区別しやすいよう差別化するのに用いられる。したがって、完全性特徴記号列integrityは、暗号化特徴記号列cipheringと一致しない任意の記号列とすることができる。
具体的な実施に際して、UEに、SGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズムを送信するステップS204と、中間鍵を計算するステップS205と、第2の暗号化鍵を計算するステップS206と、第2の完全性鍵を計算するステップS207との間に順序はない。
本出願の本実施形態では、SGSNは、UEが送信した要求メッセージを受信し、UEは第1のタイプのUEであると判定した後で、暗号化アルゴリズムおよび完全性アルゴリズムを選択し、HLR/HSSから認証ベクトルを取得し、認証ベクトルに含まれている第1の暗号化鍵および第1の完全性鍵に従って強化された第2の暗号化鍵および強化された第2の完全性鍵を獲得し、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信し、そのため、UEが第2の暗号化鍵および第2の完全性鍵を計算した後で、SGSNとUEはどちらも、第2の暗号化鍵、第2の完全性鍵、ならびにSGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズムを用いて、SGSNとUEとの間の通信メッセージの暗号化保護および完全性保護を行うことができる。これにより、GPRSネットワークにおける第1のタイプのUEの通信のセキュリティが強化される。
図3を参照されたい。図3は、本出願によるGPRSシステム鍵強化方法の別の実施形態の概略流れ図である。図3に示すように、本方法は以下のステップを含む。
S301.SGSNが、UEが送信した要求メッセージを受信する。
S302.SGSNは、HLR/HSSから認証ベクトルを取得し、認証ベクトルは第1の暗号化鍵および第1の完全性鍵を含む。
S303.SGSNは、UEは第1のタイプのUEであると判定した場合、UEのための暗号化アルゴリズムおよび完全性アルゴリズムを選択する。
S304.SGSNは、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信する。
S305.SGSNは、第1の暗号化鍵および第1の完全性鍵に従って中間鍵を計算する。
本出願の本実施形態では、ステップS301からステップS305の具体的な実施態様については、図2に示す実施形態のステップS201からステップS205を参照されたい。ここでは詳細を述べない。
S306.SGSNは、中間鍵、第1のアルゴリズムタイプ指示、および選択された暗号化アルゴリズムの識別子に従って第2の暗号化鍵を計算する。
具体的な実施に際しては、中間鍵、第1のアルゴリズムタイプ指示、および選択された暗号化アルゴリズムの識別子を、第2の暗号化鍵を計算するための鍵導出関数KDFの入力パラメータとして用いることができる。例えば、第2の暗号化鍵Kcipherは、Kcipher=KDF(Km,algorithm type distinguisher1,ciphering algorithm id)を用いた計算によって獲得することができ、式中、Kmは中間鍵であり、algorithm type distinguisher1は第1のアルゴリズムタイプ指示であり、ciphering algorithm idは、SGSNが選択した暗号化アルゴリズムの識別子である。
いくつかの実行可能な実施態様において、GPRSシステムは128ビットの第2の暗号化鍵を必要とし、この場合、事前設定の128ビット(例えば、最上位の128ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の暗号化鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の128ビット(例えば、最上位の128ビット)が第2の暗号化鍵としてKDFの出力から取得され、または中間鍵Kc128は鍵導出関数KDFの入力パラメータの1つとして用いられ、鍵導出関数KDFの出力が第2の暗号化鍵として用いられる。
いくつかの実行可能な実施態様において、GPRSシステムは64ビットの第2の暗号化鍵を必要とし、この場合、事前設定の64ビット(例えば、最上位の64ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の暗号化鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の64ビット(例えば、最上位の64ビット)が第2の暗号化鍵としてKDFの出力から取得され、または中間鍵Kc(64ビット)を鍵導出関数KDFの入力パラメータの1つとして用いることもでき、鍵導出関数KDFの出力が第2の暗号化鍵として用いられる。
S307.SGSNは、中間鍵、第2のアルゴリズムタイプ指示、および選択された完全性アルゴリズムの識別子に従って第2の完全性鍵を計算する。
具体的な実施に際しては、中間鍵、第2のアルゴリズムタイプ指示、および選択された完全性アルゴリズムの識別子を、第2の完全性鍵を計算するための鍵導出関数KDFの入力パラメータとして用いることができる。例えば、第2の完全性鍵K integrity は、Kintegrity=KDF(Km,algorithm type distinguisher2,integrity algorithm id)を用いた計算によって獲得することができ、式中、Kmは中間鍵であり、algorithm type distinguisher2は第2のアルゴリズムタイプ指示であり、integrity algorithm idはSGSNが選択した完全性アルゴリズムの識別子である。
いくつかの実行可能な実施態様において、GPRSシステムは128ビットの第2の完全性鍵を必要とし、この場合、事前設定の128ビット(例えば、最上位の128ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の完全性鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の128ビット(例えば、最上位の128ビット)が第2の完全性鍵としてKDFの出力から取得され、または中間鍵Kc128を鍵導出関数KDFの入力パラメータの1つとして用いることもでき、鍵導出関数KDFの出力が第2の完全性鍵として用いられる。
いくつかの実行可能な実施態様において、GPRSシステムは64ビットの第2の完全性鍵を必要とし、この場合、事前設定の64ビット(例えば、最上位の64ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の完全性鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の64ビット(例えば、最上位の64ビット)が第2の完全性鍵としてKDFの出力から取得され、または中間鍵Kc(64ビット)を鍵導出関数KDFの入力パラメータの1つとして用いることもでき、鍵導出関数KDFの出力が第2の完全性鍵として用いられる。
本出願の本実施形態では、第1のアルゴリズムタイプ指示は、現在演算に関与しているアルゴリズムが暗号化型のアルゴリズムであることを指示するのに用いられ、第2のアルゴリズムタイプ指示は、現在演算に関与しているアルゴリズムが完全性型のアルゴリズムであることを指示するのに用いられる。第1のアルゴリズムタイプ指示の値と第2のアルゴリズムタイプ指示の値とは異なる。いくつかの実行可能な実施形態において、第1のアルゴリズムタイプ指示と第2のアルゴリズムタイプ指示とは同じIEを含む場合があり、第1のアルゴリズムタイプ指示と第2のアルゴリズムタイプ指示とはIEの異なる値を用いて区別される。例えば、第1のアルゴリズムタイプ指示のIEと第2のアルゴリズムタイプ指示のIEとはどちらも、algorithm type distinguisherである。algorithm type distinguisher=00の場合、それは暗号化型のアルゴリズムを指示する。algorithm type distinguisher=01の場合、それは完全性型のアルゴリズムを指示する。
いくつかの可能な事例において、暗号化アルゴリズムと完全性アルゴリズムとは同じ識別子を用いる場合があり、これらの事例では、アルゴリズムタイプ指示を参照して各アルゴリズムを一意に区別する必要がある。例えば、128−EEA1アルゴリズムと128−EIA1アルゴリズムとがどちらもアルゴリズム識別子として1を用いる場合、SGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズムが、それぞれ、128−EEA1アルゴリズムおよび128−EIA1アルゴリズムであるときには、128−EEA1アルゴリズムと128−EIA1アルゴリズムとを、第1のアルゴリズムタイプ指示と第2のアルゴリズムタイプ指示とのIEの異なる値を用いて区別することができる。加えて、第2の暗号化鍵と第2の完全性鍵とを区別するように、計算された第2の暗号化鍵の値と計算された第2の完全性鍵の値とを差別化することもできる。
具体的な実施に際して、UEに、SGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズムを送信するステップS304と、中間鍵を計算するステップS305と、第2の暗号化鍵を計算するステップS306と、第2の完全性鍵を計算するステップS307との間に順序はない。
本出願の本実施形態では、SGSNは、UEが送信した要求メッセージを受信し、UEは第1のタイプのUEであると判定した後で、暗号化アルゴリズムおよび完全性アルゴリズムを選択し、HLR/HSSから認証ベクトルを取得し、認証ベクトルに含まれている第1の暗号化鍵および第1の完全性鍵に従って強化された第2の暗号化鍵および強化された第2の完全性鍵を獲得し、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信し、そのためUEは、第2の暗号化鍵および第2の完全性鍵を計算し、第2の暗号化鍵および第2の完全性鍵を用いて、SGSNとUEとの間の通信メッセージの暗号化保護および完全性保護を行う。これにより、GPRSネットワークにおける第1のタイプのUEの通信のセキュリティが強化される。
図4を参照されたい。図4は、本出願によるGPRSシステム鍵強化方法の別の実施形態の概略流れ図である。図4に示すように、本方法は以下のステップを含む。
S401.SGSNが、UEが送信した要求メッセージを受信する。
S402.SGSNは、HLR/HSSから認証ベクトルを取得し、認証ベクトルは第1の暗号化鍵および第1の完全性鍵を含む。
本出願の本実施形態では、ステップS401およびステップS402の具体的な実施態様については、図1に示す実施形態のステップS101およびステップS102を参照されたい。ここでは詳細を述べない。
S403.SGSNは、UEは第1のタイプのUEであると判定する。
いくつかの実行可能な実施態様において、SGSNはHLR/HSSにUEの識別子を送信することができる。HLR/HSSは、UEの識別子に従って、UEは第1のタイプのUEであると判定する。SGSNは、HLR/HSSが送信したUEタイプ指示情報を受信した場合、UEタイプ指示情報に従って、UEは第1のタイプのUEであると判定することができる。
いくつかの他の実行可能な実施態様において、UEがSGSNに送信した要求メッセージがUEタイプ指示情報を搬送している場合、SGSNは、UEは第1のタイプのUEであると判定することができる。
任意選択で、SGSNは、UEタイプ指示情報における特定の情報要素(Information Element、IE)の存在または非存在に従って、UEが第1のタイプのUEであるかどうか判定することもできる。例えば、UEタイプ指示情報が前述の特定のIEを含む場合、SGSNは、UEは第1のタイプのUEであると判定することができ、UEタイプ指示情報が前述の特定のIEを含まない場合、SGSNは、UEは第1のタイプのUEではないと判定することができる。あるいは、SGSNは、UEタイプ指示情報内のIEのデータコンテンツを用いて、UEが第1のタイプのUEであるかどうか判定することもできる。例えば、前述のIEのデータコンテンツが1である場合、SGSNは、UEは第1のタイプのUEであると判定することができ、前述のIEのデータコンテンツが0である場合、SGSNは、UEは第1のタイプのUEではないと判定することができる。
具体的な実施に際して、SGSNは、まず、HLR/HSSから認証ベクトルを取得し、次いで、UEは第1のタイプのUEであると判定してもよく、または、まず、UEは第1のタイプのUEであると判定し、次いで、HLR/HSSから認証ベクトルを取得してもよい。
S404.SGSNは、UEのための暗号化アルゴリズムおよび完全性アルゴリズムを選択する。
具体的な実施に際して、UEとSGSNとは、いくつかの暗号化アルゴリズムおよび完全性アルゴリズムで別々に構成されている。SGSNに要求メッセージを送信するときに、UEは、SGSNに、UEがサポートしている暗号化アルゴリズムおよび完全性アルゴリズムを送信する。UEの要求メッセージを受信すると、SGSNは、UEがサポートしている暗号化アルゴリズムおよび完全性アルゴリズムの中からSGSNがサポートしている暗号化アルゴリズムおよびSGSNがサポートしている完全性アルゴリズムを選択する。
本出願の本実施形態では、SGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズムは、認証ベクトル内の第1の暗号化鍵および第1の完全性鍵と共に、第2の暗号化鍵および第2の完全性鍵を計算するのに用いることができる。加えて、メッセージ暗号文を生成するために、SGSNが選択した暗号化アルゴリズムおよび生成された第2の暗号化鍵に従って通信メッセージに対して暗号化を行うことができる。SGSNが選択した完全性アルゴリズムおよび生成された第2の完全性鍵に従い、計算によってメッセージ認証コードMACを獲得することができる。メッセージ認証コードMACは、通信メッセージの完全性を検証するのに用いることができる。
任意選択で、GPRSネットワークが128ビットの第2の暗号化鍵を必要とする場合、SGSNが選択する暗号化アルゴリズムは、128−EEA1アルゴリズム、128−EEA2アルゴリズム、または128−EEA3アルゴリズムのうちのいずれか1つであってよく、SGSNが選択する完全性アルゴリズムは、128−EIA1アルゴリズム、128−EIA2アルゴリズム、または128−EIA3アルゴリズムのうちのいずれか1つであってよい。128−EEA1アルゴリズムおよび128−EIA1アルゴリズムのコアアルゴリズムとして、SNOW 3Gアルゴリズムが用いられる。128−EEA2アルゴリズムおよび128−EIA2アルゴリズムのコアアルゴリズムとして、AESアルゴリズムが用いられる。128−EEA3アルゴリズムおよび128−EIA3アルゴリズムのコアアルゴリズムとして、ZUCアルゴリズム(ZUCアルゴリズム)が用いられる。
S405.SGSNは、第1の暗号化鍵、第1のアルゴリズムタイプ指示、および選択された暗号化アルゴリズムの識別子に従って第2の暗号化鍵を計算する。
具体的には、SGSNは、第1の暗号化鍵、第1のアルゴリズムタイプ指示、および選択された暗号化アルゴリズムの識別子を、第2の暗号化鍵を計算するための鍵導出関数KDFの入力パラメータとして用いることができる。例えば、Kcipher=KDF(CK,algorithm type distinguisher1,ciphering algorithm id)であり、式中、CKは第1の暗号化鍵であり、algorithm type distinguisher1は第1のアルゴリズムタイプ指示であり、ciphering algorithm idは、SGSNが選択した暗号化アルゴリズムの識別子である。
任意選択で、GPRSシステムが64ビットの第2の暗号化鍵を必要とする場合、最上位64ビットを第2の暗号化鍵として計算されたKcipherの中から選択することができ、GPRSシステムが128ビットの第2の暗号化鍵を必要とする場合、最上位128ビットを第2の暗号化鍵として計算されたKcipherの中から選択することができる。別の実行可能な実施態様においては、必要な数のビットを第2の暗号化鍵として計算されたKcipherの中からランダムに選択することができ、これについては本出願では限定されない。
S406.SGSNは、第1の完全性鍵、第2のアルゴリズムタイプ指示、および選択された完全性アルゴリズムの識別子に従って第2の完全性鍵を計算する。
具体的には、SGSNは、第1の完全性鍵IK、第2のアルゴリズムタイプ指示algorithm type distinguisher2、および選択された完全性アルゴリズムの識別子integrity algorithm idを、第2の完全性鍵を計算するための鍵導出関数KDFへの入力パラメータとして用いることができる。例えば、Kintegrity=KDF(IK,algorithm type distinguisher2,integrity algorithm id)であり、式中、IKは第1の完全性鍵であり、algorithm type distinguisher2は第2のアルゴリズムタイプ指示であり、integrity algorithm id isはSGSNが選択した完全性アルゴリズムの識別子である。
任意選択で、GPRSシステムが64ビットの第2の完全性鍵を必要とする場合、最上位64ビットを第2の完全性鍵として計算されたKintegrityの中から選択することができ、GPRSシステムが128ビットの第2の完全性鍵を必要とする場合、最上位128ビットを第2の完全性鍵として計算されたKintegrityの中から選択することができる。別の実行可能な実施態様においては、必要な数のビットを第2の完全性鍵として計算されたKintegrityの中からランダムに選択することができ、これについては本出願では限定されない。
本出願の本実施形態では、第1のアルゴリズムタイプ指示は、現在演算に関与しているアルゴリズムが暗号化型のアルゴリズムであることを指示するのに用いられ、第2のアルゴリズムタイプ指示は、現在演算に関与しているアルゴリズムが完全性型のアルゴリズムであることを指示するのに用いられる。第1のアルゴリズムタイプ指示の値と第2のアルゴリズムタイプ指示の値とは異なる。いくつかの実行可能な実施形態において、第1のアルゴリズムタイプ指示と第2のアルゴリズムタイプ指示とは同じIEを含む場合があり、第1のアルゴリズムタイプ指示と第2のアルゴリズムタイプ指示とはIEの異なる値を用いて区別される。例えば、第1のアルゴリズムタイプ指示のIEと第2のアルゴリズムタイプ指示のIEとはどちらも、algorithm type distinguisherである。algorithm type distinguisher=00の場合、それは暗号化型のアルゴリズムを指示する。algorithm type distinguisher=01の場合、それは完全性型のアルゴリズムを指示する。
いくつかの可能な事例において、暗号化アルゴリズムと完全性アルゴリズムとは同じ識別子を用いる場合があり、これらの事例では、アルゴリズムタイプ指示を参照して各アルゴリズムを一意に区別する必要がある。例えば、128−EEA1アルゴリズムと128−EIA1アルゴリズムとがどちらもアルゴリズム識別子として1を用いる場合、SGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズムが、それぞれ、128−EEA1アルゴリズムおよび128−EIA1アルゴリズムであるときには、128−EEA1アルゴリズムと128−EIA1アルゴリズムとを、第1のアルゴリズムタイプ指示と第2のアルゴリズムタイプ指示との異なる値を用いて区別することができる。加えて、第2の暗号化鍵と第2の完全性鍵とを区別するように、計算された第2の暗号化鍵の値と計算された第2の完全性鍵の値とを差別化することもできる。
S407.SGSNは、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信する。
具体的な実施に際して、SGSNは、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信するときに、UEに、認証ベクトル内の乱数RANDおよび認証トークンAUTNをさらに送信することができる。UEは、認証トークンAUTNに従ってSGSN側に対する認証を行うことができ、すなわち、UE側は、ネットワーク側に対する認証を行い、受信した乱数RANDおよび受信した認証トークンAUTNに従ってf1アルゴリズムからf5アルゴリズムを用いて、第1の暗号化鍵CKおよび第1の完全性鍵IKをさらに計算することができる。
具体的な実施に際して、UEに、SGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズムを送信するステップS407と、第2の暗号化鍵を計算するステップS405と、第2の完全性鍵を計算するステップS406との間に順序はない。
SGSNとUEとの間の通信メッセージを保護するためは、SGSNとUEの両方が、合意された鍵(すなわち、第2の暗号化鍵および第2の完全性鍵)と、合意されたアルゴリズム(すなわち、SGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズム)を用いて、通信メッセージに対する暗号化を行う必要がある。したがって、SGSNは、暗号化アルゴリズムおよび完全性アルゴリズムを選択した後で、UEが、第1の暗号化鍵CKおよび第1の完全性鍵IKに従って第2の暗号化鍵および第2の完全性鍵を計算した後で、SGSNが用いるのと同じ暗号化アルゴリズムおよび完全性アルゴリズム、第2の暗号化鍵、ならびに第2の完全性鍵を用いて、通信メッセージに対する暗号化を行うように、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信する必要がある。
本出願の本実施形態では、SGSNは、UEが送信した要求メッセージを受信し、UEは第1のタイプのUEであると判定した後で、暗号化アルゴリズムおよび完全性アルゴリズムを選択し、HLR/HSSから認証ベクトルを取得し、認証ベクトルに含まれている第1の暗号化鍵および第1の完全性鍵に従って強化された第2の暗号化鍵および強化された第2の完全性鍵を獲得し、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信し、そのためUEは、第2の暗号化鍵および第2の完全性鍵を計算し、第2の暗号化鍵および第2の完全性鍵を用いて、SGSNとUEとの間の通信メッセージの暗号化保護および完全性保護を行う。これにより、GPRSネットワークにおける第1のタイプのUEの通信のセキュリティが強化される。
図5を参照されたい。図5は、本出願によるGPRSシステム鍵強化方法の別の実施形態の概略流れ図である。図5に示すように、本方法は以下のステップを含む。
S501.SGSNが、UEが送信した要求メッセージを受信する。
S502.SGSNは、HLR/HSSから認証ベクトルを取得し、認証ベクトルは第1の暗号化鍵および第1の完全性鍵を含む。
本出願の本実施形態では、ステップS501およびステップS502の具体的な実施態様については、図1に示す実施形態のステップS101およびステップS102を参照されたい。ここでは詳細を述べない。
S503.SGSNは、UEは第1のタイプのUEであると判定する。
S504.SGSNは、UEのための暗号化アルゴリズムおよび完全性アルゴリズムを選択する。
本出願の本実施形態では、ステップS503およびステップS504の具体的な実施態様については、図3に示す実施形態のステップS303およびステップS304を参照されたい。ここでは詳細を述べない。
S505.SGSNは、第1の暗号化鍵または第1の暗号化鍵の事前設定ビットを第2の暗号化鍵として用いる。
いくつかの実行可能な実施態様においては、第1の暗号化鍵が128ビット鍵であり、GPRSシステムが必要とする第2の暗号化鍵も128ビット鍵である場合、第1の暗号化鍵を第2の暗号化鍵として直接用いることができる。GPRSシステムが必要とする第2の暗号化鍵が64ビット鍵である場合には、64事前設定ビットを第2の暗号化鍵として第1の暗号化鍵の中から選択することができる。例えば、最上位64ビットが第2の暗号化鍵として選択される。
S506.SGSNは、第1の完全性鍵または第1の完全性鍵の事前設定ビットを第2の完全性鍵として用いる。
いくつかの実行可能な実施態様においては、第1の完全性鍵が128ビット鍵であり、GPRSシステムが必要とする第2の完全性鍵も128ビット鍵である場合、第1の完全性鍵を第2の完全性鍵として直接用いることができる。GPRSシステムが必要とする第2の完全性鍵が64ビット鍵である場合には、64事前設定ビットを第2の完全性鍵として第1の完全性鍵の中から選択することができる。例えば、最上位64ビットが第2の完全性鍵として選択される。
本出願の本実施形態では、メッセージ暗号文を生成するために、第2の暗号化鍵およびSGSNが選択した暗号化アルゴリズムに従って、通信メッセージに対して暗号化を行うことができる。第2の完全性鍵およびSGSNが選択した完全性アルゴリズムに従って計算によってメッセージ認証コードMACを獲得することができる。メッセージ認証コードMACは、通信メッセージの完全性を検証するのに用いることができる。
S507.SGSNは、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信する。
具体的な実施に際して、SGSNは、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信するときに、UEに、認証ベクトル内の乱数RANDおよび認証トークンAUTNをさらに送信することができる。UEは、認証トークンAUTNに従ってSGSN側に対する認証を行うことができ、すなわち、UE側は、ネットワーク側に対する認証を行い、受信した乱数RANDおよび受信した認証トークンAUTNに従ってf1アルゴリズムからf5アルゴリズムを用いて、第1の暗号化鍵CKおよび第1の完全性鍵IKをさらに計算することができる。
具体的な実施に際して、UEに、SGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズムを送信するステップS507と、ステップS505と、ステップ506との間に順序はない。
SGSNとUEとの間の通信メッセージを保護するためは、SGSNとUEの両方が、合意された鍵(すなわち、第2の暗号化鍵および第2の完全性鍵)と、合意されたアルゴリズム(すなわち、SGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズム)を用いて、通信メッセージに対する暗号化を行う必要がある。したがって、SGSNは、暗号化アルゴリズムおよび完全性アルゴリズムを選択した後で、UEが、第1の暗号化鍵CKおよび第1の完全性鍵IKに従って第2の暗号化鍵および第2の完全性鍵を計算した後で、SGSNが用いるのと同じ暗号化アルゴリズムおよび完全性アルゴリズム、第2の暗号化鍵、ならびに第2の完全性鍵を用いて、通信メッセージに対する暗号化を行うように、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信する必要がある。
本出願の本実施形態では、SGSNは、UEが送信した要求メッセージを受信し、UEは第1のタイプのUEであると判定した後で、暗号化アルゴリズムおよび完全性アルゴリズムを選択し、HLR/HSSから認証ベクトルを取得し、認証ベクトルに含まれている第1の暗号化鍵および第1の完全性鍵に従って強化された第2の暗号化鍵および強化された第2の完全性鍵を獲得し、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信し、そのため、UEが第2の暗号化鍵および第2の完全性鍵を計算した後で、SGSNとUEはどちらも、第2の暗号化鍵、第2の完全性鍵、ならびにSGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズムを用いて、SGSNとUEとの間の通信メッセージの暗号化保護および完全性保護を行うことができる。これにより、GPRSネットワークにおける第1のタイプのUEの通信のセキュリティが強化される。
図6を参照されたい。図6は、本出願によるGPRSシステム鍵強化方法の別の実施形態の概略流れ図である。図6に示すように、本方法は以下のステップを含む。
S601.UEが、SGSNに要求メッセージを送信する。
具体的な実施に際しては、UEがSGSNに送信する要求メッセージは、アタッチ要求メッセージ、経路更新メッセージ、または、サービス要求メッセージなど、別のメッセージとすることができる。UEが送信した要求メッセージを受信した後で、SGSNは、要求メッセージを送信したUEの識別子を取得することができる。UEが第1のタイプのUEである場合、要求メッセージはUEタイプ指示情報を搬送することができる。
本出願の本実施形態では、UEはUSIMカードを用いてネットワークと通信し、UEの識別子は、USIMカードのIMSI(International Mobile Subscriber Identification Number、国際移動体加入者識別番号)であってよい。第1のタイプのUEは、モノのインターネットUE、マシンツーマシン(Machine To Machine、M2M)通信UE、または他の高セキュリティUEを含んでいてよい。モノのインターネットUEとは、情報感知機能およびデータ伝送機能を有するユーザ機器、例えば、音声ガイド、携帯情報端末、バーコードコレクタ、データ収集端末、および購入または送金に主に用いられるPOS端末をいう。マシンツーマシン通信UEとは、人、モバイルネットワーク、または別の機械と情報を交換するために、ネットワーク接続および通信能力を有し、センサ、コントローラなどを用いて「インテリジェンス」属性を実現するユーザ機器をいう。
本出願の本実施形態では、UEが第1のタイプのUEである例を用いて説明する。いくつかの実行可能な実施態様において、UEがSGSNに送信する要求メッセージはUEタイプ指示情報を含むことができ、そのためSGSNは、UEタイプ指示情報に従って、UEは第1のタイプのUEであると判定する。
任意選択で、UEタイプ指示情報は、特定の情報要素(Information Element、IE)の存在に従って、UEは第1のタイプのUEであると指示することもできる。例えば、SGSNが、HLR/HSSまたはUEが送信したUEタイプ指示情報を受信したときに、UEタイプ指示情報に特定のIEが存在する場合、SGSNは、UEは第1のタイプのUEであると判定することができ、UEタイプ指示情報に特定のIEが存在しない場合、SGSNは、UEは第1のタイプのUEではないと判定することができる。あるいは、UEタイプ指示情報は、特定のIEの値に従って、UEは第1のタイプのUEであると指示することもできる。例えば、SGSNが、HLR/HSSまたはUEが送信したUEタイプ指示情報を受信したときに、UEタイプ指示情報内の特定のIEの値が1である場合、SGSNは、UEは第1のタイプのUEであると判定することができ、特定のIEの値が0である場合、SGSNは、UEは第1のタイプのUEではないと判定することができる。
具体的な実施に際して、UEとSGSNとは、いくつかの暗号化アルゴリズムおよび完全性アルゴリズムで別々に構成されている。SGSNに要求メッセージを送信するときに、UEは、SGSNに、UEがサポートしている暗号化アルゴリズムおよび完全性アルゴリズムを送信する。
S602.UEは、SGSNが送信した暗号化アルゴリズムおよび完全性アルゴリズムを受信する。
SGSNがUEの要求メッセージを受信した後で、前述のUEは第1のタイプのUEであると判定された場合、SGSNは、UEがサポートしている暗号化アルゴリズムおよび完全性アルゴリズムの中からSGSNがサポートしている暗号化アルゴリズムおよびSGSNがサポートしている完全性アルゴリズムを選択する。SGSNは、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信し、認証ベクトル内の第1の暗号化鍵および第1の完全性鍵に従って第2の暗号化鍵および第2の完全性鍵を獲得する。
具体的な実施に際して、SGSNは、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信するときに、UEに、認証ベクトル内の乱数RANDおよび認証トークンAUTNをさらに送信することができる。UEは、UE側がネットワーク側に対する認証を行うように、認証トークンAUTNに従ってSGSNに対する認証を行うことができる。UEは、受信した乱数RANDおよび受信した認証トークンAUTNに従ってf1アルゴリズムからf5アルゴリズムを用いて、第1の暗号化鍵および第1の完全性鍵をさらに計算することができる。UEが計算する第1の暗号化鍵および第1の完全性鍵は、SGSNがHLR/HSSから取得する認証ベクトル内の第1の暗号化鍵および第1の完全性鍵と同じである。SGSNがHLR/HSSから取得する認証ベクトルは認証ベクトルクインテットであり、乱数RAND、予期される応答XRES、認証トークンAUTN、暗号化鍵CK、および完全性鍵IKを含む。
本出願の本実施形態では、第1の暗号化鍵は認証ベクトルクインテット内の暗号化鍵CKであり、第1の完全性鍵は認証ベクトルクインテット内の完全性鍵IKである。
いくつかの実行可能な実施態様において、SGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズムは、第1の暗号化鍵CKおよび第1の完全性鍵IKと共に、第2の暗号化鍵および第2の完全性鍵を計算するのに用いることができる。加えて、メッセージ暗号文を生成するために、暗号化アルゴリズムおよび生成された第2の暗号化鍵に従って通信メッセージに対して暗号化を行うことができる。完全性アルゴリズムおよび生成された第2の完全性鍵に従って計算によってメッセージ認証コードMACを獲得することができる。メッセージ認証コードMACは、通信メッセージの完全性を検証するのに用いることができる。
任意選択で、GPRSネットワークが128ビットの第2の暗号化鍵を必要とする場合、SGSNが選択する暗号化アルゴリズムは、128−EEA1アルゴリズム、128−EEA2アルゴリズム、または128−EEA3アルゴリズムのうちのいずれか1つであってよく、SGSNが選択する完全性アルゴリズムは、128−EIA1アルゴリズム、128−EIA2アルゴリズム、または128−EIA3アルゴリズムのうちのいずれか1つであってよい。128−EEA1アルゴリズムおよび128−EIA1アルゴリズムのコアアルゴリズムとして、SNOW 3Gアルゴリズムが用いられる。128−EEA2アルゴリズムおよび128−EIA2アルゴリズムのコアアルゴリズムとして、AESアルゴリズムが用いられる。128−EEA3アルゴリズムおよび128−EIA3アルゴリズムのコアアルゴリズムとして、ZUCアルゴリズム(ZUCアルゴリズム)が用いられる。
S603.UEは、第1の暗号化鍵および第1の完全性鍵に従って第2の暗号化鍵および第2の完全性鍵を取得する。
本出願の本実施形態では、第2の暗号化鍵および第2の完全性鍵は、第1の暗号化鍵および第1の完全性鍵に基づく強化された鍵である。第2の暗号化鍵およびSGSNが送信した暗号化アルゴリズムは、SGSNとUEとの間で送信されるメッセージに対する暗号化保護を行うのに用いられ、第2の完全性鍵およびSGSNが送信した完全性アルゴリズムは、SGSNとUEとの間で送信されるメッセージに対する完全性保護を行うのに用いられる。
任意選択で、UEは、第1の暗号化鍵および第1の完全性鍵のみに従って第2の暗号化鍵および第2の完全性鍵を取得してもよく、または第1の暗号化鍵、第1の完全性鍵、ならびにSGSNが送信した暗号化アルゴリズムおよび完全性アルゴリズムに従って第2の暗号化鍵および第2の完全性鍵を取得してもよい。
第2の暗号化鍵および第2の完全性鍵を取得した後で、SGSNとUEとの間の通信メッセージを保護するために、SGSNとUEの両方が、合意された鍵(すなわち、第2の暗号化鍵および第2の完全性鍵)と、合意されたアルゴリズム(すなわち、SGSNが送信した暗号化アルゴリズムおよび完全性アルゴリズム)を用いて、通信メッセージに対する暗号化を行う必要がある。
本出願の本実施形態では、UEは、SGSNに要求メッセージを送信し、SGSNが送信した暗号化アルゴリズムおよび完全性アルゴリズムを受信し、第1の暗号化鍵および第1の完全性鍵に従って第2の暗号化鍵および第2の完全性鍵を計算する。SGSNとUEはどちらも、第2の暗号化鍵、第2の完全性鍵、ならびにSGSNがUEに送信した暗号化アルゴリズムおよび完全性アルゴリズムを用いて、UEとSGSNとの間の通信メッセージに対する暗号化保護および完全性保護を行うことができる。これにより、GPRSネットワークにおける第1のタイプのUEの通信のセキュリティが強化される。
図7を参照されたい。図7は、本出願によるGPRSシステム鍵強化方法の別の実施形態の概略流れ図である。図7に示すように、本方法は以下のステップを含む。
S701.UEが、SGSNに要求メッセージを送信する。
S702.UEは、SGSNが送信した暗号化アルゴリズムおよび完全性アルゴリズムを受信する。
本出願の本実施形態では、ステップS701およびステップS702の具体的な実施態様については、図6に示す実施形態のステップS601およびステップS602を参照されたい。ここでは詳細を述べない。
S703.UEは、第1の暗号化鍵および第1の完全性鍵に従って中間鍵を計算する。
SGSNが送信した暗号化アルゴリズムおよび完全性アルゴリズムを受信するときに、UEは、SGSNが送信した乱数RANDおよび認証トークンAUTNをさらに受信する。中間鍵を計算する前に、認証トークンAUTNおよび乱数RANDに従って予期されるメッセージ認証コードXMACをまず計算することができ、予期されるメッセージ認証コードXMACが認証トークンAUTN内のメッセージ認証コードMACと同じであるかどうか判定することによってSGSN側に対する認証が行われる。SGSN側に対する認証に成功した後で、UEは、SGSNが送信した乱数RANDおよび認証トークンAUTNに従って第1の暗号化鍵CKおよび第1の完全性鍵IKを計算し、乱数応答RESを計算し、SGSN側がUEに対する認証を行うように、SGSNに乱数応答RESを送信する。
1つの実行可能な実施態様において、UEは、第1の暗号化鍵および第1の完全性鍵に対する演算を行い、演算結果を鍵導出関数KDFの入力パラメータとして用いて中間鍵を計算することができる。例えば、中間鍵はKm=KDF(CK||IK)とすることができ、式中、CK||IKは、第1の暗号化鍵CKと第1の完全性鍵IKとに対して結合演算が行われることを示している。
別の実行可能な実施態様において、中間鍵は、既存の64ビットGPRS暗号化鍵Kcまたは既存の128ビット暗号化鍵Kc128を直接用いてよく、すなわち、既存のGPRS暗号化鍵Kc(64ビット)を中間鍵として直接用いてよく、または既存のKc128(128ビット)を中間鍵として直接用いてよい。KcとKc128はどちらも、CkおよびIKに従った計算によって生成される。
S704.UEは、中間鍵に従って、または中間鍵および暗号化特徴記号列に従って第2の暗号化鍵を計算する。
1つの実行可能な実施態様において、UEは、中間鍵の第1の事前設定ビットを第2の暗号化鍵として用いることができる。例えば、GPRSシステムが64ビットの第2の暗号化鍵を必要とする場合、中間鍵の最上位64ビットを第2の暗号化鍵として直接用いることができ、GPRSシステムが128ビットの第2の暗号化鍵を必要とする場合、中間鍵の最上位128ビットを第2の暗号化鍵として直接用いることができる。別の任意選択の実施態様においては、必要な数のビットを第2の暗号化鍵として中間鍵の中からランダムに選択することができ、これについては本出願では限定しない。
別の実行可能な実施態様において、UEは、中間鍵および暗号化特徴記号列cipheringに従って第2の暗号化鍵を計算することができる。具体的な実施に際しては、中間鍵および暗号化特徴記号列cipheringを、第2の暗号化鍵を計算するための鍵導出関数KDFの入力パラメータとして用いることができる。例えば、第2の暗号化鍵は、Kcipher=KDF(Km,“ciphering”)を用いた計算によって獲得することができ、式中、“ciphering”は暗号化特徴記号列であり、コード化によって生成することができる。
いくつかの実行可能な実施態様において、GPRSシステムは128ビットの第2の暗号化鍵を必要とし、この場合、事前設定の128ビット(例えば、最上位の128ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の暗号化鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の128ビット(例えば、最上位の128ビット)が第2の暗号化鍵としてKDFの出力から取得され、または中間鍵Kc128を鍵導出関数KDFの入力パラメータの1つとして用いることもでき、鍵導出関数KDFの出力が第2の暗号化鍵として用いられる。
いくつかの実行可能な実施態様において、GPRSシステムは64ビットの第2の暗号化鍵を必要とし、この場合、事前設定の64ビット(例えば、最上位の64ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の暗号化鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の64ビット(例えば、最上位の64ビット)が第2の暗号化鍵としてKDFの出力から取得され、または中間鍵Kc(64ビット)を鍵導出関数KDFの入力パラメータの1つとして用いることもでき、鍵導出関数KDFの出力が第2の暗号化鍵として用いられる。
S705.UEは、中間鍵に従って、または中間鍵および完全性特徴記号列に従って第2の完全性鍵を計算する。
1つの実行可能な実施態様においては、UEは、中間鍵の第2の事前設定ビットを第2の完全性鍵として用いることができる。例えば、GPRSシステムが64ビットの第2の完全性鍵を必要とする場合、中間鍵の最下位64ビットを第2の完全性鍵として直接用いることができ、GPRSシステムが128ビットの第2の完全性鍵を必要とする場合、中間鍵の最下位128ビットを第2の完全性鍵として直接用いることができる。任意選択で、必要な数のビットを第2の完全性鍵として中間鍵の中からランダムに選択することもでき、これについては本出願では限定しない。
別の任意選択の実施態様において、UEは、中間鍵および完全性特徴記号列integrityに従って第2の完全性鍵を計算することができる。具体的な実施に際しては、中間鍵および完全性特徴記号列integrityを、第2の完全性鍵を計算するための鍵導出関数KDFの入力パラメータとして用いることができる。例えば、第2の完全性鍵は、Kintegrity=KDF(Km,“integrity”)を用いた計算によって獲得することができ、式中、“integrity”は完全性特徴記号列であり、コード化によって生成することができる。
いくつかの実行可能な実施態様において、GPRSシステムは128ビットの第2の完全性鍵を必要とし、この場合、事前設定の128ビット(例えば、最上位の128ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の完全性鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の128ビット(例えば、最上位の128ビット)が第2の完全性鍵としてKDFの出力から取得され、または中間鍵Kc128を鍵導出関数KDFの入力パラメータの1つとして用いることもでき、鍵導出関数KDFの出力が第2の完全性鍵として用いられる。
いくつかの実行可能な実施態様において、GPRSシステムは64ビットの第2の完全性鍵を必要とし、この場合、事前設定の64ビット(例えば、最上位の64ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の完全性鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の64ビット(例えば、最上位の64ビット)が第2の完全性鍵としてKDFの出力から取得され、または中間鍵Kc(64ビット)を鍵導出関数KDFの入力パラメータの1つとして用いることもでき、鍵導出関数KDFの出力が第2の完全性鍵として用いられる。
本出願の本実施形態では、暗号化特徴記号列cipheringおよび完全性特徴記号列integrityは、計算された第2の暗号化鍵と計算された第2の完全性鍵とを区別しやすいよう差別化するのに用いられる。したがって、完全性特徴記号列integrityは、暗号化特徴記号列cipheringと一致しない任意の記号列とすることができる。
本出願の本実施形態では、UEは、SGSNに要求メッセージを送信し、SGSNが送信した暗号化アルゴリズムおよび完全性アルゴリズムを受信し、第1の暗号化鍵および第1の完全性鍵に従って第2の暗号化鍵および第2の完全性鍵を計算する。SGSNとUEはどちらも、第2の暗号化鍵、第2の完全性鍵、ならびにSGSNがUEに送信した暗号化アルゴリズムおよび完全性アルゴリズムを用いて、UEとSGSNとの間の通信メッセージに対する暗号化保護および完全性保護を行うことができる。これにより、GPRSネットワークにおける第1のタイプのUEの通信のセキュリティが強化される。
図8を参照されたい。図8は、本出願によるGPRSシステム鍵強化方法の別の実施形態の概略流れ図である。図8に示すように、本方法は以下のステップを含む。
S801.UEが、SGSNに要求メッセージを送信する。
S802.UEは、SGSNが送信した暗号化アルゴリズムおよび完全性アルゴリズムを受信する。
S803.UEは、第1の暗号化鍵および第1の完全性鍵に従って中間鍵を計算する。
本出願の本実施形態では、ステップS801からステップS803の具体的な実施態様については、図7に示す実施形態のステップS701からステップS703を参照されたい。ここでは詳細を述べない。
S804.UEは、中間鍵、第1のアルゴリズムタイプ指示、および暗号化アルゴリズムの識別子に従って第2の暗号化鍵を計算する。
具体的な実施に際しては、中間鍵、第1のアルゴリズムタイプ指示、および暗号化アルゴリズムの識別子を、第2の暗号化鍵を計算するための鍵導出関数KDFの入力パラメータとして用いることができる。例えば、第2の暗号化鍵Kcipherは、Kcipher=KDF(Km,algorithm type distinguisher1,ciphering algorithm id)を用いた計算によって獲得することができ、式中、Kmは中間鍵であり、algorithm type distinguisher1は第1のアルゴリズムタイプ指示であり、ciphering algorithm idは、SGSNが選択した暗号化アルゴリズムの識別子である。
いくつかの実行可能な実施態様において、GPRSシステムは128ビットの第2の暗号化鍵を必要とし、この場合、事前設定の128ビット(例えば、最上位の128ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の暗号化鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の128ビット(例えば、最上位の128ビット)が第2の暗号化鍵としてKDFの出力から取得され、または中間鍵Kc128は鍵導出関数KDFの入力パラメータの1つとして用いられ、鍵導出関数KDFの出力が第2の暗号化鍵として用いられる。
いくつかの実行可能な実施態様において、GPRSシステムは64ビットの第2の暗号化鍵を必要とし、この場合、事前設定の64ビット(例えば、最上位の64ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の暗号化鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の64ビット(例えば、最上位の64ビット)が第2の暗号化鍵としてKDFの出力から取得され、または中間鍵Kc(64ビット)を鍵導出関数KDFの入力パラメータの1つとして用いることもでき、鍵導出関数KDFの出力が第2の暗号化鍵として用いられる。
S805.UEは、中間鍵、第2のアルゴリズムタイプ指示、および完全性アルゴリズムの識別子に従って第2の完全性鍵を計算する。
具体的な実施に際しては、中間鍵、第2のアルゴリズムタイプ指示、および完全性アルゴリズムの識別子を、第2の完全性鍵を計算するための鍵導出関数KDFの入力パラメータとして用いることができる。例えば、第2の完全性鍵K integrity は、Kintegrity=KDF(Km,algorithm type distinguisher2,integrity algorithm id)を用いた計算によって獲得することができ、式中、Kmは中間鍵であり、algorithm type distinguisher2は第2のアルゴリズムタイプ指示であり、integrity algorithm idはSGSNが選択した完全性アルゴリズムの識別子である。
いくつかの実行可能な実施態様において、GPRSシステムは128ビットの第2の完全性鍵を必要とし、この場合、事前設定の128ビット(例えば、最上位の128ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の完全性鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の128ビット(例えば、最上位の128ビット)が第2の完全性鍵としてKDFの出力から取得され、または中間鍵Kc128を鍵導出関数KDFの入力パラメータの1つとして用いることもでき、鍵導出関数KDFの出力が第2の完全性鍵として用いられる。
いくつかの実行可能な実施態様において、GPRSシステムは64ビットの第2の完全性鍵を必要とし、この場合、事前設定の64ビット(例えば、最上位の64ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の完全性鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の64ビット(例えば、最上位の64ビット)が第2の完全性鍵としてKDFの出力から取得され、または中間鍵Kc(64ビット)を鍵導出関数KDFの入力パラメータの1つとして用いることもでき、鍵導出関数KDFの出力が第2の完全性鍵として用いられる。
本出願の本実施形態では、第1のアルゴリズムタイプ指示は、現在演算に関与しているアルゴリズムが暗号化型のアルゴリズムであることを指示するのに用いられ、第2のアルゴリズムタイプ指示は、現在演算に関与しているアルゴリズムが完全性型のアルゴリズムであることを指示するのに用いられる。第1のアルゴリズムタイプ指示の値と第2のアルゴリズムタイプ指示の値とは異なる。いくつかの実行可能な実施形態において、第1のアルゴリズムタイプ指示と第2のアルゴリズムタイプ指示とは同じIEを含む場合があり、第1のアルゴリズムタイプ指示と第2のアルゴリズムタイプ指示とはIEの異なる値を用いて区別される。例えば、第1のアルゴリズムタイプ指示のIEと第2のアルゴリズムタイプ指示のIEとはどちらも、algorithm type distinguisherである。algorithm type distinguisher=00の場合、それは暗号化型のアルゴリズムを指示する。algorithm type distinguisher=01の場合、それは完全性型のアルゴリズムを指示する。
いくつかの可能な事例において、暗号化アルゴリズムと完全性アルゴリズムとは同じ識別子を用いる場合があり、これらの事例では、アルゴリズムタイプ指示を参照して各アルゴリズムを一意に区別する必要がある。例えば、128−EEA1アルゴリズムと128−EIA1アルゴリズムとがどちらもアルゴリズム識別子として1を用いる場合、SGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズムが、それぞれ、128−EEA1アルゴリズムおよび128−EIA1アルゴリズムであるときには、128−EEA1アルゴリズムと128−EIA1アルゴリズムとを、第1のアルゴリズムタイプ指示と第2のアルゴリズムタイプ指示とのIEの異なる値を用いて区別することができる。加えて、第2の暗号化鍵と第2の完全性鍵とを区別するように、計算された第2の暗号化鍵の値と計算された第2の完全性鍵の値とを差別化することもできる。
本出願の本実施形態では、UEが、SGSNに要求メッセージを送信し、SGSNが送信した暗号化アルゴリズムおよび完全性アルゴリズムを受信し、第1の暗号化鍵および第1の完全性鍵に従って第2の暗号化鍵および第2の完全性鍵を取得する。SGSNとUEはどちらも、第2の暗号化鍵、第2の完全性鍵、ならびにSGSNがUEに送信した暗号化アルゴリズムおよび完全性アルゴリズムを用いて、UEとSGSNとの間の通信メッセージに対する暗号化保護および完全性保護を行うことができる。これにより、GPRSネットワークにおける第1のタイプのUEの通信のセキュリティが強化される。
図9を参照されたい。図9は、本出願によるGPRSシステム鍵強化方法の別の実施形態の概略流れ図である。図9に示すように、本方法は以下のステップを含む。
S901.UEが、SGSNに要求メッセージを送信する。
S902.UEは、SGSNが送信した暗号化アルゴリズムおよび完全性アルゴリズムを受信する。
本出願の本実施形態では、ステップS901およびステップS902の具体的な実施態様については、図6に示す実施形態のステップS601およびステップS602を参照されたい。ここでは詳細を述べない。
S903.UEは、第1の暗号化鍵、第1のアルゴリズムタイプ指示、および暗号化アルゴリズムの識別子に従って第2の暗号化鍵を計算する。
SGSNが送信した暗号化アルゴリズムおよび完全性アルゴリズムを受信するときに、UEは、SGSNが送信した乱数RANDおよび認証トークンAUTNをさらに受信する。第2の暗号化鍵または第2の完全性鍵を計算する前に、UEは、認証トークンAUTNおよび乱数RANDに従って予期されるメッセージ認証コードXMACをまず計算し、予期されるメッセージ認証コードXMACが認証トークンAUTN内のメッセージ認証コードMACと同じであるかどうか判定することによってSGSN側に対する認証を行うことができる。SGSN側に対する認証に成功した後で、UEは、SGSNが送信した乱数RANDおよび認証トークンAUTNに従って第1の暗号化鍵CKおよび第1の完全性鍵IKを計算し、乱数応答RESを計算し、SGSN側がUEに対する認証を行うように、SGSNに乱数応答RESを送信する。
具体的には、UEは、第1の暗号化鍵、第1のアルゴリズムタイプ指示、および選択された暗号化アルゴリズムの識別子を、第2の暗号化鍵を計算するための鍵導出関数KDFの入力パラメータとして用いることができる。例えば、Kcipher=KDF(CK,algorithm type distinguisher1,ciphering algorithm id)であり、式中、CKは第1の暗号化鍵であり、algorithm type distinguisher1は第1のアルゴリズムタイプ指示であり、ciphering algorithm idは、SGSNが選択した暗号化アルゴリズムの識別子である。
任意選択で、GPRSシステムが64ビットの第2の暗号化鍵を必要とする場合、最上位64ビットを第2の暗号化鍵として計算されたKcipherの中から選択することができ、GPRSシステムが128ビットの第2の暗号化鍵を必要とする場合、最上位128ビットを第2の暗号化鍵として計算されたKcipherの中から選択することができる。別の実行可能な実施態様においては、必要な数のビットを第2の暗号化鍵として計算されたKcipherの中からランダムに選択することができ、これについては本出願では限定されない。
S904.UEは、第1の完全性鍵、第2のアルゴリズムタイプ指示、および完全性アルゴリズムの識別子に従って第2の完全性鍵を計算する。
具体的には、UEは、第1の完全性鍵IK、第2のアルゴリズムタイプ指示algorithm type distinguisher2、および選択された完全性アルゴリズムの識別子integrity algorithm idを、第2の完全性鍵を計算するための鍵導出関数KDFへの入力パラメータとして用いることができる。例えば、Kintegrity=KDF(IK,algorithm type distinguisher2,integrity algorithm id)であり、式中、IKは第1の完全性鍵であり、algorithm type distinguisher2は第2のアルゴリズムタイプ指示であり、integrity algorithm id isはSGSNが選択した完全性アルゴリズムの識別子である。
任意選択で、GPRSシステムが64ビットの第2の完全性鍵を必要とする場合、最上位64ビットを第2の完全性鍵として計算されたKintegrityの中から選択することができ、GPRSシステムが128ビットの第2の完全性鍵を必要とする場合、最上位128ビットを第2の完全性鍵として計算されたKintegrityの中から選択することができる。別の実行可能な実施態様においては、必要な数のビットを第2の完全性鍵として計算されたKintegrityの中からランダムに選択することができ、これについては本出願では限定されない。
本出願の本実施形態では、第1のアルゴリズムタイプ指示は、現在演算に関与しているアルゴリズムが暗号化型のアルゴリズムであることを指示するのに用いられ、第2のアルゴリズムタイプ指示は、現在演算に関与しているアルゴリズムが完全性型のアルゴリズムであることを指示するのに用いられる。第1のアルゴリズムタイプ指示の値と第2のアルゴリズムタイプ指示の値とは異なる。いくつかの実行可能な実施形態において、第1のアルゴリズムタイプ指示と第2のアルゴリズムタイプ指示とは同じIEを含む場合があり、第1のアルゴリズムタイプ指示と第2のアルゴリズムタイプ指示とはIEの異なる値を用いて区別される。例えば、第1のアルゴリズムタイプ指示のIEと第2のアルゴリズムタイプ指示のIEとはどちらも、algorithm type distinguisherである。algorithm type distinguisher=00の場合、それは暗号化型のアルゴリズムを指示する。algorithm type distinguisher=01の場合、それは完全性型のアルゴリズムを指示する。
いくつかの可能な事例において、暗号化アルゴリズムと完全性アルゴリズムとは同じ識別子を用いる場合があり、これらの事例では、アルゴリズムタイプ指示を参照して各アルゴリズムを一意に区別する必要がある。例えば、128−EEA1アルゴリズムと128−EIA1アルゴリズムとがどちらもアルゴリズム識別子として1を用いる場合、SGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズムが、それぞれ、128−EEA1アルゴリズムおよび128−EIA1アルゴリズムであるときには、128−EEA1アルゴリズムと128−EIA1アルゴリズムとを、第1のアルゴリズムタイプ指示と第2のアルゴリズムタイプ指示との異なる値を用いて区別することができる。加えて、第2の暗号化鍵と第2の完全性鍵とを区別するように、計算された第2の暗号化鍵の値と計算された第2の完全性鍵の値とを差別化することもできる。
本出願の本実施形態では、UEは、SGSNに要求メッセージを送信し、SGSNが送信した暗号化アルゴリズムおよび完全性アルゴリズムを受信し、第1の暗号化鍵および第1の完全性鍵に従って第2の暗号化鍵および第2の完全性鍵を計算する。SGSNとUEはどちらも、第2の暗号化鍵、第2の完全性鍵、ならびにSGSNがUEに送信した暗号化アルゴリズムおよび完全性アルゴリズムを用いて、UEとSGSNとの間の通信メッセージに対する暗号化保護および完全性保護を行うことができる。これにより、GPRSネットワークにおける第1のタイプのUEの通信のセキュリティが強化される。
図10を参照されたい。図10は、本出願によるGPRSシステム鍵強化方法の別の実施形態の概略流れ図である。図10に示すように、本方法は以下のステップを含む。
S1001.UEが、SGSNに要求メッセージを送信する。
S1002.UEは、SGSNが送信した暗号化アルゴリズムおよび完全性アルゴリズムを受信する。
本出願の本実施形態では、ステップS1001およびステップS1002の具体的な実施態様については、図6に示す実施形態のステップS601およびステップS602を参照されたい。ここでは詳細を述べない。
S1003.UEは、第1の暗号化鍵または第1の暗号化鍵の事前設定ビットを第2の暗号化鍵として用いる。
SGSNが送信した暗号化アルゴリズムおよび完全性アルゴリズムを受信するときに、UEは、SGSNが送信した乱数RANDおよび認証トークンAUTNをさらに受信する。第2の暗号化鍵または第2の完全性鍵を計算する前に、UEは、認証トークンAUTNおよび乱数RANDに従って予期されるメッセージ認証コードXMACをまず計算し、予期されるメッセージ認証コードXMACが認証トークンAUTN内のメッセージ認証コードMACと同じであるかどうか判定することによってSGSN側に対する認証を行うことができる。SGSN側に対する認証に成功した後で、UEは、SGSNが送信した乱数RANDおよび認証トークンAUTNに従って第1の暗号化鍵CKおよび第1の完全性鍵IKを計算し、乱数応答RESを計算し、SGSN側がUEに対する認証を行うように、SGSNに乱数応答RESを送信する。
いくつかの実行可能な実施態様においては、第1の暗号化鍵が128ビット鍵であり、GPRSシステムが必要とする第2の暗号化鍵も128ビット鍵である場合、第1の暗号化鍵を第2の暗号化鍵として直接用いることができる。GPRSシステムが必要とする第2の暗号化鍵が64ビット鍵である場合には、64事前設定ビットを第2の暗号化鍵として第1の暗号化鍵の中から選択することができる。例えば、最上位64ビットが第2の暗号化鍵として選択される。
S1004.UEは、第1の完全性鍵または第1の完全性鍵の事前設定ビットを第2の完全性鍵として用いる。
いくつかの実行可能な実施態様においては、第1の完全性鍵が128ビット鍵であり、GPRSシステムが必要とする第2の完全性鍵も128ビット鍵である場合、第1の完全性鍵を第2の完全性鍵として直接用いることができる。GPRSシステムが必要とする第2の完全性鍵が64ビット鍵である場合には、64事前設定ビットを第2の完全性鍵として第1の完全性鍵の中から選択することができる。例えば、最上位64ビットが第2の完全性鍵として選択される。
本出願の本実施形態では、UEは、SGSNに要求メッセージを送信し、SGSNが送信した暗号化アルゴリズムおよび完全性アルゴリズムを受信し、第1の暗号化鍵および第1の完全性鍵に従って第2の暗号化鍵および第2の完全性鍵を計算する。SGSNとUEはどちらも、第2の暗号化鍵、第2の完全性鍵、ならびにSGSNがUEに送信した暗号化アルゴリズムおよび完全性アルゴリズムを用いて、UEとSGSNとの間の通信メッセージに対する暗号化保護および完全性保護を行うことができる。これにより、GPRSネットワークにおける第1のタイプのUEの通信のセキュリティが強化される。
図11を参照されたい。図11は、本出願によるGPRSシステム鍵強化方法の別の実施形態の概略流れ図である。図11に示すように、本方法は以下のステップを含む。
S1101.HLR/HSSが、SGSNが送信したUEの識別子を受信する。
ホーム・ロケーション・レジスタ(Home Location Register、HLR)は、GPRSシステムの永続データベースであり、登録されたモバイルユーザのものである識別情報、サービス情報、サービス許可などの静的情報、およびユーザの位置情報などの動的情報を含む、多くのモバイルユーザの通信を管理するのに必要な情報を記憶している。ホーム加入システムHSS(Home Subscription System、HSS)は、HLRが進化し、アップグレードしたものであり、主に、ユーザの加入データおよびモバイルユーザの位置情報を管理する役割を果たす。HSSとHLRとはネットワークにおいて類似した機能を有し、HSSに記憶されるデータの多くがHLRに繰り返し記憶されるため、一般に、外部に対してはHSSとHLRの融合デバイスが提示される。本出願の本実施形態では、HLR/HSSは、HLRデバイスであっても、HSSデバイスであっても、HLRとHSSとの融合デバイスであってもよい。
本出願の本実施形態では、UEはUSIMカードを用いてネットワークと通信し、UEの識別子は、USIMカードのIMSI(International Mobile Subscriber Identification Number、国際移動体加入者識別番号)であってよい。
S1102.HLR/HSSは、UEの識別子に従って、UEは第1のタイプのUEであると判定する。
具体的な実施に際して、HLR/HSSは多くのUEの様々な情報を記憶する。HLR/HSSは、SGSNが送信したUEの識別子を受信した後で、UEが第1のタイプのUEであるかどうか判定するように、UEに関する情報を問い合わせすることができる。本出願の本実施形態では、UEが第1のタイプのUEである例を用いて説明する。
本出願の本実施形態では、第1のタイプのUEは、モノのインターネットUE、マシンツーマシン(Machine To Machine、M2M)通信UE、または他の高セキュリティUEを含んでいてよい。モノのインターネットUEとは、情報感知機能およびデータ伝送機能を有するユーザ機器、例えば、音声ガイド、携帯情報端末、バーコードコレクタ、データ収集端末、および購入または送金に主に用いられるPOS端末をいう。マシンツーマシン通信UEとは、人、モバイルネットワーク、または別の機械と情報を交換するために、ネットワーク接続および通信能力を有し、センサ、コントローラなどを用いて「インテリジェンス」属性を実現するユーザ機器をいう。
S1103.HLR/HSSは、SGSNにUEタイプ指示情報を送信し、UEタイプ指示情報はUEが第1のタイプのUEであることを指示するのに用いられる。
任意選択で、UEタイプ指示情報は、特定の情報要素(Information Element、IE)の存在に従って、UEは第1のタイプのUEであると指示することもできる。例えば、SGSNが、HLR/HSSまたはUEが送信したUEタイプ指示情報を受信したときに、UEタイプ指示情報に特定のIEが存在する場合、SGSNは、UEは第1のタイプのUEであると判定することができ、UEタイプ指示情報に特定のIEが存在しない場合、SGSNは、UEは第1のタイプのUEではないと判定することができる。あるいは、UEタイプ指示情報は、特定のIEの値に従って、UEは第1のタイプのUEであると指示することもできる。例えば、SGSNが、HLR/HSSまたはUEが送信したUEタイプ指示情報を受信したときに、UEタイプ指示情報内の特定のIEの値が1である場合、SGSNは、UEは第1のタイプのUEであると判定することができ、特定のIEの値が0である場合、SGSNは、UEは第1のタイプのUEではないと判定することができる。
本出願の本実施形態では、HLR/HSSは、SGSNに認証ベクトルをさらに送信することができ、認証ベクトルは第1の暗号化鍵および第1の完全性鍵を含む。
いくつかの実行可能な実施態様において、前述の認証ベクトルは認証ベクトルクインテットであってよく、乱数RAND、予期される応答XRES、認証トークンAUTN、暗号化鍵CK、および完全性鍵IKを含む。第1の暗号化鍵は認証ベクトルクインテット内の暗号化鍵CKであり、第1の完全性鍵は認証ベクトルクインテット内の完全性鍵IKである。
本出願の本実施形態では、HLR/HSSは、SGSNが送信したUEの識別子を受信し、UEの識別子に従って、UEは第1のタイプのUEであると判定し、UEが第1のタイプのUEであることを指示するようにSGSNにUEタイプ指示情報を送信することができ、そのため、SGSNと第1のタイプのUEとの間で第1のタイプのUEのための鍵強化処理を行うことができ、GPRSネットワークにおける第1のタイプのUEの通信のセキュリティが強化される。
図12を参照されたい。図12は、本出願によるGPRSシステム鍵強化方法の別の実施形態の概略流れ図である。図12に示すように、本方法は以下のステップを含む。
S1201.UEが、SGSNに要求メッセージを送信する。
S1202.SGSNはHLR/HSSにUEの識別子を送信する。
S1203.HLR/HSSは、UEの識別子に従って、UEは第1のタイプのUEであると判定する。
S1204.HLR/HSSはSGSNにUEタイプ指示情報および認証ベクトルを送信する。
S1205.SGSNは、UEタイプ指示情報およびUEがサポートしているアルゴリズムに従って暗号化アルゴリズムおよび完全性アルゴリズムを選択し、第2の暗号化鍵および第2の完全性鍵を獲得する。
S1206.SGSNはUEに認証および暗号化要求を送信し、認証および暗号化要求は、SGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズム、乱数RAND、ならびに認証トークンAUTNを含む。
S1207.UEはSGSN側に対する認証を行い、認証に成功した後で、第2の暗号化鍵および第2の完全性鍵を取得する。
S1208.UEはSGSNに認証および暗号化応答RESを送信する。
S1209.SGSNはRES値を検証し、UE側に対する認証を行う。
本出願の本実施形態では、UEは、SGSNに要求メッセージを送信する。SGSNは、UEは第1のタイプのUEであると判定した後で、暗号化アルゴリズムおよび完全性アルゴリズムを選択する。UEとSGSNとはどちらも、第1の暗号化鍵および第1の完全性鍵に従って強化された第2の暗号化鍵および強化された第2の完全性鍵を計算し、第2の暗号化鍵、第2の完全性鍵、ならびにSGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズムを用いて、UEとSGSNとの間の通信メッセージに対する暗号化保護および完全性保護を行う。これにより、GPRSネットワークにおける第1のタイプのUEの通信のセキュリティが強化される。
図13を参照されたい。図13は、本出願によるSGSNデバイスの一実施形態の概略構造図である。図13に示すように、本SGSNデバイスは、受信モジュール1301と、取得モジュール1302と、選択モジュール1303と、獲得モジュール1304とを含む。
受信モジュール1301は、UEが送信した要求メッセージを受信するように構成されている。
具体的な実施に際しては、UEがSGSNに送信する要求メッセージは、アタッチ要求メッセージ、経路更新メッセージ、または、サービス要求メッセージなど、別のメッセージとすることができる。UEが送信した要求メッセージを受信した後で、SGSNは、要求メッセージを送信したUEの識別子を取得することができる。UEが第1のタイプのUEである場合、要求メッセージはUEタイプ指示情報を搬送することができる。
本出願の本実施形態では、UEはUSIMカードを用いてネットワークと通信し、UEの識別子は、USIMカードのIMSI(International Mobile Subscriber Identification Number、国際移動体加入者識別番号)であってよい。第1のタイプのUEは、モノのインターネットUE、マシンツーマシン(Machine To Machine、M2M)通信UE、または他の高セキュリティUEを含んでいてよい。モノのインターネットUEとは、情報感知機能およびデータ伝送機能を有するユーザ機器、例えば、音声ガイド、携帯情報端末、バーコードコレクタ、データ収集端末、および購入または送金に主に用いられるPOS端末をいう。マシンツーマシン通信UEとは、人、モバイルネットワーク、または別の機械と情報を交換するために、ネットワーク接続および通信能力を有し、センサ、コントローラなどを用いて「インテリジェンス」属性を実現するユーザ機器をいう。
取得モジュール1302は、HLR/HSSから認証ベクトルを取得するように構成されており、認証ベクトルは第1の暗号化鍵および第1の完全性鍵を含む。
ホーム・ロケーション・レジスタ(Home Location Register、HLR)は、GPRSシステムの永続データベースであり、登録されたモバイルユーザのものである識別情報、サービス情報、サービス許可などの静的情報、およびユーザの位置情報などの動的情報を含む、多くのモバイルユーザの通信を管理するのに必要な情報を記憶している。ホーム加入システムHSS(Home Subscription System、HSS)は、HLRが進化し、アップグレードしたものであり、主に、ユーザの加入データおよびモバイルユーザの位置情報を管理する役割を果たす。HSSとHLRとはネットワークにおいて類似した機能を有し、HSSに記憶されるデータの多くがHLRに繰り返し記憶されるため、一般に、外部に対してはHSSとHLRの融合デバイスが提示される。本出願の本実施形態では、HLR/HSSは、HLRデバイスであっても、HSSデバイスであっても、HLRとHSSとの融合デバイスであってもよい。
本出願の本実施形態では、SGSNがHLR/HSSから取得する認証ベクトルは認証ベクトルクインテットであり、乱数RAND、予期される応答XRES、認証トークンAUTN、暗号化鍵CK、および完全性鍵IKを含む。
本出願の本実施形態では、第1の暗号化鍵は認証ベクトルクインテット内の暗号化鍵CKであり、第1の完全性鍵は認証ベクトルクインテット内の完全性鍵IKである。
選択モジュール1303は、SGSNがUEは第1のタイプのUEであると判定した場合、UEのための暗号化アルゴリズムおよび完全性アルゴリズムを選択し、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信するように構成されている。
いくつかの実行可能な実施態様において、SGSNデバイスは、送信モジュールと第1の判定モジュール(図には示されていない)とをさらに含んでいてよい。
送信モジュールは、HLR/HSSが、UEの識別子に従って、UEが第1のタイプのUEであるかどうか判定し、SGSNにUEタイプ指示情報を送信するように、HLR/HSSにUEの識別子を送信するように構成されていてよく、UEタイプ指示情報はUEが第1のタイプのUEであることを指示するのに用いられる。
第1の判定モジュールは、HLR/HSSが送信したUEタイプ指示情報を受け取り、UEは第1のタイプのUEであると判定するように構成されていてよい。
いくつかの実行可能な実施態様において、SGSNデバイスは第2の判定モジュール(図には示されていない)をさらに含んでいてよく、第2の判定モジュールは、要求メッセージがUEタイプ指示情報を含む場合、UEは第1のタイプのUEであると判定するように構成されていてよく、UEタイプ指示情報はUEが第1のタイプのUEであることを指示するのに用いられる。
いくつかの実行可能な実施態様において、SGSNデバイスは、送信モジュールと、第1の判定モジュールと、第2の判定モジュールとを含んでいてもよい。
任意選択で、UEタイプ指示情報は、特定の情報要素(Information Element、IE)の存在に従って、UEは第1のタイプのUEであると指示することもできる。例えば、SGSNが、HLR/HSSまたはUEが送信したUEタイプ指示情報を受信したときに、UEタイプ指示情報に特定のIEが存在する場合、SGSNは、UEは第1のタイプのUEであると判定することができ、UEタイプ指示情報に特定のIEが存在しない場合、SGSNは、UEは第1のタイプのUEではないと判定することができる。あるいは、UEタイプ指示情報は、特定のIEの値に従って、UEは第1のタイプのUEであると指示することもできる。例えば、SGSNが、HLR/HSSまたはUEが送信したUEタイプ指示情報を受信したときに、UEタイプ指示情報内の特定のIEの値が1である場合、SGSNは、UEは第1のタイプのUEであると判定することができ、特定のIEの値が0である場合、SGSNは、UEは第1のタイプのUEではないと判定することができる。
具体的な実施に際して、SGSNは、まず、HLR/HSSから認証ベクトルを取得し、次いで、UEは第1のタイプのUEであると判定してもよく、またはSGSNは、まず、UEは第1のタイプのUEであると判定し、次いで、HLR/HSSから認証ベクトルを取得してもよい。
具体的な実施に際して、UEとSGSNとは、いくつかの暗号化アルゴリズムおよび完全性アルゴリズムで別々に構成されている。SGSNに要求メッセージを送信するときに、UEは、SGSNに、UEがサポートしている暗号化アルゴリズムおよび完全性アルゴリズムを送信する。UEの要求メッセージを受信すると、SGSNは、UEがサポートしている暗号化アルゴリズムおよび完全性アルゴリズムの中からSGSNがサポートしている暗号化アルゴリズムおよびSGSNがサポートしている完全性アルゴリズムを選択する。
いくつかの実行可能な実施態様において、SGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズムは、認証ベクトル内の第1の暗号化鍵および第1の完全性鍵と共に、第2の暗号化鍵および第2の完全性鍵を計算するのに用いることができる。加えて、メッセージ暗号文を生成するために、SGSNが選択した暗号化アルゴリズムおよび第2の暗号化鍵に従って通信メッセージに対して暗号化を行うことができる。SGSNが選択した完全性アルゴリズムおよび第2の完全性鍵に従い、計算によってメッセージ認証コードMACを獲得することができる。メッセージ認証コードMACは、通信メッセージの完全性を検証するのに用いることができる。
任意選択で、GPRSネットワークが128ビットの第2の暗号化鍵を必要とする場合、SGSNが選択する暗号化アルゴリズムは、128−EEA1アルゴリズム、128−EEA2アルゴリズム、または128−EEA3アルゴリズムのうちのいずれか1つであってよく、SGSNが選択する完全性アルゴリズムは、128−EIA1アルゴリズム、128−EIA2アルゴリズム、または128−EIA3アルゴリズムのうちのいずれか1つであってよい。128−EEA1アルゴリズムおよび128−EIA1アルゴリズムのコアアルゴリズムとして、SNOW 3Gアルゴリズムが用いられる。128−EEA2アルゴリズムおよび128−EIA2アルゴリズムのコアアルゴリズムとして、AESアルゴリズムが用いられる。128−EEA3アルゴリズムおよび128−EIA3アルゴリズムのコアアルゴリズムとして、ZUCアルゴリズム(ZUCアルゴリズム)が用いられる。
具体的な実施に際して、SGSNは、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信するときに、UEに、認証ベクトル内の乱数RANDおよび認証トークンAUTNをさらに送信することができる。UEは、UE側がネットワーク側に対する認証を行うように、認証トークンAUTNに従ってSGSNに対する認証を行うことができ、受信した乱数RANDおよび受信した認証トークンAUTNに従ってf1アルゴリズムからf5アルゴリズムを用いて、第1の暗号化鍵CKおよび第1の完全性鍵IKをさらに計算することができる。
SGSNとUEとの間の通信メッセージを保護するためは、SGSNとUEの両方が、合意された鍵(すなわち、第2の暗号化鍵および第2の完全性鍵)と、合意されたアルゴリズム(すなわち、SGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズム)を用いて、通信メッセージに対する暗号化を行う必要がある。したがって、SGSNは、暗号化アルゴリズムおよび完全性アルゴリズムを選択した後で、UEが、第1の暗号化鍵CKおよび第1の完全性鍵IKに従って第2の暗号化鍵および第2の完全性鍵を計算した後で、SGSNが用いるのと同じ暗号化アルゴリズムおよび完全性アルゴリズム、第2の暗号化鍵、ならびに第2の完全性鍵を用いて、通信メッセージに対する暗号化を行うように、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信する必要がある。
獲得モジュール1304は、第1の暗号化鍵および第1の完全性鍵に従って第2の暗号化鍵および第2の完全性鍵を獲得するように構成されている。
本出願の本実施形態では、SGSNは、暗号化アルゴリズムおよび完全性アルゴリズムを選択した後で、認証ベクトル内の第1の暗号化鍵および第1の完全性鍵に従って第2の暗号化鍵および第2の完全性鍵を計算し、第1の暗号化鍵は認証ベクトルクインテット内の暗号化鍵CKであり、第1の完全性鍵は認証ベクトルクインテット内の完全性鍵IKである。第2の暗号化鍵および第2の完全性鍵は、第1の暗号化鍵および第1の完全性鍵に基づく強化された鍵であり、第2の暗号化鍵およびSGSNが選択した暗号化アルゴリズムは、SGSNとUEとの間で送信されるメッセージの暗号化保護を行うのに用いることができ、第2の完全性鍵およびSGSNが選択した完全性アルゴリズムは、SGSNとUEとの間で送信されるメッセージの完全性保護を行うのに用いることができる。
任意選択で、SGSNは、第1の暗号化鍵および第1の完全性鍵のみに従って第2の暗号化鍵および第2の完全性鍵を計算してもよく、または第1の暗号化鍵、第1の完全性鍵、選択された暗号化アルゴリズム、および選択された完全性アルゴリズムに従って第2の暗号化鍵および第2の完全性鍵を計算してもよい。
具体的な実施に際して、選択モジュール1303によるUEへの、SGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズムの送信と、獲得モジュール1304による、認証ベクトル内の第1の暗号化鍵および第1の完全性鍵に従った第2の暗号化鍵および第2の完全性鍵の獲得との間には順序がない。
本出願の本実施形態では、SGSNは、UEが送信した要求メッセージを受信し、UEは第1のタイプのUEであると判定した後で、暗号化アルゴリズムおよび完全性アルゴリズムを選択し、HLR/HSSから認証ベクトルを取得し、認証ベクトルに含まれている第1の暗号化鍵および第1の完全性鍵に従って強化された第2の暗号化鍵および強化された第2の完全性鍵を獲得し、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信し、そのため、UEが第2の暗号化鍵および第2の完全性鍵を計算した後で、SGSNとUEはどちらも、第2の暗号化鍵、第2の完全性鍵、ならびにSGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズムを用いて、SGSNとUEとの間の通信メッセージに対する暗号化保護および完全性保護を行うことができる。これにより、GPRSネットワークにおける第1のタイプのUEの通信のセキュリティが強化される。
以下では、図14および図15を参照して、図13に示す獲得モジュール1304の構造および機能について詳細に説明する。
いくつかの実行可能な実施態様においては、図14に示すように、獲得モジュール1304は、第1の計算部13041と、第2の計算部13042と、第3の計算部13043とを含んでいてよい。
第1の計算部13041は、第1の暗号化鍵および第1の完全性鍵に従って中間鍵を計算するように構成されている。
1つの実行可能な実施態様において、第1の計算部13041は、第1の暗号化鍵および第1の完全性鍵に対する演算を行い、次いで、演算結果を鍵導出関数KDFの入力パラメータとして用いて中間鍵を計算することができる。例えば、中間鍵はKm=KDF(CK||IK)とすることができ、式中、CK||IKは、第1の暗号化鍵CKと第1の完全性鍵IKとに対して結合演算が行われることを示している。
別の実行可能な実施態様において、中間鍵は、既存の64ビットGPRS暗号化鍵Kcまたは既存の128ビット暗号化鍵Kc128を直接用いてよく、すなわち、第1の計算部13041は、既存のGPRS暗号化鍵Kc(64ビット)を中間鍵として直接用いてよく、または既存のKc128(128ビット)を中間鍵として直接用いてよい。KcとKc128はどちらも、CkおよびIKに従った計算によって生成される。
第2の計算部13042は、中間鍵および暗号化特徴記号列に従って第2の暗号化鍵を計算するように構成されている。
具体的な実施に際しては、中間鍵および暗号化特徴記号列cipheringを、第2の暗号化鍵を計算するための鍵導出関数KDFの入力パラメータとして用いることができる。例えば、第2の暗号化鍵は、Kcipher=KDF(Km,“ciphering”)を用いた計算によって獲得することができ、式中、“ciphering”は暗号化特徴記号列であり、コード化によって生成することができる。
いくつかの実行可能な実施態様において、GPRSシステムは128ビットの第2の暗号化鍵を必要とし、この場合、事前設定の128ビット(例えば、最上位の128ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の暗号化鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の128ビット(例えば、最上位の128ビット)が第2の暗号化鍵としてKDFの出力から取得され、または中間鍵Kc128は鍵導出関数KDFの入力パラメータの1つとして用いられ、鍵導出関数KDFの出力が第2の暗号化鍵として用いられる。
いくつかの実行可能な実施態様において、GPRSシステムは64ビットの第2の暗号化鍵を必要とし、この場合、事前設定の64ビット(例えば、最上位の64ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の暗号化鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の64ビット(例えば、最上位の64ビット)が第2の暗号化鍵としてKDFの出力から取得され、または中間鍵Kc(64ビット)を鍵導出関数KDFの入力パラメータの1つとして用いることもでき、鍵導出関数KDFの出力が第2の暗号化鍵として用いられる。
第3の計算部13043は、中間鍵および完全性特徴記号列に従って第2の完全性鍵を計算するように構成されている。
具体的な実施に際しては、中間鍵および完全性特徴記号列integrityを、第2の完全性鍵を計算するための鍵導出関数KDFの入力パラメータとして用いることができる。例えば、第2の完全性鍵は、Kintegrity=KDF(Km,“integrity”)を用いた計算によって獲得することができ、式中、“integrity”は完全性特徴記号列であり、コード化によって生成することができる。
いくつかの実行可能な実施態様において、GPRSシステムは128ビットの第2の完全性鍵を必要とし、この場合、事前設定の128ビット(例えば、最上位の128ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、Kmの事前設定128ビットに従った計算によって獲得したKintegrityが第2の完全性鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の128ビット(例えば、最上位の128ビット)が第2の完全性鍵として計算されたKintegrityから取得され、または中間鍵Kc128を鍵導出関数KDFの入力パラメータの1つとして用いることもでき、鍵導出関数KDFの出力が第2の完全性鍵として用いられる。
いくつかの実行可能な実施態様において、GPRSシステムは64ビットの第2の完全性鍵を必要とし、この場合、事前設定の64ビット(例えば、最上位の64ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の完全性鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の64ビット(例えば、最上位の64ビット)が第2の完全性鍵としてKDFの出力から取得され、または中間鍵Kc(64ビット)を鍵導出関数KDFの入力パラメータの1つとして用いることもでき、鍵導出関数KDFの出力が第2の完全性鍵として用いられる。
本出願の本実施形態では、暗号化特徴記号列cipheringおよび完全性特徴記号列integrityは、計算された第2の暗号化鍵と計算された第2の完全性鍵とを区別しやすいよう差別化するのに用いられる。したがって、完全性特徴記号列integrityは、暗号化特徴記号列cipheringと一致しない任意の記号列とすることができる。
いくつかの実行可能な実施態様においては、図14に示すように、獲得モジュール1304は、第1の計算部13041と、第2の計算部13042と、第3の計算部13043とを含んでいてよい。
第1の計算部13041は、第1の暗号化鍵および第1の完全性鍵に従って中間鍵を計算するように構成されている。
1つの実行可能な実施態様において、第1の計算部13041は、第1の暗号化鍵および第1の完全性鍵に対する演算を行い、次いで、演算結果を鍵導出関数KDFの入力パラメータとして用いて中間鍵を計算することができる。例えば、中間鍵はKm=KDF(CK||IK)とすることができ、式中、CK||IKは、第1の暗号化鍵CKと第1の完全性鍵IKとに対して結合演算が行われることを示している。
別の実行可能な実施態様において、第1の計算部13041は、既存のGPRS暗号化鍵Kc(64ビット)を中間鍵として直接用いてよく、または既存のKc128(128ビット)を中間鍵として直接用いてよい。KcとKc128はどちらも、CkおよびIKに従った計算によって生成される。
第2の計算部13042は、中間鍵、第1のアルゴリズムタイプ指示、および選択された暗号化アルゴリズムの識別子に従って第2の暗号化鍵を計算するように構成されている。
具体的な実施に際して、第2の計算部13042は、中間鍵、第1のアルゴリズムタイプ指示、および選択された暗号化アルゴリズムの識別子を、第2の暗号化鍵を計算するための鍵導出関数KDFの入力パラメータとして用いることができる。例えば、第2の暗号化鍵Kcipherは、Kcipher=KDF(Km,algorithm type distinguisher1,ciphering algorithm id)を用いた計算によって獲得することができ、式中、Kmは中間鍵であり、algorithm type distinguisher1は第1のアルゴリズムタイプ指示であり、ciphering algorithm idは、SGSNが選択した暗号化アルゴリズムの識別子である。
いくつかの実行可能な実施態様において、GPRSシステムは128ビットの第2の暗号化鍵を必要とし、この場合、事前設定の128ビット(例えば、最上位の128ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の暗号化鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の128ビット(例えば、最上位の128ビット)が第2の暗号化鍵としてKDFの出力から取得され、または中間鍵Kc128は鍵導出関数KDFの入力パラメータの1つとして用いられ、鍵導出関数KDFの出力が第2の暗号化鍵として用いられる。
いくつかの実行可能な実施態様において、GPRSシステムは64ビットの第2の暗号化鍵を必要とし、この場合、事前設定の64ビット(例えば、最上位の64ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の暗号化鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の64ビット(例えば、最上位の64ビット)が第2の暗号化鍵としてKDFの出力から取得され、または中間鍵Kc(64ビット)を鍵導出関数KDFの入力パラメータの1つとして用いることもでき、鍵導出関数KDFの出力が第2の暗号化鍵として用いられる。
第3の計算部13043は、中間鍵、第2のアルゴリズムタイプ指示、および選択された完全性アルゴリズムの識別子に従って第2の完全性鍵を計算するように構成されており、第1のアルゴリズムタイプ指示の値と第2のアルゴリズムタイプ指示の値とは異なる。
具体的な実施に際して、第3の計算部13043は、中間鍵、第2のアルゴリズムタイプ指示、および選択された完全性アルゴリズムの識別子を、第2の完全性鍵を計算するための鍵導出関数KDFの入力パラメータとして用いることができる。例えば、第2の完全性鍵K integrity は、Kintegrity=KDF(Km,algorithm type distinguisher2,integrity algorithm id)を用いた計算によって獲得することができ、式中、Kmは中間鍵であり、algorithm type distinguisher2は第2のアルゴリズムタイプ指示であり、integrity algorithm idはSGSNが選択した完全性アルゴリズムの識別子である。
いくつかの実行可能な実施態様において、GPRSシステムは128ビットの第2の完全性鍵を必要とし、この場合、事前設定の128ビット(例えば、最上位の128ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の完全性鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の128ビット(例えば、最上位の128ビット)が第2の完全性鍵としてKDFの出力から取得され、または中間鍵Kc128を鍵導出関数KDFの入力パラメータの1つとして用いることもでき、鍵導出関数KDFの出力が第2の完全性鍵として用いられる。
いくつかの実行可能な実施態様において、GPRSシステムは64ビットの第2の完全性鍵を必要とし、この場合、事前設定の64ビット(例えば、最上位の64ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の完全性鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の64ビット(例えば、最上位の64ビット)が第2の完全性鍵としてKDFの出力から取得され、または中間鍵Kc(64ビット)を鍵導出関数KDFの入力パラメータの1つとして用いることもでき、鍵導出関数KDFの出力が第2の完全性鍵として用いられる。
本出願の本実施形態では、第1のアルゴリズムタイプ指示は、現在演算に関与しているアルゴリズムが暗号化型のアルゴリズムであることを指示するのに用いられ、第2のアルゴリズムタイプ指示は、現在演算に関与しているアルゴリズムが完全性型のアルゴリズムであることを指示するのに用いられる。いくつかの実行可能な実施形態において、第1のアルゴリズムタイプ指示と第2のアルゴリズムタイプ指示とは同じIEを含む場合があり、第1のアルゴリズムタイプ指示と第2のアルゴリズムタイプ指示とはIEの異なる値を用いて区別される。例えば、第1のアルゴリズムタイプ指示のIEと第2のアルゴリズムタイプ指示のIEとはどちらも、algorithm type distinguisherである。algorithm type distinguisher=00の場合、それは暗号化型のアルゴリズムを指示する。algorithm type distinguisher=01の場合、それは完全性型のアルゴリズムを指示する。
いくつかの可能な事例において、暗号化アルゴリズムと完全性アルゴリズムとは同じ識別子を用いる場合があり、これらの事例では、アルゴリズムタイプ指示を参照して各アルゴリズムを一意に区別する必要がある。例えば、128−EEA1アルゴリズムと128−EIA1アルゴリズムとがどちらもアルゴリズム識別子として1を用いる場合、SGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズムが、それぞれ、128−EEA1アルゴリズムおよび128−EIA1アルゴリズムであるときには、128−EEA1アルゴリズムと128−EIA1アルゴリズムとを、第1のアルゴリズムタイプ指示と第2のアルゴリズムタイプ指示とのIEの異なる値を用いて区別することができる。加えて、第2の暗号化鍵と第2の完全性鍵とを区別するように、計算された第2の暗号化鍵の値と計算された第2の完全性鍵の値とを差別化することもできる。
いくつかの実行可能な実施態様においては、図15に示すように、獲得モジュール1304は、第4の計算部13044と、第5の計算部13045とを含んでいてよい。
第4の計算部13044は、第1の暗号化鍵、第1のアルゴリズムタイプ指示、および選択された暗号化アルゴリズムの識別子に従って第2の暗号化鍵を計算するように構成されている。
具体的には、第4の計算部13044は、第1の暗号化鍵、第1のアルゴリズムタイプ指示、および選択された暗号化アルゴリズムの識別子を、第2の暗号化鍵を計算するための鍵導出関数KDFの入力パラメータとして用いることができる。例えば、Kcipher=KDF(CK,algorithm type distinguisher1,ciphering algorithm id)であり、式中、CKは第1の暗号化鍵であり、algorithm type distinguisher1は第1のアルゴリズムタイプ指示であり、ciphering algorithm idは、SGSNが選択した暗号化アルゴリズムの識別子である。
任意選択で、GPRSシステムが64ビットの第2の暗号化鍵を必要とする場合、最上位64ビットを第2の暗号化鍵として計算されたKcipherの中から選択することができ、GPRSシステムが128ビットの第2の暗号化鍵を必要とする場合、最上位128ビットを第2の暗号化鍵として計算されたKcipherの中から選択することができる。別の実行可能な実施態様においては、必要な数のビットを第2の暗号化鍵として計算されたKcipherの中からランダムに選択することができ、これについては本出願では限定されない。
第5の計算部13045は、認証ベクトル内の第1の完全性鍵、第2のアルゴリズムタイプ指示、および選択された完全性アルゴリズムの識別子に従って第2の完全性鍵を計算する。
具体的には、第5の計算部13045は、第1の完全性鍵、第2のアルゴリズムタイプ指示、および選択された完全性アルゴリズムの識別子を、第2の完全性鍵を計算するための鍵導出関数KDFの入力パラメータとして用いることができる。例えば、Kintegrity=KDF(IK,algorithm type distinguisher2,integrity algorithm id)であり、式中、IKは第1の完全性鍵であり、algorithm type distinguisher2は第2のアルゴリズムタイプ指示であり、integrity algorithm id isはSGSNが選択した完全性アルゴリズムの識別子である。
任意選択で、GPRSシステムが64ビットの第2の完全性鍵を必要とする場合、最上位64ビットを第2の完全性鍵として計算されたKintegrityの中から選択することができ、GPRSシステムが128ビットの第2の完全性鍵を必要とする場合、最上位128ビットを第2の完全性鍵として計算されたKintegrityの中から選択することができる。別の実行可能な実施態様においては、必要な数のビットを第2の完全性鍵として計算されたKintegrityの中からランダムに選択することができ、これについては本出願では限定されない。
本出願の本実施形態では、第1のアルゴリズムタイプ指示は、現在演算に関与しているアルゴリズムが暗号化型のアルゴリズムであることを指示するのに用いられ、第2のアルゴリズムタイプ指示は、現在演算に関与しているアルゴリズムが完全性型のアルゴリズムであることを指示するのに用いられる。第1のアルゴリズムタイプ指示の値と第2のアルゴリズムタイプ指示の値とは異なる。いくつかの実行可能な実施形態において、第1のアルゴリズムタイプ指示と第2のアルゴリズムタイプ指示とは同じIEを含む場合があり、第1のアルゴリズムタイプ指示と第2のアルゴリズムタイプ指示とはIEの異なる値を用いて区別される。例えば、第1のアルゴリズムタイプ指示のIEと第2のアルゴリズムタイプ指示のIEとはどちらも、algorithm type distinguisherである。algorithm type distinguisher=00の場合、それは暗号化型のアルゴリズムを指示する。algorithm type distinguisher=01の場合、それは完全性型のアルゴリズムを指示する。
いくつかの可能な事例において、暗号化アルゴリズムと完全性アルゴリズムとは同じ識別子を用いる場合があり、これらの事例では、アルゴリズムタイプ指示を参照して各アルゴリズムを一意に区別する必要がある。例えば、128−EEA1アルゴリズムと128−EIA1アルゴリズムとがどちらもアルゴリズム識別子として1を用いる場合、SGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズムが、それぞれ、128−EEA1アルゴリズムおよび128−EIA1アルゴリズムであるときには、128−EEA1アルゴリズムと128−EIA1アルゴリズムとを、第1のアルゴリズムタイプ指示と第2のアルゴリズムタイプ指示との異なる値を用いて区別することができる。加えて、第2の暗号化鍵と第2の完全性鍵とを区別するように、計算された第2の暗号化鍵の値と計算された第2の完全性鍵の値とを差別化することもできる。
いくつかの実行可能な実施態様において、獲得モジュール1304は、
第1の暗号化鍵および第1の完全性鍵に従って中間鍵を計算し、
中間鍵の第1の事前設定ビットを第2の暗号化鍵として用い、中間鍵の第2の事前設定ビットを第2の完全性鍵として用いる、
ように特に構成されていてよい。
1つの実行可能な実施態様において、獲得モジュール1304は、第1の暗号化鍵および第1の完全性鍵に対する演算を行い、次いで、演算結果を鍵導出関数KDFの入力パラメータとして用いて中間鍵を計算することができる。例えば、中間鍵はKm=KDF(CK||IK)とすることができ、式中、CK||IKは、第1の暗号化鍵CKと第1の完全性鍵IKとに対して結合演算が行われることを示している。
別の実行可能な実施態様において、獲得モジュール1304は、既存のGPRS暗号化鍵Kc(64ビット)を中間鍵として直接用いてよく、または既存のKc128(128ビット)を中間鍵として直接用いてよい。KcとKc128はどちらも、CkおよびIKに従った計算によって生成される。
1つの実行可能な実施態様において、獲得モジュール1304は、中間鍵の第1の事前設定ビットを第2の暗号化鍵として用いることができる。例えば、GPRSシステムが64ビットの第2の暗号化鍵を必要とする場合、中間鍵の最上位64ビットを第2の暗号化鍵として直接用いることができ、GPRSシステムが128ビットの第2の暗号化鍵を必要とする場合、中間鍵の最上位128ビットを第2の暗号化鍵として直接用いることができる。別の任意選択の実施態様においては、必要な数のビットを第2の暗号化鍵として中間鍵の中からランダムに選択することができ、これについては本出願では限定しない。
1つの実行可能な実施態様においては、獲得モジュール1304は、中間鍵の第2の事前設定ビットを第2の完全性鍵として用いることができる。例えば、GPRSシステムが64ビットの第2の完全性鍵を必要とする場合、中間鍵の最下位64ビットを第2の完全性鍵として直接用いることができ、GPRSシステムが128ビットの第2の完全性鍵を必要とする場合、中間鍵の最下位128ビットを第2の完全性鍵として直接用いることができる。別の任意選択の実施態様においては、必要な数のビットを第2の完全性鍵として中間鍵の中からランダムに選択することができ、これについては本出願では限定しない。
いくつかの実行可能な実施態様において、獲得モジュール1304は、
第1の暗号化鍵もしくは第1の暗号化鍵の事前設定ビットを第2の暗号化鍵として用い、第1の完全性鍵もしくは第1の完全性鍵の事前設定ビットを第2の完全性鍵として用いる、
ように特に構成されていてよい。
いくつかの実行可能な実施態様においては、第1の暗号化鍵が128ビット鍵であり、GPRSシステムが必要とする第2の暗号化鍵も128ビット鍵である場合、第1の暗号化鍵を第2の暗号化鍵として直接用いることができる。GPRSシステムが必要とする第2の暗号化鍵が64ビット鍵である場合には、64事前設定ビットを第2の暗号化鍵として第1の暗号化鍵の中から選択することができる。例えば、最上位64ビットが第2の暗号化鍵として選択される。
いくつかの実行可能な実施態様においては、第1の完全性鍵が128ビット鍵であり、GPRSシステムが必要とする第2の完全性鍵も128ビット鍵である場合、第1の完全性鍵を第2の完全性鍵として直接用いることができる。GPRSシステムが必要とする第2の完全性鍵が64ビット鍵である場合には、64事前設定ビットを第2の完全性鍵として第1の完全性鍵の中から選択することができる。例えば、最上位64ビットが第2の完全性鍵として選択される。
本出願の本実施形態では、SGSNは、UEが送信した要求メッセージを受信し、UEは第1のタイプのUEであると判定した後で、暗号化アルゴリズムおよび完全性アルゴリズムを選択し、HLR/HSSから認証ベクトルを取得し、認証ベクトルに含まれている第1の暗号化鍵および第1の完全性鍵に従って強化された第2の暗号化鍵および強化された第2の完全性鍵を獲得し、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信し、そのためUEは、第2の暗号化鍵および第2の完全性鍵を計算し、第2の暗号化鍵および第2の完全性鍵を用いて、SGSNとUEとの間の通信メッセージの暗号化保護および完全性保護を行う。これにより、GPRSネットワークにおける第1のタイプのUEの通信のセキュリティが強化される。
図16を参照されたい。図16は、本出願によるSGSNデバイスの別の実施形態の概略構造図である。図16に示すように、本SGSNデバイスは、受信装置1601と、送信装置1602と、プロセッサ1603とを含み、受信装置1601と、送信装置1602と、プロセッサ1603とはバスを用いて接続されている。
受信装置1601は、UEが送信した要求メッセージを受信するように構成される。
プロセッサ1603は、
HLR/HSSから、第1の暗号化鍵および第1の完全性鍵を含む認証ベクトルを取得し、
SGSNがUEは第1のタイプのUEであると判定した場合、UEのための暗号化アルゴリズムおよび完全性アルゴリズムを選択し、
第1の暗号化鍵および第1の完全性鍵に従って第2の暗号化鍵および第2の完全性鍵を獲得する、
ように構成される。
送信装置1602は、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信するように構成される。
第2の暗号化鍵および選択された暗号化アルゴリズムは、SGSNとUEとの間で送信されるメッセージに対する暗号化保護を行うのに用いられ、第2の完全性鍵および選択された完全性アルゴリズムは、SGSNとUEとの間で送信されるメッセージに対する完全性保護を行うのに用いられる。
いくつかの実行可能な実施態様において、要求メッセージはUEの識別子を含む。
送信装置1602は、HLR/HSSが、UEの識別子に従って、UEが第1のタイプのUEであると判定し、SGSNにUEタイプ指示情報を送信するように、HLR/HSSにUEの識別子を送信するようにさらに構成され、UEタイプ指示情報はUEが第1のタイプのUEであることを指示するのに用いられる。
プロセッサ1603がUEは第1のタイプのUEであるかどうか判定することは、プロセッサ1603が、HLR/HSSが送信したUEタイプ指示情報を受け取り、UEは第1のタイプのUEであると判定すること、を含む。
いくつかの実行可能な実施態様において、プロセッサ1603がUEは第1のタイプのUEであると判定することは、
要求メッセージがUEタイプ指示情報を含む場合、プロセッサ1603が、UEは第1のタイプのUEであると判定すること、
を含む。
いくつかの実行可能な実施態様において、プロセッサ1603が、第1の暗号化鍵および第1の完全性鍵に従って第2の暗号化鍵および第2の完全性鍵を獲得することは、
プロセッサ1603が、第1の暗号化鍵および第1の完全性鍵に従って中間鍵を計算することと、
プロセッサ1603が、中間鍵および暗号化特徴記号列に従って第2の暗号化鍵を計算することと、
プロセッサ1603が、中間鍵および完全性特徴記号列に従って第2の完全性鍵を計算することと、
を含む。
いくつかの実行可能な実施態様において、プロセッサ1603が、第1の暗号化鍵および第1の完全性鍵に従って第2の暗号化鍵および第2の完全性鍵を獲得することは、
プロセッサが、第1の暗号化鍵および第1の完全性鍵に従って中間鍵を計算し、プロセッサが、中間鍵の第1の事前設定ビットを第2の暗号化鍵として用い、中間鍵の第2の事前設定ビットを第2の完全性鍵として用いること、または
プロセッサが、認証ベクトル内の第1の暗号化鍵、第1のアルゴリズムタイプ指示、および選択された暗号化アルゴリズムの識別子に従って第2の暗号化鍵を計算し、プロセッサが、認証ベクトル内の第1の完全性鍵、第2のアルゴリズムタイプ指示、および選択された完全性アルゴリズムの識別子に従って第2の完全性鍵を計算することであって、第1のアルゴリズムタイプ指示の値と第2のアルゴリズムタイプ指示の値とは異なること、または
プロセッサが、第1の暗号化鍵もしくは第1の暗号化鍵の事前設定ビットを第2の暗号化鍵として用い、プロセッサが、第1の完全性鍵もしくは第1の完全性鍵の事前設定ビットを第2の完全性鍵として用いること、
を含む。
いくつかの実行可能な実施態様において、認証ベクトルは認証ベクトルクインテットである。
第1の暗号化鍵は認証ベクトルクインテット内の暗号化鍵CKであり、第1の完全性鍵は認証ベクトルクインテット内の完全性鍵IKである。
いくつかの実行可能な実施態様において、中間鍵は64ビットGPRS暗号化鍵Kcまたは128ビット暗号化鍵Kc128である。
本出願の本実施形態では、SGSNは、UEが送信した要求メッセージを受信し、UEは第1のタイプのUEであると判定した後で、暗号化アルゴリズムおよび完全性アルゴリズムを選択し、HLR/HSSから認証ベクトルを取得し、認証ベクトルに含まれている第1の暗号化鍵および第1の完全性鍵に従って強化された第2の暗号化鍵および強化された第2の完全性鍵を獲得し、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信し、そのため、UEが第2の暗号化鍵および第2の完全性鍵を計算した後で、SGSNとUEはどちらも、第2の暗号化鍵、第2の完全性鍵、ならびにSGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズムを用いて、SGSNとUEとの間の通信メッセージに対する暗号化保護および完全性保護を行うことができる。これにより、GPRSネットワークにおける第1のタイプのUEの通信のセキュリティが強化される。
図17を参照されたい。図17は、本出願によるUEの一実施形態の概略構造図である。図17に示すように、本UEは、送信モジュール1701と、受信モジュール1702と、取得モジュール1703とを含む。
送信モジュール1701は、SGSNに要求メッセージを送信するように構成されている。
具体的な実施に際して、送信モジュール1701がSGSNに送信する要求メッセージは、アタッチ要求メッセージ、経路更新メッセージ、または、サービス要求メッセージなど、別のメッセージとすることができる。UEが送信した要求メッセージを受信した後で、SGSNは、要求メッセージを送信したUEの識別子を取得することができる。UEが第1のタイプのUEである場合、要求メッセージはUEタイプ指示情報を搬送することができる。
本出願の本実施形態では、UEはUSIMカードを用いてネットワークと通信し、UEの識別子は、USIMカードのIMSI(International Mobile Subscriber Identification Number、国際移動体加入者識別番号)であってよい。モノのインターネットUEとは、情報感知機能およびメッセージ伝送機能を有するユーザ機器、例えば、音声ガイド、携帯情報端末、バーコードコレクタ、データ収集端末、および購入または送金に用いられるPOS端末をいう。マシンツーマシン通信UEとは、人、モバイルネットワーク、または別の機械と情報を交換するために、ネットワーク接続および通信能力を有し、センサ、コントローラなどを用いて「インテリジェンス」属性を実現するユーザ機器をいう。
本出願の本実施形態のUEは第1のタイプのUEである。いくつかの実行可能な実施態様において、送信モジュール1701がSGSNに送信する要求メッセージはUEタイプ指示情報を含むことができ、そのためSGSNは、UEタイプ指示情報に従って、UEは第1のタイプのUEであると判定する。
任意選択で、UEタイプ指示情報は、特定の情報要素(Information Element、IE)の存在に従って、UEは第1のタイプのUEであると指示することもできる。例えば、SGSNが、HLR/HSSまたはUEが送信したUEタイプ指示情報を受信したときに、UEタイプ指示情報に特定のIEが存在する場合、SGSNは、UEは第1のタイプのUEであると判定することができ、UEタイプ指示情報に特定のIEが存在しない場合、SGSNは、UEは第1のタイプのUEではないと判定することができる。あるいは、UEタイプ指示情報は、特定のIEの値に従って、UEは第1のタイプのUEであると指示することもできる。例えば、SGSNが、HLR/HSSまたはUEが送信したUEタイプ指示情報を受信したときに、UEタイプ指示情報内の特定のIEの値が1である場合、SGSNは、UEは第1のタイプのUEであると判定することができ、特定のIEの値が0である場合、SGSNは、UEは第1のタイプのUEではないと判定することができる。
具体的な実施に際して、UEとSGSNとは、いくつかの暗号化アルゴリズムおよび完全性アルゴリズムで別々に構成されている。SGSNに要求メッセージを送信するときに、送信モジュール1701は、SGSNに、UEがサポートしている暗号化アルゴリズムおよび完全性アルゴリズムを送信する。
受信モジュール1702は、SGSNが送信した暗号化アルゴリズムおよび完全性アルゴリズムを受信するように構成されている。
SGSNがUEの要求メッセージを受信した後で、前述のUEは第1のタイプのUEであると判定された場合、SGSNは、UEがサポートしている暗号化アルゴリズムおよび完全性アルゴリズムの中からSGSNがサポートしている暗号化アルゴリズムおよびSGSNがサポートしている完全性アルゴリズムを選択する。SGSNは、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信し、認証ベクトル内の第1の暗号化鍵および第1の完全性鍵に従って第2の暗号化鍵および第2の完全性鍵を獲得する。
具体的な実施に際して、SGSNは、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信するときに、UEに、認証ベクトル内の乱数RANDおよび認証トークンAUTNをさらに送信することができる。UEは、UE側がネットワーク側に対する認証を行うように、認証トークンAUTNに従ってSGSNに対する認証を行うことができる。UEは、受信した乱数RANDおよび受信した認証トークンAUTNに従ってf1アルゴリズムからf5アルゴリズムを用いて、第1の暗号化鍵および第1の完全性鍵をさらに計算することができる。UEが計算する第1の暗号化鍵および第1の完全性鍵は、SGSNがHLR/HSSから取得する認証ベクトル内の第1の暗号化鍵および第1の完全性鍵と同じである。SGSNがHLR/HSSから取得する認証ベクトルは認証ベクトルクインテットであり、乱数RAND、予期される応答XRES、認証トークンAUTN、暗号化鍵CK、および完全性鍵IKを含む。
本出願の本実施形態では、第1の暗号化鍵は認証ベクトルクインテット内の暗号化鍵CKであり、第1の完全性鍵は認証ベクトルクインテット内の完全性鍵IKである。
いくつかの実行可能な実施態様において、SGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズムは、認証ベクトル内の第1の暗号化鍵CKおよび第1の完全性鍵IKと共に、第2の暗号化鍵および第2の完全性鍵を計算するのに用いることができる。加えて、メッセージ暗号文を生成するために、暗号化アルゴリズムおよび生成された第2の暗号化鍵に従って通信メッセージに対して暗号化を行うことができる。完全性アルゴリズムおよび生成された第2の完全性鍵に従って計算によってメッセージ認証コードMACを獲得することができる。メッセージ認証コードMACは、通信メッセージの完全性を検証するのに用いることができる。
任意選択で、GPRSネットワークが128ビットの第2の暗号化鍵を必要とする場合、SGSNが選択する暗号化アルゴリズムは、128−EEA1アルゴリズム、128−EEA2アルゴリズム、または128−EEA3アルゴリズムのうちのいずれか1つであってよく、SGSNが選択する完全性アルゴリズムは、128−EIA1アルゴリズム、128−EIA2アルゴリズム、または128−EIA3アルゴリズムのうちのいずれか1つであってよい。128−EEA1アルゴリズムおよび128−EIA1アルゴリズムのコアアルゴリズムとして、SNOW 3Gアルゴリズムが用いられる。128−EEA2アルゴリズムおよび128−EIA2アルゴリズムのコアアルゴリズムとして、AESアルゴリズムが用いられる。128−EEA3アルゴリズムおよび128−EIA3アルゴリズムのコアアルゴリズムとして、ZUCアルゴリズム(ZUCアルゴリズム)が用いられる。
取得モジュール1703は、第1の暗号化鍵および第1の完全性鍵に従って第2の暗号化鍵および第2の完全性鍵を取得するように構成されている。
本出願の本実施形態では、第2の暗号化鍵および第2の完全性鍵は、第1の暗号化鍵および第1の完全性鍵に基づく強化された鍵である。第2の暗号化鍵およびSGSNが送信した暗号化アルゴリズムは、SGSNとUEとの間で送信されるメッセージに対する暗号化保護を行うのに用いられ、第2の完全性鍵およびSGSNが送信した完全性アルゴリズムは、SGSNとUEとの間で送信されるメッセージに対する完全性保護を行うのに用いられる。
任意選択で、取得モジュール1703は、第1の暗号化鍵および第1の完全性鍵のみに従って第2の暗号化鍵および第2の完全性鍵を取得してもよく、または取得モジュール1703は、第1の暗号化鍵、第1の完全性鍵、ならびにSGSNが送信した暗号化アルゴリズムおよび完全性アルゴリズムに従って第2の暗号化鍵および第2の完全性鍵を取得してもよい。
第2の暗号化鍵および第2の完全性鍵を取得した後で、SGSNとUEとの間の通信メッセージを保護するために、SGSNとUEの両方が、合意された鍵(すなわち、第2の暗号化鍵および第2の完全性鍵)と、合意されたアルゴリズム(すなわち、SGSNが送信した暗号化アルゴリズムおよび完全性アルゴリズム)を用いて、通信メッセージに対する暗号化を行う必要がある。
本出願の本実施形態では、UEは、SGSNに要求メッセージを送信し、SGSNが送信した暗号化アルゴリズムおよび完全性アルゴリズムを受信し、第1の暗号化鍵および第1の完全性鍵に従って第2の暗号化鍵および第2の完全性鍵を計算する。SGSNとUEはどちらも、第2の暗号化鍵、第2の完全性鍵、ならびにSGSNがUEに送信した暗号化アルゴリズムおよび完全性アルゴリズムを用いて、UEとSGSNとの間の通信メッセージに対する暗号化保護および完全性保護を行うことができる。これにより、GPRSネットワークにおける第1のタイプのUEの通信のセキュリティが強化される。
以下では、図18および図19を参照して、図17に示す取得モジュール1703の構造および機能について詳細に説明する。
いくつかの実行可能な実施態様においては、図18に示すように、取得モジュール1703は、第1の計算部17031と、第2の計算部17032と、第3の計算部17033とを含んでいてよい。
第1の計算部17031は、第1の暗号化鍵および第1の完全性鍵に従って中間鍵を計算するように構成されている。
いくつかの実行可能な実施態様においては、第1の計算部17031が中間鍵を計算する前に、UEは、SGSNが送信した認証トークンAUTNおよび乱数RANDに従って予期されるメッセージ認証コードXMACをまず計算し、予期されるメッセージ認証コードXMACが認証トークンAUTN内のメッセージ認証コードMACと同じであるかどうか判定することによってSGSN側に対する認証を行う。SGSN側に対する認証に成功した後で、UEは、SGSNが送信した乱数RANDおよび認証トークンAUTNに従って第1の暗号化鍵CKおよび第1の完全性鍵IKを計算し、乱数応答RESを計算し、SGSN側がUEに対する認証を行うように、SGSNに乱数応答RESを送信する。
1つの実行可能な実施態様において、第1の計算部17031は、第1の暗号化鍵および第1の完全性鍵に対する演算を行い、次いで、演算結果を鍵導出関数KDFの入力パラメータとして用いて中間鍵を計算することができる。例えば、中間鍵はKm=KDF(CK||IK)とすることができ、式中、CK||IKは、第1の暗号化鍵CKと第1の完全性鍵IKとに対して結合演算が行われることを示している。
別の実行可能な実施態様において、中間鍵は、既存の64ビットGPRS暗号化鍵Kcまたは既存の128ビット暗号化鍵Kc128を直接用いてよく、すなわち、第1の計算部17031は、既存のGPRS暗号化鍵Kc(64ビット)を中間鍵として直接用いてよく、または既存のKc128(128ビット)を中間鍵として直接用いてよい。KcとKc128はどちらも、CkおよびIKに従った計算によって生成される。
第2の計算部17032は、中間鍵および暗号化特徴記号列に従って第2の暗号化鍵を計算するように構成されている。
具体的な実施に際しては、中間鍵および暗号化特徴記号列cipheringを、第2の暗号化鍵を計算するための鍵導出関数KDFの入力パラメータとして用いることができる。例えば、第2の暗号化鍵は、Kcipher=KDF(Km,“ciphering”)を用いた計算によって獲得することができ、式中、“ciphering”は暗号化特徴記号列であり、コード化によって生成することができる。
いくつかの実行可能な実施態様において、GPRSシステムは128ビットの第2の暗号化鍵を必要とし、この場合、事前設定の128ビット(例えば、最上位の128ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の暗号化鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の128ビット(例えば、最上位の128ビット)が第2の暗号化鍵としてKDFの出力から取得され、または中間鍵Kc128を鍵導出関数KDFの入力パラメータの1つとして用いることもでき、鍵導出関数KDFの出力が第2の暗号化鍵として用いられる。
いくつかの実行可能な実施態様において、GPRSシステムは64ビットの第2の暗号化鍵を必要とし、この場合、事前設定の64ビット(例えば、最上位の64ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の暗号化鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の64ビット(例えば、最上位の64ビット)が第2の暗号化鍵としてKDFの出力から取得され、または中間鍵Kc(64ビット)を鍵導出関数KDFの入力パラメータの1つとして用いることもでき、鍵導出関数KDFの出力が第2の暗号化鍵として用いられる。
第3の計算部17033は、中間鍵および完全性特徴記号列に従って第2の完全性鍵を計算するように構成されている。
具体的な実施に際しては、中間鍵および完全性特徴記号列integrityを、第2の完全性鍵を計算するための鍵導出関数KDFの入力パラメータとして用いることができる。例えば、第2の完全性鍵は、Kintegrity=KDF(Km,“integrity”)を用いた計算によって獲得することができ、式中、“integrity”は完全性特徴記号列であり、コード化によって生成することができる。
いくつかの実行可能な実施態様において、GPRSシステムは128ビットの第2の完全性鍵を必要とし、この場合、事前設定の128ビット(例えば、最上位の128ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の完全性鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の128ビット(例えば、最上位の128ビット)が第2の完全性鍵としてKDFの出力から取得され、または中間鍵Kc128を鍵導出関数KDFの入力パラメータの1つとして用いることもでき、鍵導出関数KDFの出力が第2の完全性鍵として用いられる。
いくつかの実行可能な実施態様において、GPRSシステムは64ビットの第2の完全性鍵を必要とし、この場合、事前設定の64ビット(例えば、最上位の64ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の完全性鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の64ビット(例えば、最上位の64ビット)が第2の完全性鍵としてKDFの出力から取得され、または中間鍵Kc(64ビット)を鍵導出関数KDFの入力パラメータの1つとして用いることもでき、鍵導出関数KDFの出力が第2の完全性鍵として用いられる。
本出願の本実施形態では、暗号化特徴記号列cipheringおよび完全性特徴記号列integrityは、計算された第2の暗号化鍵と計算された第2の完全性鍵とを区別しやすいよう差別化するのに用いられる。したがって、完全性特徴記号列integrityは、暗号化特徴記号列cipheringと一致しない任意の記号列とすることができる。
いくつかの実行可能な実施態様においては、図18に示すように、取得モジュール1703は、第1の計算部17031と、第2の計算部17032と、第3の計算部17033とを含んでいてよい。
第1の計算部17031は、第1の暗号化鍵および第1の完全性鍵に従って中間鍵を計算するように構成されている。
1つの実行可能な実施態様において、第1の計算部17031は、第1の暗号化鍵および第1の完全性鍵に対する演算を行い、次いで、演算結果を鍵導出関数KDFの入力パラメータとして用いて中間鍵を計算することができる。例えば、中間鍵はKm=KDF(CK||IK)とすることができ、式中、CK||IKは、第1の暗号化鍵CKと第1の完全性鍵IKとに対して結合演算が行われることを示している。
別の実行可能な実施態様において、第1の計算部17031は、既存のGPRS暗号化鍵Kc(64ビット)を中間鍵として直接用いてよく、または既存のKc128(128ビット)を中間鍵として直接用いてよい。KcとKc128はどちらも、CkおよびIKに従った計算によって生成される。
第2の計算部17032は、中間鍵、第1のアルゴリズムタイプ指示、および暗号化アルゴリズムの識別子に従って第2の暗号化鍵を計算するように構成されている。
具体的な実施に際して、第2の計算部17032は、中間鍵、第1のアルゴリズムタイプ指示、および暗号化アルゴリズムの識別子を、第2の暗号化鍵を計算するための鍵導出関数KDFの入力パラメータとして用いることができる。例えば、第2の暗号化鍵Kcipherは、Kcipher=KDF(Km,algorithm type distinguisher1,ciphering algorithm id)を用いた計算によって獲得することができ、式中、Kmは中間鍵であり、algorithm type distinguisher1は第1のアルゴリズムタイプ指示であり、ciphering algorithm idは、SGSNが選択した暗号化アルゴリズムの識別子である。
いくつかの実行可能な実施態様において、GPRSシステムは128ビットの第2の暗号化鍵を必要とし、この場合、事前設定の128ビット(例えば、最上位の128ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の暗号化鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の128ビット(例えば、最上位の128ビット)が第2の暗号化鍵としてKDFの出力から取得され、または中間鍵Kc128は鍵導出関数KDFの入力パラメータの1つとして用いられ、鍵導出関数KDFの出力が第2の暗号化鍵として用いられる。
いくつかの実行可能な実施態様において、GPRSシステムは64ビットの第2の暗号化鍵を必要とし、この場合、事前設定の64ビット(例えば、最上位の64ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の暗号化鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の64ビット(例えば、最上位の64ビット)が第2の暗号化鍵としてKDFの出力から取得され、または中間鍵Kc(64ビット)を鍵導出関数KDFの入力パラメータの1つとして用いることもでき、鍵導出関数KDFの出力が第2の暗号化鍵として用いられる。
第3の計算部17033は、中間鍵、第2のアルゴリズムタイプ指示、および完全性アルゴリズムの識別子に従って第2の完全性鍵を計算するように構成されており、第1のアルゴリズムタイプ指示の値と第2のアルゴリズムタイプ指示の値とは異なる。
具体的な実施に際して、第3の計算部17033は、中間鍵、第2のアルゴリズムタイプ指示、および完全性アルゴリズムの識別子を、第2の完全性鍵を計算するための鍵導出関数KDFの入力パラメータとして用いることができる。例えば、第2の完全性鍵K integrity は、Kintegrity=KDF(Km,algorithm type distinguisher2,integrity algorithm id)を用いた計算によって獲得することができ、式中、Kmは中間鍵であり、algorithm type distinguisher2は第2のアルゴリズムタイプ指示であり、integrity algorithm idはSGSNが選択した完全性アルゴリズムの識別子である。
いくつかの実行可能な実施態様において、GPRSシステムは128ビットの第2の完全性鍵を必要とし、この場合、事前設定の128ビット(例えば、最上位の128ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の完全性鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の128ビット(例えば、最上位の128ビット)が第2の完全性鍵としてKDFの出力から取得され、または中間鍵Kc128を鍵導出関数KDFの入力パラメータの1つとして用いることもでき、鍵導出関数KDFの出力が第2の完全性鍵として用いられる。
いくつかの実行可能な実施態様において、GPRSシステムは64ビットの第2の完全性鍵を必要とし、この場合、事前設定の64ビット(例えば、最上位の64ビット)を鍵導出関数KDFの入力パラメータの1つとして計算された中間鍵Kmの中から取得することができ、KDFの出力が第2の完全性鍵として用いられ、または計算された中間鍵Kmを鍵導出関数KDFの入力パラメータの1つとして直接用いることもでき、事前設定の64ビット(例えば、最上位の64ビット)が第2の完全性鍵としてKDFの出力から取得され、または中間鍵Kc(64ビット)を鍵導出関数KDFの入力パラメータの1つとして用いることもでき、鍵導出関数KDFの出力が第2の完全性鍵として用いられる。
本出願の本実施形態では、第1のアルゴリズムタイプ指示は、現在演算に関与しているアルゴリズムが暗号化型のアルゴリズムであることを指示するのに用いられ、第2のアルゴリズムタイプ指示は、現在演算に関与しているアルゴリズムが完全性型のアルゴリズムであることを指示するのに用いられる。いくつかの実行可能な実施形態において、第1のアルゴリズムタイプ指示と第2のアルゴリズムタイプ指示とは同じIEを含む場合があり、第1のアルゴリズムタイプ指示と第2のアルゴリズムタイプ指示とはIEの異なる値を用いて区別される。例えば、第1のアルゴリズムタイプ指示のIEと第2のアルゴリズムタイプ指示のIEとはどちらも、algorithm type distinguisherである。algorithm type distinguisher=00の場合、それは暗号化型のアルゴリズムを指示する。algorithm type distinguisher=01の場合、それは完全性型のアルゴリズムを指示する。
いくつかの可能な事例において、暗号化アルゴリズムと完全性アルゴリズムとは同じ識別子を用いる場合があり、これらの事例では、アルゴリズムタイプ指示を参照して各アルゴリズムを一意に区別する必要がある。例えば、128−EEA1アルゴリズムと128−EIA1アルゴリズムとがどちらもアルゴリズム識別子として1を用いる場合、SGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズムが、それぞれ、128−EEA1アルゴリズムおよび128−EIA1アルゴリズムであるときには、128−EEA1アルゴリズムと128−EIA1アルゴリズムとを、第1のアルゴリズムタイプ指示と第2のアルゴリズムタイプ指示とのIEの異なる値を用いて区別することができる。加えて、第2の暗号化鍵と第2の完全性鍵とを区別するように、計算された第2の暗号化鍵の値と計算された第2の完全性鍵の値とを差別化することもできる。
いくつかの実行可能な実施態様においては、図19に示すように、取得モジュール1703は、第4の計算部17034と、第5の計算部17035とを含んでいてよい。
第4の計算部17034は、第1の暗号化鍵、第1のアルゴリズムタイプ指示、および暗号化アルゴリズムの識別子に従って第2の暗号化鍵を計算するように構成されている。
いくつかの実行可能な実施態様においては、第4の計算部17034が第2の暗号化鍵を計算し、第5の計算部17035が第2の完全性鍵を計算する前に、UEは、SGSNが送信した認証トークンAUTNおよび乱数RANDに従って予期されるメッセージ認証コードXMACをまず計算し、予期されるメッセージ認証コードXMACが認証トークンAUTN内のメッセージ認証コードMACと同じであるかどうか判定することによってSGSN側に対する認証を行う。SGSN側に対する認証に成功した後で、UEは、SGSNが送信した乱数RANDおよび認証トークンAUTNに従って第1の暗号化鍵CKおよび第1の完全性鍵IKを計算し、乱数応答RESを計算し、SGSN側がUEに対する認証を行うように、SGSNに乱数応答RESを送信する。
具体的には、第4の計算部17034は、第1の暗号化鍵、第1のアルゴリズムタイプ指示、および選択された暗号化アルゴリズムの識別子を、第2の暗号化鍵を計算するための鍵導出関数KDFの入力パラメータとして用いることができる。例えば、Kcipher=KDF(CK,algorithm type distinguisher1,ciphering algorithm id)であり、式中、CKは第1の暗号化鍵であり、algorithm type distinguisher1は第1のアルゴリズムタイプ指示であり、ciphering algorithm idは、SGSNが選択した暗号化アルゴリズムの識別子である。
任意選択で、GPRSシステムが64ビットの第2の暗号化鍵を必要とする場合、最上位64ビットを第2の暗号化鍵として計算されたKcipherの中から選択することができ、GPRSシステムが128ビットの第2の暗号化鍵を必要とする場合、最上位128ビットを第2の暗号化鍵として計算されたKcipherの中から選択することができる。別の実行可能な実施態様においては、必要な数のビットを第2の暗号化鍵として計算されたKcipherの中からランダムに選択することができ、これについては本出願では限定されない。
第5の計算部17035は、第1の完全性鍵、第2のアルゴリズムタイプ指示、および完全性アルゴリズムの識別子に従って第2の完全性鍵を計算するように構成されている。
具体的には、第5の計算部17035は、第1の完全性鍵、第2のアルゴリズムタイプ指示、および選択された完全性アルゴリズムの識別子を、第2の完全性鍵を計算するための鍵導出関数KDFの入力パラメータとして用いることができる。例えば、Kintegrity=KDF(IK,algorithm type distinguisher2,integrity algorithm id)であり、式中、IKは第1の完全性鍵であり、algorithm type distinguisher2は第2のアルゴリズムタイプ指示であり、integrity algorithm id isはSGSNが選択した完全性アルゴリズムの識別子である。
任意選択で、GPRSシステムが64ビットの第2の完全性鍵を必要とする場合、最上位64ビットを第2の完全性鍵として計算されたKintegrityの中から選択することができ、GPRSシステムが128ビットの第2の完全性鍵を必要とする場合、最上位128ビットを第2の完全性鍵として計算されたKintegrityの中から選択することができる。
本出願の本実施形態では、第1のアルゴリズムタイプ指示は、現在演算に関与しているアルゴリズムが暗号化型のアルゴリズムであることを指示するのに用いられ、第2のアルゴリズムタイプ指示は、現在演算に関与しているアルゴリズムが完全性型のアルゴリズムであることを指示するのに用いられる。第1のアルゴリズムタイプ指示の値と第2のアルゴリズムタイプ指示の値とは異なる。いくつかの実行可能な実施形態において、第1のアルゴリズムタイプ指示と第2のアルゴリズムタイプ指示とは同じIEを含む場合があり、第1のアルゴリズムタイプ指示と第2のアルゴリズムタイプ指示とはIEの異なる値を用いて区別される。例えば、第1のアルゴリズムタイプ指示のIEと第2のアルゴリズムタイプ指示のIEとはどちらも、algorithm type distinguisherである。algorithm type distinguisher=00の場合、それは暗号化型のアルゴリズムを指示する。algorithm type distinguisher=01の場合、それは完全性型のアルゴリズムを指示する。
いくつかの可能な事例において、暗号化アルゴリズムと完全性アルゴリズムとは同じ識別子を用いる場合があり、これらの事例では、アルゴリズムタイプ指示を参照して各アルゴリズムを一意に区別する必要がある。例えば、128−EEA1アルゴリズムと128−EIA1アルゴリズムとがどちらもアルゴリズム識別子として1を用いる場合、SGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズムが、それぞれ、128−EEA1アルゴリズムおよび128−EIA1アルゴリズムであるときには、128−EEA1アルゴリズムと128−EIA1アルゴリズムとを、第1のアルゴリズムタイプ指示と第2のアルゴリズムタイプ指示との異なる値を用いて区別することができる。加えて、第2の暗号化鍵と第2の完全性鍵とを区別するように、計算された第2の暗号化鍵の値と計算された第2の完全性鍵の値とを差別化することもできる。
いくつかの実行可能な実施態様において、取得モジュール1703は、
第1の暗号化鍵および第1の完全性鍵に従って中間鍵を計算し、
中間鍵の第1の事前設定ビットを第2の暗号化鍵として用い、中間鍵の第2の事前設定ビットを第2の完全性鍵として用いる、
ように特に構成されていてよい。
いくつかの実行可能な実施態様においては、取得モジュール1703が中間鍵を計算する前に、UEは、SGSNが送信した認証トークンAUTNおよび乱数RANDに従って予期されるメッセージ認証コードXMACをまず計算し、予期されるメッセージ認証コードXMACが認証トークンAUTN内のメッセージ認証コードMACと同じであるかどうか判定することによってSGSN側に対する認証を行う。SGSN側に対する認証に成功した後で、UEは、SGSNが送信した乱数RANDおよび認証トークンAUTNに従って第1の暗号化鍵CKおよび第1の完全性鍵IKを計算し、乱数応答RESを計算し、SGSN側がUEに対する認証を行うように、SGSNに乱数応答RESを送信する。
1つの実行可能な実施態様において、取得モジュール1703は、第1の暗号化鍵および第1の完全性鍵に対する演算を行い、次いで、演算結果を鍵導出関数KDFの入力パラメータとして用いて中間鍵を計算することができる。例えば、中間鍵はKm=KDF(CK||IK)とすることができ、式中、CK||IKは、第1の暗号化鍵CKと第1の完全性鍵IKとに対して結合演算が行われることを示している。
別の実行可能な実施態様において、中間鍵は、既存の64ビットGPRS暗号化鍵Kcまたは既存の128ビット暗号化鍵Kc128を直接用いてよく、すなわち、取得モジュール1703は、既存のGPRS暗号化鍵Kc(64ビット)を中間鍵として直接用いてよく、または既存のKc128(128ビット)を中間鍵として直接用いてよい。KcとKc128はどちらも、CkおよびIKに従った計算によって生成される。
1つの実行可能な実施態様において、取得モジュール1703は、中間鍵の第1の事前設定ビットを第2の暗号化鍵として用いることができる。例えば、GPRSシステムが64ビットの第2の暗号化鍵を必要とする場合、中間鍵の最上位64ビットを第2の暗号化鍵として直接用いることができ、GPRSシステムが128ビットの第2の暗号化鍵を必要とする場合、中間鍵の最上位128ビットを第2の暗号化鍵として直接用いることができる。任意選択で、必要な数のビットを第2の暗号化鍵として中間鍵の中からランダムに選択することもでき、これについては本出願では限定しない。
1つの実行可能な実施態様において、取得モジュール1703は、中間鍵の第2の事前設定ビットを第2の完全性鍵として用いることができる。例えば、GPRSシステムが64ビットの第2の完全性鍵を必要とする場合、中間鍵の最下位64ビットを第2の完全性鍵として直接用いることができ、GPRSシステムが128ビットの第2の完全性鍵を必要とする場合、中間鍵の最下位128ビットを第2の完全性鍵として直接用いることができる。任意選択で、必要な数のビットを第2の完全性鍵として中間鍵の中からランダムに選択することもでき、これについては本出願では限定しない。
いくつかの実行可能な実施態様において、取得モジュール1703は、
第1の暗号化鍵または第1の暗号化鍵の事前設定ビットを第2の暗号化鍵として用い、
第1の完全性鍵または第1の完全性鍵の事前設定ビットを第2の完全性鍵として用いる、
ように特に構成されている。
いくつかの実行可能な実施態様においては、取得モジュール1703が第2の暗号化鍵または第2の完全性鍵を計算する前に、UEは、認証トークンAUTNおよび乱数RANDに従って予期されるメッセージ認証コードXMACをまず計算し、予期されるメッセージ認証コードXMACが認証トークンAUTN内のメッセージ認証コードMACと同じであるかどうか判定することによってSGSN側に対する認証を行うことができる。SGSN側に対する認証に成功した後で、UEは、SGSNが送信した乱数RANDおよび認証トークンAUTNに従って第1の暗号化鍵CKおよび第1の完全性鍵IKを計算し、乱数応答RESを計算し、SGSN側がUEに対する認証を行うように、SGSNに乱数応答RESを送信する。
いくつかの実行可能な実施態様においては、第1の暗号化鍵が128ビット鍵であり、GPRSシステムが必要とする第2の暗号化鍵も128ビット鍵である場合、第1の暗号化鍵を第2の暗号化鍵として直接用いることができる。GPRSシステムが必要とする第2の暗号化鍵が64ビット鍵である場合には、64事前設定ビットを第2の暗号化鍵として第1の暗号化鍵の中から選択することができる。例えば、最上位64ビットが第2の暗号化鍵として選択される。
いくつかの実行可能な実施態様においては、第1の完全性鍵が128ビット鍵であり、GPRSシステムが必要とする第2の完全性鍵も128ビット鍵である場合、第1の完全性鍵を第2の完全性鍵として直接用いることができる。GPRSシステムが必要とする第2の完全性鍵が64ビット鍵である場合には、64事前設定ビットを第2の完全性鍵として第1の完全性鍵の中から選択することができる。例えば、最上位64ビットが第2の完全性鍵として選択される。
本出願の本実施形態では、UEは、SGSNに要求メッセージを送信し、SGSNが送信した暗号化アルゴリズムおよび完全性アルゴリズムを受信し、第1の暗号化鍵および第1の完全性鍵に従って第2の暗号化鍵および第2の完全性鍵を計算する。SGSNとUEはどちらも、第2の暗号化鍵、第2の完全性鍵、ならびにSGSNがUEに送信した暗号化アルゴリズムおよび完全性アルゴリズムを用いて、UEとSGSNとの間の通信メッセージに対する暗号化保護および完全性保護を行うことができる。これにより、GPRSネットワークにおける第1のタイプのUEの通信のセキュリティが強化される。
図20を参照されたい。図20は、本出願によるUEの別の実施形態の概略構造図である。図20に示すように、本UEは、送信装置2001と、受信装置2002と、プロセッサ2003とを含み、送信装置2001と、受信装置2002と、プロセッサ2003とはバスを用いて接続されている。
送信装置2001は、SGSNに要求メッセージを送信するように構成される。
受信装置2002は、SGSNが送信した暗号化アルゴリズムおよび完全性アルゴリズムを受信するように構成される。
プロセッサ2003は、第1の暗号化鍵および第1の完全性鍵に従って第2の暗号化鍵および第2の完全性鍵を取得するように構成される。
第2の暗号化鍵および暗号化アルゴリズムは、SGSNとUEとの間で送信されるメッセージに対する暗号化保護を行うのに用いられ、第2の完全性鍵および完全性アルゴリズムは、SGSNとUEとの間で送信されるメッセージに対する完全性保護を行うのに用いられる。
いくつかの実行可能な実施態様において、送信装置2001がSGSNに送信する要求メッセージはUEタイプ指示情報を含み、UEタイプ指示情報はUEが第1のタイプのUEであることを指示するのに用いられる。
いくつかの実行可能な実施態様において、プロセッサ2003が、第1の暗号化鍵および第1の完全性鍵に従って第2の暗号化鍵および第2の完全性鍵を取得することは、
プロセッサ2003が、第1の暗号化鍵および第1の完全性鍵に従って中間鍵を計算することと、
プロセッサ2003が、中間鍵および暗号化特徴記号列に従って第2の暗号化鍵を計算することと、
プロセッサ2003が、中間鍵および完全性特徴記号列に従って第2の完全性鍵を計算することと、
を含む。
いくつかの実行可能な実施態様において、プロセッサ2003が、第1の暗号化鍵および第1の完全性鍵に従って第2の暗号化鍵および第2の完全性鍵を取得することは、
プロセッサ2003が、第1の暗号化鍵および第1の完全性鍵に従って中間鍵を計算し、プロセッサ2003が、中間鍵の第1の事前設定ビットを第2の暗号化鍵として用い、中間鍵の第2の事前設定ビットを第2の完全性鍵として用いること、または
プロセッサ2003が、第1の暗号化鍵、第1のアルゴリズムタイプ指示、および暗号化アルゴリズムの識別子に従って第2の暗号化鍵を計算し、プロセッサ2003が、第1の完全性鍵、第2のアルゴリズムタイプ指示、および完全性アルゴリズムの識別子に従って第2の完全性鍵を計算すること、または
プロセッサ2003が、第1の暗号化鍵もしくは第1の暗号化鍵の事前設定ビットを第2の暗号化鍵として用い、プロセッサ2003が、第1の完全性鍵もしくは第1の完全性鍵の事前設定ビットを第2の完全性鍵として用いること、
を含む。
いくつかの実行可能な実施態様において、第1の暗号化鍵は認証ベクトルクインテット内の暗号化鍵CKであり、第1の完全性鍵は認証ベクトルクインテット内の完全性鍵IKである。
いくつかの実行可能な実施態様において、中間鍵は64ビットGPRS暗号化鍵Kcまたは128ビット暗号化鍵Kc128である。
本出願の本実施形態では、UEは、SGSNに要求メッセージを送信し、SGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズム、第1の暗号化鍵、ならびに第1の完全性鍵に従って第2の暗号化鍵および第2の完全性鍵を計算し、第2の暗号化鍵および第2の完全性鍵を用いて、UEとSGSNとの間の通信メッセージに対する暗号化保護および完全性保護を行う。これにより、GPRSネットワークにおける第1のタイプのUEの通信のセキュリティが強化される。
図21を参照されたい。図21は、本出願の一実施形態によるHLR/HSSの一実施形態の概略構造図である。図21に示すように、本HLR/HSSは、受信モジュール2101と、判定モジュール2102と、送信モジュール2103とを含む。
受信モジュール2101は、サービングGPRSサポートノードSGSNが送信したユーザ機器UEの識別子を受信するように構成されている。
ホーム・ロケーション・レジスタ(Home Location Register、HLR)は、GPRSシステムの永続データベースであり、登録されたモバイルユーザのものである識別情報、サービス情報、サービス許可などの静的情報、およびユーザの位置情報などの動的情報を含む、多くのモバイルユーザの通信を管理するのに必要な情報を記憶している。ホーム加入システムHSS(Home Subscription System、HSS)は、HLRが進化し、アップグレードしたものであり、主に、ユーザの加入データおよびモバイルユーザの位置情報を管理する役割を果たす。HSSとHLRとはネットワークにおいて類似した機能を有し、HSSに記憶されるデータの多くがHLRに繰り返し記憶されるため、一般に、外部に対してはHSSとHLRの融合デバイスが提示される。本出願の本実施形態では、HLR/HSSは、HLRデバイスであっても、HSSデバイスであっても、HLRとHSSとの融合デバイスであってもよい。
本出願の本実施形態では、UEはUSIMカードを用いてネットワークと通信し、UEの識別子は、USIMカードのIMSI(International Mobile Subscriber Identification Number、国際移動体加入者識別番号)であってよい。
判定モジュール2102は、UEの識別子に従って、UEは第1のタイプのUEであると判定するように構成されている。
具体的な実施に際して、HLR/HSSは多くのUEの様々な情報を記憶する。HLR/HSSは、SGSNが送信したUEの識別子を受信した後で、UEが第1のタイプのUEであるかどうか判定するように、UEに関する情報を問い合わせすることができる。本出願の本実施形態では、UEが第1のタイプのUEである例を用いて説明する。
本出願の本実施形態では、第1のタイプのUEは、モノのインターネットUE、マシンツーマシン(Machine To Machine、M2M)通信UE、または他の高セキュリティUEを含んでいてよい。モノのインターネットUEとは、情報感知機能およびデータ伝送機能を有するユーザ機器、例えば、音声ガイド、携帯情報端末、バーコードコレクタ、データ収集端末、および購入または送金に主に用いられるPOS端末をいう。マシンツーマシン通信UEとは、人、モバイルネットワーク、または別の機械と情報を交換するために、ネットワーク接続および通信能力を有し、センサ、コントローラなどを用いて「インテリジェンス」属性を実現するユーザ機器をいう。
送信モジュール2103は、SGSNにUEタイプ指示情報を送信するように構成されており、UEタイプ指示情報はUEが第1のタイプのUEであることを指示するのに用いられる。
任意選択で、UEタイプ指示情報は、特定の情報要素(Information Element、IE)の存在に従って、UEは第1のタイプのUEであると指示することもできる。例えば、SGSNが、HLR/HSSまたはUEが送信したUEタイプ指示情報を受信したときに、UEタイプ指示情報に特定のIEが存在する場合、SGSNは、UEは第1のタイプのUEであると判定することができ、UEタイプ指示情報に特定のIEが存在しない場合、SGSNは、UEは第1のタイプのUEではないと判定することができる。あるいは、UEタイプ指示情報は、特定のIEの値に従って、UEは第1のタイプのUEであると指示することもできる。例えば、SGSNが、HLR/HSSまたはUEが送信したUEタイプ指示情報を受信したときに、UEタイプ指示情報内の特定のIEの値が1である場合、SGSNは、UEは第1のタイプのUEであると判定することができ、特定のIEの値が0である場合、SGSNは、UEは第1のタイプのUEではないと判定することができる。
本出願の本実施形態では、HLR/HSSは、SGSNに認証ベクトルをさらに送信することができ、認証ベクトルは第1の暗号化鍵および第1の完全性鍵を含む。
いくつかの実行可能な実施態様において、前述の認証ベクトルは認証ベクトルクインテットであってよく、乱数RAND、予期される応答XRES、認証トークンAUTN、暗号化鍵CK、および完全性鍵IKを含む。第1の暗号化鍵は認証ベクトルクインテット内の暗号化鍵CKであり、第1の完全性鍵は認証ベクトルクインテット内の完全性鍵IKである。
本出願の本実施形態では、HLR/HSSは、SGSNが送信したUEの識別子を受信し、UEの識別子に従って、UEは第1のタイプのUEであると判定し、UEが第1のタイプのUEであることを指示するようにSGSNにUEタイプ指示情報を送信することができ、そのため、SGSNと第1のタイプのUEとの間で第1のタイプのUEのための鍵強化処理を行うことができ、GPRSネットワークにおける第1のタイプのUEの通信のセキュリティが強化される。
図22を参照されたい。図22は、本出願の一実施形態によるHLR/HSSの別の実施形態の概略構造図である。図22に示すように、本HLR/HSSは、受信装置2201と、送信装置2202と、プロセッサ2203とを含み、受信装置2201と、送信装置2202と、プロセッサ2203とはバスを用いて接続されている。
受信装置2201は、SGSNが送信したユーザ機器UEの識別子を受信するように構成される。
プロセッサ2203は、UEの識別子に従って、UEは第1のタイプのUEであると判定するように構成される。
送信装置2202は、SGSNにUEタイプ指示情報を送信するように構成され、UEタイプ指示情報はUEが第1のタイプのUEであることを指示するのに用いられる。
本出願の本実施形態では、HLR/HSSは、SGSNが送信したUEの識別子を受信し、UEの識別子に従って、UEは第1のタイプのUEであると判定し、UEが第1のタイプのUEであることを指示するようにSGSNにUEタイプ指示情報を送信することができ、そのため、SGSNと第1のタイプのUEとの間で第1のタイプのUEのための鍵強化処理を行うことができ、GPRSネットワークにおける第1のタイプのUEの通信のセキュリティが強化される。
図23を参照されたい。図23は、本出願の一実施形態によるGPRSシステムの一実施形態の概略構造図である。図23に示すように、本GPRSシステムは、SGSNデバイス2301と、UE2302と、HLR/HSS2303とを含む。
SGSNデバイスは、UEが送信した要求メッセージを受信し、HLR/HSSから、第1の暗号化鍵および第1の完全性鍵を含む認証ベクトルを取得し、SGSNがUEは第1のタイプのUEであると判定した場合、UEのための暗号化アルゴリズムおよび完全性アルゴリズムを選択し、UEに選択された暗号化アルゴリズムおよび選択された完全性アルゴリズムを送信し、第1の暗号化鍵および第1の完全性鍵に従って第2の暗号化鍵および第2の完全性鍵を獲得する、ように構成されている。
UEは、SGSNに要求メッセージを送信し、SGSNが送信した暗号化アルゴリズムおよび完全性アルゴリズムを受信し、第1の暗号化鍵および第1の完全性鍵に従って第2の暗号化鍵および第2の完全性鍵を取得する、ように構成されている。
第2の暗号化鍵および暗号化アルゴリズムは、SGSNとUEとの間で送信されるメッセージに対する暗号化保護を行うのに用いられ、第2の完全性鍵および完全性アルゴリズムは、SGSNとUEとの間で送信されるメッセージに対する完全性保護を行うのに用いられる。
いくつかの実行可能な実施態様において、HLR/HSS2303は、
SGSNが送信したUEの識別子を受信し、
UEの識別子に従って、UEは第1のタイプのUEであると判定し、
SGSNに、UEが第1のタイプのUEであることを指示するのに用いられるUEタイプ指示情報を送信する、
ように構成されていてよい。
本出願の本実施形態では、UEは、SGSNに要求メッセージを送信する。SGSNは、UEは第1のタイプのUEであると判定した後で、暗号化アルゴリズムおよび完全性アルゴリズムを選択する。UEとSGSNとはどちらも、第1の暗号化鍵および第1の完全性鍵に従って強化された第2の暗号化鍵および強化された第2の完全性鍵を計算し、第2の暗号化鍵、第2の完全性鍵、ならびにSGSNが選択した暗号化アルゴリズムおよび完全性アルゴリズムを用いて、UEとSGSNとの間の通信メッセージに対する暗号化保護および完全性保護を行う。これにより、GPRSネットワークにおける第1のタイプのUEの通信のセキュリティが強化される。
したがって、本出願の一実施形態はコンピュータ記憶媒体をさらに開示し、本コンピュータ記憶媒体はプログラムを記憶しており、プログラムが動作すると、本出願の図1から図5のいずれか1つに記載されている実施形態が実行される。
したがって、本出願の別の実施形態はコンピュータ記憶媒体をさらに開示し、本コンピュータ記憶媒体はプログラムを記憶しており、プログラムが動作すると、本出願の図6から図10のいずれか1つに記載されている実施形態が実行される。
したがって、本出願の別の実施形態はコンピュータ記憶媒体をさらに開示し、本コンピュータ記憶媒体はプログラムを記憶しており、プログラムが動作すると、本出願の図11に記載されている実施形態が実行される。
説明を簡単にするために、前述の方法実施形態は一連の動作として表されていることに留意されたい。しかし、当業者は、本出願によれば、いくつかのステップを他の順序で、または同時に行うことができるため、本出願が記載されている動作順序だけに限定されるものではないことを理解するはずである。当業者は、本明細書に記載されている実施形態はすべて実施形態に属するものであり、関与する動作およびモジュールは必ずしも本出願に必要であるとは限らないことをさらに理解するはずである。
前述の各実施形態において、各実施形態の記述にはそれぞれの視点がある。ある実施形態で詳細に記載されていない部分については、他の実施形態の関連説明を参照されたい。
当業者は、各実施形態における方法の各ステップの全部または一部を関連ハードウェアに命令するプログラムによって実現することができることを理解するであろう。プログラムはコンピュータ可読記憶媒体に記憶されていてよい。記憶媒体は、フラッシュメモリ、読取り専用メモリ(Read−Only Memory、ROM)、ランダム・アクセス・メモリ(Random Access Memory、RAM)、磁気ディスク、光ディスクを含んでいてよい。
以上では、本出願の実施形態で提供するGPRSシステム鍵強化方法、SGSNデバイス、UE、HLR/HSS、およびGPRSシステムについて詳細に説明した。本明細書では、具体例を用いて本出願の原理および実施態様が説明されている。前述の実施形態の説明は、単に、本出願の方法および中核となる思想の理解を容易にするためのものにすぎない。加えて、具体的な実施態様および適用範囲に関して、本出願の思想に従って当業者が改変を加えることもできる。したがって、本明細書の内容は、本出願を限定するものと理解すべきではない。