JP6348661B2 - サードパーティの認証サポートを介した企業認証 - Google Patents

サードパーティの認証サポートを介した企業認証 Download PDF

Info

Publication number
JP6348661B2
JP6348661B2 JP2017520865A JP2017520865A JP6348661B2 JP 6348661 B2 JP6348661 B2 JP 6348661B2 JP 2017520865 A JP2017520865 A JP 2017520865A JP 2017520865 A JP2017520865 A JP 2017520865A JP 6348661 B2 JP6348661 B2 JP 6348661B2
Authority
JP
Japan
Prior art keywords
authentication
client device
application
computing device
gateway
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.)
Expired - Fee Related
Application number
JP2017520865A
Other languages
English (en)
Other versions
JP2017524214A (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 JP2017524214A publication Critical patent/JP2017524214A/ja
Application granted granted Critical
Publication of JP6348661B2 publication Critical patent/JP6348661B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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
    • 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/44Program or device authentication
    • 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
    • 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/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • 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/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
    • H04L9/3213Cryptographic 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 using tickets or tokens, e.g. Kerberos
    • 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/3226Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • 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/3271Cryptographic 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 using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Information Transfer Between Computers (AREA)

Description

本明細書に説明する諸側面は一般に、企業(enterprise)システム内のクライアントデバイスの認証に関するものである。より具体的には、本明細書の一定の側面は、サードパーティの認証サポートを介した企業システム上のクライアントデバイスの認証手法を提供する。
以下に、本明細書に説明するさまざまな側面の簡単な概要を提示する。本概要は広範な全体像ではなく、重要なもしくは欠かせない要素を特定すること、または請求項の範囲を正確に説明することを意図していない。以下の概要は、以下に記載するより詳細な説明の導入として、単にいくつかの概念を簡単な形で提示するにすぎない。
スマートフォン、携帯情報端末、タブレットコンピュータ、他の種類のモバイルおよび非モバイルコンピューティングデバイスなどのモバイルデバイスはますます一般的になってきている。ますます多くの人が個人およびビジネス環境において多様な目的でモバイルデバイスを使用している。
モバイルデバイスを使用する人が増えるにつれて、アプリケーション開発者によってますます多くのモバイルアプリケーションが設計されるようになっている。これらのアプリケーション開発者は、ユーザおよびデバイスの妥当性検証に使用してもよい、彼らのアプリケーションまたは他の開発者のアプリケーションの認証方法を開発することがある。しかし、これらのアプリケーション開発者は、iOSおよびAndroidのようなモバイルデバイスのオペレーティングシステム上で稼動している企業管理対象アプリケーションに、彼らの認証プロトコルを実装することができないことがある。
上記背景に鑑みて、企業の認証プロトコルを維持し、企業認証に適用することのできる認証技術の革新を可能にしながら、サードパーティのアプリケーション開発者がその企業管理対象アプリケーションのために自身の認証プロトコルを実施できるようにする必要がある。たとえば、ユーザは、企業システムが管理しているかもしれないサードパーティのアプリケーションを認証するために、サードパーティの認証技術を利用したいことがある。
そのため、前述した先行技術における制限を克服するとともに、本明細書を読んで理解したときに明らかになる他の制限を克服するために、本明細書に説明する諸側面は企業システム内のクライアントデバイスをゲートウェイデバイスを介して認証および許可するアプローチを提供することに向けられる。
本開示の1つまたは複数の側面によれば、コンピューティングデバイスから認証デバイスに、フォームログインプロトコルを介してクライアントデバイス・アプリケーションの認証要求を送信することと、コンピューティングデバイスによって、認証デバイスから、第1の認証資格情報を要求する第1の資格情報フォームを読み取る(retrieve)こととを含む方法を提供し、前記第1の資格情報フォームは、前記認証デバイスに接続されている拡張デバイスにより、前記クライアントデバイス・アプリケーションに関連する認証サービスから受信した情報に基づいて生成され、前記拡張デバイスは前記クライアントデバイス・アプリケーションに関連する前記認証サービスの1つ以上の認証プロトコルを用いて構成されている。方法はさらに、コンピューティングデバイスによりクライアントデバイス・アプリケーションに、第1の資格情報フォームを送信することと、前記コンピューティングデバイスにより前記クライアントデバイス・アプリケーションから、前記第1の認証資格情報を受信することと、前記コンピューティングデバイスにより前記拡張デバイスを介して前記認証サービスに、前記第1の認証資格情報を送信することとを含んでもよい。方法はさらに、コンピューティングデバイスにより、前記第1の認証資格情報の妥当性検証の成功に応答して、前記フォームログインプロトコルを介して前記クライアントデバイス・アプリケーションにより行われる認証要求の承認を送信することを含んでもよい。
本開示の1つまたは複数の側面は、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサで実行されたときに、システムに1つ以上のステップを行わせる命令を格納する少なくとも1つのメモリとを含むシステムを提供する。システムが行えるステップは、コンピューティングデバイスにより認証デバイスに、フォームログインプロトコルを介してクライアントデバイス・アプリケーションの認証要求を送信することと、前記コンピューティングデバイスにより前記認証デバイスから、第1の認証資格情報を要求する第1の資格情報フォームを取得(retrieve)することとを含んでもよく、前記第1の資格情報フォームは、前記認証デバイスに接続されている拡張デバイスにより、前記クライアントデバイス・アプリケーションに関連する認証サービスから受信した情報に基づいて生成され、前記拡張デバイスは前記クライアントデバイス・アプリケーションに関連する前記認証サービスの1つ以上の認証プロトコルを用いて構成されている。ステップはさらに、前記コンピューティングデバイスにより前記クライアントデバイス・アプリケーションに、前記第1の資格情報フォームを送信することと、前記コンピューティングデバイスにより前記クライアントデバイス・アプリケーションから、前記第1の認証資格情報を受信することと、前記コンピューティングデバイスにより前記拡張デバイスを介して前記認証サービスに、前記第1の認証資格情報を送信することとを含んでもよい。ステップはさらに、前記コンピューティングデバイスにより、前記第1の認証資格情報の妥当性検証の成功に応答して、前記フォームログインプロトコルを介して前記クライアントデバイス・アプリケーションにより行われる認証要求の承認を送信することを含んでもよい。
本開示の1つまたは複数の側面は、1つ以上のプロセッサにより実行されたときに、前記1つ以上のプロセッサにステップを行わせられる命令を格納している1つ以上の不揮発性コンピュータ読取可能記憶媒体を提供する。1つ以上のプロセッサが行うステップは、コンピューティングデバイスにより認証デバイスに、フォームログインプロトコルを介してクライアントデバイス・アプリケーションの認証要求を送信することと、前記コンピューティングデバイスにより前記認証デバイスから、第1の認証資格情報を要求する第1の資格情報フォームを取り出す(retrieve)こととを含んでもよく、前記第1の資格情報フォームは、前記認証デバイスに接続されている拡張デバイスにより、前記クライアントデバイス・アプリケーションに関連する認証サービスから受信した情報に基づいて生成され、前記拡張デバイスは前記クライアントデバイス・アプリケーションに関連した前記認証サービスの1つ以上の認証プロトコルを用いて構成されている。ステップはさらに、前記コンピューティングデバイスにより前記クライアントデバイス・アプリケーションに、前記第1の資格情報フォームを送信することと、前記コンピューティングデバイスにより前記クライアントデバイス・アプリケーションから、前記第1の認証資格情報を受信することと、前記コンピューティングデバイスにより前記拡張デバイスを介して前記認証サービスに、前記第1の認証資格情報を送信することとを含んでもよい。ステップはさらに、前記コンピューティングデバイスにより、前記第1の認証資格情報の妥当性検証の成功に応答して、前記フォームログインプロトコルを介して前記クライアントデバイス・アプリケーションにより行われる認証要求の承認を送信することを含んでもよい。
以上および追加の側面は、以下のさらに詳細に述べる開示により認識されるであろう。
本明細書で説明する側面およびその利点は、添付の図面を考慮して以下の説明を参照すると、より完全な理解が得られる。図面において、同様の参照番号は同様の特徴を示す。
本発明の1つ以上の実施形態に従って使用されるコンピュータシステムアーキテクチャを示す図である。 本発明の1つ以上の実施形態に従って使用されるリモートアクセスシステムのアーキテクチャを示す図である。 企業モビリティ管理システムを示す図である。 別の企業モビリティ管理システムを示す図である。 本明細書で説明する1つ以上の特徴に従うシステムを示す模式図である。 本明細書で説明する1つ以上の特徴に従い、サードパーティの認証サポートにより企業システム上のクライアントデバイスの例示的な認証プロセスを示すフローチャートである。 本明細書で説明する1つ以上の特徴に従う例示的なシステムを示す模式図である。 本明細書で説明する1つ以上の特徴に従い、サードパーティ認証サービスを介した企業システム上のクライアントデバイスの例示的な認証プロセスを示すフローチャートである。 本明細書で説明する1つ以上の特徴に従う例示的なユーザインターフェースを示す図である。 本明細書で説明する1つ以上の特徴に従う例示的なユーザインターフェースを示す図である。 本明細書で説明する1つ以上の特徴に従う例示的なシステムを示す模式図である。
さまざまな実施形態の以下の説明において、上述のとおり特定し、本明細書の一部をなし、例示により本明細書で説明する側面を実施してもよい様々な実施形態を示す添付の図面を参照する。本明細書で説明する範囲を逸脱することなく、他の実施形態を利用し、構造および機能の変型を行えることは理解されるべきである。さまざまな側面は他の実施形態が可能であり、さまざまな異なる方法で実施または実行することが可能である。
以下詳細に説明する主題の概要紹介として、本明細書で説明する側面は、モバイルコンピューティングデバイスの管理対象モバイルアプリケーションを使用して、企業コンピューティングシステムのリソースへのリモートアクセスを制御することに向けられる。
アクセスマネージャは、企業リソースへのアクセスを要求するモバイルアプリケーションが正確に確認され、モバイルコンピューティングデバイスへのインストール後に後で改変されていないかどうかを判定する検証プロセスを行う。このように、アクセスマネージャは企業リソースへのアクセスを要求するモバイルアプリケーションが信頼でき、その企業リソースを保護するために使用されるセキュリティメカニズムを回避しようとしていないことを保証する。その結果、企業に関連する個人は、自分の私用モバイルデバイスで企業リソースを有利に利用することができる。
本明細書で使用される表現および用語は、説明目的であり、制限と見なしてはならないことは理解されるべきである。むしろ、本明細書で使用される表現および用語には、そのもっとも広い解釈および意味が与えられるべきである。「含み」および「備え」ならびにその変形の使用は、これ以降で挙げられるアイテムおよびその等価物ならびに追加アイテムおよびその等価物を包含することが意図されている。「取り付けられている」、「接続されている」、「連結されている」、「位置付けられている」、「係合されている」および同様な用語の使用は、直接および間接的な両方の取り付け、接続、連結、位置付けおよび係合を含むことが意図されている。
〈コンピューティングアーキテクチャ〉
コンピュータソフトウェア、ハードウェアおよびネットワークが、とりわけ、スタンドアローン、ネットワーク接続、リモートアクセス(別名、リモートデスクトップ)、ヴァーチャル環境、および/または、クラウドベース環境、を含む様々な異なるシステム環境において利用される。
図1は、スタンドアローンおよび/またはネットワーク接続環境において本明細書で記述される1つ以上の実施形態を実装するために使用される、システムアーキテクチャおよびデータ処理デバイスの一実施例を示す。
様々なネットワークノード103,105,107および109が、インターネット等のワイドエリアネットワーク(WAN)101を介して相互接続されている。プライベートイントラネット、企業ネットワーク、LANs、メトロポリタンエリアネットワーク(MAN)、無線ネットワーク、パーソナルネットワーク(PAN)等の、他のネットワークが、さらに/あるいは(additionally or alternatively)使用されてもよい。ネットワーク101は、例示目的であって、より少ないまたは追加されたコンピュータネットワークで置換されてもよい。ローカルエリアネットワーク(LAN)は、1つ以上の任意の公知のLANトポロジーを有してもよく、イーサネット(登録商標)等の様々な異なる1つ以上のプロトコルを使用してもよい。デバイス103,105,107,109および他のデバイス(図示せず)は、ツイステトペア線、同軸ケーブル、光ファイバ、無線波または他の通信媒体を介して1つ以上のネットワークに接続されている。
本明細書で使用され、図面において示される用語「ネットワーク」は、1つ以上の通信パスを介してリモートストレージデバイスが互いに結合されるシステムだけではなく、ストレージ容量を有するようなシステムに随時、結合されるスタンドアローンデバイスをも指す。その結果、用語「ネットワーク」は、「物理ネットワーク」のみならず、全ての物理ネットワークにわたって存在する、単一エンティティに帰するデータからなる「コンテンツネットワーク」をも含む。
コンポーネントは、データサーバ103、ウェブサーバ105およびクライアントコンピュータ107,109を含んでいる。データサーバ103は、本発明の1つ以上の実施形態を実行するためのデータベースおよび制御ソフトウェアについてのアクセス、制御および管理の全てを提供する。データサーバ103は、要求に応じてユーザがデータと相互作用し、データを取得するウェブサーバ105へと、接続されている。あるいは、データサーバ103は、ウェブサーバ自体として作動してもよく、インターネットに直接接続されてもよい。データサーバ103は、直接もしくは間接接続を介して、またはある他のネットワークを介して、ネットワーク101(例えばインターネット)を通じてウェブサーバ105に接続されていてもよい。
ユーザは、リモートコンピュータ107,109を使用して、例えばウェブブラウザを使用してデータサーバ103と相互作用し、ウェブサーバ105によりホストされる外部露出した1つ以上のウェブサイトを介してデータサーバ103とやりとりする。クライアントコンピュータ107,109は、データサーバ103と呼応して使用されて、そこに記憶されたデータにアクセスしてもよく、または、他の目的のために使用されてもよい。例えば、この分野で公知のように、インターネットブラウザを使用して、または、コンピュータネットワーク(インターネット等)を介してウェブサーバ105および/またはデータサーバ103と通信するソフトウェアアプリケーションを実行することにより、ユーザはクライアントデバイス107からウェブサーバ105にアクセスしてもよい。
サーバおよびアプリケーションは、同一の物理マシン上で組み合わされて、別個のヴァーチャルアドレスまたは論理アドレスを保持してもよく、またそれは別個の物理マシン上に存在してもよい。
図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つ以上のプログラムモジュール等のコンピュータ使用可能または読取可能なデータおよび/またはコンピュータで実行可能な命令において具体化される。
一般的に、プログラムモジュールは、コンピュータまたは他のデバイスにおいてプロセッサにより実行されるときに特定のタスクを実行するか、または、特定の抽出データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。モジュールは、実行のために順次コンパイルされるソースコードプログラミング言語で書かれてもよく、または、(限定されないが)ハイパーテキストマークアップランゲージ(HTML)またはエクステンシブルマークアップランゲージ(XML)のようなスクリプト言語で書かれてもよい。
コンピュータで実行可能な命令は、不揮発性ストレージデバイスのようなコンピュータ読取可能媒体上に記憶される。ハードディスク、CD−ROM、光学ストレージデバイス、磁気ストレージデバイス、および/または、これらの任意の組み合わせを含む、任意の適切なコンピュータ読取可能ストレージ媒体が利用されてもよい。さらに、本発明のデータまたはイベントを表す様々な伝送(非ストレージ)媒体が、金属線、光ファイバおよび/または無線伝送媒体(例えば、空中および/または空間)等の信号伝導媒体を介して移動する電磁波形式で、ソースとデスティネーションとの間で伝達されてもよい。
本発明の様々な態様は、方法、データ処理システムまたはコンピュータプログラム製品として具体化される。すなわち、本発明の様々な機能が、ソフトウェア、ファームウェアおよび/またはハードウェア、または、集積回路、フィールドプログラマブルゲートアレイ(FPGA)等のハードウェア均等物において、全体として、または、部分的に具体化される。特定のデータ構造が、本発明の1つ以上の態様をより効率的に実装するために使用されてもよく、このようなデータ構造は、本発明のコンピュータ実行可能な命令およびコンピュータ使用可能なデータの範囲内であると考えられる。
さらに図2を参照すると、本発明の1つ以上の態様が、リモートアクセス環境で実装されている。図2は、本発明の1つ以上の実施形態に従って使用されるコンピューティング環境200においてジェネリックコンピューティングデバイス201を含む、実施例としてのシステムアーキテクチャを示す。
ジェネリックコンピューティングデバイス201は、クライアントアクセスデバイスに対してヴァーチャルマシンを提供するよう構成された単一サーバまたは複数サーバのデスクトップ仮想化システム(例えば、リモートアクセスまたはクラウドシステム)において、サーバ206aとして使用されている。ジェネリックコンピューティングデバイス201は、サーバ、ならびに、RAM205、ROM207、I/Oモジュール209およびメモリ215を含む、その関連コンポーネントの全ての動作を制御するためのプロセッサ203を有している。
I/Oモジュール209は、ジェネリックコンピューティングデバイス201のユーザが入力を提供する、マウス、キーボード、タッチスクリーン、スキャナ、光学リーダおよび/またはスタイラス(または他の入力デバイス)を含んでいてもよく、音声出力を提供するスピーカ、ならびに、テキスト、オーディオビジュアル、および/またはグラフィカル出力を提供するビデオディスプレイデバイスのうちの1つ以上を含んでもよい。
ソフトウェアは、メモリ215および/または他のストレージ内に記憶され、ジェネリックコンピューティングデバイス201を、本発明の様々な機能を実行するための特別な目的のコンピューティングデバイスへと構成するよう命令をプロセッサ203に提供する。例えば、メモリ215は、オペレーティングシステム217、アプリケーションプログラム219および関連するデータベース221等の、コンピューティングデバイス201により使用されるソフトウェアを記憶している。
コンピューティングデバイス201は、ターミナル240(クライアントデバイスとも称される)等の1つ以上のリモートコンピュータへの接続をサポートするネットワーク接続環境で動作する。ターミナル240は、パーソナルコンピュータ、モバイルデバイス、ラップトップコンピュータ、タブレット、またはジェネリックコンピューティングデバイス103または201に対して前記の多数または全ての要素を含むサーバであってもよい。
図2に示されたネットワーク接続は、ローカルエリアネットワーク(LAN)225およびワイドエリアネットワーク(WAN)229を含むが、他のネットワークも含んでもよい。LANネットワーキング環境で使用されるとき、コンピューティングデバイス201は、ネットワークインタフェースまたはアダプタ223を通じてLAN225に接続される。WANネットワーキング環境で使用されるとき、コンピューティングデバイス201は、コンピュータネットワーク230(例えば、インターネット)等のWAN229を介した通信を確立するためのモデム227または他のワイドエリアネットワークインタフェースを含む。示されたネットワーク接続は例示であって、コンピュータ間の通信リンクを確立する他の手段が使用されてもよいことが理解されるであろう。
コンピューティングデバイス201および/またはターミナル240は、電池、スピーカおよびアンテナ(図示せず)等の様々な他のコンポーネントを含むモバイルターミナル(例えば、携帯電話、スマートフォン、パーソナルデジタルアシスタント(PDAs)、ノートブック等)であってもよい。
本発明の態様は、幾多の他の汎用目的または特別な目的のコンピューティングシステム環境またはコンフィグレーションで動作する。本発明の態様での使用に適しているであろう、他のコンピューティングシステム、環境および/またはコンフィグレーションの実施例には、限定されないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラマブルコンシューマエレクトロニクス、ネットワークパーソナルコンピュータ(PCs)、ミニコンピュータ、メインフレームコンピュータ、前記のシステムまたはデバイスの任意のものを含む分散コンピューティング環境、等が含まれる。
図2に示すように、1つ以上のクライアントデバイス240は、1つ以上のサーバ206a〜206n(ここでは一般的にサーバ206と称される)と通信する。1つの実施形態において、コンピューティング環境200は、サーバ206とクライアントマシン240との間に設置されるネットワークアプライアンスを含んでいる。ネットワークアプライアンスは、クライアント/サーバ接続を管理してもよく、場合によっては、複数のバックエンドサーバ206間でクライアント接続をロードバランシング(load balance)できる。
クライアントマシン240は、実施形態によっては、単一のクライアントマシン240またはクライアントマシン240の単一のグループと称されてもよく、サーバ206は、単一のサーバ206またはサーバ206の単一のグループと称されてもよい。1つの実施形態において、単一のクライアントマシン240は、2以上のサーバ206と通信し、別の実施形態において、単一のサーバ206は、2以上のクライアントマシン240と通信する。さらに別の実施形態において、単一のクライアントマシン240は、単一のサーバ206と通信する。
クライアントマシン240は、実施形態によっては、以下の非網羅的用語、すなわち、クライアントマシン、クライアント、クライアントコンピュータ、クライアントデバイス、クライアントコンピューティングデバイス、ローカルマシン、リモートマシン、クライアントノード、エンドポイント、またはエンドポイントノード、の任意の1つとして称される。サーバ206は、実施形態によっては、以下の非網羅的用語、すなわち、サーバ、ローカルマシン、リモートマシン、サーバファームまたはホストコンピューティングデバイス、の任意の1つとして称される。
1つの実施形態において、クライアントマシン240は、ヴァーチャルマシンであってもよい。ヴァーチャルマシンは任意のヴァーチャルマシンであってもよく、実施形態によっては、ヴァーチャルマシンは、タイプ1またはタイプ2ハイパーバイザ、例えば、Citrix Systems、IBM、VMwareにより開発されたハイパーバイザまたは任意の他のハイパーバイザにより管理される任意のヴァーチャルマシンであってもよい。ある態様では、バーチャルマシンはハイパーバイザにより管理されてよく、また別の態様では、ヴァーチャルマシンは、サーバ206上で実行するハイパーバイザまたはクライアント240上で実行するハイパーバイザにより管理されてもよい。
実施形態によっては、サーバ206または他の遠隔配置されたマシン上で遠隔実行するアプリケーションにより生成されるアプリケーション出力を表示するクライアントデバイス240が含まれる。これらの実施形態において、クライアントデバイス240は、ヴァーチャルマシンレシーバプログラムまたはアプリケーションを実行して、アプリケーションウィンドウ、ブラウザまたは他の出力ウィンドウにおいて出力を表示する。
一実施例では、アプリケーションは、デスクトップであり、一方、他の実施例では、アプリケーションは、デスクトップを生成または提示するアプリケーションである。デスクトップは、ローカルおよび/またはリモートアプリケーションが統合されることができるオペレーティングシステムのインスタンスのためのユーザインタフェースを提供するグラフィカルシェルを含んでいる。アプリケーションは、ここで使用されるように、オペレーティングシステムのインスタンスが(および任意選択的にデスクトップも)ロードされた後に実行されるプログラムである。
サーバ206は、実施形態によっては、リモートプレゼンテーションプロトコルまたは他のプログラムを使用して、データをシンクライアントまたはクライアント上で実行するリモートディスプレイアプリケーションに送信し、サーバ206上で実行するアプリケーションにより生成されるディスプレイ出力を提示する。シンクライアントまたはリモートディスプレイプロトコルは、以下のプロトコルの非網羅的リスト、すなわち、フロリダ州フォートローダーデールのCitrix Systems社により開発されたインデペンデントコンピューティングアキテクチャ(ICA)プロトコル、または、ワシントン州レドモンドのMicrosoft社により製造されるリモートデスクトッププロトコル(RDP)のうちの任意の1つであることができる。
リモートコンピューティング環境は、2以上のサーバ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のタイプを実行する1つ以上のサーバの第2のグループを含んでもよい。
サーバ206は、必要に応じてサーバの任意のタイプ、例えばファイルサーバ、アプリケーションサーバ、ウェブサーバ、プロキシサーバ、アプライアンス、ネットワークアプライアンス、ゲートウェイ、アプリケーションゲートウェイ、ゲートウェイサーバ、仮想化サーバ、デプロイメントサーバ、セキュアソケットレイヤー(SSL) VPNサーバ、ファイアウォール、ウェブサーバ、アプリケーションサーバまたはマスターアプリケーションサーバとして、アクティブディレクトリを実行するサーバ、または、ファイアウォール機能、アプリケーション機能またはロードバランシング機能を提供するアプリケーションアクセラレーションプログラムを実行するサーバ、として構成されることができる。他のサーバタイプが使用されてもよい。
実施形態によっては、クライアントマシン240からの要求を受信し、要求を第2のサーバ206bへ転送し、第2のサーバ206bからの応答でクライアントマシン240により生成された要求に応答する第1のサーバ206aが含まれる。第1のサーバ206aは、クライアントマシン240に利用可能なアプリケーションの列挙、および、アプリケーションの列挙によって特定されたアプリケーションをホストするアプリケーションサーバ206に関するアドレス情報を取得する。第1のサーバ206aは、ウェブインタフェースを使用してクライアントの要求に対する応答を提示し、直接、クライアント240と通信して、特定したアプリケーションへのアクセスをクライアント240に提供できる。1つ以上のクライアント240および/または1つ以上のサーバ206は、ネットワーク230、例えばネットワーク101を介してデータを送信してもよい。
図2は、例示されたデスクトップ仮想化システムの高レベルアーキテクチャを示す。図示されているように、デスクトップ仮想化システムは、1つ以上のクライアントアクセスデバイス240にヴァーチャルデスクトップおよび/またはヴァーチャルアプリケーションを提供するよう構成された少なくとも1つの仮想化サーバ206を含む、単一サーバまたは複数サーバシステム、またはクラウドシステムであってもよい。
本発明で使用されるように、デスクトップとは、1つ以上のアプリケーションがホストされ、および/または実行されてもよいグラフィカル環境または空間のことを指す。デスクトップは、ローカルおよび/またはリモートアプリケーションが統合されることができるオペレーティングシステムのインスタンスのためのユーザインタフェースを提供するグラフィカルシェルを含んでもよい。
アプリケーションは、オペレーティングシステムのインスタンスが(および任意選択的にデスクトップも)ロードされた後に実行するプログラムを含んでいる。オペレーティングシステムの各インスタンスは、物理的(デバイスにつき1つのオペレーティングシステム)であっても、ヴァーチャル(単一デバイス上で実行されるOSの複数のインスタンス)であってもよい。各アプリケーションは、ローカルデバイス上で実行されてもよく、または、遠隔配置された(例えばリモートされた)デバイス上で実行されてもよい。
〈企業モビリティ管理アーキテクチャ〉
図3は、BYOD環境での使用のための企業モビリティ技術アーキテクチャ300を表す。アーキテクチャは、クライアントデバイス(例えば、モバイルデバイス)のユーザが、企業またはパーソナルリソースにモバイルデバイス302からアクセスすること、および、パーソナルユースのためにモバイルデバイス302を使用すること、の両方を可能にする。
ユーザは、ユーザにより購入されたモバイルデバイス302または企業によりユーザに提供されたモバイルデバイス302を使用して、このような企業リソース304または企業サービス308にアクセスする。ユーザは、ビジネスユースのみのために、または、ビジネスユースおよびパーソナルユースのために、モバイルデバイス302を利用してもよい。
モバイルデバイスは、iOSオペレーティングシステム、Android(登録商標)オペレーティングシステムおよび/または同様のものを実行する。企業は、モバイルデバイス304を管理するためのポリシーを実装することを選択する。ポリシーは、モバイルデバイスが特定され、安全(secure)にされ、またはセキュリティ検証され、そして、企業リソースへの選択的または完全なアクセスを提供されてもよいように、ファイアウォールまたはゲートウェイを通じて埋め込まれる。ポリシーは、モバイルデバイス管理ポリシー、モバイルアプリケーション管理ポリシー、モバイルデータ管理ポリシー、または、モバイルデバイス、アプリケーションおよびデータ管理ポリシーのある組み合わせであってもよい。モバイルデバイス管理ポリシーのアプリケーションを通じて管理されるモバイルデバイス304は、エンロールドデバイスと称すことがある。
いくつかの実施形態では、モバイルデバイスのオペレーティングシステムは、管理対象パーティション310と非管理対象パーティション312とに分離されていてもよい。管理対象パーティション310は管理対象パーティション上で稼動しているアプリケーションおよび管理対象パーティションに格納されているデータをセキュリティ保護するために、ポリシーをそれに適用させてもよい。管理対象パーティション上で稼動しているアプリケーションはセキュリティ保護されたアプリケーションであってもよい。他の実施形態では、すべてのアプリケーションはアプリケーションとは別に受信される1つ以上のポリシーファイルのセットに従って実行してもよく、このポリシーファイルのセットはデバイス上でアプリケーションが実行しているときに、モバイルデバイス管理システムによって強制される1つ以上のセキュリティパラメータ、特徴、リソース制限および/または他のアクセス制御を定義する。それぞれのポリシーファイルに従って操作することにより、各アプリケーションは1つ以上の他のアプリケーションおよび/もしくはリソースとの通信を許可または制限されてもよく、それによって仮想パーティションを作成する。
このように、本明細書で使用するパーティションとは、物理的に分割されたメモリの部分(物理的パーティション)、論理的に分割されたメモリの部分(論理的パーティション)ならびに/または本明細書で説明する複数のアプリにわたり1つ以上のポリシーおよび/もしくはポリシーファイルの強制の結果として作成される仮想パーティション(仮想パーティション)といってもよい。言い換えると、管理対象アプリにポリシーを強制することにより、そのアプリは他の管理対象アプリおよび信頼される企業リソースとのみ通信できるように制限してもよく、それによって非管理対象アプリおよびデバイスが入れない仮想パーティションを作成する。
セキュリティ保護アプリケーションは、電子メールアプリケーション、ウェブ閲覧アプリケーション、サース(SaaS)アクセスアプリケーション、Windows(登録商標)Applicationアクセスアプリケーション等であってもよい。セキュリティ保護アプリケーションは、セキュリティ保護ネイティブアプリケーション314、セキュリティ保護アプリケーションランチャー318により実行されるセキュリティ保護リモートアプリケーション322、セキュリティ保護アプリケーションランチャー318により実行される仮想化アプリケーション326等であってもよい。セキュリティ保護ネイティブアプリケーション314は、セキュリティ保護アプリケーションラッパー320によりラップされてもよい。セキュリティ保護アプリケーションラッパー320は、セキュリティ保護ネイティブアプリケーションがデバイス上で実行されるときにモバイルデバイス302上で実行される、統合されたポリシーを含んでもよい。
セキュリティ保護アプリケーションラッパー320は、モバイルデバイス302上で実行されるセキュリティ保護ネイティブアプリケーション314を、セキュリティ保護ネイティブアプリケーション314の実行時に要求されるタスクを完了するためにセキュリティ保護ネイティブアプリケーション314が要求する、企業でホストされるリソースへとポイントするメタデータを含んでもよい。セキュリティ保護アプリケーションランチャー318により実行されるセキュリティ保護リモートアプリケーション322は、セキュリティ保護アプリケーションランチャーアプリケーション318内で実行されてもよい。セキュリティ保護アプリケーションランチャー318により実行される仮想化アプリケーション326は、モバイルデバイス302上で、また企業リソース304等で、リソースを利用してもよい。セキュリティ保護アプリケーションランチャー318により実行される仮想化アプリケーション326によりモバイルデバイス302上で使用されるリソースは、ユーザ相互作用リソース、処理リソース等を含んでいる。
ユーザ相互作用リソースは、キーボード入力、マウス入力、カメラ入力、触覚入力、音声入力、映像入力、ジェスチャ入力等を収集して送信するために使用される。処理リソースは、ユーザインタフェースを提示する、企業リソース304から受信されたデータを処理する、等のために使用される。
セキュリティ保護アプリケーションランチャー318により実行される仮想化アプリケーション326により企業リソース304で使用されるリソースは、ユーザインタフェース生成リソース、処理リソース等を含んでいる。ユーザインタフェース生成リソースは、ユーザインタフェースをアセンブルする、ユーザインタフェースを修正する、ユーザインタフェースをリフレッシュする、等のために使用される。処理リソースは、情報を生成する、情報を読み出す、情報を更新する、情報を削除する、等のために使用される。例えば、仮想化アプリケーションは、グラフィックユーザーインターフェース(GUI)に関するユーザ相互作用を記録し、それらをサーバアプリケーションに通信してもよく、サーバアプリケーションは、サーバ上で動作するアプリケーションへの入力としてユーザ相互作用データを使用するであろう。この構成において、企業はサーバ側のアプリケーションを、アプリケーションに関するデータ、ファイル等とともに維持することを選択してもよい。
企業は、モバイルデバイスでの展開のためにそれらをセキュリティ保護することにより、本開示の原理に応じていくつかのアプリケーションを「モビライズ」することを選択してもよい一方で、この構成は、特定のアプリケーションのために選択される。例えば、いくつかのアプリケーションがモバイルデバイスでの使用のためにセキュリティ保護されるかもしれず、他のアプリケーションがモバイルデバイスでの展開のためには用意されないまたは適切ではないかもしれないため、企業は、仮想化技術を通じて、用意されないアプリケーションへのモバイルユーザアクセスを提供することを選択する。
別の実施例として、企業は、大規模で複雑なデータセットを伴う大規模で複雑なアプリケーション(例えば、マテリアルリソースプランニングアプリケーション)を有し、モバイルデバイス用にアプリケーションをカスタマイズすることは、非常に困難で、または別様に望ましくないため、企業は、仮想化技術を通じて、アプリケーションへのアクセスを提供することを選択してもよい
さらに別の実施例として、企業は、たとえセキュリティ保護されたモバイル環境であっても企業があまりにもセンシティブであるとみなすかもしれない高度にセキュリティ保護されたデータ(例えば、人的資源データ、顧客データ、エンジニアリングデータ)を維持するアプリケーションを有し、企業は、仮想化技術を使用して、そのようなアプリケーションおよびデータへのモバイルアクセスを許可することを選択する。企業は、サーバ側でより適切に動作するとみなされるアプリケーションへのアクセスを許可するために、モバイルデバイス上で完全にセキュリティ保護および完全に機能的なアプリケーションならびに仮想化アプリケーションの両方を提供することを選択してもよい。
本発明の実施形態において、仮想化アプリケーションは、セキュリティ保護されたストレージ位置の1つで、いくつかのデータ、ファイル等を携帯電話上に記憶する。企業は、例えば電話上に記憶された特定の情報を許可し、一方、他の情報を許可しないように選択する。
仮想化アプリケーションに関して、本明細書に記述されるように、モバイルデバイスは、GUIを提示するよう設計された仮想化アプリケーションを有してもよく、そして、ユーザ相互作用をGUIで記録してもよい。アプリケーションは、ユーザ相互作用をサーバ側に通信し、アプリケーションでのユーザ相互作用としてサーバ側アプリケーションにより使用されてもよい。これに応じて、サーバ側のアプリケーションは、新たなGUIをモバイルデバイスに送信し戻してもよい。例えば、新たなGUIは、静的ページ、動的ページ、アニメーション等であり、それらは遠隔設置されたリソースへのアクセスを提供する。
セキュリティ保護アプリケーションは、モバイルデバイスの管理パーティション310において、セキュリティ保護データコンテナ328に記憶されたデータにアクセスする。セキュリティ保護データコンテナにおいてセキュリティ保護にされたデータは、セキュリティ保護ラップ化アプリケーション314、セキュリティ保護アプリケーションランチャー318により実行されるアプリケーション、セキュリティ保護アプリケーションランチャー318により実行される仮想化アプリケーション326等によりアクセスされる。
セキュリティ保護データコンテナ328に記憶されたデータは、ファイルやデータベース等を含んでいる。セキュリティ保護データコンテナ328に記憶されたデータは、セキュリティ保護アプリケーション332の間で共有され、特定のセキュリティ保護アプリケーション330に制限されるデータ等を含んでいる。セキュリティ保護アプリケーションに制限されるデータは、セキュリティ保護一般データ334および高度セキュリティ保護データ338を含んでいる。
セキュリティ保護一般データは、アドバンストエンクリプションスタンダード(AES)128ビット暗号化等の暗号の強力形態を使用し、一方、高度セキュリティ保護データ338は、AES256ビット暗号化等の暗号の超強力形態を使用する。セキュリティ保護データコンテナ328に記憶されたデータは、デバイスマネージャ324からのコマンドの受信時に、デバイスから削除される。セキュリティ保護アプリケーションは、デュアルモードオプション340を有している。デュアルモードオプション340は、非セキュリティ保護すなわち非管理モードでセキュリティ保護アプリケーションを実行するオプションを、ユーザに提示する。
非セキュリティ保護すなわち非管理モードでは、セキュリティ保護アプリケーションは、モバイルデバイス302の非管理パーティション312上の非セキュリティ保護データコンテナ342に記憶されたデータにアクセスしてもよい。非セキュリティ保護データコンテナに記憶されたデータは、パーソナルデータ344である。非セキュリティ保護データコンテナ342に記憶されたデータは、モバイルデバイス302の非管理パーティション312上で実行中の非セキュリティ保護アプリケーションによりアクセスされる。非セキュリティ保護データコンテナ342に記憶されたデータは、セキュリティ保護データコンテナ328に記憶されたデータが、モバイルデバイス302から削除されるときに、モバイルデバイス302に残存してもよい。
企業は、モバイルデバイスから、選択されたまたは全ての、企業により所有、ライセンス化または制御された、データ、ファイルおよび/またはアプリケーション(企業データ)が削除されることを欲してもよく、一方、ユーザにより所有、ライセンス化または制御された、パーソナルデータ、ファイルおよび/またはアプリケーション(パーソナルデータ)を残し、または、別様に保ってもよい。この動作は、選択的ワイプと称すことがある。本開示に記述される態様に従って配置された企業およびパーソナルデータで、企業は、選択的ワイプを実行してもよい。
モバイルデバイスは、企業において企業リソース304、企業サービス308に、および公衆インターネット348等に接続される。モバイルデバイスは、ヴァーチャルプライベートネットワーク接続を通じて企業リソース304および企業サービス308に接続する。ヴァーチャルプライベートネットワーク接続は、マイクロVPNまたはアプリケーション−スペシフィックVPNとも呼ばれるが、特定のアプリケーション350、特定のデバイス、モバイルデバイス上の特定のセキュリティ保護エリア等に特有である。例えば、電話のセキュリティ保護エリアにおける各ラップ済みアプリケーションは、アプリケーション特有のVPNを通じて企業リソースにアクセスしてもよく、これにより、VPNへのアクセスが、アプリケーションに関する属性に基づいて、おそらくはユーザまたはデバイス属性情報に関連付けられて、許可されるであろう。
ヴァーチャルプライベートネットワーク接続は、Microsoft Exchangeトラフィック、Microsoft Active Directoryトラフィック、ハイパーテキストトランスファープロトコル(HTTP)トラフィック、ハイパーテキストトランスファープロトコルセキュア(HTTPS)トラフィック、アプリケーション管理トラフィック等を伝送してもよい。ヴァーチャルプライベートネットワーク接続は、SSO認証処理354をサポートおよび有効化してもよい。SSO処理は、ユーザが認証クレデンシャルの単一セットを提供することを許可してもよく、認証クレデンシャルは、認証サービス358により検証される。認証サービス358はそして、各個別企業リソース304への認証クレデンシャルの提供をユーザに要求することなく、ユーザに複数の企業リソース304へのアクセスを許可してもよい。
ヴァーチャルプライベートネットワーク接続は、アクセスゲートウェイ360により確立され、管理される。アクセスゲートウェイ360は、企業リソース304のモバイルデバイス302への送達を管理、加速および改善するパフォーマンスを増強させる特徴を含んでいる。アクセスゲートウェイは、モバイルデバイス302から公衆インターネット348へとトラフィックをリルートしてもよく、モバイルデバイス302が、公衆インターネット348上で実行される公衆利用可能非セキュリティ保護アプリケーションへアクセスすることを有効化する。
モバイルデバイスは、転送ネットワーク362を介してアクセスゲートウェイに接続されてもよい。転送ネットワーク362は、有線ネットワーク、無線ネットワーク、クラウドネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワーク、ワイドエリアネットワーク、公衆ネットワーク、プライベートネットワーク等である。
企業リソース304は、電子メールサーバ、ファイル共有サーバ、SaaSアプリケーション、Webアプリケーションサーバ、Windows(登録商標)アプリケーションサーバ等を含んでいる。電子メールサーバは、Exchangeサーバ、Lotus Notesサーバ等を含んでいる。ファイル共有サーバは、SHAREFILEサーバ等を含んでいる。SaaSアプリケーションは、Salesforce等を含んでいる。Windows(登録商標)アプリケーションサーバは、ローカルWindows(登録商標)オペレーティングシステム上での実行が意図されるアプリケーションの提供のために構築された任意のアプリケーションサーバ等を含んでいる。
企業リソース304は、プレミスベースリソース、クラウドベースリソース等である。企業リソース304は、モバイルデバイス302によって直接、または、アクセスゲートウェイ360を通じてアクセスされる。企業リソース304は、転送ネットワーク362を介してモバイルデバイス302によってアクセスされてもよい。転送ネットワーク362は、有線ネットワーク、無線ネットワーク、クラウドネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワーク、ワイドエリアネットワーク、公衆ネットワーク、プライベートネットワーク等であってもよい。
企業サービス308は、認証サービス358、脅威検出サービス364、デバイスマネージャサービス324、ファイル共有サービス368、ポリシーマネージャサービス370、ソーシャル統合サービス372、アプリケーションコントローラサービス374等を含んでいる。
認証サービス358は、ユーザ認証サービス、デバイス認証サービス、アプリケーション認証サービス、データ認証サービス等を含んでいる。認証サービス358は、証明書を使用してもよい。証明書は、企業リソース304等によりモバイルデバイス302に記憶されてもよい。モバイルデバイス302に記憶された証明書は、モバイルデバイス上の暗号化位置に記憶されてもよく、証明書は、認証時の使用等のためにモバイルデバイス302上に一時的に記憶されてもよい。
脅威検出サービス364は、侵入検出サービス、非許諾アクセス試行検出サービス等を含んでいる。非許諾アクセス試行検出サービスは、デバイス、アプリケーション、データ等へのアクセスの非許諾試行を含んでいる。デバイス管理サービス324は、コンフィグレーション、プロビジョニング、セキュリティ、サポート、監視、報告およびデコミッショニングサービスを含んでもよい。ファイル共有サービス368は、ファイル管理サービス、ファイルストレージサービス、ファイルコラボレーションサービス等を含んでいる。ポリシーマネージャサービス370は、デバイスポリシーマネージャサービス、アプリケーションポリシーマネージャサービス、データポリシーマネージャサービス等を含んでいる。
ソーシャル統合サービス372は、コンタクト統合サービス、コラボレーションサービス、Facebook,TwitterおよびLinkedIn等のソーシャルネットワークとの統合等を含んでいる。アプリケーションコントローラサービス374は、管理サービス、プロビジョニングサービス、デプロイメントサービス、アサインメントサービス、リボケーションサービス、ラッピングサービス等を含んでいる。
企業モビリティ技術アーキテクチャ300は、アプリケーションストア378を含んでもよい。アプリケーションストア378は、非ラップ化アプリケーション580、プリラップ化アプリケーション382等を含んでいる。
アプリケーションは、アプリケーションコントローラ374からアプリケーションストア378に集約されてもよい。アプリケーションストア378は、アクセスゲートウェイ360を通じて、または公衆インターネット348を通じて等、モバイルデバイス302によりアクセスされる。アプリケーションストアには、直覚的および使用しやすいユーザインタフェースが提供されてもよい。
ソフトウェア開発キット384は、本明細書で上述したようにアプリケーションをラッピングすることにより、ユーザが選択したアプリケーションをセキュリティ保護する機能をユーザに提供してもよい。ソフトウェア開発キット384を用いてラッピングされたアプリケーションは、さらにアプリケーションコントローラ374を用いてアプリケーションストア378にそれを移植することにより、モバイルデバイス302に利用できるようにしてもよい。
企業モビリティ技術アーキテクチャ300は、管理および解析能力388を含んでもよい。管理および解析能力388は、リソースがどのように使用されるか、リソースがどれくらいの頻度で使用されるか等に関する情報を提供する。リソースは、デバイス、アプリケーション、データ等を含んでもよい。リソースがどのように使用されるかについては、どのデバイスがどのアプリケーションをダウンロードし、どのアプリケーションがどのデータにアクセスするか等を含んでいる。リソースがどれくらいの頻度で使用されるかには、アプリケーションがどれくらいの頻度でダウンロードされたか、データの特定のセットが何回アプリケーションによりアクセスされたか等を含んでいる。
図4に、別の企業モビリティ管理システム400を示す。図3に関して上述されたモビリティ管理システム300のコンポーネントのいくつかは、簡明さのために省略されている。図4に示されたシステム400のアーキテクチャは、図3に関して上述されたシステム300のアーキテクチャと多くの点で同様であり、上述されない追加の特徴を含んでいる。
この場合、左手側は、エンロールドクライアントデバイス402(例えば、モバイルデバイス)をクライアントエージェント404とともに表し、これは、右手側上方に示された、Exchange、Sharepoint、パブリック−キーインフラストラクチャー(PKI) Resource、Kerberos ResourceおよびCertificate Issuance Service等の様々な企業リソース408およびサービス609へのアクセスのために、ゲートウェイサーバ406(アクセスゲートウェイおよびアプリケーションコントローラ機能を含む)と相互作用する。
特に示してはいないが、モバイルデバイス402は、アプリケーションの選択およびダウンロードのための企業アプリケーションストア(例えば、StoreFront)と相互作用してもよい。
クライアントエージェント404は企業データセンターでホストされるWindowsアプリ/デスクトップのUI(ユーザインターフェース)媒介装置として機能し、企業データセンターはHigh−Definition User Experience(HDX)/ICA表示リモーティングプロトコルを使用してアクセスされる。
クライアントエージェント404は、ネイティブiOSやAndroidアプリケーションなどのモバイルデバイス402のネイティブアプリケーションのインストールおよび管理もサポートする。たとえば、上述の図面に図示する管理対象アプリケーション410(メール、ブラウザ、ラッピングされたアプリケーション)はすべて、デバイス上でローカルに実行するネイティブアプリケーションである。このアーキテクチャのクライアントエージェント404およびアプリケーション管理フレームワークは、企業リソース/サービス408との接続性やSSO(シングルサインオン)などのポリシーによる管理の機能および特徴を提供するように機能する。クライアントエージェント404は企業への、通常は他のゲートウェイサーバコンポーネントに対するSSOによるアクセス・ゲートウェイ(AG)への、一次ユーザ認証を行う。クライアントエージェント404はゲートウェイサーバ406からポリシーを取得して、モバイルデバイス402上の管理対象アプリケーション410の挙動を制御する。
ネイティブアプリケーション410およびクライアントエージェント404間のセキュリティ保護インタープロセスコミュニケーション(IPC)リンク412は、管理チャネルを表し、これにより、クライアントエージェントが、各アプリケーションを「ラップする」アプリケーション管理フレームワーク414により適用されるポリシーを供給することが可能となる。IPCチャネル412はまた、クライアントエージェント404が、企業リソース408への接続性およびSSOを有効化するクレデンシャルおよび認証情報を供給することを可能とする。最後に、IPCチャネル412は、アプリケーション管理フレームワーク414が、オンラインおよびオフライン認証等のクライアントエージェント404により実装されるユーザインタフェース機能を起動することを可能とする。
クライアントエージェント404およびゲートウェイサーバ406間の通信は、本質的に、各ネイティブな管理されたアプリケーション410をラップするアプリケーション管理フレームワーク414からの管理チャネルの拡張である。アプリケーション管理フレームワーク414は、クライアントエージェント404からポリシー情報を要求し、一方、クライアントエージェント404は、ゲートウェイサーバ406からそれを要求する。アプリケーション管理フレームワーク414は、認証を要求し、クライアントエージェント404は、ゲートウェイサーバ406のゲートウェイサービス部分(NetScaler Access Gatewayとしても知られる)にログインする。クライアントエージェント404は、ゲートウェイサーバ406上でサポートサービスも呼び出してもよく、これにより、以下でさらに完全に説明されるように、ローカルデータ貯蔵庫(data vaults;以下「データボルト」、「ボルト」と言うことがある)416のための暗号化鍵を導出するための入力マテリアルを生成しても、または、PKI保護リソースへの直接認証を有効化してもよいクライアント証明書を供給してもよい。
より詳細には、アプリケーション管理フレームワーク414は、各管理されたアプリケーション410を「ラップする」。これは、明示的な構築ステップを介して、または、構築後処理ステップを介して組み込まれてもよい。アプリケーション管理フレームワーク414は、アプリケーション410の最初のローンチにおいてクライアントエージェント404と「ペアリング」し、セキュリティ保護IPCチャネルを初期化し、そのアプリケーション用のポリシーを取得する。アプリケーション管理フレームワーク414は、クライアントエージェントのログイン依存性、および、ローカルOSサービスがいかに使用されてよいか、またはそれらがアプリケーション410といかに相互作用してよいかについて制限する制約ポリシーのいくつか等、ローカル適用のポリシーの関連部分を適用(enforce)する。
アプリケーション管理フレームワーク414は、認証および内部ネットワークアクセスを容易にするために、セキュリティ保護IPCチャネル412を介してクライアントエージェント404により提供されるサービスを使用する。プライベートおよび共有データボルト416の鍵管理(コンテナ)は、管理されたアプリケーション410およびクライアントエージェント404間の適切な相互作用により管理される。ボルト416は、オンライン認証後にのみ利用可能、または、ポリシーにより許可された場合のオフライン認証後に利用可能にされてもよい。ボルト416の最初の使用は、オンライン認証を要求してもよく、オフラインアクセスは、最大でもオンライン認証が再び要求される前のポリシーリフレッシュ期間に制限されてもよい。
内部リソースへのネットワークアクセスは、アクセスゲートウェイ406を通じて個別に管理されたアプリケーション410から直接、生じる。アプリケーション管理フレームワーク414は、各アプリケーション410のためのネットワークアクセスのオーケストレーションを担う。クライアントエージェント404は、オンライン認証に続いて取得される適切な時間制限二次的クレデンシャルの提供により、これらのネットワーク接続を容易にする。リバースウェブプロキシ接続およびエンドトゥエンドVPNスタイルトンネル418等の、ネットワーク接続の複数のモードが使用されてもよい。
メールおよびブラウザの管理されたアプリケーション410は、特別な状態を有しており、また任意のラップ化アプリケーションに一般的に利用可能ではないかもしれない能力を使用する。例えば、メールアプリケーションは、完全なAGログオンを要求することなく延長された期間、Exchangeへのアクセスを可能とする、特別なバックグラウンドネットワークアクセス機構を使用してもよい。ブラウザアプリケーションは、異なる種類のデータを分離するために複数のプライベートなデータボルトを使用してもよい。
このアーキテクチャは、様々な他のセキュリティ特徴の組み込みをサポートする。例えば、ゲートウェイサーバ406(そのゲートウェイサービスも含む)は、場合によっては、アクティブディレクトリ(AD)パスワードを確認する必要がないであろう。ADパスワードが、状況によってはあるユーザ達に対する認証ファクタとして使用されるか否かについては、企業の裁量に任されたままとすることができる。ユーザがオンラインであるかオフラインであるか(すなわち、ネットワークに接続されているか、接続されていないか)によって、異なる認証方法が使用されてもよい。
ステップアップ認証は、ゲートウェイサーバ406が、厳密な認証を要求する高度機密データへのアクセスを有することが許可された、管理されたネイティブアプリケーション410を特定し、たとえこれが前回のより弱いレベルのログイン後に再認証がユーザにより要求されることを意味するとしても、これらのアプリケーションへのアクセスが適切な認証の実施後にのみ許可されることを確実にしてもよい特徴である。
このソリューションの別のセキュリティ特徴は、モバイルデバイス402上のデータボルト416(コンテナ)の暗号化である。ファイル、データベース、およびコンフィグレーションを含む全てのオンデバイスデータが保護されるよう、ボルト416を暗号化してもよい。オンラインボルトについては、鍵がサーバ(ゲートウェイサーバ406)上に記憶されてもよく、オフラインボルトについては、鍵のローカルコピーがユーザパスワードまたは生体検証により保護されてもよい。データがデバイス402上でローカルにセキュリティ保護コンテナ416内に記憶されたときに、AES256暗号化アルゴリズムの最小値が利用されることが好ましい。
他のセキュリティ保護コンテナ特徴も実装されてもよい。例えば、ロギング特徴が含まれてもよく、アプリケーション410内で発生する全てのセキュリティイベントがログされ、バックエンドに報告される。アプリケーション410が改ざんを検出すると関連する暗号化鍵がランダムデータで上書きされ、ユーザデータが破壊されたファイルシステム上になんらヒントを残さない、等のデータ完全削除がサポートされてもよい。スクリーンショット保護は、アプリケーションがスクリーンショットにおいてあらゆるデータの記憶を防止する別の特徴である。例えば、キーウィンドウの隠しプロパティがYESに設定されてもよい。これにより、いかなるコンテンツが現在スクリーン上に表示されていようとも隠され、通常は任意のコンテンツが存在するはずが、ブランクスクリーンショットとなる。
任意のデータがアプリケーションコンテナ外に(例えばそれをコピーすることまたは外部アプリケーションにそれを送信することにより)ローカルに伝達されるのを防止することによって等、ローカルデータ伝達が防止されてもよい。キーボードキャッシュ特徴は、センシティブテキスト分野用の自動修正機能を無効化するよう動作してもよい。アプリケーションがサーバSSL証明書を、キーチェーン内にそれを記憶する代わりに、特定的に検証するよう、SSL証明書検証は動作可能であってもよい。デバイス上でデータを暗号化するために使用される鍵が、ユーザにより供給されるパスフレーズを使用して生成される(オフラインアクセスが要求される場合)ように、暗号化鍵生成特徴が使用されてもよい。オフラインアクセスが要求されない場合、それは、ランダムに生成されてサーバ側に記憶された別の鍵とXORされてもよい。鍵導出関数は、その暗号ハッシュを生成するよりもむしろ、ユーザパスワードから生成された鍵がKDF(鍵導出関数、とりわけパスワード−ベースのキー派生関数2(PBKDF2))を使用するよう動作してもよい。暗号ハッシュは、総あたりのまたは辞書攻撃を受けやすい鍵を作る。
さらに、1つ以上の初期化ベクトルが、暗号化方法において使用されてもよい。初期化ベクトルにより、同じ暗号化データの複数のコピーが、リプレーアタックおよび暗号解読攻撃の両方を防止しつつ異なる暗号テキスト出力を生成するであろう。これにより、データを暗号化するのに使用される特定の初期化ベクトルが知られていない場合に、盗まれた暗号化鍵であっても、攻撃者が任意のデータを解読することが防止されるであろう。さらに、認証そして解読が使用されてもよく、ユーザがアプリケーション内で認証された後にのみアプリケーションデータは解読される。別の特徴は、メモリ内のセンシティブデータに関連してもよく、これは、必要時にのみメモリ内に(ディスク内ではなく)保存されてもよい。例えば、ログインクレデンシャルは、ログイン後にメモリからワイプされてもよく、暗号化鍵およびオブジェクティブCのインスタンス変数内の他のデータは、参照されやすいかもしれないので、記憶されない。代わりに、メモリは手動でこれらに割り当てられてもよい。
非活動タイムアウトが実装されてもよく、非活動のポリシー定義期間の後に、ユーザセッションが終了する。
アプリケーション管理フレームワーク414からのデータ漏れは、他の方法で防止されてもよい。例えば、アプリケーション410がバックグラウンドに置かれるとき、所定(構成可能)期間の後にメモリはクリアされてもよい。バックグラウンド化の際に、フォアグラウンド処理と結びつけるために、アプリケーションの最後に表示されるスクリーンのスナップショットが撮られてもよい。スクリーンショットは、機密データを含むかもしれず、よって、クリアされるべきである。
別のセキュリティ特徴は、1つ以上のアプリケーションへのアクセスのためのAD(アクティブディレクトリ)422パスワードの使用を伴わない、OTP(ワンタイムパスワード)420の使用に関する。場合によっては、あるユーザ達は自身のADパスワードを知らない(または知ることが許されない)ため、これらのユーザは、SecurIDのようなハードウェアOTPシステムを使用することによって等、OTP420を使用して認証してもよい(OTPは、EntrustまたはGemalto等の異なるベンダにより提供されてもよい)。場合によっては、ユーザがユーザIDで認証した後に、テキストがOTP420でユーザに送信される。場合によっては、これは、シングルフィールドであるプロンプトで、オンライン使用でのみ実装されてもよい。
オフラインパスワードは、オフライン使用が企業ポリシーを介して許可されるそれらのアプリケーション410用のオフライン認証のために実装されてもよい。例えば、企業は、ストアフロント(StoreFront)が、このようにアクセスされることを欲するかもしれない。この場合、クライアントエージェント404は、ユーザにカスタムオフラインパスワードを設定することを要求してもよく、ADパスワードは使用されない。ゲートウェイサーバ406は、標準Windows(登録商標) Serverパスワード複雑化(complexity)要件による記述等の、最小長、文字クラス構成およびパスワードの期限に関するパスワード基準を制御および適用するためのポリシーを提供してもよいが、これらの要件は修正されてもよい。
別の特徴は、二次的クレデンシャルとしての特定のアプリケーション410用のクライアント側証明書の有効化に関する(アプリケーション管理フレームワークマイクロVPN特徴を介したPKI保護ウェブリソースへのアクセス目的で)。例えば、アプリケーションは、このような証明書を利用してもよい。この場合、ActiveSyncプロトコルを使用する証明書ベース認証がサポートされてもよく、クライアントエージェント404からの証明書が、ゲートウェイサーバ406により取得され、キーチェーンで使用されてもよい。各管理されたアプリケーションは、ゲートウェイサーバ406内で定義されるラベルにより特定される、1つの関連クライアント証明書を有してもよい。
ゲートウェイサーバ406は、関連する管理されたアプリケーションが内部PKI保護リソースへの認証を行なうためのクライアント証明書の発行をサポートするために、企業特別目的ウェブサービスと相互作用してもよい。
クライアントエージェント404およびアプリケーション管理フレームワーク414は、内部PKI保護ネットワークリソースへの認証のためのクライアント証明書の取得および使用をサポートするために増強されてもよい。セキュリティおよび/または分離要件の様々なレベルに合わせるため等、2つ以上の証明書がサポートされてもよい。証明書は、メールおよびブラウザの管理されたアプリケーションにより、最終的には、任意のラップ化アプリケーションにより、使用されてもよい(それらのアプリケーションが、アプリケーション管理フレームワークがHTTPS要求を媒介することが妥当であるウェブサービススタイル通信パターンを使用するとの条件のもとで)。
iOS上のアプリケーション管理クライアント証明書サポートは、各使用期間における各管理されたアプリケーション内のiOSキーチェーンへの公開鍵暗号標準(PKCS) 12 BLOB(バイナリラージオブジェクト)のインポートに依拠してもよい。アプリケーション管理フレームワーククライアント証明書サポートは、プライベートインメモリキーストレージを伴うHTTPS実装を使用してもよい。クライアント証明書は、iOSキーチェーン内に決して存在せず、強力に保護された「オンラインのみ」のデータ値内に潜在的に存することを除いて、持続されないであろう。
相互SSLもまた、モバイルデバイス402が企業に認証され、そしてその逆の形の認証を要求することにより、さらなるセキュリティを提供するために実装されてもよい。ゲートウェイサーバ406への認証のためのヴァーチャルスマートカードもまた、実装されてもよい。
限定および完全Kerberosサポートの両方が、さらなる特徴であってもよい。完全サポート特徴は、ADパスワードまたは信頼済みクライアント証明書を使用してアクティブディレクトリ(AD)422への完全Kerberosログインを行ない、HTTPネゴシエート認証チャレンジに応答するためのKerberosサービスチケットを取得する能力に関する。限定サポート特徴は、Citrix Access Gateway Enterprise Edition(AGEE)における制約付き委任に関し、AGEEは、Kerberosプロトコル遷移の誘発をサポートするため、それは、HTTPネゴシエート認証チャレンジに応じて、(制約付き委任の対象となる)Kerberosサービスチケットを取得しおよび使用できる。この機構は、リバースウェブプロキシ(別名コーポレートヴァーチャルプライベートネットワーク(CVPN))モードで、HTTP(HTTPSではない)接続がVPNおよびMicroVPNモードにおいてプロキシされるときに、作動する。
別の特徴は、アプリケーションコンテナのロックおよびワイプに関し、これは、ジェイルブレイクまたはルーティング検出時に自動で発生し、アドミニストレーションコンソールからのプッシュコマンドとして発生してもよく、たとえアプリケーション410が実行中でなくともリモートワイプ機能を含んでもよい。
企業アプリケーションストアおよびアプリケーションコントローラのマルチサイトアーキテクチャまたはコンフィグレーションがサポートされてもよく、これは、障害時に異なるいくつかの位置の1つからユーザがサービスを受けることを可能にする。
場合によっては、管理されたアプリケーション410は、証明書およびプライベート鍵にAPI(例としてOpenSSL)を介してアクセスしてもよい。企業の信頼済みの管理されたアプリケーション410は、アプリケーションのクライアント証明書おおびプライベート鍵で特定の公開鍵動作を行なってもよい。アプリケーションがブラウザのような挙動をして証明書アクセスが要求されない場合、アプリケーションが「自分が誰か」についての証明書を読み出す場合、アプリケーションが証明書を使用してセキュリティ保護セッショントークンを構築する場合、および、アプリケーションが重要データのデジタルサイニング(例えばトランザクションログ)または一時的データ暗号化のためのプライベート鍵を使用する場合等の、様々な使用状況が特定され、それに応じて処理されてもよい。
〈例示的な実施形態〉
図5、図7および図11はシステムの例示的な模式図であり、図6および図8は例示的な模式フロー図であり、図9および図10はユーザインターフェースの例示的な模式図である。これらのすべてがサードパーティの認証サポートを介した企業認証の特徴、方法およびシステムのさまざまな実施例を示す。
図5〜図11を参照して以下説明する特徴および方法は、図1〜図4に図示するさまざまなコンピューティングデバイスおよびシステムなど、コンピューティングデバイスまたはデバイスの組み合わせによって行ってもよく、図3および図4に図示する例示的なシステムなどのさまざまな異なるタイプの企業システム、または他の企業システム(つまり、リソースへのアクセスを与えるときに認証を要するコンピューティングデバイスまたはアプリケーション)内に実装してもよい。図5〜図11を参照して以下説明する特徴、ステップおよび方法は、述べられる順序以外で行ってもよく、1つ以上の特徴、ステップまたは方法を省略および/または追加してもよい。
図5〜図11はゲートウェイ上、企業システム上(例、認証デバイスを介して)、および/またはサードパーティ認証デバイス上(例、クライアントデバイス上で稼動しているサードパーティのアプリケーションの認証サーバ)のユーザ、クライアントデバイスおよび/またはアプリケーションの認証に関する。
たとえば、アプリケーションを稼動している端末240またはクライアントデバイス302もしくは402のユーザは、ゲートウェイ360または406経由で企業システムと通信してもよく、ユーザ、クライアントデバイスまたはアプリケーションのアイデンティティを妥当性検証するために認証資格情報を提供してもよく、さらに企業システムのさまざまなリソースおよびサービスを要求し、アクセスしてもよい。
図5〜11は、セキュリティアサーションマークアップ言語(SAML)など、認証および許可情報をやり取りするためのXMLベースの方法であるさまざまなプロトコルを使用している。図6および図8で開示されるステップは、いずれも省略してもよく、述べられる順序以外で行ってもよく、繰り返しおよび/または組み合わせてもよい。
いくつかの実施形態では、サードパーティのアプリケーション(例、管理対象アプリケーション)の認証方法を開発するサードパーティ(例、ベンダ、アプリケーション開発者等)をサポートしている。これらのサードパーティは、クライアントデバイスまたはユーザを認証する前に、証拠/資格情報を要求してもよい。これらのサードパーティの認証方法はステップアップ認証方法をサポートしてもよい。したがって、開示される実施形態はクライアントデバイスをサードパーティ認証サービス/システム(例、サードパーティのアプリケーションのため)とペアを組ませるとともに、企業認証デバイス/サービスとペアを組ませることができる。
開示される実施形態では、代理のフォームサービスまたは拡張で認証フォームの生成および処理を可能にする。いくつかの側面によると、これらのフォームはHTTPまたはHTTPSで送信されるXMLフォームとしてもよい。クライアントデバイス、ゲートウェイデバイス、認証デバイス等の間でのフォームおよびレスポンスの流れは、パスワードまたは他の認証情報などのセンシティブな情報を含む会話を構成する。フォーム要求は、代理のフォームクライアントとサーバとの間の相互認証を含んでもよい。要求は、SSLトランスポートセキュリティが使用可能である、および/または使用されている場合でも、フォームレスポンスの暗号化を可能にする鍵素材を交換してもよい。いくつかの側面によると、相互認証および鍵交換を行ったら、セッションコンテキストが確立されてもよく、これを使用してクライアントとサーバとの間のメッセージを暗号化/解読するために使用してもよい。この暗号化は、侵入検知システムなど、SSLトランスポートレイヤを解読する他のシステムからのユーザまたはクライアントデバイスの資格情報を隠してもよい。
いくつかの実施形態は、フォーム認証プロトコルをサポートしてもよく、これが、サードパーティに、1組のユーザインターフェース構造を使用して、多くのプラットフォームおよびオペレーティングシステムのために構成されている幅広い認証フォームを表現できるようにさせる。これらのサードパーティは、フォーム言語で定義されるフォームを発行および/または消費してもよいサーバロジックを実施することにより、企業認証方法(例、企業リソースおよびサービスで使用またはサポートされる)を拡張してもよい。このフォーム言語および関連プロトコルは、ネイティブユーザエージェント(例、クライアントデバイス上で稼動しているアプリケーション)および/またはオペレーティングシステムによってサポートされてもよい。
いくつかの実施形態では、1つ以上のサービスまたはデバイス間におけるメッセージでクライアントデバイスの機能情報が渡されるようにしている。この情報はメッセージに添付されるHTTPヘッダに提供されてもよい。この機能情報はユーザエージェント、言語機能、資格情報タイプ情報、ラベルタイプ、ストレージ情報、クライアントアドレス、鍵交換情報等を含んでもよい。いくつかの実施形態において、クライアントセッションは、セッション識別情報を含んでもよいメッセージのヘッダを検査することにより識別してもよい。クライアントタイプ要素は、作成するセッションの機能の指示(例、セッションはVPN、CVPN等が可能であるかどうか)、ゲートウェイ背後のサーバ(例、企業サーバ)にアクセスするためにURLをどのように書き換えるべきかの指示を提供する情報を含んでもよく、セッションタイプを設定するためにゲートウェイに供給する必要がある可能性のある情報を含んでもよい(これは以下詳しく説明する)。
いくつかの実施形態では、クライアントデバイスとのログイン会話をサポートするためにセッションクッキーの生成が可能であり、これはさまざまなセッションを混同しないように互いに分けておいてもよい。たとえば、クッキーはゲートウェイから送られて、クライアントデバイスに格納される少しのデータであってもよい。クッキーはHTTPクッキー、ウェブクッキー、ブラウザクッキー等であってもよい。クッキーはクライアントデバイスの現在のセッション(ログインしたセッションまたはゲートウェイセッションなど)を識別してもよい。セッションクッキーは一般に、現在の呼び出し元(例、クライアントデバイス)が前の呼び出し元と同じであるという一時的な証拠であってもよい。セッションクッキーは一般に一時的であってもよく、たとえば、クライアントデバイスが紛失したり盗まれたりした場合に、攻撃者がゲートウェイ/企業にログインを継続できないようにされている。
いくつかの実施形態では、ゲートウェイ(または他の開示されるコンポーネント)はセッションクッキーに有効期限を添付し、および/または関連付けてもよい。たとえば、クッキーは5分の制限時間を有して、5分後に、現在のログインセッションを使用不可にして、その後クライアントデバイスはゲートウェイ(または他の開示されるコンポーネント)に再びログインしなければならないようにしてもよい。いくつかの実施形態では、トークンなどの他のセッション情報を使用してもよい。
図5は、本明細書で説明される1つ以上の特徴を実装している例示的なシステム500を示す。システム500はクライアントデバイス302(例、図3から)を含んでいてもよく、これはコンピューティングデバイスまたはユーザデバイスであってもよく、端末240もしくは登録モバイルデバイス402に類似していても、または代わりに端末240もしくは登録モバイルデバイス402であってもよい。いくつかの例では、クライアントデバイス302はクライアントデバイス302上で稼動しているソフトウェア(例、クライアントアプリケーション)を含んでもよい。
いくつかの側面によると、本明細書でクライアントデバイス302というときは必ず、該表現はクライアントデバイス302上で稼動している(および/もしくはその他関連する)コンピューティングデバイスまたはアプリケーションを含んでいてもよい。クライアントデバイス302は企業サービス308(例、図3から)と通信してもよい。企業サービス308は、アプリケーションコントローラ374、アプリケーションストア378、企業リソース304等のサービスを含んでもよい。クライアントデバイス302はゲートウェイ360と通信してもよく、これは図3のゲートウェイ360と同じものでもよく、および/またはゲートウェイ406と類似していてもよい。
ゲートウェイ360はセキュリティ保護されたサーバであってもよく、1つ以上の個別のコンピューティングデバイスとして実装されていてもよい。あるいは、ゲートウェイ360はリソースもしくはサービス(例、電子メールサーバ、ウェブアプリケーションサーバ等)を提供するサーバまたは他のコンピューティングデバイス内に実装されていてもよい。ゲートウェイ360は、パスワードベース、トークンベース(例、スマートカード、磁気ストライプカード等)、生体情報(例、指紋、声紋、虹彩または網膜スキャン)、リスクベースの認証等、さまざまな追加の認証手法をサポートしてもよい。ステップ502で送信される認証情報は1要素または複数要素認証情報であってもよい。たとえば、複数要素認証では、ユーザはパスワードおよびユーザのスマートカードを与えてもよいが、1要素認証ではこのうちの一方だけを与えればよいだろう。認証は複数の認証ステップ(例、チャレンジ質問)および/または相互認証手法も含んでもよい。いくつかの側面によると、ゲートウェイ360はクラウド・ゲートウェイ、アクセス・ゲートウェイ等であってもよい。
クライアントデバイス302は認証デバイス504と通信してもよい(例、ゲートウェイ360を介して)。たとえば、クライアントデバイス302は、認証要求および/または資格情報を認証サービスに送信することにより、ゲートウェイ360を介して認証デバイス504へのログインを試みてもよい。認証要求は、クライアントデバイス302が、コンソールアプリケーション、モバイルアプリケーション、ウェブブラウザ、ウェブベースのアプリケーションもしくは他のアプリケーションなど、クライアントデバイス302上で稼動しているセキュリティ保護化および/または非保護化アプリケーションを使用して、企業システムへのログインを試みることであってもよい。
クライアントデバイス302のユーザは、クライアントデバイス302の入力インターフェース/デバイスを使用して、クライアントデバイス302に認証資格情報を入力してもよい。たとえば、ユーザはキーボードまたはタッチスクリーンを使用して、クライアントデバイス302にユーザ識別子および/またはパスワードを入力してもよい。クライアントデバイス302とのユーザのインタラクションの生体情報面を測定するために使用できるような加速度計、ジャイロスコープおよび他のセンサ/デバイスなど、開示される側面に従い他の種類の入力デバイスも使用してもよい。他の入力デバイスも同様に使用してもよい。認証資格情報は暗号化されて、ならびに/または企業システムのゲートウェイ(例、ゲートウェイ360)および/もしくは認証デバイス504にセキュアに送信されてもよい。資格情報はさらに認証デバイス504に送信されるかまたは渡されてもよい。
いくつかの側面によると、認証デバイス504は認証サービス358と同じかまたは類似していてもよく、それはコンピューティングデバイスおよび/またはサーバであってもよい。ある場合には、認証デバイス504は、アプリストア378またはアプリコントローラ374など、企業リソース(例、企業サービス308)の(またはその他の形で関連する)認証サービスであってもよい。くわえて、認証デバイス504は、フォームベースのログイン、パスワードログイン、Kerberosログイン、スマートカードログイン、およびアクセスゲートシングルサインオン(AG SSO)等、認証/ログイン方法/タイプにさまざまなオプションおよびプロトコルを含んでもよい。
本明細書で開示される側面に従い、他のログイン/認証方法を実装してもよいことに留意する。いくつかの側面によると、ゲートウェイ360は、たとえば、受信した認証資格情報をアクティブディレクトリ(AD422など)に提示することにより、クライアントデバイスを認証し、アクティブディレクトリが認証資格情報の正確さおよび/または妥当性を判断してもよい。該認証は、システム300および/またはシステム400などの企業システム上のクライアントデバイス302の認証のためであってもよい。
認証デバイス504は、サードパーティ認証サーバ510と通信するサードパーティコネクタ506を含んでもよい。サーバ510はクライアントデバイス302により(例、クライアントデバイス302上で稼動しているアプリケーションにより)送信される認証資格情報を受信して妥当性検証するように構成されている認証サーバであってもよい。コネクタ506はサーバ510によって実施される1つ以上の認証プロトコルを用いて構成されていてもよい。該認証プロトコルはリスクベースの証拠、生体情報、テキストベースの情報、話声もしくは音声ベースの情報、ショートメッセージサービス、知識ベース認証、または他の種類の認証情報もしくは証拠を使用することを含んでもよい。コネクタ506は認証デバイス504の一部であってもよく、または個別のコンポーネント(例、個別のコンピューティングデバイス)であってもよい。コネクタ506はソフトウェア開発キット(SDK)を用いて構成されている認証拡張に基づいていてもよい。
サーバ510は、クライアントデバイス302から要求される要求認証情報などの情報を、コネクタ506を介して認証デバイス504に提供してもよい。コネクタ506はサーバ510から受信したこの情報を使って、認証デバイス504からゲートウェイ360を介してクライアントデバイス302に渡してもよいアイテム(例、フォーム、チャレンジ、質問等)を生成してもよい。いくつかの側面により、クライアントデバイス302がこの要求認証情報を受信した後、プラグイン514またはアプリケーションなど、クライアントデバイス302上に(またはクライアントデバイス302のリモートに)あるスクリプトまたはプログラムがサードパーティ認証プロトコル(例、生体認証)を呼び出してもよい。プラグイン514は、たとえば、クライアントデバイス302のユーザから、要求認証情報を要求してもよい。たとえば、ユーザに要求認証情報の入力を要求するクライアントデバイス302に、ユーザインターフェースを提示してもよい。
いくつかの側面によると、このようなユーザインターフェースは、クライアントデバイス302に聴覚的にまたは視覚的に提示してもよい。たとえば、認証情報として指紋サンプルが要求される場合、プラグイン514は指紋サンプルを要求するユーザインターフェースを表示してもよく、また、指紋を採取するために、対応する指紋リーダまたはスキャナを選択してもよい。プラグイン514はサーバ510および/またはサーバ512からユーザインターフェース情報を取得してもよい(サードパーティゲートウェイデバイス516を介して)。
図6は、本明細書で説明する1つ以上の特徴に従う、サードパーティの認証サポートを介したクライアント認証のフロー模式図を示す例示的なプロセス600である。
プロセス600は、システム500などのシステム実行される。たとえば、1つ以上の実施形態において、図6に示されるプロセス600および/またはその1つ以上のステップは、コンピューティングデバイス(例、図1〜図5のいずれかのデバイス)で行ってもよい。他の実施形態では、図6に示されるプロセスおよび/またはその1つ以上のステップは、不揮発性コンピュータ読取可能メモリなどのコンピュータ読取可能媒体に格納されるコンピュータ実行可能命令に具現されてもよい。あるいは、または追加で、プロセス600のステップのうちのいずれかを、クライアントデバイス、ゲートウェイデバイス、企業サーバマシン、および/またはサードパーティサーバもしくはコンピューティングデバイス上で行ってもよい。図5に図示するように、システム600はクライアントデバイス302と、ゲートウェイデバイス360と、認証デバイス504と、コネクタ506と、サードパーティ認証サーバ510とを含んでいる。
プロセス600はステップ602から始まり、クライアントデバイス302はゲートウェイ360が特定のタイプのログオンプロトコルをサポートするかどうかをたずねる要求を送信する。たとえば、クライアントデバイス302上で稼動しているアプリケーションはフォームプロトコルを介して認証したいことがある。クライアントデバイス302はこの要求をPOST HTTPメッセージとして送信してもよい。メッセージは、ゲートウェイ360の認証要件、コンテンツタイプ(例、フォームプロトコルなど、所望のまたはサポートされる認証プロトコル/タイプ)、ユーザエージェント、ゲートウェイ360の場所/アドレス、およびゲートウェイ360のホストを判定する要求を含んでもよいフォームスタートURLに投稿してもよい。
ステップ604で、ゲートウェイ360はクライアントデバイス302からこの要求を受信する。要求される認証プロトコル(例、フォーム認証)をゲートウェイ360がサポートしていない場合、ゲートウェイ360は、403 Forbiddenまたは302 Found(例、/vpn/index.htmlなど、別のURLへのリダイレクト)など、クライアントデバイス302にフォールバックオプションを提供してもよい認識可能なHTTPレスポンスをクライアントデバイス302に送信してもよい。要求される認証プロトコルをゲートウェイ360がサポートしている場合、ゲートウェイ360は、サポートされるコンテンツタイプ(例、フォーム認証)を含んでもよい200 OKレスポンスなど、要求されるプロトコルをゲートウェイ360がサポートすることを示すレスポンスをクライアントデバイス302に送信してもよい。
いくつかの側面によると、ステップ602および/または604は、クライアントデバイス302により出されたリソースアクセス要求の一部として、暗黙のうちに行われてもよい。ある場合には、リソースアクセス要求が、たとえば、HTTPヘッダを使って、クライアントデバイス302がフォームログインプロトコル(または他の認証プロトコル)を理解することを示すことによって、認証チャレンジをトリガしてもよい。
ステップ606で、要求されるプロトコルのサポートを示すゲートウェイ360からレスポンスを受信した後、クライアントデバイス302は所望の認証プロトコルを使ってログイン要求を開始する。この実施例では、ログオンプロトコルはフォームベースの認証プロトコルであってもよい。クライアントデバイス302は所望の認証プロトコルを理解してもよい。たとえば、クライアントデバイス302は認証プロトコルを理解するアプリケーションまたはプログラム(例、企業アプリケーション)を稼動してもよく、また、ゲートウェイ360(および/または他のコンポーネント)と通信してもよい。
別の実施例では、クライアントデバイス302は、JavaScript(登録商標)プログラム(例、企業から提供される)を稼動してもよく、認証プロトコルを理解してもよいウェブベースのアプリケーション(例、ウェブページ)を稼動してもよい。この実施例では、クライアントデバイス302はログオンシーケンスを処理するために、WebViewコントロールを(例、企業アプリケーションを使って)埋め込んでいる。たとえば、クライアントデバイス302上で稼動しているアプリケーションは企業システムへのログオンを望んでいることがあり、クライアントデバイス302はゲートウェイ360に共通フォームスタート位置(例、URL)へのGET HTTP要求を送信することにより、このフォームログイン要求を開始してもよい。いくつかの側面によると、この要求はゲートウェイ360の認証要件、コンテンツタイプ(例、フォームプロトコルなど、所望のまたはサポートされる認証プロトコル/タイプ)、ユーザエージェント、ゲートウェイ360の位置/アドレス、およびゲートウェイ360のホストなどの情報を含んでもよい。この要求は暗号化鍵(例、鍵交換)情報を含んでもよい。たとえば、クライアントデバイス302は、要求に、クライアントデバイス302がどのバージョンのフォームプロトコルを理解するかを示してもよい。たとえば、クライアントデバイス302は複数の互換性のあるバージョンを特定してもよい。
いくつかの側面によると、フォームレスポンスはクライアントデバイス302からゲートウェイ360に(または、ゲートウェイ360からクライアントデバイス302に)送られる場合、フォーム値は暗号化してもよい。暗号化(ここと本明細書で開示されるあらゆる暗号化)は、AES−128暗号など、どのタイプの暗号化を使って実現してもよく、各固有の会話については、クライアントデバイス302とゲートウェイ360との間(または、開示されるあらゆるデバイス/コンポーネント間)で新たな暗号化鍵が合意される。このように、鍵情報は、パラメータ名と期待値とを含む鍵交換スキームを含んでもよい。いくつかの側面によると、鍵交換スキームを介してクライアントデバイス302とゲートウェイ360との間でネゴシエーションがあってもよい。これが合意に至ったら、この鍵を使って追加の通信を暗号化してもよい。フォームベースの認証プロトコルが説明されているが、あらゆる他のログオン/認証プロトコルを使用してもよい。
いくつかの実施形態によると、ゲートウェイ360は、前のステップ606など、クライアントデバイス302の事前認証スキャン(例、エンドポイント分析(EPA)スキャン)を行う。このスキャンは、リスクベースの認証について本明細書でさらに説明するのと同様なプロトコルを使用してもよい。このスキャンは、クライアントデバイス302がゲートウェイ360で認証を開始するのに十分クリーンな環境を備えるかどうかをチェックしてもよい(例、クライアントデバイス302が最新のシステムパッチ、稼動しているアンチウイルスソフトウェア等を有しているかどうかを確認するためにチェックする)。このスキャンは、ユーザに通知することなく、またはユーザにユーザインターフェースを表示することなく行ってもよい。
いくつかの側面によると、ゲートウェイ360がクライアントデバイス302から追加情報を必要とする場合(例、ゲートウェイ360が要求ヘッダを検査することによりスキャンを行うことができない場合)、ゲートウェイ360はEPAデータを要求するクライアントデバイス302にフォームを送信してもよい。たとえば、フォームはどの証拠を収集および/または供給すべきかを示してもよいEPA証拠要素を含んでもよく、証拠を提出するためのボタンを含んでもよい。いくつかの実施形態によると、フォームはユーザ提供の資格情報(認証サービス/デバイスが要求するものなど)とEPA証拠との組み合わせを要求してもよい。さらに、クライアントデバイス302はEPA証拠を収集して、ゲートウェイ360に投稿してもよい。さらに、ゲートウェイ360は供給された証拠を評価してもよい。たとえば、ゲートウェイ360は、クライアントデバイス302のEPA証拠がログオンに適した環境を備えていないとゲートウェイ360が判定する場合にログオンを拒否してもよく、また、クライアントデバイス302に表示されるエラーメッセージを含むフォームをクライアントデバイス302に送ってもよい。さらに、ゲートウェイ360はログオンプロセスを終了してもよい。別の実施例では、ゲートウェイ360は、EPA証拠がログオンに適した環境を示すとゲートウェイ360が判定する場合、ログオンプロセスを継続させてもよい。別の実施例では、ゲートウェイ360は、クライアントデバイス302が一定のアクションを行うことを条件に、ログオンを許可してもよい。ゲートウェイ360は、ゲートウェイ360が認証プロセスの続行をさせる前に行う必要がある可能性のあるEPAアクション要素(例、アンチウイルスプログラムのインストール、アンチウイルススキャンの実行等)を示すフォームをクライアントデバイス302に送ることにより、クライアントデバイスにこれらのアクションを示してもよい。
ステップ608で、フォームログイン要求の受信後、ゲートウェイ360は、事前設定済みのフォーム認証サーバのエンドポイント(例、企業認証デバイス504)に要求を送ることにより、フォーム認証セッションを開始してもよい。要求はクライアントデバイス302の機能に関する情報、以前の認証イベントからの格納データを含んでもよく、デバイス504はこれを認証要求の処理の方法を判定するために使用してもよい。要求はクライアントデバイス302のIPアドレスおよびクライアント証明書(例、SSLクライアント認証用)も含んでもよい。ゲートウェイ360は、暗号化鍵(前述)、通信チャネルの保護に使用してもよい暗号ノンス等、いくつかの追加のセキュリティ情報も生成してもよい。
ステップ610で、要求を受信した後、デバイス504は要求をさらにコネクタ506に渡してもよく、さらにサードパーティ認証サーバ510に要求を渡してもよい。前述したように、サーバ510はクライアントデバイス302上で稼動しているアプリケーション(例、管理対象および/または非管理対象アプリケーション)のサードパーティ認証サーバであってもよい。いくつかの側面によると、コネクタ506はサードパーティサーバ510の認証プロトコルを用いて構成されてもよく、および/またはサードパーティサーバ510の認証プロトコルと互換性があってもよい。たとえば、コネクタ506は、サードパーティ認証サーバ510を認証デバイス504と通信できるようにさせてもよい認証デバイス504の拡張であってもよい。したがって、コネクタ506はサードパーティサーバ510が使用するいずれの認証プロトコルの知識を含んでいてもよい。いくつかの側面によると、デバイス504、コネクタ506および/またはサードパーティサーバ510は、事前共有鍵、ノンス、クライアントID、または鍵交換情報などのセキュリティ情報を使用して、暗号化鍵を生成してもよい。セキュリティ情報はさらにメッセージの暗号化に使用してもよい。
ステップ612で、コネクタ506から要求を受信した後、サーバ510は、クライアントデバイス302の機能、過去の認証イベントから提示されてもよい格納データ、ノンス(nonces)、クライアントデバイス302のIPアドレス、および認証要求の処理方法の決定に役立つ他の情報(例、セキュリティ情報)を検査する。前述したように、サーバ510は、ノンスならびに、事前共有鍵、クライアントIDおよび/または鍵交換情報などの他のセキュリティ情報を使用して暗号化鍵を計算してもよく、これを使用してサーバ510が送信し、クライアントデバイス302またはコネクタ506が受信するレスポンスの全部または一部を暗号化してもよい。たとえば、レスポンスは、ユーザが答えることを選んだ知識ベースの質問など、センシティブな情報をそれ自体が含んでもよい認証チャレンジを含んでもよい。
くわえて、サーバ510との認証セッションを表すセッションクッキーを生成/設定してもよい。サーバ510はさらに、リスクベースの証拠、生体情報、テキストベースの情報、話声もしくは音声ベースの情報、またはあらゆる他の種類の認証情報もしくは証拠など、1つ以上の認証プロトコルに対して資格情報をクライアントデバイス302が提供するよう要求することにより、サーバ510上でクライアントデバイス302を認証するよう要求してもよい(クライアントデバイス302のシェイクまたはスピン、物理的なカード、トークンまたはフォブコードの、ある特定のグリッドリファレンスを探すこと等)。サーバ510はさらにクライアントデバイス302からの認証情報(例、指紋)を求める要求をコネクタ506に送信してもよい。
ステップ614で、コネクタ506(および/または認証デバイス504)はサーバ510から要求された認証情報を含む資格情報フォームを生成する。たとえば、コネクタ506は指紋を要求する資格情報フォームを生成してもよい。くわえて、コネクタ506(および/またはデバイス504)はフォーム内で、認証デバイス504上でクライアントデバイス302を認証するために必要になる可能性のある追加認証情報を要求してもよい。たとえば、クライアントデバイス302は企業サービス308(例、アプリストア378)を要求したかもしれず、企業サービス308へのアクセスを許可する前に、企業認証デバイス504にログオンする、および/または企業認証デバイス504により認証される必要があるかもしれない。このように、コネクタ506(および/またはデバイス504)はフォームにこの追加で要求される認証情報(例、テキストベースのパスワード)を含んでもよい。コネクタ506(および/またはデバイス504)はさらに、この認証情報(例、サーバ510およびデバイス504の相互認証)のいずれかを含むフォーム(例、1つ以上のフォーム)を生成してもよく、このフォームをゲートウェイ360に送ってもよい。ゲートウェイ360に送信されるこのレスポンスは、暗号化鍵素材など、フォームへのレスポンスの暗号化を可能にしてもよいセキュリティ情報を含んでもよい。
いくつかの側面によると、追加暗号化レイヤを使用して、資格情報処理チェーン内の1つ以上のコンポーネント/デバイスから情報(例、資格情報値または生体情報などの他の秘密情報)を隠してもよい。開示されるデバイスおよび/またはコンポーネント間で個別の暗号をネゴシエートして、同じ認証プロセスで使用される暗号化が複数あるようにしてもよい。たとえば、生体サンプルについて、クライアントデバイス302はゲートウェイ360、認証デバイス504、サードパーティコネクタ506および/またはサードパーティ認証サーバ510に対して暗号化をネゴシエートしてもよい。いくつかの側面によると、ゲートウェイ360と認証デバイス504との通信は第1暗号化鍵を使用してもよく、認証デバイス504(例、サードパーティコネクタ506を介して)とサードパーティ認証サーバ510との通信は第2鍵を使用してもよい。この状況は、たとえば、個別の認証プロトコル(例、SSO)のために、認証デバイス504によって開封されて、ゲートウェイ360に返される企業パスワードを保護するために使用されてもよい。
いくつかの側面によると、暗号化レイヤネゴシエーションを使用して、センシティブな情報の受取人(サードパーティコネクタ506など)がクライアントデバイス302(製造者など)に関連するエンティティによって信頼性を確認されたおよび/または承認された承認済みコードデバイス/モジュールであることを保証して、センシティブな情報を取り扱うときに受取人が確実に適切な配慮をするようにしてもよい。ある場合には、信頼性を確認された受取人には、公開/秘密鍵ペアまたは証明書など、暗号化鍵ネゴシエーション中に使用されるかまたはその他の形で検証されてもよい秘密を提供してもよい。
ステップ616で、ゲートウェイ360はフォームを受信し、フォームの妥当性を確認する(例、スキーマチェックを使用して)。いくつかの側面によると、ゲートウェイ360はフォームの本体に含まれるホスト相対パス(例、PostBackおよびCancelPostBack)を調整してもよい。ゲートウェイ360はデバイス504および/または510によって生成されるクッキーも格納してもよい。ゲートウェイ360はクライアントデバイス302のゲートウェイ事前認証セッションクッキーを設定/生成してもよい。ゲートウェイ360は、クライアントデバイス310およびゲートウェイ360が以前の通信で合意していてもよい鍵を使用して、フォーム/メッセージを暗号化してもよい。ゲートウェイ360はさらにフォーム(クッキーなどの他の情報とともに)をクライアントデバイス302に送信してもよい。
ステップ618で、クライアントデバイス302はゲートウェイ360から資格情報フォームを受信する。クライアントデバイス302はさらにフォームを処理し、フォームをレンダリングし、フォームを(例、クライアントデバイス302のユーザに)、たとえば、サーバ510および/またはデバイス504によって要求される情報(例、指紋および/またはテキストベースのパスワード)を要求するユーザインターフェースとして表示してもよい。サーバ510および/またはデバイス504により他の情報が要求された場合、それをクライアントデバイス302にレンダリングおよび/または表示してもよいことは留意される。
いくつかの側面によると、クライアントデバイス302上に(またはクライアントデバイス302のリモートに)格納されてもよいプラグイン機構514をクライアントデバイス302で呼び出して、クライアントデバイス302に認証資格情報を要求するディスプレイもしくはユーザインターフェースを生成するか、または何か他の方法で認証資格情報を生成もしくは取得してもよい。いくつかの側面によると、ゲートウェイ360はクライアントデバイス302にプラグイン514を呼び出すよう指図してもよい(例、プラグイン514でクライアントデバイス302と一緒に進行してもよい)。たとえば、フォームがユーザ名および指紋サンプルを要求する場合、プラグイン514は正しい/対応するユーザインターフェース(指紋サンプルおよび/またはユーザ名)を表示するように構成してもよく、正しい/対応するリーダ、もしくはスキャナを表示しおよび/または取得して、指紋および/もしくはユーザ名を収集してもよい。くわえて、ユーザインターフェースは特定の入力モジュールを有していてもよい。たとえば、カスタムのキーボードレイアウトをレンダリングしてパスワードをタイプしてもよく、またはユーザ入力に関する情報を反映させないためにカスタムキーボード入力機構を使用してもよい。
いくつかの側面によると、プラグイン514は、サードパーティ認証サーバ510などのサードパーティエンティティおよび/またはデバイスと通信してもよい。この場合、サードパーティエンティティはクラウドサービス/エンティティであってもよい。したがって、ある状況において、プラグイン514はサードパーティ認証サーバ510または別のサードパーティサーバ512から正しいフォームを提示するために必要な情報を取得してもよい。ある他の状況において、プラグイン514はサードパーティエンティティと通信するためのメカニズムを含んでいないかもしれない。このような場合、サードパーティ認証サーバ510が、サードパーティコネクタ506によってプラグイン504にフォームを利用できるようにするべきであることをクライアントデバイス302に認識させるようにフォーマット化されたあるフォーム(例、base64符号化、XML、JSON等)にフォーマット化される認証情報(認証チャレンジなど)を提供してもよい。
このような状況において、サードパーティ認証サーバ510はプラグイン514に任意入力(例、指紋)を提供してもよい。いくつかの実施形態では、プラグイン514はクライアントデバイス302上で稼動しているアプリケーション(例、個別のアプリケーション)であってもよく(例、クライアントデバイス302のオペレーティングシステムがプラグイン機構をサポートしていない場合)、また、前述したのと同様な方法で呼び出してもよい。認証資格情報を収集した後、クライアントデバイス302は資格情報をゲートウェイ360に投稿してもよい。プラグイン514を使用することでクライアントデバイス302およびプラグイン504(または複数のプラグイン)をフォームの処理時に共同で呼び出させることができる。プラグイン504は、フォームがクライアントデバイス302によってユーザに表示される前に、フォーム情報を確認して修正してもよい。このように、いくつかの側面によると、プラグイン504は隠れて動作し、プラグイン504がユーザインターフェースを生成しないようにするが、フォームがクライアントデバイス302によって表示される前にフォームを修正できるようにしてもよい。プラグイン504は、最終資格情報がゲートウェイ360に投稿される前に、このフォーム(ユーザと供給されるプラグインとの混合とすることができるであろう)で収集された資格情報も確認して処理してもよい。たとえば、(修正または未修正の)フォームから取得したユーザ入力をプラグイン504で使用して、本物の認証資格情報を取得または生成するのに役立てることができる。
図9は、例示的なユーザインターフェース900を示す。ユーザインターフェース900はユーザ名テキストフィールド902と、パスワードテキストフィールド904と、ドメインドロップダウンリスト906と、パスワードを保存するチェックボックス908と、ログオンボタン910と、取消ボタン912と、安全な接続指示914と、命令916とを含んでいる。
いくつかの側面によると、開示される実施形態はインライン画像も備えて、画像データをフォームに含めるようにしてもよく、これはたとえばサードパーティコネクタ506によって動的に生成することができるであろう。ある状況において、フォーム記述は意味論的意味に集中してもよく、開示されるコンポーネントはユーザインターフェースの処理および/またはディスプレイを意味論的意味に基づかせてもよい。いくつかの側面によると、開示される特徴は、開示される側面に従って使用してもよいさまざまなユーザインターフェース・スタイルガイドを有する異なるデバイスタイプとの互換性を可能にしてもよい。
また、開示される実施形態は、インターフェース処理をプラットフォームスタイルまたは規約に一致させるように調整する、一般に認められているユーザインターフェースパターンを含んでもよい。ある場合には、取消ボタンなどのインターフェースの特徴は、プラットフォームに基づいて異なる種類のナビゲーションコントロールに取り換えてもよい。別の実施例では、ユーザ名フィールドの補助的テキストを生成してもよい。別の実施例では、フォームでユーザ名のドメイン修飾子などの特定の情報を含むようにとの補助的テキスト命令に従わなかった可能性があるユーザ入力を強調表示する。該インターフェース機能は意味論的アクションを含んでもよく、これはプラットフォーム固有のコントロールまたは直接可視化表現を有していないかもしれないジェスチャにより呼び出すこともできる。該インターフェース機能は、たとえばタイムアウトイベント中に、クライアントデバイス302によって強制および/または呼び出されてもよい。したがって、意味論的な認証フォームアプローチはクライアントライターで実施してもよく、ローカルなプラットフォーム規約への適応を許容するので、各クライアントデバイス(および/またはプラグイン)はフォームの表示をカスタマイズ可能にアレンジしてもよい。
いくつかの側面によると、サードパーティ認証サーバ510および/または認証デバイス506は、たとえば、フォームが動的情報を含まないとき、フォームをキャッシュ可能としてマークしてもよい。クライアントデバイス302が鍵ネゴシエーションをまだサポートしていない場合、キャッシュされた初期フォームがユーザに表示されていてもよい間にクライアントデバイス302はGET要求を送信してもよく(例、無駄な帯域幅を避けるためにETAGで)、したがってゲートウェイ360に認証サーバ510および/または認証デバイス506との新鮮な認証会話を開始させることができる。いくつかの側面によると、クライアントデバイス302は予め登録された公開鍵に基づいて「一方向」スキームを使用してもよく、ゲートウェイ360は、第1の資格情報のPOSTが生成/送信されるときにオンデマンドでサードパーティ認証サーバ510および/または認証デバイス506と、自己の暗号化セッションをネゴシエートしてもよい。いくつかの実施形態によると、ゲートウェイ360は、ゲートウェイ360が認証サービス/デバイスから動的に受信したフォームを修正するときなど、キャッシングを使用不可にしてもよい。
ステップ620で、ゲートウェイ360はクライアントデバイス302から資格情報を受信してもよい。いくつかの側面によると、暗号化は、クライアントデバイス302とゲートウェイ360との間で作用することができるであろう。ゲートウェイ360はデバイス504との認証セッションのために暗号化鍵で、POSTメッセージ本体の一部または全部を暗号化してもよい。ゲートウェイ360はさらに認証デバイス504にフォームを送信してもよい。
ステップ622で、認証デバイス504は資格情報をコネクタ506に渡してもよく、さらにこれがサードパーティ認証サーバ510により要求される資格情報を渡してもよい。たとえば、コネクタ506は指紋のスキャンからの情報をサーバ510に渡してもよい。前述したように、暗号化は資格情報処理チェーン内のさまざまなデバイス/コンポーネント間で作用することができるであろう。たとえば、クライアントデバイス302からコネクタ506またはサードパーティ認証サーバ510まで「エンドツーエンド」の暗号化としてもよい。他の側面では、クライアントデバイス302からゲートウェイ360までの暗号化、ゲートウェイ360から認証デバイス504までの個別の暗号化(例、再暗号化)等であってもよい。
ステップ624で、サードパーティ認証サーバ510はサードパーティサーバ512に格納されている資格情報で/に対して、これらの資格情報を妥当性検証/照合しようとしてもよい。いくつかの側面によると、さまざまな資格情報(例、生体情報、テキスト、話声、リスクベース等)は、サードパーティサーバ512などのサードパーティによって事前に格納されていてもよく、要求される資格情報と照合確認してもよい。たとえば、指紋資格情報からの情報がサーバ510に送信される場合、サーバ510はサーバ512の指紋資格情報と一致するかどうかを判定してもよい。一致する場合、資格情報はサードパーティ認証サーバ510が行う資格情報要求を満たしてもよい。一致しない場合、資格情報はサーバ510が行う資格情報要求を満たさないかもしれない。
いくつかの側面によると、無効であると認定された資格情報をクライアントデバイス302が提出する場合、サーバ510は、資格情報が無効であると認定された理由をコネクタ506に示してもよく、コネクタ506は、前の資格情報のエントリ中に間違いがあったかもしれない箇所をクライアントデバイス302のユーザに案内する注釈または追加情報を含んでもよい追加の資格情報収集フォームを送信してもよい。
いくつかの側面によると、ゲートウェイ360など、システム500のいくつかのコンポーネントは記述エラー情報または注釈を取り除いてもよく、より一般的なエラーメッセージを実装してもよく、および/または認証を拒否してもよい。たとえば、ゲートウェイ360は自身の一定の認証ポリシー管理を認証プロセスに差し込んでもよい。該状況は、サードパーティ認証サーバ310、認証デバイス504およびコネクタ506をいくつかのクライアントデバイスが直接使用するが、他のクライアントデバイスはこれらのデバイスにゲートウェイ360を介してアクセスする場合に有利であるかもしれない。開示される実施形態は、認証意味を記述するためのフォーム記述を許容するこの種の層状コントロールに向けられる。
いくつかの側面によると、ゲートウェイ360(および/または関連コネクタフィルタ)は自身の追加の認証ステップを挿入してもよい。たとえば、ゲートウェイ360は、ユーザがシステムにアクセスするために確認しなければならない(例、認証の成功の前に)法的免責事項を挿入してもよい。ゲートウェイ360は、これら追加の認証ステップを、確立された認証プロセスのいずれかのステップ(例、プロセス600もしくは800等の1つ以上のステップ)の前または後に、たとえば確立された認証プロセスの意味を理解する必要の有無に関係なく、挿入してもよい。
いくつかの側面によると、異なるコンポーネントで制御してもよい複数の認証方法を組み合わせてもよい。たとえば、ゲートウェイ360はパスワード資格情報を要求して妥当性検証してもよいのに対し、サードパーティデバイス510はハードウェアトークンまたは他のスキーム(例、フォーム認証を介して)に基づいてワンタイムパスワードを要求してもよい。ゲートウェイ360はさらにコネクタ506が生成するフォーム内の意味論的情報を使用して、必要とする追加の資格情報要求(例、パスワード)を含むようにフォームを書き直してもよく、さらに異なるレスポンスの要素をクライアントデバイス302と分離(またはインターリーブ)してもよい。
いくつかの側面によると、フォーム認証プロセス中、クライアントデバイス302は、変更パスワードフォームがいつ処理されるかを認識してもよく、異なるプロトコルの使用に切り替えて(例、フォームプロトコルから切り替えて)、安全な状態でパスワードの変更を行ってから、初期フォーム認証プロセスの後続ステップを続行してもよい。ある状況において、いくつかのクライアントデバイスはパスワードを安全に変更するためにOS APIの使用をサポートしてもよく、またはKerberos変更パスワードプロトコルを使用してもよい。この特徴は、すでに危険な操作であるかもしれないパスワード変更に高度なセキュリティを可能にしてもよい。
いくつかの側面によると、サードパーティ認証サーバ510は、クライアントデバイス302から送られた初期認証情報の妥当性検証後でも、クライアントデバイス302から追加の認証情報を要求してもよい。追加の認証情報の要求により追加のセキュリティが与えられてもよい。
たとえば、リスクベース認証中、サーバ510はクライアントデバイス302からリスクベース認証(risk-based authentication; RBA)の証拠(evidence)を要求してもよい。いくつかの側面によると、このRBAの証拠は、ユーザのインタラクションなく、クライアントデバイス302から読み取って、クライアントデバイス302から送信してもよい。このように、企業アプリケーションまたはプログラムはクライアントデバイス302のデバイス特性を読み取ってもよく、1組のRBAの証拠を構築してもよい。
このRBAの証拠は、RBAとともに使用するために特に生成されたIDなどのデバイスID、企業管理ID、および/またはクライアントデバイスに割り当てられるサードパーティIDを含んでもよい。いくつかの側面によると、これらのIDのうちの1つ以上は、MACアドレス、UDID等、ハードウェアIDに基づかなくてもよく、または基づいていなくてもよいだろう。RBAの証拠はジオロケーション、脱獄(ジェイルブレイク)ステータス、スクリーンサイズ、ならびに/またはセルラーおよび/もしくはデータプロバイダ/キャリア(例、国別コード、ネットワークコード、キャリア名等)を含んでもよい。RBAの証拠は、ユーザ選択のデバイス名、現在の時刻、標準時間帯、日時フォーマット(例、12もしくは24時間時計、日付表示順序)、表示言語(現在もしくは過去)、使用可能にされたキーボード等、ユーザ設定も含んでもよい。RBAの証拠は、メディア(例、楽曲、映像、画像、連絡先)情報など、ユーザデータ統計も含んでもよい。リスクベースの評価は既知のアクセスパターンを含んでもよい(例、クライアントデバイス302が未知の、またはよく知られていないアクセスパターンを使用している場合、おそらくリスクがあるかもしれない)。
また、リスクベースの評価は攻撃の知識を使用して(例、リアルタイムの悪意の攻撃の知識)、現在の攻撃または差し迫った攻撃の知識がある場合、より高いリスクを認証要求に関連付けるようにしてもよい。いくつかの側面によると、あるRBAの証拠はゲートウェイ360および/または認証デバイス504から直接取得してもよい。この情報はクライアントデバイスのIPアドレス、ユーザエージェントストリング、SSLクライアント証明書等を含んでもよい。いくつかの側面によると、このRBAの証拠または情報の少なくともいずれかに基づいて、サーバ510がアクセス/認証の状況が危険であるかもしれない(例、高リスクまたは中リスク)と判定する場合、サードパーティ認証サーバ510は追加の認証情報を要求してもよく、またはログインを拒否してもよい。
図10は、クライアントデバイス302に表示されてもよく、追加の認証情報を要求する例示的なユーザインターフェース1000を示す。ユーザインターフェース1000は一次命令1002と、二次命令1004と、入力を受けるように構成されているフィールド(例、テキストフィールド)1006と、「次へ」ボタン1008と、安全な接続の指示1010とを含んでもよい。ユーザインターフェース1000はサーバ510が要求する追加の認証情報を要求するために使用してもよい。
追加の認証情報が要求されない場合、図6のプロセス600は、初期認証資格情報の妥当性検証の後に、ステップ640に進む。追加の認証情報が要求される場合、ステップ626で、サーバ510はクライアントデバイス302から要求される認証情報をコネクタ506に示す(例、ステップ612と同様)。
ステップ628で、コネクタ506(および/または認証デバイス504)は資格情報フォームを生成して、これらのフォームをゲートウェイ360に送る(例、ステップ614と同様)。ステップ630で、ゲートウェイはこれらのフォームをクライアントデバイス302に送る(例、ステップ616と同様)。ステップ632で、クライアントデバイス302はこれらの資格情報を収集して、それをゲートウェイ360に送信する(例、ステップ618と同様)。ステップ634で、ゲートウェイはこれらの資格情報を収集して、それを認証デバイス504に送信する(例、ステップ620と同様)。ステップ636で、認証デバイス504はこれらの資格情報をコネクタ506に渡し、これが該資格情報をサードパーティ認証サーバ510に渡す(例、ステップ622と同様)。ステップ638で、サードパーティ認証サーバ510はさらに資格情報を妥当性検証しようとする(例、ステップ624と同様)。このプロセスは必要な回数繰り返してもよい。
ステップ640で、認証資格情報の妥当性検証の成功後、サーバ510は妥当性検証の成功を示すOKレスポンス(例、HTTP 200)を生成する。サーバ510はさらに認証デバイス504に(例、サードパーティコネクタ506を介して)、ユーザID、グループ情報、セッションパスワード等、クライアントデバイス302に関連する情報を送信する。たとえば、認証デバイス504はRBAからのリスク評価情報、またはたとえばSAMLモデルに従ってもよいアイデンティティもしくは属性プロバイダによって主張されてもよいさまざまな種類のクレームを送信してもよい。
この情報はさまざまな方法またはプロセスで使用してもよい。たとえば、ゲートウェイ360および/または認証デバイス504はクライアントデバイス302上で稼動しているアプリケーション(例、企業関連のアプリケーション)にスマートアクセス条件として情報を渡してもよく、これをさまざまなポリシー評価エンジンへの入力として使用してもよい。
これらのポリシー管理はさらに、一定のリソースへのアクセスを遮断し、および/またはこれらのリソースを使用するときに、コピーアンドペースト機能の拒否、もしくは企業関連のアプリケーションを介してホストされる企業セッションからの印刷機能の拒否など、一定の機能を使用不可にするために使用してもよい。ある場合において、この情報の一部または全部を前のステップと同じ鍵を使用して暗号化してもよい。ステップ642で、この情報とともにOKレスポンスをさらにゲートウェイ360に送信する。
ステップ644で、ゲートウェイ360はOKレスポンスとともに、クライアントデバイス302に関連した追加情報(例、ユーザID、グループ情報、セッションパスワード等)を受信してもよい。ゲートウェイ360はこの情報(例、パスワード情報)を処理して妥当性検証してもよく、クライアントデバイス302に近似選択を提供してもよい。ゲートウェイ360およびクライアントデバイス302は、SSO認証など、追加認証の目的のためにこのパスワード情報を使用してもよい。
たとえば、クライアントデバイス302は認証デバイス504に認証要求をしてもよい(例、企業リソースにアクセスするため)。このような状況において、クライアントデバイス302は認証デバイス504との会話を開始し、それによりトークン発行者のトークンと要求される企業リソースのトークンとを交換してもよい。たとえば、認証デバイス504は認証デバイス504にログインするために多数の選択肢を示してもよい(例、シングルサインオン(SSO)、パスワード、Kerberos、スマートカード、フォームログオン等)。認証の選択肢を選択した後、クライアントデバイス302は認証デバイス504から、要求される企業リソースのトークン発行者のトークンを要求してもよい。このトークンが、たとえば、認証デバイス504から提供された後、クライアントデバイス302はトークン発行者から、要求されるリソースにアクセスするためのトークンを要求してもよい。
いくつかの側面によると、クライアントデバイス302と認証デバイス504との通信は、ゲートウェイ360を介してもよい。このような状況において、このプロセス中、ゲートウェイ360は認証プロセス(例、SSOログインのため)のステップ642で送信された情報(例、パスワード情報)を使用してもよい。他の状況においては、クライアントデバイス302は認証資格情報を認証デバイス504に渡してもよく、これが、これらの資格情報をアクティブディレクトリ422に格納されている資格情報と/に対して照合/妥当性検証してもよい。たとえば、ログインメカニズムがADパスワードおよび/またはユーザ名を含む場合(例、ユーザがタイプしたため、もしくはパスワードボールトから復元されるため)、ゲートウェイ360はこのパスワードを認証済みのセッションデータの一部としてキャッシングしてもよい。企業リソースがゲートウェイ360を介してアクセスされた後、ゲートウェイ360はアクセスプロトコル(例、ウェブプロキシモード)を知ってもよい。企業リソースにより要求される認証は、ゲートウェイ360に、認証要求に反応して、キャッシュ情報(例、ユーザ名および/またはパスワード)を使ってレスポンスさせてもよく、これはクライアントデバイス302がこの知識を持たなくても行われてもよい。
このように、ある場合において、クライアントデバイス302がフォームログインを使用して認証要求するステップは、発生する必要はないかもしれないが、フォームが新しい情報を含んでいる場合には発生してもよい。このキャッシング面は、認証チャレンジをずっとさかのぼってクライアントデバイス302まで送らなくてもよいかもしれないので、速度の改善をもたらすことがある。
ゲートウェイ360はさらに、クライアントデバイス302に所望のセッションのタイプについての問い合わせを、クライアントデバイス302に送信してもよい。セッションタイプ(例、VPN、CVPN、WICA等)はセッションポリシーによって判定してもよく、クライアントデバイス302に認証レスポンスを送る前に(例、自動的に)適用してもよい。いくつかの側面によると、ゲートウェイ360は所望のセッションを判定する追加フォームを生成してもよく、これらのフォームをクライアントデバイス302に送ってもよい。これらのフォームはセッションタイプの選択肢を含んでもよく、ユーザはそこからセッションタイプを選択してもよい。ある場合において、セッションタイプはすでに確立されていてもよく、クライアントデバイス302がセッションタイプを選ぶ必要がなくてもよい。
ステップ646で、ゲートウェイ360はこれらのフォームを受信して表示する。セッションのタイプを選択した後、クライアントデバイス302は所望のセッションタイプをゲートウェイ360に送信してもよい。
ステップ648で、ゲートウェイ360はさらに、セッションのタイプに十分なライセンスがあるかどうか、および/またはセッション転送が必要な可能性があるかどうかを判定する。ある状況において、ゲートウェイ360は、企業が十分な数のライセンスを持っていないと判定するかもしれない。このような状況において、ゲートウェイ360は、クライアントデバイス302に送信および/または表示されてもよいエラーダイアログフォームおよび/またはHTTP480レスポンスを生成してもよい。クライアント302がこのフォームを受理した時点で認証を拒絶してもよい。セッション転送が必要だとゲートウェイ360が判定する場合、ゲートウェイ360は(例、ユーザの)同意を要求するフォームをクライアントデバイス302に送信して、セッションを転送してもよい。転送で使用してもよいセッションが複数ある場合、フォームはこれらのセッションの選択肢を含んでもよい。このように、セッションを判定し、設定した後、ゲートウェイ360は選ばれたセッションタイプを起動してもよく、さらにOK認証レスポンスを(例、セッション情報および/または他の情報とともに)クライアントデバイス302に送信してもよい。
ある場合において、ゲートウェイ360は認証セッションクッキーをクライアントデバイス302に送信してもよく、これがクライアントデバイス302について認証されたゲートウェイセッションを確立してもよい。いくつかの側面によると、ゲートウェイ360はいずれかの事前認証セッション情報(例、事前認証クッキー、暗号化鍵等)を廃棄してもよく、追加情報(認証セッションクッキーまたは暗号化鍵等)をクライアントデバイス302に提供してもよい。
いくつかの実施形態によると、ゲートウェイ360はクライアントデバイス302の事後EPAスキャンを行ってもよく、これは本明細書で説明する事前EPAスキャンと同様なものであってもよい。この事後EPAスキャンは、セッションタイプもしくは転送の判定または設定の前に行ってもよく、またクライアントデバイス302に認証成功レスポンスを送る前に行ってもよい。
ステップ650で、妥当性検証した認証レスポンスの受信後、クライアントデバイス310は選択されたセッション(例、WICA、CVPN等)を開始してもよい。
図7は、本明細書で説明する1つ以上の特徴を実装することができる例示的なシステム700を示す。システム500はクライアントデバイス302(例、図3の)を含んでもよく、これはコンピューティングデバイスであってもよく、端末240または登録モバイルデバイス402と同様なものであってもよい。クライアントデバイス302は企業サービス308(例、図3の)と通信してもよい。企業サービス308は、アプリケーションコントローラ374、アプリケーションストア378、企業リソース304等のサービスを含んでもよい。クライアントデバイス302はゲートウェイ360と通信してもよく、これは図3および図5のゲートウェイ360と同じであっても、ならびに/またはゲートウェイ406と同様なものであってもよい。クライアントデバイス302は認証デバイス504と(例、ゲートウェイ360を介して)通信してもよい。ゲートウェイ360はサードパーティ認証サーバの1つ以上の認証ポリシーまたはプロトコルを用いて構成されていてもよい。
いくつかの側面によると、認証デバイス504は認証サービス358と同じであっても、または同様なものであってもよい。ある場合において、認証デバイス504は、アプリストア378またはアプリコントローラ374など、企業リソースの(またはその他の形で関連する)認証サービスであってもよい。くわえて、認証デバイス504は、フォームベースのログイン、パスワードログイン、Kerberosログイン、スマートカードログイン、およびアクセスゲートシングルサインオン(AG SSO)、ならびに同様なものなど、認証/ログインの方法/タイプについてさまざまなオプションおよびプロトコルを含んでもよい。本明細書に開示される側面によると、他のログイン/認証方法を実装してもよいことは留意される。
いくつかの側面によると、ゲートウェイ360は、たとえば、受信した認証資格情報をアクティブディレクトリ(AD422など)に提示することによりクライアントデバイスを認証してもよく、これが認証資格情報の正確さおよび/または妥当性を判断してもよい。該認証は、システム300および/またはシステム400などの企業システムのクライアントデバイス302の認証のためであってもよい。
システム700はサードパーティ認証サーバ710を含んでいる。サーバ710は、クライアントデバイス302によって(例、クライアントデバイス302上で稼動しているアプリケーションによって)送信される認証資格情報を受信して妥当性検証するように構成されている認証サーバであってもよい。サードパーティ認証サーバ710は、サーバ710がゲートウェイ360および/またはクライアントデバイス302と通信するために使用してもよいサードパーティアダプタ706を含んでもよい。いくつかの側面によると、アダプタ706は異なるプラットフォームの複数のクライアントに及ぶように構成されていてもよく、また、ゲートウェイ360と(例、HTTPまたはHTTPSを介して)通信してもよい。アダプタ706はサーバ710の1つ以上の認証プロトコルを用いて構成されていてもよい。該認証プロトコルはリスクベースの証拠、生体情報、テキストベースの情報、話声もしくは音声ベースの情報、ショートメッセージサービス、知識ベース認証、または他の種類の認証情報もしくは証拠の使用を含んでもよい。アダプタ706は認証サービス710の一部であってもよく、または個別のコンポーネント(例、個別のコンピューティングデバイス)であってもよい。アダプタ706はソフトウェア開発キット(SDK)を用いて構成されている認証拡張に基づいていてもよい。
サーバ710は、クライアントデバイス302から要求される要求認証情報などの情報を、アダプタ706に提供する。アダプタ706はサーバ710から受信したこの情報を使用して、ゲートウェイ360を介してクライアントデバイス302に渡されるアイテム(例、フォーム、チャレンジ、質問等)を生成する。
いくつかの側面によると、クライアントデバイス302がこの要求された認証情報を受信した後、クライアントデバイス302に(またはクライアントデバイス302のリモートに)あるプラグイン714またはアプリケーションなどのスクリプトまたはプログラムを呼び出してもよく、また、サードパーティ認証プロトコルを呼び出してもよい。プラグイン714は、あるフォームにおいて、たとえばクライアントデバイス302のユーザから要求される認証情報を要求してもよい。たとえば、クライアントデバイス302に、要求される認証情報の入力をユーザに要求するユーザインターフェースを提示してもよい。
いくつかの側面によると、このようなユーザインターフェースはクライアントデバイス302に聴覚的にまたは視覚的に提示してもよい。たとえば、認証情報として指紋サンプルが要求される場合、プラグイン714は指紋サンプルを要求するユーザインターフェースを表示してもよく、また、指紋を採取するために、対応する指紋リーダまたはスキャナを選択してもよい。プラグイン714はサーバ710および/またはサーバ712から(例、サードパーティゲートウェイデバイス716を介して)ユーザインターフェース情報を取り出してもよい。
図8は、本明細書で説明する1つ以上の特徴によるサードパーティの認証サポートを介したクライアント認証のフロー模式図を示す例示的プロセス800である。
プロセス800はシステム600などのシステムで行ってもよい。たとえば、1つ以上の実施形態において、図8に図示するプロセス800および/またはその1つ以上のステップは、コンピューティングデバイス(例、図1〜図4および図7のいずれかのデバイス)で行ってもよい。他の実施形態では、図8に図示するプロセスおよび/またはその1つ以上のステップは、不揮発性コンピュータ読取可能メモリなどのコンピュータ読取可能媒体に格納されているコンピュータ実行可能命令に具現されてもよい。あるいは、または追加で、プロセス800のステップのいずれかをクライアントデバイス、ゲートウェイデバイス、企業サーバマシン、またはサードパーティサーバもしくはコンピューティングデバイス上で行ってもよい。図8に図示するように、システム800はクライアントデバイス302と、ゲートウェイデバイス360と、認証デバイス504と、アダプタ706と、サードパーティ認証サーバ710とを含んでもよい。
プロセス800はステップ802から始まり、クライアントデバイス302はゲートウェイ360が特定のタイプのログオンプロトコルをサポートするかどうかをたずねる要求を送る。このステップは図6に関して上記説明したステップ602と同様である。
ステップ804で、ゲートウェイ360はクライアントデバイス302からこの要求を受信する。要求される認証プロトコル(例、フォーム、シングルサインオン(SSO)等)をゲートウェイ360がサポートしていない場合、ゲートウェイ360はクライアントデバイス302に、403 Forbiddenまたは302 Found(例、vpn/index.htmlなどの別のURLへのリダイレクト)など、認識可能なHTTPレスポンスを送信してもよく、これがクライアントデバイス302にフォールバックオプションを提供してもよい。
要求される認証プロトコルをゲートウェイ360がサポートしている場合、ゲートウェイ360はクライアントデバイス302に、200 OKレスポンスなど、サポートされるコンテンツタイプ(例、フォーム、SSO等)を含む要求プロトコルをサポートすることを示すレスポンスを送信する。このステップは図6に関して上記説明したステップ604と同様である。
ステップ806で、ゲートウェイ360から要求プロトコルのサポートを示すレスポンスを受信した後、クライアントデバイス302はログオンプロトコルを使ってログイン要求を開始する。この実施例では、ログオンプロトコルはフォームベースのプロトコルである。しかし、あらゆる他のログオン/認証プロトコルを使用してもよい。このステップは図6に関して上記説明したステップ606と同様であってもよい。
いくつかの実施形態によると、ゲートウェイ360は、前のステップ806など、クライアントデバイス302の事前認証スキャン(例、エンドポイント分析(EPA)スキャン)を行ってもよい。このスキャンは図6に関して上記でより詳細に述べている。
ステップ808で、フォームログイン要求を受信した後、ゲートウェイ360は、サードパーティ認証サーバ・エンドポイント(例、サードパーティ認証サーバ710)に関連してもよい事前設定フォームサードパーティアダプタ706に要求を送ることにより、フォーム認証セッションを開始する。要求はクライアントデバイス302の機能に関する情報と、認証要求の処理方法を決定するために使用してもよい過去の認証イベントからの格納データとを含んでもよい。要求はクライアントデバイス302のIPアドレスおよびクライアント証明書(例、SSLクライアント認証用)も含んでもよい。ゲートウェイ360は、暗号ノンスなど、通信チャネルを保護するために使用してもよい追加のセキュリティ情報も生成してもよい。
ステップ810で、要求の受信後、アダプタ706は要求をサーバ710に渡す。前述したように、サーバ710はクライアントデバイス302上で稼動しているアプリケーション(例、管理対象および/または非管理対象アプリケーション)のサードパーティ認証サーバであってもよい。いくつかの側面によると、アダプタ706は、ゲートウェイ360および/またはサードパーティサーバ710の認証プロトコルを用いて構成されていてもよく、および/または認証プロトコルと互換性があってもよい。たとえば、アダプタ706は、サードパーティ認証サーバ710をゲートウェイ360と通信できるようにさせてもよいサーバ710の拡張であってもよい。したがって、アダプタ706はサードパーティサーバ710および/またはゲートウェイ360が使用する認証プロトコルの知識を含んでいてもよい。
いくつかの側面によると、ゲートウェイ360、アダプタ706、およびサードパーティサーバ710は、事前共有鍵、ノンス、クライアントIDなどのセキュリティ情報を使用して、暗号化鍵を生成してもよい。セキュリティ情報はさらに、メッセージの暗号化に使用してもよい。くわえて、サーバ710との認証セッションを表すセッションクッキーをサーバ710によって生成/設定してもよい。サーバ710は、クライアントデバイス302の機能、過去の認証イベントから提示されてもよい格納データ、ノンス、クライアントデバイス302のIPアドレス、および認証要求の処理方法を決定するのに役立つ他の情報(例、セキュリティ情報)など、受信した情報を検査してもよい。
サーバ710はさらに、リスクベースの証拠、生体情報、テキストベースの情報、話声もしくは音声ベースの情報、または他のタイプの認証情報もしくは証拠など、クライアントデバイス302が資格情報を1つ以上の認証プロトコルに与えることを要求することにより(クライアントデバイス302のシェイクまたはスピン、物理的なカード、トークンまたはフォブコードの、ある特定のグリッドリファレンスを探すこと、および同様なこと)、クライアントデバイス302をサーバ710上で認証するよう要求してもよい。サーバ710はさらにクライアントデバイス302からの認証情報(例、指紋)を求める要求をアダプタ706に送信してもよい。アダプタ706(および/または認証デバイス504)はサーバ710から要求された認証情報を含む資格情報フォームを生成してもよい。
ステップ812で、ゲートウェイ360はこのフォームを受信し、フォームの妥当性を確認する(例、スキーマチェックを使用して)。いくつかの側面によると、ゲートウェイ360は、フォームの本体に含まれていてもよいホスト相対パス(例、PostBackおよびCancelPostBack)を調整してもよい。ゲートウェイ360はまた、デバイス504および/またはサーバ710によって生成されるクッキーも格納してもよい。ゲートウェイ360はクライアントデバイス302のゲートウェイ事前認証セッションクッキーを設定/生成してもよい。ゲートウェイ360はクライアントデバイス310およびゲートウェイ360が以前の通信で合意される鍵を使用して、フォーム/メッセージを暗号化してもよい。ゲートウェイ360はさらにフォームを(クッキーなどの他の情報とともに)クライアントデバイス302に送信してもよい。
ステップ814で、クライアントデバイス302はゲートウェイ360から資格情報フォームを受信する。クライアントデバイス302はさらに、フォームを処理し、フォームをレンダリングし、フォームを(例、クライアントデバイス302のユーザに)たとえばユーザインターフェースとして表示してもよい。いくつかの側面によると、クライアントデバイス302に(またはクライアントデバイス302のリモートに)格納されていてもよいプラグインメカニズム714をクライアントデバイス302で呼び出して、認証資格情報を要求するディスプレイまたはユーザインターフェースをクライアントデバイス302に生成してもよい。プラグイン714はサードパーティ認証サーバ710または別のサードパーティサーバ712から正しいフォームを提示するために必要な情報を取得してもよい。いくつかの実施形態では、プラグイン714はクライアントデバイス302上で稼動しているアプリケーションであってもよい(例、クライアントデバイス302のオペレーティングシステムがプラグインメカニズムをサポートしていない場合)。認証資格情報の収集後、クライアントデバイス302はデータをゲートウェイ360にPOSTしてもよい。
ステップ816で、ゲートウェイ360はクライアントデバイス302から資格情報を受信する。ゲートウェイ360は、デバイス504との認証セッションのために、POSTメッセージ本体の一部または全部を暗号化鍵で暗号化してもよい。ゲートウェイ360はさらにフォームをアダプタ706に送信してもよい。
ステップ818で、アダプタ706は認証サーバ710に資格情報を渡す。たとえば、アダプタ706は指紋のスキャンからの情報をサーバ710に渡してもよい。サードパーティ認証サーバ710はさらにこれらの資格情報をサードパーティサーバ712に格納されている資格情報で/に対して妥当性検証/照合しようとしてもよい。一致する場合、資格情報はサードパーティ認証サーバ710が行う資格情報要求を満たしてもよい。一致しない場合、資格情報はサーバ710が行う資格情報要求を満たさないかもしれない。
いくつかの側面によると、無効であると認定された資格情報をクライアントデバイス302が提出する場合、サーバ710は、資格情報が無効と認定された理由をアダプタ706に示してもよく、アダプタ706は、前の資格情報のエントリ中に間違いがあったかもしれない箇所をクライアントデバイス302のユーザに案内する注釈または追加情報を含んでもよい追加の資格情報収集フォームをクライアントデバイス302に送信してもよい。
いくつかの側面によると、サードパーティ認証サーバ710は、クライアントデバイス302によって送られた初期認証情報の妥当性検証後でも、クライアントデバイス302から追加の認証情報を要求してもよい。追加の認証情報の要求により追加のセキュリティが与えられてもよい。
図10は、クライアントデバイス302に表示し、上記説明した追加の認証情報を要求する例示的なユーザインターフェース1000を示す。ある実施例において、リスクベース認証中、サーバ710はクライアントデバイス302からリスクベース認証(RBA)の証拠を要求してもよい。
追加の認証情報が要求されない場合、プロセス800は初期認証資格情報の妥当性検証の後にステップ830に進む。追加の認証情報が要求される場合、ステップ820で、サーバ710はクライアントデバイス302から要求される認証情報をアダプタ706に示す(例、ステップ810と同様)。アダプタ706はさらに資格情報フォームを生成して、これらのフォームをゲートウェイ360に送ってもよい。
ステップ822で、ゲートウェイはこれらのフォームをクライアントデバイス302に送る(例、ステップ812と同様)。ステップ824で、クライアントデバイス302はこれらの資格情報を収集して、それをゲートウェイ360に送信する(例、ステップ814と同様)。ステップ826で、ゲートウェイ360はこれらの資格情報を収集して、それをアダプタ706に送信する(例、ステップ816と同様)。ステップ828で、アダプタ706は資格情報をサードパーティ認証サーバ710に渡す(例、ステップ818と同様)。サードパーティ認証サーバ710はさらに資格情報を妥当性検証しようとしてもよい。
ステップ830で、認証資格情報の妥当性検証の成功後、サーバ710は妥当性検証の成功を示すOKレスポンス(例、HTTP 200)を生成し、これをサードパーティサーバ712から取り出されるユーザID、グループ情報、セッションパスワード等、クライアントデバイス302に関連する情報とともに、(例、サードパーティアダプタ706を介して)ゲートウェイ360に送信する。ある場合において、この情報の一部または全部を前のステップと同じ鍵を使用して暗号化してもよい。
ステップ832で、ゲートウェイ360はOKレスポンスをクライアントデバイス302に関連する追加情報(例、ユーザID、グループ情報、セッションパスワード等)とともに受信する。ゲートウェイ360はこの情報(例、パスワード情報)を処理して妥当性を検証してもよく、クライアントデバイス302に近似する選択(approximate choice)を提供してもよい。ゲートウェイ360およびクライアントデバイス302は、シングルサインオンなど、図6に関して上記説明した追加認証の目的のためにこのパスワード情報を使用してもよい。これらの追加認証プロセス中、ゲートウェイ360はステップ832の認証プロセスで(例、SSOログインのため)ゲートウェイ360に送信された情報(例、パスワード情報)を使用してもよい。ゲートウェイ360はパスワード情報をアクティブディレクトリ422に格納されている情報と/に対して照合/妥当性検証してもよい。
ゲートウェイ360はさらに、クライアントデバイス302に所望のセッションのタイプについての問い合わせを、クライアントデバイス302に送信してもよい。セッションタイプ(例、VPN、CVPN、WICA等)はセッションポリシーによって判定してもよく、クライアントデバイス302に認証レスポンスを送る前に適用してもよい。ゲートウェイ360は所望のセッションを判定する追加フォームを生成してもよく、これらのフォームをクライアントデバイス302に送ってもよい。これらのフォームはセッションタイプの選択肢を含んでもよく、ユーザはそこからセッションタイプを選択してもよい。ある場合において、認証成功の後、セッションタイプはすでに確立されていてもよく、クライアントデバイス302がセッションタイプを選ぶ必要がなくてもよい。
ステップ834で、ゲートウェイ360はこれらのフォームを受信して表示する。セッションタイプの選択を行った後、クライアントデバイス302は所望のセッションタイプをゲートウェイ360に送信してもよい。
ステップ836で、ゲートウェイ360はさらに、図6に関してステップ648で上記説明したセッションのタイプに十分なライセンスがあるかどうか、および/またはセッション転送が必要な可能性があるかどうかを判定する。セッション転送が必要だとゲートウェイ360が判定する場合、ゲートウェイ360は(例、ユーザの)同意を要求するフォームをクライアントデバイス302に送信して、セッションを転送してもよい。転送で使用してもよいセッションが複数ある場合、フォームはこれらのセッションの選択肢を含んでもよい。このように、セッションを判定し、設定した後、ゲートウェイ360は選ばれたセッションタイプを起動してもよく、さらにOK認証レスポンスと(例、セッション情報および/または他の情報とともに)クライアントデバイス302に送信してもよい。
ある場合において、ゲートウェイ360は認証セッションクッキーをクライアントデバイス302に送信し、事前認証セッション情報を廃棄し、追加情報(認証セッションクッキーまたは暗号化鍵など)をクライアントデバイス302に提供してもよい。
いくつかの実施形態によると、ゲートウェイ360はクライアントデバイス302の事後EPAスキャンを行ってもよく、これは本明細書で説明する事前EPAスキャンと同様であってもよい。この事後EPAスキャンは、セッションタイプもしくは転送の判定または設定の前に行ってもよく、またクライアントデバイス302に認証成功レスポンスを送る前に行ってもよい。
ステップ838で、妥当性検証した認証レスポンスの受信後、クライアントデバイス310は選択されたセッション(例、WICA、CVPN等)を開始する。
図11は、本明細書で説明する1つ以上の特徴を実装している例示的なシステム1100を示す。システム1100はクライアントデバイス302と、ゲートウェイ360と、企業サービス308と、認証サービス1104(認証デバイス504および/もしくは704と同じもの、類似のもの、ならびに/または組み合わせでもよい)と、サードパーティコネクタ506と、サードパーティアダプタ706と、サードパーティ認証サーバ1110(サードパーティ認証サーバ510および/もしくは710と同じもの、類似のもの、ならびに/または組み合わせでもよい)と、サードパーティサーバ1112(サードパーティサーバ512および/もしくは712と同じもの、類似のもの、ならびに/または組み合わせでもよい)と、アクティブディレクトリ422と、プラグイン1114(プラグイン514および/もしくは714と同じもの、類似のもの、ならびに/または組み合わせでもよい)と、サードパーティゲートウェイ1116(サードパーティゲートウェイ516および/もしくは518と同じもの、類似のもの、ならびに/または組み合わせでもよい)とを含んでいる。
システム1100はシステム500および700の連携環境を示し、図5〜図8に関して本明細書で説明するステップのうち任意のステップを行う。たとえば、ゲートウェイ360は、ゲートウェイ360に格納されているポリシーに応じて、どのコンポーネント(例、認証デバイス1104またはアダプタ706)と通信させるか、ゲートウェイ360の認証構成、クライアントデバイス302がどのタイプのログインプロトコルを選択したか等を判定してもよい。くわえて、前述したように、ゲートウェイ360は複数のソースからの認証方法を組み合わせて、および/または選択的に選んで、集約または合体した認証プロセスを作成してもよい。このように、ゲートウェイ360は独立して作成された2つ以上の認証方法(拡張)を組み合わせて、これらの認証方法を所定の順序またはシーケンスで実施する。
いくつかの側面によると、ゲートウェイ360はクライアントのタイプ(ユーザエージェント)、IPアドレス等、認証要求の属性に基づいて順序を動的に判定してもよい。ポリシーに基づいて、ゲートウェイ360は、たとえば、ログインを完了するために認証方法の一部または全部を渡す(例、妥当性検証する)よう要求してもよく、またはゲートウェイ360は、第1の認証方法が妥当性検証の成功を報告した後に認証プロセスを停止してもよいかもしれない(例、ANDとORとの組み合わせ法を使用する)。クライアントデバイス302の観点から異なる段階を重複させて、2つ以上の認証サーバ(例、サードパーティ認証サーバ)が要求する資格情報を単一フォームに合体するようにしてもよい。
いくつかの側面によると、これらの認証サーバは、ローカルアカウントシステムがある場合など、ゲートウェイ360の一部であってもよい。いくつかの側面によると、複数の認証サーバが資格情報(例、ユーザ名)を要求し、それが同じであることが予想または要求されるかもしれない場合、合体フォームが情報(例、ユーザ名)を一回要求してもよい。
いくつかの実施形態では、合体プロセスを案内するために、認証サーバ(例、サードパーティ認証サーバ)はフォームの資格情報要求フィールドを、提供されてもよい意味内容を超えるようにタグ付けしてもよい。たとえば、数値(例、100、200、300等)を一定の規約に従って各フィールドに記載して、組み合わせたときにフィールドが昇順になるようにしてもよい。組み合わせられる認証ソースは、たとえば、プロセス600および/または800を個々に使用して、ゲートウェイ360と通信してもよい。いくつかの側面によると、複数の認証方法の成功が情報(例、ユーザ/グループ/資格情報)に矛盾を与える場合、ゲートウェイ360はさまざまなポリシーを使用してもよい。いくつかの側面によると、開示される1つ以上のコンポーネント(例、ゲートウェイ360、クライアントデバイス302等)が複数のフォームを逐次的にまたは同時に送信および/または受信してもよい。
いくつかの側面によると、各認証デバイス/サーバは、ゲートウェイ360だけよりも、クライアントデバイス302と暗号化鍵を供給したいかもしれない。このような場合、ゲートウェイ360が次の認証デバイス/サーバの通信に切り替えた後、認証プロセス中に暗号化鍵ネゴシエーションステップを繰り返してもよい。
いくつかの側面によると、ゲートウェイ360は、たとえば、ローカルで定義されるアカウントおよび/またはパスワードに基づいて、または認証サーバ/デバイス、AD422または他のタイプのアカウントディレクトリと通信するための他の認証プロトコルを使用して、これらの認証ステップのうちの1つ以上を処理してもよい。たとえば、図7を参照すると、ゲートウェイ360は、AD422またはサードパーティ認証サーバ710を用いてユーザ名および/またはパスワードを妥当性検証するためにさまざまなプロトコルを使用している。ゲートウェイ360はゲートウェイ360が生成するフォームを使用してクライアントデバイスにこの資格情報を求める要求を提示してもよく、またはゲートウェイ360はこの情報を要求するフィールドと認証サーバ/デバイスが提供するフォームとを合体させてもよい。
いくつかの側面によると、合体プロセスは、異なる認証サーバ/デバイスに関連する認証プロセスから、個々の認証ステップをインターリーブすることを含んでもよい。ある実施例は、認証サーバがリスク分析を行っているときでもよい。このような場合、認証サーバが分析を行う前に、ゲートウェイ360は称されるユーザアイデンティティをあるレベルの信頼度で証明するためには、1つ以上のユーザ資格情報(例、ユーザ名、パスワード等)を妥当性検証する必要があってもよい。しかし、ユーザのパスワードが期限切れで、ログインを完了するために変更しなければならない場合、認証サーバ/デバイスはまずリスク分析を完了して、リスクが高すぎる状況であると判断されたら、パスワード変更を拒否するようにしてもよい。リスク分析の後にはログインを許可する追加の認証ステップ(これはパスワードと独立していてもよい)が行われてもよく、したがって、そのときにパスワードを変更させることができる。
本発明は構造的特徴および/または方法論的作動に特定的な言語において記述されてきたが、添付の特許請求の範囲に定義される本発明は、必ずしも前記の特定の特徴または作動に制限されないことが理解されよう。むしろ、前記の特定の特徴または作動は、続く特許請求の範囲のいくつかの実施態様例として記述される。
関連事案のクロスリファレンス:本出願は、2014年6月27日に出願され、「Enterprise Authentication Via Third Party Authentication Support」と題する米国出願第14/317,795号の優先権を主張する。

Claims (20)

  1. コンピューティングデバイスから、認証デバイスに、フォームログインプロトコルを介してクライアントデバイス・アプリケーションを認証するための証要求を送信することと、
    前記コンピューティングデバイスが、前記認証デバイスから、第1の認証資格情報を要求する第1の資格情報フォームを取得することであって、前記第1の資格情報フォームは、前記認証デバイスに接続されている拡張デバイスにより、前記クライアントデバイス・アプリケーションに関連する認証サービスから受信した情報に基づいて生成され、前記拡張デバイスは前記クライアントデバイス・アプリケーションに関連する前記認証サービスの1つ以上の認証プロトコルを用いて構成されている、前記取得することと、
    前記コンピューティングデバイスから前記クライアントデバイス・アプリケーションに、前記第1の資格情報フォームを送信することと、
    前記コンピューティングデバイスが、前記クライアントデバイス・アプリケーションから、前記第1の認証資格情報を受信することと、
    前記コンピューティングデバイスから前記拡張デバイスを介して前記認証サービスに、前記第1の認証資格情報を送信することと、
    前記コンピューティングデバイスから、前記第1の認証資格情報の妥当性検証の成功に応答して、前記フォームログインプロトコルを介して前記クライアントデバイス・アプリケーションを認証するための前記証要求の承認を送信することと、
    を含む方法。
  2. 前記コンピューティングデバイスから前記クライアントデバイス・アプリケーションに、前記第1の資格情報フォームを送信することは、前記コンピューティングデバイスにより前記クライアントデバイス・アプリケーションに、前記第1の認証資格情報を取得するように構成されているプラグインメカニズムを呼び出す命令を送信することをさらに含み、前記プラグインメカニズムは前記クライアントデバイス・アプリケーションに関連する前記認証サービスと通信するように構成されている、請求項1に記載の方法。
  3. 前記プラグインメカニズムは、ユーザデバイスに、前記クライアントデバイス・アプリケーションに関連する前記認証サービスから取得された情報を使用して、前記第1の認証資格情報を要求するユーザインターフェースを表示するように構成されている、請求項2に記載の方法。
  4. 前記コンピューティングデバイスが、前記認証デバイスから、第2の認証資格情報を要求する第2の資格情報フォームを取得することと、
    前記コンピューティングデバイスから前記クライアントデバイス・アプリケーションに、前記第2の資格情報フォームを送信することと、
    前記コンピューティングデバイスが、前記クライアントデバイス・アプリケーションから、前記第2の認証資格情報を受信することと、
    前記コンピューティングデバイスから前記認証デバイスに、前記第2の認証資格情報を送信することと、
    をさらに含む、請求項1に記載の方法。
  5. 前記コンピューティングデバイスが、第1の認証サービスに関連する前記第1の資格情報フォームを取得することと、
    前記コンピューティングデバイスが、第2の認証サービスに関連する前記第2の資格情報フォームを取得することと、
    をさらに含む、請求項4に記載の方法。
  6. 前記第1および前記第2の資格情報フォームを送信することは、 前記第1および前記第2の資格情報フォームを第3の資格情報フォームに合体させることと、
    前記コンピューティングデバイスから前記クライアントデバイス・アプリケーションに、前記第3のフォームを送信することとを含む、請求項5に記載の方法。
  7. 前記第1の資格情報フォームは第1の認証プロセスに関連し、前記第2の資格情報フォームは第2の認証プロセスに関連し、前記方法は、前記第1の認証プロセスの開始後かつ前記第1の認証プロセスの完了前に、前記第2の認証プロセスの1つ以上のフェーズを実施することをさらに含む、請求項5に記載の方法。
  8. 前記コンピューティングデバイスはゲートウェイデバイスを具備し、前記方法は、前記ゲートウェイデバイスにより前記クライアントデバイス・アプリケーションに、ゲートウェイデバイスの認証セッションに関連する第1セッション識別子と、認証デバイスの認証セッションに関連する第2セッション識別子と、のうちの少なくとも1つを渡すことをさらに含む、請求項1に記載の方法。
  9. 前記コンピューティングデバイスから前記クライアントデバイス・アプリケーションに、前記フォームログインプロトコルを介する前記認証要求の承認後に、セッション情報を送信することと、
    前記コンピューティングデバイスが、前記クライアントデバイス・アプリケーションから、セッションの確認を受信することとをさらに含む、請求項1に記載の方法。
  10. 前記コンピューティングデバイスが前記クライアントデバイス・アプリケーションから、前記コンピューティングデバイスがフォームログインプロトコルをサポートすることの指示要求を受信することと、
    前記コンピューティングデバイスから前記クライアントデバイス・アプリケーションに、前記コンピューティングデバイスがフォームログインプロトコルをサポートすることを示すメッセージを送信することとをさらに含む、請求項1に記載の方法。
  11. 前記認証デバイスは前記拡張デバイスを含む、請求項1に記載の方法。
  12. 前記認証デバイスは、前記クライアントデバイス・アプリケーションに関連する前記認証サービスと、前記拡張デバイスとを含む、請求項1に記載の方法。
  13. 前記コンピューティングデバイスと前記クライアントデバイス・アプリケーションに関連する前記認証サービスとの間で送信される通信は第1暗号に従い暗号化されたデータを含み、前記認証デバイスと前記コンピューティングデバイスとの間で送信される通信は第2暗号に従い暗号化されたデータを含む、請求項1に記載の方法。
  14. 少なくとも1つのプロセッサと、
    少なくとも1つのメモリとを具備し、前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサで実行したときに、
    コンピューティングデバイスから認証デバイスに、フォームログインプロトコルを介してクライアントデバイス・アプリケーションを認証するための認証要求を送信することと、
    前記コンピューティングデバイスが前記認証デバイスから、第1の認証資格情報を要求する第1の資格情報フォームを読み取ることであって、前記第1の資格情報フォームは、前記認証デバイスに接続されている拡張デバイスにより、前記クライアントデバイス・アプリケーションに関連する認証サービスから受信する情報に基づいて生成され、前記拡張デバイスは前記クライアントデバイス・アプリケーションに関連する前記認証サービスの1つ以上の認証プロトコルを用いて構成されている、前記読み取ることと、 前記コンピューティングデバイスから前記クライアントデバイス・アプリケーションに、前記第1の資格情報フォームを送信することと、
    前記コンピューティングデバイスが前記クライアントデバイス・アプリケーションから、前記第1の認証資格情報を受信することと、
    前記コンピューティングデバイスから前記拡張デバイスを介して前記認証サービスに、前記第1の認証資格情報を送信することと、
    前記コンピューティングデバイスが、前記第1の認証資格情報の妥当性検証の成功に応答して、前記フォームログインプロトコルを介して前記クライアントデバイス・アプリケーションを認証するための前記認証要求の承認を送信することと、
    をシステムに行わせる命令を格納している、システム。
  15. 前記コンピューティングデバイスが前記クライアントデバイス・アプリケーションに、前記第1の資格情報フォームを送信することは、前記コンピューティングデバイスが前記クライアントデバイス・アプリケーションに、前記第1の認証資格情報を取得するように構成されているプラグインメカニズムを呼び出す命令を送信することをさらに含み、前記プラグインメカニズムは前記クライアントデバイス・アプリケーションに関連する前記認証サービスと通信するように構成されている、請求項14に記載のシステム。
  16. 前記命令は、前記システムに、
    前記コンピューティングデバイスが前記認証デバイスから、第2の認証資格情報を要求する第2の資格情報フォームを取得することと、
    前記コンピューティングデバイスから前記クライアントデバイス・アプリケーションに、前記第2の資格情報フォームを送信することと、
    前記コンピューティングデバイスが前記クライアントデバイス・アプリケーションから、前記第2の認証資格情報を受信することと、
    前記コンピューティングデバイスが前記認証デバイスに、前記第2の認証資格情報を送信することと、
    をさらに行わせる、請求項14に記載のシステム。
  17. 前記認証デバイスは前記クライアントデバイス・アプリケーションに関連する前記認証サービスと、前記拡張デバイスとを含む、請求項14に記載のシステム。
  18. 1つ以上のプロセッサで実行されたときに、前記1つ以上のプロセッサに、
    コンピューティングデバイスから認証デバイスに、フォームログインプロトコルを介してユーザデバイス上のクライアントデバイス・アプリケーションを認証するための認証要求を送信することと、
    前記コンピューティングデバイスが前記認証デバイスから、第1の認証資格情報を要求する第1の資格情報フォームを取り出すことであって、前記第1の資格情報フォームは、前記認証デバイスに接続されている拡張デバイスにより、前記クライアントデバイス・アプリケーションに関連する認証サービスから受信した情報に基づいて生成され、前記拡張デバイスは前記クライアントデバイス・アプリケーションに関連する前記認証サービスの1つ以上の認証プロトコルを用いて構成されている、取り出すことと、
    前記コンピューティングデバイスから前記クライアントデバイス・アプリケーションに、前記第1の資格情報フォームを送信することと、
    前記コンピューティングデバイスが前記クライアントデバイス・アプリケーションから、前記第1の認証資格情報を受信することと、
    前記コンピューティングデバイスから前記拡張デバイスを介して前記認証サービスに、前記第1の認証資格情報を送信することと、
    前記コンピューティングデバイスが、前記第1の認証資格情報の妥当性検証の成功に応答して、前記フォームログインプロトコルを介してユーザデバイス上の前記クライアントデバイス・アプリケーションを認証するための前記認証要求の承認を送信することと、
    を行わせる命令を格納している1つ以上の不揮発性コンピュータ読取可能記憶媒体。
  19. 前記コンピューティングデバイスが前記クライアントデバイス・アプリケーションに、前記第1の資格情報フォームを送信することは、前記コンピューティングデバイスが前記クライアントデバイス・アプリケーションに、前記第1の認証資格情報を取得するように構成されているプラグインメカニズムを呼び出す命令を送信することをさらに含み、前記プラグインメカニズムは前記クライアントデバイス・アプリケーションに関連する前記認証サービスと通信するように構成されている、請求項18に記載の1つ以上の不揮発性コンピュータ読取可能記憶媒体。
  20. 前記命令は、前記1つ以上のプロセッサに、
    前記コンピューティングデバイスが前記認証デバイスから、第2の認証資格情報を要求する第2の資格情報フォームを取得することと、
    前記コンピューティングデバイスから前記クライアントデバイス・アプリケーションに、前記第2の資格情報フォームを送信することと、
    前記コンピューティングデバイスが前記クライアントデバイス・アプリケーションから、前記第2の認証資格情報を受信することと、
    前記コンピューティングデバイスから前記認証デバイスに、前記第2の認証資格情報を送信することと、
    をさらに行わせる、請求項18に記載の1つ以上の不揮発性コンピュータ読取可能記憶媒体。
JP2017520865A 2014-06-27 2014-07-25 サードパーティの認証サポートを介した企業認証 Expired - Fee Related JP6348661B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/317,795 2014-06-27
US14/317,795 US9531714B2 (en) 2014-06-27 2014-06-27 Enterprise authentication via third party authentication support
PCT/US2014/048229 WO2015199741A1 (en) 2014-06-27 2014-07-25 Enterprise authentication via third party authentication support

Publications (2)

Publication Number Publication Date
JP2017524214A JP2017524214A (ja) 2017-08-24
JP6348661B2 true JP6348661B2 (ja) 2018-06-27

Family

ID=51355638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017520865A Expired - Fee Related JP6348661B2 (ja) 2014-06-27 2014-07-25 サードパーティの認証サポートを介した企業認証

Country Status (4)

Country Link
US (1) US9531714B2 (ja)
EP (1) EP3162103B1 (ja)
JP (1) JP6348661B2 (ja)
WO (1) WO2015199741A1 (ja)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9495533B2 (en) * 2011-09-29 2016-11-15 Oracle International Corporation Mobile application, identity relationship management
US9106642B1 (en) * 2013-09-11 2015-08-11 Amazon Technologies, Inc. Synchronizing authentication sessions between applications
US9602514B2 (en) * 2014-06-16 2017-03-21 Box, Inc. Enterprise mobility management and verification of a managed application by a content provider
US10616180B2 (en) * 2014-06-20 2020-04-07 Zscaler, Inc. Clientless connection setup for cloud-based virtual private access systems and methods
US10382430B2 (en) * 2014-07-28 2019-08-13 Encryptier Co., Ltd. User information management system; user information management method; program, and recording medium on which it is recorded, for management server; program, and recording medium on which it is recorded, for user terminal; and program, and recording medium on which it is recorded, for service server
US10652739B1 (en) 2014-11-14 2020-05-12 United Services Automobile Association (Usaa) Methods and systems for transferring call context
US9648164B1 (en) * 2014-11-14 2017-05-09 United Services Automobile Association (“USAA”) System and method for processing high frequency callers
US10015151B2 (en) * 2014-11-21 2018-07-03 Apple Inc. Method and apparatus for enabling service-configurable wireless connections
US10135904B2 (en) * 2015-01-27 2018-11-20 Stealth Security, Inc. Network attack detection on a mobile API of a web service
US11113047B2 (en) * 2015-03-13 2021-09-07 Kony, Inc. Systems and processes of accessing backend services with a mobile application
CN106161392B (zh) * 2015-04-17 2019-08-23 深圳市腾讯计算机系统有限公司 一种身份验证方法和设备
US10169562B2 (en) * 2015-08-27 2019-01-01 International Business Machines Corporation Activity recognition to confirm secure authentication of a user
US10187376B2 (en) 2015-08-28 2019-01-22 Texas Instruments Incorporated Authentication of networked devices having low computational capacity
US10178111B1 (en) * 2015-09-24 2019-01-08 Equifax Inc. Providing compressed risk assessment messages for real-time transmission via data networks to online services
US10218698B2 (en) * 2015-10-29 2019-02-26 Verizon Patent And Licensing Inc. Using a mobile device number (MDN) service in multifactor authentication
US10817593B1 (en) * 2015-12-29 2020-10-27 Wells Fargo Bank, N.A. User information gathering and distribution system
US10083365B2 (en) 2016-01-04 2018-09-25 Validic Optical reading of external segmented display
KR101618692B1 (ko) 2016-01-06 2016-05-09 주식회사 센스톤 보안성이 강화된 사용자 인증방법
US10621584B2 (en) 2016-03-16 2020-04-14 Clover Network, Inc. Network of biometrically secure devices with enhanced privacy protection
US9619804B1 (en) 2016-03-16 2017-04-11 Clover Network, Inc. Network of biometrically secure devices with enhanced privacy protection
US10581823B2 (en) * 2016-03-21 2020-03-03 Vmware, Inc. Web client plugin manager in vCenter managed object browser
US10171506B2 (en) * 2016-03-21 2019-01-01 Fortinet, Inc. Network security management via social media network
CN105867969A (zh) * 2016-03-25 2016-08-17 乐视控股(北京)有限公司 一种启动应用app的方法及终端
US10270762B2 (en) * 2016-04-28 2019-04-23 SSenStone Inc. User authentication method for enhancing integrity and security
US11295316B2 (en) * 2016-06-10 2022-04-05 OneTrust, LLC Data processing systems for identity validation for consumer rights requests and related methods
US11089019B2 (en) * 2016-11-30 2021-08-10 Salesforce.Com, Inc. Techniques and architectures for secure session usage and logging
US10348503B2 (en) * 2016-12-12 2019-07-09 Sap Portals Israel Ltd. Client side actions validation
US10560476B2 (en) 2017-02-22 2020-02-11 International Business Machines Corporation Secure data storage system
US10117097B1 (en) * 2017-03-06 2018-10-30 United Services Automobile Association (Usaa) Short-range cross-device authorization
WO2018190969A1 (en) * 2017-04-13 2018-10-18 Adswapper Inc. System and methods for uniquily identifying internet connected devices
US10331535B1 (en) * 2017-06-05 2019-06-25 AppiSocial Co., Ltd. Detecting discrepancy in mobile event tracking network
US10218697B2 (en) * 2017-06-09 2019-02-26 Lookout, Inc. Use of device risk evaluation to manage access to services
US10805284B2 (en) 2017-07-12 2020-10-13 Logmein, Inc. Federated login for password vault
US11558364B2 (en) * 2017-07-18 2023-01-17 Nicira, Inc. Authentication offload in virtualized computing environments
US10097538B1 (en) * 2017-08-12 2018-10-09 Growpath, Inc. User authentication systems and methods
GB201716170D0 (en) * 2017-10-04 2017-11-15 Palantir Technologies Inc Controlling user creation of data resources on a data processing platform
US11057362B2 (en) * 2017-10-05 2021-07-06 Ca, Inc. Adaptive selection of authentication schemes in MFA
US10601813B2 (en) * 2017-10-26 2020-03-24 Bank Of America Corporation Cloud-based multi-factor authentication for network resource access control
US10693880B2 (en) 2017-11-27 2020-06-23 Bank Of America Corporation Multi-stage authentication of an electronic communication
US11303632B1 (en) * 2018-06-08 2022-04-12 Wells Fargo Bank, N.A. Two-way authentication system and method
US11144620B2 (en) * 2018-06-26 2021-10-12 Counseling and Development, Inc. Systems and methods for establishing connections in a network following secure verification of interested parties
JP6518378B1 (ja) * 2018-12-21 2019-05-22 瀧口 信太郎 認証システム、認証方法、及び、認証プログラム
JP6979008B2 (ja) * 2018-12-21 2021-12-08 富士通フロンテック株式会社 Webシステム
US10944743B2 (en) * 2019-01-22 2021-03-09 Adp, Llc Rich communication services security authentication system
US11288347B2 (en) * 2019-03-07 2022-03-29 Paypal, Inc. Login from an alternate electronic device
US11323480B2 (en) * 2019-05-07 2022-05-03 Cisco Technology, Inc. Policy enforcement and introspection on an authentication system
US11362943B2 (en) 2019-05-20 2022-06-14 Citrix Systems, Inc. System and method for validating virtual session requests
US11876798B2 (en) * 2019-05-20 2024-01-16 Citrix Systems, Inc. Virtual delivery appliance and system with remote authentication and related methods
US11469894B2 (en) 2019-05-20 2022-10-11 Citrix Systems, Inc. Computing system and methods providing session access based upon authentication token with different authentication credentials
NL2023545B1 (en) * 2019-07-22 2021-02-10 Mobuyou B V A computer implemented method of authorizing a user of a communication device access to restricted content on a server.
US20210056053A1 (en) * 2019-08-19 2021-02-25 Cryptography Research, Inc. Application authentication and data encryption without stored pre-shared keys
US11509642B2 (en) * 2019-08-21 2022-11-22 Truist Bank Location-based mobile device authentication
US10805083B1 (en) * 2019-09-04 2020-10-13 Capital One Services, Llc Systems and methods for authenticated communication sessions
US11729177B2 (en) * 2020-04-30 2023-08-15 Capital One Services, Llc System and method for authentication
WO2021232347A1 (en) 2020-05-21 2021-11-25 Citrix Systems, Inc. Cross device single sign-on
US12034845B2 (en) 2020-11-30 2024-07-09 Citrix Systems, Inc. Smart card and associated methods for initiating virtual sessions at kiosk device
US20230410847A1 (en) * 2021-01-29 2023-12-21 Groupe Beatconnect Inc. Shared Digital Environment for Music Production, Creation, Sharing and the Like
US20220294788A1 (en) * 2021-03-09 2022-09-15 Oracle International Corporation Customizing authentication and handling pre and post authentication in identity cloud service
US11196728B1 (en) * 2021-03-29 2021-12-07 Fmr Llc Caching login sessions to access a software testing environment
US11706209B2 (en) 2021-04-29 2023-07-18 Delinea Inc. Method and apparatus for securely managing computer process access to network resources through delegated system credentials
US11790076B2 (en) 2021-06-03 2023-10-17 International Business Machines Corporation Vault password controller for remote resource access authentication
CN113660091B (zh) * 2021-07-28 2023-09-15 北京宝兰德软件股份有限公司 一种请求认证方法、装置、设备及可读存储介质
US12047367B2 (en) * 2021-09-29 2024-07-23 Dell Products L.P. Single sign-on services for database clusters
WO2023129825A1 (en) * 2021-12-29 2023-07-06 Voyetra Turtle Beach, Inc. Mouse device that detects non-human mouse events through encryption and method thereof
US11695772B1 (en) * 2022-05-03 2023-07-04 Capital One Services, Llc System and method for enabling multiple auxiliary use of an access token of a user by another entity to facilitate an action of the user
EP4443819A1 (en) * 2023-04-07 2024-10-09 OMRON Corporation Authentication relay server and authentication program
CN116248416B (zh) * 2023-05-11 2023-07-28 深圳竹云科技股份有限公司 一种身份认证的方法、装置、计算机设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8001055B2 (en) * 2006-02-21 2011-08-16 Weiss Kenneth P Method, system and apparatus for secure access, payment and identification
US9055107B2 (en) 2006-12-01 2015-06-09 Microsoft Technology Licensing, Llc Authentication delegation based on re-verification of cryptographic evidence
US20100188993A1 (en) * 2009-01-28 2010-07-29 Gregory G. Raleigh Network tools for analysis, design, testing, and production of services
US8763104B2 (en) 2009-08-27 2014-06-24 International Business Machines Corporation Establishing and maintaining an improved Single Sign-on (SSO) facility
JP5679567B2 (ja) * 2011-03-31 2015-03-04 西日本電信電話株式会社 認証支援装置、認証支援方法
US8769651B2 (en) 2012-09-19 2014-07-01 Secureauth Corporation Mobile multifactor single-sign-on authentication
US8850543B2 (en) * 2012-12-23 2014-09-30 Mcafee, Inc. Hardware-based device authentication
US10270748B2 (en) * 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications

Also Published As

Publication number Publication date
WO2015199741A1 (en) 2015-12-30
US20150381621A1 (en) 2015-12-31
JP2017524214A (ja) 2017-08-24
EP3162103A1 (en) 2017-05-03
US9531714B2 (en) 2016-12-27
EP3162103B1 (en) 2019-10-02

Similar Documents

Publication Publication Date Title
JP6348661B2 (ja) サードパーティの認証サポートを介した企業認証
JP6397957B2 (ja) 管理されたブラウザの提供
JP6437589B2 (ja) 企業アプリケーションストアの提供
JP6397956B2 (ja) モバイルデバイス管理機能の提供
JP6687641B2 (ja) サーバまたは他の装置からのエントロピーに基づくクライアント装置の認証
US9628448B2 (en) User and device authentication in enterprise systems
US9584515B2 (en) Enterprise system authentication and authorization via gateway
KR101722631B1 (ko) 프록시를 사용하여 자원들에의 보안 액세스
US11477188B2 (en) Injection of tokens or client certificates for managed application communication
CN113316783A (zh) 使用活动目录和一次性口令令牌组合的双因素身份认证
JP2018524843A (ja) ハイブリッドクラウドサービスのためのパスワードの暗号化
US10277606B2 (en) Anonymous application wrapping
EP3742705B1 (en) Systems and methods for filtering notifications for end points associated with a user

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180404

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180531

R150 Certificate of patent or registration of utility model

Ref document number: 6348661

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees