(57)【要約】【課題】ユーザ認証に用いる情報を更新した情報処理装置から他の情報処理装置にアクセスする際に必要となるユーザ認証処理をユーザビリティを低下させずに実行する。【解決手段】ユーザ認証情報の第１、第２の変換値を管理するＭＦＰ１１０が、ＭＦＰ１２０にアクセスする際に、ＭＦＰ１２０がいずれの変換値を用いてユーザ認証処理を実行するかを問い合わせる。ＭＦＰ１１０が、上記問い合わせ結果に応じた変換値に基づく情報をＭＦＰ１２０に対して送信する。そして、ＭＦＰ１２０が、上記問い合わせ結果に応じた変換値に基づく情報と、ＭＦＰ１２０が管理する変換値とを用いてユーザ認証処理を実行する。【選択図】図１
2011243093.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ認証処理を実行した後に、第２の情報処理装置に対してユーザ認証要求を行い、該第２の情報処理装置によるユーザ認証処理結果に応じて、該第２の情報処理装置を介したジョブ操作を実行する第１の情報処理装置であって、
少なくとも第１の変換手段によるユーザ認証情報の変換値である第１の変換値を含む第１の認証基準情報を記憶する記憶手段と、
ユーザ認証情報を入力する入力手段と、
前記入力されたユーザ認証情報と前記記憶手段に記憶された前記第１の認証基準情報に含まれるユーザ認証情報の変換値とに基づいてユーザ認証処理を行う手段であって、前記入力されたユーザ認証情報の前記第１の変換手段による変換結果と前記第１の変換値とが合致する場合に、ユーザ認証が成功したと判断し、該ユーザ認証情報の第２の変換手段による変換値である第２の変換値を前記第１の認証基準情報に追加する認証手段とを備え、
前記認証手段は、更に、前記第２の情報処理装置に対して、該第２の情報処理装置が管理する第２の認証基準情報に含まれる変換値であって、該第２の情報処理装置がユーザ認証処理に用いる変換値を問い合わせ、該問い合わせ結果に応じた変換値に基づいて生成される情報を前記第２の情報処理装置に送信して、前記第２の情報処理装置に該問い合わせ結果に応じた変換値に基づいて生成される情報と前記第２の認証基準情報に含まれる変換値とを用いたユーザ認証処理を行わせる
ことを特徴とする情報処理装置。
【請求項２】
前記認証手段は、前記問い合わせ結果が前記第１の変換値を示す場合に、該第１の変換値に基づいて生成される情報を該第２の情報処理装置に送信し、該第２の情報処理装置による前記ユーザ認証処理が成功した場合に、該第２の情報処理装置に指示して、該第２の情報処理装置が管理する第２の認証基準情報に前記第２の変換値を追加させる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１、第２の変換手段は、互いにセキュリティレベルが異なるハッシュ関数である
ことを特徴とする請求項１又は請求項２に記載の情報処理装置。
【請求項４】
前記第１の変換手段は、ＭＤ５であり、
前記第２の変換手段は、ＳＨＡである
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
ユーザ認証処理を実行した後に、第２の情報処理装置に対してユーザ認証要求を行い、該第２の情報処理装置によるユーザ認証処理結果に応じて、該第２の情報処理装置を介したジョブ操作を実行する第１の情報処理装置におけるユーザ認証方法であって、
少なくとも第１の変換手段によるユーザ認証情報の変換値である第１の変換値を含む第１の認証基準情報を記憶手段に記憶する記憶工程と、
ユーザ認証情報を入力する入力工程と、
前記入力されたユーザ認証情報と前記記憶手段に記憶された前記第１の認証基準情報に含まれるユーザ認証情報の変換値とに基づいてユーザ認証処理を行う工程であって、前記入力されたユーザ認証情報の前記第１の変換手段による変換結果と前記第１の変換値とが合致する場合に、ユーザ認証が成功したと判断し、該ユーザ認証情報の第２の変換手段による変換値である第２の変換値を前記第１の認証基準情報に追加する認証工程とを有し、
前記認証工程は、更に、前記第２の情報処理装置に対して、該第２の情報処理装置が管理する第２の認証基準情報に含まれる変換値であって、該第２の情報処理装置がユーザ認証処理に用いる変換値を問い合わせ、該問い合わせ結果に応じた変換値に基づいて生成される情報を前記第２の情報処理装置に送信して、前記第２の情報処理装置に該問い合わせ結果に応じた変換値に基づいて生成される情報と前記第２の認証基準情報に含まれる変換値とを用いたユーザ認証処理を行わせる
ことを特徴とするユーザ認証方法。
【請求項６】
請求項５に記載のユーザ認証方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、ユーザ認証方法、及びコンピュータプログラムに関する。
【背景技術】
【０００２】
ハッシュアルゴリズムを用いてシステムのセキュリティを向上させる技術が提案されている。ハッシュアルゴリズムは、一方向性と非衝突性とを有するという特徴がある。従って、ハッシュアルゴリズムは、システム内にパスワードを保存する際に利用される。具体的には、ハッシュアルゴリズムは、パスワードをそのまま保存するのでなく、パスワードのハッシュ値を保存するといった用途で利用される。近年、ハッシュ関数の一種であるＭＤ５の脆弱性が発見される等、ハッシュアルゴリズムに対する攻撃の成功例が報告されてきている。ハッシュアルゴリズムに対する攻撃に成功した場合であっても、必ずしもハッシュ値からパスワードを推測することができるわけではない。しかし、セキュリティの向上を考慮すると、システムが、攻撃に成功されたハッシュアルゴリズムとは異なるハッシュアルゴリズムを採用することが必要である。
【０００３】
一方、ユーザから入力されたパスワードに基づいてユーザ認証を実行した情報処理装置が他の情報処理装置に対してアクセスし、アクセス先の情報処理装置による処理の実行結果やデータを取得するシステムが提案されている。上記他の情報処理装置にアクセスする情報処理装置が、アクセス時に他の情報処理装置から認証を求められる場合がある。ここで、一般的に、Ｋｅｒｂｅｒｏｓ認証のような、認証済みのチケット情報を利用して情報処理装置間におけるＳｉｎｇｌｅ  Ｓｉｇｎ−Ｏｎを実現する技術は広く利用されている。このようなＳｉｎｇｌｅ  Ｓｉｇｎ−Ｏｎを実現するために、ＫＤＣのようなユーザの認証情報を集中管理するようなサーバを用いたシステムが提案されている。このシステムは、チケットを受け取った情報処理装置やサービスなどが、サーバを介してチケットの有効性を確認することによって認証されたユーザであることを確認する。その結果、認証処理を省略することが可能となる。
【０００４】
また、ユーザの認証情報を集中管理するサーバを備えることなく、各々の情報処理装置内に記憶された認証情報を同一の状態にしておくことによって、どの情報処理装置に対しても同じ認証情報を用いてアクセスすることを可能とするシステムが提案されている。このシステムは、ユーザの認証情報を再利用し、他の情報処理装置にアクセスする際に認証処理を実行することによって、ユーザに再度認証情報の入力を求めることなく、Ｓｉｎｇｌｅ  Ｓｉｇｎ−Ｏｎのような運用を可能としている。なお、下記の特許文献１は、自装置内で管理しているハッシュ値を用いてユーザ認証を行った後に、このハッシュ値を新たなハッシュ値に更新する情報処理装置を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−０９３３４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、ユーザが操作する情報処理装置を第１の情報処理装置と記述する。また、第１の情報処理装置がアクセスする情報処理装置を第２の情報処理装置と記述する。認証情報が集中管理されていないシステムでは、Ｓｉｎｇｌｅ  Ｓｉｇｎ−Ｏｎのような運用を行うためには、第１の情報処理装置だけでなく第２の情報処理装置においてもパスワードが更新されている必要がある。第２の情報処理装置において、パスワードのハッシュ値が更新されていない場合は、第１の情報処理装置で更新されたハッシュ値を再利用して第１の情報処理装置から第２の情報処理装置に認証を実施しても、認証は失敗する。また、認証が失敗した都度ユーザに認証情報の入力を求めるというのはユーザの手間を増加させることになり、ユーザビリティの低下を招く。
【０００７】
本発明は、ユーザ認証に用いる情報を更新した情報処理装置から他の情報処理装置にアクセスする際に必要となるユーザ認証処理をユーザビリティを低下させずに実行できる情報処理装置、ユーザ認証方法、及びコンピュータプログラムの提供を目的とする。
【課題を解決するための手段】
【０００８】
本発明の一実施形態の情報処理装置は、ユーザ認証処理を実行した後に、第２の情報処理装置に対してユーザ認証要求を行い、該第２の情報処理装置によるユーザ認証処理結果に応じて、該第２の情報処理装置を介したジョブ操作を実行する第１の情報処理装置であって、少なくとも第１の変換手段によるユーザ認証情報の変換値である第１の変換値を含む第１の認証基準情報を記憶する記憶手段と、ユーザ認証情報を入力する入力手段と、前記入力されたユーザ認証情報と前記記憶手段に記憶された前記第１の認証基準情報に含まれるユーザ認証情報の変換値とに基づいてユーザ認証処理を行う手段であって、前記入力されたユーザ認証情報の前記第１の変換手段による変換結果と前記第１の変換値とが合致する場合に、ユーザ認証が成功したと判断し、該ユーザ認証情報の第２の変換手段による変換値である第２の変換値を前記第１の認証基準情報に追加する認証手段とを備える。前記認証手段は、更に、前記第２の情報処理装置に対して、該第２の情報処理装置が管理する第２の認証基準情報に含まれる変換値であって、該第２の情報処理装置がユーザ認証処理に用いる変換値を問い合わせ、該問い合わせ結果に応じた変換値に基づいて生成される情報を前記第２の情報処理装置に送信して、前記第２の情報処理装置に該問い合わせ結果に応じた変換値に基づいて生成される情報と前記第２の認証基準情報に含まれる変換値とを用いたユーザ認証処理を行わせる。
【発明の効果】
【０００９】
本発明によれば、ユーザ認証情報の第１、第２の変換値を有する第１の情報処理装置からユーザ認証処理をリクエストされた第２の情報処理装置が、第２の変換値を有しなくても第１の変換値を用いてこのユーザの認証処理を実行できる。その結果、第１の情報処理装置にログインしたユーザは、ログイン時に入力したユーザ認証情報を再度入力することなく、第２の情報処理装置においてユーザ認証を受けることができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態のシステム構成例と、ハードウェア構成例とを示す図である。
【図２】ＭＦＰの機能ブロック図と、認証情報テーブルの例である。
【図３】ＭＦＰのユーザ認証処理フローの一例を示す図である。
【図４】ＭＦＰが他のＭＦＰを介してジョブ操作を行う場合の動作処理フローの一例を示す図である。
【図５】認証ネゴシエートを説明するフローチャートである。
【図６】ネットワーク認証処理を説明するフローチャートである。
【図７】情報更新処理を説明するフローチャートである。
【発明を実施するための形態】
【００１１】
図１は、本実施形態のシステム構成例と、ハードウェア構成例とを示す図である。図１（Ａ）は、本実施形態のシステム構成例を示す。このシステムは、ネットワーク１００を介して接続された複数のＭＦＰ（Multifunction Peripheral）１１０、１２０を備える。ＭＦＰ１１０、１２０は、本実施形態の情報処理装置であり、それぞれ、第１の情報処理装置、第２の情報処理装置として機能する。
【００１２】
ＭＦＰ１１０とＭＦＰ１２０とは、同一の構成を有する。ＭＦＰ１１０、１２０は、コピー機能を有する。また、ＭＦＰ１１０、１２０は、原稿画像を読み取り、読み取って得られた画像データ（文書データと呼ぶ場合もある）を、内部のストレージに保存する画像データ記憶装置を有する。また、ＭＦＰ１１０、１２０は、ネットワーク１００上の指定した装置から画像データを取得するデータ取得機能を有する。また、ＭＦＰ１１０、１２０は、取得した画像データを印刷する印刷機能を有する。ネットワーク１００は、例えばＬＡＮ（Local Area Network）である。本実施形態に特有の動作として、ＭＦＰ１１０は、ユーザ認証処理を実行した後に、ＭＦＰ１２０に対してユーザ認証要求を行い、ＭＦＰ１２０によるユーザ認証処理結果に応じて、ＭＦＰ１２０を介したジョブ操作を実行する。なお、本発明の適用範囲は、ＭＦＰに限定されない。
【００１３】
図１（Ｂ）は、図１（Ａ）に示すＭＦＰのハードウェア構成例を示す。図１（Ｂ）では、ＭＦＰ１１０のハードウェア構成を示す。ＭＦＰ１２０のハードウェア構成は、ＭＦＰ１１０のハードウェア構成と同じである。ＭＦＰ１１０は、操作部１１１、スキャナ部１１２、プリンタ部１１３、コントローラ２００を備える。操作部１１１は、ＭＦＰ１１０のユーザの操作に応じた情報を入力する。具体的には、操作部１１１は、ユーザ認証情報を入力する入力手段として機能する。本実施形態において、ユーザ認証情報はユーザのパスワードを含む情報であり、例えば、ユーザのアカウント名とパスワードとを含む。また、操作部１１１は、コントローラ２００の指示に従って、情報の表示処理を行う。スキャナ部１１２は、画像入力デバイスとして機能する。
【００１４】
スキャナ部１１２は、原稿上の画像を読み取って画像データを生成する。なお、原稿は原稿フィーダにセットされ、コントローラ２００からスキャナ部１１２に原稿読み取り指示が与えられる。スキャナ部１１２は、この指示を受けると原稿フィーダから原稿を１枚ずつフィードして、原稿の読み取り動作を行う。なお、原稿の読み取り方法は原稿フィーダによる自動送り方式ではなく、原稿を不図示のガラス面上に載置し露光部を移動させることで原稿の走査を行う方法であってもよい。プリンタ部１１３は、画像出力デバイスとして機能する。プリンタ部１１３は、コントローラ２００から画像データを受け取り、受け取った画像データを用紙上に画像として形成する。なお、本実施形態における画像形成方式として、感光体ドラムや感光体ベルトを用いた電子写真方式以外にも、インクジェット方式等が適用可能である。
【００１５】
コントローラ２００は、ＭＦＰ全体を制御する。コントローラ２００は、操作部１１１、スキャナ部１１２、プリンタ部１１３と電気的に接続されている。また、コントローラ２００は、ネットワーク（Network ）Ｉ／Ｆ（Interface）２０６を介してネットワーク１００に接続されている。すなわち、コントローラ２００は、ネットワーク１００を介して他の情報処理装置と接続されている。これにより、ＭＦＰ１１０がＭＦＰ１２０とネットワークを介して通信することができる。
【００１６】
コントローラ２００は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ２０４、操作部Ｉ／Ｆ２０５、ネットワークＩ／Ｆ２０６を備える。ＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略語である。ＲＯＭは、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略語である。ＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略語である。ＨＤＤは、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略語である。また、コントローラ２００は、スキャナＩ／Ｆ２０７、画像処理部２０８、プリンタＩ／Ｆ２０９を備える。
【００１７】
ＣＰＵ２０１は、コントローラ２００全体を制御する。具体的には、ＣＰＵ２０１は、ＨＤＤ２０４に格納された制御プログラムを実行することにより、コントローラ２００内部で行われる各種処理を統括的に制御する。この制御プログラムは、本実施形態の情報処理装置の制御方法を実現するコンピュータプログラムである。また、ＣＰＵ２０１は、接続中の各種デバイスへのアクセスと、他のデバイスからのアクセスとを統括的に制御する。
【００１８】
ＲＯＭ２０２には、ＭＦＰのブートプログラムが格納されている。ＲＡＭ２０３は、ＣＰＵ２０１が動作するためのシステムワークメモリとして機能する。ＲＡＭ２０３は、画像データを一時記憶するためのメモリとしても機能する。ＲＡＭ２０３は、電源のバックアップ等により記憶した内容を装置本体の電源オフ後も保持しておく領域と、電源オフ後には記憶した内容が消去されてしまう領域を有する。
【００１９】
ＨＤＤ２０４には、本実施形態の情報処理装置の制御方法を実現する制御プログラムが格納されている。また、ＨＤＤ２０４には、システムソフトウェアや画像データや、ユーザを認証するための認証情報、暗号化を実施するための秘密鍵、公開鍵の情報を格納することが可能である。操作部Ｉ／Ｆ２０５は、システムバス２１１と操作部１１１とを接続するためのインターフェース部である。操作部Ｉ／Ｆ２０５は、操作部１１１に表示するための画像データをシステムバス２１１から受け取り操作部１１１に出力するとともに、操作部１１１から入力された情報をシステムバス２１１へと出力する。ネットワークＩ／Ｆ２０６はネットワーク１００及びシステムバス２１１に接続し、情報の入出力を行う。スキャナＩ／Ｆ２０７は、スキャナ部１１２から受け取った画像データに対して、補正、加工、及び編集を行う。なお、スキャナＩ／Ｆ２０７は、受け取った画像データがカラー原稿か白黒原稿か、文字原稿か写真原稿かなどを判定する機能を持つ。画像処理部２０８は、画像データの方向変換、画像圧縮、伸張処理等を実行する。また、画像処理部２０８は、ＨＤＤ２０４に保存されている画像同士を合成して一枚の画像にする機能を有する。プリンタＩ／Ｆ２０９は、画像処理部２０８から送られた画像データを受け取り、この画像データに付随させられている属性データを参照しながら画像データに画像形成を施す。画像形成後の画像データは、プリンタ部１１３に出力される。なお、図１（Ｂ）に示す例では、ＭＦＰはＵＩ（User Interface）表示を実行するネットワークＭＦＰであるものとする。ＭＦＰが、汎用スキャナや汎用プリンタなどを接続した汎用コンピュータ等であってもよい。
【００２０】
図２は、図１（Ａ）に示すＭＦＰの機能ブロック図と、認証情報テーブルの例である。図２（Ａ）は、ＭＦＰ１１０、１２０の機能ブロック図の例を示す。図２（Ａ）に示すＭＦＰが備えるソフトウェアモジュールの機能は、ＣＰＵ２０１がＭＦＰのＨＤＤ２０４に格納された制御プログラムを実行することにより実現される。
【００２１】
図２（Ａ）に示すＭＦＰは、連携モジュール３０１、スキャナ制御モジュール３０２、プリンタ制御モジュール３０３、ユーザインタフェースモジュール３０４、ジョブ管理モジュール３０５を備える。また、ＭＦＰは、画像データ管理モジュール３０６、ユーザ認証モジュール３０７、プラットホーム３０８を備える。連携モジュール３０１は、他のノード間との連携を制御するソフトウェアモジュールである。具体的には、連携モジュール３０１は、ネットワークＩ／Ｆ２０６を介して他のＭＦＰと通信を行う。スキャナ制御モジュール３０２は、スキャナＩ／Ｆ２０７を介してスキャナ部１１２を制御する。プリンタ制御モジュール３０３は、プリンタＩ／Ｆ２０９を介してプリンタ部１１３を制御する。ユーザインタフェースモジュール３０４は、操作部Ｉ／Ｆ２０５を介して操作部１１１を制御し、ユーザからの入力の受付や、ユーザへの情報表示を実行する。ジョブ管理モジュール３０５は、ユーザインタフェースモジュール３０４からのジョブの実行指示又は中止指示などの指示を受け付ける。ジョブ管理モジュールは、スキャナ制御モジュール３０２、プリンタ制御モジュール３０３、連携モジュール３０１、画像データ管理モジュール３０６を介して、スキャンジョブ、プリントジョブ、または画像データの記憶や取得を実行する。画像データ管理モジュール３０６は、ＨＤＤ２０４を介して画像データの記憶や取得の処理を行う。ユーザ認証モジュール３０７は、認証手段として機能し、ユーザ認証処理、または他のＭＦＰに送信する認証情報の生成を行う。このために、ユーザ認証モジュール３０７は、後述する認証情報テーブルを管理する。プラットホーム３０８は、ＭＦＰが備えるソフトウェアモジュールを連携させるための処理を行う。
【００２２】
図２（Ｂ）は、認証情報テーブルの例を示す。認証情報テーブルは、認証情報を管理するテーブルである。認証情報テーブルは、ＨＤＤ２０４に格納され、データの読み込み、書き込み、検索、更新が可能である。認証情報テーブルに格納される認証情報は、アカウント名と、該アカウント名に対応づけられたハッシュ値というデータ構成を有する。図２（Ｂ）中に示すハッシュ値＿1 は、ユーザのパスワードに対して第１のハッシュアルゴリズムが実行された後のハッシュ値である。ハッシュ値＿2 は、ユーザのパスワードに対して第２のハッシュアルゴリズムが実行された後のハッシュ値である。すなわち、ＨＤＤ２０４は、少なくとも第１の変換手段（第１のハッシュアルゴリズム）によるユーザ認証情報（パスワード）の変換値である第１の変換値（ハッシュ値＿１）を含む第１の認証基準情報（図２（Ｂ）に示す認証情報）を記憶する記憶手段である。
【００２３】
ユーザ認証モジュール３０７は、ユーザから入力されたアカウント名に対応するハッシュ値を探索する。ユーザ認証モジュール３０７は、ユーザから入力されたパスワードを上記探索されたハッシュ値に対応するハッシュアルゴリズムによって変換する。そして、ユーザ認証モジュール３０７は、上記探索されたハッシュ値と上記パスワードの変換によって得られる変換値とが合致する場合に、ユーザ認証が成功したと判断する。
【００２４】
図３は、ＭＦＰのユーザ認証処理フローの一例を示す図である。この例では、第１のハッシュアルゴリズムと第２のハッシュアルゴリズムは、互いにセキュリティレベルの異なるハッシュ関数である。具体的には、第１のハッシュアルゴリズムは、ＭＦ５である。また、第２のハッシュアルゴリズムは、ＳＨＡ（例えば、ＳＨＡ−２５６）である。また、認証情報テーブルには、ＭＤ５によるパスワードの変換値であるハッシュ値＿１を含む認証情報が予め格納されているものとする。もちろん、本発明に他のハッシュアルゴリズムを用いることができる。更に、ＭＦＰは、ユーザ認証を実行する前の状態では、操作部１１１を介してのジョブ投入を含むジョブの操作を受け付けない状態となっているものとする。
【００２５】
まず、ユーザの操作入力に従って、操作部１１１がユーザのアカウント名とパスワードとを含むユーザ認証情報を入力し、ユーザ認証モジュール３０７が、このユーザ認証情報を受信する（ステップＳ１）。次に、ユーザ認証モジュール３０７が、認証情報テーブルからユーザ認証処理に用いるハッシュアルゴリズムを判断する（ステップＳ２）。具体的には、ユーザ認証モジュール３０７が、ステップＳ１において受信したアカウント名が認証情報テーブルに存在するかを判断する。アカウント名が認証情報テーブルに存在する場合、ユーザ認証モジュール３０７は、このアカウント名に対応するハッシュ値としてハッシュ値＿２ が認証情報テーブルに設定されているかを判断する。ハッシュ値＿２ が認証情報テーブルに設定されている場合、ユーザ認証モジュール３０７が、ユーザ認証処理にＳＨＡ−２５６を用いると判断して、ステップＳ３に進む。ハッシュ値＿２ が認証情報テーブルに設定されていない場合、ユーザ認証モジュール３０７が、ユーザ認証処理にＭＤ５を用いると判断して、ステップＳ７に進む。
【００２６】
ステップＳ３において、ユーザ認証モジュール３０７が、ステップＳ１で受信したパスワードをＳＨＡ−２５６を用いて変換して、ハッシュ値（第２のハッシュ値）を算出する（ステップＳ３）。続いて、ユーザ認証モジュール３０７が、算出された第２のハッシュ値と認証情報テーブルに設定されているハッシュ値＿２とを照合する（ステップＳ４）。第２のハッシュ値とがハッシュ値＿２と合致した場合、ユーザ認証モジュール３０７が、ユーザのログインを許可する（ステップＳ５）。これにより、ユーザによるジョブの操作が受け付け可能な状態に遷移する。第２のハッシュ値とがハッシュ値＿２と合致しない場合、ユーザ認証モジュール３０７が、ユーザのログインを拒否する（ステップＳ６）。ユーザ認証モジュール３０７は、ユーザインタフェースモジュール３０４を介して操作部１１１にエラーメッセージを表示し、ユーザにログインを拒否する旨を知らせ、ジョブの操作を受け付けない状態を保つ。
【００２７】
ステップＳ７において、ユーザ認証モジュール３０７が、ステップＳ１で受信したパスワードをＭＤ５を用いて変換して、ハッシュ値（第１のハッシュ値）を算出する（ステップＳ７）。続いて、ユーザ認証モジュール３０７が、算出された第１のハッシュ値と認証情報テーブルに設定されているハッシュ値＿１とを照合する（ステップＳ８）。ステップＳ８において処理対象となるハッシュ値＿１は、認証情報テーブルに設定されているハッシュ値のうち、ステップＳ１において入力されたアカウント名に対応するハッシュ値＿１である。
【００２８】
第１のハッシュ値がハッシュ値＿１と合致しない場合、ユーザ認証モジュール３０７が、ユーザのログインを拒否する（ステップＳ１２）。ユーザ認証モジュール３０７は、ユーザインタフェースモジュール３０４を介して操作部１１１にエラーメッセージを表示し、ユーザにログインを拒否する旨を知らせ、ジョブの操作を受け付けない状態を保つ。第１のハッシュ値がハッシュ値＿１と合致する場合は、ステップＳ９に進む。
【００２９】
ステップＳ９において、ユーザ認証モジュール３０７が、ステップＳ１で受信したパスワードをＳＨＡ−２５６を用いて変換して、ハッシュ値＿２を算出する（ステップＳ９）。そして、ユーザ認証モジュール３０７が、認証情報テーブルの、現在のアカウント名に対応するエントリ（１行分のデータ）に、上記算出したハッシュ値＿２を追加して（ステップＳ１０）、ステップＳ１１に進む。ステップＳ１１において、ユーザ認証モジュール３０７が、ユーザのログインを許可する（ステップＳ１１）。これにより、ユーザによるジョブの操作が受け付け可能な状態に遷移する。図３を参照して説明したことから、ユーザ認証モジュール３０７は、操作部１１１によって入力されたユーザ認証情報とＨＤＤ２０４に記憶された認証情報に含まれるハッシュ値とに基づいてユーザ認証処理を行う手段として機能する。ユーザ認証モジュール３０７は、入力されたユーザ認証情報の第１の変換手段（ＭＤ５）による変換結果と第１の変換値（ハッシュ値＿１）とが合致する場合に、ユーザ認証が成功したと判断する。そして、ユーザ認証モジュール３０７は、該ユーザ認証情報の第２の変換手段（ＳＨＡ−２５６）による変換値である第２の変換値（ハッシュ値＿２）を認証情報テーブルに追加する。
【００３０】
図４は、ＭＦＰが他のＭＦＰを介してジョブ操作を行う場合の動作処理フローの一例を示す図である。この例では、ＭＦＰ１１０が図３を参照して説明したユーザ認証処理を実行し、ユーザのログインが許可された後にＭＦＰ１１０がＭＦＰ１２０を介してジョブ操作を行う場合の、システム全体の動作処理について説明する。
【００３１】
まず、ＭＦＰ１１０が、認証ネゴシエートを行う（ステップＳ２１）。認証ネゴシエートは、ＭＦＰ１１０がＭＦＰ１２０に対して、ＭＦＰ１２０がユーザ認証処理に用いるハッシュ値を問い合わせる処理である。具体的には、ＭＦＰ１１０は、ＭＦＰ１２０がハッシュ値＿１又はハッシュ値＿２のうち、いずれのハッシュ値を用いてユーザ認証処理を行うかを問い合わせ、問い合わせ結果に応じたハッシュ値を得る。次に、ＭＦＰ１２０が、上記ステップＳ２１における認証ネゴシエートによって得られるハッシュ値を用いたネットワーク認証処理を行う（ステップＳ２２）。ネットワーク認証処理は、ＭＦＰ１２０が、ネットワーク１００を介したＭＦＰ１１０からの要求に従って実行する、ＭＦＰ１１０にログインしているユーザの認証処理である。ステップＳ２２におけるネットワーク認証処理の結果、ユーザ認証に失敗した場合は、処理が終了する。
【００３２】
ステップＳ２２におけるネットワーク認証処理の結果、ユーザ認証に成功した場合は、ＭＦＰ１１０が、ＭＦＰ１２０が管理している認証情報テーブルの更新が必要かを判断する（ステップＳ２３）。ステップＳ２１における認証ネゴシエートによってハッシュ値＿１が得られ、その結果、ステップＳ２２においてハッシュ値＿１を用いたユーザ認証処理が行われた場合、ＭＦＰ１１０が、ＭＦＰ１２０が管理している認証情報テーブルの更新が必要であると判断する。ステップＳ１における認証ネゴシエートによってハッシュ値＿２が得られ，その結果、ステップＳ２２においてハッシュ値＿２を用いたユーザ認証処理が行われた場合、ＭＦＰ１１０は、ＭＦＰ１２０が管理している認証情報テーブルの更新が必要でないと判断する。
【００３３】
ＭＦＰ１１０が、ＭＦＰ１２０が管理している認証情報テーブルの更新が必要でないと判断した場合は、ステップＳ２５に進む。ＭＦＰ１１０が、ＭＦＰ１２０が管理している認証情報テーブルの更新が必要であると判断した場合は、ＭＦＰ１１０が、情報更新処理を行う（ステップＳ２４）。ステップＳ２４においては、ＭＦＰ１１０が、ＭＦＰ１２０に対して、ＭＦＰ１２０が管理している認証情報テーブルを更新するように指示し、ＭＦＰ１２０が、ＭＦＰ１１０からの指示に従って、認証情報テーブルを更新する。
【００３４】
次に、ＭＦＰ１１０が、ＭＦＰ１２０を介したジョブ操作を行う（ステップＳ２５）。ＭＦＰ１１０は、例えば、ＭＦＰ１２０からＭＦＰ１２０内に記憶されている画像データを取得し、取得した画像データを印刷する。具体的には、ＭＦＰ１１０の操作部１１１が、ユーザの操作入力に従って印刷ジョブの実行指示を入力し、ジョブ管理モジュール３０５がこの印刷ジョブの実行指示を受信する。ジョブ管理モジュール３０５は、ユーザ認証モジュール３０７、プリンタ制御モジュール３０３、連携モジュール３０１を連携させて、ＭＦＰ１２０から画像データを取得し、印刷ジョブを実施する。また、ＭＦＰ１２０においては、ジョブ管理モジュール３０５が画像データ管理モジュール３０６と連携モジュール３０１を制御してＭＦＰ１１０に対して画像データを送信する。
【００３５】
図５は、図４のステップＳ２１における認証ネゴシエートを説明するフローチャートである。まず、ＭＦＰ１１０のユーザ認証モジュール３０７が、ＭＦＰ１２０に対して、連携モジュール３０１及びネットワーク１００を介して、ＭＦＰ１１０にログインしているユーザのアカウント名を送信する（ステップＳ３１）。ＭＦＰ１２０のユーザ認証モジュール３０７が、ステップＳ１においてＭＦＰ１１０が送信したアカウント名を受信する（ステップＳ３２）。続いて、ＭＦＰ１２０のユーザ認証モジュール３０７が、認証情報テーブル内にステップＳ３２において受信したアカウント名が存在するかを判断する（ステップＳ３３）。認証情報テーブル内にステップＳ３２において受信したアカウント名が存在しない場合、ユーザ認証モジュール３０７は、セキュリティレベル１を示す情報を含むレスポンスデータを生成する（ステップＳ３６）。この例では、セキュリティレベル１は、ハッシュ値＿１に対応するハッシュアルゴリズムが有するセキュリティレベルであるものとする。すなわち、レスポンスデータに含まれるセキュリティレベル１を示す情報は、ＭＦＰ１２０がハッシュ値＿１を用いてユーザ認証処理をすることを示す。
【００３６】
認証情報テーブル内にステップＳ３２において受信したアカウント名が存在する場合、ユーザ認証モジュール３０７は、認証情報テーブルにおける上記アカウント名に対応するエントリ内に、ハッシュ値＿２が存在するかを判断する（ステップＳ３４）。認証情報テーブルにおける上記アカウント名に対応するエントリ内に、ハッシュ値＿２が存在しない場合は、上記ステップＳ３６に進む。認証情報テーブルにおける上記アカウント名に対応するエントリ内に、ハッシュ値＿２が存在する場合は、ステップＳ３５に進む。
【００３７】
ステップＳ３５において、ユーザ認証モジュール３０７が、セキュリティレベル２を示す情報を含むレスポンスデータを生成する（ステップＳ３５）。この例では、セキュリティレベル２は、ハッシュ値＿２に対応するハッシュアルゴリズムが有するセキュリティレベルであるものとする。すなわち、レスポンスデータに含まれるセキュリティレベル２を示す情報は、ＭＦＰ１２０がハッシュ値＿２を用いてユーザ認証処理をすることを示す。続いて、ユーザ認証モジュール３０７が、ＭＦＰ１１０に対し、連携モジュール３０１及びネットワーク１００を介して、レスポンスデータを送信する（ステップＳ３７）。
【００３８】
次に、ＭＦＰ１１０のユーザ認証モジュール３０７が、ＭＦＰ１２０のユーザ認証モジュール３０７からレスポンスデータを受信する（ステップＳ３８）。そして、ＭＦＰ１１０のユーザ認証モジュール３０７が、受信したレスポンスデータにセキュリティレベル１を示す情報が含まれているかを判断する（ステップＳ３９）。レスポンスデータにセキュリティレベル１を示す情報が含まれている場合は、ステップＳ４０に進む。レスポンスデータにセキュリティレベル１を示す情報が含まれていない場合、すなわち、セキュリティレベル２を示す情報が含まれている場合は、ステップＳ４１に進む。
【００３９】
ステップＳ４０において、ＭＦＰ１１０のユーザ認証モジュール３０７が、認証情報テーブルのアカウント名に対応するエントリから、ハッシュ値＿１を取得し（ステップＳ４０）、図４のステップＳ２２に進む。また、ステップＳ４１において、ＭＦＰ１１０のユーザ認証モジュール３０７が、認証情報テーブルのアカウント名に対応するエントリから、ハッシュ値＿２を取得し（ステップＳ４１）、図４のステップＳ２２に進む。図５を参照して説明したことから、ＭＦＰ１１０のユーザ認証モジュール３０７は、以下の処理を実行する。ユーザ認証モジュール３０７は、ＭＦＰ１２０に対して、ＭＦＰ１２０が管理する第２の認証基準情報（認証情報テーブル内の認証情報）に含まれる変換値であって、ＭＦＰ１２０ユーザ認証処理に用いる変換値を問い合わせる。そして、ユーザ認証モジュール３０７は、該問い合わせ結果に応じた変換値に基づいて生成される情報（レスポンスデータ）をＭＦＰ１２０に送信する。これにより、ユーザ認証モジュール３０７は、ＭＦＰ１２０に、レスポンスデータと上記第２の認証基準情報に含まれる変換値とを用いたユーザ認証処理を行わせる。ＭＦＰ１１０によれば、ＭＦＰ１２０がハッシュ値＿２を有しなくても、ハッシュ値＿１を用いてユーザの認証処理を実行できる。その結果、ＭＦＰ１１０にログインしたユーザは、ログイン時に入力したパスワードを再度入力することなく、ＭＦＰ１２０においてユーザ認証を受けることができる。
【００４０】
図６は、図４のステップＳ２２におけるネットワーク認証処理を説明するフローチャートである。まず、ＭＦＰ１１０のユーザ認証モジュール３０７が、ＭＦＰ１２０に対して、連携モジュール３０１及びネットワーク１００を介して、認証リクエストを送信する（ステップＳ５１）。認証リクエストは、ＭＦＰ１２０に対して、ＭＦＰ１１０にログイン中のユーザに関するユーザ認証を求める要求である。
【００４１】
次に、ＭＦＰ１２０のユーザ認証モジュール３０７が、上記ステップＳ５１においてＭＦＰ１１０から送信された認証リクエストを受信する（ステップＳ５２）。続いて、ＭＦＰ１２０のユーザ認証モジュール３０７が、乱数をチャンレンジデータとして生成する（ステップＳ５３）。ユーザ認証モジュール３０７は、生成したチャレンジデータを連携モジュール３０１及びネットワーク１００を介してＭＦＰ１１０に対して送信する（ステップＳ５４）。
【００４２】
次に、ＭＦＰ１１０のユーザ認証モジュール３０７が、ネットワーク１００及び連携モジュール３０１を介して、上記ステップＳ５４においてＭＦＰ１２０から送信されたチャレンジデータを受信する（ステップＳ５５）。続いて、ユーザ認証モジュール３０７が、レスポンスデータを生成する（ステップＳ５６）。具体的には、ユーザ認証モジュール３０７は、図５のステップＳ４０又はＳ４１において取得したハッシュ値と、ステップＳ５５において受信したチャレンジデータとに基づいて、レスポンスデータを生成する。ユーザ認証モジュール３０７は、ハッシュ値＿１に基づいてレスポンスデータを生成する場合には、このレスポンスデータに、セキュリティレベル１を示す情報を付加する。ユーザ認証モジュール３０７は、ハッシュ値＿２に基づいてレスポンスデータを生成する場合には、このレスポンスデータに、セキュリティレベル２を示す情報を付加する。ユーザ認証モジュール３０７は、ＭＦＰ１２０に対して、連携モジュール３０１及びネットワーク１００を介して、レスポンスデータを送信する（ステップＳ５７）。
【００４３】
次に、ＭＦＰ１２０のユーザ認証モジュール３０７が、ネットワーク１００及び連携モジュール３０１を介して、ステップＳ５７においてＭＦＰ１１０から送信されたレスポンスデータを受信する（ステップＳ５８）。続いて、ユーザ認証モジュール３０７が、ユーザ認証処理を実行する（ステップＳ５９）。ステップＳ５９において、ユーザ認証モジュール３０７は、以下のようにしてユーザ認証処理を実行する。ユーザ認証モジュール３０７は、現在のユーザのアカウント名に対応するエントリを認証情報テーブルから取得する。また、ユーザ認証モジュール３０７は、ステップＳ５８において受信したレスポンスデータに、セキュリティレベル１又は２のうちの、いずれを示す情報が付加されているかを確認する。ユーザ認証モジュール３０７は、上記取得したエントリ内の、上記確認した情報に応じたハッシュ値を取得する。ユーザ認証モジュール３０７は、取得したハッシュ値と上記ステップＳ５３において生成したチャレンジデータとに基づいて、検証データを生成する。ユーザ認証モジュール３０７は、ステップＳ５６において生成されるレスポンスデータの生成方法と同様の方法によって、検証データを生成する。そして、ユーザ認証モジュール３０７は、生成した検証データがステップＳ５８において受信したレスポンスデータと合致するかを判断する。
【００４４】
続いて、ユーザ認証モジュール３０７が、ユーザの認証に成功したかを判断する（ステップＳ６０）。検証データがレスポンスデータと合致する場合、ユーザ認証モジュール３０７は、ユーザの認証に成功したと判断して、ステップＳ６１に進む。検証データがレスポンスデータと合致しない場合、ユーザ認証モジュール３０７は、ユーザの認証に失敗したと判断して、ステップＳ６２に進む。ステップＳ６１において、ユーザ認証モジュール３０７が、認証許可情報を生成する（ステップＳ６１）。認証許可情報は、ユーザの認証に成功したことを示す情報である。ユーザ認証モジュール３０７は、認証許可情報をユーザ認証結果に含める。また、ステップＳ６２において、ユーザ認証モジュール３０７が、認証失敗情報を生成する（ステップＳ６２）。認証失敗情報は、ユーザの認証に失敗したことを示す情報である。ユーザ認証モジュール３０７は、認証失敗情報をユーザ認証処理結果に含める。続いて、ユーザ認証モジュール３０７が、ＭＦＰ１１０に対して、連携モジュール３０１及びネットワーク１００を介して、ユーザ認証処理結果を送信する（ステップＳ６３）。
【００４５】
次に、ＭＦＰ１１０のユーザ認証モジュール３０７が、上記ステップＳ６３においてＭＦＰ１２０から送信されたユーザ認証処理結果を受信する（ステップＳ６４）。ユーザ認証モジュール３０７が、受信したユーザ認証処理結果に基づいて、ユーザ認証の成否を判断する（ステップＳ６５）。具体的には、ユーザ認証処理結果に認証失敗情報が含まれる場合、ユーザ認証モジュール３０７は、ユーザの認証に失敗したと判断して、処理を終了する。また、ユーザ認証処理結果に認証成功情報が含まれる場合、ユーザ認証モジュール３０７は、ユーザの認証に成功したと判断して、図４のステップＳ２３の処理に進む。
【００４６】
図７は、図４のステップＳ２４における情報更新処理を説明するフローチャートである。まず、ＭＦＰ１１０のユーザ認証モジュール３０７が、ＭＦＰ１２０に対して、連携モジュール３０１及びネットワーク１００を介して、データ更新リクエストを送信する（ステップＳ７１）。データ更新リクエストは、ＭＦＰ１２０に対して、ＭＦＰ１２０のユーザ認証モジュール３０７が管理する認証情報テーブル内のエントリの更新を求める要求である。
【００４７】
次に、ＭＦＰ１２０のユーザ認証モジュール３０７が、上記ステップＳ７１においてＭＦＰ１１０から送信されたデータ更新リクエストを受信する（ステップＳ７２）。続いて、ＭＦＰ１２０のユーザ認証モジュール３０７が、ＨＤＤ２０４に予め記憶されている、ＭＦＰ１２０に対応する公開鍵を取得し、ＭＦＰ１１０に対し、取得した公開鍵を送信する（ステップＳ７３）。次に、ＭＦＰ１１０のユーザ認証モジュール３０７が、上記ステップＳ７３においてＭＦＰ１２０から送信された公開鍵を受信する（ステップＳ７４）。そして、ユーザ認証モジュール３０７が、ハッシュ値＿２を公開鍵で暗号化して、更新情報を生成する（ステップＳ７５）。具体的には、ユーザ認証モジュール３０７は、認証情報テーブル内の現在のユーザのアカウント名に対応するエントリからハッシュ値＿２を取得する。そして、ユーザ認証モジュール３０７が、ステップＳ７４において受信した公開鍵で、取得したハッシュ値＿２を暗号化し、更新情報を生成する。続いて、ユーザ認証モジュール３０７が、生成した更新情報をＭＦＰ１２０に送信し（ステップＳ７６）、ＭＦＰ１２０に対して、この更新情報の復号によって得られるハッシュ値＿２で認証情報テーブルのエントリを更新するように指示する。
【００４８】
次に、ＭＦＰ１２０のユーザ認証モジュール３０７が、上記ステップＳ７６においてＭＦＰ１１０から送信された更新情報を受信する（ステップＳ７７）。続いて、ユーザ認証モジュール３０７が、ＨＤＤ２０４に予め記憶されている秘密鍵で更新情報を復号する（ステップＳ７８）。この復号により、ハッシュ値＿２が得られる。なお、上記秘密鍵は、ステップＳ７３において送信された公開鍵とペアとなる秘密鍵である。次に、ユーザ認証モジュール３０７が、認証情報テーブル内の現在のアカウント名に対応するエントリに、上記ステップＳ７８の復号処理によって得られたハッシュ値＿２を追加する（ステップＳ７９）。次に、ユーザ認証モジュール３０７が、ＭＦＰ１１０に対して、更新完了通知を送信する（ステップＳ８０）。更新完了通知は、認証情報テーブルの更新が完了したことの通知である。ＭＦＰ１１０のユーザ認証モジュール３０７が、ステップＳ８０においてＭＦＰ１２０から送信された更新完了通知を受信して（ステップＳ８１）、処理を終了する。
【００４９】
上記図４、図６、及び図７を参照して説明したことから、ＭＦＰ１１０のユーザ認証モジュール３０７は以下の処理を行う。このユーザ認証モジュール３０７は、ＭＦＰ１２０に対するユーザ認証処理に用いる変換値についての問い合わせ結果が第１の変換値（ハッシュ値＿１）を示す場合に、該第１の変換値に基づいて生成される情報（レスポンスデータ）をＭＦＰ１２０に送信する。そして、ユーザ認証モジュール３０７は、ＭＦＰ１２０によるユーザ認証処理が成功した場合に、ＭＦＰ１２０に指示して、ＭＦＰ１２０が管理する認証情報テーブルに第２の変換値（ハッシュ値＿２）を追加させる。従って、ＭＦＰ１１０によれば、ＭＦＰ１２０によるユーザ認証処理結果に応じて、ＭＦＰ１２０が管理する認証情報を自動で更新することができる。
【００５０】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【００５１】
１１０，１２０  ＭＦＰ
２００  コントローラ
【図１】
2011243093.tif 000003
【図２】
2011243093.tif 000004
【図３】
2011243093.tif 000005
【図４】
2011243093.tif 000006
【図５】
2011243093.tif 000007
【図６】
2011243093.tif 000008
【図７】
2011243093.tif 000009