JP6025480B2 - 認可サーバーシステム、権限移譲システム、その制御方法、およびプログラム - Google Patents

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

Info

Publication number
JP6025480B2
JP6025480B2 JP2012214267A JP2012214267A JP6025480B2 JP 6025480 B2 JP6025480 B2 JP 6025480B2 JP 2012214267 A JP2012214267 A JP 2012214267A JP 2012214267 A JP2012214267 A JP 2012214267A JP 6025480 B2 JP6025480 B2 JP 6025480B2
Authority
JP
Japan
Prior art keywords
authority
application
service
server system
request
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.)
Active
Application number
JP2012214267A
Other languages
English (en)
Other versions
JP2014067378A (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 JP2012214267A priority Critical patent/JP6025480B2/ja
Priority to EP13185819.3A priority patent/EP2713579B1/en
Priority to EP16205107.2A priority patent/EP3176991B1/en
Priority to US14/037,714 priority patent/US9686257B2/en
Priority to CN201310454430.6A priority patent/CN103701768B/zh
Publication of JP2014067378A publication Critical patent/JP2014067378A/ja
Application granted granted Critical
Publication of JP6025480B2 publication Critical patent/JP6025480B2/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
    • 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/41User authentication where a single sign-on provides access to a plurality of computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • G06F21/608Secure printing
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

権限移譲を行う認可サーバーシステム、権限移譲システム、その制御方法、およびプログラムに関する。
近年、PDF形式の電子文書を作成するサービス、およびその電子文書を保存するサービスをインターネットを介して端末に提供するサーバーが広く運営されるようになった。ユーザーは端末を介してサービスを利用することで、その端末に電子文書の作成機能がない場合でも電子文書が作成できるようになる他、端末の記憶容量以上の電子文書を保存できるようにもなる。
更に、クラウドが注目されるに伴い、複数のサービスを連携させて新たな付加価値を創造する機会は益々増加している。例えば、サービスを利用し作成したPDF形式の電子文書が端末を経由することなく別のサービスに直接保存される、と言ったサービスの連携が可能である。その一方で、サービスが連携することにより課題が生まれる。
それは、ユーザーが望んだ以上の情報がサービス間で交換された場合、ユーザーデータや個人情報の漏えいリスクが高まると言うことである。サービス連携時に、ユーザーの望む結果を提供するためのサービス以外のサービスがユーザーデータ、個人情報等を取得することは望ましくない。一方で、サービスの提供者からするとサービス連携の仕組みは容易に実装できるものが好ましい。
このような状況において、OAuth(特許文献1、非特許文献1、および非特許文献2を参照)と呼ばれる認可の連携を実現させるための標準プロトコルが策定されている。OAuthを複数のサービスに実装することで、例えば、ユーザーから特定の権限でサービスAへのアクセスが認められた外部サービスBは、ユーザーの認証情報を用いることなくサービスAへアクセスできるようになる。このとき、サービスAは外部サービスBからアクセスされるデータ、および利用されるサービスの範囲と言った権限の内容をユーザーに対し明らかにした上で、外部サービスBによるアクセスにユーザーの明示的な了承、即ち認可を必要とする構成になっている。ユーザーが認可画面を介して明示的に認可を行う行為を認可操作と言う。
ユーザーが認可操作を行うと、サービスAは外部サービスBに対してユーザーによって認可された特定の権限を与える。そして、外部サービスBは、認可された権限でアクセスが認められることを証明するトークン、即ち認可トークンをサービスAから直接的、または間接的に受け取る。以降、外部サービスBはその認可トークンを用いてサービスAにアクセスできる。ユーザーが認可操作を行った結果、サービスを利用する主体、先程の例で言えば外部サービスBに認可トークンを保持させるための一連の流れを、ユーザーは外部サービスBに権限を移譲する、と言う。なお、上述した通り、サービスを利用する主体に実際の権限を与えるのはサービスを利用させる主体であり、先程の例で言えば、ユーザーから認可操作が行われたことを確認したサービスAが権限を与える。
なお、この技術はサービス間の連携にのみ使用されるわけではなく、ユーザーが操作する端末のアプリケーションがOAuthを用いてインターネット上のサービスと連携する形態でも利用されていることが知られている。例えば、アプリケーションの追加・削除が可能であるスマートフォンに複数のアプリケーションをインストールし、各アプリケーションがインターネット上のサービスと連携する形態である。その中でも、ソーシャル・ネットワーキング・サービス(以下、SNSと呼ぶ)と呼ばれるサービスと、スマートフォンのアプリケーションがOAuthを用いて連携する形態が代表的な例である。
スマートフォンにインストールされたアプリケーションは、ユーザーの代理としてSNSにアクセスすることになる。ユーザーは、SNSを利用するのに必要な最小限の機能の権限、例えば記事を投稿する権限のみをアプリケーションに移譲することで、スマートフォンにSNSの認証情報を保存させることなく、かつアプリケーションは適正な権限でSNSと連携することができる。
特開2012−008958号公報
"The OAuth 1.0 Protocol"、[online] E. Hammer−Lahav、2012年9月 <URL http://tools.ietf.org/html/rfc5849> "The OAuth 2.0 Authorization Framework draft−ietf−oauth−v2−31"、[online] D. Hardt.、2012年9月 <URL http://tools.ietf.org/html/draft−ietf−oauth−v2−31>
OAuthのような権限移譲プロトコルを用いて端末上の各アプリケーションに権限を移譲する場合、従来技術では、アプリケーションが端末に追加される毎にユーザーは各アプリケーションに対する認可操作を行わないといけないので利便性に欠ける。そこで、各アプリケーションに対する認可操作をより少ない回数、例えば、1回の認可操作で各アプリケーションに権限を移譲させる仕組みを端末、およびサービスに導入することが将来的に考えられる。また、各アプリケーションは異なる目的で作成されているため利用するクラウドサービスが異なるので、各アプリケーションが必要とする権限は多様となることが予想される。
しかし、ユーザーの認可操作を介さずに各アプリケーションに権限を移譲する場合の仕組みが考えられていないので、アプリケーションに対して過剰な権限を移譲してしまう恐れがある。
仮に、過剰な権限が悪意のあるアプリケーションに移譲されてしまい、そのアプリケーションがリソースサーバーにアクセスしてきた場合、クラウドサービスに保管したデータが漏えいする、または破壊されるというリスクが発生する。また、例え、悪意はない開発者によりアプリケーションが開発された場合であっても、そのアプリケーションにバグがあり予期せぬ動作をすれば、上述したリスクと同等のリスクが発生する。
本発明では上述した課題を解決することを目的の1つとする。
本願発明の目的を達成する認可サーバーシステムは、ネットワークを介して接続されたデバイス機器へサービスを提供するサーバーシステムと、前記サービスを利用するアプリケーションを備えた前記デバイス機器と通信することが可能な認可サーバーシステムであって、前記アプリケーションに対して前記サービスを利用する権限を移譲するための要求を受信するとともに、前記サービスを利用する権限を特定するための第1の権限情報を受信する受信手段と、前記要求が受信されたことに応じて、前記要求とともに前記受信手段により受信された第1の権限情報を基に権限を特定し、特定された権限内の少なくとも一部の権限を前記アプリケーションに対し与え、与えられた権限を特定するための第2の権限情報を発行する発行手段と、前記発行手段により発行された第2の権限情報を前記要求の要求元へ送信することを特徴とする。
本願発明により、アプリケーションに対して過剰な権限を移譲することを防ぐことが可能となる。
認可サーバー200、リソースサーバー210、画像形成装置300から構成される権限移譲システムを示す図。 本願発明に係る認可サーバー200、リソースサーバー210、画像形成装置300のハードウェア構成図。 本願発明に係る認可サーバー200、リソースサーバー210、画像形成装置300のモジュール構成図。 本願発明に係る画像形成装置300で実行されるトークン発行の要求フロー。 本願発明に係る認可サーバー200で実行される親トークン発行のフロー。 本願発明に係る認可サーバー200で実行される子トークン発行のフロー。 本願発明に係るリソースサーバー210で実行されるリソースアクセスを受けた際の処理フローである。 本願発明に係る画像形成装置300が取得済みのトークンを示すトークンテーブル。 本願発明に係る認可サーバー連携クライアント400が有する認可サーバー連携情報。 本願発明に係る認可サーバー200が有する権限テーブル。 本願発明に係る認可サーバー200が有する発行済みトークンテーブル。 本願発明に係る認証画面、および認可画面。
始めに、本願発明の実施形態の概要と、用語の説明を行う。
本願発明の実施形態においては、インターネット上で帳票データを生成する帳票サービスと、インターネット上のデータを取得して印刷する印刷サービスとがインターネット上のサーバーに設置されていることを想定している。以降、帳票サービスや印刷サービスのように、ネットワークからデバイス機器へ提供されている機能をリソースサービスと呼ぶ。
本願発明の実施形態においては端末であるデバイス機器として画像形成装置を例に説明する。画像形成装置上にインストールされた印刷アプリケーション、および帳票アプリケーションがリソースサービスを利用することを想定している。以降、印刷アプリケーションや帳票アプリケーションのようにリソースサービスを利用するアプリケーションをリソースサービス連携アプリケーションと呼ぶ。
更に、本願発明の実施形態における権限の移譲の処理にはOAuthの仕組みを利用することとする。OAuthでは、ユーザーから移譲された権限の範囲を特定するための情報をトークンと呼ばれるデータ形式で表現する。サービスを利用される主体、即ちリソースサービスを提供するサーバーは、トークンに基づいて特定される権限の中で外部からのアクセスを許す。トークンを始めとする権限の範囲を特定するために用いられる情報を本願発明では権限情報と称する。また、サービスを利用する主体、即ち画像形成装置、またはリソースサービス連携アプリケーションに移譲される権限の範囲を規定する情報をスコープと称し、ユーザーが画像形成装置に対して権限移譲した場合に発行されるトークンを親トークンと称する。本願発明の実施形態では、ユーザーの権限を画像形成装置のようなデバイス機器に移譲することもポイントの1つである。
例えば、画像形成装置上に印刷アプリケーション、および帳票アプリケーションが存在する場合を考える。従来技術では、ユーザーは、印刷アプリケーションからリソースサービスを利用する場合は印刷アプリケーションに、帳票アプリケーションからリソースサービスを利用する場合は帳票アプリケーションに対してそれぞれ個別に認可操作を行う必要がある。ユーザーの立場で考えると、同一の画像形成装置からリソースサービスを利用する場合には、例えば一度の認可操作でそれぞれのアプリケーションからリソースサービスを利用できるようになった方が良い。そこで、アプリケーションに権限を移譲する際、ユーザーに代わり画像形成装置がアプリケーションに権限を移譲することでユーザーの認可操作の回数を低減させる。ユーザーは画像形成装置に権限を移譲した段階で、アプリケーションにも権限を移譲することを暗に認可したこととなる。
なお、本願発明の実施形態では画像形成装置に権限を移譲する際にユーザーに認可操作を行わせるが、アプリケーションに権限を移譲する際にはユーザーに認可操作を行わせない。以上の様に、本願発明では、ユーザーの権限をデバイス機器に移譲することでユーザーの認可操作を従来よりも少ない回数に減らしつつ、将来的に追加される各アプリケーションへの権限移譲を可能にする。
ここで、アプリケーションへ権限移譲をする方法について説明する。アプリケーションへ権限移譲をする方法として始めに思いつく構成は、画像形成装置が取得した親トークンをアプリケーションで共有する形態にする形態であろう。しかし、アプリケーションが親トークンを共有する形態を取った場合、全てのアプリケーションに全く同じ権限が与えられたことになってしまいセキュリティ上好ましくない。セキュリティ上好ましくない理由は、上述の本願発明の課題の項目で述べた通りである。
例えば、印刷アプリケーションは印刷権限が必要だが帳票生成権限は不要である。また帳票アプリケーションは帳票生成権限が必要だが印刷権限は不要である。このように個々のアプリケーションがそれぞれ異なる目的のためのものであれば、それぞれのアプリケーションに必要な権限は異なるため、夫々のアプリケーションには出来る限り必要最低限の権限を与える形態がセキュリティ上は好ましい。
そこで本願発明の実施形態では、リソースサービス連携アプリケーションに親トークンを直接使わせるのではなく、画像形成装置に移譲された権限の内、リソースサービス連携アプリケーションが本来必要とする権限に限定したトークンを発行することが発明のポイントの1つである。このトークンを子トークンと呼び、画像形成装置からリソースサービス連携アプリケーションへ更に権限を移譲した場合に発行されるトークンである。
以下、本発明を実施するための形態について図面を用いて説明する。
<実施例1>
本実施例では、ユーザー、デバイス機器、デバイス機器上のアプリケーションの3者間で権限を移譲させていく際に、デバイス機器上のアプリケーションに過剰な権限が移譲されないようにするための具体的な構成を説明する。
本実施例に係る権限移譲システムは、図1に示すようなネットワーク上に実現される。100は、Wide Area Network(WAN100)であり、本発明ではWorld Wide Web(WWW)システムが構築されている。101は各構成要素を接続するLocal Area Network(LAN101)である。
200はOAuthを実現するための認可サーバーであり、認可サービスモジュールを備えている。210はリソースサーバーであり、印刷サービスや帳票サービスといったリソースサービスを備えている。なお1台のリソースサーバーに備えられるリソースサービスは1つであっても、複数でもよい。また、認可サーバー、およびリソースサーバーは1台ではなく複数台で構成されるサーバー群であっても良い。認可サーバーシステムと称した場合、認可サービスモジュールを備えた1台のサーバー、または複数台のサーバー群を指しており、リソースサーバー210、および後述する画像形成装置300は含まないサーバー群を意味する。リソースサーバーシステムについても同様であり、リソースサービスを備えた1台のサーバー、または複数台のサーバーを指している。サーバーシステムが複数台で構成される場合、サーバーシステムに備えられたモジュールは複数台のサーバーに分割して配置し、モジュールの一部を備えた複数台のサーバー同士が連携して機能を実行するようにしても良い。
300は画像形成装置であり、1つ、または複数のリソースサービス連携アプリケーションがインストールされている。ユーザーはそれらのリソースサービス連携アプリケーションを用いてリソースサービスを利用する。また認可サーバー200、リソースサービス210、画像形成装置300はそれぞれWANネットワーク100、およびLAN101を介して接続されている。なお認可サーバー200、リソースサービス210、画像形成装置300はそれぞれ個別のLAN上に構成されていてもよいし、同一のLAN上に構成されていてもよい。また、認可サーバー200、リソースサービス210は同一のサーバー上に構成されていてもよい。
本実施例に係る権限移譲システムは、図2に示すようなハードウェア構成のサーバー、および画像形成装置から成るシステム上に実現される。図2は、認可サーバー200、またはリソースサーバー210と、画像形成装置300とがネットワークなどを介して通信可能に接続されている様子を示す。
まず、認可サーバー200の構成について説明する。なお、図2に示されるハードウェアブロック図は一般的な情報処理装置のハードウェアブロック図に相当するものとし、本実施例の認可サーバー200には一般的な情報処理装置のハードウェア構成を適用できる。また、リソースサーバー210についても同様である。図2において、CPU201は、ROM203のプログラム用ROMに記憶された、或いはハードディスク211からRAM202にロードされたOS、またはアプリケーション等のプログラムを実行する。ここでOSとはコンピュータ上で稼動するオペレーティングシステムの略語であり、以下オペレーティングシステムのことをOSと呼ぶ。後述する各フローチャートの処理はこのプログラムの実行により実現できる。RAM202は、CPU201のワークエリアとして機能する。
キーボードコントローラ(KBC)205は、キーボード209や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)206は、CRTディスプレイ210の表示を制御する。ディスクコントローラ(DKC)207は各種データを記憶するハードディスク(HD)211やフロッピー(登録商標)ディスク(FD)等におけるデータアクセスを制御する。PRTC208は、接続された画像形成装置300との間の信号の交換を制御する。ネットワークカード(NC)212はネットワークに接続されて、ネットワークに接続された画像形成装置や他の機器との通信制御処理を実行する。なお、後述の説明においては、特に断りのない限りサーバーにおける実行のハード上の主体はCPU201であり、ソフトウェア上の主体はハードディスク(HD)211にインストールされたアプリケーションプログラムである。
次に、画像形成装置300の構成について説明する。301は画像形成装置300のCPUであり、ROM302、または外部メモリ303に記憶された制御プログラムに基づいてシステムバス304に接続される各ブロックを制御する。CPU301の処理により生成された画像信号が印刷部I/F305を介して、印刷部(画像形成装置エンジン)306に出力情報として出力される。また、原稿を読み取るためのスキャナ部(不図示)を備えていても良く、画像形成装置300は印刷部、またはスキャナ部の内、少なくとも一方の画像処理部を有しているものとする。CPU301は、入力部307を介して認可サーバー200との通信処理が可能となっており、画像形成装置300内の情報等を認可サーバー200に通知できる。
ROM302内のプログラムROMには、CPU301の制御プログラム等を記憶している。ROM302内のフォント用ROMには、出力情報を生成する際に使用するフォントデータ等を記憶している。ROM302内のデータ用ROMには、ハードディスク等の外部メモリ303がない画像形成装置の場合、認可サーバー200上で利用される情報等を記憶している。
RAM308は、CPU301のワークエリアとして機能するRAMであり、増設ポート(不図示)に接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。また、RAM308は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。外部メモリ303は、メモリコントローラ(MC)309によりアクセスを制御される。外部メモリ303はオプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、操作部311はユーザーによる操作を受け付けるためのスイッチ、およびLED表示器等で構成されている。なお、後述の説明においては、特に断りのない限り画像形成装置における実行のハード上の主体はCPU301であり、ソフトウェア上の主体は外部メモリ303にインストールされたアプリケーションプログラムである。
図3は本実施例に係る、認可サーバー200、リソースサーバー210、および画像形成装置300の夫々に備えられたモジュールの構成を示す図である。図3に示す何れのモジュールも、図2で示した各装置のCPUが外部メモリにインストールされたアプリケーションプログラムをRAMを利用して実行することで実現されるモジュールである。認可サーバー200は認可サーバーモジュール600を備え、認可サーバーモジュール600はユーザー識別部601、クライアント検証部602、親トークン発行部603、子トークン発行部611、子トークン検証部620を備える。リソースサーバー210はリソースサーバーモジュール700を備え、リソースサーバーモジュール700は子トークン権限確認部701、リソース要求処理部702を備える。
また、画像処理装置300は認可サーバー連携クライアント400、リソースサーバー連携アプリケーション500、Webブラウザ900を備える。上述の通り、リソースサーバー連携アプリケーション500は複数インストールされていても良い。認可サーバー連携クライアント400、リソースサーバー連携アプリケーション500、およびWebブラウザ900は画像処理装置に標準で搭載されている、またはユーザーが後からインストールしたものである。Webブラウザ900は一般的なWebブラウザでありサーバーから提供される画面を表示するものである。
認可サーバー連携アプリケーション400は親トークン要求部401、親トークン記憶部402、子トークン要求転送部403を備える。また、リソースサーバー連携アプリケーション500は子トークン要求部501、子トークン記憶部502、リソース要求部503を備える。上述の通り、リソースサーバーモジュール700は複数インストールされていても良い。以上が、本発明を実施する上で必要となるシステム構成、ハードウェア構成、モジュール構成の説明になる。
次に、図3で示したモジュールがどのように連携し本実施例を実施するかの説明を行う。各モジュールの詳細な動きの説明を行う前に、本実施例のポイントである、認可サーバー200が親トークンを基に子トークンを発行する一連の流れの概要を図3を用いて説明しておく。
始めに、ユーザーは、画像処理装置300上のリソースサーバー連携アプリケーション500に対し、リソースサーバーモジュール700の機能を利用する必要がある指示を行う(1)。続けてリソースサーバー連携アプリケーション500は、リソースサーバーモジュール700の利用に必要な子トークンがあるか否かを確認し、子トークンがなければ認可サーバー連携クライアント400に対し子トークンを要求する(2)。
認可サーバー連携クライアント400は親トークンを用いて認可サーバーモジュール600に対し子トークンを要求する(3)。認可サーバー連携クライアント400の要求に応じて、認可サーバーモジュール600は受信した親トークンを利用し子トークンを発行し、発行した子トークンを認可サーバー連携クライアント400に返す(4)。(4)の認可サーバーモジュール600が親トークンを利用して子トークンを発行する処理は本実施例のポイントの1つであり、その詳細な内容は後述する。
認可サーバー連携クライアント400は子トークンをリソースサーバー連携アプリケーション500に返す。(5)リソースサーバー連携アプリケーション500は子トークンを用いてリソースサーバーモジュール700に対してリソースサービスの利用要求を行う(6)。リソースサーバーモジュール700はリソースサーバー連携アプリケーション500から受け取った子トークンの検証を認可サーバーモジュール600に依頼する(7)。検証の結果を受信し(8)、要求元であるリソースサーバー連携アプリケーション500の権限で要求を処理できると判断した場合に、リソースサーバーモジュール700はサービスの提供を行う。以上が、認可サーバー200が親トークンを基に子トークンを発行する一連の流れの概要である。
では、図3に示した各モジュールの詳細な動きを説明して行く。始めに、認可サーバー連携クライアント400が、認可サーバーモジュール600から親トークンを取得する処理を説明する。本処理は、ユーザーがWebブラウザ900を利用して認可サーバー連携クライアント400にアクセスすることで開始される。例えば、ユーザーが認可サーバー連携クライアント400を画像形成装置300にインストールした際に、Webブラウザ900で認可サーバー連携クライアント400へアクセスし親トークンを発行するよう、画像形成装置300からユーザーへ通知すると良い。この構成であれば、認可サーバー連携クライアント400が親トークンを必要とする際に、親トークンが親トークン記憶部402に保持されていない状態を回避できる。なお、認可サーバー連携クライアント400にユーザーの権限を移譲することは、画像形成装置300に対して権限を移譲したことと同義である。
図4cのステップS1201で親トークン要求部401は、ユーザーが操作するWebブラウザ900によるアクセスを受け付ける。そして、親トークン要求部401は、Webブラウザを認可サーバーモジュール600にリダイレクトさせる。リダイレクト先の認可サーバーのURLや認可サーバー連携クライアント400の認証情報は、図9aで示される認可サーバー連携情報460、あるいは図9bで示される認可サーバー連携情報461として管理されている。
また、図9a、および図9bは、親トークン要求部401が認可サーバーモジュール600に要求する親トークンのスコープも表している。ここで図9aは、リソースサーバー連携アプリケーションとして印刷アプリケーションと帳票アプリケーションが存在することを示しており、夫々のアプリケーションは印刷権限、および帳票生成権限を必要としている。この例の場合、親トークン要求部401は、印刷権限を移譲するためのスコープであるprintと、帳票生成権限を移譲するためのスコープであるcreateFormの両方を持つ親トークンを要求してもよい。こうすることで、認可サーバー連携クライアント400は、1つの親トークンを用いて、printスコープを持つ子トークンと、createFormスコープを持つ子トークンとを発行してらえる。しかし、printでもcreateFormでもない第三のスコープが必要なアプリケーションを利用するためには、第三のスコープを持つ親トークンをあらためて発行させる必要がある。このようなトークンを、アプリケーションに与える権限に制限を設けるためのトークンと呼ぶ。
一方で図9bは、親トークン要求部401が、任意のスコープの子トークンを発行できる親トークンを要求する場合の認可サーバー連携情報を示している。任意のスコープの子トークンを発行できる親トークンをワイルドカード親トークンと呼び、認可サーバー連携クライアント400はワイルドカード親トークンのスコープとしてwildcardスコープを要求することとしている。wildcardスコープを持つ親トークンを利用すると、第三のスコープが必要なアプリケーションが増えた場合でも、再度、認可サーバー200に親トークンを発行してもらう必要がない。認可サーバー連携クライアント400は、ワイルドカード親トークンを利用して、任意のスコープを持つ子トークンを発行させることができる。このように、ワイルドカード親トークンは、リソースサーバー連携アプリケーションが新たに追加される画像形成装置300のようなデバイス機器に好適であり、ユーザーは親トークン再発行のための認可操作を行う必要がなくなり利便性が向上する。ワイルドカード親トークンのように任意のスコープを持つトークンを、アプリケーションに与える権限に制限を設けないためのトークンと呼ぶ。どちらのトークンが発行されるかは、認可サーバー連携クライアント400に設定されたスコープのみならず、後述するユーザーに設定されたスコープにも依存する。詳細は後述する。
ステップS1202で親トークン要求部401は、親トークン発行のための認可コードを取得する。ここで、認可コード発行のための詳細なフローを説明しておく。認可サーバーモジュール600は、ユーザーを認証するために図12aに示されるような認証画面800をリダイレクトしてきたWebブラウザ900に表示させ、ユーザーに認証情報を入力させ、入力された認証情報を基に認証を行う。そして、認可サーバーモジュール600は、認証されたユーザーに認可を求めるために、図12bに示されるような認可画面801をWebブラウザ900に表示させ、認可操作を行わせる。図12bは一例であり、特に、表示される権限の内容はデータの内容に限られず、サービスの名称や、操作内容であっても良い。認証、および認可が行われると、Webブラウザ900は、認可サーバーモジュール600から親トークン要求部401へのリダイレクト要求、および認可操作が行われたことを示す認可コードを受信する。親トークン要求部401は、認可サーバーモジュール600からリダイレクトされたWebブラウザ900のアクセスを受け付ける。親トークン要求部401はこのリダイレクト時にWebブラウザ900から認可コードを取得できる。
ステップS1203で親トークン要求部401は、ステップS1202で認可コードを得られたか否かを確認する。確認の結果として認可コードを得られたと判断された場合はステップS1204に遷移する。また認可コードを得られなかったと判断された場合はステップS1250に遷移する。ステップS1204で親トークン要求部401は、ステップS1202で取得した認可コードを用いて、認可サーバーモジュール600に親トークンの発行を要求する。
ステップ1205親トークン要求部401は、ステップS1204の応答として得られた親トークンを親トークン記憶部402に記憶させる。そして、ステップS1103に遷移し、処理を継続する。ステップS1250で認可サーバー連携クライアント400は、ユーザーの認可を得られず子トークンを取得できなかった旨をリソースサーバー連携アプリケーション500の子トークン要求部501に通知し、フローを終了する。
次に、認可サーバーモジュール600が親トークン発行用の認可コードを発行する処理を図5aを用いて説明する。認可サーバーモジュール600が、S1201でリダイレクトさせられたWebブラウザ900からのアクセスを受け付けることで本フローが開始される。
ステップS2001で認可サーバーモジュール600は、認可サーバー連携クライアント400からリダイレクトさせられたWebブラウザ900を操作するユーザーのアクセスを受け付ける。ステップS2002でユーザー識別部601は、ステップS2001でリダイレクトさせられたWebブラウザ900を操作するユーザーの識別を行う。これは、図12aで示した認証画面800を介し入力されたユーザーの認証情報で識別される。識別したユーザーが正当なユーザーであればステップS2003に遷移する。識別したユーザーが正当なユーザーでなければ終了する(不図示)。
ステップS2003で認可サーバーモジュール600は、親トークンを要求している認可サーバー連携クライアント400の情報をユーザーのアクセスから取り出す。ステップS2004でクライアント検証部602は、ステップS2003で取り出した情報を用いて認可サーバー連携クライアント400の検証を行う。本実施例では、図9a、または図9bに示したクライアントID、およびクライアントシークレットを用いて検証を行う。
ステップS2005で認可サーバーモジュール600は、ステップS2004の検証結果を確認する。確認の結果、親トークンを要求しているのが正当な認可サーバー連携クライアントであると判断された場合はステップS2006に遷移する。また正当でないと判断された場合はステップS2050に遷移する。ステップS2006で親トークン発行部603は、ステップS2002で受け付けたユーザーのアクセスから、認可サーバー連携クライアント400が要求しているスコープを取り出す。
ステップS2007で親トークン発行部603は、ステップS2006で取り出したスコープの親トークンを発行してよいか確認する。なお判断の詳細は後述する。ステップS2008で親トークン発行部603は、ステップS2007の確認の結果、取り出したスコープの親トークンを発行してよいと判断された場合はステップS2009に遷移する。また発行できないと判断された場合はステップS2050に遷移する。ステップS2009で親トークン発行部603は、認可サーバー連携クライアント400に対する親トークンを発行してよいかユーザーに確認を行う。これは、図12bに示すような認可画面801を表示し、ユーザーに認可操作を求めることで確認できる。なお、本実施例におけるユーザーの認可操作はこの1回のみとなり、アプリケーションに権限を移譲する際は親トークンを基に権限移譲の判断処理が行われる。以後、アプリケーションに権限を移譲するのはユーザーではなく、ユーザーから権限が委譲された画像形成装置300に備えられた認可サーバー連携クライアント400となる。
ステップS2010で親トークン発行部603は、ステップS2009でユーザーの認可を得られたか確認する。確認の結果として認可を得られたと判断された場合はステップS2011に遷移する。また認可を得られなかったと判断された場合はステップS2050に遷移する。ステップS2011で親トークン発行部603は、親トークンを発行するための認可コードを生成する。ステップS2012で親トークン発行部603は、ステップS2001で受け付けたWebブラウザ900を介したユーザーからのアクセスを、アクセス元である認可サーバー連携クライアント400に再度リダイレクトさせる。この再度のリダイレクトによるWebブラウザ900を操作するユーザーのアクセスには、ステップS2012で生成した認可コードが含まれる。リダイレクトが完了するとフローを終了する。
ステップS2050で認可サーバーモジュール600は、ステップS2001で受け付けたWebブラウザ900を介したユーザーからのアクセスを、アクセス元である認可サーバー連携クライアント400に再度リダイレクトさせる。この再度のリダイレクトの要求とともに親トークンを発行できない旨の通知がなされる。リダイレクトが完了するとフローを終了する。
次に、認可コードを用いて行う親トークンを発行するか否かの判断処理を図5bを用いて説明する。本フローは図5aにおけるステップS2007を詳細化したものである。ステップS2101で親トークン発行部603は、ステップS2004で検証された認可サーバー連携クライアント400に対し、ステップS2006で取り出したスコープの親トークンを発行するか否かを判断する。発行してよいと判断された場合はステップS2102に遷移し、発行してはいけないと判断された場合はステップS2150に遷移する。この判断時には、図10aに示すクライアント権限テーブル650を用いて判断が行われる。
クライアント権限テーブル650によるとclientABCは親トークンを発行する権限issueParentTokenを備えている。そのため親トークンを要求した認可サーバー連携クライアント400のクライアントIDがclientABCだった場合、親トークン発行部603は親トークンを発行してもよいと判断する。一方clientGHIは親トークンを発行する権限issueParentTokenを備えていない。そのため親トークンを要求した認可サーバー連携クライアント400のクライアントIDがclientGHIだった場合、親トークン発行部603は親トークンを発行しないと判断する。
更に、ステップS2102で親トークン発行部603は、ステップS2002で識別されたユーザーに対し、ステップS2006で取り出したスコープの親トークンを発行してよいかを判断する。この判断時には、図10bに示すユーザー権限テーブル660を用い判断が行われる。例えばステップS2002で識別されたユーザーがcloudUserXだった場合を考える。ユーザー権限テーブル660によると、cloudUserXにはprintスコープ、およびcreateFormスコープを持つ親トークンが発行される。そのため要求された親トークンのスコープがprintとcreateFormのいずれか1つ、または両方だった場合、親トークン発行部603は親トークンを発行してもよいと判断する。また、例えばステップS2002で識別されたユーザーがcloudUserYだった場合を考える。ユーザー権限テーブル660によると、cloudUserYはワイルドカード親トークンを発行してもよいユーザーである。そのためワイルドカード親トークンの発行を要求された場合、親トークン発行部603はワイルドカード親トークンを発行してよいと判断する。
ステップS2103で親トークン発行部603は、ステップS2101およびステップS2102の判断の結果を受け、ステップS2006で取り出したスコープの親トークンを発行してよいと最終的に判断し、フローを終了する。ステップS2150で親トークン発行部603は、ステップS2101およびステップS2102の判断の結果を受け、ステップS2006で取り出したスコープの親トークンを発行してはいけないと最終的に判断し、フローを終了する。
次に、認可サーバーモジュール600が親トークンを発行する処理を図5cを用いて説明する。本フローはS2012を経て認可コードを得た認可サーバー連携クライアント400から、認可サーバーモジュール600が親トークンの発行要求を受け付けることで開始される。ステップS2201で認可サーバーモジュール600は、認可サーバー連携クライアント400から親トークンの発行要求を受け付ける。ステップS2202で認可サーバーモジュール600は、ステップS2201で受け付けた親トークンの発行要求から、親トークンを要求している認可サーバー連携クライアント400の情報を取り出す。
ステップS2203でクライアント検証部602は、ステップS2202で取り出した情報を用いて認可サーバー連携クライアント400の検証を行う。クライアント検証部602は図9aにある、クライアントIDとクライアントシークレットを用いて検証を行う。ステップS2204で認可サーバーモジュール600は、ステップS2203の検証結果を確認する。確認の結果、親トークンを要求しているのが正当な認可サーバー連携クライアントであると判断された場合はステップS2205に遷移する。また正当でないと判断された場合はステップS2250に遷移する。
ステップS2205で認可サーバーモジュール600は、ステップS2201で受け付けた親トークンの発行要求から認可コードを取り出す。ステップS2206で親トークン発行部603は、ステップS2205で取り出された認可コードが正当なものか否かを確認する。確認の結果として正当な認可コードと判断された場合はステップS2207に遷移する。また正当でないと判断された場合はステップS2250に遷移する。
ステップS2207で親トークン発行部603は、ステップS2205で取り出された認可コードに対応する親トークンを発行し、親トークンの要求元である認可サーバー連携クライアント400に発行した親トークンを返す。親トークンを返すとフローを終了する。なお、ここで発行した親トークンは、図11aで示すような、発行済み親トークンテーブル670で管理する。図11aでは、parentToken11335577とparentTokenWWXXYYZZの2つの親トークンが発行されたあとの状態を表している。またそれぞれの親トークンは、printスコープとcreateFormスコープを特定するための親トークンと、ワイルドカードスコープを特定するためのワイルドカード親トークンを示している。夫々の親トークンを保持した認可サーバー連携クライアント400を備えた画像形成装置300は、夫々のトークンから特定される権限が認可サーバー200から与えられたことになる。
例えば、認可サービスモジュール600は、parentToken11335577を基にユーザーが持っている印刷サービスを利用するためのprint権限、および帳票サービスを利用するためのcreateForm権限が認可サーバー連携クライアント400に移譲されたことを特定できるようになる。一方、認可サービスモジュール600は、parentTokenWWXXYYZZを基に、ユーザーが持っているリソースサーバー210が提供する全てのサービスを利用するためのwildcard権限が認可サーバー連携クライアント400に移譲されたことを特定できるようになる。ステップS2250で親トークン発行部603は、親トークンの要求元である認可サーバー連携クライアント400に親トークンを発行できない旨を通知しフローを終了する。以上が、ユーザーの権限を画像形成装置300に移譲し、移譲された権限を特定するための親トークンを発行する詳細な説明となる。
次に、親トークンが発行されたあとの子トークンの発行について説明する。以下のフローは図3の(1)から(10)の流れを詳細に説明したものとなる。図4aは本実施例に係る画像処理装置300上のリソースサーバー連携アプリケーション500がユーザーの操作に応じて行う処理のフローである。本フローはユーザーがリソースサーバー連携アプリケーション500を操作することで開始される。
ステップS1001でリソースサーバー連携アプリケーション500は、リソースサーバーモジュール700が提供するサービスを受ける必要があるユーザーの操作を受け付ける。ステップS1002でリソースサーバー連携アプリケーション500は、操作を行っているユーザーに対応する子トークンを記憶しているかを子トークン記憶部502に確認する。子トークン記憶部502が記憶している取得済み子トークンテーブル550は図8bに示す通りである。ここでユーザーがdeviceUserA、またはdeviceUserBであれば、それぞれ対応する子トークンchildToken12345678、またはchildTokenABCDEFGHが見つかる。確認の結果、操作を行っているユーザーに対応する子トークンが見つかればステップS1003に遷移し、見つからなければステップS1011に遷移する。ステップS1003でリソース要求部503は、ステップS1002で見つかった子トークンを、子トークン記憶部502から取り出す。ステップS1004でリソース要求部503は、ステップS1003で取り出した子トークンを用いて、リソースサーバー210上のリソースサーバーモジュール700にアクセスし、処理を依頼する。リソースサーバー連携アプリケーション500のフローを終了する。
ステップS1011で子トークン要求部501は、認可サーバー連携クライアント400に対し子トークンの発行を要求する。このとき子トークン要求部501は、リソースサーバー連携アプリケーション500が必要とするスコープを認可サーバー連携クライアント400に通知する。本実施例では、アプリケーションに与える権限はリソースサーバー連携アプリケーション500からの通知に基づいて決定するものとしている。この際、認可サーバー連携クライアント400は、リソースサーバー連携アプリケーション500が通知したスコープを基に、アプリケーションに権限を与えても良いか否かを判断しても良い。この場合、認可サーバー連携クライアント400はアプリケーション毎に移譲しても良い権限を管理する必要がある。
ステップS1012で子トークン要求部501は、ステップS1011の要求の応答として、認可サーバーモジュール600から子トークンを得られたかを確認する。確認の結果として子トークンが得られたと判断された場合はステップS1013に遷移し、得られなかったと判断された場合はステップS1050に遷移する。ステップS1013で子トークン要求部501は、ステップS1011の応答として得られた子トークンを子トークン記憶部502に記憶させる。ステップS1014でリソース要求部503は、ステップS1011の応答として得られた子トークンを用いてリソースサーバーモジュール700にアクセスし、処理を依頼する。処理の依頼が完了するとリソースサーバー連携アプリケーション500のフローを終了する。ステップS1050でリソースサーバー連携アプリケーション500は、ステップS1011の応答として子トークンが得られず、リソースサーバーモジュール700に処理を依頼できない旨をユーザーに通知しフローを終了する。
次に、認可サーバー連携クライアント400がリソースサーバー連携アプリケーション500の要求に応じて子トークンを返す処理を図4bを用いて説明する。本フローは、S1011においてリソースサーバー連携アプリケーション500から子トークン要求を受け付けることで開始される。ステップS1101で認可サーバー連携クライアント400は、リソースサーバー連携アプリケーション500からの子トークン要求を受け付ける。
ステップS1102で認可サーバー連携クライアント400は親トークン記憶部402に問い合わせ、リソースサーバー連携アプリケーション500を操作しているユーザーに対応する親トークンを記憶しているか確認する。親トークン記憶部402が記憶している取得済み親トークンテーブル450は図8aに示す通りである。ここでユーザーがdeviceUserA、またはdeviceUserBであれば、それぞれに対応する親トークンparentToken11335577、またはparentTokenWWXXYYZZが見つかる。確認の結果、ユーザーに対応する親トークンが見つかればステップS1103に遷移し、見つからなければステップS1150に遷移する。
ステップS1150で認可サーバー連携クライアント400は、親トークンを用いて子トークンを取得できなかった旨をリソースサーバー連携アプリケーション500の子トークン要求部501に通知し、フローを終了する。ステップS1103で認可サーバー連携クライアント400は、ステップS1102で確認した親トークンを親トークン記憶部402から取り出す。ステップS1104で子トークン要求転送部403は、ステップS1103で取り出した親トークンを用いて、認可サーバーモジュール600に子トークン発行の要求を送信する。またその際、リソースサーバー連携アプリケーション500の子トークン要求部501から通知されたスコープも認可サーバーモジュール600に送信する。アクセスする先の認可サーバーのURLや認可サーバー連携クライアント400の認証情報は、図9aで示される認可サーバー連携情報460、あるいは図9bで示される認可サーバー連携情報461として管理されている。
ステップS1105で子トークン要求転送部403は、ステップS1104の応答として、子トークンを得られたか否かを確認する。確認の結果として子トークンを得られたと判断されればステップS1106に遷移し、得られなかったと判断されればステップS1150に遷移する。ステップS1106で認可サーバー連携クライアント400は、ステップS1106の応答として得られた子トークンをリソースサーバー連携アプリケーション500の子トークン要求部501に送信しフローを終了する。このように、認可サーバー連携クライアント400がリソースサーバー連携アプリケーション500に代わり子トークンの発行要求を行うプロキシとして機能する。認可サーバー連携クライアント400を備えた画像形成装置300は、ユーザーの代理として権限移譲を行う。
認可サーバーモジュール600が子トークンを発行する処理を図6aを用いて説明する。本フローは認可サーバーモジュール600が、認可サーバー連携クライアント400から子トークンの発行要求を受け付けることで開始される。ステップS2301で子トークン発行要求受信部610は、認可サーバー連携クライアント400から子トークンの発行要求を受け付ける。ステップS2302で子トークン発行要求受信部610は、ステップS2301で受け付けた子トークンの発行要求とともに認可サーバー連携クライアント400のアクセスから、子トークンを要求している認可サーバー連携クライアント400の情報を取り出す。ステップS2303でクライアント検証部602は、ステップS2302で取り出した情報を用いて認可サーバー連携クライアント400の検証を行う。例えば、図9aにある、クライアントIDとクライアントシークレットを用いて検証を行う。
ステップS2304で子トークン発行要求受信部610は、ステップS2303の検証結果を確認する。確認の結果、子トークンを要求している要求元が正当な認可サーバー連携クライアントであると判断された場合はステップS2305に遷移する。また正当でないと判断された場合はステップS2350に遷移する。ステップS2305で子トークン発行部611は、ステップS2301で受け付けた子トークン発行要求とともに、認可サーバー連携クライアント400のアクセスから親トークン、および認可サーバー連携クライアント400が要求している子トークンのスコープを取り出す。ステップS2306で子トークン発行部611は、ステップS2305で取り出したスコープの子トークンを発行してよいか確認する。なお判断の詳細は後述する。
ステップS2307で子トークン発行部611は、ステップS2306の確認の結果、取り出したスコープの子トークンを発行してよいと判断された場合はステップS2308に遷移する。また発行してはいけないと判断された場合はステップS2350に遷移する。ステップS2308で子トークン送信部612は、ステップS2301で受け付けた子トークン発行要求の応答として子トークンを発行し、子トークンの要求元である認可サーバー連携クライアント400に返す。子トークンを返すとフローを終了する。
発行した子トークンは図11bで示すような、発行済み子トークンテーブル680で管理される。図11bでは、childToken12345678とchildTokenABCDEFGHの2つの子トークンが発行されたあとの状態を表している。またそれぞれprintスコープが与えられた子トークンと、createFormスコープが与えられた子トークンを示している。例えば、認可サービスモジュール600は、childToken12345678を基に、認可サーバー連携クライアント400が持っている印刷サービスを利用するためのprint権限がリソースサーバー連携アプリケーション500に移譲されたことを特定できるようになる。一方、認可サービスモジュール600は、childTokenABCDEFGHを基に、別の認可サーバー連携クライアント400が持っている帳票サービスを利用するためのcreateForm権限が別のリソースサーバー連携アプリケーション500に移譲されたことを特定できるようになる。ステップS2350で子トークン発行要求受信部610は、子トークンの要求元である認可サーバー連携クライアント400に、子トークンを発行できない旨を通知し、フローを終了する。
図6bは本実施例に係る、子トークンの発行の判断の詳細なフローである。本フローは図6aにおけるステップS2306を詳細化したものである。ステップS2401で子トークン発行部611は、ステップS2303で検証された認可サーバー連携クライアント400に任意のスコープの子トークンを発行しても良い権限があるか否かを判断する。任意のスコープの子トークンを発行してよいと判断された場合はステップS2403に遷移する。それ以外の場合はステップS2402に遷移する。判断には、図10aに示すようなクライアント権限テーブル650を用いる。クライアント権限テーブル650によるとclientDEFは任意のスコープの子トークンを発行する権限anyScopeを備えている。そのため子トークンを要求した認可サーバー連携クライアント400のクライアントIDがclientDEFだった場合、子トークンを発行してよいと判断される。
ステップS2402で子トークン発行部611は、ステップS2303で検証された認可サーバー連携クライアント400に、ステップS2305で取り出したスコープの子トークンを発行しても良い権限があるか否かを判断する。発行してよいと判断された場合はステップS2403に遷移し、発行してはいけないと判断された場合はステップS2450に遷移する。判断には、図10aに示すようなクライアント権限テーブル650を用いられる。クライアント権限テーブル650によるとclientABCはprintスコープとcreateFormスコープの一方、または両方のスコープを持つ子トークンを発行する権限を備えている。そのためクライアントIDがclientABCであり、かつ要求されたスコープがprintスコープとcreateFormスコープの一方、または両方であれば子トークンを発行してよいと判断される。また要求されたスコープが第三のスコープを含む場合、clientABC が権限を持つprintスコープとcreateFormスコープのみを持つ子トークンの発行を許可する構成でもよいし、子トークンの発行を拒否する構成でもよい。
ステップS2403で子トークン発行部611は、ステップS2305で取り出した親トークンがワイルドカード親トークンか否かを確認する。確認の結果としてワイルドカード親トークンと判断された場合はステップS2405に遷移する。またワイルドカード親トークンでないと判断された場合はステップS2406に遷移する。判断には、発行済み親トークンテーブル670を用いる。例えば、ステップS2305で取り出した親トークンがparentTokenWWXXYYZZであればワイルドカード親トークンである。
ステップS2404で子トークン発行部611は、ステップS2305で取り出した親トークンを用いて、ステップS2305で取り出したスコープの子トークンを発行してよいか判断する。ここで子トークンを発行してよいと判断されればステップS2405に遷移し、発行してはいけないと判断された場合はステップS2450に遷移する。例えば、ステップS2305で取り出した親トークンがparentToken11335577であれば、これはprintスコープとcreateFormスコープを持つ親トークンである。そしてステップS2305で取り出した、要求されたスコープがprintスコープであれば子トークンを発行してよいと判断される。ステップS2403、およびステップS2404の判断処理により、認可サーバー200は、親トークンを基に特定された権限内の少なくとも一部の権限がリソースサーバー連携アプリケーション500に与えることになる。そして、認可サーバー200は与えた権限を特定するための子トークンを発行することになる。換言すれば、認可サーバー200がリソースサーバー連携アプリケーション500に与える最大の権限は、親トークから特定される権限内の権限であって、リソースサーバー連携アプリケーション500に必要な権限に限られることになる。
ステップS2405で子トークン発行部611は、親トークンに紐付けられたユーザーがステップS2305で取り出したスコープに対応する権限を有しているか否かを判断する。親トークンが発行されているにも関わらず、再度、ユーザーが有する権限を確認する理由は、ワイルドカード親トークンに対応するためである。ワイルドカード親トークンは要求された任意の権限をアプリケーションに対して与えることができる、権限を与えることに制限が無いトークンである。よって、子トークンを要求された時点でユーザーに権限が無いにもかかわらず子トークンが発行される危険がある。そのため、ステップS2405でユーザーの権限の確認を行っている。
子トークンを発行してよいと判断された場合はステップS2406に遷移し、発行してはいけないと判断された場合はステップS2450に遷移する。判断が行われる場合、子トークン発行部611は、親トークンに紐付けられたユーザーを発行済み親トークンテーブル670を用いて確認し、さらにそのユーザーの権限をユーザー権限テーブル660で判断する。例えば、ステップS2305で取り出した親トークンがparentToken11335577であれば、このトークンに紐付けられたユーザーはcloudUserXである。ユーザー権限テーブル660によれば、cloudUserX はprintスコープの権限とcreateFormスコープの権限有していることが確認できる。そのため、ステップS2305で取り出したスコープがprintであれば、子トークンを発行してよいと判断される。
ステップS2406で子トークン発行部611は、ステップS2401からステップS2405の判断の結果をあわせ、ステップS2305で取り出したスコープの子トークンを発行してよいと判断してフローを終了する。ステップS2450で子トークン発行部611は、ステップS2305で取り出したスコープの子トークンを発行してはいけないと判断してフローを終了する。以上が、認可サーバー200が、親トークンを基に子トークンを発行する処理の詳細な説明となる。上述した通り、認可サーバー200は親トークンの権限のみならず、認可サーバー連携クライアント400が有する権限、更に、ユーザーが有する権限の確認も行う。最後に、リソースサーバー連携アプリケーション500が子トークンを用いてリソースサービスを利用する処理について説明する。
図7aは本実施例に係る、リソースサーバーモジュール700が、子トークンを用いたリソースアクセスを制御する際のフローである。本フローはリソースサーバーモジュール700が、リソースサーバー連携アプリケーション500からアクセスを受けることで開始される。ステップS2501でリソースサーバーモジュール700は、リソースサーバー連携アプリケーション500からのアクセスを受ける。ステップS2502でリソースサーバーモジュール700は、リソースサーバー連携アプリケーション500によるアクセスから子トークンを取り出す。ステップS2503で子トークン権限確認部701は、ステップS2502で取り出した子トークンを認可サーバーモジュール600に渡し、子トークンから特定される権限を確認する。
ステップS2504で子トークン権限確認部701は、ステップS2503で認可サーバー200が子トークンを基に特定した権限に関する情報を受信し、受信された情報から確認した権限で、ステップS2501でアクセスを受け付けたリソースへのアクセスを許可してよいか否かを判断する。許可してよいと判断された場合はステップS2505へ遷移し、拒否すると判断された場合はステップS2550に遷移する。例えば、ステップS2503で確認された権限がprintであり、ステップS2501でアクセスを受け付けたリソースへのアクセスに必要な権限がprintだった場合、アクセスを許可してよいと判断される。
ステップS2505でリソース要求処理部702は、ステップS2501で受け付けたリソースへのアクセスを許可し、サービスの提供を行う。ステップS2550でリソースサーバーモジュール700は、ステップS2501で受け付けたリソースへのアクセスを拒否し、フローを終了する。
図7bは本実施例に係る、認可サーバーモジュール600における子トークンの検証フローである。本フローは認可サーバーモジュール600が子トークンを受け取ることで開始される。ステップS2601で子トークン検証部620は、リソースサーバーモジュール700から子トークンを受け取る。
ステップS2602で子トークン検証部620は、ステップS2601で受け取った子トークンで移譲された権限を確認し、リソースサーバーモジュール700に返し、フローを終了する。例えば、図11bによれば、受け取った子トークンがchildToken12345678だった場合、移譲された権限としてprintが特定した権限に関する情報として子トークン権限確認部701に送信される。以上が、リソースサーバー連携アプリケーション500が子トークンを用いてリソースサービスを利用する処理の説明となる。
実施例1によればユーザー、デバイス機器、およびデバイス機器上のアプリケーションの3者間で権限を移譲させていく際に、ユーザーの認可操作の回数を低減させつつ、デバイス機器上のアプリケーションに過剰な権限が移譲されないようにすることが可能になる。
<その他の実施例>
本願発明の実施例1では、親トークンを発行する必要があるという前提で説明したが、予め認可サーバー連携クライアント400がユーザー毎に親トークンを管理している状態でも良い。この場合、画像形成装置300に認可サーバー連携クライアント400がインストールされた段階で親トークンが使用でき、画像形成装置300を利用するユーザーが増加することには対処し難くなるが、子トークンを発行する処理に対応は可能である。
本願発明の実施例1では、リソースサービスとして帳票サービス、および印刷サービスと言った画像処理サービスを例に説明したが、これに限らずその他のサービス、例えばゲームアプリケーション、または音楽のコンテンツ配信サービスであっても良い。また、端末であるデバイス機器として画像形成装置を例に説明したが、これに限らずその他のデバイス機器、例えば、スマートフォン、または音楽機器であっても良い。また、リソースサービス連携アプリケーションとして帳票アプリケーション、印刷アプリケーションを説明したが、これに限らずその他のアプリケーション、例えば、アプリケーション管理ソフト、または音楽アプリケーションであっても良い。このように、本願発明を実施する各主体に制限はない。更に、リソースサービスは複数あることを前提に説明したが、単体であっても良い。
200 認可サーバー
210 リソースサーバー
300 画像形成装置
400 認可サーバー連携クライアント
500 リソースサーバー連携アプリケーション
600 認可サーバーモジュール
610 子トークン発行要求受信部
611 子トークン発行部
612 子トークン送信部
700 リソースサーバーモジュール

Claims (14)

  1. ネットワークを介して接続されたデバイス機器へサービスを提供するサーバーシステムと、前記サービスを利用するアプリケーションを備えた前記デバイス機器と通信することが可能な認可サーバーシステムであって、
    前記アプリケーションに対して前記サービスを利用する権限を移譲するための要求を受信するとともに、前記サービスを利用する権限を特定するための第1の権限情報を受信する受信手段と、
    前記要求が受信されたことに応じて、前記要求とともに前記受信手段により受信された第1の権限情報を基に権限を特定し、特定された権限内の少なくとも一部の権限を前記アプリケーションに対し与え、与えられた権限を特定するための第2の権限情報を発行する発行手段と、
    前記発行手段により発行された第2の権限情報を前記要求の要求元へ送信する送信手段と、を有する認可サーバーシステム。
  2. 前記発行手段は、特定された権限内の少なくとも一部の権限を前記アプリケーションに対し与える際に、要求元から要求された権限が前記特定された権限内の権限であるか否かを判断し、前記特定された権限内の権限であると判断したことに応じて、要求された権限を前記アプリケーションに対し与え、与えられた権限を特定するための第2の権限情報を発行することを特徴とする請求項1に記載の認可サーバーシステム。
  3. 前記デバイス機器は、前記アプリケーションに代わり、前記アプリケーションに対して前記サービスを利用する権限を移譲するための要求を行うクライアント手段を更に有し、
    前記受信手段は、前記クライアント手段に対して前記サービスを利用する権限を移譲するための要求を受信し、
    前記発行手段は、前記デバイス機器を操作するユーザーの権限を前記クライアント手段に対し与え、与えられた権限を特定するための前記第1の権限情報を発行することを特徴とする請求項1または2に記載の認可サーバーシステム。
  4. 前記認可サーバーシステムは、認可操作を行うための認可画面をユーザーが操作するブラウザへ提供する提供手段を更に有し、
    前記提供手段は、前記クライアントに対して前記サービスを利用する権限を移譲するための要求が受信されたことに応じて、前記認可画面をブラウザへ提供し、
    前記発行手段は、ユーザーが前記認可画面を用いて認可操作を行ったことに応じて、前記ユーザーの権限を前記クライアントに対し与え、与えられた権限を特定するための前記第1の権限情報を発行することを特徴とする請求項3に記載の認可サーバーシステム。
  5. 前記発行手段は、前記アプリケーションに与える権限に制限を設けるための前記第1の権限情報、および前記アプリケーションに与える権限に制限を設けないための前記第1の権限情報の両方を発行することが可能であって、
    更に、前記受信手段により前記アプリケーションに与える権限に制限を設けないための前記第1の権限情報が受信された場合、前記発行手段は、要求元から要求された権限が前記特定された権限内の権限であるか否かを判断することなく、要求された権限を前記アプリケーションに対し与えることを特徴とする請求項3または4に記載の認可サーバーシステム
  6. 前記受信手段により前記第1の権限情報が受信された場合、前記発行手段は、前記第1の権限情報を基にユーザーを特定し、特定されたユーザーは前記アプリケーションに対して与えられる権限を有するユーザーであるか否かを判断し、前記アプリケーションに対して与えられる権限を有するユーザーであると判断したことに応じて前記第2の権限情報を発行することを特徴とする請求項3乃至5の何れか1項に記載の認可サーバーシステム。
  7. 前記発行手段は、前記クライアント手段から受信した前記クライアント手段のスコープを基に、前記アプリケーションに対し与える権限と同じ権限が前記クライアント手段に与えられているか否かを判断し、前記クライアント手段に与えられていると判断したことに応じて前記第2の権限情報を発行することを特徴とする請求項3乃至6の何れか1項に記載の認可サーバーシステム。
  8. 前記受信手段は、前記アプリケーションが前記サービスを利用する際に送信した前記第2の権限情報を、前記サーバーシステムを介して受信し、
    前記送信手段は、受信された前記第2の権限情報を基に特定した権限に関する情報を送信し、
    前記サーバーシステムは、受信した前記権限に関する情報を基に権限を確認し、確認された権限で前記サービスを前記アプリケーションに対して利用させることを特徴とする請求項1乃至7の何れか1項に記載の認可サーバーシステム。
  9. 前記デバイス機器は印刷部、およびスキャナ部の内、少なくとも1つの画像処理部を搭載した画像形成装置であり、
    前記サーバーシステムは、印刷サービス、および帳票サービスの内、少なくとも1つの画像処理サービスを提供するサーバーシステムであり、
    前記認可サーバーシステムは、前記画像形成装置、および前記サーバーシステムと通信することが可能であることを特徴とする請求項1乃至8の何れか1項に記載の認可サーバーシステム。
  10. 前記デバイス機器はスマートフォンであり、
    前記認可サーバーシステムは、前記スマートフォンと通信することが可能であることを特徴とする請求項1乃至9の何れか1項に記載の認可サーバーシステム。
  11. ネットワークを介して接続されたデバイス機器へサービスを提供するサーバーシステムと、前記サービスを利用するアプリケーションを備えた前記デバイス機器と通信することが可能な認可サーバーシステムを制御する制御方法であって、
    受信手段は、前記アプリケーションに対して前記サービスを利用する権限を移譲するための要求を受信するとともに、前記サービスを利用する権限を特定するための第1の権限情報を受信し、
    発行手段は、前記要求が受信されたことに応じて、前記要求とともに前記受信手段により受信された第1の権限情報を基に権限を特定し、特定された権限内の少なくとも一部の権限を前記アプリケーションに対し与え、与えられた権限を特定するための第2の権限情報を発行し、
    送信手段は、前記発行手段により発行された第2の権限情報を前記要求の要求元へ送信することを特徴とする制御方法。
  12. ネットワークを介して接続されたデバイス機器へサービスを提供するサーバーシステムと、前記サービスを利用するアプリケーションを備えた前記デバイス機器と通信することが可能な認可サーバーシステムで実行されるプログラムであって、
    前記アプリケーションに対して前記サービスを利用する権限を移譲するための要求を受信するとともに、前記サービスを利用する権限を特定するための第1の権限情報を受信する受信ステップと、
    前記要求が受信されたことに応じて、前記要求とともに前記受信ステップにおいて受信された第1の権限情報を基に権限を特定し、特定された権限内の少なくとも一部の権限を前記アプリケーションに対し与え、与えられた権限を特定するための第2の権限情報を発行する発行ステップと、
    前記発行ステップにおいて発行された第2の権限情報を前記要求の要求元へ送信する送信ステップと、を有するプログラム。
  13. ネットワークを介して接続されたデバイス機器へサービスを提供するサーバーシステムと、前記サービスを利用するアプリケーションを備えた前記デバイス機器と、認可サーバーシステムと、を含む権限移譲システムであって、
    前記デバイス機器は、
    前記アプリケーションに対して前記サービスを利用する権限を移譲するための要求を送信するとともに、前記サービスを利用する権限を特定するための第1の権限情報を送信する第1の送信手段を有し、
    前記認可サーバーシステムは、
    前記アプリケーションに対して前記サービスを利用する権限を移譲するための要求を受信するとともに、前記サービスを利用する権限を特定するための第1の権限情報を受信する受信手段と、
    前記要求が受信されたことに応じて、前記要求とともに前記受信手段により受信された第1の権限情報を基に権限を特定し、特定された権限内の少なくとも一部の権限を前記アプリケーションに対し与え、与えられた権限を特定するための第2の権限情報を発行する発行手段と、
    前記発行手段により発行された第2の権限情報を前記要求の要求元へ送信する第2の送信手段と、を有し、
    前記サーバーシステムは、
    前記要求元から取得した前記第2の権限情報を基に権限を確認し、前記アプリケーションに対してサービスを提供する提供手段を有することを特徴とする権限移譲システム。
  14. ネットワークを介して接続されたデバイス機器へサービスを提供するサーバーシステムと、前記サービスを利用するアプリケーションを備えた前記デバイス機器と、を含む権限移譲システムを制御する制御方法であって、
    前記サービスにおけるユーザーの権限を前記デバイス機器に移譲させる第1の移譲ステップと、
    前記デバイス機器に移譲された権限を更に前記アプリケーションに移譲する場合、前記第1の権限移譲ステップにおいてデバイス機器に移譲された権限の中に前記アプリケーションが必要とする権限が含まれていることに応じて、前記デバイス機器に移譲された権限の内、前記アプリケーションに必要な権限を前記アプリケーションへ移譲させる第2の移譲ステップと、を含む制御方法。
JP2012214267A 2012-09-27 2012-09-27 認可サーバーシステム、権限移譲システム、その制御方法、およびプログラム Active JP6025480B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2012214267A JP6025480B2 (ja) 2012-09-27 2012-09-27 認可サーバーシステム、権限移譲システム、その制御方法、およびプログラム
EP13185819.3A EP2713579B1 (en) 2012-09-27 2013-09-24 Authorization server system, control method thereof, and program
EP16205107.2A EP3176991B1 (en) 2012-09-27 2013-09-24 Authorization delegation system, control method thereof, and program
US14/037,714 US9686257B2 (en) 2012-09-27 2013-09-26 Authorization server system, control method thereof, and storage medium
CN201310454430.6A CN103701768B (zh) 2012-09-27 2013-09-27 授权服务器及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012214267A JP6025480B2 (ja) 2012-09-27 2012-09-27 認可サーバーシステム、権限移譲システム、その制御方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2014067378A JP2014067378A (ja) 2014-04-17
JP6025480B2 true JP6025480B2 (ja) 2016-11-16

Family

ID=49301288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012214267A Active JP6025480B2 (ja) 2012-09-27 2012-09-27 認可サーバーシステム、権限移譲システム、その制御方法、およびプログラム

Country Status (4)

Country Link
US (1) US9686257B2 (ja)
EP (2) EP2713579B1 (ja)
JP (1) JP6025480B2 (ja)
CN (1) CN103701768B (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6033990B2 (ja) * 2013-09-20 2016-11-30 オラクル・インターナショナル・コーポレイション 単一のフレキシブルかつプラガブルOAuthサーバを備える複数のリソースサーバ、OAuth保護したREST式OAuth許諾管理サービス、およびモバイルアプリケーションシングルサインオンするOAuthサービス
JP6575052B2 (ja) * 2014-09-02 2019-09-18 富士ゼロックス株式会社 アクセス制御システム及びプログラム
JP2016085641A (ja) * 2014-10-27 2016-05-19 キヤノン株式会社 権限移譲システム、権限移譲システムにて実行される方法、およびそのプログラム
US10104084B2 (en) 2015-07-30 2018-10-16 Cisco Technology, Inc. Token scope reduction
JP6746244B2 (ja) * 2015-09-04 2020-08-26 フェリカネットワークス株式会社 情報処理装置、情報処理方法、プログラム、および情報処理システム
KR101816651B1 (ko) * 2017-02-14 2018-01-09 주식회사 코인플러그 Utxo 기반 프로토콜의 블록체인 데이터베이스를 사용하여 서비스 제공 서버에 의하여 제공되는 서비스를 이용하기 위한 사용자의 로그인 요청에 대하여 pki 기반의 인증을 통해 로그인을 대행하는 방법 및 이를 이용한 서버
CN109587187A (zh) 2017-09-28 2019-04-05 华为技术有限公司 用于调用网络功能服务的方法、装置和系统
US20230019281A1 (en) * 2019-12-19 2023-01-19 Telefonaktiebolaget Lm Ericsson (Publ) Resource authorization
JP7179791B2 (ja) * 2020-01-30 2022-11-29 Kddi株式会社 サービス提供システム、認証装置、サービス提供装置、サービス提供方法、認証プログラム及びサービス提供プログラム
WO2023043807A1 (en) * 2021-09-14 2023-03-23 University Of Pittsburgh - Of The Commonwealth System Of Higher Education Non-fungible token system for ensuring ethical, efficient and effective management of biospecimens

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005157881A (ja) * 2003-11-27 2005-06-16 Canon Inc サーバ端末装置、クライアント端末装置、オブジェクト管理システム、オブジェクト管理方法、コンピュータプログラム及び記録媒体
JP2005341090A (ja) * 2004-05-26 2005-12-08 Ricoh Co Ltd ビジネスオフィス装置
CN100447799C (zh) 2004-10-05 2008-12-31 株式会社理光 信息处理装置、服务提供服务器、系统和方法
JP4902981B2 (ja) * 2004-10-05 2012-03-21 株式会社リコー サービス提供システム及びサービス提供方法
US8001587B2 (en) * 2004-10-08 2011-08-16 Sharp Laboratories Of America, Inc. Methods and systems for imaging device credential management
JP2006221506A (ja) * 2005-02-14 2006-08-24 Hitachi Software Eng Co Ltd ユーザパスワード認証システムにおける権限委譲方法
JP4314267B2 (ja) * 2006-11-30 2009-08-12 キヤノン株式会社 アクセス制御装置およびアクセス制御方法及び印刷システム
US8544066B2 (en) * 2007-12-27 2013-09-24 Nec Corporation Access right management system, access right management method, and access right management program
US8793509B1 (en) 2008-02-12 2014-07-29 Google Inc. Web authorization with reduced user interaction
US20130132232A1 (en) * 2009-04-22 2013-05-23 Florian Pestoni System And Method For Digital Rights Management With Delegated Authorization For Content Access
JP5474084B2 (ja) * 2009-11-12 2014-04-16 キヤノン株式会社 画像処理装置および画像処理装置の制御方法
JP5562143B2 (ja) * 2010-06-28 2014-07-30 キヤノン株式会社 権限委譲システム、権限委譲方法、情報処理装置、及びプログラム
JP2012083945A (ja) * 2010-10-12 2012-04-26 Canon Inc 印刷システム、印刷変換サーバ、ポータブルデバイス、および制御方法、およびプログラム
JP5623234B2 (ja) * 2010-10-22 2014-11-12 キヤノン株式会社 権限委譲システム、権限委譲方法、情報処理装置およびその制御方法、並びにプログラム
US9948730B2 (en) * 2011-02-08 2018-04-17 S-Printing Solution Co., Ltd. Social network system with access provision mechanism and method of operation thereof
JP5289480B2 (ja) * 2011-02-15 2013-09-11 キヤノン株式会社 情報処理システム、情報処理装置の制御方法、およびそのプログラム。
CN103460215B (zh) * 2011-03-08 2016-10-26 电话有限公司 为服务应用提供授权访问以便使用最终用户的受保护资源的方法
US8533796B1 (en) * 2011-03-16 2013-09-10 Google Inc. Providing application programs with access to secured resources
US8650622B2 (en) * 2011-07-01 2014-02-11 Telefonaktiebolaget Lm Ericsson (Publ) Methods and arrangements for authorizing and authentication interworking
US9635028B2 (en) * 2011-08-31 2017-04-25 Facebook, Inc. Proxy authentication
US20130086669A1 (en) * 2011-09-29 2013-04-04 Oracle International Corporation Mobile application, single sign-on management
EP2575315A1 (en) * 2011-09-30 2013-04-03 British Telecommunications Public Limited Company Controlled access
US8800009B1 (en) * 2011-12-30 2014-08-05 Google Inc. Virtual machine service access
US9148429B2 (en) * 2012-04-23 2015-09-29 Google Inc. Controlling access by web applications to resources on servers

Also Published As

Publication number Publication date
EP2713579B1 (en) 2017-01-18
EP3176991A1 (en) 2017-06-07
EP2713579A1 (en) 2014-04-02
CN103701768B (zh) 2017-09-22
JP2014067378A (ja) 2014-04-17
EP3176991B1 (en) 2018-08-22
US20140090027A1 (en) 2014-03-27
CN103701768A (zh) 2014-04-02
US9686257B2 (en) 2017-06-20

Similar Documents

Publication Publication Date Title
JP6025480B2 (ja) 認可サーバーシステム、権限移譲システム、その制御方法、およびプログラム
KR102074030B1 (ko) 인가 서버, 인증 제휴 시스템 및 프로그램을 저장한 저장 매체
JP5423397B2 (ja) アクセス権限管理システム、アクセス権限管理方法及びアクセス権限管理用プログラム
JP6124687B2 (ja) 画像形成装置、サーバー装置、情報処理方法及びプログラム
CN110995450B (zh) 基于Kubernetes的认证授权方法及系统
JP4782986B2 (ja) パブリックキー暗号法を用いたインターネット上でのシングルサインオン
JP6141076B2 (ja) システムおよびその制御方法、アクセス管理サービスシステムおよびその制御方法、並びにプログラム
JP4186987B2 (ja) データベースアクセス制御方法、データベースアクセス制御装置、データベースアクセス制御のためのプログラム、および該プログラムを記録した記録媒体
US9065828B2 (en) System for delegation of authority, access management service system, medium, and method for controlling the system for delegation of authority
JP6929181B2 (ja) デバイスと、その制御方法とプログラム
US9584506B2 (en) Server apparatus, information processing method, program, and storage medium
CN110138718A (zh) 信息处理系统及其控制方法
CN106856475A (zh) 授权服务器以及认证协作系统
CN103188248A (zh) 基于单点登录的身份认证系统及方法
KR20140041368A (ko) 화상형성장치, 화상형성장치의 제어 방법, 및 기억매체
US20090049183A1 (en) Method of Client-Side Form Authentication
JP7170550B2 (ja) 管理装置およびその制御方法
JP4729365B2 (ja) アクセス制御システム、認証サーバ、アクセス制御方法およびアクセス制御プログラム
KR20220129245A (ko) 블록 체인 기반 탈중앙화 인가 프로토콜 방법 및 장치
JP2016115260A (ja) 権限移譲システム、権限移譲システムに用いられる認可サーバー、リソースサーバー、クライアント、媒介装置、権限移譲方法およびプログラム
KR101803535B1 (ko) 일회용 토큰을 이용한 싱글 사인온 서비스 인증방법
JP5177505B2 (ja) シングルサインオンによるグループ内サービス認可方法と、その方法を用いたグループ内サービス提供システムと、それを構成する各サーバ
JP2002342270A (ja) リモートアクセス制御方法、リモートアクセス制御プログラム
JP2004171524A (ja) サービス提供装置、サービス提供方法、サービス提供プログラム及び記録媒体
JP2007272689A (ja) オンラインストレージ認証システム、オンラインストレージ認証方法、及びオンラインストレージ認証プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150928

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160829

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161011

R151 Written notification of patent or utility model registration

Ref document number: 6025480

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151