JP6821857B2 - 連携ログオンプロバイダの依存パーティへのシングルサインオンの拡張 - Google Patents

連携ログオンプロバイダの依存パーティへのシングルサインオンの拡張 Download PDF

Info

Publication number
JP6821857B2
JP6821857B2 JP2020508558A JP2020508558A JP6821857B2 JP 6821857 B2 JP6821857 B2 JP 6821857B2 JP 2020508558 A JP2020508558 A JP 2020508558A JP 2020508558 A JP2020508558 A JP 2020508558A JP 6821857 B2 JP6821857 B2 JP 6821857B2
Authority
JP
Japan
Prior art keywords
enterprise
authentication token
server
identity provider
provider server
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
JP2020508558A
Other languages
English (en)
Other versions
JP2020531973A (ja
Inventor
フェルナンド フェイジョー,リカルド
フェルナンド フェイジョー,リカルド
クルーディ,トーマス
Original Assignee
サイトリックス システムズ,インコーポレイテッド
サイトリックス システムズ,インコーポレイテッド
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 サイトリックス システムズ,インコーポレイテッド, サイトリックス システムズ,インコーポレイテッド filed Critical サイトリックス システムズ,インコーポレイテッド
Publication of JP2020531973A publication Critical patent/JP2020531973A/ja
Application granted granted Critical
Publication of JP6821857B2 publication Critical patent/JP6821857B2/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/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/40User authentication by quorum, i.e. whereby two or more security principals are required

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本開示の態様は、コンピュータハードウェアおよびソフトウェアに関する。特に、本開示の1つ以上の態様は概して、様々なアイデンティティプロバイダにより仮想化環境で供給される複数のサービスとのインタラクションを行うためのセキュリティトークンを生成および管理するコンピュータハードウェアおよびソフトウェアに関する。
仮想環境サービスプロバイダは、アイデンティティおよびアクセス管理を行って、ユーザデバイスが様々なサービスおよびリソースにクラウドベース環境でアクセスすることができるようにする。具体的には、アイデンティティプロバイダは、接続先システムへのシングルサインオン(SSO)アクセスおよび各システムでのシームレスサインオンを可能にする認証チケットまたはトークンを発行することができる。
クラウド内の企業が、それらの企業によるサービスを拡大すると、ユーザデバイスは、これらの企業の外部にあるサードパーティエンティティにより供給されるサービスおよびリソースにアクセスしようと試みることができ、サードパーティエンティティは、認証をサポートする異なるアイデンティティプロバイダを使用する可能性がある。その結果、仮想環境サービスプロバイダに固有の認証トークンにより、サードパーティエンティティへのサービスへのアクセスをシームレスに、効率的に、および簡便に行えない可能性がある。
以下に、本明細書において説明される様々な態様の簡略化した概要が提示される。この概要は、広範囲にわたる概要ではなく、重要な、または必須の要素を特定することを、または特許請求の範囲を正確に記述することを意図していない。以下の概要は、いくつかのコンセプトを簡略化した形式で、以下に提供されるより詳細な説明の序章として単に提示しているに過ぎない。
上に説明した先行技術における制限を克服するために、本明細書を読み取り、理解することにより明らかになる他の制限を克服するために、本明細書において説明される態様は、連携ログオンプロバイダの依存パーティへのシングルサインオンの拡張に関するものである。
本開示の1つ以上の態様によれば、少なくとも一つのプロセッサ、メモリ、および通信インターフェースを有するエンタープライズアイデンティティプロバイダサーバは、エンタープライズアイデンティティプロバイダにより供給されるエンタープライズアイデンティティサービスと統合されたエンタープライズサーバから、エンタープライズアイデンティティプロバイダサーバによりエンタープライズサーバに対して既に発行されている第1の認証トークンを受信することができる。第1の認証トークンを受信したことに応答して、連携アイデンティティプロバイダサーバにより供給される連携アイデンティティサービスに関連付けることができる第2の認証トークンは、エンタープライズアイデンティティプロバイダサーバにより維持されるトークンストアから取り出すことができる。引き続き、第2の認証トークンは、連携アイデンティティプロバイダサーバにより供給される連携アイデンティティサービスでリフレッシュして、リフレッシュされた認証トークンを取得することができる。その後、エンタープライズアイデンティティプロバイダサーバは、リフレッシュされた認証トークンをエンタープライズサーバに送信することができ、これにより、エンタープライズサーバにより管理されるユーザデバイスが、サードパーティシステムにより供給される1つ以上のリソースに連携アイデンティティサービスを使用してアクセスすることができるようになる。
場合によっては、エンタープライズアイデンティティプロバイダサーバが第1の認証トークンを受信する前に、エンタープライズサーバに、第1の認証トークンをプロビジョニングすることができる。例えば、第1の認証トークンにより、エンタープライズサーバおよびエンタープライズサーバの管理対象ユーザデバイスは、1つ以上のリソースに、エンタープライズアイデンティティサーバにより供給されるエンタープライズアイデンティティサービスを使用してシングルサインオンでアクセスすることができる。別の例では、第2の認証トークンにより、エンタープライズサーバおよびエンタープライズサーバの管理対象ユーザデバイスは、サードパーティシステムに連携アイデンティティサービスを使用してシングルサインオンでアクセスすることができるようになる。
場合によっては、第2の認証トークンをリフレッシュしたことに応答して、トークンストアは、リフレッシュされた第2の認証トークン、およびリフレッシュされた認証トークンを第1の認証トークンに関連付ける参照を格納することができる。場合によっては、第2の認証トークンをリフレッシュすることは、エンタープライズアイデンティティプロバイダサーバに、リクエストを連携アイデンティティプロバイダサーバに送信させることができ、連携アイデンティティプロバイダサーバは、リフレッシュされた認証トークンを生成することができる。さらに、エンタープライズアイデンティティプロバイダサーバは、リフレッシュされた認証トークンを連携アイデンティティプロバイダサーバから受信することができ、トークンストアを、リフレッシュされた認証トークン、およびリフレッシュされた認証トークンを第1の認証トークンに関連付ける参照で更新することができる。その結果、エンタープライズアイデンティティプロバイダサーバは、トークンストアから第2の認証トークンを、第2の認証トークンを第1の認証トークンに関連付ける参照に基づいて後で取り出すことができる。
場合によっては、エンタープライズアイデンティティプロバイダサーバは、サードパーティシステムにより供給される1つ以上のリソースに連携アイデンティティサービスを使用してアクセスするためのリクエストを、エンタープライズサーバから受信することができる。このようなことから、エンタープライズアイデンティティプロバイダサーバは、リクエストをエンタープライズサーバから、連携アイデンティティプロバイダサーバにより供給される連携アイデンティティサービスにリダイレクトすることができる。
これらの態様および追加の態様は、以下にさらに詳細に説明される本開示の恩恵を受けることにより理解されるであろう。
本明細書において説明される態様、および態様の利点のより完全な理解は、以下の説明を、添付の図面を考慮して参照することにより得られ、添付の図面では、同様の参照番号は同様の特徴を示している。
本明細書において説明される1つ以上の例示的な態様に従って使用することができる例示的なコンピュータシステムアーキテクチャを示す。 本明細書において説明される1つ以上の例示的な態様に従って使用することができる例示的なリモートアクセスシステムアーキテクチャを示す。 本明細書において説明される1つ以上の例示的な態様に従って使用することができる例示的な仮想化(ハイパーバイザ)システムアーキテクチャを示す。 本明細書において説明される1つ以上の例示的な態様に従って使用することができる例示的なクラウドベースシステムアーキテクチャを示す。 例示的なエンタープライズモビリティ管理システムを示す。 別の例示的なエンタープライズモビリティ管理システムを示す。 本明細書において説明される1つ以上の例示的な態様による連携ログオンプロバイダの依存パーティへのシングルサインオンを拡張する例示的なコンピューティング環境を示す。 本明細書において説明される1つ以上の例示的な態様による連携ログオンプロバイダの依存パーティへのシングルサインオンを拡張する例示的なイベントシーケンスを示す。 本明細書において説明される1つ以上の例示的な態様による連携ログオンプロバイダの依存パーティへのシングルサインオンを拡張する例示的なイベントシーケンスを示す。 本明細書において説明される1つ以上の例示的な態様による連携ログオンプロバイダの依存パーティへのシングルサインオンを拡張する例示的なイベントシーケンスを示す。 本明細書において説明される1つ以上の例示的な態様による連携ログオンプロバイダの依存パーティへのシングルサインオンを拡張する例示的なイベントシーケンスを示す。 本明細書において説明される1つ以上の例示的な態様による連携ログオンプロバイダの依存パーティへのシングルサインオンを拡張する例示的な方法を示す。
様々な実施形態の以下の説明では、上に特定され、本明細書の一部を形成し、本明細書において説明される態様を実施することができる様々な実施形態が例示として示される添付の図面を参照する。本明細書において説明される範囲から逸脱することなく、他の実施形態を利用することができ、構造的および機能的な変更を行うことができることを理解されたい。様々な態様は、他の実施形態を可能とし、様々な異なる方法で実施または実行され得る。
本明細書において使用される表現および専門用語は、説明の目的のためであり、限定としてみなされてはならないことを理解されたい。限定としてみなされるのではなく、本明細書において使用される語句および用語には、語句および用語の最も広い解釈および意味が与えられるべきである。「含む(including)」および「備える(comprising)」およびこれらの用語の変形の使用は、その後に列挙されるアイテムおよびアイテムの等価物、ならびに追加アイテムおよび追加アイテムの等価物を包含することを意味している。「取り付けられる」、「接続される」、「連結される」、「配置される」、「係合する」という用語、および類似の用語の使用は、取り付け、接続、連結、配置、および係合が直接行われる、および間接的に行われる、の両方を含むことを意味している。
コンピューティングアーキテクチャ
コンピュータソフトウェア、ハードウェア、およびネットワークは、とりわけスタンドアロン環境、ネットワーク接続環境、リモートアクセス(別名、リモートデスクトップ)環境、仮想化環境、および/またはクラウドベース環境を含む様々な異なるシステム環境で利用することができる。図1は、スタンドアロン環境および/またはネットワーク接続環境で、本明細書において説明される1つ以上の例示的な態様を実施するために使用することができるシステムアーキテクチャおよびデータ処理デバイスの1つの例を示している。様々なネットワークノード103、105、107、および109は、インターネットのようなワイドエリアネットワーク(WAN)101を介して相互接続することができる。プライベートイントラネット、コーポレートネットワーク、ローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、無線ネットワーク、パーソナルネットワーク(PAN)などを含む、他のネットワークをさらに使用するか、あるいは使用することができる。ネットワーク101は例示目的であり、より少ない、または追加のコンピュータネットワークに置き換えることができる。ローカルエリアネットワーク133は、任意の既知のLANトポロジのうちの1つ以上のLANトポロジを有することができ、イーサネット(登録商標)のような様々な異なるプロトコルのうちの1つ以上のプロトコルを使用することができる。デバイス103、105、107、109および他のデバイス(図示せず)は、ネットワークのうちの1つ以上のネットワークに、ツイストペアワイヤ、同軸ケーブル、光ファイバ、電波、または他の通信媒体を介して接続することができる。
本明細書において使用され、図面に表示される「ネットワーク」という用語は、リモートストレージデバイスが互いに1つ以上の通信経路を介して連結されるシステムを指すだけでなく、ストレージ機能を有するこのようなシステムに適宜連結することができるスタンドアロンデバイスを指している。したがって、「ネットワーク」という用語は、「物理ネットワーク」だけでなく、全ての物理ネットワークにわたって存在する−シングルエンティティに帰属する−データにより構成される「コンテンツネットワーク」も含む。
コンポーネントは、データサーバ103、ウェブサーバ105、およびクライアントコンピュータ107、109を含むことができる。データサーバ103は、データベースおよび制御ソフトウェアの全体アクセス、制御、および管理を可能にして、本明細書において説明される1つ以上の例示的な態様を実施することができる。データサーバ103は、ウェブサーバ105に接続することができ、ウェブサーバ105を介して、ユーザは、リクエストに応じてデータとのインタラクションを行って、データを取得することができる。あるいは、データサーバ103は、ウェブサーバ自体として機能して、インターネットに直接接続されてもよい。データサーバ103は、ウェブサーバ105にローカルエリアネットワーク133、ワイドエリアネットワーク101(例えば、インターネット)を介して直接または間接接続により、または他の所定のネットワークを介して接続することができる。ユーザは、データサーバ103とのインタラクションを、リモートコンピュータ107、109を使用して、例えばウェブブラウザを使用して行ってデータサーバ103に、ウェブサーバ105によりホストされる1つ以上の公開ウェブサイトを介して接続することができる。クライアントコンピュータ107、109は、データサーバ103と連携して使用して、データサーバに格納されているデータにアクセスすることができる、または他の目的に使用することができる。例えば、クライアントデバイス107から、ユーザはウェブサーバ105に、この技術分野で知られているインターネットブラウザを使用してアクセスすることができる、またはウェブサーバ105および/またはデータサーバ103とコンピュータネットワーク(インターネットのような)を介して通信するソフトウェアアプリケーションを実行することによりアクセスすることができる。
サーバおよびアプリケーションは、同じ物理マシンで組み合わせることができ、個別の仮想アドレスまたは論理アドレスを保持することができる、または個別の物理マシンに常駐させることができる。図1は、使用することができるネットワークアーキテクチャのほんの一例を示しているに過ぎず、当業者であれば、本明細書においてさらに説明されるように、使用される特定のネットワークアーキテクチャおよびデータ処理デバイスは、変えることができ、これらのデバイスが提供する機能を補助するものであることを理解できるであろう。例えば、ウェブサーバ105およびデータサーバ103により供給されるサービスは、シングルサーバで組み合わせることができる。
各コンポーネント103、105、107、109は、任意のタイプの既知のコンピュータ、サーバ、またはデータ処理デバイスとすることができる。データサーバ103は、例えばデータサーバ103の全体動作を制御するプロセッサ111を含むことができる。データサーバ103は、ランダムアクセスメモリ(RAM)113、リードオンリーメモリ(ROM)115、ネットワークインターフェース117、入力/出力インターフェース119(例えば、キーボード、マウス、ディスプレイ、プリンタなど)、およびメモリ121をさらに含むことができる。入力/出力(I/O)119は、データまたはファイルを読み取る、書き込む、表示する、および/または印刷する様々なインターフェースユニットおよびドライブを含むことができる。メモリ121は、データ処理デバイス103の全体動作を制御するオペレーティングシステムソフトウェア123、データサーバ103に指示して本明細書において説明される態様を実施させる制御ロジック125、および本明細書において説明される態様と連携して使用することができない、または使用することができない可能性がある補助機能、サポート機能、および/または他の機能を供給する他のアプリケーションソフトウェア127をさらに格納することができる。制御ロジックは、本明細書においては、データサーバソフトウェア125と表記することもできる。データサーバソフトウェアの機能は、制御ロジックにコード化されたルールに基づいて自動的に行われる操作もしくは判断、ユーザがシステムへの入力を行うことにより手動で行われる操作もしくは判断を指すことができる、および/またはユーザ入力(例えば、クエリ、データ更新など)に基づいた自動処理の組み合わせを指すことができる。
メモリ121は、第1のデータベース129および第2のデータベース131を含む、本明細書において説明される1つ以上の態様を実施するために使用されるデータを格納することもできる。いくつかの実施形態では、第1のデータベースは、第2のデータベースを含むことができる(例えば、個別のテーブル、レポートなどとして)。すなわち、情報は、シングルデータベースに格納することができる、またはシステム設計に応じて、異なる論理データベース、仮想データベース、もしくは物理データベースに分離することができる。デバイス105、107、および109は、デバイス103に関して説明されるように、同様の、または異なるアーキテクチャを有することができる。当業者であれば、本明細書において説明されるデータ処理デバイス103(または、デバイス105、107、または109)の機能は、例えば複数のデータ処理デバイスにわたって分散させて処理負荷を複数のコンピュータにわたって分散させ、トランザクションを地理的位置、ユーザアクセスレベル、サービス品質(QoS)などに基づいて分離することができることを理解するであろう。
1つ以上の態様は、コンピュータ使用可能もしくは読み取り可能なデータで具体化することができる、および/または本明細書に記載されるように、1つ以上のコンピュータもしくは他のデバイスにより実行される、1つ以上のプログラムモジュール内のようなコンピュータ実行可能命令で具体化することができる。一般に、プログラムモジュールは、コンピュータまたは他のデバイスのプロセッサにより実行されると、特定のタスクを実行する、または特定の抽象データ型を実現するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。モジュールは、実行するために引き続きコンパイルされるソースコードプログラム言語で記述することができるか、またはHyperText Markup Language(ハイパーテキストマークアップ言語:HTML)またはExtensible Markup Language(拡張マークアップ言語:XML)のような(これらには限定されない)スクリプト言語で記述することができる。コンピュータ実行可能命令は、不揮発性ストレージデバイスのようなコンピュータ可読媒体に格納することができる。ハードディスク、CD−ROM、光ストレージデバイス、磁気ストレージデバイス、および/またはこれらの任意の組み合わせを含む任意の適切なコンピュータ可読記憶媒体を利用することができる。また、本明細書において説明されるデータまたはイベントを表わす様々な伝送(非記憶)媒体は、発信元と宛先との間で、金属ワイヤ、光ファイバ、および/または無線伝送媒体(例えば、空気および/または空間)のような信号伝送媒体内を移動する電磁波の形態で転送することができる。本明細書において説明される様々な態様は、方法、データ処理システム、またはコンピュータプログラム製品として具体化することができる。したがって、様々な機能は、集積回路、フィールドプログラマブルゲートアレイ(FPGA)などのようなソフトウェア、ファームウェア、および/またはハードウェアもしくはハードウェア等価物で全体的もしくは部分的に具体化することができる。特定のデータ構造を使用して、本明細書において説明される1つ以上の態様をより効果的に実施することができ、このようなデータ構造は、本明細書において説明されるコンピュータ実行可能命令およびコンピュータ使用可能データの範囲に収まると考えられる。
図2をさらに参照すると、本明細書において説明される1つ以上の態様は、リモートアクセス環境で実施することができる。図2は、コンピューティングデバイス201を、本明細書において説明される1つ以上の例示的な態様に従って使用することができる例示的なコンピューティング環境200に含む例示的なシステムアーキテクチャを示している。コンピューティングデバイス201は、仮想マシンをクライアントアクセスデバイスに関して実現するように構成されるシングルサーバデスクトップ仮想化システムまたはマルチサーバデスクトップ仮想化システム(例えば、リモートアクセスシステムまたはクラウドシステム)のサーバ206aとして使用することができる。コンピューティングデバイス201は、サーバ、およびRAM205、ROM207、入力/出力(I/O)モジュール209、およびメモリ215を含むサーバに関連するコンポーネントの全体動作を制御するプロセッサ203を有することができる。
I/Oモジュール209は、コンピューティングデバイス201のユーザが入力を行うことができるマウス、キーパッド、タッチスクリーン、スキャナ、光学式読み取り装置、および/またはスタイラス(または、他の入力デバイス(複数可))を含むことができ、オーディオ出力を供給するスピーカのうちの1つ以上のスピーカと、テキスト出力、オーディオビジュアル出力、および/またはグラフィカル出力を供給するビデオ表示デバイスのうちの1つ以上のビデオ表示デバイスと、をさらに含むことができる。ソフトウェアは、メモリ215内および/または他のストレージ内に格納することができ、命令をプロセッサ203に供給してコンピューティングデバイス201を専用コンピューティングデバイスに構成して、本明細書において説明される様々な機能を実行することができる。例えば、メモリ215は、オペレーティングシステム217、アプリケーションプログラム219、および関連するデータベース221のような、コンピューティングデバイス201により使用されるソフトウェアを格納することができる。
コンピューティングデバイス201は、端末240(クライアントデバイスとも表記される)のような1つ以上のリモートコンピュータとの接続をサポートするネットワーク接続環境で動作することができる。端末240は、コンピューティングデバイス103または201に関して上に説明した要素の多くの要素、または全ての要素を含むパーソナルコンピュータ、モバイルデバイス、ラップトップコンピュータ、タブレット、またはサーバとすることができる。図2に示すネットワーク接続は、ローカルエリアネットワーク(LAN)225およびワイドエリアネットワーク(WAN)229を含むが、他のネットワークを含むこともできる。LANネットワーキング環境で使用される場合、コンピューティングデバイス201は、LAN225にネットワークインターフェースまたはアダプター223を介して接続することができる。WANネットワーキング環境で使用される場合、コンピューティングデバイス201は、コンピュータネットワーク230(例えば、インターネット)のようなWAN229を介して通信を確立するモデム227または他のワイドエリアネットワークインターフェースを含むことができる。図示のネットワーク接続は例示であり、コンピュータ間の通信リンクを確立する他の手段を使用できることを理解されるだろう。コンピューティングデバイス201および/または端末240は、バッテリ、スピーカ、およびアンテナ(図示せず)のような様々な他のコンポーネントを含むモバイル端末(例えば、携帯電話、スマートフォン、携帯情報端末(PDA)、ノートブックなど)とすることもできる。
本明細書において説明される態様は、多数の他の汎用または専用コンピューティングシステム環境または構成で動作することもできる。本明細書において説明される態様に使用されるために適切とすることができる他のコンピューティングシステム、環境、および/または構成の例は、これらには限定されないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラマブルコンシューマエレクトロニクス、ネットワークパーソナルコンピュータ(PC)、ミニコンピュータ、メインフレームコンピュータ、上記システムまたはデバイスのいずれかを含む分散コンピューティング環境などを含む。
図2に示すように、1つ以上のクライアントデバイス240は、1つ以上のサーバ206a〜206n(本明細書では、「サーバ(複数可)206」と総称される)と通信することができる。1つの実施形態では、コンピューティング環境200は、サーバ(複数可)206とクライアントマシン(複数可)240との間に設置されるネットワークアプライアンスを含むことができる。ネットワークアプライアンスは、クライアント/サーバ接続を管理することができ、いくつかの場合では、クライアント接続の負荷を複数のバックエンドサーバ206の間でバランスさせることができる。
クライアントマシン(複数可)240は、いくつかの実施形態では、シングルクライアントマシン240またはシングルクライアントマシングループ240と表記することができるのに対し、サーバ(複数可)206は、シングルサーバ206またはシングルサーバグループ206と表記することができる。1つの実施形態では、シングルクライアントマシン240が、1つよりも多くのサーバ206と通信するのに対し、別の実施形態では、シングルサーバ206は、1つよりも多くのクライアントマシン240と通信する。さらに別の実施形態では、シングルクライアントマシン240はシングルサーバ206と通信する。
クライアントマシン240は、いくつかの実施形態では、以下の非網羅的な用語:クライアントマシン(複数可);クライアント(複数可);クライアントコンピュータ(複数可);クライアントデバイス(複数可);クライアントコンピューティングデバイス(複数可);ローカルマシン;リモートマシン;クライアントノード(複数可);エンドポイント(複数可);またはエンドポイントノード(複数可)のいずれか1つの用語で記述することができる。サーバ206は、いくつかの実施形態では、以下の非網羅的な用語:サーバ(複数可);ローカルマシン;リモートマシン;サーバファーム(複数可)、またはホストコンピューティングデバイス(複数可)のいずれか1つの用語で記述することができる。
1つの実施形態では、クライアントマシン240は仮想マシンとすることができる。仮想マシンは、任意の仮想マシンとすることができるのに対し、いくつかの実施形態では、仮想マシンはタイプ1もしくはタイプ2のハイパーバイザ、例えばCitrix Systems、IBM、VMwareにより開発されたハイパーバイザで管理される、または任意の他のハイパーバイザで管理される任意の仮想マシンとすることができる。いくつかの態様では、仮想マシンは、ハイパーバイザで管理することができるのに対し、他の態様では、仮想マシンは、サーバ206で実行されるハイパーバイザまたはクライアント240で実行されるハイパーバイザで管理することができる。
いくつかの実施形態は、遠く離れたサーバ206で実行される、または遠く離れて位置する他のマシンで実行されるアプリケーションにより生成されるアプリケーション出力を表示するクライアントデバイス240含む。これらの実施形態では、クライアントデバイス240は、仮想マシンレシーバプログラムまたはアプリケーションを実行して出力を、アプリケーションウィンドウ、ブラウザ、または他の出力ウィンドウに表示することができる。1つの例では、アプリケーションがデスクトップであるのに対し、他の例では、アプリケーションはデスクトップを生成または表示するアプリケーションである。デスクトップは、オペレーティングシステムのインスタンスのユーザインターフェースを供給するグラフィカルシェルを含むことができ、当該インスタンスにローカルアプリケーションおよび/またはリモートアプリケーションを統合することができる。本明細書において使用されるアプリケーションは、オペレーティングシステム(および、任意であるが、さらにはデスクトップ)のインスタンスを読み込んだ後に実行されるプログラムである。
サーバ206は、いくつかの実施形態では、リモートプレゼンテーションプロトコルまたは他のプログラムを使用してデータを、クライアントで実行されるシンクライアントアプリケーションまたはリモートディスプレイアプリケーションに送信して、サーバ206で実行されるアプリケーションにより生成されるディスプレイ出力を表示する。シンクライアントプロトコルまたはリモートディスプレイプロトコルは、以下の非網羅的な一連のプロトコル:フロリダ州Ft.LauderdaleのCitrix Systems、Inc.により開発されたIndependent Computing Architecture(ICA)プロトコル、またはワシントン州RedmondのMicrosoft Corporation製のRemote Desktop Protocol(RDP)のうちのいずれか1つのプロトコルとすることができる。
リモートコンピューティング環境は、1つよりも多くのサーバ206a〜206nを含むことができ、サーバ206a〜206nを、例えばサーバファーム206にクラウドコンピューティング環境で論理的にまとめてグループ化することができる。サーバファーム206は、論理的にまとめてグループ化されている状態で地理的に分散されるサーバ206、または論理的にまとめてグループ化されている状態で互いに近接して配置されるサーバ206を含むことができる。サーバファーム206内に地理的に分散されたサーバ206a〜206nは、いくつかの実施形態では、WAN(ワイド)、MAN(メトロポリタン)、またはLAN(ローカル)を使用して通信することができ、異なる地理的地域は:異なる大陸;大陸の異なる地域;異なる国;異なる州;異なる都市;異なるキャンパス;異なる部屋;または前述の地理的な場所の任意の組み合わせとして特徴付けることができる。いくつかの実施形態では、サーバファーム206をシングルエンティティとして管理することができるのに対し、他の実施形態では、サーバファーム206は、複数のサーバファームを含むことができる。
いくつかの実施形態では、サーバファームは、実質的に同様のタイプのオペレーティングシステムプラットフォーム(例えば、WINDOWS(登録商標)、UNIX(登録商標)、LINUX、iOS、ANDROID(登録商標)、SYMBIANなど)を実行するサーバ206を含むことができる。他の実施形態では、サーバファーム206は、第1のタイプのオペレーティングシステムプラットフォームを実行する第1のグループの1つ以上のサーバと、第2のタイプのオペレーティングシステムプラットフォームを実行する第2のグループの1つ以上のサーバと、を含むことができる。
サーバ206は、必要に応じて任意のタイプのサーバとして、例えばファイルサーバ、アプリケーションサーバ、ウェブサーバ、プロキシサーバ、アプライアンス、ネットワークアプライアンス、ゲートウェイ、アプリケーションゲートウェイ、ゲートウェイサーバ、仮想化サーバ、展開サーバ、Secure Sockets Layer(SSL)VPNサーバ、ファイアウォール、ウェブサーバ、アプリケーションサーバとして、またはマスターアプリケーションサーバ、アクティブディレクトリを実行するサーバ、またはファイアウォール機能、アプリケーション機能、またはロードバランス機能を実現するアプリケーションアクセラレーションプログラムを実行するサーバとして構成することができる。他のサーバタイプを使用してもよい。
いくつかの実施形態は第1のサーバ206aを含み、第1のサーバ206aは、リクエストをクライアントマシン240から受信し、リクエストを第2のサーバ206b(図示せず)に転送し、クライアントマシン240により生成されるリクエストに第2のサーバ206b(図示せず)からの応答で応答する。第1のサーバ206aは、クライアントマシン240で利用可能であるとして列挙されたアプリケーション、ならびに列挙されたアプリケーション内に特定されるアプリケーションをホストするアプリケーションサーバ206に関連するアドレス情報を取得することができる。次に、第1のサーバ206aは、クライアントのリクエストに対する応答を、ウェブインターフェースを使用して提示することができ、クライアント240と直接通信してクライアント240に、特定されたアプリケーションへのアクセスを与えることができる。1つ以上のクライアント240および/または1つ以上のサーバ206はデータを、ネットワーク230、例えばネットワーク101を介して送信することができる。
図3は、例示的なデスクトップ仮想化システムの高位アーキテクチャを示している。図示のように、デスクトップ仮想化システムは、仮想デスクトップおよび/または仮想アプリケーションを1つ以上のクライアントアクセスデバイス240に供給するように構成される少なくとも1つの仮想化サーバ301を含むシングルサーバシステムまたはマルチサーバシステム、もしくはクラウドシステムとすることができる。本明細書において使用されるように、デスクトップとは、1つ以上のアプリケーションをホストおよび/または実行することができるグラフィカル環境またはグラフィカル空間を指している。デスクトップは、オペレーティングシステムのインスタンスのユーザインターフェースを供給するグラフィカルシェルを含むことができ、当該インスタンスに、ローカルアプリケーションおよび/またはリモートアプリケーションを統合することができる。アプリケーションは、オペレーティングシステム(および、任意であるが、さらにはデスクトップ)のインスタンスを読み込んだ後に実行されるプログラムを含むことができる。オペレーティングシステムの各インスタンスは、物理的(例えば、デバイスごとに1つのオペレーティングシステム)または仮想(例えば、シングルデバイスで実行されるOSの多くのインスタンス)とすることができる。各アプリケーションは、ローカルデバイスで実行することができる、または遠く離れて位置するデバイスで(例えば、リモートに)実行することができる。
コンピュータデバイス301は、仮想化環境の仮想化サーバとして、例えばシングルサーバ、マルチサーバ、またはクラウドコンピューティング環境として構成することができる。図3に示す仮想化サーバ301は、図2に示すサーバ206の1つ以上の実施形態により、または他の既知のコンピューティングデバイスにより展開することができる、および/または実現することができる。仮想化サーバ301に含まれるのは、1つ以上の物理ディスク304、1つ以上の物理デバイス306、1つ以上の物理プロセッサ308、および1つ以上の物理メモリ316を含むことができるハードウェアレイヤである。いくつかの実施形態では、ファームウェア312は、物理メモリ316のメモリ素子内に格納することができ、物理プロセッサ308のうちの1つ以上の物理プロセッサにより実行することができる。仮想化サーバ301は、物理メモリ316のメモリ素子内に格納することができ、物理プロセッサ308のうちの1つ以上の物理プロセッサにより実行することができるオペレーティングシステム314をさらに含むことができる。さらには、ハイパーバイザ302は、物理メモリ316のメモリ素子内に格納することができ、物理プロセッサ308のうちの1つ以上の物理プロセッサにより実行することができる。
物理プロセッサ308のうちの1つ以上の物理プロセッサで実行されるのは、1つ以上の仮想マシン332A〜332C(総称して332)とすることができる。各仮想マシン332は、仮想ディスク326A〜326Cおよび仮想プロセッサ328A〜328Cを有することができる。いくつかの実施形態では、第1の仮想マシン332Aは、仮想プロセッサ328Aを使用して、ツールスタック324を含む制御プログラム320を実行することができる。制御プログラム320は、制御仮想マシン、Dom0、Domain0、またはシステム管理および/または制御に使用される他の仮想マシンと表記することができる。いくつかの実施形態では、1つ以上の仮想マシン332B〜332Cは、仮想プロセッサ328B〜328Cを使用して、ゲストオペレーティングシステム330A〜330Bを実行することができる。
仮想化サーバ301は、仮想化サーバ301と通信する1つ以上のハードウェアを備えるハードウェアレイヤ310を含むことができる。いくつかの実施形態では、ハードウェアレイヤ310は、1つ以上の物理ディスク304、1つ以上の物理デバイス306、1つ以上の物理プロセッサ308、および1つ以上の物理メモリ316を含むことができる。物理コンポーネント304、306、308、および316は、例えば上に説明したコンポーネントのいずれかのコンポーネントを含むことができる。物理デバイス306は、例えばネットワークインターフェースカード、ビデオカード、キーボード、マウス、入力デバイス、モニタ、ディスプレイデバイス、スピーカ、光ドライブ、ストレージデバイス、ユニバーサルシリアルバス接続、プリンタ、スキャナ、ネットワーク要素(例えば、ルータ、ファイアウォール、ネットワークアドレストランスレータ、ロードバランサ、仮想プライベートネットワーク(VPN)ゲートウェイ、Dynamic Host Configuration Protocol(DHCP)ルータなど)、または仮想化サーバ301に接続される、または仮想化サーバ301と通信する任意のデバイスを含むことができる。ハードウェアレイヤ310の物理メモリ316は、任意のタイプのメモリを含むことができる。物理メモリ316は、データを格納することができ、いくつかの実施形態では、1つ以上のプログラム、または実行可能命令セットを格納することができる。図3は、ファームウェア312が仮想化サーバ301の物理メモリ316内に格納される実施形態を示している。物理メモリ316に格納されるプログラムまたは実行可能命令は、仮想化サーバ301の1つ以上のプロセッサ308により実行することができる。
仮想化サーバ301は、ハイパーバイザ302を含むことむできる。いくつかの実施形態では、ハイパーバイザ302は、仮想化サーバ301のプロセッサ308により実行されて、任意の数の仮想マシン332を生成および管理するプログラムとすることができる。ハイパーバイザ302は仮想マシンモニタまたはプラットフォーム仮想化ソフトウェアと表記することができる。いくつかの実施形態では、ハイパーバイザ302は、コンピューティングマシンで実行される仮想マシンを監視する実行可能命令およびハードウェアの任意の組み合わせとすることができる。ハイパーバイザ302は、ハイパーバイザが、仮想化サーバ301で実行されるオペレーティングシステム314内で実行されるタイプ2のハイパーバイザとすることができる。仮想マシンはしたがって、ハイパーバイザよりも高いレベルで実行することができる。いくつかの実施形態では、タイプ2のハイパーバイザは、ユーザのオペレーティングシステムの状況で実行されて、タイプ2のハイパーバイザがユーザのオペレーティングシステムとのインタラクションを行うことができる。他の実施形態では、仮想化環境内の1つ以上の仮想化サーバ301は代わりに、タイプ1のハイパーバイザ(図示せず)を含むことができる。タイプ1のハイパーバイザは、仮想化サーバ301で、ハードウェアレイヤ310内のハードウェアおよびリソースに直接アクセスすることにより実行することができる。すなわち、タイプ2のハイパーバイザ302は、図示のように、システムリソースにホストオペレーティングシステム314を介してアクセスするが、タイプ1のハイパーバイザは、全てのシステムリソースにホストオペレーティングシステム314を経由することなく直接アクセスすることができる。タイプ1のハイパーバイザは、仮想化サーバ301の1つ以上の物理プロセッサ308で直接実行することができ、物理メモリ316に格納されるプログラムデータを含むことができる。
ハイパーバイザ302は、いくつかの実施形態では、仮想リソースを、仮想マシン332で実行されるオペレーティングシステム330または制御プログラム320に任意の方法で供給して、システムリソースに直接アクセスするオペレーティングシステム330または制御プログラム320をシミュレートすることができる。システムリソースは、これらには限定されないが、物理デバイス306、物理ディスク304、物理プロセッサ308、物理メモリ316、および仮想化サーバ301のハードウェアレイヤ310に含まれる任意の他のコンポーネントを含むことができる。ハイパーバイザ302を使用して、仮想ハードウェアをエミュレートすることができる、物理ハードウェアを分割することができる、物理ハードウェアを仮想化することができる、および/またはコンピューティング環境へのアクセスを可能にする仮想マシンを実行することができる。さらに他の実施形態では、ハイパーバイザ302は、仮想化サーバ301で実行される仮想マシン332のプロセッサスケジューリングおよびメモリ分割を制御することができる。ハイパーバイザ302は、カリフォルニア州Palo AltoのVMWare,Inc.製のハイパーバイザ、製品の開発がオープンソースXenProject.orgコミュニティにより監視されるオープンソース製品であるXENPROJECTハイパーバイザ、またはマイクロソフトなどが提供するHyperV、VirtualServerまたは仮想PCハイパーバイザを含むことができる。いくつかの実施形態では、仮想化サーバ301は、仮想マシンプラットフォームを生成するハイパーバイザ302を実行することができ、仮想マシンプラットフォームで、ゲストオペレーティングシステムを実行することができる。これらの実施形態では、仮想化サーバ301は、ホストサーバと表記することができる。このような仮想化サーバの例が、フロリダ州Fort LauderdaleのCitrix Systems,Inc.が提供するXENSERVERである。
ハイパーバイザ302は、ゲストオペレーティングシステム330が実行される1つ以上の仮想マシン332B〜332C(総称して332)を生成することができる。いくつかの実施形態では、ハイパーバイザ302は仮想マシン画像を読み込んで仮想マシン332を生成することができる。他の実施形態では、ハイパーバイザ302は、ゲストオペレーティングシステム330を仮想マシン332内で実行することができる。さらに他の実施形態では、仮想マシン332は、ゲストオペレーティングシステム330を実行することができる。
仮想マシン332を生成する他に、ハイパーバイザ302は、少なくとも1つの仮想マシン332の実行を制御することができる。他の実施形態では、ハイパーバイザ302は、少なくとも1つの仮想マシン332を、仮想化サーバ301により供給される少なくとも1つのハードウェアリソース(例えば、ハードウェアレイヤ310内で利用可能な任意のハードウェアリソース)を抽象化して提示することができる。他の実施形態では、ハイパーバイザ302は、仮想マシン332が仮想化サーバ301内で利用可能な物理プロセッサ308にアクセスする方法を制御することができる。物理プロセッサ308へのアクセスを制御することは、仮想マシン332がプロセッサ308にアクセスする必要があるかどうかを判断することと、物理プロセッサ機能が仮想マシン332に提示される過程を判断することと、を含むことができる。
図3に示すように、仮想化サーバ301は、1つ以上の仮想マシン332をホストまたは実行することができる。仮想マシン332は、プロセッサ308により実行されると、物理コンピュータの動作を模倣して仮想マシン332が物理コンピューティングデバイスのようにプログラムおよびプロセスを実行することができる実行可能命令セットである。図3は、仮想化サーバ301が3つの仮想マシン332をホストする実施形態を示しているが、他の実施形態では、仮想化サーバ301は任意の数の仮想マシン332をホストすることができる。ハイパーバイザ302は、いくつかの実施形態では、各仮想マシン332に、物理ハードウェア、メモリ、プロセッサ、および当該仮想マシン332で利用可能な他のシステムリソースの固有の仮想ビューを供給することができる。いくつかの実施形態では、固有の仮想ビューは、仮想マシンパーミッションのうちの1つ以上の仮想マシンパーミッション、ポリシーエンジンを1つ以上の仮想マシン識別子に適用すること、ユーザが仮想マシンにアクセスすること、アプリケーションが仮想マシンで実行されること、ネットワークに仮想マシンがアクセスすること、または任意の他の所望の基準に基づくことができる。例えば、ハイパーバイザ302は、1つ以上の非セキュア仮想マシン332および1つ以上のセキュア仮想マシン332を生成することができる。非セキュア仮想マシン332は、セキュア仮想マシン332に許可してアクセスさせることができるリソース、ハードウェア、メモリロケーション、およびプログラムにアクセスするのを防止することができる。他の実施形態では、ハイパーバイザ302は、各仮想マシン332に、物理ハードウェア、メモリ、プロセッサ、および仮想マシン332で利用可能な他のシステムリソースの実質的に同様の仮想ビューを供給することができる。
各仮想マシン332は、仮想ディスク326A〜326C(総称して326)および仮想プロセッサ328A〜328C(総称して328)を含むことができる。仮想ディスク326は、いくつかの実施形態では、仮想化サーバ301の1つ以上の物理ディスク304の仮想化ビューである、または仮想化サーバ301の1つ以上の物理ディスク304の一部である。物理ディスク304の仮想化ビューは、ハイパーバイザ302により生成、供給、および管理することができる。いくつかの実施形態では、ハイパーバイザ302は、各仮想マシン332に物理ディスク304の固有ビューを供給する。このようなことから、これらの実施形態では、各仮想マシン332に含まれる特定の仮想ディスク326は、他の仮想ディスク326と比較すると固有であり得る。
仮想プロセッサ328は、仮想化サーバ301の1つ以上の物理プロセッサ308の仮想化ビューとすることができる。いくつかの実施形態では、物理プロセッサ308の仮想化ビューは、ハイパーバイザ302により生成、供給、および管理することができる。いくつかの実施形態では、仮想プロセッサ328は、少なくとも1つの物理プロセッサ308の同じ特性の実質的に全てを有する。他の実施形態では、仮想プロセッサ308は、物理プロセッサ308の変形ビューを供給して、仮想プロセッサ328の特性のうちの少なくともいくつかの特性が、対応する物理プロセッサ308の特性とは異なるようにする。
図4をさらに参照すると、本明細書において説明されるいくつかの態様は、クラウドベース環境で実施することができる。図4は、クラウドコンピューティング環境(または、クラウドシステム)400の例を示している。図4から分かるように、クライアントコンピュータ411〜414は、クラウド管理サーバ410と通信して、クラウドシステムのコンピューティングリソース(例えば、ホストサーバ403a〜403b(本明細書では「ホストサーバ403」と総称される)、ストレージリソース404a〜404b(本明細書では、「ストレージリソース404」と総称される)、およびネットワークリソース405a〜405b(本明細書では「ネットワークリソース405」と総称される)にアクセスすることができる。
管理サーバ410は、1つ以上の物理サーバで実現することができる。管理サーバ410は、とりわけ、例えばフロリダ州Ft.LauderdaleのCitrix Systems,Inc.製のCLOUDPLATFORM、またはOPENSTACKを実行することができる。管理サーバ410は、クラウドハードウェアリソースおよびソフトウェアリソース、例えばホストコンピュータ403、データストレージデバイス404、およびネットワーキングデバイス405を含む様々なコンピューティングリソースを管理することができる。クラウドハードウェアリソースおよびソフトウェアリソースは、専用コンポーネントおよび/または公開コンポーネントを含むことができる。例えば、クラウドは、1つ以上の特定のカスタマーまたはクライアントコンピュータ411〜414により使用される、および/または専用ネットワークを介して使用される専用クラウドとして構成することができる。他の実施形態では、公開クラウドまたはハイブリッド公開−専用クラウドは、他のカスタマーによりオープンネットワークまたはハイブリッドネットワークを介して使用することができる。
管理サーバ410は、ユーザインターフェースを供給するように構成することができ、ユーザインターフェースを介して、クラウドオペレータおよびクラウドカスタマーが、クラウドシステム400とのインタラクションを行うことができる。例えば、管理サーバ410は、ユーザインターフェースを備える一連のアプリケーションプログラミングインターフェース(API)および/または1つ以上のクラウドオペレータコンソールアプリケーション(例えば、ウェブベースアプリケーションまたはスタンドアロンアプリケーション)を供給して、クラウドオペレータがクラウドリソースを管理し、仮想化レイヤを構成し、カスタマーアカウントを管理し、他のクラウド管理タスクを実行することができるようにする。また、管理サーバ410は、クラウドコンピューティングリクエスト、例えば仮想マシンをクラウド内で生成する、変更する、または破壊するためのリクエストをエンドユーザからクライアントコンピュータ411〜414を介して受信するように構成されるユーザインターフェースを備える一連のAPIおよび/または1つ以上のカスタマーコンソールアプリケーションを含むことができる。クライアントコンピュータ411〜414は、管理サーバ410にインターネットまたは所定の他の通信ネットワークを介して接続することができ、管理サーバ410により管理されるコンピューティングリソースのうちの1つ以上のコンピューティングリソースへのアクセスをリクエストすることができる。クライアントリクエストに応答して、管理サーバ410は、クラウドシステムのハードウェアレイヤの物理リソースをクライアントリクエストに基づいて選択およびプロビジョニングするように構成されるリソースマネージャを含むことができる。例えば、管理サーバ410およびクラウドシステムの追加コンポーネントは、仮想マシンおよび仮想マシンの動作環境(例えば、ハイパーバイザ、ストレージリソース、ネットワーク要素により提供されるサービスなど)をクライアントコンピュータ411〜414のカスタマーに関してネットワーク(例えば、インターネット)を介してプロビジョニング、生成、および管理して、カスタマーに計算リソース、データストレージサービス、ネットワーキング機能、およびコンピュータプラットフォームならびにアプリケーションサポートを供給するように構成することができる。また、クラウドシステムは、セキュリティシステム、開発環境、ユーザインターフェースなどを含む様々な特定のサービスを供給するように構成することができる。
特定のクライアント411〜414は、同じエンドユーザの代わりに、または同じ会社または組織に所属している異なるユーザの代わりに、仮想マシンを生成する関連する、例えば異なるクライアントコンピュータとすることができる他の例では、特定のクライアント411〜414は、異なる会社または組織に所属しているユーザのように無関係であるとすることができる。クライアントが無関係である場合、任意の1つのユーザの仮想マシンまたはストレージに関する情報は、他のユーザから隠すことができる。
ここで、クラウドコンピューティング環境の物理ハードウェアレイヤを参照すると、利用可能ゾーン401〜402(または、ゾーン)は、同じ場所に位置する一連の物理コンピューティングリソースを指すことができる。ゾーンは、コンピューティングリソースのクラウド全体で他のゾーンから地理的に離すことができる。例えば、ゾーン401はCalifornia(カリフォルニア)にある第1のクラウドデータセンターとすることができ、ゾーン402は、フロリダ州にある第2のクラウドデータセンターとすることができる。管理サーバ410は、利用可能ゾーンのうちの1つの利用可能ゾーンに、または別の場所に配置することができる。各ゾーンは、ゲートウェイを介してゾーンの外部にある管理サーバ410のようなデバイスとのインターフェースとなる内部ネットワークを含むことができる。クラウドのエンドユーザ(例えば、クライアント411〜414)は、ゾーンの間の違いを認識している、または認識していない可能性がある。例えば、エンドユーザは、指定された量のメモリ、処理能力、およびネットワーク機能を持つ仮想マシンの生成をリクエストすることができる。管理サーバ410は、ユーザのリクエストに応答することができ、リソースを割り当てて仮想マシンを、仮想マシンがゾーン401またはゾーン402のリソースを使用して生成されたかどうかをユーザが認識することなく生成することができる。他の例では、クラウドシステムによりエンドユーザは、仮想マシン(または、他のクラウドリソース)が特定のゾーン内で割り当てられる、またはゾーン内の特定のリソース403〜405に割り当てられるようにリクエストすることができる。
この例では、各ゾーン401〜402は、配列された様々な物理ハードウェアコンポーネント(または、コンピューティングリソース)403〜405、例えば物理ホスティングリソース(または、処理リソース)、物理ネットワークリソース、物理ストレージリソース、スイッチ、およびクラウドコンピューティングサービスをカスタマーに供給するために使用することができる追加ハードウェアリソースを含むことができる。クラウドゾーン401〜402内の物理ホスティングリソースは、上に説明した仮想化サーバ301のような1つ以上のコンピュータサーバ403を含むことができ、これらのコンピュータサーバは、仮想マシンインスタンスを生成およびホストするように構成することができる。クラウドゾーン401または402内の物理ネットワークリソースは、ファイアウォール、ネットワークアドレストランスレータ、ロードバランサ、仮想専用ネットワーク(VPN)ゲートウェイ、Dynamic Host Configuration Protocol(DHCP)ルータなどのようなネットワークサービスをクラウドカスタマーに供給するように構成されるハードウェアおよび/またはソフトウェアを含む1つ以上のネットワーク要素405(例えば、ネットワークサービスプロバイダ)を含むことができる。クラウドゾーン401〜402内のストレージリソースは、ストレージディスク(例えば、ソリッドステートドライブ(SSD)、磁気ハードディスクなど)および他のストレージデバイスを含むことができる。
また、図4に示す例示的なクラウドコンピューティング環境は、仮想マシンを生成および管理し、他のサービスをカスタマーにクラウド内の物理リソースを使用して供給するように構成される追加ハードウェアリソースおよび/またはソフトウェアリソースを有する仮想化レイヤ(例えば、図1〜図3に示すような)を含むことができる。仮想化レイヤは、図3で上に説明したハイパーバイザを、他のコンポーネントと一緒に含んで、ネットワーク仮想化、ストレージ仮想化などを行うことができる。仮想化レイヤは、物理リソースレイヤとは別のレイヤとすることができる、または同じハードウェアリソースおよび/またはソフトウェアリソースの所定部分または全てを物理リソースレイヤと共有することができる。例えば、仮想化レイヤは、物理コンピューティングリソースを備える仮想化サーバ403の各仮想化サーバにインストールされたハイパーバイザを含むことができる。あるいは、既知のクラウドシステム、例えばWINDOWS(登録商標) AZURE(ワシントン州RedmondのMicrosoft Corporation)、AMAZON EC2(ワシントン州SeattleのAmazon.com Inc.)、IBM BLUE CLOUD(ニューヨーク州ArmonkのIBM Corporation)などを使用することができる。
エンタープライズモビリティ管理アーキテクチャ
図5は、「Bring Your Own Device(自分のデバイスを持ち込む)」(BYOD)環境で使用されるエンタープライズモビリティ技術アーキテクチャ500を表わしている。このアーキテクチャにより、モバイルデバイス502のユーザは、モバイルデバイス502のエンタープライズリソースまたはパーソナルリソースの両方にアクセスすることができ、モバイルデバイス502をパーソナル用途に使用することができる。ユーザは、このようなエンタープライズリソース504またはエンタープライズサービス508に、ユーザにより購入されるモバイルデバイス502または企業からユーザに供給されるモバイルデバイス502を使用してアクセスすることができる。ユーザは、モバイルデバイス502をビジネス用途にのみ、またはビジネス用途およびパーソナル用途に利用することができる。モバイルデバイス502は、iOSオペレーティングシステム、Android(登録商標)オペレーティングシステムなどを実行することができる。企業は、モバイルデバイス502を管理するポリシーを実行するように選択することができる。ポリシーは、ファイアウォールまたはゲートウェイを介して実行されて、モバイルデバイス502を特定して、モバイルデバイス502のセキュリティを確保して、またはモバイルデバイス502のセキュリティを検証して、エンタープライズリソース(例えば、504および508)への選択的なアクセスまたはフルアクセスを行うことができるようにする。ポリシーは、モバイルデバイス管理ポリシー、モバイルアプリケーション管理ポリシー、モバイルデータ管理ポリシー、またはモバイルデバイスポリシー、アプリケーションポリシー、およびデータ管理ポリシーの組み合わせとすることができる。モバイルデバイス管理ポリシーのアプリケーションを介して管理されるモバイルデバイス502は、登録済みデバイスと表記することができる。
いくつかの実施形態では、モバイルデバイス502のオペレーティングシステムは、管理対象パーティション510および非管理対象パーティション512に分離することができます。管理対象パーティション510は、当該管理対象パーティションに適用されて、管理対象パーティション510で実行されるアプリケーションのセキュリティを確保して、管理対象パーティション510に格納されているデータのセキュリティを確保するポリシーを有することができる。管理対象パーティション510で実行されるアプリケーションは、セキュアアプリケーションとすることができる。他の実施形態では、全てのアプリケーションは、アプリケーションとは別に受信される一連の1つ以上のポリシーファイルに従って実行することができ、1つ以上のポリシーファイルは、1つ以上のセキュリティパラメータ、機能、リソース制限、および/またはアプリケーションがモバイルデバイスで実行されているときのモバイルデバイス管理システム502により強制される他のアクセス制御を定義する。アプリケーションのそれぞれのポリシーファイル(複数可)に従って動作することにより、各アプリケーションは、1つ以上の他のアプリケーションおよび/またはリソースとの通信を許可されるので、または制限されるので、仮想パーティションを生成することができる。このようなことから、本明細書において使用されるように、パーティションとは、メモリの物理的に分割された部分(物理パーティション)、メモリの論理的に分割された部分(論理パーティション)、および/または1つ以上のポリシーの強制の結果として生成される仮想パーティションおよび/または本明細書において説明される複数のアプリケーションにわたるポリシーファイル(仮想パーティション)を指すことができる。別の言い方をすれば、ポリシーを管理対象アプリケーションに強制することにより、これらのアプリケーションを、他の管理対象アプリケーションおよび信頼できるエンタープライズリソースとのみ通信することができるように制限することができるので、非管理対象アプリケーションおよびデバイスが通り抜けることができない仮想パーティションを生成することができる。
セキュアアプリケーションは、電子メールアプリケーション、ウェブブラウジングアプリケーション、ソフトウェアアズアサービス(software−as−a−service :SaaS)アクセスアプリケーション、Windows(登録商標) Applicationアクセスアプリケーションなどとすることができる。セキュアアプリケーションは、セキュアネイティブアプリケーション514、セキュアアプリケーションランチャー518により実行されるセキュアリモートアプリケーション522、セキュアアプリケーションランチャー518により実行される仮想化アプリケーション526などとすることができる。
セキュアネイティブアプリケーション514は、セキュアアプリケーションラッパー520でラップすることができる。セキュアアプリケーションラッパー520は、セキュアネイティブアプリケーション514がモバイルデバイス502で実行されると、モバイルデバイス502で実行される統合ポリシーを含むことができる。セキュアアプリケーションラッパー520は、モバイルデバイス502で実行されるセキュアネイティブアプリケーション514を、セキュアネイティブアプリケーション514が実行されるとリクエストされるタスクをセキュアネイティブアプリケーション514が完了させる必要がある企業でホストされるリソース(例えば、504および508)に向けるメタデータを含むことができる。セキュアアプリケーションランチャー518により実行されるセキュアリモートアプリケーション522は、セキュアアプリケーションランチャー518内で実行することができる。セキュアアプリケーションランチャー518により実行される仮想化アプリケーション526は、リソースをモバイルデバイス502、エンタープライズリソース504などで利用することができる。
セキュアアプリケーションランチャー518により実行される仮想化アプリケーション526によりモバイルデバイス502で使用されるリソースは、ユーザインタラクションリソース、処理リソースなどを含むことができる。ユーザインタラクションリソースを使用して、キーボード入力、マウス入力、カメラ入力、触覚入力、音声入力、視覚入力、ジェスチャ入力などを収集して送信することができる。処理リソースを使用して、ユーザインターフェース、エンタープライズリソース504から受信されるプロセスデータなどを提示することができる。セキュアアプリケーションランチャー518により実行される仮想化アプリケーション526によりエンタープライズリソース504で使用されるリソースは、ユーザインターフェース生成リソース、処理リソースなどを含むことができる。ユーザインターフェース生成リソースを使用して、ユーザインターフェースを組み付ける、ユーザインターフェースを変更する、ユーザインターフェースをリフレッシュするなどとすることができる。処理リソースを使用して、情報を生成する、情報を読み取る、情報を更新する、情報を消去するなどとすることができる。例えば、仮想化アプリケーション526は、グラフィカルユーザインターフェース(GUI)に関連するユーザインタラクションを記録し、ユーザインタラクションをサーバアプリケーションに伝達し、サーバアプリケーションがユーザインタラクションデータを、サーバで動作するアプリケーションの入力として使用することになる。このような構成では、企業は、サーバ側のアプリケーションだけでなく、アプリケーションに関連するデータ、ファイルなどを維持するように選択することができる。
企業は、いくつかのアプリケーションを、本明細書における原理に従って、これらのアプリケーションの安全を確保して、アプリケーションをモバイルデバイス502で展開することにより「mobilize(動かす)」ように選択することができるが、この構成は、特定のアプリケーションに関して選択することもできる。例えば、いくつかのアプリケーションは、モバイルデバイス502で使用されるために安全を確保することができるが、他のアプリケーションは、モバイルデバイス502で展開される準備が整っていないか、または展開されるためには適切ではない可能性があるので、企業は、展開前のアプリケーションへのモバイルユーザアクセスを仮想化技術により可能にするように選択することができる。別の例として、企業は、大きな複雑なデータ集合を備える大きな複雑なアプリケーション(例えば、資材リソース計画アプリケーション)を有することができ、モバイルデバイス502に関するアプリケーションをカスタマイズすることにより、企業がアプリケーションへのアクセスを仮想化技術により可能にするように選択することができることは非常に難しい、またはその他には、望ましくない。さらに別の例として、企業は、非常にセキュアなデータ(例えば、人事データ、顧客データ、エンジニアリングデータ)を維持するアプリケーションを有することができ、非常にセキュアなデータは、セキュアなモバイル環境に関しても機密性が非常に高いので、企業が仮想化技術を使用して、このようなアプリケーションおよびデータへのモバイルアクセスを許可するように選択することができると企業が考える可能性がある。
企業は、モバイルデバイス502の完全にセキュアな、完全に機能的なアプリケーションならびに仮想化アプリケーション526の両方を供給して、サーバ側でより適正に動作すると考えられるアプリケーションへのアクセスを許可するように選択することができる。1つの実施形態では、仮想化アプリケーション526は、モバイルデバイス502のいくつかのデータ、ファイルなどを、セキュアストレージロケーションのうちの1つのセキュアストレージロケーションに格納することができる。例えば、企業は、特定の情報をモバイルデバイス502に、他の情報を拒絶しながら格納することができるように選択することができる。
本明細書において説明されるように、仮想化アプリケーション526に関連して、モバイルデバイス502は、GUIを提示し、次にGUIとのユーザインタラクションを記録するように設計される仮想化アプリケーション526を有することができる。仮想化アプリケーション526は、ユーザインタラクションをサーバ側に伝達して、サーバ側アプリケーションがアプリケーションとのユーザインタラクションとして使用することができる。それに応答して、サーバ側のアプリケーションは、モバイルデバイス502に新規GUIを返すことができる。例えば、新規GUIは、静的ページ、動的ページ、アニメーションなどとすることができることにより、遠く離れたリソースへのアクセスを可能にする。
セキュアアプリケーション514は、モバイルデバイス502の管理対象パーティション510内のセキュアデータコンテナ528に格納されているデータにアクセスすることができる。セキュアデータコンテナにセキュアに格納されているデータには、セキュアネイティブアプリケーション514、セキュアアプリケーションランチャー518により実行されるセキュアリモートアプリケーション522、セキュアアプリケーションランチャー518により実行される仮想化アプリケーション526などがアクセスすることができる。セキュアデータコンテナ528に格納されているデータは、ファイル、データベースなどを含むことができる。セキュアデータコンテナ528に格納されているデータは、特定のセキュアアプリケーション530に制限されるデータ、セキュアアプリケーション532の間で共有されるデータなどを含むことができる。セキュアアプリケーションに制限されるデータは、セキュア汎用データ534および非常にセキュアなデータ538を含むことができる。セキュア汎用データは、Advanced Encryption Standard(高度暗号化標準:AES)128ビット暗号化などのような強力な形式の暗号化を使用することができるのに対し、非常にセキュアなデータ538は、AES256ビット暗号化のような非常に強力な暗号化形式を使用することができる。セキュアデータコンテナ528に格納されているデータは、コマンドをデバイスマネージャ524から受信すると、モバイルデバイス502から消去することができる。セキュアアプリケーション(例えば、514、522、および526)は、デュアルモードオプション540を有することができる。デュアルモードオプション540はユーザに、セキュアアプリケーションをアンセキュアモードまたは非管理対象モードで動作させるオプションを提示することができる。アンセキュアモードまたは非管理対象モードでは、セキュアアプリケーションは、モバイルデバイス502の非管理対象パーティション512のアンセキュアデータコンテナ542に格納されているデータにアクセスすることができる。アンセキュアデータコンテナに格納されているデータはパーソナルデータ544とすることができる。アンセキュアデータコンテナ542に格納されているデータは、モバイルデバイス502の非管理対象パーティション512で実行されているアンセキュアアプリケーション546がアクセスすることもできる。セキュアデータコンテナ528に格納されているデータがモバイルデバイス502から消去されると、アンセキュアデータコンテナ542に格納されているデータは、モバイルデバイス502に残留することができる。企業は、モバイルデバイス502から、企業が保有する、ライセンス許諾する、または制御する、選択した、または全てのデータ、ファイル、および/またはアプリケーション(エンタープライズデータ)を、ユーザが保有する、ライセンス許諾する、または制御するパーソナルデータ、ファイル、および/またはアプリケーション(パーソナルデータ)を残しながら、またはその他には、保持しながら消去したいと考える可能性がある。この操作は、選択的ワイプと表記することができる。エンタープライズデータおよびパーソナルデータを本明細書において説明される態様に従って整理することにより、企業は選択的ワイプを実行することができる。
モバイルデバイス502は、企業のエンタープライズリソース504およびエンタープライズサービス508、公開インターネット548などに接続することができる。モバイルデバイス502は、エンタープライズリソース504およびエンタープライズサービス508に仮想プライベートネットワーク接続を介して接続することができる。マイクロVPN(microVPN)またはアプリケーション固有VPN(application−specific VPN)とも表記される仮想プライベートネットワーク接続は、特定のアプリケーション550、特定のデバイス、モバイルデバイス552の特定のセキュアエリアなどに固有とすることができる。例えば、モバイルデバイス502のセキュアエリアにあるラップアプリケーションの各ラップアプリケーションは、エンタープライズリソースにアプリケーション固有VPNを介してアクセスして、VPNへのアクセスが、アプリケーションに関連する属性に基づいて与えられる、おそらく、ユーザ属性情報またはデバイス属性情報に関連付けて与えられるようにすることができる。仮想プライベートネットワーク接続は、Microsoft Exchangeトラフィック、Microsoft Active Directoryトラフィック、HyperText Transfer Protocol(HTTP)トラフィック、HyperText Transfer Protocol Secure(HTTPS)トラフィック、アプリケーション管理トラフィックなどを伝送することができる。仮想プライベートネットワーク接続は、シングルサインオン認証プロセス554をサポートおよび有効化することができる。シングルサインオンプロセスによりユーザは、単一セットの認証証明書を発行することができ、認証証明書が次に、認証サービス558により検証される。次に、認証サービス558は、複数のエンタープライズリソース504へのユーザアクセスを、ユーザが認証証明書を各個々のエンタープライズリソース504に発行する必要なく、許可することができる。
仮想プライベートネットワーク接続は、アクセスゲートウェイ560により確立させて、管理することができる。アクセスゲートウェイ560は、エンタープライズリソース504をモバイルデバイス502に配信するのを管理、促進、および改善する性能強化機能を含むことができる。アクセスゲートウェイ560は、トラフィックをモバイルデバイス502から公開インターネット548に再ルーティングして、モバイルデバイス502が公開インターネット548で実行される公開利用可能なアンセキュアアプリケーションにアクセスすることができるようにする。モバイルデバイス502は、アクセスゲートウェイにトランスポートネットワーク562を介して接続することができる。トランスポートネットワーク562は、有線ネットワーク、無線ネットワーク、クラウドネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワーク、ワイドエリアネットワーク、パブリックネットワーク、プライベートネットワークなどとすることができる。
エンタープライズリソース504は、電子メールサーバ、ファイル共有サーバ、SaaSアプリケーション、Webアプリケーションサーバ、Windows(登録商標)アプリケーションサーバなどを含むことができる。電子メールサーバは、Exchangeサーバ、Lotus Notesサーバなどを含むことができる。ファイル共有サーバは、ShareFileサーバなどを含むことができる。SaaSアプリケーションは、Salesforceなどを含むことができる。Windows(登録商標)アプリケーションサーバは、ローカルWindows(登録商標)オペレーティングシステムなどで実行されることを目的とするアプリケーションを供給するように構築される任意のアプリケーションサーバを含むことができる。エンタープライズリソース504は、前提ベースのリソース、クラウドベースのリソースなどとすることができる。エンタープライズリソース504には、モバイルデバイス502が直接アクセスするか、またはアクセスゲートウェイ560を介してアクセスすることができる。エンタープライズリソース504には、モバイルデバイス502がトランスポートネットワーク562を介してアクセスすることができる。
エンタープライズサービス508は、認証サービス558、脅威検出サービス564、デバイスマネージャサービス524、ファイル共有サービス568、ポリシーマネージャサービス570、ソーシャル統合サービス572、アプリケーションコントローラサービス574などを含むことができる。認証サービス558は、ユーザ認証サービス、デバイス認証サービス、アプリケーション認証サービス、データ認証サービスなどを含むことができる。認証サービス558は証明書を使用することができる。証明書は、モバイルデバイス502にエンタープライズリソース504などにより格納することができる。モバイルデバイス502に格納される証明書は、モバイルデバイス502の暗号化ロケーションに格納することができ、証明書は、モバイルデバイス502に一時的に格納されて、認証時などに使用することができる。脅威検出サービス564は、侵入検出サービス、不正アクセス試行検出サービスなどを含むことができる。不正アクセス試行検出サービスは、デバイス、アプリケーション、データなどへの不正アクセス試行を含むことができる。デバイス管理サービス524は、コンフィギュレーションサービス、プロビジョニングサービス、セキュリティサービス、サポートサービス、監視サービス、報告サービス、および廃棄サービスを含むことができる。ファイル共有サービス568は、ファイル管理サービス、ファイルストレージサービス、ファイル連携サービスなどを含むことができる。ポリシーマネージャサービス570は、デバイスポリシーマネージャサービス、アプリケーションポリシーマネージャサービス、データポリシーマネージャサービスなどを含むことができる。ソーシャル統合サービス572は、連絡先統合サービス、連携サービス、Facebook、Twitter、およびLinkedInのようなソーシャルネットワークとの統合などを含むことができる。アプリケーションコントローラサービス574は、管理サービス、プロビジョニングサービス、展開サービス、割り当てサービス、失効サービス、ラッピングサービスなどを含むことができる。
エンタープライズモビリティ技術アーキテクチャ500は、アプリケーションストア578を含むことができる。アプリケーションストア578は、アンラップアプリケーション(unwrapped applications)580、プレラップアプリケーション(pre−wrapped applications)582などを含むことができる。アプリケーションは、アプリケーションストア578にアプリケーションコントローラ574から集めることができる。アプリケーションストア578には、モバイルデバイス502がアクセスゲートウェイ560を介して、公開インターネット548などを介してアクセスすることができる。アプリケーションストア578には、直感的で使用し易いユーザインターフェースを設けることができる。
ソフトウェア開発キット584は、本明細書において既に説明したように、ユーザに、ユーザが選択するアプリケーションの安全を、アプリケーションをラップすることにより確保する機能を与えることができる。次に、ソフトウェア開発キット584を使用してラップされているアプリケーションは、アプリケーションをアプリケーションストア578にアプリケーションコントローラ574を使用して集めることによりモバイルデバイス502で利用可能とすることができる。
エンタープライズモビリティ技術アーキテクチャ500は、管理および分析機能588を含むことができる。管理および分析機能588は、どのようにしてリソースが使用されるか、どのくらいの頻度でリソースが使用されるかなどに関する情報を供給することができる。リソースは、デバイス、アプリケーション、データなどを含むことができる。どのようにしてリソースが使用されるかは、いずれのデバイスが、いずれのアプリケーションをダウンロードするのか、いずれのアプリケーションがいずれのデータにアクセスするのかなどを含むことができる。どのくらいの頻度でリソースが使用されるかは、どのくらいの頻度でアプリケーションがダウンロードされているか、どのくらい多くの回数、特定のデータ集合に、アプリケーションがアクセスしているか、などを含むことができる。
図6は、別の例示的なエンタープライズモビリティ管理システム600である。図5を参照して上に説明されるモビリティ管理システム500のコンポーネントのいくつかのコンポーネントは、簡潔性を期して省略されている。図6に示すシステム600のアーキテクチャは、図5を参照して上に説明したシステム500のアーキテクチャと多くの点で類似しており、上に述べられていない追加の特徴を含むことができる。
この場合、左側は、クライアントエージェント604を備える登録モバイルデバイス602を表わしており、クライアントエージェント604は、ゲートウェイサーバ606(ゲートウェイサーバは、アクセスゲートウェイおよびアプリケーションコントローラ機能を含む)とのインタラクションを行って、上の右側に示すようなExchange、Sharepoint、公開鍵インフラストラクチャ(PKI)Resources, Kerberos Resources,Certificate Issuanceサービスのような様々なエンタープライズリソース608およびサービス609にアクセスする。特に示されていないが、モバイルデバイス602は、エンタープライズアプリケーションストア(StoreFront)とのインタラクションを行ってアプリケーションを選択およびダウンロードすることもできる。
クライアントエージェント604は、エンタープライズデータセンターでホストされるWindows(登録商標)アプリケーション/デスクトップのUI(ユーザインターフェース)仲介として作用し、Windows(登録商標)アプリケーション/デスクトップは、High−Definition User Experience (HDX)/ICAディスプレイリモーティングプロトコルを使用してアクセスされる。クライアントエージェント604は、モバイルデバイス602のネイティブiOSまたはAndroid(登録商標)アプリケーションのようなネイティブアプリケーションのインストールおよび管理をさらにサポートする。例えば、上の図に示されている管理対象アプリケーション610(メール、ブラウザ、ラップアプリケーション)は、モバイルデバイス602でローカルに実行される全てのネイティブアプリケーションである。このアーキテクチャのクライアントエージェント604およびアプリケーション管理フレームワークは、エンタープライズリソース/サービス608への接続性およびSSO(シングルサインオン)のようなポリシー駆動管理能力および機能を供給するように作用する。クライアントエージェント604は、企業のプライマリユーザ認証、通常は他のゲートウェイサーバコンポーネントへのSSOを行うAccess Gateway(AG)606のプライマリユーザ認証を処理する。クライアントエージェント604は、ポリシーをゲートウェイサーバ606から取得して、モバイルデバイス602の管理対象アプリケーション610の動作を制御する。
ネイティブアプリケーション610とクライアントエージェント604との間のSecure InterProcess Communication(IPC)リンク612は管理対象チャネルを表わし、この管理対象チャネルによりクライアントエージェントは、アプリケーション管理フレームワーク614が各アプリケーションを「ラッピングする」ことにより強制されるポリシーを供給することができる。IPCチャネル612により、クライアントエージェント604は、企業リソース608への接続性およびSSOを可能にする証明情報および認証情報を供給することもできる。最後に、IPCチャネル612により、アプリケーション管理フレームワーク614は、オンライン認証およびオフライン認証のようなクライアントエージェント604により実行されるユーザインターフェース機能を呼び出すことができる。
クライアントエージェント604とゲートウェイサーバ606との間の通信は基本的に、各ネイティブ管理対象アプリケーション610をラッピングするアプリケーション管理フレームワーク614から管理チャネルを拡張することである。アプリケーション管理フレームワーク614は、ポリシー情報をクライアントエージェント604からリクエストすることができ、クライアントエージェント604が今度は、当該ポリシー情報をゲートウェイサーバ606からリクエストすることができる。アプリケーション管理フレームワーク614は、認証をリクエストすることができ、クライアントエージェント604は、ゲートウェイサーバ606のゲートウェイサービス部分(NETSCALER ACCESS GATEWAYとしても知られる)にログインすることができる。クライアントエージェント604は、以下にさらに完全に説明されるように、ゲートウェイサーバ606でサポートサービスをコールすることもでき、サポートサービスは、入力材料を生成してローカルデータボールト616の暗号化キーを取り出すことができる、またはPKIで保護されたリソースへの直接認証を可能にするクライアント証明書を供給することができる。
より詳細には、アプリケーション管理フレームワーク614は、各管理対象アプリケーション610を「ラップする」。これは、明示的な構築ステップを介して、または構築後処理ステップを介して取り込むことができる。アプリケーション管理フレームワーク614は、アプリケーション610の最初の起動時のクライアントエージェント604と「ペアリングして」、Secure IPCチャネル612を初期化し、当該アプリケーションのポリシーを取得することができる。アプリケーション管理フレームワーク614は、クライアントエージェントログイン依存性のようなローカルに適用されるポリシーの関連部分を強制することができ、ローカルOSサービスをどのようにして使用することができるかを制限する、またはローカルOSサービスが管理対象アプリケーション610とのインタラクションをどのようにして行うことができるかを制限する抑制ポリシーの所定部分を強制することができる。
アプリケーション管理フレームワーク614は、クライアントエージェント604からSecure IPCチャネル612を介して供給されるサービスを使用して、認証および内部ネットワークアクセスを容易にすることができる。プライベートおよび共有データボールト616(コンテナ)のキー管理は、管理対象アプリケーション610とクライアントエージェント604との間の適切なインタラクションにより管理することもできる。ボールト616は、オンライン認証後にのみ利用可能となる、またはポリシーで許可される場合のオフライン認証後に利用可能となる。ボールト616の最初の使用は、オンライン認証を必要とする可能性があり、オフラインアクセスは、オンライン認証が再び必要になる前のせいぜいポリシーリフレッシュ期間に制限される可能性がある。
内部リソースへのネットワークアクセスは、個々の管理対象アプリケーション610からアクセスゲートウェイ606を介して直接行われ得る。アプリケーション管理フレームワーク614は、各管理対象アプリケーション610の代わりに、ネットワークアクセスを調整する役割を担うことができる。クライアントエージェント604は、これらのネットワーク接続を、オンライン認証に続いて取得される適切な時間制限付きの補助証明書を供給することにより、容易にすることができる。リバースウェブプロキシ接続およびエンドツーエンドVPNスタイルトンネル618のような複数モードのネットワーク接続を使用することができる。
MailおよびBrowser管理対象アプリケーション610は、特別な状態を有し、任意のラップアプリケーションで普通、利用可能ではない可能性があるファシリティを利用することができる。例えば、Mailアプリケーション610は、特殊なバックグラウンドネットワークアクセス機構を使用することができ、特殊なバックグラウンドネットワークアクセス機構は、Mailアプリケーション610に許可して、Exchangeサーバ608にフルAGログオンを必要とすることなく、長期間にわたってアクセスする。Browserアプリケーション610は、複数のプライベートデータボールト616を使用して、異なる種類のデータを分離することができる。
このアーキテクチャは、様々な他のセキュリティ機能の取り込みをサポートすることができる。例えば、ゲートウェイサーバ606(当該ゲートウェイサーバのゲートウェイサービスを含む)は、いくつかの場合では、アクティブディレクトリ(AD)パスワードを検証しなくても済ませることができる。ADパスワードをいくつかの状況におけるいくつかのユーザに関する認証要素として使用することができるかどうかは、企業の裁量に委ねることができる。ユーザがオンラインまたはオフラインになっている(すなわち、ネットワークに接続されている、または接続されていない)場合、異なる認証方法を使用することができる。
ステップアップ認証は、ゲートウェイサーバ606が、許可されて強力な認証を必要とする高度に分類されたデータにアクセスすることができる管理対象ネイティブアプリケーション610を特定することができ、これらのアプリケーションへのアクセスを、適切な認証を行った後にのみ、これが再認証を、前のより弱いレベルのログイン後にユーザが必要とすることを意味する場合でも確実に許可する機能である。
このソリューションの別のセキュリティ機能は、モバイルデバイス602のデータボールト616(コンテナ)の暗号化である。ボールト616は、ファイル、データベース、およびコンフィギュレーションを含む全てのオンデバイスデータが保護されるように暗号化することができる。オンラインボールトの場合、キーはサーバ(ゲートウェイサーバ606)に格納することができ、オフラインボールトの場合、キーのローカルコピーは、ユーザパスワードまたは生体認証により保護することができる。データがセキュアコンテナ616内のモバイルデバイス602にローカルに格納される場合、またはローカルに格納されると、最小限のAES256暗号化アルゴリズムを利用することができることが好ましい。
他のセキュアコンテナ機能を搭載することもできる。例えば、ロギング機能を含めることができ、管理対象アプリケーション610の内部で発生するセキュリティイベントを記録して、バックエンドに報告することができる。データ完全削除は、管理対象アプリケーション610が改ざんを検出する場合または検出するときのようにサポートされる可能性があり、関連する暗号化キーは、ランダムデータで上書きされて、ユーザデータが破壊された手掛かりがファイルシステムに残らないようにすることができる。スクリーンショット保護は別の機能とすることができ、アプリケーションは、データがスクリーンショットに格納されることが絶対にないようにすることができる。例えば、キーウィンドウの非表示プロパティはYESに設定することができる。これにより、現在画面に表示されているどのようなコンテンツも非表示になり、全てのコンテンツが通常存在するスクリーンショットが空になる。
ローカルデータ転送は、例えばデータがアプリケーションコンテナの外部にローカルに転送される、例えばデータをコピーする、またはデータを外部アプリケーションに送信することにより、ローカルに転送されることが絶対にないようにすることにより、防止することができる。キーボードキャッシュ機能は、機密性テキストフィールドの自動補正機能を無効にするように動作することができる。SSL証明書検証は、アプリケーションが特に、サーバSSL証明書を、当該証明書がキーチェーンに格納される代わりに、検証するように行うことができる。暗号化キー生成機能を使用して、モバイルデバイス602のデータを暗号化するために使用されるキーが、ユーザが供給するパスフレーズまたは生体認証データを使用して生成されるようにすることができる(オフラインアクセスが必要な場合)。オフラインアクセスが必要ではない場合、当該キーは、ランダムに生成されてサーバ側に格納される別のキーと排他的論理和をとることができる。キー派生(Key Derivation)関数は、ユーザパスワードから生成されるキーが、当該キーの暗号化ハッシュを生成するのではなく、KDF(キー派生関数、特にPassword−Based Key Derivation Function2(PBKDF2))を使用するように動作することができる。後者により、キーはブルートフォース攻撃または辞書攻撃を受け易くなる。
また、1つ以上の初期化ベクトルは、暗号化方法において使用することができる。初期化ベクトルにより、同じ暗号化データの複数のコピーから異なる暗号テキスト出力が生成されるようになり、リプレイ攻撃および暗号解読攻撃の両方を防止する。また、これにより、データを暗号化するために使用される特定の初期化ベクトルが判明しない場合にアタッカーが、いかなるデータも盗まれた暗号化キーで解読するのを防止することになる。さらに、認証後の解読を使用することができ、アプリケーションデータは、ユーザがアプリケーション内で認証された後にのみ解読される。別の機能は、メモリ内の機密データに関連し、機密データは、データが必要な場合にのみメモリに保持することができる(ディスクには保持されない)。例えば、ログイン証明書はログイン後にメモリから消去することができ、オブジェクティブCインスタンス変数の内部の暗号化キーおよび他のデータは、容易に参照することができるので格納されない。代わりに、メモリを手動でこれらに割り当てることができる。
休止タイムアウトを指定することができ、ポリシー定義休止期間後に、ユーザセッションが終了する。
アプリケーション管理フレームワーク614からのデータ漏洩は、他の方法で防止することができる。例えば、管理対象アプリケーション610がバックグラウンドに移行する場合、または移行すると、所定(設定可能な)期間後にメモリを消去することができる。バックグラウンドになると、アプリケーションの最後に表示される画面のスナップショットを取得して、フォアグラウンドプロセスを閉じることができる。スクリーンショットは、機密データを含んでいる可能性があるので、消去する必要がある。
別のセキュリティ機能は、AD(アクティブディレクトリ)622パスワードを使用することなくOTP(ワンタイムパスワード)620を使用して1つ以上のアプリケーションにアクセスすることに関連する。いくつかの場合では、いくつかのユーザは、これらのユーザのADパスワードを認識していない(または、認識することを許可されない)ので、これらのユーザは認証を、OTP620を使用して、例えばSecurID(OTPは、EntrustまたはGemaltoのような異なるベンダーにより供給することもできる)のようなハードウェアOTPシステムを使用することにより行うことができる。いくつかの場合では、ユーザが認証をユーザIDで行った後、テキストをユーザにOTP620と一緒に送信することができる。いくつかの場合では、これは、オンラインで使用するためにのみプロンプトがシングルフィールドである状態で実行することができる。
オフラインパスワードは、オフラインでの使用がエンタープライズポリシーにより許可されるこれらの管理対象アプリケーション610のオフライン認証に関して設定することができる。例えば、企業は、StoreFrontにこのようにしてアクセスしたいと考える可能性がある。この場合、クライアントエージェント604は、ユーザがカスタムオフラインパスワードを設定することを必要とし、ADパスワードは使用されない。ゲートウェイサーバ606は、標準的なWindows(登録商標) Serverパスワードの複雑さ要件で説明されているような最小長さ、文字クラス構成、およびパスワードの有効期間に関するパスワード規格を制御および強制するポリシーを供給することができるが、これらの要件は変更することができる。
別の機能は、特定のアプリケーション610に関するクライアント側証明書を補助証明書(PKIで保護されるウェブリソースに、アプリケーション管理フレームワークマイクロVPN機能を介してアクセスするために)として有効にすることに関連する。例えば、管理対象アプリケーション610は、このような証明書を利用することができる。この場合、ActiveSyncプロトコルを使用する証明書利用認証をサポートすることができ、クライアントエージェント604からの証明書は、ゲートウェイサーバ606により取り出すことができ、キーチェーンに使用することができる。各管理対象アプリケーション610は、ゲートウェイサーバ606で定義されるラベルにより特定される1つの関連するクライアント証明書を有することができる。
ゲートウェイサーバ606は、企業の特定目的ウェブサービスとのインタラクションを行ってクライアント証明書の発行をサポートし、関連する管理対象アプリケーションに許可して内部PKIで保護されるリソースに認証されるようにする。
クライアントエージェント604およびアプリケーション管理フレームワーク614を拡張して、内部PKIで保護されるネットワークリソースに認証されるためのクライアント証明書の取得および使用をサポートすることができる。1つよりも多くの証明書をサポートして、例えば様々なレベルのセキュリティ要件および/または分離要件に合致することができる。証明書は、MailおよびBrowser管理対象アプリケーション610により使用することができ、最終的に任意のラップアプリケーション610により使用することができる(これらのアプリケーションが、ウェブサービススタイル通信パターンを使用し、アプリケーション管理フレームワークがHTTPSリクエストを仲介するのが妥当であるとする場合)。
iOSのアプリケーション管理クライアント証明書サポートは、公開キー暗号化規格(PKCS)BLOB(Binary Large Object)を各管理対象アプリケーション610のiOSキーチェーンに使用期間ごとにインポートすることを利用することができる。アプリケーション管理フレームワーククライアント証明書サポートは、プライベートインメモリキーストレージを備えるHTTPS形態を使用することができる。クライアント証明書は、iOSキーチェーンに存在しない可能性があり、強力に保護されている「online−only(オンラインのみ)」のデータ値に含まれる可能性がある場合を除き、持続しない可能性がある。
相互SSLを実装して追加のセキュリティを、モバイルデバイス602が企業に認証されることを必要とする、および逆に企業がモバイルデバイス602に認証されることを必要とすることにより実現することもできる。ゲートウェイサーバ606に認証されるための仮想スマートカードを実装することもできる。
双方向制限付きフルKerberosサポートは、追加機能とすることができる。フルサポート機能は、Active Directory(AD)622へのフルKerberosログインを、ADパスワードまたは信頼できるクライアント証明書を使用して行って、Kerberosサービスチケットを取得してHTTP Negotiate認証チャレンジに応答する機能に関連する。制限付きサポート機能は、Citrix Access Gateway Enterprise Edition(AGEE)の制約付き委任に関連しており、AGEEは、Kerberosプロトコル移行を起動することにより、AGEEが、HTTP Negotiate認証チャレンジに応答して、Kerberosサービスチケット(制約付き委任に従った)を取得および使用することができることをサポートする。この機構は、リバースウェブプロキシ(別名、企業仮想プライベートネットワーク(CVPN))モードで作用し、HTTP(HTTPSではなく)接続がVPNおよびMicroVPNモードでプロキシされる場合に作用する。
別の機能は、アプリケーションコンテナロッキングおよびワイピングに関連し、アプリケーションコンテナロッキングおよびワイピングは、ジェイルブレーク時またはルーティング検出(rooting detection)時に自動的に行われ、管理コンソールからのプッシュコマンドとして行われ、管理対象アプリケーション610が実行されていない場合でも、リモートワイプ機能を含むことができる。
ユーザに許可して、失敗時にいくつかの異なるロケーションの1つのロケーションからサービスを受けることができるエンタープライズアプリケーションストアおよびアプリケーションコントローラのマルチサイトアーキテクチャまたはコンフィギュレーションをサポートすることができる。
いくつかの場合では、管理対象アプリケーション610に許可して証明書および秘密キーに、API(例えば、OpenSSLの)を介してアクセスすることができる。企業の信頼できる管理対象アプリケーション610に許可して特定のPublic Key操作を、アプリケーションのクライアント証明書および秘密キーで行うことができる。様々なユースケースは、例えばアプリケーションがブラウザのように動作し、証明書アクセスが必要ではない場合、または必要ではないときに、アプリケーションが「私が誰であるか」に関する証明書を読み取る場合、または読み取るときに、アプリケーションが証明書を使用してセキュアセッショントークンを構築する場合、または構築するときに、およびアプリケーションが、秘密キーを使用して重要なデータ(例えば、トランザクションログ)のデジタル署名を行う、または一時的なデータ暗号化を行う場合、または行うときに、それに応じて特定および処理することができる。
連携ログオンプロバイダを利用するパーティへのシングルサインオンの拡張
上に説明したように、本開示の態様は、連携ログオンプロバイダを利用するパーティへのシングルサインオンの拡張に関するものである。さらに、本開示の1つ以上の態様は、図1〜図6に関連して上に説明したコンピュータシステムアーキテクチャ、リモートアクセスシステムアーキテクチャ、仮想化(ハイパーバイザ)システムアーキテクチャ、クラウドベースシステムアーキテクチャ、および/またはエンタープライズモビリティ管理システムのうちの1つ以上を取り入れることができる、1つ以上において具体化することができる、および/または1つ以上を使用して実現することができる。
図7は、本明細書において説明される1つ以上の例示的な態様による連携ログオンプロバイダを利用するパーティへのシングルサインオンを拡張する例示的なコンピューティング環境を示している。図7を参照すると、コンピューティング環境700は、エンタープライズアイデンティティプロバイダサーバ710と、エンタープライズサーバ720と、ユーザデバイス730および740と、サードパーティシステム750と、連携アイデンティティプロバイダサーバ760と、エンタープライズネットワーク770と、公衆ネットワーク780と、を含むことができる。エンタープライズアイデンティティプロバイダサーバ710、エンタープライズサーバ720、ユーザデバイス730および740、サードパーティシステム750、および連携アイデンティティプロバイダサーバ760は、1つ以上のプロセッサ、メモリ、通信インターフェース、および/または同様の構成要素のような1つ以上の物理コンポーネントを含むことができる。
エンタープライズアイデンティティプロバイダサーバ710は、プロセッサ711と、メモリ712と、通信インターフェース713と、を含むことができる。プロセッサ711は、メモリ712に格納されている命令を実行して、エンタープライズアイデンティティプロバイダサーバ710に、1つ以上の機能を実行させることができ、例えば第2の認証トークンを第1の認証トークンへの参照に基づいて取り出させることができる。通信インターフェース713は、1つ以上のネットワークインターフェースを含むことができ、これらのネットワークインターフェースを介して、エンタープライズアイデンティティプロバイダサーバ710は、エンタープライズサーバ720、ユーザデバイス730および740、サードパーティシステム750、および連携アイデンティプロバイダサーバ760のようなコンピューティング環境700内の1つ以上の他のシステムおよび/またはデバイスと通信することができる。メモリ712は、キーストア714を含むことができる。1つの例では、認証トークンを連携アイデンティプロバイダサーバ760から受信すると、エンタープライズアイデンティティプロバイダサーバ710は、認証、および認証トークンを別の対応する認証トークンに関連付ける参照をキーストア714に格納することができる。別の例では、エンタープライズアイデンティティプロバイダサーバ710は、以下により詳細に説明されるように、リフレッシュ認証トークンおよび関連する参照をキーストア714に格納することができる。
いくつかの例では、図7に示すように、キーストア714は、エンタープライズアイデンティティプロバイダサーバ710のメモリ712に常駐することができる。代替構成では、エンタープライズアイデンティティプロバイダサーバ710およびキーストア714は、個別のコンピューティングデバイスに常駐することができ、キーストア714は、エンタープライズアイデンティティプロバイダサーバ710により、遠く離れた場所から管理することができる。キーストア714は、デジタルキーを保護および管理して認証を行い、暗号化処理を行うハードウェアセキュリティモジュール(HSM)を含むことができる。キーストア714は、価値の高いデジタルキーを格納するミッションクリティカルインフラストラクチャの一部とすることができ、これは、キーが改ざんされるとした場合に、キーの所有者に重大な悪影響を与える可能性があることを意味している。いくつかの実施形態では、キーストア、HSM、および/または暗号化モジュールは、Common CriteriaまたはFederal Information Processing Standard(FIPS)のような国際的に認定された規格に認証されてユーザに、製品および暗号化アルゴリズムの設計および形態が妥当であるという個別の保証を与えることができる。キーストア714および対応するHSMの機能は、ソフトウェアまたはハードウェアのいずれかで実装することができる。
エンタープライズサーバ720は、企業組織に関連付けることができ、情報をユーザデバイス730および740ならびにコンピューティング環境700の他のコンピューティングデバイスに対して送受信することができる。エンタープライズサーバ720は、ユーザデバイス730および740を管理することができる。エンタープライズユーザは、システムリソースにユーザデバイス730および740を介してアクセスすることができる。ユーザデバイス730および740は、例えばサーバ、コンピュータ、ラップトップ、タブレット、スマートフォン、またはプロセッサを含む他のクライアントデバイス(例えば、コンピューティングデバイス201)を含む任意のタイプのコンピューティングデバイスとすることができる。ユーザデバイス730および740は、以下にさらに詳細に説明されるように、これらのユーザデバイスの通信インターフェース(例えば、無線インターフェース、LANインターフェース、WLANインターフェース)を介して、エンタープライズサーバ720、エンタープライズアイデンティティサーバ710、および連携アイデンティティプロバイダサーバ760のような他のデバイスおよび/またはエンティティと通信することができる。ユーザデバイス730および740は、本明細書において説明される様々なネットワークノードと通信することもできる。
エンタープライズサーバ720は、1つ以上のエンタープライズユーザがユーザデバイス730および740を介してアクセスすることができる仮想クラウドベース環境を実現および管理する役割を担うサーバとすることができる依存パーティを含むことができる。例示的なユースケースでは、依存パーティは、企業のサーバとすることができ、当該サーバに従業員がログインして、企業の仮想クラウドベース環境(例えば、仮想デスクトップ、仮想アプリケーション、仮想モバイルアプリケーション、または他の仮想サービス(複数可))にアクセスするための認証を受ける。
エンタープライズアイデンティティプロバイダサーバ710は、エンタープライズネットワーク770内のアイデンティティ管理プラットフォームを供給する役割を担うサーバとすることができる。具体的には、エンタープライズアイデンティティプロバイダサーバ710は、エンタープライズユーザおよび/またはこれらのユーザのそれぞれのデバイスが仮想クラウドベース環境で認証を受けて、仮想クラウドベース環境にアクセスする際に使用するトークンを生成、更新、および管理する役割を担うことができる。このようなことから、依存パーティは、ユーザデバイス730および740の代わりに、認証トークンをエンタープライズアイデンティティプロバイダサーバ710から取得することができ、認証トークンにより、これらのユーザデバイスは、エンタープライズシステム内のサービスおよびリソースにアクセスすることができる。例えば、依存パーティは、ユーザに指示して、エンタープライズアイデンティティプロバイダサーバ710により供給されるアイデンティティ管理プラットフォームにログインさせることができ、第1の認証トークンを取得させることができる。
エンタープライズアイデンティティプロバイダサーバ710は第1の認証トークンを、エンタープライズネットワーク770内で認証手順(例えば、ログイン手順)を成功裏に完了した結果として認証されたユーザに発行することができる。1つの例では、ユーザデバイス730および740は仮想化クラウドベース環境に、ユーザ名およびパスワード、生体測定(例えば、指紋スキャン、網膜スキャン、顔認識、音声認識など)とすることができるこれらのユーザデバイスの既存の認証証明書を使用して、指定されたユーザデバイスに供給されるアクセスコードを入力する(例えば、ユーザのスマートフォンは、依存パーティにより供給されるポータルに入るためのコードを含むメッセージを受信することができる)ことによりログインすることができる、またはエンタープライズネットワーク770にアクセスする任意の他の認証手段を使用してログインすることができる。ユーザデバイス730および740の成功裏のログインに応答して、エンタープライズアイデンティティプロバイダサーバ710は、第1の認証トークンを認証ユーザに関して発行し、第1の認証トークンをエンタープライズサーバ720に転送し、これにより今度は、ユーザデバイス730および740が有効になって、エンタープライズネットワーク770内の仮想化クラウドベース環境のサービスおよびリソースにSSOアクセスすることができるようになる。このようにして、エンタープライズアイデンティティプロバイダサーバ710は、エンタープライズサーバ720に第1の認証トークンをプロビジョニングすることができる。一例として、エンタープライズサーバ720は、第1の認証トークンをキーストア714に格納することができ、既に格納されている第2の認証トークンをキーストア714から取り出して、ユーザデバイス730および740を有効にして、エンタープライズネットワーク770内のエンタープライズシステムの仮想化クラウドベース環境のサービスおよびリソースにアクセスすることができる。
エンタープライズネットワーク770および公衆ネットワーク780は、1つ以上のワイドエリアネットワークおよび/またはローカルエリアネットワークを含むことができ、コンピューティング環境700に含まれる1つ以上のシステムおよび/またはデバイスを相互接続することができる。例えば、エンタープライズネットワーク770は、エンタープライズアイデンティティプロバイダサーバ710、エンタープライズサーバ720、およびユーザデバイス730および740を相互接続することができる。公衆ネットワーク770は、サードパーティシステム750および連携アイデンティティプロバイダサーバ760を相互接続することができる。エンタープライズネットワーク770および公衆ネットワーク780は、互いに相互接続することができ、これにより、エンタープライズアイデンティティプロバイダサーバ710、エンタープライズサーバ720、ユーザデバイス730および740、サードパーティシステム750、および連携アイデンティティプロバイダサーバ760の間の相互通信を実現することができる。
システム700は、サードパーティシステム750にアクセスするために公衆ネットワークに使用されるユーザのトークンを生成、更新、および管理する役割を担う1つ以上の連携アイデンティティプロバイダサーバ760を含むことができる。場合によっては、エンタープライズアイデンティティプロバイダサーバ710により発行される認証トークンは、連携アイデンティティプロバイダサーバ760により認識および解釈されない可能性がある。その結果、ユーザデバイスがエンタープライズシステムにアクセスすることを可能にする認証トークンは、ユーザデバイスに許可してサードパーティシステム750にアクセスさせるためには十分ではない可能性がある。このシナリオでは、エンタープライズサーバ720は、サードパーティシステム750にアクセスするためのユーザデバイス730および740からのリクエストを、連携アイデンティティプロバイダサーバ760により管理および認証されるログインページにリダイレクトすることができる。
連携アイデンティティプロバイダサーバ760は、公衆ネットワーク780内のサードパーティシステム750に連携ログオンアクセスするためのアイデンティティプラットフォームを供給する役割を担うサーバとすることができる。具体的には、連携アイデンティティプロバイダサーバ760は、ユーザデバイス730および740がサードパーティシステム750にアクセスするためのトークンを生成、更新、および管理する役割を担うことができる。このようなことから、依存パーティは、ユーザデバイス730および740の代わりに、認証トークンを連携アイデンティティプロバイダサーバ760から取得することができ、これにより、これらのユーザデバイスは、サードパーティシステム750内のサービスおよびリソースにアクセスすることができる。例えば、依存パーティは、ユーザデバイス730および740に指示して、連携アイデンティティプロバイダサーバ760により供給されるアイデンティティプラットフォームにログインさせて、第2の認証トークンを取得させることができる。
サードパーティシステム750にアクセスするためのリクエストをエンタープライズサーバ720から受信すると、連携アイデンティティプロバイダサーバ760は、認証ユーザに関する第2の認証トークンを発行し、第2の認証トークンをエンタープライズサーバ720に転送することができ、これにより今度は、ユーザデバイス730および740が、サードパーティシステム750内のサービスおよびリソースにSSOアクセスすることができる。一例として、エンタープライズサーバ720は、第2の認証トークンをキーストア714に、第1の認証トークンを第2の認証トークンに関連付ける参照と一緒に格納することができる。
連携アイデンティティプロバイダサーバ760は、連携アイデンティティプロバイダサーバ760が、サードパーティシステム750内で使用される認証トークンを受け入れる、および/または処理することを可能にする命令を実行することができる。上の例に続いて、ユーザデバイス730および740からサードパーティシステム750にアクセスするためのリクエストが引き続きある場合、ユーザデバイス730および740は、エンタープライズサーバ720に、エンタープライズネットワーク770内のエンタープライズシステムへのログインに成功した結果としてエンタープライズシステム内で使用される認証トークンを提示することができる。ログインプロセスの完了に応答して、エンタープライズサーバ720は、サードパーティシステム750内で使用される対応する認証トークンをキーストア714から、これらのトークンのそれぞれのシステム内で使用されるこれらの2つのトークンを関連付ける参照に基づいて取り出すことができる。連携アイデンティティプロバイダサーバ760は、図8A〜図8Dに関連して以下にさらに詳細に説明されるように、サードパーティシステム750に関連付けられる認証トークンを解釈することができ、適正な措置を採って依存パーティがサードパーティシステム750にSSOアクセスすることができるようにする。
図8A〜図8Dは、本明細書において説明される1つ以上の例示的な態様によるシングルサインオンを連携ログオンプロバイダの依存パーティに拡張する例示的なイベントシーケンスを示している。図8A〜図8Dのコンポーネントの間の通信は、コンピュータネットワークを介した通信セキュリティを可能にするTransport Layer Security(TLS)暗号化プロトコルまたはInternet Protocol Security(IPsec)トンネルで暗号化することができる。
図8Aを参照すると、ステップ801では、エンタープライズサーバは、エンタープライズシステムにアクセスするためのリクエストをエンタープライズアイデンティティプロバイダに送信することができる。図8A〜図8Dに示すステップを開始する前に、ユーザデバイス730および740は、エンタープライズネットワーク770内のエンタープライズシステムの1つ以上のサービスまたはリソースにアクセスするためのリクエストをエンタープライズサーバ720に送信することができる。例えば、ユーザは、仮想デスクトップ、ウェブアプリケーション、またはモバイルアプリケーションにログインして仮想クラウドベースエンタープライズシステムにアクセスしようと試みることができ、エンタープライズサーバ720は、エンタープライズアイデンティティプロバイダサーバ710により供給されるエンタープライズアイデンティティサービスに統合することができる。引き続き、エンタープライズサーバ720は、ユーザデバイス730および740の代わりに、このようなリクエストをエンタープライズアイデンティティサーバ710に転送して認証を行うことができる。
ステップ802では、エンタープライズアイデンティティプロバイダサーバは、第1の認証トークンをエンタープライズサーバに発行することができる。例えば、エンタープライズアイデンティティプロバイダーバ710は、第1の認証トークンをエンタープライズサーバ720に、ユーザが仮想クラウドベースエンタープライズシステムへのログインに成功した結果として発行することができる。さらに、エンタープライズアイデンティティプロバイダサーバ710により解釈される第1の認証トークンは、ユーザデバイスに許可して、仮想クラウドベースエンタープライズシステム内のエンタープライズサーバ720により管理されるサービスおよびリソースにアクセスさせることができる。エンタープライズアイデンティティプロバイダサーバ710は、第1の認証トークンをエンタープライズサーバ720に送信することができる。
ステップ803では、エンタープライズサーバは、第1の認証トークンをエンタープライズアイデンティティプロバイダサーバから受信することができる。具体的には、第1の認証トークンにより、エンタープライズサーバにより管理されるユーザデバイスは1つ以上のリソースに、エンタープライズアイデンティティサーバにより供給されるエンタープライズアイデンティティサービスを使用してシングルサインオンでアクセスすることができる。例えば、エンタープライズサーバ720は、第1の認証トークンをエンタープライズアイデンティティプロバイダサーバ710から受信することができる。一例として、エンタープライズサーバ720は、第1の認証トークンをキーストア714に格納することができる。場合によっては、第1の認証トークンは、エンタープライズアイデンティティプロバイダサーバ710に固有とすることができ、エンタープライズアイデンティティプロバイダサーバ710により解釈することができ、これにより、ユーザデバイス730および740は、エンタープライズネットワーク770内のエンタープライズシステムにより供給される様々なサービスおよびリソースにSSOアクセスすることができる。SSOは、エンタープライズシステム内の複数の関連する個別のサービスおよびリソースのアクセス制御のプロパティとすることができる。一例として、ユーザは1個のIDおよびパスワードでログインして、異なるユーザ名またはパスワードを使用することなく接続対象システムにアクセスすることができる、または各システムにシームレスにサインオンすることができる。したがって、1回の認証で、複数のアプリケーション、サービス、およびリソースへのアクセスが、第1の認証トークンをエンタープライズアイデンティティプロバイダサーバ710と統合されたエンタープライズシステム内でシームレスに渡すことにより可能になる。このようにして、エンタープライズサーバ720に第1の認証トークンをプロビジョニングすることができる。
ステップ804では、エンタープライズサーバは、サードパーティシステムにアクセスするためのリクエストを、エンタープライズアイデンティティプロバイダサーバに送信することができる。具体的には、エンタープライズアイデンティティプロバイダサーバ710は、通信インターフェースを介して、サードパーティシステム750により供給される1つ以上のリソースに連携アイデンティティサービスを使用してアクセスするためのリクエストをエンタープライズサーバ720から受信することができる。例えば、エンタープライズサーバ720は、連携アイデンティティプロバイダサーバ760により供給される連携アイデンティティサービスに統合することができるサードパーティシステム750内の1つ以上のサービスまたはリソースにアクセスするためのリクエストを送信することができる。場合によっては、ユーザデバイス730および740は、サードパーティシステム750にアクセスするためのリクエストを発信することができ、このようなリクエストをエンタープライズサーバ720に転送することができる。場合によっては、サードパーティシステムは、エンタープライズシステムと直接統合されない可能性があるので、エンタープライズアイデンティティプロバイダサーバ710により発行される第1の認証トークンを信頼することができない、または理解することができない可能性がある。
ステップ805では、エンタープライズアイデンティティプロバイダサーバは、サードパーティシステムにアクセスするためのリクエストを連携アイデンティティプロバイダにリダイレクトすることができる。具体的には、アイデンティティプロバイダサーバサーバは、通信インターフェースを介して、エンタープライズサーバからのリクエストを連携アイデンティティプロバイダサーバにより供給される連携アイデンティティサービスにリダイレクトすることができる。例えば、エンタープライズアイデンティティプロバイダサーバ760は、サードパーティシステム750にアクセスするためのリクエストを連携アイデンティティプロバイダサーバ760にリダイレクトすることができる。エンタープライズアイデンティティプロバイダサーバは、サードパーティシステムにアクセスするためのリクエストを連携アイデンティティプロバイダサーバ760にリダイレクトすることができる。連携アイデンティティプロバイダサーバ760は、ログインページを維持および管理することができ、ログインページは、サードパーティシステム750にアクセスするためのリクエストをエンタープライズアイデンティティプロバイダサーバ760から受け入れることができる。
ステップ806では、連携アイデンティティプロバイダサーバは、第2の認証トークンを生成することができる。例えば、連携アイデンティティプロバイダサーバ760は、第2の認証トークンを生成することができ、第2の認証トークンによりユーザデバイス730および740は、サードパーティシステム内で供給されるリソースおよびサービスにSSOアクセスすることができる。場合によっては、ユーザデバイスが連携アイデンティティサービスを使用してログインしようと試みる場合、連携アイデンティティプロバイダサーバ760は、サインインに成功したエビデンスを、SAMLトークン、OpenID Connect Identityトークン、OAuth Access Token、または他の形式のトークン(このトークンは、例えばこの例示的なイベントシーケンスにおいて、「second(第2」の認証トークンと表記することができる)の形式で発行することができる。具体的には、このような第2の認証トークンにより、エンタープライズサーバにより管理されるユーザデバイスが、サードパーティシステムに連携アイデンティティサービスを使用してシングルサインオンでアクセスすることができるようになる。
場合によっては、連携アイデンティティプロバイダ760により出されたログインに成功したエビデンスのタイプは、認証トークンまたはアイデンティティトークンから、連携アイデンティティプロバイダサーバ760に由来する特定のクレームまたはアサーションの範囲とすることができる。場合によっては、第2の認証トークンは、エンタープライズシステムとサードパーティシステム750との統合を可能にする任意のエビデンスとすることができる。
ステップ807では、連携アイデンティティプロバイダサーバは、第2の認証トークンをエンタープライズアイデンティティプロバイダサーバに送信することができ、図8Bのステップ808では、エンタープライズアイデンティティプロバイダサーバは、第2の認証トークンを受信することができる。例えば、連携アイデンティティプロバイダサーバ760は、第2の認証トークンをエンタープライズアイデンティティプロバイダサーバ710に送信することができ、図8Bに示すステップ808では、エンタープライズアイデンティティプロバイダサーバ710は、第2の認証トークンを受信することができる。
ステップ809では、エンタープライズアイデンティティプロバイダサーバは、第2の認証トークンをトークンストアに送信することができる。例えば、エンタープライズアイデンティティプロバイダサーバ710は、第2の認証トークンをトークンストア714に送信することができる。場合によっては、エンタープライズアイデンティティプロバイダサーバ710は、ミッションクリティカルインフラストラクチャの一部とすることができ、改ざん耐性のあるキーストア714を維持することができ、エンタープライズアイデンティティプロバイダサーバ710は、クラウド対応アプリケーションおよびクラウド対応サービスにより使用することができる認証トークンおよび認証シークレットをセキュアに管理および保護することができる。
ステップ810では、トークンストアは、第2の認証トークン、および第2の認証トークンを第1の認証トークンに関連付ける参照を格納することができる。具体的には、エンタープライズアイデンティティプロバイダサーバは、当該サーバのメモリに、追加命令を格納することができ、命令が少なくとも1つのプロセッサにより実行されると、エンタープライズアイデンティティプロバイダサーバに、トークンストアに、第2の認証トークン、および第2の認証トークンを第1の認証トークンに関連付ける参照を格納することを行わせる。
ステップ811では、サードパーティシステムにアクセスするためのリクエストがエンタープライズサーバから引き続きある場合、エンタープライズサーバは、第1の認証トークンをエンタープライズアイデンティティプロバイダサーバに提示することができる。具体的には、第1の認証トークンは、ステップ802において、エンタープライズアイデンティティプロバイダサーバによりエンタープライズサーバに対して既に発行されていてもよい。例えば、エンタープライズサーバ720は、サードパーティシステム750にアクセスしようと試みているユーザデバイス730および740の代わりに、第1の認証トークンをエンタープライズアイデンティティプロバイダサーバ710に提示することができる。
ステップ812では、エンタープライズアイデンティティプロバイダサーバは、第1の認証トークンの提示を受けることができる。具体的には、エンタープライズアイデンティティプロバイダは、通信インターフェースを介して、エンタープライズアイデンティティプロバイダサーバにより供給されるエンタープライズアイデンティティサービスと統合されたエンタープライズサーバから、エンタープライズアイデンティティプロバイダサーバによりエンタープライズサーバに対して既に発行されている第1の認証トークンを受信することができる。例えば、エンタープライズアイデンティティプロバイダサーバ710は、第1の認証トークンの提示をエンタープライズサーバ720から受けることができる。
ステップ813では、エンタープライズアイデンティティプロバイダサーバは、第2の認証トークンをトークンストアから第1の認証トークンへの参照に基づいて取り出すことができる。具体的には、第1の認証トークンを受信したことに応答して、エンタープライズアイデンティティプロバイダサーバは、エンタープライズアイデンティティプロバイダサーバにより維持されるトークンストアから、連携アイデンティティプロバイダサーバにより供給される連携アイデンティティサービスに関連付けられる第2の認証トークンを取り出すことができる。例えば、エンタープライズアイデンティティプロバイダサーバ710は、第2の認証トークンをトークンストア714から、第2の認証トークンを第1の認証トークンに関連付ける参照に基づいて取り出すことができる。
場合によっては、エンタープライズアイデンティティプロバイダサーバ710は、第1の認証トークンを発行することができ、第1の認証トークンを使用して、エンタープライズシステムの内部のユーザのアイデンティティをアサートすることができる。サードパーティシステムがエンタープライズシステムにとって異質である可能性があるとした場合、本開示は、サードパーティシステムおよび連携アイデンティティサービスの複雑さを、サードパーティシステムのユーザから隠すことができる。同様に、本開示の実施形態は、エンタープライズシステムと統合されたサードパーティシステムが、エンタープライズアイデンティティプロバイダサーバ710から発行される第1の認証トークンを認識および理解する必要を無くすことができる。
場合によっては、本開示は、エンタープライズアイデンティティプロバイダサーバ760と統合されたサードパーティシステム750を有効にしてAPIを呼び出して、エンタープライズアイデンティティプロバイダサーバ760自体が発行した第1の認証トークンを渡し、トークンストア714内の認証トークンを関連付ける参照により実行されるトークン交換プロセスを経てアイデンティティをアサートするために連携アイデンティティプロバイダサーバ760が発行した第2の認証トークンを折り返し受信することができる。
場合によっては、本開示は、管理者がエンタープライズアイデンティティプロバイダサーバ710を介して、第2の認証トークンを取得してサードパーティシステム750に、サードパーティシステム750にアクセスするための現在のリクエストの前の所定の時点でログオンしていると判断すると、エンタープライズアイデンティティプロバイダサーバ710により供給されるログインページを有するUIが、サードパーティシステム750に向かって進行しているときに第2の認証トークンを使用することに切り替えることを可能にすることができる。
ステップ814では、エンタープライズアイデンティティプロバイダサーバは、第2の認証トークンをリフレッシュするためのリクエストを連携アイデンティティプロバイダサーバに送信することができる。具体的には、エンタープライズアイデンティティプロバイダサーバは、通信インターフェースを介して、第2の認証トークンを再生成するためのリクエストを連携アイデンティティプロバイダサーバに送信することができ、連携アイデンティティプロバイダサーバは、リフレッシュされた認証トークンを生成することができる。例えば、エンタープライズアイデンティティプロバイダサーバ710は、サードパーティシステム750にアクセスしようと試みるユーザまたはユーザデバイスに関連付けられる第2の認証トークンをリフレッシュするためのリクエストを連携アイデンティティプロバイダサーバ760に送信することができる。場合によっては、エンタープライズアイデンティティプロバイダサーバ710に当該ユーザまたはユーザデバイスに関して発行される第2の認証トークンに寿命を定めることができる。一例として、第2の認証トークンは1時間持続することができる。これらのシナリオでは、第2の認証トークンはリフレッシュされる必要がある可能性がある。これとは異なり、エンタープライズアイデンティティプロバイダサーバ710により発行される第1の認証トークンの寿命は、第2の認証トークンの寿命とは無関係とすることができる。別の例として、第2の認証トークンをリフレッシュすることは、オンデマンドで行うことができる。第2の認証トークンの寿命を第1の認証トークンの寿命よりも長くすることができる場合、オンデマンドリフレッシュをエンタープライズアイデンティティプロバイダサーバ710を介して開始することにより、持続することができるようにリフレッシュされる認証トークンをリフレッシュして返すことができる。あるいは、第2の認証トークンの寿命が第1の認証トークンの寿命と比較して十分に長くない場合、エンタープライズアイデンティティプロバイダ710は、第2の認証トークンの有効期限切れ前に第2の認証トークンをリフレッシュするバックグラウンドスレッドを開始することができる。
図8Cを参照すると、ステップ815では、連携アイデンティティプロバイダサーバは、リフレッシュされた認証トークンを再生成することができる。具体的には、エンタープライズアイデンティティプロバイダサーバは、第2の認証トークンを連携アイデンティティプロバイダサーバにより供給される連携アイデンティティサービスでリフレッシュして、リフレッシュされた認証トークンを取得することができる。例えば、連携アイデンティティプロバイダサーバ760は、エンタープライズアイデンティティプロバイダサーバ710からのリクエストに応答して、リフレッシュされた認証トークンを再生成することができる。
ステップ816では、連携アイデンティティプロバイダサーバは、リフレッシュされた認証トークンをエンタープライズアイデンティティプロバイダサーバに送信することができ、ステップ817では、エンタープライズアイデンティティプロバイダサーバは、リフレッシュされた認証トークンを受信することができる。例えば、連携アイデンティティプロバイダサーバ760は、リフレッシュされた認証トークンをエンタープライズアイデンティティプロバイダサーバ710に送信することができ、エンタープライズアイデンティティプロバイダサーバ710は、リフレッシュされた認証トークンを受信することができる。]
ステップ818では、エンタープライズアイデンティティプロバイダサーバは、リフレッシュされた認証トークンをトークンストアに送信することができる。例えば、エンタープライズアイデンティティプロバイダサーバは、リフレッシュされた認証トークンをトークンストア714に送信して格納することができる。
ステップ819では、トークンストアは、リフレッシュされた認証トークン、およびリフレッシュされた認証トークンを第1の認証トークンに関連付ける参照を格納することができる。具体的には、第2の認証トークンをリフレッシュしたことに応答して、エンタープライズアイデンティティプロバイダサーバ710は、トークンストア714に、リフレッシュされた認証トークン、およびリフレッシュされた認証トークンを第1の認証トークンに関連付ける参照を格納することができる。一例として、エンタープライズアイデンティティプロバイダサーバ710は、キーストア714内の第2の認証トークンのレコードをリフレッシュされた認証トークンで更新することができる。同様に、エンタープライズアイデンティティプロバイダサーバ710は、リフレッシュされた認証トークンをレコード内の第1の認証トークンに関連付ける参照を更新することができる。
ステップ820では、エンタープライズアイデンティティプロバイダサーバは、リフレッシュされた認証トークンをエンタープライズサーバに送信することができる。具体的には、エンタープライズアイデンティティプロバイダは、通信インターフェースを介して、エンタープライズサーバに、リフレッシュされた認証トークンを送信することができ、リフレッシュされた認証トークンをエンタープライズサーバに送信することにより、エンタープライズサーバにより管理されるユーザデバイスが、サードパーティシステムにより供給される1つ以上のリソースに連携アイデンティティサービスを使用してアクセスすることができるようになる。例えば、エンタープライズアイデンティティプロバイダサーバ710は、リフレッシュされた認証トークンをエンタープライズサーバ720に送信することができる。図8Dを参照すると、ステップ821では、エンタープライズサーバは、リフレッシュされた認証トークンを受信することができる。
ステップ822では、エンタープライズサーバは、ユーザデバイスの代わりに、リフレッシュされた認証トークンをサードパーティシステムに送信してアクセスすることができる。例えば、エンタープライズサーバ720は、ユーザデバイス730および740の代わりに、リフレッシュされた認証トークンを、サードパーティシステム750と統合された連携アイデンティティプロバイダサーバ760に送信してアクセスすることができる。
最後に、ステップ823では、サードパーティシステムは、リフレッシュされた認証トークンを受信することができ、ステップ824では、サードパーティシステムは、サードパーティシステムにより供給されるサービスおよびリソースへのアクセスを、連携認証サービスを使用して与えることができる。例えば、サードパーティシステム750と統合された連携アイデンティティプロバイダサーバ760は、サードパーティシステム750により供給されるサービスおよびリソースへの許可を、連携認証サービスを使用して与えることができる。結果として、このような許可は、ユーザデバイス730および740にエンタープライズサーバ720を介して与えることができる。
図9は、1つ以上の例示的な実施形態によるシングルサインオンを連携ログオンプロバイダの依存パーティに拡張する例示的な方法を示している。図9を参照すると、ステップ902では、少なくとも一つのプロセッサ、通信インターフェース、およびメモリを有するエンタープライズアイデンティティプロバイダサーバ(例えば、エンタープライズアイデンティティプロバイダサーバ710)は、通信インターフェースを介して、エンタープライズアイデンティティプロバイダサーバにより供給されるエンタープライズアイデンティティサービスと統合されたエンタープライズサーバから、エンタープライズアイデンティティプロバイダサーバによりエンタープライズサーバに対して既に発行されている第1の認証トークンを受信することができる。ステップ904では、第1の認証トークンを受信したことに応答して、エンタープライズアイデンティティプロバイダサーバは、エンタープライズアイデンティティプロバイダサーバにより維持されるトークンストアから、連携アイデンティティプロバイダサーバにより供給される連携アイデンティティサービスに関連付けられる第2の認証トークンを取り出すことができる。ステップ906では、エンタープライズアイデンティティプロバイダサーバは、第2の認証トークンを、連携アイデンティティプロバイダサーバにより供給される連携アイデンティティサービスでリフレッシュして、リフレッシュされた認証トークンを取得することができる。ステップ908では、エンタープライズアイデンティティプロバイダサーバは、通信インターフェースを介して、エンタープライズサーバに、リフレッシュされた認証トークンを送信することができる。したがって、リフレッシュされた認証トークンをエンタープライズサーバに送信することにより、エンタープライズサーバにより管理されるユーザデバイスが、サードパーティシステムにより供給される1つ以上のリソースに連携アイデンティティサービスを使用してアクセスすることができるようにする。
本開示の1つ以上の態様は、コンピュータ使用可能データで具体化することができる、または本明細書において説明される操作を実行する1つ以上のコンピュータまたは他のデバイスにより実行される1つ以上のプログラムモジュール内の命令のようなコンピュータ実行可能命令で具体化することができる。一般に、プログラムモジュールは、コンピュータまたは他のデータ処理デバイスの1つ以上のプロセッサにより実行されると、特定のタスクを実行する、または特定の抽象データタイプを実現するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。コンピュータ実行可能命令は、ハードディスク、光ディスク、リムーバブル記憶媒体、ソリッドステートメモリ、RAMなどのようなコンピュータ可読媒体にコンピュータ可読命令として格納することができる。プログラムモジュールの機能は、様々な実施形態において必要に応じて組み合わせる、または分散させることができる。さらに、機能は、集積回路、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)などのようなファームウェア等価物またはハードウェア等価物に、全体を具体化する、または一部を具体化することができる。特定のデータ構造を使用して、本開示の1つ以上の態様をより効果的に実現することができ、このようなデータ構造は、本明細書において説明されるコンピュータ実行可能命令およびコンピュータ使用可能データの範囲に収まると考えられる。
本明細書において説明される様々な態様は、方法、装置として、またはコンピュータ実行可能命令を格納する1つ以上のコンピュータ可読媒体として具体化することができる。したがって、これらの態様は、全体がハードウェア実施形態、全体がソフトウェア実施形態、全体がファームウェア実施形態、またはソフトウェア態様、ハードウェア態様、およびファームウェア態様を任意に組み合わせた実施形態の形態を採ることができる。さらに、本明細書において説明されるデータまたはイベントを表わす様々な信号は、発信元と宛先との間で、金属ワイヤ、光ファイバ、または無線伝送媒体(例えば、空気または空間)のような信号伝送媒体内を移動する光または電磁波の形態で転送することができる。一般に、1つ以上のコンピュータ可読媒体は、1つ以上の非一時的なコンピュータ可読媒体とすることができる、および/または1つ以上の非一時的なコンピュータ可読媒体を含むことができる。
本明細書において説明されるように、様々な方法および方式は、1つ以上のコンピューティングサーバおよび1つ以上のネットワークにわたって動作することができる。機能は、任意の態様で分散させることができる、または1個のコンピューティングデバイス(例えば、サーバ、クライアントコンピュータなど)に配置することができる。例えば、代替実施形態では、上に説明したコンピューティングプラットフォームのうちの1つ以上のコンピューティングプラットフォームは、1つ以上の物理コンピューティングデバイスにより実現される1つ以上の仮想マシンで実現することができる。このような構成では、各コンピューティングプラットフォームの様々な機能は、1つ以上の仮想マシンにより実行することができ、コンピューティングプラットフォーム間の上に説明した通信のいずれかの通信および/または全ての通信は、1つ以上の仮想マシンによりアクセスされている、移動させている、変更されている、更新されている、またはその他には、使用されているデータに対応することができる。
本発明の態様が、当該態様の例示的な実施形態に関して説明されてきた。添付の特許請求項の範囲および趣旨に収まる多数の他の実施形態、変形、および変更は当業者であれば、本開示を検討することにより想到するであろう。例えば、例示的な図に示されるステップのうちの1つ以上のステップは、記載した順序以外で実行されてもよく、図示される1つ以上のステップは、本開示の態様に従って任意とすることができる。
主題は、構造的な特徴および/または方法論的な方式に固有の言語で記述されているが、添付の特許請求の範囲に定義される主題は、必ずしも上に説明した特定の特徴または方式に限定されないことを理解されたい。限定されるのではなく、上に説明した特定の特徴および方式は、以下の特許請求の範囲の例示的な実施態様として説明される。
関連出願の相互参照
本出願は、2017年8月17日に出願された「EXTENDING SINGLE−SIGN−ON TO RELYING PARTIES OF FEDERATED LOGON PROVIDERS」と題する米国非仮特許出願第15/679,686号の優先権を主張するものであり、この出願は、出願の内容全体が参照により本明細書に組み込まれる。

Claims (20)

  1. エンタープライズアイデンティティプロバイダサーバであって、
    少なくとも1つのプロセッサと、
    通信インターフェースと、
    命令を格納するメモリと、を備え、前記命令が前記少なくとも1つのプロセッサにより実行されると、前記エンタープライズアイデンティティプロバイダサーバに、
    前記通信インターフェースを介して、前記エンタープライズアイデンティティプロバイダサーバにより供給されるエンタープライズアイデンティティサービスと統合されたエンタープライズサーバから、前記エンタープライズアイデンティティプロバイダサーバにより前記エンタープライズサーバに対して既に発行されている第1の認証トークンを受信することと、
    前記第1の認証トークンを受信したことに応答して、前記エンタープライズアイデンティティプロバイダサーバにより維持されるトークンストアから、連携アイデンティティプロバイダサーバにより供給される連携アイデンティティサービスに関連付けられる第2の認証トークンを取り出すことと、
    前記第2の認証トークンを前記連携アイデンティティプロバイダサーバにより供給される前記連携アイデンティティサービスでリフレッシュして、リフレッシュされた認証トークンを取得することと、
    前記通信インターフェースを介して、前記エンタープライズサーバに、前記リフレッシュされた認証トークンを送信することであって、前記リフレッシュされた認証トークンを前記エンタープライズサーバに送信することにより、前記エンタープライズサーバにより管理されるユーザデバイスが、サードパーティシステムにより供給される1つ以上のリソースに前記連携アイデンティティサービスを使用してアクセスすることができるようになる、送信することと、を行わせる、エンタープライズアイデンティティプロバイダサーバ。
  2. 前記メモリは、追加命令を格納し、前記追加命令が前記少なくとも1つのプロセッサにより実行されると、前記エンタープライズアイデンティティプロバイダサーバに、
    前記第1の認証トークンを受信する前に、前記エンタープライズサーバに前記第1の認証トークンをプロビジョニングさせる、請求項1に記載のエンタープライズアイデンティティプロバイダサーバ。
  3. 前記メモリは、追加命令を格納し、前記追加命令が前記少なくとも1つのプロセッサにより実行されると、前記エンタープライズアイデンティティプロバイダサーバに、
    前記トークンストアに、前記第2の認証トークン、および前記第2の認証トークンを前記第1の認証トークンに関連付ける参照を格納させる、請求項1に記載のエンタープライズアイデンティティプロバイダサーバ。
  4. 前記メモリは、追加命令を格納し、前記追加命令が前記少なくとも1つのプロセッサにより実行されると、前記エンタープライズアイデンティティプロバイダサーバに、
    前記第2の認証トークンをリフレッシュしたことに応答して、前記トークンストアに、前記リフレッシュされた認証トークン、および前記リフレッシュされた認証トークンを前記第1の認証トークンに関連付ける参照を格納させる、請求項1に記載のエンタープライズアイデンティティプロバイダサーバ。
  5. 前記第2の認証トークンをリフレッシュすることが、前記エンタープライズアイデンティティプロバイダサーバにさらに、
    前記通信インターフェースを介して、前記第2の認証トークンを再生成するためのリクエストを前記連携アイデンティティプロバイダサーバに送信することであって、前記連携アイデンティティプロバイダサーバは、前記リフレッシュされた認証トークンを生成する、送信することと、
    前記通信インターフェースを介して、前記リフレッシュされた認証トークンを前記連携アイデンティティプロバイダサーバから受信することと、を行わせる、請求項1に記載のエンタープライズアイデンティティプロバイダサーバ。
  6. 前記第2の認証トークンをリフレッシュすることが、前記エンタープライズアイデンティティプロバイダサーバにさらに、
    前記トークンストアを、前記リフレッシュされた認証トークン、および前記リフレッシュされた認証トークンを前記第1の認証トークンに関連付ける参照で更新させる、請求項5に記載のエンタープライズアイデンティティプロバイダサーバ。
  7. 前記メモリは、追加命令を格納し、前記追加命令が前記少なくとも1つのプロセッサにより実行されると、前記エンタープライズアイデンティティプロバイダサーバに、
    前記通信インターフェースを介して、前記サードパーティシステムにより供給される前記1つ以上のリソースに前記連携アイデンティティサービスを使用してアクセスするためのリクエストを前記エンタープライズサーバから受信することと、
    前記通信インターフェースを介して、前記エンタープライズサーバからの前記リクエストを、前記連携アイデンティティプロバイダサーバにより供給される前記連携アイデンティティサービスにリダイレクトすることと、を行わせる、請求項1に記載のエンタープライズアイデンティティプロバイダサーバ。
  8. 前記第1の認証トークンにより、前記エンタープライズサーバにより管理される前記ユーザデバイスは、1つ以上のリソースに、前記エンタープライズアイデンティティプロバイダサーバにより供給されるエンタープライズアイデンティティサービスを使用してシングルサインオンでアクセスすることができるようになる、請求項1に記載のエンタープライズアイデンティティプロバイダサーバ。
  9. 前記第2の認証トークンにより、前記エンタープライズサーバにより管理される前記ユーザデバイスは、前記サードパーティシステムに、前記連携アイデンティティサービスを使用してシングルサインオンでアクセスすることができるようになる、請求項1に記載のエンタープライズアイデンティティプロバイダサーバ。
  10. 前記第2の認証トークンを取り出すことが、前記エンタープライズアイデンティティプロバイダサーバにさらに、
    前記トークンストアから前記第2の認証トークンを、前記第2の認証トークンを前記第1の認証トークンに関連付ける参照に基づいて取り出させる、請求項1に記載のエンタープライズアイデンティティプロバイダサーバ。
  11. 方法であって、
    少なくとも1つのプロセッサ、メモリ、および通信インターフェースを備えるエンタープライズアイデンティティプロバイダサーバにおいて、
    前記通信インターフェースを介して、前記エンタープライズアイデンティティプロバイダサーバにより供給されるエンタープライズアイデンティティサービスと統合されたエンタープライズサーバから、前記エンタープライズアイデンティティプロバイダサーバにより前記エンタープライズサーバに対して既に発行されている第1の認証トークンを受信することと、
    前記第1の認証トークンを受信したことに応答して、前記エンタープライズアイデンティティプロバイダサーバにより維持されるトークンストアから、連携アイデンティティプロバイダサーバにより供給される連携アイデンティティサービスに関連付けられる第2の認証トークンを取り出すことと、
    前記第2の認証トークンを、前記連携アイデンティティプロバイダサーバにより供給される前記連携アイデンティティサービスでリフレッシュして、リフレッシュされた認証トークンを取得することと、
    前記通信インターフェースを介して、前記エンタープライズサーバに前記リフレッシュされた認証トークンを送信することであって、前記リフレッシュされた認証トークンを前記エンタープライズサーバに送信することにより、前記エンタープライズサーバにより管理されるユーザデバイスが、サードパーティシステムにより供給される1つ以上のリソースに前記連携アイデンティティサービスを使用してアクセスすることができるようになる、送信することと、を含む、方法。
  12. 前記第1の認証トークンを受信する前に、前記エンタープライズサーバに前記第1の認証トークンをプロビジョニングすることをさらに含む、請求項11に記載の方法。
  13. 前記トークンストアに、前記第2の認証トークン、および前記第2の認証トークンを前記第1の認証トークンに関連付ける参照を格納することをさらに含む、請求項11に記載の方法。
  14. 前記第2の認証トークンをリフレッシュしたことに応答して、前記トークンストアに、前記リフレッシュされた第2の認証トークン、および前記リフレッシュされた第2の認証トークンを前記第1の認証トークンに関連付ける参照を格納することをさらに含む、請求項11に記載の方法。
  15. 前記第2の認証トークンをリフレッシュすることは、
    前記通信インターフェースを介して、前記第2の認証トークンを再生成するためのリクエストを前記連携アイデンティティプロバイダサーバに送信することであって、前記連携アイデンティティプロバイダサーバは、前記リフレッシュされた認証トークンを生成する、送信することと、
    前記通信インターフェースを介して、前記リフレッシュされた認証トークンを前記連携アイデンティティプロバイダサーバから受信することと、
    前記トークンストアを、前記リフレッシュされた認証トークン、および前記リフレッシュされた認証トークンを前記第1の認証トークンに関連付ける参照で更新することと、をさらに含む、請求項11に記載の方法。
  16. 前記通信インターフェースを介して、前記サードパーティシステムにより供給される前記1つ以上のリソースに前記連携アイデンティティサービスを使用してアクセスするためのリクエストを前記エンタープライズサーバから受信することと、
    前記通信インターフェースを介して、前記エンタープライズサーバからの前記リクエストを、前記連携アイデンティティプロバイダサーバにより供給される前記連携アイデンティティサービスにリダイレクトすることと、をさらに含む、請求項11に記載の方法。
  17. 前記第1の認証トークンにより、前記エンタープライズサーバにより管理される前記ユーザデバイスが、1つ以上のリソースに、前記エンタープライズアイデンティティプロバイダサーバにより供給されるエンタープライズアイデンティティサービスを使用してシングルサインオンでアクセスすることができるようになる、請求項11に記載の方法。
  18. 前記第2の認証トークンにより、前記エンタープライズサーバにより管理される前記ユーザデバイスが、前記サードパーティシステムに、前記連携アイデンティティサービスを使用してシングルサインオンでアクセスすることができるようになる、請求項11に記載の方法。
  19. トークンストアから前記第2の認証トークンを、前記第2の認証トークンを前記第1の認証トークンに関連付ける参照に基づいて取り出すことをさらに含む、請求項11に記載の方法。
  20. 命令を格納する1つ以上の非一時的なコンピュータ可読媒体であって、前記命令が、少なくとも1つのプロセッサ、メモリ、および通信インターフェースを備えるコンピューティングプラットフォームにより実行されると、前記コンピューティングプラットフォームに、
    前記通信インターフェースを介して、エンタープライズアイデンティティプロバイダサーバにより供給されるエンタープライズアイデンティティサービスと統合されたエンタープライズサーバから、前記エンタープライズアイデンティティプロバイダサーバにより前記エンタープライズサーバに対して既に発行されている第1の認証トークンを受信することと、
    前記第1の認証トークンを受信したことに応答して、前記エンタープライズアイデンティティプロバイダサーバにより維持されるトークンストアから、連携アイデンティティプロバイダサーバにより供給される連携アイデンティティサービスに関連付けられる第2の認証トークンを取り出すことと、
    前記第2の認証トークンを、前記連携アイデンティティプロバイダサーバにより供給される前記連携アイデンティティサービスでリフレッシュして、リフレッシュされた認証トークンを取得することと、
    前記通信インターフェースを介して、前記エンタープライズサーバに、前記リフレッシュされた認証トークンを送信することであって、前記リフレッシュされた認証トークンを前記エンタープライズサーバに送信することにより、前記エンタープライズサーバにより管理されるユーザデバイスが、サードパーティシステムにより供給される1つ以上のリソースに前記連携アイデンティティサービスを使用してアクセスすることができるようになる、送信することと、を行わせる、1つ以上の非一時的なコンピュータ可読媒体。
JP2020508558A 2017-08-17 2018-08-13 連携ログオンプロバイダの依存パーティへのシングルサインオンの拡張 Active JP6821857B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/679,686 2017-08-17
US15/679,686 US10721222B2 (en) 2017-08-17 2017-08-17 Extending single-sign-on to relying parties of federated logon providers
PCT/US2018/046443 WO2019036337A1 (en) 2017-08-17 2018-08-13 EXTENSION OF A SINGLE SIGNATURE TO USER PARTIES OF FEDERATED SESSION OPENING PROVIDERS

Publications (2)

Publication Number Publication Date
JP2020531973A JP2020531973A (ja) 2020-11-05
JP6821857B2 true JP6821857B2 (ja) 2021-01-27

Family

ID=63407543

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020508558A Active JP6821857B2 (ja) 2017-08-17 2018-08-13 連携ログオンプロバイダの依存パーティへのシングルサインオンの拡張

Country Status (7)

Country Link
US (2) US10721222B2 (ja)
EP (1) EP3669512B1 (ja)
JP (1) JP6821857B2 (ja)
CN (1) CN111052706B (ja)
AU (1) AU2018318922B2 (ja)
CA (1) CA3073086C (ja)
WO (1) WO2019036337A1 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8312033B1 (en) 2008-06-26 2012-11-13 Experian Marketing Solutions, Inc. Systems and methods for providing an integrated identifier
US9607336B1 (en) 2011-06-16 2017-03-28 Consumerinfo.Com, Inc. Providing credit inquiry alerts
US10664936B2 (en) 2013-03-15 2020-05-26 Csidentity Corporation Authentication systems and methods for on-demand products
US9633322B1 (en) 2013-03-15 2017-04-25 Consumerinfo.Com, Inc. Adjustment of knowledge-based authentication
US9721147B1 (en) 2013-05-23 2017-08-01 Consumerinfo.Com, Inc. Digital identity
US10373240B1 (en) 2014-04-25 2019-08-06 Csidentity Corporation Systems, methods and computer-program products for eligibility verification
US10721222B2 (en) 2017-08-17 2020-07-21 Citrix Systems, Inc. Extending single-sign-on to relying parties of federated logon providers
US10505733B2 (en) 2017-09-25 2019-12-10 Citrix Systems, Inc. Generating and managing a composite identity token for multi-service use
US10877960B2 (en) 2017-10-16 2020-12-29 Citrix Systems, Inc. Normalizing user identification across disparate systems
US11323426B2 (en) * 2017-10-19 2022-05-03 Check Point Software Technologies Ltd. Method to identify users behind a shared VPN tunnel
US11700260B2 (en) * 2018-04-27 2023-07-11 Nelson A. Cicchitto Method and apparatus for native authentication to cloud services with identity management of on-premise applications from the cloud
US10819695B2 (en) * 2018-05-25 2020-10-27 Citrix Systems, Inc. Electronic device including local identity provider server for single sign on and related methods
US10911234B2 (en) * 2018-06-22 2021-02-02 Experian Information Solutions, Inc. System and method for a token gateway environment
US10742636B2 (en) 2018-08-22 2020-08-11 Sap Se OAuth2 SAML token service
US11176230B2 (en) 2018-12-05 2021-11-16 Bank Of America Corporation Processing authentication requests to secured information systems based on user behavior profiles
US11159510B2 (en) * 2018-12-05 2021-10-26 Bank Of America Corporation Utilizing federated user identifiers to enable secure information sharing
US11356458B2 (en) * 2019-03-15 2022-06-07 Mastercard International Incorporated Systems, methods, and computer program products for dual layer federated identity based access control
US11503012B1 (en) 2019-06-28 2022-11-15 Amazon Technologies, Inc. Client authentication using a client certificate-based identity provider
US11570164B2 (en) * 2019-07-30 2023-01-31 Dell Products L.P. System and method of single sign on to master website and silent authentication for subservient websites
US11941065B1 (en) 2019-09-13 2024-03-26 Experian Information Solutions, Inc. Single identifier platform for storing entity data
CN110581863B (zh) * 2019-10-25 2022-03-04 北京浪潮数据技术有限公司 一种云平台的单点登录方法、装置、设备及介质
US11252146B2 (en) * 2019-11-19 2022-02-15 Microsoft Technologly Licensing, LLC Server to server communication
US11366891B2 (en) * 2019-11-25 2022-06-21 Jpmorgan Chase Bank, N.A. Method and system for facilitating an identification of an application
CN111193776B (zh) * 2019-12-11 2022-02-25 福建升腾资讯有限公司 云桌面环境下客户端自动登录方法、装置、设备和介质
US11463428B2 (en) * 2020-03-30 2022-10-04 Konica Minolta Business Solutions U.S.A., Inc. Method and system of piggybacking user registration with mirrored identities to achieve federation without on-premises identities
US11595375B2 (en) 2020-04-14 2023-02-28 Saudi Arabian Oil Company Single sign-on for token-based and web-based applications
US11843593B2 (en) * 2020-06-01 2023-12-12 Citrix Systems, Inc. Application integration using multiple user identities
CN112637113B (zh) * 2020-09-04 2022-08-12 山东英信计算机技术有限公司 集成系统跨平台认证方法及相关组件
US11431710B2 (en) 2020-11-06 2022-08-30 Okta, Inc. Efficient generation of identity provider integrations
WO2022147297A1 (en) * 2020-12-31 2022-07-07 Idemia Identity & Security USA LLC Convergent digital identity based supertokenization
CN113190808A (zh) * 2021-03-31 2021-07-30 北京达佳互联信息技术有限公司 登录方法、装置、电子设备及存储介质
US11956240B2 (en) * 2021-04-19 2024-04-09 EMC IP Holding Company LLC Systems and methods for temporary access with adaptive trust levels for authentication and authorization
US20230068880A1 (en) * 2021-08-27 2023-03-02 EMC IP Holding Company LLC Function-based service framework with trusted execution platform
US11936658B2 (en) 2021-11-15 2024-03-19 Bank Of America Corporation Intelligent assignment of a network resource
CN114488974B (zh) * 2021-12-31 2023-11-03 江苏扬子净化工程有限公司 一种基于洁净车间plc控制的集成管理系统
WO2024065147A1 (en) * 2022-09-27 2024-04-04 Citrix Systems, Inc. Group management

Family Cites Families (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7685206B1 (en) * 2004-02-12 2010-03-23 Microsoft Corporation Authorization and access control service for distributed network resources
US20080072301A1 (en) * 2004-07-09 2008-03-20 Matsushita Electric Industrial Co., Ltd. System And Method For Managing User Authentication And Service Authorization To Achieve Single-Sign-On To Access Multiple Network Interfaces
US7698375B2 (en) * 2004-07-21 2010-04-13 International Business Machines Corporation Method and system for pluggability of federation protocol runtimes for federated user lifecycle management
US20060048216A1 (en) * 2004-07-21 2006-03-02 International Business Machines Corporation Method and system for enabling federated user lifecycle management
US7562382B2 (en) * 2004-12-16 2009-07-14 International Business Machines Corporation Specializing support for a federation relationship
US20060218628A1 (en) * 2005-03-22 2006-09-28 Hinton Heather M Method and system for enhanced federated single logout
EP1811421A1 (en) * 2005-12-29 2007-07-25 AXSionics AG Security token and method for authentication of a user with the security token
CN101507233B (zh) * 2006-08-22 2013-02-13 交互数字技术公司 用于提供对于应用程序和基于互联网的服务的可信单点登录访问的方法和设备
KR100953092B1 (ko) * 2007-11-06 2010-04-19 한국전자통신연구원 Sso서비스 방법 및 시스템
US8364969B2 (en) * 2009-02-02 2013-01-29 Yahoo! Inc. Protecting privacy of shared personal information
US20100251353A1 (en) * 2009-03-25 2010-09-30 Novell, Inc. User-authorized information card delegation
US8595494B2 (en) * 2009-10-22 2013-11-26 Telefonaktiebolaget Lm Ericsson Method for managing access to protected resources in a computer network, physical entities and computer programs therefor
US8453225B2 (en) * 2009-12-23 2013-05-28 Citrix Systems, Inc. Systems and methods for intercepting and automatically filling in forms by the appliance for single-sign on
EP2526504A1 (en) * 2010-01-22 2012-11-28 InterDigital Patent Holdings, Inc. Method and apparatus for trusted federated identity management and data access authorization
US20130036455A1 (en) * 2010-01-25 2013-02-07 Nokia Siemens Networks Oy Method for controlling acess to resources
EP2540051B1 (en) * 2010-02-24 2015-04-08 Telefonaktiebolaget L M Ericsson (Publ) Method for managing access to protected resources and delegating authority in a computer network
US9270663B2 (en) * 2010-04-30 2016-02-23 T-Central, Inc. System and method to enable PKI- and PMI-based distributed locking of content and distributed unlocking of protected content and/or scoring of users and/or scoring of end-entity access means—added
US8997196B2 (en) * 2010-06-14 2015-03-31 Microsoft Corporation Flexible end-point compliance and strong authentication for distributed hybrid enterprises
US20130173712A1 (en) * 2010-06-30 2013-07-04 Universidad Politenica De Madrid Method for selectively distributing information in a computer or communication network, and physical entities therefor
US9560036B2 (en) * 2010-07-08 2017-01-31 International Business Machines Corporation Cross-protocol federated single sign-on (F-SSO) for cloud enablement
US8474017B2 (en) * 2010-07-23 2013-06-25 Verizon Patent And Licensing Inc. Identity management and single sign-on in a heterogeneous composite service scenario
US8898759B2 (en) * 2010-08-24 2014-11-25 Verizon Patent And Licensing Inc. Application registration, authorization, and verification
US8850550B2 (en) 2010-11-23 2014-09-30 Microsoft Corporation Using cached security tokens in an online service
WO2012069263A2 (en) * 2010-11-24 2012-05-31 Telefonica, S.A. Method for authorizing access to protected content
US8832271B2 (en) * 2010-12-03 2014-09-09 International Business Machines Corporation Identity provider instance discovery
US9311462B1 (en) * 2011-03-04 2016-04-12 Zynga Inc. Cross platform social networking authentication system
DK2689372T3 (da) * 2011-03-25 2020-03-02 Thales Dis France Sa Bruger-til-bruger-delegeringsservice i et fødereret identitetsstyringsmiljø
US9497184B2 (en) * 2011-03-28 2016-11-15 International Business Machines Corporation User impersonation/delegation in a token-based authentication system
US20120323717A1 (en) * 2011-06-16 2012-12-20 OneID, Inc. Method and system for determining authentication levels in transactions
US20130054454A1 (en) * 2011-08-18 2013-02-28 Thomas Purves Wallet Service Enrollment Platform Apparatuses, Methods and Systems
US8756692B2 (en) * 2011-07-06 2014-06-17 Eureka! It Works, Llc Controlling network-based applications with social media postings
US8959347B2 (en) * 2011-08-29 2015-02-17 Salesforce.Com, Inc. Methods and systems of data security in browser storage
US9531697B2 (en) * 2011-09-29 2016-12-27 Oracle International Corporation Configurable adaptive access manager callouts
US9043886B2 (en) * 2011-09-29 2015-05-26 Oracle International Corporation Relying party platform/framework for access management infrastructures
US8844013B2 (en) * 2011-10-04 2014-09-23 Salesforce.Com, Inc. Providing third party authentication in an on-demand service environment
US9396197B2 (en) * 2011-11-17 2016-07-19 Microsoft Technology Licensing, Llc Inserting media content from multiple repositories
CN103188248A (zh) * 2011-12-31 2013-07-03 卓望数码技术(深圳)有限公司 基于单点登录的身份认证系统及方法
US8943202B2 (en) * 2012-01-12 2015-01-27 Cisco Technology, Inc. Network resource access using social networks
EP2805470B1 (en) * 2012-01-20 2018-09-12 Interdigital Patent Holdings, Inc. Identity management with local functionality
US8681350B2 (en) * 2012-02-29 2014-03-25 Canon Kabushiki Kaisha Systems and methods for enterprise sharing of a printing device
US9378356B2 (en) * 2012-04-13 2016-06-28 Paypal, Inc. Two factor authentication using a one-time password
US20140041055A1 (en) * 2012-08-06 2014-02-06 Avaya Inc. System and method for online access control based on users social network context
US9747388B2 (en) * 2012-08-31 2017-08-29 Salesforce.Com, Inc. Systems and methods for providing access to external content objects
US9338007B1 (en) * 2012-10-26 2016-05-10 Google Inc. Secure delegated authentication for applications
US8613055B1 (en) * 2013-02-22 2013-12-17 Ping Identity Corporation Methods and apparatus for selecting an authentication mode at time of issuance of an access token
US9009806B2 (en) * 2013-04-12 2015-04-14 Globoforce Limited System and method for mobile single sign-on integration
US9106642B1 (en) * 2013-09-11 2015-08-11 Amazon Technologies, Inc. Synchronizing authentication sessions between applications
JP6033990B2 (ja) * 2013-09-20 2016-11-30 オラクル・インターナショナル・コーポレイション 単一のフレキシブルかつプラガブルOAuthサーバを備える複数のリソースサーバ、OAuth保護したREST式OAuth許諾管理サービス、およびモバイルアプリケーションシングルサインオンするOAuthサービス
US10243945B1 (en) * 2013-10-28 2019-03-26 Amazon Technologies, Inc. Managed identity federation
US9397990B1 (en) * 2013-11-08 2016-07-19 Google Inc. Methods and systems of generating and using authentication credentials for decentralized authorization in the cloud
US9386007B2 (en) * 2013-12-27 2016-07-05 Sap Se Multi-domain applications with authorization and authentication in cloud environment
US9258294B2 (en) * 2013-12-31 2016-02-09 Cellco Partnership Remote authentication method with single sign on credentials
US9674699B2 (en) * 2014-08-15 2017-06-06 Sap Se System and methods for secure communication in mobile devices
US9948610B2 (en) * 2014-08-29 2018-04-17 Citrix Systems, Inc. Method and apparatus for accessing third-party resources
US10122703B2 (en) * 2014-09-30 2018-11-06 Citrix Systems, Inc. Federated full domain logon
US9942229B2 (en) * 2014-10-03 2018-04-10 Gopro, Inc. Authenticating a limited input device via an authenticated application
US9401912B2 (en) * 2014-10-13 2016-07-26 Netiq Corporation Late binding authentication
US9578015B2 (en) * 2014-10-31 2017-02-21 Vmware, Inc. Step-up authentication for single sign-on
US9779233B2 (en) * 2015-03-05 2017-10-03 Ricoh Co., Ltd. Broker-based authentication system architecture and design
US9819665B1 (en) * 2015-06-26 2017-11-14 EMC IP Holding Company LLC Synchronization of access tokens for session continuity across multiple devices
US10270753B2 (en) * 2015-08-14 2019-04-23 Salesforce.Com, Inc. Background authentication refresh
JP6727799B2 (ja) * 2015-12-09 2020-07-22 キヤノン株式会社 権限委譲システム、情報処理装置、認可サーバ、制御方法およびプログラム
WO2017173099A1 (en) * 2016-03-30 2017-10-05 Ping Identity Corporation Methods and apparatus for assessing authentication risk and implementing single sign on (sso) using a distributed consensus database
CN105959267B (zh) * 2016-04-25 2019-03-01 北京九州云腾科技有限公司 单点登录技术中的主令牌获取方法、单点登录方法及系统
US9838376B1 (en) * 2016-05-11 2017-12-05 Oracle International Corporation Microservices based multi-tenant identity and data security management cloud service
US10581820B2 (en) * 2016-05-11 2020-03-03 Oracle International Corporation Key generation and rollover
US10425386B2 (en) * 2016-05-11 2019-09-24 Oracle International Corporation Policy enforcement point for a multi-tenant identity and data security management cloud service
US10454940B2 (en) * 2016-05-11 2019-10-22 Oracle International Corporation Identity cloud service authorization model
US10341410B2 (en) * 2016-05-11 2019-07-02 Oracle International Corporation Security tokens for a multi-tenant identity and data security management cloud service
US10516672B2 (en) * 2016-08-05 2019-12-24 Oracle International Corporation Service discovery for a multi-tenant identity and data security management cloud service
US10530578B2 (en) * 2016-08-05 2020-01-07 Oracle International Corporation Key store service
US10846390B2 (en) * 2016-09-14 2020-11-24 Oracle International Corporation Single sign-on functionality for a multi-tenant identity and data security management cloud service
US10511589B2 (en) * 2016-09-14 2019-12-17 Oracle International Corporation Single logout functionality for a multi-tenant identity and data security management cloud service
US10594684B2 (en) * 2016-09-14 2020-03-17 Oracle International Corporation Generating derived credentials for a multi-tenant identity cloud service
US10791087B2 (en) * 2016-09-16 2020-09-29 Oracle International Corporation SCIM to LDAP mapping using subtype attributes
US10630668B2 (en) * 2017-04-28 2020-04-21 Amazon Technologies, Inc. Single sign-on registration
US10454915B2 (en) * 2017-05-18 2019-10-22 Oracle International Corporation User authentication using kerberos with identity cloud service
US10708053B2 (en) * 2017-05-19 2020-07-07 Intuit Inc. Coordinating access authorization across multiple systems at different mutual trust levels
US10547622B2 (en) * 2017-06-30 2020-01-28 International Busines Machines Corporation Extended OAuth architecture support in a scalable environment
US10721222B2 (en) 2017-08-17 2020-07-21 Citrix Systems, Inc. Extending single-sign-on to relying parties of federated logon providers

Also Published As

Publication number Publication date
JP2020531973A (ja) 2020-11-05
CA3073086C (en) 2023-01-24
CA3073086A1 (en) 2019-02-21
EP3669512A1 (en) 2020-06-24
AU2018318922A1 (en) 2020-03-12
CN111052706A (zh) 2020-04-21
US20190058706A1 (en) 2019-02-21
US11706205B2 (en) 2023-07-18
CN111052706B (zh) 2021-11-23
EP3669512B1 (en) 2021-10-20
WO2019036337A1 (en) 2019-02-21
AU2018318922B2 (en) 2021-04-22
US20200314088A1 (en) 2020-10-01
US10721222B2 (en) 2020-07-21

Similar Documents

Publication Publication Date Title
JP6821857B2 (ja) 連携ログオンプロバイダの依存パーティへのシングルサインオンの拡張
US11722465B2 (en) Password encryption for hybrid cloud services
KR102188919B1 (ko) 클라이언트 애플리케이션들에 대한 보안 싱글 사인 온 및 조건부 액세스
US11627120B2 (en) Dynamic crypto key management for mobility in a cloud environment
US20180049026A1 (en) Using Derived Credentials for Enrollment with Enterprise Mobile Device Management Services
JP2019526842A (ja) 仮想ブラウザ統合
US11652613B2 (en) Secure information exchange in federated authentication
JP2021535521A (ja) 仮想デスクトップでのローカルマップアカウント
US20210019201A1 (en) Real-Time File System Event Mapping To Cloud Events

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200902

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200902

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20201204

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: 20201210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210106

R150 Certificate of patent or registration of utility model

Ref document number: 6821857

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150