(57)【要約】【課題】  既存の印刷装置の追加機能能力を提供する通信装置において、ＩＰＳｅｃを適用した通信を印刷装置もしくは通信装置に適切に振り分けることが出来ない。【解決手段】  通信装置において、通信装置のアプリケーションおよび印刷装置からの送信パケットを、通信装置に設定されたポリシーに基づいてＩＰＳｅｃ適用パケットに変換してネットワーク上に送信する。また、ネットワーク上から受信したＩＰＳｅｃ適用パケットを、前記ポリシーに基づいてＩＰＳｅｃ非適用パケットに変換した後、当該パケットを通信装置のアプリケーションおよび印刷装置にいずれか適切な相手に転送する。 【選択図】  図１
2009032074.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置に装着される通信装置において、
セキュア通信を行うためのポリシーを設定する設定手段と、
前記通信装置のアプリケーションもしくは印刷装置から非セキュアパケットを渡された場合に、
前記ポリシーに基づいて前記非セキュアパケットをセキュアパケットに変換するエンコード手段と、
前記セキュアパケットをネットワークに送出する送信手段と、
ネットワークからセキュアパケットを受信した際に、
前記ポリシーに基づいて前記セキュアパケットを非セキュアパケットに変換するデコード手段と、
前記デコードした非セキュアパケットを通信装置のアプリケーションと印刷装置のいずれに振り分けるかを判定する判定手段と、
前記判定手段の結果に基づいて、通信装置のアプリケーションと印刷装置のいずれか適切な相手に前記非セキュアパケットを転送する転送手段と、
を有することを特徴とする通信装置。
【請求項２】
前記印刷装置はセキュア通信に非対応であることを更に特徴とする請求項１に記載の通信装置。
【請求項３】
前記印刷装置は、
セキュア通信手段と、
起動時に前記通信装置が装着されているかどうかを判断する装置判断手段と、
前記通信装置が装着されていた場合に、自身が備えるセキュア通信機能を無効にするセキュア通信無効化手段と、
を更に備えることを特徴とする請求項１に記載の通信装置。
【請求項４】
前記セキュア通信はＩＰＳｅｃを用いた通信であり、前記セキュアパケットはＩＰＳｅｃが適用されたパケットであることを特徴とする請求項１乃至請求項３のいずれか1項に記載の通信装置。
【請求項５】
印刷装置に装着される通信装置において、
セキュア通信を行うためのポリシーを設定する設定手段と、
印刷装置から非セキュアパケットを渡された場合に、
前記非セキュアパケットパケットをセキュアパケットに変換するかどうかを上記ポリシーに基づいて判断するエンコード判定手段と、
前記エンコード判定手段の結果、セキュアパケットに変換すると判断した場合に、前記ポリシーに基づいて前記非セキュアパケットパケットをセキュアパケットに変換するエンコード手段と、
前記セキュアパケットをネットワーク上に送出するセキュアパケット送信手段と、
前記エンコード判定手段の結果、セキュアパケットに変換しないと判断した場合に、前記非セキュアパケットをネットワーク上に送出する非セキュアパケット送信手段と、
ネットワークからパケットを受信した場合に、
前記パケットがセキュアパケットであるかどうかを判定するセキュアパケット判定手段と、
前記判定の結果セキュアパケットであった場合に、前記ポリシーに基づいて前記セキュアパケットを非セキュアパケットに変換するデコード手段と、
前記非セキュアパケットを印刷装置に渡す転送手段と、
を有することを特徴とする通信装置。
【請求項６】
前記印刷装置はセキュア通信に非対応であることを更に特徴とする請求項５に記載の通信装置。
【請求項７】
前記印刷装置は、
セキュア通信手段と、
起動時に前記通信装置が装着されているかどうかを判断する装置判断手段と、
前記通信装置が装着されていた場合に、自身が備えるセキュア通信機能を無効にするセキュア通信無効化手段と、
を備えることを更に特徴とする請求項５に記載の通信装置。
【請求項８】
前記セキュア通信はＩＰＳｅｃを用いた通信であり、前記セキュアパケットはＩＰＳｅｃが適用されたパケットであることを特徴とする請求項５乃至請求項７のいずれか１項に記載の通信装置。
【請求項９】
請求項１乃至請求項８のいずれか１項に記載の通信装置を制御することを特徴とするプログラム。
【請求項１０】
請求項９に記載のプログラムを記憶していることを特徴とする、コンピュータにより読取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、接続インターフェイスを介して既存の印刷装置と接続可能な、既存の印刷装置のための所望の追加機能性を備える通信装置及びその通信制御方法に関するものである。
【背景技術】
【０００２】
ビジネス・オフィス環境をサポートするためのネットワークなどの大規模ネットワーク環境においては、しばしば、異なる機能能力を有する、異なるタイプおよび世代の多数の印刷装置が存在していることがある。この場合、例えば、ネットワーク環境におけるいくつかのより新しい印刷装置はセキュア・プリンティングをサポートしているのに、そのネットワーク環境に存在するより古い印刷装置はセキュア・プリンティングをサポートしていないという状態が生じ得る。
【０００３】
この問題に対する解決手法として、接続インターフェイスを介して既存の印刷装置と接続可能な、既存の印刷装置のための所望の追加機能性を備えるインテリジェント型ネットワークカードデバイスを用いるという手法が提案されている。
【０００４】
この場合、印刷装置本体とネットワークカードデバイスは個々にＣＰＵを持ったインテリジェントな形態であり、通常ネットワークカードデバイス側にネットワーク経由での各種プリントサービスの統括制御を行うプリントサーバ機能を備えている。そして、印刷装置とネットワークカードデバイスは接続インターフェイスを介して通信を行ない、所望のサービスを実装している。
【０００５】
ここで、上記のネットワークカードデバイスは、上記の印刷装置と同じネットワークアドレス(例えばＩＰアドレス)を使用してネットワーク上の通信端末と通信を行なうことを特徴とする。このことは、ネットワーク上に存在する他の通信端末から見た場合、印刷装置とネットワークカードデバイスとがネットワーク上に存在するただ１つの通信端末として認識されることを意味している。これにより、ネットワークカードデバイス側に備えられたプリントサーバ機能などのサービスが、あたかも印刷装置本体に追加拡張されたサービスであるかのように振舞うことを可能としている。
【０００６】
これを可能にするためネットワークカードデバイスは、物理インターフェイスよりデータを受信した際に、その受信データをデバイスに備えられたプロトコルスタックと印刷装置に備えられたプロトコルスタックのいずれか適切な方に振り分ける機能を有する。前記振り分け機能は、ネットワークカードデバイスに備えられたプロトコルスタックと物理インターフェイスを制御するドライバとの間の層に位置し、具体的には以下の処理を行う。まず、物理インターフェイスのドライバより受信データを渡されると、その受信データのヘッダ情報を先読みして、送信先ネットワーク・アドレスや送信先ポート番号などの送信先ネットワーク情報を取得する。次に、ネットワークカードデバイスに備えられたプロトコルスタックがオープン中であるソケットのソケット情報を取得する。そして、前記送信先ネットワーク情報と一致するネットワーク・アドレスやポート番号などのネットワーク情報でオープン中のソケットが存在するかどうかを検索する。検索の結果、一致するソケットが存在する場合は、その受信データをネットワークカードデバイス自身に備えられているプロトコルスタックに振り分ける。一致するソケットが存在しない場合には、受信データを接続インターフェイスを介して印刷装置に転送する。特許文献１を参照。
【特許文献１】特開２００５−０３８０１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
近年、ネットワーク上におけるセキュリティ管理について必要性が高まってきており、特に、暗号化通信によるセキュリティ管理の必要性が高まってきている。
【０００８】
現在、セキュリティ管理のプロトコル（セキュリティプロトコル）として幾つかのプロトコルが存在している。その中でＩＰＳｅｃプロトコル(IP Security Protocol)は、通信データを暗号化する仕組み、通信相手を認証する仕組みをＩＰ（Internet Protocol）レベルで実現している。そのため、上位のプロトコルに依存することなく利用でき、非常に注目されている。
【０００９】
上記印刷装置に関しても、ＩＰＳｅｃに対応しようとする動きが検討されつつある。しかしながら、上述のとおり、ＩＰＳｅｃではＩＰレベルで暗号化を行うため、もしも印刷装置がＩＰＳｅｃを適用した通信をネットワーク上の端末と行う場合に不具合が生じる。具体的には、ネットワークカードデバイスの前記振り分け機能において、振り分け判断の材料としているネットワーク・アドレスやポート番号などのネットワーク情報を取得することが出来なくなる。
【００１０】
結果として、印刷装置でＩＰＳｅｃを有効にした場合、ネットワークカードデバイスは使用不可能となってしまう。あるいは、印刷装置にネットワークカードデバイスを装着して使用する場合には、ＩＰＳｅｃを用いたセキュアな通信を行うことが出来ないという制限が生じてしまう。
【課題を解決するための手段】
【００１１】
本発明は上記問題点に鑑みてなされたものであり、本発明の一態様に係る通信装置は以下のような構成を備える。即ち、印刷装置に装着される通信装置において、セキュア通信を行うためのポリシーを設定する設定手段と、
前記通信装置のアプリケーションもしくは印刷装置から非セキュアパケットを渡された場合に、前記ポリシーに基づいて前記非セキュアパケットをセキュアパケットに変換するエンコード手段と、
前記セキュアパケットをネットワークに送出する送信手段と、
ネットワークからセキュアパケットを受信した際に、前記ポリシーに基づいて前記セキュアパケットを非セキュアパケットに変換するデコード手段と、
前記デコードした非セキュアパケットを通信装置のアプリケーションと印刷装置のいずれに振り分けるかを判定する判定手段と、
前記判定手段の結果に基づいて、通信装置のアプリケーションと印刷装置のいずれか適切な相手に前記非セキュアパケットを転送する転送手段と、
を有することを特徴とする。
【００１２】
本発明の一態様に係る通信装置は以下のような構成を備える。即ち、前記印刷装置はセキュア通信に非対応であることを更に特徴とする。
【００１３】
本発明の一態様に係る通信装置は以下のような構成を備える。即ち、前記印刷装置は、セキュア通信手段を備え、
起動時に前記通信装置が装着されているかどうかを判断する装置判断手段と、
前記通信装置が装着されていた場合に、自身が備えるセキュア通信機能を無効にするセキュア通信無効化手段と、
を備えることを更に特徴とする。
【００１４】
本発明の一態様に係る通信装置は以下のような構成を備える。即ち、前記セキュア通信はＩＰＳｅｃを用いた通信であり、前記セキュアパケットはＩＰＳｅｃが適用されたパケットであることを特徴とする。
【００１５】
本発明の一態様に係る通信装置は以下のような構成を備える。即ち、印刷装置に装着される通信装置において、
セキュア通信を行うためのポリシーを設定する設定手段と、
印刷装置から非セキュアパケットを渡された場合に、
前記非セキュアパケットパケットをセキュアパケットに変換するかどうかを上記ポリシーに基づいて判断するエンコード判定手段と、
前記エンコード判定手段の結果、セキュアパケットに変換すると判断した場合に、前記ポリシーに基づいて前記非セキュアパケットパケットをセキュアパケットに変換するエンコード手段と、
前記セキュアパケットをネットワーク上に送出するセキュアパケット送信手段と、
前記エンコード判定手段の結果、セキュアパケットに変換しないと判断した場合に、前記非セキュアパケットをネットワーク上に送出する非セキュアパケット送信手段と、
ネットワークからパケットを受信した場合に、前記パケットがセキュアパケットであるかどうかを判定するセキュアパケット判定手段と、
前記判定の結果セキュアパケットであった場合に、前記ポリシーに基づいて前記セキュアパケットを非セキュアパケットに変換するデコード手段と、
前記非セキュアパケットを印刷装置に渡す転送手段と、
を有することを特徴とする。
【００１６】
本発明の一態様に係る通信装置は以下のような構成を備える。即ち、前記印刷装置はセキュア通信に非対応であることを更に特徴とする。
【００１７】
本発明の一態様に係る通信装置は以下のような構成を備える。即ち、前記印刷装置は、セキュア通信手段を備え、
起動時に前記通信装置が装着されているかどうかを判断する装置判断手段と、
前記通信装置が装着されていた場合に、自身が備えるセキュア通信機能を無効にするセキュア通信無効化手段と、
を更に備えることを特徴とする。
【００１８】
本発明の一態様に係る通信装置は以下のような構成を備える。即ち、前記セキュア通信はＩＰＳｅｃを用いた通信であり、前記セキュアパケットはＩＰＳｅｃが適用されたパケットであることを特徴とする
【発明の効果】
【００１９】
本発明によれば、通信装置において、ＩＰＳｅｃを用いたパケットに関しても上記振り分け処理を行うことが可能となる。それにより、印刷装置側には一切手を加えることなく、印刷装置および通信装置がネットワーク上の端末とＩＰＳｅｃを用いたセキュアな通信を行うことが可能となる。
【発明を実施するための最良の形態】
【００２０】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。
【００２１】
尚、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【実施例１】
【００２２】
図１は、本発明の実施の形態に係る印刷装置（プリンタ）１０００の構成を説明するブロック図である。このプリンタ１０００は、内部で大きく分けて、ネットワークカードデバイス１５００とプリンタコントローラ１６００とからなる制御系を司る機器で構成されている。
【００２３】
まずネットワークカードデバイス１５００の構成について説明する。ネットワークカードデバイス用ＣＰＵ１は、書き換え可能なフラッシュメモリ（FlashROM）３に記憶された制御プログラムに基づいて、システムバス４に接続される各部の動作を制御している。ネットワークコントローラ（ＬＡＮＣ）５は、ローカルエリアネットワーク（ＬＡＮ）２０００に接続されたホストコンピュータ等の複数の外部装置（不図示）と所定のネットワーク通信プロトコルを用いて通信を行う。具体的には、ＬＡＮＣ５はＬＡＮ２０００上の外部装置と、外部装置から送られる印刷データやプリンタ制御命令等の各種データの送受信を行う。拡張インターフェイスコントローラ（ＥＸＰＣ）７は、拡張インターフェイス１７を介して接続されているプリンタコントローラ１６００との間でデータの送受信を行う。ＲＡＭ２はＣＰＵ１の主メモリとして使用され、ＣＰＵ１による制御処理時に、ワークエリア等の一時記憶領域として用いられる。ＬＥＤ６は、ネットワークカードデバイス１５００の動作状態を示す表示部として用いられている。例えばＬＡＮＣ５とＬＡＮ２０００との電気的な接続状態（LINK）やネットワーク通信モード（10Baseや100Base、全二重、半二重）等の各種動作状態を、このＬＥＤ６の点滅パターンや色で表示することができる。更に、このネットワークカードデバイス１５００とプリンタコントローラ１６００を繋ぐ拡張インターフェイス１７は、図示しないコネクタで構成されており、ネットワークカードデバイス１５００のみが着脱される。それにより、同じ構成を持つ別のプリンタ１０００にネットワークカードデバイス１５００を装着することも可能な構成となっている。
【００２４】
次にプリンタコントローラ１６００の構成について説明する。プリンタコントローラ用ＣＰＵ８は、制御プログラムやリソースデータ（資源情報）等に基づいて、システムバス１１に接続される各種デバイスとのアクセスを統括的に制御している。なお、上記制御プログラムやリソースデータ（資源情報）は、ＲＯＭ９や、或はディスクコントローラ（ＤＫＣ）１５を介して接続された外部メモリ１０に記憶されている。拡張インターフェイスコントローラ（ＥＸＰＣ）１３は、インターフェイス１７を介してネットワークカードデバイス１５００から供給される印刷データを受信する。ラスタコントローラ１２は、その印刷データを基に画像情報を生成し、プリントエンジン１６に対して画像信号を出力する。ＣＰＵ８の主メモリ、ワークエリア等として機能するＲＡＭ１４は、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。操作パネル（操作部）１８は、プリンタ１０００の動作モード等の設定や印刷データの取り消し等の操作を行うためのボタン、及びプリンタ１０００の動作状態を示す液晶パネルやＬＥＤ等の表示部を有している。尚、プリントエンジン１６は、既知の印刷技術を利用するものであり、好適な実施系として例えば電子写真方式（レーザービーム方式）やインクジェット方式、昇華（熱転写）方式等が挙げられる。
【００２５】
図２は、本発明の実施形態に係る通信システムを適用したネットワークシステムの構成例を示す図である。図２に示すように、ネットワークシステムは、図1のプリンタ１０００やパーソナル・コンピュータ（以下、ＰＣ）２０００といった各機器を有し構成され、各機器がＬＡＮ２０００を介して互いに通信可能なように接続されている。
【００２６】
図２に示すネットワークシステムにおいては、プリンタ１０００にＩＰアドレス：１９２．１６８．１．１００が、ＰＣ２０００にＩＰアドレス：１９２．１６８．１．２００がそれぞれ割り振られているものとする。
【００２７】
プリンタ１０００は図1で説明したとおり、ネットワークカードデバイス１５００とプリンタコントローラ１６００とで構成されている。図2において、ネットワークカードデバイス１５００とプリンタコントローラ１６００は、それぞれ非同期に、ＩＰアドレス：１９２．１６８．１．１００を使用して、ＰＣ２０００と通信を行っているものとする。
【００２８】
この時、ネットワークカードデバイス１５００は自身が備えるＬＡＮＣ５を用いてＬＡＮ２０００にデータを送信し、あるいはＬＡＮ２０００から流れてくるデータを受信する。一方、プリンタコントローラ１６００は自身が送信したいデータをインターフェイス１７を介してネットワークカードデバイス１５００に転送する。また、インターフェイス１７を介してネットワークカードデバイス１５００から転送されてきたデータを受信する。プリンタコントローラ１６００の送受信データを実際にＬＡＮ２０００に対して送信あるいは受信しているのはネットワークカードデバイス１５００である。
【００２９】
図３は、本発明の実施形態に好適なネットワークカードデバイス１５００に記憶された制御プログラム内のソフトウェア構成を説明するブロック図である。
【００３０】
１５０１はアプリケーションである。アプリケーション１５０１にはネットワークカードデバイス１５００の管理系アプリケーションや、プリンタ１０００の印刷制御アプリケーションなど様々なものがある。１５０２はプロトコルスタックであり、プリンタコントローラ１６００との通信や、ＬＡＮ２０００を介したネットワーク上の端末との通信を行う。プロトコルスタック１５０２の内部には受信処理を行う受信処理部１５０３と、送信処理を行う送信処理部１５０４とが存在する。
【００３１】
受信処理部１５０３は更に、ＩＰＳｅｃ受信判定処理部１５０５、ＩＰＳｅｃデコード処理部１５０６、振り分け処理部１５０７を内包している。ＩＰＳｅｃ受信判定処理部１５０５は受信したデータがＩＰＳｅｃが適用されたデータであるかどうかを判定する。ＩＰＳｅｃデコード処理部１５０６は受信したＩＰＳｅｃ適用データをＩＰＳｅｃ適用前のデータにデコードする処理を行う。振り分け処理部１５０７は受信したデータを、プロトコルスタック１５０２の上位層に渡すか、プリンタコントローラ１６００に渡すかの判定を行い、判定結果に基づいてデータを転送する。
【００３２】
送信処理部１５０４は、ＩＰＳｅｃ送信判定処理部１５０８、ＩＰＳｅｃエンコード処理部１５０９を内包している。ＩＰＳｅｃ送信判定処理部１５０８は、プロトコルスタック１５０２の上位層もしくはプリンタコントローラ１６００から渡された送信データにＩＰＳｅｃを適用するかどうか判定する。ＩＰＳｅｃエンコード処理部１５０９は、ＩＰＳｅｃ送信判定処理部１５０８においてＩＰＳｅｃを適用すると判断されたデータをＩＰＳｅｃ適用データにエンコードする処理を行う。
【００３３】
図４は本発明の実施形態に係るＩＰＳｅｃの適用方法に関するポリシーを定めたＩＰＳｅｃポリシーテーブル４００である。なお、ＩＰＳｅｃポリシーテーブル４００はネットワークカードデバイス１５００のＦｌａｓｈＲＯＭ６に記憶されている。また、ＩＰＳｅｃポリシーテーブル４００は操作パネル（操作部）１８を介してプリンタ１０００のユーザもしくはネットワーク管理者などが登録・変更および削除を行うことが可能である。
【００３４】
上述のＩＰＳｅｃ受信判定処理部１５０５およびＩＰＳｅｃ送信判定処理部１５０８は、判定を行う際に、受信（送信）データに含まれるヘッダ情報とＩＰＳｅｃポリシーテーブル４００の内容を比較参照する。また、ＩＰＳｅｃデコード処理部１５０６およびＩＰＳｅｃエンコード処理部１５０９は、ＩＰＳｅｃポリシーテーブル４００に設定されている内容に従ってパケットのデコード（エンコード）処理を行う。
【００３５】
ＩＰＳｅｃポリシーテーブル４００は以下より構成される。
【００３６】
送信元ＩＰアドレス４０１にはＩＰＳｅｃ適用データの送信元となるＩＰアドレスを登録する。本実施例においては、送信元ＩＰアドレス４０１にはプリンタ１０００のＩＰアドレスである１９２．１６８．３．１００がすでに設定されているものとする。
【００３７】
送信元ポート番号４０２にはＩＰＳｅｃ適用データの送信元となるポート番号を登録する。本実施例においては、送信元ポート番号４０２には、全ての送信元ポートに対してＩＰＳｅｃを適用させることを表す“ＡＮＹ”がすでに設定されているものとする。
【００３８】
送信先ＩＰアドレス４０３にはＩＰＳｅｃ適用データの送信先となるＩＰアドレスを登録する。本実施例においては、送信先ＩＰアドレス４０１にはＰＣ２０００のＩＰアドレスである１９２．１６８．３．２００がすでに設定されているものとする。
【００３９】
送信先ポート番号４０４にはＩＰＳｅｃ適用データの送信先となるポート番号を登録する。本実施例においては、送信先ポート番号４０４には、全ての送信先ポートに対してＩＰＳｅｃを適用させることを表す“ＡＮＹ”がすでに設定されているものとする。
【００４０】
ＩＰＳｅｃプロトコル４０５には使用するプロトコルを登録する。本実施例においては、ＩＰＳｅｃプロトコル４０５には、IPパケットのデータを暗号化するプロトコルであるＥＳＰがすでに設定されているものとする。この他にＩＰＳｅｃプロトコル４０５に設定可能なものとしては、IPパケットに認証ヘッダを付加するプロトコルであるＡＨが存在する。ＥＳＰとＡＨは同時に設定することも可能である。
【００４１】
アルゴリズム４０６には使用するアルゴリズムを登録する。本実施例においては、アルゴリズム４０６には、暗号アルゴリズムの１つである３ＤＥＳがすでに設定されているものとする。この他にアルゴリズム４０６に設定可能なものとしては、暗号アルゴリズムとしてはＤＥＳやＡＥＳなどが、認証アルゴリズムとしてはＭＤ５やＳＨＡ１などが存在する。
【００４２】
双方向４０７はデータ転送が可能な方向を示すものであり、ＯＮかＯＦＦを指定する。双方向がＯＮの場合には、この設定を使った双方向の（プリンタ１０００からＰＣ２０００への、及びＰＣ２０００からプリンタ１０００への）データ転送が可能である。一方、ＯＦＦの場合には一方から他方へのデータ転送（この例の場合にはプリンタ１０００からＰＣ２０００に対するデータ転送）となる。本実施例においては、双方向４０７にはＯＮ（双方向）がすでに設定されているものとする。
【００４３】
最後に、鍵４０８にはこの設定に用いられる事前共有秘密鍵が設定される。本実施例においては、0x5555556789abcdefという半角文字列がすでに設定されているものとする。
【００４４】
以上により、プリンタ１０００とＰＣ２０００との間の全ポートにおける通信では、上記設定に従った内容でＩＰＳｅｃが適用されたデータがやり取りされることとなる。但しこの場合、ＰＣ２０００側にもすでに上記ＩＰＳｅｃポリシーテーブル４００の対となるＩＰＳｅｃポリシーが設定済みであるものとする。上記の“対のポリシー”とは、ＩＰＳｅｃポリシーテーブル４００の設定内容から送信元ＩＰアドレスと送信先ＩＰアドレスの値および送信元ポート番号と送信先ポート番号の値を入れ替えたものである。
【００４５】
図５は、本発明に係る通信装置１５００の受信処理部１５０３における受信処理の一実施形態を示すフローチャートである。Ｓ５０１〜Ｓ５０６は各処理ステップを示し、受信処理部１５０３において、ＬＡＮ２０００を介してＰＣ２０００よりデータを受信した場合の処理の流れに対応する。なお、各ステップに対応する制御手順はネットワークカードデバイス１５００のＦｌａｓｈＲＯＭ６に記憶されている。
【００４６】
Ｓ５０１はデータの受信を待ち受けるステップである。データを受信するとＳ５０２に進み、まずＩＰＳｅｃ受信判定処理部１５０５において、受信したデータがＩＰＳｅｃ適用データであるかどうかを判定する。本判定は以下の処理により行われる。ＩＰＳｅｃ受信判定処理部１５０５は、受信したデータのヘッダ情報を参照し、当該データがＥＳＰやＡＨのヘッダ情報を含んだＩＰＳｅｃ適用データであるかどうかを判定する。
【００４７】
ＩＰＳｅｃ適用データである場合は、ＩＰＳｅｃデコード処理部１５０６において、当該受信データをＩＰＳｅｃが適用される前のデータフォーマットにデコードする処理を行う（Ｓ５０３）。本デコード処理の際は、ＩＰＳｅｃポリシーテーブル４００の設定内容が参照される。本実施例においては、受信データはＥＳＰが適用されたデータである。この場合、ＩＰＳｅｃデコード処理部１５０６では、当該データに対して、鍵４０８に設定された0x5555556789abcdefという鍵を用いて、アルゴリズム４０６に設定された３ＤＥＳのデコードを実施することとなる。デコードを実施すると、Ｓ５０４に進む。
【００４８】
一方、Ｓ５０２においてＩＰＳｅｃ非適用データであると判定された場合は直ちにＳ５０４に進む。
【００４９】
Ｓ５０４では、振り分け処理部１５０７において、受信したデータがネットワークカードデバイス１５００に対するものであるかどうかを判断する。本判断は以下の処理により行われる。振り分け処理部１５０７は、まず、受信データに関して、ヘッダ情報より送信先情報および送信元情報を取得する。ここで送信先情報とは送信先端末のＩＰアドレス及びポート番号である。また、送信元ＩＰアドレスとは送信元端末のＩＰアドレス及びポート番号である。次に、プロトコルスタック１５０２が上記送信先情報および送信元情報でソケットを生成しているかどうかを判定する。生成しているソケットが存在した場合は、当該受信データはネットワークカードデバイス１５００に対するものであると判断する。一方、生成しているソケットが存在しない場合は、当該受信データはプリンタコントローラ１６００に対するものであると判断する。
【００５０】
Ｓ５０４において受信したデータがネットワークカードデバイス１５００に対するものであった場合は、受信データをプロトコルスタック１５０２の上位層に渡した後（Ｓ５０６）、本処理フローを終了する。
【００５１】
一方、Ｓ５０４において、受信したデータがネットワークカードデバイス１５００に対するものでない場合は、受信データをプリンタコントローラ１６００に渡した後（Ｓ５０５）、本処理フローを終了する。
【００５２】
図６は、本発明に係る通信装置１５００の送信処理部１５０４における送信処理の一実施形態を示すフローチャートである。Ｓ６０１〜Ｓ６０４は各処理ステップを示し、送信処理部１５０４において、プロトコルスタック１５０２の上位層もしくはプリンタコントローラ１６００から送信データを渡された場合の処理の流れに対応する。なお、各ステップに対応する制御手順は通信装置１５００のＦｌａｓｈＲＯＭ６に記憶されている。
【００５３】
Ｓ６０１はプロトコルスタック１５０２の上位層もしくはプリンタコントローラ１６００から送信データを渡されるのを待ち受けるステップである。データを渡されるとＳ６０２に進み、まずＩＰＳｅｃ送信判定処理部１５０８において、渡された送信データがＩＰＳｅｃを適用すべきデータであるかどうかを判定する。本判定は以下の処理により行われる。まず、ＩＰＳｅｃ送信判定処理部１５０８は、渡された送信データのヘッダ情報を参照し、当該データの送信元情報および送信先情報を取得する。ここで、送信元情報とは送信元である端末のＩＰアドレスおよびポート番号である。また、送信先情報とは送信先である端末のＩＰアドレスおよびポート番号である。ＩＰＳｅｃ送信判定処理部１５０８は次に、ＩＰＳｅｃポリシーテーブル４００の送信元ＩＰアドレス４０１、送信元ポート番号４０２、送信先ＩＰアドレス４０３、送信先ポート番号４０４を参照する。送信データから取得した送信元情報および送信先情報と一致する情報が存在する場合は、当該送信データはＩＰＳｅｃを適用すべきデータであると判定される。例えば上記送信データの送信元ＩＰアドレスがプリンタ１０００のＩＰアドレスである１９２．１６８．３．１００であり、送信先ＩＰアドレスがＰＣ２０００のＩＰアドレスである１９２．１６８．３．２００であったとする。この場合、ＩＰＳｅｃポリシーテーブル４００を参照すると、１９２．１６８．３．１００から１９２．１６８．３．２００に対する通信は全てのポートに対してＩＰＳｅｃ適用となっていることが分かる。したがってこの場合、当該送信データはＩＰＳｅｃを適用すべきデータであると判定される。一方、例えば上記送信データの送信元アドレスは１９２．１６８．３．１００であるが、送信先ＩＰアドレスは不図示の別ＰＣ３０００を示す１９２．１６８．３．３００であったとする。この場合、ＩＰＳｅｃポリシーテーブル４００には１９２．１６８．３．３００に対するＩＰＳｅｃ適用ポリシーは登録されていないため、当該送信データはＩＰＳｅｃ非適用のデータであると判定されることとなる。
【００５４】
上記判定の結果、ＩＰＳｅｃを適用すべきデータである場合はＳ６０３に進み、ＩＰＳｅｃエンコード処理部１５０９において、当該送信データをＩＰＳｅｃを適用したフォーマットにエンコードする。本エンコード処理においても、ＩＰＳｅｃポリシーテーブル４００の設定内容が参照される。例えば本実施例においては、当該送信データは、送信元ＩＰアドレス：１９２．１６８．３．１００、送信先ＩＰアドレス：１９２．１６８．３．２００であった。この場合、当該送信データはＩＰＳｅｃプロトコル４０５の設定内容に従い、ＥＳＰが適用される。また、その際の暗号化アルゴリズムはアルゴリズム４０６の設定内容に従って３ＤＥＳが用いられる。更に、鍵４０８に設定された0x5555556789abcdef を鍵として暗号化されることとなる。
【００５５】
次に、Ｓ６０４において、ＬＡＮＣ５を介してＬＡＮ２０００上に上記ＩＰＳｅｃ適用データを送信した後、本処理フローを終了する。
【００５６】
一方、Ｓ６０２において、ＩＰＳｅｃ非適用のデータであると判定された場合は、直ちにＳ６０４に進み、当該送信データをＬＡＮ２０００上に送信して、本処理フローを終了する。この場合、送信データはＩＰＳｅｃが適用されていない非セキュアなフォーマットでＬＡＮ２０００上に送信されることとなる。
【００５７】
以上、本実施例によれば、ネットワークカードデバイス１５００において、ＩＰＳｅｃが適用されたデータを受信した場合であっても、当該受信データの適切な振り分け処理を行うことが可能となる。すなわち、ＩＰＳｅｃ適用データを受信した場合に、当該データをネットワークカードデバイス１５００自身とプリンタコントローラ１６００のいずれか適切な方に振り分けることが可能となる。これにより、ネットワークカードデバイス１５００自身とプリンタコントローラ１６００のそれぞれがＬＡＮ２０００上の端末とＩＰＳｅｃを適用したセキュアな通信を非同期で行うことが可能となる。
【００５８】
更には、プリンタコントローラ１６００側はＩＰＳｅｃ機能を備える必要がなくなる。すなわち、ＩＰＳｅｃ機能を備えていない既存のプリンタであっても、本ネットワークカードデバイスを装着することにより、ＩＰＳｅｃを用いたセキュアな通信を行うことが可能となる。
【実施例２】
【００５９】
実施例１において、プリンタコントローラ１６００側がＩＰＳｅｃ機能を備えている場合、プリンタコントローラ１６００は起動時に当該ＩＰＳｅｃ機能を無効にする処理を行う。
【００６０】
本無効化処理は以下の処理により行われる。
【００６１】
まず、プリンタコントローラ１６００は電源投入時に、起動シーケンスにおいて、拡張インターフェイス１７を介して接続しているカードデバイスに問い合わせを行い、当該カードデバイスの識別情報を取得する。上記識別情報の内容から、当該カードデバイスが、実施例１で述べたネットワークカードデバイス１５００であるかどうかを判定する。なお、上記識別情報としては、製品名、デバイスＩＤ、バージョン名などを用いることが可能である。上記判定の結果、ネットワークカードデバイス１５００であった場合、プリンタコントローラ１６００は自身のＩＰＳｅｃ機能を無効にして起動シーケンスを終了する。
【００６２】
以上により、プリンタコントローラ１６００がＩＰＳｅｃ機能を備えている場合であっても、ネットワークカードデバイス１５００を用いたセキュアな通信を実現することが可能となる。
【００６３】
なお本発明は、前述した実施の形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給される場合を含む。更に、そのシステム或いは装置のコンピュータが、その供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。その場合、プログラムの機能を有していれば、その形態はプログラムである必要はない。従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明には、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００６４】
プログラムを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷがある。その他、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。その他のプログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続することによっても供給できる。この場合、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【００６５】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布することも可能である。更に、所定の条件を満足するユーザに対してインターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせることも可能である。
【００６６】
またコンピュータが読み出したプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【図面の簡単な説明】
【００６７】
【図１】本発明の実施形態に関わる印刷装置のハードウェア構成ブロック図である。
【図２】本発明の実施形態に関わるネットワークシステムの構成図である。
【図３】本発明の実施形態に関わるネットワークカードデバイスのソフトウェア構成ブロック図である。
【図４】本発明の実施形態に関わるＩＰＳｅｃポリシーテーブルの構成図である。
【図５】本発明に係るネットワークカードデバイスにおける受信処理の一実施形態を示すフローチャートである。
【図６】本発明に係るネットワークカードデバイスにおける送信処理の一実施形態を示すフローチャートである。
【符号の説明】
【００６８】
１０００  プリンタ
１５００  ネットワークカードデバイス
１６００  プリンタコントローラ
２０００  ローカルエリアネットワーク
１  CPU
２  RAM
３  フラッシュROM
４  システムバス
５  LANコントローラ
６  LED
７  拡張インターフェイスコントローラ
８  CPU
９  ROM
１０  外部メモリ
１１  システムバス
１２  ラスタコントローラ
１３  拡張インターフェイスコントローラ
１４  RAM
１５  ディスクコントローラ
１６  プリントエンジン
１７  拡張インターフェイスバス
１８  操作パネル
【図１】
2009032074.tif 000003
【図２】
2009032074.tif 000004
【図３】
2009032074.tif 000005
【図４】
2009032074.tif 000006
【図５】
2009032074.tif 000007
【図６】
2009032074.tif 000008