(57)【要約】【課題】簡易な多重化構成をとった場合でも、障害による切り替え時に暗号鍵等の再生成が不要な暗号通信装置および暗号通信システムを提供する。【解決手段】常用系の暗号通信装置１０６が対向側の常用系暗号通信装置１０８との間で暗号鍵交換プロトコル実行後、暗号鍵等の暗号通信中に固定の情報を専用ネットワーク１１０を通して待機系の暗号通信装置１０７へ転送すると同時に、暗号通信装置１０６と暗号通信装置１０７のそれぞれが暗号通信相手毎にシーケンス番号等の暗号通信中に変化する情報の初期化をすべて行っておき、常用系と待機系の切り替え時の情報交換を不要とする。【効果】暗号通信システム障害発生時でも、暗号鍵等の再生成を伴わない速やかな暗号通信装置の切り替えが可能となり、システムの可用性が高まる。【選択図】  図１
2004328563.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信回線の間でパケットを中継する手段と、前記パケットの暗号化および復号化を行う暗号処理手段と、前記暗号化および復号化に必要な暗号処理情報を決定する暗号処理情報決定手段と、前記暗号処理情報を保持する暗号処理情報記憶手段と、前記暗号処理情報を多重化された他の暗号通信装置との間で送受信する暗号処理情報送受信手段を備えた暗号通信装置であって、前記暗号処理情報決定手段により前記暗号処理情報が生成されたとき、前記暗号処理情報のうち暗号通信中に変化しない情報を前記暗号処理情報記憶手段に格納するとともに、前記暗号処理情報送受信手段により前記多重化された暗号通信装置に渡す手段と、前記暗号処理情報のうち暗号通信中に変化する情報を前記暗号通信の相手となる暗号通信装置毎に記憶領域を設けて格納する手段を設け、さらに、前記暗号処理情報送受信手段を通して前記暗号処理情報のうち暗号通信中に変化しない情報を受信したときに、前記暗号処理情報のうち暗号通信中に変化しない情報を前記暗号処理情報記憶手段に格納するとともに、前記暗号処理情報のうち暗号通信中に変化する情報を前記暗号通信の相手となる暗号通信装置毎に記憶領域を設けて格納する手段を設けたことを特徴とする暗号通信装置。
【請求項２】
請求項１の暗号通信装置を複数備える暗号通信システムであって、多重化構成をとる複数の前記暗号通信装置が相互に状態を監視する状態監視手段と、前記状態監視手段が前記多重化構成をとる他の暗号通信装置の異常を検出したときに前記他の暗号通信装置の通信相手となっていた暗号通信装置に対し通信相手切り換え通知を送る切り換え通知手段とを備えたことを特徴とする暗号通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信データの暗号化と復号化を行う暗号処理手段を備えた暗号通信装置および暗号通信システムに関し、特に装置や通信回線の多重化によるシステムの高信頼化に好適な暗号通信装置および暗号通信システムに関する。
【０００２】
【従来の技術】
インターネットのような共用ネットワーク上で盗聴や改ざん等の行為から通信データを守る手段の一つとして、ＩＰセキュリティと呼ばれる暗号通信技術が従来より用いられている。
【０００３】
ＩＰセキュリティ技術の利用形態としては、たとえばインターネットと組織ネットワークを接続するルータなどのゲートウェイ装置にＩＰセキュリティ機能を搭載した暗号通信装置を設置し、異なる二つの組織ＡとＢのネットワーク内に存在する端末がインターネットを経由して通信を行う際、前記組織Ａ内の前記暗号通信装置が前記組織Ａ内の端末からの通信データを暗号化してインターネットに中継し、前記組織Ｂ内の前記暗号通信装置が前記暗号化された通信データを受け取った後、復号化して前記組織Ｂ内の端末に中継するという形態がある。この形態では、組織ネットワークの中の各端末に暗号通信機能がなくてもインターネット上で安全な通信が可能となり、インターネットを一種の専用線のように利用できるメリットがある。
【０００４】
ところで、企業のように通信システムの高可用性を重視する組織では、種々のネットワーク障害に備えて通信回線やゲートウェイ装置を多重化したシステムを組む場合がある。ところが、このようなシステムで前述のＩＰセキュリティ機能を搭載した暗号通信装置を利用した場合、障害発生時の暗号通信装置切り替えに非常に時間がかかってしまうという問題が発生する。これは、ＩＰセキュリティの暗号通信で利用される暗号鍵等の暗号化パラメータが、暗号通信を行う双方の暗号通信装置のＩＰアドレスの組ごとに生成・管理されるためである。障害により暗号通信を行う暗号通信装置が切り替わると、それまで利用していた暗号化パラメータをすべて破棄して新たな暗号化パラメータを生成しなければならない。暗号鍵の生成は多大な計算量を必要とするため、特にインターネットを介して多数の組織と接続していて一度に多数の暗号鍵を再生成しなければならない場合に多大な処理時間が必要となってしまう。また、仮に前記暗号化パラメータを多重化した暗号通信装置同士で共有できたとしても、暗号化パラメータの中には再送攻撃検出のためのシーケンス番号のように暗号通信中に逐次変化するパラメータがあり、このパラメータまで含めて前記多重化した暗号通信同士で暗号化パラメータを共有するためには、ゲートウェイ間でシーケンス番号の同期をとるための多量の通信が必要となってしまう。
【０００５】
このような問題を解決するために、たとえば特許文献１に記載のような従来技術がある。この従来技術は、ＶＲＲＰ（Ｖｉｒｔｕａｌ  Ｒｏｕｔｅｒ  Ｒｅｄｕｎｄａｎｃｙ  Ｐｒｏｔｏｃｏｌ）と呼ばれる技術により複数の暗号通信装置をインターネット側から１台の仮想的な暗号通信装置に見えるように構成し、障害発生による暗号通信装置の切り替えが起こっても暗号通信を行っている相手に対して暗号通信装置のＩＰアドレスは変わっていないように見せることで暗号化パラメータの再生成を不要とし、さらに暗号通信実行中に変化するシーケンス番号は、利用する番号範囲を事前に分割し、通信を行う装置の組み合わせによって利用する番号が重複しないように。割り当てておくことで暗号通信中にシーケンス番号の同期をとるための通信を不要としたものである。
【０００６】
【特許文献１】
特開２００２−２４７１１３号公報
【０００７】
【発明が解決しようとする課題】
上記従来技術は、インターネット側に対しＶＲＲＰによる複数の暗号通信装置の仮想化が可能な場合を前提とした方法である。ところが、ＶＲＲＰは本来、組織内ネットワーク側に接続されるホストに対して多重化されたゲートウェイ装置を１台に見せるために考案された技術であり、システム構成によっては、システム構成する装置数を減らすためにシステムの簡略化を行い、そのためにインターネット側に対するゲートウェイ装置の仮想化が行えない場合も存在する。上記従来技術は、このようなインターネット側に対してＶＲＲＰの適用が不可能な簡易なシステム構成の場合に、多重化された複数の暗号通信装置間で暗号鍵情報を共有することができないという問題があった。
【０００８】
本発明の目的は、異なるＩＰアドレスを持って多重化構成をとった状態でも暗号鍵情報の共有が可能な暗号通信装置を提供することにある。
【０００９】
本発明の他の目的は、通信回線と該通信回線に接続される暗号通信装置を多重化構成し、障害が発生した場合でも暗号通信装置を速やかに切り換え可能とした暗号通信システムを提供することにある。
【００１０】
【課題を解決するための手段】
上記目的を達成するために、本発明の暗号通信装置では、暗号通信に必要な情報のうち、暗号鍵のように固定情報はそれらが決定した段階で前記固定情報を決定した暗号通信装置が他のすべての多重化された暗号通信装置へ配布する手段と、前記固定情報が決定した段階または他の暗号通信装置から配布された段階で、暗号通信に必要な情報のうち可変情報を管理する領域を通信相手となる暗号通信装置ごとに個別に用意して初期化する手段と、通信相手となる対向側暗号通信装置との間で正常に通信が行えているかどうかを監視する手段と、多重化された他の暗号通信装置との間で暗号通信装置の活性状態を監視する手段を設け、障害による系切り替えが発生したときに、前記固定的な情報は引き続き使用し、可変情報は前記系切り替えにより新たな通信相手となった暗号通信装置に対応する領域で管理されるものを使用するように切り換えることで、障害による系切り替えが発生しても新たな暗号鍵情報の生成と、多重化された暗号通信装置間での暗号通信に必要な可変情報の受け渡しを不要としているものである。
【００１１】
さらに、外部ネットワークとの接続回線を複数持つネットワークにおいて、前記暗号通信装置を前記接続回線毎に設けることで、前記接続回線、前記外部ネットワーク、あるいは前記暗号通信装置の障害が発生した場合でも、暗号通信に必要な情報の再生成を行うことなく、速やかに異常のない通信経路と暗号通信装置へ切り換え、暗号通信の可用性を高めた暗号通信システムとしたものである。
【００１２】
【発明の実施の形態】
以下、本発明の実施例を図面を用いて説明する。
【００１３】
図１は、本発明の一実施例による暗号通信装置を利用した暗号通信システムの全体構成を示したものである。図中、１０１はインターネットなどの外部ネットワーク、１０２，１０３は外部ネットワーク１０１に接続される組織ネットワーク、１０４，１０５は、それぞれ組織ネットワーク１０２，１０３を構成するローカルエリアネットワーク、１０６，１０７は、外部ネットワーク１０１とローカルエリアネットワーク１０４を接続する暗号通信装置、１０８，１０９は、外部ネットワーク１０１とローカルエリアネットワーク１０５を接続する暗号通信装置、１１０，１１１はそれぞれ暗号通信装置１０６と１０７、および１０８と１０９の間で直接情報交換を行うための専用ネットワーク、１１２，１１３はローカルエリアネットワーク１０４に接続されるホスト、１１４，１１５はローカルエリアネットワーク１０５に接続されるホストである。ここでホストとは、サーバやパソコン端末など、ローカルエリアネットワークに接続されるコンピュータ装置を指す。
【００１４】
本構成において、組織ネットワーク１０２内のホスト１１２または１１３と、組織ネットワーク１０３内のホスト１１４またはホスト１１５が外部ネットワーク１０１を経由してパケットによるデータ通信を行う際、前記パケットが暗号通信装置１０６，１０７，１０８，１０９によって暗号化および復号化処理され、前記パケットが外部ネットワーク１０１上を暗号化された状態で流れるように動作する。ここで、暗号通信装置１０６と１０７、および、１０８と１０９はそれぞれ多重化構成された暗号通信装置として働き、通常は１０６か１０７のいずれか、および、１０８か１０９のいずれかが常用系、他方が待機系となる。運用中にネットワーク１０１を構成する通信回線や前記暗号通信装置自体の障害等により前記常用系同士での通信が不可能となった時、前記待機系に切り換える処理を行うことで障害が発生しても通信を継続できる高信頼なネットワークシステムを構成する。なお、暗号通信装置１０６と１０７は、ローカルエリアネットワーク１０４側に対してはＶＲＲＰによる１台の仮想的なゲートウェイとして動作するようになっており、ローカルエリアネットワーク１０４上のホストからのパケットは常用系となっている暗号通信装置が受信して暗号化処理と外部ネットワーク１０１側への中継処理を行う。同様に、暗号通信装置１０８と１０９も、ローカルエリアネットワーク１０５側に対しては１台の仮想的なゲートウェイとして動作する。
【００１５】
図２は、暗号通信装置１０６の内部構成を示した図である。図中、２０１はローカルエリアネットワーク１０４と外部ネットワーク１０１の間でパケットを中継するパケット転送部、２０２は、パケット転送部２０１がパケットを中継する際に、必要に応じて前記パケットの暗号化処理または復号化処理を実行するパケット暗号・復号部、２０３は外部ネットワーク１０１を経由して通信を行う対向側の暗号通信装置の状態を監視する対向装置状態監視部、２０４は組織ネットワーク１０２内で多重化構成をとる他の暗号通信装置の状態を監視するグループ装置状態監視部、２０５は外部ネットワーク１０１を経由して対向側の暗号通信装置との間で暗号鍵等の暗号化パラメータの折衝、交換を行うプロトコルを実行する暗号鍵交換プロトコル処理部、２０６はパケット転送部２０１がパケットを中継する際、前記パケットを暗号化処理すべきかどうかの判断に必要な情報を格納する暗号通信ポリシテーブル、２０７は暗号鍵交換プロトコル処理部２０５が暗号鍵交換プロトコルを実行した結果として生成された暗号化パラメータを格納する暗号化パラメータテーブル、２０８は対向装置状態監視部２０３により得られた対向側の暗号通信装置の状態等を格納する対向装置状態監視部、２０９は多重化構成をとる他の暗号通信装置に関してグループ装置状態監視部２０４により得られた状態情報等を格納するグループ装置状態テーブルである。暗号通信装置１０７，１０８，１０９も同様の内部構成である。
【００１６】
図３は、暗号通信ポリシテーブル２０６と暗号化パラメータテーブル２０７の詳細な内容を示した図であり、それぞれ一つまたは複数のエントリから構成される。図中、３０１は暗号通信ポリシテーブル２０６内の一つのエントリである暗号通信ポリシエントリ、３０２は暗号通信ポリシエントリ３０１を一意に識別するための暗号通信ポリシ識別子、３０３は暗号通信ポリシエントリ３０１に合致するパケットの送信元アドレスを指定する暗号化対象パケット送信元アドレス、３０４は暗号通信ポリシエントリ３０１に合致するパケットが含む宛て先アドレスを指定する暗号化対象パケット宛て先アドレス、３０５は暗号化対象パケット送信元アドレス３０３と暗号化対象パケット宛て先アドレス３０４の指定に合致したパケットに適用する暗号化パラメータテーブル２０７のエントリを指し示す暗号化パラメータテーブルポインタである。
【００１７】
暗号化対象パケット送信元アドレス３０３と暗号化対象パケット宛て先アドレス３０４には、それぞれ単独のホストを指し示すアドレス以外に、ネットワークアドレスとサブネットマスクの組み合わせによるネットワークの指定も可能とする。この場合、前記ネットワークに含まれるすべてのホストが送受信するパケットが対象となり、たとえば「組織ネットワーク１０２内のホストと組織ネットワーク１０３内のホストとの間で行われるすべての通信を暗号化する」といった暗号通信ポリシの指定が可能となる。
【００１８】
また、暗号化パラメータテーブル２０７の構成要素について、３０６は暗号化パラメータテーブル２０７の一つのエントリである暗号化パラメータエントリ、３０７は暗号化パラメータエントリ３０６を一意に識別するための暗号化パラメータ識別子、３０８は暗号化パラメータエントリ３０６によるパケット暗号化に利用する暗号アルゴリズム、３０９は暗号化パラメータエントリ３０６によるパケット暗号化に利用する暗号鍵、３１０は前記暗号化パラメータエントリにより暗号化したパケットの送信先暗号通信装置の一覧を指し示す対向装置リストである。
【００１９】
対向装置リスト３１０が示すテーブルは複数のエントリがリスト構造で管理されるもので、一つの前記エントリが一つの前記送信先暗号通信装置に関連した情報を保持する。図中、３１１は前記エントリの一つである対向装置エントリ、３１２は前記送信先暗号通信装置を指定する対向装置アドレス、３１３は前記送信先暗号通信装置が複数ある場合にどれを使用するかを決めるための使用優先度、３１４は対向装置エントリ３１１が使用中かどうかを示す使用状態、３１５は暗号化パケットの再送攻撃を検出するために前記暗号化パケットに付加するシーケンス番号を管理する送信シーケンス番号、３１６は受信した暗号化パケットに含まれるシーケンス番号を一定数記憶しておくための受信シーケンス番号一覧、３１７は前記送信先暗号通信装置が複数ある場合に、次の対向装置エントリを指し示す次装置ポインタである。使用状態３１４は、「使用中」か「未使用」のいずれかの値を取り、対向装置リスト３１０が指し示す対向装置エントリ３１１のリストの中で使用状態３１４が「使用中」となるエントリはたかだか一つである。
【００２０】
図４は、対向装置状態テーブル２０８の詳細な内容を示した図で、複数のエントリから構成される。図中、４０１は前記エントリの一つである対向装置状態エントリ、４０２は暗号化パケットの送信先となる暗号通信装置のアドレスを示す対向装置アドレス、４０３は対向装置アドレス４０２で示される暗号通信装置との間でパケットの送受信が可能かどうかを示す対向装置状態である。対向装置状態４０２は「通信可」か「通信不可」のいずれかの値をとる。
【００２１】
図５は、グループ装置状態テーブル２０９の詳細な内容を示した図である。図中、５０１は多重化構成をとる暗号通信装置のグループ内での使用優先度を示す自装置優先度、５０２は前記グループ内で活性状態にある暗号通信装置を示す活性装置アドレスである。
【００２２】
以下、上記構成による暗号通信装置１０６，１０７，１０８，１０９が、図１に示した暗号通信システムにおいて実際に暗号通信を行う手順と、障害発生時に暗号通信装置の切り替えを行う手順の一例をシーケンス図とフローチャートを用いて詳細に説明する。
【００２３】
はじめに、図１の暗号通信システムにおいて正常に暗号通信が行われるまでの手順を図６により説明する。図６は、必要な初期設定処理の後、ホスト１１２から送信されたホスト１１４宛のパケットが、暗号通信装置１０６で暗号化されてから外部ネットワーク１０１を通して暗号通信装置１０８に転送され、暗号通信装置１０８によって復号化されてからホスト１１４へ届くまでの手順を示したシーケンス図である。
【００２４】
まず、通信を始める前の準備として、暗号通信装置１０６，１０７，１０８，１０９のそれぞれに対して暗号通信ポリシテーブル２０６、暗号化パラメータテーブル２０７、対向装置状態テーブル２０８、グループ装置状態テーブル２０９の初期設定を行う（ステップ６０１）。本実施例における暗号通信ポリシは、組織ネットワーク１０２内のホストと組織ネットワーク１０３内のホストとの間の通信を暗号化するものとし、暗号通信装置１０６と１０７、および、１０８と１０９がそれぞれ多重化構成をとるものとする。さらに、使用する前記暗号通信装置の優先度はそれぞれ１０６および１０８の方が１０７および１０９より高く、初期状態としては１０６と１０８が多重化構成をとるグループ内での活性状態の装置とする。
【００２５】
ステップ６０１の初期設定が完了すると、次に、暗号通信に必要な暗号鍵等を決定するための暗号鍵交換プロトコルを実行する（ステップ６０２）。前記暗号鍵交換プロトコルには、たとえばインターネット上で安全に鍵の交換を行う標準プロトコルであるＩＫＥ（Ｉｎｔｅｒｎｅｔ  Ｋｅｙ  Ｅｘｃｈａｎｇｅ）などがある。初期状態では暗号通信装置１０６と１０８が活性状態なので、前記鍵交換プロトコルは暗号通信装置１０６内の暗号鍵交換プロトコル処理部２０５と、暗号通信装置１０８内の暗号鍵交換プロトコル処理部２０５との間で外部ネットワーク１０１を経由して実行され、その結果として暗号化パラメータ識別子、暗号アルゴリズム、暗号鍵が決定する。
【００２６】
前記暗号鍵交換プロトコルの実行を開始する契機を与える方法としては、たとえば、暗号鍵交換プロトコル処理部２０５にコマンド入力手段を設け、事前に登録されている暗号通信ポリシテーブル２０６内のいずれかの暗号通信ポリシエントリ３０１を指定して暗号鍵交換プロトコル開始要求を人手により与える方法や、いずれかの暗号通信ポリシエントリ３０１に合致するパケットを受信した時点で、前記暗号通信ポリシエントリ３０１の暗号化パラメータテーブルポインタ３０５が指し示す暗号化パラメータテーブルエントリ３０６に暗号化に必要な情報が格納されていなかった場合に自動的に前記暗号鍵交換プロトコルを開始する方法などがある。
【００２７】
ステップ６０２により暗号通信に必要なパラメータが決定したら、前記パラメータを前記暗号通信ポリシエントリの暗号化パラメータテーブルポインタ３０５が指し示す暗号化パラメータエントリ３０６に格納する処理を行う。
【００２８】
組織ネットワーク１０２側の暗号通信装置における処理を例にその手順を説明すると、まず暗号通信装置１０６の暗号鍵交換プロトコル処理部２０５が、暗号通信装置１０６の暗号化パラメータエントリ３０６内の暗号化パラメータ識別子３０７、暗号アルゴリズム３０８、暗号鍵３０９のそれぞれに前記パラメータを格納し、さらに、対応装置リスト３１０が指し示す対向装置エントリ３１１について、送信シーケンス番号３１２を０とし、受信シーケンス番号一覧３１３を空にする処理を行う。この例では前記対向装置エントリ３１１は対向側装置となり得る暗号通信装置１０８と暗号通信装置１０９の二つのエントリがあるので、その両方について行う（ステップ６０３）。
【００２９】
ステップ６０３が完了したら、引き続き暗号通信装置１０６の暗号鍵交換プロトコル処理部２０５は、処理対象となっている暗号通信ポリシエントリ３０１に含まれる暗号通信ポリシ識別子３０２の値、処理対象となっている暗号化パラメータエントリ３０６に含まれる暗号化パラメータ識別子３０７、暗号アルゴリズム３０８、暗号鍵３０９のそれぞれの値を格納したパケット６０４を専用ネットワーク１１０を通して暗号通信装置１０７に送信する。
【００３０】
パケット６０４を受信した暗号通信装置１０７の暗号鍵交換プロトコル処理部２０５は、パケット６０４内の暗号通信ポリシ識別子と同じ値をもつ暗号通信ポリシエントリ３０１を検索し、前記暗号通信ポリシエントリ中の暗号化パラメータテーブルポインタ３０５が指し示す暗号化パラメータエントリ３０６の暗号化パラメータ識別子３０７、暗号アルゴリズム３０８、暗号鍵３０９のそれぞれにパケット６０４に含まれている対応する値を格納する。さらに、前記暗号化パラメータエントリの対応装置リスト３０８が指し示す対向装置エントリ３１１について、送信シーケンス番号３１２を０とし、受信シーケンス番号一覧３１３を空にする処理を行う。この例では前記対向装置エントリは対向側装置となり得る暗号通信装置１０８と暗号通信装置１０７９二つのエントリがあるので、その両方について行う（ステップ６０５）。
【００３１】
組織ネットワーク１０３側も同様の手順により、暗号通信装置１０８内の暗号化パラメータエントリ３０６および対向装置エントリ３１１への前記パラメータの設定（ステップ６０６）、前記パラメータを格納したパケット６０７の暗号通信装置１０９への送信、パケット６０７の内容に従った暗号通信装置１０９内の暗号化パラメータエントリ３０６および対向装置エントリ３１１への前記パラメータ設定を行う。
【００３２】
以上の処理により、組織ネットワーク１０２内のホストと組織ネットワーク１０３内のホストとの間で行われる通信のパケットを外部ネットワーク１０１上を暗号化して流すための準備が整う。
【００３３】
次に、実際の暗号通信の例として、上記の準備が整った状態でホスト１１２からホスト１１４へパケットが送信される様子を引き続き図６により説明する。
【００３４】
まず、ホスト１１２からホスト１１４宛のパケット６０９がローカルエリアネットワーク１０４へ送信されると、パケット６０９はその時活性状態にある暗号通信装置１０６のパケット転送部２０１に受信される。パケット転送部２０１は、受信したパケット６０９に含まれる送信元アドレスと宛て先アドレスの組と、暗号通信装置１０６内の暗号通信ポリシテーブル２０６に含まれる暗号通信ポリシエントリ３０１の暗号化対象パケット送信元アドレス３０２と暗号化対象パケット宛て先アドレス３０３の組を比較し、前記暗号通信ポリシエントリ３０１に合致するものがあるかどうかを検索する。ここでは、ステップ６０１の初期設定により合致するエントリが存在するので、パケット転送部２０１はパケット６０９を外部ネットワーク１０１への転送する前にパケット暗号・復号部２０２へ渡し、パケット暗号化処理を行う（ステップ６１０）。ここで、もし暗号通信ポリシテーブル２０６に合致する暗号通信ポリシエントリ３０１がなかった場合は、パケット６０９は暗号化されずにそのまま外部ネットワーク１０１へ転送されることになる。
【００３５】
ステップ６１０では、パケット暗号・復号部２０２が、検索された前記暗号通信ポリシエントリ中の暗号化パラメータテーブルポインタ３０５が指し示す暗号化パラメータエントリ３０６の情報を用いてパケット６０９の暗号化処理を行い、暗号化パケット６１１を生成する。なお、パケット暗号・復号部２０２は暗号化処理に先立ち、前記暗号化パラメータエントリ３０６の対向装置リスト３１０が指し示す対向装置エントリ３１１のリストから、使用状態３１４が「使用中」となっている暗号化パラメータエントリ３１１を検索しておく。前記暗号化パケット６１１の転送先が、検索された前記対向装置エントリ３１１の対向装置アドレス３１２に示される暗号通信装置となる。
【００３６】
図７はパケット暗号・復号部２０２により暗号化された暗号化パケット６１１の内容を示した図である。図中、７０３は平文状態のパケット６０９を、前記暗号化パラメータエントリ内の暗号アルゴリズム３０８に示される暗号アルゴリズムにより暗号鍵３０９に示される暗号鍵を使って暗号化した元パケット暗号化部分、７０２はパケット暗号・復号部２０２が付加する暗号化ヘッダ、７０１はパケット暗号・復号部２０２が付加するＩＰヘッダである。
【００３７】
暗号化ヘッダ７０２は、さらに暗号化パラメータ識別子７０４とシーケンス番号７０５で構成される。暗号化パラメータ識別子７０４には前記暗号化パラメータエントリの暗号化パラメータ識別子３０７の値をそのまま格納し、シーケンス番号７０５には前記対向装置エントリの送信シーケンス番号３１５の値に１を加えた値を格納する。その後、送信シーケンス番号３１５の値も１加えたものに更新しておく。また、ＩＰヘッダ７０１の送信元アドレスは暗号通信装置１０６のアドレス、宛て先アドレスは暗号通信装置１０８のアドレスとする。
【００３８】
ステップ６１０のパケット暗号化処理が完了すると、生成された暗号化パケット６１１はパケット転送部２０１に戻され、外部ネットワーク１０１を通して暗号化パケット６１１のＩＰヘッダ７０１に書かれた宛て先アドレスである暗号通信装置１０８へ転送される。
【００３９】
暗号通信装置１０８は、暗号化パケット６１１を受信するとパケット復号処理を行う（ステップ６１２）。
【００４０】
まず、暗号通信装置１０８のパケット転送部２０１が暗号化パケット６１１を受け取り、暗号化ヘッダ７０２の存在により前記暗号化パケット６１１が暗号化されたものであることを認識すると、暗号化パケット６１１をパケット暗号・復号部２０２へ転送する。パケット暗号・復号部２０２は、暗号通信装置１０８内の暗号化パラメータテーブル２０７に含まれるすべての暗号化パラメータエントリ３０６から、暗号化パケット６１１の暗号化パラメータ識別子７０４に含まれる値と同一の値を暗号化パラメータ識別子３０７に持つ暗号化パラメータエントリ３０６を検索する。もし見つからなかった場合、前記暗号化パケット６１１は破棄されるが、この例ではステップ６０８で設定された暗号化パラメータエントリ３０６が検索される。同一の暗号化パラメータ識別子を持つ暗号化パラメータエントリ３０６が見つかったら、さらに、前記暗号化パラメータエントリ３０６の対向装置リスト３０８が指し示す対向装置エントリ３１１の中から、前記暗号化パケット６１１のＩＰヘッダ７０１に示される送信元アドレスに一致する対向装置アドレス３１２を持つ対向装置エントリ３１１を検索する。
【００４１】
暗号化パケット６１１に対応する暗号化パラメータエントリ３０６と対向装置エントリ３１１が見つかったら、まずシーケンス番号７０５の値を確認して暗号化パケット６１１が再送攻撃により送信されたものでないことを確認する。具体的には、まず、暗号化パケット６１１のシーケンス番号７０５の値が、前記対向装置エントリの受信シーケンス番号一覧３１３に含まれるシーケンス番号の最大値より大きいか、または、受信シーケンス番号一覧３１３に含まれるシーケンス番号の最小値より大きく、かつ、受信シーケンス番号一覧３１３に含まれていない値であれば再送攻撃ではないと判断するとともに、前記シーケンス番号を受信シーケンス番号一覧３１３に加える。受信シーケンス番号一覧３１３に新たな値を加えた結果、受信シーケンス番号一覧３１３のシーケンス番号の最大登録数を越えてしまった場合は、登録されているシーケンス番号のうち最小のものを削除する。もし、前記シーケンス番号７０５の値が、前記シーケンス番号を受信シーケンス番号一覧３１３に含まれているか、または、受信シーケンス番号一覧３１３に含まれている値の最小値より小さい場合、前記暗号化パケット６１１は過去に一度受信したもので、再送攻撃によるパケットであると判断し、破棄する。
【００４２】
暗号化パケット６１１が再送攻撃によるものでないことが判断できたら、暗号化パケット６１１中の元パケット暗号化部分７０３の復号化処理を行い、暗号化前のホスト１１２が送信したパケット６０９と同一内容のパケット６１３を取り出す。元パケット暗号化部分７０３の復号化に利用する暗号アルゴリズムと暗号鍵は、それぞれ前記暗号化パラメータエントリに含まれる暗号アルゴリズム３０８と暗号鍵３０９を使用する。
【００４３】
復号化の結果得られたパケット６１３は、パケット暗号・復号部２０２からパケット転送部２０１へ戻され、最終的な宛て先であるホスト１１４へローカルエリアネットワーク１０５を通して転送される。
【００４４】
以上が図１に示した暗号通信システムにおける暗号通信の基本的な流れである。
【００４５】
次に、図１に示した暗号通信システムにおいてなんらかの障害発生により活性状態の暗号通信装置の切り替えを行う場合の手順について、２種類の障害例を挙げてそれぞれ説明する。
【００４６】
まず、第１の障害例は、図６で説明したシーケンスにより暗号通信を開始した状態で暗号通信装置１０８と外部ネットワーク１０１との間で通信障害が発生し、暗号通信装置１０８が組織ネットワーク１０２側の暗号通信装置と通信できなくなってしまった場合の例である。この場合の動作を図８、図９、図１０を用いて説明する。
【００４７】
図８は、図６に示したステップ６０５およびステップ６０８までの処理が完了した後、障害が発生から暗号通信装置の切り替えを完了するまでの流れを示したシーケンス図である。
【００４８】
暗号通信装置１０６と１０８は、それぞれ暗号化パラメータ設定処理（ステップ６０３、ステップ６０６）が完了すると、相互に稼働状態を監視するため、暗号通信装置１０６の対向装置状態監視部２０３が生存通知パケット８０１を暗号通信装置１０８に対して定期的に送信し、暗号通信装置１０８の対向装置状態監視部２０３が生存通知パケット８０２を暗号通信装置１０６に対して定期的に送信する。同時に、暗号通信装置１０６の対向装置状態監視部２０３は暗号通信装置１０８からの生存通知パケット８０２の受信を監視し、暗号通信装置１０８の対向装置状態監視部２０３は暗号通信装置１０６からの生存通知パケット８０１の受信を監視する。それぞれの対向装置状態監視部２０３は、相手装置からの生存通知パケット８０１、８０２が一定時間受信されないことを検出すると、通信障害が発生したと判断する。
【００４９】
さらに、暗号通信装置１０６のグループ装置状態監視部２０４は多重化構成をとる他の暗号通信装置１０７に対して、専用ネットワーク１１０を通して生存通知パケット８０３を定期的に送信し、暗号通信装置１０８のグループ装置状態監視部２０４は多重化構成をとる他の暗号通信装置１０９に対して、専用ネットワーク１１１を通して生存通知パケット８０４を定期的に送信することで、それぞれ自装置が活性状態にあることを他の非活性状態にある暗号通信装置に通知する。活性状態にある暗号通信装置からの生存通知パケット８０３，８０４がグループ装置状態監視部２０４により一定時間受信されないことが検出されると、非活性状態にある暗号通信装置はなんらかの理由により前記活性状態にある暗号通信装置が非活性状態に遷移したと判断する。
【００５０】
以上のように暗号通信装置同士が相互に生存監視を行っている状態で暗号通信装置１０８と外部ネットワーク１０１との間で通信障害８０５が発生すると、その後に暗号通信装置１０６から送信された生存通知パケット８０６と、暗号通信装置１０８から送信された生存通知パケット８０７が遮断され、暗号通信装置１０６と１０８の双方の対向装置状態監視部２０３が生存通知パケット受信タイムアウトにより障害を検出し、対向装置通信障害回復処理８０８に入る。
【００５１】
図９は、対向装置通信障害回復処理８０８の詳細処理を示したフローチャートである。
【００５２】
対向装置通信障害回復処理８０８では、まず対向装置状態テーブル２０８の更新を行うと共に、対向する暗号通信装置に対する生存通知パケットの定期的送信を停止する（ステップ９０１）。具体的には、たとえば暗号通信装置１０６の場合、対向装置アドレス４０２が暗号通信装置１０８を示している対向装置状態エントリ４０１を検索し、前記対向装置状態エントリの対向装置状態４０３を「利用可」から「利用不可」に書き換え、暗号通信装置１０８へ定期的に送信していた生存通知パケット８０１の送信を停止する処理を行う。
【００５３】
次に、自装置が新たな対向側暗号通信装置の検索を行う側かどうかを判断し、検索実行側であればステップ９０３以降の処理に移る（ステップ９０２）。ある対向する暗号通信装置との間で障害が発生した時、どちらの暗号通信装置が新たな対向側暗号通信装置の検索を行うかを決定する方法は、対向する二つの暗号通信装置の間でどちらか片方を一意に決定できるものであればどのような方法でもよく、たとえば、両方の暗号通信装置のアドレスを数値として比較し、大きい方の暗号通信装置が新たな対向側暗号通信装置の検索を行うという方法がある。ステップ９０２において、新たな対向側暗号通信装置の検索側にならなかった暗号通信装置は、そのまま対向装置通信障害回復処理８０８を終了する。本実施例では、暗号通信装置１０６のアドレスの方が暗号通信装置１０８のアドレスより大きいものとし、ステップ９０３以降の処理は暗号通信装置１０６が実行するものとする。
【００５４】
新たな対向側暗号通信装置の検索側となった暗号通信装置１０６は、暗号通信装置１０８との間の暗号通信に利用していた暗号化パラメータエントリ３０６の対向装置リスト３１０が指し示す対向装置エントリ３１１のリストの中から、前記対向装置エントリの対向装置アドレス３１２で示される対向側暗号装置が、対向装置状態テーブル２０８内の対向装置状態エントリ４０１の対向装置状態４０３で「利用可」と示されているものを検索し、見つかった対向装置エントリの対向装置アドレス３１２が示す暗号通信装置を新たな対向側暗号通信装置とする。もし、複数の対向装置エントリ３１１が見つかった場合は、前記対向装置エントリ内の使用優先度３１３が最も高いものを選択する。
【００５５】
ステップ９０３にて新たな対向側暗号通信装置が見つかったら、前記対向側暗号通信装置を使用するための処理であるステップ９０５を開始し、見つからなかった場合は多重化された他の暗号通信装置を活性化するための処理であるステップ９０６を開始する（ステップ９０４）。
【００５６】
ステップ９０５では、前記見つかった対向装置エントリ内の使用状態３１４を「未使用」から「使用中」に書き換えるとともに、前記見つかった対向装置エントリの対向装置アドレス３１２の暗号通信装置に対し生存通知パケット８０９の定期的な送信を開始する。本実施例の場合、ステップ９０３で暗号通信装置１０９を指し示すエントリが検索されるので、生存通知パケット８０９は暗号通信装置１０９に対して送信されるようになる。
【００５７】
一方、対向側暗号通信装置が見つからなかった場合の処理ステップ９０６では、グループ装置状態テーブル２０９内の活性装置アドレス５０２に活性状態の装置がないことを意味する値として０を書き込むとともに、多重化された他の暗号通信装置に対する生存通知パケット８０３の送信を停止することで、前記他の暗号通信装置に対し自装置が非活性状態になったことを知らせ、前記他の暗号通信装置が活性状態になることを促す。生存通知パケット８０３が停止したあとの前記他の暗号通信装置の動作については、後述する第２の障害例で説明するので、ここでは省略する。
【００５８】
図８のシーケンス図において暗号通信装置１０６と１０８の両方で対向装置通信障害回復処理８０８が完了すると、暗号通信装置１０６から生存通知パケット８０９を受信するようになった暗号通信装置１０９がグループ装置強制切り換え処理８１０を開始する。グループ装置強制切り換え処理８１０は、組織ネットワーク１０３側で活性状態にある暗号通信装置を暗号通信装置１０８から暗号通信装置１０９へ切り換える処理である。
【００５９】
図１０は、グループ装置強制切り換え処理８１０の詳細処理を示すフローチャートである。
【００６０】
まず、暗号通信装置１０９の対向装置状態監視部２０３が生存通知パケット８０９を受信すると、対向側暗号通信装置として暗号通信装置１０９が選択されたと判断し、暗号化パラメータテーブル２０７内の対向装置エントリ３１１で、対向装置アドレス３１２が暗号装置１０６を示しているエントリの使用状態３１４を「使用中」に変更し（ステップ１００１）、暗号通信装置１０６に対する生存通知パケット８１１の定期的な送信を開始する（ステップ１００２）。さらに、グループ装置状態監視部２０４がグループ装置状態テーブル２０９内の活性装置アドレス５０２を暗号通信装置１０９のアドレスに書き換えるとともに（ステップ１００３）、多重化構成をとる暗号通信装置１０８に対して生存通知パケット８１２の定期的な送信を開始する（ステップ１００４）。生存通知パケット８１２を受信した暗号通信装置１０８のグループ装置状態監視部２０４は、グループ装置状態テーブル２０９内の活性装置アドレス５０２を生存通知パケット８１２の送信元である暗号通信装置１０９のアドレスに書き換えるとともに、これまで送信していた暗号通信装置１０９に対する生存通知パケット８０４の送信を停止する。
【００６１】
以上が第１の障害例に対する回復処理であり、以後、組織ネットワーク１０２内のホストから送信された組織ネットワーク１０３内のホスト宛てパケットは暗号通信装置１０６が暗号化して暗号通信装置１０９へ転送し、暗号通信装置１０９が暗号化された前記パケットを復号化して組織ネットワーク１０３内の宛て先ホストへ転送するようになる。
【００６２】
次に第２の障害例について説明する。第２の障害例は、図６で説明したシーケンスにより暗号通信を開始した状態で暗号通信装置１０６自体に障害が発生し、暗号通信装置１０６が動作しなくなってしまった場合である。この場合の暗号通信装置切り換え動作の例を図１１、図１２、図１３を用いて説明する。
【００６３】
図１１は、図６に示したステップ６０５およびステップ６０８までの処理が完了した後、障害が発生から暗号通信装置の切り替えを完了するまでの流れを示したシーケンス図である。
【００６４】
ステップ６０５の完了後、暗号通信装置１０６のグループ装置状態監視部２０４は生存通知パケット１１０１を暗号通信装置１０７に送信し、暗号通信装置１０８の対向装置状態監視部２０３は暗号通信装置１０６に対し生存通知パケット１１０２を送信している。この状態で暗号通信装置１０６に故障等による装置障害１１０３が発生すると、生存通知パケット１１０１が暗号通信装置１０７へ届かなくなり、暗号通信装置１０７のグループ装置状態監視部２０４は暗号通信装置１０６が非活性状態に遷移したことを検出し、グループ装置障害回復処理１１０４を開始する。
【００６５】
図１２は、グループ装置障害回復処理１１０４の詳細処理を示すフローチャートである。
【００６６】
暗号通信装置１０７のグループ装置状態監視部２０４は、暗号通信装置１０６が非活性状態になったことを検出すると、まず、多重化構成をとる他の暗号通信装置すべてに対して専用ネットワーク１１０を通して生存通知パケット１１０５の定期的な送信を開始すると同時に（ステップ１２０１）、前記他の暗号通信装置からの生存通知パケット受信を監視する。なお、生存通知パケット１１０５には暗号通信装置１０７のグループ装置状態テーブル２０９に含まれる自装置優先度５０１の値を含めている。
【００６７】
ステップ１２０１にて生存通知パケット１１０５の送信を開始してから一定時間以内に自装置優先度５０１より大きな優先度が格納された前記他の暗号通信装置からの生存通知パケットが受信されなかった場合、自装置が活性状態になるべきと判断し、ステップ１２０３以降の処理に移る（ステップ１２０２）。もし、自装置優先度５０１より高い優先度を持つ前記他の暗号通信装置からの生存通知パケットを受信した場合、最も高い優先度を持つ前記生存通知パケットの送信元暗号通信装置が活性状態になるものと判断し、前記送信元暗号通信装置のアドレスをグループ装置状態テーブル２０４内の活性装置アドレス５０２に格納し、生存通知パケット１１０５の送信を停止する（ステップ１２０５）。本実施例の場合、暗号通信装置１０７と多重化構成をとる暗号通信装置は暗号通信装置１０６のみで、暗号通信装置１０６はすでに非活性状態になっている。したがって、ステップ１２０２で他の暗号通信装置からの生存通知パケットを受信することはなく、暗号通信装置１０７が活性状態になるものとしてステップ１２０３以降を実行することになる。
【００６８】
ステップ１２０２で自装置が活性状態になることが決まったら、活性装置アドレス５０２に自装置アドレスを設定し（ステップ１２０３）、暗号化パラメータテーブル２０７の対向装置エントリ３１１の中から、対向装置アドレス３１２で示される対向側暗号装置が対向装置状態テーブル２０８内の対向装置状態エントリ４０１の対向装置状態４０３で「活性状態」と示されているものを検索し、見つかった対向装置エントリの対向装置アドレス３１２が示す暗号通信装置を新たな対向側暗号通信装置とする。もし、複数の対向装置エントリ３１１が見つかった場合は、前記対向装置エントリ内の使用優先度３１３が最も高いものを選択する。そして、前記見つかった対向装置エントリの使用状態３１４を「使用中」に書き換え、前記見つかった対向装置エントリの対向装置アドレス３１２に示される暗号通信装置に対し生存通知パケット１１０６の定期的な送信を開始する。本実施例においては、前記検索により暗号通信装置１０８に対する対向装置エントリが選択されるので、生存通知パケット１１０６は暗号通信装置１０８に送信される（ステップ１２０５）。以上でグループ装置障害回復処理１１０４が完了する。
【００６９】
グループ装置障害回復処理１１０４により暗号通信装置１０７から暗号通信装置１０８に対し生存通知パケット１１０６が送信されるようになると、暗号通信装置１０８は対向装置切り換え処理１１０７を開始する。
【００７０】
図１３は、対向装置切り換え処理１１０７の詳細処理を示したフローチャートである。
【００７１】
暗号通信装置１０８の対向装置状態監視部２０３が生存通知パケット１１０６を受信すると、暗号化パラメータテーブル２０７内の暗号通信装置１０７に対する対向装置エントリ３１１の使用状態３１４を「使用中」に書き換え、暗号通信装置１０７に向けた生存通知パケット１１０８の定期的な送信を開始する（ステップ１３０１）。
【００７２】
続いて、暗号化パラメータテーブル２０７内の対向装置エントリ３１１のうち、使用中状態３１４がステップ１３０１で「使用中」に変更したもの以外で「使用中」になっているものを検索し、見つかった対向装置エントリの使用中状態３１４を「未使用」に書き換えるとともに、前記見つかった対向装置エントリの対向装置アドレスで示される暗号通信装置に対する生存通知パケットの送信を停止する（ステップ１３０２）。本実施例では暗号通信装置１０６に対する対向装置エントリがステップ１３０２の処理対象となるエントリであり、本処理により生存通知パケット１１０２の送信を停止する。
【００７３】
なお、暗号通信装置１０８の対向装置状態監視部２０３が生存通知パケット１１０６を受信するタイミングによっては、暗号通信装置１０８は先に暗号通信装置１０６からの生存通知パケット受信タイムアウトによる対向装置通信障害回復処理８０４を実行している可能性もあるが、この場合はすでにステップ１３０２においては暗号通信装置１０６に対する対向装置エントリ３１１の使用状態３１４は「未使用」となっているので、ステップ１３０２の処理では使用状態３１４が「使用中」となっている対向装置エントリ３１１は検索されない。
【００７４】
以上が第２の障害例に対する回復処理であり、以後、組織ネットワーク１０２内のホストから送信された組織ネットワーク１０３内のホスト宛てパケットは暗号通信装置１０７が暗号化して暗号通信装置１０８へ転送し、暗号通信装置１０８が暗号化された前記パケットを復号化して組織ネットワーク１０３内の宛て先ホストへ転送するようになる。
【００７５】
以上のように、本実施例によれば、暗号通信装置における暗号化処理および復号化処理に必要な暗号化パラメータのうち、固定的なパラメータである暗号化パラメータ識別子、暗号アルゴリズム、暗号鍵は１回の暗号鍵交換プロトコルの実行により生成されたものを多重化された暗号通信装置全体で共有し、さらに、パケットの暗号化および復号化を１パケット分行う毎に変化するシーケンス番号を管理するための情報は対向する暗号通信装置毎に独立したのテーブルで管理することで、障害により暗号通信装置の切り替えが必要となった場合でも、多大な計算時間を必要とする暗号鍵の再生成を行うことなく、かつ、再送攻撃検出のためのシーケンス番号の管理に矛盾を起こさずに素早く暗号通信装置の切り替えが行える暗号通信システムを実現できるという効果がある。
【００７６】
【発明の効果】
本発明によれば、多重化構成をとる複数の暗号通信装置の間で、暗号処理に必要な暗号化情報のうち暗号通信中に固定の情報は該情報が生成されたときに即座に共有されるとともに、前記暗号通信中に変化する情報は前記複数の暗号通信装置で通信相手となる暗号通信装置ごとに個別に初期化するので、障害等により暗号通信装置の切り替えを行った場合の新たな前記暗号化情報の再生成が不要になるという効果がある。
【００７７】
さらに、本発明によれば、前記暗号通信装置が相互に状態監視と状態通知を行うことで、障害発生時に通信可能な前記暗号通信装置の組み合わせに速やかに切り換えて暗号通信を継続可能になるという効果がある。
【図面の簡単な説明】
【図１】本発明の一実施例による暗号通信システムの構成を示す図。
【図２】本発明の一実施例による暗号通信装置の構成を示す図。
【図３】図２の暗号通信ポリシテーブルと暗号化パラメータテーブルの詳細内容を示す図。
【図４】図２の対向装置状態テーブルの詳細内容を示す図。
【図５】図２のグループ装置状態テーブルの詳細内容を示す図。
【図６】図１の暗号通信システムにおける初期設定から暗号通信を行うまでの手順を示すフローチャート。
【図７】図１の暗号通信システムにおいて外部ネットワークを転送される暗号化パケットの構成を示す図。
【図８】図１の暗号通信システムにおいて通信障害が発生した場合の暗号通信装置切り換え手順を示すシーケンス図。
【図９】図８のシーケンスにおける対向装置通信障害回復処理の詳細を示すフローチャート。
【図１０】図８のシーケンスにおけるグループ装置強制切り換え処理の詳細を示すフローチャート。
【図１１】図１の暗号通信システムにおいて装置障害が発生した場合の暗号通信装置切り換え手順を示すシーケンス図。
【図１２】図１１のシーケンスにおけるグループ装置障害回復処理の詳細を示すフローチャート。
【図１３】図１１のシーケンスにおける対向装置切り換え処理の詳細を示すフローチャート。
【符号の説明】
１０１…外部ネットワーク、１０２，１０３…組織ネットワーク、１０４，１０５…ローカルエリアネットワーク、１０６，１０７，１０８，１０９…暗号通信装置、１１０，１１１…専用ネットワーク、１１２，１１３，１１４，１１５…ホスト、２０１…パケット転送部、２０２…パケット暗号・復号部、２０３…対向装置状態監視部、２０４…グループ装置状態監視部、２０５…暗号鍵交換プロトコル処理部、２０６…暗号通信ポリシテーブル、２０７…暗号化パラメータテーブル、２０８…対向装置状態テーブル、２０９…グループ装置状態テーブル。
【図１】
2004328563.tif 000003
【図２】
2004328563.tif 000004
【図３】
2004328563.tif 000005
【図４】
2004328563.tif 000006
【図５】
2004328563.tif 000007
【図６】
2004328563.tif 000008
【図７】
2004328563.tif 000009
【図８】
2004328563.tif 000010
【図９】
2004328563.tif 000011
【図１０】
2004328563.tif 000012
【図１１】
2004328563.tif 000013
【図１２】
2004328563.tif 000014
【図１３】
2004328563.tif 000015