JP2021026612A - システム、認可サーバー、制御方法、プログラム - Google Patents

システム、認可サーバー、制御方法、プログラム Download PDF

Info

Publication number
JP2021026612A
JP2021026612A JP2019145573A JP2019145573A JP2021026612A JP 2021026612 A JP2021026612 A JP 2021026612A JP 2019145573 A JP2019145573 A JP 2019145573A JP 2019145573 A JP2019145573 A JP 2019145573A JP 2021026612 A JP2021026612 A JP 2021026612A
Authority
JP
Japan
Prior art keywords
authorization
user
confirmation
client
resource
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
JP2019145573A
Other languages
English (en)
Other versions
JP7301669B2 (ja
Inventor
洵 大塚
Jun Otsuka
洵 大塚
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 JP2019145573A priority Critical patent/JP7301669B2/ja
Priority to US16/987,733 priority patent/US20210044587A1/en
Publication of JP2021026612A publication Critical patent/JP2021026612A/ja
Application granted granted Critical
Publication of JP7301669B2 publication Critical patent/JP7301669B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0892Network architectures or network communication protocols for network security for authentication of entities by using authentication-authorization-accounting [AAA] servers or protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】 クライアントが権限委譲を求める際に、クライアントがアクセスしたいリソースは分かっているものの、そのリソースの所有者が分からず、ユーザーを指定して権限委譲を求められない場合が考えられる。【解決手段】 クライアントはリソース識別子を指定して認可開始リクエストを行う。認可開始リクエストを受信した認可サーバーは指定されたリソース識別子のリソース所有者をリソースサーバーに問い合わせる。リソース所有者を解決すると、認可サーバーは、解決されたユーザー識別子に対応するユーザー端末に認可確認リクエストを行う。【選択図】 図6

Description

本発明は、ユーザーのリソースの権限委譲を可能とするシステム、認可サーバー、制御方法、プログラムに関する。
クラウドのwebサービスでOAuth2.0による権限委譲を実現している。特許文献1では、システム連携を設定する際にユーザーは、クライアントと認可サーバーの両方に対しウェブブラウザを介して操作し認可操作を行うことで、ユーザーの権限をクライアントに委譲できることについて開示している。クライアントは、委譲されたユーザーの権限を用いて、ユーザーのリソースにアクセスしシステム連携が実現する。
特許5623234
OAuth2.0でユーザーの権限をクライアントに委譲するためには、ユーザーがクライアントにウェブブラウザでアクセスすることが必要になる。例えば、マルチテナントシステムで、外部システムから各テナントのデータを解析する際に各テナントの管理者の許可が必要なケースを考える。この場合、解析処理のタイミングでテナントの管理者がクライアントである外部システムにアクセスすることを期待できず、クライアントが自立的に権限委譲の要求を行う必要がある。
クライアントが自立的に権限委譲の要求を行うようにすることで、ユーザーがクライアントにアクセスしていない状態でも、クライアントがユーザーを指定して権限委譲を求めることができるようになる。しかし、権限委譲の許可を求める際に、どのユーザーの端末に対して権限委譲の許可を求めれば良いかを考える必要がある。
本発明は前述の課題を鑑みてなされたもので、クライアントがユーザーを指定して権限委譲を求める場合に、ユーザーの端末を特定し権限委譲の許可を求めることを目的とする。
本発明の一実施形態に係る認可サーバーは、ユーザーのリソースを提供するリソースサーバー、前記リソースへアクセスするクライアント、前記クライアントが前記リソースへアクセスすることがユーザーにより許可されたことを示すアクセストークンを発行する認可サーバー、およびユーザー端末とから構成されるシステムにおける前記認可サーバーであって、1人のユーザーのユーザー識別子に対して複数のユーザー端末の端末情報を関連付けて記憶する記憶手段と、前記クライアントから認可開始リクエストを受信したことに応じて前記認可開始リクエストからユーザー識別子を特定し、特定されたユーザー識別子に関連付けられた端末情報を特定する特定手段と、複数の端末情報が特定された場合、特定された端末情報を基に認可確認リクエストを前記ユーザーが保有する複数のユーザー端末のそれぞれに対して送信し、前記複数のユーザー端末の内の何れか1台から認可確認の結果を受信する確認手段と、前記確認手段により受信された認可確認の結果に応じて前記アクセストークンの発行を制御し、前記アクセストークンを発行した場合は前記認可開始リクエストを送信した前記クライアントへ送信する発行手段と、を有することを特徴とする。
本願発明によれば、クライアントがユーザーを指定して権限委譲を求める場合に、ユーザーの端末を特定し権限委譲の許可を求めることができる。
ネットワーク構成を示す図である。 本実施の形態に係る、認可サーバー151の構成を示す図である。 本実施の形態に係る、モジュール構成を示す図である。 本実施の形態に係る、認可開始リクエストおよび認可確認リクエストのフローである。 本実施の形態に係る、アクセストークン発行フローである。 本実施の形態に係る、全体のフローである。 本実施の形態に係る、認可確認画面。
以下、本発明を実施するための形態について図面を用いて説明する。本実施の形態に係る権限委譲システムは、図1に示すような構成のネットワーク上に実現される。100は、Wide Area Network(WAN100)であり、本発明ではWorld Wide Web(WWW)システムが構築されている。110、150、170は各構成要素を接続するLocal Area Network(LAN110、LAN150、LAN170)である。
152はユーザーのリソースを管理するリソースサーバーであり、111はリソースサーバー152上のリソースにアクセスするクライアントである。ここでクライアント111がリソースサーバー152上のリソースにアクセスするためには、リソース所有者による権限委譲が必要である。151はクライアントの求めに応じてリソースへのアクセス許可の証拠となるアクセストークンを発行する認可サーバーである。171、および172はクライアント111が権限委譲を求めた際に認可確認画面を表示するユーザー端末である。なお、夫々のユーザー端末は図1に2台しか存在しないがそれ以上の台数があっても良い。
認可サーバー151、リソースサーバー152はそれぞれLAN150を介してWAN100と接続されている。また同様にクライアント111はLAN110を介して、ユーザー端末171はLAN170を介して、それぞれWAN100と接続されている。なお認可サーバー151、リソースサーバー152はそれぞれ個別のLAN上に構成されていてもよいし同一のLAN上に構成されていてもよい。同様に、同一のPCまたはサーバーコンピューター上に構成されていてもよい。また、認可サーバー151、リソースサーバー152は図1ではそれぞれが1台として描かれているが複数のサーバーから構成されたサーバーシステムでも良い。例えば、複数台のサーバーをクラスタ化して認可サーバー151を構成しても良い。なお、本願発明においてサーバーシステムと称した場合は、少なくとも1台のサーバーから構成された特定のサービスを提供する装置を指すものとする。
実施例1の形態に係るイベント通知システムは、図2に示すような構成のPCから成るシステム上に実現される。図2は実施例1の形態に係る、認可サーバー151の構成を示す図である。またクライアント111、リソースサーバー152の構成やユーザー端末171の構成も同様である。尚、図2に示されるハードウェアブロック図は一般的な情報処理装置のハードウェアブロック図に相当するものとし、本実施形態のサーバーコンピューターおよび端末には一般的な情報処理装置のハードウェア構成を適用できる。
図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やROM203にインストールされたOSやアプリケーション等のプログラムである。ソフトウェア上の主体は、CPU201がそれらプログラムを実行することで実現する。
図3は本実施の形態に係る、クライアント111、認可サーバー151、リソースサーバー152のモジュール構成を示す図である。図3(A)はクライアント111、図3(B)は認可サーバー151、図3(C)はリソースサーバー152のモジュール構成を、それぞれ示す。また図3(D)はユーザー端末171のモジュール構成を示す。
クライアント111は認可開始リクエスト発行モジュール301、アクセストークン要求モジュール302、アクセストークン管理モジュール303、リソースアクセスモジュール304を持つ。認可サーバー151は認可リクエスト管理モジュール351、リソース所有者解決モジュール352、認可確認モジュール353、アクセストークン発行モジュール354を持つ。リソースサーバー152はリソース管理モジュール371を持つ。ユーザー端末171は認可操作受付モジュール391を持つ。
認可サーバー151の認可リクエスト管理モジュール351は、クライアント111の認可開始リクエスト発行モジュール301の要求に従い、認可開始リクエストを処理する。認可開始リクエストにはクライアント111がアクセスしようとするリソース情報が含まれる。リソース所有者解決モジュール352は認可開始リクエストに含まれるリソース情報を用いて、リソースサーバー152に対し、当該リソースのリソース所有者情報を問い合わせる。ここで得られたリソース所有者情報を基に、認可確認モジュール353は、特定のユーザー端末171に対し認可確認リクエストを行う。認可確認リクエストに対しユーザーが認可操作を行うと、クライアント111は、認可サーバー151からアクセストークンを取得できるようになり、リソースサーバーが提供するユーザーのリソースへアクセスできるようになる。このように認可サーバー151は、クライアント111がユーザーに関連づくリソースへアクセスするための認可処理を実行するためのモジュールを備えている。
図4(A)は本実施の形態に係る、クライアント111が認可サーバー151に対し認可開始リクエストを行うフローである。本フローはクライアント111がリソースサーバー152上のリソースへのアクセスに先立ち、アクセストークンが必要になった際に開始される。
ステップS401で認可開始リクエスト発行モジュール301は、操作対象のリソース識別子およびスコープを含む認可開始リクエストを、認可サーバー151に対して送信する。スコープは、リソースへのアクセス範囲を示すものであり、例えば、リソースの取得を望む場合は“get−data”のスコープを指定することになる。
ステップS402で認可開始リクエスト発行モジュール301は、認可サーバー151からレスポンスを受信する。このレスポンスには、認可サーバー151が発行した認可リクエスト識別子が含まれる。ステップS403で認可開始リクエスト発行モジュール301は、ステップS402で受信したレスポンスに含まれる認可リクエスト識別子を、ステップS401の操作対象リソースおよびスコープとともに記憶し、フローを終了する。表1はクライアント111が記憶する認可リクエスト管理テーブルの例である。
Figure 2021026612
表1ではリソース識別子“/datalake/iot0010/data”で示されるリソースに対し、スコープ“get−data”で行った認可開始リクエストが、認可リクエスト識別子“auth_req_id_12345”に紐付けて記憶されている。また認可リクエスト識別子“auth_req_id_98765”に対しては、“actk111222333”で示されるアクセストークンを取得済みであることを示す。ここでリソース識別子が示すリソースは、ファイルシステム上の1つのファイルを示してもよく、データベース上の特定のレコードを示してもよい。またそれらの集合を示してもよい。
図4(B)は本実施の形態に係る、認可サーバー151における認可開始リクエストの受信フローである。本フローは認可サーバー151がクライアント111から認可開始リクエストを受信することで開始される。ステップS411で認可リクエスト管理モジュール351は、クライアント111から認可開始リクエストを受け付ける。認可開始リクエストには、クライアント111のクライアント識別子と、クライアント111が操作対象としているリソース識別子が含まれる。
ステップS412でリソース所有者解決モジュール352は、ステップS411で指定されたリソースの所有者を、リソースサーバー152に問い合わせる。ステップS413でリソース所有者解決モジュール352は、ステップS412の問い合わせの応答として、ステップS411で指定されたリソースの所有者のユーザー識別子を受信する。ステップS414で認可リクエスト管理モジュール351は、ステップS411で受信した認可開始リクエストに対応する認可リクエスト識別子を生成する。
ステップS415で認可リクエスト管理モジュール351は、ステップS414で生成した認可リクエスト識別子に、認可リクエストの情報を紐付けて記憶する。認可リクエストの情報とは、ステップS411で受信したクライアント識別子、操作対象のリソース識別子、スコープと、ステップS413で受信したユーザー識別子を含む。表2は認可リクエスト管理モジュール351が記憶する認可確認状況管理テーブルの例である。
Figure 2021026612
表2では、クライアント識別子“client_xyz”で示されるクライアントが、リソース識別子“/datalake/iot0010/data”で示されるリソースに対し、スコープ“get−data”で行った認可開始リクエストが、認可リクエスト識別子“auth_req_id_12345”に紐付けて記憶されている。また認可リクエスト識別子“auth_req_id_12345”にはユーザー識別子“user_abcde”が紐付けられているが、これはリソース“/datalake/iot0010/data”のリソース所有者を解決した結果、ユーザー識別子が”user_abcde”だったことを示している。なお認可リクエスト識別子“auth_req_id_12345”の認可結果が“(空欄)”となっているのは、ユーザーがまだ認可操作を行っていないことを示している。
それに対し認可リクエスト識別子“auth_req_id_98765”の認可結果は“approved”で、認可リクエスト識別子“auth_req_id_44444”の認可結果は“disapproved”である。これらはそれぞれ、ユーザーが認可を行ったことと、認可を拒否したことをそれぞれ示している。このように夫々の情報は関連付けられている。
ステップS416で認可リクエスト管理モジュール351は、ステップS411の応答として、ステップS414で生成した認可リクエスト識別子をクライアント111に返し、フローを終了する。
図4(C)は本実施の形態に係る、認可サーバー151における認可確認リクエストを行うフローである。本フローはステップS415で認可リクエストの情報を記憶したことを受けて開始される。
ステップS421で認可確認モジュール353は、ステップS415で記憶した認可リクエスト識別子に紐付くユーザー識別子を取得する。ここで、ステップS415で記憶した認可リクエスト識別子が“auth_req_id_12345”であれば、紐付くユーザー識別子は“user_abcde”である。
ステップS422で認可確認モジュール353は、ステップS421で取得したユーザー識別子から、ユーザー端末171,172の複数のユーザー端末を特定する。表3はユーザー識別子とユーザー端末171の対応を記憶するユーザー管理テーブルの例である。表3では、1人のユーザーが2台のユーザー端末を保有していることを示すが、1人のユーザーが3台以上のユーザー端末を保有していても良く、その場合、3つ以上のユーザー端末情報が1人のユーザーのユーザー識別子に関連付くことになる。
Figure 2021026612
ここでユーザー識別子“user_abcde”に対応するユーザー端末情報は、”192.168.0.1”と”192.168.0.2”であることが特定できる。本実施例では、この2台のユーザー端末がユーザー端末171と172であるものとして説明する。ステップS423で認可確認モジュール353は、ステップS415で記憶した認可リクエスト識別子に紐付くクライアント識別子およびスコープを取得する。ここで、ステップS415で記憶した認可リクエスト識別子が“auth_req_id_12345”であれば、紐付くクライアント識別子およびスコープはそれぞれ“client_xyz”および“get−data”である。
ステップS424で認可確認モジュール353は、ステップS422で特定したユーザー端末171とユーザー端末172に対し、ステップS423で取得したクライアント識別子およびスコープを含めて認可確認リクエストを送信する。なお認可確認リクエストの送信方法は、ユーザー端末171のエンドポイントを指定した通信方法でもよく、またMQTTをはじめとするPUSH通知を用いた方法でもよい。またその他の方法でもよい。認可確認リクエストを受け付けたユーザー端末171およびユーザー端末172の認可操作受付モジュール391は、図7に示すような認可確認画面1001を表示し、ユーザーに認可を求める。ここでポイントとなるのは、ユーザーが保有するすべてのユーザー端末で認可確認画面1001が表示されるという点である。ユーザーが認可確認画面1001で“許可”のボタンを押して認可を指示することになる。
ステップS425で認可確認モジュール353は、ステップS424で送信した認可確認リクエストの応答として、ユーザー端末171またはユーザー端末172の所定のユーザー端末から認可結果を受信する。ステップS426で認可確認モジュール353は、ステップS425で受信した認可結果を、ステップS415で記憶した認可リクエスト識別子に紐付けて記憶し、フローを終了する。表2では、認可リクエスト識別子“auth_req_id_98765”に対し、認可されたことを示す“approved”が記憶されている。
ステップS427で認可確認モジュール353は、所定のユーザー端末以外のユーザー端末に認可確認の取り下げリクエストを送信する。例えば、ユーザーが”192.168.0.1”のユーザー端末から認可操作を行った場合、ユーザーに紐づく別のユーザー端末”192.168.0.2”に対して認可確認の取り下げを要求する。なお、ユーザーが3台以上のユーザー端末を保有している場合、認可操作を行ったユーザー端末以外の全てのユーザー端末に対して認可確認の取り下げを要求することになる。また、ユーザーの認可操作が“許可”であろうが“拒否”であろうが、認可操作の結果に依らず所定のユーザー端末以外のユーザー端末に認可確認の取り下げを要求する。ユーザーは今回の認可リクエストに対する認可操作を行えば、誤って他のユーザー端末で同じ認可リクエストに対する認可操作をすることがなくなる。
図4(D)は本実施の形態に係る、リソースサーバー152におけるリソース所有者を返すフローである。本フローはリソースサーバー152が認可サーバー151から、リソース所有者の問い合わせを受けて開始される。
ステップS451でリソース管理モジュール371は、認可サーバー151からリソース所有者の問い合わせを受信する。この問い合わせにはリソース識別子を含む。ステップS452でリソース管理モジュール371は、ステップS415で指定されたリソースの所有者のユーザー識別子を取得し、認可サーバー151に返し、フローを終了する。表4はリソース管理モジュール371におけるリソース管理テーブルの例である。
Figure 2021026612
表4では、リソースを識別するための識別情報としてリソース識別子を採用しており、リソース識別子が“/datalake/iot0010/data”で示されるリソースの所有者が、ユーザー識別子“user_abcde”であることが示されている。
図5(A)は本実施の形態に係る、認可サーバー151がクライアント111に認可完了通知を行うフローである。本フローはステップS426で認可結果を記憶したことを受けて開始される。
ステップS501で認可確認モジュール353は、ステップS426で記憶した認可リクエスト識別子を取得する。ステップS502で認可確認モジュール353は、ステップS501で取得した認可リクエスト識別子に紐付くクライアントの接続先情報であるクライアントエンドポイントを取得する。表5はクライアント識別子とクライアントエンドポイントの対応を管理する、クライアント管理テーブルの例である。
Figure 2021026612
表5では、クライアント識別子“client_xyz”のクライアントエンドポイントが、”10.0.0.1”であることを示している。ステップS503で認可確認モジュール353は、ステップS502で取得したクライアントエンドポイントに対し、ユーザーがリソースへのアクセスを許可したこと、すなわち認可したことを通知し、フローを終了する。なおここでクライアントエンドポイントに通知する内容は、ステップS501で取得した認可リクエスト識別子でもよく、またユーザーの認可に対応して発行したアクセストークンでもよい。アクセストークンを発行する際は後述の図5(C)に示されるようなフローを実行する。
図5(B)は実施例1の形態に係る、クライアント111が認可サーバー151にアクセストークンリクエストを行うフローである。本フローはクライアント111が認可サーバー151からステップS503の認可完了通知を受けて開始される。または本フローは、クライアント111が、定期的に実行してもよい。
ステップS511でアクセストークン要求モジュール302は、アクセストークンリクエストを行う認可リクエスト識別子を決定する。ここで本フローが定期的に実行される場合には、認可リクエスト識別子は、表1に示される認可リクエスト管理テーブルでアクセストークン未取得のものから選ばれる。また本フローが認可サーバー151からの通知を受けて開始される場合は、認可サーバー151からの通知に含まれる認可リクエスト識別子が用いられる。
ステップS512でアクセストークン要求モジュール302は、ステップS511で決定した認可リクエスト識別子を指定して、認可サーバー151に対してアクセストークンリクエストを行う。ステップS513でアクセストークン管理モジュール303は、ステップS512の応答として受信したアクセストークンを記憶し、フローを終了する。表1では、認可リクエスト識別子“auth_req_id_98765”に対して取得できた、アクセストークン“actk111222333”を記憶している様子を示す。
図5(C)は本実施の形態に係る、認可サーバー151がアクセストークンを発行するフローである。本フローは認可サーバー151がクライアント111からアクセストークンリクエストを受信したことで開始される。
ステップS521でアクセストークン発行モジュール354は、クライアント111から受信したアクセストークンリクエストから、認可リクエスト識別子を取得する。ステップS522でアクセストークン発行モジュール354は、アクセストークン発行可否を判断する。
ステップS523でアクセストークン発行モジュール354は、ステップS522の結果、アクセストークンを発行可能であると判断されたか確認する。アクセストークンを発行可能と判断された場合はステップS524に遷移する。またアクセストークンを発行不可能と判断された場合はステップS525に遷移する。
ステップS524でアクセストークン発行モジュール354は、ステップS521で取得した認可リクエスト識別子に紐付けられたユーザー識別子およびスコープに対応するアクセストークンを発行する。また発行したアクセストークンをクライアント111に返し、フローを終了する。表6はアクセストークン発行モジュール354で発行されたアクセストークンを管理する、アクセストークン管理テーブルの例である。
Figure 2021026612
表6では、ユーザー“user_abcde”がスコープ“get−data”の権限委譲を行ったことを示すアクセストークンが、アクセストークン識別子“actk111222333”として発行されていることを示す。なおステップS524でクライアント111に返すアクセストークンは、アクセストークン識別子だけでもよく、またアクセストークン識別子に加えユーザー識別子およびスコープを含む構造化されたデータでもよい。ステップS525でアクセストークン発行モジュール354は、アクセストークンを発行できないことをクライアント111に通知し、フローを終了する。
図5(D)は本実施の形態に係る、アクセストークン発行可否判断を行うステップS522の詳細フローである。ステップS531でアクセストークン発行モジュール354は、表2の認可確認状況管理テーブルを参照し、指定された認可リクエスト識別子に対応する認可結果を確認する。
ステップS532でアクセストークン発行モジュール354は、ステップS531の確認した認可結果が、認可されていることを表しているか判断する。認可されていることを表していた場合はステップS533に遷移し、その他の場合はステップS534に遷移する。ステップS533でアクセストークン発行モジュール354は、アクセストークンを発行可能と判断し、フローを終了する。ステップS534でアクセストークン発行モジュール354は、アクセストークンを発行不可能と判断し、フローを終了する。
図6は本実施の形態に係る、クライアントが認可開始リクエストを行ってからアクセストークンを入手し、リソースアクセスする際の全体のフローである。クライアント111は(1)で認可サーバーに対し認可開始リクエストを行い、応答として(2)で認可リクエスト識別子を取得する。(1)はステップS401およびステップS411に、(2)はステップS402およびステップS416にそれぞれ対応する。
認可サーバー151は認可開始リクエストを受けると、認可開始リクエストに含まれるリソース識別子のリソース所有者を解決するため、(3)でリソースサーバー152にリソース所有者の問い合わせを行う。また応答として(4)でリソース所有者のユーザー識別子を受信する。(3)はステップS412およびステップS451に、(4)はステップS413およびステップS452に、それぞれ対応する。
認可サーバー151はリソース所有者の解決が済むと、(5)でリソース所有者に紐付けられたユーザー端末171に対し認可確認リクエストを行う。ユーザー端末171およびユーザー端末172では図7で示される認可確認画面1001が表示され、ユーザーが何れか1台のユーザー端末で認可操作を行う。ユーザーは、クライアントにユーザーのリソースへのアクセスを許可する場合は認可確認画面1001で“許可”、拒否する場合は認可確認画面1001で“拒否”を選択することで認可操作を行う。ユーザーが認可操作を行った結果は、(6)として認可サーバーに返される。(5)はステップS424に、(6)はステップS425に、それぞれ対応する。
認可サーバー151は(6)で認可結果を受信すると、(7)でユーザーが認可操作を行ったユーザー端末以外のユーザー端末であって、ユーザーが保有するすべてのユーザー端末に対して認可確認の取り下げリクエストを送信する。認可確認の取り下げリクエストを受信したユーザー端末は、表示中の認可確認画面1001の表示を中止する。そして、(8)でクライアント111に認可完了通知を行う。(8)はS503に対応する。
クライアント111は(8)で認可完了通知を受信するか、もしくは定期的に、(9)で認可サーバー151に対してアクセストークンリクエストを行う。また応答として(10)でアクセストークンを受信する。(9)はステップS512およびステップS521に、(10)はステップS513およびステップS524に、それぞれ対応する。
(5)もしくは(10)でアクセストークンを受信したクライアント111は、(11)でリソースサーバー152に対しリソースアクセスを行い、応答として(12)でリソースを取得する。リソースサーバー152は、アクセストークンの検証要求を認可サーバー151に対して送信し検証する、もしくはリソースサーバー152自身がアクセストークンを検証し、クライアント111がユーザーのリソースへアクセスすることが許可されているかを確認するものとする。なお、リソースへのアクセス範囲はスコープで決定するものであり、例えば、“get−data”スコープであれば、リソースサーバー152はユーザーのリソースをクライアント111へ提供することになる。
実施例1によれば、クライアントがアクセスしたいリソースは分かっているものの、そのリソースの所有者が分からない場合でも、認可開始リクエストを行えるようになる。また、ユーザーの端末を特定し権限委譲の許可を求めることができる。
〔その他の実施例〕
実施例1では、認可開始リクエストに含まれるリソース識別子をリソースサーバー152に問い合わせユーザー識別子を取得する形式で説明した。しかし、認可開始リクエストにユーザー識別子が含まれている場合は、S412の処理を省略し、S413で認可開始リクエストからユーザー識別子を特定する形態としても良い。また、認可開始リクエストにユーザー識別子そのものではなくとも、認可サーバー151がユーザー識別子とメールアドレスなどのような関連付け情報を保有する場合は、メールアドレスを認可開始リクエストに含む形態であっても良い。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
111 クライアント
151 認可サーバー
152 リソースサーバー
171 ユーザー端末

Claims (14)

  1. ユーザーのリソースを提供するリソースサーバー、前記リソースへアクセスするクライアント、前記クライアントが前記リソースへアクセスすることがユーザーにより許可されたことを示すアクセストークンを発行する認可サーバー、およびユーザー端末とから構成されるシステムにおける前記認可サーバーであって、
    1人のユーザーのユーザー識別子に対して複数のユーザー端末の端末情報を関連付けて記憶する記憶手段と、
    前記クライアントから認可開始リクエストを受信したことに応じて前記認可開始リクエストからユーザー識別子を特定し、特定されたユーザー識別子に関連付けられた端末情報を特定する特定手段と、
    複数の端末情報が特定された場合、特定された端末情報を基に認可確認リクエストを前記ユーザーが保有する複数のユーザー端末のそれぞれに対して送信し、前記複数のユーザー端末の内の何れか1台から認可確認の結果を受信する確認手段と、
    前記確認手段により受信された認可確認の結果に応じて前記アクセストークンの発行を制御し、前記アクセストークンを発行した場合は前記認可開始リクエストを送信した前記クライアントへ発行した前記アクセストークンを送信する発行手段と、を有することを特徴とする認可サーバー。
  2. 前記確認手段により前記認可確認リクエストが前記複数のユーザー端末のそれぞれに対して送信されることで、前記複数のユーザー端末のそれぞれのディスプレイに認可確認画面が表示されることを特徴とする請求項1に記載の認可サーバー。
  3. 前記確認手段は、前記複数のユーザー端末の内の何れか1台から認可確認の結果を受信したことに応じて、認可確認の結果を送信した1台のユーザー端末を除く前記ユーザーが保有するユーザー端末に対して認可確認の取り下げリクエストを送信することを特徴とする請求項1または2に記載の認可サーバー。
  4. 前記確認手段は、認可確認の結果に依らず、認可確認の結果を送信した1台のユーザー端末を除く前記ユーザーが保有するユーザー端末に対して認可確認の取り下げリクエストを送信することを特徴とする請求項3に記載の認可サーバー。
  5. 前記確認手段により前記認可確認の取り下げリクエストが前記ユーザー端末に送信されることで、認可確認の結果を送信した1台のユーザー端末を除く前記ユーザーが保有するユーザー端末のそれぞれのディスプレイに表示されていた認可確認画面の表示が中止されることを特徴とする請求項3または4に記載の認可サーバー。
  6. 前記特定手段は、前記認可開始リクエストに含まれる前記クライアントがアクセスする前記リソースの識別情報からユーザー識別子を特定し、その後、特定されたユーザー識別子に関連付けられた端末情報を特定することを特徴とする請求項1乃至5の何れか1項に記載の認可サーバー。
  7. ユーザーのリソースを提供するリソースサーバー、前記リソースへアクセスするクライアント、前記クライアントが前記リソースへアクセスすることがユーザーにより許可されたことを示すアクセストークンを発行する認可サーバー、およびユーザー端末とから構成されるシステムであって、
    前記認可サーバーは、
    1人のユーザーのユーザー識別子に対して複数のユーザー端末の端末情報を関連付けて記憶する記憶手段と、
    前記クライアントから認可開始リクエストを受信したことに応じて前記認可開始リクエストからユーザー識別子を特定し、特定されたユーザー識別子に関連付けられた端末情報を特定する特定手段と、
    複数の端末情報が特定された場合、特定された端末情報を基に認可確認リクエストを前記ユーザーが保有する複数のユーザー端末のそれぞれに対して送信し、前記複数のユーザー端末の内の何れか1台から認可確認の結果を受信する確認手段と、
    前記確認手段により受信された認可確認の結果に応じて前記アクセストークンの発行を制御し、前記アクセストークンを発行した場合は前記認可開始リクエストを送信した前記クライアントへ発行した前記アクセストークンを送信する発行手段と、
    前記ユーザー端末は、
    前記認可確認リクエストを受信したことに応じて、前記クライアントが前記リソースへアクセスすることを許可するか拒否するかの指示を受け付ける認可確認画面を表示する表示手段と、
    許可された場合は許可されたことを示す認可確認の結果を、拒否された場合は拒否されたことを示す認可確認の結果を前記認可サーバーへ送信する送信手段と、を有することを特徴とするシステム。
  8. ユーザーのリソースを提供するリソースサーバー、前記リソースへアクセスするクライアント、前記クライアントが前記リソースへアクセスすることがユーザーにより許可されたことを示すアクセストークンを発行する認可サーバー、およびユーザー端末とから構成されるシステムにおける前記認可サーバーを制御するプログラムであって、
    1人のユーザーのユーザー識別子に対して複数のユーザー端末の端末情報を関連付けて記憶する記憶ステップと、
    前記クライアントから認可開始リクエストを受信したことに応じて前記認可開始リクエストからユーザー識別子を特定し、特定されたユーザー識別子に関連付けられた端末情報を特定する特定ステップと、
    複数の端末情報が特定された場合、特定された端末情報を基に認可確認リクエストを前記ユーザーが保有する複数のユーザー端末のそれぞれに対して送信し、前記複数のユーザー端末の内の何れか1台から認可確認の結果を受信する確認ステップと、
    前記確認ステップにおいて受信された認可確認の結果に応じて前記アクセストークンの発行を制御し、前記アクセストークンを発行した場合は前記認可開始リクエストを送信した前記クライアントへ発行した前記アクセストークンを送信する発行ステップと、を含むことを特徴とするプログラム。
  9. 前記確認ステップにより前記認可確認リクエストが前記複数のユーザー端末のそれぞれに対して送信されることで、前記複数のユーザー端末のそれぞれのディスプレイに認可確認画面が表示されることを特徴とする請求項8に記載のプログラム。
  10. 前記確認ステップは、前記複数のユーザー端末の内の何れか1台から認可確認の結果を受信したことに応じて、認可確認の結果を送信した1台のユーザー端末を除く前記ユーザーが保有するユーザー端末に対して認可確認の取り下げリクエストを送信することを特徴とする請求項8または9に記載のプログラム。
  11. 前記確認ステップは、認可確認の結果に依らず、認可確認の結果を送信した1台のユーザー端末を除く前記ユーザーが保有するユーザー端末に対して認可確認の取り下げリクエストを送信することを特徴とする請求項10に記載のプログラム。
  12. 前記確認ステップにより前記認可確認の取り下げリクエストが前記ユーザー端末に送信されることで、認可確認の結果を送信した1台のユーザー端末を除く前記ユーザーが保有するユーザー端末のそれぞれのディスプレイに表示されていた認可確認画面の表示が中止されることを特徴とする請求項10または11に記載のプログラム。
  13. 前記特定ステップは、前記認可開始リクエストに含まれる前記クライアントがアクセスする前記リソースの識別情報からユーザー識別子を特定し、その後、特定されたユーザー識別子に関連付けられた端末情報を特定することを特徴とする請求項8乃至12の何れか1項に記載のシステム。
  14. ユーザーのリソースを提供するリソースサーバー、前記リソースへアクセスするクライアント、前記クライアントが前記リソースへアクセスすることがユーザーにより許可されたことを示すアクセストークンを発行する認可サーバー、およびユーザー端末とから構成されるシステムの制御方法であって、
    前記認可サーバーでは、
    1人のユーザーのユーザー識別子に対して複数のユーザー端末の端末情報を関連付けて記憶する記憶ステップと、
    前記クライアントから認可開始リクエストを受信したことに応じて前記認可開始リクエストからユーザー識別子を特定し、特定されたユーザー識別子に関連付けられた端末情報を特定する特定ステップと、
    複数の端末情報が特定された場合、特定された端末情報を基に認可確認リクエストを前記ユーザーが保有する複数のユーザー端末のそれぞれに対して送信し、前記複数のユーザー端末の内の何れか1台から認可確認の結果を受信する確認ステップと、
    前記確認ステップにおいて受信された認可確認の結果に応じて前記アクセストークンの発行を制御し、前記アクセストークンを発行した場合は前記認可開始リクエストを送信した前記クライアントへ発行した前記アクセストークンを送信する発行ステップが実行され、
    前記ユーザー端末では、
    前記認可確認リクエストを受信したことに応じて、前記クライアントが前記リソースへアクセスすることを許可するか拒否するかの指示を受け付ける認可確認画面を表示する表示ステップと、
    許可された場合は許可されたことを示す認可確認の結果を、拒否された場合は拒否されたことを示す認可確認の結果を前記認可サーバーへ送信する送信ステップと、が実行されることを特徴とする制御方法。
JP2019145573A 2019-08-07 2019-08-07 システム、認可サーバー、制御方法、プログラム Active JP7301669B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019145573A JP7301669B2 (ja) 2019-08-07 2019-08-07 システム、認可サーバー、制御方法、プログラム
US16/987,733 US20210044587A1 (en) 2019-08-07 2020-08-07 System, authorization server, control method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019145573A JP7301669B2 (ja) 2019-08-07 2019-08-07 システム、認可サーバー、制御方法、プログラム

Publications (2)

Publication Number Publication Date
JP2021026612A true JP2021026612A (ja) 2021-02-22
JP7301669B2 JP7301669B2 (ja) 2023-07-03

Family

ID=74498111

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019145573A Active JP7301669B2 (ja) 2019-08-07 2019-08-07 システム、認可サーバー、制御方法、プログラム

Country Status (2)

Country Link
US (1) US20210044587A1 (ja)
JP (1) JP7301669B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007188184A (ja) * 2006-01-11 2007-07-26 Fujitsu Ltd アクセス制御プログラム、アクセス制御方法およびアクセス制御装置
JP2016015038A (ja) * 2014-07-02 2016-01-28 キヤノン株式会社 情報処理装置及びその制御方法、プログラム、並びに記憶媒体
JP2017004301A (ja) * 2015-06-11 2017-01-05 キヤノン株式会社 認証サーバーシステム、方法、プログラムおよび記憶媒体

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8024419B2 (en) * 2000-05-12 2011-09-20 Sony Corporation Method and system for remote access of personal music
US8006300B2 (en) * 2006-10-24 2011-08-23 Authernative, Inc. Two-channel challenge-response authentication method in random partial shared secret recognition system
US8868919B2 (en) * 2012-10-23 2014-10-21 Authernative, Inc. Authentication method of field contents based challenge and enumerated pattern of field positions based response in random partial digitized path recognition system
US9298901B1 (en) * 2014-10-08 2016-03-29 International Business Machines Corporation Credential validation using multiple computing devices
US10083160B1 (en) * 2015-03-31 2018-09-25 Amazon Technologies, Inc. Distribution of user-generated annotations associated with digital content
US10305891B2 (en) * 2016-05-12 2019-05-28 Bank Of America Corporation Preventing unauthorized access to secured information systems using multi-device authentication techniques
CN106096343B (zh) * 2016-05-27 2019-09-13 腾讯科技(深圳)有限公司 消息访问控制方法及设备
US11574357B1 (en) * 2019-01-02 2023-02-07 Allstate Insurance Company Onboarding platform for performing dynamic mitigation analysis

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007188184A (ja) * 2006-01-11 2007-07-26 Fujitsu Ltd アクセス制御プログラム、アクセス制御方法およびアクセス制御装置
JP2016015038A (ja) * 2014-07-02 2016-01-28 キヤノン株式会社 情報処理装置及びその制御方法、プログラム、並びに記憶媒体
JP2017004301A (ja) * 2015-06-11 2017-01-05 キヤノン株式会社 認証サーバーシステム、方法、プログラムおよび記憶媒体

Also Published As

Publication number Publication date
US20210044587A1 (en) 2021-02-11
JP7301669B2 (ja) 2023-07-03

Similar Documents

Publication Publication Date Title
US9626137B2 (en) Image forming apparatus, server device, information processing method, and computer-readable storage medium
JP6929181B2 (ja) デバイスと、その制御方法とプログラム
US9043591B2 (en) Image forming apparatus, information processing method, and storage medium
US10574645B2 (en) Authority verification system, authority verification method, and computer-readable storage medium
JP6061633B2 (ja) デバイス装置、制御方法、およびそのプログラム。
US10057208B2 (en) Visibility control for domain name system service discovery
US20140230020A1 (en) Authorization server and client apparatus, server cooperative system, and token management method
CN110138718A (zh) 信息处理系统及其控制方法
JP2014067379A (ja) デバイス装置、その制御方法、およびそのプログラム
US9886222B2 (en) Image forming apparatus that displays button for accessing server, method of controlling the same, and storage medium
JP7096736B2 (ja) システム、及びデータ処理方法
US9077708B2 (en) Information processing system, control method for controlling the information processing system, and storage medium
JP2005259111A (ja) ユーザ情報取扱い装置、ユーザ情報取扱いプログラム及び記録媒体
US11582232B2 (en) Authority transfer system, server and method of controlling the server, and storage medium
US8332642B2 (en) Monitor portal, monitor system, terminal and computer readable medium thereof
JP2007048241A (ja) アクセス制御システム、アクセス制御方法およびアクセス制御プログラム
JP2016009466A (ja) Webサービスシステム、認証認可装置、情報処理装置、情報処理方法及びプログラム
JP2008226148A (ja) 認証システム、中継サーバ、認証方法、およびプログラム
JP7301668B2 (ja) システム、制御方法、プログラム
JP7301669B2 (ja) システム、認可サーバー、制御方法、プログラム
JP2003242119A (ja) ユーザ認証サーバおよびその制御プログラム
JP2021072061A (ja) 権限委譲システム、権限委譲方法、およびプログラム
US10554789B2 (en) Key based authorization for programmatic clients
JP2015118459A (ja) 画像形成装置、情報端末、サーバ装置、データ処理システム、画像形成装置の通信方法、情報端末の通信方法、サーバ装置の通信方法、及びプログラム
JP2021068187A (ja) 権限委譲システム、権限委譲方法、およびプログラム。

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220711

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230510

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230621

R151 Written notification of patent or utility model registration

Ref document number: 7301669

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151