(57)【要約】      （修正有）【課題】画像形成装置に送信されるコマンドが含む、ユーザ認証を実行する際に使用される情報以外の情報のデータ構造の変更を防止することができる画像形成システム、画像形成装置、該システムの制御方法及びプログラムを提供する。【解決手段】画像形成装置（ＭＦＰ）は、ＰＣからトークン生成要求コマンド６００を受信Ｓ５０１し、トークン生成要求コマンドのコマンドデータ部に格納されるユーザ名、パスワードハッシュ値及びソルト値と、ＭＦＰに予め格納されている認証情報とに基づいてユーザ認証処理Ｓ５０２を実行する。ユーザ認証が成功Ｓ５０３ＹＥＳしたとき、トークンを生成Ｓ５０４し、ＰＣにトークンを送信Ｓ５０６する。ＭＦＰは、生成したトークンが付与されたトークン付きコマンドをＰＣから受信すると、トークン付きコマンドからトークンを読み出し、読み出されたトークンに基づいてユーザ認証を実行する。【選択図】図５
2019049986.tif 000002
【特許請求の範囲】
【請求項１】
トークンを用いない認証方式及びトークンを用いる認証方式のいずれか一方によってユーザ認証を実行する画像形成装置及び前記画像形成装置に前記ユーザ認証を要求する情報処理装置を備える画像形成システムにおいて、
前記画像形成装置は、
前記画像形成装置に接続される情報処理装置からユーザ認証情報を受信する第１の受信手段と、
前記第１の受信手段によって受信したユーザ認証情報に基づき、トークンを生成する生成手段と、
前記生成手段によって生成されたトークンを、前記情報処理装置に送信する送信手段と、
前記情報処理装置から、前記生成されたトークンが付与されたトークン付きコマンド、又は、トークンが付与されていないコマンドを受信する第２の受信手段と、
前記第２の受信手段により前記トークン付きコマンドを受信した場合、前記トークン付きコマンドから読み出した前記生成されたトークンを用いて第１の認証処理を実行し、前記第２の受信手段により前記トークンが付与されていないコマンドを受信した場合、前記トークンが付与されていないコマンドに含まれるユーザ認証情報を用いて第２の認証処理とを実行する認証手段とを有することを特徴とする画像形成システム。
【請求項２】
前記トークン付きコマンドは、トークンを格納するヘッダ部と、前記トークン付きコマンドに前記生成されたトークンが付与されていることを示す情報を含むことを特徴とする請求項１記載の画像形成システム。
【請求項３】
前記トークンが付与されていないコマンドに含まれる前記ユーザ認証情報は、前記ユーザ認証を実行する際に使用されるＩＤ及びパスワードであることを特徴とする請求項１又は２記載の画像形成システム。
【請求項４】
前記画像形成装置は、ジョブに関する情報を受信する第３の受信手段をさらに備え、
前記受信されたジョブに関する情報が前記第１のデータ部に格納されている場合、前記ジョブに関する情報に基づいてジョブを生成するとともに、前記トークンが生成されることを特徴とする請求項１乃至３のいずれか１項に記載の画像形成システム。
【請求項５】
前記生成されたジョブが実行されたとき、前記トークンは破棄されるこをと特徴とする請求項４記載の画像形成システム。
【請求項６】
トークンを用いない認証方式及びトークンを用いる認証方式のいずれか一方によってユーザ認証を実行する画像形成装置において、
前記画像形成装置に接続される情報処理装置からユーザ認証情報を受信する第１の受信手段と、
前記第１の受信手段によって受信したユーザ認証情報に基づき、トークンを生成する生成手段と、
前記生成手段によって生成されたトークンを、前記情報処理装置に送信する送信手段と、
前記情報処理装置から、前記生成されたトークンが付与されたトークン付きコマンド、又は、トークンが付与されていないコマンドを受信する第２の受信手段と、
前記受信手段により前記トークン付きコマンドを受信した場合、前記トークン付きコマンドから読み出した前記生成されたトークンを用いて第１の認証処理を実行し、前記第２の受信手段により前記トークンが付与されていないコマンドを受信した場合、前記トークンが付与されていないコマンドに含まれるユーザ認証情報を用いて第２の認証処理とを実行する認証手段とを有することを特徴とする画像形成装置。
【請求項７】
前記トークン付きコマンドは、トークンを格納するヘッダ部と、前記トークン付きコマンドに前記生成されたトークンが付与されていることを示す情報を含むことを特徴とする請求項６記載の画像形成装置。
【請求項８】
トークンを用いない認証方式及びトークンを用いる認証方式のいずれか一方によってユーザ認証を実行する画像形成装置及び前記画像形成装置に前記ユーザ認証を要求する情報処理装置を備える画像形成システムの制御方法であって、
前記画像形成装置に接続される情報処理装置からユーザ認証情報を受信する第１の受信ステップと、
前記第１の受信ステップによって受信したユーザ認証情報に基づき、トークンを生成する生成ステップと、
前記生成ステップによって生成されたトークンを、前記情報処理装置に送信する送信ステップと、
前記情報処理装置から、前記生成されたトークンが付与されたトークン付きコマンド、又は、トークンが付与されていないコマンドを受信する第２の受信ステップと、
前記第２の受信ステップにより前記トークン付きコマンドを受信した場合、前記トークン付きコマンドから読み出した前記生成されたトークンを用いて第１の認証処理を実行し、前記第２の受信ステップにより前記トークンが付与されていないコマンドを受信した場合、前記トークンが付与されていないコマンドに含まれるユーザ認証情報を用いて第２の認証処理とを実行する認証ステップとを有することを特徴とする画像形成システムの制御方法。
【請求項９】
前記トークン付きコマンドは、トークンを格納するヘッダ部と、前記トークン付きコマンドに前記生成されたトークンが付与されていることを示す情報を含むことを特徴とする請求項８記載の画像形成システムの制御方法。
【請求項１０】
トークンを用いない認証方式及びトークンを用いる認証方式のいずれか一方によってユーザ認証を実行する画像形成装置及び前記画像形成装置に前記ユーザ認証を要求する情報処理装置を備える画像形成システムの制御方法をコンピュータに実行させるプログラムであって、
前記画像形成システムの制御方法は、
前記画像形成装置に接続される情報処理装置からユーザ認証情報を受信する第１の受信ステップと、
前記第１の受信ステップによって受信したユーザ認証情報に基づき、トークンを生成する生成ステップと、
前記生成ステップによって生成されたトークンを、前記情報処理装置に送信する送信ステップと、
前記情報処理装置から、前記生成されたトークンが付与されたトークン付きコマンド、又は、トークンが付与されていないコマンドを受信する第２の受信ステップと、
前記第２の受信ステップにより前記トークン付きコマンドを受信した場合、前記トークン付きコマンドから読み出した前記生成されたトークンを用いて第１の認証処理を実行し、前記第２の受信ステップにより前記トークンが付与されていないコマンドを受信した場合、前記トークンが付与されていないコマンドに含まれるユーザ認証情報を用いて第２の認証処理とを実行する認証ステップとを有することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成システム、画像形成装置、該システムの制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来より、画像形成装置としてのＭＦＰ（Multi-Function Printer）と情報処理装置としてのＰＣとがネットワークを介して互いに接続されている画像形成システムにおいて、ＭＦＰは予めＩＤ及びパスワードからなる認証情報を備え、例えば、ユーザがＰＣを介して入力した入力情報としてのＩＤ及びパスワードを受信するとともに、入力情報及び認証情報が一致したとき、ユーザ認証を実行する認証方式（以下、「通常認証方式」という。）が知られている。ここで、入力情報はヘッダ部とコマンドデータ部を有するパケット構造からなる通信データとしてのコマンドに含まれてＰＣからＭＦＰに送信される。コマンドにおいて入力情報はヘッダ部に格納される。通常、ヘッダ部に格納されている入力情報のデータ量は８バイトである。
【０００３】
また、複数のＭＦＰとＰＣとがネットワークを介して互いに接続されている画像形成システムにおいて、ワンタイムパスワードであるトークンを使用した認証方式（以下、「トークン認証方式」という。）が知られている（例えば、特許文献１参照）。
【０００４】
ところで、近年、ＭＦＰにおけるセキュリティレベルを向上させるため、ユーザ認証に使用されるパスワードが複雑化されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１‐２４８６９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、パスワードが複雑化されると、例えば、通常認証方式において、入力情報の情報量が増加するためにヘッダ部の容量を増大させる必要があるが、パケット全体の容量は変わらないため、相対的にコマンドデータ部の容量は減少する。
【０００７】
ところで、パケットのコマンドデータ部は入力情報以外の情報、例えば、コマンドデータを格納するが、上述したようにパスワードが複雑化されるとコマンドデータ部の容量が減少するため、パスワードが複雑化される前は１つのコマンドで送信可能であったコマンドデータをパスワードが複雑化された後は分割して複数のコマンドを用いて送信しなければならない。コマンドデータを分割することは、コマンドデータのデータ構造を変更することに他ならないが、コマンドデータのデータ構造の変更はＭＦＰや当該ＭＦＰで作動するアプリに大きな影響を与えるという問題がある。
【０００８】
本発明の目的は、画像形成装置に送信されるコマンドが含むユーザ認証を実行する際に使用される情報以外の情報のデータ構造の変更を防止することができる画像形成システム、画像形成装置、該システムの制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の画像形成システムは、トークンを用いない認証方式及びトークンを用いる認証方式のいずれか一方によってユーザ認証を実行する画像形成装置及び前記画像形成装置に前記ユーザ認証を要求する情報処理装置を備える画像形成システムにおいて、前記画像形成装置は、前記画像形成装置に接続される情報処理装置からユーザ認証情報を受信する第１の受信手段と、前記第１の受信手段によって受信したユーザ認証情報に基づき、トークンを生成する生成手段と、前記生成手段によって生成されたトークンを、前記情報処理装置に送信する送信手段と、前記情報処理装置から、前記生成されたトークンが付与されたトークン付きコマンド、又は、トークンが付与されていないコマンドを受信する第２の受信手段と、前記第２の受信手段により前記トークン付きコマンドを受信した場合、前記トークン付きコマンドから読み出した前記生成されたトークンを用いて第１の認証処理を実行し、前記第２の受信手段により前記トークンが付与されていないコマンドを受信した場合、前記トークンが付与されていないコマンドに含まれるユーザ認証情報を用いて第２の認証処理とを実行する認証手段とを有することを特徴とする。
【００１０】
また、上記目的を達成するために、本発明の画像形成装置は、トークンを用いない認証方式及びトークンを用いる認証方式のいずれか一方によってユーザ認証を実行する画像形成装置において、前記画像形成装置に接続される情報処理装置からユーザ認証情報を受信する第１の受信手段と、前記第１の受信手段によって受信したユーザ認証情報に基づき、トークンを生成する生成手段と、前記生成手段によって生成されたトークンを、前記情報処理装置に送信する送信手段と、前記情報処理装置から、前記生成されたトークンが付与されたトークン付きコマンド、又は、トークンが付与されていないコマンドを受信する第２の受信手段と、前記受信手段により前記トークン付きコマンドを受信した場合、前記トークン付きコマンドから読み出した前記生成されたトークンを用いて第１の認証処理を実行し、前記第２の受信手段により前記トークンが付与されていないコマンドを受信した場合、前記トークンが付与されていないコマンドに含まれるユーザ認証情報を用いて第２の認証処理とを実行する認証手段とを有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、画像形成装置に送信されるコマンドが含むユーザ認証を実行する際に使用される情報以外の情報のデータ構造の変更を防止することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態に係る画像形成装置としてのＭＦＰを含む画像形成システムの構成を概略的に示すブロック図である。
【図２】図１のＭＦＰの内部構成を概略的に示すブロック図である。
【図３】図１におけるＰＣの内部構成を概略的に示すブロック図である。
【図４】図２のＭＦＰにおける操作部又は図３のＰＣにおける操作部に表示される認証方式設定画面を説明するために用いられる図である。
【図５】図２のＭＦＰにおけるＣＰＵによって実行されるトークン生成処理の手順を示すフローチャートである。
【図６】図５のトークン生成処理において受信されたトークン生成要求コマンドを説明するために用いられる図である。
【図７】図６のトークン生成要求コマンドに使用されるＩＤやパスワードを入力する認証情報入力画面を説明するために用いられる図である。
【図８】図３のＰＣにおけるＣＰＵによって実行されるトークン付きコマンドの送信処理の手順を示すフローチャートである。
【図９】図８の送信処理において生成されるトークン付きコマンドを説明するために用いられる図である。
【図１０】図２のＭＦＰにおけるＣＰＵによって実行されるトークン付きコマンドの受信処理の手順を示すフローチャートである。
【図１１】図１０のステップＳ１００３において実行されるトークン認証処理の手順を示すフローチャートである。
【図１２】図５のトークン生成処理の変形例の手順を示すフローチャートである。
【図１３】図１２のトークン生成処理において受信されたトークン生成要求コマンドを説明するために用いられる図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について図面を参照しながら詳述する。
【００１４】
図１は、本発明の実施の形態に係る画像形成装置としてのＭＦＰ１０１を含む画像形成システム１００の構成を概略的に示すブロック図である。
【００１５】
図１の画像形成システム１００はＭＦＰ１０１及び情報処理装置としてのＰＣ１０２を備え、ＭＦＰ１０１及びＰＣ１０２はネットワーク、例えば、ＬＡＮ１０３を介して互いに接続されている。ＭＦＰ１０１はクライアントであるＰＣ１０２から送信された画像データやユーザ認証を実行する際に使用される情報としてのＩＤ及びパスワードを受信する。
【００１６】
図２は、図１のＭＦＰ１０１の内部構成を概略的に示すブロック図である。
【００１７】
図２のＭＦＰ１０１は通信部２０１、読取部２０２、制御部２０３、入力画像処理部２０４、出力画像処理部２０５、操作部２０６、印刷部２０７、認証部２０８、及びＦＡＸ通信部２０９を備え、これらの構成要素はバス２１０を介して互いに接続されている。また、通信部２０１はＬＡＮ１０３に接続されている。
【００１８】
通信部２０１はＬＡＮ１０３を介してＰＣ１０２から、例えば、画像データ、印刷コマンド、ＭＦＰ１０１の設定値に関するコマンド、ジョブを管理する管理コマンド、印刷ジョブ、スキャンジョブ、又はＦＡＸ送信ジョブを受信する。読取部２０２は原稿を読み取るとともに当該原稿に対応する画像データを生成する。
【００１９】
制御部２０３はＣＰＵ２０３ａ、ＲＡＭ２０３ｂ、ＲＯＭ２０３ｃ、及びＨＤＤ２０３ｄを備える。ＣＰＵ２０３ａはＲＡＭ２０３ｂに格納されたプログラムを動作してＭＦＰ１０１を制御する。ＲＡＭ２０３ｂは、各種プログラムやＰＣ１０２から受信した画像データを格納する。ＲＯＭ２０３ｃはＣＰＵ２０３ａが動作させる各種プログラムや各種データ等を格納する。ＨＤＤ２０３ｄは不揮発性の記憶装置であり、各種プログラムや各種データ等を格納する。
【００２０】
入力画像処理部２０４は読取部２０２が生成した画像データに所定の画像処理、例えば、シェーディング補正処理やＭＴＦ補正処理等を施す。出力画像処理部２０５は入力画像処理部２０４によって処理された画像データや通信部２０１から入力された画像データに所定の画像処理、例えば、ラスタ化処理、モノクロ化処理、モノカラー化処理、付加画像合成処理、又はハーフトーン処理等を施す。操作部２０６はハードキーや操作パネルを備え、ユーザはハードキーや操作パネルを操作してＭＦＰ１０１に指示を入力する。
【００２１】
印刷部２０７は、例えば、読取部２０２によって生成された画像データを記録紙に印刷する。認証部２０８は後述の通常認証処理又はトークン認証処理を実行する。ＦＡＸ通信部２０９は電話回線２１１を介して外部装置とのＦＡＸ通信を実行する。
【００２２】
図３は、図１におけるＰＣ１０２の内部構成を概略的に示すブロック図である。
【００２３】
図３のＰＣ１０２は、通信部３０１、制御部３０２、コマンド処理部３０３、操作部３０４、及び表示部３０５を備え、これらの構成要素はバス３０６を介して互いに接続されている。また、通信部３０１はＬＡＮ１０３に接続されている。
【００２４】
通信部３０１はＬＡＮ１０３を介してＭＦＰ１０１に、例えば、画像データ、印刷コマンド、ＭＦＰ１０１の設定値に関するコマンド、ジョブを管理する管理コマンド、印刷ジョブ、スキャンジョブ、又はＦＡＸ送信ジョブを送信する。制御部３０２はＣＰＵ３０２ａ、ＲＡＭ３０２ｂ、ＲＯＭ３０２ｃ、及びＨＤＤ３０２ｄを備え、ＣＰＵ３０２ａはＲＡＭ３０２ｂに格納されたプログラムを動作してＰＣ１０２を制御する。ＲＡＭ３０２ｂは、各種プログラムやＭＦＰ１０１から受信したデータを格納する。ＲＯＭ３０２ｃはＣＰＵ３０２ａにおいて動作する各種プログラムや各種データ等を格納する。ＨＤＤ３０２ｄは不揮発性の記憶装置であり、各種プログラムや各種データ等を格納する。また、ＲＯＭ３０２ｃ又はＨＤＤ３０２ｄは後述のトークンリストを格納する。
【００２５】
コマンド処理部３０３は各種コマンドを生成する。また、コマンド処理部３０３は各種コマンドを受信するとともに受信されたコマンドを解釈する。操作部３０４は、例えば、マウスやキーボードから構成される入力用のユーザーインターフェイスである。表示部３０５は、例えば、ＬＣＤディスプレイであり、出力用のユーザーインターフェイスである。
【００２６】
図４は、図２のＭＦＰ１０１における操作部２０６又は図３のＰＣ１０２における操作部３０４に表示される認証方式設定画面４００を説明するために用いられる図である。認証方式設定画面４００は通常認証方式（第１の認証方式）によるユーザ認証（以下、「通常認証処理」という。）の禁止を設定する際に使用される。認証方式設定画面４００はチェックボックス４０１を有する。チェックボックス４０１にチェックマークが入力されたとき、通常認証処理は禁止され、トークン認証方式（第２の認証方式）によるユーザ認証（以下、「トークン認証処理」という。）が実行される。なお、通常認証処理の禁止が設定される場合は、上述した認証方式設定画面４００を介して通常認証処理の禁止が設定される場合の他にユーザ認証に使用されるパスワードが複雑な場合、例えば、パスワードが１０桁の数字と文字とから構成される場合であってもよい。
【００２７】
図５は、図２のＭＦＰ１０１におけるＣＰＵ２０３ａによって実行されるトークン生成処理の手順を示すフローチャートである。図５のトークン生成処理ではトークン認証処理において使用されるトークンが生成される。
【００２８】
図５において、まず、トークン生成要求コマンド６００（図６）を受信する（ステップＳ５０１）。トークン生成要求コマンド６００はユーザが操作部３０４に表示される認証情報入力画面７００（図７）を介して入力したＩＤやパスワードに基づいて生成され、ＰＣ１０２からＭＦＰ１０１に送信される。トークン生成要求コマンド６００はヘッダ部６０１（第１のヘッダ部）及びコマンドデータ部６０２（第１のデータ部）を有するパケット構造からなる。ヘッダ部６０１はヘッダＩＤ６０３、バージョン情報６０４、応答要求フラグ６０５、オペレーションコード６０６、データ長６０７、ＩＤ６０８、及びパスワード６０９を格納し、コマンドデータ部６０２は認証方式６１０、ユーザ名６１１、パスワードハッシュ値６１２、及びソルト値６１３を格納する。
【００２９】
ヘッダＩＤ６０３はいわゆるコマンド体系を識別する識別子を示す。例えば、ヘッダＩＤ６０３にはトークン生成要求コマンド６００や後述のトークン付きコマンド９００が属するコマンド体系であることを示す「０ｘａｂｃｄ」が設定される。バージョン情報６０４はコマンド体系のバージョン情報を示す。例えば、バージョン情報６０４にはコマンド体系がバージョン１．０であることを示す「０ｘ１０」が設定される。応答要求フラグ６０５はＰＣ１０２がＭＦＰ１０１に本コマンドを送信したときにＭＦＰ１０１に対して応答を要求するか否かのフラグを示す。例えば、本実施の形態では応答要求フラグ６０５にＰＣ１０２がＭＦＰ１０１に応答を要求する「ＯＮ」が設定される。
【００３０】
オペレーションコード６０６はコマンドの種別を示す。例えば、オペレーションコード６０６にはトークン生成要求コマンド６００がユーザ認証に関するコマンドであることを示す「Ｕｓｅｒ  Ａｕｔｈｅｔｉｃａｔｉｏｎ」が設定される。オペレーションコード６０６に「Ｕｓｅｒ  Ａｕｔｈｅｔｉｃａｔｉｏｎ」が設定されると、認証部２０８はＩＤ６０８及びパスワード６０９と認証情報とに基づいて通常認証処理を実行し、又はユーザ名６１１、パスワードハッシュ値６１２、及びソルト値６１３と認証情報とに基づいてトークン認証処理を実行し、実行された通常認証処理及びトークン認証処理のいずれか一方の結果をＰＣ１０２に通知する。
【００３１】
データ長６０７はトークン生成要求コマンド６００のコマンドデータ部６０２のデータ長をバイト数によって示す。ＩＤ６０８及びパスワード６０９には通常認証処理が実行されるときに使用されるＩＤ及びパスワードが設定される。認証方式６１０にはトークンの生成を要求することを示す「Ｔｏｋｅｎ  Ｒｅｑｕｅｓｔ」が設定される。認証方式６１０に「Ｔｏｋｅｎ  Ｒｅｑｕｅｓｔ」が設定されるときはＩＤ６０８及びパスワード６０９には、例えば、「Ｄｏｎ’ｔ  Ｃａｒｅ」が設定される。
【００３２】
ユーザ名６１１にはトークンを生成するときに使用されるＩＤが設定される。パスワードハッシュ値６１２にはトークンを生成するときに使用されるパスワード及びソルト値６１３から算出されるハッシュ値が設定される。
【００３３】
トークンの生成が要求されるとき、認証部２０８は予めＭＦＰ１０１に格納されているＩＤ及びユーザ名６１１が一致するか否かを判別し、ＩＤ及びユーザ名６１１が一致するとき、予めＭＦＰ１０１に格納されているパスワード及びトークン生成要求コマンド６００のソルト値６１３からハッシュ値を算出する。次いで、認証部２０８は算出されたハッシュ値及びパスワードハッシュ値６１２の値が一致するか否かを判別し、夫々が一致するとき、ユーザを認証してＭＦＰ１０１の使用を許可する（ユーザ認証の成功）。
【００３４】
図５に戻り、ユーザ名６１１、パスワードハッシュ値６１２、及びソルト値６１３とＭＦＰ１０１に予め格納されているＩＤ及びパスワードとに基づいてユーザ認証処理を実行し（ステップＳ５０２）、ユーザ認証が成功したか否かを判別する（ステップＳ５０３）。
【００３５】
ステップＳ５０３の判別の結果、ユーザ認証が成功しなかった（失敗した）とき、トークンを生成できないことを通知するトークン生成失敗通知をＰＣ１０２に送信して（ステップＳ５０７）本処理を終了し、ユーザ認証が成功したとき、トークンを生成する（ステップＳ５０４）。ここで、生成されたトークンは８バイトのデータ量を有するデータであり、トークンであることを示すトークン識別子（１バイト）とトークンが生成される時刻に基づいて作成される乱数（７バイト）とから構成される。次いで、生成されたトークンをトークンリストに登録し（ステップＳ５０５）、生成されたトークンをＰＣ１０２に送信して（ステップＳ５０６）本処理を終了する。
【００３６】
ここで、トークンリストとは生成されたトークンが順次登録される一覧表である。生成されたトークンがトークンリストに登録されるとき、予めＭＦＰ１０１に格納されている認証情報、例えば、ＩＤ、パスワード、及びユーザの種別に関する情報（以下、「ユーザ種別情報」という。）がトークンに関連付けられる。すなわち、ユーザに対応してトークンがトークンリストに登録される。また、トークンリストに登録されたトークンはＰＣ１０２からトークン破棄に関するコマンドを受信したときにトークンリストから破棄される。トークン破棄に関するコマンドはトークンが生成された後であって、所定の時間、例えば、ユーザによって設定された時間が経過したときにＰＣ１０２からＭＦＰ１０１に送信される。
【００３７】
図８は、図３のＰＣ１０２におけるＣＰＵ３０２ａによって実行されるトークン付きコマンド９００の送信処理の手順を示すフローチャートである。
【００３８】
図８において、まず、図５のステップＳ５０６においてＭＦＰ１０１から送信されたトークンを受信したか否かを判別する（ステップＳ８０１）。ステップＳ８０１の判別の結果、トークンを受信したとき、後述のトークン付きコマンド９００（図９）を生成し（ステップＳ８０２）、トークンを受信していないとき、ＣＰＵ２０３ａは図５のトークン生成処理を実行してトークンを生成し（ステップＳ８０３）、ＣＰＵ３０２ａは生成されたトークンをＭＦＰ１０１から受信したか否かを判別する（ステップＳ８０４）。ステップＳ８０４の判別の結果、トークンを受信したとき、ステップＳ８０２に進み、トークンを受信していないとき、表示部３０５にトークンが受信されていないことを示すエラーを表示して（ステップＳ８０５）本処理を終了する。
【００３９】
ここで、トークン付きコマンド９００はヘッダ部９０１（第２のヘッダ部）及びコマンドデータ部９０２（第２のデータ部）を有するパケット構造からなる。ヘッダ部９０１はヘッダＩＤ９０３、バージョン情報９０４、応答要求フラグ９０５、オペレーションコード９０６、データ長９０７、ＩＤ９０８ａ又はＴｏｋｅｎ９０８ｂ、及びパスワード９０９ａ又はＴｏｋｅｎ９０９ｂを格納し、コマンドデータ部９０２は、例えば、ユーザ認証を実行する際に使用される情報以外の情報としてオブジェクト９１０、Ａｔｔｒｉｂｕｔｅ  ＩＤ９１１、及びレベル９１２を格納する。
【００４０】
ヘッダＩＤ９０３はいわゆるコマンド体系を識別する識別子を示す。例えば、ヘッダＩＤ９０３にはトークン付きコマンド９００が属するコマンド体系であることを示す「０ｘａｂｃｄ」が設定される。バージョン情報９０４はコマンド体系のバージョン情報を示す。例えば、バージョン情報９０４にはコマンド体系がバージョン１．０であることを示す「０ｘ１０」が設定される。応答要求フラグ９０５はＰＣ１０２がＭＦＰ１０１に本コマンドを送信したときにＭＦＰ１０１に対して応答を要求するか否かのフラグを示す。例えば、本実施の形態では応答要求フラグ９０５にＰＣ１０２がＭＦＰ１０１に応答を要求する「ＯＮ」が設定される。
【００４１】
オペレーションコード９０６はコマンドの種別を示す。例えば、オペレーションコード９０６には「Ｓｅｔ」が設定され、トークン付きコマンド９００はユーザ認証に必要なトークンを有するコマンドであることを示す。データ長９０７はトークン付きコマンド９００のコマンドデータ部９０２のデータ長をバイト数によって示す。
【００４２】
ＩＤ９０８ａはユーザ認証が通常認証方式によって実行されるときに使用されるＩＤからなり、パスワード９０９ａはユーザ認証が通常認証方式によって実行されるときに使用されるパスワードからなる。Ｔｏｋｅｎ９０８ｂ及びＴｏｋｅｎ９０９ｂはユーザ認証がトークン認証方式によって実行されるときに使用されるトークンからなる。トークンはトークン識別子（１バイト）とトークンが生成された時刻に基づいて作成された乱数（７バイト）とから構成され、Ｔｏｋｅｎ９０８ｂはトークン識別子（１バイト）と乱数の一部（３バイト）からなり、Ｔｏｋｅｎ９０９ｂはＴｏｋｅｎ９０８ｂに用いられていない乱数の一部（４バイト）からなる。ここで用いられるトークンはＭＦＰ１０１から送信されたトークンである。なお、トークン識別子はＴｏｋｅｎ９０８ｂを構成する「０ｘｅ０」である。
【００４３】
オブジェクト９１０にはユーザ認証を要求するユーザの識別子が設定される。Ａｔｔｒｉｂｕｔｅ  ＩＤ９１１はユーザ認証を要求するユーザの種別、具体的に、ゲストユーザ、一般ユーザ、及び管理ユーザのいずれか１つが設定される。例えば、ユーザの種別が管理ユーザの場合、Ａｔｔｒｉｂｕｔｅ  ＩＤ９１１には管理ユーザであることを示す「ｉｄ＿ａｔｔ＿ｕｓｅｒ＿ｍａｎａｇｅｍｅｎｔ＿ｌｅｖｅｌ」が設定される。
【００４４】
レベル９１２にはユーザに要求されるセキュリティレベルが設定される。なお、ユーザに要求されるセキュリティレベルはユーザの種別によって異なり、管理ユーザに要求されるセキュリティレベルは最も高いレベル３であり、ゲストユーザに要求されるセキュリティレベルは最も低いレベル１である。例えば、レベル９１２には「３」が設定され、ユーザ認証を要求するユーザが管理ユーザであることを示す。
【００４５】
また、コマンドデータ部９０２には印刷ジョブやＦＡＸ送信ジョブ等の各種ジョブが含まれていてもよい。
【００４６】
図８に戻り、ステップＳ８０２においてトークン付きコマンド９００が生成されると、トークン付きコマンド９００をＭＦＰ１０１に送信し（ステップＳ８０６）、後述の認証エラー通知又は認証成功通知を受信して（ステップＳ８０７）本処理を終了する。
【００４７】
図１０は、図２のＭＦＰ１０１におけるＣＰＵ２０３ａによって実行されるトークン付きコマンド９００の受信処理の手順を示すフローチャートである。
【００４８】
図１０において、まず、図８のステップＳ８０６においてＰＣ１０２から送信されたトークン付きコマンドを受信したか否かを判別する（ステップＳ１００１）。ステップＳ１００１の判別の結果、トークン付きコマンド９００を受信していないとき、ステップＳ１００１に戻り、トークン付きコマンド９００を受信したとき、受信されたトークン付きコマンド９００がトークン識別子を有しているか否かを判別する（ステップＳ１００２）。ステップＳ１００２の判別の結果、トークン付きコマンド９００がトークン識別子を有しているとき、トークン認証処理を実行し（ステップＳ１００３）、トークン付きコマンド９００がトークン識別子を有しないとき、通常認証処理の禁止が設定されているか否かを判別する（ステップＳ１００４）。ステップＳ１００４の判別の結果、通常認証処理の禁止が設定されているとき、ユーザ認証が実行されない旨のエラー通知（以下、「認証エラー通知」という。）をＰＣ１０２に送信して（ステップＳ１００５）本処理を終了し、通常認証処理の禁止が設定されていないとき、通常認証処理を実行する（ステップＳ１００６）。
【００４９】
次いで、トークン認証処理又は通常認証処理が成功したか否かを判別する（ステップＳ１００７）。ステップＳ１００７の判別の結果、ユーザ認証が成功しなかった（失敗した）とき、ステップＳ１００５に進み、ユーザ認証が成功したとき、ユーザ認証が成功した旨の通知（以下、「認証成功通知」という。）をＰＣ１０２に送信して（ステップＳ１００８）本処理を終了する。
【００５０】
図１１は、図１０のステップＳ１００３において実行されるトークン認証処理の手順を示すフローチャートである。
【００５１】
図１１において、まず、トークン付きコマンド９００からトークン付きコマンド９００に付与されたトークンを読み出し（ステップＳ１１０１）、読み出されたトークンがＲＯＭ３０２ｃ又はＨＤＤ３０２ｄに格納されているトークンリストに含まれているか否かを判別する（ステップＳ１１０２）。ステップＳ１１０２の判別の結果、読み出されたトークンがトークンリストに含まれているとき、認証成功通知を生成して（ステップＳ１１０３）本処理を終了し、読み出されたトークンがトークンリストに含まれていないとき、認証エラー通知を生成して（ステップＳ１１０４）本処理を終了する。
【００５２】
なお、読み出されたトークンがトークンリストに含まれているときでも所定の場合は認証エラー通知を生成してもよい。例えば、予めＭＦＰ１０１に格納されている認証情報としてのユーザ種別情報が関連付けられたトークンをユーザ種別情報とともにトークンリストから読み出し、読み出されたユーザ種別情報とトークン付きコマンド９００に含まれるＡｔｔｒｉｂｕｔｅ  ＩＤ９１１が示すユーザ種別とが一致しない場合（例えば、読み出されたユーザ種別情報は管理ユーザであるのに対してＡｔｔｒｉｂｕｔｅ  ＩＤ９１１が示すユーザ種別はゲストユーザである場合）、認証エラー通知が生成されてもよい。また、例えば、ＭＦＰ１０１に印刷データが格納され且つ印刷データを格納したユーザの認証情報とトークンリストから読み出された認証情報とが一致しない場合、認証エラー通知が生成されてもよい。
【００５３】
図５の処理によれば、トークン生成要求コマンド６００が受信され（ステップＳ５０１）、ユーザ名６１１、パスワードハッシュ値６１２、及びソルト値６１３とＭＦＰ１０１に予め格納されている認証情報とに基づいてユーザ認証処理が実行され（ステップＳ５０２）、ユーザ認証が成功したとき（ステップＳ５０３でＹＥＳ）、トークンが生成される（ステップＳ５０４）。ここで、トークン生成要求コマンド６００はヘッダ部６０１及びコマンドデータ部６０２を有する。ユーザ認証処理を実行する際に使用されるユーザ名６１１、パスワードハッシュ値６１２、及びソルト値６１３はコマンドデータ部６０２に格納されるので、複雑化されたユーザ認証を実行する際に使用される情報であるユーザ名６１１、パスワードハッシュ値６１２、及びソルト値６１３をヘッダ部６０１に格納する必要を無くすことができ、もって、ヘッダ部６０１の容量を増大させる必要を無くすことができる。
【００５４】
図１０及び図１１の処理によれば、トークン付きコマンド９００が受信され（ステップＳ１００１でＹＥＳ）、トークン付きコマンドからトークンが読み出され（ステップＳ１００３，Ｓ１１０１）、読み出されたトークンに基づいてユーザ認証が実行される（ステップＳ１１０２〜Ｓ１１０４）。ここで、トークン付きコマンド９００はヘッダ部９０１及びコマンドデータ部９０２を有する。ユーザ認証がトークン認証処理によって実行されるとき、ヘッダ部９０１はユーザ認証を実行する際に使用される情報としてトークンのみを格納するので、ヘッダ部９０１の容量を増大させる必要を無くすことができる。その結果、コマンドデータ部９０２の容量が減少することがなく、コマンドデータ部９０２に格納されるコマンドデータを分割する必要を無くすことができる。すなわち、ＭＦＰ１０１に送信されるトークン付きコマンド９００が含むコマンドデータ部９０２のデータ構造の変更を防止することができる。
【００５５】
図５、図１０、及び図１１の処理によれば、トークン生成要求コマンド６００が受信され（ステップＳ５０１）、ユーザ名６１１、パスワードハッシュ値６１２、及びソルト値６１３とＭＦＰ１０１に予め格納されている認証情報とに基づいてユーザ認証処理が実行され（ステップＳ５０２）、ユーザ認証が成功したとき（ステップＳ５０３でＹＥＳ）、トークンが生成され（ステップＳ５０４）、生成されたトークンが予めＭＦＰ１０１に格納されている認証情報としてＩＤ、パスワード及びユーザ種別情報に関連付けられてトークンリストに登録され（ステップＳ５０５）、トークン付きコマンド９００から読み出されたトークン及び当該トークンが登録されているトークンリストに基づいてトークン認証処理が実行される（ステップＳ１００３，Ｓ１１０１〜Ｓ１１０４）ので、トークンが複数存在していても各ユーザに対応して各トークンを管理することができ、もって、適切なユーザ認証を実行することができる。
【００５６】
図１２は、図５のトークン生成処理の変形例の手順を示すフローチャートである。図１２の処理はＣＰＵ２０３ａによって実行される。
【００５７】
図１２において、まず、トークン生成要求コマンド１３００（図１３）を受信する（ステップＳ１２０１）。トークン生成要求コマンド１３００の構成はトークン生成要求コマンド６００の構成と基本的に同じであり、トークン生成要求コマンド１３００はトークン生成要求コマンド６００のコマンドデータ部６０２に対応するコマンドデータ部１３０１にジョブ１３０２をさらに格納する点でトークン生成要求コマンド６００と異なる。ジョブ１３０２はＭＦＰ１０１が実行するジョブである。例えば、ジョブ１３０２には印刷データ「ｔｅｘｔ１」を印刷するための「ｐｒｉｎｔｊｏｂ_ｈｄｄ_ｔｅｘｔ１」が設定され、後述のステップＳ１２０８においてＨＤＤ２０３ｄに格納された印刷データ「ｔｅｘｔ１」が印刷される。
【００５８】
図１２に戻り、ユーザ名６１１、パスワードハッシュ値６１２、及びソルト値６１３とＭＦＰ１０１に予め格納されている認証情報とに基づいてユーザ認証処理を実行し（ステップＳ１２０２）、ユーザ認証が成功したか否かを判別する（ステップＳ１２０３）。
【００５９】
ステップＳ１２０３の判別の結果、ユーザ認証が成功しなかった（失敗した）とき、トークンを生成できないことを通知するトークン生成失敗通知をＰＣ１０２に送信して（ステップＳ１２１０）本処理を終了し、ユーザ認証が成功したとき、ジョブ１３０１に基づいてジョブを生成し（ステップＳ１２０４）、さらにトークンを生成する（ステップＳ１２０５）。生成されたトークンはステップＳ５０４で生成されるトークンと同じ構成を有する。
【００６０】
次いで、生成されたトークンを予めＭＦＰ１０１に格納されている認証情報に関連付けてトークンリストに登録し（ステップＳ１２０６）、トークンをＰＣ１０２に送信し（ステップＳ１２０７）、さらにジョブの実行を開始するとともにジョブの実行が終了したか否かを判別する（ステップＳ１２０８）。ステップＳ１２０８の判別の結果、ジョブの実行が終了していないとき、ステップＳ１２０８に戻り、ジョブの実行が終了したとき、トークンを破棄して（ステップＳ１２０９）本処理を終了する。
【００６１】
図１２の処理によれば、トークン生成要求コマンド１３００がコマンドデータ部１２０２にジョブ１３０１を有するとき、ジョブ１３０１に基づいてジョブが生成され（ステップＳ１２０４）、トークンが生成される（ステップＳ１２０５）ので、ジョブの生成とトークンの生成とを同時に要求でき、もって、ジョブの生成とトークンの生成とを別々に要求する手間を省くことができる。また、ジョブの実行が終了したとき、トークンは破棄される（ステップＳ１２０９）ので、トークンの破棄を別途要求する必要を無くすことができる。
【００６２】
本発明は、上述の実施の形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６３】
１００  画像形成システム
１０１  ＭＦＰ
１０２  ＰＣ
２０１，３０１  通信部
２０３ａ，３０２ａ  ＣＰＵ
２０８  認証部
６００，１３００  トークン生成要求コマンド
６０１，９０１  ヘッダ部
６０２，９０２  コマンドデータ部
【図１】
2019049986.tif 000003
【図２】
2019049986.tif 000004
【図３】
2019049986.tif 000005
【図４】
2019049986.tif 000006
【図５】
2019049986.tif 000007
【図６】
2019049986.tif 000008
【図７】
2019049986.tif 000009
【図８】
2019049986.tif 000010
【図９】
2019049986.tif 000011
【図１０】
2019049986.tif 000012
【図１１】
2019049986.tif 000013
【図１２】
2019049986.tif 000014
【図１３】
2019049986.tif 000015
【手続補正書】
【提出日】平成30年11月1日(2018.11.1)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
上記目的を達成するために、本発明の画像形成システムは、トークンを用いない認証方式及びトークンを用いる認証方式のいずれか一方によってユーザ認証を実行する画像形成装置及び前記画像形成装置に前記ユーザ認証を要求する情報処理装置を備える画像形成システムにおいて、前記画像形成装置は、前記画像形成装置に接続される情報処理装置からユーザ認証情報を受信する第１の受信手段と、前記第１の受信手段によって受信したユーザ認証情報に基づき、トークンを生成する生成手段と、前記生成手段によって生成されたトークンを、前記情報処理装置に送信する送信手段と、前記情報処理装置から、前記生成されたトークンが付与されたトークン付きコマンド、又は、トークンが付与されていないコマンドを受信する第２の受信手段と、前記第１の受信手段により前記トークン付きコマンドを受信した場合、前記トークン付きコマンドから読み出した前記生成されたトークンを用いて第１の認証処理を実行し、前記第２の受信手段により前記トークンが付与されていないコマンドを受信した場合、前記トークンが付与されていないコマンドに含まれるユーザ認証情報を用いて第２の認証処理とを実行する認証手段とを有することを特徴とする。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
上記目的を達成するために、本発明の画像形成装置は、トークンを用いない認証方式及びトークンを用いる認証方式のいずれか一方によってユーザ認証を実行する画像形成装置において、前記画像形成装置に接続される情報処理装置からユーザ認証情報を受信する第１の受信手段と、前記第１の受信手段によって受信したユーザ認証情報に基づき、トークンを生成する生成手段と、前記生成手段によって生成されたトークンを、前記情報処理装置に送信する送信手段と、前記情報処理装置から、前記生成されたトークンが付与されたトークン付きコマンド、又は、トークンが付与されていないコマンドを受信する第２の受信手段と、前記第１の受信手段により前記トークン付きコマンドを受信した場合、前記トークン付きコマンドから読み出した前記生成されたトークンを用いて第１の認証処理を実行し、前記第２の受信手段により前記トークンが付与されていないコマンドを受信した場合、前記トークンが付与されていないコマンドに含まれるユーザ認証情報を用いて第２の認証処理とを実行する認証手段とを有することを特徴とする。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
トークンを用いない認証方式及びトークンを用いる認証方式のいずれか一方によってユーザ認証を実行する画像形成装置及び前記画像形成装置に前記ユーザ認証を要求する情報処理装置を備える画像形成システムにおいて、
前記画像形成装置は、
前記画像形成装置に接続される情報処理装置からユーザ認証情報を受信する第１の受信手段と、
前記第１の受信手段によって受信したユーザ認証情報に基づき、トークンを生成する生成手段と、
前記生成手段によって生成されたトークンを、前記情報処理装置に送信する送信手段と、
前記情報処理装置から、前記生成されたトークンが付与されたトークン付きコマンド、又は、トークンが付与されていないコマンドを受信する第２の受信手段と、
前記第１の受信手段により前記トークン付きコマンドを受信した場合、前記トークン付きコマンドから読み出した前記生成されたトークンを用いて第１の認証処理を実行し、前記第２の受信手段により前記トークンが付与されていないコマンドを受信した場合、前記トークンが付与されていないコマンドに含まれるユーザ認証情報を用いて第２の認証処理とを実行する認証手段とを有することを特徴とする画像形成システム。
【請求項２】
前記トークン付きコマンドは、トークンを格納するヘッダ部と、前記トークン付きコマンドに前記生成されたトークンが付与されていることを示す情報を含むことを特徴とする請求項１記載の画像形成システム。
【請求項３】
前記トークンが付与されていないコマンドに含まれる前記ユーザ認証情報は、前記ユーザ認証を実行する際に使用されるＩＤ及びパスワードであることを特徴とする請求項１又は２記載の画像形成システム。
【請求項４】
前記画像形成装置は、ジョブに関する情報を受信する第３の受信手段をさらに備え、
前記受信されたジョブに関する情報が前記第１のデータ部に格納されている場合、前記ジョブに関する情報に基づいてジョブを生成するとともに、前記トークンが生成されることを特徴とする請求項１乃至３のいずれか１項に記載の画像形成システム。
【請求項５】
前記生成されたジョブが実行されたとき、前記トークンは破棄されることを特徴とする請求項４記載の画像形成システム。
【請求項６】
トークンを用いない認証方式及びトークンを用いる認証方式のいずれか一方によってユーザ認証を実行する画像形成装置において、
前記画像形成装置に接続される情報処理装置からユーザ認証情報を受信する第１の受信手段と、
前記第１の受信手段によって受信したユーザ認証情報に基づき、トークンを生成する生成手段と、
前記生成手段によって生成されたトークンを、前記情報処理装置に送信する送信手段と、
前記情報処理装置から、前記生成されたトークンが付与されたトークン付きコマンド、又は、トークンが付与されていないコマンドを受信する第２の受信手段と、
前記第１の受信手段により前記トークン付きコマンドを受信した場合、前記トークン付きコマンドから読み出した前記生成されたトークンを用いて第１の認証処理を実行し、前記第２の受信手段により前記トークンが付与されていないコマンドを受信した場合、前記トークンが付与されていないコマンドに含まれるユーザ認証情報を用いて第２の認証処理とを実行する認証手段とを有することを特徴とする画像形成装置。
【請求項７】
前記トークン付きコマンドは、トークンを格納するヘッダ部と、前記トークン付きコマンドに前記生成されたトークンが付与されていることを示す情報を含むことを特徴とする請求項６記載の画像形成装置。
【請求項８】
トークンを用いない認証方式及びトークンを用いる認証方式のいずれか一方によってユーザ認証を実行する画像形成装置及び前記画像形成装置に前記ユーザ認証を要求する情報処理装置を備える画像形成システムの制御方法であって、
前記画像形成装置に接続される情報処理装置からユーザ認証情報を受信する第１の受信ステップと、
前記第１の受信ステップによって受信したユーザ認証情報に基づき、トークンを生成する生成ステップと、
前記生成ステップによって生成されたトークンを、前記情報処理装置に送信する送信ステップと、
前記情報処理装置から、前記生成されたトークンが付与されたトークン付きコマンド、又は、トークンが付与されていないコマンドを受信する第２の受信ステップと、
前記第１の受信ステップにより前記トークン付きコマンドを受信した場合、前記トークン付きコマンドから読み出した前記生成されたトークンを用いて第１の認証処理を実行し、前記第２の受信ステップにより前記トークンが付与されていないコマンドを受信した場合、前記トークンが付与されていないコマンドに含まれるユーザ認証情報を用いて第２の認証処理とを実行する認証ステップとを有することを特徴とする画像形成システムの制御方法。
【請求項９】
前記トークン付きコマンドは、トークンを格納するヘッダ部と、前記トークン付きコマンドに前記生成されたトークンが付与されていることを示す情報を含むことを特徴とする請求項８記載の画像形成システムの制御方法。
【請求項１０】
トークンを用いない認証方式及びトークンを用いる認証方式のいずれか一方によってユーザ認証を実行する画像形成装置及び前記画像形成装置に前記ユーザ認証を要求する情報処理装置を備える画像形成システムの制御方法をコンピュータに実行させるプログラムであって、
前記画像形成システムの制御方法は、
前記画像形成装置に接続される情報処理装置からユーザ認証情報を受信する第１の受信ステップと、
前記第１の受信ステップによって受信したユーザ認証情報に基づき、トークンを生成する生成ステップと、
前記生成ステップによって生成されたトークンを、前記情報処理装置に送信する送信ステップと、
前記情報処理装置から、前記生成されたトークンが付与されたトークン付きコマンド、又は、トークンが付与されていないコマンドを受信する第２の受信ステップと、
前記第１の受信ステップにより前記トークン付きコマンドを受信した場合、前記トークン付きコマンドから読み出した前記生成されたトークンを用いて第１の認証処理を実行し、前記第２の受信ステップにより前記トークンが付与されていないコマンドを受信した場合、前記トークンが付与されていないコマンドに含まれるユーザ認証情報を用いて第２の認証処理とを実行する認証ステップとを有することを特徴とするプログラム。