(57)【要約】【課題】JAASのKerberos認証システムにおいて、クライアントの認証要求に認証サーバが応答する際のフェイルオーバ時間を短縮すること。【解決手段】JAAS１３が優先順位に従い認証要求をKDCに発行する際に、ユーザーによる初期設定を反映して作成されたKerberos構成ファイル１５を基にKDCごとに認証要求を発行し、認証に成功したKDCを特定し、これを優先順位登録部６に登録し、Kerberos構成ファイル１５を修正することで、次回に認証要求リトライ部４が認証要求の発行先として優先させる。認証要求の発行先とするKDCの優先順位を認証要求時のKDCの状況に応じて最適化し、認証要求を発行する処理を行うことによって、フェイルオーバ時間を短縮する。【選択図】図６
2011164686.tif 000002
【特許請求の範囲】
【請求項１】
ユーザーのログインを受け付け、受け付けたログインに対する認証をネットワーク接続可能な認証サーバを利用して行う情報処理装置であって、
ユーザーのログインを受け付けるユーザーインターフェース部と、
受け付けたユーザーのログインに対し、指定する認証サーバへ発行する認証要求の構成情報を作成する構成情報作成部と、
認証要求の構成情報に基づいて認証要求を発行する認証要求発行部と、
発行先として指定する利用可能な複数の認証サーバの優先順位を登録する優先順位登録部と、
優先させた発行先の認証サーバへ発行した認証要求に対する応答が得られない場合に、前記優先順位登録部に登録された次の順位の認証サーバを発行先に変更して発行するために、既存の認証要求の構成情報を修正する構成情報修正部と、
修正された認証要求の構成情報に基づいて発行される認証要求の実行指示を前記認証要求発行部に指示するとともに、変更された発行先の認証サーバへ発行した認証要求に対する応答が得られた場合に優先順位登録部の認証サーバの優先順位を、応答が得られた当該認証サーバを優先させる順位へ初期優先順位からの変更を行う認証要求リトライ部と
を有することを特徴とする情報処理装置。
【請求項２】
請求項１に記載された情報処理装置において、
前記認証要求リトライ部は、変更された発行先の認証サーバへ発行した認証要求に対する応答が得られない場合に、優先順位を初期優先順位に戻すことを特徴とする情報処理装置。
【請求項３】
請求項１又は２に記載された情報処理装置において、
前記認証要求リトライ部は、正常稼動していない認証サーバにリダイレクトしないようにすることを特徴とする情報処理装置。
【請求項４】
請求項１乃至３のいずれかに記載された情報処理装置において、
前記優先順位登録部は、前記初期優先順位を自動的に予め定められた優先順位で登録することを特徴とする情報処理装置。
【請求項５】
請求項１乃至４のいずれかに記載された情報処理装置において、
前記優先順位登録部は、認証要求に対する応答が得られた認証サーバによって認証時に行われるタイムスタンプを該サーバと対応付けて登録するとともに、
前記認証要求リトライ部は、タイムスタンプからの所定セッションタイムの経過を条件に優先順位を初期優先順位に戻すことを特徴とする情報処理装置。
【請求項６】
ユーザーのログインを受け付け、受け付けたログインに対する認証をネットワーク接続可能な認証サーバを利用して行い、ログインに伴う処理要求に応じて処理対象の画像にデータ処理を施す画像処理装置であって、
ユーザーのログインを受け付けるユーザーインターフェース部と、
受け付けたユーザーのログインに対し、指定する認証サーバへ発行する認証要求の構成情報を作成する構成情報作成部と、
認証要求の構成情報に基づいて認証要求を発行する認証要求発行部と、
発行先として指定する利用可能な複数の認証サーバの優先順位を登録する優先順位登録部と、
優先させた発行先の認証サーバへ発行した認証要求に対する応答が得られない場合に、前記優先順位登録部に登録された次の順位の認証サーバを発行先に変更して発行するために、既存の認証要求の構成情報を修正する構成情報修正部と、
修正された認証要求の構成情報に基づいて発行される認証要求の実行指示を前記認証要求発行部に指示するとともに、変更された発行先の認証サーバへ発行した認証要求に対する応答が得られた場合に優先順位登録部の認証サーバの優先順位を、応答が得られた当該認証サーバを優先させる順位へ初期優先順位からの変更を行う認証要求リトライ部と
を有することを特徴とする画像処理装置。
【請求項７】
請求項６に記載された画像処理装置において、
前記認証要求リトライ部は、変更された発行先の認証サーバへ発行した認証要求に対する応答が得られない場合に、優先順位を初期優先順位に戻すことを特徴とする画像処理装置。
【請求項８】
請求項６又は７に記載された画像処理装置において、
前記認証要求リトライ部は、正常稼動していない認証サーバにリダイレクトしないようにすることを特徴とする画像処理装置。
【請求項９】
請求項６乃至８のいずれかに記載された画像処理装置において、
前記優先順位登録部は、前記初期優先順位を自動的に予め定められた優先順位で登録することを特徴とする画像処理装置。
【請求項１０】
請求項６乃至９のいずれかに記載された画像処理装置において、
前記優先順位登録部は、認証要求に対する応答が得られた認証サーバによって認証時に行われるタイムスタンプを該サーバと対応付けて登録するとともに、
前記認証要求リトライ部は、タイムスタンプからの所定セッションタイムの経過を条件に優先順位を初期優先順位に戻すことを特徴とする画像処理装置。
【請求項１１】
コンピュータを請求項１乃至５のいずれかに記載された情報処理装置が有する、前記構成情報作成部、前記認証要求発行部、前記優先順位登録部、前記構成情報修正部、前記認証要求リトライ部の各部として機能させるためのプログラム。
【請求項１２】
コンピュータを請求項６乃至１０のいずれかに記載された画像処理装置が有する、前記構成情報作成部、前記認証要求発行部、前記優先順位登録部、前記構成情報修正部、前記認証要求リトライ部の各部として機能させるためのプログラム。
【請求項１３】
請求項１１又は１２に記載されたプログラムを記録したコンピュータ読取可能な記録媒体。
【請求項１４】
ユーザーのログインを受け付け、受け付けたログインに対する認証をネットワーク接続可能な認証サーバを利用して行う情報処理装置におけるログインの認証方法であって、
ユーザーのログインを受け付ける工程と、
受け付けたユーザーのログインに対し、指定する認証サーバへ発行する認証要求の構成情報を作成する構成情報作成工程と、
認証要求の構成情報に基づいて認証要求を発行する認証要求発行工程と、
発行先として指定する利用可能な複数の認証サーバの優先順位を登録する優先順位登録工程と、
優先させた発行先の認証サーバへ発行した認証要求に対する応答が得られない場合に、前記優先順位登録工程で登録された次の順位の認証サーバを発行先に変更して発行するために、既存の認証要求の構成情報を修正する構成情報修正工程と、
修正された認証要求の構成情報に基づいて発行される認証要求の実行指示を前記認証要求発行工程に指示するとともに、変更された発行先の認証サーバへ発行した認証要求に対する応答が得られた場合に前記優先順位登録工程で登録した認証サーバの優先順位を、応答が得られた当該認証サーバを優先させる順位へ初期優先順位からの変更を行う認証要求リトライ工程と
を有することを特徴とするログインの認証方法。
【請求項１５】
請求項１４に記載されたログインの認証方法において、
前記認証要求リトライ工程は、変更された発行先の認証サーバへ発行した認証要求に対する応答が得られない場合に、優先順位を初期優先順位に戻すことを特徴とするログインの認証方法。
【請求項１６】
請求項１４又は１５に記載されたログインの認証方法において、
前記認証要求リトライ工程は、正常稼動していない認証サーバにリダイレクトしないようにすることを特徴とするログインの認証方法。
【請求項１７】
請求項１４乃至１６のいずれかに記載されたログインの認証方法において、
前記優先順位登録工程は、前記初期優先順位を自動的に予め定められた優先順位で登録することを特徴とするログインの認証方法。
【請求項１８】
請求項１４乃至１７のいずれかに記載されたログインの認証方法において、
前記優先順位登録工程は、認証要求に対する応答が得られた認証サーバによって認証時に行われるタイムスタンプを該サーバと対応付けて登録するとともに、
前記認証要求リトライ工程は、タイムスタンプからの所定セッションタイムの経過を条件に優先順位を初期優先順位に戻すことを特徴とするログインの認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ログインに対する認証をネットワーク接続可能な複数の認証サーバを利用して行うJAASのKerberos認証に関し、より詳しくは、クライアントの認証要求に認証サーバが応答する際のフェイルオーバ時間の短縮化を図る認証処理を行う情報処理装置、画像処理装置、ログインの認証方法及び前記認証処理を実行するためのプログラム及び記録媒体に関する。
【背景技術】
【０００２】
公開された、例えばインターネットなどのネットワークで使うために開発された認証システムであるKerberos（登録商標、以下同様）では、冗長化を目的として、認証サーバとして１つのマスタ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認証システムが持つことは、知られるところである。
【０００３】
ただ、既存のSun OSに実装するKerberos認証サービスには、障害が発生したKDCが回復するまで優先させないように優先度を変える、といった対応を自動的に行うことで解決を図る機能もしくはどのKDCが応答したかを知る術を持たない。このため、次回認証を要求した場合に、再度マスタKDCから実行せざるを得ず、正常に動作するサーバが応答するまでのフェイルオーバ時間が掛かってしまう問題があった。
ところで、特許文献１には、ディスクアレイ装置等のストレージ装置を共用する複数のサーバを結合したクラスタシステムにおいて、あるサーバに障害が発生した場合に、代替サーバが処理やデータを引き継ぐフェイルオーバ機能が示されている。この従来技術では、ストレージ装置が状況検出部と優先度制御部を備え、サーバ側の状況をストレージ装置側からサーバの状況を観測し、観測結果に応じて処理の優先度を制御することにより、フェイルオーバ時間の短縮を図る動作を行うことが記載されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に示される従来技術では、サーバ状況の観測結果は、障害等の発生時に、処理やデータを引き継ぐ代替サーバの処理の優先度を高め、引き継ぎ時にフェイルオーバ時間が長引くことを避けることに利用され、またフェイルオーバ機能をハードウェアで実現するもので、JAASのKerberos認証サービスにおいて認証要求を行うクライアント側の動作により起きる上記したフェイルオーバ時間の問題を解決することができない。
本発明は、JAASのKerberos認証システムにおける上述の従来技術の問題に鑑みてなされたもので、その目的は、複数の認証サーバと、これらにネットワークを介して接続されるクライアントとしての情報処理装置をシステム要素として構成する認証システムにおいて、クライアントの認証要求に認証サーバが応答する際のフェイルオーバ時間を短縮することにある。
【課題を解決するための手段】
【０００５】
本発明は、ユーザーのログインを受け付け、受け付けたログインに対する認証をネットワーク接続可能な認証サーバを利用して行う情報処理装置であって、ユーザーのログインを受け付けるユーザーインターフェース部と、受け付けたユーザーのログインに対し、指定する認証サーバへ発行する認証要求の構成情報を作成する構成情報作成部と、認証要求の構成情報に基づいて認証要求を発行する認証要求発行部と、発行先として指定する利用可能な複数の認証サーバの優先順位を登録する優先順位登録部と、優先させた発行先の認証サーバへ発行した認証要求に対する応答が得られない場合に、前記優先順位登録部に登録された次の順位の認証サーバを発行先に変更して発行するために、既存の認証要求の構成情報を修正する構成情報修正部と、修正された認証要求の構成情報に基づいて発行される認証要求の実行指示を前記認証要求発行部に指示するとともに、変更された発行先の認証サーバへ発行した認証要求に対する応答が得られた場合に優先順位登録部の認証サーバの優先順位を、応答が得られた当該認証サーバを優先させる順位へ初期優先順位からの変更を行う認証要求リトライ部とを有することを特徴とする。
本発明は、ユーザーのログインを受け付け、受け付けたログインに対する認証をネットワーク接続可能な認証サーバを利用して行い、ログインに伴う処理要求に応じて処理対象の画像にデータ処理を施す画像処理装置であって、ユーザーのログインを受け付けるユーザーインターフェース部と、受け付けたユーザーのログインに対し、指定する認証サーバへ発行する認証要求の構成情報を作成する構成情報作成部と、認証要求の構成情報に基づいて認証要求を発行する認証要求発行部と、発行先として指定する利用可能な複数の認証サーバの優先順位を登録する優先順位登録部と、優先させた発行先の認証サーバへ発行した認証要求に対する応答が得られない場合に、前記優先順位登録部に登録された次の順位の認証サーバを発行先に変更して発行するために、既存の認証要求の構成情報を修正する構成情報修正部と、修正された認証要求の構成情報に基づいて発行される認証要求の実行指示を前記認証要求発行部に指示するとともに、変更された発行先の認証サーバへ発行した認証要求に対する応答が得られた場合に優先順位登録部の認証サーバの優先順位を、応答が得られた当該認証サーバを優先させる順位へ初期優先順位からの変更を行う認証要求リトライ部とを有することを特徴とする。
本発明は、ユーザーのログインを受け付け、受け付けたログインに対する認証をネットワーク接続可能な認証サーバを利用して行う情報処理装置におけるログインの認証方法であって、ユーザーのログインを受け付ける工程と、受け付けたユーザーのログインに対し、指定する認証サーバへ発行する認証要求の構成情報を作成する構成情報作成工程と、認証要求の構成情報に基づいて認証要求を発行する認証要求発行工程と、発行先として指定する利用可能な複数の認証サーバの優先順位を登録する優先順位登録工程と、優先させた発行先の認証サーバへ発行した認証要求に対する応答が得られない場合に、前記優先順位登録工程で登録された次の順位の認証サーバを発行先に変更して発行するために、既存の認証要求の構成情報を修正する構成情報修正工程と、修正された認証要求の構成情報に基づいて発行される認証要求の実行指示を前記認証要求発行工程に指示するとともに、変更された発行先の認証サーバへ発行した認証要求に対する応答が得られた場合に前記優先順位登録工程で登録した認証サーバの優先順位を、応答が得られた当該認証サーバを優先させる順位へ初期優先順位からの変更を行う認証要求リトライ工程とを有することを特徴とする。
【発明の効果】
【０００６】
本発明によって、複数の認証サーバと、これらにネットワークを介して接続されるクライアントとしての情報処理装置をシステム要素として構成する認証システムにおいて、認証要求への応答結果によって、発行先として指定する利用可能な複数の認証サーバの優先順位を変更して、認証要求を行えるようにすることで、認証サーバが応答する際のフェイルオーバ時間を短縮することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の画像処理装置の実施形態に係るハードウェア構成を示すブロック図である。
【図２】本発明の情報処理装置（画像処理装置）における認証サーバとして用いるコンピュータのハードウェア構成を示すブロック図である。
【図３】一般的なKerberos認証システムにおけるクライアントのソフトウェア構成を示すブロック図である。
【図４】図３の認証システムで作成されるKerberos構成ファイルの１例を示すブロック図である。
【図５】図３の認証システムの認証要求時におけるクライアントの処理シーケンスを示す図である。
【図６】本発明の実施形態に係るKerberos認証システムにおけるクライアントのソフトウェア構成を示すブロック図である。
【図７】図６の認証システムで初回ログイン時に作成されるKerberos構成ファイルの１例を示すブロック図である。
【図８】図６の認証システムの認証要求時におけるクライアントの処理シーケンスを示す図である。
【図９】図６の認証システムでリトライ時に作成されるKerberos構成ファイルの１例を示すブロック図である。
【発明を実施するための形態】
【０００８】
本発明の実施形態について、添付図面を参照して説明する。
以下に示す実施形態は、認証サーバとしてのKDCを複数指定できるJAASのKerberos認証システムを構成する例を示す。
また、ネットワーク上でKDCを利用するクライアント装置にＭＦＰ（複写、プリンタ、スキャナ等の機能を複合して持つ複合機）等の画像処理装置を適用した例を示す。なお、ＭＦＰは、スキャナ読み取りにより画像データを生成する機能やスキャナ入力や外部機からネットワーク経由で入力される画像データ（印刷要求を含む）をもとに画像出力や外部機へのネットワーク配信に用いる画像データの処理を行う装置であり、共用されることが多く、Kerberos認証の必要性が高い画像処理装置の１つである。
ただ、基本的には、例示するＭＦＰ等の画像処理装置を対象にした以下に示す手法を、ログインに対するKerberos認証を必要とする例えば、共用されるＰＣ（Personal Computer）等の他の情報処理装置に適用することにより、こうした情報処理装置に対しても同様に実施することができる。
【０００９】
「クライアント装置のハードウェア構成」
図１は、本実施形態のクライアント装置としての画像処理装置のハードウェア構成を示すブロック図である。
図１に示す画像処理装置１００は、コントローラ１１０のもとに画像処理装置１００全体が制御され、複写、プリンタ、スキャナ等の機能を利用する際にも必要となる各種デバイスの動作をコントローラ１１０が制御する。
コントローラ１１０は、ソフトウエアプログラムの命令を実行するためのＣＰＵ（Central Processing Unit）１１１と、該プログラムを格納するためのＲＯＭ（Read Only Memory）１１２と、該プログラムの動作によって作成されるページメモリやプログラムの動作に必要なワークメモリとして利用するＲＡＭ（Random Access Memory）１１３と、画像処理装置１００を適正に動作させるための設定条件などを保存しておく不揮発性メモリであるＮＶＲＡＭ１１４よりなるコンピュータで構成する。
【００１０】
また、コントローラ１１０の構成要素として、ネットワーク上に接続された外部機１２０とデータのやり取りを行うためのネットワークＩ／Ｆ（インターフェース）１１５とエンジン１３０との間で印刷指令等の動作の指示を行うエンジンＩ／Ｆ１１６と、ユーザーインターフェース（ＵＩ）として機能する操作パネル１４０との間でデータのやり取りを行うための操作パネルＩ／Ｆ１１７を有する。
なお、ネットワークＩ／Ｆ１１５を介して接続される外部機１２０としては、ホストＰＣや後述する認証サーバなどが含まれる。エンジンＩ／Ｆ１１６を介して接続されるエンジン１３０としては、スキャナやプリンタなどが含まれる。操作パネル１４０は、表示部とキー等の入力操作を受付ける入力部とを備え、対話形式のＵＩ機能を提供する。
【００１１】
「認証サーバのハードウェア構成」
図２は、本実施形態に係る認証サーバのハードウェア構成を示すブロック図である。
この認証サーバ２００のハードウェアは、ＰＣで構成することができ、バス２１０と、それぞれがバス２１０に接続されたＣＰＵ２１２、メモリ２１３、通信装置２１４、表示装置２１５、ＨＤ（Hard Disk）ドライブ２１６、入力装置２１７、ＣＤ（Compact Disk）−ＲＯＭ（Read Only Memory）ドライブ２１８及びＦＤ(Flexible Disk)ドライブ２１９を有する。
ＣＰＵ２１２は、この認証サーバ２００の動作を制御する。メモリ２１３は、ＣＰＵ２１２が起動時に実行するプログラムや必要なデータ等を記憶するためのＲＯＭ、ＣＰＵ２１２のワークエリア等を構成するためのＲＡＭなどからなる。
ＣＰＵ２１２は、ＲＡＭをワークメモリとして用いることにより、ＲＯＭ、ＨＤドライブ２１６などに格納されたソフトウェア（プログラム）を動作させ、これらの要素で構成するコンピュータを動作制御部として機能させる。このコンピュータは、本実施形態では、認証サーバとしてのKDCの処理を実行するためのプログラムを駆動することにより、これらの処理手段として機能する。
【００１２】
通信装置２１４は、この認証サーバ２００をインターネットなどのネットワークに接続し、画像処理装置（クライアント装置）１００（図１）等とのデータ交換を行うための装置で、このネットワークによりJAASのKerberos認証システムを構成する。
表示装置２１５は、この認証サーバ２００を操作するための画面や動作状態を表示する。
入力装置２１７は、キーボードやマウスなどからなり、この認証サーバ２００に対する種々のキー操作や指示の入力を行うためのものである。
ＨＤドライブ２１６は、KDCの処理を実行するためのプログラム、ワークデータ、及びファイルデータなどを記憶する。ＣＤ−ＲＯＭドライブ２１８は、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記録媒体の読み出しを行うための装置である。ＦＤドライブ２１９は、フレキシブルディスクに対する書き込み及び読み出しを行うための装置である。
【００１３】
「認証システムとその動作」
クライアント装置としての画像処理装置１００とネットワークで接続された認証サーバ２００とにより構成するJAASのKerberos認証システムと、この認証システムにおける認証時の動作を詳細に説明する。
以下の説明では、認証サーバとして１つのマスタKDC（master.sample.com）と２つのスレーブKDC（slave1.sample.com，slave2.sample.com）からレルム環境を構成する実施例を示す。また、利用する認証サーバの優先順位が予め設定されるが、その初期設定は、master.sample.com，slave1.sample.com，slave2.sample.comの順とする。
【００１４】
〈先行技術〉
本発明に係る実施形態を説明する前に、先ず、JAASのKerberos認証システムとして、本発明と共通の手段を一部に用いて構成する先行技術の該認証システムの１例を図３〜５を参照して、説明する。なお、ここでは、この認証システムのクライアントの構成に特徴部分があり、認証サーバとしてのKDC自体は、既存の技術を適用することにより実施することができるので、認証サーバの詳細な説明は省略する。
図３は、JAAS API（Application Program Interface）を利用してKerberos認証を行うためにクライアント装置が用いる先行技術のソフトウェア構成を示すブロック図である。
図３に示すように、クライアント装置は、クライアントJava（登録商標） VM（Virtual Machine）１０として、Kerberosクライアント９とJAAS（Java（登録商標） Authentication and Authorization Service）１３を有する。また、クライアントJava（登録商標）
VM１０は、ネットワーク３０を介して１つのマスタKDC（master.sample.com）２０と２つのスレーブKDC２１，２２（slave1.sample.com，slave2.sample.com）と接続する。
【００１５】
Kerberosクライアント９は、ＵＩ（ユーザーインターフェース）部１と、Kerberos構成ファイル（krb5.conf）１５を作成する構成ファイル作成部２と、JAAS１３に認証を依頼する認証要求部３を構成要素とする。
JAAS１３は、LoginContext１１とKrb5LoginModule１２を構成要素とし、後述するように、認証要求を認証サーバとしてのKDCへ発行する際の処理を行う。
構成ファイル作成部２が作成するKerberos構成ファイル１５には、Kerberosクライアント９、認証サーバ（KDC）２０〜２２、管理用ユーティリティ及びKDC自身にリンクされる、Kerberosライブラリに必要な情報がすべて含まれる。
図４は、Kerberos構成ファイル１５の１例を示すものである。
図４に示す例では、[realms]の記述のもと、SAMPLE.COMレルム内に、１つのマスタKDC（master.sample.com）と２つのスレーブKDC（slave1.sample.com，slave2.sample.com）よりなる３つのKDCがユーザーによって設定された優先順位に従って定義されている。
【００１６】
クライアントJava（登録商標） VM１０が行う認証要求の処理過程を、図５の処理手順を表すシーケンス図を参照して説明する。
ＵＩ部１は、このKerberos認証に必要な情報を入力するインターフェースと、ユーザー認証に必要なユーザー情報を入力するインターフェースを持つ。従って、これらのインターフェースを介して行われるそれぞれの入力に応じて行うシーケンスを図５に示している。
Kerberos認証に必要な情報は、ユーザーの操作によって、Kerberosクライアント９のＵＩ部１を介してKDC設定として入力される(図５，シーケンス１)。
このとき、ＵＩ部１は、入力されたKerberos認証に必要な情報の中から利用するKDCの優先順位を定める情報を構成ファイル作成部２に渡す(図５，シーケンス１.１)。
次に、構成ファイル作成部２は、ＵＩ部１から渡された利用するKDCの優先順位を定める情報等をもとに、既定のフォーマットに従いKerberos構成ファイル１５を作成する(図５，シーケンス１.２)。なお、作成されるKerberos構成ファイル１５（krb5.conf）には、[realms]の記述のもとに、KDCがユーザーによって設定された優先順位で定義される。
【００１７】
また、ユーザーの操作によって、Kerberosクライアント９のＵＩ部１を介してログインの入力がなされる(図５，シーケンス２)。
このとき、ＵＩ部１は、ユーザーのログインを受付け、ログインに示されたユーザー情報を付して認証要求部３に認証要求の処理を依頼する。この依頼を受けた認証要求部３は、ＵＩ部１から渡されたユーザー情報を用いJAAS API のLoginContext１１と対話し認証要求を行う(図５，シーケンス２.１)。
次いで、Krb5LoginModule１２は、LoginContext１１を介して受付けた認証要求に応じてKerberosプロトコルを使用して認証サーバへユーザー認証要求を発行する。この処理の手順としては、Krb5LoginModule１２は、構成ファイル作成部２が上記シーケンス１.２で作成したKerberos構成ファイル１５（krb5.conf）を読み込み(図５，シーケンス２.１.１)、Kerberos構成ファイル１５の記述に従い、Kerberosプロトコルを使用してKDCへユーザー認証要求を発行する(図５，シーケンス２.１.２，２.１.３，２.１.４)。
【００１８】
図４に例示したKerberos構成ファイルによると、Krb5LoginModule１２は、KDCリストの記述における上から順に、即ち（master.sample.com,slave1.sample.com,slave2.sample.com）の順に認証をリダイレクトする。
例えば、master.sample.comのKDCへユーザー認証要求を発行し(図５，シーケンス２.１.２)、発行したKDCに何らかの障害が発生し、設定されたタイムアウト時間（kdc_timeoutの値：ミリ秒）内に応答が無い場合には、次の順位のslave1.sample.comに対して自動的にリダイレクトし、認証要求を発行する(図５，シーケンス２.１.３)。
同様に、slave1.sample.comのKDCに障害が発生し、タイムアウト時間内に応答が無い場合には、次の順位のslave2.sample.comに対して認証要求を発行する(図５，シーケンス２.１.４)。
ここで、slave2.sample.comからはタイムアウト時間内に応答があり、このKDCにより認証に成功した場合には、認証結果がKerberosクライアント９に伝えられ、またログインの可、不可をログイン結果として操作パネルの表示部を通してユーザーに通知する。
【００１９】
上記のように、先行技術によって、予めユーザーの入力により定めた優先順位で複数のKDCに自動でリダイレクトする機能が実現される。
ただ、クライアントJava（登録商標） VM１０のJAAS１３には、上記の例のように、master.sample.comとslave1.sample.comからの応答が得られず、slave2.sample.comで認証に成功した場合、この状況を知る術がなく、KDCの優先順位をそのときの状況に合わせて最適化する機能を用意していないため、次回認証を要求した場合に、再度master.sample.comから実行してしまい、状況が変わらなければ、以前と同様に応答時間が掛かってしまうことになってしまう。
【００２０】
〈本発明の実施形態〉
そこで、本発明の実施形態では、優先順位に従ってKDCへの認証要求を発行する際に、初回には、予め定めた初期優先順位に従い認証要求をKDCへ発行し、いずれかのKDCで認証に成功した場合に、そのとき認証に成功した、即ち認証結果を得たKDCを次回に認証要求を発行するときに発行先として優先させる。
このために、本実施形態は、優先順位に従い認証要求をKDCに発行する際に、KDCごとに認証要求を発行し、認証に成功したKDCを特定できるようにし、次回に特定したKDCを認証要求の発行先として優先させるために必要な情報を管理する。
このように、認証要求時のKDCの状況に応じて、要求の発行先とするKDCの優先順位を最適化し、認証要求を発行する処理を行うことによって、先行技術の上記問題を解決する。
【００２１】
本実施形態のJAASのKerberos認証システムの１例を図６〜９を参照して、説明する。なお、ここでは、この認証システムのクライアントの構成に特徴部分があり、認証サーバとしてのKDC自体は、既存の技術を適用することにより実施することができるので、認証サーバの詳細な説明は省略する。
図６は、JAAS API（Application Program Interface）を利用してKerberos認証を行うためにクライアント装置（図１の画像処理装置１００)が用いるソフトウェア構成を示すブロック図である。
図６に示すように、クライアント装置は、クライアントJava（登録商標） VM（Virtual Machine）１０として、Kerberosクライアント９とJAAS（Java（登録商標） Authentication and Authorization Service）１３を有する。また、クライアントJava（登録商標）
VM１０は、ネットワーク３０を介して１つのマスタKDC（master.sample.com）２０と２つのスレーブKDC２１，２２（slave1.sample.com，slave2.sample.com）と接続する。
【００２２】
Kerberosクライアント９は、ＵＩ（ユーザーインターフェース）部１と、Kerberos構成ファイル（krb5.conf）１５を作成する構成ファイル作成部２と、JAAS１３に認証を依頼する認証要求部３と、認証要求部３に対し要求を繰り返し行うことが可能な認証要求リトライ部４と、認証要求リトライ部４の指示でKerberos構成ファイル１５を修正する構成ファイル修正部５と、認証要求リトライによって変更される接続するKDCの優先順位を登録する優先順位登録部６を構成要素とする。
なお、上記ＵＩ部１は、Kerberos認証に必要な情報として、接続するKDCの優先順位等を入力するインターフェースと、ユーザー認証に必要なユーザー情報を入力するインターフェースを持つ。また、構成ファイル作成部２は、ＵＩ部１から渡されたKerberos認証に必要な情報を元に、既定のフォーマットに従いKerberos構成ファイル１５を作成する。これらの点では、上述の先行技術におけるKerberosクライアントと同様である。
【００２３】
JAAS１３は、LoginContext１１とKrb5LoginModule１２を構成要素とし、後述するように、認証要求を認証サーバとしてのKDCへ発行する際の処理を行う。
構成ファイル作成部２が作成するKerberos構成ファイル１５には、Kerberosクライアント９、認証サーバ（KDC）２０〜２２、管理用ユーティリティ及びKDC自身にリンクされる、Kerberosライブラリに必要な情報がすべて含まれる。
図７は、本実施形態で作成されるKerberos構成ファイル１５の１例を示すものである。
図７に示す例では、[realms]の記述のもと、SAMPLE.COMレルム内に、１つのKDCだけが設定される。なお、図７の例では、ユーザーによって設定された優先順位の先頭のマスタKDC（master.sample.com）だけが定義されている。これは、１つのKDCだけを設定し認証要求のリトライ動作を行うことにより、認証に成功したKDCを特定できるようにするためである。このリトライ動作については、下記の処理手順で詳細に説明する。
【００２４】
クライアントJava（登録商標） VM１０が行う認証要求の処理過程を、図８の処理手順を表すシーケンス図を参照して説明する。
先ず、ユーザーの操作によってKerberosクライアント９のＵＩ部１を介して、Kerberos認証に必要な情報が、KDC設定として入力される（図８，シーケンス１）。
このとき、ＵＩ部１は、入力されたKerberos認証に必要な情報の中から利用するKDCの優先順位を定める情報を構成ファイル作成部２に渡す(図８，シーケンス１.１)。
次に、構成ファイル作成部２は、ＵＩ部１から渡された利用するKDCの優先順位を定める情報等をもとに、既定のフォーマットに従いKerberos構成ファイル１５を作成する（図８，シーケンス１.２）。なお、作成されるKerberos構成ファイル１５（krb5.conf）には、[realms]の記述のもとに、KDCがユーザーによって設定された優先順位で定義される（図４、参照）。ここまでのシーケンスは、図５に示した先行技術のシーケンスと変わりがなく、作成されるKerberos構成ファイル１５は、図４に示したものと同じである。
【００２５】
また、ユーザーの操作によって、Kerberosクライアント９のＵＩ部１を介してログインの入力がなされる（図８，シーケンス２）。
このとき、クライアント装置と認証サーバとしてのKDCとの間のSession Timeout（セッションタイムアウト）が確認され、Session Timeoutであれば、優先順位を初期化する（図８，シーケンス２.１）。この実施形態では、セッションタイムとして、前回のログイン時刻（この実施形態では、ログインの認証時刻）から所定時間を決め、その時間が経過するまでは、優先順位を初期化しないで、前回のログインに対して行った認証要求の処理結果に応じてKDCの優先順位を変更し、変更した優先順位に従った処理を行う。つまり、認証要求のリトライ動作（後記で詳述）を行うことにより、認証に成功したKDCを次回の認証要求を発行するときの発行先として優先させる動作を実施するタイムリミットをセッションタイムによって定める。
【００２６】
上記のセッションタイムは、認証システムの構成を含めさまざまな要因により適正な値が異なるので、例えば、認証システムの構成ごとに得られた経験値をもとにそれぞれの認証システムに適応する値が定められる。
Session Timeoutで初期化するときに設定される初期優先順位は、例えば、認証システムを稼動した際の成功率の高さや処理時間を経験値としてその統計データを求め、求められたデータをもとに認証システムを構成するKDCに予め順位を付け、クライアント装置内に保存しておく。
認証要求リトライ部４は、クライアント装置自身が発する初期化の指令を受け、保存しておいた初期優先順位を優先順位登録部６に登録することにより、実行時にこの優先順位を適用する。
【００２７】
Session Timeoutで優先順位を初期化した場合には、ログインしたユーザーが操作パネルから認証に用いるKDCの優先順位を指定する入力を行うことがあるので、入力された場合には、入力された優先順位と初期設定との異同を確認する（図８，シーケンス２.２）。
ユーザーによって入力された優先順位が、初期化時に設定された初期優先順位と異なる場合に、構成ファイル修正部５は、上述のシーケンス１.２で作成されたKerberos構成ファイル１５をユーザーの入力に従って修正する（図８，シーケンス２.３）。このとき、この実施形態では、図７で例示したように、ユーザーによって設定された優先順位の１番目のマスタKDC（master.sample.com）だけを定義する修正がKerberos構成ファイル１５に加えられる。
【００２８】
Kerberos構成ファイル１５の修正後、ＵＩ部１からのユーザーのログインを受付けた認証要求リトライ部４は、ログインに示されたユーザー情報を付して認証要求部３に認証要求の処理を依頼する。この依頼を受けた認証要求部３は、ＵＩ部１から渡されたユーザー情報を用いJAAS APIのLoginContext１１と対話し認証要求を行う（図８，シーケンス２.４）。
次いで、Krb5LoginModule１２は、LoginContext１１を介して受付けた認証要求に応じてKerberosプロトコルを使用して認証サーバへユーザー認証要求を発行する。この処理の手順としては、Krb5LoginModule１２は、構成ファイル作成部２が上記図８，シーケンス２.３で修正したKerberos構成ファイル１５（krb5.conf）を読み込み（図８，シーケンス２.４.１）、Kerberos構成ファイル１５の記述に従い、Kerberosプロトコルを使用して優先順位の１番目のKDCへユーザー認証要求を発行する（図８，シーケンス２.４.２）。
【００２９】
図８のシーケンスでは、シーケンス２.４.２で発行した優先順位の１番目のKDCに何らかの障害が発生し、設定されたタイムアウト時間（kdc_timeoutの値：ミリ秒）内に応答が無かった場合であり、この場合には、次の順位のKDCに対して認証要求を発行する。
このための手順として、構成ファイル修正部５は、上述のシーケンス２.３で修正されたKerberos構成ファイル１５を、さらにユーザーの入力で指示された優先順位に従って発行先のKDCの修正を行う（図８，シーケンス２.５）。このとき、この実施形態では、図９のKerberos構成ファイルに示すように、[realms]の記述のもと、SAMPLE.COMレルム内に、ユーザーによって設定された優先順位の２番目のKDCだけを定義する修正が加えられる。
【００３０】
Kerberos構成ファイル１５の修正後、ＵＩ部１からのユーザーのログインを受付けた認証要求リトライ部４は、ログインに示されたユーザー情報を付して認証要求部３に認証要求の処理を依頼する。この依頼を受けた認証要求部３は、ＵＩ部１から渡されたユーザー情報を用いJAAS APIのLoginContext１１と対話し認証要求を行う（図８，シーケンス２.６）。
次いで、Krb5LoginModule１２は、LoginContext１１を介して受付けた認証要求に応じてKerberosプロトコルを使用して認証サーバへユーザー認証要求を発行する。この処理の手順としては、Krb5LoginModule１２は、構成ファイル作成部２が上記図８，シーケンス２.５で修正したKerberos構成ファイル１５（krb5.conf）を読み込み（図８，シーケンス２.６.１）、Kerberos構成ファイル１５の記述に従い、Kerberosプロトコルを使用して優先順位の２番目のKDCへユーザー認証要求を発行する（図８，シーケンス２.６.２）。
【００３１】
ここで、２番目のKDCからはタイムアウト時間内に応答があり、このKDCにより認証に成功した場合には、認証結果がKerberosクライアント９に通知される。なお、Kerberosクライアント９が受取る認証結果には、認証の成功、失敗の結果とともに、認証したKDCを特定する情報及びこのときの時刻が付加されている。なお、前記時刻は、認証結果の通知時の時刻でもよいが、認証時にKDCで付したタイムスタンプが付加されている場合には、このタイムスタンプとする。
この認証結果を受取ったKerberosクライアント９の認証要求リトライ部４は、通知された優先順位登録部６に認証に成功した正常稼動中のKDCとタイムスタンプを対応付けて登録する。この登録は、次回に用いるKDCの優先順位の変更をするので、認証に成功した正常稼動中のKDCを優先順位の１番目にして登録を行う（図８，シーケンス２.７）。
なお、この優先順位の変更を行う場合に、このログインに対して発行された認証要求に応答せず、認証に失敗したKDCには、リダイレクトしないようにする。これは、失敗直後には、先の失敗の原因が除かれ、リトライで成功する可能性が低いので、認証に失敗したKDCを加えると、フェイルオーバ時間を短縮するためには、負の要因になると考えられるからである。
【００３２】
また、認証要求リトライ部４は、認証時にKDCで付したタイムスタンプが好適である、この認証結果を受取ったときの認証時刻をもとに、セッションを作成する（図８，シーケンス２.８）。
作成されたセッションの時刻はセッションの開始時刻となり、次回のユーザーログイン時においてSession Timeoutを確認するとき（図８，シーケンス２.１、参照）に用いられる。つまり、このセッションの開始時刻から始まるセッションタイムを越える、Session Timeoutをしなければ、今回変更した優先順位を使用して認証要求の発行先を決め、他方、Session Timeoutであれば、セッションをクリアとともに優先順位を初期化し、KDC復旧時にも対応可能にするという手順を行うことができるようにする。
また、認証の成功、失敗に従うログインの可、不可をログイン結果として操作パネルの表示部を通してユーザーに通知する。
【００３３】
〈優先順位の変更に付随する処理〉
本実施形態では、上記のように、セッションタイムを越えるまでは、前回ログイン時に正常に稼動したKDCを優先させるように変更した優先順位を使用して認証要求の発行先を決める。
ただ、変更した順位を適用して発行した認証要求に対して、常にそのKDCが正常に稼動する保証があるわけではない。
そこで、変更した順位を適用した発行先のKDCが正常に稼動しなかった場合には、優先順位を初期の設定に戻すようにする。この方法を用いることによって、KDCに生じる障害によっては、ログインの処理をより速く行うことが可能になる。
【００３４】
上述のように、本実施形態のJAASのKerberos認証システムによると、認証要求を、予めクライアント装置自身が初期条件として設定するか、もしくはユーザーの設定する優先順位に従い定めたKDCへ順次リトライして発行し、認証要求へ応答したKDCを優先させるように、利用可能な複数のKDCの優先順位を変更して、次回の認証要求の発行先とすることで、認証要求時のKDCの状況に応じて優先順位を適正化し、この順位に従い認証要求を発行することによって、フェイルオーバ時間を短縮することができる。さらに、認証要求へ応答したKDCのタイムスタンプからの経過時間をチェックし、所定時間経過（セッションタイムアウト）した場合に優先順位を初期化することで、KDC復旧時にも対応可能になり、最適化が可能になる。
【符号の説明】
【００３５】
１・・ＵＩ部、２・・構成ファイル作成部、３・・認証要求部、４・・認証要求リトライ部、５・・構成ファイル修正部、６・・優先順位登録部、９・・Kerberosクライアント、１０・・クライアントJava（登録商標） VM、１３・・JAAS（Java（登録商標） Authentication and Authorization Service）、１５・・Kerberos構成ファイル、２０・・マスタKDC、２１,２２・・スレーブKDC、３０・・ネットワーク、１００・・画像処理装置、１１０・・コントローラ、１１１・・ＣＰＵ、１１２・・ＲＯＭ、１１３・・ＲＡＭ、１１５・・ネットワークＩ／Ｆ、１１６・・エンジンＩ／Ｆ、１１７・・操作パネルＩ／Ｆ、１２０・・外部機、１３０・・エンジン、１４０・・操作パネル。
【先行技術文献】
【特許文献】
【００３６】
【特許文献１】特開２００５−３０１４４２号公報
【図１】
2011164686.tif 000003
【図２】
2011164686.tif 000004
【図３】
2011164686.tif 000005
【図４】
2011164686.tif 000006
【図５】
2011164686.tif 000007
【図６】
2011164686.tif 000008
【図７】
2011164686.tif 000009
【図８】
2011164686.tif 000010
【図９】
2011164686.tif 000011