説明

分割ダウンロードシステムにおける通信装置および通信制御方法

【課題】分割ダウンロードを行うグループ内の通信装置間の連携を可能にする分割ダウンロードシステム、通信装置および通信制御方法を提供する。
【解決手段】少なくとも1つの送信側通信装置(1)から、任意のデータを分割した複数の部分データを少なくとも1つの他の通信装置と共に分割ダウンロードする通信装置であって、少なくとも1つの部分データPAiと当該部分データに対応する個別データGKAiとを送信側通信装置から受信する通信手段(202,203)と、受信した部分データPAiまたは当該部分データに基づく固有値h(PAi)と個別データGKAiとを用いて任意のデータAの部分データに共通の共通データKAを生成する共通データ生成手段(205)と、を有し、任意の部分データに対応する個別データと前記共通データの一方のデータは、当該任意の部分データまたは当該部分データに基づく固有値h(PAi)と他方のデータとから算出される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は分割ダウンロードシステムに係り、特に分割ダウンロードする通信装置および通信制御方法に関する。
【背景技術】
【0002】
複数の端末がサーバに対して同一のコンテンツを要求する場合、各端末がサーバから当該コンテンツをダウンロードすると、サーバの負荷が大きくなり、ダウンロード速度も低下する。そこで、サーバの処理負担の軽減やダウンロード速度の高速化を図るために、当該コンテンツを分割した部分データを複数の端末がそれぞれ分担してダウンロードする分割ダウンロードが提案されている(たとえば、特許文献1参照)。分割ダウンロードが完了すると、端末間でそれぞれがダウンロードした部分データを相互交換することで、全ての端末が目的のデータを取得することができる。
【0003】
特許文献1によれば、サーバは部分データと配信先の端末とを示す分割ダウンロードマップを作成し、それを各端末に送信することで、各端末は部分データを要求するべき他の端末を把握することができ、部分データの相互交換が容易となる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−132613号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1における分割ダウンロード方法では、端末間で部分データの相互交換を可能にするためには、サーバが全ての端末を管理しなければならない。このために、サーバには端末を管理する機能が必要となり、端末数が増大するに従って管理負荷が益々大きくなるという不都合が生じうる。
【0006】
さらに、分割ダウンロードを行うグループ内の各端末は、同じグループの他の端末が部分データを確実にダウンロードし終わったかどうかを確認することができない。このように複数の端末間が連携していないシステムでは、悪意を持った端末が当該グループに参加して、実際には自ら部分データをダウンロードすることなく、グループの他の端末から部分データのみを収集しようとするかもしれない。例えば、サーバから部分データをダウンロードするのに要する電力や通信コストが高くつく場合、悪意を持った端末がそれらコストを自ら負担せず、データのみを収集しようとするケースである。
【0007】
そこで、本発明の目的は、分割ダウンロードを行うグループ内の通信装置間の連携を可能にする分割ダウンロードシステム、通信装置および通信制御方法を提供することにある。
【課題を解決するための手段】
【0008】
本発明による通信装置は、少なくとも1つの送信側通信装置から、任意のデータを分割した複数の部分データを少なくとも1つの他の通信装置と共に分割ダウンロードする通信装置であって、少なくとも1つの部分データと当該部分データに対応する個別データとを前記送信側通信装置から受信する通信手段と、前記受信した部分データまたは当該部分データに基づいた固有値と前記個別データとを用いて前記任意のデータの部分データに共通の共通データを生成する共通データ生成手段と、を有し、任意の部分データに対応する個別データと前記共通データの一方のデータは、当該任意の部分データまたは当該部分データに基づいた固有値と他方のデータとに基づいて算出されることを特徴とする。
【0009】
本発明による通信制御方法は、少なくとも1つの送信側通信装置から、任意のデータを分割した複数の部分データを少なくとも1つの他の通信装置と共に分割ダウンロードする通信装置の通信制御方法であって、少なくとも1つの部分データと当該部分データに対応する個別データとを前記送信側通信装置から受信し、前記受信した部分データまたは当該部分データに基づいた固有値と前記個別データとを用いて前記任意のデータの部分データに共通の共通データを生成し、任意の部分データに対応する個別データと前記共通データの一方のデータは、当該任意の部分データと他方のデータとに基づいて算出されることを特徴とする。
【0010】
本発明による分割ダウンロードシステムは、少なくとも1つの送信側通信装置から、任意のデータを分割した複数の部分データを複数の通信装置が分割ダウンロードするシステムであって、前記送信側通信装置は、前記複数の部分データと各部分データに対応する個別データとを保存し、前記複数の通信装置の各々に対して部分データと当該部分データに対応する個別データとを送信し、前記複数の通信装置の各々は、前記部分データとそれに対応する前記個別データとを前記送信側通信装置から受信すると、前記受信した部分データまたは当該部分データに基づく固有値と前記個別データとを用いて前記任意のデータの部分データに共通の共通データを生成し、任意の部分データに対応する個別データと前記共通データの一方のデータは、当該任意の部分データまたは当該部分データに基づく固有値と他方のデータとに基づいて算出されることを特徴とする。
【0011】
本発明によるデータ送信装置は、任意のデータを分割した複数の部分データを複数の通信装置へ分割して送信するデータ送信装置であって、前記任意のデータと前記複数の部分データの各々に対応する個別データとを保存する保存手段と、各通信装置からの要求に応じて、当該要求された部分データと当該部分データに対応する個別データとを送信する通信手段と、を有し、前記個別データは前記部分データまたは当該部分データに基づく固有値と前記複数の部分データに共通の共通データとから算出され、各通信装置において前記個別データと前記部分データまたは当該部分データに基づく固有値とに基づいて前記共通データが算出される、ことを特徴とする。
【発明の効果】
【0012】
上述したように、本発明によれば分割ダウンロードを行うグループ内の通信装置間での連携が可能となる。
【図面の簡単な説明】
【0013】
【図1】本発明の第1実施形態による分割ダウンロードシステムの概略的構成図である。
【図2】(A)は図1に示す分割ダウンロードシステムにおけるサーバの機能的構成を示すブロック図、(B)はそのコンテンツ保存部に格納されたデータフォーマットを示す模式図である。
【図3】図1に示す分割ダウンロードシステムにおける通信端末の機能的構成を示すブロック図である。
【図4】図1に示す分割ダウンロードシステムにおけるサーバから部分データおよび鍵生成用データを取得する手順を示すシーケンス図である。
【図5】図4において部分データおよび鍵生成用データを取得した後に鍵データを生成する手順を示すシーケンス図である。
【図6】本発明の第2実施形態による分割ダウンロードシステムにおけるサーバの機能的構成を示すブロック図である。
【図7】本発明の第2実施形態による分割ダウンロードシステムにおける鍵生成用データの取得手順を示すシーケンス図である。
【図8】図1に示す分割ダウンロードシステムにおける通信端末の機能的構成の他の例を示すブロック図である。
【発明を実施するための形態】
【0014】
以下、本発明を実施するための形態について図面を参照して詳細に説明する。なお、本発明は、以下に述べる実施の形態により限定されるものではない。
【0015】
1.第1実施形態
1.1)ネットワーク構成
本実施形態の説明を煩雑にしないために、図1に示すような通信システムを仮定する。すなわち、送信側通信装置としてのサーバ1と、分割ダウンロードを行う通信装置としての端末2および3とがネットワーク4を通して接続可能であり、端末2および3がダウンロードユーザグループ5を形成しているものとする。もちろん、2つ以上のサーバであってもよいし、3つ以上の端末によりダウンロードユーザグループ5が形成されていてもよい。
【0016】
サーバ1は、たとえばHTTPサーバであり、端末からのダウンロード要求に対して、要求されたデータを配信する通信装置である。各端末2、3は、サーバ1に対してネットワーク4を介して目的のデータを要求し、目的のデータをダウンロードすることができる通信機能を有するコンピュータあるいは通信端末であり、たとえば携帯通信端末である。これら端末2および3は、後述するダウンロードユーザグループ5の機能を用いて互いにダウンロードしたデータを相互交換することが可能である。ネットワーク4は、サーバ1と端末2および3との間で通信されるデータを転送するネットワークであり、たとえばIP(Internet Protocol)ネットワークである。
【0017】
ダウンロードユーザグループ5は、端末2と端末3との間でデータを転送するネットワーク上で形成される。このネットワークとしては、例えばIEEE802.11やBluetooth(登録商標)などの近距離無線ネットワーク、Ethernet(登録商標)などの有線ネットワークなどがある。ただし、これらに限定されるものではない。
【0018】
なお、ダウンロードユーザグループ5に属する各端末(ここでは端末2、端末3)は、分割ダウンロードを始める前に、ダウンロードユーザグループ5に属する他の端末との間で何らかの通信方法により調停を行い、各端末がダウンロードを担当する部分データが予め取り決められているものとする。
【0019】
1.2)サーバ
図2(A)に示すように、サーバ1は、受信部101、要求処理部102、コンテンツ保存部103および送信部104を備える。
【0020】
受信部101は、ネットワーク4を介して端末2あるいは端末3から要求情報データを受信する通信部である。ここで、要求情報データには、コンテンツを特定するための識別子が含まれる。識別子は、たとえばURL(Uniform Resource Locator)や、さらに加えてコンテンツに対する部分データのレンジなどで構成される。要求処理部102は、受信した要求情報データに基づいて、部分データまたは鍵生成用データをコンテンツ保存部103から取得する機能を有する。送信部104は、ネットワーク4を介して端末2あるいは端末3へ部分データおよび鍵生成用データを送信する通信部である。
【0021】
コンテンツ保存部103は、図2(B)に示すように、部分データおよび鍵生成用データをそれぞれの識別子と関係づけて保存するストレージであり、ファイルシステムやデータベースなどで実現される。部分データは、端末2あるいは端末3が要求する同一コンテンツの一部分のデータである。また、鍵生成用データは、部分データから計算される固有値とコンテンツに共通の鍵データとを元に計算される値である。
【0022】
図2(B)に示す例では、コンテンツAがN個の部分データPA1〜PANに分割されており、それぞれの部分データPAiとコンテンツAの共通データである鍵データKとから個別データとして鍵生成用データGKA1〜GKANがそれぞれ生成される。鍵生成用データを生成する演算を排他的論理和EXOR、部分データPAiから固有値を計算する関数をh(PAi)とすれば、鍵生成用データGKAiは、
GKAi=EXOR(h(PAi),K
により求めることができ、コンテンツAの共通鍵データKは、
=EXOR(h(PAi),GKAi
で求めることができる。ただし、i=1,2,・・・,Nである。
【0023】
なお、要求処理部102はコンピュータプログラムをCPU等のプログラム制御プロセッサ上で実行することにより、後述する機能を実現することもできる。
【0024】
1.3)端末
図3に示すように、端末2および3は、本実施形態に関して基本的の同一のブロック構成を有する。すなわち、端末2および3は、要求処理部201、送信部202、受信部203、コンテンツ保存部204および共通鍵データ算出部205を備える。
【0025】
要求処理部201は、目的のデータに関する要求情報データの送信を指示し、さらに目的のデータを取得する機能を有する。送信部202は、ネットワーク4を介してサーバ1にデータを送信する通信部である。受信部203は、ネットワーク4を介してサーバ1からデータを受信する通信部である。コンテンツ保存部204は、部分データおよび鍵生成用データを部分コンテンツ識別子と共に保存するストレージである。
【0026】
共通鍵データ算出部205は、コンテンツ保存部204に格納された部分データと鍵生成用データとを用いて鍵データを算出する機能を有する。図2(B)に示す例を用いれば、部分データPAiから算出した固有値h(PAi)と鍵生成用データGKAiとを用いて、コンテンツAの共通鍵データKを演算EXOR(h(PAi),GKAi)により求めることができる。
【0027】
なお、要求処理部201および共通鍵データ算出部205と同等の機能は、コンピュータプログラムをCPU等のプログラム制御プロセッサ上で実行することにより実現することもできる。
【0028】
1.4)部分データおよび鍵生成用データの配付
サーバ1のコンテンツ保存部103には、図2(B)に示すコンテンツAが格納されているものとし、部分データPAiから固有値を計算する関数h(PAi)をハッシュ関数とする。したがって、排他的論理和EXORを用いて、鍵生成用データGKAiは、EXOR(h(PAi),K)により求めることができる。また、鍵データKは、当該コンテンツAを分割して得られた複数の部分データPA1〜PANに共通のデータである。
【0029】
また、上述したように、ダウンロードユーザグループ5に属する各端末は、分割ダウンロードを始める前に、他の端末との間で調停を行い、各端末がダウンロードを担当する部分データを予め決めておく。以下、図4を参照しながら、端末がサーバ1から自身がダウンロードを担当する部分データPAiと、それに対応する鍵生成用データGKAiとを取得するまでの動作シーケンスを説明する。
【0030】
図4において、まず、端末の要求処理部201は、自身が担当する部分データPAiのダウンロードを示す要求情報データの送信を送信部202に対して指示する(ステップS101)。送信部202は要求処理部201の指示に従って要求情報データを送信する(ステップS102)。
【0031】
サーバ1の受信部101は、端末から要求情報データを受信すると、それを要求処理部102に渡す(ステップS103)。要求処理部102は、受信した要求情報データを元に、コンテンツ保存部103に対して部分データを要求する(ステップS104)。コンテンツ保存部103は、要求された部分データPAiを要求処理部102に返す(ステップS105)。要求処理部102は、送信部104に部分データPAiの送信を指示し(ステップS106)、それに従って送信部104は部分データPAiを端末へ送信する(ステップS107)。
【0032】
端末の受信部203は受信した部分データPAiを要求処理部201に渡し(ステップS108)、要求処理部201はそれをコンテンツ保存部204に保存する(ステップS109)。
【0033】
続いて、端末の要求処理部201は、受信した部分データPAiに対応する鍵生成用データGKAiのダウンロードを示す要求情報データの送信を送信部202に対して指示する(ステップS110)。送信部202は要求処理部201の指示に従って要求情報データを送信する(ステップS111)。
【0034】
サーバ1の受信部101は、端末から要求情報データを受信すると、それを要求処理部102に渡す(ステップS112)。要求処理部102は、受信した要求情報データを元に、コンテンツ保存部103に対して鍵生成用データGKAiを要求する(ステップS113)。コンテンツ保存部103は、要求された鍵生成用データGKAiを要求処理部102に返す(ステップS114)。要求処理部102は、送信部104に鍵生成用データGKAiの送信を指示し(ステップS115)、それに従って送信部104は鍵生成用データGKAiを端末へ送信する(ステップS116)。
【0035】
端末の受信部203は受信した鍵生成用データGKAiを要求処理部201に渡し(ステップS117)、要求処理部201はそれをコンテンツ保存部204に保存する(ステップS118)。
【0036】
1.5)鍵データの取得
次に、図5を参照しながら、端末が部分データPAiおよび鍵生成用データGKAiを取得した後、鍵データKを取得するまでの動作シーケンスを説明する。
【0037】
上述したステップS118において部分データPAiおよび鍵生成用データGKAiがコンテンツ保存部204に保存されると、要求処理部201は、共通鍵データ算出部205に対して、データ保存完了を通知する(ステップS201)。共通鍵データ算出部205はコンテンツ保存部204に対して部分データPAiを要求する(ステップS202)。コンテンツ保存部204から部分データPAiを受け取ると(ステップS203)、共通鍵データ算出部205はハッシュ関数を用いて部分データPAiからハッシュ値h(PAi)を算出する(ステップS204)。続いて、共通鍵データ算出部205は、コンテンツ保存部204に対して、鍵生成用データGKAiを要求する(ステップS205)。コンテンツ保存部204から鍵生成用データGKAiを受け取ると(ステップS206)、共通鍵データ算出部205は、部分データのハッシュ値h(PAi)と鍵生成用データGKAiとの排他的論理和EXOR(h(PAi),GKAi)を演算することで、コンテンツAの共通鍵データKを取得する(ステップS207)。
【0038】
このようにグループ5に属する端末(ここでは端末2および3)の各々が担当する部分データPAiおよび鍵生成用データGKAiをダウンロードすることで、上述したステップS202〜S207により、グループ5に属する端末が同一コンテンツAの共通鍵データKを取得することができる。
【0039】
1.6)効果
上述したように、本実施形態によれば、ダウンロードユーザグループに属する各端末は、同一コンテンツAの共通鍵データKを取得することができる。この共通鍵データKを用いることで、互いに相手の端末の部分データがダウンロード完了したことを確認した上で相互交換することが可能になる。このように、本実施形態により、分割ダウンロードを行うグループの端末同士で部分データの相互交換を行う場合、グループに参加する端末が、同じグループの他の端末が部分データをダウンロードし終わったかどうかを確認できるようになる。
【0040】
また、共通鍵データKの使い方としては、次の方法も考えられる。例えば、鍵データを用いたチャレンジ&レスポンス認証や、鍵データを接続情報としてアドホックネットワークを形成することもできる。チャレンジ&レスポンス認証では、鍵データを持っている端末のみが認証に成功する。また、アドホックネットワークを形成した場合は、IEEE802.11(無線LAN)のアドホックネットワークを形成し、その暗号化鍵(WEPキー)として前述の鍵データを用いることで、鍵データを持つ端末のみがそのネットワークに接続できる。
【0041】
さらに、本実施形態によれば、端末側だけでデータの相互交換に必要な調停を行うことができるので、通信システムにおけるサーバをWebサーバの機能を持つ一般的な通信装置に置き換えることでき、汎用性が向上し応用範囲を広げることができる。
【0042】
2.第2実施形態
上述した第1実施形態におけるサーバ1では、鍵生成用データGKを事前に用意してコンテンツ保存部103に格納しているが、次に説明するように、サーバ内で鍵生成用データを生成することも可能である。
【0043】
2.1)サーバの構成
図6に示すように、本発明の第2実施形態によるサーバ6は、受信部601、要求処理部602、コンテンツ保存部603、鍵生成用データ算出部604、ハッシュ値算出部605、鍵生成部606および送信部607を備える。ここで、受信部601、要求処理部602、コンテンツ保存部603および送信部607は、図2(A)に示すサーバ1の受信部101、要求処理部102、コンテンツ保存部103および送信部104にそれぞれ対応し、以下に述べる本実施形態の機能を除いて、同様の機能を有するので、詳細な説明は省略する。
【0044】
要求処理部602は、要求情報データを元に、部分データまたは鍵生成用データをコンテンツ保存部603から取得する機能を有する。ただし、本実施形態における要求情報データは、コンテンツ特定情報、コンテンツの分割数、コンテンツのレンジ、鍵生成用データを特定する情報などを含む。なお、当該コンテンツを所定の分割数で分割して生成された各コンテンツ部分を部分データと称す。コンテンツのレンジはデータ範囲を特定する情報であり、例えば100Mbyteの分割元コンテンツの1〜50Mbyteまでのデータ範囲というように特定する。
【0045】
コンテンツ保存部603は、分割元のコンテンツAと、その部分データの識別子にそれぞれ対応した鍵生成用データGKA1〜GKANとを格納するが、本実施形態における鍵生成用データGKA1〜GKANは鍵生成用データ算出部604により生成されて保存される。なお、本実施形態において、部分データは、要求処理部102やハッシュ値算出部605の要求(コンテンツのレンジなどの部分データ識別子)に応じて随時生成されるものとする。
【0046】
鍵生成用データ算出部604は、部分データPAiから得られたハッシュ値h(PAi)と鍵データKとを用いて鍵生成用データGKAiを算出する機能を有する。これらの関係は、排他的論理和EXORを用いた場合、上述したようにGKAi=EXOR(h(PAi),K)、およびK=EXOR(h(PAi),GKAi)である。ハッシュ値算出部605は、ハッシュ関数を用いて部分データPAiからハッシュ値h(PAi)を算出する機能を有し、鍵生成部606は、鍵データKを新たに生成する機能を有する。
【0047】
なお、要求処理部602、鍵生成用データ算出部604、ハッシュ値算出部605および鍵生成部606は、コンピュータプログラムをCPU等のプログラム制御プロセッサ上で実行することにより、後述する機能を実現することもできる。
【0048】
2.2)鍵生成用データの配付
図7において、部分データPAiを取得した後、端末の要求処理部201は、受信した部分データPAiに対応する鍵生成用データGKAiのダウンロードを示す要求情報データの送信を送信部202に対して指示する(ステップS301)。送信部202は要求処理部201の指示に従って要求情報データを送信する(ステップS302)。
【0049】
サーバ6の受信部601は、端末から要求情報データを受信すると、それを要求処理部602に渡す(ステップS303)。要求処理部602は、受信した要求情報データを元に、コンテンツ保存部603に対して鍵生成用データGKAiを要求する(ステップS304)。コンテンツ保存部603は、要求された鍵生成用データGKAiがあれば、それを要求処理部602に返すが、要求された鍵生成用データGKAiがなければ、存在しないことを要求処理部602に通知する(ステップS305)。このとき、要求処理部602は、鍵生成用データGKAiを取得できれば(有)、ステップS321へ飛ぶ。
【0050】
要求された鍵生成用データGKAiがない旨の通知を受けると(無)、要求処理部602は、鍵生成用データ算出部604に対して、要求情報データを元に部分データに対応する鍵生成用データの生成を要求する(ステップS306)。
【0051】
鍵生成用データ算出部604は、ハッシュ値算出部605に対して、部分データPAiのハッシュ値を要求する(ステップS307)。ハッシュ値要求を受けると、ハッシュ値算出部605は、コンテンツ保存部603に対して部分データPAiを要求し(ステップS308)、コンテンツ保存部603は部分データPAiを返す(ステップS309)。ハッシュ値算出部605は、ハッシュ関数を用いて部分データPAiからハッシュ値h(PAi)を算出し(ステップS310)、鍵生成用データ算出部604に対して返す(ステップS311)。
【0052】
鍵生成用データ算出部604は、分割元コンテンツAに対応する鍵データKがあるかどうか確認し、鍵データKがなければ(K無)、鍵生成部606に対して鍵データKの生成を要求する(ステップS312)。この要求を受けて、鍵生成部606は鍵データKを新たに生成し(ステップS313)、鍵生成用データ算出部604に返す(ステップS314)。なお、分割元コンテンツAに対応する鍵データKがあれば(K有)、ステップS316へ飛ぶ。鍵生成用データ算出部604は、コンテンツのレンジ情報と共に鍵データKを記憶する(ステップS315)。
【0053】
鍵生成用データ算出部604は、部分データPAiのハッシュ値h(PAi)と鍵データKとの排他的論理和EXORの演算を行うことで、鍵生成用データGKAiを算出し(ステップS316)、鍵生成用データGKAiをコンテンツのレンジ情報と関連付けてコンテンツ保存部603に保存する(ステップS317)。上述したステップS307〜ステップS317は、要求情報データに基づいた分割数Nでコンテンツを分割して得られた全ての部分データPA1〜PANに対して繰り返し実行する。
【0054】
鍵生成用データ算出部604は、全ての部分データに対して鍵生成用データの算出処理が完了すると、要求処理部602に対して処理の完了を通知する(ステップS318)。要求処理部602は、コンテンツ保存部603に対して要求情報データを元に鍵生成用データGKAiを要求し(ステップS319)、コンテンツ保存部603は、要求された鍵生成用データGKAiを返す(ステップS320)。要求処理部602は、送信部607に対して、鍵生成用データGKAiの送信を指示し(ステップS321)、送信部607は、鍵生成用データGKAiを要求した端末に対して鍵生成用データGKAiを送信する(ステップS322)。
【0055】
鍵生成用データGKAiを端末の受信部203が受信し(ステップS323)、コンテンツ保存部204に保存する(ステップS324)までの動作は、図4におけるステップS117およびS118と同様である。
【0056】
なお、鍵データ取得の動作に関しては、図5に示す第1実施形態と同様の動作であるため説明を省略する。
【0057】
2.3)効果
本発明の第2実施形態によれば、上述した第1実施形態と同様の効果を得ることができるが、さらに鍵生成用データを事前に用意する必要がなく、サーバ側に分割元コンテンツのみ保存しておくだけで、分割ダウンロードの際の分割数・位置を自由に変更することが可能となる。
【0058】
3.鍵データ/鍵生成用データの算出
上述した第1および第2実施形態では、上述したように、演算方法として排他的論理和EXORを用いて、鍵生成用データGKAi=EXOR(h(PAi),K)、および鍵データK=EXOR(h(PAi),GKAi)を算出したが、排他的論理和EXOR以外の演算方法も利用可能である。すなわち、演算fの結果と演算fに用いた2つのデータa,bの内の1つ(a)とを用いることで、演算fに用いたもう一方のデータ(b)を算出できる演算gであればよい。
【0059】
例えば、鍵生成用データの演算方法に四則演算(加法、減法、乗算、除算)あるいは対象鍵暗号を用いる場合には、固有値および鍵生成用データから鍵データを計算するには、鍵生成用データの演算方法に対応付けられた計算方法を用いる。具体的には、鍵生成用データの演算方法fが加法であれば演算gとして減法を、乗算であれば除算を、対象鍵暗号であれば対象鍵復号を、というように対応関係を持つ計算方法fおよびgを用いる。
【0060】
一般的に表せば、部分データから得られる固有値をX、鍵データKとし、演算f(x, y) およびg(x, y)がある場合、g(f(K, X),X) = Kとなるような一対の演算f、gを使用することができる。すなわち、鍵データKに対して固有値Xを演算(f)したものに対し、再度Xを演算(g)すると、元の鍵データKが得られるような一対の演算f、gである(ただし、f、gが同じ演算の場合を含む)。
【0061】
4.他の実施形態
4.1)複数コンテンツ
分割ダウンロードを行う対象となるコンテンツは、複数個のコンテンツでも良い。この場合、分割ダウンロードを行う複数の端末がそれぞれ担当する各部分データは、複数のコンテンツを適宜分割したデータである。また、サーバは複数のコンテンツにまたがって同一の鍵データを用いて鍵生成用データを算出することができる。
【0062】
このように、分割ダウンロードを行う複数の端末が、複数個のコンテンツを分割してダウンロードする場合でも、グループに参加する各端末は、部分データをダウンロードし終わった時点で同一の鍵データを取得できるようになる。
【0063】
4.2)鍵生成用データの更新
分割元コンテンツを分割して部分データPAiと鍵生成用データGKAiとを生成する動作において、部分データに関連する鍵生成用データを更新または削除する機能を追加することもできる。
【0064】
図6に示すサーバ6を例にとれば、コンテンツ保存部603に保存される、部分データPAiの識別子に対応する鍵生成用データGKAiを定期的あるいは不定期に更新または削除する機能を追加する。
【0065】
たとえば、部分データPAiの識別子に対して、要求処理部602(あるいは制御部)がタイマを備え、タイムアウトしたときに、鍵生成用データ算出部604が当該部分データPAiに対応する鍵生成用データGKAiを更新あるいは削除する。具体的には、要求処理部602が、部分データPAiと鍵生成用データGKAiとが生成されたときからの経過時間をカウントする。そして一定時間以上の保存期間が経過した後に、部分データPAiおよび鍵生成用データGKAiを示す要求情報データを受け取ると、当該鍵生成用データGKAiの更新あるいは削除を鍵生成用データ算出部604に要求するという方法である。
【0066】
また、必ずしも更新のタイミングで鍵生成用データを再生成する必要はなく、必要に応じて鍵生成用データを生成する動作も可能である。たとえば部分データPAiの識別子に対応する鍵生成用データGKAiを不定期に更新または削除してもよい。ここでいう不定期の更新/削除は、例えば、任意のコンテンツに対して一定期間以上アクセスがない時に鍵生成用データを更新または削除することである。この動作により、分割ダウロードグループの全ての端末が部分データをダウンロードする前に、鍵生成用データが更新される事態を回避することができる。もし分割ダウロードグループの全ての端末が部分データをダウンロードする前に鍵生成用データが更新されると、すべての端末が共通の鍵を取得できない状況が生じうるからである。
【0067】
上述した鍵生成用データの更新あるいは削除機能を有することで、分割ダウンロードを行う複数の端末が、部分データをダウンロードし終わった時点で取得することができる鍵データの有効期限を設定可能となる。
【0068】
4.3)一方向データ配信
上述した各実施形態においては、部分データと鍵生成用データを配信する通信装置としてサーバを例示したが、本発明における配信側通信装置はサーバに限定されるものではない。受信側の通信装置(端末)へ一方向のデータ配信を行う通信装置であっても適用可能である。このような一方的な配信側通信装置としては、例えば放送局などが挙げられる。このような一方向性のデータ配信を行うシステムであっても、本発明によれば、受信側の複数の端末が、部分データをダウンロードし終わった時点で同一の鍵データを取得できるようになる。
【0069】
5.端末間データ交換
上述した実施形態による通信端末は、ダウンロードユーザグループに属する他の端末との間で同一コンテンツAの共通鍵データKを取得することができる。この共通鍵データKを用いることにより、互いに相手端末の部分データのダウンロード完了を確認した上で相互交換することが可能になる。
【0070】
図8に示すように、通信端末には、図3に示す構成と同様に、要求処理部201、送信部202および受信部203を含む通信部、コンテンツ保存部204および共通鍵データ算出部205が設けられ、更に部分データ交換制御部206と通信端末の全体的動作を制御する制御部207とが設けられている。部分データ交換制御部206は、相手側端末との間で共通鍵データを用いて部分データの相互交換手順を実行する。
【0071】
上述したように、共通鍵データ算出部205は、コンテンツ保存部204に格納された部分データと鍵生成用データとを用いて鍵データを算出する。図2(B)に示す例を用いれば、部分データPAiから算出した固有値h(PAi)と鍵生成用データGKAiとを用いて、コンテンツAの共通鍵データKを演算EXOR(GKAi,h(PAi))により求める。
【0072】
同じダウンロードユーザグループに属する他の端末との間で各々がダウンロードした部分データを交換する場合には、互いをグループメンバーであると認証した後、相手側端末が共通鍵データを算出済みであれば、同一の共通鍵データKを用いて、部分データ交換制御部206は相手側端末が同一のコンテンツAの担当部分を正常にダウンロードしたことを確認できる。なお、共通鍵データKは、次のような種々の使用方法があり得る。
1. アドホックネットワークを形成するWEPキーとして使う。
2. チャレンジ&レスポンスの認証鍵として使う。たとえば、鍵データや鍵データのハッシュ値そのものを無線網を介して他のグループ端末に渡す際の盗聴を防止する。
3. データ交換の際の暗号鍵に用いる。
【0073】
このように、制御部207は、相手端末のダウンロード完了を確認してから部分データを相互に交換することができるので、悪意を持った端末が当該グループに参加して自ら部分データをダウンロードすることなく他の端末から部分データのみを収集しようとする行為を有効に阻止することができる。
【0074】
なお、要求処理部201、共通鍵データ算出部205、部分データ交換制御部206および制御部207と同等の機能は、コンピュータプログラムをCPU等のプログラム制御プロセッサ上で実行することにより実現することもできる。
【産業上の利用可能性】
【0075】
本発明は、通信システム上のデータ配信装置、サーバ、データを交換する通信端末などに適用できる。
【符号の説明】
【0076】
1 サーバ
2 端末
3 端末
4 ネットワーク
5 ダウンロードユーザグループ
101 受信部
102 要求処理部
103 コンテンツ保存部
104 送信部
201 要求処理部
202 送信部
203 受信部
204 コンテンツ保存部
205 共通鍵データ算出部
206 部分データ交換制御部
207 制御部
601 受信部
602 要求処理部
603 コンテンツ保存部
604 鍵生成用データ算出部
605 ハッシュ値算出部
606 鍵生成部
607 送信部

【特許請求の範囲】
【請求項1】
少なくとも1つの送信側通信装置から、任意のデータを分割した複数の部分データを少なくとも1つの他の通信装置と共に分割ダウンロードする通信装置であって、
少なくとも1つの部分データと当該部分データに対応する個別データとを前記送信側通信装置から受信する通信手段と、
前記受信した部分データまたは当該部分データに基づいた固有値と前記個別データとを用いて前記任意のデータの部分データに共通の共通データを生成する共通データ生成手段と、
を有し、任意の部分データに対応する個別データと前記共通データの一方のデータは、当該任意の部分データまたは当該部分データに基づいた固有値と他方のデータとに基づいて算出されることを特徴とする通信装置。
【請求項2】
前記共通データを用いて前記他の通信装置との間で部分データの交換を行う手段を更に有することを特徴とする請求項1に記載の通信装置。
【請求項3】
前記任意の部分データに対応する個別データと前記共通データとは、前記一方のデータから前記他方のデータを生成する場合の第1演算と、前記他方のデータから前記一方のデータを生成する場合の第2演算とにより相互に算出可能であることを特徴とする請求項1または2に記載の通信装置。
【請求項4】
前記第1演算と前記第2演算とは同一の演算であることを特徴とする請求項3に記載の通信装置。
【請求項5】
前記送信側通信装置に対して前記任意のデータの分割ダウンロードを要求する要求データを送信する要求手段を更に有し、前記要求データは、前記任意のデータを特定するための識別子が含まれるコンテンツ情報、コンテンツの分割数、ダウンロードを行う部分データの範囲を特定するためのコンテンツのレンジ、前記個別データを特定する情報を含むことを特徴とする請求項1−4のいずれか1項に記載の通信装置。
【請求項6】
前記送信側通信装置は前記共通データを定期的または不定期に更新あるいは削除することを特徴とする請求項1−5のいずれか1項に記載の通信装置。
【請求項7】
少なくとも1つの送信側通信装置から、任意のデータを分割した複数の部分データを少なくとも1つの他の通信装置と共に分割ダウンロードする通信装置の通信制御方法であって、
少なくとも1つの部分データと当該部分データに対応する個別データとを前記送信側通信装置から受信し、
前記受信した部分データまたは当該部分データに基づいた固有値と前記個別データとを用いて前記任意のデータの部分データに共通の共通データを生成し、
任意の部分データに対応する個別データと前記共通データの一方のデータは、当該任意の部分データと他方のデータとに基づいて算出されることを特徴とする通信制御方法。
【請求項8】
前記共通データを用いて前記他の通信装置との間で部分データの交換を行うことを特徴とする請求項7に記載の通信制御方法。
【請求項9】
前記任意の部分データに対応する個別データと前記共通データとは、前記一方のデータから前記他方のデータを生成する場合の第1演算と、前記他方のデータから前記一方のデータを生成する場合の第2演算とにより相互に算出可能であることを特徴とする請求項7または8に記載の通信制御方法。
【請求項10】
前記第1演算と前記第2演算とは同一の演算であることを特徴とする請求項9に記載の通信制御方法。
【請求項11】
前記送信側通信装置に対して前記任意のデータの分割ダウンロードを要求し、前記要求データは、前記任意のデータを特定するための識別子が含まれるコンテンツ情報、コンテンツの分割数、ダウンロードを行う部分データの範囲を特定するためのコンテンツのレンジ、前記個別データを特定する情報を含むことを特徴とする請求項7−10のいずれか1項に記載の通信制御方法。
【請求項12】
前記送信側通信装置は前記共通データを定期的または不定期に更新あるいは削除することを特徴とする請求項7−11のいずれか1項に記載の通信制御方法。
【請求項13】
少なくとも1つの送信側通信装置から、任意のデータを分割した複数の部分データを複数の通信装置が分割ダウンロードするシステムであって、
前記送信側通信装置は、前記複数の部分データと各部分データに対応する個別データとを保存し、前記複数の通信装置の各々に対して部分データと当該部分データに対応する個別データとを送信し、
前記複数の通信装置の各々は、前記部分データとそれに対応する前記個別データとを前記送信側通信装置から受信すると、前記受信した部分データまたは当該部分データに基づく固有値と前記個別データとを用いて前記任意のデータの部分データに共通の共通データを生成し、
任意の部分データに対応する個別データと前記共通データの一方のデータは、当該任意の部分データまたは当該部分データに基づく固有値と他方のデータとに基づいて算出されることを特徴とする分割ダウンロードシステム。
【請求項14】
前記複数の通信装置の各々は、前記共通データを用いて前記他の通信装置との間で部分データの交換を行うことを特徴とする請求項13に記載の分割ダウンロードシステム。
【請求項15】
前記任意の部分データに対応する個別データと前記共通データとは、前記一方のデータから前記他方のデータを生成する場合の第1演算と、前記他方のデータから前記一方のデータを生成する場合の第2演算とにより相互に算出可能であることを特徴とする請求項13または14に記載の分割ダウンロードシステム。
【請求項16】
前記複数の通信装置の各々は、前記送信側通信装置に対して前記任意のデータの分割ダウンロードを要求し、前記要求データは、前記任意のデータを特定するための識別子が含まれるコンテンツ情報、コンテンツの分割数、ダウンロードを行う部分データの範囲を特定するためのコンテンツのレンジ、前記個別データを特定する情報を含むことを特徴とする請求項13−15のいずれか1項に記載の分割ダウンロードシステム。
【請求項17】
前記送信側通信装置は前記共通データを定期的または不定期に更新あるいは削除することを特徴とする請求項13−16のいずれか1項に記載の分割ダウンロードシステム。
【請求項18】
前記送信側通信装置は、前記任意のデータをネットワークを通して分割配信する配信サーバであることを特徴とする請求項13−17のいずれか1項に記載の分割ダウンロードシステム。
【請求項19】
前記送信側通信装置は、前記任意のデータをネットワークを通して分割配信する放送局であることを特徴とする請求項13−18のいずれか1項に記載の分割ダウンロードシステム。
【請求項20】
任意のデータを分割した複数の部分データを複数の通信装置へ分割して送信するデータ送信装置であって、
前記任意のデータと前記複数の部分データの各々に対応する個別データとを保存する保存手段と、
各通信装置からの要求に応じて、当該要求された部分データと当該部分データに対応する個別データとを送信する通信手段と、
を有し、前記個別データは前記部分データまたは当該部分データに基づく固有値と前記複数の部分データに共通の共通データとから算出され、各通信装置において前記個別データと前記部分データまたは当該部分データに基づく固有値とに基づいて前記共通データが算出される、ことを特徴とするデータ送信装置。
【請求項21】
前記個別データを更新する個別データ更新手段を更に有することを特徴とする請求項20に記載のデータ送信装置。
【請求項22】
前記個別データ更新手段は、前記共通データを生成する共通データ生成手段と、前記部分データまたは当該部分データに基づく固有値と前記共通データとから前記個別データを生成する個別データ生成手段と、を有することを特徴とする請求項21に記載のデータ送信装置。
【請求項23】
前記送信側通信装置は個別データ更新手段を更に有し、前記個別データ更新手段は、前記共通データを生成する共通データ生成手段と、前記部分データまたは当該部分データに基づく固有値と前記共通データとから前記個別データを生成する個別データ生成手段と、を有することを特徴とする請求項6に記載の通信装置。
【請求項24】
前記送信側通信装置は、前記共通データを生成し、前記部分データまたは当該部分データに基づく固有値と前記共通データとから前記個別データを生成することを特徴とする請求項12に記載の通信制御方法。
【請求項25】
前記送信側通信装置は個別データ更新手段を更に有し、前記個別データ更新手段は、前記共通データを生成する共通データ生成手段と、前記部分データまたは当該部分データに基づく固有値と前記共通データとから前記個別データを生成する個別データ生成手段と、を有することを特徴とする請求項17に記載の分割ダウンロードシステム。
【請求項26】
少なくとも1つの送信側通信装置から、任意のデータを分割した複数の部分データを複数の通信装置が分割ダウンロードするシステムにおけるデータ交換方法であって、
前記送信側通信装置は、前記任意のデータと前記複数の部分データの各々に対応する個別データとを保存し、前記複数の通信装置の各々に対して部分データと当該部分データに対応する個別データとを送信し、
前記複数の通信装置の各々は、前記部分データとそれに対応する前記個別データとを前記送信側通信装置から受信すると、前記受信した部分データまたは当該部分データに基づく固有値と前記個別データとを用いて前記任意のデータの部分データに共通の共通データを生成し、
前記共通データを用いて他の通信装置との間で部分データの交換を行い、
前記個別データは前記部分データまたは当該部分データに基づく固有値と前記共通データとに基づいて算出されることを特徴とする、分割ダウンロードシステムにおけるデータ交換方法。
【請求項27】
前記複数の通信装置の各々は、前記送信側通信装置に対して前記任意のデータの分割ダウンロードを要求し、前記要求データは、前記任意のデータを特定するための識別子が含まれるコンテンツ情報、コンテンツの分割数、ダウンロードを行う部分データの範囲を特定するためのコンテンツのレンジ、前記個別データを特定する情報を含むことを特徴とする請求項26に記載のデータ交換方法。
【請求項28】
前記送信側通信装置は前記共通データを定期的または不定期に更新あるいは削除することを特徴とする請求項26または27に記載のデータ交換方法。
【請求項29】
前記送信側通信装置は、前記共通データを生成し、前記部分データまたは当該部分データに基づく固有値と前記共通データとから前記個別データを生成することを特徴とする請求項28に記載のデータ交換方法。
【請求項30】
少なくとも1つの送信側通信装置から、任意のデータを分割した複数の部分データを少なくとも1つの他の通信装置と共に分割ダウンロードする通信装置のプログラム制御プロセッサ上で実行されるコンピュータプログラムであって、
少なくとも1つの部分データと当該部分データに対応する個別データとを前記送信側通信装置から受信し、
前記受信した部分データまたは当該部分データに基づく固有値と前記個別データとを用いて前記任意のデータの部分データに共通の共通データを生成し、
任意の部分データに対応する個別データと前記共通データの一方のデータは、当該任意の部分データまたは当該部分データに基づく固有値と他方のデータとに基づいて算出される、
ように前記プログラム制御プロセッサを機能させることを特徴とするコンピュータプログラム。
【請求項31】
前記共通データを用いて前記他の通信装置との間で部分データの交換を行うことを特徴とする請求項30に記載のコンピュータプログラム。
【請求項32】
前記任意の部分データに対応する個別データと前記共通データとは、前記一方のデータから前記他方のデータを生成する場合の第1演算と、前記他方のデータから前記一方のデータを生成する場合の第2演算とにより相互に算出可能であることを特徴とする請求項30または31に記載のコンピュータプログラム。
【請求項33】
前記第1演算と前記第2演算とは同一の演算であることを特徴とする請求項32に記載のコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2010−183327(P2010−183327A)
【公開日】平成22年8月19日(2010.8.19)
【国際特許分類】
【出願番号】特願2009−24589(P2009−24589)
【出願日】平成21年2月5日(2009.2.5)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】