(57)【要約】【課題】  制御装置が接続された状態においても、ネットワークセキュリティのフィルタ機能において、ＭＡＣアドレスによる全パケットのフィルタ機能を実現するデバイス制御装置及びそのネットワークセキュリティー方法を提供する。【解決方法】  ネットワーク及びデバイス装置と接続されるデバイス制御装置が、ネットワークセキュリティ機能であるパケットフィルタ機能を実現するフィルタドライバを有し、前記フィルタドライバは、前記デバイス制御装置が受信したいずれのネットワークパケットに対してもパケットフィルタ処理を行って、該パケットフィルタ処理を終了したネットワークパケットを通信プロトコルに対応する上位のスタックに出力する。【選択図】  図４
2007329876.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク及びデバイス装置と接続されるデバイス制御装置であって、
ネットワークセキュリティ機能であるパケットフィルタ機能を実現するフィルタドライバを有し、
前記フィルタドライバは、前記デバイス制御装置が受信したいずれのネットワークパケットに対してもパケットフィルタ処理を行って、該パケットフィルタ処理を終了したネットワークパケットを通信プロトコルに対応する上位のスタックに出力することを特徴とするデバイス制御装置。
【請求項２】
前記フィルタドライバのパケットフィルタ機能は、ＭＡＣアドレスフィルタ処理の機能と、ネットワーク層のパケットフィルタ処理の機能と、トランスポート層のパケットフィルタ処理の機能と、アプリケーション層のパケットフィルタ処理の機能とのいずれかを含むことを特徴とする請求項１に記載のデバイス制御装置。
【請求項３】
前記フィルタドライバは、前記ＭＡＣアドレスフィルタ処理で廃棄されなかったパケットを、フィルタドライバ内部でネットワークプロトコルの上位のネットワーク層のパケットフィルタ処理、トランスポート層のパケットフィルタ処理、アプリケーション層のパケットフィルタ処理の順に送信して、ＭＡＣアドレスフィルタでフィルタを掛け終わった前記パケットについても上位の各フィルタ処理を行うことを特徴とする請求項２に記載のデバイス制御装置。
【請求項４】
前記パケットフィルタ処理のフィルタルールを設定するためのユーザインタフェースを更に有し、
前記フィルタドライバは、前記ユーザインタフェースを介してユーザが入力したフィルタルールに基づいて、フィルタ処理を行なうことを特徴とする請求項１又は２に記載のデバイス制御装置。
【請求項５】
前記ユーザインタフェースはユーザが入力したフィルタルールをファイルとして保持するルールファイル保持手段を有し、
前記フィルタドライバは、前記保持されたフィルタルールのファイルに基づいてフィルタ処理を行なうことを特徴とする請求項４に記載のデバイス制御装置。
【請求項６】
前記フィルタドライバは、デバイス制御装置が送出したパケットか否かを監視するパケット監視手段を有し、
前記パケット監視手段が、前記フィルタドライバが受信したパケットをデバイス制御装置が送信したパケットと判断した場合は、前記フィルタ処理を行わずにパケットを上位のスタックへ送信することを特徴とする請求項１に記載のデバイス制御装置。
【請求項７】
前記パケット監視手段は、
前記パケットのパケットヘッダ部の情報を保持するパケットヘッダ保持手段と、
前記フィルタドライバがパケットを受信した場合、前記パケットヘッダ保持手段により保存したパケットヘッダを参照して、前記パケットをデバイス制御装置が送信したと判断するパケット判断手段とを有することを特徴とする請求項６に記載のデバイス制御装置。
【請求項８】
前記デバイス制御装置は、ＩＰマスカレードを使用した転送機能を有し、前記転送機能を実現するプログラムを持ち、前記フィルタドライバと前記プログラムはそれぞれが単体で動作可能であることを特徴とする請求項１に記載のデバイス制御装置。
【請求項９】
前記転送機能の実行前に、前記フィルタドライバの処理を実行することを特徴とする請求項８に記載のデバイス制御装置。
【請求項１０】
前記転送機能を実現するプログラムは、ユーザインタフェースからユーザが入力した転送設定情報を受信して、転送処理を切り替えることを特徴とする請求項８又は９に記載のデバイス制御装置。
【請求項１１】
前記デバイス装置はプリント機能及び／又はスキャン機能を有する画像形成装置であることを特徴とする請求項１乃至１０のいずれか１つに記載のデバイス制御装置。
【請求項１２】
ネットワーク及びデバイス装置と接続されるデバイス制御装置の制御方法であって、
前記デバイス制御装置が、ネットワークセキュリティ機能であるパケットフィルタ機能を実現するフィルタドライバを有し、
前記フィルタドライバは、前記デバイス装置が受信したいずれのネットワークパケットに対してもパケットフィルタ処理を行って、該パケットフィルタ処理を終了したネットワークパケットを通信プロトコルに対応する上位のスタックに出力することを特徴とするデバイス制御装置の制御方法。
【請求項１３】
前記フィルタドライバのパケットフィルタ機能は、ＭＡＣアドレスフィルタ処理の機能と、ネットワーク層のパケットフィルタ処理の機能と、トランスポート層のパケットフィルタ処理の機能と、アプリケーション層のパケットフィルタ処理の機能とのいずれかを含むことを特徴とする請求項１２に記載のデバイス制御装置の制御方法。
【請求項１４】
前記フィルタドライバは、前記ＭＡＣアドレスフィルタ処理で廃棄されなかったパケットを、フィルタドライバ内部でネットワークプロトコルの上位のネットワーク層のパケットフィルタ処理、トランスポート層のパケットフィルタ処理、アプリケーション層のパケットフィルタ処理の順に送信して、ＭＡＣアドレスフィルタでフィルタを掛け終わった前記パケットについても上位の各フィルタ処理を行うことを特徴とする請求項１３に記載のデバイス制御装置の制御方法。
【請求項１５】
前記デバイス制御装置が、前記パケットフィルタ処理のフィルタルールを設定するためのユーザインタフェースを更に有し、
前記フィルタドライバは、前記ユーザインタフェースを介してユーザが入力したフィルタルールに基づいて、フィルタ処理を行なうことを特徴とする請求項１２又は１３に記載のデバイス制御装置の制御方法。
【請求項１６】
前記ユーザインタフェースはユーザが入力したフィルタルールをファイルとして保持するルールファイル保持工程を有し、
前記フィルタドライバは、前記保持されたフィルタルールのファイルに基づいてフィルタ処理を行なうことを特徴とする請求項１５に記載のデバイス制御装置の制御方法。
【請求項１７】
前記フィルタドライバは、デバイス制御装置が送出したパケットか否かを監視するパケット監視工程を有し、
前記パケット監視工程で、前記フィルタドライバが受信したパケットをデバイス制御装置が送信したパケットと判断した場合は、前記フィルタ処理を行わずにパケットを上位のスタックへ送信することを特徴とする請求項１２に記載のデバイス制御装置の制御方法。
【請求項１８】
前記パケット監視工程は、
前記パケットのパケットヘッダ部の情報を保持するパケットヘッダ保持工程と、
前記フィルタドライバがパケットを受信した場合、前記パケットヘッダ保持工程で保存したパケットヘッダを参照して、前記パケットをデバイス制御装置が送信したと判断するパケット判断工程とを有することを特徴とする請求項１７に記載のデバイス制御装置の制御方法。
【請求項１９】
前記デバイス制御装置が、ＩＰマスカレードを使用した転送機能を有し、前記転送機能を実現するプログラムを持ち、前記フィルタドライバと前記プログラムはそれぞれが単体で動作可能であることを特徴とする請求項１２に記載のデバイス制御装置の制御方法。
【請求項２０】
前記転送機能の実行前に、前記フィルタドライバの処理を実行することを特徴とする請求項１９に記載のデバイス制御装置の制御方法。
【請求項２１】
前記転送機能を実現するプログラムは、ユーザインタフェースからユーザが入力した転送設定情報を受信して、転送処理を切り替えることを特徴とする請求項１９又は２０に記載のデバイス制御装置の制御方法。
【請求項２２】
前記デバイス装置はプリント機能及び／又はスキャン機能を有する画像形成装置であることを特徴とする請求項１２乃至２１のいずれか１つに記載のデバイス制御装置の制御方法。
【請求項２３】
請求項１２乃至２２のいずれか１つに記載のデバイス制御装置の制御方法を実現するコンピュータ実行可能なプログラム。
【請求項２４】
請求項２３に記載のプログラムをコンピュータ読出し可能な形態で記憶する記憶媒体。
【請求項２５】
周辺装置であるデバイス装置と、該デバイス装置の動作を指示するクライアント端末と、少なくとも２つのネットワークインタフェースを介して前記クライアント端末とデバイス装置とに接続されるデバイス制御装置とを有するデバイス制御ネットワークシステムであって、
前記デバイス制御装置が、ネットワークセキュリティ機能であるパケットフィルタ機能を実現するフィルタドライバを有し、
前記フィルタドライバは、前記デバイス制御装置が受信したいずれのネットワークパケットに対してもパケットフィルタ処理を行って、該パケットフィルタ処理を終了したネットワークパケットを通信プロトコルに対応する上位のスタックに出力することを特徴とするデバイス制御ネットワークシステム。
【請求項２６】
前記フィルタドライバのパケットフィルタ機能は、ＭＡＣアドレスフィルタ処理の機能と、ネットワーク層のパケットフィルタ処理の機能と、トランスポート層のパケットフィルタ処理の機能と、アプリケーション層のパケットフィルタ処理の機能とを含み、
前記フィルタドライバは、前記ＭＡＣアドレスフィルタ処理で廃棄されなかったパケットを、フィルタドライバ内部でネットワークプロトコルの上位のネットワーク層のパケットフィルタ処理、トランスポート層のパケットフィルタ処理、アプリケーション層のパケットフィルタ処理の順に送信して、ＭＡＣアドレスフィルタでフィルタを掛け終わった前記パケットについても上位の各フィルタ処理を行うことを特徴とする請求項２５に記載のデバイス制御ネットワークシステム。
【請求項２７】
周辺装置であるデバイス装置と、該デバイス装置の動作を指示するクライアント端末と、少なくとも２つのネットワークインタフェースを介して前記クライアント端末とデバイス装置とに接続されるデバイス制御装置とを有するデバイス制御ネットワークシステムにおけるネットワークセキュリティー方法であって、
前記デバイス制御装置が、ネットワークセキュリティ機能であるパケットフィルタ機能を実現するフィルタドライバを有し、
前記フィルタドライバは、前記デバイス制御装置が受信したいずれのネットワークパケットに対してもパケットフィルタ処理を行って、該パケットフィルタ処理を終了したネットワークパケットを通信プロトコルに対応する上位のスタックに出力することを特徴とするネットワークセキュリティー方法。
【請求項２８】
前記フィルタドライバのパケットフィルタ機能は、ＭＡＣアドレスフィルタ処理の機能と、ネットワーク層のパケットフィルタ処理の機能と、トランスポート層のパケットフィルタ処理の機能と、アプリケーション層のパケットフィルタ処理の機能とを含み、
前記フィルタドライバは、前記ＭＡＣアドレスフィルタ処理で廃棄されなかったパケットを、フィルタドライバ内部でネットワークプロトコルの上位のネットワーク層のパケットフィルタ処理、トランスポート層のパケットフィルタ処理、アプリケーション層のパケットフィルタ処理の順に送信して、ＭＡＣアドレスフィルタでフィルタを掛け終わった前記パケットについても上位の各フィルタ処理を行うことを特徴とする請求項２７に記載のネットワークセキュリティー方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデバイス制御装置及びそのネットワークセキュリティー方法に関する。例えば、ネットワークデバイスとして画像形成装置が接続された印刷制御装置及びこれを含むネットワークシステムにおける、印刷制御装置のネットワークセキュリティならびにネットワークパケット転送に関するものである。
【背景技術】
【０００２】
スキャナから入力される画像データを印刷するプリンタを備え、更に、通信インタフェースを備え、外部の機器、例えばホストコンピュータ等と通信してプリントジョブを受信可能な画像形成装置、いわゆる複合機が実用化されている。又、スキャナでスキャンしたデータをネットワーク上のコンピュータのハードディスクなどに直接保存する機能も実用化されてきている。更に、ホストコンピュータから複合機のスキャナにスキャンを実行させ、直接ホストコンピュータのハードディスクに保存する機能も実用化されてきている。
【０００３】
又、ネットワーク上のクライアントから、複合機の状態（アイドル状態やエラー状態など）をネットワーク上のホストコンピュータ上で取得したり、機器の設定を行ったりする機能も備えている。
【０００４】
このように、複合機が多種多様なネットワーク機能を実用化していることで、複合機は常にネットワークに接続され、ネットワークから送信されたデータにより様々な動作を行う。
【０００５】
他方で、ネットワーク上のホストコンピュータを使用しているユーザの全てが正常な方法で使用するユーザとは限らず、不正な方法で複合機を攻撃するユーザが存在することがある。そのため、このようなユーザから複合機を守る技術が必要である。又、ネットワーク上の制限事項を設け、ある一定の人のみに使用させたい場合もある。例えば、部内専用の複合機であり、部外のユーザに使用させたくない場合などである。
【０００６】
このようなユーザのニーズから、ネットワークフィルタ機能が実現されてきている。ホストとなるクライアントＰＣに割り当てられているアドレスを使用してパケット送信した場合に、複合機は受信したパケットの中に制限を掛けたアドレスが存在していた場合は、すぐに通信を終了して、制限されたユーザからの通信を全て破棄する。このように、ユーザの不正使用から複合機を守るフィルタ機能の仕組みが実現されている。現在、ＭＡＣアドレス、ＩＰ、ＩＰＰｏｒｔのフィルタ機能を実現する複合機が開発されている。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、複合機に制御装置が付属した複合機システムにおいては、制御装置は複合機と外部ネットワークとの間に接続され、複合機は外部のネットワークに直接接続されなくなる。すなわち、制御装置が複合機の代わりに外部のネットワークに直接接続されるので、制御装置も複合機が保持しているフィルタ機能と同等の機能を実現できる必要がある。これは、制御装置が接された場合、ユーザにとってはセキュリティレベルが複合機だけの状態より低くなったことを意味する。
【０００８】
そこで、従来は、制御装置にも複合機と同様のフィルタ機能を搭載し、制御装置において、ＭＡＣアドレスフィルタ、ＩＰフィルタ、ＩＰＰｏｒｔフィルタの機能を実現していた。しかし、従来のＭＡＣアドレスフィルタにおいては、ＩＰパケットのみにＭＡＣアドレスのフィルタが実現でき、ＩＰ以外のプロトコル(ＩＰＸやＡｐｐｌｅｔａｌｋなど)には全く効果がない。従って、ＭＡＣアドレスフィルタをかけたはずのＭＡＣアドレスでも、フィルタをされずに通信が正常に終了する不完全なものとなっていた。
【０００９】
尚、上記説明では、画像形成装置あるいは複合機を例に説明したが、上記問題は、ネットワークセキュリティーを必要とするネットワークデバイスに該ネットワークデバイスを制御する制御装置が接続する環境においても発生する問題である。
【００１０】
本発明は、制御装置がネットワークデバイスに接続された環境において、制御装置のネットワークフィルタのセキュリティがネットワークデバイスと比較して低いこと、ネットワークフィルタの機能が完全でない問題点を解決するものである。
【００１１】
本発明により、制御装置が接続された状態においても、ネットワークセキュリティのフィルタ機能において、ＭＡＣアドレスによる全パケットのフィルタ機能を実現するデバイス制御装置及びそのネットワークセキュリティー方法を提供する。更に、ＭＡＣアドレスフィルタ後のパケットフィルタを全プロトコルにおいて実現するデバイス制御装置及びそのネットワークセキュリティー方法を提供する。
【課題を解決するための手段】
【００１２】
かかる課題を解決するために、本発明のデバイス制御装置は、ネットワーク及びデバイス装置と接続されるデバイス制御装置であって、ネットワークセキュリティ機能であるパケットフィルタ機能を実現するフィルタドライバを有し、前記フィルタドライバは、前記デバイス制御装置が受信したいずれのネットワークパケットに対してもパケットフィルタ処理を行って、該パケットフィルタ処理を終了したネットワークパケットを通信プロトコルに対応する上位のスタックに出力することを特徴とする。
【００１３】
ここで、前記フィルタドライバのパケットフィルタ機能は、ＭＡＣアドレスフィルタ処理の機能と、ネットワーク層のパケットフィルタ処理の機能と、トランスポート層のパケットフィルタ処理の機能と、アプリケーション層のパケットフィルタ処理の機能とのいずれかを含む。また、前記フィルタドライバは、前記ＭＡＣアドレスフィルタ処理で廃棄されなかったパケットを、フィルタドライバ内部でネットワークプロトコルの上位のネットワーク層のパケットフィルタ処理、トランスポート層のパケットフィルタ処理、アプリケーション層のパケットフィルタ処理の順に送信して、ＭＡＣアドレスフィルタでフィルタを掛け終わった前記パケットについても上位の各フィルタ処理を行う。また、前記パケットフィルタ処理のフィルタルールを設定するためのユーザインタフェースを更に有し、前記フィルタドライバは、前記ユーザインタフェースを介してユーザが入力したフィルタルールに基づいて、フィルタ処理を行なう。また、前記ユーザインタフェースはユーザが入力したフィルタルールをファイルとして保持するルールファイル保持手段を有し、前記フィルタドライバは、前記保持されたフィルタルールのファイルに基づいてフィルタ処理を行なう。また、前記フィルタドライバは、デバイス制御装置が送出したパケットか否かを監視するパケット監視手段を有し、前記パケット監視手段が、前記フィルタドライバが受信したパケットをデバイス制御装置が送信したパケットと判断した場合は、前記フィルタ処理を行わずにパケットを上位のスタックへ送信する。また、前記パケット監視手段は、前記パケットのパケットヘッダ部の情報を保持するパケットヘッダ保持手段と、前記フィルタドライバがパケットを受信した場合、前記パケットヘッダ保持手段により保存したパケットヘッダを参照して、前記パケットをデバイス制御装置が送信したと判断するパケット判断手段とを有する。また、前記デバイス制御装置は、ＩＰマスカレードを使用した転送機能を有し、前記転送機能を実現するプログラムを持ち、前記フィルタドライバと前記プログラムはそれぞれが単体で動作可能である。また、前記転送機能の実行前に、前記フィルタドライバの処理を実行する。また、前記転送機能を実現するプログラムは、ユーザインタフェースからユーザが入力した転送設定情報を受信して、転送処理を切り替える。また、前記デバイス装置はプリント機能及び／又はスキャン機能を有する画像形成装置である。
【００１４】
又、本発明のデバイス制御装置の制御方法は、ネットワーク及びデバイス装置と接続されるデバイス制御装置の制御方法であって、前記デバイス制御装置が、ネットワークセキュリティ機能であるパケットフィルタ機能を実現するフィルタドライバを有し、前記フィルタドライバは、前記デバイス制御装置が受信したいずれのネットワークパケットに対してもパケットフィルタ処理を行って、該パケットフィルタ処理を終了したネットワークパケットを通信プロトコルに対応する上位のスタックに出力することを特徴とする。
【００１５】
ここで、前記フィルタドライバのパケットフィルタ機能は、ＭＡＣアドレスフィルタ処理の機能と、ネットワーク層のパケットフィルタ処理の機能と、トランスポート層のパケットフィルタ処理の機能と、アプリケーション層のパケットフィルタ処理の機能とのいずれかを含む。また、前記フィルタドライバは、前記ＭＡＣアドレスフィルタ処理で廃棄されなかったパケットを、フィルタドライバ内部でネットワークプロトコルの上位のネットワーク層のパケットフィルタ処理、トランスポート層のパケットフィルタ処理、アプリケーション層のパケットフィルタ処理の順に送信して、ＭＡＣアドレスフィルタでフィルタを掛け終わった前記パケットについても上位の各フィルタ処理を行う。また、前記デバイス制御装置が、前記パケットフィルタ処理のフィルタルールを設定するためのユーザインタフェースを更に有し、前記フィルタドライバは、前記ユーザインタフェースを介してユーザが入力したフィルタルールに基づいて、フィルタ処理を行なう。また、前記ユーザインタフェースはユーザが入力したフィルタルールをファイルとして保持するルールファイル保持工程を有し、前記フィルタドライバは、前記保持されたフィルタルールのファイルに基づいてフィルタ処理を行なう。また、前記フィルタドライバは、デバイス制御装置が送出したパケットか否かを監視するパケット監視工程を有し、前記パケット監視工程で、前記フィルタドライバが受信したパケットをデバイス制御装置が送信したパケットと判断した場合は、前記フィルタ処理を行わずにパケットを上位のスタックへ送信する。また、前記パケット監視工程は、前記パケットのパケットヘッダ部の情報を保持するパケットヘッダ保持工程と、前記フィルタドライバがパケットを受信した場合、前記パケットヘッダ保持工程で保存したパケットヘッダを参照して、前記パケットをデバイス制御装置が送信したと判断するパケット判断工程とを有する。また、前記デバイス制御装置が、ＩＰマスカレードを使用した転送機能を有し、前記転送機能を実現するプログラムを持ち、前記フィルタドライバと前記プログラムはそれぞれが単体で動作可能である。また、前記転送機能の実行前に、前記フィルタドライバの処理を実行する。また、前記転送機能を実現するプログラムは、ユーザインタフェースからユーザが入力した転送設定情報を受信して、転送処理を切り替える。また、前記デバイス装置はプリント機能及び／又はスキャン機能を有する画像形成装置である。
【００１６】
更に、上記デバイス制御装置の制御方法を実現するコンピュータ実行可能なプログラム、及び該プログラムをコンピュータ読出し可能な形態で記憶する記憶媒体を提供する。
【００１７】
又、本発明のデバイス制御ネットワークシステムは、周辺装置であるデバイス装置と、該デバイス装置の動作を指示するクライアント端末と、少なくとも２つのネットワークインタフェースを介して前記クライアント端末とデバイス装置とに接続されるデバイス制御装置とを有するデバイス制御ネットワークシステムであって、前記デバイス制御装置が、ネットワークセキュリティ機能であるパケットフィルタ機能を実現するフィルタドライバを有し、前記フィルタドライバは、前記デバイス制御装置が受信したいずれのネットワークパケットに対してもパケットフィルタ処理を行って、該パケットフィルタ処理を終了したネットワークパケットを通信プロトコルに対応する上位のスタックに出力することを特徴とする。
【００１８】
ここで、前記フィルタドライバのパケットフィルタ機能は、ＭＡＣアドレスフィルタ処理の機能と、ネットワーク層のパケットフィルタ処理の機能と、トランスポート層のパケットフィルタ処理の機能と、アプリケーション層のパケットフィルタ処理の機能とを含み、前記フィルタドライバは、前記ＭＡＣアドレスフィルタ処理で廃棄されなかったパケットを、フィルタドライバ内部でネットワークプロトコルの上位のネットワーク層のパケットフィルタ処理、トランスポート層のパケットフィルタ処理、アプリケーション層のパケットフィルタ処理の順に送信して、ＭＡＣアドレスフィルタでフィルタを掛け終わった前記パケットについても上位の各フィルタ処理を行う。
【００１９】
又、本発明のネットワークセキュリティー方法は、周辺装置であるデバイス装置と、該デバイス装置の動作を指示するクライアント端末と、少なくとも２つのネットワークインタフェースを介して前記クライアント端末とデバイス装置とに接続されるデバイス制御装置とを有するデバイス制御ネットワークシステムにおけるネットワークセキュリティー方法であって、前記デバイス制御装置が、ネットワークセキュリティ機能であるパケットフィルタ機能を実現するフィルタドライバを有し、前記フィルタドライバは、前記デバイス制御装置が受信したいずれのネットワークパケットに対してもパケットフィルタ処理を行って、該パケットフィルタ処理を終了したネットワークパケットを通信プロトコルに対応する上位のスタックに出力することを特徴とする。
【００２０】
ここで、前記フィルタドライバのパケットフィルタ機能は、ＭＡＣアドレスフィルタ処理の機能と、ネットワーク層のパケットフィルタ処理の機能と、トランスポート層のパケットフィルタ処理の機能と、アプリケーション層のパケットフィルタ処理の機能とを含み、前記フィルタドライバは、前記ＭＡＣアドレスフィルタ処理で廃棄されなかったパケットを、フィルタドライバ内部でネットワークプロトコルの上位のネットワーク層のパケットフィルタ処理、トランスポート層のパケットフィルタ処理、アプリケーション層のパケットフィルタ処理の順に送信して、ＭＡＣアドレスフィルタでフィルタを掛け終わった前記パケットについても上位の各フィルタ処理を行う。
【発明の効果】
【００２１】
本発明は、制御装置がネットワークデバイスに接続された環境において、制御装置のネットワークフィルタのセキュリティがネットワークデバイスと比較して低いこと、ネットワークフィルタの機能が完全でない問題点を解決するものである。
【００２２】
かかる本発明により、制御装置が接続された状態においても、ネットワークセキュリティのフィルタ機能において、不完全であったＭＡＣアドレスフィルタを完全に実現することが可能となった。よって、本発明により、ＭＡＣアドレスによる全パケットのフィルタ機能を実現することが出来る。更に、ＭＡＣアドレスフィルタ後のパケットフィルタを全プロトコルにおいて実現することが可能である。
【００２３】
又、制御装置自身が送信したパケットに対して、フィルタ機能を適用することなくいつでも受信可能なため、フィルタにより制御装置自身の送信するデータに制限が無い構成を実現できる。例えば、印刷制御装置のように、画像形成装置の前に接続されて、印刷制御装置で受信したパケットを画像形成装置に送信するＩＰマスカレードの構成を使用する場合においても、転送するパケットのフィルタも可能である。且つ、画像形成装置が送信したパケットに関しては、フィルタを掛けることを行うことも行わないことも出来る構成を実現できる。
【発明を実施するための最良の形態】
【００２４】
以下、添付図面を参照して、本発明の実施形態を詳細に説明する。尚、本実施形態では、プリント機能及びスキャン機能を有する画像形成装置（複合機）に接続する印刷制御装置を例にその構成及び動作を説明する。しかし、本発明の技術は、かかる構成に限定されず、ネットワークセキュリティーを必要とするネットワークデバイスとその制御装置に適用される。
【００２５】
＜本実施形態の概要＞
本実施形態では、ＩＰパケット以外のパケット全てに関して、ＭＡＣアドレスフィルタを実現する。又、これらのフィルタは、印刷制御装置が送信したパケットについてはフィルタルールを除外するように実装する。更に、印刷制御装置では、画像形成装置に対する通信が印刷制御装置に送信された場合、画像形成装置に転送を行う仕組みを実現しており、この仕組みにもＭＡＣアドレスフィルタや、その他のプロトコルによるフィルタをかける必要がある。更に、ＭＡＣアドレスフィルタでフィルタルールに合致したパケットに関しては、その次のネットワークレベルのフィルタルールに合致するかを確認できるように、フィルタを実装する必要がある。例として、ＭＡＣアドレスフィルタのみのフィルタにならずに、ＭＡＣアドレスフィルタを通過した場合はＩＰフィルタを行ない、ＩＰフィルタを通過した場合はＩＰＰＯＲＴフィルタを行う。
【００２６】
＜本実施形態の印刷制御装置を含む印刷システムの構成例＞
図１は、本実施形態の印刷制御装置を含む印刷システムの接続図である。
【００２７】
図１の印刷システムは、ＬＡＮ５００１に接続されるクライアント端末５００９と、印刷制御装置２０１を介してＬＡＮ５００１に接続される画像形成装置５００７（本例では、スキャナを搭載する複合機）とを含む。
【００２８】
印刷制御装置２０１は、コネクタ２０２によりＬＡＮ５００１に接続され。コネクタ２０３により内部ＬＡＮ２０４及びネットワークインタフェース５００８を介して画像形成装置５００７に接続される。
【００２９】
クライアント端末５００９は汎用パーソナルコンピュータ（ＰＣ）でよく、ＬＡＮ５００１，印刷制御装置２０１及び内部ＬＡＮ２０４を介して、画像形成装置５００７に対してコマンドを送り、プリント制御やスキャン制御を指示する。
【００３０】
＜本実施形態の印刷制御装置の構成例＞
図２Ａは、印刷制御装置２０１の概略構成例を示すブロック図である。
【００３１】
図２Ａにおいて、２０２及び２０３は前述のコネクタである。１０１は、図１のＬＡＮ５００１との低位レイヤレベルの接続を司る第１のネットワークインタフェースとしてのＮＩＣ(Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ)部である。１０２は、受信したＰＤＬ等の印刷言語あるいは特定の（ＪＢＩＧなどで圧縮された）データフォーマットをラスタイメージ化するためのＲＩＰ処理部である。１０３は、ラスタイメージ化されたデータを画像形成装置５００７がサポートする形式の印刷データあるいはデータフォーマットに変換するためのエンコード部である。１０４は、内部ＬＡＮ２０４との低位レイヤレベルの接続を司る第２のネットワークインタフェースとしてのＮＩＣ部である。
【００３２】
１０５は、ＮＩＣ部１０１で受信した印刷データを一時的に保管（スプール）しておくためのハードディスクドライブ（ＨＤＤ）部である。１０６は、ＲＩＰ部１０２が画像展開処理に利用するための第１メモリ部である。
【００３３】
１０７は、印刷制御装置全体の制御を司るＣＰＵ部である。１０８は、ＣＰＵ部１０７がデータ一時保存領域として利用する第２メモリ部である。１０９は、ボタンやキー、タッチパネル等を有し、印刷制御装置のオペレーションを行うための操作部１１０である。１１０は、オペレータに画像や文字によって情報を伝えるための表示部である。尚、ＣＰＵ部１０７は、ＨＤＤ部１０５に記憶されたプログラムを第２メモリ部１０８にロードして実行することで、装置の制御を司る。又、ＣＰＵ部１０７がプログラムを格納するＲＯＭなどを有してもよい。
【００３４】
尚、図２Ａでは、ＣＰＵ部１０７と他の処理部を分離して示したが、他の処理部がＣＰＵ部１０７の実行するプログラムにより、その全部あるいは一部が実現される構成でもよい。
【００３５】
（クライアント端末から印刷制御装置へのデータパケット送信手順）
クライアント端末５００９から印刷制御装置２０１へのデータパケットは、ＬＡＮ５００１を伝搬され、コネクタ２０２を介して印刷制御装置２０１へ取り込まれる。印刷制御装置２０１の内部においては、ＮＩＣ部１０１によってデータパケットの受信処理が行われる。ＮＩＣ部１０１で受信したデータパケットは、ＴＣＰ/ＩＰプロトコルに準じたデータパケット(ＴＣＰ或いはＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）パケットが使われている)である場合、パケットのヘッダ情報部に宛先ポート番号が含まれている。
【００３６】
宛先ポート番号は、パケットを受け取った装置のどのプログラム／プロセスにデータを送るべきかを示す情報であるため、通信プロトコルやプログラム毎に異なるポート番号が割り振られている。例えば、ＦＴＰ(Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ)＝Ｐｏｒｔ２１, ＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ Ｐｒｏｔｏｃｏｌ）＝Ｐｏｒｔ２５, ＳＮＭＰ＝Ｐｏｒｔ１６１）とする。そのため、受信したデータパケットのヘッダに含まれるポート番号を調査して印刷処理に対応するポート番号かどうかを判定することによって、そのパケットが印刷データなのか制御データ等他のデータなのかを判定することが可能である。本実施形態において第１の判断手段としても機能するＮＩＣ部１０１は、受信したデータパケットのヘッダから宛先ポート番号を抽出して、宛先ポート番号に基づいてデータパケットが印刷データなのか、制御データなのかを判定する。
【００３７】
もしここで印刷データと判定された場合は、ＣＰＵ部１０７の制御により、必要に応じてＨＤＤ部１０５へ受信データの書き込みが行われる。これはデータの転送速度を向上させること等を目的として一般的に行われているキューイング（スプール）である。ＨＤＤ部１０５に記憶されたデータは、ＣＰＵ部１０７の指示によってＲＩＰ処理部１０２から読み出される。一方、キューイングが行われなかった印刷データは、ＣＰＵ部１０７の指示によって直接ＲＩＰ処理部１０２へ転送される。
【００３８】
こうしてＲＩＰ処理部１０２へ送られた印刷データは、ＲＩＰ処理部１０２でラスタイメージ化処理が行われる。続いて、第２の判定手段及びデータ形式変換手段として機能するエンコード部１０３で、予め設定されている画像形成装置５００７が解釈可能なデータ形式と、受信したデータの形式とに基づいて、画像形成装置５００７が解釈可能なデータ形式へのエンコードが行われる。尚、画像形成装置５００７が解釈可能なデータ形式は、通信によって画像形成装置５００７から取得したもの、操作部１０９から指定された等によるものでもよい。このエンコード処理は必要に応じて行われるため、受信した印刷データの形式がそのままでも画像形成装置５００７で解釈可能な場合など、エンコードの必要がなければスキップしてもよい。エンコード後のデータは画像形成装置が解釈可能な形式である必要がある。例えばその形式は、特定の印刷言語形式や、又はＪＢＩＧ等特定の方法で圧縮されたデータフォーマット等、画像形成装置５００７が内蔵する解釈手段の能力によって変化する。
【００３９】
こうして必要に応じてエンコードされたデータは、内部ＬＡＮ２０４へ送信するために第１の出力手段としても機能するＮＩＣ部２０４によって再びデータパケット化され、コネクタ２０３から送出される。データパケットは、内部ＬＡＮ２０４及びネットワークインタフェース５００８を介して画像形成装置５００７へ送られる。このデータパケットを受信した画像形成装置５００７は、自身が有する印刷処理手順に則り、紙などの記録媒体への印刷処理を行う。
【００４０】
（画像形成装置からクライアント端末へのデータパケット送信手順）
画像形成装置５００７からクライアント端末５００９へ、スキャナからスキャンした画像データを送信する場合、ネットワークインタフェース５００８よりデータパケットが内部ＬＡＮ２０４に送出され、コネクタ２０３に到達する。データパケットを受信した印刷制御装置２０１では、データパケットの宛先を判断する。クライアント端末５００９宛てのデータパケットである場合、コネクタ２０２よりＬＡＮ５００１へ送出され、クライアント端末５００９にデータパケットが到達する。  
（印刷制御装置の記憶構成例）
図２Ｂは、図２ＡのＨＤＤ１０５又は第２メモリ部１０８に記憶されるプログラム及びデータの構成例を示す図である。尚、図２Ｂには、本実施形態に関連深いプログラム及びデータのみを示し、他は省略している。
【００４１】
２０００は本印刷制御装置の基礎的な制御を行なうシステムプログラムである。かかるシステムプログラム２０００には、以下のプログラムが含まれる。２００１はＯＳなどの基礎プログラムである。２００２はＬＡＮ５００１を介してクライアント端末５００９と通信し、内部ＬＡＮ２０４を介して画像形成装置５００７と通信するための通信制御プログラムである。２００３は画像データを処理する画像データ処理プログラムである。クライアント端末５００９より受信した画像データから画像形成装置５００７へ送信する画像データへの画像処理を行なう。あるいは、画像形成装置５００７のスキャナから受信した画像データからクライアント端末５００９へ送信する画像データへの画像処理を行なう。
【００４２】
２００４はユーザインタフェースを制御するユーザインタフェース・プログラムである。本例では、後述のルール設定プログラム（図５参照）に従って、ユーザと対話しながらフィルタルールの設定を行なう。２００５は本実施形態の各種フィルタを実現するフィルタドライバ・プログラムである。後述の図１２に、本実施形態の主要部分が示されている。２００６はその他のシステムプログラムであり、例えば図４に示す画像形成装置５００７へのデータ転送を制御するＦＯＲＷＡＲＤなどが含まれる。
【００４３】
２０１０は本印刷制御装置の動作のためのアプリケーションプログラムである。かかるアプリケーションプログラムには、例えば図４における「フィルタドライバ５０４」と「ＦＯＲＷＡＲＤ」を除くプログラムが含まれてよい。
【００４４】
２０２０は各フィルタのデフォルトルールを記憶する領域である。２０２１はユーザによりユーザインタフェースを介して設定された設定ルールファイルである。設定ルールファイル２０２１には、ＭＡＣアドレスファイル、ネットワーク層ファイル、トランスポート層ファイル、転送ルールファイル等が含まれる。２０２２は現在の使用フィルタルール及びルールに合致したか否かを示すフィルタルールフラグである。
【００４５】
以上の各プログラム及びデータは、ＨＤＤ部１０５に記憶される。一方、以下のプログラム及びデータは第２メモリ部１０８に記憶領域が確保される。尚、フィルタルールフラグ２０２２は第２メモリ部１０８に確保されてもよい。
【００４６】
２０３０はＮＩＣ部１０１又は１０４で受信した受信パケットの記憶領域である。２０３１は受信パケットが画像データを含む場合の受信画像データの記憶領域である。２０３２はＮＩＣ部１０１又は１０４で送信する送信パケットの記憶領域である。２０３３は送信パケットが画像データを含む場合の送信画像データの記憶領域である。
【００４７】
２０４０はＣＰＵ部１０７が実行するためにＨＤＤ１０５からロードするプログラムを記憶するプログラムロード領域である。
【００４８】
＜本実施形態の画像形成装置の構成例＞
図３は、画像形成装置５００７の構成例を示すブロック図である。
【００４９】
図３において、本実施形態の画像形成装置は、画像形成装置本体３０１と画像入出力制御部３０５で構成される。
【００５０】
画像形成装置本体３０１は、操作部３０２、リーダ部（スキャナ）３０３、プリンタ部３０４から構成される。操作部３０２は、画像形成装置本体３０１及び画像入出力制御部３０５を操作するために使用する。リーダ部３０３は、原稿の画像を読み取り、原稿画像に応じた画像データをプリンタ部３０４及び画像入出力制御部３０５へ出力する。プリンタ部３０４は、リーダ部３０３及び画像入出力制御部３０５からの画像データに応じた画像を記録紙上に記録する。
【００５１】
画像入出力制御部３０５は、リーダ部３０３に接続されており、インタフェース部３０６、画像メモリ３０７、制御部３０８、ハードディスク（ＨＤＤ）３０９から構成される。インタフェース部に５００８が接続されている。
【００５２】
なお、ハードディスク（ＨＤＤ）３０９には、画像形成装置の設定が保存されている（例えばアドレス帳、操作履歴、ユーザ設定、ＩＤ設定、ネットワーク設定）。
【００５３】
インタフェース部３０６は、印刷制御装置２０１と制御部３０８の間のインタフェースである。このインタフェース部３０６は、印刷制御装置２０１から転送された画像を表すコードデータをプリンタ部３０４で記録できる画像データに展開して制御部３０８に渡す。なお、インタフェース部３０６は、イーサネット（登録商標）等のネットワークインタフェースであって、印刷制御装置２０１とネットワークを介して接続される構成であってもよい。又、パラレルインタフェース，ＵＳＢインタフェース等のインタフェースであって、印刷制御装置２０１とインタフェースケーブル等を介して直接接続される構成であってもよい。
【００５４】
制御部３０８は、ＣＰＵ，ＲＯＭ，ＲＡＭ等により構成される。この制御部３０８のＣＰＵがＲＯＭ又は他の記憶媒体に格納されたプログラムをＲＡＭ上にロードして実行し、リーダ部３０３，インタフェース部３０６，画像メモリ３０７等のそれぞれの間のデータの流れを制御する。なお、ＨＤＤ３０９の代わりに、電源を落としてもデータが消去されないその他の不揮発性メモリを設けて、該不揮発性メモリにデータを保存しておく構成であってもよい。
【００５５】
＜本実施形態の印刷制御装置の動作例＞
（動作の概観）
図４は、本実施形態の印刷制御装置の動作例の概観を示した図である。図４の各構成要素は基本的にはソフトウエアモジュールに対応し、図の下から上に階層構造に構成されている。印刷制御装置での受信パケットは、図の下から上に渡される。
【００５６】
印刷制御装置５０１に、ユーザがＭＡＣアドレスフィルタの情報を入力する。かかるユーザからの情報入力については、図５乃至図１１を参照して以下に説明される。本実施形態では、ＭＡＣアドレスフィルタを行う場合は、許可のみを登録することが出来、許可していないものを全てを拒否する設定ルールで、説明を行う。この設定ルールについては、許可と拒否どちらとも登録可能にしてもよいし、デフォルトルール（許可、禁止）を用意して、登録していないものはデフォルトルールに従う形式にしてもよい。
【００５７】
図４のＮＩＣ５０３にて、受信したパケットは、フィルタドライバ５０４に送信される。フィルタドライバ５０４では、印刷制御装置２０１のユーザインタフェースからユーザが設定したフィルタ情報を出力したファイル５０２から、フィルタ情報を予め取得している。このフィルタ設定により、ルールに適応しないパケットは破棄して上部へ送信しない。上部に送信可能なパケットのみ、ＲＡＷレベル受信部５０５に送信される。
【００５８】
ＲＡＷレベル受信部５０５では、ユーザ空間にあるＲＡＷレベルアプリケーション５０６に送信するべきパケットを送信する。ＲＡＷレベルアプリケーション５０６の前にフィルタを掛けることによって、ユーザ空間上のＲＡＷレベルアプリケーション５０６にも、同じフィルタルールでパケットをフィルタすることができる。
【００５９】
ＲＡＷレベル受信部５０５は、次の振り分け部５０７に送信する。振り分け部５０７では、ネットワーク層のプロトコルによってそれぞれ上位のプロトコルスタックに割り振る。ＩＰＸの場合は、ＩＰＸプロトコルスタック５０８に伝達され、ユーザ空間上のＩＰＸアプリ５０９に送信される。又、Ａｐｐｌｅｔａｌｋだった場合は、Ａｐｐｌｅｔａｌｋプロトコルスタック５１０に送信され、ユーザ空間上のＡｐｐｌｅｔａｌｋのアプリ５１１に送信される。その他のネットワークプロトコルに関しても同様であり、ＩＰＸなどのフィルタについても既にフィルタドライバでフィルタ処理を行っており、フィルタドライバより上位のプロトコルスタックやアプリでフィルタを行う必要は無い。
【００６０】
ＩＰの場合は、ＩＰプロトコルスタック５１２に送信される。ＩＰプロトコルスタック５１２は、ＦＯＲＷＡＲＤ部５１３へ送信する。ＦＯＲＷＡＲＤ部５１３は、ＩＰマスカレードにより画像形成装置５００７へ転送すべきパケットかどうかを判別する。この画像形成装置５００７に転送するパケットの判断は、ユーザがユーザインタフェースから設定した転送情報を取得して、ＯＳに転送情報を設定しておく。そのため、ＩＰパケットで画像形成装置５００７に転送すべきパケットの場合は、Ｐｏｒｔ部５１４に送信するのでなく、画像形成装置５００７に転送する。画像形成装置５００７に転送すべきパケットでない場合は、Ｐｏｒｔ部５１４に送信され、Ｐｏｒｔ部５１４では、ユーザ空間のアプリケーション５１５にパケットを送信する。
【００６１】
従来は、５１２，５０８，５１０の階層にて、ＭＡＣ／ＩＰ／ＩＰＰＯＲＴのそれぞれのフィルタを掛ける仕組みだったため、ＭＡＣアドレスフィルタはＩＰプロトコルスタック５１２にきたパケットにしか効かない。又、ユーザ空間のＲＡＷレベルアプリケーション５０６には、ＭＡＣ／ＩＰ／ＩＰＰＯＲＴのいずれのフィルタも効かないので、各ＲＡＷレベルアプリケーション５０６内にそれぞれフィルタを実装していた。
【００６２】
これに対して、図４の本実施形態の構成によれば、フィルタドライバ５０４で各階層のフィルタをすませるので、ＭＡＣアドレスフィルタを全ての受信パケットにかけられると共に、上位階層のためのフィルタも同時にかけられる。
【００６３】
ここで、フィルタドライバ５０４は、ＯＳ（図２Ｂの２００１）にバイパスのように組み込むように構成する。すなわち、ＮＩＣ５０３から上位に流れていく経路の前に、フィルタドライバ５０４を通るように組み込む。具体的には、例えばWindows（登録商標）の場合は、NDISという層とIPスタックの間にフィルタドライバ５０４をHookingすることで実現する。又、Linuxの場合には、ＮＩＣ５０３のドライバからパケットを取得した直後にCallされる関数の呼び先を、フィルタドライバ５０４に変更することで実現する。
【００６４】
（フィルタルールの設定手順例）
図５は、図４では５０２で示したユーザインタフェースからのフィルタルールの設定手順例を示すフローチャートである。すなわち、ユーザによるＭＡＣアドレスの登録から、ＭＡＣアドレスフィルタにユーザが設定したルールが有効になるまでのフローである。
【００６５】
ステップＳ１０００にて、ユーザは、ＭＡＣアドレスフィルタのルールを追加するため、ＭＡＣアドレスフィルタの対象となるホストコンピュータ（クライアント端末）のＭＡＣアドレスを、印刷制御装置のユーザインタフェースから入力する。ユーザが使用するユーザインタフェースについては、ユーザがＭＡＣアドレスを入力するための実施形態を図６以降の表示画面例を用いて説明する。
【００６６】
ステップＳ１００１で、ユーザから入力された値をファイルにする。ファイルにすることで、図４のように、パケットフィルタを行うフィルタドライバ５０４やＦＯＲＷＡＲＤするプログラム５１３に、この情報を伝達することが出来る。  （ルールファイルの例）
ファイルの一例を図１１に示す。ファイルには、まず、デフォルトルールを記す。本例では、ＭＡＣアドレスフィルタに設定された場合はルールは許可になるため、"ｐｅｒｍｉｔ"と記す。もし、拒否になる場合は"ｄｒｏｐ"と書き、最後にデフォルトルールを記述してもよい。ルールを記述した後、ユーザがユーザインタフェースから設定したＭＡＣアドレスの情報を羅列する。図１１では、ＭＡＣアドレスに特化している。しかし、ＩＰアドレスや、ＩＰＰＯＲＴフィルタ、Ａｐｐｌｅフィルタ、ＩＰＸフィルタなどの他のフィルタ設定も、ＭＡＣアドレスフィルタと同様の手順で可能である。しなわち、ユーザインタフェースからユーザにより入力された値をファイルにする。
【００６７】
図５のフローチャートに説明を戻す。ステップＳ１００２にて、ファイルが生成されたことを確認し、ファイルの内容を確認する。作成されたファイルの内容が正常である場合、ステップＳ１００３へ進む。内容が正常でない場合はユーザに報知し、ファイルを修正するようにしても良い。
【００６８】
ステップＳ１００３にて、生成されたファイルからＭＡＣアドレスルール情報を抽出して、フィルタドライバ５０４へ伝達する。上述のように、フィルタドライバ５０４はＯＳの中に配置され、ＮＩＣ５０３のドライバの上部に配置され、ＮＩＣ５０３に伝達されたパケットを次に取得する。ＭＡＣアドレスフィルタ以外のフィルタ（ＩＰフィルタ、ＩＰＰＯＲＴフィルタ、ＩＰＸフィルタなど）に関しても同様にルールファイルを作成し、フィルタドライバ５０４に伝達する（割り込み処理を使用する）。このフィルタドライバ５０４で全てのネットワークフィルタを有効にする。フィルタドライバ５０４は、パケットのフィルタを専門に行うプログラムであり、設定ファイルが存在しないとき（ファイルの中が空だった場合なども）には動作を停止することも可能とする。
【００６９】
ステップＳ１００４にて、フィルタドライバ５０４は、ステップＳ１００３にて伝達されたＭＡＣアドレスのルール情報を使用して、受信したパケットに対してＭＡＣアドレスフィルタを開始する。
【００７０】
本実施形態ではＭＡＣアドレスフィルタに特化して説明したが、受信したネットワークパケットの全ての情報にて、フィルタを掛けることが可能である。実施形態としては、ＭＡＣアドレスフィルタ同様、ユーザインタフェースからユーザが入力したフィルタ情報を取得して、フィルタドライバ５０４にこのルールを伝達する。フィルタドライバ５０４では、取得したパケットからルールにマッチするものを通過、ルールにマッチしないものを破棄させることで、対応が可能である。例としてマルチキャストパケットフィルタや、ＩＰｖ６フィルタ、ｈｔｔｐのＣｏｏｋｉｅフィルタなどが考えられる。
【００７１】
各フィルタのルールの適応順番は、ＭＡＣアドレスフィルタ、ネットワーク層のプロトコル（ＩＰ、ＩＰＸ、ＡＰＰＬＥＴＡＬＫなど）、トランスポート層のプロトコルという、ＯＳＩの低い階層から高い階層に行う（図１２参照）。よって、ＭＡＣアドレスフィルタでフィルタできなかったパケットを、ＩＰフィルタでフィルタを行うことも可能である。
【００７２】
（フィルタルール設定のユーザインタフェース例）
図５のステップＳ１０００でフィルタルールを入力するためのユーザインタフェースの表示画面例を図６乃至図１０に示す。
【００７３】
図６は、ＭＡＣアドレスフィルタの設定メイン画面６０１である。設定メイン画面６０１は、追加ボタン６０２、削除ボタン６０３、編集ボタン６０４、閉じるボタン６０５から構成される。
【００７４】
追加ボタン６０２を押下すると、ＭＡＣアドレスフィルタのルールに新たなＭＡＣアドレスを追加することが出来る。このとき、予め設けられているＭＡＣアドレスの登録最大値にＭＡＣアドレスの登録数が到達していた場合は、登録がこれ以上できないため、登録できないことをユーザに通知するダイアログ等を表示しても良い。又、登録数が最大値に到達していた場合は、追加ボタンを押下できないようにしたり、グレーアウトしたりしても良い。更には、設定メイン画面６０１が表示されたときに、最大数に達したことを通知しても良い。
【００７５】
追加ボタン６０２を押下すると、図７のＭＡＣアドレスフィルタの追加画面７０１へ遷移する。追加画面７０１は、ＭＡＣアドレス表示領域７０２、０−９，ａ−ｆ及び右左矢印のボタン群７０３、ＯＫボタン７０４、キャンセルボタン７０５から構成される。ユーザは、ボタン群７０３のいずれかを押下することで、ＭＡＣアドレス表示領域７０２に、各ボタンに示された値を入力することが出来る。入力を誤った場合などに入力値を変更したい時は、左右の矢印ボタンを押下することで、入力場所を変更することが出来る。本例では値の入力方法は上書きの形式になっているが、既に入力された文字を削除するボタンを用意してもかまわない。ＭＡＣアドレス表示領域７０２に対象となるＭＡＣアドレスを入力した後、ＯＫボタン７０４を押下することで図６へ戻り、入力したＭＡＣアドレスを、ＭＡＣアドレスフィルタする条件として登録することが出来る。このとき、ＭＡＣアドレスとして適切でない値が入力された場合は、入力が不正であることをユーザに伝えるためにダイアログ等を表示して、追加画面７０１に留まる。あるいは、設定メイン画面６０１に遷移しても良い。キャンセルボタン７０５を押下することで、ＭＡＣアドレスフィルタの追加画面７０１から登録せずに図６の設定メイン画面６０１戻ることが出来る。
【００７６】
図６の削除ボタン６０３を押下することで、ユーザは登録していたＭＡＣアドレスのフィルタルールを削除することが出来る。削除ボタン６０３を押下すると、図８のＭＡＣアドレスの削除画面８０１に遷移する。もしＭＡＣアドレス情報が何も設定されていない場合は、登録されていないことをユーザに通知するダイアログを表示しても良いし、削除画面８０１の表示時にＭＡＣアドレスルールを表示する場所に何も表示しない方法でも良い。図８の削除画面８０１は、登録済みＭＡＣアドレス表示領域８０２と、ＯＫボタン８０３と、キャンセルボタン８０４から構成される。ユーザは、登録済みＭＡＣアドレス表示領域８０２から削除を希望するアドレスを選択し、ＯＫボタン８０３を押下することでアドレスを削除することが出来る。削除後は、アドレスを削除したことを通知するダイアログ等を表示してもよい。削除が終わると、図６の設定メイン画面６０１へ戻る。削除をせずに終了する場合は、キャンセルボタン８０４を押下することで、削除をなしに図６の設定メイン画面６０１へ戻る。
【００７７】
ユーザが入力されたＭＡＣアドレスを変更した場合には、図６で編集ボタン６０４を押下する。編集ボタン６０４を押下したときに、もしＭＡＣアドレス情報が何も設定されていない場合は、登録されていないことをユーザに通知するダイアログを表示してもよい。編集ボタン６０４を押下すると、図９のＭＡＣアドレスの編集画面９０１が表示される。編集画面９０１は、登録済みＭＡＣアドレス表示領域９０２と、ＯＫボタン９０３と、キャンセルボタン９０４から構成される。ユーザは、登録済みＭＡＣアドレス表示領域９０２から編集を希望するアドレスを選択し、ＯＫボタン９０３を押下することで、図１０のアドレス編集画面１００１へ遷移する。
【００７８】
図１０のアドレス編集画面１００１は、ＭＡＣアドレス表示領域１００２、０−９，ａ−ｆ及び右左矢印のボタン群１００３、ＯＫボタン１００４、キャンセルボタン１００５から構成される。ユーザは、ボタン群１００３のいずれかを押下することで、ＭＡＣアドレス表示領域１００２に各ボタンに示された値を入力することが出来る。入力を編集する場合や入力値を変更したい場合は、左右の矢印ボタンを押下することで、入力場所を変更することが出来る。本例では値の入力方法は上書きの形式になっているが、既に入力された文字を削除するボタンを用意してもかまわない。ＭＡＣアドレス表示領域１００２に対象となるＭＡＣアドレスを入力した後、ＯＫボタン１００４を押下することで、図６へ戻る。ここで、図９へ遷移するボタンを設けて、連続で繰返し編集が可能なようにしてもかまわない。
【００７９】
図９にて編集をせずに終了する場合は、キャンセルボタン９０４を押下することで、図６の設定メイン画面６０１へ削除をなしに遷移する。本例の説明では、ＭＡＣアドレスに特化している。しかし、ＩＰアドレスや、ＩＰＰＯＲＴフィルタ、Ａｐｐｌｅフィルタ、ＩＰＸフィルタなどの他のフィルタ設定に関しても、同様の手順で、ユーザインタフェースから値を設定することが可能である。
【００８０】
図６でＭＡＣアドレスの入力作業が終了すると、ユーザは、閉じるボタン６０５を押下することで、ＭＡＣアドレスの入力画面を終了させることが出来る。登録、削除、編集を繰り返すことで、ユーザはＭＡＣアドレスフィルタのフィルタルールを入力することができる。
【００８１】
（フィルタドライバの動作手順例）
次に、図１２のフローチャートに従って、フィルタドライバ５０４の概略動作手順例を説明する。
【００８２】
フィルタドライバ５０４が起動するとパケットの受信を始める。パケットを受信するとステップＳ２０００へ遷移する。ステップＳ２０００では、パケットを受信した場合にフィルタ設定が有効であるかどうかを確認し、有効であった場合にステップＳ２００１に遷移する。有効で無い場合は上部へ転送し再度パケットの受信を行う（図示無し）。
【００８３】
ステップＳ２００１では、受信したパケットが印刷制御装置２０１自身が送信したパケットであるかを確認する。確認方法は次のようである。印刷制御装置２０１自身が送信したパケットを送信時に常に監視するプログラムが、フィルタドライバ内もしくは他の場所に存在する。そして、このプログラムが、独自の印刷制御装置２０１の送信パケットテーブルを作成し、このテーブルに印刷制御装置２０１が送信したパケットを登録する。この登録された送信パケットのテーブル上のデータは、一定時間がたつとフラッシュされる。又、送信パケットが同じアプリケーションによるものであり、同じ通信先であった場合は、テーブル上のデータをフラッシュする時間を延長更新する。ステップＳ２００１では、このテーブルを確認して、印刷制御装置が送信したパケットに関する通信先ノードによるリプライパケットだった場合、ステップＳ２００６へ遷移してフィルタせずに上位に送信する。上位とは、図４のＲＡＷレベルパケット取得部５０５のことである。
【００８４】
印刷制御装置２０１自身が送信したパケットで無かった場合は、ステップＳ２００２でＭＡＣアドレスフィルタ部へ送信される。ステップＳ２００２では、受信パケットのＭＡＣアドレスをユーザにより設定されたＭＡＣアドレスのルール情報と比較する。ＭＡＣアドレスのフィルタルールと合致しなかった場合はステップＳ２００３に遷移し、受信したパケットを廃棄してこの受信パケットの通信ノードとの通信を遮断する。その後、次のパケットの受信処理を待つ。
【００８５】
ＭＡＣアドレスフィルタのルールと合致した場合は、ステップＳ２００４に遷移し、ネットワーク部のパケットフィルタを行う。ステップＳ２００４では、受信パケットのネットワーク部のアドレスをユーザにより設定されたネットワーク層のアドレスルール情報と比較する。ネットワーク層のアドレスのフィルタルールと合致しない場合はステップＳ２００３に遷移し、受信したパケットを廃棄して、この受信したパケットの通信ノードとの通信を遮断する。その後、次のパケットの受信処理を待つ。
【００８６】
ネットワーク層のアドレスフィルタのルールと合致した場合はステップＳ２００５に遷移し、トランスポート部のフィルタを行う。ステップＳ２００５では、受信パケットのトランスポート部のアドレスをユーザにより設定されたトランスポート層のアドレスのルール情報と比較する。トランスポート層のフィルタルールと合致しない場合はステップＳ２００３に遷移し、受信したパケットを廃棄しこの受信したパケットの通信ノードとの通信を遮断する。その後、次のパケットの受信処理を待つ。
【００８７】
トランスポート層のアドレスフィルタのルールと合致した場合はステップＳ２００６に遷移し、受信したパケットを上位に送信する。すなわち、上位に送信した場合は、全てのフィルタのルールにマッチしたものであり、このパケットを送信したノードとの通信はフィルタしないことを意味する。もし、アプリケーション層のフィルタやユーザが独自のフィルタを設定した場合は、ステップＳ２００１とＳ２００６の間に、この独自フィルタ部をフィルタを掛けたい順番にルールを挿入すれば、同様に実現する。その他の層においても同様であり、フィルタのルールをＯＳＩに従った形で実現すればよい。尚、ここではＯＳＩに従った形で実現する方法を述べたが、独自の順番でフィルタのかかる順番を作成しても良い。
【００８８】
ステップＳ２００６で上位に送信した後にはリターンし、次のパケットの受信処理を待つ。
【００８９】
尚、本実施形態では、プリント機能及びスキャン機能を有する画像形成装置（複合機）に接続する印刷制御装置を例にその構成及び動作を説明した。しかし、本発明の技術は、かかる構成に限定されず、ネットワークセキュリティーを必要とするネットワークデバイスとその制御装置に適用されるものであり、同様の効果を奏する。
【００９０】
また、本発明の目的は、実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給してもよい。その場合、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成される。
【００９１】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００９２】
また、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷを用いることができる。また、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【００９３】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される。しかし、それ以外にも、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００９４】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００９５】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現される。これ以外にも、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳなどが実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も、本発明に含まれることは言うまでもない。
【００９６】
この場合、上記プログラムは、該プログラムを記憶した記憶媒体から直接、又はインターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続された不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。
【００９７】
上記実施の形態では、画像形成装置の印刷方式を電子写真方式とした場合を例に挙げたが、本発明は、電子写真方式に限定されるものではなく、インクジェット方式、熱転写方式、感熱方式、静電方式、放電破壊方式など各種印刷方式に適用することができる。
【００９８】
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、ＯＳ（オペレーティングシステム）に供給されるスクリプトデータ等の形態から成ってもよい。
【図面の簡単な説明】
【００９９】
【図１】本実施形態の印刷制御装置が接続する印刷システムを示す図である。
【図２Ａ】本実施形態の印刷制御装置の構成例を示すブロック図である。
【図２Ｂ】本実施形態の印刷制御装置の記憶構成例を示す図である。
【図３】本実施形態の画像形成装置の構成例を示すブロック図である。
【図４】本実施形態の印刷制御装置のフィルタ実装例を説明する図である。
【図５】本実施形態の印刷制御装置のフィルタ生成及び起動の手順例を示すフローチャートである。
【図６】ＭＡＣアドレスフィルタの操作部のメイン画面例を示す図である。
【図７】ＭＡＣアドレスフィルタを追加する操作部の画面例を示す図である。
【図８】ＭＡＣアドレスフィルタを削除する操作部の画面例を示す図である。
【図９】ＭＡＣアドレスフィルタを編集する操作部の画面例を示す図である。
【図１０】ＭＡＣアドレスフィルタを編集する操作部の画面例を示す図である。
【図１１】フィルタルールを記述したファイルの例を示す図である。
【図１２】印刷制御装置のフィルタドライバの動作手順例を示すフローチャートである。
【図１】
2007329876.tif 000003
【図２Ａ】
2007329876.tif 000004
【図２Ｂ】
2007329876.tif 000005
【図３】
2007329876.tif 000006
【図４】
2007329876.tif 000007
【図５】
2007329876.tif 000008
【図６】
2007329876.tif 000009
【図７】
2007329876.tif 000010
【図８】
2007329876.tif 000011
【図９】
2007329876.tif 000012
【図１０】
2007329876.tif 000013
【図１１】
2007329876.tif 000014
【図１２】
2007329876.tif 000015