JP5858796B2 - 権限委譲システム、およびその権限委譲システムにおけるサーバーシステム、および権限委譲システムを制御する制御方法 - Google Patents

権限委譲システム、およびその権限委譲システムにおけるサーバーシステム、および権限委譲システムを制御する制御方法 Download PDF

Info

Publication number
JP5858796B2
JP5858796B2 JP2012006204A JP2012006204A JP5858796B2 JP 5858796 B2 JP5858796 B2 JP 5858796B2 JP 2012006204 A JP2012006204 A JP 2012006204A JP 2012006204 A JP2012006204 A JP 2012006204A JP 5858796 B2 JP5858796 B2 JP 5858796B2
Authority
JP
Japan
Prior art keywords
user
authorization token
authorization
service
range
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.)
Expired - Fee Related
Application number
JP2012006204A
Other languages
English (en)
Other versions
JP2013145505A (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.)
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 JP2012006204A priority Critical patent/JP5858796B2/ja
Priority to US13/727,437 priority patent/US9071601B2/en
Publication of JP2013145505A publication Critical patent/JP2013145505A/ja
Application granted granted Critical
Publication of JP5858796B2 publication Critical patent/JP5858796B2/ja
Expired - Fee Related 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/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • 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/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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 Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Description

保護されたリソースにアクセスするユーザーの権限を他の主体に委譲することが可能な権限委譲システム、およびその権限委譲システムにおけるサーバーシステム、および権限委譲システムを制御する制御方法に関する。
クラウドが一般化するに伴い、複数のサービスを連携させて付加価値を創造する機会はますます増加している。サービスを連携させることでサービス提供者は、ユーザーに付加価値を提供することができる。その一方で、サービスが連携することにより、いくつかの課題が生まれる。
即ち、ユーザーが望んだ以上の情報がサービス間でやりとりされないかといったセキュリティの問題であり、ユーザーデータや個人情報の送受信に関する課題である。例えば、インターネット上には複数のサービスが存在し、様々なサービス間でサービス連携が実現される可能性があるが、ユーザーが望んだサービス以外がユーザーデータや個人情報を操作できてはいけない。またサービスの提供者からすると、サービス連携の仕組みは容易に実装できるものが好ましい。このような状況において、OAuthと呼ばれる、認可の連携を実現させるための標準プロトコルが策定されている。
OAuth によれば、例えば、サービスAが管理するデータに外部サービスBがアクセスする場合は、外部サービスBからアクセスされる範囲を明らかにした上で、ユーザーの明示的な認可を得ることになっている。ユーザーが認可すると、外部サービスBはアクセスを認められたことを証明するトークン (以下、認可トークン) を受け取り、以降のアクセスはその認可トークンを用いて実現できる。特許文献1には、委譲先端末の使用者の属性情報がサービス提供条件を満たすか否かを判断し、条件を満たす場合、委譲元端末がアクセス可能なリソースに対する認可トークンを委譲先端末へ発行する技術が開示されている。
認可トークンを用いると、認可を行ったユーザーの権限でサービスAにアクセスできるが、ユーザーから認可を受け認可トークンを取得したのは外部サービスBであるため、外部サービスBはその認可トークンを厳重かつ適正に管理する責務を負う。
また近年のサービスには、ユーザーの持つデータを解析してユーザーに付加価値を提供するものがある。例えば、Webサイトのアクセス解析サービスは、ユーザーの持つデータ(アクセスログ)を解析することで、ユーザーに対してWebサイトの更新のための指針を示すことができる。
このようにアクセス解析事業者にアクセスログの閲覧を許可することでユーザーはサービスを享受できる。一方で、アクセスログはユーザーの重要な資産でもあるため、任意のアクセス解析事業者がユーザーのアクセスログを閲覧できることは好ましくない。このような場合ユーザーは、サービスAが管理するアクセスログの閲覧を外部サービスBに対して認可するのではなく、外部サービスBを利用してアクセスログを取得する個々のアクセス解析事業者に対して認可を与える必要がある。
特開2009−129214
特許文献1のような従来の方法では、サービスAが管理するアクセスログを外部サービスBから閲覧できるよう認可を与えることは可能である。またトークン発行時にトークン利用者の妥当性を確認することもできる。しかし発行された認可トークン利用時の共有に関する制御がない。よって、認可トークンの利用範囲を柔軟に変更することができず利便性に欠ける。
また、アクセスログの解析を依頼したいアクセス解析事業者が複数あれば、個別に認可操作を行う必要が発生するので、業者が多ければ多いほど利便性が低下するという問題があった。本発明はこれらの課題の内少なくとも1つ以上の課題を解決することを目的とする。
本願発明の一実施系に係る権限委譲システムは、特定情報を管理する第1のサーバーシステムと、取得された前記特定情報を利用したサービスを提供する第2のサーバーシステムと、認証装置と、前記サービスを利用可能な第1のユーザーが操作するクライアントと、から構成される権限委譲システムであって、前記第1のサーバーシステムにより管理される前記特定情報の利用を認めるための認可トークンの共有範囲を受け付ける受け付け手段と、受け付けた前記共有範囲を基に、前記共有範囲の内の利用者に対して前記認可トークンの共有を許可するか否かを設定するための設定画面を前記クライアントに送信する送信手段と、送信された前記設定画面を介して前記第1のユーザーにより設定された前記認可トークンの共有範囲と、前記認証装置により発行された前記認可トークンと、を紐付けて管理する管理手段と、第2のユーザーが前記サービスを利用する場合に前記第2のサーバーシステムにより使用される認可トークンの共有範囲に前記第2のユーザーが含まれるか否かを判断する判断手段と、前記第2のユーザーが当該認可トークンの共有範囲に含まれると判断され、かつ当該認可トークンが有効であることが確認されたことに応じて、前記第2のサーバーシステムは前記第1のサーバーシステムから前記特定情報を取得し、取得された前記特定情報を利用した前記サービスを前記第2のユーザーに提供することを特徴とする。
本実発明によれば、複数の代行者がユーザーの代わりに作業を行うシステムにおいて、ユーザーは代行者ごとに認可操作を行うことなく、複数の代行者が認可トークンを共有できるようになる。また、認可トークンを利用できる代行者は認可トークン共有範囲で制限されるため、不特定多数の代行者が認可トークンを利用する状況を未然に防ぐことが可能になる。
ネットワーク構成を示す図である。 本発明の第1の実施の形態に係るPCの構成図である。 本発明の第1の実施の形態に係るモジュール構成図である。 本発明の第1の実施の形態に係る共有範囲の設定から認可操作までのフローである。 本発明の第1の実施の形態に係る共有範囲提示および認可画面例である。 本発明の第1の実施の形態に係る認可トークンの発行フローである。 本発明の第1の実施の形態に係る認可トークンを用いた処理依頼フローである。 本発明の第1の実施の形態に係る共有範囲および認可トークンを管理するデータ例である。 本発明の第2の実施の形態に係るモジュール構成図である。 本発明の第2の実施の形態に係る共有範囲の設定から認可トークンの取得までのフローである。 本発明の第2の実施の形態に係る認可トークンを用いた処理依頼フローである。 本発明の第2の実施の形態に係る共有範囲および認可トークンを管理するデータ例である。 本発明の第3の実施の形態に係るモジュール構成図である。 本発明の第3の実施の形態に係る共有範囲の許可および更新フローである。 本発明の第3の実施の形態に係る認可画面例である。
以下、本発明を実施するための最良の形態について図面を用いて説明する。
本実施の形態に係る権限委譲システムは、図1に示すような構成のネットワーク上に実現される。100は、Wide Area Network(WAN100)であり、本発明ではWorld Wide Web(WWW)システムが構築されている。101は各構成要素を接続するLocal Area Network(LAN101)である。
200および201はそれぞれユーザーおよび代行者が操作するクライアントPCである。300は認可サービス、350はリソースサービスである。また400はユーザーの認可に基づき、代行者がユーザーとしてリソースサービス350にアクセスするための代行サービスである。リソースサービスは、ユーザーに紐づくリソースを、他ユーザーに利用されないように保護を行っている。特定情報とはこのリソースの一部であって、この特定情報のデータの実体はどのようなデータであっても良い。例えば、デバイスの稼働状況に関する情報や、プリンタが保有している残トナー量に関する情報等が考えられる。特定情報はこのような情報を包含する上位概念である。
またクライアントPC200、201、認可サービス300、リソースサービス350、代行サービス400はそれぞれWANネットワーク100およびLAN101を介して接続されている。なおクライアントPC200、201およびそれぞれのサービスはそれぞれ個別のLAN上に構成されていてもよいし同一のLAN上に構成されていてもよい。また同一のPC上に構成されていてもよい。認可サービス300、リソースサービス350、代行サービス400は、夫々、認可サーバーシステム、リソースサーバーシステム、代行サーバーシステムと同義である。これらのサーバーシステムは、1台のコンピュータから構成されていても良いし、複数台のコンピュータを仮想化し1台のコンピュータとしても良い。また、同じ機能を持つコンピュータを並列に起動し、多数の要求を分散して並列に処理するサーバーシステムであっても良い。
リソースサービス350を利用しているユーザーに代わって、代行者が作業の代行をする場合は、代行の許可は以下の手順で実現される。リソースサービス350を利用しているユーザーは第1のユーザーに相当し、そのリソースサービス350をその第1のユーザーに代わって利用する代行者が第2のユーザーに相当する。第2のユーザーである第後者は、代行サービス400のサービスを利用し、リソースサービス350が提供するデータを加工させ、その出力結果をその第1のユーザーに相当する顧客に提供する。
代行サービス400は、始めに、どのユーザーの認可トークンを、どの代行者の間で共有するかの設定を代行者が操作するクライアントを介して受け付ける。次に代行サービス400は第1のユーザーのアクセスを受け付け、第2のユーザーである代行者が設定した認可トークンの共有範囲の許可を求める。ここで第1のユーザーが許可すると、許可された共有範囲で使用されることとなる認可トークンの発行を認可サービス300に依頼する。発行された認可トークンは、第1のユーザーと前記認可トークンの共有範囲とをペアにして紐付けて記憶する。更に代行サービス400は代行者の指示に基づき、第1のユーザーの代わりにリソースサービスにアクセスする。ここでリソースサービスへのアクセスとは、例えば、ユーザーが代行サービスに登録したデータを代行者が代行してリソースサービスへ登録することでもよい。またそれ以外のアクセスでもよい。このように、本来であればサービスを利用できるのは利用ユーザーのみではあるが、利用ユーザーに代わってサービスを享受する代行者に対し、利用ユーザーのみが享受できるサービスを限定的に代行者へ享受させる点が本願発明のポイントである。結果、代行者は、その享受したサービスを基に新たな結果を作り上げ、更により充実した結果をユーザーに提供することも可能になる。特に、第1のユーザーが顧客であり、第2のユーザーに相当する代行者が代行サービスを専門とする業者であればこの効果はより顕著に表れる。通常、代行業者は顧客よりもサービス業務に専門的に従事しており、更に質の高い結果を生み出せるからである。以上の観点からも、今後は顧客が代行業者を利用してサービスを受ける機会は更に増えるであろう。
なお、認可トークンとは、権限が委譲された装置が、委譲された権限の範囲内でサービスを利用、もしくはデータにアクセスすることを可能にするための情報である。認可トークンを表現する形式に制限はなく、数字列、文字列、それらの情報を混合させたもの、果てはそれ以外の識別情報を組み合わせたものであっても良い。認可トークンの有効性が認証サービス300により検証され、その認可トークンが有効であると検証された場合に限り、権限が委譲された装置は、委譲された権限の範囲内でサービス等を利用できる。
図2は本実施の形態に係る、クライアントPC200の構成を示す図である。またクライアントPC201、認可サービス300、リソースサービス350、代行サービス400を提供するサーバーコンピューター、またはサーバーシステムを構成するコンピュータの構成も同様である。尚、図2に示されるハードウェアブロック図は一般的な情報処理装置のハードウェアブロック図に相当するものとし、本実施形態のクライアントPC200およびサーバーコンピューターには一般的な情報処理装置のハードウェア構成を適用できる。
図2において、CPU201は、ROM203のプログラム用ROMに記憶された、或いはハードディスク211からRAM202にロードされたOSやアプリケーション等のプログラムを実行する。ここでOSとはコンピュータ上で稼動するオペレーティングシステムの略語であり、以下オペレーティングシステムのことをOSと呼ぶ。後述する各フローチャートの処理はこのプログラムの実行により実現できる。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。キーボードコントローラ(KBC)205は、キーボード(KB)209や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)206は、CRTディスプレイ210の表示を制御する。ディスクコントローラ(DKC)207は各種データを記憶するハードディスク(HD)211やフロッピー(登録商標)ディスク(FD)等におけるデータアクセスを制御する。NC212はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。尚、後述の全ての説明においては、特に断りのない限り実行のハード上の主体はCPU201であり、ソフトウェア上の主体はハードディスク(HD)211にインストールされたアプリケーションプログラムである。
図3は本実施の形態に係る、認可サービス300、リソースサービス350、代行サービス400のモジュール構成を示す図である。先にも述べた通り、これらのモジュール構成を実現するためのプログラムがメモリにロードされ、CPUにより実行されることで実現するものである。
図3aは本実施の形態に係る、認可サービス300のモジュール構成を示す図である。認可サービス300は代行サービス連携部301、認可要求部302、認可管理部303、認可トークン検証部304、検証結果通知部305から構成される。認可要求部302はユーザーに認可画面1001を提示して権限委譲の認可を求める。代行サービス連携部301は代行サービス400から受け取った認可操作識別子に応じて認可管理部303で記憶している認可トークンを返す。認可トークン検証部304はリソースサービス350から受け取った認可トークンを検証し、検証結果通知部305がリソースサービス350に検証結果を返却する。
図3bは本実施の形態に係る、リソースサービス350のモジュール構成を示す図である。リソースサービス350は認可トークン検証依頼部351を持つ。認可トークン検証依頼部351は、代行サービス400から受け取った認可トークンが有効であるか否かの検証を認可サービス300に依頼する。
図3cは本実施の形態に係る、代行サービス400のモジュール構成を示す図である。代行サービス400は共有範囲指定部401、共有範囲管理部402、共有範囲取得部403、共有範囲許可要求部404を持つ。また認可サービス連携部405、認可トークン要求部406、認可トークン管理部407、代行対象ユーザー受付部408、共有範囲検証部409、リソースサービス連携部410を持つ。
共有範囲指定部401は代行者から共有範囲を指定されることで認可トークンの共有範囲を受け付け、共有範囲管理部402で認可トークンを利用可能な範囲を規定する共有範囲を記憶、および管理する。ユーザーにアクセスされたことに応じて、共有範囲取得部403は共有範囲管理部402で管理されている共有範囲を取り出し、共有範囲許可要求部404がユーザーに共有範囲確認画面1000を提示して共有範囲の許可を求める。この共有範囲確認画面1000は共有範囲管理部402で認可トークンと紐付けて管理されている共有範囲を基に生成される画面であり、認可トークンの共有範囲を設定することが可能な設定画面である。認可サービス連携部405はユーザーのアクセスを認可サービス300にリダイレクトさせ、応答として認可操作識別子を受け取る。認可トークン要求部406は認可サービス連携部405が受け取った認可操作識別子を用いて認可サービス300に認可トークンの発行を求める。発行された認可トークンは認可トークン管理部407が記憶する。なお、共有範囲管理部402と認可トークン管理部407を切り分ける構成としたが管理部として1つにまとめても良い。何れにせよ、認可トークンと、その認可トークンに対応する共有範囲がわかるように紐付けて管理されていれば良い。
代行対象ユーザー受付部408は代行者のアクセスを受け付ける。共有範囲検証部409は、アクセスしてきた第2のユーザーである代行者が共有範囲管理部402で管理している認可トークンの共有範囲に含まれるか否かを検証する。リソースサービス連携部410は認可トークン管理部407から取り出した認可トークンを用いてリソースサービス350に処理を依頼する。但し、共有範囲検証部409による検証の結果、アクセスしてきた第2のユーザーである代行者が共有範囲管理部402で管理している認可トークンの共有範囲に含まれないと判断された場合、リソースサービス連携部410は認可トークン管理部407で管理されている認可トークンを利用することができない。
図4は本実施の形態に係る、代行者による共有範囲の設定からユーザーによる認可操作までのフローである。まず代行者が代行サービス400にアクセスし、ユーザーを指定して認可トークンの共有範囲を設定する。次に第1のユーザーが代行サービス400にアクセスすると、前記設定された共有範囲が画面表示される。第1のユーザーが前記設定された範囲での認可トークンの共有を許可すると、第1のユーザーが操作するクライアントは認可サービス300へとリダイレクトされる。認可サービス300でユーザーが認可操作を行うと認可操作識別子が発行され、クライアントは認可サービス300により代行サービス400にリダイレクトするよう指示され、そして、認可サービス300で発行された認可操作識別子が代行サービス400に渡される。
図4aは本実施の形態に係る、代行サービス400における代行者による認可トークン共有範囲の設定フローである。ステップS1101で代行サービス400の共有範囲指定部401は、どのユーザーの認可トークンを共有したいかを示すユーザー識別子と、そのユーザーの認可トークンを共有する利用者、即ち代行者の共有範囲を、代行者のクライアントを介して受け付ける。ステップS1102で共有範囲管理部402は、ステップS1101で受け付けた代行者の共有範囲の設定を認可トークンの共有範囲とし、ステップS1101で受け付けたユーザー識別子と紐付けて記憶する。
図4bは本実施の形態に係る、代行サービス400における第1のユーザーによる認可トークン共有範囲の確認および許可フローである。代行者が共有範囲準備を済ませると、第1のユーザーは共有範囲の確認と許可を行う。なお代行者が共有範囲準備を済ませたことは電話や電子メールでユーザーに通知してもよく、その他の手段で通知してもよい。その通知を受けた第1のユーザーが代行サービス400にアクセスを試みることとする。
以下のフローは代行サービス400がユーザーに認可トークンの共有範囲の許可を求めるフローである。このフローは第1のユーザーがクライアントのWebブラウザを用いて代行サービス400にアクセスすることで開始される。後続のフローで発行される認可トークンは、第1のユーザーによる権限委譲の許可が出されたことで発行されるトークンであり、かつ許可された範囲内の代行者間で共有されて利用される。
ステップS1201で、代行サービス400はアクセスしてきた第1のユーザーを特定する。ステップS1202で、共有範囲取得部403は共有範囲管理部402から認可トークンの共有範囲情報を取得する。ここで取得する共有範囲情報は、ステップS1201で特定されたユーザーに紐付けて管理されている共有範囲である。ステップS1203で、共有範囲許可要求部404はステップS1202で取得した認可トークンの共有範囲情報をユーザーに提示し、共有範囲に対する許可を求める。即ち、共有範囲の内の利用者に対して前記認可トークンの共有を許可するか否かを設定するための設定画面を第1のユーザーが操作するクライアントに送信する。そして、送信された設定画面を介して設定された設定を認可トークンの共有範囲とする。例えば、図5aに示される共有範囲確認画面1000は、代行者X、代行者Y、代行者Zが認可トークンの共有をすることをユーザーに許可を求める際の画面であり、共有範囲を設定可能な設定画面である。このユーザーを、ユーザーAと称する。なお、この設定画面の表示の仕方に制限はなく、その他の表示の仕方でも良い。詳細については別の実施例で説明する。実施例1では、代行者Xは、代行者Y、および代行者Zが所属する系列企業の親会社に所属する存在であり、これら代行者の代表としてS1101で共有範囲の指定を行ったものとする。
ステップS1204で、共有範囲許可要求部404は、ステップS1203でユーザーが共有範囲を許可したか否かを判断する。判断の結果、ユーザーが許可していた場合はステップS1205に遷移する。ユーザーが許可していなかった場合はここでフローを終了する。ステップS1205で、共有範囲管理部402は、共有範囲識別子を生成し、ユーザー識別子と共有範囲のペアに前記共有範囲識別子を紐付けて記憶する。なお共有範囲識別子はステップS1205でなく、ステップS1102でユーザー識別子と共有範囲のペアを記憶する時点で生成しておいてもよい。ステップS1206で、認可サービス連携部405は第1のユーザーからのアクセスを認可サービス300にリダイレクトさせ、本フローは終了する。その際、リダイレクトをさせるとともに、共有範囲識別子を含め指示を送る。
図4cは本実施の形態に係る、認可サービス300におけるユーザーによる認可の確認フローである。このフローはユーザーが操作するWebブラウザが、代行サービス400から認可サービス300にリダイレクトされることにより開始される。ユーザーが認可を行うと、代行サービス400に指示を行う代行者が、認可を行ったユーザーとしてリソースサービス350にアクセスできるようになる。
ステップS1301で、認可サービス300は、代行サービス400からリダイレクトされアクセスしてきたユーザーを特定する。ステップS1302で代行サービス連携部301は、前記アクセスから共有範囲識別子を取得する。ステップS1303で認可要求部302は、代行サービス400に指示を行う代行者が、そのユーザーとしてリソースサービス350にアクセスするための認可を、ユーザーに求める。ここでは、図5bに示される認可画面1001のような画面が表示される。
ステップS1304で、認可要求部302は、ステップS1303でユーザーが認可したか否か判断する。ユーザーが認可していた場合はステップS1305に遷移する。ユーザーが認可していなかった場合はここでフローを終了する。なお、図5bの画面でユーザーが許可を押した場合に認可され、拒否を押した場合に認可されなかったこととなる。ステップS1305で、認可管理部303は、ステップS1303でユーザーが認可したことに対応する認可操作識別子を生成し、記憶する。なお認可に関する付加情報があれば、あわせて認可管理部303が記憶してもよい。ステップS1306で、代行サービス連携部301が、ユーザーからのアクセスを代行サービス400にリダイレクトさせ、本フローは終了する。その際、リダイレクトの指示には、ステップS1305で生成した認可操作識別子と、ステップS1302で取り出した共有範囲識別子が含まれる。
図6は本実施の形態に係る、代行サービス400が認可サービス300に認可トークンの発行を依頼し、認可サービス300が認可トークンを発行するフローである。図6aは本実施の形態に係る、代行サービス400が認可サービス300に認可トークンの発行を依頼し、認可トークンを取得するフローである。このフローはユーザーが操作するWebブラウザが、認可サービス300での認可操作を終え、認可サービス300から代行サービス400にリダイレクトされることにより開始される。ステップS1401で、代行サービス400は、認可サービス300からリダイレクトされアクセスしてきたユーザーを特定する。
ステップS1402で、認可サービス連携部405は、リダイレクトの指示から認可操作識別子と共有範囲識別子を取り出す。ステップS1403で、認可トークン要求部406は、ステップS1402で取り出した認可操作識別子を認可サービス300に渡し、応答として認可トークンを受け取る。ステップS1404で、認可トークン管理部407は、ステップS1402で取り出した共有範囲識別子を用いて、共有範囲管理部402で記憶しているユーザー識別子と認可トークンの共有範囲のペアを特定する。ステップS1405で、認可トークン管理部407は、ステップS1404で特定したユーザー識別子と認可トークンの共有範囲のペアに、ステップS1403で取得した認可トークンを紐付けて管理する。認可トークンの記憶が完了することで、本フローは終了する。
図6bは本実施の形態に係る、認可サービス300が認可トークンを発行するフローである。ステップS1501で、認可サービス300は、代行サービス400からの認可トークン発行依頼を受け付ける。ステップS1502で、認可サービス300は、ステップS1501で受け付けた認可トークン発行依頼から認可操作識別子を取り出す。ステップS1503で、認可管理部303は、ステップS1502で取り出した認可操作識別子を、認可管理部303で記憶している認可操作識別子と比較する。ステップS1504で、認可管理部303は、ステップS1503の比較の結果、一致する認可操作識別子を記憶していたか判断する。一致する認可操作識別子を記憶していた場合はステップS1505に遷移する。記憶していなかった場合は、本フローはここで終了する。ステップS1505で、認可管理部303は、認可トークンを生成して記憶する。また、ステップS1501で受け付けた認可トークン発行依頼に対する応答として、生成した認可トークンを代行サービス400に返す。認可トークンを返すと本フローは終了する。
図7は本実施の形態に係る、発行された認可トークンを用いて代行サービス400がリソースサービス350を呼び出して処理を実行させるフローである。まず代行者が代行サービス400にアクセスし、認可トークンを用いてリソースサービス350を呼び出すよう指示する。この呼び出しは認可トークンを用いて行うため、リソースサービス350に対する呼び出しは認可トークンに紐付けられたユーザーからの指示であるとして処理される。代行サービス400が認可トークンを用いてリソースサービス350に処理を指示すると、リソースサービス350は受け取った認可トークンの検証を認可サービス300に依頼する。認可トークンが有効なものであれば、リソースサービス350は処理を実行する。
図7aは本実施の形態に係る、代行サービスがリソースサービスを呼び出すフローである。ステップS1601で、代行サービス400は代行サービスを利用するためにアクセスしてきた第2のユーザーである代行者を特定する。ステップS1602で、代行対象ユーザー受付部408は、アクセスしてきた代行者がどのユーザーの代行を行うかの指示を受け付ける。ステップS1603で、共有範囲検証部409は、ステップS1602で指定されたユーザーのユーザー識別子を用いて、共有範囲管理部402に問い合わせを行う。共有範囲管理部402は、ユーザー識別子に紐付けられた認可トークンの共有範囲設定が存在するか確認する。さらに、その共有範囲にステップS1601でアクセスしてきた第2のユーザーである代行者が含まれるか否かを確認する。
ステップS1604で、共有範囲検証部409は、ステップS1603の確認の結果を基に判断を行う。ユーザー識別子に紐付けられた認可トークンの共有範囲設定が存在し、かつその共有範囲にステップS1601でアクセスしてきた代行者が含まれていた場合はステップS1605に遷移する。そうでなければステップS1650に遷移する。ステップS1605で、認可トークン管理部407は、前記ユーザー識別子と認可トークンの共有範囲のペアに紐付けられた認可トークンを記憶しているか確認する。ステップS1606で、認可トークン管理部407は、認可トークンを記憶しているか否かを判断する。認可トークンを記憶していた場合はステップS1607に遷移する。また記憶していなかった場合はステップS1650に遷移する。このようにして、第2のユーザーである代行者が代行サービスを利用する場合に代行サービスのサーバーシステムにより使用される認可トークンの共有範囲に、第2のユーザーであるその代行者が含まれているか否かを判断する。判断の方法はこれに限るものではなく、その他の方法は別の実施例で説明する。
ステップS1607で、認可トークン管理部407は、記憶している認可トークンを取り出す。ステップS1608で、リソースサービス連携部410は、ステップS1607で取り出した認可トークンを使用して、リソースサービス350にアクセスを行う。アクセスが完了すると本フローは終了する。ステップS1650で、代行サービス400は、代行者に対し代行が行えない旨を通知して処理を終了する。代行が行えなかった理由として考えられるのは、そもそもその代行者は共有範囲を設定する段階で対象外であったか、共有範囲内として設定はされていたが第1のユーザーにより許可されなかった状況が考えられる。本願発明は、以上の構成および処理により、認可トークンを共有できる範囲を柔軟に設定することができる。
図7bは本実施の形態に係る、リソースサービス350の処理のフローである。ステップS1701で、リソースサービス350は、代行サービス400からのアクセスを受け付ける。ステップS1702で、認可トークン検証依頼部351は、ステップS1701のアクセスから認可トークンを取り出す。ステップS1703で、認可トークン検証依頼部351は、ステップS1702で取り出した認可トークンの有効性の検証を認可サービス300に依頼し、検証結果を受け取る。ステップS1704で、認可トークン検証依頼部351は、ステップS1703で受け取った検証結果を確認する。認可トークンが有効なものだという検証結果であればステップS1705に遷移する。また有効でないという結果であればステップS1750に遷移する。
ステップS1705で、リソースサービス350は、ステップS1701で受け付けた代行サービス400からのアクセスを処理する。処理が完了すると結果を代行サービス400に返し、フローを終了する。ステップS1750で、リソースサービス350は、ステップS1701で受け付けた代行サービス400からのアクセスを拒否し、フローを終了する。
図7cは本実施の形態に係る、認可サービス300における認可トークンの有効性検証のフローである。ステップS1801で、認可サービス300は、リソースサービス350から認可トークンを受け取る。ステップS1802で、認可トークン検証部304は、ステップS1801で受け取った認可トークンが有効なものであるか否かを判断する。ここでの判断は、例えば、認可トークンが認可管理部303で管理されているものと同一であるか否か、管理されているとすればその認可トークンは有効期限内であるか否か、などの判断が行われる。このように、認可トークンは内容の確認のみではなく、その認可トークンの使用期限も確認することもできる。
ステップS1803で、認可トークン検証部304は、ステップS1802の判断の結果、ステップS1801で受け取った認可トークンが有効なものであればステップS1804に遷移する。また、有効な認可トークンでなければステップS1805に遷移する。
ステップS1804で、検証結果通知部305は、認可トークンが有効なものだったと代行サービス400に通知して処理を終了する。ステップS1805で、検証結果通知部305は、認可トークンが有効なものでなかったと代行サービス400に通知して処理を終了する。
図8は本実施の形態に係る、代行サービス400で管理されるデータの例である。この例では、ユーザーKの認可トークンを代行者Xおよび代行者Yが共有し、その共有範囲は共有範囲識別子abc0001で特定される様子を示している。また前記ユーザー識別子と認可トークンの共有範囲のペアに、認可操作識別子111110−122334と認可トークン987654321が紐付けて記憶されている様子も示している。この場合、代行者Xおよび代行者Yは認可トークン987654321を用いて、ユーザーKの代わりに、代行サービス400からリソースサービス350に処理を指示することが可能である。しかし代行者Zは認可トークン共有範囲に含まれないため、ユーザーKの代わりに、代行サービス400からリソースサービス350に処理を指示することができない。例えば、代行者Zは、図7aのS1650のステップを経由したものである。なお、図5に示すように代行者X,代行者Y、代行者Zの利用許可をユーザーAに対し求めた場合は、ユーザーAに対応するユーザー識別子と、認可トークン共有範囲として3人の代行者が紐付くことになる。結果、3人の代行者は、ユーザーAに対して代行サービスを提供可能となる。
本実施の形態によれば、複数の代行者がユーザーの代わりに作業を行う場合でも、ユーザーは代行者ごとに認可操作を行うことなく、複数の代行者が認可トークンを共有できるようになる。また認可トークンを利用できる代行者は認可トークン共有範囲で制限されるため、不特定多数の代行者が認可トークンを利用する問題も発生しない。また認可トークンの共有範囲をユーザーに明示して許可を求めるため、代行者に対する認可をユーザーが意識することもできる。
次に、本発明を実施するための第2の形態について図面を用いて説明する。第2の実施例においては、認可トークンの共有範囲の設定および検証を、認可サービス300で行う。認可サービス300に集約することで、代行サービス400が認可トークンの共有範囲の検証を行う場合と比べ、代行サービス400が意図せず、あるいは意図して共有範囲の検証を誤り、利用ユーザーが望まない代行者がリソースサービス350にアクセスする事態を防げる。
なお、一般的なOAuthの仕組みでは、利用ユーザーである第1のユーザーも、代行者である第2のユーザーも、代行サービス400を直接操作する。そのため、代行サービス400は利用ユーザーおよび代行者を識別する識別子を保持している。それに対して、認可サービス300およびリソースサービス350は、代行者に代行者自身の識別子を用いてアクセスされることがないため、代行者の識別子を保持していない。しかし、例えば、代行サービス400が認可サービス300およびリソースサービス350と同一のセキュリティドメインに属するなどの理由により、認可サービス300が代行者の識別子も保持している場合を考える。この場合においては、認可サービス300でも認可トークンの共有範囲の設定および検証を行える。実施例2ではこのような状況を想定している。
次に、実施例2の説明に入るが、第1の実施の形態と共通の部分については説明を省略し、以下では差異部分のみ説明する。図9は本実施の第2の形態に係る、認可サービス300、リソースサービス350、代行サービス400のモジュール構成を示す図である。
図9aは本実施の第2の形態に係る、認可サービス300のモジュール構成を示す図である。認可サービス300は認可要求部302、認可管理部303、認可トークン検証部304、検証結果通知部305を持つ。また第2の共有範囲指定部306、第2の共有範囲管理部307、第2の代行サービス連携部308を持つ。また第2の共有範囲取得部309、第2の共有範囲許可要求部310、第2の共有範囲検証部311を持つ。
第2の共有範囲指定部306は代行者から共有範囲の指示を受け、第2の共有範囲管理部307で共有範囲を記憶する。利用ユーザーが代行サービス400からリダイレクトで認可サービス300にアクセスすると、第2の共有範囲取得部309は第2の共有範囲管理部307で記憶した共有範囲を取り出し、第2の共有範囲許可要求部310がユーザーに共有範囲確認画面1000を提示して共有範囲の許可を求める。第2の共有範囲検証部311はリソースサービス350の要求に応じて認可トークンを検証する際に、認可トークンを使用する代行者が共有範囲に含まれるか否かを検証する。
図9bは本実施の第2の形態に係る、リソースサービス350のモジュール構成を示す図である。リソースサービス350は第2の認可トークン検証依頼部352を持つ。第2の認可トークン検証依頼部352は代行サービス400から受け取った認可トークンが有効なものか、認可サービス300に検証を依頼する。
図9cは本実施の第2の形態に係る、代行サービス400のモジュール構成を示す図である。代行サービス400は認可トークン要求部406、代行対象ユーザー受付部408を持つ。また第2の認可サービス連携部411、第2の認可トークン管理部412、第2のリソースサービス連携部413を持つ。第2の認可サービス連携部411は認可サービス300から認可トークンを取得し、取得した認可トークンは第2の認可トークン管理部412が記憶する。また第2のリソースサービス連携部413は、記憶した認可トークンと、代行者情報をリソースサービス350に渡して処理を依頼する。
図10は実施例2に係る、代行者による共有範囲の設定から認可トークンの取得までのフローである。始めに、代行者が認可サービス350にアクセスし、利用者である第1のユーザー、およびその第1のユーザーが利用する代行サービスを指定して認可トークンの共有範囲を設定する。次に、第1のユーザーが代行サービス400にアクセスすると、第1のユーザーが操作するクライアントは認可サービス300へとリダイレクトされる。認可サービス300では、代行者により設定された共有範囲が画面表示される。第1のユーザーが、設定された範囲での認可トークンの共有を許可すると、認可画面が表示される。第1のユーザーが認可操作を行うと認可操作識別子が発行され、認可操作識別子が代行サービス400に渡される。代行サービス400は認可操作識別子を用いて、認可サービス300から認可トークンを取得する。
図10aは本実施の第2の形態に係る、認可サービス300における代行者による認可トークン共有範囲の設定フローである。ここでは認可サービス300が代行者の識別子を保持している。そして、利用ユーザーが望まない代行者がリソースサービス350にアクセスする事態を防ぐため、認可サービス300が認可トークンの共有範囲の設定および検証を行う。ステップS2101で、認可サービス300の第2の共有範囲指定部306は、どのユーザーの認可トークンを共有したいかを示すユーザー識別子と、そのユーザーの認可トークンを共有する代行者の範囲を、それぞれ代行者から受け付ける。また前記認可トークンを用いてリソースサービス350を呼び出し、代行サービスを示す代行サービス識別子も受け付ける。ステップS2102で、第2の共有範囲管理部307は、ステップS2101で受け付けた代行者の範囲を認可トークン共有範囲として、ステップS2101で受け付けたユーザー識別子および代行サービス識別子と紐づけて記憶し、フローを終了する。
図10bは本実施の第2の形態に係る、代行サービス400におけるユーザーによる認可処理の開始フローである。代行者が共有範囲準備を済ませると、ユーザーは共有範囲の確認と許可を行う。なお、代行者が共有範囲準備を済ませたことは電話や電子メールでユーザーに通知してもよく、その他の手段で通知してもよい。以下のフローは代行サービス400がユーザーに認可処理の実施を求めるフローである。このフローは第1のユーザーがWebブラウザを用いて代行サービス400にアクセスすることで開始される。後続のフローで発行される認可トークンは、ユーザーによる許可を受け、ここで許可された範囲の代行者間で共有して利用可能となる。ステップS2201で、代行サービス400は、アクセスしてきたユーザーを特定する。ステップS2202で、第2の認可サービス連携部411は、ユーザーからのアクセスを認可サービス300にリダイレクトさせる、本フローは終了する。その際、リダイレクトの指示には代行サービスを特定するための代行サービス識別子を含まれている。
図10cは本実施の第2の形態に係る、認可サービス300におけるユーザーによる共有範囲と認可の確認フローである。このフローは第1のユーザーが操作するWebブラウザが、代行サービス400から認可サービス300にリダイレクトされることにより開始される。第1のユーザーが認可を行うと、代行サービス400のサービスを利用する代行者がリソースサービス350にアクセスできるようになる。
ステップS1301で、認可サービス300は、代行サービス400からリダイレクトされアクセスしてきたユーザーを特定する。ステップS2301で、第2の代行サービス連携部308は、アクセスに含まれる代行サービス識別子を取り出す。ステップS2302で、第2の共有範囲取得部309は、ステップS1301で特定されたユーザーおよびステップS2301で取り出した代行サービスに紐付けられた、認可トークンの共有範囲を取得する。ステップS2303で、第2の共有範囲許可要求部310は、ステップS2302で取得した認可トークンの共有範囲情報をユーザーに提示し、共有範囲に対する許可を求める。ここで表示される画面は、図5aに示される共有範囲確認画面1000のような画面である。
ステップS2304で、第2の共有範囲許可要求部310は、ステップS2303でユーザーが共有範囲を許可したか否かを判断する。判断の結果、ユーザーが許可していた場合はステップS1303に遷移する。ユーザーが許可していなかった場合はここでフローを終了する。ステップS2305で、第2の代行サービス連携部308が、ユーザーからのアクセスを代行サービス400にリダイレクトさせ、本フローは終了する。その際のリダイレクトには、ステップS1305で生成された認可操作識別子が含まれる。
図10dは本実施の第2の形態に係る、代行サービス400が認可サービス300から認可トークンを取得するフローである。このフローはユーザーが操作するWebブラウザが、認可サービス300での認可操作を終え、認可サービス300から代行サービス400にリダイレクトされることにより開始される。ステップS1401で、代行サービス400は、認可サービス300からリダイレクトされアクセスしてきたユーザーを特定する。ステップS2401で、第2の認可サービス連携部411は、前記アクセスから認可操作識別子を取り出す。ステップS1403で、認可トークン要求部406は、ステップS2401で取り出した認可操作識別子を認可サービス300に渡し、応答として認可トークンを受け取る。ステップS2402で、第2の認可トークン管理部412は、ステップS1403で取得した認可トークンを記憶する。認可トークンの記憶が完了することで、本フローは終了する。
図11は本実施の第2の形態に係る、発行された認可トークンを用いて代行サービス400がリソースサービス350を呼び出して処理を実行させるフローである。まず代行者が代行サービス400にアクセスし、認可トークンを用いてリソースサービス350を呼び出すよう指示する。この呼び出しは認可トークンを使用して行うため、リソースサービス350に対する呼び出しは認可トークンに紐付けられたユーザーからの指示であるとして処理される。代行サービス400が認可トークンを用いてリソースサービス350に処理を指示すると、リソースサービス350は受け取った認可トークンの検証を認可サービス300に依頼する。認可トークンが有効なものであれば、リソースサービス350は処理を実行する。
図11aは本実施の第2の形態に係る、代行サービスがリソースサービスを呼び出すフローである。ステップS2601で、第2の認可トークン管理部412は、ステップS1602で代行者が指定したユーザーのユーザー識別子に紐付けられた認可トークンを記憶しているか確認する。ステップS2602で、第2の認可トークン管理部412は、認可トークンを記憶しているか判断する。認可トークンを記憶していた場合はステップS1607に遷移する。また記憶していなかった場合はステップS1650に遷移する。ステップS2603で、第2のリソースサービス連携部413は、ステップS1607で取り出した認可トークンを用いて、リソースサービス350にアクセスを行う。またアクセスの際に送るデータには、ステップS1601で特定した代行者の代行者識別子も含める。アクセスが完了すると本フローは終了する。
図11bは本実施の第2の形態に係る、リソースサービス350での処理のフローである。ステップS2701で、第2の認可トークン検証依頼部352は、ステップS1701のアクセスから認可トークンと代行者識別子を取り出す。ステップS2702で、第2の認可トークン検証依頼部352は、ステップS2701で取り出した認可トークンの有効性の検証を認可サービス300に依頼し、検証結果を受け取る。
図11cは本実施の第2の形態に係る、認可サービス300における認可トークンの有効性検証のフローである。ステップS2801で、第2の共有範囲検証部311は、リソースサービス350から認可トークンを受け取る。また代行者識別子も受け取る。ステップS2802で、第2の共有範囲検証部311は、ステップS2801で受け取った認可トークンに対応する共有範囲に、ステップS2081で受け取った代行者識別子で示される代行者が含まれるか判断する。代行者が共有範囲に含まれる場合はステップS1802に遷移し、含まれない場合はステップS1850に遷移する。
図12は本実施の第2の形態に係る、認可サービス300および代行サービス400で管理されるデータの例である。図12aは本実施の第2の形態に係る、認可サービス300で管理される認可トークンの共有範囲に関するデータの例である。図12aは、ユーザーKの認可トークンを代行者Xおよび代行者Yが共有できることを示している。また認可トークンの共有範囲は、外部サービスBに対して設定されたものであることも示している。この場合、代行者Xおよび代行者Yは認可トークン987654321を用いて、ユーザーKの代わりに、外部サービスBからリソースサービス350に処理を指示することが可能である。しかし代行者Zは認可トークン共有範囲に含まれないため、ユーザーKの代わりに、外部サービスBからリソースサービス350に処理を指示することができない。
図12bは本実施の第2の形態に係る、代行サービス400が管理する認可トークンのデータ例である。この例ではユーザーKの認可操作は認可操作識別子111110−122334で識別され、前記認可操作識別子と認可トークン987654321が紐付けて記憶されている様子も示している。
本実施の第2の形態によれば、認可トークンの共有範囲の検証を、認可トークンを発行した認可サービス300が実施するため、より厳密な共有範囲検証を実現できる。また、認可サービス300で権限委譲の共有範囲を管理するので、複数の代行サービスが存在する場合に効果的である。即ち、実施例1では、夫々の代行サービスに共有範囲を設定し、運用する構成を導入する必要があったが、実施例2では認可サービス300にその構成のほとんどを集約させたので、代行サービスの実装負担が軽減されるのである。よって、代行サービスが多ければ多いほど、実施例2は効果的である。
次に、本発明を実施するための第3の形態について図面を用いて説明する。本実施の第1の形態および本実施の第2の形態において利用ユーザーは、代行者があらかじめ設定した認可トークンの共有範囲を、そのまま許可するか、あるいは拒否することしかできなかった。本実施の第3の形態においては、利用ユーザーが望む範囲の代行者が、認可トークンを共有範囲させることを目的とする。
なお、実施例1と共通の部分については説明を省略し、以下では差異部分のみ説明する。なお、実施例3においては、代行サービス400が第2の共有範囲確認画面3000を表示させている。しかし、認可サービス300が第2の共有範囲確認画面3000を表示させる構成としてもよい。実施例3は、実施例1および実施例2のどちらの形態にも適用可能である。
図13は本実施の形態に係る、認可サービス300、リソースサービス350、代行サービス400のモジュール構成を示す図である。図13aは本実施の形態に係る、認可サービス300のモジュール構成を示す図である。認可サービス300は代行サービス連携部301、認可要求部302、認可管理部303、認可トークン検証部304、検証結果通知部305から構成される。認可要求部302はユーザーに認可画面1001を提示して認可を求める。代行サービス連携部301は代行サービス400から受け取った認可操作識別子に応じて認可管理部303で記憶している認可トークンを返す。認可トークン検証部304はリソースサービス350から受け取った認可トークンを検証し、検証結果通知部305がリソースサービス350に検証結果を返却する。
図13bは本実施の形態に係る、リソースサービス350のモジュール構成を示す図である。リソースサービス350は認可トークン検証依頼部351を持つ。認可トークン検証依頼部351は代行サービス400から受け取った認可トークンが有効なものか、認可サービス300に検証を依頼する。
図13cは本実施の形態に係る、代行サービス400のモジュール構成を示す図である。代行サービス400は共有範囲指定部401、共有範囲管理部402、共有範囲取得部403を持つ。また認可サービス連携部405、認可トークン要求部406、認可トークン管理部407、代行対象ユーザー受付部408、共有範囲検証部409、リソースサービス連携部410を持つ。また第3の共有範囲許可要求部414、共有範囲更新部415を持つ。
共有範囲指定部401は代行者から共有範囲の指示を受け、共有範囲管理部402で共有範囲を記憶する。ユーザーにアクセスされると共有範囲取得部403は共有範囲管理部402で記憶した共有範囲を取り出し、共有範囲許可要求部404がユーザーに共有範囲確認画面1000を提示して共有範囲の許可を求める。認可サービス連携部405はユーザーのアクセスを認可サービス300にリダイレクトさせ、応答として認可操作識別子を受け取る。認可トークン要求部406は認可サービス連携部405が受け取った認可操作識別子を用いて認可サービス300に認可トークンの発行を求める。発行された認可トークンは認可トークン管理部407が記憶する。
代行対象ユーザー受付部408は代行者のアクセスを受け付ける。共有範囲検証部409は、アクセスしてきた代行者が共有範囲管理部402で記憶している認可トークンの共有範囲に含まれるか検証する。リソースサービス連携部410は認可トークン管理部407から取り出した認可トークンを用いてリソースサービス350に処理を依頼する。
図14は本実施の第3の形態に係る、代行サービス400におけるユーザーによる認可トークン共有範囲の確認および許可フローである。代行者が共有範囲準備を済ませると、ユーザーは共有範囲の確認と許可を行う。なお代行者が共有範囲準備を済ませたことは電話や電子メールでユーザーに通知してもよく、その他の手段で通知してもよい。
以下のフローは代行サービス400がユーザーに認可トークンの共有範囲の許可を求めるフローである。このフローはユーザーがWebブラウザを用いて代行サービス400にアクセスすることで開始される。後続のフローで発行される認可トークンは、ユーザーによる許可を受け、ここで許可された範囲の代行者間で共有して利用可能となる。
ステップS3201で第3の共有範囲許可要求部414は、ステップS1202で取得した認可トークンの共有範囲情報を基に設定画面をユーザーに提示し、共有範囲の指示と許可を求める。図15に示される第2の共有範囲確認画面3000は、代行者X、代行者Y、代行者Zが認可トークンの共有をすることをユーザーに許可を求める際の画面であり、共有範囲を設定可能な設定画面である。またここではユーザーが、提示された代行者の内で代行者Yと代行者Zを指定して認可トークンの共有を許可する場合を示している。
ステップS3202で第3の共有範囲許可要求部414は、ステップS3201でユーザーが共有範囲を許可したか判断する。判断の結果、ユーザーが許可していた場合はステップS3203に遷移する。ユーザーが許可していなかった場合はここでフローを終了する。ステップS3203で共有範囲更新部415は、ステップS3201のユーザーの指定に従い、認可トークン管理部407で管理する認可トークンの共有範囲を更新する。
実施例3は、有範囲の内の利用者に対して前記認可トークンの共有を許可するか否かを設定するための設定画面を、共有範囲の内のどの利用者に前記認可トークンの共有を許可するかを設定することが可能な設定画面として提供する実施例である。そして、実施例3によれば、代行者が指定した認可トークンの共有範囲の内で、ユーザーが望む代行者にのみ認可トークンの共有を許可したいといった要望にも対応できる。これにより、たとえ、複数の代行者がサービスの代行を行うことを想定していても、利用者であるユーザーに一部の代行者が認可されなかった場合は、その認可されなかった利用者は代行を行うことができない。よって、実施例1、および実施例2と比較して、実施例3は柔軟な権限委譲に対応することが出来る。
以上、各実施例では、複数の代行者がユーザーの代わりに作業を行うシステムにおいて、ユーザーは代行者ごとに認可操作を行うことなく、複数の代行者が認可トークンを共有できるための発明について説明してきた。しかしながら、各実施例で説明してきた構成を別の形態で実施しても良い。
300 認可サービス
306 第2の共有範囲指定部
307 第2の共有範囲管理部
311 第2の共有範囲検証部
350 リソースサービス
400 代行サービス
401 共有範囲指定部
402 共有範囲管理部
409 共有範囲検証部

Claims (6)

  1. 特定情報を管理する第1のサーバーシステムと、取得された前記特定情報を利用したサービスを提供する第2のサーバーシステムと、認証装置と、前記サービスを利用可能な第1のユーザーが操作するクライアントと、から構成される権限委譲システムであって、
    前記第1のサーバーシステムにより管理される前記特定情報の利用を認めるための認可トークンの共有範囲を受け付ける受け付け手段と、
    受け付けた前記共有範囲を基に、前記共有範囲の内の利用者に対して前記認可トークンの共有を許可するか否かを設定するための設定画面を前記クライアントに送信する送信手段と、
    送信された前記設定画面を介して前記第1のユーザーにより設定された前記認可トークンの共有範囲と、前記認証装置により発行された前記認可トークンと、を紐付けて管理する管理手段と、
    第2のユーザーが前記サービスを利用する場合に前記第2のサーバーシステムにより使用される認可トークンの共有範囲に前記第2のユーザーが含まれるか否かを判断する判断手段と、
    前記第2のユーザーが当該認可トークンの共有範囲に含まれると判断され、かつ当該認可トークンが有効であることが確認されたことに応じて、前記第2のサーバーシステムは前記第1のサーバーシステムから前記特定情報を取得し、取得された前記特定情報を利用した前記サービスを前記第2のユーザーに提供する提供手段と、を有する権限委譲システム。
  2. 前記共有範囲の内の利用者に対して前記認可トークンの共有を許可するか否かを設定するための設定画面とは、前記共有範囲の内のどの利用者に前記認可トークンの共有を許可するかを設定することが可能な設定画面であり、当該設定画面を介して前記認可トークンの共有を許可する利用者を前記第1のユーザーにより設定されることで、前記管理手段により前記認可トークンの共有範囲が管理されることを特徴とする請求項1に記載の権限委譲システム。
  3. 前記受け付け手段により受け付けられた認可トークンの共有範囲は前記第2のユーザーが操作するクライアントから受け付けた設定であり、かつ受け付けられたことで前記管理手段により管理される設定であって、
    前記共有範囲の内のどの利用者に前記認可トークンの共有を許可するかを設定することが設定可能な設定画面を介して前記第1のユーザーにより設定された認可トークンの共有範囲が、前記第2のユーザーが操作するクライアントから受け付けた認可トークンの共有範囲と異なる場合は、前記設定画面を介して前記第1のユーザーにより設定された認可トークンの共有範囲に更新するよう制御し、前記管理手段は、前記共有範囲の内のどの利用者に前記認可トークンの共有を許可するかを設定することが設定可能な設定画面を介して前記第1のユーザーにより設定された認可トークンの共有範囲が、前記第2のユーザーが操作するクライアントから受け付けた認可トークンの共有範囲と同一である場合は、前記第2のユーザーが操作するクライアントから受け付けた認可トークンの共有範囲を更新しないように制御する更新手段を更に有することを特徴とする請求項2に記載の権限委譲システム。
  4. 前記認証装置は、送信された前記設定画面を介して前記第1のユーザーにより設定された前記認可トークンの共有範囲を識別する共有範囲識別子を前記第2のサーバーシステムから前記クライアントを介して取得し、認可画面を介して認可トークンの発行が許可されたことに応じて、前記共有範囲識別子と認可操作識別子とを前記クライアントを介して前記第2のサーバーシステムへ送信し、
    前記第2のサーバーシステムが有する管理手段は、前記認可操作識別子を基に前記認証装置から認可トークンを発行してもらい、発行された認可トークンは前記共有範囲識別子を基にして当該認可トークンの共有範囲と紐付けて管理することを特徴とする請求項1乃至3の何れか1項に記載の権限委譲システム。
  5. 特定情報を管理する第1のサーバーシステムと、認証装置と、サービスを利用可能な第1のユーザーが操作するクライアントと通信可能な第2のサーバーシステムであって、
    前記第1のサーバーシステムにより管理される前記特定情報の利用を認めるための認可トークンの共有範囲を受け付ける受け付け手段と、
    受け付けた前記共有範囲を基に、前記共有範囲の内の利用者に対して前記認可トークンの共有を許可するか否かを設定するための設定画面を前記クライアントに送信する送信手段と、
    送信された前記設定画面を介して前記第1のユーザーにより設定された前記認可トークンの共有範囲と、前記認証装置により発行された前記認可トークンと、を紐付けて管理する管理手段と、
    第2のユーザーが前記サービスを利用する場合に前記第2のサーバーシステムにより使用される認可トークンの共有範囲に前記第2のユーザーが含まれるか否かを判断する判断手段と、
    前記第2のユーザーが当該認可トークンの共有範囲に含まれると判断され、かつ当該認可トークンが有効であることが確認されたことに応じて、前記第1のサーバーシステムから前記特定情報を取得し、取得された前記特定情報を利用した前記サービスを前記第2のユーザーに提供する提供手段と、を有する権限委譲システム。
  6. 特定情報を管理する第1のサーバーシステムと、取得された前記特定情報を利用したサービスを提供する第2のサーバーシステムと、認証装置と、前記サービスを利用可能な第1のユーザーが操作するクライアントと、から構成される権限委譲システムを制御する制御方法であって、
    受け付け手段は、前記第1のサーバーシステムにより管理される前記特定情報の利用を認めるための認可トークンの共有範囲を受け付け、
    送信手段は、受け付けた前記共有範囲を基に、前記共有範囲の内の利用者に対して前記認可トークンの共有を許可するか否かを設定するための設定画面を前記クライアントに送信し、
    管理手段は、送信された前記設定画面を介して前記第1のユーザーにより設定された前記認可トークンの共有範囲と、前記認証装置により発行された前記認可トークンと、を紐付けて管理し、
    判断手段は、第2のユーザーが前記サービスを利用する場合に前記第2のサーバーシステムにより使用される認可トークンの共有範囲に前記第2のユーザーが含まれるか否かを判断し、
    提供手段は、前記第2のユーザーが当該認可トークンの共有範囲に含まれると判断され、かつ当該認可トークンが有効であることが確認されたことに応じて、前記第2のサーバーシステムは前記第1のサーバーシステムから前記特定情報を取得し、取得された前記特定情報を利用した前記サービスを前記第2のユーザーに提供することを特徴とする権限委譲システムの制御方法。
JP2012006204A 2012-01-16 2012-01-16 権限委譲システム、およびその権限委譲システムにおけるサーバーシステム、および権限委譲システムを制御する制御方法 Expired - Fee Related JP5858796B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012006204A JP5858796B2 (ja) 2012-01-16 2012-01-16 権限委譲システム、およびその権限委譲システムにおけるサーバーシステム、および権限委譲システムを制御する制御方法
US13/727,437 US9071601B2 (en) 2012-01-16 2012-12-26 Authority delegate system, server system in authority delegate system, and control method for controlling authority delegate system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012006204A JP5858796B2 (ja) 2012-01-16 2012-01-16 権限委譲システム、およびその権限委譲システムにおけるサーバーシステム、および権限委譲システムを制御する制御方法

Publications (2)

Publication Number Publication Date
JP2013145505A JP2013145505A (ja) 2013-07-25
JP5858796B2 true JP5858796B2 (ja) 2016-02-10

Family

ID=48780938

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012006204A Expired - Fee Related JP5858796B2 (ja) 2012-01-16 2012-01-16 権限委譲システム、およびその権限委譲システムにおけるサーバーシステム、および権限委譲システムを制御する制御方法

Country Status (2)

Country Link
US (1) US9071601B2 (ja)
JP (1) JP5858796B2 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6061633B2 (ja) * 2012-11-14 2017-01-18 キヤノン株式会社 デバイス装置、制御方法、およびそのプログラム。
US9038142B2 (en) * 2013-02-05 2015-05-19 Google Inc. Authorization flow initiation using short-term wireless communication
US9811687B2 (en) * 2013-03-15 2017-11-07 International Business Machines Corporation Common location of user managed authorization
US20140365781A1 (en) * 2013-06-07 2014-12-11 Technische Universitaet Darmstadt Receiving a Delegated Token, Issuing a Delegated Token, Authenticating a Delegated User, and Issuing a User-Specific Token for a Resource
US9396338B2 (en) * 2013-10-15 2016-07-19 Intuit Inc. Method and system for providing a secure secrets proxy
US9444818B2 (en) 2013-11-01 2016-09-13 Intuit Inc. Method and system for automatically managing secure communications in multiple communications jurisdiction zones
US9467477B2 (en) 2013-11-06 2016-10-11 Intuit Inc. Method and system for automatically managing secrets in multiple data security jurisdiction zones
US9894069B2 (en) 2013-11-01 2018-02-13 Intuit Inc. Method and system for automatically managing secret application and maintenance
JP6335657B2 (ja) 2014-05-30 2018-05-30 キヤノン株式会社 権限委譲システム、方法、認証サーバーシステム、およびプログラム
JP6157411B2 (ja) 2014-05-30 2017-07-05 キヤノン株式会社 権限移譲システム、方法、認証サーバーシステム、およびそのプログラム
US9942229B2 (en) * 2014-10-03 2018-04-10 Gopro, Inc. Authenticating a limited input device via an authenticated application
JP2016085641A (ja) 2014-10-27 2016-05-19 キヤノン株式会社 権限移譲システム、権限移譲システムにて実行される方法、およびそのプログラム
CN104573414A (zh) * 2015-01-06 2015-04-29 浪潮电子信息产业股份有限公司 一种确保软件激活的校验控制方法
JP6582740B2 (ja) 2015-08-26 2019-10-02 株式会社リコー 情報処理システム、サーバ装置、及びプログラム
US9762563B2 (en) 2015-10-14 2017-09-12 FullArmor Corporation Resource access system and method
US9509684B1 (en) * 2015-10-14 2016-11-29 FullArmor Corporation System and method for resource access with identity impersonation
US9450944B1 (en) 2015-10-14 2016-09-20 FullArmor Corporation System and method for pass-through authentication
US9832314B2 (en) * 2015-12-08 2017-11-28 Verizon Patent And Licensing Inc. Customer representative remote access for troubleshooting smartphones
US10757165B2 (en) * 2016-06-10 2020-08-25 Amdocs Development Limited System and method for delegating service entitlements across multiple media services
KR101884776B1 (ko) * 2016-08-30 2018-08-02 숭실대학교산학협력단 환자 정보 전달 시스템 및 방법
JP6857065B2 (ja) * 2017-03-27 2021-04-14 キヤノン株式会社 認証認可サーバー、リソースサーバー、認証認可システム、認証方法及びプログラム
US10936711B2 (en) * 2017-04-18 2021-03-02 Intuit Inc. Systems and mechanism to control the lifetime of an access token dynamically based on access token use
US10635829B1 (en) 2017-11-28 2020-04-28 Intuit Inc. Method and system for granting permissions to parties within an organization
JP7029051B2 (ja) 2017-12-22 2022-03-03 富士通株式会社 情報処理装置、情報処理方法、および情報処理プログラム
CN110035035B (zh) * 2018-01-12 2021-09-17 北京新媒传信科技有限公司 一种单点登录的二次认证方法及***
CN110210207A (zh) * 2019-05-30 2019-09-06 中国联合网络通信集团有限公司 授权方法及设备
JP7301668B2 (ja) 2019-08-07 2023-07-03 キヤノン株式会社 システム、制御方法、プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000123095A (ja) * 1998-08-12 2000-04-28 Nippon Telegr & Teleph Corp <Ntt> 電子チケット記録媒体、処理方法及び処理装置
US20050081065A1 (en) * 2003-10-14 2005-04-14 Ernie Brickell Method for securely delegating trusted platform module ownership
JP5084468B2 (ja) * 2007-11-26 2012-11-28 日本電信電話株式会社 権限委譲システム、権限委譲方法および権限委譲プログラム
WO2009084601A1 (ja) * 2007-12-27 2009-07-09 Nec Corporation アクセス権限管理システム、アクセス権限管理方法及びアクセス権限管理用プログラム
JP4506837B2 (ja) * 2008-01-15 2010-07-21 日本電気株式会社 権限譲渡装置、権限譲渡システム、権限譲渡方法及び権限譲渡プログラム
US8312158B2 (en) * 2010-01-26 2012-11-13 At&T Intellectual Property I, Lp System and method for providing multimedia digital rights transfer
JP2011253499A (ja) * 2010-06-04 2011-12-15 Nippon Telegr & Teleph Corp <Ntt> アクセス権限設定システム、アクセス権限設定方法、Webサービスサーバおよびプログラム

Also Published As

Publication number Publication date
US9071601B2 (en) 2015-06-30
US20130185784A1 (en) 2013-07-18
JP2013145505A (ja) 2013-07-25

Similar Documents

Publication Publication Date Title
JP5858796B2 (ja) 権限委譲システム、およびその権限委譲システムにおけるサーバーシステム、および権限委譲システムを制御する制御方法
JP5458888B2 (ja) 証明書生成配布システム、証明書生成配布方法およびプログラム
JP6166596B2 (ja) 認可サーバーシステムおよびその制御方法、並びにプログラム
CN111767527B (zh) 基于区块链的数据权限控制方法、装置和计算机设备
US8429757B1 (en) Controlling use of computing-related resources by multiple independent parties
JP5423397B2 (ja) アクセス権限管理システム、アクセス権限管理方法及びアクセス権限管理用プログラム
KR102542880B1 (ko) 개인정보 관리 장치 및 방법
US7571488B2 (en) Rights management terminal, server apparatus and usage information collection system
EP2383956B1 (en) Cloud-based billing, credential, and data sharing management system
CN111416822B (zh) 访问控制的方法、电子设备和存储介质
JP2018081464A (ja) 通信方法、装置、及びプログラム
US8990896B2 (en) Extensible mechanism for securing objects using claims
Tang et al. Extending openstack access control with domain trust
EP3176991B1 (en) Authorization delegation system, control method thereof, and program
JP6610814B2 (ja) 通信方法、装置、及びプログラム
EP3232363A1 (en) Information processing device, method for controlling information processing device, information processing system, and computer program
KR101401794B1 (ko) 데이터 공유 제공 방법 및 장치
CN111062028B (zh) 权限管理方法及装置、存储介质、电子设备
KR20220129245A (ko) 블록 체인 기반 탈중앙화 인가 프로토콜 방법 및 장치
CN112541828B (zh) 实现开放证券管理及开放证券api接入控制的***、方法、装置、处理器及其存储介质
WO2013171879A1 (ja) ジョブ実行システム、ジョブ実行プログラム、ジョブ実行方法
CN116707849A (zh) 针对飞地实例的云服务访问权限设置方法和云管理平台
JP6792133B2 (ja) サーバと、その処理方法及びプログラム
JP2006253769A (ja) 情報処理システムおよび方法
JP2023035086A (ja) 情報処理システム、情報処理方法、及び、情報処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151026

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151215

R151 Written notification of patent or utility model registration

Ref document number: 5858796

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees