JP2014526744A - リソースアクセスの権限付与 - Google Patents

リソースアクセスの権限付与 Download PDF

Info

Publication number
JP2014526744A
JP2014526744A JP2014529935A JP2014529935A JP2014526744A JP 2014526744 A JP2014526744 A JP 2014526744A JP 2014529935 A JP2014529935 A JP 2014529935A JP 2014529935 A JP2014529935 A JP 2014529935A JP 2014526744 A JP2014526744 A JP 2014526744A
Authority
JP
Japan
Prior art keywords
application
user
access
authorization
computing device
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
JP2014529935A
Other languages
English (en)
Other versions
JP5992524B2 (ja
JP2014526744A5 (ja
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 JP2014526744A publication Critical patent/JP2014526744A/ja
Publication of JP2014526744A5 publication Critical patent/JP2014526744A5/ja
Application granted granted Critical
Publication of JP5992524B2 publication Critical patent/JP5992524B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

リソースアクセスの権限付与のための技術を説明する。1つ又は複数の実装において、アプリケーション識別子を使用して、アプリケーションによるユーザリソースへのアクセスを制御する。アプリケーションが、ユーザリソースにアクセスすることを許可するかどうかの判断は、権限付与サービスからの受信したアプリケーション識別子を、アプリケーションが動作しているコンピューティングデバイスから取得した、アプリケーションに対するシステムアプリケーション識別子と比較することによって行われる。

Description

本発明は、リソースアクセスの権限付与に関する。
今日のコンピュータユーザは、メディアサービス、ウェブアプリケーション及びソーシャルメディアアプリケーション等のような、幅広い種類のアプリケーションへのアクセスを有する。これらのアプリケーションの多くは、ユーザの識別を確認し、ユーザ情報に対するアクセスを得るため、オンライン認証及び/又は権限付与サービスのような、何らかのタイプの識別技術を使用する。このような技術を用いる際の主な課題は、ユーザの識別を確実に保護しつつ、アプリケーションに対してユーザリソースへアクセスする権限を付与することである。
この「発明の概要」の記載は、以下で「発明を実施するための形態」においてさらに説明される概念の選択を簡略化した形で紹介するために提供される。この「発明の概要」における記載は、特許請求に係る主題の主要な特徴及び本質的特徴を特定するようには意図されておらず、特許請求に係る主題の範囲を決定する際の一助として用いられるようにも意図されていない。
リソースアクセスの権限付与のための技術を説明する。1つ又は複数の実装において、アプリケーション識別子を使用して、アプリケーションによるユーザリソースへのアクセスを制御する。アプリケーションがユーザリソースにアクセスすることを許可するかどうかの決定は、権限付与サービスから受信したアプリケーション識別子を、そのアプリケーションが動作しているコンピューティングデバイスから取得した、アプリケーションに対するシステムアプリケーション識別子と比較することによって行われる。
1つ又は複数の実装において、アプリケーションが、ユーザリソースへのアクセスを許可されているか否かの判断を求める要求に応答して、アプリケーションのアプリケーション識別子を含む応答を権限付与エンティティから受信する。アプリケーション識別子が、そのアプリケーションが動作しているコンピューティングデバイスから取得した、アプリケーションに対するシステムアプリケーション識別子と合致する場合、そのアプリケーションはユーザリソースへのアクセスを許可される。
1つ又は複数の実装において、諸技術は、コンピューティングデバイス上で動作しているアプリケーションが、持続型認証(persisted autherntication)モードにより、ユーザリソースへのアクセスを要求していることを検出する。権限付与サービスから受信したアプリケーション識別子が、上記コンピューティングデバイスから取得したシステムアプリケーション識別子に合致するかどうかの判断が行われる。アプリケーション識別子がシステムアプリケーション識別子に合致する場合、アプリケーションは、権限付与サービスから受信した認証データを介して、ユーザリソースにアクセスすることを許可される。
以下の詳細な説明は、添付の図面を参照しながら記載される。図面において、参照番号の左端の桁は、その参照番号が最初に現れる図面を識別する。説明及び図面の異なる例における同じ参照番号の使用は、同様又は同じ項目であることを示す。
本明細書で議論される技術を用いるのに使用可能な例示的実装の環境を示す図である。 本明細書で議論される技術を用いるのに使用可能な例示的実装の権限付与環境を示す図である。 アプリケーションがユーザリソースにアクセスするのをユーザが認証することができる例示的実装のプロシージャを示すフロー図である。 持続型認証モードがリソースアクセスに用いられる例示的実装のプロシージャを示すフロー図である。 アプリケーションが、権限付与トランザクションに参加することが認められる、例示的実装のプロシージャを示すフロー図である。 ローカルの権限付与情報を使用して、アプリケーションにユーザリソースへアクセスする権限を付与するかどうかを判断する、例示的実装のプロシージャを示すフロー図である。 図1、2及び8に関連して説明されるようなコンピューティングデバイスを含む例示的システムを示す図である。 図1、2及び7に関連して説明されるような、本明細書で説明される技術の実施形態を実装する任意のタイプのポータブル及び/又はコンピューティングデバイスとして実装される例示的デバイスの様々なコンポーネントを示す図である。
<概要>
リソースアクセスの権限付与のための技術を説明する。1つ又は複数の実装において、本技術を用いて、ユーザ名及び/又はパスワードなどのユーザの認証情報を、認証されていないエンティティから保護しつつ、アプリケーションに対してユーザリソースへアクセスする権限を付与することができる。例えばユーザリソースへのアクセスを要求しているアプリケーションと、ユーザの識別を確認してユーザリソースへのアクセスを可能にすることができる権限付与エンティティとの間の仲介として機能するアクセスブローカを用いることができる。ユーザリソースの例には、ユーザコンテンツ(例えばイメージ、オーディオ、ビデオ等)、ユーザデータ(例えばファイル)、アプリケーション及び/又はサービスに関するユーザプロファイル等が含まれる。
諸実装において、アクセスブローカは、アプリケーションがユーザリソースにアクセスするのを許可する権限付与エンティティによって、そのアプリケーションに権限を付与することを可能にする。例えばアプリケーションは、アプリケーションブローカを起動することができ、アプリケーションブローカは、権限付与エンティティと通信して、該権限付与エンティティに関連付けられたユーザインタフェースを提示させる。ユーザは、ユーザ名及びパスワードなどの認証情報をユーザインタフェースに提示することができる。ユーザ名及びパスワードが、権限付与エンティティに知られているユーザプロファイルに合致するとき、権限付与エンティティは、アクセスブローカに権限付与情報を返す。諸実装において、ユーザがアプリケーションに対してユーザリソースへのアクセスの権限を与えることができるようにする権限付与プロンプトを、ユーザに提示することができる。アクセスブローカは、アプリケーションが権限付与情報によりユーザリソースにアクセスすることを可能にすることができる。
更なる実施形態では、持続型認証モードを用いることができる。持続型認証モードは、ユーザが各トランザクションに対して認証情報を提供する必要なく、アプリケーションが複数の別個のトランザクション中にユーザリソースにアクセスすることを可能にする。例えばユーザが認証情報を権限付与サービスに与えて、アプリケーションによるユーザリソースへのアクセスを可能にするとき、アプリケーション及び/又はユーザは持続型認証モードを要求することができる。認証情報は他の情報とともに、アプリケーションのキャッシュされた認証状態の一部として(例えばアクセスブローカによって)キャッシュされる。
アプリケーションが、後続のトランザクション中にユーザリソースへのアクセスを要求するとき、アクセスブローカは、この要求をキャッシュされた認証状態とともに権限付与サービスに転送する。権限付与サービスは、キャッシュされた認証状態に基づいて、そのアプリケーションがユーザによって以前にユーザリソースへアクセスする権限を与えられたことを突き止め、そのアプリケーションに対するアクセストークン及びアプリケーション識別子をアクセスブローカに返す。諸実装において、権限付与サービスは、アクセスブローカに権限付与の指示を返す前に、ユーザの権限付与を(例えば認証プロンプトを介して)要求することができる。
アクセスブローカは、権限付与サービスから受信したアプリケーション識別子が、アプリケーションが動作しているコンピューティングデバイスによって提供された、アプリケーションのシステムレベル識別子に合致するかどうかを確かめる。両識別子が合致した場合、アクセスブローカは、アクセストークンをアプリケーションに提供する。アプリケーションは、このアクセストークンを使用してユーザリソースにアクセスすることができる。両識別子が合致しなかった場合、アプリケーションはユーザリソースへのアクセスを拒否され、及び/又はユーザに、アプリケーションがユーザリソースにアクセスできるように認証情報を提供するように促すこともできる。
本明細書で使用されるとき、「権限付与」という用語は一般に、アプリケーション及び他のエンティティがリソースにアクセスするのを可能にする技術を指し、特定のプロトコル、プロシージャ、規定又は基準に限定されない。したがって、用語は、本明細書で議論される実施形態の精神及び範囲内において任意の適切な技術を含むように広く解釈されるべきである。
以下の議論では、最初に、本明細書で説明されるリソースアクセスの権限付与技術を用いるように使用可能な例示的な環境について説明する。次いで、リソースアクセスの権限付与技術に関する例示的なプロシージャを説明する。このプロシージャは、上記例示的な環境だけでなく他の環境においても用いることができる。したがって、例示的な環境は例示的なプロシージャを実行することに限定されない。同様に、例示的なプロシージャは例示的な環境における実装に限定されない。最後に、1つ又は複数の実施形態に従って本明細書で議論される技術を用いるのに使用可能な例示的なシステム及びデバイスを説明する。
<例示的な環境>
図1は、リソースアクセスの権限付与のための技術を用いるのに使用可能な例示的実装の環境100を示す図である。環境100は、1つ又複数のプロセッサ104と、1つ又は複数のコンピュータ読取可能記憶媒体106と、コンピュータ読取可能記憶媒体106上に存在し、プロセッサ104によって実行可能な1つ又は複数のアプリケーション108とを有するコンピューティングデバイス102を含む。コンピューティングデバイス102は、限定ではなく例として、デスクトップコンピュータ、ポータブルコンピュータ、パーソナルデジタルアシスタント(PDA)のようなハンドヘルドコンピュータ、モバイルフォン及びタブレットコンピュータ等のような、任意の適切なコンピューティングデバイスとして具現化され得る。コンピューティングデバイス102の様々な異なる例の1つが、図7及び図8に示されおり、以下で説明される。
図1のコンピューティングデバイス102は、例えばウェブブラウザなどのブラウザ110も含むように図示されており、ブラウザ110は、ネットワーク112を介してナビゲートするように構成される機能を表す。ネットワーク112はインターネットとして図示されているが、ネットワークは幅広い種類の構成が想定される。例えばネットワーク112は、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、無線ネットワーク、公衆電話網、イントラネット等を含むことができる。さらに、単一のネットワーク112が示されているが、ネットワーク112は複数のネットワークを含むように構成してもよい。
ブラウザ110は、例えばネットワーク112を介してナビゲートして、1つ又は複数のウェブリソース114から取得可能なコンテンツと対話し、そしてデータを1つ又は複数のウェブリソース14に通信する、例えばダウンロードとアップロードを実行するように構成される。ウェブリソース114は、ネットワーク112を介してアクセス可能なコンテンツを提供するように構成される、任意の適切なコンピューティングリソースを含むことができる。そのようなコンテンツの例には、ウェブページ、テキストコンテンツ、ビデオ及びオーディオ等が含まれる。
アプリケーション108の1つ又は複数は、ネットワーク112に、例えば該アプリケーション自身が直接及び/又はブラウザ110を通じてアクセスするようにも構成される。例えばアプリケーション108の1つ又は複数は、ウェブリソース114のうちの1つ又は複数にアクセスして、コンテンツを取り出す、及び/又はアップロードするように構成される。したがって、アプリケーション108は、ネットワーク112への直接アクセス又は間接的なアクセスを含む様々な機能に対して構成されることもある。例えばアプリケーション108は、該アプリケーション108がローカルで利用することができる構成設定及び他のデータであって、別のコンピューティングデバイス上で実行されるアプリケーションと同期される構成設定及び他のデータを含むことができる。この方法では、これらの設定を複数のデバイスによって共有することができる。様々な他の例も含まれる。したがって、コンピューティングデバイス102は、様々な方法で様々な異なるソースからのコンテンツと対話することができる。
さらに、コンピューティングデバイス102の一部としてオペレーティングシステム116が図示されている。オペレーティングシステム116は、コンピューティングデバイス102のリソースを管理し、コンピューティングデバイス102の機能に対するアクセスを提供する機能を表す。諸実装において、オペレーティングシステム116は、本明細書で議論される技術を実装するのに用いられる、アプリケーション108の識別情報を保持する。例えばアプリケーション108の1つがコンピューティングデバイス102上にインストールされ、及び/又は開始されると、コンピューティングデバイス102は、そのアプリケーションのシステムアプリケーション識別子を記録する。システムアプリケーション識別子を、コンピューティングデバイス102のうち、アプリケーションン108によってアクセス可能ではない、及び/又は操作可能ではない部分、例えば保護されたデータベースやオペレーティングシステム116のカーネルなどに格納することができる。あるいはまた、アプリケーションがシステムアプリケーション識別子を改変することができないように、システムアプリケーション識別子にデジタル署名をすることができる。
コンピューティングデバイス102は、図示される例において、アクセスブローカモジュール118も含むように示されている。アクセスブローカモジュール118は、アプリケーション108に対する権限付与及び認証トランザクションを仲介する、コンピューティングデバイス102の機能を表す。アクセスブローカモジュール118は、様々な形式の権限付与及び認証情報を、権限付与トランザクションで関与するエンティティ間に通信するように構成される。諸実装において、アクセスブローカモジュール118は、ブラウザの機能を介して情報を通信するように構成され、したがってアクセスブローカモジュール118をブラウザ110と組み合わせること、及び/又はブラウザ110として具現化することができる。
そのような権限付与トランザクションについて、環境100は権限付与サービス120を含む。権限付与サービス120は、ユーザプロファイルをトラックし、アクセスブローカモジュール118と対話してアプリケーション108及び/又は他のエンティティが、ユーザリソースにアクセスする権限を付与されるかどうかを判断する機能を表す。例えば権限付与サービス120は、複数のユーザ及び複数の異なるデバイスによってアクセスされて権限付与トランザクション及び/又は認証トランザクションを実施する、ウェブベースの権限付与サービスとして実装されることがある。諸実装において、権限付与サービス120は、アプリケーション108などの様々なアプリケーションに対するアプリケーション識別子を保持することができる。例えばアプリケーション108のうちの特定のアプリケーションについて上記したシステムアプリケーション識別子を、権限付与サービス120に、例えば権限付与サービスを用いるアプリケーションの登録の一部として通信することができる。権限付与サービス120は、本明細書で議論されるリソースアクセスオペレーションの一部として使用すべきアプリケーション識別子を格納することができる。
そのような実施形態について、環境100は、コンピューティングデバイス102のユーザに関連付けられたリソースを表す、ユーザリソース122を含む。ユーザリソース122の例には、ユーザコンテンツ(例えばイメージ、オーディオ、ビデオ等)、ユーザデータ(例えばファイル)、アプリケーション及び/又はサービスに関するユーザプロファイル等が含まれる。
権限付与サービス120及びユーザリソース122は、別個のエンティティとして図示されているが、一部の実装では、ユーザリソース122を、権限付与サービス120によって管理及び/又は保持することができる。例えば権限許可サービス120を、ソーシャルネットワークサービス、写真共有サービス、ウェブログ(ブログ)サービス等のような、ユーザリソース122を管理するコンテンツサービスのタイプに関連付けることができる。そのような実装において、権限許可サービス120は、コンテンツサービス、並び該コンテンツサービスと対話することができる他のサービス(例えばアプリケーション108)に対してユーザを認証するように実装される。
諸実装において、アクセスブローカモジュール118が、アプリケーション108のうちのいずれか1つに対して、ユーザリソース122にアクセスする権限を付与すると決定すると、アクセスブローカモジュール118は、アクセストークン又は他の権限付与機構をそのアプリケーションに与える。アプリケーションは、そのアクセストークン又は他の権限付与機構を用いてユーザリソース122にアクセスすることができる。したがって、アクセストークン又は他の権限付与機構を用いて、アプリケーション108及び/又は他のエンティティがユーザリソース122にアクセスすることを可能にすることができる。
一般に、本明細書で説明される機能のうちの任意の機能は、ソフトウェア、ファームウェア、ハードウェア(例えば固定の論理回路)又はこれらの実装の組み合わせを用いて実装される。本明細書で使用されるとき、「モジュール」、「機能」及び「ロジック(論理)」という用語は一般に、ソフトウェア、ファームウェア、ハードウェア又はこれらの組み合わせを表す。ソフトウェアでの実装の場合、モジュール、機能又はロジックは、プロセッサ(例えば1つ又は複数のCPU)において実行されるときに、指定されたタスクを実行するプログラムコードを表す。プログラムコードを、1つ又は複数のコンピュータ読取可能メモリデバイスに格納することができる。以下で説明される技術の特徴はプラットフォーム独立であり、これは、その技術を、様々なプロセッサを有する様々な市販のコンピューティングプラットフォーム上で実装することができることを意味する。
例えばコンピューティングデバイス102は、例えばプロセッサ及び機能ブロック等の、コンピューティングデバイス102のハードウェアにオペレーションを実行させるエンティティ(例えばソフトウェア)を含むこともできる。例えばコンピューティングデバイス102は、該コンピューティングデバイスに、より具体的には、コンピューティングデバイス102のハードウェアにオペレーションを実行させる命令を保持するように構成される、コンピュータ読取可能媒体を含むことができる。したがって、命令は、オペレーションを実行させるようハードウェアを構成するように機能し、このようにして、その結果、ハードウェアの変換が起こり、関数を実行させる。命令は、コンピュータ読取可能媒体によってコンピューティングデバイス102に様々な異なる構成により提供される。
コンピュータ読取可能媒体のそのような構成の1つが信号担持媒体であり、したがって、そのような構成は、命令を(例えば搬送波として)コンピューティングデバイスのハードウェアに、ネットワークを介するなどして伝送するように構成される。コンピュータ読取可能媒体は、コンピュータ読取可能記憶媒体としても構成され、したがってそのような構成は信号担持媒体ではない。コンピュータ読取可能媒体の例には、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、光ディスク、フラッシュメモリ、ハードディスクメモリ、あるいは磁気、光学及び他の技術を使用して命令及び他のデータを格納することができる他のメモリデバイスが含まれる。
図2は、1つ又は複数の実装による例示的な権限付与環境を、全体的に200として図示している。権限付与環境200の一部として含まれるのは、コンピューティングデバイス102の一部として含めることができるディスプレイスクリーン202である。諸実装において、ディスプレイスクリーン202は、物理的な入力、例えばタッチ入力やスタイラス入力を受け取るように構成されてもよく、そのように構成しなくてもよい。ディスプレイスクリーン202上に提示されるのは、例えばアプリケーション108等のアプリケーションに関連付けられるアプリケーションユーザインタフェース204である。
ユーザが、ユーザリソースにアクセスするための権限をアプリケーションに与えることができるように、権限付与ユーザインタフェース206が提供される。諸実装において、権限付与ユーザインタフェース206を自動的に、例えばアプリケーション108が開かれたことに応答して表示することができる。例えばユーザがアプリケーション108を開始すると、アクセスブローカモジュール118は、ブラウザ110及び/又は権限付与サービス120と通信して、権限付与ユーザインタフェース206を表示させることができる。例えば権限付与サービス120は、権限付与ユーザインタフェース206を、ウェブブラウザ110に、例えばウェブページとして提供することができる。あるいはまた、ユーザは、ログインボタン又はアプリケーションユーザインタフェース204に関連付けられた他のコントロール(図示せず)を選択することによって、権限付与ユーザインタフェース206を起動させることができる。
諸実装において、権限付与ユーザインタフェース206は、アプリケーションユーザインタフェース204に対してモーダルにすることができる。例えばアプリケーションユーザインタフェース204は、例えば権限付与ユーザインタフェースに対するユーザ入力に応答して、権限付与ユーザインタフェース206が終了されるまで、入力を受信すること及び/又は閉じることを妨げられる。
権限付与ユーザインタフェース206の一部として図示されているのは、ユーザ名フィールド208とパスワードフィールド210である。ユーザ名フィールド208は、ユーザ名及び/又は他の識別指標(indicia)(例えばユーザ電子メール)をユーザから受け取るように構成される。加えて、パスワードフィールド210は、ユーザからパスワードを受け取るように構成される。諸実装において、ユーザ名及びパスワードは、ユーザのユーザプロファイル、例えば権限付与サービス120で以前に確立されたユーザプロファイル等に関連付けられる。したがって、ユーザ名及びパスワードを権限付与ユーザインタフェース206に提供することにより、特定のユーザプロファイル及び/又はそのユーザプロファイルに関連付けられたユーザリソースにアクセスする権限を付与されているものとして、ユーザを認証することができる。
権限付与ユーザインタフェース206の一部として更に図示されているのは、ログインコントロール212である。ログインコントロール212は、選択されると、権限付与ユーザインタフェース206に提供されたログイン情報を提示する。例えばユーザ名フィールド208に提供されたユーザ名と、パスワードフィールド210に提供されたパスワードを、ログインコントロール212の選択に応答して、権限付与サービス120に提示することができる。
権限付与ユーザインタフェース206はキャンセルコントロール214も含む。キャンセルコントロール214は、選択されると、権限付与トランザクションをキャンセルさせるか、及び/又は権限付与ユーザインタフェース206を閉じることができる。
権限付与ユーザインタフェース206の一部として更に含まれるのは、持続型ログインオプション216であり、この持続型ログインオプション216は、持続型認証モードをアクティブにするのに選択可能である。諸実装において、持続型認証モードは、ユーザによって(例えば持続型ログインオプション216の選択を介して)、及び/又はアプリケーション108及び/又はアクセスブローカモジュール118などの別のエンティティによってアクティブにされることができる。持続型認証モードに関する更なる詳細は、上記及び下記においてより詳しく議論される。
本明細書において説明される技術が動作することができる例示的な環境について説明したが、次に、1つ又は複数の実施形態による幾つかの例示的なプロシージャの議論を検討する。
<例示的なプロシージャ>
以下の議論では、本明細書で説明されるシステム及びデバイスを用いて実装することができるリソースアクセスの権限付与の技術を説明する。プロシージャそれぞれの諸態様は、ハードウェア、ファームウェア又はソフトウェア、又はこれらの組み合わせで実装することができる。これらのプロシージャは、1つ又は複数のデバイスによって実行されるオペレーションを指定するブロックのセットとして示されているが、必ずしもその順序は、個々のブロックによってオペレーションを実行する順序として示されている順序に限定されない。さらに、1つ又は複数の実装に従って、特定のプロシージャに関して示されているオペレーションを、異なるプロシージャのオペレーションと組み合わせること、及び/又は交換することができる。以下の議論の一部において、図1及び2の環境100及び/又は200を参照する。
図3は、ユーザがアプリケーションにユーザリソースへアクセスする権限を付与することができる、例示的な実装におけるプロシージャ300を示す。ステップ302において、アプリケーションがユーザリソースにアクセスするのを許可するよう求める要求を検出する。例えばアクセスブローカモジュール118は、アプリケーション108から、ユーザリソース122へのアクセスを求める要求を受信する。あるいはまた、アプリケーションがユーザリソースにアクセスするための要求を開始することに先行して、この要求をアプリケーション以外のエンティティから受信することができる。例えばあるエンティティは、アプリケーションに先立ってユーザリソースにアクセスする許可を取得することができる。諸実装において、コンピューティングデバイス102及び/又はブラウザ110の一部は、ログオン情報、認証及び/又は権限付与クッキー、ユーザ名並びにパスワード等のユーザ識別情報を格納することができる。アプリケーション108が、そのような識別情報に対する認証されていないアクセスを得ることを防ぐために、アクセスブローカモジュール118は、例えばアプリケーションからの要求を受信したことに応答して、コンピューティングデバイス102のうちアプリケーション108に対してアクセス可能な部分から、識別情報を消去する。
ステップ304において、アプリケーション識別子を含む権限付与要求を、権限付与エンティティに転送する。例えばアクセスブローカモジュール118は、ブラウザ110と通信して、権限付与要求をブラウザから権限付与サービス120に転送させる。諸実装において、権限付与要求は、アプリケーション識別子と、情報をアプリケーションに返すのに使用されるリダイレクトアドレス(例えばユニフォームリソース識別子(URI))とを含む、権限付与サービス120のユニフォームリソースロケータ(URL)を含むことができる。そのようなURLの一例は、https://www.authozationservice.com/requestAccess.html?applicationID=X&redirectAddress=http://redirect.comとすることができる。
諸実装において、権限付与サービス120は、権限付与要求を受信し、ブラウザ110を介して権限付与ユーザインタフェース206を提示させる。ユーザは次いで、認証情報、例えばユーザ名とパスワードを権限付与ユーザインタフェース206に提供することができる。あるいはまた、ユーザは、アプリケーションがユーザリソースにアクセスすることに対する承諾を、例えば権限付与ユーザインタフェース206を介して提供することができる。
ステップ306において、権限付与エンティティから、ユーザの許可を示す応答を受信する。この応答はアプリケーション識別子を含む。例えば権限付与ユーザインタフェース206に提供された認証情報は、権限付与サービス120に提示され、権限付与サービス120はその認証情報が、該権限付与サービスが知っているユーザプロファイルと合致することを判断する。権限付与サービス120は、権限付与要求に対する応答をアクセスブローカモジュール118に送信する。諸実装において、この応答は、アプリケーション識別子を含み、またユーザリソースにアクセスするのに使用されるアクセストークンなどの追加の情報も含むことができる。
ステップ308において、持続型認証モードが選択された場合、アプリケーションに対する認証状態をキャッシュする。例えばユーザは、例えば権限付与ユーザインタフェース206により、ユーザの資格認証情報(credential)を提供することの一部として、持続型認証モードを選択することができる。持続型認証状態が選択される場合、認証状態が、例えばアクセスブローカモジュール118によってキャッシュされる。キャッシュされた認証状態は、ユーザリソースへのアクセスを求める後続の要求の間に、ユーザが更なる認証を実行する必要なく、アプリケーションによるユーザリソースへのアクセスを可能にする、認証情報及び他の情報を含むことができる。持続型認証モードの更なる諸態様は、以下で議論する。持続型認証モードが選択されない場合、後続の使用のために認証状態はキャッシュされず、及び/又はユーザは、後続のリソースアクセス要求の一部として認証を要求されることになる。
ステップ310において、権限付与エンティティから受信したアプリケーション識別子を、コンピューティングデバイスによって保持されているシステムアプリケーション識別子と比較する。例えばシステムアプリケーション識別子は、アプリケーションをコンピューティングデバイスの他のアプリケーション及び/又はリソースから区別する一意の識別子とすることができる。システムアプリケーション識別子の更なる議論は上記に提示されている。
権限付与エンティティから受信したアプリケーション識別子が、システムアプリケーション識別子と合致する場合(「合致」の場合)、ステップ312において、ユーザリソースへのアクセスを可能にするトークンをアプリケーションに提供する。諸実装において、アクセスブローカモジュール118は、トークンを権限付与サービス120から受信して、該トークンをアプリケーション108に転送することができる。アプリケーション108は、このトークンを使用してユーザリソースにアクセスすることができる。権限付与エンティティから受信したアプリケーション識別子が、システムアプリケーション識別子に合致しない場合(「合致せず」の場合)、ステップ314において、アプリケーションがトークンにアクセスするのを妨げる。したがって、ユーザリソースに対するアクセスは、トークンを提示するアプリケーションに限定されるので、上記アプリケーションはユーザリソースにアクセスすることができない。
図4は、ユーザリソースのアクセスに持続型認証モードを用いる例示的実装のプロシージャ400を示す。1つ又は複数の実施形態において、プロシージャ400を、図3に関して上述したリソースアクセス要求に後続する部分として実行することができる。
ステップ402において、コンピューティングデバイス上で動作しているアプリケーションが、持続型認証モードによりユーザリソースへのアクセスを要求していることを検出する。持続型認証モードを開始する例示的な方法は、上記されている。ステップ404において、アプリケーション識別子を含む権限付与要求を、権限付与エンティティに転送する。例えばアクセスブローカモジュール118は、権限付与要求をアプリケーションから受信し、上述のキャッシュされた認証状態情報を権限付与サービス120に転送することができる。
諸実装において、権限付与要求は、持続型認証モードが使用されていることを示すカスタムのユニフォームリソース識別子(URI)スキーマを含むことができる。例えば、権限付与サービス120にナビゲートするのに使用されるURL(この例は上記されている)を、カスタムURIスキーマに添付することができる。カスタムのURIスキーマは、アプリケーション識別子と持続型認証モードに固有の識別指標、例えば「persisted://application_id」を含むことができる。諸実装において、アクセスブローカモジュール118は、アプリケーションによって実装されるべき持続型認証スキーマに対して、カスタムURIスキーマが使用されることを要求することができる。
ステップ406において、権限付与確認(authorization confirmation)を、権限付与エンティティから受信する。権限付与確認は、アプリケーション識別子とアクセストークンを含む。諸実装において、ユーザリソースにアクセスしようとするアプリケーションに対する、ユーザが提供する許可に少なくとも部分的に基づいて、例えば権限付与エンティティによって提供された権限付与プロンプトを介して、権限付与確認を受け取ることができる。権限付与エンティティは、権限付与要求が、ユーザリソースにアクセスする権限を付与されるアプリケーションからのものであることを(例えば権限付与要求のアプリケーション識別子に基づいて)判別することができる。例えばアプリケーションは以前に、権限付与エンティティとのユーザ対話により、ユーザリソースへアクセスする権限を付与されていることがある。更にそのような実装に関して、権限付与エンティティは、権限付与要求の一部として提供されたカスタムURIを、カスタムURIに添付されているアクセストークンとともにカスタムブローカモジュール118に返すことができる。
ステップ408において、アプリケーション識別子を、コンピューティングデバイスによって保持される、アプリケーションのシステムアプリケーション識別子と比較する。アプリケーション識別子の合致処理に関する詳細は、上記に提示されている。権限付与エンティティから受信したアプリケーション識別子がシステムアプリケーション識別子と合致する場合(「合致」の場合)、ステップ410において、アプリケーションがユーザリソースにアクセスすることを可能にするトークンを提供する。例えばアクセスブローカモジュール118は、認証トークンを権限付与サービス120から受信し、この認証トークンをアプリケーション108に提供することができる。アプリケーション108は認証トークンを使用してユーザリソース122にアクセスすることができる。
権限付与エンティティから受信したアプリケーション識別子が、システムアプリケーション識別子に合致しない場合(「合致せず」の場合)、ステップ412において、トークンに対するアプリケーションのアクセスは拒否される。
したがって、持続型認証モードは、アプリケーションがユーザリソースにアクセスする権限を付与されているかどうかの決定を、ユーザ認証トランザクション及び/又は例えば権限付与サービスとのユーザ対話とは独立に行うことを可能にする。
図5は、アプリケーションが権限付与トランザクションに参加することができるかの決定を行う、例示的実装のプロシージャ500を示す。ステップ502において、アプリケーション識別子を、ユーザリソースへのアクセスの要求の一部としてアプリケーションから受信する。ステップ504において、アプリケーション識別子を、コンピューティングデバイスによって保持されているアプリケーションのシステムアプリケーション識別子と比較する。アプリケーション識別子の合致処理に関する詳細は上記に提示されている。諸実装において、アクセスブローカモジュール118は、アプリケーションからアプリケーション識別子を受信し、そのアプリケーションのシステムアプリケーション識別子をオペレーティングシステム116に対して照会することができる。アクセスブローカモジュール118は次いで、アプリケーション識別子をシステムアプリケーション識別子と比較して、これらが合致するかどうかを判断することができる。
アプリケーションから受信したアプリケーション識別子が、システムアプリケーション識別子に合致しない場合(「合致せず」の場合)、ステップ506において、アプリケーションが権限付与トランザクションに進むのを妨げる。アプリケーションから受信したアプリケーション識別子が、システムアプリケーション識別子に合致する場合(「合致」の場合)、ステップ508において権限付与トランザクションに進む。例示的な権限付与トランザクションは、本明細書の他の箇所において図3、4及び6に関連して説明されている。
図6は、ローカルの権限付与情報を使用して、アプリケーションが、ユーザリソースにアクセスする権限を付与されているかどうかを判定する、例示的実装のプロシージャ600を示す。ステップ602において、アプリケーションの権限付与情報を権限付与エンティティから受信する。このアプリケーションの権限付与情報は、アプリケーション識別子と権限付与エンティティ識別子とを含む。例えば権限付与情報は、ユーザが権限付与サービスを認証し、ユーザリソース122へアクセスする許可をアプリケーションに提供したことに応答して、権限付与サービス120から受け取ることができる。ユーザ認証及びユーザ許可を提供する例示的な方法については上述されている。諸実装において、権限付与エンティティ識別子により、他のエンティティ(例えばアクセスブローカモジュール118)が、どの権限付与エンティティから権限付与情報を受信したかを識別することが可能になる。
ステップ604において、権限付与情報をローカルに格納する。諸実装において、権限付与情報は、アクセスブローカモジュール118によって格納され、及び/又はアクセスブローカモジュール118に対してアクセス可能な位置に格納される。ステップ606において、アプリケーションから、ユーザリソースにアクセスする権限の付与を求める要求を受信する。この要求は、権限付与エンティティ識別子を含む。例えばアクセスブローカモジュール118は、この要求をアプリケーション108から受け取ることができる。
ステップ608において、権限付与情報を、アプリケーションから受け取った権限付与エンティティ識別子に基づいてローカルから取り出し、権限付与情報のアプリケーション識別子を、そのアプリケーションのシステムアプリケーション識別子と比較する。アプリケーション識別子をシステムアプリケーション識別子と比較する例示的方法は、上記に説明されている。ステップ610において、アプリケーション識別子がシステムアプリケーション識別子に合致するか判断する。
アプリケーション識別子がシステムアプリケーション識別子に合致する場合(「合致」の場合)、ステップ612において、ユーザリソースへのアクセスを可能にするトークンをアプリケーションに提供する。アプリケーション識別子がシステムアプリケーション識別子に合致しない場合(「合致せず」の場合)、ステップ614において、アプリケーションがトークンにアクセスするのを妨げる。
諸実装において、プロシージャ600は、アプリケーションランタイムにおける権限付与サービスとの通信を必要とせずに、アプリケーションに対してユーザリソースにアクセスする権限を付与するかどうかの決定を行うことができる、例示的な技法を例示している。例えばユーザは権限付与サービスと対話して、アプリケーションにユーザリソースへアクセスする権限を付与することができる。ユーザ権限付与トランザクションからの情報を、例えばステップ602及び604において説明したように、後で取り出すために格納しておくことができる。ユーザリソースへのアクセスを求めるアプリケーションからの後続の要求について、アクセスブローカモジュール118は、ローカルに格納された権限付与情報を使用して、権限付与サービスと通信することなく、アプリケーションがユーザリソースにアクセスするのを許可するかどうかを判断することができる。
少なくとも一部の実施形態において、アプリケーションは、上述の持続型認証モードと1つ又は複数の観点で相違する、持続型権限付与モードを保持することができる。例えばアプリケーションは、上述のような技術を介して受信したトークンのような、該アプリケーションがユーザリソースにアクセスすることを可能にするトークンを保持することができる。このトークンは、複数の異なるリソースアクセストランザクションの間において、例えばアプリケーションからのユーザリソースへのアクセスを求める複数の異なる要求に応答して、ユーザリソースへのアクセスを可能にすることができる。アプリケーションがトークンを使用してユーザリソースへのアクセスを求めているとき、該アプリケーションは、そのトークンが有効期限切れであり、その結果ユーザリソースへのアクセスを可能にする効果がないかどうかを確認することができる。トークンが有効期限切れの場合、アプリケーションは、上記の技術を使用して、例えばアクセスブローカモジュール118及び/又は権限付与サービス120からのような、新しい有効なトークンを取得することができる。したがって、諸実装において、持続型権限付与モードにより、アプリケーションは、複数のリソースアクセストランザクションの間に、該アプリケーションがアクセスを要求する必要なく、例えばアクセスブローカモジュール118及び/又は権限付与サービス120を介して、ユーザリソースにアクセスすることが可能になる。
<例示的システム及びデバイス>
図7は、図1及び2に関連して説明したコンピューティングデバイス102を含む、例示的システム700を図示している。例示的システム700は、パーソナルコンピュータ(PC)、テレビジョンデバイス及び/又はモバイルデバイス上でアプリケーションが動作しているときに、シームレスなユーザエクスペリエンスのユビキタスな環境を可能にする。サービス及びアプリケーションは、アプリケーションを利用し、ビデオゲームを使い、ビデオを見ている間等に、あるデバイスから次のデバイスに遷移するときに、共通のユーザエクスペリエンスについて3つ全ての環境において実質的に同様に動作する。
例示的システム700において、複数のデバイスが中央のコンピューティングデバイスを通じて相互接続されている。中央コンピューティングデバイスは、これらの複数のデバイスに対してローカルであってもよく、またこれら複数のデバイスからリモートに配置されてもよい。1つ又は複数の実装において、中央コンピューティングデバイスは、ネットワーク、インターネット又は他のデータ通信リンクを通じて複数のデバイスに接続される、1つ又は複数のサーバコンピュータのクラウドとすることができる。1つ又は複数の実装において、この相互接続アーキテクチャにより、複数のデバイスにまたがって機能を配信して、これらの複数のデバイスのユーザに共通のシームレスなエクスペリエンスを提供することが可能になる。複数のデバイスはそれぞれ異なる物理的属性及び能力を有し、中央コンピューティングデバイスは、そのデバイスに対するエクスペリエンスの配信を可能にするプラットフォームを使用する。このエクスペリエンスは、そのデバイスに対して調整され、しかも全てのデバイスに対して共通なものである。一実施形態において、あるターゲットデバイスのクラスが作成され、複数のデバイスの汎用クラスに対してエクスペリエンスが調整される。デバイスのクラスを、物理的特徴、利用のタイプ又はデバイスの他の共通の特性によって定義することができる。
様々な実装において、コンピューティングデバイス102は、コンピュータ702、モバイル704及びテレビジョン706が使用するような様々な異なる構成を想定する。これらの構成はそれぞれ、一般に異なる構成及び能力を有するデバイスを含み、したがって、コンピューティングデバイス102を、異なるデバイスクラスのうちの1つ又は複数に従って構成することができる。例えばコンピューティングデバイス102を、パーソナルコンピュータ、デスクトップコンピュータ、マルチスクリーンコンピュータ、ラップトップコンピュータ及びネットブック等のコンピュータ702デバイスクラスとして実装することができる。
コンピューティングデバイス102を、モバイルフォン、ポータブル音楽プレイヤ、ポータブルゲームデバイス、タブレットコンピュータ及びマルチスクリーンコンピュータ等のモバイルデバイスを含むモバイル704デバイスクラスとして実装することもできる。コンピューティングデバイス102は、カジュアルな視聴環境において、一般により大きなスクリーンを有するか、そのようなスクリーンに接続されたデバイスを含む、テレビジョン706デバイスクラスとして実装されることもできる。これらのデバイスは、テレビジョン、セットトップボックス及びゲームコンソール等を含む。本明細書で説明される技術は、コンピューティングデバイス102のこれらの様々な構成によってサポートされ、本明細書で説明される技術の特定の実施例には限定されない。
クラウド708は、コンテンツサービス712のプラットフォーム710を含む、及び/又は表す。プラットフォーム710は、ハードウェア(例えばサーバ)の基礎となる機能と、クラウド708のソフトウェアリソースを抽象化する。コンテンツサービス712は、コンピューティングデバイス102からリモートのサーバ上でコンピュータ処理が実行されている間に、利用することができるアプリケーション及び/又はデータを含むことができる。コンテンツサービス712を、インターネットを介して、及び/又は携帯電話若しくはWi−Fi(登録商標)ネットワークなどの加入者ネットワークを通じてサービスとして提供することができる。
プラットフォーム710は、リソース及び機能を抽象化して、コンピューティングデバイス102を他のコンピューティングデバイスに接続することができる。プラットフォーム710は、リソースのスケーリングを抽象化し、プラットフォーム710を介して実装されるコンテンツサービス712が直面した需要に対して、スケールの対応するレベルを提供するように機能することもできる。したがって、相互接続されるデバイスの実施形態において、本明細書で説明される機能の実装を、システム700を通じて分散させることができる。例えばアプリケーション108、ブラウザ110、及びアクセスブローカモジュール118の包含により示されているように、機能を部分的にコンピューティングデバイス102上に実装し、そしてクラウド708の機能を抽象化するプラットフォーム710を介して実装することができる。
図8は、例示的デバイス800の様々なコンポーネントを図示している。例示的デバイス800は、図1乃至7に関連して説明された、本明細書で説明される技術の実施形態を実装する、任意のタイプのコンピューティングデバイスとして実装されうる。デバイス800は、デバイスデータ804(例えば受信したデータ、受信中のデータ、放送用にスケジュールされたデータ及びデータのデータパケット等)の有線及び/又は無線通信を可能にする通信デバイス802を含む。デバイスデータ804又は他のデバイスコンテンツは、デバイスの構成設定、デバイスに格納されたメディアコンテンツ、及び/又はデバイスのユーザに関連付けられた情報を含むことができる。デバイス800上に格納されたメディアコンテンツは、任意のタイプのオーディオ、ビデオ及び/又はイメージデータを含むことができる。デバイス800は1つ又は複数の入力部806を含み、この入力部806を介して、ユーザ選択可能な入力、メッセージ、音楽、テレビメディアコンテンツ、録画されたビデオコンテンツ、並びに任意のコンテンツ及び/又はデータソースから受信した任意の他のタイプのオーディオ、ビデオ及び/又はイメージデータなど、任意のタイプのデータ、メディアコンテンツ及び/又は入力を受信することができる。
デバイス800は通信インタフェース808も含む。通信インタフェース808を、シリアル及び/又はパラレルインタフェース、無線インタフェース任意のタイプのネットワークインタフェース、モデム、及び任意の他のタイプの通信インタフェース、のうちのいずれか1つ又は複数として実装することができる。通信インタフェース808は、デバイス800と、該デバイス800とデータを通信する他の電子的なコンピューティング通信デバイスによる通信ネットワークとの間の接続及び/又は通信リンクを提供する。
デバイス800は、1つ又は複数のプロセッサ810(例えばマイクロプロセッサ及びコントローラ等のいずれか)を含む。プロセッサ810は、様々なコンピュータ実行可能命令を処理して、デバイス800のオペレーションを制御し、本明細書で説明される技術の実施形態を実装する。あるいはまた、デバイス800を、一般に812で特定された処理及び制御回路に関連して実装される、ハードウェア、ファームウェア又は固定の論理回路のうちのいずれか1つ又は組み合わせにより実装することができる。図示されていないが、デバイス800は、システムバス、又はデバイス内の様々なコンポーネントを接続するデータ伝送システムを含むことができる。システムバスは、メモリバス若しくはメモリコントローラ、周辺バス、ユニバーサルシリアルバス、及び/又は様々なバスアーキテクチャのいずれかを用いるプロセッサ若しくはローカルバスなど、異なるバス構造のいずれか1つ又は組み合わせを含むことができる。
デバイス800は、1つ又は複数のメモリコンポーネントなどのコンピュータ読取可能媒体814も含む。そのようなメモリコンポーネントの例には、ランダムアクセスメモリ(RAM)、非揮発性メモリ(例えば読み取り専用メモリ(ROM)、フラッシュメモリ、EPROM、EEPROM等のうちのいずれか1つ又は複数)及びディスク記憶デバイスが含まれる。ディスク記憶デバイスは、ハードディスクドライブ、記録可能及び/又は再書き込み可能コンパクトディスク(CD)、任意のタイプのデジタル多用途ディスク(DVD)のような、任意のタイプの磁気又は光記憶デバイスとして実装することができる。デバイス800は大容量記憶媒体デバイス816も含むことができる。
コンピュータ読取可能媒体814は、デバイスデータ804並びに様々なデバイスアプリケーション818及びデバイス800の動作的態様に関連する任意の他のタイプの情報及び/又はデータを格納する、データ記憶機構を提供する。例えばオペレーティングシステム820を、コンピュータ読取可能媒体814を用いてコンピュータアプリケーションとして保持し、プロセッサ810上で実行することができる。デバイスアプリケーション818は、デバイスマネージャ(例えばコントロールアプリケーション、ソフトウェアアプリケーション、信号処理及び制御モジュール、特定のデバイスにネイティブなコード、特定のデバイスのハードウェア抽象化レイヤ等)を含むことができる。デバイスアプリケーション818は、本明細書で実装される技術の諸実施形態を実装する任意のシステムコンポーネント又はモジュールも含む。
この例において、デバイスアプリケーション818は、ソフトウェアモジュール及び/又はコンピュータアプリケーションとして示されている、インタフェースアプリケーション822及び入出力モジュール824を含む。入出力モジュール824は、タッチスクリーン、トラックパッド、カメラ及びマイクロフォンなどの、入力をキャプチャするように構成されたデバイスとのインタフェースを提供するのに使用されるソフトウェアを表す。あるいはまた、インタフェースアプリケーション822及び入出力モジュールを、ハードウェア、ソフトウェア、ファームウェア又はこれらの任意の組み合わせとして実装することができる。さらに、入出力モジュール824は、ビジュアル入力とオーディオ入力をそれぞれキャプチャする別個のデバイスなど、複数の入力デバイスをサポートするように構成されることもある。
デバイス800は、オーディオ及び/又はビデオ入出力システム826も含む。オーディオ及び/又はビデオ入出力システム826は、オーディオデータをオーディオシステム828に提供し、及び/又はビデオデータをディスプレイシステム830に提供する。オーディオシステム828及び/又はディスプレイシステム830は、オーディオ、ビデオ及びイメージデータを処理、表示、及び/又はそうでなければレンダリングする任意のデバイスを含むことができる。ビデオ信号及びオーディオ信号を、デバイス800からオーディオデバイス及び/又はディスプレイデバイスに、RF(無線周波数)リンク、S−ビデオリンク、コンポジットビデオリンク、コンポーネントビデオリンク、DVI(デジタルビデオインタフェース)、アナログオーディオ接続又は他の類似の通信リンクを介して通信することができる。一実施形態において、オーディオシステム828及び/又はディスプレイシステム830は、デバイス800の外付けコンポーネントとして実装される。あるいは、オーディオシステム828及び/又はディスプレイシステム830は、例示的デバイス800の組み込みコンポーネントとして実装される。
<結論>
リソースアクセスの権限付与のための技術を説明した。諸実施形態を、構造的特徴及び/又は方法的動作に特有の言語で説明したが、添付の特許請求の範囲によって定義される実施形態は、必ずしも説明された特定の特徴及び動作に限定されないことを理解されたい。むしろ、これらの特定の特徴及び動作は、特許請求に係る実施形態を実装する例示的な形式として開示されている。


Claims (10)

  1. コンピュータによって実行される方法であって、
    権限付与エンティティから、アプリケーションがユーザリソースへアクセスするのを許可するかどうかに関する要求に対する応答を受信するステップであって、該応答が、前記アプリケーションのアプリケーション識別子を含む、ステップと、
    前記アプリケーション識別子が、前記アプリケーションが動作しているコンピューティングデバイスから取得したシステムアプリケーション識別子に合致する場合、前記ユーザリソースへのアクセスを可能にするトークンを前記アプリケーションに提供するステップと
    を含む、方法。
  2. 前記要求は、前記アプリケーションを識別し、前記権限付与エンティティに転送されて前記アプリケーション識別子を返すのに使用される、リダイレクトユニフォームリソース識別子(URI)を含む、請求項1に記載の方法。
  3. 前記要求により、前記権限付与エンティティによるユーザ認証とは独立に、前記アプリケーションに対して前記ユーザリソースへアクセスする権限を付与することを可能にする、持続型認証モードが生じる、請求項1に記載の方法。
  4. 前記権限付与エンティティは、前記コンピューティングデバイスからリモートに実装されるサービスを備える、請求項1に記載の方法。
  5. 前記システムアプリケーション識別子を取得するステップであって、
    前記システムアプリケーション識別子を、前記コンピューティングデバイスのうち、前記アプリケーションに対してアクセス可能でない部分から取得することと、
    前記システムアプリケーション識別子が前記アプリケーションによって改変されないように、前記システムアプリケーション識別子に署名をすることと
    のうちの1つ又は複数により、前記システムアプリケーション識別子を取得するステップをさらに備える、請求項1に記載の方法。
  6. 前記トークンは、前記ユーザリソースにアクセスするという1つ又は複数の後続の要求の一部として、前記ユーザリソースにアクセスするのに使用される、請求項1に記載の方法。
  7. コンピューティングデバイスによる実行に応答して、該コンピューティングデバイスにモジュールを実行させる命令を備えた1つ又は複数のコンピュータ読取可能記憶媒体であって、前記モジュールは、
    アプリケーションに関して、該アプリケーションがユーザリソースにアクセスするのを可能にするキャッシュされた認証状態を保持し、
    前記アプリケーションが前記ユーザリソースにアクセスするのを許可するという要求に応答して、前記キャッシュされた認証状態の1つ又は複数の部分を権限付与サービスに転送し、
    前記アプリケーションが前記ユーザリソースにアクセスするのを可能にするトークンを提供するかどうかを、前記権限付与エンティティから受信したアプリケーション識別子を、前記コンピューティングデバイスから取得した前記アプリケーションに対するシステムアプリケーション識別子と比較することによって決定する
    ように構成される、1つ又は複数のコンピュータ読取可能記憶媒体。
  8. 前記アプリケーション識別子は、前記アプリケーションが前記ユーザリソースにアクセスするのを許可することを示す、前記権限付与サービスに対するユーザの認証に応答して、前記権限付与サービスから受信される、請求項7に記載の1つ又は複数のコンピュータ読取可能記憶媒体。
  9. 前記比較は、前記アプリケーションのランタイムに、前記権限付与サービスとの対話とは独立に起こる、請求項7に記載の1つ又は複数のコンピュータ読取可能記憶媒体。
  10. 前記命令は、前記コンピューティングデバイスによる実行に応答して、前記コンピューティングデバイスに更に、
    アプリケーションから前記ユーザリソースにアクセスするという要求を受信し、
    該要求に応答して、前記権限付与サービスに関連付けられた権限付与ユーザインタフェースであって、ユーザからのユーザ認証情報を受信するように構成された権限付与ユーザインタフェースを提示させ、
    前記権限付与サービスに対するユーザの認証に基づいて、前記権限付与サービスから前記アプリケーション識別子を、前記権限付与ユーザインタフェースを介して受け取る
    ことを実行させる、請求項7に記載の1つ又は複数のコンピュータ読取可能記憶媒体。
JP2014529935A 2011-09-12 2012-09-10 リソースアクセスの権限付与 Active JP5992524B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/230,460 US9183361B2 (en) 2011-09-12 2011-09-12 Resource access authorization
US13/230,460 2011-09-12
PCT/US2012/054387 WO2013039813A1 (en) 2011-09-12 2012-09-10 Resource access authorization

Publications (3)

Publication Number Publication Date
JP2014526744A true JP2014526744A (ja) 2014-10-06
JP2014526744A5 JP2014526744A5 (ja) 2015-10-01
JP5992524B2 JP5992524B2 (ja) 2016-09-14

Family

ID=47831097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014529935A Active JP5992524B2 (ja) 2011-09-12 2012-09-10 リソースアクセスの権限付与

Country Status (6)

Country Link
US (1) US9183361B2 (ja)
EP (1) EP2756444B1 (ja)
JP (1) JP5992524B2 (ja)
KR (1) KR101951973B1 (ja)
CN (1) CN102984199B (ja)
WO (1) WO2013039813A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101718454B1 (ko) * 2016-04-18 2017-03-21 (주)케이사인 캐시를 이용한 사용자 접근 제어 시스템 및 방법

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9635028B2 (en) * 2011-08-31 2017-04-25 Facebook, Inc. Proxy authentication
US9183361B2 (en) * 2011-09-12 2015-11-10 Microsoft Technology Licensing, Llc Resource access authorization
US9407626B2 (en) * 2011-09-29 2016-08-02 Red Hat, Inc. Security token management service hosting in application server
US9787655B2 (en) * 2011-12-09 2017-10-10 Airwatch Llc Controlling access to resources on a network
US9438598B2 (en) * 2013-02-15 2016-09-06 Verizon Patent And Licensing Inc. Securely updating information identifying services accessible via keys
US20140282032A1 (en) * 2013-03-15 2014-09-18 Microsoft Corporation Dynamically configuring user experiences with action uniform resource identifiers
CN103220289A (zh) * 2013-04-15 2013-07-24 北京京东尚科信息技术有限公司 基于web应用的资源验证系统和方法
JP6198477B2 (ja) * 2013-06-21 2017-09-20 キヤノン株式会社 権限移譲システム、認可サーバーシステム、制御方法、およびプログラム
US20150026078A1 (en) * 2013-07-18 2015-01-22 Google Inc. Generating and providing an authorization indication in relation to a media content item
US9160731B2 (en) * 2013-09-06 2015-10-13 International Business Machines Corporation Establishing a trust relationship between two product systems
US9106642B1 (en) * 2013-09-11 2015-08-11 Amazon Technologies, Inc. Synchronizing authentication sessions between applications
KR102165820B1 (ko) * 2013-12-23 2020-10-14 한국전자통신연구원 사물간 웹 네트워크를 통한 자원 접근 제어 방법
WO2015168305A1 (en) * 2014-04-29 2015-11-05 Twitter, Inc. Inter-application delegated authentication
US9894162B2 (en) * 2014-06-05 2018-02-13 Dropbox, Inc. Communication protocols for an online content management system
JP6428011B2 (ja) * 2014-07-16 2018-11-28 富士ゼロックス株式会社 セキュリティ管理装置及びプログラム
US20160080293A1 (en) * 2014-09-12 2016-03-17 Microsoft Corporation Accounts Control
KR102337990B1 (ko) * 2014-09-18 2021-12-13 삼성전자주식회사 권한 설정 토큰을 이용하는 전자 장치
CN106576329B (zh) * 2014-09-26 2021-03-30 英特尔公司 基于情境的资源访问调解
US9762676B2 (en) * 2014-09-26 2017-09-12 Intel Corporation Hardware resource access systems and techniques
CN111030996B (zh) 2014-10-24 2021-10-15 华为技术有限公司 一种访问资源的方法及装置
US9697349B2 (en) 2014-10-26 2017-07-04 Microsoft Technology Licensing, Llc Access blocking for data loss prevention in collaborative environments
KR102297476B1 (ko) * 2014-12-05 2021-09-02 삼성전자주식회사 응용 프로그램의 자원을 보호하는 방법 및 장치
EP3206357A1 (de) * 2016-02-09 2017-08-16 Secunet Security Networks Aktiengesellschaft Einsatz eines nicht lokalen kryptographie-verfahrens nach authentifizierung
CN107666505B (zh) * 2016-07-29 2020-09-15 京东方科技集团股份有限公司 对资源接入进行控制的方法和装置
US20180091490A1 (en) * 2016-09-23 2018-03-29 Apple Inc. Authentication framework for a client of a remote database
US10524003B2 (en) * 2016-10-24 2019-12-31 Rovi Guides, Inc. Systems and methods for controlling access to media assets using two-factor authentication
CN110678892A (zh) * 2017-06-20 2020-01-10 北京嘀嘀无限科技发展有限公司 用于与线上到线下服务相关的数据处理的系统和方法
GB2565270B (en) 2017-07-03 2022-08-31 Arm Ip Ltd Secure server and compute nodes
CN107454086B (zh) * 2017-08-11 2019-11-08 杭州邦睿科技有限公司 一种验证网关的自动化处理方法
US11075925B2 (en) * 2018-01-31 2021-07-27 EMC IP Holding Company LLC System and method to enable component inventory and compliance in the platform
CN109040088B (zh) * 2018-08-16 2022-02-25 腾讯科技(深圳)有限公司 认证信息传输方法、密钥管理客户端及计算机设备
EP3641259A1 (de) * 2018-10-15 2020-04-22 Siemens Aktiengesellschaft Vorrichtung und verfahren zur prüfung von eigenschaften von ressourcen
US11599422B2 (en) 2018-10-16 2023-03-07 EMC IP Holding Company LLC System and method for device independent backup in distributed system
US11582229B2 (en) 2019-06-01 2023-02-14 Apple Inc. Systems and methods of application single sign on
US11783022B2 (en) 2020-06-01 2023-10-10 Apple Inc. Systems and methods of account verification upgrade
US11425125B2 (en) 2020-06-24 2022-08-23 Google Llc Shared resource identification
US11562052B2 (en) * 2020-08-31 2023-01-24 Procore Technologies, Inc. Computing system and method for verification of access permissions
CN112511569B (zh) * 2021-02-07 2021-05-11 杭州筋斗腾云科技有限公司 网络资源访问请求的处理方法、系统及计算机设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090328134A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Licensing protected content to application sets

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5889952A (en) 1996-08-14 1999-03-30 Microsoft Corporation Access check system utilizing cached access permissions
US5805803A (en) * 1997-05-13 1998-09-08 Digital Equipment Corporation Secure web tunnel
US6275944B1 (en) 1998-04-30 2001-08-14 International Business Machines Corporation Method and system for single sign on using configuration directives with respect to target types
US6205480B1 (en) 1998-08-19 2001-03-20 Computer Associates Think, Inc. System and method for web server user authentication
US7150038B1 (en) 2000-04-06 2006-12-12 Oracle International Corp. Facilitating single sign-on by using authenticated code to access a password store
US7464162B2 (en) 2000-07-10 2008-12-09 Oracle International Corporation Systems and methods for testing whether access to a resource is authorized based on access information
TW561754B (en) 2001-02-23 2003-11-11 Koninkl Philips Electronics Nv Authentication method and data transmission system
US7305701B2 (en) 2001-04-30 2007-12-04 Microsoft Corporation Methods and arrangements for controlling access to resources based on authentication method
US7174383B1 (en) 2001-08-31 2007-02-06 Oracle International Corp. Method and apparatus to facilitate single sign-on services in a hosting environment
US7610390B2 (en) 2001-12-04 2009-10-27 Sun Microsystems, Inc. Distributed network identity
WO2005008456A2 (en) 2003-07-07 2005-01-27 Progress Software Corporation Multi-platform single sign-on database driver
US20050015490A1 (en) * 2003-07-16 2005-01-20 Saare John E. System and method for single-sign-on access to a resource via a portal server
JP4617763B2 (ja) 2003-09-03 2011-01-26 ソニー株式会社 機器認証システム、機器認証サーバ、端末機器、機器認証方法、および機器認証プログラム
US7191288B2 (en) 2004-02-24 2007-03-13 Sun Microsystems, Inc. Method and apparatus for providing an application on a smart card
US7509497B2 (en) 2004-06-23 2009-03-24 Microsoft Corporation System and method for providing security to an application
CA2574883C (en) 2004-06-25 2013-12-17 Accenture Global Services Gmbh Single sign-on with common access card
JP2008506139A (ja) 2004-07-09 2008-02-28 松下電器産業株式会社 ユーザ認証及びサービス承認を管理し、シングル・サイン・オンを実現して、複数のネットワーク・インタフェースにアクセスするためのシステム及び方法
US7810153B2 (en) * 2005-01-28 2010-10-05 Microsoft Corporation Controlling execution of computer applications
US7779034B2 (en) 2005-10-07 2010-08-17 Citrix Systems, Inc. Method and system for accessing a remote file in a directory structure associated with an application program executing locally
US7761911B2 (en) 2005-11-21 2010-07-20 Oracle International Corporation Method and apparatus for facilitating single sign-on
US8006289B2 (en) 2005-12-16 2011-08-23 International Business Machines Corporation Method and system for extending authentication methods
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
US8458775B2 (en) 2006-08-11 2013-06-04 Microsoft Corporation Multiuser web service sign-in client side components
JP5205380B2 (ja) 2006-08-22 2013-06-05 インターデイジタル テクノロジー コーポレーション アプリケーションおよびインターネットベースのサービスに対する信頼されるシングル・サインオン・アクセスを提供するための方法および装置
US20080222148A1 (en) 2007-03-09 2008-09-11 Ghost Inc. Lexicographical ordering of real numbers
US8990911B2 (en) 2008-03-30 2015-03-24 Emc Corporation System and method for single sign-on to resources across a network
US8141140B2 (en) 2008-05-23 2012-03-20 Hsbc Technologies Inc. Methods and systems for single sign on with dynamic authentication levels
WO2010051342A1 (en) 2008-11-03 2010-05-06 Veritrix, Inc. User authentication for social networks
WO2010082095A2 (en) * 2009-01-13 2010-07-22 Human Interface Security Ltd Secure handling of identification tokens
US8838976B2 (en) 2009-02-10 2014-09-16 Uniloc Luxembourg S.A. Web content access using a client device identifier
US20100211772A1 (en) 2009-02-16 2010-08-19 Bjorn Johansson Collaborative Reconciliation of Application Trustworthiness
US8505084B2 (en) 2009-04-06 2013-08-06 Microsoft Corporation Data access programming model for occasionally connected applications
US8312272B1 (en) * 2009-06-26 2012-11-13 Symantec Corporation Secure authentication token management
US9490984B2 (en) 2009-09-14 2016-11-08 Interdigital Patent Holdings, Inc. Method and apparatus for trusted authentication and logon
US9262392B2 (en) 2009-09-29 2016-02-16 Paypal, Inc. User information population
US8898759B2 (en) * 2010-08-24 2014-11-25 Verizon Patent And Licensing Inc. Application registration, authorization, and verification
US8644800B2 (en) * 2011-02-15 2014-02-04 Blackberry Limited System and method for identity management for mobile devices
US20120227098A1 (en) 2011-03-03 2012-09-06 Microsoft Corporation Sharing user id between operating system and application
US9418216B2 (en) 2011-07-21 2016-08-16 Microsoft Technology Licensing, Llc Cloud service authentication
US9183361B2 (en) * 2011-09-12 2015-11-10 Microsoft Technology Licensing, Llc Resource access authorization

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090328134A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Licensing protected content to application sets
JP2011526391A (ja) * 2008-06-27 2011-10-06 マイクロソフト コーポレーション アプリケーションセットに対する保護されたコンテンツの許可

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6016026940; 小川 雄大 KATSUHIRO OGAWA: 'PHPで学ぶ""なWebAPI活用術' 日経ソフトウエア 第14巻 第6号 NIKKEI SOFTWARE 第14巻, 20110424, p.94-99, 日経BP社 Nikkei Business Publications,Inc. *
JPN7016001971; HAMMER-LAHAV E ET AL: 'The OAuth 2.0 Authorization Protocol; draft-ietf-oauth-v2-21' IETF; STANDARD WORKING DRAFT , 20110905, 1-64 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101718454B1 (ko) * 2016-04-18 2017-03-21 (주)케이사인 캐시를 이용한 사용자 접근 제어 시스템 및 방법

Also Published As

Publication number Publication date
CN102984199B (zh) 2016-04-20
EP2756444A1 (en) 2014-07-23
EP2756444B1 (en) 2020-08-26
US20130067568A1 (en) 2013-03-14
KR101951973B1 (ko) 2019-02-25
JP5992524B2 (ja) 2016-09-14
EP2756444A4 (en) 2015-04-22
CN102984199A (zh) 2013-03-20
KR20140068964A (ko) 2014-06-09
US9183361B2 (en) 2015-11-10
WO2013039813A1 (en) 2013-03-21

Similar Documents

Publication Publication Date Title
JP5992524B2 (ja) リソースアクセスの権限付与
US11843611B2 (en) Framework for multi-level and multi-factor inline enrollment
US10666643B2 (en) End user initiated access server authenticity check
US11921839B2 (en) Multiple device credential sharing
JP6895431B2 (ja) アクセス管理のためのパスワードレス認証
JP6033990B2 (ja) 単一のフレキシブルかつプラガブルOAuthサーバを備える複数のリソースサーバ、OAuth保護したREST式OAuth許諾管理サービス、およびモバイルアプリケーションシングルサインオンするOAuthサービス
KR101929598B1 (ko) 운영체제 및 애플리케이션 사이에서 사용자 id의 공유 기법
US10511670B2 (en) Techniques for providing authentication information to external and embedded web browsers
US10225283B2 (en) Protection against end user account locking denial of service (DOS)
CN107431924B (zh) 将设备标识符和用户标识符相关联的设备盗窃防护
EP3146693B1 (en) Bifurcated authentication token techniques
EP2310977B1 (en) An apparatus for managing user authentication

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150812

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150812

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160630

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160817

R150 Certificate of patent or registration of utility model

Ref document number: 5992524

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250