以下に、図面を参照しつつ、画像処理システムの実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
<第1の実施の形態>
[画像処理システムの構成]
図1は、画像処理システムの第1の実施の形態の構成を示す図である。図1に記載されるように、画像処理システムは、画像形成装置の一例であるMFP100と、情報処理装置200と、認証サーバー300とを含む。MFP100は、人感センサー106と操作パネル120とカメラ150とを含む。操作パネル120は、ディスプレイ121を含む。人感センサー106および操作パネル120を含むMFP100の構成の詳細は、図2を参照して後述される。
MFP100は、画像形成装置の一例であり、MFP100の利用には、ユーザー認証が必要とされる。画像処理システムでは、MFP100または認証サーバー300がユーザーを認証し得る。MFP100は、各ユーザーについて予め登録されたパスワードを用いてユーザーを認証することもできるし、各ユーザーの要求に応じて発行されるOTPを用いてユーザーを認証することもできる。すなわち、MFP100は、OTPを用いたユーザー認証によりMFP100の利用を許可する機能(OTP機能)を有する。
[MFP100のハードウェア構成]
図2は、MFP100のハードウェア構成を示す図である。図2に示されるように、MFP100は、主な構成要素として、制御部110、タイマー回路101、原稿読取部102、印刷出力部103、用紙搬送部104、ファクシミリ(FAX)部105、人感センサー106、ネットワークインターフェース(I/F)107、Bluetooth(登録商標)インターフェース(I/F)108、記憶装置109、操作パネル120、および、カメラ150を含む。図2に示された各要素は、内部バスによって互いに接続されている。
制御部110は、CPU(Central Processing Unit)111、RAM(Random Access Memory)112、および、ROM(Read Only Memory)113を含む。CPU111は、所与のプログラムを実行することにより、MFP100の動作を制御する。RAM112は、CPU111がプログラムを実行する際のワークエリアとして機能する。ROM113は、CPU101が実行するプログラムを含む各種のデータを格納する。
MFP100は、制御部110の代わりに、または、制御部110とともに、MFP100の制御に利用される専用の集積回路(たとえば、Field-Programmable Gate Array)を備えていてもよい。
タイマー回路101は、時間を計測するための電気回路である。制御部110は、タイマー回路101による時間の計測結果を取得することにより、OTPの有効期限が満了しているか否か等の種々の事象を判断し得る。
原稿読取部102は、いわゆるスキャナーによって実現され、MFP100においてセットされた原稿をスキャンすることにより当該原稿の画像データを生成する。
印刷出力部103は、画像データに基づく画像を記録用紙上に形成する。一実現例では、印刷出力部103は、感光体ドラムおよび転写ローラーを含む。印刷出力部103は、たとえば電子写真方式に従って画像を形成するが、画像形成の方式はこれに限定されない。
用紙搬送部104は、MFP100において、原稿および/または記録用紙を搬送するためのローラー、および、当該ローラーを回転されるためのモーターを含む。
FAX部105は、ファクシミリ通信により画像データを送受信する。
人感センサー106は、図1に示されるようにMFP100の正面に設置され、たとえば赤外線センサーを含む。制御部110は、人感センサー106から出力される信号に基づいて、MFP100(人感センサー106)から所与の距離の範囲にユーザーが存在するか否かを検知する。この意味において、人感センサー106は第1のセンサーの一例である。
ネットワークI/F107は、MFP100をネットワークを介して他の装置(認証サーバー300および情報処理装置200)と通信させ、たとえばNIC(Network Interface Card)によって実現される。
Bluetooth_I/F108は、MFP100をBluetooth規格に従って他の装置と無線通信させる。制御部110は、Bluetooth_I/F108がユーザーに関連付けられた端末と通信しているか否かに基づいて、ユーザーが端末を携行しているか否かを判断し得る。この意味において、Bluetooth_I/F108は、第2のセンサーの一例である。
記憶装置109は、たとえばハードディスクドライブ(HDD)またはソリッドステートドライブ(SSD)によって構成される不揮発性記憶装置であり、プログラムおよび/またはデータを格納する。記憶装置109は、ジョブデータを格納し得る。すなわち、制御部110は、ネットワークを介してパーソナルコンピューターから受信したジョブデータを記憶装置109に格納し、その後、当該ジョブデータを記憶装置109から読み出すことにより、当該ジョブデータに係るジョブを実行し得る。
操作パネル120は、ディスプレイ121、タッチセンサー122、および、操作キー123を含む。ディスプレイ121は、後述されるログイン画面などの種々の画面を表示する。タッチセンサー122は、ディスプレイ121の少なくとも一部を覆う。ディスプレイ121とタッチセンサー122によってタッチパネルが構成される。操作キー123は、電源キーなどのハードウェアキーとして実現される。制御部110は、ディスプレイ121における表示を制御し、また、タッチセンサー122および操作キー123に対する操作に従って出力される信号を受信する。この意味において、操作パネル120は、ユーザーからの入力を受け付ける入力インターフェースの一例である。
カメラ150は、一実現例では、図1に示されるように、操作パネル120に設置される。これにより、カメラ150は、操作パネル120を視認するユーザーの顔面を含む領域の画像を撮影し得る。なお、カメラ150の設置位置はこれに限定されない。また、画像処理システムにおいて、カメラ150は、MFP100とは別の装置として設けられても良い。すなわち、カメラ150は、MFP100に含まれていなくても良い。
[情報処理装置200のハードウェア構成]
図3は、情報処理装置200のハードウェア構成を示す図である。情報処理装置200は、スマートフォンなどの携帯端末であってもよいし、パーソナルコンピューターなどの備え付けの端末であってもよい。
図3に示されるように、情報処理装置200は、主な構成要素として、CPU201、RAM202、ストレージ203、ディスプレイ204、入力装置205、NIC206、および、Bluetooth I/F207を含む。図3に示された各要素は、内部バスによって互いに接続されている。
CPU201は、情報処理装置200の動作を制御する。RAM202は、CPU201における処理実行時のワークエリアとして機能する。ストレージ203は、CPU201が実行する各種のプログラムおよびプログラムの実行に利用されるデータを格納する不揮発性記憶装置である。ストレージ203は、たとえば、フラッシュEEPROM(Electrically Erasable Programmable Read-Only Memory)、フラッシュROM、HDD、および/または、SSDによって実現されるが、これらに限定されない。
ディスプレイ204は、CPU201によって実行されるプログラムの処理結果を示す画像を表示するための表示装置である。
入力装置205は、一実現例では、キーボードや操作キー、および/または、タッチセンサーによって実現される。入力装置205は、情報の入力を受け付けると、当該情報をCPU201へ送る。
NIC206は、情報処理装置200をネットワークを介して他の装置(MFP100など)と通信させる通信インターフェースである。
Bluetooth I/F207は、情報処理装置200をMFP100などの他の装置と近距離通信させるための通信インターフェースである。
[認証サーバー300のハードウェア構成]
図4は、認証サーバー300のハードウェア構成を示す図である。認証サーバー300は、一実現例では、汎用のコンピューターによって実現され得る。
図4に示されるように、認証サーバー300は、主な構成要素として、CPU301、RAM302、記憶装置303、ディスプレイ304、入力装置305、NIC306、および、タイマー回路307を含む。図4に示された各要素は、内部バスによって互いに接続されている。
CPU301は、認証サーバー300の動作を制御する。RAM302は、CPU301における処理実行時のワークエリアとして機能する。記憶装置303は、CPU301が実行する各種のプログラムおよびプログラムの実行に利用されるデータを格納する不揮発性記憶装置である。記憶装置303は、たとえばHDDまたはSSDによって実現されるが、これらに限定されない。
ディスプレイ304は、CPU301によって実行されるプログラムの処理結果を示す画像を表示するための表示装置である。
入力装置305は、一実現例では、キーボードや操作キー、および/または、タッチセンサーによって実現される。入力装置305は、情報の入力を受け付けると、当該情報をCPU301へ送る。
NIC306は、認証サーバー300をネットワークを介して他の装置(MFP100など)と通信させる通信インターフェースである。
タイマー回路307は、時間を計測するための電気回路である。CPU301は、タイマー回路307による時間の計測結果を取得する。
[ユーザー情報データベースのデータ構造]
図5は、ユーザー情報データベースのデータ構造を示す図である。ユーザー情報データベースは、ユーザーの認証に利用され、たとえばMFP100の記憶装置109に格納され得る。
図5に示されるように、ユーザー情報データベースは、「ユーザー名」「パスワード」「OTP送信宛先」「OTP」「OTP計時開始日時」「有効期限」および「阻害時間」を互いに関連付けて格納する。
「ユーザー名」は、各ユーザーを識別する情報である。「パスワード」は、ユーザーごとに割り当てられ、各ユーザーの認証のために利用される情報である。「OTP送信宛先」は、ユーザーごとの、OTPを送信される宛先(メールアドレスなど)を規定する情報である。「OTP」は、各ユーザーに発行されたOTPを規定する情報である。「OTP計時開始日時」は、OTPの有効期限の計測が開始されたタイミングを規定する情報である。「有効期限」は、「OTP計時開始日時」として特定されたタイミングからのOTPの有効期限の時間の長さを規定する情報である。「阻害時間」は、OTPのMFP100への入力について阻害事象が発生していた時間を表す情報である。なお、阻害事象が発生してから解消するまでの間は、「阻害時間」の値として「未定」が登録されてもよい。
一実現例では、MFP100の利用を許可されているユーザーには、「ユーザー名」「パスワード」および「OTP送信宛先」が登録され、さらに、ユーザーに対してOTPが生成されると、「OTP」「OTP計時開始日時」および「有効期限」が登録される。OTPの入力に関し阻害事象が発生した場合には、当該阻害事象が解消した時刻として「阻害時間」が登録される。
[阻害事象管理テーブルのデータ構造]
図6は、阻害事象管理テーブルのデータ構造を示す図である。阻害事象管理テーブルには、OTPを発行されたユーザーによるMFP100へのOTPの入力を阻害する事象(以下、「阻害事象」ともいう)を管理する情報が登録される。阻害事象管理テーブルは、たとえばMFP100の記憶装置109に格納され得る。
図6を参照して、阻害事象管理テーブルは、「阻害事象」「阻害事象発生日時」および「阻害事象解消日時」を互いに関連付けて格納する。「阻害事象」は、OTPの入力を阻害する事象の内容を規定する。「阻害事象発生日時」および「阻害事象解消日時」のそれぞれは、事象の発生および解消の日時を規定する。
図6の例では、「阻害事象」の一例として「消耗品交換」が、「阻害事象発生日時」の一例として「2019/10/31 9:24:12」が、「阻害事象解消日時」の一例として「2019/10/31 9:39:41」が、それぞれ示されている。このことは、MFP100において、2019年10月31日の9時24分12秒から9時39分41秒まで、消耗品(トナーカートリッジなど)の交換により、MFP100が、ユーザーからのOTPの入力を受け付けない状態にあったことを意味する。
[ユーザー情報データベース内の値の具体的な意味]
ここで、図5に示された値の意味の具体例を説明する。
図5の例では、「ユーザー名」の一例として「User0001」が、「パスワード」の一例として「Pass0001」が、「OTP送信宛先」の一例として「u001@company.com」が、「OTP」の一例として「728951」が、「OTP計時開始日時」の一例として「2019/10/31_9:21:05」が、そして、「有効期限」の一例として「10分」が、それぞれ登録されている。
上記の例は、「User0001」によって特定されるユーザーについて、「Pass0001」というパスワードが登録されていることを意味する。したがって、当該ユーザーは、MFP100に、ユーザー名として「User0001」を入力し、パスワードとして「Pass0001」を入力することにより、画像処理システムにおいて認証され、MFP100を利用し得る。
また、上記の例は、「User0001」によって特定されるユーザーに対してOTPとして文字列「728951」が発行されたことを意味し、また、当該OTPは2019年10月31日の9時21分05秒(OTP計時開始日時)から10分間(有効期限)有効であることを意味する。したがって、当該ユーザーは、2019年10月31日の9時31分05秒までに、ユーザー名として「User0001」を入力し、パスワードとして「Pass0001」またはOTPとして「728951」を入力することにより、画像処理システムにおいて認証され、MFP100を利用し得る。
また、上記の例は、OTPの通知が「u001@company.com」(OTP送信宛先)を宛先としたOTPの送信によって実現されたことを意味する。
なお、OTPの有効期限は延長され得る。一実現例では、MFP100において、ユーザーAの宛先に向けてOTPが送信された後、MFP100において当該MFP100に対するOTPの入力を阻害する事象が発生した場合、当該事象が発生してから解消するまでの時間の長さだけ、ユーザーAについて生成されたOTPの有効期限が延長される。
たとえば、図6に示されるように、2019年10月31日の9時24分12秒から同日9時39分41秒までの5分29秒間、阻害事象が発生していた場合を想定する。図6に示される阻害事象は、図5に示された「User0001」のOTPの送信後であって、当該OTPの有効期限内に発生している。したがって、当該OTPの有効期限は、図6に示された阻害事象の発生により、5分29秒延長される。
図5の例では、「ユーザー名」の他の例として「User0002」が、「パスワード」の他の例として「Pass0002」が、「OTP送信宛先」の他の例として「u002@company.com」が、それぞれ登録されている。図5の例では、「User0002」によって特定されるユーザーについては、「OTP」「OTP計時開始日時」および「有効期限」の値は登録されていない。「OTP」「OTP計時開始日時」および「有効期限」の値は、OTPが送信されたことに応じて登録される値である。すなわち、図5に示された状態では、「User0002」によって特定されるユーザーには、まだOTPが送信されていない。
[OTPを利用したユーザー認証の概要]
図7は、第1の実施の形態におけるユーザー認証の概要を示す図である。図7の左側には、MFP100および情報処理装置200に加えて、認証の対象となるユーザーが「ユーザー400」として示されている。図7の右側には、OTPを利用したユーザー400の認証において、MFP100と情報処理装置200のそれぞれが実行する処理の概略的な流れが示されている。
まず、MFP100は、ステップSA1として示されるようにログイン画面を表示し、ユーザーからの認証用の情報の入力を待つ。
図8は、ログイン画面の一例を示す図である。一実現例では、図8に示されたログイン画面500は、MFP100のディスプレイ121に表示される。ログイン画面500は、入力欄501,502、キー503、および、リンク504を含む。入力欄501は、ユーザー名の入力を受け付ける。入力欄502は、パスワードまたはOTPの入力を受け付ける。キー503は、ユーザー名(入力欄501に入力される)およびパスワードまたはOTP(入力欄502に入力される)を用いた認証(ログイン)の要求を受け付ける。リンク504は、OTPの送信の要求を受け付ける。
図7に戻って、ステップSB1として示されるように、情報処理装置200を利用しているユーザー400が、MFP100を利用するためにMFP100に近づく。
ステップSB2として示されるように、MFP100に近づいたユーザー400は、MFP100にユーザー名を入力する。ユーザー400は、パスワードを失念した等の理由から、ステップSB3として示されるように、MFP100にOTPの送信の要求を入力する。OTPの送信の要求は、一時認証の要求の一例である。
一実現例では、ユーザー名はログイン画面500の入力欄501に入力され、OTPの送信の要求の入力はリンク504に対する操作によって完了する。他の例では、OTPの送信の要求の入力は、リンク504が操作された場合に、当該操作によって表示される画面(OTP送信要求画面)に対する操作によって完了する。
図9は、OTP送信要求画面の一例を示す図である。一実現例では、図9に示されたOTP送信要求画面510は、MFP100のディスプレイ121に表示されてる。OTP送信要求画面510は、入力欄511およびキー512,513を含む。入力欄511は、ユーザー名の入力を受け付ける。キー512は、OTPの送信の要求を受け付ける。キー513は、ディスプレイの表示をログイン画面500に戻す要求を受け付ける。
MFP100は、OTPの送信の要求に応じて、OTPを生成し、生成されたOTPを入力欄511に入力されたユーザー名に関連付けられた宛先に向けて送信する。この宛先は、たとえば、ユーザー情報データベースにおいてユーザー名に関連付けられたOTP送信宛先である。なお、MFP100は、入力欄511(図8)に、入力欄501(図7)に入力されたユーザー名を表示してもよい。これにより、ユーザーは、入力欄501に入力したユーザー名を再度入力欄511に入力する必要がない。
図7に戻って、ステップSA2として示されるように、MFP100は、OTPの送信の要求を受け付けると、入力欄501または入力欄511に入力されたユーザー名によって特定されるユーザー400のOTPを生成し、生成されたOTPを当該ユーザー400に関連付けられた宛先に向けて送信する。MFP100は、OTPの送信を報知してもよい。
図10は、OTPの送信を報知するための画面(OTP送信報知画面)の一例を示す図である。一実現例では、図10に示されたOTP送信報知画面520は、タイトル「OTP送信」と、メッセージ「あなたの登録アドレス宛にワンタイムパスワードを送信しました。送信したワンタイムパスワードでログインしてください。」とを含む。OTP送信報知画面520は、さらにキー521を含む。MFP100は、キー521に対して操作されることに応じて、ディスプレイ121の表示をログイン画面500に戻す。
なお、MFP100は、OTPの送信に失敗した場合、当該失敗を報知してもよい。この場合、MFP100は、たとえば、タイトル「OTPの送信失敗」と、メッセージ「あなたの登録アドレス宛にはワンタイムパスワードを送信できませんでした。他のアドレスを登録してください。」とを含む画面(OTP送信失敗画面)を表示してもよい。ユーザー400は、OTP送信失敗画面が表示されたことに応じて、ユーザー情報データベースに、OTP送信宛先として別の宛先を送信し得る。
図7に戻って、ステップSC1として示されるように、情報処理装置200は、たとえばメーラーを利用して、送信されたOTPを受信する。情報処理装置200によるOTPの受信は、ユーザーの操作に基づくプル型であってもよいし、ネットワークサーバーなどの外部機器からの能動的な送信に基づくプッシュ型であってもよいし、ポーリングによる擬似的なプッシュ型であってもよい。
一方、ステップSB4として示されるように、ユーザー400は、OTPの送信を要求(ステップSB3)した後、自席に戻る。そして、ユーザー400は、ステップSB5として示されるように、自席の情報処理装置200に対してOTPの表示を指示する。たとえば、ユーザー400は、情報処理装置200のメーラーを利用して、OTPを含むメール文をディスプレイ204に表示することを指示する。ユーザー400の指示に応じて、情報処理装置200は、ステップSC2として示されるように、OTPをディスプレイ204に表示する。
ステップSB6として示されるように、ユーザー400は、情報処理装置200に表示されたOTPを確認する。このとき、ユーザー400は、MFP100まで戻る間にOTPを忘れないように、OTPをメモ用紙に書き写してもよい。
その後、ユーザー400は、ステップSB7として示されるように、MFP100に戻り、そして、ステップSB8として示されるように、ユーザー名とOTPとをMFP100に入力する。MFP100に既にユーザー名が入力されている場合には、ステップSB8におけるユーザー名の入力は省略され得る。
図7では、ユーザー400がOTPの送信の要求をMFP100に入力してから、ユーザー400が情報処理装置200でOTPを確認してMFP100に戻るまでの時間が、時間TAとして示されている。OTPの有効期限は、少なくとも時間TAより長くされることが好ましい。
MFP100は、ステップSA3として示されるように、入力されたユーザー名およびOTPを利用してユーザー認証を実行する。MFP100は、ユーザー認証に成功すると、ステップSA4として示されるように、MFP100のディスプレイ121にトップメニュー画面を表示する。これにより、MFP100は利用可能な状態になる。
ユーザー認証の成功は、ユーザーが入力したユーザー名とパスワード(またはOTP)の組合せが、ユーザー情報データベースにおいて登録されたユーザー名とパスワード(または(OTP)の組合せと一致したことを意味する。ユーザー認証が成功すると、ユーザーは、MFP100にログインでき、MFP100を利用できる。
ユーザー認証の失敗は、ユーザーが入力したユーザー名とパスワード(またはOTP)の組合せが、ユーザー情報データベースにおいて登録されたユーザー名とパスワード(または(OTP)の組合せと一致しなかったことを意味する。この場合、ユーザーは、MFP100にログインできず、MFP100を利用できない。
図11は、トップメニュー画面の一例を示す図である。図11に示されるトップメニュー画面530は、MFP100にコピージョブなどのジョブを指示するための種々の設定項目(カラー、用紙、倍率、など)を含む。
トップメニュー画面530は、コピージョブにおけるコピー部数を示す欄531を含む。MFP100におけるコピー部数の初期値は「1」である。MFP100は、ユーザーからコピー部数の設定を受け付けると、設定された値を記憶装置109等のメモリーに格納し、また、設定された値を欄531に表示する。たとえば、コピー部数の設定値として「3」が入力されると、MFP100は、記憶装置109にコピー部数の設定値として「3」を格納し、また、欄531に表示される数字を「1」から「3」に変更する。
MFP100は、無操作時間がオートリセット機能について設定された「一定時間」以上継続すると、ユーザーから入力された設定値を初期値に戻す。コピー部数の設定値として「3」が入力された後、無操作時間が上記一定時間以上継続すると、MFP100は、記憶装置109におけるコピー部数の設定値を初期値である「1」に戻すとともに、欄531に表示される数字を「3」から「1」に戻す。なお、「コピー部数」は、設定される項目の単なる一例である。
画像処理システムでは、OTPの有効期限内に阻害事象が発生した場合、有効期限の満了から阻害事象が発生していた時間(ユーザー情報データベースの「阻害時間」)だけ、ユーザーは、OTPの入力によって認証され、MFP100を利用し得る。
MFP100は、現時点においてOTPが有効か否かを表す情報を報知してもよい。報知の一例は「表示」であるが、他に、音声の出力であってもよいし、振動(たとえば、所与のボタン操作に応じて、有効である場合と無効である場合とで互いに異なるパターンで振動子が振動する)であってもよい。
図12は、OTPが有効か否かを表す情報を表示する画面の一例を示す図である。図12に示されたログイン画面500Aは、図8のログイン画面500と比較して、表示欄505をさらに含む。表示欄505は、メッセージ「ワンタイムパスワード(2019/10/31_9:21:05発行)は有効です。」を含む。このことは、2019年10月31日9時21分05秒に発行(生成または送信)されたOTPがまだ有効であることを表す。表示欄505の表示は、当該OTPが有効と判断されるまで(有効期限が満了するまで、または、有効期限満了から阻害事象が発生していた時間が経過するまで)継続されてもよい。
図12の例では、発行された時刻によってOTPが特定される。これにより、当該表示を見た第三者は、誰に対してOTPが発行されているかを認識できない。したがって、第三者がOTPを発行されたユーザーになりすましてログインを試みることがより確実に回避され得る。ただし、図12の例において、OTPを発行されたユーザー名などが表示されることによって、OTPが特定されてもよい。また、OTPを特定する情報が報知されることなく、一定時間内に発行されたOTPが有効であるか否かを表す情報のみが報知されてもよい。
図13は、OTPが有効か否かを表す情報を表示する画面の他の例を示す図である。図13に示されたログイン画面500Bは、図12の表示欄505の代わりに、表示欄506を含む。表示欄506は、メッセージ「ワンタイムパスワード(2019/10/31_9:21:05発行)は無効になりました。」を含む。このことは、2019年10月31日9時21分05秒に発行(生成または送信)されたOTPが無効になったことを表す。一実現例では、表示欄506は、OTPが無効であると判断されるようになった時点から特定期間表示され得る。
[処理の流れ]
図14~図16は、OTPによるユーザー認証のためにMFP100において実行される処理のフローチャートである。MFP100では、たとえば電源が投入されたことにより図14~図16に示された処理が開始される。MFP100は、たとえばCPU111が所与のプログラムを実行することによって、図14~図16に示された処理を実行する。
図14を参照して、MFP100に電源が投入されると、ステップS401にて、MFP100は、MFP100の初期化処理を実行する。
ステップS403にて、MFP100は、ディスプレイ121にログイン画面を表示する。
ステップS405にて、MFP100は、ログアウトの要求を受け付けたか否かを判断する。一実現例では、ログアウトとは、ユーザーの認証を解消することを意味する。MFP100は、ログアウトの要求を受け付けたと判断すると(ステップS405にてYES)、ステップS403へ制御を戻す。これにより、ディスプレイ121の表示がログイン画面に戻される。一方、MFP100は、ログアウトの要求を受け付けていないと判断すると(ステップS405にてNO)、ステップS407へ制御を進める。
ステップS407にて、MFP100は、OTPの送信の要求を受け付けたか否かを判断する。MFP100は、OTPの送信の要求を受け付けたと判断すると(ステップS407にてYES)、ステップS421へ制御を進め、そうでなければ(ステップS407にてNO)、ステップS409(図15)へ制御を進める。
ステップS421にて、MFP100は、OTPを送信する宛先が特定可能であるか否かを判断する。この判断は、たとえば、ユーザー情報データベースが、OTPの送信の要求に含まれるユーザー名に関連付けられた「OTP送信宛先」として何らかの値を格納しているか否か、または、格納されている値が所与の形式に従った値(たとえば、メールアドレスの形式に従った値)であるか否かに基づいて実現される。
MFP100は、OTPを送信する宛先が特定可能であると判断すると(ステップS421にてYES)、ステップS423へ制御を進め、そうでなければ(ステップS421にてNO)、ステップS435へ制御を進める。
ステップS435にて、MFP100は、OTPの送信ができないことをディスプレイ121に表示する。当該表示は、たとえば、OTP送信失敗画面の表示により実現される。その後、MFP100はステップS405へ制御を戻す。このとき、ディスプレイ121の表示はログイン画面に戻されてもよい。
なお、MFP100は、ステップS421にて、OTPの送信に必要な情報のすべてが入力および登録されているか否かを判断してもよい。そして、MFP100は、すべての情報が入力または登録されていると判断するとステップS423へ制御を進め、少なくとも一部の情報が入力または登録されていないと判断するとステップS435へ制御を進めてもよい。たとえば、OTPの送信要求の際にMFP100にユーザー名が入力されていなければ、MFP100は、ステップS435にて、ユーザー名が入力されていないことを報知する画面をディスプレイ121に表示してもよい。
ステップS423にて、MFP100は、OTPの送信の要求の際に入力されたユーザー名について、OTPを生成する。
ステップS425にて、MFP100は、ステップS423にて生成されたOTPをユーザー情報データベースに登録する。このとき、MFP100は、ユーザー情報データベースに、さらに、当該OTPに関連付けられた「有効期限」を登録してもよい。
一実現例では、MFP100は、有効期限として予め定められた値(たとえば、5分)を設定し、当該値を「有効期限」として設定してもよい。
他の実現例では、MFP100は、認証対象のユーザーが使用する端末の種類を特定する情報を取得し、特定された種類に関連付けられた「有効期限」の値を取得し、そして、取得された「有効期限」の値をユーザー情報データベースに「有効期限」として登録してもよい。端末の種類の一例は「個人PC」であり、他の例は「携帯端末」である。端末の種類が「個人PC」である場合は、「携帯端末」であるよりも、「有効期限」としてより長い時間が設定されてもよい。より具体的には、「携帯端末」である場合は、ユーザーは、携帯端末を携帯しながらMFP100に対してOTPの送信を要求し、そのまま、当該携帯端末でOTPを確認する可能性がある。一方、「個人PC」である場合、ユーザーは、MFP100に対してOTPの送信を要求した後、MFP100から当該個人PCまで移動してOTPを確認する可能性がある。すなわち、後者の場合は前者の場合よりもユーザーがOTPの確認に要する時間が長くなる状況が想定される。端末の種類に応じて有効期限の時間の長さが設定されることにより、OTPの確認に要することが想定される必要最小限の時間が有効期限として設定され得る。
ステップS427にて、MFP100は、ステップS423にて生成されたOTPを、OTPの送信の要求の際に入力されたユーザー名に関連付けられた宛先(OTP送信宛先)に向けて送信する。
ステップS429にて、MFP100は、OTPの有効期限の計測を開始する。より具体的には、MFP100は、ユーザー情報データベースにおいて、現在の日時を、ステップS423にて生成されたOTPの「OTP計時開始日時」として登録する。ステップS429の制御によって、OTPが送信されたときが、OTPの有効期限の開始の起点となる。
ステップS431にて、MFP100は、OTPの送信を要求したユーザーの画像を記憶装置109に登録する。MFP100がOTPの送信を要求したユーザーの画像を取得する一例には、操作パネル120近傍を撮影するカメラの画像が利用される。この場合、画像処理システムは、操作パネル120近傍を撮影するカメラをさらに含み、MFP100は、当該カメラと接続されている。MFP100は、ステップS407にてOTPの送信の要求を受け付けたと判断したときに(ステップS407にてYES)、カメラから撮像画像を取得し、当該撮像画像から人物の画像を抽出する。人物の画像の抽出は、たとえばパターン認識技術を用いて実現され得る。MFP100は、抽出された人物の画像を、OTPの送信を要求したユーザーの画像として登録する。
ステップS433にて、MFP100は、OTP送信結果をディスプレイ121に表示する。OTP送信報知画面520は、OTP送信結果の一例である。その後、MFP100はステップS405へ制御を戻す。このとき、MFP100は、ディスプレイ121における表示をログイン画面に戻してもよい。
図15を参照して、ステップS409にて、MFP100は、MFP100において阻害事象が発生しているか否かを判断する。
阻害事象の一例は、発行済みであって有効期限が満了していないOTPがある場合、当該OTPを送信されたユーザー以外のユーザーがMFP100を利用していることである。
MFP100は、上記OTPを送信されたユーザー以外のユーザーがMFP100を利用していることを、たとえば、カメラ150によって撮影された画像がステップS431において登録されたユーザーとは異なるユーザーを含むことを検知することによって、または、他のユーザーがMFP100の利用のために認証された(ログインした)ことを検知することによって、検知する。
阻害事象の他の例は、MFP100において操作パネル120がOTPの入力を受け付けない状態である。
OTPの入力を受け付けない状態の一例は、MFP100が、消耗品(印刷出力部103における、インクカートリッジ内のインク、トナーカートリッジ内のトナー、または、給紙カセット内の記録用紙)の欠如により、エラーを発しながら動作を停止している状態である。他の例は、MFP100が、印刷出力部103においてペーパージャムが発生していることによって動作を停止している状態である。さらに他の例は、MFP100が、制御部110が実行中の処理にエラーを発生させたこと(ファクシミリ送信ジョブ実行中に送信先アドレスを特定できないことを表すエラーなど)によって動作を停止している状態である。さらに他の例は、MFP100が、MFP100を構成する要素のエラーによって動作を停止している状態(たとえば、本体を開閉するドアの開状態の検知によって動作を停止している)である。
ステップS409にて、MFP100は、MFP100において阻害事象が発生していると判断すると(ステップS409にてYES)、ステップS441へ制御を進め、そうでなければ(ステップS409にてNO)、ステップS411へ制御を進める。
ステップS441にて、MFP100は、阻害事象管理テーブル(図6)に、発生していると判断した事象を登録する。より具体的には、MFP100は、「阻害事象」として、発生していると判断した事象の名称(他ユーザーの利用、消耗品交換(消耗品欠如)、ペーパージャム、処理エラー、要素エラー、など)を登録し、「阻害事象発生日時」として当該事象が発生した時刻(または、ステップS409において阻害事象が発生していると判断した時刻)を登録する。MFP100は、ステップS441にて、さらに、ユーザー情報データベースの「阻害時間」の欄に値「未定」を登録してもよい。その後、MFP100は、ステップS405へ制御を戻す。
ステップS411にて、MFP100は、阻害事象管理テーブルにおいて発生していることが登録されている阻害事象について、当該阻害事象が解消しているか否かを判断する。たとえば、他のユーザーが利用しているという阻害事象の発生が登録されていた場合、MFP100は、MFP100において当該他のユーザーの利用が終了したか否かを判断する。たとえば、カメラ150による撮像画像に当該他のユーザーが含まれなくなったことを検知することにより、または、当該他のユーザーに対する認証が解消されたこと(ログアウトしたこと)を検知することにより、MFP100は、阻害事象「他のユーザーの利用」の解消を検知する。また、MFP100が動作を再開している場合、MFP100は、「消耗品交換(消耗品欠如)」「ペーパージャム」「処理エラー」「要素エラー」などの阻害事象の解消を検知する。
ステップS411にて、MFP100は、阻害事象が解消していると判断すると(ステップS411にてYES)、ステップS445へ制御を進め、そうでなければ(ステップS411にてNO)、ステップS413へ制御を進める。
ステップS445にて、MFP100は、阻害事象管理テーブル(図6)に、「阻害事象解消日時」として当該事象が解消した時刻(または、ステップS411にて阻害事象が解消したと判断した時刻)を登録する。
ステップS447にて、MFP100は、阻害事象の発生から解消までの時間を算出し、算出された時間をユーザー情報データベース(図5)に「阻害時間」として登録する。その後、MFP100は、ステップS405へ制御を戻す。
ステップS413にて、MFP100は、ディスプレイ121にログイン画面が表示されている状態であって、ディスプレイ121の表示の更新タイミングが到来したか否かを判断する。一実現例では、MFP100は、1分などの所定時間ごとにディスプレイ121の表示を更新する。ステップS413では、当該更新のタイミングにディスプレイ121にログイン画面が表示されているかどうかが判断される。
MFP100は、ログイン画面の表示中に更新タイミングが到来したと判断すると(ステップS413にてYES)、ステップS451へ制御を進め、そうでなければ(ステップS413にてNO)、ステップS415(図16)へ制御を進める。
ステップS451にて、MFP100は、ログイン画面(の入力欄501)にユーザー名が入力されており、かつ、OTPの有効期限が経過している、という状態が発生しているか否かを判断する。MFP100は、ログイン画面にユーザー名が入力されており、かつ、OTPの有効期限が経過していると判断すると(ステップS451にてYES)、ステップS453へ制御を進める。一方、MFP100は、ログイン画面にユーザー名が入力されていない、および、OTPの有効期限が経過していない、のうち少なくとも一方が成立していれば(ステップS451にてNO)、ステップS455へ制御を進める。
ステップS453にて、MFP100は、ログイン画面に表示されたユーザー名をクリアして、ステップS455へ制御を進める。これにより、ログイン画面に入力されることによって当該ログイン画面に表示されていたユーザー名が、ログイン画面から消去される。
ステップS455にて、MFP100は、OTP有効期限に阻害時間を加えた時間が、OTP計時開始日時から経過しているか否かを判断する。MFP100は、当該時間が経過していると判断すると(ステップS455にてYES)、ステップS459へ制御を進め、そうでなければ(ステップS455にてNO)、ステップS457へ制御を進める。なお、MFP100は、阻害時間の欄に値「未定」が登録されている場合にも、ステップS455からステップS457へ制御を進めても良い。
ステップS457にて、MFP100は、MFP100の利用のためのOTPの入力が可能であることを表示した後、ステップS405へ制御を戻す。図12のログイン画面500Aは、ステップS457において表示される画面の一例である。すなわち、ステップS457の制御は、OTPが未だ有効であることの報知の一例である。
ステップS459にて、MFP100は、MFP100の利用のためのOTPの入力が不可であることを表示した後、ステップS405へ制御を戻す。図12のログイン画面500Bは、ステップS459において表示される画面の一例である。すなわち、ステップS459の制御は、OTPが無効になったことの報知の一例である。
図16を参照して、ステップS415にて、MFP100は、ログインの要求を受け付けたか否かを判断する。MFP100は、たとえばキー503(図8)を操作されることにより、ログインの要求を受け付ける。MFP100は、ログインの要求を受け付けたと判断すると(ステップS415にてYES)、ステップS461へ制御を進め、そうでなければ(ステップS415にてNO)、ステップS417へ制御を進める。
ステップS461にて、MFP100は、ログインの要求において入力された、ユーザー名とパスワードの組合せまたはユーザー名とOTPの組合せが、ユーザー情報データベースにおいて登録されている組合せと一致するか否かを判断する。MFP100は、一致すると判断すると(ステップS461にてYES)、ステップS463へ制御を進め、そうでなければ(ステップS461にてNO)、ステップS471へ制御を進める。
ステップS471にて、MFP100は、ユーザー認証の失敗をディスプレイ121に表示し、その後、ステップS405へ制御を戻す。MFP100は、ユーザー認証の失敗の表示の後、ディスプレイ121における表示をログイン画面に戻してもよい。
ステップS463にて、MFP100は、ステップS461において認証に利用された情報がOTPであったか否かを判断する。MFP100は、たとえば、ログインの要求においてユーザー名とともに入力された情報が、ユーザー情報データベースにおける「パスワード」ではなく「OTP」と一致したと判断した場合、ステップS461において認証に利用された情報がOTPであったと判断する。
MFP100は、ユーザー認証に利用された情報がOTPであったと判断すると(ステップS463にてYES)、ステップS465へ制御を進め、そうでなければ(ステップS463にてNO)、ステップS467へ制御を進める。
ステップS465にて、MFP100は、OTPの有効期限満了前であるか否かを判断する。MFP100は、OTPの有効期限がまだ満了していなければ(ステップS465にてYES)、ステップS467へ制御を進め、そうでなければ(ステップS465にてNO)、ステップS471へ制御を進める。なお、MFP100は、有効期限の満了後であっても、満了から阻害時間が経過していなければ、ステップS467へ制御を進める。また、MFP100は、「阻害時間」(図6)の値が「未定」である場合も、ステップS467へ制御を進めても良い。
ステップS467にて、MFP100は、ユーザー認証に利用されたOTPをユーザー情報データベースから消去して、ステップS469へ制御を進める。これにより、一度認証に利用されたOTPが、再度利用されることが回避される。なお、画像処理システムでは、OTPは、有効期限を設定されていれば、複数回の認証に利用されるパスワードであってもよい。
ステップS469にて、MFP100は、トップメニュー画面530をディスプレイ121に表示した後、ステップS405へ制御を戻す。
ステップS461~ステップS471の制御によって、ログインの要求において、ユーザー情報データベースに登録されたユーザー名とパスワードの組合せが入力されれば(ステップS461にてYES、かつ、ステップS463にてNO)、ステップS467にて当該ユーザー名に関連付けられて登録されたOTPがクリアされた後、ステップS469にてトップメニュー画面530が表示される。これにより、ユーザーは、MFP100の利用を許可される。
ログインの要求において、ユーザー情報データベースに登録されたユーザー名とOTPの組合せが入力されれば(ステップS461にてYES、かつ、ステップS463にてYES)、OTPの有効期限の満了前であることを条件として(ステップS465にてYES)、ステップS469にてトップメニュー画面530が表示される。この場合、ステップS467にて、ユーザー認証に利用されたOTPがユーザー情報データベースから削除される。これにより、一度ユーザー認証に利用されたOTPがその後も利用されることが回避され得る。
ステップS469においてトップメニュー画面530が表示されることは、ユーザー認証が成功したことを意味する。ステップS471において認証失敗が表示されることは、ユーザー認証が失敗したことを意味する。
ステップS417にて、MFP100は、上述の要求(ステップS405のログアウト、ステップS407のOTPの送信、および、ステップS415のログイン)以外の要求を受け付けたか否かを判断する。ステップS417において判断される要求(以下、「他の要求」ともいう)の一例は、トップメニュー画面530に対して入力される要求(コピー枚数の変更の要求など)であり、他の例は、キー操作によるコピージョブの実行開始の要求である。
MFP100は、上記他の要求を受け付けたと判断すると(ステップS417にてYES)、ステップS481へ制御を進め、そうでなければ(ステップS417にてNO)、ステップS405へ制御を戻す。
ステップS481にて、MFP100は、要求に応じた処理を実行した後、ステップS405へ制御を戻す。要求に応じた処理の一例は、コピー枚数の変更に応じた、トップメニュー画面530の更新およびコピージョブの設定更新である。すなわち、MFP100は、ユーザーがMFP100にログインした後は、ステップS481にてユーザーからの要求に応じた処理を実行する。また、MFP100は、ログイン前のユーザー名の入力を、ステップS481にて受け付ける。
以上説明された本実施の形態では、OTPの送信の後、阻害事象が発生したことにより、阻害事象が発生していた時間(阻害時間)だけ、OTPの有効期限が延長される(ステップS465)。これにより、阻害事象の発生によりユーザーに対してOTPの入力のために設定された有効期限が実質的に短縮される事態が回避され得る。
<第2の実施の形態>
第2の実施の形態の画像処理システムは、図1と同様に、MFP100、情報処理装置200、および、認証サーバー300を含む。第2の実施の形態では、認証サーバー300がユーザー認証の少なくとも一部を実行する。MFP100の制御部110は、第1のコントローラーの一例であり、認証サーバー300のCPU301は第2のコントローラーの一例である。ユーザー情報データベース(図5)は、認証サーバー300の記憶装置303に格納される。阻害事象管理テーブル(図6)は、MFP100の記憶装置109に格納される。
[OTPを利用したユーザー認証の概要]
図17は、第2の実施の形態におけるOTPを利用したユーザー認証の概要を示す図である。図17は、図7と同様に、MFP100、情報処理装置200、およびユーザー400が示す。なお、図17には、MFP100および情報処理装置200のそれぞれにおける処理に加えて、認証サーバー300における処理が示される。
図17を参照して、MFP100は、ステップSA1として示されるようにログイン画面を表示し、ユーザーからの認証用の情報の入力を待つ。
情報処理装置200を利用しているユーザー400は、ステップSB1として示されるように、MFP100を利用するためにMFP100に近づく。
ステップSB2として示されるように、MFP100に近づいたユーザー400は、MFP100にユーザー名を入力する。ユーザー400は、パスワードを失念した等の理由から、ステップSB3として示されるように、OTPの送信を要求する。
MFP100は、ステップSA11として示されるように、ユーザー400からのOTPの送信の要求に応じて、認証サーバー300にユーザー400のOTPの送信を要求する。このとき、MFP100は、ユーザー400のユーザー名を認証サーバー300に通知する。
認証サーバー300は、ステップSC1において、MFP100からの要求に応じて、ユーザー400のOTPを生成し、生成されたOTPをユーザー400のユーザー名に関連付けられた宛先に向けて送信する。この宛先は、たとえば、ユーザー情報データベースにおいてユーザー名に関連付けられたOTP送信宛先である。
認証サーバー300は、ステップSA12において、OTPの送信の完了をMFP100に通知する。この通知に応じて、MFP100は、OTP送信報知画面(図10)をディスプレイ121に表示してもよい。
情報処理装置200は、ステップSC1として示されるように、たとえばメーラーを利用して、送信されたOTPを受信する。
一方、ユーザー400は、ステップSB4として示されるように、OTPの送信を要求(ステップSB3)した後、自席に戻る。そして、ユーザー400は、ステップSB5として示されるように、自席の情報処理装置200に対してOTPの表示を指示する。
情報処理装置200は、ステップSC2として示されるように、ユーザー400の指示に応じて、ディスプレイ204にOTPを表示する。
ユーザー400は、ステップSB6として示されるように、情報処理装置200に表示されたOTPを確認する。
その後、ユーザー400は、ステップSB7として示されるように、MFP100に戻り、そして、ステップSB8として示されるように、ユーザー名とOTPとをMFP100に入力する。MFP100に既にユーザー名が入力されている場合には、ステップSB8におけるユーザー名の入力は省略され得る。
MFP100は、ステップSA13として示されるように、入力されたユーザー名およびOTPを利用して、認証サーバー300に対してユーザー認証を要求する。
認証サーバー300は、ステップSD2として示されるように、MFP100からの要求に応じてユーザー認証を実行し、ステップSD3として示されるように、ユーザー認証の結果をMFP100に通知する。
画像処理システムの第2の実施の形態では、OTPの有効期限内に阻害事象が発生した場合、有効期限の満了から阻害事象が発生していた時間(ユーザー情報データベースの「阻害時間」)だけ、ユーザーは、OTPの入力によって認証され、MFP100を利用し得る。より具体的には、MFP100は、阻害事象の発生および解消を認証サーバー300に通知する。認証サーバー300は、MFP100からの通知に基づいて、MFP100において阻害事象が発生していた時間(阻害時間)を特定し得る。
[処理の流れ]
図18~図23は、第2の実施の形態においてOTPによるユーザー認証のために実行される処理のフローチャートである。図18~図23では、図14~図16において説明された制御に対応する制御には、図14~図16において付されたのと同じ符号(「S401」など)が付されている。図18,図20~図22のそれぞれでは、左側にMFP100における処理が示され、右側に認証サーバー300における処理が示される。図19および図23では、MFP100における処理が示される。
図18を参照して、MFP100に電源が投入されると、ステップS401にて、MFP100は、MFP100の初期化処理を実行する。
ステップS403にて、MFP100は、ディスプレイ121にログイン画面(図8)を表示する。
ステップS405にて、MFP100は、ログアウトの要求を受け付けたか否かを判断する。MFP100は、ログアウトの要求を受け付けたと判断すると(ステップS405にてYES)、ステップS403へ制御を戻す。これにより、ディスプレイ121の表示がログイン画面に戻される。一方、MFP100は、ログアウトの要求を受け付けていないと判断すると(ステップS405にてNO)、ステップS407へ制御を進める。
ステップS407にて、MFP100は、OTPの送信の要求を受け付けたか否かを判断する。MFP100は、OTPの送信の要求を受け付けたと判断すると(ステップS407にてYES)、ステップS431へ制御を進め、そうでなければ(ステップS407にてNO)、ステップS432へ制御を進める。
ステップS431にて、MFP100は、OTPの送信を要求したユーザーの画像を記憶装置109に登録する。
ステップS407Aにて、MFP100は、認証サーバー300に対してOTPの送信を要求する。当該要求は、たとえば、ユーザーから入力されたユーザー名を含むメッセージの送信によって実現される。その後、MFP100はステップS405へ制御を戻す。
認証サーバー300は、ステップS420にて、MFP100からOTPの送信の要求(ステップS407A)を受けたか否かを判断する。認証サーバー300は、OTPの送信の要求を受けたと判断すると(ステップS420にてYES)、ステップS421へ制御を進め、そうでなければ(ステップS420にてNO)、ステップS450(図21)へ制御を進める。
ステップS421にて、認証サーバー300は、OTPを送信する宛先が特定可能であるか否かを判断する。認証サーバー300は、OTPを送信する宛先が特定可能であると判断すると(ステップS421にてYES)、ステップS423へ制御を進め、そうでなければ(ステップS421にてNO)、ステップS424(図20)へ制御を進める。
ステップS423にて、認証サーバー300は、OTPの送信の要求の際に入力されたユーザー名について、OTPを生成する。
ステップS425にて、認証サーバー300は、ステップS423にて生成されたOTPをユーザー情報データベースに登録する。このとき、認証サーバー300は、ユーザー情報データベースに、さらに、当該OTPに関連付けられた「有効期限」を登録してもよい。一実現例では、認証サーバー300は、一定の値(たとえば、3分)を「有効期限」として登録する。他の実現例では、認証サーバー300は、ユーザーがOTPの確認に利用する情報処理装置200の種類(たとえば、第1の種類または第2の種類)に従って、「有効期限」として登録する値を設定する。
ステップS427にて、認証サーバー300は、ステップS423にて生成されたOTPを、OTPの送信の要求の際に入力されたユーザー名に関連付けられた宛先(「OTP送信宛先」)に向けて送信する。
ステップS428にて、認証サーバー300は、MFP100に、OTPの送信を通知する。
MFP100は、ステップS432にて、OTPの送信の通知を受信したか否かを判断する。MFP100は、OTPの送信の通知を受信したと判断すると(ステップS432にてYES)、ステップS433にて、ディスプレイ121にOTP送信報知画面(図10)を表示した後、ステップS405へ制御を戻す。このとき、ディスプレイ121の表示はログイン画面に戻されてもよい。MFP100は、OTPの送信の通知を受信していないと判断すると(ステップS432にてNO)、ステップS409(図19)へ制御を進める。
認証サーバー300は、ステップS429にて、OTPの有効期限の計測を開始する。ステップS429の制御によって、認証サーバー300では、OTPが送信されたときが、OTPの有効期限の開始の起点となる。その後、認証サーバー300はステップS420へ制御を戻す。
図19を参照して、ステップS409にて、MFP100は、図15を参照して説明されたように、MFP100において阻害事象が発生しているか否かを判断する。
阻害事象の一例は、発行済みであって有効期限が満了していないOTPがある場合、当該OTPを送信されたユーザー以外のユーザーがMFP100を利用していることである。
阻害事象の他の例は、MFP100において操作パネル120がOTPの入力を受け付けない状態である。OTPの入力を受け付けない状態は、たとえば、MFP100が、消耗品の欠如により停止している状態、印刷出力部103においてペーパージャムが発生していることによって動作を停止している状態、制御部110が実行中の処理にエラーを発生させたことによって動作を停止している状態、または、MFP100を構成する要素のエラーによって動作を停止している状態である。
ステップS409にて、MFP100は、MFP100において阻害事象が発生していると判断すると(ステップS409にてYES)、ステップS441へ制御を進め、そうでなければ(ステップS409にてNO)、ステップS411へ制御を進める。
ステップS441にて、MFP100は、図15を参照して説明されたように、阻害事象管理テーブル(図6)に、発生していると判断した事象を登録する。その後、MFP100は、ステップS405へ制御を戻す。
MFP100は、ステップS441にて、認証サーバー300に、MFP100において阻害事象が発生していることを通知してもよく、当該通知に応じて、認証サーバー300は、ユーザー情報データベースの「阻害時間」の欄に値「未定」を登録してもよい。
ステップS411にて、MFP100は、図15を参照して説明されたように、阻害事象管理テーブルにおいて発生していることが登録されている阻害事象について、当該阻害事象が解消しているか否かを判断する。MFP100は、阻害事象が解消していると判断すると(ステップS411にてYES)、ステップS445へ制御を進め、そうでなければ(ステップS411にてNO)、ステップS413へ制御を進める。
ステップS445にて、MFP100は、阻害事象管理テーブル(図6)に、「阻害事象解消日時」として当該事象が解消した時刻(または、ステップS411にて阻害事象が解消したと判断した時刻)を登録する。
ステップS447Aにて、MFP100は、阻害事象の発生から解消までの時間を算出し、算出された時間(阻害時間)を認証サーバー300へ通知する。その後、MFP100は、ステップS405へ制御を戻す。一方、認証サーバー300は、ステップS447Aの通知に応じて、ユーザー情報データベース(図5)に「阻害時間」として登録する。
ステップS413にて、MFP100は、ディスプレイ121にログイン画面が表示されている状態であって、ディスプレイ121の表示の更新タイミングが到来したか否かを判断する。一実現例では、MFP100は、1分などの所定時間ごとにディスプレイ121の表示を更新する。ステップS413では、当該更新のタイミングにディスプレイ121にログイン画面が表示されているかどうかが判断される。
MFP100は、ログイン画面の表示中に更新タイミングが到来したと判断すると(ステップS413にてYES)、ステップS451へ制御を進め、そうでなければ(ステップS413にてNO)、ステップS434(図20)へ制御を進める。
ステップS451にて、MFP100は、ログイン画面(の入力欄501)にユーザー名が入力されており、かつ、OTPの有効期限が経過している、という状態が発生しているか否かを判断する。MFP100は、ログイン画面にユーザー名が入力されており、かつ、OTPの有効期限が経過していると判断すると(ステップS451にてYES)、ステップS453へ制御を進める。一方、MFP100は、ログイン画面にユーザー名が入力されていない、および、OTPの有効期限が経過していない、のうち少なくとも一方が成立していれば(ステップS451にてNO)、ステップS455へ制御を進める。MFP100は、認証サーバー300に、送信済みのOTPについて有効期限が経過しているか否かを問合せることができ、当該問合せに対する認証サーバー300からの回答に基づいてステップS451における判断を実施することができる。
ステップS453にて、MFP100は、ログイン画面に表示されたユーザー名をクリアして、ステップS455へ制御を進める。これにより、ログイン画面に入力されることによって当該ログイン画面に表示されていたユーザー名が、ログイン画面から消去される。
ステップS455にて、MFP100は、OTP有効期限に阻害時間を加えた時間が、OTP計時開始日時から経過しているか否かを判断する。MFP100は、認証サーバー300に対して、送信済みのOTPについて、OTP有効期限に阻害時間を加えた時間が、OTP計時開始日時から経過しているか否かを問合せてもよく、当該問合せに対する認証サーバー300からの回答に基づいてステップS455における判断を実施することができる。
MFP100は、上記時間が経過していると判断すると(ステップS455にてYES)、ステップS459へ制御を進め、そうでなければ(ステップS455にてNO)、ステップS457へ制御を進める。なお、MFP100は、阻害時間の欄に値「未定」が登録されている場合にも、ステップS455からステップS457へ制御を進めても良い。
ステップS457にて、MFP100は、MFP100の利用のためのOTPの入力が可能であることを表示した後、ステップS405へ制御を戻す。図12のログイン画面500Aは、ステップS457において表示される画面の一例である。すなわち、ステップS457の制御は、OTPが未だ有効であることの報知の一例である。
ステップS459にて、MFP100は、MFP100の利用のためのOTPの入力が不可であることを表示した後、ステップS405へ制御を戻す。図12のログイン画面500Bは、ステップS459において表示される画面の一例である。すなわち、ステップS459の制御は、OTPが無効になったことの報知の一例である。
図20を参照して、認証サーバー300は、ステップS424にて、MFP100に、OTPを送信する宛先が特定不能であることを通知する。
MFP100は、ステップS434にて、OTPを送信する宛先が特定不能であることを表す通知を受信したか否かを判断し、当該通知を受信したと判断すると(ステップS434にてYES)、ステップS435へ制御を進め、そうでなければ(ステップS434にてNO)、ステップS415(図21)へ制御を進める。
ステップS435にて、MFP100は、OTPの送信ができないことをディスプレイ121に表示する。当該表示は、たとえば、OTP送信失敗画面の表示により実現される。その後、MFP100は、ステップS405へ制御を戻す。このとき、ディスプレイ121の表示はログイン画面に戻されてもよい。
図21を参照して、ステップS415にて、MFP100は、ログインの要求を受け付けたか否かを判断する。MFP100は、ログインの要求を受け付けたと判断すると(ステップS415にてYES)、ステップS415Aへ制御を進め、そうでなければ(ステップS415にてNO)、ステップS458(図22)へ制御を進める。
ステップS415Aにて、MFP100は、認証サーバー300にログインの要求を送信する。当該要求は、ユーザーから入力された、ユーザーと、パスワードまたはOTPを含む。その後、MFP100は、ステップS405(図18)へ制御を戻す。
認証サーバー300は、ステップS450にて、ログインの要求を受信したか否かを判断する。認証サーバー300は、ログインの要求を受信したと判断すると(ステップS450にてYES)、ステップS461(図22)へ制御を進め、そうでなければ(ステップS450にてNO)、ステップS420(図18)へ制御を戻す。
図22を参照して、認証サーバー300は、ステップS461にて、ログインの要求として受信した、ユーザー名とパスワードの組合せまたはユーザー名とOTPの組合せが、ユーザー情報データベースにおいて登録されている組合せと一致するか否かを判断する。認証サーバー300は、一致すると判断すると(ステップS461にてYES)、ステップS463へ制御を進め、そうでなければ(ステップS461にてNO)、ステップS462へ制御を進める。
ステップS462にて、認証サーバー300は、MFP100にユーザー認証の失敗を通知した後、ステップS420(図18)へ制御を戻す。
ステップS463にて、認証サーバー300は、ステップS461において認証に利用された情報がOTPであったか否かを判断する。認証サーバー300は、ユーザー認証に利用された情報がOTPであったと判断すると(ステップS463にてYES)、ステップS465へ制御を進め、そうでなければ(ステップS463にてNO)、ステップS466Aへ制御を進める。
ステップS465にて、認証サーバー300は、OTPの有効期限満了前であるか否かを判断する。認証サーバー300は、OTPの有効期限がまだ満了していなければ(ステップS465にてYES)、ステップS466Aへ制御を進め、そうでなければ(ステップS465にてNO)、ステップS466Bへ制御を進める。なお、認証サーバー300は、有効期限の満了後であっても、満了から阻害時間が経過していなければ、ステップS467へ制御を進める。また、MFP100は、「阻害時間」(図6)の値が「未定」である場合も、ステップS467へ制御を進めても良い。
ステップS466Aにて、認証サーバー300は、MFP100にユーザー認証の成功を通知した後、ステップS467へ制御を進める。一方、ステップS466Bにて、認証サーバー300は、MFP100にユーザー認証の失敗を通知した後、ステップS420(図18)へ制御を戻す。
ステップS467にて、認証サーバー300は、ユーザー認証に利用されたOTPをユーザー情報データベースから消去して、ステップS420(図18)へ制御を戻す。
一方、MFP100は、ステップS458にて、ユーザー認証の成功の通知を受信したか否かを判断する。MFP100は、成功の通知を受信したと判断すると(ステップS458にてYES)、ステップS469へ制御を進め、そうでなければ(ステップS458にてNO)、ステップS460へ制御を進める。
ステップS469にて、MFP100は、トップメニュー画面530をディスプレイ121に表示した後、ステップS405へ制御を戻す。これにより、ユーザーは、MFP100の利用を許可される。その後、MFP100はステップS405(図18)へ制御を戻す。
ステップS460にて、MFP100は、ユーザー認証の失敗の通知を受信したか否かを判断する。MFP100は、失敗の通知を受信したと判断すると(ステップS460にてYES)、ステップS471へ制御を進め、そうでなければ(ステップS460にてNO)、ステップS417(図23)へ制御を進める。
ステップS471にて、MFP100は、ユーザー認証が失敗したことをディスプレイ121に表示し、その後、ステップS405(図18)へ制御を戻す。MFP100は、ユーザー認証の失敗の表示の後、ディスプレイ121における表示をログイン画面に戻してもよい。
図23を参照して、ステップS417にて、MFP100は、上述の要求(ステップS405のログアウト、ステップS407のOTPの送信、および、ステップS415のログイン)以外の要求(以下、「他の要求」という)を受け付けたか否かを判断する。MFP100は、上記他の要求を受け付けたと判断すると(ステップS417にてYES)、ステップS481へ制御を進め、そうでなければ(ステップS417にてNO)、ステップS405へ制御を戻す。
ステップS481にて、MFP100は、要求に応じた処理を実行した後、ステップS405へ制御を戻す。要求に応じた処理の一例は、コピー枚数の変更に応じた、トップメニュー画面530の更新およびコピージョブの設定更新である。すなわち、MFP100は、ユーザーがMFP100にログインした後は、ステップS481にてユーザーからの要求に応じた処理を実行する。また、MFP100は、ログイン前のユーザー名の入力を、ステップS481にて受け付ける。
以上説明された第2の実施の形態では、OTPの送信の後、阻害事象が発生したことにより、阻害事象が発生していた時間(阻害時間)だけ、OTPの有効期限が延長される(ステップS465)。これにより、阻害事象の発生によりユーザーに対してOTPの入力のために設定された有効期限が実質的に短縮される事態が回避され得る。
今回開示された各実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組合わせても、実施することが意図される。