JP2020020928A - 通信装置および通信プログラム - Google Patents

通信装置および通信プログラム Download PDF

Info

Publication number
JP2020020928A
JP2020020928A JP2018143496A JP2018143496A JP2020020928A JP 2020020928 A JP2020020928 A JP 2020020928A JP 2018143496 A JP2018143496 A JP 2018143496A JP 2018143496 A JP2018143496 A JP 2018143496A JP 2020020928 A JP2020020928 A JP 2020020928A
Authority
JP
Japan
Prior art keywords
divided data
data
communication device
unit
divided
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018143496A
Other languages
English (en)
Inventor
雅志 天野
Masashi Amano
雅志 天野
拓郎 森
Takuro Mori
拓郎 森
大和 松村
Yamato Matsumura
大和 松村
修史 猪口
Shuji Inoguchi
修史 猪口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2018143496A priority Critical patent/JP2020020928A/ja
Publication of JP2020020928A publication Critical patent/JP2020020928A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】通信の安全性を確保しつつ処理負荷の低減化を図ること。【解決手段】通信装置は、データを分割する分割部と、前記分割部によって前記データから分割された複数の分割データの各々について、宛先が同一となる複数の異なる経路を決定する決定部と、前記複数の分割データの各々のサイズと、前記決定部によって決定された各経路の冗長度と、に基づいて、前記複数の分割データを前記複数の経路のいずれかに振り分けて前記宛先に送信する送信部と、を有することを特徴とする。【選択図】図2

Description

本発明は、データを送受信する通信装置および通信プログラムに関する。
計算機群によるネットワークとして、LAN(Local Area Network)やWAN(Wide Area Network)のようなネットワークが広く用いられている。ネットワーク通信において企業などの機密性が高い情報を扱う場合には、情報漏えいを防止しながらネットワークを使用するための暗号化が必須である。暗号化のための技術、および、データを暗号化する通信装置が多数開発されている。
このような通信装置は、特に近年、暗号化解読を防ぐためにより高度の暗号アルゴリズムを用いる。したがって、送信装置および受信装置、並びにネットワークに対する負荷が通常の通信よりも高い。このため、暗号化における計算量を小さくしたり、処理時間を短くしたりする必要がある。また、意味を成すデータとしての暗号化したデータの解読防止や改ざん防止のために、暗号化アルゴリズムの複雑性に頼らず、システム構成としてこれらの目的を果たす必要がある。非技術文献1は、暗号化されたデータの配信経路を複雑化することで、データの解読を防止する技術を開示する。
Roger Dingledine,Nick Mathewson,Paul Syverson,"Tor:The Second‐Generation Onion Router",Proc.13th USENIX Security Symposium,2004,303‐320,2004
受信装置は、ネットワークからのデータの受信の完了を待つ間に、受信装置のメモリや通信ポートなどのリソースを待機させておく。これが受信装置の処理負荷となる。特に複数の暗号化データの受信間隔が長くなると、受信装置は、復号処理を待機しなければならない。したがって、先着の暗号化データが受信されてから最後の暗号化データが復号されるまでの処理時間が長期化する。また、暗号解読を防止するために複雑な暗号化アルゴリズムを用いることは、復号処理のみならず送信の際の暗号化の負荷を高めることになる。
本発明は、通信の安全性を確保しつつ処理負荷の低減化を図ることを目的とする。
本願において開示される発明の一側面となる通信装置は、データを分割する分割部と、前記分割部によって前記データから分割された複数の分割データの各々について、宛先が同一となる複数の異なる経路を決定する決定部と、前記複数の分割データの各々のサイズと、前記決定部によって決定された各経路の冗長度と、に基づいて、前記複数の分割データを前記複数の経路のいずれかに振り分けて前記宛先に送信する送信部と、を有することを特徴とする。
本発明の代表的な実施の形態によれば、通信の安全性を確保しつつ処理負荷の低減化を図ることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
図1は、ネットワーク構成例を示す説明図である。 図2は、本実施例にかかる通信例を示す説明図である。 図3は、通信装置のハードウェア構成例を示すブロック図である。 図4は、分割サイズテーブルの記憶内容例を示す説明図である。 図5は、経路テーブルの記憶内容例を示す説明図である。 図6は、暗号強度テーブルの記憶内容例を示す説明図である。 図7は、通信装置の機能的構成例を示すブロック図である。 図8は、分割部による分割の事前設定処理手順例を示すフローチャートである。 図9は、暗号化部による暗号化の事前設定処理手順例を示すフローチャートである。 図10は、通信装置(送信側)によるデータ通信処理手順例を示すフローチャートである。 図11は、通信装置(受信側)によるフィードバック処理手順例を示すフローチャートである。 図12は、通信装置(送信側)による設定情報の修正処理手順例を示すフローチャートである。
<ネットワーク構成例>
図1は、ネットワーク構成例を示す説明図である。ネットワーク100は、たとえば、LAN,WAN,インターネットなどの通信網である。ネットワークは、たとえば、通信装置101,102と、中継装置R1〜R8を含む。通信装置101,102および中継装置R1〜R8は、通信インタフェース(以下、通信IF)を2以上有する計算機である。
通信装置101,102は、たとえば、ワークステーション、パーソナルコンピュータ、タブレット、スマートフォンである。中継装置R1〜R8は、たとえば、ルータ、スイッチである。通信装置101,102は、相互にデータを送受信可能であるが、本実施例では、通信装置101を送信側、通信装置102を受信側として説明する。
<データ通信例>
通信IFは、データを逐一にしか送受信できない。通信装置101から逐一に送信されたデータは、通信装置102に逐一に受信される。したがって、通信装置102の受信処理において、送信処理と同じかそれ以上のリソース占有時間が必要になり、通信装置102の負荷を高める原因になる。
本実施例では、通信装置101は、何らかの手段によってデータを逐一的に分割する。そして、通信装置101は、分割データ群の送信に際し、先に送信される分割データほど、後に送信される分割データよりも遅延を生じさせる。これにより、先頭の分割データが通信装置102に受信されてから末尾の分割データが通信装置102に受信されるまでの受信時間の短縮化を図る。
図2は、本実施例にかかるデータ通信例を示す説明図である。通信装置101,102の縦軸は、時間軸を示す。実線矢印は、本実施例にかかるデータ通信例を示し、点線矢印は、本実施例を適用しなかった場合のデータ通信例を示す。また、dはデータ、d1〜dn(nは2以上の整数)は、データdから分割された分割データである。また、図2では、分割データd1〜dnのサイズが均等になるようにデータdを分割したが、分割データd1〜dnのサイズが異なるように分割してもよい。
まず、本実施例を適用しなかった場合のデータ通信例を説明する。通信装置101は、通信装置102までの経路として、中継装置R6,R7を経由する経路P2を決定したとする。通信装置101は、データdをそのまま、または分割データd1〜dnに分割して順次、中継装置R6,R7を経由して通信装置102に送信する。この場合、通信装置102の受信間隔はTL0となる。また、分割データd1〜dnを順次送信する場合、通信装置101内または中継装置R6,R7において遅延が生じると、通信装置102において分割データd1の受信完了時刻と分割データd2の受信開始時刻との間に待機時間が発生する。この場合、受信時間TL0はさらに長くなる。
つぎに、本実施例にかかるデータ通信例を説明する。通信装置101は、データdをn個の分割データd1〜dnに分割する。通信装置101は、2以上の冗長度が異なる経路を決定する。ここでは、通信装置101は、2本の経路(中継装置R1〜R4を経由する経路P5と、中継装置R8を経由する経路P1)を決定する。冗長度とは、経路がどの程度冗長であるかを示す指標値であり、たとえば、ホップ数(経由する中継装置の数)である。経路P1はホップ数4であり、経路P2はホップ数1である。
通信装置101は、先頭の分割データd1からi番目の分割データdi(1≦i≦n)を最も冗長度が高い経路P5で通信装置102に送信し、i+1番目の分割データdi+1から末尾の分割データdnを経路P5よりも冗長度が低い経路P1で通信装置102に送信する。
これにより、先頭の分割データd1は、時刻t1で通信装置102に到着し、i番目の分割データdiは、時刻t3(>t1)で通信装置102に到着する。また、i+1番目の分割データdi+1は、時刻t2(t1<t2<t3)で通信装置102に到着し、末尾の分割データdnは、時刻t4で通信装置102に到着する。これにより、分割データd1〜dnの受信時間TL1は、時刻t1から時刻t4までの時間長となり、上述した受信時間TL0よりも短くなる。
すなわち、経路P2で送信される分割データdi+1〜dnは、経路P1で送信される分割データd1〜diよりも遅延が少ないため、分割データdi+1〜dnが分割データd1〜diよりも早く到着する。したがって、分割データd1〜diの受信期間[t1,t3]と分割データdi+1〜dnの受信期間[t2,t4]とが重複する。これにより、受信側の通信装置102では待機時間が発生しなくなり、処理負荷の低減化を図ることができる。
また、送信側の通信装置101は、分割データd1〜diと、分割データdi+1〜dnとを異なる経路で送信する。このような分散送信で送信時間が短縮するため、送信側の通信装置101の処理負荷の低減化を図ることができる。また、異なる経路で配信することで、データ通信の安全性の向上を図ることができる。
<通信装置のハードウェア構成例>
図3は、通信装置101,102のハードウェア構成例を示すブロック図である。通信装置101,102(以下、送信側、受信側を区別しない場合は、総称して通信装置300)は、プロセッサ301と、記憶デバイス302と、入力デバイス303と、出力デバイス304と、2以上の通信IF305と、を有する。プロセッサ301、記憶デバイス302、入力デバイス303、出力デバイス304、および通信IF305は、バス306により接続される。プロセッサ301は、通信装置300を制御する。プロセッサ301は、プログラムを実行する。記憶デバイス302は、プロセッサ301の作業エリアとなる。また、記憶デバイス302は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス302としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。入力デバイス303は、データを入力する。入力デバイス303としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナがある。出力デバイス304は、データを出力する。出力デバイス304としては、たとえば、ディスプレイ、プリンタがある。通信IF305は、ネットワーク100と接続し、データを送受信する。
<各種テーブルの記憶内容例>
図4は、分割設定情報テーブルの記憶内容例を示す説明図である。分割設定情報テーブル400は、データの分割方法を規定するテーブルである。分割設定情報テーブル400は、分割ID401と、分割比402と、分割個数403と、をフィールドとして有し、各フィールドの値の組み合わせであるエントリにより分割設定情報を構成する。分割ID401は、分割設定情報を一意に特定する識別情報である。分割比402は、データを分割する場合のサイズ比を規定し、分割個数403は、分割データの個数nを規定する。分割比402の左端の値が先頭の分割データd1の比であり、右端の値が末尾の分割データdnの比である。
たとえば、分割比402が「1:1」であれば、データdは、分割データd1と、分割データd2とに分割され、分割データd1のサイズと分割データd2のサイズの比は、1:1、すなわち、均等分割である。また、分割比402が「3:2:1」であれば、データdは、分割データd1と、分割データd2と、分割データd3とに分割され、分割データd1のサイズと分割データd2のサイズと分割データd3のサイズとの比は、3:2:1である。
図5は、経路決定テーブルの記憶内容例を示す説明図である。経路決定テーブル500は、経路を決定するためのテーブルである。経路決定テーブル500は、経路ID501と、経路502と、ホップ数503と、をフィールドとして有し、各フィールドの値の組み合わせであるエントリにより経路情報を構成する。経路ID501は、経路502を一意に特定する識別情報である。経路502は、データを中継する一連の中継装置の識別情報である。ホップ数503は、経路502で規定された中継装置の数である。たとえば、経路ID501が「P1」、「P2」および「P5」の経路502は、図2で規定されている。
図6は、暗号強度テーブルの記憶内容例を示す説明図である。暗号強度テーブル600は、データおよび分割データの暗号強度を決定するテーブルである。暗号強度テーブル600は、強度ID601と、暗号強度比602と、分割個数403と、をフィールドとして有し、各フィールドの値の組み合わせであるエントリにより暗号強度情報を構成する。強度ID601は、暗号強度情報を一意に特定する識別情報である。暗号強度比602は、分割データの暗号強度、すなわち、分割データに用いられる暗号鍵のビット長の比を規定する。暗号強度比602の左端の値が先頭の分割データに用いられる暗号鍵のビット長であり、右端の値が末尾の分割データに用いられる暗号鍵のビット長である。
たとえば、暗号強度比602が「1024:512:256」であれば、データは、分割データd1〜d3に分割され、分割データd1の暗号鍵のビット長が1024bit、分割データd2の暗号鍵のビット長が512bit、分割データd3の暗号鍵のビット長が256bitである。
<通信装置300の機能的構成例>
図7は、通信装置300の機能的構成例を示すブロック図である。通信装置300は、送信機能300Aと、受信機能300Bと、を有する。図1および図2に示した通信装置101は、送信機能300Aにより分割データdiの送信処理を実行し、通信装置102は、受信機能300Bにより分割データdiの受信処理を実行する。
送信機能300Aは、分割部701と、暗号化部702と、決定部703と、送信部704と、分割設定情報テーブル400と、経路決定テーブル500と、暗号強度テーブル600と、を有する。分割部701、暗号化部702、決定部703および送信部704は、具体的には、たとえば、図3に示した記憶デバイス302に記憶されたプログラムをプロセッサ301に実行させることにより実現される。分割設定情報テーブル400、経路決定テーブル500および暗号強度テーブル600は、具体的には、たとえば、図3に示した記憶デバイス302により実現される。
分割部701は、送信対象となるデータdを分割して、複数の分割データd1〜dnを生成する。分割部701は、複数の分割データd1〜dnをサイズが同等となるように分割してもよく、先頭側の分割データdiが後続の分割データdj(j>i)よりもサイズが大きくなるように分割してもよい。一般的にネットワーク100ではサイズの大きなデータほど通信に時間がかかるため、先頭側の分割データdiの送信に遅延を起こさせることができる。
これにより、通信装置102は短い受信時間TL1で分割データ群を受信することになり、受信のためのリソース占有時間の短縮化を図ることができ、通信装置102の負荷低減を図ることができる。このような分割方法について、分割部701は、分割設定情報テーブル400を用いて事前に分割設定情報を設定する。分割部701は、設定された分割設定情報にしたがって、送信対象となるデータdを分割することになる。
暗号化部702は、あらかじめ設定された暗号化アルゴリズムを用いて、データdまたは分割データdiを暗号化する。暗号化アルゴリズムとしては、たとえば、公開鍵暗号方式、Advanced Encryption Standard(AES)などの共通鍵暗号方式、公開鍵暗号方式および共通鍵暗号方式のハイブリッド方式がある。
暗号化部702は、分割前のデータdを暗号化してもよく、分割データdiを暗号化してもよく、暗号化されたデータdから分割された分割データdiを再暗号化してもよい。暗号回数が多いほど暗号化に時間がかかるため、意図的に遅延を生じさせることができる。
暗号化部702は、分割部701で設定された分割設定情報の分割個数403および暗号強度テーブル600を用いて事前に暗号強度情報を設定する。暗号強度情報は、たとえば、複数の分割データの各々について、先頭側の分割データdiが後続の分割データdjよりも暗号化強度が高くなるように設定される。暗号化部702は、設定された暗号強度情報にしたがって、データdまたは分割データdiを暗号化する。暗号化強度が高い、すなわち、暗号鍵のビット長が長いほど、暗号化に時間がかかるため、送信開始が遅れる。したがって、意図的に遅延を生じさせることができる。
決定部703は、ユーザ指定により、または自動的に、経路決定テーブル500を参照して、分割データdiの各々が経由する経路502を決定する。決定部703は、ユーザに指定された本数の経路502を決定する。決定される経路502は、宛先を同一とする異なる経路502である。決定される経路502は、それぞれ冗長度を異ならせてもよく、冗長度を同一としてもよい。
冗長度が高い経路502ほど、各分割データdiはより多くの中継装置を経由するため遅延時間が長くなる。したがって、先頭側の分割データを冗長度の高い経路502で送信し、末尾側の分割データを冗長度の低い経路502で送信する。これにより、通信装置102は短い受信時間TL1で分割データ群を受信することになり、受信のためのリソース占有時間の短縮化を図ることができ、通信装置102の負荷低減を図ることができる。
送信部704は、送信に先立って、決定部703によって決定された経路502の本数で一連の分割データを送信順にグループ分けする。グループ分けの方法についてはあらかじめ設定される。具体的には、たとえば、送信部704は、分割データdiの個数を均等に経路502に配分してグループ分けする。たとえば、経路502が2本で分割データの個数nがn=10である場合、送信部704は、分割された順、すなわち、先頭の分割データd1から分割データd5までのグループと、分割データd6から末尾の分割データd10までのグループにグループ分けする。
また、送信部704は、分割データの総サイズを経路502毎に均等にしてグループ分けする。たとえば、経路502が2本で分割データの個数nがn=10である場合、送信部704は、分割された順、すなわち、先頭の分割データd1から分割データd7までの分割データ群のサイズと、分割データd8から末尾の分割データd10までの分割データ群のサイズと、が同サイズであれば、先頭の分割データd1から分割データd7までの分割データ群と、分割データd8から末尾の分割データd10までの分割データ群と、にグループ分けする。
これにより、経路502の本数と同数のグループが生成される。送信部704は、先頭側のグループほど冗長度が高い経路502を割り当てて、分割データ群を宛先に送信する。
受信機能300Bは、受信部705と、復号部706と、合成部707と、を有する。受信部705、復号部706、および合成部707は、具体的には、たとえば、図3に示した記憶デバイス302に記憶されたプログラムをプロセッサ301に実行させることにより実現される。
受信部705は、分割データ群を受信する。また、受信部705は、受信した分割データが暗号化されていれば、復号部706に出力し、暗号化されていなければ、合成部707に出力する。復号部706は、暗号化された分割データを復号する。復号部706は、復号された分割データを、合成部707に出力する。合成部707は、分割データ群を合成し、元のデータに復元する。
つぎに、フィードバック機能について説明する。フィードバック機能は、分割データ群を送信した結果、受信時間TL1が適正か否かを確認し、適正でない場合には各種設定情報を修正する機能である。フィードバック機能は、受信側の通信装置の受信部705および送信部704と、送信側の通信装置の受信部705、分割部701、暗号化部702、および決定部703により構成される。
受信側の通信装置102の受信部705は、分割データdiごとに、受信開始時刻と受信終了時刻とを検出する。この場合、受信側の通信装置の送信部704は、分割データ毎に検出した受信開始時刻および受信終了時刻を、送信側の通信装置101に送信する。
送信側の通信装置101の受信部705は、受信側の通信装置102の送信部704から送信されてきた、分割データdiに検出した受信開始時刻および受信終了時刻を受信する。分割部701は、分割データdi毎に検出した受信開始時刻および受信終了時刻に基づいて、経路502ごとの受信期間が重複しているか否かを判断する。
具体的には、たとえば、図2に示したように、経路P5で送信された分割データd1〜diまでの受信期間[t1,t3]と、経路P1で送信された分割データdi+1〜dNまでの受信期間[t2,t4]と、が重複しているか否かを判断する。重複している場合、受信時間TL1をさらに短縮することができる。また、重複していない場合、すなわち、t3<t2となる場合、分割データdiの受信後、分割データdi+1が受信されるまでの待機時間が発生し、受信時間TL1が長くなる。
この場合、分割部701、暗号化部702および決定部703は、受信期間[t1,t3]と受信期間[t2,t4]とが重複する場合、または、重複しない場合、以下に示す受信時間TL1の短縮の対策を試行してもよい。受信期間[t1,t3]と受信期間[t2,t4]とが重複する場合、または、重複しない場合(待機時間が発生した場合)のいずれの場合に下記対策を試行するか、または、どの程度重複する場合に下記対策を試行するか、どの程度待機時間が発生した場合に下記対策を試行するか、については、通信装置に事前に設定されたポリシーに依存することになる。
分割部701は、受信時間TL1の短縮の対策として、より冗長度の高い経路502への分割データの個数またはサイズの配分を多くしたりする。また、暗号化部702は、先頭側のグループの暗号強度を高くしてもよい。たとえば、図6に示した暗号強度情報がES6であった場合、暗号化部702は、より先頭側の分割データの暗号強度が高くなるように、暗号強度情報をES6からES7に変更してもよい。また、決定部703は、より先頭側のグループが経由する経路502を、より冗長度が高い経路502に変更してもよい。あるいは、決定部703は、より末尾側のグループが経由する経路502を、より冗長度が低い経路502に変更してもよい。
<データ分割の事前設定処理>
図8は、分割部701による分割の事前設定処理手順例を示すフローチャートである。分割部701は、ユーザからの分割設定入力を待ち受ける(ステップS801:No)。分割設定入力があった場合(ステップS801:Yes)、不図示の分割設定画面が表示され、分割部701は、ユーザからの入力により、分割比402および分割個数403を設定する(ステップS802)。そして、分割部701は、ユーザからの確定ボタンの押下を待ち受け(ステップS803:No)、ステップS802に戻る。
一方、確定ボタンが押下された場合(ステップS803:Yes)、分割部701は、ステップS802で設定された分割比402および分割個数403を特定する分割ID401を分割設定情報として記憶デバイス302に記憶する(ステップS804)。これにより、データdを分割する場合は、分割部701は、この分割設定情報に従って分割することになる。
<暗号化の事前設定処理>
図9は、暗号化部702による暗号化の事前設定処理手順例を示すフローチャートである。暗号化部702は、ユーザからの暗号化設定入力を待ち受け(ステップS901:No)、図8で設定された分割設定情報を読み込む(ステップS902)。分割設定情報を読み込むのは、分割個数403を特定するためである。分割設定情報が設定されていなければ、暗号化部702は、ステップS902で、ユーザからの分割個数403の設定を受け付ける。
つぎに、暗号化部702は、ユーザからの入力により、暗号化タイミングを設定する(ステップS903)。暗号化タイミングとは、暗号化を実行するタイミングであり、「暗号化しない」、分割部701による「分割前」、「分割後」、「分割前および分割後」の両方の4通りがある。
「暗号化しない」が選択された場合、暗号化部702は、「分割前」、「分割後」および「分割前および分割後」のいずれにタイミングでも、データdまたは分割データdiを暗号化しない。
「分割前」が選択された場合、暗号化部702は、分割部701による分割前のデータdを暗号化することになる。したがって、分割部701は、暗号化されたデータdを分割することになる。このため、傍受者は、分割データdiをすべて傍受しなければならず、傍受が困難である。また、すべて傍受して合成したとしても暗号化されているため、解読が困難である。
「分割後」が選択された場合、暗号化部702は、分割部701による分割後の分割データ群の各々を暗号化することになる。このため、傍受者は、暗号化された分割データdiをすべて傍受しなければならず、傍受が困難である。また、すべて傍受したとしても、分割データdiは各々暗号化されているため、解読が困難である。
「分割前および分割後」が選択された場合、暗号化部702は、分割部701による分割前のデータdを暗号化し、かつ、分割部701によって暗号化されたデータdを分割することで得られる分割データ群の各々を暗号化することになる。このため、傍受者は、暗号化された分割データdiをすべて傍受しなければならず、傍受が困難である。また、すべて傍受したとしても、分割データdiは各々暗号化されているため、解読が困難である。また、暗号化された分割データdiの各々の解読が成功したとしても、合成後のデータdも暗号化されているため、解読が困難である。
暗号化タイミングの設定(ステップS903)後、暗号化部702は、ステップS902で特定した分割個数403が2以上であるか否かを判断する(ステップS904)。2以上でない場合(ステップS904:No)、データdは分割部701で分割されないため、ステップS906に移行する。
分割個数403が2以上である場合(ステップS904:Yes)、データdは分割部701で分割される。したがって、暗号化部702は、ユーザ入力により、分割個数403に応じた暗号強度比602を設定する(ステップS905)。たとえば、分割個数403が「2」であれば、ユーザは、強度ID601がES1〜ES4のエントリ(暗号強度情報)から暗号強度比602を選択可能である。そして、暗号化部702は、ユーザからの確定ボタンの押下を待ち受け(ステップS906:No)、ステップS903に戻る。
一方、確定ボタンが押下された場合(ステップS906:Yes)、暗号化部702は、ステップS903で設定された暗号化タイミングおよびステップS905で設定された暗号強度比602を、暗号化設定情報として記憶デバイス302に記憶する(ステップS907)。これにより、データまたは分割データを暗号化する場合は、暗号化部702は、この暗号化設定情報に従って暗号化することになる。
<通信装置(送信側)によるデータ通信処理>
図10は、通信装置(送信側)によるデータ通信処理手順例を示すフローチャートである。通信装置101は、データdの送信開始の入力を待ち受ける(ステップS1001:No)。送信開始の入力があった場合(ステップS1001:Yes)、通信装置101は、図8および図9で記憶デバイス302に記憶された分割設定情報および暗号化設定情報とともに経路設定情報を読み込む(ステップS1002)。経路設定情報も、分割設定情報および暗号化設定情報と同様、あらかじめユーザ入力により決定部703によって設定された設定情報である。経路設定情報は、経路本数と、各経路502のホップ数503と、を含む。
そして、通信装置は、分割設定情報の分割個数403により、データdを分割するか否かを判断する(ステップS1003)。通信装置101は、分割個数403が2以上であれば、分割し(ステップS1003:Yes)、分割個数403が1であれば、分割しない(ステップS1003:No)。
また、通信装置は、暗号化設定情報の暗号化タイミングにより、暗号化するか否かを判断する(ステップS1004)。通信装置は、「暗号化しない」以外のいずれかが選択されていれば、その選択された暗号化タイミングで暗号化し(ステップS1004:Yes)「暗号化しない」が選択されていれば、暗号化しない(ステップS1004:No)。
分割し(ステップS1003:Yes)、かつ、暗号化する場合(ステップS1004:Yes)、通信装置101は、分割設定情報および暗号化設定情報に基づいて、分割部701による分割および暗号化部702による暗号化を実行して(ステップS1005)、ステップS1006に移行する。
また、分割し(ステップS1003:Yes)、かつ、暗号化しない場合(ステップS1004:No)、通信装置101は、分割設定情報に基づいて、分割部701による分割を実行して(ステップS1006)、ステップS1007に移行する。
ステップS1006において、通信装置101は、経路設定情報に基づいて、経路502を設定する(ステップS1006)。具体的には、たとえば、経路設定情報が経路本数2、各経路502のホップ数503が4,1であれば、決定部703は、経路P5と経路P1とを、送信に用いる経路502に決定する。そして、通信装置101は、決定部703のポリシーに従って、分割データ群を複数の経路502に振り分けて宛先に送信する(ステップS1007)。
また、分割せず(ステップS1003:No)、かつ、暗号化する場合(ステップS1009:Yes)、通信装置101は、暗号化設定情報に基づいてデータdの暗号化を実行して(ステップS1009)、ステップS1010に移行する。
また、分割せず(ステップS1003:No)、かつ、暗号化もしない場合(ステップS1009:No)、通信装置101は、データdを暗号化せずにステップS1011に移行する。そして、通信装置101は、決定部703により最適な経路502(たとえば、宛先までのホップ数503が最小の経路502)を決定し(ステップS1011)、決定した経路502でデータdを宛先に送信する(ステップS1012)。
<通信装置(受信側)によるフィードバック処理>
図11は、通信装置(受信側)によるフィードバック処理手順例を示すフローチャートである。通信装置102は、分割データdiの受信を待ち受け(ステップS1101:No)、分割データdiが受信された場合(ステップS1101:Yes)、通信装置102は、受信した分割データdiの受信開始時刻および受信終了時刻を取得する(ステップS1102)。通信装置は、全分割データの受信が完了したか否かを判断する(ステップS1103)。全分割データの受信が完了していない場合(ステップS1103:No)、ステップS1101に戻る。
全分割データの受信が完了した場合(ステップS1103:Yes)、通信装置は、分割データdiごとの受信開始時刻および受信終了時刻(以下、時刻情報)を送信側の通信装置101に返信する(ステップS1104)。なお、図11において、分割データが暗号化された分割データであれば、受信終了時刻を復号終了時刻に置き換えてもよい。
<通信装置(送信側)による設定情報の修正処理>
図12は、通信装置(送信側)による設定情報の修正処理手順例を示すフローチャートである。通信装置101は、時刻情報を受信側の通信装置102から待ち受け(ステップS1201:No)、通信装置101は、受信した時刻情報に基づいて、受信時間TL1を算出する。また、通信装置101は、待機時間も算出する。待機時間は、ある経路502で送信された分割データ群の受信期間と、他の経路502で送信された分割データ群の受信期間が重複していない場合に発生する、両受信期間の間の非受信間隔である。たとえば、図2にもおいて、分割データdiの受信終了時刻t3が、分割データdi+1の受信開始時刻よりも前の時刻であれば、待機時間が算出可能である。
そして、通信装置101は、設定情報(分割設定情報、暗号化設定情報、経路設定情報)を読み込み(ステップS1203)、受信時間TL1に基づいて、設定情報を修正する(ステップS1204)。具体的には、たとえば、通信装置101は、分割設定情報については、冗長度が高い経路502に割り当てられる先頭側の分割データのサイズが大きくなるよう、または、冗長度の低い経路502に割り当てられる末尾側の分割データのサイズが小さくなるよう、分割比402を変更してもよい。たとえば、変更前の分割比402が分割ID401「DV2」の「2:1」の場合、分割部701は、分割比402を分割ID401「DV3」の「3:1」に変更する。
また、通信装置は、暗号化設定情報については、冗長度が高い経路502に割り当てられる先頭側の分割データdiの暗号強度を高くするよう、または、冗長度の低い経路502に割り当てられる末尾側の分割データdjの暗号強度を低くするよう、暗号強度比602を変更してもよい。たとえば、変更前の暗号強度比602が強度ID601「ES2」の「256:128」の場合、分割部701は、暗号強度比602を強度ID601「ES3」の「512:128」に変更する。
また、通信装置は、経路設定情報については、冗長度が高い経路502をよりホップ数503が大きい経路502に、または、冗長度が低い経路502をよりホップ数503が小さい経路502に変更してもよい。たとえば、変更前の冗長度が高い経路502が経路ID501「P2」である場合、分割部701は、ホップ数503が高い経路ID501「P3」に変更する。通信装置101は、修正後の設定情報を記憶デバイス302に記憶する(ステップS1205)。
このように、本実施例によれば、受信側の通信装置102での待機時間の発生を抑制することにより、受信側の通信装置102での処理負荷の低減化を図ることができる。
また、送信側の通信装置101は、分割データ群を異なる経路502で分散送信することで送信時間が短縮するため、送信側の通信装置101の処理負荷の低減化を図ることができる。また、分割データ群を異なる経路502で配信することで、データ通信の安全性の向上を図ることができる。
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
100 ネットワーク
101,102,300 通信装置
300A 送信機能
300B 受信機能
400 分割設定情報テーブル
500 経路決定テーブル
600 暗号強度テーブル
701 分割部
702 暗号化部
703 決定部
704 送信部
705 受信部
706 復号部
707 合成部
R1〜R8 中継装置

Claims (9)

  1. データを分割する分割部と、
    前記分割部によって前記データから分割された複数の分割データの各々について、宛先が同一となる複数の異なる経路を決定する決定部と、
    前記複数の分割データの各々のサイズと、前記決定部によって決定された各経路の冗長度と、に基づいて、前記複数の分割データを前記複数の経路のいずれかに振り分けて前記宛先に送信する送信部と、
    を有することを特徴とする通信装置。
  2. 請求項1に記載の通信装置であって、
    前記送信部は、前記複数の分割データを先頭から前記経路の冗長度が高い順に振り分けて、前記分割データを前記宛先に送信することを特徴とする通信装置。
  3. 請求項1に記載の通信装置であって、
    前記分割部によって前記データから分割された複数の分割データの各々について、ある分割データが後続の分割データよりも暗号化強度が高くなるように暗号化する暗号化部を有し、
    前記送信部は、前記暗号化部によって暗号化された分割データを暗号化された順に前記複数の経路のいずれかに振り分けて、前記暗号化された分割データを前記宛先に送信することを特徴とする通信装置。
  4. 請求項1に記載の通信装置であって、
    前記分割部は、ある分割データが後続の分割データよりもサイズが大きくなるように前記データを分割し、
    前記送信部は、サイズが大きい順に前記複数の分割データを前記複数の経路のいずれかに振り分けて前記宛先に送信することを特徴とする通信装置。
  5. 請求項2または3に記載の通信装置であって、
    前記分割部は、サイズが均等になるように前記データを分割することを特徴とする通信装置。
  6. 請求項1に記載の通信装置であって、
    前記分割データを前記宛先に送信した結果、前記宛先から前記分割データの各々についての受信開始時刻および受信終了時刻を受信する受信部を有し、
    前記分割部は、前記受信部によって受信された前記分割データの各々についての受信開始時刻および受信終了時刻に基づいて、前記複数の分割データの個数およびサイズの少なくとも1つを修正することを特徴とする通信装置。
  7. 請求項1に記載の通信装置であって、
    前記分割データを前記宛先に送信した結果、前記宛先から前記分割データの各々についての受信開始時刻および受信終了時刻を受信する受信部を有し、
    前記分割部は、前記受信部によって受信された前記分割データの各々についての受信開始時刻および受信終了時刻に基づいて、前記複数の分割データの各々の経路の冗長度を修正することを特徴とする通信装置。
  8. 請求項3に記載の通信装置であって、
    前記分割データを前記宛先に送信した結果、前記宛先から前記分割データの各々についての受信開始時刻および受信終了時刻を受信する受信部を有し、
    前記分割部は、前記受信部によって受信された前記分割データの各々についての受信開始時刻および受信終了時刻に基づいて、前記分割データの暗号化強度を修正することを特徴とする通信装置。
  9. データを分割する分割処理と、
    前記分割処理によって前記データから分割された複数の分割データの各々について、宛先が同一となる複数の異なる経路を決定する決定処理と、
    前記複数の分割データの各々のサイズと、前記決定処理によって決定された各経路の冗長度と、に基づいて、前記複数の分割データを前記複数の経路のいずれかに振り分けて前記宛先に送信する送信処理と、
    をプロセッサに実行させることを特徴とする通信プログラム。
JP2018143496A 2018-07-31 2018-07-31 通信装置および通信プログラム Pending JP2020020928A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018143496A JP2020020928A (ja) 2018-07-31 2018-07-31 通信装置および通信プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018143496A JP2020020928A (ja) 2018-07-31 2018-07-31 通信装置および通信プログラム

Publications (1)

Publication Number Publication Date
JP2020020928A true JP2020020928A (ja) 2020-02-06

Family

ID=69588610

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018143496A Pending JP2020020928A (ja) 2018-07-31 2018-07-31 通信装置および通信プログラム

Country Status (1)

Country Link
JP (1) JP2020020928A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022045184A1 (ja) 2020-08-25 2022-03-03 三菱造船株式会社 船舶

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022045184A1 (ja) 2020-08-25 2022-03-03 三菱造船株式会社 船舶

Similar Documents

Publication Publication Date Title
CN109150499B (zh) 动态加密数据的方法、装置、计算机设备和存储介质
US9363078B2 (en) Method and apparatus for hardware-accelerated encryption/decryption
MXPA06009235A (es) Metodo y aparato para procesar criptograficamente datos.
Gupta et al. A new way to design and implementation of hybrid crypto system for security of the information in public network
US20210135851A1 (en) Encryption processing system and encryption processing method
US20210014057A1 (en) Secret search device and secret search method
EP3541007A1 (en) Cryptographic communication apparatus, cryptographic communication system, cryptographic communication method and computer-readable medium
US20080192924A1 (en) Data encryption without padding
JP2020088421A (ja) 通信装置、通信方法、および通信プログラム
CN109257176A (zh) 基于sm2算法的解密密钥分割及解密方法、装置和介质
CN108063760B (zh) 一种分组加密的方法及其系统、分组解密的方法
CN111555880A (zh) 数据碰撞方法、装置、存储介质及电子设备
JP2006311383A (ja) データ管理方法、データ管理システムおよびデータ管理装置
US20240063999A1 (en) Multi-party cryptographic systems and methods
JP2020020928A (ja) 通信装置および通信プログラム
CN108965278A (zh) 交易请求处理方法及装置
US9571271B2 (en) Sending messages by oblivious transfer
KR102522708B1 (ko) 동형 암호문에 대한 통계 연산 수행하는 장치 및 방법
CN108985109A (zh) 一种数据存储方法及装置
JPWO2021001990A1 (ja) データ処理装置、復号装置、データ処理方法、復号方法、データ処理プログラム及び復号プログラム
JP6642425B2 (ja) 条件生成装置、条件生成方法、条件生成プログラム、データベース検索システム、及び、データベース検索プログラム
KR20170005850A (ko) 암호 장치, 기억 시스템, 복호 장치, 암호 방법, 복호 방법, 암호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 및 복호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
KR102130513B1 (ko) 비트치환 연산기, 확장 비트치환 연산기 및 이를 이용한 암호 장치
US20190012469A1 (en) Data processing method and data processing system
KR102066487B1 (ko) 하드웨어 인증칩 기반의 경량 암호 알고리즘 보안 장치