(57)【要約】【課題】柔軟性のある認証機能を実現することのできる情報処理装置、認証制御方法、プログラム、及び記録媒体の提供を目的とする。【解決手段】情報処理装置は、外部デバイスと接続する第１の接続手段と、ユーザ情報を記憶するユーザ情報記憶手段と、ユーザ情報記憶手段が記憶するユーザ情報に基づきユーザ認証を実行する第１の認証手段と、ネットワークを介して認証装置と接続する第２の接続手段と、認証装置とネットワークを介した通信を行い、認証装置を用いたユーザ認証を実行する第２の認証手段と、外部デバイスから情報を受信する受信手段と、受信手段、第１の認証手段、及び第２の認証手段のうち、ユーザ認証の実行に利用する手段を登録する登録手段と、登録手段による登録に応じて、受付手段または受信手段により得た情報に基づくユーザ認証を、ユーザ情報記憶手段または認証装置を用いて実行する認証処理手段と、を備える。【選択図】図３
2013033486.tif 000002
【特許請求の範囲】
【請求項１】
操作入力に応じた情報を受け付ける受付手段と、
外部デバイスと接続する第１の接続手段と、
ユーザ情報を記憶するユーザ情報記憶手段と、
前記ユーザ情報記憶手段が記憶する前記ユーザ情報に基づきユーザ認証を実行する第１の認証手段と、
ネットワークを介して認証装置と接続する第２の接続手段と、
前記認証装置とネットワークを介した通信を行い、前記認証装置を用いたユーザ認証を実行する第２の認証手段と、
前記外部デバイスから情報を受信する受信手段と、
前記受信手段、前記第１の認証手段、及び前記第２の認証手段のうち、ユーザ認証の実行に利用する手段を登録する登録手段と、
前記登録手段による登録に応じて、前記受付手段または前記受信手段により得た前記情報に基づくユーザ認証を、前記ユーザ情報記憶手段または前記認証装置を用いて実行する認証処理手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記受付手段により得る前記情報は、パスワードであり、
前記外部デバイスは、記録媒体が記録する情報を読み取る読取手段であり、
前記受信手段により得る前記記録媒体が記録する情報は、前記読取手段により前記記録媒体から読み取った当該記録媒体の記録媒体識別情報であり、
前記認証処理手段は、前記登録手段による登録に応じて、前記受付手段により得た前記パスワード、および前記受信手段により得た前記記録媒体識別情報に基づくユーザ認証を実行することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記受付手段により得る前記情報は、ユーザ名およびパスワードであることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記外部デバイスは、記録媒体が記録する情報を読み取る読取手段であり、
前記受信手段により得る前記記録媒体が記録する情報は、前記読取手段により前記記録媒体から読み取った当該記録媒体の記録媒体識別情報であることを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記外部デバイスは、操作入力を受け付けるキーボードであり、
前記受信手段により得る前記情報は、前記キーボードが操作入力を介して受け付けたユーザ名およびパスワードであることを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記外部デバイスとの接続状態を監視する監視手段と、
前記認証処理手段によるユーザ認証の結果に基づきログインが成功した後に、前記監視手段が前記外部デバイスとの接続の切断を検知したことに応じてログアウトする制御手段と、
を備えることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項７】
操作入力に応じた情報を受け付ける受付手順と、
外部デバイスと接続する第１の接続手順と、
ユーザ情報記憶手段が記憶するユーザ情報に基づきユーザ認証を実行する第１の認証手順と、
ネットワークを介して認証装置と接続する第２の接続手順と、
前記認証装置とネットワークを介した通信を行い、前記認証装置を用いたユーザ認証を実行する第２の認証手順と、
前記外部デバイスから情報を受信する受信手順と、
前記受信手順、前記第１の認証手順、及び前記第２の認証手順のうち、ユーザ認証の実行に利用する手順を登録する登録手段と、
前記登録手順による登録に応じて、前記受付手順または前記受信手順により得た前記情報に基づくユーザ認証を、前記ユーザ情報記憶手順または前記認証装置を用いて実行する認証処理手順と、
をコンピュータが実行する認証制御方法。
【請求項８】
操作入力に応じた情報を受け付ける受付手順と、
外部デバイスと接続する第１の接続手順と、
ユーザ情報記憶手段が記憶するユーザ情報に基づきユーザ認証を実行する第１の認証手順と、
ネットワークを介して認証装置と接続する第２の接続手順と、
前記認証装置とネットワークを介した通信を行い、前記認証装置を用いたユーザ認証を実行する第２の認証手順と、
前記外部デバイスから情報を受信する受信手順と、
前記受信手順、前記第１の認証手順、及び前記第２の認証手順のうち、ユーザ認証の実行に利用する手順を登録する登録手段と、
前記登録手順による登録に応じて、前記受付手順または前記受信手順により得た前記情報に基づくユーザ認証を、前記ユーザ情報記憶手順または前記認証装置を用いて実行する認証処理手順と、
をコンピュータに実行させるプログラム。
【請求項９】
請求項８記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、認証制御方法、プログラム、及び記録媒体に関する。
【背景技術】
【０００２】
近年、情報セキュリティに対する標準、規格等を取得することは、企業として当然である時代となってきている。企業で日常的に使用されているＯＡ機器の使用形態につても、セキュリティの確保を望む声が多い。斯かる事情に鑑み、従来、画像形成装置（コピー、プリンタ、スキャナ、ＦＡＸ等の機能を有するＯＡ機器）においても、ユーザの認証機能が備わっている（ビルトインされている）ものが存在する。
【０００３】
ユーザ認証の際に入力されるユーザ情報（代表的なものとして、ユーザ名・パスワード等）は、セキュリティの観点より、ユーザが直接手で入力するものよりも、他者に見えないような形で入力されるものが望ましい。そこで、画像形成装置におけるユーザ認証の際に、外部デバイス（代表的なものとして、ＩＣカードが挙げられる。）を使用してユーザ情報を入力させるといったソリューションが展開されている（例えば、特許文献１〜３）。
【０００４】
他方において、画像形成装置のユーザ環境においては、既に独自の認証サーバ等を使用した認証システムが構築されていることが多い。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献に記載された技術では、ユーザ認証の際に、ＩＣカード及びその他の外部認証サーバ等と画像形成装置とが行う処理が固定化されている。また、使用可能な外部デバイスも固定的に制限されている。したがって、画像形成装置における認証機能（認証システム）と、ユーザ環境において既に存在する認証システムとがそれぞれ独立して存在し、システム構成が冗長になり、保守作業等を煩雑化させるという問題があった。
【０００６】
本発明は、上記の点に鑑みてなされたものであって、柔軟性のある認証機能を実現することのできる情報処理装置、認証制御方法、プログラム、及び記録媒体の提供を目的とする。
【課題を解決するための手段】
【０００７】
そこで上記課題を解決するため、情報処理装置は、外部デバイスと接続する第１の接続手段と、ユーザ情報を記憶するユーザ情報記憶手段と、前記ユーザ情報記憶手段が記憶する前記ユーザ情報に基づきユーザ認証を実行する第１の認証手段と、ネットワークを介して認証装置と接続する第２の接続手段と、前記認証装置とネットワークを介した通信を行い、前記認証装置を用いたユーザ認証を実行する第２の認証手段と、前記外部デバイスから情報を受信する受信手段と、前記受信手段、前記第１の認証手段、及び前記第２の認証手段のうち、ユーザ認証の実行に利用する手段を登録する登録手段と、前記登録手段による登録に応じて、前記受付手段または前記受信手段により得た前記情報に基づくユーザ認証を、前記ユーザ情報記憶手段または前記認証装置を用いて実行する認証処理手段と、を備えることを特徴とする。
【０００８】
このような情報処理装置では、柔軟性のある認証機能を実現することができる。
【発明の効果】
【０００９】
本発明によれば、柔軟性のある認証機能を実現することのできる情報処理装置、認証制御方法、プログラム、及び記録媒体を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。
【図２】本発明の実施の形態の画像形成装置の機能構成例を説明するための図である。
【図３】認証フレームワークに対するロジック実装モジュールの登録を概念的に示す図である。
【図４】ロジック実装モジュールの登録情報の例を示す図である。
【図５】認証フレームワークを用いてユーザ情報を取得する際の処理手順を説明するための図である。
【図６】認証フレームワークを用いて外部認証を行う際の処理手順を説明するための図である。
【図７】認証フレームワークを用いて本体認証を行う際の処理手順を説明するための図である。
【図８】認証フレームワークを用いた認証処理の第一の具体例における処理手順を説明するための図である。
【図９】認証フレームワークを用いた認証処理の第二の具体例における処理手順を説明するための図である。
【図１０】認証フレームワーク及びアプリケーションによるログイン状態の制御及び管理処理を説明するためのシーケンス図である。
【図１１】ハード的にログアウトが要求された際の処理手順を説明するためのシーケンス図である。
【発明を実施するための形態】
【００１１】
以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態では、情報処理装置の一例として画像形成装置を用いて説明する。図１は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図１において、画像形成装置１０は、プリンタ、コピー機、又は複合機等の一例であり、ＣＰＵ１０１、メモリ１０２、記録媒体１０３、ネットワークＩ／Ｆ１０４、画像出力部１０５、画像処理部１０６、外部デバイスＩ／Ｆ１０７、表示部１０８、及び操作部１０９等を有する。
【００１２】
画像形成装置１０での機能を実現するプログラムは、ＨＤＤ（Hard Disk Drive）等の不揮発性の記録媒体１０３に記録（インストール）される。記録媒体１０３は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。メモリ１０２は、プログラムの起動指示があった場合に、記録媒体１０３からプログラムを読み出して格納する。ＣＰＵ１０１は、メモリ１０２に格納されたプログラムに従って画像形成装置１０に係る機能を実現する。ネットワークＩ／Ｆ１０４は、ネットワークに接続するためのインタフェースとして用いられる。
【００１３】
表示部１０８は、ＬＣＤ（Liquid Crystal Display）等によって構成され、操作画面やメッセージ等を表示させる。操作部１０９は、ハード的なボタン（キー）によって構成され、ユーザによる操作入力を受け付ける。なお、表示部１０８及び操作部１０９は、オペレーションパネルとして一体的に構成されてもよい。
【００１４】
画像処理部１０６は、画像データを出力（印刷）等する際に必要とされる各種の画像処理を実行する。画像出力部１０５は、画像データの出力（印刷）を行う。
【００１５】
外部デバイスＩ／Ｆ１０７は、認証のためのユーザ情報の入力に用いられる外部デバイス３０と接続するためのインタフェースであり、例えば、ＵＳＢポート又はシリアルボート等によって構成される。外部デバイス３０は、ユーザ情報を入力するためのデバイスであり、例えば、ユーザ情報が記録されたＩＣカードを読み取るＩＣカードリーダー、ＵＳＢメモリ、又はキーボード等によって構成される。
【００１６】
図２は、本発明の実施の形態の画像形成装置の機能構成例を説明するための図である。図２において、画像形成装置１０は、本体機能部１１０、本体認証部１２０、フレームワーク１３０、及びアプリケーション１４０等を有する。これら各部は、プログラムがＣＰＵ１０１に実行させる処理によって実現されるソフトウェアである。
【００１７】
本体認証部１２０は、ユーザリスト１２１及びビルトイン認証処理部１２２等を含み、画像形成装置にビルトインされたユーザの認証機能を実現する。ビルトインされたユーザ認証機能とは、画像形成装置１０に予め組み込まれた認証機能をいい、画像形成装置１０上で動作するアプリケーション１４０を操作しようとしたユーザの認証を行う機能をいう。ビルトイン認証処理部１２２は、ビルトインされたユーザ認証処理を制御する。例えば、ビルトイン認証処理部１２２は、表示部１０８に、認証を促す認証画面を表示させる。ユーザは、認証画面においてユーザ情報（ユーザ名及びパスワード）を入力する。ビルトイン認証処理部１２２は、ユーザがユーザ情報に基づいて認証された場合にのみ、アプリケーション１４０の使用を許可する。
【００１８】
ユーザリスト１２１は、ユーザごとにユーザ情報及び利用権限情報が記録（登録）された情報である。すなわち、ビルトイン認証処理部１２２は、ユーザによって入力されたユーザ情報と、ユーザリスト１２１に登録されているユーザ情報とを照合することによりユーザの認証を行う。また、ビルトイン認証処理部１２２は、認証されたユーザについては、ユーザリスト１２１に登録されている利用権限情報において許可されている範囲内で、機能の利用を許可する。
【００１９】
画像形成装置１０には、以上のような認証機能が予め（デフォルトとして）ビルトインされている。
【００２０】
フレームワーク１３０は、アプリケーション１４０の実行環境を提供する。本実施の形態における画像形成装置１０は、その出荷後にサードベンダ等が開発したアプリケーションをアプリケーション１４０としてインストール可能とされている。フレームワーク１３０には、斯かるアプリケーションを動作させるための非図示のクラスライブラリ等を含む。
【００２１】
図中において、フレームワーク１３０の機能としては、外部デバイス制御部１３１、外部デバイス情報取得部１３２、外部認証処理部１３３、及び本体認証制御部１３４等、便宜上、認証機能に関するもののみが示されている。以下、認証機能に関するフレームワークを「認証フレームワーク」という。認証フレームワークは、画像形成装置１０において、認証機能の柔軟性及び拡張性を確保するための仕組みを提供する。「ビルトインされた認証機能」に対し、認証フレームワークによって実現される認証機能を、「拡張認証機能」という。
【００２２】
外部デバイス制御部１３１は、ＵＳＢインタフェースやシリアルインタフェース等を介して画像形成装置１０に接続される外部デバイス３０を制御し、外部デバイス３０との通信を行う。外部デバイス情報取得部１３２は、外部デバイス制御部１３１を介して外部デバイス３０よりにユーザ情報を取得する。外部認証処理部１３３は、ネットワークを介した認証サーバ等の外部の認証装置と通信を行い、例えば、認証サーバ等を用いた認証処理を制御する。なお、外部認証処理部１３３によって外部の認証装置を用いて行われる認証を「外部認証」という。本体認証制御部１３４は、画像形成装置１０内において認証処理を実現する。なお、本体認証制御部１３４によって画像形成装置１０内で行われる認証を「本体認証」という。
【００２３】
図中におけるアプリケーション１４０は、予め画像形成装置１０の標準機能として組み込まれているアプリケーション（例えば、印刷アプリケーション等）の他、フレームワーク１３０が提供する環境に対応させてサードベンダ等によって開発されたアプリケーションをも含む。したがって、図中では一つの矩形によって表現されているが、アプリーション１４０は、複数の実体が存在する。
【００２４】
ところで、図２において、認証フレームワークを構成する各部は、その仕組み（枠組み）を提供するだけであり、実際の処理（ロジック）は、拡張認証機能を利用するアプリケーション１４０（以下、「アプリケーション１４０ａ」という。）の登録処理部１４５によって登録される各ソフトウェアモジュール（以下「ロジック実装モジュール」という。）を使用することによって実現される。
【００２５】
図３は、認証フレームワークに対するロジック実装モジュールの登録を概念的に示す図である。図３において、アプリケーション１４０ａは、外部デバイス制御実装モジュール１４１、外部デバイス情報取得実装モジュール１４２、外部認証処理実装モジュール１４３、及び本体認証制御実装モジュール１４４等を含む。
【００２６】
外部デバイス制御実装モジュール１４１は、外部デバイス３０のインタフェースレベルでの通信処理が実装されるジュールであり、外部デバイス制御部１３１に登録される。例えば、外部デバイス制御実装モジュール１４１は、ユーザが使用するスマートカードリーダーのドライバプログラム等が相当する。このように、外部デバイス制御実装モジュール１４１の実装によって、任意の外部デバイス３０への対応が可能とされている。
【００２７】
外部デバイス情報取得実装モジュール１４２は、外部デバイス３０よりからの情報（ユーザ情報）の取得処理が実装されるモジュールであり、外部デバイス情報取得部１３２に登録される。例えば、ユーザのスマートカード内に記録されたユーザ情報を取得するために、スマートカードのフォーマットに従ったコマンドを送信して、レスポンスを受信する処理を実装したプログラムなどである。このように、外部デバイス情報取得実装モジュール１４２の実装によって、任意の外部デバイス３０からのユーザ情報の取得が可能とされている。
【００２８】
外部認証処理実装モジュール１４３は、外部の認証用のコンピュータ（認証サーバ等）を使用した、ユーザ情報の認証に関する処理が実装されるモジュールであり、外部認証処理部１３３に登録される。例えば、ＬＤＡＰ（Lightweight Directory Access Protocol）認証サーバにユーザのスマートカードより取得されたシリアル番号を送信して、該当ユーザのユーザ名を取得する処理が実装されたプログラム等が相当する。このように、外部認証処理実装モジュール１４３の実装によって、任意の認証プロトコルに対応することが可能とされている。
【００２９】
本体認証制御実装モジュール１４４は、本体認証を実現するための処理が実装されるモジュールであり、本体認証制御部１３４に登録される。例えば、ビルトインされた認証機能を利用して認証を行う際の認証画面遷移や、認証情報の入力処理が実装されるモジュールであり、「スマートカードをセットしてください」というメッセージ画面を表示させたり、スマートカードの検知に応じて「認証中です」というメッセージ画面に遷移させたりし、その間に、スマートカードより取得されたユーザ情報をビルトイン認証処理部１２２に入力する、というような処理が実装されたプログラム等が相当する。したがって、ビルトインされたユーザ認証を行う際の認証画面を、本体認証制御実装モジュール１４４の実装によって自由に設定できることが可能である。また、ビルトインユーザ認証機能を利用せずに、本体認証制御実装モジュール１４４内に別途認証機能が実装されてもよい。例えば、ユーザリスト１２１と異なるユーザＤＢを記録媒体１０３に構築し、当該ユーザＤＢを用いて認証を行うような処理が実装されてもよい。
【００３０】
なお、ビルトイン認証処理部１２２へのユーザ情報の入力後は、ビルトインユーザ認証部１２２がユーザ認証を実施して、認証が成功したときは画面ロックの解除し、認証が失敗したときは認証失敗画面を表示させる。画面ロックの解除により、ユーザは、アプリケーション１４０に対する操作が可能となる。
【００３１】
認証フレームワークに対する各ロジック実装モジュールの登録情報は、例えば、記録媒体１０３に記録されて管理される。図４は、ロジック実装モジュールの登録情報の例を示す図である。図４では、ロジック実装モジュールごとに登録情報が関連付けられた例が示されている。登録情報としては、ロジック実装モジュールの実体が格納されたファイル名等、認証フレームワークがロジック実装モジュールを動的に利用する（呼び出す）ために必要な情報が含まれていればよい。認証フレームワークの各部は、処理が要求された際、斯かる登録情報を参照して、呼び出すべきロジック実装モジュールを判断する。各ロジック実装モジュールは、認証フレームワークが要求する（認証フレームワークにおいて規定された）インタフェース（ロジック実装モジュールを呼び出すためのプロトコル）に基づいて動的に呼び出し可能なように実装されていればよい。なお、アプリケーション１４０ａごとに利用するロジック実装モジュールを変えたい場合は、図４に示されるような登録情報をアプリケーション１４０ａと関連付けて管理すればよい。
【００３２】
以上のようなロジック実装モジュールが認証フレームワークの各部分に登録されることで、ビルトインユーザ認証へのユーザ情報の入力手段に多様性を持たせることができる。  以下、本実施の形態における画像形成装置１０の処理手順について説明する。まず、認証フレームワークを利用したユーザ情報の取得、外部認証、及び本体認証の処理手順について、図５、図６、図７を用いて説明する。
【００３３】
図５は、認証フレームワークを用いてユーザ情報を取得する際の処理手順を説明するための図である。
【００３４】
アプリケーション１４０ａは、外部デバイス情報取得部１３２にユーザ情報の取得を要求する（Ｓ１０１）。外部デバイス情報取得部１３２は、外部デバイス制御部１３１と外部デバイス３０における情報の記録フォーマットレベルでの通信を行い、外部デバイス制御部１３１にユーザ情報の取得を要求する（Ｓ１０２）。続いて、外部デバイス制御部１３１は、外部デバイス３０のインタフェース仕様レベルでの通信を外部デバイス３０と行い、外部デバイス３０よりユーザ情報を取得する（Ｓ１０３）。その後、呼び出し順を逆にたどって、ユーザ情報がアプリケーション１４０ａに返却される（Ｓ１０４、Ｓ１０５）。
【００３５】
このように、外部デバイス制御部１３１及び外部デバイス情報取得部１３２は、アプリケーション１４０ａから単体で利用可能である。すなわち、外部デバイス制御部１３１及び外部デバイス情報取得部１３２と他の機能部（外部認証処理部１３３、本体認証制御部１３４）との間に依存関係はなく、取得されたユーザ情報をアプリケーション１４０ａにおいてどのように用いるかは任意である。
【００３６】
続いて、図６は、認証フレームワークを用いて外部認証を行う際の処理手順を説明するための図である。
【００３７】
アプリケーション１４０ａは、ユーザ情報を伴って外部認証処理部１３３に認証要求を行う（Ｓ１１１）。続いて、外部認証処理部１３３は、ネットワークを介して外部の認証装置と通信を行うことにより、外部の認証装置にユーザ情報に基づく認証を実行させ、その認証結果を受信する（Ｓ１１２）。続いて、外部認証処理部１３３は、認証結果をアプリケーション１４０ａに返却する（Ｓ１１３）。
【００３８】
このように、外部認証処理部１３３は、アプリケーション１４０ａから単体で利用可能である。
【００３９】
続いて、図７は、認証フレームワークを用いて本体認証を行う際の処理手順を説明するための図である。
【００４０】
アプリケーション１４０ａは、ユーザ情報を伴って本体認証制御部１３４に認証要求を行う（Ｓ１２１）。続いて、本体認証制御部１３４が、ビルトイン認証処理部１２２にユーザ情報を入力すると、ビルトイン認証処理部１２２は、ユーザ情報とユーザリスト１２１とに基づいて認証を行う（Ｓ１２２）。この際の画面遷移は、本体認証制御部１３４からコントロールすることが可能である。認証が成功すると本体認証部１２０によって本体機能部１１０に対するロックが解除される（Ｓ１２３）。その結果、ユーザ（アプリケーション１４０ａ）は、ユーザリスト１２１に記録された利用権限に基づいて画像形成装置１０の機能の利用が可能となる。
【００４１】
このように、本体認証制御部１３４は、アプリケーション１４０ａから単体で利用可能である。
【００４２】
次に、更に具体的な場面（ソリューション）を想定した処理手順について説明する。図８は、認証フレームワークを用いた認証処理の第一の具体例における処理手順を説明するための図である。図８において、図５又は図７と同一ステップには同一ステップ番号を付している。
【００４３】
図８では、外部デバイス３０としてキーボード３１が画像形成装置１０にＵＳＢ接続されている。斯かる形態は、外部デバイス制御実装モジュール１４１及び外部デバイス情報取得実装モジュール１４２として、キーボード用のロジック実装モジュールを認証フレームワークに登録し、本体認証制御実装モジュール１４４としてキーボードから入力されたユーザ情報を本体認証部１２０に入力するロジック実装モジュールを認証フレームワークに登録することで実施可能となる。
【００４４】
アプリケーション１４０ａは、外部デバイス情報取得部１３２及び外部デバイス制御部１３１を通してキーボード３１を介して入力されるユーザ名及びパスワード等のユーザ情報を取得する（Ｓ１０１〜Ｓ１０５）。
【００４５】
続いて、アプリケーション１４０ａが、取得されたユーザ情報を用いて本体認証制御部１３４に認証を要求すると、それに応じて本体認証部１２０において認証が行われる（Ｓ１２１〜Ｓ１２３）。
【００４６】
図８のような形態は、キーボード等のハードウェアを具備していないようなロースペックの画像形成装置に対するソリューションとして有効である。また、外部デバイスと３０して、ＵＳＢメモリ等、ユーザ情報として十分な情報を取得可能なデバイスを用いてもよい。
【００４７】
続いて、図９は、認証フレームワークを用いた認証処理の第二の具体例における処理手順を説明するための図である。図９において、図５、図６、又は図７と同一ステップには同一ステップ番号を付している。
【００４８】
図９では、外部デバイス３０としてスマートカードリーダー３２が画像形成装置１０にＵＳＢ接続されている。また、ネットワークを介して認証サーバ５０が画像形成装置１０と接続されている。斯かる形態は、外部デバイス制御実装モジュール１４１及び外部デバイス情報取得実装モジュール１４２として、スマートカード３２１からカードＩＤを取得するロジック実装モジュールを認証フレームワークに登録し、外部認証処理実装モジュール１４３として、認証サーバ５０にカードＩＤを送信することにより認証を要求し、カードＩＤに対応するユーザ情報を認証サーバ５０より取得する処理が実装されたロジック実装モジュールを認証フレームワークに登録し、本体認証制御実装モジュール１４４として、認証サーバ５０における認証の結果取得されたユーザ情報を本体認証部１２０に入力するロジック実装モジュールを認証フレームワークに登録することで実施可能となる。
【００４９】
図９において、アプリケーション１４０ａは、外部デバイス情報取得部１３２及び外部デバイス制御部１３１を介してスマートカード３２１に格納されているカードＩＤを取得する（Ｓ１０１〜Ｓ１０５）。続いて、アプリケーション１４０ａが、取得されたカードＩＤを認証サーバ５０に送信すると、認証サーバ５０においてカードＩＤに基づいて認証が行われ、カードＩＤに対応したユーザ情報（ユーザ名、パスワード等）が認証サーバ５０より返信される（Ｓ１１１〜Ｓ１１３）。
【００５０】
続いて、アプリケーション１４０ａが、認証サーバ５０より返信されたユーザ情報を用いて本体認証制御部１３４に認証を要求すると、それに応じて本体認証部１２０において認証が行われる（Ｓ１２１〜Ｓ１２３）。
【００５１】
図９の例において、本体認証制御部１３４に登録する本体認証制御実装モジュール１４４の画面遷移中にパスワード入力画面を設けておき、パスワード入力画面が表示された際に、図８のようにキーボード等を使用してユーザにパスワードを入力させるようなシーケンスを組み込むことで、よりセキュリティの高いソリューションを実現するようにしてもよい。
【００５２】
ところで、認証が成功するとユーザはアプリケーション１４０ａにログインし、利用権限の範囲内でアプリケーション１４０ａを利用することができるが、本実施の形態における画像形成装置１０によれば、ログイン状態についても認証フレームワーク又はアプリケーション１４０ａに適切に制御及び管理させることができる。ここで、認証フレームワークの実装はロジック実装モジュールによって任意に組み込めることができ、また、アプリケーション１４０ａについても任意に組み込めることができるため、このこと（認証フレームワーク又はアプリケーション１４０ａによってログイン状態の制御等が可能であること）は、ユーザの運用に対応させてログイン状態の制御方式又は管理方式を自由に（柔軟に）組み込めることを意味する。以下、認証フレームワークを用いたログイン状態の制御及び管理について説明する。なお、ログイン状態の制御としては、例えば、自動的なログアウト等が挙げられる。また、ログイン状態の管理とは、例えば、ログインの検知、ログアウトの検知、ログインしているユーザの把握等をいう。
【００５３】
図１０は、認証フレームワーク及びアプリケーションによるログイン状態の制御及び管理処理を説明するための第一のシーケンス図である。図１０において、ステップＳ２０１〜Ｓ２１８は、図９における処理をより詳細に記載したものである。
【００５４】
ユーザが、例えば、操作部１０９を介してアプリケーション１４０ａの利用要求を入力すると（Ｓ２０１）、スマートカードリーダー３２と外部デバイス制御部１３１との間で接続確認が行われ（Ｓ２０２）、接続が確立される（Ｓ２０３）。
【００５５】
続いて、外部デバイス制御部１３１は、スマートカードリーダー３２における状態を監視するための別スレッド（以下「状態監視スレッド」という。）を生成する（Ｓ２０４）。状態監視スレッドによる処理については、ステップＳ２５１以降において説明する。続いて、外部デバイス制御部１３１は、認証可能な状態であることを表示部１０８を介してユーザに通知する（Ｓ２０５）。例えば、スマートカード３２１の挿入を促すメッセージが表示部１０８に表示される。
【００５６】
ユーザが、スマートカード３２１をスマートカードリーダー３２に挿入すると（Ｓ２０６）、スマートカード３２１に格納されているカードＩＤが外部デバイス制御部１３１によって取得される（Ｓ２０７）。取得されたカードＩＤは、外部デバイス情報取得部１３２を介してアプリケーション１４０ａに通知される（Ｓ２０８、Ｓ２０９）。アプリケーション１４０ａは、カードＩＤを外部認証処理部１３３に送信することにより、外部認証処理部１３３に認証を要求する。外部認証処理部１３３は、ネットワークを介して認証サーバ５０にカードＩＤを送信し、認証サーバ５０における認証の結果に応じてユーザ情報を受信する。
【００５７】
続いて、外部認証処理部１３３は、受信したユーザ情報をアプリケーション１４０ａに送信する（Ｓ２１１）。アプリケーション１４０ａは、ユーザ情報に基づいて本体認証制御部１３４に対し認証要求（ログイン要求）を行う（Ｓ２１２）。本体認証制御部１３４は、ログイン要求に応じ、ユーザのログインが発生したことをアクセスログとして記録媒体１０３に記録する（Ｓ２１３）。例えば、ログインに係るユーザ名、及び時刻等が記録される。
【００５８】
続いて、本体認証制御部１３４は、本体認証部１２０にログイン要求を行う（ユーザ情報を入力する）ことにより本体認証部１２０に本体認証（ビルトインされた認証）を実行させ、その結果を受信する（Ｓ２１５）。その結果に基づいて、本体認証制御部１３４は、ログインの成功を検知することができる。したがって、本体認証制御部１３４において、ユーザのログインステータス（ログインしていることを示す情報）を管理することができる。ログインステータスは、例えば、本体認証制御部１３４によって記録媒体１０３に記録される。
【００５９】
続いて、本体認証制御部１３４は、ログイン（認証）の結果をアプリケーション１４０ａに通知する（Ｓ２１６）。当該通知によって、アプリケーション１４０ａは、ログインが成功したことを検知することができる。
【００６０】
続いて、アプリケーション１４０ａは、表示部１０８にログイン結果を表示させることにより、ログイン結果をユーザに通知する（Ｓ２１７）。ログインに成功した場合、アプリケーション１４０ａは、ユーザによる入力に応じて機能を提供する（Ｓ２１８）。
【００６１】
一方、状態監視スレッドに係る外部デバイス制御部１３１は、起動されるとスマートカードリーダー３２の接続状態を継続的に監視する（Ｓ２５１）。例えば、定期的にスマートカード３２１よりカードＩＤを取得する。したがって、例えば、スマートカードリーダー３２よりスマートカード３２１が抜かれることによりスマートカード３２１との接続が切断されると（Ｓ２５２）、ユーザ情報を取得することができず、状態監視スレッドは、スマートカード３２１が抜かれたことを検知することができる。当該検知に応じ、状態監視スレッドは、ログインステータスの取得を本体認証制御部１３４に要求する（Ｓ２５３）。本体認証制御部１３４は、管理しているログインステータスを返却する（Ｓ２５４）。ここで、ログインステータスは、ユーザごとに複数返却される可能性がある。アプリケーション１４０ａに対し、ネットワークを介してログインしているユーザも存在し得るからである。
【００６２】
外部デバイス制御部１３１は、取得したログインステータスに基づいてログインしているユーザのログアウト（認証状態の解除による利用の制限）を本体認証制御部１３４に要求する（Ｓ２５５）。ここでログアウト対象とするユーザは、外部デバイス制御部１３１を介して（すなわち、スマートカード３２１によって）ログインしたユーザに限定してもよいし、現在ログインしている全ユーザを対象としてもよい。いずれにするかは、利用形態に応じて適宜定めればよい。
【００６３】
ログアウト要求に応じ、本体認証制御部１３４は、ログアウトが発生したことをアクセスログとして記録媒体１０３に記録する（Ｓ２５６）。例えば、ログアウトに係るユーザ名、及び時刻等が記録される。
【００６４】
続いて、本体認証制御部１３４は、本体認証部１２０にログアウト要求を行うことにより本体認証部１２０におけるログアウトを実行させ（Ｓ２５７）、その結果を受信する（Ｓ２５８）。その結果に基づいて、本体認証制御部１３４は、ログアウトの成功を検知することができる。したがって、本体認証制御部１３４において、ユーザのログインステータスの更新又は削除を実行することができる。
【００６５】
続いて、本体認証制御部１３４は、ログアウトの結果を外部デバイス制御部１３１に通知する（Ｓ２５９）。ログアウトが成功すると、外部デバイス制御部１３１は、表示部１０８を介して、アプリケーション１４０ａの使用ができなくなったことをユーザに通知する（Ｓ２１７）。
【００６６】
図１０の例は、外部デバイス３０との接続が切断された場合に、自動的にログアウトを実行するといった利用形態の実施例である。このような自動的なログアウト機能を実装しておくことにより、ログアウトのし忘れによる不正利用等を防止することができる。また、強制的に特定のユーザをログアウトさせるといった利用形態を実現することもできる。
【００６７】
なお、外部デバイス３０との接続が切断された場合としては、ＵＳＢメモリが抜かれた場合等も含まれる。
【００６８】
また、外部認証を利用する場合、外部認証処理部１３３が、認証サーバ５０に対して定期的に認証を要求し、認証に失敗した場合にログアウトを実行するようにしてもよい。
【００６９】
また、課金管理を行っている場合、アプリケーション１４０ａの使用に応じて課金が行われ、予め投入（又は登録）されている金額がゼロとなったときにログアウトを実行するようにしてもよい。
【００７０】
また、ステップＳ２１２のログイン要求時において、アプリケーション１４０ａがログアウト時間を本体認証制御部１３４に設定するようにしてもよい。この場合、本体認証制御部１３４は、ログインした時点からログアウト時間として設定された時間が経過したとき、又は、ユーザによる入力（操作）がログアウト時間として設定された期間行われないとき等にログアウトを実行する。
【００７１】
また、ステップＳ２１２のログイン要求時において、アプリケーション１４０ａがログインステータスのロックを本体認証制御部１３４に要求するようにしてもよい。この場合、本体認証制御部１３４は、ログインステータスのアンロックが要求されるまで、新たなユーザのログイン要求やログイン中のユーザのログアウト要求を無視する。したがって、管理者がログインし、占有して作業を行いたい場合（例えば、バックアップ作業等）、新たなユーザのログイン（リモートログインも含む）を防止することができる。また、操作部１０９に備えられたログアウト用のボタン（以下「ログアウトキー」という。）が誤って押下された場合に、強制的にログアウトされてしまうのを防止することができる。
【００７２】
また、画像形成装置１０が省エネモードを有する場合、ステップＳ２１２のログイン要求の発生に応じて、省エネ状態から自動的に復帰させるようにしてもよい。そうすることにより、操作部１０９における省エネ状態からの復帰ボタンを押下しなくても、アプリケーション１４０ａへのログインが可能となる。
【００７３】
また、ステップＳ２１２のログイン要求時において、アプリケーション１４０ａがログインユーザの利用権限を本体認証制御部１３４に設定するようにしてもよい。この場合、本体認証制御部１３４は、設定された利用権限をユーザリスト１２１に登録されている利用権限に優先させて、利用制限を行う。そうすることにより、ユーザの利用形態に応じて柔軟性のある利用権限の管理を実現することができる。また、この場合、予めユーザリスト１２１に利用権限を登録しなくても、ユーザに対する利用制限を実現することができる。
【００７４】
ところで、図１０では、ソフト的にログアウトを実行する例について説明したが、続いて、ハード的にログアウトが要求された場合（すなわち、ログアウトキーが押下された場合）の処理手順について説明する。図１１は、ハード的にログアウトが要求された際の処理手順を説明するためのシーケンス図である。
【００７５】
アプリケーション１４０ａに既にログインしている状態において、ユーザがログアウトキーを押下すると（Ｓ３０１）、操作部１０９は、本体認証部１２０にログアウト要求を通知する（Ｓ３０２）。本体認証部１２０は、ログアウト処理を行い、その結果の表示を表示部１０８に要求する（Ｓ３０３）。表示部１０８は、ログアウトされたことを示す画面を表示させる（Ｓ３０４）。
【００７６】
一方、本体認証部１２０は、ログアウト処理の成功後、ユーザがログアウトされたことを本体認証制御部１３４に通知する（Ｓ３０４）。本体認証制御部１３４は、当該通知に応じ、ユーザのログアウトの発生をアクセスログとして記録する（Ｓ３０５）。続いて、本体認証制御部１３４は、アプリケーション１４０ａに対してログアウトを通知する（Ｓ３０６）。これにより、アプリケーション１４０ａは、ログアウトを検知することができる。したがって、利用形態において要求される処理として、アプリケーション１４０ａにおけるログアウトの検知に応じて実行させたい処理がある場合、当該処理をこのタイミングで実行させることができる。
【００７７】
上述したように、本実施の形態における画像形成装置１０によれば、認証フレームワークによって、ユーザ情報の取得先や、認証を実行させるサーバ等を運用に応じて柔軟に選択することができる。したがって、既にユーザ環境において構築されている認証システムを利用して、画像形成装置１０の利用制限を行うこともできる。
【００７８】
また、ロジック実装モジュールやアプリケーションの実装によって、ユーザのログイン状態等の制御及び管理についてもユーザの運用に適した形態を柔軟に実現することができる。
【００７９】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００８０】
１０          画像形成装置
３０          外部デバイス
３１          キーボード
３２          スマートカードリーダー
５０          認証サーバ
１０１        ＣＰＵ
１０２        メモリ
１０３        記録媒体
１０４        ネットワークＩ／Ｆ
１０５        画像出力部
１０６        画像処理部
１０７        外部デバイスＩ／Ｆ
１０８        表示部
１０９        操作部
１１０        本体機能部
１２０        本体認証部
１２１        ユーザリスト
１２２        ビルトイン認証処理部
１３０        フレームワーク
１３１        外部デバイス制御部
１３２        外部デバイス情報取得部
１３３        外部認証処理部
１３４        及び本体認証制御部
１４０        アプリケーション
１４１        外部デバイス制御実装モジュール
１４２        外部デバイス情報取得実装モジュール
１４３        外部認証処理実装モジュール
１４４        本体認証制御実装モジュール
１４５        登録処理部
３２１        スマートカード
【先行技術文献】
【特許文献】
【００８１】
【特許文献１】特開２００６−２１５７７０号公報
【特許文献２】特開２００７−１２２３８４号公報
【特許文献３】特開２００６−９２４３７号公報
【図１】
2013033486.tif 000003
【図２】
2013033486.tif 000004
【図３】
2013033486.tif 000005
【図４】
2013033486.tif 000006
【図５】
2013033486.tif 000007
【図６】
2013033486.tif 000008
【図７】
2013033486.tif 000009
【図８】
2013033486.tif 000010
【図９】
2013033486.tif 000011
【図１０】
2013033486.tif 000012
【図１１】
2013033486.tif 000013