[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2014067379A - デバイス装置、その制御方法、およびそのプログラム - Google Patents

デバイス装置、その制御方法、およびそのプログラム Download PDF

Info

Publication number
JP2014067379A
JP2014067379A JP2012214268A JP2012214268A JP2014067379A JP 2014067379 A JP2014067379 A JP 2014067379A JP 2012214268 A JP2012214268 A JP 2012214268A JP 2012214268 A JP2012214268 A JP 2012214268A JP 2014067379 A JP2014067379 A JP 2014067379A
Authority
JP
Japan
Prior art keywords
application
authorization
user
authority information
service
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
JP2012214268A
Other languages
English (en)
Other versions
JP6066647B2 (ja
Inventor
Isato Matsugashita
勇人 松ヶ下
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 JP2012214268A priority Critical patent/JP6066647B2/ja
Priority to EP13185820.1A priority patent/EP2713300B1/en
Priority to CN201310447048.2A priority patent/CN103825874B/zh
Priority to US14/038,570 priority patent/US9306923B2/en
Priority to KR1020130114847A priority patent/KR20140041368A/ko
Publication of JP2014067379A publication Critical patent/JP2014067379A/ja
Application granted granted Critical
Publication of JP6066647B2 publication Critical patent/JP6066647B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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
    • 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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • 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/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security

Landscapes

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

Abstract

【課題】 スマートフォンを始めとする、アプリケーションの追加・削除を可能とするデバイス装置に複数のアプリケーションをインストールし、各アプリケーションがクラウドサービスと連携するケースを考える。従来技術では、クラウドサービスを利用するアプリケーション毎にユーザーが認可操作を行う事になり、操作が煩雑になってしまう。
【解決手段】 権限情報の取得要求を要求元であるアプリケーションから受け付けた場合に、ユーザーから移譲された権限をアプリケーションに対して更に移譲する要求を、第1の権限情報とともに認可サーバーシステムへ送信し、第1の権限情報に基づき発行された第2の権限情報を認可サーバーシステムから取得する。
【選択図】 図8

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の権限情報とともに前記認可サーバーシステムへ送信し、前記第1の権限情報に基づき発行された第2の権限情報を前記認可サーバーシステムから取得することを特徴とする。
本発明によれば、従来よりも少ない回数の認可操作で複数の各アプリケーションに権限委譲を行う事ができる。
権限移譲システムの構成図。 各装置のハードウェア構成図。 各装置のソフトウェアモジュール構成図。 認可サーバーが管理するテーブル構造。 画像形成装置が管理するテーブル構造。 親トークン発行までのシーケンス。 認可処理に関連する画面。 子トークン発行までのシーケンス。 アプリケーション管理シーケンス。 アプリケーションの構成およびテーブル構造。
本願発明の実施例においては、インターネット上で帳票データを生成する帳票サービスと、インターネット上のデータを取得して印刷する印刷サービスとがインターネット上のサーバーに設置されていることを想定している。以降、帳票サービスや印刷サービスのように、ネットワークからデバイス装置へ提供されている機能をリソースサービスと呼ぶ。
本願発明の実施例においては端末であるデバイス装置として画像形成装置を例に説明する。画像形成装置上にインストールされた印刷アプリケーション、および帳票アプリケーションがリソースサービスを利用することを想定している。以降、印刷アプリケーションや帳票アプリケーションのようにリソースサービスを利用するアプリケーションをリソースサービス連携アプリケーションと呼ぶ。
更に、本願発明の実施例における権限の移譲の処理にはOAuthの仕組みを利用することとする。OAuthでは、ユーザーから移譲された権限の範囲を特定するための情報をトークンと呼ばれるデータ形式で表現する。サービスを利用される主体、即ちリソースサービスを提供するサーバーは、トークンに基づいて特定される権限範囲で外部からのアクセスを許す。トークンを始めとする権限の範囲を特定するために用いられる情報を本実施例では権限情報と称する。また、サービスを利用する主体、即ち画像形成装置、またはリソースサービス連携アプリケーションに移譲される権限の範囲を規定する情報をスコープと称し、ユーザーが画像形成装置に対して権限移譲した場合に発行されるトークンを親トークンと称する。本実施例では、ユーザーの権限を画像形成装置のようなデバイス装置に移譲することも本願発明の実施例のポイントの1つである。
例えば、画像形成装置上に印刷アプリケーション、および帳票アプリケーションが存在する場合を考える。従来技術では、ユーザーは、印刷アプリケーションからリソースサービスを利用する場合は印刷アプリケーションに、帳票アプリケーションからリソースサービスを利用する場合は帳票アプリケーションに対してそれぞれ個別に認可操作を行う必要がある。ユーザーの立場で考えると、同一の画像形成装置からリソースサービスを利用する場合には、例えば一度の認可操作でそれぞれのアプリケーションからリソースサービスを利用できるようになった方が良い。そこで、アプリケーションに権限を移譲する際、ユーザーに代わり画像形成装置がアプリケーションに権限を移譲することでユーザーの認可操作の回数を低減させる。ユーザーは画像形成装置に権限を移譲した段階で、アプリケーションにも権限を移譲することを暗に認可したこととなる。
なお、本願発明の実施例では画像形成装置に権限を移譲する際にユーザーに認可操作を行わせるが、アプリケーションに権限を移譲する際にはユーザーに認可操作を行わせない。以上の様に、本実施例では、ユーザーの権限をデバイス装置に移譲することでユーザーの認可操作を従来よりも少ない回数に減らしつつ、将来的に追加される各アプリケーションへの権限移譲を可能にする。
ここで、アプリケーションへ権限移譲をする方法について説明する。アプリケーションへ権限移譲をする方法として始めに思いつく構成は、画像形成装置が取得した親トークンをアプリケーションで共有する形態にする形態であろう。しかし、アプリケーションが親トークンを共有する形態を取った場合、全てのアプリケーションに全く同じ権限が与えられたことになってしまいセキュリティ上好ましくない。
例えば、印刷アプリケーションは印刷権限が必要だが帳票生成権限は不要である。また帳票アプリケーションは帳票生成権限が必要だが印刷権限は不要である。このように個々のアプリケーションがそれぞれ異なる目的のためのものであれば、それぞれのアプリケーションに必要な権限は異なるため、夫々のアプリケーションには出来る限り必要最低限の権限を与える形態がセキュリティ上は好ましい。
また、トークンを管理するサーバーは、想定していないアプリケーションからの接続を許可するとしても、どのようなアプリケーションからのアクセスであったのかの記録を残したいという要求も存在する。これは、例えば、より利用頻度の高いアプリケーションを特定し、そのアプリケーションの利用シーンに合わせて機能を拡張していくといった、リソースサービスの機能拡張への戦略を決めるうえで有用な情報である。また、リソースサービスを提供するサーバーは、トークンを用いてアクセスするリソースサービス連携アプリケーションが正規なアプリケーションであるかを認識する必要がある。でなければ、不正なアプリケーションにサービスを利用されてしまうことになる。
本願発明の実施例においては、個々のリソースサービス連携アプリケーションは親トークンを直接使うのでなく、デバイスに移譲された権限の内、アプリケーションが必要とする権限を更にアプリケーションに移譲する。そして、デバイスがアプリケーションに権限を移譲する際、トークンを管理するサーバーがアプリケーションの特定が可能なように移譲を行う。画像形成装置がリソースサービス連携アプリケーションに権限を再移譲した場合に発行されるトークンを子トークンと称する。親トークン、および子トークンの両方を発行するために必要な操作を認可連携と称する。
実施例1では、画像形成装置に特に有効な実施形態について説明する。スマートフォンのようなユーザー所有のデバイスのアプリケーションに権限を移譲する場合は、利便性は低いものの、自身が追加したアプリケーションへの操作であるため許容される操作であると言える。しかしながら、複数のユーザーで共有するデバイス、例えば、アプリケーションの追加・削除が可能な画像形成装置の場合は別である。画像形成装置に対するアプリケーションの追加は画像形成装置の管理者が行うことが通例であり、装置の一般利用者は追加されたアプリケーションを利用している認識はなく、画像形成装置に備わる機能を利用している認識しかしていない。そのため、何かしらの画像形成装置の機能(実際は追加されたアプリケーション)を利用するたびに認可操作を求められる事は、利便性が低いだけでなく、理由が理解できず煩雑に感じてしまう。また、権限移譲の際は利用者毎に認可操作が行われるので、装置の一般利用者が多ければ多いほど画像形成装置上で行われる認可操作は増加し、画像形成装置が占有されてしまい他のユーザーが利用できない状況も発生する。
そこで、上述したように、各アプリケーションに対する認可操作をより少ない回数、例えば、1回の認可操作で各アプリケーションに権限を移譲させる仕組みをデバイス装置、およびクラウドサービスに導入することが考えられる。つまり、1回の認可操作で取得した認可トークンをデバイス装置内のアプリケーション間で共有する方法が考えられる。
一方、クラウドサービスの提供元はアクセスしてくるアプリケーションを特定したいという要求がある。特に有償のクラウドサービスを提供する場合は不正利用を防止する目的でアクセス元のアプリケーションを限定したいという要求がある。OAuthを用いて、この要求にこたえるためにはアプリケーションごとに認可操作する事になる。
前述の1回の認可操作で取得した認可トークンを画像形成装置内のアプリケーション間で共有する方法では、クラウドサービス側でアプリケーションを特定できない。実施例1では、画像形成装置を例にこの2つの矛盾した関係を解決するための実施形態を説明する。
実施例1に係る権限移譲システムは、図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はそれぞれWAN100およびLAN101を介して接続されている。なお認可サーバー200、リソースサービス210、画像形成装置300はそれぞれ個別のLAN上に構成されていてもよいし同一のLAN上に構成されていてもよい。また認可サーバー200、リソースサービス210は同一のサーバー上に構成されていてもよい。
本実施の形態に係る権限移譲システムは、図2に示すような構成のサーバーおよび画像形成装置から成るシステム上に実現される。図2は、認可サーバー200と画像形成装置300とがWAN100およびLAN101を介して通信可能に接続されている様子を示す。
まず、認可サーバー200の構成について説明する。尚、図2に示されるハードウェアブロック図は一般的な情報処理装置のハードウェアブロック図に相当するものとし、本実施形態の認可サーバー200には一般的な情報処理装置のハードウェア構成を適用できる。また認可サーバー200だけでなく、リソースサーバー210についても同様である。図2において、CPU201は、ROM203のプログラム用ROMに記憶された、或いはハードディスク(HD)等の外部メモリ211からRAM202にロードされたOSやアプリケーション等のプログラムを実行しシステムバス204に接続される各ブロックを制御する。ここでOSとはコンピュータ上で稼動するオペレーティングシステムの略語であり、以下オペレーティングシステムのことをOSと呼ぶ。後述する各シーケンスの処理はこのプログラムの実行により実現できる。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。
キーボードコントローラ(KBC)205は、キーボード209や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)206は、CRTディスプレイ210の表示を制御する。ディスクコントローラ(DKC)207は各種データを記憶するハードディスク(HD)等の外部メモリ211におけるデータアクセスを制御する。ネットワークコントローラ(NC)208はWAN100もしくはLAN101を介して接続された画像形成装置300や他の機器との通信制御処理を実行する。尚、後述の全ての説明においては、特に断りのない限りサーバーにおける実行のハード上の主体はCPU201であり、ソフトウェア上の主体は外部メモリ211にインストールされたアプリケーションプログラムである。
次に、画像形成装置300の構成について説明する。図示するように、画像形成装置300において、301は画像形成装置300のCPUであり、ROM302や、外部メモリ303に記憶された制御プログラムに基づいてシステムバス304に接続される各ブロックを制御する。CPU301の処理により生成された画像信号が、印刷部I/F305を介して、印刷部(画像形成装置エンジン)306に出力情報として出力される。また、原稿を読み取るためのスキャナ部(不図示)を備えていても良く、画像形成装置300は印刷部、またはスキャナ部の内、少なくとも一方の画像処理部を有しているものとする。また、CPU301は、入力部307とネットワーク部310を介して認可サーバー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を備え、リソースサーバー210はリソースサーバーモジュール700を備えている。
図中300は画像形成装置300である。画像形成装置300はCPU301がROM302、或いは外部メモリ303に記憶されたOSを実行する事で各アプリケーションを制御する。ここで820はそのOSであり、一般的にはリアルタイムOSが使用されるが、昨今ではLinux(登録商標)等の汎用OSが使用される事もある。次に、810は仮想マシンであり、例えばJava(登録商標)VMがよく知られている。この仮想マシン810はOSで制御されるアプリケーションとして動作する仮想的なアプリケーション実行環境である。次に、800はアプリケーション管理フレームワークであり、仮想マシン810が提供するアプリケーション実行環境上で動作する管理対象のアプリケーションのライフサイクルを管理する機能と、それを制御するI/F、および各アプリケーション間での処理要求を仲介するためのI/F公開機能を備えている。ライフサイクルとはアプリケーションのインストール、起動、停止、アンインストールを含むアプリケーションの状態を示すものとする。本実施例におけるアプリケーション管理フレームワーク800は、OSGi(Open Services Gateway initiative)アライアンスで規定されたOSGi(登録商標)として説明する。
また、認可サーバー連携クライアント400、1つまたは複数のリソースサーバー連携アプリケーション500、ログインアプリケーション1000は、仮想マシン810が提供するアプリケーション実行環境にて動作する各種アプリケーションである。また、これらアプリケーションはアプリケーション管理フレームワーク800にてライフサイクル管理されている。なお、アプリケーション管理フレームワークは、後述するアプリケーション定義ファイルに記載された定義値に基づきアプリケーションの管理を行う。例えば、アプリケーションに固有に割り当てられているアプリケーションIDと、インストールされている、もしくは開始されているアプリケーションの実態との紐づけ管理を行う。アプリケーションIDはアプリケーションを識別するための識別情報であり、各アプリケーションに固有、または特定のグループに所属するアプリケーションに共通な情報である。830はアプリケーション管理フレームワーク800が公開するライフサイクル管理用の制御I/Fを介して、ユーザーからの各種アプリケーションのインストールや、開始リクエストを受け付け実行するアプリケーション管理アプリケーションである。
ここで認可サーバー連携クライアント400、リソースサーバー連携アプリケーション500およびログインアプリケーション1000は、画像形成装置が既定で備えていてもよく、またアプリケーション管理アプリケーション830、およびアプリケーション管理フレームワーク800を介して後からインストールされてもよい。さらに、画像形成装置300はWWWを利用するためのユーザーエージェントであるWebブラウザ900を備える。なお、アプリケーション管理フレームワーク800におけるアプリケーションのインストール、開始のシーケンスについては後述する。
図4a、図4b、図4cは認可サーバー200が外部メモリに記憶するデータテーブルである。これらデータテーブルは、認可サーバー200の外部メモリではなく、LAN101を介して通信可能に構成された別のサーバーに記憶するよう構成する事も出来る。図4aはユーザー管理テーブル1200である。ユーザー管理テーブル1200は、ユーザーID1201、パスワード1202、ユーザー種別1203から成る。認可サーバー200は、ユーザーID1201、パスワード1202の情報の組を検証し、正しければ認証情報を生成することで、各ユーザーもしくはクライアントを認証する機能を備える。認可サーバー200がユーザーID1201、パスワード1202の情報の組を検証する処理を認証処理と呼ぶ。
図4bはクライアント管理テーブル1300である。クライアント管理テーブル1300はクライアントID1301、クライアント名1302、リダイレクトURL1303、シリアル番号1304から成る。クライアントID1301は、ユーザー管理テーブル1200のユーザーID1201と関連付いており、互いに参照可能となっている。クライアント名1302、リダイレクトURL1303は後述のOAuthのシーケンスで利用される値である。そして、シリアル番号1304はクライアントが画像形成装置300に備えられていた場合に登録される値であり、画像形成装置をユニークに識別可能な値である。
図4cは認可トークン管理テーブル1400である。認可トークン管理テーブル1400は、認可トークンID1401、トークン種別1402、有効期限1403、スコープ1404、リフレッシュトークンID1405、リフレッシュ期限1406、クライアントID1407、ユーザーID1408、アプリケーションID1409から成る。これら認可トークン管理テーブル1400の処理詳細については後述する。
図5a、図5b、図5cは画像形成装置300が外部メモリに記憶するデータテーブルである。図5aはデバイスユーザー管理テーブル1500である。デバイスユーザー管理テーブル1500はログインアプリケーション1000から参照、更新可能なように構成されている。また、本実施例では画像形成装置300の外部メモリに記憶するよう記載しているが、画像形成装置300がLAN101を介して通信可能な別サーバーにて構成する事もできる。デバイスユーザー管理テーブル1500は、ユーザーID1501、パスワード1502、ICカード情報1503から成る。ログインアプリケーション1000は、画像形成装置300の入力画面を用いてユーザーからのユーザーID、パスワードを受け付ける画面(不図示)を構成する。そして、入力されたユーザーID、パスワードの組が、ユーザーID1501、パスワード1502の組と一致しているか検証し、一致していればユーザーID1501の情報を含むログインコンテキストを生成することで、各ユーザーを認証する機能を備える。また、ログインアプリケーション1000は画像形成装置300に接続された不図示のICカードリーダーからICカード情報を取得し、ICカード情報1503の情報と一致しているか検証する。ログインアプリケーション1000は、情報が一致すればユーザーID1501の情報を含むログインコンテキストを生成する事で、各ユーザーを認証する機能も備える。
ログインコンテキストとは、認証を受けたユーザーのユーザーID1501の情報が設定されたオブジェクトであり、その他に、ユーザーの属性情報、例えば、ユーザーが所属するドメインやユーザーの電子メールアドレス等の情報を設定するよう構成する事もできる。ユーザーが画像形成装置300にログインしている間、画像形成装置300はログインコンテキストを保持し、内部のプログラムモジュールが画像形成装置300のリソースを使用するときはログインコンテキストを利用してセキュアにアクセスを行う。
図5bはデバイス管理テーブル1600である。デバイス管理テーブル1600は認可サーバー連携クライアント400のみから参照、更新可能なように構成されている。デバイス管理テーブル1600は、クライアントID1601、クライアントシークレット1602、エンドポイントURL1603、リダイレクトURL1604から成る。ここで、クライアントID1601、クライアントシークレット1602は、予め認可サーバー200にて発行、記憶されたクライアント用のユーザーID1201、パスワード1202にそれぞれ対応している。さらに、リダイレクトURL1604も、認可サーバー200のクライアント管理テーブルに、クライアントID1301、クライアント名1302、画像形成装置300のシリアル番号1304と共に登録されている情報と同様のデータが格納されている。これらの情報を認可サーバー200に登録する方法としては、例えば、画像形成装置300がLAN101、WAN100を介してオンラインで登録する方法や、サービスマンが認可サーバー200、画像形成装置300にそれぞれ値を設定する方法でも良い。なお、エンドポイントURL1603は認可サーバーが公開するOAuthのためのエンドポイントのURLである。
図5cは親トークン管理テーブル1700である。親トーク管理テーブル1700は認可サーバー連携クライアント400からのみ参照、更新可能なよう構成されている。親トークン管理テーブル1700は、ユーザーID1701、認可トークンID1702、リフレッシュトークンID1703から成る。親トークン管理テーブル1700の処理詳細については後述する。
ここで、親トークン取得に関する本実施形態のシーケンスを図6、図7を用いて説明する。本シーケンスは、ユーザーが画像形成装置300を最初に利用する際に一度だけ行う操作である。例えば、認可サーバー連携クライアント400を画像形成装置300にインストールし、その後、ユーザーが始めて画像形成装置300を利用する際に図6で示すフローを行う形態が好ましい。まず、ユーザーが画像形成装置300においてログインアプリケーション1000が提供するログイン手段を用いて画像形成装置300にログインする(S1.1)。ここでユーザーIDがuser001 のユーザーがログインしたとする。すると、ログインアプリケーション1000はuser001のユーザーIDを含むログインコンテキストを生成し、アプリケーション管理フレームワーク800を介して各アプリケーションが取得可能なようにログインコンテキストをRAM308に格納する(S1.2)。
次に、ユーザーは画像形成装置300を操作してブラウザ900を実行する。なお、画像形成装置300ではなく、外部装置のブラウザからアクセスしても良い。そして、ブラウザ900を用いて認可サーバー連携クライアント400の認可連携を開始するためのURLへアクセスする(S1.3)。ここで認可サーバー連携クライアント400は図7aに示すような認可連携開始を確認する画面1801を応答するよう構成しても良い。認可サーバー連携クライアント400は、認可連携の開始を受け付けたら、デバイス管理テーブル1600のエンドポイントURL1603に記載のURLに対して、OAuthの認可リクエストを行うようブラウザ900にリダイレクト要求する(S1.4)。この認可リクエストには、デバイス管理テーブル1600のクライアントID1601、リダイレクトURL1604の情報が含まれる。また、OAuthでは、認可を受けたい権限範囲を示すスコープを認可リクエストに含むよう構成する事もできる。本実施例では、スコープとしてスコープAがリクエストされたとして説明する。
認可リクエストを受け付けた認可サーバー200は、ユーザーを認証するために図7bに示すログイン画面1802をブラウザ900に応答する(S1.5)。ユーザーはブラウザ900に示されたログイン画面1802に対して、ユーザーID、パスワードを入力しログインを実行する(S1.6)。認可サーバー200は受け付けたユーザーID、パスワードの組がユーザー管理テーブル1200に登録されている情報と一致しているかを検証し、一致している場合はユーザーIDと紐づいた認証情報を生成して次の処理を実行する。認可サーバー200は、認可リクエストに含まれているクライアントIDとリダイレクトURLの組みが、クライアント管理テーブル1300に登録されている情報と一致しているか検証する。検証の結果正しければ、クライアント管理テーブル1300のクライアント名1302を取得し、図7cに示す認可確認画面1803を生成しブラウザ900に応答する(S1.7)。その際、認証情報をブラウザ900に対してCookie情報として格納して応答する。なお、実施例では、認可確認画面1803にクライアント名1302を表示するよう説明したが、ここにクライアントの詳細な説明を追加して表示する事や、ログインしているユーザーの情報を表示するよう構成する事もできる。また認可リクエストにスコープを含む場合は、当該スコープの範囲を説明する情報を認可確認画面1803に表示するよう構成する事も出来る。この処理により、認可サーバー200はユーザーの認証と、認可サーバー連携クライアント400の認証を行ったことになる。
次に、ユーザーはブラウザ900に表示された認可確認画面1803で許可の認可操作を行う(S1.8)。許可を受けた認可サーバー200は次の処理を実行する。認可トークン管理テーブル1400に認可コードを発行し登録する。その際、認可トークンID1401に発行したトークンのID、トークン種別1402に認可コード、有効期限1403、および、認可リクエスト時に受け付けたクライアントIDをクライアントID1407、ブラウザ900からCookieとして送信された認証情報に紐づくユーザーIDをユーザーID1408に登録する。そして、認可応答として、認可コードの認可トークンIDを付与したリダイレクトURLに対してブラウザ900をリダイレクト要求する(S1.9)。
認可応答を受けた認可サーバー連携クライアント400は、認可サーバー200に対してトークン要求を行う(S1.10)。このトークン要求には、認可応答で取得した認可コードの認可トークンID、デバイス管理テーブル1600のクライアントID1601、クライアントシークレット1602、リダイレクトURL1604を含む。トークン要求を受けた認可サーバー200は以下の検証を行い、正しい場合は親トークンを生成する(S1.11)。認可サーバー200は、トークン要求で受けつけたクライアントID、クライアントシークレットの組が、ユーザー管理テーブル1200に登録されているユーザーID1201、パスワード1202の組と一致しているか検証する。次に、トークン要求で受けつけた認可コードの認可トークンIDが、認可トークン管理テーブル1400に登録されているか、有効期限内かを検証する。そして、トークン要求で受けつけたクライアントIDとリダイレクトURLがそれぞれ認可トークン管理テーブル1400の認可トークンIDで特定されるクライアントID1407と、クライアント管理テーブル1300のリダイレクトURL1303と一致しているかを検証する。
ここで、リダイレクトURL1303はクライアント管理テーブル1300ではなく、認可トークン管理テーブル1400にカラムを追加し、認可コード発行時に登録して、追加カラムと検証するよう構成する事もできる。これらすべての検証が正しい場合に認可サーバー200は親トークンを生成して、親トークンの認可トークンIDを認可サーバー連携クライアント400に応答する。この際、応答内容として親トークンと同時に発行したリフレッシュトークンIDも含む(S1.12)。親トークンには、認可トークンID1401に発行したトークンのID、トークン種別1402に親トークン、有効期限1403、および、認可コードから引き継ぐ情報として、クライアントID1407、ユーザーID1408が関連付けて登録される。この際、親トークンをリフレッシュするためのリフレッシュトークンを発行し、リフレッシュトークンID1405、リフレッシュ期限1406に登録する。親トークンのリフレッシュ処理のフローについては後述する。なお、リフレッシュトークンのように権限情報を再発行するために必要な情報を、本願発明では再発行情報と称する。
親トークンの認可トークンID、リフレッシュトークンIDを取得した認可サーバー連携クライアント400は、アプリケーション管理フレームワーク800を介して画像形成装置300にログインしているユーザーのログインコンテキストを取得する(S1.13)。そして、認可サーバー連携クライアント400は、ログインコンテキストからデバイスユーザーIDを取得し、親トークン管理テーブル1700に、デバイスユーザーID、親トークンの認可トークンID、リフレッシュトークンIDを保存する(S1.14)。そして、認可サーバー連携クライアント400は、不図示の認可連携完了の旨を示す画面をブラウザ900に応答し、処理を終了する。以上が、ユーザーが持っているサービスを利用するための権限をデバイス装置である画像形成装置300に移譲することを許可する認可操作が行われたことで、デバイス装置に権限が移譲されるための構成、およびフローとなる。ユーザーの権限を委譲された画像形成装置300は、ユーザーに代わり各アプリケーションに権限を移譲していく。
続いて、ユーザーの権限を委譲された画像形成装置300が、ユーザーに代わりアプリケーションに権限を移譲するためのシーケンスを図8を用いて説明する。本シーケンスは、ユーザーが画像形成装置300に備えるリソースサービス連携アプリケーション400を実行する際に行われるシーケンスである。なお、親トークン取得のシーケンスが実施されている必要がある。まず、ユーザーが画像形成装置300においてログインアプリケーション1000が提供するログイン手段を用いて画像形成装置300にログインする(S2.1)。ここでユーザーIDがuser001 のユーザーがログインしたとする。すると、ログインアプリケーション1000はuser001を含むログインコンテキストを生成し、アプリケーション管理フレームワーク800を介して各アプリケーションから取得可能なようログインコンテキストをRAM308に格納する(S2.2)。なお、親トークン取得のシーケンスの後、連続して本シーケンスを実行する場合は、再度ログインする必要はなく、次のS2.3からの操作シーケンスとなる。
次に、ユーザーは画像形成装置300を操作してリソースサービス連携アプリケーション400のアプリケーション画面(不図示)にアクセスする(S2.3)。このアプリケーション画面は例えば、リソース連携アプリケーション400が印刷アプリケーションであった場合は印刷する文書を選択する画面であり、帳票アプリケーションであった場合は、作成する帳票を選択する画面である。ここでアプリケーション画面にアクセスするとは、例えば、画像形成装置300が備える操作パネル上に、アプリケーション管理フレームワーク800にて開始可能状態とされている各アプリケーションのアイコンが表示されており、その中から起動するアプリケーションを選択する事を指す。
アプリケーション画面にアクセスされたリソースサービス連携アプリケーション400は、アプリケーション管理フレームワーク800からログインコンテキストを取得する(S2.4)。そして、アプリケーション管理フレームワーク800に登録されている認可サーバー連携クライアント400のトークン取得インターフェースに対してトークン取得要求を行う(S2.5)。この際、取得したログインコンテキストを要求に含める。なお、ここでトークンに必要なスコープを要求するよう構成する事もできる。本実施例では、スコープAが引き続き要求されたとして説明する。トークン取得要求を受けた認可サーバー連携クライアント400は、アプリケーション管理フレームワーク800を介して、要求元のリソースサービス連携アプリケーション400のアプリケーションIDを取得する(S2.6)。アプリケーションID取得のシーケンスについては後述する。
アプリケーションIDを取得した認可サーバー連携クライアント400は以下の処理を行う。まず、取得したログインコンテキストが有効かどうかアプリケーション管理フレームワーク800を介して検証する。そして、正しい場合はログインコンテキストに紐づいたデバイスユーザーIDを取得する。なお、このログインコンテキストの検証は、認可サーバー連携クライアント400で実施するよう説明したが、ログインコンテキストのインスタンス生成をアプリケーション管理フレームワーク800のみ行えるよう構成し、インスタンスが生成されている事によって、正当であると判断するよう構成する事もできる。次に、認可サーバー連携クライアント400は、取得したデバイスユーザーIDをキーに親トークン管理テーブル1700からリフレッシュトークンIDを取得する。この時、親トークン管理テーブル1700にユーザーIDが登録されていない場合は、親トークン取得シーケンスを実施するようユーザーに促す画面(不図示)を提示するよう構成する事もできる。また、場合によってはブラウザ900を起動し、親トークン取得シーケンスを自動的に開始するよう構成するでも良い。
認可サーバー連携クライアント400は取得したリフレッシュトークンIDと、デバイス管理テーブル1600のクライアントID、クライアントシークレットを用いて、認可サーバー200にトークンリフレッシュ要求を行う(S2.7)。ここでは、親トークン取得シーケンスの実行から、子トークン取得のシーケンスまでの間に時間が経過し、親トークンの有効期限が切れていることを前提として説明している。しかし、親トークンが有効期限内であった場合は、トークンリフレッシュ要求を実施せず、S2.11の子トークン取得要求を実施する形態でも良い。
トークンリフレッシュ要求を受けた認可サーバー200は、以下の処理を実行する。まず、トークンリフレッシュ要求に含まれるクライアントID、クライアントシークレットの組がユーザー管理テーブル1200のユーザーID1201とパスワード1202の組と一致しているかを検証する。一致している場合は、トークンリフレッシュ要求に含まれるリフレッシュトークンIDが認可トークン管理テーブル1400に登録されており、リフレッシュ期限内か確認する。さらに、トークンリフレッシュ要求に含まれるクライアントIDがクライアントID1407と一致するか検証し、全ての検証が正しい場合は、親トークンをリフレッシュ(親トークンの再発行)し、リフレッシュした親トークンの認可トークンIDと、リフレッシュトークンIDを認可サーバー連携クライアント400に応答する(S2.9)。ここで、リフレッシュの方法としては、新たに認可トークンID、リフレッシュトークンIDを発行して認可トークン管理テーブル1400に登録する。この際、トークンリフレッシュ要求で受けつけたリフレッシュトークンIDによって特定されるレコードのトークン種別1402、スコープ1404、クライアントID1407、ユーザーID1408を引き継ぐ。また、引き継ぎ後、元のリフレッシュトークンIDは再度リフレッシュできないよう無効化する。なお、リフレッシュトークンの有効期限を強制的に期限切れにする形態や、リフレッシュトークンIDは新規発行せず、引き継ぐよう構成する事も可能である。
リフレッシュされた親トークンを取得した認可サーバー連携クライアント400は、受け付けた認可トークンID、リフレッシュトークンIDにて、親トークン管理テーブルの情報を上書きし、再登録する(S2.10)。そして、親トークンの認可トークンIDと、デバイス管理テーブル1600のクライアントID、クライアントシークレット、トークン取得要求で受けつけたスコープ、および、取得したアプリケーションIDを用いて、認可サーバー200に子トークン取得要求を行う(S2.11)。ここで子トークン取得要求に含めるアプリケーションIDがリソースサービス連携アプリケーション400による改竄の余地がない事は後述する。子トークン取得要求は、ユーザーから移譲された権限を前記アプリケーションに対して更に移譲する要求と同等である。
子トークン取得要求を受けた認可サーバー200は以下の処理を実行する。まず、子トークン取得要求に含まれるクライアントID、クライアントシークレットの組がユーザー管理テーブル1200のユーザーID1201とパスワード1202の組と一致しているかを検証する。一致している場合は、子トークン取得要求に含まれる認可トークンIDが認可トークン管理テーブル1400に登録されており、有効期限内か確認する。さらに、子トークン取得要求に含まれるクライアントIDがクライアントID1407と一致するか検証し、全ての検証が正しい場合は、子トークンを生成し認可サーバー連携クライアント400に応答する(S2.13)。
ここで、認可サーバー200は、子トークンのための認可トークンIDを発行して、トークン種別1402を子トークン、アプリケーションID1409に取得したアプリケーションID、スコープ1404に子トークン取得要求に含まれるスコープを関連付けて認可トークン管理テーブル1400に登録する。この際、子トークン取得要求で受けつけた認可トークンIDによって特定されるレコードのクライアントID1407、ユーザーID1408を引き継ぐ。また、引き継いだ結果、アプリケーションIDと、子トークンとが紐付けられることになるので、認可サーバー200は子トークンからアプリケーションIDを特定することができる。結果、この時発行した子トークンには、ユーザーを特定するためのユーザーID、画像形成装置を特定するためのクライアントID、およびアプリケーションを特定するためのアプリケーションIDが紐づく。なお、子トークンではリフレッシュトークンは発行しない。これは、トークンリフレッシュ要求するためにはクライアントID、クライアントシークレットが必要であるため、子トークンを利用する各アプリケーションではリフレッシュ要求は出来ないからである。さらには、各アプリケーションがリフレッシュトークンを漏洩する事で、自由にトークンの有効期限を更新されてしまうセキュリティリスクをなくすためである。
そして、子トークンの認可トークンIDを取得した認可サーバー連携クライアント400は要求元のリソースサービス連携アプリケーション400に子トークンの認可トークンIDを応答する。子トークンの認可トークンIDを取得したリソースサービス連携アプリケーション400は、リソースサーバー210に認可トークンIDを含むリソース要求を行う(S2.14)。リソース要求を受けたリソースサーバー210は、要求に含まれる子トークンの認可トークンIDのトークン検証を認可サーバー200に対して要求する(S2.15)。このトークン検証要求には、スコープを含める事ができる。トークン検証要求を受けた認可サーバー200は、受け付けた認可トークンIDが、認可トークン管理テーブル1400に登録されているか、有効期限内か、および、受け付けたスコープがスコープ1404の範囲内かを検証(S2.16)し、検証結果をリソースサーバー210に応答する(S2.17)。
次に、検証の結果、アプリケーションのアクセスは正規なアクセスであると判断したリソースサーバー210は、認可サーバー200に対して、子トークンの認可トークンIDのトークン情報取得を要求する(S2.18)。トークン情報取得要求を受けた認可サーバー200は、認可トークン管理テーブル1400から受け付けた認可トークンIDにて特定される情報を取得し、それら情報をリソースサーバー210に応答する(S2.19)。この応答には、例えば、スコープ1404、クライアントID1407、ユーザーID1408、アプリケーションID1409の情報を含む。さらには、クライアントID1407にて特定されるクライアント管理テーブル1300に登録されているシリアル番号1304を含むよう構成する事もできる。
トークン情報を取得したリソースサーバー210は、取得した情報を元に要求を受け付けたリソースに対するアクセスを許可するか拒否するかを判断する。ここでは、リソースサーバー210に予めアクセス可能なアプリケーションIDが設定されているとし、その設定されているアプリケーションIDと、子トークンのトークン情報から取得されたアプリケーションIDを比較することでアクセスを許可するかを検証する(S2.20)。検証の結果、アクセス許可と判断された場合は、リソースサービス連携アプリケーション400に対して、リソースを応答する(S2.21)。リソースは、例えば、リソースサーバー210が印刷サービスであった場合は印刷可能な文書のリストであり、帳票サービスであった場合は、作成可能な帳票のリストである。なお、リソースサーバー210は、リソースサービス連携アプリケーション400を画像形成装置300へ配信する配信サーバーからアプリケーションIDを取得することで、アプリケーションIDを予め設定することができる。または、リソースサービス連携アプリケーション400を開発した開発者からの申請を受けて、リソースサーバー210の管理者が手動でアプリケーションIDを設定しても良い。
ここで、S2.15から、S2.20まで、トークンの検証を認可サーバー200、リソースサーバー210それぞれで行うよう説明したが、リソースに対するアクセス可能なアプリケーションを認可サーバー200で管理し、全ての検証を認可サーバー200で行うよう構成する事も可能である。また、本実施例ではアクセス可能なアプリケーションの判断をアプリケーションIDを用いて実施するよう説明したが、トークン情報から取得できるシリアル番号やクライアントIDを元に画像形成装置300を識別し、アクセスの可否を判断するよう構成する事もできる。また、同様に、トークン情報から取得できるスコープやユーザーIDを元にアクセスの可否を判断するよう構成する事もできる。リソース応答を受け付けたリソースサービス連携アプリケーション400は、受信したデータを元に前述のアプリケーション画面を構成し、ユーザーに応答する(S2.22)。
これら、親トークン取得のシーケンス、および子トークン取得のシーケンスによって、ユーザーの認可操作を1回に抑え、かつリソースサーバー210はアクセスしてきたアプリケーションを識別する事が可能となる。また、リソースサーバー210は、子トークンを世紀に取得したリソースサービス連携アプリケーション400からのアクセスであることを認識することもできる。
次に、リソースサービス連携アプリケーション400が認可サーバー連携クライアント400へのトークン取得要求を行う方法、および認可サーバー連携クライアント400が要求元のアプリケーションIDを取得する方法について説明する。
図10aはインストールするアプリケーションのアプリケーションファイルの構成を示す図である。アプリケーションファイル1900は、アプリケーション定義ファイル1901、アプリケーションの実態であるアプリケーション1902から成る。また、アプリケーションファイルはアプリケーション定義ファイル1901、アプリケーション1902を含む形で暗号化されており、復号するための鍵はライセンスファイル1910に記載されている。また、アプリケーション定義ファイル1901は、アプリケーションを一意に識別するためのアプリケーションIDと、アプリケーションのバージョン、およびアプリケーション名が記述されている。また、アプリケーション定義ファイル1901は、その他にも、アプリケーションが消費する記憶領域等のリソース量の定義や、アプリケーションを開始するときに実行するクラスのクラスパス等が記載されている。
図10bは、アプリケーションをインストールする際に必要となるライセンスファイルの構成を示す図である。ライセンスファイル1910は、アプリケーションファイル1900を復号するためのアプリケーション復号鍵1911から成る。またライセンスファイル1910は、アプリケーション管理アプリケーション830にて保持しされている秘密鍵で復号可能なよう公開鍵にて暗号化されている。これらの構成により、アプリケーション管理アプリケーション830にて保持されている秘密鍵が漏洩しない限りは、アプリケーション定義ファイル1901、およびアプリケーション1902は改竄出来ないよう保護されている。
図10cはアプリケーション管理フレームワーク800にて管理されるアプリケーション管理テーブル1920である。アプリケーション管理テーブル1920は、アプリケーションID1921、バージョン1922、アプリケーション名1923、保存場所1924、状態1925から成る。
また、アプリケーション管理フレームワーク800は、各アプリケーションが実行され、RAM308上に展開された状態であるアプリケーションオブジェクトをリストで管理している。リスト上に登録されている各アプリケーションオブジェクトは、アプリケーション管理テーブル1920の情報とアプリケーションIDで紐づいており、アプリケーション管理テーブル1920の各情報を参照可能に構成されている。また、アプリケーションオブジェクトのリストは、アプリケーション管理フレームワーク800のI/Fを介してアプリケーション管理アプリケーション830から取得可能なよう構成されている。
次に、画像形成装置300にアプリケーションをインストールするシーケンスと、各アプリケーションを開始するシーケンスを、図9を用いて説明する。また、図8で説明したシーケンスと同じ処理に関しては共通のシーケンス番号とし、説明を省略する。まず、アプリケーションのインストールシーケンスについて説明する。ユーザーは、不図示のPC(パーソナルコンピューター)に備えるWebブラウザを用いて、画像形成装置300のアプリケーション管理アプリケーション830が備えるアプリケーション管理画面(不図示)にアクセスする(S3.1)。アプリケーション管理アプリケーション830は、アプリケーション管理画面を応答する(S3.2)。このとき、アプリケーション管理アプリケーション830へのアクセス認証として不図示のログイン画面を表示し、認証を実施するよう構成する事もできる。
次にユーザーは、アプリケーション管理画面に、インストールするアプリケーションファイル1900、およびライセンスファイル1910をアップロードし、インストール指示を行う(S3.3)。本実施例では、アプリケーションとして、リソースサービス連携アプリケーション400として印刷アプリケーションがアップロードされたとして説明する。アプリケーションファイル1900、およびライセンスファイル1910を受け付けたアプリケーション管理アプリケーション830は以下の処理を行う。アプリケーション管理アプリケーション830が保持している秘密鍵でライセンスファイルを復号する。復号に成功するとライセンスファイル1910からアプリケーション復号鍵1911を取得する。次に、受け付けたアプリケーションファイル1900をアプリケーション復号鍵1911で復号する。復号したアプリケーションファイルより、アプリケーション定義ファイル1901を取得し定義内容を解析する。アプリケーション復号鍵1911にて復号でき、さらにアプリケーション定義ファイル1901が解析出来たことにより、アプリケーション定義ファイル1901内に記載の内容は正当であると判断できる。
また、アプリケーションファイル1900はアプリケーション定義ファイル1901とアプリケーション1902の署名値が記載されたファイルを保持するよう構成する事も可能であり、その場合は、アプリケーション復号鍵1911にて復号後に署名値を検証する事で、アプリケーションIDに改竄が無いことをより高度に担保することもできる。なお、アプリケーションファイル1900をアプリケーション復号鍵1911で復号化出来なかった場合、および/または署名値が不正なものであった場合、アプリケーションが改竄された恐れがあるため、インストール対象のアプリケーションはインストールされない。
次に、アプリケーション管理アプリケーション830は、復号したことで取得したアプリケーション定義ファイル1901、およびアプリケーション1902を、アプリケーション管理フレームワーク800のI/Fを介して画像形成装置300に保存する。その際、アプリケーション定義ファイルを展開し、アプリケーションID、バージョン等の情報と共に保存場所をアプリケーション管理テーブル1920に記憶する(S3.5)。また、その際、アプリケーションの状態1925に「インストール済み」として登録する。
次に、アプリケーションの開始シーケンスについて説明する。なお、画像形成装置300には、リソースサービス連携アプリケーション400、および認可サーバー連携クライアント400が既にインストールされているものとする。
ユーザーは、不図示のPC(パーソナルコンピューター)、または画像形成装置300が備えるWebブラウザを用いてアプリケーション管理アプリケーション830に対して、認可サーバー連携クライアント400を開始するよう指示する(S3.6)。アプリケーション管理アプリケーション830は、アプリケーション管理テーブル1920の情報を基に認可サーバー連携クライアント400の保存場所を特定し、アプリケーション管理フレームワーク800のI/Fを介してアプリケーションの起動開始を指示する。
アプリケーション開始指示を受けた認可サーバー連携クライアント400は、子トークン取得要求を受け付けるためのインターフェースをアプリケーション管理フレームワーク800に登録する。登録を受けたアプリケーション管理フレームワーク800は、インターフェースを記憶する。インターフェース登録が完了した認可サーバー連携クライアント400は、アプリケーション管理フレームワーク800にアプリケーション開始を応答する(S3.8)。
アプリケーション管理フレームワーク800は、認可サーバー連携クライアント400の状態1925を開始状態に変更し、開始されたアプリケーションオブジェクトをアプリケーションオブジェクトリストにて保持する(S3.9)。アプリケーションオブジェクトは、アプリケーションの実態を有するインスタンスと同義である。
次に、ユーザーは、不図示のPC(パーソナルコンピューター)、または画像形成装置300が備えるWebブラウザ(不図示)を用いて、アプリケーション管理アプリケーション830に対し、リソースサービス連携アプリケーション400を開始するよう指示する(S3.10)。アプリケーション管理アプリケーション830は、アプリケーション管理テーブル1920の情報を基にリソースサービス連携アプリケーション400の保存場所を特定し、アプリケーション管理フレームワーク800を介してアプリケーションの起動開始を指示する。アプリケーション開始指示を受けたリソースサービス連携アプリケーション400は、アプリケーションの初期化処理を実行し、アプリケーション管理フレームワーク800に対してアプリケーション開始を応答する(S3.11)。アプリケーション管理フレームワーク800は、リソースサービス連携アプリケーション400の状態1925を“開始”に変更し、開始されたアプリケーションオブジェクトをアプリケーションオブジェクトリストにて保持する(S3.12)。
上記シーケンスによって、アプリケーション管理フレームワーク800は画像形成装置300にインストールされている各アプリケーションを開始し、各アプリケーションのアプリケーション定義ファイルに記載されているアプリケーションIDを各アプリケーションオブジェクトから参照可能なように保持する事ができる。また、アプリケーション管理フレームワーク800は、アプリケーションからインターフェース登録を受け付ける事で、他のアプリケーションから登録されたインターフェースを実行可能に保持する事ができる。この時、インターフェース登録の方法としては、インターフェースが定義されたクラスへのクラスパス(クラス定義への参照パス)を渡す。
次に、S2.3にてリソースサービス連携アプリケーション400のアプリケーション画面にユーザーがアクセスした際のシーケンスの詳細を説明する。リソースサービス連携アプリケーション400は、前述したように、S2.4にてログインコンテキストを取得後、S2.5にて認可サーバー連携クライアント400にトークン取得要求を行う。その際、リソースサービス連携アプリケーション400は、S3.13にて、アプリケーション管理フレームワーク800に対して登録されているインターフェースの取得要求を行う。インターフェース取得要求を受けたアプリケーション管理フレームワーク800は、要求元のアプリケーションをアプリケーションオブジェクトのリストより特定し、アプリケーション定義ファイルに記載されているアプリケーションIDを取得する(S3.14)。ここで、本実施例ではインターフェース取得要求を行ったアプリケーションオブジェクトの特定方法として、インターフェース取得要求の引数に、アプリケーションのオブジェクトを参照として格納するよう構成する。ただし、インターフェース取得要求元のアプリケーションオブジェクトの特定方法としては記載の方法に限定せず、例えば、仮想マシン810が備える要求元を逆引きするような機能を利用し特定する事も考えられる。
そして、アプリケーション管理フレームワーク800は、登録されている認可サーバー連携クライアント400から登録されたインターフェース定義クラスのクラスパスから、参照先のインターフェース定義クラスを実体化してオブジェクト生成するようリクエストする(S3.15)。この際、取得したリソースサービス連携アプリケーション400のアプリケーションIDをオブジェクト生成リクエストに設定する。オブジェクト生成リクエストを受けた認可サーバー連携クライアント400は、アプリケーションIDが設定されたインターフェース定義クラスのオブジェクトを生成し、アプリケーション管理フレームワーク800に応答する。そして、アプリケーション管理フレームワーク800は生成されたインターフェースクラスのオブジェクトをリソースサービス連携アプリケーション400に応答する(S3.16)。
認可サーバー連携クライアント400のインターフェースのオブジェクトを取得したリソースサービス連携アプリケーション400は、インターフェース定義クラスに定義されているトークン取得要求を実行する(S2.5)。認可サーバー連携クライアント(500)は、トークン取得要求を受けたインターフェース定義クラスのオブジェクトに設定されたアプリケーションIDを取得する(S2.6)。これらシーケンスによって、アプリケーションによる改竄を防止した形で、アプリケーションIDを認可サーバー連携クライアント400にて取得する事が可能となる。
実施例1によれば、1回の認可操作で同一の画像形成装置内の複数のアプリケーションのそれぞれに認可操作することなく、子トークンを発行する事ができ利便性が向上する。また、クラウドサービス側にてアクセス元のアプリケーションを改竄されること無く識別する事が可能となる。
<その他の実施例>
本願発明の実施例1では、親トークンを発行する必要があるという前提で説明したが、予め認可サーバー連携クライアント400がユーザー毎に親トークンを管理している状態でも良い。この場合、画像形成装置300に認可サーバー連携クライアント400がインストールされた段階で親トークンが使用でき、画像形成装置300を利用するユーザーが増加することには対処し難くなるが、子トークンを発行する処理に対応は可能である。
本願発明の実施例1では、リソースサービスとして帳票サービス、および印刷サービスと言った画像処理サービスを例に説明したが、これに限らずその他のサービス、例えばゲームアプリケーション、または音楽のコンテンツ配信サービスであっても良い。また、端末であるデバイス装置として画像形成装置を例に説明したが、これに限らずその他のデバイス装置、例えば、スマートフォン、または音楽機器であっても良い。また、リソースサービス連携アプリケーションとして帳票アプリケーション、印刷アプリケーションを説明したが、これに限らずその他のアプリケーション、例えば、アプリケーション管理ソフト、または音楽アプリケーションであっても良い。このように、本願発明を実施する各主体に制限はない。更に、リソースサービスは複数あることを前提に説明したが、単体であっても良い。
200 認可サーバー
210 リソースサーバー
300 画像形成装置
400 認可サーバー連携クライアント
500 リソースサーバー連携アプリケーション
800 アプリケーション管理フレームワーク
900 Webブラウザ
1000 ログインアプリケーション

Claims (13)

  1. ネットワークを介して接続された外部装置へサービスを提供するサーバーシステム、および認可サーバーシステムと通信することが可能であり、前記サービスを利用するアプリケーションをインストールすることが可能なデバイス装置であって、
    ユーザーが持っている前記サービスを利用するための権限を前記デバイス装置に移譲することを許可する認可操作が行われたことに応じて前記認可サーバーシステムにより発行される第1の権限情報を取得する第1の取得手段と、
    権限情報の取得要求を要求元である前記アプリケーションから受け付けた場合に、ユーザーから移譲された権限を前記アプリケーションに対して更に移譲する要求を、前記第1の権限情報とともに前記認可サーバーシステムへ送信し、前記第1の権限情報に基づき発行された第2の権限情報を前記認可サーバーシステムから取得する第2の取得手段と、を有するデバイス装置。
  2. 前記第2の取得手段は、ユーザーからの認可操作を受け付けることなく、第2の権限情報を前記認可サーバーシステムから取得することを特徴とする請求項1に記載のデバイス装置。
  3. 前記第1の権限情報に紐付けられた情報と、前記第2の権限情報は紐付けて管理されており、
    要求元である前記アプリケーションは、前記第2の取得手段から前記第2の権限情報を取得し、取得された前記第2の権限情報を用いて前記サービスを受けることを特徴とする請求項1乃至2の何れか1項に記載のデバイス装置
  4. 前記第2の取得手段は、要求元である前記アプリケーションのアプリケーションIDを取得し、ユーザーから移譲された権限を前記アプリケーションに対して更に移譲する要求を、前記第1の権限情報、および前記アプリケーションIDとともに前記認可サーバーシステムへ送信し、前記アプリケーションIDに紐付けて管理される前記第2の権限情報を前記認可サーバーシステムから取得することを特徴とする請求項1または2に記載のデバイス装置。
  5. 要求元である前記アプリケーションが前記第2の取得手段から前記第2の権限情報を取得し、取得された前記第2の権限情報を用いて前記サービスを受ける際、前記アプリケーションから送信された前記第2の権限情報に紐付けて管理されているアプリケーションIDが前記サーバーシステムに予め設定されている場合に、要求元である前記アプリケーションは前記サービスを受けることを特徴とする請求項3に記載のデバイス装置。
  6. 前記デバイス装置は、
    仮想マシンにより提供されるアプリケーション実行環境上で動作するアプリケーションのライフサイクルを管理するフレームワークを更に有し、
    前記フレームワークは、前記アプリケーションが改竄されていないことを確認してインストールを行う際に、前記アプリケーションのアプリケーションIDを管理し、
    前記第2の取得手段は、前記フレームワークを介して前記アプリケーションIDを取得することを特徴とする請求項4または5に記載のデバイス装置。
  7. 前記アプリケーションは、前記第2の取得手段を呼び出すためのインターフェースのオブジェクトを前記フレームワークに要求し、前記アプリケーションIDが設定された前記インターフェースのオブジェクトを取得し、前記インターフェースのオブジェクトに定義されている権限情報の取得要求とともに、前記インターフェースに設定された前記アプリケーションIDを前記第2の取得手段へ送信することを特徴とする請求項6に記載のデバイス装置。
  8. 前記アプリケーションは、ユーザーから前記サービスを利用する必要がある機能を呼び出された場合に、権限情報の取得要求を前記第2の取得手段に送信することを特徴とする請求項1乃至7の何れか1項に記載のデバイス装置。
  9. 前記第2の取得手段は、前記第1の権限情報の有効期限が切れている場合、前記第1の権限情報を再発行するために必要な再発行情報を送信し、新たに発行された第1の権限情報を取得し、更に、新たに発行された第1の権限情報に基づき発行された第2の権限情報を前記認可サーバーシステムから取得することを特徴とする請求項1乃至7の何れか1項に記載のデバイス装置。
  10. 前記サーバーシステムは、印刷サービス、および帳票サービスの内、少なくとも1つの画像処理サービスを提供するサーバーシステムであり、
    前記デバイス装置は印刷部、およびスキャナ部の内、少なくとも1つの画像処理部を備えた画像形成装置であることを特徴とする請求項1乃至9の何れか1項に記載の認可サーバーシステム。
  11. 前記デバイス装置はスマートフォンであることを特徴とする請求項1乃至10の何れか1項に記載の認可サーバーシステム。
  12. ネットワークを介して接続されたデバイス装置へサービスを提供するサーバーシステム、および認可サーバーシステムと通信することが可能であり、前記サービスを利用するアプリケーションをインストールすることが可能なデバイス装置を制御する制御方法であって、
    第1の取得手段は、ユーザーが持っている前記サービスを利用する権限を前記デバイス装置に移譲することを許可する認可操作が行われたことに応じて前記認可サーバーシステムにより発行される第1の権限情報を取得し、
    第2の取得手段は、権限情報の取得要求を要求元である前記アプリケーションから受け付けた場合に、ユーザーから移譲された権限を前記アプリケーションに対して更に移譲する要求を、前記第1の権限情報とともに前記認可サーバーシステムへ送信し、前記第1の権限情報に基づき発行された第2の権限情報を前記認可サーバーシステムから取得することを特徴とする制御方法。
  13. 請求項12に記載の制御方法をデバイス装置に実行させるためのプログラム。
JP2012214268A 2012-09-27 2012-09-27 デバイス装置、その制御方法、およびそのプログラム Expired - Fee Related JP6066647B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2012214268A JP6066647B2 (ja) 2012-09-27 2012-09-27 デバイス装置、その制御方法、およびそのプログラム
EP13185820.1A EP2713300B1 (en) 2012-09-27 2013-09-24 Image forming apparatus, method for controlling image forming apparatus, and program therefor
CN201310447048.2A CN103825874B (zh) 2012-09-27 2013-09-25 图像形成装置及图像形成装置的控制方法
US14/038,570 US9306923B2 (en) 2012-09-27 2013-09-26 Image forming apparatus, method for controlling image forming apparatus, and storage medium therefor
KR1020130114847A KR20140041368A (ko) 2012-09-27 2013-09-27 화상형성장치, 화상형성장치의 제어 방법, 및 기억매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012214268A JP6066647B2 (ja) 2012-09-27 2012-09-27 デバイス装置、その制御方法、およびそのプログラム

Publications (2)

Publication Number Publication Date
JP2014067379A true JP2014067379A (ja) 2014-04-17
JP6066647B2 JP6066647B2 (ja) 2017-01-25

Family

ID=49263149

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012214268A Expired - Fee Related JP6066647B2 (ja) 2012-09-27 2012-09-27 デバイス装置、その制御方法、およびそのプログラム

Country Status (5)

Country Link
US (1) US9306923B2 (ja)
EP (1) EP2713300B1 (ja)
JP (1) JP6066647B2 (ja)
KR (1) KR20140041368A (ja)
CN (1) CN103825874B (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104166818A (zh) * 2014-07-02 2014-11-26 百度在线网络技术(北京)有限公司 权限控制方法、装置和系统
JP2015228068A (ja) * 2014-05-30 2015-12-17 キヤノン株式会社 権限委譲システム、方法、認証サーバーシステム、およびプログラム
CN105224848A (zh) * 2015-10-15 2016-01-06 京东方科技集团股份有限公司 一种设备认证方法、装置及系统
JP2016091063A (ja) * 2014-10-29 2016-05-23 株式会社リコー 情報処理システム、情報処理装置、情報処理方法およびプログラム
JP6059307B1 (ja) * 2015-08-04 2017-01-11 ヤフー株式会社 端末装置、情報送信方法、及び情報送信プログラム
JP2017027459A (ja) * 2015-07-24 2017-02-02 キヤノン株式会社 権限委譲システム、その制御方法、認可サーバおよびプログラム
JP2017107343A (ja) * 2015-12-08 2017-06-15 キヤノン株式会社 認証連携システム及び認証連携方法、認可サーバー及びプログラム
JP2018144296A (ja) * 2017-03-02 2018-09-20 キヤノン株式会社 画像形成装置、方法、プログラム、並びにシステム

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9081951B2 (en) 2011-09-29 2015-07-14 Oracle International Corporation Mobile application, identity interface
US20150172334A1 (en) 2013-12-12 2015-06-18 Facebook, Inc. Suggesting recipients for content items presented through a social networking system
US20160380992A1 (en) * 2014-02-11 2016-12-29 Google Inc. Authentication specific data
US20160019557A1 (en) * 2014-04-21 2016-01-21 Alok Batra Systems, methods, and apparatus for providing machine-to-machine and consumer-to-machine interaction application platforms
JP6439370B2 (ja) * 2014-05-28 2018-12-19 株式会社リコー 情報処理システム、情報処理方法、情報処理装置及びプログラム
US9705882B2 (en) * 2014-06-13 2017-07-11 Pismo Labs Technology Limited Methods and systems for managing a node
JP6354407B2 (ja) * 2014-07-11 2018-07-11 株式会社リコー 認証システム、認証方法、プログラム及び通信システム
CN105306210B (zh) * 2014-08-01 2020-06-23 腾讯科技(深圳)有限公司 一种利用应用程序实现授权的方法、装置及系统
JP2016085641A (ja) * 2014-10-27 2016-05-19 キヤノン株式会社 権限移譲システム、権限移譲システムにて実行される方法、およびそのプログラム
US10356072B2 (en) * 2015-06-04 2019-07-16 Ricoh Company, Ltd. Data process system, data process apparatus, and data protection method
EP3142035B1 (en) * 2015-09-14 2021-08-25 Ricoh Company, Ltd. Information processing system, information processing apparatus, information processing method, and recording medium
JP6586848B2 (ja) * 2015-09-30 2019-10-09 ブラザー工業株式会社 サーバ及び通信システム
JP6677496B2 (ja) 2015-12-08 2020-04-08 キヤノン株式会社 認証連携システム及び認証連携方法、認可サーバー、アプリケーションサーバー及びプログラム
JP2017220113A (ja) * 2016-06-09 2017-12-14 キヤノン株式会社 認可サーバー、制御方法、およびプログラム。
US10341864B2 (en) * 2017-03-03 2019-07-02 Verizon Patent And Licensing Inc. Network-based device registration for content distribution platforms
JP2019046059A (ja) * 2017-08-31 2019-03-22 キヤノン株式会社 権限委譲システム、制御方法、およびプログラム
CN112313646B (zh) * 2018-06-14 2024-09-17 京瓷办公信息系统株式会社 认证装置以及图像形成装置
KR20200020176A (ko) 2018-08-16 2020-02-26 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 화상 형성 장치에서 개인 정보를 보호하는 방법
CN113994633B (zh) * 2019-06-15 2024-03-19 诺基亚技术有限公司 通信系统中的网络功能集合的授权
CN115883092A (zh) * 2021-09-23 2023-03-31 西门子股份公司 授权的方法、授权服务器、资源服务器和客户端设备
US20230195493A1 (en) * 2021-12-17 2023-06-22 Vmware, Inc. Virtual device enrollment and management

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0784959A (ja) * 1993-09-14 1995-03-31 Toshiba Corp ユーザ認証システム
JPH10116195A (ja) * 1996-06-26 1998-05-06 Sun Microsyst Inc セキュア方式にてオブジェクトの位置を見出すための機構
JP2003030150A (ja) * 2001-04-12 2003-01-31 Microsoft Corp 転送する認証メッセージ中の情報を保護する方法および装置
JP2005070979A (ja) * 2003-08-21 2005-03-17 Ricoh Co Ltd 情報処理装置、認証装置、認証方法、認証プログラム及び記録媒体
JP2005515540A (ja) * 2002-01-15 2005-05-26 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散コンピューティング環境における集約サービスの供給
JP2005157881A (ja) * 2003-11-27 2005-06-16 Canon Inc サーバ端末装置、クライアント端末装置、オブジェクト管理システム、オブジェクト管理方法、コンピュータプログラム及び記録媒体
JP2005259111A (ja) * 2004-01-26 2005-09-22 Ricoh Co Ltd ユーザ情報取扱い装置、ユーザ情報取扱いプログラム及び記録媒体
JP2006323500A (ja) * 2005-05-17 2006-11-30 Canon Inc 管理方法及び管理装置
JP2008134969A (ja) * 2006-11-29 2008-06-12 Fuji Xerox Co Ltd データ処理システム、データ処理装置、データ処理要求装置及びコンピュータのプログラム
JP2008177683A (ja) * 2007-01-16 2008-07-31 Kyocera Mita Corp データ提供システム、データ受領システム、データ提供方法、データ提供プログラム及びデータ受領プログラム
JP2009093626A (ja) * 2007-09-18 2009-04-30 Canon Marketing Japan Inc 画像形成装置、認証システム、認証方法、プログラム及びコンピュータ読み取り可能な記憶媒体
JP2010521086A (ja) * 2007-03-01 2010-06-17 株式会社東芝 リアクティブオペレーションのために最適化されるケルベロス化ハンドオーバキーイング
JP2012113696A (ja) * 2010-11-04 2012-06-14 Brother Ind Ltd 通信システム、中継装置、通信装置、中継方法、および通信方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8037515B2 (en) 2003-10-29 2011-10-11 Qualcomm Incorporated Methods and apparatus for providing application credentials
JP4902981B2 (ja) * 2004-10-05 2012-03-21 株式会社リコー サービス提供システム及びサービス提供方法
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
JP2008181427A (ja) * 2007-01-25 2008-08-07 Fuji Xerox Co Ltd シングルサインオンシステム、情報端末装置、シングルサインオンサーバ、プログラム
US8402508B2 (en) * 2008-04-02 2013-03-19 Microsoft Corporation Delegated authentication for web services
US20100125894A1 (en) * 2008-11-19 2010-05-20 At&T Intellectual Property I, L.P. Systems, methods and computer program products that facilitate remote access of devices in a subscriber network
WO2011058635A1 (ja) * 2009-11-12 2011-05-19 キヤノン株式会社 画像処理装置および画像処理装置の制御方法
EP2529527B1 (en) * 2010-01-25 2015-12-02 Nokia Solutions and Networks Oy Method for controlling access to resources
CN103039050B (zh) * 2010-02-24 2015-11-25 瑞典爱立信有限公司 用于在计算机网络中管理对被保护资源的访问以及委托授权的方法
JP5562143B2 (ja) * 2010-06-28 2014-07-30 キヤノン株式会社 権限委譲システム、権限委譲方法、情報処理装置、及びプログラム
JP2012083945A (ja) * 2010-10-12 2012-04-26 Canon Inc 印刷システム、印刷変換サーバ、ポータブルデバイス、および制御方法、およびプログラム
JP5620781B2 (ja) 2010-10-14 2014-11-05 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
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
US9497184B2 (en) * 2011-03-28 2016-11-15 International Business Machines Corporation User impersonation/delegation in a token-based authentication system
US8544069B1 (en) * 2011-04-29 2013-09-24 Intuit Inc. Methods systems and articles of manufacture for implementing user access to remote resources
US8839395B2 (en) * 2011-05-13 2014-09-16 Cch Incorporated Single sign-on between applications
US8769642B1 (en) * 2011-05-31 2014-07-01 Amazon Technologies, Inc. Techniques for delegation of access privileges
EP2575315A1 (en) * 2011-09-30 2013-04-03 British Telecommunications Public Limited Company Controlled access
US8856887B2 (en) * 2012-07-09 2014-10-07 Ping Identity Corporation Methods and apparatus for delegated authentication token retrieval
US8806595B2 (en) * 2012-07-25 2014-08-12 Oracle International Corporation System and method of securing sharing of resources which require consent of multiple resource owners using group URI's
US8745718B1 (en) * 2012-08-20 2014-06-03 Jericho Systems Corporation Delivery of authentication information to a RESTful service using token validation scheme
US8893230B2 (en) * 2013-02-22 2014-11-18 Duo Security, Inc. System and method for proxying federated authentication protocols
US20150007269A1 (en) * 2013-06-27 2015-01-01 International Business Machines Corporation Delegating authentication for a web service

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0784959A (ja) * 1993-09-14 1995-03-31 Toshiba Corp ユーザ認証システム
JPH10116195A (ja) * 1996-06-26 1998-05-06 Sun Microsyst Inc セキュア方式にてオブジェクトの位置を見出すための機構
JP2003030150A (ja) * 2001-04-12 2003-01-31 Microsoft Corp 転送する認証メッセージ中の情報を保護する方法および装置
JP2005515540A (ja) * 2002-01-15 2005-05-26 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散コンピューティング環境における集約サービスの供給
JP2005070979A (ja) * 2003-08-21 2005-03-17 Ricoh Co Ltd 情報処理装置、認証装置、認証方法、認証プログラム及び記録媒体
JP2005157881A (ja) * 2003-11-27 2005-06-16 Canon Inc サーバ端末装置、クライアント端末装置、オブジェクト管理システム、オブジェクト管理方法、コンピュータプログラム及び記録媒体
JP2005259111A (ja) * 2004-01-26 2005-09-22 Ricoh Co Ltd ユーザ情報取扱い装置、ユーザ情報取扱いプログラム及び記録媒体
JP2006323500A (ja) * 2005-05-17 2006-11-30 Canon Inc 管理方法及び管理装置
JP2008134969A (ja) * 2006-11-29 2008-06-12 Fuji Xerox Co Ltd データ処理システム、データ処理装置、データ処理要求装置及びコンピュータのプログラム
JP2008177683A (ja) * 2007-01-16 2008-07-31 Kyocera Mita Corp データ提供システム、データ受領システム、データ提供方法、データ提供プログラム及びデータ受領プログラム
JP2010521086A (ja) * 2007-03-01 2010-06-17 株式会社東芝 リアクティブオペレーションのために最適化されるケルベロス化ハンドオーバキーイング
JP2009093626A (ja) * 2007-09-18 2009-04-30 Canon Marketing Japan Inc 画像形成装置、認証システム、認証方法、プログラム及びコンピュータ読み取り可能な記憶媒体
JP2012113696A (ja) * 2010-11-04 2012-06-14 Brother Ind Ltd 通信システム、中継装置、通信装置、中継方法、および通信方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6016032719; D. Hardt, Ed.: 'The OAuth 2.0 Authorization Framework draft-ietf-oauth-v2-31,[online]' OAuth Working Group Internet-Draft , 20120731, 10-12頁, IETF *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015228068A (ja) * 2014-05-30 2015-12-17 キヤノン株式会社 権限委譲システム、方法、認証サーバーシステム、およびプログラム
CN104166818A (zh) * 2014-07-02 2014-11-26 百度在线网络技术(北京)有限公司 权限控制方法、装置和系统
JP2016091063A (ja) * 2014-10-29 2016-05-23 株式会社リコー 情報処理システム、情報処理装置、情報処理方法およびプログラム
JP2017027459A (ja) * 2015-07-24 2017-02-02 キヤノン株式会社 権限委譲システム、その制御方法、認可サーバおよびプログラム
US10154036B2 (en) 2015-07-24 2018-12-11 Canon Kabushiki Kaisha Authorization delegation system, control method, authorization server, and storage medium
JP6059307B1 (ja) * 2015-08-04 2017-01-11 ヤフー株式会社 端末装置、情報送信方法、及び情報送信プログラム
JP2017033417A (ja) * 2015-08-04 2017-02-09 ヤフー株式会社 端末装置、情報送信方法、及び情報送信プログラム
CN105224848A (zh) * 2015-10-15 2016-01-06 京东方科技集团股份有限公司 一种设备认证方法、装置及系统
JP2017107343A (ja) * 2015-12-08 2017-06-15 キヤノン株式会社 認証連携システム及び認証連携方法、認可サーバー及びプログラム
JP2018144296A (ja) * 2017-03-02 2018-09-20 キヤノン株式会社 画像形成装置、方法、プログラム、並びにシステム
US10983740B2 (en) 2017-03-02 2021-04-20 Canon Kabushiki Kaisha Image forming apparatus, method, storage medium storing program, and system

Also Published As

Publication number Publication date
CN103825874A (zh) 2014-05-28
EP2713300A1 (en) 2014-04-02
CN103825874B (zh) 2017-03-01
US9306923B2 (en) 2016-04-05
JP6066647B2 (ja) 2017-01-25
KR20140041368A (ko) 2014-04-04
US20140090028A1 (en) 2014-03-27
EP2713300B1 (en) 2016-11-09

Similar Documents

Publication Publication Date Title
JP6066647B2 (ja) デバイス装置、その制御方法、およびそのプログラム
JP6061633B2 (ja) デバイス装置、制御方法、およびそのプログラム。
CN110138718B (zh) 信息处理系统及其控制方法
JP6057666B2 (ja) 画像形成装置、情報処理方法及びプログラム
JP6124687B2 (ja) 画像形成装置、サーバー装置、情報処理方法及びプログラム
JP6198477B2 (ja) 権限移譲システム、認可サーバーシステム、制御方法、およびプログラム
JP6166596B2 (ja) 認可サーバーシステムおよびその制御方法、並びにプログラム
JP6904857B2 (ja) 権限委譲システム、制御方法、およびプログラム
JP6929181B2 (ja) デバイスと、その制御方法とプログラム
US20140230020A1 (en) Authorization server and client apparatus, server cooperative system, and token management method
JP6141041B2 (ja) 情報処理装置及びプログラム、制御方法
WO2011089712A1 (ja) 認証方法、認証システムおよび認証プログラム
WO2016092630A1 (ja) 情報処理装置、情報処理装置の制御方法、情報処理システム、およびコンピュータプログラム
CN111316267A (zh) 使用委托身份的认证
JP2014203267A (ja) システムおよびその制御方法、アクセス管理サービスシステムおよびその制御方法、並びにプログラム
JP2015075902A (ja) 画像形成装置、その制御方法とプログラム
JP2018092446A (ja) 認証認可システム及び情報処理装置と認証認可方法とプログラム
JP2016115260A (ja) 権限移譲システム、権限移譲システムに用いられる認可サーバー、リソースサーバー、クライアント、媒介装置、権限移譲方法およびプログラム
JP2016009466A (ja) Webサービスシステム、認証認可装置、情報処理装置、情報処理方法及びプログラム
JP2017120502A (ja) クラウドサービスへのIoT機器の登録方法
JP2014142732A (ja) 権限委譲システム
JP2009123154A (ja) 属性証明書管理方法及び装置
JP6128958B2 (ja) 情報処理サーバーシステム、制御方法、およびプログラム
JP2015118459A (ja) 画像形成装置、情報端末、サーバ装置、データ処理システム、画像形成装置の通信方法、情報端末の通信方法、サーバ装置の通信方法、及びプログラム
JP2017091221A (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: 20160818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160908

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161220

R151 Written notification of patent or utility model registration

Ref document number: 6066647

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees