(57)【要約】【課題】アドホックネットワークにおける情報漏えいを防止することのできるデータ通信システムを提供する。【解決手段】データ通信システムは、アドホックネットワーク１０によってデータを送受信するシステムであり、送信ノード１１と受信ノード１２を有している。送信ノード１１は、送信すべきデータを複数の分割片に分割し、複数の分割片を複数回に分けて送信する。受信ノード１２は、送信ノード１１から複数回に分けて送信された分割片を受信し、複数の分割片から元のデータを復元する。【選択図】図１
2008312115.tif 000002
【特許請求の範囲】
【請求項１】
アドホックネットワークによってデータを送受信するデータ通信システムであって、
送信すべきデータを、秘密分散アルゴリズムを用いて複数の分割片に分割し、複数の前記分割片を複数回に分けて送信する送信ノードと、
前記送信ノードから複数回に分けて送信された前記分割片を受信し、秘密分散アルゴリズムを用いて、複数の前記分割片から元のデータを復元する受信ノードと、を有するデータ通信システム。
【請求項２】
前記送信ノードは、（ｋ，ｎ）しきい値秘密分散アルゴリズムを用いて前記データをｎ個の分割片に分割し、１回に送信する数がｋ個未満となるように複数回に分けて前記分割片を送信し、
前記受信ノードは、前記送信ノードからｋ個以上の前記分割片を受信して、前記（ｋ，ｎ）しきい値秘密分散アルゴリズムを用いて該分割片から元のデータを復元する、請求項１に記載のデータ通信システム。
【請求項３】
前記送信ノードから前記分割片を送信する毎に前記アドホックネットワーク内の経路を選択しなおす、請求項１または２に記載のデータ通信システム。
【請求項４】
前記アドホックネットワーク内の経路を選択しなおすとき、それまでに使った経路で経由した中継ノードを避けるように経路を選択する、請求項３に記載のデータ通信システム。
【請求項５】
前記経路の選択に用いられるプロトコルがプロアクティブプロトコルであり、
予め経路表に前記送信ノードから前記受信ノードへ複数の経路を用意しておき、経路を選択するとき、予め用意しておいた複数の前記経路を順次切り替えて用いる、請求項３または４に記載のデータ通信システム。
【請求項６】
前記送信ノードは、前記アドホックネットワークのトポロジが変化する毎に前記分割片を送信する、請求項１から５のいずれか１項に記載のデータ通信システム。
【請求項７】
アドホックネットワークによって受信ノードへデータを送信する送信ノードであって、
前記受信ノードに送信すべきデータを、秘密分散アルゴリズムを用いて複数の分割片に分割するデータ分割部と、
前記受信ノードへ前記分割片を送信するための経路を選択し、前記データ分割部で分割された複数の前記分割片を複数回に分けて前記経路に送信する経路選択部と、を有する送信ノード。
【請求項８】
アドホックネットワークによって送信ノードからのデータを受信する受信ノードであって、
前記送信ノードからの分割片を受信するための経路を選択し、前記送信ノードがデータを複数に分割して前記アドホックネットワーク上に複数回に分けて送信した分割片を前記経路から受信する経路選択部と、
前記経路選択部で受信された複数の前記分割片から、秘密分散アルゴリズムを用いて元のデータを復元するデータ復元部と、を有する受信ノード。
【請求項９】
送信ノードから受信ノードへアドホックネットワークによってデータを送信するためのデータ通信方法であって、
前記送信ノードにて、送信すべきデータを、秘密分散アルゴリズムを用いて複数の分割片に分割し、
前記送信ノードから前記アドホックネットワークに複数の前記分割片を複数回に分けて送信し、
前記送信ノードから複数回に分けて送信された前記分割片を前記受信ノードにて前記アドホックネットワークから受信し、
前記受信ノードにて、秘密分散アルゴリズムを用いて、複数の前記分割片から元のデータを復元する、データ通信方法。
【請求項１０】
コンピュータを、アドホックネットワークによってデータを送受信するデータ通信ノードとして動作させるためのプログラムであって、
他のノードに送信すべきデータを、秘密分散アルゴリズムを用いて複数の分割片に分割する手順と、
分割した複数の前記分割片を複数回に分けて前記アドホックネットワーク上に送信する手順と、
他のノードから前記アドホックネットワーク上に複数回に分けて送信された複数の分割片を受信する手順と、
受信した複数の前記分割片から、秘密分散アルゴリズムを用いて元のデータを復元する手順と、コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アドホックネットワークにおける情報漏えいを防止する技術に関する。
【背景技術】
【０００２】
今後、アドホックネットワークが普及するのに伴い、取り扱いに注意が必要なデータがアドホックネットワーク上で転送されることが増えると考えられる。取り扱いに注意が必要なデータとしては例えば個人のプライバシに関する情報がある。
【０００３】
しかし、アドホックネットワークでは第三者のノードが中継ノードとなってデータを中継するため、アドホックネットワークには構造的問題として情報漏えいの不安がある。つまり、プライバシ情報のようなデータをアドホックネットワークに送信する者にとってアドホックネットワーク内での情報漏えいが気がかりとなる。例えば、アドホックネットワーク内で中継を行う第三者がデータを不正に取得して内容の情報を解析したり、さらにその情報を横流ししたりすること等が懸念される。
【０００４】
これに対し、アドホックネットワークで転送されるデータの安全性を高めるための技術はこれまでにも提案されている。
【０００５】
例えば特許文献１に開示された技術は、アドホックネットワークを構成するデバイスの移動端末による使用を認証局によって認証するものである。これによりアドホックネットワークに参加するデバイスの正当性が担保される。
【０００６】
また、他の例として、各ノード間で公開鍵証明書をやり取りして信頼関係を構築した上で、データを公開鍵証明書に基づいて暗号化して送受信する技術がある。暗号化によってデータの計算量的安全性が高まり、アドホックネットワーク上での情報漏えいが抑制される。
【特許文献１】特開２００７−７４３９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１に開示された技術はデバイスを認証するものなので、情報漏えいを直接的に防止することはできない。一方、暗号化は情報漏えいに対する直接的な対策である。しかし、コンピュータの処理能力が日々向上しているため、上述した暗号化のような計算量的安全性に基づく情報漏えい対策では、将来において、いつかは暗号が破られて情報が漏えいするのではないかという不安が残る。
【０００８】
本発明の目的は、アドホックネットワークにおける情報漏えいを防止することのできるデータ通信システムを提供することである。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明のデータ通信システムは、
アドホックネットワークによってデータを送受信するデータ通信システムであって、
送信すべきデータを、秘密分散アルゴリズムを用いて複数の分割片に分割し、複数の前記分割片を複数回に分けて送信する送信ノードと、
前記送信ノードから複数回に分けて送信された前記分割片を受信し、秘密分散アルゴリズムを用いて複数の前記分割片から元のデータを復元する受信ノードと、を有している。
【００１０】
また、前記送信ノードは、（ｋ，ｎ）しきい値秘密分散アルゴリズムを用いて前記データをｎ個の分割片に分割し、１回に送信する数がｋ個未満となるように複数回に分けて前記分割片を送信し、
前記受信ノードは、前記送信ノードからｋ個以上の前記分割片を受信して、前記（ｋ，ｎ）しきい値秘密分散アルゴリズムを用いて該分割片から元のデータを復元することにしてもよい。
【００１１】
前記送信ノードから前記分割片を送信する毎に前記アドホックネットワーク内の経路を選択しなおすことにしてもよい。
【００１２】
また、前記アドホックネットワーク内の経路を選択しなおすとき、それまでに使った経路で経由した中継ノードを避けるように経路を選択することにしてもよい。
【００１３】
前記経路の選択に用いられるプロトコルがプロアクティブプロトコルであり、予め経路表に前記送信ノードから前記受信ノードへ複数の経路を用意しておき、経路を選択するとき、予め用意しておいた複数の前記経路を順次切り替えて用いることにしてもよい。
【００１４】
前記送信ノードは、前記アドホックネットワークのトポロジが変化する毎に前記分割片を送信することにしてもよい。
【発明の効果】
【００１５】
本発明によれば、送信すべきデータを秘密分散アルゴリズムで複数の分割片に分割し、アドホックネットワークに複数回に分けて送信するので、アドホックネットワーク上の中継ノードのいずれにおいても元の完全なデータを取得するのが困難となり、計算量的安全性に基づく情報漏えい対策とは異なる手法によって情報漏えいを防止することができる。
【発明を実施するための最良の形態】
【００１６】
本発明を実施するための形態について図面を参照して詳細に説明する。
【００１７】
図１は、本実施形態によるデータ通信システムの構成を示すブロック図である。図１を参照すると、データ通信システムは、送信ノード１１、受信ノード１２、および中継ノード１３〜１６を有している。
【００１８】
これらノード１１〜１６は全てアドホックネットワーク１０を構成するノードである。アドホックネットワークを構成する各ノードの実体は、デスクトップのパーソナルコンピュータ（ＰＣ）、ノート型のＰＣ、携帯電話機（スマートフォン）、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、家庭用ゲーム機、携帯ゲーム機、ＩＣカード、ＩＣタグ等を想定している。
【００１９】
ここでは、あるノードから他のあるノードへの１つのデータ通信に着目し、送信側のノードを送信ノード１１とし、受信側のノードを受信ノード１２としている。中継ノード１３〜１６は送信ノード１１から受信ノード１２へのデータを中継するノードである。
【００２０】
送信ノード１１は、まず送信すべきデータを、秘密分散アルゴリズムを用いて複数の分割片に分割する。秘密分散アルゴリズムは、秘密にしたいデータを分割片に分散化するアルゴリズムである。各分割片から元のデータについてその一部すら類推することができず、所定数以上の分割片を揃えてはじめて元のデータの復元が可能となる。
【００２１】
さらに送信ノード１１は、各ノードの経路選択機能により送信ノード１１から受信ノード１２までの経路を選択して分割片の一部を送信することを、少なくとも元のデータを復元できるだけの分割片を受信ノード１２に送るまで複数回繰り返す。１回に１つずつ分割片を送信してもよく、あるいは１回に複数の分割片をまとめて送信してよい。
【００２２】
受信ノード１２は、各ノードの経路選択機能により送信ノード１１から受信ノード１２までの経路を選択して送信ノード１２から送信された分割片を受信することを複数回繰り返した後、受信した複数の分割片から、秘密分散アルゴリズムを用いて元のデータを復元する。
【００２３】
中継ノード１３〜１６は、各ノードの経路選択機能により送信ノード１１から受信ノード１２までの経路を選択して送信ノード１２から送信された分割片を、その経路に従って中継する。経路の選択とデータの転送が複数回繰り返された際、１つの中継ノードが複数回にわたって経路に含まれることもあるし、１回だけ経路に含まれることもある。また一度も経路に含まれない中継ノードがあるかもしれない。
【００２４】
送信ノード１１、中継ノード１３〜１６、および受信ノード１２は、送信ノード１１から受信ノード１２への経路を選択しなおすとき、それまでに使った経路と同じにならないように経路を選択することが好ましい。また、それまでに使った経路で経由した中継ノードを含まないように経路を選択することが、より好ましい。ただし、時間経過によってトポロジが変化するアドホックネットワークの性質から、経路を選択しなおせば、異なる経路が選択されることを期待して、異なる経路を意図的に選択するような制御を行わないという手法も採りうる。
【００２５】
また、経路の選択をしなおすことなく同じ経路で、時間差をつけて分割片を送信することにしてもよい。複数の分割片は複数回に分けて時間差をつけて送信されるので、同時に送信された分割片を第三者が取得しても元のデータを復元することはできない。
【００２６】
また、時間経過によってトポロジが変化する毎に分割片を送信することにしてもよい。
【００２７】
本実施形態では、送信ノード１１においてデータを分割するときに秘密分散アルゴリズム、より具体的には（ｋ，ｎ）しきい値秘密分散アルゴリズムを用いる。
【００２８】
秘密分散アルゴリズムは、データを複数の分割片に分割し、予め定められた数（しきい値）以上の分割片を集めた場合にのみ元のデータの復元が可能となるというアルゴリズムである。秘密分散法の中の典型的な一例として（ｋ，ｎ）しきい値秘密分散アルゴリズムがある。
【００２９】
（ｋ，ｎ）しきい値秘密分散アルゴリズムでは、データがｎ個の分割片に分割される。そして、その中の任意のｋ個以上の分割片を集めた場合に元のデータの復元が可能となる。一方、ｋ個未満の分割片からは元のデータを復元できず、また元のデータに関するいかなる情報も得られない。また、この（ｋ，ｎ）しきい値秘密分散アルゴリズムを改良して、復元の際に分割片の改ざんを検知したり、改ざんされた分割片を特定したりできるようにしたアルゴリズムもある。
【００３０】
送信ノード１１は、（ｋ，ｎ）しきい値秘密分散アルゴリズムを用いて、データをｎ個の分割片に分割し、経路を選択しなおしながら複数回に分けてアドホックネットワーク１０上で受信ノード１２に送信する。
【００３１】
送信ノード１１は１回に１つずつ分割片を送信してもよく、あるいは１回に複数の分割片をまとめて送信してよい。ただし、複数の分割片をまとめて送信する場合でも、１回に送信する分割片の数はそれだけで元のデータを復元できない範囲（ｋ個未満）に留める必要がある。送信ノード１１から１回に送信する分割片の数をｋ個未満とすることにより、１回に送信された分割片を、ある中継ノードにて第三者が全て取得したとしても、それらから元のデータを復元することができなくなる。
【００３２】
また、複数回に分けて分割片を送るとき、送信ノード１１は、ｎ個の分割片を全て送るまで経路の選択と分割片の送信を繰り返してもよいが、必ずしも全てを送るまで繰り返す必要は無い。ただし、その場合でも合計でｋ個以上の分割片を送信するまで繰り返す必要はある。本実施形態では全ての分割片を送信する例を示すことにする。
【００３３】
受信ノード１２は、（ｋ，ｎ）しきい値秘密分散アルゴリズムを用いて、送信ノード１１から受信したｋ個以上の分割片から元のデータを復元する。受信ノード１２は、送信ノード１１からｋ個より多くの分割片を受信していれば、その中からｋ個を選んで用いてもよい。
【００３４】
図１は、（ｋ，ｎ）しきい値秘密分散アルゴリズムにおいてｋ＝２、ｎ＝２とし、データを２回に分けて送る例を示しており、１回目は中継ノード１３、１４を経由する経路が用いられ、２回目は中継ノード１５、１６を経由する経路が用いられている。
【００３５】
図２は、本実施形態によるデータ通信システムの動作を示すシーケンス図である。図２の例では、図１と同様に分割片は２回に分けて送られ、１回目は中継ノード１３、１４を経由する経路、２回目は中継ノード１５、１６を経由する経路が用いられる。
【００３６】
図２を参照すると、まず送信ノード１１がデータを２つの分割片に分割する（ステップ１０１）。
【００３７】
続いて、各ノードの経路選択機能により送信ノード１１から受信ノード１２までの経路を選択する（ステップ１０２）。ここでは中継ノード１３、１４を経由する経路が選択されている。その後、送信ノード１１は選択した経路によって１つの分割片を送信する（ステップ１０３）。
【００３８】
次に、各ノードの経路選択機能により送信ノード１１から受信ノード１２までの経路を選択しなおす（ステップ１０４）。ここでは中継ノード１５、１６を経由する経路が選択されている。その後、送信ノード１１は選択しなおした経路によって、もう１つの分割片を送信する（ステップ１０５）。
【００３９】
最後に受信ノード１２は、受信した２つの分割片から元のデータを復元する（ステップ１０６）。
【００４０】
図３は、本実施形態の送信ノードの構成を示すブロック図である。図３を参照すると、送信ノード１１はデータ分割部２１および経路選択部２２を有している。
【００４１】
データ分割部２１は、（ｋ，ｎ）しきい値秘密分散アルゴリズムを用いてデータをｎ個の分割片に分割する。
【００４２】
経路選択部２２は、アドホックネットワークの基本プロトコルに基づいて経路を選択し、データ分割部２１で分割された分割片の中のｋ個未満の分割片を送信することを、ｋ個以上の分割片を送信するまで繰り返す。
【００４３】
アドホックネットワークの基本プロトコルとしてはリアクティブプロコトルとプロアクティブプロトコルがあるが、本実施形態ではいずれを用いてもよい。
【００４４】
リアクティブプロトコルはデータ通信を開始するときに各ノードが経路表を生成してから、その経路表を用いてデータを転送するプロトコルである。本実施形態にリアクティブプロトコルを用いる場合、経路を選択しなおすときに経路表を作成しなおすことにすればよい。
【００４５】
プロアクティブプロトコルは、各ノードが常時経路表を管理しており、その経路表を用いてデータ通信を開始するプロトコルである。本実施形態にプロアクティブプロトコルを用いる場合、一例として、経路表を拡張して送信ノード１１から受信ノード１２への複数の経路を予め経路表に事前に用意しておき、経路を選択しなおす毎に経路表に用意されている経路を順次切り替えて用いることにしてもよい。プロアクティブプロトコルでは予め経路表が用意してあるので、データを送信するときに経路探索が不要であり、データを早く送信することができる。また他の例として、送信ノード１１から受信ノード１２への複数の経路を経路表に用意しておき、その経路を使い切ったら経路探索を行って経路表を更新することにしてもよい。
【００４６】
図４は、本実施形態の受信ノードの構成を示すブロック図である。図４を参照すると、受信ノード１２はデータ復元部３１およびデータ受信部３２を有している。
【００４７】
データ受信部３２は、アドホックネットワークの基本プロトコルに基づいて、送信ノード１１から送信された分割片を受信することを、ｋ個以上の分割片を受信するまで繰り返す。
【００４８】
データ復元部３１は、経路選択部３２で複数回にわたって受信された分割片から、（ｋ，ｎ）しきい値秘密分散アルゴリズムを用いて元のデータを復元する。
【００４９】
なお、本実施形態では、データを分割片に分割した後、それが何の分割片であるかが送信ノード１１と受信ノード１２にしか分からないように暗号化して送ることにしてもよい。特に、同じ経路を複数回にわたって用いる場合には分割片を暗号化するとよい。
【００５０】
なお、ここでは便宜上、送信ノード１１と受信ノード１２を別々に説明しているが、アドホックネットワーク１０では、あるノードが状況によって送信ノード１１となったり受信ノード１２となったりすることが想定される。その場合のノードは上述した送信ノード１１と受信ノード１２の両方の機能を備え、状況によって使い分ければよい。また、そのノードが中継ノードになることもありうるが、その場合には中継ノードとしての機能も備えて使い分ければよい。
【００５１】
また、本実施形態の各ノード１１〜１６はコンピュータがそれぞれのソフトウェアプログラムを実行することによっても実現することができる。
【００５２】
以上説明したように、本実施形態によれば、送信すべきデータを秘密分散アルゴリズムで複数の分割片に分割し、アドホックネットワーク１０上で複数回に分けて送信するので、アドホックネットワーク１０上の中継ノード１３〜１６のいずれにおいても元の完全なデータを取得するのが困難となり、情報漏えいが防止される。
【００５３】
また、本実施形態では、（ｋ，ｎ）しきい値秘密分散アルゴリズムを用いてデータをｎ個の分割片に分割し、１回に送信する数がｋ個未満となるようにして送るので、中継ノード１３〜１６において、１回の分割片の集合から元のデータを復元することが不可能となっている。
【００５４】
次に本実施形態を適用した具体的な状況の例について説明する。ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎ）やスマートフォンなどの端末をノードとしてアドホックネットワーク経由でテーマパーク内のレストランを予約するときを想定する。例えば、予約しようとする人の端末が送信ノードとなり、レストランの予約受け付け用の端末が受信ノードとなる。そしてテーマパーク内の他人の端末が中継ノードとなりうる。
【００５５】
送信するデータには予約者の名前、連絡先、予約時刻などの情報が含まれることになる。予約しようとする人にしてみれば、そのようなデータを、中継ノードを含めて他人に漏らしたくない。そのような場合、本実施形態のようにデータを秘密分散アルゴリズムで複数の分割片に分割し、複数回に分けて送信すれば、他人の中継ノードでは元のデータを復元されることがなく、予約受け付けの受信ノードでは元のデータを復元することができるようになる。
【図面の簡単な説明】
【００５６】
【図１】本実施形態によるデータ通信システムの構成を示すブロック図である。
【図２】本実施形態によるデータ通信システムの動作を示すシーケンス図である。
【図３】本実施形態の送信ノードの構成を示すブロック図である。
【図４】本実施形態の受信ノードの構成を示すブロック図である。
【符号の説明】
【００５７】
１０    アドホックネットワーク
１１    送信ノード
１２    受信ノード
１３〜１６    中継ノード
２１    データ分割部
２２    経路選択部
３１    データ復元部
３２    データ受信部
【図１】
2008312115.tif 000003
【図２】
2008312115.tif 000004
【図３】
2008312115.tif 000005
【図４】
2008312115.tif 000006