JP6765537B2 - 資格情報の分散型検証 - Google Patents

資格情報の分散型検証 Download PDF

Info

Publication number
JP6765537B2
JP6765537B2 JP2019532104A JP2019532104A JP6765537B2 JP 6765537 B2 JP6765537 B2 JP 6765537B2 JP 2019532104 A JP2019532104 A JP 2019532104A JP 2019532104 A JP2019532104 A JP 2019532104A JP 6765537 B2 JP6765537 B2 JP 6765537B2
Authority
JP
Japan
Prior art keywords
user
application
token
cloud controller
action
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019532104A
Other languages
English (en)
Other versions
JP2020502676A (ja
Inventor
ジョセフ・ベンジャミン・ヘイル
スリー・レカ・トゥミディ
Original Assignee
ピヴォタル・ソフトウェア・インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ピヴォタル・ソフトウェア・インコーポレーテッド filed Critical ピヴォタル・ソフトウェア・インコーポレーテッド
Publication of JP2020502676A publication Critical patent/JP2020502676A/ja
Application granted granted Critical
Publication of JP6765537B2 publication Critical patent/JP6765537B2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/28Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Accounting & Taxation (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Bioethics (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本開示は、クラウドコンピューティング環境における認証技法に関する。
従来のクラウドコンピューティング環境では、許可モデルが時に、複数の当事者間で分割される。例えば、許可モデルの一部分を、ユーザアカウントを管理するシステム、例えばユーザアカウント認証(UAA)サーバによって実装することができ、一方、許可モデルの別の部分を、スペースおよびユーザロールを管理するシステム、例えばクラウドコントローラ内に実装することができる。そのような実装形態では、アプリケーション、例えばクラウドコンピューティング環境において実行されるとともにOAuthでセキュリティ保護されているアプリケーションの隣接API(adjacent API)が、UAAに、アプリケーションのそれ自体の挙動に関するOAuth権限、ならびにアプリケーションがクラウドコントローラ許可の照合をすることを可能にする権限をもつ、トークンを発行してもらう必要がある場合がある。アプリケーションのそれ自体の挙動に関する権限と、クラウドコントローラ許可との照合をするための権限とが混ざり合うことは、望ましくない場合がある。
The OAuth 2.0 Authorization Framework
本明細書では、資格情報の分散型検証の技法について説明する。アクションを実施せよとのユーザによる要求を受領すると、システムは、各パートにおいて認証情報の一部分のみが通されるマルチパート認証を実施する。第1の段階では、システムのアプリケーションマネージャが、部分的アクセス権を指定する非特権化トークン(de-privileged token)を受領する。第2の段階では、システムのクラウドコントローラが、非特権化トークンとは別に、かつ安全に暗号化されたチャネルを通じて、ユーザの特権を要求してそれを受領する。したがって、この技法は、アプリケーションプログラムのアプリケーションプログラミングインターフェース(API)に、そのアプリケーションプログラムが必要とする権限のみを収容したトークンが与えられ、それでもなお、ユーザの特権を昇格させる必要なくクラウドコントローラ許可の検証が可能であることを、確実にするものである。
従来の技法では、2つ以上のコンポーネントによって認証が必要とされるとき、分割許可モデルが、複数の部分にコンポーネントごとに1つ必要とされる許可の和集合を要する。本明細書は、いずれか一方の検証当事者の特権を昇格させることなく許可の検証を分散させる仕方について開示する。
本明細書において説明する本主題は、以下の利点のうちの1つまたは複数を実現するように、さまざまな実施形態において実施することができる。開示する技法は、システム特権が認証トークンを伴う必要のない、より安全な認証システムを提供することによって、従来の認証システムを改善する。システムのセンシティブなコンポーネント、例えばクラウドコントローラが、ユーザアクションを別途に認証し、それによって、センシティブなコンポーネントにアクセスするための特権がアプリケーションレベルの認証と混ざらないようにすることができる。従来のシステムにおける、アプリケーションのそれ自体の挙動のための権限と、クラウドコントローラ許可との照合をするための権限とが混ざり合うことが、回避される。
本明細書において説明する本主題の1つまたは複数の実装形態の詳細は、添付の図面および下の説明において記述される。本主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかとなろう。
資格情報の分散型検証の例示的技法を示すブロック図である。 資格情報の分散型検証の一例示的プロセスを示すフローチャートである。
さまざまな図面中の同様の参照番号および名称は、同様の要素を示す。
図1は、資格情報の分散型検証の例示的技法を示すブロック図である。分散型コンピューティングシステム100は、資格情報の分散型検証を実施する。分散型コンピューティングシステム100は、クラウドベースのコンピューティング環境を提供し、下で説明する複数のコンポーネントを含む。分散型コンピューティングシステム100の各コンポーネントは、1つまたは複数のコンピュータプロセッサをそれぞれが含む1つまたは複数のコンピュータ上に実装することができる。分散型コンピューティングシステム100の一例が、Pivotal Cloud Foundry(PCF)インストレーションである。
分散型コンピューティングシステム100は、アプリケーションマネージャ102を含む。アプリケーションマネージャ102は、オーガニゼーション、スペース、アプリケーション、サービス、およびユーザを管理するための、ウェブベースツール、コマンドラインツール、またはバッチ処理ツールを含むことができる。アプリケーションマネージャ102は、例えば、Pivotal Apps Managerコンポーネントとすることができる。アプリケーションマネージャ102が、第1の要求104を受領する。第1の要求104は、ユーザ、アプリケーション、およびアプリケーション上でユーザによって実施されるアクションを指定する。例えば、第1の要求104は、ユーザ名、アプリケーション識別子、およびアクションの表現を含むことができる。アクションは、例えば、数ある中でも、アプリケーションを修正すること、アプリケーションの環境変数を表示すること、とすることができる。
第1の要求104に応答して、アプリケーションマネージャ102は、第2の要求106をユーザ認証モジュール108にサブミットする。第2の要求106は、部分的認証を求める要求であり、第1の要求104内に指定されたユーザ名、アプリケーション名、またはアクションのうちの少なくとも1つを含む。
ユーザ認証モジュール108は、分散型コンピューティングシステム100の識別情報管理サービスを提供するように構成された、分散型コンピューティングシステム100のコンポーネントである。ユーザ認証モジュール108は、トークンプロバイダとしての役割、例えばインターネット技術タスクフォース(IETF)リクエストフォーコメント(RFC)6749によって公開されたThe OAuth 2.0 Authorization Frameworkにおいて規定されている、OAuth2プロバイダとしての役割を実施することができる。ユーザ認証モジュール108は、クライアントアプリケーションがシステムユーザに代わって働くときに使用するためのトークンを発行することができる。ユーザ認証モジュール108の一例が、Pivotal UAA Serverモジュールである。
要求106を受領すると、ユーザ認証モジュール108は非特権化トークン110を発行する。非特権化トークン110は、ユーザの部分的かつ不完全な権利を示すトークンである。例えば、非特権化トークン110内には、システム動作に対する一部のアクセス権が表されていないことがある。非特権化トークン110は、OAuth2.0フレームワークまたは認証のための他のフレームワークに準拠したトークンとすることができる。
アプリケーションマネージャ102は、第2の要求106に対する応答として非特権化トークン110を受領する。非特権化トークン110を受領したことに応答して、アプリケーションマネージャ102は、ユーザ認証情報112をアプリケーションフレームワーク114に提供する。ユーザ認証情報112は、ユーザ名、アプリケーション識別子、アクション、または非特権化トークン110のうちの1つまたは複数を含むことができる。
アプリケーションフレームワーク114は、ウェブアプリケーションを構築するためのフレームワークである。アプリケーションフレームワーク114は、例えば、依存性の注入を取り扱うように、トランザクションを取り扱うように、またモデルビューコントローラアーキテクチャを実装するように構成される。アプリケーションフレームワーク114の一例が、Pivotal Spring Bootである。アプリケーションフレームワーク114は、ユーザ認証情報112を受領すると、第3の要求116をクラウドコントローラ118にサブミットすることができる。第3の要求116は、ユーザ認証情報112内に提供されたユーザ名、アプリケーション識別子、アクション、および非特権化トークン110のうちの少なくとも1つを含むことができる。第3の要求116はクラウドコントローラ118に、アプリケーションマネージャ102とユーザ認証モジュール108との間の第1の認証動作とは別に、第2の認証を実施させる。
クラウドコントローラ118は、システム100上へのアプリケーションの展開を指示するように構成された、システム100のコンポーネントである。クラウドコントローラ118はまた、クライアントデバイスがシステム100にアクセスするためのREST APIエンドポイントを提供するように構成される。クラウドコントローラ118は、数ある中でも、オーガニゼーション、スペース、サービス、およびユーザロールに関する記録をもつデータベースを維持することができる。第3の要求116を受領したことに応答して、クラウドコントローラ118は、トークンを機能拡張せよとの第4の要求120をサブミットする。トークンを機能拡張せよとの第4の要求120は、ユーザ名、アプリケーション識別子、アクション、または非特権化トークン110のうちの少なくとも1つを含むことができる。第4の要求120は、クラウドコントローラ118の識別情報を裏付ける認証情報を含むことができる。クラウドコントローラ118は、トークンを機能拡張せよとの第4の要求120を、ユーザ認証モジュール108にサブミットすることができる。クラウドコントローラ118は、好ましくは、ユーザ認証モジュール108と、セキュリティ保護および暗号化された通信チャネル経由で通信する。
セキュリティ保護および暗号化されたチャネルを通じて、クラウドコントローラ118は、非特権化トークン110に関連付けられた特権122を受領する。特権122は、ユーザ認証モジュール108によって実施された第2の認証動作の結果である。特権122は、特定のアプリケーション、特定の展開、または特定のクラウドコントローラ動作に関する特定のアクションを実施する特権を、特定のユーザが有するかどうかに関する情報を含むことができる。特権122は、クラウドコントローラ118のシステム動作を対象とする特権を含むことができる。
特権122を受領すると、クラウドコントローラ118は、要求116に対する応答として、アプリケーションフレームワーク114に応答124を提供する。クラウドコントローラ118はアプリケーションフレームワーク114と、セキュリティ保護および暗号化された通信チャネル経由で通信することができる。応答は、非特権化トークン110に関連付けられた特権122を含むことができる。アプリケーションフレームワーク114は、要求116を送り、応答124を受領するための、クラウドコントローラインターフェース126を含むことができる。クラウドコントローラインターフェース126は、非特権化トークン110と応答124内の特権との間の分離を確実なものにする。
アプリケーションフレームワーク114は、決定モジュール128を含むことができる。決定モジュール128は、要求104内で指定されたユーザ名、アプリケーション、および指定事項と、クラウドコントローラ118によって応答124内に提供された特権122とに基づいて決定を行う、アプリケーションフレームワーク114のコンポーネントである。例えば、決定モジュール128は、ユーザ名、アプリケーション、および指定事項と、特権との間の比較を実施することができる。決定モジュール128は次いで、決定130をアプリケーションフレームワーク114または別のモジュールに提供することができる。例えば、いくつかの実装形態では、決定130はアプリケーションフレームワーク114に、要求された情報をアプリケーションマネージャ102のウェブインターフェース内に表示できるように提供するかどうかを示すことができる。
図2は、資格情報の分散型検証の一例示的プロセス200を示すフローチャートである。プロセス200は、分散型コンピューティングシステム、例えば図1を参照して論じた分散型コンピューティングシステム100によって、実行することができる。下で説明するシステムの各コンポーネントは、1つまたは複数のハードウェアプロセッサを含む1つまたは複数のコンピュータ上に実装することができる。
システムのアプリケーションマネージャが、ユーザから、またはユーザに代わってアプリケーション、およびアプリケーション上でもしくはアプリケーションに関してユーザによって実施されるアクションから、要求を受領する(202)。アプリケーションマネージャは、コマンドライン入力、バッチスクリプト、ウェブブラウザベースのユーザインターフェース、または他の任意の適切なインターフェースから、要求を受領することができる。アクションとしては、例えば、健全性を表示すること、アプリケーション固有の情報を表示すること、環境変数を表示すること、メモリの内容を表示すること、スレッド診断を表示すること、アプリケーション固有の尺度を表示すること、およびアプリケーションの構成を表示または修正することのうちの少なくとも1つがあり得る。このアプリケーションは、分散型コンピューティングシステムにおいて実行されるとともにAPI、例えばREST APIを公開する、アプリケーションとすることができる。このアプリケーションは、コアAPI、例えばクラウドコントローラ、ユーザ認証モジュール、またはルーティングモジュールのためのAPIとは異なるAPIを公開し得る。したがって、このアプリケーションのためのトークンによって表される権限は、コアAPIにアクセスするための権限とは異なり得、それらが混ざり合うことは免れ得る。
システムのアプリケーションマネージャが、システムのユーザ認証モジュールに、ユーザを認証せよとの要求を行う(204)。ユーザ認証モジュールは、システムのUAAサーバを含むことができる。ユーザ認証モジュールは、OAuth2.0フレームワークまたは他の認証フレームワークに準拠したコンポーネントとすることができる。
システムのアプリケーションマネージャが、ユーザ認証モジュールから、ユーザを認証する非特権化トークンを受領する(206)。非特権化トークンは、ユーザに関連付けられた部分的アクセス権を含む。非特権化トークンは、ユーザに許可し得る全ての権利に満たない権利を認可する、認可トークンである。非特権化トークンは、例えばクラウドコントローラを操作する目的である特定のシステム機能にアクセスするための認可を含まない。
システムのアプリケーションマネージャが、システムのアプリケーションフレームワークに、指定されたユーザ、アプリケーション、およびアクションを特定するデータ、ならびに非特権化トークンを提供する(208)。アプリケーションフレームワークは、ブートストラップアプリケーションフレームワーク、例えばPivotal Spring Bootフレームワークとすることができる。
アプリケーションフレームワークが、非特権化トークンを、システムのクラウドコントローラに提供する(210)。完全な認証がトークンに関連付けられる従来の技法と比較して、単なる非特権化トークンをクラウドコントローラに提供することは、クラウドコントローラがユーザの干渉なしに別途の認証動作を実施できるようになることによって、さらなる安全性をもたらす。
システムのクラウドコントローラが、ユーザ認証モジュールに、非特権化トークンを機能拡張せよとの要求をサブミットする(212)。要求は、どのアクションがユーザによって可能かに関する承認を求めることができる。要求は、非特権化トークンを含む。
システムのクラウドコントローラが、ユーザ認証モジュールから、非特権化トークン内に表されていない、ユーザに関連付けられた1つまたは複数の特権に関する情報を受領する(214)。1つまたは複数の特権は、システムアクセス特権、例えば、アプリケーションの展開を操作する目的でクラウドコントローラの機能にアクセスするための特権とすることができる。非特権化トークン内に表されていないユーザの特権が特権付与される。
システムのクラウドコントローラが、関連付けられた1つまたは複数の特権を、例えば暗号化されたチャネルを通じて、かつ非特権化トークンを提供することなく、アプリケーションフレームワークに提供する(216)。アプリケーションマネージャ、アプリケーションフレームワーク、およびクラウドコントローラの各々上で、特権と非特権化トークンは別々に符号化および記憶される。
システムのアプリケーションフレームワークが、アプリケーション上でユーザがアクションを実施することを許すかどうかを、アクションと、1つまたは複数の特権との間の比較に基づいて決定する(218)。アクションを実施するのに必要となる許可をユーザが得ることが決定すると、システムのコンポーネントがそのアクションを実施し、アクションの結果をユーザに、例えば出力デバイス上に提示する。例えば、システムは、アクションの結果を、クライアントデバイスのディスプレイ画面上でウェブブラウザ内に表示できるように提供することができる。したがって、ユーザの立場からは、本明細書において説明した資格情報の分散型認証は、不可視となることができる。
本明細書において説明した本主題および機能動作の実施形態は、デジタル電子回路として、有形に具現化されたコンピュータソフトウェアもしくはファームウェアとして、本明細書において開示した構造およびそれらの構造的等価物を含むコンピュータハードウェアとして、またはそれらのうちの1つもしくは複数の組合せとして、実装することができる。本明細書において説明した本主題の実施形態は、データ処理装置によって実行し、またはその動作を制御するための、有形の非一時的プログラムキャリア上に符号化された1つまたは複数のコンピュータプログラム、すなわち、コンピュータプログラム命令の1つまたは複数のモジュールとして、実装することができる。その代わりにまたはそれに加えて、プログラム命令は、情報を適切なレシーバ装置に送信してデータ処理装置によって実行できるように符号化するために生成される、人工的に生成された伝搬信号、例えば機械により生成された電気信号、光信号、または電磁信号上に符号化することもできる。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つもしくは複数の組合せとすることができる。
「データ処理装置」という用語は、データ処理ハードウェアを指し、例としてプログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのあらゆる種類の装置、デバイス、および機械を包含する。装置は、専用論理回路、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)とすることもでき、またはそれをさらに含むこともできる。装置は、オプションで、ハードウェアに加えて、コンピュータプログラムのための実行環境を作り出すコード、例えばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の組合せを構成するコードを含むことができる。
プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードとも呼ばれ、またはそう説明されることもあるコンピュータプログラムは、コンパイル型もしくはインタープリタ型言語、または宣言型もしくは手続き型言語を含む、任意の形態のプログラミング言語で記述することができ、またそれは、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境において使用するのに適した他のユニットとして、を含む、任意の形態で展開することができる。コンピュータプログラムは、その必要はないが、ファイルシステム内のファイルに対応していてよい。プログラムは、他のプログラムもしくはデータを保持するファイルの一部分、例えばマークアップ言語ドキュメント内に格納された1つもしくは複数のスクリプト内に、当該のプログラムに専用の単一ファイル内に、または複数の連係されたファイル、例えば1つもしくは複数のモジュール、サブプログラム、もしくはコードの一部分を格納するファイル内に、格納することができる。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに位置する複数のコンピュータ、もしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように、展開することができる。
本明細書において説明したプロセスおよび論理フローは、機能を実施するための1つまたは複数のコンピュータプログラムを、入力データに作用し、出力を生成することにより実行する、1つまたは複数のプログラマブルコンピュータによって実施することができる。プロセスおよび論理フローは、専用論理回路、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実施することもでき、装置を、専用論理回路、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)として実装することもできる。
コンピュータプログラムの実行に適したコンピュータとしては、例として、汎用マイクロプロセッサもしくは専用マイクロプロセッサもしくはその両方、または他の任意の種類の中央処理装置がある。一般に、中央処理装置は、読出し専用メモリまたはランダムアクセスメモリまたはその両方から、命令およびデータを受領する。コンピュータの必須要素は、命令を実施または実行するための中央処理装置、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、例えば磁気ディスク、光磁気ディスク、または光ディスクを含むか、またはそこからデータを受領するか、もしくはそこにデータを転送するか、もしくはその両方を行うように、動作可能に結合される。しかし、コンピュータはそのようなデバイスを有している必要はない。さらに、コンピュータは、別のデバイス、例えば、ほんの数例を挙げると、モバイル電話、パーソナルデジタルアシスタント(PDA)、モバイルオーディオプレーヤもしくはモバイルビデオプレーヤ、ゲームコンソール、グローバルポジショニングシステム(GPS)レシーバ、またはポータブル記憶デバイス、例えばユニバーサルシリアルバス(USB)フラッシュドライブに組み込むことができる。
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体としては、例として半導体メモリデバイス、例えばEPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、例えば内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMディスクおよびDVD-ROMディスクを含む、あらゆる形態の不揮発性のメモリ、媒体、およびメモリデバイスがある。プロセッサおよびメモリは、専用論理回路によって補完するか、またはそれに組み入れることができる。
ユーザとの対話を可能にするために、本明細書において説明した本主題の実施形態は、ユーザに情報を表示するためのディスプレイデバイス、例えばCRT(陰極線管)モニタまたはLCD(液晶ディスプレイ)モニタと、ユーザがそれによってコンピュータに入力することのできるキーボードおよびポインティングデバイス、例えばマウスまたはトラックボールとを有するコンピュータ上に実装することができる。他の種類のデバイスを使用して、ユーザとの対話を可能にすることもでき、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む、任意の形態で受領することができる。加えて、コンピュータはユーザと、ユーザによって使用されているデバイスにドキュメントを送り、そこからドキュメントを受領することによって、例えば、ユーザのデバイス上のウェブブラウザに、そのウェブブラウザから受領した要求に応答してウェブページを送ることによって、対話することができる。
本明細書において説明した本主題の実施形態は、例えばデータサーバとしてのバックエンドコンポーネントを含むか、またはミドルウェアコンポーネント、例えばアプリケーションサーバを含むか、またはフロントエンドコンポーネント、例えばユーザがそれを通じて本明細書において説明した本主題の実装形態と対話することのできるグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータを含むか、または1つもしくは複数のそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、もしくはフロントエンドコンポーネントのいずれかの組合せを含む、コンピューティングシステム内に実装することができる。システムのコンポーネントは、任意の形態またはデジタルデータ通信の媒体、例えば通信ネットワークによって、相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク(LAN)およびワイドエリアネットワーク(WAN)、例えばインターネットがある。
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは一般に、互いに遠隔にあり、典型的には、通信ネットワークを通じて対話する。クライアントとサーバの関係は、それぞれに対応するコンピュータ上で実行され、互いにクライアント-サーバ関係を有する、コンピュータプログラムによって生じる。いくつかの実施形態では、サーバは、データ、例えばHTMLページをユーザデバイスに、例えば、クライアントとして機能するユーザデバイスと対話しているユーザにデータを表示し、そのユーザからユーザ入力を受領する目的で、送信する。ユーザデバイスにおいて生成されたデータ、例えばユーザとの対話の結果は、ユーザデバイスからサーバにおいて受領され得る。
本明細書は、多くの特定の実装形態の詳細を含んでいるが、これらは、特許請求され得るものの範囲に対する限定と解釈するのではなく、特定の実施形態に固有であってよい特徴についての説明と解釈すべきである。本明細書において別々の実施形態の文脈の中で説明されるいくつかの特徴は、単一の実施形態において組み合わせて実施することもできる。反対に、単一の実施形態の文脈の中で説明されるさまざまな特徴を、複数の実施形態において別々に、または任意の適切な部分組合せ(subcombination)で実施することもできる。さらに、特徴については上で、ある特定の組合せで作用するものと説明されることがあり、そういうものとして最初に特許請求されることすらあるが、特許請求された組合せからの1つまたは複数の特徴を、場合によっては、その組合せから削除してもよく、特許請求された組合せが、部分組合せまたは部分組合せの変形を対象としてもよい。
同様に、動作は図面中に、特定の順序で描かれているが、これは、所望の結果を達成するために、そのような動作が図示の特定の順序でもしくは順番に実施されること、または示された全ての動作が実施されることを要求するものと理解すべきではない。ある特定の状況下では、マルチタスキングおよび並列処理が有利となることがある。さらに、上で説明した実施形態におけるさまざまなシステムモジュールおよびコンポーネントの分離は、そのような分離を全ての実施形態において要求するものと理解すべきではなく、説明したプログラムコンポーネントおよびシステムは一般に、単一のソフトウェア製品に一緒に統合するか、または複数のソフトウェア製品にパッケージ化することができる、と理解すべきである。
以上、本主題の特定の実施形態について説明してきた。他の実施形態が、添付の特許請求の範囲に記載の範囲に含まれる。例えば、特許請求の範囲に記載のアクションが、異なる順序で実施され、それでもなお、所望の結果を達成することができる。一例として、添付の図に描かれたプロセスは、所望の結果を達成するために、図示の特定の順序または順番を必ずしも要求するとは限らない。場合によっては、マルチタスキングおよび並列処理が有利となることがある。
100 分散型コンピューティングシステム
102 アプリケーションマネージャ
104 第1の要求
106 第2の要求
108 ユーザ認証モジュール
110 非特権化トークン
112 ユーザ認証情報
114 アプリケーションフレームワーク
116 第3の要求
118 クラウドコントローラ
120 第4の要求
122 特権
124 応答
126 クラウドコントローラインターフェース
128 決定モジュール
130 決定
200 一例示的プロセス

Claims (20)

  1. 分散型コンピューティングシステムのアプリケーションマネージャによって、前記分散型コンピューティングシステムのユーザ認証モジュールに、ユーザを認証せよとの要求を行うステップと、
    前記アプリケーションマネージャによって、前記ユーザ認証モジュールから、前記ユーザを認証する非特権化トークンを受領するステップであって、前記非特権化トークンが、前記ユーザに関連付けられた部分的アクセス権を含む、ステップと、
    前記アプリケーションマネージャによって、前記分散型コンピューティングシステムのアプリケーションフレームワークに、前記ユーザ、アプリケーション、アクション、および前記非特権化トークンを提供するステップと、
    前記アプリケーションフレームワークによって、前記分散型コンピューティングシステムのクラウドコントローラに、前記非特権化トークンを提供するステップと、
    前記クラウドコントローラによって、前記ユーザ認証モジュールに、前記非特権化トークンを機能拡張せよとの要求をサブミットするステップと、
    前記クラウドコントローラによって、前記ユーザ認証モジュールから、前記非特権化トークン内に表されていない、前記ユーザに関連付けられた1つまたは複数の特権に関する情報を受領するステップと、
    前記クラウドコントローラによって、前記アプリケーションフレームワークに、関連付けられた1つまたは複数の特権に関する前記情報を提供するステップと
    を含む方法。
  2. 前記ユーザを認証せよとの前記要求を行うステップが、前記ユーザ、前記アプリケーション、および前記アプリケーション上で前記ユーザによって実施される前記アクションを指定する要求を、前記アプリケーションマネージャによって受領したことに応答して行われる、請求項1に記載の方法。
  3. 前記アプリケーションフレームワークによって、前記アプリケーション上で前記ユーザが前記アクションを実施することを許すかどうかを、前記アクションと、前記ユーザに関連付けられた前記1つまたは複数の特権との間の比較に基づいて決定するステップ
    を含む、請求項1に記載の方法。
  4. 前記ユーザ認証モジュールが、前記分散型コンピューティングシステムのユーザアカウントおよび認証(UAA)サーバを含み、
    前記アクションが、健全性を表示すること、アプリケーション固有の情報を表示すること、環境変数を表示すること、メモリの内容を表示すること、スレッド診断を表示すること、アプリケーション固有の尺度を表示すること、およびアプリケーションの構成を表示または修正することのうちの少なくとも1つを含む、
    請求項1に記載の方法。
  5. 前記クラウドコントローラによって、前記アプリケーションフレームワークに、前記関連付けられた1つまたは複数の特権を提供するステップが、暗号化されたチャネルを通じて実施され、前記関連付けられた1つまたは複数の特権に前記非特権化トークンが伴わない、請求項1に記載の方法。
  6. 前記ユーザが前記アクションを実施することを許すと決定した後に、前記アクションの結果を出力デバイス上に提示するステップを含む、請求項1に記載の方法。
  7. 前記アプリケーションマネージャ、前記アプリケーションフレームワーク、および前記クラウドコントローラの各々上で、前記特権と前記非特権化トークンが別々に符号化される、請求項1に記載の方法。
  8. データ処理装置によって実行可能な命令を記憶し、そのように実行すると、前記データ処理装置に、
    分散型コンピューティングシステムのアプリケーションマネージャによって、前記分散型コンピューティングシステムのユーザ認証モジュールに、ユーザを認証せよとの要求を行うことと、
    前記アプリケーションマネージャによって、前記ユーザ認証モジュールから、前記ユーザを認証する非特権化トークンを受領することであって、前記非特権化トークンが、前記ユーザに関連付けられた部分的アクセス権を含む、受領することと、
    前記アプリケーションマネージャによって、前記分散型コンピューティングシステムのアプリケーションフレームワークに、前記ユーザ、アプリケーション、アクション、および前記非特権化トークンを提供することと、
    前記アプリケーションフレームワークによって、前記分散型コンピューティングシステムのクラウドコントローラに、前記非特権化トークンを提供することと、
    前記クラウドコントローラによって、前記ユーザ認証モジュールに、前記非特権化トークンを機能拡張せよとの要求をサブミットすることと、
    前記クラウドコントローラによって、前記ユーザ認証モジュールから、前記非特権化トークン内に表されていない、前記ユーザに関連付けられた1つまたは複数の特権に関する情報を受領することと、
    前記クラウドコントローラによって、前記アプリケーションフレームワークに、関連付けられた1つまたは複数の特権に関する前記情報を提供することと
    を含む動作を実施させる、非一時的コンピュータ可読記憶媒体。
  9. 前記ユーザを認証せよとの前記要求を行うことが、前記ユーザ、前記アプリケーション、および前記アプリケーション上で前記ユーザによって実施される前記アクションを指定する要求を、前記アプリケーションマネージャによって受領したことに応答して行われる、請求項8に記載の非一時的コンピュータ可読記憶媒体。
  10. 前記動作が、
    前記アプリケーションフレームワークによって、前記アプリケーション上で前記ユーザが前記アクションを実施することを許すかどうかを、前記アクションと、前記ユーザに関連付けられた前記1つまたは複数の特権との間の比較に基づいて決定すること
    を含む、請求項8に記載の非一時的コンピュータ可読記憶媒体。
  11. 前記ユーザ認証モジュールが、前記分散型コンピューティングシステムのユーザアカウントおよび認証(UAA)サーバを含み、
    前記アクションが、健全性を表示すること、アプリケーション固有の情報を表示すること、環境変数を表示すること、メモリの内容を表示すること、スレッド診断を表示すること、アプリケーション固有の尺度を表示すること、およびアプリケーションの構成を表示または修正することのうちの少なくとも1つを含む、
    請求項8に記載の非一時的コンピュータ可読記憶媒体。
  12. 前記クラウドコントローラによって、前記アプリケーションフレームワークに、前記関連付けられた1つまたは複数の特権を提供することが、暗号化されたチャネルを通じて実施され、前記関連付けられた1つまたは複数の特権に前記非特権化トークンが伴わない、請求項8に記載の非一時的コンピュータ可読記憶媒体。
  13. 前記動作が、前記ユーザが前記アクションを実施することを許すと決定した後に、前記アクションの結果を出力デバイス上に提示することを含む、請求項8に記載の非一時的コンピュータ可読記憶媒体。
  14. 前記アプリケーションマネージャ、前記アプリケーションフレームワーク、および前記クラウドコントローラの各々上で、前記特権と前記非特権化トークンが別々に符号化される、請求項8に記載の非一時的コンピュータ可読記憶媒体。
  15. 1つまたは複数のコンピュータと、
    1つまたは複数の記憶デバイスであって、その上に命令が記憶され、その命令が、前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、
    分散型コンピューティングシステムのアプリケーションマネージャによって、前記分散型コンピューティングシステムのユーザ認証モジュールに、ユーザを認証せよとの要求を行うこと、
    前記アプリケーションマネージャによって、前記ユーザ認証モジュールから、前記ユーザを認証する非特権化トークンを受領することであって、前記非特権化トークンが、前記ユーザに関連付けられた部分的アクセス権を含む、受領すること、
    前記アプリケーションマネージャによって、前記分散型コンピューティングシステムのアプリケーションフレームワークに、前記ユーザ、アプリケーション、アクション、および前記非特権化トークンを提供すること、
    前記アプリケーションフレームワークによって、前記分散型コンピューティングシステムのクラウドコントローラに、前記非特権化トークンを提供すること、
    前記クラウドコントローラによって、前記ユーザ認証モジュールに、前記非特権化トークンを機能拡張せよとの要求をサブミットすること、
    前記クラウドコントローラによって、前記ユーザ認証モジュールから、前記非特権化トークン内に表されていない、前記ユーザに関連付けられた1つまたは複数の特権に関する情報を受領すること、および
    前記クラウドコントローラによって、前記アプリケーションフレームワークに、関連付けられた1つまたは複数の特権に関する前記情報を提供すること
    を含む動作を実施させるように動作可能である、1つまたは複数の記憶デバイスと
    を備える、システム。
  16. 前記ユーザを認証せよとの前記要求を行うことが、前記ユーザ、前記アプリケーション、および前記アプリケーション上で前記ユーザによって実施される前記アクションを指定する要求を、前記アプリケーションマネージャによって受領したことに応答して行われる、請求項15に記載のシステム。
  17. 前記動作が、
    前記アプリケーションフレームワークによって、前記アプリケーション上で前記ユーザが前記アクションを実施することを許すかどうかを、前記アクションと、前記ユーザに関連付けられた前記1つまたは複数の特権との間の比較に基づいて決定すること
    を含む、請求項15に記載のシステム。
  18. 前記ユーザ認証モジュールが、前記分散型コンピューティングシステムのユーザアカウントおよび認証(UAA)サーバを含み、
    前記アクションが、健全性を表示すること、アプリケーション固有の情報を表示すること、環境変数を表示すること、メモリの内容を表示すること、スレッド診断を表示すること、アプリケーション固有の尺度を表示すること、およびアプリケーションの構成を表示または修正することのうちの少なくとも1つを含む、
    請求項15に記載のシステム。
  19. 前記クラウドコントローラによって、前記アプリケーションフレームワークに、前記関連付けられた1つまたは複数の特権を提供することが、暗号化されたチャネルを通じて実施され、前記関連付けられた1つまたは複数の特権に前記非特権化トークンが伴わない、請求項15に記載のシステム。
  20. 前記アプリケーションマネージャ、前記アプリケーションフレームワーク、および前記クラウドコントローラの各々上で、前記特権と前記非特権化トークンが別々に符号化される、請求項15に記載のシステム。
JP2019532104A 2016-12-14 2017-12-12 資格情報の分散型検証 Active JP6765537B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662434325P 2016-12-14 2016-12-14
US62/434,325 2016-12-14
PCT/US2017/065893 WO2018111927A1 (en) 2016-12-14 2017-12-12 Distributed validation of credentials

Publications (2)

Publication Number Publication Date
JP2020502676A JP2020502676A (ja) 2020-01-23
JP6765537B2 true JP6765537B2 (ja) 2020-10-07

Family

ID=61656330

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019532104A Active JP6765537B2 (ja) 2016-12-14 2017-12-12 資格情報の分散型検証

Country Status (6)

Country Link
US (1) US10666631B2 (ja)
EP (1) EP3394782B1 (ja)
JP (1) JP6765537B2 (ja)
CN (1) CN110168549B (ja)
AU (1) AU2017376110B2 (ja)
WO (1) WO2018111927A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10333918B2 (en) * 2017-02-22 2019-06-25 Accenture Global Solutions Limited Automated system identification, authentication, and provisioning
US10614164B2 (en) 2017-02-27 2020-04-07 International Business Machines Corporation Message sentiment based alert
CN110309645A (zh) * 2019-04-16 2019-10-08 网宿科技股份有限公司 一种对api进行安全防护的方法、设备和系统
JP7313309B2 (ja) * 2020-03-31 2023-07-24 株式会社日立製作所 プログラム実行支援装置、及びプログラム実行支援方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7770212B2 (en) * 2002-08-15 2010-08-03 Activcard System and method for privilege delegation and control
US7076637B2 (en) * 2003-10-29 2006-07-11 Qualcomm Inc. System for providing transitions between operating modes of a device
US20070283143A1 (en) * 2006-06-06 2007-12-06 Kabushiki Kaisha Toshiba System and method for certificate-based client registration via a document processing device
US8621561B2 (en) * 2008-01-04 2013-12-31 Microsoft Corporation Selective authorization based on authentication input attributes
US8443451B2 (en) * 2008-03-27 2013-05-14 George Madathilparambil George Manually controlled application security environments
US20090260050A1 (en) * 2008-04-14 2009-10-15 George Madathilparambil George Authenticating device for controlling application security environments
US9652788B2 (en) * 2008-06-18 2017-05-16 Oracle International Corporation Method and apparatus for logging privilege use in a distributed computing environment
US8505078B2 (en) * 2008-12-28 2013-08-06 Qualcomm Incorporated Apparatus and methods for providing authorized device access
US20120246695A1 (en) * 2009-05-08 2012-09-27 Alexander Cameron Access control of distributed computing resources system and method
WO2012032837A1 (ja) * 2010-09-10 2012-03-15 オリンパスメディカルシステムズ株式会社 内視鏡
US20120144501A1 (en) * 2010-12-03 2012-06-07 Salesforce.Com, Inc. Regulating access to protected data resources using upgraded access tokens
US9449185B2 (en) * 2011-12-16 2016-09-20 Software Ag Extensible and/or distributed authorization system and/or methods of providing the same
US9124569B2 (en) * 2013-06-14 2015-09-01 Microsoft Technology Licensing, Llc User authentication in a cloud environment
US9350729B2 (en) * 2014-05-21 2016-05-24 Microsoft Technology Licensing, Llc Bifurcated authentication token techniques
JP2016009276A (ja) * 2014-06-23 2016-01-18 富士通株式会社 システム、認証装置、認証プログラム、及び、認証方法
JP6354407B2 (ja) * 2014-07-11 2018-07-11 株式会社リコー 認証システム、認証方法、プログラム及び通信システム
KR102408618B1 (ko) * 2015-02-16 2022-06-14 쑤저우 레킨 세미컨덕터 컴퍼니 리미티드 발광 소자 패키지 및 이를 포함하는 조명 장치
US10104065B2 (en) * 2015-05-26 2018-10-16 Futurewei Technologies, Inc. Token-based authentication and authorization information signaling and exchange for adaptive streaming

Also Published As

Publication number Publication date
EP3394782A1 (en) 2018-10-31
US10666631B2 (en) 2020-05-26
AU2017376110A1 (en) 2019-07-04
CN110168549A (zh) 2019-08-23
WO2018111927A1 (en) 2018-06-21
US20180167374A1 (en) 2018-06-14
EP3394782B1 (en) 2020-07-29
JP2020502676A (ja) 2020-01-23
AU2017376110B2 (en) 2020-06-11
CN110168549B (zh) 2022-11-11

Similar Documents

Publication Publication Date Title
US11099964B2 (en) Framework actuator integration
US11736469B2 (en) Single sign-on enabled OAuth token
JP6765537B2 (ja) 資格情報の分散型検証
CN112136303B (zh) 用于耗时操作的刷新令牌的安全委托
US10693859B2 (en) Restricting access for a single sign-on (SSO) session
US10581826B2 (en) Run-time trust management system for access impersonation
CN108140098B (zh) 建立容器之间的信任
US10467385B2 (en) User-specific application activation for remote sessions
EP3915026B1 (en) Browser login sessions via non-extractable asymmetric keys
US11750590B2 (en) Single sign-on (SSO) user techniques using client side encryption and decryption
US20190319946A1 (en) Universal group support for authentication systems
JP2022526019A (ja) 管理されたマルチテナントサービスにおけるユーザ属性情報の管理
US9479492B1 (en) Authored injections of context that are resolved at authentication time
WO2019052170A1 (zh) 实现用户免登录的方法、装置、设备、计算机存储介质
US9565174B2 (en) Information processing server system, control method, and program
KR102428409B1 (ko) 사용자 인증 장치, 보안 코드를 이용한 사용자 인증 방법 및 컴퓨터 프로그램
Boreisha et al. Publishing and Consuming RESTful Web API Services
US20230216840A1 (en) Distributed workspace support of single sign-on for web applications
Edge et al. Identity and Device Trust
US10437432B2 (en) Integration of user interface technologies
Wojcieszyn et al. Securing an ASP. NET Web API Service
Collins et al. Authentication, Authorization, and Discovery Service

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190813

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200812

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200915

R150 Certificate of patent or registration of utility model

Ref document number: 6765537

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250