【0001】
【発明の属する技術分野】
本発明は、通信データの暗号化と復号化を行う暗号処理手段を備えた暗号通信装置および暗号通信システムに関し、特に装置や通信回線の多重化によるシステムの高信頼化に好適な暗号通信装置および暗号通信システムに関する。
【0002】
【従来の技術】
インターネットのような共用ネットワーク上で盗聴や改ざん等の行為から通信データを守る手段の一つとして、IPセキュリティと呼ばれる暗号通信技術が従来より用いられている。
【0003】
IPセキュリティ技術の利用形態としては、たとえばインターネットと組織ネットワークを接続するルータなどのゲートウェイ装置にIPセキュリティ機能を搭載した暗号通信装置を設置し、異なる二つの組織AとBのネットワーク内に存在する端末がインターネットを経由して通信を行う際、前記組織A内の前記暗号通信装置が前記組織A内の端末からの通信データを暗号化してインターネットに中継し、前記組織B内の前記暗号通信装置が前記暗号化された通信データを受け取った後、復号化して前記組織B内の端末に中継するという形態がある。この形態では、組織ネットワークの中の各端末に暗号通信機能がなくてもインターネット上で安全な通信が可能となり、インターネットを一種の専用線のように利用できるメリットがある。
【0004】
ところで、企業のように通信システムの高可用性を重視する組織では、種々のネットワーク障害に備えて通信回線やゲートウェイ装置を多重化したシステムを組む場合がある。ところが、このようなシステムで前述のIPセキュリティ機能を搭載した暗号通信装置を利用した場合、障害発生時の暗号通信装置切り替えに非常に時間がかかってしまうという問題が発生する。これは、IPセキュリティの暗号通信で利用される暗号鍵等の暗号化パラメータが、暗号通信を行う双方の暗号通信装置のIPアドレスの組ごとに生成・管理されるためである。障害により暗号通信を行う暗号通信装置が切り替わると、それまで利用していた暗号化パラメータをすべて破棄して新たな暗号化パラメータを生成しなければならない。暗号鍵の生成は多大な計算量を必要とするため、特にインターネットを介して多数の組織と接続していて一度に多数の暗号鍵を再生成しなければならない場合に多大な処理時間が必要となってしまう。また、仮に前記暗号化パラメータを多重化した暗号通信装置同士で共有できたとしても、暗号化パラメータの中には再送攻撃検出のためのシーケンス番号のように暗号通信中に逐次変化するパラメータがあり、このパラメータまで含めて前記多重化した暗号通信同士で暗号化パラメータを共有するためには、ゲートウェイ間でシーケンス番号の同期をとるための多量の通信が必要となってしまう。
【0005】
このような問題を解決するために、たとえば特許文献1に記載のような従来技術がある。この従来技術は、VRRP(Virtual Router Redundancy Protocol)と呼ばれる技術により複数の暗号通信装置をインターネット側から1台の仮想的な暗号通信装置に見えるように構成し、障害発生による暗号通信装置の切り替えが起こっても暗号通信を行っている相手に対して暗号通信装置のIPアドレスは変わっていないように見せることで暗号化パラメータの再生成を不要とし、さらに暗号通信実行中に変化するシーケンス番号は、利用する番号範囲を事前に分割し、通信を行う装置の組み合わせによって利用する番号が重複しないように。割り当てておくことで暗号通信中にシーケンス番号の同期をとるための通信を不要としたものである。
【0006】
【特許文献1】
特開2002−247113号公報
【0007】
【発明が解決しようとする課題】
上記従来技術は、インターネット側に対しVRRPによる複数の暗号通信装置の仮想化が可能な場合を前提とした方法である。ところが、VRRPは本来、組織内ネットワーク側に接続されるホストに対して多重化されたゲートウェイ装置を1台に見せるために考案された技術であり、システム構成によっては、システム構成する装置数を減らすためにシステムの簡略化を行い、そのためにインターネット側に対するゲートウェイ装置の仮想化が行えない場合も存在する。上記従来技術は、このようなインターネット側に対してVRRPの適用が不可能な簡易なシステム構成の場合に、多重化された複数の暗号通信装置間で暗号鍵情報を共有することができないという問題があった。
【0008】
本発明の目的は、異なるIPアドレスを持って多重化構成をとった状態でも暗号鍵情報の共有が可能な暗号通信装置を提供することにある。
【0009】
本発明の他の目的は、通信回線と該通信回線に接続される暗号通信装置を多重化構成し、障害が発生した場合でも暗号通信装置を速やかに切り換え可能とした暗号通信システムを提供することにある。
【0010】
【課題を解決するための手段】
上記目的を達成するために、本発明の暗号通信装置では、暗号通信に必要な情報のうち、暗号鍵のように固定情報はそれらが決定した段階で前記固定情報を決定した暗号通信装置が他のすべての多重化された暗号通信装置へ配布する手段と、前記固定情報が決定した段階または他の暗号通信装置から配布された段階で、暗号通信に必要な情報のうち可変情報を管理する領域を通信相手となる暗号通信装置ごとに個別に用意して初期化する手段と、通信相手となる対向側暗号通信装置との間で正常に通信が行えているかどうかを監視する手段と、多重化された他の暗号通信装置との間で暗号通信装置の活性状態を監視する手段を設け、障害による系切り替えが発生したときに、前記固定的な情報は引き続き使用し、可変情報は前記系切り替えにより新たな通信相手となった暗号通信装置に対応する領域で管理されるものを使用するように切り換えることで、障害による系切り替えが発生しても新たな暗号鍵情報の生成と、多重化された暗号通信装置間での暗号通信に必要な可変情報の受け渡しを不要としているものである。
【0011】
さらに、外部ネットワークとの接続回線を複数持つネットワークにおいて、前記暗号通信装置を前記接続回線毎に設けることで、前記接続回線、前記外部ネットワーク、あるいは前記暗号通信装置の障害が発生した場合でも、暗号通信に必要な情報の再生成を行うことなく、速やかに異常のない通信経路と暗号通信装置へ切り換え、暗号通信の可用性を高めた暗号通信システムとしたものである。
【0012】
【発明の実施の形態】
以下、本発明の実施例を図面を用いて説明する。
【0013】
図1は、本発明の一実施例による暗号通信装置を利用した暗号通信システムの全体構成を示したものである。図中、101はインターネットなどの外部ネットワーク、102,103は外部ネットワーク101に接続される組織ネットワーク、104,105は、それぞれ組織ネットワーク102,103を構成するローカルエリアネットワーク、106,107は、外部ネットワーク101とローカルエリアネットワーク104を接続する暗号通信装置、108,109は、外部ネットワーク101とローカルエリアネットワーク105を接続する暗号通信装置、110,111はそれぞれ暗号通信装置106と107、および108と109の間で直接情報交換を行うための専用ネットワーク、112,113はローカルエリアネットワーク104に接続されるホスト、114,115はローカルエリアネットワーク105に接続されるホストである。ここでホストとは、サーバやパソコン端末など、ローカルエリアネットワークに接続されるコンピュータ装置を指す。
【0014】
本構成において、組織ネットワーク102内のホスト112または113と、組織ネットワーク103内のホスト114またはホスト115が外部ネットワーク101を経由してパケットによるデータ通信を行う際、前記パケットが暗号通信装置106,107,108,109によって暗号化および復号化処理され、前記パケットが外部ネットワーク101上を暗号化された状態で流れるように動作する。ここで、暗号通信装置106と107、および、108と109はそれぞれ多重化構成された暗号通信装置として働き、通常は106か107のいずれか、および、108か109のいずれかが常用系、他方が待機系となる。運用中にネットワーク101を構成する通信回線や前記暗号通信装置自体の障害等により前記常用系同士での通信が不可能となった時、前記待機系に切り換える処理を行うことで障害が発生しても通信を継続できる高信頼なネットワークシステムを構成する。なお、暗号通信装置106と107は、ローカルエリアネットワーク104側に対してはVRRPによる1台の仮想的なゲートウェイとして動作するようになっており、ローカルエリアネットワーク104上のホストからのパケットは常用系となっている暗号通信装置が受信して暗号化処理と外部ネットワーク101側への中継処理を行う。同様に、暗号通信装置108と109も、ローカルエリアネットワーク105側に対しては1台の仮想的なゲートウェイとして動作する。
【0015】
図2は、暗号通信装置106の内部構成を示した図である。図中、201はローカルエリアネットワーク104と外部ネットワーク101の間でパケットを中継するパケット転送部、202は、パケット転送部201がパケットを中継する際に、必要に応じて前記パケットの暗号化処理または復号化処理を実行するパケット暗号・復号部、203は外部ネットワーク101を経由して通信を行う対向側の暗号通信装置の状態を監視する対向装置状態監視部、204は組織ネットワーク102内で多重化構成をとる他の暗号通信装置の状態を監視するグループ装置状態監視部、205は外部ネットワーク101を経由して対向側の暗号通信装置との間で暗号鍵等の暗号化パラメータの折衝、交換を行うプロトコルを実行する暗号鍵交換プロトコル処理部、206はパケット転送部201がパケットを中継する際、前記パケットを暗号化処理すべきかどうかの判断に必要な情報を格納する暗号通信ポリシテーブル、207は暗号鍵交換プロトコル処理部205が暗号鍵交換プロトコルを実行した結果として生成された暗号化パラメータを格納する暗号化パラメータテーブル、208は対向装置状態監視部203により得られた対向側の暗号通信装置の状態等を格納する対向装置状態監視部、209は多重化構成をとる他の暗号通信装置に関してグループ装置状態監視部204により得られた状態情報等を格納するグループ装置状態テーブルである。暗号通信装置107,108,109も同様の内部構成である。
【0016】
図3は、暗号通信ポリシテーブル206と暗号化パラメータテーブル207の詳細な内容を示した図であり、それぞれ一つまたは複数のエントリから構成される。図中、301は暗号通信ポリシテーブル206内の一つのエントリである暗号通信ポリシエントリ、302は暗号通信ポリシエントリ301を一意に識別するための暗号通信ポリシ識別子、303は暗号通信ポリシエントリ301に合致するパケットの送信元アドレスを指定する暗号化対象パケット送信元アドレス、304は暗号通信ポリシエントリ301に合致するパケットが含む宛て先アドレスを指定する暗号化対象パケット宛て先アドレス、305は暗号化対象パケット送信元アドレス303と暗号化対象パケット宛て先アドレス304の指定に合致したパケットに適用する暗号化パラメータテーブル207のエントリを指し示す暗号化パラメータテーブルポインタである。
【0017】
暗号化対象パケット送信元アドレス303と暗号化対象パケット宛て先アドレス304には、それぞれ単独のホストを指し示すアドレス以外に、ネットワークアドレスとサブネットマスクの組み合わせによるネットワークの指定も可能とする。この場合、前記ネットワークに含まれるすべてのホストが送受信するパケットが対象となり、たとえば「組織ネットワーク102内のホストと組織ネットワーク103内のホストとの間で行われるすべての通信を暗号化する」といった暗号通信ポリシの指定が可能となる。
【0018】
また、暗号化パラメータテーブル207の構成要素について、306は暗号化パラメータテーブル207の一つのエントリである暗号化パラメータエントリ、307は暗号化パラメータエントリ306を一意に識別するための暗号化パラメータ識別子、308は暗号化パラメータエントリ306によるパケット暗号化に利用する暗号アルゴリズム、309は暗号化パラメータエントリ306によるパケット暗号化に利用する暗号鍵、310は前記暗号化パラメータエントリにより暗号化したパケットの送信先暗号通信装置の一覧を指し示す対向装置リストである。
【0019】
対向装置リスト310が示すテーブルは複数のエントリがリスト構造で管理されるもので、一つの前記エントリが一つの前記送信先暗号通信装置に関連した情報を保持する。図中、311は前記エントリの一つである対向装置エントリ、312は前記送信先暗号通信装置を指定する対向装置アドレス、313は前記送信先暗号通信装置が複数ある場合にどれを使用するかを決めるための使用優先度、314は対向装置エントリ311が使用中かどうかを示す使用状態、315は暗号化パケットの再送攻撃を検出するために前記暗号化パケットに付加するシーケンス番号を管理する送信シーケンス番号、316は受信した暗号化パケットに含まれるシーケンス番号を一定数記憶しておくための受信シーケンス番号一覧、317は前記送信先暗号通信装置が複数ある場合に、次の対向装置エントリを指し示す次装置ポインタである。使用状態314は、「使用中」か「未使用」のいずれかの値を取り、対向装置リスト310が指し示す対向装置エントリ311のリストの中で使用状態314が「使用中」となるエントリはたかだか一つである。
【0020】
図4は、対向装置状態テーブル208の詳細な内容を示した図で、複数のエントリから構成される。図中、401は前記エントリの一つである対向装置状態エントリ、402は暗号化パケットの送信先となる暗号通信装置のアドレスを示す対向装置アドレス、403は対向装置アドレス402で示される暗号通信装置との間でパケットの送受信が可能かどうかを示す対向装置状態である。対向装置状態402は「通信可」か「通信不可」のいずれかの値をとる。
【0021】
図5は、グループ装置状態テーブル209の詳細な内容を示した図である。図中、501は多重化構成をとる暗号通信装置のグループ内での使用優先度を示す自装置優先度、502は前記グループ内で活性状態にある暗号通信装置を示す活性装置アドレスである。
【0022】
以下、上記構成による暗号通信装置106,107,108,109が、図1に示した暗号通信システムにおいて実際に暗号通信を行う手順と、障害発生時に暗号通信装置の切り替えを行う手順の一例をシーケンス図とフローチャートを用いて詳細に説明する。
【0023】
はじめに、図1の暗号通信システムにおいて正常に暗号通信が行われるまでの手順を図6により説明する。図6は、必要な初期設定処理の後、ホスト112から送信されたホスト114宛のパケットが、暗号通信装置106で暗号化されてから外部ネットワーク101を通して暗号通信装置108に転送され、暗号通信装置108によって復号化されてからホスト114へ届くまでの手順を示したシーケンス図である。
【0024】
まず、通信を始める前の準備として、暗号通信装置106,107,108,109のそれぞれに対して暗号通信ポリシテーブル206、暗号化パラメータテーブル207、対向装置状態テーブル208、グループ装置状態テーブル209の初期設定を行う(ステップ601)。本実施例における暗号通信ポリシは、組織ネットワーク102内のホストと組織ネットワーク103内のホストとの間の通信を暗号化するものとし、暗号通信装置106と107、および、108と109がそれぞれ多重化構成をとるものとする。さらに、使用する前記暗号通信装置の優先度はそれぞれ106および108の方が107および109より高く、初期状態としては106と108が多重化構成をとるグループ内での活性状態の装置とする。
【0025】
ステップ601の初期設定が完了すると、次に、暗号通信に必要な暗号鍵等を決定するための暗号鍵交換プロトコルを実行する(ステップ602)。前記暗号鍵交換プロトコルには、たとえばインターネット上で安全に鍵の交換を行う標準プロトコルであるIKE(Internet Key Exchange)などがある。初期状態では暗号通信装置106と108が活性状態なので、前記鍵交換プロトコルは暗号通信装置106内の暗号鍵交換プロトコル処理部205と、暗号通信装置108内の暗号鍵交換プロトコル処理部205との間で外部ネットワーク101を経由して実行され、その結果として暗号化パラメータ識別子、暗号アルゴリズム、暗号鍵が決定する。
【0026】
前記暗号鍵交換プロトコルの実行を開始する契機を与える方法としては、たとえば、暗号鍵交換プロトコル処理部205にコマンド入力手段を設け、事前に登録されている暗号通信ポリシテーブル206内のいずれかの暗号通信ポリシエントリ301を指定して暗号鍵交換プロトコル開始要求を人手により与える方法や、いずれかの暗号通信ポリシエントリ301に合致するパケットを受信した時点で、前記暗号通信ポリシエントリ301の暗号化パラメータテーブルポインタ305が指し示す暗号化パラメータテーブルエントリ306に暗号化に必要な情報が格納されていなかった場合に自動的に前記暗号鍵交換プロトコルを開始する方法などがある。
【0027】
ステップ602により暗号通信に必要なパラメータが決定したら、前記パラメータを前記暗号通信ポリシエントリの暗号化パラメータテーブルポインタ305が指し示す暗号化パラメータエントリ306に格納する処理を行う。
【0028】
組織ネットワーク102側の暗号通信装置における処理を例にその手順を説明すると、まず暗号通信装置106の暗号鍵交換プロトコル処理部205が、暗号通信装置106の暗号化パラメータエントリ306内の暗号化パラメータ識別子307、暗号アルゴリズム308、暗号鍵309のそれぞれに前記パラメータを格納し、さらに、対応装置リスト310が指し示す対向装置エントリ311について、送信シーケンス番号312を0とし、受信シーケンス番号一覧313を空にする処理を行う。この例では前記対向装置エントリ311は対向側装置となり得る暗号通信装置108と暗号通信装置109の二つのエントリがあるので、その両方について行う(ステップ603)。
【0029】
ステップ603が完了したら、引き続き暗号通信装置106の暗号鍵交換プロトコル処理部205は、処理対象となっている暗号通信ポリシエントリ301に含まれる暗号通信ポリシ識別子302の値、処理対象となっている暗号化パラメータエントリ306に含まれる暗号化パラメータ識別子307、暗号アルゴリズム308、暗号鍵309のそれぞれの値を格納したパケット604を専用ネットワーク110を通して暗号通信装置107に送信する。
【0030】
パケット604を受信した暗号通信装置107の暗号鍵交換プロトコル処理部205は、パケット604内の暗号通信ポリシ識別子と同じ値をもつ暗号通信ポリシエントリ301を検索し、前記暗号通信ポリシエントリ中の暗号化パラメータテーブルポインタ305が指し示す暗号化パラメータエントリ306の暗号化パラメータ識別子307、暗号アルゴリズム308、暗号鍵309のそれぞれにパケット604に含まれている対応する値を格納する。さらに、前記暗号化パラメータエントリの対応装置リスト308が指し示す対向装置エントリ311について、送信シーケンス番号312を0とし、受信シーケンス番号一覧313を空にする処理を行う。この例では前記対向装置エントリは対向側装置となり得る暗号通信装置108と暗号通信装置1079二つのエントリがあるので、その両方について行う(ステップ605)。
【0031】
組織ネットワーク103側も同様の手順により、暗号通信装置108内の暗号化パラメータエントリ306および対向装置エントリ311への前記パラメータの設定(ステップ606)、前記パラメータを格納したパケット607の暗号通信装置109への送信、パケット607の内容に従った暗号通信装置109内の暗号化パラメータエントリ306および対向装置エントリ311への前記パラメータ設定を行う。
【0032】
以上の処理により、組織ネットワーク102内のホストと組織ネットワーク103内のホストとの間で行われる通信のパケットを外部ネットワーク101上を暗号化して流すための準備が整う。
【0033】
次に、実際の暗号通信の例として、上記の準備が整った状態でホスト112からホスト114へパケットが送信される様子を引き続き図6により説明する。
【0034】
まず、ホスト112からホスト114宛のパケット609がローカルエリアネットワーク104へ送信されると、パケット609はその時活性状態にある暗号通信装置106のパケット転送部201に受信される。パケット転送部201は、受信したパケット609に含まれる送信元アドレスと宛て先アドレスの組と、暗号通信装置106内の暗号通信ポリシテーブル206に含まれる暗号通信ポリシエントリ301の暗号化対象パケット送信元アドレス302と暗号化対象パケット宛て先アドレス303の組を比較し、前記暗号通信ポリシエントリ301に合致するものがあるかどうかを検索する。ここでは、ステップ601の初期設定により合致するエントリが存在するので、パケット転送部201はパケット609を外部ネットワーク101への転送する前にパケット暗号・復号部202へ渡し、パケット暗号化処理を行う(ステップ610)。ここで、もし暗号通信ポリシテーブル206に合致する暗号通信ポリシエントリ301がなかった場合は、パケット609は暗号化されずにそのまま外部ネットワーク101へ転送されることになる。
【0035】
ステップ610では、パケット暗号・復号部202が、検索された前記暗号通信ポリシエントリ中の暗号化パラメータテーブルポインタ305が指し示す暗号化パラメータエントリ306の情報を用いてパケット609の暗号化処理を行い、暗号化パケット611を生成する。なお、パケット暗号・復号部202は暗号化処理に先立ち、前記暗号化パラメータエントリ306の対向装置リスト310が指し示す対向装置エントリ311のリストから、使用状態314が「使用中」となっている暗号化パラメータエントリ311を検索しておく。前記暗号化パケット611の転送先が、検索された前記対向装置エントリ311の対向装置アドレス312に示される暗号通信装置となる。
【0036】
図7はパケット暗号・復号部202により暗号化された暗号化パケット611の内容を示した図である。図中、703は平文状態のパケット609を、前記暗号化パラメータエントリ内の暗号アルゴリズム308に示される暗号アルゴリズムにより暗号鍵309に示される暗号鍵を使って暗号化した元パケット暗号化部分、702はパケット暗号・復号部202が付加する暗号化ヘッダ、701はパケット暗号・復号部202が付加するIPヘッダである。
【0037】
暗号化ヘッダ702は、さらに暗号化パラメータ識別子704とシーケンス番号705で構成される。暗号化パラメータ識別子704には前記暗号化パラメータエントリの暗号化パラメータ識別子307の値をそのまま格納し、シーケンス番号705には前記対向装置エントリの送信シーケンス番号315の値に1を加えた値を格納する。その後、送信シーケンス番号315の値も1加えたものに更新しておく。また、IPヘッダ701の送信元アドレスは暗号通信装置106のアドレス、宛て先アドレスは暗号通信装置108のアドレスとする。
【0038】
ステップ610のパケット暗号化処理が完了すると、生成された暗号化パケット611はパケット転送部201に戻され、外部ネットワーク101を通して暗号化パケット611のIPヘッダ701に書かれた宛て先アドレスである暗号通信装置108へ転送される。
【0039】
暗号通信装置108は、暗号化パケット611を受信するとパケット復号処理を行う(ステップ612)。
【0040】
まず、暗号通信装置108のパケット転送部201が暗号化パケット611を受け取り、暗号化ヘッダ702の存在により前記暗号化パケット611が暗号化されたものであることを認識すると、暗号化パケット611をパケット暗号・復号部202へ転送する。パケット暗号・復号部202は、暗号通信装置108内の暗号化パラメータテーブル207に含まれるすべての暗号化パラメータエントリ306から、暗号化パケット611の暗号化パラメータ識別子704に含まれる値と同一の値を暗号化パラメータ識別子307に持つ暗号化パラメータエントリ306を検索する。もし見つからなかった場合、前記暗号化パケット611は破棄されるが、この例ではステップ608で設定された暗号化パラメータエントリ306が検索される。同一の暗号化パラメータ識別子を持つ暗号化パラメータエントリ306が見つかったら、さらに、前記暗号化パラメータエントリ306の対向装置リスト308が指し示す対向装置エントリ311の中から、前記暗号化パケット611のIPヘッダ701に示される送信元アドレスに一致する対向装置アドレス312を持つ対向装置エントリ311を検索する。
【0041】
暗号化パケット611に対応する暗号化パラメータエントリ306と対向装置エントリ311が見つかったら、まずシーケンス番号705の値を確認して暗号化パケット611が再送攻撃により送信されたものでないことを確認する。具体的には、まず、暗号化パケット611のシーケンス番号705の値が、前記対向装置エントリの受信シーケンス番号一覧313に含まれるシーケンス番号の最大値より大きいか、または、受信シーケンス番号一覧313に含まれるシーケンス番号の最小値より大きく、かつ、受信シーケンス番号一覧313に含まれていない値であれば再送攻撃ではないと判断するとともに、前記シーケンス番号を受信シーケンス番号一覧313に加える。受信シーケンス番号一覧313に新たな値を加えた結果、受信シーケンス番号一覧313のシーケンス番号の最大登録数を越えてしまった場合は、登録されているシーケンス番号のうち最小のものを削除する。もし、前記シーケンス番号705の値が、前記シーケンス番号を受信シーケンス番号一覧313に含まれているか、または、受信シーケンス番号一覧313に含まれている値の最小値より小さい場合、前記暗号化パケット611は過去に一度受信したもので、再送攻撃によるパケットであると判断し、破棄する。
【0042】
暗号化パケット611が再送攻撃によるものでないことが判断できたら、暗号化パケット611中の元パケット暗号化部分703の復号化処理を行い、暗号化前のホスト112が送信したパケット609と同一内容のパケット613を取り出す。元パケット暗号化部分703の復号化に利用する暗号アルゴリズムと暗号鍵は、それぞれ前記暗号化パラメータエントリに含まれる暗号アルゴリズム308と暗号鍵309を使用する。
【0043】
復号化の結果得られたパケット613は、パケット暗号・復号部202からパケット転送部201へ戻され、最終的な宛て先であるホスト114へローカルエリアネットワーク105を通して転送される。
【0044】
以上が図1に示した暗号通信システムにおける暗号通信の基本的な流れである。
【0045】
次に、図1に示した暗号通信システムにおいてなんらかの障害発生により活性状態の暗号通信装置の切り替えを行う場合の手順について、2種類の障害例を挙げてそれぞれ説明する。
【0046】
まず、第1の障害例は、図6で説明したシーケンスにより暗号通信を開始した状態で暗号通信装置108と外部ネットワーク101との間で通信障害が発生し、暗号通信装置108が組織ネットワーク102側の暗号通信装置と通信できなくなってしまった場合の例である。この場合の動作を図8、図9、図10を用いて説明する。
【0047】
図8は、図6に示したステップ605およびステップ608までの処理が完了した後、障害が発生から暗号通信装置の切り替えを完了するまでの流れを示したシーケンス図である。
【0048】
暗号通信装置106と108は、それぞれ暗号化パラメータ設定処理(ステップ603、ステップ606)が完了すると、相互に稼働状態を監視するため、暗号通信装置106の対向装置状態監視部203が生存通知パケット801を暗号通信装置108に対して定期的に送信し、暗号通信装置108の対向装置状態監視部203が生存通知パケット802を暗号通信装置106に対して定期的に送信する。同時に、暗号通信装置106の対向装置状態監視部203は暗号通信装置108からの生存通知パケット802の受信を監視し、暗号通信装置108の対向装置状態監視部203は暗号通信装置106からの生存通知パケット801の受信を監視する。それぞれの対向装置状態監視部203は、相手装置からの生存通知パケット801、802が一定時間受信されないことを検出すると、通信障害が発生したと判断する。
【0049】
さらに、暗号通信装置106のグループ装置状態監視部204は多重化構成をとる他の暗号通信装置107に対して、専用ネットワーク110を通して生存通知パケット803を定期的に送信し、暗号通信装置108のグループ装置状態監視部204は多重化構成をとる他の暗号通信装置109に対して、専用ネットワーク111を通して生存通知パケット804を定期的に送信することで、それぞれ自装置が活性状態にあることを他の非活性状態にある暗号通信装置に通知する。活性状態にある暗号通信装置からの生存通知パケット803,804がグループ装置状態監視部204により一定時間受信されないことが検出されると、非活性状態にある暗号通信装置はなんらかの理由により前記活性状態にある暗号通信装置が非活性状態に遷移したと判断する。
【0050】
以上のように暗号通信装置同士が相互に生存監視を行っている状態で暗号通信装置108と外部ネットワーク101との間で通信障害805が発生すると、その後に暗号通信装置106から送信された生存通知パケット806と、暗号通信装置108から送信された生存通知パケット807が遮断され、暗号通信装置106と108の双方の対向装置状態監視部203が生存通知パケット受信タイムアウトにより障害を検出し、対向装置通信障害回復処理808に入る。
【0051】
図9は、対向装置通信障害回復処理808の詳細処理を示したフローチャートである。
【0052】
対向装置通信障害回復処理808では、まず対向装置状態テーブル208の更新を行うと共に、対向する暗号通信装置に対する生存通知パケットの定期的送信を停止する(ステップ901)。具体的には、たとえば暗号通信装置106の場合、対向装置アドレス402が暗号通信装置108を示している対向装置状態エントリ401を検索し、前記対向装置状態エントリの対向装置状態403を「利用可」から「利用不可」に書き換え、暗号通信装置108へ定期的に送信していた生存通知パケット801の送信を停止する処理を行う。
【0053】
次に、自装置が新たな対向側暗号通信装置の検索を行う側かどうかを判断し、検索実行側であればステップ903以降の処理に移る(ステップ902)。ある対向する暗号通信装置との間で障害が発生した時、どちらの暗号通信装置が新たな対向側暗号通信装置の検索を行うかを決定する方法は、対向する二つの暗号通信装置の間でどちらか片方を一意に決定できるものであればどのような方法でもよく、たとえば、両方の暗号通信装置のアドレスを数値として比較し、大きい方の暗号通信装置が新たな対向側暗号通信装置の検索を行うという方法がある。ステップ902において、新たな対向側暗号通信装置の検索側にならなかった暗号通信装置は、そのまま対向装置通信障害回復処理808を終了する。本実施例では、暗号通信装置106のアドレスの方が暗号通信装置108のアドレスより大きいものとし、ステップ903以降の処理は暗号通信装置106が実行するものとする。
【0054】
新たな対向側暗号通信装置の検索側となった暗号通信装置106は、暗号通信装置108との間の暗号通信に利用していた暗号化パラメータエントリ306の対向装置リスト310が指し示す対向装置エントリ311のリストの中から、前記対向装置エントリの対向装置アドレス312で示される対向側暗号装置が、対向装置状態テーブル208内の対向装置状態エントリ401の対向装置状態403で「利用可」と示されているものを検索し、見つかった対向装置エントリの対向装置アドレス312が示す暗号通信装置を新たな対向側暗号通信装置とする。もし、複数の対向装置エントリ311が見つかった場合は、前記対向装置エントリ内の使用優先度313が最も高いものを選択する。
【0055】
ステップ903にて新たな対向側暗号通信装置が見つかったら、前記対向側暗号通信装置を使用するための処理であるステップ905を開始し、見つからなかった場合は多重化された他の暗号通信装置を活性化するための処理であるステップ906を開始する(ステップ904)。
【0056】
ステップ905では、前記見つかった対向装置エントリ内の使用状態314を「未使用」から「使用中」に書き換えるとともに、前記見つかった対向装置エントリの対向装置アドレス312の暗号通信装置に対し生存通知パケット809の定期的な送信を開始する。本実施例の場合、ステップ903で暗号通信装置109を指し示すエントリが検索されるので、生存通知パケット809は暗号通信装置109に対して送信されるようになる。
【0057】
一方、対向側暗号通信装置が見つからなかった場合の処理ステップ906では、グループ装置状態テーブル209内の活性装置アドレス502に活性状態の装置がないことを意味する値として0を書き込むとともに、多重化された他の暗号通信装置に対する生存通知パケット803の送信を停止することで、前記他の暗号通信装置に対し自装置が非活性状態になったことを知らせ、前記他の暗号通信装置が活性状態になることを促す。生存通知パケット803が停止したあとの前記他の暗号通信装置の動作については、後述する第2の障害例で説明するので、ここでは省略する。
【0058】
図8のシーケンス図において暗号通信装置106と108の両方で対向装置通信障害回復処理808が完了すると、暗号通信装置106から生存通知パケット809を受信するようになった暗号通信装置109がグループ装置強制切り換え処理810を開始する。グループ装置強制切り換え処理810は、組織ネットワーク103側で活性状態にある暗号通信装置を暗号通信装置108から暗号通信装置109へ切り換える処理である。
【0059】
図10は、グループ装置強制切り換え処理810の詳細処理を示すフローチャートである。
【0060】
まず、暗号通信装置109の対向装置状態監視部203が生存通知パケット809を受信すると、対向側暗号通信装置として暗号通信装置109が選択されたと判断し、暗号化パラメータテーブル207内の対向装置エントリ311で、対向装置アドレス312が暗号装置106を示しているエントリの使用状態314を「使用中」に変更し(ステップ1001)、暗号通信装置106に対する生存通知パケット811の定期的な送信を開始する(ステップ1002)。さらに、グループ装置状態監視部204がグループ装置状態テーブル209内の活性装置アドレス502を暗号通信装置109のアドレスに書き換えるとともに(ステップ1003)、多重化構成をとる暗号通信装置108に対して生存通知パケット812の定期的な送信を開始する(ステップ1004)。生存通知パケット812を受信した暗号通信装置108のグループ装置状態監視部204は、グループ装置状態テーブル209内の活性装置アドレス502を生存通知パケット812の送信元である暗号通信装置109のアドレスに書き換えるとともに、これまで送信していた暗号通信装置109に対する生存通知パケット804の送信を停止する。
【0061】
以上が第1の障害例に対する回復処理であり、以後、組織ネットワーク102内のホストから送信された組織ネットワーク103内のホスト宛てパケットは暗号通信装置106が暗号化して暗号通信装置109へ転送し、暗号通信装置109が暗号化された前記パケットを復号化して組織ネットワーク103内の宛て先ホストへ転送するようになる。
【0062】
次に第2の障害例について説明する。第2の障害例は、図6で説明したシーケンスにより暗号通信を開始した状態で暗号通信装置106自体に障害が発生し、暗号通信装置106が動作しなくなってしまった場合である。この場合の暗号通信装置切り換え動作の例を図11、図12、図13を用いて説明する。
【0063】
図11は、図6に示したステップ605およびステップ608までの処理が完了した後、障害が発生から暗号通信装置の切り替えを完了するまでの流れを示したシーケンス図である。
【0064】
ステップ605の完了後、暗号通信装置106のグループ装置状態監視部204は生存通知パケット1101を暗号通信装置107に送信し、暗号通信装置108の対向装置状態監視部203は暗号通信装置106に対し生存通知パケット1102を送信している。この状態で暗号通信装置106に故障等による装置障害1103が発生すると、生存通知パケット1101が暗号通信装置107へ届かなくなり、暗号通信装置107のグループ装置状態監視部204は暗号通信装置106が非活性状態に遷移したことを検出し、グループ装置障害回復処理1104を開始する。
【0065】
図12は、グループ装置障害回復処理1104の詳細処理を示すフローチャートである。
【0066】
暗号通信装置107のグループ装置状態監視部204は、暗号通信装置106が非活性状態になったことを検出すると、まず、多重化構成をとる他の暗号通信装置すべてに対して専用ネットワーク110を通して生存通知パケット1105の定期的な送信を開始すると同時に(ステップ1201)、前記他の暗号通信装置からの生存通知パケット受信を監視する。なお、生存通知パケット1105には暗号通信装置107のグループ装置状態テーブル209に含まれる自装置優先度501の値を含めている。
【0067】
ステップ1201にて生存通知パケット1105の送信を開始してから一定時間以内に自装置優先度501より大きな優先度が格納された前記他の暗号通信装置からの生存通知パケットが受信されなかった場合、自装置が活性状態になるべきと判断し、ステップ1203以降の処理に移る(ステップ1202)。もし、自装置優先度501より高い優先度を持つ前記他の暗号通信装置からの生存通知パケットを受信した場合、最も高い優先度を持つ前記生存通知パケットの送信元暗号通信装置が活性状態になるものと判断し、前記送信元暗号通信装置のアドレスをグループ装置状態テーブル204内の活性装置アドレス502に格納し、生存通知パケット1105の送信を停止する(ステップ1205)。本実施例の場合、暗号通信装置107と多重化構成をとる暗号通信装置は暗号通信装置106のみで、暗号通信装置106はすでに非活性状態になっている。したがって、ステップ1202で他の暗号通信装置からの生存通知パケットを受信することはなく、暗号通信装置107が活性状態になるものとしてステップ1203以降を実行することになる。
【0068】
ステップ1202で自装置が活性状態になることが決まったら、活性装置アドレス502に自装置アドレスを設定し(ステップ1203)、暗号化パラメータテーブル207の対向装置エントリ311の中から、対向装置アドレス312で示される対向側暗号装置が対向装置状態テーブル208内の対向装置状態エントリ401の対向装置状態403で「活性状態」と示されているものを検索し、見つかった対向装置エントリの対向装置アドレス312が示す暗号通信装置を新たな対向側暗号通信装置とする。もし、複数の対向装置エントリ311が見つかった場合は、前記対向装置エントリ内の使用優先度313が最も高いものを選択する。そして、前記見つかった対向装置エントリの使用状態314を「使用中」に書き換え、前記見つかった対向装置エントリの対向装置アドレス312に示される暗号通信装置に対し生存通知パケット1106の定期的な送信を開始する。本実施例においては、前記検索により暗号通信装置108に対する対向装置エントリが選択されるので、生存通知パケット1106は暗号通信装置108に送信される(ステップ1205)。以上でグループ装置障害回復処理1104が完了する。
【0069】
グループ装置障害回復処理1104により暗号通信装置107から暗号通信装置108に対し生存通知パケット1106が送信されるようになると、暗号通信装置108は対向装置切り換え処理1107を開始する。
【0070】
図13は、対向装置切り換え処理1107の詳細処理を示したフローチャートである。
【0071】
暗号通信装置108の対向装置状態監視部203が生存通知パケット1106を受信すると、暗号化パラメータテーブル207内の暗号通信装置107に対する対向装置エントリ311の使用状態314を「使用中」に書き換え、暗号通信装置107に向けた生存通知パケット1108の定期的な送信を開始する(ステップ1301)。
【0072】
続いて、暗号化パラメータテーブル207内の対向装置エントリ311のうち、使用中状態314がステップ1301で「使用中」に変更したもの以外で「使用中」になっているものを検索し、見つかった対向装置エントリの使用中状態314を「未使用」に書き換えるとともに、前記見つかった対向装置エントリの対向装置アドレスで示される暗号通信装置に対する生存通知パケットの送信を停止する(ステップ1302)。本実施例では暗号通信装置106に対する対向装置エントリがステップ1302の処理対象となるエントリであり、本処理により生存通知パケット1102の送信を停止する。
【0073】
なお、暗号通信装置108の対向装置状態監視部203が生存通知パケット1106を受信するタイミングによっては、暗号通信装置108は先に暗号通信装置106からの生存通知パケット受信タイムアウトによる対向装置通信障害回復処理804を実行している可能性もあるが、この場合はすでにステップ1302においては暗号通信装置106に対する対向装置エントリ311の使用状態314は「未使用」となっているので、ステップ1302の処理では使用状態314が「使用中」となっている対向装置エントリ311は検索されない。
【0074】
以上が第2の障害例に対する回復処理であり、以後、組織ネットワーク102内のホストから送信された組織ネットワーク103内のホスト宛てパケットは暗号通信装置107が暗号化して暗号通信装置108へ転送し、暗号通信装置108が暗号化された前記パケットを復号化して組織ネットワーク103内の宛て先ホストへ転送するようになる。
【0075】
以上のように、本実施例によれば、暗号通信装置における暗号化処理および復号化処理に必要な暗号化パラメータのうち、固定的なパラメータである暗号化パラメータ識別子、暗号アルゴリズム、暗号鍵は1回の暗号鍵交換プロトコルの実行により生成されたものを多重化された暗号通信装置全体で共有し、さらに、パケットの暗号化および復号化を1パケット分行う毎に変化するシーケンス番号を管理するための情報は対向する暗号通信装置毎に独立したのテーブルで管理することで、障害により暗号通信装置の切り替えが必要となった場合でも、多大な計算時間を必要とする暗号鍵の再生成を行うことなく、かつ、再送攻撃検出のためのシーケンス番号の管理に矛盾を起こさずに素早く暗号通信装置の切り替えが行える暗号通信システムを実現できるという効果がある。
【0076】
【発明の効果】
本発明によれば、多重化構成をとる複数の暗号通信装置の間で、暗号処理に必要な暗号化情報のうち暗号通信中に固定の情報は該情報が生成されたときに即座に共有されるとともに、前記暗号通信中に変化する情報は前記複数の暗号通信装置で通信相手となる暗号通信装置ごとに個別に初期化するので、障害等により暗号通信装置の切り替えを行った場合の新たな前記暗号化情報の再生成が不要になるという効果がある。
【0077】
さらに、本発明によれば、前記暗号通信装置が相互に状態監視と状態通知を行うことで、障害発生時に通信可能な前記暗号通信装置の組み合わせに速やかに切り換えて暗号通信を継続可能になるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例による暗号通信システムの構成を示す図。
【図2】本発明の一実施例による暗号通信装置の構成を示す図。
【図3】図2の暗号通信ポリシテーブルと暗号化パラメータテーブルの詳細内容を示す図。
【図4】図2の対向装置状態テーブルの詳細内容を示す図。
【図5】図2のグループ装置状態テーブルの詳細内容を示す図。
【図6】図1の暗号通信システムにおける初期設定から暗号通信を行うまでの手順を示すフローチャート。
【図7】図1の暗号通信システムにおいて外部ネットワークを転送される暗号化パケットの構成を示す図。
【図8】図1の暗号通信システムにおいて通信障害が発生した場合の暗号通信装置切り換え手順を示すシーケンス図。
【図9】図8のシーケンスにおける対向装置通信障害回復処理の詳細を示すフローチャート。
【図10】図8のシーケンスにおけるグループ装置強制切り換え処理の詳細を示すフローチャート。
【図11】図1の暗号通信システムにおいて装置障害が発生した場合の暗号通信装置切り換え手順を示すシーケンス図。
【図12】図11のシーケンスにおけるグループ装置障害回復処理の詳細を示すフローチャート。
【図13】図11のシーケンスにおける対向装置切り換え処理の詳細を示すフローチャート。
【符号の説明】
101…外部ネットワーク、102,103…組織ネットワーク、104,105…ローカルエリアネットワーク、106,107,108,109…暗号通信装置、110,111…専用ネットワーク、112,113,114,115…ホスト、201…パケット転送部、202…パケット暗号・復号部、203…対向装置状態監視部、204…グループ装置状態監視部、205…暗号鍵交換プロトコル処理部、206…暗号通信ポリシテーブル、207…暗号化パラメータテーブル、208…対向装置状態テーブル、209…グループ装置状態テーブル。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a cryptographic communication device and a cryptographic communication system having cryptographic processing means for performing encryption and decryption of communication data, and more particularly to a cryptographic communication device suitable for increasing the reliability of a system by multiplexing devices and communication lines. The present invention relates to a cryptographic communication system.
[0002]
[Prior art]
As one of means for protecting communication data from acts such as eavesdropping and tampering on a shared network such as the Internet, an encryption communication technique called IP security has been conventionally used.
[0003]
As an application form of the IP security technology, for example, a cryptographic communication device equipped with an IP security function is installed in a gateway device such as a router that connects the Internet to an organization network, and terminals existing in networks of two different organizations A and B are provided. When communicating via the Internet, the cryptographic communication device in the organization A encrypts communication data from a terminal in the organization A and relays it to the Internet, and the cryptographic communication device in the organization B After receiving the encrypted communication data, the communication data is decrypted and relayed to the terminal in the organization B. In this mode, even if each terminal in the organization network does not have an encryption communication function, secure communication can be performed on the Internet, and there is an advantage that the Internet can be used like a kind of dedicated line.
[0004]
By the way, in an organization such as a company that places importance on high availability of a communication system, a system in which communication lines and gateway devices are multiplexed may be formed in preparation for various network failures. However, when such a system uses an encryption communication device equipped with the above-described IP security function, there is a problem that it takes a very long time to switch the encryption communication device when a failure occurs. This is because an encryption parameter such as an encryption key used in the encryption communication of the IP security is generated and managed for each pair of the IP addresses of both the encryption communication devices performing the encryption communication. When a cryptographic communication device that performs cryptographic communication is switched due to a failure, it is necessary to discard all the encryption parameters used so far and generate a new encryption parameter. Generating an encryption key requires a large amount of computation, and requires a great deal of processing time, especially when connecting to many organizations over the Internet and regenerating many encryption keys at once. turn into. Further, even if the encryption parameters can be shared between multiplexed cryptographic communication devices, some of the encryption parameters, such as a sequence number for detecting a retransmission attack, change sequentially during cryptographic communication. However, in order to share encryption parameters between the multiplexed encrypted communications including this parameter, a large amount of communication for synchronizing sequence numbers between gateways is required.
[0005]
In order to solve such a problem, there is a conventional technique as described in Patent Document 1, for example. In this conventional technology, a plurality of cryptographic communication devices are configured to appear as one virtual cryptographic communication device from the Internet side by a technology called VRRP (Virtual Router Redundancy Protocol), and switching of the cryptographic communication device due to a failure occurs. Even if it occurs, the IP address of the cryptographic communication device does not need to be regenerated by making it appear that the IP address of the cryptographic communication device has not changed, and the sequence number that changes during the cryptographic communication is Divide the number range to be used in advance so that the number to be used does not overlap depending on the combination of devices that perform communication. By allocating, the communication for synchronizing the sequence numbers during the encryption communication is not required.
[0006]
[Patent Document 1]
JP 2002-247113 A
[0007]
[Problems to be solved by the invention]
The above prior art is a method on the assumption that a plurality of cryptographic communication devices can be virtualized by VRRP on the Internet side. However, VRRP is originally a technique devised to make a single multiplexed gateway device appear to a host connected to the organization network side, and the number of devices constituting the system is reduced depending on the system configuration. Therefore, there is a case where the system is simplified, so that it is not possible to virtualize the gateway device on the Internet side. The above-described conventional technology has a problem that, in the case of such a simple system configuration in which VRRP cannot be applied to the Internet, encryption key information cannot be shared among a plurality of multiplexed encryption communication devices. was there.
[0008]
An object of the present invention is to provide an encryption communication device that can share encryption key information even in a multiplexed configuration with different IP addresses.
[0009]
Another object of the present invention is to provide a cryptographic communication system in which a communication line and a cryptographic communication device connected to the communication line are multiplexed and the cryptographic communication device can be switched quickly even when a failure occurs. It is in.
[0010]
[Means for Solving the Problems]
In order to achieve the above object, in the cryptographic communication device of the present invention, among the information necessary for cryptographic communication, fixed information such as an encryption key is different from the cryptographic communication device that determined the fixed information at the stage when they were determined. Means for distributing information to all multiplexed cryptographic communication devices, and an area for managing variable information among information necessary for cryptographic communication at the stage where the fixed information is determined or distributed from another cryptographic communication device. Means for individually preparing and initializing the communication with each of the cryptographic communication devices serving as communication partners, means for monitoring whether communication with the opposite cryptographic communication device as the communication partner is normally performed, and multiplexing. Means for monitoring the activation state of the cryptographic communication device with another cryptographic communication device that has been activated, and when a system switchover due to a failure occurs, the fixed information is continuously used and the variable information is used as the system switchover. To Switch to use the one managed in the area corresponding to the encryption communication device that became the new communication partner, so that even if a system switchover due to a failure occurs, new encryption key information can be generated and multiplexed. This eliminates the need for passing variable information required for encrypted communication between encrypted communication devices.
[0011]
Further, in a network having a plurality of connection lines with an external network, by providing the cryptographic communication device for each of the connection lines, even if a failure occurs in the connection line, the external network, or the cryptographic communication device, the encryption A cryptographic communication system in which the availability of cryptographic communication is enhanced by quickly switching to a communication path and a cryptographic communication device having no abnormality without regenerating information necessary for communication.
[0012]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0013]
FIG. 1 shows an entire configuration of a cryptographic communication system using a cryptographic communication device according to an embodiment of the present invention. In the figure, 101 is an external network such as the Internet, 102 and 103 are organization networks connected to the external network 101, 104 and 105 are local area networks constituting the organization networks 102 and 103, respectively, and 106 and 107 are external networks. Cryptographic communication devices that connect 101 to local area network 104; 108 and 109 are cryptographic communication devices that connect external network 101 and local area network 105; 110 and 111 are cryptographic communication devices 106 and 107; A dedicated network for directly exchanging information between them, 112 and 113 are hosts connected to the local area network 104, and 114 and 115 are hosts connected to the local area network 105. That. Here, the host refers to a computer device connected to the local area network, such as a server or a personal computer terminal.
[0014]
In this configuration, when the host 112 or 113 in the organization network 102 and the host 114 or 115 in the organization network 103 perform data communication by packet via the external network 101, the packet is transmitted to the cryptographic communication devices 106 and 107. , 108, and 109, and operates so that the packet flows on the external network 101 in an encrypted state. Here, the cryptographic communication devices 106 and 107 and 108 and 109 each function as a multiplexed cryptographic communication device. Usually, one of 106 and 107 and one of 108 and 109 are used as a normal system, and the other is used as a normal system. Becomes the standby system. During the operation, when communication between the regular systems becomes impossible due to a failure of a communication line constituting the network 101 or the cryptographic communication device itself, a failure occurs by performing processing for switching to the standby system. Also constitute a highly reliable network system that can continue communication. Note that the cryptographic communication devices 106 and 107 operate as one virtual gateway based on VRRP on the local area network 104 side, and packets from a host on the local area network 104 are used in a normal system. And performs the encryption processing and the relay processing to the external network 101 side. Similarly, the cryptographic communication devices 108 and 109 also operate as one virtual gateway to the local area network 105 side.
[0015]
FIG. 2 is a diagram showing the internal configuration of the cryptographic communication device 106. In the figure, 201 is a packet transfer unit that relays a packet between the local area network 104 and the external network 101, and 202 is a packet transfer unit that performs encryption processing or A packet encryption / decryption unit that executes a decryption process, 203 is a counterpart device status monitoring unit that monitors the status of a counterpart encryption communication device that communicates via the external network 101, and 204 is multiplexed in the organization network 102. A group device status monitoring unit 205 that monitors the status of another cryptographic communication device having a configuration, negotiates and exchanges encryption parameters such as a cryptographic key with the opposing cryptographic communication device via the external network 101. An encryption key exchange protocol processing unit that executes a protocol to be executed, and a packet transfer unit 201 relays a packet. In this case, an encryption communication policy table storing information necessary for determining whether or not the packet should be subjected to the encryption processing. Reference numeral 207 denotes an encryption generated as a result of the encryption key exchange protocol processing unit 205 executing the encryption key exchange protocol. An encryption parameter table 208 for storing parameters, a counterpart device status monitor 208 for storing the status and the like of the opposite-side cryptographic communication device obtained by the counterpart device status monitor 203, and 209, another cryptographic communication having a multiplex configuration 9 is a group device status table for storing status information and the like of devices obtained by the group device status monitoring unit 204; The encryption communication devices 107, 108, and 109 have the same internal configuration.
[0016]
FIG. 3 is a diagram showing the detailed contents of the encryption communication policy table 206 and the encryption parameter table 207, each of which is composed of one or a plurality of entries. In the figure, reference numeral 301 denotes an encrypted communication policy entry, which is one entry in the encrypted communication policy table 206; 302, an encrypted communication policy identifier for uniquely identifying the encrypted communication policy entry 301; The source address of the packet to be encrypted specifying the source address of the packet to be transmitted, 304 is the destination address of the packet to be encrypted specifying the destination address included in the packet matching the encryption communication policy entry 301, and 305 is the packet to be encrypted This is an encryption parameter table pointer indicating an entry of the encryption parameter table 207 applied to a packet that matches the specification of the source address 303 and the destination address 304 of the packet to be encrypted.
[0017]
For the source address 303 of the packet to be encrypted and the destination address 304 of the packet to be encrypted, a network can be specified by a combination of a network address and a subnet mask in addition to an address indicating a single host. In this case, packets transmitted and received by all hosts included in the network are targeted. For example, encryption such as “encrypt all communication performed between a host in the organization network 102 and a host in the organization network 103” is performed. It is possible to specify a communication policy.
[0018]
Further, regarding the constituent elements of the encryption parameter table 207, reference numeral 306 denotes an encryption parameter entry, which is one entry of the encryption parameter table 207; 307, an encryption parameter identifier for uniquely identifying the encryption parameter entry 306; Is an encryption algorithm used for packet encryption by the encryption parameter entry 306, 309 is an encryption key used for packet encryption by the encryption parameter entry 306, and 310 is destination encrypted communication of the packet encrypted by the encryption parameter entry. It is an opposite device list indicating a list of devices.
[0019]
In the table indicated by the remote device list 310, a plurality of entries are managed in a list structure, and one entry holds information related to one destination encryption communication device. In the figure, reference numeral 311 denotes a remote device entry which is one of the entries, 312 denotes a remote device address designating the destination cryptographic communication device, and 313 denotes which one to use when there are a plurality of the destination cryptographic communication devices. The use priority for determination, 314 is a use state indicating whether the opposing device entry 311 is in use, and 315 is a transmission sequence for managing a sequence number added to the encrypted packet to detect a retransmission attack on the encrypted packet. Reference numeral 316 denotes a list of reception sequence numbers for storing a fixed number of sequence numbers included in the received encrypted packet. Reference numeral 317 denotes the next entry indicating the next opposite device entry when there are a plurality of destination encryption communication devices. Device pointer. The use status 314 takes a value of either “in use” or “unused”, and at least the entry whose use status 314 is “in use” in the list of the partner device entries 311 indicated by the partner device list 310 is at most. One.
[0020]
FIG. 4 is a diagram showing the detailed contents of the remote device status table 208, which is composed of a plurality of entries. In the figure, reference numeral 401 denotes an opposite device status entry which is one of the entries, 402 denotes an opposite device address indicating an address of an encrypted communication device to which an encrypted packet is to be transmitted, and 403 denotes an encrypted communication device indicated by the opposite device address 402. This is an opposing device state indicating whether packets can be transmitted and received between the remote device and the device. The opposing device status 402 takes one of the values “communicable” or “communicable”.
[0021]
FIG. 5 is a diagram showing the detailed contents of the group device status table 209. In the figure, reference numeral 501 denotes its own device priority indicating the use priority of a multiplexed encryption communication device within a group, and reference numeral 502 denotes an active device address indicating an active encryption communication device within the group.
[0022]
Hereinafter, the sequence in which the cryptographic communication devices 106, 107, 108, and 109 having the above configuration actually perform the cryptographic communication in the cryptographic communication system shown in FIG. This will be described in detail with reference to the drawings and flowcharts.
[0023]
First, a procedure until encryption communication is normally performed in the encryption communication system of FIG. 1 will be described with reference to FIG. FIG. 6 shows that after necessary initialization processing, a packet addressed to the host 114 transmitted from the host 112 is encrypted by the encryption communication device 106 and then transferred to the encryption communication device 108 through the external network 101. FIG. 9 is a sequence diagram showing a procedure from decoding by 108 to reaching a host 114.
[0024]
First, as preparations before starting communication, initial settings of the encryption communication policy table 206, the encryption parameter table 207, the counterpart device status table 208, and the group device status table 209 for each of the cryptographic communication devices 106, 107, 108, and 109 are made. Settings are made (step 601). The encryption communication policy in the present embodiment is to encrypt communication between a host in the organization network 102 and a host in the organization network 103, and the encryption communication apparatuses 106 and 107 and the encryption communication apparatuses 108 and 109 are respectively multiplexed. It shall have a configuration. Furthermore, the priorities of the cipher communication devices to be used are higher in 106 and 108 than in 107 and 109, respectively, and the devices are in an active state in a group in which 106 and 108 have a multiplex configuration as an initial state.
[0025]
When the initial setting in step 601 is completed, an encryption key exchange protocol for determining an encryption key and the like necessary for encrypted communication is executed (step 602). The encryption key exchange protocol includes, for example, IKE (Internet Key Exchange) which is a standard protocol for securely exchanging keys on the Internet. Since the cryptographic communication devices 106 and 108 are active in the initial state, the key exchange protocol is performed between the cryptographic key exchange protocol processing unit 205 in the cryptographic communication device 106 and the cryptographic key exchange protocol processing unit 205 in the cryptographic communication device 108. Is executed via the external network 101, and as a result, an encryption parameter identifier, an encryption algorithm, and an encryption key are determined.
[0026]
As a method of giving an opportunity to start the execution of the encryption key exchange protocol, for example, a command input unit is provided in the encryption key exchange protocol processing unit 205 and any one of the encryption keys in the encryption communication policy table 206 registered in advance is used. A method of manually giving an encryption key exchange protocol start request by designating the communication policy entry 301, or an encryption parameter table of the encryption communication policy entry 301 when a packet matching one of the encryption communication policy entries 301 is received. For example, there is a method of automatically starting the encryption key exchange protocol when information necessary for encryption is not stored in the encryption parameter table entry 306 indicated by the pointer 305.
[0027]
When the parameters necessary for the encrypted communication are determined in step 602, a process of storing the parameters in the encryption parameter entry 306 pointed to by the encryption parameter table pointer 305 of the encrypted communication policy entry is performed.
[0028]
The procedure will be described by taking as an example the processing in the encryption communication device on the organization network 102 side. First, the encryption key exchange protocol processing unit 205 of the encryption communication device 106 sets the encryption parameter identifier in the encryption parameter entry 306 of the encryption communication device 106. 307, the encryption algorithm 308, and the encryption key 309, storing the above parameters, and setting the transmission sequence number 312 to 0 and emptying the reception sequence number list 313 for the opposite device entry 311 indicated by the corresponding device list 310. I do. In this example, the opposing device entry 311 has two entries, the cryptographic communication device 108 and the cryptographic communication device 109, which can be the opposing devices, and so both are performed (step 603).
[0029]
When step 603 is completed, the encryption key exchange protocol processing unit 205 of the encryption communication device 106 continues to process the value of the encryption communication policy identifier 302 included in the encryption communication policy entry 301 to be processed and the encryption target to be processed. The packet 604 storing the values of the encryption parameter identifier 307, the encryption algorithm 308, and the encryption key 309 included in the encryption parameter entry 306 is transmitted to the encryption communication device 107 through the dedicated network 110.
[0030]
Upon receiving the packet 604, the encryption key exchange protocol processing unit 205 of the encryption communication device 107 searches for the encryption communication policy entry 301 having the same value as the encryption communication policy identifier in the packet 604, and performs encryption in the encryption communication policy entry. A corresponding value included in the packet 604 is stored in each of the encryption parameter identifier 307, the encryption algorithm 308, and the encryption key 309 of the encryption parameter entry 306 indicated by the parameter table pointer 305. Further, for the opposite device entry 311 pointed to by the corresponding device list 308 of the encryption parameter entry, a process of setting the transmission sequence number 312 to 0 and emptying the reception sequence number list 313 is performed. In this example, since the opposite device entry has two entries, the cryptographic communication device 108 and the cryptographic communication device 1079 which can be the opposite side device, both entries are performed (step 605).
[0031]
In the same manner, the organization network 103 sets the parameters in the encryption parameter entry 306 and the opposite device entry 311 in the encryption communication device 108 (step 606), and sends the packet 607 storing the parameters to the encryption communication device 109. , And sets the parameters in the encryption parameter entry 306 and the opposite device entry 311 in the encryption communication device 109 according to the contents of the packet 607.
[0032]
With the above processing, the preparation for encrypting and transmitting the communication packet between the host in the organization network 102 and the host in the organization network 103 on the external network 101 is completed.
[0033]
Next, as an example of actual encrypted communication, a state where a packet is transmitted from the host 112 to the host 114 in a state where the above preparation is completed will be described with reference to FIG.
[0034]
First, when a packet 609 addressed to the host 114 is transmitted from the host 112 to the local area network 104, the packet 609 is received by the packet transfer unit 201 of the cryptographic communication device 106 which is active at that time. The packet transfer unit 201 determines the set of the source address and the destination address included in the received packet 609 and the source of the encryption target packet in the encryption communication policy entry 301 included in the encryption communication policy table 206 in the encryption communication device 106. A pair of the address 302 and the destination address 303 of the packet to be encrypted is compared, and a search is made as to whether or not there is one that matches the encryption communication policy entry 301. Here, since there is an entry that matches the initial setting in step 601, the packet transfer unit 201 passes the packet 609 to the packet encryption / decryption unit 202 before transferring the packet 609 to the external network 101, and performs packet encryption processing ( Step 610). Here, if there is no encrypted communication policy entry 301 that matches the encrypted communication policy table 206, the packet 609 is transferred to the external network 101 without being encrypted.
[0035]
In step 610, the packet encryption / decryption unit 202 performs an encryption process on the packet 609 by using the information of the encryption parameter entry 306 pointed to by the encryption parameter table pointer 305 in the searched encryption communication policy entry. A packet 611 is generated. Prior to the encryption processing, the packet encryption / decryption unit 202 performs the encryption whose use state 314 is “in use” from the list of the opposite device entry 311 indicated by the opposite device list 310 of the encryption parameter entry 306. The parameter entry 311 is searched in advance. The transfer destination of the encrypted packet 611 is the encrypted communication device indicated by the opposite device address 312 of the searched opposite device entry 311.
[0036]
FIG. 7 is a diagram showing the contents of an encrypted packet 611 encrypted by the packet encryption / decryption unit 202. In the figure, reference numeral 703 denotes an original packet encrypted portion obtained by encrypting the packet 609 in the plaintext state using the encryption key 309 by the encryption algorithm shown in the encryption algorithm 308 in the encryption parameter entry. An encryption header 701 added by the packet encryption / decryption unit 202 is an IP header added by the packet encryption / decryption unit 202.
[0037]
The encryption header 702 further includes an encryption parameter identifier 704 and a sequence number 705. The value of the encryption parameter identifier 307 of the encryption parameter entry is stored as it is as the encryption parameter identifier 704, and the value obtained by adding 1 to the value of the transmission sequence number 315 of the opposite device entry is stored as the sequence number 705. . After that, the value of the transmission sequence number 315 is also updated by adding one. The source address of the IP header 701 is the address of the cryptographic communication device 106, and the destination address is the address of the cryptographic communication device 108.
[0038]
When the packet encryption processing in step 610 is completed, the generated encrypted packet 611 is returned to the packet transfer unit 201, and the encrypted communication which is the destination address written in the IP header 701 of the encrypted packet 611 through the external network 101. Transferred to device 108.
[0039]
Upon receiving the encrypted packet 611, the encryption communication device 108 performs a packet decryption process (step 612).
[0040]
First, when the packet transfer unit 201 of the encryption communication device 108 receives the encrypted packet 611 and recognizes that the encrypted packet 611 is encrypted by the presence of the encrypted header 702, the packet transfer unit 201 converts the encrypted packet 611 into a packet. Transfer to the encryption / decryption unit 202. The packet encryption / decryption unit 202 determines the same value as the value included in the encryption parameter identifier 704 of the encrypted packet 611 from all the encryption parameter entries 306 included in the encryption parameter table 207 in the encryption communication device 108. The encryption parameter entry 306 included in the encryption parameter identifier 307 is searched. If not found, the encrypted packet 611 is discarded. In this example, the encryption parameter entry 306 set in step 608 is searched. When the encryption parameter entry 306 having the same encryption parameter identifier is found, the IP address 701 of the encrypted packet 611 is further included in the remote device entry 311 indicated by the remote device list 308 of the encryption parameter entry 306. The remote device entry 311 having the remote device address 312 that matches the indicated source address is searched.
[0041]
When the encryption parameter entry 306 and the opposite device entry 311 corresponding to the encrypted packet 611 are found, first, the value of the sequence number 705 is checked to confirm that the encrypted packet 611 has not been transmitted by the retransmission attack. Specifically, first, the value of the sequence number 705 of the encrypted packet 611 is larger than the maximum value of the sequence numbers included in the reception sequence number list 313 of the opposite device entry, or included in the reception sequence number list 313. If the value is larger than the minimum value of the sequence number to be executed and is not included in the reception sequence number list 313, it is determined that the attack is not a retransmission attack, and the sequence number is added to the reception sequence number list 313. If the result of adding a new value to the received sequence number list 313 exceeds the maximum number of registered sequence numbers in the received sequence number list 313, the smallest registered sequence number is deleted. If the value of the sequence number 705 includes the sequence number in the received sequence number list 313 or is smaller than the minimum value included in the received sequence number list 313, the encrypted packet 611 Is received once in the past, is determined to be a packet due to a retransmission attack, and is discarded.
[0042]
If it is determined that the encrypted packet 611 is not due to the retransmission attack, the original packet encryption part 703 in the encrypted packet 611 is decrypted, and the same content as the packet 609 transmitted by the host 112 before encryption is transmitted. The packet 613 is taken out. The encryption algorithm and the encryption key used for decryption of the original packet encryption part 703 use the encryption algorithm 308 and the encryption key 309 included in the encryption parameter entry, respectively.
[0043]
The packet 613 obtained as a result of the decryption is returned from the packet encryption / decryption unit 202 to the packet transfer unit 201, and is transferred to the final destination host 114 via the local area network 105.
[0044]
The above is the basic flow of the cryptographic communication in the cryptographic communication system shown in FIG.
[0045]
Next, a procedure for switching the active cryptographic communication device due to any failure in the cryptographic communication system shown in FIG. 1 will be described with reference to two types of failure examples.
[0046]
First, in a first failure example, a communication failure occurs between the cryptographic communication device 108 and the external network 101 in a state where the cryptographic communication is started according to the sequence described in FIG. This is an example of a case where communication with the encrypted communication device of the first embodiment cannot be performed. The operation in this case will be described with reference to FIGS. 8, 9, and 10.
[0047]
FIG. 8 is a sequence diagram showing a flow from the occurrence of a failure to the completion of switching of the cryptographic communication device after the processing of steps 605 and 608 shown in FIG. 6 is completed.
[0048]
When the encryption parameter setting processes (steps 603 and 606) are completed, the cryptographic communication devices 106 and 108 respectively monitor the operating status. Is periodically transmitted to the cryptographic communication device 108, and the remote device status monitoring unit 203 of the cryptographic communication device 108 periodically transmits the existence notification packet 802 to the cryptographic communication device 106. At the same time, the remote device status monitoring unit 203 of the cryptographic communication device 106 monitors the reception of the existence notification packet 802 from the cryptographic communication device 108, and the remote device status monitoring unit 203 of the cryptographic communication device 108 checks the existence notification from the cryptographic communication device 106. The reception of the packet 801 is monitored. When each of the opposing device state monitoring units 203 detects that the existence notification packets 801 and 802 from the opposing devices have not been received for a certain period of time, it determines that a communication failure has occurred.
[0049]
Further, the group device state monitoring unit 204 of the cryptographic communication device 106 periodically transmits a survival notification packet 803 to the other cryptographic communication device 107 having a multiplex configuration through the dedicated network 110, and The device state monitoring unit 204 periodically transmits the existence notification packet 804 to the other crypt communication devices 109 having the multiplex configuration through the dedicated network 111, thereby confirming that each device is active. Notify the inactive cryptographic communication device. If the group device status monitoring unit 204 detects that the survival notification packets 803 and 804 from the active cryptographic communication device have not been received for a certain period of time, the inactive cryptographic communication device enters the active status for some reason. It is determined that a certain cryptographic communication device has transitioned to the inactive state.
[0050]
As described above, if a communication failure 805 occurs between the cryptographic communication device 108 and the external network 101 in a state where the cryptographic communication devices are monitoring each other, the existence notification transmitted from the cryptographic communication device 106 thereafter. The packet 806 and the survival notification packet 807 transmitted from the cryptographic communication device 108 are blocked, and the opposing device status monitoring units 203 of both the cryptographic communication devices 106 and 108 detect a failure due to the timeout of the notification of the existence of the survival notification packet. The process enters the failure recovery processing 808.
[0051]
FIG. 9 is a flowchart showing a detailed process of the communication failure recovery process 808 of the opposing device.
[0052]
In the opposite device communication failure recovery process 808, first, the opposite device status table 208 is updated, and the periodic transmission of the existence notification packet to the opposite encrypted communication device is stopped (step 901). Specifically, for example, in the case of the cryptographic communication device 106, the remote device status entry 401 in which the remote device address 402 indicates the cryptographic communication device 108 is searched, and the remote device status 403 of the remote device status entry is “available”. To “unavailable” and stops the transmission of the existence notification packet 801 that has been periodically transmitted to the encryption communication device 108.
[0053]
Next, it is determined whether or not the own device is a device that searches for a new opposite-side encrypted communication device. If the device is a search executing device, the process proceeds to step 903 and subsequent steps (step 902). When a failure occurs with a certain opposing cryptographic communication device, the method of determining which cryptographic communication device searches for a new counterpart cryptographic communication device depends on the method used between the two opposing cryptographic communication devices. Any method can be used as long as one of them can be uniquely determined. For example, the addresses of both cryptographic communication devices are compared as numerical values, and the larger cryptographic communication device searches for a new opposite-side cryptographic communication device. There is a way to do. In step 902, the encryption communication device that has not become the search side of the new opposite-side encryption communication device ends the opposite-device communication failure recovery processing 808 as it is. In the present embodiment, it is assumed that the address of the cryptographic communication device 106 is larger than the address of the cryptographic communication device 108, and the processes after step 903 are executed by the cryptographic communication device 106.
[0054]
The encryption communication device 106 that has become the search side of the new opposite-side encryption communication device is the opposite device entry 311 indicated by the opposite device list 310 of the encryption parameter entry 306 used for the encryption communication with the encryption communication device 108. From the list, the opposite-side encryption device indicated by the opposite device address 312 of the opposite device entry is indicated as “available” in the opposite device status 403 of the opposite device status entry 401 in the opposite device status table 208. The encrypted communication device indicated by the opposite device address 312 of the found opposite device entry is set as a new opposite-side encrypted communication device. If a plurality of opposing device entries 311 are found, the one with the highest use priority 313 in the opposing device entry is selected.
[0055]
If a new opposite-side cryptographic communication device is found in step 903, step 905, which is a process for using the opposite-side cryptographic communication device, is started. If not found, another multiplexed cryptographic communication device is replaced. Step 906, which is processing for activation, is started (step 904).
[0056]
In step 905, the use state 314 in the found opposite device entry is rewritten from “unused” to “in use”, and the existence notification packet 809 is sent to the cryptographic communication device of the opposite device address 312 of the found opposite device entry. Start regular transmission of. In the case of the present embodiment, an entry indicating the cryptographic communication device 109 is searched in step 903, so that the existence notification packet 809 is transmitted to the cryptographic communication device 109.
[0057]
On the other hand, in the processing step 906 when the opposite-side cryptographic communication device is not found, 0 is written into the active device address 502 in the group device status table 209 as a value indicating that there is no active device, and multiplexing is performed. By stopping the transmission of the existence notification packet 803 to the other cryptographic communication device, the other cryptographic communication device is notified that the own device has been deactivated, and the other cryptographic communication device has been activated. Encourage them to become. The operation of the other cryptographic communication device after the existence notification packet 803 has been stopped will be described in a second failure example described later, and will not be described here.
[0058]
In the sequence diagram of FIG. 8, when the opposite device communication failure recovery processing 808 is completed in both of the cryptographic communication devices 106 and 108, the cryptographic communication device 109, which has received the survival notification packet 809 from the cryptographic communication device 106, forcibly becomes a group device. The switching process 810 is started. The group device forced switching process 810 is a process of switching the cryptographic communication device that is active on the organization network 103 side from the cryptographic communication device 108 to the cryptographic communication device 109.
[0059]
FIG. 10 is a flowchart showing the detailed processing of the group device forced switching processing 810.
[0060]
First, when the opposite device state monitoring unit 203 of the encryption communication device 109 receives the existence notification packet 809, it determines that the encryption communication device 109 has been selected as the opposite encryption communication device, and the opposite device entry 311 in the encryption parameter table 207. Then, the use state 314 of the entry in which the opposing device address 312 indicates the cryptographic device 106 is changed to “in use” (step 1001), and periodic transmission of the existence notification packet 811 to the cryptographic communication device 106 is started ( Step 1002). Further, the group device status monitoring unit 204 rewrites the active device address 502 in the group device status table 209 to the address of the cryptographic communication device 109 (step 1003), and sends a survival notification packet to the cryptographic communication device 108 having the multiplex configuration. The periodic transmission of 812 is started (step 1004). The group device status monitoring unit 204 of the cryptographic communication device 108 that has received the survival notification packet 812 rewrites the active device address 502 in the group device status table 209 to the address of the cryptographic communication device 109 that is the transmission source of the survival notification packet 812. Then, the transmission of the survival notification packet 804 to the cryptographic communication device 109, which has been transmitted, is stopped.
[0061]
The above is the recovery processing for the first failure example. Thereafter, the packet addressed to the host in the organization network 103 transmitted from the host in the organization network 102 is encrypted by the encryption communication device 106 and transferred to the encryption communication device 109. The cryptographic communication device 109 decrypts the encrypted packet and transfers it to the destination host in the organization network 103.
[0062]
Next, a second failure example will be described. The second failure example is a case where a failure has occurred in the cryptographic communication device 106 itself in a state where the cryptographic communication has been started according to the sequence described in FIG. 6, and the cryptographic communication device 106 has stopped operating. An example of the encryption communication device switching operation in this case will be described with reference to FIGS. 11, 12, and 13. FIG.
[0063]
FIG. 11 is a sequence diagram showing a flow from the occurrence of a failure to the completion of switching of the cryptographic communication device after the processing of steps 605 and 608 shown in FIG. 6 is completed.
[0064]
After the completion of step 605, the group device status monitoring unit 204 of the cryptographic communication device 106 transmits a survival notification packet 1101 to the cryptographic communication device 107, and the remote device status monitoring unit 203 of the cryptographic communication device 108 alives the cryptographic communication device 106. The notification packet 1102 is being transmitted. If a device failure 1103 due to a failure or the like occurs in the cryptographic communication device 106 in this state, the survival notification packet 1101 does not reach the cryptographic communication device 107, and the group device status monitoring unit 204 of the cryptographic communication device 107 disables the cryptographic communication device 106. Upon detecting the transition to the state, the group device failure recovery processing 1104 is started.
[0065]
FIG. 12 is a flowchart showing the detailed processing of the group device failure recovery processing 1104.
[0066]
Upon detecting that the cryptographic communication device 106 has been deactivated, the group device status monitoring unit 204 of the cryptographic communication device 107 first survives through the dedicated network 110 to all other multiplexed cryptographic communication devices. At the same time as starting the periodic transmission of the notification packet 1105 (step 1201), it monitors the reception of the existence notification packet from the other cryptographic communication device. Note that the existence notification packet 1105 includes the value of the own device priority 501 included in the group device status table 209 of the cryptographic communication device 107.
[0067]
If the survival notification packet in which the priority higher than the own device priority 501 is stored from the other cryptographic communication device is not received within a predetermined time after the transmission of the survival notification packet 1105 is started in step 1201, It is determined that the own device should be in the active state, and the process proceeds to step 1203 and subsequent steps (step 1202). If a survival notification packet is received from the other cryptographic communication device having a higher priority than the own device priority 501, the source cryptographic communication device of the survival notification packet having the highest priority is activated. Then, the address of the source cryptographic communication device is stored in the active device address 502 in the group device status table 204, and the transmission of the existence notification packet 1105 is stopped (step 1205). In the case of this embodiment, only the cryptographic communication device 106 has a multiplex configuration with the cryptographic communication device 107, and the cryptographic communication device 106 is already in an inactive state. Therefore, no survival notification packet is received from another cryptographic communication device in step 1202, and steps 1203 and thereafter are executed on the assumption that the cryptographic communication device 107 is in the active state.
[0068]
If it is determined in step 1202 that the own device is in the active state, the own device address is set as the active device address 502 (step 1203), and the opposite device address 312 is selected from the opposite device entry 311 of the encryption parameter table 207. The opposite-side cryptographic device shown searches for the device indicated as “active” in the opposite-device state 403 of the opposite-device status entry 401 in the opposite-device status table 208, and the opposite device address 312 of the found opposite device entry is found. The encryption communication device shown is a new opposite-side encryption communication device. If a plurality of opposing device entries 311 are found, the one with the highest use priority 313 in the opposing device entry is selected. Then, the use state 314 of the found opposite device entry is rewritten to “in use”, and the periodic transmission of the existence notification packet 1106 to the encryption communication device indicated by the opposite device address 312 of the found opposite device entry is started. I do. In this embodiment, since the opposite device entry for the cryptographic communication device 108 is selected by the search, the existence notification packet 1106 is transmitted to the cryptographic communication device 108 (step 1205). Thus, the group device failure recovery processing 1104 is completed.
[0069]
When the existence notification packet 1106 is transmitted from the cryptographic communication device 107 to the cryptographic communication device 108 by the group device failure recovery process 1104, the cryptographic communication device 108 starts the opposing device switching process 1107.
[0070]
FIG. 13 is a flowchart showing a detailed process of the opposing device switching process 1107.
[0071]
When the remote device status monitoring unit 203 of the cryptographic communication device 108 receives the existence notification packet 1106, the usage status 314 of the remote device entry 311 for the cryptographic communication device 107 in the encryption parameter table 207 is rewritten to “in use”, and the cryptographic communication is performed. The periodic transmission of the survival notification packet 1108 to the device 107 is started (step 1301).
[0072]
Subsequently, among the opposing device entries 311 in the encryption parameter table 207, those whose “in use” status 314 is changed to “in use” in step 1301 and which are “in use” are searched and found. The in-use state 314 of the opposing device entry is rewritten to “unused”, and the transmission of the existence notification packet to the cryptographic communication device indicated by the opposing device address of the found opposing device entry is stopped (step 1302). In the present embodiment, the opposite device entry for the cryptographic communication device 106 is the entry to be processed in step 1302, and the transmission of the existence notification packet 1102 is stopped by this process.
[0073]
Note that, depending on the timing at which the remote device status monitoring unit 203 of the cryptographic communication device 108 receives the survival notification packet 1106, the cryptographic communication device 108 first performs the recovery process of the remote device communication failure due to the timeout of receiving the survival notification packet from the cryptographic communication device 106. 804 may have been executed. In this case, however, since the use state 314 of the remote device entry 311 for the encrypted communication device 106 has already been set to “unused” in step 1302, the process is executed in step 1302. The opposite device entry 311 whose status 314 is “in use” is not searched.
[0074]
The above is the recovery process for the second failure example. Thereafter, the packet addressed to the host in the organization network 103 transmitted from the host in the organization network 102 is encrypted by the encryption communication device 107 and transferred to the encryption communication device 108. The cryptographic communication device 108 decrypts the encrypted packet and transfers it to the destination host in the organization network 103.
[0075]
As described above, according to the present embodiment, among the encryption parameters required for the encryption processing and the decryption processing in the encryption communication device, the encryption parameter identifier, the encryption algorithm, and the encryption key that are fixed parameters are 1 Generated by the second execution of the encryption key exchange protocol are shared by the entire multiplexed cryptographic communication device, and further, a sequence number that changes every time one packet is encrypted and decrypted is managed. Is managed in an independent table for each of the opposing cryptographic communication devices, so that even if a failure requires switching of the cryptographic communication devices, an encryption key that requires a large amount of calculation time is regenerated. Cryptographic communication system that can quickly switch cryptographic communication devices without any inconsistency in sequence number management for retransmission attack detection There is an effect that can be achieved.
[0076]
【The invention's effect】
According to the present invention, among a plurality of cryptographic communication devices having a multiplexing configuration, of cryptographic information necessary for cryptographic processing, fixed information during cryptographic communication is immediately shared when the information is generated. In addition, since the information that changes during the cryptographic communication is individually initialized for each of the plurality of cryptographic communication devices by the plurality of cryptographic communication devices, new information is obtained when the cryptographic communication device is switched due to a failure or the like. There is an effect that it is not necessary to regenerate the encrypted information.
[0077]
Further, according to the present invention, since the cryptographic communication devices mutually perform status monitoring and status notification, it is possible to quickly switch to a combination of the cryptographic communication devices that can communicate when a failure occurs, and to continue cryptographic communication. effective.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a cryptographic communication system according to an embodiment of the present invention.
FIG. 2 is a diagram showing a configuration of an encryption communication device according to one embodiment of the present invention.
FIG. 3 is a diagram showing detailed contents of an encryption communication policy table and an encryption parameter table of FIG. 2;
FIG. 4 is a diagram showing detailed contents of an opposite device state table of FIG. 2;
FIG. 5 is a diagram showing details of a group device status table of FIG. 2;
FIG. 6 is a flowchart showing a procedure from initial setting to performing cryptographic communication in the cryptographic communication system of FIG. 1;
FIG. 7 is a diagram showing a configuration of an encrypted packet transferred over an external network in the cryptographic communication system of FIG. 1;
FIG. 8 is a sequence diagram showing an encryption communication device switching procedure when a communication failure occurs in the encryption communication system of FIG. 1;
FIG. 9 is a flowchart showing details of a communication failure recovery process of the opposite device in the sequence of FIG. 8;
FIG. 10 is a flowchart showing details of a group device forced switching process in the sequence of FIG. 8;
FIG. 11 is a sequence diagram showing an encryption communication device switching procedure when a device failure occurs in the encryption communication system of FIG. 1;
FIG. 12 is a flowchart showing details of a group device failure recovery process in the sequence of FIG. 11;
FIG. 13 is a flowchart showing details of the opposing device switching process in the sequence of FIG. 11;
[Explanation of symbols]
101: external network, 102, 103: organization network, 104, 105: local area network, 106, 107, 108, 109: cryptographic communication device, 110, 111: dedicated network, 112, 113, 114, 115: host, 201 ... Packet transfer section, 202 ... Packet encryption / decryption section, 203 ... Counter apparatus state monitoring section, 204 ... Group apparatus state monitoring section, 205 ... Encryption key exchange protocol processing section, 206 ... Encryption communication policy table, 207 ... Encryption parameter Table, 208: Opposing device status table, 209: Group device status table.