(57)【特許請求の範囲】
【請求項１】
第１のフィールドを含むヘッダとペイロードとを含み、前記第１のフィールドに格納されている第１の情報を含む、フローを識別可能な識別情報が共通している複数の第１のパケットのそれぞれについて、前記複数の第１のパケットのうちの少なくとも２つのパケット群間で異なる値となる第２の情報を決定し、前記第１の情報の代わりに前記第２の情報を前記第１のフィールドに格納し、前記第１のフィールドの所定部分に該当する前記第２の情報の一部分が示す値に相当する前記ペイロード内の位置に前記第１の情報を挿入して、複数の第２のパケットを取得する制御部と、
前記複数の第２のパケットを送信する送信部と、
を備える通信装置。
【請求項２】
前記第１のフィールドの前記所定部分は、前記複数の第１のパケットにより形成されるパケット群ごとに決定される、
請求項１に記載の通信装置。
【請求項３】
前記送信部は、前記複数の第１のパケットには含まれておらず、ダミーパケットであることを示す情報が格納されている、少なくとも１つのダミーパケットを前記複数の第２のパケットと混在させて送信する、
請求項１又は２に記載の通信装置。
【請求項４】
前記第１の情報は、宛先アドレス又は送信元アドレスのいずれか一方又は両方である、請求項１から３のいずれか一項に記載の通信装置。
【請求項５】
第１のフィールドを含むヘッダとペイロードとを含み、前記第１のフィールドに格納されている第１の情報を含む、フローを識別可能な識別情報が共通している複数の第１のパケットのそれぞれについて、前記第１の情報の代わりに、前記複数の第１のパケットのうちの少なくとも２つのパケット群間で異なる値となる第２の情報が前記第１のフィールドに格納され、前記第１の情報が前記ペイロード内に挿入されることで取得される複数の第２のパケットを含むパケットを受信する受信部と、
前記第１のフィールドとは異なる前記ヘッダ内の第２のフィールドに格納される第３の
情報を記憶する記憶部と、
前記受信部による受信パケットの前記第２のフィールドに前記第３の情報が格納されている場合に、前記受信パケットについて、前記受信パケットのペイロードから第１の情報を削除して、前記ペイロードに含まれるデータを取得し、前記受信パケットについて、前記第１のフィールドの所定部分に該当する前記第２の情報の一部分が示す値に相当する前記ペイロード内の位置に前記第１の情報が格納されているか判定し、前記第１の情報が格納されていない場合には、前記受信パケットを廃棄する制御部と、
を備える通信装置。
【請求項６】
前記受信部は、前記複数の第１のパケットには含まれておらず、ダミーパケットであることを示す情報が格納されており、前記複数の第２のパケットと混在して送信される、少なくとも１つのダミーパケットを受信し、
前記制御部は、受信パケットに、前記ダミーパケットであることを示す情報が格納されている場合には、前記受信パケットを廃棄する、
請求項５に記載の通信装置。
【請求項７】
第１のフィールドを含むヘッダとペイロードとを含み、前記第１のフィールドに格納されている第１の情報を含む、フローを識別可能な識別情報が共通している複数の第１のパケットのそれぞれについて、前記複数の第１のパケットのうちの少なくとも２つのパケット群間で異なる値となる第２の情報を決定し、前記第１の情報の代わりに前記第２の情報を前記第１のフィールドに格納し、前記第１のフィールドの所定部分に該当する前記第２の情報の一部分が示す値に相当する前記ペイロード内の位置に前記第１の情報を挿入して、複数の第２のパケットを取得する制御部と、
前記複数の第２のパケットを送信する送信部と、
を備える送信装置と、
前記複数の第２のパケットを含むパケットを受信する受信部と、
前記第１のフィールドとは異なる前記ヘッダ内の第２のフィールドに格納される第３の情報を記憶する記憶部と、
前記受信部による受信パケットの前記第２のフィールドに前記第３の情報が格納されている場合に、前記受信パケットについて、前記受信パケットのペイロードから第１の情報を削除して、前記ペイロードに含まれるデータを取得し、前記受信パケットについて、前記第１のフィールドの所定部分に該当する前記第２の情報の一部分が示す値に相当する前記ペイロード内の位置に前記第１の情報が格納されているか判定し、前記第１の情報が格納されていない場合には、前記受信パケットを廃棄する制御部と、
を備える受信装置と、
を含む通信システム。
【請求項８】
第１のフィールドを含むヘッダとペイロードとを含み、前記第１のフィールドに格納されている第１の情報を含む、フローを識別可能な識別情報が共通している複数の第１のパケットのそれぞれについて、前記第１の情報の代わりに、前記複数の第１のパケットのうちの少なくとも２つのパケット群間で異なる値となる第２の情報が格納され、前記第１の情報が前記ペイロード内に挿入されて、取得される複数の第２のパケットを送信する送信装置から受信装置への通信の要求を受信する受信部と、
前記通信の要求が受信された場合に、前記送信装置と前記受信装置との間の経路上に存在する１又は複数の中継装置に対する指示であって、第２のパケットを受信した場合に、前記第２のパケットのペイロード内に挿入されている第１の情報に基づいて前記第２のパケットを転送することを示す指示を送信する送信部と、
を備える通信制御装置。
【請求項９】
前記送信部は、前記通信の要求が受信された場合に、前記１又は複数の中継装置に対す
る指示とともに、前記第２のパケットのペイロード内の前記第１の情報の挿入位置に関する情報をさらに送信し、前記送信装置及び前記受信装置に、前記ペイロード内の前記第１の情報の挿入位置に関する情報を送信する、
請求項８に記載の通信制御装置。
【請求項１０】
前記経路上において外部ネットワークを転送先とする第１の中継装置に対する指示であって、第２のパケットを受信した場合に、前記第２のパケットから第１のパケットを取得し、前記第１のパケットを前記外部ネットワークに転送することを示す指示を送信することを決定し、前記経路上において外部ネットワークを転送元とする第２の中継装置に対する指示であって、第１のパケットを受信した場合に、前記第１のパケットから第２のパケットを取得し、前記第２のパケットを転送先に転送することを示す指示を送信することを決定する制御部、
をさらに備える請求項８又は９に記載の通信制御装置。
【請求項１１】
前記制御部は、前記第１の中継装置に、ダミーパケットであることを示す値と、受信パケットに前記ダミーパケットであることを示す値が格納されている場合に、前記受信パケットを廃棄することを指示することを決定し、前記第２の中継装置に、前記ダミーパケットであることを示す値と、前記ダミーパケットであることを示す値を含むダミーパケットを前記取得された第２のパケットに混在させて送信させることを指示することを決定する、
請求項１０に記載の通信制御装置。
【請求項１２】
前記制御部は、前記ペイロード内の前記第１の情報の挿入位置に関する情報が格納される、前記第１のフィールドにおける所定部分を、前記複数の第１のパケットにより形成されるパケット群ごとに決定する、
請求項１０又は１１に記載の通信制御装置。
【請求項１３】
第１のフィールドを含むヘッダとペイロードとを含み、前記第１のフィールドに格納されている第１の情報を含む、フローを識別可能な識別情報が共通している複数の第１のパケットのそれぞれについて、前記第１の情報の代わりに、前記複数の第１のパケットのうちの少なくとも２つのパケット群間で異なる値となる第２の情報が前記第１のフィールドに格納され、前記第１の情報が前記ペイロード内に挿入されて、取得される複数の第２のパケットを含むパケットを受信する受信部と、
第２のパケットが受信された場合に、前記第２のパケットのペイロード内の第１の情報に基づいて、前記第２のパケットの転送先を判定する制御部と、
を備える通信装置。
【請求項１４】
前記第２のパケットと前記転送先の情報とを、中継装置に送信する送信部、をさらに備え、
前記受信部は、前記中継装置から前記第２のパケットを受信する、
請求項１３に記載の通信装置。
【請求項１５】
中継装置の識別情報と、転送先の情報と、ペイロード内の第１の情報の挿入位置との対応付けを記憶する記憶部をさらに備え、
前記制御部は、第２のパケットが第１の中継装置から受信され、前記第１の中継装置に対応する転送先が他の中継装置である場合に、前記第２のパケットと前記転送先の情報として前記他の中継装置の識別情報とを前記第１の中継装置に送信することを判定し、第２のパケットが第２の中継装置から受信され、前記第２の中継装置に対応する転送先が外部ネットワークである場合に、前記第２の中継装置に対応するペイロード内の第１の情報の挿入位置から前記第１の情報を取得し、前記第２のパケットのヘッダ内の第１のフィール
ドに前記第１の情報を格納し、前記第２のパケットのペイロードから前記第１の情報を削除して、前記第２のパケットから第１のパケットを取得し、取得した前記第１のパケットと前記転送先として外部ネットワークを示す情報とを前記第２の中継装置に送信することを判定する、
請求項１４に記載の通信装置。
【請求項１６】
前記受信部は、第３の中継装置から第１のパケットを受信し、
前記制御部は、前記第１のパケットが前記第３の中継装置から受信され、前記第３の中継装置に対応する転送先が他の中継装置である場合に、前記第１のパケットの第１のフィールドに第２の情報を格納し、前記第３の中継装置に対応するペイロード内の第１の情報の挿入位置に前記第１のフィールドに格納されていた第１の情報を挿入して、第２のパケットを取得し、取得した前記第２のパケットと前記転送先として前記他の中継装置の識別情報とを前記第３の中継装置に送信することを判定する、
請求項１４又は１５に記載の通信装置。
【請求項１７】
通信装置が、
第１のフィールドを含むヘッダとペイロードとを含み、前記第１のフィールドに格納されている第１の情報を含む、フローを識別可能な識別情報が共通している複数の第１のパケットのそれぞれについて、前記複数の第１のパケットのうちの少なくとも２つのパケット群間で異なる値となる第２の情報を決定し、前記第１の情報の代わりに前記第２の情報を前記第１のフィールドに格納し、前記第１のフィールドの所定部分に該当する前記第２の情報の一部分が示す値に相当する前記ペイロード内の位置に前記第１の情報を挿入して、複数の第２のパケットを取得し、
前記複数の第２のパケットを送信する、
通信方法。
【請求項１８】
通信制御装置が、
第１のフィールドを含むヘッダとペイロードとを含み、前記第１のフィールドに格納されている第１の情報を含む、フローを識別可能な識別情報が共通している複数の第１のパケットのそれぞれについて、前記第１の情報の代わりに、前記複数の第１のパケットのうちの少なくとも２つのパケット群間で異なる値となる第２の情報が前記第１のフィールドに格納され、前記第１の情報が前記ペイロード内に挿入されて、取得される複数の第２のパケットを送信する送信装置から受信装置への通信の要求を受信し、
前記通信の要求が受信された場合に、前記送信装置と前記受信装置との間の経路上に存在する１又は複数の中継装置に対する指示であって、ペイロード内の第１の情報の挿入位置に関する情報と、第２のパケットを受信した場合に、前記第２のパケットのペイロード内に挿入されている第１の情報に基づいて前記第２のパケットを転送することを示す指示と、を送信し、前記送信装置と前記受信装置とに、前記ペイロード内の第１の情報の挿入位置に関する情報を送信する、
通信制御方法。
【請求項１９】
通信装置が、
第１のフィールドを含むヘッダとペイロードとを含み、前記第１のフィールドに格納されている第１の情報を含む、フローを識別可能な識別情報が共通している複数の第１のパケットのそれぞれについて、前記複数の第１のパケットのうちの少なくとも２つのパケット群間で異なる値となる第２の情報が前記第１のフィールドに格納され、前記第１の情報が前記ペイロード内に挿入されて、取得される複数の第２のパケットを含むパケットを受信し、
第２のパケットが受信された場合に、前記第２のパケットのペイロード内の第１の情報に基づいて、前記第２のパケットの転送先を判定する、
通信方法。
【請求項２０】
パケットを中継する１又は複数の中継装置と、
前記複数の中継装置を制御する中継制御装置と、
前記中継制御装置、送信装置、及び、受信装置を制御する通信制御装置と、
を含む通信システムであって、
前記通信制御装置は、
第１のフィールドを含むヘッダとペイロードとを含み、前記第１のフィールドに格納されている第１の情報を含む、フローを識別可能な識別情報が共通している複数の第１のパケットのそれぞれについて、前記第１の情報が前記ペイロード内に挿入され、前記第１のフィールドに、前記複数の第１のパケット間で少なくとも２つの値をとる第２の情報が格納されて、生成された複数の第２のパケットを送信する送信装置から受信装置への通信の要求を受信する受信部と、
前記通信の要求が受信された場合に、前記送信装置と前記受信装置への経路上に存在する前記１又は複数の中継装置に対する指示であって、前記第２のパケットを受信した場合に、前記ペイロード内に挿入されている前記第１の情報に基づいて前記第２のパケットを転送することを示す指示を前記中継制御装置に送信する送信部と、
を備え、
前記中継制御装置は、
前記通信制御装置から、前記指示を受信する受信部と、
前記通信制御装置から前記指示を受信した場合に、前記１又は複数の中継装置に前記第２のパケットの前記中継制御装置への送信指示の送信を判定する制御部と、
前記中継装置に前記送信指示を送信する送信部と、
を備え、
前記受信部は、前記第２のパケットを前記１又は複数の中継装置のいずれかから受信し、
前記制御部は、前記第２のパケットが受信された場合に、前記ペイロード内から前記第１の情報を取得し、前記第１の情報に基づいて、前記第２のパケットの転送先を判定し、
前記送信部は、第２のパケットと前記転送先の情報とを、中継装置に送信する、
通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信システム、通信制御装置、通信方法、及び、通信制御方法に関する。
【背景技術】
【０００２】
ネットワークでは、送信元装置と宛先装置との間の通信は、中継装置によって中継され、送信元装置と宛先装置との間に通信経路が確立される。通信経路において、悪意のある第３者によって、全パケットが抜き取られたり、盗み見されたりする場合には、通信内容が漏えいする可能性がある。通信内容の漏えい対策の一つとして、暗号化がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−８８７６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、暗号化によって暗号化されるのは、パケットのペイロードであって、ヘッダは暗号化されないことが多い。ヘッダには、宛先アドレス、送信元アドレス等のフローの識別情報に用いられる情報が含まれている。フローは、２つの拠点間のパケットの流れである。すなわち、フローは、送信対象のデータが分割され、分割されたデータをペイロードとし、ヘッダが付与されて、宛先に送出されたパケットの集まりである。
【０００５】
フローの識別には、宛先ＩＰアドレス、送信元ＩＰアドレス、宛先ポート番号、送信元ポート番号、プロトコルＩＤ等の情報の組合せが用いられる。いずれの情報がフローの識別に用いられるかは、システムの設計に依存する。
【０００６】
ペイロードが暗号化されていてもヘッダが暗号化されていない場合には、悪意のある第３者は、着目する装置の通信の全パケットを抜き取り、ヘッダの情報から、フローを識別することができる。識別されたフローの開始から終了までの全パケットが第３者に取得された場合には、該フローに含まれる全パケットのペイロードを組み立てることによって、着目する装置と通信相手の装置との間で送受信された通信内容を復元することができる。通信内容を示すデータが暗号化されていたとしても、暗号化アルゴリズムは周知のものであるので、費用と時間とをかけることによって、暗号が解析されて、通信内容が漏えいする可能性がある。
【０００７】
本発明の一態様は、第３者によるフローの特定を困難にする通信装置、通信システム、通信制御装置、通信方法、及び、通信制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の態様の一つは、通信装置である。通信装置は、第１のフィールドを含むヘッダとペイロードとを含み、第１のフィールドに格納されている第１の情報を含む、フローを識別可能な識別情報が共通している複数の第１のパケットのそれぞれについて、第１の情報の代わりに、複数の第１のパケットのうちの少なくとも２つのパケット群間で異なる値となる第２の情報が第１のフィールドに格納され、第１の情報がペイロード内に挿入されることによって、取得される複数の第２のパケットを送信する送信部、を備える。
【０００９】
本発明の態様の一つは、通信制御装置である。通信制御装置は、第１のフィールドを含
むヘッダとペイロードとを含み、第１のフィールドに格納されている第１の情報を含む、フローを識別可能な識別情報が共通している複数の第１のパケットのそれぞれについて、第１の情報の代わりに、複数の第１のパケットのうちの少なくとも２つのパケット群間で異なる値となる第２の情報が格納され、第１の情報がペイロード内に挿入されて、取得される複数の第２のパケットを送信する送信装置から受信装置への通信の要求を受信する受信部と、通信の要求が受信された場合に、送信装置と受信装置との間の経路上に存在する１又は複数の中継装置について、第２のパケットを受信した場合に、第２のパケットのペイロード内に挿入されている第１の情報に基づいて第２のパケットを転送する指示を送信する送信部と、を備える。
【００１０】
本発明の態様の一つは、通信装置である。通信装置は、第１のフィールドを含むヘッダとペイロードとを含み、第１のフィールドに格納されている第１の情報を含む、フローを識別可能な識別情報が共通している複数の第１のパケットのそれぞれについて、第１の情報の代わりに、複数の第１のパケットのうちの少なくとも２つのパケット群間で異なる値となる第２の情報が第１のフィールドに格納され、第１の情報がペイロード内に挿入されて、取得される複数の第２のパケットを含むパケットを受信する受信部と、第２のパケットが受信された場合に、第２のパケットのペイロード内の第１の情報に基づいて、第２のパケットの転送先を判定する制御部と、を備える。
【発明の効果】
【００１１】
開示の通信装置、通信システム、通信制御装置、通信方法、及び、通信制御方法によれば、第３者によるフローの特定を困難にすることができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、第１実施形態に係る通信システムの構成例を示す図である。
【図２】図２は、第１実施形態に係るセキュア通信のセキュリティ対策処理の一例を示す図である。
【図３】図３は、第１実施形態に係るセキュア通信のパケットの構成の一例を示す図である。
【図４】図４は、セキュリティ通信制御装置のハードウェア構成の一例を示す図である。
【図５】図５は、スイッチのハードウェア構成の一例を示す図である。
【図６】図６は、セキュリティ通信制御装置の機能構成の一例を示す図である。
【図７】図７は、セキュリティ通信制御装置の通信経路情報テーブルの一例を示す図である。
【図８】図８は、コントローラの機能構成の一例を示す図である。
【図９】図９は、コントローラの宛先判定テーブルの一例である。
【図１０】図１０は、スイッチの機能構成の一例を示す図である。
【図１１】図１１は、スイッチのパケット転送テーブルの一例である。
【図１２】図１２は、通信端末の機能構成の一例を示す図である。
【図１３】図１３は、セキュリティ通信管理テーブルの一例である。
【図１４Ａ】図１４Ａは、セキュリティ通信制御装置の経路管理部の処理のフローチャートの一例である。
【図１４Ｂ】図１４Ｂは、セキュリティ通信制御装置の経路管理部の処理のフローチャートの一例である。
【図１４Ｃ】図１４Ｃは、セキュリティ通信制御装置の経路管理部の処理のフローチャートの一例である。
【図１４Ｄ】図１４Ｄは、セキュリティ通信制御装置の経路管理部の処理のフローチャートの一例である。
【図１５Ａ】図１５Ａは、セキュリティ通信制御装置からの通信を受信した場合の、コントローラのパケット操作部の処理のフローチャートの一例である。
【図１５Ｂ】図１５Ｂは、セキュリティ通信制御装置からの通信を受信した場合の、コントローラのパケット操作部の処理のフローチャートの一例である。
【図１６Ａ】図１６Ａは、スイッチからＰａｃｋｅｔＩｎメッセージを受信した場合の、コントローラのパケット操作部の処理のフローチャートの一例である。
【図１６Ｂ】図１６Ｂは、スイッチからＰａｃｋｅｔＩｎメッセージを受信した場合の、コントローラのパケット操作部の処理のフローチャートの一例である。
【図１７】図１７は、スイッチの転送先設定部のコントローラからの通信を受信した場合の処理のフローチャートの一例である。
【図１８】図１８は、スイッチのパケット転送部の、データプレーンでパケットを受信した場合の処理のフローチャートの一例である。
【図１９Ａ】図１９Ａは、送信元としての通信端末の処理のフローチャートの一例である。
【図１９Ｂ】図１９Ｂは、通信端末のセキュリティ通信送信処理のフローチャートの一例である。
【図２０】図２０は、宛先の通信端末の、セキュリティ通信制御装置からの通信を受信した場合の処理のフローチャートの一例である。
【図２１】図２１は、宛先の通信端末の、送信元の通信端末からの通信を受信した場合の処理のフローチャートの一例である。
【図２２】図２２は、通信システムにおける、セキュア通信が開始される前の設定処理のシーケンスの一例を示す図である。
【図２３】図２３は、通信システムにおける、セキュア通信の転送処理のシーケンスの一例を示す図である。
【図２４】図２４は、通信システムにおける、セキュア通信の開放処理のシーケンスの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【００１４】
＜第１実施形態＞
図１は、第１実施形態に係る通信システム１００の構成例を示す図である。第１実施形態では、通信システム１００は、ＳＤＮ（Software-Defined Network）のネットワークを想定する。ただし、通信システム１００は、ＳＤＮのネットワークに限定されない。
【００１５】
通信システム１００は、セキュリティ通信制御装置１と、コントローラ２と、複数のスイッチ３と、複数の通信端末４とを含む。スイッチ３は、例えば、ＳＤＮスイッチである。コントローラ２は、例えば、ＳＤＮコントローラである。ＳＤＮスイッチの一例は、ＯｐｅｎＦｌｏｗスイッチである。ＳＤＮコントローラの一例は、ＯｐｅｎＦｌｏｗコントローラである。
【００１６】
図１では、スイッチ＃１（ＳＷ＃１）、スイッチ＃２（ＳＷ＃２）、スイッチ＃３（ＳＷ＃３）の３台が示されている。これらのスイッチを総称する場合には、スイッチ３、と表記する。各スイッチを区別する場合には、スイッチ＃１、スイッチ＃２、スイッチ＃３と表記する。また、図１では、通信端末として、送信元端末＃Ａと宛先端末＃Ｂとが示されている。これらの通信端末を総称する場合には、通信端末４、と表記する。各通信端末を区別する場合には、送信元端末＃Ａ、宛先端末＃Ｂと表記する。
【００１７】
コントローラ２は、スイッチ３を制御する装置である。セキュリティ通信制御装置１は、コントローラ２と通信端末４とを制御し、通信端末４間の、第１実施形態に係るセキュ
リティ対策がなされた通信経路の制御を行う装置である。以降、第１実施形態に係るセキュリティ対策がなされた通信を、セキュア通信、と称する。セキュリティ通信制御装置１は、「通信制御装置」の一例である。スイッチ３は、「中継装置」の一例である。
【００１８】
通信システム１００では、スイッチ３とコントローラ２との間の制御信号、及び、セキュリティ通信制御装置１とコントローラ２と通信端末４との間の制御信号が通過するネットワークと、ユーザデータが通過するネットワークとが、物理的又は論理的に分離されている。スイッチ３とコントローラ２との間の制御信号、及び、セキュリティ通信制御装置１とコントローラ２と通信端末４との間の制御信号を扱うプロトコルをコントロールプレーンという。スイッチ３間を中継されるユーザデータを伝送するユーザ信号を扱うプロトコルをデータプレーンという。第１実施形態では、スイッチ３とコントローラ２との間のコントロールプレーンでは、ＯｐｅｎＦｌｏｗが用いられることを想定する。図１では、コントロールプレーンの通信は点線で示されている。データプレーンの通信は、実線で示されている。
【００１９】
また、図１では、スイッチ＃２とスイッチ＃３との間には、外部ネットワーク（外部ＮＷ）が存在する。外部ネットワークは、通信システム１００の管理外のネットワークである。そのため、外部ネットワークを経由する第１実施形態に係るセキュア通信は、外部ネットワークを経由する際には、一旦、通常の通信に変換される。
【００２０】
図２は、第１実施形態に係るセキュア通信のセキュリティ対策処理の一例を示す図である。第１実施形態では、発信側の装置は、（１）パケットのヘッダ内の宛先アドレスを架空のアドレスに書き換え、（２）ダミーパケットを追加し、（３）各パケットのペイロードに、本来の宛先アドレス又はダミーパケットであることを示す情報を挿入する。ダミーパケットのヘッダ内の宛先アドレスも架空のアドレスである。
【００２１】
ヘッダ内の架空の宛先アドレスは、同じフローに含まれるパケットのうち少なくとも２つのパケット群間で異なる値となるように設定される。同じフローに含まれるパケットのうち、少なくとも２つのパケット群間で異なる値となる架空の宛先アドレスの設定とは、例えば、以下の通りである。同じフローに含まれるパケットにおいて、１つのパケットの架空の宛先アドレスがＡであり、その他のパケットの架空の宛先アドレスはＢである。同じフローに含まれるパケットにおいて、複数のパケットの架空の宛先アドレスがＡであり、その他のパケットの架空の宛先アドレスはＢである。同じフローに含まれるパケットにおいて、架空の宛先アドレスは、いずれのパケットについても重複しない。
【００２２】
すなわち、同じフローに含まれるパケットのうち、少なくとも２つのパケット群間で異なる値となるように架空の宛先アドレスを設定することは、同じフローに含まれる全パケットにおいて、架空の宛先アドレスが同一の値とならないように設定することである。また、同じフローのパケットであることが特定されないために、架空の宛先アドレスがばらつくように設定されることである。
【００２３】
第１実施形態では、架空の宛先アドレスとして、パケットごとに算出される乱数が用いられる。また、ヘッダ内の架空の宛先アドレスは、その一部が、本来の宛先アドレス又はダミーパケットであることを示す情報の、ペイロード内の挿入位置を示すために用いられる。
【００２４】
中継装置は、パケットのペイロード内の本来の宛先アドレス又はダミーパケットであることを示す情報を確認して、転送する。
【００２５】
受信側の装置は、パケットのペイロード内の本来の宛先アドレスでヘッダ内の架空の宛
先アドレスを書き換え、ペイロード内の本来の宛先アドレスを削除して、本来のパケットを再生する。また、ダミーパケットの場合には、受信側の装置は、ダミーパケットを廃棄する。
【００２６】
第１実施形態に係る通信システム１００の場合には、スイッチ＃２とスイッチ＃３との間に外部ネットワークが存在する。外部ネットワーク内では、上記の加工がなされていない通常のフォーマットのパケットのヘッダ内の宛先アドレスに基づいて転送が行われる。そのため、外部ネットワークを転送先とするスイッチ３は、受信側の装置と同様の処理を行う。また、外部ネットワークから受信するパケットを外部ネットワーク外のスイッチ３に転送するスイッチ３は、送信側の装置と同様の処理を行う。
【００２７】
例えば、図１において、送信元端末＃Ａから宛先端末＃Ｂへの通信のパケットは、送信元端末＃Ａ、スイッチ＃１、スイッチ＃２、外部ネットワーク、スイッチ＃３、宛先端末＃Ｂの経路を通る。この場合には、上記の送信側の装置として動作する装置は、送信元端末＃Ａ、スイッチ＃３となる。また、上記の受信側の装置として動作する装置は、宛先端末＃Ｂ、スイッチ＃２となる。上記の中継装置として動作する装置は、スイッチ＃１となる。送信側の装置として動作する装置、受信側の装置として動作する装置、中継装置として動作する装置は、いずれも、「通信装置」の一例である。送信元端末＃Ａは、「送信装置」の一例である。宛先端末＃Ｂは、「受信装置」の一例である。スイッチ＃１は、「中継装置」の一例である。
【００２８】
また、通信システム１００はＳＤＮのネットワークが想定されているので、第１実施形態では、各スイッチ３の挙動は、コントローラ２が制御する。また、送信元端末＃Ａ、宛先端末＃Ｂ、コントローラ２に対するセキュア通信に係る設定及び解除は、セキュリティ通信制御装置１が行う。
【００２９】
第１実施形態に係るセキュア通信では、ヘッダ内の宛先アドレスが、同一フローに含まれるパケットのうち少なくとも２つのパケット群間で異なる値となる架空の宛先アドレスに書き換えられる。宛先アドレスは、フロー識別情報として用いられることが多い情報の一つである。したがって、第１実施形態に係るセキュア通信では、本来同じフローに属するパケットが、第３者からは、同じフローに属するパケットとして識別されることが困難である。第３者は、１つのフローに属する全パケットを収集しないと、本来の通信データを取得することができない。したがって、第１実施形態に係るセキュア通信によれば、第３者による通信内容の解析を困難にすることができる。
【００３０】
また、第１実施形態では、所定の割合でダミーパケットを混在させるので、より通信内容の解析を困難にすることができる。
【００３１】
図３は、第１実施形態に係るセキュア通信のパケットの構成の一例を示す図である。パケットは、ヘッダとペイロードとを含む。ヘッダには、宛先ＩＰアドレス、送信元ＩＰアドレス等の情報が含まれる。ペイロードには、データが含まれる。通常、パケット中継の際には、ヘッダの情報が参照される。
【００３２】
第１実施形態では、ヘッダ内の宛先アドレスが格納されているフィールドの３２ビットのうちの連続する複数ビット（ビット列）が、ペイロード内の本来の宛先アドレスの挿入位置を示す情報として用いられる。ヘッダ内の、ペイロード内の本来の宛先アドレスの挿入位置を示す情報として用いられる、ビット列の位置を、以降、確認位置と称する。
【００３３】
すなわち、コントローラ２、スイッチ３、宛先端末＃Ｂ等のセキュア通信のパケットを中継又は受信する装置は、ヘッダ内の確認位置のビット列を参照することで、ペイロード
内の本来の宛先アドレスの挿入位置を取得することができる。パケットがダミーパケットである場合には、ヘッダ内の確認位置のビット列の値に対応するペイロード内の位置に、ダミーパケットであることを示す値が格納される。ダミーパケットを示す値は、宛先アドレスと同じサイズの３２ビットで定義される。
【００３４】
例えば、ヘッダ内の宛先アドレスのフィールドの先頭１バイトが確認位置であり、確認位置のビット列の値が１０である場合には、ペイロードの先頭から１０バイト目の位置に本来の宛先アドレスが挿入されていることが示される。
【００３５】
第１実施形態では、ヘッダ内の宛先アドレスのフィールドに格納される架空のアドレスは、乱数である。すなわち、確認位置のビット列の値、すなわち、ペイロード内の本来の宛先アドレスの挿入位置は、パケットごとに、ランダムに決定される。また、ヘッダ内の確認位置は、セキュア通信ごと、すなわち、フローごとに、ランダムに決定される。
【００３６】
第１実施形態において、本来の宛先アドレスは、「第１の情報」の一例である。また、ヘッダ内の宛先アドレスのフィールドは、「第１のフィールド」の一例である。また、ヘッダ内の宛先アドレスのフィールドに本来のアドレスの代わりに格納される値（架空の宛先アドレス、乱数）は、「第２の情報」の一例である。通常の通信のフォーマットのパケットは、「第１のパケット」の一例である。セキュア通信のフォーマットのパケットは、「第２のパケット」の一例である。フローは、「フローを識別可能な識別情報が共通している複数の第１のパケット」、「複数の第１のパケットによって形成されるパケット群」の一例である。ヘッダ内の確認位置は、「第１のフィールドの所定部分」の一例である。ヘッダ内の確認位置を示す情報は、「ペイロード内の第１の情報の挿入位置に関する情報」の一例である。
【００３７】
＜装置構成＞
図４は、セキュリティ通信制御装置１のハードウェア構成の一例を示す図である。セキュリティ通信制御装置１は、例えば、専用又は汎用のコンピュータである。セキュリティ通信制御装置１は、ＣＰＵ（Central Processing Unit）１０１、メモリ１０２、ネット
ワークインタフェース１０３、外部記憶装置インタフェース１０４、入出力装置インタフェース１０５を備える。ＣＰＵ  １０１、メモリ１０２、ネットワークインタフェース１０３、外部記憶装置インタフェース１０４、入出力装置インタフェース１０５は、バスによって電気的に接続される。
【００３８】
メモリ１０２は、主記憶装置として用いられる記憶装置である。メモリ１０２は、例えば、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）を含む。ＲＡＭは、例えば、ＤＲＡＭ（Dynamic RAM）、ＳＲＡＭ（Static RAM）、ＳＤＲＡＭ（Synchronous
DRAM）、のような半導体メモリである。メモリ１０２は、ＣＰＵ  １０１に、ＲＯＭや外部記憶装置に格納されているプログラムをロードする作業領域を提供したり、バッファとして用いられたりする。
【００３９】
外部記憶装置インタフェース１０４は、外部記憶装置とのインタフェースである。外部記憶装置は、例えば、不揮発性メモリである。不揮発性メモリは、例えば、ＥＰＲＯＭ（Erasable Programmable ROM）、又はハードディスクドライブ（Hard Disk Drive）等である。外部記憶装置は、例えば、ＯＳ（Operating System）、セキュア通信制御プログラム、その他アプリケーションプログラム等が格納される。セキュア通信制御プログラムは、通信端末４間のセキュア通信を設定及び解除するためのプログラムである。なお、外部記憶装置は、セキュリティ通信制御装置１の内部に搭載されてもよい。
【００４０】
ＣＰＵ  １０１は、外部記憶装置に保持されたＯＳやプログラムをメモリ１０２にロー
ドして実行することによって、様々な処理を実行する。ＣＰＵ  １０１は、複数であってもよい。ＣＰＵ  １０１は、「通信制御装置」の「制御部」の一例である。
【００４１】
ネットワークインタフェース１０３は、例えば、光ケーブル、ＬＡＮ（Local Area Network）ケーブル等の有線のネットワーク回線のケーブルを接続する回路及びポートである。ネットワークインタフェース１０３は、「通信制御装置」の「送信部」、「受信部」の一例である。
【００４２】
入出力装置インタフェース１０５は、入力装置、及び、出力装置とのインタフェースである。入力装置は、例えば、キーボード、マウス等のポインティングデバイスである。出力装置は、例えば、ディスプレイ、プリンタである。
【００４３】
なお、図４に示されるセキュリティ通信制御装置１のハードウェア構成は、一例であり、上記に限られず、実施の形態に応じて、適宜、構成要素の省略や置換、追加が可能である。例えば、セキュリティ通信制御装置１は、ＣＰＵ  １０１の他に、ＤＳＰ（Digital Signal Processor）、ネットワークプロセッサ等のプロセッサを備えてもよい。
【００４４】
コントローラ２は、例えば、専用又は汎用のコンピュータである。コントローラ２は、ハードウェア構成として、ＣＰＵ、メモリ、ネットワークインタフェース、入出力インタフェース、外部記憶装置インタフェース等を備える。各ハードウェア構成要素については、概要はセキュリティ通信制御装置１と同様であり、説明を省略する。ただし、コントローラ２は、外部記憶装置に、ＯｐｅｎＦｌｏｗコントローラ用プログラムと、セキュア通信設定プログラムとを記憶する。ＯｐｅｎＦｌｏｗコントローラ用プログラムは、ＯｐｅｎＦｌｏｗによって定義されているＯｐｅｎＦｌｏｗコントローラとしての処理を実行させるためのプログラムである。セキュア通信設定プログラムは、セキュア通信の設定に係る処理のためのプログラムである。コントローラ２のＣＰＵは、「通信装置」の「制御部」、「受信部」の一例である。コントローラ２のネットワークインタフェースは、「通信装置」の「送信部」、「受信部」の一例である。
【００４５】
通信端末４は、例えば、ＰＣ、スマートフォン、携帯電話端末、タブレット端末等である。通信端末４は、ハードウェア構成として、ＣＰＵ、メモリ、ネットワークインタフェース、入出力装置、外部記憶装置等を備える。各ハードウェア構成要素については、概要はセキュリティ通信制御装置１と同様であり、説明を省略する。通信端末４は、外部記憶装置に、セキュア通信利用プログラムを記憶する。セキュア通信利用プログラムは、通信端末４が、送信元又は宛先としてセキュア通信を利用する場合の処理のためのプログラムである。通信端末４のＣＰＵは、「通信装置」の「制御部」、「受信部」の一例である。通信端末４のネットワークインタフェースは、「通信装置」の「送信部」、「受信部」の一例である。
【００４６】
図５は、スイッチ３のハードウェア構成の一例を示す図である。スイッチ３は、例えば、ＳＤＮスイッチである。スイッチ３は、例えば、ＣＰＵ  ３０１、メモリ３０２、ネットワークインタフェース３０３、パケット転送装置３０４を備える。ＣＰＵ  ３０１、メモリ３０２、ネットワークインタフェース３０３の説明は、セキュリティ通信制御装置１のＣＰＵ  １０１、メモリ１０２、ネットワークインタフェース１０３と同様であるため省略する。スイッチ３のメモリ３０２には、ＯｐｅｎＦｌｏｗスイッチ用プログラムが格納されている。ＯｐｅｎＦｌｏｗスイッチ用プログラムは、ＯｐｅｎＦｌｏｗによって定義されているＯｐｅｎＦｌｏｗスイッチとしての処理を実行させるためのプログラムである。
【００４７】
スイッチ３は、ネットワークインタフェース３０３を複数備える。パケット転送装置３
０４は、例えば、スイッチ回路であって、複数のネットワークインタフェース３０３間のパケット転送を行う。
【００４８】
なお、図５に示されるスイッチ３のハードウェア構成は、一例であり、スイッチ３のハードウェア構成は、図５に示されるものに限定されない。スイッチ３のＣＰＵ  ３０１は、「通信装置」の「制御部」、「受信部」の一例である。
【００４９】
図６は、セキュリティ通信制御装置１の機能構成の一例を示す図である。セキュリティ通信制御装置１は、機能構成として、通信部１１、経路管理部１２、通信端末指示部１３、通信経路情報テーブル１４、セキュア通信カウンタ１５を備える。通信部１１は、ネットワークインタフェース１０３に相当する機能構成である。経路管理部１２、通信端末指示部１３、通信経路情報テーブル１４、セキュア通信カウンタ１５は、セキュリティ通信制御装置１のＣＰＵ  １０１がセキュア通信制御プログラムを実行することによって達成される機能構成である。通信部１１は、「通信制御装置」の「受信部」、「送信部」の一例である。
【００５０】
経路管理部１２は、セキュア通信の経路を確立又は解放するための処理を行う。より具体的には、経路管理部１２は、通信部１１を通じて、通信端末４からセキュア通信確立依頼を受信する。セキュア通信確立依頼は、セキュア通信の要求が発生した、セキュア通信の送信元の通信端末４からセキュリティ通信制御装置１に宛てて送信される。セキュア通信確立依頼には、例えば、送信元の通信端末４と宛先の通信端末４との情報が含まれる。セキュア通信確立依頼に含まれる、送信元の通信端末４と宛先の通信端末４との情報は、例えば、送信元端末及び宛先端末の識別情報である。通信端末４の識別情報は、例えば、ＩＰアドレスである。
【００５１】
セキュア通信確立依頼を受信すると、経路管理部１２は、送信元の通信端末４から宛先の通信端末４までの経路情報を取得し、セキュア通信設定依頼をコントローラ２に送信する。セキュア通信設定依頼には、セキュア通信を識別するためのセキュア通信ＩＤと、該当のセキュア通信のパケットに関する情報と、が含まれる。セキュア通信ＩＤは、経路管理部１２によって、セキュア通信カウンタ１５から取得される。セキュア通信設定依頼に含まれる、該当のセキュア通信のパケットに関する情報の詳細は、後述される。経路管理部１２は、「通信制御装置」の「制御部」の一例である。セキュア通信確立依頼は、「通信の要求」の一例である。
【００５２】
通信端末指示部１３は、通信部１１を通じて、セキュア通信の送信元及び宛先となる通信端末４に対して、セキュア通信設定依頼を送信する。通信端末４に送信されるセキュア通信設定依頼は、コントローラ２に対して送信されるセキュア通信設定依頼と含まれる情報が異なる。
【００５３】
通信端末４に送信されるセキュア通信設定依頼には、例えば、セキュア通信ＩＤ、送信元及び宛先の通信端末４の識別情報、ヘッダ内における確認位置、ダミーパケットの値等である。通信端末４の識別情報は、例えば、ＩＰアドレスである。通信端末４の識別情報は、宛先の通信端末４がセキュア通信のパケットをフィルタリングするために用いられる。
【００５４】
経路管理部１２は、通信部１１を通じて、送信元の通信端末４からセキュア通信の終了通知を受信する。セキュア通信の終了通知を受信した場合には、経路管理部１２は、コントローラ２に、セキュア通信開放依頼を送信する。セキュア通信開放依頼には、開放対象のセキュア通信ＩＤが含まれる。また、経路管理部１２は、通信端末指示部１３に、宛先の通信端末４へのセキュア通信開放依頼の送信を指示する。
【００５５】
また、経路管理部１２は、送信元の通信端末４からセキュア通信の終了通知を受信した場合には、通信経路情報テーブル１４の該当エントリを更新する。セキュア通信の終了通知を受信した場合の通信経路情報テーブル１４の更新は、後述される。経路管理部１２は、通信経路情報テーブル１４の該当エントリの更新が終了すると、送信元の通信端末４に、セキュア通信の開放処理の終了を通知する。
【００５６】
セキュア通信カウンタ１５は、セキュア通信を識別するためのセキュア通信ＩＤのカウンタである。通信端末４からセキュア通信確立依頼を受信した時点のセキュア通信カウンタ１５が示す値が、該当のセキュア通信のセキュア通信ＩＤとなる。セキュア通信カウンタ１５は、経路管理部１２によってカウンタ値が読み出される度に、経路管理部１２によって１加算された値に更新される。
【００５７】
図７は、セキュリティ通信制御装置１の通信経路情報テーブル１４の一例を示す図である。通信経路情報テーブル１４は、通信システム１００内の各２拠点間の経路情報と、セキュア通信に関する情報とを格納するテーブルである。通信経路情報テーブル１４は、メモリ１０２に記憶される。通信経路情報テーブル１４は、経路管理部１２によって管理される。通信経路情報テーブル１４のエントリには、例えば、送信元端末の識別情報、宛先端末の識別情報、セキュア通信ＩＤ、経路上の通信装置の識別情報、確認位置、ダミーの値、の項目が含まれる。
【００５８】
「送信元端末」、「宛先端末」には、例えば、送信元又は宛先の通信端末４のＩＰアドレスが用いられる。なお、図７では、便宜上、「送信元端末」、「宛先端末」には、ＩＰアドレスの代わりに、装置名が用いられている。
【００５９】
「セキュア通信ＩＤ」には、該当のセキュア通信のセキュア通信確立依頼の受信時に、セキュア通信カウンタ１５が保持する値が格納される。セキュア通信ＩＤは、通信システム１００において、重複しないように設定される。第１実施形態では、送信元と宛先との通信端末４の組合せに対してセキュア通信ＩＤが割り当てられる。したがって、第１実施形態では、送信元ＩＰアドレスと宛先ＩＰアドレスとが、フロー識別情報として用いられる。また、第１実施形態では、１つのセキュア通信は、１つのフローとして識別される。
【００６０】
「通信装置１」、「通信装置２」、「通信装置３」、．．．には、送信元の通信端末４に近い順で経路上の通信装置の識別情報が格納される。送信元の通信端末４と宛先の通信端末４との間の経路は、例えば、予め通信経路情報テーブル１４に登録されていてもよい。または、経路管理部１２が、通信端末４からセキュア通信確立依頼を受信した場合に、コントローラ２のルーティングの機能によって算出された経路をコントローラ２から取得してもよい。
【００６１】
経路上の通信装置の識別情報は、例えば、ＩＰアドレス、装置名等のいずれかが用いられる。図７に示される例では、便宜上、経路上の通信装置の識別情報として、装置名が格納されている。通信装置の装置名“ＯＦＳＷ”は、ＯｐｅｎＦｌｏｗスイッチであるスイッチ３を示す。通信装置の装置名“ｅｘｔＮＷ”は、外部ネットワークを示す。
【００６２】
「確認位置」には、該当のセキュア通信のパケットのヘッダ内の、ペイロード内の本来のアドレスの挿入位置を示す情報に用いられるビット列の位置を示す情報が含まれる。ヘッダ内の宛先アドレスのフィールドは、３２ビット（４バイト）のサイズである。例えば、「確認位置」に「宛先アドレスの１バイト目」が格納されている場合には、ペイロード内の本来の宛先アドレスの挿入位置を示す情報には、ヘッダ内の宛先アドレスのフィールドの１バイト目の８ビットが用いられていることが示される。「確認位置」は、該当のセ
キュア通信のセキュア通信確立依頼が受信された場合に、経路管理部１２によって、ランダムに決定される。すなわち、セキュア通信ごとに「確認位置」が決定される。
【００６３】
「ダミーの値」には、「確認位置」によって示されるペイロード内の位置に格納される、ダミーパケットであることを示す値が格納される。ダミーパケットであることを示す値は、例えば、通信システム１００で予め決められた値を、セキュア通信間で統一して用いてもよい。または、ダミーパケットであることを示す値は、セキュア通信ごとに、経路管理部１２が決定してもよい。図７に示される例では、ダミーパケットであることを示す値は、０（３２ビットがすべて０）である。
【００６４】
送信元の通信端末４からセキュア通信の終了通知が受信された場合には、セキュア通信の終了通知に含まれるセキュア通信ＩＤに該当するエントリの「セキュア通信ＩＤ」、「確認位置」、「ダミーの値」に格納される値が削除される。
【００６５】
図８は、コントローラ２の機能構成の一例を示す図である。コントローラ２は、機能構成として、通信部２１、パケット操作部２２、スイッチ制御部２３、宛先判定テーブル２４を備える。通信部２１は、ネットワークインタフェースに相当する機能構成である。パケット操作部２２、宛先判定テーブル２４は、コントローラ２のＣＰＵが外部記憶装置に記憶されているセキュア通信設定プログラムを実行することによって達成される機能構成である。通信部２１は、「通信装置」の「送信部」、「受信部」の一例である。
【００６６】
パケット操作部２２は、通信部２１を通じて、セキュリティ通信制御装置１から、セキュア通信設定依頼、セキュア通信開放依頼を受信する。パケット操作部２２は、セキュア通信設定依頼を受信した場合には、セキュア通信設定依頼に含まれる情報を宛先判定テーブル２４に登録する。また、パケット操作部２２は、セキュア通信設定依頼に含まれる情報をスイッチ制御部２３に出力する。パケット操作部２２は、セキュア通信開放依頼を受信した場合には、セキュア通信開放依頼に含まれるセキュア通信ＩＤに該当する宛先判定テーブル２４のエントリを削除し、セキュリティ通信制御装置１に応答を送信する。
【００６７】
宛先判定テーブル２４は、セキュア通信のパケットに関する処理内容を格納する。宛先判定テーブル２４は、コントローラ２のメモリ内に記憶される。宛先判定テーブル２４は、パケット操作部２２によって管理される。宛先判定テーブル２４の詳細は、後述される。
【００６８】
スイッチ制御部２３は、コントローラ２のＣＰＵが外部記憶装置に格納されるＯｐｅｎＦｌｏｗコントローラ用プログラムを実行することによって達成される機能構成である。スイッチ制御部２３は、パケット操作部２２から入力されるセキュア通信設定依頼に含まれる情報に基づいて、セキュア通信のパケットの受信時の動作を対象のスイッチ３に設定する。
【００６９】
ＯｐｅｎＦｌｏｗでは、スイッチ３は、フローテーブルに従ってパケットを転送する。フローテーブルは、処理対象となるパケットの条件と、条件に該当したパケットの処理内容とが定義されたテーブルである。コントローラ２は、ＦｌｏｗＭｏｄメッセージを用いることによって、スイッチ３にフローテーブルのエントリを通知し、該エントリをフローテーブルに登録させることができる。また、ＯｐｅｎＦｌｏｗでは、スイッチ３からコントローラ２へ、受信したパケットの処理を問い合わせたり、依頼したりできるＰａｃｋｅｔＩｎメッセージがある。
【００７０】
第１実施形態では、セキュア通信のパケットは、ヘッダ内の宛先アドレスが同一フロー内でバラバラの値になるように、本来のアドレスとは異なる情報で書き換えられている。
そのため、スイッチ３がセキュア通信のパケットを中継する際には、本来の宛先アドレスにパケットを転送するために、スイッチ３には、ペイロード内から本来の宛先アドレスを抽出することが求められる。
【００７１】
しかしながら、ＯｐｅｎＦｌｏｗのフローテーブルにおいて、パケットの転送先を指定するコマンドは用意されているが、パケットのペイロードから本来のアドレスを抽出する処理を定義するコマンドは用意されていない。
【００７２】
そのため、第１実施形態では、スイッチ制御部２３は、セキュア通信のパケットを受信した場合には、コントローラ２に該パケットを含むＰａｃｋｅｔＩｎメッセージを送信するようにスイッチ３に指示する。より具体的には、スイッチ制御部２３は、処理対象のパケットの条件を、セキュア通信のパケットとし、条件に該当したパケットの処理内容を、ＰａｃｋｅｔＩｎメッセージの送信とする、フローエントリをスイッチ３に送信する。該フローエントリは、ＦｌｏｗＭｏｄメッセージによって送信される。ＰａｃｋｅｔＩｎメッセージには、ＰａｃｋｅｔＩｎメッセージ送信を指示するフローエントリの処理対象の条件に該当したパケットを含めることができる。したがって、スイッチ制御部２３は、スイッチ３に、セキュア通信のパケットを含むＰａｃｋｅｔＩｎメッセージの送信を指示する。
【００７３】
スイッチ３からの、セキュア通信のパケットを含むＰａｃｋｅｔＩｎメッセージは、通信部２１を通じて、パケット操作部２２に受信される。パケット操作部２２は、セキュア通信のパケットを含むＰａｃｋｅｔＩｎメッセージを受信すると、宛先判定テーブル２４に基づいて、パケットの本来のアドレスに応じた転送先を取得する。パケット操作部２２は、取得した転送先へのパケットの転送を指示するＰａｃｋｅｔＯｕｔメッセージを該当のスイッチ３に送信する。ＰａｃｋｅｔＯｕｔメッセージは、ＰａｃｋｅｔＩｎメッセージに対する応答であって、スイッチ３にパケットの出力を指示するメッセージである。また、ＰａｃｋｅｔＯｕｔメッセージには、スイッチ３に出力させるパケットを含めることができるので、パケット操作部２２は、ＰａｃｋｅｔＯｕｔメッセージにパケットを含める。
【００７４】
また、スイッチ制御部２３は、セキュア通信開放依頼が受信された場合には、各スイッチ３に対して、開放対象のセキュリティ通信に係るＰａｃｋｅｔＩｎメッセージの送信の設定の解除指示を送信する。ＰａｃｋｅｔＩｎメッセージの送信の設定の解除指示は、例えば、ＦｌｏｗＭｏｄメッセージによって送信される。パケット操作部２２、スイッチ制御部２３は、「第２のパケットが受信された場合に、前記第２のパケットのペイロード内の第１の情報に基づいて、前記第２のパケットの転送先を判定する制御部」の一例である。
【００７５】
図９は、コントローラ２の宛先判定テーブル２４の一例である。宛先判定テーブル２４は、セキュア通信のパケットに対する処理内容を記憶する。宛先判定テーブル２４のエントリには、セキュア通信ＩＤ、ＯｐｅｎＦｌｏｗスイッチ、送信元、転送先、確認位置、ダミーの値、動作種別の項目が含まれる。宛先判定テーブル２４は、ＯｐｅｎＦｌｏｗスイッチ、送信元の項目の値をキーとして検索される。
【００７６】
「セキュア通信ＩＤ」には、該エントリの対象となるセキュア通信のセキュア通信ＩＤが格納される。「ＯｐｅｎＦｌｏｗスイッチ」には、該エントリの対象となるスイッチ３の識別情報が格納される。「送信元」には、該エントリの対象のセキュア通信の送信元端末の識別情報が格納される。「転送先」には、該エントリの対象のセキュア通信のパケットの、該エントリの対象のスイッチ３からの転送先となる装置の識別情報が格納される。宛先判定テーブル２４で用いられる、スイッチ３、通信端末４の識別情報は、ＩＰアドレ
ス、装置名等のいずれであってもよい。図９に示される例では、スイッチ３、通信端末４の識別情報として、装置名が使用されている。
【００７７】
「確認位置」には、該エントリの対象のセキュア通信におけるパケットのヘッダ内の確認位置を示す情報が格納される。「ダミーの値」には、「確認位置」によって示されるペイロード内の位置に格納される、ダミーパケットであることを示す値が格納される。
【００７８】
「動作種別」には、「中継」、「発側」、「受側」のいずれかを示す値が格納される。「動作種別」が「中継」である場合には、パケット操作部２２は、セキュア通信のパケットを通知するＰａｃｋｅｔＩｎメッセージの送信元のスイッチ３に対して、該パケットの転送先の情報を含むＰａｃｋｅｔＯｕｔメッセージを送信する。ＰａｃｋｅｔＯｕｔメッセージで通知される、パケットの転送先の情報は、ＰａｃｋｅｔＩｎメッセージで通知されたセキュア通信のパケットに該当する宛先判定テーブル２４の「転送先」に格納される情報である。
【００７９】
「動作種別」が「受側」である場合には、パケット操作部２２は、ＰａｃｋｅｔＩｎメッセージで通知されたパケットについて、以下の処理を行う。この場合には、ＰａｃｋｅｔＩｎメッセージに含まれるパケットは、セキュア通信のフォーマットのパケットである。パケット操作部２２は、ＰａｃｋｅｔＩｎメッセージに含まれるパケットについて、ペイロードに格納されている宛先アドレスでヘッダ内の宛先アドレスを書き換え、ペイロードに格納されている宛先アドレスを削除する。すなわち、「動作種別」が「受側」である場合には、パケット操作部２２は、セキュア通信のフォーマットのパケットを通常のフォーマットのパケットに変換する処理を行う。パケット操作部２２は、通常のフォーマットに変換されたパケットと、該パケットの転送先の情報とを含むＰａｃｋｅｔＯｕｔメッセージをＰａｃｋｅｔＩｎメッセージの送信元のスイッチ３に送信する。
【００８０】
「動作種別」が「発側」である場合には、パケット操作部２２は、ＰａｃｋｅｔＩｎメッセージで通知されたパケットについて、以下の処理を行う。この場合には、ＰａｃｋｅｔＩｎメッセージに含まれるパケットは、通常の通信のフォーマットのパケットである。パケット操作部２２は、ＰａｃｋｅｔＩｎメッセージに含まれるパケットについて、乱数を算出し、ヘッダ内の宛先アドレスのフィールドに算出した乱数を格納する。また、パケット操作部２２は、ヘッダ内の確認位置のビット列の値に対応するペイロード内の位置に、ヘッダの宛先アドレスのフィールドに格納されていたＩＰアドレスを挿入する。
【００８１】
すなわち、「動作種別」が「発側」である場合には、パケット操作部２２は、通常のフォーマットのパケットをセキュア通信のフォーマットのパケットに変換する処理を行う。パケット操作部２２は、セキュア通信のフォーマットに変換されたパケットと、該パケットの転送先の情報とを含むＰａｃｋｅｔＯｕｔメッセージをＰａｃｋｅｔＩｎメッセージの送信元のスイッチ３に送信する。
【００８２】
宛先判定テーブル２４のエントリに格納される情報は、セキュリティ通信制御装置１からのセキュア通信設定依頼に含まれている。すなわち、セキュリティ通信制御装置１からのセキュア通信設定依頼に含まれるセキュア通信のパケットに関する情報には、第１実施形態では、セキュア通信ＩＤ、スイッチ３の識別情報、送信元の通信端末４の識別情報、転送先の装置の識別情報、確認位置、ダミーの値、動作種別が含まれる。
【００８３】
例えば、図９に示される宛先判定テーブル２４の一行目のエントリは、「ＯｐｅｎＦｌｏｗスイッチ」がスイッチ＃１、「送信元」が通信端末＃Ａである。したがって、一行目のエントリは、スイッチ＃１から、送信元が通信端末＃Ａであるパケットを含むＰａｃｋｅｔＩｎメッセージを受信した場合の、コントローラ２の処理を示すエントリである。
【００８４】
一行目のエントリは、「動作種別」が「中継」、「転送先」がスイッチ＃２である。したがって、一行目のエントリに合致するセキュア通信のパケットに対して、パケット操作部２２は、該パケットの転送先としてスイッチ＃２を通知するＰａｃｋｅｔＯｕｔメッセージをＰａｃｋｅｔＩｎメッセージの送信元のスイッチ＃１に通知する。
【００８５】
図９に示される宛先判定テーブル２４の二行目のエントリは、「ＯｐｅｎＦｌｏｗスイッチ」がスイッチ＃２、「送信元」が通信端末＃Ａである。したがって、二行目のエントリは、スイッチ＃２から、送信元が通信端末＃Ａであるパケットを含むＰａｃｋｅｔＩｎメッセージを受信した場合の、コントローラ２の処理を示すエントリである。
【００８６】
二行目のエントリは、「動作種別」が「受側」、「転送先」がヘッダの宛先アドレス、「確認位置」が「宛先アドレスの１バイト目」である。したがって、パケット操作部２２は、二行目のエントリに合致するパケットのペイロードの、ヘッダの宛先アドレスの１バイト目の値に相当する位置から本来の宛先アドレスを取得する。パケット操作部２２は、該パケットのヘッダ内の宛先アドレスのフィールドを、ペイロードから取得した本来の宛先アドレスに書き換える。また、ペイロード内に挿入されていた本来のアドレスを削除する。
【００８７】
次に、パケット操作部２２は、変換後のパケットの転送先として、変換後のパケットのヘッダ内の宛先アドレスと、変換後のパケットを含むＰａｃｋｅｔＯｕｔメッセージをＰａｃｋｅｔＩｎメッセージの送信元のスイッチ＃２に通知する。なお、ＰａｃｋｅｔＩｎメッセージによって通知されたパケットの、ヘッダ内の確認位置によって示されるペイロード内の位置に、ダミーの値が格納されている場合には、該パケットは廃棄される。
【００８８】
図９に示される宛先判定テーブル２４の三行目のエントリは、「ＯｐｅｎＦｌｏｗスイッチ」がスイッチ＃３、「送信元」が通信端末＃Ａである。したがって、三行目のエントリは、スイッチ＃３から、送信元が通信端末＃Ａであるパケットを含むＰａｃｋｅｔＩｎメッセージを受信した場合の、コントローラ２の処理を示すエントリである。
【００８９】
三行目のエントリは、「動作種別」が「送側」、「転送先」が通信端末＃Ｂ、「確認位置」が「宛先アドレスの１バイト目」である。したがって、パケット操作部２２は、三行目のエントリに合致するパケットについて、ヘッダの宛先アドレスのフィールドに乱数を格納し、ヘッダの宛先アドレスの１バイト目の確認位置のビット列の値に対応するペイロード内の位置に、本来の宛先アドレスを挿入する。
【００９０】
次に、パケット操作部２２は、変換後のパケットの転送先として、通信端末＃Ｂと、変換後のパケットとを含むＰａｃｋｅｔＯｕｔメッセージを、ＰａｃｋｅｔＩｎメッセージの送信元のスイッチ＃３に通知する。また、パケット操作部２２は、所定の割合で、ダミーパケットを生成して、転送先として通信端末＃Ｂと、ダミーパケットとを含むＰａｃｋｅｔＯｕｔメッセージを、ＰａｃｋｅｔＩｎメッセージの送信元のスイッチ＃３に通知する。宛先判定テーブル２４は、「通信装置」の「記憶部」の一例である。
【００９１】
図１０は、スイッチ３の機能構成の一例を示す図である。スイッチ３は、機能構成として、Ｃプレーン通信部３１、Ｄプレーン通信部３２、転送先設定部３３、パケット転送部３４、パケット転送テーブル３５を備える。Ｃプレーン通信部３１、Ｄプレーン通信部３２は、それぞれ、ネットワークインタフェース３０３に相当する。Ｃプレーン通信部３１は、コントロールプレーンのインタフェースである。Ｄプレーン通信部３２は、データプレーンのインタフェースである。
【００９２】
転送先設定部３３、パケット転送部３４、パケット転送テーブル３５は、ＣＰＵ  ３０１が外部記憶装置に記憶されているＯｐｅｎＦｌｏｗスイッチ用プログラムを実行することによって達成される機能構成である。
【００９３】
転送先設定部３３は、Ｃプレーン通信部３１を通じて、コントローラ２からのＦｌｏｗＭｏｄメッセージ、ＰａｃｋｅｔＯｕｔメッセージを受信する。コントローラ２からＦｌｏｗＭｏｄメッセージを受信した場合には、転送先設定部３３は、ＦｌｏｗＭｏｄメッセージに含まれるフローエントリをフローテーブル（図示せず）に登録する。コントローラ２からＰａｃｋｅｔＯｕｔメッセージを受信した場合には、転送先設定部３３は、ＰａｃｋｅｔＯｕｔメッセージによって出力が指示されたパケットと、該パケットの転送先とを、パケット転送部３４に出力する。ＦｌｏｗＭｏｄメッセージにフローエントリの削除指示が含まれている場合には、転送先設定部３３は、フローテーブルから該当のエントリを削除する。
【００９４】
また、転送先設定部３３は、パケット転送部３４からＰａｃｋｅｔＩｎメッセージの送信の指示の入力を受ける。転送先設定部３３は、パケット転送部３４からの指示に従って、ＰａｃｋｅｔＩｎメッセージを生成し、Ｃプレーン通信部３１を通じて、コントローラ２にＰａｃｋｅｔＩｎメッセージを送信する。第１実施形態では、ＰａｃｋｅｔＩｎメッセージには、ＰａｃｋｅｔＩｎメッセージの送信の契機となるパケットが含まれることとする。
【００９５】
パケット転送部３４は、Ｄプレーン通信部３２を通じて、データプレーンを流れるパケットを受信する。パケット転送部３４は、フローテーブルから、受信したパケットの転送先を取得して、転送先に応じたインタフェースからパケットを出力する。フローテーブルにおいて、ＰａｃｋｅｔＩｎメッセージの送信が設定されている場合には、パケット転送部３４は、転送先設定部３３に、ＰａｃｋｅｔＩｎメッセージの送信を指示する。
【００９６】
図１１は、スイッチ３のパケット転送テーブル３５の一例である。パケット転送テーブル３５は、セキュア通信のパケットの転送先の情報を保持するテーブルである。パケット転送テーブル３５は、第１実施形態では、フローテーブルに含まれるフローエントリのうち、セキュア通信に関するフローエントリである。すなわち、第１実施形態では、パケット転送テーブル３５は、フローテーブルの一部である。パケット転送テーブル３５は、スイッチ３のメモリ３０２に格納されている。パケット転送テーブル３５は、転送先設定部３３によって管理される。
【００９７】
パケット転送テーブル３５のエントリには、送信元、宛先、転送先の項目が含まれる。それぞれ送信元、宛先、転送先となる装置の識別情報が格納される。装置の識別情報は、ＩＰアドレスが用いられる。図１１では、装置の識別情報として、便宜上、装置名が用いられている。コントローラ２へＰａｃｋｅｔＩｎメッセージを送信する場合には、転送先がコントローラ２となる。
【００９８】
パケット転送テーブル３５は、第１実施形態では、フローテーブルの一部である。そのため、パケット転送テーブル３５のエントリにおいて、処理対象のパケットの条件に該当するのは、「送信元」と「宛先」との項目である。条件に合致するパケットに対する処理に該当するのは、「転送先」の項目である。
【００９９】
図１２は、通信端末４の機能構成の一例を示す図である。通信端末４は、機能構成として、通信部４１、パケット操作部４２、通信管理部４３、セキュリティ通信管理テーブル４４を含む。通信部４１は、ネットワークインタフェースに相当する。パケット操作部４２、通信管理部４３、セキュリティ通信管理テーブル４４は、ＣＰＵが外部記憶装置に記
憶されているセキュア通信利用プログラムを実行することによって達成される機能構成である。
【０１００】
通信管理部４３は、通信部４１を通じて、セキュリティ通信制御装置１に対する送受信を行う。通信端末４が送信元である場合には、通信管理部４３は、例えば、アプリケーションからのセキュア通信の要求を受けて、セキュリティ通信制御装置１にセキュア通信確立依頼を送信する。セキュア通信確立依頼には、送信元として自通信端末４の識別情報と宛先の通信端末４の識別情報とが含まれる。
【０１０１】
また、通信管理部４３は、通信端末４が送信元である場合には、例えば、アプリケーションからのセキュア通信の終了を受けて、セキュリティ通信制御装置１にセキュア通信の終了を通知する。セキュア通信の終了通知には、セキュア通信ＩＤが含まれる。
【０１０２】
通信端末４が送信元又は宛先のいずれの場合でも、通信管理部４３は、通信部４１を通じて、セキュリティ通信制御装置１からセキュア通信設定依頼及びセキュア通信開放依頼を受信する。セキュア通信設定依頼には、セキュア通信ＩＤ、送信元及び宛先の識別情報、確認位置、ダミーの値が含まれている。通信管理部４３は、受信したセキュア通信設定依頼に含まれる情報を、セキュリティ通信管理テーブル４４に登録する。セキュア通信開放依頼には、セキュア通信ＩＤが含まれている。通信管理部４３は、セキュア通信開放依頼を受信すると、セキュリティ通信管理テーブル４４の対象のセキュア通信ＩＤに該当するエントリを削除する。
【０１０３】
パケット操作部４２は、パケットの送信処理又は受信処理を行う。セキュア通信において、通信端末４が送信元として動作する場合には、パケット操作部４２は、乱数を算出し、ヘッダ内の宛先アドレスのフィールドに算出した乱数を格納する。また、パケット操作部２２は、ヘッダ内の宛先フィールドに格納されていた本来の宛先アドレスを、ヘッダ内の確認位置のビット列の値に相当するペイロードの位置に挿入する。ヘッダ内の確認位置は、セキュリティ通信管理テーブル４４から取得される。パケット操作部４２は、セキュア通信のフォーマットに変換したパケットを、通信部４１を通じて、宛先の通信端末４に送信する。
【０１０４】
セキュア通信において、通信端末４が宛先として動作する場合には、パケット操作部４２は、通信部４１を通じて、セキュア通信のフォーマットのパケットを受信する。パケットの送信元アドレスがセキュリティ通信管理テーブル４４に登録されているパケットを受信した場合に、パケット操作部４２は、受信したセキュア通信のフォーマットのパケットからデータを取得して、アプリケーションに出力する。具体的には、パケット操作部４２は、ヘッダを削除し、パケットのヘッダの確認位置のビット列の値に相当するペイロード内の位置から本来の宛先アドレスを削除してえられるデータをアプリケーションに出力する。ヘッダの確認位置は、セキュリティ通信管理テーブル４４から取得される。
【０１０５】
図１３は、セキュリティ通信管理テーブル４４の一例である。セキュリティ通信管理テーブル４４は、通信端末４が行っているセキュア通信に関する情報を保持するテーブルである。セキュリティ通信管理テーブル４４は、通信端末４のメモリに格納されている。セキュリティ通信管理テーブル４４は、通信管理部４３によって管理されている。
【０１０６】
セキュリティ通信管理テーブル４４のエントリには、セキュア通信ＩＤ、送信元、宛先、確認位置、ダミーの値、の項目が含まれる。「送信元」、「宛先」には、それぞれ、送信元、宛先となる通信端末４の識別情報が格納される。通信端末４が送信元である場合には、「送信元」に自装置の識別情報が格納されてもよいし、「送信元」が空欄であっても
よい。通信端末４が宛先である場合には、「宛先」に自装置の識別情報が格納されてもよいし、「宛先」が空欄であってもよい。
【０１０７】
セキュリティ通信管理テーブル４４のエントリの、セキュア通信ＩＤ、送信元、宛先、確認位置、ダミーの値、の項目の値は、セキュリティ通信制御装置１からのセキュア通信設定依頼に含まれている。
【０１０８】
＜処理の流れ＞
図１４Ａ、図１４Ｂ、図１４Ｃ、及び、図１４Ｄは、セキュリティ通信制御装置１の経路管理部１２の処理のフローチャートの一例である。図１４Ａ〜図１４Ｄに示される処理は、セキュリティ通信制御装置１が通信端末４からの通信を受信した場合に開始される。図１４Ａ〜図１４Ｄに示される処理の実行主体は、セキュア通信制御プログラムを実行するＣＰＵ  １０１であるが、便宜上、機能構成である経路管理部１２を主体として説明する。
【０１０９】
ＯＰ１では、経路管理部１２は、通信部１１を通じて、通信端末４からの通信を受信する。ＯＰ２では、経路管理部１２は、通信端末４から受信した通信の内容を解析する。通信端末４からの通信の内容がセキュア通信確立依頼である場合には（ＯＰ２：確立依頼）、処理がＯＰ３に進む。通信端末４からの通信の内容がセキュア通信の終了通知である場合には（ＯＰ２：終了通知）、処理が図１４ＤのＯＰ２１に進む。
【０１１０】
図１４ＡのＯＰ３からＯＰ９の処理、図１４Ｂの処理、図１４Ｃの処理は、通信端末４からセキュア通信確立依頼を受信した場合の処理である。ＯＰ３では、経路管理部１２は、通信経路情報テーブル１４を更新する。
【０１１１】
より具体的には、経路管理部１２は、セキュア通信確立依頼に含まれる送信元及び宛先の通信端末４の識別情報をキーとして、通信経路情報テーブル１４を検索する。経路管理部１２は、セキュア通信確立依頼に含まれる送信元及び宛先の通信端末４の識別情報に合致するエントリを検出し、セキュア通信ＩＤをセキュア通信カウンタ１５から取得し、検出したエントリの「通信ＩＤ」に格納する（図７参照）。また、経路管理部１２は、通信経路情報テーブル１４の検出したエントリの「確認位置」の値を決定し、格納する。また、経路管理部１２は、通信経路情報テーブル１４の検出したエントリの「ダミーの値」に、所定の値を格納する。
【０１１２】
ＯＰ４では、経路管理部１２は、通信経路情報テーブル１４の検出したエントリの「通信装置１」の値を参照する。
【０１１３】
ＯＰ５では、経路管理部１２は、通信経路情報テーブル１４の検出したエントリの「通信装置Ｎ」の値が外部ネットワークを示す値であるか否かを判定する。Ｎは初期値１であり、１ずつ加算される変数である。「通信装置Ｎ」の値が外部ネットワークを示す値である場合には（ＯＰ５：ＹＥＳ）、処理がＯＰ６に進む。「通信装置Ｎ」の値が外部ネットワークを示す値でない場合には（ＯＰ５：ＮＯ）、処理がＯＰ７に進む。
【０１１４】
ＯＰ６では、「通信装置Ｎ」の値が外部ネットワークを示す値であるので、経路管理部１２は、通信経路情報テーブル１４の検出されたエントリにおける次の「通信装置」の値を参照する。変数Ｎは、１加算された値に更新される。その後、処理がＯＰ５に進む。
【０１１５】
ＯＰ７では、「通信装置Ｎ」の値が外部ネットワークを示す値でないので、経路管理部１２は、通信経路情報テーブル１４の検出されたエントリにおける、前段の「通信装置Ｎ−１」の値が外部ネットワークを示す値であるか否かを判定する。前段の「通信装置Ｎ−
１」の値が外部ネットワークを示す値である場合には（ＯＰ７：ＹＥＳ）、処理がＯＰ８に進む。前段の「通信装置Ｎ−１」の値が外部ネットワークを示す値でない場合には（ＯＰ７：ＮＯ）、処理が図１４ＢのＯＰ１０に進む。
【０１１６】
ＯＰ８では、経路管理部１２は、「通信装置Ｎ」の装置の「動作種別」を「発側」と判定し、コントローラ２に、「動作種別」が「発側」を含むセキュア通信設定依頼を送信する。ＯＰ８で送信されるセキュア通信設定依頼には、セキュア通信ＩＤ、対象のスイッチ３の識別情報、送信元の通信端末４の識別情報、転送先の装置の識別情報、ヘッダ内の確認位置、ダミーの値、動作種別として「発側」が含まれる。セキュア通信設定依頼に含まれる、セキュア通信ＩＤ、対象のスイッチ３の識別情報、送信元の通信端末４の識別情報、転送先の装置の識別情報、ヘッダ内の確認位置、ダミーの値は、それぞれ、通信経路情報テーブル１４の検出されたエントリの、「通信ＩＤ」、「通信装置Ｎ」、「通信装置Ｎ＋１」、「確認位置」、「ダミーの値」の項目に格納される値である。
【０１１７】
すなわち、ＯＰ８の処理は、経路管理部１２が、コントローラ２に、（１）該当のスイッチ３から該当のセキュア通信の全パケットについてＰａｃｋｅｔＩｎメッセージを取得すること、（２）送信側の装置として通常のフォーマットのパケットをセキュア通信のフォーマットに変換すること、（３）変換後のパケットと転送先の情報とをスイッチ３にＰａｃｋｅｔＯｕｔメッセージで送信すること、を指示していることを意味する。
【０１１８】
ＯＰ９では、経路管理部１２は、コントローラ２からの応答を受信する。その後、処理が図１４ＣのＯＰ１６に進む。
【０１１９】
図１４ＢのＯＰ１０では、経路管理部１２は、通信経路情報テーブル１４の検出されたエントリにおける次の「通信装置Ｎ＋１」の値が、外部ネットワークを示す値であるかを判定する。「通信装置Ｎ＋１」の値が外部ネットワークを示す値である場合には（ＯＰ１０：ＹＥＳ）、処理がＯＰ１５に進む。「通信装置Ｎ＋１」の値が外部ネットワークを示す値でない場合には（ＯＰ１０：ＮＯ）、処理がＯＰ１１に進む。
【０１２０】
ＯＰ１１では、経路管理部１２は、通信経路情報テーブル１４の検出されたエントリにおける「通信装置Ｎ＋１」の値が、スイッチ３であるかを判定する。「通信装置Ｎ＋１」の値がスイッチ３である場合には（ＯＰ１１：ＹＥＳ）、処理がＯＰ１２に進む。「通信装置Ｎ＋１」の値がスイッチ３でない、すなわち、「通信装置Ｎ＋１」に値が格納されていない場合には（ＯＰ１１：ＮＯ）、処理が図１４ＣのＯＰ１６に進む。
【０１２１】
ＯＰ１２では、経路管理部１２は、「通信装置Ｎ」の装置の「動作種別」を「中継」と判定し、コントローラ２に、「動作種別」が「中継」を含むセキュア通信設定依頼を送信する。ＯＰ１２で送信されるセキュア通信設定依頼には、セキュア通信ＩＤ、対象のスイッチ３の識別情報、送信元の通信端末４の識別情報、転送先の装置の識別情報、ヘッダ内の確認位置、ダミーの値、動作種別として「中継」が含まれる。
【０１２２】
すなわち、ＯＰ１２の処理は、経路管理部１２が、コントローラ２に、（１）該当のスイッチ３から該当のセキュア通信の全パケットについてＰａｃｋｅｔＩｎメッセージを取得すること、（２）転送先の情報をスイッチ３にＰａｃｋｅｔＯｕｔメッセージで送信すること、を指示していることを意味する。
【０１２３】
ＯＰ１３では、経路管理部１２は、ＯＰ１２において送信したセキュア通信設定依頼に対する応答をコントローラ２から受信する。ＯＰ１４では、経路管理部１２は、通信経路情報テーブル１４の検出されたエントリにおける、次の「通信装置」の値を参照する。変数Ｎは、１加算された値に更新される。その後、処理が図１４ＡのＯＰ５に進む。
【０１２４】
ＯＰ１５では、経路管理部１２は、「通信装置Ｎ」の装置の「動作種別」を「受側」と判定し、コントローラ２に、「動作種別」が「受側」を含むセキュア通信設定依頼を送信する。ＯＰ１５で送信されるセキュア通信設定依頼には、セキュア通信ＩＤ、対象のスイッチ３の識別情報、送信元の通信端末４の識別情報、転送先の装置の識別情報、ヘッダ内の確認位置、ダミーの値、動作種別として「受側」が含まれる。
【０１２５】
すなわち、ＯＰ１５の処理は、経路管理部１２が、コントローラ２に、（１）該当のスイッチ３から対象のセキュア通信の全パケットについてＰａｃｋｅｔＩｎメッセージを取得すること、（２）受側装置として該当のセキュア通信のフォーマットのパケットを通常のフォーマットに変換すること、（３）変換後のパケットと、転送先の情報とをスイッチ３にＰａｃｋｅｔＯｕｔメッセージで送信すること、を指示していることを意味する。その後、処理がＯＰ１３に進む。
【０１２６】
図１４ＣのＯＰ１６では、経路管理部１２は、通信経路情報テーブル１４の検出されたエントリにおける「通信装置Ｎ＋１」に値が格納されているか否かを判定する。「通信装置Ｎ＋１」の値が格納されていない場合には（ＯＰ１６：ＹＥＳ）、処理がＯＰ１７に進む。「通信装置Ｎ＋１」に値が格納されている場合には（ＯＰ１６：ＮＯ）、処理がＯＰ２０−１に進む。例えば、「通信装置Ｎ−１」の値が外部ネットワークであり、「通信装置Ｎ＋１」の値がスイッチ３である場合には、ＯＰ１６のＮＯに該当し、処理がＯＰ２０−１に進む。
【０１２７】
ＯＰ１７では、経路管理部１２は、通信端末指示部１３に対して、宛先の通信端末４にセキュア通信設定依頼を送信することを指示する。通信端末指示部１３は、経路管理部１２からの指示を受けて、宛先の通信端末４のセキュア通信設定依頼を送信する。通信端末４に送信されるセキュア通信設定依頼には、通信経路情報テーブル１４の検出されたエントリにおける「送信元」、「宛先」、「セキュア通信ＩＤ」、「確認位置」、「ダミーの値」の項目の値が含まれる。
【０１２８】
ＯＰ１８では、経路管理部１２は、ＯＰ１５において送信したセキュア通信設定依頼に対する応答を宛先の通信端末４から受信する。
【０１２９】
ＯＰ１９では、経路管理部１２は、通信端末指示部１３に対して、送信元の通信端末４にセキュア通信設定依頼を送信することを指示する。通信端末４に送信されるセキュア通信設定依頼は、ＯＰ１７において送信されるものと同じである。
【０１３０】
ＯＰ２０では、経路管理部１２は、ＯＰ１９において送信したセキュア通信設定依頼に対する応答を送信元の通信端末４から受信する。その後、図１４Ｃに示される処理が終了する。
【０１３１】
ＯＰ２０−１では、経路管理部１２は、通信経路情報テーブル１４の検出されたエントリにおける、次の「通信装置」の値を参照する。変数Ｎは、１加算された値に更新される。その後、処理が図１４ＡのＯＰ５に進む。
【０１３２】
図１４Ｄに示される処理は、通信端末４から通信が、セキュア通信の終了通知である場合の処理である。ＯＰ２１では、経路管理部１２は、通信経路情報テーブル１４から、セキュア通信の終了通知に含まれるセキュア通信ＩＤに該当するエントリを検索する。
【０１３３】
ＯＰ２２では、経路管理部１２は、ＯＰ２１において検出された通信経路情報テーブル１４のエントリに基づいて、経路上にスイッチ３が存在するか否かを判定する。経路上に
スイッチ３が存在する場合には（ＯＰ２２：ＹＥＳ）、処理がＯＰ２３に進む。経路上にスイッチ３が存在しない場合には（ＯＰ２２：ＮＯ）、処理がＯＰ２５に進む。
【０１３４】
ＯＰ２３では、経路管理部１２は、コントローラ２に対して、セキュア通信開放依頼を送信する。セキュア通信開放依頼には、セキュア通信の終了通知に含まれるセキュア通信ＩＤが含まれる。
【０１３５】
ＯＰ２４では、経路管理部１２は、ＯＰ２３において送信したセキュア通信開放依頼に対する応答をコントローラ２から受信する。
【０１３６】
ＯＰ２５では、経路管理部１２は、通信端末指示部１３に、宛先の通信端末４に対するセキュア通信開放依頼の送信を指示する。通信端末指示部１３は、経路管理部１２からの指示に従って、宛先の通信端末４にセキュア通信開放依頼を送信する。セキュア通信開放依頼には、セキュア通信の終了通知に含まれるセキュア通信ＩＤが含まれる。
【０１３７】
ＯＰ２６では、経路管理部１２は、ＯＰ２５において送信したセキュア通信開放依頼に対する応答を宛先の通信端末４から受信する。
【０１３８】
ＯＰ２７では、経路管理部１２は、ＯＰ２１において検出された通信経路情報テーブル１４のエントリの「セキュア通信ＩＤ」、「確認位置」、「ダミーの値」に格納される値を削除する。
【０１３９】
ＯＰ２８では、経路管理部１２は、通信端末指示部１３に、送信元の通信端末４に対するセキュア通信の解放処理終了の通知の送信を指示する。通信端末指示部１３は、経路管理部１２からの指示に従って、送信元の通信端末４にセキュア通信の解放処理終了の通知を送信する。その後、図１４Ｄに示される処理が終了する。
【０１４０】
図１５Ａ及び図１５Ｂは、セキュリティ通信制御装置１からの通信を受信した場合の、コントローラ２のパケット操作部２２の処理のフローチャートの一例である。図１５Ａ及び図１５Ｂに示される処理は、コントローラ２がセキュリティ通信制御装置１からの通信を受信した場合に開始される。図１５Ａ及び図１５Ｂに示される処理の実行主体は、セキュア通信設定プログラムを実行するコントローラ２のＣＰＵであるが、便宜上、機能構成であるパケット操作部２２を主体として説明する。
【０１４１】
ＯＰ３１では、パケット操作部２２は、セキュリティ通信制御装置１からの通信を受信する。
【０１４２】
ＯＰ３２では、パケット操作部２２は、セキュリティ通信制御装置１からの通信の内容を解析する。セキュリティ通信制御装置１からの通信の内容がセキュア通信設定依頼である場合には（ＯＰ３２：設定依頼）、処理がＯＰ３３に進む。セキュリティ通信制御装置からの通信の内容がセキュア通信開放依頼である場合には（ＯＰ３２：開放依頼）、処理が図１５ＢのＯＰ４１に進む。
【０１４３】
ＯＰ３３からＯＰ３６の処理は、セキュリティ通信制御装置１からセキュア通信設定依頼を受信した場合の処理である。ＯＰ３３では、パケット操作部２２は、セキュア通信設定依頼に含まれる情報を、宛先判定テーブル２４に登録する。セキュア通信設定依頼には、宛先判定テーブル２４のエントリの項目である、セキュア通信ＩＤ、ＯｐｅｎＦｌｏｗスイッチ、送信元、転送先、確認位置、ダミーの値、動作種別が含まれている。
【０１４４】
ＯＰ３４では、パケット操作部２２は、セキュア通信設定依頼によって指定されるスイ
ッチ３に対して、セキュア通信設定依頼によって指定される送信元からのパケットについてＰａｃｋｅｔＩｎメッセージを送信することを指示する。第１実施形態では、ＯＰ３４では、ＦｌｏｗＭｏｄメッセージが用いられる。ＦｌｏｗＭｏｄメッセージには、フローエントリと該フローエントリの登録指示とが含まれる。フローエントリには、処理対象のパケットの条件としてセキュア通信設定依頼によって指定される送信元の通信端末４の識別情報と、条件に合致したパケットについての処理としてＰａｃｋｅｔＩｎメッセージの送信とが含まれる。
【０１４５】
ＯＰ３５では、パケット操作部２２は、ＯＰ３４において送信した指示に対する応答を、スイッチ３から受信する。
【０１４６】
ＯＰ３６では、パケット操作部２２は、セキュア通信設定依頼の応答として、セキュリティ通信制御装置１に、設定完了を通知する。その後、図１５Ａに示される処理が終了する。
【０１４７】
図１５ＢのＯＰ４１からＯＰ４５の処理は、コントローラ２がセキュリティ通信制御装置１からセキュア通信開放依頼を受信した場合の処理である。ＯＰ４１では、パケット操作部２２は、セキュア通信開放依頼に含まれるセキュア通信ＩＤをキーとして宛先判定テーブル２４を検索する。
【０１４８】
ＯＰ４２では、パケット操作部２２は、セキュア通信開放依頼に含まれるセキュア通信ＩＤに該当する宛先判定テーブル２４のエントリに含まれる各スイッチ３に対して、ＰａｃｋｅｔＩｎメッセージの送信処理の終了を指示する。第１実施形態では、ＯＰ３４で送信されたＦｌｏｗＭｏｄメッセージと同じ内容のフローエントリと、該フローエントリの削除指示とを含むＦｌｏｗＭｏｄメッセージが送信される。
【０１４９】
ＯＰ４３では、パケット操作部２２は、ＯＰ４２において送信した指示に対する応答を、スイッチ３から受信する。
【０１５０】
ＯＰ４４では、パケット操作部２２は、宛先判定テーブル２４から、セキュア通信開放依頼に含まれるセキュア通信ＩＤに合致するエントリをすべて削除する。
【０１５１】
ＯＰ４５では、パケット操作部２２は、セキュア通信開放依頼の応答として、セキュリティ通信制御装置１に、開放完了を通知する。その後、図１５Ｂに示される処理が終了する。
【０１５２】
図１６Ａ及び図１６Ｂは、スイッチ３からＰａｃｋｅｔＩｎメッセージを受信した場合の、コントローラ２のパケット操作部２２の処理のフローチャートの一例である。図１６Ａ及び図１６Ｂに示される処理は、コントローラ２がスイッチ３からのＰａｃｋｅｔＩｎメッセージを受信した場合に開始される。図１６Ａ及び図１６Ｂは、図１５Ａ及び図１５と同様に、機能構成であるパケット操作部２２を主体として説明される。
【０１５３】
ＯＰ５１では、パケット操作部２２は、スイッチ３からのＰａｃｋｅｔＩｎメッセージを受信する。
【０１５４】
ＯＰ５２では、パケット操作部２２は、ＰａｃｋｅｔＩｎメッセージの送信元であるスイッチ３の識別情報と、ＰａｃｋｅｔＩｎメッセージに含まれるパケットの送信元ＩＰアドレスとをキーに、宛先判定テーブル２４を検索する。
【０１５５】
ＯＰ５３では、パケット操作部２２は、ＯＰ５２において検出された宛先判定テーブル
２４のエントリの「動作種別」が「発側」であるか否かを判定する。「動作種別」が「発側」である場合には（ＯＰ５３：ＹＥＳ）、処理がＯＰ５４に進む。「動作種別」が「発側」でない場合には（ＯＰ５３：ＮＯ）、処理が図１６ＢのＯＰ６１に進む。
【０１５６】
ＯＰ５４からＯＰ５９の処理は、ＯＰ５２において検出された宛先判定テーブル２４のエントリの「動作種別」が「発側」である場合の処理である。この場合には、ＰａｃｋｅｔＩｎメッセージに含まれているパケットは、セキュリティ通信のフォーマットのパケットではなく、通常のフォーマットのパケットである。
【０１５７】
ＯＰ５４では、パケット操作部２２は、ＰａｃｋｅｔＩｎメッセージに含まれるパケットのヘッダ内の宛先アドレスのフィールドに格納されている宛先アドレスを一時保存する。
【０１５８】
ＯＰ５５では、パケット操作部２２は、ＰａｃｋｅｔＩｎメッセージに含まれるパケットのヘッダ内の宛先アドレスのフィールドの値を乱数で置き換える。
【０１５９】
ＯＰ５６では、パケット操作部２２は、置き換えられた宛先アドレスのフィールドの確認位置のビット列の値に相当するペイロード内の位置に、一時保存されている本来の宛先アドレスを挿入する。ヘッダ内の確認位置のビット列が示す値を、以降、ＤＡとする。すなわち、ＯＰ５６では、パケット操作部２２は、ペイロードの先頭からＤＡバイト目に、本来の宛先アドレスを挿入する。
【０１６０】
ＯＰ５７では、パケット操作部２２は、ＰａｃｋｅｔＩｎメッセージの送信元のスイッチ３から、ＰａｃｋｅｔＩｎメッセージに含まれるパケットのフローのパケットを所定数処理するごとに１つダミーパケットを生成する。ダミーパケットのヘッダ内の送信元アドレスは、ＰａｃｋｅｔＩｎメッセージに含まれるパケットのヘッダ内の送信元アドレスと同じである。ダミーパケットのヘッダ内の宛先アドレスは、乱数が格納される。
【０１６１】
ＯＰ５８では、パケット操作部２２は、ペイロード内のＤＡバイト目にダミーパケットであることを示す値を格納する。なお、ＯＰ５８においてＤＡは、ダミーパケットのヘッダ内の確認位置のビット列の値である。なお、ＯＰ５７、ＯＰ５８の処理は、ダミーパケットが生成されるタイミングで実行され、それ以外では、実行されない。
【０１６２】
ＯＰ５９では、パケット操作部２２は、ＯＰ５６の処理後のパケットを含み、転送先としてＯＰ５２において検出した宛先判定テーブル２４のエントリの「転送先」を指定するＰａｃｋｅｔＯｕｔメッセージを送信する。ＰａｃｋｅｔＯｕｔメッセージは、ＰａｃｋｅｔＩｎメッセージの送信元であるスイッチ３に送信される。ＯＰ５７、ＯＰ５８の処理が実行されている場合には、パケット操作部２２は、ダミーパケットについても同様の処理を行う。その後、図１６Ａに示される処理が終了する。
【０１６３】
図１６ＢのＯＰ６１からＯＰ６６の処理は、ＯＰ５２において検出された宛先判定テーブル２４のエントリの「動作種別」が「受側」、又は、「中継」である場合の処理である。この場合には、ＰａｃｋｅｔＩｎメッセージに含まれているパケットは、セキュリティ通信のフォーマットのパケットである。
【０１６４】
ＯＰ６１では、パケット操作部２２は、ＯＰ５２において検出された宛先判定テーブル２４のエントリの「動作種別」が「中継」であるか否かを判定する。「動作種別」が「中継」である場合には（ＯＰ６１：ＹＥＳ）、処理がＯＰ６２に進む。「動作種別」が「中継」でない、すなわち、「動作種別」が「受側」である場合には（ＯＰ６１：ＮＯ）、処理がＯＰ６３に進む。
【０１６５】
ＯＰ６２では、「動作種別」が「中継」であるので、パケット操作部２２は、宛先判定テーブル２４のエントリの「転送先」を転送先に指定するＰａｃｋｅｔＯｕｔメッセージをＰａｃｋｅｔＩｎメッセージの送信元のスイッチ３に送信する。その後、図１６Ｂに示される処理が終了する。
【０１６６】
ＯＰ６３からＯＰ６６の処理は、「動作種別」が「受側」である場合の処理である。ＯＰ６３では、パケット操作部２２は、ペイロードの先頭からＤＡバイト目の値が、ダミーパケットであることを示す値であるか否かを判定する。この場合のＤＡは、ＰａｃｋｅｔＩｎメッセージに含まれるパケットのヘッダ内の確認位置におけるビット列の値である。確認位置とダミーの値とは、ＯＰ５２において検出された宛先判定テーブル２４のエントリから取得される。
【０１６７】
ペイロードの先頭からＤＡバイト目の値が、ダミーパケットであることを示す値である場合には（ＯＰ６３：ＹＥＳ）、処理がＯＰ６６に進む。ＯＰ６６では、ＰａｃｋｅｔＩｎメッセージに含まれるパケットはダミーパケットであるので、パケット操作部２２は、該パケットを廃棄する。
【０１６８】
ペイロードの先頭からＤＡバイト目の値が、ダミーパケットであることを示す値でない場合には（ＯＰ６３：ＮＯ）、処理がＯＰ６４に進む。
【０１６９】
ＯＰ６４では、パケット操作部２２は、ペイロードの先頭からＤＡバイト目に格納されているアドレスでヘッダ内の宛先アドレスのフィールドを書換、ペイロードの先頭からＤＡバイト目に格納されているアドレスを削除する。
【０１７０】
ＯＰ６５では、パケット操作部２２は、宛先判定テーブル２４のエントリの「転送先」を転送先に指定するＰａｃｋｅｔＯｕｔメッセージをＰａｃｋｅｔＩｎメッセージの送信元のスイッチ３に送信する。ＰａｃｋｅｔＩｎメッセージには、ＯＰ６４において処理されたパケットが格納される。その後、図１６Ｂに示される処理が終了する。
【０１７１】
図１７は、スイッチ３の転送先設定部３３のコントローラ２からの通信を受信した場合の処理のフローチャートの一例である。図１７に示される処理は、スイッチ３がコントローラ２からの通信を受信した場合に開始される。図１７に示される例の処理の実行主体は、ＯｐｅｎＦｌｏｗスイッチ用プログラムを実行するスイッチ３のＣＰＵ  ３０１であるが、便宜上、機能構成の転送先設定部３３を主体として説明される。
【０１７２】
ＯＰ７１では、転送先設定部３３は、Ｃプレーン通信部３１を通じて、コントローラ２からの通信を受信する。
【０１７３】
ＯＰ７２では、転送先設定部３３は、コントローラ２からの通信の内容を解析する。コントローラ２からの通信の内容がＦｌｏｗＭｏｄメッセージである場合には（ＯＰ７２：ＦｌｏｗＭｏｄ）、処理がＯＰ７４に進む。コントローラ２からの通信の内容がＰａｃｋｅｔＯｕｔメッセージである場合には（ＯＰ７２：ＰａｃｋｅｔＯｕｔ）、処理がＯＰ７３に進む。
【０１７４】
ＯＰ７３では、転送先設定部３３は、ＰａｃｋｅｔＯｕｔメッセージで指定される転送先へＰａｃｋｅｔＯｕｔメッセージで指定されるパケットを出力するように、パケット転送部３４に指示する。パケット転送部３４は、ＰａｃｋｅｔＯｕｔメッセージで指定される転送先へＰａｃｋｅｔＯｕｔメッセージで指定されるパケットを転送する。その後、図１７に示される処理が終了する。
【０１７５】
ＯＰ７４では、転送先設定部３３は、ＦｌｏｗＭｏｄメッセージがフローエントリの登録指示を含むか否かを判定する。ＦｌｏｗＭｏｄメッセージがフローエントリの登録指示を含む場合には（ＯＰ７４：登録）、処理がＯＰ７５に進む。ＦｌｏｗＭｏｄメッセージがフローエントリの削除指示を含む場合には（ＯＰ７４：削除）、処理がＯＰ７７に進む。
【０１７６】
ＯＰ７５では、転送先設定部３３は、ＦｌｏｗＭｏｄメッセージに含まれるフローエントリをフローテーブルに登録する。ＯＰ７６では、転送先設定部３３は、Ｃプレーン通信部３１を通じて、コントローラ２に設定完了を通知する。その後、図１７に示される処理が終了する。
【０１７７】
ＯＰ７７では、転送先設定部３３は、ＦｌｏｗＭｏｄメッセージに含まれるフローエントリに合致するフローエントリをフローテーブルから削除する。ＯＰ７８では、転送先設定部３３は、Ｃプレーン通信部３１を通じて、コントローラ２に設定解除完了を通知する。その後、図１７に示される処理が終了する。
【０１７８】
図１８は、スイッチ３のパケット転送部３４の、データプレーンでパケットを受信した場合の処理のフローチャートの一例である。図１８に示される処理は、データプレーンでパケットを受信した場合に開始される。図１８の処理も、図１７と同様に、機能構成であるパケット転送部３４を主体として説明される。
【０１７９】
ＯＰ８１では、パケット転送部３４は、Ｄプレーン通信部３２を通じてパケットを受信する。ＯＰ８２では、パケット転送部３４は、受信パケットの送信元アドレスをキーに、パケット転送テーブル３５を検索する。
【０１８０】
ＯＰ８３では、パケット転送部３４は、パケット転送テーブル３５に、受信パケットの送信元アドレスに合致するエントリがあるか否かを判定する。パケット転送テーブル３５に、受信パケットの送信元アドレスに合致するエントリがある場合には（ＯＰ８３：ＹＥＳ）、処理がＯＰ８４に進む。パケット転送テーブル３５に、受信パケットの送信元アドレスに合致するエントリがない場合には（ＯＰ８３：ＮＯ）、処理がＯＰ８７に進む。
【０１８１】
ＯＰ８４では、パケット転送部３４は、パケット転送テーブル３５の受信パケットの送信元アドレスに合致するエントリがＰａｃｋｅｔＩｎメッセージの送信を指示するものであるか否かを判定する。パケット転送テーブル３５の受信パケットの送信元アドレスに合致するエントリがＰａｃｋｅｔＩｎメッセージの送信を指示するものである場合には（ＯＰ８４：ＹＥＳ）、処理がＯＰ８５に進む。パケット転送テーブル３５の受信パケットの送信元アドレスに合致するエントリがＰａｃｋｅｔＩｎメッセージの送信を指示するものでない場合には（ＯＰ８４：ＮＯ）、処理がＯＰ８６に進む。
【０１８２】
ＯＰ８５では、パケット転送部３４は、転送先設定部３３にＰａｃｋｅｔＩｎメッセージの送信を指示する。これによって、転送先設定部３３はＣプレーン通信部３１を通じて、コントローラ２にＰａｃｋｅｔＩｎメッセージを送信する。その後、図１８に示される処理が終了する。
【０１８３】
ＯＰ８６では、パケット転送部３４は、パケット転送テーブル３５の受信パケットの送信元アドレスに合致するエントリによって示される転送先に、パケットを転送する。その後、図１８に示される処理が終了する。
【０１８４】
ＯＰ８７では、パケット転送部３４は、受信パケットの宛先アドレス、送信元アドレス等と合致するフローエントリに従って、パケットを転送する。その後、図１８に示される
処理が終了する。
【０１８５】
図１９Ａは、送信元としての通信端末４の処理のフローチャートの一例である。図１９Ａに示される処理は、例えば、通信端末４のアプリケーションからセキュアな通信に対する要求が発生すると開始される。図１９Ａに示される処理の実行主体は、通信端末４のＣＰＵであるが、便宜上、ＣＰＵが外部記憶装置に記憶されるセキュア通信利用プログラムを実行することによって達成される機能構成である、パケット操作部４２、通信管理部４３を主体として説明される。
【０１８６】
ＯＰ９１では、通信管理部４３は、例えば、アプリケーションからのセキュアな通信に対する要求の発生を検出する。
【０１８７】
ＯＰ９２では、通信管理部４３は、通信部４１を通じて、セキュリティ通信制御装置１に対して、セキュア通信確立依頼を送信する。セキュア通信確立依頼には、送信元アドレスと宛先アドレスとが含まれる。なお、セキュア通信確立依頼に含まれる送信元アドレスは、自装置のアドレスである。
【０１８８】
ＯＰ９３では、通信管理部４３は、通信部４１を通じて、セキュリティ通信制御装置１から、セキュア通信設定依頼を受信する。セキュア通信設定依頼には、セキュア通信ＩＤ、送信元アドレス、宛先アドレス、確認位置、ダミーの値が含まれている。ＯＰ９４では、通信管理部４３は、セキュア通信設定依頼に含まれる情報を、セキュリティ通信管理テーブル４４に登録する。
【０１８９】
ＯＰ９５では、通信管理部４３は、通信部４１を通じて、セキュリティ通信制御装置１に、設定完了を通知する。
【０１９０】
ＯＰ９６では、パケット操作部４２は、セキュア通信送信処理を行う。セキュア通信送信処理は、パケットをセキュア通信のフォーマットに変換して送信する処理である。セキュア通信送信処理の詳細は後述される。セキュア通信のパケットの送信が終了すると、処理がＯＰ９７に進む。
【０１９１】
ＯＰ９７では、通信管理部４３は、通信部４１を通じて、セキュリティ通信制御装置１に対して、セキュア通信の終了通知を送信する。セキュア通信の終了通知には、終了したセキュア通信のセキュア通信ＩＤが含まれている。
【０１９２】
ＯＰ９８では、通信管理部４３は、通信部４１を通じて、セキュリティ通信制御装置１から、セキュア通信開放処理の終了通知を受信する。セキュア通信開放処理の終了通知には、セキュア通信ＩＤが含まれている。
【０１９３】
ＯＰ９９では、通信管理部４３は、セキュリティ通信管理テーブル４４の、セキュア通信開放処理の終了通知に含まれるセキュア通信ＩＤに該当するエントリを削除する。その後、図１９Ａに示される処理が終了する。
【０１９４】
図１９Ｂは、通信端末４のセキュリティ通信送信処理のフローチャートの一例である。ＯＰ１０１では、パケット操作部４２は、変数ｎを１に設定する。変数ｎは、ダミーパケットの生成及び送信のタイミングを計るために用いられる。変数ｎは、１からＮまでの値をとる。Ｎは、例えば、５である。Ｎの値は、例えば、通信システム１００の管理者によって決定されてもよいし、符号化のアルゴリズムに依存して決定されてもよい。
【０１９５】
ＯＰ１０２では、パケット操作部４２は、送信パケットのヘッダ内の宛先アドレスのフ
ィールドを、乱数で置き換える。
【０１９６】
ＯＰ１０３では、パケット操作部４２は、送信パケットのペイロードの先頭からＤＡバイト目に、本来の宛先アドレスを挿入する。ＯＰ１０３におけるＤＡは、ＯＰ１０２でヘッダ内の宛先アドレスのフィールドに置き換えられた乱数の、確認位置のビット列の値である。確認位置は、セキュリティ通信管理テーブル４４の該当エントリから取得される。
【０１９７】
ＯＰ１０４では、パケット操作部４２は、ＯＰ１０２、ＯＰ１０３の処理によってセキュア通信のフォーマットに変換されたパケットを、通信部４１を通じて送信する。
【０１９８】
ＯＰ１０５では、パケット操作部４２は、送信対象のパケットが終了したか否かを判定する。送信対象のパケットが終了した場合には（ＯＰ１０５：ＹＥＳ）、図１９Ｂに示される処理が終了し、処理が、図１９ＡのＯＰ９７に進む。送信対象のパケットが残っている場合には（ＯＰ１０５：ＮＯ）、処理がＯＰ１０６に進む。
【０１９９】
ＯＰ１０６では、パケット操作部４２は、変数ｎが最大値Ｎであるか否かを判定する。変数ｎが最大値Ｎである場合には（ＯＰ１０６：ＹＥＳ）、処理がＯＰ１０８に進む。変数ｎが最大値Ｎでない場合には（ＯＰ１０６：ＮＯ）、処理がＯＰ１０７に進む。
【０２００】
ＯＰ１０７では、変数ｎが最大値Ｎでないので、パケット操作部４２は、変数ｎを１加算した値に更新する。その後、処理がＯＰ１０２に進み、次の送信パケットについて処理が行われる。
【０２０１】
ＯＰ１０８では、変数ｎが最大値Ｎであり、ダミーパケットの生成及び送信のタイミングであるので、パケット操作部４２は、ダミーパケットを生成する。ダミーパケットのヘッダ内の宛先アドレスは乱数であり、送信元アドレスは自装置のアドレスである。
【０２０２】
ＯＰ１０９では、パケット操作部４２は、ダミーパケットのペイロードの先頭からＤＡバイト目に、ダミーパケットであることを示す値を挿入する。ダミーパケットであることを示す値は、セキュリティ通信管理テーブル４４の該当エントリから取得される。ＯＰ１０９におけるＤＡは、ダミーパケットのヘッダ内の宛先アドレスのフィールド内の乱数の、確認位置のビット列の値である。確認位置は、セキュリティ通信管理テーブル４４の該当エントリから取得される。
【０２０３】
ＯＰ１１０では、パケット操作部４２は、通信部４１を通じて、ダミーパケットを送信する。その後、処理がＯＰ１０１に進み、次のパケットについて処理が行われる。
【０２０４】
図２０は、宛先の通信端末４の、セキュリティ通信制御装置１からの通信を受信した場合の処理のフローチャートの一例である。図２０に示される処理は、通信端末４がセキュリティ通信制御装置１からの通信を受信すると開始される。図２０に示される処理の実行主体は、ＣＰＵであるが、便宜上、機能構成である通信管理部４３を主体として説明する。
【０２０５】
ＯＰ１１１では、通信管理部４３は、通信部４１を通じて、セキュリティ通信制御装置１からの通信を受信する。
【０２０６】
ＯＰ１１２では、通信管理部４３は、セキュリティ通信制御装置１からの通信内容を解析する。セキュリティ通信制御装置１からの通信内容が、自装置のアドレスを宛先アドレスとして含むセキュア通信設定依頼である場合には（ＯＰ１１２：設定依頼）、処理がＯＰ１１３に進む。セキュリティ通信制御装置１からの通信内容がセキュア通信開放依頼で
ある場合には（ＯＰ１１２：開放依頼）、処理がＯＰ１１５に進む。
【０２０７】
セキュリティ通信制御装置１からの通信内容が、自装置のアドレスを宛先アドレスとして含むセキュア通信設定依頼でもセキュア通信開放依頼でもない場合には（ＯＰ１１２:
その他）、図２０に示される処理が終了する。自装置のアドレスを宛先アドレスとして含むセキュア通信設定依頼でもセキュア通信開放依頼でもないセキュリティ通信制御装置１からの通信内容は、例えば、自装置のアドレスを送信元アドレスとして含むセキュア通信設定依頼である。
【０２０８】
ＯＰ１１３では、通信管理部４３は、セキュア通信設定依頼に含まれる情報を、セキュリティ通信管理テーブル４４に登録する。セキュア通信設定依頼には、セキュア通信ＩＤ、宛先アドレス、送信元アドレス、確認位置、ダミーの値が含まれている。
【０２０９】
ＯＰ１１４では、通信管理部４３は、通信部４１を通じて、セキュリティ通信制御装置１に、セキュア通信設定依頼の応答として、設定完了を通知する。その後、図２０に示される処理が終了する。
【０２１０】
ＯＰ１１５では、通信管理部４３は、セキュア通信開放依頼に含まれるセキュア通信ＩＤに合致するセキュリティ通信管理テーブル４４のエントリを削除する。ＯＰ１１６では、通信管理部４３は、セキュア通信開放依頼の応答として、通信部４１を通じて、セキュリティ通信制御装置１に、セキュア通信の開放処理の終了を通知する。その後、図２０に示される処理が終了する。
【０２１１】
図２１は、宛先の通信端末４の、送信元の通信端末４からの通信を受信した場合の処理のフローチャートの一例である。図２１に示される処理は、通信端末４が、パケットを受信し、受信パケットの送信元アドレスがセキュリティ通信管理テーブル４４に登録されている場合に開始される。図２１に示される処理の実行主体は、ＣＰＵであるが、便宜上、機能構成であるパケット操作部４２を主体として説明する。
【０２１２】
ＯＰ１２１では、パケット操作部４２は、通信部４１を通じて、送信元アドレスがセキュリティ通信管理テーブル４４に登録されているパケットを受信する。
【０２１３】
ＯＰ１２２では、パケット操作部４２は、受信パケットのペイロードの先頭からＤＡバイト目に格納されている値が、ダミーパケットであることを示す値であるか否かを判定する。ＯＰ１２２におけるＤＡは、受信パケットの送信元アドレスに合致するセキュリティ通信管理テーブル４４のエントリの「確認位置」の値である。また、ダミーパケットであることを示す値も、受信パケットの送信元アドレスに合致するセキュリティ通信管理テーブル４４のエントリの「ダミーの値」から取得される。
【０２１４】
受信パケットのペイロードの先頭からＤＡバイト目に格納されている値が、ダミーパケットであることを示す値である場合には（ＯＰ１２２：ＹＥＳ）、処理がＯＰ１２５に進む。受信パケットのペイロードの先頭からＤＡバイト目に格納されている値が、ダミーパケットであることを示す値でない場合には（ＯＰ１２２：ＮＯ）、処理がＯＰ１２３に進む。
【０２１５】
ＯＰ１２３では、パケット操作部４２は、受信パケットのペイロードの先頭からＤＡバイト目に格納されている値が自装置のアドレスであるか否かを判定する。ＯＰ１２３におけるＤＡは、ＯＰ１２２におけるＤＡと同じ値である。受信パケットのペイロードの先頭からＤＡバイト目に格納されている値が自装置のアドレスである場合には（ＯＰ１２３：ＹＥＳ）、処理がＯＰ１２４に進む。受信パケットのペイロードの先頭からＤＡバイト目
に格納されている値が自装置のアドレスでない場合には（ＯＰ１２３：ＮＯ）、処理がＯＰ１２５に進む。
【０２１６】
ＯＰ１２４では、パケット操作部４２は、受信パケットのペイロードの先頭からＤＡバイト目に格納されているアドレスを削除し、受信パケットのペイロードを取り込む、例えば、パケット操作部４２は、受信パケットのペイロードのデータを対象のアプリケーションに渡す。その後、図２１に示される処理が終了する。
【０２１７】
ＯＰ１２５では、受信パケットはダミーパケット、又は、他の装置宛ての通信のパケットであるので、パケット操作部４２は、受信パケットを廃棄する。その後、図２１に示される処理が終了する。
【０２１８】
なお、図１４Ａ〜図２１に示されるフローチャートは、いずれも、一例であって、実施の形態に応じて適宜、処理の順序等が変更されてもよい。
【０２１９】
＜具体例＞
図２２は、通信システム１００における、セキュア通信が開始される前の設定処理のシーケンスの一例を示す図である。図２２では、図１に示される通信システム１００を前提とする。
【０２２０】
Ｓ１では、送信元端末＃Ａにおいて、宛先端末＃Ｂへのセキュア通信の要求が発生し（図１９Ａ、ＯＰ９１）、送信元端末＃Ａは、セキュア通信確立依頼をセキュリティ通信制御装置１に送信する（図１９Ａ、ＯＰ９２）。セキュア通信確立依頼には、送信元端末＃Ａと宛先端末＃ＢとのＩＰアドレスが含まれている。
【０２２１】
Ｓ２では、セキュリティ通信制御装置１は、セキュア通信確立依頼を受信し（図１４Ａ、ＯＰ２：確立依頼）、送信元端末＃Ａと宛先端末＃Ｂとの間のセキュア通信ＩＤ、確認位置等を決定し、通信経路情報テーブル１４を更新する（図１４Ａ、ＯＰ３）。Ｓ２において更新された通信経路情報テーブル１４は、図７に示されるものであるとする。
【０２２２】
Ｓ３では、セキュリティ通信制御装置１は、コントローラ２に、セキュア通信設定依頼を送信する。図２２に示される例において、送信元端末＃Ａと宛先端末＃Ｂとの間の経路において、１番目に経由する装置は、スイッチ＃１である（図７参照）。スイッチ＃１の前後には外部ネットワークが存在せず（図１４Ａ、ＯＰ７：ＮＯ、図１４、ＯＰ１０：ＮＯ）、次段にスイッチ＃２が存在するので（図１４Ｂ、ＯＰ１１：ＹＥＳ）、セキュリティ通信制御装置１は、スイッチ＃１についての動作種別を「中継」と判定する（図１４Ｂ、ＯＰ１２）。したがって、Ｓ３において送信されるセキュア通信設定依頼には、セキュア通信ＩＤ「１」、スイッチの識別情報「１」、送信元「通信端末＃Ａ」、転送先「スイッチ＃２」、確認位置「宛先アドレスの１バイト目」、ダミーの値「０」、動作種別「中継」が含まれる。
【０２２３】
Ｓ４では、コントローラ２は、セキュリティ通信制御装置１からセキュア通信設定依頼を受信し（図１５Ａ、ＯＰ３１、ＯＰ３２：ＮＯ）、セキュア通信設定依頼に含まれる情報を、宛先判定テーブル２４に登録する（図１５Ａ、ＯＰ３３）。Ｓ４で登録される宛先判定テーブル２４のエントリは、図９の一行目のエントリである。
【０２２４】
Ｓ５では、コントローラ２は、スイッチ＃１に、ＰａｃｋｅｔＩｎ指示を含むＦｌｏｗＭｏｄメッセージを送信する（図１５Ａ、ＯＰ３４）。Ｓ５で送信されるＦｌｏｗＭｏｄメッセージには、通信端末＃Ａを送信元とするパケットを受信した場合に、ＰａｃｋｅｔＩｎメッセージを送信することを示すフローエントリが含まれている。
【０２２５】
Ｓ６では、スイッチ＃１は、ＦｌｏｗＭｏｄメッセージを受信し（図１７、ＯＰ７１、ＯＰ７２：ＦｌｏｗＭｏｄ）、ＦｌｏｗＭｏｄメッセージに含まれるフローエントリをフローテーブルに登録し（図１７、ＯＰ７４:登録、ＯＰ７５）、応答として設定完了をコ
ントローラ２に通知する（図１７、ＯＰ７６）。Ｓ６においてスイッチ＃１のフローテーブル（パケット転送テーブル３５）に登録されるエントリは、図１１に示されるパケット転送テーブル３５のエントリであるとする。
【０２２６】
Ｓ７では、コントローラ２は、スイッチ＃１から設定完了を受信し（図１５Ａ、ＯＰ３５）、セキュリティ通信制御装置１に設定完了を通知する（図１５Ａ、ＯＰ３６）。
【０２２７】
Ｓ８では、セキュリティ通信制御装置１は、コントローラ２に、セキュア通信設定依頼を送信する。図２２に示される例において、送信元端末＃Ａと宛先端末＃Ｂとの間の経路において、スイッチ＃１の次に経由する装置は、スイッチ＃２である（図７参照）。スイッチ＃２の前段には外部ネットワークが存在せず（図１４Ａ、ＯＰ７：ＮＯ）、次段に外部ネットワークであるセキュアネットワークが存在する（図１４Ｂ、ＯＰ１０：ＹＥＳ）。したがって、セキュリティ通信制御装置１は、スイッチ＃２についての動作種別を「受側」と判定する（図１４Ｂ、ＯＰ１５）。したがって、Ｓ８において送信されるセキュア通信設定依頼には、セキュア通信ＩＤ「１」、スイッチの識別情報「１」、送信元「通信端末＃Ａ」、転送先「外部ネットワーク」、確認位置「宛先アドレスの１バイト目」、ダミーの値「０」、動作種別「受側」が含まれる。
【０２２８】
Ｓ９では、コントローラ２は、セキュリティ通信制御装置１からセキュア通信設定依頼を受信し（図１５Ａ、ＯＰ３１、ＯＰ３２：ＮＯ）、セキュア通信設定依頼に含まれる情報を、宛先判定テーブル２４に登録する（図１５Ａ、ＯＰ３３）。Ｓ５で登録される宛先判定テーブル２４のエントリは、図９に示される宛先判定テーブル２４の二行目のエントリである。
【０２２９】
Ｓ１０では、コントローラ２は、スイッチ＃２に、ＰａｃｋｅｔＩｎ指示を含むＦｌｏｗＭｏｄメッセージを送信する（図１５Ａ、ＯＰ３４）。Ｓ１０で送信されるＦｌｏｗＭｏｄメッセージには、通信端末＃Ａを送信元とするパケットを受信した場合に、ＰａｃｋｅｔＩｎメッセージを送信することを示すフローエントリが含まれている。
【０２３０】
Ｓ１１では、スイッチ＃２は、ＦｌｏｗＭｏｄメッセージを受信し（図１７、ＯＰ７１、ＯＰ７２：ＦｌｏｗＭｏｄ）、ＦｌｏｗＭｏｄメッセージに含まれるフローエントリをフローテーブルに登録し（図１７、ＯＰ７４:登録、ＯＰ７５）、応答として設定完了を
コントローラに通知する（図１７、ＯＰ７６）。Ｓ１１においてスイッチ＃２のフローテーブル（パケット転送テーブル３５）に登録されるエントリは、図１１に示されるパケット転送テーブル３５のエントリであるとする。
【０２３１】
Ｓ１２では、コントローラ２は、スイッチ＃２から設定完了を受信し（図１５Ａ、ＯＰ３５）、セキュリティ通信制御装置１に設定完了を通知する（図１５Ａ、ＯＰ３６）。
【０２３２】
Ｓ１３では、セキュリティ通信制御装置１は、コントローラ２に、セキュア通信設定依頼を送信する。図２２に示される例において、送信元端末＃Ａと宛先端末＃Ｂとの間の経路において、セキュアネットワークの次に経由する装置は、スイッチ＃３である（図７参照）。スイッチ＃３の前段には外部ネットワークが存在するので（図１４Ａ、ＯＰ７：ＹＥＳ）、セキュリティ通信制御装置１は、スイッチ＃３についての動作種別を「発側」と判定する（図１４Ａ、ＯＰ８）。したがって、Ｓ１３において送信されるセキュア通信設定依頼には、セキュア通信ＩＤ「１」、スイッチの識別情報「３」、送信元「通信端末＃Ａ」、転送先「通信端末＃Ｂ」、確認位置「宛先アドレスの１バイト目」、ダミーの値「０」、動作種別「発側」が含まれる。
【０２３３】
Ｓ１４では、コントローラ２は、セキュリティ通信制御装置１からセキュア通信設定依頼を受信し（図１５Ａ、ＯＰ３１、ＯＰ３２：ＮＯ）、セキュア通信設定依頼に含まれる情報を、宛先判定テーブル２４に登録する（図１５Ａ、ＯＰ３３）。Ｓ１４で登録される宛先判定テーブル２４のエントリは、図９に示される宛先判定テーブル２４の三行目のエントリである。
【０２３４】
Ｓ１５では、コントローラ２は、スイッチ＃３に、ＰａｃｋｅｔＩｎ指示を含むＦｌｏｗＭｏｄメッセージを送信する（図１５Ａ、ＯＰ３４）。Ｓ１５で送信されるＦｌｏｗＭｏｄメッセージには、通信端末＃Ａを送信元とするパケットを受信した場合に、ＰａｃｋｅｔＩｎメッセージを送信することを示すフローエントリが含まれている。
【０２３５】
Ｓ１６では、スイッチ＃３は、ＦｌｏｗＭｏｄメッセージを受信し（図１７、ＯＰ７１、ＯＰ７２：ＦｌｏｗＭｏｄ）、ＦｌｏｗＭｏｄメッセージに含まれるフローエントリをフローテーブルに登録し（図１７、ＯＰ７４:登録、ＯＰ７５）、応答として設定完了を
コントローラ２に通知する（図１７、ＯＰ７６）。Ｓ１６においてスイッチ＃３のフローテーブル（パケット転送テーブル３５）に登録されるエントリは、図１１に示されるパケット転送テーブル３５のエントリであるとする。
【０２３６】
Ｓ１７では、コントローラ２は、スイッチ＃３から設定完了を受信し（図１５Ａ、ＯＰ３５）、セキュリティ通信制御装置１に設定完了を通知する（図１５Ａ、ＯＰ３６）。
【０２３７】
Ｓ１８では、セキュリティ通信制御装置１は、コントローラ２からの設定完了を受信し（図１４Ａ、ＯＰ９）、宛先端末＃Ｂにセキュア通信設定依頼を送信する（図１４Ｃ、ＯＰ１７）。送信元端末＃Ａと宛先端末＃Ｂとの間の経路において、スイッチ＃３の次は宛先端末＃Ｂであるからである（図１４Ｃ、ＯＰ１６：ＹＥＳ）。Ｓ１８において送信されるセキュア通信設定依頼には、セキュア通信ＩＤ「１」、送信元「通信端末＃Ａ」、宛先「通信端末＃Ｂ」、確認位置「宛先アドレスの１バイト目」、ダミーの値「０」が含まれる。
【０２３８】
Ｓ１９では、宛先端末＃Ｂは、セキュリティ通信制御装置１からセキュア通信設定依頼を受信し（図２０、ＯＰ１１１、ＯＰ１１２:設定依頼）、セキュア通信設定依頼に含ま
れる情報をセキュリティ通信管理テーブル４４に登録する（図２０、ＯＰ１１３）。Ｓ２０では、宛先端末＃Ｂは、セキュリティ通信制御装置１に設定完了を通知する（図２０、ＯＰ１１４）。
【０２３９】
Ｓ２１では、セキュリティ通信制御装置１は、宛先端末＃Ｂから設定完了を受信し（図１４Ｃ、ＯＰ１８）、送信元端末＃Ａに対して、セキュア通信設定依頼を送信する（図１４Ｃ、ＯＰ１９）。送信元端末＃Ａに対して送信されるセキュア通信設定依頼は、Ｓ１８において宛先端末＃Ｂに送信されるものと同じ情報を含む。
【０２４０】
Ｓ２２では、送信元端末＃Ａは、セキュリティ通信制御装置１からセキュア通信設定依頼を受信し（図１９Ａ、ＯＰ９３）、セキュア通信設定依頼の情報をセキュリティ通信管理テーブル４４に登録し（図１９Ａ、ＯＰ９４）、セキュリティ通信制御装置１に設定完了を送信する（図１９Ａ、ＯＰ９５）。以上で、セキュア通信の設定が完了し、送信元端末＃Ａからのセキュア通信のパケットの送信が開始される。
【０２４１】
図２３は、通信システム１００における、セキュア通信の転送処理のシーケンスの一例
を示す図である。図２３では、引き続き、図１に示される通信システム１００を前提とし、且つ、図２２のセキュア通信の設定処理が終了している状態であるとする。図２３では、コントロールプレーンの通信は点線で、データプレーンの通信は実線で示されている。
【０２４２】
Ｓ３１では、送信元端末＃Ａは、セキュア通信のフォーマットのパケットを送信する。送信元端末＃Ａから送信されたパケットは、スイッチ＃１に届く。
【０２４３】
Ｓ３２では、スイッチ＃１は、パケットを受信し（図１８、ＯＰ８１）、パケット転送テーブル３５（フローテーブル、図１１参照）にしたがって、送信元端末＃Ａからのパケットについて、コントローラ２にＰａｃｋｅｔＩｎメッセージを送信する（図１８、ＯＰ８５）。
【０２４４】
Ｓ３３では、コントローラ２は、スイッチ＃１からＰａｃｋｅｔＩｎメッセージを受信し（図１６Ａ、ＯＰ５１）、スイッチ＃１にＰａｃｋｅｔＯｕｔメッセージを送信する。コントローラ２における宛先判定テーブル２４のスイッチ＃１に該当するエントリでは、「動作種別」が「中継」である（図１６Ｂ、ＯＰ６１：ＹＥＳ）。したがって、Ｓ３３で送信されるＰａｃｋｅｔＯｕｔメッセージには、パケットの転送先としてスイッチ＃２が指定されている（図１６Ｂ、ＯＰ６２）。
【０２４５】
Ｓ３４では、スイッチ＃１は、ＰａｃｋｅｔＯｕｔメッセージに指定された転送先であるスイッチ＃２にパケットを転送する。
【０２４６】
Ｓ３５では、スイッチ＃２は、パケットを受信し（図１８、ＯＰ８１）、パケット転送テーブル３５（フローテーブル、図１１参照）にしたがって、送信元端末＃Ａからのパケットについて、コントローラ２にＰａｃｋｅｔＩｎメッセージを送信する（図１８、ＯＰ８５）。
【０２４７】
Ｓ３６では、コントローラ２は、スイッチ＃２からＰａｃｋｅｔＩｎメッセージを受信し（図１６Ａ、ＯＰ５１）、ＰａｃｋｅｔＩｎメッセージに含まれるパケットを、通常のフォーマットのパケットに変換する（図１６Ｂ、ＯＰ６４）。コントローラ２における宛先判定テーブル２４のスイッチ＃２に該当するエントリでは、「動作種別」が「受側」であるためである（図１６Ｂ、ＯＰ６１：ＮＯ）。なお、受信パケットがダミーパケットである場合には、コントローラ２は、パケットを廃棄する。
【０２４８】
Ｓ３７では、コントローラ２は、スイッチ＃２にＰａｃｋｅｔＯｕｔメッセージを送信する。Ｓ３７で送信されるＰａｃｋｅｔＯｕｔメッセージには、パケットの転送先として宛先端末＃Ｂと、セキュア通信のフォーマットから通常のフォーマットに変換されたパケットとが含まれている（図１６Ｂ、ＯＰ６５）。
【０２４９】
Ｓ３８では、スイッチ＃２は、ＰａｃｋｅｔＯｕｔメッセージに指定された転送先である宛先端末＃Ｂに宛ててパケットを転送する。パケットは、セキュアネットワーク（図２２では図示せず）を経由して、スイッチ＃３に届く。
【０２５０】
Ｓ３９では、スイッチ＃３は、パケットを受信し（図１８、ＯＰ８１）、パケット転送テーブル３５（フローテーブル、図１１参照）にしたがって、送信元端末＃Ａからのパケットについて、コントローラ２にＰａｃｋｅｔＩｎメッセージを送信する（図１８、ＯＰ８５）。
【０２５１】
Ｓ４０では、コントローラ２は、スイッチ＃３からＰａｃｋｅｔＩｎメッセージを受信し（図１６Ａ、ＯＰ５１）、通常のフォーマットのパケットをセキュア通信のフォーマッ
トのパケットに変換する（図１６Ａ、ＯＰ５４〜ＯＰ５６）。コントローラ２における宛先判定テーブル２４のスイッチ＃３に該当するエントリでは、「動作種別」が「発側」であるからである（図１６Ａ、ＯＰ５３：ＹＥＳ）。
【０２５２】
Ｓ４１では、コントローラ２は、スイッチ＃３にＰａｃｋｅｔＯｕｔメッセージを送信する。Ｓ４１で送信されるＰａｃｋｅｔＯｕｔメッセージには、パケットの転送先として宛先端末＃Ｂと、セキュア通信のフォーマットに変換されたパケットが含まれている（図１６Ａ、ＯＰ５９）。
【０２５３】
Ｓ４２では、スイッチ＃３は、ＰａｃｋｅｔＯｕｔメッセージに指定された転送先である宛先端末＃Ｂにパケットを転送する。これによって、宛先端末＃Ｂに送信元端末＃Ａから送信されたセキュア通信のパケットが届く。
【０２５４】
図２４は、通信システム１００における、セキュア通信の開放処理のシーケンスの一例を示す図である。図２４では、引き続き、図１に示される通信システム１００を前提とし、且つ、図２３のセキュア通信の転送処理が行われている状態であるとする。
【０２５５】
Ｓ５１では、宛先端末＃Ｂとのセキュア通信のデータ送信が終了し、送信元端末＃Ａは、セキュア通信の終了通知をセキュリティ通信制御装置１に送信する（図１９Ａ、ＯＰ９７）。セキュア通信の終了通知には、セキュア通信ＩＤ「１」が含まれている。
【０２５６】
Ｓ５２では、セキュリティ通信制御装置１は、送信元端末＃Ａからセキュア通信の終了通知を受信し（図１４Ａ、ＯＰ１、ＯＰ２:終了通知）、コントローラ２にセキュア通信
開放依頼を送信する（図１４Ｄ、ＯＰ２１〜ＯＰ２３）。セキュア通信開放依頼には、開放対象であるセキュア通信ＩＤ「１」が含まれている。
【０２５７】
Ｓ５３では、コントローラ２は、セキュア通信開放依頼を受信し（図１５Ａ、ＯＰ３１、ＯＰ３２：ＹＥＳ）、セキュア通信ＩＤ「１」をキーに宛先判定テーブル２４を検索する。
【０２５８】
Ｓ５４では、コントローラ２は、宛先判定テーブル２４から検出されたスイッチ＃１〜＃３に、ＰａｃｋｅｔＩｎメッセージの送信の指示の削除を通知する（図１５Ｂ、ＯＰ４１、ＯＰ４２）。この通知は、ＦｌｏｗＭｏｄメッセージによって通知される。Ｓ５３で送信されるＦｌｏｗＭｏｄメッセージには、フローエントリの削除指示と、削除対象であるフローエントリが含まれている。
【０２５９】
Ｓ５５では、スイッチ＃１〜＃３は、コントローラ２からのＦｌｏｗＭｏｄメッセージを受信し（図１７、ＯＰ７１、ＯＰ７２：ＦｌｏｗＭｏｄ）、合致するエントリをフローテーブルから削除し（図１７、ＯＰ７３：削除、ＯＰ７７）、設定解除完了をコントローラ２に通知する（図１７、ＯＰ７８）。Ｓ５５で削除されるフローテーブルのエントリは、ＦｌｏｗＭｏｄメッセージに含まれるフローエントリと合致するものであって、図２２のＳ６、Ｓ１１、Ｓ１６において登録されたものである。
【０２６０】
Ｓ５６では、コントローラ２は、スイッチ＃１〜＃３から設定解除完了を受信し（図１５Ｂ、ＯＰ４３）、Ｓ５３で検出された宛先判定テーブル２４のエントリを削除する。（図１５Ｂ、ＯＰ４４）Ｓ５７では、コントローラ２は、セキュリティ通信制御装置１にセキュア通信経路の開放完了を通知する（図１５Ｂ、ＯＰ４５）。
【０２６１】
Ｓ５８では、セキュリティ通信制御装置１は、コントローラ２からセキュア通信の開放完了を受信し（図１４Ｄ、ＯＰ２４）、宛先端末＃Ｂにセキュア通信開放依頼を送信する。Ｓ５７において送信されるセキュア通信開放依頼には、開放対象のセキュア通信ＩＤ「１」が含まれている。
【０２６２】
Ｓ５９では、宛先端末＃Ｂは、セキュア通信開放依頼を受信し（図２０、ＯＰ１１１、ＯＰ１１２:開放依頼）、セキュリティ通信管理テーブル４４のセキュア通信開放依頼に
含まれるセキュア通信ＩＤ「１」に合致するエントリを削除する（図２０、ＯＰ１１５）。Ｓ６０では、宛先端末＃Ｂは、セキュリティ通信制御装置１に、開放処理の終了を通知する（図２０、ＯＰ１１６）。
【０２６３】
Ｓ６０では、セキュリティ通信制御装置１は、宛先端末＃Ｂから開放処理の終了通知を受信し（図１４Ｄ、ＯＰ２６）、通信経路情報テーブル１４のセキュア通信ＩＤ「１」のエントリから、セキュア通信ＩＤ、確認位置、ダミーの値等を削除する（図１４Ｄ、ＯＰ２７）。Ｓ６１では、セキュリティ通信制御装置１は、送信元端末＃Ａに、セキュア通信経路の開放処理の終了を通知する（図１４Ｄ、ＯＰ２８）。
【０２６４】
Ｓ６２では、送信元端末＃Ａは、セキュア通信経路の開放処理の終了通知を受信し（図１９Ａ、ＯＰ９８）、セキュリティ通信管理テーブル４４のセキュア通信ＩＤ「１」のエントリを削除する（図１９Ａ、ＯＰ９９）。
【０２６５】
＜第１実施形態の作用効果＞
第１実施形態では、セキュア通信のパケットは、本来の宛先アドレスがペイロード内に挿入され、ヘッダ内の宛先アドレスのフィールドには、乱数が格納されて、生成され、送信される。フローの識別に用いられるヘッダ内の宛先アドレスのフィールドの値が、同一フローのパケット間でばらばらの値になるため、経路上で第３者にセキュア通信のパケットが抜き取られたとしても、第３者が同一フローのパケットを収集することができない。したがって、第１実施形態では、第３者によるフローの特定を困難にすることができる。
【０２６６】
第１実施形態では、ヘッダ内の宛先アドレスフィールドに格納される乱数は、パケットごとに算出される。したがって、ヘッダ内の宛先アドレスのフィールドの値がパケットごとに異なり、フローの特定をより困難にしている。
【０２６７】
第１実施形態では、セキュア通信のパケットのヘッダ内の確認位置が、ペイロード内の本来の宛先アドレスの格納位置を示す。ヘッダ内の宛先アドレスフィールドには、パケットごとに算出される乱数が格納されるので、ペイロード内の本来の宛先アドレスの格納位置もパケットごとに異なる。すなわち、本来の宛先アドレスのペイロード内の格納位置が一様でないため、よりフローの特定をより困難にし、セキュリティが高まる。
【０２６８】
第１実施形態では、セキュア通信ごと、すなわち、フロー毎に、セキュア通信のパケットのヘッダ内の確認位置が決定される。これによって、セキュア通信のパケットのヘッダ内の確認位置は、通信システム１００内のフロー間で一様でないため、セキュア通信のフローの特定をより困難にし、セキュリティが高まる。
【０２６９】
第１実施形態では、送信元の通信端末４は、セキュア通信において、所定の割合でダミーパケットを送信する。また、ダミーパケットであることを示す値も、ヘッダ内の確認位置のビット列が示す値に相当するペイロード内の位置に格納される。したがって、第３者からダミーパケットであることを特定されることを困難にし、よりセキュア通信のセキュリティを高めることができる。
【０２７０】
また、第１実施形態では、セキュリティ通信制御装置１が、送信元の通信端末４からセキュア通信確立依頼を受信した場合に、コントローラ２にセキュア通信設定依頼を送信す
る。コントローラ２は、各スイッチに、セキュア通信のパケットを受信した場合に、コントローラ２にＰａｃｋｅｔＩｎメッセージを送信するように指示する。コントローラ２は、ＰａｃｋｅｔＩｎメッセージでセキュア通信のパケットを受信した場合には、ペイロード内の本来の宛先アドレスに基づいて、該パケットの転送先を決定する。したがって、セキュリティ通信制御装置１によるセキュア通信設定依頼の送信によって、通信システム１００内のスイッチ３によって、セキュア通信のパケットが本来の宛先に転送されるようにすることができる。
【０２７１】
セキュリティ通信制御装置１からコントローラ２、送信元の通信端末４、及び宛先の通信端末４に通知されるセキュア通信設定依頼には、ヘッダ内の確認位置の情報が含まれる。これによって、送信元の通信端末４はセキュア通信のパケットを送信することができる。コントローラ２は、セキュア通信のパケットの本来の宛先アドレスをペイロードから取得することができ、転送先を決定することができる。すなわち、セキュリティ通信制御装置１から送信されるセキュア通信設定依頼によって、通信システム１００において、送信元の通信端末４と宛先の通信端末４との間でセキュア通信を行うことを可能とする。
【０２７２】
セキュリティ通信制御装置１は、送信元の通信端末４と宛先の通信端末４との間の経路上の、各スイッチ３の「動作種別」を、「受側」、「発側」、「中継」
のうちのいずれかに判定し、セキュア通信設定依頼に含めて、コントローラ２に通知する。コントローラ２は、ＰａｃｋｅｔＩｎメッセージの送信元のスイッチ３の「動作種別」に応じて、ＰａｃｋｅｔＩｎメッセージに含まれるセキュア通信のパケットの処理を行う。
【０２７３】
「動作種別」が「発側」である場合には、コントローラ２は、通常のパケットをセキュア通信のパケットのフォーマットに変換し、ＰａｃｋｅｔＩｎメッセージの送信元のスイッチ３に変換後のパケットを送信する。「動作種別」が「受側」である場合には、コントローラ２は、セキュア通信のパケットを通常のパケットのフォーマットに変換し、ＰａｃｋｅｔＩｎメッセージの送信元のスイッチ３に変換後のパケットを送信する。これによって、送信元の通信端末４と宛先の通信端末４との経路上に、外部のネットワークが存在している場合でも、セキュア通信を行うことができる。
【０２７４】
また、「動作種別」が「発側」である場合には、コントローラ２は、所定の割合でダミーパケットを生成して、ＰａｃｋｅｔＩｎメッセージの送信元のスイッチ３に転送させる。「動作種別」が「受側」である場合には、コントローラ２は、セキュア通信のパケットがダミーパケットである場合には、ダミーパケットを廃棄する。これによって、送信元の通信端末４と宛先の通信端末４との経路上に、外部のネットワークが存在している場合には、ダミーパケットを外部ネットワークに流さずに済む。また、外部ネットワークを経由した場合に、再度ダミーパケットをセキュア通信に含めることができる。
【０２７５】
セキュリティ通信制御装置１がコントローラ２に対してセキュア通信設定依頼を送信することで、ＳＤＮのような、スイッチ３を一元管理するシステムにおいて、セキュア通信を行うことができる。
【０２７６】
＜変形例１＞
第１実施形態では、セキュア通信のパケットは、本来の宛先アドレスがペイロード内に挿入され、ヘッダ内の宛先アドレスフィールドに乱数が格納される。宛先アドレスに代えて、セキュア通信のパケットの本来の送信元アドレスがペイロード内に挿入され、ヘッダ内の送信元アドレスのフィールドに乱数が格納されるようにしてもよい。
【０２７７】
変形例１の場合には、パケットの宛先アドレスは本来の宛先アドレスのままであり、ス
イッチ３及びセキュアネットワーク内の中継装置の通常の宛先アドレスに従った転送処理によって、パケットは宛先の通信端末４まで届けられる。そのため、変形例１では、セキュリティ通信制御装置１は、コントローラ２にセキュア通信設定依頼を送信しなくてもよい。また、変形例１では、コントローラ２は、宛先判定テーブル２４を備えなくてもよい。
【０２７８】
また、変形例１の場合には、セキュリティ通信制御装置１の通信経路情報テーブル１４のエントリは、セキュア通信ＩＤ、送信元、宛先、確認位置、ダミーの値の項目を含めばよい。ただし、確認位置は、送信元アドレスのフィールド内の確認位置を示すこととなる。
【０２７９】
変形例１の場合には、セキュリティ通信制御装置１は、送信元の通信端末４からセキュア通信確立依頼を受信すると、セキュア通信ＩＤ、確認位置を決定し、送信元及び宛先の通信端末４に、セキュア通信設定依頼を送信する。
【０２８０】
送信元の通信端末４は、パケットのヘッダ内の送信元アドレスのフィールドに乱数を格納する。また、送信元の通信端末４は、ヘッダ内の送信元アドレスのフィールド内の確認位置のビット列が示す値に相当するペイロード内の位置に本来の送信元アドレス（自装置のアドレス）を格納して、該パケットを送信する。
【０２８１】
宛先の通信端末４は、受信パケットのヘッダ内の送信元アドレスのフィールドの確認位置のビット列が示すペイロードの位置に、セキュリティ通信管理テーブル４４に登録されている送信元アドレスが格納されているか否かを判定する。ペイロードの該位置に、セキュリティ通信管理テーブル４４に登録されている送信元アドレスが格納されている場合には、宛先の通信端末４は、受信パケットのデータを取り込む。ペイロードの該位置に、セキュリティ通信管理テーブル４４に登録されている送信元アドレスが格納されていない場合には、宛先の通信端末４は、受信パケットを廃棄する。
【０２８２】
なお、変形例１においても、所定の割合でダミーパケットが生成及び送信される。
【０２８３】
ただし、セキュア通信に対して中継装置によってフロー制御が行われる場合には、第１実施形態と同様に、セキュリティ通信制御装置１は、コントローラ２にセキュア通信設定依頼を送信し、コントローラ２は、宛先判定テーブル２４を備える。セキュリティ通信制御装置１の通信経路情報テーブル１４は、第１実施形態と同様のデータ構造となる。
【０２８４】
この場合には、セキュリティ通信制御装置１、コントローラ２、スイッチ３は、「宛先アドレス」を「送信元アドレス」に置き換えて、第１実施形態と同様の処理を行う。すなわち、スイッチ３は、宛先アドレスがパケット転送テーブル３５に登録されているアドレスであるパケットを受信した場合に、コントローラ２にＰａｃｋｅｔＩｎメッセージを送信する。コントローラ２は、ＰａｃｋｅｔＩｎメッセージを受信すると、宛先判定テーブル２４に従って、処理を行い、ＰａｃｋｅｔＯｕｔメッセージをスイッチ３に送信する。
【０２８５】
変形例１によれば、ヘッダ内の送信元アドレスに乱数が格納されるので、第３者によるフローの特定を困難にすることができる。変形例１におけるヘッダ内の送信元アドレスのフィールドは、「第１のフィールド」の一例である。変形例１における本来の送信元アドレスは、「第１の情報」の一例である。変形例１におけるヘッダ内の送信元アドレスのフィールドに本来の送信元アドレスの代わりに格納される値は、「第２の情報」の一例である。
【０２８６】
＜変形例２＞
送信元の通信端末４と宛先の通信端末４の間の経路上で、或る２装置間は、宛先アドレスが乱数に置き換えられ、別の或る２装置間は送信元アドレスが乱数に置き換えられるようにしてもよい。例えば、通信システム１００において、送信元端末＃Ａからスイッチ＃２までの間は、宛先アドレスが乱数に置き換えられ、スイッチ＃３から宛先端末＃Ｂまでの間は送信元アドレスが乱数に置き換えられるようにしてもよい。
【０２８７】
変形例２では、セキュリティ通信制御装置１の通信経路情報テーブル１４のエントリは、宛先アドレスが乱数に置き換えられる区間と、送信元アドレスが乱数に置き換えられる区間とで、分けられる。宛先アドレスが乱数に置き換えられる区間のエントリの「確認位置」には、宛先アドレスのフィールド内の確認位置の情報が格納される。送信元アドレスが乱数に置き換えられる区間のエントリの「確認位置」には、送信元アドレスのフィールド内の確認位置の情報が格納される。変形例２では、セキュリティ通信制御装置１は、上述の通信経路情報テーブル１４に基づいて、第１実施形態と同様の処理を行えばよい。
【０２８８】
コントローラ２は、宛先アドレスが乱数に置き換えられる区間のスイッチ３に対しては、送信元アドレスが指定のアドレスである場合にＰａｃｋｅｔＩｎメッセージを送信するように指示する。送信元アドレスが乱数に置き換えられる区間のスイッチ３に対しては、コントローラ２は、宛先アドレスが指定のアドレスである場合にＰａｃｋｅｔＩｎメッセージを送信するように指示する。
【０２８９】
送信元及び宛先の通信端末４は、セキュア通信設定依頼に含まれる確認位置が宛先アドレス内の位置である場合には、第１実施形態と同様の処理を行う。送信元及び宛先の通信端末４は、セキュア通信設定依頼に含まれる確認位置が送信元アドレス内の位置である場合には、変形例１と同様の処理を行う。
【０２９０】
変形例２では、送信元と宛先との間の経路上で、宛先アドレスが乱数に置き換えられる区間と、送信元アドレスが乱数に置き換えられる区間とが混在する。これによって、よりフローの特定を困難にすることができ、セキュリティを高めることができる。
【０２９１】
＜変形例３＞
変形例３では、本来の宛先アドレスと送信元アドレスの双方がペイロードの所定位置に格納され、ヘッダ内の宛先アドレスと送信元アドレスとのフィールドには、乱数が格納される。変形例３では、例えば、セキュア通信のパケットであることを明示するために、ＩＰヘッダに、セキュア通信であることを示すフラグが格納される。
【０２９２】
送信元の通信端末４は、セキュア通信のパケットのヘッダに、セキュア通信であることを示すフラグを立てて、ヘッダ内の宛先アドレスと送信元アドレスとを乱数で置き換える。送信元の通信端末４は、ヘッダ内の宛先アドレスの確認位置のビット列が示す値に相当するペイロード内の位置に、本来の宛先アドレスを挿入する。同様に、送信元の通信端末４は、ヘッダ内の送信元アドレスの確認位置のビット列が示す値に相当するペイロード内の位置に、本来の送信元アドレスを挿入する。
【０２９３】
宛先の通信端末４は、受信パケットのヘッダ内のセキュア通信であることを示すフラグが立っている場合には、ペイロード内から本来の宛先アドレスと送信元アドレスとを取得し、データを取り込む。具体的には、宛先の通信端末４は、ヘッダ内の宛先アドレス及び送信元アドレスのフィールドの確認位置のビット列が示す値に相当するそれぞれのペイロードの位置から宛先アドレス及び送信元アドレスを取得し、ペイロードから削除する。
【０２９４】
コントローラ２及びスイッチ３は第１実施形態と同様の処理を行う。又は、コントローラ２及びスイッチ３は、受信パケットのヘッダ内のセキュア通信であることを示すフラグに基づいてセキュア通信のパケットを検出し、第１実施形態及び変形例１の処理を行ってもよい。
【０２９５】
変形例３によれば、ヘッダ内の本来の宛先アドレスと送信元アドレスとが乱数に置き換えられるので、よりセキュリティを高めることができる。変形例３における送信元アドレスと宛先アドレスとのフィールドは、「第１のフィールド」の一例である。変形例３における送信元アドレスと宛先アドレスとは、「第１の情報」の一例である。変形例３におけるヘッダ内の送信元アドレス及び宛先アドレスのフィールドに、本来の送信元アドレス及び宛先アドレスの代わりに格納される値は、「第２の情報」の一例である。
【０２９６】
＜その他＞
なお、第１実施形態及び変形例１〜３では、セキュリティ通信制御装置１とコントローラ２とは別の装置として説明されたが、これに限定されない。セキュリティ通信制御装置１とコントローラ２とは、同じ装置上で実装されてもよい。
【０２９７】
また、第１実施形態及び変形例１〜３では、通信ネットワーク１００はＳＤＮネットワークであることを前提として説明されたが、通信ネットワーク１００は、ＳＤＮネットワークに限定されない。通信ネットワーク１００は、ルータやレイヤ３スイッチ等で形成されるネットワークであってもよい。
【０２９８】
通信ネットワーク１００がルータやレイヤ３スイッチ等で形成されるネットワークである場合には、通信ネットワーク１００には、コントローラ２は存在しなくてもよい。セキュリティ通信制御装置１は、ルータやレイヤ３スイッチにセキュア通信設定依頼を送信する。ルータやレイヤ３スイッチは、コントローラ２の宛先判定テーブル２４を有し、宛先判定テーブル２４に基づいて、第１実施形態でコントローラ２がＰａｃｋｅｔＩｎメッセージに含まれるパケットに対して行う処理と同様の処理を行う。
【０２９９】
また、第１実施形態及び変形例１〜３では、ヘッダ内の宛先又は／及び送信元アドレスのフィールドの確認位置を、セキュリティ通信制御装置１がセキュリティ通信ごとに、決定するが、これに代えて、送信元の通信端末４が、確認位置を決定してもよい。
【０３００】
また、第１実施形態及び変形例１〜３では、ヘッダ内の宛先アドレス又は／及び送信元アドレスが乱数に置き換えられるが、ヘッダ内のフロー識別情報として用いられる他の情報が乱数に置き換えられてもよい。ヘッダ内のフロー識別情報として用いられる他の情報には、例えば、ＴＣＰ／ＵＤＰのポート番号、プロトコル番号等がある。この場合には、乱数に置き換えられるヘッダ内の情報が、「第１の情報」の一例となる。
【０３０１】
また、第１実施形態及び変形例１〜３では、ダミーパケットであることを示す値は、ペイロード内に格納される。これに代えて、ダミーパケットであることを示す値は、ヘッダ内の宛先アドレスや送信元アドレスのフィールド等の、乱数に置き換えられるフィールドに格納されてもよい。
【０３０２】
第１実施形態では、送信元端末＃Ａから宛先端末＃Ｂへの方向の通信について説明された。例えば、送信元端末＃Ａから宛先端末＃Ｂへの通信において、戻りパケットがある場合には、宛先端末＃Ｂを送信元とし、送信元端末＃Ａを宛先とするセキュア通信が確立される。この場合には、宛先端末＃Ｂからセキュリティ通信制御装置１に対してセキュア通信確立依頼が送信される。
【０３０３】
＜記録媒体＞
コンピュータその他の機械、装置（以下、コンピュータ等）に上記いずれかの機能を実
現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【０３０４】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる非一時的な記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ブルーレイディスク、ＤＡＴ、８ｍｍテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスク、ＲＯＭ（リードオンリーメモリ）等がある。さらに、ＳＳＤ（Solid State Drive）は、コンピュータ等から取り外し可能な記録媒体としても、コ
ンピュータ等に固定された記録媒体としても利用可能である。
【０３０５】
＜付記＞
上記の実施形態は、以下の付記を開示する。
（付記１）
第１のフィールドを含むヘッダとペイロードとを含み、前記第１のフィールドに格納されている第１の情報を含む、フローを識別可能な識別情報が共通している複数の第１のパケットのそれぞれについて、前記第１の情報の代わりに、前記複数の第１のパケットのうちの少なくとも２つのパケット群間で異なる値となる第２の情報が前記第１のフィールドに格納され、前記第１の情報が前記ペイロード内に挿入されることによって、取得される複数の第２のパケットを送信する送信部、
を備える通信装置。
（付記２）
前記複数の第１のパケットのそれぞれについて、前記第１の情報の代わりに、前記第２の情報を前記第１のフィールドに格納し、前記第１の情報を前記ペイロード内に挿入して、前記複数の第２のパケットを取得する制御部、
をさらに備える付記１に記載の通信装置。
（付記３）
前記制御部は、前記第２の情報を、前記複数の第１のパケットのそれぞれについて決定する、
付記２に記載の通信装置。
（付記４）
前記制御部は、前記第１のフィールドの所定部分に該当する前記第２の情報の一部分が示す値に相当する前記ペイロード内の位置に前記第１の情報を挿入する、
付記３に記載の通信装置。
（付記５）
前記第１のフィールドの前記所定部分は、前記複数の第１のパケットにより形成されるパケット群ごとに決定される、
付記４に記載の通信装置。
（付記６）
前記送信部は、前記複数の第１のパケットには含まれておらず、ダミーパケットであることを示す情報が格納されている、少なくとも１つのダミーパケットを前記複数の第２のパケットと混在させて送信する、
付記１から５のいずれか一つに記載の通信装置。
（付記７）
前記第１の情報は、宛先アドレス又は送信元アドレスのいずれか一方又は両方である、付記１から６のいずれか一つに記載の通信装置。
（付記８）
第１のフィールドを含むヘッダとペイロードとを含み、前記第１のフィールドに格納されている第１の情報を含む、フローを識別可能な識別情報が共通している複数の第１のパケットのそれぞれについて、前記第１の情報の代わりに、前記複数の第１のパケットのうちの少なくとも２つのパケット群間で異なる値となる第２の情報が前記第１のフィールドに格納され、前記第１の情報が前記ペイロード内に挿入されることによって、取得される複数の第２のパケットを含むパケットを受信する受信部、
を備える通信装置。
（付記９）
前記第１のフィールドとは異なる前記ヘッダ内の第２のフィールドに格納される第３の情報を記憶する記憶部と、
前記受信部による受信パケットの前記第２のフィールドに前記第３の情報が格納されている場合に、前記受信パケットについて、前記受信パケットのペイロードから第１の情報を削除して、前記ペイロードに含まれるデータを取得する制御部と、
をさらに備える付記８に記載の通信装置。
（付記１０）
前記第２の情報は、前記複数の第１のパケットのそれぞれについて決定されている、
付記８又は９に記載の通信装置。
（付記１１）
前記制御部は、前記受信パケットについて、前記第１のフィールドの所定部分に該当する前記第２の情報の一部分が示す値に相当する前記ペイロード内の位置に前記第１の情報が格納されているか判定し、前記第１の情報が格納されていない場合には、前記受信パケットを廃棄する、
付記９又は１０に記載の通信装置。
（付記１２）
前記第１のフィールドの前記所定部分は、前記複数の第１のパケットにより形成されるパケット群ごとに決定されている、
付記１１に記載の通信装置。
（付記１３）
前記受信部は、前記複数の第１のパケットには含まれておらず、ダミーパケットであることを示す情報が格納されており、前記複数の第２のパケットと混在して送信される、少なくとも１つのダミーパケットを受信し、
前記制御部は、受信パケットに、前記ダミーパケットであることを示す情報が格納されている場合には、前記受信パケットを廃棄する、
付記９から１２のいずれか一つに記載の通信装置。
（付記１４）
第１のフィールドを含むヘッダとペイロードとを含み、前記第１のフィールドに格納されている第１の情報を含む、フローを識別可能な識別情報が共通している複数の第１のパケットのそれぞれについて、前記第１の情報の代わりに、前記複数の第１のパケットのうちの少なくとも２つのパケット群間で異なる値となる第２の情報が前記第１のフィールドに格納され、前記第１の情報が前記ペイロード内に挿入されて、取得される複数の第２のパケットを送信する送信部、
を備える送信装置と、
前記複数の第２のパケットを含むパケットを受信する受信部、
を備える受信装置と、
を含む通信システム。
（付記１５）
第１のフィールドを含むヘッダとペイロードとを含み、前記第１のフィールドに格納されている第１の情報を含む、フローを識別可能な識別情報が共通している複数の第１のパケットのそれぞれについて、前記第１の情報の代わりに、前記複数の第１のパケットのうちの少なくとも２つのパケット群間で異なる値となる第２の情報が格納され、前記第１の
情報が前記ペイロード内に挿入されて、取得される複数の第２のパケットを送信する送信装置から受信装置への通信の要求を受信する受信部と、
前記通信の要求が受信された場合に、前記送信装置と前記受信装置との間の経路上に存在する１又は複数の中継装置について、第２のパケットを受信した場合に、前記第２のパケットのペイロード内に挿入されている第１の情報に基づいて前記第２のパケットを転送する指示を送信する送信部と、
を備える通信制御装置。
（付記１６）
前記送信部は、前記通信の要求が受信された場合に、前記１又は複数の中継装置について、前記第２のパケットのペイロード内の前記第１の情報の挿入位置に関する情報をさらに送信し、前記送信装置と前記受信装置とに、前記ペイロード内の前記第１の情報の挿入位置に関する情報を送信する、
付記１５に記載の通信制御装置。
（付記１７）
前記経路上において外部ネットワークを転送先とする第１の中継装置について、第２のパケットを受信した場合に、前記第２のパケットから第１のパケットを取得し、前記第１のパケットを前記外部ネットワークに転送することを指示することを判定し、前記経路上において外部ネットワークを転送元とする第２の中継装置について、第１のパケットを受信した場合に、前記第１のパケットから第２のパケットを取得し、前記第２のパケットを転送先に転送することを指示することを判定する制御部、
をさらに備える付記１５又は１６に記載の通信制御装置。
（付記１８）
前記制御部は、前記第１の中継装置に、ダミーパケットであることを示す値と、受信パケットに前記ダミーパケットであることを示す値が格納されている場合に、前記受信パケットを廃棄することを指示することを判定し、前記第２の中継装置に、前記ダミーパケットであることを示す値と、前記ダミーパケットであることを示す値を含むダミーパケットを前記取得された第２のパケットに混在させて送信させることを指示することを判定する、
付記１７に記載の通信制御装置。
（付記１９）
前記制御部は、前記ペイロード内の前記第１の情報の挿入位置に関する情報が格納される、前記第１のフィールドにおける所定部分を、前記複数の第１のパケットにより形成されるパケット群ごとに決定する、
付記１６から１８のいずれか一つに記載の通信制御装置。
（付記２０）
前記送信部は、前記経路上の前記１又は複数の中継装置についての指示を、前記１又は複数の中継装置を制御する中継制御装置に送信する、
付記１５から１９のいずれか一つに記載の通信制御装置。
（付記２１）
前記第２の情報は、前記複数の第１のパケットのそれぞれについて決定されている、
付記１５から２０のいずれか一つに記載の通信制御装置。
（付記２２）
第１のフィールドを含むヘッダとペイロードとを含み、前記第１のフィールドに格納されている第１の情報を含む、フローを識別可能な識別情報が共通している複数の第１のパケットのそれぞれについて、前記第１の情報の代わりに、前記複数の第１のパケットのうちの少なくとも２つのパケット群間で異なる値となる第２の情報が前記第１のフィールドに格納され、前記第１の情報が前記ペイロード内に挿入されて、取得される複数の第２のパケットを含むパケットを受信する受信部と、
第２のパケットが受信された場合に、前記第２のパケットのペイロード内の第１の情報に基づいて、前記第２のパケットの転送先を判定する制御部と、
を備える通信装置。
（付記２３）
前記第２のパケットと前記転送先の情報とを、中継装置に送信する送信部、をさらに備え、
前記受信部は、前記中継装置から前記第２のパケットを受信する、
付記２２に記載の通信装置。
（付記２４）
中継装置の識別情報と、転送先の情報と、ペイロード内の第１の情報の挿入位置との対応付けを記憶する記憶部をさらに備え、
前記制御部は、第２のパケットが第１の中継装置から受信され、前記第１の中継装置に対応する転送先が他の中継装置である場合に、前記第２のパケットと前記転送先の情報として前記他の中継装置の識別情報とを前記第１の中継装置に送信することを判定し、第２のパケットが第２の中継装置から受信され、前記第２の中継装置に対応する転送先が外部ネットワークである場合に、前記第２の中継装置に対応するペイロード内の第１の情報の挿入位置から前記第１の情報を取得し、前記第２のパケットのヘッダ内の第１のフィールドに前記第１の情報を格納し、前記第２のパケットのペイロードから前記第１の情報を削除して、前記第２のパケットから第１のパケットを取得し、取得した前記第１のパケットと前記転送先として外部ネットワークを示す情報とを前記第２の中継装置に送信することを判定する、
付記２３に記載の通信装置。
（付記２５）
前記受信部は、第３の中継装置から第１のパケットを受信し、
前記制御部は、前記第１のパケットが前記第３の中継装置から受信され、前記第３の中継装置に対応する転送先が他の中継装置である場合に、前記第１のパケットの第１のフィールドに第２の情報を格納し、前記第３の中継装置に対応するペイロード内の第１の情報の挿入位置に前記第１のフィールドに格納されていた第１の情報を挿入して、第２のパケットを取得し、取得した前記第２のパケットと前記転送先として前記他の中継装置の識別情報とを前記第３の中継装置に送信することを判定する、
付記２３又は２４に記載の通信装置。
（付記２６）
前記第２のパケットを前記転送先に送信する送信部をさらに備える、
付記２２に記載の通信装置。
（付記２７）
通信装置が、
第１のフィールドを含むヘッダとペイロードとを含み、前記第１のフィールドに格納されている第１の情報を含む、フローを識別可能な識別情報が共通している複数の第１のパケットのそれぞれについて、前記第１の情報の代わりに、前記複数の第１のパケットのうちの少なくとも２つのパケット群間で異なる値となる第２の情報が前記第１のフィールドに格納され、前記第１の情報が前記ペイロード内に挿入されて、取得される複数の第２のパケットを送信する、
通信方法。
（付記２８）
通信制御装置が、
第１のフィールドを含むヘッダとペイロードとを含み、前記第１のフィールドに格納されている第１の情報を含む、フローを識別可能な識別情報が共通している複数の第１のパケットのそれぞれについて、前記第１の情報の代わりに、前記複数の第１のパケットのうちの少なくとも２つのパケット群間で異なる値となる第２の情報が前記第１のフィールドに格納され、前記第１の情報が前記ペイロード内に挿入されて、取得される複数の第２のパケットを送信する送信装置から受信装置への通信の要求を受信し、
前記通信の要求が受信された場合に、前記送信装置と前記受信装置との間の経路上に存
在する１又は複数の中継装置について、ペイロード内の第１の情報の挿入位置に関する情報と、第２のパケットを受信した場合に、前記第２のパケットのペイロード内に挿入されている第１の情報に基づいて前記第２のパケットを転送する指示と、を送信し、前記送信装置と前記受信装置とに、前記ペイロード内の第１の情報の挿入位置に関する情報を送信する、
通信制御方法。
（付記２９）
通信装置が、
第１のフィールドを含むヘッダとペイロードとを含み、前記第１のフィールドに格納されている第１の情報を含む、フローを識別可能な識別情報が共通している複数の第１のパケットのそれぞれについて、前記複数の第１のパケットのうちの少なくとも２つのパケット群間で異なる値となる第２の情報が前記第１のフィールドに格納され、前記第１の情報が前記ペイロード内に挿入されて、取得される複数の第２のパケットを含むパケットを受信し、
第２のパケットが受信された場合に、前記第２のパケットのペイロード内の第１の情報に基づいて、前記第２のパケットの転送先を判定する、
通信方法。
（付記３０）
パケットを中継する１又は複数の中継装置と、
前記複数の中継装置を制御する中継制御装置と、
前記中継制御装置、送信装置、及び、宛先装置を制御する通信制御装置と、
を含む通信システムであって、
前記通信制御装置は、
第１のフィールドを含むヘッダとペイロードとを含み、前記第１のフィールドに格納されている第１の情報を含む、フローを識別可能な識別情報が共通している複数の第１のパケットのそれぞれについて、前記第１の情報が前記ペイロード内に挿入され、前記第１のフィールドに、前記複数の第１のパケット間で少なくとも２つの値をとる第２の情報が格納されて、生成された複数の第２のパケットを送信する送信装置から受信装置への通信の要求を受信する受信部と、
前記通信の要求が受信された場合に、前記送信装置と前記受信装置への経路上に存在する前記１又は複数の中継装置について、前記第２のパケットを受信した場合に、前記ペイロード内に挿入されている前記第１の情報に基づいて前記第２のパケットを転送することの指示を前記中継制御装置に送信する送信部と、
を備え、
前記中継制御装置は、
前記通信制御装置から、前記指示を受信する受信部と、
前記通信制御装置から前記指示を受信した場合に、前記１又は複数の中継装置に前記第２のパケットの前記中継制御装置への送信指示の送信を判定する制御部と、
前記中継装置に前記送信指示を送信する送信部と、
を備え、
前記受信部は、前記第２のパケットを前記１又は複数の中継装置のいずれかから受信し、
前記制御部は、前記第２のパケットが受信された場合に、前記ペイロード内から前記第１の情報を取得し、前記第１の情報に基づいて、前記第２のパケットの転送先を判定し、
前記送信部は、第２のパケットと前記転送先の情報とを、中継装置に送信する、
通信システム。
【符号の説明】
【０３０６】
１      セキュリティ通信制御装置
２      コントローラ
３      スイッチ
４      通信端末
１１、２１、４１      通信部
１２      経路管理部
１３      通信端末指示部
１４      通信経路情報テーブル
１５      セキュア通信カウンタ
２２、４２      パケット操作部
２３      スイッチ制御部
２４      宛先判定テーブル
３１      Ｃプレーン通信部
３２      Ｄプレーン通信部
３３      転送先設定部
３４      パケット転送部
３５      パケット転送テーブル
４３      通信管理部
４４      セキュリティ通信管理テーブル
１０１、３０１    ＣＰＵ
１０２、３０２    メモリ
１０３、３０３      ネットワークインタフェース
【図１】
0006623849.tif 000002
【図２】
0006623849.tif 000003
【図３】
0006623849.tif 000004
【図４】
0006623849.tif 000005
【図５】
0006623849.tif 000006
【図６】
0006623849.tif 000007
【図７】
0006623849.tif 000008
【図８】
0006623849.tif 000009
【図９】
0006623849.tif 000010
【図１０】
0006623849.tif 000011
【図１１】
0006623849.tif 000012
【図１２】
0006623849.tif 000013
【図１３】
0006623849.tif 000014
【図１４Ａ】
0006623849.tif 000015
【図１４Ｂ】
0006623849.tif 000016
【図１４Ｃ】
0006623849.tif 000017
【図１４Ｄ】
0006623849.tif 000018
【図１５Ａ】
0006623849.tif 000019
【図１５Ｂ】
0006623849.tif 000020
【図１６Ａ】
0006623849.tif 000021
【図１６Ｂ】
0006623849.tif 000022
【図１７】
0006623849.tif 000023
【図１８】
0006623849.tif 000024
【図１９Ａ】
0006623849.tif 000025
【図１９Ｂ】
0006623849.tif 000026
【図２０】
0006623849.tif 000027
【図２１】
0006623849.tif 000028
【図２２】
0006623849.tif 000029
【図２３】
0006623849.tif 000030
【図２４】
0006623849.tif 000031