本明細書において開示されているシステム、方法、および装置の実施形態は、たとえばユーザ/UE(ユーザ装置:user equipment)、サービスプロバイダ、および/またはIDプロバイダなどのネットワークエンティティーどうしの間におけるセキュアな通信を提供する。本明細書に記載されているように、セキュアな通信は、ネットワークエンティティーどうしの間における共有キー/シークレットを使用して、および/またはパブリック/プライベートキーを使用してネットワークエンティティーどうしの間において確立されたセキュアチャネルを介して実行されることが可能である。これらのセキュアチャネルは、たとえばMitM(man−in−the−middle)攻撃など、サードパーティーからの攻撃を防止するために使用されることが可能である。
本明細書に記載されている一実施形態においては、セキュアな通信は、通信を送信および/または受信するための意図された認証されたエンティティーを識別するための共有キーまたは共有シークレットを使用して実行されることが可能である。たとえば、共有キーまたは共有シークレットは、ネットワークエンティティーどうしの間において送信されるメッセージに、それらのネットワークエンティティーの真正性を示す様式で暗号化および/または署名を行うために使用されることが可能である。
例示的な一実施形態においては、本明細書に記載されているセキュアな通信は、OpenID認証プロトコルに基づくことおよび/またはバインドされることが可能である。OpenID認証においては、サービスプロバイダは、RP(relying party)であることが可能であり、および/またはIDプロバイダは、OP(OpenID identity provider)であることが可能である。OpenID認証は、OpenID、および/またはローカルOpenIDと呼ばれる変形形態の使用を含むことができ、ローカルOpenIDでは、OpenIDにおけるOPの何らかの機能が、ローカルエンティティー(たとえば、UE、ゲートウェイ、スマートカード、UICC(Universal Integrated Circuit Card)など)によって実行される。
ここでは、OpenID認証フローにおけるRPの認証が説明される。これが役立つことができるのは、たとえば、ユーザ/UEとRPが、信頼関係(ウェブサイト証明書を、および/または、たとえばAAAデータベースからRPによってアクセス可能なUEに関するクレデンシャルのセットを使用して確立されることが可能であるような信頼関係)を有することができないケースである。別の実施形態は、本明細書に記載されているようなローカルOP/RPプライベート共有シークレット(local OP−RP private shared secret)の確立を含むことができる。
ローカルモバイルSSO(single sign−on)は、SSOおよび/または関連したIDマネージメント機能の一部または全体を総称するための用語であり、それらは、従来であれば、たとえばウェブベースのSSOサーバによって実行されるかもしれないが、現在は、ローカルベースのエンティティーまたはモジュール(たとえば、UE、スマートカード、またはUICCにおいて存在するセキュアな環境)によって実行されており、そうしたエンティティーまたはモジュールは、通信デバイス自体の一部もしくは全体である場合があり、または、そのようなエンティティー/モジュールは、通信デバイスおよび/もしくはそのユーザのすぐそばに物理的におよび/もしくは論理的に配置されている(たとえば、ゲートウェイを介して接続されているなど、ローカルに配置されている)場合がある。たとえば、エンティティー/モジュールは、デバイス内に組み込まれること、デバイスに接続されること、および/または、ローカルインターフェース、配線、もしくは短距離ワイヤレス手段によってデバイスに接続されることが可能である。
ローカルOpenIDは、ローカルモバイルSSOのタイプを示すための用語として使用されることが可能であり、それによって、そのSSOまたはIDマネージメントは、そのOpenIDプロトコルに基づく。たとえば、ローカルOpenIDは、ローカルに配置されているエンティティー/モジュールによって実行されることが可能であるOPまたはIdP(OpenID Identity Provider)の機能を示すために使用されることが可能である。
ローカルIdPは、ローカル認証および/またはアサーション機能を実行するローカルエンティティーまたはモジュールを示すために使用される用語である。たとえば、ローカルIdPは、ローカルOpenIDのためのOpenIDサーバの認証および/またはアサーション機能を実行することができる。OpenID機能を実施するローカルIdPを示すために、OPlocという略称が使用されることが可能であるが、ローカルIdPは、同様の機能を実行することができ、OpenIDプロトコルを実施することを求められないことが可能である。ローカルIdPの1つの機能は、ユーザおよび/またはデバイスのIDに関する(1つまたは複数の)アサーションを通じてユーザおよび/またはデバイスの認証を容易にすることであると言える。例示的な一実施形態においては、そのような認証アサーションは、ローカルIdPから、デバイス上で動作しているBA(browser agent)へ送信されることが可能であり、BAは、その認証アサーションを外部のRPへ転送することができる。ローカルIdPによって提供される(1つまたは複数の)機能が、主として、そのような認証アサーションを提供することに限定されている場合には、そのローカルIdPは、LAE(Local Assertion Entity)と呼ばれうる。
ローカルIdPは、認証アサーションメッセージを処理し、作成し、管理し、および/または、1つもしくは複数の外部の受信者へ送信することができる。認証アサーションメッセージは、ユーザおよび/またはデバイスに関連している1つまたは複数のIDの検証の状態をアサートすることができる。たとえば、OpenIDプロトコルにおいては、RPなどのサードパーティーエンティティーは、認証アサーションメッセージの受信者のうちの1人であることが可能である。ローカルIdPは、たとえば共有キーまたはパブリック/プライベートキーの取り合わせなどの暗号技術を使用して、認証アサーションメッセージに署名することもできる。
ローカルOpenIDの実施態様は、ルートセッションキーなどの1つまたは複数の暗号化キーを使用することができる。ルートセッションキーは、RPと、UE上に存在しているOPlocとの間において使用することを意図される場合がある。そのようなキーは、RPと、その他のキーが導出されることが可能である元となるOPとの間におけるルートセッションキーとして機能することができる。ローカルOpenIDの方法は、認証アサーションキーを使用することもでき、認証アサーションキーは、ユーザの認証のために(1つまたは複数の)認証アサーションメッセージのうちの1つまたは複数に署名するために使用されることが可能である。そのような認証アサーションキーは、ルートセッションキーから導出されることが可能である。
ローカルOpenIDの実施態様は、OPSF(OpenID Server Function)と呼ばれるサービスを使用することができ、OPSFの役割は、ローカルIdPおよび/またはRPによって使用されることが可能であるシークレットを生成すること、共有すること、および/または配布することであると言える。例示的な一実施形態においては、OPSFおよびローカルIdPは、外部のRPによって単一のエンティティーとして見られることが可能である。OPSFは、ローカルOpenIDによって発行された署名を検証することを可能にすることができ、および/または、RPによって、たとえば公的なインターネットを介して、直接到達可能にすることができる。OPSFのアドレスがローカルIdPにマップするようにデバイス上のローカルDNSリゾルビングモジュール(local DNS resolving module)を修正することによって、デバイス上のブラウザは、ローカルIdPへリダイレクトされることが可能である。
OpenIDの実施態様は、RPのためにローカルIdPのディスカバリーを容易にするサービスを使用することができる。そのようなサービスは、たとえばOP−aggによって示されることが可能である。
本明細書において開示されているのは、OpenID(たとえば、OpenIDおよび/またはローカルOpenIDを含む)を使用して実施されることが可能であるセキュリティーシステム、方法、および装置である。本明細書に記載されている実施形態のうちのいくつかは、たとえばUEにおいて実施されることが可能である。ユーザ機器は、OpenID要求をOPへ通信することができる。OPは、本明細書にさらに記載されているように、UEおよび/またはRPを認証するために使用されることが可能である。
ローカルOPに対するRPのトランスペアレントな委任された認証に関する実施形態が説明される。本明細書に記載されている実施形態によれば、OpenIDを使用して、および/または、たとえばOPlocなど、署名された認証アサーションのローカルプロバイダを利用して、どのようにRP認証を実行するかを示すプロトコルが開示される。本明細書に記載されているように、リプレイ保護(replay protection)のためにチャレンジ値および/またはノンス(nonce)が付加されることが可能である(たとえば、図1におけるプロトコルのステップ112および120)。
RPを認証するための記載されている実施態様の一態様は、OPSFノードによる委任された認証の態様を含むことができる。その態様は、OPlocがチャレンジRPChvを提示する一般的なチャレンジ/応答戦略(general challenge−response strategy)に従うことができる。このチャレンジは、真正なRPがそのチャレンジを復号することができるように適切な方法でOPSFによって暗号化されることが可能である。たとえば、RPとOPSFは、シークレットKr,oを共有することができ、そのシークレットKr,oは、チャレンジを暗号化および復号するために使用されることが可能である。
図1は、例示的なプロビジョニングフェーズ(PP)のメッセージフロー図を示している。図1において示されているように、このプロビジョニングフェーズは、UE/OPloc102、RP104、OPSF106、および/またはHSS(Home Subscription Service)108を含むことができる。UE/OPloc102は、110においてログイン識別子(たとえば、httpアドレスまたはEメールなどのOID(OpenID identifier))をRP104へサブミットすることができる。110におけるメッセージは、RPチャレンジ値RPChvを含むことができる。RPチャレンジ値RPChvは、RP104が自分の真正性を証明するために適切に応答することができる値である。たとえば、これは、1回だけ使用することができるランダムな値とすることができる。112において、RP104は、アソシエーション要求(たとえば、http POST OpenIDアソシエーション要求)をOPSF106へ送信することができる。このアソシエーション要求は、RP104に対応するRPクレデンシャルRPCred、および/またはRPチャレンジ値RPChvを含むことができる。RPCredは、RP104の識別子であることが可能であり、この識別子は、OPSF106が、OPSF106とRP104との間において共有される正しい事前共有キーKr,oを選択することを可能にすることができる。RPCredは、OPSF106がその他の手段(たとえば、インターネットURL)によってRP104を識別する場合には、メッセージングから省略されることが可能である。114において、OPSF106は、OPSF106とUE/OPloc102との間における共有シークレットK0がプロビジョンされているかどうかを判定することができる。共有シークレットK0がプロビジョンされている場合には、OPSF106は、(たとえば、図2において示されているように)認証フェーズ(AP)へ進みうる。共有シークレットK0がプロビジョンされていない場合には、プロビジョニングフェーズが続行しうる。
116において、OPSF106は、たとえばRPCred、またはRP104の別の信頼されている識別子に基づいて、共有シークレットKr,oを選択することができる。OPSF106は、118においてRP104とのアソシエーションを実行することができる。OPSF106は、118においてアソシエーションハンドルAおよび/または署名キーSを生成することができる。署名キーSは、アソシエーションハンドルAの関数に基づいて生成されることが可能である。OPSF106は、アソシエーションハンドルAおよび署名キーSをRP104へ送信することができる。署名キーSは、共有キーKr,oを用いて暗号化されることが可能であり、これは、たとえばEKr,o(S)と呼ばれうる。RP104は、120においてリダイレクトメッセージをUE/OPloc102へ送信することができる。リダイレクトメッセージは、たとえば、sessionID、returnURL、ノンス、ログイン識別子(たとえば、OID)、および/またはアソシエーションハンドルAなどのパラメータを含むことができる。UE/OPloc102は、122において要求(たとえば、http GET要求)をOPSF106へ送信することができる。要求(たとえば、http GET要求)は、たとえば、sessionID、returnURL、ノンス、ログイン識別子(たとえば、OID)、および/またはアソシエーションハンドルAなどのパラメータを含むことができる。
124において、OPSF106は、認証ベクトルおよび/またはその他の情報をHSS108から得ることができる。OPSF106は、126において認証チャレンジをUE/OPloc102へ送信することができる。128において、UE/OPloc102は、認証応答を計算して、その認証応答をOPSF106へ送信することができる。130において、OPSF106は、その認証応答の妥当性を確認して、OPSF106とUE/OPloc102との間において共有される共有シークレットK0を生成することができる。認証応答の妥当性を確認した後に共有シークレットK0をこのように生成することによって、UE/OPloc102とOPSF106との間におけるセキュリティーアソシエーションの確立をこの認証にバインドすることができる。たとえば、図1において示されているように、このバインディングは、認証応答の妥当性確認を共有シークレットK0の生成に手順の上でバインドすることであると言える。UE/OPloc102は、132において共有シークレットK0を生成することができる。134においては、OPSF106は、UE/OPloc102を認証した後に認証アサーションメッセージUEAssertを生成することができる。この認証アサーションは、K0によって暗号化されているRPCredおよびRPChvを含むことができ、これは、たとえばK0(RPCred,RPChv)と呼ばれうる。K0(RPCred,RPChv)を含むこの認証アサーションは、OPSF106がRP104を認証したことをUE/OPloc102に示すことができ、それによってUE/OPloc102は、自分が本物のRP104と対話していることを保証されることが可能である。例示的な一実施形態においては、RPCredは、UE/OPloc102によって識別可能である、RP104を表す名前(または、その他のテキスト値)であることが可能である。OPSF106は、署名キーSを用いて認証アサーションメッセージUEAssertを暗号化することもでき、これは、たとえばES(UEAssert)と呼ばれうる。OPSF106は、136においてリダイレクトメッセージをUE/OPloc102へ送信することができる。このリダイレクトメッセージは、署名されたアサーションメッセージとともにUE/OPloc102をRP104へリダイレクトすることができる。UE/OPloc102は、署名されたアサーションメッセージとともに138において要求(たとえば、http GET要求)をRP104へ送信することができる。140において、RP104は、共有キーKr,oを使用して署名キーSを復号することができ、および/または、ES(UEAssert)を復号することによって、署名キーSを使用して認証アサーションメッセージ(たとえば、OpenIDアサーションメッセージ)を検証することができる。RP104は、認証アサーションUEAssertを含む通知を142においてUE/OPloc102へ送信することができる。144において、UE/OPloc102は、RPChvおよび/またはRPCredを復号することによって、認証アサーションUEAssertの妥当性を確認することができる。
図1において示されているように、OPSF106とUE/OPloc102との間における共有シークレットK0を確立することができるプロトコルが実施されることが可能である。例示的な一実施形態においては、プロビジョニングフェーズの前に、またはその最中に、OPSF106とUE/OPloc102は、まだシークレットを共有することができない。この共有シークレットは、たとえばネットワークエンティティーHSS108を使用して、ネットワークベースの認証を含めることによってプロトコルが実行されたときに確立されることが可能である。K0を用いて暗号化されたUEAssert内にRPChvおよびRPCredを含めることによって、UE/OPloc102は、受信されたメッセージが、RPCredによって識別されるRP104から生じたものであることを保証されることが可能である。RPCredにおいて申告されているIDをRP104のIDと比較することによって、UE/OPloc102は、認証情報を受信したRPがほかにないことと、RP104が、UE/OPloc102が認証を実行したいと望んだ意図されたRPであることとを検証することができる。UEAssert内の情報片RPCredは、RP104のIDをUE102に示すためにOPSF106によって生成されるいくらか明示的なステートメントRPAssertによって置換されることが可能である。UEAssertは、署名キーSを用いて署名された署名済みのOpenIDアサーションメッセージであることが可能である。
図1はまた、RP104がUE/OPloc102に対して認証されること(たとえば、黙示的に認証されること)が可能であるということを示している。RP104は、そのRP104が、RPCredによって識別された真正なRPである場合には、UE/OPloc102のOpenID認証を実行することができる(それ以降、署名キーSを復号することが可能である)。RP104に対してOPSF106によってプロトコルにおいて認証される一意のUE/OPloc102は、RP104を認証することができる。例示的な一実施形態においては、プロトコルフローは、ローカルOpenID認証から修正されないことが可能である。また、ネットワーク認証は、影響を受けないままでいることが可能である。さらなる保護を確実にするために、プロトコルにおける1人または複数の当事者において、さらなる暗号オペレーションが実施されることが可能である。
GBA(Generic Bootstrapping Architecture)(たとえば、3GPP GBA)とローカルOpenIDの相互作用のための可能な実施態様に関しては、UE/OPloc102とOPSF106との間における事前共有シークレットK0が存在する場合には、プロトコルが実施されることが可能である。
図2は、認証フェーズ(AP:Authentication Phase)の例示的なメッセージフロー図を示している。たとえば、認証フェーズは、UE/OPloc202、RP204、OPSF206、および/またはHSS208を実装することができる。図2において示されているプロトコルフローは、UE/OPloc102とOPSF106との間における共有シークレットを使用して(たとえば、その共有シークレットが事前共有キーとして既に存在しているわけではない場合などに)、セキュアチャネルを確立するために、単独で、または図1に記載されているプロトコルプロビジョニングフェーズ(PP)とともに適用されることが可能である。
図2において示されているように、UE/OPloc202は、210においてログイン識別子(たとえば、httpアドレスまたはEメールなどのOID(OpenID identifier))をRP204へサブミットすることができる。212において、RP204は、アソシエーション要求(たとえば、http POST OpenIDアソシエーション要求)をOPSF206へ送信することができる。このアソシエーション要求は、RP204を識別するRPクレデンシャルRPCredを含むことができる。214において、OPSF206は、共有キーK0が決定またはプロビジョンされているかどうかを判定することができ、共有キーK0が決定またはプロビジョンされていない場合には、プロトコルは、プロビジョニングフェーズにおいてK0のプロビジョニングを進めることができる。K0が既にプロビジョンされている場合には、プロトコルは、認証フェーズへ進むことができる。たとえば、216においてOPSF206は、RP204に対応するRPCredに基づいて、共有キーKr,oを選択することができる。218において、OPSF206は、RP204とのアソシエーションを実行することができる。OPSF206は、アソシエーションハンドルAおよび/または共有キーK1を生成することができる。共有キーK1は、たとえばアソシエーションハンドルA、RPCred、および/または共有キーK0の関数から生成される、OPSF206、UE/OPloc202、および/またはRP204の間における共有キーであることが可能である。たとえば、UE/OPloc202および/またはOPSF206は、共有キーK1を生成するように構成されることが可能である。RP204は、共有キーK1を受信して、その共有キーK1を、UE/OPloc202とのセキュアな通信のために使用することができる。OPSF206は、アソシエーションハンドルAと、暗号化されたK1とをRP204へ送信することができ、K1は、共有キーKr,oによって暗号化されており、これは、たとえばEKr,o(K1)と呼ばれうる。RP204は、sessionID、returnURL、ノンス、ログイン識別子(たとえば、OID)、アソシエーションハンドルA、および/またはRPCredなどのパラメータを含むメッセージを220においてUE/OPloc202へ送信することができる。220におけるメッセージは、たとえばUE/OPloc202をRP204へリダイレクトするリダイレクトメッセージであることが可能である。222において、UE/OPloc202は、K1を生成することができる。たとえば、K1は、アソシエーションハンドルA、RPCred、および/またはK0の関数から生成されることが可能である。UE/OPloc202は、222においてローカル認証を実行することができ、RPChvを含む認証アサーションメッセージUEAssertを生成することができ、および/または、222においてキーK1を用いてUEAssertを暗号化することができ、これは、たとえばEK1(UEAssert)と呼ばれうる。UEAssertは、たとえばOpenIDアサーションメッセージであることが可能である。UE/OPloc202は、暗号化されたアサーションメッセージUEAssertをRP204へ送信することができる。224において、UE/OPloc202は、署名されたアサーションとともに要求(たとえば、http GET要求)をRP204へ送信することができる。RP204は、226においてKr,oを使用して、K1を復号することができる。RP204は、復号されたK1を使用して、226において認証アサーションメッセージUEAssertを復号することができる。RP204は、共有キーK1を使用して、OpenIDアサーションを検証することができる。228において、RP204は、認証アサーションメッセージUEAssertを含む通知をUE/OPloc202へ送信することができる。UE/OPloc202は、230において認証アサーションメッセージUEAssertの妥当性を確認することができる。
228において受信されたUEAssert内の情報が、224において送信されたUEAssert内の情報と合致することを確認することによって、UE/OPloc202は、228における受信されたメッセージが、RPCredによって識別されるRP204(自分が210においてログイン情報をサブミットした先のRP204)から生じたものであることを保証されることが可能である。たとえば、RPCredにおいて申告されているIDをRP104のIDと比較することによって、UE/OPloc202は、認証情報を受信したRPがほかにないことと、RP104が、UE/OPloc202が認証を実行したいと望んだ意図されたRPであることとを検証することができる。
認証の新しさは、UEAssert内に新しいチャレンジRPChvを含めることによって確かなものにされることが可能である。UE/OPloc202は、受信されたUEAssertがこのチャレンジ値を含んでいることを検証することによって、その受信されたUEAssertの妥当性を確認することができ、RP204は、UE/OPloc202とRP204とによって共有されることが可能である本物のK1を用いてUEAssertを復号することができる場合に、そのチャレンジ値を知ることができる。本物のK1を使用すれば、OPSF206と、RPCredによって識別されるRPとによって共有されているKr,oをRP204が所有していることを証明することができる。
例示的な一実施形態によれば、RP認証は、ローカルOpenIDを伴わずに(たとえば、非ローカルOpenIDを用いて)OPを使用して実行されることが可能である。RP認証をOpenIDプロトコル内に含めることは、OpenIDプロトコル自体に対する変更、ならびに/または、OPおよび/もしくはRPの実施態様に対する変更を含むことができる。RP認証は、たとえば偽のまたは不正なRPによって生じ得る攻撃に対する対抗手段を提供することなど、セキュリティー上の利点を付加することができる。OpenID(またはローカルOpenID)に関するUE上の実施態様は、そのようなあらゆるRP認証によって影響を受けないことが可能である。たとえば、UEは、ローカルOP機能を組み込むことができず、一実施形態においては、チャレンジRPChvをRPへ送信することができない場合がある。RP認証は、OPとRPとの間におけるチャレンジ応答ステップを含むことができ、その場合には、OPは、チャレンジを新しさの証明とともにRPへ(たとえば、暗号化されたノンスを介して)送信することができる。RPは、事前に確立された共有シークレットKr,oを使用して、このノンスを復号し、返信をOPへ返すことができる。代替として、または追加として、このノンスが暗号化されずに、その返信の中でRPによって署名されることも可能である。認証チャレンジに対する応答は、OP認証チャレンジに対する直接の応答として行うことができ、またはリダイレクトメッセージ内に統合されることも可能であり、たとえば、そのリダイレクトメッセージがUEをOPへ送ることができる。いずれのケースにおいても、OPは、UE認証に従事する前にRPを認証する上で信頼できる証拠を有することができる。これは、失敗したRP認証のケースにおいてプロトコルの停止を可能にすることができ、および/または、そのような失敗したRP認証のケースにおいてUEとOPとの間における通信の労力を省くことができる。次いでOPは、失敗したRP認証に関する情報をUEへ直接伝達することができる。
図3は、RP304を認証するためのメッセージのやり取りのうちの例示的な一部分のメッセージフロー図を示している。このメッセージフロー図は、UE302、RP304、およびOP306の間における通信を含む。認証の失敗のケースにおいては、OP306は、UE302とのHTTPS(Hypertext Transfer Protocol Secure)通信を強制すること、および/または失敗をUE302に通知することが可能である。認証の成功のケースにおいては、OpenID認証は、先に進むことができる。
図3において示されているように、UE302は、308においてログイン識別子(たとえば、OID)をRP304へサブミットすることができる。RP304は、アソシエーション要求(たとえば、http POST OpenIDアソシエーション要求)を310においてOP306へ送信することができる。310におけるアソシエーション要求は、RPCredを含むことができる。312において、OP306は、たとえばRPCred、またはRP304の別の信頼されている識別子に基づいて、OP306とRP304との間における共有シークレットKr,oを選択することができる。OP306は、314においてRP304とのアソシエーションを実行することができる。314において、OP306は、アソシエーションハンドルA、署名キーS、および/またはRPChvを生成することができる。RPChvは、Kr,oを使用して暗号化されることが可能であり、これは、たとえばEKr,o(RPChv)と呼ばれうる。OP306は、アソシエーションハンドルA、署名キーS、および/またはEKr,o(RPChv)をRP304へ送信することができる。
RP304は、316において共有キーKr,oを使用してRPChvを復号することができる。318において、RP304は、UE302を介してOP306へメッセージを送信することができ、そのメッセージは、sessionID、returnURL、ノンス、ログイン識別子(たとえば、OID)、アソシエーションハンドルA、および/またはRPChvなどのパラメータを含むことができる。たとえば、318におけるメッセージは、リダイレクトメッセージを含むことができ、そのリダイレクトメッセージは、UE302をOP306へリダイレクトすることができる。UE302は、320においてメッセージ(たとえば、http GET要求)をOP306へ送信することができる。320におけるメッセージは、sessionID、returnURL、ノンス、ログイン識別子(たとえば、OID)、アソシエーションハンドルA、および/またはRPChvなどのパラメータを含むことができる。322において、OP306は、RPChvを用いてRP304のIDの妥当性を確認することができる。324においてRP304のIDが妥当ではないと判定された場合には、OP306は、RP304が妥当ではない旨を示す通知を(たとえば、RP304が妥当ではない旨を示すHTTPS通知を介して)326においてUE302へ送信することができる。RP304のIDが妥当である場合には、認証(たとえば、OpenID認証)は、328において続行することができ、および/またはOP306は、RP304のIDが妥当である旨を示す通知(図示せず)を送信することができる。
別の実施形態において、RP304がOP306とのセキュリティーアソシエーションを確立する場合には、対応するステップは、セキュリティーアソシエーションを確立するためのプロトコル内にOP306からのチャレンジを組み込むように修正されることが可能である。アソシエーションの確立中に、OP306およびRP304は、MAC(message authentication code)キーをセットアップすることができ、このMACキーは、認証アサーションメッセージUEAssertに署名するために使用されることが可能である。このキーは、一時的なシークレットキーを使用して暗号化されて送信されることが可能であり、その一時的なシークレットキーは、OP306とRP304との間において(たとえば、DH(Diffie−Hellman)手順を使用して)ネゴシエートされることが可能である。OP306は、その一時的なシークレットキーに加えて、ノンスをRP304への応答内に含めることができる。このノンスは、たとえば、その一時的なシークレットキー(たとえば、DHキー)を用いて暗号化されることが可能である。
RP304は、ネゴシエートされたキー(たとえば、DHキー)に基づいてノンスおよび/またはMACキーを復号することができる。RP304は、OP306から受信されたノンスに暗号化または署名を行うために、自分自身の事前に確立されたKr,oキーを使用することができる。RP304は、このキーをパラメータとして、たとえばUE302へ送信されることが可能であるリダイレクトメッセージに付加することができる。UE302は、OP306へのリダイレクトに従うことができるため、OP306は、署名されたまたは暗号化されたノンスを受信することができ、共有キーKr,oを使用してRP304を認証することができる。失敗した認証のケースにおいては、OP306は、認証されていないRPからUE302を保護するためのアラートメッセージをUE302へ送信することができる。成功したRP認証のケースにおいては、OP306は、プロトコルを進めることができる。
例示的な一実施形態においては、OP306は、OP306とRP304との間においてアソシエーションが確立されていない場合(たとえば、OpenIDにおけるステートレスモード)においてRP304へ情報を送信することを可能にすることができる。ステートレスモードにおいては、情報は、たとえばディスカバリー中などに、OP306とRP304との間においてやり取りされることが可能である。しかし、ディスカバリーがOP306を含むということが保証されない場合がある(たとえば、委任されたディスカバリーのケースにおいて。そのケースでは、ユーザ識別子は、たとえば、http://myblog.blog.comにある可能性があり、および/またはhttp://myblog.myopenid.comにおけるOPのOpenID OPエンドポイントURL(OpenID OP endpoint URL)を指す可能性がある)。したがって、myopenid.comにおけるOP306は、直接ディスカバリーに含まれない場合があり、このステージにおいてRP304を認証することができない場合がある。
OP306は、ディスカバリーステップ中に情報をRP304へ提供することができる場合(たとえば、ユーザ識別子ページが、OP306自体においてホストされることが可能である場合)には、ディスカバリー情報ページの一部としてノンスを動的に生成すること、および/またはそのノンスを、HTTP要求を行っているRP304の識別子(たとえば、URLまたはEメールアドレス)に関連付けることが可能である。OP306は、RP304が、このノンスに署名または暗号化を行うこと、および/またはその情報をリダイレクトメッセージ内に含めることを予期することができる。
OP306は、HTTPSの使用を強制することができる。たとえば、UE302は、OP306によってHTTPSの使用へとリダイレクトされることが可能であり、それによって、UE302とOP306との間におけるその後のいかなる通信も、HTTPSを使用して保護されることが可能である。この特徴は、たとえば、OpenID Authentication 2.0などのOpenID標準の実施形態によって明示的に可能にすることができる。そのような保護は、たとえばOP306からUE302へのOpenID認証チャレンジメッセージ上でのMitM(man−in−the−middle)攻撃の防止を可能にすることができる。そのような保護は、アラートメッセージが、失敗したRP認証のケースにおいてUE302へ保護された様式で送信されることを可能にすることができる。
ここでは、分割された端末の実施態様に関する例示的な実施形態が説明される。分割された端末の実施態様とは、2つのエンティティーがネットワークのユーザ側に存在することが可能であるシナリオを指すことができる。たとえば、AA(Authentication Agent)およびBA(Browsing Agent)は、たとえばUE302などのUEに関連付けられること、および/またはそうしたUE上に存在することが可能である。AAは、認証のためのステップを実行することができ、その一方でBAは、サービスの視聴者または消費エンティティーであることが可能である。分割された端末の実施態様の一例においては、ユーザは、たとえばRP304などのRPから何らかのサービス(たとえば、ウェブサイト)を検索するためにブラウザを開くことができる。RP304は、OP306およびユーザのAAを用いていくつかのステップ(たとえば、アソシエーションおよび/またはディスカバリー)を実行することができる。たとえば、UE302は、OP306によってコンタクトされることが可能である。OP306およびUE302は、たとえばGBAネットワーククレデンシャルに基づいて、認証を実行することができ、それらのGBAネットワーククレデンシャルは、BAに知られていない可能性がある。BAは、たとえばOP306とAAとの間における認証が成功した場合などに、RP304におけるサービスへのアクセスを得ることができる。実施されることが可能である複数の変形形態が存在することができる。それぞれの変形形態は、AAとBAとの間における物理チャネルを含むことができ、その物理チャネルは、たとえばローカルインターフェース(たとえば、BLUETOOTH(登録商標)など)または論理チャネルであることが可能である。そのロジックチャネルは、AA上に示されている情報をユーザがBAに入力することによって作成されることが可能であり、それによって2つのセッションは、たとえば論理的に結合されることが可能である。
MNO(Mobile Network Operator)自身のサービス、および/またはサードパーティーサービスプロバイダのサービスが、UE302へ、またはMNOに知られていないデバイスへ提供されることが可能である。ユーザが別々の/複数のデバイスを単独のオーセンティケータ(たとえば、UE302)と接続できるようにしたいとMNOが望む場合には、分割された端末の実施態様が使用されることが可能である。
分割された端末の実施態様に関する例示的なオプションは、2つのセッションの間における暗号バインディングが作成されるオプションを含むことができる。複数の実施態様は、AAがクレデンシャル情報をユーザに表示し、そのクレデンシャル情報をユーザがBAに入力して、(たとえば、本明細書に記載されている論理チャネルを使用して)RP304に対する認証を行うことができるシナリオを含むこともできる。
代替として、または追加として、クレデンシャルは、BAとAAとの間におけるセキュアにされたローカルリンクを介して(たとえば、本明細書に記載されている物理チャネルを使用して)送信されることが可能である。この実施態様においては、AAは、認証トークン/パスワードジェネレータとして使用されることが可能である。例示的な一実施形態においては、BAは、共有キーK1および認証アサーションメッセージUEAssert(これらは、Kr,oによって暗号化されることが可能であり、たとえばEKr,o(K1,UEAssert)と呼ばれうる)をAAから受信して、RP304へ送信することができる。この情報は、ユーザを認証するためにRP304によって使用されることが可能である。例示的な一実施形態においては、分割された端末の実施態様は、ローカルアサーションプロバイダを用いてセットアップされることが可能であり、ローカルアサーションプロバイダは、UE302/AAの内部で認証アサーションメッセージUEAssertを生成する。
ローカルOpenIDに基づく認証に応じて、さらなるセキュリティー機能が実施されることが可能である。認証は、プライベートシークレット(たとえば、図4の410および414において示されている暗号化キーE)を提供するためにローカルOpenIDに基づくことが可能である。このシークレットは、たとえば、OPloc、および/または、そのOPlocが存在している信頼されている環境(たとえば、スマートカード、もしくはその他の信頼されているコンピューティング環境)と、RPとの間においてプライベートなセキュアチャネルを確立するために使用されることが可能である。あるいは、そのセキュアチャネルは、UEの何らかの相対的にセキュアでない部分においてエンドポイントを有することができ、これは、UEプラットフォームと呼ばれうる。
ここで説明されるのは、そのようなセキュアチャネルをローカルOpenID認証にバインドするオプションである。例示的な一実施形態においては、UEプラットフォームとの間でセキュアチャネルが確立されることが可能であり、このセキュアチャネル内でRPおよびローカルOpenIDの認証が実行されることが可能である。この例示的な実施形態は、いくつかの実施態様にとっては十分であるかもしれないが、その他の実施態様のセキュリティー需要を満たさない場合がある。たとえば、セキュアチャネルを確立するUEプラットフォームは、OPlocが存在している信頼されている環境(たとえば、スマートカード、またはその他の信頼されているコンピューティング環境)よりもセキュアでない場合がある。同じ信頼されている環境から来てRPへと導かれるプライベートデータは、UE内の相対的にセキュアでないインナーノードを有するチャネル上を進む場合がある。したがって、ある代替実施形態が実施されることが可能であり、この代替実施形態は、OPloc、および/または、そのOPlocが存在している信頼されているコンピューティング環境が、UEプラットフォームのプロパティーに左右されずにRPとの間でシークレットをやり取りすること、および、メッセージのそのようなプライバシープロパティーをRPに対するローカルOpenID認証にバインドすることを可能にすることができる。
図4は、たとえばUE/OPloc402などのローカル認証エンティティーと、RP404との間においてセキュアチャネルを作成および/または実施する例示的な一実施形態のメッセージフロー図を示している。図4において示されている流れ図は、UE/OPloc402、RP404、および/またはOPSF406の間における通信を含む。408において示されているように、UE/OPloc402が、署名された認証アサーションを410において生成する時点まで、ローカルOpenID認証が実行されることが可能である。410において、UE/OPloc402は、署名キーSを生成することができ、この署名キーSは、KDF(key derivation function)を使用してアソシエーションハンドルAおよび共有キーK0の関数から導出されることが可能である。共有キーK0は、セキュアな通信のためにUE/OPloc402とOPSF406との間において共有されることが可能である。署名キーSは、たとえばOpenID署名キーであることが可能である。UE/OPloc402は、ローカル認証を実行することができ、認証アサーションメッセージUEAssertが、410において生成されることが可能であり、この認証アサーションメッセージUEAssertは、暗号化されたシード値(Seed)を含むことができる。Seedは、複数の当事者の間において共有シークレットを隠すために使用されることが可能である。たとえば、共有シークレットが当事者どうしの間において送信されることはあり得ないため、共有シークレットは隠されることが可能である。代わりに、共有シークレットを、そのシークレットが共有されている当事者のうちのそれぞれにおいて(たとえば、ローカルに)導出するために、Seedが転送されて使用されることが可能である。
認証アサーションメッセージUEAssertは、たとえばOpenIDアサーションであることが可能である。UE/OPloc402は、署名キーSを用いてSeedを暗号化することができ(ES(Seed)と呼ばれる)、それは、OPSF406、UE/OPloc402、および/またはRP404にとってプライベートであることが可能である。ある代替実施形態においては、UE/OPloc402は、所定の方法でSから導出されたキーを使用してSeedを暗号化することができる。UE/OPloc402は、所定の方法でSeedから暗号化キーEを生成することができ、その暗号化キーEは、たとえばRP404に知られていることが可能である。UE/OPloc402は、署名キーSを用いて認証アサーションメッセージUEAssertに署名することができる。ローカル認証から暗号化キーEをこのように生成することによって、UE/OPloc402とRP404との間におけるセキュアチャネルの確立をこのローカル認証にバインドすることができる。
412において、UE/OPloc402は、署名されたアサーションUEAssertとともにメッセージ(たとえば、http GET要求)をRP404へ送信することができる。RP404は、414において、認証アサーションメッセージUEAssertを検証し、署名キーSを使用してSeed情報を復号することができる。RP404は、Seed情報に基づいて暗号化キーEを生成することができる。たとえば、RP404は、所定の方法でSeed情報から暗号化キーEを生成することができ、その暗号化キーEは、UE/OPloc402に知られていることが可能である。暗号化キーEは、UE/OPloc402およびRP404にとってプライベートであることが可能である。
RP404は、前もって検証された認証アサーションUEAssertを、暗号化キーEを用いて暗号化し、UE/OPloc402へ返信することができる。たとえば、416において、RP404は、認証アサーションメッセージUEAssertを含む通知をUE/OPloc402へ送信することができ、その認証アサーションメッセージUEAssertは、たとえば暗号化キーEを用いて暗号化されることが可能である(EE(UEAssert))。これは、シークレットが確立された旨の確認をUE/OPloc402に提供することができる。UE/OPloc402は、418において、暗号化キーEを使用して認証アサーションメッセージUEAssertを復号することによって、認証アサーションメッセージUEAssertの妥当性を確認することができる。416において受信されたUEAssert内の情報が、412において送信された情報UEAssertと合致することを確認することによって、UE/OPloc402は、416における受信されたメッセージが、意図されたRP404から生じたものであることを保証されることが可能である。たとえば、416においてRP404から受信された通知内のSeedを、410においてUEAssert内に含められたSeedと比較することによって、UE/OPloc402は、認証情報を受信したRPがほかにないことと、RP404が、UE/OPloc402が認証を実行したいと望んだ意図されたRPであることとを検証することができる。UE/OPloc402は、418におけるこの検証を、RP404がSeedを復号してEを導出する際に使用することができるキーSをRP404が得た旨の表示として、信頼することができる。420においては、UE/OPloc402とRP404との間においてセキュアチャネルを確立するために、暗号化キーEが(たとえば、別のプロトコルにおいて)使用されることが可能である。このセキュアチャネルを確立するために使用されることが可能である1つの例示的なプロトコルとしては、TLS−PSKプロトコルを含むことができ、このTLS−PSKプロトコルは、入力として事前共有キーを受け入れてその事前共有キーに基づいてセキュアチャネルを実現する一般的なTLSプロトコルの変形形態であると言える。TLS−PSKの例示的な一実施形態は、IETF(Internet Engineering Task Force)によって、Request for Comments (RFC) document 4279およびRequest for Comments (RFC) document 4785において示されている。
図4において示されているように、暗号化キーEの導出は、SeedおよびKDF(公開されている場合がある)の知識を使用して実行されることが可能である。Seedは、RP404に知られていることが可能であり、署名キーSを用いて暗号化されるため、他者から保護されることが可能である。Sは、たとえば証明書ベースのTLS(transport layer security)などのセキュアチャネルを介して、OPSF406によって、RP404に対して明らかにされることが可能である。UE402は、RP404が署名キーSを所有している旨の確認を得ることができる。なぜなら、RP404は、EE(UEAssert)をUE402に返信することができ、これは、RP404がSeedを復号することができる場合に実施可能になることができるためである。したがって、UE402は、RP404からキーの確認を得ることができる。図4において示されているプロトコルフローは、セキュアな通信を可能にするために、本明細書に記載されているRP認証プロトコルなどのRP認証プロトコルと組み合わされることが可能である。
エンティティーどうしの間におけるプライベートな共有キーを導出するためにSeed情報が使用されることが可能であるということが示されているが、プライベートな共有キーは、その他の方法で導出されることも可能である。たとえば、複数の実施形態は、Diffie−Hellmanキーの確立を実施することができる。
本明細書に記載されているように、たとえばSeedなどの何らかの初期値が、共有シークレットを確立したいと望むエンティティーどうしの間において転送されることが可能である。Seedをman−in−the−middle攻撃から保護するために、Seedの暗号化が使用されることが可能である。ローカルOpenID認証へのバインディングのために、署名キーS、またはSから導出されたキーを用いた特定の暗号化が使用されることが可能である。ローカルOpenID認証へバインドするために、暗号化された通知メッセージが使用されることが可能である。これは、UE/OPloc402に対してシークレットの確立について確認する機能を付加することができる。
シークレットの確立は、RP404が、暗号化されたSeedをリダイレクトメッセージ内に含めてUE/OPloc402へ送信することによって、ローカルOpenIDプロトコルフロー内のより早い段階で開始することができる。
別の実施形態においては、RP404は、所望のセキュアチャネルのエンドポイントへのパス上の中間ノードであることが可能である。このケースにおいては、RP404は、このエンドポイントからSeedを受信することができ、このエンドポイントは、UE/OPloc402がセキュアチャネルを確立したいと望む場合がある相手のサーバであることが可能であり、これに対して、RP404は、認証ゲートウェイとして、および任意選択で許可ゲートウェイとして機能することができる。UE/OPloc402またはUEプラットフォームと、RP404との間においてセキュアチャネルを確立するために、暗号化キーEが別のプロトコルにおいて使用されることが可能である。暗号化キーEをそのような様式で使用するための候補プロトコルとしては、TLS−PSKプロトコルを含むことができ、このTLS−PSKプロトコルは、入力として事前共有キーを受け入れてその事前共有キーに基づいてセキュアチャネルを実現するTLSプロトコルの変形形態であると言える。いくつかの実施形態においては、シークレットの確立は、RP認証と組み合わされることが可能である。
図5は、ポスト認証キー確認(post−authentication key confirmation)を伴うUE/RP間の事前に確立されたセキュアチャネル(UE−RP pre−established secure channel)を使用するローカルOpenID認証のためのセキュアチャネルの確立を示す流れ図である。たとえば、セキュアチャネルの確立は、UE/OPloc502またはUEプラットフォームと、RP504とが、セキュアチャネルを確立すること、およびローカルOpenID認証を進めることを可能にすることができる。図5において示されている流れ図は、認証中にRP504に対してセキュアチャネルキーを確認するために使用されることが可能であり、たとえば認証にバインドされることが可能である。これは、たとえばTLS(transport−layer security)トンネルなどのセキュアチャネルからキーマテリアルXSを抽出すること、および/またはそこからバインディング応答Bresを導出することによって行われることが可能である。
図5において示されているように、UE/OPloc502およびRP504は、508においてセキュアチャネルを確立することができる。たとえば、このセキュアチャネルは、TLSを使用して確立されることが可能である。510において、UE/OPloc502は、ログイン識別子(たとえば、OID)をRP504へサブミットすることができる。RP504は、アソシエーション要求(たとえば、http POST OpenIDアソシエーション要求)を512においてOPSF506へ送信することができる。OPSF506は、514においてRP504とのアソシエーションを実行することができる。たとえば、OPSF506は、アソシエーションハンドルAおよび/または共有キーK1を生成することができる。共有キーK1は、OPSF506、RP504、および/またはUE/OPloc502の間における共有キーであることが可能である。共有キーK1は、アソシエーションハンドルAおよび/または共有キーK0から導出されることが可能である。OPSF506は、アソシエーションハンドルAおよび/または共有キーK1をRP504へ送信することができる。
516において、RP504は、リダイレクトメッセージをUE/OPloc502へ送信することができ、このリダイレクトメッセージは、UE/OPloc502をOPへリダイレクトし、UE/OPloc502上にローカルに駐在する。このリダイレクトメッセージは、sessionID、returnURL、ノンス、ログイン識別子(たとえば、OID)、および/またはアソシエーションハンドルAなどのパラメータを含むことができる。518において、UE/OPloc502は、ローカル認証を実行することができ、共有キーK1を生成することができる。共有キーK1は、アソシエーションハンドルAおよび/または共有キーK0から生成されることが可能である。ローカル認証から共有シークレットK1をこのように生成することによって、UE/OPloc502とRP506との間におけるセキュアチャネル508の確立をこのローカル認証にバインドすることができる。UE/OPloc502は、セキュアチャネルからキーマテリアルXSを抽出することができ、XSからバインディング応答Bresを生成することができる(Bres=g(XS))。例示的な一実施形態によれば、バインディング応答Bresの導出は、たとえばアソシエーションハンドルAなどのさらなるノンスを伴うMACアルゴリズムを使用することによって行われることが可能である。UE/OPloc502は、バインディング応答Bresを認証アサーションメッセージUEAssertに含めることができる。Bresは、たとえばOpenIDによる許可に応じて、認証アサーションメッセージUEAssertの拡張フィールド内に含まれることが可能である。認証アサーションメッセージUEAssertは、共有キーK1を使用してUE/OPloc502によって署名されることが可能であり、たとえばSigK1(UEAssert)と呼ばれうる。520において、UE/OPloc502は、署名されたアサーションメッセージSigK1(UEAssert)をRP504へ送信することができる。たとえば、署名されたアサーションメッセージは、http GET要求内に含めて送信されることが可能である。例示的な一実施形態においては、XSがRP504へのメッセージ内で直接使用されてはならない。なぜなら、これによって、セキュアチャネルに関する情報が攻撃者に漏洩する可能性があるためである。
RP504は、署名されたアサーションSigK1(UEAssert)を522において共有キーK1を使用して検証することができる。たとえばUE/OPloc502からの認証アサーションの検証が成功した後に、RP504は、RP504自身のセキュアチャネルキーマテリアルXS*から比較値Bres *を導出すること、およびその比較値Bres *が、受信されたBresと一致することに気づくことが可能である。たとえば、RP504は、セキュアチャネルからキーマテリアルXS*を抽出することができ、そのキーマテリアルXS*からバインディング応答Bres *を生成することができ(Bres *=g(XS*))、バインディング応答Bres *が、署名されたアサーション内に示されているバインディング応答Bresに等しいことを検証することができる。RP504は、認証された当事者がセキュアチャネルエンドポイントであることを知ることができる。なぜなら、その当事者は、認証プロトコルが実行されたチャネルに関する正しいセキュアチャネルキーを所有しているためであり、その認証プロトコルは、セキュアチャネルキーのキー確認として使用されることが可能である。バインディング応答Bres *がバインディング応答Bresに等しいことをRP504が検証した場合には、認証は成功したと判定されることが可能であり、UE/OPloc502とRP504との間におけるチャネルはセキュアであると言える。524において、RP504は、認証が成功したこと、およびそのチャネルがセキュアであることを示す通知をUE/OPloc502へ送信することができる。
図5において示されているように、セキュアチャネルは、TLSを使用して確立されることが可能である。UE/OPloc502およびRP504は、(たとえば、OpenID認証によって)認証された当事者が、前もって確立されたセキュアチャネルのエンドポイントでもあると言えることをRP504に保証することができるキー確認をプロトコル内に含めることができる。図5において示されている例示的な実施形態は、キー確認、およびセキュアチャネルの確立、ならびに認証のための信頼アンカーとしてのOPlocの使用を含むことができる。OPlocの使用を伴わずに(たとえば、外部のOPを使用して)同じまたは同様のセキュリティーを達成しようと試みる実施形態は、RP504とネットワークOPとの間におけるさらなる通信ステップを招く場合がある。図5において示されている例示的な実施形態は、MitM(man−in−the−middle)攻撃(MitMが自分自身を、はじめにセキュアな(TLS)チャネルのセットアップ時に、たとえばTLSリレーとして確立する攻撃など)を軽減することができる。本明細書に記載されている実施形態は、MitMをRP504によって明示的に検知できるようにすることができる。
認証アサーションの拡張フィールドを使用することが所望されていない場合には、キー確認のためにXSが使用されることが可能である。たとえば、UE/OPloc502は、署名キー
(図示せず)を導出することができ、認証アサーションに署名するためにその署名キーを使用する。RP504は、署名されたアサーションを検証するために同じことを行うことができる。成功すれば、RP504は、セキュアチャネルのための認証およびキー確認を同時に達成することができる。これは、セマンティクスの低下と引き換えに実現することができる。なぜなら、MitMの存在がもはや認証の失敗から認識できなくなる可能性があるためである。
図5において示されている実施形態は、たとえば本明細書に記載されているRP認証の実施形態などのRP認証と組み合わされることが可能である。たとえば、チャネルセキュリティーの保証は、図5のプロトコルにおいて示されているように一面だけのものになる場合がある。それを両面からのものにするために、プロトコルは、たとえば図2および図3において示されているRP認証プロトコルなどのRP認証プロトコルと組み合わされることが可能である。このために、UE/OPloc502は、暗号化されたチャレンジ値EK1(RPChv)を認証アサーションメッセージ内に含めることができる。K1がMitMに決して洩らされないならば、UE/OPloc502は、RPチャレンジ値RPChvを含む通知を受信すると、妥当なRP504がBresの評価を成功裏に実行したこと、ひいてはMitMが存在する可能性はないことを想定することができる。したがって、RP504は、正しいK1を所有している場合には、RPChvを復号することができる。
別の実施形態においては、RP504は、バインディング応答Bresの知識を有することができる。たとえば、Bresは、524においてUE/OPloc502に返信される通知内のRPチャレンジ値RPChvを暗号化するために使用されることが可能である。UE/OPloc502は、認証アサーションメッセージUEAssert内のRPChvを暗号化するために、たとえばK0またはK1よりも、
を使用することができる。次いでRP504は、正しいXS値から導出された
を所有している場合には、RPChvを抽出することができる。
本明細書に記載されている認証およびキー合意プロトコルは、攻撃、たとえばMitM攻撃のような攻撃からの保護のためのさまざまな実施態様を含むことができる。そのような保護を提供するための1つの方法は、認証フローの前に、たとえばTLSトンネルなどのセキュアチャネル(外部チャネルと呼ばれる場合がある)を確立することである。認証は、このセキュアチャネル内で実行されることが可能である。たとえば、GBA_Hと呼ばれるプロトコルは、TLSトンネルによって確立された外部認証プロトコルに関する攻撃に対抗する上で十分にセキュアであることが可能である。GBA_Hは、たとえばTLSを介したHTTPダイジェストに基づく認証手順を含むことができる。GBA_Hの例示的な一実施形態は、3rd Generation Partnership Project (3GPP) Technical Specification (TS) number 33.220において示されている。
図6は、HTTP−SIPダイジェストを使用するGBA_Hプロトコルの一例を示すメッセージフロー図を示している。図6において示されているように、UE602、BSF604、および/またはHSS606を使用して通信が実行されることが可能である。608において、UE602は、BSF604とのTLSトンネルを確立することができる。UE602は、610において、たとえばTLSトンネルを使用して、要求をBSF604へ送信することができる。610における要求は、612において示されているように、プライベートIDを含む許可ヘッダを含むことができる。BSF604およびHSS606は、認証情報をやり取りするために、614におけるZhリファレンスポイントを使用することができる。たとえば、616において示されているように、Zh BSF604は、HSS606からAV(authentication vector)および/またはユーザプロファイル情報を検索するために、Zhリファレンスポイントを使用することができる。
618において、BSF604は、認証チャレンジを(たとえば、認証チャレンジをHTTP401無許可応答内に含めて)UE602へ送信することができる。620において示されているように、618におけるメッセージは、プライベートID情報、レルム(realm)、ノンス、qop(quality of protection)値、認証アルゴリズム、ドメイン、および/またはオパーク(opaque)を含むことができる。例示的な一実施形態においては、この情報は、メッセージの認証ヘッダ内に含まれることが可能である。プライベートID情報は、ネットワークがユーザを識別するために使用するIDを含むことができる。このプライベートIDは、ネットワークが、チャレンジのためにユーザプロファイルおよび/または認証ベクトルを検索することを可能にすることができる。例示的な一実施形態においては、レルム、ノンス、qop値、認証アルゴリズム、ドメイン、および/またはオパークは、IETFによって、RFC document 2617において示されていると言える。622において、UE602は、認証応答を計算することができる。UEは、624において認証要求をBSF604へ送信することができる。626において示されているように、認証要求は、プライベートID情報、レルム、ノンス、cノンス(cnonce)、qop値、ノンスカウント、認証アルゴリズム、ダイジェストURI、およびオパークを含むことができる。例示的な一実施形態においては、cノンス、ノンスカウント、および/またはダイジェストURIは、IETFによって、RFC document 2617において示されていると言える。628において、BSF604は、応答を計算すること、およびUE602から受信された値を、BSF604における計算された値と比較することが可能である。630において、BSF604は、認証が成功したことをUE602に対して確認するメッセージ(たとえば、200 OKメッセージ)をUE602へ送信することができる。630におけるメッセージは、632において示されているように、B_TID(binding trusted identifier)および/またはキーKsの有効期間を含むことができる。例示的な一実施形態においては、B_TIDおよびKsの有効期間は、3GPP TS number 33.220において示されていると言える。634において、UE602およびBSF604は、Ks_NAFを計算することができる。
別の例示的な実施形態は、TLS外部認証と、本明細書に記載されているGBAメカニズムによって確立される認証との間におけるバインディングを含むことができる。提案されるバインディングソリューションは、たとえば、UE602がバインディング応答Bresを624におけるメッセージに付加することによって編成されることが可能である。Bresは、BSF604およびUE602には知られているがMitMには知られていない方法でセキュアチャネルに依存することができる。Bresは、内部認証(たとえば、AKA)応答と同様の(または、まったく同じ)方法でセキュアチャネルメッセージから導出されることが可能であるが、その応答には左右されないことが可能である。たとえば、Bresは、一般的な公に知られている方法で応答から導出されることは不可能であり、さもなければ、MitMが同様の方法でBresを導出することができるおそれがある。MitMが存在する場合には、BSF604は、セキュアチャネルUE602−MitMのパラメータとは異なるセキュアチャネルBSF604−MitMからのパラメータを使用して、Bresの検証を実行することができる。このための前提条件は、BSF604およびUE602が両方とも自分自身の選択したパラメータ(たとえば、ノンス)をチャネルの確立において導入することを可能にすることができるプロトコル(たとえばTLSなど)によって満たされることが可能であるセキュアチャネルの一意性を含むことができる。Bresの検証および/または再計算は、MitMによって実行された場合には、失敗に終わることが可能である。なぜなら、MitMは、許容可能なBresの値をどのようにして導出するかを知ることができないためであり、その一方で、MitMによるGBA応答の再計算は、成功することができる。このようにして、MitMは検知されることが可能である。
例示的な一実施形態においては、UE602は、TLS暗号化キーを取って、そのTLS暗号化キーを、キーがAKA認証チャレンジに依存するキー付きハッシュ関数Hを使用してハッシュすることができる。これは、BSF604によって618におけるメッセージ内で提示されることが可能である。たとえば、AVが適切にフォーマットされて、AKAチャレンジ値の代わりにGBA応答計算アルゴリズム内に直接投入されることが可能である。これによって、リプレイを軽減することができ、セキュアなTLSチャネル608をGBA認証の実行にバインドすることができる。
例示的な一実施形態によれば、チャレンジ応答認証618−630へのセキュアチャネル608のバインディングが確立されることが可能である。たとえば、UE602は、認証チャレンジ620(たとえば、inner_auth_challenge)を受信した後に、608におけるTLSチャネルから抽出されたTLS_keyとともにダイジェストアルゴリズムH(たとえば、HMACアルゴリズム)を適用して、修正されたchallenge*を得ることができる。これは、たとえば、H(TLS_key,inner_auth_challenge)→challenge*と表されることが可能である。TLSに関するキー抽出方法の例示的な一実施形態は、IETFによって、RFC document 5705において示されている。UE608は、622において、BSF604によって提示されたチャレンジへの応答を計算することができ、また同時に、同じまたは同様のアルゴリズムを使用して、バインディング応答Bresを計算することができる。これは、たとえば、AKA−RESPONSE(inner_auth_challenge)→response;AKA−RESPONSE(challenge*,IK)→Bresと表されることが可能である。UEは、624において応答およびBresを両方ともBSF604に返信することができる。
BSF604は、UE602応答をチェックすることを介してバインディングの保証を得ることができる。応答が確認された場合には、BSF604は、通信の他方のエンドにおけるエンティティーが認証されていることがわかる。BSF604が検証のために自分自身のエンドのTLSキーを使用している状態で、Bresも確認された場合には、認証されているエンティティーは、BSF604とのTLSトンネルを有するエンティティーであるとも言え、Bresが確認されない場合には、MitMの疑いがあると言える。
図7は、SIP−Digest認証を用いた、TLSとGBAとをバインドする例示的なコールフローの図である。図7において示されているように、UE702は、BSF704とのTLSセッションを開始することによって、ブートストラッピング手順を開始することができる。UE702は、BSF704によって提示される証明書によってBSF704を認証することができる。BSF704は、この時点でUE702からの認証を必要としない場合がある。708におけるTLSトンネルの確立に続いて、UE702は、プライベート識別子(たとえば、IMPI(IP multimedia subsystem private identifier))を含む要求メッセージ(たとえば、HTTP GET要求)を710においてBSF704へ送信することができる。BSF704は、712において認証情報(たとえば、(1つまたは複数の)AV)をHSS706に要求することができる。714において、HSS706は、(たとえば、(1つまたは複数の)AVを含む)要求されたデータをBSF704に提供することができる。BSF704は、716において認証チャレンジを(たとえば、HTTP401無許可応答内に含めて)UE702へ送信することができる。その認証チャレンジは、認証ヘッダおよび/またはランダムに生成されたノンスを含むことができる。認証ヘッダは、ノンスに加えて、プライベートID、レルム、qop値、アルゴリズム情報、および/またはドメインなどのさらなるパラメータを含むことができる。
718において示されているように、BSF704からのチャレンジに応答する場合には、UE702は、ランダムなcノンスを生成することができ、SIP Digestクレデンシャルを使用することによって認証応答を計算することができる。UE702は、たとえばTLSトンネルセッションキーと、セッションキーとの両方を使用して、MAC(messages authentication code)値Bresを生成することもできる。TLSトンネルセッションキーおよび/またはセッションキーは、たとえばIK(integrity key)またはCK(confidentiality key)を含むことができる。例示的な一実施形態においては、CKの代わりにIKが使用されることが可能である。なぜなら、IKは、インテグリティ保護の目的で使用されるように指定されることが可能であるためである。これらのキーは、UE702が受信したAVから取られた認証チャレンジRANDから生成されることが可能である。これによって、TLSトンネル認証をGBAプロトコルとバインドすることができる。認証チャレンジ応答およびBresは両方とも、許可ヘッダ内に置かれて、720における要求メッセージ(たとえば、HTTP GET要求メッセージ)内に含めてBSF704に返信されることが可能である。Bresは、認証応答と同じアルゴリズムによって計算されることが可能であるが、記載されているように別の入力パラメータを用いて計算されることも可能である。
BSF704は、Bresを自分自身の予想値Bres *に照らしてチェックすることができる。BSF704がこれを行うことができるのは、Bresの計算において使用されたキーと、予想される認証応答の計算において使用されたキーとの両方をBSF704が知っているためである。受信されたBresがBres *と一致し、受信された認証応答がその予想値と一致した場合には、BSF704は、UE702が真正であると判定することができ、また、2つの比較の一致から検証されたバインディング効果のおかげで、TLSトンネルの編成において自分が認証したUE702が、プロトコルのGBAの側面において自分が認証したUE702と同じであることを確かめることができる。BSF704は、722においてGBA/GAAマスターセッションキーKsのキー有効期間およびB−TIDなどのブートストラッピングキーマテリアルを生成することができる。724において、BSF704は、B−TIDとキーKsとを含むメッセージ(たとえば、200 OKメッセージ)をUE702へ送信することができる。UE702および/またはBSF704は、Ksを使用してブートストラッピングキーマテリアルKs_NAFを導出することができる。たとえば、726において、UE702は、KsからKs_NAFを生成することができる。Ks_NAFは、Uaリファレンスポイントをセキュアにするために使用されることが可能である。
(UE702とNAF(network authentication function)(図示せず)との間における)Uaリファレンスポイントを介したセキュリティーのためのアプリケーション固有のキーが、少なくとも部分的に、GBAを介して、ブートストラップされたキーから導出されることが可能である。たとえば、Ks_NAFは、Ks=CK‖IKから導出されることが可能であり、この場合、CKおよびIKは、714においてHSS706からBSF704へ配信されたAVの一部である。Ks_NAFが、TLSトンネルの編成中に確立されたKsおよびマスターキーの両方から導出されている場合には、バインディングは、依然として有効であることが可能である。したがってKs_NAFは、UE702とネットワークとの間において共有されることが可能である。Ks_NAFは、いかなるMitMにとっても利用不可能とすることができる。
本明細書に記載されている実施形態は、クラウドコンピューティングシナリオにおいて実施されることが可能である。例示的な一実施形態によれば、ローカルOpenIDの特色どうしおよび/または技術的特徴どうしを組み合わせて、1つまたは複数のプライベートデバイスからのマルチテナント対応のクラウドアクセスを可能にすることができる。たとえば、ローカルOP認証、RP認証、シークレットの確立、および/または登録の手順が組み合わされることが可能である。組織のコンピューティングリソースに関するアウトソーシングの少なくとも2つの側面が、本明細書に記載されているように組み合わされることが可能である。1つの例示的な側面においては、リモート労働者、外部労働者、モバイル労働者、および現場労働者という現代の労働力階級が、労働者のプライベートデバイスを業務目的で活用するよう組織に促していると言える。別の例示的な側面においては、情報およびコンピューティングリソースが、コンピュータクラウド(たとえば、複数のインフラストラクチャーおよび/または複数のサーバをホストするマルチテナント)にますますアウトソースされていると言える。この二元的なアウトソーシングシナリオにおけるアウトソーシングを行う組織のセキュリティー要件は、アウトソーシングの実施のために選択されるセキュリティーアーキテクチャー上に制約を課す場合がある。これらは、保護の目的、および/または、たとえば組織の資産を保護するために使用されることが可能であるセキュリティーコントロールという点から説明されることが可能である。
ユーザデバイスは、セキュアではないとみなされる場合がある。たとえコーポレートデータの完全な保護がデバイス上で可能ではない場合があるとしても、組織のデータは、少なくともクラウドストレージ内では、ユーザデバイスを通じたデータの喪失および/または漏洩を防止するためになど、可能な範囲内でセキュアにされることが可能である。これを行うための1つの方法は、たとえばクラウド内のバーチャルワークステーションに接続することができるリモートデスクトップアプリケーションを介したクラウドへのアクセスを可能にすることであると言える。1つの利点として、これによって、リモート労働者および/またはバーチャルワークステーションが別のOS(operating system)を使用することを可能にすることができる。たとえば、ユーザデバイスは、ANDROID(登録商標)またはAPPLE(登録商標) OSを実行するタブレットであることが可能であり、たとえば何らかのRDP(remote desktop protocol)クライアントアプリケーションを介してなど、MICROSOFT WINDOWS(登録商標)バーチャルマシンに接続することができる。ユーザ認証は、ユーザのエンドにおけるハードウェア保護手段によってセキュアにされることが可能であり、これは、たとえばスマートカードまたはその他の信頼されている環境にバインドされることが可能である。本明細書に記載されているように、ローカルOpenIDを用いてユーザ機器の(1人または複数の)ユーザに対して使用可能にされるスマートカードまたはその他の信頼されている環境が支給されることが可能である。ユーザアカウントが、本明細書に記載されているスマートカードまたはその他のセキュアな環境の実施形態において使用するために登録されることが可能である。
クラウドホストは、いくつかのセキュリティーコントロールおよび/または契約上の保証を提供することができる。クラウドサービスを使用する組織は、そのようなマルチテナント環境におけるデータの喪失および/または漏洩に対抗するさらなる独自のセキュリティーコントロールを確立することができる。一例として、組織のIT部門は、クラウドワークステーションの(バーチャル)ハードドライブのためのディスク暗号化ソリューションをインストールすることができる。
クラウドコンピュータ上のディスク暗号化によって提供される保護は、制限される場合がある。クラウドホストのハイパーバイザは、バーチャルワークステーションがオペレーション中である間に完全なデータアクセスを有することができる。クラウドホストのハイパーバイザは、ユーザがワークステーションにログオンするときに、ハードドライブを復号するために使用される送信されてくるクレデンシャルをリッスンすることができる。ディスク暗号化は、たとえばTrusted Computingベースのバーチャル化サポートテクノロジーを使用することによってなど、何らかの様式でホスティングハードウェアにバインドされる場合がある。
リモートユーザデバイスは、たとえばディスク暗号化クレデンシャル(たとえば、パスワード)などのシークレットデータをクラウド内のバーチャルマシンにサブミットすることができる。そのようなデータは、ひそかにその宛先に到着するように保護されることが可能であり、ユーザに知られないことが可能である。このクレデンシャルは、指定されたバーチャルマシンへ転送されるような様式でローカルOpenIDを用いて使用可能にされるスマートカードまたはその他の信頼されている環境上にひそかに格納されることが可能である。
図8は、ローカル認証エンティティーおよびクラウド/リモートコンピューティングサービスを実装している例示的な通信システムの図を示している。図8に示されているように、816においては、あるコーポレートユーザが、たとえばスマートカード818、またはその他の信頼されている環境を会社814から得ることができる。このスマートカードは、ローカルOpenID対応のスマートカードであることが可能である。スマートカード818は、たとえばOPlocを含むことができる。スマートカード818は、クラウドホストされているVM(virtual machine)810内など、その他の場所にホストされている会社814のリソースへのプライベートアクセスのためのクレデンシャルボールトを含むことができる。812において、会社814は、クラウドホストされているVM810に接続することができ、スマートカード818を介したユーザデバイス802によるアクセスのために会社814の情報、サービス、ドキュメントなどを格納/アップロードすることができる。
ユーザは、820においてスマートカード818(たとえば、OPloc機能を実行するためにローカルOpenIDテクノロジーを用いて使用可能にされるスマートカード)をユーザデバイス802内に挿入することができる。ユーザデバイス802は、たとえばタブレット、スマートフォン、モバイル電話、ラップトップコンピュータ、またはその他のモバイルデバイスであることが可能である。ユーザデバイス802は、モバイルデバイスである必要はなく、スマートカード818またはその他の信頼されている環境を使用して、クラウドホストされているVM810上のサービスにアクセスするように構成されているその他の任意のコンピューティングデバイスであることが可能である。いくつかのアプリケーションが、ユーザデバイス802上にインストールされることが可能であり、それは、たとえばクラウドホストされているVM810上のリモートデスクトップにアクセスするためのRDP(remote desktop protocol)クライアントを含むことができる。リモートデスクトップへのログインは、ウェブベースのゲートウェイ806を通じて仲介されることが可能であり、ウェブベースのゲートウェイ806は、スマートカード認証(たとえば、OpenID認証)手順のためのRPとして機能することができる。このRP806は、クラウドホストされているVM810内に存在することができ、または独立したエンティティーであることも可能である。RP806は、アウトソーシングを行う会社へのセキュリティーサービスとして提供されることが可能であり、または会社814自体によって運営されることも可能である。ゲートウェイRP806は、808において、クラウドホストされているVM810へのセキュアでプライベートな接続を有することができる。
ローカルOpenIDベースのログオンは、ここで説明される少なくとも3つのセキュリティー機能のうちの1つまたは複数を組み合わせることができる。たとえば、ローカルOpenIDベースのログオンは、(1)OPlocを介したユーザの認証、(2)スマートカード818上のOPlocに対するRP806(たとえば、セキュリティーゲートウェイ)の認証、ならびに/または(3)スマートカード818とRP806との間における、および任意選択で、クラウドホストされているVM810へさらに委任されるプライベートでシークレットなエンドツーエンドの確立を含むことができる。スマートカード818上のOPlocを介したユーザの認証は、スマートカード818の所有および認証シークレットの知識と、バイオメトリックユーザ認証とを介した(少なくとも)2つのファクタからなる認証を含むことができる。認証および/またはシークレットの通信は、804において、ユーザデバイス802とRP806との間におけるセキュアな通信を介して実行されることが可能である。スマートカード818上のOPlocに対するRP806の認証は、スプーフィングされたサイトではなく必ず指定のコーポレートリソースにユーザが接続するようにユーザへ拡張することができる。たとえば、RP806の認証のためのクレデンシャルは、スマートカード818内にセキュアに含まれることが可能である。RP806は、ユーザデバイス802とのシークレットを、クラウドホストされているVM810へ委任すること、または、たとえば2つのセキュアチャネルの中間ポイントとして機能することが可能である。
スマートカード818上のOPlocと、RP806との間においてシークレットが確立された場合には、スマートカード818上のクレデンシャルボールトのロックが解除されることが可能である。クラウドホストされているVM810上のデータアクセスのためのクレデンシャルは、(たとえば、カード上の)確立されたシークレットを用いて暗号化されること、および/またはクラウドホストされているVM810へサブミットされることが可能である。そこで、そのクレデンシャルは、復号されて検証されることが可能であり、検証が成功した場合には、ユーザデータを復号するためにシークレットが使用されることが可能である。ユーザは、リモートデスクトップアプリケーションを介して、クラウドホストされているVM810上で作業を行うことができる。ユーザは、たとえば、クラウドホストされているVM810からコーポレートイントラネットへのセキュアな接続を介してコーポレートリソースへのアクセスを有することができる。
図9は、例示的なプロトコルフローを示しており、このプロトコルフローは、SIP Digest認証を使用し、OpenIDにおけるRP904認証を含む。この認証は、RP904とOP908との間における事前共有キーKr,oを使用したOP908に対するUE902の認証を含むことができる。そしてOpenID認証におけるRP認証は、SIP Digest認証からブートストラップされることが可能である。図9において示されているプロトコルフローは、UE902、RP904(たとえば、アプリケーションサーバ)、OP908(たとえば、SSO(Single−Sign−on)サーバ)、およびHSS910の間における通信を含む。RP904およびOP908は、エンティティーどうしの間におけるセキュアな通信のために使用される共有シークレットKr,oを906において事前に確立しておくことができる。
図9に示されているプロトコルにおいては、OpenIDは、UE902認証のためにステートレスモードで使用されることが可能である。OP908においてRP904認証を達成するために、ステップ912から918の組合せが使用されることが可能である。912において、UE902は、IMS(IP(internet protocol) multimedia subsystem)に登録することができる。UE902は、914において認証要求(たとえば、OpenID認証要求)をRP904へ送信することができる。認証要求は、認証識別子(たとえば、OID)を含むことができる。RP904は、916においてリダイレクト要求をUE902へ送信することができる。916におけるリダイレクト要求は、UE902をOP908へリダイレクトすることができる。このリダイレクト要求は、認証識別子(たとえば、OID)、および/または、RP904に対応するRPクレデンシャルRPCredを含むことができる。RPCredは、OP908との間で共有されている事前共有キーKr,oを用いて署名されることが可能である。918において、UE902は、リダイレクト要求メッセージをOP908へ送信することができる。このリダイレクト要求メッセージは、916においてRP904から受信された認証識別子(たとえば、OID)および/またはRPクレデンシャルRPCredを含むことができる。
920において、OP908は、RPCredを使用してRP904の認証を実行すること、および/またはRP認証アサーションを生成することが可能である。OP908は、UE902とOP908との間におけるセキュアな通信を確かなものにするために、共有キーK0(これは、UE902とOP908との間における共有キーであることが可能である)のチェックを実行することもできる。922において、OP908は、RP904が認証されたかどうかを判定することができる。922においてRP904が適切に認証されていない場合には、OP908は、RP904が偽のRPであることと、手順を終了すべきであることとを示すアラートを924においてUE902へ送信することができる。922においてRP904が適切に認証されている場合には、OP908は、プロトコルを続けることができる。例示的な一実施形態においては、920におけるRP904認証アサーションの生成は、926においてRP904が真正であると判定されている場合に生じることができる。(図9には示されていない)例示的な一実施形態においては、922におけるRP904認証判定が、RP認証に関する判定をOP908が行うポイントとみなされる場合には、RPAssertの使用は、RP904認証判定に続くステップにおいてプロトコルから省略されることが可能である。
例示的な一変形形態においては、RPCredは、RP904のプレーンテキスト識別子であること(すなわち、いかなるキーによっても署名されていないこと)が可能であり、これは、OP908がさらなる使用のために正しい共有キーKr,oを選択することを可能にすることができる。このケースにおいては、RPCredが、OP908によって知られているいかなるRPにも対応しない場合には、OP908は、手順を終了することを決定して、UE902に通知することができる。
図9において示されている例示的なメッセージフローを続けると、SIP−Digest認証が実行されることが可能である。たとえば、OP908は、928においてSD−AV(SIP digest authentication vector)および/またはユーザプロファイル情報をHSS910から得ることができる。OP908は、ユーザクレデンシャル(たとえば、ユーザ名/パスワード)に基づいて、そのような情報を得ることができる。OP908は、ユーザクレデンシャル、レルム、qop値、認証アルゴリズム、および/またはハッシュH(A1)をHSS910から得ることもできる。例示的な一実施形態においては、レルム、qop値、認証アルゴリズム、および/またはハッシュH(A1)は、IETFによって、RFC document 2069およびRFC document 2617において示されていると言える。
930において、OP908は、ノンスを生成すること、ならびにそのノンスおよびH(A1)を格納することが可能である。OP908は、932において認証チャレンジ(たとえば、認証チャレンジを伴うHTTP401無許可メッセージ)をUE902へ送信することができる。その認証チャレンジは、ユーザクレデンシャル、ノンス、レルム、qop値、および/または認証アルゴリズムを含むことができる。934において、UE902は、cノンス、H(A1)、および/または、セキュアな通信のためにOP908との間で共有されるシークレットキーK0を生成することができる。UE902は、チャレンジ応答を計算して、そのチャレンジ応答(たとえば、認証応答を伴うHTTP GETメッセージ)を936においてOP908へ送信することもできる。チャレンジ応答は、cノンス、応答、ノンス、ユーザクレデンシャル、レルム、qop値、認証アルゴリズム、ダイジェストURL、および/またはノンスカウントを含むことができる。例示的な一実施形態においては、cノンス、ノンス、レルム、qop値、認証アルゴリズム、ダイジェストURL、および/またはノンスカウントは、IETFによって、RFC document 2617において示されていると言える。共有キーK0は、共有キーK0をSIP Digest認証にバインドすることができる認証応答から導出されることが可能である。938において、OP908は、ノンスに照らしてチェックを行うこと、Xresponseを計算すること、および/またはそのXresponseを、UE902から受信された応答と比較することが可能である。
SIP Digest認証が成功した場合(たとえば、Xresponseまたはその中の特定のパラメータが、応答またはその中の特定のパラメータと一致した場合)には、OP908は、938においてUE認証アサーションUEAssertおよび/または共有キーK0を生成することができる。940において、OP908は、ノンス1および/またはK1を生成することができ、K1は、UE902とRP904との間においてセキュアチャネルを確立するために使用される、UE902、OP908、および/またはRP904の間における共有キーであることが可能である。K1は、新しさのために生成においてノンス1を使用してOP908によって生成されることが可能である。ノンス1および/またはRP認証アサーションメッセージRPAssertを暗号化するために、K0が使用されることが可能であり、これは、たとえばEK0(nonce 1,RPAssert)と呼ばれうる。K0を用いた暗号化は、正当な認証されたUE902がRPAssertを得ることを可能にすることができ、これは、そのUE902が、意図された真正なRP904と通信していることをそのUE902に対して確認することであると言える。OP908は、共有キーKr,oを使用して、キーK1および/またはUE認証アサーションメッセージUEAssertを暗号化することができ、これは、たとえばEKr,o(K1,UEAssert)と呼ばれうる。942において、OP908は、リダイレクトメッセージをUE902へ送信することができ、このリダイレクトメッセージは、UE902をRP904へリダイレクトすることができる。このリダイレクトメッセージは、EK0(nonce 1,RPAssert)および/またはEKr,o(K1,UEAssert)を含むことができる。例示的な一実施形態においては、RP認証アサーションメッセージRPAssertは、944において示されているように、プロトコルフロー内の特定のポイントにおいて使用されなくなる場合がある。なぜなら、OP908が、RP904の信頼性に関する判定ポイントになることができるためである。RP904がUE902との通信を実行している場合に(たとえば、実施態様固有のステップ952および/または954を実行している場合などに)、UE902が、意図されたRP904とセキュアに通信している状態を確実にするために、K1が使用されることが可能である。
946において、UE902は、K0を使用してノンス1および/またはRP認証アサーションメッセージRPAssertを復号することができる。K0を使用してRP認証アサーションRPAssertを復号できることによって、UE902は、自分が、意図された真正なRP904と通信していることを確認することができる。UE902は、RP認証アサーションメッセージRPAssertおよびノンス1を得ることができる。UE902は、受信されたRP認証アサーションRPAssertに基づいてRP904を認証することができる。UE902は、ノンス1を使用してK1を生成することができる。共有キーK1を用いた暗号化は、正当な認証されたUE902がUEAuthorを得ることを可能にすることができ、UEAuthorは、サービスに伴って使用するためのアクセストークンとして機能することができる。UE902は、948においてRP904へリダイレクトされることが可能である。948において、UE902は、キーK1およびUE認証アサーションメッセージUEAssertをRP904へ送信することができる。キーK1およびUEAssertは、共有キーKr,oを用いて暗号化されることが可能であり、これは、たとえばEKr,o(K1,UEAssert)と呼ばれうる。この暗号化は、OP908によって前もって実行されていることが可能である。950において、RP904は、Kr,oを使用してEKr,o(K1,UEAssert)を復号して、UEAssertおよびK1を得ることができる。UE902に関する情報は、950において許可されることが可能である。たとえば、RP904は、K1を使用して、UEAssertの署名を検証することができる。UEAssertの検証に成功した後に、RP904は、許可情報UEAuthorを生成することができ、この許可情報UEAuthorは、キーK1を用いて暗号化されることが可能であり、たとえばEK1(UEAuthor)と呼ばれうる。UEAuthorは、UE902がRP904における1つまたは複数のサービスにアクセスすることを許可されている旨を示す許可情報または許可パラメータを含むことができる。RP904は、UE902がRP904におけるサービスに関して許可を受けているかどうかについて、952においてUE902に通知することができる。たとえば、RP904は、UE許可パラメータまたは情報UEAuthorを送信することができる。UEAuthorは、シークレットキーK1を用いて暗号化されて(EK1(UEAuthor))、UE902とRP904との間において共有されることが可能である。954において、UE902は、EK1(UEAuthor)を復号することができ、要求されているサービスに、UEAuthorを使用してRP904からアクセスすることができる。ステップ952および/または954は、実施態様固有のステップであることが可能であり、任意選択であることが可能であり、UE902および/またはRP904のサービス実施態様に依存することができる。たとえば、これらは、認証後に一般的なサービスアクセスをUE902に提供するという所望の用途に固有であることが可能である。これらのステップが使用されない場合には、K1は必要とされないと言える。
例示的な一実施形態においては、図9において示されているプロトコルフローは、シークレットKr,oを使用して、OP908に対するRP904認証を達成することができる。たとえば、シークレットKr,oは、OP908に対して(たとえば、ステップ912から918において)RPCredを伴うメッセージに署名するために使用されない場合には、認証のために使用されることが可能である。たとえば、OP908とRP904がシークレットKr,oを既に共有している場合には、このシークレットは、OP908との間でのRP904認証のために使用されることが可能である。認証プロトコル(たとえば、OpenIDプロトコル)のディスカバリーステップおよび(任意選択の)アソシエーション作成ステップは、図9に示されているプロトコルにおいては示されていない。UE902上での実施態様は、そのようなあらゆるRP904認証によって影響されないことが可能である。たとえば、一実施形態においては、UE902は、OPloc機能を含まない場合があり、したがって、チャレンジRPChvをRPへ送信することができない場合がある。
図10は、OP1008に対するRP1004認証を用いた例示的なプロトコルのメッセージフロー図を示している。図10においては、UE1002、RP1004(たとえば、アプリケーションサーバ)、OP1008(たとえば、SSOサーバ)、および/またはHSS1010の間において通信が実行されることが可能である。RP1004とOP1008は、セキュアチャネルを介してセキュアな通信を可能にするために、1006において示されている、事前に確立された共有シークレットを有することができる。
図10において示されているように、UE1002は、1012において認証要求(たとえば、OpenID認証要求)をRP1004に発行することができ、この認証要求は、ログイン識別子(たとえば、URLまたはEメールアドレスなどのOpenID識別子)を含む。RP1004は、1014においてOP1008をディスカバーすることができる。1016において、RP1004は、アソシエーション要求(たとえば、OpenIDアソシエーション要求)をOP1008へ送信することができる。RP1004およびOP1008は、Diffie−HellmanキーD−Hを確立することができる。OP1008は、アソシエーションシークレットおよび/またはアソシエーションハンドルを生成することができ、アソシエーションシークレットおよび/またはアソシエーションハンドルは、まとめてアソシエーションと呼ばれる場合がある。1018において、OP1008は、RP1004にアソシエーション応答を送信することができ、アソシエーション応答は、アソシエーションシークレットおよびノンス0を含むことができる。アソシエーションシークレットおよび/またはノンス0は、確立されたD−Hキーを用いて暗号化されることが可能である。RP1004は、受信した暗号化されたノンス0および暗号化されたアソシエーションシークレットを1020において復号することができる。次いでRP1004は、共有キーKr,oを用いてノンス0に署名することができ、共有キーKr,oは、RP1004とOP1008との間において共有されている事前に確立されたキーであることが可能である。ノンス0に署名するために、HMACまたは別の適切な対称署名アルゴリズムが使用されることが可能である。RP1004およびOP1008は、知られているメカニズムを使用して、たとえば、Diffie−Hellmanキー交換プロトコルまたは事前共有シークレットを使用して、共有シークレットKr,oを有することができる。この共有シークレットを用いて、OP1008およびRP1004は、メッセージに署名すること、および共有シークレットKr,oを用いて署名された互いのメッセージを検証することが可能である。
1022において、RP1004は、UE1002によって送信された認証要求を、リダイレクトメッセージを使用してリダイレクトすることができる。このリダイレクトメッセージは、ログイン識別子(たとえば、OpenID識別子)、RP1004識別子(RPCred)、および/または署名されたノンス0を含むことができる。たとえば、UE1002は、OP1008へリダイレクトされることが可能である。認証要求は、1024においてOP1008へリダイレクトされることが可能である。このリダイレクションは、ログイン識別子(たとえば、OpenID識別子)および/またはRPCredを含むことができる。OP1006は、セキュアな通信のために、1026において、UE1002との通信用としてHTTPSの使用を強制することができる。HTTPSの使用の強制は、OP1002のウェブサーバの構成(たとえば、アドレスのリライト)によって実行されることが可能である。1028において、OP1008は、RP1004を認証するためにノンス0の署名を検証することができる。たとえば、OP1008は、共有キーKr,oを使用して、署名を検証することができる。ステップ1028のRP1004認証は、1030において判定されることが可能であり、RP1004認証が失敗した場合には、OP1008は、RP1004認証の失敗を示すためのアラートメッセージ(これは、たとえばHTTPSによって保護されることが可能である)を1032においてUE1002へ送信することができる。ステップ1028におけるRP1004認証が成功した場合には、プロトコルフローは、たとえばステップ1034などにおいて続行することができる。
1034において、OP1008は、OP1008とUE1002との間においてセキュアチャネルが確立されたかどうかを判定することができる。たとえば、OP1008は、有効なキーK0が存在するかどうかを判定することができる。有効なキーK0が実際に存在する場合には、プロトコルフローは、UE認証アサーションUEAssertの生成を伴うステップ1048へ進むことができる。有効なキーK0が存在しない場合には、プロトコルフローは、UE1002の認証の実行へ進むことができる。例示的な一実施形態においては、(たとえば、図4において示されているような)セキュアチャネルの確立と、UE1002の認証とは、同じプロトコルフロー内でともにバインドされることが可能である。1036において示されているように、OP1008は、認証要求をHSS(Home Subscription Server)1010へ送信することができ、HSS1010からのユーザクレデンシャルに基づいてSD−AV(SIP Digest authentication vector)および/またはユーザプロファイルを得ることができる。SD−AVは、qop値と、認証アルゴリズムと、レルムと、ユーザクレデンシャル、レルム、およびパスワードのハッシュ(H(A1)と呼ばれる)とを含むことができる。複数のHSS環境においては、OP1008は、SLF(Service Layer Function)にクエリーを行うことによって、UE1002のサブスクリプションの詳細が格納されているHSS1010のアドレスを得ることができる。1038において、OP1008は、ランダムなノンスを生成することができ、ハッシュH(A1)およびノンスをユーザクレデンシャルと対比させて格納することができる。OP1008は、1040において認証チャレンジメッセージ(たとえば、SIP−Digest認証チャレンジとしての401認証チャレンジ)を(たとえば、保護されたHTTPSメッセージ内に含めて)UE1002へ送信することができ、この認証チャレンジメッセージは、ノンス、レルム、qop値、認証アルゴリズム、および/またはユーザクレデンシャルを含むことができる。
1040においてチャレンジを受信すると、UE1002は、1042においてランダムなcノンスおよびH(A1)を生成することができる。UE1002は、H(A1)、cノンス、および/または、たとえば認証チャレンジ内に含まれているマテリアルなどのその他の情報に基づいて、共有シークレットK0を生成することができる。共有シークレットK0は、UE1002とOP1008との間における共有シークレットであることが可能であり、この共有シークレットは、UE1002とOP1008との間における通信がセキュアチャネルを使用して送信されることを可能にすることができる。UE1002は、cノンス、ならびに/または、認証チャレンジ内に含めて提供されたその他のパラメータ(たとえば、ノンス、ユーザクレデンシャル、および/もしくはqop値など)を使用して、認証応答を計算することができる。1044において、UE1002は、(たとえば、保護されたHTTPSメッセージであることが可能である)チャレンジ応答をOP1008へ送信することができる。このチャレンジ応答は、たとえば、cノンス、ノンス、応答、レルム、ユーザクレデンシャル、qop値、認証アルゴリズム、ノンスカウント、および/またはダイジェストURLを含むことができる。1044においてその応答を受信すると、OP1008は、前もって格納されているノンスを使用して、その応答内に含まれているノンスに対するチェックを行うことができる。そのチェックが成功した場合には、OP1008は、前もって格納されているハッシュH(A1)およびノンスを、応答内に含まれているその他のパラメータ(たとえば、cノンス、ノンスカウント、qop値など)とともに使用して、予想される応答(Xresponse)を計算することができ、この予想される応答を使用して、UE1002から受信された応答に対するチェックを行うことができる。そのチェックが成功した場合には、UE1002の認証は成功したとみなされることが可能である。そのチェックが成功しなかった場合には、その認証は失敗したとみなされることが可能である。UE1002の認証が成功した場合には、OP1008は、共有シークレットK0を生成することができ、この共有シークレットK0は、ハッシュH(A1)、cノンス、および/または、たとえば認証チャレンジ内に含まれているマテリアルなどのその他の情報に基づいて生成されることが可能である。代替として、または追加として、OP1008は、1044において応答を受信すると、認証アサーションUEAssertを作成することができる。UEAssertは、アソシエーションシークレットを使用して署名されることが可能であり、そのアソシエーションシークレットは、たとえば1018におけるメッセージ内で使用されたアソシエーションシークレットであることが可能である。
1050において、OP1008は、ランダムなノンス1を生成することができ、ならびに/またはK0およびノンス1に基づいて共有シークレットK1を生成することができる。共有シークレットK1は、UE1002とRP1004との間においてセキュアチャネルを確立するための、UE1002、OP1008、および/またはRP1004の間における共有シークレットであることが可能である。OP1008は、K0を使用してノンス1を暗号化することができ(これは、たとえばEK0(nonce 1)と呼ばれうる)、Kr,oを使用してK1および署名されたアサーションメッセージUEAssertを暗号化することができる(これは、たとえばEKr,o(K1,signed(UEAssert))と呼ばれうる)。OP1008は、1052においてメッセージ(たとえば、リダイレクトメッセージ)をUE1002へ送信することができ、このメッセージは、RP1004へのリダイレクションとともにEK0(nonce 1)および/またはEKr,o(K1,signed(UEAssert))を含むことができる。1054において、UE1002は、共有キーK0を使用してEK0(nonce 1)を復号することができ、ノンス1を得ることができる。UE1002は、K0およびノンス1に基づいて共有シークレットK1を生成することができる。OP1008によって送信されたメッセージは、1056においてRP1004へリダイレクトされることが可能である。1056におけるメッセージは、EKr,o(K1,signed UEAssert)を含むことができる。RP1004は、1058においてEKr,o(K1,signed UEAssert)を復号して、UEAssertおよびK1を得ることができる。RP1004は、OP1008との間で共有されているアソシエーションシークレットを使用して、アサーションメッセージUEAssertの署名を検証することができる。アサーションメッセージUEAssertを検証した後に、RP1004は、UE1002のための許可情報を生成することができる。たとえば、RP1004は、許可情報UEAuthorを生成して、K1を使用してUEAuthorを暗号化することができ、これは、たとえばEK1(UEAuthor)と呼ばれうる。RP1004は、1060において、このメッセージ内に含まれているアプリケーション固有の許可情報について、K1を用いて暗号化してUE1002に通知することができる。UE1002は、1062において、共有キーK1を使用してEK1(UEAuthor)を復号することができ、次いで、要求されているサービスにアクセスすることができる。
図10においては、許可情報またはパラメータUEAuthorは、アプリケーションに固有であること、および/またはOP1008に固有であることが可能である。UEAuthorがOP1008に固有である場合には、UEAuthorは、K0によって署名されることが可能である。許可情報またはパラメータUEAuthorがアプリケーションに固有である場合には、UEAuthorは、Kr,oまたは署名キーSのいずれかによって署名されることが可能である。転送は、署名キーSを用いて機能することができる。
例示的な一実施形態においては、図10に示されているプロトコルフローは、本明細書に記載されているような分割された端末のシナリオを使用する際に実施されることが可能である。
別の例示的な実施形態においては、RP1004認証は、OP1008とRP1004との間におけるチャレンジ応答ステップ内に含まれることが可能であり、その場合には、OP1008は、チャレンジを新しさの証明とともにRP1004へ(たとえば、ノンスを介して)送信することができる。RP1004は、事前に確立された共有シークレットKr,oを使用して、このノンスに署名し、返信をOP1008へ返すことができる。認証チャレンジに対する応答は、OP1008認証チャレンジに対する直接の応答として行うことができ、またはリダイレクトメッセージ内に統合されることも可能であり、そのリダイレクトメッセージがUE1002をOP1008へ送る。いずれのケースにおいても、OP1008は、(たとえば、UE認証に従事する前に)RP1004を認証する上で信頼できる証拠を有することができる。これは、失敗したRP1004認証のケースにおいてOP1008がプロトコルを停止することを可能にすることができ、そのような失敗したRP1004認証のケースにおいてUE1002とOP1008との間における通信の労力を省くことができる。OP1008は、たとえば1032において示されているように、失敗したRP1004認証に関する情報をUE1002へ直接伝達することができる。
本明細書に記載されているように、RP1004認証のためにアソシエーションが使用されることが可能である。たとえば、RP1004がOP1008とのアソシエーションを確立する場合には、対応するステップは、OP1008からのチャレンジを組み込むように修正されることが可能である。アソシエーションの確立中に、OP1008およびRP1004は、MACキーをセットアップすることができ、このMACキーは、認証アサーションメッセージに署名するために使用されることが可能である。このキーは、一時的なシークレットキーを使用して暗号化されて送信されることが可能であり、その一時的なシークレットキーは、OP1008とRP1004との間において、たとえばDH(Diffie−Hellman)キーを使用して、ネゴシエートされることが可能である。OP1008は、その一時的なシークレットキーに加えて、(たとえばDHキーを用いて暗号化されることも可能である)ノンスをRP1004への応答内に含めることができる。
RP1004は、ネゴシエートされたDHキーに基づいてノンスおよびMACキーを復号することができる。RP1004は、OP1008から受信されたノンスに署名または暗号化を行うために、自分自身の事前に確立された共有キーKr,oを使用することができ、そのキーをさらなるパラメータとして、UE1002へ送信されるリダイレクトメッセージに付加することができる。UE1002は、OP1008へのリダイレクトに従うため、OP1008は、署名されたまたは暗号化されたノンスを受信することができ、共有キーKr,oを使用してRP1004を認証することができる。失敗した認証のケースにおいては、OP1008は、認証されていないRPからUE1002を保護するためのアラートメッセージをUE1002へ送信することができる。成功したRP1004認証のケースにおいては、OP1002は、プロトコルを進めることができる。
RP1004認証のためにディスカバリーモードを使用するための例示的な実施形態が説明される。たとえば、OP1008は、OP1008とRP1004との間においてアソシエーションが確立されていないケース(すなわち、OpenIDにおけるステートレスモード)においてRP1004へ情報を送信することを可能にすることができる。ステートレスモードにおいては、OP1008とRP1004との間における情報のやり取りは、ディスカバリー中に行われることが可能である。しかし、ディスカバリーは、たとえば委任されたディスカバリーのケースにおいてなど、OP1008を含む場合もあり、または含まない場合もある。委任されたディスカバリーにおいては、ユーザ識別子は、たとえば、http://myblog.blog.comにある可能性があり、そして(たとえば、http://myblog.myopenid.comにおける)OP1008のOPエンドポイントURLを指す可能性がある。したがって、(たとえば、myopenid.comにおける)OP1008は、直接ディスカバリーに含まれない場合があり、このステージにおいてRP1004を認証することができない場合がある。OP1008は、たとえば図10に示されているように、1028、1030において認証を判定する代わりに、1016、1018においてアソシエーション中にRP1004を認証することができる場合がある。
OP1008は、ディスカバリーステップ中にさらなる情報をRP1004へ提供することを可能にすることができる場合(すなわち、ユーザ識別子ページが、OP1008自体においてホストされる場合)には、ディスカバリー情報ページの一部としてノンスを動的に生成すること、およびそのノンスを、HTTP要求を行っているRP1004の識別子(たとえば、URLまたはEメールアドレス)に関連付けることが可能である。次いでOP1008は、RP1004が、このノンスに署名または暗号化を行うこと、およびその情報をリダイレクトメッセージ内に含めることを予期することができる。
本明細書において示されているように、OP1008は、OP1008とUE1002との間における通信を保護することができる。たとえば、1026において示されているように、OP1008は、HTTPSの使用を強制することができる(すなわち、UE1002は、OP1008によってHTTPSの使用へとリダイレクトされることが可能であり、それによって、UE1002とOP1008との間におけるその後のいかなる通信も保護されることが可能である)。たとえば、TLSが使用されることが可能である。TLSは、OP1008の証明書を自動的にインポートすること、または事前にインストールされたOP証明書を使用することをUE1002に強制することによって機能することができる。強制される両方のことは、たとえば、BAによって(たとえば、ルートCAにより署名された)ルート証明書に照らしてチェックされることが可能である。そのような保護は、たとえば1040におけるOP1008からUE1002への認証チャレンジメッセージ上でのMitM攻撃を防止することを可能にすることができる。また、失敗したRP1004認証のケースにおいては、そのような保護は、OP1008がアラートメッセージをUE1002へ保護された様式で送信することを可能にすることができる。
ここで説明される実施形態は、ローカルアサーションプロバイダを用いて実施されることが可能である。ここで説明されるのは、RP認証とOpenIDを調和させてローカルアサーションプロバイダを活用する例示的なプロトコルである。説明される実施形態は、RPと(ネットワーク側の)OPとの間においてコンタクト(たとえば、最初のコンタクト)があった場合に、RPとOPとの間における事前に確立された共有シークレットKr,oに基づいて、RPの認証を可能にすることができる。OpenIDのアソシエーションモードにおいては、これは、アソシエーションフェーズである。
図11は、ローカルアサーションプロバイダを用いたプロビジョニングフェーズのメッセージフロー図の例示的な一実施形態を示している。図11において示されているように、ローカルアサーションプロバイダを伴うプロビジョニングフェーズ内で実行される通信においては、UE1102、RP1104、OP1106、および/またはHSS1108が実装されることが可能である。プロビジョニングフェーズ内のさまざまなステージにおいては、リプレイ保護のためにノンスが実施されることが可能である。
図11において示されているように、UE1102は、1110においてログイン識別子(たとえば、OID)をRP1104へサブミットすることができる。RP1104は、アソシエーション要求(たとえば、http POST OpenIDアソシエーション要求)を1112においてOP1106へ送信することができる。このアソシエーション要求は、RP1104クレデンシャルRPCredを含むことができ、RP1104クレデンシャルRPCredは、RP1104とOP1106との間において共有されている共有キーKr,oを用いて暗号化されることが可能である。この暗号化されたRPCredは、たとえばEKr,o(RPCred)と呼ばれうる。RPクレデンシャルRPCredは、事前共有シークレットまたは識別子を含むことができる一般的なタイプのクレデンシャルであることが可能である。1114において、OP1106は、共有キーK0が存在するかどうかを判定することができる。共有キーK0が実際に存在する場合には、OP1106は、認証フェーズ(AP)へ進むことができる。共有キーK0が存在しない場合には、OP1106は、プロビジョニングフェーズを進めることができる。たとえば、OP1106は、ステップ1116へ進むことができる。
1116において、OP1106は、RP1104とのアソシエーションを実行することができる。たとえば、OP1106は、アソシエーションハンドルAおよび/または署名キーSを生成することができる。署名キーSは、アソシエーションハンドルAの関数から生成されることが可能である。OP1106は、キーKr,oを用いて署名キーSを暗号化することができ、これは、たとえばEKr,o(S)と呼ばれうる。OP1106は、アソシエーションハンドルAおよび/または暗号化された署名キーSをRP1104へ送信することができる。1118において、RP1104は、UE1102をOP1106へリダイレクトするメッセージ(たとえば、リダイレクトメッセージ)をUE1102へ送信することができる。1118におけるメッセージは、sessionID、returnURL、ノンス、ログイン識別子(たとえば、OID)、および/またはアソシエーションハンドルAなどのパラメータを含むことができる。1120において、UE1102は、RP1104から受信されたパラメータのうちの1つまたは複数を含むメッセージ(たとえば、http GET要求)をOP1106へ送信することができる。たとえば、1120におけるメッセージは、sessionID、returnURL、ノンス、ログイン識別子(たとえば、OID)、および/またはアソシエーションハンドルを含むことができる。
OP1106は、1122において、SD−AV(SIP digest authentication vector)および/またはその他の情報をHSS1108から得ることができる。OP1106は、1124において、認証チャレンジをUE1102へ送信することができる。UE1102は、1126において、共有キーK0を生成することができる。UE1102はまた、1126において、認証応答を計算すること、および/またはその認証応答をOP1106へ送信することが可能である。たとえば、認証応答は、事前にプロビジョンされたユーザクレデンシャル(たとえば、ユーザ名およびパスワード)を使用してUE1102によって計算されることが可能である。1128において、OP1106は、たとえば受信された応答を、認証ベクトルSD−AVから計算された予想される応答と比較することなどによって、認証応答の妥当性を確認することができる。OP1106においてユーザ/UE1102が認証されると、OP1106は、共有シークレットK0を生成することができ、この共有シークレットK0は、UE1102とOP1106との間において共有されることが可能である。K0を用いた暗号化は、必ず正当な認証されたUE1102がUEAuthorを得るようにすることができ、UEAuthorは、サービスに伴ってその後に使用するためのサービスアクセストークンであることが可能である。例示的な一実施形態においては、K0は、乱数であることが可能であり、暗号関数を使用して生成されることが可能である。
1130において、OP1106は、ユーザ/UE1102の認証が成功した旨を示す認証アサーションメッセージUEAssertに署名することができる。たとえば、OP1106は、署名キーSを使用してUEAssertに署名することができる。署名されたUEAssertは、SigS(UEAssert)と呼ばれうる。OP1106は、アソシエーションハンドルA、署名されたアサーションUEAssert、および/または許可メッセージUEAuthorをUE1102へ送信することができる。署名されたアサーションUEAssertは、署名キーSを用いて暗号化されることが可能であり、これは、たとえばES(SigS(UEAssert))と呼ばれうる。許可メッセージUEAuthorは、共有キーK0を用いて暗号化されることが可能であり、これは、たとえばEK0(UEAuthor)と呼ばれうる。例示的な一実施形態においては、認証アサーションメッセージUEAssertに暗号化および署名の両方を行う代わりに、署名キーSを使用して認証アサーションメッセージに署名するだけで十分である場合がある。アソシエーションハンドルA、UEAssert、および/またはUEAuthorは、1132においてリダイレクトメッセージ内に含めて送信されることが可能であり、そのリダイレクトメッセージは、UE1102をRP1104へリダイレクトすることができる。1134において、UE1102は、メッセージ(たとえば、http GET要求)をRP1104へ送信することができ、そのメッセージは、アソシエーションハンドル、ES(SigS(UEAssert))、および/またはEK0(UEAuthor)を含むことができる。1136において、RP1104は、署名キーSを復号すること、署名されたアサーションSigS(UEAssert)を復号すること、Sを使用してアサーション(たとえば、OpenIDアサーション)を検証すること、および/または暗号化された許可メッセージEK0(UEAuthor)を復号することが可能である。RP1104は、EK0(UEAuthor)を含む通知を1138においてUE1102へ送信することができる。EK0(UEAuthor)は、RP1104が、正当なRPとして認証されており、不正なRPまたはその他のMitMではないことをUE1102に示すことができる。なぜなら、その通知は、EK0(UEAuthor)を含むことができるためであり、不正なRPまたはその他のMitMならば、そのEK0(UEAuthor)を復号することができないからである。
図11において示されているRP認証は、本明細書に記載されているその他の実施形態において同様に実施されることが可能である。たとえば、図11において示されている認証実施態様は、図2に示されている認証フェーズにおいて同様に実施されることが可能である。
図12は、本明細書に記載されている実施形態によるローカルアサーションプロバイダを用いた例示的な認証フェーズのメッセージフロー図を示している。図12において示されているように、認証フェーズは、UE1202、RP1204、OP1206、および/またはHSS1208の間における通信を含むことができる。例示的な一実施形態においては、UE1202は、ローカル認証を実行して認証アサーション(たとえば、OpenID認証アサーション)に署名するためのローカルOP機能OPlocを含むことができ、その一方でOP1206は、外部のOPであることが可能であり、そうした外部のOPは、たとえばネットワークに配置されることが可能である。UE1202は、1210においてログイン識別子(たとえばOID)をRP1204へ送信することができる。1212において、RP1204は、アソシエーション要求メッセージ(たとえば、http POST OpenIDアソシエーション要求)をOP1206へ送信することができる。このアソシエーション要求メッセージは、RP1204に対応するRPクレデンシャルRPCredを含むことができる。RPCredは、共有キーKr,oを用いて暗号化されることが可能であり、共有キーKr,oは、RP1204とOP1206との間において共有されることが可能である。
1214において、OP1206は、UE1202とOP1206との間におけるセキュアな通信のためにこれらのエンティティーの間において共有される共有キーK0がプロビジョンされているかどうかを判定することができる。共有キーK0がプロビジョンされていない場合には、プロトコルは、共有キーK0をプロビジョンするためのプロビジョニングフェーズへ進むことができる。共有キーK0がプロビジョンされている場合には、プロトコルは、認証フェーズを進めることができる。例示的な一実施形態においては、OP1206は、共有キーK0がプロビジョンされているかどうかを判定しない場合があり、プロトコルフローは、そのような判定を伴わずに続行することができる。
1216において、OP1206は、RP1204とのアソシエーションを実行することができる。たとえば、OP1206は、アソシエーションハンドルAおよび/または署名キーK1を生成することができる。共有キーK1は、たとえば共有キーK0およびアソシエーションハンドルAの関数から導出されることが可能である。共有キーK1は、共有キーKr,oを用いて暗号化されることが可能であり、これは、たとえばEKr,o(K1)と呼ばれうる。アソシエーションハンドルAおよび暗号化されたキーK1は、RP1204へ送信されることが可能である。RP1204は、sessionID、returnURL、ノンス、ログイン識別子(たとえば、OID)、および/またはアソシエーションハンドルAなどのパラメータを含むメッセージを1218においてUE1202へ送信することができる。1218におけるメッセージは、そのUE1202を認証のためにUE1202上のOPloc(図示せず)へリダイレクトするリダイレクトメッセージであることが可能である。1220において、UE1202は、ローカル認証を実行することができる。UE1202は、1220において、共有キーK0およびアソシエーションハンドルAの関数を使用して、共有キーK1を生成することができる。K0を用いた暗号化は、必ず正当な認証されたUE1202がUEAuthorを得るようにすることができ、UEAuthorは、サービスに伴ってその後に使用するためのサービスアクセストークンであることが可能である。UE1202は、共有キーK1を用いて認証アサーションメッセージUEAssertに署名することができ、これは、SigK1(UEAssert)と呼ばれうる。UE1202は、(たとえば、UE1202上のローカルOPを使用して、)許可情報またはパラメータUEAuthorを生成することができる。UE1202は、共有キーK0を用いてUEAuthorを暗号化することができ、これは、たとえばEK0(UEAuthor)と呼ばれうる。UE1202は、共有キーK1を用いてSigK1(UEAssert)および/またはEK0(UEAuthor)を暗号化することができ(これは、EK1(SigK1(UEAssert),EK0(UEAuthor))と呼ばれうる)、また、アソシエーションハンドルAおよびEK1(SigK1(UEAssert),EK0(UEAuthor))をRP1204へ送信することができる。1222において示されているように、UE1202は、メッセージ(たとえば、http GET要求)を、署名されたアサーションUEAssertとともにRP1204へ送信することができる。
RP1204は、1224において、共有キーKr,oを使用してK1を復号することができる。RP1204は、SigK1(UEAssert)を復号することができ、K1を使用して認証アサーションメッセージUEAssertを検証することができる。1224において、RP1204は、K1を使用してEK0(UEAuthor)を復号することができる。RP1204は、UEAuthorを復号することができない場合がある。なぜなら、UEAuthorは、UE1202とOP1206との間において共有されている共有キーK0によって暗号化されている場合があるためである。1226において、RP1204は、通知をUE1202へ送信することができ、その通知は、RP1204が、UE1202がK1を使用してセキュアチャネルを確立している相手の正当なRPであり、不正なRPまたはその他のMitMではないことを示す。なぜなら、その通知は、情報EK0(UEAuthor)を含むことができるためであり、不正なRPまたはその他のMitMならば、そのEK0(UEAuthor)を復号することができないからである。
図13A〜図13Eは、本明細書に記載されている実施形態を実行する際に実施されることが可能である例示的なネットワークシステムおよびネットワークデバイスを示している。図13Aは、1つまたは複数の開示されている実施形態が実施されることが可能である例示的な通信システム1300の図である。通信システム1300は、コンテンツ、たとえば音声、データ、ビデオ、メッセージング、放送などを複数のワイヤレスユーザに提供するマルチプルアクセスシステムとすることができる。通信システム1300は、複数のワイヤレスユーザが、ワイヤレス帯域幅を含むシステムリソースの共有を通じてそのようなコンテンツにアクセスすることを可能にすることができる。たとえば、通信システム1300は、1つまたは複数のチャネルアクセス方法、たとえばCDMA(code division multiple access)、TDMA(time division multiple access)、FDMA(frequency division multiple access)、OFDMA(orthogonal FDMA)、SC−FDMA(single−carrier FDMA)などを採用することができる。
図13Aにおいて示されているように、通信システム1300は、WTRU(wireless transmit/receive unit)1302a、1302b、1302c、1302d、RAN(radio access network)1304、コアネットワーク1306、PSTN(public switched telephone network)1308、インターネット1310、およびその他のネットワーク1312を含むことができるが、開示されている実施形態では、任意の数のWTRU、基地局、ネットワーク、および/またはネットワーク要素が考えられるということがわかるであろう。WTRU1302a、1302b、1302c、1302dのそれぞれは、ワイヤレス環境において動作および/または通信を行うように構成されている任意のタイプのデバイスとすることができる。例として、WTRU1302a、1302b、1302c、1302dは、ワイヤレス信号を送信および/または受信するように構成されることが可能であり、UE(ユーザ装置:user equipment)、移動局、固定式または移動式のサブスクライバーユニット、ページャー、セルラー電話、PDA(personal digital assistant)、スマートフォン、ラップトップ、ネットブック、パーソナルコンピュータ、ワイヤレスセンサ、家庭用電化製品などを含むことができる。
通信システム1300は、基地局1314aおよび基地局1314bを含むこともできる。基地局1314a、1314bのそれぞれは、コアネットワーク1306、インターネット1310、および/またはネットワーク1312などの1つまたは複数の通信ネットワークへのアクセスを容易にするために、WTRU1302a、1302b、1302c、1302dのうちの少なくとも1つとワイヤレスにインターフェースを取るように構成されている任意のタイプのデバイスとすることができる。例として、基地局1314a、1314bは、BTS(base transceiver station)、Node−B、eNode B、Home Node B、Home eNode B、サイトコントローラ、AP(access point)、ワイヤレスルータなどとすることができる。基地局1314a、1314bは、それぞれ単一の要素として示されているが、基地局1314a、1314bは、任意の数の相互接続された基地局および/またはネットワーク要素を含むことができるということがわかるであろう。
基地局1314aは、RAN1304の一部とすることができ、RAN1304は、その他の基地局および/またはネットワーク要素(図示せず)、たとえばBSC(base station controller)、RNC(radio network controller)、中継ノードなどを含むこともできる。基地局1314aおよび/または基地局1314bは、特定の地理的領域内でワイヤレス信号を送信および/または受信するように構成されることが可能であり、この地理的領域は、セル(図示せず)と呼ばれることもある。セルは、複数のセルセクタへとさらに分割されることが可能である。たとえば、基地局1314aに関連付けられているセルは、3つのセクタへと分割されることが可能である。したがって一実施形態においては、基地局1314aは、3つのトランシーバ、すなわち、セルのそれぞれのセクタごとに1つのトランシーバを含むことができる。別の実施形態においては、基地局1314aは、MIMO(multiple−input multiple output)テクノロジーを採用することができ、したがって、セルのそれぞれのセクタごとに複数のトランシーバを利用することができる。
基地局1314a、1314bは、エアインターフェース1316を介してWTRU1302a、1302b、1302c、1302dのうちの1つまたは複数と通信することができ、エアインターフェース1316は、任意の適切なワイヤレス通信リンク(たとえば、RF(radio frequency)、マイクロ波、IR(infrared)、UV(ultraviolet)、可視光など)とすることができる。エアインターフェース1316は、任意の適切なRAT(radio access technology)を使用して確立されることが可能である。
より具体的には、上述したように、通信システム1300は、マルチプルアクセスシステムとすることができ、1つまたは複数のチャネルアクセススキーム、たとえばCDMA、TDMA、FDMA、OFDMA、SC−FDMAなどを採用することができる。たとえば、RAN1304内の基地局1314aおよびWTRU1302a、1302b、1302cは、UTRA(UMTS(Universal Mobile Telecommunications System) Terrestrial Radio Access)などの無線テクノロジーを実施することができ、この無線テクノロジーは、WCDMA(登録商標)(wideband CDMA)を使用してエアインターフェース1316を確立することができる。WCDMAは、HSPA(High−Speed Packet Access)および/またはHSPA+(Evolved HSPA)などの通信プロトコルを含むことができる。HSPAは、HSDPA(High−Speed Downlink Packet Access)および/またはHSUPA(High−Speed Uplink Packet Access)を含むことができる。
別の実施形態においては、基地局1314aおよびWTRU1302a、1302b、1302cは、E−UTRA(Evolved UMTS Terrestrial Radio Access)などの無線テクノロジーを実施することができ、この無線テクノロジーは、LTE(Long Term Evolution)および/またはLTE−A(LTE−Advanced)を使用してエアインターフェース1316を確立することができる。
その他の実施形態においては、基地局1314aおよびWTRU1302a、1302b、1302cは、無線テクノロジー、たとえばIEEE 802.16(すなわちWiMAX(Worldwide Interoperability for Microwave Access))、CDMA2000、CDMA2000 1X、CDMA2000 EV−DO、IS−2000(Interim Standard 2000)、IS−95(Interim Standard 95)、IS−856(Interim Standard 856)、GSM(登録商標)(Global System for Mobile communications)、EDGE(Enhanced Data rates for GSM Evolution)、GERAN(GSM EDGE)などを実施することができる。
図13Aにおける基地局1314bは、たとえばワイヤレスルータ、Home Node B、Home eNode B、またはアクセスポイントとすることができ、局所的なエリア、たとえば事業所、家庭、乗り物、キャンパスなどにおけるワイヤレス接続を容易にするために、任意の適切なRATを利用することができる。一実施形態においては、基地局1314bおよびWTRU1302c、1302dは、WLAN(wireless local area network)を確立するために、IEEE 802.11などの無線テクノロジーを実施することができる。別の実施形態においては、基地局1314bおよびWTRU1302c、1302dは、WPAN(wireless personal area network)を確立するために、IEEE 802.15などの無線テクノロジーを実施することができる。さらに別の実施形態においては、基地局1314bおよびWTRU1302c、1302dは、ピコセルまたはフェムトセルを確立するために、セルラーベースのRAT(たとえば、WCDMA、CDMA2000、GSM、LTE、LTE−Aなど)を利用することができる。図13Aにおいて示されているように、基地局1314bは、インターネット1310への直接接続を有することができる。したがって、基地局1314bは、コアネットワーク1306を介してインターネット1310にアクセスすることを求められないことが可能である。
RAN1304は、コアネットワーク1306と通信状態にあることが可能であり、コアネットワーク1306は、音声、データ、アプリケーション、および/またはVoIP(voice over internet protocol)サービスをWTRU1302a、1302b、1302c、1302dのうちの1つまたは複数に提供するように構成されている任意のタイプのネットワークとすることができる。たとえば、コアネットワーク1306は、コール制御、課金サービス、モバイルロケーションベースサービス、プリペイドコーリング、インターネット接続、ビデオ配信などを提供すること、および/またはユーザ認証などのハイレベルセキュリティー機能を実行することが可能である。図13Aにおいては示されていないが、RAN1304および/またはコアネットワーク1306は、RAN1304と同じRATまたは異なるRATを採用しているその他のRANと直接または間接の通信状態にあることが可能であるということがわかるであろう。たとえば、コアネットワーク1306は、E−UTRA無線テクノロジーを利用している可能性があるRAN1304に接続されていることに加えて、GSM無線テクノロジーを採用している別のRAN(図示せず)と通信状態にあることも可能である。
コアネットワーク1306は、WTRU1302a、1302b、1302c、1302dがPSTN1308、インターネット1310、および/またはその他のネットワーク1312にアクセスするためのゲートウェイとして機能することもできる。PSTN1308は、POTS(plain old telephone service)を提供する回路交換電話ネットワークを含むことができる。インターネット1310は、TCP/IPインターネットプロトコルスイートにおけるTCP(transmission control protocol)、UDP(user datagram protocol)、およびIP(internet protocol)など、共通の通信プロトコルを使用する相互接続されたコンピュータネットワークおよびデバイスからなるグローバルシステムを含むことができる。ネットワーク1312は、その他のサービスプロバイダによって所有および/または運営されている有線またはワイヤレスの通信ネットワークを含むことができる。たとえば、ネットワーク1312は、RAN1304と同じRATまたは異なるRATを採用している可能性がある1つまたは複数のRANに接続されている別のコアネットワークを含むことができる。
通信システム1300内のWTRU1302a、1302b、1302c、1302dのうちのいくつかまたはすべては、マルチモード機能を含むことができ、すなわち、WTRU1302a、1302b、1302c、1302dは、別々のワイヤレスリンクを介して別々のワイヤレスネットワークと通信するために複数のトランシーバを含むことができる。たとえば、図13Aにおいて示されているWTRU1302cは、セルラーベースの無線テクノロジーを採用している可能性がある基地局1314a、およびIEEE 802無線テクノロジーを採用している可能性がある基地局1314bと通信するように構成されることが可能である。
図13Bは、例示的なWTRU1302のシステム図である。図13Bにおいて示されているように、WTRU1302は、プロセッサ1318、トランシーバ1320、送信/受信要素1322、スピーカー/マイクロフォン1324、キーパッド1326、ディスプレイ/タッチパッド1328、非リムーバブルメモリ1330、リムーバブルメモリ1332、電源1334、GPS(global positioning system)チップセット1336、およびその他の周辺機器1338を含むことができる。WTRU1302は、一実施形態との整合性を保持しながら、上述の要素どうしの任意の下位組合せを含むことができるということがわかるであろう。
プロセッサ1318は、汎用プロセッサ、専用プロセッサ、従来型プロセッサ、DSP(digital signal processor)、複数のマイクロプロセッサ、DSPコアと関連付けられている1つもしくは複数のマイクロプロセッサ、コントローラ、マイクロコントローラ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)回路、その他の任意のタイプのIC(integrated circuit)、状態マシンなどとすることができる。プロセッサ1318は、信号コーディング、データ処理、電力制御、入力/出力処理、および/またはWTRU1302をワイヤレス環境内で機能できるようにするその他の任意の機能を実行することができる。プロセッサ1318は、トランシーバ1320に結合されることが可能であり、トランシーバ1320は、送信/受信要素1322に結合されることが可能である。図13Bは、プロセッサ1318とトランシーバ1320を別々のコンポーネントとして示しているが、プロセッサ1318とトランシーバ1320は、1つの電子パッケージまたはチップ内に統合されることが可能であるということがわかるであろう。
送信/受信要素1322は、エアインターフェース1316を介して、基地局(たとえば、基地局1314a)に信号を送信するように、または基地局(たとえば、基地局1314a)から信号を受信するように構成されることが可能である。たとえば、一実施形態においては、送信/受信要素1322は、RF信号を送信および/または受信するように構成されているアンテナとすることができる。別の実施形態においては、送信/受信要素1322は、たとえば、IR信号、UV信号、または可視光信号を送信および/または受信するように構成されているエミッタ/検知器とすることができる。さらに別の実施形態においては、送信/受信要素1322は、RF信号と光信号との両方を送信および受信するように構成されることが可能である。送信/受信要素1322は、ワイヤレス信号の任意の組合せを送信および/または受信するように構成されることが可能であるということがわかるであろう。
加えて、送信/受信要素1322は、図13Bにおいては単一の要素として示されているが、WTRU1302は、任意の数の送信/受信要素1322を含むことができる。より具体的には、WTRU1302は、MIMOテクノロジーを採用することができる。したがって、一実施形態においては、WTRU1302は、エアインターフェース1316を介してワイヤレス信号を送信および受信するために、複数の送信/受信要素1322(たとえば、複数のアンテナ)を含むことができる。
トランシーバ1320は、送信/受信要素1322によって送信される信号を変調するように、また、送信/受信要素1322によって受信される信号を復調するように構成されることが可能である。上述したように、WTRU1302は、マルチモード機能を有することができる。したがってトランシーバ1320は、WTRU1302が、たとえばUTRAおよびIEEE 802.11など、複数のRATを介して通信できるようにするために複数のトランシーバを含むことができる。
WTRU1302のプロセッサ1318は、スピーカー/マイクロフォン1324、キーパッド1326、および/またはディスプレイ/タッチパッド1328(たとえば、LCD(liquid crystal display)ディスプレイユニットまたはOLED(organic light−emitting diode)ディスプレイユニット)に結合されることが可能であり、そこからユーザ入力データを受け取ることができる。プロセッサ1318は、ユーザデータをスピーカー/マイクロフォン1324、キーパッド1326、および/またはディスプレイ/タッチパッド1328へ出力することもできる。加えて、プロセッサ1318は、非リムーバブルメモリ1330および/またはリムーバブルメモリ1332など、任意のタイプの適切なメモリからの情報にアクセスすること、およびそれらのメモリにデータを格納することが可能である。非リムーバブルメモリ1330は、RAM(random−access memory)、ROM(read−only memory)、ハードディスク、またはその他の任意のタイプのメモリストレージデバイスを含むことができる。リムーバブルメモリ1332は、GSM SIM(Subscriber Identity Module)カード、UICC(すなわち、SIMカードのUMTSバージョン)、メモリスティック、SD(secure digital)メモリカードなどを含むことができる。その他の実施形態においては、プロセッサ1318は、サーバまたはホームコンピュータ(図示せず)上など、WTRU1302上に物理的に配置されていないメモリからの情報にアクセスすること、およびそのメモリにデータを格納することが可能である。
プロセッサ1318は、電源1334から電力を受け取ることができ、また、WTRU1302内のその他のコンポーネントへの電力を分配および/または制御するように構成されることが可能である。電源1334は、WTRU1302に電力供給するための任意の適切なデバイスとすることができる。たとえば、電源1334は、1つまたは複数の乾電池(たとえばNiCd(nickel−cadmium)、NiZn(nickel−zinc)、NiMH(nickel metal hydride)、Li−ion(lithium−ion)など)、太陽電池、燃料電池などを含むことができる。
プロセッサ1318は、GPSチップセット1336に結合されることも可能であり、GPSチップセット1336は、WTRU1302の現在位置に関する位置情報(たとえば、経度および緯度)を提供するように構成されることが可能である。GPSチップセット1336からの情報に加えて、またはその情報の代わりに、WTRU1302は、基地局(たとえば、基地局1314a、1314b)からエアインターフェース1316を介して位置情報を受信すること、および/または複数の近隣の基地局から受信されている信号のタイミングに基づいて自分の位置を特定することが可能である。WTRU1302は、一実施形態との整合性を保持しながら、任意の適切な位置特定方法を通じて位置情報を得ることができるということがわかるであろう。
プロセッサ1318は、その他の周辺機器1338にさらに結合されることが可能であり、その他の周辺機器1338は、さらなる特徴、機能、および/または有線接続もしくはワイヤレス接続を提供する1つまたは複数のソフトウェアモジュールおよび/またはハードウェアモジュールを含むことができる。たとえば、周辺機器1338は、加速度計、e−コンパス、衛星トランシーバ、デジタルカメラ(写真またはビデオ用)、USB(universal serial bus)ポート、振動デバイス、テレビジョントランシーバ、ハンドフリーヘッドセット、BLUETOOTH(登録商標)モジュール、FM(frequency modulated)ラジオユニット、デジタルミュージックプレーヤ、メディアプレーヤ、ビデオゲームプレーヤモジュール、インターネットブラウザなどを含むことができる。
図13Cは、一実施形態によるRAN1304およびコアネットワーク1306のシステム図である。上述したように、RAN1304は、エアインターフェース1316を介してWTRU1302a、1302b、1302cと通信するためにUTRA無線テクノロジーを採用することができる。RAN1304は、コアネットワーク1306と通信状態にあることも可能である。図13Cにおいて示されているように、RAN1304は、Node−B1340a、1340b、1340cを含むことができ、これらのNode−Bはそれぞれ、エアインターフェース1316を介してWTRU1302a、1302b、1302cと通信するために1つまたは複数のトランシーバを含むことができる。Node−B1340a、1340b、1340cはそれぞれ、RAN1304内の特定のセル(図示せず)に関連付けられることが可能である。RAN1304は、RNC1342a、1342bを含むこともできる。RAN1304は、一実施形態との整合性を保持しながら、任意の数のNode−BおよびRNCを含むことができるということがわかるであろう。
図13Cにおいて示されているように、Node−B1340a、1340bは、RNC1342aと通信状態にあることが可能である。加えて、Node−B1340cは、RNC1342bと通信状態にあることが可能である。Node−B1340a、1340b、1340cは、Iubインターフェースを介してそれぞれのRNC1342a、1342bと通信することができる。RNC1342a、1342bは、Iurインターフェースを介して互いに通信状態にあることが可能である。RNC1342a、1342bのそれぞれは、自分が接続されているそれぞれのNode−B1340a、1340b、1340cを制御するように構成されることが可能である。加えて、RNC1342a、1342bのそれぞれは、その他の機能、たとえば、アウターループ電力制御、負荷制御、アドミッション制御、パケットスケジューリング、ハンドオーバ制御、マクロダイバーシティー、セキュリティー機能、データ暗号化などを実行またはサポートするように構成されることが可能である。
図13Cにおいて示されているコアネットワーク1306は、MGW(media gateway)1344、MSC(mobile switching center)1346、SGSN(serving GPRS support node)1348、および/またはGGSN(gateway GPRS support node)1350を含むことができる。上述の要素のうちのそれぞれは、コアネットワーク1306の一部として示されているが、これらの要素のいずれかが、コアネットワークオペレータ以外のエンティティーによって所有および/または運営されることも可能であるということがわかるであろう。
RAN1304内のRNC1342aは、IuCSインターフェースを介してコアネットワーク1306内のMSC1346に接続されることが可能である。MSC1346は、MGW1344に接続されることが可能である。MSC1346およびMGW1344は、WTRU1302a、1302b、1302cと、従来の地上通信線の通信デバイスとの間における通信を容易にするために、PSTN1308などの回路交換ネットワークへのアクセスをWTRU1302a、1302b、1302cに提供することができる。
RAN1304内のRNC1342aは、IuPSインターフェースを介してコアネットワーク1306内のSGSN1348に接続されることも可能である。SGSN1348は、GGSN1350に接続されることが可能である。SGSN1348およびGGSN1350は、WTRU1302a、1302b、1302cと、IP対応デバイスとの間における通信を容易にするために、インターネット1310などのパケット交換ネットワークへのアクセスをWTRU1302a、1302b、1302cに提供することができる。
上述したように、コアネットワーク1306は、ネットワーク1312に接続されることも可能であり、ネットワーク1312は、その他のサービスプロバイダによって所有および/または運営されているその他の有線またはワイヤレスのネットワークを含むことができる。
図13Dは、一実施形態によるRAN1304およびコアネットワーク1306のシステム図である。上述したように、RAN1304は、エアインターフェース1316を介してWTRU1302a、1302b、1302cと通信するためにE−UTRA無線テクノロジーを採用することができる。RAN1304は、コアネットワーク1306と通信状態にあることも可能である。
RAN1304は、eNode−B1340a、1340b、1340cを含むことができるが、RAN1304は、一実施形態との整合性を保持しながら、任意の数のeNode−Bを含むことができるということがわかるであろう。eNode−B1340a、1340b、1340cはそれぞれ、エアインターフェース1316を介してWTRU1302a、1302b、1302cと通信するために1つまたは複数のトランシーバを含むことができる。一実施形態においては、eNode−B1340a、1340b、1340cは、MIMOテクノロジーを実施することができる。したがって、eNode−B1340aは、たとえば、WTRU1302aにワイヤレス信号を送信するために、およびWTRU1302aからワイヤレス信号を受信するために、複数のアンテナを使用することができる。
eNode−B1340a、1340b、1340cのそれぞれは、特定のセル(図示せず)に関連付けられることが可能であり、無線リソースマネージメントの決定、ハンドオーバの決定、アップリンクおよび/またはダウンリンクにおけるユーザのスケジューリングなどを取り扱うように構成されることが可能である。図13Dにおいて示されているように、eNode−B1340a、1340b、1340cは、X2インターフェースを介して互いに通信することができる。
図13Dにおいて示されているコアネットワーク1306は、MME(mobility management gateway)1360、サービングゲートウェイ1362、および/またはPDN(packet data network)ゲートウェイ1364を含むことができる。上述の要素のうちのそれぞれは、コアネットワーク1306の一部として示されているが、これらの要素のいずれかが、コアネットワークオペレータ以外のエンティティーによって所有および/または運営されることも可能であるということがわかるであろう。
MME1360は、S1インターフェースを介してRAN1304内のeNode−B1340a、1340b、1340cのそれぞれに接続されることが可能であり、コントロールノードとして機能することができる。たとえば、MME1360は、WTRU1302a、1302b、1302cのユーザを認証すること、ベアラのアクティブ化/非アクティブ化、WTRU1302a、1302b、1302cの最初の接続中に特定のサービングゲートウェイを選択することなどを担当することができる。MME1360は、RAN1304と、GSMまたはWCDMAなどのその他の無線テクノロジーを採用しているその他のRAN(図示せず)との間における切り替えを行うためのコントロールプレーン機能を提供することもできる。
サービングゲートウェイ1362は、S1インターフェースを介してRAN1304内のeNode B1340a、1340b、1340cのそれぞれに接続されることが可能である。サービングゲートウェイ1362は一般に、ユーザデータパケットをWTRU1302a、1302b、1302cへ/WTRU1302a、1302b、1302cから回送および転送することができる。サービングゲートウェイ1362は、その他の機能、たとえば、eNode B間でのハンドオーバ中にユーザプレーンを固定すること、WTRU1302a、1302b、1302cにとってダウンリンクデータが利用可能である場合にページングをトリガーすること、WTRU1302a、1302b、1302cのコンテキストを管理および記憶することなどを実行することもできる。
サービングゲートウェイ1362は、PDNゲートウェイ1364に接続されることも可能であり、PDNゲートウェイ1364は、WTRU1302a、1302b、1302cと、IP対応デバイスとの間における通信を容易にするために、インターネット1310などのパケット交換ネットワークへのアクセスをWTRU1302a、1302b、1302cに提供することができる。
コアネットワーク1306は、その他のネットワークとの通信を容易にすることができる。たとえば、コアネットワーク1306は、WTRU1302a、1302b、1302cと、従来の地上通信線の通信デバイスとの間における通信を容易にするために、PSTN1308などの回路交換ネットワークへのアクセスをWTRU1302a、1302b、1302cに提供することができる。たとえば、コアネットワーク1306は、コアネットワーク1306とPSTN1308との間におけるインターフェースとして機能するIPゲートウェイ(たとえば、IMS(IP multimedia subsystem)サーバ)を含むことができ、またはそうしたIPゲートウェイと通信することができる。加えて、コアネットワーク1306は、ネットワーク1312へのアクセスをWTRU1302a、1302b、1302cに提供することができ、ネットワーク1312は、その他のサービスプロバイダによって所有および/または運営されているその他の有線またはワイヤレスのネットワークを含むことができる。
図13Eは、一実施形態によるRAN1304およびコアネットワーク1306のシステム図である。RAN1304は、エアインターフェース1316を介してWTRU1302a、1302b、1302cと通信するためにIEEE802.16無線テクノロジーを採用しているASN(access service network)とすることができる。以降でさらに論じるように、WTRU1302a、1302b、1302c、RAN1304、およびコアネットワーク1306という別々の機能エンティティーの間における通信リンクは、リファレンスポイントとして定義されることが可能である。
図13Eにおいて示されているように、RAN1304は、基地局1340a、1340b、1340c、およびASNゲートウェイ1370を含むことができるが、RAN1304は、一実施形態との整合性を保持しながら、任意の数の基地局およびASNゲートウェイを含むことができるということがわかるであろう。基地局1340a、1340b、1340cは、RAN1304内の特定のセル(図示せず)にそれぞれ関連付けられることが可能であり、エアインターフェース1316を介してWTRU1302a、1302b、1302cと通信するために1つまたは複数のトランシーバをそれぞれ含むことができる。一実施形態においては、基地局1340a、1340b、1340cは、MIMOテクノロジーを実施することができる。したがって、基地局1340aは、たとえば、WTRU1302aにワイヤレス信号を送信するために、およびWTRU1302aからワイヤレス信号を受信するために、複数のアンテナを使用することができる。基地局1340a、1340b、1340cは、モビリティーマネージメント機能、たとえば、ハンドオフのトリガリング、トンネルの確立、無線リソースマネージメント、トラフィックの分類、QoS(quality of service)ポリシーの実施などを提供することもできる。ASNゲートウェイ1370は、トラフィックアグリゲーションポイントとして機能することができ、ページング、サブスクライバープロファイルのキャッシング、コアネットワーク1306へのルーティングなどを担当することができる。
WTRU1302a、1302b、1302cと、RAN1304との間におけるエアインターフェース1316は、IEEE802.16仕様を実施するR1リファレンスポイントとして定義されることが可能である。加えて、WTRU1302a、1302b、1302cのそれぞれは、コアネットワーク1306との論理インターフェース(図示せず)を確立することができる。WTRU1302a、1302b、1302cと、コアネットワーク1306との間における論理インターフェースは、R2リファレンスポイントとして定義されることが可能であり、このR2リファレンスポイントは、認証、許可、IPホスト構成マネージメント、および/またはモビリティーマネージメントのために使用されることが可能である。
基地局1340a、1340b、1340cのそれぞれの間における通信リンクは、WTRUのハンドオーバ、および基地局どうしの間におけるデータの転送を容易にするためのプロトコルを含むR8リファレンスポイントとして定義されることが可能である。基地局1340a、1340b、1340cと、ASNゲートウェイ1370との間における通信リンクは、R6リファレンスポイントとして定義されることが可能である。このR6リファレンスポイントは、WTRU1302a、1302b、1302cのそれぞれに関連付けられているモビリティーイベントに基づいてモビリティーマネージメントを容易にするためのプロトコルを含むことができる。
図13Eにおいて示されているように、RAN1304は、コアネットワーク1306に接続されることが可能である。RAN1304と、コアネットワーク1306との間における通信リンクは、たとえば、データ転送およびモビリティーマネージメント機能を容易にするためのプロトコルを含むR3リファレンスポイントとして定義されることが可能である。コアネットワーク1306は、MIP−HA(mobile IP home agent)1372、AAA(authentication, authorization, accounting)サーバ1374、およびゲートウェイ1376を含むことができる。上述の要素のうちのそれぞれは、コアネットワーク1306の一部として示されているが、これらの要素のいずれかが、コアネットワークオペレータ以外のエンティティーによって所有および/または運営されることも可能であるということがわかるであろう。
MIP−HA1372は、IPアドレスマネージメントを担当することができ、WTRU1302a、1302b、1302cが、別々のASNおよび/または別々のコアネットワークの間においてローミングすることを可能にすることができる。MIP−HA1372は、WTRU1302a、1302b、1302cと、IP対応デバイスとの間における通信を容易にするために、インターネット1310などのパケット交換ネットワークへのアクセスをWTRU1302a、1302b、1302cに提供することができる。AAAサーバ1374は、ユーザ認証と、ユーザサービスをサポートすることとを担当することができる。ゲートウェイ1376は、その他のネットワークと相互作用することを容易にすることができる。たとえば、ゲートウェイ1376は、WTRU1302a、1302b、1302cと、従来の地上通信線の通信デバイスとの間における通信を容易にするために、PSTN1308などの回路交換ネットワークへのアクセスをWTRU1302a、1302b、1302cに提供することができる。加えて、ゲートウェイ1376は、ネットワーク1312へのアクセスをWTRU1302a、1302b、1302cに提供することができ、ネットワーク1312は、その他のサービスプロバイダによって所有および/または運営されているその他の有線またはワイヤレスのネットワークを含むことができる。
図13Eにおいては示されていないが、RAN1304は、その他のASNに接続されることが可能であり、コアネットワーク1306は、その他のコアネットワークに接続されることが可能であるということがわかるであろう。RAN1304と、その他のASNとの間における通信リンクは、R4リファレンスポイントとして定義されることが可能であり、このR4リファレンスポイントは、RAN1304と、その他のASNとの間においてWTRU1302a、1302b、1302cのモビリティーをコーディネートするためのプロトコルを含むことができる。コアネットワーク1306と、その他のコアネットワークとの間における通信リンクは、R5リファレンスとして定義されることが可能であり、このR5リファレンスは、ホームコアネットワークと、訪問先コアネットワークとの間における相互作用を容易にするためのプロトコルを含むことができる。
本明細書に記載されている方法は、コンピュータまたはプロセッサによって実行するためにコンピュータ可読メディア内に組み込まれているコンピュータプログラム、ソフトウェア、またはファームウェアで実装されることが可能である。コンピュータ可読メディアの例は、(有線接続またはワイヤレス接続を介して伝送される)電子信号、およびコンピュータ可読ストレージメディアを含む。コンピュータ可読ストレージメディアの例は、ROM(read only memory)、RAM(random access memory)、レジスタ、キャッシュメモリ、半導体メモリデバイス、内蔵ハードディスクおよびリムーバブルディスクなどの磁気メディア、光磁気メディア、ならびに、CD−ROMディスクおよびDVD(digital versatile disk)などの光学メディアを含むが、それらには限定されない。ソフトウェアと関連付けられているプロセッサは、WTRU、UE、端末、基地局、RNC、または任意のホストコンピュータにおいて使用するための無線周波数トランシーバを実装するために使用されることが可能である。
上記では特徴および要素が特定の組合せで説明されているが、それぞれの特徴または要素は、単独で、またはその他の特徴および要素との任意の組合せで使用されることが可能である。たとえば、本明細書において説明されているプロトコルフローステップは、それらのプロトコルフローステップが説明されている順序には限定されない。加えて、本明細書において説明されている実施形態は、OpenID認証を使用して説明されているかもしれないが、その他の形態の認証が実施されることも可能である。同様に、本明細書において説明されている実施形態は、OpenID通信またはエンティティーに限定されないことが可能である。たとえば、RPは、任意のサービスプロバイダを含むことができ、OP/OPSFは、任意の(1つもしくは複数の)IDおよび/もしくはアサーションプロバイダを含むことができ、ならびに/またはOPlocは、任意のローカルIDおよび/もしくはアサーションプロバイダであることが可能である。さらに、本明細書において説明されているUEのいかなる認証も、UEおよび/またはUEに関連付けられているユーザの認証を含むことができる。