JP2010081108A - 通信中継装置、情報処理装置、プログラム、及び通信システム - Google Patents

通信中継装置、情報処理装置、プログラム、及び通信システム Download PDF

Info

Publication number
JP2010081108A
JP2010081108A JP2008244897A JP2008244897A JP2010081108A JP 2010081108 A JP2010081108 A JP 2010081108A JP 2008244897 A JP2008244897 A JP 2008244897A JP 2008244897 A JP2008244897 A JP 2008244897A JP 2010081108 A JP2010081108 A JP 2010081108A
Authority
JP
Japan
Prior art keywords
information
encryption
decryption
processing
communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008244897A
Other languages
English (en)
Inventor
Mai Nakagawa
真以 中川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2008244897A priority Critical patent/JP2010081108A/ja
Publication of JP2010081108A publication Critical patent/JP2010081108A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】通信中継装置の暗号化/復号処理の負荷を軽減する。
【解決手段】VPNゲートウエイ10及びサーバ20のVPN接続情報テーブル104,204は、各クライアントとのインターネットを介した暗号化通信における暗号化/復号処理を自装置で行うか否かを表す制御コードを記憶する。VPN接続情報テーブル104,204中の制御コードの値は、各クライアントに関し、暗号化/復号処理をVPNゲートウエイ10及びサーバ20のいずれか一方で行うように設定される。制御コード変更手段108は、CPU負荷測定手段106が測定したVPNゲートウエイ10のCPU負荷に応じて、VPN接続情報テーブル104,204中の制御コードを変更するための処理を行う。
【選択図】図2

Description

本発明は、通信中継装置、情報処理装置、プログラム、及び通信システムに関する。
端末同士の暗号化通信において、一方の端末と他方の端末との間に通信を中継する装置を設け、その通信中継装置において通信データの暗号化/復号を行うことがある。例えば、特許文献1には、複数の端末に接続される暗号ゲートウエイ装置であって、端末間の通信データの暗号化/復号を行う装置が開示されている。特許文献1の暗号ゲートウエイ装置は、送信端末及び受信端末の識別情報とセッション鍵(暗号化/復号に用いられる鍵)の組を保持するセッション鍵テーブルを備え、端末からデータを受信した場合に、受信したデータから送信端末及び受信端末の識別情報を抽出し、抽出した識別情報に対応するセッション鍵がセッション鍵テーブルに登録されていれば、そのセッション鍵を用いてデータを暗号化あるいは復号して受信端末に送信し、対応するセッション鍵がセッション鍵テーブルに登録されていなければ、受信したデータをそのまま受信端末に対して送信する。
また例えば、インターネットなどの不特定多数のユーザが利用するネットワークを経由して仮想的なプライベートネットワークを構築する技術として、VPN(Virtual Private Network)が知られている。VPNを用いるシステムでは、例えば、不特定多数のユーザが利用可能な第1ネットワーク(インターネットなど)と、特定のユーザにのみ利用が許可されている第2ネットワーク(イントラネットなど)と、を接続する通信中継装置(例えば、VPNゲートウェイ)が設けられる。このようなシステムにおいて、例えば、クライアント装置が第1ネットワークを介して第2ネットワーク内のサーバ装置に接続する場合、通信中継装置がクライアント装置との間で暗号化通信を行うことで、クライアント装置と通信中継装置との間に仮想的な専用線(VPNトンネル)が構築される。
クライアント装置と通信中継装置との間の暗号化通信は、例えば、共通鍵暗号化方式と呼ばれる方式により行われる。共通鍵暗号化方式では、通信を行う2つの装置間で暗号化/復号処理に用いる鍵を共有し、この共有される鍵(共通鍵)を用いて送受信データの暗号化/復号処理が行われる。クライアント装置と通信中継装置との間で送受信される暗号化データを第3者に解読されないようにするために、この共通鍵の漏洩を防ぐ必要がある。
共通鍵の漏洩を防ぎつつクライアント装置と通信中継装置との間で共通鍵を共有するために、例えば、公開鍵暗号化方式(Public Key Infrastructure,PKI)と呼ばれる技術が用いられる。PKIでは、通信を行う各装置に対して、公開される暗号鍵(公開鍵)及び秘密にされる復号鍵(秘密鍵)を生成し、ある装置に対して送信するデータをその装置の公開鍵で暗号化して送信し、その暗号化されたデータを受信した当該装置は、自己の秘密鍵を用いて受信データを復号する。公開鍵で暗号化された情報は、その公開鍵に対応する秘密鍵によってのみ復号可能であるため、秘密鍵が漏洩しない限りは通信データの第3者による盗聴が防止される。
ところで、通信中継装置は、2つのネットワークの境界に設けられるため、暗号化/復号処理の負荷や通信トラフィックが通信中継装置に集中することがある。
通信中継装置における暗号化/復号処理の負荷を軽減する技術として、例えば、特許文献2に開示されるネットワークシステムがある。特許文献2に記載のネットワークシステムは、第1ネットワークと第2ネットワークとを接続する通信中継装置を備え、第1ネットワーク内のクライアントと第2ネットワーク内のサーバとの間で通信中継装置を経由して通信するように構成されたネットワークシステムにおいて、通信中継装置がクライアントとの間の通信で用いる暗号鍵及び復号鍵を生成し、生成した暗号鍵及び復号鍵をサーバに送信する。そして、このサーバにおいて、通信中継装置から受け取った暗号鍵及び復号鍵を用いて、クライアントとの間で送受信されるデータの暗号化/復号を行う。
特開平7−107082号公報 特開2006−121510号公報
本発明の目的は、通信中継装置と通信中継装置に接続される情報処理装置との間で、通信データの暗号化/復号処理の負荷を動的に変更できる通信中継装置、情報処理装置、通信システムおよびプログラムを提供することである。
請求項1に係る発明は、第1の通信手段を介して接続された第1の情報処理装置と第2の通信手段を介して接続された第2の情報処理装置との間の通信を中継する処理を行う中継処理手段であって、前記第1の情報処理装置から受信した情報であって暗号化された受信情報を復号する復号手段と、前記第1の情報処理装置を宛先として送信される送信情報を暗号化する暗号化手段と、を含む中継処理手段と、前記復号手段で用いられる復号鍵及び前記暗号化手段で用いられる暗号鍵を前記第2の情報処理装置に対して送信する鍵送信手段と、前記中継処理手段における処理の負荷を測定する測定手段と、前記測定手段が測定した負荷に応じて、前記受信情報の復号処理及び前記送信情報の暗号化処理を、前記中継処理手段で実行するか前記第2の情報処理装置に実行させるかを決定する決定手段と、前記決定手段による決定を前記第2の情報処理装置に通知する通知手段と、を備えることを特徴とする通信中継装置である。
請求項2に係る発明は、請求項1に係る発明において、前記測定手段が測定した負荷が予め設定された第1閾値を超えた場合に、前記決定手段は、前記復号処理及び前記暗号化処理を前記第2の情報処理装置に実行させることを決定し、前記中継処理手段は、前記復号手段及び前記暗号化手段における処理を実行しない。
請求項3に係る発明は、請求項2に係る発明において、前記測定手段が測定した負荷が予め設定された閾値であって前記第1閾値以下である第2閾値を下回った場合に、前記決定手段は、前記復号処理及び前記暗号化処理を前記中継処理手段で実行することを決定し、前記中継処理手段は、前記復号処理手段及び前記暗号化処理手段における処理を実行する。
請求項4に係る発明は、請求項2に係る発明において、複数の前記第1の情報処理装置のそれぞれに対応づけて、前記復号手段で用いる復号鍵及び前記暗号化手段で用いる暗号鍵と、当該第1の情報処理装置に関する前記復号処理及び前記暗号化処理を前記中継処理手段で実行するか否かを表す処理情報と、を記憶手段に登録する登録手段をさらに備え、前記鍵送信手段は、複数の前記第1の情報処理装置のそれぞれに対応づけて前記記憶手段に登録された前記復号鍵及び前記暗号鍵を前記第2の情報処理装置に対して送信し、前記中継処理手段は、複数の前記第1の情報処理装置のそれぞれについて、当該第1の情報処理装置に対応づけて前記記憶手段に登録された情報に従って処理を行い、前記測定手段が測定した負荷が前記第1閾値を超えた場合に、前記決定手段は、前記復号処理及び前記暗号化処理を前記中継処理手段で実行することを表す処理情報と対応づけられた第1の情報処理装置のうちの少なくとも1つに関して、前記復号処理及び前記暗号化処理を前記第2の情報処理装置に実行させることを決定し、前記登録手段は、さらに、前記復号処理及び前記暗号化処理を前記第2の情報処理装置に実行させることを前記決定手段が決定した第1の情報処理装置に対応づけられた前記記憶手段中の処理情報を、前記復号処理及び前記暗号化処理を前記中継処理手段で実行しないことを表す情報に変更する。
請求項5に係る発明は、請求項4に係る発明において、前記測定手段が測定した負荷が予め設定された閾値であって前記第1閾値以下である第2閾値を下回った場合に、前記決定手段は、前記復号処理及び前記暗号化処理を前記中継処理手段で実行しないことを表す処理情報と対応づけられた第1の情報処理装置のうちの少なくとも1つに関して、前記復号処理及び前記暗号化処理を前記中継処理手段で実行することを決定し、前記登録手段は、さらに、前記復号処理及び前記暗号化処理を前記中継手段で実行することを前記決定手段が決定した第1の情報処理装置に対応づけられた前記記憶手段中の処理情報を、前記復号処理及び前記暗号化処理を前記中継処理手段で実行することを表す情報に変更する。
請求項6に係る発明は、コンピュータを、第1の通信手段を介して前記コンピュータに接続された第1の情報処理装置と第2の通信手段を介して前記コンピュータに接続された第2の情報処理装置との間の通信を中継する処理を行う中継処理手段であって、前記第1の情報処理装置から受信した情報であって暗号化された受信情報を復号する復号手段と、前記第1の情報処理装置を宛先として送信される送信情報を暗号化する暗号化手段と、を含む中継処理手段と、前記復号手段で用いられる復号鍵及び前記暗号化手段で用いられる暗号鍵を前記第2の情報処理装置に対して送信する鍵送信手段と、前記中継処理手段における処理の負荷を測定する測定手段と、前記測定手段が測定した負荷に応じて、前記受信情報の復号処理及び前記送信情報の暗号化処理を、前記中継処理手段で実行するか前記第2の情報処理装置に実行させるかを決定する決定手段と、前記決定手段による決定を前記第2の情報処理装置に通知する通知手段と、として機能させることを特徴とするプログラムである。
請求項7に係る発明は、第1の通信手段を介して第1の情報処理装置に接続された通信中継装置から、前記第1の情報処理装置から受信した情報であって暗号化された受信情報を復号する復号鍵と前記第1の情報処理装置を宛先として送信される送信情報を暗号化する暗号鍵とを、第2の通信手段を介して受信する鍵受信手段と、前記通信中継装置及び前記第2の通信手段を介して取得した前記受信情報を前記復号鍵で復号する受信情報復号手段と、前記送信情報を前記暗号鍵で暗号化して前記通信中継装置に対して送信する暗号化情報送信手段と、を備え、前記受信情報の復号処理及び前記送信情報の暗号化処理の実行を指示する情報を前記通信中継装置から受け取った場合に、前記受信情報復号手段及び前記暗号化情報送信手段による処理を実行する、ことを特徴とする第2の情報処理装置である。
請求項8に係る発明は、コンピュータを、第1の通信手段を介して第1の情報処理装置に接続された通信中継装置から、前記第1の情報処理装置から受信した情報であって暗号化された受信情報を復号する復号鍵と前記第1の情報処理装置を宛先として送信される送信情報を暗号化する暗号鍵とを、第2の通信手段を介して受信する鍵受信手段と、前記通信中継装置及び前記第2の通信手段を介して取得した前記受信情報を前記復号鍵で復号する受信情報復号手段と、前記送信情報を前記暗号鍵で暗号化して前記通信中継装置に対して送信する暗号化情報送信手段と、として機能させ、前記受信情報の復号処理及び前記送信情報の暗号化処理の実行を指示する情報を前記通信中継装置から受け取った場合に、前記受信情報復号手段及び前記暗号化情報送信手段による処理を前記コンピュータに実行させる、ことを特徴とするプログラムである。
請求項9に係る発明は、通信中継装置と、第1の通信手段を介して前記通信中継装置に接続された第1の情報処理装置と、第2の通信手段を介して前記通信中継装置に接続された第2の情報処理装置と、を備え、前記通信中継装置は、前記第1の情報処理装置と前記第2の情報処理装置との間の通信を中継する処理を行う中継処理手段であって、前記第1の情報処理装置から受信した情報であって暗号化された受信情報を復号する復号手段と、前記第1の情報処理装置を宛先として送信される送信情報を暗号化する暗号化手段と、を含む中継処理手段と、前記復号手段で用いられる復号鍵及び前記暗号化手段で用いられる暗号鍵を前記第1の情報処理装置と共有するための鍵交換処理を行う鍵交換処理手段と、前記復号鍵及び前記暗号鍵を前記第2の情報処理装置に対して送信する鍵送信手段と、前記中継処理手段における処理の負荷を測定する測定手段と、前記測定手段が測定した負荷に応じて、前記受信情報の復号処理及び前記送信情報の暗号化処理を、前記中継処理手段で実行するか前記第2の情報処理装置に実行させるかを決定する決定手段と、前記決定手段による決定を前記第2の情報処理装置に通知する通知手段と、を備え、前記第1の情報処理装置は、前記復号鍵及び前記暗号鍵を前記通信中継装置と共有するための鍵交換処理を行う鍵交換処理手段と、前記通信中継装置の前記復号手段で用いられる前記復号鍵で暗号化した情報を前記通信中継装置に対して送信する送信手段と、前記通信中継装置から前記送信情報を受信して前記通信中継装置の前記暗号化手段で用いられる前記暗号鍵で復号する受信手段と、を備え、前記第2の情報処理装置は、前記通信中継装置の前記鍵送信手段から前記復号鍵及び前記暗号鍵を受信する鍵受信手段と、前記通信中継装置及び前記第2の通信手段を介して取得した前記受信情報を前記復号鍵で復号する受信情報復号手段と、前記送信情報を前記暗号鍵で暗号化して前記通信中継装置に対して送信する暗号化情報送信手段と、を備え、前記通信中継装置の前記通知手段から、前記受信情報の復号処理及び前記送信情報の暗号化処理を前記第2の情報処理装置に実行させることが決定された旨の通知を受けた場合に、前記受信情報復号手段及び前記暗号化情報送信手段による処理を実行する、ことを特徴とする通信システムである。
請求項1、6、7、8、又は9に係る発明によると、通信中継装置と通信中継装置に接続される情報処理装置との間で、通信データの暗号化/復号処理の負荷を動的に変更できる。
請求項2に係る発明によると、本発明を採用しない場合に比較して、通信中継装置の暗号化/復号処理の負荷を軽減できる。
請求項3に係る発明によると、本発明を採用しない場合に比較して、通信中継装置の代わりに暗号化/復号処理を行う場合のある情報処理装置の処理負荷を軽減できる。
請求項4に係る発明によると、第1の通信手段を介して通信中継装置に接続される複数の第1の情報処理装置のうち通信中継装置で暗号化/復号処理を実行してきた第1の情報処理装置の少なくとも1つに関して、その通信データの暗号化/復号処理を、通信中継装置の代わりに、第2の通信手段を介して通信中継装置に接続される第2の情報処理装置に実行させるようにすることができる。
請求項5に係る発明によると、第1の通信手段を介して通信中継装置に接続される複数の第1の情報処理装置のうち、第2の通信手段を介して通信中継装置に接続される第2の情報処理装置において通信データの暗号化/復号処理を実行してきた第1の情報処理装置の少なくとも1つについて、第2の情報処理装置でなく通信中継装置で暗号化/復号処理を実行するようにすることができる。
図1は、VPN通信システムの概略構成の例を示す図である。図1に例示するVPN通信システムは、VPNゲートウエイ10とサーバ20とがイントラネットにより接続され、クライアント30がインターネット40を介してVPNゲートウエイ10に接続される構成を有する。VPNゲートウエイ10は、イントラネット内の装置(例えば、サーバ20)とインターネット40上の装置(例えば、クライアント30)との間の通信を中継する通信中継装置として機能する。VPNゲートウエイ10とサーバ20とを接続するイントラネットは、例えば特定の企業や団体に所属する者など、特定の利用者が利用するネットワークである。イントラネットは、例えば、LAN(Local Area Network)により構成される。一方、インターネット40は、不特定多数の利用者が利用可能なネットワークである。クライアント30とVPNゲートウエイ10との間では暗号化通信が行われる。クライアント30とVPNゲートウエイ10とは、インターネット40を介して暗号化通信することによりWAN(Wide Area Network)を構成する。図1の例の構成のVPN通信システムは、リモートアクセスVPNと呼ばれることがある。
図2は、VPNゲートウエイ10及びサーバ20の内部構成の例を示すブロック図である。図2を参照し、VPNゲートウエイ10は、パケット転送部100、IPSec回路102、VPN接続情報テーブル104、CPU負荷測定手段106、及び制御コード変更手段108を備える。
パケット転送部100は、インターネット40を介して受信したデータパケットをサーバ20などのイントラネット内の装置に送信したり、イントラネット内のサーバ20などから受信したデータパケットをインターネットに対して送り出したりする。パケット転送部100は、受信したデータパケットをIPSec回路102に渡して暗号化あるいは復号させた上でサーバ20又はインターネット40へ転送する場合がある。また、パケット転送部100は、後述のIPSec回路102や制御コード変更手段108がクライアント30又はサーバ20に対して送信する情報を含むデータパケットを送信することもある。
IPSec回路102は、インターネット40を介して接続されたクライアント30との間の暗号化通信に関する処理を行う。IPSec回路102は、IPSec(Security Architecture for Internet Protocol)と呼ばれるセキュリティ・プロトコルに従った暗号化通信を実現する処理を行う。IPSecは、IP(Internet Protocol)層でのセキュリティ・プロトコルであり、VPNにおける標準プロトコルとしてインターネット技術の標準化組織であるIETF(Internet Engineering Task Force)が規定したプロトコルである。IPSec回路102は、インターネット40を介してクライアント30と鍵交換処理を行って暗号化/復号処理のための秘密鍵を共有し、そのクライアント30のIPアドレスと共有する秘密鍵とを対応づけてVPN接続情報テーブル104に登録する。IPSec回路102は、暗号化/復号手段1020を備える。暗号化/復号手段1020は、VPN接続情報テーブル104に登録されたクライアント30とVPNゲートウエイ10との間で送受信されるデータについて、通信相手のクライアント30に対応する秘密鍵で暗号化あるいは復号する手段である。
VPN接続情報テーブル104は、VPNゲートウエイ10を介してイントラネット内のサーバ20にアクセスするクライアント30に関する情報を記憶するテーブルである。図3(a)に、VPNゲートウエイ10のVPN接続情報テーブル104のデータ内容の例を示す。図3(a)の例の表の1行は、1つのクライアント30に対応するレコードを表す。図3(a)の例では、各レコードには、秘密鍵、IPアドレス、及び制御コードの各項目が登録される。秘密鍵は、対応するクライアント30とVPNゲートウエイ10との間で交換されて共有された共通鍵である。IPアドレスは、対応するクライアント30のIPアドレスである。制御コードは、対応するクライアント30との通信において、VPNゲートウエイ10のIPSec回路102において通信データの暗号化/復号処理を行うか否かを表す。図3(a)の例では、制御コードが「暗号/復号」に設定されていればVPNゲートウエイ10のIPSec回路102において通信データの暗号化/復号処理を行い、制御コードが「非暗号/非復号」に設定されていれば、VPNゲートウエイ10のIPSec回路102において通信データの暗号化/復号処理を行わないことを表す。
後に詳述するが、本例のVPN通信システムでは、VPNゲートウエイ10のIPSec回路102において暗号化/復号処理を行わない場合、通信データの暗号化/復号処理は、サーバ20において行われる。このため、サーバ20もまた、VPNゲートウエイ10のVPN接続情報テーブル104に対応するVPN接続情報テーブル204を備える。図3(b)は、VPNゲートウエイ10のVPN接続情報テーブル104が図3(a)のデータ内容を有する場合におけるサーバ20のVPN接続情報テーブル204のデータ内容の例を示す。図3(b)の例の表において、図3(a)の例の表と同様、各クライアント30に対応する各レコードは、秘密鍵、IPアドレス、及び制御コードの各項目を備える。図3(b)の例の表のレコードr1b,r2bは、それぞれ、図3(a)に例示するレコードr1a,r2aに対応する。レコードr1b,r2b中の秘密鍵とIPアドレスとの組は、それぞれ、レコードr1a,r2a中の秘密鍵とIPアドレスとの組と同じ値を有する。ただし、レコードr1b,r2bの制御コードの値は、それぞれ、レコードr1a,r2aと逆の値に設定される。例えば、レコードr1bの制御コードは「非暗号/非復号」であり、対応するレコードr1aの制御コードは「暗号/復号」である。
サーバ20のVPN接続情報テーブル204は、後述のように、VPNゲートウエイ10が自己のVPN接続情報テーブル104に登録されたレコードをサーバ20に対して送信することで生成される。
図2の説明に戻り、CPU負荷測定手段106は、VPNゲートウエイ10が備える各要素における処理を実行するCPUの負荷を測定する。
制御コード変更手段108は、CPU負荷測定手段106が測定したCPU負荷の値に応じて、VPNゲートウエイ10及びサーバ20のVPN接続情報テーブル104,204中のレコードの制御コードを変更する。例えば、CPU負荷の値が予め設定された閾値より大きい場合に、制御コード変更手段108は、VPNゲートウエイ10のVPN接続情報テーブル104において制御コードが「暗号/復号」に設定されているレコードの少なくとも1つについて、制御コードを「非暗号/非復号」に変更する。それとともに、制御コード変更手段108は、VPN接続情報テーブル104中で制御コードを変更したレコードに対応するサーバ20のVPN接続情報テーブル204のレコードについて、制御コードを「暗号/復号」に変更することを指示する通知を、パケット転送部100を介してサーバ20に対して行う。この通知に応じて、サーバ20においてVPN接続情報テーブル204の対応するレコードの制御コードが「暗号/復号」に設定される。
サーバ20は、パケット送受信部200、IPSec回路202、及びVPN接続情報テーブル204を備える。
パケット送受信部200は、イントラネットを介してサーバ20と接続された装置(例えば、VPNゲートウエイ10)との間でデータパケットの送受信を行う。
IPSec回路202は、暗号化/復号手段2020を備える。暗号化/復号手段2020は、VPN接続情報テーブル204において制御コードが「暗号/復号」に設定されているレコードに対応するクライアント30との間の通信データを暗号化あるいは復号する処理を行う。
VPN接続情報テーブル204は、図3(b)を参照して上記で説明したとおりである。サーバ20のパケット送受信部200は、例えば、VPNゲートウエイ10からVPN接続情報テーブル104のレコードの情報を受信すると、VPN接続情報テーブル204において対応するレコードを生成するとともに、その制御コードを、VPNゲートウエイ10から受信したレコード中の制御コードの値と逆の値に設定する。これにより、VPNゲートウエイ10とサーバ20との間で、当該レコードに対応するクライアント30との間の暗号化通信で用いられる秘密鍵が共有される。
次に、図4を参照し、クライアント30について説明する。図4は、クライアント30の内部構成の概略の例を示すブロック図である。クライアント30は、パケット送受信部300、IPSec回路302、及び記憶部304を備える。
パケット送受信部300は、インターネット40を介してクライアント30と接続された装置(例えば、VPNゲートウエイ10)との間でデータパケットの送受信を行う。
IPSec回路302は、VPNゲートウエイ10との間の暗号化通信に関する処理を行う。IPSec回路302は、例えば、VPNゲートウエイ10との間で秘密鍵を交換する処理を行う。また、IPSec回路302は、暗号化/復号手段3020を備える。暗号化/復号手段3020により、VPNゲートウエイ10との間で送受信されるデータの暗号化/復号処理が行われる。
記憶部304は、クライアント30における処理に必要な各種の情報を記憶する。例えば、記憶部304は、暗号化/復号手段3020における通信データの暗号化/復号処理に用いられる秘密鍵を記憶する。
図5は、VPNゲートウエイ10、サーバ20、又はクライアント30を実現する装置のハードウエア構成の概略の例を示すブロック図である。VPNゲートウエイ10は、例えば、汎用のコンピュータにより、あるいは、ルータなどの専用の装置により実現される。いずれにしても、VPNゲートウエイ10は、例えば、図5の例のハードウエア構成を有する装置により実現される。図5に例示する装置は、CPU60、メモリ(一次記憶)62、各種I/O(入出力)インタフェース64等がバス66を介して接続された回路構成を有する。また、そのバス66に対し、例えばI/Oインタフェース64経由で、記憶装置68や、通信手段を介して他の装置とのデータの授受を行う通信部70などが接続される。後述の実施形態の処理内容が記述されたプログラムが記憶装置68に記憶され、記憶されたプログラムがメモリ62に読み出されCPU60により実行されることにより、実施形態の処理が実現される。VPNゲートウエイ10のCPU負荷測定手段106は、例えば、このCPU60の処理負荷を測定するものである。サーバ20及びクライアント30も、例えば、図5の例と同様のハードウエア構成を有する汎用のコンピュータで実現される。
以下、図6を参照し、本例のVPN通信システムにおける暗号化通信の様子を説明する。図6は、クライアント30がインターネット40及びVPNゲートウエイ10を介してサーバ20と通信する場合の通信経路の例を示す。本システムでは、VPNゲートウエイ10とクライアント30との間の暗号化通信のための通信データの暗号化/復号処理を、上述のVPN接続情報テーブル104,204の制御コードに従って、VPNゲートウエイ10及びサーバ20のいずれか一方が担当する。
図6において[MODE1]として示す通信経路(矢印M1)は、VPNゲートウエイ10が暗号化/復号処理を担当する場合の通信経路を示す。この場合、VPNゲートウエイ10の接続情報テーブル104において、クライアント30に対応するレコードの制御コードは「暗号/復号」に設定され、サーバ20のVPN接続情報テーブル204において対応するレコードの制御コードは「非暗号/非復号」に設定される。[MODE1]では、クライアント30とVPNゲートウエイ10との間(斜線楕円部分)は暗号化通信であるが、VPNゲートウエイ10とサーバ20との間では、暗号化されていない平文を含むデータパケットが送受信される。
図6において[MODE2]として示す通信経路(矢印M2)は、サーバ20が暗号化/復号処理を担当する場合の通信経路を示す。この場合、VPNゲートウエイ10の接続情報テーブル104において、クライアント30に対応するレコードの制御コードは「非暗号/非復号」に設定され、サーバ20のVPN接続情報テーブル204において対応するレコードの制御コードは「暗号/復号」に設定される。このとき、VPNゲートウエイ10は、暗号化/復号処理を行わずに、クライアント30とサーバ20との間の通信データの中継のみを行う。[MODE2]の通信経路において、クライアント30とVPNゲートウエイ10との間、及び、VPNゲートウエイ10とサーバ20との間のいずれにおいても、暗号化された通信データを含むデータパケットが送受信される。
以下、VPN通信システムの各種の動作の例を説明する。以下では、クライアント30がVPNゲートウエイ10を介してサーバ20にアクセスする場合を例にとり説明する。
図7は、VPN通信システムにおける秘密鍵の共有に関する動作の例を示すシーケンス図である。図7の例の動作は、例えば、クライアント30からVPNゲートウエイ10に対して、サーバ20との間の通信セッションの開始の要求が行われた場合に開始される。
まず、クライアント30のIPSec回路302及びVPNゲートウエイ10のIPSec回路102によって、クライアント30とVPNゲートウエイ10との間で鍵交換処理が行われ、その後の暗号化通信で用いる秘密鍵が共有される(ステップS10)。
ステップS10では、例えば、クライアント30のIPSec回路302及びVPNゲートウエイ10のIPSec回路102のいずれか一方で秘密鍵を生成し、生成した秘密鍵を他方に送信することで秘密鍵の共有が実現される。
あるいは、例えば、ステップS10で、クライアント30のIPSec回路302及びVPNゲートウエイ10のIPSec回路102の双方がそれぞれ秘密鍵を生成し、生成した秘密鍵を他方に送信してもよい。この場合、クライアント30とVPNゲートウエイ10との間で2つの秘密鍵が共有される。クライアント30及びVPNゲートウエイ10は、例えば、これら2つの秘密鍵をデータの送受信の方向によって使い分ける。例えば、クライアント30からVPNゲートウエイ10に対して送信されるデータの暗号化/復号処理では、クライアント30が生成してVPNゲートウエイ10に送信した秘密鍵を用い、VPNゲートウエイ10側からクライアント30に対して送信されるデータの暗号化/復号処理では、VPNゲートウエイ10が生成してクライアント30に送信した秘密鍵を用いる。VPNゲートウエイ10のIPSec回路102の処理に着目して言い換えると、クライアント30から受信した暗号化データの復号処理は、クライアント30が生成した秘密鍵を用いて行い、クライアント30に対して送信するデータの暗号化処理は、自己が生成した秘密鍵を用いて行う。
クライアント30とVPNゲートウエイ10との間で授受される秘密鍵の漏洩を防ぐため、秘密鍵は暗号化されてインターネット40に送り出される。この暗号化には、例えば、PKIが用いられる。PKIを用いる場合、例えば、クライアント30が秘密鍵をVPNゲートウエイ10に対して送信する場合は、IPSec回路302でVPNゲートウエイ10の公開鍵を取得して当該秘密鍵を暗号化した上でパケット送受信部300から送信する。この暗号化された秘密鍵を受け取ったVPNゲートウエイ10のIPSec回路102は、自己の公開鍵に対応する秘密の復号鍵を用いて受け取った秘密鍵を復号する。逆に、VPNゲートウエイ10が秘密鍵をクライアント30に対して送信する場合は、クライアント30の公開鍵によって秘密鍵の暗号化が行われ、クライアント30において自己の公開鍵に対応する秘密の復号鍵によりVPNゲートウエイ10から受け取った秘密鍵の復号が行われる。
なお、ステップS10の鍵交換処理は、例えば、IPSecで一般に利用される鍵交換プロトコルであるIKE(Internet Key Exchange)など、公知の鍵交換プロトコルを用いて行ってよい。
また、以下では、ステップS10においてクライアント30とVPNゲートウエイ10との間で1つの秘密鍵が共有される場合を例にとり各種の動作を説明する。しかしながら、以下で説明する各種の動作は、各クライアント30とVPNゲートウエイ10との間で2つの秘密鍵が共有される上述の例の場合にも、暗号化処理又は復号処理で用いられる秘密鍵がデータの送受信の方向に応じて異なることを除いて、以下の説明と同様に実行される。
クライアント30とVPNゲートウエイ10との間で秘密鍵が共有されると、VPNゲートウエイ10のIPSec回路102は、当該クライアント30に対応するレコードをVPN接続情報テーブル104に登録する(ステップS12)。当該レコードは、ステップS10で共有した秘密鍵、及びステップS10の通信相手のクライアント30のIPアドレスを含む。さらに、当該レコードにおいて、IPSec回路102は、制御コードの値を予め設定された初期値に設定する。本例では、制御コードの初期値として「暗号/復号」を設定する。
その後、サーバ20がクライアント30と通信する場合、サーバ20のVPN接続情報テーブル204中に当該クライアント30に対応するレコードが存在しなければ、サーバ20は、VPNゲートウエイ10に対して、対応するレコードの転送依頼を行う(ステップS14)。例えば、サーバ20のパケット送受信部200は、送信データパケット中の宛先IPアドレスを含むレコードがVPN接続情報テーブル204に登録されていない場合に、VPNゲートウエイ10に対して、そのIPアドレスを指定してレコード転送依頼を行う。
サーバ20からのレコード転送依頼を受けたVPNゲートウエイ10は、指定されたIPアドレスを含むレコードをVPN接続情報テーブル104から取得し、取得したレコードをサーバ20へ返す(ステップS16)。
VPNゲートウエイ10からレコードを受け取ったサーバ20は、このレコードを自己のVPN接続情報テーブル204に登録する(ステップS18)。このとき、サーバ20は、VPNゲートウエイ10から受け取ったレコードにおいて制御コードが「暗号/復号」に設定されていれば、VPN接続情報テーブル204の対応するレコードの制御コードを「非暗号/非復号」に設定し、受け取ったレコードの制御コードが「非暗号/非復号」であれば、VPN接続情報テーブル204の対応するレコードの制御コードを「暗号/復号」に設定する。
以上、図7に例示する処理により、クライアント30とVPNゲートウエイ10との間で秘密鍵が共有されるとともに、VPNゲートウエイ10とサーバ20との間でも当該秘密鍵が共有される。
なお、図7の例では、VPNゲートウエイ10は、サーバ20からのレコード転送依頼を受けた場合に、VPN接続情報テーブル104中の対応するクライアント30のレコードをサーバ20に対して送信する(ステップS14,S16)。他の例では、VPNゲートウエイ10は、サーバ20からのレコード転送依頼を待たずにVPN接続情報テーブル104の各レコードをサーバ20へ送信してもよい。例えば、VPN接続情報テーブル104にレコードを新規登録する(ステップS12)たびに、サーバ20に対して当該レコードを送信してもよい。
図8は、クライアント30からサーバ20宛のデータパケットが送信される場合のVPN通信システムの動作の例を表すシーケンス図である。
クライアント30は、VPNゲートウエイ10と共有する秘密鍵を用いて、IPSec回路302の暗号化/復号手段3020により送信データパケットを暗号化し、暗号化したデータパケットをパケット送受信部300によりインターネット40に送り出す(ステップS20)。
クライアント30からの暗号化データパケットを受信したVPNゲートウエイ10のパケット転送部100は、VPN接続情報テーブル104を参照し、このクライアント30のIPアドレスを含むレコードの制御コードの値を取得する。取得した制御コードの値が「暗号/復号」であれば、VPNゲートウエイ10及びサーバ20において[MODE1]の処理(ステップS22−1,S24−1,S26−1)が行われ、取得した制御コードの値が「非暗号/非復号」であれば、VPNゲートウエイ10及びサーバ20において[MODE2]の処理(ステップS22−2,S24−2,S26−2)が行われる。図8に例示する[MODE1]及び[MODE2]の各処理は、図6に例示する[MODE1]及び[MODE2]の各通信経路を形成する処理である。
まず、[MODE1]の処理について説明する。この場合、VPNゲートウエイ10のIPSec回路102において受信データパケットの復号処理が行われる(ステップS22−1)。VPNゲートウエイ10のパケット転送部100は、VPN接続情報テーブル104において送信元のクライアント30に対応するレコードの制御コードが「暗号/復号」であれば、IPSec回路102に対して、受信データパケットを渡すとともにデータの復号を依頼する。この依頼を受けたIPSec回路102の暗号化/復号手段は、VPN接続情報テーブル104から送信元のクライアント30に対応づけられた秘密鍵を取得し、取得した秘密鍵を用いて受信データパケットを復号する。そして、復号した受信データパケットをパケット転送部100に返す。復号されたデータパケット(平文パケット)をIPSec回路102から受け取ったパケット転送部100は、その平文パケットをサーバ20に対して送信する(ステップS24−1)。サーバ20は、この平文パケットを受信する(ステップS26−1)。このとき、サーバ20のパケット送受信部200は、VPNゲートウエイ10から受信したデータパケットの送信元のクライアント30に対応するVPN接続情報テーブル204のレコードの制御コードの値を確認する。ここでは、当該レコードの制御コードは「非暗号/非復号」に設定されている。よって、サーバ20は、受信したデータパケットについてサーバ20のIPSec回路202における復号処理を行わない。
次に、[MODE2]の処理について説明する。この場合、VPNゲートウエイ10のパケット転送部100は、VPN接続情報テーブル104において送信元のクライアント30に対応するレコードの制御コードが「非暗号/非復号」であることから、IPSec回路102における復号処理を行うことなく、クライアント30から受信した暗号化データパケットをそのままサーバ20に転送する(ステップS22−2)。VPNゲートウエイ10からデータパケットを受信したサーバ20のパケット送受信部200は、VPN接続情報テーブル204を参照し、このデータパケットの送信元のクライアント30に対応するレコードの制御コードの値を取得する。このとき、制御コードの値は「暗号/復号」に設定されているので、サーバ20のIPSec回路202において受信データパケットの復号処理が行われる(ステップS24−2)。パケット送受信部200は、VPNゲートウエイ10から受信したデータパケットをIPSec回路202に渡すとともに復号処理を依頼する。この依頼を受けたIPSec回路202の暗号化/復号手段は、VPN接続情報テーブル204から送信元のクライアント30に対応づけられた秘密鍵を取得し、取得した秘密鍵を用いて受信データパケットを復号する。そして、復号した受信データパケットをパケット送受信部200に返す。これにより、サーバ20は、平文パケットを得る(ステップS26−2)。
以上の説明では、サーバ20においてVPN接続情報テーブル204を参照するとき(ステップS26−1,S24−2)に、送信元のクライアント30に対応するレコードがすでにVPN接続情報テーブル204に登録されているものとして説明した。VPN接続情報テーブル204中に送信元のクライアント30のレコードが存在しない場合、サーバ20は、VPNゲートウエイ10に対してレコード転送依頼を行って該当するレコードをVPN接続情報テーブル204に登録した後(図7のステップS14,S16,S18)で、上述のステップS26−1,S24−2の処理を行えばよい。
図9は、サーバ20からクライアント30宛のデータパケットが送信される場合のVPN通信システムの動作の例を表すシーケンス図である。
まず、サーバ20において、パケット送受信部200は、送信データパケットの宛先IPアドレスを含むVPN接続情報テーブル204中のレコードの制御コードの値を取得する。該当するレコードがVPN接続情報テーブル204に存在しなければ、VPNゲートウエイ10に対してレコード転送依頼を行って該当するレコードを登録した後(図7のステップS14,S16,S18)、そのレコードの制御コードの値を取得する。このとき取得した制御コードの値に応じて、サーバ20及びVPNゲートウエイ10において、[MODE1]の処理(ステップS30−1,S32−1)又は[MODE2]の処理(ステップS30−2,S32−2)が行われる。図9に例示する[MODE1]及び[MODE2]の各処理は、図6に例示する[MODE1]及び[MODE2]の各通信経路を形成する処理である。
以下、[MODE1]の処理について説明する。[MODE1]は、送信データパケットの宛先となるクライアント30に対応するVPN接続情報テーブル204のレコードの制御コードの値が「非暗号/非復号」である場合の処理である。サーバ20のパケット送受信部200は、取得した制御コードの値が「非暗号/非復号」であるとき、送信データパケットを平文のままVPNゲートウエイ10に対して送信する(ステップS30−1)。サーバ20からデータパケットを受信したVPNゲートウエイ10のパケット転送部100は、VPN接続情報テーブル104を参照し、受信したデータパケットの宛先であるクライアント30に対応するレコードの制御コードの値を取得する。ここでは、制御コードの値として「暗号/復号」が取得されることから、パケット転送部100は、IPSec回路102に対し、サーバ20から受信したデータパケットを渡すとともに、暗号化処理を依頼する。この依頼を受けて、IPSec回路102の暗号化/復号手段1020は、当該データパケットの宛先のクライアント30に対応する秘密鍵をVPN接続情報テーブル104から取得し、取得した秘密鍵を用いて、パケット転送部100から受け取ったデータパケットを暗号化する(ステップS32−1)。そして、暗号化後のデータパケットをパケット転送部100に返す。
次に、[MODE2]の処理について説明する。[MODE2]は、送信データパケットの宛先となるクライアント30に対応するVPN接続情報テーブル204のレコードの制御コードの値が「暗号/復号」である場合の処理である。サーバ20のパケット送受信部200は、取得した制御コードの値が「暗号/復号」であるとき、送信データパケットをIPSec回路202に渡すとともに、暗号化処理の実行を依頼する。この依頼を受けて、IPSec回路202の暗号化/復号手段2020は、当該データパケットの宛先のクライアント30に対応する秘密鍵をVPN接続情報テーブル204から取得し、取得した秘密鍵を用いて、パケット送受信部200から受け取ったデータパケットを暗号化する(ステップS30−2)。そして、暗号化後のデータパケットをパケット送受信部200に返す。パケット送受信部200は、暗号化されたデータパケットをVPNゲートウエイ10に対して送信する(ステップS32−2)。このデータパケットを受信したVPNゲートウエイ10のパケット転送部100は、受信したデータパケットの宛先のクライアント30に対応するVPN接続情報テーブル104のレコードにおいて制御コードの値が「非暗号/非復号」に設定されていることを確認し、受信したデータパケットの暗号化を行わないことを決定する。
以上で説明した[MODE1]又は[MODE2]の処理が終了した時点で、VPNゲートウエイ10のパケット転送部100は、クライアント30宛の暗号化された送信データパケットを有する。パケット転送部100は、この暗号化された送信データパケットをクライアント30に対して送信する(ステップS33)。このデータパケットを受信したクライアント30において、IPSec回路302の暗号化/復号手段3020によりデータパケットの復号処理が行われる。
本例のシステムでは、VPNゲートウエイ10及びサーバ20のVPN接続情報テーブル104,204において各クライアント30に対応づけられる制御コードの値は、VPNゲートウエイ10のCPU負荷に応じて変更される。図10は、VPNゲートウエイ10の制御コード変更手段108が行う処理の手順の例を示すフローチャートである。
図10を参照し、制御コード変更手段108は、CPU負荷測定手段106が測定したVPNゲートウエイ10のCPU負荷を取得する(ステップS80)。取得したCPU負荷の測定値が予め設定された閾値θ1を超えている場合(ステップS82でYES)、処理はステップS86に進み、CPU負荷の測定値が閾値θ1以下である場合(ステップS82でNO)、ステップS84に進む。
ステップS86では、制御コード変更手段108は、VPN接続情報テーブル104中のレコードのうち、制御コードが「暗号/復号」に設定されているレコードを少なくとも1つ選択する。例えば、制御コードが「暗号/復号」であるレコードのうち、VPN接続情報テーブル104に最初に登録されたレコードを1つ選択する。あるいは、最新のレコードを1つ選択してもよい。また例えば、制御コードが「暗号/復号」であるレコードのうち、予め設定された割合(例えば、10〜20%など)に相当する数のレコードを選択してもよい。そして、選択したレコードの制御コードを「非暗号/非復号」に書き換える(ステップS88)。さらに、制御コード変更手段108は、選択したレコードに対応するサーバ20のVPN接続情報テーブル204中のレコードにおいて、制御コードを「暗号/復号」に変更することを指示する変更通知を、サーバ20に対して、パケット転送部100を介して送信する。この変更通知を受けると、サーバ20において、VPN接続情報テーブル204において対応するレコードの制御コードが「暗号/復号」に書き換えられる(ステップS90)。ステップS90の後、処理はステップS80に戻る。
ステップS86〜S90の処理により、VPNゲートウエイ10のVPN接続情報テーブル104において制御コードが「暗号/復号」に設定され、サーバ20のVPN接続情報テーブル204において制御コードが「非暗号/非復号」に設定されているレコードについて、VPNゲートウエイ10のVPN接続情報テーブル104のレコードでは「非暗号/非復号」に、サーバ20のVPN接続情報テーブル204の対応するレコードでは「暗号/復号」に、制御コードの値が書き換えられる。したがって、そのレコードに対応するクライアント30との通信に関し、VPNゲートウエイ10ではなくサーバ20が通信データの暗号化/復号処理を行うことになり、VPNゲートウエイ10における暗号化/復号処理の負荷が軽減される。
ステップS84では、ステップS80で取得したCPU負荷の測定値が予め設定された閾値θ2を下回っているか否かを判定する。閾値θ2は、閾値θ1と同じ値であってよいし、あるいは、閾値θ1よりも小さな値に設定しておいてもよい。CPU負荷測定値が閾値θ2を下回っていれば処理はステップS92に進み、閾値θ2以上であれば処理はステップS80に戻る。
ステップS92では、制御コード変更手段108は、VPN接続情報テーブル104中のレコードのうち、制御コードが「非暗号/非復号」に設定されているレコードを少なくとも1つ選択する。ここでのレコードの選択は、ステップS86の場合と同様に、例えば、制御コードが「非暗号/非復号」であるレコードのうち、最も古いレコード又は最新のレコードを1つ選択してよい。また例えば、制御コードが「非暗号/非復号」であるレコードのうち、予め設定された割合に相当する数のレコードを選択してもよい。そして、選択したレコードの制御コードを「暗号/復号」に書き換える(ステップS94)。さらに、制御コード変更手段108は、選択したレコードに対応するサーバ20のVPN接続情報テーブル204中のレコードにおいて、制御コードを「非暗号/非復号」に変更することを指示する変更通知を、サーバ20に対して、パケット転送部100を介して送信する。この変更通知を受けると、サーバ20において、VPN接続情報テーブル204において対応するレコードの制御コードが「非暗号/非復号」に書き換えられる(ステップS96)。ステップS96の後、処理はステップS80に戻る。
ステップS92〜S96の処理により、VPNゲートウエイ10のVPN接続情報テーブル104において制御コードが「非暗号/非復号」に設定され、サーバ20のVPN接続情報テーブル204において制御コードが「暗号/復号」に設定されているレコードについて、VPNゲートウエイ10のVPN接続情報テーブル104のレコードでは「暗号/復号」に、サーバ20のVPN接続情報テーブル204の対応するレコードでは「非暗号/非復号」に、制御コードの値が書き換えられる。これにより、そのレコードに対応するクライアント30との通信に関し、サーバ20ではなくVPNゲートウエイ10が通信データの暗号化/復号処理を行うことになる。
図10の例の手順の処理では、VPNゲートウエイ10のCPU負荷のみを考慮してVPN接続情報テーブル104,204中のレコードの制御コードの値の変更が行われる。他の例では、VPNゲートウエイ10だけでなくサーバ20のCPU負荷も考慮してよい。例えば、サーバ20においてもVPNゲートウエイ10と同様にCPU負荷測定手段を設ける。制御コード変更手段108は、例えば、パケット転送部100を介してサーバ20に対してサーバ20のCPU負荷測定値の通知を要求し、サーバ20のCPU負荷測定手段によるCPU負荷測定値をサーバ20から取得するものとする。この場合、例えば、図10の例の手順のステップS86,S92において、制御コード変更手段108は、サーバ20から取得したサーバ20のCPU負荷測定値に応じて、制御コードの値を書き換えるレコードの数を決定してよい。例えば、ステップS86では、サーバ20のCPU負荷測定値が小さいほど、VPNゲートウエイ10のVPN接続情報テーブル104中で制御コードを「非暗号/非復号」に変更するレコードの数を多くする。また例えば、ステップS92では、サーバ20のCPU負荷測定値が大きいほど、VPN接続情報テーブル104中で制御コードを「暗号/復号」に変更するレコードの数を多くする。
また、以上では、図1に例示するリモートアクセスVPNのシステム構成を有するVPN通信システムを例に説明した。図2に例示するVPNゲートウエイ10及びサーバ20は、図11に例示するような、拠点間VPNと呼ばれるVPN通信システムにおいても上述の説明と同様に機能する。図11の例のVPN通信システムは、2つのVPNゲートウエイ10,10´がインターネット40を介して接続された構成を有する。また、VPNゲートウエイ10,10´には、それぞれ、イントラネットを介してサーバ20,20´が接続される。図11の例のVPN通信システムにおいて、VPNゲートウエイ10及びサーバ20の組と、VPNゲートウエイ10´及びサーバ20´の組と、のいずれか一方、あるいは両方の組において、図2に例示するVPNゲートウエイ10及びサーバ20の構成を有していてよい。
また、以上の例では、VPNゲートウエイ10とクライアント30との間の暗号化通信は、IPSecに従って行われるが、例えばSSL(Secure Socket Layer)など、IPSecの他の暗号化通信プロトコルに従って行ってもよい。IPSecの他のプロトコルを用いる場合、VPNゲートウエイ10、サーバ20、及びクライアント30において、IPSec回路102,202,302の代わりに、当該他のプロトコルに従って暗号化通信を行う手段を設けるとよい。この場合も、IPSecを用いる上述の例のシステムと同様に、VPNゲートウエイ10とサーバ20との間で各クライアント30に対応する秘密鍵を共有し、VPNゲートウエイ10及びサーバ20のいずれか一方においてクライアント30との通信データの暗号化/復号処理を行うシステムが構成される。
VPN通信システムの構成の一例を示すブロック図である。 VPNゲートウエイ及びサーバの内部構成の概略の例を示すブロック図である。 VPN接続情報テーブルのデータ内容の例を示す図である。 クライアントの内部構成の概略の例を示すブロック図である。 コンピュータのハードウエア構成の概略の例を示すブロック図である。 本発明の1つの実施形態における暗号化通信の様子の例を示す図である。 秘密鍵の共有に関するVPN通信システムの動作の例を示すシーケンス図である。 クライアントからサーバへデータパケットを送信する場合のVPN通信システムの動作の例を示すシーケンス図である。 サーバからクライアントへデータパケットを送信する場合のVPN通信システムの動作の例を示すシーケンス図である。 制御コード変更手段が行う処理の手順の例を示すフローチャートである。 VPN通信システムの構成の他の一例を示すブロック図である。
符号の説明
10 VPNゲートウエイ、20 サーバ、30 クライアント、40 インターネット、60 CPU、62 メモリ、64 I/Oインタフェース、66 バス、68 記憶装置、70 通信部、100 パケット転送部、102,202,302 IPSec回路、104,204 VPN接続情報テーブル、106 CPU負荷測定手段、108 制御コード変更手段、200,300 パケット送受信部、304 記憶部、1020,2020,3020 暗号化/復号手段。

Claims (9)

  1. 第1の通信手段を介して接続された第1の情報処理装置と第2の通信手段を介して接続された第2の情報処理装置との間の通信を中継する処理を行う中継処理手段であって、前記第1の情報処理装置から受信した情報であって暗号化された受信情報を復号する復号手段と、前記第1の情報処理装置を宛先として送信される送信情報を暗号化する暗号化手段と、を含む中継処理手段と、
    前記復号手段で用いられる復号鍵及び前記暗号化手段で用いられる暗号鍵を前記第2の情報処理装置に対して送信する鍵送信手段と、
    前記中継処理手段における処理の負荷を測定する測定手段と、
    前記測定手段が測定した負荷に応じて、前記受信情報の復号処理及び前記送信情報の暗号化処理を、前記中継処理手段で実行するか前記第2の情報処理装置に実行させるかを決定する決定手段と、
    前記決定手段による決定を前記第2の情報処理装置に通知する通知手段と、
    を備えることを特徴とする通信中継装置。
  2. 前記測定手段が測定した負荷が予め設定された第1閾値を超えた場合に、
    前記決定手段は、前記復号処理及び前記暗号化処理を前記第2の情報処理装置に実行させることを決定し、
    前記中継処理手段は、前記復号手段及び前記暗号化手段における処理を実行しない、
    ことを特徴とする請求項1に記載の通信中継装置。
  3. 前記測定手段が測定した負荷が予め設定された閾値であって前記第1閾値以下である第2閾値を下回った場合に、
    前記決定手段は、前記復号処理及び前記暗号化処理を前記中継処理手段で実行することを決定し、
    前記中継処理手段は、前記復号処理手段及び前記暗号化処理手段における処理を実行する、
    ことを特徴とする請求項2に記載の通信中継装置。
  4. 複数の前記第1の情報処理装置のそれぞれに対応づけて、前記復号手段で用いる復号鍵及び前記暗号化手段で用いる暗号鍵と、当該第1の情報処理装置に関する前記復号処理及び前記暗号化処理を前記中継処理手段で実行するか否かを表す処理情報と、を記憶手段に登録する登録手段をさらに備え、
    前記鍵送信手段は、複数の前記第1の情報処理装置のそれぞれに対応づけて前記記憶手段に登録された前記復号鍵及び前記暗号鍵を前記第2の情報処理装置に対して送信し、
    前記中継処理手段は、複数の前記第1の情報処理装置のそれぞれについて、当該第1の情報処理装置に対応づけて前記記憶手段に登録された情報に従って処理を行い、
    前記測定手段が測定した負荷が前記第1閾値を超えた場合に、
    前記決定手段は、前記復号処理及び前記暗号化処理を前記中継処理手段で実行することを表す処理情報と対応づけられた第1の情報処理装置のうちの少なくとも1つに関して、前記復号処理及び前記暗号化処理を前記第2の情報処理装置に実行させることを決定し、
    前記登録手段は、さらに、前記復号処理及び前記暗号化処理を前記第2の情報処理装置に実行させることを前記決定手段が決定した第1の情報処理装置に対応づけられた前記記憶手段中の処理情報を、前記復号処理及び前記暗号化処理を前記中継処理手段で実行しないことを表す情報に変更する、
    ことを特徴とする請求項2に記載の通信中継装置。
  5. 前記測定手段が測定した負荷が予め設定された閾値であって前記第1閾値以下である第2閾値を下回った場合に、
    前記決定手段は、前記復号処理及び前記暗号化処理を前記中継処理手段で実行しないことを表す処理情報と対応づけられた第1の情報処理装置のうちの少なくとも1つに関して、前記復号処理及び前記暗号化処理を前記中継処理手段で実行することを決定し、
    前記登録手段は、さらに、前記復号処理及び前記暗号化処理を前記中継手段で実行することを前記決定手段が決定した第1の情報処理装置に対応づけられた前記記憶手段中の処理情報を、前記復号処理及び前記暗号化処理を前記中継処理手段で実行することを表す情報に変更する、
    ことを特徴とする請求項4に記載の通信中継装置。
  6. コンピュータを、
    第1の通信手段を介して前記コンピュータに接続された第1の情報処理装置と第2の通信手段を介して前記コンピュータに接続された第2の情報処理装置との間の通信を中継する処理を行う中継処理手段であって、前記第1の情報処理装置から受信した情報であって暗号化された受信情報を復号する復号手段と、前記第1の情報処理装置を宛先として送信される送信情報を暗号化する暗号化手段と、を含む中継処理手段と、
    前記復号手段で用いられる復号鍵及び前記暗号化手段で用いられる暗号鍵を前記第2の情報処理装置に対して送信する鍵送信手段と、
    前記中継処理手段における処理の負荷を測定する測定手段と、
    前記測定手段が測定した負荷に応じて、前記受信情報の復号処理及び前記送信情報の暗号化処理を、前記中継処理手段で実行するか前記第2の情報処理装置に実行させるかを決定する決定手段と、
    前記決定手段による決定を前記第2の情報処理装置に通知する通知手段と、
    として機能させることを特徴とするプログラム。
  7. 第1の通信手段を介して第1の情報処理装置に接続された通信中継装置から、前記第1の情報処理装置から受信した情報であって暗号化された受信情報を復号する復号鍵と前記第1の情報処理装置を宛先として送信される送信情報を暗号化する暗号鍵とを、第2の通信手段を介して受信する鍵受信手段と、
    前記通信中継装置及び前記第2の通信手段を介して取得した前記受信情報を前記復号鍵で復号する受信情報復号手段と、
    前記送信情報を前記暗号鍵で暗号化して前記通信中継装置に対して送信する暗号化情報送信手段と、を備え、
    前記受信情報の復号処理及び前記送信情報の暗号化処理の実行を指示する情報を前記通信中継装置から受け取った場合に、前記受信情報復号手段及び前記暗号化情報送信手段による処理を実行する、
    ことを特徴とする第2の情報処理装置。
  8. コンピュータを、
    第1の通信手段を介して第1の情報処理装置に接続された通信中継装置から、前記第1の情報処理装置から受信した情報であって暗号化された受信情報を復号する復号鍵と前記第1の情報処理装置を宛先として送信される送信情報を暗号化する暗号鍵とを、第2の通信手段を介して受信する鍵受信手段と、
    前記通信中継装置及び前記第2の通信手段を介して取得した前記受信情報を前記復号鍵で復号する受信情報復号手段と、
    前記送信情報を前記暗号鍵で暗号化して前記通信中継装置に対して送信する暗号化情報送信手段と、
    として機能させ、
    前記受信情報の復号処理及び前記送信情報の暗号化処理の実行を指示する情報を前記通信中継装置から受け取った場合に、前記受信情報復号手段及び前記暗号化情報送信手段による処理を前記コンピュータに実行させる、
    ことを特徴とするプログラム。
  9. 通信中継装置と、第1の通信手段を介して前記通信中継装置に接続された第1の情報処理装置と、第2の通信手段を介して前記通信中継装置に接続された第2の情報処理装置と、を備え、
    前記通信中継装置は、
    前記第1の情報処理装置と前記第2の情報処理装置との間の通信を中継する処理を行う中継処理手段であって、前記第1の情報処理装置から受信した情報であって暗号化された受信情報を復号する復号手段と、前記第1の情報処理装置を宛先として送信される送信情報を暗号化する暗号化手段と、を含む中継処理手段と、
    前記復号手段で用いられる復号鍵及び前記暗号化手段で用いられる暗号鍵を前記第1の情報処理装置と共有するための鍵交換処理を行う鍵交換処理手段と、
    前記復号鍵及び前記暗号鍵を前記第2の情報処理装置に対して送信する鍵送信手段と、
    前記中継処理手段における処理の負荷を測定する測定手段と、
    前記測定手段が測定した負荷に応じて、前記受信情報の復号処理及び前記送信情報の暗号化処理を、前記中継処理手段で実行するか前記第2の情報処理装置に実行させるかを決定する決定手段と、
    前記決定手段による決定を前記第2の情報処理装置に通知する通知手段と、を備え、
    前記第1の情報処理装置は、
    前記復号鍵及び前記暗号鍵を前記通信中継装置と共有するための鍵交換処理を行う鍵交換処理手段と、
    前記通信中継装置の前記復号手段で用いられる前記復号鍵で暗号化した情報を前記通信中継装置に対して送信する送信手段と、
    前記通信中継装置から前記送信情報を受信して前記通信中継装置の前記暗号化手段で用いられる前記暗号鍵で復号する受信手段と、を備え、
    前記第2の情報処理装置は、
    前記通信中継装置の前記鍵送信手段から前記復号鍵及び前記暗号鍵を受信する鍵受信手段と、
    前記通信中継装置及び前記第2の通信手段を介して取得した前記受信情報を前記復号鍵で復号する受信情報復号手段と、
    前記送信情報を前記暗号鍵で暗号化して前記通信中継装置に対して送信する暗号化情報送信手段と、を備え、
    前記通信中継装置の前記通知手段から、前記受信情報の復号処理及び前記送信情報の暗号化処理を前記第2の情報処理装置に実行させることが決定された旨の通知を受けた場合に、前記受信情報復号手段及び前記暗号化情報送信手段による処理を実行する、
    ことを特徴とする通信システム。
JP2008244897A 2008-09-24 2008-09-24 通信中継装置、情報処理装置、プログラム、及び通信システム Pending JP2010081108A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008244897A JP2010081108A (ja) 2008-09-24 2008-09-24 通信中継装置、情報処理装置、プログラム、及び通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008244897A JP2010081108A (ja) 2008-09-24 2008-09-24 通信中継装置、情報処理装置、プログラム、及び通信システム

Publications (1)

Publication Number Publication Date
JP2010081108A true JP2010081108A (ja) 2010-04-08

Family

ID=42211086

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008244897A Pending JP2010081108A (ja) 2008-09-24 2008-09-24 通信中継装置、情報処理装置、プログラム、及び通信システム

Country Status (1)

Country Link
JP (1) JP2010081108A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012011218A1 (en) * 2010-07-21 2012-01-26 Nec Corporation Computer system and offloading method in computer system
KR101447858B1 (ko) 2013-05-15 2014-10-07 (주)엔텔스 IPSec 게이트웨이 장치, IPSec 게이트웨이의 패킷 전송 방법 및 네트워크 시스템
WO2014185639A1 (ko) * 2013-05-15 2014-11-20 주식회사 엔텔스 IPSec 게이트웨이 장치, IPSec 게이트웨이의 패킷 전송 방법 및 네트워크 시스템

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012011218A1 (en) * 2010-07-21 2012-01-26 Nec Corporation Computer system and offloading method in computer system
US20130125125A1 (en) * 2010-07-21 2013-05-16 Shuichi Karino Computer system and offloading method in computer system
JP2013535711A (ja) * 2010-07-21 2013-09-12 日本電気株式会社 計算機システム、及び計算機システムにおけるオフローディング方法
US10353722B2 (en) 2010-07-21 2019-07-16 Nec Corporation System and method of offloading cryptography processing from a virtual machine to a management module
KR101447858B1 (ko) 2013-05-15 2014-10-07 (주)엔텔스 IPSec 게이트웨이 장치, IPSec 게이트웨이의 패킷 전송 방법 및 네트워크 시스템
WO2014185639A1 (ko) * 2013-05-15 2014-11-20 주식회사 엔텔스 IPSec 게이트웨이 장치, IPSec 게이트웨이의 패킷 전송 방법 및 네트워크 시스템

Similar Documents

Publication Publication Date Title
US11792169B2 (en) Cloud storage using encryption gateway with certificate authority identification
JP4081724B1 (ja) クライアント端末、中継サーバ、通信システム、及び通信方法
EP3286896B1 (en) Scalable intermediate network device leveraging ssl session ticket extension
JP2022023942A (ja) クライアント-クラウドまたはリモートサーバーの安全なデータまたはファイル・オブジェクト暗号化ゲートウェイ
US9219709B2 (en) Multi-wrapped virtual private network
CN111801926B (zh) 用于公开至少一个密码学密钥的方法和系统
US20130179678A1 (en) Stateless Cryptographic Protocol-based Hardware Acceleration
JP2006121510A (ja) 暗号化通信システム
US20150373006A1 (en) Secure Non-Geospatially Derived Device Presence Information
JP2006050267A (ja) IPsec通信方法及び通信制御装置並びにネットワークカメラ
CA3066728A1 (en) Cloud storage using encryption gateway with certificate authority identification
JP2005210193A (ja) 共通秘密鍵生成装置
CN109040059B (zh) 受保护的tcp通信方法、通信装置及存储介质
JP2002217896A (ja) 暗号通信方法およびゲートウエイ装置
JP2012100206A (ja) 暗号通信中継システム、暗号通信中継方法および暗号通信中継用プログラム
CN109905310B (zh) 数据传输方法、装置、电子设备
JP2006019975A (ja) 暗号パケット通信システム、これに備えられる受信装置、送信装置、及びこれらに適用される暗号パケット通信方法、受信方法、送信方法、受信プログラム、送信プログラム
US7895648B1 (en) Reliably continuing a secure connection when the address of a machine at one end of the connection changes
TWI828848B (zh) 資料傳送方法、通訊處理方法、通訊裝置以及通訊處理程式
JP2010081108A (ja) 通信中継装置、情報処理装置、プログラム、及び通信システム
JP4933286B2 (ja) 暗号化パケット通信システム
JP2005244379A (ja) Vpnシステム、vpn装置及びそれらに用いる暗号化鍵配布方法
JP2007267064A (ja) ネットワークセキュリィテイ管理システム、暗号化通信の遠隔監視方法及び通信端末。
JP2006041726A (ja) 共有鍵交換システム、共有鍵交換方法及び方法プログラム
US20080059788A1 (en) Secure electronic communications pathway