(57)【要約】【課題】通信の安全性を確保しつつ処理負荷の低減化を図ること。【解決手段】通信装置は、データを分割する分割部と、前記分割部によって前記データから分割された複数の分割データの各々について、宛先が同一となる複数の異なる経路を決定する決定部と、前記複数の分割データの各々のサイズと、前記決定部によって決定された各経路の冗長度と、に基づいて、前記複数の分割データを前記複数の経路のいずれかに振り分けて前記宛先に送信する送信部と、を有することを特徴とする。【選択図】図２
2020020928.tif 000002
【特許請求の範囲】
【請求項１】
データを分割する分割部と、
前記分割部によって前記データから分割された複数の分割データの各々について、宛先が同一となる複数の異なる経路を決定する決定部と、
前記複数の分割データの各々のサイズと、前記決定部によって決定された各経路の冗長度と、に基づいて、前記複数の分割データを前記複数の経路のいずれかに振り分けて前記宛先に送信する送信部と、
を有することを特徴とする通信装置。
【請求項２】
請求項１に記載の通信装置であって、
前記送信部は、前記複数の分割データを先頭から前記経路の冗長度が高い順に振り分けて、前記分割データを前記宛先に送信することを特徴とする通信装置。
【請求項３】
請求項１に記載の通信装置であって、
前記分割部によって前記データから分割された複数の分割データの各々について、ある分割データが後続の分割データよりも暗号化強度が高くなるように暗号化する暗号化部を有し、
前記送信部は、前記暗号化部によって暗号化された分割データを暗号化された順に前記複数の経路のいずれかに振り分けて、前記暗号化された分割データを前記宛先に送信することを特徴とする通信装置。
【請求項４】
請求項１に記載の通信装置であって、
前記分割部は、ある分割データが後続の分割データよりもサイズが大きくなるように前記データを分割し、
前記送信部は、サイズが大きい順に前記複数の分割データを前記複数の経路のいずれかに振り分けて前記宛先に送信することを特徴とする通信装置。
【請求項５】
請求項２または３に記載の通信装置であって、
前記分割部は、サイズが均等になるように前記データを分割することを特徴とする通信装置。
【請求項６】
請求項１に記載の通信装置であって、
前記分割データを前記宛先に送信した結果、前記宛先から前記分割データの各々についての受信開始時刻および受信終了時刻を受信する受信部を有し、
前記分割部は、前記受信部によって受信された前記分割データの各々についての受信開始時刻および受信終了時刻に基づいて、前記複数の分割データの個数およびサイズの少なくとも１つを修正することを特徴とする通信装置。
【請求項７】
請求項１に記載の通信装置であって、
前記分割データを前記宛先に送信した結果、前記宛先から前記分割データの各々についての受信開始時刻および受信終了時刻を受信する受信部を有し、
前記分割部は、前記受信部によって受信された前記分割データの各々についての受信開始時刻および受信終了時刻に基づいて、前記複数の分割データの各々の経路の冗長度を修正することを特徴とする通信装置。
【請求項８】
請求項３に記載の通信装置であって、
前記分割データを前記宛先に送信した結果、前記宛先から前記分割データの各々についての受信開始時刻および受信終了時刻を受信する受信部を有し、
前記分割部は、前記受信部によって受信された前記分割データの各々についての受信開始時刻および受信終了時刻に基づいて、前記分割データの暗号化強度を修正することを特徴とする通信装置。
【請求項９】
データを分割する分割処理と、
前記分割処理によって前記データから分割された複数の分割データの各々について、宛先が同一となる複数の異なる経路を決定する決定処理と、
前記複数の分割データの各々のサイズと、前記決定処理によって決定された各経路の冗長度と、に基づいて、前記複数の分割データを前記複数の経路のいずれかに振り分けて前記宛先に送信する送信処理と、
をプロセッサに実行させることを特徴とする通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを送受信する通信装置および通信プログラムに関する。
【背景技術】
【０００２】
計算機群によるネットワークとして、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）のようなネットワークが広く用いられている。ネットワーク通信において企業などの機密性が高い情報を扱う場合には、情報漏えいを防止しながらネットワークを使用するための暗号化が必須である。暗号化のための技術、および、データを暗号化する通信装置が多数開発されている。
【０００３】
このような通信装置は、特に近年、暗号化解読を防ぐためにより高度の暗号アルゴリズムを用いる。したがって、送信装置および受信装置、並びにネットワークに対する負荷が通常の通信よりも高い。このため、暗号化における計算量を小さくしたり、処理時間を短くしたりする必要がある。また、意味を成すデータとしての暗号化したデータの解読防止や改ざん防止のために、暗号化アルゴリズムの複雑性に頼らず、システム構成としてこれらの目的を果たす必要がある。非技術文献１は、暗号化されたデータの配信経路を複雑化することで、データの解読を防止する技術を開示する。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｒｏｇｅｒ  Ｄｉｎｇｌｅｄｉｎｅ，Ｎｉｃｋ  Ｍａｔｈｅｗｓｏｎ，Ｐａｕｌ  Ｓｙｖｅｒｓｏｎ，“Ｔｏｒ：Ｔｈｅ  Ｓｅｃｏｎｄ‐Ｇｅｎｅｒａｔｉｏｎ  Ｏｎｉｏｎ  Ｒｏｕｔｅｒ”，Ｐｒｏｃ．１３ｔｈ  ＵＳＥＮＩＸ  Ｓｅｃｕｒｉｔｙ  Ｓｙｍｐｏｓｉｕｍ，２００４，３０３‐３２０，２００４
【発明の概要】
【発明が解決しようとする課題】
【０００５】
受信装置は、ネットワークからのデータの受信の完了を待つ間に、受信装置のメモリや通信ポートなどのリソースを待機させておく。これが受信装置の処理負荷となる。特に複数の暗号化データの受信間隔が長くなると、受信装置は、復号処理を待機しなければならない。したがって、先着の暗号化データが受信されてから最後の暗号化データが復号されるまでの処理時間が長期化する。また、暗号解読を防止するために複雑な暗号化アルゴリズムを用いることは、復号処理のみならず送信の際の暗号化の負荷を高めることになる。
【０００６】
本発明は、通信の安全性を確保しつつ処理負荷の低減化を図ることを目的とする。
【課題を解決するための手段】
【０００７】
本願において開示される発明の一側面となる通信装置は、データを分割する分割部と、前記分割部によって前記データから分割された複数の分割データの各々について、宛先が同一となる複数の異なる経路を決定する決定部と、前記複数の分割データの各々のサイズと、前記決定部によって決定された各経路の冗長度と、に基づいて、前記複数の分割データを前記複数の経路のいずれかに振り分けて前記宛先に送信する送信部と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明の代表的な実施の形態によれば、通信の安全性を確保しつつ処理負荷の低減化を図ることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【０００９】
【図１】図１は、ネットワーク構成例を示す説明図である。
【図２】図２は、本実施例にかかる通信例を示す説明図である。
【図３】図３は、通信装置のハードウェア構成例を示すブロック図である。
【図４】図４は、分割サイズテーブルの記憶内容例を示す説明図である。
【図５】図５は、経路テーブルの記憶内容例を示す説明図である。
【図６】図６は、暗号強度テーブルの記憶内容例を示す説明図である。
【図７】図７は、通信装置の機能的構成例を示すブロック図である。
【図８】図８は、分割部による分割の事前設定処理手順例を示すフローチャートである。
【図９】図９は、暗号化部による暗号化の事前設定処理手順例を示すフローチャートである。
【図１０】図１０は、通信装置（送信側）によるデータ通信処理手順例を示すフローチャートである。
【図１１】図１１は、通信装置（受信側）によるフィードバック処理手順例を示すフローチャートである。
【図１２】図１２は、通信装置（送信側）による設定情報の修正処理手順例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
＜ネットワーク構成例＞
図１は、ネットワーク構成例を示す説明図である。ネットワーク１００は、たとえば、ＬＡＮ，ＷＡＮ，インターネットなどの通信網である。ネットワークは、たとえば、通信装置１０１，１０２と、中継装置Ｒ１〜Ｒ８を含む。通信装置１０１，１０２および中継装置Ｒ１〜Ｒ８は、通信インタフェース（以下、通信ＩＦ）を２以上有する計算機である。
【００１１】
通信装置１０１，１０２は、たとえば、ワークステーション、パーソナルコンピュータ、タブレット、スマートフォンである。中継装置Ｒ１〜Ｒ８は、たとえば、ルータ、スイッチである。通信装置１０１，１０２は、相互にデータを送受信可能であるが、本実施例では、通信装置１０１を送信側、通信装置１０２を受信側として説明する。
【００１２】
＜データ通信例＞
通信ＩＦは、データを逐一にしか送受信できない。通信装置１０１から逐一に送信されたデータは、通信装置１０２に逐一に受信される。したがって、通信装置１０２の受信処理において、送信処理と同じかそれ以上のリソース占有時間が必要になり、通信装置１０２の負荷を高める原因になる。
【００１３】
本実施例では、通信装置１０１は、何らかの手段によってデータを逐一的に分割する。そして、通信装置１０１は、分割データ群の送信に際し、先に送信される分割データほど、後に送信される分割データよりも遅延を生じさせる。これにより、先頭の分割データが通信装置１０２に受信されてから末尾の分割データが通信装置１０２に受信されるまでの受信時間の短縮化を図る。
【００１４】
図２は、本実施例にかかるデータ通信例を示す説明図である。通信装置１０１，１０２の縦軸は、時間軸を示す。実線矢印は、本実施例にかかるデータ通信例を示し、点線矢印は、本実施例を適用しなかった場合のデータ通信例を示す。また、ｄはデータ、ｄ１〜ｄｎ（ｎは２以上の整数）は、データｄから分割された分割データである。また、図２では、分割データｄ１〜ｄｎのサイズが均等になるようにデータｄを分割したが、分割データｄ１〜ｄｎのサイズが異なるように分割してもよい。
【００１５】
まず、本実施例を適用しなかった場合のデータ通信例を説明する。通信装置１０１は、通信装置１０２までの経路として、中継装置Ｒ６，Ｒ７を経由する経路Ｐ２を決定したとする。通信装置１０１は、データｄをそのまま、または分割データｄ１〜ｄｎに分割して順次、中継装置Ｒ６，Ｒ７を経由して通信装置１０２に送信する。この場合、通信装置１０２の受信間隔はＴＬ０となる。また、分割データｄ１〜ｄｎを順次送信する場合、通信装置１０１内または中継装置Ｒ６，Ｒ７において遅延が生じると、通信装置１０２において分割データｄ１の受信完了時刻と分割データｄ２の受信開始時刻との間に待機時間が発生する。この場合、受信時間ＴＬ０はさらに長くなる。
【００１６】
つぎに、本実施例にかかるデータ通信例を説明する。通信装置１０１は、データｄをｎ個の分割データｄ１〜ｄｎに分割する。通信装置１０１は、２以上の冗長度が異なる経路を決定する。ここでは、通信装置１０１は、２本の経路（中継装置Ｒ１〜Ｒ４を経由する経路Ｐ５と、中継装置Ｒ８を経由する経路Ｐ１）を決定する。冗長度とは、経路がどの程度冗長であるかを示す指標値であり、たとえば、ホップ数（経由する中継装置の数）である。経路Ｐ１はホップ数４であり、経路Ｐ２はホップ数１である。
【００１７】
通信装置１０１は、先頭の分割データｄ１からｉ番目の分割データｄｉ（１≦ｉ≦ｎ）を最も冗長度が高い経路Ｐ５で通信装置１０２に送信し、ｉ＋１番目の分割データｄｉ＋１から末尾の分割データｄｎを経路Ｐ５よりも冗長度が低い経路Ｐ１で通信装置１０２に送信する。
【００１８】
これにより、先頭の分割データｄ１は、時刻ｔ１で通信装置１０２に到着し、ｉ番目の分割データｄｉは、時刻ｔ３（＞ｔ１）で通信装置１０２に到着する。また、ｉ＋１番目の分割データｄｉ＋１は、時刻ｔ２（ｔ１＜ｔ２＜ｔ３）で通信装置１０２に到着し、末尾の分割データｄｎは、時刻ｔ４で通信装置１０２に到着する。これにより、分割データｄ１〜ｄｎの受信時間ＴＬ１は、時刻ｔ１から時刻ｔ４までの時間長となり、上述した受信時間ＴＬ０よりも短くなる。
【００１９】
すなわち、経路Ｐ２で送信される分割データｄｉ＋１〜ｄｎは、経路Ｐ１で送信される分割データｄ１〜ｄｉよりも遅延が少ないため、分割データｄｉ＋１〜ｄｎが分割データｄ１〜ｄｉよりも早く到着する。したがって、分割データｄ１〜ｄｉの受信期間［ｔ１，ｔ３］と分割データｄｉ＋１〜ｄｎの受信期間［ｔ２，ｔ４］とが重複する。これにより、受信側の通信装置１０２では待機時間が発生しなくなり、処理負荷の低減化を図ることができる。
【００２０】
また、送信側の通信装置１０１は、分割データｄ１〜ｄｉと、分割データｄｉ＋１〜ｄｎとを異なる経路で送信する。このような分散送信で送信時間が短縮するため、送信側の通信装置１０１の処理負荷の低減化を図ることができる。また、異なる経路で配信することで、データ通信の安全性の向上を図ることができる。
【００２１】
＜通信装置のハードウェア構成例＞
図３は、通信装置１０１，１０２のハードウェア構成例を示すブロック図である。通信装置１０１，１０２（以下、送信側、受信側を区別しない場合は、総称して通信装置３００）は、プロセッサ３０１と、記憶デバイス３０２と、入力デバイス３０３と、出力デバイス３０４と、２以上の通信ＩＦ３０５と、を有する。プロセッサ３０１、記憶デバイス３０２、入力デバイス３０３、出力デバイス３０４、および通信ＩＦ３０５は、バス３０６により接続される。プロセッサ３０１は、通信装置３００を制御する。プロセッサ３０１は、プログラムを実行する。記憶デバイス３０２は、プロセッサ３０１の作業エリアとなる。また、記憶デバイス３０２は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス３０２としては、たとえば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、フラッシュメモリがある。入力デバイス３０３は、データを入力する。入力デバイス３０３としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナがある。出力デバイス３０４は、データを出力する。出力デバイス３０４としては、たとえば、ディスプレイ、プリンタがある。通信ＩＦ３０５は、ネットワーク１００と接続し、データを送受信する。
【００２２】
＜各種テーブルの記憶内容例＞
図４は、分割設定情報テーブルの記憶内容例を示す説明図である。分割設定情報テーブル４００は、データの分割方法を規定するテーブルである。分割設定情報テーブル４００は、分割ＩＤ４０１と、分割比４０２と、分割個数４０３と、をフィールドとして有し、各フィールドの値の組み合わせであるエントリにより分割設定情報を構成する。分割ＩＤ４０１は、分割設定情報を一意に特定する識別情報である。分割比４０２は、データを分割する場合のサイズ比を規定し、分割個数４０３は、分割データの個数ｎを規定する。分割比４０２の左端の値が先頭の分割データｄ１の比であり、右端の値が末尾の分割データｄｎの比である。
【００２３】
たとえば、分割比４０２が「１：１」であれば、データｄは、分割データｄ１と、分割データｄ２とに分割され、分割データｄ１のサイズと分割データｄ２のサイズの比は、１：１、すなわち、均等分割である。また、分割比４０２が「３：２：１」であれば、データｄは、分割データｄ１と、分割データｄ２と、分割データｄ３とに分割され、分割データｄ１のサイズと分割データｄ２のサイズと分割データｄ３のサイズとの比は、３：２：１である。
【００２４】
図５は、経路決定テーブルの記憶内容例を示す説明図である。経路決定テーブル５００は、経路を決定するためのテーブルである。経路決定テーブル５００は、経路ＩＤ５０１と、経路５０２と、ホップ数５０３と、をフィールドとして有し、各フィールドの値の組み合わせであるエントリにより経路情報を構成する。経路ＩＤ５０１は、経路５０２を一意に特定する識別情報である。経路５０２は、データを中継する一連の中継装置の識別情報である。ホップ数５０３は、経路５０２で規定された中継装置の数である。たとえば、経路ＩＤ５０１が「Ｐ１」、「Ｐ２」および「Ｐ５」の経路５０２は、図２で規定されている。
【００２５】
図６は、暗号強度テーブルの記憶内容例を示す説明図である。暗号強度テーブル６００は、データおよび分割データの暗号強度を決定するテーブルである。暗号強度テーブル６００は、強度ＩＤ６０１と、暗号強度比６０２と、分割個数４０３と、をフィールドとして有し、各フィールドの値の組み合わせであるエントリにより暗号強度情報を構成する。強度ＩＤ６０１は、暗号強度情報を一意に特定する識別情報である。暗号強度比６０２は、分割データの暗号強度、すなわち、分割データに用いられる暗号鍵のビット長の比を規定する。暗号強度比６０２の左端の値が先頭の分割データに用いられる暗号鍵のビット長であり、右端の値が末尾の分割データに用いられる暗号鍵のビット長である。
【００２６】
たとえば、暗号強度比６０２が「１０２４：５１２：２５６」であれば、データは、分割データｄ１〜ｄ３に分割され、分割データｄ１の暗号鍵のビット長が１０２４ｂｉｔ、分割データｄ２の暗号鍵のビット長が５１２ｂｉｔ、分割データｄ３の暗号鍵のビット長が２５６ｂｉｔである。
【００２７】
＜通信装置３００の機能的構成例＞
図７は、通信装置３００の機能的構成例を示すブロック図である。通信装置３００は、送信機能３００Ａと、受信機能３００Ｂと、を有する。図１および図２に示した通信装置１０１は、送信機能３００Ａにより分割データｄｉの送信処理を実行し、通信装置１０２は、受信機能３００Ｂにより分割データｄｉの受信処理を実行する。
【００２８】
送信機能３００Ａは、分割部７０１と、暗号化部７０２と、決定部７０３と、送信部７０４と、分割設定情報テーブル４００と、経路決定テーブル５００と、暗号強度テーブル６００と、を有する。分割部７０１、暗号化部７０２、決定部７０３および送信部７０４は、具体的には、たとえば、図３に示した記憶デバイス３０２に記憶されたプログラムをプロセッサ３０１に実行させることにより実現される。分割設定情報テーブル４００、経路決定テーブル５００および暗号強度テーブル６００は、具体的には、たとえば、図３に示した記憶デバイス３０２により実現される。
【００２９】
分割部７０１は、送信対象となるデータｄを分割して、複数の分割データｄ１〜ｄｎを生成する。分割部７０１は、複数の分割データｄ１〜ｄｎをサイズが同等となるように分割してもよく、先頭側の分割データｄｉが後続の分割データｄｊ（ｊ＞ｉ）よりもサイズが大きくなるように分割してもよい。一般的にネットワーク１００ではサイズの大きなデータほど通信に時間がかかるため、先頭側の分割データｄｉの送信に遅延を起こさせることができる。
【００３０】
これにより、通信装置１０２は短い受信時間ＴＬ１で分割データ群を受信することになり、受信のためのリソース占有時間の短縮化を図ることができ、通信装置１０２の負荷低減を図ることができる。このような分割方法について、分割部７０１は、分割設定情報テーブル４００を用いて事前に分割設定情報を設定する。分割部７０１は、設定された分割設定情報にしたがって、送信対象となるデータｄを分割することになる。
【００３１】
暗号化部７０２は、あらかじめ設定された暗号化アルゴリズムを用いて、データｄまたは分割データｄｉを暗号化する。暗号化アルゴリズムとしては、たとえば、公開鍵暗号方式、Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ（ＡＥＳ）などの共通鍵暗号方式、公開鍵暗号方式および共通鍵暗号方式のハイブリッド方式がある。
【００３２】
暗号化部７０２は、分割前のデータｄを暗号化してもよく、分割データｄｉを暗号化してもよく、暗号化されたデータｄから分割された分割データｄｉを再暗号化してもよい。暗号回数が多いほど暗号化に時間がかかるため、意図的に遅延を生じさせることができる。
【００３３】
暗号化部７０２は、分割部７０１で設定された分割設定情報の分割個数４０３および暗号強度テーブル６００を用いて事前に暗号強度情報を設定する。暗号強度情報は、たとえば、複数の分割データの各々について、先頭側の分割データｄｉが後続の分割データｄｊよりも暗号化強度が高くなるように設定される。暗号化部７０２は、設定された暗号強度情報にしたがって、データｄまたは分割データｄｉを暗号化する。暗号化強度が高い、すなわち、暗号鍵のビット長が長いほど、暗号化に時間がかかるため、送信開始が遅れる。したがって、意図的に遅延を生じさせることができる。
【００３４】
決定部７０３は、ユーザ指定により、または自動的に、経路決定テーブル５００を参照して、分割データｄｉの各々が経由する経路５０２を決定する。決定部７０３は、ユーザに指定された本数の経路５０２を決定する。決定される経路５０２は、宛先を同一とする異なる経路５０２である。決定される経路５０２は、それぞれ冗長度を異ならせてもよく、冗長度を同一としてもよい。
【００３５】
冗長度が高い経路５０２ほど、各分割データｄｉはより多くの中継装置を経由するため遅延時間が長くなる。したがって、先頭側の分割データを冗長度の高い経路５０２で送信し、末尾側の分割データを冗長度の低い経路５０２で送信する。これにより、通信装置１０２は短い受信時間ＴＬ１で分割データ群を受信することになり、受信のためのリソース占有時間の短縮化を図ることができ、通信装置１０２の負荷低減を図ることができる。
【００３６】
送信部７０４は、送信に先立って、決定部７０３によって決定された経路５０２の本数で一連の分割データを送信順にグループ分けする。グループ分けの方法についてはあらかじめ設定される。具体的には、たとえば、送信部７０４は、分割データｄｉの個数を均等に経路５０２に配分してグループ分けする。たとえば、経路５０２が２本で分割データの個数ｎがｎ＝１０である場合、送信部７０４は、分割された順、すなわち、先頭の分割データｄ１から分割データｄ５までのグループと、分割データｄ６から末尾の分割データｄ１０までのグループにグループ分けする。
【００３７】
また、送信部７０４は、分割データの総サイズを経路５０２毎に均等にしてグループ分けする。たとえば、経路５０２が２本で分割データの個数ｎがｎ＝１０である場合、送信部７０４は、分割された順、すなわち、先頭の分割データｄ１から分割データｄ７までの分割データ群のサイズと、分割データｄ８から末尾の分割データｄ１０までの分割データ群のサイズと、が同サイズであれば、先頭の分割データｄ１から分割データｄ７までの分割データ群と、分割データｄ８から末尾の分割データｄ１０までの分割データ群と、にグループ分けする。
【００３８】
これにより、経路５０２の本数と同数のグループが生成される。送信部７０４は、先頭側のグループほど冗長度が高い経路５０２を割り当てて、分割データ群を宛先に送信する。
【００３９】
受信機能３００Ｂは、受信部７０５と、復号部７０６と、合成部７０７と、を有する。受信部７０５、復号部７０６、および合成部７０７は、具体的には、たとえば、図３に示した記憶デバイス３０２に記憶されたプログラムをプロセッサ３０１に実行させることにより実現される。
【００４０】
受信部７０５は、分割データ群を受信する。また、受信部７０５は、受信した分割データが暗号化されていれば、復号部７０６に出力し、暗号化されていなければ、合成部７０７に出力する。復号部７０６は、暗号化された分割データを復号する。復号部７０６は、復号された分割データを、合成部７０７に出力する。合成部７０７は、分割データ群を合成し、元のデータに復元する。
【００４１】
つぎに、フィードバック機能について説明する。フィードバック機能は、分割データ群を送信した結果、受信時間ＴＬ１が適正か否かを確認し、適正でない場合には各種設定情報を修正する機能である。フィードバック機能は、受信側の通信装置の受信部７０５および送信部７０４と、送信側の通信装置の受信部７０５、分割部７０１、暗号化部７０２、および決定部７０３により構成される。
【００４２】
受信側の通信装置１０２の受信部７０５は、分割データｄｉごとに、受信開始時刻と受信終了時刻とを検出する。この場合、受信側の通信装置の送信部７０４は、分割データ毎に検出した受信開始時刻および受信終了時刻を、送信側の通信装置１０１に送信する。
【００４３】
送信側の通信装置１０１の受信部７０５は、受信側の通信装置１０２の送信部７０４から送信されてきた、分割データｄｉに検出した受信開始時刻および受信終了時刻を受信する。分割部７０１は、分割データｄｉ毎に検出した受信開始時刻および受信終了時刻に基づいて、経路５０２ごとの受信期間が重複しているか否かを判断する。
【００４４】
具体的には、たとえば、図２に示したように、経路Ｐ５で送信された分割データｄ１〜ｄｉまでの受信期間［ｔ１，ｔ３］と、経路Ｐ１で送信された分割データｄｉ＋１〜ｄＮまでの受信期間［ｔ２，ｔ４］と、が重複しているか否かを判断する。重複している場合、受信時間ＴＬ１をさらに短縮することができる。また、重複していない場合、すなわち、ｔ３＜ｔ２となる場合、分割データｄｉの受信後、分割データｄｉ＋１が受信されるまでの待機時間が発生し、受信時間ＴＬ１が長くなる。
【００４５】
この場合、分割部７０１、暗号化部７０２および決定部７０３は、受信期間［ｔ１，ｔ３］と受信期間［ｔ２，ｔ４］とが重複する場合、または、重複しない場合、以下に示す受信時間ＴＬ１の短縮の対策を試行してもよい。受信期間［ｔ１，ｔ３］と受信期間［ｔ２，ｔ４］とが重複する場合、または、重複しない場合（待機時間が発生した場合）のいずれの場合に下記対策を試行するか、または、どの程度重複する場合に下記対策を試行するか、どの程度待機時間が発生した場合に下記対策を試行するか、については、通信装置に事前に設定されたポリシーに依存することになる。
【００４６】
分割部７０１は、受信時間ＴＬ１の短縮の対策として、より冗長度の高い経路５０２への分割データの個数またはサイズの配分を多くしたりする。また、暗号化部７０２は、先頭側のグループの暗号強度を高くしてもよい。たとえば、図６に示した暗号強度情報がＥＳ６であった場合、暗号化部７０２は、より先頭側の分割データの暗号強度が高くなるように、暗号強度情報をＥＳ６からＥＳ７に変更してもよい。また、決定部７０３は、より先頭側のグループが経由する経路５０２を、より冗長度が高い経路５０２に変更してもよい。あるいは、決定部７０３は、より末尾側のグループが経由する経路５０２を、より冗長度が低い経路５０２に変更してもよい。
【００４７】
＜データ分割の事前設定処理＞
図８は、分割部７０１による分割の事前設定処理手順例を示すフローチャートである。分割部７０１は、ユーザからの分割設定入力を待ち受ける（ステップＳ８０１：Ｎｏ）。分割設定入力があった場合（ステップＳ８０１：Ｙｅｓ）、不図示の分割設定画面が表示され、分割部７０１は、ユーザからの入力により、分割比４０２および分割個数４０３を設定する（ステップＳ８０２）。そして、分割部７０１は、ユーザからの確定ボタンの押下を待ち受け（ステップＳ８０３：Ｎｏ）、ステップＳ８０２に戻る。
【００４８】
一方、確定ボタンが押下された場合（ステップＳ８０３：Ｙｅｓ）、分割部７０１は、ステップＳ８０２で設定された分割比４０２および分割個数４０３を特定する分割ＩＤ４０１を分割設定情報として記憶デバイス３０２に記憶する（ステップＳ８０４）。これにより、データｄを分割する場合は、分割部７０１は、この分割設定情報に従って分割することになる。
【００４９】
＜暗号化の事前設定処理＞
図９は、暗号化部７０２による暗号化の事前設定処理手順例を示すフローチャートである。暗号化部７０２は、ユーザからの暗号化設定入力を待ち受け（ステップＳ９０１：Ｎｏ）、図８で設定された分割設定情報を読み込む（ステップＳ９０２）。分割設定情報を読み込むのは、分割個数４０３を特定するためである。分割設定情報が設定されていなければ、暗号化部７０２は、ステップＳ９０２で、ユーザからの分割個数４０３の設定を受け付ける。
【００５０】
つぎに、暗号化部７０２は、ユーザからの入力により、暗号化タイミングを設定する（ステップＳ９０３）。暗号化タイミングとは、暗号化を実行するタイミングであり、「暗号化しない」、分割部７０１による「分割前」、「分割後」、「分割前および分割後」の両方の４通りがある。
【００５１】
「暗号化しない」が選択された場合、暗号化部７０２は、「分割前」、「分割後」および「分割前および分割後」のいずれにタイミングでも、データｄまたは分割データｄｉを暗号化しない。
【００５２】
「分割前」が選択された場合、暗号化部７０２は、分割部７０１による分割前のデータｄを暗号化することになる。したがって、分割部７０１は、暗号化されたデータｄを分割することになる。このため、傍受者は、分割データｄｉをすべて傍受しなければならず、傍受が困難である。また、すべて傍受して合成したとしても暗号化されているため、解読が困難である。
【００５３】
「分割後」が選択された場合、暗号化部７０２は、分割部７０１による分割後の分割データ群の各々を暗号化することになる。このため、傍受者は、暗号化された分割データｄｉをすべて傍受しなければならず、傍受が困難である。また、すべて傍受したとしても、分割データｄｉは各々暗号化されているため、解読が困難である。
【００５４】
「分割前および分割後」が選択された場合、暗号化部７０２は、分割部７０１による分割前のデータｄを暗号化し、かつ、分割部７０１によって暗号化されたデータｄを分割することで得られる分割データ群の各々を暗号化することになる。このため、傍受者は、暗号化された分割データｄｉをすべて傍受しなければならず、傍受が困難である。また、すべて傍受したとしても、分割データｄｉは各々暗号化されているため、解読が困難である。また、暗号化された分割データｄｉの各々の解読が成功したとしても、合成後のデータｄも暗号化されているため、解読が困難である。
【００５５】
暗号化タイミングの設定（ステップＳ９０３）後、暗号化部７０２は、ステップＳ９０２で特定した分割個数４０３が２以上であるか否かを判断する（ステップＳ９０４）。２以上でない場合（ステップＳ９０４：Ｎｏ）、データｄは分割部７０１で分割されないため、ステップＳ９０６に移行する。
【００５６】
分割個数４０３が２以上である場合（ステップＳ９０４：Ｙｅｓ）、データｄは分割部７０１で分割される。したがって、暗号化部７０２は、ユーザ入力により、分割個数４０３に応じた暗号強度比６０２を設定する（ステップＳ９０５）。たとえば、分割個数４０３が「２」であれば、ユーザは、強度ＩＤ６０１がＥＳ１〜ＥＳ４のエントリ（暗号強度情報）から暗号強度比６０２を選択可能である。そして、暗号化部７０２は、ユーザからの確定ボタンの押下を待ち受け（ステップＳ９０６：Ｎｏ）、ステップＳ９０３に戻る。
【００５７】
一方、確定ボタンが押下された場合（ステップＳ９０６：Ｙｅｓ）、暗号化部７０２は、ステップＳ９０３で設定された暗号化タイミングおよびステップＳ９０５で設定された暗号強度比６０２を、暗号化設定情報として記憶デバイス３０２に記憶する（ステップＳ９０７）。これにより、データまたは分割データを暗号化する場合は、暗号化部７０２は、この暗号化設定情報に従って暗号化することになる。
【００５８】
＜通信装置（送信側）によるデータ通信処理＞
図１０は、通信装置（送信側）によるデータ通信処理手順例を示すフローチャートである。通信装置１０１は、データｄの送信開始の入力を待ち受ける（ステップＳ１００１：Ｎｏ）。送信開始の入力があった場合（ステップＳ１００１：Ｙｅｓ）、通信装置１０１は、図８および図９で記憶デバイス３０２に記憶された分割設定情報および暗号化設定情報とともに経路設定情報を読み込む（ステップＳ１００２）。経路設定情報も、分割設定情報および暗号化設定情報と同様、あらかじめユーザ入力により決定部７０３によって設定された設定情報である。経路設定情報は、経路本数と、各経路５０２のホップ数５０３と、を含む。
【００５９】
そして、通信装置は、分割設定情報の分割個数４０３により、データｄを分割するか否かを判断する（ステップＳ１００３）。通信装置１０１は、分割個数４０３が２以上であれば、分割し（ステップＳ１００３：Ｙｅｓ）、分割個数４０３が１であれば、分割しない（ステップＳ１００３：Ｎｏ）。
【００６０】
また、通信装置は、暗号化設定情報の暗号化タイミングにより、暗号化するか否かを判断する（ステップＳ１００４）。通信装置は、「暗号化しない」以外のいずれかが選択されていれば、その選択された暗号化タイミングで暗号化し（ステップＳ１００４：Ｙｅｓ）「暗号化しない」が選択されていれば、暗号化しない（ステップＳ１００４：Ｎｏ）。
【００６１】
分割し（ステップＳ１００３：Ｙｅｓ）、かつ、暗号化する場合（ステップＳ１００４：Ｙｅｓ）、通信装置１０１は、分割設定情報および暗号化設定情報に基づいて、分割部７０１による分割および暗号化部７０２による暗号化を実行して（ステップＳ１００５）、ステップＳ１００６に移行する。
【００６２】
また、分割し（ステップＳ１００３：Ｙｅｓ）、かつ、暗号化しない場合（ステップＳ１００４：Ｎｏ）、通信装置１０１は、分割設定情報に基づいて、分割部７０１による分割を実行して（ステップＳ１００６）、ステップＳ１００７に移行する。
【００６３】
ステップＳ１００６において、通信装置１０１は、経路設定情報に基づいて、経路５０２を設定する（ステップＳ１００６）。具体的には、たとえば、経路設定情報が経路本数２、各経路５０２のホップ数５０３が４，１であれば、決定部７０３は、経路Ｐ５と経路Ｐ１とを、送信に用いる経路５０２に決定する。そして、通信装置１０１は、決定部７０３のポリシーに従って、分割データ群を複数の経路５０２に振り分けて宛先に送信する（ステップＳ１００７）。
【００６４】
また、分割せず（ステップＳ１００３：Ｎｏ）、かつ、暗号化する場合（ステップＳ１００９：Ｙｅｓ）、通信装置１０１は、暗号化設定情報に基づいてデータｄの暗号化を実行して（ステップＳ１００９）、ステップＳ１０１０に移行する。
【００６５】
また、分割せず（ステップＳ１００３：Ｎｏ）、かつ、暗号化もしない場合（ステップＳ１００９：Ｎｏ）、通信装置１０１は、データｄを暗号化せずにステップＳ１０１１に移行する。そして、通信装置１０１は、決定部７０３により最適な経路５０２（たとえば、宛先までのホップ数５０３が最小の経路５０２）を決定し（ステップＳ１０１１）、決定した経路５０２でデータｄを宛先に送信する（ステップＳ１０１２）。
【００６６】
＜通信装置（受信側）によるフィードバック処理＞
図１１は、通信装置（受信側）によるフィードバック処理手順例を示すフローチャートである。通信装置１０２は、分割データｄｉの受信を待ち受け（ステップＳ１１０１：Ｎｏ）、分割データｄｉが受信された場合（ステップＳ１１０１：Ｙｅｓ）、通信装置１０２は、受信した分割データｄｉの受信開始時刻および受信終了時刻を取得する（ステップＳ１１０２）。通信装置は、全分割データの受信が完了したか否かを判断する（ステップＳ１１０３）。全分割データの受信が完了していない場合（ステップＳ１１０３：Ｎｏ）、ステップＳ１１０１に戻る。
【００６７】
全分割データの受信が完了した場合（ステップＳ１１０３：Ｙｅｓ）、通信装置は、分割データｄｉごとの受信開始時刻および受信終了時刻（以下、時刻情報）を送信側の通信装置１０１に返信する（ステップＳ１１０４）。なお、図１１において、分割データが暗号化された分割データであれば、受信終了時刻を復号終了時刻に置き換えてもよい。
【００６８】
＜通信装置（送信側）による設定情報の修正処理＞
図１２は、通信装置（送信側）による設定情報の修正処理手順例を示すフローチャートである。通信装置１０１は、時刻情報を受信側の通信装置１０２から待ち受け（ステップＳ１２０１：Ｎｏ）、通信装置１０１は、受信した時刻情報に基づいて、受信時間ＴＬ１を算出する。また、通信装置１０１は、待機時間も算出する。待機時間は、ある経路５０２で送信された分割データ群の受信期間と、他の経路５０２で送信された分割データ群の受信期間が重複していない場合に発生する、両受信期間の間の非受信間隔である。たとえば、図２にもおいて、分割データｄｉの受信終了時刻ｔ３が、分割データｄｉ＋１の受信開始時刻よりも前の時刻であれば、待機時間が算出可能である。
【００６９】
そして、通信装置１０１は、設定情報（分割設定情報、暗号化設定情報、経路設定情報）を読み込み（ステップＳ１２０３）、受信時間ＴＬ１に基づいて、設定情報を修正する（ステップＳ１２０４）。具体的には、たとえば、通信装置１０１は、分割設定情報については、冗長度が高い経路５０２に割り当てられる先頭側の分割データのサイズが大きくなるよう、または、冗長度の低い経路５０２に割り当てられる末尾側の分割データのサイズが小さくなるよう、分割比４０２を変更してもよい。たとえば、変更前の分割比４０２が分割ＩＤ４０１「ＤＶ２」の「２：１」の場合、分割部７０１は、分割比４０２を分割ＩＤ４０１「ＤＶ３」の「３：１」に変更する。
【００７０】
また、通信装置は、暗号化設定情報については、冗長度が高い経路５０２に割り当てられる先頭側の分割データｄｉの暗号強度を高くするよう、または、冗長度の低い経路５０２に割り当てられる末尾側の分割データｄｊの暗号強度を低くするよう、暗号強度比６０２を変更してもよい。たとえば、変更前の暗号強度比６０２が強度ＩＤ６０１「ＥＳ２」の「２５６：１２８」の場合、分割部７０１は、暗号強度比６０２を強度ＩＤ６０１「ＥＳ３」の「５１２：１２８」に変更する。
【００７１】
また、通信装置は、経路設定情報については、冗長度が高い経路５０２をよりホップ数５０３が大きい経路５０２に、または、冗長度が低い経路５０２をよりホップ数５０３が小さい経路５０２に変更してもよい。たとえば、変更前の冗長度が高い経路５０２が経路ＩＤ５０１「Ｐ２」である場合、分割部７０１は、ホップ数５０３が高い経路ＩＤ５０１「Ｐ３」に変更する。通信装置１０１は、修正後の設定情報を記憶デバイス３０２に記憶する（ステップＳ１２０５）。
【００７２】
このように、本実施例によれば、受信側の通信装置１０２での待機時間の発生を抑制することにより、受信側の通信装置１０２での処理負荷の低減化を図ることができる。
【００７３】
また、送信側の通信装置１０１は、分割データ群を異なる経路５０２で分散送信することで送信時間が短縮するため、送信側の通信装置１０１の処理負荷の低減化を図ることができる。また、分割データ群を異なる経路５０２で配信することで、データ通信の安全性の向上を図ることができる。
【００７４】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
【００７５】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【００７６】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置、又は、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）カード、ＳＤカード、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）の記録媒体に格納することができる。
【００７７】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【００７８】
１００  ネットワーク
１０１，１０２，３００  通信装置
３００Ａ  送信機能
３００Ｂ  受信機能
４００  分割設定情報テーブル
５００  経路決定テーブル
６００  暗号強度テーブル
７０１  分割部
７０２  暗号化部
７０３  決定部
７０４  送信部
７０５  受信部
７０６  復号部
７０７  合成部
Ｒ１〜Ｒ８  中継装置
【図１】
2020020928.tif 000003
【図２】
2020020928.tif 000004
【図３】
2020020928.tif 000005
【図４】
2020020928.tif 000006
【図５】
2020020928.tif 000007
【図６】
2020020928.tif 000008
【図７】
2020020928.tif 000009
【図８】
2020020928.tif 000010
【図９】
2020020928.tif 000011
【図１０】
2020020928.tif 000012
【図１１】
2020020928.tif 000013
【図１２】
2020020928.tif 000014