JP5532993B2 - 中継装置 - Google Patents
中継装置 Download PDFInfo
- Publication number
- JP5532993B2 JP5532993B2 JP2010027899A JP2010027899A JP5532993B2 JP 5532993 B2 JP5532993 B2 JP 5532993B2 JP 2010027899 A JP2010027899 A JP 2010027899A JP 2010027899 A JP2010027899 A JP 2010027899A JP 5532993 B2 JP5532993 B2 JP 5532993B2
- Authority
- JP
- Japan
- Prior art keywords
- key
- relay device
- communication
- relay
- encryption key
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、複数のLAN(Local Area Network)をVPN(Virtual Private Network
)により相互に接続する技術に関する。
)により相互に接続する技術に関する。
LANなどのネットワーク間を相互に接続するための中継装置であるVPNルータは、ネットワーク間で行われる通信をトンネリング・暗号化して通信データの中継をする。VPNを実現するプロトコルとしては、IPsec(Security Architecture for Internet
Protocol)、PPTP(Point-to-Point Tunneling Protocol)、L2TP(Layer-2 Tunneling Protocol)が広く用いられている。
Protocol)、PPTP(Point-to-Point Tunneling Protocol)、L2TP(Layer-2 Tunneling Protocol)が広く用いられている。
一般に、VPNルータにおいてVPNの設定を行うときには、拠点毎に暗号鍵の設定を行う必要があり、その設定作業が複雑になることが多い。そのため、設定作業を簡素化する技術として、設定内容や暗号鍵をサーバで一元的に生成および管理し、ネットワークを介して各ルータに提供する技術が、例えば、特許文献1、2に開示されている。ただし、この技術においては、サーバに処理の負荷が集中するため、大規模なネットワークへの適用が難しく、サーバが故障するとシステム全体が動作しなくなる。
ところで、端末間における通信において、分散ハッシュテーブルなどの構造化オーバレイを用いる技術が、例えば、特許文献3に開示されている。この技術によれば、通信への参加離脱において、設定を変更する必要がなく、設定内容や暗号鍵を一元管理するサーバも不要である。
一方、特許文献4、5には、VPNのように通信経路を暗号化するのではなく、ネットワーク間で行われる通信において、コンテンツデータ毎(ファイル毎)に暗号化を行うための暗号鍵を伝達する技術が開示されている。
特許文献3に示すように、構造化オーバレイを用いた拠点間で暗号化された通信を実現することは可能であるが、この場合、通信に参加する端末全てにおいて、構造化オーバレイを構成するためのソフトウエアをインストールして予め設定を行っておく必要があった。また、従来のIPsecなどを用いた構成の場合、VPNに参加する全ての機器の追加・削除に伴い、論理パスの設定や経路の設定を変更する必要があり、また、フルメッシュ通信を実現するためには、参加する端末の数に応じて多くの論理パスの設定や経路の設定を行わなくてはならなかった。また、特許文献4、5のようにファイル毎に暗号鍵を設定する方式では、ファイルが追加される度に暗号鍵の生成を行う必要があるため、管理コストが高くなるという問題がある。
本発明は、上述の事情に鑑みてなされたものであり、異なる中継装置に接続された通信端末間におけるVPNを用いた通信において、暗号鍵の管理を容易に行うことを目的とする。
上述の課題を解決するため、本発明は、VPN(Virtual Private Network)を用いて他の中継装置に接続し、前記他の中継装置に接続される通信端末と自装置に接続される通信端末とにおける通信を中継する中継装置であって、前記他の中継装置との接続により構造化オーバレイを構成するとともに、当該構造化オーバレイを利用して、前記通信に用いられるデータを暗号化および復号化する鍵を管理する分散データベースを、当該構造化オーバレイを構成する中継装置間で分散管理するオーバレイ構成手段と、前記鍵の有効期間が到来する前に新しい鍵を生成する生成手段と、前記生成手段が前記新しい鍵を生成すると、前記構造化オーバレイを構成する中継装置間で分散管理された分散データベースに当該新しい鍵を登録する登録手段とを具備することを特徴とする中継装置を提供する。
また、別の好ましい態様において、前記鍵の有効期間が到来する前に、前記構造化オーバレイを構成する中継装置間で分散管理された分散データベースを検索して前記新しい鍵を取得する取得手段を具備することを特徴とする。
また、別の好ましい態様において、前記生成手段が前記新しい鍵を生成すると、前記構造化オーバレイを構成する他の中継装置に前記新しい鍵を配布する配布手段を具備することを特徴とする。
また、別の好ましい態様において、前記鍵は、前記構造化オーバレイを構成する中継装置間による通信において共通の鍵であることを特徴とする。
また、別の好ましい態様において、前記生成手段は前記構造化オーバレイを構成する中継装置毎に前記鍵を生成することを特徴とする。
本発明によれば、異なる中継装置に接続された通信端末間におけるVPNを用いた通信において、暗号鍵の管理を容易に行うことができる。
以下、本発明の一実施形態について説明する。
<実施形態>
図1は、本発明の実施形態に係る通信システム1の構成を示すブロック図である。通信システム1は、拠点A、B、C、Dのそれぞれに設けられた中継装置20A、20B、20C、20D(以下、それぞれを区別しない場合には、中継装置20という)、および各中継装置20に接続される通信端末(図示略)により構成されるLAN30A、30B、30C、30D(以下、それぞれを区別しない場合には、LAN30という)を有している。各中継装置20は、各LAN30をインターネットなどの公衆網である通信網10に接続し、各LAN30における通信端末から他のLAN30における通信端末への通信を中継する。
<実施形態>
図1は、本発明の実施形態に係る通信システム1の構成を示すブロック図である。通信システム1は、拠点A、B、C、Dのそれぞれに設けられた中継装置20A、20B、20C、20D(以下、それぞれを区別しない場合には、中継装置20という)、および各中継装置20に接続される通信端末(図示略)により構成されるLAN30A、30B、30C、30D(以下、それぞれを区別しない場合には、LAN30という)を有している。各中継装置20は、各LAN30をインターネットなどの公衆網である通信網10に接続し、各LAN30における通信端末から他のLAN30における通信端末への通信を中継する。
中継装置20は、例えばVPNルータであり、特定の通信プロトコル(例えば、IP(Internet Protocol))に従って、通信網10から送信されてくるデータのブロックであるパケットを受信し、それが、自身に接続されているLAN30における各通信端末宛てのパケットである場合に、その宛先の通信端末にそのパケットを伝送する。一方、中継装置20は、LAN30から送信されてくるパケットについては、パケットの宛先の通信端末が接続されている中継装置20に伝送する。また、中継装置20は、他の中継装置20と通信網10を介して後述するVPN処理部213(図3参照)によってVPNにより接続する。さらに、中継装置20は、後述する構造化オーバレイ処理部212(図3参照)によって、分散ハッシュテーブルなどの構造化オーバレイを構成する。中継装置20の構成について図2を用いて説明する。
図2は、中継装置20の構成を示すブロック図である。中継装置20は、制御部21、UI(User Interface)部22、第1通信IF(Interface)部23、第2通信IF部24及び記憶部25を有し、これらの各構成はバス26を介して接続されている。
制御部21は、CPU(Central Processing Unit)、ROM(Read Only Memory)、
RAM(Random Access Memory)などを有する。CPUは、ROMに記憶されている制御プログラムを読み出して、RAMにロードして実行することにより、中継装置20の各部をバス26経由で制御し、後述する通信処理機能などを実現する。また、RAMは、CPUが各データの加工などを行う際のワークエリアとして機能する。
RAM(Random Access Memory)などを有する。CPUは、ROMに記憶されている制御プログラムを読み出して、RAMにロードして実行することにより、中継装置20の各部をバス26経由で制御し、後述する通信処理機能などを実現する。また、RAMは、CPUが各データの加工などを行う際のワークエリアとして機能する。
UI部22は、中継装置20の管理者によって各種設定が行われるときに用いられるキーボードや操作ボタンなどの操作部と、設定画面表示など制御部21の制御に応じた表示を行う液晶ディスプレイなどの表示部とを有している。UI部22は、操作部が操作されると、その操作内容を示すデータを制御部21へ出力する。なお、このUI部22は無くてもよく、この場合には、管理者は、通信網10、LAN30などのネットワークを介して、図示しない管理装置における遠隔操作により各種設定を行う。
第1通信IF部23及び第2通信IF部24は、NIC(Network Interface Card)などの通信手段である。第1通信IF部23はLAN30に接続し、より詳細には、中継装置20A、20B、20C、20Dにおける第1通信IF部23は、それぞれLAN30A、30B、30C、30Dと接続する。一方、第2通信IF部24は、通信網10と接続する。
第1通信IF部23及び第2通信IF部24は、それぞれ接続されるネットワークからパケットを受信すると、制御部21に出力する一方、制御部21から出力されるパケットを接続されるネットワーク(通信網10またはLAN30)に送出する。
記憶部25は、例えば、ハードディスクや不揮発性メモリなどであり、制御部21によりデータの読み出し、書き込みが行われる。記憶部25には、例えば、UI部22の操作などにより中継装置20に設定された内容を示す設定情報や制御プログラムの一部などが記憶されている。また、その他にも、PR(プレフィックスルール(Prefix Rule))テ
ーブル251、経路表252、分散データベースの一部のデータベース(以下、分散DB部分データベース253)、経路キャッシュ256(図3参照)なども記憶されている。これらの詳細については後述する。以上が、中継装置20の構成についての説明である。
ーブル251、経路表252、分散データベースの一部のデータベース(以下、分散DB部分データベース253)、経路キャッシュ256(図3参照)なども記憶されている。これらの詳細については後述する。以上が、中継装置20の構成についての説明である。
次に、制御部21が制御プログラムを実行することによって実現される通信処理機能について、図3から図5を用いて説明する。通信処理機能とは、通信網10に接続されている各中継装置20と構造化オーバレイを構成するとともに、この中継装置20に接続されたLAN30における通信端末と他の中継装置20に接続されたLAN30における通信端末との通信を中継する機能である。なお、以下に説明する通信処理機能における各構成については、ハードウエアによって実現してもよい。
図3は、通信処理機能を実現する構成を説明する図である。この通信処理機能の実現には、パケット処理部211、構造化オーバレイ処理部212、VPN処理部213、経路管理部214、鍵管理部215および記憶部25に記憶されたPRテーブル251、経路表252、分散DB部分データベース253、経路キャッシュ256が用いられる。分散DB部分データベース253は、経路レコード254および鍵レコード255をデータとして保持する。鍵管理部215が管理する鍵には、ある中継装置20がネットワークに参加する前に設定する事前共有鍵と、ネットワーク上におけるデータ通信において用いられる通信データについて暗号化・復号化を行うために用いられ一定の寿命を持つ共通秘密鍵の2種類があるが、以降の説明において「暗号鍵」と言う場合は、この共通秘密鍵のことを指す。まず、記憶部25に記憶された各情報について説明する。
図4は、PRテーブル251の構成を説明する図である。PRテーブル251は、パケットの宛先情報に示されるプライベートアドレスが含まれるネットワークアドレスを示す情報であり、後述する分散データベースに問い合わせるときの検索キーとなるネットワークアドレスと、そのネットワークアドレスにおけるプレフィックスレングス(PL:Prefix Length)とを対応付けた情報である。
例えば、図4に示すPRテーブル251においては、ネットワークアドレス「192.168.100.0」は、プレフィックスレングス「26」であり、「192.168.100.0」から「192.168.100.63」の範囲のプライベートアドレスを含んでいることを示す。そのため、例えば、プライベートアドレスが「192.168.100.7」であれば、対応するネットワークアドレスは「192.168.100.0」となる。そして、プライベートアドレスに対応するネットワークアドレスがPRテーブル251上に無いものについては、デフォルトとしてプレフィックスレングスが「24」であるものとして扱われる。
このように、PRテーブル251は、ネットワークアドレスとプライベートアドレスとの対応関係を示すものである。なお、このPRテーブル251は、通信網10に接続されるものとして予定されている中継装置20の各々が配下にもつネットワークアドレス全てとプレフィックスレングスの関係が予め対応付けられて登録されているものとするが、後述する分散データベースのように構造化オーバレイを利用して分散管理するようにすれば、自装置の配下のネットワークアドレスとプレフィックスレングスの対応関係を記憶するだけでもよい。
経路表252には、この経路表252を記憶する中継装置20自身が配下に持つネットワークアドレスが登録されている。すなわち、この中継装置20に接続されるLAN30におけるネットワークアドレスと、この中継装置20自身に設定されているグローバルアドレスとを対応付けた情報である。なお、中継装置20自身のグローバルアドレスをホスト経路として登録してもよい。また、従来の技術で用いられているルーティングテーブルなどの経路表に対応する情報が登録されていてもよい。
分散DB部分データベース253は、構造化オーバレイを利用して分散管理される分散データベースに含まれるデータ群の一部のことである。前述したように、この分散DB部分データベース253は、経路レコード254および鍵レコード255からなる。経路レコード254は、通信網10に接続される各中継装置20において記憶されている経路表252を部分的に統合したものである。この経路レコード254は、各中継装置20の経路表252に応じた内容であり、例えば、自装置の経路表252と、他の中継装置20の経路表252の一部とを含むものである。通信網10に接続される他の中継装置20が変更されたり、他の中継装置20の経路表252が変更されたりして、分散データベースが変更されると、構造化オーバレイ処理部212によってこの経路レコード254の内容が更新される。
鍵レコード255は、通信網10に接続される各中継装置20が構成する構造化オーバレイ上で使用される暗号鍵であり、各暗号鍵の識別子であるキーと各暗号鍵の実態を表す値とからなる。鍵レコード255は、現在構造化オーバレイ上で使用されている暗号鍵を識別するキー「KeyCurrent」を持つレコードと、現在使用されている暗号鍵の寿命が切れた際に次に使用される暗号鍵を識別するキー「KeyNext」を持つレコードという、2つのレコードで構成される。この暗号鍵は、後述するVPN処理部213における暗号化及び復号化において用いられる鍵である。この例においては、各中継装置20の間で行われる通信に用いられる通信データを暗号化及び復号化するに際して、全ての中継装置20において共通の暗号鍵を用いるものとする。
図5は、分散データベースの構成を説明する図である。分散データベースは、上述したように、構造化オーバレイを利用して、各中継装置20において分散DB部分データベース253として分散管理されるものであり、データベース全体として、各中継装置20における経路表252の全てを統合した内容を、経路に関するデータとして保持している。したがって、分散データベースにおけるこの経路に関するデータは、ネットワークアドレスとそのネットワークアドレスを配下にもつ中継装置20のグローバルアドレスとを対応付けたものとなっている。さらに分散データベースは、暗号鍵の管理を行う。
例えば、図5に示す分散データベースにおいては、ネットワークアドレス「192.168.100.0」は、グローバルアドレスが「2xx.100.200.1」の中継装置20の配下にあることを示している。後述する構造化オーバレイ処理部212により、ネットワークアドレスを検索キーとして分散データベースに問い合わせると、対応する中継装置20のグローバルアドレスを応答として取得できるようになっている。このように、経路に関するデータを構造化オーバレイにより分散管理することにより、各中継装置20の経路表252を分散データベースと同じものとしなくてよい。
また、図5に示す分散データベースにおいては、現在構造化オーバレイ上で使用されている暗号鍵である「KeyCurrent」、および現在使用されている暗号鍵「KeyCurrent」の寿命が切れた際に次に使用される暗号鍵である「KeyNext」が、各々その中身と対応付けられて登録されている。ネットワークに参加する中継装置20は、後述する構造化オーバレイ処理部212により、現在使用されている暗号鍵を識別する「KeyCurrent」、あるいは次に使用される暗号鍵を識別する「KeyNext」を検索キーとして分散データベースに問い合わせることで、暗号鍵を取得することが可能である。そして中継装置20は、この取得した暗号鍵で、自装置内の分散DB部分データベース253における鍵レコード255を更新する。
なお、分散データベースは、通信網10に接続される各中継装置20のグローバルアドレスと、各中継装置20に接続されるLAN30の通信端末のプライベートアドレスとの対応関係が分かるような構成となっていればよいから、グローバルアドレスに対応する情報がネットワークアドレスで表されるものでなくてもよく、プライベートアドレスに関する情報であればどのようなものであってもよい。例えば、プライベートアドレスに関する情報を、プライベートアドレスそのものとしてもよいし、範囲で指定した情報であってもよい。また、ネットワークアドレスとプレフィックスレングスとにより示される情報とすれば、PRテーブル251が無くてもよい。
経路キャッシュ256は、上述のようにして取得したネットワークアドレスとグローバルアドレスとの対応関係を一定時間記憶しておき、同じネットワークアドレスについては、分散データベースへの問い合わせをしなくても、経路キャッシュ256を参照することにより、この対応関係の取得を高速化する。以上が、記憶部25に記憶された各情報についての説明である。
次に、図3に戻って、パケット処理部211、構造化オーバレイ処理部212、VPN処理部213、経路管理部214及び鍵管理部215について説明する。
パケット処理部211は、第1通信IF部23において、この中継装置20に接続されるLAN30の通信端末から送信された通信データであるパケットを受信すると、受信したパケットを取得する。このパケットには、宛先となる通信端末のプライベートアドレスを示す宛先情報が含まれている。パケット処理部211は、経路表252を参照して、このパケットの宛先のプライベートアドレスがこの中継装置20に接続されたLAN30の通信端末でない場合には、このパケットをVPN処理部213に出力する。そして、この出力の応答として、後述するVPN送信処理が施されたパケットを取得すると、パケット処理部211は、第2通信IF部24から通信網10を介して、後述のようにして決められたグローバルアドレスの他の中継装置20に対して送信する。
パケット処理部211は、第2通信IF部24において、通信網10からVPN送信処理が施されたパケットを受信すると、受信したパケットを取得する。そして、このパケットをVPN処理部213に出力する。この出力の応答として、後述するVPN受信処理が施されたパケットを取得すると、パケット処理部211は、経路表252を参照して第1通信IF部23から宛先情報に示されるプライベートアドレスの通信端末に送信する。
構造化オーバレイ処理部212は、予め決められた構造化オーバレイのアルゴリズム及びプロトコルに則って、パケット処理部211及び第2通信IF部24を介して行われる他の中継装置20との通信を制御して、通信網10に接続された中継装置20間で構造化オーバレイを構成する。そして、構造化オーバレイ処理部212は、分散データベースのうち経路に関するデータを、構造化オーバレイを利用して各中継装置20で分散DB部分データベース253における経路レコード254として分散管理する。また、構造化オーバレイ処理部212は、分散データベースのうち暗号鍵に関するデータを、構造化オーバレイを利用して各中継装置20で分散DB部分データベース253における鍵レコード255として分散管理する。ある中継装置20がこの分散データベースにネットワークアドレスを検索キーとして問合せを行い、応答として他の中継装置20を示すグローバルアドレスを取得することにより、パケットを送信すべき中継装置20のグローバルアドレスを特定するようになっている。また、ある中継装置20が、現在使用されている暗号鍵を識別する「KeyCurrent」、あるいは次に使用される暗号鍵を識別する「KeyNext」を検索キーとして分散データベースに問い合わせて暗号鍵を取得することで、この取得した暗号鍵で鍵レコード255を最新の状態に更新することが可能となっている。
構造化オーバレイ処理部212は、後述するようにVPN処理部213から通知されるプライベートアドレスに対応するネットワークアドレスを、PRテーブル251を参照して認識し、このネットワークアドレスを分散データベースに問合せを行うときの検索キーとする。そして、構造化オーバレイ処理部212は、特定したグローバルアドレスをVPN処理部213に通知する。また、構造化オーバレイ処理部212は、後述する鍵管理部215の要求に従い、分散データベースに対して暗号鍵の登録あるいは検索を行ったり、経路レコード254に管理された他の中継装置20に対して暗号鍵を配布したりする。
VPN処理部213は、第1通信IF部23によって受信されたパケットがパケット処理部211から入力されると、VPN送信処理を行う。VPN送信処理は、以下のように行われる。まず、VPN処理部213は、入力されたパケットの宛先情報に示されるプライベートアドレスを取得する。そして、VPN処理部213は、経路キャッシュ256を参照して、このプライベートアドレスに対応するグローバルアドレスが存在するか否かを判定し、存在する場合には、そのグローバルアドレスを取得する。一方、存在しない場合には、VPN処理部213は、構造化オーバレイ処理部212に対して、このプライベートアドレスを通知し、分散データベースからの応答であるグローバルアドレスを取得する。このとき、VPN処理部213は、プライベートアドレスと取得したグローバルアドレスとの対応関係を経路キャッシュ256に一定時間記憶させる。
そして、VPN処理部213は、鍵レコード255のうちキー「KeyCurrent」の暗号鍵を参照して、このパケットを暗号化してパケット処理部211及び第2通信IF部24を介して、暗号化したパケットを取得したグローバルアドレスの中継装置20に送信する。以上が、VPN送信処理である。
VPN処理部213は、第2通信IF部24によって受信されたパケット(他の中継装置20においてVPN送信処理済みのパケット)がパケット処理部211から入力されると、VPN受信処理を行う。VPN受信処理は、鍵レコード255のうちキー「KeyCurrent」の暗号鍵を参照して、暗号化されたパケットの復号化を行いパケット処理部211に出力する処理である。上述したように、復号化したパケットを出力すると、このパケットは、パケット処理部211及び第1通信IF部23を介して、パケットの宛先情報に示されるプライベートアドレスの通信端末に送信される。
経路管理部214は、構造化オーバレイを利用して、構造化オーバレイ処理部212における経路を管理、および経路表252の更新を行う。経路管理部214は、OSPF(Open Shortest Path First)、RIP(routing information protocol)のような従来のルーティングプロトコルを使用しても良いし、静的に経路を設定してもよい。
一般的に、VPNの経路を設定するときには、送信先の中継装置のそれぞれに対応する仮想的なインターフェースを定義し、それを宛先とするような経路を記述することが多い。しかし、この方法では、ネットワークに参加する中継装置の増減に合わせて経路を変更する必要が生じ、管理の負担が大きくなる。これに対して、本実施形態では、送信先の複数の中継装置20を集約した仮想的なインターフェースを1つだけ定義し、このインターフェースを宛先とする経路を記述すればよい。このようにすることで、ネットワークに参加する中継装置20の増減があっても経路の設定を変えずに運用でき、管理の負担を低減できる。
鍵管理部215は、前述したとおり、暗号化・復号化に用いられる2種類の鍵を管理する。1つ目は、事前共有鍵である。この事前共有鍵は、構造化オーバレイ処理部212で用いられ、ある中継装置20が構造化オーバレイに参加する場合の認証情報を送信する際や、構造化オーバレイで管理される経路情報やデータ暗号化用の暗号鍵を配布、検索するための制御メッセージを送信する際の暗号化に使用される。2つ目は、データ通信のための通信路を暗号化・復号化するため、すなわちVPN処理部213がパケットを暗号化・復号化するために用いる共通秘密鍵である。鍵レコード255が保持する暗号鍵および分散データベースに登録される暗号鍵は、この共通秘密鍵である。
暗号鍵には一定の寿命がある。鍵サーバとして動作する中継装置20の鍵管理部215は、現在使用している暗号鍵の寿命が切れる一定時間前になると、新しい暗号鍵を生成し、構造化オーバレイ処理部212に通知を行う。構造化オーバレイ処理部212はこの通知を受けて、新しい暗号鍵を分散データベースへ登録した後に他の中継装置20へ配布する。一方、各拠点における他の中継装置20の鍵管理部215は、現在使用している暗号鍵の寿命が切れる一定時間前になると、構造化オーバレイ処理部212に通知を行う。構造化オーバレイ処理部212は、この通知を受けて分散データベースに対して新しい暗号鍵を検索し、これを取得すると鍵管理部215に新しい暗号鍵を受け渡す。鍵管理部215は、新しい暗号鍵を、鍵レコード255にキー「KeyNext」のレコードとして追加する。
鍵サーバとして動作する中継装置20は特別なサーバ装置である必要はなく、鍵サーバとしての機能は中継装置20の機能の一部として提供され、鍵サーバとして動作するかどうかの設定を、ユーザがUI部22を通じて変更することが可能である。なお、鍵サーバとして動作する中継装置20は複数存在してもよい。以上が、通信処理機能についての説明である。
次に、中継装置20の動作について説明する。まず、ネットワークに参加するときの動作を説明した後、中継装置間で暗号鍵の配布が行われるときの通信システム1の動作について図6を用いて説明する。その後、この暗号鍵を用いて通信端末間の通信を行うときの通信システム1の動作について、図7を用いて説明する。
まず、中継装置20の管理者は、各中継装置20について、初期ノード、事前共有鍵、装置名称を設定する。初期ノードとは、ネットワークに参加するために最初にアクセスする装置を示し、サーバなどの特殊なノードでなく、ネットワークに参加する任意のノード、例えば他の中継装置20であり、そのグローバルアドレスが管理者により設定される。事前共有鍵は、前述したとおり、構造化オーバレイ処理部212で用いられ構造化オーバレイのメッセージなどの制御メッセージを暗号化する鍵である。装置名称とは、ネットワーク上でこの中継装置20を識別するための名前であって、構造化オーバレイ上でのノードの識別子として利用される。
各中継装置20は、これらの設定を元にネットワークに参加し、構造化オーバレイを利用して分散管理される分散データベースのうち、自装置に記憶されている経路レコード254を初期化する。また、各中継装置20は、現在使用されている暗号鍵を識別する「KeyCurrent」を検索キーとして分散データベースに問い合わせて暗号鍵を取得し、この取得した暗号鍵で鍵レコード255を初期化する。分散データベースが分散管理されることにより、新たに中継装置20がネットワークに参加しても、新たな中継装置に上記設定がされていれば、すでにネットワーク上にある中継装置20については、設定を変更する必要はない。そして、中継装置20は、ネットワークに参加すると、構造化オーバレイを利用して分散管理される分散データベースに対して自装置の経路表252を登録することにより、他の中継装置20に対して自装置の存在を知らせることができる。
図6は、中継装置間における暗号鍵の配布の動作を説明する図である。ここで、図6中の中継装置20Aが鍵サーバとして動作するものと仮定すると、この中継装置20Aは、暗号鍵の寿命が到来する期限の一定時間前になると、暗号鍵の寿命が切れると判断し(ステップS1;YES)、新しい暗号鍵を生成する(ステップS2)。暗号鍵の寿命が切れると判断しなければ(ステップS1;NO)、中継装置20Aは新しい暗号鍵を生成することは無い。中継装置20Aは、暗号鍵を生成すると、この生成した暗号鍵を、自装置内の鍵レコード255にキー「KeyNext」のレコードとして追加する。(ステップS3)。その後、中継装置20Aは、新しく生成した暗号鍵を、構造化オーバレイを利用して分散管理される分散データベースにキー「KeyNext」として登録する(ステップS4)。これにより、新しい暗号鍵が分散データベースに登録される(ステップS5)。
次に、中継装置20Aは新しく生成した暗号鍵を他の中継装置20に配布する(ステップS6)。すなわち、中継装置20Aは、構造化オーバレイ上の分散データベースにおける経路に関するデータを参照し、この参照結果に基づいて他の中継装置20Bに新しく生成した暗号鍵を配布する。中継装置20Bは、新しい暗号鍵を受け取ると、この新しい暗号鍵を自らが保持する鍵レコード255にキー「KeyNext」のレコードとして追加する。(ステップS7)。ここで、別の中継装置20Cが保持する暗号鍵の寿命が到来する期限の一定時間前になったとすると(ステップS8;YES)。中継装置20Cは、構造化オーバレイ上の分散データベースを検索キー「KeyNext」で検索し、新しい暗号鍵について問い合わせを行う(ステップS9)。そして中継装置20Cは、分散データベースを参照(ステップS10)した結果得られる新しい暗号鍵を取得し、この新しい暗号鍵を自らが保持する鍵レコード255にキー「KeyNext」のレコードとして追加する。(ステップS11)。その後、現在使用されている暗号鍵の寿命が到来すると、各中継装置20および分散データベースは、各々に登録された暗号鍵において、キー「KeyCurrent」のレコードの値を、キー「KeyNext」のレコードの値で更新し、キー「KeyNext」のレコードを削除する(ステップS12〜S15)。このように配布された暗号鍵を用いて通信端末間のデータ通信が行われる。
図7は、通信端末間のデータの通信における通信処理の動作を説明する図である。この説明においては、中継装置20Aに接続された通信端末A−Xからパケットにより通信データが送信され、パケットの宛先情報は、中継装置20B(グローバルアドレス「2xx.100.200.1」)に接続された通信端末B−Y(プライベートアドレス「192.168.100.2」)を示すものとする。また、PRテーブル251は図4に示す内容であり、構造化オーバレイを利用して分散管理された分散データベースは図5に示す内容であるものとする。
まず、通信端末A−Xは、通信端末B−Yに対するデータ送信の処理を行う(ステップS110)。これにより送信されるデータのパケットが中継装置20Aにおいて受信されると、中継装置20Aは、このパケットの宛先情報を参照して、宛先となる通信端末のプライベートアドレスを認識する(ステップS120)。中継装置20Aは、プライベートアドレス「192.168.100.2」を認識すると、PRテーブル251を参照し、対応するネットワークアドレスを検索キーとして抽出する(ステップS130)。これにより抽出される検索キーは、ネットワークアドレス「192.168.100.0」となる。
そして、中継装置20Aは、自装置の経路キャッシュ256に検索キーに対応したアドレスがあるか否かを判定(ステップS135)し、対応するアドレスがある場合(ステップS135;Yes)には、そのアドレスの中継装置20Bを、パケットを送信する経路として認識する(ステップS160)。一方、対応するアドレスが無い場合(ステップS135;No)には、中継装置20Aは、構造化オーバレイを利用して分散管理される分散データベース(経路DB)に対して、検索キーにより問い合わせを行う(ステップS140)。そして、分散データベースを参照(ステップS150)した結果得られる検索キーに対応したアドレス(グローバルアドレス「2xx.100.200.1」)が中継装置20Aに通知され、中継装置20Aにおいて、このグローバルアドレスの中継装置20Bを、パケットを送信する宛先として認識する(ステップS160)。ここで、中継装置20Aは、分散データベースを参照することによって認識した経路については、自装置の経路キャッシュ256に登録しておく。
中継装置20Aは、通信端末A−Xから受信したパケットにVPN送信処理(ステップS170)を施し、中継装置20Bを宛先として、暗号化されたパケットを仮想インターフェースにより通信網10を通して中継装置20Bへ送信する。
中継装置20Bは、仮想インターフェースにより構造化オーバレイのネットワークから、中継装置20AにおいてVPN送信処理が施されたパケットを受信し、VPN受信処理(ステップS180)を施して復号化する。そして、中継装置20Bは、復号化されたパケットの宛先情報が示すプライベートアドレス「192.168.100.2」の通信端末(通信端末B−Y)を認識(ステップS190)し、その通信端末B−Yに復号化されたパケットを送信する。そして、通信端末B−Yは、中継装置20Bから送信されたパケットを受信することによって、通信端末A−Xから送信されたデータを受信する(ステップS200)。
このように、中継装置20は、通信路の暗号化・復号化に必要な暗号鍵を、構造化オーバレイを利用して分散管理される分散データベースに登録することで、効率的に暗号鍵の配布、共有、更新などの各種管理を行うことが出来る。具体的には、鍵サーバとして機能する中継装置20が、暗号鍵の寿命が切れる事を契機として新しい暗号鍵の生成を行い、分散データベースへの新しい暗号鍵の登録および他の中継装置20に新しい暗号鍵の配布を行うと共に、他の中継装置20は自らが保持する暗号鍵の寿命が切れる事を契機として分散データベースを検索して新しい暗号鍵の取得を行う仕組みとなっている。この時、暗号鍵が分散データベースで管理されているから鍵サーバとして動作する中継装置20に処理が集中する事なく、それぞれの中継装置20が自律的に暗号鍵の取得や更新を行うため、システム全体として暗合鍵の管理が容易である。そして、中継装置20は、分散データベースを参照して、接続される通信端末から送信されるパケットの宛先情報に対応した他の中継装置20を送信経路として認識し、暗号鍵を使用して暗号化したパケットを送信経路に従って送信することにより、送信先の中継装置20に接続された通信端末に対して受信させる。このとき、データベースが分散管理されているから、新たに中継装置20がネットワークに参加したり、離脱したりしても、他の中継装置20の設定を事前に変更する必要はなく、また各中継装置20において記憶すべき経路表252のデータ量も少なくすることができる。また、ネットワーク全体で共通の暗号鍵を利用することで、ファイル毎や通信相手毎に暗号鍵を生成する必要がなく、高速な暗号化通信が可能である。さらに、中継装置20に接続される通信端末においては、構造化オーバレイを利用するための特別なソフトウエアなどを必要とせず、この中継装置20に接続して通信を行えばよく、単一障害点となるような全体を管理するサーバが存在しなくてもよいから、システムが堅牢である。さらに暗号鍵を生成する中継装置20についても中央集中的なサーバではなく、複数の中継装置20が鍵サーバとして機能することが可能であるため、ユーザの設定により冗長度をコントロール出来る上に処理が分散可能であり、この点においてもシステムが堅牢である。
以上の実施形態は次のように変形可能である。
<変形例1>
上述した実施形態においては、構造化オーバレイを構成する全ての中継装置間で共通の暗号鍵が使用されていたが、拠点毎に暗号鍵を生成し、この暗号鍵を分散データベースで管理するようにしてもよい。このようにすれば、全ての中継装置間で共通の暗号鍵を使用する場合と比較してセキュリティ強度が高まると共に、分散データベースを用いて暗号鍵の管理がされるため鍵の管理コストと鍵の問い合わせメッセージの集中を削減することが可能になる。
<変形例1>
上述した実施形態においては、構造化オーバレイを構成する全ての中継装置間で共通の暗号鍵が使用されていたが、拠点毎に暗号鍵を生成し、この暗号鍵を分散データベースで管理するようにしてもよい。このようにすれば、全ての中継装置間で共通の暗号鍵を使用する場合と比較してセキュリティ強度が高まると共に、分散データベースを用いて暗号鍵の管理がされるため鍵の管理コストと鍵の問い合わせメッセージの集中を削減することが可能になる。
<変形例2>
上述した実施形態における制御プログラムは、磁気記録媒体(磁気テープ、磁気ディスクなど)、光記録媒体(光ディスクなど)、光磁気記録媒体、半導体メモリなどのコンピュータ読み取り可能な記録媒体に記憶した状態で提供し得る。この場合には、記録媒体を読み取るインターフェースを中継装置20に設ければよい。また、ネットワーク経由でダウンロードさせることも可能である。
上述した実施形態における制御プログラムは、磁気記録媒体(磁気テープ、磁気ディスクなど)、光記録媒体(光ディスクなど)、光磁気記録媒体、半導体メモリなどのコンピュータ読み取り可能な記録媒体に記憶した状態で提供し得る。この場合には、記録媒体を読み取るインターフェースを中継装置20に設ければよい。また、ネットワーク経由でダウンロードさせることも可能である。
1…通信システム、10…通信網、20,20A,20B,20C,20D…中継装置、21…制御部、22…UI部、23…第1通信IF部、24…第2通信IF部、25…記憶部、26…バス、211…パケット処理部、212…構造化オーバレイ処理部、213…VPN処理部、214…経路管理部、215…鍵管理部、251…PRテーブル、252…経路表、253…分散DB部分データベース、254…経路レコード、255…鍵レコード、30,30A,30B,30C,30D…LAN
Claims (5)
- VPN(Virtual Private Network)を用いて他の中継装置に接続し、前記他の中継装置に接続される通信端末と自装置に接続される通信端末とにおける通信を中継する中継装置であって、
前記他の中継装置との接続により構造化オーバレイを構成するとともに、当該構造化オーバレイを利用して、前記通信に用いられるデータを暗号化および復号化する鍵を管理する分散データベースを、当該構造化オーバレイを構成する中継装置間で分散管理するオーバレイ構成手段と、
前記鍵の有効期間が到来する前に新しい鍵を生成する生成手段と、
前記生成手段が前記新しい鍵を生成すると、前記構造化オーバレイを構成する中継装置間で分散管理された分散データベースに当該新しい鍵を登録する登録手段と
を具備することを特徴とする中継装置。 - 前記生成手段が前記新しい鍵を生成しなかった場合、前記鍵の有効期間が到来する前に、前記構造化オーバレイを構成する中継装置間で分散管理された分散データベースを検索して前記新しい鍵を取得する取得手段
を具備することを特徴とする請求項1に記載の中継装置。 - 前記生成手段が前記新しい鍵を生成すると、前記構造化オーバレイを構成する他の中継装置に前記新しい鍵を配布する配布手段
を具備することを特徴とする請求項1または請求項2に記載の中継装置。 - 前記鍵は、前記構造化オーバレイを構成する中継装置間による通信において共通の鍵である
ことを特徴とする請求項1乃至請求項3のいずれかに記載の中継装置。 - 前記生成手段は前記構造化オーバレイを構成する中継装置毎に前記鍵を生成する
ことを特徴とする請求項1乃至請求項3のいずれかに記載の中継装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010027899A JP5532993B2 (ja) | 2010-02-10 | 2010-02-10 | 中継装置 |
CN201080033029.XA CN102474458B (zh) | 2009-07-24 | 2010-07-23 | 中继设备 |
PCT/JP2010/062466 WO2011010736A1 (ja) | 2009-07-24 | 2010-07-23 | 中継装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010027899A JP5532993B2 (ja) | 2010-02-10 | 2010-02-10 | 中継装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011166509A JP2011166509A (ja) | 2011-08-25 |
JP5532993B2 true JP5532993B2 (ja) | 2014-06-25 |
Family
ID=44596659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010027899A Active JP5532993B2 (ja) | 2009-07-24 | 2010-02-10 | 中継装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5532993B2 (ja) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4159328B2 (ja) * | 2002-09-11 | 2008-10-01 | Necインフロンティア株式会社 | ネットワーク、IPsec設定サーバ装置、IPsec処理装置及びそれらに用いるIPsec設定方法 |
JP4628938B2 (ja) * | 2005-12-02 | 2011-02-09 | 三菱電機株式会社 | データ通信システム、端末装置およびvpn設定更新方法 |
JP4997769B2 (ja) * | 2005-12-26 | 2012-08-08 | 日本電気株式会社 | 暗号通信システム、鍵共有方法、鍵提供装置 |
JP4837470B2 (ja) * | 2006-07-19 | 2011-12-14 | Kddi株式会社 | Vpnサーバホスティングシステム、vpn構築方法、およびコンピュータプログラム |
-
2010
- 2010-02-10 JP JP2010027899A patent/JP5532993B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2011166509A (ja) | 2011-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4016998B2 (ja) | 通信装置およびプログラム | |
JP4823717B2 (ja) | 暗号通信システム、端末状態管理サーバ、暗号通信方法、および端末状態管理方法 | |
CN105847158B (zh) | 用于处理路由数据的方法和系统 | |
JP4407452B2 (ja) | サーバ、vpnクライアント、vpnシステム、及びソフトウェア | |
US7526658B1 (en) | Scalable, distributed method and apparatus for transforming packets to enable secure communication between two stations | |
US9369490B2 (en) | Method for the secure exchange of data over an ad-hoc network implementing an Xcast broadcasting service and associated node | |
JPH10126405A (ja) | 移動計算機装置及びパケット暗号化認証方法 | |
JP6326173B1 (ja) | データ送受信システム及びデータ送受信方法 | |
US20160066354A1 (en) | Communication system | |
CN110537354B (zh) | 用于配置虚拟专用网关的系统和方法 | |
JP2016063233A (ja) | 通信制御装置 | |
JP2006166028A (ja) | Vpn接続構築システム | |
JP5601067B2 (ja) | 中継装置 | |
JP5464232B2 (ja) | セキュア通信システム及び通信装置 | |
US20170324716A1 (en) | Autonomous Key Update Mechanism with Blacklisting of Compromised Nodes for Mesh Networks | |
CA2680599A1 (en) | A method and system for automatically configuring an ipsec-based virtual private network | |
WO2011010736A1 (ja) | 中継装置 | |
JP2016059022A (ja) | 端末装置、ゲートウェイ装置および中継装置 | |
JP2006268574A (ja) | 情報処理装置 | |
EP4152690A1 (en) | Communication device, communication method, and communication system | |
JP5532993B2 (ja) | 中継装置 | |
JP2018174550A (ja) | 通信システム | |
JP4694240B2 (ja) | 暗号キー配信装置及びそのプログラム | |
JP2010074225A (ja) | ルータ及びネットワークシステム | |
JP2006019824A (ja) | セキュア通信システム、管理装置および通信端末 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121219 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140401 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5532993 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140414 |