Nothing Special   »   [go: up one dir, main page]

JP6185934B2 - サーバー・アプリケーションと多数の認証プロバイダーとの統合 - Google Patents

サーバー・アプリケーションと多数の認証プロバイダーとの統合 Download PDF

Info

Publication number
JP6185934B2
JP6185934B2 JP2014553351A JP2014553351A JP6185934B2 JP 6185934 B2 JP6185934 B2 JP 6185934B2 JP 2014553351 A JP2014553351 A JP 2014553351A JP 2014553351 A JP2014553351 A JP 2014553351A JP 6185934 B2 JP6185934 B2 JP 6185934B2
Authority
JP
Japan
Prior art keywords
authentication
application
issuer
token
response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014553351A
Other languages
English (en)
Other versions
JP2015505626A5 (ja
JP2015505626A (ja
Inventor
エイデルマン,ヴァディム
クレス,ブライアン
レイブマン,マティアス
ヌーレディン,ムスタファ
ユイ,レイ
ルオ,ハイボ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2015505626A publication Critical patent/JP2015505626A/ja
Publication of JP2015505626A5 publication Critical patent/JP2015505626A5/ja
Application granted granted Critical
Publication of JP6185934B2 publication Critical patent/JP6185934B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/35Network arrangements, protocols or services for addressing or naming involving non-standard use of addresses for implementing network functionalities, e.g. coding subscription information within the address or functional addressing, i.e. assigning an address to a function
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/30Types of network names
    • H04L2101/365Application layer names, e.g. buddy names, unstructured names chosen by a user or home appliance name
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Description

[0001] 多数の構内(on-premises)およびオンライン環境に跨がって分散されるサーバーおよびサービスの展開トポロジーは、増々複雑化しつつある。アプリケーションは、これらのサーバーおよびサービスの展開特性や位置には関係なく、これらを跨いだ安全なアクセスを要求する。通常、安全なアクセスの成功は、サーバーおよびサービスによる認証方式サポートによって左右される。通例、サーバーまたはサービスが他のサーバーまたはサービスに要求を行うとき、その要求が成功するように、どのようにそれを認証するか知る必要がある。
[0002] 成功する認証のために、サーバーおよびサービスは、OAuthプロトコルのような標準的な認証プロトコルを用いることができる。しかしながら、このような標準的なプロトコルは、サーバーおよびサービスの間で成功するためにはどのように信頼を築くか十分に記述していない。加えて、既存の認証プロトコルは、オンラインおよび構内環境にわたる複雑な展開トポロジーを考慮していない。
[0003] 例えば、OAuthプロトコルでは、多くの場合、全てのアプリケーションおよびサービスが認証のために信任状を取得するのに成功するには、1つの認証サーバーを信頼し(trust)それを頼りにする(rely on)ことが必要になる。しかしながら、多くのシナリオでは、この単一認証サーバーの概念を用いることができない。
[0004] 加えて、OAuthプロトコルはプロトコル・フローを詳細に記述するが、このプロトコルは当該プロトコルのセマンティクスおよび内容についての詳細を、認証サーバーの特定的な実施態様に委ねる(leave)。これが意味するのは、1つの認証サーバーと統合するサーバーまたはサービスは、異なる認証サーバーと統合する他のサーバーまたはサービスに要求を行うために、この同じ認証サーバーを首尾良く使用することには必ずしも頼ることができないということである。多くのシナリオでは、特に構内のシナリオでは、サーバーまたはサービスはいずれの認証サーバーとも全く統合することができない。
[0005] 最後に、認証に成功した後、サーバーおよびサービスは、通常、リソースを望ましくないアクセスから保護するために、認証メカニズムを実施する。通常、これらの認証メカニズムはサービスに固有であるが、認証のために問い合わせられる信任状の一部として提供される識別(identity)に基づく。OAuthプロトコルでは、クライアント・アプリケーションは、検証され信頼された識別である。クライアント・アプリケーションの識別が変化すると、認証を再構成しなければならず、新たなクライアント・アプリケーションの識別で検証されるまでは、認証は利用できない。
[0006] この摘要は、詳細な説明において以下で更に説明する概念から選択したものを、簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を限定するために用いられることを意図するのでもない。
[0007] 実施形態は、OAuth2.0プロトコルのような、標準的な認証プロトコルを用いて認証に成功するための、サービスおよびサーバー・アプリケーションのための一般的なモデルを提供する。サーバーおよびサービスは、異なるプロトコル・セマンティクスを実現する多数の認証サーバーと統合することができる。他のサーバーおよびサービスというようなクライアントは、認証サーバーがない場合、証明書利用者(relying party)にアクセスするために標準的なプロトコルを用いることもできる。証明書利用者に対して認証するための信任状の適した発行元を選択することをクライアントに可能にする告知メカニズムが、証明書利用者に設けられる。
[0008] 本発明の実施形態の以上のおよびその他の利点や特徴を一層明確にするために、添付図面を参照して、本発明の実施形態の更に特定的な説明を行う。尚、これらの図面は、本発明の典型的な実施形態のみを描画し、したがってその範囲を限定するように解釈してはならないことは認められよう。添付図面の使用により、更に具体性および詳細を加えて、本発明について説明する。
図1は、容認可能な認証ソースを識別するために互いに通信する2つのサービスを示す。 図2は、認証信任状の信頼発行元(trusted issuer)を識別する方法またはプロセスを示す。 図3Aは、発行元照合を用いてアウトバウンド・トークンの発行元を選択するアプリケーションのためのアウトバウンド・トークンの組み立て方法またはプロセスを示すフロー・チャートである。 図3Bは、発行元照合を用いてアウトバウンド・トークンの発行元を選択するアプリケーションのためのアウトバウンド・トークンの組み立て方法またはプロセスを示すフロー・チャートである。 図4は、図1から図3の例を実現することができる、適した計算およびネットワーキング環境の一例を示す。
[0013] 図1は、容認可能な認証ソースを識別するために互いに通信する2つのサービス101および102を示す。実施形態では、サービス101および102が同じサーバー上および/または同じ建造物(premise)上に配置されてもよく、同じアドミニストレーターによって構成されてもよい。他の実施形態では、サービス101および102が、別のサーバー上および/または別の建造物上に互いから離れて配置され、異なるアドミニストレーターによって構成されてもよい。このような構成では、サーバー101および102は、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、イントラネット、またはインターネットというような、ワイヤレスまたは有線ネットワークを通じて通信すればよい。これらの構成を本明細書では「構内」(on-premise)構成と呼ぶこともできる。サービス101および102がクラウドにおいてホストされる環境であり、別のホスティング組織によって管理される場合、この構成は、本明細書では、「オンライン」構成と呼ばれる。
[0014] サービス101および102は、異なるアプリケーションの別々のインスタンスであってもよく、または同じアプリケーションの別々のインスタンスであってもよい。いずれの場合でも、ユーザーがサービス101および102間において情報およびデーターを共有することを望むかもしれない。例えば、あるユーザーがサービス101上で作業することを望み、そしてサービス102上でアクションを実行するかまたはデーターをサービス102と交換することを望むかもしれない。サービスA101は、このようなアクションを実行する要求またはデーターを交換する要求103をサービスB102に送る。サービスB102が要求103に対して動作する前に、サービスB102は要求103を認証しなければならない。サービス101には、認証信任状またはトークンの承認済みソースを識別する信頼発行元リスト104が構成される。同様に、サービス102はそれ自体の信頼発行元リスト105を有する。信頼発行元リストは、例えば、1つ以上の認証サービス106、107を識別することができる。各サービス101および102は、それ自体の容認可能な認証サービスのリストを有することができる。例えば、サービス101は、認証サービス106および107を信頼するかもしれないが、サービス102は認証サービス107だけを信頼するかもしれない。
[0015] 直接信頼(direct-trust)の実施形態では、サービス101および102が自己認証するか、あるいはそれら自体の認証信任状またはトークンを作成できるのでもよい場合がある。
[0016] OAuthプロトコルのような標準的な認証プロトコルが、サービス101および102を互いに認証するために用いられてもよい。しかしながら、このようなプロトコルは常に好結果が得られる訳ではない。何故なら、サービス101および102は同じ認証サービス106、107を共有しないかもしれず、互換性のない認証構成を有するかもしれないからである。
[0017] サーバー102が要求103を受けると、401(無許可)応答108を返送する。この応答108は、要求103が認証を必要とすることを示す。クライアントは、適した認証ヘッダ・フィールドがある要求103を繰り返すことができる。認証フィールド値は、要求されるリソースの範囲に対するアプリケーションの認証情報を収容する信任状を含む(consist of)。
[0018] 一実施形態では、401−無許可応答108は、応答するサービス102からの信頼発行元リスト105を含む。したがって、応答108は、要求103が認証されなければならないことをサービス101に伝え、信頼されたソースのリストを供給し、サービス101は、このリストから、必要な認証信任状またはトークンを得ることができる。サービス101は、信頼されたまたは認証された認証サーバーのリスト104を有する。サービス101は、受信した信頼リスト105をそれ自体の信頼リスト104と比較し、これら2つのリスト間においてあらゆる一致を識別する。例えば、サービス101が認証サービス106および107を信頼し、サービス102が認証サービス107を信頼する場合、サービス101は、しかるべき信任状を得るために、認証サービス107を用いることができる。
[0019] サービス101および102に対する信頼発行元リスト104、105は、好ましい認証サービスのソースを識別することができる。例えば、信頼発行元リスト104は、(1)同じアプリケーションの他の展開(deployment)の直接信頼、(2)認証サービス105、および(3)認証サービス106として、ソースの優先順位を決める、または順位付けすることができる。一実施形態では、サービス101は、そのリスト104および受信したリスト105を比較し、最も好ましい発行元を選択する。
[0020] 図2は、認証信任状の信頼発行元を識別する方法またはプロセスを示す。ステップ201において、要求が第1サービスから第2サービスに送られる。ステップ202において、第1サービスは、この要求には認証が要求されることを示す応答を受信する。この応答は、第2サービスに対する信頼認証発行元のリストを含む。ステップ203において、第1サービスは、第2サーバーからの信頼発行元リストをそれ自体の信頼発行元リストと比較する。ステップ204において、第1サービスは、第1および第2サービス双方によって信頼される認証発行元を識別する。
[0021] ステップ205において、第1サービスは認証信任状を、双方のサービスから信頼される認証発行元から得る。ステップ206において、第1サービスは、この認証信任状を含む新たな要求を生成する。この認証信任状は双方のサービスによって信頼されるソースから来るので、第2サービスは通例第2要求を受け入れる。
構成
[0022] 信頼発行元識別プロセスに関与するためには、各サーバーまたはサービスにはしかるべき情報を構成しなければならない。一実施形態では、以下の情報がサーバーまたはサービス毎に構成される。
[0023] アプリケーション発行元識別子。アプリケーション発行元識別子は、自己発行トークンの発行元フィールドにおいて用いられる。アプリケーション発行元識別子は、PIDapp@realmというフォーマットを有する。アプリケーション発行元識別子の要求されるフィールドは、次のように定式化される。
[0024] PIDappフィールドは、アプリケーションの主要識別子である。一実施形態では、これは現在のアプリケーションを表すグローバル一意識別子(GUID)である。他の実施形態では、これらの識別子にわたって一意性を保証するのであれば、いずれの実施態様でも用いてもよい。Realmフィールドは、構内インストールではデフォルト・ドメインとすることができる。オンライン・インストールでは、Realm値は、テナント識別子とすればよい。しかしながら、テナント識別子は、Realmフィールドに可能な値の1つに過ぎず、何らかの他の値に設定されてもよい。
[0025] セキュリティ・トークン・サービス(STS)。1つ以上のSTSもサーバーまたはサービス毎に構成される。各STSはPIDsts@[TID] , metadataURLというフォーマットを有する。
[0026] PIDstsフィールドは、STSを表すGUIDである。
[0027] TIDフィールドは、以下のように構成される。
構内インストールでは、TIDフィールドはテナント識別子(TenantID)であり、これは、GUIDまたは特定のテナントを識別する一意性を保証するいずれかの実施態様(implementation)である。殆どのオンライン・インストールでは、TIDフィールドは空(または*)であり、しかるべきテナントIDで置き換えられなければならない。
特定のテナント内部のオンライン・インストールでは、異なる展開における同じカンパニー(company)を表すテナント間の信頼のために必要とされ、例えば、TIDフィールドはTenantIDである。
[0028] metadataURLフィールドは、STSとの信頼確立のために証明書を引き出すために用いられるURLを収容する。
[0029] アプリケーションの中には、発行元識別子を格納せず、代わりに鍵、鍵識別子(例えば、証明書サムプリント)、およびメタデーターURLだけを格納するものがある。
[0030] 構成されたパートナー・アプリ(Configured Partner App)。構成されたパートナー・アプリは、PIDapp@f[realm] , {UseSTS|metadataURL}というフォーマットを有する。
[0031] PIDappフィールドは、他のサーバーまたはサービスのような、パートナー・アプリケーション(PA)を表すGUIDである。
[0032] Realmフィールドは、オンライン・インストールでは空(または*)であり、しかるべきテナントIDによって置き換えられなければならない。Realmフィールドは、構内インストールに対してデフォルト・ドメインを保持する。
[0033] UseSTSフィールドは、このPAに対する着信トークンが、構成されたSTSの内の1つによって発行されなければならないか否か選択するために用いられる。
[0034] metadataURLフィールドは、アプリケーションとの直接信頼のために証明書を引き出すために用いることができるURLである。
[0035] アプリケーションの中には、発行元識別子を格納せず、代わりに、鍵、鍵識別子(例えば、証明書サムプリント)、およびメタデーターURLだけを格納するものがある。
[0036] 有効ドメインまたは領域リスト。信頼発行元リストは、オンラインおよび構内構成毎に構成される。オンライン・インストールでは、信頼発行元リストは、テナントによってマッピングされた全てのテナント・ドメイン・サフィックス(tenant domain suffix)のリストである。構内インストールでは、信頼発行元リストは、全ての有効なドメイン・サフィックスのリストである。
[0037] 一般に、空領域は、「*」領域と同じことを意味するように解釈される。「*」エントリーは、グローバル構成テンプレートをサポートするために用いられ、1つの構成されたエントリーが、数百万のテナントをサポートし、構成および格納要件を簡素化することができる。
[0038] 領域(realm)とはセキュリティ境界の識別子であり、PID(主要ID)は領域によって限定される(qualify)(即ち、領域に関して一意である)。TID(テナントId)は、領域に可能な値のストリングである。TIDは、データーセンターにおける領域の主要名称である。DNSドメイン名は、構内構成において用いられる領域に可能な他の値のストリングである。DNSドメイン名は、オーディエンス/リソース(audience/resource)において領域としてSTSに送ることができるが、ドメイン名は、STSが発行するトークンにおいてTIDと置き換えられる。
発行元情報の公開
[0039] 発行元のリストは、認証を失敗した許可ヘッダにおいて、ベアラ方式(Bearer scheme)を有するあらゆる401応答において返送される。
[0040] 各アプリケーション・ホストは、信頼発行元のリストを作り、このリストから、トークンを受け入れる。一実施形態では、このリストは、以上の構成からの全てのSTS、および信頼のためにSTSに依存しない全てのパートナー・アプリケーション(即ち、直接信頼を用いる全てのパートナー・アプリケーション)を含む。実施形態では、構成データーに発行元識別子を格納しないが代わりに鍵およびそれらの識別子だけを格納するアプリケーションは、発行元リストを作ることができない場合もある。
[0041] アプリケーションによって発行元リストを作ることができない場合、一実施形態では、アプリケーションはこの場合ではその識別子(例えば、client_id)および領域を返す。Realm値はテナント識別子であってもよい。発行元リストが作られる場合、領域は任意となり、通例、アプリケーション間を直接信頼とした(即ち、STSなし)純粋な構内展開において、または401応答を生成したアプリケーションのエンドポイントURLから領域を明確に決定することができるときに、領域が供給される。
[0042] 例えば、要求は、
POST /resource HTTP/1.1
Authorization: Bearer
のようにフォーマットされてもよい。
[0043] 401応答は、以下のように、「WWW-Authenticate」ヘッダにおいて「ベアラ」認証方式の「trusted_issuers」パラメーターにおいて、コンマで分離された発行元のリストを搬送する。
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer trusted_issuers="PIDsts @*,PIDapp@realm",
realm="realm", client_id="PID"
[0044] 構内インストールは、PID、領域、および証明書をメタデーター文書において公開し、STSを用いずに構内インストール間における直接信頼の確立を容易にすることができる。オンライン・インストールでは、公開は必要でない。
アウトバウンド・トークンの組み立て
[0045] 図3Aおよび図3Bは、アウトバウンド・トークンに発行元を選択するために発行元照合を用いるアプリケーションのためのアウトバウンド・トークンの組み立て方法またはプロセス300を示すフロー・チャートである。プロセス300は、以下の入力パラメーターを有する。
user@user-domainというフォーマットを有するユーザーまたはURI。
パートナー・アプリ識別子(PIDpa)。
宛先ホスト(pahost)。
オンライン構成のみにテナントID(tid)。
グローバルSTS、および特定のテナントに対するエントリー(オンラインのみ)を含む、アウトバウンドSTSのリスト。
[0046] ステップ301において、アプリケーションは、trusted_issuersパラメーターが、失敗した要求に対する回答において受信された401応答に収容されているか否か判定する。この要求は「Bearer」方式を有していた。ステップ302において、アプリケーションは、401応答メッセージにおいて、WWW-Authenticateヘッダのtrusted_issuersパラメーターから発行元のリスト(即ち、着信発行元リスト)を得る。401応答メッセージにおけるWWW-Authenticateヘッダにtrusted_issuersパラメーターが存在しない場合、本プロセスは312に移る。
[0047] ステップ303において、アプリケーションは、着信発行元リストにおける発行元の内1つが、ローカル・アプリケーション発行元識別子(PIDapp@realm)と一致するか否か判定する。一実施形態では、PIDおよび領域コンポーネントの全てが正確に、着信リスト上の発行元とローカル・アプリケーション発行元識別子との間で一致しなければならない。
[0048] PIDおよび領域コンポーネントがステップ303において一致した場合、本プロセスはステップ304に移り、自己発行トークンを作成する。自己発行トークンは、次のエレメントを含む。
iss: PIDapp@realm、
nameid: PIDapp@realm、
およびaud: PIDpa@target-realm/pahost@user-domain。
[0049] iss(発行元)およびnameid(名称識別子)エレメントは、ローカル・アプリケーション発行元識別子に対応する。aud(オーディエンス)エレメントは、パートナー・アプリケーション(PIDpa)、宛先ホスト(pahost)、およびユーザー・ドメイン(user-domain)に基づいて組み立てられる。taget-realmフィールドは、サービスがコールしようとしているアプリケーションの領域である。
[0050] ステップ303において、ローカル・アプリケーション発行元識別子との一致がない場合、本プロセスはステップ305に移る。ステップ305において、アプリケーションは、着信発行元リストにおける発行元の内1つが、STSを表すGUIDであるPIDstsのみを用いて構成されたSTSの1つと一致するか否か判定する。アプリケーションは、この照合では、領域パラメーターを無視する。ステップ305において一致があった場合、ステップ306において、アプリケーションは、一致したSTSの構成エントリーが空のTIDを有するか否か判定する。
[0051] ステップ307において、一致したSTSの構成エントリーが空でないTIDを含む場合、アプリケーションは、一致したSTSエントリーからのTIDを、STSのためにトークンを組み立てるときに領域パラメーターとして用いる。あるいは、ステップ308において、一致したSTSの構成エントリーが空のTIDを有する場合、アプリケーションは、先の入力パラメーターからのテナントIDを、STSのためにトークンを組み立てるときに領域パラメーターとして用いる。
[0052] ステップ309において、アプリケーションはSTSのために自己発行トークンを作成する。STSのための自己発行トークンは、以下のパラメーターを含む。
iss: PIDapp@tid、
nameid: PIDapp@tid、
aud: PIDsts@tid/pahost@user-domain、および
resource: PIDpa @target-realm/pahost@user-domain。
[0053] iss/nameidPIDエレメント(PIDapp)は、アプリケーション発行元識別子から来る。領域エレメント(tid)は、ステップ307/308から選択され、構成されたSTS TIDまたは先の入力パラメーターからのテナントIDのいずれかに基づく。audPIDエレメント(PIDsts)は、STS構成エントリーから来る。リソース・エレメントは、パートナー・アプリケーションのID(PIDpa)およびユーザー・ドメインに基づく。
[0054] 自己発行トークンは、次に、STSに供給され、STSはステップ310において以下のパラメーターを用いてトークンを生成する。
iss: PIDsts@tid、
nameid: PIDapp@tid、および
aud: PIDpa@tid/desthost@tid。
[0055] STSは、issエレメントに、それ自体のissuer@tenantIDを用いる。nameidエレメントの有効性が判断され、自己発行トークンからコピーされる。audエレメントの有効性が判断され、トークン要求パラメーターのリソース・エレメントからコピーされる。領域がDNSドメインとして供給される場合、これは実際のテナントIDと置き換えられる。領域がテナントidとして供給される場合、置き換えは不要である。
[0056] ステップ303および305において一致がない場合、トークンを作成することができず、本プロセスはステップ311において終了する。
[0057] ステップ301において、trusted_issuersパラメーターが401応答に存在しない場合、本プロセスはステップ312に移る。
[0058] ステップ312において、アプリケーションは、401応答のWWW-Authenticateに領域パラメーターがあるか否か判定する。ステップ313において、アプリケーションは、「@」および401における領域値と連結されたパートナー・アプリ識別子(例えば、PIDpa@realm)が、構成されたパートナー・アプリケーションの1つと正確に一致するか否か判定する。ステップ313において、PIDpa@realmが構成されたパートナー・アプリケーションの1つと正確に一致し、そして直接信頼が構成される場合、アプリケーションは、ステップ314において、自己発行トークンを作成する。自己発行トークンは、次のパラメーターを用いてフォーマットされる。
iss: PIDapp@realm、
nameid: PIDapp@realm、および
aud: PIDpa@realm/pahost@realm。
[0059] issおよびnameidエレメント(PIDapp@realm)は、ローカル・アプリケーションの発行元識別子に対応する。audエレメントは、パートナー・アプリケーションのID(PIDpa)および401において戻された領域値に基づいて組み立てられる。
[0060] ステップ313において、PIDapp@realmと構成されたパートナー・アプリケーションの1つとの間に一致がなかった場合、本プロセスはステップ315に移る。ステップ315において、アプリケーションは、401応答において戻された領域値が、いずれかの構成されたSTSの領域と正確に一致するか否か判定する。
[0061] ステップ315において一致がなかった場合、アプリケーションは、ステップ316において、領域が空のSTS構成を選択する。
[0062] ステップ315または316において一致があった場合、ステップ317において、アプリケーションは、一致したSTSの構成エントリーが空のTIDを含むか否か判定する。一致したSTSの構成エントリーが空でないTIDを含む場合、ステップ318において、アプリケーションは、一致したSTS構成からのTIDを領域として用いて、STSのために自己発行トークンを組み立てる。一致したSTSの構成エントリーが空/「*」領域を有する場合、ステップ319において、アプリケーションは、先の入力パラメーターから領域[TID]を用いて、STSのために自己発行トークンを組み立てる。自己発行トークンは、次のパラメーターを有する。
iss: PIDapp@tid、
nameid: PIDapp@tid、
aud: PIDsts@tid/stshost@tid、および
resource: PIDpa@target-realm/pahost@user-domain。
[0063] issおよびnameidエレメントPID(PIDapp)は、アプリケーション発行元識別子から来る。audエレメントPID(PIDsts)は、STS構成エントリーから来る。iss、nameid、およびaudエレメント(tid)に対する領域は、構成されたSTS TIDまたは入力パラメーターからのテナントIDに基づいて選択される。stshostエレメントは、STSメタデーター文書における発行元エンドポイントから来る。リソース・エレメントは、パートナー・アプリケーションのID(PIDpa)およびユーザー・ドメインに基づいて組み立てられる。
[0064] 次いで、ステップ318または319からの自己発行トークンがSTSに供給される。STSは、ステップ320において、以下のパラメーターを用いてトークンを生成する。
iss: PIDsts@tid、
nameid: PIDapp@tid、および
aud: PIDpa@tid/desthost@tid。
[0065] STSは、それ自体のissuer@tenantIDをissエレメントに用いる。nameidエレメントの有効性が判断され、自己発行トークンからコピーされる。audエレメントの有効性が判断され、自己発行トークンのリソース・エレメントからコピーされる。DNSドメインが供給される場合、DNS領域が実際のテナントID(tid)と置き換えられる。そうでなければ、テナントidが供給される場合、置き換えは必要ない。
[0066] 図3Aおよび図3Bのステップから一致が全く得られない場合、本プロセスは停止し、トークンを作成することはできない。
[0067] 1つのアウトバウンド発行元を用いるアプリケーションでは、当該アプリケーションは、その発行元だけを用い、ステップ317から320までを用いてトークンを生成しなければならない。
インバウンド・トークンの有効性判断
[0068] アプリケーションが発行元識別子に基づくトークンの有効性判断を実施する場合、アプリケーションは発行元識別子を入手し、トークン署名有効性判断のための証明書を突き止める。アプリケーションは発行元をそのSTSのリストと照合する。このリストは、アプリケーションのグローバル構成の一部である。発行元におけるPIDが、STS構成と正確に一致しなければならない。領域は、STS構成エントリーにおいてそれが指定される(即ち、空でない)場合にのみ、一致しなければならない。STS構成エントリーが空の領域または「*」を有する場合、発行元識別子における領域の値は有効なテナントIDでなければならない。
[0069] トークンは、直接信頼を有するパートナー・アプリケーションのリストと照合されるのでもよい。直接信頼を有するアプリケーションのリストは、アプリケーションのグローバル構成から来る。実施形態では、直接信頼が、テナント構成からのアプリケーションを含む場合もある。テナントは、トークンのオーディエンス(aud:)フィールドにおける領域に基づいて調べられる。一実施形態では、全てのフィールド(PID@realm)が正確に直接信頼に対して一致しなければならず、ワイルドカードの一致は許されない。トークンにおける名称識別子のテナントのPIDおよび領域は、発行元のPIDおよび領域と同じでなければならない。
[0070] 一致がない場合、アプリケーションはトークンを拒絶する。それ以外の場合、アプリケーションは証明書を引き出すことができる。証明書は、STSまたはパートナー・アプリケーションに関連するメタデーター文書から得ることができる。あるいは、証明書の直接構成も許される。
[0071] アプリケーションが鍵識別子に基づくトークンの有効性判断を実施する場合、アプリケーションは、証明書サムプリント(certificate thumbprint)のような鍵識別子をトークンから入手し、それを構成における全ての有効な鍵識別子と照合する。一致がない場合、アプリケーションはこのトークンを拒絶する。それ以外の場合、アプリケーションは、この鍵に関連するメタデーター文書から証明書を引き出すことができ、または証明書をそれ自体で構成することもできる。
[0072] アプリケーションは、引き出した証明書を用いて、トークンの署名の有効性を判断する。
[0073] 一実施形態では、アプリケーションは名称識別子を入手し、それをパートナー・アプリケーション・リストと照合する。PIDは正確に一致しなければならない。領域は、それがパートナー・アプリケーションの構成エントリーにおいて指定される(即ち、空でないまたは「*」)場合にのみ一致しなければならない。パートナー・アプリケーションの構成エントリーが空の領域を有する場合、名称識別子の領域は、発行元の領域と同じでなければならない。
[0074] アプリケーションは、オーディエンスを入手して、そのフィールドを照合する。PIDは、アプリケーションがアクセスされた際のローカル・アプリケーションPIDおよびホスト名と正確に一致しなければならない。STS発行トークンでは、領域は発行元の領域(テナントID)と一致しなければならない。アプリケーション発行トークンでは、領域はローカルに構成されたグローバルまたはテナント・ドメインの内1つと一致しなければならない。オンラインまたはマルチ・テナント環境では、領域は有効なテナントIDまたは有効なテナントを解決する(resolve to)ドメインでなければならない。
[0075] 尚、本明細書において説明したトークンの組み立ておよび有効性判断は、2つ以上の関与物(participant)によって用いられてもよいことは理解されよう。関与物は、アプリケーション、サーバー、サービス、デバイス、製品等を含むこともできる。関与物は、構成されたSTS、パートナー・アプリケーション、および信頼発行元を識別するように構成することができる。次いで、関与物は、以上で説明したように、トークンを作成、交換し、その有効性を判断する。
[0076] 尚、図2に示したプロセスのステップ201〜206、および図3に示したプロセスのステップ301〜320は、同時におよび/または順次に実行してもよいことは理解されよう。更に、各ステップは、いずれの順序で実行してもよく、1回または繰り返し実行してもよいことも理解されよう。
[0077] 図4は、図1〜図3の例を実現することができる適した計算およびネットワーキング環境400の一例を示す。認証信任状を得るための、本明細書で説明した、認証サービス、サービス、およびアプリケーションは、コンピューター・システム400上において具体化することができる。計算システム環境400は、適した計算環境の一例に過ぎず、本発明の使用範囲や機能に関して何ら限定を示唆する意図はない。本発明は、複数の他の汎用または特殊目的計算システム環境あるいは構成でも動作する。本発明との使用に適すると考えられる周知の計算システム、環境、および/または構成の例には、パーソナル・コンピューター、サーバー・コンピューター、ハンドヘルドまたはラップトップ・コンピューター、タブレット・デバイス、マルチプロセッサー・システム、マイクロプロセッサー・ベース・システム、セット・トップ・ボックス、プログラマブル消費者用電子機器、ネットワークPC、ミニコンピューター、メインフレーム・コンピューター、以上のシステムまたはデバイスのいずれかを含む分散型計算環境等が含まれるが、これらに限定されるのではない。
[0078] 本発明は、コンピューターによって実行される、プログラム・モジュールのような、コンピューター実行可能命令という一般的なコンテキストで説明することができる。一般に、プログラム・モジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データー構造等を含み、特定のタスクを実行するかまたは特定の抽象データー型を実装する。また、本発明は分散型計算環境において実施することもでき、この場合、タスクは、通信ネットワークを介してリンクされたリモート処理デバイスによって実行される。分散型計算環境では、プログラム・モジュールは、メモリー記憶デバイスを含む、ローカルおよび/またはリモート・コンピューター記憶媒体に配置することができる。
[0079] 図4を参照すると、本発明の種々の実施形態を実現するシステム例は、コンピューター400の形態とした汎用計算デバイスを含むことができる。コンポーネントは、処理ユニット408、システム・メモリーのようなデーター・ストレージ402、およびデーター・ストレージ402から処理ユニット408までを含む種々のシステム・コンポーネントを結合するシステム・バス403を含むことができるが、これらに限定されるのではない。システム・バス403は、メモリー・バスまたはメモリー・コントローラ、周辺バス、および種々のバス・アーキテクチャーの内いずれかを使用するローカル・バスを含む、様々なタイプのバス構造のいずれでもよい。一例として、そして限定ではなく、このようなアーキテクチャーは、業界標準アーキテクチャー(ISA)バス、マイクロ・チャネル・アーキテクチャー(MCA)、拡張ISA(EISA)バス、ビデオ電子規格連合(VESA)ローカル・バス、およびMezzanineバスとしても知られる周辺コンポーネント相互接続(PCI)バスを含む。
[0080] コンピューター400は、通例、種々のコンピューター読み取り可能媒体404を含む。コンピューター読み取り可能媒体404は、コンピューター400によってアクセスすることができるいずれの入手可能な媒体とすることもでき、揮発性および不揮発性、ならびにリムーバブルおよび非リムーバブル媒体の双方を含むが、伝搬信号を除外する。一例として、そして限定ではなく、コンピューター読み取り可能媒体404は、コンピューター記憶媒体および通信媒体を含むことができる。コンピューター記憶媒体は、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含み、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、または他のデーターというような情報の格納のためのいずれかの方法または技術で実現される。コンピューター記憶媒体は、RAM、ROM、EEPROM、フラッシュ・メモリーまたは他のメモリー技術、CD−ROM、ディジタル・バーサタイル・ディスク(DVD)または他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたは他の磁気記憶デバイス、または所望の情報を格納するために使用することができそしてコンピューター400によってアクセスすることができる他のあらゆる媒体を含むが、これらに限定されるのではない。通信媒体は、通例、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、または他のデーターを、搬送波のような変調データー信号または他の伝達メカニズムに具体化し、あらゆる情報配信媒体を含む。「変調データー信号」という用語は、その信号内に情報をエンコードするようなやり方で、その特性の1つ以上が設定または変更された信号を意味する。一例として、そして限定ではなく、通信媒体は、有線ネットワークまたは直接有線接続というような有線媒体と、音響、RF、赤外線、および他のワイヤレス媒体というようなワイヤレス媒体とを含む。以上のいずれの組み合わせも、コンピューター読み取り可能媒体の範囲に含むことができる。コンピューター読み取り可能媒体は、コンピューター記憶媒体上に格納されたソフトウェアのような、コンピューター・プログラム生産物として具体化することもできる。
[0081] データー・ストレージまたはシステム・メモリー402は、リード・オンリー・メモリー(ROM)およびランダム・アクセス・メモリー(RAM)のような、揮発性および/または不揮発性メモリーの形態としたコンピューター記憶媒体を含む。基本入力/出力システム(BIOS)は、起動中におけるように、コンピューター400内部にあるエレメント間で情報を伝えるのに役立つ基本的なルーチンを含み、通例ROMに格納される。RAMは、通例、処理ユニット408によって直ちにアクセス可能な、および/または現在処理ユニットによって処理されているデーターおよび/またはプログラム・モジュールを含む。一例として、そして限定ではなく、データー・ストレージ402は、オペレーティング・システム、アプリケーション・プログラム、ならびに他のプログラム・モジュールおよびプログラム・データーを保持する。
[0082] また、データー・ストレージ402は、他のリムーバブル/非リムーバブル、揮発性/不揮発性コンピューター記憶媒体も含むことができる。一例としてに過ぎないが、データー・ストレージ402は、非リムーバブル、不揮発性磁気媒体に対して読み取りまたは書き込みを行うハード・ディスク・ドライブ、リムーバブル、不揮発性磁気ディスクに対して読み取りまたは書き込みを行う磁気ディスク・ドライブ、およびCD−ROMまたは他の光媒体のようなリムーバブル、不揮発性光ディスクに対して読み取りまたは書き込みを行う光ディスクであってもよい。この動作環境例において使用することができる他のリムーバブル/非リムーバブル、揮発性/不揮発性コンピューター記憶媒体には、磁気テープ・カセット、フラッシュ・メモリー・カード、ディジタル・バーサタイル・ディスク、ディジタル・ビデオ・テープ、ソリッド・ステートRAM、ソリッド・ステートROM等が含まれるが、これらに限定されるのではない。以上で説明し図4に示すこれらのドライブおよびそれに関連するコンピューター記憶媒体は、コンピューター400のためのコンピューター読み取り可能命令、データー構造、プログラム・モジュール、および他のデーターの格納を考慮している。
[0083] ユーザーは、ユーザー・インターフェース405、あるいはタブレット、電子ディジタイザー、マイクロフォン、キーボード、および/または一般にマウス、トラックボール、またはタッチ・パッドと呼ばれるポインティング・デバイスというような他の入力デバイスによって、コマンドおよび情報を入力することができる。他の入力デバイスには、ジョイスティック、ゲーム・パッド、衛星ディッシュ、スキャナ等を含むことができる。加えて、音声入力または自然ユーザー・インターフェース(NUI)も使用することができる。これらおよび他の入力デバイスは、多くの場合、ユーザー入力インターフェース405を介して処理ユニット408に接続される。ユーザー入力インターフェース405は、システム・バス403に結合されるが、パラレル・ポート、ゲーム・ポート、またはユニバーサル・シリアル・バス(USB)のような他のインターフェースおよびバス構造によって接続されてもよい。また、モニター406または他のタイプのディスプレイ・デバイスも、ビデオ・インターフェースのようなインターフェースを介して、システム・バス403に接続される。また、モニター406にはタッチ・スクリーン・パネル等が統合されてもよい。尚、モニターおよび/またはタッチ・スクリーン・パネルは、タブレット型パーソナル・コンピューターにおけるように、計算デバイス400が組み込まれる筐体に物理的に結合できることを注記しておく。加えて、計算デバイス400のようなコンピューターは、スピーカーおよびプリンターのような他の周辺出力デバイスも含むことができ、これらは出力周辺インターフェース等を介して接続されればよい。
[0084] コンピューター400は、リモート・コンピューターのような1つ以上のリモート・コンピューターへの論理接続407を使用して、ネットワーク接続環境において動作することもできる。例えば、認証サービス、サービス、およびアプリケーションは、ネットワーク接続を介して通信して認証信任状を得ることができる。リモート・コンピューターは、パーソナル・コンピューター、サーバー、ルーター、ネットワークPC、ピア・デバイス、または他の一般的なネットワーク・ノードであってよく、通例、コンピューター400に関して先に説明したエレメントの多くまたは全部を含む。図4に示す論理接続は、1つ以上のローカル・エリア・ネットワーク(LAN)および1つ以上のワイド・エリア・ネットワーク(WAN)を含むが、他のネットワークを含むこともできる。このようなネットワーク接続環境は、事務所、企業規模のコンピューター・ネットワーク、イントラネット、およびインターネットでは極普通である。
[0085] LANネットワーク接続環境において使用される場合、コンピューター400は、ネットワーク・インターフェースまたはアダプター407を介してLANに接続することができる。WANネットワーク接続環境において使用される場合、コンピューター400は、通例、インターネットのようなWANを介して通信を確立するモデムまたは他の手段を含む。モデムは、内蔵型でも外付けでもよく、ネットワーク・インターフェース407または他のしかるべきメカニズムを介してシステム・バス403に接続することができる。インターフェースおよびアンテナを含むというような、ワイヤレス・ネットワーク接続コンポーネントは、アクセス・ポイントまたはピア・コンピューターというような適したデバイスを介して、WANまたはLANに結合することができる。ネットワーク接続環境において、コンピューター400に関して図示したプログラム、またはその一部が、リモート・メモリー記憶デバイスに格納されてもよい。尚、図示したネットワーク接続は一例であり、コンピューター間に通信リンクを確立する他の手段を使用してもよいことは認められよう。
[0086] 以上、構造的特徴および/または方法論的動作に特定の文言で本主題について説明したが、添付した特許請求の範囲において定められる主題は、必ずしも以上で説明した具体的な特徴や動作には限定されないことは、理解されてしかるべきである。逆に、以上で説明した具体的な特徴および動作は、特許請求の範囲を実現する形態例として開示されたまでである。

Claims (16)

  1. 処理装置から、第1アプリケーションから第2アプリケーションへの要求を送るステップと、
    前記処理装置において、前記要求に対する応答を受け取るステップであって、前記応答は、前記第2アプリケーションによって信頼された認証発行元のリストを含む、ステップと、
    前記処理装置において、前記第2アプリケーションによって信頼された認証発行元の前記リストを、前記第1アプリケーションに対して承認された認証発行元のリストと比較するステップと、
    前記処理装置において、前記リスト間における認証発行元の一致を識別するステップと、
    前記処理装置において、承認された認証発行元構成からのテナント識別子を用いて、認証発行元のためのトークンを組み立てるステップと、
    前記処理装置において、前記トークンを用いて前記認証発行元から認証信任状を得るステップと、
    前記処理装置において、前記認証信任状を用いて前記第2アプリケーションへの修正要求を生成するステップと、
    を含む、方法。
  2. 前記応答は、非認証要求を示す401応答であり、前記第2アプリケーションによって信頼された認証発行元の前記リストは、前記401応答のWWW-Authenticateヘッダで搬送される、請求項1に記載の方法。
  3. 前記処理装置において、グローバル一意識別子(GUID)を用いて、前記第2アプリケーションによって信頼された認証発行元が前記第1アプリケーションに対して承認された認証発行元と一致するか否かを判定するステップを更に含む、請求項1に記載の方法。
  4. 前記処理装置において、所定の入力パラメーターからのテナント識別子を用いて、認証発行元のためのトークンを組み立てるステップと、
    を更に含む、請求項3に記載の方法。
  5. 前記処理装置において、承認された認証発行元構成に一致するグローバル一意識別子(GUID)と、前記承認された認証発行元構成からのテナント識別子とを用いて、前記認証発行元のための自己発行トークンを作成するステップを更に含む、請求項1に記載の方法。
  6. 前記処理装置において、前記認証発行元から、前記自己発行トークンを用いて前記認証発行元によって生成された認証トークンを受け取るステップを更に含む、請求項5に記載の方法。
  7. ハードウェア・プロセッサー上で動作しているアプリケーションにおいて、領域パラメーターとアプリケーション識別子パラメーターとを有するヘッダを備えた応答をパートナー・アプリケーションから受け取るステップと、
    前記アプリケーションにおいて、前記パートナー・アプリケーションの識別子を前記領域パラメーターと連結して連結値を生成するステップと、
    前記アプリケーションにおいて、前記連結値が構成されたパートナー・アプリケーションのリスト中のエントリーと一致するか否かを判定するステップと、
    前記アプリケーションにおいて、一致が存在することを判定したことに応答して、前記パートナー・アプリケーションまたは認証発行元のための自己発行トークンを生成するステップと、
    を含む方法。
  8. 前記アプリケーションにおいて、一致が存在しないことを判定したことに応答して、前記応答の中の領域値が構成された認証発行元と一致するか否かを判定するステップと、
    前記アプリケーションにおいて、テナント識別子を用いて前記認証発行元のための自己発行トークンを生成するステップと、
    を更に含む、請求項7に記載の方法。
  9. 前記自己発行トークンは、前記認証発行元によって用いられて認証トークンを生成するように適合されている、請求項7に記載の方法。
  10. 前記アプリケーションにおいて、パートナー・アプリケーションと承認された認証発行元を識別するようにアプリケーションを構成するステップを更に含む、請求項7に記載の方法。
  11. 承認された認証発行元構成は、前記承認された認証発行元に対するグローバル一意識別子(GUID)を識別するが、アプリケーションがオンライン・インストール向けに構成されている場合はテナント識別子を識別しない、請求項10に記載の方法。
  12. 承認された認証発行元構成は、前記承認された認証発行元に対するグローバル一意識別子(GUID)を識別し、アプリケーションが構内インストール向けに構成されている場合はテナント識別子を識別する、請求項10に記載の方法。
  13. 1または複数のプロセッサーと、
    システム・メモリーと、
    コンピューター実行可能命令が格納された1または複数のコンピューター読み取り可能記憶媒体と、を備え、
    前記コンピューター実行可能命令は、前記1または複数のプロセッサーによって実行されると、認証信任状を生成するための方法を前記プロセッサーに実施させ、前記プロセッサーは、
    第1アプリケーションから第2アプリケーションへの要求を送り、
    前記要求に対する応答であって、前記第2アプリケーションによって信頼された認証発行元のリストを含む応答を受け取り、
    前記第2アプリケーションによって信頼された認証発行元の前記リストを、前記第1アプリケーションに対して承認された認証発行元のリストと比較し、
    両方のリストに一致する認証発行元を識別し、
    承認された認証発行元構成からのテナント識別子を用いて、認証発行元のためのトークンを組み立て、
    前記トークンを用いて前記認証発行元から認証信任状を取得し、
    前記認証信任状を用いて前記第2アプリケーションへの修正要求を生成する、
    ように動作する、コンピューター・システム。
  14. 前記応答は、非認証要求を示す401応答であり、前記第2アプリケーションによって信頼された認証発行元の前記リストは、前記401応答のWWW-Authenticateヘッダで搬送され、
    前記プロセッサーは、更に、
    グローバル一意識別子(GUID)を用いて、前記第2アプリケーションによって信頼された認証発行元が前記第1アプリケーションに対して承認された認証発行元と一致するか否かを判定し、
    承認された認証発行元構成からのテナント識別子を用いて、認証発行元のためのトークンを組み立てる、
    ように動作する、請求項13に記載のコンピューター・システム。
  15. 前記応答は、非認証要求を示す401応答であり、前記第2アプリケーションによって信頼された認証発行元の前記リストは、前記401応答のWWW-Authenticateヘッダで搬送され、
    前記プロセッサーは、更に、
    グローバル一意識別子(GUID)を用いて、前記第2アプリケーションによって信頼された認証発行元が前記第1アプリケーションに対して承認された認証発行元と一致するか否かを判定し
    所定の入力パラメーターからのテナント識別子を用いて、認証発行元のためのトークンを組み立てる、
    ように動作する、請求項13に記載のコンピューター・システム。
  16. 前記プロセッサーは、更に、自己発行トークンを用いて前記認証発行元によって生成された認証トークンを前記認証発行元から受け取るように動作する、請求項13に記載のコンピューター・システム。
JP2014553351A 2012-01-19 2013-01-16 サーバー・アプリケーションと多数の認証プロバイダーとの統合 Active JP6185934B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/354,324 US8819794B2 (en) 2012-01-19 2012-01-19 Integrating server applications with multiple authentication providers
US13/354,324 2012-01-19
PCT/US2013/021615 WO2013109556A1 (en) 2012-01-19 2013-01-16 Integrating server applications with multiple authentication providers

Publications (3)

Publication Number Publication Date
JP2015505626A JP2015505626A (ja) 2015-02-23
JP2015505626A5 JP2015505626A5 (ja) 2016-03-10
JP6185934B2 true JP6185934B2 (ja) 2017-08-23

Family

ID=48638732

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014553351A Active JP6185934B2 (ja) 2012-01-19 2013-01-16 サーバー・アプリケーションと多数の認証プロバイダーとの統合

Country Status (6)

Country Link
US (1) US8819794B2 (ja)
EP (1) EP2805447B1 (ja)
JP (1) JP6185934B2 (ja)
KR (1) KR20140116422A (ja)
CN (1) CN103179108B (ja)
WO (1) WO2013109556A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107579948B (zh) * 2016-07-05 2022-05-10 华为技术有限公司 一种网络安全的管理系统、方法及装置
EP3432539B1 (de) * 2017-07-20 2020-12-23 Siemens Aktiengesellschaft Verfahren zum aufbau eines kommunikationskanals zwischen einer servereinrichtung und einer clienteinrichtung
US11025628B2 (en) * 2018-04-17 2021-06-01 Cisco Technology, Inc. Secure modification of manufacturer usage description files based on device applications
US11924112B2 (en) * 2021-03-30 2024-03-05 Cisco Technology, Inc. Real-time data transaction configuration of network devices

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2188330C (en) * 1995-12-12 2001-04-24 Michael D. Bamburak A method for selecting a wireless communications service provider in a multi-service provider environment
US6052590A (en) * 1997-07-29 2000-04-18 Ericsson, Inc. Method for reducing control channel scan time
US6510236B1 (en) 1998-12-11 2003-01-21 International Business Machines Corporation Authentication framework for managing authentication requests from multiple authentication devices
CA2463504C (en) 2001-10-12 2013-02-19 Geo Trust, Inc. Methods and systems for automated authentication, processing and issuance of digital certificates
US7584505B2 (en) * 2001-10-16 2009-09-01 Microsoft Corporation Inspected secure communication protocol
US7707120B2 (en) 2002-04-17 2010-04-27 Visa International Service Association Mobile account authentication service
US7240366B2 (en) 2002-05-17 2007-07-03 Microsoft Corporation End-to-end authentication of session initiation protocol messages using certificates
US7392375B2 (en) * 2002-09-18 2008-06-24 Colligo Networks, Inc. Peer-to-peer authentication for real-time collaboration
US8020196B2 (en) 2002-10-25 2011-09-13 Randle William M Secure transmission and exchange of standardized data
US20080114832A1 (en) * 2003-03-07 2008-05-15 Atreus Systems Corp. Using multiple policy distribution points to initiate a network-based service
US7644275B2 (en) * 2003-04-15 2010-01-05 Microsoft Corporation Pass-thru for client authentication
JP2005259111A (ja) * 2004-01-26 2005-09-22 Ricoh Co Ltd ユーザ情報取扱い装置、ユーザ情報取扱いプログラム及び記録媒体
US7194763B2 (en) 2004-08-02 2007-03-20 Cisco Technology, Inc. Method and apparatus for determining authentication capabilities
EP1790112A2 (en) * 2004-09-07 2007-05-30 Philippe J. M. Coueignoux Controlling electronic messages
US7539193B2 (en) * 2005-01-27 2009-05-26 Time Warner Cable, Inc. System and method for facilitating communication between a CMTS and an application server in a cable network
US8631476B2 (en) 2005-03-31 2014-01-14 Sap Ag Data processing system including explicit and generic grants of action authorization
US8091120B2 (en) * 2005-12-21 2012-01-03 At&T Intellectual Property I, L.P. Adaptive authentication methods, systems, devices, and computer program products
US7600123B2 (en) * 2005-12-22 2009-10-06 Microsoft Corporation Certificate registration after issuance for secure communication
US7788730B2 (en) * 2006-01-17 2010-08-31 International Business Machines Corporation Secure bytecode instrumentation facility
US7805489B2 (en) * 2006-06-27 2010-09-28 Research In Motion Limited Electronic mail communications system with client email internet service provider (ISP) polling application and related methods
WO2008013525A1 (en) * 2006-07-25 2008-01-31 Northrop Grumman Corporation Common access card heterogeneous (cachet) system and method
US8171535B2 (en) * 2006-12-19 2012-05-01 Canon Kabushiki Kaisha Dynamic web service policy broadcasting/enforcement for applications
US8347403B2 (en) * 2006-12-19 2013-01-01 Canon Kabushiki Kaisha Single point authentication for web service policy definition
US8281375B2 (en) 2007-01-05 2012-10-02 Ebay Inc. One time password authentication of websites
WO2009050924A1 (ja) * 2007-10-19 2009-04-23 Nippon Telegraph And Telephone Corporation 利用者認証システム及びその方法
CN101610241B (zh) * 2008-06-16 2012-11-21 华为技术有限公司 一种绑定认证的方法、系统和装置
US8151333B2 (en) * 2008-11-24 2012-04-03 Microsoft Corporation Distributed single sign on technologies including privacy protection and proactive updating
US20100251353A1 (en) 2009-03-25 2010-09-30 Novell, Inc. User-authorized information card delegation
US8347356B2 (en) 2009-03-31 2013-01-01 Microsoft Corporation Adaptive HTTP authentication scheme selection
US8078870B2 (en) * 2009-05-14 2011-12-13 Microsoft Corporation HTTP-based authentication
US9015609B2 (en) * 2009-05-18 2015-04-21 American Well Corporation Provider to-provider consultations
US8527360B2 (en) * 2011-04-29 2013-09-03 Daon Holdings Limited Methods and systems for conducting payment transactions
US8868680B2 (en) * 2011-06-30 2014-10-21 Infosys Technologies Ltd. Methods for recommending personalized content based on profile and context information and devices thereof

Also Published As

Publication number Publication date
EP2805447B1 (en) 2019-04-10
KR20140116422A (ko) 2014-10-02
JP2015505626A (ja) 2015-02-23
WO2013109556A1 (en) 2013-07-25
CN103179108A (zh) 2013-06-26
EP2805447A1 (en) 2014-11-26
CN103179108B (zh) 2016-08-10
US8819794B2 (en) 2014-08-26
EP2805447A4 (en) 2015-10-21
US20130191894A1 (en) 2013-07-25

Similar Documents

Publication Publication Date Title
US10541991B2 (en) Method for OAuth service through blockchain network, and terminal and server using the same
US9712398B2 (en) Authenticating connections and program identity in a messaging system
US9172541B2 (en) System and method for pool-based identity generation and use for service access
US20180270066A1 (en) Secure enrolment of security device for communication with security server
JP2023541599A (ja) サービス通信方法、システム、装置及び電子機器
US20100043065A1 (en) Single sign-on for web applications
CN107637044B (zh) 安全带内服务检测
JP6875482B2 (ja) レガシー統合のためのコンピュータ読み取り可能な記憶媒体ならびにそれを使用するための方法およびシステム
JP2010531516A (ja) 安全でないネットワークを介する装置のプロビジョニング及びドメイン加入エミュレーション
WO2022247751A1 (zh) 远程访问应用的方法、系统、装置、设备及存储介质
US11444954B2 (en) Authentication/authorization server, client, service providing system, access management method, and medium
US11277404B2 (en) System and data processing method
JP5239341B2 (ja) ゲートウェイ、中継方法及びプログラム
KR20080053298A (ko) 접속 프로세스의 비교적 초기에 인증함으로써 시큐어접속을 생성하는 방법 및 그 방법을 수행하게 하는 컴퓨터실행가능 명령어를 갖는 컴퓨터 프로그램 제품
CN112352411B (zh) 利用不同的云服务网络的相同域的注册
WO2016191376A1 (en) Initial provisioning through shared proofs of knowledge and crowdsourced identification
JP2018092446A (ja) 認証認可システム及び情報処理装置と認証認可方法とプログラム
JP2015194879A (ja) 認証システム、方法、及び提供装置
JP6185934B2 (ja) サーバー・アプリケーションと多数の認証プロバイダーとの統合
US11503012B1 (en) Client authentication using a client certificate-based identity provider
EP3956842A1 (en) Destination addressing associated with a distributed ledger
US11611541B2 (en) Secure method to replicate on-premise secrets in a cloud environment
US10931662B1 (en) Methods for ephemeral authentication screening and devices thereof

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160118

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170410

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170629

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170728

R150 Certificate of patent or registration of utility model

Ref document number: 6185934

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250