JP5218329B2 - 通信処理装置、通信方法および通信処理プログラム - Google Patents

通信処理装置、通信方法および通信処理プログラム

Info

Publication number
JP5218329B2
JP5218329B2 JP2009187400A JP2009187400A JP5218329B2 JP 5218329 B2 JP5218329 B2 JP 5218329B2 JP 2009187400 A JP2009187400 A JP 2009187400A JP 2009187400 A JP2009187400 A JP 2009187400A JP 5218329 B2 JP5218329 B2 JP 5218329B2
Authority
JP
Japan
Prior art keywords
communication device
communication
connection
data
node
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.)
Expired - Fee Related
Application number
JP2009187400A
Other languages
English (en)
Other versions
JP2011041061A (ja
Inventor
慎哉 里見
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.)
Konica Minolta Business Technologies Inc
Original Assignee
Konica Minolta Business Technologies Inc
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 Konica Minolta Business Technologies Inc filed Critical Konica Minolta Business Technologies Inc
Priority to JP2009187400A priority Critical patent/JP5218329B2/ja
Publication of JP2011041061A publication Critical patent/JP2011041061A/ja
Application granted granted Critical
Publication of JP5218329B2 publication Critical patent/JP5218329B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、2つのノード間をセキュアに接続することのできる通信処理装置、通信方法および通信処理プログラムに関する。
近年の情報通信技術の進歩により、様々な機器や装置がネットワーク化されつつある。このような情報通信技術の進歩に伴って、クラッキングや情報漏洩などの危険性が認識されている。そのため、多くの企業などにおいては、企業内のパーソナルコンピュータなどから外部ネットワークへのアクセス、および、外部ネットワークに接続されたパーソナルコンピュータなどから企業内のパーソナルコンピュータへのアクセスを制限するための構成(いわゆる、ファイヤウォール)が採用されることが多い。
通常、上述のようなファイヤウォールを介して、あるネットワークに接続されたデバイス(以下、「ノード」とも称す。)が別のネットワークに接続されたノードとの間で直接データ通信を行なうことは許されないことが多い。
そのため、各々のノードが中継サーバとSSL通信などのセキュアな方法で通信を確立した上で、一方のノードから送信されるファイルやメッセージを中継サーバに一時的に格納しておき、中継サーバが他方のノードへポーリングすることで、ファイルやメッセージを交換する方法が知られている。
また、「UDPポート・パンチング」という技術を用いて、通信確立処理時だけ中継サーバを利用することで、P2P(peer to peer)通信を行なう方法が知られている。
また、特開2005−346608号公報(特許文献1)には、サーバ装置がそれぞれルータ装置を介してネットワークに接続された通信機器の間で直接的なピアツーピア接続を確立する方法が開示されている。
また、特開2008−097217号公報(特許文献2)には、ネットワークを介して、第一装置と第二装置との間の通信を中継する画像処理装置であって、第一装置とのセッションを確立した後、第一装置のセッション情報を第二装置へ通知することによって、第一装置と第二装置との直接通信に切り替える構成が開示されている。
特開2005−346608号公報 特開2008−097217号公報
しかしながら、上述の中継サーバを利用した方法では、中継サーバがポーリングするタイミング以上のレスポンスを提供することはできない。また、データを遣り取りするノードが相手ノードを確認する手段がないので、いわゆる「なりすまし」を防ぐことができない。
また、上述のUDPポート・パンチングの技術を用いる方法においても、通信相手を確認する手段をもたないので、「なりすまし」を防ぐことができない。
また、特開2005−346608号公報(特許文献1)に開示される方法では、サーバ装置にテーブルの設定を変更できる権限を与える必要があり設定が複雑化するとともに、セキュリティホールが生じる可能性がある。
また、特開2008−097217号公報に開示される方法においても、通信相手を確認する手段をもたないので、「なりすまし」を防ぐことができない。
本発明は、上記のような問題を解決するためになされたものであって、2つのノード間をセキュアに接続することのできる通信処理装置、通信方法および通信処理プログラムを提供するものである。
この発明のある局面に従えば、ネットワークに接続される通信処理装置を提供する。本通信処理装置は、ネットワークに接続された第1通信装置との間でセキュアなコネクションを確立する第1通信手段と、ネットワークに接続された第2通信装置との間でセキュアなコネクションを確立する第2通信手段と、第1通信装置と第2通信装置との間でセキュアなコネクションを確立するための要求に応答して、第1通信装置および第2通信装置の正当性を検証する検証手段と、第1通信装置および第2通信装置の正当性が検証された場合に限って、コネクションを介して、第1通信装置と第2通信装置との間でデータを中継する中継手段とを含む。検証手段は、第1通信装置から、ネットワークに接続された認証サーバが第1通信装置に対して発行した電子証明書を取得する手段と、第2通信装置から、認証サーバが第2通信装置に対して発行した電子証明書を取得する手段とを含む。検証手段は、第1通信装置から取得した電子証明書の発行元と、第2通信装置から取得した電子証明書の発行元とが一致した場合に、第1通信装置および第2通信装置が正当であると判断する。
好ましくは、検証手段は、予め設定した通信装置別のコネクションを確立するための条件が満たされているか否かを判断し、第1通信装置および第2通信装置の正当性が検証されたことに加えて、条件が満たされている場合に、第1通信装置と第2通信装置との間でのデータの中継を開始する。
さらに好ましくは、本通信処理装置は、条件に対する変更を受付ける手段をさらに含む。
好ましくは、中継手段は、第1通信装置および第2通信装置の少なくとも一方から送信されるデータパケットを一時的に記憶する手段と、同一のデータから生じた一連のデータパケットを一時的に記憶して元のデータに復元した上で、当該復元したデータを検証する手段とを含む。
この発明の別の局面に従えば、通信処理装置および複数の通信装置が接続されたネットワークにおける通信方法を提供する。本通信方法は、通信処理装置と第1通信装置との間でセキュアなコネクションを確立するステップと、通信処理装置と第2通信装置との間でセキュアなコネクションを確立するステップと、第1通信装置と第2通信装置との間でセキュアなコネクションを確立するための要求に応答して、ネットワーク上の通信処理装置に存在する検証手段が第1通信装置および第2通信装置の正当性を検証するステップと、第1通信装置および第2通信装置の正当性が検証された場合に限って、通信処理装置が、コネクションを介して、第1通信装置と第2通信装置との間でデータを中継するステップとを含む。検証するステップは、通信処理装置が、第1通信装置から、ネットワークに接続された認証サーバが第1通信装置に対して発行した電子証明書を取得するステップと、通信処理装置が、第2通信装置から、認証サーバが第2通信装置に対して発行した電子証明書を取得するステップと、検証手段が、第1通信装置から取得した電子証明書の発行元と、第2通信装置から取得した電子証明書の発行元とが一致した場合に、第1通信装置および第2通信装置が正当であると判断するステップとを含む
この発明のさらに別の局面に従えば、通信処理装置および複数の通信装置が接続されたネットワークにおける通信方法を提供する。本通信方法は、通信処理装置と第1通信装置との間でセキュアなコネクションを確立するステップと、通信処理装置と第2通信装置との間でセキュアなコネクションを確立するステップと、第1通信装置と第2通信装置との間でセキュアなコネクションを確立するための要求に応答して、ネットワーク上の第1通信装置に存在する検証手段が第1通信装置および第2通信装置の正当性を検証するステップと、第1通信装置および第2通信装置の正当性が検証された場合に限って、通信処理装置が、コネクションを介して、第1通信装置と第2通信装置との間でデータを中継するステップとを含む。検証するステップは、通信処理装置が、第2通信装置から、ネットワークに接続された認証サーバが第2通信装置に対して発行した電子証明書を取得するステップと、通信処理装置が、第2通信装置から取得した電子証明書を第1通信装置へ転送するステップと、検証手段が、認証サーバが第1通信装置に対して発行した電子証明書の発行元と、通信処理装置から転送された第2通信装置の電子証明書の発行元とが一致した場合に、第1通信装置および第2通信装置が正当であると判断するステップとを含む
好ましくは、検証するステップは、予め設定した通信装置別のコネクションを確立するための条件が満たされているか否かを判断するステップと、第1通信装置および第2通信装置の正当性が検証されたことに加えて、条件が満たされている場合に、第1通信装置と第2通信装置との間でのデータの中継を開始するステップとを含む。
さらに好ましくは、通信方法は、条件に対する変更を受付けるステップをさらに含む。
好ましくは、中継するステップは、第1通信装置および第2通信装置の少なくとも一方から送信されるデータパケットを一時的に記憶するステップと、同一のデータから生じた一連のデータパケットを一時的に記憶して元のデータに復元した上で、当該復元したデータを検証するステップとを含む。
この発明のさらに別の局面に従えば、ネットワークに接続される通信処理装置で実行される通信処理プログラムを提供する。本通信処理プログラムは、通信処理装置を、ネットワークに接続された第1通信装置との間でセキュアなコネクションを確立する第1通信手段と、ネットワークに接続された第2通信装置との間でセキュアなコネクションを確立する第2通信手段と、第1通信装置と第2通信装置との間でセキュアなコネクションを確立するための要求に応答して、第1通信装置および第2通信装置の正当性を検証する検証手段と、第1通信装置および第2通信装置の正当性が検証された場合に限って、コネクションを介して、第1通信装置と第2通信装置との間でデータを中継する中継手段として機能させる。検証手段は、第1通信装置から、ネットワークに接続された認証サーバが第1通信装置に対して発行した電子証明書を取得する手段と、第2通信装置から、認証サーバが第2通信装置に対して発行した電子証明書を取得する手段とを含む。検証手段は、第1通信装置から取得した電子証明書の発行元と、第2通信装置から取得した電子証明書の発行元とが一致した場合に、第1通信装置および第2通信装置が正当であると判断する
好ましくは、検証手段は、予め設定した通信装置別のコネクションを確立するための条件が満たされているか否かを判断し、第1通信装置および第2通信装置の正当性が検証されたことに加えて、条件が満たされている場合に、第1通信装置と第2通信装置との間でのデータの中継を開始する。
本発明によれば、2つのノード間をセキュアに接続することができる。
本発明の実施の形態1に従うネットワークシステムの概略構成図である。 本発明の実施の形態1に従うネットワークシステムに含まれるNodeのハードウェア構成を示す概略ブロック図である。 本発明の実施の形態1に従うネットワークシステムに含まれる中継装置のハードウェア構成を示す概略ブロック図である。 本発明の実施の形態1に従うネットワークシステムに含まれるNodeの制御構造を示すブロック図である。 本発明の実施の形態1に従う中継装置RSの制御構造を示すブロック図である。 本発明の実施の形態1に従うネットワークシステムにおけるシーケンス図である。 本発明の実施の形態1に従うSSL通信手順を示すシーケンス図である。 本発明の実施の形態1に従う中継装置で使用されるコネクションテーブル230の一例を示す図である。 本発明の実施の形態1の変形例1に従う中継装置の制御構造を示すブロック図である。 本発明の実施の形態1の変形例1に従うデータ転送の処理を説明するための図である。 本発明の実施の形態1の変形例2に従う中継装置の制御構造を示すブロック図である。 本発明の実施の形態1の変形例2に従うポリシーテーブルの一例を示す図である。 本発明の実施の形態2に従う中継装置の制御構造を示すブロック図である。 本発明の実施の形態2に従うネットワークシステムに含まれるNodeAの制御構造を示すブロック図である。 本発明の実施の形態2に従うネットワークシステムにおけるシーケンス図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
[実施の形態1]
<システム構成>
図1は、本発明の実施の形態1に従うネットワークシステム1の概略構成図である。
図1を参照して、ネットワークシステム1は、グローバルネットワーク340に接続された複数のローカル環境310,320,330を含む。ローカル環境310,320,330は、典型的には、企業や家庭などのローカルなネットワーク環境に対応し、グローバルネットワーク340は、典型的には、インターネットなどに対応する。
ローカル環境310では、ルータ312を介して、サーバ装置などのデバイス(以下、「NodeA」とも称す。)がネットワーク接続されている。
また、ローカル環境320では、ローカルネットワーク324に接続されているパーソナルコンピュータ(PC)などのデバイス(以下、「NodeB」とも称す。)がルータ322を介して、グローバルネットワーク340に接続される。同様に、ローカル環境330では、ローカルネットワーク334に接続されているパーソナルコンピュータ(PC)などのデバイス(以下、「NodeC」とも称す。)がルータ332を介して、グローバルネットワーク340に接続される。なお、NodeBおよびNodeCとしては、パーソナルコンピュータに限られず、各種の事務機器(画像形成装置など)や家電(テレビやビデオなど)も想定される。
なお、本明細書において、「Node」とは、ネットワークに接続された通信装置(デバイス)一般を意味し、特に、ネットワーク上を伝送される情報(データ)を受信して、当該情報を自身で処理可能な任意のデバイスを示す。
以下では、NodeAとNodeBまたはNodeCとの間でP2P通信を行なう場合の処理例について説明する。典型的な適用例としては、ローカル環境310に設けられるNodeAがローカル環境320および330に設けられるデバイス(NodeBおよびNodeC)から情報を収集したり、それらのデバイスに必要なデータ(たとえば、更新データ)などを提供したりするような形態が考えられる。すなわち、本実施の形態に従うネットワークシステム1は、典型的には、NodeAを用いて、NodeBおよびNodeCをリモートメンテナンスするような形態に適している。
ネットワークシステム1は、ネットワーク接続された中継装置RSおよび認証サーバCAをさらに含む。中継装置RSは、本発明に係る通信処理装置の典型例であり、NodeBまたはNodeCとNodeAとの間でP2P通信の確立を仲介する。認証サーバCAは、各Nodeの正当性を証明するための証明書を発行する認証局である。典型的には、認証サーバCAは、公開鍵基盤(PKI:Public Key Infrastructure)に基づくデジタル署名を付した証明書を発行する。本実施の形態においては、公開鍵基盤のうち、ITU−T(International Telecommunication Union Telecommunication Standardization Sector)によって定められているX.509勧告に従う構成について例示する。
<概要>
本実施の形態に従うネットワークシステム1においては、NodeAとNodeBまたはNodeCとの間でデータを中継することで、実質的に、2つのNodeの間でP2P通信を提供する。このP2P通信のコネクションを確立する際、中継装置RSは、NodeAおよびNodeBまたはNodeCのそれぞれから証明書を取得し、両Nodeの正当性(なりすましではないこと)を検証する。そして、両Nodeが正当であることが検証されると、両Nodeの間のコネクションを確立し、セキュアな通信を提供する。
<ハードウェア構成>
図2は、本発明の実施の形態1に従うネットワークシステム1に含まれるNodeのハードウェア構成を示す概略ブロック図である。図3は、本発明の実施の形態1に従うネットワークシステム1に含まれる中継装置RSのハードウェア構成を示す概略ブロック図である。
図2を参照して、Nodeの典型例であるパーソナルコンピュータ(PC)は、オペレーティングシステムを含む各種プログラムを実行するCPU(Central Processing Unit)2と、CPU2で実行されるプログラムを不揮発的に記憶するハードディスク(HDD)12と、CPU2でのプログラムの実行に必要なデータを一時的に記憶する記憶部としてのメモリ14とを含む。このようなプログラムは、CD−ROM(Compact Disk-Read Only Memory)ドライブ16またはフレキシブルディスク(FD:Flexible Disk)ドライブ18によって、それぞれCD−ROM16aまたはフレキシブルディスク18aなどから読取られる。
CPU2は、キーボード、マウス、タブレットなどからなる入力装置10を介してユーザによる操作要求を受取るとともに、プログラムの実行によって生成される画面出力を出力装置6へ出力する。出力装置6は、CPU2で実行される各種処理結果などをユーザに表示するためのデバイスであり、典型的には、モニターやプロジェクターなどからなる。
また、CPU2は、LANカードなどからなる通信インターフェイス8を介して、中継装置RSや他のNodeとの間でデータ通信を行なう。なお、これらの部位は、内部バス4を介して互いに接続される。
図3を参照して、本実施の形態に従う中継装置RSは、PCベースの装置であり、基本的なハードウェア構成は、図2と同様である。但し、図3に示すように、中継装置RSは、2つのNode間で遣り取りされるデータを中継するために、2つの通信インターフェイス8−1,8−2を有している点が、図2に示すパーソナルコンピュータとは異なっている。
なお、図2および図3に示す中継装置RSおよびNodeの全部もしくは一部を専用のハードウェアとして実装してもよい。
<機能構成>
図4は、本発明の実施の形態1に従うネットワークシステム1に含まれるNodeの制御構造を示すブロック図である。図5は、本発明の実施の形態1に従う中継装置RSの制御構造を示すブロック図である。
まず、図4を参照して、Nodeの制御構造について説明する。各Nodeは、その制御構造として、データ送受信部102と、暗号化制御部104と、記憶部106とを含む。データ送受信部102および暗号化制御部104は、典型的には、CPU2(図2)がプログラムを実行することで提供され、記憶部106は、ハードディスク(HDD)12またはメモリ14(図2)の一部として提供される。
データ送受信部102は、通信インターフェイス8(図2)に必要な内部コマンドを与えることで、中継装置RS、認証サーバCAおよび他のNodeとの間でデータ通信を行なう。より具体的には、データ送受信部102は、自Nodeで実行されるアプリケーションなどによって生成される送信対象データを指定された宛先へ送信するとともに、他のデバイスからの受信データなどを当該アプリケーションなどへ渡す。
暗号化制御部104は、中継装置RS、認証サーバCAおよび他のNodeとの間でセキュアな通信を提供する。より具体的には、暗号化制御部104は、他のデバイスとの間でSSL(Secure Socket Layer)方式などの暗号化された状態でデータを送受信する。このSSL方式に従って暗号化通信を行なう際、後述する証明書が必要に応じて使用される。
記憶部106は、証明書110を含む各種データを記憶する。証明書110は、予め暗号化制御部104が認証サーバCAとデータ通信を行なうことで取得されているものとする。この証明書110には、自Nodeの公開鍵を認証サーバCAの秘密鍵で暗号化することで得られる署名に加えて、認証サーバCAの公開鍵および認証サーバCAの識別情報などが含まれる。
次に、図5を参照して、中継装置RSの制御構造について説明する。中継装置RSは、その制御構造として、中継制御部202と、接続判断部204と、記憶部206と、第1データ送受信部212と、第1暗号化制御部214と、第2データ送受信部222と、第2暗号化制御部224とを含む。典型的には、記憶部206は、ハードディスク(HDD)12またはメモリ14(図3)の一部として提供され、その他の部位は、CPU2(図3)がプログラムを実行することで提供される。
第1データ送受信部212は、通信インターフェイス8−1(図3)に必要な内部コマンドを与えることで、いずれかのNodeおよび認証サーバCAとの間でデータ通信を行なう。より具体的には、第1データ送受信部212は、他のデバイスからの受信データを中継制御部202へ渡すとともに、中継制御部202からの送信対象データを指定された宛先へ送信する。同様に、第2データ送受信部222は、通信インターフェイス8−2(図3)に必要な内部コマンドを与えることで、いずれかのNodeおよび認証サーバCAとの間でデータ通信を行なう。
第1暗号化制御部214は、第1データ送受信部212を制御することで、いずれかのNodeおよび認証サーバCAとの間でセキュアな通信を提供する。より具体的には、第1暗号化制御部214は、上述の暗号化制御部104と同様に、SSL方式などに従って暗号化通信を行なう。すなわち、第1暗号化制御部214は、ネットワークに接続された通信装置との間でセキュアなコネクションを確立する第1通信手段に相当する。
同様に、第2暗号化制御部224は、第2データ送受信部222を制御することで、いずれかのNodeおよび認証サーバCAとの間でセキュアな通信を提供する。すなわち、第2暗号化制御部224は、ネットワークに接続された通信装置との間でセキュアなコネクションを確立する第2通信手段に相当する。
中継制御部202は、第1データ送受信部212および第2データ送受信部222と関連付けられている。そして、中継制御部202は、接続判断部204からの指令に従って、第1データ送受信部212が受信したデータを第2データ送受信部222から目的の宛先へ送信するとともに、第2データ送受信部222が受信したデータを第1データ送受信部212から目的の宛先へ送信する。
より具体的には、中継制御部202は、送受信対象のデータを一時的に格納するためのコネクションキュー203を含む。コネクションキュー203は、第1データ送受信部212と第2データ送受信部222との間で遣り取りされるデータのためのバッファ(スプール)として機能する。なお、コネクションキュー203は、中継装置RSとの間で確立されるコネクション別に領域が用意されており、コネクション毎にFIFO(First In First Out)形式でデータの格納および読出しが制御される。
接続判断部204は、後述するように、第1データ送受信部212および第1暗号化制御部214、もしくは、第2データ送受信部222および第2暗号化制御部224を介して、いずれかの接続要求元のNodeから、2つのNode間にコネクションを確立するための要求(以下、「中継リクエスト」とも称す。)を受けると、後述するような認証処理を行なって、対象の2つのNode間にコネクションの確立を許可するか否かを判断する。接続判断部204は、対象の2つのNode間におけるコネクションの確立を許可すると判断した場合には、後述する記憶部206に格納されているコネクションテーブル230に対応関係を登録する。その後、接続判断部204は、コネクションテーブル230の登録内容に基づいて中継制御部202に指令に与える。
すなわち、接続判断部204は、2つの通信装置の間でセキュアなコネクションを確立するための要求に応答して、2つの通信装置の正当性を検証する検証手段に相当する。
記憶部206は、認証サーバCAのルート証明書232およびコネクションテーブル230を予め格納している。また、中継制御部202は、中継手段に相当し、接続判断部204によって2つの通信装置の正当性が検証された場合に限って、コネクションを介して、2つの通信装置の間でデータを中継する。
ルート証明書232は、認証サーバCAが自己の公開鍵を自己の秘密鍵で暗号化した署名を含む。すなわち、ルート証明書232は、認証サーバCAが自身の正当性を認証するために、自ら署名して発行するデジタル証明書である。なお、SSL方式に従う暗号化通信をサポートするOS(Operating System)およびブラウザは、世界的な認証サーバCAのルート証明書を予め組み込んでいるものもある。
コネクションテーブル230は、接続判断部204によってコネクションの確立が許可されたNode間の対応関係を記述する。より具体的には、コネクションテーブル230には、複数のコネクションを定義可能な領域が設けてあり、各コネクションについて、コネクションIDおよびコネクションを確立するNodeを特定する情報が記述される。なお、コネクションテーブル230は、典型的には、データベースもしくはファイル形式で保持される。
さらに、記憶部206には、中継装置RSとSSLコネクションを確立したNodeが有する証明書が格納される。図5には、典型例として、第1データ送受信部212および第1暗号化制御部214を介してSSLコネクションを確立した1番目のNodeの証明書(第1証明書216)と、第2データ送受信部222および第2暗号化制御部224を介してSSLコネクションを確立した2番目のNodeの証明書(第2証明書226)とが格納されている状態を示す。なお、中継装置RSは、複数のコネクションを保持することが可能であるので、確立されているコネクションの対応するNodeの数だけ証明書が格納される。
すなわち、接続判断部204は、コネクションの確立が要求された2つの通信装置の実体を証明する情報をそれぞれ取得する。より具体的には、この通信装置の実体を証明する情報は、ネットワークに接続された認証サーバCAがそれぞれの通信装置に対して発行した電子証明書である。
<シーケンス>
次に、図6〜図8を参照して、本実施の形態に従うネットワークシステム1において、NodeAとNodeBとの間でセキュアなデータ通信を行なう場合の手順について説明する。
図6は、本発明の実施の形態1に従うネットワークシステム1におけるシーケンス図である。なお、図6に示すシーケンス図では、NodeAがサーバ装置であり、複数のNodeからアクセスを受付けるとともに、各Nodeとの間でセキュアな通信を行なうものとする。なお、以下の説明では、図4および図5に示す制御構造のうち、その処理を実行する主体についても併せて記載する。
図7は、本発明の実施の形態1に従うSSL通信手順を示すシーケンス図である。図8は、本発明の実施の形態1に従う中継装置RSで使用されるコネクションテーブル230の一例を示す図である。
図6を参照して、まず、NodeA(図5に示す第1暗号化制御部214)は、中継装置RSとの間で複数のSSLコネクションを確立する(シーケンスSQ100)。このSSLコネクション確立処理に際して、中継装置RSとNodeAとの間で証明書が交換される。中継装置RS(第1暗号化制御部214)は、NodeAから受信したNodeAの証明書(図5に示す第1証明書216)をハードディスク(HDD)12またはメモリ14(図5に示す記憶部206)に格納する(シーケンスSQ102)。これらの確立される複数のSSLコネクションには、各々を識別するためのコネクションIDが付与されているものとする。
なお、NodeAが中継装置RSに複数のSSLコネクションを要求するタイミングは、いずれかのNodeからNodeAへの中継リクエストを受信後であってもよい。但し、予め複数のSSLコネクションを用意しておくことで、より迅速なコネクションの確立が可能となる。
ここで、SSL通信手順について説明しておく。図7を参照して、接続要求元Nodeと接続要求先Nodeとの間で一連の手順に従う処理が行なわれることで、SSLコネクションが確立される。
まず、接続要求元Nodeから接続要求先Nodeに向けて、SSLのバージョン設定が通知される(シーケンスSQ1)。このバージョン設定の通知に応答して、接続要求先Nodeは、通知されたSSLのバージョンを選択したことを応答する(シーケンスSQ2)。
すると、接続要求先Nodeは、X.509署名のチェーン(証明書)を接続要求元Nodeへ送信する(シーケンスSQ3)。このX.509署名のチェーンとは、認証サーバCAが階層構造となっており、接続要求先Nodeがルート認証サーバによって認証されておらず、その代わりに、より下層の認証サーバによってのみ認証されているような場合に、接続要求先Nodeの証明書に加えて、当該接続要求先Nodeを認証した認証サーバCAの証明書、さらに上位の認証サーバCAの証明書といった具合に、ルート認証サーバまでの一連の証明書群を意味する。そして、接続要求先Nodeは、すべての証明書の送信が完了すると、応答終了を接続要求元Nodeへ通知する(シーケンスSQ4)。
接続要求元Nodeは、接続要求先Nodeから受信したX.509署名のチェーンを検証し、検証が成功した場合に限って処理を継続する。
同様に、接続要求元Nodeは、X.509署名のチェーン(証明書)を接続要求先Nodeへ送信する(シーケンスSQ5)。接続要求元Nodeは、すべての証明書の送信が完了すると、応答終了を接続要求先Nodeへ通知する(シーケンスSQ6)。
接続要求先Nodeは、接続要求元Nodeから受信したX.509署名のチェーンを検証し、検証が成功した場合に限って処理を継続する。
さらに、接続要求元Nodeは、接続要求先Nodeへプリマスター鍵を送信する(シーケンスSQ7)。このプリマスター鍵は、接続要求元Nodeと接続要求先Nodeとの間で暗号化通信を行なうために使用する共通の暗号化鍵(セッション鍵)を生成するための情報である。接続要求元Nodeおよび接続要求先Nodeは、このプリマスター鍵を用いて、共通のセッション鍵をそれぞれ生成する。
そして、接続要求元Nodeは、暗号の切り替え完了を通知(シーケンスSQ8)した後、接続処理の終了を通知する(シーケンスSQ9)。同様に、接続要求先Nodeは、暗号の切り替え完了を通知(シーケンスSQ10)した後、接続処理の終了を通知する(シーケンスSQ11)。
以上の手順によって、SSLコネクションが確立される。
再度図6を参照して、シーケンスSQ102の後、NodeBに対するユーザ操作などに応答して、NodeB(図4に示す暗号化制御部104)は、まず、中継装置RSに対して、中継装置RSとの間でSSLコネクションの確立を要求するための接続リクエストを送信する(シーケンスSQ104)。この接続リクエストに応答して、中継装置RS(第2暗号化制御部224)およびNodeB(暗号化制御部104)は、両者の間でSSLコネクションを確立する(シーケンスSQ106)。このSSLコネクション確立処理に際して、中継装置RSとNodeBとの間で証明書が交換される。中継装置RS(第2暗号化制御部224)は、NodeBから受信したNodeBの証明書(図5に示す第2証明書226)をハードディスク(HDD)12またはメモリ14(図5に示す記憶部206)に格納する(シーケンスSQ108)。
NodeBと中継装置RSとの間のSSLコネクションの確立後、NodeB(暗号化制御部104)は、中継装置RSに対して、NodeAとの間でコネクションを確立するための中継リクエストを送信する(シーケンスSQ110)。この中継リクエストに応答して、中継装置RS(図5に示す接続判断部204)は、記憶部206に格納されている、ルート証明書232、第1証明書216および第2証明書226を用いて、証明書を検証する(シーケンスSQ112)。すなわち、中継装置RSは、正当な認証サーバCAにより認証されていることを検証するとともに、NodeAおよびNodeBの正当性(なりすましではないこと)を検証する。
より具体的には、中継装置RSは、NodeAの証明書(図5に示す第1証明書216)およびNodeBの証明書(図5に示す第2証明書226)に記述されている認証サーバCAおよび当該認証サーバCAの公開鍵が一致しているか否かを判断する。この検証処理によって、NodeAおよびNodeBが共通の認証サーバCAによって認証されているか否かが判断される。すなわち、コネクションの確立が要求されている2つの通信装置のそれぞれから取得した電子証明書の発行元が一致した場合に、これらの2つの通信装置が正当であると判断する。
さらに、中継装置RSは、NodeAの証明書に含まれるNodeAの公開鍵をルート証明書232に含まれる認証サーバCAの公開鍵を用いて暗号化することで得られる値と、NodeAの証明書(第1証明書216)に含まれる認証サーバCAの署名とが一致しているか否かを判断する。この検証処理によって、NodeAの正当性が評価される。同様に、中継装置RSは、NodeBの証明書に含まれるNodeBの公開鍵をルート証明書232に含まれる認証サーバCAの公開鍵を用いて暗号化することで得られる値と、NodeBの証明書(第2証明書226)に含まれる認証サーバCAの署名とが一致しているか否かを判断する。この検証処理によって、NodeBの正当性が評価される。
上述の証明書の検証処理が失敗した場合(シーケンスSQ112においてNGの場合)には、中継装置RS(接続判断部204)は、NodeBに対して、コネクション確立の失敗を通知するためのエラーメッセージを送信する(シーケンスSQ114)。
これに対して、上述の証明書の検証処理がすべて成功した場合(シーケンスSQ112においてOKの場合)には、中継装置RS(接続判断部204)は、記憶部206内のコネクションテーブル230の内容を更新する(シーケンスSQ116)。すなわち、シーケンスSQ100においてNodeAとの間で予め確立しておいた複数のコネクションのうち1つに対応付けて、コネクションを確立した2つのNodeを特定する識別情報を登録する。より具体的には、中継装置RSは、予め用意されている複数のコネクションIDのうち、他の既存のコネクションにおいて使用されていないコネクションIDのうち1つを選択し、この選択したコネクションIDと対応付けて、コネクションを確立した2つのNodeを示す識別情報を、コネクションテーブル230に記録する。すなわち、図6に示す例では、中継装置RSとNodeAとの間に確立されている複数のコネクションのうち、選択された1つのコネクションがNodeAとNodeBとのSSL通信用に占有される。
以下、図8を参照して、コネクションテーブル230について説明する。図8に示すコネクションテーブル230には、予めNodeAと中継装置RSとの間で確立されているSSLコネクションの数に相当するコネクションIDが定義されている。そして、各コネクションIDに対応付けて、接続Node名1および接続Node名2、ならびにタイムアウト時間が設定可能である。
たとえば、図8に示す例では、コネクションIDが「1」および「2」のコネクションについては、それぞれNodeAとNodeBとの間のデータ通信およびNodeAとNodeCの間のデータ通信に使用されることが登録されている。なお、コネクションIDが「3」のコネクションについては、解放の状態になっている。
また、接続Node名1および接続Node名2には、それぞれコネクションに関わるNodeを特定するための識別情報が登録される。さらに、図8に示すように、タイムアウト時間が設定されてもよい。このタイムアウト時間は、対応するコネクションのNode間において、所定期間に亘って何らのデータ通信も行なわれない場合に、コネクションを解放するためのしきい値である。
再度図6を参照して、中継装置RS(接続判断部204)は、NodeBに対して、NodeAとのコネクションが正常に確立されたことを通知するための中継OK応答を送信する(シーケンスSQ118)。
以上のシーケンスによって、NodeAとNodeBとの間で、SSLコネクションが確立する。以下、後述するSSLコネクションを終了するための条件が成立するまで、シーケンスSQ122〜SQ130の処理が繰返される。すなわち、中継装置RSは、SSLコネクションを終了するための条件が成立するまで、NodeAから送信されたデータのNodeBへの転送、および、NodeBから送信されたデータのNodeAへの転送を繰返す。
より具体的には、NodeB(データ送受信部102および暗号化制御部104)が中継装置RSへ向けてデータを送信する(シーケンスSQ120)と、中継装置RS(第1データ送受信部212および第1暗号化制御部214)は、受信したデータをコネクションキュー203に格納する(シーケンスSQ122)。続いて、中継装置RS(第2データ送受信部222および第2暗号化制御部224)は、コネクションキュー203に格納した順に、データをNodeAへ送信する(シーケンスSQ124)。
同様に、NodeA(データ送受信部102および暗号化制御部104)が中継装置RSへ向けてデータを送信する(シーケンスSQ126)と、中継装置RS(第2データ送受信部222および第2暗号化制御部224)は、受信したデータをコネクションキュー203に格納する(シーケンスSQ128)。続いて、中継装置RS(第1データ送受信部212および第1暗号化制御部214)は、コネクションキュー203に格納した順に、データをNodeBへ送信する(シーケンスSQ130)。
このように、本実施の形態に従う中継装置RSでは、コネクションキュー203にデータパケットが格納されると、その格納された順序に従って、データパケットが送信先へ順次送信される方法を採用している。
なお、第1データ送受信部212または第2データ送受信部222がいずれかのNodeからデータを受信すると、中継制御部202は、コネクションテーブル230を参照して、コネクションIDおよび/または接続先のNodeを特定する。そして、中継制御部202は、受信したデータを対応するコネクションキュー203へ格納する。
その後、中継装置RS(接続判断部204)は、中継終了条件が成立するか否かを判断する(シーケンスSQ132)。より具体的には、中継装置RSは、NodeAまたはNodeBからコネクションの終了要求を受けたか否か、および、コネクションのタイムアウト時間(図8参照)に達したか否かを判断する。
さらに、中継終了条件としては、コネクションを確立しているいずれかのNodeの証明書が有効期限を越えた場合、コネクションを確立しているNode間で遣り取りされるデータ量が多すぎる場合、および、中継装置RSにおいて確立しているNodeの数が所定数を超えた場合などを含めてもよい。さらに、コネクションに関与していない第三者のNodeからのコネクションの終了要求を受付けるようにしてもよい。
中継終了条件が成立していなければ(シーケンスSQ132においてNO)、シーケンスSQ118〜SQ126の処理が繰返される。
これに対して、中継終了条件が成立していれば(シーケンスSQ132においてYES)、中継装置RS(接続判断部204)は、記憶部206内のコネクションテーブル230の内容を更新する(シーケンスSQ134)。より具体的には、中継装置RSは、コネクションテーブル230に記載の内容のうち、シーケンスSQ132において中継終了条件が成立したコネクションに対応するコネクションIDのエントリを削除する。これにより、対象のNode間のデータ通信に使用されていたコネクションが解放される。なお、この解放されたコネクションは、その後、他のNode間のデータ通信に使用される。
なお、上述のシーケンスにおいては、コネクションを確立するNodeの正当性について証明書を用いて評価する構成について例示したが、証明書に代えて、もしくは、証明書に加えて、リージョンコードなどのNodeの物理的な場所を保証する情報を用いてもよい。
<作用効果>
本実施の形態に従うネットワークシステムによれば、中継装置RSとの間でそれぞれセキュアなコネクションを確立できる2つのNode間でP2P通信を行なうことができる。そのため、2つのNode間の通信経路にルータ(ファイヤウォール)などが存在する場合であっても、当該ルータを通過することのできる汎用的なプロトコル(典型的には、httpプロトコルなど)を用いて、中継装置RSとの間でセキュアな通信を確立することができれば、2つのNode間でP2P通信を行なうことができる。
したがって、2つのNodeが正当性を評価した上で、2つのNode間にコネクションを確立することができるので、通信処理量を低減しつつ、なりすましなどの不正行為を排除して、セキュアな通信を行なうことができる。
[実施の形態1の変形例1]
上述の実施の形態1においては、中継装置RSがあるNodeからのデータを目的のNodeへ転送する際に、データパケットをコネクションキューに一時的に格納して順次送信する構成について例示した。これに対して、Node間で遣り取りされるデータについてもその内容を制限するようにしてもよい。
本変形例に従うネットワークシステムの概略構成は、図1と同様であるので、詳細な説明は繰返さない。また、本変形例に従うネットワークシステムに含まれるNodeおよび中継装置RSのハードウェア構成についても、それぞれ図2および図3と同様であるので、詳細な説明は繰返さない。さらに、本変形例に従うネットワークシステムに含まれるNodeの制御構造についても、図4と同様であるので詳細な説明は繰返さない。
図9は、本発明の実施の形態1の変形例1に従う中継装置RSの制御構造を示すブロック図である。図9を参照して、本変形例に従う中継装置RSの制御構造は、図5に示す実施の形態1に従う中継装置RSの制御構造に比較して、データバッファ208が追加された点が相違する。また、中継制御部202が、データバッファ208へのデータ格納および読出しを制御するための機能を有する点においても相違する。その他の部位については、図5と同様であるので、詳細な説明は繰返さない。
データバッファ208は、第1データ送受信部212または第2データ送受信部222によって受信されたデータパケットを一時的に格納することで、元のデータに一旦復元する。すなわち、Node間で遣り取りされるデータは、所定サイズのデータパケットに分割されて送信される。そのため、データバッファ208は、あるデータを分割して得られる一連のデータパケット群を元のデータに復元できる(すなわち、最終のデータパケットの受信が完了する)まで保持する。そして、中継制御部202は、このデータバッファ208において復元されたデータを検証し、所定の条件を満たすものだけを、送信先へ転送する。一例として、中継制御部202は、送信対象のデータが実行形式のファイルであったり、スクリプトファイルであったりした場合には、Node間の中継を拒否することができる。また、送信対象のデータに所定のヘッダが含まれていない場合などにも、Node間の中継を拒否するようにしてもよい。
すなわち、コネクションを確立している2つの通信装置の少なくとも一方から送信されるデータパケットを一時的に記憶し、同一のデータから生じた一連のデータパケットを一時的に記憶して元のデータに復元した上で、当該復元したデータが検証される。
以下、これらの処理について、図10を参照してより詳細に説明する。
図10は、本発明の実施の形態1の変形例1に従うデータ転送の処理を説明するための図である。図10(a)は、上述の実施の形態1に従うデータ転送の処理を説明するための図であり、図10(b)は、上述の本変形例に従うデータ転送の処理を説明するための図である。
図10(a)に示すように、上述の実施の形態1に従う中継装置RSでは、第1データ送受信部212によって受信されるデータパケットがコネクションキュー203へ順次格納されるとともに、その格納された順序で読出されて、第2データ送受信部222へ送られる。すなわち、第1データ送受信部212によって、データパケット01、データパケット02、データパケット03、データパケット04の順で受信されたとすると、第1データ送受信部212によって、データパケット01、データパケット02、データパケット03、データパケット04の順で第2データ送受信部222へ出力される。
これに対して、本変形例に従う中継装置RSでは、図10(b)に示すように、第1データ送受信部212によって受信されるデータパケット群が、元のデータに復元されるまで、データバッファ208に格納される。すなわち、元のデータAが4つのデータパケットA−01,A−02,A−03,A−04に分割されたとすると、コネクションキュー203は、これらの4つのデータパケットがすべて受信されるまでデータパケットを格納し続ける。そして、中継制御部202がこの復元されたデータAを検証する。検証されたデータAは、コネクションキュー203に格納される。
なお、コネクションキュー203では、データAが再度所定サイズのデータパケットに分割される場合もある。これは、第2データ送受信部222によって、目的のNodeへデータ転送を行なうためである。
その他の構成および処理については、上述の実施の形態1に従うネットワークシステム1と同様であるので、詳細な説明は繰返さない。
<作用効果>
本変形例に従うネットワークシステムによれば、コネクションを確立するNodeの正当性に加えて、当該Node間で送受信されるデータの正当性をも検証することができる。そのため、Node間においてよりセキュアな通信を実現することができる。
[実施の形態1の変形例2]
上述の実施の形態1においては、対象のNodeの正当性についての検証が成功すれば、基本的に無条件にコネクションを確立する構成について例示した。これに対して、コネクションを確立できる条件(ポリシー)をより詳細に設定できるようにしてもよい。
本変形例に従うネットワークシステムの概略構成は、図1と同様であるので、詳細な説明は繰返さない。また、本変形例に従うネットワークシステムに含まれるNodeおよび中継装置RSのハードウェア構成についても、それぞれ図2および図3と同様であるので、詳細な説明は繰返さない。さらに、本変形例に従うネットワークシステムに含まれるNodeの制御構造についても、図4と同様であるので詳細な説明は繰返さない。
図11は、本発明の実施の形態1の変形例2に従う中継装置RSの制御構造を示すブロック図である。図11を参照して、本変形例に従う中継装置RSの制御構造は、図5に示す実施の形態1に従う中継装置RSの制御構造に比較して、記憶部206にポリシーテーブル234をさらに格納するように構成した点が相違する。また、接続判断部204がポリシーテーブル234を参照して、コネクションを確立するか否かを判断する機能を有する点においても相違する。その他の部位については、図5と同様であるので、詳細な説明は繰返さない。
ポリシーテーブル234には、各Node(あるいは、各Nodeの証明書)について、コネクションを確立するための条件(ポリシー)が定義されている。接続判断部204は、このポリシーテーブル234を参照して、対応する条件が満たされている場合に限って、要求されたコネクションを確立する。すなわち、予め設定した通信装置(NodeもしくはNodeの証明書)別に、コネクションを確立するための条件が満たされているか否かが判断され、2つの通信装置の正当性が検証されたことに加えて、これらの条件が満たされている場合に限って、2つの通信装置の間でデータの中継が開始される。
図12は、本発明の実施の形態1の変形例2に従うポリシーテーブル234の一例を示す図である。たとえば、各Nodeの証明書に、当該証明書を発行した認証サーバCAの識別情報、各Nodeの識別情報に含まれる共通名(Common Name)、および各Nodeが位置する情報(Location)が記述されているとする。このような証明書を利用する場合において、図12に示すポリシーテーブル234には、「CAが一致」、「CommonNameが一致」、「Locationが一致」、および「その他接続を許可する証明書」といった条件が記述されている。このポリシーテーブル234に記載の「○」は、条件を満たす必要があることを示し、「×」は、条件の成立/不成立を問わないことを意味する。
たとえば、NodeAについてみれば、NodeAの証明書を発行した認証サーバCAの識別情報とコネクション相手のNodeの証明書を発行した認証サーバCAの識別情報とが一致していること(条件1)、NodeAの証明書に含まれるCommonNameの値とコネクション相手のNodeの証明書に含まれるCommonNameの値とが一致していること(条件2)、および、NodeAの証明書に含まれるLocationの値とコネクション相手のNodeの証明書に含まれるLocationの値とが一致していること(条件3)のすべての条件が満たされる場合に、コネクションの確立が許可される。
これに対して、NodeBについてみれば、上述の条件1および2が満たされる場合に、コネクションの確立が許可される。また、NodeCについてみれば、上述の条件1のみが満たされる場合に、コネクションの確立が許可される。
なお、各Nodeについて無条件でコネクションの確立を許可するNodeがあれば、「その他接続を許可する証明書」の欄にその識別情報が登録される。いわば、ホワイトリストのような設定が可能である。
なお、上述のポリシーテーブル234を必ずしも記憶部206に格納する必要はなく、接続判断部204がアクセス可能であれば、認証サーバCAや他のNodeに存在していてもよい。
さらに、上述のポリシーテーブル234を任意に変更できるようにすることが好ましい。また、ネットワークを介して他のNodeから追記/変更できるように構成してもよい。このようなリモートでポリシーテーブル234を追記/変更するための方法としては、ブラウザのフォームやCGIを用いてユーザアクセスを受付ける方法や、FTP(File Transfer Protocol)などを用いてファイル自体を置き換える方法などを採用することができる。すなわち、ポリシーテーブル234に対する変更を受付ける手段をさらに備えるようにしてもよい。
<作用効果>
本変形例に従うネットワークシステムによれば、Node毎にコネクションを確立するためのポリシーを登録できるので、コネクションの設定をより詳細に調整することができる。一例として、複数の地域の別に製品(たとえば、アメリカ用の製品とヨーロッパ用の製品)とを製造販売するような会社を考えると、共通の認証サーバCAによって証明書が発行されていたとしても、アメリカ用の製品がインストールされたNodeと、ヨーロッパ用の製品がインストールされたNodeとの間では通信が許可されないといった使用形態が考えられる。また、アメリカ用の製品についてのサポート用のサーバ装置とヨーロッパ用の製品についてのサポート用のサーバ装置とを用意しておき、それぞれの製品がインストールされたNodeからは、対応する一方のサーバ装置へのアクセスしか許可されないといった形態も考えられる。このような使用形態は、図12に示すポリシーテーブル234に記述された、共通名(Common Name)および位置情報(Location)などを用いることで実現できる。
また、ネットワークを介してポリシーテーブル234を設定/変更できるようにすることで、中継装置RSなどが遠い場所に設置されていたとしても、タイムリーにその内容を登録することができる。これにより、不正アクセスやスパムメール送信など、セキュリティ上の問題が起こつた場合などに、即座に処置を施すことができる。
[実施の形態2]
上述の実施の形態1においては、中継装置RSがNode間のコネクション確立の許否を判断する構成について例示したが、このコネクション確立の許否を判断するための構成要素を中継装置RS以外のNodeに設けてもよい。以下に示す本実施の形態においては、特定のNodeにコネクション確立の許否を判断するための構成要素が存在するシステムについて例示する。
本実施の形態に従うネットワークシステムの概略構成は、図1と同様であるので、詳細な説明は繰返さない。また、本実施の形態に従うネットワークシステムに含まれるNodeおよび中継装置RSのハードウェア構成についても、それぞれ図2および図3と同様であるので、詳細な説明は繰返さない。
<制御構造>
図13は、本発明の実施の形態2に従う中継装置RSの制御構造を示すブロック図である。図14は、本発明の実施の形態2に従うネットワークシステムに含まれるNodeAの制御構造を示すブロック図である。
図13に示す中継装置RSは、図5に示す実施の形態1に従う中継装置RSにおいて、接続判断部204を削除したものに相当する。すなわち、本実施の形態に従う中継装置RSは、Node間にコネクションを確立するか否かの判断を行なわず、後述するように、NodeAからの判断結果に従って、Node間にコネクションを確立する。
なお、Node間のデータ転送機能については、上述の実施の形態1に従う中継装置RSのデータ転送機能と同様である。その他の部位については、図5に示す中継装置RSの対応する部位と同様であるので、詳細な説明は繰返さない。
図14に示すNodeAは、図4に示す実施の形態1に従うNodeにおいて、接続判断部120を追加した上で、記憶部106に、自Node証明書112、ルート証明書122、他Node証明書124を格納するようにしたものに相当する。図14に示す接続判断部120の機能は、図5に示す中継装置RSの接続判断部204とほぼ同様である。また、自Node証明書112は、NodeAの証明書であり、他Node証明書124は、コネクション要求元のNodeの証明書である。また、ルート証明書122は、認証サーバCAが自身の正当性を認証するために、自ら署名して発行するデジタル証明書である。その他の部位については、図4に示すNodeの対応する部位と同様であるので、詳細な説明は繰返さない。
また、発明の実施の形態2に従うネットワークシステムに含まれるNodeBおよびNodeCの制御構造については、図4に示す実施の形態1に従うNodeの制御構造と同様であるものとする。
<シーケンス>
次に、図15を参照して、本実施の形態に従うネットワークシステムにおいて、NodeAとNodeBとの間でセキュアなデータ通信を行なう場合の手順について説明する。
図15は、本発明の実施の形態2に従うネットワークシステムにおけるシーケンス図である。なお、図15に示すシーケンス図では、NodeAがサーバ装置であり、複数のNodeからアクセスを受付けるとともに、各Nodeとの間でセキュアな通信を行なうものとする。なお、以下の説明では、図4、図13および図14に示す制御構造のうち、その処理を実行する主体についても併せて記載する。
図15を参照して、まず、NodeA(図14に示す第1暗号化制御部214)は、中継装置RSとの間で複数のSSLコネクションを確立する(シーケンスSQ200)。これらの確立される複数のSSLコネクションには、各々を識別するためのコネクションIDが付与されているものとする。なお、上述のSSLコネクションの確立手順については、上述の図7と同様であるので、詳細な説明は繰返さない。
また、NodeAが中継装置RSに複数のSSLコネクションを要求するタイミングは、いずれかのNodeからNodeAへの中継リクエストを受信後であってもよい。但し、予め複数のSSLコネクションを用意しておくことで、より迅速なコネクションの確立が可能となる。
続いて、NodeBに対するユーザ操作などに応答して、NodeB(図4に示す暗号化制御部104)は、まず、中継装置RSに対して、中継装置RSとの間でSSLコネクションの確立を要求するための接続リクエストを送信する(シーケンスSQ202)。この接続リクエストに応答して、中継装置RS(第2暗号化制御部224)およびNodeB(暗号化制御部104)は、両者の間でSSLコネクションを確立する(シーケンスSQ204)。このSSLコネクション確立処理に際して、中継装置RSとNodeBとの間で証明書が交換される。中継装置RS(第2暗号化制御部224)は、NodeBから受信したNodeBの証明書(図13に示す第2証明書226)をハードディスク(HDD)12またはメモリ14(図13に示す記憶部206)に格納する(シーケンスSQ206)。
NodeBと中継装置RSとの間のSSLコネクションの確立後、NodeB(暗号化制御部104)は、中継装置RSに対して、NodeAとの間でコネクションを確立するための中継リクエストを送信する(シーケンスSQ208)。この中継リクエストに応答して、中継装置RS(図13に示す中継制御部202)は、NodeBからの中継リクエストとともに、記憶部206に格納されているNodeBの証明書(図13に示す第2証明書226)をNodeAへ送信する(シーケンスSQ210)。
NodeA(図14に示す接続判断部120)は、中継装置RSから受信したNodeBの証明書を他Node証明書124としてハードディスク(HDD)12またはメモリ14(図14に示す記憶部106)に格納する。そして、NodeA(接続判断部120)は、記憶部106に格納されている、自Node証明書112、他Node証明書124、および、ルート証明書122を用いて、証明書を検証する(シーケンスSQ212)。すなわち、NodeAは、正当な認証サーバCAにより認証されていることを検証するとともに、NodeAおよびNodeBの正当性(なりすましではないこと)を検証する。
より具体的には、NodeAは、NodeAの証明書(図14に示す自Node証明書112)およびNodeBの証明書(図14に示す他Node証明書124)に記述されている認証サーバCAおよび当該認証サーバCAの公開鍵が一致しているか否かを判断する。この検証処理によって、NodeAおよびNodeBが共通の認証サーバCAによって認証されているか否かが判断される。
さらに、NodeAは、他Node証明書124に含まれるNodeBの公開鍵をルート証明書122に含まれる認証サーバCAの公開鍵を用いて暗号化することで得られる値と、NodeBの証明書(他Node証明書124)に含まれる認証サーバCAの署名とが一致しているか否かを判断する。この検証処理によって、NodeBの正当性が評価される。
上述の証明書の検証処理が失敗した場合には、NodeAは、中継装置RSを介して、コネクション確立の失敗を通知するためのエラーメッセージをNodeBへ送信する。
これに対して、上述の証明書の検証処理がすべて成功した場合(シーケンスSQ212においてOKの場合)には、NodeA(接続判断部120)は、中継装置RSに対して、NodeAとのコネクションが正常に確立されたことを通知するための中継OK応答を送信する(シーケンスSQ214)。
この中継OK応答を受けて、中継装置RS(中継制御部202)は、NodeBに対して、NodeAとのコネクションが正常に確立されたことを通知するための中継OKを送信する(シーケンスSQ216)。同時に、中継装置RS(中継制御部202)は、記憶部206内のコネクションテーブル230の内容を更新し、中継処理を開始する(シーケンスSQ218)。すなわち、シーケンスSQ200においてNodeAとの間で予め確立しておいた複数のコネクションのうち1つに対応付けて、コネクションを確立した2つのNodeを特定する識別情報を登録する。
以上のシーケンスによって、NodeAとNodeBとの間で、SSLコネクションが確立する。以下、後述するSSLコネクションを終了するための条件が成立するまで、シーケンスSQ220〜SQ230の処理が繰返される。すなわち、中継装置RSは、SSLコネクションを終了するための条件が成立するまで、NodeAから送信されたデータのNodeBへの転送、および、NodeBから送信されたデータのNodeAへの転送を繰返す。
より具体的には、NodeB(図4に示すデータ送受信部102および暗号化制御部104)が中継装置RSへ向けてデータを送信する(シーケンスSQ220)と、中継装置RS(図13に示す第1データ送受信部212および第1暗号化制御部214)は、受信したデータをコネクションキュー203に格納する(シーケンスSQ222)。続いて、中継装置RS(図13に示す第2データ送受信部222および第2暗号化制御部224)は、コネクションキュー203に格納した順に、データをNodeAへ送信する(シーケンスSQ224)。
同様に、NodeA(図1に示すデータ送受信部102および暗号化制御部104)が中継装置RSへ向けてデータを送信する(シーケンスSQ226)と、中継装置RS(第2データ送受信部222および第2暗号化制御部224)は、受信したデータをコネクションキュー203に格納する(シーケンスSQ228)。続いて、中継装置RS(第1データ送受信部212および第1暗号化制御部214)は、コネクションキュー203に格納した順に、データをNodeBへ送信する(シーケンスSQ230)。
このように、本実施の形態に従う中継装置RSでは、コネクションキュー203にデータパケットが格納されると、その格納された順序に従って、データパケットが送信先へ順次送信される方法を採用している。
上述のシーケンスSQ220〜SQ230の処理は、中継終了条件が成立するまで繰返される。
その他の処理内容については、上述の実施の形態1と同様であるので、詳細な説明は繰返さない。
なお、実施の形態2についても、上述の実施の形態1に従う変形例を適用することができる。
<作用効果>
本実施の形態に従うネットワークシステムにおいては、中継装置RSではなく、接続要求先のNodeが接続要求元のNodeの正当性を直接的に検証することができる。これにより、より信頼性の高い検証を行なうことができる。
また、Nodeおよび中継装置RSとは別に設けられたASP(Application Service Provider)に、Nodeの正当性の評価を行なわせることができる。これにより、中継装置RSの構成および処理を簡素化できる。さらに、Nodeの正当性を評価する部分を一元化することで、上述したポリシーなどの設定を一括して管理することも可能となる。
[その他の実施の形態]
上述のフローで説明したような制御を実行させるプログラムを任意の方法で提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、CD−ROM(Compact Disk-Read Only Memory)、ROM(Read Only Memory)、RAM(Random Access Memory)およびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
このようなプログラムは、コンピュータのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本実施の形態に従うプログラムに含まれ得る。
また、本実施の形態に従うプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本実施の形態に従うプログラムに含まれ得る。
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 ネットワークシステム、4 内部バス、6 出力装置、8,8−1,8−2 通信インターフェイス、10 入力装置、14 メモリ、16 CD−ROMドライブ、18 FDドライブ、102 データ送受信部、104 暗号化制御部、106 記憶部、120 接続判断部、202 中継制御部、203 コネクションキュー、204 接続判断部、206 記憶部、208 データバッファ、212 データ送受信部、214 暗号化制御部、222 データ送受信部、224 暗号化制御部、230 コネクションテーブル、234 ポリシーテーブル、310,320,330 ローカル環境、312,322,332 ルータ、324,334 ローカルネットワーク、340 グローバルネットワーク、RS 中継装置。

Claims (11)

  1. ネットワークに接続される通信処理装置であって、
    前記ネットワークに接続された第1通信装置との間でセキュアなコネクションを確立する第1通信手段と、
    前記ネットワークに接続された第2通信装置との間でセキュアなコネクションを確立する第2通信手段と、
    前記第1通信装置と前記第2通信装置との間でセキュアなコネクションを確立するための要求に応答して、前記第1通信装置および前記第2通信装置の正当性を検証する検証手段と、
    前記第1通信装置および前記第2通信装置の正当性が検証された場合に限って、前記コネクションを介して、前記第1通信装置と前記第2通信装置との間でデータを中継する中継手段とを備え
    前記検証手段は、
    前記第1通信装置から、前記ネットワークに接続された認証サーバが前記第1通信装置に対して発行した電子証明書を取得する手段と、
    前記第2通信装置から、前記認証サーバが前記第2通信装置に対して発行した電子証明書を取得する手段とを含み、
    前記検証手段は、前記第1通信装置から取得した電子証明書の発行元と、前記第2通信装置から取得した電子証明書の発行元とが一致した場合に、前記第1通信装置および前記第2通信装置が正当であると判断する、通信処理装置。
  2. 前記検証手段は、
    予め設定した通信装置別のコネクションを確立するための条件が満たされているか否かを判断し、
    前記第1通信装置および前記第2通信装置の正当性が検証されたことに加えて、前記条件が満たされている場合に、前記第1通信装置と前記第2通信装置との間でのデータの中継を開始する、請求項1に記載の通信処理装置。
  3. 前記条件に対する変更を受付ける手段をさらに備える、請求項に記載の通信処理装置。
  4. 前記中継手段は、
    前記第1通信装置および前記第2通信装置の少なくとも一方から送信されるデータパケットを一時的に記憶する手段と、
    同一のデータから生じた一連のデータパケットを一時的に記憶して元のデータに復元した上で、当該復元したデータを検証する手段とを含む、請求項1〜3のいずれか1項に記載の通信処理装置。
  5. 通信処理装置および複数の通信装置が接続されたネットワークにおける通信方法であって、
    前記通信処理装置と第1通信装置との間でセキュアなコネクションを確立するステップと、
    前記通信処理装置と第2通信装置との間でセキュアなコネクションを確立するステップと、
    前記第1通信装置と前記第2通信装置との間でセキュアなコネクションを確立するための要求に応答して、前記ネットワーク上の前記通信処理装置に存在する検証手段が前記第1通信装置および前記第2通信装置の正当性を検証するステップと、
    前記第1通信装置および前記第2通信装置の正当性が検証された場合に限って、前記通信処理装置が、前記コネクションを介して、前記第1通信装置と前記第2通信装置との間でデータを中継するステップとを備え
    前記検証するステップは、
    前記通信処理装置が、前記第1通信装置から、前記ネットワークに接続された認証サーバが前記第1通信装置に対して発行した電子証明書を取得するステップと、
    前記通信処理装置が、前記第2通信装置から、前記認証サーバが前記第2通信装置に対して発行した電子証明書を取得するステップと、
    前記検証手段が、前記第1通信装置から取得した電子証明書の発行元と、前記第2通信装置から取得した電子証明書の発行元とが一致した場合に、前記第1通信装置および前記第2通信装置が正当であると判断するステップとを含む、通信方法。
  6. 通信処理装置および複数の通信装置が接続されたネットワークにおける通信方法であって、
    前記通信処理装置と第1通信装置との間でセキュアなコネクションを確立するステップと、
    前記通信処理装置と第2通信装置との間でセキュアなコネクションを確立するステップと、
    前記第1通信装置と前記第2通信装置との間でセキュアなコネクションを確立するための要求に応答して、前記ネットワーク上の前記第1通信装置に存在する検証手段が前記第1通信装置および前記第2通信装置の正当性を検証するステップと、
    前記第1通信装置および前記第2通信装置の正当性が検証された場合に限って、前記通信処理装置が、前記コネクションを介して、前記第1通信装置と前記第2通信装置との間でデータを中継するステップとを備え
    前記検証するステップは、
    前記通信処理装置が、前記第2通信装置から、前記ネットワークに接続された認証サーバが前記第2通信装置に対して発行した電子証明書を取得するステップと、
    前記通信処理装置が、前記第2通信装置から取得した電子証明書を前記第1通信装置へ転送するステップと、
    前記検証手段が、前記認証サーバが前記第1通信装置に対して発行した電子証明書の発行元と、前記通信処理装置から転送された前記第2通信装置の電子証明書の発行元とが一致した場合に、前記第1通信装置および前記第2通信装置が正当であると判断するステップとを含む、通信方法。
  7. 前記検証するステップは、
    予め設定した通信装置別のコネクションを確立するための条件が満たされているか否かを判断するステップと、
    前記第1通信装置および前記第2通信装置の正当性が検証されたことに加えて、前記条件が満たされている場合に、前記第1通信装置と前記第2通信装置との間でのデータの中継を開始するステップとを含む、請求項6に記載の通信方法。
  8. 前記条件に対する変更を受付けるステップをさらに備える、請求項7に記載の通信方法。
  9. 前記中継するステップは、
    前記第1通信装置および前記第2通信装置の少なくとも一方から送信されるデータパケットを一時的に記憶するステップと、
    同一のデータから生じた一連のデータパケットを一時的に記憶して元のデータに復元した上で、当該復元したデータを検証するステップとを含む、請求項6〜8のいずれか1項に記載の通信方法。
  10. ネットワークに接続される通信処理装置で実行される通信処理プログラムであって、前記通信処理装置を、
    前記ネットワークに接続された第1通信装置との間でセキュアなコネクションを確立する第1通信手段と、
    前記ネットワークに接続された第2通信装置との間でセキュアなコネクションを確立する第2通信手段と、
    前記第1通信装置と前記第2通信装置との間でセキュアなコネクションを確立するための要求に応答して、前記第1通信装置および前記第2通信装置の正当性を検証する検証手段と、
    前記第1通信装置および前記第2通信装置の正当性が検証された場合に限って、前記コネクションを介して、前記第1通信装置と前記第2通信装置との間でデータを中継する中継手段として機能させ
    前記検証手段は、
    前記第1通信装置から、前記ネットワークに接続された認証サーバが前記第1通信装置に対して発行した電子証明書を取得する手段と、
    前記第2通信装置から、前記認証サーバが前記第2通信装置に対して発行した電子証明書を取得する手段とを含み、
    前記検証手段は、前記第1通信装置から取得した電子証明書の発行元と、前記第2通信装置から取得した電子証明書の発行元とが一致した場合に、前記第1通信装置および前記第2通信装置が正当であると判断する、通信処理プログラム。
  11. 前記検証手段は、
    予め設定した通信装置別のコネクションを確立するための条件が満たされているか否かを判断し、
    前記第1通信装置および前記第2通信装置の正当性が検証されたことに加えて、前記条件が満たされている場合に、前記第1通信装置と前記第2通信装置との間でのデータの中継を開始する、請求項10に記載の通信処理プログラム。
JP2009187400A 2009-08-12 2009-08-12 通信処理装置、通信方法および通信処理プログラム Expired - Fee Related JP5218329B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009187400A JP5218329B2 (ja) 2009-08-12 2009-08-12 通信処理装置、通信方法および通信処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009187400A JP5218329B2 (ja) 2009-08-12 2009-08-12 通信処理装置、通信方法および通信処理プログラム

Publications (2)

Publication Number Publication Date
JP2011041061A JP2011041061A (ja) 2011-02-24
JP5218329B2 true JP5218329B2 (ja) 2013-06-26

Family

ID=43768364

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009187400A Expired - Fee Related JP5218329B2 (ja) 2009-08-12 2009-08-12 通信処理装置、通信方法および通信処理プログラム

Country Status (1)

Country Link
JP (1) JP5218329B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150261810A1 (en) * 2014-03-13 2015-09-17 Electronics And Telecommunications Research Institute Data transfer apparatus and method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4526809B2 (ja) * 2003-03-31 2010-08-18 株式会社リコー 通信装置の製造方法及び製造システム
JP2009055418A (ja) * 2007-08-28 2009-03-12 Nec Corp 通信システム、中継装置、端末、及び中継処理方法並びにそのプログラム
JP4838785B2 (ja) * 2007-11-06 2011-12-14 三菱重工業株式会社 ガスタービンの運転制御装置および運転制御方法

Also Published As

Publication number Publication date
JP2011041061A (ja) 2011-02-24

Similar Documents

Publication Publication Date Title
US7680878B2 (en) Apparatus, method and computer software products for controlling a home terminal
JP4777729B2 (ja) 設定情報配布装置、方法、プログラム及び媒体
CN101371550B (zh) 自动安全地向移动通信终端的用户供给在线服务的服务访问凭证的方法和系统
JP4101839B2 (ja) セッション制御サーバ及び通信システム
US7937749B2 (en) Method and system for managing network
JP5476866B2 (ja) 通信装置、通信方法、通信用プログラムおよび通信システム
US20070255784A1 (en) Communication System for Use in Communication Between Communication Equipment by Using Ip Protocol
US8498617B2 (en) Method for enrolling a user terminal in a wireless local area network
JP4299621B2 (ja) サービス提供方法、サービス提供プログラム、ホスト装置、および、サービス提供装置
JP4870427B2 (ja) デジタル証明書交換方法、端末装置、及びプログラム
JP4332071B2 (ja) クライアント端末、ゲートウエイ装置、及びこれらを備えたネットワークシステム
WO2009082950A1 (fr) Procédé, dispositif et système de distribution de clés
JP7187209B2 (ja) 情報処理装置、その制御方法とそのプログラム
JP5218329B2 (ja) 通信処理装置、通信方法および通信処理プログラム
JP2009217722A (ja) 認証処理システム、認証装置、管理装置、認証処理方法、認証処理プログラムおよび管理処理プログラム
JP4555311B2 (ja) トンネル通信システム、制御装置およびトンネル通信装置
JP4619059B2 (ja) 端末装置、ファイアウォール装置、及びファイアウォール装置制御のための方法、並びにプログラム
JP2005175992A (ja) 証明書配布システムおよび証明書配布方法
JP4584776B2 (ja) ゲートウェイ装置およびプログラム
JP4736722B2 (ja) 認証方法、情報処理装置、およびコンピュータプログラム
JP5302665B2 (ja) 認証サーバ提示方法、サービス提供システム、サービス提供装置、およびサービス提供プログラム
JP5729057B2 (ja) 通信装置、通信システムおよびプログラム
JP5293070B2 (ja) ネットワーク対応画像形成装置及びプログラム
JP7458470B2 (ja) 通信制御装置
JP2008160497A (ja) 通信システムおよび通信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130104

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: 20130205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130218

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160315

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees