JP2017517823A - 機械生成認証トークンによってサービスを運用する技法 - Google Patents

機械生成認証トークンによってサービスを運用する技法 Download PDF

Info

Publication number
JP2017517823A
JP2017517823A JP2017502760A JP2017502760A JP2017517823A JP 2017517823 A JP2017517823 A JP 2017517823A JP 2017502760 A JP2017502760 A JP 2017502760A JP 2017502760 A JP2017502760 A JP 2017502760A JP 2017517823 A JP2017517823 A JP 2017517823A
Authority
JP
Japan
Prior art keywords
account
client
authentication token
service
authentication
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.)
Pending
Application number
JP2017502760A
Other languages
English (en)
Inventor
ショーエン,ルーク
クマール,サントシュ
ダニ,ラージャラクシュミ
マトゥール,シッダールタ
ブレイディ,シェーン
アリミリ,ラメシュ
ヘザーリントン,デーヴィッド
アフージャ,ヴィカス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2017517823A publication Critical patent/JP2017517823A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • 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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]

Abstract

機械生成認証トークンによってサービスを運用する技法であって、クライアントの第1アカウントに関連付けられたクライアント認証情報に少なくとも部分的に基づいて、クライアント・デバイスとの安全な接続を確立し、クライアントの第1アカウントに関連付けられた1つ以上のアカウントのアカウント情報を求める要求を受け、第1アカウントに関連付けられた第2アカウントについてのアカウント情報をクライアントにクライアント・デバイスを通じて提供し、第2アカウントのために認証トークンを生成する要求を受け、クライアントに関連付けられたクライアント認証情報に基づいて認証トークンを生成する要求の有効性を判断する認証トークン管理コンポーネントと、第2アカウントのために認証トークンを生成するトークン生成コンポーネントと含む。他の実施形態についても記載し特許請求する。【選択図】図1

Description

[0001] 計算システムや通信システムを設計するために今日利用可能な種々の方法が速いペースで開発されていることから、多数のユーザーがシステムの1つ以上のサービスをホストするサーバーにアクセスして、これらのサーバーを検査し、アップグレードし、デバッグし、開発し、展開し、および/または維持する目的を果たす必要があると考えられる。
しかしながら、ユーザーの増大は、ユーザー・アカウントの増大、アクセス・レベルの増大、および付随するセキュリティ・リスクの増大も招くおそれがある。
[0002] 以下に提示するのは、本明細書において説明する新規な実施形態の基本的な理解を得るための、簡略化された摘要である。この摘要は、広範な全体像ではなく、主要な/肝要なエレメントを識別することを意図するのでもなく、その範囲を明確に定めることを意図するのでもない。その唯一の目的は、後に提示される更に詳細な説明に対する序文として、簡略化した形態で一部の概念を提示することである。
[0003] 種々の実施形態は、一般的に、機械生成認証トークンによってサービスを運用することによって、ネットワーク・セキュリティを強化する技法を対象とする。ある実施形態は、特に、1つ以上のサービス・アカウントに関連付けられた認証トークンを管理する技法を対象とする。
[0004] 一実施形態では、例えば、装置は、プロセッサー回路と、このプロセッサー回路による実行のためのサーバー・アプリケーションとを含むことができる。サーバー・アプリケーションは、管理コンポーネントを含むことができる。管理コンポーネントは、少なくとも部分的にクライアントの第1アカウントに関連付けられたクライアント認証情報に基づいて、クライアント・デバイスとの安全な接続を確立し、クライアントの第1アカウントに関連付けられた1つ以上のアカウントのアカウント情報を求める要求を受け、第1アカウントに関連付けられた第2アカウントについてのアカウント情報をクライアントに、クライアント・デバイスを通じて提供し、第2アカウントのために認証トークンを生成する要求を受け、クライアントに関連付けられたクライアント認証情報に基づいて、認証トークンを生成するためにこの要求の有効性を判断する。サーバー・アプリケーションは、更に、第2アカウントのために認証トークンを生成するトークン生成コンポーネントと、クライアントによる使用のために認証トークンをクライアントに、安全な接続を介してクライアント・デバイスを通じて供給する通知コンポーネントも含むことができる。他の実施形態についても説明し、特許請求する。
[0005] 以上の目的および関連する目的の遂行のために、本明細書では、以下の詳細な説明および添付図面に関連付けて、ある種の例示的態様について説明する。これらの態様は、本明細書において開示する原理を実施することができる種々の方法を示し、その全ての態様およびその均等物が、特許請求する主題の範囲に該当することを意図している。他の利点および新規な特徴も、以下の詳細な説明を図面と併せて検討することから明白になるであろう。
図1は、サービス・アカウントのための認証トークン管理システムの例を示す。 図2は、サービス・アカウントの認証トークンを管理するための認証トークン管理システムのユーザー・インターフェース・ビューの例を示す。 図3Aは、認証トークン管理アプリケーションが、クライアントに関連付けられたサービス・アカウントを求める要求を受けたときの論理フローの例を示す。 図3Bは、認証トークン管理アプリケーションが、サービス・アカウントのために認証トークンを生成する要求を受けたときの論理フローの例を示す。 図3Cは、トークン管理プロキシー・アプリケーションの論理フローの例を示す。 図3Dは、クライアント・デバイスが、関連するサービス・アカウントを要求し、更に関連するサービス・アカウントのための認証トークンの生成を要求するときの論理フローの例を示す。 図4は、計算アーキテクチャの例を示す。
[0013] 種々の実施形態は、一般的には、1つ以上のアカウントのための認証トークンの管理を行うための認証トークン管理システムを対象とする。この認証トークン管理システムを利用して認証トークン(例えば、パスワード、パスコード、パスフレーズ、個人識別番号(PIN)、暗号トークン等)を生成し、電子システムの一部または全部のアカウントのために人が作成した全ての認証トークンと置き換えることによって、電子システムのセキュリティおよびプライバシーを大幅に改善することができる。これらおよびその他の改善を達成するために、認証トークン管理システムは、大まかには、例えば、フェデレーテッド・アイデンティティ・アプリケーション(federated identity application)(例えば、MICROSOFT(登録商標)Active Directory Federation Services(AD FS))、または任意の他のインターネット情報サービス(IIS)認証プロバイダーを使用して、多要素認証プロトコル(例えば、スマート・カードおよび関連するPINを使用する二要素認証)に基づいて、クライアント(例えば、ユーザー、技術者、請負人、顧客、および/またはソフトウェア/ハードウェア・コンポーネント)を認証し、多要素認証プロトコルに基づいてクライアントの認証の有効性を判断するように構成することができる。
[0014] 今日、サービスとしてのソフトウェア(SaaS)システムを設計するために利用可能な種々の方法が速いペースで開発されるため、多数のユーザー(例えば、検査技師、設計者、請負人、内部顧客、および/または外部顧客)が、これらのサービスを日毎に検査、アップグレード、デバッグ、開発、展開、および/または維持するために、SaaSシステムの1つ以上のサービスをホストするサーバーにアクセスしなければならないと考えられる。サーバーへのアクセスを要求するユーザーが多数いるので、各ユーザーにはこれらのサーバーにアクセスするために1つ以上のユーザー・アカウントが付与される場合がある。しかしながら、SaaSシステムが増えるに連れて、ユーザー・アカウントの数およびそれに伴うセキュリティ・リスクも増大する。これは、追加のユーザー・アカウント毎に、潜在的なエントリー・ポイントを攻撃者に露出するおそれがあり、その結果攻撃者が不正アクセスを取得するための攻撃表面またはベクトルが増大するからである。これら潜在的なエントリー・ポイントは、あるユーザー・アカウントが、彼らの日々のタスクを実行するために、高い特権(例えば、管理者特権)を有することができるときに、特に問題となる。これらのアカウントが攻撃者によって容易に漏洩されないことを保証するために今日では種々の認証方法が利用可能であるが、人が作成したパスワードの使用は、特に、人が作成したパスワードが短く、単純で、多数のアカウントにわたって再利用されることが多い時には、一貫して弱点であった。これらの素因がSaaSシステムにおいて入手可能な多数のアカウントと組み合わせられると、攻撃者が、例えば、SaaSシステムの1つ以上のアカウントに関連付けられた人のパスワードを漏洩することによって、不正アクセスを取得できるという多大なリスクおよび蓋然性(probability)が生ずる。このような攻撃者による不正アクセスは、業務に著しい危害を生ずる原因となり、顧客にとって深刻なセキュリティおよびプライバシーの問題が発生するおそれがある。
[0015] 種々の実施形態では、クライアント(例えば、ユーザー、技術者、請負人、顧客、および/またはソフトウェア/ハードウェア・コンポーネント)が彼らのクライアント・アカウントに関連付けられた1つ以上のサービス・アカウントを引き出すことを可能にするために、認証トークン管理システムは、大まかには、サービス・アカウントの集合体を求める1つ以上のクライアント要求を受け、1つ以上のクライアント要求に応答して、このサービス・アカウントの集合体、およびサービス・アカウントに関連付けられたサービス・アカウント情報(例えば、サービス・アカウント識別子、サービス・アカウント役割(1つまたは複数)、サービス・アカウント範囲、サービス・アカウント存続期間、サービス・アカウント・ステータス等)を供給するように構成することができる。一旦サービス・アカウントの集合体を求める要求を受けたなら、認証トークン管理システムは、更に、1つ以上の受けた要求を認証するように構成することができる。要求の有効性が認められた後、認証トークン管理システムは、データーセンターにおいて公開エンドポイントを露出することができるプロキシー・アプリケーションを介して、少なくとも部分的にプロキシー認証情報(例えば、共有シークレット・ディジタル証明書のディジタル指紋または親指の指紋(thumbprint))に基づいて1つ以上のサービス・アカウントを引き出しまたは読み出し(fetch)、クライアント・デバイスに、引き出した1つ以上のサービス・アカウントを供給するように構成することができる。
[0016] クライアントが1つ以上のサービス・アカウントのために認証トークンを安全に生成することを可能にするために、認証トークン管理システムは、大まかには、種々のネットワーク相互接続を介して安全な接続(例えば、ハイパーテキスト・トランスファー・プロトコル・セキュア(HTTPS)を利用した信頼および暗号化接続)を介して1つ以上の要求を受けて、サービス・アカウントのために認証トークンを生成するように構成することができる。一旦1つ以上の認証トークンを生成する要求を受けたなら、認証トークン管理システムは、更に、受けた1つ以上の要求の有効性を判断するように構成することができる。要求の有効性を判断した後、認証トークン管理システムは、少なくとも部分的にクライアント認証情報に基づいて、1つ以上のサービス・アカウントのために認証トークンを生成するように構成することができる。
[0017] 認証トークンを安全に生成するために、認証トークン管理システムは、概略的に、1つ以上の安全なハードウェアおよび/またはソフトウェア・コンポーネント(例えば、信頼プラットフォーム・モジュール(TPM)、MICROSOFT.NET Framework LibraryのSystem.Web.Security.Membership等)を利用して、認証トークン管理システムのサーバー・デバイスによって、認証トークンを生成するように構成することができる。一旦認証トークンがサーバー・デバイスによって生成されると、認証トークン管理システムのサーバー・デバイスは、更に、サービス・アカウントのための認証トークンを更新または設定するように、プロキシー・アプリケーションを介して、少なくとも部分的にプロキシー認証情報(例えば、認証トークン管理アプリケーションとトークン管理プロキシー・アプリケーションとの間における共有シークレット・ディジタル証明書、および共有シークレット・ディジタル証明書のディジタル指紋または親指の指紋)に基づいて要求するように構成することができる。プロキシー・アプリケーションは、生成された認証トークンによって既存の認証トークンを更新または設定するように、サービス・アカウントを管理するディレクトリー・サービス・サーバー・デバイスに要求する、および/またはディレクトリー・サービス・サーバー・デバイスと通信するように構成することができる。
[0018] 1つ以上のサービス・アカウントの安全を更に確保するために、認証トークン管理システムは、大まかには、一旦認証トークンがサービス・アカウントのために生成されたなら、クライアントが認証トークンを変更も更新もできないように(例えば、認証トークンをそれよりも弱い認証トークンに変更または更新する)、生成した認証トークンを不変となるように設定する(configure)ように構成する(arrange)ことができる。その上、認証トークン管理システムは、更に、SaaSシステムにおける2つのサービス・アカウントが同じ認証トークンを有することができないように、一意である認証トークンを生成するように構成することができる。認証トークンがパスワード、パスフレーズ、パスコード、PIN等を含む実施形態では、認証トークン管理システムは、英数字キャラクターおよび/または記号のランダムに生成されたシーケンスを含む認証トークンを生成するように構成することができる。生成される英数字キャラクターおよび/または記号のシーケンスは、少なくとも部分的に、長さパラメーター(例えば、25〜30個の文字(character)および/または記号)および/またはキャラクター・クラス/シンボル・パラメーター(例えば、少なくとも20個の英数字キャラクターおよび少なくとも5個の記号)に基づいて、複雑さを変化させることができる。
[0019] 一旦認証トークンを生成したなら、認証トークン管理システムは、大まかには、プロキシー・アプリケーションを介して、少なくとも部分的にプロキシー認証情報に基づいて、サービス・アカウントのために生成された認証トークンを設定または更新するように構成することができる。ある実施形態では、更に、クライアントが限定された1組のアクション(例えば、プロキシー認証情報に関連付けられたサービス・アカウントを引き出し、サービス・アカウントのパスワードを更新または設定する)のみを実行し、これら自体のサービス・アカウントに関してこれらの限定された1組のアクションのみを実行することに制限できるように、認証トークン管理システムを制限することができる。加えて、認証トークン管理システムは、更に、プログラム的アクセス(例えば、コピー)、安全な格納、および/または表示のために、種々のネットワーク相互接続および安全な接続を介して、生成した認証トークンをクライアント・デバイスに供給するように構成することができる。
[0020] サービス・アカウントに随意に限定存続期間、限定役割、および/または限定範囲(例えば、ジャスト・イン・タイムでプロビジョニングされるアカウント、即ちJITアカウント)を関連付けることができる実施形態では、認証トークンはサービス・アカウントの存続期間の間だけ生きる即ち存続することができる(例えば、最大値の96時間に対して4時間)。更に、サービス・アカウントに対する存続期間の終了時に、認証トークン管理システムは、サービス・アカウントに関連付けられたアクティブなトークン(例えば、アクセス・トークン)はいずれも失効できるように、このサービス・アカウントに関連付けられた認証トークンをリセットするように構成することができる。
[0021] その結果、攻撃者が認証トークンに基づく攻撃を使用して1つ以上のサービス・アカウントを漏洩させる能力は、クライアントが1つ以上のサービス・アカウントに関連付けられた新たな認証トークンを安全に要求し生成することを可能にすることによって、大幅に低減することができる。加えて、生成された認証トークンは、人が作成するパスワードと比較すると、遙かに複雑にすることができるので、従前からの暴力および何らかのソーシャル・エンジニアリングに基づく攻撃であっても、複雑な認証トークンの使用によって弱化させることができる。何故なら、これらのトークンは本来の手段および/または媒体(例えば、口頭伝達)によって正確に伝えることが難しいまたは不可能になることもあるからである。更に、人が作成した全てのパスワードを、サービス・アカウント毎にランダムでおよび/または一意である機械生成認証トークンと置き換えることによって、攻撃者が、例えば、共有認証トークンを使用することによって1つ以上のサービス・アカウントを漏洩させる能力は、更に弱化させることができる。1つ以上のサービス・アカウントを更に限定存続期間と関連付けることができる実施形態では、漏洩したサービス・アカウントを使用した攻撃者のアクセスは、更に限定される。何故なら、これらのサービス・アカウントは、これらがディスエーブルされる前には、限定された存続期間しか有することができないからである。このように、SaaSシステムのセキュリティおよびプライバシーを更に改善することができる。
[0022] 本明細書において使用される観念および用語について概略的に参照して、以下に続く詳細の説明では、コンピューターまたはコンピューターのネットワークにおいて実行されるプログラム手順について提示することができよう。これらの手順についての説明および表現は、当業者が彼らの作業の実体(substance)を最も効果的に他の当業者に伝えるために使用される。
[0023] 手順とは、本明細書では、そして一般に、所望の結果に至る動作の自己無撞着な(self-consistent)シーケンスであると考えられる。これらの動作は、物理量の物理的操作を必要とするものである。必ずという訳ではないが、大抵の場合、これらの量は、格納、転送、組み合わせ、比較、およびそれ以外の操作をすることができる電気、磁気、または光信号の形態をなす。これらの信号をビット、値、エレメント、シンボル、キャラクター、用語(terms)、数値等と呼ぶことが、主に共通使用の理由のために、ときには便利であることが分かる。しかしながら、注記すべきは、これらおよび同様の用語は全てしかるべき物理量と関連付けられるはずであり、これらの量に適用される便利な呼称に過ぎないということである。
[0024] 更に、実行される操作は、多くの場合、加算または比較というような用語で引用されるが、一般に、人の操作者によって実行される精神的動作に関連付けられる。1つ以上の実施形態の一部をなす、本明細書において説明される動作においてはいずれも、殆どの場合、このような人の操作者の能力は必要ではなく、望ましくもない。むしろ、これらの動作は機械動作である。種々の実施形態の動作を実行する有用な機械には、汎用ディジタル・コンピューターまたは同様のデバイスが含まれる。
[0025] また、種々の実施形態は、これらの動作を実行する装置またはシステムにも関する。この装置は、必要とされる目的に合わせて特別に組み立てることができ、または汎用コンピューターを含み、このコンピューターに格納されたコンピューター・プログラムによって選択的に作動(activate)または再構成されるのでもよい。本明細書において紹介する手順は、本質的に、特定のコンピューターや他の装置に関係がない。種々の汎用機械を、本明細書における教示にしたがって書かれたプログラムと共に使用することもでき、また、必要とされる方法ステップを実行するように、更に特殊化された装置を組み立てることも便利な場合もある。種々のこれらの機械に必要とされる構造は、以下に示す説明において現れるであろう。
[0026] これより図面を参照するが、図面における同様の参照番号が全体を通じて同様のエレメントを指すために使用される。以下の説明では、説明の目的のために、完全な理解を得るために多数の具体的な詳細について明記する。しかしながら、新規な実施形態はこれらの具体的な詳細がなくても実施可能であることは明白であろう。他方で、周知の構造およびデバイスは、その説明を容易にするために、ブロック図形状で示される。その意図は、特許請求する主題と一致する全ての変更、均等、および代替を範囲に含めることである。
[0027] 図1は、認証トークン管理システム100の実施形態を示す。種々の実施形態において、認証トークン管理システム100は、企業用計算環境150(例えば、クラウド・ストレージ・システム、データーセンター等)において、または企業用計算環境150と共に実現することもできる。企業用計算環境150は、1つ以上のクライアント102−a(例えば、ユーザー、技術者、請負人、顧客、および/またはソフトウェア/ハードウェア・コンポーネント)を含み、各クライアント(例えば、クライアント102−1または102−2)は1つ以上のクライアント・アカウントと関連付けることができ、1つ以上のクライアント・アカウントの内各クライアント・アカウントはクライアント・アカウント情報と更に関連付けることができる。クライアント・アカウント情報は、クライアント・アカウント認証情報(例えば、ユーザー主要名称(UPN)、アカウント識別子、アカウント・パスワード、あるいはハッシュおよび/またはソルトされたその派生物、アカウント・ドメイン、スマート・カード証明書および関連するPIN、生物計量等)、クライアント・アカウント許可情報(例えば、クライアント・アカウント役割および範囲情報、アクセス許可、関連グループ等)、および/または1つ以上のクライアント102−aの認証および許可に関連する任意の他の情報を含むことができるが、これらに限定されるのではない。
[0028] 1つ以上のクライアント102−aは、例えば、1つ以上の電子システムの1つ以上のサービスを提供するように構成された1つ以上のサーバー・デバイス140−i−jを含むデーターセンター142においてというように、1つ以上のクライアント・アカウントを利用してそれらの関連するサービス・アカウントを要求し、更に1つ以上のリソースおよび/またはアセットを利用することができる。一実施形態では、電子システムはSaaSシステムを含むことができ、SaaSシステムは、限定ではなく、MICROSOFT Office 365、MICROSOFT Exchange Online,MICROSOFT SharePoint Online、MICROSOFT Dynamics CRM、およびその他のSaaSシステムを含むことができる。実施形態は、必ずしも電子システムの形式には限定されない。
[0029] データーセンター142におけるサーバー・デバイス140−i−jは、更に、互いの間で、ネットワーク相互接続112を介して、SaaSシステムによってホストされた種々のサービスを提供するために、相互接続されることも可能である。尚、サーバー・デバイス140−i−jは、種々の実施形態では、限定ではなく単なる例示のために引用されるに過ぎないことは認めることができよう。したがって、種々の実施形態におけるサーバー・デバイス140−i−jの内の任意のものまたは全てを、例えば、仮想デバイス、ワークステーション、計算デバイス、移動体デバイス、アプリケーション、サービス、および/または他のソフトウェア/ハードウェア・コンポーネントのような任意の他のリソースおよび/またはアセットと交換してもよい。
[0030] また、「a」および「b」および「c」ならびに同様の符号(designator)は、本明細書において使用される場合、任意の正の整数を表す変数であることを意図することも注記するに値する。つまり、例えば、ある実施態様がa=2と値を設定した場合、完全な1組のクライアント102−aは、クライアント102−1および102−2を含むことができる。他の例では、ある実施態様がi=1およびj=6と値を設定した場合、完全な1組のサーバー・デバイス140−i−jは、サーバー・デバイス140−1−1、140−1−2、140−1−3、140−1−4、140−1−5、および140−1−6を含むことができる。実施形態はこの文脈において限定されることはない。
[0031] 種々の実施形態において、認証トークン管理システム100は、ネットワーク相互接続112を介して1つ以上のSaaSシステムのサーバー・デバイス140−i−jにアクセスまたはサービスするために(例えば、SaaSシステムの1つ以上のリソースおよび/またはアセットを検査、アップグレード、デバッグ、開発、展開、使用および/または維持する)クライアント102−aによって使用される1つ以上のクライアント・デバイス104−b(例えば、ラップトップ、コンピューター、電話機、ワークステーション、または任意の他の計算デバイス)を含むことができる。ネットワーク相互接続112は、概略的に、企業用計算環境150における種々のデバイス、コンポーネント、アプリケーション、サーバー、リソース、および/またはアセット間において、1つ以上のネットワーク(例えば、イントラネットおよび/またはインターネット)を通じて、1つ以上のネットワーク・デバイス(例えば、リピータ、ブリッジ、ハブ、スイッチ、ルーター、ゲートウェイ、ロード・バランサ等)を利用して、ネットワーク接続を設けるように構成することができる。
[0032] 種々の実施形態において、例えば、クライアント・デバイス104−2のような、クライアント・デバイス104−bの少なくとも一部は、クライアントに関連付けられた物理アイデンティティ・トークンに収容されたクライアント認証情報(例えば、ディジタル・スマート・カード証明書)を読み取るため、そして認証するまたは認証において補助するために、物理アイデンティティ・トークン(例えば、スマート・カード)と通信するためにアイデンティティ入力および/または出力(I/O)デバイス164(例えば、スマート・カード・リーダ)に通信可能に結合することができる。加えてまたは代わりに、例えば、クライアント・デバイス104−1のような他のクライアント・デバイス104−bも、クライアントに関連付けられた仮想アイデンティティ・トークンを読み取り、そして認証するまたは認証において補助するように構成するために、暗号モジュール(例えば、TPM(図示せず))に通信可能に結合することができる。
[0033] 加えてまたは代わりに、例えば、クライアント・デバイス104−2のような、クライアント・デバイス104−bの少なくとも一部も、1つ以上の暗号化アルゴリズム(例えば、Twofish対称鍵ブロック暗号)を利用して、少なくともサービス・アカウント識別子およびそれらの関連認証トークンを暗号化フォーマットで安全に格納するために、認証トークン・データーストア166(例えば、パスワード・セーフ)に通信可能に結合することもできる。このように、種々の実施形態において、クライアント・デバイス104−2は、クライアント102−2に供給された任意の認証トークンを自動的に暗号化して認証トークン・データーストア166に格納するように構成することができ、クライアント102−2が後にクライアント・デバイス104−2を介して、データーセンター142における1つ以上のリソースおよび/またはアセットにアクセスするために、以前に格納したサービス・アカウント識別子およびそれらの関連認証トークンを引き出すことを可能にする。
[0034] 種々の実施形態において、認証トークン管理システム100、具体的には、データーセンター142は、1つ以上のディレクトリー・サービス・サーバー・デバイス130−lを含むまたはこれと統合されてもよい。ディレクトリー・サービス・サーバー・デバイス130−lは、一般に、1つ以上のサーバー・デバイス140−i−jを含むデーターセンター142を1つ以上の論理グループ、論理サブグループ、および/または論理サブ・サブグループ(例えば、フォーレスト132−k、ドメイン136−d、および/または組織的ユニット134−e−f)の階層に編成するために、アプリケーションの中でもとりわけ、ディレクトリー・サービス・アプリケーション(図示せず)を実行するように構成することができる。 また、ディレクトリー・サービス・サーバー・デバイス130−lは、ディレクトリー・サービス情報を含む1つ以上のディレクトリー・サービス・データーストア(図示せず)において階層を格納するように構成することもできる。
[0035] 1つ以上のディレクトリー・サービス・サーバー・デバイス130−lが、1つ以上のリソースおよび/またはアセットにアクセスするためのサービス・アカウントを使用して、1つ以上のクライアント102−aからのアクセス要求を認証することができるように、1つ以上のディレクトリー・サービス・サーバー・デバイス130−lは、1つ以上のサービス・アカウントに関連付けられたサービス・アカウント情報を含むことができる。サービス・アカウント情報は、限定ではなく、サービス・アカウント認証情報(例えば、ユーザー・プリンシパル名(UPN)、アカウント識別子、認証トークン、アカウント・ドメイン、スマート・カード証明書、生物計量等)、サービス・アカウント許可情報(例えば、サービス・アカウント役割および範囲情報、サービス・アカウント・アクセス許可、サービス・アカウント関連グループ等)、サービス・アカウント存続期間情報(例えば、サービス・アカウントの存続期間)、ディレクトリー・サービス情報(例えば、サービス・アカウントに関連付けられたディレクトリー・サービス・サーバー・デバイス)、および/または1つ以上のサービス・アカウントの認証、許可、および存続期間に関連する任意の他の情報を含むことができる。
[0036] 種々の実施形態では、各ディレクトリー・サービス・サーバー・デバイス(例えば、ディレクトリー・サービス・サーバー・デバイス130−1)は、ディレクトリー・サービス・アプリケーション(図示せず)を含むまたは実装することができる。典型的なディレクトリー・サービス・アプリケーションには、MICROSOFT Active Directory、NOVELL(登録商標) eDirectory、APPLE(登録商標) Open Directory、ORACLE(登録商標) Internet Directory(OID)、IBM(登録商標) Tivoli Directory Server、あるいはDirectory Access Protocol(DAP)、軽量Directory Access Protocol(LDAP)、および/または国際電気通信連合(ITU)電気通信標準化セクター(ITU−T)によって公表されたX.500規格を実施する任意の他のアプリケーションを含むことができるが、これらに限定されるのではない。
[0037] 例示として、ディレクトリー・サービス・サーバー・デバイス130−1は、MICROSOFT Active Directoryの少なくとも一部(例えば、Active Directory Domain Service、Active Directory Domain Controller、Active Directory Datastore等)を含むまたは実装することができる。1つ以上のディレクトリー・サービス・サーバー・デバイス130ーlの各ディレクトリー・サービス・サーバー・デバイス(例えば、ディレクトリー・サービス・サーバー・デバイス130−1)は、例えば、フォーレスト132−1のような最上位の論理グループを管理するように構成することができる。1つ以上のフォーレスト132−kは、1つ以上のそれよりも低い論理グループ、例えば、ドメイン136−dのような、例えば、論理サブグループを含むことができる。1つ以上のドメイン136−dの各ドメイン(例えば、ドメイン136−1)は、それよりも低いレベルの論理グループ、例えば、編成ユニット134−e−fのような、例えば、論理サブ・サブグループを管理するように構成することができる。随意に、ドメイン130−dは、更に、例えば、ツリー(図示せず)のような、フォーレスト132−kとドメイン136−dとの間において1つ以上の中間論理グループに論理的にグループ化されてもよい。1つ以上の編成ユニット134−e−fの各編成ユニット(例えば、編成ユニット134−1−1)は、例えば、サーバー・デバイス140−g−hのような、1つ以上のリソースおよび/またはアセットを含むことができる。
[0038] 種々の実施形態において、フォーレスト132−k、ドメイン136−d、および/または編成ユニット134−e−fは、限定ではなく例示の目的で引用されるに過ぎないことは認めることができよう。したがって、種々の実施形態において、フォーレスト132−k、ドメイン136−d、および/または編成ユニット134−e−fの内任意のものまたは全てが、所与の実施態様に合わせたそれらの実質的な均等物と置き換えられてもよい。例えば、ディレクトリー・サービス・サーバー・デバイス130ーlがNOVELL eDirectoryの少なくとも一部を含むまたは実装する一実施態様では、フォーレスト132−k、ドメイン136−d、および編成ユニット134−e−fは、それぞれ、NOVELL eDirectoryにおいて実施されるように、ツリー、パーティション、および編成ユニットと置き換えることができる。実施形態はこの文脈において限定されることはない。
[0039] ある実施形態では、データーセンター142における各ドメイン(例えば、ドメイン136−1)は、1つ以上のサービス・アカウントを漏洩させた可能性がある1人以上の攻撃者の横方向移動を抑える(contain)ために、随意に、1つ以上の違反境界138−g−hを含むこともできる。例えば、ドメイン136−1は、違反境界138−1−1および138−1−2を含むことができる。加えて、これらの実施形態の内ある実施態様では、違反境界138−g−hは、1つ以上の編成ユニット134−e−fとは独立であることもできる。例えば、ドメイン136−1において、編成ユニット134−1−1、134−1−2、134−1−3が、違反境界138−1−1および138−1−2の間に広がることができ、違反境界138−1−1のような1つの違反境界が、3つの全ての編成ユニット134−1−1、134−1−2、134−1−3からの、例えば、サーバー・デバイス140−1−1、140−1−2、140−2−3のようなリソースおよび/またはアセットを含むようにすることができる。他のドメインでは、1つの違反境界が1つの編成ユニット134−e−fからのリソースおよび/またはアセットを含むことができるように、違反境界138−g−hが1つ以上の編成ユニット134−e−fと共存することもできる。実施形態は、この文脈において限定されるのではない。
[0040] ある実施形態では、1つ以上の違反境界138−g−hが、1つ以上のディレクトリー・サービス・サーバー・デバイス130−lによって管理され、セキュリティ境界(例えば、1つ以上の違反境界138−g−hの内の1つの違反境界)に関連付けることができる1つ以上のサービス・アカウントに対する1組のアクセス許可を付与しまたは与えて、1つ以上のサービス・アカウントがこのセキュリティ境界内において1つ以上のリソースおよび/またはアセットにアクセスにできるように構成することができる。更に、サービス・アカウントにアクセスできる攻撃者が「パス・ザ・ハッシュ攻撃」(即ち、攻撃者の横方向移動)を利用して1つ以上の違反境界138−g−hの間で移動できないことを確保するために、随意に、1つ以上の違反境界138−g−hの各違反境界(例えば、違反境界138−1−1および138−1−2)は、更に、相互に排他的な、即ち、重複しない1組のリソースおよび/またはアセットを含み、いずれの違反境界138−g−hの間にも重複がないように構成することができる。
[0041] 1つ以上の違反境界138−g−hの一実施態様例では、1つ以上のディレクトリー・サービス・サーバー・デバイス130−lのディレクトリー・サービス・アプリケーション(図示せず)が、1つ以上の違反境界セキュリティ・グループ168−m−nの各違反境界セキュリティ・グループを管理し、および/または1組のアクセス許可を1つ以上のリソースおよび/またはアセットに指定し(assign)、違反境界セキュリティ・グループに追加された任意のメンバー(例えば、1つ以上のサービス・アカウント)が、1組のアクセス許可にしたがってそのセキュリティ・グループによって管理される1つ以上のリソースおよび/またはアセットにアクセスできるように構成することができる。漏洩したサービス・アカウントへのアクセスを取得した攻撃者の横方向移動を抑えるために、1つ以上のディレクトリー・サービス・サーバー・デバイス130−lは、更に、1つ以上の互いに排他的な、即ち、重複しない違反境界セキュリティ・グループ168−m−nにおける1つ以上のリソースおよび/またはアセットを管理して、2つの異なる違反境界セキュリティ・グループのメンバーであるサービス・アカウントからは、1つのリソースおよび/またはアセットにはアクセスできない、またはサービスできないように構成することもできる。
[0042] 尚、種々の実施形態では、限定された数の違反境界セキュリティ・グループ(例えば、違反境界セキュリティ・グループ168−1−1、168−1−2、および168−m−l)のみを例示したが、1つ以上のディレクトリー・サービス・サーバー・デバイス130−lは、サービス・アカウントに関連付けられた1つ以上の役割に対して複数のグループ(例えば、リモート・アクセス・グループ、デバッガー・グループ等)を管理するように構成することもでき、役割に基づくアクセス制御(RBAC)を達成するために、サービス・アカウントがネスト状で多数のグループのメンバーになることができるように、各グループには、役割に関連付けられた1組のアクセス許可(例えば、1つ以上のリソースおよび/またはアセットへのリモート・アクセス、1つ以上のリソースおよび/またはアセットのデバッグ等)を関連付けできることは認めることができよう。実施形態はこの文脈に限定されるのではない。
[0043] 種々の実施形態において、認証トークン管理システム100は、更に、サーバー・デバイス108も含むことができる。サーバー・デバイス108は、大まかには、アプリケーションの中でもとりわけ、ディレクトリー・サービス・アプリケーション110を実行するように構成することができる。ディレクトリー・サービス・アプリケーション110は、大まかには、クライアント102−aの1つ以上のクライアント・アカウントに関連付けられたクライアント・アカウント情報を格納し提供するように構成することができる。また、ディレクトリー・サービス・アプリケーション110は、1つ以上のクライアント102−aがメンバーまたは会員(例えば、会社)となることができる組織の階層構造を含む組織的階層情報を格納するように構成することができる。更に、ディレクトリー・サービス・アプリケーション110は、認証トークン管理アプリケーション172を介して、1つ以上のサービス・アカウントのために認証トークンを要求する1つ以上のクライアント102−aを認証する、またはその認証において補助するように構成することもできる。典型的なディレクトリー・サービス・アプリケーションまたは実施態様には、ディレクトリー・サービス・サーバー・デバイス130−lに関して先に論じたものを含むことができるが、それらに限定されるのではない。
[0044] 1つ以上のサービス・アカウントのために認証トークンを要求する1つ以上のクライアント102−aを認証するため、またはその認証を容易にするために、ディレクトリー・サービス・アプリケーション110は、1つ以上のアプリケーション・プログラム・インターフェース(API)を露出するおよび/または実装することもできる。admin管理アプリケーション114および/またはトークン管理アプリケーション172は、1つ以上のAPIを利用して、サービス・アカウントおよび/またはサービス・アカウントのための認証トークンを要求する1つ以上のクライアント102−aを、1つ以上のクライアント102−aに関連付けられたクライアント・アカウント情報(例えば、クライアント・アカウント識別子またはクライアント・アカウントUPN、およびクライアント・アカウント・パスワード)に基づいて認証することができる。
[0045] 例示として、admin管理アプリケーション114および/または認証トークン管理アプリケーション172は、受けたクライアント・アカウント識別子またはクライアント・アカウントUPNと、クライアント・アカウント・パスワードとに基づいて、ネットワーク相互接続112を介して、1つ以上のAPI、および/または1つ以上のローカル手順コール(LPC)、および/またはディレクトリー・サービス・アプリケーション110のリモート手順コール(RPC)メカニズムを利用することによって、1つ以上のクライアント102−aを認証することができる。尚、典型的なAPIには、DAP API、LDAP API、MICROSOFT Active Directory Service Interface(ADSI) API、MICROSOFT Messaging API(MAPI)、MICROSOFT Directory System Agent(DSA)API、および/またはクライアント102−aの認証を可能にする任意の他のAPIを含んでもよいことは認めることができよう。
[0046] 加えてまたは代わりに、認証トークン管理システム100は、サーバー・デバイス160も含むことができる。サーバー・デバイス160は、大まかには、アプリケーションの中でもとりわけ、フェデレーテット・アイデンティティ・アプリケーション(federated identity application)162を実行するように構成することができる。フェデレーテット・アイデンティティ・アプリケーション162は、大まかには、1つ以上の認証プロトコル(例えば、Kerberosプロトコル)を利用して、多要素認証(例えば、スマート・カード、パスワード/pin、および/または手の指紋を利用する二要素認証)を行うように構成することができる。認証要素は、知識要素、即ち、クライアントが知っている何か(例えば、パスワード、パスコード、パスフレーズ、PIN等)、所有要素、即ち、クライアントが有する何か(スマート・カード、仮想スマート・カード、セキュリティ・トークン等)、固有の特性要素、即ち、クライアントであることの何か(例えば、手の指紋、虹彩のパターン、網膜のパターン、生物計量等)、および/またはクライアントの識別および/または認証において補助するために利用することができる任意の他の要素含むことができるが、これらに限定されるのではない。したがって、ある実施形態では、フェデレーテット・アイデンティティ・アプリケーション162は、アイデンティティ入力および/または出力(I/O)デバイス164および/またはディレクトリー・サービス・アプリケーション110と合わせて、1つ以上のクライアント102−aの認証を行うように構成することができる。
[0047] 種々の実施形態において、フェデレーテット・アイデンティティ・アプリケーション162は、更に、セキュリティ・トークン・サービス(STS)を提供し、1つ以上のセキュリティ・トークン(例えば、セキュリティ・アサーション・マークアップ言語(SAML: Security Assertion Markup Language)トークン)を1つ以上のクライアント102−aおよび/または要求可能化アプリケーション(claim enabled application)に発行して、1つ以上の要求可能化アプリケーションが、1つ以上のクライアント102−aに関連付けられたクライアント・アカウント情報(例えば、ユーザーの主名称(UPN)、アカウント識別子、アカウント・パスワードまたはそのハッシュ派生物、アカウント・ドメイン、スマート・カード証明書等)を直接受けることなく、および/または処理することなく、クライアントを識別できるように、および/またはクライアントとの信頼接続を確立できるように構成することができる。典型的なフェデレーテット・アイデンティティ・アプリケーションは、MICROSOFT Active Directory Federation Service(AD FS)、MICROSOFT Federation Gateway、または既に認証されているクライアントのアイデンティティをアサートすることの要求を含むセキュリティ・トークンを発行するように構成された任意の他の連合アイデンティティ・サービス・プロバイダーを含むことができるが、これらに限定されるのではない。
[0048] 種々の実施形態において、クライアント・アカウント識別子またはクライアント・アカウントUPNとクライアント・アカウント・パスワードとに基づいて1つ以上のクライアント102−aを直接認証する代わりに、admin管理アプリケーション114および/またはトークン管理アプリケーション172は、要求可能化アプリケーションとして構成され(arrange)、したがって、1つ以上のクライアント102−aを認証および/または許可するために、フェデレーテット・アイデンティティ・アプリケーション162によって発行されたセキュリティ・トークンを1つ以上のクライアント・デバイス104−bから受けるように構成する(configure)ことができる。したがって、admin管理アプリケーション114および/またはトークン管理アプリケーション172は、受けたセキュリティ・トークンに少なくとも部分的に基づいて、アプリケーションへのアクセスを要求するクライアント102−aを認証および識別することができる。また、受けたセキュリティ・トークンは、1つ以上の要求(claim)も含むことができ、1つ以上の要求(claim)は、1つ以上のクライアント102−aに関連付けられたクライアント・アカウント情報を含むことができる。随意に、受けたセキュリティ・トークンは、更に、1つ以上のクライアント102−aを認証するために使用された認証要素、メカニズム、および/または方法(例えば、スマート・カードおよびPIN、アカウント識別子およびアカウント・パスワード、アカウント識別子および生物計量指紋等)を示す認証タイプ情報も含むことができる。
[0049] 例示として、クライアント102−2は、最初に、アイデンティティ・トークン(即ち、所有要素)を使用してアイデンティティI/Oデバイス164とインターフェースし、クライアント・デバイス104−2に通信可能に結合されている標準的な入力デバイス(例えば、キーボード)を介して関連するPIN(即ち、知識ファクター)を入力することによって、二要素認証を使用してクライアント・デバイス104−2を認証することを要求することができる。すると、ディレクトリー・サービス・アプリケーション110(例えば、MICROSOFT Active Directory Directory Services(AD DS))は、クライアント・デバイス104−2からの要求を受けて、少なくとも部分的に、クライアント・デバイス104−2によって認証されたおよび/または有効性が認められたアイデンティティ・トークン(例えば、クライアント102−2に関連付けられたスマート・カード)に基づいて、クライアント102−2のためにチケット付与チケット(Ticket Granting Ticket)(例えば、Kerberosチケット)をネゴシエートすることができる。一旦クライアント102−2が認証されたら、ディレクトリー・サービス・アプリケーション110はTGTをクライアント・デバイス104−2に供給することができる。随意に、ディレクトリー・サービス・アプリケーション110は、付加的に、従前からのクライアント・アカウント識別子またはクライアント・アカウントUPNではなく、アイデンティティ・トークンおよび関連するPINを使用して、更に関連するクライアント・アカウント・パスワードを使用してクライアント102−2が認証されたことを示す、TGTにおける情報(例えば、スマート・カードおよび関連するPINによって認証された1つ以上のクライアント102−aを含むセキュリティ・グループを識別するセキュリティ識別子(SID))を含むこともできる。
[0050] 以上の例示を続けると、要求可能化アプリケーション(例えば、admin管理アプリケーション114および/またはトークン管理アプリケーション172)は、次いで、クライアント102−2からのアクセス要求をクライアント・デバイス104−2を通じて受けることができる。このアクセス要求に応答して、要求可能化アプリケーションは、クライアント・デバイス104−2を要求可能化アプリケーションの信頼STSプロバイダー、即ち、フェデレーテット・アイデンティティ・アプリケーション162(例えば、MICRSOFT AD FS)にリダイレクトすることができ、フェデレーテット・アイデンティティ・アプリケーション162はディレクトリー・サービス・アプリケーション110と通信し、クライアント・デバイス104−2とネゴシエートして、クライアント・デバイス104−2にセキュリティ・トークン(例えば、SAMLトークン)を供給することができる。随意に、フェデレーテット・アイデンティティ・アプリケーション162は、付加的に、クライアント102−2がクライアントのアイデンティティ・トークンおよび関連するPINを使用して認証されたことを示すことができる認証タイプ情報を、セキュリティ・トークンにおいて含むこともできる。
[0051] 以上の例示を更に続けると、要求可能化アプリケーションは、次いで、クライアント・デバイス104−2からセキュリティ・トークン(例えば、SAMLトークン)を受けることができる。これは、フェデレーテット・アイデンティティ・アプリケーション162によって供給されたものである。次いで、要求可能化アプリケーションは、このセキュリティ・トークンが、例えば、フェデレーテット・アイデンティティ・アプリケーション162のような信頼できるフェデレーテット・アイデンティティ・アプリケーションによって発行されたプロパティであったか否か判定することによって、セキュリティ・トークンを認証する、または有効性を判断することができる。要求可能化アプリケーションとのその後の通信の認証を容易にするために、要求可能化アプリケーションは、その後の通信のために、信頼セッション・クッキー(例えば、FedAuthクッキー)をクライアント・デバイス104−2に供給することもできる。随意に、クライアント102−2がアイデンティティ・トークンの使用に基づいて認証されたのか否か、例えば、セキュリティ・トークンが、クライアント102−2を含むセキュリティ・グループのSIDを含み、クライアント102−2がアイデンティティ・トークンおよび関連するPINによって認証されたことを示すか否か判定することによって、要求可能化アプリケーションは判定することができる。クライアント102−2がクライアントのアイデンティティ・トークンに基づいて認証されたのではないとき、要求可能化アプリケーションはクライアント・デバイス104−2の要求可能化アプリケーションへのアクセスを拒否することができる。このように、クライアント・デバイス104−2と、少なくとも二要素認証、即ち、アイデンティティ・トークン(即ち、所有要素)および関連するPIN(即ち、知識要素)に基づいて認証されたクライアント102−aの要求可能化アプリケーションとの間には、少なくとも信頼できる接続を確立することができる。
[0052] 種々の実施形態において、認証トークン管理システム100は、更に、サービス・デバイス106を随意に含むことができる。サービス・デバイス106は、任意に、アプリケーションの中でもとりわけ、admin管理アプリケーション114を実行するように構成することができる。admin管理アプリケーション114は、大まかには、1つ以上のサービス・アカウントを要求する1つ以上のクライアント102−aを認証し、1つ以上のクライアント102−aからの、1つ以上のサーバー・デバイスにアクセスする要求、アクセス許可を昇格させる要求、およびクライアント102−aから受けた1つ以上の要求を認証する要求を受けるように構成することができる。加えて、admin管理アプリケーション114は、更に、1つ以上のサービス・アカウントを管理、許可、プロビジョニング、およびイネーブルするように構成することができる。更に、admin管理アプリケーション114は、アクセス許可が昇格された、役割が限定された、範囲が限定された、そして存続期間が限定されたサービス・アカウント、言い換えると、ジャスト・イン・タイム(JIT)にプロビジョニングされたアカウント(即ち、JITアカウント)としても知られているサービス・アカウントを、クライアント102−aによって要求された通りに、プロビジョニングし、更にクライアント102−aに、プロビジョニングされたサービス・アカウント(例えば、プロビジョニングされたJITアカウント)に関連付けられたサービス・アカウント情報を通知するように構成することができる。
[0053] 1つ以上のクライアント102−aを認証可能にするために、admin管理アプリケーション114は、クライアント・アカウント情報の少なくとも一部(例えば、アカウントUPN、アカウント識別子、および/またはアカウント・パスワード)を1つ以上のクライアント102−aに、クライアント・デバイス104−bを通じて要求する、および/または1つ以上のクライアント102−aから受けるように構成することができ、受けたクライアント・アカウント情報を、1つ以上のクライアント102−aのクライアント・アカウントと関連付けることができる。一旦クライアント・アカウント情報を受けたなら、admin管理アプリケーション114は、更に、ネットワーク相互接続112およびディレクトリー・サービス・アプリケーション110の1つ以上のAPIを介して通信し、1つ以上のクライアント102−aに関連付けられた、受けたクライアント・アカウント情報(例えば、アカウントUPN、アカウント識別子、および/またはアカウント・パスワード)を認証するように構成することができる。
[0054] 加えておよび/または代わりに、admin管理アプリケーション114は、要求可能化アプリケーション(claims enabled application)を含むことができる。要求可能化アプリケーションは、フェデレーテット・アイデンティティ・アプリケーション162によって発行されたセキュリティ・トークン(例えば、SAMLトークン)を1つ以上のクライアント・デバイス104−bから受けるように構成される。更に、admin管理アプリケーション114は、受けたセキュリティ・トークンに基づいて、サービス・アカウントを要求した1つ以上のクライアント102−aを認証し識別するように構成することができる。受けたセキュリティ・トークンは、1つ以上のクライアント102−aに関連付けられたクライアント・アカウント情報を含むことができる1つ以上の要求(claim)を含むことができる。クライアント・デバイス104−bから受けたセキュリティ・トークンを利用することによって、admin管理アプリケーション114は1つ以上のクライアント・デバイス104−bとの信頼接続を少なくとも確立することができる。更に信頼接続が攻撃者によって危殆化されるまたは改竄されるのを防ぐために、admin管理アプリケーション114は1つ以上の安全通信プロトコル(例えば、ハイパーテキスト・トランスファー・プロトコル・セキュア(HTTPS))を利用して、暗号化接続を確立することもできる。このように、安全な接続(例えば、信頼および暗号化接続)をadmin管理アプリケーション114と1つ以上のクライアント・デバイス104−bとの間に、1つ以上のサービス・アカウントの要求のために確立することができる。
[0055] ある実施形態では、一旦1つ以上のクライアント102−aが認証されたなら、admin管理アプリケーション114は、データーセンター142における1つ以上のリソースおよび/またはアセットにアクセスするための1つ以上のサービス・アカウントを要求するために、1つ以上の認証されたクライアント102−aがサービス・アカウント要求情報を入力することを可能にするように構成することができる。サービス・アカウント要求情報は、実行される1つ以上のアクションまたはタスク、1つ以上のサーバー・デバイス140−iーj、および1つ以上のアクションまたはタスクに関連付けられた要求存続期間情報を含むことができるが、これに限定されるのではない。要求存続期間情報は、サービス・アカウントが失効してディスエーブルされるときの具体的な時刻または経過時間、および/またはサービス・アカウントが削除される具体的な時刻または経過時間を含むことができるが、これに限定されるのではない。任意に、admin管理アプリケーション114は、サービス・アカウントに対する要求存続期間情報を、96時間即ち4日の上限値に限定し、96時間(例えば、4日)よりも存続期間が長いサービス・アカウントを求める要求をいずれも96時間即ち4日に限定されるようにすることもできる。実施形態はこの文脈において限定されることはない。
[0056] ある実施形態では、admin管理アプリケーション114は、少なくとも部分的に、受けたサービス・アカウント要求情報(例えば、実行される1つ以上のアクションまたはタスク、および1つ以上のサーバー・デバイス140−i−j)と、既存のサービス・アカウントについてのサービス・アカウント役割/範囲情報に基づいて決定された要求役割/範囲情報とに基づいて、クライアントに関連付けられた既存のサービス・アカウントを引き出すことによって、サービス・アカウントをプロビジョニングするように構成することができる。加えてまたは代わりに、admin管理アプリケーション114は、少なくとも部分的に1つ以上のクライアント102−aからクライアント・デバイス104−bを介して受けた要求役割/範囲情報と、既存のサービス・アカウントについてのサービス・アカウント役割/範囲情報とに基づいて、クライアントに関連付けられた既存のサービス・アカウントを引き出すことによって、サービス・アカウントをプロビジョニングするように構成することもできる。
[0057] 典型的な(exemplary)要求役割および/またはサービス・アカウント役割には、アドミニストレーター、バックアップ・オペレーター、デバッガー、リモート・ユーザー、テスター等を含むことができるが、これらに限定されるのではない。尚、各役割には、更に、1つ以上のリソースおよび/またはアセット、および/または1つ以上のリソースおよび/またはアセットのコンポーネントに対するアクセスを付与および/または拒否することができる1組のアクセス許可を関連付けることもできることは認めることができよう。典型的な要求範囲および/またはサービス・アカウント範囲には、1つ以上のサーバー・デバイス140−1−1、140−1−2、140−1−3、あるいは他のリソースおよび/またはアセット、および/またはリソースおよび/またはアセットのコンポーネントを含む違反境界138−1−1を含むことができるが、これらに限定されるのではない。
[0058] ある実施形態では、admin管理アプリケーション114は、同じまたは実質的に同様の要求役割/範囲を有するサービス・アカウントがクライアントのために既に存在するか否か判定するように構成することもできる。次いで、admin管理アプリケーション114は、既にそのクライアントのために存在するサービス・アカウントに対するサービス・アカウント役割/範囲が、要求役割/範囲と同じまたは実質的に同様であるとき、サービス・アカウント・データーストア126から既存のサービス・アカウントを引き出すように構成することができる。
[0059] あるいは、admin管理アプリケーション114が、要求役割/範囲を有するサービス・アカウントがそのクライアントのために存在しないと判定したとき、アカウント・プロビジョニング・コンポーネント120は、自動的にそのクライアントのために新たなサービス・アカウントを作成するように構成することができる。これは、言い換えると、サービス・アカウントのレイジー・プロビジョニング(lazy provisioning)としても知られており、admin管理アプリケーション114は、役割および範囲が同等または実質的に同様である以前のサービス・アカウントが未だそのクライアントのために存在しないときにのみ、サービス・アカウントを作成するように構成することができる。
[0060] ある実施形態では、admin管理アプリケーション114は、更に、少なくとも部分的に、サービス・アカウント要求情報(例えば、要求役割/範囲情報、要求存続期間情報等)とクライアント・アカウント情報とに基づいて、新たなサービス・アカウントおよびその関連するサービス・アカウント情報を作成することができる。例えば、クライアント102−2についてのクライアント・アカウント情報がUPN"EllenAdams@.contoso.com"を含むことができ、要求された役割がリモート・ユーザーおよびデバッガーを含み、要求された範囲が違反境界138−1−1を含むと仮定する。admin管理アプリケーション114は、クライアント102−1が少なくとも部分的にUPNに基づいてサービス・アカウントに対する1つ以上の役割を識別できるように、サービス・アカウントUPN "EllenAdams_RemoteDebugger_Boundaryl38-l-l@domainl36-1.contoso.com"を含むサービス・アカウント情報によって新たなサービス・アカウントを作成することができる。加えて、admin管理アプリケーション114は、更に、新たに作成したサービス・アカウントをサービス・アカウント・データーストア126に格納し、この新たに作成したサービス・アカウントをそのクライアントのクライアント・アカウントと関連付けることもできる。
[0061] 1つ以上のディレクトリー・サービス・サーバー・デバイス130−lによって管理されるリソースおよび/またはアセットが、新たに作成されたサービス・アカウントを使用して1つ以上のクライアント102−aによってアクセス可能および/またはサービス可能であることを確保するために、admin管理アプリケーション114は、更に、クライアントがアクセスおよび/またはサービスすることを要求した1つ以上のリソースおよび/またはアセットを含む1つ以上の違反境界138−g−hを管理する、該当のディレクトリー・サービス・サーバー・デバイスを識別するように構成することができる。一旦該当するディレクトリー・サービス・サーバー・デバイスを識別したなら、admin管理アプリケーション114は、更に、サービス・アカウントを作成するために、ネットワーク相互接続112および識別したディレクトリー・サービス・サーバー・デバイスの1つ以上のAPIを介して、識別したディレクトリー・サービス・サーバー・デバイスと通信するように構成することができる。加えて、admin管理アプリケーション114は、新たに作成したサービス・アカウントおよび関連するサービス・アカウント情報をサービス・アカウント・データーストア126に格納し、それを引き出して再利用できるように、この新たに作成したサービス・アカウントおよび関連するサービス・アカウント情報をクライアント・アカウントと関連付けるように構成することができる。
[0062] ある実施形態では、一旦サービス・アカウントが引き出されたならまたは作成されたなら、admin管理アプリケーション114は、更に、引き出されたまたは作成されたサービス・アカウントが、クライアントによって要求されたのと同じ役割および範囲を有するように、少なくとも部分的に要求役割/範囲情報に基づいて、サービス・アカウントをイネーブルするように構成することができる。また、これは、作成されたまたは引き出された各サービス・アカウントが、クライアントに要求された通りにリソースおよび/またはアセットにおいてサービスにアクセスするまたはサービスを実行するために必要とされる、1組の最小限の範囲に設定されたアクセス許可を含むことも確保する。サービス・アカウントをイネーブルするために、admin管理アプリケーション114は、更に、少なくとも部分的に要求役割/範囲情報に基づいて、1組のアクセス許可をサービス・アカウントに付与する、即ち、与えるように構成することができる。
[0063] 適正な1組のアクセス許可が、プロビジョニングされたサービス・アカウントに付与される即ち与えられることを確保するために、admin管理アプリケーション114は、更に、ネットワーク相互接続112と1つ以上のディレクトリー・サービス・サーバー・デバイス130−lのディレクトリー・サービス・アプリケーション(図示せず)の1つ以上のAPIとを利用することによって、該当する違反境界セキュリティ・グループ168−m−nを管理するディレクトリー・サービス・サーバー・デバイスを識別し、更に、1つ以上のリソースおよび/またはアセットへのアクセスを付与するように構成された1つ以上の違反境界セキュリティ・グループ168−m−nを識別するように構成することができる。一旦該当するディレクトリー・サービス・サーバー・デバイスおよび1つ以上の違反境界セキュリティ・グループ168−m−nが識別されたなら、admin管理アプリケーション114は、プロビジョニングしたサービス・アカウントを、識別した違反境界セキュリティ・グループと関連付けるために、識別したディレクトリー・サービス・サーバー・デバイスと通信するように構成することができる。
[0064] ある実施形態では、admin管理アプリケーション114は、違反境界セキュリティ・グループに関連付けられた違反境界内の1つ以上のリソースおよび/またはアセットにアクセスするための1組のアクセス許可をサービス・アカウントに付与できるように、サービス・アカウントを1つ以上の違反境界セキュリティ・グループ168−m−nにメンバーとして追加することによって、サービス・アカウントを違反境界セキュリティ・グループ168−m−nと関連付けるように構成することができる。攻撃者が漏洩したサービス・アカウントを使用して起こすおそれがある影響の範囲を更に限定するために、admin管理アプリケーション114は、更に、サービス・アカウントに関連付けることができる違反境界セキュリティ・グループ168−m−nの数を限定するように構成することができる(例えば、各サービス・アカウントには1つの違反境界セキュリティ・グループしか関連付けることができない)。
[0065] ある実施形態では、admin管理アプリケーション114は、更に、存続期間が限定された1つ以上のサービス・アカウントをイネーブルするように構成することができる。1つ以上のサービス・アカウントが限定存続期間だけイネーブルされることを確保するために、admin管理アプリケーション114は、更に、サービス・アカウント存続期間情報または既定のサービス・アカウント存続期間情報に基づいて、各サービス・アカウントに関連付けられた存続期間を管理するように構成することができる。更に、admin管理アプリケーション114は、サービス・アカウント存続期間情報または既定のサービス・アカウント存続期間情報によって指示される通りに、ある時間期間が経過した後、1つ以上のサービス・アカウントをディスエーブルするおよび/または削除するように構成することができる。サービス・アカウント存続期間情報は、サービス・アカウントが失効しディスエーブルされるときの具体的な時刻または経過時間、およびサービス・アカウントが削除されるときの具体的な時刻または経過時間を含むことができるが、これらに限定されるのではないことは認めることができよう。
[0066] ある実施形態では、サービス・アカウント存続期間情報は、所与の実施態様に合わせて、クライアント・デバイス104−bを介して1つ以上のクライアント102−aから受けたサービス・アカウント要求情報に基づいて判定されるおよび/または導き出されるのでもよい。他の実施形態では、サービス・アカウント存続期間情報は、サービス・アカウント役割/範囲情報によって示される1つ以上の役割に基づいて判定されるおよび/または導き出されてよく、ある役割(例えば、リモート・ユーザーおよびデバッガー)が2時間という関連サービス・アカウント存続期間を有するが、他の役割(例えば、バックアップ・オペレーター)が4時間という存続期間を有する場合もある。実施形態はこの文脈において限定されるのではない。
[0067] 一実施形態例では、サービス・アカウントの存続期間は、サービス・アカウントがプロビジョニングされた時点(例えば、admin管理アプリケーション114によってプロビジョニングされた)から開始するのでもよく、サービス・アカウント存続期間情報に基づいて指定された時刻または経過時間において終了する。あるいは、サービス・アカウントの存続期間は、サービス・アカウントが最初に利用された(例えば、サービス・アカウントを使用してクライアントがリソースおよび/またはアセットにアクセスしようとした)時点から開始するのでもよく、サービス・アカウント存続期間情報に基づいて指定された時刻または経過時間において終了する。実施形態例は、この文脈において限定されるのではない。
[0068] 他の実施形態例では、admin管理アプリケーション114は、更に、1つ以上のクライアント102−aが、1つ以上のディレクトリー・サービス・サーバー・デバイス130−lによって管理される1つ以上のリソースおよび/またはアセットにアクセスするとき、ネットワーク相互接続112を介して1つ以上のディレクトリー・サービス・サーバー・デバイス130−lから1つ以上のアクセス承認要求を受けるように構成することができる。更に、admin管理アプリケーション114は、サービス・アカウントの存続期間が未だ終わっていないとき、それぞれのディレクトリー・サービス・サーバー・デバイス130−lによって管理される1つ以上のリソースおよび/またはアセットにアクセスすることを、自動的に1つ以上のクライアント102−aに承認するまたは許可するように構成することができる。
[0069] あるいは、admin管理アプリケーション114は、サービス・アカウントの存続期間が既に経過しているとき、それぞれのディレクトリー・サービス・サーバー・デバイス130−lによって管理される1つ以上リソースおよび/またはアセットに対するあらゆる1つ以上のクライアント102−aのアクセスを自動的に否認(deny)するように構成することができる。加えて、一実施形態では、admin管理アプリケーション114は、サービス・アカウントをディスエーブルする、および/またはサービス・アカウントを1つ以上の違反境界セキュリティ・グループから離脱させる(disassociate)ように構成することもできる。
[0070] 一実施形態例では、admin管理アプリケーション114は、全てのアクセス承認要求を否認することによってサービス・アカウントをディスエーブルし、新たな認証トークンを生成し、この新たに生成した認証トークンをクライアント102−aに供給しないのでもよい。更に、admin管理アプリケーション114は、例えば、新たな認証トークンを生成し、認証トークン管理アプリケーション172にサービス・アカウントのための認証トークをリセットすることを要請することによって、この新たに生成した認証トークをクライアント102−aに供給しないのでもよい。また、admin管理アプリケーション114は、1つ以上の違反境界セキュリティ・グループにおけるメンバーシップからサービス・アカウントを削除することによって、サービス・アカウントを離脱させることもできる。
[0071] 加えてまたは代わりに、admin管理アプリケーション114は、更に、任意のイネーブルされたサービス・アカウントを求めてサービス・アカウント・データーストア126を周期的にスキャンし、サービス・アカウント存続期間情報に基づいて、存続期間が既に経過したサービス・アカウントをいずれもディスエーブルするように構成することもできる。ある実施形態では、ディスエーブルされたサービス・アカウントは、直ちに、現在使用中のあらゆるサービス・アカウントおよびそれらの関連するアクティブなアクションまたはタスクも終了させる(例えば、強制ログオフ)。1つ以上のリソースおよび/またはアセットを管理する1つ以上のディレクトリー・サーバー・デバイス130−lが適正にサービス・アカウント・データーストア126と同期されることを確保するために、admin管理アプリケーション114は、更に、サービス・アカウントのサービス・アカウント存続期間情報を更新するためおよび/または存続期間が経過したサービス・アカウントをいずれもディスエーブルするために、ネットワーク相互接続112とディレクトリー・サービス・サーバー・デバイス130−lのディレクトリ・サービス・アプリケーションの1つ以上のAPIとを介して通信するように構成することができる。
[0072] サービス・アカウントがイネーブルされた後、admin管理アプリケーション114は、1つ以上の通知メッセージにおいてサービス・アカウント情報を1つ以上のクライアント102−aに、1つ以上のクライアント・デバイス104−bを通じて通知し供給するように構成することができる。典型的な通知メッセージには、移動体SMSメッセージング、自動音声コール、電子メール、インタラクティブ・ウェブ・ベースのフォーム、ウェブ警報、インターネットおよび/またはイントラネット・ベースのメッセージング・アプリケーション、あるいは昇格アクセス許可の承認および/または拒否に関して1つ以上のクライアント102−aに通知し、1つ以上のクライアント102−aに要求承認情報、監督承認情報、および/またはサービス・アカウント情報を提供する任意の他の手段を含むことができるが、これらに限定されるのではない。認証トークンを設定または生成するときにクライアントを助けるために、1つ以上のクライアント102−aが認証トークン管理アプリケーション172にアクセスして1つ以上のプロビジョニングされたサービス・アカウントのために1つ以上の認証トークンを設定および/または生成することができるように、admin管理アプリケーション114は、更に、1つ以上の通知メッセージにおいて、参照(例えば、"https://AuthenticationTokenManagementFrontEnd"または"https://AuthenticationTokenManagementFrontEnd.contoso.com"のようなURL)を認証トークン管理アプリケーション172に供給するように構成することができる。
[0073] 例示として、「エレン・アダムス」という名前および "EllenAdams@contoso.com"というクライアント・アカウントUPNを有するクライアント102−2が、1つ以上のサーバー・デバイス140−i−jにアクセスするために、サービス・アカウントを、クライアント・デバイス104−2とadmin管理アプリケーション114との間における少なくとも暗号化接続を介して要求したと仮定する。この要求に応答して、admin管理アプリケーション114は、最初に、クライアント・アカウントUPN(例えば、"EllenAdams@contoso.com")と、安全な接続(例えば、信頼および暗号化接続)を確立するためのクライアント・アカウント・パスワードとに基づいて、admin管理アプリケーション114にアクセスするためにクライアント102−2を認証することができる。あるいは、admin管理アプリケーション114は、二要素認証(例えば、スマート・カードおよび関連するPIN)と、安全な接続を確立するために受けたセキュリティ・トークンとに基づいて、クライアント102−2を認証することができる。一旦認証されたなら、クライアント102−2は、確立された安全な接続を介して、要求存続期間が4時間のサービス・アカウントを、遠方からサーバー・デバイス140−1−1をデバッグするために要求することができる。この要求に応答して、admin管理アプリケーション114は、リモート・ユーザーおよびデバッガーという要求役割ならびに違反境界138−1−1という要求範囲を含むアクセス許可を有するサービス・アカウントに対して、クライアント102−2から受けた要求役割/範囲情報を判定するおよび/または受けることができる。
[0074] 以上の例示を続けると、admin管理アプリケーション114は、次いで、クライアント102−2のクライアント・アカウントの範囲に該当するまたは適合する1組のアクセス許可を有するサービス・アカウントを求める要求を確保するために、クライアント102−2に関連付けられたクライアント・アカウント情報と、サービス・アカウント要求情報(例えば、要求役割/範囲情報)とに基づいて、サービス・アカウントのプロビジョニングを許可するか否か判定することができる。一旦この要求が許可されたなら、admin管理アプリケーション114は、要求された役割および範囲と同じまたは実質的に同様の役割および範囲を有する既存のサービス・アカウントがクライアント102−2のためにサービス・アカウント・データーストア126に既に存在するか否か判定することができる。
[0075] 更に以上の例示を続けて、admin管理アプリケーション114が、既存のサービス・アカウントがないと判定したと仮定すると、admin管理アプリケーション114は、違反境界セキュリティ・グループ168−1−1を利用して違反境界138−1−1を実施している1つ以上のディレクトリー・サービス・サーバー・デバイス130−lの中からディレクトリー・サービス・サーバー・デバイス130−lを識別することができる。admin管理アプリケーション114は、クライアント102−2が、ディレクトリー・サービス・サーバー・デバイス130−1によって管理されているサーバー・デバイス140−1−1、140−1−2、140−1−3、140−1−4、140−1−5、140−1−6にアクセスできることがあるように、少なくともネットワーク相互接続112とディレクトリー・サービス・サーバー・デバイス130−1のディレクトリー・サービス・アプリケーション(図示せず)の1つ以上のAPIとを介して通信することによって、サービス・アカウントをプロビジョニングすることができる。
[0076] 更に以上の例示を続けると、admin管理アプリケーション114は、違反境界セキュリティ・グループ168−1−1を、1組のアクセス許可をサーバー・デバイスサーバー・デバイス140−1−1、140−1−2、140−1−3に付与するように構成された違反境界セキュリティ・グループとして識別することができる。更に、admin管理アプリケーション114は、プロビジョニングされたサービス・アカウントに、サーバー・デバイス140−1−1、140−1−2、140−1−3に対する1組のアクセス許可を付与するために、プロビジョニングされたサービス・アカウントを少なくとも識別された違反境界セキュリティ・グループ168−1−1に追加することによって関連付けることもできる。尚、admin管理アプリケーション114は、サーバー・デバイス140−1−1、140−1−2、140−1−3においてリモート・デバッグを実行するために、プロビジョニングしたサービス・アカウントがクライアント102−1によって使用できるように、リモート・ユーザーおよびデバッガーとしてアクセス許可を付与するために、プロビジョニングしたサービス・アカウントを他のグループ(例えば、リモート・ユーザー・グループ、デバッガー・グループ等)に追加することによって関連付けることもできることは認めることができよう。
[0077] 以上の例示を更に続けると、admin管理アプリケーション114は、サービス・アカウント存続期間が4時間であることを示す要求存続期間から導き出され判定されたサービス・アカウント存続期限情報に基づいて、プロビジョニングしたサービス・アカウントをイネーブルすることもできる。サービス・アカウントが午後12時にクライアント102−2にプロビジョニングされたと仮定すると、このプロビジョニングされたサービス・アカウントの存続期間が、サービス・アカウントがプロビジョニングされる時刻である午後12時から開始し、サービス・アカウントの存続期間が午後4時に終了するときに、admin管理アプリケーション114が、このサービス・アカウントに関連付けられたあらゆるアクティブなトークン(例えば、サーバー・デバイス140−1−1上における1つ以上のプロセスの実行に使用されるアクセス・トークン)を強制的に終了させるために、認証トークン管理アプリケーション172を2回利用して、このサービス・アカウントをディスエーブルし、プロビジョニングされたサービス・アカウントに関連付けられた認証トークンをリセットすることができるようにする。以上の例を更に続けると、一旦サービス・アカウントがイネーブルされたなら、クライアント102−2がプロビジョニングされたサービス・アカウントのための認証トークンを設定および/または生成するために認証管理アプリケーション172にアクセスできるように、admin管理アプリケーション114は、クライアント・デバイス140−2を通じて、サービス・アカウント識別子またはサービス・アカウントUPN(例えば、"EllenAdams_RemoteDebugger@domainl36-l.contoso.com")と、認証トークン管理アプリケーション172への参照(例えば、"https://AuthenticationTokenManagementFrontEnd" または"https://AuthenticationTokenManagementFrontEnd.contoso.com"のようなURL)と、をクライアント102−2に通知することができる。次いで、クライアント102−2は、プロビジョニングされたサービス・アカウントを、生成された認証トークンと共に利用して、午後4時よりも前に、クライアント・デバイス104−2およびネットワーク相互接続112を介してサーバー・デバイス140−1−1を遠方からデバッグする(例えば、リモート・デスクトップ・プロトコル(RDP)を利用する)ことができる。
[0078] 種々の実施形態において、認証トークン管理システム100は、更に、サーバー・デバイス170を含むことができる。サーバー・デバイス170は、大まかには、アプリケーションの中でもとりわけ、認証トークン管理アプリケーション172を実行するように構成することができる。認証トークン管理アプリケーション172は、大まかには、認証トークン管理アプリケーション172にアクセスするまたはサービス・アカウントのために認証トークンを生成することを要求する1つ以上のクライアント102−aを認証するように構成することができる。認証トークン管理アプリケーション172は、ネットワーク相互接続112および1つ以上のクライアント・デバイス104−2を介して、1つ以上のサービス・アカウントのために1つ以上の認証トークンを生成する要求を、1つ以上のクライアント102−aから受けるように構成することができる。更に、認証トークン管理アプリケーション172は、ネットワーク相互接続112および1つ以上のクライアント・デバイス104−2を介して、サービス・アカウントに関連付けられたサービス・アカウント情報および1つ以上のクライアント102−aのために生成された認証トークンを、クライアント102−aに供給するように構成することができる。加えて、認証トークン管理アプリケーション172は、更に、1つ以上のサービス・アカウントのための1つ以上の認証トークンを管理する、生成する、リセットする、ならびに更新および/または設定することを要求するように構成することができる。
[0079] 種々の実施形態において、認証トークン管理アプリケーション172は認証トークン管理コンポーネント174を含むことができる。認証トークン管理コンポーネント174は、大まかには、認証トークン管理アプリケーション172へのアクセス、1つ以上のサービス・アカウントのサービス・アカウント情報の引き出し、および/または1つ以上のディレクトリー・サービス・サーバー・デバイス130−lおよび/またはadmin管理アプリケーション114の1つ以上のディレクトリー・サービス・アプリケーション(図示せず)によって管理される1つ以上のサービス・アカウントのための認証トークンの生成を要求する1つ以上のクライアント102−aを認証する、またはその有効性を判断するように構成することができる。また、認証トークン管理コンポーネント174は、1つ以上のディレクトリー・サービス・サーバー・デバイス130−lおよび/またはadmin管理アプリケーション114の1つ以上のディレクトリー・サービス・アプリケーション(図示せず)によって管理される1つ以上のサービス・アカウントのサービス・アカウント情報を引き出して提供するように構成することもできる。更に、認証トークン管理コンポーネント174は、admin管理アプリケーション114からの1つ以上のサービス・アカウントのための認証トークン・リセット要求を受けるように構成することもできる。
[0080] 1つ以上のクライアント102−aを認証することを可能にするために、認証トークン管理コンポーネント174は、クライアント・アカウント情報の少なくとも一部(例えば、アカウントUPN、アカウント識別子、および/またはアカウント・パスワード)を1つ以上のクライアント102−aからクライアント・デバイス104−bを通じて要求するおよび/または受けるように構成することができ、受けたクライアント・アカウント情報を、1つ以上のクライアント102−aのクライアント・アカウントと関連付けることができる。一旦クライアント・アカウント情報を受けたなら、認証トークン管理コンポーネント174は、更に、1つ以上のクライアント102−aに関連付けられた、受領(received)クライアント・アカウント情報(例えば、アカウントUPN、アカウント識別子、および/またはアカウント・パスワード)を認証するためにネットワーク相互接続112とディレクトリー・サービス・アプリケーション110の1つ以上のAPIとを介して通信するように構成することができる。
[0081] 加えておよび/または代わりに、認証トークン管理コンポーネント174は、フェデレーテット・アイデンティティ・アプリケーション162によって発行されたセキュリティ・トークン(例えば、SAMLトークン)を1つ以上のクライアント104−bから受けるように構成された要求可能化アプリケーション(claims enabled application)を含むこともできる。更に、認証トークン管理コンポーネント174は、受けたセキュリティ・トークンに基づいて、サービス・アカウントを要求した1つ以上のクライアント102−aを認証し識別するように構成することができる。受けたセキュリティ・トークンは、1つ以上のクライアント102−aに関連付けられたクライアント・アカウント情報を含むことができる1つ以上の要求(claim)を含むことができる。クライアント・デバイス140−bから受けたセキュリティ・トークンを利用することによって、認証トークン管理アプリケーション172は少なくとも1つ以上のクライアント・デバイス104−bとの信頼接続を確立することができる。任意に、認証トークン管理コンポーネント174は、更に、認証トークン管理コンポーネント174が、認証トークン管理アプリケーション172と1つ以上のクライアント104−bとの間におけるその後のあらゆる通信のために、1つ以上のクライアント104−bとの信頼接続を確立することができるように、信頼セッション・クッキー(例えば、FedAuthクッキー)を1つ以上のクライアント104−bに供給することもできる。
[0082] 尚、その後の通信のために信頼セッションを維持するための信頼クッキーが1つ以上のクライアント104−bに供給されなかった場合、認証トークン管理コンポーネント174は、1つ以上のクライアント・デバイス104−bから受けた、サービス・アカウント情報を引き出すまたは認証トークンを生成する各要求の有効性を判断するように構成することもできることは認めることができよう。例えば、認証トークン管理コンポーネント174は、受けたセキュリティ・トークンが信頼STSプロバイダー、例えば、フェデレーテット・アイデンティティ・アプリケーション162によって発行されたこと、そして認証トークンを生成することを要求したクライアントが二要素認証(例えば、スマート・カードおよび関連するPIN)に基づいて認証されたことを検証することによって、要求の有効性を判断することもできる。
[0083] 信頼接続を更に攻撃者による漏洩または改竄から保護するために、認証トークン管理コンポーネント174は、1つ以上のセキュア通信プロトコル(例えば、ハイパーテキスト・トランスファー・プロトコル・セキュア(HTTPS))を利用して、暗号化接続を確立することもできる。このように、1つ以上のサービス・アカウントの1つ以上の認証トークンを管理するために、認証トークン管理アプリケーション172と1つ以上のクライアント・デバイス104−bとの間に安全な接続(例えば、信頼および暗号化接続)を確立することができる。
[0084] 一旦認証トークン管理アプリケーション172と1つ以上のクライアント・デバイス104−bの各クライアント・デバイスとの間に安全な接続が確立されたなら、認証トークン管理コンポーネント174は、クライアントのクライアント・アカウントに関連付けられた1つ以上のサービス・アカウントのサービス・アカウント情報を求める1つ以上の要求を、クライアント102−aからクライアント・デバイス104−bを通じて、それぞれの安全な接続を介して受けるように構成することができる。認証トークン管理コンポーネント174は、少なくとも部分的にクライアント・アカウント情報(例えば、クライアント・アカウント識別子、クライアント・アカウントUPN等)に基づいて、受けた1つ以上の要求に応答して、1つ以上のサービス・アカウントについてのサービス・アカウント情報を、認証トークン・プロキシー・コンポーネント178を介して要求し引き出すように構成することができる。
[0085] 一旦1つ以上のサービス・アカウントについてのサービス・アカウント情報が認証トークン・プロキシー・コンポーネント178を介して引き出されたなら、認証トークン管理コンポーネント174は、1つ以上のクライアント102−aへの表示のために1つ以上のサービス・アカウントについてのサービス・アカウント情報を1つ以上のクライアント・デバイス104−bに提供する、および/または1つ以上のクライアント102−bが1つ以上の認証トークンを生成することを可能にするように構成することができる。加えてまたは代わりに、認証トークン管理コンポーネント174は、1つ以上のクライアント・デバイス104−aおよび/またはクライアント102−aに関連付けられたセキュリティ・トークンを受けたことに応答して、少なくとも部分的にクライアント・アカウント情報に基づいて、1つ以上のサービス・アカウントを自動的に引き出して供給するように構成することもできる。
[0086] 1つ以上のクライアント・デバイス104−bに供給された1つ以上のサービス・アカウントについてのサービス・アカウント情報に基づいて、1つ以上のクライアント・デバイス104−bは、1つ以上のサービス・アカウントのために1つ以上の認証トークンを生成することを要求する1つ以上のクライアント102−aの入力(例えば、キーボード入力、マウス入力、タッチ入力等)を受けるように構成することができる。更に、認証トークン管理コンポーネント174は、1つ以上の認証トークンを生成する1つ以上の要求を、1つ以上のクライアント102−aから1つ以上のクライアント・デバイス104−bを通じて受けるように構成することもできる。尚、認証トークンを生成することの要求は各々、トークン要求情報と関連付けられるとよいことは認められよう。トークン要求情報は、サービス・アカウント識別子、サービス・アカウントUPN、および/またはサービス・アカウントを識別するための任意の他の情報というような、サービス・アカウント情報を含むことができるが、これらに限定されるのではない。
[0087] 加えて、認証トークンの生成のセキュリティを更に確保するために、認証トークン管理コンポーネント174は、更に、クライアントがそれらのクライアント・アカウントに関連付けられたサービス・アカウントのためにのみ認証トークンを生成できることに限定されることが可能となるように、認証トークンを生成することが要求されたサービス・アカウントがクライアント・アカウントと関連付けられているか否か判定することによって、サービス・アカウントのために認証トークンを生成する要求およびトークン要求情報の有効性を判断するように構成することもできる。更に、認証トークン管理コンポーネント174は、認証トークン管理コンポーネント174が、認証トークンを生成することが要求されたサービス・アカウントがクライアント・アカウントと関連付けられていないと判定したとき、サービス・アカウントのために認証トークンを生成するあらゆる要求を拒否するように構成することができる。
[0088] 更に、サービス・アカウント存続期限情報によって示される少なくとも限定存続期限に随意に関連付けることができるサービス・アカウントに対して、生成された認証トークンは、サービス・アカウントがイネーブルされ続けるまたはアクティブであり続けるのと同じ期間だけ有効である(live)、即ち、存続できることも認めることができよう。つまり、先に論じたように、サービス・アカウントの存続期間の終了時に、即ち、サービス・アカウントの存続期間が終了しサービス・アカウントがディスエーブルされるとき、認証トークン管理コンポーネント174は、このaサービス・アカウントに関連付けられたいずれのアクティブなトークン(例えば、アクセス・トークン)も失効できるように、失効したサービス・アカウントの認証トークンをリセットする要求を少なくとも1回(または2回以上)受けるように構成することができる。尚、認証トークンをリセットする各要求が、トークン・リセット情報と関連付けられるとよいことは認めることができよう。トークン・リセット情報は、サービス・アカウント識別子、サービス・アカウントUPN、および/またはサービス・アカウントのための認証トークンのリセットが望まれる失効サービス・アカウントを識別するための任意の他の情報というようなサービス・アカウント情報を含むことができるが、これらに限定されるのではない。
[0089] 種々の実施形態において、認証トークン管理アプリケーション172は、認証トークン生成コンポーネント176を含むことができる。認証トークン生成コンポーネント176は、大まかには、1つ以上の認証トークンを生成する要求の有効性が認証トークン管理コンポーネント174によって判断された後に、様々な複雑さの1つ以上の認証トークンを1つ以上のサービス・アカウントのために生成するように構成することができる。加えてまたは代わりに、認証トークン生成コンポーネント176は、更に、1つ以上のサービス・アカウントのための認証トークンをリセットする要求に応答して、サービス・アカウントのための1つ以上の認証トークンを生成するように構成することもできる。更に、認証トークン生成コンポーネント176は、認証トークン・プロキシー・コンポーネント178を介して、1つ以上のサービス・アカウントのために生成された認証トークンを更新または設定するように構成することができる。
[0090] 安全に認証トークンを生成するために、認証トークン生成コンポーネント176は、1つ以上のセキュア・ハードウェアおよび/またはソフトウェア・コンポーネント(例えば、信頼プラットフォーム・モジュール(TPM)、MICROSOFT.NET Framework LibraryのSystem.Web.Security.Membership等)を利用することによって、認証トークンを生成するように構成することができる。更に、認証トークン生成コンポーネント176によって生成された認証トークンは、例えば、1つ以上のセキュア・ハードウェアおよび/またはソフトウェア・コンポーネントによって実現される1つ以上の暗号的に安全な乱数発生器および/またはハッシュ関数を利用する1つ以上のフォーマット(例えば、ユニバーサル・キャラクター・セット(UCS)変換フォーマット−8ビット(UTF−8)、UTF−16ビット(UTF−16)、基本ストリングまたは二進ストリング(BSTR)、C−ストリング等)でエンコードされたランダム・データー(例えば、ランダム・バイト等)および/またはランダム・キャラクター・ストリングを含むことができる。加えて、認証トークン生成コンポーネント176は、少なくとも長さ/サイズ・パラメーターおよび/またはキャラクター・クラス・パラメーターに基づいて認証トークンを生成することもできる。
[0091] 認証トークンが平文ランダム・パスワード、パスコード、パスフレーズ、PIN等を含むことができる実施形態では、長さ/サイズ・パラメーターが、認証トークン生成コンポーネント176によって生成される最小長(例えば、25キャラクター)を指定することができる。あるいは、長さパラメーターは、認証トークン生成コンポーネント176が、範囲の下限および上限以内に入る可変長の平文ランダム・パスワードを生成できるように、範囲(例えば、25から30キャラクターの間)を指定することもできる。平文ランダム・パスワードのセキュリティを更に確保するために、生成されたランダム・パスワードを1人以上の人間のクライアント102−aが正確に記憶するとき、および/または通常の手段および/または媒体(例えば、手書きのメモ、口頭伝達等)によって伝達するときに著しい困難に直面するとよいように、長さパラメーターは、長さが数百または数千ものキャラクターで平文ランダム・パスワードを生成することを指定するように構成することもできる。
[0092] 認証トークンが平文ランダム・パスワード、パスコード、パスフレーズ、PIN等を含むことができる実施形態では、認証トークン生成コンポーネント176が1つ以上の特定のキャラクター・クラスの少なくとも1つのキャラクターを含む認証トークンを生成できるように、キャラクター・クラス・パラメーターを使用してキャラクター・クラスの1つ以上の組み合わせを指定することもできる。典型的なキャラクター・クラスには、小文字(例えば、aからzまで)、大文字(例えば、AからZまで)、記号(例えば、"’~!@#$%Λ&*()[]{};:'",.?//*-+")、数値(例えば、数値0から9まで)、または1つ以上のフォーマット(例えば、UTF−8、UTF−16等)で定めることができる任意の他のキャラクター・クラスを含むことができるが、これらに限定されるのではない。
[0093] 認証トークンが平文ランダム・パスワード、パスコード、パスフレーズ、PIN等を含むことができる実施形態では、認証トークン生成コンポーネント176は、更に、1つ以上のサービス・アカウントに関連付けられた言語および/またはロカール情報には関係なく標準的な入力デバイス(例えば、標準的な104キーのキーボード)を使用することによって認証トークンの入力を容易にするために、標準的な入力デバイス上に含まれる1つ以上のキャラクター・クラスを含む認証トークンを生成するように構成することもできる。一旦認証トークンが生成されたなら、認証トークン生成コンポーネント176は、少なくとも部分的にプロキシー認証情報(例えば、認証トークン・プロキシー・コンポーネント178とトークン管理プロキシー・アプリケーション192との間における共有シークレット・ディジタル証明書、および共有シークレット・ディジタル証明書のディジタル指紋または親指の指紋)に基づいて、認証トークン・プロキシー・コンポーネント178を介して1つ以上のサービス・アカウントのための認証トークンを更新または設定するように構成することができる。
[0094] 生成された各認証トークンが一意であり、異なるサービス・アカウントのために再利用されないことを確実にするために、認証トークン生成コンポーネント176は、更に、1つ以上の以前に生成され使用された認証トークンのダイジェストまたはハッシュを認証トークン衝突データーストア(authentication token collision datastore)(図示せず)に格納するように構成することができる。つまり、例示の一実施態様では、認証トークン生成コンポーネント176は、認証トークンを生成し、生成した認証トークンのハッシュまたはダイジェストを決定または計算し、以前に生成された認証トークンが既に使用および/または生成されているか否か判定するために、ハッシュまたはダイジェストを比較することによって、新たに生成した認証トークンを検索するまたは認証トークン衝突データーストアに格納されているものと照合するように構成することができる。一致が発見されない場合、認証トークン生成コンポーネント176は新たに生成した認証トークンのハッシュまたはダイジェストを認証トークン衝突データーストアに格納することができ、新たに生成された認証トークンは、サービス・アカウントを更新するために使用することができる。一致が発見された場合、認証トークン生成コンポーネント176は、次に、新たな認証トークンを生成すればよく、以上のプロセスは、一意の認証トークンが生成されるまで繰り返される。
[0095] 尚、一旦認証トークンが生成され、その生成された認証トークンがサービス・アカウントのための認証トークンを更新または設定するために利用されたなら、この生成された認証トークンは、一旦失われたなら、1つ以上のクライアント102−aのために復元されてはならないことは認めることができよう。つまり、ある実施形態では、認証トークン生成コンポーネント176によって生成された各認証トークンは、復元不可能、不変、および/または一意の認証トークンであってもよい。実施形態はこの文脈において限定されるのではない。
[0096] 更に、認証トークンの生成の安全を確保し監視できるように、認証トークンの生成が集中位置、即ち、認証トークン管理アプリケーション170内で実行できるように、認証トークン生成コンポーネント176が、認証トークン管理システム100における唯一の認証トークン生成のためのコンポーネントであるように構成されてもよいことも認めることができよう。
[0097] 種々の実施形態において、認証トークン管理コンポーネント172は、認証トークン・プロキシー・コンポーネント178を含むことができる。認証トークン・プロキシー・コンポーネント178は、大まかには、プロキシー認証情報を格納し、1つ以上のセキュア通信プロトコル(例えば、HTTPS)およびプロキシー認証情報を利用して、ネットワーク相互接続112を介してサーバー・デバイス190上で実行するトークン管理プロキシー・アプリケーション192との少なくとも暗号化接続を確立するように構成することができる。更に、少なくとも暗号化接続の確立を可能にするために、データーセンター142に内蔵されたトークン管理プロキシー・アプリケーション192は、認証トークン・プロキシー・コンポ178がトークン管理プロキシー・アプリケーションと接続し、少なくとも暗号化接続を確立できるように、公開エンドポイントを露出(expose)または実装することができる。
[0098] 種々の実施形態において、認証トークン・プロキシー・コンポーネント178は、更に、確立された暗号化接続を介して、トークン管理プロキシー・アプリケーション192を管理しこれと通信するように構成することができる。また、認証トークン・プロキシー・コンポーネント178は、ネットワーク相互接続112を介してトークン管理プロキシー・アプリケーション192と通信することによって、1つ以上のサービス・アカウントのサービス・アカウント情報を引き出すように構成することもできる。また、認証トークン・プロキシー・コンポーネント178は、1つ以上のサービス・アカウントのサービス・アカウント情報をトークン管理プロキシー・アプリケーション192から、確立された暗号化接続を介して、受けるように構成することもできる。更に、認証トークン・プロキシー・コンポーネント178は、確立された暗号化接続を介してトークン管理プロキシー・アプリケーション192と通信することによって、1つ以上のサービス・アカウントの生成された認証トークンを更新または設定することを要求するように構成することもできる。
[0099] 1つ以上のクライアント102−aに関連付けられた1つ以上のサービス・アカウントを引き出すために、認証トークン・プロキシー・コンポーネント178は、少なくともクライアント・アカウント情報(例えば、クライアント・アカウント識別子、クライアント・アカウントUPN等)と、確立された暗号化接続を介して認証トークン・プロキシー・コンポーネント178によって格納されたプロキシー認証情報の一部(例えば、共有シークレット・ディジタル証明書のディジタル指紋または親指の指紋)と、を提供することによって、トークン管理プロキシー・アプリケーション192に、1つ以上のサービス・アカウントについてのサービス・アカウント情報を要求することができる。この要求に応答して、認証トークン・プロキシー・コンポーネント178は、1つ以上のクライアント102−aに関連付けられた1つ以上のサービス・アカウントの、要求したサービス・アカウント情報を、確立された暗号化接続を介して受けることもできる。
[00100] 1つ以上のクライアント102−aに関連付けられた1つ以上のサービス・アカウントのための認証トークンを更新または設定するために、認証トークン・プロキシー・コンポーネント178は、少なくともサービス・アカウント情報(例えば、サービス・アカウント識別子、サービス・アカウントUPN等)、生成した認証トークン、およびプロキシー認証情報の一部(例えば、共有シークレット・ディジタル証明書のディジタル指紋または親指の指紋)を、確立された暗号化接続を介して提供することによって、1つ以上のサービス・アカウントの、生成された認証トークンを更新または設定することを要求するように構成することができる。
[00101] 生成された認証トークンが後の時点において1つ以上のクライアント102−aによってサービス・アカウントを使用して更新されるまたは変更されることができないこと、または復元可能になれないことを確保するために、認証トークン・プロキシー・コンポーネント178は、トークン管理プロキシー・アプリケーション192によって、確立された暗号化接続を介して、生成された認証トークンを復元不可能および/または不変の認証トークンとして(少なくとも1つ以上のサービス・アカウントに関して)更新または設定することを要求するように構成することができる。
[00102] 1つ以上のサービス・アカウントのための1つ以上の認証トークンをリセットするために、認証トークン・プロキシー・コンポーネント178は、少なくともサービス・アカウント情報(例えば、サービス・アカウント識別子、サービス・アカウントUPN等)、生成された認証トークン、およびプロキシー認証情報(例えば、共有シークレット・ディジタル証明書のディジタル指紋または親指の指紋)を、確立された暗号化接続を介して供給することによって、1つ以上のサービス・アカウントの認証トークンを更新または設定することを要求するように構成することができる。
[00103] 種々の実施形態において、認証トークン管理コンポーネント172は、更に、認証トークン通知コンポーネント180を含むことができる。認証トークン通知コンポーネント180は、大まかには、生成された認証トークンを1つ以上のクライアント102−aに、認証トークン管理コンポーネント172と1つ以上のクライアント・デバイス104−bとの間に以前に確立された安全な接続を介して、供給するように構成することができる。
[00104] 一実施形態では、認証トークン通知コンポーネント180は、以前に確立された安全な接続を介して、少なくとも生成された認証トークンを1つ以上のクライアント・デバイス104−bに、隠れエレメントまたは不可視エレメントとして供給し、1つ以上のクライアント・デバイス104−bがプログラム的に認証トークンにアクセスする(例えば、プログラム的クリップボード・アクセスおよび/または文書オブジェクト・モデル(DOM)アクセス)ことを可能にするように構成することができる。任意に、認証トークン通知コンポーネント180は、認証トークンに関連付けられたサービス・アカウント識別子またはサービス・アカウントUPNを、プログラム的アクセスのための隠れエレメントまたは不可視エレメントとして供給するように構成することもできる。
[00105] 加えてまたは代わりに、認証トークン通知コンポーネント180は、認証トークンを明示することのクライアント102−aによる要求(demand)に応答して、生成された認証トークンを、クライアント・デバイス104−b上で明示できるエレメントとして供給するように構成することもできる。任意に、認証トークン通知コンポーネント180は、更に、認証トークンを明示することのクライアント102−aによる要求(demand)に応答して、サービス・アカウント識別子および/またはサービス・アカウントUPN、ならびに生成された認証トークンを表示することができ、1つ以上のクライアント102−aに同時に見ることができるように、認証トークンに関連付けられたサービス・アカウント識別子またはサービス・アカウントUPNを、クライアント・デバイス104−b上において明示できる可視エレメントとして供給するように構成することもできる。
[00106] 一旦1つ以上のクライアント・デバイス104−bが認証トークンを受けたなら、クライアント・デバイス104−bは、自動的そして安全に、サービス・アカウント識別子および/またはサービス・アカウントUPN、ならびに関連する認証トークンを、認証トークン・データーストア166(例えば、パスワード・セーフ)に、1つ以上の暗号アルゴリズム(例えば、Twofish対称鍵ブロック暗号)を利用した暗号化フォーマットで格納することができる。尚、1つ以上のクライアント・デバイス104−bが、認証トークン通知コンポーネント180によって供給された生成認証トークンを受けた後に、認証トークンが1つ以上のクライアント102−aによって、例えば、認証トークン・データーストア166またはその他の場所(例えば、可能であれば、手書き)に格納されなかったなら、生成された認証トークンは、後の時点においてアクセス可能、視認可能、または復元可能にならない場合もあることは認めることができよう。一旦格納されたなら、1つ以上のクライアント102−aは、次いで、1つ以上のリソースおよび/またはアセット(例えば、サービス・デバイス140−i−j)にアクセスするために、格納されたサービス・アカウント識別子および/またはサービス・アカウントUPN、ならびに関連する認証トークンを引き出すことができる。
[00107] 尚、認証トークンが、1つ以上のサービス・アカウントのための認証トークンをリセットする要求に応答して生成された場合、認証トークン通知コンポーネント180が、生成された認証トークンをクライアント102−aにクライアント・デバイス104−bによってそれぞれの安全な接続を介して供給しないように構成されるとよいことは認めることができよう。
[00108] 更に、admin管理アプリケーション114を利用して、1つ以上のプロビジョニングされたサービス・アカウントのために認証トークンを生成するために認証トークン管理アプリケーション172と共に1つ以上のサービス・アカウントを供給することによって、ある実施形態では、データーセンター142における1つ以上のSaaSシステムにおける各サービス・アカウントは、機械生成認証トークンと置き換えられても、または機械生成認証トークンを利用してもよいことも認めることができよう。
[00109] 例示として、「エレン・アダムス」という名前および "EllenAdams@contoso.com"というクライアント・アカウントUPNを有するクライアント102−2が、4時間の要求存続期間でサーバー・デバイス140−1−1を遠方からデバッグするためにサービス・アカウントを要求したと仮定する。このサービス・アカウントを求める要求に応答して、admin管理アプリケーション114は、サービス・アカウントUPN "EllenAdams_RemoteDebugger@domainl36-l.contoso.com"を有するサービス・アカウントをプロビジョニングし、認証トークン管理アプリケーション172に対するこのサービス・アカウントUPNおよび https://AuthenticationTokenManagementFrontEnd"または "https://AuthenticationTokenManagementFrontEnd.contoso.com"というURLを、クライアント・デバイス104−2をクライアント102−2に通じて通知した。次いで、クライアント102−2は、クライアント・デバイス104−2上で実行するクライアント・アプリケーション(例えば、ウェブ・ブラウザー)を介して、少なくとも暗号化接続を介して、認証管理アプリケーション172にアクセスすることを要求する。
[00110] 以上の例示を続けると、そして認証管理アプリケーション172にアクセスする要求に応答して、認証トークン管理コンポーネント174は、最初に、安全な接続(例えば、信頼および暗号化接続)を確立するために、クライアント・アカウントUPN(例えば、"EllenAdams@contoso.com")とクライアント・アカウント・パスワードとに基づいて、認証トークン管理コンポーネント172にアクセスするクライアント102−2を認証することができる。あるいは、認証トークン管理コンポーネント174は、二要素認証(例えば、スマート・カードおよび関連するPIN)と受けたセキュリティ・トークンとに基づいて、安全な接続を確立するために、クライアント102−2を認証することができる。一旦認証されたなら、クライアント102−2は、確立された安全な接続を介して、クライアント・デバイス104−2(例えば、非同期ジャヴァスクリプト(AJAX)POST)によって、クライアント・アカウントUPN "EllenAdams@contoso.com"に関連付けられた1つ以上のサービス・アカウントを要求することができる。
[00111] 以上の例示を更に続けると、そして1つ以上のサービス・アカウントを求める要求に応答して、または自動的にクライアント102−2の認証成功に基づいて、認証トークン管理コンポーネント174、次に、認証トークン・プロキシー・コンポーネント178を介して、クライアント・アカウントUPN "EllenAdams@contoso.com"に関連付けられた1つ以上のサービス・アカウントのサービス・アカウント情報を要求することができる。更に、認証トークン・プロキシー・コンポーネント178は、次に、データーセンター142に収容されているトークン管理プロキシー・アプリケーション192によって露出された公開エンドポイントと比較して(against)サービス・アカウント情報を引き出す要求(例えば、リモートパワーシェル(PowerShell)コマンド)を発行することができる。この要求は、クライアント・アカウントUPN "EllenAdams@contoso.com"と、共有シークレット・ディジタル証明書のディジタル指紋または親指の指紋のような、プロキシー認証情報の一部とを含むことができるが、これらに限定されるのではない。認証トークン管理コンポーネント174は、次いで、1つ以上のサービス・アカウントについてのサービス・アカウント情報を受けることができる。サービス・アカウント情報は、"EllenAdams_RemoteDebugger@domainl36-l.contoso.com"というサービス・アカウントUPNを有する、以前にプロビジョニングされたサービス・アカウントについてのサービス・アカウント情報を含むことができるが、これに限定されるのではない。
[00112] 以上の例示を更に続けると、認証トークン管理コンポーネント174は、次いで、クライアント102−2に関連付けられた、受領サービス・アカウント情報を、例えば、ウェブ・ブラウザーにおけるウェブ・ページのような、クライアント・デバイス104−2のクライアント・アプリケーションに供給することができる。クライアント・デバイス104−2のクライアント・アプリケーションに供給される1つ以上のサービス・アカウントについてのサービス・アカウント情報の実施形態例を図2に示す。サービス・アカウント情報に応答して、クライアント102−2は、クライアント・デバイス104−2(例えば、AJAX POST)を通じて、サービス・アカウント識別子またはサービス・アカウントUPNによって識別されたサービス・アカウントのために認証トークンを生成することを要求することができる。
[00113] 以上の例示を更に続けると、そして認証トークンを生成する要求に応答して、認証トークン生成コンポーネント176は、典型的な平文ランダム・パスワードが "Xe2&a^%5"を含むように、長さパラメーター(例えば、8文字)およびキャラクター・クラス・パラメーター(例えば、a〜z、A〜Z、0〜9、および記号)に基づいて、例えば、一意の平文ランダム・パスワードを生成することができる。尚、実際には、典型的な平文ランダム・パスワードのような、生成される認証トークンは、遙かに多い文字(例えば、長さが25〜30文字、または100から10,000文字ですら)を含むこともあり、そして遙かに複雑であることもあるので、この典型的な平文ランダム・パスワードは、理解の目的に限って示されたということは認めることができよう。
[00114] 以上の例を更に続けると、例えば、典型的な平文ランダム・パスワードのような認証トークンが生成された後、認証トークン生成コンポーネント176は、認証トークン・プロキシー・コンポーネント178を介して、認証トークンを典型的な平文ランダム・パスワード "Xe2&a^%5"に更新または設定する要求を発行することができる。更に、認証トークン・プロキシー・コンポーネント178は、次いで、データーセンター142内に収容されているトークン管理プロキシー・アプリケーション192によって露出された公開エンドポイントと比較して、認証トークンを更新または設定する要求(例えば、リモート・パワーシェル・コマンド)を発行することができる。この要求は、サービス・アカウントUPN "EllenAdams_RemoteDebugger@domainl36-l.contoso.com"、典型的な平文ランダム・パスワード "Xe2&a^%5"、および共有シークレット・ディジタル証明書のディジタル指紋または親指の指紋のような、プロキシー認証情報の一部を含むことができるが、これらに限定されるのではない。
[00115] 以上の例示を更に続けると、認証トークンがサービス・アカウントのために更新または設定された後、認証トークン通知コンポーネント180は、クライアント102−2にクライアント・デバイス104−2を通じて、確立された安全な接続(例えば、HTTPSを利用した信頼および暗号化接続)を介して、少なくとも典型的な平文ランダム・パスワード "Xe2&a^%5"(例えば、ジャヴァスクリプト・オブジェクト・ノテーション(JSON)アレイに格納された)を、クライアント・デバイス104−2のウェブ・ブラウザー上のウェブ・ページにおける隠れたdiv(hidden div)として通知および/または供給することができる。任意に、隠れたdivは、サービス・アカウントUPN "EllenAdams_RemoteDebugger@domainl36-l.contoso.com"も含むことができる。
[00116] 以上の例示を更に続けると、認証トークン通知コンポーネント180が、クライアント102−2に、典型的な平文ランダム・パスワードおよび/またはサービス・アカウントUPNを通知および/または供給した後、クライアント102−2は、次いで、クライアント・デバイス104−2のクリップボードを通じて、典型的な平文ランダム・パスワード "Xe2&a^%5"および/またはサービス・アカウントUPNにアクセスし、典型的な平文ランダム・パスワード "Xe2&a^%5"および/またはサービス・アカウントUPN "EllenAdams_RemoteDebugger@domainl36-l.contoso.com"を、例えば、パスワード・セーフのようなクライアント・デバイス104−2に通信可能に結合されている認証トークン・データーストア166に格納することができる。加えてまたは代わりに、典型的な平文ランダム・パスワードおよび/またはサービス・アカウントUPNは、典型的な平文ランダム・パスワードを明示するクライアント102−2による要求(demand)(即ち、「要求に応じた明示」)に応答して、クライアント・デバイス104−2上で明示されることが可能なエレメントとして提示されてもよい。加えてまたは代わりに、クライアント・デバイス104−2上でウェブ・ブラウザーと関連付けられたプラグイン・コンポーネントが、DOMオブジェクトを介して、典型的な平文ランダム・パスワード "Xe2&a^%5"および/またはサービス・アカウントUPN "EllenAdams_RemoteDebugger@domainl36-l.contoso.com"に自動的にアクセスし、典型的な平文ランダム・パスワードおよび/またはサービス・アカウントUPNを、クライアント102−2からの入力が全くなくても、認証トークン・データーストア166に自動的に格納するように構成することもできる。
[00117] 以上の例示を更に続けると、典型的な平文ランダム・パスワードおよび/またはサービス・アカウントUPNがクライアント102−2にクライアント・デバイス104−2を通じて、確立された安全接続を介して供給された後に、クライアント102−2は、次いで、サービス・アカウントUPN "EllenAdams_RemoteDebugger@domainl36-l.contoso.com"によって識別された、プロビジョニングされたサービス・アカウントを、典型的な平文ランダム・パスワード "Xe2&a^%5"と共に利用して、4時間のサービス・アカウント存続期間内で、データーセンター142におけるサーバー・デバイス140−1−1にアクセスし遠方からデバッグする(例えば、リモート・デスクトップ・プロトコル(RDP)を使用して)ことができる。
[00118] 種々の実施形態において、認証トークン管理システム100のデーターセンター142は、サーバー・デバイス190を含むことができる。サーバー・デバイス190は、大まかには、アプリケーションの中でもとりわけ、トークン管理プロキシー・アプリケーション192を実行するように構成することができる。トークン管理プロキシー・アプリケーション192は、1つ以上のサービス・アカウントのサービス・アカウント情報を引き出し、および/または1つ以上のサービス・アカウントのための1つ以上の認証トークンを更新または設定するために、データーセンター142および/またはネットワーク相互接続112における1つ以上のネットワークを介して、1つ以上のディレクトリー・サービス・サーバー・デバイス130−lに通信可能に結合することができる。
[00119] トークン管理プロキシー・アプリケーション192は、大まかには、認証トークン管理アプリケーション172が、認証トークン管理アプリケーション172とトークン管理プロキシー・アプリケーション192との間に少なくとも暗号化接続(例えば、HTTPSプロトコルを利用する暗号化接続)を接続し確立することを可能にするために、データーセンター142における公開エンドポイントを露出(expose)または実装する(implement)ように構成することができる。トークン管理プロキシー・アプリケーション192は、少なくとも暗号化接続を確立するために利用することができるプロキシー認証情報を格納するように構成することができる。トークン管理プロキシー・アプリケーション192は、更に、サービス・アカウント情報を求める要求を受け、サービス・アカウント情報を引き出し、そして1つ以上のサービス・アカウントのための認証トークンを更新または設定するように構成することができる。
[00120] 種々の実施形態において、トークン管理プロキシー・アプリケーション192はサービス・アカウント引き出しコンポーネント194を含むことができる。サービス・アカウント引き出しコンポーネント194は、大まかには、認証トークン・プロキシー・コンポーネント178からのサービス・アカウント情報を求める要求を、確立された暗号化接続を介して受け、サービス・アカウント情報を1つ以上のディレクトリー・サービス・サーバー・デバイス130−lの1つ以上のディレクトリー・サービス・アプリケーションから引き出し、引き出したサービス・アカウント情報を認証トークン・プロキシー・コンポーネント178に、確立された暗号化接続を介して、提供するように構成することができる。
[00121] 一実施形態では、サービス・アカウント引き出しコンポーネント194は、クライアント・アカウントに関連付けられたサービス・アカウント情報を引き出す要求を受けるように構成することができる。各要求は、少なくともクライアント・アカウント情報(例えば、クライアント・アカウント識別子、クライアント・アカウントUPN等)と、プロキシー認証情報の一部(例えば、共有シークレット・ディジタル証明書のディジタル指紋または親指の指紋)とを含むことができる。サービス・アカウント情報を求める要求を受けたことに応答して、サービス・アカウント引き出しコンポーネント194は、受けたプロキシー認証情報の一部に基づいて、受けた要求を許可するように構成することができる。
[00122] 一旦要求が許可されたなら、サービス・アカウント引き出しコンポーネント194は、更に、クライアント・アカウント識別子またはクライアント・アカウントUPNによって識別されたクライアント・アカウントに関連付けられた1つ以上のサービス・アカウントについてのサービス・アカウント情報を引き出すために、ネットワーク相互接続112と、1つ以上のディレクトリー・サービス・サーバー・デバイス130−lのディレクトリー・サービス・アプリケーション(図示せず)の1つ以上のAPIと、を介して通信するように構成することができる。一旦サービス・アカウント情報が引き出されたら、サービス・アカウント引き出しコンポーネント194は、1つ以上のサービス・アカウントについての引き出したサービス・アカウント情報を、認証プロキシー・コンポーネント178に、確立された暗号化接続を介して、提供するように構成することができる。
[00123] 種々の実施形態において、トークン管理プロキシー・アプリケーション192は、更に、認証トークン更新コンポーネント196を含むことができる。認証トークン更新コンポーネント196は、大まかには、更新要求を受け、サービス・アカウントに関連付けられた1つ以上の認証トークンを更新または設定するように構成することができる。
[00124] 一実施形態では、認証トークン更新コンポーネント196は、更新要求を受け、1つ以上のサービス・アカウントのための認証トークンを更新または設定するように構成することができる。各要求は、少なくともサービス・アカウント情報(例えば、サービス・アカウント識別子、サービス・アカウントUPN等)、サービス・アカウントのために生成され更新または設定するための認証トークン、およびプロキシー認証情報の一部(例えば、共有シークレット・ディジタル証明書のディジタル指紋または親指の指紋)を含むことができる。サービス・アカウントのための認証トークンを更新する要求を受けたことに応答して、認証トークン更新コンポーネント196は、受けたプロキシー認証情報の一部に基づいて、受けた要求を許可するように構成することができる。
[00125] 一旦要求が許可されたなら、認証トークン更新コンポーネント196は、少なくとも部分的に、サービス・アカウントに関連付けられたサービス・アカウント情報に含まれるディレクトリー・サービス情報に基づいて、サービス・アカウントを管理する該当のディレクトリー・サービス・サーバー・デバイス(例えば、サービス・アカウントに関連付けられたディレクトリー・サービス・サーバー・デバイス)を識別するように構成することができる。尚、ディレクトリー・サービス情報を含むサービス・アカウント情報は、要求において認証トークン管理コンポーネント174によって提供されてもよいことは認めることができよう。
[00126] 一旦ディレクトリー・サービス・サーバー・デバイスが識別されたなら、認証トークン更新コンポーネント196は、更に、サービス・アカウント識別子またはサービス・アカウントUPNによって識別されたサービス・アカウントのための認証トークンを、生成され受けた認証トークンによって更新または設定するために、ネットワーク相互接続112と、識別されたディレクトリー・サービス・サーバー・デバイスのディレクトリー・サービス・アプリケーション(図示せず)の1つ以上のAPIと、を介して通信するように構成することができる。
[00127] 認証トークンが使用可能な形態で復元不可能であることを確実にするために、ある実施形態では、ディレクトリー・サービス・サーバー・デバイスが漏洩されても、元の認証トークンは攻撃者によって復元可能にはできないように、識別されたディレクトリー・サービス・サーバー・デバイスは、生成されたトークンまたは生成された認証トークンのソルトされたバージョンの暗号一方向ハッシュだけを格納することもできる。
[00128] 尚、不変の認証トークンが望まれる実施態様では、認証トークン更新コンポーネント196は、更に、1つ以上のサービス・アカウントが1つ以上のサービス・アカウントに関連付けられた認証トークを更新するために必要なアクセス許可(1つまたは複数)を有することができないように、サービス・アカウントのために生成され受けた認証トークンを不変の認証トークとして(少なくとも1つ以上のサービス・アカウントに関して)更新または設定するために、ネットワーク相互接続112と、識別されたディレクトリー・サービス・サーバー・デバイスのディレクトリー・サービス・アプリケーション(図示せず)の1つ以上のAPIと、を介して通信するように構成することができる。
[00129] 以上の実施態様の例示の非限定的な実施態様では、トークン管理プロキシー・アプリケーション192は、サーバー・デバイス190上に格納されたサービス・アカウント引き出しシェル・スクリプト(例えば、MICROSOFT GetAccountsForUser.ps1パワーシェル・スクリプト)および認証トークン更新シェル・スクリプト(例えば、MICROSOFT ResetPassword.ps1パワーシェル・スクリプト)によって実装することもできる。加えて、サービス・デバイス190は、サービス・アカウント引き出しシェル・スクリプトおよび認証トークン更新シェル・スクリプトを実行するように構成されたアクセス許可を有するプロキシー・アカウントを含んでもよい。
[00130] 以上の例示の非限定的な実施態様を続けると、サービス・アカウントを引き出す要求に応答して、トークン管理プロキシー・アプリケーション192は、プロキシー認証情報を含む共有ディジタル証明書の受領(received)ディジタル指紋または親指の指紋に基づいて、プロキシー・アカウントを識別するように構成することができる。プロキシー認証情報は、サーバー・デバイス190とサーバー・デバイス170との間で共有される共有シークレット・ディジタル証明書にマッピングすることができ、更に、共有シークレット・ディジタル証明書はプロキシー・アカウントにマッピングされる。次いで、トークン管理プロキシー・アプリケーション192は、アカウント識別子またはサービス・アカウントUPNの入力パラメーターと、共有シークレット・ディジタル証明書および/または識別されたプロキシー・アカウントに基づく実行ポリシーとによって、1つ以上のディレクトリー・サービス・サーバー・デバイス130−lから1つ以上のサービス・アカウントを引き出すように構成されたサービス・アカウント引き出しシェル・スクリプトを実行することができる。
[00131] 以上の例示の非限定的な実施態様を更に続けると、サービス・アカウントのための認証トークンを更新または設定する要求に応答して、トークン管理プロキシー・アプリケーション192は、サービス・アカウントを引き出す要求に関して先に論じたのと同様に、プロキシー・アカウントを識別するように構成することができる。次いで、トークン管理プロキシー・アプリケーション192は、サービス・アカウント識別子の入力パラメーターと、更新または設定するためにサービス・アカウントに生成された認証トークン、ならびに共有シークレット・ディジタル証明書および/または識別されたプロキシー・アカウントに基づく実行ポリシーによって、1つ以上のディレクトリー・サービス・サーバー・デバイス130−lに関連付けられたまたはこれによって管理されるサーバー・アカウントの認証トークンを更新するように構成された認証トークン更新シェル・スクリプトを実行することができる。
[00132] 1つ以上のサービス・アカウントに関連付けられた認証トークンのセキュリティを更に確保するために、ある実施形態では、トークン管理プロキシー・アプリケーション192は、サービス・アカウント引き出しコンポーネント194および認証トークン更新コンポーネント196のみを含むように構成することができる。つまり、ある実施形態のある非限定的な実施態様例では、サービス・デバイス190のプロキシー・アカウントは、サービス・アカウント引き出しシェル・スクリプトおよび認証トークン更新シェル・スクリプトのみを実行するように構成することもできる。このように、クライアントは、サーバー・デバイス190および/またはトークン管理プロキシー・アプリケーション192上において2つの異なるアクションだけを実行できるように限定することができる。
[00133] 例示として、受けたクライアント・アカウント情報が、クライアント102−2が「エレン・アダムス」という名前および "EllenAdams@contoso.com"というクライアント・アカウントUPNを有し、4時間の要求存続期間でサーバー・デバイス140−1−1を遠方からデバッグするためにサービス・アカウントを以前に要求したことを示すと仮定する。加えて、サービス・アカウントを求める要求に応答して、admin管理アプリケーション114は、"EllenAdams_RemoteDebugger@domainl36-l.contoso.com"というサービス・アカウントUPN、リモート・ユーザーおよびデバッガーというサービス・アカウントの役割、および違反境界138−1−1というサービス・アカウントの範囲を有するサービス・アカウントをプロビジョニングした。更に、以上のサービス・アカウントのために認証トークンを生成する要求に応答して、認証トークン管理コンポーネント176は、"Xe2&a^%5"という典型的な平文ランダム・パスワードを生成した。
[00134] 以上の例示を続けると、認証トークン・プロキシー・コンポーネント178からのクライアント・アカウントUPN "EllenAdams@contoso.com"に関連付けられた1つ以上のサービス・アカウントを引き出す要求に応答して、サービス・アカウント引き出しコンポーネント194は、クライアント・アカウントUPN "EllenAdams@contoso.com"に関連付けられた1つ以上のサービス・アカウントを引き出し、サービス・アカウントUPN "EllenAdams_RemoteDebugger@domainl36-1.contoso.com"によって識別されたサービス・アカウントについてのサービス・アカウント情報を認証トークン・プロキシー・コンポーネント178に提供するために、ネットワーク相互接続112と、ディレクトリー・サービス・サーバー・デバイス130−lのディレクトリー・サービス・アプリケーション(図示せず)の1つ以上のAPIとを介して通信することができる。
[00135] 以上の例示を更に続けると、サービス・アカウントUPN "EllenAdams_RemoteDebugger@domainl36-1.contoso.com"によって識別されたサービス・アカウントのための認証トークンを、"Xe2&a^%5"という典型的な平文ランダム・パスワードによって更新または設定する要求に応答して、認証トークン更新コンポーネント196は、サービス・アカウント情報に含まれるディレクトリー・サービス情報に基づいて、ディレクトリー・サービス・サーバー・デバイス130−1を、以上のサービス・アカウントUPNによって識別されたサービス・アカウントに関連付けられたディレクトリー・サービス・サーバー・デバイスとして、またはこのサービス・アカウントを管理するディレクトリー・サービス・サーバー・デバイスとして識別することができる。一旦ディレクトリー・サービス・サーバー・デバイス130−lが識別されたら、認証トークン更新コンポーネント196は、以上のサービス・アカウントUPNによって識別されたサービス・アカウントのための認証トークンを、"Xe2&a^%5"という典型的な平文ランダム・パスワードに更新または設定するために、ネットワーク相互接続112と、ディレクトリー・サービス・サーバー・デバイス130−lのディレクトリー・サービス・アプリケーション(図示せず)の1つ以上のAPIとを介して通信することができる。ここで、クライアント102−2は、後に、サービス・アカウントUPN "EllenAdams_RemoteDebugger@domainl36-l.contoso.com"と、"Xe2&a^%5"という典型的な平文ランダム・パスワードを使用して、違反境界138−1−1におけるサーバー・デバイス140−1−1、140−1−2、140−1−3にアクセスすることができる。
[00136] 1つ以上のサービス・アカウントのための機械生成認証トークンの使用によって実現することができる少なくとも1つの技術的利点は、機械生成認証トークンは、人が作成するパスワードと比較すると遙かに複雑であり、従前からの暴力および何らかのソーシャル・エンジニアリングに基づく攻撃であっても、複雑な認証トークンの使用によって弱化させることができる。何故なら、これらのトークンは本来の手段および/または媒体(例えば、口頭伝達)によって正確に伝えることが難しいまたは不可能になると考えられるからである。更に、人が作成した全てのパスワードを、データーセンターにおける一部のまたは全部のサービス・アカウントに対してもランダムおよび/または一意である機械生成認証トークンと置き換えることによって、攻撃者が、例えば、共有認証トークンを使用することによって1つ以上のサービス・アカウントを漏洩させる能力は、更に弱化させることができる。1つ以上のアカウントを更に限定存続期間と関連付けることができる実施形態では、漏洩したサービス・アカウントを使用した攻撃者のアクセスは、更に限定される。何故なら、これらのサービス・アカウントは、これらがディスエーブルされる前には、限定された存続期間しか有することができないからである。このように、データーセンターにおけるSaaSシステムのセキュリティおよびプライバシーを大幅に改善することができる。
[00137] 図1に示す認証トークン管理システム100はある種のトポロジーではエレメント数が限定されていたが、認証トークン管理システム100は、代わりのトポロジーでは、所与の実施態様に合わせて望まれる通りに、もっと多いまたは少ないエレメントを含むこともできることは認めることができよう。同様に、種々の実施形態は、1つ以上のクライアント・デバイス104−b、サーバー・デバイス108、サーバー・デバイス106、サーバー・デバイス160、サーバー・デバイス170、サーバー・デバイス130−l、および1つ以上のフォーレスト132−kを内包する企業用計算環境150を示すことができるが、クライアントおよび/またはサーバー・デバイスの内少なくとも一部は、所与の実施態様に合わせて、企業用計算環境150の外部にあってもよいことは認めることができよう。更に、種々の実施形態はデーターセンター142を、サーバー・デバイス190、サーバー・デバイス130−l、および1つ以上のフォーレスト132−kを内包するように例示することができるが、データーセンター142は、更に、ある実施態様では、1つ以上のクライアント・デバイス104−b、サーバー・デバイス106、サーバー・デバイス108、サーバー・デバイス160、およびサーバー・デバイス170も内包するのでもよいことも認めることができよう。
[00138] 図2は、認証トークン管理システム100のためのユーザー・インターフェース・ビュー200の実施形態例を示す。1つ以上のクライアント・デバイス104−b上で実行するクライアント・アプリケーション202は、1つ以上のクライアント・デバイス104−bの電子ディスプレイ上での提示に適したユーザー・インターフェース・ビュー200を生成することができる。また、ユーザー・インターフェース・ビュー200は、クライアント102−a(例えば、クライアント102−2)が認証トークン管理システム100と相互作用することを可能にすることもできる。クライアント・アプリケーション202は、ユーザー・インターフェース・ビュー200において例示するように、クライアント・デバイス104−2のような1つ以上の電子デバイス上で実行するウェブ・ブラウザーに実装される単体ウェブ・アプリケーションとして実装することができる。ウェブ・ブラウザーは、限定ではなく、INTERNET EXPLORER(登録商標)、MOZILLRA(登録商標)、FIREFOX(登録商標)、SAFARI(登録商標)、OPERA(登録商標)、NETSCAPE NAVIGATOR(登録商標)等を含むことができる。また、ウェブ・ブラウザーは、コンピューター・プログラミング言語、規格、ウェブ・プロトコル、および/またはクライアント・アプリケーション202によって必要とされる技術もサポートすることができる。このようなプログラミング言語、規格、ウェブ・プロトコル、および/または技術には、HTML、XHTML、XML、FLASH(登録商標)/ActionScript、MICROMEDIA(登録商標)FLASH(登録商標)、JavaScript(登録商標)、ECMAScript、JScript、Basic、VISUAL BASIC(登録商標)、VISUAL BASIC(登録商標)Scripting Edition(VBScript)、CSS、Asynchronous JavaScriptおよびXML(AJAX)、FLEX(登録商標)、JAVA(登録商標)、PERL(登録商標)、C#/.net、および/または他の適したプログラミング、スクリプティング、またはVMベースの言語を含むことができるが、これらに限定されるのではない。
[00139] 種々の実施態様において、ウェブ・ブラウザーは、1つ以上のグラフィカル・ユーザー・インターフェース(GUI)コンポーネントを含むユーザー・インターフェース・ビュー200を、認証トークン管理アプリケーション172によってウェブ・ブラウザーに提供された情報および実行可能コンピューター・プログラム命令に基づいて生成することができる。ウェブ・ブラウザーは、HTML、XHTML、XML、AJAX、JAVASCRIPT(登録商標)、FLASH(登録商標)、VBScript、および/またはユーザー・インターフェース・ビュー200を生成するための他のスクリプト型プログラミング言語というようなコンピューター・プログラミング言語で書かれたコンピューター・プログラム命令を解釈し実行するために、スクリプト・インタプリターのような言語インタプリターを含むことができる。
[00140] クライアント・デバイス104−2上で実行するクライアント・アプリケーション202のユーザー・インターフェース・ビュー200は、ウェブ・ページ204を含むことができる。ウェブ・ページ204は、クライアント・デバイス104−2の認証トークン管理アプリケーション172へのアクセスの認証が成功したときに、クライアント102−2に提示することができる。ウェブ・ページ204は、クライアント・アカウントに関連付けられた名前(例えば、「エレン・アダムス」)およびクライアント・アカウントUPN(例えば、"EllenAdams@contoso.com")というようなクライアント・アカウント情報、ならびにクライアント102−2がクライアント102−2に関連付けられた1つ以上のサービス・アカウントの最新のサービス・アカウント情報を要求することを可能にする更新アカウント206ボタンを含むことができる。
[00141] また、ユーザー・インターフェース・ビュー200は、行212−pの内1つ以上も含むことができ、各行は、サービス・アカウントを識別するためのサービス・アカウント識別子またはサービス・アカウントUPN、プロビジョニングされたサービス・アカウントの1つ以上の役割を示すサービス・アカウント役割、プロビジョニングされたサービス・アカウントの範囲を示すサービス・アカウント範囲、年数、週数、日数、時間数、分数、および/またはサービス・アカウントが失効する前に残されている秒数を示すサービス・アカウント存続期間、ならびにサービス・アカウントが未だアクティブか、または失効したかを示すサービス・アカウント・ステータスを含むことができるが、これらに限定されるのではない。
[00142] また、ユーザー・インターフェース・ビュー200は1つ以上のパスワード生成208−Oボタンも含むことができ、各パスワード生成ボタンをサービス・アカウント識別子またはサービス・アカウントUPNと関連付けることができる。次いで、クライアント102−2は、入力デバイス(例えば、タッチ入力デバイス、マウス入力デバイス、キーボード・デバイス等)を介してジェスチャ210を使用して、サービス・アカウント識別子またはサービス・アカウントUPNによって識別されたサービス・アカウントのために平文ランダム・パスワードを生成することを要求するために、パスワード生成ボタンを選択することができる。サービス・アカウントおよび/または認証トークンのセキュリティを確保するために、クライアント・アプリケーション202は、サービス・アカウント・ステータスが失効となっているサービス・アカウントに対しては、パスワード生成ボタン(例えば、パスワード生成ボタン208−2)をディスエーブルするように構成するとよいことは認めることができよう。加えてまたは代わりに、クライアント・アプリケーション202は、更に、生成された平文ランダム・パスワードを失ったまたは忘れたかもしれないクライアントが新たな平文ランダム・パスワードを生成することを禁止できるように、平文ランダム・パスワードが、サービス・アカウント・ステータスがアクティブになっているサービス・アカウントのために既に生成された後では、サービス・アカウントのためのパスワード生成ボタンをディスエーブルするように構成することもできる。
[00143] 本明細書に含まれるのは、開示したアーキテクチャの新規な態様を実行する方法の具体例を表す1組のフロー・チャートである。説明を簡略化する目的のために、ここでは、例えば、フロー・チャートまたは流れ図の形態で示される1つ以上の方法を、一連のアクトとして示し説明するが、これらの方法論は、アクトの順序によって限定されないことは理解されそして認められよう。何故なら、本開示によれば、一部のアクトは、ここで示し説明する順序とは異なる順序で現れること、および/または他のアクトと同時に行われることも可能であるからである。例えば、方法は、代わりに、状態図におけるように、相互に関係付けられた一連の状態またはイベントとして表すことも可能であることは、当業者には理解されそして認められよう。更に、方法に例示される全てのアクトが、新規な実施態様には必要ではない場合もある。
[00144] 図3Aは、論理フロー300の一実施形態を示す。論理フロー300は、本明細書において説明した1つ以上の実施形態によって実行される動作の一部または全部を表すことができる。
[00145] 図3Aに示す例示用の実施形態(illustrated embodiment)では、論理フロー300はブロック302において開始することができ、ブロック304において、少なくとも部分的にクライアント認証情報に基づいて、クライアント・デバイスとの安全な接続を確立することができる。例えば、信頼接続を確立するために、ディジタル・スマート・カード証明書および関連するPINを含むスマート・カードを使用して、クライアント102−2がクライアント・デバイス104−2に認証した後、認証トークン管理コンポーネント174が、信頼できるフェデレーテット・アイデンティティ・アプリケーション162によって発行され受けたセキュリティ・トークンに基づいて、クライアント102−2を認証することができる。更に、認証トークン管理コンポーネント174は、1つ以上のセキュア通信プロトコル(例えば、HTTPS)を利用して、クライアント・デバイス104−2との安全な接続(即ち、信頼および暗号化接続)を確立することもできる。
[00146] 論理フロー300は、ブロック306において、クライアント・デバイスからのサービス・アカウントのアカウント情報を求める要求を受けることができる。例えば、認証トークン管理コンポーネント174は、クライアント102−2からクライアント・デバイス104−2を通じて、クライアント102−2のクライアント・アカウントに関連付けられた1つ以上のサービス・アカウントを求める要求を受けることができる。
[00147] 論理フロー300は、ブロック308において、少なくとも部分的にクライアント認証情報に基づいて、サービス・アカウントのアカウント情報を要求することができる。例えば、クライアント・デバイス104−2から、クライアント102−2のクライアント・アカウントに関連付けられた1つ以上のサービス・アカウントを求める要求を受けたことに応答して、認証トークン管理コンポーネント174は、認証トークン・プロキシー・コンポーネント178を介して、トークン管理プロキシー・アプリケーション192に、クライアント102−2のクライアント・アカウントに関連付けられた1つ以上のサービス・アカウントのサービス・アカウント情報を要求することができる。
[00148] 論理フロー300は、ブロック310において、サービス・アカウントについてのアカウント情報を受けることができる。例えば、認証トークン管理コンポーネント174は、1つ以上のアカウントのサービス・アカウント情報を求める要求に応答して、クライアント102−2のクライアント・アカウントに関連付けられた1つ以上のサービス・アカウントのサービス・アカウント情報を、認証トークン・プロキシー・コンポーネント178を介して受けることができる。
[00149] 論理フロー300は、ブロック312において、サービス・アカウントについてのアカウント情報をクライアント・デバイスに提供し、ブロック314において終了する。例えば、認証トークン管理コンポーネント174は、トークン管理プロキシー・アプリケーション192からサービス・アカウント情報を受けたことに応答して、クライアント102−2のクライアント・アカウントに関連付けられた1つ以上のサービス・アカウントの受けたサービス・アカウント情報を提供することができる。実施形態はこれらの例に限定されるのではない。
[00150] 図3Bは、論理フロー320の一実施形態を示す。論理フロー320は、本明細書において説明した1つ以上の実施形態によって実行される動作の一部または全部を表すことができる。
[00151] 図3Bに示す例示用の実施形態では、論理フロー320はブロック322において開始することができ、ブロック324において、サービス・アカウントのために認証トークンを生成する要求を、クライアント・デバイスから受けることができる。例えば、認証トークン管理コンポーネント174は、クライアント102−2のクライアント・アカウントに関連付けられたサービス・アカウントのために認証トークンを生成する要求を、クライアント・デバイス104−2から受けることができる。
[00152] 論理フロー320は、ブロック326において、サービス・アカウントのために認証トークンを生成するために、クライアント・デバイスから受けた要求の有効性を判断することができる。例えば、認証トークン管理コンポーネント174は、受けたセキュリティ・トークンが信頼STSプロバイダー、例えば、フェデレーテット・アイデンティティ・アプリケーション162によって発行されたこと、そして認証トークンを生成することを要求しているクライアント102−2が、二要素認証(例えば、スマート・カードおよび関連するPIN)に基づいて認証されたことを検証することによって、クライアント・デバイスから受けた、サービス・アカウントのために認証トークンを生成する要求の有効性を判断することができる。
[00153] 論理フロー320は、ブロック328において、サービス・アカウントのために認証トークンを生成することができる。例えば、認証トークン生成コンポーネント176は、長さパラメーターおよびキャラクター・クラス・パラメーターに基づいて平文ランダム・パスワードを生成することができる。
[00154] 論理フロー320は、ブロック330において、サービス・アカウント情報、認証トークン、およびプロキシー認証情報の一部を認証トークン管理プロキシー・アプリケーションに提供することができる。例えば、認証トークン生成コンポーネント176は、サービス・アカウント情報によって識別されるサービス・アカウントのために生成された認証トークンを更新または設定するために、認証プロキシー・コンポーネント178を介して、サービス・アカウント情報(例えば、サービス・アカウント識別子またはサービス・アカウントUPN)、生成した認証トークン、および共有シークレット・ディジタル証明書のディジタル指紋または親指の指紋を、トークン管理プロキシー・アプリケーション192に供給することができる。
[00155] 論理フロー320は、ブロック332において、少なくとも認証トークンをクライアント・デバイスに供給し、ブロック334において終了することができる。例えば、認証トークン通知コンポーネント180は、認証トークン・データーストア166への格納のために、少なくとも生成された認証トークンを隠れたdivにおいてクライアント102−2に、クライアント・デバイス104−2を通じて通知または供給することができる。実施形態はこれらの例に限定されるのではない。
[00156] 図3Cは、論理フロー340の一実施形態を示す。論理フロー340は、本明細書において説明した1つ以上の実施形態によって実行される動作の一部または全部を表すことができる。
[00157] 図3Cに示す例示用の実施形態では、論理フロー340はブロック342において開始することができ、ブロック344において、少なくとも部分的にクライアント・アカウント情報に基づいて、サービス・アカウントのアカウント情報を求める要求を受けることができる。例えば、サービス・アカウント引き出しコンポーネント194は、クライアント・アカウント情報に含まれるクライアント・アカウント識別子またはサービス・アカウントUPNによって識別されるクライアント・アカウントに関連付けられた1つ以上のサービス・アカウントのサービス・アカウント情報を求める要求を受けることができる。この要求は、クライアント・アカウント情報と、プロキシー認証情報の一部とを含むことができる。
[00158] 論理フロー340は、ブロック346において、少なくとも部分的にクライアント・アカウント情報に基づいて、サービス・アカウントのアカウント情報をディレクトリー・サービス・サーバー・デバイスから引き出すことができる。例えば、サービス・アカウント引き出しコンポーネント194は、クライアント・アカウント情報に含まれるクライアント・アカウント識別子またはサービス・アカウントUPNによって識別されるクライアント・アカウントに関連付けられたサービス・アカウント情報を引き出すために、データーセンター142における1つ以上のネットワークおよび/またはネットワーク相互接続112、ならびに1つ以上のディレクトリー・サービス・サーバー・デバイス130−lのディレクトリー・サービス・アプリケーションの1つ以上のAPIを介して通信することができる。
[00159] 論理フロー340は、ブロック348において、サービス・アカウントのアカウント情報を認証トークン管理アプリケーションに提供することができる。例えば、サービス・アカウント引き出しコンポーネント194は、クライアント・アカウント情報に含まれるクライアント・アカウント識別子またはサービス・アカウントUPNによって識別されたクライアント102−2のクライアント・アカウントに関連付けられた1つ以上のサービス・アカウントの引き出したサービス・アカウント情報を提供することができる。
[00160] 論理フロー340は、ブロック350において、サービス・アカウントのための認証トークンを更新または設定する要求を、認証トークン管理アプリケーションから受けることができる。例えば、認証トークン更新コンポーネント196は、認証トークン・プロキシー・コンポーネント178から、サービス・アカウントのための認証トークンを更新または設定する要求を受けることができる。この要求は、サービス・アカウント情報、認証トークン、およびプロキシー認証情報の一部を含むことができる。
[00161] 論理フロー340は、ブロック352において、ディレクトリー・サービス・サーバー・デバイスによって管理されているサービス・アカウントのための認証トークンを更新または設定し、ブロック354において終了することができる。例えば、認証トークン更新コンポーネント196は、サービス・アカウント情報に含まれるサービス・アカウント識別子またはサービス・アカウントUPNによって識別されたサービス・アカウントのために受けた認証トークンによって、認証トークンを更新または設定することができる。実施形態はこれらの例に限定されるのではない。
[00162] 図3Dは、論理フロー360の一実施形態を示す。論理フロー360は、本明細書において説明した1つ以上の実施形態によって実行される動作の一部または全部を表すことができる。
[00163] 図3Dに示す例示用の実施形態において、論理フロー360はブロック362において開始することができ、ブロック364において、少なくとも部分的にクライアント認証情報に基づいて、認証トークン管理アプリケーションとの安全な接続を確立することができる。例えば、クライアント・デバイス104−2はセキュリティ・トークンを認証トークン管理コンポーネント174に供給することができ、クライアント102−2が、信頼接続を確立するために、ディジタル・スマート・カード証明書および関連するPINを含むスマート・カードを使用してクライアント・デバイス104−2に認証した後に、認証トークン管理コンポーネント174は、信頼フェデレーテット・アイデンティティ・アプリケーション162によって発行されたセキュリティ・トークンに基づいて、クライアント102−2を認証することができる。また、クライアント・デバイス104−2は1つ以上のセキュア通信プロトコル(例えば、HTTPS)を利用して、認証トークン管理アプリケーション172との安全な接続(即ち、信頼および暗号化接続)を確立することもできる。
[00164] 論理フロー360は、ブロック366において、サービス・アカウントのアカウント情報を要求することができる。例えば、クライアント・デバイス104−2は、クライアント・アカウント情報に含まれるクライアント・アカウント識別子またはクライアント・アカウントUPNによって識別されるクライアント・アカウントを有するクライアント102−2に関連付けられた1つ以上のサービス・アカウントについてのサービス・アカウント情報を要求することができる。
[00165] 論理フロー360は、ブロック368において、サービス・アカウントのアカウント情報を認証トークン管理アプリケーションから受けることができる。例えば、クライアント102−2は、サービス・アカウント情報を求める要求に応答して、クライアント・デバイス104−2を通じて、クライアント102−2のクライアント・アカウントに関連付けられた1つ以上のサービス・アカウントについてのサービス・アカウント情報を受けることができる。
[00166] 論理フロー360は、ブロック370において、サービス・アカウントのために認証トークンを生成することを要求することができる。例えば、クライアント・デバイス104−2は、サービス・アカウント情報に含まれるサービス・アカウント識別子またはサービス・アカウントUPNによって識別されるサービス・アカウントのために平文ランダム・パスワードを生成することを要求することができる。
[00167] 論理フロー360は、ブロック372において、少なくとも生成された認証トークンを認証トークン管理アプリケーションから受けることができる。例えば、クライアント・デバイス104−2は、少なくともサービス・アカウントのために生成された認証トークンを、ウェブ・ページにおける隠されたエレメントとして受けることができる。加えて、クライアント・デバイス104−2はサービス・アカウント識別子またはサービス・アカウントUPNを同じウェブ・ページ上で受けることもできる。
[00168] 論理フロー360は、ブロック374において、少なくとも認証トークンを認証トークン・データーストアに格納することができる。例えば、クライアント102−2は、クライアント・デバイス104−2を通じて、サービス・アカウントのために受けた認証トークンを認証トークン・データーストア166に格納することができる。典型的な認証トークン・データーストア166は、パスワード・セーフを含むことができるが、これに限定されるのではない。加えて、クライアント102−2は、クライアント・デバイス104−2を通じて、受けた認証トークンに関連付けられたサービス・アカウント識別子またはサービス・アカウントUPNも認証トークン・データーストア166に格納することができる。
[00169] 論理フロー360は、ブロック376において、少なくとも認証トークンを認証トークン・データーストアから引き出すことができる。例えば、クライアント102−2は、クライアント・デバイス104−2を通じて、少なくとも格納されている認証トークンを認証トークン・データーストア166から引き出すことができる。加えて、クライアント102−2は、クライアント・デバイス104−2を通じて、受けた認証トークンに関連付けられたサービス・アカウント識別子またはサービス・アカウントUPNも、認証トークン・データーストア166から引き出すことができる。
[00170] 論理フロー360は、ブロック378において、少なくとも認証トークンを使用してサーバー・デバイスにアクセスし、ブロック380において終了することができる。例えば、クライアント102−2は、次いで、引き出した認証トークンおよびサービス・アカウントUPNを使用して、クライアント・デバイス104−2を通じて、例えば、リモート・デスクトップ・プロトコルを使用してサーバー・デバイス140−1−1にアクセスすることができる。実施形態はこれらの例に限定されるのではない。
[00171] 図4は、既に説明した種々の実施形態を実現するのに適した例示用の計算アーキテクチャ400の実施形態を示す。一実施形態では、計算アーキテクチャ400は、クライアント・デバイスおよび/またはサーバー・デバイスの一部を含んでもよく、またはその一部として実装されてもよい。実施形態はこの文脈において限定されることはない。
[00172] 本願において使用する場合、「システム」および「コンポーネント」という用語は、ハードウェア、ハードウェアおよびソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかのコンピューター関連エンティティを指すことを意図しており、その例は具体例としての計算アーキテクチャ400によって示される。例えば、コンポーネントは、プロセッサー上で実行するプロセス、プロセッサー、ハード・ディスク・ドライブ、多数の記憶デバイス(光および/または磁気記憶媒体の)、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、および/またはコンピューターであることが可能であるが、これらに限定されるのではない。例示として、サーバー上で実行するアプリケーションおよびサーバーの双方がコンポーネントであることが可能である。1つ以上のコンポーネントがプロセスおよび/または実行のスレッド内に常駐する(reside)ことができ、コンポーネントが1つのコンピューター上に集中配置される(localize)こと、および/または2つ以上のコンピューター間で分散されることが可能である。更に、コンポーネントは、動作を調整するために、種々のタイプの通信媒体によって互いに通信可能に結合することができる。調整には、一方向または双方向の情報交換を必要とする場合もある。例えば、コンポーネントは、通信媒体上で伝達される信号の形態で、情報を伝達することができる。情報は、種々の信号線に割り当てられる信号として実現することができる。このような割り当てでは、各メッセージが信号となる。しかしながら、他の実施形態では、代わりにデーター・メッセージを採用することもできる。このようなデーター・メッセージは、種々の接続を通して送ることができる。接続の具体例には、パラレル・インターフェース、シリアル・インターフェース、およびバス・インターフェースが含まれる。
[00173] 計算アーキテクチャ400は、1つ以上のプロセッサー、マルチコア・プロセッサー、コプロセッサー、メモリー・ユニット、チップセット、コントローラー、周辺素子、インターフェース、発振器、タイミング・デバイス、ビデオ・カード、オーディオ・カード、マルチメディア入力/出力(I/O)コンポーネント、電源等のような、種々の共通する計算エレメントを含む。しかしながら、実施形態は計算アーキテクチャ400による実現に限定されるのではない。
[00174] 図4に示すように、計算アーキテクチャ400は、処理ユニット404、システム・メモリー406、およびシステム・バス408を含む。処理ユニット404は、種々の市販のプロセッサーの内任意のものとすることができ、限定ではなく、AMD(登録商標)Athlon(登録商標)、Duron(登録商標)およびOpteron(登録商標)プロセッサー、ARM(登録商標)アプリケーション、埋め込みおよびセキュア・プロセッサー、IBM(登録商標)およびMotorola(登録商標)DragonBall(登録商標)、およびPowerPC(登録商標)プロセッサー、IBMおよびSony(登録商標)Cellプロセッサー、Intel(登録商標)Celeron(登録商標)、Core(2)Duo(登録商標)、Itanium(登録商標)、Pentium(登録商標)、Xeon(登録商標)、およびXScale(登録商標)プロセッサー、ならびに同様のプロセッサーを含む。デュアル・マイクロプロセッサー、マルチコア・プロセッサー、および他のマルチプロセッサー・アーキテクチャも、処理ユニット404として採用することができる。
[00175] システム・バス408は、システム・メモリー406から処理ユニット404までを含むがこれらに限定されないシステム・コンポーネントのためにインターフェースを設ける。システム・バス408は、種々のタイプのバス構造の内任意のものにすることができ、更に、メモリー・バス(メモリー・コントローラー付きまたはメモリー・コントローラーなし)、周辺バス、およびローカル・バスに、種々の市販のバス・アーキテクチャの内任意のものを使用して相互接続することができる。インターフェース・アダプターがシステム・バス408に、スロット・アーキテクチャを介して接続することもできる。スロット・アーキテクチャの例には、限定ではなく、加速グラフィクス・ポート(AGP)、カード・バス、(拡張)業界標準アーキテクチャ((E)ISA)、マイクロ・チャネル・アーキテクチャ(MCA)、NuBus、周辺素子相互接続(拡張)(PCI(X))、PCIExpress、パーソナル・コンピューター・メモリー・カード国際連合(PCMCIA)等を含むことができる。
[00176] 計算アーキテクチャ400は、種々の製品(articles of manufacture)を含むまたは実装することができる。製品は、ロジックを格納するためのコンピューター読み取り可能記憶媒体を含むこともできる。コンピューター読み取り可能記憶媒体の例には、電子データーを格納することができるあらゆる有形媒体を含むことができ、揮発性メモリーまたは不揮発性メモリー、リムーバブルまたは非リムーバブル・メモリー、消去可能または消去不可メモリー、書き込み可能または再書き込み可能メモリー等を含むことができる。ロジックの例には、ソース・コード、コンパイル・コード(compiled code)、インタプリター・コード(interpreted code)、実行可能コード、スタティック・コード、ダイナミック・コード、オブジェクト指向コード、ビジュアル・コード等というような、任意の適したタイプのコードを使用して実装される実行可能コンピューター・プログラム命令を含むことができる。また、実施形態は、少なくとも部分的に、一時的ではないコンピューター読み取り可能媒体内またはその上に収容される命令として実現することもでき、本明細書において説明した動作の実行を可能にするために、1つ以上のプロセッサーによって読み取り実行することができる。
[00177] システム・メモリー406は、リード・オンリー・メモリー(ROM)、ランダム・アクセス・メモリー(RAM)、ダイナミックRAM(DRAM)、データー倍速DRAM(DDRAM)、同期DRAM(SDRAM)、スタティックRAM(SRAM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュ・メモリー、強磁性ポリマー・メモリーのようなポリマー・メモリー、オボニック・メモリー、位相変化または強磁性メモリー、シリコン−酸化物−窒化物−酸化物−シリコン(SONOS)メモリー、磁気または光カード、独立ディスクの冗長アレイ(RAID)ドライブのようなデバイスのアレイ、ソリッド・ステート・メモリー・デバイス(例えば、USBメモリー、ソリッド・ステート・ドライブ(SSD)、およびは情報を格納するのに適した他のあらゆるタイプの記憶媒体というような、1つ以上の高速メモリー・ユニットの形態とした種々のタイプのコンピューター読み取り可能記憶媒体を含むことができる。図4に示す例示の実施形態では、システム・メモリー406は不揮発性メモリー410および/または揮発性メモリー412を含むことができる。基本入力/出力システム(BIOS)は、不揮発性メモリー410に格納することができる。
[00178] コンピューター402は、1つ以上の低速メモリー・ユニットの形態とした種々のタイプのコンピューター読み取り可能記憶媒体を含むことができ、内部(または外部)ハード・ディスク・ドライブ(HDD)414、リムーバブル磁気ディスク418に対して読み取りまたは書き込みを行うための磁気フロッピー・ディスク・ドライブ(FDD)416、ならびにリムーバブル光ディスク422(例えば、CD−ROMまたはDVD)に対する読み取りまたは書き込みを行うための光ディスク・ドライブ420を含む。HDD414、FDD416、および光ディスク・ドライブ420は、それぞれ、HDDインターフェース424、FDDインターフェース426、および光ドライブ・インターフェース428によって、システム・バス408に接続することができる。外部ドライブ実装用のHDDインターフェース424は、ユニバーサル・シリアル・バス(USB)およびIEEE1394インターフェース技術の少なくとも一方または両方を含むことができる。
[00179] ドライブおよび付随するコンピューター読み取り可能媒体は、データー、データー構造、コンピューター実行可能命令等の揮発性および/または不揮発性ストレージを提供する。例えば、多数のプログラム・モジュールをドライブおよびメモリー・ユニット410、412に格納することができ、これらのプログラム・モジュールは、オペレーティング・システム430、1つ以上のアプリケーション・プログラム432、他のプログラム・モジュール434、およびプログラム・データー436を含む。一実施形態では、1つ以上のアプリケーション・プログラム432、他のプログラム・モジュール434、およびプログラム・データー436は、例えば、システム100の種々のアプリケーションおよび/またはコンポーネントを含むことができる。
[00180] ユーザーは、1つ以上の有線/ワイヤレス入力デバイス、例えば、キーボード438およびマウス440のようなポインティング・デバイスによって、コマンドおよび情報をコンピューター402に入力することができる。他の入力デバイスは、マイクロフォン、赤外線(IR)遠隔制御手段、無線周波数(RF)遠隔制御手段、ゲーム・パッド、スタイラス・ペン、カード・リーダー、ドングル、指紋読み取り装置、グローブ、グラフィクス・タブレット、ジョイスティック、キーボード、網膜読み取り装置、タッチ・スクリーン(例えば、容量式、抵抗式等)、トラックボール、トラックパッド、センサ、スタイラス等を含むことができる。これらおよびその他の入力デバイスは、多くの場合、入力デバイス・インターフェース442を介して処理ユニット404に接続され、入力デバイス・インターフェース442はシステム・バス408に結合されるが、パラレル・ポート、IEEE1394シリアル・ポート、ゲーム・ポート、USBポート、IRインターフェース等というような、他のインターフェースによって接続することもできる。
[00181] モニター444または他のタイプのディスプレイ・デバイスも、ビデオ・アダプター446のようなインターフェースを介して、システム・バス408に接続される。モニター444は、コンピューター402に対して内部でもまたは外部でもよい。モニター444に加えて、コンピューターは、通例、スピーカー、プリンター等のような、他の周辺出力デバイスを含む。
[00182] コンピューター402は、論理接続を使用して、ネットワーク接続環境において、リモート・コンピューター448のような1つ以上のリモート・コンピューターへの有線通信および/またはワイヤレス通信によって動作することもできる。リモート・コンピューター448は、ワークステーション、サーバー・コンピューター、ルーター、パーソナル・コンピューター、携帯用コンピューター、マイクロプロセッサー・ベースの娯楽アプライアンス、ピア・デバイスまたは他の共通ネットワーク・ノードとすることができ、通例、コンピューター402に関して説明したエレメントの多くまたは全部を含むが、簡潔さの目的のために、メモリー/記憶デバイス450だけが示される。図示する論理接続は、ローカル・エリア・ネットワーク(LAN)452、および/またはそれよりも大きなネットワーク、例えば、ワイド・エリア・ネットワーク(WAN)454に対する有線/ワイヤレス接続(connectivity)を含む。このようなLANおよびWANネットワーキング環境は、事務所や会社では極一般的であり、イントラネットのような企業規模のコンピューター・ネットワークを容易にする。イントラネットの全ては、グローバル通信ネットワーク、例えば、インターネットに接続することもできる。
[00183] LANネットワーキング環境において使用される場合、コンピューター402は有線および/またはワイヤレス通信ネットワーク・インターフェースあるいはアダプター456を介して、LAN452に接続される。アダプター456は、LAN452に対する有線通信および/またはワイヤレス通信を容易にすることができ、アダプター456のワイヤレス機能性と通信するために配置されるワイヤレス・アクセス・ポイントも含むことができる。
[00184] WANネットワーキング環境において使用される場合、コンピューター402はモデム458を含むことができ、あるいはWAN454上の通信サーバーに接続されるか、またはインターネットによってというように、WAN454上に通信を確立する他の手段を有する。モデム458は、内蔵型または外付け型の有線デバイスおよび/またはワイヤレス・デバイスとすることができ、入力デバイス・インターフェース442を介してシステム・バス408に接続する。ネットワーク接続環境では、コンピューター402に関して図示したプログラム・モジュール、またはその一部をリモート・メモリー/記憶デバイス450に格納することができる。尚、図示するネットワーク接続は例示であり、コンピューター間に通信リンクを確立する他の手段を使用することもできることは認められよう。
[00185] コンピューター402は、ワイヤレス通信(例えば、IEEE802.11オーバー・ジ・エア変調技法)において動作的に配置されるワイヤレス・デバイスのような、標準のIEEE802ファミリーを使用して、有線およびワイヤレス・デバイスまたはエンティティと通信するように動作可能である。これは、少なくとも、Wi−Fi(即ち、ワイヤレス・フィデリティ)、WiMax、およびBluetooth(登録商標)ワイヤレス技術をとりわけ含む。このように、通信は、従来のネットワークのような、予め定められた構造であること、または単に少なくとも2つのデバイス間におけるアド・ホック通信であることができる。Wi−Fiネットワークは、安全で、信頼性が高く、高速なワイヤレス接続性を提供するために、IEEE802.11x(a、b、g、n等)と呼ばれる無線技術を使用する。Wi−Fiネットワークは、コンピューターを互いに接続するため、インターネットに接続するため、そして有線ネットワーク(IEEE802.3関連媒体および機能を使用する)に接続するために使用することができる。
[00186] 実施形態には、「一実施形態」(one embodiment)または「実施形態」(an embodiment)という表現をその派生語と共に使用して説明するとよいものがある。これらの用語は、当該実施形態と関連付けて説明された特定の特徴、構造、または特性が、少なくとも1つの実施形態に含まれることを意味する。本明細書の種々の場所において「一実施形態では」という句が出てくる場合、必ずしも全てが同じ実施形態を指す訳ではない。更に、実施形態は、「結合される」(coupled)および「接続される」(connected)という表現を、その派生語と共に使用して説明することもできる。これらの用語は、必ずしも互いに対する同義語であることを意図しているのではない。例えば、実施形態の中には、2つ以上のエレメントが直接物理的にまたは電気的に互いに接触していることを示すために、「接続される」および/または「結合される」という用語を使用して説明するとよい場合がある。しかしながら、「結合される」という用語は、2つ以上のエレメントが互いに直接接触していないが、それでも互いに協働するまたは相互作用することを意味することもできる。
[00187] 尚、開示の要約は、読者が本技術的開示の固有性を素早く確認することを可能にするために設けられることを強調しておく。尚、これは、請求項の範囲または意味を解釈するためや限定するために使用されるのではないことを理解した上で申し述べられることである。加えて、以上の詳細な説明では、開示を簡素化する目的に限って、1つの実施形態において種々の特徴が一緒に纏められていることがわかるであろう。この開示方法は、特許請求する実施形態が各請求項において明示的に記載されるよりも多くの特徴を必要とするという意図を表す(reflect)というように解釈してはならない。逆に、以下の特許請求の範囲が表すように、発明の主題は、1つの開示された実施形態の全ての特徴に存在する訳ではない。つまり、以下の特許請求の範囲は詳細な説明に含まれ、各請求項が別個の実施形態としてそれ自体を成り立たせている(stand on its own)。添付した特許請求の範囲において、「含む」(including)および「において」(in which)という用語は、それぞれ、「含む」(comprising)および「において」(wherein)というそれぞれの用語の平素な英語の同等語(equivalent)として使用されるものとする。更に、「第1」、「第2」、「第3」等の用語は、単に名称として使用されるのであり、それらの目的語に対して数値的な要件を強制することは意図していない。
[00188] 以上で説明したことは、開示されたアーキテクチャの例を含む。勿論、コンポーネントおよび/または方法の着想可能なあらゆる組み合わせを記載することは不可能であるが、多くの他の組み合わせや置換(permutations)も可能であることは、当業者には認めることができよう。したがって、新規なアーキテクチャは、添付した請求項の主旨および範囲に該当するような全ての改変、変更、および変形を包含することを意図している。

Claims (15)

  1. 装置であって、
    プロセッサー回路と、
    前記プロセッサー回路による実行のためのサーバー・アプリケーションと、
    を含み、前記サーバー・アプリケーションが管理コンポーネントを含み、前記管理コンポーネントが、
    少なくとも部分的に、前記クライアントの第1アカウントに関連付けられたクライアント認証情報に基づいて、クライアント・デバイスとの安全な接続を確立し、
    前記クライアントの第1アカウントに関連付けられた1つ以上のアカウントのアカウント情報を求める要求を受け、
    前記第1アカウントに関連付けられた第2アカウントについてのアカウント情報を前記クライアントに、前記クライアント・デバイスを通じて提供し、
    前記第2アカウントのために認証トークンを生成する要求を受け、
    前記クライアントに関連付けられた前記クライアント認証情報に基づいて、前記認証トークンを生成する要求の有効性を判断する、装置。
  2. 請求項1記載の装置において、前記サーバー・アプリケーションが、更に、
    ディレクトリー・サービス・サーバー・デバイスによって管理される前記1つ以上のアカウントのアカウント情報を引き出すように構成されたトークン管理プロキシー・アプリケーションにプロキシー認証情報の一部を提供することによって、前記クライアントの第1アカウントに関連付けられた1つ以上のアカウントのアカウント情報を要求するプロキシー・コンポーネントを含む、装置。
  3. 請求項2記載の装置において、前記プロキシー・コンポーネントが、更に、前記1つ以上のアカウントのアカウント情報を求める前記要求に応答して、前記トークン管理プロキシー・アプリケーションから、前記第1アカウントに関連付けられた第2アカウントについてのアカウント情報を受ける、装置。
  4. 請求項1記載の装置において、前記サーバー・アプリケーションが、更に、
    前記第2アカウントのために認証トークンを生成するトークン生成コンポーネントと、
    クライアントによる使用のために、前記認証トークンを前記クライアントに、前記安全な接続を介し前記クライアント・デバイスを通じて供給する通知コンポーネントと、
    を含む、装置。
  5. 請求項2記載の装置において、前記プロキシー・コンポーネントが、更に、前記第2アカウントに関連付けられたアカウント情報と、前記生成された認証トークンと、前記プロキシー認証情報の一部とを、前記ディレクトリー・サービス・サーバー・デバイスによって管理される前記第2アカウントに関連付けられた前記認証トークンを更新するように構成されたトークン管理プロキシー・アプリケーションに提供する、装置。
  6. 請求項1記載の装置において、前記クライアント・アカウントに関連付けられた前記クライアント認証情報が、ディジタル証明書とアイデンティティ・トークンに関連付けられた個人識別番号(PIN)とを含み、前記認証トークンが、少なくとも部分的に長さパラメーターとキャラクター・クラス・パラメーターとに基づいて生成された平文ランダム・パスワードである、装置。
  7. 請求項1記載の装置において、前記認証トークンを生成する要求がトークン要求情報と関連付けられ、前記トークン要求情報が、少なくとも、前記第2アカウントについてのアカウント情報を含む、装置。
  8. 複数の命令を含む少なくとも1つの機械読み取り可能記憶媒体であって、前記命令が、計算デバイス上において実行されることに応答して、請求項1から7までのいずれか1項記載の装置を、前記計算デバイスに実現させる、少なくとも1つの機械読み取り可能記憶媒体。
  9. コンピューター実装方法であって、
    クライアントの第1アカウントに関連付けられたクライアント認証情報に少なくとも部分的に基づいて、クライアント・デバイスとの安全な接続を確立するステップと、
    前記クライアントの第1アカウントに関連付けられた1つ以上のアカウントのアカウント情報を求める要求を受けるステップと、
    回路によって、前記第1アカウントに関連付けられた第2アカウントについてのアカウント情報を前記クライアントに、前記クライアント・デバイスを通じて、提供するステップと、
    前記第2アカウントのために認証トークンを生成する要求を受けるステップと、
    前記クライアントに関連付けられた前記クライアント認証情報に基づいて、前記認証トークンを生成する要求の有効性を判断するステップと、
    を含む、コンピューター実装方法。
  10. 請求項9記載のコンピューター実装方法であって、更に、
    ディレクトリー・サービス・サーバー・デバイスによって管理される前記1つ以上のアカウントのアカウント情報を引き出すように構成されたトークン管理プロキシー・アプリケーションに少なくともプロキシー認証情報を提供することによって、前記クライアントの第1アカウントに関連付けられた1つ以上のアカウントの前記アカウント情報を要求するステップを含む、コンピューター実装方法。
  11. 請求項9記載のコンピューター実装方法であって、更に、
    前記第2アカウントのために前記認証トークンを生成するステップと、
    前記クライアントによる使用のために、少なくとも前記認証トークンを前記クライアントに、前記クライアント・デバイスを通じて前記安全な接続を介して、供給するステップと、
    を含む、コンピューター実装方法。
  12. 請求項9記載のコンピューター実装方法であって、更に、
    前記第2アカウントに関連付けられたアカウント情報と、前記生成された認証トークンと、プロキシー認証情報の一部とを、ディレクトリー・サービス・サーバー・デバイスによって管理される前記第2アカウントに関連付けられた前記認証トークンを更新するように構成されたトークン管理プロキシー・アプリケーションに提供するステップを含む、コンピューター実装方法。
  13. 請求項9から12までのいずれか1項記載のコンピューター実装方法を実行する手段を含む装置。
  14. 複数の命令を含む少なくとも1つの機械読み取り可能記憶媒体であって、前記命令が、計算デバイス上において実行されることに応答して、請求項9から12までのいずれか1項記載の方法を前記計算デバイスに実行させる、少なくとも1つの機械読み取り可能記憶媒体。
  15. 命令を含む少なくとも1つのコンピューター読み取り可能記憶媒体であって、前記命令が実行されると、システムに、
    クライアントの第1アカウントに関連付けられたクライアント認証情報に少なくとも部分的に基づいて、トークン管理アプリケーションとの安全な接続を確立させ、
    前記クライアントの第1アカウントに関連付けられた1つ以上のアカウントのアカウント情報を要求させ、
    前記要求に応答して、第2アカウントについてのアカウント情報を受けさせ、
    前記第2アカウントに関連付けられた認証トークンを生成することを要求させる、
    少なくとも1つのコンピューター読み取り可能記憶媒体。
JP2017502760A 2014-03-27 2015-03-23 機械生成認証トークンによってサービスを運用する技法 Pending JP2017517823A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/227,419 US20150281225A1 (en) 2014-03-27 2014-03-27 Techniques to operate a service with machine generated authentication tokens
US14/227,419 2014-03-27
PCT/US2015/021919 WO2015148331A1 (en) 2014-03-27 2015-03-23 Techniques to operate a service with machine generated authentication tokens

Publications (1)

Publication Number Publication Date
JP2017517823A true JP2017517823A (ja) 2017-06-29

Family

ID=52815325

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017502760A Pending JP2017517823A (ja) 2014-03-27 2015-03-23 機械生成認証トークンによってサービスを運用する技法

Country Status (14)

Country Link
US (1) US20150281225A1 (ja)
EP (1) EP3123692B1 (ja)
JP (1) JP2017517823A (ja)
KR (1) KR20160138063A (ja)
CN (1) CN106134154A (ja)
AU (1) AU2015236415A1 (ja)
CA (1) CA2940344A1 (ja)
CL (1) CL2016002353A1 (ja)
IL (1) IL247281A0 (ja)
MX (1) MX2016012639A (ja)
PH (1) PH12016501640A1 (ja)
RU (1) RU2016138123A (ja)
SG (1) SG11201607675VA (ja)
WO (1) WO2015148331A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022177974A (ja) * 2021-05-19 2022-12-02 株式会社信州開発研究所 管理サーバ、クライアントシステム、及び電子機器利用サービス提供方法

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9838424B2 (en) 2014-03-20 2017-12-05 Microsoft Technology Licensing, Llc Techniques to provide network security through just-in-time provisioned accounts
US9595023B1 (en) 2014-05-21 2017-03-14 Plaid Technologies, Inc. System and method for facilitating programmatic verification of transactions
US9449346B1 (en) 2014-05-21 2016-09-20 Plaid Technologies, Inc. System and method for programmatically accessing financial data
US9401912B2 (en) 2014-10-13 2016-07-26 Netiq Corporation Late binding authentication
US9838274B2 (en) * 2014-11-19 2017-12-05 International Business Machines Corporation Method for enhancing security access to a node in a homogenous cloud computing environment
CN105825371A (zh) * 2015-01-07 2016-08-03 阿里巴巴集团控股有限公司 业务处理方法和装置
DE102015200209A1 (de) * 2015-01-09 2016-07-14 Wobben Properties Gmbh Verfahren zum Autorisieren für Steuerzugriffe auf Windenergieanlagen sowie Schnittstelle von Windenergieanlagen und Zertifizierungsstelle
US10594484B2 (en) * 2015-02-13 2020-03-17 Yoti Holding Limited Digital identity system
US10853592B2 (en) 2015-02-13 2020-12-01 Yoti Holding Limited Digital identity system
US10547599B1 (en) * 2015-02-19 2020-01-28 Amazon Technologies, Inc. Multi-factor authentication for managed directories
US10410208B2 (en) 2015-04-24 2019-09-10 Capital One Services, Llc Token identity devices
CN107683599A (zh) * 2015-06-11 2018-02-09 西门子公司 用于设备的认证令牌的授权发布的授权装置和方法
US10382426B2 (en) * 2015-07-02 2019-08-13 Adobe Inc. Authentication context transfer for accessing computing resources via single sign-on with single use access tokens
US9843568B2 (en) * 2015-07-22 2017-12-12 Here Global B.V. Method and apparatus for generating an intelligent primary key facilitating faster object retrieval
CA2997115C (en) 2015-09-08 2022-01-04 Plaid Technologies, Inc. Secure permissioning of access to user accounts, including secure deauthorization of access to user accounts
WO2017065668A1 (en) * 2015-10-12 2017-04-20 Telefonaktiebolaget Lm Ericsson (Publ) Methods to authorizing secondary user devices for network services and related user devices and back-end systems
US11032323B2 (en) 2015-10-28 2021-06-08 Qomplx, Inc. Parametric analysis of integrated operational technology systems and information technology systems
US11635994B2 (en) 2015-10-28 2023-04-25 Qomplx, Inc. System and method for optimizing and load balancing of applications using distributed computer clusters
US11055630B2 (en) 2015-10-28 2021-07-06 Qomplx, Inc. Multitemporal data analysis
US11757849B2 (en) * 2015-10-28 2023-09-12 Qomplx, Inc. Detecting and mitigating forged authentication object attacks in multi-cloud environments
US11089045B2 (en) 2015-10-28 2021-08-10 Qomplx, Inc. User and entity behavioral analysis with network topology enhancements
US10681074B2 (en) 2015-10-28 2020-06-09 Qomplx, Inc. System and method for comprehensive data loss prevention and compliance management
US11570204B2 (en) * 2015-10-28 2023-01-31 Qomplx, Inc. Detecting and mitigating golden ticket attacks within a domain
US11757920B2 (en) 2015-10-28 2023-09-12 Qomplx, Inc. User and entity behavioral analysis with network topology enhancements
US11055451B2 (en) 2015-10-28 2021-07-06 Qomplx, Inc. System and methods for multi-language abstract model creation for digital environment simulations
US11968235B2 (en) 2015-10-28 2024-04-23 Qomplx Llc System and method for cybersecurity analysis and protection using distributed systems
US11552968B2 (en) 2015-10-28 2023-01-10 Qomplx, Inc. System and methods for detecting and mitigating golden SAML attacks against federated services
US11005824B2 (en) * 2015-10-28 2021-05-11 Qomplx, Inc. Detecting and mitigating forged authentication object attacks using an advanced cyber decision platform
US11570209B2 (en) * 2015-10-28 2023-01-31 Qomplx, Inc. Detecting and mitigating attacks using forged authentication objects within a domain
US11055601B2 (en) 2015-10-28 2021-07-06 Qomplx, Inc. System and methods for creation of learning agents in simulated environments
JP6682254B2 (ja) 2015-12-08 2020-04-15 キヤノン株式会社 認証連携システム及び認証連携方法、認可サーバー及びプログラム
JP6677496B2 (ja) * 2015-12-08 2020-04-08 キヤノン株式会社 認証連携システム及び認証連携方法、認可サーバー、アプリケーションサーバー及びプログラム
US10726491B1 (en) 2015-12-28 2020-07-28 Plaid Inc. Parameter-based computer evaluation of user accounts based on user account data stored in one or more databases
US20170187700A1 (en) * 2015-12-28 2017-06-29 Paypal, Inc. Pregenerated two-factor authentication tokens
US10171457B2 (en) * 2015-12-29 2019-01-01 International Business Machines Corporation Service provider initiated additional authentication in a federated system
US10984468B1 (en) 2016-01-06 2021-04-20 Plaid Inc. Systems and methods for estimating past and prospective attribute values associated with a user account
CN109478134B (zh) * 2016-06-30 2022-08-26 亚马逊技术有限公司 用跨账户别名执行按需网络代码
US10621314B2 (en) * 2016-08-01 2020-04-14 Palantir Technologies Inc. Secure deployment of a software package
US10778718B2 (en) * 2016-09-16 2020-09-15 Salesforce.Com, Inc. Phishing detection and prevention
US10348713B2 (en) * 2016-09-16 2019-07-09 Oracle International Corporation Pluggable authentication for enterprise web application
CN107979577B (zh) * 2016-10-25 2021-10-15 华为技术有限公司 一种终端认证的方法及设备
EP3586472B1 (en) 2017-02-21 2021-12-08 Fingerprint Cards Anacatum IP AB Trusted key server
US10796591B2 (en) 2017-04-11 2020-10-06 SpoonRead Inc. Electronic document presentation management system
US10846391B1 (en) 2017-04-24 2020-11-24 Architecture Technology Corporation Secure authentication using fast authentication factors
US10999262B1 (en) 2017-04-24 2021-05-04 Architecture Technology Corporation High assurance tactical cross-domain hub
US10878421B2 (en) 2017-07-22 2020-12-29 Plaid Inc. Data verified deposits
US11468085B2 (en) 2017-07-22 2022-10-11 Plaid Inc. Browser-based aggregation
WO2019219205A1 (en) * 2018-05-18 2019-11-21 Telefonaktiebolaget Lm Ericsson (Publ) Application program access control
KR102502167B1 (ko) * 2018-05-25 2023-02-20 삼성에스디에스 주식회사 클라우드 플랫폼에 기반한 서비스 제공 방법 및 그 시스템
US11388171B2 (en) * 2018-07-25 2022-07-12 SlackTechnologies, LLC Method, apparatus, and computer program product for installing and updating third party applications requiring variable host address identification in a group-based communication system
SG10201806602VA (en) * 2018-08-02 2020-03-30 Mastercard International Inc Methods and systems for identification of breach attempts in a client-server communication using access tokens
US11316862B1 (en) * 2018-09-14 2022-04-26 Plaid Inc. Secure authorization of access to user accounts by one or more authorization mechanisms
US11240030B2 (en) * 2018-12-27 2022-02-01 Paypal, Inc. Token management layer for automating authentication during communication channel interactions
US11463430B2 (en) * 2019-02-01 2022-10-04 Rsa Security Llc Authentication based on shared secret updates
CN112350978A (zh) * 2019-08-08 2021-02-09 中移(苏州)软件技术有限公司 一种业务处理方法、系统、设备及存储介质
JP2021043675A (ja) * 2019-09-10 2021-03-18 富士通株式会社 制御方法、制御プログラム、情報処理装置及び情報処理システム
US11710373B2 (en) * 2020-01-23 2023-07-25 SpoonRead Inc. Distributed ledger based distributed gaming system
US11887069B2 (en) 2020-05-05 2024-01-30 Plaid Inc. Secure updating of allocations to user accounts
US11582106B2 (en) * 2020-07-22 2023-02-14 Servicenow, Inc. Automatic discovery of cloud-based infrastructure and resources
US11095506B1 (en) 2020-07-22 2021-08-17 Servicenow, Inc. Discovery of resources associated with cloud operating system
US11249742B1 (en) * 2020-09-25 2022-02-15 Jpmorgan Chase Bank, N.A. Systems and methods for zero-touch infrastructure build automation
CN112272093B (zh) * 2020-10-12 2023-01-31 深圳市欢太科技有限公司 一种令牌管理的方法、电子设备及可读存储介质
US11327960B1 (en) 2020-10-16 2022-05-10 Plaid Inc. Systems and methods for data parsing
CN112347440B (zh) * 2020-11-13 2023-08-29 北京国泰网信科技有限公司 一种工控设备的用户访问权限分置系统及其使用方法
US20220166762A1 (en) * 2020-11-25 2022-05-26 Microsoft Technology Licensing, Llc Integrated circuit for obtaining enhanced privileges for a network-based resource and performing actions in accordance therewith
US20220217136A1 (en) * 2021-01-04 2022-07-07 Bank Of America Corporation Identity verification through multisystem cooperation
US11947655B1 (en) 2021-02-02 2024-04-02 Architecture Technology Corporation Secure authentication using companion trust
US11818102B2 (en) * 2021-04-16 2023-11-14 Nokia Technologies Oy Security enhancement on inter-network communication
KR102345866B1 (ko) * 2021-05-13 2022-01-03 주식회사 엠엘소프트 서버시스템 및 서버시스템에서 수행되는 사용자단말에 대한 통신 보안방법
US20220385481A1 (en) * 2021-06-01 2022-12-01 International Business Machines Corporation Certificate-based multi-factor authentication
US11681787B1 (en) * 2021-10-15 2023-06-20 T Stamp Inc. Ownership validation for cryptographic asset contracts using irreversibly transformed identity tokens
KR102463051B1 (ko) * 2021-11-23 2022-11-03 펜타시큐리티시스템 주식회사 선박 네트워크 접근제어 방법 및 장치
US11924285B2 (en) * 2022-04-28 2024-03-05 Dell Products L.P. Data center asset deployment via a connectivity management deployment operation

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6144959A (en) * 1997-08-18 2000-11-07 Novell, Inc. System and method for managing user accounts in a communication network
US8538843B2 (en) * 2000-07-17 2013-09-17 Galactic Computing Corporation Bvi/Bc Method and system for operating an E-commerce service provider
US9928508B2 (en) * 2000-08-04 2018-03-27 Intellectual Ventures I Llc Single sign-on for access to a central data repository
US20020062452A1 (en) * 2000-08-18 2002-05-23 Warwick Ford Countering credentials copying
US7200869B1 (en) * 2000-09-15 2007-04-03 Microsoft Corporation System and method for protecting domain data against unauthorized modification
US20030009385A1 (en) * 2000-12-26 2003-01-09 Tucciarone Joel D. Electronic messaging system and method thereof
US20040122730A1 (en) * 2001-01-02 2004-06-24 Tucciarone Joel D. Electronic messaging system and method thereof
US7162643B1 (en) * 2001-06-15 2007-01-09 Informatica Corporation Method and system for providing transfer of analytic application data over a network
US7529931B2 (en) * 2004-12-23 2009-05-05 Microsoft Corporation Managing elevated rights on a network
US8261058B2 (en) * 2005-03-16 2012-09-04 Dt Labs, Llc System, method and apparatus for electronically protecting data and digital content
US7350074B2 (en) * 2005-04-20 2008-03-25 Microsoft Corporation Peer-to-peer authentication and authorization
US20070067833A1 (en) * 2005-09-20 2007-03-22 Colnot Vincent C Methods and Apparatus for Enabling Secure Network-Based Transactions
CN101110759A (zh) * 2006-07-20 2008-01-23 朗迅科技公司 用于因特网协议电视网络的对等文件下载系统
US8327428B2 (en) * 2006-11-30 2012-12-04 Microsoft Corporation Authenticating linked accounts
US20090089165A1 (en) * 2007-09-28 2009-04-02 Embarq Holdings Company, Llc System and method for a telephony upgrade credit
CN101877637A (zh) * 2009-04-30 2010-11-03 中国移动通信集团江西有限公司 单点登录方法及单点登录系统
US9286446B2 (en) * 2009-12-11 2016-03-15 Sony Corporation Domain spanning applications
US8353019B2 (en) * 2010-03-26 2013-01-08 Canon Kabushiki Kaisha Security token destined for multiple or group of service providers
US20130031616A1 (en) * 2011-02-01 2013-01-31 Google Inc. Methods and Systems for Enabling Multiple Accounts Support
US8869244B1 (en) * 2011-05-03 2014-10-21 Symantec Corporation Techniques for providing role-based access control using dynamic shared accounts
US8490162B1 (en) * 2011-09-29 2013-07-16 Amazon Technologies, Inc. System and method for recognizing malicious credential guessing attacks
CN104081742B (zh) * 2011-12-12 2017-02-22 诺基亚技术有限公司 用于提供联合服务账户的方法和装置
US10282724B2 (en) * 2012-03-06 2019-05-07 Visa International Service Association Security system incorporating mobile device
US20130298215A1 (en) * 2012-05-04 2013-11-07 Rawllin International Inc. Single sign-on user registration for online or client account services
US11424930B2 (en) * 2012-05-22 2022-08-23 Barclays Bank Delaware Systems and methods for providing account information
CN102932341B (zh) * 2012-10-25 2016-01-13 小米科技有限责任公司 一种密码处理方法、装置及设备
US20140245411A1 (en) * 2013-02-22 2014-08-28 Nokia Corporation Method and apparatus for providing account-less access via an account connector platform
US9215064B2 (en) * 2013-10-21 2015-12-15 Adobe Systems Incorporated Distributing keys for decrypting client data
US20150134524A1 (en) * 2013-11-12 2015-05-14 State Farm Mutual Automobile Insurance Company Real-Time External Financial Account Verification
CN103618717B (zh) * 2013-11-28 2017-12-05 北京奇虎科技有限公司 多账户客户信息的动态认证方法、装置和系统
US9838424B2 (en) * 2014-03-20 2017-12-05 Microsoft Technology Licensing, Llc Techniques to provide network security through just-in-time provisioned accounts
US9363263B2 (en) * 2014-08-27 2016-06-07 Bank Of America Corporation Just in time polymorphic authentication
US9800580B2 (en) * 2015-11-16 2017-10-24 Mastercard International Incorporated Systems and methods for authenticating an online user using a secure authorization server

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022177974A (ja) * 2021-05-19 2022-12-02 株式会社信州開発研究所 管理サーバ、クライアントシステム、及び電子機器利用サービス提供方法
JP7209307B2 (ja) 2021-05-19 2023-01-20 株式会社信州開発研究所 管理サーバ、クライアントシステム、及び電子機器利用サービス提供方法

Also Published As

Publication number Publication date
WO2015148331A1 (en) 2015-10-01
EP3123692A1 (en) 2017-02-01
CN106134154A (zh) 2016-11-16
AU2015236415A1 (en) 2016-09-08
CA2940344A1 (en) 2015-10-01
SG11201607675VA (en) 2016-10-28
EP3123692B1 (en) 2017-12-27
MX2016012639A (es) 2016-12-14
PH12016501640A1 (en) 2016-10-03
KR20160138063A (ko) 2016-12-02
IL247281A0 (en) 2016-09-29
CL2016002353A1 (es) 2017-02-24
RU2016138123A (ru) 2018-03-29
US20150281225A1 (en) 2015-10-01

Similar Documents

Publication Publication Date Title
EP3123692B1 (en) Techniques to operate a service with machine generated authentication tokens
US10326795B2 (en) Techniques to provide network security through just-in-time provisioned accounts
US9628448B2 (en) User and device authentication in enterprise systems
US10574648B2 (en) Methods and systems for user authentication
Anakath et al. Privacy preserving multi factor authentication using trust management
US8397077B2 (en) Client side authentication redirection
KR101556069B1 (ko) 대역외 원격 인증
CN107743702B (zh) 托管移动设备的单点登录
US10447682B1 (en) Trust management in an electronic environment
WO2022247359A1 (zh) 集群访问方法、装置、电子设备和介质
US20160330195A1 (en) System and method for securing offline usage of a certificate by otp system
WO2019060016A1 (en) EXTENSIBLE FRAMEWORK FOR AUTHENTICATION
Singh et al. A secure multi-tier authentication scheme in cloud computing environment
Sciarretta et al. Design, formal specification and analysis of multi-factor authentication solutions with a single sign-on experience
Xia et al. Security Access Solution of Cloud Services for Trusted Mobile Terminals Based on TrustZone.
Binu et al. A mobile based remote user authentication scheme without verifier table for cloud based services
CN115600215A (zh) 系统启动方法、系统信息处理方法、装置、设备及其介质
KR101545897B1 (ko) 주기적인 스마트카드 인증을 통한 서버 접근 통제 시스템
JP2009223638A (ja) Webアプリケーション向け生体認証システム及び方法
Cooper Analysis of security in cloud platforms using OpenStack as case study
Farcasin et al. Fluid Passwords-Mitigating the effects of password leaks at the user level
Liang Two-factor human authentication
Noor Beyond Single Sign-On: An in-depth look at single sign-on capabilites, how they work, and how they can be improved.
Lakhe et al. Open Source Authentication in Hadoop
Vijay et al. RAICB: Robust Authentication Immunity Cloud Bucket for Secure Cloud Storage System