以下、本発明の実施形態を説明するが、本発明の実施形態は、以下の実施形態に限定されるものではない。なお本実施形態では、通信装置の一例として、通信機能の他、コピー、ファクシミリ、スキャナ、プリント等の画像を扱う複合機能を有する複合機を用いた例を説明する。
図1は、複合機が接続されるネットワーク環境の実施形態を示した概略図である。図1に示すネットワーク環境100は、複数の複合機10,12と、レーザプリンタ14と、パーソナル・コンピュータ(以下、PCとして参照する。)16とを含んで構成され、これらの装置は、ネットワーク20を介して接続されている。本実施形態において、複合機10,12、レーザプリンタ14およびPC16は、図示しないスイッチを介してルータ18に接続され、IPv4プロトコルでは、いわゆるローカル・エリア・ネットワークとして参照されるリンク20aを構成している。
ルータ18は、OSI参照モデルにおけるネットワーク層/トランスポート層レベルでのネットワーク制御を行っており、TCP(Transmission Control Protocol)/IPまたはUDP(User Datagram Protocol)/IPなどの適切なネットワーク層/トランスポート層のプロトコルを使用して、リンク20aをインターネット22やワイド・エリア・ネットワーク(WAN)といった別のネットワークに接続させている。
リンク20aは、データリンク層レベルのプロトコルを通じてアクセスリンクを形成することができる近隣ノードから構成されており、より具体的には、IPv6では、リンク20aは、リンクローカル全ノードマルチキャスト・アドレスに参加し、近隣検索の対象となる近隣ノードから構成されるドメインとすることができ、IPV4では、図示しないスイッチによりリンク層アドレス・レベルでのブロードキャストにアクセスできるドメインとすることができる。
図1に示したネットワーク環境100において、複合機10および複合機12は、同類機種の複合機であり、IPsec通信を確立し、例えば国際標準ITU−T T.38勧告に準拠したIP−FAX通信を実行する構成とされている。以下、IPsecによるIP−FAX通信に先立って、同類機種である複合機10および複合機12との間で行われるIPsec通信の設定処理について説明する。
以下、まず複合機のハードウェア構成について説明する。図2は、本実施形態の複合機10の概略的なハードウェア構成を示したブロック図である。本実施形態の複合機10は、中央処理装置(CPU)32と、CPU32が使用するデータの高速アクセスを可能とするキャッシュ・メモリ34と、CPU32の処理を可能とするRAM、DRAMなどの固体メモリ素子から形成されるシステム・メモリ36とを備える。CPU32、キャッシュ・メモリ34、およびシステム・メモリ36は、システム・バス38を介して、複合機10の他のデバイスまたはドライバ、例えば、グラフィックス・ドライバ40およびネットワーク・デバイス42へと接続されている。グラフィックス・ドライバ40は、システム・バス38を介してディスプレイ44に接続されて、CPU32による処理結果をディスプレイ画面上に表示させている。また、ネットワーク・デバイス42は、物理層レベルで複合機10をネットワーク20へと接続している。
システム・バス38には、さらにI/Oバス・ブリッジ46が接続されている。I/Oバス・ブリッジ46の下流側には、PCIなどのI/Oバス48を介して、IDE、ATA、ATAPI、シリアルATA、SCSI、USBなどにより、ハードディスク装置(以下、HDDとして参照する。)50などの記憶装置が接続されている。また、I/Oバス48には、USBなどのバスを介して、キーボードおよびマウスなどのポインティング・デバイスなどの入力装置52が接続され、オペレータによる入力および指示を受付けている。
またHDD50は、本実施形態では、IPアドレス、サブネットマスクといった各種IP設定、各種IPsec設定情報、同類機種間専用のIPsec設定情報を格納する。なお、同類機種間専用のIPsec設定情報は、正当な権限のあるユーザのみがアクセス可能な保護領域、または別途備えられたセキュリティ保護された外部記憶装置に格納しておくことが、セキュリティ上の観点から好ましく、本実施形態では、セキュリティ保護された保護領域に保存する。
さらに複合機10は、システム・バス38に接続された画像処理ドライバ54および画像処理デバイス56を備えている。画像処理ドライバ54および画像処理デバイス56は、図示しないADF(Automatic Document Feeder)および電子写真法を使用した画像形成エンジンを駆動して、画像処理・画像出力を行う場合に用いる。なお、特定の実施形態において、PCなどの情報処理装置として構成する場合には、上記画像処理ドライバ54および画像処理デバイス56を備えない構成とすることもでき、通信装置の特定の用途に応じて、構成を追加・削除することができる。
複合機10は、ROM(図示せず)や、HDD50やNV−RAM(図示せず)やSDカード(図示せず)などの記憶装置に格納されたプログラム(図示せず)を読出し、CPU32の作業メモリ領域を提供するキャッシュ・メモリ34およびシステム・メモリ36のメモリ領域に展開することにより、適切なオペレーティング・システム上で、後述するIPsec通信の設定更新処理および各機能手段を実現している。
複合機10が使用するCPU32としては、より具体的には、例えば、Itanium(登録商標)、Xeon(登録商標)、Pentium(登録商標)、Celeron(登録商標)、PowerPC(登録商標)、Athlon(登録商標)、PA-RISC(略称)、MIPSまたはそれ以外の適切なCPUを挙げることができる。また、複合機10が使用するオペレーティング・システム(OS)としては、例えば、Windows(登録商標)Vista(登録商標)、Windows(登録商標)2000、Windows(登録商標)XP、Windows(登録商標)200Xサーバ、UNIX(登録商標)、LINUX(登録商標)、FreeBSD(登録商標)、AIX(登録商標)、MacOS(商標)、Solaris(登録商標)、VxWorks(登録商標)またはそれ以外の適切なOSを挙げることができる。なお、複合機12についても、図2に示した物と同一のハードウェア構成とすることができる。
図3は、IPsec通信の設定に関する複合機10の機能構成を示すブロック図である。図3に示した複合機10は、OS部60と、通信制御処理部62とを含んで構成される。OS部60は、より具体的には、ネットワーク・デバイス42を直接制御する通信デバイス・ドライバ68と、OSI参照モデルにおけるデータリンク層からトランスポート層相当の通信プロトコルを制御するネットワークプロトコル処理部70とを含んで構成される。通信制御処理部62は、通信を要求するタスクを実行し、ネットワーク上の他の通信装置との通信要求を発生させる。
上記ネットワークプロトコル処理部70は、通信実行時に、通信設定格納部64に格納されたIPsec通信有効無効設定値を読み取り、IPsec通信を有効とするか無効とするかを制御する。上記IPsec通信有効無効設定値は、ベンダにより初期値が設定され、オペレータによるシステム設定によって、設定値が変更される。また、ネットワークプロトコル処理部70は、イーサネット(登録商標)、IPv4、IPv6、IPsec、TCP、UDPなどの通信プロトコル処理の他、パケットフィルタリング、ポートマッピングなどの処理を実行するように構成されていてもよい。
上記ネットワークプロトコル処理部70は、より具体的には、IPsec通信制御部72と、同類機種判定部74と、IPsec通信設定部76とを含んで構成される。IPsec通信設定部76は、通信設定格納部64からIPsec設定情報を読み出して、IPsec通信設定を構築し、より具体的には、IPパケットに対する処理ポリシーを規定するSPD(セキュリティ・ポリシー・データベース)を、例えばシステム・メモリ36上に構築する。IPsec通信制御部72は、通信相手との間のIPsec通信が未確立の場合には、IKE(Internet Key Exchange)プロトコルに従って、通信相手との鍵交換を実行し、通信相手との間に論理的コネクション、所謂SA(セキュリティ・アソシエーション)を確立する。IPsec通信制御部72は、上記SPDに従って、上位の通信制御処理部62とネットワーク20との間のパケット交換を制御し、また、SAを管理するSAD(セキュリティ・アソシエーション・データベース)からSAを取得して、交換されるパケットに対してIPsec処理を施す。
本実施形態において、上記IPsec通信設定は、IPアドレスまたはIPアドレスの範囲を対象とし、パケットに対して(1)IPsec処理を適用するか、(2)IPsec処理を適用せずに通過させるか、または(3)破棄するかといったパケットの処理ポリシー、および、(1)IPsec処理を適用する場合には、さらに、IKEによる鍵交換時の相手認証方式や、暗号化方式や認証方式に関するプロポーザルや、トランスポート・モードまたはトンネル・モードの指定、SAのライフタイムなど種々の鍵交換パラメータを指定する設定内容を含むエントリからなる。各エントリが、通信相手との間のセキュリティ通信設定を構成する。
同類機種判定部74は、通信相手の通信装置に問い合わせて、または、通信相手の通信装置からの通知を受けて、自機と通信相手とが同類機種であるかを判定する。通信相手が同類機種であった場合には、IPsec通信設定部76に対して、同類機種間の通信専用に備えられたIPsec設定情報を専用設定格納部66から読み出させて、その通信相手のIPアドレスのエントリを追加し、IPsec通信設定を更新させる。なお、本実施形態では、上記専用設定格納部66は、正当な権限によってのみアクセス可能な、セキュリティ保護された記憶領域により提供される。
本実施形態では、同類機種判定部74およびIPsec通信設定部76は、ネットワークプロトコル処理部70に含まれる構成とした。これは、ネットワーク層より上位層ではIPsecを意識する必要が無いというIPsecの利点を生かすためである。しかしながら、同類機種判定部74およびIPsec通信設定部76のモジュール割当ては、特に限定されるものではなく、他の実施形態では、例えば、通信制御処理部62とネットワークプロトコル処理部70との間に介在させてもよい。
以下、IPsecプロセス起動時の処理について説明する。図4は、IPsecプロセス起動時の動作を示すフローチャートである。図4に示した処理は、例えば複合機10の起動によりステップS100から開始され、ステップS101で、IPsecプロセスの起動処理を開始する。続いてステップS102では、通信設定格納部64からIPsec有効無効設定値を読み出し、ステップS103では、該設定値が有効であるか否かを判定する。
ステップS103で、IPsec有効無効設定値が有効であると判定された場合(YES)には、ステップS104へ処理を分岐させる。ステップS104では、通信設定格納部64からIPsec設定情報を読み出し、ステップS105で、IPsec設定情報に指定されるIPアドレスまたはアドレス範囲に対するエントリからなるIPsec通信設定を構築する。続いてステップS106では、IPsec有効として通信を開始させ、ステップS107で処理を終了させる。
一方、ステップS103で、IPsec有効無効設定値が無効であると判定された場合(NO)には、ステップS108へ処理を分岐させ、IPsec無効として通常のIP通信を開始させ、ステップS107で処理を終了させる。また通信時には、上記IPsec有効無効設定値が参照され、IPsec通信を有効とするか無効とするかが制御されることとなる。
図4に示した処理により、IPsec有効無効設定値が有効に設定されていた場合、IPsec通信の設定が構築され、予め手動によりIPsec通信の対象として設定された通信相手とは、IPsec通信が確立可能な状態とされる。しかしながら、手動設定にてIPsec通信の対象として指定されていない通信相手とは、IPsec通信が確立可能とはされていない。
以下、通信相手と自機とが同類機種であった場合に、自動的に、その通信相手とのIPsec通信が確立可能となるように、その通信相手のエントリをIPsec通信設定に追加する処理について、シーケンス図を参照して、より具体的に説明する。図5は、複合機(MFP1)10と複合機(MFP2)12との間でなされるIPsec通信の設定更新処理の第1実施形態を示すシーケンス図である。図6は、同類機種専用のIPsec設定情報、およびIPsec通信設定のデータ構造を模式的に示す図である。
図6(A)は、複合機10および複合機12との間で共通に保持される同類機種専用のIPsec設定情報のデータ構造を示す。図6(A)に示す同類機種専用のIPsec設定情報200は、エントリの設定内容を含み、IPsec通信をする両者間で用いる暗号化アルゴリズムが入力されるフィールド200aと、IPsec通信で用いる認証アルゴリズムが入力されるフィールド200bとを含んで構成されている。なお、同類機種間専用のIPsec設定情報200は、詳細は省略するが、その他、種々の鍵交換パラメータなどが入力されるフィールドを含むことができる。
再び図5を参照すると、図に示した処理は、複合機10において、通信制御処理部62からの通信要求が発生したことにより、その通信相手とのIPsec通信が未確立の場合に、ステップS200から開始される。本実施形態においては、複合機10(MFP1)がイニシエータとして動作し、複合機12(MFP2)がレスポンダとして動作している。図6(B)および(C)は、それぞれ、複合機10および複合機12の初期状態のIPsec通信設定のデータ構造を模式的に示す。図6(B)に示したIPsec通信設定210は、通信対象のIPアドレスが入力されるフィールド210aと、暗号化アルゴリズムが入力されるフィールド210bと、認証アルゴリズムが入力されるフィールド210cとを含んで構成される。なお、IPsec通信設定210も同様に、その他、種々の鍵交換パラメータなどが入力されるフィールドを含むことができる。また、図6(C)に示すIPsec通信設定220を含めて以下に示す他のIPsec通信設定も、図6(B)と同様のデータ構造を有している。
再び図5を参照すると、ステップS201では、通信要求のあった相手のIPアドレスを含むARP(Address Resolution Protocol)要求パケットをブロードキャストする。ARP要求パケットを受信した複合機12は、ステップS202で、自身のIPアドレスおよびMAC(媒体アクセス制御)アドレスを含むARP応答パケットを返信することとなる。
ARP応答パケットを受信した複合機10は、ステップS203で、同類機種判定部74により、ARP応答パケットに含まれる送信元MACアドレスから同類機種であるか否かを判定し、同類機種であった場合には、当該通信相手のIPアドレスを対象としたエントリをIPsec通信設定に加える。なお、同類機種であるか否かの判定方法については、詳細を後述する。ステップS203で、ARP応答パケットを受信しなかったり、同類機種でないと判定された場合には、エントリの追加を行わず、処理を終了させる。
続いてステップS204では、IKEパケットを複合機12に送信し、IKEフェーズ1の処理を開始する。IKEパケットを受信した複合機12は、ステップS205で、同類機種判定部74により、受信したIKEパケットを通信依頼として、該IKEパケットに付された送信元MAC(媒体アクセス制御)アドレスから同類機種であるか否かを判定し、同類機種であった場合には、通信相手のIPアドレスを対象としたエントリをIPsec通信設定に加える。また、同類機種でないと判定された場合には、エントリの追加を行わず、処理を終了させる。
図6(D)および(E)は、それぞれ、複合機10および複合機12のエントリを追加した後のIPsec通信設定のデータ構造を示す。図6(D)と(B)と、および図6(E)と(C)とを比較すると、追加後の複合機10のIPsec通信設定212には、[192.168.xx.2]という複合機12のIPアドレスのエントリが追加されており、複合機12のIPsec通信設定222には、[192.168.xx.1]という複合機10のIPアドレスのエントリが追加されていることがわかる。また、これらのIPアドレスに対しては、図6(A)に示した同類機種専用のIPsec設定情報200により指定された暗号化アルゴリズムおよび認証アルゴリズムが設定されていることが示されている。
再び図5を参照すると、ステップS206で複合機12は、IKEパケットを返信し、ステップS207で、複合機10および複合機12間でIKEのフェーズ1の処理を完了させ、ステップS208で、複合機10および複合機12間でIKEのフェーズ2の処理を完了させてSAを確立し、ステップS209で、IPsec通信を開始する。以降、IP−FAXの送受信など、複合機10−複合機12間の通信は、IPsec通信により行なわれることとなる。上記SAは、ステップS203およびステップS205で追加されたエントリが指定する鍵交換パラメータに従って確立される。なお、上記ステップS207またはステップS208で、ネゴシエーションに失敗した場合には、ステップS203およびステップS205で追加したエントリを削除する。
通常、IKEによって確立されるSAには、所定のライフタイムが設定されている。そこで、本実施形態では、IPsec通信が確立された後、ステップS210でSAのライフタイムが満了すると、ステップS211で、複合機10および複合機12は、その満了を検知し、SAライフタイムの満了に応答して、IPsec通信設定に追加されたエントリを削除する。この時、複合機10および複合機12のIPsec通信設定は、それぞれ、図6(B)および(C)に示したものに戻されることとなる。以降、再び複合機10と複合機12との通信要求が発生すると、図5に示した処理シーケンスが繰り返させることとなる。
以下、本実施形態の同類機種判定部74による同類機種の判定について、説明を加える。図7は、複合機10および複合機12間で交換される通信パケットを模式的に示す図である。図7に示すように、ステップS201で複合機10から送信されるARP要求パケット230には、送信元である複合機10のMACアドレスおよびIPアドレスと、宛先である複合機12のIPアドレスとが含まれる。一方、ステップS202で、該ARP要求パケットに対し複合機12から返信されるARP応答パケット240には、返信先のMACアドレスおよびIPアドレスに加え、返信元である複合機12のMACアドレスおよびIPアドレスが含まれることとなる。イニシエータである複合機10は、ARP応答パケットを受信し、その同類機種判定部74は、ARP応答パケットから複合機12のMACアドレスを取得し、該MACアドレスを、同類機種を判定するための情報として参照する。なお、複合機10側のARPキャッシュに、既に通信要求のIPアドレスに対応するMACアドレスが登録されていた場合には、該ARPキャッシュを参照することもできる。
また、ステップS204で複合機10から送信されるIKEパケット250には、送信元である複合機10のMACアドレスおよびIPアドレスが含まれる。レスポンダである複合機12は、通信依頼を受けて初めてエントリに追加する必要性が生じる。このため、通信依頼を示すIKEパケット250を受信した後、レスポンダ側の同類機種判定部74は、該パケット250に含まれる送信元MACアドレスを同類機種を判定するための情報として参照する。なお、該IKEパケット250に対して複合機12から返信されるIKEパケット260には、返信元複合機12のMACアドレスおよびIPアドレスとが含まれる。
図8は、MACアドレスの割振り方の取決めを模式的に示す図である。図8に示すように、MACアドレスの上位24ビットは、OUI(Organizationally Unique Identifier)としてIEEE(Institute of Electrical and Electronics Engineers)により各ベンダ毎に固有に割振られ、下位24ビットは、ベンダ毎に各製品に対して割振られる。本実施形態の複合機10および複合機12の同類機種判定部74は、互いに交換する通信パケットに含まれる送信元MACアドレスの上位ビットが、自身のものと同一であるか否かを判定することにより、同類機種であるか否かを判定する。なお、本実施形態では、同一ベンダにより供給された通信装置を同類機種として判定しているが、他の実施形態では、ベンダ側で各機種毎に所定の下位アドレス範囲を取決め、下位アドレスを用いて、より具体的な分類の機種により、同類機種であるか否かを判定する構成とすることもできる。
図3〜図8を参照して説明したIPsec通信設定処理によって、通信相手の装置が同類機種であると判定された場合には、両装置において互いのIPアドレスを対象としたIPsec通信設定のエントリが自動的に追加されることとなる。従って、当該通信相手のエントリが、予め手動設定されたIPsec通信設定に含まれない場合であっても、IPsec通信が確立可能となる。特に、複数の通信装置間で同一内容のIPsec通信経路を確立させたい場合には、該複数の通信装置すべてを同類機種のもので揃えることで、ユーザは、IPsec通信設定を手動で行なう手間をかけることなく、容易に構成することが可能となる。
また上述の処理では、両通信装置において予め共通に保持している同類機種専用のIPsec設定情報が用いられるため、IPsec通信設定に関する情報がネットワークを介して交換されないため、より高いセキュリティが確保される。さらに、上記IPsec通信設定処理では、既存のイーサネット(登録商標)やIPsecのプロトコルのパケットフローを大きく変更することなく、通信相手が同類機種であるか否かを判定することが可能であるため、余分なネットワーク・トラフィックを発生させない。
なお、上記ステップS203およびステップS205の処理において、追加しようとするエントリと同一IPアドレスに対し、既に手動によるエントリが存在していた場合には、上記IPsec通信設定処理によるエントリの追加をキャンセルさせることができる。これにより、ユーザによる手動設定が優先させ、ユーザの意図に反したIPsec通信の設定が勝手になされてしまうことを好適に防止することが可能となる。
また、上記ステップS210およびステップS211において、SAのライフタイムの満了に応答してIPsec通信設定のエントリを削除する構成により、同類機種の通信装置間で自動設定されたエントリが不要となるとともに削除されることとなる。このため、IPsec通信制御部72によるパケット処理の余分な負荷が低減され、また、有限の上限を有するIPsec通信設定のエントリが枯渇してしまうことを好適に防止することが可能となる。なお、上述の実施形態では、SAのライフタイムの満了に応答してエントリを削除する構成としたが、他の実施形態では、例えば、予めエントリにライフタイムを設定し、該エントリのライフタイムの満了に応答して、エントリを削除する構成とすることもできる。
加えて上記IPsec通信設定処理では、イニシエータ側の複合機10は、IPsec有効無効設定値が無効とされている場合であっても、ARP要求パケットにより、通信相手が同類機種であるか否かを判定することが可能である。またIPsec通信は、通常のIP通信に比べてセキュリティが高く、不利益をほとんど生じさせないため、IPsec通信が無効とされていた場合でも、強制的にIPsec通信を実行することができれば、そのメリットは、大きいものと考えられる。
そこで、他の実施形態では、IPsec通信有効無効設定値が無効とされていた場合であっても、上記ステップS202のARP応答パケットの受信により、通信相手が同類機種であるか否かを判定し、同類機種であると判定された場合に、IPsec有効無効の設定を無視して、同類機種の通信装置間でIPsec通信を確立させる構成とすることができる。
複合機などのオフィス機器では、IPsec有効無効設定が無効とされた状態でベンダから供給されることが多いが、特にこのような場合、同類機種間で自動的にIPsec通信が確立可能となるため、ユーザは、特別な設定をすることなく、IPsec通信を利用することが可能となり、もって、セキュリティレベルをユーザの手動設定なしで、可能な限りの高さに向上させることが可能となる。
以下、IPsec通信設定の更新処理の他の実施形態について、シーケンス図を参照して具体的に説明する。図9は、複合機(MFP1)10と複合機(MFP2)12との間でなされるIPsec通信の設定更新処理の第2実施形態を示すシーケンス図である。図5に示した第1実施形態では、ARPパケットおよびIKEパケットに含まれるMACアドレスを用いて、同類機種の判定を行なった。以下に示す第2実施形態では、同類機種を判定するための専用プロトコルを規定し、ペイロード部分に同類機種を判定するための機種情報を含むパケットを交換して、同類機種の判定を行なう。なお、上記機種情報としては、種々のものを採用することができるが、例えば、装置のベンダ、モデルまたは機種を示す名称または識別子など、同類機種であるか否かを判定することを可能とする如何なる情報を採用することができる。
図9に示した処理は、複合機10において、通信制御処理部62からの通信要求が発生したことにより、ステップS300から開始される。第2実施形態においても、複合機10(MFP1)がイニシエータとして、複合機12(MFP2)がレスポンダとして動作する。
続いてステップS301では、通信要求のあった相手のIPアドレスを宛先として、複合機10自身の機種情報を含み、かつ、相手の機種情報の通知を要求する同類機種確認要求パケットを送信する。同類機種確認要求パケットを受信した複合機12は、ステップS302で、同類機種判定部74により、当該パケットのペイロード部分から複合機10の機種情報を取得し、当該機種情報から同類機種であるか否かを判定し、同類機種であった場合には、当該通信相手のIPアドレスを対象としたエントリをIPsec通信設定に加える。続いてステップS303では、複合機12は、要求のあった複合機10のIPアドレスを宛先として、自身の機種情報を含む同類機種確認応答パケットを返信する。
同類機種確認応答パケットを受信した複合機10は、ステップS304で、同類機種判定部74により、当該パケットのペイロード部分から複合機12の機種情報を取得し、当該機種情報から同類機種であるか否かを判定し、同類機種であった場合には、当該通信相手のIPアドレスを対象としたエントリをIPsec通信設定に加える。
続いてステップS305では、複合機10および複合機12間でIKEのフェーズ1の処理を完了させる。以降、ステップS306〜S309の処理シーケンスを実行する。なお、ステップS306〜ステップS309までの処理シーケンスは、図5に示したステップS208〜S211のものと同一であるため、詳細な説明を省略する。
図5に示す第1実施形態のIPsec通信設定の更新処理では、装置間で交換されるパケットに含まれるMACアドレスを用いて、同類機種を判定している。一方、図9に示した第2実施形態のIPsec通信設定の更新処理では、専用プロトコルを規定し、機種情報をペイロード部分に含んだパケットを交換することにより、同類機種を判定している。これにより、装置のベンダ、モデル、ベンダが取り決めた機種を示す名称または識別子などを用いて、機種を判定することが可能となり、より詳細な分類による同類機種の判定が可能となる。また、装置間をエンドツーエンドで伝達するペイロード部分に含まれる情報を用いるため、機種情報を交換可能な通信範囲の制限がなく、ルータを越えた通信装置間の通信に対しても適用可能である。
図10は、複合機(MFP1)10と複合機(MFP2)12との間でなされるIPsec通信の設定更新処理の第3実施形態を示すシーケンス図である。以下に示す第3実施形態では、データリンク層のプロトコルであるLLTD(Link Layer Topology Discovery)プロトコルを利用して、ペイロード部分の拡張領域に同類機種を判定するための機種情報を含むLLTDパケットを交換し、同類機種の判定を行なう。なお、上記機種情報としては、第2実施形態と同様のものを採用することができる。
図10に示した処理は、複合機10において、通信制御処理部62からの通信要求が発生したことにより、ステップS400から開始される。第3実施形態においても、複合機10(MFP1)がイニシエータとして、複合機12(MFP2)がレスポンダとして動作する。
続いてステップS401では、通信要求のあった相手を宛先として、複合機10自身の機種情報を拡張領域に含み、かつ、相手の機種情報の通知を要求するLLTDパケットを送信する。LLTDパケットを受信した複合機12は、複合機12は、要求のあった複合機10を宛先として、自身の機種情報を拡張領域に含むLLTDパケットを返信する。
LLTDパケットの返信した複合機12と、該返信を受信した複合機10とは、ステップS403で、それぞれ、同類機種判定部74により、当該パケットの拡張領域から複合機10の機種情報を取得して同類機種であるか否かを判定し、同類機種であった場合には、当該通信相手のIPアドレスを対象としたエントリをIPsec通信設定に加える。
続いてステップS404では、複合機10は、IKEパケットを複合機12に送信し、IKEフェーズ1の処理を開始する。IKEパケットを受信した複合機12は、ステップS405で複合機12は、IKEパケットを返信する。続いてステップS406では、複合機10および複合機12間でIKEのフェーズ1の処理を完了させる。以降、ステップS407〜S410の処理シーケンスを実行する。なお、ステップS407〜ステップS410までの処理シーケンスは、図5に示したステップS208〜S211のものと同一であるため、詳細な説明を省略する。
第3実施形態のIPsec通信設定の更新処理では、データリンク層のLLTDパケットの拡張領域を好適に利用して、機種情報を含んだパケットを交換することにより、同類機種を判定する。これにより、ネットワーク層プロトコルであるIPsec通信を確立するために、より上位層のプロトコルを用いる必要性を無くしつつ、より下位の汎用なデータリンク層のプロトコルを利用して、装置のベンダ、モデル、ベンダが取り決めた機種を示す名称または識別子などを用いたより詳細な分類による同類機種の判定が可能となる。また上述の説明では、LLTDパケットにより交換される機種情報のみを用いて同類機種であるか否かの判定を行なう構成として説明したが、さらに他の実施形態では、同類機種の判定の精度を向上させるために、IKEパケット交換に含まれるMACアドレスを含めて判定する構成を採用することもできる。
図11は、複合機(MFP1)10と複合機(MFP2)12との間でなされるIPsec通信の設定更新処理の第4実施形態を示すシーケンス図である。以下に示す第4実施形態では、データリンク層のプロトコルであるLLTDプロトコルを利用して、同類機種間で共通に専用の設定を行なうためのシード情報をペイロード部分の拡張領域に含むLLTDパケットを交換し、この共有されるシード情報を用いて、その通信相手を対象としたIPsec通信設定のエントリを追加する。
本実施形態の設定更新処理を実行する複合機10,12は、予め、鍵交換パラメータなどのエントリの設定内容を作成するための設定作成アルゴリズムを、同類機種間専用のIPsec設定情報として、共通に専用設定格納部66に格納しておく。そして、LLTDパケットにより交換された共通のシード情報をその設定作成アルゴリズムを適用することにより、共通のエントリの設定内容を作成する。上記シード情報は、例えばランダムな数値や文字列とすることができる。なお、上記設定作成アルゴリズムは、シード情報を入力として一義的に設定内容を作成する限り、如何なるアルゴリズムを用いることができる。
図11に示した処理は、複合機10において、通信制御処理部62からの通信要求が発生したことにより、ステップS500から開始される。第4実施形態においても、複合機10(MFP1)がイニシエータとして、複合機12(MFP2)がレスポンダとして動作する。
ステップS501では、複合機10は、通信要求のあった相手のIPアドレスを含むARP要求パケットをブロードキャストする。ARP要求パケットを受信した複合機12は、ステップS502で、自身のIPアドレスおよびMACアドレスを含むARP応答パケットを返信することとなる。
ARP応答パケットを受信した複合機10は、ステップS503で、同類機種判定部74により、ARP応答パケットに含まれる送信元MACアドレスから同類機種であるか否かを判定し、同類機種であった場合には、シード情報を生成して、該シード情報を入力として専用設定格納部66から設定作成アルゴリズを読み出して設定内容を作成し、当該通信相手のIPアドレスを対象としたエントリをIPsec通信設定に加える。
続いてステップS504では、複合機10は、複合機12を宛先として、生成した上記シード情報を含むLLTDパケットを送信する。これにより、複合機10と複合機12との間で、設定内容を作成するためのシード情報が共有される。続いてステップS505では、複合機10は、IKEパケットを複合機12に送信し、IKEフェーズ1の処理を開始する。IKEパケットを受信した複合機12は、ステップS506で、同類機種判定部74により、受信したIKEパケットを通信依頼として、該IKEパケットに付された送信元MACアドレスから同類機種であるか否かを判定し、同類機種であった場合には、専用設定格納部66から設定作成アルゴリズを読み出し、受け取ったシード情報を用いて設定内容を作成し、当該通信相手のIPアドレスを対象としたエントリをIPsec通信設定に加える。
続いてステップS507で複合機12は、IKEパケットを返信し、ステップS508で、複合機10および複合機12間でIKEのフェーズ1の処理を完了させる。以降、ステップS509〜S512の処理シーケンスを実行する。なお、ステップS509〜ステップS512までの処理シーケンスは、図5に示したステップS208〜S211のものと同一であるため、詳細な説明を省略する。
第4実施形態のIPsec通信設定の更新処理では、データリンク層のLLTDパケットの拡張領域を好適に利用して、シード情報を含むパケットを交換し、通信装置の両者共通に、設定作成アルゴリズムを用いて設定内容を作成し、エントリを追加する。この場合、ネットワーク上の通信装置のなかでIPsec通信を確立する各組毎に相違したIPsec通信設定が施されることとなり、予め格納された同類機種の専用IPsec通信設定を一律に用いる実施形態に比較して、セキュリティ上の安全性を向上させることが可能となる。なお、第4実施形態の説明では、ARPパケットを用いて同類機種であるか否かを判定しているが、第3実施形態同様に、LLTDパケットの拡張領域を利用して同類機種であるか否かを判定する構成とすることもできる。この場合、相手の機種情報の通知を要求するLLTDパケットに上記シード情報を含めてもよい。
以上説明したように、上述までの実施形態によれば、IPsec通信などのセキュリティ保護された通信に関し、該通信の設定に関する主要な情報を送信することなく、同類機種間で容易に該セキュリティ通信の設定を実施することを可能とし、安全にセキュリティ保護された通信を確立することを可能とする通信装置、通信方法、プログラムおよび記録媒体を提供することが可能となる。また、上述までの実施形態のIPsec通信設定の更新処理を、IP−FAXを実行する複合機に適用することにより、IP−FAXの転送経路が変更された場合であっても、該変更に応じて、IPsec通信経路が自動に確立され、従来ではユーザに要求されていた複雑かつ困難な設定作業を低減することが可能となる。
なお、上述までの実施形態では、通信装置として複合機を一例として説明してきた。しかしながら、レーザプリンタなどの他の画像形成装置、PDAなどの携帯端末、パーソナル・コンピュータなどの情報処理装置、スキャナなどの画像読取装置、ファクシミリなどの画像通信装置、デジタルカメラなどの撮像装置など、種々の通信機能を有する装置を通信装置として構成することもできる。
また上記機能は、アセンブラ、C、C++、C#、Java(登録商標)、などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ROM、EEPROM、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM、CD−RW、DVD、SDカード、MOなど装置可読な記録媒体に格納して頒布することができる。
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
10…複合機、12…複合機、14…レーザプリンタ、16…PC、18…ルータ、20…ネットワーク、22…インターネット、32…CPU、34…キャッシュ・メモリ、36…システム・メモリ、38…システム・バス、40…グラフィックス・ドライバ、42…ネットワーク・デバイス、44…ディスプレイ、46…I/Oバス・ブリッジ、48…I/Oバス、50…HDD、52…入力装置、54…画像処理ドライバ、56…画像処理デバイス、60…OS部、62…通信制御処理部、64…通信設定格納部、66…専用設定格納部、68…通信デバイス・ドライバ、70…ネットワークプロトコル処理部、72…IPsec通信制御部、74…同類機種判定部、76…IPsec通信設定部、100…ネットワーク環境、200…IPsec設定情報、210,212,220,222,IPsec通信設定