(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-04
(45)【発行日】2023-12-12
(54)【発明の名称】方法、システム及び変換装置
(51)【国際特許分類】
H04L 47/24 20220101AFI20231205BHJP
H04L 43/091 20220101ALI20231205BHJP
G16Y 30/10 20200101ALI20231205BHJP
【FI】
H04L47/24
H04L43/091
G16Y30/10
(21)【出願番号】P 2021555673
(86)(22)【出願日】2019-11-12
(86)【国際出願番号】 JP2019044409
(87)【国際公開番号】W WO2021095138
(87)【国際公開日】2021-05-20
【審査請求日】2022-04-27
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100141519
【氏名又は名称】梶田 邦之
(72)【発明者】
【氏名】沢辺 亜南
【審査官】川口 貴裕
(56)【参考文献】
【文献】特開2010-130329(JP,A)
【文献】特表2019-523621(JP,A)
【文献】Mohsen Imani et al.,Mockingbird: Defending Against Deep-Learning-Based Website Fingerprinting Attacks with Adversarial Traces[online],arXiv:1902.06626v2 [online],2019年05月16日,Retrieved from the Internet: <URL:https://arxiv.org/pdf/1902.06626v2.pdf>
【文献】沢辺 亜南ほか,多様なアプリケーションの通信品質要求を考慮した集約パケット構成手法,電子情報通信学会技術研究報告,2013年11月07日,第113巻, 第292号,pp. 49-54
(58)【調査した分野】(Int.Cl.,DB名)
H04L 47/24 - 47/2491
H04L 43/091
G16Y 30/10
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
送信元の装置からの元の通信フローを、選択されたトラヒック特徴に適合する複数の通信フローに分割することと、
前記複数の通信フローを前記元の通信フローに復元する復元装置へ、前記複数の通信フローの各々に属するパケットを送信することと、
を含み、
前記選択されたトラヒック特徴は、前記元の通信フローについての第1のサービス品質指標とは異なる第2のサービス品質指標に基づいて選択されるトラヒック特徴
であり、
前記第1のサービス品質指標は、リアルタイム性を求めるサービス品質に対応し、
前記第2のサービス品質指標は、リアルタイム性を求めないサービス品質に対応する、方法。
【請求項2】
送信元の装置からの元の通信フローを、選択されたトラヒック特徴に適合する複数の通信フローに分割することと、
前記複数の通信フローを前記元の通信フローに復元する復元装置へ、前記複数の通信フローの各々に属するパケットを送信することと、
を含み、
前記選択されたトラヒック特徴は、パケット到着間隔を含み、
前記複数の通信フローに含まれる通信フローのトラヒック特徴が前記パケット到着間隔に適合するように、当該通信フローにダミーパケットを追加すること、
をさらに含む方法。
【請求項3】
送信元の装置からの元の通信フローを、選択されたトラヒック特徴に適合する複数の通信フローに分割することと、
前記複数の通信フローを前記元の通信フローに復元する復元装置へ、前記複数の通信フローの各々に属するパケットを送信することと、
を含み、
前記選択されたトラヒック特徴は、パケットサイズを含み、
前記複数の通信フローに含まれる通信フローのトラヒック特徴が前記パケットサイズに適合するように、前記元の通信フローに属するパケットを複数のパケットに分割し、又は、前記元の通信フローに属するパケットにダミービットを追加し、又は、前記元の通信フローに属するパケットと1つ以上の他のパケットとを集約すること、
をさらに含む方法。
【請求項4】
前記複数の通信フローの各々に属するパケットは、前記選択されたトラヒック特徴に適合するタイミングで、前記復元装置へ送信される、請求項1~3のいずれか1項に記載の方法。
【請求項5】
前記複数の通信フローの各々において、通信フロー固有の送信元IP(Internet Protocol)アドレス、通信フロー固有の送信元ポート番号、又は通信フロー固有の宛先ポート番号を設定すること、をさらに含む、請求項1~4のいずれか1項に記載の方法。
【請求項6】
変換装置と、
復元装置と、
を含み、
前記変換装置は、
送信元の装置からの元の通信フローを、選択されたトラヒック特徴に適合する複数の通信フローに分割し、
前記複数の通信フローの各々に属するパケットを前記復元装置へ送信し、
前記復元装置は、
前記複数の通信フローの各々に属する前記パケットを受信し、
前記複数の通信フローを前記元の通信フローに復元し、
前記選択されたトラヒック特徴は、前記元の通信フローについての第1のサービス品質指標とは異なる第2のサービス品質指標に基づいて選択されるトラヒック特徴であり、
前記第1のサービス品質指標は、リアルタイム性を求めるサービス品質に対応し、
前記第2のサービス品質指標は、リアルタイム性を求めないサービス品質に対応する、
システム。
【請求項7】
変換装置と、
復元装置と、
を含み、
前記変換装置は、
送信元の装置からの元の通信フローを、選択されたトラヒック特徴に適合する複数の通信フローに分割し、
前記複数の通信フローの各々に属するパケットを前記復元装置へ送信し、
前記復元装置は、
前記複数の通信フローの各々に属する前記パケットを受信し、
前記複数の通信フローを前記元の通信フローに復元し、
前記選択されたトラヒック特徴は、パケット到着間隔を含み、
前記変換装置は、前記複数の通信フローに含まれる通信フローのトラヒック特徴が前記パケット到着間隔に適合するように、当該通信フローにダミーパケットを追加する、システム。
【請求項8】
変換装置と、
復元装置と、
を含み、
前記変換装置は、
送信元の装置からの元の通信フローを、選択されたトラヒック特徴に適合する複数の通信フローに分割し、
前記複数の通信フローの各々に属するパケットを前記復元装置へ送信し、
前記復元装置は、
前記複数の通信フローの各々に属する前記パケットを受信し、
前記複数の通信フローを前記元の通信フローに復元し、
前記選択されたトラヒック特徴は、パケットサイズを含み、
前記変換装置は、前記複数の通信フローに含まれる通信フローのトラヒック特徴が前記パケットサイズに適合するように、前記元の通信フローに属するパケットを複数のパケットに分割し、又は、前記元の通信フローに属するパケットにダミービットを追加し、又は、前記元の通信フローに属するパケットと1つ以上の他のパケットとを集約する、システム。
【請求項9】
前記変換装置は、前記選択されたトラヒック特徴に適合するタイミングで、前記複数の通信フローの各々に属するパケットを前記復元装置へ送信する、請求項6~8のいずれか1項に記載のシステム。
【請求項10】
前記変換装置は、前記複数の通信フローの各々において、通信フロー固有の送信元IP(Internet Protocol)アドレス、通信フロー固有の送信元ポート番号、又は通信フロー固有の宛先ポート番号を設定する、請求項6~9のいずれか1項に記載のシステム。
【請求項11】
送信元の装置からの元の通信フローを、選択されたトラヒック特徴に適合する複数の通信フローに分割する変換手段と、
前記複数の通信フローを前記元の通信フローに復元する復元装置へ、前記複数の通信フローの各々に属するパケットを送信する送信手段と、
を備え、
前記選択されたトラヒック特徴は、前記元の通信フローについての第1のサービス品質指標とは異なる第2のサービス品質指標に基づいて選択されるトラヒック特徴であり、
前記第1のサービス品質指標は、リアルタイム性を求めるサービス品質に対応し、
前記第2のサービス品質指標は、リアルタイム性を求めないサービス品質に対応する変換装置。
【請求項12】
送信元の装置からの元の通信フローを、選択されたトラヒック特徴に適合する複数の通信フローに分割する変換手段と、
前記複数の通信フローを前記元の通信フローに復元する復元装置へ、前記複数の通信フローの各々に属するパケットを送信する送信手段と、
を備え、
前記選択されたトラヒック特徴は、パケット到着間隔を含み、
前記変換手段は、前記複数の通信フローに含まれる通信フローのトラヒック特徴が前記パケット到着間隔に適合するように、当該通信フローにダミーパケットを追加する、変換装置。
【請求項13】
前記送信手段は、前記選択されたトラヒック特徴に適合するタイミングで、前記複数の通信フローの各々に属するパケットを前記復元装置へ送信する、請求項11又は12のいずれか1項に記載の変換装置。
【請求項14】
前記変換手段は、前記複数の通信フローの各々において、通信フロー固有の送信元IP(Internet Protocol)アドレス、通信フロー固有の送信元ポート番号、又は通信フロー固有の宛先ポート番号を設定する、請求項11~13のいずれか1項に記載の変換装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、方法、システム及び変換装置に関する。
【背景技術】
【0002】
あらゆるモノが無線ネットワークを介してインターネットに接続されるIoT(Internet of Things)の普及により、工場や農業等の様々な分野でIoTを活用したユースケースが期待されている。その一方で、多様なモノがインターネットに接続されることで、IoT通信におけるセキュリティリスクが高まることが懸念されている。
【0003】
IoTサービスに対する攻撃例を挙げる。遠隔ロボット制御やネットワークカメラによる監視を想定する。ロボット制御では、遠隔地から制御コマンドが低遅延で到達することで安定した制御が可能となる。また、ネットワークカメラによる監視では、低遅延でカメラからの映像が遠隔の監視サーバに到達することでリアルタイムな監視を実現できる。これらのリアルタイム性を要求するIoTデバイスのトラヒックに対して、悪意のあるユーザが何らかの方法でIoTサービスを識別し、中継装置において膨大なクロストラヒックを挿入すると、スループットの劣化や通信遅延の増大が意図的に引き起こされ、結果としてサービス妨害が起こり得る。また、リアルタイム性を要するサービスに対して通信を遮断することもサービス妨害として挙げられる。
【0004】
近年では、通信トラヒックの暗号化が推進されているため、パケットのペイロードから生のアプリレベルの情報を取得することが困難となってきている。その一方で、統計学や機械学習といったデータ分析技術の高度化により、パケットサイズやパケット到着間隔の統計量等の通信トラヒックの特徴を分析することによって、通信プロトコルのみでなく、アプリケーションやIoTデバイス種別の識別が可能となってきている。このような通信トラヒックの分析技術は、暗号化トラヒックに対する通信品質の改善等に活用できるが、悪意のあるユーザが利用すれば、通信トラヒックの送信元(source)の情報を間接的に推定され、前述のようなIoTサービスに対する攻撃に繋がる恐れがある。このように通信トラヒックを分析することによって間接的に推定した送信元の情報を用いることでセキュリティ攻撃を行うことは、Traffic analysis attack として知られている。Traffic analysis attackにより、特に、通信トラヒックからユーザのWebアクセス先が推定され、ユーザ毎のアクセス傾向等のプライバシーが、悪意のあるユーザに知られてしまう恐れがある。
【0005】
例えば、非特許文献1では、トラヒックの特徴からWebアクセス先を推定する攻撃に対して、トラヒックの統計的な特徴を変換することで誤推定を誘発する方法が、記載されている。具体的には、非特許文献1によれば、ダミーパケットを追加することにより、トラヒックが増加し、スループット特性が変換される。
【先行技術文献】
【非特許文献】
【0006】
【文献】Mohsen Imani, et al., ``Mockingbird: Defending Against Deep-Learning-Based Website Fingerprinting Attacks with Adversarial Traces,’’ arXiv:1902.06626, 2019.
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述したように、非特許文献1では、トラヒックの特徴からWebアクセス先を推定する攻撃者に対して、ダミーパケットを追加することにより、トラヒックが増加し、スループット特性が変換される。しかし、リアルタイム性を要求する通信トラヒックは一般的に高頻度な通信を伴うので、トラヒックの増加は効果的でないと考えられる。具体的には、リアルタイム性を要求する通信トラヒックにダミーパケットが追加されると、当該通信トラヒックは、さらに高頻度な通信を伴うこととなり、結局、リアルタイム性を要求する通信トラヒックとみなされる。そのため、リアルタイム性を要求するサービスを推定したい攻撃者に対しては、ダミーパケットの追加は効果的ではない。
【0008】
本開示の目的は、通信トラヒックの分析による送信元についての推定を誤らせることを可能にする方法、システム及び変換装置を提供することにある。
【課題を解決するための手段】
【0009】
本開示の一側面(aspect)に係る方法は、送信元の装置からの元の通信フローを、選択されたトラヒック特徴に適合する複数の通信フローに分割することと、上記複数の通信フローを上記元の通信フローに復元する復元装置へ、上記複数の通信フローの各々に属するパケットを送信することと、を含む。
【0010】
本開示の一側面に係るシステムは、変換装置と、復元装置と、を含み、上記変換装置は、送信元の装置からの元の通信フローを、選択されたトラヒック特徴に適合する複数の通信フローに分割し、上記複数の通信フローの各々に属するパケットを上記復元装置へ送信し、上記復元装置は、上記複数の通信フローの各々に属する前記パケットを受信し、上記複数の通信フローを上記元の通信フローに復元する。
【0011】
本開示の一側面に係る変換装置は、送信元の装置からの元の通信フローを、選択されたトラヒック特徴に適合する複数の通信フローに分割する変換部と、上記複数の通信フローを上記元の通信フローに復元する復元装置へ、上記複数の通信フローの各々に属するパケットを送信する送信部と、を備える。
【発明の効果】
【0012】
本開示によれば、通信トラヒックの分析による送信元についての推定を誤らせることが可能になる。なお、本開示により、当該効果の代わりに、又は当該効果とともに、他の効果が奏されてもよい。
【図面の簡単な説明】
【0013】
【
図1】第1の実施形態に係るシステムの概略的な構成の一例を示す。
【
図2】第1の実施形態に係る変換装置の概略的な機能構成の例を示すブロック図である。
【
図3】第1の実施形態に係る変換装置の概略的なハードウェア構成の例を示すブロック図である。
【
図4】第1の実施形態に係る復元装置の概略的な機能構成の例を示すブロック図である。
【
図5】第1の実施形態に係る復元装置の概略的なハードウェア構成の例を示すブロック図である。
【
図6】トラヒック特徴に含まれる周期及び周期ごとのパケット列の第1の例を示す。
【
図7】トラヒック特徴に含まれる周期及び周期ごとのパケット列の第2の例を示す。
【
図8】第1の実施形態に係る変換ポリシー決定処理の概略的な流れの例を説明するためのフローチャートである。
【
図9】第1の実施形態に係る分割後の通信フローの送信タイミング決定方法の例を示す。
【
図10】第1の実施形態に係る通信フローの変換及び復元の処理の概略的な流れの例を説明するためのシーケンス図である。
【
図11】第1の実施形態に係る通信フローの分割なしでの動画トラヒックの送信の例を示す。
【
図12】第1の実施形態に係る通信フローの分割ありでの動画トラヒックの送信の例を示す。
【
図13】第2の実施形態に係るシステムの概略的な構成の一例を示す。
【
図14】第2の実施形態に係る変換装置の概略的な機能構成の例を示すブロック図である。
【
図15】第2の実施形態に係る変換装置の概略的なハードウェア構成の例を示すブロック図である。
【
図16】第2の実施形態に係る復元装置の概略的な機能構成の例を示すブロック図である。
【
図17】第2の実施形態に係る復元装置の概略的なハードウェア構成の例を示すブロック図である。
【
図18】第2の実施形態に係る通信フローの変換及び復元の処理の概略的な流れの例を説明するためのシーケンス図である。
【発明を実施するための形態】
【0014】
以下、添付の図面を参照して本開示の実施形態を詳細に説明する。なお、本明細書及び図面において、同様に説明されることが可能な要素については、同一の符号を付することにより重複説明が省略され得る。
【0015】
説明は、以下の順序で行われる。
1.第1の実施形態
1.1.システムの構成
1.2.変換装置の構成
1.3.復元装置の構成
1.4.動作例
1.5.第1の変形例
1.6.第2の変形例
1.7.第3の変形例
1.8.第4の変形例
2.第2の実施形態
2.1.システムの構成
2.2.変換装置の構成
2.3.復元装置の構成
2.4.動作例
【0016】
<<1.第1の実施形態>>
図1~
図12を参照して、本開示の第1の実施形態を説明する。
【0017】
<1.1.システムの構成>
図1は、第1の実施形態に係るシステム1の概略的な構成の一例を示す。
図1を参照すると、システム1は、ネットワーク10、送信元の装置(source device)20、宛先の装置(destination device)30、変換装置100及び復元装置200を含む。
【0018】
(1)ネットワーク10
例えば、ネットワーク10は、共有ネットワーク(shared network)であり、悪意のある観測者が、ネットワーク10におけるトラヒックを観測し得る。
【0019】
(2)送信元の装置20及び宛先の装置30
例えば、送信元の装置20は、ネットワーク10経由で宛先の装置30へパケット(即ち、データ)を送信する。例えば、送信元の装置20から宛先の装置30へ送信される一連のパケット(一連のデータ)は、トラヒック又は通信トラヒックと呼ばれ得る。また、当該一連のパケット(一連のデータ)は、通信フローと呼ばれ得る。ここでの通信フローとは、例えば、同一のIP(Internet Protocol)アドレス及び同一のポート番号を含む一連のパケット(一連のデータ)を意味する。IPアドレスは、装置(device)の位置識別子であり、ポート番号は、装置内のアプリケーションの識別子であると言える。
【0020】
例えば、送信元の装置20は、IoTデバイスであり、宛先の装置30は、IoTデバイスからのデータを受信するサーバ(例えば、クラウドサーバ)である。具体的には、例えば、送信元の装置20は、温度センサ等の環境センサ、監視カメラ等のネットワークカメラ(Webカメラとも呼ばれる)、又は遠隔で制御可能なロボットである。ただし、当然ながら、送信元の装置20及び宛先の装置30は、この例に限定されない。
【0021】
なお、
図1には、1つの送信元の装置20が示されているが、当然ながら、複数の送信元の装置20が存在してもよく、当該複数の送信元の装置20の各々に対応する宛先の装置30が存在してもよい。
【0022】
(3)変換装置100及び復元装置200
第1の実施形態では、変換装置100は、送信元の装置20からの元の(original)通信トラヒックを受信し、当該元の通信トラヒックを変換する。当該元の通信トラヒックの変換により、トラヒック特徴(即ち、通信トラヒックの特徴)も変換される。変換装置100は、変換された通信トラヒックをネットワーク10経由で復元装置200へ送信する。復元装置200は、当該変換された通信トラヒックを上記元の通信トラヒックに復元し、上記元の通信トラヒックを宛先の装置30へ送信する。
【0023】
より具体的には、後述するように、変換装置100は、送信元の装置からの元の通信フローを、選択されたトラヒック特徴に適合する複数の通信フローに分割する。当該動作の詳細は、後に説明する。
【0024】
変換装置100は、IoTデバイスからのトラヒックを収容するIoTゲートウェイであってもよく、又は、IoTデバイスのネットワーク内に設置するプロキシサーバであってもよい。復元装置200は、例えば、IoTデバイスからのデータを受信するサーバ(例えば、クラウドサーバ)が属するネットワーク内のプロキシサーバであってもよい。ただし、当然ながら、変換装置100及び復元装置200は、これらの例に限定されない。
【0025】
<1.2.変換装置の構成>
(1)機能構成
図2は、第1の実施形態に係る変換装置100の概略的な機能構成の例を示すブロック図である。
図2を参照すると、変換装置100は、受信部110、変換部120、送信部130及び決定部140を備える。
【0026】
-受信部110
受信部110は、送信元の装置20からの元の通信トラヒックを受信する。即ち、受信部110は、送信元の装置20により生成され、送信されるパケットを受信する。例えば、受信部110は、送信元の装置20からの元の通信フローに属するパケットを受信する。
【0027】
受信部110は、決定部140による変換ポリシーの決定に必要な情報を(例えば送信元の装置20から)受信してもよい。
【0028】
-変換部120
変換部120は、決定部140により決定される変換ポリシーにしたがって、上記元の通信フローについての変換処理を行う。当該変換処理により、トラヒック特徴(即ち、通信トラヒックの特徴)が変換される。
【0029】
より具体的には、後述するように、変換部120は、上記元の通信フローを、選択されたトラヒック特徴に適合する複数の通信フローに分割する。当該動作の詳細は、後に説明する。
【0030】
-送信部130
送信部130は、上記複数の通信フローの各々に属するパケットを復元装置200へ送信する。
【0031】
送信部130は、例えば、決定部140により決定される変換ポリシーも復元装置200へ送信する。
【0032】
-決定部140
決定部140は、上記元の通信フローについての変換処理によりどのようなトラヒック特徴をもつ通信フローを得るかを示す変換ポリシーを決定する。
【0033】
(2)ハードウェア構成
図3は、第1の実施形態に係る変換装置100の概略的なハードウェア構成の例を示すブロック図である。
図3を参照すると、変換装置100は、プロセッサ181、メインメモリ183、ストレージ185、通信インターフェイス187及び入出力インターフェイス189を備える。プロセッサ181、メインメモリ183、ストレージ185、通信インターフェイス187及び入出力インターフェイス189は、バス191を介して互いに接続されている。
【0034】
プロセッサ181は、メインメモリ183から読み出されるプログラムを実行する。一例として、プロセッサ181は、CPU(Central Processing Unit)である。
【0035】
メインメモリ183は、プログラム及び各種データを記憶する。一例として、メインメモリ183は、RAM(Random Access Memory)である。
【0036】
ストレージ185は、プログラム及び各種データを記憶する。一例として、ストレージ185は、SSD(Solid State Drive)及び/又はHDD(Hard Disk Drive)を含む。
【0037】
通信インターフェイス187は、他の装置との通信のためのインターフェイスである。一例として、通信インターフェイス187は、ネットワークアダプタ又はネットワークインターフェイスカードである。
【0038】
入出力インターフェイス189は、キーボード等の入力装置、及びディスプレイ等の出力装置との接続のためのインターフェイスである。
【0039】
受信部110及び送信部130は、プロセッサ181、メインメモリ183及び通信インターフェイス187により実装されてもよい。変換部120及び決定部140は、プロセッサ181及びメインメモリ183により実装されてもよい。
【0040】
当然ながら、変換装置100のハードウェア構成はこの例に限定されない。変換装置100は、他のハードウェア構成により実装されてもよい。
【0041】
あるいは、変換装置100は、仮想化されていてもよい。即ち、変換装置100は、仮想マシンとして実装されてもよい。この場合に、変換装置100(仮想マシン)は、プロセッサ及びメモリ等を含む物理マシン(ハードウェア)及びハイパーバイザ上で仮想マシンとして動作してもよい。当然ながら、変換装置100(仮想マシン)は、複数の物理マシンに分散され、動作してもよい。
【0042】
変換装置100は、プログラム(命令)を記憶するメモリ(メインメモリ183)と、当該プログラム(命令)を実行可能な1つ以上のプロセッサ(プロセッサ181)とを含んでもよい。当該1つ以上のプロセッサは、上記プログラムを実行して、受信部110、変換部120、送信部130及び/又は決定部140の動作を行ってもよい。上記プログラムは、受信部110、変換部120、送信部130及び/又は決定部140の動作をプロセッサに実行させるためのプログラムであってもよい。
【0043】
<1.3.復元装置の構成>
(1)機能構成
図4は、第1の実施形態に係る復元装置200の概略的な機能構成の例を示すブロック図である。
図4を参照すると、復元装置200は、受信部210、復元部220及び送信部230を備える。
【0044】
-受信部210
受信部210は、変換装置100からの複数の通信フロー(即ち、分割後の通信フロー)の各々に属するパケットを受信する。
【0045】
受信部210は、例えば、変換装置100からの変換ポリシーも受信する。
【0046】
-復元部220
復元部220は、上記変換ポリシーにしたがって、上記複数の通信フロー(即ち、分割後の通信フロー)を元の通信フロー(即ち、分割前の通信フロー)に復元する。
【0047】
-送信部230
送信部230は、上記元の通信フローに属するパケットを宛先の装置30へ送信する。
【0048】
(2)ハードウェア構成
図
4は、第1の実施形態に係る復元装置200の概略的なハードウェア構成の例を示すブロック図である。
図3を参照すると、復元装置200は、プロセッサ281、メインメモリ283、ストレージ285、通信インターフェイス287及び入出力インターフェイス289を備える。プロセッサ281、メインメモリ283、ストレージ285、通信インターフェイス287及び入出力インターフェイス289は、バス291を介して互いに接続されている。
【0049】
プロセッサ281は、メインメモリ283から読み出されるプログラムを実行する。一例として、プロセッサ281は、CPU(Central Processing Unit)である。
【0050】
メインメモリ283は、プログラム及び各種データを記憶する。一例として、メインメモリ283は、RAM(Random Access Memory)である。
【0051】
ストレージ285は、プログラム及び各種データを記憶する。一例として、ストレージ285は、SSD(Solid State Drive)及び/又はHDD(Hard Disk Drive)を含む。
【0052】
通信インターフェイス287は、他の装置との通信のためのインターフェイスである。一例として、通信インターフェイス287は、ネットワークアダプタ又はネットワークインターフェイスカードである。
【0053】
入出力インターフェイス289は、キーボード等の入力装置、及びディスプレイ等の出力装置との接続のためのインターフェイスである。
【0054】
受信部210及び送信部230は、プロセッサ281、メインメモリ283及び通信インターフェイス287により実装されてもよい。復元部220は、プロセッサ281及びメインメモリ283により実装されてもよい。
【0055】
当然ながら、復元装置200のハードウェア構成はこの例に限定されない。復元装置200は、他のハードウェア構成により実装されてもよい。
【0056】
あるいは、復元装置200は、仮想化されていてもよい。即ち、復元装置200は、仮想マシンとして実装されてもよい。この場合に、復元装置200(仮想マシン)は、プロセッサ及びメモリ等を含む物理マシン(ハードウェア)及びハイパーバイザ上で仮想マシンとして動作してもよい。当然ながら、復元装置200(仮想マシン)は、複数の物理マシンに分散され、動作してもよい。
【0057】
復元装置200は、プログラム(命令)を記憶するメモリ(メインメモリ283)と、当該プログラム(命令)を実行可能な1つ以上のプロセッサ(プロセッサ281)とを含んでもよい。当該1つ以上のプロセッサは、上記プログラムを実行して、受信部210、復元部220及び/又は送信部230の動作を行ってもよい。上記プログラムは、受信部210、復元部220及び/又は送信部230の動作をプロセッサに実行させるためのプログラムであってもよい。
【0058】
<1.4.動作例>
第1の実施形態では、変換装置100(変換部120)は、送信元の装置20からの元の通信フローを、選択されたトラヒック特徴に適合する複数の通信フローに分割する。変換装置100(送信部130)は、上記複数の通信フローに属するパケットを復元装置200へ送信する。
【0059】
さらに、第1の実施形態では、復元装置200(受信部210)は、上記複数のフローの各々に属する上記パケットを受信する。復元装置200(復元部220)は、上記複数の通信フローを上記元の通信フローに復元する。
【0060】
以下、第1の実施形態に係る動作をより詳細に説明する。
【0061】
(1)事前準備
まず、事前準備として、変換装置100(決定部140)は、上記複数の通信フロー(即ち、分割後の通信フロー)が適合する上記トラヒック特徴の選択に用いる情報を取得する。
【0062】
例えば、送信元の装置20は、送信元の装置20からの通信トラヒックを観測し、トラヒック特徴を算出する。例えば、送信元の装置20は、送信元の装置20の通信インターフェイスのトラヒックを観測してもよい。あるいは、送信元の装置20と宛先の装置30との間にある中継装置が、送信元の装置20からの通信トラヒックを観測してもよい。
【0063】
上記トラヒック特徴は、例えば、パケットサイズ(bit)及び/又はパケット到着間隔(s)の分布又は統計量(最大値、最小値、平均値、中央値、分散、標準偏差、尖度、及び/又は歪度等)を含む。多くの場合IoTデバイスの通信には周期性が存在するので、上記トラヒック特徴は、周期(s)及び/又は周期ごとのパケット列を含んでもよい。一例として、送信元の装置20は、温度情報を送信する温度センサであってもよく、この場合に、
図6に示されるように、周期は60秒(即ち、60s)であってもよく、周期ごとのパケット列は
図6に示されるとおりであってもよい。別の例として、
図7に示されるように、送信元の装置20は、動画像情報を送信するネットワークカメラであってもよく、この場合に、
図7に示されるように、周期は1秒(即ち、1s)であってもよく、周期ごとのパケット列は
図7に示されるとおりであってもよい。
【0064】
例えば、トラヒック特徴は、端末種別及びサービス品質(Quality of Service:QoS)指標に紐付けられる。当該端末種別は、送信元の装置20の端末種別であり、当該QoS指標は、送信元の装置20が要求するサービス品質(QoS)の指標である。一例として、上記QoS指標は、遅延センシティブ(遅延による影響が大きい特性、換言すると、リアルタイム)又は遅延ロバスト(遅延による影響が小さい特性、換言すると、非リアルタイム)等の定性的なカテゴリである。別の例として、上記QoS指標は、遅延時間100ミリ秒(即ち、100ms)以内、又は、スループット1Mbps以上等の、定量的な値の範囲であってもよい。
【0065】
変換装置100(決定部140)は、例えば、上記端末種別、上記QoS指標及び上記トラヒック特徴を取得する。一例として、送信元の装置20は温度センサであってもよい。この場合に、上記端末種別は、当該温度センサの型番であってもよく、上記QoS指標は遅延ロバストであってもよく、上記トラヒック特徴は、上記温度センサから取得されてもよい。別の例として、送信元の装置20はネットワークカメラであってもよい。この場合に、上記端末種別は、当該ネットワークカメラの型番であってもよく、上記QoS指標は、遅延センシティブ及び/又は帯域センシティブであってもよく、上記トラヒック特徴は、上記ネットワークカメラから取得されてもよい。
【0066】
例えば、変換装置100は、複数の送信元の装置20について、上記端末種別、上記QoS指標及び上記トラヒック特徴のセットを取得する。これにより、複数の送信元の装置20の各々についての当該セットが事前に用意される。
【0067】
(2)変換ポリシーの決定
変換装置100(決定部140)は、送信元の装置20からの元の通信フローについての変換処理によりどのようなトラヒック特徴をもつ通信フローを得るかを示す変換ポリシーを決定する。
【0068】
図8は、第1の実施形態に係る変換ポリシー決定処理の概略的な流れの例を説明するためのフローチャートである。
【0069】
例えば、変換装置100(決定部140)は、まず、分割後の通信フロー(即ち、上記複数の通信フロー)が適合する上記トラヒック特徴を選択する(S310)。例えば、上記変換ポリシーは、分割後の通信フローの数、分割後の通信フローのアドレス情報、及び、分割後の通信フローの送信タイミングを含み、変換装置100(決定部140)は、分割後の通信フローの数を決定し(S320)、分割後の通信フローのアドレス情報を決定し(S330)、分割後の通信フローの送信タイミングを決定する(S340)。
【0070】
-S310:トラヒック特徴の選択
変換装置100(決定部140)は、分割後の通信フロー(即ち、上記複数の通信フロー)が適合する上記トラヒック特徴を選択する(S310)。
【0071】
--トラヒック特徴
上記トラヒック特徴は、例えば、パケットサイズ(bit)及び/又はパケット到着間隔(s)を含む。当該パケットサイズ及び/又は当該パケット到着間隔は、例えば、パケットサイズ及び/又はパケット到着間隔の分布又は統計量(例えば、最大値、最小値、平均値、中央値、分散、標準偏差、尖度、及び/又は歪度等)であってもよい。
【0072】
上記トラヒック特徴は、周期(s)及び/又は周期ごとのパケット列を含んでもよい。
【0073】
--選択手法
例えば、変換装置100(決定部140)は、事前準備で取得した情報(即ち、端末種別、QoS指標及び/又はトラヒック特徴)に基づいて、分割後の通信フローが適合するトラヒック特徴を選択する。
【0074】
---QoS指標の設定
具体的には、例えば、まず、変換装置100(決定部140)は、事前準備で取得した送信元の装置20についてのQoS指標(以下、「第1のQoS指標」と呼ぶ)に基づいて、分割後の通信フローについてのQoS指標(以下、「第2のQoS指標」と呼ぶ)を設定する。当該第1のQoS指標は、送信元の装置20からの元の通信フローのQoS指標とも言える。
【0075】
例えば、上記第2のQoS指標(即ち、分割後の通信フローについてのQoS指標)は、上記第1のQoS指標(即ち、送信元の装置20からの元の通信フローのQoS指標)とは異なる。より具体的には、例えば、上記第1のQoS指標は、リアルタイム性を求めるサービス品質に対応し、上記第2のQoS指標は、リアルタイム性を求めないサービス品質に対応する。
【0076】
一例として、上記第1のQoS指標が、遅延センシティブであり、上記第2のQoS指標は、遅延ロバストに設定されてもよい。別の例として、上記第1のQoS指標が、遅延時間100ms以内であり、上記第2のQoS指標は、遅延時間1s以上に設定されてもよい。
【0077】
このような設定により、例えば、あるサービスを別のサービスと見せかけることができる。より具体的には、例えば、リアルタイム性を要求するサービスを非リアルタイムのサービスと見せかけることができる。
【0078】
---トラヒック特徴の選択
さらに、例えば、変換装置100(決定部140)は、上記第2のQoS指標(即ち、分割後の通信フローについてのQoS指標)に基づいて、分割後の通信フローが適合する上記トラヒック特徴を選択する。
【0079】
一例として、変換装置100(決定部140)は、上記第2のQoS指標(即ち、分割後の通信フローについてのQoS指標)と同じQoS指標に紐付けられた端末種別のうちの1つをランダムで選択してもよく、当該1つの端末種別に紐付けられたトラヒック特徴を、分割後の通信フローが適合する上記トラヒック特徴として選択してもよい。例えば、送信元の装置20がネットワークカメラである場合に、上記第1のQoS指標が遅延センシティブであってもよく、上記第2のQoS指標が遅延ロバストに設定されてもよい。この場合に、遅延ロバストに紐付けられた温度センサの型番(端末種別)が選択されてもよく、当該温度センサの型番(端末種別)に紐付けられたトラヒック特徴が選択されてもよい。
【0080】
別の例として、変換装置100(決定部140)は、上記第2のQoS指標(例えば、遅延時間1s以上)に最も近いトラヒック特徴を選択してもよい。
【0081】
さらに別の例として、変換装置100(決定部140)は、上記第2のQoS指標と同じQoS指標に紐付けられたトラヒック特徴の平均値を算出し、当該平均値を、分割後の通信フローが適合する上記トラヒック特徴として選択してもよい。
【0082】
なお、1つのトラヒック特徴ではなく、2つ以上のトラヒック特徴が選択されてもよい。即ち、分割後の通信フロー(即ち、上記複数の通信フロー)は、2つ以上のトラヒック特徴の各々に適合する1つ以上の通信フローを含んでもよい。一例として、分割後の通信フロー(即ち、上記複数の通信フロー)は、第1のトラヒック特徴(例えば、第1の温度センサのトラヒック特徴)に適合する1つ以上の通信フローと、第2のトラヒック特徴(例えば、第2の温度センサのトラヒック特徴)に適合する1つ以上の通信フローとを含んでもよい。
【0083】
-S320:通信フロー数の算出
変換装置100(決定部140)は、上記選択されたトラヒック特徴に基づいて、分割後の通信フローの数を決定する(S320)。
【0084】
例えば、変換装置100(決定部140)は、上記選択されたトラヒック特徴を実現可能な通信フローの数を決定する。換言すると、変換装置100(決定部140)は、上記元の通信フローの復元に必要な分割後の通信フロー(上記選択されたトラヒック特徴に適合するもの)の数を決定する。
【0085】
より具体的には、例えば、分割後の通信フローの数(M)は、[元の通信フローの周期内のパケット数](x)を[選択されたトラヒック特徴の実現に必要な周期内のパケット数](N)で割った結果を切り上げることにより得られる数である。即ち、分割後の通信フローの数(M)は、以下の式により得られる。
【0086】
【0087】
あるいは、分割後の通信フローの数(M)は、以下の式を満たす最小の整数とも言える。
【0088】
【0089】
なお、上述したように、1つのトラヒック特徴ではなく、2つ以上のトラヒック特徴が選択されてもよい。この場合に、上記元の通信フローの復元のために、当該2つ以上のトラヒック特徴の各々に適合する通信フローがいくつ必要であるか、という組合せ問題が解かれてもよい。例えば、上記2つ以上のトラヒック特徴の各々が、インデックスiにより示され、トラヒック特徴iの実現に必要な周期内のパケット数が、Niにより示され、トラヒック特徴iに適合する通信フローの数が、Miにより示され、上記元の通信フローの周期内のパケット数が、xにより示される場合に、Miは、以下の式を満たす最小の整数となる。
【0090】
【0091】
-S330:アドレス情報の決定
変換装置100(決定部140)は、分割後の通信フローのアドレス情報を決定する(S330)。当該アドレス情報は、分割後の通信フローの各々のIPアドレス及びポート番号を含む。
【0092】
上述したように、例えば、通信フローは、同一のIPアドレス及び同一のポート番号を含む一連のパケット(一連のデータ)を意味する。即ち、通信フローは、IPアドレス及びポート番号により識別される。例えば、当該ポート番号は、TCP(Transmission Control Protocol)又はUDP(User Datagram Protocol)のポート番号である。
【0093】
上記複数の通信フロー(即ち、分割後の通信フロー)は、復元装置200へ送信される。よって、上記複数の通信フローの各々の宛先IPアドレスは、復元装置200のIPアドレスとなる。
【0094】
一方、上記複数の通信フロー(即ち、分割後の通信フロー)の各々は、上記複数の通信フローに含まれる他のいずれの通信フローとも異なる通信フローである。よって、上記複数の通信フローの各々の送信元IPアドレス、送信元ポート番号、及び/又は宛先のポート番号は、通信フロー固有の値となる。
【0095】
一例として、分割後の通信フローの数が100である場合に、当該分割後の通信フローの送信元ポート番号は、20001~20100となる。例えば、当該分割後の通信フローの送信元ポート番号も、通信フロー固有のポート番号となる。さらに、送信元IPアドレスも、通信フロー固有のIPアドレスとなってもよい。なお、通信フロー固有のポート番号又は通信フロー固有のIPアドレスは、連続した値ではなく、ランダムに選択された値であってもよい。
【0096】
-S340:送信タイミングの決定
変換装置100(決定部140)は、分割後の上記複数の通信フローの各々について送信タイミングを決定する(S340)。
【0097】
具体的には、例えば、変換装置100(決定部140)は、分割後の上記複数の通信フローの各々の送信タイミングが上記選択されたトラヒック特徴に適合するように、分割後の上記複数の通信フローの各々の送信タイミングを決定する。
【0098】
図9は、第1の実施形態に係る分割後の個々の通信フローの送信タイミング決定方法の例を示す。
図9の例では、元の通信フロー(ORIGINAL FLOW)は、4つの通信フロー(FLOW 1~4)に分割される。元の通信フローについては、通信品質の揺らぎ等により必ずしも周期ごとに同じ間隔でパケットが到達するとは限らないため、パケットは一時的にバッファに格納され得る。通信フロー1のためのパケットが元の通信フローにおいて到達すると、当該パケットは、通信フロー1に属するパケットとして送信される。次に、通信フロー2のためのパケットが元の通信フローにおいて到達すると、当該パケットは、通信フロー2に属するパケットとして送信される。通信フロー3及び通信フロー4も同様に送信される。例えば、通信フロー1の送信タイミングは、周期の開始時点であり、通信フロー2の送信タイミングは、周期の開始時点から時間41だけ後の時点であり、通信フロー3の送信タイミングは、周期の開始時点から時間43だけ後の時点であり、通信フロー4の送信タイミングは、周期の開始時点から時間45だけ後の時点である。
【0099】
変換装置100(決定部140)により決定される分割後の通信フローの送信タイミングは、
図9に示されるような具体的なタイミング(時間41、時間43及び時間45)であってもよい。
【0100】
(3)通信フローの変換と復元
図10は、第1の実施形態に係る通信フローの変換及び復元の処理の概略的な流れの例を説明するためのシーケンス図である。
【0101】
-S410
送信元の装置20は、元の通信フローに属するパケット(即ち、送信元の装置20内で稼働するアプリケーションにより生成されるデータのパケット)を送信する(S410)。変換装置100(受信部110)は、当該元の通信フローに属する当該パケットを受信する。
【0102】
-S420
変換装置100(変換部120)は、送信元の装置20からの上記元の通信フローを、選択されたトラヒック特徴に適合する複数の通信フローに分割する(S420)。
【0103】
例えば、
図8を参照して説明したように、変換装置100(決定部140)は、トラヒック特徴を選択し、当該トラヒック特徴に基づいて変換ポリシーを決定する。変換装置100(変換部120)は、当該変換ポリシーにしたがって、上記元の通信フローを複数の通信フローに分割する。
【0104】
例えば、上記変換ポリシーは、分割後の通信フローの数を含み、変換装置100(変換部120)は、上記元の通信フローを当該数の通信フローに分割する。
【0105】
例えば、上記変換ポリシーは、分割後の通信フローのアドレス情報(IPアドレス及びポート番号)を含み、変換装置100(変換部120)は、当該アドレス情報にしたがって、上記複数の通信フローの各々に、IPアドレス及びポート番号を設定する。とりわけ、変換装置100(変換部120)は、上記複数の通信フローの各々において、通信フロー固有の送信元IPアドレス、通信フロー固有の送信元ポート番号、及び/又は、通信フロー固有の宛先ポート番号を設定する。なお、変換装置100(変換部120)は、上記複数の通信フローの各々において、宛先IPアドレスを復元装置200のIPアドレスに設定する。
【0106】
このように、上記トラヒック特徴に基づいて決定された上記変換ポリシーにしたがって上記元の通信フローが上記複数の通信フローに分割されるので、上記複数の通信フローに関する通信トラヒックの特徴は、上記トラヒック特徴に適合する。
【0107】
-S430
変換装置100(送信部130)は、上記複数の通信フローの各々に属するパケットを復元装置200へ送信する(S430)。
【0108】
例えば、変換装置100(送信部130)は、上記選択されたトラヒック特徴に適合するタイミングで、上記複数の通信フローの各々に属するパケットを復元装置200へ送信する。例えば、上記変換ポリシーは、分割後の通信フローの各々に属する個々のパケットの送信タイミングを含み、変換装置100(送信部130)は、当該送信タイミングにしたがって、上記複数の通信フローの各々に属するパケットを復元装置200へ送信する。
【0109】
復元装置200(受信部210)は、上記複数の通信フローの各々に属するパケットを受信する。
【0110】
-S440
復元装置200(復元部220)は、上記複数の通信フローを上記元の通信フローに復元する(S440)。
【0111】
例えば、変換装置100(送信部130)は、上記変換ポリシーを復元装置200へ送信する。復元装置200(復元部220)は、上記変換ポリシーにしたがって、上記複数の通信フローを上記元の通信フローに復元する。
【0112】
例えば、上記変換ポリシーは、分割後の通信フローのアドレス情報(IPアドレス及びポート番号)と、元の通信フローのアドレス情報(IPアドレス及びポート番号)とを含む。復元装置200(復元部220)は、分割後の通信フロー(即ち、上記複数の通信フロー)のアドレス情報を、元の通信フローのアドレス情報に置き換える。
【0113】
-S450
復元装置200(送信部230)は、上記元の通信フローに属するパケット(即ち、復元されたトラヒック)を宛先の装置30へ送信する(S450)。宛先の装置30は、上記元の通信フローに属する上記パケットを受信する。
【0114】
(4)効果
【0115】
以上のように、元の通信フローの分割と復元が行われる。これにより、例えば、通信トラヒックの分析による送信元についての推定を誤らせることが可能になる。
【0116】
具体的には、通信トラヒックに基づく送信元についての推定は、パケット送信間隔及びパケットサイズ等の通信トラヒックの特徴の統計量を分析することによって行われる。そのため、例えば、
図11に示されるように、送信元の装置20(例えば、ネットワークカメラ)が、リアルタイム性を要求するトラヒック(例えば、動画トラヒック)を宛先の装置30へ送信する場合、ネットワーク10において当該トラヒックの特徴の統計量が分析され、リアルタイム性を要求するトラヒックが送信元の装置20から送信されていると推定され得る。一方、第1の実施形態によれば、
図12に示されるように、リアルタイム性を要求するトラヒック(例えば、動画トラヒック)は、例えば、リアルタイム性を要求しないトラヒック(例えば、センサトラヒック)と同様のトラヒックに分割される。そのため、ネットワーク10では、分割後のトラヒックの特徴の統計量が分析され、リアルタイム性を要求しないトラヒックが送信されていると誤って推定され得る。
【0117】
換言すると、トラヒック特徴(例えば、パケット送信間隔及び/又はパケットサイズ等)が変換されるように通信フローを分割することにより、元のトラヒック(例えば、リアルタイム性を要求するトラヒック)を他のトラヒック(例えば、リアルタイム性を要求しない他のトラヒック)に見せかけることができる。即ち、通信フローを分割し、フロー単位のトラヒック量を削減することにより、高頻度な通信を低頻度な通信に見せかけることができる。よって、通信トラヒック分析による送信元についての誤推定を誘発することができる。
【0118】
<1.5.第1の変形例>
第1の実施形態の上述した例では、元の通信フローが複数の通信フローに分割される。例えば、当該元の通信フローの周期内におけるパケット数が通信フロー数の整数倍であれば、当該元の通信フロー内のパケットを過不足なく複数のフローに割り当てることができる。
【0119】
しかし、元の通信フローの周期内におけるパケット数がフロー数の整数倍であることは多くない。この場合に、分割後の通信フローの中には、パケット数が少ない通信フローが存在し、当該通信フローは、選択されたトラヒック特徴(特に、パケット到着間隔)に良好に適合しなくなり得る。その結果、誤推定を正確に誘発することが困難になり得る。
【0120】
そこで、第1の実施形態の第1の変形例では、変換装置100(変換部120)は、上記複数の通信フロー(即ち、分割後の通信フロー)に含まれる通信フローのトラヒック特徴が、上記選択されたトラヒック特徴に含まれるパケット到着間隔に適合するように、当該通信フローにダミーパケットを追加する。
【0121】
より具体的には、例えば、上記複数の通信フロー(即ち、分割後の通信フロー)に含まれる通信フロー内の単位時間あたりのパケット数が、上記選択されたトラヒック特徴に含まれるパケット到着間隔(例えば、分布又は統計量)に対応するパケット数よりも小さい場合に、変換装置100(変換部120)は、当該通信フローにダミーパケットを追加する。即ち、上記複数の通信フローのうち、単位時間あたりのパケット数が上記選択されたトラヒック特徴に含まれるパケット到着間隔に対応するパケット数よりも小さい通信フローに、ダミーパケットが追加される。上記ダミーパケットは、当該通信フローに含まれるパケットと同じアドレス情報をもつ。
【0122】
このようなダミーパケットの追加(即ち、パケットパディング)により、例えば、上記複数の通信フロー(即ち、分割後の通信フロー)に含まれる通信フローが上記選択されたトラヒック特徴(特に、パケット到着間隔)に適合するようになる。そのため、通信トラヒックの分析による誤推定が正確に誘発され得る。
【0123】
なお、ダミーパケットが追加される場合、復元装置200(復元部220)は、上記複数の通信フロー(即ち、分割後の通信フロー)を上記元の通信フローに復元するときに、上記ダミーパケットを破棄する。このようなダミーパケットの破棄を可能にするために、変換装置100(変換部120)は、上記ダミーパケットのヘッダ又はペイロード(例えば、末尾の数ビット)に識別情報を付与する。復元装置200(復元部220)は、当該識別情報を含むパケットをダミーパケットとして識別し、当該パケット(即ち、ダミーパケット)を破棄する。
【0124】
<1.6.第2の変形例>
サイズが大きいデータが送信元の装置20により送信される場合、当該データは、ネットワークで処理可能なパケットの最大サイズであるMTU(Maximum Transmission Unit)にフラグメントされる。この場合、送信元の装置20により送信されるパケットのサイズの分布は、MTUに偏っている。
【0125】
一方、送信元の装置20により送信されるパケットのサイズの分布がMTUに偏っていない可能性もある。例えば、温度センサ等の環境センサは、MTUよりもサイズが小さい(例えば、数バイト~数百バイト程度)データを送信する。このような場合に、送信元の装置20からの通信フローに適合するトラヒック特徴の候補(特に、パケットサイズ)がなく、当該通信フローに適合するトラヒック特徴を選択することが困難になる可能性がある。また、その逆も起こりえる。即ち、トラヒック特徴の候補におけるパケットサイズが小さいため、送信元の装置20からの通信フローに適合するトラヒック特徴の候補(特に、パケットサイズ)がなく、当該通信フローに適合するトラヒック特徴を選択することが困難になる可能性がある。
【0126】
そこで、第1の実施形態の第2の変形例では、変換装置100(変換部120)は、上記複数の通信フロー(即ち、分割後の通信フロー)に含まれる通信フローのトラヒック特徴が、上記選択されたトラヒック特徴に含まれるパケットサイズに適合するように、上記元の通信フローに属するパケットに対して特定の処理(例えば、パケットの分割、ダミービットの追加、又は、パケットの集約)を行う。
【0127】
なお、上記特定の処理が行われる場合、復元装置200(復元部220)は、上記複数の通信フロー(即ち、分割後の通信フロー)を上記元の通信フローに復元するときに、当該特定の処理に対応する復元処理も行う。このような復元処理を可能にするために、変換装置100(変換部120)は、上記特定の処理により生成されたパケットのヘッダ又はペイロード(例えば、末尾の数ビット)に識別情報を付与する。復元装置200(復元部220)は、当該識別情報を含むパケットを、上記特定の処理により生成されたパケットとして識別し、当該パケットに対して上記復元処理を行う。上記識別情報は、上記特定の処理の内容に応じた識別情報であってもよく、復元装置200(復元部220)は、上記識別情報に基づいて、上記特定の処理の内容を識別してもよい。
【0128】
(1)第1の例:パケットの分割
第1の例として、変換装置100(変換部120)は、上記複数の通信フロー(即ち、分割後の通信フロー)に含まれる通信フローのトラヒック特徴が、上記選択されたトラヒック特徴に含まれるパケットサイズに適合するように、上記元の通信フローに属するパケットを複数のパケットに分割してもよい。
【0129】
具体的には、例えば、上記元の通信フローに属するパケットのサイズ(例えば、分布又は統計量)が、上記選択されたトラヒック特徴に含まれるパケットサイズ(例えば、分布又は統計量)よりも大きい場合に、変換装置100(変換部120)は、上記元の通信フローに属するパケットを複数のパケットに分割してもよい。
【0130】
一例として、変換装置100(変換部120)は、上記選択されたトラヒック特徴に含まれるパケットサイズの分布の最大値を超えるパケットを、当該分布において発生確率が高いパケットサイズのパケットに分割してもよい。例えば、上記元の通信フローに属するパケットが1500バイトのパケットであり、上記選択されたトラヒック特徴において、パケットサイズの平均が500バイトであり、パケットサイズの最大値1000バイトである場合に、上記元の通信フローの上記パケットは、500バイトのパケットと1000バイトのパケットとに分割されてもよい。あるいは、上記元の通信フローの上記パケットは、750バイトの2つのパケットに分割されてもよい。
【0131】
別の例として、変換装置100(変換部120)は、上記選択されたトラヒック特徴に含まれるパケットサイズの分布の最大値を超えるパケットを、確率的に選択されたパケットに分割してもよい。例えば、上記元の通信フローの10個のパケットが到着し、当該10個のパケットの各々のサイズが800バイトである場合に、当該10個のパケットの中から4個のパケットが選択され、当該4個のパケットの各々が、500バイトのパケットと300バイトのパケットとに分割されてもよい。これにより、例えば、分割後の通信フローのトラヒック特徴をより自然な確率分布に近づけることが可能になる。
【0132】
例えば以上のようにパケットの分割が行われてもよい。これにより、例えば、パケットのサイズがより小さくなり、分割後の通信フローに属するパケットが、上記選択されたトラヒック特徴に含まれるパケットサイズに適合するようになる。そのため、通信トラヒックの分析による誤推定が正確に誘発され得る。
【0133】
なお、復元装置200における復元処理のために、変換装置100(変換部120)は、上記複数のパケット(即ち、分割後のパケット)の各々のヘッダ又はペイロード(例えば、末尾の数ビット)に識別情報を付与してもよい。当該識別情報は、元のパケットと、当該元のパケットにおける順序とを示してもよい。
【0134】
(2)第2の例:ダミービットの追加
第2の例として、変換装置100(変換部120)は、上記複数の通信フロー(即ち、分割後の通信フロー)に含まれる通信フローのトラヒック特徴が、上記選択されたトラヒック特徴に含まれるパケットサイズに適合するように、上記元の通信フローに属するパケットにダミービットを追加してもよい。
【0135】
具体的には、例えば、上記元の通信フローに属するパケットのサイズ(例えば、分布又は統計量)が、上記選択されたトラヒック特徴に含まれるパケットサイズ(例えば、分布又は統計量)よりも小さい場合に、変換装置100(変換部120)は、上記元の通信フローに属するパケットにダミービットを追加してもよい。
【0136】
一例として、変換装置100(変換部120)は、上記元の通信フローに属するパケットのサイズが、上記選択されたトラヒック特徴に含まれるパケットサイズの平均値になるように、上記元の通信フローの上記パケットにダミービットを追加してもよい。
【0137】
例えば以上のようにダミービットの追加が行われてもよい。これにより、例えば、パケットのサイズがより大きくなり、分割後の通信フローに属するパケットが、上記選択されたトラヒック特徴に含まれるパケットサイズに適合するようになる。そのため、通信トラヒックの分析による誤推定が正確に誘発され得る。
【0138】
なお、復元装置200における復元処理のために、変換装置100(変換部120)は、ダミービットが追加された各パケットのヘッダ又はペイロード(例えば、末尾の数ビット)に識別情報を付与してもよい。当該識別情報は、追加されたビットの数、及び、追加されたビットの位置(例えばパケットの末尾等)を示してもよい。
【0139】
(3)第3の例:パケットの集約
第3の例として、変換装置100(変換部120)は、上記複数の通信フロー(即ち、分割後の通信フロー)に含まれる通信フローのトラヒック特徴が、上記選択されたトラヒック特徴に含まれるパケットサイズに適合するように、上記元の通信フローに属するパケットと1つ以上の他のパケットとを集約してもよい。即ち、変換装置100(変換部120)は、上記元の通信フローの当該パケットと当該1つ以上の他のパケットとを含む集約パケットを生成してもよい。
【0140】
上記1つ以上の他のパケットは、上記元の通信フローとは異なる他の元の通信フローに属するパケットであってもよい。即ち、複数の元の通信フローからのパケットが集約されてもよい。さらに、上記他の元の通信フローは、他の送信元の装置20の通信フローであってもよい。即ち、複数の送信元の装置20からのパケットが集約されてもよい。
【0141】
具体的には、例えば、上記元の通信フローに属するパケットのサイズ(例えば、分布又は統計量)が、上記選択されたトラヒック特徴に含まれるパケットサイズ(例えば、分布又は統計量)よりも小さい場合に、変換装置100(変換部120)は、上記元の通信フローの上記パケットと、上記1つ以上の他のパケットとを集約してもよい。
【0142】
一例として、変換装置100(変換部120)は、集約パケットのサイズが、上記選択されたトラヒック特徴に含まれるパケットサイズの平均値になるように、上記元の通信フローの上記パケットと、上記1つ以上の他のパケットとを集約してもよい。
【0143】
例えば以上のようにパケットの集約が行われてもよい。これにより、例えば、パケットのサイズがより大きくなり、分割後の通信フローに属するパケットが、上記選択されたトラヒック特徴に含まれるパケットサイズに適合するようになる。そのため、通信トラヒックの分析による誤推定が正確に誘発され得る。また、分割後の通信フローには、例えば複数の装置からの通信フローが混在するようになるので、個々の送信元の装置20についての推定がさらに難しくなり得る。
【0144】
なお、復元装置200における復元処理のために、変換装置100(変換部120)は、集約パケットのヘッダ又はペイロード(例えば、末尾の数ビット)に識別情報を付与してもよい。当該識別情報は、上記集約パケットにおける複数のパケット間の区切りを示してもよい。
【0145】
<1.7.第3の変形例>
第1の実施形態の上述した例では、変換装置100(変換部120)が送信元の装置20からの元の通信フローを複数の通信フローに分割することを説明した。これにより、元のトラヒック(例えば、リアルタイム性を要求するトラヒック)を他のトラヒック(例えば、リアルタイム性を要求しない他のトラヒック)に見せかけることができる。しかし、第1の実施形態はこの例に限定されない。
【0146】
第1の実施形態の第3の変形例では、変換装置100(変換部120)は、送信元の装置20からの複数の元の通信フローを集約する。変換装置100(変換部120)は、単一の送信元の装置20からの複数の元の通信フローを集約してもよく、複数の送信元の装置20からの複数の元の通信フローを集約してもよい。さらに、変換装置100(送信部130)は、集約後の通信フローを復元装置200へ送信する。
【0147】
これによっても、元のトラヒックを他のトラヒックに見せかけることができる。そのため、誤推定が正確に誘発され得る。
【0148】
<1.8.第4の変形例>
第1の実施形態の上述した例では、変換装置100は、送信元の装置20とは異なる装置であり、復元装置200は、宛先の装置30とは異なる装置である。しかしながら、第1の実施形態はこの例に限定されない。
【0149】
第1の実施形態の第4の変形例では、変換装置100は、送信元の装置20であってもよい。即ち、変換装置100の動作又は機能は、送信元の装置20において実装されてもよい。
【0150】
さらに/あるいは、第1の実施形態の第4の変形例では、復元装置200は、宛先の装置30であってもよい。即ち、復元装置200の動作又は機能は、宛先の装置30において実装されてもよい。
【0151】
<<2.第2の実施形態>>
図13~
図18を参照して、本開示の第2の実施形態を説明する。上述した第1の実施形態は、具体的な実施形態であるが、第2の実施形態は、より一般化された実施形態である。
【0152】
<2.1.システムの構成>
図13は、第2の実施形態に係るシステム2の概略的な構成の一例を示す。図
13を参照すると、システム2は、ネットワーク50、変換装置600及び復元装置700を含む。
【0153】
ネットワーク50、変換装置600及び復元装置700についての説明は、例えば、符号の相違を除き、第1の実施形態に係るネットワーク10、変換装置100及び復元装置200についての説明と同じである。よって、ここでは重複する説明を省略する。
【0154】
なお、当然ながら、第2の実施形態に係るネットワーク50、変換装置600及び復元装置700は、この例に限定されない。
【0155】
<2.2.変換装置の構成>
(1)機能構成
図14は、第2の実施形態に係る変換装置600の概略的な機能構成の例を示すブロック図である。
図14を参照すると、変換装置600は、変換部610及び送信部620を備える。
【0156】
変換部610及び送信部620についての説明は、例えば、符号の相違を除き、第1の実施形態に係る変換部120及び送信部130についての説明と同じである。よって、ここでは重複する説明を省略する。
【0157】
なお、当然ながら、第2の実施形態に係る変換部610及び送信部620は、この例に限定されない。
【0158】
(2)ハードウェア構成
図15は、第2の実施形態に係る変換装置600の概略的なハードウェア構成の例を示すブロック図である。
図15を参照すると、変換装置600は、プロセッサ681、メインメモリ683、ストレージ685、通信インターフェイス687及び入出力インターフェイス689を備える。プロセッサ681、メインメモリ683、ストレージ685、通信インターフェイス687及び入出力インターフェイス689は、バス691を介して互いに接続されている。
【0159】
変換装置600のハードウェア構成についての説明は、例えば、符号の相違を除き、第1の実施形態に係る変換装置100のハードウェア構成についての説明と同じである。よって、ここでは重複する説明を省略する。
【0160】
なお、当然ながら、第2の実施形態に係る変換装置600のハードウェア構成は、この例に限定されない。
【0161】
<2.3.復元装置の構成>
(1)機能構成
図16は、第2の実施形態に係る復元装置700の概略的な機能構成の例を示すブロック図である。
図16を参照すると、復元装置700は、受信部710及び復元部720を備える。
【0162】
受信部710及び復元部720についての説明は、例えば、符号の相違を除き、第1の実施形態に係る受信部210及び復元部220についての説明と同じである。よって、ここでは重複する説明を省略する。
【0163】
なお、当然ながら、第2の実施形態に係る受信部710及び復元部720は、この例に限定されない。
【0164】
(2)ハードウェア構成
図17は、第2の実施形態に係る復元装置700の概略的なハードウェア構成の例を示すブロック図である。
図17を参照すると、復元装置700は、プロセッサ781、メインメモリ783、ストレージ785、通信インターフェイス787及び入出力インターフェイス789を備える。プロセッサ781、メインメモリ783、ストレージ785、通信インターフェイス787及び入出力インターフェイス789は、バス791を介して互いに接続されている。
【0165】
復元装置700のハードウェア構成についての説明は、例えば、符号の相違を除き、第1の実施形態に係る復元装置200のハードウェア構成についての説明と同じである。よって、ここでは重複する説明を省略する。
【0166】
なお、当然ながら、第2の実施形態に係る復元装置700のハードウェア構成は、この例に限定されない。
【0167】
<2.4.動作例>
図18は、第2の実施形態に係る通信フローの変換及び復元の処理の概略的な流れの例を説明するためのシーケンス図である。
【0168】
変換装置600(変換部610)は、送信元の装置からの元の通信フローを、選択されたトラヒック特徴に適合する複数の通信フローに分割する(S810)。
【0169】
変換装置600(送信部620)は、復元装置700へ上記複数の通信フローの各々に属するパケットを送信する(S820)。復元装置700(受信部710)は、上記複数のフローの各々に属する上記パケットを受信する。
【0170】
復元装置700(復元部720)は、上記複数の通信フローを上記元の通信フローに復元する(S830)。
【0171】
このような通信フローの変換及び復元についての説明は、例えば、符号の相違を除き、第1の実施形態に係る通信フローの変換及び復元についての説明と同じである。よって、ここでは重複する説明を省略する。
【0172】
以上のように、元の通信フローの変換(即ち、分割)と復元が行われる。これにより、例えば、通信トラヒックの分析による送信元についての推定を誤らせることが可能になる。
【0173】
以上、本開示の実施形態を説明したが、本開示はこれらの実施形態に限定されるものではない。これらの実施形態は例示にすぎないということ、及び、本開示のスコープ及び精神から逸脱することなく様々な変形が可能であるということは、当業者に理解されるであろう。
【0174】
例えば、本明細書に記載されている処理におけるステップは、必ずしもフローチャート又はシーケンス図に記載された順序に沿って時系列に実行されなくてよい。例えば、処理におけるステップは、フローチャート又はシーケンス図として記載した順序と異なる順序で実行されても、並列的に実行されてもよい。また、処理におけるステップの一部が削除されてもよく、さらなるステップが処理に追加されてもよい。
【0175】
また、本明細書において説明した変換装置又は復元装置の構成要素の処理を含む方法が提供されてもよく、当該構成要素の処理をプロセッサに実行させるためのプログラムが提供されてもよい。また、当該プログラムを記録したコンピュータに読み取り可能な非一時的記録媒体(Non-transitory computer readable recording medium)が提供されてもよい。当然ながら、このような方法、プログラム、及びコンピュータに読み取り可能な非一時的記録媒体も本開示に含まれる。
【0176】
上記実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【0177】
(付記1)
送信元の装置からの元の通信フローを、選択されたトラヒック特徴に適合する複数の通信フローに分割することと、
前記複数の通信フローを前記元の通信フローに復元する復元装置へ、前記複数の通信フローの各々に属するパケットを送信することと、
を含む方法。
【0178】
(付記2)
前記選択されたトラヒック特徴は、前記元の通信フローについての第1のサービス品質指標とは異なる第2のサービス品質指標に基づいて選択されるトラヒック特徴である、付記1に記載の方法。
【0179】
(付記3)
前記第1のサービス品質指標は、リアルタイム性を求めるサービス品質に対応し、
前記第2のサービス品質指標は、リアルタイム性を求めないサービス品質に対応する、
付記2に記載の方法。
【0180】
(付記4)
前記複数の通信フローの各々に属するパケットは、前記選択されたトラヒック特徴に適合するタイミングで、前記復元装置へ送信される、付記1~3のいずれか1項に記載の方法。
【0181】
(付記5)
前記複数の通信フローの各々において、通信フロー固有の送信元IP(Internet Protocol)アドレス、通信フロー固有の送信元ポート番号、又は通信フロー固有の宛先ポート番号を設定すること、をさらに含む、付記1~4のいずれか1項に記載の方法。
【0182】
(付記6)
前記選択されたトラヒック特徴は、パケット到着間隔を含み、
前記複数の通信フローに含まれる通信フローのトラヒック特徴が前記パケット到着間隔に適合するように、当該通信フローにダミーパケットを追加すること、
をさらに含む、付記1~5のいずれか1項に記載の方法。
【0183】
(付記7)
前記選択されたトラヒック特徴は、パケットサイズを含み、
前記複数の通信フローに含まれる通信フローのトラヒック特徴が前記パケットサイズに適合するように、前記元の通信フローに属するパケットを複数のパケットに分割し、又は、前記元の通信フローに属するパケットにダミービットを追加し、又は、前記元の通信フローに属するパケットと1つ以上の他のパケットとを集約すること、
をさらに含む、付記1~6のいずれか1項に記載の方法。
【0184】
(付記8)
変換装置と、
復元装置と、
を含み、
前記変換装置は、
送信元の装置からの元の通信フローを、選択されたトラヒック特徴に適合する複数の通信フローに分割し、
前記複数の通信フローの各々に属するパケットを前記復元装置へ送信し、
前記復元装置は、
前記複数の通信フローの各々に属する前記パケットを受信し、
前記複数の通信フローを前記元の通信フローに復元する、
システム。
【0185】
(付記9)
前記選択されたトラヒック特徴は、前記元の通信フローについての第1のサービス品質指標とは異なる第2のサービス品質指標に基づいて選択されるトラヒック特徴である、付記8に記載のシステム。
【0186】
(付記10)
前記第1のサービス品質指標は、リアルタイム性を求めるサービス品質に対応し、
前記第2のサービス品質指標は、リアルタイム性を求めないサービス品質に対応する、
付記9に記載のシステム。
【0187】
(付記11)
前記変換装置は、前記選択されたトラヒック特徴に適合するタイミングで、前記複数の通信フローの各々に属するパケットを前記復元装置へ送信する、付記8~10のいずれか1項に記載のシステム。
【0188】
(付記12)
前記変換装置は、前記複数の通信フローの各々において、通信フロー固有の送信元IP(Internet Protocol)アドレス、通信フロー固有の送信元ポート番号、又は通信フロー固有の宛先ポート番号を設定する、付記8~11のいずれか1項に記載のシステム。
【0189】
(付記13)
前記選択されたトラヒック特徴は、パケット到着間隔を含み、
前記変換装置は、前記複数の通信フローに含まれる通信フローのトラヒック特徴が前記パケット到着間隔に適合するように、当該通信フローにダミーパケットを追加する、
付記8~12のいずれか1項に記載のシステム。
【0190】
(付記14)
前記選択されたトラヒック特徴は、パケットサイズを含み、
前記変換装置は、前記複数の通信フローに含まれる通信フローのトラヒック特徴が前記パケットサイズに適合するように、前記元の通信フローに属するパケットを複数のパケットに分割し、又は、前記元の通信フローに属するパケットにダミービットを追加し、又は、前記元の通信フローに属するパケットと1つ以上の他のパケットとを集約する、
付記8~13のいずれか1項に記載のシステム。
【0191】
(付記15)
送信元の装置からの元の通信フローを、選択されたトラヒック特徴に適合する複数の通信フローに分割する変換部と、
前記複数の通信フローを前記元の通信フローに復元する復元装置へ、前記複数の通信フローの各々に属するパケットを送信する送信部と、
を備える変換装置。
【0192】
(付記16)
前記選択されたトラヒック特徴は、前記元の通信フローについての第1のサービス品質指標とは異なる第2のサービス品質指標に基づいて選択されるトラヒック特徴である、付記15に記載の変換装置。
【0193】
(付記17)
前記第1のサービス品質指標は、リアルタイム性を求めるサービス品質に対応し、
前記第2のサービス品質指標は、リアルタイム性を求めないサービス品質に対応する、
付記16に記載の変換装置。
【0194】
(付記18)
前記送信部は、前記選択されたトラヒック特徴に適合するタイミングで、前記複数の通信フローの各々に属するパケットを前記復元装置へ送信する、付記15~17のいずれか1項に記載の変換装置。
【0195】
(付記19)
前記変換部は、前記複数の通信フローの各々において、通信フロー固有の送信元IP(Internet Protocol)アドレス、通信フロー固有の送信元ポート番号、又は通信フロー固有の宛先ポート番号を設定する、付記15~18のいずれか1項に記載の変換装置。
【0196】
(付記20)
前記選択されたトラヒック特徴は、パケット到着間隔を含み、
前記変換部は、前記複数の通信フローに含まれる通信フローのトラヒック特徴が前記パケット到着間隔に適合するように、当該通信フローにダミーパケットを追加する、
付記15~19のいずれか1項に記載の変換装置。
【0197】
(付記21)
前記選択されたトラヒック特徴は、パケットサイズを含み、
前記変換部は、前記複数の通信フローに含まれる通信フローのトラヒック特徴が前記パケットサイズに適合するように、前記元の通信フローに属するパケットを複数のパケットに分割し、又は、前記元の通信フローに属するパケットにダミービットを追加し、又は、前記元の通信フローに属するパケットと1つ以上の他のパケットとを集約する、
付記15~20のいずれか1項に記載の変換装置。
【0198】
(付記22)
送信元の装置からの元の通信フローを、選択されたトラヒック特徴に適合する複数の通信フローに分割することと、
前記複数の通信フローを前記元の通信フローに復元する復元装置へ、前記複数の通信フローの各々に属するパケットを送信することと、
をプロセッサに実行させるプログラム。
【0199】
(付記23)
送信元の装置からの元の通信フローを、選択されたトラヒック特徴に適合する複数の通信フローに分割することと、
前記複数の通信フローを前記元の通信フローに復元する復元装置へ、前記複数の通信フローの各々に属するパケットを送信することと、
をプロセッサに実行させるプログラムを記録したコンピュータに読み取り可能な非一時的記録媒体。
【0200】
(付記24)
変換装置において、
送信元の装置からの元の通信フローを、選択されたトラヒック特徴に適合する複数の通信フローに分割することと、
前記複数の通信フローの各々に属するパケットを復元装置へ送信することと、
前記復元装置において、
前記複数の通信フローの各々に属する前記パケットを受信することと、
前記複数の通信フローを前記元の通信フローに復元することと、
を含む方法。
【0201】
(付記25)
送信元の装置からの元の通信フローを、選択されたトラヒック特徴に適合する複数の通信フローに分割する変換装置から、当該複数の通信フローの各々に属するパケットを受信する受信部と、
前記複数の通信フローを前記元の通信フローに復元する復元部と、
を備える復元装置。
【0202】
(付記26)
送信元の装置からの元の通信フローを、選択されたトラヒック特徴に適合する複数の通信フローに分割する変換装置から、当該複数の通信フローの各々に属するパケットを受信することと、
前記複数の通信フローを前記元の通信フローに復元することと、
を含む方法。
【0203】
(付記27)
送信元の装置からの元の通信フローを、選択されたトラヒック特徴に適合する複数の通信フローに分割する変換装置から、当該複数の通信フローの各々に属するパケットを受信することと、
前記複数の通信フローを前記元の通信フローに復元することと、
をプロセッサに実行させるプログラム。
【0204】
(付記28)
送信元の装置からの元の通信フローを、選択されたトラヒック特徴に適合する複数の通信フローに分割する変換装置から、当該複数の通信フローの各々に属するパケットを受信することと、
前記複数の通信フローを前記元の通信フローに復元することと、
をプロセッサに実行させるプログラムを記録したコンピュータに読み取り可能な非一時的記録媒体。
【符号の説明】
【0205】
1、2 システム
10 ネットワーク
20 送信元の装置
30 宛先の装置
100、600 変換装置
120、610 変換部
130、620 送信部
200、700 復元装置
210、710 受信部
220、720 復元部