通信装置、通信方法およびプログラム
【課題】ネットワークを介してセキュリティを保護しながらデータ伝送を実行すること。
【解決手段】ネットワークに接続され、外部装置とデータ通信を行う通信装置12であって、通信装置12は、セキュア通信で使用するセキュリティ共有情報を、外部装置との間で交換して、記憶手段に保持する交換手段44と、通信装置12または外部装置のいずれかが、保持していたセキュリティ共有情報の共有を消失させたことを検知し、セキュリティ共有情報の共有を消失させたことを検知した場合に、交換手段44に対して、再び、新たなセキュリティ共有情報を交換させる再確立判断手段48とを含む。
【解決手段】ネットワークに接続され、外部装置とデータ通信を行う通信装置12であって、通信装置12は、セキュア通信で使用するセキュリティ共有情報を、外部装置との間で交換して、記憶手段に保持する交換手段44と、通信装置12または外部装置のいずれかが、保持していたセキュリティ共有情報の共有を消失させたことを検知し、セキュリティ共有情報の共有を消失させたことを検知した場合に、交換手段44に対して、再び、新たなセキュリティ共有情報を交換させる再確立判断手段48とを含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、セキュリティ技術に関し、より詳細には、ネットワークを介してセキュリティを保護しながらデータ通信を実行する通信装置、通信方法およびプログラムに関する。
【背景技術】
【0002】
VPN(Virtual Private Network)やIPv6(Internet Protocol Version 6)で使用されるセキュア通信規格であるIPsec(Security
Architecture for Internet Protocol)通信は、アクセス制御、通信データの完全性および機密性の確保やデータ送信元の認証などの機能をIP層レベルで提供し、伝送経路におけるデータの改竄や盗聴やなりすましなどを好適に防止することを可能とするセキュリティ通信基盤技術である。
【0003】
IPsec通信においては、セキュア通信に先立ち、通信を開始しようとする通信装置(ノード)間で、通信データの完全性や機密性を確保するための情報(暗号化や認証のプロトコルや秘密鍵)を含むセキュリティ・アソシエーション情報(以降、SA情報として参照する。)が交換される。その後、両方の通信装置は、共有したSA情報を使用してセキュア通信を実行する。このSA情報を安全に交換するための手続として、RFC2409にはIKEv1(Internet
Key Exchange Version 1)が規定されている。
【0004】
しかしIPsec通信では、共有したSA情報を使用して通信を行うため、万が一、一方の通信装置において共有されたSA情報が失われた場合には、通信装置間でのセキュア通信を継続することができなくなってしまうという問題点があった。
【0005】
例えば、IKEv1によるSA情報交換の後、通信装置の不慮の電源断などで、SA情報消去メッセージの通知なしに一方の通信装置が、共有していたSA情報を消失させてしまった場合、その通信相手である他方の通信装置は、相手側でSA情報が消失してしまっていることを検知することができない。そのため、SA情報を消失させた通信装置が復旧した後も、他方の通信装置は、既に共有されていないSA情報を使用して、IPsecパケットを送信してしまい、セキュア通信を継続することできなくなってしまうという問題点があった。
【0006】
特開2006−13628号公報(特許文献1)は、通信装置が記憶している情報の不一致から生じる通信断絶などの不都合を解消することができる通信システムを提供することを目的で、所定間隔ごとに鍵情報データベース部に記憶されている鍵情報を基にしてキープアライブメッセージを生成し、他の通信装置に対して送信する通信装置と、キープアライブメッセージを受信して、キープアライブメッセージを基にして鍵情報更新部が鍵情報データベース部に記憶されているデータの更新(補正など)を行う通信装置を具備することを特徴とする、通信システムを開示している。
【0007】
しかしながら、上述した従来技術は、通信装置が記憶している情報(SA情報の有効期限など)の不一致から生じる通信断絶などの不都合を解消することを目的としており、鍵の有効期限などの情報をキープアライブメッセージに基づいて更新するというものであり、データ通信装置の不慮の電源断などで、一方の通信装置が共有されたSA情報を消失してしまった場合に対応するものではなかった。
【0008】
特開2003−32286号公報(特許文献2)は、インターネット上の無駄なトラフィックをなくし、VPN装置の無駄な処理負荷の発生を防ぐ目的で、VPN装置内で管理されるSAD上に存在するSAが削除されたときに、削除された当該SAを用いたIPsec通信の相手となるVPN装置に対し、当該SAが削除されたことを通知する手段を備えたことVPN装置を開示しております。
【0009】
しかしながら、上述した従来技術は、SAが削除されたときに、その旨を通信相手となる装置へ通知するものであり、装置の不慮の電源断などで、SA情報消去メッセージの通知なしに一方の装置が共有していたSA情報を消失してしまった場合に、充分に対応できるものではないという問題があった。
【0010】
特開2003−204349号公報(特許文献3)は、通信に先だって、セキュリティ・アソシエーション情報を交換するための交換手続きを行う交換手続き処理手段と、交換手続きにより交換されたセキュリティ・アソシエーション情報を記憶する記憶手段と、記憶手段に記憶された各々のセキュリティ・アソシエーション情報について、宛先アドレス及び識別情報並びに当該セキュリティ・アソシエーション情報の有効期限に関する情報を含む管理情報を、所定の不揮発性のメディアに記憶して管理する管理手段と、所定のセキュリティ・プロトコルに従う自ノード宛の受信パケットのヘッダに含まれる識別情報及び自ノードを示す宛先アドレスにより特定されるセキュリティ・アソシエーション情報が前記記憶手段に有効に存在せず、かつ、当該セキュリティ・アソシエーション情報に対応する管理情報が所定の不揮発性のメディアに有効に存在する場合に、その旨を前記通信相手となるノードへ通知するために、該宛先アドレス及び該識別情報を含む通知メッセージを前記通信相手となるノードへ送信するパケット処理手段とを備えたことを特徴とするノード装置を開示している。
【0011】
しかしながら、上述した従来技術では、セキュリティ・アソシエーション情報が通信相手のノード装置において、削除されてしまったことを検知できるものではなかった。
【特許文献1】特開2006−13628号公報
【特許文献2】特開2003−32286号公報
【特許文献3】特開2003−204349号公報
【発明の開示】
【発明が解決しようとする課題】
【0012】
本発明は上記従来技術に鑑みてなされたものであり、セキュア通信の際に、通信装置と外部装置との間で共有され通信データの完全性や機密性を確保するためのセキュリティ共有情報(SA情報)が、どちらか一方の装置において消失してしまった場合に、その共有の消失を検知して、セキュア通信を効率良く迅速に再確立させることを可能とする通信装置、通信方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0013】
本発明では、通信装置が、保持していたセキュリティ共有情報を消失させてしまったことを、通信装置が備える不揮発性記憶手段から、通信相手となる外部装置の識別値を取得し、そのセキュリティ共有情報を保持しているか否かを判定することによって検知する。つまり、不揮発性記憶手段に通信相手として外部装置が登録されているにもかかわらず、セキュリティ共有情報が記憶手段に保持されていなかった場合は、通信装置自体に、電源断などの不慮の障害が発生して復旧し、記憶手段に保持されたセキュリティ共有情報が消失してしまったものと判断する。
【0014】
あるいは、該通信装置の通信相手となる外部装置が、セキュリティ共有情報を消失させてしまったことを、セキュア通信による到達確認メッセージを外部装置に対し送信し、応答があるか否かを判定することによって検知する。つまり、セキュア通信による到達確認メッセージへの応答がない場合は、通信装置が保持するセキュリティ共有情報が消失してしまったものと判断する。
【0015】
そして、一方の装置におけるセキュリティ共有情報の消失を検知した場合に、再び、新たなセキュリティ共有情報の交換を実行することにより、一方の装置が電源断などでセキュリティ共有情報を消失させてしまい、セキュリティ共有情報の共有が失われてしまった場合であっても、セキュア通信を効率良く迅速に再確立させる。
【0016】
すなわち本発明によれば、ネットワークに接続され、外部装置とデータ通信を行う通信装置であって、前記通信装置は、
セキュア通信で使用するセキュリティ共有情報を、前記外部装置との間で交換して、記憶手段に保持する交換手段と、
前記通信装置または前記外部装置のいずれかが、保持していた前記セキュリティ共有情報の共有を消失させたことを検知し、前記セキュリティ共有情報の共有を消失させたことを検知した場合に、前記交換手段に対して、再び、新たなセキュリティ共有情報を交換させる再確立判断手段と
を含む通信装置が提供される。
【0017】
前記通信装置は、前記セキュリティ共有情報の交換を完了させた前記外部装置の識別値を格納する不揮発性記憶手段をさらに含み、前記再確立判断手段は、前記不揮発性記憶手段から前記識別値を取得して、前記セキュリティ共有情報を前記記憶手段が保持しているか否かを判定して、前記通信装置が前記セキュリティ共有情報の共有を消失させたことを検知することができる。
【0018】
また、前記再確立判断手段は、前記セキュア通信による到達確認メッセージを前記外部装置に送信して、応答があるか否かを判定することによって、前記外部装置が前記セキュリティ共有情報の共有を消失させたことを検知し、応答がないと判定された場合に、前記記憶手段が保持していた前記セキュリティ共有情報を消去し、さらに、非セキュア通信による到達確認メッセージを前記外部装置に送信して、応答があると判定された場合に、前記交換手段に対して、前記新たなセキュリティ共有情報を交換させることができる。
【0019】
さらに、前記再確立判断手段は、再起動するごと、前記外部装置からのアドレス重複検知パケットの受信するごと、所定の通信量超過ごと、所定のセッション数超過ごと、または所定の時間経過ごとに、前記セキュリティ共有情報の共有を消失させたことの検知を試みることができる。前記通信装置は、送信データを蓄積する送信バッファを備え、前記再確立判断手段は、前記新たなセキュリティ共有情報を交換させた後、前記送信バッファに蓄積された送信データを、前記新たなセキュリティ共有情報を使用して前記外部装置に送信することができる。
【0020】
さらに本発明によれば、ネットワークに接続され、外部装置とデータ通信を行う通信装置が実行する装置実行可能な通信方法であって、前記通信方法は、
セキュア通信で使用するセキュリティ共有情報を、前記外部装置との間で交換して、記憶手段に保持するステップと、
前記セキュア通信による到達確認メッセージを前記外部装置に送信して、セキュア通信に対する応答があるか否かを判定するステップと、
前記セキュア通信に対する判定するステップで、応答がないと判定された場合に、前記記憶手段が保持していた前記セキュリティ共有情報を消去するステップと、
非セキュア通信による到達確認メッセージを前記外部装置に送信して、非セキュア通信に対する応答があるか否かを判定するステップと、
前記非セキュア通信に対する応答があると判定された場合に、前記外部装置と、新たなセキュリティ共有情報を交換させるステップと
を含む通信方法が提供される。
【0021】
さらにまた本発明によれば、ネットワークに接続され、外部装置とデータ通信を行う通信装置が実行する装置実行可能な通信方法であって、前記通信方法は、
セキュア通信で使用するセキュリティ共有情報を、前記外部装置との間で交換して、記憶手段に保持するステップと、
前記セキュリティ共有情報の交換を完了させた前記外部装置の識別値を、不揮発性記憶手段に格納するステップと、
前記不揮発性記憶手段から前記識別値を取得して、前記セキュリティ共有情報を前記記憶手段が保持しているか否かを判定するステップと、
前記判定するステップで、前記セキュリティ共有情報を前記記憶手段が保持していないと判定された場合に、前記外部装置と、新たなセキュリティ共有情報を交換させるステップと
を含む通信方法が提供される。
【0022】
さらに本発明によれば、ネットワークに接続され、外部装置とデータ通信を行う通信装置が実行可能なプログラムであって、前記プログラムは、前記通信装置に対し、
セキュア通信で使用するセキュリティ共有情報を、前記外部装置との間で交換して、記憶手段に保持する交換手段と、
前記通信装置または前記外部装置のいずれかが、保持していた前記セキュリティ共有情報の共有を消失させたことを検知し、前記セキュリティ共有情報の共有を消失させたことを検知した場合に、前記交換手段に対して、再び、新たなセキュリティ共有情報を交換させる再確立判断手段と
を実現するプログラムが提供される。
【0023】
前記プログラムは、前記通信装置に対し、前記セキュリティ共有情報の交換を完了させた前記外部装置の識別値を格納する不揮発性記憶手段をさら実現し、前記再確立判断手段は、前記不揮発性記憶手段から前記識別値を取得して、前記セキュリティ共有情報を前記記憶手段が保持しているか否かを判定して、前記通信装置が前記セキュリティ共有情報の共有を消失させたことを検知することができる。
【0024】
前記再確立判断手段は、前記セキュア通信による到達確認メッセージを前記外部装置に送信して、応答があるか否かを判定することによって、前記外部装置が前記セキュリティ共有情報の共有を消失させたことを検知し、応答がないと判定された場合に、前記記憶手段が保持していた前記セキュリティ共有情報を消去し、さらに、非セキュア通信による到達確認メッセージを前記外部装置に送信して、応答があると判定された場合に、前記交換手段に対して、前記新たなセキュリティ共有情報を交換させることができる。
【発明を実施するための最良の形態】
【0025】
以下、本発明を図面に示した実施形態をもって説明するが、本発明は後述する実施形態に限定されるものではない。
【0026】
図1は、通信装置12が接続されるネットワーク10の実施形態を示した概略図である。本実施形態において、通信装置12は、図示しないスイッチを介してルータ14と接続され、ネットワーク10を構成する。データリンク層のプロトコルを通じてアクセスリンクを形成することができる通信装置12(近隣ノード)同士は、それぞれリンク16とリンク18とを構成し、ルータ14は、OSI参照モデルなどにおいて参照されるネットワーク層/トランスポート層レベルでのネットワーク制御を行っており、TCP(Transmission Control Protocol)/IPまたはUDP(User Datagram Protocol)/IPなどの適切なネットワーク層/トランスポート層のプロトコルを使用して、リンク16とリンク18とを接続させている。
【0027】
なお、リンク16、18は、IPv6では、リンクローカル全ノードマルチキャスト・アドレスに参加し、近隣検索の対象となる近隣ノードから構成されるドメインとすることができ、IPv4では、リンク層レベルでのブロードキャストによりアクセスできるドメインとすることができる。
【0028】
例えば図1に示した実施形態では、通信装置12aと通信装置12bとには、それぞれ「2001::2:2:2:2:a」と「2001::2:2:2:2:b」とのIPアドレスが割当てられ、第1リンク16を構成し、一方、通信装置12cと通信装置12dとには、それぞれ「2001::1:1:1:1:a」と「2001::1:1:1:1:b」とのIPアドレスが割当てられて、第2リンク18を構成している。ルータ14には、「2001::2:3:3:3:3/64」と「2001::1:3:3:3:3/64」とのIPアドレスおよびプレフィックス長が設定され、第1リンク16と第2リンク18とを接続させ、IPパケットをルーティングしている。
【0029】
なお図1では、IPv6に対応した実施形態をもって示しているが、IPv4によるネットワークとして構成することもできる。また、割当てられるIPアドレスは、IPv6の場合には、DHCPv6プロトコルによるステートフル・アドレスとしても、IPv6のプラグ・アンド・プレイ機能によるステートレス・アドレスとしても、管理ユーザによって設定された固定アドレスとしてもよく、特に限定されるものではない。
【0030】
本実施形態の通信装置12は、IPsecプロトコルに対応し、他の通信装置12と、IP層レベルでのセキュア通信を行っている。IPsec通信で使用されるセキュリティ・アソシエーション情報(セキュリティ共有情報:以下、SA情報として参照する。)は、例えば、IKEv1(インターネット鍵交換)プロトコルにより交換され、装置間のIPsec通信は、交換され共有されたSA情報を使用して実行される。さらに本実施形態の通信装置12は、あらかじめ交換手続によりSA情報を共有し、IPsec通信を実行していたにもかかわらず、通信装置12または通信相手となる他の通信装置12において、共有されていたSA情報が消失した場合には、その消失を検知して、再交換する手続を開始させ、セキュア通信を再確立させ、通信を継続させる。
【0031】
なおSA情報は、IPsecバージョン2では、宛先IPアドレスと、IPsec通信のセキュリティ・プロトコルであるAH(認証ヘッダ)でメッセージの完全性を保証するため使用される共有鍵および認証プロトコルや、ESP(カプセル化セキュリティ・ペイロード)で暗号化通信を行うために使用される暗号化プロトコルおよび共有鍵などとを対応付け、それぞれのSA情報には、SPI(セキュリティ・パラメータ・インデックス)といった識別番号が割当てられる。そして、宛先IPアドレスと、セキュリティ・プロトコルの種類と、SPIから、SA情報を識別することが可能である。
【0032】
また、通信装置12は、パーソナル・コンピュータ(PC)、サーバ、プリンタ、デジタル複合機などの通信機能を有する装置として構成することができ、他の実施形態ではセキュリティゲートウェイなどのネットワーク機器として使用することもできる。また図1に示した実施形態では、ネットワーク10は、有線ネットワークであっても、無線LAN技術によるワイヤレス・ネットワークであってもよい。また、インターネットなどの公衆ネットワークと接続することもできる。
【0033】
図2は、本実施形態の通信装置12のソフトウェア構成を示したブロック図である。通信装置12は、OS30と、ネットワーク制御部40と、アプリケーション60とを含み構成される。図に示した実施形態では、OS30は、ネットワーク通信ドライバ32と、ネットワーク・プロトコル34とを含み構成される。ネットワーク通信ドライバ32は、通信装置12が備える図示しないネットワーク・インタフェース・カード(NIC)などのネットワーク・インタフェース(I/F)を制御し、ネットワーク・プロトコル34は、データリンク層および物理層の通信プロトコルによる通信制御を行う。
【0034】
ネットワーク制御部40は、IPsec通信部42と、SA交換処理部44と、パケットバッファ46と、IPsec通信判定部48と、IPsecセッション情報管理部50と、IPsec設定保存部52とを含み構成される。IPsec通信部42は、IPsec通信のパケット処理などの基本処理を実行し、SA交換処理部44は、IKEv1プロトコルに従って、SA情報の交換手続を行い、IPsec通信を確立する。IPsecセッション情報管理部50は、パケットの処理方法を記述するSPD(セキュリティ・ポリシー・データベース)と、SA情報のデータベースであるSAD(セキュリティ・アソシエーション・データベース)とを含み、セキュリティ・ポリシーおよび交換されたSA情報を管理している。
【0035】
また、IPsecセッション情報管理部50には、SA交換処理部44によってSA情報を交換した際に、通信相手の装置識別値が格納され、通信装置12の通信相手についても管理されている。なお、図に示した実施形態では、セキュア通信に使用されるSA情報は、セキュリティ上の観点からRAMなどの内部記憶装置54に保持され、一方、通信相手の装置識別値は、HDDやNVRAMなどの不揮発性記憶装置56に格納され、通信装置における不慮の電源断やハングアップなどの障害が発生し復旧した場合にも対応可能に管理される。なお、装置識別値を格納する記憶手段は、SDカードなどの不揮発性の記憶媒体とすることもできる。
【0036】
IPsec通信判定部48は、再確立判定を行い、通信装置12と、通信相手の通信装置12との間で、共有されているべきSA情報が共有されているか否かの判定し、共有されていないと判定された場合(つまり、一方の装置でSA情報が消失していた場合)には、IPsec通信を再確立する必要があると判断し、SA交換処理部44に対して、新たなSA情報の交換手続を開始させる。また、IPsec通信判定部48は、共有されているべきSA情報が共有されているか否かを判定する処理を、所定のタイミングで開始させる。
【0037】
IPsec設定保存部52は、共有されているべきSA情報が共有されているか否かを判定する処理を行うタイミングを規定する情報などを格納し、例えば、所定の時間間隔で処理を発生させる場合にはその時間間隔を、所定の通信量超過ごとに処理を発生させる場合にはその通信量を、所定のセッション数超過ごとに処理を発生させる場合にはそのセッション数を設定情報として格納する。その他、IPsec通信における他の設定情報もIPsec設定保存部52に格納することができる。パケットバッファ46は、アプリケーション60から送信されたパケットを一時的に保持し、後述の送信パケットの再送する場合に使用される。
【0038】
アプリケーション60は、ネットワーク制御部40を介して、パケットの送受信を行うソフトウェア手段であり、ネットワーク上の他の通信装置12と通信して、所定のアプリケーション処理を実行する。
【0039】
通信装置12は、各種演算を行う図示しないCPUと、各種制御プログラムを記憶する図示しないROMと、CPUの作業メモリ領域を提供する図示しないRAMとを含み構成され、上記の各機能手段は、ROMやHDDや外部デバイス(SDメモリカード)などの外部記憶装置に格納されたプログラム(図示せず)をRAMのメモリ領域にロードすることにより実現される。
【0040】
以下、通信装置12が保持していたSA情報の消失を検知し、IPsec通信を再確立する場合の処理について、詳細を説明する。以降、検知する処理を実行する側を通信装置12として参照し、通信装置12の通信相手となる他の装置側を外部装置70として参照して、説明する。
【0041】
図3は、本実施形態の通信装置12が実行する、通信装置12におけるSA情報の消失を検知して、IPsec通信を再確立する処理のシーケンス図を示す。図3の制御は、ステップS100から開始され、まず、通信装置12と外部装置70との間で、IKEv1プロトコルによるSA情報の交換手続が実行される。ステップS100で、SA情報交換が完了すると、通信装置12および外部装置70それぞれの内部記憶装置54に、交換されたSA情報が格納される。SA情報の共有と同時に通信装置12は、外部装置70の装置識別値と、対応するSA情報の識別情報とを不揮発性記憶装置56に格納し、通信相手を管理する。そしてステップS101で、両装置間でIPsec通信が行われる。なお図3には、通信装置12と外部装置70との間で、「SA情報(1)」が共有されていることが例示されている。
【0042】
しかし、IPsec通信が確立されている間に、通信装置12において何らかの障害の発生し、再起動した場合、共有されているべき「SA情報(1)」は、内部記憶装置54から消失することとなる。そして、図3に示した制御では、通信装置12は、ステップS102で、内部記憶装置54における「SA情報(1)」の消失を検知して、ステップS103で、新たな「SA情報(2)を交換して、ステップS104で、新たに交換した「SA情報(2)を使用して、IPsec通信を継続させる。SA情報の再交換が行われると、外部装置70は、古いSA情報(1)を破棄して、新しく交換された「SA情報(2)で更新し、新しく交換されたSA情報を使用して、通信を継続させることが可能となる。
【0043】
また、通信装置12は、外部装置70とのIPsec通信の接続を終了させた場合には、外部装置70の装置識別値と、対応するSA情報の識別情報とを不揮発性記憶装置56から消去し、また、対応するSA情報についても内部記憶装置54から消去する。なお、本実施形態では、装置識別値とSA情報の識別情報とは、対応付けられて、テーブルとして不揮発性記憶装置56に格納され、IPsecセッション情報管理部50により管理されている。上記テーブルについては後述する。
【0044】
図4は、本実施形態の通信装置12が実行する、通信装置12が保持していたSA情報の消失を検知する処理を示すフローチャート図である。図4に示した制御は、ステップS200から、例えば通信装置12の再起動を契機として処理が開始され、IPsec通信判定部48は、ステップS201で、不揮発性記憶装置56に格納された、装置識別値とSA情報の識別情報とを対応づけるテーブルをルックアップし、不揮発性記憶装置56に装置識別値が存在するか否かを判定する。
【0045】
ステップS201の判定で、存在しないと判定された場合(no)には、処理をステップS205へ分岐させ、処理を終了させる。この場合は、再起動した前後で、IPsec通信が実行されていなかったこと意味し、セキュア通信を再確立させる必要が無いためである。
【0046】
一方、ステップS201で、装置識別値が存在した場合(yes)には、ステップS202で、上記テーブルをルックアップし、装置識別値に対応するSA情報の識別情報を取得して、内部記憶装置54のSADを検索し、対応するSA情報が、内部記憶装置54において保持されているか否かを判定する。ステップS202の判定で、SA情報が保持されている判定された場合(yes)には、通信装置12と外部装置70との間でSA情報が共有されているため、処理をステップS204へ分岐させ、IPsec通信を継続させて、ステップS205で処理を終了させる。
【0047】
一方ステップS202の判定で、対応するSA情報が存在しなかった場合(no)、つまり、不揮発性記憶装置56には装置識別値が登録されているにもかかわらず、対応するSA情報が内部記憶装置54に保持されていない場合には、ステップS203へ分岐させ、再びIKEvプロトコルによるSA情報の再交換を行い、セキュア通信を再確立させ、ステップS204で、IPsec通信を継続させて、ステップS205で処理を終了させる。
【0048】
図4に示した処理で、不揮発性記憶装置56には装置識別値が格納されているにもかかわらず、対応するSA情報が内部記憶装置54に保持されていないことを確認することにより、通信装置12が、保持していたSA情報を消失させてしまったことを、通信装置12自体が検知することが可能となる。なお、本処理を開始するタイミングは、再起動時以外にも、他の実施形態では、所定の時間間隔ごと、所定の通信量超過ごと、所定のセッション数超過ごとに開始させることができ、さらに他の実施形態では、外部から重複検知パケットなどのパケットを受信したことを契機として開始させる制御とすることもできる。
【0049】
図5は、本実施形態の通信装置12が、図4のステップS201およびS202の判定処理の際にルックアップする、通信相手の装置識別値とSA情報とを対応付ける通信相手管理テーブルのデータ構造を示す。通信相手管理テーブル80は、フィールド80aとフィールド80bとを含み構成される。フィールド80aには、通信相手となる外部装置70の装置識別値がエントリされ、フィールド80bには、SA情報に割当てられたSPI、および該SPIに対応したSA情報のセキュリティ・プロトコルの種類(SA識別情報)がエントリされる。
【0050】
図5に示した通信相手管理テーブル80へのエントリは、通信装置12が外部装置70とIKEv1プロトコルによりSA情報の交換を完了させた後に実行され、装置識別値および対応するSPIとそのプロトコルが、通信相手管理テーブル80にエントリされる。なお、装置識別値としては、図5に示した実施形態では、IPv6アドレスとしたが、特に限定されるものではなく、通信相手を特定することができる情報であれば、いかなるものを採用することができる。例えば、他の実施形態では、図示しないNIC(ネットワーク・インタフェース・カード)のMAC(媒体アクセス制御)アドレスなどのリンク層アドレスや、その他、装置に割当てた識別値を装置識別値として採用することができる。その際は、該装置識別値と、IPアドレスとを対応付けるテーブルを不揮発性記憶装置56に備えていてもよい。
【0051】
また電源断の場合には、通信装置12が保持していた全てのSA情報が消失することとなるため、電源断に対応させることで充分であれば、不揮発性記憶装置56には、通信相手の装置識別値のみをエントリする構成とすることもできる。
【0052】
図4のステップS201の判定処理では、IPsec通信判定部48は、通信相手管理テーブル80をルックアップして、装置識別値がエントリされているか否かを判定する。また、図4のステップS202の判定処理では、IPsec通信判定部48は、通信相手管理テーブル80をルックアップして、該装置識別値に対応するSPIおよびプロトコルの種類を取得して、SADを検索し、該当するSA情報が存在するか否かを判定する。
【0053】
以下、通信装置12が、通信相手となる外部装置70において、保持されていたSA情報を消失させてしまったことを検知し、IPsec通信を再確立する場合の処理について説明する。図6は、本実施形態の通信装置12が実行する、外部装置70におけるSA情報の消失を検知して、IPsec通信を再確立する処理のシーケンス図を示す。
【0054】
図6の制御は、ステップS300から開始され、まず通信装置12と外部装置70との間で、IKEv1プロトコルによるSA情報の交換手続が実行される。ステップS300で、SA情報交換が完了すると、ステップS301で、両装置間でIPsec通信が行われる。図6には、通信装置12と外部装置70との間で、「SA情報(1)」が共有されていることが例示されている。
【0055】
しかし、IPsec通信が確立されている間に、外部装置70において何らかの障害の発生し、外部装置70が再起動された場合、共有されているべき「SA情報(1)」は、外部装置70から消失することとなる。そして、図6に示した制御では、通信装置12は、ステップS302で、例えば、タイマイベントなど、外部装置70におけるSA情報の消失を検知する処理をトリガするイベントの発生を検出して、ステップS303で、パケットの到達確認を要求するメッセージ(図に示した例ではpingコマンド)を、IPsec通信により外部装置70へ送信する。
【0056】
そして、外部装置70からの応答がなかった場合には、通信装置12と外部装置70との間で共有されるべきSA情報が共有されていないとし、内部記憶装置54に格納されたSA情報を削除する。そして、ステップS304では、非IPsec通信により、再び到達確認を要求するメッセージ(図に示した例では、近隣探索プロトコル:NDP)を外部装置70へ送信する。
【0057】
ステップS305で、外部装置70からの非IPsec通信による到達確認メッセージに対する応答を受信して、該外部装置70が、ネットワーク上に存在することを確認できた場合には、ステップS306で、再び新たな「SA情報(2)を交換させて、ステップS307で、「SA情報(2)を使用してIPsec通信を継続させる。
【0058】
図7は、本実施形態の通信装置12が実行する、外部装置70が保持していたSA情報の消失を検知する処理を示すフローチャート図である。図7に示した制御は、ステップS400から、例えばタイマイベントなど、外部装置70におけるSA情報の消失を検知する処理をトリガするイベント発生を契機として処理が開始され、IPsec通信判定部48は、ステップS401で、IPsec通信による到達確認メッセージを、外部装置70に対して送信する。
【0059】
ステップS402では、IPsec通信判定部48は、外部装置70からの応答があるか否かを判定する。ステップS402の判定で、応答があった場合(yes)には、処理をステップS407へ分岐させ、IPsec通信を継続させ、ステップS408で処理を終了させる。一方、ステップS402の判定で、応答がなかった場合(no)には、外部装置70がSA情報を消失させたものとし、ステップS403へ処理を分岐させ、通信装置12側の対応するSA情報を削除させる。
【0060】
次にステップS404では、非IPsec通信による到達確認メッセージを送信させて、ステップS405で、応答があるか否かを判定する。ステップS405の判定で、応答がないと判定された場合(no)には、処理をステップS408へ分岐させ処理を終了させる。この場合は、外部装置70が、ネットワークに接続されていないことを意味し、セキュア通信を再確立させる処理を実行することが非効率であるためである。
【0061】
一方、ステップS405の判定で、非IPsec通信による到達確認メッセージに対する応答があった場合(yes)には、ステップS406へ処理を分岐させ、再びIKEvプロトコルによるSA情報の再交換を行い、セキュア通信を再確立させ、ステップS407で、IPsec通信を継続させて、ステップS408で処理を終了させる。
【0062】
図7に示した処理で、IPsec通信による到達確認メッセージおよび非IPsec通信による到達確認メッセージを送信して、IPsec通信による到達確認メッセージに対する応答がなく、非IPsec通信による到達確認メッセージに対する応答があった場合に、IPsec通信を再確立させる制御とすることにより、外部装置70において、共有されているべきSA情報が消失してしまったことを検知し、効率的にIPsec通信の再確立処理を開始させることができる。
【0063】
IKEプロトコルによる鍵交換の手続は、手続を完了させるまでに処理時間がかかるため、次のデータ伝送の要求があってから接続の再確立処理を開始させたのでは、通信の迅速性の観点から充分ではない。そこで、本実施形態では上述のように、通信装置12は、SA情報を削除した後に、引き続き非IPsec通信による到達確認メッセージを送信して、応答があった場合にIPsec通信を再確立させる処理を開始させる。上記構成により、次のデータ伝送の要求が発生する前に、IPsec通信を再確立させることが可能となり、迅速で効率的にIPsec通信を再確立することを可能としている。
【0064】
なお、到達確認メッセージとしては、エコー要求メッセージ(タイプ:128)、近隣要請メッセージ(タイプ:135)などのICMPv6パケット、ARP(アドレス解決プロトコル)パケットを使用することができる。また、非IPsec通信による場合には、到達確認メッセージとしては、IPsecの対象とならない近隣要請メッセージ(タイプ:135)やARPパケットなどを使用することができる。
【0065】
IPv6プロトコルに従えば、エコー要求メッセージ、あるいは近隣要請メッセージを正常に受信した通信相手(外部装置70)は、それぞれ、エコー応答メッセージ(タイプ:129)、あるいは近隣広告メッセージ(タイプ:136)を応答することとなるため、通信相手の外部装置70に対してソフトウェア上の改変を要求することなく、通信相手12は、外部装置70との間でSA情報の共有が失われてしまったことを検知できる構成とすることが可能となる。
【0066】
図8は、通信装置12が実行する、外部装置70におけるSA情報の消失を検知して、IPsec通信を再確立する処理の他の実施形態示すシーケンス図である。なお、図8のシーケンス図は、図1のネットワーク10において、通信装置12と外部装置70とが近隣ノードを構成する場合(同一のリンクに属する場合)を想定している。図8の処理は、図6に示した処理と同様に、ステップS500から開始され、通信装置12と外部装置70との間でSA情報「SA情報(1)」の交換手続が実行され、ステップS501で、両装置間でIPsec通信が行われる。
【0067】
IPsec通信が確立されている間に、外部装置70において何らかの障害の発生し、外部装置70が再起動された場合、一般に、外部装置70は、同一リンクの近隣ノードに対して、重複アドレス検知のために近隣探索プロトコル(NDP)を送信することとなる。ステップS502では、通信装置12は、再起動した外部装置70からのNDPを受信して、ステップS503で、外部装置70からのNDPを、外部装置70におけるSA情報の消失を検知する処理をトリガするイベントとして検出し、ステップS504で、パケットの到達確認を要求するメッセージ(図の例ではping)を、IPsec通信により外部装置70へ送信する。
【0068】
そして、外部装置70からの応答がなかった場合には、通信装置12と外部装置70との間で共有されるべきSA情報が共有されていないとし、内部記憶装置54に格納されたSA情報を削除する。そして、ステップS505では、非IPsec通信により、再び到達確認を要求するメッセージ(図の例ではNDP)を外部装置70へ送信する。
【0069】
ステップS506で、外部装置70からの非IPsec通信による到達確認メッセージに対する応答を受信して、該外部装置70が、ネットワーク上に存在することを確認できた場合には、ステップS507で、再び新たなSA情報「SA情報(2)を交換して、ステップS508で、新たなSA情報を使用して、IPsec通信を継続させる。
【0070】
上述のように、外部装置70からの重複検知パケット(IPv6ではNDP、IPv4ではARPとすることができる。)を受信したことを契機として、外部装置70におけるSA情報の消失を検知する処理を開始させることによって、外部装置70における再起動を効率的に検知し、無駄なトラフィックを好適に低減させつつ、IPsec通信の再確立を行うことができる。
【0071】
図9は、通信装置12が実行する、外部装置70におけるSA情報の消失を検知して、IPsec通信を再確立する処理のさらに他の実施形態を示すシーケンス図である。図9の処理は、図6に示した処理と同様に、ステップS600から開始され、通信装置12と外部装置70との間でSA情報「SA情報(1)」の交換手続が実行され、ステップS601で、両装置間でIPsec通信が行われる。
【0072】
図9の例では、IPsec通信が確立されている間に、外部装置70において何らかの障害の発生し、外部装置70が再起動された場合、外部装置70が保持していたSA情報は、消失することとなる。しかしながら、その消失を検知していない通信装置12は、そのまま共有されていないSA情報を使用して、IPsec通信によるデータ送信を続けてしまうこととなる。そこで本実施形態では、通信装置12は、一定量のパケットを送信するたびに、到達確認メッセージを送信して、外部装置70において、SA情報が消失しているか否かを判定する。
【0073】
ステップS602では、通信装置12は、アプリケーションなどが要求する送信パケットをIPsecパケットとして送信する。この際に、パケットバッファ46へ、送信パケットを蓄積させる。ステップS603では、一定量のパケットを送信したことを契機として、ステップS604で、到達確認を要求するメッセージ(pingコマンド)をIPsec通信により外部装置70へ送信する。そして、外部装置70からの応答がなかった場合には、内部記憶装置54に格納されたSA情報を削除する。
【0074】
ステップS605では、さらに非IPsec通信により、到達確認メッセージ(NDP)を外部装置70へ送信する。そして、ステップS606で、外部装置70からの非IPsec通信による到達確認メッセージに対する応答を受信して、該外部装置70がネットワーク上に存在することを確認できた場合には、ステップS607で、再び新たなSA情報「SA情報(2)を交換して、ステップS608で、パケットバッファに蓄積しておいた送信パケットを外部装置70へ再送する。ステップS609では、新たなSA情報を使用して、IPsec通信を継続させる。
【0075】
図10は、通信装置12が実行する、一定量のパケットを送信するごとに、外部装置70におけるSA情報の消失の検知を試みる処理のフローチャートを示す。図10に示した制御は、ステップS700で、外部装置70とIPsec通信を確立させたことを受けて開始される。
【0076】
通信装置12は、ステップS701で、まず送信パケットのパケット量を計量するカウンタをリセットし、同時にパケットバッファ46内のデータも消去して初期化する。ステップS702では、IPsec通信部42は、アプリケーション60からの送信パケットを受領して、ステップS703で、順次、パケットバッファ46に格納するとともに、所定のセキュリティ・プロトコルによるIPsecパケットとして、外部装置70へ送信する。その際には、送信パケットがカウンタにより計量され、ステップS704では、送信パケット量が、予め設定されたデータ量を超過したか否かの判定が行われる。
【0077】
ステップS704の判定で、設定されたデータ量を超過していないと判定された場合(no)には、処理はステップS702へ分岐させられ、設定されたデータ量を超過するまでループさせられる。一方、ステップS704の判定で、設定されたデータ量を超過したと判定された場合(yes)には、処理をステップS705へ分岐させ、ステップS705では、図7の処理フローが呼出され、到達確認メッセージにより、外部装置70におけるSA情報の消失の検知が試みられ、消失を検知した場合には、さらにIPsec通信の再確立が試みられる。
【0078】
ステップS706では、ステップS705で呼出された処理により、消失を検知したか否かの判定を行い、消失が検知されていなかった場合(no)には、ステップS701へ分岐させられ、カウンタをリセットし、パケットバッファ46をクリアして、処理を繰り返す。一方、ステップS706の判定で、消失を検知した場合(yes)は、ステップS707で、IPsec通信が再確立されていれば、再確立したIPsec通信を使用して、パケットバッファ46に蓄積されている送信パケットをIPsecパケット化して、外部装置70へ再送し、ステップS701へ再びループさせる。
【0079】
図10に示した処理フローにより、通信装置12が、外部装置70におけるSA情報の消失を検知しないまま送信し続けられた可能性のあるパケットを再送させることを可能とし、再びアプリケーション60で再発行させる必要がなく、効率的にIPsec通信を継続させることが可能となる。
【0080】
図11は、通信装置12が実行する、外部装置70におけるSA情報の消失を検知して、IPsec通信を再確立する処理のさらに他の実施形態を示すシーケンス図である。図11の処理は、図9に示した処理と大部分において同一であるため、相違点のみを説明する。本実施形態では、通信装置12は、一定量のセッション数を超過させるたびに、外部装置70においてSA情報が消失してしまっていないか否かを判定する処理を開始する。
【0081】
ステップS800およびステップS801の処理は、図9に示したステップS600およびステップS601に対応する。ステップS802では、通信装置12は、IPsec通信によりパケットを送信し、ステップS803で、所定のセッション数を超過したこと契機として、ステップS804で、パケットの到達確認メッセージを送信して、外部装置70側でSA情報が消失してしまったか否かを検知する。なお、ステップS804〜ステップS808の処理は、図9に示したステップS604〜ステップS609(ステップS608を除く)の処理に対応する。
【0082】
図12は、通信装置12が実行する、外部装置70におけるSA情報の消失を検知して、IPsec通信を再確立する処理のさらに他の実施形態を示すシーケンス図である。図12の処理についても、図9に示した処理と大部分において同一であるため、相違点のみを説明する。本実施形態では、通信装置12は、一定時間経過したごとに、外部装置70においてSA情報が消失してしまっていないか否かを判定する。
【0083】
ステップS900およびステップS901の処理は、図9に示したステップS600およびステップS601に対応する。ステップS902では、通信装置12は、IPsec通信によりパケットを送信し、ステップS903で、所定時間が経過したこと契機として、ステップS904で、パケットの到達確認メッセージを送信して、外部装置70側でSA情報が消失してしまったか否かを検知する。なお、ステップS904〜ステップS908の処理は、図9に示したステップS604〜ステップS609(ステップS608を除く)の処理に対応する。
【0084】
以上、再起動したこと、重複検知パケット受信したこと、一定パケット量を送信したこと、一定セッション数を超過したこと、一定時間経過したことを外部装置70におけるSA情報の消失を検知する処理をトリガするイベントとして検出して、処理を開始させる処理フローについて説明してきた。なお、上記一定パケット量、一定セッション数、一定時間、またこれらイベントの中で、どのイベントをトリガイベントとするかについての設定情報は、IPsec設定保存部52に保存しておくことができる。また、一定セッション数を超過したこと、一定時間経過したことを外部装置70におけるSA情報の消失を検知する処理をトリガするイベントとして検出して、処理を開始させる場合についても、充分な容量のパケットバッファ46を確保することにより、再送させる制御とすることができる。
【0085】
以下、上述の通信装置12を、デジタル複合機などの複合機能を有する画像形成装置として構成した場合の、画像形成装置の概略構成を説明する。図13は、複数の機能を備えた画像形成装置100のハードウェアおよびソフトウェア構成の実施形態を示した概略図である。画像形成装置100は、タッチパネルといった操作パネルまたはディスプレイ装置および入力キーなどを備えたユーザ・インタフェース(I/F)160を備えている。ユーザI/F160は、ユーザ指令に応答して、コピーやファクシミリやモノクロコピーやフルカラーコピーなど、画像形成装置としての機能をユーザに提供している。また、画像形成装置100は、外部コンピュータからの入力に応答して、プリンタやファクシミリとしても機能する。
【0086】
図13に示した画像形成装置100は、複数の機能を提供するための各種アプリケーション132〜140からなるアプリケーション部130と、プラットフォーム部110とを含んで構成される。アプリケーション部130は、プリンタ、コピー、ファックスやスキャナなどの画像形成装置に関連するユーザ・サービスに固有の処理を行い、図13に示した実施形態では、コピー・アプリケーション132と、ファックス・アプリケーション134と、スキャナ・アプリケーション136と、ネットファイル・アプリケーション138と、プリンタ・アプリケーション140とを含み構成される。
【0087】
プラットフォーム部110は、カーネル/OS112とともにアプリケーション部130からの処理要求を解釈して、ハードウェア等の各種リソースの獲得要求を発生する各種制御部114〜128を含み構成される。OSとしては例えば、UNIX(登録商標)を採用することができるが、その他いかなるOSを採用することができる。各種制御部としては、図13に示した実施形態では、ドキュメント制御部114と、オペレーション制御部116と、メモリ制御部118と、システム制御部120と、セキュリティ制御部122と、ネットワーク制御部124と、ファックス制御部126と、エンジン制御部128とを含んで構成される。プラットフォーム部110とアプリケーション部130との間には、アプリケーション・プログラム・インタフェース(API)142が設けられていて、プラットフォーム部110は、APIに含まれる予め定義された関数によりアプリケーション部130の各アプリケーションからの処理要求を受信している。
【0088】
なお、アプリケーション部130に含まれる各種アプリケーション、プラットフォーム部60に含まれる各種制御部の構成は任意であり、特定の用途に応じて、種々の組み合わせにより構成することができる
【0089】
ネットワーク制御部(NCS)124は、イーサネット(登録商標)などのネットワーク・インタフェース(I/F)154と接続され、ネットワークI/Oを必要とするアプリケーションに対して共通に利用可能なサービスを提供し、ネットワーク162側から各プロトコルによって受信したデータを各アプリケーションに振り分け、各アプリケーションからのデータをネットワーク162側に送信する際の仲介を行う。さらに、図2に示したネットワーク制御部40の各機能部42〜52は、図13に示した画像形成装置100のネットワーク制御部124に含まれることとなる。
【0090】
また、図13に示した画像形成装置100は、NVRAM152と、その他外部デバイスと接続するための外部デバイス・インタフェース(I/F)156と、GSTNインタフェース(I/F)158を備え、画像処理装置の入出力を可能としている。NVRAM152には、各種IPsec設定情報や上述の通信相手管理テーブル80を格納することができる。
【0091】
画像形成装置100は、各種演算を行う図示しないCPUと、各種制御プログラムを記憶する図示しないROMと、CPUの作業メモリ領域を提供する図示しないRAMとを含み構成され、上記機能手段は、ROMやHDD150や外部デバイス(SDメモリカード)などの外部記憶装置に格納されたプログラム(図示せず)をRAMのメモリ領域にロードすることにより実現される。
【0092】
画像形成装置100のように、PCなどと比較して操作画面が限定されてしまう通信装置においては、SA情報の不整合などによりIPsec通信が切断されてしまった場合、その原因の特定や復旧が困難であるという問題点がある。SA情報の共有が消失してしまったことを検知して、IPsec通信を再確立させる制御とすることによって、より安定性の高い、画像形成装置固有のサービスをユーザに提供することを可能とする。
【0093】
以上、説明したように、本発明によれば、通信装置と通信相手との間で、セキュリティ共有情報の共有を消失してしまった場合であっても、効率的にその消失を検知し、セキュア通信を再確立させることを可能とし、セキュア通信の安定性を効果的に向上させることを可能とする通信装置、通信方法およびプログラムを提供することができる。
【0094】
なお、明細書中では、IPsecバージョン2および、RFC2409に規定されるIKEv1を用いて説明してきた。しかしながら、IPsecバージョン3および、IKEv1の後継番であるRFC4306として規定されるIKEv2であっても、同様に適用することができる。また、上述では、IKEv1プロトコルによるSA交換手続として、詳細を省略して説明してきたが、SA情報交換手続は、フェーズ1およびフェーズ2の2段階の処理から構成され、それぞれおフェーズ1で確立される双方向性のISAKMP_SAおよびフェーズ2で確立される単方向性のIPsec_SAとが交換されることとなる。IPsecバージョン3では、これらのSA情報は、SPIのみ(ESPとAHとの間で重複しないようにSPIが割当てられる場合)、あるいはSPIとセキュリティ・プロトコルの種類との組合わせにより識別することができる。
【0095】
また、本発明の上記機能は、アセンブラ、C、C++、C#、Java(登録商標)、などのレガシープログラミング言語やオブジェクト指向ブログラミング言語などで記述された装置実行可能なプログラムにより実現でき、SDメモリ、MO、EEPROM、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM、CD−RW、DVDなど装置可読な記録媒体に格納して頒布することができる。また、上記機能は、システム・メモリおよびCPUにより構成され、各機能を実現するためのプログラムをシステム・メモリにロードして実行することにより実現させることができる。
【0096】
以上、本発明を図面に示した実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【図面の簡単な説明】
【0097】
【図1】通信装置12が接続されるネットワーク10の実施形態を示した概略図。
【図2】通信装置12のソフトウェア構成を示したブロック図。
【図3】通信装置12におけるSA情報の消失を検知して、IPsec通信を再確立する処理のシーケンス図。
【図4】通信装置12が保持していたSA情報の消失を検知する処理を示すフローチャート。
【図5】通信相手の装置識別値とSA情報とを対応付ける通信相手管理テーブルのデータ構造を示す図。
【図6】外部装置70におけるSA情報の消失を検知して、IPsec通信を再確立する処理のシーケンス図。
【図7】外部装置70が保持していたSA情報の消失を検知する処理を示すフローチャート図。
【図8】外部装置70におけるSA情報の消失を検知して、IPsec通信を再確立する処理の他の実施形態示すシーケンス図。
【図9】外部装置70におけるSA情報の消失を検知して、IPsec通信を再確立する処理のさらに他の実施形態を示すシーケンス図。
【図10】一定量のパケットを送信するごとに、外部装置70におけるSA情報の消失の検知を試みる処理のフローチャート。
【図11】外部装置70におけるSA情報の消失を検知して、IPsec通信を再確立する処理のさらに他の実施形態を示すシーケンス図。
【図12】外部装置70におけるSA情報の消失を検知して、IPsec通信を再確立する処理のさらに他の実施形態を示すシーケンス図。
【図13】複数の機能を備えた画像形成装置100のハードウェアおよびソフトウェア構成の実施形態を示した概略図。
【符号の説明】
【0098】
10…ネットワーク、12…通信装置、14…ルータ、16、18…リンク、30…OS、32…ネットワーク通信ドライバ、34…ネットワーク・プロトコル、40…ネットワーク制御部、42…IPsec通信部、44…SA交換処理部、46…パケットバッファ、48…IPsec通信判定部、50…IPsecセッション情報管理部、52…IPsec設定保存部、54…内部記憶装置、56…不揮発性記憶装置、60…アプリケーション、70…外部装置、80…通信相手管理テーブル、80a、80b…フィールド、100…画像形成装置、110…プラットフォーム部、112…カーネル/OS、114…ドキュメント制御部、116…オペレーション制御部、118…メモリ制御部、120…システム制御部、122…セキュリティ制御部、124…ネットワーク制御部、126…ファックス制御部、128…エンジン制御部、130…アプリケーション部、132…コピー・アプリケーション、134…ファックス・アプリケーション、136…スキャナ・アプリケーション、138…ネットファイル・アプリケーション、140…プリンタ・アプリケーション、142…API、150…HDD、152…NVRAM、154…ネットワーク・インタフェース、156…外部デバイス・インタフェース、158…GSTNインタフェース、160…ユーザ・インタフェース、162…ネットワーク
【技術分野】
【0001】
本発明は、セキュリティ技術に関し、より詳細には、ネットワークを介してセキュリティを保護しながらデータ通信を実行する通信装置、通信方法およびプログラムに関する。
【背景技術】
【0002】
VPN(Virtual Private Network)やIPv6(Internet Protocol Version 6)で使用されるセキュア通信規格であるIPsec(Security
Architecture for Internet Protocol)通信は、アクセス制御、通信データの完全性および機密性の確保やデータ送信元の認証などの機能をIP層レベルで提供し、伝送経路におけるデータの改竄や盗聴やなりすましなどを好適に防止することを可能とするセキュリティ通信基盤技術である。
【0003】
IPsec通信においては、セキュア通信に先立ち、通信を開始しようとする通信装置(ノード)間で、通信データの完全性や機密性を確保するための情報(暗号化や認証のプロトコルや秘密鍵)を含むセキュリティ・アソシエーション情報(以降、SA情報として参照する。)が交換される。その後、両方の通信装置は、共有したSA情報を使用してセキュア通信を実行する。このSA情報を安全に交換するための手続として、RFC2409にはIKEv1(Internet
Key Exchange Version 1)が規定されている。
【0004】
しかしIPsec通信では、共有したSA情報を使用して通信を行うため、万が一、一方の通信装置において共有されたSA情報が失われた場合には、通信装置間でのセキュア通信を継続することができなくなってしまうという問題点があった。
【0005】
例えば、IKEv1によるSA情報交換の後、通信装置の不慮の電源断などで、SA情報消去メッセージの通知なしに一方の通信装置が、共有していたSA情報を消失させてしまった場合、その通信相手である他方の通信装置は、相手側でSA情報が消失してしまっていることを検知することができない。そのため、SA情報を消失させた通信装置が復旧した後も、他方の通信装置は、既に共有されていないSA情報を使用して、IPsecパケットを送信してしまい、セキュア通信を継続することできなくなってしまうという問題点があった。
【0006】
特開2006−13628号公報(特許文献1)は、通信装置が記憶している情報の不一致から生じる通信断絶などの不都合を解消することができる通信システムを提供することを目的で、所定間隔ごとに鍵情報データベース部に記憶されている鍵情報を基にしてキープアライブメッセージを生成し、他の通信装置に対して送信する通信装置と、キープアライブメッセージを受信して、キープアライブメッセージを基にして鍵情報更新部が鍵情報データベース部に記憶されているデータの更新(補正など)を行う通信装置を具備することを特徴とする、通信システムを開示している。
【0007】
しかしながら、上述した従来技術は、通信装置が記憶している情報(SA情報の有効期限など)の不一致から生じる通信断絶などの不都合を解消することを目的としており、鍵の有効期限などの情報をキープアライブメッセージに基づいて更新するというものであり、データ通信装置の不慮の電源断などで、一方の通信装置が共有されたSA情報を消失してしまった場合に対応するものではなかった。
【0008】
特開2003−32286号公報(特許文献2)は、インターネット上の無駄なトラフィックをなくし、VPN装置の無駄な処理負荷の発生を防ぐ目的で、VPN装置内で管理されるSAD上に存在するSAが削除されたときに、削除された当該SAを用いたIPsec通信の相手となるVPN装置に対し、当該SAが削除されたことを通知する手段を備えたことVPN装置を開示しております。
【0009】
しかしながら、上述した従来技術は、SAが削除されたときに、その旨を通信相手となる装置へ通知するものであり、装置の不慮の電源断などで、SA情報消去メッセージの通知なしに一方の装置が共有していたSA情報を消失してしまった場合に、充分に対応できるものではないという問題があった。
【0010】
特開2003−204349号公報(特許文献3)は、通信に先だって、セキュリティ・アソシエーション情報を交換するための交換手続きを行う交換手続き処理手段と、交換手続きにより交換されたセキュリティ・アソシエーション情報を記憶する記憶手段と、記憶手段に記憶された各々のセキュリティ・アソシエーション情報について、宛先アドレス及び識別情報並びに当該セキュリティ・アソシエーション情報の有効期限に関する情報を含む管理情報を、所定の不揮発性のメディアに記憶して管理する管理手段と、所定のセキュリティ・プロトコルに従う自ノード宛の受信パケットのヘッダに含まれる識別情報及び自ノードを示す宛先アドレスにより特定されるセキュリティ・アソシエーション情報が前記記憶手段に有効に存在せず、かつ、当該セキュリティ・アソシエーション情報に対応する管理情報が所定の不揮発性のメディアに有効に存在する場合に、その旨を前記通信相手となるノードへ通知するために、該宛先アドレス及び該識別情報を含む通知メッセージを前記通信相手となるノードへ送信するパケット処理手段とを備えたことを特徴とするノード装置を開示している。
【0011】
しかしながら、上述した従来技術では、セキュリティ・アソシエーション情報が通信相手のノード装置において、削除されてしまったことを検知できるものではなかった。
【特許文献1】特開2006−13628号公報
【特許文献2】特開2003−32286号公報
【特許文献3】特開2003−204349号公報
【発明の開示】
【発明が解決しようとする課題】
【0012】
本発明は上記従来技術に鑑みてなされたものであり、セキュア通信の際に、通信装置と外部装置との間で共有され通信データの完全性や機密性を確保するためのセキュリティ共有情報(SA情報)が、どちらか一方の装置において消失してしまった場合に、その共有の消失を検知して、セキュア通信を効率良く迅速に再確立させることを可能とする通信装置、通信方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0013】
本発明では、通信装置が、保持していたセキュリティ共有情報を消失させてしまったことを、通信装置が備える不揮発性記憶手段から、通信相手となる外部装置の識別値を取得し、そのセキュリティ共有情報を保持しているか否かを判定することによって検知する。つまり、不揮発性記憶手段に通信相手として外部装置が登録されているにもかかわらず、セキュリティ共有情報が記憶手段に保持されていなかった場合は、通信装置自体に、電源断などの不慮の障害が発生して復旧し、記憶手段に保持されたセキュリティ共有情報が消失してしまったものと判断する。
【0014】
あるいは、該通信装置の通信相手となる外部装置が、セキュリティ共有情報を消失させてしまったことを、セキュア通信による到達確認メッセージを外部装置に対し送信し、応答があるか否かを判定することによって検知する。つまり、セキュア通信による到達確認メッセージへの応答がない場合は、通信装置が保持するセキュリティ共有情報が消失してしまったものと判断する。
【0015】
そして、一方の装置におけるセキュリティ共有情報の消失を検知した場合に、再び、新たなセキュリティ共有情報の交換を実行することにより、一方の装置が電源断などでセキュリティ共有情報を消失させてしまい、セキュリティ共有情報の共有が失われてしまった場合であっても、セキュア通信を効率良く迅速に再確立させる。
【0016】
すなわち本発明によれば、ネットワークに接続され、外部装置とデータ通信を行う通信装置であって、前記通信装置は、
セキュア通信で使用するセキュリティ共有情報を、前記外部装置との間で交換して、記憶手段に保持する交換手段と、
前記通信装置または前記外部装置のいずれかが、保持していた前記セキュリティ共有情報の共有を消失させたことを検知し、前記セキュリティ共有情報の共有を消失させたことを検知した場合に、前記交換手段に対して、再び、新たなセキュリティ共有情報を交換させる再確立判断手段と
を含む通信装置が提供される。
【0017】
前記通信装置は、前記セキュリティ共有情報の交換を完了させた前記外部装置の識別値を格納する不揮発性記憶手段をさらに含み、前記再確立判断手段は、前記不揮発性記憶手段から前記識別値を取得して、前記セキュリティ共有情報を前記記憶手段が保持しているか否かを判定して、前記通信装置が前記セキュリティ共有情報の共有を消失させたことを検知することができる。
【0018】
また、前記再確立判断手段は、前記セキュア通信による到達確認メッセージを前記外部装置に送信して、応答があるか否かを判定することによって、前記外部装置が前記セキュリティ共有情報の共有を消失させたことを検知し、応答がないと判定された場合に、前記記憶手段が保持していた前記セキュリティ共有情報を消去し、さらに、非セキュア通信による到達確認メッセージを前記外部装置に送信して、応答があると判定された場合に、前記交換手段に対して、前記新たなセキュリティ共有情報を交換させることができる。
【0019】
さらに、前記再確立判断手段は、再起動するごと、前記外部装置からのアドレス重複検知パケットの受信するごと、所定の通信量超過ごと、所定のセッション数超過ごと、または所定の時間経過ごとに、前記セキュリティ共有情報の共有を消失させたことの検知を試みることができる。前記通信装置は、送信データを蓄積する送信バッファを備え、前記再確立判断手段は、前記新たなセキュリティ共有情報を交換させた後、前記送信バッファに蓄積された送信データを、前記新たなセキュリティ共有情報を使用して前記外部装置に送信することができる。
【0020】
さらに本発明によれば、ネットワークに接続され、外部装置とデータ通信を行う通信装置が実行する装置実行可能な通信方法であって、前記通信方法は、
セキュア通信で使用するセキュリティ共有情報を、前記外部装置との間で交換して、記憶手段に保持するステップと、
前記セキュア通信による到達確認メッセージを前記外部装置に送信して、セキュア通信に対する応答があるか否かを判定するステップと、
前記セキュア通信に対する判定するステップで、応答がないと判定された場合に、前記記憶手段が保持していた前記セキュリティ共有情報を消去するステップと、
非セキュア通信による到達確認メッセージを前記外部装置に送信して、非セキュア通信に対する応答があるか否かを判定するステップと、
前記非セキュア通信に対する応答があると判定された場合に、前記外部装置と、新たなセキュリティ共有情報を交換させるステップと
を含む通信方法が提供される。
【0021】
さらにまた本発明によれば、ネットワークに接続され、外部装置とデータ通信を行う通信装置が実行する装置実行可能な通信方法であって、前記通信方法は、
セキュア通信で使用するセキュリティ共有情報を、前記外部装置との間で交換して、記憶手段に保持するステップと、
前記セキュリティ共有情報の交換を完了させた前記外部装置の識別値を、不揮発性記憶手段に格納するステップと、
前記不揮発性記憶手段から前記識別値を取得して、前記セキュリティ共有情報を前記記憶手段が保持しているか否かを判定するステップと、
前記判定するステップで、前記セキュリティ共有情報を前記記憶手段が保持していないと判定された場合に、前記外部装置と、新たなセキュリティ共有情報を交換させるステップと
を含む通信方法が提供される。
【0022】
さらに本発明によれば、ネットワークに接続され、外部装置とデータ通信を行う通信装置が実行可能なプログラムであって、前記プログラムは、前記通信装置に対し、
セキュア通信で使用するセキュリティ共有情報を、前記外部装置との間で交換して、記憶手段に保持する交換手段と、
前記通信装置または前記外部装置のいずれかが、保持していた前記セキュリティ共有情報の共有を消失させたことを検知し、前記セキュリティ共有情報の共有を消失させたことを検知した場合に、前記交換手段に対して、再び、新たなセキュリティ共有情報を交換させる再確立判断手段と
を実現するプログラムが提供される。
【0023】
前記プログラムは、前記通信装置に対し、前記セキュリティ共有情報の交換を完了させた前記外部装置の識別値を格納する不揮発性記憶手段をさら実現し、前記再確立判断手段は、前記不揮発性記憶手段から前記識別値を取得して、前記セキュリティ共有情報を前記記憶手段が保持しているか否かを判定して、前記通信装置が前記セキュリティ共有情報の共有を消失させたことを検知することができる。
【0024】
前記再確立判断手段は、前記セキュア通信による到達確認メッセージを前記外部装置に送信して、応答があるか否かを判定することによって、前記外部装置が前記セキュリティ共有情報の共有を消失させたことを検知し、応答がないと判定された場合に、前記記憶手段が保持していた前記セキュリティ共有情報を消去し、さらに、非セキュア通信による到達確認メッセージを前記外部装置に送信して、応答があると判定された場合に、前記交換手段に対して、前記新たなセキュリティ共有情報を交換させることができる。
【発明を実施するための最良の形態】
【0025】
以下、本発明を図面に示した実施形態をもって説明するが、本発明は後述する実施形態に限定されるものではない。
【0026】
図1は、通信装置12が接続されるネットワーク10の実施形態を示した概略図である。本実施形態において、通信装置12は、図示しないスイッチを介してルータ14と接続され、ネットワーク10を構成する。データリンク層のプロトコルを通じてアクセスリンクを形成することができる通信装置12(近隣ノード)同士は、それぞれリンク16とリンク18とを構成し、ルータ14は、OSI参照モデルなどにおいて参照されるネットワーク層/トランスポート層レベルでのネットワーク制御を行っており、TCP(Transmission Control Protocol)/IPまたはUDP(User Datagram Protocol)/IPなどの適切なネットワーク層/トランスポート層のプロトコルを使用して、リンク16とリンク18とを接続させている。
【0027】
なお、リンク16、18は、IPv6では、リンクローカル全ノードマルチキャスト・アドレスに参加し、近隣検索の対象となる近隣ノードから構成されるドメインとすることができ、IPv4では、リンク層レベルでのブロードキャストによりアクセスできるドメインとすることができる。
【0028】
例えば図1に示した実施形態では、通信装置12aと通信装置12bとには、それぞれ「2001::2:2:2:2:a」と「2001::2:2:2:2:b」とのIPアドレスが割当てられ、第1リンク16を構成し、一方、通信装置12cと通信装置12dとには、それぞれ「2001::1:1:1:1:a」と「2001::1:1:1:1:b」とのIPアドレスが割当てられて、第2リンク18を構成している。ルータ14には、「2001::2:3:3:3:3/64」と「2001::1:3:3:3:3/64」とのIPアドレスおよびプレフィックス長が設定され、第1リンク16と第2リンク18とを接続させ、IPパケットをルーティングしている。
【0029】
なお図1では、IPv6に対応した実施形態をもって示しているが、IPv4によるネットワークとして構成することもできる。また、割当てられるIPアドレスは、IPv6の場合には、DHCPv6プロトコルによるステートフル・アドレスとしても、IPv6のプラグ・アンド・プレイ機能によるステートレス・アドレスとしても、管理ユーザによって設定された固定アドレスとしてもよく、特に限定されるものではない。
【0030】
本実施形態の通信装置12は、IPsecプロトコルに対応し、他の通信装置12と、IP層レベルでのセキュア通信を行っている。IPsec通信で使用されるセキュリティ・アソシエーション情報(セキュリティ共有情報:以下、SA情報として参照する。)は、例えば、IKEv1(インターネット鍵交換)プロトコルにより交換され、装置間のIPsec通信は、交換され共有されたSA情報を使用して実行される。さらに本実施形態の通信装置12は、あらかじめ交換手続によりSA情報を共有し、IPsec通信を実行していたにもかかわらず、通信装置12または通信相手となる他の通信装置12において、共有されていたSA情報が消失した場合には、その消失を検知して、再交換する手続を開始させ、セキュア通信を再確立させ、通信を継続させる。
【0031】
なおSA情報は、IPsecバージョン2では、宛先IPアドレスと、IPsec通信のセキュリティ・プロトコルであるAH(認証ヘッダ)でメッセージの完全性を保証するため使用される共有鍵および認証プロトコルや、ESP(カプセル化セキュリティ・ペイロード)で暗号化通信を行うために使用される暗号化プロトコルおよび共有鍵などとを対応付け、それぞれのSA情報には、SPI(セキュリティ・パラメータ・インデックス)といった識別番号が割当てられる。そして、宛先IPアドレスと、セキュリティ・プロトコルの種類と、SPIから、SA情報を識別することが可能である。
【0032】
また、通信装置12は、パーソナル・コンピュータ(PC)、サーバ、プリンタ、デジタル複合機などの通信機能を有する装置として構成することができ、他の実施形態ではセキュリティゲートウェイなどのネットワーク機器として使用することもできる。また図1に示した実施形態では、ネットワーク10は、有線ネットワークであっても、無線LAN技術によるワイヤレス・ネットワークであってもよい。また、インターネットなどの公衆ネットワークと接続することもできる。
【0033】
図2は、本実施形態の通信装置12のソフトウェア構成を示したブロック図である。通信装置12は、OS30と、ネットワーク制御部40と、アプリケーション60とを含み構成される。図に示した実施形態では、OS30は、ネットワーク通信ドライバ32と、ネットワーク・プロトコル34とを含み構成される。ネットワーク通信ドライバ32は、通信装置12が備える図示しないネットワーク・インタフェース・カード(NIC)などのネットワーク・インタフェース(I/F)を制御し、ネットワーク・プロトコル34は、データリンク層および物理層の通信プロトコルによる通信制御を行う。
【0034】
ネットワーク制御部40は、IPsec通信部42と、SA交換処理部44と、パケットバッファ46と、IPsec通信判定部48と、IPsecセッション情報管理部50と、IPsec設定保存部52とを含み構成される。IPsec通信部42は、IPsec通信のパケット処理などの基本処理を実行し、SA交換処理部44は、IKEv1プロトコルに従って、SA情報の交換手続を行い、IPsec通信を確立する。IPsecセッション情報管理部50は、パケットの処理方法を記述するSPD(セキュリティ・ポリシー・データベース)と、SA情報のデータベースであるSAD(セキュリティ・アソシエーション・データベース)とを含み、セキュリティ・ポリシーおよび交換されたSA情報を管理している。
【0035】
また、IPsecセッション情報管理部50には、SA交換処理部44によってSA情報を交換した際に、通信相手の装置識別値が格納され、通信装置12の通信相手についても管理されている。なお、図に示した実施形態では、セキュア通信に使用されるSA情報は、セキュリティ上の観点からRAMなどの内部記憶装置54に保持され、一方、通信相手の装置識別値は、HDDやNVRAMなどの不揮発性記憶装置56に格納され、通信装置における不慮の電源断やハングアップなどの障害が発生し復旧した場合にも対応可能に管理される。なお、装置識別値を格納する記憶手段は、SDカードなどの不揮発性の記憶媒体とすることもできる。
【0036】
IPsec通信判定部48は、再確立判定を行い、通信装置12と、通信相手の通信装置12との間で、共有されているべきSA情報が共有されているか否かの判定し、共有されていないと判定された場合(つまり、一方の装置でSA情報が消失していた場合)には、IPsec通信を再確立する必要があると判断し、SA交換処理部44に対して、新たなSA情報の交換手続を開始させる。また、IPsec通信判定部48は、共有されているべきSA情報が共有されているか否かを判定する処理を、所定のタイミングで開始させる。
【0037】
IPsec設定保存部52は、共有されているべきSA情報が共有されているか否かを判定する処理を行うタイミングを規定する情報などを格納し、例えば、所定の時間間隔で処理を発生させる場合にはその時間間隔を、所定の通信量超過ごとに処理を発生させる場合にはその通信量を、所定のセッション数超過ごとに処理を発生させる場合にはそのセッション数を設定情報として格納する。その他、IPsec通信における他の設定情報もIPsec設定保存部52に格納することができる。パケットバッファ46は、アプリケーション60から送信されたパケットを一時的に保持し、後述の送信パケットの再送する場合に使用される。
【0038】
アプリケーション60は、ネットワーク制御部40を介して、パケットの送受信を行うソフトウェア手段であり、ネットワーク上の他の通信装置12と通信して、所定のアプリケーション処理を実行する。
【0039】
通信装置12は、各種演算を行う図示しないCPUと、各種制御プログラムを記憶する図示しないROMと、CPUの作業メモリ領域を提供する図示しないRAMとを含み構成され、上記の各機能手段は、ROMやHDDや外部デバイス(SDメモリカード)などの外部記憶装置に格納されたプログラム(図示せず)をRAMのメモリ領域にロードすることにより実現される。
【0040】
以下、通信装置12が保持していたSA情報の消失を検知し、IPsec通信を再確立する場合の処理について、詳細を説明する。以降、検知する処理を実行する側を通信装置12として参照し、通信装置12の通信相手となる他の装置側を外部装置70として参照して、説明する。
【0041】
図3は、本実施形態の通信装置12が実行する、通信装置12におけるSA情報の消失を検知して、IPsec通信を再確立する処理のシーケンス図を示す。図3の制御は、ステップS100から開始され、まず、通信装置12と外部装置70との間で、IKEv1プロトコルによるSA情報の交換手続が実行される。ステップS100で、SA情報交換が完了すると、通信装置12および外部装置70それぞれの内部記憶装置54に、交換されたSA情報が格納される。SA情報の共有と同時に通信装置12は、外部装置70の装置識別値と、対応するSA情報の識別情報とを不揮発性記憶装置56に格納し、通信相手を管理する。そしてステップS101で、両装置間でIPsec通信が行われる。なお図3には、通信装置12と外部装置70との間で、「SA情報(1)」が共有されていることが例示されている。
【0042】
しかし、IPsec通信が確立されている間に、通信装置12において何らかの障害の発生し、再起動した場合、共有されているべき「SA情報(1)」は、内部記憶装置54から消失することとなる。そして、図3に示した制御では、通信装置12は、ステップS102で、内部記憶装置54における「SA情報(1)」の消失を検知して、ステップS103で、新たな「SA情報(2)を交換して、ステップS104で、新たに交換した「SA情報(2)を使用して、IPsec通信を継続させる。SA情報の再交換が行われると、外部装置70は、古いSA情報(1)を破棄して、新しく交換された「SA情報(2)で更新し、新しく交換されたSA情報を使用して、通信を継続させることが可能となる。
【0043】
また、通信装置12は、外部装置70とのIPsec通信の接続を終了させた場合には、外部装置70の装置識別値と、対応するSA情報の識別情報とを不揮発性記憶装置56から消去し、また、対応するSA情報についても内部記憶装置54から消去する。なお、本実施形態では、装置識別値とSA情報の識別情報とは、対応付けられて、テーブルとして不揮発性記憶装置56に格納され、IPsecセッション情報管理部50により管理されている。上記テーブルについては後述する。
【0044】
図4は、本実施形態の通信装置12が実行する、通信装置12が保持していたSA情報の消失を検知する処理を示すフローチャート図である。図4に示した制御は、ステップS200から、例えば通信装置12の再起動を契機として処理が開始され、IPsec通信判定部48は、ステップS201で、不揮発性記憶装置56に格納された、装置識別値とSA情報の識別情報とを対応づけるテーブルをルックアップし、不揮発性記憶装置56に装置識別値が存在するか否かを判定する。
【0045】
ステップS201の判定で、存在しないと判定された場合(no)には、処理をステップS205へ分岐させ、処理を終了させる。この場合は、再起動した前後で、IPsec通信が実行されていなかったこと意味し、セキュア通信を再確立させる必要が無いためである。
【0046】
一方、ステップS201で、装置識別値が存在した場合(yes)には、ステップS202で、上記テーブルをルックアップし、装置識別値に対応するSA情報の識別情報を取得して、内部記憶装置54のSADを検索し、対応するSA情報が、内部記憶装置54において保持されているか否かを判定する。ステップS202の判定で、SA情報が保持されている判定された場合(yes)には、通信装置12と外部装置70との間でSA情報が共有されているため、処理をステップS204へ分岐させ、IPsec通信を継続させて、ステップS205で処理を終了させる。
【0047】
一方ステップS202の判定で、対応するSA情報が存在しなかった場合(no)、つまり、不揮発性記憶装置56には装置識別値が登録されているにもかかわらず、対応するSA情報が内部記憶装置54に保持されていない場合には、ステップS203へ分岐させ、再びIKEvプロトコルによるSA情報の再交換を行い、セキュア通信を再確立させ、ステップS204で、IPsec通信を継続させて、ステップS205で処理を終了させる。
【0048】
図4に示した処理で、不揮発性記憶装置56には装置識別値が格納されているにもかかわらず、対応するSA情報が内部記憶装置54に保持されていないことを確認することにより、通信装置12が、保持していたSA情報を消失させてしまったことを、通信装置12自体が検知することが可能となる。なお、本処理を開始するタイミングは、再起動時以外にも、他の実施形態では、所定の時間間隔ごと、所定の通信量超過ごと、所定のセッション数超過ごとに開始させることができ、さらに他の実施形態では、外部から重複検知パケットなどのパケットを受信したことを契機として開始させる制御とすることもできる。
【0049】
図5は、本実施形態の通信装置12が、図4のステップS201およびS202の判定処理の際にルックアップする、通信相手の装置識別値とSA情報とを対応付ける通信相手管理テーブルのデータ構造を示す。通信相手管理テーブル80は、フィールド80aとフィールド80bとを含み構成される。フィールド80aには、通信相手となる外部装置70の装置識別値がエントリされ、フィールド80bには、SA情報に割当てられたSPI、および該SPIに対応したSA情報のセキュリティ・プロトコルの種類(SA識別情報)がエントリされる。
【0050】
図5に示した通信相手管理テーブル80へのエントリは、通信装置12が外部装置70とIKEv1プロトコルによりSA情報の交換を完了させた後に実行され、装置識別値および対応するSPIとそのプロトコルが、通信相手管理テーブル80にエントリされる。なお、装置識別値としては、図5に示した実施形態では、IPv6アドレスとしたが、特に限定されるものではなく、通信相手を特定することができる情報であれば、いかなるものを採用することができる。例えば、他の実施形態では、図示しないNIC(ネットワーク・インタフェース・カード)のMAC(媒体アクセス制御)アドレスなどのリンク層アドレスや、その他、装置に割当てた識別値を装置識別値として採用することができる。その際は、該装置識別値と、IPアドレスとを対応付けるテーブルを不揮発性記憶装置56に備えていてもよい。
【0051】
また電源断の場合には、通信装置12が保持していた全てのSA情報が消失することとなるため、電源断に対応させることで充分であれば、不揮発性記憶装置56には、通信相手の装置識別値のみをエントリする構成とすることもできる。
【0052】
図4のステップS201の判定処理では、IPsec通信判定部48は、通信相手管理テーブル80をルックアップして、装置識別値がエントリされているか否かを判定する。また、図4のステップS202の判定処理では、IPsec通信判定部48は、通信相手管理テーブル80をルックアップして、該装置識別値に対応するSPIおよびプロトコルの種類を取得して、SADを検索し、該当するSA情報が存在するか否かを判定する。
【0053】
以下、通信装置12が、通信相手となる外部装置70において、保持されていたSA情報を消失させてしまったことを検知し、IPsec通信を再確立する場合の処理について説明する。図6は、本実施形態の通信装置12が実行する、外部装置70におけるSA情報の消失を検知して、IPsec通信を再確立する処理のシーケンス図を示す。
【0054】
図6の制御は、ステップS300から開始され、まず通信装置12と外部装置70との間で、IKEv1プロトコルによるSA情報の交換手続が実行される。ステップS300で、SA情報交換が完了すると、ステップS301で、両装置間でIPsec通信が行われる。図6には、通信装置12と外部装置70との間で、「SA情報(1)」が共有されていることが例示されている。
【0055】
しかし、IPsec通信が確立されている間に、外部装置70において何らかの障害の発生し、外部装置70が再起動された場合、共有されているべき「SA情報(1)」は、外部装置70から消失することとなる。そして、図6に示した制御では、通信装置12は、ステップS302で、例えば、タイマイベントなど、外部装置70におけるSA情報の消失を検知する処理をトリガするイベントの発生を検出して、ステップS303で、パケットの到達確認を要求するメッセージ(図に示した例ではpingコマンド)を、IPsec通信により外部装置70へ送信する。
【0056】
そして、外部装置70からの応答がなかった場合には、通信装置12と外部装置70との間で共有されるべきSA情報が共有されていないとし、内部記憶装置54に格納されたSA情報を削除する。そして、ステップS304では、非IPsec通信により、再び到達確認を要求するメッセージ(図に示した例では、近隣探索プロトコル:NDP)を外部装置70へ送信する。
【0057】
ステップS305で、外部装置70からの非IPsec通信による到達確認メッセージに対する応答を受信して、該外部装置70が、ネットワーク上に存在することを確認できた場合には、ステップS306で、再び新たな「SA情報(2)を交換させて、ステップS307で、「SA情報(2)を使用してIPsec通信を継続させる。
【0058】
図7は、本実施形態の通信装置12が実行する、外部装置70が保持していたSA情報の消失を検知する処理を示すフローチャート図である。図7に示した制御は、ステップS400から、例えばタイマイベントなど、外部装置70におけるSA情報の消失を検知する処理をトリガするイベント発生を契機として処理が開始され、IPsec通信判定部48は、ステップS401で、IPsec通信による到達確認メッセージを、外部装置70に対して送信する。
【0059】
ステップS402では、IPsec通信判定部48は、外部装置70からの応答があるか否かを判定する。ステップS402の判定で、応答があった場合(yes)には、処理をステップS407へ分岐させ、IPsec通信を継続させ、ステップS408で処理を終了させる。一方、ステップS402の判定で、応答がなかった場合(no)には、外部装置70がSA情報を消失させたものとし、ステップS403へ処理を分岐させ、通信装置12側の対応するSA情報を削除させる。
【0060】
次にステップS404では、非IPsec通信による到達確認メッセージを送信させて、ステップS405で、応答があるか否かを判定する。ステップS405の判定で、応答がないと判定された場合(no)には、処理をステップS408へ分岐させ処理を終了させる。この場合は、外部装置70が、ネットワークに接続されていないことを意味し、セキュア通信を再確立させる処理を実行することが非効率であるためである。
【0061】
一方、ステップS405の判定で、非IPsec通信による到達確認メッセージに対する応答があった場合(yes)には、ステップS406へ処理を分岐させ、再びIKEvプロトコルによるSA情報の再交換を行い、セキュア通信を再確立させ、ステップS407で、IPsec通信を継続させて、ステップS408で処理を終了させる。
【0062】
図7に示した処理で、IPsec通信による到達確認メッセージおよび非IPsec通信による到達確認メッセージを送信して、IPsec通信による到達確認メッセージに対する応答がなく、非IPsec通信による到達確認メッセージに対する応答があった場合に、IPsec通信を再確立させる制御とすることにより、外部装置70において、共有されているべきSA情報が消失してしまったことを検知し、効率的にIPsec通信の再確立処理を開始させることができる。
【0063】
IKEプロトコルによる鍵交換の手続は、手続を完了させるまでに処理時間がかかるため、次のデータ伝送の要求があってから接続の再確立処理を開始させたのでは、通信の迅速性の観点から充分ではない。そこで、本実施形態では上述のように、通信装置12は、SA情報を削除した後に、引き続き非IPsec通信による到達確認メッセージを送信して、応答があった場合にIPsec通信を再確立させる処理を開始させる。上記構成により、次のデータ伝送の要求が発生する前に、IPsec通信を再確立させることが可能となり、迅速で効率的にIPsec通信を再確立することを可能としている。
【0064】
なお、到達確認メッセージとしては、エコー要求メッセージ(タイプ:128)、近隣要請メッセージ(タイプ:135)などのICMPv6パケット、ARP(アドレス解決プロトコル)パケットを使用することができる。また、非IPsec通信による場合には、到達確認メッセージとしては、IPsecの対象とならない近隣要請メッセージ(タイプ:135)やARPパケットなどを使用することができる。
【0065】
IPv6プロトコルに従えば、エコー要求メッセージ、あるいは近隣要請メッセージを正常に受信した通信相手(外部装置70)は、それぞれ、エコー応答メッセージ(タイプ:129)、あるいは近隣広告メッセージ(タイプ:136)を応答することとなるため、通信相手の外部装置70に対してソフトウェア上の改変を要求することなく、通信相手12は、外部装置70との間でSA情報の共有が失われてしまったことを検知できる構成とすることが可能となる。
【0066】
図8は、通信装置12が実行する、外部装置70におけるSA情報の消失を検知して、IPsec通信を再確立する処理の他の実施形態示すシーケンス図である。なお、図8のシーケンス図は、図1のネットワーク10において、通信装置12と外部装置70とが近隣ノードを構成する場合(同一のリンクに属する場合)を想定している。図8の処理は、図6に示した処理と同様に、ステップS500から開始され、通信装置12と外部装置70との間でSA情報「SA情報(1)」の交換手続が実行され、ステップS501で、両装置間でIPsec通信が行われる。
【0067】
IPsec通信が確立されている間に、外部装置70において何らかの障害の発生し、外部装置70が再起動された場合、一般に、外部装置70は、同一リンクの近隣ノードに対して、重複アドレス検知のために近隣探索プロトコル(NDP)を送信することとなる。ステップS502では、通信装置12は、再起動した外部装置70からのNDPを受信して、ステップS503で、外部装置70からのNDPを、外部装置70におけるSA情報の消失を検知する処理をトリガするイベントとして検出し、ステップS504で、パケットの到達確認を要求するメッセージ(図の例ではping)を、IPsec通信により外部装置70へ送信する。
【0068】
そして、外部装置70からの応答がなかった場合には、通信装置12と外部装置70との間で共有されるべきSA情報が共有されていないとし、内部記憶装置54に格納されたSA情報を削除する。そして、ステップS505では、非IPsec通信により、再び到達確認を要求するメッセージ(図の例ではNDP)を外部装置70へ送信する。
【0069】
ステップS506で、外部装置70からの非IPsec通信による到達確認メッセージに対する応答を受信して、該外部装置70が、ネットワーク上に存在することを確認できた場合には、ステップS507で、再び新たなSA情報「SA情報(2)を交換して、ステップS508で、新たなSA情報を使用して、IPsec通信を継続させる。
【0070】
上述のように、外部装置70からの重複検知パケット(IPv6ではNDP、IPv4ではARPとすることができる。)を受信したことを契機として、外部装置70におけるSA情報の消失を検知する処理を開始させることによって、外部装置70における再起動を効率的に検知し、無駄なトラフィックを好適に低減させつつ、IPsec通信の再確立を行うことができる。
【0071】
図9は、通信装置12が実行する、外部装置70におけるSA情報の消失を検知して、IPsec通信を再確立する処理のさらに他の実施形態を示すシーケンス図である。図9の処理は、図6に示した処理と同様に、ステップS600から開始され、通信装置12と外部装置70との間でSA情報「SA情報(1)」の交換手続が実行され、ステップS601で、両装置間でIPsec通信が行われる。
【0072】
図9の例では、IPsec通信が確立されている間に、外部装置70において何らかの障害の発生し、外部装置70が再起動された場合、外部装置70が保持していたSA情報は、消失することとなる。しかしながら、その消失を検知していない通信装置12は、そのまま共有されていないSA情報を使用して、IPsec通信によるデータ送信を続けてしまうこととなる。そこで本実施形態では、通信装置12は、一定量のパケットを送信するたびに、到達確認メッセージを送信して、外部装置70において、SA情報が消失しているか否かを判定する。
【0073】
ステップS602では、通信装置12は、アプリケーションなどが要求する送信パケットをIPsecパケットとして送信する。この際に、パケットバッファ46へ、送信パケットを蓄積させる。ステップS603では、一定量のパケットを送信したことを契機として、ステップS604で、到達確認を要求するメッセージ(pingコマンド)をIPsec通信により外部装置70へ送信する。そして、外部装置70からの応答がなかった場合には、内部記憶装置54に格納されたSA情報を削除する。
【0074】
ステップS605では、さらに非IPsec通信により、到達確認メッセージ(NDP)を外部装置70へ送信する。そして、ステップS606で、外部装置70からの非IPsec通信による到達確認メッセージに対する応答を受信して、該外部装置70がネットワーク上に存在することを確認できた場合には、ステップS607で、再び新たなSA情報「SA情報(2)を交換して、ステップS608で、パケットバッファに蓄積しておいた送信パケットを外部装置70へ再送する。ステップS609では、新たなSA情報を使用して、IPsec通信を継続させる。
【0075】
図10は、通信装置12が実行する、一定量のパケットを送信するごとに、外部装置70におけるSA情報の消失の検知を試みる処理のフローチャートを示す。図10に示した制御は、ステップS700で、外部装置70とIPsec通信を確立させたことを受けて開始される。
【0076】
通信装置12は、ステップS701で、まず送信パケットのパケット量を計量するカウンタをリセットし、同時にパケットバッファ46内のデータも消去して初期化する。ステップS702では、IPsec通信部42は、アプリケーション60からの送信パケットを受領して、ステップS703で、順次、パケットバッファ46に格納するとともに、所定のセキュリティ・プロトコルによるIPsecパケットとして、外部装置70へ送信する。その際には、送信パケットがカウンタにより計量され、ステップS704では、送信パケット量が、予め設定されたデータ量を超過したか否かの判定が行われる。
【0077】
ステップS704の判定で、設定されたデータ量を超過していないと判定された場合(no)には、処理はステップS702へ分岐させられ、設定されたデータ量を超過するまでループさせられる。一方、ステップS704の判定で、設定されたデータ量を超過したと判定された場合(yes)には、処理をステップS705へ分岐させ、ステップS705では、図7の処理フローが呼出され、到達確認メッセージにより、外部装置70におけるSA情報の消失の検知が試みられ、消失を検知した場合には、さらにIPsec通信の再確立が試みられる。
【0078】
ステップS706では、ステップS705で呼出された処理により、消失を検知したか否かの判定を行い、消失が検知されていなかった場合(no)には、ステップS701へ分岐させられ、カウンタをリセットし、パケットバッファ46をクリアして、処理を繰り返す。一方、ステップS706の判定で、消失を検知した場合(yes)は、ステップS707で、IPsec通信が再確立されていれば、再確立したIPsec通信を使用して、パケットバッファ46に蓄積されている送信パケットをIPsecパケット化して、外部装置70へ再送し、ステップS701へ再びループさせる。
【0079】
図10に示した処理フローにより、通信装置12が、外部装置70におけるSA情報の消失を検知しないまま送信し続けられた可能性のあるパケットを再送させることを可能とし、再びアプリケーション60で再発行させる必要がなく、効率的にIPsec通信を継続させることが可能となる。
【0080】
図11は、通信装置12が実行する、外部装置70におけるSA情報の消失を検知して、IPsec通信を再確立する処理のさらに他の実施形態を示すシーケンス図である。図11の処理は、図9に示した処理と大部分において同一であるため、相違点のみを説明する。本実施形態では、通信装置12は、一定量のセッション数を超過させるたびに、外部装置70においてSA情報が消失してしまっていないか否かを判定する処理を開始する。
【0081】
ステップS800およびステップS801の処理は、図9に示したステップS600およびステップS601に対応する。ステップS802では、通信装置12は、IPsec通信によりパケットを送信し、ステップS803で、所定のセッション数を超過したこと契機として、ステップS804で、パケットの到達確認メッセージを送信して、外部装置70側でSA情報が消失してしまったか否かを検知する。なお、ステップS804〜ステップS808の処理は、図9に示したステップS604〜ステップS609(ステップS608を除く)の処理に対応する。
【0082】
図12は、通信装置12が実行する、外部装置70におけるSA情報の消失を検知して、IPsec通信を再確立する処理のさらに他の実施形態を示すシーケンス図である。図12の処理についても、図9に示した処理と大部分において同一であるため、相違点のみを説明する。本実施形態では、通信装置12は、一定時間経過したごとに、外部装置70においてSA情報が消失してしまっていないか否かを判定する。
【0083】
ステップS900およびステップS901の処理は、図9に示したステップS600およびステップS601に対応する。ステップS902では、通信装置12は、IPsec通信によりパケットを送信し、ステップS903で、所定時間が経過したこと契機として、ステップS904で、パケットの到達確認メッセージを送信して、外部装置70側でSA情報が消失してしまったか否かを検知する。なお、ステップS904〜ステップS908の処理は、図9に示したステップS604〜ステップS609(ステップS608を除く)の処理に対応する。
【0084】
以上、再起動したこと、重複検知パケット受信したこと、一定パケット量を送信したこと、一定セッション数を超過したこと、一定時間経過したことを外部装置70におけるSA情報の消失を検知する処理をトリガするイベントとして検出して、処理を開始させる処理フローについて説明してきた。なお、上記一定パケット量、一定セッション数、一定時間、またこれらイベントの中で、どのイベントをトリガイベントとするかについての設定情報は、IPsec設定保存部52に保存しておくことができる。また、一定セッション数を超過したこと、一定時間経過したことを外部装置70におけるSA情報の消失を検知する処理をトリガするイベントとして検出して、処理を開始させる場合についても、充分な容量のパケットバッファ46を確保することにより、再送させる制御とすることができる。
【0085】
以下、上述の通信装置12を、デジタル複合機などの複合機能を有する画像形成装置として構成した場合の、画像形成装置の概略構成を説明する。図13は、複数の機能を備えた画像形成装置100のハードウェアおよびソフトウェア構成の実施形態を示した概略図である。画像形成装置100は、タッチパネルといった操作パネルまたはディスプレイ装置および入力キーなどを備えたユーザ・インタフェース(I/F)160を備えている。ユーザI/F160は、ユーザ指令に応答して、コピーやファクシミリやモノクロコピーやフルカラーコピーなど、画像形成装置としての機能をユーザに提供している。また、画像形成装置100は、外部コンピュータからの入力に応答して、プリンタやファクシミリとしても機能する。
【0086】
図13に示した画像形成装置100は、複数の機能を提供するための各種アプリケーション132〜140からなるアプリケーション部130と、プラットフォーム部110とを含んで構成される。アプリケーション部130は、プリンタ、コピー、ファックスやスキャナなどの画像形成装置に関連するユーザ・サービスに固有の処理を行い、図13に示した実施形態では、コピー・アプリケーション132と、ファックス・アプリケーション134と、スキャナ・アプリケーション136と、ネットファイル・アプリケーション138と、プリンタ・アプリケーション140とを含み構成される。
【0087】
プラットフォーム部110は、カーネル/OS112とともにアプリケーション部130からの処理要求を解釈して、ハードウェア等の各種リソースの獲得要求を発生する各種制御部114〜128を含み構成される。OSとしては例えば、UNIX(登録商標)を採用することができるが、その他いかなるOSを採用することができる。各種制御部としては、図13に示した実施形態では、ドキュメント制御部114と、オペレーション制御部116と、メモリ制御部118と、システム制御部120と、セキュリティ制御部122と、ネットワーク制御部124と、ファックス制御部126と、エンジン制御部128とを含んで構成される。プラットフォーム部110とアプリケーション部130との間には、アプリケーション・プログラム・インタフェース(API)142が設けられていて、プラットフォーム部110は、APIに含まれる予め定義された関数によりアプリケーション部130の各アプリケーションからの処理要求を受信している。
【0088】
なお、アプリケーション部130に含まれる各種アプリケーション、プラットフォーム部60に含まれる各種制御部の構成は任意であり、特定の用途に応じて、種々の組み合わせにより構成することができる
【0089】
ネットワーク制御部(NCS)124は、イーサネット(登録商標)などのネットワーク・インタフェース(I/F)154と接続され、ネットワークI/Oを必要とするアプリケーションに対して共通に利用可能なサービスを提供し、ネットワーク162側から各プロトコルによって受信したデータを各アプリケーションに振り分け、各アプリケーションからのデータをネットワーク162側に送信する際の仲介を行う。さらに、図2に示したネットワーク制御部40の各機能部42〜52は、図13に示した画像形成装置100のネットワーク制御部124に含まれることとなる。
【0090】
また、図13に示した画像形成装置100は、NVRAM152と、その他外部デバイスと接続するための外部デバイス・インタフェース(I/F)156と、GSTNインタフェース(I/F)158を備え、画像処理装置の入出力を可能としている。NVRAM152には、各種IPsec設定情報や上述の通信相手管理テーブル80を格納することができる。
【0091】
画像形成装置100は、各種演算を行う図示しないCPUと、各種制御プログラムを記憶する図示しないROMと、CPUの作業メモリ領域を提供する図示しないRAMとを含み構成され、上記機能手段は、ROMやHDD150や外部デバイス(SDメモリカード)などの外部記憶装置に格納されたプログラム(図示せず)をRAMのメモリ領域にロードすることにより実現される。
【0092】
画像形成装置100のように、PCなどと比較して操作画面が限定されてしまう通信装置においては、SA情報の不整合などによりIPsec通信が切断されてしまった場合、その原因の特定や復旧が困難であるという問題点がある。SA情報の共有が消失してしまったことを検知して、IPsec通信を再確立させる制御とすることによって、より安定性の高い、画像形成装置固有のサービスをユーザに提供することを可能とする。
【0093】
以上、説明したように、本発明によれば、通信装置と通信相手との間で、セキュリティ共有情報の共有を消失してしまった場合であっても、効率的にその消失を検知し、セキュア通信を再確立させることを可能とし、セキュア通信の安定性を効果的に向上させることを可能とする通信装置、通信方法およびプログラムを提供することができる。
【0094】
なお、明細書中では、IPsecバージョン2および、RFC2409に規定されるIKEv1を用いて説明してきた。しかしながら、IPsecバージョン3および、IKEv1の後継番であるRFC4306として規定されるIKEv2であっても、同様に適用することができる。また、上述では、IKEv1プロトコルによるSA交換手続として、詳細を省略して説明してきたが、SA情報交換手続は、フェーズ1およびフェーズ2の2段階の処理から構成され、それぞれおフェーズ1で確立される双方向性のISAKMP_SAおよびフェーズ2で確立される単方向性のIPsec_SAとが交換されることとなる。IPsecバージョン3では、これらのSA情報は、SPIのみ(ESPとAHとの間で重複しないようにSPIが割当てられる場合)、あるいはSPIとセキュリティ・プロトコルの種類との組合わせにより識別することができる。
【0095】
また、本発明の上記機能は、アセンブラ、C、C++、C#、Java(登録商標)、などのレガシープログラミング言語やオブジェクト指向ブログラミング言語などで記述された装置実行可能なプログラムにより実現でき、SDメモリ、MO、EEPROM、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM、CD−RW、DVDなど装置可読な記録媒体に格納して頒布することができる。また、上記機能は、システム・メモリおよびCPUにより構成され、各機能を実現するためのプログラムをシステム・メモリにロードして実行することにより実現させることができる。
【0096】
以上、本発明を図面に示した実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【図面の簡単な説明】
【0097】
【図1】通信装置12が接続されるネットワーク10の実施形態を示した概略図。
【図2】通信装置12のソフトウェア構成を示したブロック図。
【図3】通信装置12におけるSA情報の消失を検知して、IPsec通信を再確立する処理のシーケンス図。
【図4】通信装置12が保持していたSA情報の消失を検知する処理を示すフローチャート。
【図5】通信相手の装置識別値とSA情報とを対応付ける通信相手管理テーブルのデータ構造を示す図。
【図6】外部装置70におけるSA情報の消失を検知して、IPsec通信を再確立する処理のシーケンス図。
【図7】外部装置70が保持していたSA情報の消失を検知する処理を示すフローチャート図。
【図8】外部装置70におけるSA情報の消失を検知して、IPsec通信を再確立する処理の他の実施形態示すシーケンス図。
【図9】外部装置70におけるSA情報の消失を検知して、IPsec通信を再確立する処理のさらに他の実施形態を示すシーケンス図。
【図10】一定量のパケットを送信するごとに、外部装置70におけるSA情報の消失の検知を試みる処理のフローチャート。
【図11】外部装置70におけるSA情報の消失を検知して、IPsec通信を再確立する処理のさらに他の実施形態を示すシーケンス図。
【図12】外部装置70におけるSA情報の消失を検知して、IPsec通信を再確立する処理のさらに他の実施形態を示すシーケンス図。
【図13】複数の機能を備えた画像形成装置100のハードウェアおよびソフトウェア構成の実施形態を示した概略図。
【符号の説明】
【0098】
10…ネットワーク、12…通信装置、14…ルータ、16、18…リンク、30…OS、32…ネットワーク通信ドライバ、34…ネットワーク・プロトコル、40…ネットワーク制御部、42…IPsec通信部、44…SA交換処理部、46…パケットバッファ、48…IPsec通信判定部、50…IPsecセッション情報管理部、52…IPsec設定保存部、54…内部記憶装置、56…不揮発性記憶装置、60…アプリケーション、70…外部装置、80…通信相手管理テーブル、80a、80b…フィールド、100…画像形成装置、110…プラットフォーム部、112…カーネル/OS、114…ドキュメント制御部、116…オペレーション制御部、118…メモリ制御部、120…システム制御部、122…セキュリティ制御部、124…ネットワーク制御部、126…ファックス制御部、128…エンジン制御部、130…アプリケーション部、132…コピー・アプリケーション、134…ファックス・アプリケーション、136…スキャナ・アプリケーション、138…ネットファイル・アプリケーション、140…プリンタ・アプリケーション、142…API、150…HDD、152…NVRAM、154…ネットワーク・インタフェース、156…外部デバイス・インタフェース、158…GSTNインタフェース、160…ユーザ・インタフェース、162…ネットワーク
【特許請求の範囲】
【請求項1】
ネットワークに接続され、外部装置とデータ通信を行う通信装置であって、前記通信装置は、
セキュア通信で使用するセキュリティ共有情報を、前記外部装置との間で交換して、記憶手段に保持する交換手段と、
前記通信装置または前記外部装置のいずれかが、保持していた前記セキュリティ共有情報の共有を消失させたことを検知し、前記セキュリティ共有情報の共有を消失させたことを検知した場合に、前記交換手段に対して、再び、新たなセキュリティ共有情報を交換させる再確立判断手段と
を含む通信装置。
【請求項2】
前記通信装置は、前記セキュリティ共有情報の交換を完了させた前記外部装置の識別値を格納する不揮発性記憶手段をさらに含み、前記再確立判断手段は、前記不揮発性記憶手段から前記識別値を取得して、前記セキュリティ共有情報を前記記憶手段が保持しているか否かを判定して、前記通信装置が前記セキュリティ共有情報の共有を消失させたことを検知する、請求項1に記載の通信装置。
【請求項3】
前記再確立判断手段は、前記セキュア通信による到達確認メッセージを前記外部装置に送信して、応答があるか否かを判定することによって、前記外部装置が前記セキュリティ共有情報の共有を消失させたことを検知し、応答がないと判定された場合に、前記記憶手段が保持していた前記セキュリティ共有情報を消去し、さらに、非セキュア通信による到達確認メッセージを前記外部装置に送信して、応答があると判定された場合に、前記交換手段に対して、前記新たなセキュリティ共有情報を交換させる、
請求項1または2に記載の通信装置。
【請求項4】
前記再確立判断手段は、再起動するごと、前記外部装置からのアドレス重複検知パケットの受信するごと、所定の通信量超過ごと、所定のセッション数超過ごと、または所定の時間経過ごとに、前記セキュリティ共有情報の共有を消失させたことの検知を試みる、請求項1〜3のいずれか1項に記載の通信装置。
【請求項5】
前記通信装置は、送信データを蓄積する送信バッファを備え、前記再確立判断手段は、前記新たなセキュリティ共有情報を交換させた後、前記送信バッファに蓄積された送信データを、前記新たなセキュリティ共有情報を使用して前記外部装置に送信する、請求項1〜4のいずれか1項に記載の通信装置。
【請求項6】
ネットワークに接続され、外部装置とデータ通信を行う通信装置が実行する装置実行可能な通信方法であって、前記通信方法は、
セキュア通信で使用するセキュリティ共有情報を、前記外部装置との間で交換して、記憶手段に保持するステップと、
前記セキュア通信による到達確認メッセージを前記外部装置に送信して、セキュア通信に対する応答があるか否かを判定するステップと、
前記セキュア通信に対する判定するステップで、応答がないと判定された場合に、前記記憶手段が保持していた前記セキュリティ共有情報を消去するステップと、
非セキュア通信による到達確認メッセージを前記外部装置に送信して、非セキュア通信に対する応答があるか否かを判定するステップと、
前記非セキュア通信に対する応答があると判定された場合に、前記外部装置と、新たなセキュリティ共有情報を交換させるステップと
を含む通信方法。
【請求項7】
ネットワークに接続され、外部装置とデータ通信を行う通信装置が実行する装置実行可能な通信方法であって、前記通信方法は、
セキュア通信で使用するセキュリティ共有情報を、前記外部装置との間で交換して、記憶手段に保持するステップと、
前記セキュリティ共有情報の交換を完了させた前記外部装置の識別値を、不揮発性記憶手段に格納するステップと、
前記不揮発性記憶手段から前記識別値を取得して、前記セキュリティ共有情報を前記記憶手段が保持しているか否かを判定するステップと、
前記判定するステップで、前記セキュリティ共有情報を前記記憶手段が保持していないと判定された場合に、前記外部装置と、新たなセキュリティ共有情報を交換させるステップと
を含む通信方法。
【請求項8】
ネットワークに接続され、外部装置とデータ通信を行う通信装置が実行可能なプログラムであって、前記プログラムは、前記通信装置に対し、
セキュア通信で使用するセキュリティ共有情報を、前記外部装置との間で交換して、記憶手段に保持する交換手段と、
前記通信装置または前記外部装置のいずれかが、保持していた前記セキュリティ共有情報の共有を消失させたことを検知し、前記セキュリティ共有情報の共有を消失させたことを検知した場合に、前記交換手段に対して、再び、新たなセキュリティ共有情報を交換させる再確立判断手段と
を実現するプログラム。
【請求項9】
前記プログラムは、前記通信装置に対し、前記セキュリティ共有情報の交換を完了させた前記外部装置の識別値を格納する不揮発性記憶手段をさら実現し、前記再確立判断手段は、前記不揮発性記憶手段から前記識別値を取得して、前記セキュリティ共有情報を前記記憶手段が保持しているか否かを判定して、前記通信装置が前記セキュリティ共有情報の共有を消失させたことを検知する、請求項8に記載のプログラム。
【請求項10】
前記再確立判断手段は、前記セキュア通信による到達確認メッセージを前記外部装置に送信して、応答があるか否かを判定することによって、前記外部装置が前記セキュリティ共有情報の共有を消失させたことを検知し、応答がないと判定された場合に、前記記憶手段が保持していた前記セキュリティ共有情報を消去し、さらに、非セキュア通信による到達確認メッセージを前記外部装置に送信して、応答があると判定された場合に、前記交換手段に対して、前記新たなセキュリティ共有情報を交換させる、
請求項8または9に記載のプログラム。
【請求項1】
ネットワークに接続され、外部装置とデータ通信を行う通信装置であって、前記通信装置は、
セキュア通信で使用するセキュリティ共有情報を、前記外部装置との間で交換して、記憶手段に保持する交換手段と、
前記通信装置または前記外部装置のいずれかが、保持していた前記セキュリティ共有情報の共有を消失させたことを検知し、前記セキュリティ共有情報の共有を消失させたことを検知した場合に、前記交換手段に対して、再び、新たなセキュリティ共有情報を交換させる再確立判断手段と
を含む通信装置。
【請求項2】
前記通信装置は、前記セキュリティ共有情報の交換を完了させた前記外部装置の識別値を格納する不揮発性記憶手段をさらに含み、前記再確立判断手段は、前記不揮発性記憶手段から前記識別値を取得して、前記セキュリティ共有情報を前記記憶手段が保持しているか否かを判定して、前記通信装置が前記セキュリティ共有情報の共有を消失させたことを検知する、請求項1に記載の通信装置。
【請求項3】
前記再確立判断手段は、前記セキュア通信による到達確認メッセージを前記外部装置に送信して、応答があるか否かを判定することによって、前記外部装置が前記セキュリティ共有情報の共有を消失させたことを検知し、応答がないと判定された場合に、前記記憶手段が保持していた前記セキュリティ共有情報を消去し、さらに、非セキュア通信による到達確認メッセージを前記外部装置に送信して、応答があると判定された場合に、前記交換手段に対して、前記新たなセキュリティ共有情報を交換させる、
請求項1または2に記載の通信装置。
【請求項4】
前記再確立判断手段は、再起動するごと、前記外部装置からのアドレス重複検知パケットの受信するごと、所定の通信量超過ごと、所定のセッション数超過ごと、または所定の時間経過ごとに、前記セキュリティ共有情報の共有を消失させたことの検知を試みる、請求項1〜3のいずれか1項に記載の通信装置。
【請求項5】
前記通信装置は、送信データを蓄積する送信バッファを備え、前記再確立判断手段は、前記新たなセキュリティ共有情報を交換させた後、前記送信バッファに蓄積された送信データを、前記新たなセキュリティ共有情報を使用して前記外部装置に送信する、請求項1〜4のいずれか1項に記載の通信装置。
【請求項6】
ネットワークに接続され、外部装置とデータ通信を行う通信装置が実行する装置実行可能な通信方法であって、前記通信方法は、
セキュア通信で使用するセキュリティ共有情報を、前記外部装置との間で交換して、記憶手段に保持するステップと、
前記セキュア通信による到達確認メッセージを前記外部装置に送信して、セキュア通信に対する応答があるか否かを判定するステップと、
前記セキュア通信に対する判定するステップで、応答がないと判定された場合に、前記記憶手段が保持していた前記セキュリティ共有情報を消去するステップと、
非セキュア通信による到達確認メッセージを前記外部装置に送信して、非セキュア通信に対する応答があるか否かを判定するステップと、
前記非セキュア通信に対する応答があると判定された場合に、前記外部装置と、新たなセキュリティ共有情報を交換させるステップと
を含む通信方法。
【請求項7】
ネットワークに接続され、外部装置とデータ通信を行う通信装置が実行する装置実行可能な通信方法であって、前記通信方法は、
セキュア通信で使用するセキュリティ共有情報を、前記外部装置との間で交換して、記憶手段に保持するステップと、
前記セキュリティ共有情報の交換を完了させた前記外部装置の識別値を、不揮発性記憶手段に格納するステップと、
前記不揮発性記憶手段から前記識別値を取得して、前記セキュリティ共有情報を前記記憶手段が保持しているか否かを判定するステップと、
前記判定するステップで、前記セキュリティ共有情報を前記記憶手段が保持していないと判定された場合に、前記外部装置と、新たなセキュリティ共有情報を交換させるステップと
を含む通信方法。
【請求項8】
ネットワークに接続され、外部装置とデータ通信を行う通信装置が実行可能なプログラムであって、前記プログラムは、前記通信装置に対し、
セキュア通信で使用するセキュリティ共有情報を、前記外部装置との間で交換して、記憶手段に保持する交換手段と、
前記通信装置または前記外部装置のいずれかが、保持していた前記セキュリティ共有情報の共有を消失させたことを検知し、前記セキュリティ共有情報の共有を消失させたことを検知した場合に、前記交換手段に対して、再び、新たなセキュリティ共有情報を交換させる再確立判断手段と
を実現するプログラム。
【請求項9】
前記プログラムは、前記通信装置に対し、前記セキュリティ共有情報の交換を完了させた前記外部装置の識別値を格納する不揮発性記憶手段をさら実現し、前記再確立判断手段は、前記不揮発性記憶手段から前記識別値を取得して、前記セキュリティ共有情報を前記記憶手段が保持しているか否かを判定して、前記通信装置が前記セキュリティ共有情報の共有を消失させたことを検知する、請求項8に記載のプログラム。
【請求項10】
前記再確立判断手段は、前記セキュア通信による到達確認メッセージを前記外部装置に送信して、応答があるか否かを判定することによって、前記外部装置が前記セキュリティ共有情報の共有を消失させたことを検知し、応答がないと判定された場合に、前記記憶手段が保持していた前記セキュリティ共有情報を消去し、さらに、非セキュア通信による到達確認メッセージを前記外部装置に送信して、応答があると判定された場合に、前記交換手段に対して、前記新たなセキュリティ共有情報を交換させる、
請求項8または9に記載のプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2008−205763(P2008−205763A)
【公開日】平成20年9月4日(2008.9.4)
【国際特許分類】
【出願番号】特願2007−38877(P2007−38877)
【出願日】平成19年2月20日(2007.2.20)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
【公開日】平成20年9月4日(2008.9.4)
【国際特許分類】
【出願日】平成19年2月20日(2007.2.20)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
[ Back to top ]