説明

情報処理装置、画像処理装置、ログインの認証方法、プログラム及び記録媒体

【課題】JAASのKerberos認証システムにおいて、クライアントの認証要求に認証サーバが応答する際のフェイルオーバ時間を短縮すること。
【解決手段】JAAS13が優先順位に従い認証要求をKDCに発行する際に、ユーザーによる初期設定を反映して作成されたKerberos構成ファイル15を基にKDCごとに認証要求を発行し、認証に成功したKDCを特定し、これを優先順位登録部6に登録し、Kerberos構成ファイル15を修正することで、次回に認証要求リトライ部4が認証要求の発行先として優先させる。認証要求の発行先とするKDCの優先順位を認証要求時のKDCの状況に応じて最適化し、認証要求を発行する処理を行うことによって、フェイルオーバ時間を短縮する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ログインに対する認証をネットワーク接続可能な複数の認証サーバを利用して行うJAASのKerberos認証に関し、より詳しくは、クライアントの認証要求に認証サーバが応答する際のフェイルオーバ時間の短縮化を図る認証処理を行う情報処理装置、画像処理装置、ログインの認証方法及び前記認証処理を実行するためのプログラム及び記録媒体に関する。
【背景技術】
【0002】
公開された、例えばインターネットなどのネットワークで使うために開発された認証システムであるKerberos(登録商標、以下同様)では、冗長化を目的として、認証サーバとして1つのマスタKDC(KDC:Key Distribution Center:キー配布センター)と複数のスレーブKDCを構成要素とする認証システムを構成している。
また、Java(登録商標)認証・承認サービス(即ち、JAAS:Java(登録商標) Authentication and Authorization Service)のKerberos認証であるSun OSに実装するKerberos認証サービスでは、J2SE v1.4.2以降にスレーブKDCがサポートされ、KDCを複数指定できる。
このため、マスタKDCに障害が発生し、予め設定されたタイムアウト時間以内に応答がない場合、順次自動的にスレーブKDCへ認証をリダイレクトして実行を可能とする機能が既にこのKerberos認証システムが持つことは、知られるところである。
【0003】
ただ、既存のSun OSに実装するKerberos認証サービスには、障害が発生したKDCが回復するまで優先させないように優先度を変える、といった対応を自動的に行うことで解決を図る機能もしくはどのKDCが応答したかを知る術を持たない。このため、次回認証を要求した場合に、再度マスタKDCから実行せざるを得ず、正常に動作するサーバが応答するまでのフェイルオーバ時間が掛かってしまう問題があった。
ところで、特許文献1には、ディスクアレイ装置等のストレージ装置を共用する複数のサーバを結合したクラスタシステムにおいて、あるサーバに障害が発生した場合に、代替サーバが処理やデータを引き継ぐフェイルオーバ機能が示されている。この従来技術では、ストレージ装置が状況検出部と優先度制御部を備え、サーバ側の状況をストレージ装置側からサーバの状況を観測し、観測結果に応じて処理の優先度を制御することにより、フェイルオーバ時間の短縮を図る動作を行うことが記載されている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に示される従来技術では、サーバ状況の観測結果は、障害等の発生時に、処理やデータを引き継ぐ代替サーバの処理の優先度を高め、引き継ぎ時にフェイルオーバ時間が長引くことを避けることに利用され、またフェイルオーバ機能をハードウェアで実現するもので、JAASのKerberos認証サービスにおいて認証要求を行うクライアント側の動作により起きる上記したフェイルオーバ時間の問題を解決することができない。
本発明は、JAASのKerberos認証システムにおける上述の従来技術の問題に鑑みてなされたもので、その目的は、複数の認証サーバと、これらにネットワークを介して接続されるクライアントとしての情報処理装置をシステム要素として構成する認証システムにおいて、クライアントの認証要求に認証サーバが応答する際のフェイルオーバ時間を短縮することにある。
【課題を解決するための手段】
【0005】
本発明は、ユーザーのログインを受け付け、受け付けたログインに対する認証をネットワーク接続可能な認証サーバを利用して行う情報処理装置であって、ユーザーのログインを受け付けるユーザーインターフェース部と、受け付けたユーザーのログインに対し、指定する認証サーバへ発行する認証要求の構成情報を作成する構成情報作成部と、認証要求の構成情報に基づいて認証要求を発行する認証要求発行部と、発行先として指定する利用可能な複数の認証サーバの優先順位を登録する優先順位登録部と、優先させた発行先の認証サーバへ発行した認証要求に対する応答が得られない場合に、前記優先順位登録部に登録された次の順位の認証サーバを発行先に変更して発行するために、既存の認証要求の構成情報を修正する構成情報修正部と、修正された認証要求の構成情報に基づいて発行される認証要求の実行指示を前記認証要求発行部に指示するとともに、変更された発行先の認証サーバへ発行した認証要求に対する応答が得られた場合に優先順位登録部の認証サーバの優先順位を、応答が得られた当該認証サーバを優先させる順位へ初期優先順位からの変更を行う認証要求リトライ部とを有することを特徴とする。
本発明は、ユーザーのログインを受け付け、受け付けたログインに対する認証をネットワーク接続可能な認証サーバを利用して行い、ログインに伴う処理要求に応じて処理対象の画像にデータ処理を施す画像処理装置であって、ユーザーのログインを受け付けるユーザーインターフェース部と、受け付けたユーザーのログインに対し、指定する認証サーバへ発行する認証要求の構成情報を作成する構成情報作成部と、認証要求の構成情報に基づいて認証要求を発行する認証要求発行部と、発行先として指定する利用可能な複数の認証サーバの優先順位を登録する優先順位登録部と、優先させた発行先の認証サーバへ発行した認証要求に対する応答が得られない場合に、前記優先順位登録部に登録された次の順位の認証サーバを発行先に変更して発行するために、既存の認証要求の構成情報を修正する構成情報修正部と、修正された認証要求の構成情報に基づいて発行される認証要求の実行指示を前記認証要求発行部に指示するとともに、変更された発行先の認証サーバへ発行した認証要求に対する応答が得られた場合に優先順位登録部の認証サーバの優先順位を、応答が得られた当該認証サーバを優先させる順位へ初期優先順位からの変更を行う認証要求リトライ部とを有することを特徴とする。
本発明は、ユーザーのログインを受け付け、受け付けたログインに対する認証をネットワーク接続可能な認証サーバを利用して行う情報処理装置におけるログインの認証方法であって、ユーザーのログインを受け付ける工程と、受け付けたユーザーのログインに対し、指定する認証サーバへ発行する認証要求の構成情報を作成する構成情報作成工程と、認証要求の構成情報に基づいて認証要求を発行する認証要求発行工程と、発行先として指定する利用可能な複数の認証サーバの優先順位を登録する優先順位登録工程と、優先させた発行先の認証サーバへ発行した認証要求に対する応答が得られない場合に、前記優先順位登録工程で登録された次の順位の認証サーバを発行先に変更して発行するために、既存の認証要求の構成情報を修正する構成情報修正工程と、修正された認証要求の構成情報に基づいて発行される認証要求の実行指示を前記認証要求発行工程に指示するとともに、変更された発行先の認証サーバへ発行した認証要求に対する応答が得られた場合に前記優先順位登録工程で登録した認証サーバの優先順位を、応答が得られた当該認証サーバを優先させる順位へ初期優先順位からの変更を行う認証要求リトライ工程とを有することを特徴とする。
【発明の効果】
【0006】
本発明によって、複数の認証サーバと、これらにネットワークを介して接続されるクライアントとしての情報処理装置をシステム要素として構成する認証システムにおいて、認証要求への応答結果によって、発行先として指定する利用可能な複数の認証サーバの優先順位を変更して、認証要求を行えるようにすることで、認証サーバが応答する際のフェイルオーバ時間を短縮することができる。
【図面の簡単な説明】
【0007】
【図1】本発明の画像処理装置の実施形態に係るハードウェア構成を示すブロック図である。
【図2】本発明の情報処理装置(画像処理装置)における認証サーバとして用いるコンピュータのハードウェア構成を示すブロック図である。
【図3】一般的なKerberos認証システムにおけるクライアントのソフトウェア構成を示すブロック図である。
【図4】図3の認証システムで作成されるKerberos構成ファイルの1例を示すブロック図である。
【図5】図3の認証システムの認証要求時におけるクライアントの処理シーケンスを示す図である。
【図6】本発明の実施形態に係るKerberos認証システムにおけるクライアントのソフトウェア構成を示すブロック図である。
【図7】図6の認証システムで初回ログイン時に作成されるKerberos構成ファイルの1例を示すブロック図である。
【図8】図6の認証システムの認証要求時におけるクライアントの処理シーケンスを示す図である。
【図9】図6の認証システムでリトライ時に作成されるKerberos構成ファイルの1例を示すブロック図である。
【発明を実施するための形態】
【0008】
本発明の実施形態について、添付図面を参照して説明する。
以下に示す実施形態は、認証サーバとしてのKDCを複数指定できるJAASのKerberos認証システムを構成する例を示す。
また、ネットワーク上でKDCを利用するクライアント装置にMFP(複写、プリンタ、スキャナ等の機能を複合して持つ複合機)等の画像処理装置を適用した例を示す。なお、MFPは、スキャナ読み取りにより画像データを生成する機能やスキャナ入力や外部機からネットワーク経由で入力される画像データ(印刷要求を含む)をもとに画像出力や外部機へのネットワーク配信に用いる画像データの処理を行う装置であり、共用されることが多く、Kerberos認証の必要性が高い画像処理装置の1つである。
ただ、基本的には、例示するMFP等の画像処理装置を対象にした以下に示す手法を、ログインに対するKerberos認証を必要とする例えば、共用されるPC(Personal Computer)等の他の情報処理装置に適用することにより、こうした情報処理装置に対しても同様に実施することができる。
【0009】
「クライアント装置のハードウェア構成」
図1は、本実施形態のクライアント装置としての画像処理装置のハードウェア構成を示すブロック図である。
図1に示す画像処理装置100は、コントローラ110のもとに画像処理装置100全体が制御され、複写、プリンタ、スキャナ等の機能を利用する際にも必要となる各種デバイスの動作をコントローラ110が制御する。
コントローラ110は、ソフトウエアプログラムの命令を実行するためのCPU(Central Processing Unit)111と、該プログラムを格納するためのROM(Read Only Memory)112と、該プログラムの動作によって作成されるページメモリやプログラムの動作に必要なワークメモリとして利用するRAM(Random Access Memory)113と、画像処理装置100を適正に動作させるための設定条件などを保存しておく不揮発性メモリであるNVRAM114よりなるコンピュータで構成する。
【0010】
また、コントローラ110の構成要素として、ネットワーク上に接続された外部機120とデータのやり取りを行うためのネットワークI/F(インターフェース)115とエンジン130との間で印刷指令等の動作の指示を行うエンジンI/F116と、ユーザーインターフェース(UI)として機能する操作パネル140との間でデータのやり取りを行うための操作パネルI/F117を有する。
なお、ネットワークI/F115を介して接続される外部機120としては、ホストPCや後述する認証サーバなどが含まれる。エンジンI/F116を介して接続されるエンジン130としては、スキャナやプリンタなどが含まれる。操作パネル140は、表示部とキー等の入力操作を受付ける入力部とを備え、対話形式のUI機能を提供する。
【0011】
「認証サーバのハードウェア構成」
図2は、本実施形態に係る認証サーバのハードウェア構成を示すブロック図である。
この認証サーバ200のハードウェアは、PCで構成することができ、バス210と、それぞれがバス210に接続されたCPU212、メモリ213、通信装置214、表示装置215、HD(Hard Disk)ドライブ216、入力装置217、CD(Compact Disk)−ROM(Read Only Memory)ドライブ218及びFD(Flexible Disk)ドライブ219を有する。
CPU212は、この認証サーバ200の動作を制御する。メモリ213は、CPU212が起動時に実行するプログラムや必要なデータ等を記憶するためのROM、CPU212のワークエリア等を構成するためのRAMなどからなる。
CPU212は、RAMをワークメモリとして用いることにより、ROM、HDドライブ216などに格納されたソフトウェア(プログラム)を動作させ、これらの要素で構成するコンピュータを動作制御部として機能させる。このコンピュータは、本実施形態では、認証サーバとしてのKDCの処理を実行するためのプログラムを駆動することにより、これらの処理手段として機能する。
【0012】
通信装置214は、この認証サーバ200をインターネットなどのネットワークに接続し、画像処理装置(クライアント装置)100(図1)等とのデータ交換を行うための装置で、このネットワークによりJAASのKerberos認証システムを構成する。
表示装置215は、この認証サーバ200を操作するための画面や動作状態を表示する。
入力装置217は、キーボードやマウスなどからなり、この認証サーバ200に対する種々のキー操作や指示の入力を行うためのものである。
HDドライブ216は、KDCの処理を実行するためのプログラム、ワークデータ、及びファイルデータなどを記憶する。CD−ROMドライブ218は、CD−ROMやDVD−ROMなどの記録媒体の読み出しを行うための装置である。FDドライブ219は、フレキシブルディスクに対する書き込み及び読み出しを行うための装置である。
【0013】
「認証システムとその動作」
クライアント装置としての画像処理装置100とネットワークで接続された認証サーバ200とにより構成するJAASのKerberos認証システムと、この認証システムにおける認証時の動作を詳細に説明する。
以下の説明では、認証サーバとして1つのマスタKDC(master.sample.com)と2つのスレーブKDC(slave1.sample.com,slave2.sample.com)からレルム環境を構成する実施例を示す。また、利用する認証サーバの優先順位が予め設定されるが、その初期設定は、master.sample.com,slave1.sample.com,slave2.sample.comの順とする。
【0014】
〈先行技術〉
本発明に係る実施形態を説明する前に、先ず、JAASのKerberos認証システムとして、本発明と共通の手段を一部に用いて構成する先行技術の該認証システムの1例を図3〜5を参照して、説明する。なお、ここでは、この認証システムのクライアントの構成に特徴部分があり、認証サーバとしてのKDC自体は、既存の技術を適用することにより実施することができるので、認証サーバの詳細な説明は省略する。
図3は、JAAS API(Application Program Interface)を利用してKerberos認証を行うためにクライアント装置が用いる先行技術のソフトウェア構成を示すブロック図である。
図3に示すように、クライアント装置は、クライアントJava(登録商標) VM(Virtual Machine)10として、Kerberosクライアント9とJAAS(Java(登録商標) Authentication and Authorization Service)13を有する。また、クライアントJava(登録商標)
VM10は、ネットワーク30を介して1つのマスタKDC(master.sample.com)20と2つのスレーブKDC21,22(slave1.sample.com,slave2.sample.com)と接続する。
【0015】
Kerberosクライアント9は、UI(ユーザーインターフェース)部1と、Kerberos構成ファイル(krb5.conf)15を作成する構成ファイル作成部2と、JAAS13に認証を依頼する認証要求部3を構成要素とする。
JAAS13は、LoginContext11とKrb5LoginModule12を構成要素とし、後述するように、認証要求を認証サーバとしてのKDCへ発行する際の処理を行う。
構成ファイル作成部2が作成するKerberos構成ファイル15には、Kerberosクライアント9、認証サーバ(KDC)20〜22、管理用ユーティリティ及びKDC自身にリンクされる、Kerberosライブラリに必要な情報がすべて含まれる。
図4は、Kerberos構成ファイル15の1例を示すものである。
図4に示す例では、[realms]の記述のもと、SAMPLE.COMレルム内に、1つのマスタKDC(master.sample.com)と2つのスレーブKDC(slave1.sample.com,slave2.sample.com)よりなる3つのKDCがユーザーによって設定された優先順位に従って定義されている。
【0016】
クライアントJava(登録商標) VM10が行う認証要求の処理過程を、図5の処理手順を表すシーケンス図を参照して説明する。
UI部1は、このKerberos認証に必要な情報を入力するインターフェースと、ユーザー認証に必要なユーザー情報を入力するインターフェースを持つ。従って、これらのインターフェースを介して行われるそれぞれの入力に応じて行うシーケンスを図5に示している。
Kerberos認証に必要な情報は、ユーザーの操作によって、Kerberosクライアント9のUI部1を介してKDC設定として入力される(図5,シーケンス1)。
このとき、UI部1は、入力されたKerberos認証に必要な情報の中から利用するKDCの優先順位を定める情報を構成ファイル作成部2に渡す(図5,シーケンス1.1)。
次に、構成ファイル作成部2は、UI部1から渡された利用するKDCの優先順位を定める情報等をもとに、既定のフォーマットに従いKerberos構成ファイル15を作成する(図5,シーケンス1.2)。なお、作成されるKerberos構成ファイル15(krb5.conf)には、[realms]の記述のもとに、KDCがユーザーによって設定された優先順位で定義される。
【0017】
また、ユーザーの操作によって、Kerberosクライアント9のUI部1を介してログインの入力がなされる(図5,シーケンス2)。
このとき、UI部1は、ユーザーのログインを受付け、ログインに示されたユーザー情報を付して認証要求部3に認証要求の処理を依頼する。この依頼を受けた認証要求部3は、UI部1から渡されたユーザー情報を用いJAAS API のLoginContext11と対話し認証要求を行う(図5,シーケンス2.1)。
次いで、Krb5LoginModule12は、LoginContext11を介して受付けた認証要求に応じてKerberosプロトコルを使用して認証サーバへユーザー認証要求を発行する。この処理の手順としては、Krb5LoginModule12は、構成ファイル作成部2が上記シーケンス1.2で作成したKerberos構成ファイル15(krb5.conf)を読み込み(図5,シーケンス2.1.1)、Kerberos構成ファイル15の記述に従い、Kerberosプロトコルを使用してKDCへユーザー認証要求を発行する(図5,シーケンス2.1.2,2.1.3,2.1.4)。
【0018】
図4に例示したKerberos構成ファイルによると、Krb5LoginModule12は、KDCリストの記述における上から順に、即ち(master.sample.com,slave1.sample.com,slave2.sample.com)の順に認証をリダイレクトする。
例えば、master.sample.comのKDCへユーザー認証要求を発行し(図5,シーケンス2.1.2)、発行したKDCに何らかの障害が発生し、設定されたタイムアウト時間(kdc_timeoutの値:ミリ秒)内に応答が無い場合には、次の順位のslave1.sample.comに対して自動的にリダイレクトし、認証要求を発行する(図5,シーケンス2.1.3)。
同様に、slave1.sample.comのKDCに障害が発生し、タイムアウト時間内に応答が無い場合には、次の順位のslave2.sample.comに対して認証要求を発行する(図5,シーケンス2.1.4)。
ここで、slave2.sample.comからはタイムアウト時間内に応答があり、このKDCにより認証に成功した場合には、認証結果がKerberosクライアント9に伝えられ、またログインの可、不可をログイン結果として操作パネルの表示部を通してユーザーに通知する。
【0019】
上記のように、先行技術によって、予めユーザーの入力により定めた優先順位で複数のKDCに自動でリダイレクトする機能が実現される。
ただ、クライアントJava(登録商標) VM10のJAAS13には、上記の例のように、master.sample.comとslave1.sample.comからの応答が得られず、slave2.sample.comで認証に成功した場合、この状況を知る術がなく、KDCの優先順位をそのときの状況に合わせて最適化する機能を用意していないため、次回認証を要求した場合に、再度master.sample.comから実行してしまい、状況が変わらなければ、以前と同様に応答時間が掛かってしまうことになってしまう。
【0020】
〈本発明の実施形態〉
そこで、本発明の実施形態では、優先順位に従ってKDCへの認証要求を発行する際に、初回には、予め定めた初期優先順位に従い認証要求をKDCへ発行し、いずれかのKDCで認証に成功した場合に、そのとき認証に成功した、即ち認証結果を得たKDCを次回に認証要求を発行するときに発行先として優先させる。
このために、本実施形態は、優先順位に従い認証要求をKDCに発行する際に、KDCごとに認証要求を発行し、認証に成功したKDCを特定できるようにし、次回に特定したKDCを認証要求の発行先として優先させるために必要な情報を管理する。
このように、認証要求時のKDCの状況に応じて、要求の発行先とするKDCの優先順位を最適化し、認証要求を発行する処理を行うことによって、先行技術の上記問題を解決する。
【0021】
本実施形態のJAASのKerberos認証システムの1例を図6〜9を参照して、説明する。なお、ここでは、この認証システムのクライアントの構成に特徴部分があり、認証サーバとしてのKDC自体は、既存の技術を適用することにより実施することができるので、認証サーバの詳細な説明は省略する。
図6は、JAAS API(Application Program Interface)を利用してKerberos認証を行うためにクライアント装置(図1の画像処理装置100)が用いるソフトウェア構成を示すブロック図である。
図6に示すように、クライアント装置は、クライアントJava(登録商標) VM(Virtual Machine)10として、Kerberosクライアント9とJAAS(Java(登録商標) Authentication and Authorization Service)13を有する。また、クライアントJava(登録商標)
VM10は、ネットワーク30を介して1つのマスタKDC(master.sample.com)20と2つのスレーブKDC21,22(slave1.sample.com,slave2.sample.com)と接続する。
【0022】
Kerberosクライアント9は、UI(ユーザーインターフェース)部1と、Kerberos構成ファイル(krb5.conf)15を作成する構成ファイル作成部2と、JAAS13に認証を依頼する認証要求部3と、認証要求部3に対し要求を繰り返し行うことが可能な認証要求リトライ部4と、認証要求リトライ部4の指示でKerberos構成ファイル15を修正する構成ファイル修正部5と、認証要求リトライによって変更される接続するKDCの優先順位を登録する優先順位登録部6を構成要素とする。
なお、上記UI部1は、Kerberos認証に必要な情報として、接続するKDCの優先順位等を入力するインターフェースと、ユーザー認証に必要なユーザー情報を入力するインターフェースを持つ。また、構成ファイル作成部2は、UI部1から渡されたKerberos認証に必要な情報を元に、既定のフォーマットに従いKerberos構成ファイル15を作成する。これらの点では、上述の先行技術におけるKerberosクライアントと同様である。
【0023】
JAAS13は、LoginContext11とKrb5LoginModule12を構成要素とし、後述するように、認証要求を認証サーバとしてのKDCへ発行する際の処理を行う。
構成ファイル作成部2が作成するKerberos構成ファイル15には、Kerberosクライアント9、認証サーバ(KDC)20〜22、管理用ユーティリティ及びKDC自身にリンクされる、Kerberosライブラリに必要な情報がすべて含まれる。
図7は、本実施形態で作成されるKerberos構成ファイル15の1例を示すものである。
図7に示す例では、[realms]の記述のもと、SAMPLE.COMレルム内に、1つのKDCだけが設定される。なお、図7の例では、ユーザーによって設定された優先順位の先頭のマスタKDC(master.sample.com)だけが定義されている。これは、1つのKDCだけを設定し認証要求のリトライ動作を行うことにより、認証に成功したKDCを特定できるようにするためである。このリトライ動作については、下記の処理手順で詳細に説明する。
【0024】
クライアントJava(登録商標) VM10が行う認証要求の処理過程を、図8の処理手順を表すシーケンス図を参照して説明する。
先ず、ユーザーの操作によってKerberosクライアント9のUI部1を介して、Kerberos認証に必要な情報が、KDC設定として入力される(図8,シーケンス1)。
このとき、UI部1は、入力されたKerberos認証に必要な情報の中から利用するKDCの優先順位を定める情報を構成ファイル作成部2に渡す(図8,シーケンス1.1)。
次に、構成ファイル作成部2は、UI部1から渡された利用するKDCの優先順位を定める情報等をもとに、既定のフォーマットに従いKerberos構成ファイル15を作成する(図8,シーケンス1.2)。なお、作成されるKerberos構成ファイル15(krb5.conf)には、[realms]の記述のもとに、KDCがユーザーによって設定された優先順位で定義される(図4、参照)。ここまでのシーケンスは、図5に示した先行技術のシーケンスと変わりがなく、作成されるKerberos構成ファイル15は、図4に示したものと同じである。
【0025】
また、ユーザーの操作によって、Kerberosクライアント9のUI部1を介してログインの入力がなされる(図8,シーケンス2)。
このとき、クライアント装置と認証サーバとしてのKDCとの間のSession Timeout(セッションタイムアウト)が確認され、Session Timeoutであれば、優先順位を初期化する(図8,シーケンス2.1)。この実施形態では、セッションタイムとして、前回のログイン時刻(この実施形態では、ログインの認証時刻)から所定時間を決め、その時間が経過するまでは、優先順位を初期化しないで、前回のログインに対して行った認証要求の処理結果に応じてKDCの優先順位を変更し、変更した優先順位に従った処理を行う。つまり、認証要求のリトライ動作(後記で詳述)を行うことにより、認証に成功したKDCを次回の認証要求を発行するときの発行先として優先させる動作を実施するタイムリミットをセッションタイムによって定める。
【0026】
上記のセッションタイムは、認証システムの構成を含めさまざまな要因により適正な値が異なるので、例えば、認証システムの構成ごとに得られた経験値をもとにそれぞれの認証システムに適応する値が定められる。
Session Timeoutで初期化するときに設定される初期優先順位は、例えば、認証システムを稼動した際の成功率の高さや処理時間を経験値としてその統計データを求め、求められたデータをもとに認証システムを構成するKDCに予め順位を付け、クライアント装置内に保存しておく。
認証要求リトライ部4は、クライアント装置自身が発する初期化の指令を受け、保存しておいた初期優先順位を優先順位登録部6に登録することにより、実行時にこの優先順位を適用する。
【0027】
Session Timeoutで優先順位を初期化した場合には、ログインしたユーザーが操作パネルから認証に用いるKDCの優先順位を指定する入力を行うことがあるので、入力された場合には、入力された優先順位と初期設定との異同を確認する(図8,シーケンス2.2)。
ユーザーによって入力された優先順位が、初期化時に設定された初期優先順位と異なる場合に、構成ファイル修正部5は、上述のシーケンス1.2で作成されたKerberos構成ファイル15をユーザーの入力に従って修正する(図8,シーケンス2.3)。このとき、この実施形態では、図7で例示したように、ユーザーによって設定された優先順位の1番目のマスタKDC(master.sample.com)だけを定義する修正がKerberos構成ファイル15に加えられる。
【0028】
Kerberos構成ファイル15の修正後、UI部1からのユーザーのログインを受付けた認証要求リトライ部4は、ログインに示されたユーザー情報を付して認証要求部3に認証要求の処理を依頼する。この依頼を受けた認証要求部3は、UI部1から渡されたユーザー情報を用いJAAS APIのLoginContext11と対話し認証要求を行う(図8,シーケンス2.4)。
次いで、Krb5LoginModule12は、LoginContext11を介して受付けた認証要求に応じてKerberosプロトコルを使用して認証サーバへユーザー認証要求を発行する。この処理の手順としては、Krb5LoginModule12は、構成ファイル作成部2が上記図8,シーケンス2.3で修正したKerberos構成ファイル15(krb5.conf)を読み込み(図8,シーケンス2.4.1)、Kerberos構成ファイル15の記述に従い、Kerberosプロトコルを使用して優先順位の1番目のKDCへユーザー認証要求を発行する(図8,シーケンス2.4.2)。
【0029】
図8のシーケンスでは、シーケンス2.4.2で発行した優先順位の1番目のKDCに何らかの障害が発生し、設定されたタイムアウト時間(kdc_timeoutの値:ミリ秒)内に応答が無かった場合であり、この場合には、次の順位のKDCに対して認証要求を発行する。
このための手順として、構成ファイル修正部5は、上述のシーケンス2.3で修正されたKerberos構成ファイル15を、さらにユーザーの入力で指示された優先順位に従って発行先のKDCの修正を行う(図8,シーケンス2.5)。このとき、この実施形態では、図9のKerberos構成ファイルに示すように、[realms]の記述のもと、SAMPLE.COMレルム内に、ユーザーによって設定された優先順位の2番目のKDCだけを定義する修正が加えられる。
【0030】
Kerberos構成ファイル15の修正後、UI部1からのユーザーのログインを受付けた認証要求リトライ部4は、ログインに示されたユーザー情報を付して認証要求部3に認証要求の処理を依頼する。この依頼を受けた認証要求部3は、UI部1から渡されたユーザー情報を用いJAAS APIのLoginContext11と対話し認証要求を行う(図8,シーケンス2.6)。
次いで、Krb5LoginModule12は、LoginContext11を介して受付けた認証要求に応じてKerberosプロトコルを使用して認証サーバへユーザー認証要求を発行する。この処理の手順としては、Krb5LoginModule12は、構成ファイル作成部2が上記図8,シーケンス2.5で修正したKerberos構成ファイル15(krb5.conf)を読み込み(図8,シーケンス2.6.1)、Kerberos構成ファイル15の記述に従い、Kerberosプロトコルを使用して優先順位の2番目のKDCへユーザー認証要求を発行する(図8,シーケンス2.6.2)。
【0031】
ここで、2番目のKDCからはタイムアウト時間内に応答があり、このKDCにより認証に成功した場合には、認証結果がKerberosクライアント9に通知される。なお、Kerberosクライアント9が受取る認証結果には、認証の成功、失敗の結果とともに、認証したKDCを特定する情報及びこのときの時刻が付加されている。なお、前記時刻は、認証結果の通知時の時刻でもよいが、認証時にKDCで付したタイムスタンプが付加されている場合には、このタイムスタンプとする。
この認証結果を受取ったKerberosクライアント9の認証要求リトライ部4は、通知された優先順位登録部6に認証に成功した正常稼動中のKDCとタイムスタンプを対応付けて登録する。この登録は、次回に用いるKDCの優先順位の変更をするので、認証に成功した正常稼動中のKDCを優先順位の1番目にして登録を行う(図8,シーケンス2.7)。
なお、この優先順位の変更を行う場合に、このログインに対して発行された認証要求に応答せず、認証に失敗したKDCには、リダイレクトしないようにする。これは、失敗直後には、先の失敗の原因が除かれ、リトライで成功する可能性が低いので、認証に失敗したKDCを加えると、フェイルオーバ時間を短縮するためには、負の要因になると考えられるからである。
【0032】
また、認証要求リトライ部4は、認証時にKDCで付したタイムスタンプが好適である、この認証結果を受取ったときの認証時刻をもとに、セッションを作成する(図8,シーケンス2.8)。
作成されたセッションの時刻はセッションの開始時刻となり、次回のユーザーログイン時においてSession Timeoutを確認するとき(図8,シーケンス2.1、参照)に用いられる。つまり、このセッションの開始時刻から始まるセッションタイムを越える、Session Timeoutをしなければ、今回変更した優先順位を使用して認証要求の発行先を決め、他方、Session Timeoutであれば、セッションをクリアとともに優先順位を初期化し、KDC復旧時にも対応可能にするという手順を行うことができるようにする。
また、認証の成功、失敗に従うログインの可、不可をログイン結果として操作パネルの表示部を通してユーザーに通知する。
【0033】
〈優先順位の変更に付随する処理〉
本実施形態では、上記のように、セッションタイムを越えるまでは、前回ログイン時に正常に稼動したKDCを優先させるように変更した優先順位を使用して認証要求の発行先を決める。
ただ、変更した順位を適用して発行した認証要求に対して、常にそのKDCが正常に稼動する保証があるわけではない。
そこで、変更した順位を適用した発行先のKDCが正常に稼動しなかった場合には、優先順位を初期の設定に戻すようにする。この方法を用いることによって、KDCに生じる障害によっては、ログインの処理をより速く行うことが可能になる。
【0034】
上述のように、本実施形態のJAASのKerberos認証システムによると、認証要求を、予めクライアント装置自身が初期条件として設定するか、もしくはユーザーの設定する優先順位に従い定めたKDCへ順次リトライして発行し、認証要求へ応答したKDCを優先させるように、利用可能な複数のKDCの優先順位を変更して、次回の認証要求の発行先とすることで、認証要求時のKDCの状況に応じて優先順位を適正化し、この順位に従い認証要求を発行することによって、フェイルオーバ時間を短縮することができる。さらに、認証要求へ応答したKDCのタイムスタンプからの経過時間をチェックし、所定時間経過(セッションタイムアウト)した場合に優先順位を初期化することで、KDC復旧時にも対応可能になり、最適化が可能になる。
【符号の説明】
【0035】
1・・UI部、2・・構成ファイル作成部、3・・認証要求部、4・・認証要求リトライ部、5・・構成ファイル修正部、6・・優先順位登録部、9・・Kerberosクライアント、10・・クライアントJava(登録商標) VM、13・・JAAS(Java(登録商標) Authentication and Authorization Service)、15・・Kerberos構成ファイル、20・・マスタKDC、21,22・・スレーブKDC、30・・ネットワーク、100・・画像処理装置、110・・コントローラ、111・・CPU、112・・ROM、113・・RAM、115・・ネットワークI/F、116・・エンジンI/F、117・・操作パネルI/F、120・・外部機、130・・エンジン、140・・操作パネル。
【先行技術文献】
【特許文献】
【0036】
【特許文献1】特開2005−301442号公報

【特許請求の範囲】
【請求項1】
ユーザーのログインを受け付け、受け付けたログインに対する認証をネットワーク接続可能な認証サーバを利用して行う情報処理装置であって、
ユーザーのログインを受け付けるユーザーインターフェース部と、
受け付けたユーザーのログインに対し、指定する認証サーバへ発行する認証要求の構成情報を作成する構成情報作成部と、
認証要求の構成情報に基づいて認証要求を発行する認証要求発行部と、
発行先として指定する利用可能な複数の認証サーバの優先順位を登録する優先順位登録部と、
優先させた発行先の認証サーバへ発行した認証要求に対する応答が得られない場合に、前記優先順位登録部に登録された次の順位の認証サーバを発行先に変更して発行するために、既存の認証要求の構成情報を修正する構成情報修正部と、
修正された認証要求の構成情報に基づいて発行される認証要求の実行指示を前記認証要求発行部に指示するとともに、変更された発行先の認証サーバへ発行した認証要求に対する応答が得られた場合に優先順位登録部の認証サーバの優先順位を、応答が得られた当該認証サーバを優先させる順位へ初期優先順位からの変更を行う認証要求リトライ部と
を有することを特徴とする情報処理装置。
【請求項2】
請求項1に記載された情報処理装置において、
前記認証要求リトライ部は、変更された発行先の認証サーバへ発行した認証要求に対する応答が得られない場合に、優先順位を初期優先順位に戻すことを特徴とする情報処理装置。
【請求項3】
請求項1又は2に記載された情報処理装置において、
前記認証要求リトライ部は、正常稼動していない認証サーバにリダイレクトしないようにすることを特徴とする情報処理装置。
【請求項4】
請求項1乃至3のいずれかに記載された情報処理装置において、
前記優先順位登録部は、前記初期優先順位を自動的に予め定められた優先順位で登録することを特徴とする情報処理装置。
【請求項5】
請求項1乃至4のいずれかに記載された情報処理装置において、
前記優先順位登録部は、認証要求に対する応答が得られた認証サーバによって認証時に行われるタイムスタンプを該サーバと対応付けて登録するとともに、
前記認証要求リトライ部は、タイムスタンプからの所定セッションタイムの経過を条件に優先順位を初期優先順位に戻すことを特徴とする情報処理装置。
【請求項6】
ユーザーのログインを受け付け、受け付けたログインに対する認証をネットワーク接続可能な認証サーバを利用して行い、ログインに伴う処理要求に応じて処理対象の画像にデータ処理を施す画像処理装置であって、
ユーザーのログインを受け付けるユーザーインターフェース部と、
受け付けたユーザーのログインに対し、指定する認証サーバへ発行する認証要求の構成情報を作成する構成情報作成部と、
認証要求の構成情報に基づいて認証要求を発行する認証要求発行部と、
発行先として指定する利用可能な複数の認証サーバの優先順位を登録する優先順位登録部と、
優先させた発行先の認証サーバへ発行した認証要求に対する応答が得られない場合に、前記優先順位登録部に登録された次の順位の認証サーバを発行先に変更して発行するために、既存の認証要求の構成情報を修正する構成情報修正部と、
修正された認証要求の構成情報に基づいて発行される認証要求の実行指示を前記認証要求発行部に指示するとともに、変更された発行先の認証サーバへ発行した認証要求に対する応答が得られた場合に優先順位登録部の認証サーバの優先順位を、応答が得られた当該認証サーバを優先させる順位へ初期優先順位からの変更を行う認証要求リトライ部と
を有することを特徴とする画像処理装置。
【請求項7】
請求項6に記載された画像処理装置において、
前記認証要求リトライ部は、変更された発行先の認証サーバへ発行した認証要求に対する応答が得られない場合に、優先順位を初期優先順位に戻すことを特徴とする画像処理装置。
【請求項8】
請求項6又は7に記載された画像処理装置において、
前記認証要求リトライ部は、正常稼動していない認証サーバにリダイレクトしないようにすることを特徴とする画像処理装置。
【請求項9】
請求項6乃至8のいずれかに記載された画像処理装置において、
前記優先順位登録部は、前記初期優先順位を自動的に予め定められた優先順位で登録することを特徴とする画像処理装置。
【請求項10】
請求項6乃至9のいずれかに記載された画像処理装置において、
前記優先順位登録部は、認証要求に対する応答が得られた認証サーバによって認証時に行われるタイムスタンプを該サーバと対応付けて登録するとともに、
前記認証要求リトライ部は、タイムスタンプからの所定セッションタイムの経過を条件に優先順位を初期優先順位に戻すことを特徴とする画像処理装置。
【請求項11】
コンピュータを請求項1乃至5のいずれかに記載された情報処理装置が有する、前記構成情報作成部、前記認証要求発行部、前記優先順位登録部、前記構成情報修正部、前記認証要求リトライ部の各部として機能させるためのプログラム。
【請求項12】
コンピュータを請求項6乃至10のいずれかに記載された画像処理装置が有する、前記構成情報作成部、前記認証要求発行部、前記優先順位登録部、前記構成情報修正部、前記認証要求リトライ部の各部として機能させるためのプログラム。
【請求項13】
請求項11又は12に記載されたプログラムを記録したコンピュータ読取可能な記録媒体。
【請求項14】
ユーザーのログインを受け付け、受け付けたログインに対する認証をネットワーク接続可能な認証サーバを利用して行う情報処理装置におけるログインの認証方法であって、
ユーザーのログインを受け付ける工程と、
受け付けたユーザーのログインに対し、指定する認証サーバへ発行する認証要求の構成情報を作成する構成情報作成工程と、
認証要求の構成情報に基づいて認証要求を発行する認証要求発行工程と、
発行先として指定する利用可能な複数の認証サーバの優先順位を登録する優先順位登録工程と、
優先させた発行先の認証サーバへ発行した認証要求に対する応答が得られない場合に、前記優先順位登録工程で登録された次の順位の認証サーバを発行先に変更して発行するために、既存の認証要求の構成情報を修正する構成情報修正工程と、
修正された認証要求の構成情報に基づいて発行される認証要求の実行指示を前記認証要求発行工程に指示するとともに、変更された発行先の認証サーバへ発行した認証要求に対する応答が得られた場合に前記優先順位登録工程で登録した認証サーバの優先順位を、応答が得られた当該認証サーバを優先させる順位へ初期優先順位からの変更を行う認証要求リトライ工程と
を有することを特徴とするログインの認証方法。
【請求項15】
請求項14に記載されたログインの認証方法において、
前記認証要求リトライ工程は、変更された発行先の認証サーバへ発行した認証要求に対する応答が得られない場合に、優先順位を初期優先順位に戻すことを特徴とするログインの認証方法。
【請求項16】
請求項14又は15に記載されたログインの認証方法において、
前記認証要求リトライ工程は、正常稼動していない認証サーバにリダイレクトしないようにすることを特徴とするログインの認証方法。
【請求項17】
請求項14乃至16のいずれかに記載されたログインの認証方法において、
前記優先順位登録工程は、前記初期優先順位を自動的に予め定められた優先順位で登録することを特徴とするログインの認証方法。
【請求項18】
請求項14乃至17のいずれかに記載されたログインの認証方法において、
前記優先順位登録工程は、認証要求に対する応答が得られた認証サーバによって認証時に行われるタイムスタンプを該サーバと対応付けて登録するとともに、
前記認証要求リトライ工程は、タイムスタンプからの所定セッションタイムの経過を条件に優先順位を初期優先順位に戻すことを特徴とするログインの認証方法。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2011−164686(P2011−164686A)
【公開日】平成23年8月25日(2011.8.25)
【国際特許分類】
【出願番号】特願2010−23255(P2010−23255)
【出願日】平成22年2月4日(2010.2.4)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】