(57)【特許請求の範囲】
【請求項１】
ネットワークに接続された他のノード装置と暗号化通信を行うアプリケーションが、自ノード内で閉じた通信を行うためのＩＰアドレスであるループバックアドレスが宛先アドレスに設定されたデータパケットを送信するステップａと、
独立したプロセスとして動作する通信暗号化モジュールが、前記アプリケーションより送信された宛先アドレスにループバックアドレスが設定されたデータパケットを受信し、通信相手ＩＰアドレスとループバックアドレスとの対応を複数保持する第１の暗号化通信路設定テーブルから、前記データパケットの宛先アドレスに設定されたループバックアドレスに対応する通信相手ＩＰアドレスを読み出し、前記データパケットの宛先アドレスを前記読み出した通信相手ＩＰアドレスに書き換え且つ前記データパケットを暗号化して送信するステップｂと
を備えることを特徴とする暗号化通信方法。
【請求項２】
請求項１に記載の暗号化通信方法において、
通信方式解決部が、前記アプリケーションが前記他のノードのＩＰアドレスを解決するために送信する名前解決クエリ及びその応答である名前解決応答の何れかに含まれるドメイン名に基づいて、前記他のノード装置が暗号化通信対象ノードかどうかを判定するステップｃと、
暗号化通信路設定部が、前記他のノード装置が暗号化通信対象ノードである場合に、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていないループバックアドレスとの対応を前記第１の暗号化通信路設定テーブルに登録するステップｄと、
名前解決クエリ・応答送受信部が、前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを前記対応中の前記ループバックアドレスに置き換えた名前解決応答を前記アプリケーションに送信するステップｅと
を更に備え、この後に前記ステップａ、ｂを行なうことを特徴とする暗号化通信方法。
【請求項３】
請求項１に記載の暗号化通信方法において、
通信方式解決部が、前記他のノード装置のＩＰアドレスに基づいて前記他のノード装置が暗号化通信対象ノードかどうかを判定するステップｃと、
暗号化通信路設定部が、前記他のノード装置が暗号化通信対象ノードである場合に、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていないループバックアドレスとの対応を前記第１の暗号化通信路設定テーブルに登録するステップｄと、
名前解決クエリ・応答送受信部が、前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを前記対応中の前記ループバックアドレスに置き換えた名前解決応答を前記アプリケーションに送信するステップｅと
を更に備え、この後に前記ステップａ、ｂを行なうことを特徴とする暗号化通信方法。
【請求項４】
請求項１に記載の暗号化通信方法において、
前記アプリケーションが、宛先アドレスに前記他のノードのＩＰアドレスが設定されたデータパケットを送信するステップｆと、
カーネル部に設けられたデータ送受信部が、前記アプリケーションより送信された宛先アドレスに前記他のノードのＩＰアドレスが設定されたデータパケットを受信し、通信相手ＩＰアドレスを保持する第２の暗号化通信路設定テーブルに前記データパケットの宛先アドレスに設定された通信相手ＩＰアドレスが登録されていた場合、前記データパケットを暗号化して送信するステップｇと
を更に備えることを特徴とする暗号化通信方法。
【請求項５】
請求項４に記載の暗号化通信方法において、
通信方式解決部が、前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために送信する名前解決クエリ及びその応答である名前解決応答に含まれるドメイン名に基づいて前記他のノード装置が暗号化通信対象ノードかどうか、及び暗号化通信対象ノードである場合には通信の暗号化を前記通信暗号化モジュール及び前記データ送受信部の何れで行うかを判定するステップｃと、
暗号化通信路設定部が、前記他のノード装置が暗号化通信対象ノードであり且つ通信の暗号化を前記通信暗号化モジュールで行うと判定された場合に、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていないループバックアドレスとの対応を前記第１の暗号化通信路設定テーブルに登録し、前記他のノード装置が暗号化通信対象ノードであり且つ通信の暗号化を前記データ送受信部で行うと判定された場合に、前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを前記第２の暗号化通信路設定テーブルに登録するステップｄと、
名前解決クエリ・応答送受信部が、前記他のノード装置が暗号化通信対象ノードであり且つ通信の暗号化を前記通信暗号化モジュールで行うと判定された場合に、前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを前記対応中の前記ループバックアドレスに置き換えた名前解決応答を前記アプリケーションに送信し、それ以外の場合には前記他のノード装置のＩＰアドレスを含む名前解決応答を前記アプリケーションに送信するステップｅと
を更に備え、この後に前記ステップａ、ｂ及び前記ステップｆ、ｇの何れかを行なうことを特徴とする暗号化通信方法。
【請求項６】
請求項５に記載の暗号化通信方法において、
通信方式解決部が、前記他のノード装置のＩＰアドレスに基づいて前記他のノード装置が暗号化通信対象ノードかどうか、及び暗号化通信対象ノードである場合には通信の暗号化を前記通信暗号化モジュール及び前記データ送受信部の何れで行うかを判定するステップｃと、
暗号化通信路設定部が、前記他のノード装置が暗号化通信対象ノードであり且つ通信の暗号化を前記通信暗号化モジュールで行うと判定された場合に、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていないループバックアドレスとの対応を前記第１の暗号化通信路設定テーブルに登録し、前記他のノード装置が暗号化通信対象ノードであり且つ通信の暗号化を前記データ送受信部で行うと判定された場合に、前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを前記第２の暗号化通信路設定テーブルに登録するステップｄと、
名前解決クエリ・応答送受信部が、前記他のノード装置が暗号化通信対象ノードであり且つ通信の暗号化を前記通信暗号化モジュールで行うと判定された場合に、前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを前記対応中の前記ループバックアドレスに置き換えた名前解決応答を前記アプリケーションに送信し、それ以外の場合には前記他のノード装置のＩＰアドレスを含む名前解決応答を前記アプリケーションに送信するステップｅと
を更に備え、この後に前記ステップａ、ｂ及び前記ステップｆ、ｇの何れかを行なうことを特徴とする暗号化通信方法。
【請求項７】
ネットワークに接続された他のノード装置と暗号化通信を行うクライアントノード上のアプリケーションが、宛先アドレスに第１のインターセプト用アドレスが設定されたデータパケットを送信するステップａと、
通信暗号化ノードに設けられ独立したプロセスとして動作する通信暗号化モジュールが、前記アプリケーションより送信された宛先アドレスに第１のインターセプト用アドレスが設定されたデータパケットを受信し、通信相手ＩＰアドレスと第１のインターセプト用アドレスとの対応を複数保持する第１の暗号化通信路設定テーブルから、前記データパケットの宛先アドレスに設定された第１のインターセプト用アドレスに対応する通信相手ＩＰアドレスを読み出し、前記データパケットの宛先アドレスに前記読み出した通信相手ＩＰアドレスを設定したデータパケットを暗号化して送信するステップｂと
を備えることを特徴とする暗号化通信方法。
【請求項８】
請求項７に記載の暗号化通信方法において、
通信方式解決部が、前記アプリケーションが前記他のノードのＩＰアドレスを解決するために送信する名前解決クエリ及びその応答である名前解決応答の何れかに含まれるドメイン名に基づいて、前記他のノード装置が暗号化通信対象ノードかどうかを判定するステップｃと、
暗号化通信路設定部が、前記他のノード装置が暗号化通信対象ノードである場合に、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていない第１のインターセプト用アドレスとの対応を前記第１の暗号化通信路設定テーブルに登録するステップｄと、
名前解決クエリ・応答送受信部が、前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスに対応する第１のインターセプト用アドレスを名前解決応答として前記アプリケーションに送信するステップｅと
を更に備え、この後に前記ステップａ、ｂを行なうことを特徴とする暗号化通信方法。
【請求項９】
請求項７に記載の暗号化通信方法において、
通信方式解決部が、前記他のノード装置のＩＰアドレスに基づいて前記他のノード装置が暗号化通信対象ノードかどうかを判定するステップｃと、
暗号化通信路設定部が、前記他のノード装置が暗号化通信対象ノードである場合に、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていない第１のインターセプト用アドレスとの対応を前記第１の暗号化通信路設定テーブルに登録するステップｄと、
名前解決クエリ・応答送受信部が、前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスに対応する第１のインターセプト用アドレスを名前解決応答として前記アプリケーションに送信するステップｅと
を更に備え、この後に前記ステップａ、ｂを行なうことを特徴とする暗号化通信方法。
【請求項１０】
請求項７に記載の暗号化通信方法において、
前記アプリケーションが、宛先アドレスに第２のインターセプト用アドレスが設定されたデータパケットを送信するステップｆと、
前記通信暗号化ノードのカーネル部に設けられたデータ送受信部が、前記アプリケーションより送信された宛先アドレスに第２のインターセプト用アドレスが設定されたデータパケットを受信し、通信相手ＩＰアドレスと第２のインターセプト用アドレスとの対応を複数を保持する第２の暗号化通信路設定テーブルから、前記データパケットの宛先アドレスに設定された第２のインターセプト用アドレスに対応する通信相手ＩＰアドレスを読み出し、前記データパケットの宛先アドレスに前記読み出した通信相手ＩＰアドレスを設定したデータパケットを暗号化して送信するステップｇと
を更に備えることを特徴とする暗号化通信方法。
【請求項１１】
請求項１０に記載の暗号化通信方法において、
通信方式解決部が、前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために送信する名前解決クエリ及びその応答である名前解決応答に含まれるドメイン名に基づいて前記他のノード装置が暗号化通信対象ノードかどうか、及び暗号化通信対象ノードである場合には通信の暗号化を前記通信暗号化モジュール及び前記データ送受信部の何れで行うかを判定するステップｃと、
暗号化通信路設定部が、前記他のノード装置が暗号化通信対象ノードであり且つ通信の暗号化を前記通信暗号化モジュールで行うと判定された場合に、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていない第１のインターセプト用アドレスとの対応を前記第１の暗号化通信路設定テーブルに登録し、前記他のノード装置が暗号化通信対象ノードであり且つ通信の暗号化を前記データ送受信部で行うと判定された場合に、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていない第２のインターセプト用アドレスとの対応を前記第２の暗号化通信路設定テーブルに登録するステップｄと、
名前解決クエリ・応答送受信部が、前記他のノード装置が暗号化通信対象ノードであり且つ通信の暗号化を前記通信暗号化モジュールで行うと判定された場合に、前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを前記対応中の前記第１のインターセプト用アドレスに置き換えた名前解決応答を前記アプリケーションに送信し、前記他のノード装置が暗号化通信対象ノードであり且つ通信の暗号化を前記データ送受信部で行うと判定された場合に、前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを前記対応中の前記第２のインターセプト用アドレスに置き換えた名前解決応答を前記アプリケーションに送信するステップｅと
を更に備え、この後に前記ステップａ、ｂ及び前記ステップｆ、ｇの何れかを行なうことを特徴とする暗号化通信方法。
【請求項１２】
ネットワークに接続された他のノード装置と暗号化通信を行うアプリケーションが、宛先アドレスに前記他のノード装置のＩＰアドレスが設定されたデータパケットを送信するステップａと、
カーネル部のデータ送受信部に設けられたリダイレクト部が、前記アプリケーションから他のノード装置宛に送信された前記データパケットをインターセプトし、暗号化対象とするデータパケットを判断するための判断基準と通信相手識別情報の書き換えルールとを保持するリダイレクトテーブルを参照し、前記リダイレクトテーブルに保持された判断基準に基づいて当該データパケットが暗号化対象となるデータパケットかどうかを判断し、暗号化対象となるデータパケットの場合には前記書き換えルールに従ってデータパケットの所定の情報を書き換えて前記データパケットを通信暗号化モジュールにリダイレクトするステップｂと、
前記通信暗号化モジュールが、前記データ送受信部よりリダイレクトされる前記データパケットの前記通信相手識別情報の書き換えルールと前記アプリケーションの他のノード装置のＩＰアドレスとの対応を記憶する暗号化通信路設定テーブルを参照して、前記データ送受信部よりリダイレクトされた前記データパケットの前記通信相手識別情報を書き換え前記他のノード装置の宛先ＩＰアドレスを設定した前記データパケットを前記他のノード装置に暗号化して送信するステップｃと
を備えることを特徴とする暗号化通信方法。
【請求項１３】
請求項１２に記載の暗号化通信方法において、
通信方式解決部が、前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために送信する名前解決クエリ及びその応答である名前解決応答の何れかに含まれるドメイン名に基づいて前記他のノード装置が暗号化通信対象ノードかどうかを判定するステップｄと、
暗号化通信路設定部が、前記他のノード装置が暗号化通信対象ノードである場合に、暗号化対象とする前記データパケットを判断するための判断基凖と通信相手識別情報の書き換えルールとを前記リダイレクトテーブルに登録すると共に、前記データパケットの前記通信相手識別情報の書き換えルールと前記アプリケーションの他のノード装置のＩＰアドレスとの対応を前記暗号化通信路設定テーブルに登録するステップｅと
を更に備え、この後に前記ステップａ、ｂ、ｃを行なうことを特徴とする暗号化通信方法。
【請求項１４】
請求項１２に記載の暗号化通信方法において、
通信方式解決部が、前記他のノード装置のＩＰアドレスに基づいて前記他のノード装置が暗号化通信対象ノードかどうかを判定するステップｄと、
暗号化通信路設定部が、前記他のノード装置が暗号化通信対象ノードである場合に、暗号化対象とする前記データパケットを判断するための判断基準と通信相手識別情報の書き換えルールとを前記リダイレクトテーブルに登録すると共に、前記データパケットの前記通信相手識別情報の書き換えルールと前記アプリケーションの他のノード装置のＩＰアドレスとの対応を前記暗号化通信路設定テーブルに登録するステップｅと
を更に備え、この後に前記ステップａ、ｂ、ｃを行なうことを特徴とする暗号化通信方法。
【請求項１５】
ネットワークに接続された他のノード装置と暗号化通信を行うクライアントノード上のアプリケーションが、宛先アドレスに前記他のノード装置のＩＰアドレスに対応するインターセプト用アドレスが設定されたデータパケットを送信するステップａと、
通信暗号化ノードにおけるカーネル部のデータ送受信部に設けられたリダイレクト部が、前記アプリケーションから送信された前記データパケットをインターセプトし、暗号化対象とするデータパケットを判断するための判断基準と通信相手識別情報の書き換えルールとを保持するリダイレクトテーブルを参照し、前記リダイレクトテーブルに保持された判断基準に基づいて当該データパケットが暗号化対象となるデータパケットかどうかを判断し、暗号化対象となるデータパケットの場合には前記書き換えルールに従ってデータパケットの所定の情報を書き換えて前記データパケットを前記通信暗号化ノードに設けられた通信暗号化モジュールにリダイレクトするステップｂと、
前記通信暗号化モジュールが、前記データ送受信部よりリダイレクトされる前記データパケットの前記通信相手識別情報の書き換えルールと前記アプリケーションの他のノード装置のＩＰアドレスとの対応を記憶する暗号化通信路設定テーブルを参照して、前記データ送受信部よりリダイレクトされた前記データパケットの前記通信相手識別情報を書き換え前記他のノード装置の宛先ＩＰアドレスを設定した前記データパケットを前記他のノード装置に暗号化して送信するステップｃと
を備えることを特徴とする暗号化通信方法。
【請求項１６】
請求項１５に記載の暗号化通信方法において、
通信方式解決部が、前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために送信する名前解決クエリ及びその応答である名前解決応答の何れかに含まれるドメイン名に基づいて前記他のノード装置が暗号化通信対象ノードかどうかを判定するステップｄと、
暗号化通信路設定部が、前記他のノード装置が暗号化通信対象ノードである場合に、暗号化対象とする前記データパケットを判断するための判断基準と通信相手識別情報の書き換えルールとを前記リダイレクトテーブルに登録すると共に、前記データパケットの前記通信相手識別情報の書き換えルールと前記アプリケーションの他のノード装置のＩＰアドレスとの対応を前記暗号化通信路設定テーブルに登録するステップｅと
を更に備え、この後に前記ステップａ、ｂ、ｃを行なうことを特徴とする暗号化通信方法。
【請求項１７】
請求項１５に記載の暗号化通信方法において、
通信方式解決部が、前記他のノード装置のＩＰアドレスに基づいて前記他のノード装置が暗号化通信対象ノードかどうかを判定するステップｄと、
暗号化通信路設定部が、前記他のノード装置が暗号化通信対象ノードである場合に、暗号化対象とする前記データパケットを判断するための判断基準と通信相手識別情報の書き換えルールとを前記リダイレクトテーブルに登録すると共に、前記データパケットの前記通信相手識別情報の書き換えルールと前記アプリケーションの他のノード装置のＩＰアドレスとの対応を前記暗号化通信路設定テーブルに登録するステップｅと
を更に備え、この後に前記ステップａ、ｂ、ｃを行なうことを特徴とする暗号化通信方法。
【請求項１８】
ネットワークに接続された他のノード装置と通信を行うアプリケーションと、
独立したプロセスとして動作する通信暗号化モジュールとを備え、
前記通信暗号化モジュールは、
通信相手ＩＰアドレスと自ノード内で閉じた通信を行うためのＩＰアドレスであるループバックアドレスとの対応を保持する第１の暗号化通信路設定テーブルと、
前記アプリケーションより送信された宛先アドレスにループバックアドレスが設定されたデータパケットを受信し、前記データパケットの宛先アドレスに設定されたループバックアドレスに対応する通信相手ＩＰアドレスを前記第１の暗号化通信路設定テーブルから読み出し、前記データパケットの宛先アドレスを前記読み出した通信相手ＩＰアドレスに書き換え且つ前記データパケットを暗号化して送信する第１の通信暗号化部と
を備えることを特徴とするノード装置。
【請求項１９】
請求項１８記載のノード装置において、
前記第１の暗号化通信路設定テーブルは、前記通信相手ＩＰアドレスと前記ループバックアドレスとの対応を複数保持することを特徴とするノード装置。
【請求項２０】
請求項１９記載のノード装置において、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために送信する名前解決クエリ及びその応答である名前解決応答の何れかに含まれるドメイン名に基づいて前記他のノード装置が暗号化通信対象ノードかどうかを判定する通信方式解決部と、
前記他のノード装置が暗号化通信対象ノードである場合に、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていないループバックアドレスとの対応を前記第１の暗号化通信路設定テーブルに登録する暗号化通信路設定部と、
前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを前記対応中の前記ループバックアドレスに置き換えた名前解決応答を前記アプリケーションに送信する名前解決クエリ・応答送受信部と
を更に備えることを特徴とするノード装置。
【請求項２１】
請求項１９記載のノード装置において、
前記他のノード装置のＩＰアドレスに基づいて前記他のノード装置が暗号化通信対象ノードかどうかを判定する通信方式解決部と、
前記他のノード装置が暗号化通信対象ノードである場合に、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていないループバックアドレスとの対応を前記第１の暗号化通信路設定テーブルに登録する暗号化通信路設定部と、
前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを前記対応中の前記ループバックアドレスに置き換えた名前解決応答を前記アプリケーションに送信する名前解決クエリ・応答送受信部と
を更に備えることを特徴とするノード装置。
【請求項２２】
請求項１８記載のノード装置において、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部を更に備え、
前記第１の暗号化通信路設定テーブルは、通信相手との通信に利用される暗号化通信路設定情報を前記通信相手ＩＰアドレス及び前記ループバックアドレスに対応づけて保持し、
前記第１の通信暗号化部は、前記受信したデータパケットの宛先アドレスに設定された前記ループバックアドレスに対応する暗号化通信路設定情報を前記第１の暗号化通信路設定テーブルから読み出し、前記読み出した暗号化通信路設定情報に従って前記データパケットを暗号化して送信し、
前記名前解決プロキシ部は、
暗号化通信対象ノードを特定するドメイン名条件と暗号化通信路設定情報との対応を保持する設定テーブルと、
前記名前解決クエリ及び前記名前解決応答の何れかに含まれる前記他のノード装置のドメイン名が前記設定テーブルに保持された何れかのドメイン名条件にマッチするかどうかを判定する通信方式解決部と、
前記マッチしたドメイン名条件に対応する暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていないループバックアドレスとの対応を前記第１の暗号化通信路設定テーブルに登録する暗号化通信路設定部と、
前記名前解決サーバから受信した名前解決応答に含まれる前記他のノード装置のＩＰアドレスを前記対応中の前記ループバックアドレスに置き換えた名前解決応答を前記アプリケーションに送信する名前解決クエリ・応答送受信部とを備えることを特徴とするノード装置。
【請求項２３】
請求項１８記載のノード装置において、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部を更に備え、
前記第１の暗号化通信路設定テーブルは、通信相手との通信に利用される暗号化通信路設定情報を前記通信相手ＩＰアドレス及び前記ループバックアドレスに対応づけて保持し、
前記第１の通信暗号化部は、前記受信したデータパケットの宛先アドレスに設定された前記ループバックアドレスに対応する暗号化通信路設定情報を前記第１の暗号化通信路設定テーブルから読み出し、前記読み出した暗号化通信路設定情報に従って前記データパケットを暗号化して送信し、
前記名前解決プロキシ部は、
暗号化通信対象ノードを特定するＩＰアドレス条件と暗号化通信路設定情報との対応を保持する設定テーブルと、
前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスが前記設定テーブルに保持された何れかのＩＰアドレス条件にマッチするかどうかを判定する通信方式解決部と、
前記マッチしたＩＰアドレス条件に対応する暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていないループバックアドレスとの対応を前記第１の暗号化通信路設定テーブルに登録する暗号化通信路設定部と、
前記名前解決サーバから受信した名前解決応答に含まれる前記他のノード装置のＩＰアドレスを前記対応中の前記ループバックアドレスに置き換えた名前解決応答を前記アプリケーションに送信する名前解決クエリ・応答送受信部とを備えることを特徴とするノード装置。
【請求項２４】
請求項１８記載のノード装置において、
カーネル部に設けられたデータ送受信部を更に備え、
前記データ送受信部は、
通信相手ＩＰアドレスを保持する第２の暗号化通信路設定テーブルと、
前記アプリケーションより送信されたデータパケットを受信し、前記データパケットの宛先アドレスに設定された通信相手ＩＰアドレスが前記第２の暗号化通信路設定テーブルに登録されていた場合に前記データパケットを暗号化して送信する第２の通信暗号化部とを備えることを特徴とするノード装置。
【請求項２５】
請求項１８記載のノード装置において、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部を更に備え、
前記第１の暗号化通信路設定テーブルは、通信相手との通信に利用される暗号化通信路設定情報を前記通信相手ＩＰアドレス及び前記ループバックアドレスに対応づけて保持し、
前記第１の通信暗号化部は、前記受信したデータパケットの宛先アドレスに設定された前記ループバックアドレスに対応する暗号化通信路設定情報を前記第１の暗号化通信路設定テーブルから読み出し、前記読み出した暗号化通信路設定情報に従って前記データパケットを暗号化して送信し、
前記名前解決プロキシ部は、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために送信した前記名前解決クエリを前記名前解決サーバに送信し、前記他のノード装置が暗号化通信対象ノードかどうかの判定結果と暗号化通信路設定情報と前記他のノード装置のＩＰアドレスとを含む名前解決応答を前記名前解決サーバから受信し、前記他のノード装置が暗号化通信対象ノードであると判定された場合に、前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていないループバックアドレスとの対応中の前記ループバックアドレスに置き換えた名前解決応答を前記アプリケーションに送信する名前解決クエリ・応答送受信部と、
前記他のノード装置が暗号化通信対象ノードであると判定された場合に、前記他のノード装置のＩＰアドレスと前記暗号化通信路設定情報と他の通信セッションで使用されていないループバックアドレスとの対応を前記第１の暗号化通信路設定テーブルに登録する暗号化通信路設定部とを備えることを特徴とするノード装置。
【請求項２６】
請求項１９記載のノード装置において、
カーネル部に設けられたデータ送受信部と、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部と更にを備え、
前記データ送受信部は、
通信相手ＩＰアドレスを保持する第２の暗号化通信路設定テーブルと、
前記アプリケーションより送信されたデータパケットを受信し、前記データパケットの宛先アドレスに設定された通信相手ＩＰアドレスが前記第２の暗号化通信路設定テーブルに登録されていた場合に前記データパケットを暗号化して送信する通信暗号化部とを備え、
前記名前解決プロキシ部は、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために送信した前記名前解決クエリを前記名前解決サーバに送信し、前記他のノード装置が暗号化通信対象ノードかどうか、暗号化通信対象ノードである場合には通信の暗号化を前記通信暗号化モジュール及び前記データ送受信部の何れで行うかの判定結果と前記他のノード装置のＩＰアドレスとを含む名前解決応答を前記名前解決サーバから受信し、前記他のノード装置が暗号化通信対象ノードであり且つ通信の暗号化を前記通信暗号化モジュールで行うと判定された場合に、前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていないループバックアドレスとの対応中の前記ループバックアドレスに置き換えた名前解決応答を前記アプリケーションに送信する名前解決クエリ・応答送受信部と、
前記他のノード装置が暗号化通信対象ノードであり且つ通信の暗号化を前記通信暗号化モジュールで行うと判定された場合に、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていないループバックアドレスとの対応を前記第１の暗号化通信路設定テーブルに登録し、前記他のノード装置が暗号化通信対象ノードであり且つ通信の暗号化を前記データ送受信部で行うと判定された場合に、前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを前記第２の暗号化通信路設定テーブルに登録する暗号化通信路設定部とを備えることを特徴とするノード装置。
【請求項２７】
請求項１８記載のノード装置において、
カーネル部に設けられたデータ送受信部と、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部と更にを備え、
前記第１の暗号化通信路設定テーブルは、通信相手との通信に利用される暗号化通信路設定情報を前記通信相手ＩＰアドレス及び前記ループバックアドレスに対応づけて保持し、
前記第１の通信暗号化部は、前記受信したデータパケットの宛先アドレスに設定された前記ループバックアドレスに対応する暗号化通信路設定情報を前記第１の暗号化通信路設定テーブルから読み出し、前記読み出した暗号化通信路設定情報に従って前記データパケットを暗号化して送信し、
前記データ送受信部は、
通信相手ＩＰアドレスと暗号化通信路設定情報との対応を保持する第２の暗号化通信路設定テーブルと、
前記アプリケーションより送信されたデータパケットを受信し、前記データパケットの宛先アドレスに設定された通信相手ＩＰアドレスが前記第２の暗号化通信路設定テーブルに登録されていた場合に、対応する暗号化通信路設定情報を前記第２の暗号化通信路設定テーブルから読み出し、前記データパケットを前記読み出した暗号化通信路設定情報に従って暗号化して送信する第２の通信暗号化部とを備え、
前記名前解決プロキシ部は、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために送信した前記名前解決クエリを前記名前解決サーバに送信し、前記他のノード装置が暗号化通信対象ノードかどうか、及び暗号化通信対象ノードである場合には通信の暗号化を前記通信暗号化モジュール及び前記データ送受信部の何れで行うかの判定結果と暗号化通信路設定情報と前記他のノード装置のＩＰアドレスとを含む名前解決応答を前記名前解決サーバから受信し、前記他のノード装置が暗号化通信対象ノードであり且つ通信の暗号化を前記通信暗号化モジュールで行うと判定された場合に、前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていないループバックアドレスとの対応中の前記ループバックアドレスに置き換えた名前解決応答を前記アプリケーションに送信する名前解決クエリ・応答送受信部と、
前記他のノード装置が暗号化通信対象ノードであり且つ通信の暗号化を前記通信暗号化モジュールで行うと判定された場合に、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていないループバックアドレスと前記暗号化通信路設定情報との対応を前記第１の暗号化通信路設定テーブルに登録し、前記他のノード装置が暗号化通信対象ノードであり且つ通信の暗号化を前記データ送受信部で行うと判定された場合に、前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスと前記暗号化通信路設定情報との対応を前記第２の暗号化通信路設定テーブルに登録する暗号化通信路設定部とを備えることを特徴とするノード装置。
【請求項２８】
ネットワークに接続された他のノード装置と通信を行うアプリケーションと、
独立したプロセスとして動作する通信暗号化モジュールと、
カーネル部に設けられたデータ送受信部とを備え、
前記データ送受信部は、
暗号化対象とするデータパケットを判断するための判断基準と通信相手識別情報の書き換えルールとを保持するリダイレクトテーブルと、
前記アプリケーションから他のノード装置宛に送信されたデータパケットをインターセプトし、前記リダイレクトテーブルに保持された判断基準に基づいて当データパケットが暗号化対象となるデータパケットかどうかを判断し、暗号化対象となるデータパケットの場合には前記書き換えルールに従ってデータパケットの所定の情報を書き換えて前記データパケットを前記通信暗号化モジュールにリダイレクトするリダイレクト部とを備え、
前記通信暗号化モジュールは、
前記データ送受信部よりリダイレクトされる前記データパケットの前記通信相手識別情報の書き換えルールと前記アプリケーションの他のノード装置のＩＰアドレスとの対応を記憶する暗号化通信路設定テーブルと、
前記暗号化通信路設定テーブルを参照して、前記データ送受信部よりリダイレクトされた前記データパケットの前記通信相手識別情報を書き換え前記他のノード装置の宛先ＩＰアドレスを設定した前記データパケットを前記他のノード装置に暗号化して送信する通信暗号化部とを備えることを特徴とするノード装置。
【請求項２９】
請求項２８に記載のノード装置において、
前記リダイレクトテーブルは、暗号化通信対象ノードのＩＰアドレスと、自ノード内で閉じた通信を行うためのＩＰアドレスであるループバックアドレスとの対応を保持し、
前記リダイレクト部は、前記インターセプトしたデータパケットの宛先アドレスに設定されたＩＰアドレスに対応するループバックアドレスが前記リダイレクトテーブルに保持されていた場合に、前記データパケットの宛先アドレスを前記対応するループバックアドレスに書き換えることにより前記データパケットを前記通信暗号化モジュールにリダイレクトし、
前記暗号化通信路設定テーブルは、通信相手ＩＰアドレスと、ループバックアドレスと、通信相手との通信に利用される暗号化通信路設定情報との対応を保持し、
前記通信暗号化部は、前記データ送受信部よりリダイレクトされた前記データパケットの宛先アドレスに設定されたループバックアドレスに対応する通信相手ＩＰアドレス及び暗号化通信路設定情報を前記暗号化通信路設定テーブルから読み出し、前記データパケットの宛先アドレスを前記読み出した通信相手ＩＰアドレスに書き換え且つ前記読み出した暗号化通信路設定情報に従って前記データパケットを暗号化して送信することを特徴とするノード装置。
【請求項３０】
請求項２８に記載のノード装置において、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために送信する名前解決クエリ及びその応答である名前解決応答の何れかに含まれるドメイン名に基づいて前記他のノード装置が暗号化通信対象ノードかどうかを判定する通信方式解決部と、
前記他のノード装置が暗号化通信対象ノードである場合に、暗号化対象とする前記データパケットを判断するための判断基準と通信相手識別情報の書き換えルールとを前記リダイレクトテーブルに登録すると共に、前記データパケットの前記通信相手識別情報の書き換えルールと前記アプリケーションの他のノード装置のＩＰアドレスとの対応を前記暗号化通信路設定テーブルに登録する暗号化通信路設定部と
を更に備えることを特徴とするノード装置。
【請求項３１】
請求項２８に記載のノード装置において、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部を更に備え、
前記リダイレクトテーブルは、暗号化通信対象ノードのＩＰアドレスと前記通信相手識別情報の書き換えルールとの対応を保持し、
前記リダイレクト部は、前記インターセプトしたデータパケットの宛先ＩＰアドレスと前記リダイレクトテーブルに登録されている暗号化通信対象ノードのＩＰアドレスとを比較して前記データパケットが暗号化対象か否かを判断し、前記データパケットが暗号化対象である場合には、リダイレクトテーブル上の対応する通信相手識別情報の書き換えルールに従って前記データパケットの通信相手識別情報を書き換えた後、前記データパケットの宛先アドレスを自ノード内で閉じた通信を行うためのＩＰアドレスであるループバックアドレスに書き換えて前記通信暗号化モジュールにリダイレクトし、
前記暗号化通信路設定テーブルは、通信相手ＩＰアドレスと、通信相手識別情報と、通信相手との通信に利用される暗号化通信路設定情報との対応を保持し、
前記通信暗号化部は、前記データ送受信部よりリダイレクトされた前記データパケットの前記通信相手識別情報に対応する通信相手ＩＰアドレス及び暗号化通信路設定情報を前記暗号化通信路設定テーブルから読み出し、前記データパケットの宛先アドレスを前記読み出した通信相手ＩＰアドレスに書き換え且つ前記読み出した暗号化通信路設定情報に従って前記データパケットを暗号化して送信し、
前記名前解決プロキシ部は、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために送信した前記名前解決クエリを前記名前解決サーバに送信し、前記他のノード装置が暗号化通信対象ノードかどうかの判定結果と暗号化通信路設定情報と前記他のノード装置のＩＰアドレスとを含む名前解決応答を前記名前解決サーバから受信し、前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを名前解決応答として前記アプリケーションに送信する名前解決クエリ・応答送受信部と、
前記他のノード装置が暗号化通信対象ノードである場合に、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていない通信相手識別情報と前記暗号化通信路設定情報との対応を前記暗号化通信路設定テーブルに登録するとともに、暗号化通信対象ノードのＩＰアドレスと前記他の通信セッションで使用されていない通信相手識別情報の書き換えルールとの対応を前記リダイレクトテーブルに登録する暗号化通信路設定部とを備えることを特徴とするノード装置。
【請求項３２】
ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するクライアントノード装置に前記ネットワークを通じて接続された通信暗号化ノード装置であって、
独立したプロセスとして動作する通信暗号化モジュールを備え、
前記通信暗号化モジュールは、
通信相手ＩＰアドレスと第１のインターセプト用アドレスとの対応を保持する第１の暗号化通信路設定テーブルと、
前記アプリケーションより送信された宛先アドレスに第１のインターセプト用アドレスが設定されたデータパケットを受信し、前記データパケットの宛先アドレスに設定された第１のインターセプト用アドレスに対応する通信相手ＩＰアドレスを前記第１の暗号化通信路設定テーブルから読み出し、前記データパケットの宛先アドレスに前記読み出した通信相手ＩＰアドレスを設定したデータパケットを暗号化して送信する第１の通信暗号化部と
を備えることを特徴とする通信暗号化ノード装置。
【請求項３３】
請求項３２記載の通信暗号化ノード装置において、
第１の暗号化通信路設定テーブルは、通信相手ＩＰアドレスと第１のインターセプト用アドレスとの対応を複数保持することを特徴とする通信暗号化ノード装置。
【請求項３４】
請求項３３記載の通信暗号化ノード装置において、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために送信する名前解決クエリ及びその応答である名前解決応答に含まれるドメイン名に基づいて前記他のノード装置が暗号化通信対象ノードかどうかを判定する通信方式解決部と、
前記他のノード装置が暗号化通信対象ノードである場合に、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていない第１のインターセプト用アドレスとの対応を前記第１の暗号化通信路設定テーブルに登録する暗号化通信路設定部と、
前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスに対応する第１のインターセプト用アドレスを名前解決応答として前記アプリケーションに送信する名前解決クエリ・応答送受信部と
を備えることを特徴とする通信暗号化ノード装置。
【請求項３５】
請求項３３記載の通信暗号化ノード装置において、
前記他のノード装置のＩＰアドレスに基づいて前記他のノード装置が暗号化通信対象ノードかどうかを判定する通信方式解決部と、
前記他のノード装置が暗号化通信対象ノードである場合に、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていない第１のインターセプト用アドレスとの対応を前記第１の暗号化通信路設定テーブルに登録する暗号化通信路設定部と、
前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスに対応する第１のインターセプト用アドレスを名前解決応答として前記アプリケーションに送信する名前解決クエリ・応答送受信部と
を備えることを特徴とする通信暗号化ノード装置。
【請求項３６】
請求項３２記載の通信暗号化ノード装置において、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部を更に備え、
前記第１の暗号化通信路設定テーブルは、通信相手との通信に利用される暗号化通信路設定情報を前記通信相手ＩＰアドレス及び前記第１のインターセプト用アドレスに対応づけて保持し、
前記第１の通信暗号化部は、前記受信したデータパケットの宛先アドレスに設定された前記第１のインターセプト用アドレスに対応する暗号化通信路設定情報を前記第１の暗号化通信路設定テーブルから読み出し、前記読み出した暗号化通信路設定情報に従って前記データパケットを暗号化して送信し、
前記名前解決プロキシ部は、
暗号化通信対象ノードを特定するドメイン名条件と暗号化通信路設定情報との対応を保持する設定テーブルと、
前記名前解決クエリ及び前記名前解決応答の何れかに含まれる前記他のノード装置のドメイン名が前記設定テーブルに保持された何れかのドメイン名条件にマッチするかどうかを判定する通信方式解決部と、
前記マッチしたドメイン名条件に対応する暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていない第１のインターセプト用アドレスとの対応を前記第１の暗号化通信路設定テーブルに登録する暗号化通信路設定部と、
前記名前解決サーバから受信した名前解決応答に含まれる前記他のノード装置のＩＰアドレスに対応する第１のインターセプト用アドレスを名前解決応答として前記アプリケーションに送信する名前解決クエリ・応答送受信部とを備えることを特徴とする通信暗号化ノード装置。
【請求項３７】
請求項３２記載の通信暗号化ノード装置において、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部を更に備え、
前記第１の暗号化通信路設定テーブルは、通信相手との通信に利用される暗号化通信路設定情報を前記通信相手ＩＰアドレス及び前記第１のインターセプト用アドレスに対応づけて保持し、
前記第１の通信暗号化部は、前記受信したデータパケットの宛先アドレスに設定された前記第１のインターセプト用アドレスに対応する暗号化通信路設定情報を前記第１の暗号化通信路設定テーブルから読み出し、前記読み出した暗号化通信路設定情報に従って前記データパケットを暗号化して送信し、
前記名前解決プロキシ部は、
暗号化通信対象ノードを特定するＩＰアドレス条件と暗号化通信路設定情報との対応を保持する設定テーブルと、
前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスが前記設定テーブルに保持された何れかのＩＰアドレス条件にマッチするかどうかを判定する通信方式解決部と、
前記マッチしたＩＰアドレス条件に対応する暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていない第１のインターセプト用アドレスとの対応を前記第１の暗号化通信路設定テーブルに登録する暗号化通信路設定部と、
前記名前解決サーバから受信した名前解決応答に含まれる前記他のノード装置のＩＰアドレスに対応する第１のインターセプト用アドレスを名前解決応答として前記アプリケーションに送信する名前解決クエリ・応答送受信部とを備えることを特徴とする通信暗号化ノード装置。
【請求項３８】
請求項３２記載の通信暗号化ノード装置において、
カーネル部に設けられたデータ送受信部とを備え、
前記データ送受信部は、
通信相手ＩＰアドレスと第２のインターセプト用アドレスとの対応を保持する第２の暗号化通信路設定テーブルと、
前記アプリケーションより送信された宛先アドレスに第２のインターセプト用アドレスが設定されたデータパケットを受信し、前記データパケットの宛先アドレスに設定された第２のインターセプト用アドレスに対応する通信相手ＩＰアドレスを前記第２の暗号化通信路設定テーブルから読み出し、前記データパケットの宛先アドレスに前記読み出した通信相手ＩＰアドレスを設定したデータパケットを暗号化して送信する通信暗号化部とを備えることを特徴とする通信暗号化ノード装置。
【請求項３９】
ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するクライアントノード装置に前記ネットワークを通じて接続された通信暗号化ノード装置であって、
独立したプロセスとして動作する通信暗号化モジュールと、
カーネル部に設けられたデータ送受信部と、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部とを備え、
前記データ送受信部は、
インターセプト用アドレスと自ノード内で閉じた通信を行うためのＩＰアドレスであるループバックアドレスとの対応を保持するリダイレクトテーブルと、
前記アプリケーションより送信された宛先アドレスにインターセプト用アドレスが設定されたデータパケットを受信し、前記データパケットの宛先アドレスに設定されたインターセプト用アドレスに対応するループバックアドレスを前記リダイレクトテーブルから読み出し、前記データパケットの宛先アドレスを前記読み出したループバックアドレスに書き換えることにより前記データパケットを前記通信暗号化モジュールにリダイレクトするリダイレクト部とを備え、
前記通信暗号化モジュールは、
通信相手ＩＰアドレスと、ループバックアドレスと、通信相手との通信に利用される暗号化通信路設定情報との対応を保持する暗号化通信路設定テーブルと、
前記データ送受信部よりリダイレクトされた前記データパケットの宛先アドレスに設定されたループバックアドレスに対応する通信相手ＩＰアドレス及び暗号化通信路設定情報を前記暗号化通信路設定テーブルから読み出し、前記データパケットの宛先アドレスに前記読み出した通信相手ＩＰアドレスを設定したデータパケットを前記読み出した暗号化通信路設定情報に従って暗号化して送信する通信暗号化部とを備え、
前記名前解決プロキシ部は、
暗号化通信対象ノードを特定する特定条件と暗号化通信路設定情報との対応を保持する設定テーブルと、
前記名前解決クエリ及び前記名前解決応答の何れかに含まれる前記他のノード装置の情報が前記設定テーブルに保持された何れかの特定条件にマッチするかどうかを判定する通信方式解決部と、
前記マッチした特定条件に対応する暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていないループバックアドレスとの対応を前記暗号化通信路設定テーブルに登録すると共に、当該対応中の前記ループバックアドレスと他の通信セッションで使用されていないインターセプト用アドレスとの対応を前記リダイレクトテーブルに登録する暗号化通信路設定部と、
前記名前解決サーバから受信した名前解決応答に含まれる前記他のノード装置のＩＰアドレスに対応するインターセプト用アドレスを名前解決応答として前記アプリケーションに送信する名前解決クエリ・応答送受信部とを備えることを特徴とする通信暗号化ノード装置。
【請求項４０】
請求項３９に記載の通信暗号化ノード装置において、
前記設定テーブルは、前記特定条件としてドメイン名条件を保持し、
前記通信方式解決部は、前記名前解決クエリ及び前記名前解決応答の何れかに含まれる前記他のノード装置のドメイン名が前記設定テーブルに保持された何れかのドメイン名条件にマッチするかどうかを判定し、
前記暗号化通信路設定部は、前記マッチしたドメイン名条件に対応する暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていないループバックアドレスとの対応を前記暗号化通信路設定テーブルに登録することを特徴とする通信暗号化ノード装置。
【請求項４１】
請求項３９に記載の通信暗号化ノード装置において、
前記設定テーブルは、前記特定条件としてＩＰアドレス条件を保持し、
前記通信方式解決部は、前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスが前記設定テーブルに保持された何れかのＩＰアドレス条件にマッチするかどうかを判定し、
前記暗号化通信路設定部は、前記マッチしたＩＰアドレス条件に対応する暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていないループバックアドレスとの対応を前記暗号化通信路設定テーブルに登録することを特徴とする通信暗号化ノード装置。
【請求項４２】
ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するクライアントノード装置に前記ネットワークを通じて接続された通信暗号化ノード装置であって、
独立したプロセスとして動作する通信暗号化モジュールと、
カーネル部に設けられたデータ送受信部と、
前記クライアントノードが前記他のノード装置のＩＰアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部とを備え、
前記データ送受信部は、
インターセプト用アドレスと通信相手識別情報の書き換えルールとの対応を保持するリダイレクトテーブルと、
前記クライアントノード装置から他のノード装置宛に送信されたデータパケットをインターセプトし、前記リダイレクトテーブルを参照して、前記データパケットの宛先アドレスとして指定されているインターセプト用アドレスに対応する通信相手識別情報の書き換えルールに従って前記データパケットの通信相手識別情報を書き換えた後、前記データパケットの宛先アドレスを自ノード内で閉じた通信を行うためのＩＰアドレスであるループバックアドレスに書き換えて前記通信暗号化モジュールにリダイレクトするリダイレクト部とを備え、
前記通信暗号化モジュールは、
通信相手ＩＰアドレスと、通信相手識別情報と、通信相手との通信に利用される暗号化通信路設定情報との対応を保持する暗号化通信路設定テーブルと、
前記データ送受信部よりリダイレクトされた前記データパケットの前記通信相手識別情報に対応する通信相手ＩＰアドレス及び暗号化通信路設定情報を前記暗号化通信路設定テーブルから読み出し、前記データパケットの宛先アドレスを前記読み出した通信相手ＩＰアドレスに書き換え且つ前記読み出した暗号化通信路設定情報に従って前記データパケットを暗号化して送信する通信暗号化部とを備え、
前記名前解決プロキシ部は、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために送信した前記名前解決クエリを前記名前解決サーバに送信し、前記他のノード装置が暗号化通信対象ノードかどうかの判定結果と暗号化通信路設定情報と前記他のノード装置のＩＰアドレスとを含む名前解決応答を前記名前解決サーバから受信し、前記他のノード装置が暗号化通信対象ノードである場合に、前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを、前記暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていないインターセプト用アドレスとの対応中の前記インターセプト用アドレスに置き換えた名前解決応答を前記クライアントノード装置に送信する名前解決クエリ・応答送受信部と、
前記他のノード装置が暗号化通信対象ノードである場合に、前記暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていない通信相手識別情報との対応を前記暗号化通信路設定テーブルに登録するとともに、前記他の通信セッションで使用されていない通信相手識別情報への書き換えルールと他の通信セッションで使用されていないインターセプト用アドレスとの対応を前記リダイレクトテーブルに登録する暗号化通信路設定部とを備えることを特徴とする通信暗号化ノード装置。
【請求項４３】
ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するノード装置と、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するための名前解決サーバとを備え、
前記ノード装置は、独立したプロセスとして動作する通信暗号化モジュールを備え、
前記通信暗号化モジュールは、
通信相手ＩＰアドレスと自ノード内で閉じた通信を行うためのＩＰアドレスであるループバックアドレスとの対応を保持する第１の暗号化通信路設定テーブルと、
前記アプリケーションより送信された宛先アドレスにループバックアドレスが設定されたデータパケットを受信し、前記データパケットの宛先アドレスに設定されたループバックアドレスに対応する通信相手ＩＰアドレスを前記第１の暗号化通信路設定テーブルから読み出し、前記データパケットの宛先アドレスを前記読み出した通信相手ＩＰアドレスに書き換え且つ前記データパケットを暗号化して送信する第１の通信暗号化部と
を備えることを特徴とする暗号化通信システム。
【請求項４４】
請求項４３記載の暗号化通信システムにおいて、
前記名前解決サーバは、前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために送信する名前解決クエリ及びその応答である名前解決応答の何れかに含まれるドメイン名に基づいて前記他のノード装置が暗号化通信対象ノードかどうかを判定する通信方式解決部を備え、
前記ノード装置は、
前記他のノード装置が暗号化通信対象ノードであると判定された場合に、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていないループバックアドレスとの対応を前記第１の暗号化通信路設定テーブルに登録する暗号化通信路設定部と、
前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを前記対応中の前記ループバックアドレスに置き換えた名前解決応答を前記アプリケーションに送信する名前解決クエリ・応答送受信部とを更に備えることを特徴とする暗号化通信システム。
【請求項４５】
請求項４３記載の暗号化通信システムにおいて、
前記名前解決サーバは、前記他のノード装置のＩＰアドレスに基づいて前記他のノード装置が暗号化通信対象ノードかどうかを判定する通信方式解決部を備え、
前記ノード装置は、
前記他のノード装置が暗号化通信対象ノードであると判定された場合に、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていないループバックアドレスとの対応を前記第１の暗号化通信路設定テーブルに登録する暗号化通信路設定部と、
前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを前記対応中の前記ループバックアドレスに置き換えた名前解決応答を前記アプリケーションに送信する名前解決クエリ・応答送受信部とを更に備えることを特徴とする暗号化通信システム。
【請求項４６】
ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するクライアントノード装置と、
前記クライアントノード装置に前記ネットワークを通じて接続された通信暗号化ノード装置と、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するための名前解決サーバとを備え、
前記通信暗号化ノード装置は、
独立したプロセスとして動作する通信暗号化モジュールと、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために前記名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部とを備え、
前記通信暗号化モジュールは、
通信相手ＩＰアドレスと第１のインターセプト用アドレスとの対応を保持する第１の暗号化通信路設定テーブルと、
前記アプリケーションより送信された宛先アドレスに第１のインターセプト用アドレスが設定されたデータパケットを受信し、前記データパケットの宛先アドレスに設定された第１のインターセプト用アドレスに対応する通信相手ＩＰアドレスを前記第１の暗号化通信路設定テーブルから読み出し、前記データパケットの宛先アドレスに前記読み出した通信相手ＩＰアドレスを設定したデータパケットを暗号化して送信する第１の通信暗号化部とを備えることを特徴とする暗号化通信システム。
【請求項４７】
請求項４６記載の暗号化通信システムにおいて、
前記名前解決サーバは、前記他のノード装置のＩＰアドレスに基づいて前記他のノード装置が暗号化通信対象ノードかどうかを判定する通信方式解決部を備え、
前記通信暗号化ノード装置の前記名前解決プロキシ部は、
前記他のノード装置が暗号化通信対象ノードである場合に、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていない第１のインターセプト用アドレスとの対応を前記第１の暗号化通信路設定テーブルに登録する暗号化通信路設定部と、
前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスに対応する第１のインターセプト用アドレスを名前解決応答として前記アプリケーションに送信する名前解決クエリ・応答送受信部とを備えることを特徴とする暗号化通信システム。
【請求項４８】
ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するノード装置と、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するための名前解決サーバとを備え、
前記ノード装置は、
独立したプロセスとして動作する通信暗号化モジュールと、
カーネル部に設けられたデータ送受信部と、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部とを備え、
前記データ送受信部は、
暗号化通信対象ノードのＩＰアドレスと通信相手識別情報の書き換えルールとの対応を保持するリダイレクトテーブルと、
アプリケーションから他のノード装置宛に送信されたデータパケットをインターセプトし、前記データパケットの宛先ＩＰアドレスとリダイレクトテーブルに登録されている暗号化通信対象ノードのＩＰアドレスとを比較して前記データパケットが暗号化対象か否かを判断し、前記データパケットが暗号化対象である場合には、リダイレクトテーブル上の対応する通信相手識別情報の書き換えルールに従って前記データパケットの通信相手識別情報を書き換えた後、前記データパケットの宛先アドレスを自ノード内で閉じた通信を行うためのＩＰアドレスであるループバックアドレスに書き換えて前記通信暗号化モジュールにリダイレクトするリダイレクト部とを備え、
前記通信暗号化モジュールは、
通信相手ＩＰアドレスと、通信相手識別情報と、通信相手との通信に利用される暗号化通信路設定情報との対応を保持する暗号化通信路設定テーブルと、
前記データ送受信部よりリダイレクトされた前記データパケットの前記通信相手識別情報に対応する通信相手ＩＰアドレス及び暗号化通信路設定情報を前記暗号化通信路設定テーブルから読み出し、前記データパケットの宛先アドレスを前記読み出した通信相手ＩＰアドレスに書き換え且つ前記読み出した暗号化通信路設定情報に従って前記データパケットを暗号化して送信する通信暗号化部とを備え、
前記名前解決サーバは、名前解決に関連する機能に加えて、
暗号化通信対象ノードを特定する特定条件と暗号化通信路設定情報との対応を保持する設定テーブルと、
前記名前解決クエリ及び前記名前解決応答の何れかに含まれる前記他のノード装置の情報が前記設定テーブルに保持された何れかの特定条件にマッチするかどうかを判定する通信方式解決部と、
前記マッチした特定条件に対応する暗号化通信路設定情報を前記名前解決応答に付加して送信する名前解決応答・クエリ送受信部とを備え、
前記名前解決プロキシ部は、
前記暗号化通信路設定情報が付加された前記名前解決応答を前記名前解決サーバから受信したときに、前記暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていない通信相手識別情報との対応を前記暗号化通信路設定テーブルに登録するとともに、暗号化通信対象ノードのＩＰアドレスと前記他の通信セッションで使用されていない通信相手識別情報の書き換えルールとの対応を前記リダイレクトテーブルに登録する暗号化通信路設定部と、
前記名前解決サーバから受信した名前解決応答に含まれる前記他のノード装置のＩＰアドレスを名前解決応答として前記アプリケーションに送信する名前解決クエリ・応答送受信部とを備えることを特徴とする暗号化通信システム。
【請求項４９】
ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するクライアントノード装置と、
前記クライアントノード装置に前記ネットワークを通じて接続された通信暗号化ノード装置と、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するための名前解決サーバとを備え、
前記通信暗号化ノード装置は、
独立したプロセスとして動作する通信暗号化モジュールと、
カーネル部に設けられたデータ送受信部と、
前記クライアントノードが前記他のノード装置のＩＰアドレスを解決するために前記名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部とを備え、
前記データ送受信部は、
インターセプト用アドレスと通信相手識別情報の書き換えルールとの対応を保持するリダイレクトテーブルと、
前記クライアントノード装置から他のノード装置宛に送信されたデータパケットをインターセプトし、前記リダイレクトテーブルを参照して、前記データパケットの宛先アドレスとして指定されているインターセプト用アドレスに対応する通信相手識別情報の書き換えルールに従って前記データパケットの通信相手識別情報を書き換えた後、前記データパケットの宛先アドレスを自ノード内で閉じた通信を行うためのＩＰアドレスであるループバックアドレスに書き換えて前記通信暗号化モジュールにリダイレクトするリダイレクト部とを備え、
前記通信暗号化モジュールは、
通信相手ＩＰアドレスと、通信相手識別情報と、通信相手との通信に利用される暗号化通信路設定情報との対応を保持する暗号化通信路設定テーブルと、
前記データ送受信部よりリダイレクトされた前記データパケットの前記通信相手識別情報に対応する通信相手ＩＰアドレス及び暗号化通信路設定情報を前記暗号化通信路設定テーブルから読み出し、前記データパケットの宛先アドレスを前記読み出した通信相手ＩＰアドレスに書き換え且つ前記読み出した暗号化通信路設定情報に従って前記データパケットを暗号化して送信する通信暗号化部とを備え、
前記名前解決サーバは、名前解決に関連する機能に加えて、
暗号化通信対象ノードを特定する特定条件と暗号化通信路設定情報との対応を保持する設定テーブルと、
前記名前解決クエリ及び前記名前解決応答の何れかに含まれる前記他のノード装置の情報が前記設定テーブルに保持された何れかの特定条件にマッチするかどうかを判定する通信方式解決部と、
前記マッチした特定条件に対応する暗号化通信路設定情報を前記名前解決応答に付加して送信する名前解決応答・クエリ送受信部とを備え、
前記名前解決プロキシ部は、
前記暗号化通信路設定情報が付加された前記名前解決応答を前記名前解決サーバから受信したときに、前記暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていない通信相手識別情報との対応を前記暗号化通信路設定テーブルに登録するとともに、前記他の通信セッションで使用されていない通信相手識別情報への書き換えルールと他の通信セッションで使用されていないインターセプト用アドレスとの対応を前記リダイレクトテーブルに登録する暗号化通信路設定部と、
前記名前解決サーバから受信した名前解決応答に含まれる前記他のノード装置のＩＰアドレスを前記対応中の前期インターセプト用アドレスに置き換えた名前解決応答を前記クライアントノード装置に送信する名前解決クエリ・応答送受信部とを備えることを特徴とする暗号化通信システム。
【請求項５０】
ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するノード装置を構成するコンピュータを、
独立したプロセスとして動作する通信暗号化モジュールに設けられた通信暗号化手段、前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ手段、として機能させるプログラムであり、
前記通信暗号化手段は、前記アプリケーションより送信された、自ノード内で閉じた通信を行うためのＩＰアドレスであるループバックアドレスが宛先アドレスに設定されたデータパケットを受信し、前記データパケットの宛先アドレスに設定されたループバックアドレスに対応する通信相手ＩＰアドレスを、通信相手ＩＰアドレスとループバックアドレスとの対応を複数保持する第１の暗号化通信路設定テーブルから読み出し、前記データパケットの宛先アドレスを前記読み出した通信相手ＩＰアドレスに書き換え且つ前記データパケットを暗号化して送信するものであることを特徴とするプログラム。
【請求項５１】
請求項５０に記載のプログラムにおいて、
前記名前解決プロキシ手段は、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために送信する名前解決クエリ及びその応答である名前解決応答の何れかに含まれるドメイン名に基づいて前記他のノード装置が暗号化通信対象ノードかどうかを判定する通信方式解決手段と、
前記他のノード装置が暗号化通信対象ノードである場合に、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていないループバックアドレスとの対応を前記第１の暗号化通信路設定テーブルに登録する暗号化通信路設定手段と、
前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを前記対応中の前記ループバックアドレスに置き換えた名前解決応答を前記アプリケーションに送信する名前解決クエリ・応答送受信手段と
を備えることを特徴とするプログラム。
【請求項５２】
請求項５０に記載のプログラムにおいて、
前記名前解決プロキシ手段は、
前記他のノード装置のＩＰアドレスに基づいて前記他のノード装置が暗号化通信対象ノードかどうかを判定する通信方式解決手段と、
前記他のノード装置が暗号化通信対象ノードである場合に、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていないループバックアドレスとの対応を前記第１の暗号化通信路設定テーブルに登録する暗号化通信路設定手段と、
前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを前記対応中の前記ループバックアドレスに置き換えた名前解決応答を前記アプリケーションに送信する名前解決クエリ・応答送受信手段と
を備えることを特徴とするプログラム。
【請求項５３】
請求項５０に記載のプログラムにおいて、
前記名前解決プロキシ手段は、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために送信した前記名前解決クエリを前記名前解決サーバに送信し、前記他のノード装置が暗号化通信対象ノードかどうかの判定結果と前記他のノード装置のＩＰアドレスとを含む名前解決応答を前記名前解決サーバから受信し、前記他のノード装置が暗号化通信対象ノードであると判定された場合に、前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていないループバックアドレスとの対応中の前記ループバックアドレスに置き換えた名前解決応答を前記アプリケーションに送信する名前解決クエリ・応答送受信手段と、
前記他のノード装置が暗号化通信対象ノードであると判定された場合に、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていないループバックアドレスとの前記対応を前記第１の暗号化通信路設定テーブルに登録する暗号化通信路設定手段とを備えることを特徴とするプログラム。
【請求項５４】
ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するクライアントノード装置に前記ネットワークを通じて接続された通信暗号化ノード装置を構成するコンピュータを、
独立したプロセスとして動作する通信暗号化モジュールに設けられた通信暗号化手段、前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ手段、として機能させるプログラムであり、
前記通信暗号化手段は、前記アプリケーションより送信された宛先アドレスに第１のインターセプト用アドレスが設定されたデータパケットを受信し、前記データパケットの宛先アドレスに設定された第１のインターセプト用アドレスに対応する通信相手ＩＰアドレスを、通信相手ＩＰアドレスと第１のインターセプト用アドレスとの対応を複数保持する第１の暗号化通信路設定テーブルから読み出し、前記データパケットの宛先アドレスに前記読み出した通信相手ＩＰアドレスを設定したデータパケットを暗号化して送信するものであることを特徴とするプログラム。
【請求項５５】
請求項５４に記載のプログラムにおいて、
前記名前解決プロキシ手段は、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために送信する名前解決クエリ及びその応答である名前解決応答に含まれるドメイン名に基づいて前記他のノード装置が暗号化通信対象ノードかどうかを判定する通信方式解決手段と、
前記他のノード装置が暗号化通信対象ノードである場合に、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていない第１のインターセプト用アドレスとの対応を前記第１の暗号化通信路設定テーブルに登録する暗号化通信路設定手段と、
前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを前記対応中の前記第１のインターセプト用アドレスに置き換えた名前解決応答を前記アプリケーションに送信する名前解決クエリ・応答送受信手段とを備えることを特徴とするプログラム。
【請求項５６】
請求項５４に記載のプログラムにおいて、
前記名前解決プロキシ手段は、
前記他のノード装置のＩＰアドレスに基づいて前記他のノード装置が暗号化通信対象ノードかどうかを判定する通信方式解決手段と、
前記他のノード装置が暗号化通信対象ノードである場合に、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていない第１のインターセプト用アドレスとの対応を前記第１の暗号化通信路設定テーブルに登録する暗号化通信路設定手段と、
前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを前記対応中の前記第１のインターセプト用アドレスに置き換えた名前解決応答を前記アプリケーションに送信する名前解決クエリ・応答送受信手段とを備えることを特徴とするプログラム。
【請求項５７】
請求項５４に記載のプログラムにおいて、
前記名前解決プロキシ手段は、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために送信した前記名前解決クエリを前記名前解決サーバに送信し、前記他のノード装置が暗号化通信対象ノードかどうかの判定結果と前記他のノード装置のＩＰアドレスとを含む名前解決応答を前記名前解決サーバから受信し、前記他のノード装置が暗号化通信対象ノードであると判定された場合に、前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていない第１のインターセプト用アドレスとの対応中の前記第１のインターセプト用アドレスに置き換えた名前解決応答を前記アプリケーションに送信する名前解決クエリ・応答送受信手段と、
前記他のノード装置が暗号化通信対象ノードである場合に、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていない第１のインターセプト用アドレスとの対応を前記第１の暗号化通信路設定テーブルに登録する暗号化通信路設定手段とを備えることを特徴とするプログラム。
【請求項５８】
請求項５４に記載のプログラムにおいて、
前記通信暗号化手段は、前記アプリケーションより送信された宛先アドレスに第１のインターセプト用アドレスが設定されたデータパケットを受信し、前記データパケットの宛先アドレスに設定された第１のインターセプト用アドレスに対応する通信相手ＩＰアドレス及び暗号化通信路設定情報を、通信相手ＩＰアドレスと第１のインターセプト用アドレスと暗号化通信路設定情報との対応を保持する第１の暗号化通信路設定テーブルから読み出し、前記データパケットの宛先アドレスに前記読み出した通信相手ＩＰアドレスを設定したデータパケットを前記読み出した暗号化通信路設定情報に従って暗号化して送信するものであり、
前記名前解決プロキシ手段は、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために送信した前記名前解決クエリを前記名前解決サーバに送信し、前記他のノード装置が暗号化通信対象ノードかどうかの判定結果と暗号化通信路設定情報と前記他のノード装置のＩＰアドレスとを含む名前解決応答を前記名前解決サーバから受信し、前記他のノード装置が暗号化通信対象ノードであると判定された場合に、前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていない第１のインターセプト用アドレスと前記暗号化通信路設定情報との対応中の前記第１のインターセプト用アドレスに置き換えた名前解決応答を前記アプリケーションに送信する名前解決クエリ・応答送受信手段と、
前記他のノード装置が暗号化通信対象ノードである場合に、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていない第１のインターセプト用アドレスと前記暗号化通信路設定情報との対応を前記第１の暗号化通信路設定テーブルに登録する暗号化通信路設定手段とを備えることを特徴とするプログラム。
【請求項５９】
ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するノード装置を構成するコンピュータを、
独立したプロセスとして動作する通信暗号化モジュールに設けられた通信暗号化手段、カーネル部のデータ送受信部に設けられたリダイレクト手段、として機能させるプログラムであり、
前記リダイレクト手段は、前記アプリケーションから他のノード装置宛に送信されたデータパケットをインターセプトし、暗号化対象とするデータパケットを判断するための判断基準と通信相手識別情報の書き換えルールとを保持するリダイレクトテーブルに保持された判断基準に基づいて当該データパケットが暗号化対象となるデータパケットかどうかを判断し、暗号化対象となるデータパケットの場合には前記書き換えルールに従ってデータパケットの所定の情報を書き換えて前記データパケットを前記通信暗号化モジュールにリダイレクトするものであり、
前記通信暗号化手段は、前記データ送受信部よりリダイレクトされる前記データパケットの前記通信相手識別情報の書き換えルールと前記アプリケーションの他のノード装置のＩＰアドレスとの対応を記憶する暗号化通信路設定テーブルを参照して、前記データ送受信部よりリダイレクトされた前記データパケットの前記通信相手識別情報を書き換え前記他のノード装置の宛先ＩＰアドレスを設定した前記データパケットを前記他のノード装置に暗号化して送信するものであることを特徴とするプログラム。
【請求項６０】
ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するクライアントノード装置に前記ネットワークを通じて接続された通信暗号化ノード装置を構成するコンピュータを、
独立したプロセスとして動作する通信暗号化モジュールに設けられた通信暗号化手段、カーネル部のデータ送受信部に設けられたリダイレクト手段、前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ手段、として機能させるプログラムであり、
前記リダイレクト手段は、前記アプリケーションより送信された宛先アドレスにインターセプト用アドレスが設定されたデータパケットを受信し、前記データパケットの宛先アドレスに設定されたインターセプト用アドレスに対応するループバックアドレスを、インターセプト用アドレスとループバックアドレスとの対応を保持するリダイレクトテーブルから読み出し、前記データパケットの宛先アドレスを前記読み出したループバックアドレスに書き換えることにより前記データパケットを前記通信暗号化モジュールにリダイレクトするものであり、
前記通信暗号化手段は、前記データ送受信部よりリダイレクトされた前記データパケットの宛先アドレスに設定されたループバックアドレスに対応する通信相手ＩＰアドレス及び暗号化通信路設定情報を、通信相手ＩＰアドレスとループバックアドレスと暗号化通信路設定情報との対応を保持する暗号化通信路設定テーブルから読み出し、前記データパケットの宛先アドレスに前記読み出した通信相手ＩＰアドレスを設定したデータパケットを前記読み出した暗号化通信路設定情報に従って暗号化して送信するものであることを特徴とするプログラム。
【請求項６１】
ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するノード装置を構成するコンピュータを、
独立したプロセスとして動作する通信暗号化モジュールに設けられた通信暗号化手段、カーネル部のデータ送受信部に設けられたリダイレクト手段、前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ手段、として機能させるプログラムであり、
前記リダイレクト手段は、アプリケーションから他のノード装置宛に送信されたデータパケットをインターセプトし、前記データパケットの宛先ＩＰアドレスと、暗号化通信対象ノードのＩＰアドレスと通信相手識別情報の書き換えルールとの対応を保持するリダイレクトテーブルに登録されている暗号化通信対象ノードのＩＰアドレスとを比較して前記データパケットが暗号化対象か否かを判断し、前記データパケットが暗号化対象である場合には、リダイレクトテーブル上の対応する通信相手識別情報の書き換えルールに従って前記データパケットの通信相手識別情報を書き換えた後、前記データパケットの宛先アドレスを自ノード内で閉じた通信を行うためのＩＰアドレスであるループバックアドレスに書き換えて前記通信暗号化モジュールにリダイレクトするものであり、
前記通信暗号化手段は、前記データ送受信部よりリダイレクトされた前記データパケットの前記通信相手識別情報に対応する通信相手ＩＰアドレス及び暗号化通信路設定情報を、通信相手ＩＰアドレスと通信相手識別情報と暗号化通信路設定情報との対応を保持する暗号化通信路設定テーブルから読み出し、前記データパケットの宛先アドレスを前記読み出した通信相手ＩＰアドレスに書き換え且つ前記読み出した暗号化通信路設定情報に従って前記データパケットを暗号化して送信するものであり、
前記名前解決プロキシ手段は、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために送信した前記名前解決クエリを前記名前解決サーバに送信し、前記他のノード装置が暗号化通信対象ノードかどうかの判定結果と暗号化通信路設定情報と前記他のノード装置のＩＰアドレスとを含む名前解決応答を前記名前解決サーバから受信し、前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを名前解決応答として前記アプリケーションに送信する名前解決クエリ・応答送受信手段と、
前記他のノード装置が暗号化通信対象ノードである場合に、前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていない通信相手識別情報と前記暗号化通信路設定情報との対応を前記暗号化通信路設定テーブルに登録するとともに、暗号化通信対象ノードのＩＰアドレスと前記他の通信セッションで使用されていない通信相手識別情報の書き換えルールとの対応を前記リダイレクトテーブルに登録する暗号化通信路設定手段とを備えることを特徴とするプログラム。
【請求項６２】
ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するクライアントノード装置に前記ネットワークを通じて接続された通信暗号化ノード装置を構成するコンピュータを、
独立したプロセスとして動作する通信暗号化モジュールに設けられた通信暗号化手段、カーネル部のデータ送受信部に設けられたリダイレクト手段、前記クライアントノードが前記他のノード装置のＩＰアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ手段、として機能させるプログラムであり、
前記リダイレクト手段は、前記クライアントノード装置から他のノード装置宛に送信されたデータパケットをインターセプトし、インターセプト用アドレスと通信相手識別情報の書き換えルールとの対応を保持するリダイレクトテーブルを参照して、前記データパケットの宛先アドレスとして指定されているインターセプト用アドレスに対応する通信相手識別情報の書き換えルールに従って前記データパケットの通信相手識別情報を書き換えた後、前記データパケットの宛先アドレスを自ノード内で閉じた通信を行うためのＩＰアドレスであるループバックアドレスに書き換えて前記通信暗号化モジュールにリダイレクトするものであり、
前記通信暗号化手段は、前記データ送受信部よりリダイレクトされた前記データパケットの前記通信相手識別情報に対応する通信相手ＩＰアドレス及び暗号化通信路設定情報を、通信相手ＩＰアドレスと通信相手識別情報と暗号化通信路設定情報との対応を保持する暗号化通信路設定テーブルから読み出し、前記データパケットの宛先アドレスを前記読み出した通信相手ＩＰアドレスに書き換え且つ前記読み出した暗号化通信路設定情報に従って前記データパケットを暗号化して送信するものであり、
前記名前解決プロキシ手段は、
前記アプリケーションが前記他のノード装置のＩＰアドレスを解決するために送信した前記名前解決クエリを前記名前解決サーバに送信し、前記他のノード装置が暗号化通信対象ノードかどうかの判定結果と暗号化通信路設定情報と前記他のノード装置のＩＰアドレスとを含む名前解決応答を前記名前解決サーバから受信し、前記他のノード装置が暗号化通信対象ノードである場合に、前記名前解決応答に含まれる前記他のノード装置のＩＰアドレスを、前記暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていないインターセプト用アドレスとの対応中の前記インターセプト用アドレスに置き換えた名前解決応答を前記クライアントノード装置に送信する名前解決クエリ・応答送受信手段と、
前記他のノード装置が暗号化通信対象ノードである場合に、前記暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のＩＰアドレスと他の通信セッションで使用されていない通信相手識別情報との対応を前記暗号化通信路設定テーブルに登録するとともに、前記他の通信セッションで使用されていない通信相手識別情報への書き換えルールと他の通信セッションで使用されていないインターセプト用アドレスとの対応を前記リダイレクトテーブルに登録する暗号化通信路設定手段とを備えることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、不特定多数のノードが接続されているオープンなネットワーク上において、特定のグループに属する複数のノード間で相互にセキュアな通信を行う暗号化通信方法、暗号化通信システム、ノード装置、名前解決サーバ及びこれらを実現するためのプログラムに関する。
【背景技術】
【０００２】  従来より、RFC2401やRFC3546等に記載されているように、不特定多数のノードが接続されているオープンなネットワーク（インターネット、公衆ホットスポットなど）上において、ノード、サーバ、ゲートウェイ装置などのノード間で通信を暗号化し、外部の第３者が通信内容を覗き見ることができないセキュアな通信路を提供するために、種々の暗号化通信方法が利用されている。【０００３】  この種の暗号化通信方法を実現する通信暗号化プロトコルの例としては、暗号化するレイヤによって、以下のように大別される。○レイヤ４（トランスポートレイヤ）以上  SSL(Secure Socket Layer）、TLS(Transport Layer Security）、SSH(Secure Shell)○レイヤ３（ネットワークレイヤ）以下  IPsec、L2TP(Layer 2 Tunneling Protocol ) over IPsec、Ethernet(登録商標) over IPsec【０００４】  これらの通信暗号化プロトコルを利用し、他のノードと暗号化された通信を行う場合、従来の暗号化通信方法は、通信暗号化の形態により以下の3つに分類できる。（１）Webブラウザや電子メールアプリケーションなどの個々のアプリケーションにおいて通信暗号化を行う形態（２）通信暗号化モジュールを利用して通信暗号化を行う形態（３）OS(Operating System)のカーネル部が提供する機能を利用して通信暗号化を行う形態【０００５】  形態（１）の暗号化通信方法の場合、前述したレイヤ4以上の通信暗号化プロトコルが利用される。例えば、“example.com”のドメインネームをもつ通信相手に対して、ＨＴＴＰ(Hyper Text Transfer Protocol)通信を暗号化したい場合、Ｗｅｂブラウザにおいて、“https://example.com/index.html”などのＵＲＬ(Universal Resource Locator)を入力し、通信相手とのHTTP通信をＳＳＬで暗号化する。このような通信暗号化形態は、当然ながら、アプリケーションが通信暗号化プロトコルをサポートしない限り利用することが出来ない。【０００６】  形態（２）の通信暗号化モジュールを利用して通信暗号化を行う場合、主に前述したレイヤ4以上の通信暗号化プロトコルが利用される。通信暗号化モジュールは、独立したプロセスとして動作し、アプリケーションと通信相手とが送受信するデータパケットをインターセプトし、暗号化/復号化を行った後に通信相手/アプリケーションに送信する。通信暗号化モジュールの例としては、任意のTCP(Transport Control Protocol)コネクションをSSL暗号化するstunnelや、任意のTCPコネクションをSSHで暗号化トンネリングを行うSSHポートフォワーディングなどがある。【０００７】  この形態（２）の通信暗号化方法では、形態（３）の通信暗号化方法と同様に、アプリケーションが通信暗号化プロトコルをサポートしているかどうかに依存することなく通信を暗号化することができるため、任意のアプリケーションの通信を暗号化することができる。さらに、この通信暗号化の形態においては、形態（３）の通信暗号化方法と異なりアプリケーションを意識した通信の暗号化が可能であり、特定のアプリケーションに関する通信のみ暗号化を行うといったことが可能である。【０００８】  この形態（２）の通信暗号化方法による通信暗号化処理の概要を図25に示す。通信暗号化モジュールA13xは、通信の暗号化処理を行う通信暗号化部A131xと暗号化通信の対象ノード(以下、暗号化通信対象ノードと称す)C1のアドレスと暗号化通信路設定情報の組が唯一登録された暗号化通信路設定テーブルA132xとを含み、それ自体が独立したプロセスとして動作する。通信暗号化モジュールA13xにおいてアプリケーションA11xの送信したデータパケットに対して通信暗号化処理を行うためには、アプリケーションA11xがデータパケットを通信暗号化モジュールA13xに一旦渡し、必要な暗号化処理を行った後に、通信暗号化モジュールA13xがデータパケットを本来の通信相手へ送信する、という手順がとられる。そのため、アプリケーションA11xにおいては、通信相手として直接本来の通信相手のＩＰアドレスを指定するのではなく、ループバックアドレスである127.0.0.1（および必要に応じてプロセス（通信暗号化モジュール）の受信ポート番号）を宛先アドレスとして指定してデータパケットを送信し、通信暗号化モジュールA13xがデータパケットを受信できるようにする。通信暗号化モジュールA13xは、アプリケーションA11xからデータパケットを受信すると、通信暗号化部A131xの暗号・復号化処理部A1311xにより暗号化通信路設定テーブルA132xを参照し、予め設定されている通信相手(図25では、IPアドレス1.2.3.4のノード)に対して、暗号化通信設定情報に従ってデータパケットを暗号化し(図25では、プロトコル：SSL、暗号化アルゴリズム:DES、電子証明書ID：11を利用する)、アドレス変換部A1312xにより宛て先をIPアドレス1.2.3.4に書き換えて送信する。【０００９】  なお、本形態（２）の暗号化通信方法では、図25に示したようにクライアントノードA1xが内部に通信暗号化モジュールA13xを含む構成以外に、通信暗号化モジュールが通信暗号化プロキシノードとして外部のノードにおいて提供されている構成もある。この場合、アプリケーションはこの外部ノードのIPアドレスを宛先アドレスに指定してデータパケットを送信する。通信暗号化モジュールは受信したデータパケットに対して必要な暗号化処理を行った後、予め設定された通信相手(暗号化通信対象ノードのIPアドレスが指定される）へとデータパケットを送信する。【００１０】  形態（３）のOSのカーネル部が提供する機能を利用して通信暗号化を行う暗号化通信方法の場合、主に前述したレイヤ3以下の通信暗号化プロトコルが利用される。例えば、1.2.3.4というIPアドレスをもつ通信相手との間で全てのIPパケットを暗号化したい場合、OSの設定において通信相手（IPアドレス＝1.2.3.4）との間にトランスポートモードまたはトンネリングモードでのIPsec設定を行う。【００１１】  この形態（３）の暗号化通信方法では、形態（２）の暗号化通信方法と同様にアプリケーションが通信暗号化プロトコルをサポートしているかどうかに依存することなく通信を暗号化することができるため、任意のアプリケーションの通信を暗号化することができる。ただし本通信暗号化の形態（３）においては一般的に、形態（２）の暗号化通信方法と異なりアプリケーションを意識することなく、予め設定されたIPアドレスを持つ通信相手との通信が全て暗号化されるため、特定のアプリケーションに関する通信のみ暗号化を行うといったことはできない。【００１２】  この形態（３）の暗号化通信方法における通信暗号化処理の概要を図26に示す。通信の暗号化処理を行う通信暗号化部A141yと暗号化通信対象ノードのアドレスおよび暗号化通信路の設定情報が登録���れた暗号化通信路設定部A142yは、OSのカーネル部内のデータ送受信部A14yに含まれる。アプリケーションA11xが送信する全てのデータパケットは送信処理のためデータ送受信部A14yに渡され、データ送受信部A14y内の通信暗号化部A141yが、データパケットの宛先アドレスを元に暗号化通信路設定部A142yを参照し、宛先アドレスが暗号化通信対象ノードとして登録されている場合(図26においては宛先アドレスが1.2.3.4、5.6.7.8の場合)は、登録されている暗号化通信路設定情報(図26においては、例えばプロトコル:IPSec、暗号化アルゴリズム:DES、電子証明書ID:11)に従って、暗号化処理を行い通信相手に送信する。
【発明の開示】
【発明が解決しようとする課題】
【００１３】  前述した通信暗号化モジュールを利用する暗号化通信方法は、特定のアプリケーションに関する通信のみを暗号化することが可能であり、かつアプリケーションが通信暗号化プロトコルをサポートしているかどうかに依存することなく通信暗号化を実現することができるという利点を有する。しかしながら、通信暗号化モジュールに予め設定されている単一の通信相手としか暗号化通信を行うことができないという問題がある。その理由は次の通りである。【００１４】  レイヤ４レベルの通信暗号化モジュールの場合は、宛先ポートごとに通信相手を設定することが可能であるが、１つの宛先ポートに対しては単一の通信相手しか設定できない。すなわち、アプリケーションからは、宛先ポート番号を通信相手により変えない限り、予め設定されている単一の通信相手としか暗号化通信を行うことができない。しかしながら通信相手ごとに宛先ポートを変えることは基本的には不可能である（プロトコルごとに、httpなら80番、smtpなら25番と、デフォルトのポート番号が決まっているため）。そのため、従来の通信暗号化モジュールによって提供される暗号化通信方法では、単一のノードへの暗号化通信路を提供するのみであり、複数の暗号化通信路を用いた暗号化通信には利用することができなかった。【００１５】  本発明の目的は、複数のノードに対して暗号化通信路を構築することで、複数のノードと直接暗号化通信を行うことを可能とする、通信暗号化モジュールを利用した暗号化通信方法を提供することである。
【課題を解決するための手段】
【００１６】  本発明に係る暗号化通信方法は、ネットワークに接続された他のノード装置と暗号化通信を行うアプリケーションが、自ノード内で閉じた通信を行うためのIPアドレスであるループバックアドレスが宛先アドレスに設定されたデータパケットを送信するステップaと、独立したプロセスとして動作する通信暗号化モジュールが、前記アプリケーションより送信された宛先アドレスにループバックアドレスが設定されたデータパケットを受信し、通信相手IPアドレスとループバックアドレスとの対応を複数保持する第1の暗号化通信路設定テーブルから、前記データパケットの宛先アドレスに設定されたループバックアドレスに対応する通信相手IPアドレスを読み出し、前記データパケットの宛先アドレスを前記読み出した通信相手IPアドレスに書き換え且つ前記データパケットを暗号化して送信するステップbとを備えることを特徴とする。【００１７】  また、本発明に係る暗号化通信方法は、ネットワークに接続された他のノード装置と暗号化通信を行うクライアントノード上のアプリケーションが、宛先アドレスに第1のインターセプト用アドレスが設定されたデータパケットを送信するステップaと、通信暗号化ノードに設けられ独立したプロセスとして動作する通信暗号化モジュールが、前記アプリケーションより送信された宛先アドレスに第1のインターセプト用アドレスが設定されたデータパケットを受信し、通信相手IPアドレスと第1のインターセプト用アドレスとの対応を複数保持する第1の暗号化通信路設定テーブルから、前記データパケットの宛先アドレスに設定された第1のインターセプト用アドレスに対応する通信相手IPアドレスを読み出し、前記データパケットの宛先アドレスに前記読み出した通信相手IPアドレスを設定したデータパケットを暗号化して送信するステップbとを備えることを特徴とする。【００１８】  また、本発明に係る暗号化通信方法は、ネットワークに接続された他のノード装置と暗号化通信を行うアプリケーションが、宛先アドレスに前記他のノード装置のIPアドレスが設定されたデータパケットを送信するステップaと、カーネル部のデータ送受信部に設けられたリダイレクト部が、前記アプリケーションから他のノード装置宛に送信された前記データパケットをインターセプトし、暗号化対象とするデータパケットを判断するための判断基準と通信相手識別情報の書き換えルールとを保持するリダイレクトテーブルを参照し、前記リダイレクトテーブルに保持された判断基準に基づいて当該データパケットが暗号化対象となるデータパケットかどうかを判断し、暗号化対象となるデータパケットの場合には前記書き換えルールに従ってデータパケットの所定の情報を書き換えて前記データパケットを通信暗号化モジュールにリダイレクトするステップbと、前記通信暗号化モジュールが、前記データ送受信部よりリダイレクトされる前記データパケットの前記通信相手識別情報の書き換えルールと前記アプリケーションの他のノード装置のIPアドレスとの対応を記憶する暗号化通信路設定テーブルを参照して、前記データ送受信部よりリダイレクトされた前記データパケットの前記通信相手識別情報を書き換え前記他のノード装置の宛先IPアドレスを設定した前記データパケットを前���他のノード装置に暗号化して送信するステップcとを備えることを特徴とする。【００１９】  また、本発明に係る暗号化通信方法は、ネットワークに接続された他のノード装置と暗号化通信を行うクライアントノード上のアプリケーションが、宛先アドレスに前記他のノード装置のIPアドレスに対応するインターセプト用アドレスが設定されたデータパケットを送信するステップaと、通信暗号化ノードにおけるカーネル部のデータ送受信部に設けられたリダイレクト部が、前記アプリケーションから送信された前記データパケットをインターセプトし、暗号化対象とするデータパケットを判断するための判断基準と通信相手識別情報の書き換えルールとを保持するリダイレクトテーブルを参照し、前記リダイレクトテーブルに保持された判断基準に基づいて当該データパケットが暗号化対象となるデータパケットかどうかを判断し、暗号化対象となるデータパケットの場合には前記書き換えルールに従ってデータパケットの所定の情報を書き換えて前記データパケットを前記通信暗号化ノードに設けられた通信暗号化モジュールにリダイレクトするステップbと、前記通信暗号化モジュールが、前記データ送受信部よりリダイレクトされる前記データパケットの前記通信相手識別情報の書き換えルールと前記アプリケーションの他のノード装置のIPアドレスとの対応を記憶する暗号化通信路設定テーブルを参照して、前記データ送受信部よりリダイレクトされた前記データパケットの前記通信相手識別情報を書き換え前記他のノード装置の宛先IPアドレスを設定した前記データパケットを前記他のノード装置に暗号化して送信するステップcとを備えることを特徴とする。【００２０】  また、本発明に係るノード装置は、ネットワークに接続された他のノード装置と通信を行うアプリケーションと、独立したプロセスとして動作する通信暗号化モジュールとを備え、前記通信暗号化モジュールは、通信相手IPアドレスと自ノード内で閉じた通信を行うためのIPアドレスであるループバックアドレスとの対応を保持する第1の暗号化通信路設定テーブルと、前記アプリケーションより送信された宛先アドレスにループバックアドレスが設定されたデータパケットを受信し、前記データパケットの宛先アドレスに設定されたループバックアドレスに対応する通信相手IPアドレスを前記第1の暗号化通信路設定テーブルから読み出し、前記データパケットの宛先アドレスを前記読み出した通信相手IPアドレスに書き換え且つ前記データパケットを暗号化して送信する第1の通信暗号化部とを備えることを特徴とする。【００２１】  また、本発明に係るノード装置は、ネットワークに接続された他のノード装置と通信を行うアプリケーションと、独立したプロセスとして動作する通信暗号化モジュールと、カーネル部に設けられたデータ送受信部とを備え、前記データ送受信部は、暗号化対象とするデータパケットを判断するための判断基準と通信相手識別情報の書き換えルールとを保持するリダイレクトテーブルと、前記アプリケーションから他のノード装置宛に送信されたデータパケットをインターセプトし、前記リダイレクトテーブルに保持された判断基準に基づいて当データパケットが暗号化対象となるデータパケットかどうかを判断し、暗���化対象となるデータパケットの場合には前記書き換えルールに従ってデータパケットの所定の情報を書き換えて前記データパケットを前記通信暗号化モジュールにリダイレクトするリダイレクト部とを備え、前記通信暗号化モジュールは、前記データ送受信部よりリダイレクトされる前記データパケットの前記通信相手識別情報の書き換えルールと前記アプリケーションの他のノード装置のIPアドレスとの対応を記憶する暗号化通信路設定テーブルと、前記暗号化通信路設定テーブルを参照して、前記データ送受信部よりリダイレクトされた前記データパケットの前記通信相手識別情報を書き換え前記他のノード装置の宛先IPアドレスを設定した前記データパケットを前記他のノード装置に暗号化して送信する通信暗号化部とを備えることを特徴とする。【００２２】  また、本発明に係るノード装置は、ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するクライアントノード装置に前記ネットワークを通じて接続された通信暗号化ノード装置であって、独立したプロセスとして動作する通信暗号化モジュールを備え、前記通信暗号化モジュールは、通信相手IPアドレスと第1のインターセプト用アドレスとの対応を保持する第1の暗号化通信路設定テーブルと、前記アプリケーションより送信された宛先アドレスに第1のインターセプト用アドレスが設定されたデータパケットを受信し、前記データパケットの宛先アドレスに設定された第1のインターセプト用アドレスに対応する通信相手IPアドレスを前記第1の暗号化通信路設定テーブルから読み出し、前記データパケットの宛先アドレスに前記読み出した通信相手IPアドレスを設定したデータパケットを暗号化して送信する第1の通信暗号化部とを備えることを特徴とする。【００２３】  また、本発明に係る通信暗号化ノード装置は、ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するクライアントノード装置に前記ネットワークを通じて接続された通信暗号化ノード装置であって、独立したプロセスとして動作する通信暗号化モジュールと、カーネル部に設けられたデータ送受信部と、前記アプリケーションが前記他のノード装置のIPアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部とを備え、前記データ送受信部は、インターセプト用アドレスと自ノード内で閉じた通信を行うためのIPアドレスであるループバックアドレスとの対応を保持するリダイレクトテーブルと、前記アプリケーションより送信された宛先アドレスにインターセプト用アドレスが設定されたデータパケットを受信し、前記データパケットの宛先アドレスに設定されたインターセプト用アドレスに対応するループバックアドレスを前記リダイレクトテーブルから読み出し、前記データパケットの宛先アドレスを前記読み出したループバックアドレスに書き換えることにより前記データパケットを前記通信暗号化モジュールにリダイレクトするリダイレクト部とを備え、前記通信暗号化モジュールは、通信相手IPアドレスと、ループバックアドレスと、通信相手との通信に利用される暗号化通信路設定情報との対応を保持する暗号化通信路設定テーブルと、前記デ��タ送受信部よりリダイレクトされた前記データパケットの宛先アドレスに設定されたループバックアドレスに対応する通信相手IPアドレス及び暗号化通信路設定情報を前記暗号化通信路設定テーブルから読み出し、前記データパケットの宛先アドレスに前記読み出した通信相手IPアドレスを設定したデータパケットを前記読み出した暗号化通信路設定情報に従って暗号化して送信する通信暗号化部とを備え、前記名前解決プロキシ部は、暗号化通信対象ノードを特定する特定条件と暗号化通信路設定情報との対応を保持する設定テーブルと、前記名前解決クエリ及び前記名前解決応答の何れかに含まれる前記他のノード装置の情報が前記設定テーブルに保持された何れかの特定条件にマッチするかどうかを判定する通信方式解決部と、前記マッチした特定条件に対応する暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のIPアドレスと他の通信セッションで使用されていないループバックアドレスとの対応を前記暗号化通信路設定テーブルに登録すると共に、当該対応中の前記ループバックアドレスと他の通信セッションで使用されていないインターセプト用アドレスとの対応を前記リダイレクトテーブルに登録する暗号化通信路設定部と、前記名前解決サーバから受信した名前解決応答に含まれる前記他のノード装置のIPアドレスに対応するインターセプト用アドレスを名前解決応答として前記アプリケーションに送信する名前解決クエリ・応答送受信部とを備えることを特徴とする。【００２４】  また、本発明に係る通信暗号化ノード装置は、ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するクライアントノード装置に前記ネットワークを通じて接続された通信暗号化ノード装置であって、独立したプロセスとして動作する通信暗号化モジュールと、カーネル部に設けられたデータ送受信部と、前記クライアントノードが前記他のノード装置のIPアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部とを備え、前記データ送受信部は、インターセプト用アドレスと通信相手識別情報の書き換えルールとの対応を保持するリダイレクトテーブルと、前記クライアントノード装置から他のノード装置宛に送信されたデータパケットをインターセプトし、前記リダイレクトテーブルを参照して、前記データパケットの宛先アドレスとして指定されているインターセプト用アドレスに対応する通信相手識別情報の書き換えルールに従って前記データパケットの通信相手識別情報を書き換えた後、前記データパケットの宛先アドレスを自ノード内で閉じた通信を行うためのIPアドレスであるループバックアドレスに書き換えて前記通信暗号化モジュールにリダイレクトするリダイレクト部とを備え、前記通信暗号化モジュールは、通信相手IPアドレスと、通信相手識別情報と、通信相手との通信に利用される暗号化通信路設定情報との対応を保持する暗号化通信路設定テーブルと、前記データ送受信部よりリダイレクトされた前記データパケットの前記通信相手識別情報に対応する通信相手IPアドレス及び暗号化通信路設定情報を前記暗号化通信路設定テーブルから読み出し、前記データパケットの宛��アドレスを前記読み出した通信相手IPアドレスに書き換え且つ前記読み出した暗号化通信路設定情報に従って前記データパケットを暗号化して送信する通信暗号化部とを備え、前記名前解決プロキシ部は、前記アプリケーションが前記他のノード装置のIPアドレスを解決するために送信した前記名前解決クエリを前記名前解決サーバに送信し、前記他のノード装置が暗号化通信対象ノードかどうかの判定結果と暗号化通信路設定情報と前記他のノード装置のIPアドレスとを含む名前解決応答を前記名前解決サーバから受信し、前記他のノード装置が暗号化通信対象ノードである場合に、前記名前解決応答に含まれる前記他のノード装置のIPアドレスを、前記暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のIPアドレスと他の通信セッションで使用されていないインターセプト用アドレスとの対応中の前記インターセプト用アドレスに置き換えた名前解決応答を前記クライアントノード装置に送信する名前解決クエリ・応答送受信部と、前記他のノード装置が暗号化通信対象ノードである場合に、前記暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のIPアドレスと他の通信セッションで使用されていない通信相手識別情報との対応を前記暗号化通信路設定テーブルに登録するとともに、前記他の通信セッションで使用されていない通信相手識別情報への書き換えルールと他の通信セッションで使用されていないインターセプト用アドレスとの対応を前記リダイレクトテーブルに登録する暗号化通信路設定部とを備えることを特徴とする。【００２５】  また、本発明に係る名前解決サーバは、ドメイン名に対応するIPアドレスを解決する名前解決クエリに対して、前記名前解決クエリのクエリ元において前記名前解決クエリに対する応答結果を利用して行われる通信は暗号化を行うべき対象であるかどうかを前記ドメイン名に基づいて識別し、暗号化通信を行うべき対象であると判断された場合に、前記ドメイン名に対応するIPアドレスに加えて、前記暗号化通信を行うために必要な情報を含む名前解決応答を応答することを特徴とする。【００２６】  また、本発明に係る暗号化通信システムは、ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するノード装置と、前記アプリケーションが前記他のノード装置のIPアドレスを解決するための名前解決サーバとを備え、前記ノード装置は、独立したプロセスとして動作する通信暗号化モジュールを備え、前記通信暗号化モジュールは、通信相手IPアドレスと自ノード内で閉じた通信を行うためのIPアドレスであるループバックアドレスとの対応を保持する第1の暗号化通信路設定テーブルと、前記アプリケーションより送信された宛先アドレスにループバックアドレスが設定されたデータパケットを受信し、前記データパケットの宛先アドレスに設定されたループバックアドレスに対応する通信相手IPアドレスを前記第1の暗号化通信路設定テーブルから読み出し、前記データパケットの宛先アドレスを前記読み出した通信相手IPアドレスに書き換え且つ前記データパケットを暗号化して送信する第1の通信暗号化部とを備えることを特徴とする。【００２７】  また、本発明に係る暗号化通信システムは、ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するクライアントノード装置と、前記クライアントノード装置に前記ネットワークを通じて接続された通信暗号化ノード装置と、前記アプリケーションが前記他のノード装置のIPアドレスを解決するための名前解決サーバとを備え、前記通信暗号化ノード装置は、独立したプロセスとして動作する通信暗号化モジュールと、前記アプリケーションが前記他のノード装置のIPアドレスを解決するために前記名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部とを備え、前記通信暗号化モジュールは、通信相手IPアドレスと第1のインターセプト用アドレスとの対応を保持する第1の暗号化通信路設定テーブルと、前記アプリケーションより送信された宛先アドレスに第1のインターセプト用アドレスが設定されたデータパケットを受信し、前記データパケットの宛先アドレスに設定された第1のインターセプト用アドレスに対応する通信相手IPアドレスを前記第1の暗号化通信路設定テーブルから読み出し、前記データパケットの宛先アドレスに前記読み出した通信相手IPアドレスを設定したデータパケットを暗号化して送信する第1の通信暗号化部とを備えることを特徴とする。【００２８】  また、本発明に係る暗号化通信システムは、ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するノード装置と、前記アプリケーションが前記他のノード装置のIPアドレスを解決するための名前解決サーバとを備え、前記ノード装置は、独立したプロセスとして動作する通信暗号化モジュールと、カーネル部に設けられたデータ送受信部と、前記アプリケーションが前記他のノード装置のIPアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部とを備え、前記データ送受信部は、暗号化通信対象ノードのIPアドレスと通信相手識別情報の書き換えルールとの対応を保持するリダイレクトテーブルと、アプリケーションから他のノード装置宛に送信されたデータパケットをインターセプトし、前記データパケットの宛先IPアドレスとリダイレクトテーブルに登録されている暗号化通信対象ノードのIPアドレスとを比較して前記データパケットが暗号化対象か否かを判断し、前記データパケットが暗号化対象である場合には、リダイレクトテーブル上の対応する通信相手識別情報の書き換えルールに従って前記データパケットの通信相手識別情報を書き換えた後、前記データパケットの宛先アドレスを自ノード内で閉じた通信を行うためのIPアドレスであるループバックアドレスに書き換えて前記通信暗号化モジュールにリダイレクトするリダイレクト部とを備え、前記通信暗号化モジュールは、通信相手IPアドレスと、通信相手識別情報と、通信相手との通信に利用される暗号化通信路設定情報との対応を保持する暗号化通信路設定テーブルと、前記データ送受信部よりリダイレクトされた前記データパケットの前記通信相手識別情報に対応する通信相手IPアドレス及び暗号化通信路設定情報を前記暗号化通信路設定テーブルから読み出し、前記データパケットの宛先アドレスを前記読み出した通信相手IPアドレスに書き換え且つ前記読み出した暗号化通信路設定情報に従って前記データパケットを暗号化して送信する通信暗号化部とを備え、前記名前解決サーバは、名前解決に関連する機能に加えて、暗号化通信対象ノードを特定する特定条件と暗号化通信路設定情報との対応を保持する設定テーブルと、前記名前解決クエリ及び前記名前解決応答の何れかに含まれる前記他のノード装置の情報が前記設定テーブルに保持された何れかの特定条件にマッチするかどうかを判定する通信方式解決部と、前記マッチした特定条件に対応する暗号化通信路設定情報を前記名前解決応答に付加して送信する名前解決応答・クエリ送受信部とを備え、前記名前解決プロキシ部は、前記暗号化通信路設定情報が付加された前記名前解決応答を前記名前解決サーバから受信したときに、前記暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のIPアドレスと他の通信セッションで使用されていない通信相手識別情報との対応を前記暗号化通信路設定テーブルに登録するとともに、暗号化通信対象ノードのIPアドレスと前記他の通信セッションで使用されていない通信相手識別情報の書き換えルールとの対応を前記リダイレクトテーブルに登録する暗号化通信路設定部と、前記名前解決サーバから受信した名前解決応答に含まれる前記他のノード装置のIPアドレスを名前解決応答として前記アプリケーションに送信する名前解決クエリ・応答送受信部とを備えることを特徴とする。【００２９】  また、本発明に係る暗号化通信システムは、ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するクライアントノード装置と、前記クライアントノード装置に前記ネットワークを通じて接続された通信暗号化ノード装置と、前記アプリケーションが前記他のノード装置のIPアドレスを解決するための名前解決サーバとを備え、前記通信暗号化ノード装置は、独立したプロセスとして動作する通信暗号化モジュールと、カーネル部に設けられたデータ送受信部と、前記クライアントノードが前記他のノード装置のIPアドレスを解決するために前記名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部とを備え、前記データ送受信部は、インターセプト用アドレスと通信相手識別情報の書き換えルールとの対応を保持するリダイレクトテーブルと、前記クライアントノード装置から他のノード装置宛に送信されたデータパケットをインターセプトし、前記リダイレクトテーブルを参照して、前記データパケットの宛先アドレスとして指定されているインターセプト用アドレスに対応する通信相手識別情報の書き換えルールに従って前記データパケットの通信相手識別情報を書き換えた後、前記データパケットの宛先アドレスを自ノード内で閉じた通信を行うためのIPアドレスであるループバックアドレスに書き換えて前記通信暗号化モジュールにリダイレクトするリダイレクト部とを備え、前記通信暗号化モジュールは、通信相手IPアドレスと、通信相手識別情報と、通信相手との通信に利用される暗号化通信路設定情報との対応を保持する暗号化通信路設定テーブルと、前記データ送受信部よりリダイレクトされた前記データパケットの前記通信相手識別情報に対応する通��相手IPアドレス及び暗号化通信路設定情報を前記暗号化通信路設定テーブルから読み出し、前記データパケットの宛先アドレスを前記読み出した通信相手IPアドレスに書き換え且つ前記読み出した暗号化通信路設定情報に従って前記データパケットを暗号化して送信する通信暗号化部とを備え、前記名前解決サーバは、名前解決に関連する機能に加えて、暗号化通信対象ノードを特定する特定条件と暗号化通信路設定情報との対応を保持する設定テーブルと、前記名前解決クエリ及び前記名前解決応答の何れかに含まれる前記他のノード装置の情報が前記設定テーブルに保持された何れかの特定条件にマッチするかどうかを判定する通信方式解決部と、前記マッチした特定条件に対応する暗号化通信路設定情報を前記名前解決応答に付加して送信する名前解決応答・クエリ送受信部とを備え、前記名前解決プロキシ部は、前記暗号化通信路設定情報が付加された前記名前解決応答を前記名前解決サーバから受信したときに、前記暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のIPアドレスと他の通信セッションで使用されていない通信相手識別情報との対応を前記暗号化通信路設定テーブルに登録するとともに、前記他の通信セッションで使用されていない通信相手識別情報への書き換えルールと他の通信セッションで使用されていないインターセプト用アドレスとの対応を前記リダイレクトテーブルに登録する暗号化通信路設定部と、前記名前解決サーバから受信した名前解決応答に含まれる前記他のノード装置のIPアドレスを前記対応中の前期インターセプト用アドレスに置き換えた名前解決応答を前記クライアントノード装置に送信する名前解決クエリ・応答送受信部とを備えることを特徴とする。【００３０】  また、本発明に係るプログラムは、ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するノード装置を構成するコンピュータを、独立したプロセスとして動作する通信暗号化モジュールに設けられた通信暗号化手段、前記アプリケーションが前記他のノード装置のIPアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ手段、として機能させるプログラムであり、前記通信暗号化手段は、前記アプリケーションより送信された宛先アドレスにループバックアドレスが設定されたデータパケットを受信し、前記データパケットの宛先アドレスに設定されたループバックアドレスに対応する通信相手IPアドレスを、通信相手IPアドレスとループバックアドレスとの対応を複数保持する第1の暗号化通信路設定テーブルから読み出し、前記データパケットの宛先アドレスを前記読み出した通信相手IPアドレスに書き換え且つ前記データパケットを暗号化して送信するものであることを特徴とする。【００３１】  また、本発明に係るプログラムは、ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するクライアントノード装置に前記ネットワークを通じて接続された通信暗号化ノード装置を構成するコンピュータを、独立したプロセスとして動作する通信暗号化モジュールに設けられた通信暗号化手段、前記アプリケーションが前記他のノード装置のIPアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ手段、として機能させるプログラムであり、前記通信暗号化手段は、前記アプリケーションより送信された宛先アドレスに第1のインターセプト用アドレスが設定されたデータパケットを受信し、前記データパケットの宛先アドレスに設定された第1のインターセプト用アドレスに対応する通信相手IPアドレスを、通信相手IPアドレスと第1のインターセプト用アドレスとの対応を複数保持する第1の暗号化通信路設定テーブルから読み出し、前記データパケットの宛先アドレスに前記読み出した通信相手IPアドレスを設定したデータパケットを暗号化して送信するものであることを特徴とする。【００３２】  また、本発明に係るプログラムは、ネットワークに接続された他のノード装置と通信を行うアプリケーションが動作するノード装置を構成するコンピュータを、独立したプロセスとして動作する通信暗号化モジュールに設けられた通信暗号化手段、カーネル部のデータ送受信部に設けられたリダイレクト手段、として機能させるプログラムであり、前記リダイレクト手段は、前記アプリケーションから他のノード装置宛に送信されたデータパケットをインターセプトし、暗号化対象とするデータパケットを判断するための判断基準と通信相手識別情報の書き換えルールとを保持するリダイレクトテーブルに保持された判断基準に基づいて当該データパケットが暗号化対象となるデータパケットかどうかを判断し、暗号化対象となるデータパケットの場合には前記書き換えルールに従ってデータパケットの所定の情報を書き換えて前記データパケットを前記通信暗号化モジュールにリダイレクトするものであり、前記通信暗号化手段は、前記データ送受信部よりリダイレクトされる前記データパケットの前記通信相手識別情報の書き換えルールと前記アプリケーションの他のノード装置のIPアドレスとの対応を記憶する暗号化通信路設定テーブルを参照して、前記データ送受信部よりリダイレクトされた前記データパケットの前記通信相手識別情報を書き換え前記他のノード装置の宛先IPアドレスを設定した前記データパケットを前記他のノード装置に暗号化して送信するものであることを特徴とする。【００３３】  また、本発明に係るプログラムは、名前解決サーバを構成するコンピュータを、ドメイン名に対応するIPアドレスを解決する名前解決クエリ及び前記名前解決クエリに対する応答である名前解決応答を送受信する名前解決クエリ・応答送受信手段、前記名前解決クエリに対して、前記名前解決クエリのクエリ元において前記名前解決クエリに対する応答結果を利用して行われる通信は暗号化を行うべき対象であるかどうかを前記ドメイン名に基づいて識別する通信方式解決手段であって、前記名前解決クエリ・応答送受信手段が受信した名前解決クエリに対して、前記名前解決クエリ及び前記名前解決クエリに対する応答の何れかに含まれる情報に基づいて、前記名前解決クエリのクエリ元において前記名前解決クエリに対する応答結果を利用して行われる通信が暗号化通信を行うべき対象であるかどうかを識別し、暗号化通信を行うべき対象であると判断した場合は、前記名前解決クエリ・応答���受信手段を通じて、前記ドメイン名に対応するIPアドレスに加えて、前記暗号化通信を行うために必要な情報を含む名前解決応答を応答する通信方式解決手段、として機能させることを特徴とする。
【発明の効果】
【００３４】  第一の効果は、通信暗号化モジュールを利用した暗号化通信を行う場合においても、クライアントノードと複数の通信相手ノードとの間に直接暗号化通信路を構築し、通信相手ノードに応じて暗号化通信路を使い分けることできることにある。この結果、同時に複数の通信相手ノードと直接暗号化通信することが可能である。【００３５】  その理由は、通信暗号化モジュールが、アプリケーションより送信された宛先アドレスにループバックアドレスまたはインターセプト用アドレスが設定されたデータパケットを受信し、通信相手IPアドレスとループバックアドレスまたはインターセプト用アドレスとの対応を複数保持する暗号化通信路設定テーブルから、前記データパケットの宛先アドレスに設定されたループバックアドレスまたはインターセプト用アドレスに対応する通信相手IPアドレスを読み出し、前記データパケットの宛先アドレスを前記読み出した通信相手IPアドレスに書き換え且つ前記データパケットを暗号化して送信するからである。または、カーネル部のデータ送受信部に設けられたリダイレクト部が、アプリケーションから他のノード装置宛に送信されたデータパケットをインターセプトし、暗号化対象とするデータパケットを判断するための判断基準と通信相手識別情報の書き換えルールとを保持するリダイレクトテーブルを参照し、前記リダイレクトテーブルに保持された判断基準に基づいて当該データパケットが暗号化対象となるデータパケットかどうかを判断し、暗号化対象となるデータパケットの場合には前記書き換えルールに従ってデータパケットの所定の情報を書き換えて前記データパケットを前記通信暗号化モジュールにリダイレクトし、前記通信暗号化モジュールが、前記データ送受信部よりリダイレクトされる前記データパケットの前記通信相手識別情報の書き換えルールと前記アプリケーションの他のノード装置のIPアドレスとの対応を記憶する暗号化通信路設定テーブルを参照して、前記データ送受信部よりリダイレクトされた前記データパケットの前記通信相手識別情報を書き換え前記他のノード装置の宛先IPアドレスを設定した前記データパケットを前記他のノード装置に暗号化して送信するからである。【００３６】  第二の効果は、CUGをドメイン名およびドメイン名条件によって指定することが可能であり、クライアントノードが参加するCUGの規模(CUGに参加する暗号化通信対象ノードの数)やCUG構成の変更(つまり、新規ノードの参加、既参加ノードの脱退)頻度に依らず、CUGの設定コストが一定であることにある。【００３７】  その理由は、アプリケーションが通信相手の名前解決を要求する際に送受信するDNSメッセージの内容によって、通信相手のノード種別を判断するためである。【００３８】  第三の効果は、クライアントノードが暗号化通信対象ノードとの通信を行う際、通信暗号化を通信暗号化モジュール及びOSカーネル部のデータ送受信部の何れで行うかを予め決められた判断基準に基づいて柔軟に使いわけることができることである。【００３９】  その理由は、クライアントノードが通信暗号化モジュールと通信暗号化機能を持つデータ送受信部とを含み、かつ通信暗号化にあたってこれらを予め決められた判断基準に基づいて使い分けるようにし��いるためである。【００４０】  第四の効果は、CUGの設定をDNSサーバまたは通信暗号化ノードにおいて一元管理することが可能である点にある。この結果、CUGに参加する各ノードにおける設定が不要となる。【００４１】  その理由は、通信相手が暗号化通信対象ノード(CUG参加ノード)である場合は、DNSサーバまたは通信暗号化ノードがクライアントノードからの通信相手の名前解決要求に対して、名前解決結果と共に通信相手が暗号化通信対象ノードである旨を回答するためである。【００４２】  第五の効果は、通信暗号化モジュールを追加インストールすることができないクライアントノードであっても、外部の通信暗号化ノードをDNSサーバに設定することによって、複数通信相手ノードとの暗号化通信を可能となる点にある。【００４３】  その理由は、通信暗号化ノードにおいて、クライアントノードからの名前解決要求を受け付け、名前解決要求の内容からクライアントノードの通信相手ノードが暗号化通信対象ノードであるか否かの判断を行い、通信相手ノードが暗号化通信対象ノードである場合には、クライアントが送信したデータパケットの暗号化処理を行うためである。【００４４】  第六の効果は、アプリケーションから他のノード装置宛に送信されたデータパケットをインターセプトして通信暗号化モジュールにリダイレクトする構成にあっては、アプリケーションは、ループバックアドレス宛ではなく、通信相手のIPアドレス宛にデータパケットを送信することができるため、アプリケーションにおいて通信の記録をとる場合、通信相手のＩＰアドレスを記録することができるという効果がある。
【図面の簡単な説明】
【００４５】
【図１】図１は、本発明の第一の実施例の構成を示すブロック図である。
【図２】図２は、本発明の第一の実施例の暗号化通信路設定テーブルの例を示す図である。
【図３】図３は、本発明の第一の実施例のCUG設定テーブルの例を示す図である。
【図４】図４は、本発明の第一及び第四の実施例のDNS Proxy部の名前解決要求受け付け時の動作を示す流れ図である。
【図５】図５は、本発明の第二の実施例の前提例の構成を示すブロック図である。
【図６】図６は、本発明の第二の実施例の前提例におけるDNS Proxy部の名前解決要求受け付け時の動作を示す流れ図である。
【図７】図７は、本発明の第二の実施例の前提例における暗号化通信路設定テーブルの例を示す図である。
【図８】図８は、本発明の第二の実施例の構成を示すブロック図である。
【図９】図９は、本発明の第二の実施例のDNS Proxy部の名前解決要求受け付け時の動作を示す流れ図である。
【図１０】図１０は、本発明の第二の実施例のCUG設定テーブルの例を示す図である。
【図１１】図１１は、本発明の第三の実施例の構成を示すブロック図である。
【図１２】図１２は、本発明の第三の実施例のCUG設定データベースの例を示す図である。
【図１３】図１３は、本発明の第三の実施例の変形例におけるクライアントノードの構成を示すブロック図である。
【図１４】図１４は、本発明の第四の実施例の構成を示すブロック図である。
【図１５】図１５は、本発明の第四の実施例の暗号化通信路設定テーブルの例を示す図である。
【図１６】図１６は、本発明の第四の実施例の変形例におけるクライアントノードの構成を示すブロック図である。
【図１７】図１７は、本発明の第四の実施例の他の変形例におけるクライアントノードの構成を示すブロック図である。
【図１８】図１８は、本発明の第五の実施例の構成を示すブロック図である。
【図１９】図１９は、本発明の第五の実施例のリダイレクトテーブルの例を示す図である。
【図２０】図２０は、本発明の第五の実施例の暗号化通信路設定テーブルの例を示す図である。
【図２１】図２１は、本発明の第五の実施例のクライアントノードの動作を示す流れ図である。
【図２２】図２２は、本発明の第六の実施例の構成を示すブロック図である。
【図２３】図２３は、本発明の第六の実施例のDNS Proxy部の名前解決要求受け付け時の動作を示す流れ図である。
【図２４】図２４は、本発明の第六の実施例の変形例における通信暗号化ノードの構成を示すブロック図である。
【図２５】図２５は、通信暗号化モジュールを利用する従来の暗号通信システムの構成を示す図である。
【図２６】図２６は、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と、通信暗号化モジュールA13aと、データ送受信部A14xとを含む。データ送受信部A14xはデータパケットの送受信を行う部分で、カーネル部に設けられている。【００４９】  アプリケーション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アドレスをループバックアドレスにマッピングし、そのループバックアドレスと暗号化通信対象ノードのIPアドレスとを通信暗号化モジュールA13aに設けられる暗号化通信路設定テーブルA132aに登録し、アプリケーションA11xに対して、マッピングしたループバックアドレスを名前解決結果として回答する機能を有する。通信相手が通常通信対象ノードの場合は、このようなマッピングや登録は行わず、通信相手のIPアドレスを名前解決結果として回答する。【００５８】  以下、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は、通信方式解決部A122aから判断結果を受け取り、その判断結果に応じて、アプリケーションA11xに対してDNSレスポンスメッセージを送信することになる。ここで、DNSクエリ・応答送受信部A121aのDNSレスポンスメッセージ送信処理は、アプリケーションA11xの通信相手のノード種別によって次の二つのパターンに分かれる。【００６０】・通信相手が通常通信対象ノードである場合  この場合、DNSクエリ・応答送受信部A121aには通信方式解決部A122aからアプリケーションA11xの通信相手が通常通信対象ノードであるとの判断結果が通知される。このとき、DNSクエリ・応答送受信部A121は、外部DNSサーバB1aによって解決された名前解決結果をそのままアプリケーションA11xに通知する。・通信相手が暗号化通信対象ノードである場合  この場合、DNSクエリ・応答送受信部A121aには通信方式解決部A122aからループバックアドレスが通知される。このとき、DNSクエリ・応答送受信部A121aは、外部DNSサーバB1aによって解決されたアプリケーションA11xの通信相手のIPアドレスを通信方式解決部A122aから通知されたループバックアドレスに書き換え、アプリケーションA11xに通知する。【００６１】  次に通信方式解決部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は、ドメイン名の他にIPアドレスを利用して通信相手のノード種別を判断することも出来る。この場合、通信方式解決部A122aは、通信相手のIPアドレスの全てまたは一部がCUG設定テーブルA125aにおいて暗号化通信対象ノードのIPアドレスとして登録されているか否かをチェックする。例えば、通信相手のIPアドレスが133.11.64.24である場合は、CUG設定テーブルA125に��いてIPアドレス133.11.64.24または、133.11.64.24が含まれるIPアドレス範囲(例えば133.11.64.0/24や133.11.0.0/16など)が暗号化通信対象ノードのIPアドレスとして登録されているか否かをチェックする。【００６４】  通信方式解決部A122aは、上記のような方法で、アプリケーションA11xの通信相手のノード種別を判断した後、通常通信対象ノードであると判断した場合、その旨をDNSクエリ・応答送受信部A121aに通知する。逆に通信相手のノード種別が暗号化通信対象ノードである場合は、DNSクエリ・応答送受信部A121aから渡された名前解決結果及び通信相手との通信に用いる暗号化通信路設定情報を暗号化通信路設定部A123aに渡し、暗号化通信路設定部A123aからループバックアドレスを受け取る。受け取ったループバックアドレスは、DNSクエリ・応答送受信部A121aに渡す。【００６５】  次に暗号化通信路設定部A123aについて説明する。暗号化通信路設定部A123aは、通信方式解決部A122aから名前解決結果及び暗号化通信路設定情報を渡されると、名前解決結果に含まれるアプリケーションA11xの通信相手のIPアドレスを、ループバックアドレスへマッピングし、そのループバックアドレスを通信方式解決部A122aに通知する機能を有する。マッピングするループバックアドレスは、暗号化通信路設定テーブルA132aを参照し、他の通信セッションで使用されていないものを選択する。また、選択したループバックアドレスと通信方式解決部A122aから渡された名前解決結果及び暗号化通信路設定情報との対応関係を暗号化通信路設定テーブルA132aに登録する機能を有する。【００６６】  次にDNSサーバアドレス設定テーブルA124aについて説明する。DNSサーバアドレス設定テーブルA124aには、外部DNSサーバB１aのアドレスが登録される。DNSサーバアドレス設定テーブルA124aは、DNSクエリ・応答送受信部Ａ121aが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)を持つ通信相手が暗号化通信対象ノードとなる)、あるいはIPアドレス範囲(例えば、10.1.0.0/16が登録されている場合は、10.1.0.0/16に含まれるIPアドレス(例えば10.1.2.1)を持つ通信相手が暗号化通信対象ノードとなる)などである。【００６８】  その他、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の例を図3に示す。図3に示すCUG設定テーブル201には、暗号化通信対象ノードの識別情報としてドメイン名条件が、暗号化通信路の設定情報として通信プロトコルと電子証明書ID、暗号化アルゴリズムがそれぞれ登録されている。例えば、図3に示すCUG設定テーブル201の4番目のエントリには、*.myfriends.comのドメイン名条件に該当するドメイン名を持つ通信相手ノード(例えば、yamada.myfriends.comやsato.myfriends.com)が暗号化通信対象ノードであり、それらのノードとは、通信プロトコル:SSL、電子証明書ID:11、暗号化アルゴリズム:DESを用いて暗号化通信を行うという設定がなされている。【００７０】  DNS Proxy部A12aがCUG設定テーブルA125aとして図3で示したテーブル201を保持している場合、通信方式解決部A122aは通信相手のノード種別を通信相手のドメイン名を利用して判断する。例えば、通信相手のドメイン名が、taro.nec.co.jpである場合、当該ドメイン名は、テーブル201の2番目のエントリに登録されており、このため、通信方式解決部A122aは、通信相手が暗号化通信対象ノードであると判断する。通信相手のドメイン名が、yamada.myfriends.comである場合、当該ドメイン名自体はテーブル201に登録されていないが、ドメインサフィックス：myfriends.comがテーブル201の4番目のエントリに登録されているため、この場合も通信方式解決部A122aは通信相手が暗号化通信対象ノードであると判断する。通信相手のドメイン名がテーブル201に登録されているドメイン名のいずれにも合致しない場合、通信方式解決部A122aは通信相手が通常通信対象ノードであると判断する。【００７１】  以上がDNS Proxy部A12aの構成である。【００７２】  次に通信暗号化モジュールA13aの構成について説明する。通信暗号化モジュールA13aは、通信暗号化部A131aと暗号化通信路設定テーブルA132aとを含む。【００７３】  まず通信暗号化部A131aについて説明する。通信暗号化部A131aは、アプリケーションA11xから受信したデータパケットの宛先ループバックアドレスを基に暗号化通信路設定テーブルA132aを参照して、アプリケーションA11xの通信相手を識別し、通信に用いる暗号化通信路を把握して通信を暗号化する機能を有する。また、外部の通信相手ノードから受信したデータパケットに対して復号化処理を施し、アプリケーションA11xに転送する機能を有する。通信暗号化部A131aは、暗号・復号化処理部A1311aとアドレス変換部A1312aとを含む。【００７４】  暗号・復号化処理部A1311aは、アプリケーションA11xから受信したデータパケットの宛先ループバックアドレスを元に暗号化通信路設定テーブルA132aを参照し、このテーブルに登録されている暗号化通信路設定情報に従って、受信したデータパケットに���号化処理を施す機能を有する。また、外部の通信相手ノードから受信したデータパケットの送信元アドレスを元に暗号化通信路設定テーブルA132aを参照し、このテーブルに登録されている暗号化通信路設定情報に従って、受信したデータパケットに復号化処理を施す機能を有する。【００７５】  アドレス変換部A1312aは、アプリケーションA11xから受信したデータパケットの宛先ループバックアドレスを元に暗号化通信路設定テーブルA132aを参照し、宛先ループバックアドレスを暗号化通信路設定テーブルA132aにおいて対応付けられている通信相手のIPアドレスに変換する機能を有する。また、外部の通信相手ノードから受信したデータパケットの送信元アドレスを元に暗号化通信路設定テーブルA132aを参照し、送信元アドレスを暗号化通信路設定テーブルA132aにおいて対応付けられているループバックアドレスに変換する機能を有する。【００７６】  次に暗号化通信路設定テーブルA132aについて説明する。暗号化通信路設定テーブルA132aには、暗号化通信路設定部A123aによって、ループバックアドレスとループバックアドレスに対応する通信相手のIPアドレス及び同通信相手との通信に使用すべき暗号化通信路設定情報が登録される。つまり、暗号化通信路設定テーブルA132aは、暗号化通信対象ノードとなる通信相手毎に、そのIPアドレス、割り当てられたループバックアドレス及び暗号化通信路設定情報が保持される。このテーブルA132aは、暗号化通信路設定部A123aがアプリケーションA11xの通信相手のIPアドレスを、ループバックアドレスへマッピングする際、及び通信暗号化部A131aが通信の暗号化処理を行う際に参照される。図2に暗号化通信路設定テーブルA132aの例を示す。暗号化通信路設定テーブルに登録される暗号化通信路設定情報の例としては、通信プロトコル、利用する電子証明書のID、暗号化アルゴリズムなどが挙げられる。【００７７】  通信暗号化モジュールA13aが暗号化通信路設定テーブルA132aとして図2に示したテーブル101を保持しているケースを想定し、通信暗号化部A131aがアプリケーションA11xから宛先アドレス127.1.1.1のデータパケットを受信した場合の通信暗号化処理の例を説明する。アドレス変換部A1311aはデータパケットを受信すると、データパケットを暗号・復号化処理部A1311aに渡す。暗号・復号化処理部A1311aは、暗号化通信路設定テーブルA132aを参照して、宛先アドレス127.1.1.1に該当するエントリを把握する。この場合、テーブル101の2番目のエントリが該当し、その結果、通信に利用する暗号化通信路の設定情報として、通信プロトコル：SSL、電子証明書ID：10、暗号化アルゴリズム：3DESを取得する。暗号・復号化処理部A1311aは、アプリケーションA11xから受信したデータパケットを前記暗号化通信路の設定情報に従って、SSLプロトコルで定められた手順により3DESアルゴリズムで暗号化した後、アドレス変換部A1312aに渡す。アドレス変換部A1312aも同様に暗号化通信路設定テーブルA132aを参照して、宛先アドレス127.1.1.1に該当するエントリを引き、通信相手のIPアドレスを把握する。この場合、通信相手のIPアドレスとして133.11.64.24が把握され、アドレス変換部A1312aは宛先アドレスを127.1.1.1から133.11.64.24に変換した後、送信する。【００７８】  また、IPアドレス133.11.64.24の外部ノードから3DESアルゴリズムで暗号化されたデータパケットをSSLプロトコルにより受信した場合、通信暗号化部A131aは、暗号化処理の場合と同様に暗号化通信路設定テーブルA132aを参照し、暗号・復号化処理部A1311aにおいて復号化を行った後、アドレス変換部A1312aが送信元IPアドレスを133.11.64.24から127.1.1.1に変換してアプリケーションA11xに送信する。【００７９】  以上の例では、暗号・復号化処理を行った後にアドレス変換を行う動作例を説明したが、これとは逆にアドレス変換を行った後に暗号・復号化処理を行うことも可能である。また、アドレス変換と暗号・復号化処理を同時並行に行うことも可能である。【００８０】  次に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に判断結果が通知され、DNSクエリ・応答送受信部A121aは、DNSサーバB1aから受信したDNSレスポンスメッセージをアプリケーションA11xに転送する(ステップS106)。【００９２】  アプリケーションA11xは、DNSレスポンスメッセージを受信すると、受信したDNSレスポンスメッセージにより通知された通信相手のIPアドレスに対する通信を開始する。この場合、アプリケーションA11xが送信したデータパケットは、通信暗号化モジュールを経由せずに通信相手に直接送信され、通信相手とは通常の通信が行われることになる。【００９３】  次に、通信相手が暗号化通信対象ノードである場合について説明する。この場合、通信方式解決部A122aは、DNSクエリ・応答送受信部A121aから渡された名前解決結果と、CUG設定テーブルA125aから取得した暗号化通信路設定情報とを暗号化通信路設定部A123aに渡す。暗号化通信路設定部A123aは、名前解決結果を受け取ると、暗号化通信路設定テーブルA132aを参照し、アプリケーションA11xの通信相手のIPアドレスを、他の通信セッションで使用されていないループバックアドレスへマッピングし、マッピングしたループバックアドレスを通信方式解決部A122aに通知する。また、暗号化通信路設定部A123aは、マッピングしたループバックアドレスと、通信方式解決部A122aから渡された名前解決結果に含まれる通信相手のIPアドレス及び暗号化通信路設定情報の対応関係を暗号化通信路設定テーブルA132aに登録する(ステップS105)。【００９４】  通信方式解決部A122aは、暗号化通信路設定部A123aから渡されたループバックアドレスをDNSクエリ・応答送受信部A121aに通知する。DNSクエリ・応答送受信部A121aは、通信方式解決部A122aからループバックアドレスを通知されると、外部DNSサーバB1aから渡された名前解決結果に含まれる通信相手のアドレスをそのループバックアドレスに書き換え、DNSレスポンスメッセージを作成し、アプリケーションA11xに送信する。つまり、アプリケーションA11xには、通信相手のドメイン名に対する名前解決結果として、暗号化通信路設定部A123aが選択したループバックアドレスが通知されることになる(ステップS106)。【００９５】  アプリケーションA11xは、DNSレスポンスメッセージを受信すると、名前解決結果に含まれるループバックアドレスを通信相手の真のアドレスと認識して、そのループバックアドレス宛にデータパケットを送信する。この結果、アプリケーションA11xが送信したデータパケットは通信暗号化モジュールA13aによってインターセプトされ、通信暗号化のための処理が行われることになる。【００９６】  以上が、アプリケーションA11xが名前解決要求を行った際のクライアントノードA1の動作である。【００９７】  次にアプリケーションA11xが通信相手に対してデータパケットを送信した場合の動作について説明する。【００９８】  アプリケーションA11xは、DNS Proxy部A12aからDNSレスポンスメッセージを受信すると、DNSレスポンスメッセージで通知された名前解決結果に含まれるアドレス宛にデータパケットを送信する。【００９９】  まず通信相手が通常通信対象ノードである場合の動作について述べる。この場合、アプリケーションA11xには名前解決結果として通信相手のIPアドレスが通知され、アプリケーションA11xはそのIPアドレス宛にデータパケットを送信する。このため、データパケットは通信暗号化モジュールA13aを経由せず通信相手に直接送信されることになる。【０１００】  次に、通信相手が暗号化通信対象ノードである場合の動作について述べる。この場合、アプリケーションA11xには名前解決結果としてループバックアドレスが通知される。アプリケーションA11xは通知されたループバックアドレス宛にデータパケットを送信する。この結果、ループバックアドレス宛に送信されたデータパケットは通信暗号化モジュールA13aによって受信される。通信暗号化モジュールA13aの内部では、データパケットは通信暗号化部A131aによって処理される。【０１０１】  通信暗号化部A131aは、アプリケーションA11xからデータパケットを受信すると、データパケットの宛先ループバックアドレスを基に、暗号化通信路設定テーブルA132aを参照し、アプリケーションA11xの通信相手との通信に使用すべき暗号化通信路の設定情報及び通信相手のIPアドレスを取得する。そして、通信暗号化部A131aは、取得した暗号化通信路の設定情報を利用して、暗号・復号化処理部A1311aにおいてアプリケーションA11xから受信したデータパケットに対して暗号化処理を行い、アドレス変換部A1312aにおいてデータパケットの宛て先ループバックアドレスを通信相手のIPアドレスに書き換えて、通信相手に対して暗号化通信路経由で送信する。【０１０２】  なお、以上の説明では、DNS Proxy部A12aが外部DNSサーバB1aから通信相手の名前解決結果を受け取った後に通信相手のノード種別を判断する方法を説明したが、本実施例では他の方法として、DNS Proxy部A12aが外部DNSサーバB1aに通信相手の名前解決を要求する前に通信相手のノード種別を判断する方法を採ることも可能である。但し、この場合は通信相手のIPアドレスに基づいてノード種別を判断することは不可能であるため、ドメイン等に基づいてノード種別を判断することになる。この場合、例えば通信相手のノード種別に応じて、名前解決を要求する(すなわちDNSクエリメッセージを送信する)DNSサーバを変えるといった制御を行うことが可能になるため、暗号化通信を行うグループ専用のDNSサーバを構築できるといった利点がある。【０１０３】  次に本実施例の効果について説明する。【０１０４】  本実施例では、DNS Proxy部A12aが、クライアントノードA1の内部においてアプリケーションA11xが通信相手の名前解決を要求する際にDNSサーバB1aと送受信するDNSメッセージをインターセプトし、DNSメッセージに含まれる情報から通信相手の種別を判断し、通信相手が暗号化通信対象ノードである場合には、DNSレスポンスメッセージを通信相手のIPアドレスをループバックアドレスに書き換えて、アプリケーションA11xに応答する。さらに、DNSレスポンスメッセージにより通知するループバックアドレスは、アプリケーションA11xの通信相手によって変える。このため、アプリケーションA11xからデータパケット���受信した通信暗号化モジュールA13aは、宛先ループバックアドレスによりアプリケーションA11xの通信相手を識別し、その通信相手との通信に利用すべき暗号化通信路を識別することができる。したがってクライアントノードA1は、複数の通信相手と同時に直接暗号化通信を行うことができる。【０１０５】  また、本実施例では前述のとおり、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アドレスに依存せずに自由につけることが可能であり、グループを自由に構成することが出来る。【０１０６】  通信相手の種別（暗号化通信対象かどうかの種別）をドメイン名により判断すれば上述したような効果が得られるが、本発明は、ドメイン名で判断する場合に限定されず、IPアドレスにより判断するようにしてもよい。ドメイン名だけでなく、IPアドレスによって通信相手の種別を判断してもよい点は、第一の実施例だけでなく、以下に説明するすべての実施例においても同じである。【０１０７】  次に本発明の第二の実施例について説明するが、その前に第二の実施例の前提例について図面を参照して詳細に説明する。【０１０８】  図5を参照すると、本発明の第二の実施例の前提例は、本発明の第一の実施例と比較して、本発明の第一の実施例における通信暗号化モジュールA13aの機能が、独立したプロセスにより提供されるのではなく、OSのカーネル部におけるデータ送受信部A14bの機能として提供される点が主に異なる。すなわち、本前提例において、データ送受信部A14bは、通信暗号化部A141bと暗号化通信路設定テーブルA142bとを含む。また、DNS Proxy部A12b内の暗号化通信路設定部A123bは、データ送受信部A14b内の暗号化通信路設定テーブルA142bに対して暗号化通信路の設定を行う。以下、本前提例について、本発明の第一の���施例と異なる点（すなわち、暗号化通信路設定部A123b及びデータ送受信部A14b）を中心に説明する。【０１０９】  まず、暗号化通信路設定部A123bについて説明する。暗号化通信路設定部A123bは、データ送受信部A14bに含まれる暗号化通信路設定テーブルA142bに、暗号化通信対象ノードのIPアドレスと当該暗号化通信対象ノードとの通信に利用する暗号化通信路設定情報とを登録する機能を有する。具体的には、暗号化通信路設定部A123bは、通信方式解決部A122aから渡されたアプリケーションA11xの通信相手の名前解決結果に含まれる通信相手のIPアドレス及び、該通信相手との通信に用いる暗号化通信路設定情報を、暗号化通信路設定テーブルA142bに登録する。【０１１０】  本前提例においては、暗号化通信路設定部A123bは、本発明の第一の実施例と異なり、暗号化通信対象ノードである通信相手のIPアドレスのループバックアドレスへの変換は行わない。その理由は次のとおりである。本発明の第一の実施例においては、通信暗号化モジュールA13a（通信暗号化部A131a）が独立したプロセスであるため、通信暗号化モジュールA13aがアプリケーションA11xの送信したデータパケットをインターセプトできるよう、暗号化通信路設定部A123aが通信相手のIPアドレスをループバックアドレスにマッピングしていた。これに対して、本前提例では、通信暗号化部A141bはデータ送受信部A14bに含まれるため、アプリケーションA11xが送信する全てのデータパケットをインターセプトすることができる。このため、アプリケーションA11xが送信するデータパケットのインターセプトを目的とした、通信相手のIPアドレスのループバックアドレスへのマッピングが不要である。【０１１１】  次にデータ送受信部A14bについて説明する。データ送受信部A14bは、通信暗号化部A141bと暗号化通信路設定テーブルA142bとを含む。アプリケーションA11xが外部のノードに対して送信する全てのデータパケットは、データ送受信部A14bによりインターセプトされ、送信処理が行われる。【０１１２】  暗号化通信路設定テーブルA142bには、暗号化通信対象ノードのIPアドレスと当該暗号化通信対象ノードとの通信に利用する暗号化通信路設定情報とが登録されている。登録は、暗号化通信路設定部A123bにより動的に行われる。暗号化通信路設定テーブルA142bの例を図7のテーブル301に示す。本例では、通信相手のIPアドレスと暗号化通信路設定情報として通信プロトコル、電子証明書ID、暗号化アルゴリズムが登録されている。【０１１３】  通信暗号化部A141bは、本発明の第一の実施例における通信暗号化部A131aと異なり、受信データパケットのアドレス変換を行う機能は持たず、暗号・復号化処理を行う機能のみを有する。その理由は、本発明の第一の実施例においては、通信暗号化部A131aはインターセプトしたデータパケットの宛先アドレスはループバックアドレスに変換されていたため、アプリケーションA11xの通信相手のIPアドレスに変換し直す必要があったが、本前提例においては、通信暗号化部A141bはアプリケーションA11xの送信したデータパケットを宛先アドレスに依らずインターセプトすることができるためである。【０１１４】  通信暗号化部A141bは、暗号・復号化処理部A1411bを含む。暗号・復号化処理部A1411bは、本発明の第一の実施例における暗号化・復号化処理部A1311aと同様の機能を有する。すなわち、インターセプトしたデータパケットの宛先アドレスを元に暗号化通信路設定テーブルA142bを参照して、データパケットの送信に利用すべき暗号化通信路の設定情報を把握し、これに従ってデータパケットを暗号化する。【０１１５】  以下、通信暗号化部A141bの動作例について説明する。例として、データ送受信部A14bが暗号化通信路設定テーブルA142bとして図7に例示したテーブル301を保持していると仮定し、データ送受信部A14bが宛先アドレス133.11.64.24のデータパケットをインターセプトしたケースについて説明する。【０１１６】  データ送受信部A14bがデータパケットをインターセプトすると、通信暗号化部A141bは、暗号化通信路設定テーブルA142bを参照する。図7の場合、暗号化通信路設定テーブルA142bの2番目のエントリがインターセプトしたデータパケットに該当する。通信暗号化部A141bは、2番目のエントリに登録されている設定情報（通信プロトコル:IPSec、電子証明書ID:10、暗号化アルゴリズム:3DES）に従ってデータパケットを暗号化した後、送信する。【０１１７】  以上がデータ送受信部A14bの構成である。【０１１８】  次に、本前提例において、アプリケーションA11xが暗号化通信対象ノードC1または通常通信対象ノードD1と通信を行う際のクライアントノードA1bの動作について詳細に説明する。【０１１９】  クライアントノードA1bの動作は、アプリケーションA11xが通信相手のドメイン名に対する名前解決要求を行った際の動作と、通信相手に対してデータパケットを送信した際の動作に、大きく分けられる。【０１２０】  まず、アプリケーションA11xが名前解決要求を行う際のクライアントノードA1bの動作について説明する。【０１２１】  アプリケーションA11xは、本発明の第一の実施例と同様に、ループバックアドレス宛(例えば127.0.0.1)にDNSクエリメッセージを送信し、通信相手の名前解決を要求する。アプリケーションA11xが送信したDNSクエリメッセージは、DNS Proxy部A12b(具体的にはDNS Proxy部A12b内部のDNSクエリ・応答送受信部A121a)が受信する。その後の処理はDNS Proxy部A12bで行われる。【０１２２】  図6を参照して、DNS Proxy部A12bがアプリケーションA11xからDNSクエリメッセージを受信した際の動作について説明する。【０１２３】  アプリケーションA11xからDNSクエリメッセージを受信してから、外部DNSサーバからDNSレスポンスメッセージを受信し、通信相手のノード種別を判断するまでのDNS Proxy部A12bの動作(図6のステップS201〜S204)は、本発明の第一の実施例におけるDNS Proxy部A12aの動作と同様である。また、通信相手のノード種別が通常通信対象ノードである場合の動作も本発明の第一の実施例における動作と同様である。【０１２４】  通信相手のノード種別が暗号化通信対象ノードである場合の暗号化通信路設定部A123bの動作(図6のステップS205)のみが本発明の第一の実施例と異なる。すなわち、暗号化通信路設定部A123bは、通信方式解決部A122aから名前解決結果および暗号化通信路の設定情報を受け取ると、これらの情報を暗号化通信路設定テーブルA142bに登録する(ステップS205)。登録後、DNSクエリ・応答送受信部A121aは、DNSサーバB1bから受け取った名前解決結果を含むDNSレスポンスメッセージをアプリケーションA11xに送信する(ステップS206)。【０１２５】  次にアプリケーションA11xが通信相手に対してデータパケットを送信した場合の動作について説明する。【０１２６】  本前提例においては、本発明の第一の実施例と異なり、DNS Proxy部A12bは、DNSサーバB1bが解決した通信相手のIPアドレスを通信相手のノード種別に依らず、そのままアプリケーションへと通知する。アプリケーションA11xは、DNS Proxy部A12bからDNSレスポンスメッセージを受信すると、通知されたIPアドレス(すなわち通信相手のIPアドレス)宛にデータパケットを送信する。ここで、送信されたデータパケットは、すべてデータ送受信部A14bによってインターセプトされる。【０１２７】  データ送受信部A14bがデータパケットをインターセプトすると、通信暗号化部A141bは、受信したデータパケットの宛先IPアドレスを元に暗号化通信路設定テーブルA142bを参照し、宛先IPアドレスが暗号化通信路対象ノードのIPアドレスとして登録されているか否かをチェックする。そして、暗号化通信路対象ノードの場合は、データパケットに暗号化処理を施した後、送信し、通常通信対象ノードの場合は、データパケットをそのまま送信する。【０１２８】  以上の説明では、DNS Proxy部A12bが外部DNSサーバB1aから通信相手の名前解決結果を受け取った後に通信相手のノード種別を判断する旨説明したが、本発明の第一の実施例と同様、本前提例においても同様に他の方法として、DNS Proxy部A12bが外部DNSサーバB1aに通信相手の名前解決を要求する前に通信相手のノード種別を判断する方法を採ることも可能である。【０１２９】  さて、本発明の第二の実施例について図面を参照して詳細に説明する。【０１３０】  図8を参照すると、本発明の第二の実施例は、クライアントノードA1cが、本発明の第一の実施例で説明した通信暗号化モジュールA13a及び前述した前提例で説明したデータ送受信部A14b（すなわち、データ送受信部A14bは通信暗号化部A141bと暗号化通信路設定部A142bとを含む）の両方を含む点が本発明の第一の実施例と異なる。すなわち、本実施例では、クライアントノードA1cが通信暗号化モジュールA13aにおける通信暗号化機能とデータ送受信部A14bにおける通信暗号化機能の両方を有する。【０１３１】  クライアントノードA1cを構成する各モジュールは、DNS Proxy部A12cの通信方式解決部A122c及び暗号化通信路設定部A123cを除き、本発明の第一の実施例及び前記前提例における当該各モジュールと同様の機能を有する。【０１３２】  まず、通信方式解決部A122cについて説明する。通信方式解決部A122cは、本発明の第一の実施例及び前記前提例における該当部が持つ機能に加え、アプリケーションA11xの通信相手が暗号化通信対象ノードである場合には、予め指定された判断基準に従って、通信相手と行う通信の暗号化を、通信暗号化モジュールA13a及びデータ送受信部A14bのどちら（または両方）で行うのかを判断し、判断結果を暗号化通信路設定部A123cに通知する機能を有する。【０１３３】  具体的な判断基準としては、例えばCUG（すなわち暗号化通信対象ノード（のグループ））毎に定めることができる。例えば、*.myfriends.comのドメイン名を持つ通信相手と暗号化通信を行う際は、データ送受信部A14bにより通信暗号化を行い、*.mycompany.comのドメイン名を持つ通信相手と暗号化通信を行う際は、通信暗号化モジュールA13aにより通信暗号化を行うなどと定め、CUG設定テーブルA125aに登録しておく。また、通信相手との通信に用いる暗号化通信路の設定情報を元に定めるようにしてもよい。例えば通信プロトコルがIPSecである暗号化通信路を利用する場合は、データ送受信部A14bにより通信暗号化を行い、通信プロトコルがSSLである暗号化通信路を利用する場合は、通信暗号化モジュールA13aにより通信暗号化を行うなどと定め、通信方式解決部A122cに設定しておく。【０１３４】  次に、暗号化通信路設定部A123cについて説明する。暗号化通信路設定部A123cは、通信方式解決部A122cから通知された判断結果に基づいて、暗号化通信路設定テーブルA132a及び暗号化通信路設定テーブルA142bのいずれか（または両方）に暗号化通信路設定情報の登録を行う機能を有する。【０１３５】  以下、本実施例における通信方式解決部A122c及び暗号化通信路設定部A123cの動作を図9を参照して詳細に説明する。【０１３６】  通信方式解決部A122cは、DNSクエリ・応答送受信部A121aから通信相手の名前解決結果を受取ると、CUG設定テーブルA125aを参照して、通信相手が暗号化通信対象ノードであるか否かを判断し(ステップS301)、暗号化通信対象ノードである場合は、この通信相手との通信に利用する暗号化通信路設定情報を把握すると共に、予め決められた判断基準に従って通信相手との通信の暗号化をどこで行うかを判断する(ステップS302)。その後、通信相手の名前解決結果と、通信相手との通信に用いる暗号化通信路設定情報と、通信相手との通信をどこで暗号化するかについての判断結果とを暗号化通信路設定部A123cに渡す。【０１３７】  暗号化通信路設定部A123cは、上記の情報を通信方式解決部A122cから渡されると、前記判断結果に基づいて暗号化通信路設定情報の登録処理を行う。処理内容は前記判断結果により以下の3つに分かれる。（１）通信暗号化モジュールA13aにおいて通信暗号化を行うと判断した場合  この場合、本発明の第一の実施例における暗号化通信路設定部A123cと同様に、暗号化通信路設定テーブルA132aを参照して、通信相手のIPアドレスを他の通信セッションで使用されていないループバックアドレスにマッピングし、ループバックアドレスと名前解決結果に含まれる通信相手のIPアドレス及び通信相手との通信に利用する暗号化通信路の設定情報を暗号化通信路設定テーブルA132aに登録する(ステップS303)。また、前記ループバックアドレスを通信方式解決部A122cに渡す。（２）データ送受信部A14bにおいて通信暗号化を行うと判断した場合  この場合、本発明の第二の実施例の前提例における暗号化通信路設定部A123cと同様に、通信方式解決部A122cから渡されたアプリケーションA11xの通信相手の名前解決結果に含まれる通信相手のIPアドレス及び、通信相手との通信に用いる暗号化通信路設定情報を、暗号化通信路設定テーブルA142bに登録する(ステップS304)。（３）通信暗号化モジュールA13a及びデータ送受信部A14bの両方において通信暗号化を行うと判断した場合  この場合、上記（１）及び（２）の動作を行う(ステップS305)。【０１３８】  通信方式解決部A122cは、暗号化通信路設定部A123cからループバックアドレスを渡された場合(すなわち上記（１）及び（３）の場合)、前記ループバックアドレスをDNSクエリ・応答送受信部A121に渡す。この場合、アプリケーションA11xには結果的に前記ループバックアドレスが通信相手の名前���決結果として通知され(ステップS306)、アプリケーションA11xが送信したデータパケットは、通信暗号化モジュールA13aによりインターセプトされて暗号化処理が施されることになる。さらに、上記（３）の場合には、通信暗号化モジュールA13aにより暗号化処理が施された後、データ送受信部A14bにおいても暗号化処理が施されることになる。上記（２）の場合には、アプリケーションA11xの通信相手のIPアドレスをDNSクエリ・応答送受信部A121aに渡す。この場合、アプリケーションA11xには結果的に通信相手のIPアドレスが通信相手の名前解決結果として通知され(ステップS306)、アプリケーションA11xが送信したデータパケットは、データ送受信部A14bにおいて暗号化処理が施されることになる。【０１３９】  上記動作の具体例を以下に述べる。なお、ここでは、DNS Proxy部A12cがCUG設定テーブルA125aとして図10に例示したテーブル401を保持しているものとし、さらに予め決められた判断基準については「通信プロトコルがIPSecである暗号化通信路を利用する場合は、データ送受信部A14bにより通信暗号化を行い、通信プロトコルがSSLである暗号化通信路を利用する場合は、通信暗号化モジュールA13aにより通信暗号化を行う」と定められているものとする。また、アプリケーションA11xの通信相手のドメイン名がtom.myfamily.comである場合について説明する。【０１４０】  通信方式解決部A122cは、DNSクエリ・応答送受信部A121aから名前解決結果を渡されると、CUG設定テーブルA125aを参照して、アプリケーションA11xの通信相手のノード種別を判断する。この場合、テーブル401の5番目のエントリが該当し、通信相手が暗号化通信対象ノードであると判断され、通信相手との通信に用いる暗号化通信路の設定情報としてプロトコル:IPSec、電子証明書ID:12、暗号化アルゴリズム:3DESが取得される。また、この場合、通信相手との暗号化通信路にはIPSecが利用されるため、通信方式解決部A122cは、予め決められた判断基準に従って通信相手との通信をデータ送受信部A14bにおいて暗号化すべきと判断する。通信方式解決部A122cは、DNSクエリ・応答送受信部A121aから渡された名前解決結果に加えて、上記の「通信相手のノード種別：暗号化通信対象ノード、通信相手との通信に用いる暗号化通信路の設定情報：プロトコル:IPSec、電子証明書ID:12、暗号化アルゴリズム:3DES、通信相手との通信を暗号化すべきモジュール：データ送受信部A14b」の情報を暗号化通信路設定部A123に渡す。暗号化通信部A123cは、上記の情報を受取ると、名前解決結果に含まれるアプリケーションA11xの通信相手のIPアドレスと、通信相手との通信に用いる暗号化通信路の設定情報を暗号化通信路設定テーブルA142bに登録する。通信方式解決部A122cは、アプリケーションA11xの通信相手のノード種別をDNSクエリ・応答送受信部A121aに渡す。結果として、アプリケーションA11xには通信相手のIPアドレスが通信相手の名前解決結果として通知され、アプリケーションA11xが送信したデータパケットは、データ送受信部A14bにおいて暗号化処理が施されることになる。【０１４１】  以上の説明では、DNS Proxy部A12cが外部DNSサーバB1aから通信相手の名前解決結果を受け取った後に通信相手のノード種別を判断する旨説明したが、本発明の第一の実施例と同様、本実施例においても同様に他の方法として、DNS Proxy部A12cが外��DNSサーバB1aに通信相手の名前解決を要求する前に通信相手のノード種別を判断する方法を採ることも可能である。【０１４２】  次に本実施例の効果について説明する。本実施例では、通信暗号化モジュールA13aの提供する通信暗号化機能とデータ送受信部A14bの提供する通信暗号化機能を、予め決められた判断基準に応じて柔軟に使い分けることが出来る。例えば、通信相手のサポートする通信プロトコルに応じて通信暗号化するモジュールを使い分けることで、通信相手がサポートしている通信プロトコルが限定されている場合(例えばIPSecのみサポート)でも、通信相手との暗号化通信を実現することが可能となる。【０１４３】  次に本発明の第三の実施例について図面を参照して詳細に説明する。【０１４４】  図11を参照すると、本発明の第三の実施例は、本発明の第一の実施例と比較して、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が解決した暗号化通信路の設定情報を暗号化通信路設定テーブルA132aに登録する機能を有する。【０１４７】  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からループバックアドレスを受け取り、通信相手のIPアドレスを、通知されたループバックアドレスに書き換えた名前解決結果をDNSレスポンスメッセージよってアプリケーションA11xに通知する。【０１４９】  暗号化通信路設定部A123dは、本発明の第一の実施例における暗号化通信部A123dと同様の機能を有する。【０１５０】  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には、暗号化通信対象ノードの識別情報が登録される。この他に通信を行う際に利用する暗号化通信路の設定情報を登録することもできる。なお、これらの情報は図3のテーブル201で示すように登録しておくことが出来る。また、暗号化通信対象ノードの識別情報を、個々のクライアントノードもしくはクライアントノードのグループ毎にCUG設定データベースB15dに登録しておくことも出来る。このような登録方法を採ることによって、同一のノード���対する通信方式の解決要求であってもクライアントノードによって異なる通信方式を解決するといった制御を行うことが可能となる。例えば、あるノードの種別を特定のクライアントノードに対してのみ暗号化通信対象ノードとして解決することによって、特定のクライアントノードからのみ暗号化通信を許可するという制御が可能になる。【０１５９】  CUG設定データベースB15dの具体例を図12に示す。図12に示すCUG設定データベースB15dは、下記（１）、（２）の2種類のテーブルから構成され、クライアントノード毎あるいはそのグループ毎に暗号化通信対象ノードの識別情報と通信を行う際に利用する暗号化通信路の設定情報が登録されている。（１）暗号化通信対象ノードの識別情報と通信を行う際に利用する暗号化通信路の設定情報が登録されたテーブル。テーブル502〜504が該当する。テーブル502〜504には、暗号化通信対象ノードの識別情報がドメイン名の形で登録され、暗号化通信路の設定情報（暗号化通信路仕様）として、通信プロトコル、電子証明書ID、暗号化アルゴリズムが登録されている。（２）クライアントノードの識別情報と、当該クライアントノードからのDNSクエリメッセージ受信を契機とした通信方式解決の際に参照される上記（１）テーブルの識別子が登録されたテーブル。テーブル501が該当する。テーブル501には、クライアントノードの識別情報がIPアドレスの形で登録されており、当該IPアドレスを持つクライアントノードからのDNSクエリメッセージ受信を契機とした通信方式解決の際に参照されるテーブル502〜504の識別子が登録されている。【０１６０】  以下、DNSサーバB1dが図12に示す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サーバB1dから受信したDNSレスポンスメッセージに含まれる名前解決結果を元に、新たにDNSレスポンスメッセージを作成し、アプリケーションA11xに送信する。通信相手が暗号通信対象ノードである場合には、DNSサーバB1dから受信したDNSレスポンスメッセージに含まれる通信相手の名前解決結果及びその通信相手との通信に用いる暗号化通信路の設定情報を暗号化通信路設定部A123dに渡す。暗号化通信路A123dは、本発明の第一の実施例における動作と同様の手順で、暗号化通信路設定テーブルA132aに暗号通信対象ノードの情報を登録し、DNSクエリ・応答送受信部A121dにループバックアドレスを通知する。【０１６７】  DNSクエリ・応答送受信部A121dは、通信相手のIPアドレスを暗号化通信路設定部A123dから通知されたループバックアドレスに書き換え、DNSレスポンスメッセージによりアプリケーションA11xに通知する。【０１６８】  アプリケーションA11xは、DNSレスポンスメッセージを受信すると、宛先アドレスにDNSレスポンスメッセージによって通知された名前解決結果に含まれるアドレスを指定して、データパケットを送信する。【０１６９】  次に、DNSサーバB1dの動作を説明する。DNSサーバB1dは、クライアントノードA1dからDNSクエリメッセージを受信すると、クライアントノードA1dの通信相手の名前解決を行う。また、クライアントノードA1dがその通信相手と通信する際に採るべき通信方式を解決する。具体的には、通信相手のノード種別を解決し、そのノードがクライアントノードA1dにとって暗号化通信対象ノードである場合には、更にそのノードとの通信に用いる暗号化通信路の設定情報を解決する。DNSサーバB1dは、以上の解決結果を、DNSレスポンスメッセージによってクライアントノードA1dに送信する。【０１７０】  なお、以上の説明ではクライアントノードA1dの構成として、本発明の第一の実施例と同様にアプリケーションA11xが送信したデータパケットの暗号化機能を通信暗号化モジュールA13aが提供する構成について説明したが、本実施例において、クライアントノードA1dの構成として、本発明の第二の実施例と同様にデータパケットの暗号化機能を通信暗号化モジュールA13aおよびデータ送受信部A14b双方において提供する構成をとることも可能である。図13にこの場合のクライアントノードA1fの構成を示す。この場合、暗号化通信路設定部A123fおよびデータ送受信部A14bが本発明の第二の実施例における暗号化通信路���定部A123cおよびデータ送受信部A14bと同様の機能を持つ。【０１７１】  図13に示されるクライアントノードA1fは、独立したプロセスとして動作する通信暗号化モジュールA13aと、カーネル部に設けられたデータ送受信部A14bと、アプリケーションA11xが他のノード装置のIPアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部A12fとを備える。【０１７２】  通信暗号化モジュールA13aは、通信相手IPアドレスとループバックアドレスと暗号化通信路設定情報との対応を保持する暗号化通信路設定テーブルA132aと、アプリケーションより送信された宛先アドレスにループバックアドレスが設定されたデータパケットを受信し、データパケットの宛先アドレスに設定されたループバックアドレスに対応する通信相手IPアドレス及び暗号化通信路設定情報を暗号化通信路設定テーブルA132aから読み出し、前記データパケットの宛先アドレスを前記読み出した通信相手IPアドレスに書き換え且つ前記読み出した暗号化通信路設定情報に従って前記データパケットを暗号化して送信する通信暗号化部A131aとを備える。【０１７３】  データ送受信部A14bは、通信相手IPアドレスと暗号化通信路設定情報との対応を保持する暗号化通信路設定テーブルA142bと、アプリケーションより送信されたデータパケットを受信し、前記データパケットの宛先アドレスに設定された通信相手IPアドレスが暗号化通信路設定テーブルA142bに登録されていた場合に、対応する暗号化通信路設定情報を暗号化通信路設定テーブルA142bから読み出し、前記データパケットを前記読み出した暗号化通信路設定情報に従って暗号化して送信する通信暗号化部A141bとを備える。【０１７４】  図示しない名前解決サーバは、名前解決に関連する機能に加えて、暗号化通信対象ノードを特定するドメイン名条件と暗号化通信路設定情報との対応を保持する設定テーブルと、名前解決クエリまたは名前解決応答に含まれる前記他のノード装置のドメイン名が前記設定テーブルに保持された何れかのドメイン名条件にマッチするかどうか、及びマッチした場合に通信の暗号化を前記通信暗号化モジュール及び前記データ送受信部の何れで行うかを判定する通信方式解決部と、前記マッチしたドメイン名条件に対応する暗号化通信路設定情報及び前記判定の結果を前記名前解決応答に付加して送信する名前解決応答・クエリ送受信部とを備える。そして、名前解決プロキシ部A12fは、前記暗号化通信路設定情報及び前記判定の結果が付加された前記名前解決応答を前記名前解決サーバから受信したときに、通信の暗号化を前記通信暗号化モジュールで行うと判定された場合は前記マッチしたドメイン名条件に対応する暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のIPアドレスと他の通信セッションで使用されていないループバックアドレスとの対応を暗号化通信路設定テーブルA132aに登録し、通信の暗号化を前記データ送受信部で行うと判定された場合は前記マッチしたドメイン名条件に対応する暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のIPアドレスとの対応を暗号化通信路設定テーブルA142bに登録する暗号化通信路設定部A123fと、通信の暗号化を前記通信暗号��モジュールで行うと判定された場合に前記名前解決サーバから受信した名前解決応答に含まれる前記他のノード装置のIPアドレスを前記対応中の前記ループバックアドレスに置き換えた名前解決応答を前記アプリケーションに送信する名前解決クエリ・応答送受信部A121aとを備える。【０１７５】  次に本実施例の効果について説明する。本実施例では、暗号化通信対象ノードの識別情報と通信に用いる暗号化通信路の設定情報がDNSサーバB1dによって一元管理される。このため、個々のクライアントノードにおいて前記情報を設定・保持しておく必要がない。特に複数のクライアントノードでグループを構成して通信を行う場合、暗号化通信路の設定情報等に変更があっても、DNSサーバB1dにおいて1度変更を行うだけで済み、DNSサーバB1d上の前記情報をグループ内で効率的に共有することが出来る。【０１７６】  次に、本発明の第四の実施例について図面を参照して詳細に説明する。【０１７７】  図14を参照すると、本発明の第四の実施例は、本発明の第一の実施例と比較して、クライアントノードA1gにDNS Proxy部および通信暗号化モジュールが含まれず、これらのモジュールが外部の通信暗号化ノードF1aに含まれる点が異なる。すなわち、本実施例は、主に以下の2点において、本発明の第一の実施例と異なる。（１）クライアントノードA1gの通信相手のノード種別(すなわち通信相手が暗号化通信対象ノードであるか通常通信対象ノードであるか)、及び通信相手が暗号化通信対象ノードである場合における当該通信相手との通信に用いる暗号化通信路の設定情報が、通信暗号化ノードF1aによって解決される。（２）クライアントノードA1gが暗号化通信対象ノードと通信を行う際、通信の暗号化処理が通信暗号化ノードF1aによって行われる。【０１７８】  以下、本実施例について、本発明の第一の実施例と異なる点を中心に説明する。【０１７９】  まずクライアントノードA1gについて説明する。クライアントノードA１gは、アプリケーションA11xとデータ送受信部A14xとを含む。アプリケーションA11xとデータ送受信部A14xは、本発明の第一の実施例の説明におけるものと同様の機能を持つ。本実施例において、クライアントノードA1gにはDNSサーバとして通信暗号化ノードF1aのアドレスが設定されている。【０１８０】  次に通信暗号化ノードF1aについて説明する。通信暗号化ノードF1aは、DNS Proxy部F12aと通信暗号化モジュールA13aとデータ送受信部A14xとを含む。【０１８１】  まずDNS Proxy部F12aについて説明する。DNS Proxy部F12aは、本発明の第一の実施例におけるDNS Proxy部A12aと同様の構成を採り、クライアントノードA1gの通信相手のノード種別を判断し、暗号化通信路の設定情報を暗号化通信路設定テーブルF132aに登録するという機能を持つが、本発明の第一の実施例におけるDNS Proxy部A12aとは以下の2点で異なる。（１）外部クライアントノードA1gからの名前解決要求を受信処理する。（２）クライアントノード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から名前解決結果を渡されると、暗号化通信路設定テーブルF132aを参照して他の通信セッションで使用されていないインターセプト用アドレスを選択し、名前解決結果に含まれるクライアントノードA1gの通信相手のIPアドレスを、前記インターセプト用アドレスへマッピングし、前記インターセプト用アドレスをDNSクエリ・応答送受信部F121aに通知する。また、選択したインターセプト用アドレスと通信方式解決部F122aから渡された名前解決結果およびクライアントノードA1gの通信相手との通信に利用すべき暗号化通信路の設定情報との対応関係を暗号化通信路設定テーブルF132aに登録する。【０１８７】  DNSサーバアドレス設定テーブルA124aには、本発明の第一の実施例におけるDNSサーバアドレス設定テーブルA124aと同様の情報が登録されている。【０１８８】  CUG設定データベースF125aには、本発明の第一の実施例におけるCUG設定テーブルA125aと同様に暗号化通信対象ノード(CUG参加ノード)の識別情報と通信を行う際に利用する暗号化通信路の設定情報が登録され、通信方式解決部F122aがクライアントノードA1gの通信相手の種別を判断する際に参照される。また、CUG設定データベースF125aは、本発明の第一の実施例におけるCUG設定テーブルA125aと同様に、暗号化通信対象ノード毎にノード識別情報と暗号化通信路の設定情報を登録しておくことが可能であり、複数の暗号化通信対象ノードをまとめて一つのグループとして扱い、グループ毎にノード識別情報と暗号化通信路の設定情報を登録しておくことも可能である。さらに、CUG設定データベースF125aは、本発明の第三の実施例におけるCUG設定データベースB15dと同様に、暗号化通信対象ノードの識別情報と通信を行う際に利用する暗号化通信路の設定情報の情報をクライアントノードもしくはクライアントノードのグループ毎に登録しておくことも可能であり、その場合、例えば図12のような形で情報が登録される。【０１８９】  以上がDNS Proxy部F12aの構成である。【０１９０】  次に、通信暗号化モジュールF13aについて説明する。【０１９１】  通信暗号化部F131aは、クライアントノードA1が暗号化通信対象ノードに対して送信するデータパケットの暗号化処理を行う。以下、暗号化処理の具体的手順について説明する。【０１９２】  クライアントノードA1gが暗号化通信対象ノードと通信を行う場合、クライアントノードA1gから送信されるデータパケットの宛先アドレスには、インターセプト用アドレスが指定されており(暗号化通信対象ノードに対する名前解決要求に対しては、DNS Proxy部F12aによりインターセプト用アドレスが名前解決結果として通知されるため)、前記データパケットは全て通信暗号化ノードF1aがインターセプトすることになる。インターセプトされたデータパケットは通信暗号化部F131aに渡される。通信暗号化部F131aは、インターセプトしたデータパケットの宛先アドレスを元に暗号化通信路設定テーブルF132aを参照し、宛先インターセプト用アドレスと対応付けられている通信相手のIPアドレス及びその通信相手との通信に利用する暗号化通信路の設定情報を把握する。そして、把握した暗号化通信路の設定情報に従ってインターセプトしたデータパケットを暗号化し、クライアントノードA1gの通信相手に送信する。【０１９３】  以下、上記で説明した通信暗号化処理の具体例を説明する。具体例としては、通信暗号化モジュールF12aが暗号化通信路設定テーブルF132aとして図15に示したテーブル601を保持しているケースを想定し、通信暗号化ノードF1aが、クライアントノードA1gの送信した宛先アドレスfe80::3090のデータパケットをインターセプトした場合の例を説明する。【０１９４】  通信暗号化部F131aは、まず暗号化通信路設定テーブルF132aを参照して、宛先アドレスfe80::3090に該当するエントリを把握する。この場合、テーブル601の2番目のエントリが該当し、その結果、通信暗号化部F131aは通信に利用する暗号化通信路の設定情報として、通信プロトコル：SSL、電子証明書ID：10、暗号化アルゴリズム：3DESを取得する。次に通信暗号化部F131aは、インターセプトしたデータパケットの宛先アドレスを、fe80::3090から通信相手のIPアドレスであるaa91::1001に書き換え、暗号化通信路の設定情報に従って、３DESアルゴリズムで暗号化した後、SSLプロトコルで通信相手に送信する。【０１９５】  以上が、通信暗号化部F131aによる通信暗号化処理の具体的手順である。【０１９６】  暗号化通信路設定テーブルF132aには、クライアントノードA1gの通信相手の名前解決結果(通信相手のIPアドレスなど)及び前記通信相手との通信に用いる暗号化通信路の設定情報と、それらに対応するインターセプト用アドレスが登録される。暗号化通信路設定テーブルF132aは、暗号化通信路設定部F123aがクライアントノードA1gの通信相手のIPアドレスを、インターセプト用アドレスへマッピングする際、及び通信暗号化部F131aが通信の暗号化処理を行う際に参照される。図15に暗号化通信路設定テーブルF123aの例を示した。図15に示した暗号化通信路設定テーブル601では、名前解決結果に含まれる情報として、クライアントノードA1gの通信相手のIPアドレス及びドメイン名が、対応するインターセプト用アドレス毎に登録されている。【０１９７��  次に、インターセプト用アドレスとして利用できるIPアドレスについて説明する。【０１９８】  インターセプト用アドレスとしては、例えば以下の二つのアドレスが利用できる。（１）通信暗号化ノードF1a自身のIPアドレス（２）クライアントノードA１gが属するサブネットのアドレス範囲に含まれない任意のアドレス【０１９９】（１）の通信暗号化ノードF1a自身のIPアドレスをインターセプト用アドレスとして利用する場合、通信暗号化ノードF1aには複数のIPアドレスが割り当てられていることが必要となる。その理由は、通信暗号化ノードF1aは、クライアントノードA1gが送信したデータパケットの宛先アドレスに指定されているインターセプト用アドレスによってクライアントノードA1gの通信相手を識別するため、同時に複数の通信相手もしくはクライアントノードの利用を想定する場合には、複数のインターセプト用アドレスを使い分けることが必要になるためである。また、インターセプト用アドレスが多くあるほど、より多くの通信相手もしくはクライアントノードの利用が可能となるため、通信暗号化ノードF1aにはできるだけ多くのIPアドレスが割り当てられている方が都合が良い。【０２００】（２）のクライアントノードA１gが属するサブネットのアドレス範囲に含まれない任意のアドレスをインターセプト用アドレスとして利用する場合、通信暗号化ノードF1aはクライアントノードA1gのデフォルトゲートウェイとなっている必要がある。デフォルトゲートウェイとなることで、クライアントノードA1gが自身の属するサブネットのアドレス範囲に含まれないアドレス宛にデータパケットを送信した場合、そのデータパケットはルーティング処理のために通信暗号化ノードF1aを経由することになる。クライアントノードA1gの通信相手がクライアントノードA1gの属するサブネット外に存在する場合は、通信相手のIPアドレスを直接インターセプト用アドレスとして利用することが可能である。【０２０１】  次に、本実施例において、クライアントノードA1gが通信相手の名前解決を要求してから、その通信相手と通信を行うまでの通信暗号化ノードF1aの動作を説明する。【０２０２】  通信暗号化ノードF1aの動作は、クライアントノードA1gからDNSクエリを受信した際の動作とクライアントノードA1gが送信したデータパケットをインターセプトした場合の動作に分けられる。【０２０３】  まず、図2を参照してクライアントノードA1gからＤＮＳクエリを受信した際の動作について説明する。【０２０４】  通信暗号化ノード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サーバB1から通知された名前解決結果を元に新たにDNSレスポンスメッセージを作成し、クライアントノードA1gに送信する(ステップS106)。【０２０８】  クライアントノードA1gは、DNSレスポンスメッセージを受信すると、受信したDNSレスポンスメッセージにより通知された通信相手のIPアドレスを宛先アドレスとしてデータパケットを送信する。この場合、クライアントノードA1gが送信したデータパケットは、通信暗号化ノードF1aを経由せずに通信相手に直接送信され、通信相手とは通常の通信が行われることになる。【０２０９】  次に、通信相手が暗号化通信対象ノードである場合について説明する。この場合、通信方式解決部F122aは、クライアントノードA1gの通信相手との通信に利用する暗号化通信路の設定情報をCUG設定データベースF125aから把握し、DNSクエリ・応答送受信部F121aから渡された名前解決結果と共に暗号化通信路設定部F123aに渡す。【０２１０】  暗号化通信路設定部F123aは、名前解決結果及び暗号化通信路の設定情報を受け取ると、暗号化通信路設定テーブルF132aを参照し、クライアントノードA1gの通信相手のIPアドレスを、他の通信セッションで使用されていないインターセプト用アドレスへマッピングする。暗号化通信路設定部F123aは、マッピングしたインターセプト用アドレスを通信方式解決部F122aに通知する。また、暗号化通信路設定部F123aは、インターセプト用アドレスと、通信方式解決部F122aから渡された名前解決結果及び通信相手との通信に利用する暗号化通信路設定情報の対応関係を暗号化通信路設定テーブルF123aに登録する(ステップ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が送信したデータパケットをインターセプトすると、通信暗号化部F131aは���データパケットの宛先アドレス(インターセプト用アドレスが指定されている)を基に暗号化通信路設定テーブルF132aを参照し、クライアントノードA1gの通信相手との通信に利用すべき暗号化通信路の設定情報及び通信相手のIPアドレスを取得する。そして、通信暗号化部F131aは、取得した暗号化通信路の設定情報を利用して、暗号・復号化処理部F1311aにおいてインターセプトしたデータパケットに対して暗号化処理を行い、アドレス変換部A1312aにおいてデータパケットの宛て先アドレスをインターセプト用アドレスから通信相手のIPアドレスに書き換えて、通信相手に対して送信する。【０２１７】  なお、以上の説明では通信暗号化ノードF1aの構成として、クライアントノードA1gが送信したデータパケットの暗号化機能を本発明の第一の実施例と同様に通信暗号化モジュールF13aが提供する構成について説明したが、本実施例において、通信暗号化ノードF1aの構成として、本発明の第二の実施例と同様にデータパケットの暗号化機能を通信暗号化モジュールF13aおよびデータ送受信部F14b双方において提供する構成をとることも可能である。図16にこの場合の通信暗号化ノードF1bの構成を示す。この場合、暗号化通信路設定部F123cおよびデータ送受信部F14bは本発明の第二の実施例における暗号化通信路設定部F123cおよびデータ送受信部F14bと同様の機能を持つ。【０２１８】  図16に示す通信暗号化ノードF1cは、独立したプロセスとして動作する通信暗号化モジュールF13aと、カーネル部に設けられたデータ送受信部F14bと、アプリケーションが他のノード装置のIPアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部F12cとを備える。【０２１９】  通信暗号化モジュールF13aは、通信相手IPアドレスと第1のインターセプト用アドレスと暗号化通信路設定情報との対応を保持する暗号化通信路設定テーブルF132aと、前記アプリケーションより送信された宛先アドレスに第1のインターセプト用アドレスが設定されたデータパケットを受信し、前記データパケットの宛先アドレスに設定された第1のインターセプト用アドレスに対応する通信相手IPアドレス及び暗号化通信路設定情報を暗号化通信路設定テーブルF132aから読み出し、前記データパケットの宛先アドレスに前記読み出した通信相手IPアドレスを設定したデータパケットを、前記読み出した暗号化通信路設定情報に従って暗号化して送信する通信暗号化部F131aとを備える。【０２２０】  データ送受信部F14bは、通信相手IPアドレスと第2のインターセプト用アドレスと暗号化通信路設定情報との対応を保持する暗号化通信路設定テーブルF142bと、前記アプリケーションより送信された宛先アドレスに第2のインターセプト用アドレスが設定されたデータパケットを受信し、前記データパケットの宛先アドレスに設定された第2のインターセプト用アドレスに対応する通信相手IPアドレス及び暗号化通信路設定情報を暗号化通信路設定テーブルからF142b読み出し、前記データパケットの宛先アドレスに前記読み出した通信相手IPアドレスを設定したデータパケットを、前記読み出した暗号化通信路設定情報に従って暗号化して送信する通信暗号化部F141bとを備える。【０２２１】  名前解決プロキシ部F12cは、暗号化通信対象ノ��ドを特定するドメイン名条件と暗号化通信路設定情報との対応を保持するCUG設定テーブルF125aと、名前解決クエリまたは名前解決応答に含まれる他のノード装置のドメイン名がCUG設定テーブルG125aに保持された何れかのドメイン名条件にマッチするかどうか、及びマッチした場合に通信の暗号化を通信暗号化モジュールF13a及びデータ送受信部F14bの何れで行うかを判定する通信方式解決部F122cと、通信方式解決部F122cにおいて通信の暗号化を通信暗号化モジュールF13aで行うと判定された場合に前記マッチしたドメイン名条件に対応する暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のIPアドレスと他の通信セッションで使用されていない第1のインターセプト用アドレスとの対応を暗号化通信路設定テーブルF132aに登録し、通信方式解決部F122cにおいて通信の暗号化をデータ送受信部F14bで行うと判定された場合に前記マッチしたドメイン名条件に対応する暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のIPアドレスと他の通信セッションで使用されていない第2のインターセプト用アドレスとの対応を暗号化通信路設定テーブルF142bに登録する暗号化通信路設定部F123cと、通信方式解決部F122cにおいて通信の暗号化を通信暗号化モジュールF13aで行うと判定された場合に前記名前解決サーバから受信した名前解決応答に含まれる前記他のノード装置のIPアドレスを前記対応中の前記第1のインターセプト用アドレスに置き換えた名前解決応答を前記アプリケーションに送信し、通信方式解決部F122cにおいて通信の暗号化をデータ送受信部F14bで行うと判定された場合に前記名前解決サーバから受信した名前解決応答に含まれる前記他のノード装置のIPアドレスを前記対応中の前記第2のインターセプト用アドレスに置き換えた名前解決応答を前記アプリケーションに送信する名前解決クエリ・応答送受信部F121aとを備える。【０２２２】  また、以上の説明では通信相手のノード種別と、通信相手が暗号化通信対象端末であった場合にその通信相手との通信に利用する暗号化通信路設定情報の解決を通信暗号化ノードF1aの内部で行う構成について説明したが、本実施例において、本発明の第三の実施例と同様に、上記解決をDNSサーバB1aで行う構成を採ることも可能である。この場合、DNSサーバB1aの構成は、本発明の第三の実施例の説明における図11に示したDNSサーバB1bと同様の構成を採り、通信暗号化ノードF1aは、図17に示す構成を採る。この場合、DNSクエリ・応答送受信部F121dは、本発明の第三の実施例におけるDNSクエリ・応答送受信部A121dと同様の機能を持つ。【０２２３】  図17に示す通信暗号化ノードF1dは、独立したプロセスとして動作する通信暗号化モジュールF13aと、アプリケーションが他のノード装置のIPアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部F12dとを備える。【０２２４】  通信暗号化モジュールF13aは、通信相手IPアドレスとインターセプト用アドレスと暗号化通信路設定情報との対応を保持する暗号化通信路設定テーブルF132aと、アプリケーションより送信された宛先アドレスにインターセプト用アドレスが設定されたデータパケットを受信し、前記データパケットの宛先アドレスに設定されたインターセプト用アドレスに対応する通信相手IPアドレス及び暗号化通信路設定情報を暗号化通信路設定テーブルF132aから読み出し、前記データパケットの宛先アドレスに前記読み出した通信相手IPアドレスを設定したデータパケットを、前記読み出した暗号化通信路設定情報に従って暗号化して送信する通信暗号化部F131aとを備える。【０２２５】  図示しない名前解決サーバは、名前解決に関連する機能に加えて、暗号化通信対象ノードを特定するドメイン名条件と暗号化通信路設定情報との対応を保持する設定テーブルと、名前解決クエリまたは名前解決応答に含まれる他のノード装置のドメイン名が前記設定テーブルに保持された何れかのドメイン名条件にマッチするかどうかを判定する通信方式解決部と、前記マッチしたドメイン名条件に対応する暗号化通信路設定情報を前記名前解決応答に付加して送信する名前解決応答・クエリ送受信部とを備える。そして、名前解決プロキシ部F12dは、前記暗号化通信路設定情報が付加された前記名前解決応答を前記名前解決サーバから受信したときに、前記暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のIPアドレスと他の通信セッションで使用されていないインターセプト用アドレスとの対応を暗号化通信路設定テーブルF132aに登録する暗号化通信路設定部F123dと、前記名前解決サーバから受信した名前解決応答に含まれる前記他のノード装置のIPアドレスに対応するインターセプト用アドレスを名前解決応答として前記アプリケーションに送信する名前解決クエリ・応答送受信部F121dとを備える。【０２２６】  また、図16と図17との組み合わせ、つまり、図16と同様に通信暗号化ノードの通信暗号化モジュール及びデータ送受信部の何れかで暗号化を行い、且つ、図17と同様に暗号化対象ノードの判定と暗号化場所の判定を名前解決サーバで実行するようにした暗号化通信システムも考えられる。この場合の通信暗号化ノードは、図16の通信暗号化ノードF1CにおけるDNS Proxy部F12cの通信方式解決部F122c及びCUG設定テーブルF125aの機能を省略した構成になる。【０２２７】  次に本実施例の効果について説明する。本実施例では、通信相手の種別判断及び、暗号化通信対象ノードに対する通信暗号化処理が各クライアントノード内ではなく、外部の通信暗号化ノードで行われる。このため、クライアントノードに通信暗号化モジュールをインストールできない場合でも利用することが可能である。さらに、クライアントノード内で通信相手の種別判断及び、暗号化通信対象ノードに対する通信暗号化処理を行う場合と比較して、クライアントノードにかかる負荷が軽減されるため、計算能力が比較的低いノード(例えば携帯電話やPDA等)でも利用することが出来る。【０２２８】  次に本発明の第五の実施例について図面を参照して詳細に説明する。【０２２９】  図18を参照すると、本発明の第五の実施例は、クライアントノードA1zと暗号化通信対象ノードC1と通常通信対象ノードD1とによって実現される。クライアントノードA1zと暗号化通信対象ノードC1と通常通信対象ノードD1はネットワークE1を介して接続されている。【０２３０】  クライアントノードA1zは、アプリケーションA11xと通信暗号化モジュールA13zとデータ送受信部A14zとを含む。【０２３１】  アプ���ケーションA11xは、Webブラウザや電子メールソフトや、ビデオ会議ソフトなどコンピュータを使って、それぞれの目的を実現するためのソフトウェアである。【０２３２】  データ送受信部A14zは、クライアントノードA1zのOSのカーネル部に存在し、データパケットの送受信処理を行う。アプリケーションA11xが送信した全てのデータパケットは一旦データ送受信部A14zにインターセプトされ、このうち、暗号化通信対象ノード宛てのデータパケットは通信暗号化モジュールA13zにリダイレクトされ、通常通信対象ノード宛てのデータパケットはそのまま通常通信対象ノードに送信される。【０２３３】  データ送受信部A14zは、リダイレクト部A141zとリダイレクトテーブルA142zとを含む。【０２３４】  まず、リダイレクト部A141zについて説明する。リダイレクト部A141zは、アプリケーションA11xが送信したデータパケットのうち、暗号化通信対象ノード宛てのデータパケットを通信暗号化モジュールA13zにリダイレクトする機能を有する。また、通信暗号化モジュールA13zがアプリケーションA11xに宛てて送信するデータパケットの中継処理を行う機能を有する。以下、各機能について具体的に説明する。【０２３５】（１）アプリケーションA11xが送信したデータパケットのリダイレクト機能  データ送受信部A14zがアプリケーションA11xの送信したデータパケットをインターセプトすると、リダイレクト部A141zは、リダイレクトテーブルA142zを参照し、そのデータパケットが暗号化通信対象ノード宛てか否か(以下、データパケット種別と呼ぶ)を判断する。データパケット種別の判断基準としては、例えば、データパケットの宛先IPアドレスが挙げられる。この場合、リダイレクトテーブルA142zにおいて、インターセプトしたデータパケットの宛先IPアドレスが暗号化通信対象ノードのIPアドレスとして登録されている場合には、当該データパケットのデータパケット種別を暗号化通信対象ノード宛であると判断する。【０２３６】  データパケットが暗号化通信対象ノード宛のものであると判断された場合、リダイレクト部A141zは、通信暗号化モジュールA13zへ当該データパケットをリダイレクトする。また、通信暗号化モジュールA13zにおいては、リダイレクトされたデータパケットを送信すべき通信相手を識別できるようにする必要があることから、リダイレクト部A141zは、データパケットに含まれる情報を書き換え、通信暗号化モジュールA13zが、データパケットに含まれる情報から、データパケットを送信すべき通信相手を識別できるようにする。以下、リダイレクトとパケット情報の書き換えについて具体的に説明する。【０２３７】○リダイレクト  リダイレクトは、データパケットの宛先IPアドレスをループバックアドレスに書き換えることで行う。ループバックアドレスは一般的に127.0.0.0/8に含まれるIPアドレスが該当する。ループバックアドレスは自ノード内に閉じた通信を行うためのIPアドレスアドレスであり、当該データパケットをループバックアドレス宛に送信することで、通信暗号化モジュールA13zが当該データパケットをインターセプトすることが可能となる。【０２３８】○パケット情報書き換え  パケットに含まれる情報は、予め定められたルールに従って書き換える。書き換えの対象となる情報(すなわち、通信暗号化モジュー��A13zにおいてデータパケットの宛先通信相手の識別に利用する情報、以下通信相手識別情報と呼ぶ)の例としては、宛て先IPアドレス、宛先ポート番号などがある。以下、通信相手識別情報の例について説明する。【０２３９】・宛先IPアドレス  前述の通り、リダイレクトのために宛先IPアドレスは、ループバックアドレスに書き換えられるが、通信相手(データパケットの宛先IPアドレス)毎に異なるループバックアドレスに書き換えることで、通信暗号化モジュールA13zは受け取ったデータパケットの宛先ループバックアドレスから、データパケットの通信相手を識別することが可能となる。例えば、1.2.3.4宛てのデータパケットは、宛先IPアドレス：127.1.1.1に、5.6.7.8宛てのデータパケットは、宛先IPアドレス：127.2.2.2に、それぞれ書き換える(リダイレクトする)といったルールが挙げられる。【０２４０】・宛先ポート番号  インターセプトした宛先ポート番号を通信相手毎(データパケットの宛先IPアドレス毎)に異なる宛先ポート番号に書き換えることで、通信暗号化モジュールA13zは、受け取ったデータパケットの宛先ポート番号から、データパケットの通信相手を識別することが可能となる。例えば、1.2.3.4宛てのデータパケットは、宛先IPアドレス：127.0.0.1、ポート番号：30000に、5.6.7.8宛てのデータパケットは、宛先IPアドレス：127.0.0.1、ポート番号：30100に、書き換える(リダイレクトする)といったルールが挙げられる。【０２４１】  この他にも、送信元IPアドレスや、送信元ポート番号などが通信相手識別情報の例として挙げられる。以上の例は、パケットのヘッダ情報であったが、リダイレクト部A141zがペイロード部分に通信相手識別情報となりえる新規情報を付加するなどの書き換えルールも考えられる。また、複数の通信相手識別情報を組み合わせて使うことも考えられる。【０２４２】（２）通信暗号化モジュールA13zが送信したデータパケットの中継機能  通信暗号化モジュールA13zがループバックアドレス宛に送信したデータパケットをアプリケーションA11xに中継する。【０２４３】  次にリダイレクトテーブルA142zについて説明する。リダイレクトテーブルA142zには、データパケット種別の判断基準と、通信相手識別情報の書き換えルールが登録されている。図19にリダイレクトテーブルA142zの例を示す。図19に示すテーブル1001には通信相手IPアドレスとループバックアドレスの組が登録されている。ここで、通信相手IPアドレスがデータパケット種別の判断基準、ループバックアドレスが通信相手識別情報の書き換えルールに対応する。すなわち、データパケットが暗号化通信対象ノード宛であるかどうかはそのデータパケットの宛先IPアドレスと同じ通信相手IPアドレスがテーブル1001に登録されているかどうかで判断され、データパケットが暗号化通信対象ノード宛であった場合、その宛先IPアドレスが、対応するルールバックアドレスに書き換えられる。例えば、データ送受信部A14zが133.11.64.24宛てのデータパケットをインターセプトした際には、宛先IPアドレスが127.1.1.1に書き換えられて通信暗号化モジュールA13zにリダイレクトされる。【０２４４】  以上がデータ送受信部A14zの構成である。【０２４５】  次に通信暗号化モジュールA13zについて説明する。通信暗号化モジュールA13zは、アプリケーションA11xと暗号化通信対象ノードC1との通信の暗号化を行う通信暗号化モジュールA13zとを有する。通信暗号化モジュールA13zは、通信暗号化部A131zと暗号化通信路設定テーブルA132zとを含む。【０２４６】  まず通信暗号化部A131zについて説明する。通信暗号化部A131zは、リダイレクト部A141zからリダイレクトされたデータパケットの通信相手識別情報を基に、暗号化通信路設定テーブルA132zを参照して、アプリケーションA11xの通信相手を識別し、通信に用いる暗号化通信路を把握して通信を暗号化する機能を有する。また、外部の通信相手ノードから受信したデータパケットに対して復号化処理を施し、アプリケーションA11xに転送する機能を有する。通信暗号化部A131zは、暗号・復号化処理部A1311zとアドレス変換部A1312zとを含む。【０２４７】  暗号・復号化処理部A1311zは、リダイレクト部A141zからリダイレクトされたデータパケットの通信相手識別情報を元に暗号化通信路設定テーブルA132zを参照し、そのテーブルに登録されている暗号化通信路設定情報に従って受信したデータパケットに暗号化処理を施す機能を有する。また、外部の通信相手ノードから受信したデータパケットの送信元アドレスを元に暗号化通信路設定テーブルA132aを参照し、そのテーブルに登録されている暗号化通信路設定情報に従って受信したデータパケットに復号化処理を施す機能を有する。【０２４８】  アドレス変換部A1312zは、リダイレクト部A141zからリダイレクトされたデータパケットの通信相手識別情報を元に暗号化通信路設定テーブルA132zを参照し、通信相手識別情報をリダイレクト部A141zにより書き換えられる前の状態に戻す。たとえば、通信相手識別情報が宛先ループバックアドレスである場合は、その宛先ループバックアドレスを暗号化通信路設定テーブルA132zにおいて対応付けられている通信相手のIPアドレスに変換する。この例のように、通信相手識別情報がIPアドレスの場合は不要であるが、それ以外の場合にはさらに、アドレス変換部A1312zは、リダイレクトされたデータパケットの宛先IPアドレスをループバックアドレスから通信相手のIPアドレスに書き換える。【０２４９】  また、アドレス変換部A1312zは、外部の通信相手ノードから受信したデータパケットの送信元アドレスを元に暗号化通信路設定テーブルA132zを参照し、その送信元アドレスを暗号化通信路設定テーブルA132zにおいて対応付けられているループバックアドレスに変換する機能を有する。【０２５０】  次に暗号化通信路設定テーブルA132zについて説明する。暗号化通信路設定テーブルA132zには、通信相手識別情報の書き換えルールと、その通信相手識別情報に対応付けられた通信相手との通信に使用すべき暗号化通信路設定情報が登録される。なお、前記書き換えルールは、リダイレクトテーブルA142zと同一のものが登録されている。図20のテーブル1102に暗号化通信路設定テーブルA132zの例を示す。テーブル1102において、通信相手識別情報はデータパケットの宛先IPアドレスであり、書き換えルールとして宛先アドレスをループバックアドレスから通信相手のIPアドレスへ変更するべきことが登録されている（通信相手IPアドレスとルールバックアドレスの組）。暗号化通信路設定テーブルA132zに登録される暗号化通信路設定情報の具体例としては通信プロトコル(例えばIPSecやSSL(Secure Socket Layer)、TLS(Transport Layer Security)等)と電子証明書ＩＤ(電子証明書とは自身の存在を証明するための電子的な証明書であり、例えば、ITU-T(International Telecommunication Union-Telecommunication Standardization Sector)勧告のX.509等が挙げられる。本説明において電子証明書のIDとは、アプリケーションA11xがセッションで利用すべき電子証明書を選択するために利用する識別子を意味する)、暗号化アルゴリズム(例えばDES(Data Encryption Standard)や3DES(triple-DES)、AES(Advanced Encryption Standard)等)などが挙げられる。【０２５１】  次に、通信暗号化モジュールA13zが暗号化通信路設定テーブルA132zとして図20に示したテーブル1102を保持しているケースを想定し、通信暗号化部A131zが宛先アドレス127.1.1.1のデータパケットを受け取った場合の通信暗号化処理の例を説明する。【０２５２】  アドレス変換部A1321zは、データパケットを受信すると、データパケットを暗号・復号化処理部A1311zに渡す。暗号・復号化処理部A1311zは、暗号化通信路設定テーブルA132zを参照して、宛先アドレス127.1.1.1に該当するエントリを把握する。この場合、テーブル101の2番目のエントリが該当し、その結果、通信に利用する暗号化通信路の設定情報として、通信プロトコル：SSL、電子証明書ID：10、暗号化アルゴリズム：3DESを取得する。暗号・復号化処理部A1311ｚは、アプリケーションA11xから受信したデータパケットを前記暗号化通信路の設定情報に従って、SSLプロトコルで定められた手順により3DESアルゴリズムで暗号化した後、アドレス変換部A1312ｚに渡す。アドレス変換部A1312ｚも同様に暗号化通信路設定テーブルA132ｚを参照して、宛先アドレス127.1.1.1に該当するエントリを引き、通信相手のIPアドレスを把握する。この場合、通信相手のIPアドレスとして133.11.64.24が把握され、アドレス変換部A1312zは宛先アドレスを127.1.1.1から133.11.64.24に書き換えた後、送信する。【０２５３】  また、IPアドレス133.11.64.24の外部ノードから3DESアルゴリズムで暗号化されたデータパケットをSSLプロトコルにより受信した場合は、暗号化処理の場合と同様に暗号化通信路設定テーブルA132zを参照し、暗号・復号化処理部A1311zにおいて復号化を行った後、アドレス変換部A1312ｚにおいて宛先アドレスを133.11.64.24から127.1.1.1に書き換えた後、アプリケーションA11xに送信する。【０２５４】  なお、以上の例では、暗号・復号化処理を行った後にアドレス変換を行う動作例を説明したが、これとは逆にアドレス変換を行った後に暗号・復号化処理を行うことも可能である。また、アドレス変換と暗号・復号化処理を同時並行に行うことも可能である。【０２５５】  次に本実施例においてアプリケーションA11xが外部通信相手ノードと通信を行う際のクライアントノードA1zの動作について、図21を参照して詳細に説明する。【０２５６】  アプリケーションA11xが通信相手ノード宛にデータパケットを送信すると、データパケットは、データ送受信部A14zにインターセプトされる(ステップS1001)。リダイレクト部A141zは、インターセプトしたデータパケットの宛先IPアドレスを元に、リダイレクトテーブルA142zを参照し、その宛先IPアドレスが、暗号化通信対象ノード宛であるか通常通信対象ノード宛であるかを判断する(ステップS1002)。通常通信対象ノード宛である場合には、データパケットはそのまま通常通信対象ノードに送信される(ステッ��S1006)。暗号化通信対象ノード宛である場合には、リダイレクトテーブルA142zに登録されている通信相手識別情報の書き換えルールに基づいて通信相手識別情報の書き換えを行い、書き換えを行った後、宛先IPアドレスをループバックアドレスに指定して、通信暗号化モジュールにリダイレクトする(ステップS1003)。【０２５７】  通信暗号化モジュールA131zがリダイレクトされたデータパケットを受け取ると、暗号・復号化処理部A1311zがデータパケットの通信相手識別情報を元に暗号化通信路設定テーブルA132zを参照し、その通信相手識別情報に該当する暗号化通信路設定情報を把握し、設定情報に従ってデータパケットを暗号化する(ステップS1004)。その後、アドレス変換部A1312zが、データパケットの通信相手識別情報を元に暗号化通信路設定テーブルA132zを参照し、登録されている書き換えルールに従って、前記通信相手識別情報をアプリケーションA11xがデータパケットを送信した時点のものに書き換える。また、受け取ったデータパケットの宛先IPアドレスをループバックアドレスから通信相手のIPアドレスに変更する(ステップS1005)。その後、アドレス変換部A1312zは、データパケットを通信相手に送信する(ステップS1006)。【０２５８】  なお、以上の説明では通信暗号化を通信暗号化モジュールのみで行う構成について説明したが、本実施例において、本発明の第二の実施例と同様に、通信暗号化モジュールによる通信暗号化機能とOSのカーネル部のデータ送受信部によって提供される通信暗号化機能を併用することも可能である。【０２５９】  次に本実施例の効果について説明する。本実施例では、リダイレクト部A141zが、データ送受信部A14zのインターセプトしたデータパケットを通信暗号化モジュールへリダイレクトする際に、データパケットの通信相手識別情報をデータパケットの宛先IPアドレス(すなわちアプリケーションA11xの通信相手のIPアドレス)に応じて書き換える。このため、データパケットのリダイレクトを受けた通信暗号化モジュールは、受け取ったデータパケットの通信相手識別情報に基づいてデータパケットを送信すべき通信相手を識別し、その通信相手との通信に利用すべき暗号化通信路を識別することが可能となる。したがって、クライアントノードA1は複数の通信相手と同時に直接暗号化通信を行うことが出来る。【０２６０】  また、アプリケーションA11xは、ループバックアドレス宛ではなく、通信相手のIPアドレス宛にデータパケットを送信することができる。これにより、アプリケーションにおいて通信の記録をとる場合、通信相手のＩＰアドレスとして、第１の実施例では、実際の相手のＩＰアドレスとは異なる、ループバックアドレスが記録されてしまうのに対し、本実施例では、実際の相手のＩＰアドレスが記録されるため、ログレベルでの矛盾が起こらないという効果がある。【０２６１】  次に本発明の第六の実施例について図面を参照して詳細に説明する。【０２６２】  図22を参照すると、本発明の第六の実施例は、クライアントノードA1αとDNSサーバB1aと暗号化通信対象ノードC1と通常通信対象ノードD1とによって実現され、クライアントノードA1αと暗号化通信対象ノードC1と通常通信対象ノードD1はネットワークE1を介して接続されている。またクライアントノードA1αは、アプリケー��ョンA11xとDNS Proxy部A12αと通信暗号化モジュールA13αとデータ送受信部A14αとを含む。すなわち、本実施例は、本発明の第五の実施例の構成にDNSサーバB1aとDNS Proxy部A12αとを加えた構成を有する。【０２６３】  アプリケーションA11xは、Webブラウザや電子メールソフトや、ビデオ会議ソフトなどコンピュータを使って、それぞれの目的を実現するためのソフトウェアである。【０２６４】  データ送受信部A14αは、クライアントノードA1αのOSのカーネル部に存在し、データパケットの送受信処理を行う。アプリケーションA11xが送信した全てのデータパケットはデータ送受信部A14αに一旦インターセプトされ、このうち、暗号化通信対象ノード宛てのデータパケットは通信暗号化モジュールA13αにリダイレクトされ、通常通信対象ノード宛てのデータパケットはそのまま通常通信対象ノードに送信される。このデータ送受信部A14αは、リダイレクト部A141αとリダイレクトテーブルA142αとを含む。リダイレクト部A141αは、第五の実施例におけるリダイレクト部A141zと同様の機能を有し、リダイレクトテーブルA142αは、第五の実施例におけるリダイレクトテーブルA142zと同様の構成を有し、例えば図19に示したテーブル1101のような構成を有する。【０２６５】  通信暗号化モジュールA13αは、アプリケーションA11xと暗号化通信対象ノードC1との通信の暗号化を行う機能を有する。通信暗号化モジュールA13αは、通信暗号化部A131αと暗号化通信路設定テーブルA132αとを含み、通信暗号化部A131αは、暗号・復号化処理部A1311αとアドレス変換部A1312αとを含む。通信暗号化部A131αは、第五の実施例における通信暗号化部A131zと同様の機能を有し、暗号化通信路設定テーブルA132αは、第五の実施例における暗号化通信路設定テーブルA132zと同様の構成を有し、例えば図20に示したテーブル1102のような構成を有する。【０２６６】  DNS Proxy部Α12αは、DNSクエリ・応答送受信部Α121αと、通信方式解決部Α122αと、名前解決部Α123αと、DNSサーバアドレス設定テーブルΑ124αと、CUG設定テーブルΑ125αとを含む。このDNS Proxy部Α12αは、アプリケーションΑ11xによる名前解決要求を受けてアプリケーションΑ11xの通信相手のIPアドレスを解決すると共に、通信相手のノード種別を判断し、通信相手が暗号化通信対象ノードである場合には、通信相手のIPアドレスをループバックアドレスにマッピングし、そのマッピング関係を暗号化通信路設定テーブルA132α及びリダイレクトテーブルA142αに登録する。なお、本発明の第一の実施例とは異なり、アプリケーションA11ｘに対しては、マッピングしたループバックアドレスではなく、通信相手のIPアドレスをそのまま名前解決結果として回答する。【０２６７】  以下、DNS Proxy部Α12αの構成について説明する。【０２６８】  まずDNSクエリ・応答送受信部Α121αについて説明する。DNSクエリ・応答送受信部Α121αは、アプリケーションΑ11xからDNSクエリメッセージを受信すると、DNSサーバアドレス設定テーブルΑ124αに登録されている外部DNSサーバB1aに対してDNSクエリメッセージを送信する。また、DNSクエリメッセージの応答として、外部DNSサーバB1aからDNSレスポンスメッセージを受信すると、DNSレスポンスメッセージに含まれる名前解決結果を通信方式解決部Α122αに渡す。以上の機能は、本発明の第一の実施例におけるDNSクエリ・応答送受��部A121aと同様であるが、名前解決結果をアプリケーションA11xに回答する機能は、本発明の第一の実施例におけるDNSクエリ・応答送受信部A121aと異なる。すなわち、本実施例におけるDNSクエリ・応答送受信部A121αは、通信相手の種別によらず、外部DNSサーバB1aにて解決された通信相手のIPアドレスをそのまま、名前解決結果としてアプリケーションA11xに回答する。【０２６９】  通信方式解決部Α122αは、本発明の第一の実施例における通信方式解決部A122aと同様の機能を有する。【０２７０】  次に暗号化通信路設定部Α123αについて説明する。暗号化通信路設定部Α123αは、通信方式解決部Α122αから渡された名前解決結果に含まれるアプリケーションΑ11xの通信相手のIPアドレスを、ループバックアドレスへマッピングする機能を有する。なお、暗号化通信路設定部Α123αは、本発明の第一の実施例における暗号化通信路設定部A123aとは異なり、マッピングしたループバックアドレスのDNSクエリ・応答送受信部A121αへの通知は行わない。マッピングするループバックアドレスは、暗号化通信路設定テーブルΑ132αを参照し、他の通信セッションで使用されていないものを選択する。選択したループバックアドレスと通信方式解決部Α122αから渡された名前解決結果との対応関係はリダイレクトテーブルA142α及び暗号化通信路設定テーブルΑ132αに登録し、暗号化通信路設定テーブルΑ132αにはさらに、通信方式解決部Α122αから渡された暗号化通信路設定情報を登録する。【０２７１】  DNSサーバアドレス設定テーブルΑ124α及び、CUG設定テーブルΑ125αには、本発明の第一の実施例における該当各モジュールと同様の情報が登録されており、本発明の第一の実施例における該当各モジュールと同様の形で参照される。【０２７２】  以上がDNS Proxy部Α12αの構成である。【０２７３】  次に本実施例においてアプリケーションA11xが外部通信相手ノードと通信を行う際のクライアントノードA1αの動作について説明する。【０２７４】  クライアントノードA1αの動作は、アプリケーションA11xが通信相手のドメイン名に対する名前解決要求を行った際の動作と、通信相手に対してデータパケットを送信した際の動作に、大きく分けられる。【０２７５】  まず、アプリケーションA11xが名前解決要求を行う際のクライアントノードA1αの動作について説明する。【０２７６】  アプリケーションA11xは、ループバックアドレス宛(例えば127.0.0.1)に、DNSクエリメッセージを送信し、通信相手の名前解決を要求する。アプリケーションA11xが送信したDNSクエリメッセージは、DNS Proxy部A12α(具体的にはDNS Proxy部A12α内部のDNSクエリ・応答送受信部A121α)が受信する。その後の処理はDNS Proxy部A12αで行われる。【０２７７】  図23を参照して、DNS Proxy部A12αがアプリケーションA11xからDNSクエリメッセージを受信した際の動作について説明する。【０２７８】  アプリケーションA11xからDNSクエリメッセージを受信すると(ステップS1101)、DNSクエリ・応答送受信部A121αは、DNSサーバアドレス設定テーブルA124αに登録されている外部DNSサーバB1aに、受信したDNSクエリメッセージを転送し（ステップS1102）、応答としてDNSサーバB1aからDNSレスポンスメッセージを受信する（ステップS1103）。【０２７９】  DNSクエリ応答送受信部A121αは、受信したDNSレスポンスメッセージから名前解決結果を取���出し、通信方式解決部A122αに渡す。【０２８０】  通信方式解決部A122αは、渡された名前解決結果を元に、CUG設定テーブルA125αを参照して、通信相手の種別(暗号化通信対象ノード、通常通信対象ノードのどちらであるか)を判断する（ステップS1104）。また、通信相手が暗号化通信対象ノードである場合には、CUG設定テーブルA125αに登録されている暗号化通信路設定情報を把握する。【０２８１】  まず、通信相手が通常通信対象ノードである場合について説明する。この場合、通信方式解決部A122αからDNSクエリ・応答送受信部A121αに判断結果が通知され、DNSクエリ・応答送受信部A121αが、DNSサーバB1aから受信したDNSレスポンスメッセージをアプリケーションA11xに転送する(ステップS1106)。【０２８２】  アプリケーションA11xは、DNSレスポンスメッセージを受信すると、受信したDNSレスポンスメッセージにより通知された通信相手のIPアドレス宛に直接データパケットを送信する。データパケットは、カーネル部のリダイレクト部A141αにインターセプトされ、リダイレクトテーブルの登録情報に基づき、通常通信対象端末宛と判断される。この結果、アプリケーションA11xが送信したデータパケットは通信暗号化モジュールを経由せずに通信相手に直接送信され、通信相手とは通常の通信が行われることになる。【０２８３】  次に、通信相手が暗号化通信対象ノードである場合について説明する。この場合、通信方式解決部A122αは、DNSクエリ・応答送受信部A121αから渡された名前解決結果と、前記で把握した暗号化通信路設定情報を暗号化通信路設定部Ａ123αに渡す。暗号化通信路設定部A123αは名前解決結果を受け取ると、暗号化通信路設定テーブルA132αを参照し、アプリケーションA11xの通信相手のIPアドレスを、他の通信セッションで使用されていないループバックアドレスへマッピングする。暗号化通信路設定部A123αは、ループバックアドレスと、通信方式解決部A122αから渡された名前解決結果の対応関係をリダイレクトテーブルA142α及び暗号化通信路設定テーブルA132αへ登録する。さらに、暗号化通信路設定テーブルには暗号化通信路設定情報を登録する(ステップS1105)。【０２８４】  本実施例では本発明の第一の実施例とは異なり、 DNSクエリ・応答送受信部A121αは通信相手の種別によらず、DNSサーバB1aが解決した通信相手のIPアドレスを名前解決結果としてそのまま、アプリケーションA11xに応答する(ステップS1106)。【０２８５】  アプリケーションA11xは、DNSレスポンスメッセージを受信すると、通信相手のIPアドレス宛に直接データパケットを送信する。データパケットは、カーネル部のリダイレクト部A141αにインターセプトされ、リダイレクトテーブルの登録情報に基づき、暗号化通信対象ノード宛と判断され、通信暗号化モジュール経由で転送される。【０２８６】  以上が、アプリケーションA11xが名前解決要求を行った際のクライアントノードA1αの動作である。【０２８７】  アプリケーションA11xが通信相手に対してデータパケットを送信した場合の動作は、第五の実施例と同様であり、図21に示されるような動作となる。【０２８８】  なお、以上の説明では通信暗号化を通信暗号化モジュールのみで行う構成について説明したが、本実施例において、本発明の第二の実施例と同様に、通信暗号化モジュールによる通信��号化機能とOSのカーネル部のデータ送受信部によって提供される通信暗号化機能を併用することも可能である。【０２８９】  また、以上の説明では通信相手のノード種別と、通信相手が暗号化通信対象端末であった場合にその通信相手との通信に利用する暗号化通信路設定情報の解決をクライアントノードA1aの内部で行う構成について説明したが、本実施例において、本発明の第三の実施例と同様に、上記解決をDNSサーバB1aで行う構成を採ることも可能である。この場合、DNSサーバB1aの構成は、本発明の第三の実施例の説明における図11に示したDNSサーバB1bと同様の構成を採る。また、クライアントノードF1α内部のDNS Proxy部A12αは、図17に示したDNS Proxy部F12dと同様にDNSクエリ・応答送受信部と暗号化通信路設定部とDNSサーバアドレス設定テーブルとで構成され、DNSクエリ・応答送受信部は、アプリケーションが他のノード装置のIPアドレスを解決するために送信した名前解決クエリを名前解決サーバに送信し、他のノード装置が暗号化通信対象ノードかどうかの判定結果と暗号化通信路設定情報と他のノード装置のIPアドレスとを含む名前解決応答を名前解決サーバから受信し、名前解決応答に含まれる他のノード装置のIPアドレスを名前解決応答としてアプリケーションに送信する。また、暗号化通信路設定部は、他のノード装置が暗号化通信対象ノードである場合に、他のノード装置のIPアドレスと他の通信セッションで使用されていない通信相手識別情報と前記暗号化通信路設定情報との対応を暗号化通信路設定テーブルに登録するとともに、暗号化通信対象ノードのIPアドレスと他の通信セッションで使用されていない通信相手識別情報の書き換えルールとの対応をリダイレクトテーブルに登録する。【０２９０】  さらに、以上の説明では、クライアントノード内部において、（１）通信相手のノード種別および、通信相手が暗号化通信対象ノードである場合における該通信相手との通信に用いる暗号化通信路の設定情報の解決（２）暗号化通信対象ノードと通信を行う際の通信の暗号化・復号化処理を行う構成について説明したが、本実施例において、本発明の第四の実施例と同様に、上記処理をクライアントノード外部の通信暗号化ノードによって処理することも可能である。この場合、クライアントノードは、本発明の第四の実施例におけるクライアントノードA1gと同様の構成をとる。また、通信暗号化ノードは図24に示す通信暗号化ノードF1αに示す如き構成をとる。【０２９１】  図24に示す通信暗号化ノードF1αは、独立したプロセスとして動作する通信暗号化モジュールA13αと、カーネル部に設けられたデータ送受信部A14αと、クライアントノードのアプリケーションが他のノード装置のIPアドレスを解決するために名前解決サーバに送信する名前解決クエリ及びその応答である名前解決応答を中継する名前解決プロキシ部A12αとを備える。【０２９２】  データ送受信部A14αは、インターセプト用アドレスとループバックアドレスとの対応を保持するリダイレクトテーブルA142αと、クライアントノードのアプリケーションより送信された宛先アドレスにインターセプト用アドレスが設定されたデータパケットを受信し、前記データパケットの宛先アドレスに設定されたインターセプト用アドレスに対応するループバックアドレスをリダイレクトテーブルA142αから読み出し、前記データパケットの宛先アドレスを前記読み出したループバックアドレスに書き換えることにより前記データパケットを前記通信暗号化モジュールA13αにリダイレクトするリダイレクト部A141αとを備える。【０２９３】  通信暗号化モジュールA13αは、通信相手IPアドレスとループバックアドレスと暗号化通信路設定情報との対応を保持する暗号化通信路設定テーブルA132αと、データ送受信部A14αよりリダイレクトされた前記データパケットの宛先アドレスに設定されたループバックアドレスに対応する通信相手IPアドレス及び暗号化通信路設定情報を暗号化通信路設定テーブルA132αから読み出し、前記データパケットの宛先アドレスに前記読み出した通信相手IPアドレスを設定したデータパケットを、前記読み出した暗号化通信路設定情報に従って暗号化して送信する通信暗号化部A131αとを備える。【０２９４】  名前解決プロキシ部A12αは、暗号化通信対象ノードを特定するドメイン名条件と暗号化通信路設定情報との対応を保持するCUG設定テーブルA125αと、名前解決クエリまたは名前解決応答に含まれる他のノード装置のドメイン名がCUG設定テーブルA125αに保持された何れかのドメイン名条件にマッチするかどうかを判定する通信方式解決部A122αと、前記マッチしたドメイン名条件に対応する暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のIPアドレスと他の通信セッションで使用されていないループバックアドレスとの対応を暗号化通信路設定テーブルA132αに登録すると共に、当該対応中の前記ループバックアドレスと他の通信セッションで使用されていないインターセプト用アドレスとの対応をリダイレクトテーブルA142αに登録する暗号化通信路設定部A123αと、名前解決サーバから受信した名前解決応答に含まれる前記他のノード装置のIPアドレスを前記対応中の前記インターセプト用アドレスに置き換えた名前解決応答を前記アプリケーションに送信する名前解決クエリ・応答送受信部A121αとを備える。【０２９５】  また、通信暗号化ノードが図24に示す通信暗号化ノードF1αに示す如き構成をとる場合も、本発明の第三の実施例と同様に、上記（１）の解決をDNSサーバB1bで行う構成をとることも可能である。この場合、DNSサーバの構成は、本発明の第三の実施例の説明における図11に示したDNSサーバB1bと同様の構成を採る。また、クライアントノードF1α内部のDNS Proxy部A12αは、図17に示したDNS Proxy部F12dと同様にDNSクエリ・応答送受信部と暗号化通信路設定部とDNSサーバアドレス設定テーブルとで構成され、DNSクエリ・応答送受信部は、アプリケーションが他のノード装置のIPアドレスを解決するために送信した名前解決クエリを名前解決サーバに送信し、他のノード装置が暗号化通信対象ノードかどうかの判定結果と暗号化通信路設定情報と他のノード装置のIPアドレスとを含む名前解決応答を名前解決サーバから受信し、前記他のノード装置が暗号化通信対象ノードである場合に、前記名前解決応答に含まれる前記他のノード装置のIPアドレスを、前記暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のIPアドレスと他の通信セッションで使用されていないインターセプト用アドレスとの対応中の前記インターセプト��アドレスに置き換えた名前解決応答を前記クライアントノード装置に送信する。また、暗号化通信路設定部は、前記他のノード装置が暗号化通信対象ノードである場合に、前記暗号化通信路設定情報と前記名前解決応答で解決された前記他のノード装置のIPアドレスと他の通信セッションで使用されていない通信相手識別情報との対応を前記暗号化通信路設定テーブルに登録するとともに、前記他の通信セッションで使用されていない通信相手識別情報への書き換えルールと他の通信セッションで使用されていないインターセプト用アドレスとの対応を前記リダイレクトテーブルに登録する。【０２９６】  次に本実施例の効果について説明する。本実施例では、第六の実施例と同様の効果が得られるとともに、DNSメッセージをインターセプトして通信相手の種別を判断するため、通信相手の種別をドメイン名により判断することが可能であり、暗号化通信対象ノードの識別情報をドメイン名によって指定することが可能になる。【０２９７】  以上本発明の実施例について説明したが、本発明は以上の実施例にのみ限定されず、その他各種の付加変更が可能である。また、本発明のクライアントノード装置、通信暗号化ノード装置、名前解決サーバは、その有する機能をハードウェア的に実現することは勿論、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施例におけるクライアントノード装置、通信暗号化ノード装置、名前解決サーバとして機能させる。
【図１】
0004752510.tif 000002
【図２】
0004752510.tif 000003
【図３】
0004752510.tif 000004
【図４】
0004752510.tif 000005
【図５】
0004752510.tif 000006
【図６】
0004752510.tif 000007
【図７】
0004752510.tif 000008
【図８】
0004752510.tif 000009
【図９】
0004752510.tif 000010
【図１０】
0004752510.tif 000011
【図１１】
0004752510.tif 000012
【図１２】
0004752510.tif 000013
【図１３】
0004752510.tif 000014
【図１４】
0004752510.tif 000015
【図１５】
0004752510.tif 000016
【図１６】
0004752510.tif 000017
【図１７】
0004752510.tif 000018
【図１８】
0004752510.tif 000019
【図１９】
0004752510.tif 000020
【図２０】
0004752510.tif 000021
【図２１】
0004752510.tif 000022
【図２２】
0004752510.tif 000023
【図２３】
0004752510.tif 000024
【図２４】
0004752510.tif 000025
【図２５】
0004752510.tif 000026
【図２６】
0004752510.tif 000027