JP4483786B2 - 暗号化通信方法 - Google Patents

暗号化通信方法 Download PDF

Info

Publication number
JP4483786B2
JP4483786B2 JP2005516990A JP2005516990A JP4483786B2 JP 4483786 B2 JP4483786 B2 JP 4483786B2 JP 2005516990 A JP2005516990 A JP 2005516990A JP 2005516990 A JP2005516990 A JP 2005516990A JP 4483786 B2 JP4483786 B2 JP 4483786B2
Authority
JP
Japan
Prior art keywords
address
communication
encrypted
node device
name resolution
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
JP2005516990A
Other languages
English (en)
Other versions
JPWO2005069532A1 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2005069532A1 publication Critical patent/JPWO2005069532A1/ja
Application granted granted Critical
Publication of JP4483786B2 publication Critical patent/JP4483786B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、不特定多数のノードが接続されているオープンなネットワーク上において特定のグループに属する複数のノード間で相互にセキュアな通信を行う暗号化通信方法、暗号化通信システム、ノード装置及び暗号化通信プログラムに関する。
従来より、RFC2401やRFC3546等に記載されているように、不特定多数のノードが接続されているオープンなネットワーク(インターネット、公衆ホットスポットなど)上において、ノード、サーバ、ゲートウェイ装置などのノード間で通信を暗号化し、外部の第3者が通信内容を覗き見ることができないセキュアな通信路を提供するために、種々の暗号化通信方法が利用されている。
この種の暗号化通信方法を実現する通信暗号化プロトコルの例としては、暗号化するレイヤによって、以下のように大別される。
○レイヤ4(トランスポートレイヤ)以上
SSL(Secure Socket Layer)、TLS(Transport Layer Security)、SSH(Secure Shell)
○レイヤ3(ネットワークレイヤ)以下
IPsec、L2TP(Layer 2 Tunneling Protocol ) over IPsec、Ethernet(登録商標) over IPsec
これらの通信暗号化プロトコルを利用し、他のノードと暗号化された通信を行う場合、従来の暗号化通信方法は、通信暗号化の形態により以下の3つに分類できる。
(1)Webブラウザや電子メールアプリケーションなどの個々のアプリケーションにおいて通信暗号化を行う形態
(2)通信暗号化モジュールを利用して通信暗号化を行う形態
(3)OS(Operating System)のカーネル部が提供する機能を利用して通信暗号化を行う形態
形態(1)の暗号化通信方法の場合、前述したレイヤ4以上の通信暗号化プロトコルが利用される。例えば、“example.com”のドメインネームをもつ通信相手に対して、HTTP(Hyper Text Transfer Protocol)通信を暗号化したい場合、Webブラウザにおいて、“https://example.com/index.html”などのURL(Universal Resource Locator)を入力し、通信相手とのHTTP通信をSSLで暗号化する。このような通信暗号化形態は、当然ながら、アプリケーションが通信暗号化プロトコルをサポートしない限り利用することが出来ない。
形態(2)の通信暗号化モジュールを利用して通信暗号化を行う場合、主に前述したレイヤ4以上の通信暗号化プロトコルが利用される。通信暗号化モジュールは、独立したプロセスとして動作し、アプリケーションと通信相手とが送受信するデータパケットをインターセプトし、暗号化/復号化を行った後に通信相手/アプリケーションに送信する。通信暗号化モジュールの例としては、任意のTCP(Transport Control Protocol)コネクションをSSL暗号化するstunnelや、任意のTCPコネクションをSSHで暗号化トンネリングを行うSSHポートフォワーディングなどがある。
この形態(2)の通信暗号化方法では、形態(3)の通信暗号化方法と同様に、アプリケーションが通信暗号化プロトコルをサポートしているかどうかに依存することなく通信を暗号化することができるため、任意のアプリケーションの通信を暗号化することができる。さらに、この通信暗号化の形態においては、形態(3)の通信暗号化方法と異なりアプリケーションを意識した通信の暗号化が可能であり、特定のアプリケーションに関する通信のみ暗号化を行うといったことが可能である。
この形態(2)の通信暗号化方法による通信暗号化処理の概要を図10に示す。通信暗号化モジュールA13xは、通信の暗号化処理を行う通信暗号化部A131xと暗号化通信の対象ノード(以下、暗号化通信対象ノードと称す)C1のアドレスと暗号化通信路設定情報の組が唯一登録された暗号化通信路設定テーブルA132xとを含み、それ自体が独立したプロセスとして動作する。通信暗号化モジュールA13xにおいてアプリケーションA11xの送信したデータパケットに対して通信暗号化処理を行うためには、アプリケーションA11xがデータパケットを通信暗号化モジュールA13xに一旦渡し、必要な暗号化処理を行った後に、通信暗号化モジュールA13xがデータパケットを本来の通信相手へ送信する、という手順がとられる。そのため、アプリケーションA11xにおいては、通信相手として直接本来の通信相手のIPアドレスを指定するのではなく、ループバックアドレスである127.0.0.1(および必要に応じてプロセス(通信暗号化モジュール)の受信ポート番号)を宛先アドレスとして指定してデータパケットを送信し、通信暗号化モジュールA13xがデータパケットを受信できるようにする。通信暗号化モジュールA13xは、アプリケーションA11xからデータパケットを受信すると、通信暗号化部A131xの暗号・復号化処理部A1311xにより暗号化通信路設定テーブルA132xを参照し、予め設定されている通信相手(図10では、IPアドレス1.2.3.4のノード)に対して、暗号化通信路設定情報に従ってデータパケットを暗号化し(図10では、プロトコル:SSL、暗号化アルゴリズム:DES、電子証明書ID:11を利用する)、アドレス変換部A1312xにより宛て先をIPアドレス1.2.3.4に書き換えて送信する。
なお、本形態(2)の暗号化通信方法では、図10に示したようにクライアントノードA1xが内部に通信暗号化モジュールA13xを含む構成以外に、通信暗号化モジュールが通信暗号化プロキシノードとして外部のノードにおいて提供されている構成もある。この場合、アプリケーションはこの外部ノードのIPアドレスを宛先アドレスに指定してデータパケットを送信する。通信暗号化モジュールは受信したデータパケットに対して必要な暗号化処理を行った後、予め設定された通信相手(暗号化通信対象ノードのIPアドレスが指定される)へとデータパケットを送信する。
形態(3)のOSのカーネル部が提供する機能を利用して通信暗号化を行う暗号化通信方法の場合、主に前述したレイヤ3以下の通信暗号化プロトコルが利用される。例えば、1.2.3.4というIPアドレスをもつ通信相手との間で全てのIPパケットを暗号化したい場合、OSの設定において通信相手(IPアドレス=1.2.3.4)との間にトランスポートモードまたはトンネリングモードでのIPsec設定を行う。
この形態(3)の暗号化通信方法では、形態(2)の暗号化通信方法と同様にアプリケーションが通信暗号化プロトコルをサポートしているかどうかに依存することなく通信を暗号化することができるため、任意のアプリケーションの通信を暗号化することができる。ただし本通信暗号化の形態(3)においては一般的に、形態(2)の暗号化通信方法と異なりアプリケーションを意識することなく、予め設定されたIPアドレスを持つ通信相手との通信が全て暗号化されるため、特定のアプリケーションに関する通信のみ暗号化を行うといったことはできない。
この形態(3)の暗号化通信方法における通信暗号化処理の概要を図11に示す。通信の暗号化処理を行う通信暗号化部A141yと暗号化通信対象ノードのアドレスおよび暗号化通信路の設定情報が登録された暗号化通信路設定テーブルA142yは、OSのカーネル部内のデータ送受信部A14yに含まれる。アプリケーションA11xが送信する全てのデータパケットは送信処理のためデータ送受信部A14yに渡され、データ送受信部A14y内の通信暗号化部A141yが、データパケットの宛先アドレスを元に暗号化通信路設定テーブルA142yを参照し、宛先アドレスが暗号化通信対象ノードとして登録されている場合(図11においては宛先アドレスが1.2.3.4、5.6.7.8の場合)は、登録されている暗号化通信路設定情報(図11においては、例えばプロトコル:IPSec、暗号化アルゴリズム:DES、電子証明書ID:11)に従って、暗号化処理を行い通信相手に送信する。
前述したOSが提供する通信暗号化機能を利用した暗号通信方法は、アプリケーションが通信暗号化プロトコルをサポートしているかどうかに依存することなく通信暗号化を実現することができ、かつ、前述した通信暗号化モジュールを利用する暗号化通信方法とは異なり、暗号化通信を行う相手(以下、暗号化通信対象ノードと称す)のIPアドレスを予め複数設定することで、複数の通信相手と暗号化通信を行うことが可能である。しかしながら、暗号化通信対象ノードの設定のためのコストが大きいという問題点がある。以下、この問題点について詳述する。
インターネットのような不特定多数のノードが接続されているオープンなネットワークにおいて、複数の通信相手と暗号化通信を行う場合、どの通信相手が暗号化通信対象ノードなのかを指定する必要がある。IPネットワークにおいて相手ノードを示す識別子としては、ドメインネームとIPアドレスがある(ドメインネームによって相手を指定する場合は、DNS(Domain Name System)によってドメインネームに対応するIPアドレスの解決を行う必要がある)。しかしながら、通信相手の指定にこれらの識別子を利用することは以下の理由により不可能である。
○IPアドレス
暗号化通信対象ノードの数が多い場合、相手のIPアドレスの数だけ設定を行わなければならないため、その設定は非常にコストがかかる。IPアドレス範囲(IPアドレススコープとも言う。例えば192.168.1.0/24等)を利用することで、複数の暗号化通信対象ノードの設定を集約することは可能だが、この場合、集約できるのは当然ながら共通のIPアドレス範囲に属する暗号化通信対象ノードの設定に限られる。このため、IPアドレスに依らずに、任意の暗号化通信対象ノードによってグループを構成し、グループ単位で設定を集約するといったことは出来ない。また、一般的にノードのIPアドレスはDHCPなどの機構によって動的に変化することがあるため、相手ノードのIPアドレスの変化に対応して設定を動的に変えるのは非現実的である。
○ドメイン名
ドメイン名による指定が可能であれば、暗号化通信対象ノードのIPアドレスがDHCPなどの機構によって動的に変化したとしても、設定を変更する必要はない。さらに、ドメイン名条件(ドメインサフィックスやドメインプレフィックスなど)による指定が可能であれば、ネットワーク上の位置に拠らずに、任意の暗号化通信対象ノードによってグループを構成し、グループ単位で設定を集約するといったことが可能となる。
ここで、OSのカーネル部に含まれる通信暗号化部(図11におけるA141y)はデータパケットに含まれる情報から通信相手のノード種別を判断するが、アプリケーションが送信するデータパケットには、一般的にドメイン名は含まれない。このため、暗号化通信を行うべき相手の指定にドメイン名を用いることは従来技術では不可能である。場合によっては、データパケットのレイヤ7のヘッダ部分(HTTPのRequestヘッダ等)やデータグラム内部に、通信相手のドメイン名が含まれることがあるが、これらの情報に基づいて通信相手識別を行うためには、通信暗号化モジュールにおいて個々のアプリケーションに特化した機能拡張が必要となるため非現実的である。
本発明の目的は、OSが提供する通信暗号化機能を利用して複数の通信相手と暗号化通信を行う場合の暗号化通信対象ノードの設定コストを低減することにある。
本発明の別の目的は、暗号化通信対象ノードの設定において、設定項目や設定手順の数が暗号化通信対象ノードの数やIPアドレス、グループを構成するノードの変更頻度に依存しない(すなわち設定コストが一定となる)ようにすることにある。
このような目的を達成するために、本発明の暗号化通信方法は、
a)通信方式解決部が、ネットワークに接続されたノード装置と通信を行うアプリケーションが前記ノード装置のIPアドレスを解決するために送信する名前解決クエリ及びその応答である名前解決応答の何れかに含まれるドメイン名に基づいて、前記ノード装置が暗号化通信対象ノードかどうかを判定するステップ、
b)暗号化通信路設定部が、前記ノード装置が暗号化通信対象ノードである場合に、前記ノード装置のIPアドレスを暗号化通信路設定テーブルに登録するステップ、
c)名前解決クエリ・応答送受信部が、前記名前解決応答に含まれる前記ノード装置のIPアドレスを前記アプリケーションに送信するステップ、
d)前記アプリケーションが、宛先アドレスに前記ノード装置のIPアドレスが設定されたデータパケットを送信するステップ、
e)データ送受信部が、前記アプリケーションより送信された前記データパケットを受信し、前記データパケットの宛先アドレスに設定された通信相手IPアドレスが前記暗号化通信路設定テーブルに登録されていた場合に、前記データパケットを暗号化して送信するステップ、
を備えることを特徴とする。
また、本発明の暗号化通信方法は、
a)通信方式解決部が、クライアントノード上のアプリケーションがこのアプリケーションの通信対象である他のノード装置のIPアドレスを解決するために送信する名前解決クエリ及びその応答である名前解決応答の何れかに含まれるドメイン名に基づいて、前記他のノード装置が暗号化通信対象ノードかどうかを判定するステップ、
b)暗号化通信路設定部が、前記他のノード装置が暗号化通信対象ノードである場合に、前記他のノード装置のIPアドレスと他の通信セッションで使用されていないインターセプト用アドレスとの対応を暗号化通信路設定テーブルに登録するステップ、
c)名前解決クエリ・応答送受信部が、前記名前解決応答に含まれる前記他のノード装置のIPアドレスに対応するインターセプト用アドレスを名前解決応答として前記アプリケーションに送信するステップ、
d)前記アプリケーションが、宛先アドレスに前記インターセプト用アドレスが設定されたデータパケットを送信するステップ、
e)データ送受信部が、前記アプリケーションより送信された前記データパケットを受信し、前記データパケットの宛先アドレスに設定されたインターセプト用アドレスに対応する通信相手IPアドレスを前記暗号化通信路設定テーブルから読み出し、前記読み出した通信相手IPアドレスを前記データパケットの宛先アドレスに設定し、前記設定したデータパケットを暗号化して送信するステップ、
を備えることを特徴とする。
また、本発明のノード装置は、ネットワークに接続された他のノード装置と通信を行うアプリケーションと、カーネル部に設けられたデータ送受信部と、前記アプリケーションが前記他のノード装置のIPアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部とを備え、
前記データ送受信部は、通信相手IPアドレスを保持する暗号化通信路設定テーブルと、前記アプリケーションより送信されたデータパケットを受信し、前記データパケットの宛先アドレスに設定された通信相手IPアドレスが前記暗号化通信路設定テーブルに登録されていた場合に、前記データパケットを暗号化して送信する通信暗号化部とを備え、
前記名前解決プロキシ部は、前記名前解決クエリ及び前記名前解決応答の何れかに含まれる前記他のノード装置のドメイン名に基づいて前記他のノード装置が暗号化通信対象ノードであると判定された場合に、前記名前解決応答で解決された前記他のノード装置のIPアドレスを前記暗号化通信路設定テーブルに登録する暗号化通信路設定部を備えることを特徴とする。
また、本発明の通信暗号化ノード装置は、ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するクライアントノード装置に前記ネットワークを通じて接続された通信暗号化ノード装置であって、
カーネル部に設けられたデータ送受信部と、前記アプリケーションが前記他のノード装置のIPアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部とを備え、
前記データ送受信部は、通信相手IPアドレスとインターセプト用アドレスとの対応を保持する暗号化通信路設定テーブルと、前記アプリケーションより送信されたデータパケットを受信し、前記データパケットの宛先アドレスに設定されたインターセプト用アドレスに対応する通信相手IPアドレスを前記暗号化通信路設定テーブルから読み出し、前記読み出した通信相手IPアドレスを前記データパケットの宛先アドレスに設定し、前記設定したデータパケットを暗号化して送信する通信暗号化部とを備え、
前記名前解決プロキシ部は、前記名前解決クエリ及び前記名前解決応答の何れかに含まれる前記他のノード装置のドメイン名に基づいて前記他のノード装置が暗号化通信対象ノードであると判定された場合に、前記名前解決応答で解決された前記他のノード装置のIPアドレスと他の通信セッションで使用されていないインターセプト用アドレスとの対応を前記暗号化通信路設定テーブルに登録する暗号化通信路設定部と、前記名前解決サーバから受信した名前解決応答に含まれる前記他のノード装置のIPアドレスに対応するインターセプト用アドレスを名前解決応答として前記アプリケーションに送信する名前解決クエリ・応答送受信部とを備えることを特徴とする。
また、本発明の暗号化通信システムは、ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するノード装置と、前記ノード装置のそれぞれのIPアドレスを解決する名前解決サーバとを備え、
前記ノード装置は、カーネル部に設けられたデータ送受信部と、前記アプリケーションが前記他のノード装置のIPアドレスを解決するために前記名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部とを備え、
前記データ送受信部は、通信相手IPアドレスを保持する暗号化通信路設定テーブルと、
前記アプリケーションより送信されたデータパケットを受信し、前記データパケットの宛先アドレスに設定された通信相手IPアドレスが前記暗号化通信路設定テーブルに登録されていた場合に、前記データパケットを暗号化して送信する通信暗号化部とを備え、
前記名前解決サーバは、前記名前解決クエリ及び前記名前解決応答の何れかに含まれる前記他のノード装置のドメイン名に基づいて、前記他のノード装置が暗号化通信対象ノードかどうかを判定する通信方式解決部を備え、
前記名前解決プロキシ部は、前記他のノード装置が暗号化通信対象ノードである場合に、前記名前解決応答で解決された前記他のノード装置のIPアドレスを前記暗号化通信路設定テーブルに登録する暗号化通信路設定部を備えることを特徴とする。
また、本発明の暗号化通信システムは、ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するクライアントノード装置と、前記クライアントノード装置に前記ネットワークを通じて接続された通信暗号化ノード装置と、前記ノード装置のそれぞれのIPアドレスを解決する名前解決サーバとを備え、
前記通信暗号化ノード装置は、カーネル部に設けられたデータ送受信部と、前記アプリケーションが前記他のノード装置のIPアドレスを解決するために前記名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部とを備え、
前記データ送受信部は、通信相手IPアドレスとインターセプト用アドレスとの対応を保持する暗号化通信路設定テーブルと、前記アプリケーションより送信されたデータパケットを受信し、前記データパケットの宛先アドレスに設定されたインターセプト用アドレスに対応する通信相手IPアドレスを前記暗号化通信路設定テーブルから読み出し、前記読み出した通信相手IPアドレスを前記データパケットの宛先アドレスに設定し、前記設定したデータパケットを暗号化して送信する通信暗号化部とを備え、
前記名前解決サーバは、前記名前解決クエリ及び前記名前解決応答の何れかに含まれる前記他のノード装置のドメイン名に基づいて、前記他のノード装置が暗号化通信対象ノードかどうかを判定する通信方式解決部を備え、
前記名前解決プロキシ部は、前記他のノード装置が暗号化通信対象ノードである場合に、前記名前解決応答で解決された前記他のノード装置のIPアドレスと他の通信セッションで使用されていないインターセプト用アドレスとの対応を前記暗号化通信路設定テーブルに登録する暗号化通信路設定部と、前記名前解決サーバから受信した名前解決応答に含まれる前記他のノード装置のIPアドレスに対応するインターセプト用アドレスを名前解決応答として前記アプリケーションに送信する名前解決クエリ・応答送受信部とを備えることを特徴とする。
また、本発明のプログラムは、ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するノード装置を構成するコンピュータを、カーネル部のデータ送受信部に設けられた通信暗号化手段、前記アプリケーションが前記他のノード装置のIPアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ手段、として機能させるプログラムであり、
前記通信暗号化手段は、前記アプリケーションより送信されたデータパケットを受信し、前記データパケットの宛先アドレスに設定された通信相手IPアドレスが、通信相手IPアドレスを保持する暗号化通信路設定テーブルに登録されていた場合に、前記データパケットを暗号化して送信するものであり、
前記名前解決プロキシ手段は、前記名前解決クエリ及び前記名前解決応答の何れかに含まれる前記他のノード装置のドメイン名に基づいて前記他のノード装置が暗号化通信対象ノードであると判定された場合に、前記名前解決応答で解決された前記他のノード装置のIPアドレスを前記暗号化通信路設定テーブルに登録する暗号化通信路設定手段を備えることを特徴とする。
また、本発明のプログラムは、ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するクライアントノード装置に前記ネットワークを通じて接続された通信暗号化ノード装置を構成するコンピュータを、カーネル部のデータ送受信部に設けられた通信暗号化手段、前記アプリケーションが前記他のノード装置のIPアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ手段、として機能させるプログラムであり、
前記通信暗号化手段は、前記アプリケーションより送信されたデータパケットを受信し、前記データパケットの宛先アドレスに設定されたインターセプト用アドレスに対応する通信相手IPアドレスを、通信相手IPアドレスとインターセプト用アドレスとの対応を保持する暗号化通信路設定テーブルから読み出し、前記読み出した通信相手IPアドレスを前記データパケットの宛先アドレスに設定し、前記設定したデータパケットを暗号化して送信するものであり、
前記名前解決プロキシ手段は、前記名前解決クエリ及び前記名前解決応答の何れかに含まれる前記他のノード装置のドメイン名に基づいて前記他のノード装置が暗号化通信対象ノードであると判定された場合に、前記名前解決応答で解決された前記他のノード装置のIPアドレスと他の通信セッションで使用されていないインターセプト用アドレスとの対応を前記暗号化通信路設定テーブルに登録する暗号化通信路設定手段と、前記名前解決サーバから受信した名前解決応答に含まれる前記他のノード装置のIPアドレスに対応するインターセプト用アドレスを名前解決応答として前記アプリケーションに送信する名前解決クエリ・応答送受信手段とを備えることを特徴とする。
本発明によれば、OSが提供する通信暗号化機能を利用して複数の通信相手と暗号化通信を行う場合の暗号化通信対象ノードの設定コストを低減することができる。その理由は、アプリケーションが通信相手のIPアドレスを解決するために送信する名前解決クエリまたはその応答である名前解決応答に含まれるドメイン名に基づいて、通信相手のノード種別を判断するためである。
図1は、本発明の第一の実施例の構成を示すブロック図である。 図2は、本発明の第一の実施例のCUG設定テーブルの例を示す図である。 図3は、本発明の第一の実施例の暗号化通信路設定テーブルの例を示す図である。 図4は、本発明の第一及び第三の実施例のDNS Proxy部の名前解決要求受け付け時の動作を示す流れ図である。 図5は、本発明の第二の実施例の構成を示すブロック図である。 図6は、本発明の第二の実施例のCUG設定データベースの例を示す図である。 図7は、本発明の第三の実施例の構成を示すブロック図である。 図8は、本発明の第三の実施例の暗号化通信路設定テーブルの例を示す図である。 図9は、本発明の第三の実施例の変形例におけるクライアントノードの構成を示すブロック図である。 図10は、通信暗号化モジュールを利用する従来の暗号通信システムの構成を示す図である。 図11は、OSのカーネル部の通信暗号化機能を利用する従来の暗号通信システムの構成を示す図である。
次に、本発明の第一の実施例について図面を参照して詳細に説明する。
図1を参照すると、本発明の第一の実施例は、クライアントノードA1aとDNS(Domain Name System)サーバB1aと暗号化通信対象ノードC1と通常通信対象ノードD1とによって実現される。クライアントノードA1aとDNSサーバB1aと暗号化通信対象ノードC1と通常通信対象ノードD1はネットワークE1を介して接続されている。ここで、暗号化通信対象ノードC1は、クライアントノードA1aとの間で暗号化通信を行うノード、通常通信対象ノードD1は、クライアントノードA1aとの間で暗号化されていない通常の通信を行うノードである。
クライアントノードA1aは、アプリケーションA11xと、DNS Proxy部A12aと、データ送受信部A14aとを含む。データ送受信部A14aはデータパケットの送受信を行う部分で、カーネル部に設けられている。
アプリケーションA11xは、Webブラウザや電子メールソフトや、ビデオ会議ソフトなどコンピュータを使って、それぞれの目的を実現するためのソフトウェアであり、通信相手の名前をIPアドレスに解決するよう要求する機能を有する。
ここで、本明細書の記載において、「名前」とは、一つまたは複数の、IPアドレスまたはIPアドレス範囲が、直接的または間接的に対応付けられている全ての識別子を意味する(すなわち、「名前」を与えられると、直接的または間接的に、一つまたは複数の、IPアドレスまたはIPアドレス範囲を特定することができることを意味する。ここで、IPアドレスまたはIPアドレス範囲から「名前」を特定できる必要は必ずしも無い)語として用いる。
例えば以下のような識別子が「名前」に該当する。
・A←→1.2.3.4 という対応関係を持つ識別子A(1.2.3.4はIPアドレスの例)
・B←→1.2.3.0/24 という対応関係を持つ識別子B(1.2.3.0/24はIPアドレス範囲の例)
・C←→1.2.3.4 C←→5.6.7.8 という対応関係を持つ識別子C
・D←→A という対応関係を持つ識別子D
現状インターネットで利用されている名前の代表例としては、ドメイン名(例えばsato.biglobe.ne.jpやsuzuki.nec.com等が挙げられる。ドメイン名はFQDN(Fully Qualified Domain Name)とも呼ばれる)が挙げられる。
また、名前から名前に対応付けられた一つまたは複数の、IPアドレスまたはIPアドレス範囲を特定することは、一般的に名前解決と呼ばれる。名前解決を行う仕組みとして代表的なものにDNSが挙げられる。DNSを利用することで、ドメイン名をIPアドレスに解決することが出来る。この他にもNIS(Network Information Service)や、WINS(Windows(登録商標) Internet Name Service)などが、名前解決を行う仕組みの例として挙げられる。本明細書においては、「名前解決」を上記の例に限定せず、「名前から名前に対応付けられた一つまたは複数の、IPアドレスまたはIPアドレス範囲を特定すること」全てを意味する語として用いる(例えば、文字列を入力するとその文字列に対応付けられたIPアドレスを表示するようなCGI(Common Gateway Interface)を有するWebサーバも名前解決を行う仕組みに該当する)。
以下の説明では、説明を簡単にするため、名前としてドメイン名を、名前解決を行う仕組みとしてDNSをそれぞれ例にとり説明するが、以下の説明は全ての名前および名前解決を行う仕組みに適用することが可能である。適用する際には、以下の説明においてドメイン名を名前に、DNSを名前解決にそれぞれ読み替える(例えばDNSサーバ→名前解決サーバ、DNSクエリメッセージ→名前解決クエリメッセージ、DNSレスポンスメッセージ→名前解決レスポンスメッセージ等)ものとする。
さて、本実施例においてアプリケーションA11xは、DNS Proxy部A12aに割り当てられたループバックアドレス(例えば127.0.0.1)宛にDNSクエリメッセージを送信することで通信相手のドメイン名→IPアドレスの解決を要求する。従って、アプリケーションA11xが送信したDNSクエリメッセージは、DNS Proxy部A12aが受信することになる。なお、ループバックアドレスとは、自ノード内で閉じた通信を行うために利用されるIPアドレスのことであり、一般的には127.0.0.0/8の範囲にあるIPアドレスが該当する。
アプリケーションA11xは、DNS Proxy部A12aより受信したDNSレスポンスメッセージの名前解決結果に含まれるIPアドレスを送信データパケットの宛先アドレスに指定して、データを送信する。
なお、一般的にアプリケーションからの名前解決要求を受けてDNSクエリメッセージを作成・送信する機能、及びDNSサーバより受信したDNSレスポンスメッセージから名前解決結果を取得してアプリケーションに渡す機能は、ノードの基本ソフトウェア(OS(Operating System)とも呼ぶ)のシステム関数として提供されることが多いが、本明細書では前記も含め、説明を簡単にするために「アプリケーションがDNSメッセージを送・受信する」と表現することにする。
DNS Proxy部A12aは、DNSクエリ・応答送受信部A121aと、通信方式解決部A122aと、暗号化通信路設定部A123aと、DNSサーバアドレス設定テーブルA124aと、CUG(Closed User Group)設定テーブルA125aとを含む。
DNS Proxy部A12aは、アプリケーションA11xによる名前解決要求を受けてアプリケーションA11xの通信相手のIPアドレスをDNSサーバB1aにより解決すると共に、通信相手のノード種別(通信相手のノード種別とは、通信相手が暗号化通信対象ノードであるか通常通信の対象ノード(以下、通常通信対象ノードと称す)であるかの種別を意味する)を判断し、通信相手が暗号化通信対象ノードである場合には、暗号化通信対象ノードのIPアドレスをデータ送受信部A14aに設けられる暗号化通信路設定テーブルA142aに登録する機能を有する。通信相手が通常通信対象ノードの場合は、このような登録は行われない。
以下、DNS Proxy部A12aの構成について説明する。まずDNSクエリ・応答送受信部A121aについて説明する。
DNSクエリ・応答送受信部A121aは、アプリケーションA11xからDNSクエリメッセージを受信すると、DNSサーバアドレス設定テーブルA124aに登録されている外部DNSサーバB1aに対してDNSクエリメッセージを送信する。DNSクエリメッセージの応答として、外部DNSサーバB1aからDNSレスポンスメッセージを受信すると、DNSレスポンスメッセージに含まれる名前解決結果を通信方式解決部A122aに渡す。通信方式解決部A122aに渡す名前解決結果には、名前解決の対象となったドメイン名(つまりアプリケーションA11xの通信相手のドメイン名)や解決されたIPアドレス(つまり通信相手のIPアドレス)が含まれる。通信方式解決部A122aに名前解決結果を渡したDNSクエリ・応答送受信部A121aは、アプリケーションA11xに対してDNSレスポンスメッセージを送信する。
次に通信方式解決部A122aについて説明する。通信方式解決部A122aは、DNSクエリ・応答送受信部A121aから渡された名前解決結果を元にCUG設定テーブルA125aを参照し、アプリケーションA11xの通信相手のノード種別を判断する。さらに、アプリケーションA11xの通信相手が暗号化通信対象ノードである場合には、CUG設定テーブルA125aを参照して当該通信相手の通信に用いる暗号化通信路の設定情報を把握する。
ここで、通信方式解決部A122aは、ノード種別判断に用いる通信相手の識別子として、ドメイン名を利用する。ドメイン名を用いてアプリケーションA11xの通信相手のノード種別を判断する場合、通信方式解決部A122aは、通信相手のドメイン名の全てまたは一部がCUG設定テーブルA125aにおいて暗号化通信対象ノードのドメイン名として登録されているか否かをチェックする。例えば、通信相手のドメイン名がsato.biglobe.ne.jpである場合は、CUG設定テーブルA125aにおいてドメイン名 sato.biglobe.ne.jpまたは、sato.biglobe.ne.jpが該当するドメイン名条件(例えばsato.*(前方ラベルがsatoであるドメイン名を示す)のようなドメインプレフィックスや、*.biglobe.ne.jp(後方ラベルがbiglobe.ne.jpであるドメイン名を示す)のようなドメインサフィックス、*.biglobe.*(biglobeというラベルを含む任意のドメイン名を示す) のような任意のドメイン名条件などが挙げられる) が暗号化通信対象ノードのドメイン名として登録されているか否かをチェックする。
通信方式解決部A122aは、上記のような方法で、アプリケーションA11xの通信相手のノード種別を判断した後、暗号化通信対象ノードであると判断した場合、DNSクエリ・応答送受信部A121aから渡された名前解決結果及び通信相手との通信に用いる暗号化通信路設定情報を暗号化通信路設定部A123aに渡す。
次に暗号化通信路設定部A123aについて説明する。暗号化通信路設定部A123aは、データ送受信部A14aに含まれる暗号化通信路設定テーブルA142aに、暗号化通信対象ノードのIPアドレスと当該暗号化通信対象ノードとの通信に利用する暗号化通信路設定情報とを登録する機能を有する。具体的に、暗号化通信路設定部A123aは、通信方式解決部A122aから渡されたアプリケーションA11xの通信相手の名前解決結果に含まれる通信相手のIPアドレス及び、その通信相手との通信に用いる暗号化通信路設定情報を、暗号化通信路設定テーブルA142aに登録する。
次にDNSサーバアドレス設定テーブルA124aについて説明する。DNSサーバアドレス設定テーブルA124aには、外部DNSサーバB1aのアドレスが登録される。DNSサーバアドレス設定テーブルA124aは、DNSクエリ・応答送受信部A121aがDNSクエリメッセージを送信する際に参照される。
次に、CUG設定テーブルA125aについて説明する。CUG設定テーブルA125aには、クライアントノードA1が参加するCUG(Closed User Group)に関する情報が登録されている。ここでCUGとは二つ以上の特定のノードから構成されるグループのことであり、グループ内の通信は暗号化され、グループ外の第三者からはのぞき見られないようになっている。すなわち、クライアントノードA1aが参加するCUGの他のノードは、クライアントノードA1aにとって暗号化通信対象ノードとなる。CUG設定テーブルA125aは、通信方式解決部A122aがアプリケーションA11xの通信相手のノード種別を判断する際に参照される。具体的には、CUG設定テーブルA125aには、クライアントノードA1aが参加しているCUGのノード(つまり暗号化通信対象ノード)の識別情報が登録される。CUG設定テーブルA125aに登録されるノードの識別情報は、ドメイン名条件である。例えば、*.myfriends.comが登録されている場合は、*.myfriends.comに該当するドメイン名(例えばsato.myfriends.com)を持つ通信相手が暗号化通信対象ノードとなる。
その他、CUG設定テーブルA125aには必須の登録情報ではないが、CUGのノードと通信をする際に利用する暗号化通信路の設定情報を登録しておくこともできる。暗号化通信路の設定情報としては、具体的には例えば、通信プロトコル(例えばIPSecやSSL(Secure Socket Layer)、TLS(Transport Layer Security)等)と電子証明書ID(電子証明書とは自身の存在を証明するための電子的な証明書であり、例えば、ITU-T(International Telecommunication Union-Telecommunication Standardization Sector)勧告のX.509等が挙げられる。本説明において電子証明書のIDとは、アプリケーションA11xがセッションで利用すべき電子証明書を選択するために利用する識別子を意味する)、暗号化アルゴリズム(例えばDES(Data Encryption Standard)や3DES(triple-DES)、AES(Advanced Encryption Standard)等)などが使用される。
CUG設定テーブルA125aの例を図2に示す。図2に示すCUG設定テーブル201には、暗号化通信対象ノードの識別情報としてドメイン名条件が、暗号化通信路の設定情報として通信プロトコルと電子証明書ID、暗号化アルゴリズムがそれぞれ登録されている。例えば、図2に示すCUG設定テーブル201の4番目のエントリには、*.myfriends.comのドメイン名条件に該当するドメイン名を持つ通信相手ノード(例えば、yamada.myfriends.comやsato.myfriends.com)が暗号化通信対象ノードであり、それらのノードとは、通信プロトコル:SSL、電子証明書ID:11、暗号化アルゴリズム:DESを用いて暗号化通信を行うという設定がなされている。
DNS Proxy部A12aがCUG設定テーブルA125aとして図2で示したテーブル201を保持している場合、通信方式解決部A122aは通信相手のノード種別を通信相手のドメイン名を利用して判断する。例えば、通信相手のドメイン名が、taro.nec.co.jpである場合、当該ドメイン名は、テーブル201の2番目のエントリに登録されており、このため、通信方式解決部A122aは、通信相手が暗号化通信対象ノードであると判断する。通信相手のドメイン名が、yamada.myfriends.comである場合、当該ドメイン名自体はテーブル201に登録されていないが、ドメインサフィックス:myfriends.comがテーブル201の4番目のエントリに登録されているため、この場合も通信方式解決部A122aは通信相手が暗号化通信対象ノードであると判断する。通信相手のドメイン名がテーブル201に登録されているドメイン名のいずれにも合致しない場合、通信方式解決部A122aは通信相手が通常通信対象ノードであると判断する。
以上がDNS Proxy部A12aの構成である。
次にデータ送受信部A14aについて説明する。データ送受信部A14aは、通信暗号化部A141aと暗号化通信路設定テーブルA142aとを含む。アプリケーションA11xが外部のノードに対して送信する全てのデータパケットは、データ送受信部A14aによりインターセプトされ、送信処理が行われる。
通信暗号化部A141aは、データパケットの暗号・復号化処理を行う暗号・復号化処理部A1411aを有する。暗号・復号化処理部A1411aは、アプリケーションA11xから受信したデータパケットの宛先IPアドレスを元に暗号化通信路設定テーブルA142aを参照し、このテーブルに登録されている暗号化通信路設定情報に従って、受信したデータパケットに暗号化処理を施す機能を有する。また、外部の通信相手ノードから受信したデータパケットの送信元アドレスを元に暗号化通信路設定テーブルA142aを参照し、このテーブルに登録されている暗号化通信路設定情報に従って、受信したデータパケットに復号化処理を施す機能を有する。
次に暗号化通信路設定テーブルA142aについて説明する。暗号化通信路設定テーブルA142aには、暗号化通信対象ノードのIPアドレスと当該暗号化通信対象ノードとの通信に利用する暗号化通信路設定情報とが登録されている。登録は、暗号化通信路設定部A123aにより動的に行われる。暗号化通信路設定テーブルA142aの例を図3のテーブル301に示す。本例では、通信相手のIPアドレスと暗号化通信路設定情報として通信プロトコル、電子証明書ID、暗号化アルゴリズムが登録されている。
データ送受信部A14aが暗号化通信路設定テーブルA142aとして図3に例示したテーブル301を保持していると仮定し、データ送受信部A14aが宛先アドレス133.11.64.24のデータパケットをインターセプトしたケースについて説明する。データ送受信部A14aがデータパケットをインターセプトすると、通信暗号化部A141aは暗号化通信路設定テーブルA142aを参照する。この場合、暗号化通信路設定テーブルA142aの2番目のエントリがインターセプトしたデータパケットに該当する。通信暗号化部A141aは、2番目のエントリに登録されている設定情報(通信プロトコル:IPSec、電子証明書ID:10、暗号化アルゴリズム:3DES)に従ってデータパケットを暗号化した後、送信する。
以上がデータ送受信部A14aの構成である。
次にDNSサーバB1aについて説明する。DNSサーバB1aは、DNSクエリメッセージにより要求された名前解決を行い、解決結果をDNSレスポンスメッセージによって要求元に通知する。DNSサーバB1aは、DNS応答・クエリ送受信部B11aと名前解決部B12aとアドレス解決用データベースB13aとを含み、これらはそれぞれ以下の機能を有する。
DNS応答・クエリ送受信部B11aは、クライアントノードA1aからDNSクエリメッセージを受信し、同メッセージに含まれる名前解決要求を名前解決部B12aに渡す。また、名前解決部B12aから渡された名前解決結果をDNSレスポンスメッセージによってクライアントノードA1に通知する。
名前解決部B12aは、アドレス解決用データベースB13aを参照してDNS応答・クエリ送受信部B11aから渡された名前解決要求に対する解決処理を行い、名前解決結果をDNS応答・クエリ送受信部B11aに渡す。
アドレス解決用データベースB13aは、ドメイン名とそれに対応するIPアドレスが登録されている。
次に、本実施例において、アプリケーションA11xが暗号化通信対象ノードC1または通常通信対象ノードD1と通信を行う際のクライアントノードA1aの動作について詳細に説明する。
クライアントノードA1aの動作は、アプリケーションA11xが通信相手のドメイン名に対する名前解決要求を行った際の動作と、通信相手に対してデータパケットを送信した際の動作に、大きく分けられる。
まず、アプリケーションA11xが名前解決要求を行う際のクライアントノードA1aの動作について説明する。
アプリケーションA11xは、ループバックアドレス宛(例えば127.0.0.1)に、DNSクエリメッセージを送信し、通信相手の名前解決を要求する。アプリケーションA11xが送信したDNSクエリメッセージは、DNS Proxy部A12a(具体的にはDNS Proxy部A12a内部のDNSクエリ・応答送受信部A121a)が受信する。その後の処理はDNS Proxy部A12aで行われる。
図4を参照して、DNS Proxy部A12aがアプリケーションA11xからDNSクエリメッセージを受信した際の動作について説明する。
アプリケーションA11xからDNSクエリメッセージを受信すると(ステップS101)、DNSクエリ・応答送受信部A121aは、DNSサーバアドレス設定テーブルA124aに登録されている外部DNSサーバB1aに、受信したDNSクエリメッセージを転送し(ステップS102)、応答としてDNSサーバB1aからDNSレスポンスメッセージを受信する(ステップS103)。
DNSクエリ・応答送受信部A121aは、受信したDNSレスポンスメッセージから名前解決結果を取り出し、通信方式解決部A122aに渡す。通信方式解決部A122aは、渡された名前解決結果を元に、CUG設定テーブルA125aを参照して、通信相手の種別(暗号化通信対象ノード、通常通信対象ノードのどちらであるか)を判断する(ステップS104)。また、通信相手が暗号化通信対象ノードである場合には、CUG設定テーブルA125aに登録されている暗号化通信路設定情報を把握する。
通信相手が暗号化通信対象ノードである場合、通信方式解決部A122aは、DNSクエリ・応答送受信部A121aから渡された名前解決結果と、CUG設定テーブルA125aから取得した暗号化通信路設定情報とを暗号化通信路設定部A123aに渡す。暗号化通信路設定部A123aは、通信方式解決部A122aから名前解決結果と暗号化通信路設定情報とを受け取ると、これらの情報を暗号化通信路設定テーブルA142aに登録する(S105)。登録後、DNSクエリ・応答送受信部A121aは、外部DNSサーバB1aから受け取った名前解決結果を含むDNSレスポンスメッセージをアプリケーションA11xに送信する(ステップS106)。
以上が、アプリケーションA11xが名前解決要求を行った際のクライアントノードA1の動作である。
次にアプリケーションA11xが通信相手に対してデータパケットを送信した場合の動作について説明する。
アプリケーションA11xは、DNS Proxy部A12aからDNSレスポンスメッセージを受信すると、DNSレスポンスメッセージで通知された名前解決結果に含まれるIPアドレス(すなわち通信相手のIPアドレス)宛にデータパケットを送信する。ここで、送信されたデータパケットはすべてデータ送受信部A14aによってインターセプトされる。
データ送受信部A14aがデータパケットをインターセプトすると、通信暗号化部A141aは、受信したデータパケットの宛先IPアドレスを元に暗号化通信路設定テーブルA142aを参照し、宛先IPアドレスが暗号化通信路対象ノードのIPアドレスとして登録されているか否かをチェックする。そして、暗号化通信路対象ノードの場合は、データパケットに暗号化処理を施した後、送信し、通常通信対象ノードの場合は、データパケットをそのまま送信する。
なお、以上の説明では、DNS Proxy部A12aが外部DNSサーバB1aから通信相手の名前解決結果を受け取った後に通信相手のノード種別を判断する方法を説明したが、本実施例では他の方法として、DNS Proxy部A12aが外部DNSサーバB1aに通信相手の名前解決を要求する前に通信相手のノード種別を判断する方法を採ることも可能である。この場合、例えば通信相手のノード種別に応じて、名前解決を要求する(すなわちDNSクエリメッセージを送信する)DNSサーバを変えるといった制御を行うことが可能になるため、暗号化通信を行うグループ専用のDNSサーバを構築できるといった利点がある。
次に本実施例の効果について説明する。
従来技術においては、本実施例のようにOSのカーネル部が通信暗号化を行う場合、データパケットに含まれる情報から通信相手のノード種別を判断する方式を採っていたため、暗号化通信対象ノードの識別情報をドメイン名によって指定することが不可能であった。これに対して本実施例では、DNS Proxy部A12aが、アプリケーションA11xが通信相手の名前解決を要求する際にDNSサーバB1aと送受信するDNSメッセージをインターセプトし、DNSメッセージに含まれる情報から通信相手のノード種別を判断するため、暗号化通信対象ノードの識別情報をドメイン名によって指定することが可能である。識別情報をドメイン名により指定することで、IPアドレスで指定する場合と異なり、通信相手のIPアドレスが動的に変化する(例えばDHCPでIPアドレスが払い出される場合)状況下でも設定を変更する必要がない。さらに、暗号化通信対象ノードをドメイン名条件(例えばsato.*(前方ラベルがsatoであるFQDNを示す)のようなドメインプレフィックスや、*.biglobe.ne.jp(後方ラベルがbiglobe.ne.jpであるFQDNを示す)のようなドメインサフィックス、*.biglobe.*(biglobeというラベルを含む任意のFQDNを示す) のような条件など) によって指定することも可能であるため、複数のノードから成るグループにおいて設定が共通する暗号化通信路を用いた通信を行う場合には、グループを構成するノードのドメイン名条件を共通化しておくことで (例えば、グループ内ノードのドメインサフィックスを*.myfriends.comとする等) 、グループ単位で設定を行うことができ、設定コストを軽減できる。単にグループ単位で設定を行うだけであれば、例えば10.2.1.0/24などのようなIPアドレススコープを利用することも可能だが、グループを構成するノードのIPアドレスが同一のIPアドレススコープに属していなければ、IPアドレススコープをグループの識別情報として利用することは出来ず、任意のノードから自由にグループを構成するということはできない。
これに対して、ドメイン名はIPアドレスに依存せずに自由につけることが可能であり、グループを自由に構成することが出来る。
次に本発明の第二の実施例について図面を参照して詳細に説明する。
図5を参照すると、本発明の第二の実施例は、本発明の第一の実施例と比較して、DNS Proxy部A12d内に通信方式解決部およびCUG設定テーブルが含まれず、これらのモジュールがDNSサーバB1dに含まれる点が異なる。本実施例においては、アプリケーションA11xの通信相手のノード種別及び通信相手が暗号化通信対象ノードである場合に用いる暗号化通信路の設定情報が、クライアントノードA1d内部ではなく、外部のDNSサーバB1dによって解決される。
以下、本実施例について本発明の第一の実施例と異なる部分(すなわちDNS Proxy部A12dおよびDNSサーバB1d)を中心に説明する。
まずDNS Proxy部A12dについて説明する。本実施例においてDNS Proxy部A12dは、アプリケーションA11xの通信相手の名前解決および通信相手のノード種別(及び通信相手が暗号化通信対象端末の場合は通信相手との通信に用いる暗号化通信路設定情報)解決をDNSサーバB1dに対して要求し、通信相手が暗号化通信対象端末である場合にはDNSサーバB1dが解決した暗号化通信路の設定情報を暗号化通信路設定テーブルA142aに登録する機能を有する。
DNSクエリ・応答送受信部A121dは、外部DNSサーバB1dに対してアプリケーションA11xの通信相手の名前解決を要求する機能に加えて、外部DNSサーバB1dに対してアプリケーションA11xの通信相手のノード種別及び通信相手が暗号化通信対象ノードである場合に通信相手との通信に用いる暗号化通信路の設定情報の解決を要求する機能を持つ。DNSクエリ・応答送受信部A121dは、アプリケーションA11xからDNSクエリメッセージを受信すると、同メッセージをDNSサーバB1dに転送し、応答として受信するDNSレスポンスメッセージの受信処理を行う。DNSサーバB1dから受信するDNSレスポンスメッセージには、アプリケーションA11xの通信相手の名前解決結果に加え、通信相手のノード種別情報が含まれ、更に通信相手が暗号化通信対象ノードである場合には、通信相手との通信に用いる暗号化通信路の設定情報が含まれる。
DNSレスポンスメッセージによって、通信相手が通常通信対象ノードであると通知された場合および暗号化通信対象ノードであると通知された場合、DNSクエリ・応答送受信部A121dは、受信メッセージに含まれる通信相手の名前解決結果をアプリケーションA11xにDNSレスポンスメッセージによって通知する。また、通信相手が暗号化通信対象ノードであると通知された場合には、DNSクエリ・応答送受信部A121dは、暗号化通信路設定部A123dに対して通信相手の名前解決結果及び通信相手との通信に利用すべき暗号化通信路の設定情報を渡す。暗号化通信路設定部A123dは、本発明の第一の実施例における暗号化通信路設定部A123aと同様の機能を有し、DNSクエリ・応答送受信部A121dから受け取った情報を暗号化通信路設定テーブルA142aに登録する。
DNSサーバアドレス設定テーブルA124aには、外部DNSサーバB1dのアドレスが登録されている。
以上がDNS Proxy部A12dの構成である。
次に、DNSサーバB1dについて説明する。DNSサーバB1dは、通常のDNSサーバが持つ名前解決機能に加えて、名前解決要求の対象であるノードの種別を解決する機能を持ち、更にそのノードが暗号化通信対象ノードである場合には、そのノードとの通信に用いる暗号化通信路の設定情報を解決する機能を持つ。
DNSサーバB1dは、DNS応答・クエリ送受信部B11dと名前解決部B12aとアドレス解決用データベースB13aと通信方式解決部B14dとCUG設定データベースB15dとを含む。以下それぞれについて説明する。
DNS応答・クエリ送受信部B11dは、クライアントノードA1dから受け取った名前解決要求(具体的には、受信したDNSクエリメッセージに含まれる名前解決対象のドメイン名やクライアントノードA1dの識別子(例えばIPアドレスやドメイン名など)など)を名前解決部B12aに渡し、名前解決部B12aから名前解決結果(具体的には前記名前解決要求に含まれる情報に加えて、解決結果のIPアドレスなどが含まれる)を受け取る。また、通信方式解決部B14dに前記名前解決結果を渡し、通信方式解決部B14dから名前解決要求の対象のノードの種別情報を受け取る。更に、名前解決要求対象ノードが暗号化通信ノードである場合は、そのノードとの通信に用いる暗号化通信路の設定情報を受け取る。DNS応答・クエリ送受信部B11dは、名前解決部B12a及び通信方式解決部B14dから受け取った情報を元にDNSレスポンスメッセージを作成し、クライアントノードA1dに送信する。
名前解決部B12aは、DNS応答・クエリ送受信部B11dから名前解決要求を渡されると、アドレス解決用データベースB13aを参照して、名前解決を行い、名前解決結果をDNS応答・クエリ送受信部B11dに渡す。
アドレス解決用データベースB13aには、ドメイン名とそれに対応するIPアドレスが登録されている。
通信方式解決部B14dは、DNS応答・クエリ送受信部B11dから名前解決結果を渡されると、CUG設定データベースB15dを参照して、通信相手の種別を解決し、通信相手が暗号化通信対象ノードである場合は、更にそのノードとの通信に用いる暗号化通信路の設定情報を解決する。解決動作の具体例は後述する。前記処理を行った後、解決結果をDNS応答・クエリ送受信部B11dに渡す。
CUG設定データベースB15dには、暗号化通信対象ノードの識別情報が登録される。この他に通信を行う際に利用する暗号化通信路の設定情報を登録することもできる。なお、これらの情報は図2のテーブル201で示すように登録しておくことが出来る。また、暗号化通信対象ノードの識別情報を、個々のクライアントノードもしくはクライアントノードのグループ毎にCUG設定データベースB15dに登録しておくことも出来る。このような登録方法を採ることによって、同一のノードに対する通信方式の解決要求であってもクライアントノードによって異なる通信方式を解決するといった制御を行うことが可能となる。例えば、あるノードの種別を特定のクライアントノードに対してのみ暗号化通信対象ノードとして解決することによって、特定のクライアントノードからのみ暗号化通信を許可するという制御が可能になる。
CUG設定データベースB15dの具体例を図6に示す。図6に示すCUG設定データベースB15dは、下記(1)、(2)の2種類のテーブルから構成され、クライアントノード毎あるいはそのグループ毎に暗号化通信対象ノードの識別情報と通信を行う際に利用する暗号化通信路の設定情報が登録されている。
(1)暗号化通信対象ノードの識別情報と通信を行う際に利用する暗号化通信路の設定情報が登録されたテーブル。テーブル502〜504が該当する。テーブル502〜504には、暗号化通信対象ノードの識別情報がドメイン名の形で登録され、暗号化通信路の設定情報(暗号化通信路仕様)として、通信プロトコル、電子証明書ID、暗号化アルゴリズムが登録されている。
(2)クライアントノードの識別情報と、当該クライアントノードからのDNSクエリメッセージ受信を契機とした通信方式解決の際に参照される上記(1)テーブルの識別子が登録されたテーブル。テーブル501が該当する。テーブル501には、クライアントノードの識別情報がIPアドレスの形で登録されており、当該IPアドレスを持つクライアントノードからのDNSクエリメッセージ受信を契機とした通信方式解決の際に参照されるテーブル502〜504の識別子が登録されている。
以下、DNSサーバB1dが図6に示すCUG設定データベースB15dを保持している場合の、通信方式解決動作の具体例を説明する。
例えば、IPアドレスが1.2.3.4であるクライアントノードからDNSクエリメッセージを受信した場合、まずテーブル501が参照され、クライアントノード識別情報(IPアドレス:1.2.3.4)が合致する1番目のエントリが引かれる。次に1番目のエントリの登録内容に基づいて、Table ID 1のテーブル、すなわちテーブル502が参照される。クライアントノードが名前解決を要求したドメイン名がkojima.jinji.nec.comである場合は、テーブル502の1番目のエントリが引かれ、通信方式は、[通信ノード種別:暗号化通信対象ノード、通信プロトコル:SSL、電子証明書ID:jinji.nec.com、暗号化アルゴリズム:3DES]のように解決される。
また、IPアドレスが5.6.7.8であるクライアントノードが上記と同様にkojima.jinji.nec.comの名前解決を要求した場合には、最終的にテーブル503の2番目のエントリが引かれ、通信方式は、[通信ノード種別:暗号化通信対象ノード、通信プロトコル:IPSec、電子証明書ID:soumu-jinji.nec.com、暗号化アルゴリズム:AES]のように上記とは異なる通信方式が解決される。
さらに、IPアドレスが133.11.23.24であるクライアントノードが上記と同様にkojima.jinji.nec.comの名前解決を要求した場合には、テーブル504が参照されることになるが、そこにはkojima.jinji.nec.comにマッチするエントリが登録されていないため、通信方式は、[通信ノード種別:通常通信対象ノード]のように解決される。
次に本実施例におけるクライアントノードA1d及びDNSサーバB1dの動作を説明する。
まず、クライアントノードA1dの動作について説明する。クライアントノードA1dの動作は、アプリケーションA11xが通信相手のドメイン名に対する名前解決要求を行った際の動作と、通信相手に対してデータパケットを送信した際の動作に分けられるが、後者については本発明の第一の実施例で説明した動作と同一のため、説明を省略する。名前解決要求時の動作については、本発明の第一の実施例と比較して外部DNSサーバからDNSレスポンスメッセージを受信した後の動作(図4のステップS104以降)が、本発明の第一の実施例と異なる。以下、外部DNSサーバからDNSレスポンスメッセージ受信した後の動作を説明する。
DNSクエリ・応答送受信部A121dは、DNSサーバB1dからDNSレスポンスメッセージを受信すると、受信したDNSレスポンスメッセージに含まれる名前解決結果を元に、新たにDNSレスポンスメッセージを作成し、アプリケーションA11xに送信する。また、同メッセージに含まれる通信相手のノード種別情報をチェックし、通信相手が暗号通信対象ノードである場合には、DNSサーバB1dから受信したDNSレスポンスメッセージに含まれる通信相手の名前解決結果及びその通信相手との通信に用いる暗号化通信路の設定情報を暗号化通信路設定部A123dに渡す。暗号化通信路A123dは、本発明の第一の実施例における動作と同様の手順で、暗号化通信路設定テーブルA142aに暗号通信対象ノードの情報を登録する。
アプリケーションA11xは、DNSレスポンスメッセージを受信すると、宛先アドレスにDNSレスポンスメッセージによって通知された名前解決結果に含まれるアドレスを指定して、データパケットを送信する。
次に、DNSサーバB1dの動作を説明する。DNSサーバB1dは、クライアントノードA1dからDNSクエリメッセージを受信すると、クライアントノードA1dの通信相手の名前解決を行う。また、クライアントノードA1dがその通信相手と通信する際に採るべき通信方式を解決する。具体的には、通信相手のノード種別を解決し、そのノードがクライアントノードA1dにとって暗号化通信対象ノードである場合には、更にそのノードとの通信に用いる暗号化通信路の設定情報を解決する。DNSサーバB1dは、以上の解決結果を、DNSレスポンスメッセージによってクライアントノードA1dに送信する。
次に本実施例の効果について説明する。本実施例では、暗号化通信対象ノードの識別情報と通信に用いる暗号化通信路の設定情報がDNSサーバB1dによって一元管理される。このため、個々のクライアントノードにおいて前記情報を設定・保持しておく必要がない。特に複数のクライアントノードでグループを構成して通信を行う場合、暗号化通信路の設定情報等に変更があっても、DNSサーバB1dにおいて1度変更を行うだけで済み、DNSサーバB1d上の前記情報をグループ内で効率的に共有することが出来る。
次に、本発明の第三の実施例について図面を参照して詳細に説明する。
図7を参照すると、本発明の第三の実施例は、本発明の第一の実施例と比較して、クライアントノードA1gにDNS Proxy部および通信暗号化モジュールが含まれず、これらのモジュールが外部の通信暗号化ノードF1aに含まれる点が異なる。すなわち、本実施例は、主に以下の2点において、本発明の第一の実施例と異なる。
(1)クライアントノードA1gの通信相手のノード種別(すなわち通信相手が暗号化通信対象ノードであるか通常通信対象ノードであるか)、及び通信相手が暗号化通信対象ノードである場合における当該通信相手との通信に用いる暗号化通信路の設定情報が、通信暗号化ノードF1aによって解決される。
(2)クライアントノードA1gが暗号化通信対象ノードと通信を行う際、通信の暗号化処理が通信暗号化ノードF1aによって行われる。
以下、本実施例について、本発明の第一の実施例と異なる点を中心に説明する。
まずクライアントノードA1gについて説明する。クライアントノードA1gは、アプリケーションA11xとデータ送受信部A14xとを含む。アプリケーションA11xとデータ送受信部A14xは、本発明の第一の実施例の説明におけるものと同様の機能を持つ。但し、データ送受信部A14xには本発明の第一の実施例におけるような通信暗号化部及び暗号化通信路設定テーブルはない。また、本実施例において、クライアントノードA1gにはDNSサーバとして通信暗号化ノードF1aのアドレスが設定されている。
次に通信暗号化ノードF1aについて説明する。通信暗号化ノードF1aは、DNS Proxy部F12aとデータ送受信部A14xとを含む。
まずDNS Proxy部F12aについて説明する。DNS Proxy部F12aは、本発明の第一の実施例におけるDNS Proxy部A12aと同様の構成を採り、クライアントノードA1gの通信相手のノード種別を判断し、暗号化通信路の設定情報を暗号化通信路設定テーブルF142aに登録するという機能を持つが、本発明の第一の実施例におけるDNS Proxy部A12aとは以下の2点で異なる。
(1)外部クライアントノードA1gからの名前解決要求を受信処理する。
(2)クライアントノードA1gの通信相手が暗号化通信対象ノードである場合には、その通信相手に対する名前解決要求に対して、その通信相手のIPアドレスをインターセプト用アドレスに変換し、名前解決結果として通知する。ここで、インターセプト用アドレスとは、クライアントノードA1gの送信データパケットにおいて宛先アドレスとして指定された場合に、通信暗号化ノードF1aが当該データパケットをインターセプトすることが可能となるアドレスを意味する。具体例としては、通信暗号化ノードF1a自身のIPアドレス等が挙げられるが、詳しくは後述する。なお、後述するようにインターセプト用アドレスとして通信相手のIPアドレスを直接利用する場合もあり、その場合は上記の通信相手のIPアドレスからインターセプト用アドレスへの変換後も、名前解決結果として通信相手のIPアドレスが通知されることになる。
以下、DNS Proxy部F12aを構成する各モジュールについて説明する。
DNSクエリ・応答送受信部F121aは、DNSレスポンス・クエリメッセージの送受信を外部クライアントノードA1gに対して行うという点以外は、本発明の第一の実施例におけるDNSクエリ・応答送受信部A121aと同様の機能を持つ。
通信方式解決部F122aは、本発明の第一の実施例における通信方式解決部A122aと同様の機能を持つ。
暗号化通信路設定部F123aは、本発明の第一の実施例における暗号化通信路設定部A123aと比較して、通信方式解決部F122aから渡された名前解決結果に含まれるクライアントノードA1gの通信相手のIPアドレスを、インターセプト用アドレスへマッピングする点が異なる。具体的な動作は以下のとおりである。
暗号化通信路設定部F123aは、通信方式解決部F122aから名前解決結果を渡されると、暗号化通信路設定テーブルF142aを参照して他の通信セッションで使用されていないインターセプト用アドレスを選択し、名前解決結果に含まれるクライアントノードA1gの通信相手のIPアドレスを、前記インターセプト用アドレスへマッピングし、前記インターセプト用アドレスをDNSクエリ・応答送受信部F121aに通知する。また、選択したインターセプト用アドレスと通信方式解決部F122aから渡された名前解決結果およびクライアントノードA1gの通信相手との通信に利用すべき暗号化通信路の設定情報との対応関係を暗号化通信路設定テーブルF142aに登録する。
DNSサーバアドレス設定テーブルA124aには、本発明の第一の実施例におけるDNSサーバアドレス設定テーブルA124aと同様の情報が登録されている。
CUG設定データベースF125aには、本発明の第一の実施例におけるCUG設定テーブルA125aと同様に暗号化通信対象ノード(CUG参加ノード)の識別情報と通信を行う際に利用する暗号化通信路の設定情報が登録され、通信方式解決部F122aがクライアントノードA1gの通信相手の種別を判断する際に参照される。また、CUG設定データベースF125aは、本発明の第一の実施例におけるCUG設定テーブルA125aと同様に、暗号化通信対象ノード毎にノード識別情報と暗号化通信路の設定情報を登録しておくことが可能であり、複数の暗号化通信対象ノードをまとめて一つのグループとして扱い、グループ毎にノード識別情報と暗号化通信路の設定情報を登録しておくことも可能である。さらに、CUG設定データベースF125aは、本発明の第二の実施例におけるCUG設定データベースB15dと同様に、暗号化通信対象ノードの識別情報と通信を行う際に利用する暗号化通信路の設定情報の情報をクライアントノードもしくはクライアントノードのグループ毎に登録しておくことも可能であり、その場合、例えば図6のような形で情報が登録される。
以上がDNS Proxy部F12aの構成である。
次に、データ送受信部A14xの通信暗号化部F141a及び暗号化通信路設定テーブルF142aについて説明する。
暗号化通信路設定テーブルF142aには、クライアントノードA1gの通信相手の名前解決結果(通信相手のIPアドレスなど)及び前記通信相手との通信に用いる暗号化通信路の設定情報と、それらに対応するインターセプト用アドレスが登録される。暗号化通信路設定テーブルF142aは、暗号化通信路設定部F123aがクライアントノードA1gの通信相手のIPアドレスを、インターセプト用アドレスへマッピングする際、及び通信暗号化部F141aが通信の暗号化処理を行う際に参照される。図8に暗号化通信路設定テーブルF142aの例を示す。図8に示した暗号化通信路設定テーブル601では、名前解決結果に含まれる情報として、クライアントノードA1gの通信相手のIPアドレス及びドメイン名が、対応するインターセプト用アドレス毎に登録されている。
通信暗号化部F141aは、クライアントノードA1が暗号化通信対象ノードに対して送信するデータパケットの暗号化処理を行う。以下、暗号化処理の具体的手順について説明する。
クライアントノードA1gが暗号化通信対象ノードと通信を行う場合、クライアントノードA1gから送信されるデータパケットの宛先アドレスには、インターセプト用アドレスが指定されており(暗号化通信対象ノードに対する名前解決要求に対しては、DNS Proxy部F12aによりインターセプト用アドレスが名前解決結果として通知されるため)、前記データパケットは全て通信暗号化ノードF1aがインターセプトすることになる。インターセプトされたデータパケットは通信暗号化部F141aに渡される。通信暗号化部F141aは、インターセプトしたデータパケットの宛先アドレスを元に暗号化通信路設定テーブルF142aを参照し、宛先インターセプト用アドレスと対応付けられている通信相手のIPアドレス及びその通信相手との通信に利用する暗号化通信路の設定情報を把握する。そして、把握した暗号化通信路の設定情報に従ってインターセプトしたデータパケットを暗号化し、クライアントノードA1gの通信相手に送信する。
以下、上記で説明した通信暗号化処理の具体例を説明する。具体例としては、データ送受信部A14xが暗号化通信路設定テーブルF142aとして図8に示したテーブル601を保持しているケースを想定し、通信暗号化ノードF1aが、クライアントノードA1gの送信した宛先アドレスfe80::3090のデータパケットをインターセプトした場合の例を説明する。
通信暗号化部F141aは、まず暗号化通信路設定テーブルF142aを参照して、宛先アドレスfe80::3090に該当するエントリを把握する。この場合、テーブル601の2番目のエントリが該当し、その結果、通信暗号化部F141aは通信に利用する暗号化通信路の設定情報として、通信プロトコル:SSL、電子証明書ID:10、暗号化アルゴリズム:3DESを取得する。次に通信暗号化部F141aは、インターセプトしたデータパケットの宛先アドレスを、fe80::3090から通信相手のIPアドレスであるaa91::1001に書き換え、暗号化通信路の設定情報に従って、3DESアルゴリズムで暗号化した後、SSLプロトコルで通信相手に送信する。
以上が、通信暗号化部F141aによる通信暗号化処理の具体的手順である。
次に、インターセプト用アドレスとして利用できるIPアドレスについて説明する。
インターセプト用アドレスとしては、例えば以下の二つのアドレスが利用できる。
(1)通信暗号化ノードF1a自身のIPアドレス
(2)クライアントノードA1gが属するサブネットのアドレス範囲に含まれない任意のアドレス
(1)の通信暗号化ノードF1a自身のIPアドレスをインターセプト用アドレスとして利用する場合、通信暗号化ノードF1aには複数のIPアドレスが割り当てられていることが必要となる。その理由は、通信暗号化ノードF1aは、クライアントノードA1gが送信したデータパケットの宛先アドレスに指定されているインターセプト用アドレスによってクライアントノードA1gの通信相手を識別するため、同時に複数の通信相手もしくはクライアントノードの利用を想定する場合には、複数のインターセプト用アドレスを使い分けることが必要になるためである。また、インターセプト用アドレスが多くあるほど、より多くの通信相手もしくはクライアントノードの利用が可能となるため、通信暗号化ノードF1aにはできるだけ多くのIPアドレスが割り当てられている方が都合が良い。
(2)のクライアントノードA1gが属するサブネットのアドレス範囲に含まれない任意のアドレスをインターセプト用アドレスとして利用する場合、通信暗号化ノードF1aはクライアントノードA1gのデフォルトゲートウェイとなっている必要がある。デフォルトゲートウェイとなることで、クライアントノードA1gが自身の属するサブネットのアドレス範囲に含まれないアドレス宛にデータパケットを送信した場合、そのデータパケットはルーティング処理のために通信暗号化ノードF1aを経由することになる。クライアントノードA1gの通信相手がクライアントノードA1gの属するサブネット外に存在する場合は、通信相手のIPアドレスを直接インターセプト用アドレスとして利用することが可能である。
次に、本実施例において、クライアントノードA1gが通信相手の名前解決を要求してから、その通信相手と通信を行うまでの通信暗号化ノードF1aの動作を説明する。
通信暗号化ノードF1aの動作は、クライアントノードA1gからDNSクエリを受信した際の動作とクライアントノードA1gが送信したデータパケットをインターセプトした場合の動作に分けられる。
まず、図4を参照してクライアントノードA1gからDNSクエリを受信した際の動作について説明する。
通信暗号化ノードF1aがクライアントノードA1gからDNSクエリメッセージを受信する(ステップS101)と、DNSクエリ・応答送受信部F121aがDNSサーバアドレス設定テーブルF124aに登録されている外部DNSサーバB1aに、受信したDNSクエリメッセージを送信し(ステップS102)、応答としてDNSサーバB1aからDNSレスポンスメッセージを受信する(ステップS103)。
DNSクエリ・応答送受信部F121aは、受信したDNSレスポンスメッセージから名前解決結果を取り出し、通信方式解決部F122aに渡す。
通信方式解決部F122aは、渡された名前解決結果を元に、CUG設定データベースF125aを参照して、通信相手のノード種別(暗号化通信対象ノード、通常通信対象ノードのどちらであるか)を判断する(ステップS104)。その後の動作は通信相手の種別により異なる。
まず、通信相手が通常通信対象ノードである場合について説明する。この場合、通信方式解決部F122aからDNSクエリ・応答送受信部F121aに判断結果が通知され、DNSクエリ・応答送受信部F121aが、DNSサーバB1aから通知された名前解決結果を元に新たにDNSレスポンスメッセージを作成し、クライアントノードA1gに送信する(ステップS106)。
クライアントノードA1gは、DNSレスポンスメッセージを受信すると、受信したDNSレスポンスメッセージにより通知された通信相手のIPアドレスを宛先アドレスとしてデータパケットを送信する。この場合、クライアントノードA1gが送信したデータパケットは、通信暗号化ノードF1aを経由せずに通信相手に直接送信され、通信相手とは通常の通信が行われることになる。
次に、通信相手が暗号化通信対象ノードである場合について説明する。この場合、通信方式解決部F122aは、クライアントノードA1gの通信相手との通信に利用する暗号化通信路の設定情報をCUG設定データベースF125aから把握し、DNSクエリ・応答送受信部F121aから渡された名前解決結果と共に暗号化通信路設定部F123aに渡す。
暗号化通信路設定部F123aは、名前解決結果及び暗号化通信路の設定情報を受け取ると、暗号化通信路設定テーブルF142aを参照し、クライアントノードA1gの通信相手のIPアドレスを、他の通信セッションで使用されていないインターセプト用アドレスへマッピングする。暗号化通信路設定部F123aは、マッピングしたインターセプト用アドレスを通信方式解決部F122aに通知する。また、暗号化通信路設定部F123aは、インターセプト用アドレスと、通信方式解決部F122aから渡された名前解決結果及び通信相手との通信に利用する暗号化通信路設定情報の対応関係を暗号化通信路設定テーブルF142aに登録する(ステップS105)。
通信方式解決部F122aは、暗号化通信路設定部F123aから渡されたインターセプト用アドレスをDNSクエリ・応答送受信部F121aに渡す。
DNSクエリ・応答送受信部F121aは、通信方式解決部F122aからインターセプト用アドレスを通知されると、外部DNSサーバB1aから渡された名前解決結果に含まれる通信相手のアドレスをインターセプト用アドレスに書き換え、DNSレスポンスメッセージを作成し、クライアントノードA1gに送信する。つまり、クライアントノードA1gには、通信相手のドメイン名に対する名前解決結果として、暗号化通信路設定部F123aが選択したインターセプト用アドレスが通知されることになる(ステップS106)。
クライアントノードA1gは、DNSレスポンスメッセージを受信すると、名前解決結果に含まれるインターセプト用アドレスを宛先アドレスに指定してデータパケットを送信する。この結果、前記データパケットは通信暗号化ノードF1aによってインターセプトされ、暗号化処理が行われることになる。
以上が、通信暗号化ノードF1aがクライアントノードA1gからDNSクエリを受信した際の動作である。
次に通信暗号化ノードF1aがクライアントノードA1gの送信したデータパケットをインターセプトした場合の動作について説明する。
通信暗号化ノードF1aが、クライアントノードA1gが送信したデータパケットをインターセプトすると、通信暗号化部F141aは、データパケットの宛先アドレス(インターセプト用アドレスが指定されている)を基に暗号化通信路設定テーブルF142aを参照し、クライアントノードA1gの通信相手との通信に利用すべき暗号化通信路の設定情報及び通信相手のIPアドレスを取得する。そして、通信暗号化部F141aは、取得した暗号化通信路の設定情報を利用して、暗号・復号化処理部F1411aにおいて、インターセプトしたデータパケットに対して暗号化処理を行い、且つデータパケットの宛て先アドレスに通信相手のIPアドレスを設定して、通信相手に対して送信する。
なお、以上の説明では通信相手のノード種別と、通信相手が暗号化通信対象端末であった場合にその通信相手との通信に利用する暗号化通信路設定情報の解決を通信暗号化ノードF1aの内部で行う構成について説明したが、本実施例において、本発明の第二の実施例と同様に、上記解決をDNSサーバB1aで行う構成を採ることも可能である。この場合、DNSサーバB1aの構成は、本発明の第二の実施例における図5に示したDNSサーバB1dと同様の構成を採り、通信暗号化ノードF1aは、図9に示す構成を採る。この場合、DNSクエリ・応答送受信部F121aは、本発明の第二の実施例におけるDNSクエリ・応答送受信部A121dと同様の機能を持つ。
図9に示される通信暗号化ノードF1aは、カーネル部に設けられたデータ送受信部A14xと、図示しないクライアントノード上のアプリケーションが他のノード装置のIPアドレスを解決するために図示しない名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部F12aとを備える。
データ送受信部A14xは、通信相手IPアドレスとインターセプト用アドレスと暗号化通信路設定情報との対応を保持する暗号化通信路設定テーブルF142aと、前記アプリケーションより送信された宛先アドレスにインターセプト用アドレスが設定されたデータパケットを受信し、前記データパケットの宛先アドレスに設定されたインターセプト用アドレスに対応する通信相手IPアドレス及び暗号化通信路設定情報を暗号化通信路設定テーブルF142aから読み出し、前記データパケットの宛先アドレスに前記読み出した通信相手IPアドレスを設定したデータパケットを、前記読み出した暗号化通信路設定情報に従って暗号化して送信する通信暗号化部F141aとを備える。
図示しない名前解決サーバは、名前解決に関連する機能に加えて、暗号化通信対象ノードを特定するドメイン名条件と暗号化通信路設定情報との対応を保持する設定テーブルと、前記名前解決クエリまたは前記名前解決応答に含まれる前記他のノード装置のドメイン名が前記設定テーブルに保持された何れかのドメイン名条件にマッチするかどうかを判定する通信方式解決部と、前記マッチしたドメイン名条件に対応する暗号化通信路設定情報を前記名前解決応答に付加して送信する名前解決応答・クエリ送受信部とを備えている。
そして、名前解決プロキシ部F12aは、前記暗号化通信路設定情報が付加された前記名前解決応答を前記名前解決サーバから受信したときに、前記暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のIPアドレスと他の通信セッションで使用されていないインターセプト用アドレスとの対応を暗号化通信路設定テーブルF142aに登録する暗号化通信路設定部F123a、前記名前解決サーバから受信した名前解決応答に含まれる前記他のノード装置のIPアドレスに対応するインターセプト用アドレスを名前解決応答として前記アプリケーションに送信する名前解決クエリ・応答送受信部F121aとを備える。
次に本実施例の効果について説明する。本実施例では、通信相手の種別判断及び、暗号化通信対象ノードに対する通信暗号化処理が各クライアントノード内ではなく、外部の通信暗号化ノードで行われる。このため、クライアントノードに通信暗号化モジュールをインストールできない場合でも利用することが可能である。さらに、クライアントノード内で通信相手の種別判断及び、暗号化通信対象ノードに対する通信暗号化処理を行う場合と比較して、クライアントノードにかかる負荷が軽減されるため、計算能力が比較的低いノード(例えば携帯電話やPDA等)でも利用することが出来る。
以上本発明の実施例について説明したが、本発明は以上の実施例にのみ限定されず、その他各種の付加変更が可能である。また、本発明のクライアントノード装置、通信暗号化ノード装置、名前解決サーバは、その有する機能をハードウェア的に実現することは勿論、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施例におけるクライアントノード装置、通信暗号化ノード装置、名前解決サーバとして機能させる。

Claims (44)

  1. a)通信方式解決部が、ネットワークに接続されたノード装置と通信を行うアプリケーションが前記ノード装置のIPアドレスを解決するために送信する名前解決クエリ及びその応答である名前解決応答の何れかに含まれるドメイン名に基づいて、前記ノード装置が暗号化通信対象ノードかどうかを判定するステップ、
    b)暗号化通信路設定部が、前記ノード装置が暗号化通信対象ノードである場合に、前記ノード装置のIPアドレスを暗号化通信路設定テーブルに登録するステップ、
    c)名前解決クエリ・応答送受信部が、前記名前解決応答に含まれる前記ノード装置のIPアドレスを前記アプリケーションに送信するステップ、
    d)前記アプリケーションが、宛先アドレスに前記ノード装置のIPアドレスが設定されたデータパケットを送信するステップ、
    e)データ送受信部が、前記アプリケーションより送信された前記データパケットを受信し、前記データパケットの宛先アドレスに設定された通信相手IPアドレスが前記暗号化通信路設定テーブルに登録されていた場合に、前記データパケットを暗号化して送信するステップ、
    を備えることを特徴とする暗号化通信方法。
  2. 請求項1に記載の暗号化通信方法において、
    前記ステップa、b、cの処理が前記アプリケーションが動作するノード装置に設けられた名前解決プロキシ部で実行されることを特徴とする暗号化通信方法。
  3. 請求項1に記載の暗号化通信方法において、
    前記ステップaの処理が名前解決サーバで実行され、前記ステップb、cの処理が前記アプリケーションが動作するノード装置に設けられた名前解決プロキシ部で実行されることを特徴とする暗号化通信方法。
  4. 請求項1に記載の暗号化通信方法において、
    前記通信方式解決部は、暗号化通信の対象ノードのドメイン名の少なくとも一部が登録された設定テーブルを参照して、前記ノード装置が暗号化通信対象ノードかどうかを判定することを特徴とする暗号化通信方法。
  5. a)通信方式解決部が、クライアントノード上のアプリケーションがこのアプリケーションの通信対象である他のノード装置のIPアドレスを解決するために送信する名前解決クエリ及びその応答である名前解決応答の何れかに含まれるドメイン名に基づいて、前記他のノード装置が暗号化通信対象ノードかどうかを判定するステップ、
    b)暗号化通信路設定部が、前記他のノード装置が暗号化通信対象ノードである場合に、前記他のノード装置のIPアドレスと他の通信セッションで使用されていないインターセプト用アドレスとの対応を暗号化通信路設定テーブルに登録するステップ、
    c)名前解決クエリ・応答送受信部が、前記名前解決応答に含まれる前記他のノード装置のIPアドレスに対応するインターセプト用アドレスを名前解決応答として前記アプリケーションに送信するステップ、
    d)前記アプリケーションが、宛先アドレスに前記インターセプト用アドレスが設定されたデータパケットを送信するステップ、
    e)データ送受信部が、前記アプリケーションより送信された前記データパケットを受信し、前記データパケットの宛先アドレスに設定されたインターセプト用アドレスに対応する通信相手IPアドレスを前記暗号化通信路設定テーブルから読み出し、前記読み出した通信相手IPアドレスを前記データパケットの宛先アドレスに設定し、前記設定したデータパケットを暗号化して送信するステップ、
    を備えることを特徴とする暗号化通信方法。
  6. 請求項5に記載の暗号化通信方法において、
    前記ステップa、b、cの処理が前記データ送受信部を備える通信暗号化ノード装置に設けられた名前解決プロキシ部で実行されることを特徴とする暗号化通信方法。
  7. 請求項5に記載の暗号化通信方法において、
    前記ステップaの処理が名前解決サーバで実行され、前記ステップb、cの処理が前記データ送受信部を備える通信暗号化ノード装置に設けられた名前解決プロキシ部で実行されることを特徴とする暗号化通信方法。
  8. 請求項5に記載の暗号化通信方法において、
    前記通信方式解決部は、暗号化通信の対象ノードのドメイン名の少なくとも一部が登録された設定テーブルを参照して、前記他のノード装置が暗号化通信対象ノードかどうかを判定することを特徴とする暗号化通信方法。
  9. ネットワークに接続された他のノード装置と通信を行うアプリケーションと、
    カーネル部に設けられたデータ送受信部と、
    前記アプリケーションが前記他のノード装置のIPアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部とを備え、
    前記データ送受信部は、
    通信相手IPアドレスを保持する暗号化通信路設定テーブルと、
    前記アプリケーションより送信されたデータパケットを受信し、前記データパケットの宛先アドレスに設定された通信相手IPアドレスが前記暗号化通信路設定テーブルに登録されていた場合に、前記データパケットを暗号化して送信する通信暗号化部とを備え、
    前記名前解決プロキシ部は、前記名前解決クエリ及び前記名前解決応答の何れかに含まれる前記他のノード装置のドメイン名に基づいて前記他のノード装置が暗号化通信対象ノードであると判定された場合に、前記名前解決応答で解決された前記他のノード装置のIPアドレスを前記暗号化通信路設定テーブルに登録する暗号化通信路設定部を備えることを特徴とするノード装置。
  10. 請求項9に記載のノード装置において、
    前記暗号化通信路設定テーブルは、前記通信相手IPアドレスを複数保持することを特徴とするノード装置。
  11. 請求項9に記載のノード装置において、
    前記名前解決プロキシ部は、前記他のノード装置のドメイン名に基づいて、前記他のノード装置が暗号化通信対象ノードかどうかを判定する通信方式解決部を更に備えることを特徴とするノード装置。
  12. 請求項11に記載のノード装置において、
    前記暗号化通信路設定テーブルは、通信相手との通信に利用される暗号化通信路設定情報を前記通信相手IPアドレスに対応づけて保持し、
    前記通信暗号化部は、前記受信したデータパケットの宛先アドレスに設定された通信相手IPアドレスが前記暗号化通信路設定テーブルに登録されていた場合に、対応する暗号化通信路設定情報を前記暗号化通信路設定テーブルから読み出し、前記読み出した前記暗号化通信路設定情報に従って前記データパケットを暗号化して送信し、
    前記名前解決プロキシ部は、暗号化通信対象ノードを特定するドメイン名条件と暗号化通信路設定情報との対応を保持する設定テーブルを更に備え、
    前記通信方式解決部は、前記他のノード装置のドメイン名が前記設定テーブルに保持された何れかのドメイン名条件にマッチするときに、前記他のノード装置が暗号化通信対象ノードであると判定し、
    前記暗号化通信路設定部は、前記マッチしたドメイン名条件に対応する暗号化通信路設定情報を前記他のノード装置のIPアドレスに対応づけて前記暗号化通信路設定テーブルに登録することを特徴とするノード装置。
  13. 請求項9に記載のノード装置において、
    前記名前解決プロキシ部は、前記アプリケーションが前記他のノード装置のIPアドレスを解決するために送信した前記名前解決クエリを前記名前解決サーバに送信し、前記他のノード装置が暗号化通信対象ノードかどうかの判定結果と前記他のノード装置のIPアドレスとを含む名前解決応答を前記名前解決サーバから受信し、前記名前解決応答に含まれる前記他のノード装置のIPアドレスを含む名前解決応答を前記アプリケーションに送信する名前解決クエリ・応答送受信部を更に備えることを特徴とするノード装置。
  14. 請求項13に記載のノード装置において、
    前記暗号化通信路設定テーブルは、通信相手との通信に利用される暗号化通信路設定情報を前記通信相手IPアドレスに対応づけて保持し、
    前記通信暗号化部は、前記受信したデータパケットの宛先アドレスに設定された通信相手IPアドレスが前記暗号化通信路設定テーブルに登録されていた場合に、対応する暗号化通信路設定情報を前記暗号化通信路設定テーブルから読み出し、前記読み出した前記暗号化通信路設定情報に従って前記データパケットを暗号化して送信し、
    前記名前解決クエリ・応答送受信部は、前記判定結果と前記他のノード装置のIPアドレスとに加えて更に暗号化通信路設定情報を含む名前解決応答を前記名前解決サーバから受信し、
    前記暗号化通信路設定部は、前記名前解決応答に含まれる前記暗号化通信路設定情報を前記他のノード装置のIPアドレスに対応づけて前記暗号化通信路設定テーブルに登録することを特徴とするノード装置。
  15. 請求項11に記載のノード装置において、
    前記通信方式解決部は、暗号化通信の対象ノードのドメイン名の少なくとも一部が登録された設定テーブルを参照して、前記他のノード装置が暗号化通信対象ノードかどうかを判定することを特徴とするノード装置。
  16. ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するクライアントノード装置に前記ネットワークを通じて接続された通信暗号化ノード装置であって、
    カーネル部に設けられたデータ送受信部と、
    前記アプリケーションが前記他のノード装置のIPアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部とを備え、
    前記データ送受信部は、
    通信相手IPアドレスとインターセプト用アドレスとの対応を保持する暗号化通信路設定テーブルと、
    前記アプリケーションより送信されたデータパケットを受信し、前記データパケットの宛先アドレスに設定されたインターセプト用アドレスに対応する通信相手IPアドレスを前記暗号化通信路設定テーブルから読み出し、前記読み出した通信相手IPアドレスを前記データパケットの宛先アドレスに設定し、前記設定したデータパケットを暗号化して送信する通信暗号化部とを備え、
    前記名前解決プロキシ部は、
    前記名前解決クエリ及び前記名前解決応答の何れかに含まれる前記他のノード装置のドメイン名に基づいて前記他のノード装置が暗号化通信対象ノードであると判定された場合に、前記名前解決応答で解決された前記他のノード装置のIPアドレスと他の通信セッションで使用されていないインターセプト用アドレスとの対応を前記暗号化通信路設定テーブルに登録する暗号化通信路設定部と、
    前記名前解決サーバから受信した名前解決応答に含まれる前記他のノード装置のIPアドレスに対応するインターセプト用アドレスを名前解決応答として前記アプリケーションに送信する名前解決クエリ・応答送受信部とを備えることを特徴とする通信暗号化ノード装置。
  17. 請求項16に記載の通信暗号化ノード装置において、
    前記暗号化通信路設定テーブルは、前記通信相手IPアドレスと前記インターセプト用アドレスとの対応を複数保持することを特徴とする通信暗号化ノード装置。
  18. 請求項16に記載の通信暗号化ノード装置において、
    前記名前解決プロキシ部は、前記他のノード装置のドメイン名に基づいて、前記他のノード装置が暗号化通信対象ノードかどうかを判定する通信方式解決部を更に備えることを特徴とする通信暗号化ノード装置。
  19. 請求項17に記載の通信暗号化ノード装置において、
    前記暗号化通信路設定テーブルは、通信相手との通信に利用される暗号化通信路設定情報を前記通信相手IPアドレス及び前記インターセプト用アドレスに対応づけて保持し、
    前記通信暗号化部は、前記受信したデータパケットの宛先アドレスに設定されたインターセプト用アドレスに対応する通信相手IPアドレス及び暗号化通信路設定情報を前記暗号化通信路設定テーブルから読み出し、前記読み出した通信相手IPアドレスを宛先アドレスに設定したデータパケットを前記読み出した暗号化通信路設定情報に従って暗号化して送信し、
    前記名前解決プロキシ部は、暗号化通信対象ノードを特定するドメイン名条件と暗号化通信路設定情報との対応を保持する設定テーブルを更に備え、
    前記通信方式解決部は、前記他のノード装置のドメイン名が前記設定テーブルに保持された何れかのドメイン名条件にマッチするときに、前記他のノード装置が暗号化通信対象ノードであると判定し、
    前記暗号化通信路設定部は、前記マッチしたドメイン名条件に対応する暗号化通信路設定情報を前記他のノード装置のIPアドレス及び前記インターセプト用アドレスに対応づけて前記暗号化通信路設定テーブルに登録することを特徴とする通信暗号化ノード装置。
  20. 請求項16に記載の通信暗号化ノード装置において、
    前記名前解決クエリ・応答送受信部は、前記アプリケーションが前記他のノード装置のIPアドレスを解決するために送信した前記名前解決クエリを前記名前解決サーバに送信し、前記他のノード装置が暗号化通信対象ノードかどうかの判定結果と前記他のノード装置のIPアドレスとを含む名前解決応答を前記名前解決サーバから受信し、前記他のノード装置が暗号化通信対象ノードであると判定された場合に、前記名前解決応答に含まれる前記他のノード装置のIPアドレスを前記インターセプト用アドレスに置き換えた名前解決応答を前記アプリケーションに送信することを特徴とする通信暗号化ノード装置。
  21. 請求項20に記載の通信暗号化ノード装置において、
    前記暗号化通信路設定テーブルは、通信相手との通信に利用される暗号化通信路設定情報を前記通信相手IPアドレス及び前記インターセプト用アドレスに対応づけて保持し、
    前記通信暗号化部は、前記受信したデータパケットの宛先アドレスに設定されたインターセプト用アドレスに対応する通信相手IPアドレス及び暗号化通信路設定情報を前記暗号化通信路設定テーブルから読み出し、前記読み出した通信相手IPアドレスを宛先アドレスに設定したデータパケットを前記読み出した暗号化通信路設定情報に従って暗号化して送信し、
    前記名前解決クエリ・応答送受信部は、前記判定結果と前記他のノード装置のIPアドレスとに加えて更に暗号化通信路設定情報を含む名前解決応答を前記名前解決サーバから受信し、
    前記暗号化通信路設定部は、前記名前解決応答に含まれる前記暗号化通信路設定情報を前記他のノード装置のIPアドレス及び前記インターセプト用アドレスに対応づけて前記暗号化通信路設定テーブルに登録することを特徴とする通信暗号化ノード装置。
  22. 請求項18に記載の通信暗号化ノード装置において、
    前記通信方式解決部は、暗号化通信の対象ノードのドメイン名の少なくとも一部が登録された設定テーブルを参照して、前記他のノード装置が暗号化通信対象ノードかどうかを判定することを特徴とする通信暗号化ノード装置。
  23. ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するノード装置と、
    前記ノード装置のそれぞれのIPアドレスを解決する名前解決サーバとを備え、
    前記ノード装置は、
    カーネル部に設けられたデータ送受信部と、
    前記アプリケーションが前記他のノード装置のIPアドレスを解決するために前記名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部とを備え、
    前記データ送受信部は、
    通信相手IPアドレスを保持する暗号化通信路設定テーブルと、
    前記アプリケーションより送信されたデータパケットを受信し、前記データパケットの宛先アドレスに設定された通信相手IPアドレスが前記暗号化通信路設定テーブルに登録されていた場合に、前記データパケットを暗号化して送信する通信暗号化部とを備え、
    前記名前解決サーバは、前記名前解決クエリ及び前記名前解決応答の何れかに含まれる前記他のノード装置のドメイン名に基づいて、前記他のノード装置が暗号化通信対象ノードかどうかを判定する通信方式解決部を備え、
    前記名前解決プロキシ部は、前記他のノード装置が暗号化通信対象ノードである場合に、前記名前解決応答で解決された前記他のノード装置のIPアドレスを前記暗号化通信路設定テーブルに登録する暗号化通信路設定部を備えることを特徴とする暗号化通信システム。
  24. 請求項23に記載の暗号化通信システムにおいて、
    前記暗号化通信路設定テーブルは、前記通信相手IPアドレスを複数保持することを特徴とする暗号化通信システム。
  25. 請求項23に記載の暗号化通信システムにおいて、
    前記暗号化通信路設定テーブルは、通信相手との通信に利用される暗号化通信路設定情報を前記通信相手IPアドレスに対応づけて保持し、
    前記通信暗号化部は、前記受信したデータパケットの宛先アドレスに設定された通信相手IPアドレスが前記暗号化通信路設定テーブルに登録されていた場合に、対応する暗号化通信路設定情報を前記暗号化通信路設定テーブルから読み出し、前記読み出した前記暗号化通信路設定情報に従って前記データパケットを暗号化して送信し、
    前記名前解決サーバは、
    暗号化通信対象ノードを特定するドメイン名条件と暗号化通信路設定情報との対応を保持する設定テーブルと、
    前記通信方式解決部として、前記他のノード装置のドメイン名が前記設定テーブルに保持された何れかのドメイン名条件にマッチするかどうかを判定する手段と、
    前記マッチしたドメイン名条件に対応する暗号化通信路設定情報を前記名前解決応答に付加して送信する名前解決応答・クエリ送受信部とを備え、
    前記暗号化通信路設定部は、前記暗号化通信路設定情報が付加された前記名前解決応答を前記名前解決サーバから受信したときに、前記暗号化通信路設定情報を前記他のノード装置のIPアドレスに対応づけて前記暗号化通信路設定テーブルに登録することを特徴とする暗号化通信システム。
  26. 請求項23に記載の暗号化通信システムにおいて、
    前記通信方式解決部は、暗号化通信の対象ノードのドメイン名の少なくとも一部が登録された設定テーブルを参照して、前記他のノード装置が暗号化通信対象ノードかどうかを判定することを特徴とする暗号化通信システム。
  27. ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するクライアントノード装置と、
    前記クライアントノード装置に前記ネットワークを通じて接続された通信暗号化ノード装置と、
    前記ノード装置のそれぞれのIPアドレスを解決する名前解決サーバとを備え、
    前記通信暗号化ノード装置は、
    カーネル部に設けられたデータ送受信部と、
    前記アプリケーションが前記他のノード装置のIPアドレスを解決するために前記名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部とを備え、
    前記データ送受信部は、
    通信相手IPアドレスとインターセプト用アドレスとの対応を保持する暗号化通信路設定テーブルと、
    前記アプリケーションより送信されたデータパケットを受信し、前記データパケットの宛先アドレスに設定されたインターセプト用アドレスに対応する通信相手IPアドレスを前記暗号化通信路設定テーブルから読み出し、前記読み出した通信相手IPアドレスを前記データパケットの宛先アドレスに設定し、前記設定したデータパケットを暗号化して送信する通信暗号化部とを備え、
    前記名前解決サーバは、前記名前解決クエリ及び前記名前解決応答の何れかに含まれる前記他のノード装置のドメイン名に基づいて、前記他のノード装置が暗号化通信対象ノードかどうかを判定する通信方式解決部を備え、
    前記名前解決プロキシ部は、
    前記他のノード装置が暗号化通信対象ノードである場合に、前記名前解決応答で解決された前記他のノード装置のIPアドレスと他の通信セッションで使用されていないインターセプト用アドレスとの対応を前記暗号化通信路設定テーブルに登録する暗号化通信路設定部と、
    前記名前解決サーバから受信した名前解決応答に含まれる前記他のノード装置のIPアドレスに対応するインターセプト用アドレスを名前解決応答として前記アプリケーションに送信する名前解決クエリ・応答送受信部とを備えることを特徴とする暗号化通信システム。
  28. 請求項27に記載の暗号化通信システムにおいて、
    前記暗号化通信路設定テーブルは、通信相手IPアドレスとインターセプト用アドレスとの対応を複数保持することを特徴とする暗号化通信システム。
  29. 請求項27に記載の暗号化通信システムにおいて、
    前記暗号化通信路設定テーブルは、通信相手との通信に利用される暗号化通信路設定情報を前記通信相手IPアドレス及び前記インターセプト用アドレスに対応づけて保持し、
    前記通信暗号化部は、前記受信したデータパケットの宛先アドレスに設定されたインターセプト用アドレスに対応する通信相手IPアドレス及び暗号化通信路設定情報を前記暗号化通信路設定テーブルから読み出し、前記読み出した通信相手IPアドレスを宛先アドレスに設定したデータパケットを前記読み出した暗号化通信路設定情報に従って暗号化して送信し、
    前記名前解決サーバは、
    暗号化通信対象ノードを特定するドメイン名条件と暗号化通信路設定情報との対応を保持する設定テーブルと、
    前記通信方式解決部として、前記他のノード装置のドメイン名が前記設定テーブルに保持された何れかのドメイン名条件にマッチするかどうかを判定する手段と、
    前記マッチしたドメイン名条件に対応する暗号化通信路設定情報を前記名前解決応答に付加して送信する名前解決応答・クエリ送受信部とを備え、
    前記暗号化通信路設定部は、前記暗号化通信路設定情報が付加された前記名前解決応答を前記名前解決サーバから受信したときに、前記暗号化通信路設定情報を前記他のノード装置のIPアドレス及び前記インターセプト用アドレスに対応づけて前記暗号化通信路設定テーブルに登録することを特徴とする暗号化通信システム。
  30. 請求項27に記載の暗号化通信システムにおいて、
    前記通信方式解決部は、暗号化通信の対象ノードのドメイン名の少なくとも一部が登録された設定テーブルを参照して、前記他のノード装置が暗号化通信対象ノードかどうかを判定することを特徴とする暗号化通信システム。
  31. ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するノード装置を構成するコンピュータを、
    カーネル部のデータ送受信部に設けられた通信暗号化手段、前記アプリケーションが前記他のノード装置のIPアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ手段、として機能させるプログラムであり、
    前記通信暗号化手段は、前記アプリケーションより送信されたデータパケットを受信し、前記データパケットの宛先アドレスに設定された通信相手IPアドレスが、通信相手IPアドレスを保持する暗号化通信路設定テーブルに登録されていた場合に、前記データパケットを暗号化して送信するものであり、
    前記名前解決プロキシ手段は、前記名前解決クエリ及び前記名前解決応答の何れかに含まれる前記他のノード装置のドメイン名に基づいて前記他のノード装置が暗号化通信対象ノードであると判定された場合に、前記名前解決応答で解決された前記他のノード装置のIPアドレスを前記暗号化通信路設定テーブルに登録する暗号化通信路設定手段を備えることを特徴とするプログラム。
  32. 請求項31に記載のプログラムにおいて、
    前記暗号化通信路設定テーブルは、前記通信相手IPアドレスを複数保持することを特徴とするプログラム。
  33. 請求項31に記載のプログラムにおいて、
    前記名前解決プロキシ手段は、前記他のノード装置のドメイン名に基づいて、前記他のノード装置が暗号化通信対象ノードかどうかを判定する通信方式解決手段を更に備えることを特徴とするプログラム。
  34. 請求項33に記載のプログラムにおいて、
    前記暗号化通信路設定テーブルは、通信相手との通信に利用される暗号化通信路設定情報を前記通信相手IPアドレスに対応づけて保持し、
    前記通信暗号化手段は、前記受信したデータパケットの宛先アドレスに設定された通信相手IPアドレスが前記暗号化通信路設定テーブルに登録されていた場合に、対応する暗号化通信路設定情報を前記暗号化通信路設定テーブルから読み出し、前記読み出した前記暗号化通信路設定情報に従って前記データパケットを暗号化して送信し、
    前記通信方式解決手段は、前記他のノード装置のドメイン名が、暗号化通信対象ノードを特定するドメイン名条件と暗号化通信路設定情報との対応を保持する設定テーブルに保持された何れかのドメイン名条件にマッチするときに、前記他のノード装置が暗号化通信対象ノードであると判定し、
    前記暗号化通信路設定手段は、前記マッチしたドメイン名条件に対応する暗号化通信路設定情報を前記他のノード装置のIPアドレスに対応づけて前記暗号化通信路設定テーブルに登録することを特徴とするプログラム。
  35. 請求項31に記載のプログラムにおいて、
    前記名前解決プロキシ手段は、前記アプリケーションが前記他のノード装置のIPアドレスを解決するために送信した前記名前解決クエリを前記名前解決サーバに送信し、前記他のノード装置が暗号化通信対象ノードかどうかの判定結果と前記他のノード装置のIPアドレスとを含む名前解決応答を前記名前解決サーバから受信し、前記名前解決応答に含まれる前記他のノード装置のIPアドレスを含む名前解決応答を前記アプリケーションに送信する名前解決クエリ・応答送受信手段を更に備えることを特徴とするプログラム。
  36. 請求項35に記載のプログラムにおいて、
    前記暗号化通信路設定テーブルは、通信相手との通信に利用される暗号化通信路設定情報を前記通信相手IPアドレスに対応づけて保持し、
    前記通信暗号化手段は、前記受信したデータパケットの宛先アドレスに設定された通信相手IPアドレスが前記暗号化通信路設定テーブルに登録されていた場合に、対応する暗号化通信路設定情報を前記暗号化通信路設定テーブルから読み出し、前記読み出した前記暗号化通信路設定情報に従って前記データパケットを暗号化して送信し、
    前記名前解決クエリ・応答送受信手段は、前記判定結果と前記他のノード装置のIPアドレスとに加えて更に暗号化通信路設定情報を含む名前解決応答を前記名前解決サーバから受信し、
    前記暗号化通信路設定手段は、前記名前解決応答に含まれる前記暗号化通信路設定情報を前記他のノード装置のIPアドレスに対応づけて前記暗号化通信路設定テーブルに登録することを特徴とするプログラム。
  37. 請求項33に記載のプログラムにおいて、
    前記通信方式解決手段は、暗号化通信の対象ノードのドメイン名の少なくとも一部が登録された設定テーブルを参照して、前記他のノード装置が暗号化通信対象ノードかどうかを判定することを特徴とするプログラム。
  38. ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するクライアントノード装置に前記ネットワークを通じて接続された通信暗号化ノード装置を構成するコンピュータを、
    カーネル部のデータ送受信部に設けられた通信暗号化手段、前記アプリケーションが前記他のノード装置のIPアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ手段、として機能させるプログラムであり、
    前記通信暗号化手段は、前記アプリケーションより送信されたデータパケットを受信し、前記データパケットの宛先アドレスに設定されたインターセプト用アドレスに対応する通信相手IPアドレスを、通信相手IPアドレスとインターセプト用アドレスとの対応を保持する暗号化通信路設定テーブルから読み出し、前記読み出した通信相手IPアドレスを前記データパケットの宛先アドレスに設定し、前記設定したデータパケットを暗号化して送信するものであり、
    前記名前解決プロキシ手段は、
    前記名前解決クエリ及び前記名前解決応答の何れかに含まれる前記他のノード装置のドメイン名に基づいて前記他のノード装置が暗号化通信対象ノードであると判定された場合に、前記名前解決応答で解決された前記他のノード装置のIPアドレスと他の通信セッションで使用されていないインターセプト用アドレスとの対応を前記暗号化通信路設定テーブルに登録する暗号化通信路設定手段と、
    前記名前解決サーバから受信した名前解決応答に含まれる前記他のノード装置のIPアドレスに対応するインターセプト用アドレスを名前解決応答として前記アプリケーションに送信する名前解決クエリ・応答送受信手段とを備えることを特徴とするプログラム。
  39. 請求項38に記載のプログラムにおいて、
    前記暗号化通信路設定テーブルは、前記通信相手IPアドレスと前記インターセプト用アドレスとの対応を複数保持することを特徴とするプログラム。
  40. 請求項38に記載のプログラムにおいて、
    前記名前解決プロキシ手段は、前記他のノード装置のドメイン名に基づいて、前記他のノード装置が暗号化通信対象ノードかどうかを判定する通信方式解決手段を更に備えることを特徴とするプログラム。
  41. 請求項40に記載のプログラムにおいて、
    前記暗号化通信路設定テーブルは、通信相手との通信に利用される暗号化通信路設定情報を前記通信相手IPアドレス及び前記インターセプト用アドレスに対応づけて保持し、
    前記通信暗号化手段は、前記受信したデータパケットの宛先アドレスに設定されたインターセプト用アドレスに対応する通信相手IPアドレス及び暗号化通信路設定情報を前記暗号化通信路設定テーブルから読み出し、前記読み出した通信相手IPアドレスを宛先アドレスに設定したデータパケットを前記読み出した暗号化通信路設定情報に従って暗号化して送信し、
    前記通信方式解決手段は、前記他のノード装置のドメイン名が、暗号化通信対象ノードを特定するドメイン名条件と暗号化通信路設定情報との対応を保持する設定テーブルに保持された何れかのドメイン名条件にマッチするときに、前記他のノード装置が暗号化通信対象ノードであると判定し、
    前記暗号化通信路設定手段は、前記マッチしたドメイン名条件に対応する暗号化通信路設定情報を前記他のノード装置のIPアドレス及び前記インターセプト用アドレスに対応づけて前記暗号化通信路設定テーブルに登録することを特徴とするプログラム。
  42. 請求項38に記載のプログラムにおいて、
    前記名前解決クエリ・応答送受信手段は、前記アプリケーションが前記他のノード装置のIPアドレスを解決するために送信した前記名前解決クエリを前記名前解決サーバに送信し、前記他のノード装置が暗号化通信対象ノードかどうかの判定結果と前記他のノード装置のIPアドレスとを含む名前解決応答を前記名前解決サーバから受信し、前記他のノード装置が暗号化通信対象ノードであると判定された場合に、前記名前解決応答に含まれる前記他のノード装置のIPアドレスを前記インターセプト用アドレスに置き換えた名前解決応答を前記アプリケーションに送信することを特徴とするプログラム。
  43. 請求項42に記載のプログラムにおいて、
    前記暗号化通信路設定テーブルは、通信相手との通信に利用される暗号化通信路設定情報を前記通信相手IPアドレス及び前記インターセプト用アドレスに対応づけて保持し、
    前記通信暗号化手段は、前記受信したデータパケットの宛先アドレスに設定されたインターセプト用アドレスに対応する通信相手IPアドレス及び暗号化通信路設定情報を前記暗号化通信路設定テーブルから読み出し、前記読み出した通信相手IPアドレスを宛先アドレスに設定したデータパケットを前記読み出した暗号化通信路設定情報に従って暗号化して送信し、
    前記名前解決クエリ・応答送受信手段は、前記判定結果と前記他のノード装置のIPアドレスとに加えて更に暗号化通信路設定情報を含む名前解決応答を前記名前解決サーバから受信し、
    前記暗号化通信路設定手段は、前記名前解決応答に含まれる前記暗号化通信路設定情報を前記他のノード装置のIPアドレス及び前記インターセプト用アドレスに対応づけて前記暗号化通信路設定テーブルに登録することを特徴とするプログラム。
  44. 請求項40に記載のプログラムにおいて、
    前記通信方式解決手段は、暗号化通信の対象ノードのドメイン名の少なくとも一部が登録された設定テーブルを参照して、前記他のノード装置が暗号化通信対象ノードかどうかを判定することを特徴とするプログラム。
JP2005516990A 2004-01-14 2004-12-28 暗号化通信方法 Expired - Fee Related JP4483786B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004006542 2004-01-14
JP2004006542 2004-01-14
PCT/JP2004/019593 WO2005069532A1 (ja) 2004-01-14 2004-12-28 暗号化通信方法

Publications (2)

Publication Number Publication Date
JPWO2005069532A1 JPWO2005069532A1 (ja) 2007-12-27
JP4483786B2 true JP4483786B2 (ja) 2010-06-16

Family

ID=34792147

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005516990A Expired - Fee Related JP4483786B2 (ja) 2004-01-14 2004-12-28 暗号化通信方法

Country Status (5)

Country Link
US (1) US7774592B2 (ja)
EP (1) EP1705827B1 (ja)
JP (1) JP4483786B2 (ja)
TW (1) TW200527870A (ja)
WO (1) WO2005069532A1 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10511573B2 (en) 1998-10-30 2019-12-17 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
US7418504B2 (en) 1998-10-30 2008-08-26 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
ATE441275T1 (de) 1998-10-30 2009-09-15 Virnetx Inc Netzwerkprotokol zur sicheren kommunikation mit gesicherter systemverfügbarkeit
US6502135B1 (en) 1998-10-30 2002-12-31 Science Applications International Corporation Agile network protocol for secure communications with assured system availability
US7188180B2 (en) * 1998-10-30 2007-03-06 Vimetx, Inc. Method for establishing secure communication link between computers of virtual private network
TW200529623A (en) * 2004-01-14 2005-09-01 Nec Corp Communication encryption method, communication encryption system, terminal device, DNS server and program
US20080016215A1 (en) * 2006-07-13 2008-01-17 Ford Daniel E IP address pools for device configuration
CN101123785B (zh) 2006-08-11 2013-01-23 华为技术有限公司 一种通信系统中管理终端的方法和系统
US9860274B2 (en) 2006-09-13 2018-01-02 Sophos Limited Policy management
US8181014B2 (en) * 2007-05-09 2012-05-15 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for protecting the routing of data packets
US8332635B2 (en) * 2007-05-29 2012-12-11 International Business Machines Corporation Updateable secure kernel extensions
US8433927B2 (en) * 2007-05-29 2013-04-30 International Business Machines Corporation Cryptographically-enabled privileged mode execution
US8422674B2 (en) * 2007-05-29 2013-04-16 International Business Machines Corporation Application-specific secret generation
US7886162B2 (en) * 2007-05-29 2011-02-08 International Business Machines Corporation Cryptographic secure program overlays
US7895463B2 (en) * 2007-08-28 2011-02-22 Cisco Technology, Inc. Redundant application network appliances using a low latency lossless interconnect link
US8543107B1 (en) 2007-09-24 2013-09-24 Sprint Spectrum L.P. Method and system for delivering short message service (SMS) messages using the session initiation protocol (SIP)
US8332636B2 (en) * 2007-10-02 2012-12-11 International Business Machines Corporation Secure policy differentiation by secure kernel design
US10116580B2 (en) * 2008-06-27 2018-10-30 Microsoft Technology Licensing, Llc Seamless location aware network connectivity
US8429715B2 (en) * 2008-08-08 2013-04-23 Microsoft Corporation Secure resource name resolution using a cache
US7917616B2 (en) 2008-08-08 2011-03-29 Microsoft Corporation Secure resource name resolution
WO2012016383A1 (en) * 2010-08-05 2012-02-09 Northeastern University Technology Transfer Center Method and device for encryption/decryption and communication system
US8407471B1 (en) * 2010-08-24 2013-03-26 Symantec Corporation Selecting a network service for communicating with a server
IL210169A0 (en) 2010-12-22 2011-03-31 Yehuda Binder System and method for routing-based internet security
US10565394B2 (en) 2012-10-25 2020-02-18 Verisign, Inc. Privacy—preserving data querying with authenticated denial of existence
US9363288B2 (en) 2012-10-25 2016-06-07 Verisign, Inc. Privacy preserving registry browsing
JP6114565B2 (ja) * 2013-02-06 2017-04-12 株式会社日立システムズ パブリッククラウドサービス利用支援システム及び同利用支援方法、パブリッククラウド管理ツール及び同クラウド管理方法
CN103957284B (zh) * 2014-04-04 2015-09-09 北京奇虎科技有限公司 Dns行为的处理方法、装置及系统
US9596079B1 (en) * 2016-04-14 2017-03-14 Wickr Inc. Secure telecommunications
US10885211B2 (en) 2017-09-12 2021-01-05 Sophos Limited Securing interprocess communications
US10958668B1 (en) 2017-12-21 2021-03-23 Palo Alto Networks, Inc. Finding malicious domains with DNS query pattern analysis
US11190487B2 (en) * 2018-02-28 2021-11-30 Palo Alto Networks, Inc. Identifying security risks and enforcing policies on encrypted/encoded network communications
WO2020127148A1 (en) * 2018-12-21 2020-06-25 Telefonaktiebolaget Lm Ericsson (Publ) User data traffic handling
US11172013B2 (en) 2019-01-31 2021-11-09 Open Text Corporation System and method for launching and connecting to a local server from a webpage
US11038857B1 (en) * 2019-02-14 2021-06-15 Sprint Communications Company L.P. Data messaging service with distributed ledger control
US11245537B2 (en) * 2019-06-07 2022-02-08 Open Text Corporation System and method for a local server with self-signed certificates
JP2021162778A (ja) * 2020-04-01 2021-10-11 キヤノン株式会社 通信装置、通信装置の制御方法及びプログラム
US11843580B2 (en) * 2021-05-04 2023-12-12 Oracle International Corporation Methods, systems, and computer readable media for platform firewall management by network function (NF) repository function (NRF) or service communication proxy (SCP)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000099429A (ja) * 1998-09-25 2000-04-07 Nippon Telegr & Teleph Corp <Ntt> ネットワーク接続状態判別方法及びその装置
JP2000183951A (ja) * 1998-12-18 2000-06-30 Pfu Ltd 暗号化システムおよび記録媒体
JP2001320403A (ja) * 2000-05-11 2001-11-16 Mitsubishi Electric Systemware Corp メール送信装置、メール受信装置、メール送信方法、メール受信方法及びコンピュータに実行させるためのプログラムを記録したコンピュータ読みとり可能な記録媒体
US6961783B1 (en) * 2001-12-21 2005-11-01 Networks Associates Technology, Inc. DNS server access control system and method
JP2005101890A (ja) * 2003-09-25 2005-04-14 Toshiba Corp 名前登録仲介装置、名前解決仲介装置、名前解決システム、名前解決方法、名前登録仲介プログラムおよび名前解決仲介プログラム
US9154472B2 (en) * 2006-07-12 2015-10-06 Intuit Inc. Method and apparatus for improving security during web-browsing
US20090216875A1 (en) * 2008-02-26 2009-08-27 Barracuda Inc. Filtering secure network messages without cryptographic processes method

Also Published As

Publication number Publication date
EP1705827B1 (en) 2014-08-20
TW200527870A (en) 2005-08-16
US7774592B2 (en) 2010-08-10
JPWO2005069532A1 (ja) 2007-12-27
EP1705827A4 (en) 2009-08-05
US20080235507A1 (en) 2008-09-25
WO2005069532A1 (ja) 2005-07-28
EP1705827A1 (en) 2006-09-27

Similar Documents

Publication Publication Date Title
JP4483786B2 (ja) 暗号化通信方法
JP4752510B2 (ja) 暗号化通信システム
US10356040B2 (en) System and method for suppressing DNS requests
US9819513B2 (en) System and method for suppressing DNS requests
US9602411B2 (en) System and method for suppressing DNS requests
WO2022204198A1 (en) A unified network service that connects multiple disparate private networks and end user client devices operating on separate networks
Henderson et al. The Host Identity Protocol (HIP) Experiment Report
EP3472985A1 (en) System and method for suppressing dns requests
WO2014001871A1 (en) System and method for facilitating communication between multiple networks
CN112470438B (zh) 用于发现中间功能和选择两个通信装置之间的路径的方法
WO2019239702A1 (ja) パケット通信システム
US11888840B2 (en) Apparatus and method for selection and transmission of server certificate
US20230379150A1 (en) Methods and apparatuses for providing communication between a server and a client device via a proxy node
Kampanakis anima Working Group M. Richardson Internet-Draft Sandelman Software Works Intended status: Standards Track P. van der Stok Expires: May 31, 2021 vanderstok consultancy
Kampanakis anima Working Group M. Richardson Internet-Draft Sandelman Software Works Intended status: Standards Track P. van der Stok Expires: June 1, 2021 vanderstok consultancy
Kampanakis anima Working Group M. Richardson Internet-Draft Sandelman Software Works Intended status: Standards Track P. van der Stok Expires: June 4, 2021 vanderstok consultancy
Alhoaimel Performance Evaluation of IPv6 and the Role of IPsec in Encrypting Data
Kampanakis anima Working Group M. Richardson Internet-Draft Sandelman Software Works Intended status: Standards Track P. van der Stok Expires: August 8, 2021 vanderstok consultancy
Kampanakis anima Working Group M. Richardson Internet-Draft Sandelman Software Works Intended status: Standards Track P. van der Stok Expires: August 7, 2021 vanderstok consultancy
JP2014220707A (ja) ネットワークシステム、通信制御方法、通信制御装置及び通信制御プログラム
Rahman et al. CoRE Working Group A. Castellani Internet-Draft University of Padova Intended status: Informational S. Loreto Expires: October 29, 2012 Ericsson
Rahman et al. CoRE Working Group A. Castellani Internet-Draft University of Padova Intended status: Informational S. Loreto Expires: January 12, 2012 Ericsson
Rahman et al. CoRE Working Group A. Castellani Internet-Draft University of Padova Intended status: Informational S. Loreto Expires: September 13, 2012 Ericsson

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071112

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100315

R150 Certificate of patent or registration of utility model

Ref document number: 4483786

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130402

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130402

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140402

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees