JP2017539017A - サービスとしてのアイデンティティインフラストラクチャ - Google Patents

サービスとしてのアイデンティティインフラストラクチャ Download PDF

Info

Publication number
JP2017539017A
JP2017539017A JP2017527822A JP2017527822A JP2017539017A JP 2017539017 A JP2017539017 A JP 2017539017A JP 2017527822 A JP2017527822 A JP 2017527822A JP 2017527822 A JP2017527822 A JP 2017527822A JP 2017539017 A JP2017539017 A JP 2017539017A
Authority
JP
Japan
Prior art keywords
user
identity
authentication
program
security
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.)
Granted
Application number
JP2017527822A
Other languages
English (en)
Other versions
JP6625636B2 (ja
Inventor
エウジェニオ ペース,カルロス
エウジェニオ ペース,カルロス
ウロスキー,マティアス
フェルナンド ローマニエロ,ホセ
フェルナンド ローマニエロ,ホセ
Original Assignee
オース0,インコーポレイテッド
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 オース0,インコーポレイテッド filed Critical オース0,インコーポレイテッド
Publication of JP2017539017A publication Critical patent/JP2017539017A/ja
Application granted granted Critical
Publication of JP6625636B2 publication Critical patent/JP6625636B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/0892Network architectures or network communication protocols for network security for authentication of entities by using authentication-authorization-accounting [AAA] servers or protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Telephonic Communication Services (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Traffic Control Systems (AREA)

Abstract

ユーザアイデンティティの認証のために、複数のアプリケーションへのアクセスのシングルポイントを提供するためのアイデンティティサービスの方法およびシステムである。アプリケーションプログラムインタフェース(API)を介してアプリケーションからの認証要求が受信され、認証要求はログオン情報を含む。認証要求は1または複数のアイデンティティプロバイダに変換される。認証すると、ユーザに関連付けられた1または複数のプログラム拡張スクリプトが連続的に実行される。ユーザに関連付けられたプログラム拡張スクリプトの少なくとも1つに基づいてユーザに権利が付与される。

Description

コンピューティングの能力および普遍性が増加するとともに、人々のコンピューティングへの依存も増し、それはコンピュータハードウェア、コンピュータ実施サービス、またはコンピュータ支援プロセスの形で現れる。コンピューティングへの依存が増加するにつれ、コンピューティングのユーザは、コンピューティングを使用して機密性の高いデータおよび機能を扱うようになった。ユーザは、たとえば個人連絡先情報などの個人情報を日常的に自身のスマートフォンに格納する。ユーザは、注意深く考えることなく、たとえばクレジットカード取引などのコンピュータ化された機能に頼っている。実際、一体化の度合いは、多くのユーザが自身のラップトップ、携帯電話、またはクレジットカードを持っていない時、かつてのユーザが札入れや財布を持っていない時に匹敵する困惑を覚えるほどである。
不都合なことに、このコンピューティング依存によって、悪意を持った第三者が関心を持ちアクセスしようと試みる機密性の高いデータおよび機能が大量に保存されるようになった。一部の悪意を持った第三者は、単純にこれらのデータおよび機能を破損しようとする。他の者は、盗用しようとし得る。したがって、認証されていないユーザが機密データおよび機能にアクセスすることを防ぐためにコンピュータセキュリティシステムが開発されてきた。
コンピュータセキュリティシステムは、特定のコンテキストに特有である。コンテキストは、所与のセキュリティ認証メカニズムが有効である境界を備える。過去、コンテキストはコンピュータアプリケーションのコンテキストであった。たとえば法人ユーザは、人材アプリケーションのための1つのパスワードおよび会計システムのための別のパスワードを有し得る。したがって、第1のパスワードのコンテキストは人材アプリケーションのコンテキストであり、第2のパスワードのコンテキストは会計システムのコンテキストである。あるいは、コンテキストは、たとえばコンピューティングデバイスまたはネットワークなどコンピュータハードウェアプラットフォームのコンテキストであってもよい。たとえば、個人用コンピュータへのログオンは、アプリケーションに特化したセキュリティを有さない、そのコンピュータ上の個人的アプリケーションへのアクセスをもたらし得る。その個人用コンピュータは、ネットワークドライブ、ネットワークプリンタ、および他のネットワークコンピューティングアセットが、その認証されたパーソナルコンピュータに対して使用可能にされ得るように、社内ローカルエリアネットワーク(LAN)上でネットワークセキュリティサービスによって認証され得る。
しかし、データまたは機能の機密性が増すにつれ、より多くの層のセキュリティ管理者が追加される。追加のセキュリティは、追加のコンテキストの増加を招き、その結果これらの追加のコンテキストに対応する認証クレデンシャルの増加がもたらされ、その全てをユーザが管理する。たとえば、ネットワークアクセスのためにパスワードが必要であり、同じネットワーク上の社内データベースにアクセスするために別のパスワードが必要であり、社内データベース上の暗号化レコードに関して、同じユーザが同じLANからそのレコードにアクセスする場合でも暗号鍵が必要であることが珍しくない。
現在、インターネットホスト型サービスの出現により、新たなアプリケーションに関連するコンテキストおよびそれら特有のクレデンシャルも増加してきた。かつてはユーザが自身の個人用ホームネットワーク用のパスワード、自身のワークアカウント、および自身のデビットカード/クレジットカードの個人識別番号(PIN)を追跡することしか必要でなかったが、今やそのユーザは、各々が様々なセキュリティコンテキストを表す様々なインターネットサービスのための個々のアカウントを追跡する必要があり得る。たとえばソーシャルネットワーク(たとえばフェイスブック(登録商標))、電子メールサービス(たとえばGメール(登録商標)やホットメール(登録商標))、および個々のソフトウェアサービス(たとえばSalesforce(登録商標).com)は全て独自のセキュリティコンテキストを有し、それによって個々にクレデンシャルを管理する。
同様に、モバイルデバイスの出現により、コンピュータハードウェアプラットフォームに関連する新たなセキュリティコンテキストおよびそれらに付随するセキュリティクレデンシャルが増加してきた。ユーザが、仕事用および個人用コンピュータのパスワード、並びに自身の携帯電話および/またはタブレットデバイスのロックコードを追跡することは珍しくない。ソフトウェアサービスおよびコンピュータハードウェアプラットフォームの増加が相まって、セキュリティコンテキストの紛れもない爆発的増加が生じている。
セキュリティコンテキストの爆発的増加は、今日のアプリケーション開発者に対して課題をもたらした。ユーザは、自身のコンピューティングリソースの実装詳細が取り除かれることを望む。アプリケーションが社内ネットワークに常駐するかインターネットにおけるクラウドベースであるかにかかわらず、ユーザは一貫したユーザ体験を所望し、セキュリティを一切妥協せずに、異なるセキュリティメカニズムが可能な限り統合されることを望む。たとえばユーザは、インターネットアプリケーションにおける認証を自身のフェイスブック(登録商標)ログオンクレデンシャルに委任したいと望み得る。しかし、アプリケーション開発者は、認証メカニズムをプログラミングし、そのメカニズムを異なるコンテキストと統合し、多種多様なコンピューティングハードウェアおよび/またはソフトウェアプラットフォームに実装するというタスクに直面する。
要するに、ソフトウェアサービスおよびハードウェアプラットフォームが増加するにつれ、アプリケーション開発者は、彼らのアプリケーションの魅力的な特徴の開発に投じる時間を犠牲にして、コンピュータセキュリティにますます長い時間をかけることになる。アプリケーション開発者が魅力的な特徴を生み出さなければ、ユーザはアプリケーションを購入しない。しかし、アプリケーションが安全でなければ、ユーザはやはりアプリケーションを購入しない。したがって、従来技術では対処されなかった上記の問題を緩和し、従来技術では考慮されないコンピュータセキュリティオプションを提供するためのアイデンティティサービスへの必要性がある。
詳細な説明は、添付図面を参照して説明される。図面において、異なる図内の同一参照番号の参照用の左端の数字は、類似または同一の要素を示す。
サービスとしてのアイデンティティインフラストラクチャに関するトップレベルコンテキスト図である。 サービスとしてのアイデンティティインフラストラクチャに関する典型的なハードウェアおよびソフトウェアプラットフォームを示す。 サービスとしてのアイデンティティインフラストラクチャに関する典型的な拡張スクリプトエンジンの図である。 サービスとしてのアイデンティティインフラストラクチャに関する典型的なランタイムの図である。 サービスとしてのアイデンティティインフラストラクチャにおいて用いられるログインウィジェットの図である。 サービスとしてのアイデンティティインフラストラクチャにおいて用いられるダッシュボードユーザインタフェースの典型的なルックアンドフィールの図である。 サービスとしてのアイデンティティインフラストラクチャにおいて用いられる規則ユーザインタフェースの典型的なルックアンドフィールの図である。 サービスとしてのアイデンティティインフラストラクチャのコンテキストにおけるいくつかの典型的な分析報告を示す。
(予備概念および定義)
現在、個人、企業および他の組織、並びに国家は、それらの活動におけるほぼ全ての分野で、コンピュータハードウェア、コンピュータ実施サービス、またはコンピュータ支援プロセスを含むコンピューティングを用いる。コンピューティングへの依存は、機密データおよび機密性の高い機能、または他者がアクセスした場合ユーザに害を及ぼすことになるデータおよび機能に及ぶまで広がっている。個人ユーザは、電話番号、電子メールアドレス、および他の連絡先情報を追跡するためにスマートフォンのコンピューティング能力を使用し得る。たとえば被雇用者などの企業ユーザは、給料の決定および支払いのためにコンピュータ化された給与システムを使用し得る。国家は、国家防衛および機密性の高い公共インフラストラクチャのためにコンピューティングを使用し得る。その結果、これらの活動はいずれも機密データおよび機密性の高い機能を含み、そのどちらも、コンピュータおよび/またはコンピュータ支援/実施サービスの任意の潜在的ユーザが保護しようと努めるものである。
コンピュータセキュリティは、機密データを保護するというプライバシーの概念を含む。保護は、機密性が高いものとして指定されたデータへのアクセスを防止するという形でもたらされ得る。たとえば、個人ユーザは、彼/彼女が他人に知られたくないと望む銀行口座残高を有し得る。したがってその個人は、その銀行口座残高情報へのアクセスを、たとえば配偶者、または銀行の従業員などの特定の役割の人物といった特定の個人に限定し得る。また保護は、データの破損を防ぐという形でももたらされ得る。たとえば、個人のユーザは、個人的なスケジュール情報を有する個人用コンピュータを有し得る。悪意を持った者が個人データを読み取ることができないとしても、その代わりに悪事を企て、スケジュール情報を変更、削除、あるいは破壊するためにコンピュータウィルスを仕掛けることがある。
コンピュータセキュリティの概念は、機能の保護も含む。データの保護と同様、機能の保護は、ユーザが、他のユーザが機密性の高いコンピュータ機能にアクセスし、またはそれを実行することを防ぐことと、悪意を持った第三者が機密性の高いコンピュータ機能を破壊することを防ぐこととの両方を含む。前者の例は、個人ユーザが、彼または彼女の銀行口座から他者が預金を電子的に引き出すことを防ごうとすることである。後者の例は、ユーザが、悪意を持った第三者がアプリケーションを破壊しそのコンピュータ機能のサービスへの個人ユーザのアクセスを拒否するようにすることを防ぐためのコンピュータウィルス防止プログラムを追加することである。
上述したように、プライバシーおよび保護機能は、それぞれデータおよび機能を保護することを備える。コンピュータセキュリティメカニズムによって保護され得るデータおよび機能の範囲が、コンピュータセキュリティメカニズムのセキュリティコンテキストである。すなわち、コンピュータセキュリティメカニズムは、そのコンピュータセキュリティメカニズムによる認証および承認が信頼される、データおよび機能のドメインを有する。ドメインの範囲がセキュリティコンテキストであり、セキュリティコンテキストから離れることは、セキュリティコンテキストの信頼境界を越えることであると言える。
したがって、セキュリティコンテキストのための効果的なコンピュータセキュリティは、そのセキュリティコンテキストに関する認証および承認の概念を含む。認証は、正当なユーザを識別し、彼らが保護されたデータおよび/または機能にアクセスできるようにしようとする試みにおけるアイデンティティの証明である。ユーザを認証する一般的な方法としてクレデンシャルがある。クレデンシャルは、様々な形でもたらされ得る。認証は、たとえば保護側のユーザがパスワードを所持することなど、情報の所持によるものであってよい。認証は、たとえばセキュリティユーザが鍵などのアーチファクトを所持することなど、アーチファクトの所持によるものであってよい。所持による認証の個人的形態は、網膜スキャンまたは指紋スキャンによるものである。また認証は、たとえばクレジットカード保有者の過去の購買との一貫性がない購買をクレジットカード会社が停止することなど、挙動によるものであってもよい。要するに、認証は、ユーザが自称する本人であることを証明するためにクレデンシャルを用いることである。
認証は、認証の成功後、所与のコンテキストにおける保護されたデータおよび/またはコンピューティング機能へのアクセスを可能にすることである。上述したように、認証は多くの場合、想定されるクレデンシャルを保持することによってユーザが自称する者であることを証明することに限定される。ただし、認証中、ユーザは人間である必要はなく、機械またはプログラムであってもよい。認証と同様、認証を実行するセキュリティメカニズムは、セキュリティコンテキストによって定められる範囲を有する。したがって、実用的には、認証は多くの場合、ユーザが認証されると、保護されたデータおよび/またはコンピューティング機能へアクセスする権利にユーザをマッピングすることを含む。認証技術は、権利を付与し、アクセス制御リストを作成および保持し、アクセスポリシおよび規則を作成および保持するシステム管理者機能を含む。要するに、認証は、たとえばシステム管理者などの一人のユーザから、他のユーザへの権利の発行である。認証に関するコンテキストは多くの場合、動的である。所与のユーザができることや、彼がアクセスし得るリソースは、たとえば時間、挙動、および場所に基づいて変化してよい。ユーザが一日のうちに異常な回数同じリソースにアクセスした場合、彼は、彼が自称する本人であることの追加の証明を提供するように要求され得る。彼が通常接続しているネットワーク以外のネットワークからアクセスした場合も同様である。
認証に先立って、コンピュータセキュリティは、実際の保護またはデータおよび/もしくはコンピューティング機能を含む。具体的には、保護は、認証されていないアクセスを防ぐために用いられる手段である。現在、データおよび/またはコンピューティング機能の保護には暗号が利用される。暗号は、たとえば長い素数などの数学的鍵を発見する困難を伴わずにアクセスされる場合に、データまたは機能を難解かつ使用不可能な形式に変換することである。現在の暗号技術は一方向関数を利用してよく、一方向関数は、関数の計算(すなわち暗号化)は比較的迅速であるが、逆関数の計算(すなわち復号化)は、数学的鍵がない状態で従来の技術を用いると数年または数百年を要するほど非常に緩慢であるためそのように呼ばれる。
したがって、認証されると、ユーザはコンピュータセキュリティシステムによって鍵を提供され、それによって、ユーザが認証された保護データおよび/または機能へのアクセス権を得る。このように、コンピュータセキュリティは、鍵生成、鍵配布、および鍵管理を含む。鍵生成は、暗号関数に関する1または複数の鍵を作成することである。対称暗号は一般に、秘密に保たれ関係者間で共有される単一の鍵を利用する。非対称暗号は、たとえば楕円曲線および係数指数が鍵ペアを含むような暗号関数を利用し、第1の鍵は、第2のユーザへの通信を暗号化するために第1のユーザに公知され、第2の鍵は、第2のユーザによって秘密に保たれ、第1のユーザによって暗号化された通信を復号化するために使用される。
対称および非対称暗号はどちらも、少なくともいくつかの生成された鍵が秘密に保たれることに頼る。したがって、鍵配布は、鍵を配布するだけではなく、認証されていない者および/または悪意を持った者に鍵が傍受されることを防ぐことにも関係する。鍵配布技術は、認証されたユーザのみが生成された鍵を受け取ることを確実にするためのプロトコルを含む。配布された鍵が漏洩するというリスクが常に伴うので、鍵管理は、鍵をいつどのように作成、配布し、失効させるかに関するポリシを設定および実装することである。
コンピュータデータおよび/またはコンピュータ機能の機密性が十分に高い場合も、最終的にはコンピュータセキュリティは攻撃を受けることもある。監査は、損害予測および応答の開発が十分可能であるようにこれらの攻撃を検出することである。監査は、事前型、リアルタイム、または反応型であってよい。事前監査は、悪意を持った第三者による査察を検出し、コンピュータセキュリティ防衛をテストすることを含んでよい。リアルタイム監査は、現在進行中の攻撃を検出することを含んでよい。反応監査は、攻撃が発生したことを検出することを含んでよく、損害予測を更に含んでもよい。
(サービスとしてのアイデンティティ)
上述したように、認証は、多くの場合、有効であり得る予想通りのクレデンシャルを提示することによって、ユーザ、人間、機械、またはその他が自称するものであることを証明することである。ユーザと、ユーザ自身のそれぞれのクレデンシャルとが重なることが、そのユーザのアイデンティティである。アイデンティティの概念は、ユーザセキュリティをカプセル化する抽象的概念である。したがって、アイデンティティ管理は、認証、承認、および監査を含むコンピュータセキュリティ機能のサブセットであるが、たとえば暗号インフラストラクチャなど基礎となる保護メカニズムではない。
1つの態様において、本特許出願は、広範囲のセキュリティコンテキストにおけるコンピュータアプリケーションおよびデバイスにためのコンピュータセキュリティ機能をサポートするアイデンティティインフラストラクチャサービスについて説明する。具体的には、アイデンティティインフラストラクチャサービスは、任意のアイデンティティプロバイダ/セキュリティデリゲートまたはアイデンティティプロバイダ/セキュリティデリゲートの任意のセットを用いて、複数のハードウェアおよびソフトウェアプラットフォームにわたって保護されるデータおよび機能の任意のセットに関する任意のセキュリティコンテキストをもたらすことを可能にする。また、アイデンティティインフラストラクチャサービスは、アイデンティティサービスをプログラムで制御する方法を提供し、それによってセキュリティコンテキストの範囲および動作を動的なものにする。したがって、アイデンティティインフラストラクチャサービスは、アプリケーションプログラミングインタフェース(「API」)を公開する。アイデンティティインフラストラクチャサービスの集中/集合特性により、多くの場合アイデンティティインフラストラクチャサービスは、たとえばプロビジョニング、デプロビジョニング、ユーザ検証、およびユーザプロファイルなどのユーザ管理機能と併用され、または密接に結び付けられ得る。具体的には、ユーザ管理は、セキュリティに関連することも関連しないこともあるユーザ属性を管理することである。
サービスとしてのアイデンティティを開発する利点は、セキュリティコンテキストの信頼境界が、ユーザの観点および管理者の観点の双方から統合されることである。従来技術によるアイデンティティスキームは、様々な認証スキームだけではなく様々な場所で実施される様々なサービスも継ぎ合せていた。たとえばユーザの観点から見ると、社内LANへのログオンおよびローカル会計システムへのログオンは、単に独立した2つのログオンを意味するものではない。これは、ユーザが、各ログオンによって少なくとも1つのセキュリティコンテキストの信頼境界を越えなければならないことを意味し、会計システムへのログオンは、ネットワーク上で信頼されていることを意味するものではなく、LANへのログオンは、会計システム上で信頼されていることを意味するものではない。管理者は、ユーザが会計システムから印刷およびファイルサービスにアクセスできるように、たとえばLAN上の会計管理アカウントを作成するといったやり方をする必要があった。管理者の観点から見ると、管理者は、単一のユーザの観点からアカウントのセキュリティステータスを見ることができない。たとえば、ハッカーがユーザをハッキングしようと試みた場合、管理者は、ユーザのLANアカウントへの攻撃およびユーザの会計システムアカウントへの攻撃を2つの無関係のイベントとして扱わなければならず、その結果、ハッキング攻撃の検出およびそれに対する応答が遅くなる。
1つの態様において、本特許出願は、セキュリティコンテキストに関して、1または複数の拡張スクリプトおよび/もしくは他のプログラムを備えるプログラム拡張を介してプログラムによって、並びに/またはツールおよび他の設定メカニズムを介して管理者によって、コンピュータセキュリティ機能を開発するためのツール、ライブラリ、および他の環境要素を説明する。また、本特許出願は、様々なアイデンティティ管理の使用事例をサポートするための集中型サービスを説明する。
図1は、アイデンティティインフラストラクチャサービスの典型的な実施形態を示すトップレベル図100である。アイデンティティインフラストラクチャサービスは、アイデンティティおよびユーザ管理サービスへアクセスするためのシングルポイントを提供する。具体的には、図100は、アイデンティティインフラストラクチャサーバ102、様々な開発プラットフォーム104との統合、様々なセキュリティデリゲートとの接続106、様々な認証プロトコル108へのアクセス、様々なクレデンシャルおよび認証のためのストレージ110、ユーザ管理および認証機能112、並びに監査および分析機能114を示す。
(アイデンティティインフラストラクチャサーバ)
アイデンティティインフラストラクチャサーバ102は、アプリケーション開発者がアイデンティティおよびユーザ管理サービスへアクセスするためのシングルポイントを提供するソフトウェアサービスのセットである。具体的には、たとえば認証、承認、および監査などの特定の機能がアイデンティティインフラストラクチャサーバ102において実行され得る。それによってアイデンティティインフラストラクチャサーバ102は、様々なデータおよび機能にわたり、任意のアイデンティティプロバイダを用いて、任意のセキュリティコンテキストの生成をもたらす。
認証は、アイデンティティプロバイダによってネイティブに実行されてよく、または委任されてもよい。アイデンティティプロバイダが委任される場合、これはセキュリティデリゲートとして知られる。インフラストラクチャサーバ102は、エンタープライズ外部ブローカーアプリケーションプログラミングインタフェース(「API」)116を認証のために公開する。エンタープライズブローカーAPI116は、たとえばセキュリティアサーションマークアップランゲージ(「SAML」)、WS−Federation、WS−Trust、OpenID接続、OAuth1、OAuth2、または完全カスタムクレデンシャルストアなどの認証データフォーマットおよび/またはプロトコルへのAPI呼出しを実行する外部認証ブローカー118へのプログラムによるアクセス(Programmatic access)を提供する。このように、APIは、一様なプログラミングインタフェースを提供するとともに、過去、現在、および未来の多種多様な認証データフォーマットおよびプロトコルへの参加を可能にする。
いくつかの認証データフォーマットおよび/またはプロトコルは、ユーザクレデンシャル120のローカルストレージを想定する。あるいは、ユーザクレデンシャルは非ローカルストレージ110に格納されてもよい。
インフラストラクチャサーバ102は、様々な認証技術へのプログラムによるアクセスを提供する外部認証API122も公開する。具体的には、外部認証API122は、ソーシャル認証ブローカー124にアクセスし、またはデータベース接続126とインタフェース接続してよく、それらが様々なセキュリティデリゲートへの様々な接続106を呼び出してよい。ただし、セキュリティデリゲートは、クラウドサービスおよび他のインターネットホスト型サービスであってよい。あるいはセキュリティデリゲートは、LAN上でホストされるサービスであってもよい。外部認証API122は、外部ブローカー116、外部認証ブローカー118、および認証ブローカー124を含む全てのブローカーおよびデリゲートに対して可視性があるので、シングルサインオン機能128を実装し得る。認証時、認証は認証拡張スクリプトエンジン130を介して実行される。シングルサインオン128および認証拡張スクリプトエンジン130の更なる動作詳細は、図3および図4を参照して説明される。
アイデンティティインフラストラクチャサーバ102の様々なコンポーネントの実装は、ランタイム132において実行されてよい。ランタイムは、更なるセキュリティ分離を提供してよい。ランタイム132のセキュリティ特徴は、図4を参照して更に詳しく説明される。
(開発プラットフォーム)
上述したように、アイデンティティインフラストラクチャサーバ102は、アイデンティティ管理およびユーザ管理機能、エンタープライズ/LANおよび外部データベース/クラウドサービスに関して、また様々なプロトコル、データフォーマットに関して、並びに様々なアイデンティティプロバイダおよびセキュリティデリゲートに対して、一様なAPIを公開する。
同様に、クライアント側で、ソフトウェア開発キット(「SDK」)104により、API116および122へアクセスするためのツールおよびライブラリを提供する。SDK104は、多種多様なクライアントプラットフォームのサポートにおいて開発者を支援するための一様なプログラムモデルを提供するために役立つ。具体的には、パーソナルコンピュータアプリケーションは、マイクロソフト(登録商標)ウィンドウズ(登録商標)プラットフォームのためのSDK134またはアップル(登録商標)MacOS(登録商標)のためのSDK136によってサポートされる。ウェブアプリケーションもまた特定のSDK138を有し、アンドロイド(登録商標)SDK140およびアップルiOS SDK142を介するモバイルデバイスも同様である。
各SDK104は、その基礎となるオペレーティングシステム/ソフトウェアプラットフォームに特化しているが、様々なオペレーティングシステム/プラットフォームのためのアプリケーション開発を容易にするためにSDKは一貫して実装される。それらが実行している基礎プラットフォームの特異性を考慮して同一の機能を実行する意味的および統語的に同様のライブラリによって、この一貫性の利点が1つの観点から示される。JAVA(登録商標)スクリプトコードを実行することができる任意のアプリケーションのログインダイアログを提供するために単体ソースコードを提供する、JAVAスクリプトログインウィジェット144によって、この利点が他の観点から示される。JAVAスクリプトログインウィジェット144の動作は、図5を参照して更に詳しく説明される。
セキュリティ委任のための接続
(セキュリティ委任のための接続)
アイデンティティインフラストラクチャサーバ102は通常、セキュリティを実装することはなく、むしろブローカーセキュリティがアイデンティティプロバイダおよびセキュリティデリゲートを形成する。したがって、アイデンティティインフラストラクチャサーバ102は、ネイティブアイデンティティプロバイダを介してネイティブセキュリティを公開し、接続106を介して多種多様なセキュリティデリゲートとのインタフェース接続を提供する。接続は、エンタープライズセキュリティ146、クラウドサービス148、または第三者認証プロバイダ150に委任し得る。
エンタープライズセキュリティ接続146は、一般的にエンタープライズオンプレミスネットワーク(LAN)においてセキュリティサーバとのインタフェースを管理する。たとえば、ケルベロスキーサーバは、LANドメインに常駐してよい。アイデンティティインフラストラクチャサーバ102がケルベロスベースセキュリティサーバへアクセスするために、アイデンティティインフラストラクチャサーバ102は、ケルベロスキーサーバの場所を特定しハンドシェイクしなければならない。これは通常、たとえばマイクロソフトアクティブディレクトリなどのドメインディレクトリサービスまたはたとえばOpenLDAPなどのライトウェイトディレクトリアクセスプロトコル(「LDAP」)サービスを介して行われる。セキュリティサーバの特定およびそれとのハンドシェイクが成功すると、ユーザが認証され得る。
クラウドサービス接続148は、それらの認証メカニズムへの委任を提供するクラウドサービスとの接続である。たとえば、フェイスブック(登録商標)およびグーグル(登録商標)Gメール(登録商標)はいずれもユーザを認証する。クラウドサービス接続148は、ユーザのアイデンティティを証明するために、アプリケーションがそれぞれのAPIを介して第三者クラウドアプリケーションへアクセスすることを可能にする。
第三者認証プロバイダ接続150は、クラウドサービス接続とは異なりハイパーテキスト転送プロトコル(「HTTP」)を介して通信するのではない第三者認証プロバイダとの接続である。この例には、ベリサイン(登録商標)および米政府固有の認証プロバイダが含まれる。
(認証サービスおよびプロトコル)
アイデンティティインフラストラクチャサーバ102は、多種多様な認証プロトコルをサポートする。したがって、アイデンティティインフラストラクチャサーバ102は、特定の認証プロトコルをサポートする外部コンポーネント108を利用してよい。たとえばOAuth2.0は、アイデンティティインフラストラクチャサーバ102から遠隔にある信頼される第三者サーバを利用してよい。そのようなシナリオにおいて、アイデンティティインフラストラクチャサーバ102は、これらの第三者コンポーネント108とインタフェース接続する。
(クレデンシャル永続化)
アイデンティティインフラストラクチャサーバ102は、クレデンシャル、認証拡張スクリプト、メタデータ、およびアイデンティティインフラストラクチャサーバ102の動作中に使用される他のデータを格納するための外部永続化サーバ110を有する。永続化サーバは、限定されないが、リレーショナルデータベース管理サーバ(「RDMBS」)またはオブジェクト指向データベース、列指向データベース、またはNoSQLデータベースであってよい。
永続化サーバ110は、たとえばクレデンシャルなどの機密情報を格納し得るので、レコード単位の暗号化を実行してよい。
(ユーザ管理および認証機能)
アイデンティティインフラストラクチャサーバ102は、アイデンティティ管理だけではなくユーザ管理および認証機能を提供するダッシュボード112を介して操作される。ダッシュボード112は、ユーザプロビジョニングが行われるユーザ管理機能152を含む。アプリケーションプリファレンスは、アプリケーションコンポーネント154を介して設定され得る。接続コンポーネント156を介して接続が追加、削除、編集、または設定され得る。拡張スクリプトエディタ158は、入力および接続のインタフェースとなるスクリプトを介して、アプリケーション権利に関するユーザの承認のプログラム制御を提供する。ダッシュボード112は、図6を参照して更に詳しく説明される。
拡張スクリプトエディタ158は、アイデンティティサーバを介してアクセス可能な任意のリソースおよび/またはクライアントにおける任意のリソースに対する非常に高度な論理およびプログラム制御を提供する。具体的には、拡張スクリプトエディタ158は、特定の範囲のユーザアクティビティに依存して権利が有効化/無効化される、アクションをコンテキスト化し得る1または複数の拡張スクリプトから成るプログラム拡張の開発をサポートする。コンテキスト化されたアクションは、図3を参照して更に詳しく説明され、拡張スクリプトエディタは図6を参照して更に詳しく説明される。
(監査機能)
ダッシュボード112はまた、監査および報告機能114もサポートする。管理者は、たとえばログオン試行、失敗した試行、およびアクセスしたアプリケーションなど、ユーザのアイデンティティに関連する全ての活動をレビューしてよい。報告機能は、多種多様な分析機能および報告を提供することによって、事前の、リアルタイムの、および反応的な監査を支援する。分析機能および報告は、図7を参照して更に詳しく説明される。
(典型的なハードウェアプラットフォーム)
図2は、意味的保証付きアプリケーションの自動ポーティングのためのハードウェア環境200の考えられる1つの実施形態を示す。
クライアントデバイス202は、任意のコンピューティングデバイスである。典型的なコンピューティングデバイスは、限定されないが、パーソナルコンピュータ、タブレットコンピュータ、スマートフォン、スマートテレビ、スマートメディアプレーヤー、およびたとえばキャッシュマシンなどのセキュアキオスクを含む。クライアントデバイス202は、プロセッサ204およびメモリ206を有してよい。クライアントデバイス202のメモリ206は、アプリケーション208および/またはオペレーティングシステム210を含むいくつかのプログラムを格納し得る任意のコンピュータ可読媒体である。
コンピュータ可読媒体は少なくとも、2種類のコンピュータ可読媒体、すなわちコンピュータ可読媒体および通信媒体を含む。コンピュータ記憶媒体は、たとえばコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するための任意の方法または技術によって実装される、揮発性および不揮発性、消去可能および消去不可能な媒体を含む。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタルバーサタイルディスク(DVD)もしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、またはコンピューティングデバイスによってアクセスするための情報を格納するために用いられ得る他の任意の非伝送媒体を含むが、これに限定されない。対照的に、通信媒体は、コンピュータ可読媒体、データ構造、プログラムモジュール、または他のデータを、たとえば搬送波や他の伝送メカニズムなどの変調データ信号において具現化し得る。本明細書で定義されるように、コンピュータ記憶媒体は、通信媒体を含まない。
通信環境に参加するために、ユーザ機器デバイス202は、ネットワークインタフェース212を有してよい。ネットワークインタフェース212は、イーサネット(登録商標)、Wi−Fi、または任意の数の他の物理およびデータリンク標準インタフェースを含む、1または複数のネットワークインタフェースであってよい。ユーザがスタンドアロン型単独マシンでの動作のみを必要とする場合、ネットワークインタフェース212は任意選択である。
クライアント202は、サーバ214に通信してよい。サーバ214は、ネットワークに参加し得る任意のコンピューティングデバイスである。ネットワークは、限定されないが、ローカルエリアネットワーク(「LAN」)、仮想プライベートネットワーク(「VPN」)、セルラネットワーク、またはインターネットであってよい。クライアントネットワークインタフェース212は、サーバネットワークインタフェース216を介してサーバ214に最終的に接続してよい。サーバネットワークインタフェース216は、クライアントネットワークインタフェース212に関して説明されたような1または複数のネットワークインタフェースであってよい。
またサーバ214は、プロセッサ218およびメモリ220も有する。クライアントデバイス202に関する上記説明のとおり、メモリ220は、コンピュータ記憶媒体および通信媒体の両方を含む任意のコンピュータ可読媒体である。
特に、メモリ220は、アプリケーション222および/またはオペレーティングシステム224を含み得るソフトウェアを格納する。メモリ216もまた、限定されないが、アプリケーションサーバおよびデータベース管理システムを含み得るアプリケーション222を格納し得る。したがって、サーバ214はデータストア226を含み得る。データストア226は、リレーショナルデータベース、オブジェクト指向データベース、NoSQLデータベース、および/または列指向データベース、または拡張可能な永続化をサポートする任意の構成として構成され得る。
サーバ214は、オンサイトである、またはクライアントエンタープライズによって操作される必要はない。サーバ214は、クラウド設備228においてインターネットでホストされてよい。クラウド設備228は、仮想ウェブアプリケーションサーバ230、232の機能、および仮想データベース234の機能を提供する複数の個別のサーバを表してよい。クラウド228のサービス232、234は、クラウドインフラストラクチャ236を介してアクセス可能にされてよい。クラウドインフラストラクチャ236は、クラウドサービス230、232へのアクセスだけではなく、課金サービスへのアクセスも提供する。クラウドインフラストラクチャ236は、たとえばサービスとしてのプラットフォーム(「PAAS」)、サービスとしてのインフラストラクチャ(「IAAS」)、およびサービスとしてのソフトウェア(「SAAS」)など、更なるサービス抽象化を提供し得る。
(サービスとしてのアイデンティティのための支援ツールおよび環境)
(概観)
サービスとしてのアイデンティティは、従来技術によってもたらされない利点を生み出す。アイデンティティおよびセキュリティ機能が集中化されることにより、セキュリティコンテキストの信頼境界が複数回交差せず、その結果、動作と報告との統合が簡単になる。以下、図1を参照して説明されたようなアイデンティティインフラストラクチャを備える選択されたコンポーネントが説明される。
(拡張スクリプトエンジン)
ユーザの認証は、ユーザがシステム全体に関して認証されるか、またはシステムから締め出されるかのいずれかである単純な2項演算から進化を遂げてきた。認証は、システムの一部に対する特定の個別的権利をトリガし得るだけではなく、条件付きであってもよい。システムの特定の部分に特化した権利を許可するための条件のカプセル化は、規則と呼ばれる。たとえば管理者は、3つの特定のマシンのみに対してアクセスが許可され、特定のファイルに対する読取専用の権利が許可される、一時的技術者のロールを構成してよい。
ロールを越えて、サービスとしてのアイデンティティにおいて、プログラム拡張は、1または複数の拡張スクリプトを備える。プログラム拡張は、汎用拡張モデルを提供する。プログラム拡張およびそれらの拡張スクリプトは、任意のプログラム目的に、セキュリティベース、アイデンティティベース、またはその他で適用され得る。たとえば、プログラム拡張は、非セキュリティまたは非アイデンティティベースの情報、および/または非セキュリティまたは非アイデンティティカスタムAPIの集合においてトリガしてよい。
しかし、プログラム拡張は、セキュリティおよび/またはアイデンティティコンテキストにも広範囲に適用されてよい。プログラム拡張は、アプリケーション単位/ユーザ単位でコンテキスト化された認証を可能にする。具体的には、アイデンティティサービスは、たとえば保護されるべきアプリケーションおよび/もしくはそれら各々のAPI、ネットワークリソース、並びに/または保護されるべきデバイスへのアクセスなど、保護される任意のデータおよび機能へのアクセスを提供する。ユーザは更に、アプリケーションおよび/またはデバイスをアクセス可能にするためにカスタムAPIを作成してよい。その結果デバイスアクセシビリティに関するサポートは、「モノのインターネット」の要素を保護することを可能にし得る。データおよび機能へのアクセスは、プログラム拡張を構成する1または複数の拡張スクリプトを介して1または複数のアイデンティティプロバイダおよび/またはセキュリティデリゲートによって保護され得る。その結果、拡張スクリプトは、任意のセキュリティコンテキストをプログラムで作成することができる。したがって、1または複数の拡張スクリプトが組み合わさって、アイデンティティサービスのプログラム拡張を構成する。また、プログラム拡張は基本的にプログラムに従うので、作成されたセキュリティコンテキストの範囲および挙動は動的である。プログラム拡張の拡張スクリプトは、アイデンティティサーバおよびクライアントが利用可能な任意の入力へのアクセスを有するので、セキュリティコンテキストの範囲は、これらの入力のいずれかに応答して変化してよい。
プログラム拡張の拡張スクリプトは、任意のアイデンティティ、任意の制約、モジュール内の機能のホワイトリスト、ユニフォームリソース識別子(「URI」)のホワイトリストなどに結び付けてよい。そのようなリソースは全て、セキュリティコンテキストの作成および管理において拡張スクリプトによってプログラムで制御されてよい。一例として、新しい顧客による任意のログオンがスクリプトによって検出され、企業担当者が追跡するために顧客関係管理(「CRM」)アプリケーションにおいてレコードが作成された際のプログラム拡張を考える。そのような機能は、全てプログラム拡張による、CRM機能を備えたアイデンティティ機能をプログラムによって拡張する例である。
サービスとしてのアイデンティティにおいて、プログラム拡張によって作成されるセキュリティコンテキストは、システムの範囲を超えて適用し、1つのアイデンティティプロバイダおよび/またはメカニズムの範囲を超えて適用し得る。システムおよび様々なアイデンティティプロバイダおよび/またはメカニズムのアイデンティティ/セキュリティサービスの集中化によって、単一の拡張スクリプトにより、任意のサービスおよび/またはメカニズムを制約し得る。図3は、アイデンティティインフラストラクチャにおける、1または複数のプログラム拡張に関する拡張スクリプトの管理およびこれらの拡張スクリプトの実行を示す。
アイデンティティサーバ302は、ランタイム304、およびサンドボックス306を含む。ランタイム304およびサンドボックスは、図4を参照して更に詳しく説明される。拡張スクリプト308は、アプリケーションAPI、セキュリティAPI、アイデンティティプロバイダとのAPI、およびアイデンティティサーバ302が使用可能な他の任意のAPIを呼び出すアイデンティティサービスのプログラム拡張を構成する。最も注目すべきは、単一のプログラム拡張の拡張スクリプトが、様々なアプリケーション、様々なセキュリティメカニズム、様々なアイデンティティプロバイダからAPIを呼び出す可能性があるという点である。したがって、拡張スクリプトは、セキュリティサービスをプログラムによって拡張するためのメカニズムを提供する。プログラム拡張に加えて、管理者は1または複数の拡張スクリプトをプログラムしてよく、この場合拡張スクリプトは、アイデンティティサーバ302のためのプログラム拡張に関連付けられた周知のネームスペースを共有する。プログラム拡張の構成要素である拡張スクリプトはその後、通常はアイデンティティサーバのローカルストレージにおいてアイデンティティサーバ302へアップロードされるが、ネットワークストレージにアップロードされることもある。反対に、プログラム拡張は、その構成要素である拡張スクリプトをストレージから削除することによって消去され得る。アップロードされた拡張スクリプト308は、ユーザ310またはユーザロール312、すなわち共通の権利のセットを有するユーザグループに関連付けられてよい。アップロードされたプログラム拡張308は、アクティブまたは非アクティブに設定されてよい。したがって、プログラム拡張308を、非アクティブ化のために削除する必要はない。
拡張スクリプトの動作の一例は、プログラム拡張とユーザおよび/またはロールとの関連付けである。この例において、ユーザ310は、アプリケーション314にログオンしようと試みる。アプリケーション314はその後、自身のAPIを介してアイデンティティサーバ302を呼び出し、認証要求の形式でログオン情報を送信する。アイデンティティサーバ302はその後、認証要求をアイデンティティプロバイダ316への要求に変換する。アイデンティティプロバイダ316による認証が成功すると、その後アイデンティティサーバ302は、ユーザおよび/またはユーザのロールに関連付けられている全ての拡張スクリプトを連続的に実行する。プログラム拡張308の少なくとも1つに基づいて、アイデンティティサーバは、それに応じた権利を付与する。アプリケーション314はその後、アプリケーションAPIを介して付与された権利を通知される。
(ユーザ、ユーザプロファイル、およびスキーマ)
ユーザがログインする場合、ユーザは、特定のセキュリティコンテキストのための特定のセキュリティメカニズムを介してログインする。その特定のセキュリティメカニズムへの、およびその特定のセキュリティコンテキストへのログインに関するユーザの状態は、複数のフィールドにおいて捕捉されてよい。また、その特定のコンテキストに関するユーザのアイデンティティを備える追加のフィールドがユーザに関連付けられてよい。これらのフィールドのセットは、ユーザスキーマを構成する。
ユーザスキーマは、たとえばユーザネームおよびパスワードなどのデフォルトフィールドを有してよい。一方で、ユーザスキーマは、ダッシュボードに関して以下で説明されるように更にカスタマイズされてよく、またはプログラム拡張を介して動的にカスタマイズされてもよい。
ただし、ユーザは、常に人間であることが想定されるものではない。むしろ、ユーザは、独自のアカウントを有し得る他のメカニズムまたはプログラムであってよい。したがって、スキーマを静的および/または動的にカスタマイズする能力は、全く異なる種類のユーザのプロファイルを管理することを可能にし得る。たとえば人間などいくつかの分類のユーザは、ファーストネームおよびラストネームフィールドを当然有してよい。たとえば機械など他の分類のユーザは、機械識別子フィールドを有してよい。
(ランタイムおよびサンドボックス)
アイデンティティサーバの少なくとも一部は、サンドボックス、すなわち分離されたプログラム実行エリアにおいて実行されてよい。図4は、サンドボックス内で実行中のアイデンティティサーバの典型的なコンテキスト400を示す。サンドボックスは拡張スクリプトエンジンによって動かされ、その拡張スクリプトがアイデンティティサービスのプログラム拡張を構成する。拡張スクリプトは全てのアイデンティティおよびクライアントリソースへのアクセスを有するので、サンドボックスは、プログラム拡張の構成要素である拡張スクリプトによって実行され得る変更の範囲を制限し得る。
アイデンティティサーバ402の設備は、仮想またはその他で、複数のホストサーバ404において配置されてよい。各ホストサーバ404に、1または複数のランタイム406および1または複数の対応するサンドボックス408実行エリアが存在してよい。アイデンティティサーバロジックのステートレス部分、たとえばプログラム拡張および接続は、様々なホストにコピーされてよい。したがって、要求410が設備に到来すると、それが第1の使用可能サーバに発送され得ることによって拡張性を支援する。アイデンティティサーバロジックのステートフル、または永続化部分は、互いにアクセス可能なデータストアまたはデータベースを備えたサーバ412に格納されてよい。認証要求はユーザに特有のものであるため、管理者は、データストアを複数のサーバに分割することを選択してよく、ここで、レコードはユーザによって分割される。アイデンティティサーバ402は任意選択的に、互いにフェイルオーバーし得る。1つの実施形態において、1つのアイデンティティサーバインスタンスはオンプレミスであってよく、別のアイデンティティサーバインスタンスはオフプレミスであってよい。どのアイデンティティサーバを使用するかに関する条件をプログラムでスクリプトすることによって、プログラム拡張の拡張スクリプトを介してローミングが実行され得る。
(ログインウィジェット)
アプリケーションプログラマに共通の課題は、ログオンダイアログボックスを開発することである。従来、各アプリケーションは、アプリケーションおよびアイデンティティプロバイダの各入れ替え(permutation)のための、カスタムビルトのダイアログを必要とした。オープン認証プロトコルの出現がプロセスを簡略化し、唯一の認証プロトコルが使用されるようになった。しかし、サービスとしてのアイデンティティの場合、複数の認証プロトコルおよび複数のアイデンティティプロバイダがアプリケーションによってアクセスされ得る。これによって、ユニバーサルログインウィジェットが可能になる。図5は、ユニバーサルログインウィジェットの図500である。
ログインウィジェット502は、小さなコードスニペットを切り取りアプリケーションに貼り付けることによって実装され得るダイアログボックスである。コードスニペットにおいて、このサブセクションで説明されるようにログインウィジェットがカスタマイズされ得る。ログインウィジェット502はアイデンティティサーバ504を呼び出し、その設定に基づいて、アイデンティティプロバイダ506との1または複数の接続を利用し得る。たとえばログインウィジェット502は、たとえばグーグルプラス(登録商標)、フェイスブック(登録商標)、およびツイッター(登録商標)などの第三者認証サービス(不図示)を介した認証へのリンク508を含む。アイデンティティサーバ504を介したアイデンティティプロバイダ506の集中化により、ログインウィジェット502は、ログインウィジェットの属性を変更するだけで複数のアイデンティティプロバイダ506にアクセスし得る。
ログインウィジェット502はまた、ユーザネームテキストボックス510、パスワードテキストボックス512、およびログオンボタン514を備えるユーザ/パスワードログオンも含む。接続と同様、属性により、ログインウィジェット502のディスプレイおよびロジックを制御し得る。エンタープライズ接続が設定された場合、ユーザネームテキストボックス510は、電子メールアドレスを受け取るように設定される。データベース接続が存在する場合、パスワードテキストボックス512が自動的に表示され、任意選択的にサインアップ/パスワード紛失リンク514が表示される。リンク514をクリックすると、ユーザがサービスにサインアップする、および/またはパスワードを再設定することができるウェブセッションが開く。概して、ログインウィジェット502は、属性または接続の種類のいずれかに基づいて、どのフィールドを表示するか、またはどのような挙動を示すかを決定するためのロジックを含む。
ログインウィジェット502は、そのユーザのプロファイルに関するスキーマフィールドを作成するためのロジックを含んでよい。またログインウィジェット502は、プログラム拡張をトリガしてもよい。たとえば、ログオン時にユーザのプロファイルを作成するプログラム拡張が存在し得る。プロファイル内のフィールドの1つは、外部データによって作成されてよく、ユーザが特定の基準を満たすことを決定し得る。基準が満たされていることが決定されると、プログラム拡張は、自動電子メールメッセージをユーザへ送信し得る。その具体例として、ログインウィジェット502を介して新たなユーザが追加されたことを決定し、その後、新しいユーザが特定のアプリケーション機能を利用するように促す挨拶/追跡電子メールを新しいユーザに送信する顧客関係管理プログラム拡張があってよい。
またログインウィジェット502は、単純に属性を設定することによって、カスタムタイトルおよび/またはロゴが表示され得るブランダブルタイトルバー518も含む。
(接続)
アイデンティティサーバは、拡張性に富んだモデルを提供する。アイデンティティサーバは、アイデンティティプロバイダの接続の種類にかかわらず、一貫したAPIをアプリケーションに提示する。たとえば、フェイスブック(登録商標)などのソーシャルネットワークプロバイダが呼び出されるか、またはウィンドウズ(登録商標)認証を介したローカルLANかにかかわらず、アプリケーションは単純にアイデンティティサーバAPIを呼び出すことに依存してよい。この拡張性は、接続のセットによって可能になる。
各接続は、特定のアイデンティティプロバイダおよび/またはアイデンティティプロバイダのプロトコルによって提示されるAPI単位のアイデンティティサーバAPIの実装を含む。その結果、アイデンティティサーバAPIは、新しいアイデンティティプロバイダおよび/またはセキュリティデリゲートへの新たな接続を迅速に実行するためのメカニズムを提供する。いくつかの場合、接続は、情報および/または機能を提供するためにアイデンティティサーバ以外のサーバまたは他の外部情報に頼る必要があり得る。たとえば、いくつかのOAuth認証シナリオは、第三者プロバイダを利用し得る。
接続は、アイデンティティサーバに登録され、APIを介してプログラムによって列挙され得る。プログラムによって接続を呼び出すために、コードは接続あるいは接続のための探索子(search)を列挙する。接続の機会を得ると、コードは、アイデンティティサーバAPIを介して標準関数を呼び出し得る。
(ダッシュボード)
管理者は、アイデンティティサーバのコア能力を管理するために用いられる集中ダッシュボードへのアクセス権を有する。具体的には、管理者は、アイデンティティプロバイダ、複数のアプリケーション、複数のユーザ、および複数のプログラム拡張への複数の接続を追加し、互いに関連付けてよい。たとえば、Gメール(登録商標)へのアイデンティティプロバイダ接続は2つのアプリケーションに関連付けられてよく、それによってこれらのアプリケーションは、自身の認証スキームのためにGメール(登録商標)認証を用いる。ユーザはロールに関連付けられ得る。ユーザおよび/またはロールは、特定のアプリケーションに対する権利を付与され得る。権利は、上述したように、プログラム拡張に従って制約されてよい。典型的なダッシュボード600のトップレベルビューが図6に示され、規則エディタユーザインタフェース700が図7に示される。
ダッシュボードは拡張スクリプトエディタ702を有し、これによってアイデンティティサービスへのプログラム拡張がもたらされる。プログラム拡張を構成する拡張スクリプトは最初からプログラムされていてよく、あるいは拡張スクリプトエディタ702が、変更されるテンプレート704、またはプログラム拡張のための拡張スクリプトを生成する各ステップを通してユーザを動的に助けるウィザードを提供してもよい。拡張スクリプトエディタ702によってスクリプトを作成することに加えて、管理者は、プログラムされた拡張スクリプトエディタ702内の拡張スクリプトをアップロードの前にテストおよび/またはデバッグしてよい。このように、拡張スクリプトエディタ702は、プログラム拡張およびそれらの構成要素である拡張スクリプトのための統合開発環境であると考えられ得る。
配置されると、拡張スクリプトは拡張スクリプトネームスペースに含まれ、たとえばボタン押下などのユーザ入力を受け取ると、拡張スクリプトエディタ702から呼び出される。拡張スクリプトエディタは、特定のユーザが認証されたか、および認証されている場合はどの権利が付与されたかを示す。このように、拡張スクリプトは、配置前にテストおよびデバッグされてよい。
またダッシュボード600はユーザ管理も実行してよい。たとえば、ダッシュボード600によって、管理者は、ユーザ情報を編集し、特定のセキュリティコンテキストに関するユーザプロファイル内のフィールドを定義するユーザプロファイルスキーマを拡張し、通知を送信し、セキュリティ委任を提供するためにユーザの承認されたなりすましを可能にし、ロール管理、グループ管理、およびアプリケーション管理を提供してよい。また、たとえばログインウィジェットに関してアプリケーションのルックアンドフィールをカスタマイズし、また場合によっては、アプリケーションのためのアイデンティティサービスにアクセスするためのアプリケーションプログラミングインタフェースおよび関連するプログラム通知イベントをカスタマイズするなど、アプリケーションはダッシュボードによってカスタマイズすることができる。
(サービスとしてのアイデンティティに関する典型的な使用事例)
(概観)
以下のサブセクションは、サービスとしてのアイデンティティを備えたアイデンティティおよび/またはセキュリティサービスの集中化によって可能になるいくつかの使用事例を説明する。
(オンプレミス/オフプレミス対称配置)
上述したように、従来技術の結果として、各アイデンティティプロバイダは独自のサイロ内に存在した。アイデンティティプロバイダのコンテキストの外側にあるアプリケーションがアクセスされた場合は常に、独自のクレデンシャルのセットによる個別のログオンが提示された。極端な例は、たとえばエンタープライズ認証などのオンプレミス認証、およびたとえばウェブサービスによるものなどのオフプレミス認証である。開発者の観点から見ると、各アイデンティティプロバイダおよびアプリケーションの入れ替えは、独自のカスタム認証コードベースを受け取るものであった。また、オフプレミスは従来オンプレミスと比べて安全性に欠けると見られていたため、オフプレミスコードはより限定的でヘビーウェイトである傾向があった。
しかし、サービスとしてのアイデンティティによって、セキュリティの実装は、アイデンティティサーバAPIの下で取り除かれた。したがって、アプリケーションに関するコードベースは、オンプレミスからオフプレミスへ移植する際に変更する必要がない。このシナリオは、レガシーエンタープライズアプリケーションがパブリッククラウドへ移植される場合も共通である。
ログインウィジェットコードベースが再利用可能であるのと同様、属性およびコンテナコードのみを変更することによって、アプリケーションは最小限のコード変更で配置し得る。具体的には、アプリケーションの認証部分は、ログインウィジェットコードを使用するだけでよい。あるいはアプリケーションの認証部分は、それが過去にアイデンティティサーバAPIに書き込まれている場合、コードベースの変更なしで単純に属性が変更されるだけでよい。最終的に、認証のための複雑なレガシーコードベースは、アイデンティティサーバおよび任意の指定されたアイデンティティプロバイダに認証を委任するコードに置き換えられ得る。このように、移植は、認証ロジックではなくアプリケーションロジックに重点を置いてよい。
アイデンティティプロバイダが中央アイデンティティサーバから一様にアクセスできるようになった結果は、パブリッククラウド内のアプリケーションはそれでもエンタープライズクレデンシャルによって認証され得ることである。なぜなら、アプリケーションがパブリッククラウド内にある場合でも、アプリケーションは認証のためにアイデンティティサーバを呼び出すからである。アイデンティティサーバが、オンプレミスエンタープライズアイデンティティプロバイダへの接続を有する場合、アプリケーションがパブリッククラウド内にある場合でも、アプリケーションはやはりエンタープライズアイデンティティプロバイダによって認証し得る。
(カスタマイズドサインアップ)
上述したように、ログインウィジェットは属性を提供し、それが設定されるとウェブサービスにサインアップするためまたはパスワードを再設定するためのウェブリンクがもたらされる。サインアップ/パスワード再設定機能は、ログインウィジェットおよびアイデンティティサーバのコンテキスト外で実行されるので、サインアップ/パスワード再設定機能に関する追加のデータ/メタデータを得ることは困難であり得る。
一方、アイデンティティサーバはアイデンティティデータに関する周知の位置を提供するので、サインアップ/パスワード再設定ウェブページは、捕捉されるカスタムフィールドを含むHTMLフィールドとともに実装され得る。ログインウィジェットは、通常のアプリケーションと同様に、ログインウィジェットをサインアップ/パスワード再設定HTMLページに追加し、アイデンティティサーバへ追加のフィールドを送信するためのスクリプトを書き込んでもよい。スクリプトを提出イベントに結び付けることによって、追加のフィールドが作成されると、入力イベント(たとえば提出ボタンの押下)は追加のフィールドの対応する値をアイデンティティサーバへ送信させ得る。その後アイデンティティサーバがデータを解析し、追加のフィールドを認証レコードに関連付ける。たとえば、データはJSONレコードの形式で到来してよく、その場合フィールドはユーザの電子メールおよびパスワードを含む。解析後、アイデンティティサーバは、その電子メールとパスワードとの組み合わせに追加のフィールドを関連付けてよい。
(支払い)
認証およびアイデンティティ機能を集中化することにより、ログオン使用ごとおよび認証スキームごとの支払いが可能になる。たとえば、アプリケーションは、Gメール(登録商標)を介した一部のユーザログオンおよびフェイスブック(登録商標)を介した他のユーザログオンを有してよい。開発者が、使用回数ごとに、または他の制約に基づいて(たとえば月極加入などのように時間ごとに)課金するアプリケーションを有する場合、ログオン時に今後の請求書作成のための課金レコードを書き込むように規則が実装され得る。あるいは、請求書を準備するためにユーザログオンの課金可能なインスタンスを列挙するために、別の課金アプリケーションがアイデンティティサーバに問い合わせてもよい。
あるいは、アイデンティティプロバイダは、そのアイデンティティプロバイダがアクセスされると常に課金レコードを書き込むようにアイデンティティサーバに規則を実装することによって自身のアクセスを収益化してよい。あるいは別の課金アプリケーションが、そのアイデンティティプロバイダを介したユーザログオンの課金可能なインスタンスを列挙するためにアイデンティティサーバに問い合わせ、それに従って請求書を準備してもよい。
(シングルサインオン)
アイデンティティサーバは、アプリケーションとアイデンティティプロバイダとの間に様々なカーディナリティを提供する。したがって、複数のアイデンティティプロバイダが単一のアイデンティティプロバイダに委任するシングルサインオン(「SSO」)は、アイデンティティサーバに当然備わるシナリオである。SSOは、複数のアイデンティティプロバイダを有する複数のアプリケーションを、1つのアイデンティティプロバイダに対する複数のアプリケーションに低減することで概念化され得る。
従来技術のSSOに留まらず、アイデンティティサーバを介するSSOは、オンプレミスであるかオフプレミスであるかにかかわらず複数のアイデンティティプロバイダを介してSSOを提供する。具体的には、管理者は、たとえばエンタープライズプロバイダなどの特定のアイデンティティプロバイダをSSOとして指定し、エンタープライズ認証(または指定されたSSOアイデンティティプロバイダ)が認証した場合、他のアイデンティティプロバイダを介した認証を許可させるように規則を設定してよい。
(リンク付けアカウント)
リンク付けアカウントは、単一アプリ内のユーザが、異なる時間に異なるアイデンティティプロバイダを用いて認証し得るものである。したがって、リンク付けアカウントは、複数のアイデンティティプロバイダを有する単一アプリケーションのカーディナリティを有するものとして概念化され得る。具体的には、ユーザは、第1のアイデンティティプロバイダを用いてアプリケーションにログオンする。ユーザはその後アプリケーションから離れ、アプリケーションは時間切れになるとロックする。その後ユーザは、第2のプロバイダを用いて再びアプリケーションにログオンしてよい。同一のアイデンティティサーバによって認証が抽象化されるので、アプリケーションはユーザが離れた場所からアプリケーションセッションを再開し易く、シームレスな移行がもたらされ得る。
(多因子認証)
アイデンティティサーバは複数のアイデンティティプロバイダへのアクセスを有するので、アプリケーションは多因子認証を利用し得る。多因子認証は、ログオンプロセスが2つ以上の因子を利用するものである。この意図は、1セットのクレデンシャルよりも複数のクレデンシャルをハッキングする方が難しいという理由から、複数のクレデンシャルを提示するユーザは単一セットのクレデンシャルを提示するユーザよりも安全性が高いというものであり、なぜなら、1セットのクレデンシャルよりも複数のクレデンシャルをハッキングする方が難しいからである。
多因子認証において、ログオンダイアログが提示される。ユーザは、アイデンティティプロバイダに関する第1のクレデンシャルを入力する。成功すると、ユーザは、クレデンシャルの第2のセットを入力するように促される。ログオンダイアログは、第1の認証試行の成功または失敗を示すように外観を変更してもよいし、第1の認証試行から任意のプロンプトを削除してもよい。ユーザはその後、第2のクレデンシャルを入力してよい。認証が成功すると、任意の適用可能な規則を条件として、ユーザは彼または彼女の権利を受け取る。
たとえばユーザは、フェイスブック(登録商標)接続アイコンおよびGメール(登録商標)接続アイコンを示すログオンダイアログを提示され得る。ユーザは、自身のフェイスブック(登録商標)クレデンシャルを入力する。成功すると、ユーザは、Gメール(登録商標)接続アイコンのみが示されたログオンダイアログを提示される。Gメール(登録商標)クレデンシャルの入力が成功すると、ユーザは自身の権利を受け取る。ただしこの例では、どちらのクレデンシャルもオフプレミスクレデンシャルであった。あるいは、オンプレミスアイデンティティプロバイダおよびオフプレミスアイデンティティプロバイダの両方を提供するダイアログが同様に提示されてもよい。
(所有者ユーザ管理機能/監査)
集中アイデンティティサーバは、オンプレミス認証およびオフプレミス認証の両方に関して認証レコードへのアクセスを有する。したがって、管理者は、オンプレミスであるかオフプレミスであるかにかかわらず、複数のアプリケーション、複数のアイデンティティプロバイダにわたり認証アクティビティに関する分析チャートをレビューし得る。図7は、いくつかの典型的な分析報告を提示する。統計報告702は、誰によってどのアプリケーションが最も頻繁に使用されているかの報告を示す。したがって、この報告は、利用行動研究のため、場合によっては指向性広告のために用いられ得る。監査報告704は、失敗したログオン試行を列挙する。複数のアイデンティティプロバイダについて報告されるので、管理者は、どのアイデンティティプロバイダが最も攻撃を受け、どのアイデンティティプロバイダが潜在的に最も弱いかを検出し得る。報告は、地図形式であってよい。地図位置報告706は、ログオン試行の位置の地図を提示する。たとえばオフィスおよび/またはユーザの既知の居住地から遠く離れた場所などの想定外の位置でログオン試行があった場合、管理者は、疑わしいアクティビティを暗示するかを決定し得る。
(結論)
主題事項は、構造的特徴および/または方法論的行為に特化した言葉で説明されたが、特許請求の範囲において定義される主題事項は必ずしも上述した特定の特徴または行為に限定されるものではないことを理解すべきである。むしろ、上述した特定の特徴または行為は、特許請求の範囲を実施する例示的な形態として開示されるものである。






Claims (26)

  1. ユーザアイデンティティの認証のために複数のアプリケーションへのアクセスのシングルポイントを提供するように構成されたアイデンティティサービスシステムであって、
    外部認証ブローカーにプログラムによるアクセスを提供するように構成されたエンタープライズブローカーアプリケーションプログラミングインタフェース(API)と、
    認証ブローカーと、
    前記認証ブローカーに結合された1または複数のデータベース接続と、
    前記データベース接続に接続された複数のセキュリティデリゲートと、
    前記複数のセキュリティデリゲートに結合され、(i)1または複数のユーザクレデンシャル、(ii)1または複数の拡張スクリプト、および(iii)メタデータ、の少なくとも1つを格納するように構成されたデータストアと
    を備えるシステム。
  2. 前記複数のセキュリティデリゲートは、(i)エンタープライズセキュリティ、(ii)クラウドサービス、および(iii)第三者認証プロバイダ、の少なくとも1つに委任するように動作可能である、請求項1に記載のシステム。
  3. 前記外部認証ブローカーは、前記エンタープライズブローカーAPIから、(i)認証データフォーマット、(ii)プロトコル、(iii)およびカスタムクレデンシャルストア、の少なくとも1つへの呼出しを実行する、請求項1に記載のシステム。
  4. 複数の認証技術へのプログラムによるアクセスを提供するように構成された外部認証APIを更に備え、前記外部認証APIは、(i)前記認証ブローカー、および(ii)前記複数のセキュリティデリゲートの少なくとも1つを呼び出すように動作可能な前記1または複数のデータベース接続、のうちの少なくとも1つと通信するように構成される、請求項1に記載のシステム。
  5. 前記外部認証APIは、ログオンウィジェットを介してシングルサインオン機能を提供するように構成される、請求項4に記載のシステム。
  6. 前記セキュリティデリゲートは、(i)クラウドサービス、(ii)インターネットホスト型サービス、および(iii)ローカルエリアネットワーク(LAN)上でホストされるサービス、の少なくとも1つを含む、請求項1に記載のシステム。
  7. ユーザの認証時に承認を提供するように動作可能な拡張スクリプトエンジンを更に備える、請求項1に記載のシステム。
  8. 前記1または複数の拡張スクリプトが組み合わさって、アイデンティティサービスのプログラム拡張を構成する、請求項7に記載のシステム。
  9. 追加のセキュリティ分離を提供し、少なくとも前記エンタープライズブローカーAPI、前記外部認証ブローカー、および前記認証ブローカーの機能を実行するように動作可能なランタイムを更に備える、請求項1に記載のシステム。
  10. 前記1または複数の拡張スクリプトによって実行され得る変更の範囲を制限するように動作可能なサンドボックスを更に備える、請求項9に記載のシステム。
  11. 前記エンタープライズブローカーAPIおよび前記外部認証APIにアクセスするための(i)ツールおよび(ii)ライブラリの少なくとも1つを提供するように構成された、クライアント側のソフトウェア開発キット(SDK)を更に備え、前記SDKの前記ツールは、JAVA(登録商標)スクリプトコードを実行する任意のアプリケーションのログインダイアログのための単体ソースコードを提供するように動作可能なログインウィジェットを含む、請求項1に記載のシステム。
  12. ユーザ管理および承認機能を含むダッシュボードを更に備える、請求項1に記載のシステム。
  13. 前記ダッシュボードは、前記データベース接続の(i)追加、(ii)削除、(iii)編集、および(iv)設定の少なくとも1つを行うように動作可能な接続コンポーネントを更に含む、請求項12に記載のシステム。
  14. 前記承認機能は、権利が有効または無効にされるアクションをコンテキスト化する1または複数の拡張スクリプトを備えるプログラム拡張の開発をサポートするように動作可能な拡張スクリプトエディタを含む、請求項12に記載のシステム。
  15. ユーザアイデンティティの認証のために複数のアプリケーションへのアクセスのシングルポイントを提供するアイデンティティサービスを提供する方法であって、
    アプリケーションプログラムインタフェース(API)を介して前記複数のアプリケーションのうちのアプリケーションからのユーザの認証要求を受信することであって、前記認証要求はログオン情報を含むことと、
    前記認証要求を1または複数のアイデンティティプロバイダに変換することと、
    前記1または複数のアイデンティティプロバイダによって認証されると、前記ユーザに関連付けられた1または複数のプログラム拡張スクリプトを連続的に実行することと、
    前記ユーザに関連付けられた前記プログラム拡張スクリプトの少なくとも1つに基づいて前記ユーザに権利を付与することと
    を備える方法。
  16. 前記ユーザに対して前記付与された権利を前記アプリケーションに通知することを更に備える、請求項15に記載の方法。
  17. サンドボックス内で前記1または複数のプログラム拡張スクリプトを実行することによって、前記1または複数のプログラム拡張スクリプトによって実行され得る変更の範囲を制限することを更に備える、請求項15に記載の方法。
  18. 認証要求ごとに前記ユーザに課金することを更に備える、請求項15に記載のシステム。
  19. 前記ユーザがオンプレミスであるかオフプレミスであるかにかかわらず、前記1または複数のアイデンティティプロバイダを介してシングルサインオン(SSO)を提供することを更に備える、請求項15に記載のシステム。
  20. ユーザアイデンティティの認証のために複数のアプリケーションへのアクセスのシングルポイントを提供するように構成されたアイデンティティサーバであって、
    プロセッサと、
    コンテンツおよびプログラミングのためのストレージデバイスと、
    前記ストレージデバイスに格納されたプログラムと
    を備え、前記プロセッサによる前記プログラムの実行によって、
    アプリケーションプログラムインタフェース(API)を介して前記複数のアプリケーションのうちのアプリケーションからの、ログオン情報を含むユーザの認証要求を受信することと、
    前記認証要求を1または複数のアイデンティティプロバイダに変換することと、
    前記1または複数のアイデンティティプロバイダによって認証されると、前記ユーザに関連付けられた1または複数のプログラム拡張スクリプトを連続的に実行することと、
    前記ユーザに関連付けられた前記プログラム拡張スクリプトの少なくとも1つに基づいて前記ユーザに権利を付与することと
    を備える動作を実行するように構成されるアイデンティティサーバ。
  21. 前記プログラムの実行は更に、サンドボックス内で前記1または複数のプログラム拡張スクリプトを実行することによって前記1または複数のプログラム拡張スクリプトによって実行され得る変更の範囲を制限することを備える動作を実行するように構成される、請求項20に記載のアイデンティティサーバ。
  22. 前記プログラムの実行は更に、認証要求ごとに前記ユーザに課金することを備える動作を実行するように構成される、請求項20に記載のアイデンティティサーバ。
  23. 前記プログラムの実行は更に、前記ユーザがオンプレミスであるかオフプレミスであるかにかかわらず前記1または複数のアイデンティティプロバイダを介してシングルサインオン(SSO)を提供することを備える動作を実行するように構成される、請求項20に記載のアイデンティティサーバ。
  24. 前記プログラムの実行は更に、(i)エンタープライズセキュリティ、(ii)クラウドサービス、および(iii)第三者認証プロバイダ、のうちの少なくとも1つに委任することを備える動作を実行するように構成される、請求項20に記載のアイデンティティサーバ。
  25. 前記プログラムの実行は更に、ランタイムを介して、追加のセキュリティ分離と、少なくともエンタープライズブローカーAPI、外部認証ブローカー、および認証ブローカーの機能の実行とを備える動作を実行するように構成される、請求項20に記載のアイデンティティサーバ。
  26. 前記プログラムの実行は更に、サンドボックス内で前記ユーザに関連付けられた前記1または複数のプログラム拡張スクリプトを実行することによって、前記ユーザに関連付けられた前記少なくとも1または複数のプログラム拡張スクリプトによって実行され得る変更の範囲を制限することを備える動作を実行するように構成される、請求項20に記載のアイデンティティサーバ。
JP2017527822A 2014-11-18 2015-11-18 サービスとしてのアイデンティティインフラストラクチャ Active JP6625636B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462081552P 2014-11-18 2014-11-18
US62/081,552 2014-11-18
US14/877,316 US10225245B2 (en) 2014-11-18 2015-10-07 Identity infrastructure as a service
US14/877,316 2015-10-07
PCT/US2015/061438 WO2016081665A1 (en) 2014-11-18 2015-11-18 Identity infrastructure as a service

Publications (2)

Publication Number Publication Date
JP2017539017A true JP2017539017A (ja) 2017-12-28
JP6625636B2 JP6625636B2 (ja) 2019-12-25

Family

ID=55962763

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017527822A Active JP6625636B2 (ja) 2014-11-18 2015-11-18 サービスとしてのアイデンティティインフラストラクチャ

Country Status (9)

Country Link
US (1) US10225245B2 (ja)
EP (1) EP3207661B1 (ja)
JP (1) JP6625636B2 (ja)
KR (1) KR102520361B1 (ja)
AR (1) AR102688A1 (ja)
AU (1) AU2015349886B2 (ja)
CA (1) CA2968248C (ja)
MX (1) MX2017006511A (ja)
WO (1) WO2016081665A1 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11507663B2 (en) 2014-08-11 2022-11-22 Sentinel Labs Israel Ltd. Method of remediating operations performed by a program and system thereof
US9710648B2 (en) 2014-08-11 2017-07-18 Sentinel Labs Israel Ltd. Method of malware detection and system thereof
US9998446B2 (en) * 2014-08-29 2018-06-12 Box, Inc. Accessing a cloud-based service platform using enterprise application authentication
CN105187372B (zh) * 2015-06-09 2018-05-18 深圳市腾讯计算机系统有限公司 一种基于移动应用入口的数据处理方法、装置和系统
US20170006118A1 (en) * 2015-06-30 2017-01-05 SkyKick, Inc. Use and configuration of templates for management of cloud providers
US10542044B2 (en) * 2016-04-29 2020-01-21 Attivo Networks Inc. Authentication incident detection and management
US10484382B2 (en) 2016-08-31 2019-11-19 Oracle International Corporation Data management for a multi-tenant identity cloud service
US10594684B2 (en) 2016-09-14 2020-03-17 Oracle International Corporation Generating derived credentials for a multi-tenant identity cloud service
EP3513542B1 (en) * 2016-09-16 2021-05-19 Oracle International Corporation Tenant and service management for a multi-tenant identity and data security management cloud service
US11695800B2 (en) 2016-12-19 2023-07-04 SentinelOne, Inc. Deceiving attackers accessing network data
US11616812B2 (en) 2016-12-19 2023-03-28 Attivo Networks Inc. Deceiving attackers accessing active directory data
KR101816653B1 (ko) * 2017-02-14 2018-02-21 주식회사 코인플러그 스마트 컨트랙트 및 블록체인 데이터베이스를 사용하여 서비스 제공 서버에 의하여 제공되는 서비스를 이용하기 위한 사용자의 로그인 요청에 대하여 pki 기반의 인증을 통해 로그인을 대행하는 방법 및 이를 이용한 서버
CN107222536A (zh) * 2017-05-31 2017-09-29 济南浪潮高新科技投资发展有限公司 一种云物联平台适配终端的方法
EP3643040A4 (en) 2017-08-08 2021-06-09 SentinelOne, Inc. METHODS, SYSTEMS AND DEVICES FOR DYNAMIC MODELING AND GROUPING OF END POINTS FOR EDGE NETWORKING
US10782880B2 (en) 2017-08-30 2020-09-22 Electronics And Telecommunications Research Institute Apparatus and method for providing storage for providing cloud services
US11308132B2 (en) 2017-09-27 2022-04-19 Oracle International Corporation Reference attributes for related stored objects in a multi-tenant cloud service
US10715564B2 (en) 2018-01-29 2020-07-14 Oracle International Corporation Dynamic client registration for an identity cloud service
US11470115B2 (en) 2018-02-09 2022-10-11 Attivo Networks, Inc. Implementing decoys in a network environment
US11568039B2 (en) * 2018-06-03 2023-01-31 Apple Inc. Credential manager integration
US11423111B2 (en) 2019-02-25 2022-08-23 Oracle International Corporation Client API for rest based endpoints for a multi-tenant identify cloud service
US11792226B2 (en) 2019-02-25 2023-10-17 Oracle International Corporation Automatic api document generation from scim metadata
EP3973427A4 (en) 2019-05-20 2023-06-21 Sentinel Labs Israel Ltd. SYSTEMS AND METHODS FOR EXECUTABLE CODE DETECTION, AUTOMATIC FEATURE EXTRACTION, AND POSITION-INDEPENDENT CODE DETECTION
EP3751532A1 (en) * 2019-06-13 2020-12-16 Rohde & Schwarz GmbH & Co. KG Remote access and control system and corresponding method
US11032134B2 (en) 2019-06-18 2021-06-08 International Business Machines Corporation Providing and managing an adapter as a service (AaaS) brokering service
US11916912B2 (en) 2019-08-21 2024-02-27 Aeris Communications, Inc. Method and system for providing secure access to IoT devices using access control
US11687378B2 (en) 2019-09-13 2023-06-27 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability
US11870770B2 (en) 2019-09-13 2024-01-09 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration
CN111753264B (zh) * 2020-07-01 2023-11-21 电子科技大学 一种基于Oauth 2.0的高校移动应用通用授权认证系统
US11627126B2 (en) * 2020-08-20 2023-04-11 Bank Of America Corporation Expedited authorization and access management
US11579857B2 (en) 2020-12-16 2023-02-14 Sentinel Labs Israel Ltd. Systems, methods and devices for device fingerprinting and automatic deployment of software in a computing network using a peer-to-peer approach
US11797701B1 (en) * 2021-02-01 2023-10-24 OneIQ Corp. Secure data collaboration
US20230015789A1 (en) * 2021-07-08 2023-01-19 Vmware, Inc. Aggregation of user authorizations from different providers in a hybrid cloud environment
US11899782B1 (en) 2021-07-13 2024-02-13 SentinelOne, Inc. Preserving DLL hooks
US11734408B2 (en) * 2021-07-15 2023-08-22 Citrix Systems, Inc. Remapping of uniform resource locators for accessing network applications

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002149605A (ja) * 2000-11-07 2002-05-24 Bank Of Tokyo-Mitsubishi Ltd 認証代行装置、認証代行方法及び記録媒体
JP2004303202A (ja) * 2003-03-20 2004-10-28 Ricoh Co Ltd 情報提供装置、情報提供方法、情報提供プログラム及び記録媒体、並びにユーザ認証装置、ユーザ認証方法、ユーザ認証プログラム及び記録媒体
US20080148298A1 (en) * 2006-12-18 2008-06-19 Palm, Inc. System and Methods for Providing Granular Security for Locally Running Scripted Environments and Web Applications
JP2013045278A (ja) * 2011-08-24 2013-03-04 Nomura Research Institute Ltd アクセス管理装置
JP2014142736A (ja) * 2013-01-23 2014-08-07 Canon Inc サービスプロバイダ装置、サービスプロバイダ装置を制御するための制御方法、およびプログラム

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003528358A (ja) * 1998-08-24 2003-09-24 富士通株式会社 ワークフローシステムおよび方法
US6651168B1 (en) * 1999-01-29 2003-11-18 International Business Machines, Corp. Authentication framework for multiple authentication processes and mechanisms
US7032002B1 (en) * 2000-09-06 2006-04-18 Xanboo, Inc. Service broker for processing data from a data network
US7370351B1 (en) * 2001-03-22 2008-05-06 Novell, Inc. Cross domain authentication and security services using proxies for HTTP access
US7171460B2 (en) 2001-08-07 2007-01-30 Tatara Systems, Inc. Method and apparatus for integrating billing and authentication functions in local area and wide area wireless data networks
US7610390B2 (en) * 2001-12-04 2009-10-27 Sun Microsystems, Inc. Distributed network identity
US7167551B2 (en) * 2001-12-12 2007-01-23 International Business Machines Corporation Intermediary device based callee identification
US7073195B2 (en) 2002-01-28 2006-07-04 Intel Corporation Controlled access to credential information of delegators in delegation relationships
US7428750B1 (en) * 2003-03-24 2008-09-23 Microsoft Corporation Managing multiple user identities in authentication environments
US7831693B2 (en) * 2003-08-18 2010-11-09 Oracle America, Inc. Structured methodology and design patterns for web services
US9130921B2 (en) * 2003-09-30 2015-09-08 Ca, Inc. System and method for bridging identities in a service oriented architectureprofiling
US7607008B2 (en) * 2004-04-01 2009-10-20 Microsoft Corporation Authentication broker service
US8458467B2 (en) 2005-06-21 2013-06-04 Cisco Technology, Inc. Method and apparatus for adaptive application message payload content transformation in a network infrastructure element
WO2007052285A2 (en) * 2005-07-22 2007-05-10 Yogesh Chunilal Rathod Universal knowledge management and desktop search system
US9177124B2 (en) * 2006-03-01 2015-11-03 Oracle International Corporation Flexible authentication framework
US7913084B2 (en) 2006-05-26 2011-03-22 Microsoft Corporation Policy driven, credential delegation for single sign on and secure access to network resources
US7657639B2 (en) * 2006-07-21 2010-02-02 International Business Machines Corporation Method and system for identity provider migration using federated single-sign-on operation
US8689287B2 (en) * 2006-08-17 2014-04-01 Northrop Grumman Systems Corporation Federated credentialing system and method
US8281378B2 (en) 2006-10-20 2012-10-02 Citrix Systems, Inc. Methods and systems for completing, by a single-sign on component, an authentication process in a federated environment to a resource not supporting federation
US9110685B2 (en) * 2008-03-25 2015-08-18 Qualcomm, Incorporated Apparatus and methods for managing widgets in a wireless communication environment
US20090293117A1 (en) 2008-05-21 2009-11-26 Mei Yan Authentication for access to software development kit for a peripheral device
US8793757B2 (en) * 2008-05-27 2014-07-29 Open Invention Network, Llc User-directed privacy control in a user-centric identity management system
US8032932B2 (en) * 2008-08-22 2011-10-04 Citibank, N.A. Systems and methods for providing security token authentication
EP2359570B1 (en) * 2008-08-29 2018-12-19 NEC Corporation Process for providing network access for a user via a network provider to a service provider
WO2010065848A2 (en) * 2008-12-05 2010-06-10 Social Communications Company Realtime kernel
US8843997B1 (en) 2009-01-02 2014-09-23 Resilient Network Systems, Inc. Resilient trust network services
US8887308B2 (en) 2010-03-21 2014-11-11 William Grecia Digital cloud access (PDMAS part III)
US8402555B2 (en) 2010-03-21 2013-03-19 William Grecia Personalized digital media access system (PDMAS)
US8533860B1 (en) 2010-03-21 2013-09-10 William Grecia Personalized digital media access system—PDMAS part II
US8881227B2 (en) * 2010-03-30 2014-11-04 Authentic8, Inc. Secure web container for a secure online user environment
JP5921527B2 (ja) * 2010-04-12 2016-05-24 グーグル インコーポレイテッド インプットメソッドエディタのための拡張フレームワーク
US9189649B2 (en) * 2010-06-25 2015-11-17 International Business Machines Corporation Security model for workflows aggregating third party secure services
US8863225B2 (en) * 2010-06-29 2014-10-14 International Business Machines Corporation Generalized identity mediation and propagation
US8327441B2 (en) * 2011-02-17 2012-12-04 Taasera, Inc. System and method for application attestation
US20130205028A1 (en) * 2012-02-07 2013-08-08 Rackspace Us, Inc. Elastic, Massively Parallel Processing Data Warehouse
US9405896B2 (en) 2011-04-12 2016-08-02 Salesforce.Com, Inc. Inter-application management of user credential data
US9268933B2 (en) * 2012-08-22 2016-02-23 Mcafee, Inc. Privacy broker
US9355223B2 (en) * 2013-03-29 2016-05-31 Citrix Systems, Inc. Providing a managed browser
JP6307593B2 (ja) * 2013-04-26 2018-04-04 インターデイジタル パテント ホールディングス インコーポレイテッド 必要とされる認証保証レベルを達成するための多要素認証
FR3008837B1 (fr) * 2013-07-19 2015-08-07 In Webo Technologies Procede d'authentification forte
US9444808B1 (en) * 2014-01-30 2016-09-13 Dell Software Inc. System and method for providing multtenant access to shared resources

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002149605A (ja) * 2000-11-07 2002-05-24 Bank Of Tokyo-Mitsubishi Ltd 認証代行装置、認証代行方法及び記録媒体
JP2004303202A (ja) * 2003-03-20 2004-10-28 Ricoh Co Ltd 情報提供装置、情報提供方法、情報提供プログラム及び記録媒体、並びにユーザ認証装置、ユーザ認証方法、ユーザ認証プログラム及び記録媒体
US20080148298A1 (en) * 2006-12-18 2008-06-19 Palm, Inc. System and Methods for Providing Granular Security for Locally Running Scripted Environments and Web Applications
JP2013045278A (ja) * 2011-08-24 2013-03-04 Nomura Research Institute Ltd アクセス管理装置
JP2014142736A (ja) * 2013-01-23 2014-08-07 Canon Inc サービスプロバイダ装置、サービスプロバイダ装置を制御するための制御方法、およびプログラム

Also Published As

Publication number Publication date
KR102520361B1 (ko) 2023-04-11
US10225245B2 (en) 2019-03-05
CA2968248A1 (en) 2016-05-26
WO2016081665A1 (en) 2016-05-26
US20160142399A1 (en) 2016-05-19
CA2968248C (en) 2023-09-19
JP6625636B2 (ja) 2019-12-25
AU2015349886B2 (en) 2020-05-07
MX2017006511A (es) 2018-05-17
EP3207661A1 (en) 2017-08-23
EP3207661B1 (en) 2021-12-29
KR20170107967A (ko) 2017-09-26
AU2015349886A1 (en) 2017-06-08
EP3207661A4 (en) 2018-05-02
AR102688A1 (es) 2017-03-15

Similar Documents

Publication Publication Date Title
JP6625636B2 (ja) サービスとしてのアイデンティティインフラストラクチャ
US11881937B2 (en) System, method and computer program product for credential provisioning in a mobile device platform
US10904234B2 (en) Systems and methods of device based customer authentication and authorization
US10922401B2 (en) Delegated authorization with multi-factor authentication
US20140331060A1 (en) User and Device Authentication in Enterprise Systems
US9223807B2 (en) Role-oriented database record field security model
US11531929B2 (en) Systems and methods for machine generated training and imitation learning
US11290574B2 (en) Systems and methods for aggregating skills provided by a plurality of digital assistants
US11411904B2 (en) Systems and methods for filtering notifications for end points associated with a user
US20220353256A1 (en) Usage-limited passcodes for authentication bootstrapping
US20210037004A1 (en) Signing in to multiple accounts with a single gesture
US11829191B2 (en) Systems and methods for deep linking of SaaS application via embedded browser
Saini Comparative Analysis of Top 5, 2-Factor Authentication Solutions
Tijms et al. Jakarta EE Foundations
Edge et al. Identity and Device Trust
Alsulami Towards a Federated Identity and Access Management Across Universities
Andrews et al. Securing Your Mobile Business with IBM Worklight
Enterprise et al. The Definitive Guide to Security in Jakarta EE

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180907

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190320

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190603

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191127

R150 Certificate of patent or registration of utility model

Ref document number: 6625636

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250