説明

画像形成装置、認証システム、認証方法、プログラム及びコンピュータ読み取り可能な記憶媒体

【課題】ユーザの管理データを記憶する認証サーバで、複数の認証方法に対していずれの認証も行うことができるようにする。
【解決手段】ディレクトリサーバ104へのログインを行う場合に、ICカードを用いたログインを行うための設定情報又は操作部330からのユーザ入力情報を用いて、ケルベロス認証機能部13からディレクトリサーバ104に対してサービスチケットを要求し、当該要求により得られたサービスチケットを用いて、LDAP通信機能部14からディレクトリサーバ104に対して認証要求を行い、当該要求によりディレクトリサーバ104に対する認証が成功した場合に、カードリーダ340で読み取られたカード情報又はユーザ入力情報のユーザ名等を用いて、認証処理機能部12からディレクトリサーバ104に対して、ユーザに当該複合機101の使用を許可するための検索要求を行うようにする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認証サーバと通信可能に接続された画像形成装置、認証サーバと画像形成装置を含む認証システム、画像形成装置における認証方法、当該認証方法をコンピュータに実行させるためのプログラム、及び、当該プログラムを記憶するコンピュータ読み取り可能な記憶媒体に関するものである。
【背景技術】
【0002】
現在、ICカードを用いた複合機の認証技術やキーボードを使った複合機の認証技術は、広く普及している。このような複合機の認証システムでは、ICカードから読み取った情報やキーボードで入力された情報の照合先として、認証用サーバを利用している。
【0003】
認証用サーバには、複合機内に独自の認証データベースを作成して複合機自体を認証用サーバとして利用する方法や、複合機と同じネットワークに独自の認証サーバを構築する方法、既存の認証システムで使用されているディレクトリサーバを利用する方法などがある。
【0004】
例えば、特許文献1には、独自の認証サーバとディレクトリサーバを併用する仕組みが開示されている。具体的に、特許文献1には、ICカードを用いた認証(ICカード認証)の場合は、かざされたICカード情報を読み取り、独自の認証サーバにICカード情報を問い合わせる。そして、独自の認証サーバ上のテーブルにICカード情報が登録されていれば認証成功とみなし、登録されていなければ認証失敗とみなすようにしている。また、特許文献1には、キーボードを用いた認証(キーボード認証)の場合は、ユーザの入力したユーザ名、パスワード、ログイン先ドメインをもとに、ログインサービスPC経由でディレクトリサーバでの認証を行うようにしている。
【0005】
【特許文献1】特開2006−99714号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
以下に、背景技術で示したICカード認証及びキーボード認証を実現させるための認証システムについて説明する。
【0007】
図20は、背景技術で示したICカード認証及びキーボード認証を実現させるための認証システムの概略構成の一例を示す模式図である。
図20に示す認証システムは、複合機2010と、ICカード認証サーバ2020と、ログインサービスサーバ2030と、ディレクトリサーバ2040と、これらの装置を通信可能に接続するネットワーク105を有して構成されている。
【0008】
複合機2010は、カード読取機能部21、認証処理機能部22及びログインサービス接続機能部23を構成する認証アプリケーション20と、キーボードを含む操作部330と、ICカードの情報を読み取るカードリーダ340を有して構成されている。また、ICカード認証サーバ2020は、ICカード認証サービス部2021と、ICカード認証テーブル記憶部2022を有して構成されている。また、ログインサービスサーバ2030は、ログインサービス部2031を有して構成されている。また、ディレクトリサーバ2040は、LDAP(Lightweight Directory Access Protocol)サービス部2041と、管理データ記憶部2042を有して構成されている。
【0009】
図20に示す認証システムにおいて、ICカード認証の場合、まず、ユーザ200が複合機2010のカードリーダ340にICカードをかざすと、複合機2010のカード読取機能部21は、カードリーダ340を制御し、ICカードからカード情報を取得する。そして、カード読取機能部21は、取得したカード情報を認証処理機能部22に渡す。認証処理機能部22は、ICカード認証サーバ2020のICカード認証サービス部2021との接続を確立した後に、ICカード認証サービス部2021に対してカード情報の認証要求を発行する。
【0010】
そして、ICカード認証サービス部2021は、認証処理機能部22からの認証要求を受け付け、ICカード認証テーブル記憶部2022に記憶されているICカード認証テーブルを用いて該当するユーザ200の検索を行う。そして、ICカード認証サービス部2021は、検索結果を認証処理機能部22へ返答する。そして、認証処理機能部22は、検索結果を複合機2010の制御部に渡して、検索結果に応じた複合機2010へのログイン処理が行われる。
【0011】
また、図20に示す認証システムにおいて、キーボード認証の場合、まず、ユーザ200が複合機2010の操作部330におけるキーボードログイン画面でユーザ名、パスワード及びログイン先を入力し、ログインボタンを押下する。
【0012】
この場合、複合機2010の認証処理機能部22は、操作部330から入力されたユーザ入力情報(ユーザ名、パスワード及びログイン先)を複合機2010のログインサービス接続機能部23に渡して、認証を依頼する。そして、ログインサービス接続機能部23は、ユーザ入力情報のログイン先に示されたドメインを取り出し、当該ドメインを用いて、ログインサービスサーバ2030を検索する。続いて、ログインサービス接続機能部23は、検索されたログインサービスサーバ2030のログインサービス部2031に接続を行い、当該ログインサービス部2031に対して、ユーザ入力情報のユーザ名及びパスワードを渡して認証を依頼する。
【0013】
ログインサービス部2031は、ディレクトリサーバ2040上で起動するLDAPサービス部2041に接続する。続いて、ログインサービス部2031は、予め設定されたユーザ名及びパスワードを用いてLDAPサービス部2041にログインする。続いて、ログインサービス部2031は、LDAPサービス部2041にユーザ入力情報のユーザ名及びパスワードを渡す。
【0014】
そして、LDAPサービス部2041は、管理データ記憶部2042に管理され記憶されているユーザ情報と、ユーザ入力情報のユーザ名及びパスワードに従って、ユーザ200が正当なユーザであるか否かを判断する。そして、正当なユーザであるか否かの判断結果をログインサービス部2031に返答する。
【0015】
そして、ログインサービス部2031は、LDAPサービス部2041から受け取った判断結果をログインサービス接続機能部23に返答し、ログインサービス接続機能部23は、当該判断結果を認証処理機能部22に返答する。そして、認証処理機能部22は、ログインサービス接続機能部23から受け取った判断結果を複合機2010の制御部に渡して、当該判断結果に応じた複合機2010へのログイン処理が行われる。
【0016】
このように、背景技術で示したICカード認証及びキーボード認証を実現させるための認証システムでは、独自の認証サーバ(ICカード認証サーバ2020)とディレクトリサーバ2040を管理しなければならず、ユーザ情報としてICカード認証テーブル記憶部2022と管理データ記憶部2042の両方を管理する必要があった。これにより、認証システムの運用管理コストが増大してしまうという問題が生じていた。
【0017】
また、この問題を解決するために、例えば、ディレクトリサーバ2040においてICカードユーザ情報(ICカード認証テーブル)を管理することが考えられるが、ディレクトリサーバ2040では、ユーザ情報を検索するために、一旦、当該ディレクトリサーバ2040にログインする必要があるので、ユーザ名、パスワードが必要となる。この点、ICカード認証の場合には、パスワード等をICカード内に保存することが必要となり、この場合には、セキュリティ上の問題が生じる。より詳細に、セキュリティ上、パスワードは定期的に変更されるものであるのにもかかわらず、ICカードのように内部情報を定期的に変更しない媒体を利用した場合、ICカードに記憶されるパスワードが固定されてしまい、この点でセキュリティ上大きな問題が発生する。
【0018】
さらに、背景技術で示したICカード認証及びキーボード認証を実現させるための認証システムにおいては、ディレクトリサーバ2040に対して認証を行う場合に、ログインサービスPC(ログインサービスサーバ2030)を用意する必要があり、この点からも運用管理コストが増大してしまうという問題が生じる。また、この問題を解決するために、ログインサービス機能を複合機2010が行うことが考えられるが、この場合、PCに比べて処理速度が劣る複合機2010が直接ディレクトリサーバ2040と通信を行って認証処理を行うと、その煩雑な処理から認証に時間がかかってしまうという問題が発生してしまう。
【0019】
本発明は、ユーザの管理データを記憶する認証サーバで、複数の認証方法に対していずれの認証も行うことができる仕組みを提供することを目的とする。
【課題を解決するための手段】
【0020】
本発明の画像形成装置は、1ユーザに対して少なくともユーザ特定情報及びユーザ識別情報を含むユーザ管理情報を記憶する認証サーバと通信可能に接続された画像形成装置であって、ユーザを特定するためのユーザ特定情報を読み取る読取手段と、前記読取手段で読み取られたユーザ特定情報を認証するために用いられる、前記認証サーバに対してログインするための共通のユーザ識別情報及びパスワードを少なくとも含む第1のログイン情報を記憶するログイン情報記憶手段と、ユーザによる操作に応じて、ユーザ識別情報及びパスワードを少なくとも含む第2のログイン情報の入力操作を受け付ける操作手段と、前記認証サーバへのログインを行う場合に、前記第1のログイン情報または前記第2のログイン情報を用いて、前記認証サーバにログインする際の認証に利用される認証チケットを要求するチケット要求手段と、前記チケット要求手段による要求により得られた認証チケットを用いて、前記認証サーバに対して認証要求を行う認証要求手段と、前記認証要求手段による要求により前記認証サーバに対する前記認証チケットを用いた認証が成功した場合、前記ユーザ管理情報を検索するために前記読取手段で読み取られたユーザ特定情報または前記第2のログイン情報のユーザ識別情報の検索を、前記認証サーバに対して要求する検索要求手段とを有する。
【0021】
本発明の認証システムは、前記画像形成装置と、前記認証サーバと、印刷データを記憶するプリントサーバと、ユーザごとに印刷データ一覧を生成する印刷管理サーバとを有し、前記プリントサーバに記憶されている印刷データの印刷処理を行う際に、前記認証サーバにおいて前記画像形成装置の使用を許可されたユーザの印刷データ一覧を、前記印刷管理サーバから画像形成装置に出力する。
【0022】
本発明の認証方法は、1ユーザに対して少なくともユーザ特定情報及びユーザ識別情報を含むユーザ管理情報を記憶する認証サーバと通信可能に接続された画像形成装置における認証方法であって、ユーザを特定するためのユーザ特定情報を読取手段を用いて読み取る読取ステップと、前記読取ステップで読み取られたユーザ特定情報を認証するために用いられる、前記認証サーバに対してログインするための共通のユーザ識別情報及びパスワードを少なくとも含む第1のログイン情報を記憶するログイン情報記憶ステップと、ユーザによる操作手段の操作に応じて、ユーザ識別情報及びパスワードを少なくとも含む第2のログイン情報の入力を行う入力ステップと、前記認証サーバへのログインを行う場合に、前記第1のログイン情報または前記第2のログイン情報を用いて、前記認証サーバにログインする際の認証に利用される認証チケットを要求するチケット要求ステップと、前記チケット要求ステップによる要求により得られた認証チケットを用いて、前記認証サーバに対して認証要求を行う認証要求ステップと、前記認証要求ステップによる要求により前記認証サーバに対する前記認証チケットを用いた認証が成功した場合、前記ユーザ管理情報を検索するために前記読取ステップで読み取られたユーザ特定情報または前記第2のログイン情報のユーザ識別情報の検索を、前記認証サーバに対して要求する検索要求ステップとを有する。
【0023】
本発明のプログラムは、1ユーザに対して少なくともユーザ特定情報及びユーザ識別情報を含むユーザ管理情報を記憶する認証サーバと通信可能に接続された画像形成装置における認証方法をコンピュータに実行させるためのプログラムであって、ユーザを特定するためのユーザ特定情報を読取手段を用いて読み取る読取ステップと、前記読取ステップで読み取られたユーザ特定情報を認証するために用いられる、前記認証サーバに対してログインするための共通のユーザ識別情報及びパスワードを少なくとも含む第1のログイン情報を記憶するログイン情報記憶ステップと、ユーザによる操作手段の操作に応じて、ユーザ識別情報及びパスワードを少なくとも含む第2のログイン情報の入力を行う入力ステップと、前記認証サーバへのログインを行う場合に、前記第1のログイン情報または前記第2のログイン情報を用いて、前記認証サーバにログインする際の認証に利用される認証チケットを要求するチケット要求ステップと、前記チケット要求ステップによる要求により得られた認証チケットを用いて、前記認証サーバに対して認証要求を行う認証要求ステップと、前記認証要求ステップによる要求により前記認証サーバに対する前記認証チケットを用いた認証が成功した場合、前記ユーザ管理情報を検索するために前記読取ステップで読み取られたユーザ特定情報または前記第2のログイン情報のユーザ識別情報の検索を、前記認証サーバに対して要求する検索要求ステップとをコンピュータに実行させるためのものである。
【0024】
本発明のコンピュータ読み取り可能な記憶媒体は、前記プログラムを記憶する。
【発明の効果】
【0025】
本発明によれば、ユーザの管理データを記憶する認証サーバで、複数の認証方法に対していずれの認証も行うことができる。
【発明を実施するための最良の形態】
【0026】
以下、本発明を実施するための最良の形態について、添付図面を参照しながら詳細に説明する。
【0027】
(第1の実施形態)
図1は、本発明の第1の実施形態に係る認証システムの一例を示す外観図である。
本実施形態の認証システム100は、図1に示すように、複合機101と、クライアントPC103と、ディレクトリサーバ104と、これらの装置を相互に通信可能に接続するLAN(Local Area Network)等からなるネットワーク105を有して構成されている。ここで、複合機101は、ネットワーク105に複数設置されており、例えば、オフィスビルの階毎に設置されている。また、クライアントPC103は、ネットワーク105に複数設置されており、例えば、管理者毎に1台設置されている。また、ディレクトリサーバ104は、ネットワーク105に複数設置されており、例えば、拠点毎に設置されている。
【0028】
複合機101は、プリンタ、複写機、ファクシミリ等の機能を有する画像形成装置である。
【0029】
クライアントPC103は、複合機101の設定等を行うPCであり、例えば、ネットワーク105を介してHTTP(Hyper Text Transfer Protocol)で複合機101と通信することができる(例えば、マイクロソフト社のInternet Explorer(登録商標))機能を搭載したPCである。
【0030】
ディレクトリサーバ104は、本発明に係る認証サーバを構成する。
具体的に、ディレクトリサーバ104は、ネットワーク105上に存在するサーバや、クライアントPC103、複合機101等のハードウエア資源や、それらを使用するユーザの属性(例えば、マイクロソフト社のWindows(登録商標)のログインユーザ名やパスワード)、アクセス権等の情報を一元的に記憶管理するものであり、例えば、アクティブディレクトリ(Active Directory(登録商標))機能を搭載したサーバである。
【0031】
以下に、図1に示すクライアントPC103及びディレクトリサーバ104に適用可能なハードウエア構成について説明する。
図2は、図1に示すクライアントPC103及びディレクトリサーバ104のハードウエア構成の一例を示すブロック図である。
【0032】
図2に示すように、クライアントPC103及びディレクトリサーバ104は、CPU201と、RAM202と、ROM203と、システムバス204と、入力コントローラ205と、ビデオコントローラ206と、メモリコントローラ207と、通信インタフェース(通信I/F)コントローラ208と、キーボード(KB)209と、CRTディスプレイ(CRT)210と、外部メモリ211の各ハードウエア構成を有して構成されている。
【0033】
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御するプロセッサである。また、ROM203或いは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)、各クライアントPC103或いは各ディレクトリサーバ104の実行する機能を実現するために必要な各種のプログラム等が記憶されている。さらに、前記プログラム等の実行時に用いられる定義ファイル及び各種情報テーブル等も、ROM203或いは外部メモリ211に記録されているものとする。
【0034】
RAM202は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して、必要なプログラム等をROM203或いは外部メモリ211からRAM202にロードして、当該ロードしたプログラム等を実行することで各種の動作を実現する。
【0035】
入力コントローラ205は、キーボード(KB)209や不図示のマウス等のポインティングデバイスなどからの入力を制御する。
【0036】
ビデオコントローラ206は、表示装置であるCRTディスプレイ(CRT)210への表示を制御する。なお、図2では、表示装置としてCRTディスプレイ(CRT)を適用した例を示しているが、表示装置としてCRTディスプレイ(CRT)だけでなく、例えば、液晶ディスプレイ等を適用する形態であってもよい。これらは、必要に応じて管理者が使用するものである。
【0037】
メモリコントローラ207は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種のデータ等を記憶するハードディスク(HD)や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
【0038】
通信I/Fコントローラ208は、ネットワーク105を介して外部装置と接続し通信を行うためのものであり、ネットワーク105に対する通信制御処理を実行する。例えば、通信I/Fコントローラ208は、TCP/IPを用いた通信等を行うことが可能である。また、図2の破線で囲まれた領域は、例えば、コントローラユニットとして構成される領域である。
【0039】
なお、CPU201は、例えば、RAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRTディスプレイ(CRT)210上における表示を可能としている。また、CPU201は、CRTディスプレイ(CRT)210上に表示された不図示のマウスカーソル等を介してユーザからの指示を受け付け可能となっている。
【0040】
次に、図1に示す複合機101に適用可能なハードウエア構成について説明する。
図3は、図1に示す複合機101のハードウエア構成の一例を示すブロック図である。
【0041】
図3に示すように、複合機101は、コントローラユニット320と、操作部330と、カードリーダ340と、プリンタ350と、スキャナ360の各ハードウエア構成を有して構成されている。
【0042】
また、コントローラユニット320は、CPU301と、RAM302と、ROM303と、ハードディスクドライブ(HDD)304と、ネットワークインタフェース(Network_I/F)305と、モデム(MODEM)306と、操作部インタフェース(操作部I/F)307と、イメージバスインタフェース(IMAGE_BUS_I/F)308と、外部インタフェース(外部I/F)309と、システムバス310と、ラスタイメージプロセッサ(RIP)311と、プリンタインタフェース(プリンタI/F)312と、スキャナインタフェース(スキャナI/F)313と、画像処理部314と、画像バス315の各ハードウエア構成を有して構成されている。
【0043】
コントローラユニット320は、画像入力デバイスとして機能するスキャナ360や、画像出力デバイスとして機能するプリンタ350と接続する一方、ネットワーク105や、例えばPSTNまたはISDN等の公衆回線網(WAN)と接続することで、画像データやデバイス情報の入出力を行う。
【0044】
CPU301は、システムバス310及び画像バス315に接続される各デバイスを統括的に制御するプロセッサである。
【0045】
RAM302は、CPU301が動作するためのワークメモリであり、また、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリの機能も有する。
【0046】
ROM303は、システムのブートプログラムや各種の制御プログラムが格納されている。HDD304は、システムを制御するための各種のプログラム及び画像データ等を格納する。
【0047】
Network_I/F305は、ネットワーク(LAN)105に接続し、データの入出力を行う。MODEM306は、公衆回線網に接続し、FAXにおける送受信等のデータの入出力を行う。
【0048】
操作部I/F307は、ユーザインタフェース(UI)である操作部330におけるインタフェースであり、操作部330に表示する画像データを操作部330に対して出力する。また、操作部I/F307は、本システムのユーザが操作部330から入力した情報(例えば、ユーザ情報等)をCPU301に伝える役割をする。なお、操作部330は、キーボードに相当するタッチパネルを有する表示部を備え、当該表示部に表示されたキーボードのボタンを、ユーザが押下(指等でタッチ)することにより、各種の指示を行うことができる。
【0049】
IMAGE_BUS_I/F308は、システムバス310と、画像データを高速で転送する画像バス315とを接続し、データ構造を変換するバスブリッジである。
【0050】
外部I/F309は、USB、IEEE1394、プリンタポート、RS−232C等の外部入力を受け付けるインタフェースである。本実施形態においては、外部I/F309には、ICカード認証で必要となるICカードの情報を読み取るためのカードリーダ340が接続されている。そして、CPU301は、この外部I/F309を介してカードリーダ340によるICカードからの情報の読み取りを制御し、当該ICカードから読み取られた情報を取得可能となっている。
【0051】
以上の301〜309に示すデバイスがシステムバス310上に配置され、相互に通信可能となっている。
【0052】
RIP311は、例えば、PDLコード等のベクトルデータをビットマップイメージに展開する。
【0053】
プリンタI/F312は、プリンタ350とコントローラユニット320とを接続し、画像データの同期系/非同期系の変換を行う。
【0054】
スキャナI/F313は、スキャナ360とコントローラユニット320とを接続し、画像データの同期系/非同期系の変換を行う。
【0055】
画像処理部314は、入力画像データに対して、補正処理、加工処理、編集処理を行ったり、プリント出力画像データに対して、プリンタの補正処理、解像度変換処理等を行ったりする。また、画像処理部314は、これらの処理に加えて、画像データの回転処理や、多値画像データに対してはJPEG、2値画像データに対してはJBIG、MMR、MH等の圧縮伸張処理を行う。
【0056】
以上の308、311〜314に示すデバイスが画像バス315上に配置され、相互に通信可能となっている。画像バス315は、例えば、PCIバスまたはIEEE1394で構成されている。
【0057】
操作部330は、具体的に、LCD表示部を有し、当該LCD表示部上にタッチパネルシートが貼られており、本システムの操作画面を表示するとともに、表示した操作画面のキー(ボタン)が押されると、その位置情報が操作部I/F307を介してCPU301に伝えられる。また、操作部330は、各種の操作キーとして、例えば、スタートキー、ストップキー、IDキー、リセットキー等のキーボード機能を備える。
【0058】
ここで、操作部330のスタートキーは、例えば、原稿画像の読み取り動作を開始する際などに操作される。このスタートキーの中央部には、例えば、緑と赤の2色のLEDがあり、その各色の発光によってスタートキーが使える状態にあるかどうかが示される。また、操作部330のストップキーは、例えば、稼働中の動作を止める際などに操作される。また、操作部330のIDキーは、例えば、ユーザ(使用者)のユーザIDを入力する際などに操作される。また、操作部330のリセットキーは、例えば、操作部330による設定を初期化する際などに操作される。
【0059】
カードリーダ340は、CPU301からの制御により、認証カードに相当するICカード(例えば、ソニー社のフェリカ(FeliCa)(登録商標))内に記憶されているユーザ識別情報を読み取るものである。カードリーダ340で読み取られたユーザ識別情報は、外部I/F309を介してCPU301へ通知される。
【0060】
プリンタ350は、例えば、ラスタイメージデータを用紙上に画像として変換するものである。その変換方式としては、感光体ドラムや感光体ベルトを用いた電子写真方式や、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの変換方式を用いても構わない。プリンタ350のプリント動作の起動は、CPU301からの指示によって開始される。なお、プリンタ350には、異なる用紙のサイズまたは異なる用紙の向きを選択できるように複数の給紙段が構成されており、それぞれの給紙段に対応した用紙カセットが設けられている。
【0061】
スキャナ360は、原稿となる紙上の画像を照明し、CCDラインセンサを用いて原稿を走査することで、原稿の画像をラスタイメージデータとして電気信号に変換する。原稿用紙は原稿フィーダのトレイにセットされ、複合機101のユーザが操作部330から読み取り起動指示を行うことにより、CPU301がスキャナ360に指示を与え、フィーダは、原稿用紙を1枚ずつフィードして原稿の画像の読み取り動作を行う。
【0062】
以上のような構成によって、複合機101は、スキャナ360から読み込んだ画像データをネットワーク(LAN)105上に送信したり、ネットワーク(LAN)105から受信した印刷データをプリンタ350で印刷出力したりすることができる。また、複合機101は、スキャナ360から読み込んだ画像データをMODEM306から公衆回線網上にFAX送信したり、公衆回線網からFAX受信した画像データをプリンタ350で印刷出力したりすることできる。
【0063】
図4は、本発明の第1の実施形態に係る認証システムの概略構成の一例を示す模式図である。具体的に、図4には、認証システム100の複合機101及びディレクトリサーバ104における各機能構成が示されている。
【0064】
図4に示すように、複合機101は、キーボードを含む操作部330及びICカードのユーザ識別情報を読み取るカードリーダ340のハード構成に加えて、カード読取機能部11、認証処理機能部12、ケルベロス認証機能部13及びLDAP通信機能部14の各機能構成を有する認証アプリケーション10を有して構成されている。ここで、認証アプリケーション10における各機能構成は、例えば、図3に示すCPU301及びROM303或いはHDD304に記憶されているプログラム、並びに、HDD304或いはRAM302の記憶部等から構成される。
【0065】
また、ディレクトリサーバ104は、認証サービス部411とチケット認可サービス部412を実行する鍵(チケット)配布局41のアプリケーション、及び、LDAPサービス部42のアプリケーション、並びに、管理データ記憶部43を有して構成されている。ここで、鍵配布局41及びLDAPサービス部42のアプリケーションは、例えば、図2に示すCPU201及びROM203或いは外部メモリ211に記憶されているプログラム等から構成される。また、管理データ記憶部43は、例えば、図2に示す外部メモリ211に構成される。
【0066】
図5は、本発明の第1の実施形態に係る認証システムの各機能構成の処理の一例を示す模式図である。図5において、図4と同様の構成については、同じ符号を付している。
【0067】
認証処理機能部12には、図5に示すように、ICカード用チケットキャッシュ部121と、キーボード用チケットキャッシュ部122と、複合機ログインユーザ情報部123と、ユーザ入力情報部124と、設定情報部125と、カード情報部126が設けられている。この121〜126の構成は、例えば、図3に示す複合機101のHDD304又はRAM302に構成される。
【0068】
ICカード用チケットキャッシュ部121は、ICカードがカードリーダ340にかざされた際に、ICカード認証を行うためのサービスチケットを記憶する記憶領域である。
【0069】
キーボード用チケットキャッシュ部122は、操作部330のキーボードからユーザ情報が入力された際に、キーボード認証を行うためのサービスチケットを記憶する記憶領域である。
【0070】
複合機ログインユーザ情報部123は、LDAPサービス部42で検索されたユーザ情報を記憶する記憶領域である。
【0071】
ユーザ入力情報部124は、操作部330のキーボード等を用いて複合機101に入力されたユーザ入力情報を記憶する記憶領域である。
【0072】
設定情報部125は、ユーザ(ここでは、管理者)がクライアントPC103を用いてネットワークを介して複合機101に設定する設定情報(例えば、ドメイン、ホスト、ユーザ名、パスワードの各情報)を記憶する記憶領域である。
【0073】
カード情報部126は、カードリーダ340により読み取られたカード情報を記憶する記憶領域である。
【0074】
次に、複合機101の認証アプリケーション10における各機能構成について説明する。
【0075】
<カード読取機能部11の説明>
ユーザによってカードリーダ340にICカードがかざされると、カード読取機能部11は、カードリーダ340を制御し、ICカードからカード情報を取得し(602)、取得したカード情報を認証処理機能部12に渡す(603)。
【0076】
図6は、複合機101のカード読取機能部11で取得されたカード情報の一例を示す模式図である。図6には、カード情報としてカードIDの情報が示されている。
【0077】
<認証処理機能部12の説明>
認証処理機能部12は、管理者がクライアントPC103を用いてネットワーク105を介して入力した設定情報を取得し、取得した設定情報を設定情報部125に記憶して設定する(601)。
【0078】
図7は、複合機101の設定情報部125に設定される設定情報の一例を示す模式図である。図7に示すように、設定情報として、ドメイン、ホスト、ユーザ名、パスワードの各情報が設定される。ここで、ドメイン及びホストの情報は、ネットワーク105に接続された複数のディレクトリサーバ104における各ディレクトリサーバを識別するための情報であり、ユーザ名及びパスワードの情報は、サービスチケット取得のための認証(即ち、ユーザ200に複合機101の使用を許可するための認証の前段階の認証)に用いられる情報である。ここで、設定情報において、1ドメインにつき複数のホスト(ディレクトリサーバ104)を登録する形態もありうる。また、複数ドメインを登録する形態もありうる。特に、図7に示す設定情報は、ICカード認証を行う際には、ディレクトリサーバ104に対するログインを行うための情報として利用される。また、本実施形態では、図7に示す設定情報は、ネットワーク105に接続されるディレクトリサーバ104ごとに用意されるものとする。
なお、ICカード認証を行う際のディレクトリサーバ104に対するログインを行うための情報は、ディレクトリサーバ104が属するドメインごとに保持するように構成されるものとするが、ディレクトリサーバ104ごとに保持するように構成してもよい。
【0079】
この設定情報部125に記憶される設定情報はLDAP通信する際に使用され、認証処理機能部12は、設定情報部125から設定情報を読み取って(604)、読み取った設定情報をLDAP通信機能部14に渡して接続要求を行う(605)。
【0080】
さらに、認証処理機能部12は、カード読取機能部11でカード情報が取得されると、当該カード情報をカード読取機能部11から取得してカード情報部126に記憶する(603)。その後、認証処理機能部12は、ICカード認証を行う際に、カード情報部126に記憶したカード情報を読み出す(621)。
【0081】
また、認証処理機能部12は、ユーザが操作部330のキーボード等を用いてユーザ入力情報が入力されると、当該ユーザ入力情報をユーザ入力情報部124に記憶する(702)。
【0082】
図8は、複合機101のユーザ入力情報部124に記憶されるユーザ入力情報の一例を示す模式図である。図8に示すように、ユーザ入力情報として、ドメイン、ユーザ名、パスワードの各情報が設定される。
【0083】
このユーザ入力情報部124に記憶されるユーザ入力情報は、ケルベロス認証を行う際に利用され、認証処理機能部12は、ユーザ入力情報部124からユーザ入力情報を読み取って(708)、読み取ったユーザ入力情報をケルベロス認証機能部13に渡してサービスチケットの取得を要求する(610)。
【0084】
また、認証処理機能部12は、カード読取機能部11から図6に示すカード情報を取得すると、図7に示す設定情報からドメインとユーザ名とパスワードを取得して、ICカード用チケットキャッシュ部121から、該当するユーザの図9に示すサービスチケットを取得する(609)。ここで、サービスチケットは、図9に示すように、暗号化された暗号化データで構成されている。また、図7に示す設定情報は、ドメイン・ホスト数分(即ち、ネットワーク105に接続されるディレクトリサーバ数分)だけ設定情報部125に保持されるものとする。
【0085】
また、認証処理機能部12は、ユーザ入力情報部124から図8に示すユーザ入力情報を取得すると、図7に示す設定情報からドメインとユーザ名とパスワードを取得して、キーボード用チケットキャッシュ部122から該当するユーザの図9に示すサービスチケットを取得する(709)。
【0086】
また、認証処理機能部12は、前述の処理609又は処理709において、ICカード用チケットキャッシュ部121又はキーボード用チケットキャッシュ部122にサービスチケットがキャッシュされていなかった場合には、図7に示す設定情報からドメインとユーザ名とパスワードを取得して、取得した各情報をケルベロス認証機能部13に渡してサービスチケットの取得を要求する(610)。
【0087】
また、認証処理機能部12は、LDAP通信機能部14に対して、取得したサービスチケットを渡して認証要求を行ったり(616)、図6に示すカード情報を渡して検索要求を行ったり(622)、接続終了要求を行ったりする(628)。
【0088】
また、認証処理機能部12は、前述の処理616で認証に成功したサービスチケットを、ICカード用チケットキャッシュ部121又はキーボード用チケットキャッシュ部122に記憶する(620、720)。この際、ICカード用チケットキャッシュ部121には、図7に示す設定情報ごとに(即ち、ネットワーク105に接続されるディレクトリサーバ104ごとに(本実施形態では、ドメインごとに)サービスチケットがキャッシュされる。また、キーボード用チケットキャッシュ部122には、操作部330から入力されたユーザ入力情報に基づくユーザごとにサービスチケットがキャッシュされる。
【0089】
図10は、ディレクトリサーバ104の管理データ記憶部43に記憶されているユーザの管理データの一例を示す模式図である。図10に示すように、ユーザの管理データとして、ユーザ名、表示名、メール、グループ、拡張属性(例えば、カード情報)の各情報が設定されており、また、管理データ記憶部43には、1又は複数のユーザの管理データが記憶されている。また、ユーザごとにパスワード(不図示)も管理データとして管理されている。なお、このパスワードは、後述する図13−2のステップS216での認証処理、及び図16−2のステップS310での認証処理を行う際に用いられ、LDAPサービス部42から参照できるように当該パスワードは暗号化されている。また、このパスワードは、LDAPサービス部42以外から知られないように管理されている。なお、図10の管理データ(ユーザ管理情報)は、1ユーザに対して少なくともユーザ名(ユーザ識別情報)と拡張属性(ユーザ特定情報)が記憶されている。
図11は、複合機101の複合機ログインユーザ情報部123に記憶される複合機ログインユーザ情報の一例を示す模式図である。図11に示すように、複合機ログインユーザ情報として、ユーザ名、表示名、ドメイン、メール、権限の各情報が設定される。
【0090】
認証処理機能部12は、前述の処理622で検索された図10に示す管理データの各情報のうち、ユーザ名、表示名及びメールを、図11に示す複合機ログインユーザ情報のユーザ名、表示名及びメールとして設定する。また、認証処理機能部12は、図10に示す管理データのグループが特定のグループであった場合(例えば、Canon_Peripheral_Admins)に、図11に示す複合機ログインユーザ情報の権限に管理者権限(例えば、Administator)を設定する。また、認証処理機能部12は、接続したディレクトリサーバ104におけるドメインを、図11に示す複合機ログインユーザ情報のドメインに設定する。そして、認証処理機能部12は、設定された図11に示す複合機ログインユーザ情報を複合機ログインユーザ情報部123に記憶する(627)。
【0091】
そして、認証処理機能部12は、複合機ログインユーザ情報部123に記憶した複合機ログインユーザ情報を読み出して(630)、例えば、複合機101のCPU301に渡し、ログイン処理を要求すると共に、操作部330の画面遷移処理を要求する(631)。これにより、操作部330には、ログイン結果が表示されて、ユーザ200に当該ログイン結果が報知される(632)。
【0092】
<ケルベロス(チケット)認証機能部13の説明>
ケルベロス認証機能部13は、認証処理機能部12からドメイン、ユーザ名及びパスワードを受け取る(610)。そして、ケルベロス認証機能部13は、ユーザ名及びパスワードをもとに認証要求を作成し、指定されたドメインにおけるディレクトリサーバ104の鍵配布局41が管理する認証サービス部411に対して、ネットワーク105を介して、当該認証要求を発行する(611)。そして、ケルベロス認証機能部13は、認証サービス部411が作成した認証返答を受け取る(612)。
【0093】
ここで、認証要求(AS−REQ)とは、ケルベロス認証における認証サービス部411への要求を示す。また、認証返答(AS−REP)とは、ケルベロス認証における認証サービス部411からの返答を示す。
【0094】
ケルベロス認証機能部13は、認証サービス部411からの認証返答に基づいてチケット認可要求を作成し、ディレクトリサーバ104のチケット認可サービス部412へ発行する(613)。また、ケルベロス認証機能部13は、チケット認可サービス部412が作成したチケット認可返答を受け取る(614)。
【0095】
ここで、チケット認可要求(TGT−REQ)とは、ケルベロス認証におけるチケット認可サービス部412への要求を示す。また、チケット認可返答(TGT−REP)とは、ケルベロス認証におけるチケット認可サービス部412からの返答を示す。
【0096】
そして、ケルベロス認証機能部13は、チケット認可サービス部412から送られたチケット認可返答から図9に示すサービスチケットを取り出し、取り出したサービスチケットを認証処理機能部12に渡す(615)。
【0097】
<LDAP通信機能部14の説明>
LDAP通信機能部14は、設定情報部125に設定された図7に示す設定情報の各情報のうち、ドメインとホストをもとに、ネットワーク105を介して、指定されたディレクトリサーバ104のLDAPサービス部42に接続処理を行う(606)。また、LDAP通信機能部14は、LDAPサービス部42からの接続可否を受け取り(607)、認証処理機能部12へ返答する(608)。
【0098】
また、LDAP通信機能部14は、認証処理機能部12から受け取った図9に示すサービスチケットを(616)、ネットワーク105を介して、LDAPサービス部42へ送信する(617)。また、LDAP通信機能部14は、LDAPサービス部42が行ったサービスチケット認証可否判定の結果を受け取り(618)、これを認証処理機能部12へ返答する(619)。
【0099】
また、LDAP通信機能部14は、ICカード認証の場合には、認証処理機能部12から図6に示すカード情報を取得し(622)、ネットワーク105を介して、取得したカード情報をLDAPサービス部42へ送信する(623)。また、LDAP通信機能部14は、キーボード認証の場合には、図8に示すユーザ入力情報からユーザ名を取得し(622)、ネットワーク105を介して、取得したユーザ名の情報をLDAPサービス部42へ送信する(623)。
【0100】
また、LDAP通信機能部14は、LDAPサービス部42が管理データ記憶部43に記憶されている管理データを検索し(624)、検索された管理データをLDAPサービス部42から受け取り(625)、当該管理データを認証処理機能部12へ返答する(626)。
【0101】
また、LDAP通信機能部14は、認証処理機能部12から通信切断要求を受け取り(628)、LDAPサービス部42との通信を切断処理する。また、LDAP通信機能部14は、その切断処理結果を認証処理機能部12へ返答する(629)。
【0102】
次に、ICカード認証及びキーボード認証を行う前段階で行われる設定情報の設定処理手順について説明する。
図12は、本発明の第1の実施形態に係る認証システムの設定情報における設定処理手順の一例を示すフローチャートである。ここで、図12に示すフローチャートにおいては、図12の上部に示されたユーザ(図12では、管理者)200、認証アプリケーション10における各機能構成(11〜14)及びディレクトリサーバ104における処理が縦割りで示されている。
【0103】
設定情報の設定処理が開始され、ユーザ(ここでは、管理者)200から図7に示すドメイン、ホスト、ユーザ名及びパスワードの各情報からなる設定情報が入力されると、ステップS101において、認証処理機能部12は、これを検知する。
【0104】
続いて、ステップS102において、認証処理機能部12は、ステップS101で検知した設定情報を、設定情報部125に記憶する。
【0105】
以上により、設定情報部125に対する設定情報の設定処理がなされる。なお、設定情報部125に設定される設定情報は、ドメイン・ホスト数分(即ち、ネットワーク105に接続されるディレクトリサーバ数分)設定される。この設定情報は、ディレクトリサーバ104に接続する際に利用される。
【0106】
次に、ICカード認証の処理手順について説明する。
図13−1〜図13−3は、本発明の第1の実施形態に係る認証システムのICカード認証における処理手順の一例を示すフローチャートである。ここで、図13−1〜図13−3に示すフローチャートにおいては、各図面の上部に示されたユーザ200、認証アプリケーション10における各機能構成(11〜14)及びディレクトリサーバ104における処理が縦割りで示されている。
【0107】
ICカード認証における処理が開始され、ユーザ200がカードリーダ340に対して自己のICカードをかざすと、図13−1のステップS201において、カード読取機能部11は、カードリーダ340を介してこれを検知する。
【0108】
続いて、ステップS202において、カード読取機能部21は、カードリーダ340で取得されたユーザ200のカード情報(例えば、図6に示す情報)を読み取る。
【0109】
続いて、ステップS203において、認証処理機能部12は、ステップS202で読み取られたカード情報をカード情報部126に記憶し保持する。
【0110】
続いて、ステップS204において、認証処理機能部12は、図12のステップS102で設定情報部125に保持された複数の設定情報の中から、1つの設定情報を読み込む。
【0111】
続いて、ステップS205において、認証処理機能部12は、ステップS204で読み込んだ図7に示す設定情報のドメイン及びホストの情報をLDAP通信機能部14に渡して、対応するディレクトリサーバ104への接続処理を依頼する。
【0112】
続いて、ステップS206において、LDAP通信機能部14は、ステップS205で渡された設定情報のドメインのホストに対応するディレクトリサーバ104に対して、接続処理を行う。なお、ここでは、あるドメインのホストに接続できなかった場合には、同一ドメインの別ホストに接続処理を行うことも可能である。
【0113】
続いて、ステップS207において、ディレクトリサーバ104のLDAPサービス部42は、LDAP通信機能部14との接続を確立する処理を行う。
【0114】
続いて、ステップS208において、LDAPサービス部42は、LDAP通信機能部14に接続可否を返答する。
【0115】
続いて、ステップS209において、LDAP通信機能部14は、認証処理機能部12に対して、LDAPサービス部42から送られた接続可否を返答する。
【0116】
続いて、ステップS210において、認証処理機能部12は、LDAP通信機能部14から受け取った接続可否の情報をもとに、ディレクトリサーバ104との接続処理が成功したか否かを判断する。
【0117】
ステップS210の判断の結果、ディレクトリサーバ104との接続処理が成功しなかった(即ち、失敗した)場合には、ステップS211に進む。ステップS211に進むと、認証処理機能部12は、例えば、現在、操作部330に表示されている画面に、エラーを通知する処理を行う。これにより、例えば、操作部330に、後述する図15のエラー画面1540が表示される。その後、ICカード認証処理が終了する。
【0118】
一方、ステップS210の判断の結果、ディレクトリサーバ104との接続処理が成功した場合には、図13−2のステップS212に進む。ステップS212に進むと、認証処理機能部12は、ステップS204で読み込んだ設定情報(図7)を再度読み込む。
【0119】
続いて、ステップS213において、認証処理機能部12は、ステップS212で読み込んだ設定情報からドメイン、ユーザ名及びパスワードを取得し、取得した情報に基づくサービスチケットがICカード用チケットキャッシュ部121にキャッシュされているかどうかの検索処理を行う。
【0120】
図14は、ICカード用チケットキャッシュ部121又はキーボード用チケットキャッシュ部122におけるサービスチケットキャッシュのデータ構造の一例を示す模式図である。このサービスチケットキャッシュは、図9に示すサービスチケットを記憶するために使用される。なお、このデータ構造には、どのサービスチケットを用いるかを特定するために、図7の設定情報又は図8のユーザ入力情報のドメイン、ユーザ名及びパスワードをハッシュ関数によってハッシュ化したキー情報が保持されている。また、サービスチケットの暗号化データ内にはドメイン、ユーザ名及びパスワードが含まれており、この情報を用いることによって、LDAPサービス部42で認証の可否を判断することが可能となる。
【0121】
ステップS213の検索処理では、ドメイン、ユーザ名及びパスワードをハッシュ関数によってハッシュ化し、得られた値をキーとして当該キーに一致するサービスチケットがICカード用チケットキャッシュ部121に存在するかどうかを検索する処理を行う。
【0122】
続いて、ステップS214において、認証処理機能部12は、ステップS213の検索処理においてICカード用チケットキャッシュ部121に取得した設定情報に基づくサービスチケットが存在するか否かを判断する。
【0123】
ステップS214の判断の結果、ICカード用チケットキャッシュ部121に取得した設定情報に基づくサービスチケットが存在しない場合には、ステップS215に進む。ステップS215に進むと、認証処理機能部12は、ステップS212で読み込んだ設定情報をケルベロス認証機能部13に渡し、サービスチケットの発行要求を行う。この発行要求には、ステップS204で読み込まれた設定情報のユーザ名及びパスワードを用いる。なお、この設定情報はICカードを用いた認証処理を行う際に用いられる共通の情報であり、少なくともユーザ名(ユーザ識別情報)及びパスワードを含む。また、ドメインとホストの情報はユーザ名とパスワードと対に記憶されていなくても良く、例えば、ドメインとホストが一意に決まる場合にはプログラム上。或いは、プログラムが適宜参照する情報ファイルに記憶されるように構成されていても良い。
【0124】
続いて、ステップS216において、ケルベロス認証機能部13は、認証処理機能部12から設定情報(具体的には、設定情報のドメイン、ユーザ名及びパスワード)を受け取り、当該設定情報のユーザ名及びパスワードをもとに認証要求を作成する。そして、ケルベロス認証機能部13は、指定されたドメインのディレクトリサーバ104の鍵配布局41が管理する認証サービス部411に対して、ネットワーク105を介して、作成した認証要求を発行する。具体的に、ステップS216では、図10に示す管理データ(ユーザ管理情報)内に一致するユーザ名及びパスワードがあれば対応するディレクトリサーバ104で認証できると判定し、その後、ステップS218において対応するディレクトリサーバ104から認証可能と返答を受ける。一方、パスワード等が一致しない場合にはディレクトリサーバ104で認証できないと判定し、その後、ステップS218において認証不可能と返答を受ける。
【0125】
続いて、ステップS217において、認証サービス部411は、ケルベロス認証機能部13から送られた認証要求を受け付ける。この認証要求処理では、ステップS216から送信されたユーザ名とパスワードを用いて、送信されたユーザ名に一致するユーザ名が図10の管理データ(ユーザ管理情報)にあるかを検索し、管理データ(ユーザ管理情報)内にあった場合にはそのユーザに対応するパスワードが、送信されたパスワードと一致するかを判断している。
【0126】
続いて、ステップS218において、認証サービス部411は、ステップS217で受け付けた認証要求をもとに認証返答を作成し、ケルベロス認証機能部13に対して発行する。
【0127】
続いて、ステップS219において、ケルベロス認証機能部13は、認証サービス部411から認証返答を受け取り、チケット認可サービス部412に対してチケット認可要求を発行する。
【0128】
続いて、ステップS220において、チケット認可サービス部412は、ステップS219でケルベロス認証機能部13から送られたチケット認可要求を受け付ける。
【0129】
続いて、ステップS221において、チケット認可サービス部412は、ステップS220で受け付けたチケット認可要求をもとにチケット認可返答を作成し、ケルベロス認証機能部13に対して発行する。
【0130】
続いて、ステップS222において、ケルベロス認証機能部13は、チケット認可サービス部412から受け取ったチケット認可返答からサービスチケットを取り出して、認証処理機能部12に渡す。
【0131】
一方、ステップS214の判断の結果、ICカード用チケットキャッシュ部121に取得した設定情報に基づくサービスチケットが存在する場合には、ステップS223に進む。ステップS223に進むと、認証処理機能部12は、ICカード用チケットキャッシュ部121から該当するサービスチケットを取り出す。
【0132】
ステップS222の処理が終了した場合、或いは、ステップS223の処理が終了した場合には、ステップS224に進む。ステップS224に進むと、認証処理機能部12は、ステップS222又はステップS223で取得したサービスチケットをLDAP通信機能部14に渡して、認証要求を行う。
【0133】
続いて、ステップS225において、LDAP通信機能部14は、認証処理機能部12から渡されたサービスチケットをLDAPサービス部42に渡して、認証要求を行う。
【0134】
続いて、ステップS226において、LDAPサービス部42は、ステップS225でLDAP通信機能部14から受け取ったサービスチケットの認証処理を行う。
【0135】
続いて、ステップS227において、LDAPサービス部42は、LDAP通信機能部14に対して、ステップS226で行った認証処理における認証可否を返答する。
【0136】
続いて、ステップS228において、LDAP通信機能部14は、LDAPサービス部42から受け取った認証可否を認証処理機能部12に渡す。
【0137】
続いて、ステップS229において、認証処理機能部12は、LDAP通信機能部14から受け取った認証可否の情報をもとに、認証が成功したか否かを判断する。
【0138】
ステップS229の判断の結果、認証が成功しなかった(即ち、失敗した)場合には、ステップS230に進む。ステップS230に進むと、認証処理機能部12は、図14に示すサービスチケットキャッシュ(即ち、本例では、ICカード用チケットキャッシュ部121)からキーが一致するサービスチケットを検索し、当該サービスチケットを削除する。
【0139】
続いて、ステップS231において、認証処理機能部12は、ステップS224において依頼した認証が、ICカード用チケットキャッシュ部121に予めキャッシュされていたサービスチケットを用いたものであったか否かを判断する。
【0140】
ステップS231の判断の結果、ステップS224において依頼した認証が、ICカード用チケットキャッシュ部121に予めキャッシュされていたサービスチケットを用いたものである場合には、ステップS215に戻り、新たにサービスチケットを取得する処理に移行する。
【0141】
一方、ステップS231の判断の結果、ステップS224において依頼した認証が、ICカード用チケットキャッシュ部121に予めキャッシュされていたサービスチケットを用いたものでない場合には、ステップS232に進む。ステップS232に進むと、認証処理機能部12は、例えば、現在、操作部330に表示されている画面に、エラーを通知する処理を行う。これにより、例えば、操作部330に、後述する図15のエラー画面1540が表示される。その後、ICカード認証処理が終了する。
【0142】
一方、ステップS229の判断の結果、認証が成功した場合には、ステップS233に進む。ステップS233に進むと、認証処理機能部12は、図14に示すサービスチケットキャッシュ(即ち、本例では、ICカード用チケットキャッシュ部121)の更新処理を行う。
【0143】
具体的には、図14に示すサービスチケットキャッシュに、認証に使用したサービスチケットがある場合には、図14に示すサービスチケットキャッシュの先頭(番号1)に当該サービスチケットを移動させる。また、図14に示すサービスチケットキャッシュに当該サービスチケットが予め存在していなかった場合には、図14に示すサービスチケットキャッシュの先頭(番号1)に当該サービスチケットを記憶させる。なお、このとき、サービスチケットキャッシュがキャッシュ上限(図14に示す例では、10個)に達していた場合、末尾(番号10)に記憶されているサービスチケットを削除した後に、当該サービスチケットを先頭(番号1)に記憶する。
【0144】
ステップS233の処理が終了すると、図13−3のステップS234に進む。ステップS234に進むと、認証処理機能部12は、ステップS203でカード情報部126に記憶したカード情報を読み込む。
【0145】
続いて、ステップS235において、認証処理機能部12は、LDAP通信機能部14に対して、ステップS234で読み込んだカード情報を渡して検索要求を行う。ここで、この検索要求は、ICカードのユーザ200に対する当該複合機101の使用を許可するための検索要求である。
【0146】
続いて、ステップS236において、LDAP通信機能部14は、ステップS235で認証処理機能部12から受け取ったカード情報をLDAPサービス部42に渡して、検索要求を行う。
【0147】
続いて、ステップS237において、LDAPサービス部42は、管理データ記憶部43に記憶されている図10に示す管理データ(ユーザ管理情報)のうち、ステップS236でLDAP通信機能部14から受け取った図10に示すカード情報と拡張属性が一致する管理データ(例えば、ユーザ名)を検索する。
【0148】
続いて、ステップS238において、LDAPサービス部42は、LDAP通信機能部14に対して、ステップS237で検索された管理データを管理データ情報として、ネットワーク105を介して、LDAP通信機能部14へ返答する。この際、ステップS237での検索の結果、該当する管理データが無い場合には、該当する管理データが無い旨の情報が管理データ情報としてLDAP通信機能部14に返答される。
【0149】
続いて、ステップS239において、LDAP通信機能部14は、LDAPサービス部42から送られた管理データ情報を認証処理機能部12に渡す。
【0150】
続いて、ステップS240において、認証処理機能部12は、LDAP通信機能部14に対して、通信の切断要求を行う。
【0151】
続いて、ステップS241において、LDAP通信機能部14は、LDAPサービス部42との接続を切断する。
【0152】
続いて、ステップS242において、認証処理機能部12は、ステップS239でLDAP通信機能部14から受け取った管理データ情報に基づいて(例えば、ユーザ名があるか否か)、ディレクトリサーバ104に、ユーザ200に該当するユーザ情報が存在するか否かを判断する。この際、管理データ情報がステップS237で検索された管理データの情報(例えば、ユーザ名)である場合には、ユーザ200に該当するユーザ情報が存在すると判断される。また、管理データ情報が該当する管理データが無い旨の情報である場合には、ユーザ200に該当するユーザ情報が存在しないと判断される。
【0153】
ステップS242の判断の結果、ディレクトリサーバ104に、ユーザ200に該当するユーザ情報が存在しない場合には、ステップS243に進む。ステップS243に進むと、認証処理機能部12は、設定情報部125に保持されている全ての設定情報における処理を行ったか否かを判断する。即ち、ステップS243の処理では、ネットワーク105に接続されている全てのディレクトリサーバ104に対して処理を行ったか否かが判断される。
【0154】
ステップS243の判断の結果、設定情報部125に保持されている全ての設定情報については、未だ処理を行っていない場合には、ステップS204に戻り、未だ処理を行っていない設定情報を読み込んで、ステップS205以降の処理が行われる。
【0155】
一方、ステップS243の判断の結果、設定情報部125に保持されている全ての設定情報における処理を行った場合には、ステップS244に進む。ステップS244に進むと、認証処理機能部12は、例えば、現在、操作部330に表示されている画面に、エラーを通知する処理を行う。これにより、例えば、操作部330に、後述する図15のエラーダイアログ1540が表示される。その後、ICカード認証処理が終了する。
【0156】
一方、ステップS242の判断の結果、ディレクトリサーバ104に、ユーザ200に該当するユーザ情報が存在する場合には、ステップS245に進む。ステップS245に進むと、認証処理機能部12は、ステップS239でLDAP通信機能部14から受け取った管理データをもとにして、図11に示す複合機ログインユーザ情報を作成し設定する。
【0157】
具体的に、認証処理機能部12は、図10に示す管理データ(受け取った管理データ)の各情報のうち、ユーザ名、表示名及びメールを、図11に示す複合機ログインユーザ情報のユーザ名、表示名及びメールとして設定する。また、認証処理機能部12は、図10に示す管理データ(受け取った管理データ)のグループが特定のグループであった場合(例えば、Canon_Peripheral_Admins)に、図11に示す複合機ログインユーザ情報の権限に管理者権限(例えば、Administator)を設定する。また、認証処理機能部12は、接続したディレクトリサーバ104におけるドメインを、図11に示す複合機ログインユーザ情報のドメインに設定する。そして、認証処理機能部12は、設定された図11に示す複合機ログインユーザ情報を複合機ログインユーザ情報部123に記憶する。
【0158】
続いて、ステップS246において、認証処理機能部12は、複合機ログインユーザ情報部123に記憶した複合機ログインユーザ情報を、例えば、複合機101のCPU301に渡して、ログイン処理を要求する。
【0159】
続いて、ステップS247において、認証処理機能部12は、例えば、複合機101のCPU301に対して操作部330の画面遷移処理を要求する。
【0160】
図15は、複合機101の操作部330に表示される表示画面の一例を示すイメージ図である。図15に示すログイン画面1510は、認証処理を開始する際に表示される画面である。複合機使用画面1520は、ユーザ認証がOKとなった際に表示される画面である。キーボード入力画面1530は、ログイン画面1510の「キーボード入力」ボタンが押下された際に表示される画面である。エラー画面1540は、ユーザ200に対してエラーを通知する際に表示される画面である。
【0161】
ステップS247の画面遷移処理では、図15のログイン画面1510から複合機使用画面1520に切り替え表示がなされる。
【0162】
以上の図13−1〜図13−3に示すフローチャートの処理により、本実施形態の認証システム100におけるICカード認証が行われる。
【0163】
次に、キーボード認証の処理手順について説明する。
図16−1〜図16−3は、本発明の第1の実施形態に係る認証システムのキーボード認証における処理手順の一例を示すフローチャートである。ここで、図16−1〜図16−3に示すフローチャートにおいては、各図面の上部に示されたユーザ200、認証アプリケーション10における各機能構成(11〜14)及びディレクトリサーバ104における処理が縦割りで示されている。なお、図16−1〜図16−3では、図13−1〜図13−3に示すステップと同じ処理を行うステップについては、同じステップ番号を付している。
【0164】
ユーザ200が操作部330に表示されたログイン画面1510の「キーボード入力」ボタン1511を押下すると、操作部330にキーボード入力画面1530が表示されてキーボード認証における処理が開始される。そして、ユーザ200がキーボード入力画面1530のユーザ名、パスワード及びログイン先を入力してログインボタン1531を押下すると、図16−1のステップS301において、認証処理機能部12は、入力されたユーザ名、パスワード及びログイン先の情報を図8に示すユーザ入力情報として検知する。この際、認証処理機能部12は、図8に示すように、入力されたログイン先の情報をドメインの情報として検知する。
【0165】
続いて、ステップS302において、認証処理機能部12は、ステップS301で検知されたユーザ入力情報をユーザ入力情報部124に記憶する。
【0166】
続いて、ステップS303において、認証処理機能部12は、図12のステップS102で設定情報部125に保持された複数の設定情報を読み込み、ステップS302で記憶されたユーザ入力情報のドメイン(ログイン先の情報)をキーにして、該当する設定情報からホストの情報を取得する。これにより、キーボード認証においては、接続対象のディレクトリサーバ104が1つに定まる。
【0167】
続いて、ステップS304において、認証処理機能部12は、LDAP通信機能部14に対して、ステップS303で取得したホストの情報に対応するディレクトリサーバ104への接続処理を依頼する。
【0168】
続いて、ステップS305において、LDAP通信機能部14は、ステップS304で依頼されたホストの情報に対応するディレクトリサーバ104に対して、接続処理を行う。
【0169】
その後、ICカード認証の場合と同様に、図13−1に示すステップS207〜ステップS211の処理が行われる。その後、図16−2のステップS306に進む。
【0170】
ステップS306に進むと、認証処理機能部12は、ステップS302でユーザ入力情報部124に記憶した図8に示すユーザ入力情報を読み込む。
【0171】
続いて、ステップS307において、認証処理機能部12は、図8に示すユーザ入力情報からドメイン、ユーザ名及びパスワードを取得し、取得した情報に基づくサービスチケットがキーボード用チケットキャッシュ部122にキャッシュされているかどうかの検索処理を行う。ここで、ステップS307の検索処理は、ドメイン、ユーザ名及びパスワードをハッシュ関数によってハッシュ化し、得られた値をキーとして当該キーに一致するサービスチケットがキーボード用チケットキャッシュ部122に存在するかどうかを検索する処理を行う。
【0172】
続いて、ステップS308において、認証処理機能部12は、ステップS307の検索処理においてキーボード用チケットキャッシュ部122に取得したユーザ入力情報に基づくサービスチケットが存在するか否かを判断する。
【0173】
ステップS308の判断の結果、キーボード用チケットキャッシュ部122に取得したユーザ入力情報に基づくサービスチケットが存在しない場合には、ステップS309に進む。ステップS309に進むと、認証処理機能部12は、ステップS306で読み込んだユーザ入力情報をケルベロス認証機能部13に渡し、サービスチケットの発行要求を行う。この発行要求には、ステップS306で読み込まれたユーザ入力情報(ユーザ名及びパスワード)を用いる。
【0174】
続いて、ステップS310において、ケルベロス認証機能部13は、認証処理機能部12からユーザ入力情報(具体的には、ユーザ入力情報のドメイン、ユーザ名及びパスワード)を受け取り、当該ユーザ入力情報のユーザ名及びパスワードをもとに認証要求を作成する。そして、ケルベロス認証機能部13は、指定されたドメインのディレクトリサーバ104の鍵配布局41が管理する認証サービス部411に対して、ネットワーク105を介して、作成した認証要求を発行する。具体的に、ステップS310では、図10に示す管理データ内に一致するユーザ名及びパスワードがあれば対応するディレクトリサーバ104に認証できると判定し、その後、ステップS218において対応するディレクトリサーバ104から認証可能と返答を受ける。一方、パスワード等が一致しない場合にはディレクトリサーバ104に認証できないと判定し、その後、ステップS218において認証不可能と返答を受ける。
【0175】
その後、ICカード認証の場合と同様に、図13−2に示すステップS217〜ステップS222の処理が行われる。その後、図16−2のステップS312に進む。
【0176】
一方、ステップS308の判断の結果、キーボード用チケットキャッシュ部122に取得したユーザ入力情報に基づくサービスチケットが存在する場合には、ステップS311に進む。ステップS311に進むと、認証処理機能部12は、キーボード用チケットキャッシュ部122から該当するサービスチケットを取り出す。
【0177】
ステップS222の処理が終了した場合、或いは、ステップS311の処理が終了した場合には、ステップS312に進む。ステップS312に進むと、認証処理機能部12は、ステップS222又はステップS311で取得したサービスチケットをLDAP通信機能部14に渡して、認証要求を行う。
【0178】
その後、ICカード認証の場合と同様に、図13−2に示すステップS225〜ステップS229の処理が行われる。
【0179】
ステップS229の判断の結果、認証が成功しなかった(即ち、失敗した)場合には、ステップS313に進む。ステップS313に進むと、認証処理機能部12は、図14に示すサービスチケットキャッシュ(即ち、本例では、キーボード用チケットキャッシュ部122)からキーが一致するサービスチケットを検索し、当該サービスチケットを削除する。
【0180】
続いて、ステップS314において、認証処理機能部12は、ステップS312において依頼した認証が、キーボード用チケットキャッシュ部122に予めキャッシュされていたサービスチケットを用いたものであったか否かを判断する。
【0181】
ステップS314の判断の結果、ステップS312において依頼した認証が、キーボード用チケットキャッシュ部122に予めキャッシュされていたサービスチケットを用いたものである場合には、ステップS309に戻り、新たにサービスチケットを取得する処理に移行する。
【0182】
一方、ステップS314の判断の結果、ステップS312において依頼した認証が、キーボード用チケットキャッシュ部122に予めキャッシュされていたサービスチケットを用いたものでない場合には、ステップS232に進む。そして、ICカード認証の場合と同様に、図13−2に示すステップS232のエラーを通知する処理を行う。
【0183】
一方、ステップS229の判断の結果、認証が成功した場合には、ステップS315に進む。ステップS315に進むと、認証処理機能部12は、図14に示すサービスチケットキャッシュ(即ち、本例では、キーボード用チケットキャッシュ部122)の更新処理を行う。このステップS315の具体的な更新処理の内容については、ICカード認証の場合におけるステップS233と同様である。
【0184】
ステップS315の処理が終了すると、図16−3のステップS316に進む。ステップS316に進むと、認証処理機能部12は、ステップS302でユーザ入力情報部124に記憶したユーザ入力情報を読み込む。
【0185】
続いて、ステップS317において、認証処理機能部12は、LDAP通信機能部14に対して、ステップS316で読み込んだユーザ入力情報を渡して、ユーザ名の検索要求を行う。ここで、この検索要求は、操作部330からユーザ入力情報の入力操作を行ったユーザ200に対する当該複合機101の使用を許可するための検索要求である。
【0186】
続いて、ステップS318において、LDAP通信機能部14は、ステップS317で認証処理機能部12から受け取ったユーザ入力情報からユーザ名を取り出して、LDAPサービス部42に渡して、ユーザ名の検索要求を行う。
【0187】
続いて、ステップS319において、LDAPサービス部42は、管理データ記憶部43に記憶されている図10に示す管理データ(ユーザ管理情報)のうち、ステップS318でLDAP通信機能部14から受け取ったユーザ入力情報のユーザ名と一致する管理データを検索する。
【0188】
続いて、ステップS320において、LDAPサービス部42は、LDAP通信機能部14に対して、ステップS319で検索された管理データ(例えば、ユーザ名)を管理データ情報として、ネットワーク105を介して、LDAP通信機能部14へ返答する。この際、ステップS319での検索の結果、該当する管理データが無い場合には、該当する管理データが無い旨の情報が管理データ情報としてLDAP通信機能部14に返答される。
【0189】
その後、ICカード認証の場合と同様に、図13−3に示すステップS239〜ステップS241の処理が行われる。その後、ステップS321に進む。
【0190】
ステップS321に進むと、認証処理機能部12は、ステップS239でLDAP通信機能部14から受け取った管理データ(例えば、ユーザ名)をもとにして、図11に示す複合機ログインユーザ情報を作成し設定する。このステップS321の具体的な処理内容については、ICカード認証の場合におけるステップS245と同様である。
【0191】
その後、ICカード認証の場合と同様に、図13−3に示すステップS246及びステップS247の処理が行われる。
【0192】
以上の図16−1〜図16−3に示すフローチャートの処理により、本実施形態の認証システム100におけるキーボード認証が行われる。
【0193】
ここで、図16−1〜図16−3に示すキーボード認証において、図16−2のステップS229で認証が成功した場合には、この段階でユーザ入力情報を用いた認証が成功しているので、ICカード認証における図13−3のステップS242における判断は行われない。反対に、図13−1〜図13−3に示すICカード認証において、図13−2のステップS229で認証が成功した場合、この段階では、ICカードのカード情報では無く設定情報を用いた認証が成功したのみであるので、その後、図13−3のステップS234以降でカード情報を用いた認証が行われ、当該認証の結果が図13−3のステップS242で判断されることになる。
【0194】
図17は、ICカード用チケットキャッシュ部121又はキーボード用チケットキャッシュ部122におけるサービスチケットのキャッシュ処理を説明する模式図である。
具体的に、図17では、ステップS315又はステップS233におけるキャッシュ更新処理のうち、サービスチケットを登録及び検索する際のキー作成処理において、ドメイン、ユーザ名及びパスワードをハッシュ関数によってハッシュ化し、得られた値をキーとしている。そして、当該キーに関連付けられてサービスチケットがキャッシュされる。
【0195】
図18は、ICカード用チケットキャッシュ部121又はキーボード用チケットキャッシュ部122におけるキャッシュ方法の一例を示す模式図である。
【0196】
例えば、図14に示すサービスチケットキャッシュにおいて、認証に使用したサービスチケットがない場合には、図18のキャッシュ方法1801に示すように、先頭(番号1)に当該サービスチケットを記憶させ、予め記憶されていたサービスチケットについては番号を1つ繰り下げて記憶する。なお、この際、図14に示すサービスチケットキャッシュがキャッシュ上限(図14に示す例では、10個)に達していた場合には、図18のキャッシュ方法1803に示すように、末尾(番号10)に記憶されているサービスチケットを削除した後に、当該サービスチケットを先頭(番号1)に記憶する。
【0197】
また、例えば、図14に示すサービスチケットキャッシュにおいて、認証に使用したサービスチケットがある場合には、図18のキャッシュ方法1802に示すように、先頭(番号1)に当該サービスチケットを移動させる。また、図14に示すサービスチケットキャッシュにおいて、保存されたサービスチケットを使った認証に失敗した場合、図18のキャッシュ方法1804に示すように、サービスチケットキャッシュから当該サービスチケットを削除する。
【0198】
以上説明したように、本実施形態の複合機(画像形成装置)101は、以下に示す構成を有している。
カードリーダ(読取手段)340では、認証カードに相当するICカードからユーザ特定情報に相当する図6に示すカード情報を読み取るようにしている。
設定情報部(ログイン情報記憶手段)125には、カードリーダ340で読み取られたカード情報を認証するために用いられる、ディレクトリサーバ(認証サーバ)104に対してログインするための図7に示す設定情報(第1のログイン情報)が記憶されている。ここで、図7に示す設定情報には、ユーザ名(ユーザ識別情報)及びパスワードの情報が含まれている。
操作部(操作手段)330では、ユーザ200による操作に応じて、ユーザ名(ユーザ識別情報)及びパスワードの情報を少なくとも含む、図8に示すユーザ入力情報(第2のログイン情報)の入力操作を受け付けるようにしている。
ケルベロス認証機能部13では、ディレクトリサーバ104へのログインを行う場合に、図7に示す設定情報(第1のログイン情報)または図8に示すユーザ入力情報(第2のログイン情報)を用いて、ディレクトリサーバ104にログインする際の認証に利用されるサービスチケット(認証チケット)を要求するようにしている(図13−2または図16−2のS219)。このサービスチケットの要求を行うケルベロス認証機能部13は、チケット要求手段を構成する。
LDAP通信機能部14では、ケルベロス認証機能部13による要求により得られたサービスチケットを用いて、ディレクトリサーバ104に対して認証要求を行うようにしている(図13−2または図16−2のS225)。この認証要求を行うLDAP通信機能部14は、認証要求手段を構成する。
認証処理機能部12では、LDAP通信機能部14による要求によりディレクトリサーバ104に対するサービスチケットを用いた認証が成功した場合(図13−2または図16−2のS229/YES)、ディレクトリサーバ104に対して、カードリーダ340で読み取られた図6に示すカード情報または図8に示すユーザ入力情報のユーザ名の情報等を用いた、図10に示す管理データ(ユーザ管理情報)の検索要求を行うようにしている(図13−3のS235または図16−3のS317)。即ち、認証処理機能部12は、ディレクトリサーバ104に対して、ICカードのユーザまたは操作部330からユーザ入力情報の入力操作を行ったユーザに当該複合機101の使用を許可するための検索要求を行うようにしている。この検索要求を行う認証処理機能部12は、検索要求手段を構成する。
かかる構成によれば、ICカード認証を行う際もキーボード認証を行う際も、ユーザの管理データを記憶する1つのディレクトリサーバ104を用いて認証を行うことができる。即ち、ユーザの管理データを記憶する認証サーバである1つのディレクトリサーバ104で、複数の認証方法に対していずれの認証も行うことができる。これにより、ユーザ情報を管理データ記憶部43に一括で管理でき、独自の認証サーバを設ける必要が無く、運用管理コストの削減を実現することができる。また、ICカード認証を行う場合に、図7に示す設定情報(第1のログイン情報)にパスワード等を設定することで、ICカード内にパスワード等を保存させる必要が無くなり、セキュリティ上の問題を回避することができる。また、認証チケット(サービスチケット)をキャッシュし、そのキャッシュした認証チケットを用いてディレクトリサーバ104側にログインに係る認証を行わせることにより、当該認証を複合機で行う場合に比べて認証時間の低減を図れ、認証時間の増大を招くことを回避することができる。また、認証チケット(サービスチケット)を用いた認証を行うことで強固なセキュア認証環境を構築することができる。
【0199】
さらに、本実施形態の複合機101では、認証処理機能部12は、カードリーダ340で読み取られたカード情報(ユーザ特定情報)を用いて当該画像形成装置へログインする場合に、図7に示す設定情報(第1のログイン情報)をチケット要求手段であるケルベロス認証機能部13に渡すよう制御し(図13−2のS215)、一方、図8に示すユーザ入力情報(第2のログイン情報)を用いて当該画像形成装置へログインする場合に、当該ユーザ入力情報をチケット要求手段であるケルベロス認証機能部13に渡すよう制御している(図13−2のS309)。この制御を行う認証処理機能部12は、認証制御手段を構成する。
【0200】
さらに、本実施形態の複合機101では、図7に示す設定情報(第1のログイン情報)を用いて得られたサービスチケットをキャッシュするICカード用チケットキャッシュ部(第1のチケットキャッシュ手段)121と、図8に示すユーザ入力情報(第2のログイン情報)を用いて得られたサービスチケットをキャッシュするキーボード用チケットキャッシュ部(第2のチケットキャッシュ手段)122を有している。この際、認証処理機能部12は、カードリーダ340でカード情報(ユーザ特定情報)が読み取られた場合に、図7に示す設定情報(第1のログイン情報)を用いて得られた認証チケット(サービスチケット)がICカード用チケットキャッシュ部121にキャッシュされているか否かを判断(第1の判断)するようにしており(図13−2のS214)、また、操作部330で図8に示すユーザ入力情報(第2のログイン情報)の入力操作を受け付けた場合に、当該ユーザ入力情報を用いて得られた認証チケット(サービスチケット)がキーボード用チケットキャッシュ部122にキャッシュされているか否かを判断(第2の判断)するようにしている(図16−2のS308)。
そして、認証要求手段であるLDAP通信機能部14は、ICカード用チケットキャッシュ部121またはキーボード用チケットキャッシュ部122に認証要求を行うサービスチケットがキャッシュされている場合には、当該サービスチケットを用いてディレクトリサーバ104に対して認証要求を行うようにしている(図13−2のS223及びS224に基づくS225、または、図16−2のS311及びS312に基づくS225)。
かかる構成によれば、一度、チケットキャッシュ部にキャッシュされたサービスチケットを使いまわすことができるので、サービスチケットをディレクトリサーバ104から取得する必要が無くなり、認証時間の低減を更に図ることができる。
【0201】
さらに、本実施形態の複合機101では、認証処理機能部12は、LDAP通信機能部14による要求によりディレクトリサーバ104に対する認証が成功した場合に(図13−2または図16−2のS229/YES)、当該認証に用いたサービスチケットをキャッシュしているICカード用チケットキャッシュ部121またはキーボード用チケットキャッシュ部122のサービスチケットを更新する制御を行うようにしている(図13−2のS233または図16−2のS315)。一方、認証処理機能部12は、LDAP通信機能部14による要求によりディレクトリサーバ104に対する認証が失敗した場合に(図13−2または図16−2のS229/NO)、当該認証に用いたサービスチケットをキャッシュしているICカード用チケットキャッシュ部121またはキーボード用チケットキャッシュ部122から当該認証に用いたサービスチケットを削除する制御を行うようにしている(図13−2のS230または図16−2のS313)。このサービスチケットの更新及び削除の制御を行う認証処理機能部12は、キャッシュ制御手段を構成する。
【0202】
次に、本実施形態の認証システム100における応用例について説明する。
図19は、本発明の第1の実施形態に係る認証システムの応用例を示す外観図である。図19において、図1に示す装置と同様の装置については同じ符号を付している。つまり、後述する図19の(4)認証処理は、図13−1〜図13−3、図16−1〜図16−3、並びに、後述の第2の実施形態で説明する図21、図22の処理を行って認証処理がなされている。
【0203】
図19に示す認証システム(印刷システム)は、複合機101、クライアントPC103及びディレクトリサーバ104に加えて、印刷データを記憶するプリントサーバ510と、ユーザごとに印刷データ一覧を生成する印刷管理サーバ520を有して構成されている。また、図19に示す認証システムには、不図示ではあるが、複合機101、クライアントPC103、ディレクトリサーバ104、プリントサーバ510及び印刷管理サーバ520を相互に通信可能に接続するネットワーク105が構成されている。
【0204】
まず、ユーザは、クライアントPC103にログインし((1)−1)、当該クライアントPC103で実行されるアプリケーションプログラムから印刷先に設定されたプリンタドライバに対応する論理プリンタへの印刷指示を行う((1)−2)。この印刷指示に応じて、クライアントPC103のアプリケーションプログラムは、グラフィックエンジンを介して、プリンタドライバにデータを送信する。クライアントPC103のプリンタドライバは、当該アプリケーションプログラムからグラフィックエンジンを介して受け取ったデータに基づいて印刷データを生成する。
【0205】
そして、クライアントPC103は、生成した印刷データをプリントサーバ510に送信し((2)−1)、プリントサーバ510は、受信した印刷データを所定の格納場所に格納する((2)−2)。なお、クライアントPC103からプリントサーバ510への送信は、例えばLPR印刷の仕組みを用いて送信される。また、プリントサーバ510は、前記所定の格納場所に印刷データが格納されても、印刷装置である複合機101への送信は行わない。
【0206】
続いて、プリントサーバ510は、クライアントPC103から受信して前記所定の格納場所に格納された印刷データから書誌情報データを抽出(生成)し((2)−3)、当該抽出(生成)した書誌情報データを印刷管理サーバ520に送信する。そして、プリントサーバ510は、印刷管理サーバ520に対して、ネットワーク105上でのファイル共有の仕組みを用いて書誌情報データを書誌情報ファイルとして印刷管理サーバ520の所定の格納場所(予め設定されているディレクトリ)に格納させる((3)−1)。
【0207】
続いて、印刷管理サーバ520は、前記所定のディレクトリを監視し、当該所定のディレクトリにプリントサーバ510から書誌情報ファイルが格納されると、当該書誌情報ファイルを解析して書誌情報を、印刷管理サーバ520の外部記憶装置上に構築される書誌情報DBに登録する((3)−2)。この書誌情報DBには、プリントサーバ510の印刷ジョブ情報を特定するための情報(パス)や出力したユーザ名やジョブ名、印刷管理サーバ520で管理するための一意の情報である印刷データのタイムスタンプ等が記憶され管理されている。
【0208】
また、複合機101は、図13−1〜図13−3に示すICカード認証処理や図16−1〜図16−3に示すキーボード認証処理、並びに、後述の第2の実施形態で説明する図21及び図22の認証処理により当該複合機101の使用が許可されると((4))、印刷管理サーバ520に印刷データ一覧の要求を送信する((5)−1)。なお、この印刷データ一覧の要求には、認証ユーザ名(ユーザID)が含まれる。
【0209】
続いて、印刷管理サーバ520は、複合機101から印刷データ一覧の要求を受信すると、当該印刷データ一覧の要求に含まれるユーザ名(ユーザID)で書誌情報DBを検索する。そして、印刷管理サーバ520は、当該ユーザ名(ユーザID)に対応する印刷データ一覧を生成し、複合機101に返信する((5)−2)。
【0210】
複合機101は、印刷管理サーバ520から印刷データ一覧を受信すると、当該印刷データ一覧を操作部330のUI上に表示する。そして、複合機101の使用が許可されたユーザ200により、操作部330から印刷データの選択が行われて印刷指示がなされると、複合機101は、当該選択された印刷データの印刷要求(出力指示)を印刷管理サーバ520に送信する((6))。なお、この印刷要求は、ユーザ名(ユーザID)、印刷データのタイムスタンプを含むものとする。
【0211】
印刷管理サーバ520は、複合機101から印刷データの印刷要求(出力指示)を受信すると、当該出力指示がなされた印刷データの書誌情報を、ユーザ名(ユーザID)、印刷データのタイムスタンプをキーにして書誌情報DBから検索する。そして、印刷管理サーバ520は、検索した書誌情報から該当する印刷データを格納しているプリントサーバ510を特定し、特定したプリントサーバ510に該当する印刷データの印刷指示を送信する((7))。なお、上述のタイムスタンプは、プリントサーバ510で印刷データを受信した際に付与される。
【0212】
プリントサーバ510は、印刷管理サーバ520から印刷指示を受信すると、当該印刷指示に基づいて、印刷データを印刷要求のあった複合機101に送信して、複合機101で印刷処理(LPR印刷処理)させる((8)−1)。
【0213】
また、プリントサーバ510は、LPR印刷((8)−1)の終了後、印刷管理サーバ520へ印刷状況(結果)(印刷結果のメッセージ)を送信する((8)−2)。この印刷状況(結果)(印刷結果のメッセージ)を受信した印刷管理サーバ520は、当該印刷状況(結果)(印刷結果のメッセージ)に関する情報を、自装置のHDD又はRAMへ記憶し保持する。
【0214】
一方、複合機101は、印刷管理サーバ520へ出力指示((6))を行った後、印刷管理サーバ520へ印刷状況の確認要求を行う((9))。この印刷状況の確認要求は、一定時間ごとに、複合機101から印刷管理サーバ520へなされる。
【0215】
印刷管理サーバ520は、複合機101からの印刷状況の確認要求((9))に基づいて、前記HDD又はRAMに記憶し保持している印刷状況(結果)を複合機101へ送信する((10))。そして、複合機101は、印刷管理サーバ520から受信した印刷状況(結果)をHDD304又はRAM302へ記憶して保存し、また、その旨を操作部330へ表示する。
【0216】
なお、図19に示す認証システムにおいては、プリントサーバ510及び印刷管理サーバ520を1つのサーバで構成する形態であっても適用可能である。
【0217】
本実施形態に係る認証システムでは、当該認証システムを導入する際に、既に企業が所有しているディレクトリサーバ104を用いて運用することができるため、本認証システムに特化した認証サーバを構築することが必要なくなり、運用管理コストの削減を実現でき、また、運用管理が容易となる。
【0218】
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。
以下に示す第2の実施形態では、認証システム100において、認証時間の低減を図るための処理(或いは、認証時間の増大を招くことを回避するための処理に)ついて、図21〜図25を用いて説明する。なお、第2の実施形態における図21(図22も含む)の処理は、第1の実施形態における図13−3の処理に置き換えることで、当該第2の実施形態が実現可能である。このため、第2の実施形態は、図21(図22も含む)に示す処理以外の処理、並びに、認証システム100のシステム構成やハードウエア構成等については、第1の実施形態と同様であり、その詳細な説明は省略する。
【0219】
図21は、本発明の第2の実施形態に係る認証システムのICカード認証における処理手順の一例を示すフローチャートである。また、図22は、図21に示す検索詳細処理における詳細な処理手順の一例を示すフローチャートである。ここで、図21及び図22に示すフローチャートにおいては、各図面の上部に示されたユーザ200、認証アプリケーション10における各機能構成(11〜14)及びディレクトリサーバ104における処理が縦割りで示されている。なお、ステップS2101までの処理は、図13−2のステップS233から続く処理であり、第1の実施形態と同じであるため、その説明は省略する。
【0220】
また、第2の実施形態では、カード情報を用いて処理するように構成した一例を示すが、例えば、操作部330のキーボードからユーザ情報が入力された際に処理するように構成してもよい。この場合、カード情報を、操作部330で入力されたユーザ名に置き換えることで実現可能である。また、この場合、後述する図23のカードIDをユーザ名に置き換える。これにより、操作部330のキーボードからユーザ情報が入力された場合に、入力されたユーザ情報のユーザ名に対応するDN(このDNについては後述する)があるか否かを判定することが可能となる。つまり、DNがあった場合には検索条件にDNを設定し、DNがなかった場合には検索条件にユーザ名と検索位置に入力されたユーザ情報のドメイン名を設定する。
【0221】
図13−2のステップS233の処理が終了すると、図21のステップS2101に進み、ステップS2101において、認証処理機能部12は、ステップS203でカード情報部126に記憶したカード情報(カードID)を読み込む。この処理は、図13−3のステップS234と同様の処理である。
【0222】
続いて、ステップS2102において、認証処理機能部12は、図23に示すDNキャッシュ内を確認し、ステップS2101で読み込んだカード情報があるか否かを判断する。
【0223】
図23は、図4の認証処理機能部12で管理される記憶領域であって、図3のHDD304内に存在するDNキャッシュの情報の一例を示す模式図である。このDNキャッシュでは、カードIDとユーザDNとの各情報の組み合わせを保持する。ここで、カードIDとは、ICカードが持っている一意の番号であり、例えば図6で示されるものである。ユーザDNについては、以下で説明する。
【0224】
図25は、図4の管理データ記憶部43内部のディレクトリ構造の一例を示す模式図である。図25に示すように、ディレクトリサーバ104は、階層構造で情報を管理している。そして、階層構造のそれぞれの構成要素を表現する場合は、性質によって異なる名前を使う。例えば、その構成要素が組織を表している場合は、DC(Domain Component)を用い、組織の一単位を表している場合は、OU(Organization Unit)を用い、エントリ(ユーザ情報)を表している場合は、CN(Common Name)を用いる。これらの構成要素の種類や数などは、組織によって様々であり、自由な設計を行うことができる。ここでは、一般的な要素を使って単純な例を示している。
【0225】
また、その構成要素を指し示す場合に、DN(Distinguished Name)を用いる。このDNは、当該構成要素が所属する階層構造内の位置を示すものであり、例えば、構成要素名を後ろから順番に並べてカンマで連結したものとして適用することができる。このDNは、ディレクトリ内で一意となるものである。つまり、DNとは、ディレクトリ内の特定の情報を一意に識別するための識別名である。なお、このDNは、ユーザを検索するために指定される検索位置であるとともに、ユーザの情報(ユーザ名)を備えている。また、DNは、LDAP識別名ともいう。
【0226】
以下に、図25を用いて構成要素2502のDNを説明する。
構成要素2502は、"OU=div1"という構成要素であり、階層構造から見ると、"DC=com1,DC=local"という構成要素2501の直下に存在する構成要素である。この場合、構成要素2502のDNは、"OU=div1,DC=com1,DC=local"ということになる。このDNを使うことで、階層構造内にある構成要素を区別することができる。例えば、構成要素2502と構成要素2512は同じ"OU=div1"であるが、DNを使って表現することで、"OU=div1,DC=com1,DC=local"、"OU=div1,DC=com2,DC=local"とそれぞれの構成要素を区別することができる。
【0227】
また、各構成要素は属性を持つことができる。図25の例で説明すると、属性2505は、構成要素2504の属性である。また、図25に示す例では、属性2515、2518、2520、2524には2種類の属性しか示していないが、実際は属性2505のように複数の多くの属性を持っている。また、構成要素2501、構成要素2502、構成要素2503などの構成要素も、属性を持つことができる。なお、図10に管理データを示したが、これは、図25のディレクトリ構造を省略して、ユーザ情報のみを表現したものである。
【0228】
図23に示すDNキャッシュは、上述のようなユーザ情報のDNと、カードIDを紐付けたものである。
【0229】
また、図25に示す例では、トップレベルの構成要素(具体的には、構成要素2501及び2511)が2つ存在している。これらは、別々のディレクトリサーバで管理されてもよいし、同一のディレクトリサーバで管理されてもよいが、ディレクトリサーバのアプリケーションによっては、同一のディレクトリサーバで管理できないものもある(例えば、Active Directory(登録商標)など)。ここでは、後者の1ディレクトリサーバに対して、1ドメインという管理方法を用いて説明する。よって、図25で示しているディレクトリ構造は、ドメイン2501を管理するディレクトリサーバと、ドメイン2511を管理するディレクトリサーバとの、2つのディレクトリサーバによって管理される。
【0230】
ここで、再び、図21の説明に戻る。
ステップS2102の判断の結果、図23に示すDNキャッシュに、ステップS2101で読み込んだカード情報(カードID)がなかった場合には、ステップS2103に進む。
【0231】
ステップS2103に進むと、認証処理機能部12は、検索情報を設定する処理を行う。なお、初回のユーザ認証でカードIDが記憶されていることはないので、ユーザが初めて複合機101にICカードをかざした場合には、このステップを実行することになる。
【0232】
図24は、複合機101の認証処理機能部12で設定される検索情報の一例を示す模式図である。
ステップS2103では、例えば、図24に示す検索情報が設定される。具体的に、図24に示す検索情報の検索条件2401には、ステップS2101で読み込んだカード情報(カードID)が設定され、検索位置2402には、ドメインのトップレベル要素が設定される。ここで、検索位置2402として設定されるドメインのトップレベル要素は、図5で示した設定情報部125に格納されている設定情報(図7)から取得する。ここにドメインが記憶されているので、そのドメインをDNに変換する。例えば、ドメインが"com1.local"と設定されていれば、"DC=com1,DC=local"とする。ここで、検索情報としてトップレベル要素とカードIDを指定するのは、カードIDに一致するユーザが図25で示すディレクトリ構造内のどの位置に存在するのかが分からないためである。よって、トップレベルの要素を指定し、最上位からすべての構成要素の属性を検索する、という手順をとる。
【0233】
図25を用いて、この設定を行った場合の検索の例について説明する。
なお、検索条件としては"拡張属性=0123456789"を設定し、検索位置としては"DC=com1,DC=local"を設定するものとする。この設定の場合、ディレクトリサーバ104は、まず、構成要素2501から検索を開始し、続いて、構成要素2502の拡張属性、構成要素2503の拡張属性、構成要素2504の拡張属性という順に検索し、それぞれの構成要素の拡張属性が、指定した条件と一致するかを確認していく。この場合、最終的に構成要素2504の拡張属性が一致するので、ユーザが見つかったとみなし、構成要素2504及びその属性2505を検索結果として返す。
【0234】
即ち、図24に示す検索情報は、認証処理機能12がディレクトリサーバ104を検索する際に、図25で示されるディレクトリ構造のうちのどの場所から検索を開始するのか、また、どの条件に一致するものを検索するのかを指定するためのものである。
【0235】
ここで、再び、図21の説明に戻る。
ステップS2103の処理が終了すると、続いて、ステップS2104において、認証処理機能部12は、検索詳細処理を行う。この検索詳細処理の具体的な処理は、図22を用いて後述するが、このステップS2104では、ステップS2103で設定した検索情報を用いて検索処理を行う。
【0236】
続いて、ステップS2105において、認証処理機能部12は、ユーザ情報が見つかったか否かを判断する。ここで、この処理は、図13−3のステップS242と同様の処理である。
【0237】
ステップS2105の判断の結果、ユーザ情報が見つかった場合には、ステップS2117に進む。一方、ステップS2105の判断の結果、ユーザ情報が見つからなかった場合には、ステップS2121に進む。このステップS2117及びステップS2121の処理は後述する。
【0238】
また、ステップS2102の判断の結果、図23に示すDNキャッシュに、ステップS2101で読み込んだカード情報(カードID)があった場合には、ステップS2106に進む。
【0239】
ステップS2106に進むと、認証処理機能部12は、カード情報(カードID)に一致するDNを取得する。
【0240】
続いて、ステップS2107において、認証処理機能部12は、図24に示す検索情報を設定する処理を行う。具体的には、図24に示す検索条件2401としてステップS2106で取得したDNを設定し、この際、検索位置2402には何も設定しない。ここで、検索条件2401に直接DNを設定するのは、カードIDに一致するユーザが、図25に示すディレクトリ構造内のどの位置にいるのかが分かっているためである。つまり、この場合は、検索条件2401にユーザ名と検索位置の両方の情報が記憶されることになる。
【0241】
図25を用いて、この設定を行った場合の検索の例について説明する。
なお、検索条件としては"CN=user1,OU=dept1,OU=div1,DC=com1,DC=local"を設定し、検索位置には何も設定しないものとする。この設定の場合、ディレクトリサーバ104は、直接、構成要素2504にアクセスする。そして、構成要素2504及びその属性2505を検索結果として返す。
【0242】
ここで、再び、図21の説明に戻る。
ステップS2107の処理が終了すると、続いて、ステップS2108において、認証処理機能部12は、検索詳細処理を行う。この検索詳細処理の具体的な処理は、図22を用いて後述するが、このステップS2110では、ステップS2107で設定した検索情報を用いて検索処理を行う。
【0243】
続いて、ステップS2109において、認証処理機能部12は、ユーザ情報が見つかったか否かを判断する。ここで、この処理は、図13−3のステップS242と同様の処理である。
【0244】
ステップS2109の判断の結果、ユーザが見つかった場合には、ステップS2110に進む。
【0245】
ステップS2110に進むと、認証処理機能部12は、カード情報(カードID)が正しいか否かを判断する。具体的には、ステップS2101で読み込んだカード情報(カードID)と、ステップS2109で見つかったユーザ情報のカード検索用属性(例えば、図10に示す拡張属性)が一致するか否かによって、カード情報(カードID)が正しいか否かを判断する。ここで、この処理を行うのは、前回キャッシュされた時点から、ユーザのカードIDが変更された場合に、異なるユーザの情報を取得してしまうことを防ぐためである。
【0246】
ステップS2110の判断の結果、カード情報(カードID)が正しい場合(即ち、ユーザ情報のカード検索用属性と一致した場合)には、ステップS2117に進む。このステップS2117の処理は後述する。
【0247】
一方、ステップS2110の判断の結果、カード情報(カードID)が正しくない場合(即ち、ユーザ情報のカード検索用属性と一致しなかった場合)には、ステップS2111に進む。
【0248】
即ち、ステップS2110でカード情報(カードID)が正しくないと判断された場合、或いは、ステップS2109でユーザが見つからなかったと判断された場合には、ステップS2111に進む。ここで、ステップS2109において、ユーザが見つからなかった場合として考えられるのは、例えば、前回キャッシュ時からユーザの登録された位置が変更された、もしくはユーザが削除されたという場合である。
【0249】
ステップS2111に進むと、認証処理機能部12は、図23に示すDNキャッシュから、登録されているDNのキャッシュを削除する。ここで、該当レコードは、ステップS2101で取得したカード情報(カードID)と一致するレコードである。
【0250】
続いて、ステップS2112において、認証処理機能部12は、上位階層があるか否かを判断する。具体的には、ステップS2106で取得(設定)したDNに対して、上位の構成要素があるか否かを判断する。例えば、ディレクトリサーバ104において、図25に示すディレクトリ構造としてDNが表す構成要素が構成要素2517の場合、構成要素2517の上位に構成要素2516が存在するので、この場合、上位階層はあると判断される。また、例えば、DNが表す構成要素が構成要素2511の場合、構成要素2511の上位に構成要素が存在しないので、この場合、上位階層はないと判断される。
【0251】
ステップS2112の判断の結果、上位階層がない場合には、ステップS2121に進む。このステップS2121の処理は後述する。
【0252】
一方、ステップS2112の判断の結果、上位階層がある場合には、ステップS2113に進む。
【0253】
ステップS2113に進むと、認証処理機能部12は、上位階層のDNを取得する処理を行う。例えば、DNが表す構成要素が、"CN=user3,OU=dept2,OU=div1,DC=com2,DC=local"の構成要素2517である場合、"OU=dept2,OU=div1,DC=com2,DC=local"の構成要素2516のDNを取得する処理を行う。
【0254】
続いて、ステップS2114において、認証処理機能部12は、図24に示す検索情報を設定する処理を行う。具体的には、図24に示す検索条件2401としてステップS2101で読み込んだカード情報(カードID)を設定し、検索位置2402としてステップS2113で取得した上位階層のDNを設定する。ここで、上位階層のDNを設定するのは、前回キャッシュされたDNの近傍を検索するためである。キャッシュされたDNにユーザ情報が見つからなかったとき、同一階層内や近くの階層に移動されていることが多い。よって、前回の位置から近いところから検索するために、検索位置2402として上位階層のDNを設定する。
【0255】
図25を用いて、この設定を行った場合の検索の例について説明する。
なお、検索条件としては"拡張属性=444444444"を設定し、検索位置としては"OU=dept2,OU=div1,DC=com2,DC=local"を設定するものとする。この設定の場合、ディレクトリサーバ104は、構成要素2516にアクセスする。そして、構成要素2516に含まれる構成要素をそれぞれ順番に検索していく。この場合、最終的に、構成要素2519が一致するので、構成要素2519及びその属性2520を検索結果として返す。
【0256】
ここで、再び、図21の説明に戻る。
ステップS2114の処理が終了すると、続いて、ステップS2115において、認証処理機能部12は、検索詳細処理を行う。この検索詳細処理の具体的な処理は、図22を用いて後述するが、このステップS2115では、ステップS2114で設定した検索情報を用いて、検索処理を行う。
【0257】
続いて、ステップS2116において、認証処理機能部12は、ユーザ情報が見つかったか否かを判断する。ここで、この処理は、図13−3のステップS242と同様の処理である。
【0258】
このステップS2116の判断の結果、ユーザ情報が見つからなかった場合には、ステップS2112に戻り、再び、上位階層のDNの検索処理を行う。
【0259】
一方、ステップS2116の判断の結果、ユーザ情報が見つかった場合には、ステップS2117に進む。
【0260】
即ち、ステップS2116でユーザ情報が見つかったと判断された場合、ステップS2110でカード情報(カードID)が正しいと判断された場合、或いは、ステップS2105でユーザ情報が見つかったと判断された場合には、ステップS2117に進む。
【0261】
ステップS2117に進むと、認証処理機能部12は、DNをキャッシュする処理を行う。具体的に、ここでは、カード情報(カードID)と見つかったユーザDN(後述する図22のS2203の検索処理で検索された管理データのDN)とを紐付けるため、それぞれの情報を図23に示すDNキャッシュに格納する。なお、すでに同じカードIDが登録されている場合は、そのユーザDNを上書きする処理が行われる。
【0262】
続いて、ステップS2118において、認証処理機能部12は、複合機ログインユーザ情報を設定する処理を行う。ここで、この処理は、図13−3のステップS245と同様の処理である。
【0263】
続いて、ステップS2119において、認証処理機能部12は、複合機ログイン処理を行う。ここで、この処理は、図13−3のステップS246と同様の処理である。
【0264】
具体的には、ステップS2118で設定した複合機ログインユーザ情報を、複合機101に渡すものである。複合機ログインユーザ情報は、図11に示すように、ユーザ名、表示名、ドメイン、メール、権限などから構成されており、この情報を受けた複合機101のオペレーティングシステムは、複合機101を操作可能なように操作禁止設定を解除する。この解除によって、図5の操作部330の操作が可能となる。
【0265】
続いて、ステップS2120において、認証処理機能部12は、操作禁止設定が解除されたことを受けて、画面切り替え処理を行い、例えば、図15に示す複合機使用画面1520を表示させる。ここで、この処理は、図13−3のステップS247と同様の処理である。
【0266】
なお、図15に示す複合機使用画面1520には、ログインしたユーザを示すために、ログインユーザのユーザIDを埋め込み表示させることも可能である。また、印刷やコピーのログにログインユーザのユーザ名を使用したり、スキャンデータの転送にログインユーザのメールアドレス情報を使用したり、複合機の利用制限機能に、ログインユーザの権限を使用したりすることも可能である。
【0267】
また、ステップS2105でユーザ情報が見つからなかったと判断された場合、或いは、ステップS2112で上位階層がないと判断された場合には、ステップS2121に進む。
【0268】
ステップS2121に進むと、認証処理機能部12は、すべてのドメインを検索したか否かを判断する。ここで、この処理は、図13−3のステップS243と同様の処理である。具体的には、設定情報には、複数のドメイン情報を設定できるため、図7で示した設定情報のすべてのドメインを検索したか否かを判断する。この処理を行うことで、1つのディレクトリサーバにユーザ情報がなかった場合、次のディレクトリサーバを検索することができる。例えば、1つのディレクトリサーバに対して、1つのドメインが管理されていた場合、この処理で複数のドメインに対しての検索を連続で行うことができる。
【0269】
ステップS2121の判断の結果、すべてのドメインについては検索を行っていない場合(即ち、未だ検索を行っていないドメインがある場合)には、図13−1のステップS204へ進む。
【0270】
一方、ステップS2121の判断の結果、すべてのドメインを検索した場合には、ステップS2122に進む。
【0271】
ステップS2122に進むと、認証処理機能部12は、エラーを通知する処理を行う。ここで、この処理は、図13−3のステップS244と同様の処理である。
【0272】
ステップS2120或いはステップS2122の処理が終了すると、本実施形態の認証システム100におけるICカード認証が終了する。
【0273】
次に、図22のフローチャートを用いて、図21のステップS2104、ステップS2108、ステップS2115において行われる、検索詳細処理について説明する。ここで、図21に示す検索詳細処理は、認証処理機能部12においてのみ行われるように示されているが、より詳細には、図22に示すように、認証処理機能部12に加えて、LDAP通信機能部14及びLDAPサービス部42において行われる。
【0274】
まず、図22のステップS2201において、認証処理機能部12は、LDAP通信機能部14に対して、設定された検索情報(図24)を渡して、検索要求を行う。ここで、この検索要求は、ICカードのユーザ200に対する当該複合機101の使用を許可するための検索要求である。
【0275】
続いて、ステップS2202において、LDAP通信機能部14は、ステップS2201で認証処理機能部12から受け取った検索情報をLDAPサービス部42に渡して(送信して)、検索要求を行う。ここで、この処理は、図13−3のステップS236と同様の処理である。
【0276】
続いて、ステップS2203において、LDAPサービス部42は、管理データ記憶部43に記憶されている図25に示すディレクトリ構造のうち、図24で示す検索情報の検索条件2401に一致する構成要素を検索位置の始点として検索を行う。ここで、この処理は、図13−3のステップS237と同様の処理である。前述したように、図10に示す管理データは、図25で示すディレクトリ構造の簡易表記であるため、図13−3のステップS237では、図10に示す管理データを使用している。しかしながら、ここでは、図21のステップS2103、ステップS2107、ステップS2114などで、検索位置という概念を用いているため、図10より詳細な構造を示した図25に示すディレクトリ構造を使用している。
【0277】
続いて、ステップS2204において、LDAPサービス部42は、LDAP通信機能部14に対して、ステップS2203で検索された管理データ(図10)を管理データ情報として、ネットワーク105を介して、LDAP通信機能部14へ返答する。この際、ステップS2203での検索の結果、該当する管理データが無い場合には、該当する管理データが無い旨の情報が管理データ情報としてLDAP通信機能部14に返答される。ここで、この処理は、図13−3のステップS238と同様の処理である。
【0278】
続いて、ステップS2205において、LDAP通信機能部14は、LDAPサービス部42から送られた管理データ情報を認証処理機能部12に渡す。ここで、この処理は、図13−3のステップS239と同様の処理である。
【0279】
続いて、ステップS2206において、認証処理機能部12は、LDAP通信機能部14に対して、通信の切断要求を行う。ここで、この処理は、図13−3のステップS240と同様の処理である。
【0280】
続いて、ステップS2207において、LDAP通信機能部14は、LDAPサービス部42との接続を切断する。ここで、この処理は、図13−3のステップS241と同様の処理である。
【0281】
図22のステップS2201〜ステップS2207の処理を経ることにより、図21に示す検索詳細処理(S2104、S2108、S2115)が行われる。
【0282】
以上説明したように、本実施形態の複合機(画像形成装置)101は、以下に示す構成を有している。
認証処理機能部12では、ディレクトリサーバ104内(認証サーバ内)の図10に示す管理データ(ユーザ管理情報)における、図6に示すカード情報(ユーザ特定情報)または図8に示すユーザ入力情報(第2のログイン情報)のユーザ識別情報を検索するための検索位置を取得するようにしている(図21のS2103、S2107等)。この検索位置を取得する処理を行う認証処理機能部12は、検索位置取得手段を構成する。
そして、認証処理機能部12では、当該検索位置と図6に示すカード情報(ユーザ特定情報)または図8に示すユーザ入力情報(第2のログイン情報)のユーザ識別情報とをディレクトリサーバ104に送信して、検索要求を行うようにしている(図22)。
かかる構成によれば、認証時間を低減(或いは、認証時間の増大を招くことを回避)することが可能となる。
【0283】
前述した第1及び第2の実施形態では、ICカードを用いたICカード認証を前提として説明したが、例えば、ICカード認証に替えて指紋認証などのユーザを特定するユーザ特定情報を用いることも可能である。この場合、図3等のカードリーダ340に替えて、ユーザ200の指紋を読み取るための指紋リーダを適用することで上述した第1及び第2の実施形態における認証処理を実現することが可能となる。この際、指紋リーダは、読み取った指紋の凹凸から指紋画像を生成し、特徴点を抽出する処理を行う。この抽出された特徴点の情報をカードIDと同じように用いて認証を行う。つまり、図25の属性2505における拡張属性或いは図10の拡張属性には、ユーザ200の指紋の特徴点情報が登録されている形態を採る。なお、ここでは、ICカード認証に替わる認証として指紋認証の例を示したが、例えば、声紋認証や、虹彩認証、静脈のヘモグロビンの反射光を用いた手のひら認証などの生体認証を適用した形態であってもよい。即ち、本発明においては、ユーザ200に対する認証形式は、限定されるものではない。
【0284】
また、前述した第1及び第2の実施形態では、認証サービス部411の処理(S217、S218)とチケット認可サービス部412の処理(S220、S221))をディレクトリサーバ104(認証サーバ)で行うように構成したが、他のサーバ(認証チケット管理サーバ)で処理を行うように構成することも可能である。なお、この場合、ステップS216、ステップS219、ステップS310は、他のサーバ(認証チケット管理サーバ)へ要求を行う。
【0285】
前述した第1及び第2の実施形態に係る複合機(画像形成装置)101を構成する図5に示す各機能部、並びに、当該複合機101における認証方法を示す図13−1〜図13−3、図16−1〜図16−3、図21及び図22の各ステップは、CPU301がROM303或いはHDD304に記憶されているプログラムを実行することによって実現できる。このプログラム及び当該プログラムを記録したコンピュータ読み取り可能な記憶媒体は本発明に含まれる。
【0286】
具体的に、前記プログラムは、例えばCD−ROMのような記憶媒体に記録し、或いは各種伝送媒体を介し、コンピュータに提供される。前記プログラムを記録する記憶媒体としては、CD−ROM以外に、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、不揮発性メモリカード等を用いることができる。他方、前記プログラムの伝送媒体としては、プログラム情報を搬送波として伝搬させて供給するためのコンピュータネットワーク(LAN、インターネットの等のWAN、無線通信ネットワーク等)システムにおける通信媒体を用いることができる。また、この際の通信媒体としては、光ファイバ等の有線回線や無線回線などが挙げられる。
【0287】
また、本発明は、コンピュータが供給されたプログラムを実行することにより第1及び第2の実施形態に係る複合機101の機能が実現される態様に限られない。そのプログラムがコンピュータにおいて稼働しているOS(オペレーティングシステム)或いは他のアプリケーションソフト等と共同して第1及び第2の実施形態に係る複合機101の機能が実現される場合も、かかるプログラムは本発明に含まれる。また、供給されたプログラムの処理の全て、或いは一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて第1及び第2の実施形態に係る複合機101の機能が実現される場合も、かかるプログラムは本発明に含まれる。
【0288】
また、前述した本実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【0289】
【図1】本発明の第1の実施形態に係る認証システムの一例を示す外観図である。
【図2】図1に示すクライアントPC及びディレクトリサーバのハードウエア構成の一例を示すブロック図である。
【図3】図1に示す複合機のハードウエア構成の一例を示すブロック図である。
【図4】本発明の第1の実施形態に係る認証システムの概略構成の一例を示す模式図である。
【図5】本発明の第1の実施形態に係る認証システムの各機能構成の処理の一例を示す模式図である。
【図6】複合機のカード読取機能部で取得されたカード情報の一例を示す模式図である。
【図7】複合機の設定情報部に設定される設定情報の一例を示す模式図である。
【図8】複合機のユーザ入力情報部に記憶されるユーザ入力情報の一例を示す模式図である。
【図9】サービスチケットのデータ構造の一例を示す模式図である。
【図10】ディレクトリサーバの管理データ記憶部に記憶されているユーザの管理データの一例を示す模式図である。
【図11】複合機の複合機ログインユーザ情報部に記憶される複合機ログインユーザ情報の一例を示す模式図である。
【図12】本発明の第1の実施形態に係る認証システムの設定情報における設定処理手順の一例を示すフローチャートである。
【図13−1】本発明の第1の実施形態に係る認証システムのICカード認証における処理手順の一例を示すフローチャートである。
【図13−2】図13−1に引き続き、本発明の第1の実施形態に係る認証システムのICカード認証における処理手順の一例を示すフローチャートである。
【図13−3】図13−2に引き続き、本発明の第1の実施形態に係る認証システムのICカード認証における処理手順の一例を示すフローチャートである。
【図14】ICカード用チケットキャッシュ部又はキーボード用チケットキャッシュ部におけるサービスチケットキャッシュのデータ構造の一例を示す模式図である。
【図15】複合機の操作部に表示される表示画面の一例を示すイメージ図である。
【図16−1】本発明の第1の実施形態に係る認証システムのキーボード認証における処理手順の一例を示すフローチャートである。
【図16−2】図16−1に引き続き、本発明の第1の実施形態に係る認証システムのキーボード認証における処理手順の一例を示すフローチャートである。
【図16−3】図16−2に引き続き、本発明の第1の実施形態に係る認証システムのキーボード認証における処理手順の一例を示すフローチャートである。
【図17】ICカード用チケットキャッシュ部又はキーボード用チケットキャッシュ部におけるサービスチケットのキャッシュ処理を説明する模式図である。
【図18】ICカード用チケットキャッシュ部又はキーボード用チケットキャッシュ部におけるキャッシュ方法の一例を示す模式図である。
【図19】本発明の第1の実施形態に係る認証システムの応用例を示す外観図である。
【図20】背景技術で示したICカード認証及びキーボード認証を実現させるための認証システムの概略構成の一例を示す模式図である。
【図21】本発明の第2の実施形態に係る認証システムのICカード認証における処理手順の一例を示すフローチャートである。
【図22】図21に示す検索詳細処理における詳細な処理手順の一例を示すフローチャートである。
【図23】図4の認証処理機能部で管理される記憶領域であって、図3のHDD内に存在するDNキャッシュの情報の一例を示す模式図である。
【図24】複合機の認証処理機能部で設定される検索情報の一例を示す模式図である。
【図25】図4の管理データ記憶部内部のディレクトリ構造の一例を示す模式図である。
【符号の説明】
【0290】
10 認証アプリケーション
11 カード読取機能部
12 認証処理機能部
13 ケルベロス認証機能部
14 LDAP通信機能部
41 鍵(チケット)配布局
42 LDAPサービス部
43 管理データ記憶部
100 認証システム
101 複合機
103 クライアントPC
104 ディレクトリサーバ
105 ネットワーク
121 ICカード用チケットキャッシュ部
122 キーボード用チケットキャッシュ部
123 複合機ログインユーザ情報部
124 ユーザ入力情報部
125 設定情報部
126 カード情報部
200 ユーザ
330 操作部
340 カードリーダ
411 認証サービス部
412 チケット認可サービス部

【特許請求の範囲】
【請求項1】
1ユーザに対して少なくともユーザ特定情報及びユーザ識別情報を含むユーザ管理情報を記憶する認証サーバと通信可能に接続された画像形成装置であって、
ユーザを特定するためのユーザ特定情報を読み取る読取手段と、
前記読取手段で読み取られたユーザ特定情報を認証するために用いられる、前記認証サーバに対してログインするための共通のユーザ識別情報及びパスワードを少なくとも含む第1のログイン情報を記憶するログイン情報記憶手段と、
ユーザによる操作に応じて、ユーザ識別情報及びパスワードを少なくとも含む第2のログイン情報の入力操作を受け付ける操作手段と、
前記認証サーバへのログインを行う場合に、前記第1のログイン情報または前記第2のログイン情報を用いて、前記認証サーバにログインする際の認証に利用される認証チケットを要求するチケット要求手段と、
前記チケット要求手段による要求により得られた認証チケットを用いて、前記認証サーバに対して認証要求を行う認証要求手段と、
前記認証要求手段による要求により前記認証サーバに対する前記認証チケットを用いた認証が成功した場合、前記ユーザ管理情報を検索するために前記読取手段で読み取られたユーザ特定情報または前記第2のログイン情報のユーザ識別情報の検索を、前記認証サーバに対して要求する検索要求手段と
を有することを特徴とする画像形成装置。
【請求項2】
前記読取手段で読み取られたユーザ特定情報を用いて、当該画像形成装置へログインする場合に、前記第1のログイン情報を前記チケット要求手段に渡すよう制御し、一方、前記第2のログイン情報を用いて当該画像形成装置へログインする場合に、前記第2のログイン情報を前記チケット要求手段に渡すよう制御する認証制御手段を更に有することを特徴とする請求項1に記載の画像形成装置。
【請求項3】
前記第1のログイン情報を用いて得られた認証チケットをキャッシュする第1のチケットキャッシュ手段と、
前記第2のログイン情報を用いて得られた認証チケットをキャッシュする第2のチケットキャッシュ手段と、
前記読取手段でユーザ特定情報が読み取られた場合に、前記第1のログイン情報を用いて得られた認証チケットが前記第1のチケットキャッシュ手段にキャッシュされているか否かを判断する第1の判断手段と、
前記操作手段で前記第2のログイン情報の入力操作を受け付けた場合に、当該第2のログイン情報を用いて得られた認証チケットが前記第2のチケットキャッシュ手段にキャッシュされているか否かを判断する第2の判断手段と
を更に有し、
前記認証要求手段は、前記第1の判断手段または前記第2の判断手段で認証チケットがキャッシュされている場合には、当該キャッシュされている認証チケットを用いて前記認証サーバに対して認証要求を行うことを特徴とする請求項1又は2に記載の画像形成装置。
【請求項4】
前記認証要求手段による要求により前記認証サーバに対する認証が成功した場合に、当該認証に用いた認証チケットをキャッシュしている前記第1のチケットキャッシュ手段または前記第2のチケットキャッシュ手段の認証チケットを更新する制御を行い、一方、前記認証要求手段による要求により前記認証サーバに対する認証が失敗した場合に、当該認証に用いた認証チケットをキャッシュしている前記第1のチケットキャッシュ手段または前記第2のチケットキャッシュ手段から当該認証に用いた認証チケットを削除する制御を行うキャッシュ制御手段を更に有することを特徴とする請求項3に記載の画像形成装置。
【請求項5】
当該画像形成装置には、複数の前記認証サーバが通信可能に接続されており、
前記第1のログイン情報は、前記認証サーバが属するドメインごとに用意されており、
前記第1のチケットキャッシュ手段には前記ドメインごとに認証チケットがキャッシュされ、前記第2のチケットキャッシュ手段にはユーザごとに認証チケットがキャッシュされることを特徴とする請求項3又は4に記載の画像形成装置。
【請求項6】
前記認証サーバ内の前記ユーザ管理情報における前記ユーザ特定情報または前記第2のログイン情報のユーザ識別情報を検索するための検索位置を取得する検索位置取得手段を更に有し、
前記検索要求手段は、前記検索位置と前記ユーザ特定情報または前記第2のログイン情報のユーザ識別情報とを前記認証サーバに送信することにより、前記検索の要求をすることを特徴とする請求項1乃至5のいずれか1項に記載の画像形成装置。
【請求項7】
前記チケット要求手段は、前記認証サーバまたは前記認証チケットの発行を行う認証チケット管理サーバに、前記認証チケットを要求することを特徴とする請求項1乃至6のいずれか1項に記載の画像形成装置。
【請求項8】
請求項1乃至7のいずれか1項に記載の画像形成装置と、
前記認証サーバと、
印刷データを記憶するプリントサーバと、
ユーザごとに印刷データ一覧を生成する印刷管理サーバと
を有し、
前記プリントサーバに記憶されている印刷データの印刷処理を行う際に、前記認証サーバにおいて前記画像形成装置の使用を許可されたユーザの印刷データ一覧を、前記印刷管理サーバから前記画像形成装置に出力することを特徴とする認証システム。
【請求項9】
前記画像形成装置は、前記印刷データ一覧の中から選択された印刷データを前記プリントサーバから取得し、取得した印刷データの印刷処理を行うことを特徴とする請求項8に記載の認証システム。
【請求項10】
1ユーザに対して少なくともユーザ特定情報及びユーザ識別情報を含むユーザ管理情報を記憶する認証サーバと通信可能に接続された画像形成装置における認証方法であって、
ユーザを特定するためのユーザ特定情報を読取手段を用いて読み取る読取ステップと、
前記読取ステップで読み取られたユーザ特定情報を認証するために用いられる、前記認証サーバに対してログインするための共通のユーザ識別情報及びパスワードを少なくとも含む第1のログイン情報を記憶するログイン情報記憶ステップと、
ユーザによる操作手段の操作に応じて、ユーザ識別情報及びパスワードを少なくとも含む第2のログイン情報の入力を行う入力ステップと、
前記認証サーバへのログインを行う場合に、前記第1のログイン情報または前記第2のログイン情報を用いて、前記認証サーバにログインする際の認証に利用される認証チケットを要求するチケット要求ステップと、
前記チケット要求ステップによる要求により得られた認証チケットを用いて、前記認証サーバに対して認証要求を行う認証要求ステップと、
前記認証要求ステップによる要求により前記認証サーバに対する前記認証チケットを用いた認証が成功した場合、前記ユーザ管理情報を検索するために前記読取ステップで読み取られたユーザ特定情報または前記第2のログイン情報のユーザ識別情報の検索を、前記認証サーバに対して要求する検索要求ステップと
を有することを特徴とする認証方法。
【請求項11】
1ユーザに対して少なくともユーザ特定情報及びユーザ識別情報を含むユーザ管理情報を記憶する認証サーバと通信可能に接続された画像形成装置における認証方法をコンピュータに実行させるためのプログラムであって、
ユーザを特定するためのユーザ特定情報を読取手段を用いて読み取る読取ステップと、
前記読取ステップで読み取られたユーザ特定情報を認証するために用いられる、前記認証サーバに対してログインするための共通のユーザ識別情報及びパスワードを少なくとも含む第1のログイン情報を記憶するログイン情報記憶ステップと、
ユーザによる操作手段の操作に応じて、ユーザ識別情報及びパスワードを少なくとも含む第2のログイン情報の入力を行う入力ステップと、
前記認証サーバへのログインを行う場合に、前記第1のログイン情報または前記第2のログイン情報を用いて、前記認証サーバにログインする際の認証に利用される認証チケットを要求するチケット要求ステップと、
前記チケット要求ステップによる要求により得られた認証チケットを用いて、前記認証サーバに対して認証要求を行う認証要求ステップと、
前記認証要求ステップによる要求により前記認証サーバに対する前記認証チケットを用いた認証が成功した場合、前記ユーザ管理情報を検索するために前記読取ステップで読み取られたユーザ特定情報または前記第2のログイン情報のユーザ識別情報の検索を、前記認証サーバに対して要求する検索要求ステップと
をコンピュータに実行させるためのプログラム。
【請求項12】
請求項11に記載のプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。

【図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

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13−1】
image rotate

【図13−2】
image rotate

【図13−3】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16−1】
image rotate

【図16−2】
image rotate

【図16−3】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate


【公開番号】特開2009−93626(P2009−93626A)
【公開日】平成21年4月30日(2009.4.30)
【国際特許分類】
【出願番号】特願2008−198164(P2008−198164)
【出願日】平成20年7月31日(2008.7.31)
【出願人】(390002761)キヤノンマーケティングジャパン株式会社 (656)
【Fターム(参考)】