JP2015005222A - 認可サーバーシステムおよびその制御方法、並びにプログラム - Google Patents

認可サーバーシステムおよびその制御方法、並びにプログラム Download PDF

Info

Publication number
JP2015005222A
JP2015005222A JP2013131063A JP2013131063A JP2015005222A JP 2015005222 A JP2015005222 A JP 2015005222A JP 2013131063 A JP2013131063 A JP 2013131063A JP 2013131063 A JP2013131063 A JP 2013131063A JP 2015005222 A JP2015005222 A JP 2015005222A
Authority
JP
Japan
Prior art keywords
authorization
token
client
user
authorization information
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
JP2013131063A
Other languages
English (en)
Other versions
JP6166596B2 (ja
Inventor
小林 真琴
Makoto 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 JP2013131063A priority Critical patent/JP6166596B2/ja
Priority to US14/299,595 priority patent/US9311469B2/en
Publication of JP2015005222A publication Critical patent/JP2015005222A/ja
Application granted granted Critical
Publication of JP6166596B2 publication Critical patent/JP6166596B2/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
    • G06F21/33User authentication using certificates
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/082Access security using revocation of authorisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy

Landscapes

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

Abstract

【課題】OAuthのような認可フローにおいて、アクセストークンの削除をすべきでない場合も存在する。例えば同一認証ドメインにおいて、サービス連携を行うためのトークンを削除できてしまうと、サービス間連携の際に不整合が発生する可能性がある。【解決手段】認証情報の入力を求めることなくサービスの提供を可能とするための認可情報を管理する認可サーバーシステムであって、前記認可情報を管理する管理手段と、前記管理手段にて管理する認可情報を削除するための削除画面の要求を受信したことに応じて、ユーザーの認可操作が行われたことで生成された認可情報を含み、前記ユーザーの認可操作が行われずに生成された認可情報を含まない削除画面を提供する提供手段と、前記削除画面を介して削除の指示を受信したことに応じて、前記管理手段にて管理された認可情報を削除する削除手段とを有する。【選択図】 図3

Description

本願発明は、認可サーバーシステムおよびその制御方法、並びにプログラムに関する。特に複数のサービスが連携する場合におけるアクセストークンの削除方法に関する。
近年、インターネット上で提供される複数のサービスが連携することで更なる付加価値をユーザーに提供できるようになってきている。その一方で、複数のサービスが連携することにより、いくつかの課題が生じている。例えば、ユーザーが望んだ以上の情報がサービス間で交換されることにより、ユーザーデータや個人情報の漏えいリスクがある。一方、サービスの提供者からすると、サービス連携の仕組みは容易に実装できるものが好ましい。
このような状況において、OAuthと呼ばれる、認可の連携を実現させるための標準プロトコルが策定されている(非特許文献1参照)。OAuthによれば、例えばあるサービスAが管理するユーザーのデータに、そのユーザーから許可された外部サービスBがアクセスすることができる。このときサービスAは、外部サービスBからアクセスされる範囲を明らかにした上で、外部サービスBによるアクセスに対してユーザーの明示的な認可を得る。ユーザーが明示的に認可を行うことを「認可操作」と称する。
ユーザーが認可操作を行うと、外部サービスBはサービスAからアクセスを認められたことを証明するトークン(以下、「認可トークン」と称する)を受け取る。その認可トークンを用いることで、ユーザーの認証情報なしに、認可を行ったユーザーの権限で以降のアクセスを実現できる。そのため、ユーザーから認可を受けたことにより認可トークンを取得した外部サービスBは、その認可トークンを厳重かつ適正に管理する責務を負う。
OAuth 2.0では、ユーザーがアクセストークンを無効化できる事が前提になっている(非特許文献2参照)。トークンリボケーションは、OAuth 2.0で定義されている各種トークン無効化のためのプロトコルの仕様である。これは、クライアント側からOAuth 2.0に基づいて発行されたアクセストークンやリフレッシュトークンを無効化するためのリクエスト/レスポンスの定義がなされている。例えば、認可サーバーの実装に応じて、Authorization Code Grantに紐づくセッションなどを一緒に切断するといった定義も可能である。本仕様は、例えばサービス連係解除時/ログアウト時/サービス退会時などにクライアントから各種トークンを無効化する、といったユースケースで使用されることを想定している。
E. Hammer−Lahav、"The OAuth 1.0 Protocol"、[online]、2010年4月、IETF、[平成25年6月6日検索]、インターネット<URL:http://tools.ietf.org/html/rfc5849> D. Hardt、"The OAuth 2.0 Authorization Framework"、[online]、2012年10月、IETF、[平成25年6月6日検索]、インターネット<URL:http://tools.ietf.org/html/rfc6749>
一方、OAuthのような認可フローにおいて、アクセストークンの削除をすべきでない場合も存在する。例えばある認可フローで、同一認証ドメイン内でのサービス間連携のときに使用するトークンを、ユーザーの確認なしに生成した場合が該当する。ここでの同一認証ドメインとは、認証、認可機能を有するサーバーと、帳票サービスや印刷サービスなどを提供するクライアントアプリケーションサーバーとが同一のLANなどに接続され、各サービス間で情報漏洩などの問題が起きにくい構成のドメインを指す。同一認証ドメインにおいて、サービス間連携を行うためのトークンが削除できてしまうと、連携の際にデータ不整合が発生する可能性がある。例えば帳票サービスと印刷サービスとが連携している場合に印刷サービスへのアクセストークンのみ無効化されてしまうと、ユーザーは、帳票は作成できるが印刷が不可能になる、といった問題が生じる。
本願発明は上記課題を解決するために、以下の構成を有する。すなわち、認証情報の入力を求めることなくサービスの提供を可能とするための認可情報を管理する認可サーバーシステムであって、前記認可情報を管理する管理手段と、前記管理手段にて管理する認可情報を削除するための削除画面の要求を受信したことに応じて、ユーザーの認可操作が行われたことで生成された認可情報を含み、前記ユーザーの認可操作が行われずに生成された認可情報を含まない削除画面を提供する提供手段と、前記削除画面を介して削除の指示を受信したことに応じて、前記管理手段にて管理された認可情報を削除する削除手段と、
を有する。
本願発明により、同一認証ドメイン内で用いられるアクセストークンの削除を制限し、サービス間連携の際にデータ不整合が発生することを防止することができる。
システム構成例を示す図。 各装置のハードウェア構成例を示す図。 同一認証ドメイン内において認証トークンを用いて、リソースサービスを利用する場合の認可フローのシーケンスを示す図。 各装置のモジュール構成の例を示す図。 異なる認証ドメイン間において認可コードを用いて、リソースサービスを利用する場合の認可フローのシーケンスを示す図。 クライアント表示/非表示、クライアント連携解除可/不可の関係を示す図。 リボケーション選択画面の表示に係る処理のフローチャート。 リボケーション実行画面の表示に係る処理のフローチャート。 トークンリボケーションWebアプリケーションのGUIの例を示す図。 認可サーバーが有する各種管理テーブルの構成例を示す図。 ログイン画面の構成例を示す図。 各種画面の構成例を示す図。 クライアントアプリケーションサーバー300が有する各種管理テーブルの構成例を示す図。 クライアントアプリケーションサーバー350が有する各種管理テーブルの構成例を示す図。 第二の実施形態に係るシステム構成例を示す図。 第二の実施形態に係る認可トークン管理テーブルの構成例を示す図。
<第一の実施形態>
以下、本発明を実施するための形態について図面を用いて説明する。
本実施形態では、帳票データを生成する帳票サービスと、データを取得して印刷する印刷サービスが、インターネット上のサーバーに設置されていることを前提として説明する。以降、帳票サービスや印刷サービスのように、インターネット上で機能を提供しているサービスを、「リソースサービス」と呼ぶ。
また、本実施形態では、画像形成装置等にインストールされた印刷アプリケーションおよび帳票アプリケーションがリソースサービスを利用することを前提として説明する。以降、印刷アプリケーションや帳票アプリケーションのように、リソースサービスを利用するアプリケーションを、「リソースサービス連携アプリケーション」と呼ぶ。無論、リソースサービスは帳票サービス、印刷サービスには限られず、アプリケーションも帳票アプリケーション、印刷アプリケーションに限られるものではない。
さらに本実施形態における権限の委譲ではOAuthの仕組みを利用する。OAuthでは、ユーザーから委譲された権限の証明するための情報として、「トークン」と呼ばれる認可情報を利用する。
また、本実施形態では、複数の認証ドメイン(セキュリティドメイン)が存在するものとする。また、同一の認証ドメインに属する装置もしくはサービス間でデータ通信を行う場合と、異なる認証ドメインに属する装置もしくはサービス間でデータ通信を行う場合とでは、トークンの発行およびリソースサービスの利用の流れが異なる。詳細については後述する。
[同一認証ドメイン内にて、認証トークンを用いてリソースサービスを利用する場合]
まずは、同一の認証ドメインに属する装置もしくはサービス間で、認証トークンを用いてリソースサービスを利用する場合の構成について説明する。
[システム構成]
図1に、本実施形態に係る認可システムの構成例を示す。まず、同一の認証ドメインにおいて、認証トークンを用いてリソースサービスを利用する場合について説明する。WAN(Wide Area Network)100は、WWW(World Wide Web)システムが構築されたネットワークである。LAN(Local Area Network)101、102は、各構成要素を接続するネットワークである。
認可サーバーシステムである認可サーバー500は、OAuthに対応し、認可サービスモジュールが設置される。クライアントアプリケーションサーバー300は、OAuthにおけるクライアントを実現するクライアントアプリケーションサーバーである。本実施形態ではクライアントアプリケーションサーバー300に、リソースサービス連携アプリケーションとして、リソースサービスと連携可能なクライアントアプリケーションが設置される。ここでのクライアントアプリケーションは、印刷アプリケーションや帳票アプリケーションである。ユーザーは、クライアントアプリケーションを用いてリソースサービスを利用する。なお一台のクライアントアプリケーションサーバーに設置されるクライアントアプリケーションは1つでもよく、複数でもよい。
リソースサーバー400には、印刷サービスや帳票サービスなどのリソースサービスを提供するアプリケーションが設置される。なお1台のリソースサーバーに設置されるリソースサービスは1つでもよく、複数でもよい。クライアントPC200は、ユーザーが操作する情報処理装置である。ユーザーは、クライアントPC200が備えるWebブラウザ210を用いてクライアントアプリケーションサーバー300にアクセスし、リソースサーバー400が提供するリソースを用いて印刷サービスや帳票サービスなどのサービスを利用する。本実施形態の特徴として、クライアントアプリケーションサーバー300およびリソースサーバー400が、認可サーバー500と同一のLAN101に接続されていることが挙げられる。つまり、クライアントアプリケーションサーバー300、リソースサーバー400、および認可サーバー500は、WAN100を介さずに互いに接続されている。このため、本実施形態においてはこれらを同一認証ドメインに属するとみなし、クライアントアプリケーションサーバー300とリソースサーバー400との間のサービス連携を、同一の認証で賄うことを特徴とする。
また、クライアントPC200と、クライアントアプリケーションサーバー300およびリソースサーバー400とは、WAN100およびLAN101、102を介して接続される。なおクライアントPC200および各サーバーは、それぞれ個別のLAN上に構成されていてもよいし、同一のLAN上に構成されていてもよい。また同一のPC上に構成されていてもよい。
[ハードウェア構成]
図2は、本実施形態に係るクライアントPC200の構成を示す図である。また、クライアントアプリケーションサーバー300、クライアントアプリケーションサーバー350、リソースサーバー400のハードウェア構成も同様であるものとして説明する。尚、図2に示されるハードウェアブロック図は一般的な情報処理装置のハードウェアブロック図に相当し、本実施形態のクライアントPC200および各サーバー装置には一般的な情報処理装置のハードウェア構成を適用できる。
図2において、CPU201は、記憶部であるROM203のプログラム用ROMに記憶された、或いはハードディスク211からRAM202にロードされたOS(Operating System)やアプリケーション等のプログラムを実行する。後述する各フローチャートの処理は、CPU201によるプログラムの実行により実現できる。RAM202は、CPU201の主メモリ、ワークエリア等の記憶部として機能する。キーボードコントローラ(KBC)205は、キーボード(KB)209やポインティングデバイス(不図示)からのキー入力を制御する。CRTコントローラ(CRTC)206は、CRTディスプレイ213の表示を制御する。ディスクコントローラ(DKC)207は各種データを記憶するハードディスク(HD)211やフロッピー(登録商標)ディスク(FD)等におけるデータアクセスを制御する。NC212はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
尚、後述の説明においては、特に断りのない限り実行のハード上の主体はCPU201であり、ソフトウェア上の主体はハードディスク(HD)211にインストールされたアプリケーションプログラムである。
[モジュール構成]
図4は、本実施形態に係る図1に示した、認可サーバー500、リソースサーバー400、クライアントPC200、およびクライアントアプリケーションサーバー300それぞれのモジュール構成の例を示す。認可サーバー500は、認可サーバーモジュール510を有する。
リソースサーバー400は、リソースサーバーモジュール410を有する。クライアントPC200において、CPU201がROM203、或いは外部メモリ204に記憶されたOS220を実行することで各アプリケーションを制御する。OS220は、一般的にはリアルタイムOSが使用されるが、Linux(登録商標)等の汎用OSが使用されてもよい。さらに、クライアントPC200はWWWを利用するためのユーザーエージェントであるWebブラウザ210を備える。
クライアントアプリケーションサーバー300は、クライアントアプリケーションサーバーモジュール310、およびトークンリボケーションWebアプリケーション320を備える。クライアントアプリケーションサーバーモジュール310は、認可サーバー500およびリソースサーバー400と通信し、アクセストークンの取得、リソース要求などを行う。トークンリボケーションWebアプリケーション320は、クライアントPC200からトークンリボケーション要求を受信する。更にトークンリボケーションWebアプリケーション320は、認可サーバー500から、リボケーション対象のトークンを有する連携クライアント一覧の取得を行い、表示を行う機能を備える。また、トークンリボケーションWebアプリケーション320は、連携クライアント一覧からリボケーション対象のトークンを有するクライアントの選択、認可サーバー500に対するリボケーション実行依頼、リボケーション結果の表示を行う機能を有する。
[テーブル構成]
図10は、認可サーバー500が外部メモリに記憶する管理テーブルの構成例を示す。なお、各管理テーブルは、認可サーバー500の外部メモリではなく、LAN101を介して通信可能に構成された別の記憶領域に記憶するようにしてもよい。
図10(a)は、ユーザー管理テーブル1401の構成例を示す。ユーザー管理テーブル1401は、ユーザーID1402、パスワード1403、およびユーザー種別1404を含む。ユーザーID1402はユーザーを一意に識別するための識別情報である。認可サーバー500は、ユーザーID1402およびパスワード1403の組を検証し、その組み合わせが正しければ認証情報を生成することで、各ユーザーもしくはクライアントを認証する機能を有する。本実施形態に係る認証情報の詳細は後述する。
図10(b)は、クライアント管理テーブル1405の構成例を示す。クライアント管理テーブル1405は、クライアントID1406、クライアント名1407、リダイレクトURL1408、およびシリアル番号1409を含む。クライアントID1406は、クライアントを一意に識別するための識別情報である。なお、クライアントID1406は、ユーザー管理テーブル1401のユーザーID1402と関連付いており、互いに参照可能となっている。クライアント名1407およびリダイレクトURL1408は、後述のOAuthのシーケンスで利用される。
図10(c)は、トークン管理テーブル1410の構成例を示す。トークン管理テーブル1410は、トークンID1411、トークン種別1412、有効期限1413、スコープ1414、リフレッシュトークンID1415、リフレッシュ期限1416、クライアントID1417、ユーザーID1418、アプリケーションID1419、およびGrantType1420を含む。トークン管理テーブル1410の処理詳細については後述する。
図13は、クライアントアプリケーションサーバー300が外部メモリに記憶する管理テーブルの構成例を示す。また、本実施形態ではクライアントアプリケーションサーバー300の外部メモリに記憶する構成としているが、クライアントアプリケーションサーバー300がLAN101を介して通信可能な別の記憶領域に記憶するようにしてもよい。
図13(a)は、クライアント管理テーブル1700の構成例を示す。クライアント管理テーブル1700は、クライアントPC200のみから参照、更新可能なように構成される。クライアント管理テーブル1700は、クライアントID1701、クライアントシークレット1702、エンドポイントURL1703、およびリダイレクトURL1704を含む。ここで、クライアントID1701およびクライアントシークレット1702は、予め認可サーバー500にて発行され記憶されたユーザーID1402およびパスワード1403にそれぞれ対応している。さらに、リダイレクトURL1704も、認可サーバー500のクライアント管理テーブル1405に、クライアントID1406およびクライアント名1407に対応付けて登録されている情報(リダイレクトURL1408)と同様のデータが格納される。これら情報の登録方法としては、例えば、クライアントPC200がLAN101、WAN100を介してオンラインで登録する方法や、ユーザーを介して認可サーバー500にて値を設定する方法でも良い。なお、エンドポイントURL1703は、認可サーバー500が公開するOAuthのためのエンドポイントのURL(Uniform Resource Locator)である。
図13(b)は、トークン管理テーブル1705の構成例を示す。トークン管理テーブル1705は、クライアントアプリケーションサーバー300からのみ参照、更新可能なように構成される。トークン管理テーブル1705は、ユーザーID1706、トークンID1707、およびリフレッシュトークンID1708を含む。トークン管理テーブル1705の処理詳細については後述する。
[認可フローに係るシーケンス]
ここで、リソースサービス連携アプリケーションを用いてリソースサービスを利用するための、本実施形態に係る認可フローを表すシーケンスについて、図3を用いて説明する。OAuth 2.0の仕様では、多様なクライアントに応じた複数のプロトコルシーケンスを“grant type”と呼ぶ。図3の認可フローは、本実施形態に係る独自のgrant typeである。
まず、保護されたリソースへのアクセスが必要になるユーザーからの認可連携サービス開始要求が発生する(S3.1)。本サービス要求は、ユーザー(リソースオーナー3000)が、クライアントアプリケーションサーバー300に対し、リソースオーナー3000が操作するクライアントPC200のWebブラウザ210(ユーザーエージェント)を介してHTTPを用いて行う。具体的には、リソースオーナー3000は、クライアントPC200を操作してクライアントアプリケーションサーバー300のアプリケーション画面(不図示)にアクセスする(S3.1)。このアプリケーション画面は、例えば、クライアントアプリケーションサーバー300のリソース連携アプリケーションが印刷アプリケーションである場合には、印刷する文書を選択する画面である。また、帳票アプリケーションである場合には、アプリケーション画面は、作成する帳票を選択する画面である。ここでアプリケーション画面にアクセスするとは、例えば、クライアントPC200のWebブラウザ210上にアプリケーション画面が選択可能に表示されており、任意のアプリケーションを選択する事を指す。アプリケーションを選択することに応じて、リソースオーナー3000はクライアントアプリケーションサーバー300に対して認可連携サービス開始要求を送信する(S3.1)。
次に、クライアントアプリケーションサーバー300は、認可連携サービス開始要求を受け付けた場合、自らが保持する認可サーバー500の認証エンドポイントのURLに対して、OAuthの認可リクエストをするように、リダイレクト要求を行う(S3.2)。ここでのリダイレクト要求は、クライアントPC200のブラウザにHTTP/1.1 ステータスコード“302”を用いて行われる。本リダイレクト要求のHTTP Locationヘッダーにはクライアントアプリケーションサーバー300のID、認可フローのタイプ、および認可サーバー500の認証エンドポイントのURLが含まれる。具体的には、以下のようなリダイレクト要求となる。
https://auth.a01.c−xxx.com/CAUTH/Idps.aspx?LOCALE=ja_JP
HTTPメソッド: GET
Content−Type: application/x−www−form−urlencoded
リクエストパラメーターには、response_typeとして、固定文字列「code」が設定される。また、client_idとして、認可サーバー500に予めクライアントアプリケーションとして登録したクライアントアプリケーションサーバー300のアプリケーションIDが設定される。更に、redirect_uriとして、予め認可サーバー500に登録したクライアントアプリケーションサーバー300のURLが指定される。また、OAuthでは、認可を受けたい権限範囲を示すスコープを認可リクエストに含むよう構成する事もできる。本実施形態では、スコープとして「リソースA」がリクエストされたとして説明する。
次に、クライアントPC200は、受信したリダイレクト要求に従い認可サーバー500に対してユーザー認証、認可の要求を行う(S3.3)。認可サーバー500は、認可リクエストを受け付けた後、ユーザーを認証するために図11に示すログイン画面1501をクライアントPC200のWebブラウザ210に表示させる(S3.4)。リソースオーナー3000は、クライアントPC200のWebブラウザ210に示されたログイン画面1501に対して、ユーザーIDおよびパスワードを入力し、ログインを実行する(S3.5)。
認可サーバー500は、受け付けたユーザーIDおよびパスワードの組がユーザー管理テーブル1401に登録されている情報と一致するかを検証し、一致する場合にはユーザーIDと紐づいた認証情報を生成する。生成された認証情報は、トークン管理テーブル1410に格納される。具体的には、認証情報としてトークンID「AH_000000」がトークンID1411に格納される。またトークン種別として文字列「認証トークン」がトークン種別1412に格納される。
また認可サーバー500は、予め定められた認証トークンの有効期限を有効期限1413に格納する。またリクエストパラメーターに含まれるスコープ情報(ここでは「リソースA」)がスコープ1414に格納される。またログイン時に入力されたユーザーIDがユーザーID1418に格納される。またgrant typeとして文字列「AuthnToken」がGrantType1420に格納される。認可サーバー500は、トークン管理テーブル1410へ認証情報を格納して次の処理に進む。
認可サーバー500は、本セッションに対して一意となるトークンID(以下、「認証トークン」と呼ぶ)をクライアントPC200のWebブラウザ210に対してCookie情報として格納する。そして、認可サーバー500は、S3.2のリダイレクト要求に含まれたクライアントアプリケーションサーバー300のURLに対するリダイレクト要求を返す(S3.6)。
クライアントPC200のWebブラウザ210は、認可サーバー500からリダイレクト要求を受け取った後、認証トークンをリクエストパラメーターに含め、リダイレクト先に指定されたクライアントアプリケーションサーバー300に認可応答としてリダイレクトする(S3.7)。
クライアントアプリケーションサーバー300は、クライアントPC200から認可応答を受けた後、認可サーバー500に対してトークン要求を行う(S3.8)。このトークン要求には、認可応答で取得した認証トークン、クライアント管理テーブル1700のクライアントID1701、クライアントシークレット1702、およびリダイレクトURL1704が含まれる。
認可サーバー500は、クライアントアプリケーションサーバー300からトークン要求を受けた後、トークン管理テーブル1410のトークンID1411に、トークン要求に含まれる認証トークンが含まれるか否かを検証する。認証トークンがトークン管理テーブル1410に含まれている場合、認可サーバー500は、リソースサーバー400へのアクセスを可能にするアクセストークンを生成する(S3.9)。
生成したアクセストークンは、トークン管理テーブル1410に登録される。すなわち、トークンID「AT_000001」がトークンID1411に格納される。また、トークン種別として文字列「アクセストークン」がトークン種別1412に格納される。また、認可サーバー500で予め定められたアクセストークンの有効期限が有効期限1413に格納される。またトークン管理テーブル1410に登録済みの認証トークンのレコードに含まれるスコープ情報と同様の値がスコープ1414に登録される。登録済みの認証トークンに対応するユーザーIDがユーザーID1418に登録される。grant typeとして文字列「AuthnToken」がGrantType1420に格納される。
このように、認可サーバー500は、クライアントアプリケーションサーバー300から認証トークンを受け取ると、ユーザーに対する明示的な認可確認を行わない。その一方で、認可サーバー500は、リソースサーバー400へのリソースアクセスを可能にするアクセストークン(トークンID「AT_000001」)を発行する。これはクライアントアプリケーションサーバー300、リソースサーバー400、および認可サーバー500が、WAN100を介さずに、同一認証ドメイン内で接続されているためである。なお、本実施形態においては、LAN101内の範囲を同一認証ドメインとみなす。
認可サーバー500は、アクセストークン生成およびトークン管理テーブル1410へのトークン情報の確認後、トークンID「AT_000001」およびスコープ「リソースA」をパラメーターに含めてクライアントアプリケーションサーバー300に応答する(S3.10)。
クライアントアプリケーションサーバー300は、S3.10においてトークンID「AT_000001」およびスコープ「リソースA」を認可サーバー500から受信する。そして、クライアントアプリケーションサーバー300は、リソースサーバー400に対してトークンID「AT_000001」およびスコープ「リソースA」をリクエストパラメーターに含め、リソースアクセス要求を行う(S3.11)。
リソースサーバー400は、トークンID「AT_000001」およびスコープ「リソースA」を取得後、その情報を元に要求を受け付けたリソースに対するアクセスを許可するか否かを判定する。ここでは、リソースサーバー400に予めアクセス可能なアプリケーションIDが設定されているものとする。リソースサーバー400は、その設定されているアプリケーションIDと、トークンID「AT_000001」に基づいて取得されたアプリケーションIDとを比較することでアクセスを許可するかを検証する。本検証は、リソースサーバー400が、トークンID「AT_000001」およびスコープ「リソースA」を引数にして認可サーバー500からトークン情報を取得することで行われる。認可サーバー500は、取得したアクセストークンの有効期間が切れていないこと、および要求されているスコープがスコープ範囲内であることを検証し、その結果を返す。
検証によりアクセス許可と判定された場合、リソースサーバー400は、クライアントアプリケーションサーバー300に対して、リソースを応答する(S3.12)。ここでのリソースは、例えば、リソースサーバー400が印刷サービスである場合は印刷可能な文書のリストであり、帳票サービスである場合は作成可能な帳票のリストである。
S3.11〜S3.12において、トークンの検証を認可サーバー500およびリソースサーバー400それぞれで行うよう説明した。しかし、リソースに対するアクセス可能なアプリケーションを認可サーバー500で管理し、全ての検証を認可サーバー500で行うように構成してもよい。また、本実施形態ではアクセス可能なアプリケーションの判定を、アプリケーションIDを用いて実施するよう説明した。しかし、トークン情報から取得できるシリアル番号やクライアントIDを元にクライアントアプリケーションサーバー300を識別し、アクセスの可否を判定するように構成してもよい。また、同様に、トークン情報から取得できるスコープやユーザーIDを元にアクセスの可否を判定するように構成してもよい。
リソース応答を受け付けたクライアントアプリケーションサーバー300は、受信したデータに基づいて前述のアプリケーション画面を構成し、リソースオーナー3000に応答する(S3.13)。
[他認証ドメイン間において、認可コードを用いてリソースサービスを利用する場合]
続いて、異なる認証ドメインに属する装置もしくはサービス間で、認可コードを用いてリソースサービスを利用する場合の構成について説明する。
[システム構成]
図1を用いて、更に他認証ドメイン間において認可コードを用いてリソースサービス利用する場合の構成例について説明する。
図1において、LAN103には、クライアントアプリケーションサーバー350が接続され、更にWAN100に接続されている。
クライアントアプリケーションサーバー350は、OAuthにおけるクライアントを実現する。本実施形態では、クライアントアプリケーションサーバー350には、リソースサービス連携アプリケーションとして、リソースサービスと連携するクライアントアプリケーションが設置される。ここでのクライアントアプリケーションは、印刷アプリケーションおよび帳票アプリケーションである。ユーザーは、リソースサービス連携アプリケーションを用いてリソースサービスを利用する。ユーザーは、Webブラウザ210を用いてクライアントアプリケーションサーバー350のクライアントアプリケーションにアクセスする。そして、ユーザーは、リソースサーバー400のリソースサービスが提供するリソースを用いて印刷サービスや帳票サービスといったサービスを利用する。
本実施形態の特徴として、クライアントアプリケーションサーバー350は、リソースサーバー400が、認可サーバー500と異なるLAN103に接続されていることが挙げられる。クライアントアプリケーションサーバー350は、リソースサーバー400、認可サーバー500とWAN100を介して接続されている。本実施形態では、これらが異なる認証ドメインに属するとみなし、クライアントアプリケーションサーバー350とリソースサーバー400との間のサービス連携を、通常のOAuthプロトコルのAuthorization Code grant typeを用いて行う。
その他のシステム構成の例として、クライアントアプリケーションサーバー350が、認可サーバー500と同じLAN101に存在し、リソースサーバー400がLAN103に存在する構成にしてもよい。この場合、リソースサーバー400が認可サーバー500とWAN100を介して通信することとなる。また、クライアントPC200、クライアントアプリケーションサーバー350、リソースサーバー400はそれぞれ、WAN100およびLAN101、102を介して接続されている。
[テーブル構成]
図14は、クライアントアプリケーションサーバー350が外部メモリに記憶する管理テーブルの構成例を示す。なお、本実施形態では、各管理テーブルは、クライアントアプリケーションサーバー350の外部メモリに記憶する構成としているが、LAN103を介して通信可能な別の記憶領域にて記憶されるように構成してもよい。
図14(a)は、クライアント管理テーブル1800の構成例を示す。クライアント管理テーブル1800は、クライアントPC200のみから参照、更新可能なように構成されている。クライアント管理テーブル1800は、クライアントID1801、クライアントシークレット1802、エンドポイントURL1803、およびリダイレクトURL1804を含む。ここで、クライアントID1801およびクライアントシークレット1802は、予め認可サーバー500にて発行され記憶されたユーザーID1402およびパスワード1403にそれぞれ対応している。さらに、リダイレクトURL1804は、認可サーバー500のクライアント管理テーブル1405にクライアントID1406およびクライアント名1407と共に登録されている情報(リダイレクトURL1408)と同様のデータが格納される。これら情報の登録方法としては、例えば、クライアントPC200がオンラインで登録する方法でも良いし、認可サーバー500にて値を設定する方法でも良い。エンドポイントURL1803は、認可サーバー500が公開するOAuthのためのエンドポイントのURLである。
図14(b)は、親トークン管理テーブル1805の構成例を示す。親トークン管理テーブル1805は、クライアントアプリケーションサーバー350からのみ参照、更新可能なよう構成されている。親トークン管理テーブル1805は、ユーザーID1806、トークンID1807、およびリフレッシュトークンID1808を含む。親トークン管理テーブル1805の処理詳細については後述する。
[処理シーケンス]
リソースサービス連携アプリケーションを用いてリソースサービスを利用するための、本実施形態に係る認可フローを表すシーケンスについて、図5を用いて説明する。上述したように、OAuth 2.0の仕様では、多様なクライアントに応じた複数のプロトコルシーケンスを“grant type”と呼ぶ。図5の認可フローは、図3の認可フローとは異なり、OAuth 2.0のAuthorization code grant typeである。
まず、リソースサービスが提供する保護されたリソースへのアクセスが必要になるユーザーから、認可連携サービス開始要求が発生する(S5.1)。本サービス要求は、ユーザー(リソースオーナー3000)がクライアントアプリケーションサーバー350に対し、クライアントPC200のWebブラウザ210を介してHTTPを用いて行う。具体的には、リソースオーナー3000はクライアントPC200を操作してクライアントアプリケーションサーバー350のアプリケーション画面(不図示)にアクセスする(S5.1)。
アプリケーション画面については図3と同様である。ここでアプリケーション画面にアクセスするとは、例えば、Webブラウザ210上にアプリケーション画面が選択可能に表示されており、アプリケーションを選択する事を指す。アプリケーションを選択することにより、リソースオーナー3000はクライアントアプリケーションサーバー350に対して認可連携サービス開始要求を送信する(S5.1)。
次に、クライアントアプリケーションサーバー350は、認可連携サービス開始要求を受け付けた場合、自らが保持する認可サーバー500の認証エンドポイントのURLに対して、OAuthの認可リクエストをするようにリダイレクト要求を行う(S5.2)。ここでのリダイレクト要求は、クライアントPC200のブラウザにHTTP/1.1 ステータスコード“302”を用いて行われる。リダイレクト要求のHTTP Locationヘッダーには、クライアントアプリケーションサーバー350のID、認可フローのタイプ、および認可サーバー500の認証エンドポイントのURLが含まれる。具体的には、以下のようなリダイレクト要求となる。
https://auth.a01.c−xxx.com/CAUTH/Idps.aspx?LOCALE=ja_JP
HTTPメソッド: GET
Content−Type: application/x−www−form−urlencoded
リクエストパラメーターには、response_typeとして固定文字列「code」が設定される。また、client_idとして予めクライアントアプリケーションとして認可サーバー500に登録したクライアントアプリケーションサーバー350のアプリケーションIDが設定される。更に、redirect_uriとして予めクライアントアプリケーションとして認可サーバー500に登録したクライアントアプリケーションサーバー350のURLが指定される。また、OAuthでは、認可を受けたい権限範囲を示すスコープを認可リクエストに含むよう構成する事もできる。本実施形態では、スコープとして「リソースA」がリクエストされたとして説明する。
次に、クライアントPC200は、受信したリダイレクト要求に従い、認可サーバー500に対してユーザー認証、認可の要求を行う(S5.3)。認可サーバー500は、認可リクエストを受け付けた後、ユーザーを認証するために図12(a)に示すログイン画面1602をクライアントPC200のWebブラウザ210に表示させる(S5.4)。リソースオーナー3000は、Webブラウザ210に示されたログイン画面1602に対して、ユーザーIDおよびパスワードを入力しログインを実行する(S5.5)。
認可サーバー500は、受け付けたユーザーIDおよびパスワードの組がユーザー管理テーブル1401に登録されている情報に一致するか否かを検証する。検証の結果、一致している場合、認可サーバー500は、ユーザーIDと紐づいた認証情報を生成する。生成した認証情報は、トークン管理テーブル1410に格納される。すなわち、認証情報としてトークンID「AH_000002」がトークンID1411に格納される。またトークン種別として文字列「認証トークン」がトークン種別1412に格納される。また認可サーバー500で予め定められた認証トークンの有効期限が有効期限1413に格納される。またリクエストパラメーターに含まれるスコープ情報(ここでは「リソースA」)がスコープ1414に格納される。またログイン時に入力されたユーザーIDがユーザーID1418に格納される。またgrant typeとして文字列「AuthnToken」がGrantType1420に格納される。トークン管理テーブル1410へ認証情報が格納された後、次の処理が実行される。
認可サーバー500は、認可リクエストに含まれているクライアントIDおよびリダイレクトURLの組が、クライアント管理テーブル1405に登録されている情報に一致しているか否かを検証する。検証の結果、一致している場合は、認可サーバー500は、クライアント管理テーブル1405のクライアント名1407を取得し、図12(b)に示す認可確認画面1603を生成して、クライアントPC200のWebブラウザ210に表示させる(S5.6)。その際、認可サーバー500は、認証情報をWebブラウザ210に対してCookie情報として格納して応答する。なお、本実施形態では、認可確認画面1603にクライアント名1407をアクセス元として表示している。しかしこの画面構成に限定するものではなく、例えば、クライアントの詳細な説明を追加して表示する構成や、ログインしているユーザーの情報を表示するような構成であってもよい。また認可リクエストにスコープ情報を含む場合は、スコープの範囲を説明する情報を認可確認画面1603に表示するような構成であってもよい。
次に、リソースオーナー3000は、Webブラウザ210に表示された認可確認画面1603で許可を実行する(S5.7)。例えば、ユーザーは、認可確認画面1603のボタン1604を押下することで許可を指示することができる。認可サーバー500は、許可の指示を受けた後、次の処理を実行する。認可サーバー500は、トークン管理テーブル1410に認可コードを発行し、登録する。その際、発行したトークンのトークンID「AT_000003」がトークンID1411に登録され、文字列「認可コード」がトークン種別1412に登録される。更に、予め定義された有効期限の値が有効期限1413に登録される。また、認可リクエスト時に受け付けたクライアントIDがクライアントID1417に登録される。ブラウザ900からCookie情報として送信された認証情報に紐づくユーザーIDがユーザーID1418に登録される。そして、認可サーバー500は、認可応答として、認可コードのトークンID「AT_000003」を付与したリダイレクトURLへ、Webブラウザ210をリダイレクトするように要求する(S5.8、S5.9)。
クライアントアプリケーションサーバー350は、認可応答を受けた後、認可サーバー500に対してアクセストークン要求を行う(S5.10)。アクセストークン要求には、認可応答で取得した認可コードのトークンID「AT_000003」、クライアント管理テーブル1800のクライアントID1801、クライアントシークレット1802、およびリダイレクトURL1804が含まれる。
認可サーバー500は、アクセストークン要求を受けた後、以下の検証を行い、検証結果が正しい場合はアクセストークンを生成する(S5.11)。認可サーバー500は、アクセストークン要求で受けつけたクライアントIDおよびクライアントシークレットの組が、ユーザー管理テーブル1401に登録されているユーザーID1402およびパスワード1403の組に一致しているか否かを検証する。次に、認可サーバー500は、アクセストークン要求にて受けつけた認可コードのトークンID「AH_000003」が、トークン管理テーブル1410に登録されているか、および、設定された有効期限が有効期限内かを検証する。そして、認可サーバー500は、アクセストークン要求で受けつけたクライアントIDおよびリダイレクトURLがそれぞれ、トークン管理テーブル1410のトークンID1411で特定されるクライアントID1417およびクライアント管理テーブル1405のリダイレクトURL1408と一致しているかを検証する。なお、リダイレクトURL1408は、クライアント管理テーブル1405ではなく、トークン管理テーブル1410にカラムを追加する構成とし、認可コードの発行時に登録して追加カラムと検証されるような構成であってもよい。
これらすべての検証が正しい場合、認可サーバー500は、アクセストークンを生成する。生成したアクセストークンは、トークン管理テーブル1410に登録される。すなわち、トークンID「AT_000004」がトークンID1411に格納される。またトークン種別として文字列「アクセストークン」がトークン種別1412に格納される。また認可サーバー500で予め定められたアクセストークンの有効期限が有効期限1413に格納される。またトークンテーブルに登録済みの認証トークンのレコードに含まれるスコープ情報(ここでは「リソースA」)がスコープ1414に格納される。さらに、ユーザーIDがユーザーID1418に格納され、grant typeとして文字列「AuthzCode」がGrantType1420に格納される。
認可サーバー500は、アクセストークン生成、およびトークン管理テーブル1410へのアクセストークン情報の確認が終了した後、トークンID「AT_000004」およびスコープ「リソースA」をパラメーターに含めてクライアントアプリケーションサーバー350に応答する。この際、応答内容には、同時に発行したリフレッシュトークンIDも含まれる(S5.12)。アクセストークンとして、発行したトークンのトークンIDがトークンID1411に、文字列「アクセストークン」がトークン種別1412に、有効期限1413が登録される。さらに、認可コード(ここではトークンID「AT_000003」)から引き継ぐ情報として、クライアントID1417およびユーザーID1418が登録される。この際、アクセストークンをリフレッシュするためのリフレッシュトークンが発行され、リフレッシュトークンID1415およびリフレッシュ期限1416にその情報が登録される。
クライアントアプリケーションサーバー350は、アクセストークンのトークンIDおよびリフレッシュトークンIDを取得した後、トークン管理テーブル1410に、アクセストークンのトークンIDおよびリフレッシュトークンIDを保存する。そして、認可サーバー500は、認可連携完了の旨を示す画面(不図示)をクライアントPC200のWebブラウザ210に表示させる。
クライアントアプリケーションサーバー350は、S5.12においてトークンID「AT_000004」およびスコープ「リソースA」を受け取る。そして、クライアントアプリケーションサーバー350は、リソースサーバー400に対してこれらの情報をリクエストパラメーターに含めてリソースアクセス要求を行う(S5.13)。
リソースサーバー400は、トークンID「AT_000004」およびスコープ「リソースA」を取得した後、取得した情報を元に要求を受け付けたリソースに対するアクセスを許可するか拒否するかを判定する。ここでは、リソースサーバー400に予めアクセス可能なアプリケーションIDが設定されているものとする。リソースサーバー400は、その設定されたアプリケーションIDと、トークンID「AT_000004」から取得されたアプリケーションIDとを比較することでアクセスを許可するかを検証する。本検証は、リソースサーバー400が認可サーバー500に対し、トークンID「AT_000004」およびスコープ「リソースA」を引数にしてトークン情報を取得することで行われる。
認可サーバー500では、取得したアクセストークン(トークンID「AT_00004」)の有効期間が切れていないこと、および、要求されているスコープ「リソースA」がスコープ範囲内であることを検証し、検証の結果を返す。検証の結果、アクセス許可と判定された場合、リソースサーバー400は、クライアントアプリケーションサーバー350に対して、リソースを応答する(S3.12)。ここで、リソースは例えば、リソースサーバー400が印刷サービスである場合は印刷可能な文書のリストであり、帳票サービスである場合は作成可能な帳票のリストである。
なお、S5.13およびS5.14にて、トークンの検証を、認可サーバー500およびリソースサーバー400のそれぞれで行うよう説明した。しかし、その他のシステム構成として、リソースに対するアクセス可能なアプリケーションを認可サーバー500で管理し、全ての検証を認可サーバー500で行うように構成してもよい。また、本実施形態ではアクセス可能なアプリケーションの判定についてアプリケーションIDを用いて実施するよう説明した。しかし、トークン情報から取得できるシリアル番号やクライアントIDを元にクライアントアプリケーションサーバー350を識別し、アクセスの可否を判定するように構成してもよい。また、同様に、トークン情報から取得できるスコープやユーザーIDを元にアクセスの可否を判定するように構成してもよい。
クライアントアプリケーションサーバー350は、リソース応答を受け付けた後、受信したデータを元に前述のアプリケーション画面を構成し、リソースオーナー3000に応答する(S5.15)。
[トークンリボケーション]
続いて本実施形態に係るトークンリボケーションについて、図6〜図9を用いて説明する。
トークンリボケーションとは、OAuth 2.0で定義された各種トークン無効化のためのプロトコルの仕様である。クライアント側からOAuth 2.0で発行されたアクセストークンやリフレッシュトークンを無効化するためのリクエスト/レスポンスを定義することができる。例えば、認可サーバーの実装によってはAuthorization Code Grantに紐づくセッションなどを一緒に切断するなどの設定も可能としている。本仕様は、例えばサービス連係解除時/ログアウト時/サービス退会時などにクライアントから各種トークンを無効化する、といったユースケースで使用されることを想定している。
本実施形態においては、図1の認可サーバー500に存在するトークン管理テーブル1410が参照可能なクライアントアプリケーションサーバー300上にトークンリボケーションWebアプリケーション320を配備する。そして、リソースオーナー3000がクライアントPC200のブラウザ画面から、自身の関係するクライアント間の連携表示、および連携解除を行えるように構成する。
上述の図3と図5の認可フローに示したように、認証ドメイン間の連携に応じて、生成して管理される情報に違いがある。具体的には、認可サーバー500で管理されるGrantTypeやトークン種別の情報などである。本実施形態では、これらの情報を用いて、トークンリボケーションを制御する。
トークンリボケーションWebアプリケーション320は、認可サーバー500の提供する認可クライアントの一覧取得APIと、指定されたトークンに紐付くクライアントのトークンを消去するAPIを利用して、トークンリボケーションを行う。本実施形態において、これらのAPIは、クライアントアプリケーションサーバー300のトークンリボケーションWebアプリケーション320からコールされるように構成している。しかし、APIをHTTPSによりコール可能なように構成することで、クライアントアプリケーションサーバー350上にトークンリボケーションWebアプリケーション320を配備してトークンリボケーションを行う構成としてもよい。
(リボケーション選択画面表示処理)
図7(a)は、トークンリボケーションWebアプリケーション320が、認可サーバー500の認可クライアント一覧表示APIをコールし、認可クライアント一覧を表示するリボケーション選択画面表示を行う際のフローチャートである。本フローは、リソースオーナー3000であるユーザーが、クライアントPC200のWebブラウザ210を介してトークンリボケーションWebアプリケーション320にアクセスすることで開始される。本アクセスには、図3のS3.6や図5のS5.8で取得した認可トークンの情報がリクエストパラメーターとして必要となる。ここでの認可トークンの情報とは、認証トークンや認可コードのトークンIDなどが該当する。
トークンリボケーションWebアプリケーション320は、先に受信した認可トークンの情報を引数として、認可サーバー500の認可クライアント一覧取得APIを呼び出す(S801)。ここでの処理については、図7(b)を用いて詳述する。トークンリボケーションWebアプリケーション320は、認可クライアントの一覧を取得した後、その一覧を表示する(S802)。そして、本処理フローを終了する。
図7(b)は、認可サーバー500における、リボケーション候補クライアントリスト作成のフローチャートである。トークンリボケーションWebアプリケーション320は、クライアントPC200から受信した認可トークンの情報をパラメーターとして、認可サーバー500の認可クライアント一覧取得APIを呼び出す。
認可サーバー500は、受信した認可トークンが有効であるか否かを確認する(S803)。ここでの有効確認では、認可サーバー500の認可サーバーモジュール510が、図10(c)に示すトークン管理テーブル1410を参照し、受信した認可トークンが含まれるか否かを判定することによりその有効性が確認される。トークンの有効確認が失敗した場合(S804にてNO)、認可サーバーモジュール510は、エラーを通知し(S808)、本処理フローを終了する。トークンの有効確認に成功した場合(S804にてYES)、認可サーバーモジュール510は、トークン管理テーブル1410の認可トークンに対応する行のユーザーID1418の値を参照する。そして、認可サーバーモジュール510は同一ユーザーIDにてGrantType1420が「AuthzCode」である行の存在を確認する(S805)。
GrantType1420が「AuthzCode」である行が存在しない場合(S806にてNO)、認可サーバーモジュール510は、空のリストを返却し(S809)、本処理フローを終了する。GrantTypeが“AuthzCode”の行が存在する場合(S806にてYES)、認可サーバーモジュール510は、図10(c)のトークンID1411と、クライアントID1417を取得する。さらに認可サーバーモジュール510は、クライアント管理テーブル1405を参照して取得したクライアントIDに対応するクライアント名1407を取得する。そして認可サーバーモジュール510は、取得したトークンID、クライアントID、およびクライアント名をリストにし、トークンリボケーションWebアプリケーション320に返却する(S807)。そして、本処理フローを終了する。
本発明の特徴は、トークン管理テーブル1410のGrantTypeを参照して「AuthzCode」以外のトークンを、リボケーション対象としないことである。つまり、「AuthzCode」に手示される異なる認証ドメイン間にて用いられているトークンについては削除し、それ以外のトークンを削除しないことで同一認証ドメイン内での不整合を防ぐ。
図9は、クライアントPC200のWebブラウザ210上に表示された、トークンリボケーションWebアプリケーション320のGUI(Graphical User Interface)1000の例である。表1001は、トークンリボケーションWebアプリケーション320が図7(b)に示すフローチャートにより認可サーバー500から取得したトークンID、クライアントID、およびクライアント名のリストを表示している。表1001は、クライアントID1002、クライアント名1003、およびAction1004を含む。Action1004には、取得したトークンIDに対してリボケーションを実行するためのリボケーションボタン1005が表示される。つまり、リボケーションボタン1005が選択可能に表示された状態では、対応するトークンを削除可能となる。リボケーションボタン1005は、後述するトークンリボケーションが成功するとグレーアウトされる。この場合には、対応するトークンは削除不可となる。GUI1000により、アクセストークンを削除する指示を可能とする削除画面を提供する。
(リボケーション実行画面表示処理)
図8(a)は、トークンリボケーションWebアプリケーション320が、認可サーバー500の指定されたトークンに紐付くクライアントのトークンを消去するAPIをコールし、トークンリボケーションを実行する際のフローチャートである。本フローチャートは、リソースオーナー3000が、図9に示すGUI1000上でリボケーションボタン1005を押下することにより開始される。
リボケーションボタン1005が押下されると、トークンリボケーションWebアプリケーション320は、リボケーションを実行するために、認可サーバー500の指定されたトークンに紐付くクライアントのトークンを消去するAPIをコールする(S901)。ここでは、本工程の詳細については、図8(b)を用いて詳述する。トークンリボケーションWebアプリケーション320は、トークンリボケーションを行った後のクライアントの一覧を取得し、その一覧を表示する(S902)。そして、本処理フローを終了する。
図8(b)は、認可サーバー500における、指定されたトークンに紐付くクライアントのトークンを消去のフローチャートである。トークンリボケーションWebアプリケーション320は、認可トークンの情報をパラメーターにして、認可サーバー500の指定されたトークンに紐付くクライアントのトークンを消去するAPIを呼び出す。
認可サーバー500は、受信した認可トークンが有効であるか否かを確認する(S903)。ここでの有効確認は、認可サーバー500の認可サーバーモジュール510が、図10(c)のトークン管理テーブル1410を参照し、受信した認可トークンが含まれるか否かを確認することにより行われる。
トークンの有効確認に失敗した場合(S904にてNO)、認可サーバーモジュール510はエラーを通知し(S911)、本処理フローを終了する。トークンの有効確認に成功した場合(S904にてYES)、認可サーバーモジュール510は、トークン管理テーブル1410にて認可トークンに対応する行のユーザーID1418の値を参照する。そして、認可サーバーモジュール510は、同一ユーザーIDのトークンから受信した認可トークンに紐付くクライアントIDを抽出する(S905)。さらに認可サーバーモジュール510は、クライアントIDが一致するトークンを抽出する(S906)。
認可サーバーモジュール510は、S906で抽出したトークンのうち、トークン種別1412が「認可コード」であるトークンを削除する(S907)。そして、認可サーバーモジュール510は、S907にてトークンの削除が成功したか否かを判定する(S908)。トークン削除に失敗した場合(S908にてNO)、認可サーバーモジュール510はエラーを通知し(S911)、本処理フローを終了する。トークン削除に成功した場合(S908にてYES)、認可サーバーモジュール510は、更に抽出したトークンのうち、GrantType1420が「AuthzCode」のトークンを削除する(S909)。そして、認可サーバーモジュール510は、S909にてトークンの削除が成功したか否かを判定する。トークンの削除に失敗した場合(S910にてNO)、認可サーバーモジュール510はエラーを通知し(S911)、本処理フローを終了する。トークンの削除に成功した場合(S910にてYES)、認可サーバーモジュール510はトークン削除の成功を通知し(S912)、本処理フローを終了する。
本実施形態のトークンリボケーションの特徴は、リソースオーナー3000の指定したトークンに紐付くトークンをトークン管理テーブルから削除する際に、トークン種別が「認可コード」でなく、かつ、GrantTypeが「AuthzCode」でもないトークンを削除しない点である。先に詳述した、同一認証ドメイン内においてリソースサービスを利用する場合に用いられるトークンがこれに相当する。この場合、トークン種別1412としては「認証トークン」と「アクセストークン」が存在し、grant typeとしては「AuthnToken」のみが存在する。したがって、本願発明は、同一認証ドメインにおいてリソースサービスを利用する場合に用いられるトークンに対してはリボケーションが行われないことを特徴とする。
図6は、クライアント表示/非表示、クライアント連携解除可/不可のポリシーの対応関係を示す表である。表701は、トークンリボケーションWebアプリケーション320のGUI1000に対応する。“クライアント連携解除”とは、認可サーバー500が管理するトークン管理テーブル1410の中からトークンの情報を削除し、クライアントとサーバーとが連携できない状態にすることである。すなわち、クライアントアプリケーションサービスが有するアクセストークンを無効化し、クライアントアプリケーションサーバー300、350からのリソースサーバー400へのアクセスを不可にすることである。
表701の一行目は、例えば、トークン管理テーブル1410のクライアントID1417が「Client_C」の場合に相当する。「Client_C」は、GrantType1420が「AuthnToken」のトークンと、「AuthzCode」のトークンの両者が存在する。この場合、Webブラウザ210に表示されたトークンリボケーションWebアプリケーション320のGUI1000は、クライアントID「Client_C」の表示を行う。そして、表1001にてAction1004のボタンが押下された場合、GrantType1420が「AuthzCode」であるトークン「AH_000007」、「AT_000008」、「AT_000009」が消去される。一方、GrantType1420が「AuthnToken」の「AH_000005」「AT_000006」は消去されない。
表701の二行目は、クライアントID1417が「Client_B」の場合に相当する。「Client_B」は、GrantType1420が「AuthzCode」のトークンのみが存在する。この場合、トークンリボケーションWebアプリケーション320のGUI1000は、クライアントID「Client_B」の表示を行う。そして、Action1004のボタンが押下された場合、トークン管理テーブル1410のGrantType1420が「AuthzCode」であるトークン「AH_000002」、「AT_000003」、「AT_000004」が消去される。その結果、クライアントアプリケーションサーバー300は、リソースサーバー400のリソースを取得することができないようになり、クライアントアプリケーションサーバー300とリソースサーバー400の間の連携は解除されることになる。
表701の三行目は、トークン管理テーブル1410のクライアントID1417が「Client_A」の場合に相当する。「Client_A」は、GrantType1420が「AuthnToken」のトークンのみが存在する。この場合、Webブラウザ210に表示された、トークンリボケーションWebアプリケーション320のGUI1000は、クライアントID「Client_A」の表示を行わない。なお、本実施形態では表示を行わないとしたが、表示は行うが図9のリボケーションボタン1005をグレーアウトして押下できないようにしてもよいし、リボケーションボタン1005を表示しないようにしてもよい。
表701の四行目は、トークン管理テーブル1410に何らトークンが登録されていないクライアントを示しており、この場合もGUI1000には表示されないこととなる。
以上により、ユーザーによる同一認証ドメイン内で用いられるアクセストークンの削除を制限し、サービス間連携の際にデータ不整合が発生することを防止することができる。
<第二の実施形態>
続いて、ユーザーから画像形成装置等の装置に対して権限を一括して委譲した際に、トークンの削除制御に関する実施形態について説明する。なお、認可フローは第一の実施形態にて述べた内容と同様であるため、ここでは説明を省略する。
(サブセットトークンのリボケーション)
本明細書において、リソースオーナー3000たるユーザーが、画像形成装置などの装置に対して権限委譲した場合のトークンを“親トークン”と称する。
まず、本実施形態に係る課題について説明する。例えば、画像形成装置上に印刷アプリケーションおよび帳票アプリケーションが存在する場合を考える。この構成において、ユーザーが印刷アプリケーションもしくは帳票アプリケーションからリソースサービスを利用する場合、リソースサービスを利用するための認可を各アプリケーションに個別に与える必要がある。その一方で、ユーザーの立場で考えると、同一の画像形成装置からリソースサービスを利用する場合には、例えば、一度の認可操作でそれぞれのアプリケーションでリソースサービスを利用できるようになった方が、利便性が高い。
そこで、アプリケーションに権限を委譲させる際、ユーザーに代わって画像形成装置がアプリケーションに権限を委譲することで、ユーザーの認可操作の回数を低減させる。即ち、ユーザーは画像形成装置に権限を委譲した段階で、アプリケーションにも権限を委譲することを認める構成とする。
なお、本実施形態では、画像形成装置に権限を委譲する際にユーザーに認可操作を行わせるが、画像形成装置が各アプリケーションに権限を委譲する際にはユーザーに認可操作を行わせない。ただし、認可操作を一度で済ませる手段として、画像形成装置が取得した親トークンを、画像形成装置上のアプリケーションで共有できるようにすると、親トークンを共有する全てのアプリケーションが全てのリソースサービスにアクセス可能となり好ましくない。また、各アプリケーションが共有された親トークンを用いてリソースサービスにアクセスした場合、リソースサービス側にてアクセス元のアプリケーションが特定できず、利用の可否を判定する事ができない。
その結果、例えば、リソースサーバーが特定のアプリケーションからの利用のみを許可したい場合であっても、アプリケーションを特定できず、利用の可否の判定ができない。これは、リソースサービスで管理している情報がユーザーの機密性が高い情報を取り扱うサービスである場合に、不特定のアプリケーションからの利用を許可すると情報の漏洩経路になるリスクがあるため望ましくない。
また、想定していないアプリケーションからの接続を許可するとしても、どのようなアプリケーションからのアクセスであったのかの記録を残したいという要求も存在する。これは、例えば、より利用頻度の高いアプリケーションを特定し、そのアプリケーションの利用シーンに合わせて機能を拡張していくといった、リソースサービスの機能拡張への対応を決める上で有用な情報である。
そこで本実施形態では、個々のリソースサービス連携アプリケーションは、親トークンを直接用いるのでなく、親トークンに含まれる情報を継承しつつ、再委譲においてアプリケーションを特定可能な情報を付与して発行されるトークンを用いる。ここで、画像形成装置が、親トークンの情報から派生して継承されたトークンであって、アプリケーションを特定可能な情報を付与して権限を再委譲した場合に発行されるトークンを“子トークン”と称する。また、複数の子トークンをまとめてサブセットトークンと記載する。
子トークンは、ユーザーによる認可処理を介さずに権限を委譲された画像形成装置等から発行されるが、この子トークンは、リボケーションにて処理の対象外とする。
[システム構成]
図15は、本実施形態に係る認可システムの構成例を示す。WAN100ではWWWシステムが構築されている。LAN101は、各構成要素を接続する。
認可サーバー500は、OAuthを実現し、認可サービスモジュールが設置されている。リソースサーバー400には、印刷サービスや帳票サービスに対応したリソースサービスが設置されている。画像形成装置600には、1または複数のリソースサービス連携アプリケーションがインストールされている。ユーザーはリソースサービス連携アプリケーションを用いてリソースサービスを利用する。また認可サーバー500、リソースサーバー400、および画像形成装置600は、それぞれWAN100およびLAN101を介して接続されている。なお認可サーバー500、リソースサーバー400、および画像形成装置600はそれぞれ個別のLAN上に構成されていてもよいし同一のLAN上に構成されていてもよい。また、認可サーバー500およびリソースサーバー400は同一のサーバー上に構成されていてもよい。
ここで、画像形成装置600は、図1に示したクライアントアプリケーションサーバー300の機能とクライアントPC200の機能とを備えるものとする。そして、子トークンは、このような機能を備える画像形成装置600にて用いられる。なお、クライアント側の装置は、画像形成装置に限定するものではなく、その他のデバイスであっても構わない。
[テーブル構成]
図16は、認可サーバー500の図10(c)に示すトークン管理テーブル1410に対し、親トークンおよび子トークンが発行された場合の例を示すトークン管理テーブル2000である。トークン管理テーブル2000は、トークンID2001、トークン種別2002、有効期限2003、スコープ2004、リフレッシュトークンID2005、リフレッシュ期限2006、クライアントID2007、ユーザーID2008、アプリケーションID2009、およびgrant type2010を含む。本実施形態のトークン管理テーブル1410と、第一の実施形態にて説明した図10(c)と異なる点は、トークン種別2002において、「親トークン」もしくは「子トークン」の情報を識別可能に設定する点である。したがって、リボケーションにおいても、この値を参照して制御を行う。
[トークンリボケーション]
本実施形態の場合のトークンリボケーションは、基本的に第一の実施形態と同様に行われる。しかし、クライアントが画像形成装置であると判定された場合、図8(b)のS909においてトークンは削除されない。ここでの例の場合、トークン管理テーブル2000のクライアントIDが「dev00000001」である場合には、たとえGrandTypeが「AuthzCode」であってもそのトークンは削除されない。
これは、画像形成装置による印刷の定時実行などのような画像形成装置内のアプリケーションが子トークンを使用して処理を行っている場合などを想定し、このような場合に不用意にトークンを無効化してしまわないようにするためである。例えば、子トークンを削除できてしてしまう構成の場合には、ユーザーが関与しないうちに生成された子トークンを削除したことで、システム内にて不整合が生じる可能性があるためである。なお、子トークンを用いて行う処理は、印刷の提示実行に限定されるものではなく、ユーザーが直接関与せずに実行されるバックグラウンドの処理などを含んでも構わない。
これにより、第一の実施形態の効果に加え、不整合の生じない認可システムを柔軟に構成できる。
<その他の実施形態>
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (9)

  1. 認証情報の入力を求めることなくサービスの提供を可能とするための認可情報を管理する認可サーバーシステムであって、
    前記認可情報を管理する管理手段と、
    前記管理手段にて管理する認可情報を削除するための削除画面の要求を受信したことに応じて、ユーザーの認可操作が行われたことで生成された認可情報を含み、前記ユーザーの認可操作が行われずに生成された認可情報を含まない削除画面を提供する提供手段と、
    前記削除画面を介して削除の指示を受信したことに応じて、前記管理手段にて管理された認可情報を削除する削除手段と、
    を有することを特徴とする認可サーバーシステム。
  2. 前記管理手段は、前記認可情報を認可を受けたクライアントに対応付けて管理し、
    前記削除画面は、クライアントごとに認可情報の削除の指示が可能なように表示を行うことを特徴とする請求項1に記載の認可サーバーシステム。
  3. 前記削除手段は、前記削除画面を介してクライアントに対する認可情報を削除する指示を受け付けた場合、当該クライアントに対応付けられた認可情報のうち、前記ユーザーの認可操作が行われたことで生成された認可情報を削除し、前記ユーザーの認可操作が行われずに生成された認可情報を削除しないことを特徴とする請求項2に記載の認可サーバーシステム。
  4. 前記削除画面は、前記ユーザーの認可操作が行われずに生成された認可情報のみが対応付けられたクライアントは表示しないことを特徴とする請求項2または3に記載の認可サーバーシステム。
  5. 前記管理手段は、クライアントがユーザーから委譲された第一の権限に対応する第一の認可情報と、前記第一の権限から派生して再委譲された第二の権限に対応して生成された第二の認可情報とを識別可能に管理し、
    前記削除手段は、前記削除画面を介して削除の指示を受け付けた場合、前記第二の認可情報は削除しないことを特徴とする請求項1乃至4のいずれか一項に記載の認可サーバーシステム。
  6. 前記ユーザーの認可操作が行われたことで生成された認可情報は、当該認可情報を用いてサービスの提供を受ける装置と、当該サービスを提供する装置とが異なるセキュリティドメインに属している場合に生成されていることを特徴とする請求項1乃至5のいずれか一項に記載の認可サーバーシステム。
  7. 前記ユーザーの認可操作が行われずに生成された認可情報は、認可情報を用いてサービスの提供を受ける装置と、当該サービスを提供する装置とが同一のセキュリティドメインに属する場合に生成されていることを特徴とする請求項1乃至6のいずれか一項に記載の認可サーバーシステム。
  8. 認証情報の入力を求めることなくサービスの提供を可能とするための認可情報を管理する認可サーバーシステムの制御方法であって、
    前記認可情報を記憶部にて管理する管理工程と、
    前記記憶部にて管理する認可情報を削除するための削除画面の要求を受信したことに応じて、ユーザーの認可操作が行われたことで生成された認可情報を含み、前記ユーザーの認可操作が行われずに生成された認可情報を含まない削除画面を提供する提供工程と、
    前記削除画面を介して削除の指示を受信したことに応じて、前記記憶部にて管理された認可情報を削除する削除工程と、
    を有することを特徴とする制御方法。
  9. コンピュータを、
    認証情報の入力を求めることなくサービスの提供を可能とするための認可情報を管理する管理手段、
    前記管理手段にて管理する認可情報を削除するための削除画面の要求を受信したことに応じて、ユーザーの認可操作が行われたことで生成された認可情報を含み、前記ユーザーの認可操作が行われずに生成された認可情報を含まない削除画面を提供する提供手段、
    前記削除画面を介して削除の指示を受信したことに応じて、前記管理手段にて管理された認可情報を削除する削除手段、
    として機能させるためのプログラム。
JP2013131063A 2013-06-21 2013-06-21 認可サーバーシステムおよびその制御方法、並びにプログラム Active JP6166596B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013131063A JP6166596B2 (ja) 2013-06-21 2013-06-21 認可サーバーシステムおよびその制御方法、並びにプログラム
US14/299,595 US9311469B2 (en) 2013-06-21 2014-06-09 Authorization server system, control method thereof, and non-transitory computer-readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013131063A JP6166596B2 (ja) 2013-06-21 2013-06-21 認可サーバーシステムおよびその制御方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2015005222A true JP2015005222A (ja) 2015-01-08
JP6166596B2 JP6166596B2 (ja) 2017-07-19

Family

ID=52112140

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013131063A Active JP6166596B2 (ja) 2013-06-21 2013-06-21 認可サーバーシステムおよびその制御方法、並びにプログラム

Country Status (2)

Country Link
US (1) US9311469B2 (ja)
JP (1) JP6166596B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016143164A (ja) * 2015-01-30 2016-08-08 株式会社Pfu システム
JP2016192126A (ja) * 2015-03-31 2016-11-10 株式会社Kddi研究所 セキュリティゲートウェイ装置、方法及びプログラム
JP6268242B1 (ja) * 2016-08-22 2018-01-24 株式会社エヌ・ティ・ティ・データ サーバおよびトークン発行方法
JP2018049667A (ja) * 2017-12-25 2018-03-29 株式会社エヌ・ティ・ティ・データ サーバおよびトークン発行方法
JP2020035079A (ja) * 2018-08-28 2020-03-05 キヤノン株式会社 システム、及びデータ処理方法
JP2021060744A (ja) * 2019-10-04 2021-04-15 富士ゼロックス株式会社 情報処理装置、情報処理システム及びプログラム
JP2021511578A (ja) * 2018-01-15 2021-05-06 華為技術有限公司Huawei Technologies Co.,Ltd. 認可取り消しの方法および装置
JP2021531531A (ja) * 2018-05-24 2021-11-18 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 長期実行動作のためのリフレッシュ・トークンの安全な委任

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9237145B2 (en) * 2011-09-29 2016-01-12 Oracle International Corporation Single sign-on (SSO) for mobile applications
US9038142B2 (en) * 2013-02-05 2015-05-19 Google Inc. Authorization flow initiation using short-term wireless communication
JP6033990B2 (ja) 2013-09-20 2016-11-30 オラクル・インターナショナル・コーポレイション 単一のフレキシブルかつプラガブルOAuthサーバを備える複数のリソースサーバ、OAuth保護したREST式OAuth許諾管理サービス、およびモバイルアプリケーションシングルサインオンするOAuthサービス
US9426156B2 (en) * 2013-11-19 2016-08-23 Care Innovations, Llc System and method for facilitating federated user provisioning through a cloud-based system
IN2013CH05960A (ja) * 2013-12-20 2015-06-26 Samsung R & D Inst India Bangalore Private Ltd
US9674699B2 (en) * 2014-08-15 2017-06-06 Sap Se System and methods for secure communication in mobile devices
JP2016085641A (ja) * 2014-10-27 2016-05-19 キヤノン株式会社 権限移譲システム、権限移譲システムにて実行される方法、およびそのプログラム
CN104869175B (zh) * 2015-06-16 2018-07-27 腾讯科技(北京)有限公司 跨平台的账号资源共享实现方法、装置及系统
CN106357629B (zh) * 2016-08-31 2021-10-26 天津灵创智恒软件技术有限公司 基于数字证书的智能终端身份认证与单点登录系统及方法
US10462124B2 (en) 2016-12-30 2019-10-29 Google Llc Authenticated session management across multiple electronic devices using a virtual session manager
US10541992B2 (en) * 2016-12-30 2020-01-21 Google Llc Two-token based authenticated session management
JP6857065B2 (ja) * 2017-03-27 2021-04-14 キヤノン株式会社 認証認可サーバー、リソースサーバー、認証認可システム、認証方法及びプログラム
US10796591B2 (en) 2017-04-11 2020-10-06 SpoonRead Inc. Electronic document presentation management system
JP2018205840A (ja) * 2017-05-30 2018-12-27 キヤノン株式会社 システム、その方法およびそのプログラム
JP6929181B2 (ja) * 2017-09-27 2021-09-01 キヤノン株式会社 デバイスと、その制御方法とプログラム
US11736292B2 (en) 2017-10-23 2023-08-22 Huawei Technologies Co., Ltd. Access token management method, terminal, and server
US10587618B2 (en) * 2017-11-14 2020-03-10 Microsoft Technology Licensing, Llc Dual binding
US11303627B2 (en) 2018-05-31 2022-04-12 Oracle International Corporation Single Sign-On enabled OAuth token
US11153305B2 (en) * 2018-06-15 2021-10-19 Canon U.S.A., Inc. Apparatus, system and method for managing authentication with a server
US10834074B2 (en) 2018-08-17 2020-11-10 International Business Machines Corporation Phishing attack prevention for OAuth applications
JP7228977B2 (ja) * 2018-08-30 2023-02-27 キヤノン株式会社 情報処理装置及び認可システムと検証方法
US10956972B2 (en) * 2018-12-26 2021-03-23 Paypal, Inc. Account access system
US11190514B2 (en) * 2019-06-17 2021-11-30 Microsoft Technology Licensing, Llc Client-server security enhancement using information accessed from access tokens
US11710373B2 (en) 2020-01-23 2023-07-25 SpoonRead Inc. Distributed ledger based distributed gaming system
US11503013B2 (en) * 2020-02-13 2022-11-15 Sap Se Translation of client certificate authentication into authorization graph descriptors
CN112511569B (zh) * 2021-02-07 2021-05-11 杭州筋斗腾云科技有限公司 网络资源访问请求的处理方法、系统及计算机设备
US20230015697A1 (en) * 2021-07-13 2023-01-19 Citrix Systems, Inc. Application programming interface (api) authorization

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000099477A (ja) * 1998-09-21 2000-04-07 Fuji Xerox Co Ltd オブジェクトのアクセス管理方法
JP2005157881A (ja) * 2003-11-27 2005-06-16 Canon Inc サーバ端末装置、クライアント端末装置、オブジェクト管理システム、オブジェクト管理方法、コンピュータプログラム及び記録媒体
JP2011521307A (ja) * 2007-12-31 2011-07-21 シマンテック コーポレーション オンラインアカウントへのアクセスを委任するシステムおよび方法
WO2012119620A1 (en) * 2011-03-08 2012-09-13 Telefonica S.A. A method for providing authorized access to a service application in order to use a protected resource of an end user

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7680819B1 (en) * 1999-11-12 2010-03-16 Novell, Inc. Managing digital identity information
JP2003281029A (ja) 2002-03-19 2003-10-03 Canon Inc 情報処理システム及び情報処理装置及び情報処理方法及びそれを実施するプログラムを情報処理装置読み出し可能に記憶した記憶媒体及びそのプログラム
JP2003331047A (ja) 2002-05-16 2003-11-21 Canon Inc 情報処理システム及び情報処理装置及び情報処理方法及びそれをコンピュータに実施させるためのプログラム及びそのプログラムをコンピュータ読み出し可能に記憶した記憶媒体
US7409431B2 (en) 2002-09-13 2008-08-05 Canon Kabushiki Kaisha Server apparatus, communications method, program for making computer execute the communications method, and computer-readable storage medium containing the program
US7284040B2 (en) 2002-09-13 2007-10-16 Canon Kabushiki Kaisha Information processing apparatus for providing image to communication terminal and control method therefor
US8601482B2 (en) * 2007-11-02 2013-12-03 Microsoft Corporation Delegation metasystem for composite services
US8707031B2 (en) * 2009-04-07 2014-04-22 Secureauth Corporation Identity-based certificate management
US8281372B1 (en) * 2009-12-18 2012-10-02 Joel Vidal Device, system, and method of accessing electronic mail
US20120331540A1 (en) * 2011-06-27 2012-12-27 Carrier Iq, Inc. Authentication and authorization method for tasking in profile-based data collection
US8955041B2 (en) * 2012-02-17 2015-02-10 Kabushiki Kaisha Toshiba Authentication collaboration system, ID provider device, and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000099477A (ja) * 1998-09-21 2000-04-07 Fuji Xerox Co Ltd オブジェクトのアクセス管理方法
JP2005157881A (ja) * 2003-11-27 2005-06-16 Canon Inc サーバ端末装置、クライアント端末装置、オブジェクト管理システム、オブジェクト管理方法、コンピュータプログラム及び記録媒体
JP2011521307A (ja) * 2007-12-31 2011-07-21 シマンテック コーポレーション オンラインアカウントへのアクセスを委任するシステムおよび方法
WO2012119620A1 (en) * 2011-03-08 2012-09-13 Telefonica S.A. A method for providing authorized access to a service application in order to use a protected resource of an end user

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016143164A (ja) * 2015-01-30 2016-08-08 株式会社Pfu システム
US9646151B2 (en) 2015-01-30 2017-05-09 Pfu Limited Access token management
JP2016192126A (ja) * 2015-03-31 2016-11-10 株式会社Kddi研究所 セキュリティゲートウェイ装置、方法及びプログラム
JP6268242B1 (ja) * 2016-08-22 2018-01-24 株式会社エヌ・ティ・ティ・データ サーバおよびトークン発行方法
JP2018032088A (ja) * 2016-08-22 2018-03-01 株式会社エヌ・ティ・ティ・データ サーバおよびトークン発行方法
JP2018049667A (ja) * 2017-12-25 2018-03-29 株式会社エヌ・ティ・ティ・データ サーバおよびトークン発行方法
JP2021511578A (ja) * 2018-01-15 2021-05-06 華為技術有限公司Huawei Technologies Co.,Ltd. 認可取り消しの方法および装置
JP7027558B2 (ja) 2018-01-15 2022-03-01 華為技術有限公司 認可取り消しの方法および装置
US11275634B2 (en) 2018-01-15 2022-03-15 Huawei Technologies Co., Ltd. Authorization revocation method, and apparatus
US11734090B2 (en) 2018-01-15 2023-08-22 Huawei Technologies Co., Ltd. Authorization revocation method, and apparatus
JP2021531531A (ja) * 2018-05-24 2021-11-18 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 長期実行動作のためのリフレッシュ・トークンの安全な委任
JP7091470B2 (ja) 2018-05-24 2022-06-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 長期実行動作のためのリフレッシュ・トークンの安全な委任
JP2020035079A (ja) * 2018-08-28 2020-03-05 キヤノン株式会社 システム、及びデータ処理方法
JP7096736B2 (ja) 2018-08-28 2022-07-06 キヤノン株式会社 システム、及びデータ処理方法
JP2021060744A (ja) * 2019-10-04 2021-04-15 富士ゼロックス株式会社 情報処理装置、情報処理システム及びプログラム
JP7354745B2 (ja) 2019-10-04 2023-10-03 富士フイルムビジネスイノベーション株式会社 情報処理装置、情報処理システム及びプログラム

Also Published As

Publication number Publication date
JP6166596B2 (ja) 2017-07-19
US9311469B2 (en) 2016-04-12
US20140380428A1 (en) 2014-12-25

Similar Documents

Publication Publication Date Title
JP6166596B2 (ja) 認可サーバーシステムおよびその制御方法、並びにプログラム
KR102390108B1 (ko) 정보 처리 시스템 및 제어 방법
JP6141076B2 (ja) システムおよびその制御方法、アクセス管理サービスシステムおよびその制御方法、並びにプログラム
JP6061633B2 (ja) デバイス装置、制御方法、およびそのプログラム。
JP6124687B2 (ja) 画像形成装置、サーバー装置、情報処理方法及びプログラム
JP6066647B2 (ja) デバイス装置、その制御方法、およびそのプログラム
JP6929181B2 (ja) デバイスと、その制御方法とプログラム
US20140230020A1 (en) Authorization server and client apparatus, server cooperative system, and token management method
JP6675163B2 (ja) 権限委譲システム、認可サーバの制御方法、認可サーバおよびプログラム
JP2018163616A (ja) 認証認可サーバー、リソースサーバー、認証認可システム、認証方法及びプログラム
KR20190024817A (ko) 권한 위양 시스템, 그 제어 방법 및 클라이언트
CN102449976A (zh) 用于访问私人数字内容的系统和方法
JP2018092446A (ja) 認証認可システム及び情報処理装置と認証認可方法とプログラム
JP2017199145A (ja) サーバ装置、システム、情報処理方法及びプログラム
JP2016115260A (ja) 権限移譲システム、権限移譲システムに用いられる認可サーバー、リソースサーバー、クライアント、媒介装置、権限移譲方法およびプログラム
JP2009205223A (ja) シングルサインオンによるグループ内サービス認可方法と、その方法を用いたグループ内サービス提供システムと、それを構成する各サーバ
JP2014142732A (ja) 権限委譲システム
JP7043480B2 (ja) 情報処理システムと、その制御方法とプログラム
JP2018084979A (ja) 認可サーバ及びリソース提供システム
JP2016057737A (ja) サービス提供システム及びこれに用いる管理サーバー及び管理方法
JP6128958B2 (ja) 情報処理サーバーシステム、制御方法、およびプログラム
JP5860421B2 (ja) 復号方法、復号システム
JP2005293088A (ja) 認証システム及び認証方法
Alrodhan Identity management systems
Edge et al. Identity and Device Trust

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160610

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170428

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170623

R151 Written notification of patent or utility model registration

Ref document number: 6166596

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151