(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-23
(45)【発行日】2024-09-02
(54)【発明の名称】多要素認証機能を備えた画像形成装置
(51)【国際特許分類】
G06F 21/31 20130101AFI20240826BHJP
B41J 29/00 20060101ALI20240826BHJP
B41J 29/38 20060101ALI20240826BHJP
G06F 3/12 20060101ALI20240826BHJP
G06F 21/34 20130101ALI20240826BHJP
H04N 1/00 20060101ALI20240826BHJP
【FI】
G06F21/31
B41J29/00 T
B41J29/00 Z
B41J29/38 203
G06F3/12 322
G06F3/12 338
G06F21/34
H04N1/00 127B
H04N1/00 838
(21)【出願番号】P 2021009132
(22)【出願日】2021-01-22
【審査請求日】2024-01-18
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】細田 泰弘
【審査官】岸野 徹
(56)【参考文献】
【文献】特開2016-021654(JP,A)
【文献】特開2013-183215(JP,A)
【文献】米国特許出願公開第2010/0107229(US,A1)
【文献】米国特許出願公開第2020/0084204(US,A1)
【文献】特表2020-531990(JP,A)
【文献】登録実用新案第3230116(JP,U)
【文献】米国特許出願公開第2014/0281506(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/31
B41J 29/00
B41J 29/38
G06F 3/12
G06F 21/34
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
印刷機能を少なくとも含む機能を備えた画像形成装置であって、
前記画像形成装置のローカルUI機能へのローカルアクセスに対し認証を実行する第1認証手段と、
前記画像形成装置のリモートUI機能へのリモートアクセスに対し認証を実行する第2認証手段と、を有し、
前記第1認証手段および前記第2認証手段とも多要素認証に対応し、前記第2認証手段の認証要素は前記第1認証手段の認証要素
には含まれていないソフトウェアトークン認証が含まれており、前記リモートアクセスされた際に前記ソフトウェアトークン認証の認証情報が有効化されていない場合にソフトウェアトークンを発行させるためのシークレットを提供することを特徴とする画像形成装置。
【請求項2】
前記第1認証手段の認証要素の1つは前記画像形成装置に備えられたICカードを用いたICカード認証であり、前記第2認証手段の認証要素に前記ICカード認証は含まれないことを特徴とする請求項1に記載の画像形成装置。
【請求項3】
認証要素の1つとしてソフトウェアトークン認証を設定している前記第2認証手段は、前記第2認証手段の多要素認証の実行が有効にされてから前記画像形成装置へリモートアクセスされた際にソフトウェアトークン認証の認証情報が有効化されていないと判断した場合に、当該リモートアクセスへのレスポンスで前記シークレットを提供することを特徴とする請求項1または2に記載の画像形成装置。
【請求項4】
認証要素の1つとしてソフトウェアトークン認証を設定している前記第2認証手段は、前記第2認証手段の多要素認証の実行が有効にされてから前記画像形成装置へローカルアクセスされた際にソフトウェアトークン認証の認証情報が有効化されていないと判断した場合に、ローカルアクセスへのレスポンスで前記シークレットを提供することを特徴とする請求項3に記載の画像形成装置。
【請求項5】
認証要素の1つとしてソフトウェアトークン認証を設定している前記第2認証手段は、前記第2認証手段の多要素認証の実行が有効にされたことに伴い、前記シークレットを電子通信手段で送信する、もしくは前記シークレットを印刷することを特徴とする請求項3または4に記載の画像形成装置。
【請求項6】
前記第1認証手段および/または前記第2認証手段は、一般ユーザとしてローカルアクセスもしくはリモートアクセスしてきた際には多要素認証は実行せず、管理者ユーザとしてローカルアクセスもしくはリモートアクセスしてきた際には多要素認証を実行させることを特徴とする請求項1乃至5の何れか1項に記載の画像形成装置。
【請求項7】
前記第1認証手段および/または前記第2認証手段は、多要素認証の認証要素の1つにおいて、当該認証要素の認証情報が設定されていない場合は、前記認証情報を設定させずにアクセスを禁止することを特徴とする請求項1乃至6の何れか1項に記載の画像形成装置。
【請求項8】
印刷機能を少なくとも含む機能を備えた画像形成装置の制御方法であって、
前記画像形成装置のローカルUI機能へのローカルアクセスに対し認証を実行させる第1認証ステップと、
前記画像形成装置のリモートUI機能へのリモートアクセスに対し認証を実行させる第2認証ステップと、を含み、
前記第1認証ステップおよび前記第2認証ステップとも多要素認証に対応し、前記第2認証ステップでの認証要素は前記第1認証ステップでの認証要素には含まれていないソフトウェアトークン認証が含まれており、前記リモートアクセスされた際に前記ソフトウェアトークン認証の認証情報が有効化されていない場合にソフトウェアトークンを発行させるためのシークレットを提供することを特徴とする制御方法。
【請求項9】
請求項8に記載の制御方法を画像形成装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、多要素認証機能を備えた画像形成装置、画像形成装置の制御方法およびプログラムに関する。
【背景技術】
【0002】
近年、サイバー攻撃が高度化しており、その対策として多要素認証の導入が進んでいる。多要素認証の要素には、「知識情報」、「所持情報」、「生体情報」の3つの要素がある。「知識情報」とは、本人しか知らない情報であり、例えば、パスワード・暗証番号等である。「所持情報」とは、本人しか持っていないICカードやハードウエアトークン(ワンタイムパスワード)である。「生体情報」とは、本人が有する生物固有の情報・特性であり、指紋、静脈、顔等である。
【0003】
これら「知識情報」、「所持情報」、「生体情報」を複数組み合わせて認証を行う多要素認証を用いることで、サイバー攻撃に対抗し、システムの不正利用リスクを低減することができる。オフィスに設置された画像形成装置の操作パネルを利用する際のユーザ認証手段としては、社員証として配布されたICカードを使用してユーザ認証を行う手段が提供されている。ICカードを翳すだけで、ユーザ認証が完了する為、利便性が良く広く普及している。
【0004】
また、「所持情報」であるICカードと「知識情報」である暗証番号やパスワードを組み合わせた多要素の認証手段を提供している画像形成装置がある。また、「所持情報」であるICカードと生体認証などを組み合わせた多要素認証手段を提供する画像形成装置がある(特許文献1を参照)。
【0005】
また、画像形成装置は、PC端末(パーソナルコンピュータ端末)のウェブブラウザからアクセス可能なWebサーバ機能を備えている。この為、ユーザは、PC端末のウェブブラウザを用いて、画像形成装置にリモートアクセスし、HTMLで作成されたユーザインタフェースを操作することができる。以下、前記HTMLで作成されたユーザインタフェースをリモートUIと呼称する。一般に、画像形成装置のリモートUIを利用するユーザの認証手段としてIDとパスワードなどの「知識情報」が用いられる。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
画像形成装置の操作パネルを利用する際の多要素認証手段として、「所持情報」であるICカードと「知識情報」暗証番号やパスワードを組み合わせた多要素の認証手段がある。しかしながら、リモートUIに対しては多要素認証手段が提供されていないという課題がある。さらに、リモートUIを利用するPC端末には画像形成装置のローカルUIを利用する際に利用される認証機能が備わってないことがある。例えば、PC端末にはICカードの読み取り装置が備わっていない場合が多く、リモートUIを利用する際の多要素認証手段としてICカード認証が利用できないという課題がある。
【0008】
本発明は、上記課題を鑑みてなされたもので、リモートアクセスするユーザに対し、ローカルアクセスの多要素認証手段に採用される認証要素とは異なる認証要素を確立し、サイバー攻撃に対抗したセキュリティを備える画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決する為、本発明の一実施形態における画像形成装置は、印刷機能を少なくとも含む機能を備えた画像形成装置であって、前記画像形成装置へのローカルアクセスに対し認証を実行する第1認証手段と、前記画像形成装置へのリモートアクセスに対し認証を実行する第2認証手段と、を有し、前記第1認証手段および前記第2認証手段とも多要素認証に対応し、前記第2認証手段の認証要素は前記第1認証手段の認証要素には含まれていないソフトウェアトークン認証が含まれており、前記リモートアクセスされた際に前記ソフトウェアトークン認証の認証情報が有効化されていない場合にソフトウェアトークンを発行させるためのシークレットを提供することを特徴とする。
【発明の効果】
【0010】
本発明により、リモートアクセスするユーザに対し、ローカルアクセスの多要素認証手段に採用される認証要素とは異なる認証要素を確立し、サイバー攻撃に対抗したセキュリティを備える画像形成装置を提供できる。
【図面の簡単な説明】
【0011】
【
図4】ユーザ認証設定のユーザインタフェースを示す図である。
【
図5】ユーザ管理のユーザインタフェースを示す図である。
【
図6】マイプロファイル編集のユーザインタフェースを示す図である。
【
図7】ローカルUIにおけるICカード認証時の動作フロー示すフローチャートである。
【
図8】ローカルUIが操作パネル205に表示する画面と画面遷移を示す図である。
【
図9】リモートUIにおけるユーザ認証時の動作フロー示すフローチャートである。
【
図10】リモートUIがPCのウェブブラウザに提供する画面と画面遷移を示す図である。
【
図11】ローカルUIが操作パネル205に表示する画面と画面遷移を示す図である。
【
図12】実施形態2におけるユーザ管理のユーザインタフェースを示す図である。
【発明を実施するための形態】
【0012】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例1】
【0013】
本発明を適用した画像形成装置の例として、オフィスに設置されたコピー、プリント、スキャン、などの機能を備えたMFP(Multifunction Peripheral)を例に本発明の実施例について説明する。
【0014】
<システム構成>
図1を参照して本実施例のオフィス環境におけるネットワーク構成について説明する。MFP101は、印刷機能を少なくとも含んだMFPであり、本発明を適用したMFPである。MFP101は、ネットワークLAN103を介して接続されるPC端末(例えばPC102)と通信を行う。ユーザは、PC端末のウェブブラウザからMFP101へアクセスして、MFP101のリモートUIを利用することができる。また、MFP101は、端末(例えばPC102)からプリントジョブを受信することができる。
【0015】
ユーザは、各自1つ以上のモバイル端末104を所有する。本実施例を実施する上で、モバイル端末は、ネットワークLAN103に接続されている必要は無い。モバイル端末104には後述するTOTP(Time-based One-time Password)に対応したモバイルアプリケーションがインストールされており、ワンタムパスワードを生成する為に使用される。このワンタイムパスワードはユーザが所持するモバイル端末を介して発行されるので、ソフトウェアトークン認証は所持情報の認証であり多要素認証の認証要素の1つである。不図示だが、オフィス環境には、同構成の他のMFPやPC端末、モバイル端末が複数存在するものとする。
【0016】
<ハードウェア構成>
図2は、MFP101のハードウェア構成を示す簡略図である。CPU201はMFP101全体の動作を制御する中央演算装置(プロセッサ)である。RAM(Random Access Memory)203は揮発性メモリであり、ワークエリアであり、ROM202及びHDD204に格納された各種制御プログラムを展開するための一時記憶領域として用いられる。
【0017】
ROM202は不揮発性メモリであり、MFP101のブートプログラムなどが格納されている。HDD204はRAM203と比較して大容量な不揮発性のハードディスクである。HDD204には、MFPの制御用プログラムが格納されている。また、OS(Operating System)やアプリケーションプログラムもHDD204に格納されている。
【0018】
CPU201はMFP101の起動時、ROM202に格納されているブートプログラムを実行する。このブートプログラムは、HDD204に格納されているOS(Operating System)のプログラムを読み出し、RAM203上に展開するためのものである。CPU201はブートプログラムを実行すると、続けてRAM203上に展開したOSのプログラムを実行し、MFP101の制御を行う。また、CPU201は制御用プログラムによる動作に用いるデータもRAM203上に格納して読み書きを行う。
【0019】
なお、MFP101は、1つのCPU201が後述するフローチャートに示す各処理を実行するものとするが、他の態様であっても構わない。例えば、複数のCPUやマイクロプロセッサ(MPU)が協働して後述するフローチャートに示す各処理を実行するようにすることもできる。また、後述する処理の一部をASIC(ApplICation SpecifIC Integrated CircUIt)やFPGA(Field-Programmable Gate Array)等のハードウェア回路を用いて実行するようにしても良い。
【0020】
操作パネル205は、タッチ操作可能なディスプレイである。プリンタ206は、通信部208を介して外部から受信した印刷データやスキャナ207から取得したデジタルデータをプリントするプリンタエンジンである。スキャナ207は、紙原稿を読み取ってデジタルデータ化するスキャナ装置である。通信部208は、インターネットやオフィスのLAN(Local Area Network)に接続する為のネットワークインタフェースである。ICカードリーダ209は、ICカードからユーザ認証に使用する情報を読み出す為の装置であり、ICカード認証を実現するために必要なユニットである。
【0021】
<ソフトウェア構成>
図3は、MFP101のソフトウェア構成を示す簡略図である。MFP101のローカルUI301は、操作パネル205のディスプレイを用いて、ローカルアクセスするユーザがMFP101の設定変更や機能を利用する為のユーザインタフェースを提供する。リモートUI302は、HTTP(Hypertext Transfer Protocol)サーバ機能を有する。そして、リモートアクセスするユーザに、HTML(HyperText Markup Language)で構成されるユーザインタフェースをユーザに提供する。
【0022】
ユーザは、PC端末のウェブブラウザを利用してリモートUI302にアクセスし、MFP101の設定変更や機能を利用することができる。PC端末のウェブブラウザはHTMLで構成されるユーザインタフェースを表示する。ユーザはこのウェブブラウザに表示されたユーザインタフェースを操作することで設定変更や機能を利用する。
【0023】
ユーザ認証サービス303は、ローカルUI301やリモートUI302を利用するユーザを認証するソフトウェアモジュールである。ユーザ認証サービス303は、ローカルUI301を利用するユーザをICカードや暗証番号で認証する。また、リモートUI302を利用するユーザをユーザ名、パスワード、ワンタイムパスワードで認証する。ICカードリーダドライバ304は、ICカードリーダ209を制御するドライバであり、ICカードから情報を取得して、ユーザ認証サービス303にICカード情報を提供する。
【0024】
<ワンタイムパスワード>
本実施例で使用するワンタイムパスワードについて説明する。ワンタイムパスワードの生成方法については、RFC6238 に規定されたTOTP(Time-based One-time Password)を利用することができる。この方式では、ユーザ毎に生成したTOTPのシークレットと時刻情報を使用して認証情報であるワンタイムパスワードを生成する。TOTPのシークレットは、乱数である。近年、TOTPに対応したモバイルアプリケーション(スマートフォンのアプリケーション)が普及している。例えば、Google社のGoogle Authenticator(登録商標)や、マイクロソフト社のMicrosoft Authenticator(登録商標)などがある。TOTPに対応したモバイルアプリケーションにTOTPシークレットを文字列で登録したり、TOTPシークレット情報を含むQRコードをモバイルアプリケーションで撮影したりすることにより、TOTPシークレットがモバイルアプリケーションに記憶される。これにより、TOTPシークレット発行者と、モバイルアプリケーション間でTOTPシークレットを共有する。TOTPに対応したモバイルアプリケーションは、TOTPシークレットと時間を元にワンタイムパスワードを生成する。
【0025】
また、TOTPに対応したモバイルアプリケーションの他に、PCのウェブブラウザの拡張機能としてインストール可能なTOTPに対応したプラグインなどがある。本実施例においては、TOTPシークレット発行者は、ユーザ認証サービス303である。MFP101を利用する各ユーザは、各自、TOTPに対応したモバイルアプリケーションやウェブブラウザのプラグインを利用するものとする。一般にモバイルアプリケーションやウェブブラウザのプラグインのようにソフトウェアを用いて生成するワンタイムパスワードをソフトウェアトークンと呼称される。そして、ソフトウェアトークンを利用した認証方式をソフトウェアトークン認証と称する。
【0026】
本実施例では、ユーザ操作を検知したローカルUI301やリモートUI302から要求を受けて、ユーザ認証サービス303が、TOTPシークレットの生成、ワンタイムパスワードの生成、ワンタイムパスワードの照合を行うものとする。
【0027】
また、本実施例では、後述のユーザ情報テーブルに、アカウントに関連付いたTOTPシークレットが記録された状態をワンタイムパスワード有効状態とし、TOTPシークレットが記録されていない状態をワンタイムパスワード無効状態と判定する。
【0028】
<ユーザ情報>
ユーザ認証サービス303が管理するユーザ情報について説明する。ユーザ認証サービス303は、ユーザ情報を表1に示すようなユーザ情報テーブルに記憶して管理する。ユーザ情報テーブルは、HDD204に記録されるデータベースである。なお、通信経路やストレージの暗号化や改ざん防止を施した上でネットワーク上の他のノードのデータベースを利用しても良い。ユーザ情報テーブルには、ICカード認証に使用するカードID、暗証番号、パスワード、TOTPのシークレット、ユーザのロール、メールアドレスなど認証情報を始めとするユーザ個人の情報を記録する。
【0029】
【0030】
ロールは、ユーザのMFP101に対する使用権限を示す情報である。各ロールと使用権限の例を下記のロール情報テーブル(表2)に示す。MFP101が工場出荷時から備えるロールの定義に加えて、ユーザが詳細な使用権限を設定して新しいロールを作成できるようにしても良い。なお、表2の設定変更とは、後述するユーザ認証設定、およびユーザ管理などと言ったMFP101に設定される値を変更する行為を指す。なお、MFP101のネットワーク設定や印刷機能設定など多種多様の設定も変更できても良い。Administratorは管理者ユーザに与えられるロールであり、GeneralUserおよび/またはLimitedUserは一般ユーザに与えられるロールである。
【0031】
【0032】
<ユーザ認証設定>
次に、MFP101が備えるユーザ認証設定について説明する。
図4は、リモートUI302が提供するMFP101のユーザ認証設定のUI(ユーザーインタフェース)の例である。リモートUI302のみならず、ローカルUI301にて同様のUIを管理者向けに提供するようにしても良い。
【0033】
401は、ユーザ認証設定を行う画面全体を示す。Administratorロールをもつ管理者のみがアクセスすることができる。402は、ローカルUI301に関するユーザ認証設定である。403は、リモートUI302に関するユーザ認証設定である。
【0034】
404は、ローカルUIの認証設定であり、「認証なし」「ICカード認証」の選択肢を提供する。「ICカード認証」が選択された場合は、更に、「多要素認証(暗証番号)の使用」405の設定を提供する。「多要素認証(暗証番号)の使用」は、次の選択肢をユーザに提供する。「強制しない」、「管理者のみ 暗証番号の使用を強制する」、「すべてのユーザに暗証番号の使用を強制する」。
【0035】
「強制しない」が選択されている場合、ICカード認証時は、ユーザアカウントと関連付けて暗証番号が予め記録されている場合は、暗証番号の入力をユーザに求める。暗証番号が記録されていない場合は、ユーザに暗証番号の入力を求めることなく、ICカード認証の成功のみで、ユーザをローカルUI301へログインさせる動作を行う。
【0036】
「管理者のみ 暗証番号の使用を強制する」もしくは、「すべてのユーザに暗証番号の使用を強制する」が選択されている場合、更に、「暗証番号未設定ユーザのログイン」設定406の設定を求める。「暗証番号未設定ユーザのログイン」は、暗証番号の使用を強制する対象のアカウントに関連付けて暗証番号が記録されていない状態で、該アカウントのユーザがICカード認証を試行した場合の動作を規定する設定である。次の選択肢を提供する。「ICカード認証時に暗証番号を設定する」、「ローカルUIのログインを禁止する」。
【0037】
407「多要素認証(ワンタイムパスワード)の使用」は、リモートUIの多要素認証設定である。次の選択肢をユーザに提供する。「強制しない」、「管理者のみ ワンタイムパスワードの使用を強制する」、「すべてのユーザにワンタイムパスワードの使用を強制する」。
【0038】
「強制しない」が選択されている場合、リモートUIにアクセスするユーザをユーザ名とパスワードを用いて認証する。ワンタイムパスワードの使用をする・しない、各ユーザの任意である。ユーザがワンタイムパスワードを有効済みの場合は、ユーザ名・パスワードの認証に加えて、ワンタイムパスワードの入力をユーザに求める。ワンタイムパスワードが有効化されていない場合は、ユーザにワンタイムパスワードの入力を求めることなく、ユーザ名・パスワードの認証の成功のみで、ユーザをリモートUI302へログインさせる動作を行う。
【0039】
「管理者のみ ワンタイムパスワードの使用を強制する」もしくは、「すべてのユーザにワンタイムパスワードの使用を強制する」が選択されている場合、更に、「ワンタイムパスワード未設定ユーザのログイン」408の設定を求める。「ワンタイムパスワード未設定ユーザのログイン」は、ワンタイムパスワードを予め有効化していない状態で、該アカウントのユーザがリモートUI302へのユーザ認証を試行した場合の動作を規定する設定である。次の選択肢を提供する。「リモートUIログン時にワンタイムパスワードを設定する」、「リモートUIのログインを禁止する(次回、ローカルUIログイン時にローカルUIで設定する)」。
【0040】
本実施例では、ローカルUIとリモートUIにそれぞれ対して、多要素認証の設定を個別に設けているが、ローカルUIとリモートUI両方に適用する共通の設定として1つの多要素認証設定を設けても良い。この場合、認証手段は問わず、多要素認証の強制に対する設定として、「強制しない」「管理者のみ多要素認証を強制する」「すべてのユーザに多要素認証を強制する」を設ける。また、多要素認証未設定のユーザに対して、「ログイン時に設定する」「ログインを禁止する」を選択できるようにする。
【0041】
<ユーザ管理>
図5は、リモートUI302が提供するMFP101のユーザアカウントを管理するUIの例である。リモートUI302のみならず、ローカルUI301にて同様のUIを管理者向けに提供するようにしても良い。
【0042】
501は、ユーザアカウントの一覧を管理するユーザ管理画面である。Administratorロールをもつ管理者のみがアクセスすることができる。ユーザ管理画面501では、新規のユーザカウントを登録したり、登録済みのアカウントを選択して編集・削除したりできる機能を提供する。例えば、「Admin」が、ユーザ管理画面501において、「Alice」のアカウントを選択して、編集ボタンを押下した場合、リモートUI302は、ユーザ編集画面502を表示する。ユーザ編集画面502では、パスワード、暗証番号、カードID、メールアドレス、ロールなどを編集して保存することができる。また、ユーザ編集画面502では、リモートUIのユーザ認証に使用するワンタイムパスワードの状態(有効/無効)を表示する。管理者は、ユーザ編集画面502において、ワンタイムパスワードを初期化(無効化)することができる。ユーザ編集画面502では、ワンタイムパスワードの有効化機能は提供しない。
【0043】
<マイプロファイルの編集>
図6は、リモートUI302が提供するマイプロファイルを編集するUIの例である。マイプロファイル編集画面601は、リモートUI302にログインしたユーザが自身のアカウントの情報を確認・編集する為のUIである。リモートUI302にログイン可能なすべてのユーザに提供する。リモートUI302のみならず、ローカルUI301にて同様のUIを提供するようにしても良い。マイプロファイル編集画面601では、パスワード・暗証番号・メールアドレスを編集して、保存することができる。ユーザは、自分自身のロールは変更できない。なお、暗証番号はローカルUIで使うことを本実施例では想定しており、場合によっては、暗証番号はリモートUI302からは設定できない、もしくは設定しなくても良いものとする。
【0044】
マイプロファイル編集画面601では、リモートUIのユーザ認証に使用するワンタイムパスワードの状態の確認と、有効化、無効化を行う機能を提供する。有効化ボタン602の押下を検知した場合、リモートUI302は、ユーザ認証サービス303を介して、TOTPシークレットを含むQRコードを生成し、ワンタイムパスワードの有効化画面603を表示する。QRコードには、下記のような文字列のフォーマットである。QRコードにはTOTPシークレット発行者であるMFP101の識別子、ユーザアカウント名、TOTPシークレット、ワンタイムパスワード生成に関するアルゴリズム、ワンタイムパスワードの文字長、有効期間(秒)などを含める。
otpauth://totp/MFP101:alice@canon.com?secret=GVQYVMXCE5KDCMXUKQIKLZJEHCDYHLHG&issuer=MFP101&algorithm=SHA1&digits=6&period=30
【0045】
ユーザが、モバイル端末104のTOTPに対応したモバイルアプリケーションを用いて、QRコードを撮影する。モバイルアプリケーションは、QRコードからTOTPシークレットを含む情報を取得する。モバイルアプリケーション側はQRコードから取得した情報と時刻情報を用いて、RFC6238に規定された方法を用いて、ワンタイムパスワードを生成し、モバイルアプリケーションのスクリーン上に表示を行う。ワンタイムパスワードの有効化画面603では、ユーザがモバイルを用いて、正しくワンタイムパスワードを生成できていることを確認する為、ワンタイムパスワードの入力を求める。ワンタイムパスワードの有効化画面603にワンタイムパスワードが入力された場合、リモートUI302は、ユーザ認証サービス303へ照合を依頼する。
【0046】
ユーザ認証サービス303は、RFC6238に規定された方法を用いて、現在の時刻情報とTOTPシークレットを用いて、ワンタイムパスワードを生成し、入力されたワンタイムパスワードと照合を行う。ワンタイムパスワードは30秒毎に変化する。モバイルとMFP101の時刻設定の差分を許容する為、30秒前、30秒後のワンタイムパスワードも算出して、複数のワンタイムパスワードと比較検証するようにしても良い。ワンタイムパスワードの照合に成功した場合、ユーザ認証サービス303は、TOTPシークレットをアカウントと関連付けてユーザ情報テーブル(表1)に記憶して、ワンタイムパスワードの有効化処理を完了する。設定やユーザ情報テーブルは、HDD204に記憶され、動作実行時に参照される。
【0047】
<ログイン動作>
次に、ユーザがMFP101へログインする際の動作を、フローチャートを参照して説明する。なお、本実施例では、下記のフローに示す手順が、ローカルUI301、リモートUI302、ユーザ認証サービス303、ICカードリーダドライバ304のソフトウェアプログラムに記録されている。ソフトウェアプログラムは、ROM202、HDD204などの不揮発性のストレージに記憶されており、RAM203にロードされ、CPU201によってフローチャートに示すフローが実行される。また、ローカルUI301、リモートUI302、ユーザ認証サービス303、ICカードリーダドライバ304は互いにAPI(Application Programming Interface)を提供し、APIを使用することで協調して動作する。動作フローの説明の中では、APIの呼び出しに関しては省略する。
【0048】
<ローカルUIのログイン動作フロー>
図7と
図8を参照して、ローカルUIのログイン時の動作フローを説明する。
図7は、ローカルUIにおけるICカード認証時の動作フロー示すフローチャートである。
図8はローカルUIが操作パネル205に表示する画面と画面遷移を示す図である。
【0049】
ローカルUIの認証設定404において、「ICカード認証」が設定されている場合、MFP101は起動すると、ローカルUI301が、操作パネル205に、ICカード認証画面801を表示する。ユーザ認証サービス303は、ICカードリーダドライバ304を用いてICカードリーダ209を稼働し、ICカードを検知可能な状態する。
【0050】
ユーザ認証サービス303は、ICカードリーダドライバ304を介して、ICカードリーダ208にICカードが翳されたことを検知する(S701)。ユーザ認証サービス303は、検知したICカードのカードIDを取得して、ユーザ情報テーブル(表1)に登録されたICカードと照合を行うことでICカードを認証し、結果を判定する(S702)。未登録のカードIDの場合は、認証エラーを表示した後に、再びICカード認証画面801を表示する。登録されたカードIDと照合が成功した場合、カードIDに関連付くアカウントを特定する。
【0051】
次に、前記特定したアカウントの暗証番号を参照し、暗証番号が登録済みか否かを判定する(S703)。暗証番号が登録済みの場合、暗証番号入力画面802を表示して、暗証番号の入力を求める(S704)。次に入力された暗証番号をユーザ認証サービス303が照合し、暗証番号を認証し、結果を判定する(S705)。入力された暗証番号が正しい場合、ユーザをMFP101へログインさせる処理を実施する(S706)。暗証番号の照合に失敗した場合、暗証番号が一致しない旨をメッセージ表示でユーザに伝えると供に、再び暗証番号入力画面802を表示して暗証番号の再入力を求める。一定回数以上、入力ミスが続いた場合、攻撃を受けていると判断して、アカウントを一定時間ロックアウトする。
【0052】
S706において、ユーザ情報テーブル(表1)とロール情報テーブル(表2)を参照してログインさせるユーザのロールとロールに関連づく権限を付与して、ユーザをMFP101へログインさせる制御をおこなう。ローカルUI301が提供するMFP101の機能を利用させる為のメニュー画面803を表示して、ログイン動作を終了する。メニュー画面803の表示において、利用権限のない機能をグレーアウトして選択できないようにする制御をおこなう。
【0053】
S703において、暗証番号が登録されていないと判定した場合、次に、HDD204に記憶された「多要素認証(暗証番号)の使用」405の設定と、特定したアカウントのロールを参照する。前記情報を参照して、ログインしようとしているアカウントに対して、暗証番号の使用が強制されているか否を判定する(S707)。例えば、「管理者のみ 暗証番号の使用を強制する」が設定されており、ICカード認証により特定したユーザのアカウントのロールがAdministratorであった場合には、暗証番号の使用が強制されていると判定する。暗証番号の使用が強制されていない場合、ユーザをMFP101へログインさせる処理を実施する(S706)。
【0054】
暗証番号の使用が強制されている場合、次に、HDD204に記憶された「暗証番号未設定ユーザのログイン」406を参照し、暗証番号未設定のユーザに対する対応を判定する(S708)。「ICカード認証時に暗証番号を設定する」が設定されている場合、暗証番号登録画面804を表示して、暗証番号の登録をユーザに求める(S709)。次に暗証番号の登録成否を判定し(S710)、正常に暗証番号が登録できたことを確認した場合、ユーザをMFP101へログインさせる処理を実施する(S706)。暗証番号の登録を拒否した場合は、再びICカード認証画面801を表示する(S711)。S707の判定において、「ローカルUIのログインを禁止する」が設定されている場合、暗証番号未登録の為、ログインできない旨をエラー画面805に表示する(S712)。エラー画面805が閉じられた場合、再びICカード認証画面801を表示する(S711)。
【0055】
<リモートUIのログイン動作フロー>
図9と
図10を参照して、リモートUIのログイン時の動作フローを説明する。
図9は、リモートUIにおけるユーザ認証時の動作フロー示すフローチャートである。
図10はリモートUIがPCのウェブブラウザに提供するHTMLで作成した画面と画面遷移を示す図である。
【0056】
リモートUI302は、リモートUI302にアクセスを検知すると、リモートUIのログイン画面1001を提供し表示させる。リモートUI302は、ユーザが、ユーザ名とパスワードが入力され、ログインボタンが押下されることにより、ログイン操作を検知する(S901)。ユーザ認証サービス303は、ユーザ情報テーブル(表1)を参照して入力されたユーザ名とパスワードを照合することでユーザを認証する(S902)。照合に失敗した場合は、認証エラーを表示後に、再びユーザ名・パスワードの入力を求めるログイン画面1001を表示する。ユーザ名・パスワードの照合が成功した場合、照合に成功したアカウントを特定する。
【0057】
次に、前記特定したアカウントのユーザ情報テーブル(表1)のTOTPのシークレットを参照し、TOTPのシークレットが登録済みか否かを判定する(S903)。TOTPのシークレットが登録済みの場合、ワンタイムパスワードが有効化済みと判断し、ワンタイムパスワード入力画面1002を表示して、ワンタイムパスワードの入力を求める(S904)。次に、入力されたワンタイムパスワードを、ユーザ認証サービス303が時刻情報とTOTPのシークレットから算出したワンタイムパスワードと照合し、ワンタイムパスワードを認証する(S905)。
【0058】
入力されたワンタイムパスワードが正しい場合、ユーザをMFP101へログインさせる処理を実施する(S906)。ワンタイムパスワードの照合に失敗した場合、ワンタイムパスワードが一致しない旨をメッセージ表示でユーザに伝えると供に、再びワンタイムパスワード入力画面1002を表示させてワンタイムパスワードの再入力を求める。一定回数以上、入力ミスが続いた場合、攻撃を受けていると判断して、アカウントを一定時間ロックアウトする。
【0059】
S906において、ユーザ情報テーブル(表1)とロール情報テーブル(表2)を参照してログインさせるユーザのロールとロールに関連づく権限を付与して、ユーザをMFP101へログインさせる制御をおこなう。リモートUI302が提供するMFP101の機能を利用させる為のメニュー画面1003を表示して、ログイン動作を終了する。メニュー画面1003の表示において、利用権限のない機能をグレーアウトして選択できないようにする制御をおこなう。
【0060】
S903において、TOTPのシークレットが登録されておらず、ワンタイムパスワードが有効化されていないと判定した場合、HDD204に記憶された「多要素認証(ワンタイムパスワード)の使用」407の設定と、特定したアカウントのロールを参照する。前記情報を参照して、ログインしようとしているアカウントに対して、ワンタイムパスワードの使用が強制されているか否を判定する(S907)。例えば、「管理者のみ ワンタイムパスワードの使用を強制する」が設定されており、ユーザ名・パスワードの認証により特定したユーザのアカウントのロールがAdministratorの場合、ワンタイムパスワードの使用が強制されていると判定する。
【0061】
ワンタイムパスワードの使用が強制されていない場合、ユーザをMFP101へログインさせる処理を実施する(S906)。ワンタイムパスワードの使用が強制されている場合、次に、HDD204に記憶された「ワンタイムパスワード未設定ユーザのログイン」408を参照し、ワンタイムパスワード未設定のユーザに対する対応を判定する(S908)。「リモートUIログイン時にワンタイムパスワードを設定する」が設定されている場合、ワンタイムパスワード有効化画面1004を表示させる。これはリモートアクセスに対するレスポンスである。
【0062】
ワンタイムパスワード有効化画面1004では、ユーザがモバイルを用いて、正しくワンタイムパスワードを生成できていることを確認する為、ワンタイムパスワードの確認入力を求める(S909)。次に確認ボタンの押下を検知すると、入力されたワンタイムパスワードを照合して、ワンタイムパスワードが正しい場合は、TOTPシークレットをユーザ情報テーブル(表1)に記録して有効化を完了する。
【0063】
ワンタイムパスワードの有効化成否を判定し(S910)、正常にワンタイムパスワードが有効化できたことを確認した場合、ユーザをMFP101へログインさせる処理を実施する(S906)。ユーザがワンタイムパスワードの有効化を拒否するため、キャンセルボタンの押下を検知した場合は、再びリモートUIのログイン画面1001を表示させる(S911)。S908の判定において、「リモートUIのログインを禁止する(次回、ローカルUIログイン時にローカルUIで設定する)」が設定されている場合、「ワンタイムパスワードが有効化されていないため、ログインできない」旨をエラー画面1005に表示させる。また、「操作パネルでワンタイムパスワードの有効化を行うことを推奨する」旨のメッセージもエラー画面1005に表示させる(S912)。エラー画面1005が閉じられた場合、再びリモートUIのログイン画面1001を表示させる(S911)。
【0064】
<ローカルUIにおけるワンタイムパスワード有効化動作>
「ワンタイムパスワード未設定ユーザのログイン」設定408の「リモートUIのログインを禁止する(次回、ローカルUIログイン時にローカルUIで設定する)」が設定されている場合のローカルUIのログイン時の動作について
図11を参照して説明する。
【0065】
ローカルUIのログインが成功した場合、
図7のログイン処理(S706)において、ログインするアカウントのユーザ情報テーブル(表1)のTOTPのシークレットを参照し、ワンタイムパスワードが有効化済みか否かを判定する。ワンタイムパスワードが有効化されていないと判定した場合、リモートUIのワンタイムパスワードの有効化を促す画面806を表示する。
【0066】
ユーザが「はい」を選択した場合、リモートUIのワンタイムパスワード有効化画面807を表示する。次に入力されたワンタイムパスワードを照合して、ワンタイムパスワードが正しい場合は、TOTPシークレットをユーザ情報テーブル(表1)に記録する。正常にワンタイムパスワードが有効化できたことを確認した場合、ユーザをMFP101へログインさせ、メニュー画面803を表示する。ローカルUIで、ワンタイムパスワードを有効化したユーザは、リモートUIへログインする際に、ワンタイムパスワード有効化済みと判定されるため、エラー画面1005ではなく、ワンタイムパスワード入力画面1002に進むことができるようになる。
【0067】
リモートUIのワンタイムパスワードの有効化を促す画面806にて「いいえ」が選択された場合、リモートUIのワンタイムパスワード有効化画面807を表示することなく、ユーザをMFP101へログインさせ、メニュー画面803を表示する。リモートUIを使用することがないために、リモートUIのワンタイムパスワードの有効化を行う意思がないユーザが存在する。このようなユーザには、ワンタイムパスワードの有効化を促す画面806に「今後、この画面を表示しない」を選択させて、ユーザ情報テーブル(表1)に記憶する。「今後、この画面を表示しない」を選択済みのユーザに対しては、TOTPシークレットが記録されていなくても、ワンタイムパスワードの有効化を促す画面806を表示しないように制御することができる。
【0068】
なお、ユーザは既に暗証番号を設定している前提で
図11の説明を行ったが、ユーザが暗証番号未設定の場合、暗証番号登録画面804からリモートUIのワンタイムパスワードの有効化を促す画面806へ遷移しても良い。
【0069】
<実施形態1の効果>
上記に説明した通り、本実施例に記載したMFP101は操作パネルへローカルアクセスするユーザに対してICカード認証と暗証番号からなる比較的、操作手番が少なく、利便性の高い多要素認証を提供することができる。
【0070】
ICカード認証を利用できないリモートアクセスに対しては、ローカルアクセスとは手段の異なる多要素認証手段を提供することによって、MFP101のセキュリティを高め、ユーザが安心してリモートアクセスを利用することができる。
【0071】
ローカルアクセスとリモートアクセスの多要素認証を強制する設定をそれぞれ設けた為、例えば、リモートアクセスのみ多要素認証を強制し、ローカルアクセスは強制しない運用が可能である。オフィスの入室管理など別の物理的手段により、操作パネルにアクセスできるユーザを限定している場合、前記のような運用が適している。このため、MFPが設置された環境に応じた設定を行うことができる。
【0072】
また、ユーザのロールに応じて、多要素認証を強制するか否かを設定で選択可能なように構成した。このため、管理者権限を持つユーザにのみ多要素認証を適用し、権限によってアクセスできる項目が限定されている一般ユーザには多要素認証を強制しない運用ができる。
【0073】
ローカルアクセスとリモートアクセスのユーザ認証手段は異なるが、同一のユーザであれば、同一のロール・権限でMFPを利用可能なように構成した。このため、アクセス手段の違いによる影響を受けることなく、MFPの機能を同じ権限で利用することができる。
【0074】
多要素認証の一要素目の認証は成功しているが、多要素認証の二要素目の認証設定が完了していない場合に、ログインを拒絶するか、その場で二要素目の認証設定が完了させるかを、予め設定によって管理者が選択できるように構成した。
【0075】
多要素認証は、管理者が多要素認証を強制する設定を行っても、各ユーザがMFPにログインせずに放置した場合、長期にわたって実質的な多要素認証が有効化されないリスクがある。二要素の目の認証を設定していないユーザのログインを拒絶する設定を行った場合、一要素目の認証要素(ICカードやパスワード)を不正に入手した攻撃者によって、不正にログインされるリスクをなくすことができる。
【0076】
ローカルアクセスの多要素認証の二要素目である暗証番号が未設定のユーザのログインを拒絶する設定を行う場合、多要素認証の使用を強制する設定を実施する前に、予めすべてのユーザの暗証番号を設定しておく必要がある。予めすべてのユーザの暗証番号を設定することが困難な場合、多要素認証の二要素目の認証設定が完了していないユーザがログインを試行した場合に、その場で二要素目の認証設定を完了させる運用を設定よって選択可能にした。
【0077】
リモートアクセス用の二要素目の認証(ワンタイムパスワード)が有効化されていない場合に、リモートアクセスのログインは拒絶しつつ、ローカルアクセスにより、リモートアクセス用の二要素目の認証(ワンタイムパスワード)を有効化できるように構成した。これにより、MFPの管理者は、リモートアクセスをしっかり二要素認証で保護しつつ、各ユーザにリモートアクセスの二要素目の認証の有効化手段を提供することができる。
【実施例2】
【0078】
実施例1においては、リモートアクセスの多要素認証の二要素目であるワンタイムパスワードの有効化をユーザ本人のみが可能なように構成した。このため、各ユーザがワンタイムパスワードの有効化を完了するまでは、単要素の認証のままになるリスクがある。また、実施形態1においては、ローカルアクセスで、リモートアクセス用の多要素認証を有効化する手段を提供したが、リモートにいるユーザがわざわざ、ローカルに赴き設定を行う必要があるのは利便性が悪い。
【0079】
このため、実施例2においては、管理者が他のユーザのワンタイムパスワードを強制的に有効化する手段を提供する。本実施形態では、実施形態1との差分のみ説明を記載する。
【0080】
図12は、管理者が他のユーザのワンタイムパスワードを強制的に有効化する手段を備えたユーザ管理画面を示す。
【0081】
リモートUI302に提供するユーザ管理画面501において、ユーザアカウントを選択して、編集ボタンを押下した場合、ユーザ編集画面502を表示する。例えば、「Admin」が、ユーザ管理画面501において、「Alice」のアカウントを選択して、編集ボタンを押下した場合を想定する。「Alice」のアカウントのワンタイムパスワードの状態が「無効」の場合、ユーザ編集画面502は、ワンタイムパスワードの「有効化」機能を提供する。
【0082】
リモートUI302は、「有効化」ボタンの押下を検知すると、TOTPシークレットの配布手段を選択する画面504を表示する。画面504では、TOTPシークレットの配布手段として、「メールで通知する」「プリントする」を選択することができる。
【0083】
「メールで通知する」を選択して「実行」ボタンを押下されたことを検知した場合、ユーザ認証サービス303が、TOTPシークレットを生成し、「Alice」のメールアドレスにTOTPシークレット文字列とQRコードの画像を送付する。メール送信の応答結果としてメールサーバから送信完了を受信した場合、ユーザ認証サービス303は、ユーザ情報テーブル(表1)にTOTPシークレットを保存して、有効化完了をリモートUI302に表示する(画面505)。なお、メール以外の電子通信、例えば、電話番号を用いたショートメッセージサービスなどであっても良い。OKボタンの押下を検知すると、ワンタイムパスワードの状態を無効から有効に変更して、ユーザ編集画面502を表示する。メール送信の応答結果としてメールサーバからエラーを受信した場合、ユーザ認証サービス303は、TOTPシークレットを破棄して、有効化できない旨をリモートUI302に表示する(画面506)。OKボタンの押下を検知すると、ワンタイムパスワードの状態を無効のままユーザ編集画面502を表示する。
【0084】
送信メールの例を
図13に示す。1301はメールのヘッダ部、1302は、メールの本文、1303は、添付部を示す。「Alice」は、メールから取得したTOTPシークレット文字列やQRコードとTOTPに対応したモバイルアプリケーションを使用して、ワンタイムパスワードを生成することができる。または、Alice専用の二要素認証を有効化するためのリモートUIが提供する画面のURLを作成して、メールで送付するようにしてもよい。「Alice」は、メールから取得したURLにアクセスすることによりTOTPシークレット文字列やQRコードを取得することができる。例えば、URLにアクセスできる期間を限定して、他人が「Alice」用のURLに不正にアクセスするリスクを低減する。
【0085】
画面504において、「プリントする」を選択して、「実行」ボタンを押下されたことを検知した場合、ユーザ認証サービス303が、TOTPシークレットを発行し、プリンタ206を使用して、TOTPシークレット文字列とQRコードを用紙にプリント出力する。プリントが成功した場合、ユーザ情報テーブル(表1)にTOTPシークレットを保存して、有効化完了をリモートUI302に表示する(画面505)。OKボタンの押下を検知すると、ワンタイムパスワードの状態を無効から有効に変更して、ユーザ編集画面502を表示する。用紙切れなどの理由により、プリントにユーザ認証サービス303は、TOTPシークレットを破棄して、有効化できない旨をリモートUI302に表示する(画面506)。OKボタンの押下を検知すると、ワンタイムパスワードの状態を無効のままユーザ編集画面502を表示する。
【0086】
プリントを行った「Admin」は、TOTPシークレット文字列とQRコードがプリントされた用紙を「Alice」に渡す運用を行う。Aliceは、入手した用紙にプリントされたTOTPシークレット文字列やQRコードとTOTPに対応したモバイルアプリケーションを使用して、ワンタイムパスワードを生成することができる。
【0087】
また、不図示だが、複数のユーザアカウントを選択して、一括して、強制的にワンタイムパスワードを有効化可能なようなにしてもよい。この場合、ユーザ認証サービス303は選択された複数ユーザのTOTPシークレット文字列、QRコード画像を一括して生成し、各ユーザのメールアドレスに送信するか、まとめてプリント出力を行う。
【0088】
<実施形態2の効果>
実施形態2においては、管理者が強制的にTOTPシークレットを発行して、配布できるように構成した。このため、管理者が多要素認証を強制する設定を行った後に、各ユーザが二要素認証の設定を行わずに放置するリスクを無くすことができる。
【0089】
また、一般ユーザは、自らMFPにアクセスしてUI操作を行うことなく、TOTPシークレット文字列やQRコード画像を入手することができるため、利便性が良い。また、メールや用紙は保存することが可能であるため、モバイル端末紛失時に、他のモバイル端末を使ってワンタイムパスワードを生成することができ、TOTPシークレット文字列やQRコード画像の所有により本人であることを証明することができる。
【0090】
[その他の実施例]
実施例1および2において、ローカルUIおよびリモートUIの二要素目の認証は、異なる認証方法とした。具体的には、前者は暗証番号、後者はTOTPに対応したワンタイムパスワードである。しかしながら、「知識情報」、「所持情報」、「生体情報」の複数の組み合わせを考慮せずに、例えば、複数の「所持情報」の組み合わせなどとすることも可能であり、ローカルUIの二要素目の認証をリモートUIと同じくTOTPに対応したワンタイムパスワードにしても良い。これは一要素目の認証に対しても同じことが言える。そのため、結果として、ローカルUIおよびリモートUIとも一要素目の認証がログインIDおよびパスワードによる認証で、二要素目の認証がTOTPに対応したワンタイムパスワードになる場合もあり得る。
【0091】
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステムまたは装置に提供し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0092】
301 ローカルUI
302 リモートUI
303 ユーザ認証サービス
304 ICカードリーダドライバ