(57)【特許請求の範囲】
【請求項１】
通信装置であって、
パケットを受信する受信手段と、
前記受信したパケットの送信元が前記通信装置と同一のネットワーク内の装置であるか否かを判定する判定手段と、
前記受信したパケットの送信元が前記通信装置と同一のネットワーク内の装置であると判定された場合は第１の判断条件に基づいて前記受信したパケットに応答するか否かを判断し、前記受信したパケットの送信元が前記通信装置と同一のネットワーク内の装置でないと判定された場合は前記第１の判断条件と異なる第２の判断条件に基づいて前記受信したパケットに応答するか否かを判断する判断手段と、
前記判断手段による判断の結果に基づき前記受信したパケットに応答する応答手段と、
を備え、
前記第１の判断条件は、前記受信したパケットのペイロード部のデータ長が所定のデータ長と一致するという判断条件、または前記受信したパケットの受信回数が所定の回数以上であるという判断条件の少なくとも一つからなり、
前記第２の判断条件は、前記受信したパケットのペイロード部のデータが所定のデータパターンと一致するという判断条件、または前記受信したパケットデータのペイロード部に格納されている認証情報が所定の認証情報と一致するという判断条件の少なくとも一つからなることを特徴とする通信装置。
【請求項２】
前記第１の判断条件および前記第２の判断条件をユーザからの指示に従って設定する設定手段を更に備えることを特徴とする請求項１に記載の通信装置。
【請求項３】
前記ユーザからの指示を受け付けるための画面を表示する表示手段を更に備えることを特徴とする請求項２に記載の通信装置。
【請求項４】
前記受信手段が受信するパケットは、ＩＣＭＰ  Ｅｃｈｏパケットであることを特徴とする請求項１乃至３のいずれか１項に記載の通信装置。
【請求項５】
パケットを受信する受信工程と、
前記受信したパケットの送信元が前記通信装置と同一のネットワーク内の装置であるか否かを判定する判定工程と、
前記受信したパケットの送信元が前記通信装置と同一のネットワーク内の装置であると判定された場合は第１の判断条件に基づいて前記受信したパケットに応答するか否かを判断し、前記受信したパケットの送信元が前記通信装置と同一のネットワーク内の装置でないと判定された場合は前記第１の判断条件と異なる第２の判断条件に基づいて前記受信したパケットに応答するか否かを判断する判断工程と、
前記判断工程における判断の結果に基づき前記受信したパケットに応答する応答工程と、
を備え、
前記第１の判断条件は、前記受信したパケットのペイロード部のデータ長が所定のデータ長と一致するという判断条件、または前記受信したパケットの受信回数が所定の回数以上であるという判断条件の少なくとも一つからなり、
前記第２の判断条件は、前記受信したパケットのペイロード部のデータが所定のデータパターンと一致するという判断条件、または前記受信したパケットデータのペイロード部に格納されている認証情報が所定の認証情報と一致するという判断条件の少なくとも一つからなることを特徴とする通信方法。
【請求項６】
コンピュータを請求項１乃至４のいずれか１項に記載の通信装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク通信機能を有する通信装置、通信方法、及びプログラムに関し、特に通信装置のネットワークセキュリティ技術に関する。
【背景技術】
【０００２】
ＴＣＰ／ＩＰプロトコルを搭載したネットワーク機器は、ＩＣＭＰ  Ｅｃｈｏプロトコルをサポートしている。
【０００３】
ＩＣＭＰ  Ｅｃｈｏプロトコルは、ＩＣＭＰ  Ｅｃｈｏ  Ｒｅｑｕｅｓｔパケットを送信先のネットワーク機器に向けて送信し、それを受信したネットワーク機器は、ＩＣＭＰ  Ｅｃｈｏ  Ｒｅｐｌｙパケットによって応答を返すシンプルなプロトコルである。
【０００４】
ＩＣＭＰ  Ｅｃｈｏプロトコルは、送信先のネットワーク機器への通信が可能か否か、通信経路に問題が無いか等の確認や送信先のネットワーク機器からの応答時間の測定等に用いられることが一般的であり、通信状況を確認するための手段として活用されている。
【０００５】
また、ＩＣＭＰ  Ｅｃｈｏプロトコルを、ネットワーク機器に対する指示コマンドとして利用する技術も提案されている。
【０００６】
例えば、監視装置が統計情報ヘッダを作成し、作成した統計情報ヘッダをＩＣＭＰ  ＥｃｈｏのペイロードとするＩＣＭＰ  Ｅｃｈｏ  Ｒｅｑｕｅｓｔを監視対象装置に送信する技術が提案されている（特許文献１）。
【０００７】
この提案では、ＩＣＭＰ  Ｅｃｈｏ  Ｒｅｑｕｅｓｔを受信した監視対象装置が、正常な統計情報ヘッダが格納されていると判断すると、統計情報を取り出すべきネットワークを特定する。
【０００８】
そして、監視対象装置は、統計情報を記憶装置から取得してＩＣＭＰ  Ｅｃｈｏのペイロードに書き込み返送する。監視装置は、返送されてきたＩＣＭＰ  Ｅｃｈｏ  Ｒｅｐｌｙのペイロードに正常な統計情報が格納されていると判断すると、その統計情報を取り出し記憶装置に記憶する。これにより、ＳＮＭＰを用いる場合に比べて、コストをかけずに、メモリ容量が少ない小型装置から統計情報の収集を行うことができ、より多くの統計情報の収集が可能になる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００５−２８６４５８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、ＩＣＭＰ  Ｅｃｈｏプロトコルを用いると、悪意を持った第三者が外部のネットワークからＰｉｎｇコマンド等を発行することにより、ネットワーク機器の存在確認が可能となるため、ネットワーク機器のセキュリティ上好ましくない場合がある。
【００１１】
また、汎用ＯＳは、ＩＣＭＰ  Ｅｃｈｏ  Ｒｅｑｕｅｓｔに対するＩＣＭＰ  Ｅｃｈｏ  Ｒｅｐｌｙを無効にする手段を有して、ネットワーク機器の存在を検知されにくくすることが可能となっているが、無効にしてしまうと通信状況の確認等ができなくなる。
【００１２】
そこで、本発明は、受信したパケットに応答するか否かを適切に判断する仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明の通信装置は、パケットを受信する受信手段と、前記受信したパケットの送信元が前記通信装置と同一のネットワーク内の装置であるか否かを判定する判定手段と、前記受信したパケットの送信元が前記通信装置と同一のネットワーク内の装置であると判定された場合は第１の判断条件に基づいて前記受信したパケットに応答するか否かを判断し、前記受信したパケットの送信元が前記通信装置と同一のネットワーク内の装置でないと判定された場合は前記第１の判断条件と異なる第２の判断条件に基づいて前記受信したパケットに応答するか否かを判断する判断手段と、前記判断手段による判断の結果に基づき前記受信したパケットに応答する応答手段と、を備え、前記第１の判断条件は、前記受信したパケットのペイロード部のデータ長が所定のデータ長と一致するという判断条件、または前記受信したパケットの受信回数が所定の回数以上であるという判断条件の少なくとも一つからなり、前記第２の判断条件は、前記受信したパケットのペイロード部のデータが所定のデータパターンと一致するという判断条件、または前記受信したパケットデータのペイロード部に格納されている認証情報が所定の認証情報と一致するという判断条件の少なくとも一つからなることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、受信したパケットの送信元が通信装置と同一ネットワーク内の機器である場合は、所定のデータ長や所定の回数に基づき受信したパケットの応答をするか否かを判断するので、従来の機器のように受信したパケットに対する応答を一律に無効にせずともセキュリティを確保でき、且つ従来の機器と比較して通信確認等の利便性を向上させることができる。また、受信したパケットの送信元が通信装置と同一ネットワーク外の機器である場合は、所定のデータパターンや所定の認証情報に基づき受信したパケットの応答をするか否かを判断するので、受信したパケットの送信元が同一ネットワーク内の機器である場合と比べてセキュリティ強度を上げることができ、悪意を持った第三者による外部のネットワークからの通信装置の存在確認を確実に防止できる。
【図面の簡単な説明】
【００１５】
【図１】本発明の画像形成装置の実施形態の一例であるＭＦＰを含むネットワーク構成例を示す図である。
【図２】ＭＦＰのコントローラユニットの構成例を示すブロック図である。
【図３】ＭＦＰのネットワーク通信に関するソフトウェアの主要構成例を示す図である。
【図４】ネットワークスタックの具体的なモジュールの構成例を示すブロック図である。
【図５】ＩＣＭＰパケットのフォーマットの概略を説明するための図である。
【図６】ＭＦＰにおけるＩＣＭＰ判定モジュールの動作例について説明するためのフローチャート図である。
【図７】図６のステップＳ６０４の判定処理について説明するためのフローチャート図である。
【図８】図６のステップＳ６０５の判定処理について説明するためのフローチャート図である。
【図９】図７のステップＳ７０１及び図８のステップＳ８０１で用いられる判定条件をユーザが設定するためにＭＦＰの操作部に表示される設定画面の一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態の一例を図面を参照して説明する。
【００１７】
図１は、本発明の画像形成装置の実施形態の一例であるＭＦＰを含むネットワーク構成例を示す図である。
【００１８】
図１に示すように、本実施形態のＭＦＰ１０１は、ＬＡＮ１０３、及びＬＡＮ１０３にルータ１０５を介して接続されたＬＡＮ１０６を介して、ＰＣ（パーソナルコンピュータ）１０２及びＰＣ１０４と互いに通信可能なネットワーク通信機能を有する。ＭＦＰ１０１は、１９２．１６８．１．５０というＩＰアドレスを持ち、ＰＣ１０２、及びＰＣ１０４は、それぞれ１９２．１６８．１．１００、及び１９２．１６８．２．１０というＩＰアドレスを持つ。また、ＰＣ１０２及びＰＣ１０４には、汎用的なＯＳの他に、Ｐｉｎｇコマンドを処理するためのアプリケーションも搭載されている。
【００１９】
図２は、ＭＦＰ１０１のコントローラユニットの構成例を示すブロック図である。
【００２０】
図２に示すように、コントローラユニット２０００は、スキャナ２０７０で読み取られた画像データをプリンタ２０９５により印刷出力する機能を実現するための制御を行う。また、コントローラユニット２０００は、ＬＡＮ１０３に接続することにより、画像情報やデバイス情報の入出力を行うための制御を行う。
【００２１】
コントローラユニット２０００のＣＰＵ２００１は、ＲＯＭ２００３に格納されているブートプログラムによりＯＳを起動し、ＯＳ上でＨＤＤ２００４に格納されているアプリケーションプログラムを実行することによって各種処理を実行する。ＲＡＭ２００２は、ＣＰＵ２００１の作業領域として用いられるとともに、画像データを一時記憶するための画像メモリ領域として用いられる。ＨＤＤ２００４は、アプリケーションプログラム及び画像データを格納する。
【００２２】
また、ＣＰＵ２００１には、システムバス２００７を介して、操作部Ｉ／Ｆ２００６、ネットワークＩ／Ｆ２０１０、モデム２０５０及びイメージバスＩ／Ｆ２００５が接続されている。
【００２３】
操作部Ｉ／Ｆ２００６は、タッチパネル等を有する操作部２０１２とのインタフェイスであり、操作部２０１２に表示する画像データを操作部２０１２に対して出力する。また、操作部Ｉ／Ｆ２００６は、操作部２０１２においてユーザにより入力された情報をＣＰＵ２００１に出力する。
【００２４】
ネットワークＩ／Ｆ２０１０は、ＬＡＮ１０３を介して、ＬＡＮ１０３に接続された他の装置との間で情報の入出力を行う。モデム２０５０は、ＷＡＮ１００７を介して不図示の公衆回線に接続されて、情報の入出力を行う。
【００２５】
イメージバスＩ／Ｆ２００５は、システムバス２００７と画像データを高速で転送する画像バス２００８とを接続し、データ構造を変換するためのバスブリッジである。画像バス２００８は、ＰＣＩバス又はＩＥＥＥ１３９４から構成される。画像バス２００８には、ＲＩＰ（ラスタイメージプロセッサ）２０６０、デバイスＩ／Ｆ２０２０、スキャナ画像処理部２０８０、プリンタ画像処理部２０９０、画像回転部２０３０、及び画像処理部２０４０が接続される。
【００２６】
ＲＩＰ２０６０は、ＰＤＬコードをビットマップイメージに展開するプロセッサである。デバイスＩ／Ｆ２０２０には、スキャナ２０７０及びプリンタ２０９５が接続され、デバイスＩ／Ｆ２０２０は、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部２０８０は、入力画像データに対し補正、加工、編集を行う。
【００２７】
プリンタ画像処理部２０９０は、プリント出力画像データに対してプリンタの補正、解像度変換などを行う。画像回転部２０３０は、画像データの回転を行う。画像処理部２０４０は、多値画像データをＪＰＥＧデータに、２値画像データをＪＢＩＧ、ＭＭＲ、ＭＨなどのデータに圧縮するとともに、その伸張処理を行う。
【００２８】
図３は、ＭＦＰ１０１のネットワーク通信に関するソフトウェアの主要構成例を示す図である。
【００２９】
図３において、アプリケーション３０１は、ＭＦＰ１０１上で動作するネットワークアプリケーションの集合である。ソケットＩ／Ｆ３０２は、ＯＳによって提供されるソケットＩ／Ｆプログラムである。アプリケーション３０１に含まれるネットワークアプリケーションが通信を行う場合、ソケットＩ／Ｆ３０２を呼び出すことによって、データの送信や受信といった処理が可能になる。
【００３０】
ソケットＩ／Ｆは、ネットワークアプリケーションが通信を行う際に必ずしも必要なプログラムではないが、ＯＳの種類によらず汎用的なプログラム命令と処理フローを用いる事ができるため、アプリケーションの開発工数を削減する事ができる。そのため、ネットワークアプリケーションは、ソケットＩ／Ｆを呼び出してデータの送受信を行う事が一般的である。ネットワークスタック３０３は、プロトコルスタック群である。ネットワークドライバ３０４は、ネットワークＩ／Ｆ２０１０のデバイスドライバである。
【００３１】
図４は、ネットワークスタック３０３の具体的なモジュールの構成例を示すブロック図である。
【００３２】
ＡＲＰ管理モジュール４０６は、ＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）と称されるプロトコルの制御を行うソフトウェアモジュールである。ＩＰ管理モジュール４０５は、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）と称されるプロトコルの制御を行うソフトウェアモジュールである。
【００３３】
ＴＣＰ管理モジュール４０１は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）と称されるプロトコルの制御を行うソフトウェアモジュールである。ＵＤＰ管理モジュール４０２は、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）と称されるプロトコルの制御を行うソフトウェアモジュールである。
【００３４】
ＩＣＭＰ管理モジュール４０３は、ＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）と称されるプロトコルを制御するソフトウェアモジュールである。ＩＣＭＰ管理モジュール４０３は、ネットワークＩ／Ｆ２０１０を介して受信したＩＣＭＰ  Ｅｃｈｏ  ＲｅｑｕｅｓｔパケットをＩＰ管理モジュール４０５及びＩＣＭＰ判定モジュール４０４を介して受け取る。
【００３５】
そして、ＩＣＭＰ管理モジュール４０３は、受け取ったＩＣＭＰ  Ｅｃｈｏ  Ｒｅｑｕｅｓｔパケットに応答してＩＣＭＰ  Ｅｃｈｏ  Ｒｅｐｌｙパケットを返信する送信制御を行う。
【００３６】
ＩＣＭＰ判定モジュール４０４は、ＩＰ管理モジュール４０５から受け取ったＩＣＭＰパケットを解析し、あらかじめ定められた判定条件に従ってＩＣＭＰ管理モジュール４０３に渡すか否かを判定する制御を行うソフトウェアモジュールである。
【００３７】
図５は、ＩＣＭＰパケットのフォーマットの概略を説明するための図である。
【００３８】
ＩＣＭＰパケットは、ＩＰパケット５０１に包含され、ＩＰペイロード部５０５にＩＣＭＰのフォーマットでデータが格納されている。
【００３９】
ＩＰパケット５０１の送信先アドレス５０２には、送信先のＩＰアドレスが格納され、送信元アドレス５０３には、送信元のＩＰアドレスが格納され、オプション５０４には、ＩＰパケットの制御に関するデータが格納されている。
【００４０】
ＩＰペイロード部５０５は、ＩＰパケットのデータ部を示し、ＩＣＭＰ、ＴＣＰ、ＵＤＰ等のそれぞれのプロトコルによって決められたフォーマットでデータが格納される。
【００４１】
ＩＣＭＰ  Ｔｙｐｅ５０６は、ＩＣＭＰのタイプを示すデータが格納され、ＩＣＭＰパケットがＩＣＭＰ  Ｅｃｈｏであるか否かを識別する。ＩＣＭＰ  Ｃｏｄｅ５０７、チェックサム５０８、Ｏｐｔｉｏｎ５０９は、ＩＣＭＰフォーマットであらかじめ定められたデータが格納されるが、説明は省略する。
【００４２】
ＩＣＭＰペイロード部５１０は、ＩＣＭＰ  Ｔｙｐｅ５０６よって定められてデータが格納されるが、ＩＣＭＰ  Ｅｃｈｏパケットの場合は、ＩＣＭＰペイロード部５１０に格納されるデータは特に定められていない。
【００４３】
次に、図６〜図８を参照して、本実施形態のＭＦＰ１０１におけるＩＣＭＰ判定モジュール４０４の動作例について説明する。なお、図６〜図８での各処理は、ＭＦＰ１０１のＨＤＤ２００４等に記憶されたプログラムがＲＡＭ２００２にロードされて、ＣＰＵ２００１により実行される。
【００４４】
まず、ネットワークＩ／Ｆ２０１０及びネットワークドライバ３０４を介してＩＰ管理モジュール４０５によって受信したネットワークパケットがＩＣＭＰパケットであれば、ＩＣＭＰ判定モジュール４０４に渡され、図６のステップＳ６０１の処理が開始される。
【００４５】
図６において、ステップＳ６０１では、ＣＰＵ２００１は、ＩＣＭＰ判定モジュール４０４により、受け取ったＩＣＭＰパケットがＩＣＭＰ  Ｅｃｈｏ  Ｒｅｑｕｅｓｔパケットであるか否かを判断する。
【００４６】
そして、ＣＰＵ２００１は、受け取ったＩＣＭＰパケットがＩＣＭＰ  Ｅｃｈｏ  Ｒｅｑｕｅｓｔパケットではない場合は、ステップＳ６０６に進み、ＩＣＭＰ  Ｅｃｈｏ  Ｒｅｑｕｅｓｔパケットの場合は、ステップＳ６０２に進む。
【００４７】
ステップＳ６０６では、ＣＰＵ２００１は、ステップＳ６０１で受け取ったＩＣＭＰパケットをＩＣＭＰ管理モジュール４０３に渡し、ステップＳ６０１に戻る。
【００４８】
ここで、ＩＣＭＰ管理モジュール４０３では、受け取ったＩＣＭＰパケットに対してＩＣＭＰプロトコルで規定された送信制御を行う。即ち、ＩＣＭＰ管理モジュール４０３は、受け取ったＩＣＭＰパケットがＩＣＭＰ  Ｅｃｈｏ  Ｒｅｑｕｅｓｔパケットである場合は、ＩＣＭＰ  Ｅｃｈｏ  Ｒｅｐｌｙパケットを返信する送信制御を行う。また、受け取ったＩＣＭＰパケットがＩＣＭＰ  Ｅｃｈｏ  Ｒｅｑｕｅｓｔパケット以外である場合は、受け取ったＩＣＭＰパケットに応じた処理を行う。
【００４９】
ステップＳ６０２では、ＣＰＵ２００１は、受け取ったＩＣＭＰ  Ｅｃｈｏ  Ｒｅｑｕｅｓｔパケットの送信元アドレス５０３とＩＣＭＰペイロード部５１０に格納されているデータを解析し、ステップＳ６０３に進む。
【００５０】
ステップＳ６０３では、送信元アドレス５０３がＭＦＰ１０１と同一ネットワークアドレスか否かを判定するためのネットワーク判定処理を行う。
【００５１】
ここで、ＩＣＭＰ  Ｅｃｈｏ  ＲｅｑｕｅｓｔパケットがＰＣ１０２から送信された場合は、送信元アドレス５０３が１９２．１６８．１．１００である。この場合、ＣＰＵ２００１は、送信元アドレス５０３がＭＦＰ１０１と同一ネットワークアドレスと判定して、ステップＳ６０４へ進む。また、ＩＣＭＰ  Ｅｃｈｏ  ＲｅｑｕｅｓｔパケットがＰＣ１０４から送信された場合は、送信元アドレスが１９２．１６８．２．１０である。この場合、ＣＰＵ２００１は、ＭＦＰ１０１のネットワークアドレスと異なると判定して、ステップＳ６０５へ進む。
【００５２】
ステップＳ６０４では、ＣＰＵ２００１は、ＩＣＭＰ  Ｅｃｈｏ  ＲｅｑｕｅｓｔパケットがＭＦＰ１０１と同一のネットワークから送信された場合に用いられる判定条件と一致するか否かを判定するための送信判定処理を行う。
【００５３】
そして、ＣＰＵ２００１は、判定条件に一致する場合は、ステップＳ６０６に進んで、上記と同様の処理を行い、判定条件と一致しない場合は、ＩＣＭＰパケットの処理を中断し、ステップＳ６０１へ戻る。ここでの判定処理の詳細は図７で後述する。
【００５４】
一方、ステップＳ６０５では、ＣＰＵ２００１は、ＩＣＭＰ  Ｅｃｈｏ  ＲｅｑｕｅｓｔパケットがＭＦＰ１０１と異なるネットワーク（同一ネットワーク外）から送信された場合に用いられる判定条件に一致するか否かを判定するための送信判定処理を行う。
【００５５】
そして、ＣＰＵ２００１は、判定条件に一致する場合は、ステップＳ６０６に進んで、上記と同様の処理を行い、判定条件と一致しない場合は、ＩＣＭＰパケットの処理を中断し、ステップＳ６０１へ戻る。ここでの判定処理の詳細は図８で後述する。
【００５６】
次に、図７を参照して、図６のステップＳ６０４の判定処理について説明する。
【００５７】
ステップＳ７０１では、ＣＰＵ２００１は、操作部２０１２でのユーザ操作により設定された判定条件が何であるかを判定する。
【００５８】
具体的には、ＣＰＵ２００１は、判定条件がＩＣＭＰペイロード部５１０のデータ長である場合は、ステップＳ７０２に進み、判定条件が送信元アドレス５０３の場合は、ステップＳ７０３に進み、判定条件が受信回数の場合は、ステップＳ７０４に進む。
【００５９】
ステップＳ７０２では、ＣＰＵ２００１は、ＩＣＭＰ  Ｅｃｈｏ  ＲｅｑｕｅｓｔパケットのＩＣＭＰペイロード部５１０のデータ長がユーザにより設定されたデータ長と一致するか否かを判定する。
【００６０】
そして、ＣＰＵ２００１は、ＩＣＭＰペイロード部５１０のデータ長がユーザにより設定されたデータ長と一致する場合は、ステップＳ６０６に進み、一致しない場合は、ステップＳ６０１に戻る。
【００６１】
ステップＳ７０３では、ＣＰＵ２００１は、ＩＣＭＰ  Ｅｃｈｏ  Ｒｅｑｕｅｓｔパケットの送信元アドレス５０３がユーザにより設定されたＩＰアドレスと一致するか否かを判定する。
【００６２】
そして、ＣＰＵ２００１は、送信元アドレス５０３がユーザにより設定されたＩＰアドレスと一致する場合は、ステップＳ６０６に進み、一致しない場合は、ステップＳ６０１へ戻る。
【００６３】
ステップＳ７０４では、ＣＰＵ２００１は、送信元アドレス５０３毎にＩＣＭＰ  Ｅｃｈｏ  Ｒｅｑｕｅｓｔパケットを受信した回数をカウントアップし、ステップＳ７０５に進む。
【００６４】
ステップＳ７０５では、ＣＰＵ２００１は、ＩＣＭＰ  Ｅｃｈｏ  Ｒｅｑｕｅｓｔパケットの受信回数がユーザにより設定された回数（Ｎ）以上であるか否かを判定する。
【００６５】
そして、ＣＰＵ２００１は、ＩＣＭＰ  Ｅｃｈｏ  Ｒｅｑｕｅｓｔパケットの受信回数がＮ以上の場合は、ステップＳ６０６に進み、ＩＣＭＰ  Ｅｃｈｏ  Ｒｅｑｕｅｓｔパケットの受信回数がＮ未満の場合は、ステップＳ６０１に戻る。
【００６６】
次に、図８を参照して、図６のステップＳ６０５の判定処理について説明する。
【００６７】
ステップＳ８０１では、ＣＰＵ２００１は、操作部２０１２でのユーザ操作により設定された判定条件が何であるかを判定する。
【００６８】
具体的には、ＣＰＵ２００１は、判定条件がＩＣＭＰペイロード部５１０のデータパターンである場合は、ステップＳ８０２に進み、判定条件がユーザ認証の場合は、ステップＳ８０３に進む。
【００６９】
ステップＳ８０２では、ＣＰＵ２００１は、ＩＣＭＰ  Ｅｃｈｏ  ＲｅｑｕｅｓｔパケットのＩＣＭＰペイロード部５１０のデータがユーザにより設定されたデータパターンと一致するか否かを判定する。
【００７０】
そして、ＣＰＵ２００１は、ＩＣＭＰペイロード部５１０のデータがユーザにより設定されたデータパターンと一致する場合は、ステップＳ６０６に進み、一致しない場合は、ステップＳ６０１に戻る。
【００７１】
ステップＳ８０３では、ＣＰＵ２００１は、ＩＣＭＰ  Ｅｃｈｏ  ＲｅｑｕｅｓｔパケットのＩＣＭＰペイロード部５１０に格納されている暗号化されたユーザＩＤとパスワードを復号化し、ステップＳ８０４に進む。
【００７２】
ステップＳ８０４では、ＣＰＵ２００１は、ステップＳ８０３で復号化されたユーザＩＤとパスワードによってユーザ認証を行い、認証された場合は、ステップＳ６０６に進み、認証できなかった場合は、ステップＳ６０１に戻る。
【００７３】
図９は、図７のステップＳ７０１及び図８のステップＳ８０１で用いられる判定条件をユーザが設定するためにＭＦＰ１０１の操作部２０１２に表示される設定画面９０１の一例を示す図である。
【００７４】
図９において、ＯＮ９０２及びＯＦＦ９０３は、受信したＩＣＭＰ  Ｅｃｈｏ  Ｒｅｑｕｅｓｔパケットに対して、ＩＣＭＰ  Ｅｃｈｏ  Ｒｅｐｌｙパケットを返信するか否かを切り替えるためのスイッチである。
【００７５】
ＯＮ９０２が選択された場合は、「常に応答９０５」及び「条件応答９０６」のいずれかの選択が可能となる。
【００７６】
「常に応答９０５」が選択された場合は、ＩＣＭＰ  Ｅｃｈｏ  Ｒｅｐｌｙパケットを常に返信する動作となる。「条件応答９０６」が選択された場合は、「同一ネットワーク内９０７」と「同一ネットワーク外９０８」のいずれかの選択が可能となる。
【００７７】
「同一ネットワーク内９０７」が選択された場合は、操作部２０１２に画面９０９が表示される。また、「同一ネットワーク外９０８」が選択された場合は、操作部２０１２に画面９１０が表示される。
【００７８】
画面９０９では、同一ネットワーク内での判定条件として、「ペイロード長９１１」、「受信回数９１２」、「特定アドレス９１３」のいずれか、又は複数を選択することが可能となる。
【００７９】
「ペイロード長９１１」を選択した場合は、任意のペイロード長を設定するための画面（不図示）が表示される。「受信回数９１２」を選択した場合は、任意の受信回数を設定するための画面（不図示）が表示される。「特定アドレス９１３」を選択した場合は、任意のＩＰアドレスを設定するための画面（不図示）が表示される。
【００８０】
ここで、「ペイロード長９１１」は、図７におけるステップＳ７０２の判定条件に相当し、「受信回数９１２」は、図７におけるステップＳ７０５の判定条件に相当し、「特定アドレス９１３」は、図７におけるステップＳ７０３の判定条件に相当する。そして、これらの判定条件は、同一ネットワーク外での判定条件と比較してセキュリティ強度が低い判定条件とされている。
【００８１】
一方、画面９１０では、同一ネットワーク外の判定条件として、「データパターン９１４」、「ユーザ認証９１５」のいずれか、又は複数を選択することが可能となる。
【００８２】
「データパターン９１４」を選択した場合は、任意のデータパターンを設定するための画面（不図示）が表示される。「ユーザ認証９１５」を選択した場合は、認証を許可するユーザのユーザＩＤとパスワードを設定するための画面（不図示）が表示される。
【００８３】
ここで、「データパターン９１４」は、図８におけるステップＳ８０２の判定条件に相当し、「ユーザ認証９１５」は、図８におけるステップＳ８０４の判定条件に相当する。そして、これらの判定条件は、同一ネットワーク内の判定条件と比較してセキュリティ強度が高い判定条件とされている。
【００８４】
以上説明したように、本実施形態では、受信したＩＣＭＰ  Ｅｃｈｏ  Ｒｅｑｕｅｓｔに対してＩＣＭＰ  Ｅｃｈｏ  Ｒｅｐｌｙを返信するか否かの判定条件を予めユーザが設定する。そして、受信したＩＣＭＰ  Ｅｃｈｏ  Ｒｅｑｕｅｓｔが判定条件を満たす場合は、ＩＣＭＰ  Ｅｃｈｏ  Ｒｅｐｌｙを返信し、判定条件を満たしていない場合は、ＩＣＭＰ  Ｅｃｈｏ  Ｒｅｐｌｙを返信しないように送信制御している。
【００８５】
これにより、判定条件を満たさないＩＣＭＰ  Ｅｃｈｏ  Ｒｅｑｕｅｓｔの送信元の機器については、ＭＦＰ１０１の存在確認ができなくなるため、セキュリティの向上を図ることができる。また、判定条件を満たすＩＣＭＰ  Ｅｃｈｏ  Ｒｅｑｕｅｓｔの送信元の機器については、通信状況の確認等が可能となるため、ＩＣＭＰ  Ｅｃｈｏプロトコルを用いたネットワーク通信における利便性を確保することができる。
【００８６】
また、本実施形態では、ＩＣＭＰ  Ｅｃｈｏ  Ｒｅｑｕｅｓｔの送信元の機器が同一ネットワーク内の機器か同一ネットワーク外の機器かで、ＩＣＭＰ  Ｅｃｈｏ  Ｒｅｐｌｙを返信するか否かの判定条件を異ならせている。即ち、送信元の機器が同一ネットワーク内である場合は、判定条件のセキュリティ強度を比較的低くし、送信元の機器が同一ネットワーク外である場合は、判定条件のセキュリティ強度を比較的高くしている。
【００８７】
これにより、同一ネットワーク内の機器に対しては通信確認等の利便性を向上させることができ、また、同一ネットワーク外の機器に対しては、セキュリティの更なる向上を図ることができる。
【００８８】
なお、本発明は、上記実施形態に例示したものに限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【００８９】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。ネットワーク又は各種記憶媒体を介して取得したソフトウェア（プログラム）をパーソナルコンピュータ（ＣＰＵ，プロセッサ）にて実行することでも実現できる。
【符号の説明】
【００９０】
１０１  画像形成装置
３０３  ネットワークスタック
３０４  ネットワークドライバ
４０３  ＩＣＭＰ管理モジュール
４０４  ＩＣＭＰ判定モジュール
４０５  ＩＰ管理モジュール
２０１０  ネットワークＩ／Ｆ
２０１２  操作部
【図１】
0005618745.tif 000002
【図２】
0005618745.tif 000003
【図３】
0005618745.tif 000004
【図４】
0005618745.tif 000005
【図５】
0005618745.tif 000006
【図６】
0005618745.tif 000007
【図７】
0005618745.tif 000008
【図８】
0005618745.tif 000009
【図９】
0005618745.tif 000010