JP2024007209A - 情報処理装置、その制御方法、プログラム、及び画像形成装置 - Google Patents
情報処理装置、その制御方法、プログラム、及び画像形成装置 Download PDFInfo
- Publication number
- JP2024007209A JP2024007209A JP2022108525A JP2022108525A JP2024007209A JP 2024007209 A JP2024007209 A JP 2024007209A JP 2022108525 A JP2022108525 A JP 2022108525A JP 2022108525 A JP2022108525 A JP 2022108525A JP 2024007209 A JP2024007209 A JP 2024007209A
- Authority
- JP
- Japan
- Prior art keywords
- information
- user
- authentication
- server
- information processing
- 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.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 117
- 238000000034 method Methods 0.000 title claims description 50
- 230000004044 response Effects 0.000 claims abstract description 141
- 230000005540 biological transmission Effects 0.000 claims abstract description 40
- 238000009877 rendering Methods 0.000 claims abstract description 20
- 230000008569 process Effects 0.000 claims description 32
- 238000003672 processing method Methods 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 8
- 230000006870 function Effects 0.000 description 79
- 238000012545 processing Methods 0.000 description 43
- 238000013475 authorization Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 13
- 230000007704 transition Effects 0.000 description 11
- 230000008520 organization Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000003825 pressing Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1238—Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1222—Increasing security of the print job
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
- G06F3/1288—Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Facsimiles In General (AREA)
Abstract
【課題】 エンベデッドUIによるユーザ認証を提供しつつ、多要素認証によるユーザ認証を提供する。【解決手段】 認証サービスを提供するサーバに対してユーザの認証情報を送信し、サーバからの応答結果に基づいてユーザのログインを許可する情報処理装置であって、情報処理装置は、ユーザに認証情報を入力させるための、予め用意された第1のユーザインタフェース、及びブラウジング機能によるレンダリングにより得られた第2のユーザインタフェースのうちの一方のユーザインタフェースを所定の条件に基づいて選択して出力制御する。ここで、前記第1のユーザインタフェースを用いて入力された第1の認証情報をサーバに送信し、この送信に対するサーバからの第1の応答結果を受信する。また、前記第2のユーザインタフェースを用いて入力された第2の認証情報をサーバに送信し、この送信に対するサーバからの第2の応答結果を受信する。【選択図】 図3
Description
本開示は、情報処理装置の多要素認証技術に関する。
インターネットを介して利用可能なサービスとして、企業又は学校等の団体に属するユーザのアカウント等の認証情報又はユーザ情報等を一元管理し、且つユーザ認証機能を提供するクラウドサービス(以下「認証サービス」と呼ぶ。)がある。特許文献1には、認証サービスと連携する画像形成装置が開示されている。また、認証サービスのうちには、多要素認証によるユーザ認証機能を提供するものがある。例えば、マイクロソフト社の“Azure Active Directory(登録商標)”、Google社の“Google Workspace(登録商標)”、又はOkta社の“Okta(登録商標)”等がこれにあたる。
現在、多要素認証によるユーザ認証機能を提供する認証サービスは、フロントエンドとして動作するクライアントがウェブブラウザであることを前提としている。具体的には、認証サービスは、クライアントがウェブブラウザであることを前提としたHTML(Hypertext Markup Language)ベースのフォーム認証のみをサポートしている。つまり、組み込み機器における独自のUI(User Interface)では、認証サービスが提供する多要素認証によるユーザ認証を行うことができない。組み込み機器における独自のUIを、以下、エンベデッドUIと呼ぶ。組み込み機器を使い慣れたユーザにとって、ウェブブラウザを介して提供されるユーザ認証用のUI(以下「ブラウザUI」と呼ぶ。)は、組み込み機器ごとに最適化されたエンベデッドUIと比較して使い勝手が悪いことがある。
本開示に係る情報処理装置は、認証サービスを提供するサーバに対してユーザの認証情報を送信し、前記サーバからの応答結果に基づいて前記ユーザのログインを許可する情報処理装置であって、前記ユーザに前記認証情報を入力させるための、予め用意された第1のユーザインタフェース、及びブラウジング機能によるレンダリングにより得られた第2のユーザインタフェースのうちの一方のユーザインタフェースを所定の条件に基づいて選択して出力制御する出力制御手段と、前記第1のユーザインタフェースを用いて入力された第1の認証情報を前記サーバに送信する第1の認証送信手段と、前記第1の認証情報の送信に対する前記サーバからの第1の応答結果を受信する第1の受信手段と、前記第2のユーザインタフェースを用いて入力された第2の認証情報を前記サーバに送信する第2の認証送信手段と、前記第2の認証情報の送信に対する前記サーバからの第2の応答結果を受信する第2の受信手段と、を有する。
本開示によれば、エンベデッドUIによるユーザ認証を提供しつつ、多要素認証によるユーザ認証を提供することができる。
以下、本開示を実施するための形態について添付の図面を用いて説明する。なお、以下の実施形態は、本開示の範囲を限定するものではない。以下の実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。更に、添付の図面においては、同一又は同様の構成に対して同一の符号を付すことにより、重複する説明については省略する。
具体的な構成の説明に先立って、認証サービスを用いる例を補足説明する。クラウドサービスで管理されたユーザ認証情報を用いてユーザを認証し、認証に成功したユーザに対してだけ、情報処理装置の利用を許可したいという市場ニーズがある。具体的には、例えば、情報処理装置に配置された操作パネル等からクラウドサービスで管理されたユーザ認証情報をユーザに入力させ、クラウドサービスを用いてユーザを認証し、認証に成功したユーザだけを情報処理装置にログインさせる。クラウドサービスのユーザ認証機能がサポートするプロトコルとしては、例えば、“RFC6749 The OAuth2.0 Authorization Framework“の”Resource Owner Password Credentials Grant“がある。また、クライアントがウェブブラウザであることを前提としたHTML(Hyper Text Markup Language)ベースのフォーム認証についても、クラウドサービスのユーザ認証機能のプロトコルとしてサポートされている。
クラウドサービスのユーザ認証機能には、複数の要素を用いた多要素認証機能がある。多要素認証における二要素目の認証方法が標準的なプロトコルとして規定されていれば、組み込み機器においても、その規定に従った独自のユーザインタフェース(UI:User Interface)を用意することができる。しかしながら、“RFC6749 The OAuth2.0 Authorization Framework”には、多要素認証における二要素目の認証方法が規定されていない。そのため、組み込み機器に予め用意された独自のUI(以下「エンベデッドUI」と呼ぶ。)では、クラウドサービスのユーザ認証機能として提供される多要素認証を利用することができない。現状、クラウドサービスのユーザ認証機能において多要素認証機能を利用する場合には、クライアントがウェブブラウザであることを前提としたHTMLベースのフォーム認証を用いる必要がある。
また、エンベデッドUIとウェブブラウザを介して提供されるユーザ認証用のUI(以下「ブラウザUI」と呼ぶ。)とを比較すると、ブラウザUIの方が、使い勝手が悪いことがある。例えば、クラウドサービスで管理されるユーザのアカウント(以下、単に「アカウント」と呼ぶ。)は、aaa@bbb.ccc.ddd(aaa、bbb、ccc、及びdddは、予め定められた任意の文字列)のような形式をしており、文字数が非常に多い。ここで、@より前のaaaに対応する任意の文字列は、ユーザごとに割り当てられるユーザを識別するためのもであり、@より後の文字列はユーザが所属する部門若しくは団体、又はクラウドサービスを提供する企業若しくは団体等を識別するためのものである。エンベデッドUIであれば、@より前のユーザ名にあたる文字列のみをユーザに入力させて、@以下の入力を省略させることができる。しかしながらブラウザUIの場合には、アカウントに対応する文字列の全てを入力する必要がある。
[実施形態1]
図1乃至13を参照して、実施形態1に係る情報処理装置について説明する。実施形態1では、一例として、本開示に係る情報処理装置は、コピー機能、プリント機能、及びスキャン機能等の複数の機能を有するMFP(Multifunction Peripheral)であるものとして説明する。なお、本開示に係る情報処理装置は、MFPに限定されるものではなく、組込み機器であれば、プリンタ若しくは複写機等の画像形成装置、イメージスキャナ等の画像入力装置、監視用の録画装置、又は医療用機器等であってもよい。
図1乃至13を参照して、実施形態1に係る情報処理装置について説明する。実施形態1では、一例として、本開示に係る情報処理装置は、コピー機能、プリント機能、及びスキャン機能等の複数の機能を有するMFP(Multifunction Peripheral)であるものとして説明する。なお、本開示に係る情報処理装置は、MFPに限定されるものではなく、組込み機器であれば、プリンタ若しくは複写機等の画像形成装置、イメージスキャナ等の画像入力装置、監視用の録画装置、又は医療用機器等であってもよい。
<システム構成>
図1を参照して、実施形態1に係る情報処理システム1の構成について説明する。情報処理システム1は、MFP101、サーバ102、及びユーザ端末103を備える。MFP101は、本開示に係る情報処理装置であって、コピー機能、プリント機能、及びスキャン機能等の複数の機能を有する組込み機器である。サーバ102は、クラウド上に配置されたクラウドサーバであって、クラウドサービスとしてユーザ認証機能を提供する。以下、サーバ102が提供するユーザ認証機能をクラウドユーザ認証サービスと称して説明する。MFP101は、インターネット104を介してサーバ102と通信することができる。サーバ102は、MFP101に対してクラウドユーザ認証サービスを提供する。ユーザ端末103は、MFP101を使用するユーザ(以下、単に「ユーザ」と表記する。)が所持するスマートフォン若しくはタブレット端末、又はユーザが使用するパーソナルコンピュータ(PC)等である。ユーザ端末103もインターネット104を介して、サーバ102と通信することができる。情報処理システム1は、図1には図示していないが、MFP101と同様の構成を有する複数のMFPを有し、また、図1には不図示のMFPを使用するユーザが所持又は使用するユーザ端末を有することを想定している。すなわち、サーバ102は、MFP101と図1には不図示のMFPとを含む複数のMFPに対してクラウドユーザ認証サービスを提供する。
図1を参照して、実施形態1に係る情報処理システム1の構成について説明する。情報処理システム1は、MFP101、サーバ102、及びユーザ端末103を備える。MFP101は、本開示に係る情報処理装置であって、コピー機能、プリント機能、及びスキャン機能等の複数の機能を有する組込み機器である。サーバ102は、クラウド上に配置されたクラウドサーバであって、クラウドサービスとしてユーザ認証機能を提供する。以下、サーバ102が提供するユーザ認証機能をクラウドユーザ認証サービスと称して説明する。MFP101は、インターネット104を介してサーバ102と通信することができる。サーバ102は、MFP101に対してクラウドユーザ認証サービスを提供する。ユーザ端末103は、MFP101を使用するユーザ(以下、単に「ユーザ」と表記する。)が所持するスマートフォン若しくはタブレット端末、又はユーザが使用するパーソナルコンピュータ(PC)等である。ユーザ端末103もインターネット104を介して、サーバ102と通信することができる。情報処理システム1は、図1には図示していないが、MFP101と同様の構成を有する複数のMFPを有し、また、図1には不図示のMFPを使用するユーザが所持又は使用するユーザ端末を有することを想定している。すなわち、サーバ102は、MFP101と図1には不図示のMFPとを含む複数のMFPに対してクラウドユーザ認証サービスを提供する。
<MFPのハードウェア構成>
図2を参照して、MFP101のハードウェア構成について説明する。図2は、実施形態1に係るMFP101のハードウェア構成の一例を示すブロック図である。CPU(Central Processing Unit)201はMFP101の動作を制御するプロセッサである。RAM(Random Access Memory)203は揮発性メモリである。RAM203は、演算の際にCPU201のワークエリアとして用いられる。具体的には、RAM203は、ROM(Read Only Memory)202又はHDD(Hard Disk Drive)204等に記憶された各種のプログラム及びデータ等を展開するための一時記憶領域として用いられる。ROM202は不揮発性メモリであり、MFP101のブートプログラム等の変更の必要がないプログラム及びデータを記憶する。HDD204は、RAM203と比較して大容量且つ不揮発性の記憶媒体である。HDD204には、MFP101の制御用プログラム、OS(Operating System)プログラム、及びアプリケーションプログラム、及び各種のデータ等が記憶されている。
図2を参照して、MFP101のハードウェア構成について説明する。図2は、実施形態1に係るMFP101のハードウェア構成の一例を示すブロック図である。CPU(Central Processing Unit)201はMFP101の動作を制御するプロセッサである。RAM(Random Access Memory)203は揮発性メモリである。RAM203は、演算の際にCPU201のワークエリアとして用いられる。具体的には、RAM203は、ROM(Read Only Memory)202又はHDD(Hard Disk Drive)204等に記憶された各種のプログラム及びデータ等を展開するための一時記憶領域として用いられる。ROM202は不揮発性メモリであり、MFP101のブートプログラム等の変更の必要がないプログラム及びデータを記憶する。HDD204は、RAM203と比較して大容量且つ不揮発性の記憶媒体である。HDD204には、MFP101の制御用プログラム、OS(Operating System)プログラム、及びアプリケーションプログラム、及び各種のデータ等が記憶されている。
CPU201は、MFP101の起動時にROM202に記憶されているブートプログラムを読み出して実行する。このブートプログラムは、HDD204に記憶されているOSプログラムを読み出して、RAM203上に展開するためのものである。CPU201は、ブートプログラムを実行すると、続けてOSプログラムがRAM203上に展開し、更に、制御用プログラムがRAM203上に展開する。CPU201は、展開したOSプログラム及び制御用プログラムを実行して、MFP101の制御を行う。また、CPU201は、制御用プログラムの処理に用いられるデータについても、ROM202又はHDD204等から読み出して、RAM203に記憶させる等のデータの読み書きを行う。なお、本実施形態では、MFP101は、1つのCPU201が後述するフローチャートに示す各処理を実行するものとして説明するが、他の態様であっても構わない。例えば、複数のCPU又はMPU(microprocessor unit)等のプロセッサが協働して、後述するフローチャートに示す各処理を実行するように構成することもできる。また、後述する処理の一部をASIC(Application Specific Integrated Circuit)又はFPGA(Field-Programmable Gate Array)等のハードウェア回路を用いて実行するように構成してもよい。
操作パネル205は、タッチパネル等のタッチ操作による操作入力が可能なディスプレイである。ユーザは、操作パネル205のディスプレイに表示されたUIを参照しつつ入力操作を行うことにより、MFP101が有する各機能の実行を指示することができる。
プリンタ206は、通信部208を介して外部から受信した印刷データが示す画像、又はスキャナ207から取得したデジタルデータが示す画像を、記録媒体に形成するプリンタエンジンである。スキャナ207は、記録媒体に形成された画像を読み取ってデジタルデータを生成し、生成したデジタルデータを出力するスキャナ装置である。通信部208は、インターネット104又はオフィス等に構築されたLAN(Local Area Network)等に接続するためのネットワークインタフェースである。ICカードリーダ209は、ユーザが所持するICカードからユーザ認証に使用する情報(以下「ICカード情報」と呼ぶ。)を読み出すための装置であり、ICカード認証を実現するために用いられる装置である。
プリンタ206は、通信部208を介して外部から受信した印刷データが示す画像、又はスキャナ207から取得したデジタルデータが示す画像を、記録媒体に形成するプリンタエンジンである。スキャナ207は、記録媒体に形成された画像を読み取ってデジタルデータを生成し、生成したデジタルデータを出力するスキャナ装置である。通信部208は、インターネット104又はオフィス等に構築されたLAN(Local Area Network)等に接続するためのネットワークインタフェースである。ICカードリーダ209は、ユーザが所持するICカードからユーザ認証に使用する情報(以下「ICカード情報」と呼ぶ。)を読み出すための装置であり、ICカード認証を実現するために用いられる装置である。
<サーバの機能構成>
図3は、実施形態1に係るMFP101、サーバ102、及びユーザ端末103の機能構成の一例を示すブロック図である。図3を参照して、まず、サーバ102の機能構成について説明する。サーバ102は、クラウドサービスを提供する企業若しくは団体等のサービス提供者が契約している企業又は学校等の団体(以下「テナント」と呼ぶ。)に所属する複数のユーザのそれぞれに対応するアカウントを管理する。具体的には、サーバ102は、アカウントとして、ユーザの認証情報又はユーザ情報等を一元管理する。また、サーバ102は、クラウドユーザ認証サービスを含むクラウドサービスを提供する。サーバ102が提供するクラウドサービスは、マイクロソフト社の“Azure Active Directory(登録商標)”、Google社の“Google Workspace(登録商標)”、又はOkta社の“Okta(登録商標)”等である。サーバ102は、テナントをテナントID(identification)又はテナント名により識別して管理する。テナント名は、ドメイン名又はディレクトリ名と呼ばれることもある。例えば、“Azure Active Directory(登録商標)”では、テナントの管理のために、次表1に一例として示すようなテナントID及びテナント名(ドメイン名)が使用される。なお、eeeeeeee、ffff、gggg、hhhh、iiiiiiiiiiii、jjjjjj、kkkkkkkkkkk、及びlllは、予め定められた任意の文字列である。
図3は、実施形態1に係るMFP101、サーバ102、及びユーザ端末103の機能構成の一例を示すブロック図である。図3を参照して、まず、サーバ102の機能構成について説明する。サーバ102は、クラウドサービスを提供する企業若しくは団体等のサービス提供者が契約している企業又は学校等の団体(以下「テナント」と呼ぶ。)に所属する複数のユーザのそれぞれに対応するアカウントを管理する。具体的には、サーバ102は、アカウントとして、ユーザの認証情報又はユーザ情報等を一元管理する。また、サーバ102は、クラウドユーザ認証サービスを含むクラウドサービスを提供する。サーバ102が提供するクラウドサービスは、マイクロソフト社の“Azure Active Directory(登録商標)”、Google社の“Google Workspace(登録商標)”、又はOkta社の“Okta(登録商標)”等である。サーバ102は、テナントをテナントID(identification)又はテナント名により識別して管理する。テナント名は、ドメイン名又はディレクトリ名と呼ばれることもある。例えば、“Azure Active Directory(登録商標)”では、テナントの管理のために、次表1に一例として示すようなテナントID及びテナント名(ドメイン名)が使用される。なお、eeeeeeee、ffff、gggg、hhhh、iiiiiiiiiiii、jjjjjj、kkkkkkkkkkk、及びlllは、予め定められた任意の文字列である。
サーバ102は、HTTP(Hypertext Transfer Protocol)を用いてMFP101等のクライアントと通信するためのWebサービス部310を備える。Webサービス部310は、認証プロトコルとして、例えば、“OAuth2.0”、“OpenID Connect”、“WS-Federation”、“SAML2.0”、及び“REST API”をサポートする。例えば、マイクロソフト社の“Azure(登録商標)”が提供する“REST API”には、“Graph API”と呼ばれるものがある。Webサービス部310は、ユーザ端末103で動作するウェブブラウザ340を用いてサーバ102にアクセスするユーザに対して、HTML等で構成されたウェブページを提供する。例えば、テナントの管理者(以下、単に「管理者」と呼ぶ。)は、Webサービス部310から提供されるウェブページを使用して、管理するテナントに所属するユーザのアカウントを登録及び管理する。ユーザ管理部312は、ウェブページを使用して登録された複数のユーザのそれぞれに対応するアカウントの情報を記憶して管理する。例えば、“Azure Active Directory(登録商標)”では、1つのアカウントに関連付く情報として、次表2に示す情報を管理することができる。
ユーザ名は、ユーザを一意に特定するための識別子である。例えば、“Azure Active Directory(登録商標)”の場合、“aaa@bbb.ccc.ddd”のようにユーザの名前を示す文字列とテナント名を示す文字列とを@で結合したものがユーザ名として用いられる。ユーザは、管理者によってユーザ管理部312に登録されたユーザ名とパスワードとを用いたユーザ認証の後に、Webサービス部310が提供するウェブページにアクセスしたり、“REST API”を使用したりすることができる。また、ユーザ認証に成功したユーザは、Webサービス部310から提供されるウェブページにアクセスして、多要素認証を設定又は変更を行うことができる。例えば、ユーザは、多要素認証の設定において、多要素認証手段における二要素目に使用する認証手段として、複数の手段の中から1つを選択することができる。二要素目の認証手段としては、SMS(short message service)、認証用のアプリケーション(以下「認証アプリケーション」と呼ぶ。)、又は認証トークン等がある。
SMSを用いた認証では、まず、サーバ102は、スマートフォン等のSMSを利用可能なユーザ端末103に、SMSを用いてワンタイムパスワードを送信する。ユーザ端末103は、ワンタイムパスワードを受信し、受信したワンタイムパスワードをユーザ端末103に配置された表示部に表示する。ユーザは、ユーザ端末103の表示部に表示されたワンタイムパスワードを確認して、ワンタイムパスワードをMFP101のブラウザUIに入力する。MFP101は、ブラウザUIに入力されたワンタイムパスワードをサーバ102に送信して、サーバ102に対して二要素目のユーザ認証を要求する。
認証アプリケーションを用いた認証では、まず、サーバ102は、ワンタイムパスワードをユーザ端末103に送信する。ユーザ端末103で動作する認証アプリケーション320は、モバイルアプリケーションのPush通知機能を用いて、受信したワンタイムパスワードをユーザ端末103の表示部に表示する。ユーザは、ユーザ端末103の表示部に表示されたワンタイムパスワードを確認して、ワンタイムパスワードをMFP101のブラウザUIに入力する。MFP101は、ブラウザUIに入力されたワンタイムパスワードをサーバ102に送信して、サーバ102に対して二要素目のユーザ認証を要求する。
認証アプリケーションを用いた認証は、上述の形態に限定されるものでない。例えば、サーバ102は、承認要求をユーザ端末103に送信する。ユーザ端末103で動作する認証アプリケーション320は、モバイルアプリケーションのPush通知機能を用いて、受信した承認要求に応答するためのUIをユーザ端末103の表示部に表示する。ユーザは、このUIを用いて承認の可否を示す入力操作を行う。認証アプリケーション320は、入力操作に対応する承認の可否を示す情報をサーバ102に送信することにより、承認要求に対して応答する。
認証トークンを用いた認証では、ユーザ端末103は、ユーザ端末103で動作する認証アプリケーション320により算出されたTOTP(Time-based One-time Password)をサーバ102に送信する。TOTPは、RFC6238に規定されたワンタイムパスワードの生成手法である。この生成手法では、ユーザ端末103は、時刻情報とユーザ毎に生成したTOTPのシークレットとを使用してワンタイムパスワードを生成する。TOTPのシークレットは、乱数による値である。ユーザが初めて多要素認証を有効化する際に、例えば、ユーザは、まず、QRコード(登録商標)の画像データをユーザ端末103に取り込む。具体的には、例えば、ユーザは、ウェブページに挿入されたQRコードを、ユーザ端末103に配置された撮像装置で撮像する手法、又は画面キャプチャする手法等により、QRコードの画像データをユーザ端末103に取り込む。
認証アプリケーション320は、この画像データに基づいてQRコードが示すシークレットを取得し、取得後以降、時間経過と共に変化するワンタイムパスワードを算出する。認証アプリケーション320は、算出したワンタイムパスワードをユーザ端末103の表示部に表示する。ユーザは、ユーザ端末103の表示部に表示されたワンタイムパスワードを確認して、ワンタイムパスワードをMFP101のブラウザUIに入力する。MFP101は、ブラウザUIに入力されたワンタイムパスワードをサーバ102に送信して、サーバ102に対して二要素目のユーザ認証を要求する。認証アプリケーション320の例としては、Google社の“Google Authenticator(登録商標)”、又はマイクロソフト社の“Microsoft Authenticator(登録商標)”等がある。
Webサービス部310は、多要素認証を有効化したユーザに対して、ユーザ名とパスワードとを用いたユーザ認証に加えて、例えば、上述のいずれかの認証手段を用いて、二要素目のユーザ認証を行う。管理者は、ユーザ管理部312に登録したユーザに対して、多要素認証の利用を強制する設定を行うことができる。あるユーザに対して多要素認証の利用を強制する設定が行われ、このユーザが多要素認証を有効化していない状態でウェブページにアクセスした場合、例えば、Webサービス部310は、多要素認証を有効化するように促す旨の情報をウェブページに挿入する。
管理者は、Webサービス部310から提供されるウェブページを使用して、ユーザグループの作成及び管理を行うことができる。グループ管理部313は、管理者により作成されたユーザグループの情報を管理する。また、管理者は、Webサービス部310から提供されるウェブページを使用して、アプリケーションの情報を登録及び管理を行うことができる。ここでいうアプリケーションとは、サーバ102にアクセス可能なクライアントである。クライアントとは、例えば、サーバ102とは異なるクラウドサーバにより提供されるクラウドサービス、ユーザ端末103にインストールされたアプリケーション、又はMFP101で動作するサービス若しくはアプリケーション等である。アプリケーション管理部314は、次表3に一例として示す、管理者により登録されたアプリケーションの情報を管理する。なお、mmmmmm、nnnnnnnn、oooo、pppp、qqqq、rrrrrrrrrrrr、及び***********は、予め定められた任意の文字列である。
アプリケーションIDは、クライアントIDとも呼ばれ、アプリケーション(クライアント)を一意に特定するための識別子である。シークレットは、正当なアプリケーション(クライアント)であることを認証するために使用されるパスワードである。本実施形態では、アプリケーションID及びクライアントIDを総称してアプリケーションIDと呼ぶ。アプリケーションIDは、例えば、 “RFC6749 The OAuth2.0 Authorization Framework”の“2.3.1. Client Password”に記載の“client_id”として使用される。また、同様に、シークレットは、例えば、“client_secret”として使用される。アプリケーションのアクセス権限として、クライアントとして認証が成功したアプリケーションが利用可能な“REST API”を登録することができる。例えば、“User.ReadAll”は、全てのユーザの情報を読み出すことができることを意味しており、“User.ReadWriteAll”は、全てのユーザの情報を読み書き可能なことを示す。また、“Group.ReadAll”は、全てのユーザグループの情報を読み出すことができることを示す。
認証・認可サービス部311は、ユーザ管理部312、グループ管理部313、及びアプリケーション管理部314のそれぞれが管理する情報を参照して、Webサービス部310にアクセスするユーザ又はクライアント(アプリケーション)を認証する。また、認証・認可サービス部311は、認証が成功したクライアント(アプリケーション)に対して“REST API”へのアクセス許可を与える。
<MFPの機能構成>
図3を参照して、MFP101の機能構成について説明する。ローカルUI制御部301は、操作パネル205のディスプレイに表示するローカルUIを提供する。ローカルUIは、ログイン画面、メニュー画面、及び設定画面等である。例えば、メニュー画面には、コピー機能若しくはスキャン機能等のMFP101が提供する機能をユーザに選択させるためのボタン、又はMFP101の設定を行うための設定画面を表示させるためのボタン等が表示される。ログイン画面については後述する。ローカルUI制御部301は、ローカルUIの画面遷移の制御を行う。
図3を参照して、MFP101の機能構成について説明する。ローカルUI制御部301は、操作パネル205のディスプレイに表示するローカルUIを提供する。ローカルUIは、ログイン画面、メニュー画面、及び設定画面等である。例えば、メニュー画面には、コピー機能若しくはスキャン機能等のMFP101が提供する機能をユーザに選択させるためのボタン、又はMFP101の設定を行うための設定画面を表示させるためのボタン等が表示される。ログイン画面については後述する。ローカルUI制御部301は、ローカルUIの画面遷移の制御を行う。
例えば、メニュー画面において、ユーザがコピー機能に対応するボタンを押下した場合、MFP101は、プリンタ206とスキャナ207とを制御して、ユーザにコピー機能を提供する。このとき、ローカルUI制御部301は、コピー機能の設定又はコピー機能の状態を確認するためのローカルUIを提供する。また、ユーザがスキャン機能に対応するボタンを押下した場合、MFP101は、スキャナ207と通信部208とを制御して、記録媒体に形成された画像の読み取りにより得たデジタルデータを所定の装置に送信するスキャン機能を提供する。このとき、ローカルUI制御部301は、スキャン機能の設定又はスキャン機能の状態を確認するためのローカルUIを提供する。なお、本実施形態では、MFP101が提供する各機能を実行するための処理は、ローカルUI制御部301が行うものとする。
リモートUI制御部302は、HTTPサーバ機能を有し、HTMLで構成されるウェブページを示す情報をユーザ端末103に出力して、リモートアクセスするユーザに対してウェブページを提供する。具体的には、ユーザは、ユーザ端末103で動作するウェブブラウザを利用してリモートUI制御部302にアクセスし、ユーザ端末103にウェブページを示す情報を取得させる。ユーザ端末103で動作するウェブブラウザは、取得したウェブページを示す情報をレンダリングして、ウェブページをリモートUIとして表示させる。ユーザは、リモートUIを用いて、MFP101の設定を変更したり、MFP101が提供する機能を利用したりすることができる。
ログインサービス部303は、MFP101が提供する機能又はアプリケーションをユーザが利用する際のユーザ認証を行う。ICカードリーダドライバ304は、ICカードリーダ209を制御するドライバであり、ICカードからICカード情報を取得して、ログインサービス部303にICカード情報を提供する。ログインサービス部303は、ウェブブラウザ機能を提供するブラウジング部305を内包する。ブラウジング部305は、ウェブブラウザ340と同様に、HTMLで構成されるウェブページを示す情報を取得し、取得したウェブページを示す情報をレンダリングして、ウェブページをログイン画面として操作パネル205のディスプレイに描画する。ブラウジング部305は、ウェブページを示す情報をサーバ102のWebサービス部310から取得する。ブラウジング部305は、WebKIT等のHTMLレンダリングエンジンを含み、ウェブブラウザ機能は、このHTMLレンダリングエンジンにより提供される。以下、MPF101で動作するHTMLレンダリングエンジンが操作パネル205のディスプレイにウェブページを描画させる機能をWebViewと称して説明する。
<ログインサービス部303の処理>
図4乃至7を参照して、ログインサービス部303が提供するログイン機能の設定とログインサービス部303の処理について説明する。図4は、実施形態1に係るログインサービス部303が提供するログイン機能を設定するためのUI(以下「ログイン機能設定ページ400」と呼ぶ。)の一例を示す図である。ログイン機能設定ページ400は、リモートUI制御部302が提供するウェブページであって、ログイン機能設定ページ400を示す情報をユーザ端末103で動作するウェブブラウザ340がレンダリングすることにより得られるウェブページである。管理者は、ログイン機能設定ページ400を用いて、ユーザのログイン方法の設定、並びに、MFP101のみで管理されるアカウント(以下「ローカルアカウント」と呼ぶ。)の登録、編集、及び削除等の設定を行うことができる。ログイン機能設定ページ400で設定された値(以下「設定値」とも呼ぶ。)は、HDD204に記憶される。ログインサービス部303は、ログイン機能に関する設定値をHDD204から読み出す。ログインサービス部303の振る舞いは、この読み出された設定値に基づいて決定される。
図4乃至7を参照して、ログインサービス部303が提供するログイン機能の設定とログインサービス部303の処理について説明する。図4は、実施形態1に係るログインサービス部303が提供するログイン機能を設定するためのUI(以下「ログイン機能設定ページ400」と呼ぶ。)の一例を示す図である。ログイン機能設定ページ400は、リモートUI制御部302が提供するウェブページであって、ログイン機能設定ページ400を示す情報をユーザ端末103で動作するウェブブラウザ340がレンダリングすることにより得られるウェブページである。管理者は、ログイン機能設定ページ400を用いて、ユーザのログイン方法の設定、並びに、MFP101のみで管理されるアカウント(以下「ローカルアカウント」と呼ぶ。)の登録、編集、及び削除等の設定を行うことができる。ログイン機能設定ページ400で設定された値(以下「設定値」とも呼ぶ。)は、HDD204に記憶される。ログインサービス部303は、ログイン機能に関する設定値をHDD204から読み出す。ログインサービス部303の振る舞いは、この読み出された設定値に基づいて決定される。
設定項目401は、ローカルUIでのログイン方法の設定に関する項目である。「キーボード認証」及び「ICカード認証」のそれぞれについて、有効にするか否かを設定することができる。キーボード認証は、ユーザ名とパスワードとをユーザに入力させて、これらを用いてユーザ認証を行う認証手段である。ICカード認証は、ユーザが所持するICカードを用いてユーザ認証を行う認証手段である。
図6(a)は、実施形態1に係るキーボード認証画面601の一例を示す図である。設定項目401において、キーボード認証を有効する設定がなされている場合、例えば、ログインサービス部303は、ユーザ認証の際に、ローカルUI制御部301からキーボード認証のためのUI(例えば、キーボード認証画面601)を示す情報を取得する。更に、ログインサービス部303は、図6(a)に一例として示すキーボード認証画面601を操作パネル205のディスプレイに表示させる。なお、キーボード認証画面601は、MFP101にユーザをログインさせるためのログイン画面の1つであり、MFP101において予め用意された独自のエンベデッドUIである。
図6(b)は、実施形態1に係るICカード認証画面604の一例を示す図である。設定項目401において、ICカード認証を有効にする設定がなされている場合、例えば、ログインサービス部303は、ユーザ認証の際にローカルUI制御部301からICカード認証のためのUI(例えば、ICカード認証画面604)を示す情報を取得する。更に、ログインサービス部303は、図6(b)に一例として示すICカード認証画面604を操作パネル205のディスプレイに表示させる。なお、ICカード認証画面604は、MFP101にユーザをログインさせるためのログイン画面の1つであり、MFP101において予め用意された独自のエンベデッドUIである。設定項目401において、「キーボード認証」及び「ICカード認証」の両方を有効にする設定がなされている場合、例えば、キーボード認証画面601には、ICカード認証画面604へ画面遷移するボタン602が表示される。また、この場合、例えば、ICカード認証画面604には、キーボード認証画面601へ画面遷移するボタン605が表示される。これにより、ユーザは、キーボード認証画面601とICカード認証画面604とを切り替えて、所望のログイン方法を選択することができる。
設定項目402は、認証先の設定に関する項目である。設定項目402では、管理者は、認証先として「ローカル」及び「サーバ」のそれぞれについて、有効にするか否かを設定することができる。設定項目403は、ローカルアカウントについての設定に関する項目である。設定項目403では、管理者は、ローカルアカウントに関する設定を行うことができる。設定項目402及び設定項目403の設定値はHDD204に記憶される。例えば、ローカルアカウントは、次表4に一例として示すようなユーザカウントテーブルとしてHDD204に記憶されて管理される。ユーザカウントテーブルの項目としては、表4に一例として示すように、ユーザ名、パスワード、カードID、ロール、及びメールアドレス等がある。なお、ssssssss、tttttttt、uuuuuuuu、vvvvvvvv、wwwwwwww、xxxxx、及びyyyは、予め定められた任意の文字列である。
設定項目402において「ローカル」を有効にする設定がなされている場合、設定項目403の設定値を用いてユーザ認証が行われる。具体的には、例えば、ログインサービス部303は、キーボード認証画面601に入力されたユーザ名及びパスワードを示す情報と、設定項目403で設定されているユーザ名及びパスワードの値とを比較してユーザ認証を行う。「カードID」は、ICカード認証の際に用いられるICカードに配置されたICチップに格納された情報に対応する文字列の情報である。例えば、ログインサービス部303は、ICカード認証画面604を表示している際に取得したICカード情報と、設定項目403で設定されているカードIDの値とを比較してユーザ認証を行う。
「ロール」は、MFP101が提供する機能又はアプリケーション等についてのユーザに対する使用の権限を示す情報である。ロールに設定されている値と機能又はアプリケーション等の使用の権限との対応は、次表5に一例として示すようなロール情報テーブルで管理される。ロールの設定値は、MFP101が工場出荷時において設定された初期値に加えて、管理者が任意に追加できるようにしてもよい。また、管理者がロールの設定値に対応する使用の権限を所望の権限に変更できるようにしてもよい。
設定項目402において、「サーバ」を有効にする設定がなされている場合、管理者は、認証の際に用いるクラウドユーザ認証サービスを複数の選択肢の中から1つ選択する。更に、管理者は、選択したクラウドユーザ認証サービスの設定を行うためのボタン404を押下して、クラウドユーザ認証サービスの設定を行う。ここで、選択肢として挙げられるクラウドユーザ認証サービスの例としては、上述の、“Azure Active Directory(登録商標)”、“Google Workspace(登録商標)”、又は“Okta(登録商標)”等がある。
図5は、実施形態1に係るサーバ設定ページ500の一例を示す図である。例えば、「認証サービス3のサーバ設定」のボタン404が押下された場合、その応答として、リモートUI制御部302は、図5に一例として示す認証サービス3のサーバ設定ページ500を示す情報をユーザ端末103に送信する。ユーザ端末103で動作するウェブブラウザ340は、この情報をレンダリングすることにより、サーバ設定ページ500を表示させる。認証サービス3のサーバ設定ページ500は、クラウドユーザ認証サービスである認証サービス3と連携するために必要な情報を設定するためのウェブページである。「認証先の表示名」は、ユーザが認証の際に用いるクラウドユーザ認証サービスを識別するための情報である。設定した文字列は、キーボード認証画面601の「認証先」に対応する領域606に表示される。テナント名には、表1に示す値と同一の値が設定される。「アプリケーションID」及び「シークレット」には、表3示す情報と同一の値が設定される。
設定項目501は、ユーザ名及びパスワードを用いてユーザ認証を行う際のUIとして、ブラウジング部305が提供するウェブブラウザ機能を使用するか否かを設定するための項目である。ユーザは、「常時」、「多要素認証時のみ」、及び「使用しない」の中から1つを選択する。図7は、実施形態1に係るキーボード認証画面701の一例を示す図である。なお、キーボード認証画面701は、MFP101にユーザをログインさせるためのログイン画面の1つであり、MFP101のブラウジング部305が提供するウェブブラウザ機能を介して提供されるブラウザUIである。キーボード認証画面701における領域700は、サーバ102のWebサービス部310から取得した、HTMLで構成されるユーザ認証ページを示す情報を、WebViewによるレンダリングにより得たユーザ認証ページ702を描画する領域である。
設定項目501において「常時」が選択されている場合、ログインサービス部303は、ユーザ認証の際に、サーバ102のWebサービス部310からキーボード認証のためのユーザ認証ページを示す情報を取得する。ブラウジング部305は、ログインサービス部303が取得した情報をレンダリングする。ブラウジング部305は、レンダリングにより得たユーザ認証ページ702を領域700に描画する。
キーボード認証画面701は、MFP101へのログインを認証するための画面であるため、ユーザが任意のURL(Uniform Resource Locator)を入力できないように構成されている。これにより、ユーザが任意のURLを指定して意図しない画面に画面遷移することを防止することができる。設定項目402において、「ローカル」及び「サーバ」の両方を有効にする設定がなされている場合、図7に一例として示すように、キーボード認証画面701は、ボタン703を含んでいてもよい。ボタン703は、キーボード認証画面701からキーボード認証画面601に表示を切り替えるためのボタンであり、ユーザは、ボタン703を押下することにより、上述の表示の切り替えを行うことができる。
設定項目501において、「使用しない」が選択されている場合、ユーザ認証の際に、例えば、ログインサービス部303は、ローカルUI制御部301からエンベデッドUI(例えば、キーボード認証画面601)を示す情報を取得する。更に、ログインサービス部303は、図6(a)に一例として示すキーボード認証画面601、又は図6(b)に一例として示すICカード認証画面604を操作パネル205のディスプレイに表示させる。設定項目501において、「多要素認証時のみ」が選択されている場合については後述する。
設定項目502は、キーボード認証画面601に入力されたユーザ名を示す情報を補完するための設定に関する項目である。ログインサービス部303は、キーボード認証画面601に入力されたユーザ名を示す情報に@が含まれない場合、@以降の入力が省略されていると判定する。この場合、ログインサービス部303は、キーボード認証画面601に入力されたユーザ名と設定項目502に設定された文字列とを@で連結した文字列をユーザ名として、連結後の文字列を示す情報をユーザ認証に使用する。具体的には、例えば、キーボード認証画面601に入力されたユーザ名を示す情報が「[email protected]」であった場合、ログインサービス部303は、入力された文字列を示す情報をそのままユーザ認証に使用する。キーボード認証画面601に入力されたユーザ名を示す情報が「alice」であった場合、ログインサービス部303は、@以降の文字入力が省略されているものとする。具体的には、ログインサービス部303は、「alice」の後に「@jjjjjj.kkkkkkkkkkk.lll」を補完する。更に、ログインサービス部303は、補完後の「[email protected]」を示す情報をユーザ認証に使用する。
設定項目503は、ICカードのカードIDをクラウドユーザ認証サービスのユーザ属性に設定する際の項目する。例えば、“Azure Active Directory(登録商標)”には、表2に一例として示すようなユーザ属性がある。ICカードから従業員IDを示す情報を取得して認証する場合、設定項目503には、例えば「employeeId」を設定する。また、表2に示す従業員IDは、本来、属性値として「employeeId」が設定される領域であるが、従業員IDを、ICカードの製造番号等のカードIDを格納する領域として代用することもできる。
<MFPの動作>
MFP101の動作について説明する。なお、本実施形態では、後述する処理フローの手順が、制御用プログラムに記録されているものとして説明する。制御用プログラムは、ROM202又はHDD204等の不揮発性の記憶媒体に記憶されており、RAM203に展開され、CPU201により処理フローに従って各処理が実行される。MFP101が機能構成として有する、図3に示す各部の処理は、CPU201が制御用プログラムを実行することにより実現されるが、CPU201がその全ての処理を行う必要はない。例えば、上述したように、MFP101は1つ以上の処理を行う専用のハードウェア回路を備えてもよい。また、ローカルUI制御部301、リモートUI302、ログインサービス部303、及びICカードリーダドライバ304としてそれぞれを機能させる制御用プログラムは、互いにAPI(Application Programming Interface)を提供する。各制御用プログラムは、このAPIを相互に使用することによって、協調して動作する。処理フローの説明では、APIの呼び出しについては省略する。
MFP101の動作について説明する。なお、本実施形態では、後述する処理フローの手順が、制御用プログラムに記録されているものとして説明する。制御用プログラムは、ROM202又はHDD204等の不揮発性の記憶媒体に記憶されており、RAM203に展開され、CPU201により処理フローに従って各処理が実行される。MFP101が機能構成として有する、図3に示す各部の処理は、CPU201が制御用プログラムを実行することにより実現されるが、CPU201がその全ての処理を行う必要はない。例えば、上述したように、MFP101は1つ以上の処理を行う専用のハードウェア回路を備えてもよい。また、ローカルUI制御部301、リモートUI302、ログインサービス部303、及びICカードリーダドライバ304としてそれぞれを機能させる制御用プログラムは、互いにAPI(Application Programming Interface)を提供する。各制御用プログラムは、このAPIを相互に使用することによって、協調して動作する。処理フローの説明では、APIの呼び出しについては省略する。
<ログイン画面の表示処理フロー>
図8は、実施形態1に係るMFP101におけるログイン画面の表示処理の処理フローの一例を示すフローチャートである。MFP101は、MFP101の起動が完了したとき、ログイン機能に関する設定の変更を検知したとき、又はユーザのログアウトを検知して再びログイン画面を表示するとき等に、図8に示すフローチャートの処理を開始する。なお、以下の説明において、記号「S」はステップを意味する。
図8は、実施形態1に係るMFP101におけるログイン画面の表示処理の処理フローの一例を示すフローチャートである。MFP101は、MFP101の起動が完了したとき、ログイン機能に関する設定の変更を検知したとき、又はユーザのログアウトを検知して再びログイン画面を表示するとき等に、図8に示すフローチャートの処理を開始する。なお、以下の説明において、記号「S」はステップを意味する。
まず、S801にて、ログインサービス部303は、ログイン機能設定ページ400の設定値をHDD204から読み出すことにより取得する。次に、S802にて、ログインサービス部303は、設定項目402において、「サーバ」を有効にする設定がなれているか否かを判定する。S802にて「サーバ」を有効にする設定がなれていると判定された場合、MFP101は、S803の処理を実行する。この場合、S803にて、ログインサービス部303は、設定項目402で選択されているクラウドユーザ認証サービスに対応するサーバ設定ページ500の設定値をHDD204から読み出すことにより取得する。S803の後、S804にて、ログインサービス部303は、設定項目501の設定値が「常時」であるか否かを判定する。
S804にて設定項目501の設定値が「常時」であると判定された場合、S805にて、ログインサービス部303は、サーバ102のWebサービス部310からキーボード認証用のユーザ認証ページ702を示す情報を取得する。S805の後、S806にて、ログインサービス部303が内包するブラウジング部305は、S805にて取得された情報をレンダリングする。S806の後、S807にて、ブラウジング部305は、S806のレンダリングにより得たユーザ認証ページ702を領域700に描画する。なお、設定項目402において「ローカル」及び「サーバ」の両方を有効にする設定がなされている場合、ログインサービス部303は、以下のようなログイン画面を操作パネル205のディスプレイに表示させてもよい。この場合、例えば、ログインサービス部303は、S807にてブラウザUIを表示させる際に、ボタン703を含むログイン画面を操作パネル205のディスプレイに表示させる。図8には図示していないが、ユーザがボタン703を押下したときに、例えば、MFP101は、後述するS811、及び、S812又はS813の処理を実行する。これにより、MFP101は、キーボード認証画面601又はICカード認証画面604をログイン画面として操作パネル205のディスプレイに表示させる。
S802にて「サーバ」を有効にする設定がなれていないと判定された場合、又はS804にて設定値が「常時」でないと判定された場合、MFP101は、S811の処理を実行する。この場合、S811にて、ログインサービス部303は、設定項目401において、「ICカード認証」を有効にする設定がなれているか否かを判定する。S811にて「ICカード認証」を有効にする設定がなれていると判定された場合、S812にて、ログインサービス部303は、まず、ローカルUI制御部301からICカード認証画面604を示す情報を取得する。次に、ICカード認証画面604をログイン画面として操作パネル205のディスプレイに表示させる。S811にて「ICカード認証」を有効にする設定がなれていないと判定された場合、S813にて、ログインサービス部303は、まず、ローカルUI制御部301からキーボード認証画面601を示す情報を取得する。次に、キーボード認証画面601をログイン画面として操作パネル205のディスプレイに表示させる。
なお、設定項目401において、「キーボード認証」及び「ICカード認証」の両方を有効にする設定がなされている場合、ログインサービス部303は、ボタン602を含めたキーボード認証画面601を操作パネル205のディスプレイに表示させる。同様に、この場合、ログインサービス部303は、ボタン605を含めたICカード認証画面604を操作パネル205のディスプレイに表示させる。
図8には図示していないが、ユーザがボタン602を押下したときに、MFP101は、S812の処理を実行して、ICカード認証画面604を操作パネル205のディスプレイに表示させる。同様に、図8には図示していないが、ユーザがボタン605を押下したときに、MFP101は、S813の処理を実行して、キーボード認証画面601を操作パネル205のディスプレイに表示させる。ユーザがボタン605を押下したときに、MFP101は、以下のような処理を行ってもよい。ユーザがボタン605を押下したときに、例えば、MFP101は、まず、設定項目501の設定値が「常時」であるか否かを判定する。設定項目501の設定値が「常時」であると判定された場合、例えば、MFP101は、S805からS807までの処理を実行して、キーボード認証画面701を操作パネル205のディスプレイに表示させる。設定項目501の設定値が「常時」でないと判定された場合、例えば、MFP101は、S813の処理を実行して、キーボード認証画面601を操作パネル205のディスプレイに表示させる。
ログインサービス部303がログイン画面として操作パネル205のディスプレイに表示させるキーボード認証画面701における領域700に描画されるユーザ認証ページ702は、サーバ102のWebサービス部310から提供されたウェブページである。そのため、表4に一例として示すローカルアカウントのみが設定されているユーザ、すなわち、サーバ102のユーザ管理部312でアカウントの管理が行われていないユーザは、キーボード認証画面701を用いてMFP101にログインすることができない。このようなユーザは、操作パネル205のディスプレイにキーボード認証画面701が表示されたときに、ボタン703を押下して、例えば、キーボード認証画面601又はICカード認証画面604を表示させる。キーボード認証画面601が表示された場合、更に、ユーザは、キーボード認証画面601の「認証先」を「ローカル」に変更して認証操作を行う。
<キーボード認証画面での認証処理フロー>
図9及び10を参照して、サーバ102のユーザ管理部312が管理するアカウントの情報を用いて、ユーザがMFP101にログインする際のMFP101の動作について説明する。図9は、実施形態1に係るログイン画面の画面遷移の一例を示す図である。図10は、実施形態1に係るMFP101における認証処理の処理フローの一例を示すフローチャートである。具体的には、図10に一例として示すフローチャートは、図9に示すキーボード認証画面601での認証操作時において、サーバ102のユーザ管理部312が管理するアカウントの情報を用いてユーザ認証が行われる際の処理フローである。ここで、図9に示すキーボード認証画面601は、図6(a)に示すキーボード認証画面601と同様のものである。なお、MFP101は、図10に示すフローチャートの処理を実行する前に、ログイン画面としてキーボード認証画面601を操作パネル205のディスプレイに表示させた状態で待機しているものとして説明する。
図9及び10を参照して、サーバ102のユーザ管理部312が管理するアカウントの情報を用いて、ユーザがMFP101にログインする際のMFP101の動作について説明する。図9は、実施形態1に係るログイン画面の画面遷移の一例を示す図である。図10は、実施形態1に係るMFP101における認証処理の処理フローの一例を示すフローチャートである。具体的には、図10に一例として示すフローチャートは、図9に示すキーボード認証画面601での認証操作時において、サーバ102のユーザ管理部312が管理するアカウントの情報を用いてユーザ認証が行われる際の処理フローである。ここで、図9に示すキーボード認証画面601は、図6(a)に示すキーボード認証画面601と同様のものである。なお、MFP101は、図10に示すフローチャートの処理を実行する前に、ログイン画面としてキーボード認証画面601を操作パネル205のディスプレイに表示させた状態で待機しているものとして説明する。
まず、S1001にて、ログインサービス部303は、ユーザによる認証操作を検知する。具体的には、ユーザは、キーボード認証画面601において、ユーザ名及びパスワードを示す文字列を入力する。更に、ユーザは、領域606に所望のクラウドユーザ認証サービスが選択された状態でボタン607が押下する。ログインサービス部303は、ボタン607が押下されたことを検知することにより、ユーザによる認証操作を検知する。次に、S1002にて、ログインサービス部303は、入力されたユーザ名の文字列を示す情報とパスワードの文字列を示す情報とをサーバ102へ送信してユーザ認証を要求する。なお、このとき、ログインサービス部303は、上述したように、必要に応じて、ユーザ名を示す文字列に@以下の文字列を補完して、補完後の文字列を示す情報をパスワードの文字列を示す情報と共に送信する。ユーザ認証の要求は、例えば、“RFC6749 The OAuth2.0 Authorization Framework”の“4.3. Resource Owner Password Credentials Grant”の“Access Token Request”を利用することができる。具体的には、例えば、次表6に一例として示すような情報を、サーバ102が提供するクラウドユーザ認証サービスが予め定めたURLへHTTPのPOSTを用いて送信する。
ここで、“scope”は、ユーザ認証成功時に取得するアクセストークンを用いたときにアクセス可能なリソースの範囲を示す。ログインサービス部303は、“REST API”を用いてユーザのメールアドレスを示す情報等のユーザ属性の値(以下「属性値」と呼ぶ。)を取得するために必要なスコープを“scope”に指定する。次に、S1003にて、ログインサービス部303は、S1002にて送信した要求に対する応答をサーバ102から受信する。次に、S1004にて、ログインサービス部303は、受信した応答が認証成功を示すものであるか否かを判定する。具体的には、ログインサービス部303は、S1003にて受信した応答がアクセストークンを含む場合に認証成功したと判定し、受信した応答がアクセストークンを含まない場合に認証成功していないと判定する。
S1004にて認証成功したと判定された場合、すなわち、応答がアクセストークンを含む場合、S1010にて、ログインサービス部303は、認証に成功したユーザのメールアドレスを示す情報等の詳細なユーザ情報を取得する。具体的には、ログインサービス部303は、S1003にて受信した応答に含まれるアクセストークンを使用して、サーバ102が提供するクラウドユーザ認証サービスの“REST API”にアクセスする。ログインサービス部303は、“REST API”へのアクセスにより、認証に成功したユーザのメールアドレスを示す情報等の詳細なユーザ情報を取得する。より具体的には、ログインサービス部303は、HTTPのAuthorizationヘッダにアクセストークンを格納して、“REST API”に対応する所定のURLへGETリクエストを送信する。サーバ102は、その応答として、表2に一例として示すようなユーザ属性に格納された属性値をMFP101に送信して、MFP101は、これを受信する。
S1004にて認証成功していないと判定された場合、すなわち、応答がアクセストークンを含まない場合、S1005にて、ログインサービス部303は、S1003にて受信した応答に多要素認証が必要である旨を示す情報が含まれているか否かを判定する。S1005にて応答に多要素認証が必要である旨を示す情報が含まれていないと判定された場合、S1020にて、ログインサービス部303は、認証が失敗したことを示す、図9には不図示のエラー画面を操作パネルのディスプレイに表示させる。ここで、認証が失敗したことを示すエラー画面とは、例えば、入力されたユーザ名又はパスワードが不正である旨を示すエラー画面である。S1020の後、MFP101は、図10に示すフローチャートの処理を終了し、例えば、ログイン画面としてキーボード認証画面601を操作パネル205のディスプレイに表示させて待機する。
S1005にて応答に多要素認証が必要である旨を示す情報が含まれると判定された場合、MFP101は、S1030の処理を実行する。この場合、S1030にて、ログインサービス部303は、HDD204から設定項目501の設定値を読み出して、ウェブブラウザ機能について「使用しない」が選択されているか否かを判定する。S1030にて「使用しない」が選択されていると判定された場合、S1040にて、ログインサービス部303は、サーバ102にユーザ認証を要求する。具体的には、ログインサービス部303は、サーバ設定ページ500で設定されたアプリケーションID及びシークレットを示す情報をサーバ102に送信することにより、サーバ102に対してクライアント認証を要求する。クライアント認証の要求によるユーザ認証の要求は、“RFC6749 The OAuth2.0 Authorization Framework”の“4.4. Client Credentials Grant”の“Access Token Request”を利用することができる。より具体的には、例えば、ログインサービス部303は、次表7に一例として示すような情報を、サーバ102が提供するクラウドユーザ認証サービスが予め定めたURLへHTTPのPOSTを用いて送信する。
S1040の後、S1041にて、ログインサービス部303は、S1040にて送信した要求に対する応答を受信する。S1041の後、S1042にて、ログインサービス部303は、S1041にて受信した応答がクライアント認証の成功を示すものであるか否かを判定する。具体的には、例えば、ログインサービス部303は、S1041にて受信した応答がアクセストークンを含む場合にクライアント認証が成功したと判定し、アクセストークンを含まない場合にクライアント認証が成功しなかったと判定する。
S1042にてクライアント認証が成功しなかったと判定された場合、すなわち、応答がアクセストークンを含まない場合、MFP101は、S1050の処理を実行する。この場合、S1050にて、ログインサービス部303は、認証が失敗したことを示す、図9には不図示のエラー画面を操作パネルのディスプレイに表示させる。S1042にてクライアント認証が成功しなかったと判定された場合、サーバ設定ページ500で設定されているアプリケーションID又はシークレットの設定値が間違っている可能性がある。そのため、ログインサービス部303は、認証が失敗したことを示すエラー画面として、例えば、アプリケーションID又はシークレットの設定値が間違っている可能性がある旨を示すエラー画面を操作パネル205のディスプレイに表示させる。
S1042にてクライアント認証が成功したと判定された場合、すなわち、応答がアクセストークンを含む場合、S1043にて、ログインサービス部303は、認証に成功したユーザのメールアドレスを示す情報等の詳細なユーザ情報を取得する。具体的には、ログインサービス部303は、ユーザ名を示す情報と、S1041にて取得した応答に含まれるアクセストークンとを使用してサーバ102が提供するクラウドユーザ認証サービスの“REST API”にアクセスする。ログインサービス部303は、“REST API”へのアクセスにより、認証に成功したユーザのメールアドレスを示す情報等の詳細なユーザ情報を取得する。より具体的には、ログインサービス部303は、HTTPのAuthorizationヘッダにアクセストークンを格納して、“REST API”に対応する所定のURLへGETリクエストを送信する。サーバ102は、その応答として、表2に一例として示すようなユーザ属性に格納された値をMFP101に送信して、MFP101は、これを受信する。
このように、サーバ102が提供するクラウドユーザ認証サービスにおいて、アプリケーションIDと関連付けてユーザ情報にアクセス可能な権限を予め設定しておく。これにより、上述の“RFC6749 The OAuth2.0 Authorization Framework”の“4.4. Client Credentials Grant”等を利用して、アクセストークンを取得することができる。更に、取得したアクセストークンを使用してユーザのメールアドレスを示す情報等の詳細なユーザ情報を取得することができる。すなわち、このように構成したMFP101によれば、クライアント認証による多要素認証により、ブラウザUIを用いた多要素認証を回避することができる。
S1030にて「使用しない」が選択されていないと判定された場合、具体的には、例えば、設定項目501で「多要素認証時のみ」が選択されている場合、ログインサービス部303は、S1060の処理を実行する。この場合、S1060にて、ログインサービス部303は、図9に示すブラウザUI(キーボード認証画面701)を操作パネル205のディスプレイに表示する。ここで、図9に示すキーボード認証画面701は、図7に示すキーボード認証画面701と同様のものである。ログインサービス部303が内包するブラウジング部305は、ウェブブラウザ機能を用いて、サーバ102にユーザ認証とアクセストークンとを要求する。ブラウジング部305は、この要求のプロトコルとして、例えば、“RFC6749 The OAuth2.0 Authorization Framework”の“4.1. Authorization Code Grant”の“Authorization Request”を利用することができる。具体的には、ブラウジング部305は、次表8に一例として示すようなパラメータを格納して、サーバ102が提供するクラウドユーザ認証サービスが予め定めたURLへHTTPのGETリクエストを送信する。その応答として、サーバ102は、HTMLで構成されたユーザ認証ページ702の示す情報をMFP101に送信し、MFP101は、これを受信する。ブラウジング部305は、受信したユーザ認証ページの示す情報をレンダリングする。ログインサービス部303は、レンダリングにより得たユーザ認証ページ702を領域700に描画する。
S1060の後、S1061にて、ログインサービス部303は、ユーザによるWebViewを用いた認証操作を検知する。具体的には、ログインサービス部303は、レンダリングにより得たユーザ認証ページの描画の完了、又は、ユーザによる入力操作、若しくは画面遷移を検知する。S1061の処理において、まず、ユーザは、ユーザ認証ページ702にユーザ名に対応する文字列を入力して、「次へ」ボタンを押下する。このとき、キーボード認証画面601にて入力されたユーザ名を示す情報を用いて、ユーザ認証ページ702にユーザ名に対応する文字列が自動で入力されるようにログインサービス部303を構成してもよい。これにより、ユーザがキーボード認証画面601とキーボード認証画面701とにおいて同じユーザ名を2回入力する手間を省くことができる。また、このとき、「次へ」ボタンの押下が自動で実行されるようにログインサービス部303を構成してもよい。例えば、WebViewにおけるjavascript等のスクリプトの実行機能を用いることによりフィールドへの自動入力、及び「次へ」ボタンの押下等の決定操作等の自動実行を行うことができる。
S1061の処理におい引き続き、ブラウジング部305は、パスワード入力ページ904を示す情報を取得する。ブラウジング部305は、取得した情報をレンダリングして、パスワード入力ページ904を領域700に描画する。ユーザは、パスワード入力ページ904にパスワードに対応する文字列を入力して、「認証」ボタン901を押下する。このとき、キーボード認証画面601で入力されたパスワードを示す情報を用いて、パスワードに対応する文字列がパスワード入力ページ904に自動で入力されるようにログインサービス部303を構成してもよい。また、このとき、「認証」ボタン901の押下が自動で実行されるようにログインサービス部303を構成してもよい。入力されたユーザ名を示す情報とパスワードを示す情報とは、サーバ102に送信されて、ユーザ管理部312が管理するアカウントの情報と照合される。サーバ102でのユーザ名及びパスワードの照合が成功し、且つ多要素認証を有効にする設定がなされている場合、サーバ102は、二要素目のユーザ認証を要求するHTMLをMFP101に送信して応答する。
S1061の処理において引き続き、MFP101は、サーバ102から送信されたこのHTMLを受信する。ブラウジング部305は、受信したHTMLをWebViewによりレンダリングして、レンダリングにより得た多要素認証ページ905を領域700に描画する。S1061の処理において引き続き、ユーザは、例えば、上述した、「SMS」、「認証アプリケーション」、及び「認証トークン」を用いたいずれかの認証手段を用いて二要素目の認証を実施する。具体的には、例えば、ユーザは、ユーザ端末103が取得して表示したワンタイムパスワードを参照して、このワンタイムパスワードに対応する文字列を多要素認証ページ905に入力する。ユーザは、ワンタイムパスワードに対応する文字列の入力後に「照合」ボタン902を押下する。上述したように、ユーザ端末103で動作する認証アプリケーション320を用いた認証手段には、サーバ102からの承認要求に対応して、認証を承認するだけのものもある。この認証手段においては、サーバ102は、認証アプリケーション320による認証の承認されたことを検知して、多要素認証を完結させる。
認可が必要である場合、S1061の処理において引き続き、サーバ102は、“REST API”を利用することの承諾を求めるウェブページを示す情報を、MFP101に送信することがある。具体的には、サーバ102は、表8に示すclient_idで指定されたアプリケーションIDに対応するアプリケーションが、scopeで指定された“REST API”を利用することの承諾を求めるウェブページを示す情報をMFP101に送信する。この場合、MFP101は、この情報を受信して、ブラウジング部305は、この情報をレンダリングすることにより得た、図9には不図示のウェブページを領域700に描画してもよい。
以下、サーバ102にて、多要素認証による認証及び認可が成功したと判定されたものとして説明する。多要素認証による認証及び認可が成功した場合、S1061の処理において引き続き、サーバ102は、表8に示すredirect_uriで指定されたURLにアクセストークンを送信する。具体的には、URLパラメータにアクセストークンを格納してブラウジング部のWebViewにリダイレクトを要求する。より具体的には、例えば、サーバ102は、WebViewに、“https://localhost:443/oauth/callback?code=アクセストークン”へのリダイレクトを要求する。
S1062にて、ログインサービス部303は、アクセストークンを取得する。具体的には、ログインサービス部303は、Webサービス部306を内包しており、Webサービス部306は、“https://localhost:443/oauth/callback”に対応するプログラムでURLのパラメータに含まれるアクセストークンを受信する。これにより、ログインサービス部303は、Webサービス部306が受信したアクセストークンを取得する。なお、S1062にてログインサービス部303がアクセストークンを取得できなかった場合、例えば、ログインサービス部303は、認証又は認可が失敗したことを示す、図9には不図示のエラー画面を操作パネルのディスプレイに表示させる。その後、MFP101は、図10に示すフローチャートの処理を終了し、例えば、ログイン画面としてキーボード認証画面601を操作パネル205のディスプレイに表示させて待機する。S1062にてログインサービス部303がアクセストークンを取得できなかった場合に、再度、ブラウジング部305がパスワード入力ページ904を領域700に描画するようにMFP101を構成してもよい。
S1062の後、S1063にて、ログインサービス部303は、取得したアクセストークンを使用して、認証したユーザのメールアドレスを示す情報等の詳細なユーザ情報を取得する。具体的には、ログインサービス部303は、S1062にて取得したアクセストークンを使用してサーバ102が提供するクラウドユーザ認証サービスの“REST API”にアクセスする。ログインサービス部303は、“REST API”へのアクセスにより、認証に成功したユーザのメールアドレスを示す情報等の詳細なユーザ情報を取得する。より具体的には、HTTPのAuthorizationヘッダにアクセストークンを格納し、“REST API”に対応する所定のURLへGETリクエストを送信する。その応答として、サーバ102は、表2に一例として示すようなユーザ属性に格納された値をMFP101に送信し、MFP101は、これを受信する。
S1010、S1043、又はS1063の後、S1070にて、ログインサービス部303は、ユーザをMFP101にログインさせるためのログイン処理を行う。具体的には、例えば、ログインサービス部303は、まず、ログイン中のユーザ情報を格納する構造体(以下「ログインコンテキスト」と呼ぶ。)をインスタンス化する。次に、インスタンス化したログインコンテキストに、S1010、S1043、又はS1063にて取得したユーザ情報を格納する。ログインコンテキストに格納する値は、次表9に一例として示すようなユーザ名、メールアドレス、及びロール等である。
ロールの属性値については、例えば、ログインサービス部303が、サーバ102から取得したユーザ情報のうちの役職(jobTitle)を示す情報等に基づいて決定する。また、例えば、ログインサービス部303は、認証に成功したユーザが属するユーザグループを示す情報(以下「グループ情報」と呼ぶ。)をサーバ102から取得して、取得したグループ情報に基づいて、ロールの属性値を決定してもよい。MFP101は、サーバ102から取得可能なユーザ情報と、MFP101が管理するロールとの対応関係を設定するための機能を備えてもよい。ログインサービス部303は、所定のAPIを介して、ユーザ情報を格納したログインコンテキストをローカルUI制御部301に送信する。ローカルUI制御部301は、これを受信して、ユーザがMFP101にログインしたことを検知し、操作パネル205のディスプレイの表示をログイン画面から、図9に一例として示すメニュー画面903に画面遷移させる。
図11を参照して、設定項目501において「常時」が選択されている場合のログイン画面の画面遷移について説明する。図11は、実施形態1に係るログイン画面の画面遷移の一例を示す図である。具体的には、図11に一例として示す画面遷移は、設定項目501において「常時」が選択されている場合のものである。この場合のMFP101の処理フローは、図10に示すS1060からS1070までの処理フローとほぼ同等であるため、フローチャートを用いた詳細な説明については省略する。なお、ユーザ認証ページ702におけるユーザ名に対応する文字列と、パスワード入力ページ904におけるパスワードに対応する文字列とについては、自動での入力が行われないため、ユーザが手動で入力する必要がある。
ユーザは、WebViewにより描画されたユーザ認証ページ702に、ユーザ名に対応する文字列を入力して、「次へ」ボタンを押下する。これを受けて、MFP101は、上述したように、パスワード入力ページ904を領域700に描画する。次に、ユーザは、パスワード入力ページ904にパスワードに対応する文字列を入力して、「認証」ボタンを押下する。MFP101は、入力された、ユーザ名及びパスワードに対応する文字列を示す情報、並びに、表8に一例として示すようなパラメータをサーバ102に送信する。サーバ102は、ユーザ名及びパスワードに対応する文字列と、ユーザ管理部312が管理するアカウントの情報と照合する。
サーバ102は、多要素認証が不要である場合、ユーザ名及びパスワードの照合が成功すると、表8に示すredirect_uriで指定されたURLにアクセストークンを送信する。MFP101は、取得したアクセストークンを用いてサーバ102が提供するクラウドユーザ認証サービスの“REST API”にアクセスし、認証したユーザの詳細なユーザ情報を取得する。その後、MFP101は、ログイン処理を実行して、メニュー画面903を表示する。
サーバ102は、多要素認証が必要である場合、ユーザ名及びパスワードの照合が成功すると、多要素認証ページ905を示す情報をMFP101に送信すると共に、ワンタイムパスワードをユーザ端末103に送信する。MFP101は、この情報をレンダリングして、多要素認証ページ905を領域700に描画する。ユーザは、ユーザ端末103にて受信され表示されたワンタイムパスワードを参照して、ワンタイムパスワードに対応する文字列を多要素認証ページ905に入力し、「照合」ボタン902を押下する。MFP101は、入力されたワンタイムパスワードに対応する文字列を示す情報をサーバ102に送信する。サーバ102は、ワンタイムパスワードを用いて多要素認証を行い、多要素認証が成功すると、表8に示すredirect_uriで指定されたURLにアクセストークンを送信する。MFP101は、取得したアクセストークンを用いてサーバ102が提供するクラウドユーザ認証サービスの“REST API”にアクセスし、認証したユーザの詳細なユーザ情報を取得する。その後、MFP101は、ログイン処理を実行して、メニュー画面903を表示する。
<ICカード認証画面での認証処理フロー>
図12を参照して、ユーザがICカードを用いてMFP101にログインする際のMFP101の動作について説明する。図12は、実施形態1に係るMFP101における認証処理の処理フローの一例を示すフローチャートである。具体的には、図12に一例として示すフローチャートは、図6(b)に示すICカード認証画面604での認証操作時における処理フローである。なお、MFP101は、図12に示すフローチャートの処理を実行する前に、ログイン画面としてICカード認証画面604を操作パネル205のディスプレイに表示させた状態、且つICカードを検知可能な状態で待機しているものとして説明する。
図12を参照して、ユーザがICカードを用いてMFP101にログインする際のMFP101の動作について説明する。図12は、実施形態1に係るMFP101における認証処理の処理フローの一例を示すフローチャートである。具体的には、図12に一例として示すフローチャートは、図6(b)に示すICカード認証画面604での認証操作時における処理フローである。なお、MFP101は、図12に示すフローチャートの処理を実行する前に、ログイン画面としてICカード認証画面604を操作パネル205のディスプレイに表示させた状態、且つICカードを検知可能な状態で待機しているものとして説明する。
ユーザがICカードリーダ209にICカードを翳すと、S1201にて、ICカードリーダドライバ304は、ICカードからカードID等のICカード情報を取得して、ログインサービス部303に通知する。次に、S1202にて、ログインサービス部303は、サーバ設定ページ500で設定されたアプリケーションID及びシークレットを示す情報をサーバ102に送信することにより、サーバ102にクライアント認証を要求する。S1202の処理は上述のS1040の処理と同様であるため、説明を省略する。次に、S1203にて、ログインサービス部303は、S1202にて送信した要求に対する応答を受信する。S1203の後、S1204にて、ログインサービス部303は、S1203にて受信した応答がクライアント認証の成功を示すものであるか否かを判定する。具体的には、例えば、ログインサービス部303は、S1203にて受信した応答がアクセストークンを含む場合にクライアント認証が成功したと判定し、アクセストークンを含まない場合にクライアント認証が成功しなかったと判定する。
S1204にてクライアント認証が成功しなかったと判定された場合、すなわち、応答がアクセストークンを含まない場合、MFP101は、S1210の処理を実行する。この場合、S1210にて、ログインサービス部303は、認証が失敗したことを示す、図11には不図示のエラー画面を操作パネルのディスプレイに表示させる。クライアント認証が成功しなかったと判定された場合、サーバ設定ページ500で設定されているアプリケーションID又はシークレットの設定値が間違っている可能性がある。そのため、ログインサービス部303は、認証が失敗したことを示すエラー画面として、例えば、アプリケーションID又はシークレットの設定値が間違っている可能性がある旨を示すエラー画面を操作パネル205のディスプレイに表示させる。
S1204にてクライアント認証が成功したと判定された場合、すなわち、応答がアクセストークンを含む場合、S1205にて、ログインサービス部303は、認証に成功したユーザのメールアドレスを示す情報等の詳細なユーザ情報の取得を試みる。具体的には、ログインサービス部303は、S1203にて取得した応答に含まれるアクセストークンと、S1201にて取得したICカード情報とを使用して、サーバ102が提供するクラウドユーザ認証サービスの“REST API”にアクセスする。より具体的には、ログインサービス部303は、HTTPのAuthorizationヘッダにアクセストークンを格納して、“REST API”に対応する所定のURLへGETリクエストを送信する。
サーバ102は、GETリクエストで受信したICカード情報がユーザ管理部312に登録されている場合、表2に一例として示すようなユーザ属性に格納された値を含めた応答をMFP101に送信して、MFP101は、これを受信する。この場合、ログインサービス部303は、ユーザ情報を取得することができる。また、サーバ102は、GETリクエストで受信したICカード情報がユーザ管理部312に登録されていない場合、表2に一例として示すようなユーザ属性に格納された値を含まない応答をMFP101に送信して、MFP101は、これを受信する。この場合、ログインサービス部303は、ユーザ情報を取得することができない。
S1205の後、S1206にて、ログインサービス部303は、S1205にて受信した応答にユーザ情報が含まれているか否かを判定する。S1206にて応答にユーザ情報が含まれていないと判定された場合、S1201にて取得したICカード情報に対応付けられたユーザ情報が登録されていないものと判定する。この場合、S1220にて、ログインサービス部303は、操作パネル205のディスプレイに、例えば、S1201におけるICカード情報の取得の際に翳されたICカードが未登録のICカードである旨を示す図11には不図示のエラー画面を表示させる。
S1206にて応答にユーザ情報が含まれていないと判定された場合、ログインサービス部303は、表4に示すユーザカウントテーブルに登録されているカードIDと、S1201にて取得したICカード情報に含まれるカードIDとを照合してもよい。具体的には、例えば、ログインサービス部303は、まず、設定項目402において「ローカル」を有効にする設定がなされているか否かを判定する。「ローカル」を有効にする設定がなされていないと判定された場合、例えば、ログインサービス部303は、「ローカル」を有効にする設定を行うように促す図11には不図示の通知画面を、操作パネル205のディスプレイに表示させる。
「ローカル」を有効にする設定がなされていると判定された場合、ログインサービス部303は、表4に示すユーザカウントテーブルをHDD204から読み出す。次に、ログインサービス部303は、S1201にて取得したICカード情報に含まれるカードIDがユーザカウントテーブルに登録されているか否かを判定する。登録されていないと判定された場合、例えば、ログインサービス部303は、S1201におけるICカード情報の取得の際に翳されたICカードに対応するICカード情報が未登録である旨を示すエラー画面を、操作パネル205のディスプレイに表示させる。登録されていると判定された場合、ログインサービス部303は、S1201にて取得したICカード情報に対応するユーザ情報をユーザカウントテーブルから取得する。
S1206にて応答にユーザ情報が含まれていると判定された場合、MFP101は、S1230の処理を実行する。この場合、S1230にて、ログインサービス部303は、このユーザ情報を用いて、S1201にて取得したICカード情報に対応付けられたユーザをMFP101にログインさせるためのログイン処理を行う。S1230におけるログイン処理は、S1070におけるログイン処理と同様であるため、説明を省略する。このように構成したMFP101によれば、ICカード情報を予めサーバ102に登録しておくことにより、ブラウザUIを用いた多要素認証を回避しつつ、ICカードを用いたログイン処理を行うことができる。
<ICカード情報の登録処理フロー>
図13を参照して、ICカード情報をサーバ102に登録する際の処理フローについて説明する。図13は、ICカード情報をサーバ102に登録する際の画面遷移の一例を示す図である。MFP101は、ICカードを所持するユーザに対して、サーバ102にICカード情報を登録する機能(以下「ICカード登録機能」と呼ぶ。)を提供してもよい。MFP101は、上述の、ユーザ認証の処理、及びアクセストークンの取得の処理を応用することにより、ICカード情報をサーバ102に登録することができる。
図13を参照して、ICカード情報をサーバ102に登録する際の処理フローについて説明する。図13は、ICカード情報をサーバ102に登録する際の画面遷移の一例を示す図である。MFP101は、ICカードを所持するユーザに対して、サーバ102にICカード情報を登録する機能(以下「ICカード登録機能」と呼ぶ。)を提供してもよい。MFP101は、上述の、ユーザ認証の処理、及びアクセストークンの取得の処理を応用することにより、ICカード情報をサーバ102に登録することができる。
ICカード登録機能を提供する場合、図6(b)に一例として示すICカード認証画面604に「カード登録」ボタン1301を含めたICカード認証画面1300が操作パネル205のディスプレイに表示される。ユーザがカード登録ボタンを押下した場合、MFP101は、ユーザをユーザ名とパスワードとで認証し、サーバ102に登録された正規のユーザであることを確認する。このため、MFP101は、キーボード認証画面601又はキーボード認証画面701を操作パネル205のディスプレイに表示させる。どちらの画面を表示させるかについては、MFP101は、設定項目501における選択の状態によって決定する。いずれかの画面による認証処理によるユーザ認証が成功して、MFP101がアクセストークンの取得に成功した場合、MFP101は、図13に一例と示すカード登録画面1302を操作パネル205のディスプレイに表示させる。
カード登録画面1302を表示している状態において、ユーザが、ICカードをICカードリーダ209に翳すと、ICカードリーダドライバ304は、このICカードからICカード情報を取得する。MFP101は、取得したアクセストークンを使用して、サーバ102が提供するクラウドユーザ認証サービスの“REST API”にアクセスし、取得したICカード情報と認証したユーザに対応するユーザ名とを対応付けてサーバ102に登録する。具体的には、“Resource Owner Password Credentials Grant”を用いて取得したアクセストークンを使用する場合、MFP101は、以下のようにして、サーバ102にカードIDを登録する。まず、MFP101は、HTTPのAuthorizationヘッダにアクセストークンを格納する。次に、MFP101は、“REST API”に対応する所定のURLへ、カードIDとカードIDを格納するユーザ属性の属性名を示す情報とを含むPOSTリクエストを送信する。サーバ102は、POSTリクエストを受信して、POSTリクエストに含まれるカードIDを属性名に対応するユーザ属性に格納して、カードIDを登録する。なお、“Authorization Code Grant” を用いて取得したアクセストークンを使用する場合も、“Resource Owner Password Credentials Grant”と同様である。
“Client Credentials Grant”を用いて取得したアプリケーション(クライアント)のアクセストークンを使用する場合には、MFP101は、まず、HTTPのAuthorizationヘッダにアクセストークンを格納する。次に、MFP101は、“REST API”に対応する所定のURLへ、カードIDとカードIDを格納するユーザ属性の属性名を示す情報とを含むPOSTリクエストを送信して、サーバ102にカードIDを登録する。サーバ102から登録の成功を示す応答を受信した後、MFP101は、カード登録完了画面1303を操作パネル205のディスプレイに表示させて、ユーザにICカードの登録が完了した旨を通知する。
<効果>
上述のとおり、サーバにより提供されるクラウドサービスに登録されたユーザ認証情報を用いて、組込み機器であるMFP等の情報処理装置にログインできるように構成した。また、クラウドサービスにおいて多要素認証を有効にする設定がなされている場合であっても、このような情報処理装置にログインできるように構成した。以上のように構成することにより、クラウドサービスとの親和性が高い組込み機器の情報処理装置を提供することできる。
上述のとおり、サーバにより提供されるクラウドサービスに登録されたユーザ認証情報を用いて、組込み機器であるMFP等の情報処理装置にログインできるように構成した。また、クラウドサービスにおいて多要素認証を有効にする設定がなされている場合であっても、このような情報処理装置にログインできるように構成した。以上のように構成することにより、クラウドサービスとの親和性が高い組込み機器の情報処理装置を提供することできる。
また、ウェブブラウザ機能を用いたブラウザUIによるユーザ認証情報の入力手段と、ブラウザUIによるユーザ認証情報の入力手段よりも操作性に優れたエンベデッドUIによるユーザ認証情報の入力手段とを提供するように構成した。具体的には、エンベデッドUIにおいて、ユーザ名の入力が容易になるように@以下を補完する機能を設けた。これにより、エンベデッドUIでは、ブラウザUIよりも簡易にユーザ認証情報を入力することができる。また、クラウドサービスに登録したICカードを用いてユーザ認証ができるように構成した。これにより、ユーザは、ユーザ認証処理を行う認証先を意識することなく、ICカードを用いて情報処理装置にログインすることができる。
また、ログイン機能の設定、又は多要素認証の要否に応じて、ユーザ認証情報の入力手段が自動で変更されるように、具体的には、ログイン画面がブラウザUIとエンベデッドUIとが自動で切り替わるように構成した。これにより、例えば、多要素認証の利用頻度が高いユーザ環境(例えばテナント)においては、常に、ブラウザUIを使用するように設定することができる。また、多要素認証の利用頻度が低いユーザ環境においては、通常のときには、エンベデッドUIを使用するように設定し、多要素認証を行うときだけ、ブラウザUIを使用するように自動で切り替えることができる。
また、エンベデッドUIからブラウザUIに切り替える際に、エンベデッドUIにおいて入力したユーザ名及びパスワードの文字列が、ブラウザUIにおいて自動で再入力されるように構成した。これにより、多要素認証の利用頻度が高いユーザ環境において、常に、最初にエンベデッドUIを使用するように設定しておいても、ユーザの利便性が大きく損なわれることはない。
また、組込み機器の情報処理装置へのログインについては、多要素認証を省略してよいと考えるユーザ環境においては、キーボード認証時にウェブブラウザ機能を使用しないようにする設定、又はローカルUIのログイン方法でICカード認証を選択するとよい。これにより、クライアント認証による多要素認証が行われることになるため、キーボードを用いた入力による多要素認証を省略することができる。
[実施形態1の変形例]
実施形態1では、ウェブブラウザ機能を備える情報処理装置(MFP101)について説明した。組込み機器の情報処理装置の中には、サーバ102が提供するクラウドユーザ認証サービスから送信される、HTMLにより構成されるウェブページを示す情報をレンダリングすることができないような非力なウェブブラウザ機能しか備えてないものがある。また、組込み機器の情報処理装置の中には、操作パネルのディスプレイの大きさが小さい等の制限により、ウェブブラウザ機能を備えていないものもある。上述のような情報処理装置は、一般的には、多要素認証を行うことができない。そのため、クラウドユーザ認証サービスにおいて多要素認証を有効にする設定がなされている場合には、ユーザは、情報処理装置にログインすることができず、情報処理装置が提供する機能を使用することができない。一方、情報処理装置にユーザをログインさせるために、クラウドユーザ認証サービスの多要素認証を無効にするように設定をしてしまうと、クラウドサービスが管理するリソースが危険にさらされてしまうことになる。
実施形態1では、ウェブブラウザ機能を備える情報処理装置(MFP101)について説明した。組込み機器の情報処理装置の中には、サーバ102が提供するクラウドユーザ認証サービスから送信される、HTMLにより構成されるウェブページを示す情報をレンダリングすることができないような非力なウェブブラウザ機能しか備えてないものがある。また、組込み機器の情報処理装置の中には、操作パネルのディスプレイの大きさが小さい等の制限により、ウェブブラウザ機能を備えていないものもある。上述のような情報処理装置は、一般的には、多要素認証を行うことができない。そのため、クラウドユーザ認証サービスにおいて多要素認証を有効にする設定がなされている場合には、ユーザは、情報処理装置にログインすることができず、情報処理装置が提供する機能を使用することができない。一方、情報処理装置にユーザをログインさせるために、クラウドユーザ認証サービスの多要素認証を無効にするように設定をしてしまうと、クラウドサービスが管理するリソースが危険にさらされてしまうことになる。
そこで、情報処理装置がサーバ102から送信されるウェブページを示す情報をレンダリング可能なウェブブラウザ機能を備えていない場合、設定項目501において常に「使用しない」が選択されている状態と同様の動作になるように情報処理装置を構成する。具体的には、例えば、設定項目501において「使用しない」が選択されている状態で、サーバ設定ページ500において設定項目501が表示されないように情報処理装置を構成する。設定項目501において「使用しない」が選択されている状態で、例えば、サーバ設定ページ500において設定項目501をグレーアウト表示して、ユーザからの選択の操作を受け付けないように情報処理装置を構成してもよい。
このように構成された情報処理装置によれば、ウェブブラウザ機能を使用しなくても、常にサーバ102が提供するクラウドユーザ認証サービスと連携することができる。また、多要素認証を有効する設定がなされている場合であっても、クライアント認証による多要素認証により、ユーザは、キーボードを用いた入力による多要素認証を回避して、情報処理装置にログインすることができる。結果として、クラウドサービスが管理するリソースの安全性をクライアント認証による多要素認証で担保しつつ、サーバ102が管理するユーザ認証情報を用いてユーザを情報処理装置にログインさせることができる。なお、多要素認証を厳格化して、例えば、クライアント認証を行わないようにする場合には、多要素認証を有効にする設定がなされているユーザを情報処理装置にログインできなくするように情報処理装置を構成してもよい。
[その他の実施形態]
本開示は、上述の実施形態の1つ以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1つ以上の機能を実現するASIC等の回路によっても実現可能である。
本開示は、上述の実施形態の1つ以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1つ以上の機能を実現するASIC等の回路によっても実現可能である。
また、本開示は、その開示の範囲内において、実施形態の任意の構成要素の変形、又は、実施形態において任意の構成要素の省略が可能である。
[本開示の構成]
<構成1>
認証サービスを提供するサーバに対してユーザの認証情報を送信し、前記サーバからの応答結果に基づいて前記ユーザのログインを許可する情報処理装置であって、
前記ユーザに前記認証情報を入力させるための、予め用意された第1のユーザインタフェース、及びブラウジング機能によるレンダリングにより得られた第2のユーザインタフェースのうちの一方のユーザインタフェースを所定の条件に基づいて選択して出力制御する出力制御手段と、
前記第1のユーザインタフェースを用いて入力された第1の認証情報を前記サーバに送信する第1の認証送信手段と、
前記第1の認証情報の送信に対する前記サーバからの第1の応答結果を受信する第1の受信手段と、
前記第2のユーザインタフェースを用いて入力された第2の認証情報を前記サーバに送信する第2の認証送信手段と、
前記第2の認証情報の送信に対する前記サーバからの第2の応答結果を受信する第2の受信手段と、
を有すること
を特徴とする情報処理装置。
<構成1>
認証サービスを提供するサーバに対してユーザの認証情報を送信し、前記サーバからの応答結果に基づいて前記ユーザのログインを許可する情報処理装置であって、
前記ユーザに前記認証情報を入力させるための、予め用意された第1のユーザインタフェース、及びブラウジング機能によるレンダリングにより得られた第2のユーザインタフェースのうちの一方のユーザインタフェースを所定の条件に基づいて選択して出力制御する出力制御手段と、
前記第1のユーザインタフェースを用いて入力された第1の認証情報を前記サーバに送信する第1の認証送信手段と、
前記第1の認証情報の送信に対する前記サーバからの第1の応答結果を受信する第1の受信手段と、
前記第2のユーザインタフェースを用いて入力された第2の認証情報を前記サーバに送信する第2の認証送信手段と、
前記第2の認証情報の送信に対する前記サーバからの第2の応答結果を受信する第2の受信手段と、
を有すること
を特徴とする情報処理装置。
<構成2>
前記出力制御手段は、前記ブラウジング機能を使用するか否かの設定に基づいて、前記第1のユーザインタフェース及び前記第2のユーザインタフェースのうちから出力制御するユーザインタフェースを決定すること
を特徴とする構成1に記載の情報処理装置。
前記出力制御手段は、前記ブラウジング機能を使用するか否かの設定に基づいて、前記第1のユーザインタフェース及び前記第2のユーザインタフェースのうちから出力制御するユーザインタフェースを決定すること
を特徴とする構成1に記載の情報処理装置。
<構成3>
前記出力制御手段は、前記第2のユーザインタフェースを出力制御している状態において、前記ユーザによるユーザインタフェースの切り替え指示に基づいて、出力制御するユーザインタフェースを前記第2のユーザインタフェースから前記第1のユーザインタフェースに切り替えること
を特徴とする構成1又は2に記載の情報処理装置。
前記出力制御手段は、前記第2のユーザインタフェースを出力制御している状態において、前記ユーザによるユーザインタフェースの切り替え指示に基づいて、出力制御するユーザインタフェースを前記第2のユーザインタフェースから前記第1のユーザインタフェースに切り替えること
を特徴とする構成1又は2に記載の情報処理装置。
<構成4>
前記出力制御手段は、前記第1のユーザインタフェースを出力制御している状態において、前記第1の応答結果に基づいて、前記第2のユーザインタフェースを出力制御するか否かを決定すること
を特徴とする構成1乃至3のいずれか1つに記載の情報処理装置。
前記出力制御手段は、前記第1のユーザインタフェースを出力制御している状態において、前記第1の応答結果に基づいて、前記第2のユーザインタフェースを出力制御するか否かを決定すること
を特徴とする構成1乃至3のいずれか1つに記載の情報処理装置。
<構成5>
前記出力制御手段は、前記第1のユーザインタフェースを出力制御している状態において、前記第1の応答結果が多要素認証を要する旨を示す場合に、出力制御するユーザインタフェースを前記第1のユーザインタフェースから前記第2のユーザインタフェースに切り替えること
を特徴とする構成4に記載の情報処理装置。
前記出力制御手段は、前記第1のユーザインタフェースを出力制御している状態において、前記第1の応答結果が多要素認証を要する旨を示す場合に、出力制御するユーザインタフェースを前記第1のユーザインタフェースから前記第2のユーザインタフェースに切り替えること
を特徴とする構成4に記載の情報処理装置。
<構成6>
前記第1のユーザインタフェースから前記第2のユーザインタフェースに切り替える際に、前記第1の認証情報を含む情報を前記第2の認証情報として前記第2のユーザインタフェースに入力する入力手段、
を更に有すること
を特徴とする構成4又は5に記載の情報処理装置。
前記第1のユーザインタフェースから前記第2のユーザインタフェースに切り替える際に、前記第1の認証情報を含む情報を前記第2の認証情報として前記第2のユーザインタフェースに入力する入力手段、
を更に有すること
を特徴とする構成4又は5に記載の情報処理装置。
<構成7>
認証サービスを提供するサーバに対してユーザの認証情報を送信し、前記サーバからの応答結果に基づいて前記ユーザのログインを許可する情報処理装置であって、
前記ユーザに前記認証情報を入力させるための予め用意されたユーザインタフェースを出力制御する出力制御手段と、
前記ユーザインタフェースを用いて入力された前記認証情報を前記サーバに送信する認証送信手段と、
前記認証情報の送信に対する前記サーバからの第1の応答結果を受信する第1の受信手段と、
前記第1の応答結果が多要素認証を要する旨を示す場合に、前記情報処理装置を識別するための情報と前記情報処理装置のシークレットを示す情報とを含むクライアント情報を前記サーバに送信するクライアント情報送信手段と、
前記クライアント情報の送信に対する前記サーバからの第2の応答結果を受信する第2の受信手段と、
前記第2の応答結果に含まれるアクセストークンを用いて、前記サーバから前記ユーザに対応するユーザ情報を取得する取得手段と、
を有し、
前記ユーザ情報に基づいて前記ユーザのログインを許可すること
を特徴とする情報処理装置。
認証サービスを提供するサーバに対してユーザの認証情報を送信し、前記サーバからの応答結果に基づいて前記ユーザのログインを許可する情報処理装置であって、
前記ユーザに前記認証情報を入力させるための予め用意されたユーザインタフェースを出力制御する出力制御手段と、
前記ユーザインタフェースを用いて入力された前記認証情報を前記サーバに送信する認証送信手段と、
前記認証情報の送信に対する前記サーバからの第1の応答結果を受信する第1の受信手段と、
前記第1の応答結果が多要素認証を要する旨を示す場合に、前記情報処理装置を識別するための情報と前記情報処理装置のシークレットを示す情報とを含むクライアント情報を前記サーバに送信するクライアント情報送信手段と、
前記クライアント情報の送信に対する前記サーバからの第2の応答結果を受信する第2の受信手段と、
前記第2の応答結果に含まれるアクセストークンを用いて、前記サーバから前記ユーザに対応するユーザ情報を取得する取得手段と、
を有し、
前記ユーザ情報に基づいて前記ユーザのログインを許可すること
を特徴とする情報処理装置。
<構成8>
認証サービスを提供するサーバに対して、ICカードから読み出されたICカード情報を送信し、前記サーバからの応答結果に基づいてユーザのログインを許可する情報処理装置であって、
前記ICカード情報を取得するIC情報取得手段と、
前記ICカード情報を前記サーバに送信するIC情報送信手段と、
前記ICカード情報の送信に対する前記サーバからの第1の応答結果を受信する第1の受信手段と、
前記第1の応答結果が多要素認証を要する旨を示す場合に、前記情報処理装置を識別するための情報と前記情報処理装置のシークレットを示す情報とを含むクライアント情報を前記サーバに送信するクライアント情報送信手段と、
前記クライアント情報の送信に対する前記サーバからの第2の応答結果を受信する第2の受信手段と、
前記第2の応答結果に含まれるアクセストークンを用いて、前記サーバから前記ユーザに対応するユーザ情報を取得する取得手段と、
を有し、
前記ユーザ情報に基づいて前記ユーザのログインを許可すること
を特徴とする情報処理装置。
認証サービスを提供するサーバに対して、ICカードから読み出されたICカード情報を送信し、前記サーバからの応答結果に基づいてユーザのログインを許可する情報処理装置であって、
前記ICカード情報を取得するIC情報取得手段と、
前記ICカード情報を前記サーバに送信するIC情報送信手段と、
前記ICカード情報の送信に対する前記サーバからの第1の応答結果を受信する第1の受信手段と、
前記第1の応答結果が多要素認証を要する旨を示す場合に、前記情報処理装置を識別するための情報と前記情報処理装置のシークレットを示す情報とを含むクライアント情報を前記サーバに送信するクライアント情報送信手段と、
前記クライアント情報の送信に対する前記サーバからの第2の応答結果を受信する第2の受信手段と、
前記第2の応答結果に含まれるアクセストークンを用いて、前記サーバから前記ユーザに対応するユーザ情報を取得する取得手段と、
を有し、
前記ユーザ情報に基づいて前記ユーザのログインを許可すること
を特徴とする情報処理装置。
<構成9>
前記ユーザに認証情報を入力させるためのユーザインタフェースを出力制御する出力制御手段と、
前記ユーザインタフェースを用いて入力された認証情報を前記サーバに送信する認証送信手段と、
前記認証情報の送信に対する前記サーバからの第3の応答結果を受信する第3の受信手段と、
前記第3の応答結果に含まれるアクセストークンを用いて、前記ICカード情報と前記ユーザ情報とを対応付けて前記サーバに送信することにより、前記サーバに前記ICカード情報を登録させる登録手段と、
を更に有すること
を特徴とする構成8に記載の情報処理装置。
前記ユーザに認証情報を入力させるためのユーザインタフェースを出力制御する出力制御手段と、
前記ユーザインタフェースを用いて入力された認証情報を前記サーバに送信する認証送信手段と、
前記認証情報の送信に対する前記サーバからの第3の応答結果を受信する第3の受信手段と、
前記第3の応答結果に含まれるアクセストークンを用いて、前記ICカード情報と前記ユーザ情報とを対応付けて前記サーバに送信することにより、前記サーバに前記ICカード情報を登録させる登録手段と、
を更に有すること
を特徴とする構成8に記載の情報処理装置。
<構成10>
前記第3の応答結果が多要素認証を要する旨を示す場合に、
前記認証送信手段は、前記クライアント情報を前記サーバに送信し、
前記第3の受信手段は、前記クライアント情報の送信に対する前記サーバからの第4の応答結果を更に受信し、
前記取得手段は、前記第4の応答結果に含まれるアクセストークンを用いて、前記サーバから前記ユーザに対応する前記ユーザ情報を取得し、
前記登録手段は、前記第4の応答結果に含まれるアクセストークンを用いて、前記ICカード情報と前記ユーザ情報とを対応付けて前記サーバに送信することにより、前記サーバに前記ICカード情報を登録させること、
を特徴とする構成9に記載の情報処理装置。
前記第3の応答結果が多要素認証を要する旨を示す場合に、
前記認証送信手段は、前記クライアント情報を前記サーバに送信し、
前記第3の受信手段は、前記クライアント情報の送信に対する前記サーバからの第4の応答結果を更に受信し、
前記取得手段は、前記第4の応答結果に含まれるアクセストークンを用いて、前記サーバから前記ユーザに対応する前記ユーザ情報を取得し、
前記登録手段は、前記第4の応答結果に含まれるアクセストークンを用いて、前記ICカード情報と前記ユーザ情報とを対応付けて前記サーバに送信することにより、前記サーバに前記ICカード情報を登録させること、
を特徴とする構成9に記載の情報処理装置。
<構成11>
認証サービスを提供するサーバに対してユーザの認証情報を送信し、前記サーバからの応答結果に基づいて情報処理装置への前記ユーザのログインを許可する情報処理方法であって、
前記ユーザに前記認証情報を入力させるための、予め用意された第1のユーザインタフェース、及びブラウジング機能によるレンダリングにより得られた第2のユーザインタフェースのうちの一方のユーザインタフェースを所定の条件に基づいて選択して出力制御する出力制御工程と、
前記第1のユーザインタフェースを用いて入力された第1の認証情報を前記サーバに送信する第1の認証送信工程と、
前記第1の認証情報の送信に対する前記サーバからの第1の応答結果を受信する第1の受信工程と、
前記第2のユーザインタフェースを用いて入力された第2の認証情報を前記サーバに送信する第2の認証送信工程と、
前記第2の認証情報の送信に対する前記サーバからの第2の応答結果を受信する第2の受信工程と、
を有すること
を特徴とする情報処理方法。
認証サービスを提供するサーバに対してユーザの認証情報を送信し、前記サーバからの応答結果に基づいて情報処理装置への前記ユーザのログインを許可する情報処理方法であって、
前記ユーザに前記認証情報を入力させるための、予め用意された第1のユーザインタフェース、及びブラウジング機能によるレンダリングにより得られた第2のユーザインタフェースのうちの一方のユーザインタフェースを所定の条件に基づいて選択して出力制御する出力制御工程と、
前記第1のユーザインタフェースを用いて入力された第1の認証情報を前記サーバに送信する第1の認証送信工程と、
前記第1の認証情報の送信に対する前記サーバからの第1の応答結果を受信する第1の受信工程と、
前記第2のユーザインタフェースを用いて入力された第2の認証情報を前記サーバに送信する第2の認証送信工程と、
前記第2の認証情報の送信に対する前記サーバからの第2の応答結果を受信する第2の受信工程と、
を有すること
を特徴とする情報処理方法。
<構成12>
認証サービスを提供するサーバに対してユーザの認証情報を送信し、前記サーバからの応答結果に基づいて情報処理装置への前記ユーザのログインを許可する情報処理方法であって、
前記ユーザに前記認証情報を入力させるための予め用意されたユーザインタフェースを出力制御する出力制御工程と、
前記ユーザインタフェースを用いて入力された前記認証情報を前記サーバに送信する認証送信工程と、
前記認証情報の送信に対する前記サーバからの第1の応答結果を受信する第1の受信工程と、
前記第1の応答結果が多要素認証を要する旨を示す場合に、前記情報処理装置を識別するための情報と前記情報処理装置のシークレットを示す情報とを含むクライアント情報を前記サーバに送信するクライアント情報送信工程と、
前記クライアント情報の送信に対する前記サーバからの第2の応答結果を受信する第2の受信工程と、
前記第2の応答結果に含まれるアクセストークンを用いて、前記サーバから前記ユーザに対応するユーザ情報を取得する取得工程と、
を有し、
前記ユーザ情報に基づいて前記情報処理装置への前記ユーザのログインを許可すること
を特徴とする情報処理方法。
認証サービスを提供するサーバに対してユーザの認証情報を送信し、前記サーバからの応答結果に基づいて情報処理装置への前記ユーザのログインを許可する情報処理方法であって、
前記ユーザに前記認証情報を入力させるための予め用意されたユーザインタフェースを出力制御する出力制御工程と、
前記ユーザインタフェースを用いて入力された前記認証情報を前記サーバに送信する認証送信工程と、
前記認証情報の送信に対する前記サーバからの第1の応答結果を受信する第1の受信工程と、
前記第1の応答結果が多要素認証を要する旨を示す場合に、前記情報処理装置を識別するための情報と前記情報処理装置のシークレットを示す情報とを含むクライアント情報を前記サーバに送信するクライアント情報送信工程と、
前記クライアント情報の送信に対する前記サーバからの第2の応答結果を受信する第2の受信工程と、
前記第2の応答結果に含まれるアクセストークンを用いて、前記サーバから前記ユーザに対応するユーザ情報を取得する取得工程と、
を有し、
前記ユーザ情報に基づいて前記情報処理装置への前記ユーザのログインを許可すること
を特徴とする情報処理方法。
<構成13>
認証サービスを提供するサーバに対して、ICカードから読み出されたICカード情報を送信し、前記サーバからの応答結果に基づいて情報処理装置へのユーザのログインを許可する情報処理方法であって、
前記ICカード情報を取得するIC情報取得工程と、
前記ICカード情報を前記サーバに送信するIC情報送信工程と、
前記ICカード情報の送信に対する前記サーバからの第1の応答結果を受信する第1の受信工程と、
前記第1の応答結果が多要素認証を要する旨を示す場合に、前記情報処理装置を識別するための情報と前記情報処理装置のシークレットを示す情報とを含むクライアント情報を前記サーバに送信するクライアント情報送信工程と、
前記クライアント情報の送信に対する前記サーバからの第2の応答結果を受信する第2の受信工程と、
前記第2の応答結果に含まれるアクセストークンを用いて、前記サーバから前記ユーザに対応するユーザ情報を取得する取得工程と、
を有し、
前記ユーザ情報に基づいて前記情報処理装置への前記ユーザのログインを許可すること
を特徴とする情報処理方法。
認証サービスを提供するサーバに対して、ICカードから読み出されたICカード情報を送信し、前記サーバからの応答結果に基づいて情報処理装置へのユーザのログインを許可する情報処理方法であって、
前記ICカード情報を取得するIC情報取得工程と、
前記ICカード情報を前記サーバに送信するIC情報送信工程と、
前記ICカード情報の送信に対する前記サーバからの第1の応答結果を受信する第1の受信工程と、
前記第1の応答結果が多要素認証を要する旨を示す場合に、前記情報処理装置を識別するための情報と前記情報処理装置のシークレットを示す情報とを含むクライアント情報を前記サーバに送信するクライアント情報送信工程と、
前記クライアント情報の送信に対する前記サーバからの第2の応答結果を受信する第2の受信工程と、
前記第2の応答結果に含まれるアクセストークンを用いて、前記サーバから前記ユーザに対応するユーザ情報を取得する取得工程と、
を有し、
前記ユーザ情報に基づいて前記情報処理装置への前記ユーザのログインを許可すること
を特徴とする情報処理方法。
<構成14>
コンピュータに、構成1乃至10のいずれか1つに記載の情報処理装置として動作させるためのプログラム。
コンピュータに、構成1乃至10のいずれか1つに記載の情報処理装置として動作させるためのプログラム。
<構成15>
コンピュータに、構成1乃至10のいずれか1つに記載の情報処理装置として動作させるためのプログラムが記憶された、前記コンピュータよる読み取りが可能な記憶媒体。
コンピュータに、構成1乃至10のいずれか1つに記載の情報処理装置として動作させるためのプログラムが記憶された、前記コンピュータよる読み取りが可能な記憶媒体。
<構成16>
構成1乃至10のいずれか1つに記載の情報処理装置と、
記録媒体に画像を形成する画像形成手段と、
を有すること
を特徴とする画像形成装置。
構成1乃至10のいずれか1つに記載の情報処理装置と、
記録媒体に画像を形成する画像形成手段と、
を有すること
を特徴とする画像形成装置。
101 MFP
102 サーバ
303 ログインサービス部
601 エンベデッドUIのキーボード認証画面
604 エンベデッドUIのICカード認証画面
701 ブラウザUIのキーボード認証画面
102 サーバ
303 ログインサービス部
601 エンベデッドUIのキーボード認証画面
604 エンベデッドUIのICカード認証画面
701 ブラウザUIのキーボード認証画面
Claims (16)
- 認証サービスを提供するサーバに対してユーザの認証情報を送信し、前記サーバからの応答結果に基づいて前記ユーザのログインを許可する情報処理装置であって、
前記ユーザに前記認証情報を入力させるための、予め用意された第1のユーザインタフェース、及びブラウジング機能によるレンダリングにより得られた第2のユーザインタフェースのうちの一方のユーザインタフェースを所定の条件に基づいて選択して出力制御する出力制御手段と、
前記第1のユーザインタフェースを用いて入力された第1の認証情報を前記サーバに送信する第1の認証送信手段と、
前記第1の認証情報の送信に対する前記サーバからの第1の応答結果を受信する第1の受信手段と、
前記第2のユーザインタフェースを用いて入力された第2の認証情報を前記サーバに送信する第2の認証送信手段と、
前記第2の認証情報の送信に対する前記サーバからの第2の応答結果を受信する第2の受信手段と、
を有すること
を特徴とする情報処理装置。 - 前記出力制御手段は、前記ブラウジング機能を使用するか否かの設定に基づいて、前記第1のユーザインタフェース及び前記第2のユーザインタフェースのうちから出力制御するユーザインタフェースを決定すること
を特徴とする請求項1に記載の情報処理装置。 - 前記出力制御手段は、前記第2のユーザインタフェースを出力制御している状態において、前記ユーザによるユーザインタフェースの切り替え指示に基づいて、出力制御するユーザインタフェースを前記第2のユーザインタフェースから前記第1のユーザインタフェースに切り替えること
を特徴とする請求項1に記載の情報処理装置。 - 前記出力制御手段は、前記第1のユーザインタフェースを出力制御している状態において、前記第1の応答結果に基づいて、前記第2のユーザインタフェースを出力制御するか否かを決定すること
を特徴とする請求項1に記載の情報処理装置。 - 前記出力制御手段は、前記第1のユーザインタフェースを出力制御している状態において、前記第1の応答結果が多要素認証を要する旨を示す場合に、出力制御するユーザインタフェースを前記第1のユーザインタフェースから前記第2のユーザインタフェースに切り替えること
を特徴とする請求項4に記載の情報処理装置。 - 前記第1のユーザインタフェースから前記第2のユーザインタフェースに切り替える際に、前記第1の認証情報を含む情報を前記第2の認証情報として前記第2のユーザインタフェースに入力する入力手段、
を更に有すること
を特徴とする請求項4に記載の情報処理装置。 - 認証サービスを提供するサーバに対してユーザの認証情報を送信し、前記サーバからの応答結果に基づいて前記ユーザのログインを許可する情報処理装置であって、
前記ユーザに前記認証情報を入力させるための予め用意されたユーザインタフェースを出力制御する出力制御手段と、
前記ユーザインタフェースを用いて入力された前記認証情報を前記サーバに送信する認証送信手段と、
前記認証情報の送信に対する前記サーバからの第1の応答結果を受信する第1の受信手段と、
前記第1の応答結果が多要素認証を要する旨を示す場合に、前記情報処理装置を識別するための情報と前記情報処理装置のシークレットを示す情報とを含むクライアント情報を前記サーバに送信するクライアント情報送信手段と、
前記クライアント情報の送信に対する前記サーバからの第2の応答結果を受信する第2の受信手段と、
前記第2の応答結果に含まれるアクセストークンを用いて、前記サーバから前記ユーザに対応するユーザ情報を取得する取得手段と、
を有し、
前記ユーザ情報に基づいて前記ユーザのログインを許可すること
を特徴とする情報処理装置。 - 認証サービスを提供するサーバに対して、ICカードから読み出されたICカード情報を送信し、前記サーバからの応答結果に基づいてユーザのログインを許可する情報処理装置であって、
前記ICカード情報を取得するIC情報取得手段と、
前記ICカード情報を前記サーバに送信するIC情報送信手段と、
前記ICカード情報の送信に対する前記サーバからの第1の応答結果を受信する第1の受信手段と、
前記第1の応答結果が多要素認証を要する旨を示す場合に、前記情報処理装置を識別するための情報と前記情報処理装置のシークレットを示す情報とを含むクライアント情報を前記サーバに送信するクライアント情報送信手段と、
前記クライアント情報の送信に対する前記サーバからの第2の応答結果を受信する第2の受信手段と、
前記第2の応答結果に含まれるアクセストークンを用いて、前記サーバから前記ユーザに対応するユーザ情報を取得する取得手段と、
を有し、
前記ユーザ情報に基づいて前記ユーザのログインを許可すること
を特徴とする情報処理装置。 - 前記ユーザに認証情報を入力させるためのユーザインタフェースを出力制御する出力制御手段と、
前記ユーザインタフェースを用いて入力された認証情報を前記サーバに送信する認証送信手段と、
前記認証情報の送信に対する前記サーバからの第3の応答結果を受信する第3の受信手段と、
前記第3の応答結果に含まれるアクセストークンを用いて、前記ICカード情報と前記ユーザ情報とを対応付けて前記サーバに送信することにより、前記サーバに前記ICカード情報を登録させる登録手段と、
を更に有すること
を特徴とする請求項8に記載の情報処理装置。 - 前記第3の応答結果が多要素認証を要する旨を示す場合に、
前記認証送信手段は、前記クライアント情報を前記サーバに送信し、
前記第3の受信手段は、前記クライアント情報の送信に対する前記サーバからの第4の応答結果を更に受信し、
前記取得手段は、前記第4の応答結果に含まれるアクセストークンを用いて、前記サーバから前記ユーザに対応する前記ユーザ情報を取得し、
前記登録手段は、前記第4の応答結果に含まれるアクセストークンを用いて、前記ICカード情報と前記ユーザ情報とを対応付けて前記サーバに送信することにより、前記サーバに前記ICカード情報を登録させること、
を特徴とする請求項9に記載の情報処理装置。 - 認証サービスを提供するサーバに対してユーザの認証情報を送信し、前記サーバからの応答結果に基づいて情報処理装置への前記ユーザのログインを許可する情報処理方法であって、
前記ユーザに前記認証情報を入力させるための、予め用意された第1のユーザインタフェース、及びブラウジング機能によるレンダリングにより得られた第2のユーザインタフェースのうちの一方のユーザインタフェースを所定の条件に基づいて選択して出力制御する出力制御工程と、
前記第1のユーザインタフェースを用いて入力された第1の認証情報を前記サーバに送信する第1の認証送信工程と、
前記第1の認証情報の送信に対する前記サーバからの第1の応答結果を受信する第1の受信工程と、
前記第2のユーザインタフェースを用いて入力された第2の認証情報を前記サーバに送信する第2の認証送信工程と、
前記第2の認証情報の送信に対する前記サーバからの第2の応答結果を受信する第2の受信工程と、
を有すること
を特徴とする情報処理方法。 - 認証サービスを提供するサーバに対してユーザの認証情報を送信し、前記サーバからの応答結果に基づいて情報処理装置への前記ユーザのログインを許可する情報処理方法であって、
前記ユーザに前記認証情報を入力させるための予め用意されたユーザインタフェースを出力制御する出力制御工程と、
前記ユーザインタフェースを用いて入力された前記認証情報を前記サーバに送信する認証送信工程と、
前記認証情報の送信に対する前記サーバからの第1の応答結果を受信する第1の受信工程と、
前記第1の応答結果が多要素認証を要する旨を示す場合に、前記情報処理装置を識別するための情報と前記情報処理装置のシークレットを示す情報とを含むクライアント情報を前記サーバに送信するクライアント情報送信工程と、
前記クライアント情報の送信に対する前記サーバからの第2の応答結果を受信する第2の受信工程と、
前記第2の応答結果に含まれるアクセストークンを用いて、前記サーバから前記ユーザに対応するユーザ情報を取得する取得工程と、
を有し、
前記ユーザ情報に基づいて前記情報処理装置への前記ユーザのログインを許可すること
を特徴とする情報処理方法。 - 認証サービスを提供するサーバに対して、ICカードから読み出されたICカード情報を送信し、前記サーバからの応答結果に基づいて情報処理装置へのユーザのログインを許可する情報処理方法であって、
前記ICカード情報を取得するIC情報取得工程と、
前記ICカード情報を前記サーバに送信するIC情報送信工程と、
前記ICカード情報の送信に対する前記サーバからの第1の応答結果を受信する第1の受信工程と、
前記第1の応答結果が多要素認証を要する旨を示す場合に、前記情報処理装置を識別するための情報と前記情報処理装置のシークレットを示す情報とを含むクライアント情報を前記サーバに送信するクライアント情報送信工程と、
前記クライアント情報の送信に対する前記サーバからの第2の応答結果を受信する第2の受信工程と、
前記第2の応答結果に含まれるアクセストークンを用いて、前記サーバから前記ユーザに対応するユーザ情報を取得する取得工程と、
を有し、
前記ユーザ情報に基づいて前記情報処理装置への前記ユーザのログインを許可すること
を特徴とする情報処理方法。 - コンピュータに、請求項1乃至10のいずれか1項に記載の情報処理装置として動作させるためのプログラム。
- コンピュータに、請求項1乃至10のいずれか1項に記載の情報処理装置として動作させるためのプログラムが記憶された、前記コンピュータよる読み取りが可能な記憶媒体。
- 請求項1乃至10のいずれか1項に記載の情報処理装置と、
記録媒体に画像を形成する画像形成手段と、
を有すること
を特徴とする画像形成装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022108525A JP2024007209A (ja) | 2022-07-05 | 2022-07-05 | 情報処理装置、その制御方法、プログラム、及び画像形成装置 |
US18/328,008 US20240012593A1 (en) | 2022-07-05 | 2023-06-02 | Information processing apparatus, information processing method, storage medium, and image forming apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022108525A JP2024007209A (ja) | 2022-07-05 | 2022-07-05 | 情報処理装置、その制御方法、プログラム、及び画像形成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024007209A true JP2024007209A (ja) | 2024-01-18 |
Family
ID=89431426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022108525A Pending JP2024007209A (ja) | 2022-07-05 | 2022-07-05 | 情報処理装置、その制御方法、プログラム、及び画像形成装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240012593A1 (ja) |
JP (1) | JP2024007209A (ja) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5620287B2 (ja) * | 2010-12-16 | 2014-11-05 | 株式会社オプティム | ユーザインターフェースを変更する携帯端末、方法及びプログラム |
US10579996B2 (en) * | 2012-09-12 | 2020-03-03 | Zukunftware, Llc | Presenting a document to a remote user to obtain authorization from the user |
JP6248549B2 (ja) * | 2013-10-31 | 2017-12-20 | 株式会社リコー | 出力システム、出力装置、プログラム及び出力方法 |
US9871943B1 (en) * | 2016-09-06 | 2018-01-16 | Kabushiki Kaisha Toshiba | Image forming apparatus and image forming system capable of forming an image with an invisible image forming material |
JP6888539B2 (ja) * | 2017-12-20 | 2021-06-16 | ブラザー工業株式会社 | 画像処理装置 |
US11206258B2 (en) * | 2018-12-27 | 2021-12-21 | Paypal, Inc. | Identity confirmation during authentication requests using nearby mobile computing devices |
JP2022056789A (ja) * | 2020-09-30 | 2022-04-11 | ブラザー工業株式会社 | 印刷システムおよびプリンタ |
JP2022144003A (ja) * | 2021-03-18 | 2022-10-03 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及び情報処理プログラム |
-
2022
- 2022-07-05 JP JP2022108525A patent/JP2024007209A/ja active Pending
-
2023
- 2023-06-02 US US18/328,008 patent/US20240012593A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240012593A1 (en) | 2024-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6413665B2 (ja) | 多機能装置上のOAuth対応クラウド・サービスのカード認証 | |
US9390247B2 (en) | Information processing system, information processing apparatus and information processing method | |
US9819751B2 (en) | Information processing system, method of processing information, information processing apparatus, and program | |
KR102005458B1 (ko) | 공유되는 아이템 계정 선택 기법 | |
JP6677496B2 (ja) | 認証連携システム及び認証連携方法、認可サーバー、アプリケーションサーバー及びプログラム | |
US9455970B2 (en) | Information processing system, information processing apparatus, and authentication method | |
US9807272B2 (en) | Information processing system, device, and information processing method | |
JP5962354B2 (ja) | 情報処理装置、プログラム及びシステム | |
US9886222B2 (en) | Image forming apparatus that displays button for accessing server, method of controlling the same, and storage medium | |
US9210159B2 (en) | Information processing system, information processing device, and authentication method | |
JP2017033339A (ja) | サービス提供システム、情報処理装置、プログラム及びサービス利用情報作成方法 | |
US11429327B2 (en) | Computer system, login screen display method, and storage medium for displaying an appropriate login screen | |
US9661184B2 (en) | Data processing system and data processing method for authenticating user by utilizing user list obtained from service providing apparatus | |
US10469709B2 (en) | Devices, systems, and methods for controlling a link with a storage server | |
US10713098B2 (en) | Information processing apparatus and cookie information management method | |
JP2017212694A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP6197286B2 (ja) | 通信装置、情報処理システム及び情報処理システムの制御方法 | |
US20230084993A1 (en) | Mobile terminal, control method, and storage medium | |
US12008277B2 (en) | Image forming apparatus with having multi-factor authentication function executable for any kind of remote access for using image processing functions of the image forming apparatus, control method, and non-transitory computer-readable storage medium | |
JP6237868B2 (ja) | クラウドサービス提供システム及びクラウドサービス提供方法 | |
JP2024007209A (ja) | 情報処理装置、その制御方法、プログラム、及び画像形成装置 | |
JP2015032041A (ja) | サービス提供システム、サービス提供方法およびプログラム | |
US11206255B2 (en) | Information processing apparatus, authentication method, and non-transitory recording medium storing instructions for performing an information processing method | |
US12034891B2 (en) | Mediation server mediating between terminal device and communication device | |
JP6844666B2 (ja) | 情報処理システム、情報処理方法、サービス利用装置、及びプログラム |