JP2019200515A - 情報処理装置、情報処理方法、およびコンピュータプログラム - Google Patents

情報処理装置、情報処理方法、およびコンピュータプログラム Download PDF

Info

Publication number
JP2019200515A
JP2019200515A JP2018093699A JP2018093699A JP2019200515A JP 2019200515 A JP2019200515 A JP 2019200515A JP 2018093699 A JP2018093699 A JP 2018093699A JP 2018093699 A JP2018093699 A JP 2018093699A JP 2019200515 A JP2019200515 A JP 2019200515A
Authority
JP
Japan
Prior art keywords
client
information processing
access right
processing apparatus
authorization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018093699A
Other languages
English (en)
Inventor
智行 小林
Satoyuki Kobayashi
智行 小林
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2018093699A priority Critical patent/JP2019200515A/ja
Publication of JP2019200515A publication Critical patent/JP2019200515A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】標準仕様に則りつつ、アクセス権の情報をネットワークに合わせて変更することができる情報処理装置、情報処理方法、及びコンピュータプログラムを提供する。【解決手段】クライアントにリソースを提供するリソースサーバーへの標準仕様であるOAuth2.0に基づくアクセス権の情報を管理する情報処理装置は、クライアントが属するネットワークに関する付加情報を評価する評価手段と、評価結果に基づき、クライアントに付与するアクセス権を変更する変更手段と、を有する。アクセス権の変更は、OAuth2.0の権限スコープを拡張した形式である拡張権限スコープを削除、追加、置換することにより行う。【選択図】図6

Description

本発明は、標準仕様に基づくアクセス権の情報を管理する情報処理装置、情報処理方法、およびコンピュータプログラムに関する。
Web上のリソースにアクセスする際に、適切な権限にもとづいたアクセスを行うことを目的とした認可の標準プロトコル仕様として、OAuth2.0が策定されている。OAuth2.0においては、リソースの所有者であるユーザーが、リソースを利用する主体であるOAuth2.0クライアントからのアクセス権の要求にもとづき、クライアントにリソースを利用する権限を移譲する。移譲されたクライアントに対しては、リソースへのアクセスが許可される。この際、クライアントには認証により識別が行われる。この時、クライアントに割り当てる権限は、権限を管理する主体であるOAuth2.0プロバイダに事前に登録される。更に、認可のシーケンスの過程で、クライアントからの認可リクエストを検証した上でクライアントに対して認可を行ったことを示す、認可トークンを発行することで、クライアントに適切なアクセス権を移譲する。OAuth2.0プロバイダは、クライアントが要求したアクセス権限の範囲(以降、権限スコープと呼称する)と、OAuth2.0プロバイダに事前に登録されている、クライアントに許可された権限スコープとを比較する。この比較の結果が適切である場合にのみ、認可トークンの発行が許可される。認可トークンには、クライアントに許可する権限スコープの情報が付与される。ユーザーのリソースを管理するリソースサーバーはOAuth2.0クライアントから送付される認可トークンを検証することで、OAuth2.0クライアントからリソースへのアクセスリクエストが適切な権限にもとづいて実行されることになる。OAuth2.0では、複数のリソースに対する認可を、OAuth2.0プロバイダで集約して権限管理を行うことができるため、実装および運用のコスト面で優れている。
また、正規の利用者であっても、常時リソースへのアクセスを許可するのではなく、リソースアクセスを行う際のクライアント端末の周辺のコンテキストに応じて、アクセスを許可するか否かを判定する手段が提案されている(特許文献1)。本技術では、例えば、利用者のクライアントが周囲に上位権限者がいることを検知できる場合にのみリソースへのアクセスを許可する、という形のアクセス制御を実現している。
特開2013−214219号公報
しかしながら、OAuth2.0認可フローでは、ユーザーおよび、OAuth2.0クライアントがともに正常に認証され、クライアントからリクエストされた権限が登録されている場合には一律認可トークンが発行されていた。このことは、例えばアクセスを求める主体が信頼のおけない脆弱なネットワークに存在している場合にも、認可が正しく行われることを意味している。また、特許文献1に記載の方法においては、周辺コンテキスト情報から認可の範囲を設定する仕組みを取っており、OAuth2.0のような標準仕様との互換性は無かった。
本発明は、上述した課題を解決するためになされたものであり、標準仕様に則りつつ、アクセス権の情報をネットワークに合わせて変更することを目的とする。
上記目的を達成するために、本発明は、クライアントにリソースを提供するリソースサーバーへの標準仕様に基づくアクセス権の情報を管理する情報処理装置であって、前記クライアントが属するネットワークに関する付加情報を評価する評価手段と、前記評価結果に基づき、前記クライアントに付与する前記アクセス権を変更する変更手段と、を有することを特徴とする。
本発明によれば、標準仕様に則りつつ、アクセス権の情報をネットワークに合わせて変更することが出来る。
認可システムの構成を示す図 認可フローのコンポーネント構成を示す図 認可フローのシーケンスを示す図 クライアントの権限スコープの登録フローのフローチャートを示す図 認可フローのフローチャートを示す図 認可フローのフローチャートを示す図 拡張権限スコープの登録データの一例を示す図 認可コード発行リクエストの一例を示す図 権限スコープの評価結果の一例を示す図 認可コードの一例を示す図 認可トークンの発行リクエストの一例を示す図 認可トークンの一例を示す図
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
(実施形態1)
本実施形態で説明される認可システムの構成について、図1を参照して説明する。本実施形態における認可システムは単一の情報処理装置(コンピュータ)で実現してもよいし、必要に応じた複数の情報処理装置に各機能を分散して実現するようにしてもよい。複数の情報処理装置で構成される場合は、互いに通信可能なようにLocal Area Network(LAN)などで接続されている。
本実施形態の認可システム101は、拡張権限スコープ管理手段102、認可コード発行手段103、権限条件評価手段104、権限スコープ変更手段105、認可トークン発行手段106、認可トークン検証手段107、から構成される。
認可システム101は、ユーザーの所有するリソースに対してアクセスを要求する対象の正当性を検証し、認可によりアクセス権限を移譲するシステムである。拡張権限スコープ管理手段102は、標準仕様であるOAuth2.0の権限スコープを拡張した形式で表記される、クライアントに許可する操作権限を管理する手段である。認可コード発行手段103は、クライアントからの認可リクエスト及びユーザーの認証情報を検証し、ユーザーの認可への同意を得たことを示す認可コードを発行する手段である。権限条件評価手段104は、クライアントがリクエストした権限スコープと、リクエストに付与された付加情報と、拡張権限スコープ管理手段に登録された拡張権限スコープとを照会する。それにより、クライアントの要求する権限スコープとクライアントの付加情報が登録された拡張権限スコープにマッチするかどうかを判定する手段である。権限条件評価手段104での評価結果にもとづき、リクエストされた権限スコープから、権限が変更された新しい権限スコープを生成する手段である。認可トークン発行手段は106、認可コード発行手段103で発行された認可コードを受け付け、認可が行われたことを示す認可トークンを発行する手段である。認可トークン検証手段107は、認可トークンが有効なトークンかどうかを検証する手段である。
本実施形態の認可システム101を利用して、認可を行うためのコンポーネント配置構成の一例を図2に示す。クライアント201、認可サービスプロバイダ221、リソースサーバー231は、ネットワーク211を介して接続する。リソースサーバー231は、クライアントに対してそのリソースを提供する。クライアントは、ユーザーのリソースへのアクセス要求を受け付け、処理を代行する。クライアントはユーザーに対して認可要求を承認する画面、及び認証画面を表示するWebブラウザ202と、認可サービスプロバイダ及びリソースサーバーへリクエストを送受信するWebAPIクライアント203から構成される。認可サービスプロバイダは、認可システム101を内包し、クライアントの要求に対して認可トークンを発行するとともに、リソースサーバーから送付された認可トークンを検証する。認可のリクエストを受け付ける認可API223と、ユーザー認証に利用するユーザーの情報を格納するユーザーデータストア224から構成される。認可システム101はクライアントおよびクライアントに紐づいた拡張権限スコープを管理する拡張権限スコープ管理手段102を有している。リソースサーバー231は、クライアントからのリクエストを受け付け、要求されたリソースを返却する。リソースサーバーは、クライアントに対してリソースを公開するWebAPI233を有する。また、クライアントから受け付けた認可トークンを認可サービスプロバイダの認可APIに送付し、認可トークンの妥当性を検証するWebAPIクライアント232を有する。更に、クライアントに返却するリソースを格納するリソースデータストア234を有する。
以降、本実施形態の認可システムの動作例について、図3〜図12を用いて説明する。図4〜5に示すフローチャートにおけるアクセスの関係を図3に示す。認可サービスプロバイダに対して、クライアントに許可する拡張権限スコープを登録するフローチャートを図4に、拡張権限スコープを用いた認可のフローのフローチャートを図5に、リソースサーバーでの認可処理を図6に示す。また、アクセスの過程でやり取りされる、リクエストの例を図7〜図12に示す。
認可サービスプロバイダへの拡張権限スコープ登録についてフローチャート及びシーケンスのS401〜S402に示す。登録が開始(S401)されると、認可サービスプロバイダの管理者は、認可システムの拡張権限スコープ管理手段に、クライアントに対する拡張権限スコープの登録を行う(S402)。拡張権限スコープ登録データの一例を図7に記載する。図7において、client_id属性はクライアントを一意に識別するIDであり、ここでは、myServiceClient01が割りあてられる。scopes属性は拡張権限スコープを表す。ここでは、通常のOAuth2.0表記で書かれた権限スコープであるreadと、拡張表記法で記載されたdownloadが指定されている。download権限の$以降が拡張表記であることを表現し、ここではaccept_ip_range[ ]指定により、[ ]内に記載される特定のIPからのリクエストが来た場合にのみこの権限スコープの発行を許すことを表現している。すなわち、この場合は216.213.10.0/24のIPレンジからリクエストが来た場合のみ、downloadを要求することを許可する。以降、クライアントはこの拡張権限スコープの範囲の権限をクライアントに移譲することへの同意をユーザーに求めることができる。ここではIPアドレスについて記載しているが、本実施形態はIPアドレスに限定されるものではなく、ユーザーのIDやロール、ユーザーエージェント、ドメイン名、リクエスト時間などの付加情報を利用しても良い。
次に、クライアントの認可トークン取得フローについてフローチャートS及びシーケンスS501〜S513に示す。先ず、ユーザーがクライアントの機能を利用する(S501)にあたり、ユーザーがクライアントにアクセスする(S502)。次に、クライアントは、評価条件への入力に利用する付加情報として、自身の周辺コンテキストを収集する(S503)。本例では、自身に割り当てられたIPアドレスの情報を取得し、クライアントのIPアドレスは、216.213.1.7であるものとする。ここでは、自身の周辺コンテキストを収集することとしているが、通常のリクエストの過程で付与されるメタデータを権限スコープ評価に用いても良い。例えば、送信元IPアドレスはHTTPリクエストを行った場合にはX−Forwarded−ForのHTTPヘッダに付与されるのが通例であり、本メタデータを利用すると、認可サービスプロバイダはクライアントのIPアドレスを取得することができる。そのため、この場合クライアントは拡張権限スコープの表記を意識してリクエストを行う必要はない。次に、クライアントは移譲を希望する権限スコープと、S503により取得した周辺コンテキストを付加情報として指定して、WebAPIクライアントを介して、認可サービスプロバイダに認可トークン発行リクエストを行う(S504)。ここではHTTPリクエストでリクエストを行うものとする。HTTPリクエストの一例を図8に記載する。図8では、X−Forwarded−Forヘッダにクライアント自身のIPアドレスを指定した上で、拡張表記でない権限スコープを指定してリクエストを行った内容を記載している。認可サービスプロバイダの認可APIがリクエストを受け付けると、認可サービスプロバイダに配置された認可システムの認可コード発行手段にリクエストを引き渡す。その後、認可コード発行手段は拡張権限スコープ管理手段から、リクエストされた権限スコープに一致する権限スコープを検索する。次に、権限条件評価手段にて、検索結果に拡張権限スコープ表記が用いられているかどうかを判定する(S505)。一致する権限スコープが拡張権限スコープとして評価条件が表記されている場合には、認可コード発行手段は権限条件評価手段に対して、クライアントから送付された付加情報と権限スコープを入力する。権限条件評価手段では、入力された権限スコープに対応する拡張権限スコープの表記にもとづいて、付加情報の内容を評価する(S506)。評価により、権限条件評価結果が生成される。生成された評価結果の一例を図9に示す。評価条件で許可されたIPレンジ216.213.10.0/24に対し、クライアントのIP216.213.1.7は含まれないため、権限条件評価手段は、この権限スコープの発行は許可されないものとしてdenied評価を付与している。権限スコープ評価手段は、権限条件評価結果にもとづき、クライアントに許可する権限スコープを変更する(S507)。download権限スコープのdenied評価にもとづいて、download権限スコープを削除する。read権限スコープは評価無しであるため、発行を許可する。本例では、拡張表記にもとづいて権限スコープを削除する手段について記載したが、権限スコープを追加するという変更を行っても良い。また、表記にもとづいて他の権限スコープに置換する、1つ以上の別の権限スコープに変更する、といった形で権限スコープを変更してもよい。例えば、download$accept_ip_rangeにマッチしないIPレンジからのリクエストにおいては、読み込みのみを許可するファイルをダウンロードさせるreadonly_downloadに権限スコープを置換する。また、オリジナルの画像をサムネイル、Web画面サイズ、透かし入りにそれぞれ加工した画像をダウンロード許可する。これらは、thumbnail_download、webImage_donwload、warterMark_downloadの3権限を許可する。このような権限スコープ変更を行うことも可能である。評価条件の表記が無い権限スコープに対してリクエストが行われた場合には、認可システムは、通常のOAuth2.0フローとして認可コードを発行する。クライアントのWebブラウザは、評価の結果生成された権限スコープをユーザーに対して表示するとともに、ユーザーの認証情報入力と、クライアントに権限を移譲することへの同意を求める画面を表示する(S508)。ユーザーは画面に対してユーザーIDとパスワードを入力する(S509)とともに、認証情報とクライアントへの移譲に対する同意を認可サービスプロバイダに送付する(S510)。ユーザーの認証情報と同意情報を認可APIから認可コード発行手段が受け付けると、S508でユーザーに返却した権限スコープにもとづき、ユーザーが権限スコープへの認可を行ったことを示す認可コードを発行する(S511)。発行された認可コードの一例を図10に示す。認可コードを取得したクライアントは、WebAPIクライアントを利用して、取得した認可コードとクライアント自身のID及びパスワードを指定して、認可サービスプロバイダの認可APIに認可トークン発行リクエストを行う(S512)。認可サービスプロバイダ内認可システムの認可トークン発行手段は、認可コードをもとに認可トークンの発行を行う(S513)認可トークンの一例について図11に示す。認可トークンにはアクセスを許可する権限スコープが示されている。これは、S508でユーザーに提示された権限スコープに一致するものであり、本権限スコープに対してクライアントにアクセスを許可することを示すものである。
次に、認可された権限スコープを用いてクライアントがリソースへのアクセスを行うフローについて、フローチャート及びシーケンスS601〜S605に示す。クライアントによるリソースへのリクエストが開始する(S601)と、クライアントは、リソースサーバー上の任意のリソースに対するreadをリソースAPIに対して、認可トークンを指定してリクエストする(S602)。リソースサーバーのリソースAPIがリクエストと認可トークンを受け付けると、リソースサーバーはWebクライアントを利用して、認可サービスプロバイダの認可APIに認可トークンの検証をリクエストする(S603)。認可サービスプロバイダは、受け付けた認可トークンを認可システムの認可トークン検証手段に引き渡す。認可トークン検証手段が認可トークンの妥当性検証を行うと、認可サービスプロバイダは検証結果をリソースサーバーに返却する(S604)。返却結果が妥当であった場合、リソースサーバーは認可トークンの権限スコープ確認を行う(S605)。返却結果が不正であった場合には、リソースサーバーはクライアントからのアクセスを拒否する。本権限スコープ確認においては、クライアントが送付した認可トークンの権限スコープに、クライアントのリクエストした処理であるreadが含まれるかを確認する。本例では、認可トークンの権限スコープにreadが含まれるため、リソースサーバーはクライアントのリソースアクセスを許可し、リソースリポジトリから取得したリソースをクライアントに返却する(S606)。クライアントのリクエストした権限スコープが認可トークンの権限スコープに含まれない場合、例えば、downloadを指定した場合には、リソースサーバーはリソースへのアクセスを拒否する。
(その他の実施形態)
以上、実施形態例を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記録媒体(記憶媒体)等としての実施態様をとることが可能である。具体的には、複数の機器(例えば、ホストコンピュータ、インタフェース機器、撮像装置、webアプリケーション等)から構成されるシステムに適用しても良い。また、一つの機器からなる装置に適用しても良い。
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコード(コンピュータプログラム)を記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。

Claims (10)

  1. クライアントにリソースを提供するリソースサーバーへの標準仕様に基づくアクセス権の情報を管理する情報処理装置であって、
    前記クライアントが属するネットワークに関する付加情報を評価する評価手段と、
    前記評価結果に基づき、前記クライアントに付与する前記アクセス権を変更する変更手段と、を有することを特徴とする情報処理装置。
  2. 前記付加情報は、前記クライアントのIPアドレス、ID、ロール、ユーザーエージェント、ドメイン名および、リクエスト時間の少なくともいずれか一つであることを特徴とする請求項1に記載の情報処理装置。
  3. 前記変更手段は、OAuth2.0の権限スコープを拡張した形式で前記アクセス権を変更することを特徴とする請求項1または請求項2に記載の情報処理装置。
  4. 前記変更手段は、前記アクセス権に含まれる権限スコープを削除することにより、前記アクセス権を変更することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記変更手段は、前記アクセス権に権限スコープを追加することにより、前記アクセス権を変更することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  6. 前記変更手段は、前記アクセス権に含まれる権限スコープを置換することにより、前記アクセス権を変更することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  7. 前記付加情報は、HTTPリクエストのHTTPヘッダに指定される情報であることを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
  8. 前記評価手段は、前記クライアントが特定のネットワークのIPアドレスに属しているか否かに基づき評価することを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
  9. クライアントにリソースを提供するリソースサーバーへの標準仕様に基づくアクセス権の情報を管理する情報処理装置の情報処理方法であって、
    評価手段が、前記クライアントが属するネットワークに関する付加情報を評価する評価工程と、
    変更手段が、前記評価結果に基づき、前記クライアントに付与する前記アクセス権を変更する変更工程と、を有することを特徴とする情報処理方法。
  10. コンピュータを、
    クライアントにリソースを提供するリソースサーバーへの標準仕様に基づくアクセス権の情報を管理する情報処理装置であって、
    前記クライアントが属するネットワークに関する付加情報を評価する評価手段と、
    前記評価結果に基づき、前記クライアントに付与する前記アクセス権を変更する変更手段と、を有することを特徴とする情報処理装置として機能させるためのコンピュータプログラム。
JP2018093699A 2018-05-15 2018-05-15 情報処理装置、情報処理方法、およびコンピュータプログラム Pending JP2019200515A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018093699A JP2019200515A (ja) 2018-05-15 2018-05-15 情報処理装置、情報処理方法、およびコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018093699A JP2019200515A (ja) 2018-05-15 2018-05-15 情報処理装置、情報処理方法、およびコンピュータプログラム

Publications (1)

Publication Number Publication Date
JP2019200515A true JP2019200515A (ja) 2019-11-21

Family

ID=68612122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018093699A Pending JP2019200515A (ja) 2018-05-15 2018-05-15 情報処理装置、情報処理方法、およびコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP2019200515A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022259378A1 (ja) * 2021-06-08 2022-12-15 日本電信電話株式会社 情報処理システム、リソース管理装置、リソース管理方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022259378A1 (ja) * 2021-06-08 2022-12-15 日本電信電話株式会社 情報処理システム、リソース管理装置、リソース管理方法及びプログラム

Similar Documents

Publication Publication Date Title
US8776203B2 (en) Access authorizing apparatus
US8051491B1 (en) Controlling use of computing-related resources by multiple independent parties
JP4410324B2 (ja) 資格管理方法および装置
JP6098169B2 (ja) 情報処理システム、情報処理装置、プログラム及び認証方法
JP5820188B2 (ja) サーバおよびその制御方法、並びにプログラム
JP6425738B2 (ja) 情報処理装置、情報処理装置の制御方法、情報処理システム、およびコンピュータプログラム
US8402459B2 (en) License management system, license management computer, license management method, and license management program embodied on computer readable medium
KR20130085560A (ko) 클라우드 기반의 디지털 저작권 관리 서비스를 제공하는 방법 및 장치와 그 시스템
JP6323994B2 (ja) コンテンツ管理装置、コンテンツ管理方法及びプログラム
JP7096736B2 (ja) システム、及びデータ処理方法
AU2019261686B2 (en) Management apparatus and document management system
JP2019153181A (ja) 管理プログラム
JP6183035B2 (ja) サービス提供システム、サービス提供方法及びプログラム
WO2016088199A1 (ja) 印刷システム、方法、およびプログラム
US10853423B2 (en) Information processing apparatus and non-transitory computer readable medium
JP5278898B2 (ja) ストレージ装置、コンテンツ公開システム及びプログラム
US11418484B2 (en) Document management system
JP2019200515A (ja) 情報処理装置、情報処理方法、およびコンピュータプログラム
JP6205946B2 (ja) サービス提供システム、情報収集方法及びプログラム
JP6226001B2 (ja) 利用制御システム及び利用制御方法
JP6708719B2 (ja) 情報処理装置、情報処理装置の制御方法、情報処理システム、およびコンピュータプログラム
JP7119797B2 (ja) 情報処理装置及び情報処理プログラム
JP2013114516A (ja) 利用管理システム、利用管理方法、情報端末、及び利用管理プログラム
JP6604367B2 (ja) 処理装置及び情報処理装置
JP4440583B2 (ja) サービス提供装置、サービス提供方法、サービス提供プログラム及び記録媒体