(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023039505
(43)【公開日】2023-03-22
(54)【発明の名称】通信システム及びプログラム
(51)【国際特許分類】
H04L 9/32 20060101AFI20230314BHJP
G06F 21/60 20130101ALI20230314BHJP
H04L 9/08 20060101ALI20230314BHJP
【FI】
H04L9/32 200Z
G06F21/60 320
H04L9/08 F
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021146642
(22)【出願日】2021-09-09
(71)【出願人】
【識別番号】321003371
【氏名又は名称】LINE株式会社
(74)【代理人】
【識別番号】110003199
【氏名又は名称】弁理士法人高田・高橋国際特許事務所
(72)【発明者】
【氏名】リュウ センペイ
(72)【発明者】
【氏名】▲高▼橋 翼
(57)【要約】
【課題】統計データとしての有用性とプライバシーの保護強度の向上を図りつつデータの収集が可能な通信システムを提供する。
【解決手段】通信システムはサーバと複数の端末を含む。サーバは、公開鍵及び秘密鍵を管理する。各端末は、自端末に記憶された対象データにノイズを付加するノイズ付加部と、ノイズが付加された対象データを公開鍵で暗号化する暗号化部と、自端末に記憶された対象データの送信先をサーバ及び他の端末のうちから無作為に決定する送信先決定部と、暗号化された対象データを決定された送信先に送信する送信部と、他の端末からの対象データを受信する受信部とを備える。送信先決定部は、受信した対象データの送信先をサーバ及び他の端末のうちから無作為に決定する。送信部は、受信した対象データを決定された送信先に送信する。サーバは、端末から送信された対象データを受信して秘密鍵で復号する。
【選択図】
図5
【特許請求の範囲】
【請求項1】
サーバと複数の端末とを含む通信システムであって、
前記サーバは、公開鍵と前記公開鍵で暗号化された情報を復号する秘密鍵とを管理する暗号鍵管理部を備え、
前記端末のそれぞれは、
対象データを記憶する記憶部と、
当該端末の前記記憶部に記憶された対象データにノイズを付加するノイズ付加部と、
前記ノイズ付加部によりノイズが付加された対象データを前記公開鍵で暗号化する暗号化部と、
当該端末の前記記憶部に記憶された対象データの送信先を、前記サーバ及び当該端末以外の他の前記端末のうちから無作為に決定する送信先決定部と、
前記暗号化部で暗号化された対象データを、前記送信先決定部で決定された送信先に送信する送信部と、
当該端末以外の他の前記端末から送信された対象データを受信する端末受信部と、を備え、
前記送信先決定部は、さらに、前記端末受信部が受信した対象データの送信先を、前記サーバ及び当該端末以外の他の前記端末のうちから無作為に決定し、
前記送信部は、さらに、前記端末受信部が受信した対象データを、前記送信先決定部で決定された送信先に送信し、
前記サーバは、
前記端末から送信された対象データを受信するサーバ受信部と、
前記サーバ受信部が受信した対象データを前記秘密鍵で復号する復号部と、をさらに備える。
【請求項2】
請求項1に記載の通信システムであって、
前記送信先決定部は、
当該端末の前記記憶部に記憶された対象データの送信先を、当該端末以外の他の前記端末のうちから無作為に決定するとともに、
前記端末受信部が受信した対象データの送信先を、予め設定された基準回数だけ前記端末同士での対象データの通信が行われるまでは、当該端末以外の他の前記端末のうちから無作為に決定し、前記基準回数の前記端末同士での対象データの通信が行われた後は、前記サーバに決定する。
【請求項3】
請求項1に記載の通信システムであって、
前記送信先決定部は、
当該端末の前記記憶部に記憶された対象データの送信先を、当該端末以外の他の前記端末のうちから無作為に決定するとともに、
前記端末受信部が受信した対象データの送信先を、予め設定された基準回数だけ前記端末同士での対象データの通信が行われるまでは、当該端末以外の他の前記端末のうちから無作為に決定し、前記基準回数の前記端末同士での対象データの通信が行われた後は、前記サーバ及び当該端末以外の他の前記端末のうちから無作為に決定する。
【請求項4】
請求項2又は請求項3に記載の通信システムであって、
前記基準回数は、前記端末の数に応じて決定される。
【請求項5】
請求項4に記載の通信システムであって、
前記基準回数は、前記端末の数の自然対数の値に応じて決定される。
【請求項6】
請求項1から請求項5のいずれか一項に記載の通信システムであって、
前記端末は、当該端末の前記記憶部に記憶された対象データ及び/又は前記端末受信部が受信した対象データを、予め設定された確率で削除するデータ削除部をさらに備える。
【請求項7】
請求項2から請求項5のいずれか一項に記載の通信システムであって、
前記端末は、前記基準回数の前記端末同士での対象データの通信が行われた後に、前記端末受信部が受信した対象データを、予め設定された確率で削除するデータ削除部をさらに備える。
【請求項8】
請求項1から請求項7のいずれか一項に記載の通信システムであって、
前記端末同士での対象データの通信は、前記サーバを経由し、かつ、エンドツーエンド暗号化されている。
【請求項9】
請求項1から請求項8のいずれか一項に記載の通信システムであって、
前記送信先決定部は、当該端末の前記記憶部に記憶された対象データの送信先及び前記端末受信部が受信した対象データの送信先を、各前記端末をノードとしたネットワークの論理トポロジーにおいて当該端末に隣接するノードの前記端末のうちから無作為に決定する。
【請求項10】
サーバと複数の端末とを含む通信システムの前記端末によって実行されるためのプログラムであって、
当該端末の記憶部に記憶された対象データにノイズを付加することと、
ノイズが付加された対象データを、前記サーバで管理された公開鍵で暗号化することと、
当該端末の前記記憶部に記憶された対象データの送信先を、前記サーバ及び当該端末以外の他の前記端末のうちから無作為に決定することと、
暗号化された対象データを、決定された送信先に送信することと、
当該端末以外の他の前記端末から送信された対象データを受信することと、
受信した対象データの送信先を、前記サーバ及び当該端末以外の他の前記端末のうちから無作為に決定することと、
受信した対象データを、決定された送信先に送信することと、が前記端末によって実行される。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、通信システム及びプログラムに関するものである。
【背景技術】
【0002】
収集したデータに含まれる個人に関する情報が当該個人以外に開示されてしまうことを抑制してプライバシー保護を図りつつ、収集したデータを解析するための技術として、差分プライバシー技術が知られている。差分プライバシー技術においては、データの収集元においてデータに統計的ノイズを付加して乱雑化したり、データをシャッフルして入れ換えることでデータの収集元を匿名化したりすることで、プライバシーの保護強度の向上を図っている(例えば、非特許文献1参照)。特に、データの収集元におけるノイズ付与と、データのシャッフルとを組み合わせることで、データを収集する装置におけるデータの非識別性を確保しつつ必要なノイズを小さくすることができる。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Albert Cheu, Adam Smith, Jonathan Ullman, David Zeber, Maxim Zhilyaev "Distributed Differential Privacy via Shuffling" arXiv preprint arXiv:1808.01394 [cs.CR] (2018).
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、非特許文献1に示されるような技術においては、データを収集する装置の他に、データをシャッフルする装置が必要である。シャッフルする装置には、シャッフル前のデータが集められることになる。このため、データに付与するノイズを小さくした場合、シャッフルする装置においてシャッフル前のデータが漏洩すると、漏洩データのノイズが小さいために個人に関する情報が特定されやすくなる。この場合、適切なプライバシー保護を図ることが困難になるおそれがある。
【0005】
本開示は、このような課題を解決するためになされたものである。その目的は、データの収集元で付与するノイズを小さく抑えつつ、収集されたデータの匿名性を確保でき、統計データとしての有用性の向上とプライバシーの保護強度の向上との両立を図りながらデータの収集が可能である通信システム及びプログラムを提供することにある。
【課題を解決するための手段】
【0006】
本開示に係る通信システムは、サーバと複数の端末とを含む通信システムであって、前記サーバは、公開鍵と前記公開鍵で暗号化された情報を復号する秘密鍵とを管理する暗号鍵管理部を備え、前記端末のそれぞれは、対象データを記憶する記憶部と、当該端末の前記記憶部に記憶された対象データにノイズを付加するノイズ付加部と、前記ノイズ付加部によりノイズが付加された対象データを前記公開鍵で暗号化する暗号化部と、当該端末の前記記憶部に記憶された対象データの送信先を、前記サーバ及び当該端末以外の他の前記端末のうちから無作為に決定する送信先決定部と、前記暗号化部で暗号化された対象データを、前記送信先決定部で決定された送信先に送信する送信部と、当該端末以外の他の前記端末から送信された対象データを受信する端末受信部と、を備え、前記送信先決定部は、さらに、前記端末受信部が受信した対象データの送信先を、前記サーバ及び当該端末以外の他の前記端末のうちから無作為に決定し、前記送信部は、さらに、前記端末受信部が受信した対象データを、前記送信先決定部で決定された送信先に送信し、前記サーバは、前記端末から送信された対象データを受信するサーバ受信部と、前記サーバ受信部が受信した対象データを前記秘密鍵で復号する復号部と、をさらに備える。
【0007】
本開示に係るプログラムは、サーバと複数の端末とを含む通信システムの前記端末によって実行されるためのプログラムであって、当該端末の記憶部に記憶された対象データにノイズを付加することと、ノイズが付加された対象データを、前記サーバで管理された公開鍵で暗号化することと、当該端末の前記記憶部に記憶された対象データの送信先を、前記サーバ及び当該端末以外の他の前記端末のうちから無作為に決定することと、暗号化された対象データを、決定された送信先に送信することと、当該端末以外の他の前記端末から送信された対象データを受信することと、受信した対象データの送信先を、前記サーバ及び当該端末以外の他の前記端末のうちから無作為に決定することと、受信した対象データを、決定された送信先に送信することと、が前記端末によって実行される。
【発明の効果】
【0008】
本開示に係る通信システム及びプログラムによれば、データの収集元で付与するノイズを小さく抑えつつ、収集されたデータの匿名性を確保でき、統計データとしての有用性の向上とプライバシーの保護強度の向上との両立を図りながらデータの収集が可能であるという効果を奏する。
【図面の簡単な説明】
【0009】
【
図1】実施の形態1に係る通信システムの全体構成を示す図である。
【
図2】実施の形態1に係る通信システムが備えるサーバの構成を示すブロック図である。
【
図3】実施の形態1に係る通信システムが備える端末の構成を示すブロック図である。
【
図4】実施の形態1に係る通信システムにおける端末での処理の一例を説明する図である。
【
図5】実施の形態1に係る通信システムにおける処理の一例を説明する図である。
【
図6】実施の形態1に係る通信システムの変形例における処理の一例を説明する図である。
【
図7】実施の形態1に係る通信システムにおいて対象データの送信先を隣接する端末のうちから決定する場合の一例を説明する図である。
【発明を実施するための形態】
【0010】
本開示に係る通信システム及びプログラムを実施するための形態について添付の図面を参照しながら説明する。各図において、同一又は相当する部分には同一の符号を付して、重複する説明は適宜に簡略化又は省略する。以下の説明においては便宜上、図示の状態を基準に各構造の位置関係を表現することがある。なお、本開示は以下の実施の形態に限定されることなく、本開示の趣旨を逸脱しない範囲において、各実施の形態の自由な組み合わせ、各実施の形態の任意の構成要素の変形、又は各実施の形態の任意の構成要素の省略が可能である。
【0011】
実施の形態1.
図1から
図7を参照しながら、本開示の実施の形態1について説明する。
図1は通信システムの全体構成を示す図である。
図2は通信システムが備えるサーバの構成を示すブロック図である。
図3は通信システムが備える端末の構成を示すブロック図である。
図4は通信システムにおける端末での処理の一例を説明する図である。
図5は通信システムにおける処理の一例を説明する図である。
図6は通信システムの変形例における処理の一例を説明する図である。
図7は通信システムにおいて対象データの送信先を隣接する端末のうちから決定する場合の一例を説明する図である。
【0012】
図1に示すように、この実施の形態に係る通信システム400は、サーバ100と、端末200とを備えている。通信システム400では、サーバ100と端末200とが、ネットワーク300を介して通信可能に接続されている。通信システム400は、n個の端末200を含んでいる。ここでnは2以上の整数である。サーバ100は、ユーザが所有する端末200に記憶されているデータをネットワーク300を介して収集するためのものである。本開示の説明では、サーバ100が収集する対象となるデータを「対象データ」と呼ぶ。対象データには、当該対象データが記憶されている端末200の所有者であるユーザ個人に関する情報が含まれ得る。サーバ100は、このような収集した対象データに含まれる個人に関する情報が当該個人以外に開示されてしまうことを抑制しつつ、すなわち、プライバシー保護を図りつつ、収集した対象データを解析し、その統計的な性質や特徴等を得るためのものである。
【0013】
ネットワーク300は、1以上の端末200と、1以上のサーバ100とを接続する役割を担う。すなわち、ネットワーク300は、端末200がサーバ100に接続した後、データを送受信することができるように接続経路を提供する通信網を意味する。ネットワーク300のうちの1つ又は複数の部分は、有線ネットワークや無線ネットワークであってもよいし、そうでなくてもよい。
【0014】
ネットワーク300は、例えば、アドホック・ネットワーク(Ad Hoc Network)、イントラネット、エクストラネット、仮想プライベート・ネットワーク(Virtual Private Network:VPN)、ローカル・エリア・ネットワーク(Local Area Network:LAN)、ワイヤレスLAN(Wireless LAN:WLAN)、広域ネットワーク(Wide Area Network:WAN)、ワイヤレスWAN(Wireless WAN:WWAN)、大都市圏ネットワーク(Metropolitan Area Network:MAN)、インターネットの一部、公衆交換電話網(Public Switched Telephone Network:PSTN)の一部、携帯電話網、ISDN(Integrated Service Digital Networks)、無線LAN、LTE(Long Term Evolution)、CDMA(Code Division Multiple Access)、ブルートゥース(Bluetooth(登録商標))、又は、衛星通信等、もしくは、これらの2つ以上の組合せを含むことができる。ネットワーク300は、1つ又は複数のネットワーク300を含むことができる。
【0015】
端末200は、本開示に係る実施形態の機能を実現できる情報処理端末であればどのような端末であってもよい。端末200は、例えば、スマートフォン、携帯電話(フィーチャーフォン)、コンピュータ(例えば、デスクトップPC、ラップトップPC、タブレットPC等)、メディアコンピュータプラットホーム(例えば、ケーブル、衛星セットトップボックス、デジタルビデオレコーダ)、ハンドヘルドコンピュータデバイス(例えば、PDA(Personal Digital Assistant)、電子メールクライアント等)、ウェアラブル端末(メガネ型デバイス、時計型デバイス等)、又は他種のコンピュータ、又はコミュニケーションプラットホームを含む。また、端末200は情報処理端末と表現されてもよい。
【0016】
サーバ100は、端末200に対して、所定のサービスを提供する機能を備える。サーバ100は、前述した対象データを収集する機能に加えて、例えば、端末200間でコンテンツの送受信を行わせるメッセージングサービスを提供する機能を有していてもよいし、そうでなくともよい。
【0017】
サーバ100は、本開示に係る実施形態の機能を実現できる情報処理装置であればどのような装置であってもよい。サーバ100は、例えば、サーバ装置、コンピュータ(例えば、デスクトップPC、ラップトップPC、タブレットPC等)、メディアコンピュータプラットホーム(例えば、ケーブル、衛星セットトップボックス、デジタルビデオレコーダ)、ハンドヘルドコンピュータデバイス(例えば、PDA、電子メールクライアント等)、あるいは他種のコンピュータ、又はコミュニケーションプラットホームを含む。また、サーバ100は情報処理装置と表現されてもよい。サーバ100と端末200とを区別する必要がない場合は、サーバ100と端末200とは、それぞれ情報処理装置と表現されてもよいし、されなくてもよい。
【0018】
それぞれの端末200の構成は基本的には同一である。次に、
図2を参照しながら、端末200の構成について説明する。端末200は、端末制御部230、端末記憶部220、端末通信部210、入出力部240、表示部250、マイク260、スピーカ270及びカメラ280を備える。端末200のハードウェアの各構成要素は、例えば、バスを介して相互に接続されている。なお、端末200のハードウェア構成として、ここで説明する全ての構成要素を含むことは必須ではない。例えば、端末200は、マイク260、カメラ280等、個々の構成要素、又は複数の構成要素を取り外すような構成であってもよいし、そうでなくてもよい。
【0019】
端末制御部230は、プログラム内に含まれたコード又は命令によって実現する機能を実行するために物理的に構造化された回路を有し、例えば、ハードウェアに内蔵されたデータ処理装置により実現される。そのため、端末制御部230は、制御回路と表現されてもよいし、されなくてもよい。
【0020】
端末制御部230は、例えば、中央処理装置(CPU:Central Processing Unit)、マイクロプロセッサ(Microprocessor)、プロセッサコア(Processor Core)、マルチプロセッサ(Multiprocessor)、ASIC(Application-Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等を含む。
【0021】
端末記憶部220は、端末200が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。端末記憶部220は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ、RAM(Random Access Memory)、ROM(Read Only Memory)等各種の記憶媒体を含む。また、端末記憶部220は、メモリ(Memory)と表現されてもよいし、されなくてもよい。
【0022】
端末200は、プログラムを端末記憶部220に記憶し、このプログラムを実行することで、端末制御部230が、端末制御部230に含まれる各部としての処理を実行する。つまり、端末記憶部220に記憶されるプログラムは、端末200に、端末制御部230が実行する各機能を実現させる。換言すれば、端末200においてメモリに記憶されたプログラムをプロセッサが実行し、端末200のハードウェアとソフトウェアとが協働することによって、端末200が備える各部の機能が実現される。なお、このプログラムは、プログラムモジュールと表現されてもよいし、されなくてもよい。
【0023】
端末通信部210は、ネットワーク300を介して各種データの送受信を行う。当該通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。端末通信部210は、ネットワーク300を介して、サーバ100との通信を実行する機能を有する。端末通信部210は、端末送信部211及び端末受信部212を含んでいる。端末送信部211は、各種データを端末制御部230からの指示に従って、サーバ100に送信する。端末受信部212は、サーバ100から送信された各種データを受信し、端末制御部230に伝達する。端末通信部210を端末通信I/F(インタフェース)と表現する場合もある。また、端末通信部210が物理的に構造化された回路で構成される場合には、端末通信回路と表現する場合もある。
【0024】
入出力部240は、入力部及び出力部を含む。入力部は、端末200に対する各種操作を入力する装置である。出力部は、端末200で処理された処理結果を出力する装置である。入出力部240は、入力部と出力部が一体化していてもよいし、入力部と出力部に分離していてもよいし、そうでなくてもよい。
【0025】
入力部は、ユーザからの入力を受け付けて、当該入力に係る情報を端末制御部230に伝達できる全ての種類の装置のいずれか、又は、その組み合わせにより実現される。入力部は、例えば、タッチパネル、タッチディスプレイ、キーボード等のハードウェアキーや、マウス等のポインティングデバイス、カメラ(動画像を介した操作入力)、マイク(音声による操作入力)を含む。
【0026】
出力部は、端末制御部230で処理された処理結果を出力することができる全ての種類の装置のいずれか、又は、その組み合わせにより実現される。出力部は、例えば、タッチパネル、タッチディスプレイ、スピーカ(音声出力)、レンズ(例えば3D(Three Dimensions)出力や、ホログラム出力)、プリンター等を含む。
【0027】
表示部250は、フレームバッファに書き込まれた表示データに従って、表示することができる全ての種類の装置のいずれか、又は、その組み合わせにより実現される。表示部250は、例えば、タッチパネル、タッチディスプレイ、モニタ(例えば、液晶ディスプレイやOELD(Organic Electroluminescence Display)等)、ヘッドマウントディスプレイ(HDM:Head Mounted Display)、プロジェクションマッピング、ホログラム、空気中等(真空であってもよいし、そうでなくてもよい)に画像やテキスト情報等を表示可能な装置を含む。なお、これらの表示部250は、3Dで表示データを表示可能であってもよいし、そうでなくてもよい。
【0028】
端末制御部230は、表示部250の表示を制御する機能を有している。端末制御部230は、表示部250に表示させる表示画面に係る表示データを生成する。そして、端末制御部230は、生成した表示データを表示部250に表示させる処理を行う。すなわち、端末制御部230は、表示データを画素情報に変換し、表示部250のフレームバッファに書き込む機能を有する。
【0029】
なお、入出力部240がタッチパネルを有する場合、入出力部240と表示部250とは、略同一の大きさ及び形状で対向して配置されていてもよい。
【0030】
マイク260は、音声データの入力に利用される。スピーカ270は、音声データの出力に利用される。カメラ280は、動画像データ及び/又は静止画像データの取得に利用される。
【0031】
次に、
図3を参照しながら、サーバ100の構成について説明する。サーバ100は、サーバ制御部130、サーバ記憶部120及びサーバ通信部110を備えている。サーバ100のハードウェアの各構成要素は、例えば、バスを介して相互に接続されている。
【0032】
サーバ制御部130は、プログラム内に含まれたコード又は命令によって実現する機能を実行するために物理的に構造化された回路を有し、例えば、ハードウェアに内蔵されたデータ処理装置により実現される。サーバ制御部130は、代表的には中央処理装置(CPU)であり、その他にマイクロプロセッサ、プロセッサコア、マルチプロセッサ、ASIC、FPGA等であってもよいし、そうでなくてもよい。本開示において、サーバ制御部130は、これらに限定されない。
【0033】
サーバ記憶部120は、サーバ100が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。サーバ記憶部120は、HDD、SSD、フラッシュメモリ等各種の記憶媒体により実現される。ただし、本開示において、サーバ記憶部120は、これらに限定されない。また、サーバ記憶部120は、メモリ(Memory)と表現されてもよいし、されなくてもよい。
【0034】
サーバ通信部110は、ネットワーク300を介して各種データの送受信を行う。当該通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。サーバ通信部110は、ネットワーク300を介して、端末200との通信を実行する機能を有する。サーバ通信部110は、サーバ送信部111及びサーバ受信部112を含んでいる。サーバ送信部111は、各種データをサーバ制御部130からの指示に従って、端末200に送信する。また、サーバ通信部110は、端末200から送信された各種データを受信し、サーバ制御部130に伝達する。また、サーバ通信部110をサーバ通信I/F(インタフェース)と表現する場合もある。また、サーバ通信部110が物理的に構造化された回路で構成される場合には、サーバ通信回路と表現する場合もある。
【0035】
なお、サーバ100は、ハードウェア構成として、入出力部及びディスプレイを備えてもよい。入出力部は、サーバ100に対する各種操作を入力する装置により実現される。入出力部は、ユーザからの入力を受け付けて、当該入力に係る情報をサーバ制御部130に伝達できる全ての種類の装置のいずれか、又は、その組み合わせにより実現される。ディスプレイは、代表的にはモニタ(例えば、液晶ディスプレイやOELD等)で実現される。この場合、例えば、サーバ100のハードウェアは、ディスプレイを取り外すような構成であってもよいし、そうでなくてもよい。
【0036】
サーバ100は、プログラムをサーバ記憶部120に記憶し、このプログラムを実行することで、サーバ制御部130が、サーバ制御部130に含まれる各部としての処理を実行する。つまり、サーバ記憶部120に記憶されるプログラムは、サーバ100に、サーバ制御部130が実行する各機能を実現させる。換言すれば、サーバ100においてメモリに記憶されたプログラムをプロセッサが実行し、サーバ100のハードウェアとソフトウェアとが協働することによって、サーバ100が備える各部の機能が実現される。なお、このプログラムは、プログラムモジュールと表現されてもよいし、されなくてもよい。
【0037】
なお、端末200の端末制御部230、及び/又は、サーバ100のサーバ制御部130は、制御回路を有するCPUだけでなく、集積回路(IC(Integrated Circuit)チップ、LSI(Large Scale Integration))等に形成された論理回路(ハードウェア)や専用回路によって各処理を実現してもよいし、そうでなくてもよい。また、これらの回路は、1又は複数の集積回路により実現されてよく、本開示に係る実施形態に示す複数の処理を1つの集積回路により実現されることとしてもよいし、そうでなくてもよい。また、LSIは、集積度の違いにより、VLSI、スーパーLSI、ウルトラLSI等と呼称されることもある。
【0038】
また、本開示に係る実施形態のプログラム(例えば、ソフトウェアプログラム、コンピュータプログラム、又はプログラムモジュール)は、コンピュータに読み取り可能な記憶媒体に記憶された状態で提供されてもよいし、されなくてもよい。記憶媒体は、「一時的でない有形の媒体」に、プログラムを記憶可能である。また、プログラムは、本開示に係る実施形態の機能の一部を実現するためのものであってもよいし、そうでなくてもよい。さらに、本開示に係る実施形態の機能を記憶媒体に既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよいし、そうでなくてもよい。
【0039】
記憶媒体は、1つ又は複数の半導体ベースの、又は他の集積回路(IC)(例えば、フィールド・プログラマブル・ゲート・アレイ(FPGA)又は特定用途向けIC(ASIC)等)、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピィ・ディスケット、フロッピィ・ディスク・ドライブ(FDD)、磁気テープ、固体ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カード、又はドライブ、任意の他の適切な記憶媒体、もしくは、これらの2つ以上の適切な組合せを含むことができる。記憶媒体は、適切な場合、揮発性、不揮発性、又は揮発性と不揮発性の組合せでよい。なお、記憶媒体はこれらの例に限られず、プログラムを記憶可能であれば、どのようなデバイス又は媒体であってもよい。また、記憶媒体をメモリ(Memory)と表現されてもよいし、されなくてもよい。
【0040】
また、本開示のプログラムは、当該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して、サーバ100及び/又は端末200に提供されてもよいし、されなくてもよい。プログラムが伝送媒体を介して提供される場合、サーバ100及び/又は端末200は、例えば、インターネット等を介してダウンロードしたプログラムを実行することにより、各実施形態に示す複数の機能部の機能を実現することが可能である。
【0041】
また、本開示に係る実施形態は、プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。また、サーバ100及び/又は端末200における処理の少なくとも一部は、1以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよいし、そうでなくてもよい。また、端末200における処理の少なくとも一部を、サーバ100により行う構成としてもよいし、そうでなくてもよい。この場合、端末200の端末制御部230の各機能部の処理のうち少なくとも一部の処理を、サーバ100で行う構成としてもよいし、そうでなくてもよい。また、サーバ100における処理の少なくとも一部を、端末200により行う構成としてもよいし、そうでなくてもよい。この場合、サーバ100のサーバ制御部130の各機能部の処理のうち少なくとも一部の処理を、端末200で行う構成としてもよいし、そうでなくてもよい。
【0042】
なお、本開示のプログラムは、例えば、ActionScript、JavaScript(登録商標)等のスクリプト言語、Objective-C、Java(登録商標)等のオブジェクト指向プログラミング言語、HTML5等のマークアップ言語等を用いて実装され得る。
【0043】
図3に示すように、サーバ100のサーバ記憶部120は、暗号鍵記憶部121を含んでいる。暗号鍵記憶部121には、公開鍵及び秘密鍵の情報が記憶されている。公開鍵は、情報を暗号化するためのものである。秘密鍵は、公開鍵で暗号化された情報を復号するためのものである。サーバ100は、サーバ制御部130により実現される機能として、暗号鍵管理部131を有している。公開鍵と秘密鍵とは対になっている。例えば、公開鍵は、対になる秘密鍵から生成される。暗号鍵管理部131は、公開鍵及び秘密鍵の各対について管理する。暗号鍵管理部131による管理のもとで、公開鍵は少なくともサーバ100と通信する端末200に公開される。一方、秘密鍵は秘匿される。
【0044】
この実施の形態に係る通信システム400において、それぞれの端末200の端末記憶部220は、対象データを記憶する記憶部である。例えば、端末記憶部220には、当該端末200の所有者のユーザ情報、使用履歴に関する情報、当該端末200の設定情報、ユーザが入力した特定の質問やアンケートに対するユーザの回答内容等を記憶している。ユーザ情報は、例えば、ユーザにより入力される、ユーザの名前、ユーザのアイコン画像、ユーザの年齢、ユーザの性別、ユーザの住所、ユーザの趣味趣向、ユーザの識別子等のユーザに対応づけられた情報を含んでいる。このようなユーザ情報、使用履歴に関する情報、設定情報及びユーザの回答内容の一部又は全部は、対象データになり得る。
【0045】
図2に示すように、それぞれの端末200は、端末制御部230により実現される機能として、ノイズ付加部231、公開鍵暗号化部232及び送信先決定部233を有している。ノイズ付加部231は、当該端末200の端末記憶部220に記憶された対象データにノイズを付加する。ノイズ付加部231は、所定の統計的操作により対象データにノイズを付加する。
【0046】
次に、ノイズ付加部231によるノイズ付加の一例を説明する。この例では、対象データは2つの値をとり得る2値データであるとする。2値データの例として、生物学的な性(男性か女性か)、回答(YesかNoか)、有無(有るか無いか)等が挙げられる。ここでは、対象データは、0と1の値をとるとする。ノイズ付加部231は、予め設定された確率p(0<p<1)で、対象データの値を反転させる。すなわち、対象データの真の値が0のとき、ノイズ付加後の対象データの値は、確率pで1となり、確率(1-p)で0となる。また、対象データの真の値が1のとき、ノイズ付加後の対象データの値は、確率pで0となり、確率(1-p)で1となる。
【0047】
公開鍵暗号化部232は、ノイズ付加部231によりノイズが付加された対象データを公開鍵で暗号化する暗号化部である。この際の暗号化に用いられる公開鍵は、サーバ100の暗号鍵管理部131により管理されているものである。サーバ100と端末200との通信において、サーバ送信部111は、端末200へと公開鍵を送信する。端末受信部212は、サーバ100から送信された公開鍵を受信する。公開鍵暗号化部232は、このようにして取得した公開鍵を用いて、ノイズが付加された対象データを暗号化する。
【0048】
送信先決定部233は、当該端末の端末記憶部220に記憶された対象データの送信先を、サーバ100及び当該端末200以外の他の端末200のうちから無作為(ランダム)に決定する。以下の説明においては、当該端末200以外の他の端末200のことを単に他の端末200ともいう。ここで、他の端末200のそれぞれを送信先に決定する確率をそれぞれp1とし、サーバ100を送信先に決定する確率をp2とすると、以下の(1)式から(3)式を満たすように、p1及びp2が予め設定される。
【0049】
p1×(n-1)+p2=1 ・・・ (1)
0<p1<1 ・・・ (2)
0<p2<1 ・・・ (3)
【0050】
端末送信部211は、公開鍵暗号化部232で暗号化された対象データを、送信先決定部233で決定された送信先に送信する。すなわち、端末送信部211は、公開鍵暗号化部232で暗号化された対象データを、他の端末200のいずれか、あるいは、サーバ100に送信する。
【0051】
いずれかの他の端末200の送信先決定部233により、送信先が当該端末200に決定されると、当該端末200に他の端末200から暗号化された対象データが送信される。端末受信部212は、当該端末200以外の他の端末200から送信された対象データを受信する。当該端末200の端末受信部212が他の端末200から送信された対象データを受信した場合、当該端末200の送信先決定部233は、さらに、当該端末200の端末受信部212が受信した対象データの送信先を、サーバ100及び当該端末200以外の他の端末200のうちから無作為に決定する。そして、当該端末200の端末送信部211は、当該端末200の端末受信部212が受信した対象データを、当該端末200の送信先決定部233で決定された送信先に送信する。
【0052】
サーバ100のサーバ受信部112は、それぞれの端末200から送信された暗号化された対象データを受信する。
図2に示すように、この実施の形態に係る通信システム400においては、サーバ100は、サーバ制御部130により実現される機能として、復号部132及びデータ解析部133を備えている。また、サーバ記憶部120は、対象データ記憶部122をさらに含んでいる。復号部132は、サーバ受信部112が受信した対象データを秘密鍵で復号する。この復号に用いられる秘密鍵は、暗号鍵管理部131により管理されたものである。対象データ記憶部122は、復号部132により復号された対象データを記憶・蓄積する。
【0053】
データ解析部133は、対象データ記憶部122に記憶されている対象データを統計的に処理して解析し、対象データ全体についての性質や特徴等を得て、解析結果として出力する。なお、データ解析部133による対象データの統計的処理は、各端末200のノイズ付加部231によるノイズ付加時に施された、前述の所定の統計的操作の内容を加味して行われる。そして、サーバ送信部111は、指定された出力先に解析結果を出力する。
【0054】
この実施の形態に係る通信システム400においては、それぞれの端末200は、当該端末200の端末記憶部220に記憶された対象データ及び端末受信部212が受信した対象データの一方又は両方を、予め設定された確率で削除してもよいし、しなくともよい。端末記憶部220に記憶された対象データ及び端末受信部212が受信した対象データの一方又は両方を予め設定された確率で削除する場合、それぞれの端末200は、端末制御部230により実現される機能として、データ削除部234をさらに備えている。
【0055】
データ削除部234は、端末記憶部220に記憶された対象データ及び/又は端末受信部212が受信した対象データを確率p3で削除する。そして、削除しない場合、対象データの送信先が送信先決定部233により決定される。すなわち、前述した確率p1及びp2と確率p3とは、前述の(2)式及び(3)式、並びに、次の(1’)式及び(4)式を満たすように予め設定される。
【0056】
p1×(n-1)+p2+p3=1 ・・・ (1’)
0<p3<1 ・・・ (4)
【0057】
なお、端末200同士での対象データの通信は、サーバ100を経由し、かつ、エンドツーエンド暗号化されていてもよいし、されていなくともよい。端末200同士での対象データの通信が、サーバ100を経由し、かつ、エンドツーエンド暗号化されている場合、
図2に示すように、それぞれの端末200は、端末制御部230により実現される機能として、エンドツーエンド暗号化部235をさらに備えている。また、
図3に示すように、サーバ100は、サーバ制御部130により実現される機能として、エンドツーエンド通信管理部134をさらに備えている。
【0058】
この場合、送信先決定部233により対象データの送信先が他の端末200に決定された場合、これらの端末200間での対象データの通信は、サーバ100を経由して行われる。この際、サーバ100を経由した端末200間での通信は、サーバ100のエンドツーエンド通信管理部134により管理される。また、ある端末200から別の端末200への対象データの送信時には、エンドツーエンド暗号化が施される。すなわち、送信先決定部233により対象データの送信先が他の端末200に決定された場合、エンドツーエンド暗号化部235は、対象データを暗号化する。
【0059】
次に、以上のように構成された通信システム400における端末200での処理の一例について、
図4を参照しながら説明する。まず、端末受信部212がサーバ100からのデータ送信コマンドを受信すると(ステップS11)、端末制御部230は、次にステップS12の処理を行う。ステップS12においては、ノイズ付加部231は、端末記憶部220に記憶された対象データにノイズを付加する。そして、公開鍵暗号化部232は、ノイズ付加部231によりノイズが付加された対象データを公開鍵で暗号化する。
【0060】
続くステップS13において、送信先決定部233による対象データの送信先の決定、又は、データ削除部234による対象データの削除のいずれかが行われ、その結果として、ステップS14からS16のいずれかの処理が無作為に行われる。すなわち、確率p2で送信先決定部233により対象データの送信先がサーバ100に決定され、この場合、端末送信部211は、対象データをサーバ100に送信する(ステップS14)。また、それぞれの他の端末200につき確率p1で送信先決定部233により対象データの送信先が他の端末200に決定され、この場合、対象データはエンドツーエンド暗号化部235で暗号化された上で、端末送信部211により他の端末200に送信される(ステップS15)。そして、確率p3でデータ削除部234により対象データが削除される(ステップS16)。
【0061】
また、端末受信部212が他の端末200から送信された対象データを受信した場合(ステップS17)も、ステップS13において、対象データの削除又は送信先の決定が無作為に行われる。そして、その結果として、ステップS14からS16のいずれかの処理が無作為に行われる。
【0062】
このようにして、この実施の形態に係る端末200においては、例えば、通信システム400の端末200によって実行されるためのプログラムによって、少なくとも以下の処理が実行される。
・当該端末200の端末記憶部220に記憶された対象データにノイズを付加すること
・ノイズが付加された対象データを、サーバ100で管理された公開鍵で暗号化すること
・当該端末200の端末記憶部220に記憶された対象データの送信先を、サーバ100及び他の端末200のうちから無作為に決定すること
・暗号化された対象データを、決定された送信先に送信すること
・他の端末200から送信された対象データを受信すること
・受信した対象データの送信先を、サーバ100及び他の端末200のうちから無作為に決定すること
・受信した対象データを、決定された送信先に送信すること
【0063】
次に、以上のように構成された通信システム400全体における処理の一例を、
図5を参照しながら説明する。同図に示す例では、まず、ユーザ1の端末200において、端末記憶部220に記憶されている対象データに、ノイズ付加部231によりノイズが付加される(図中の(A))。次に、図中の(B)に示すように、ノイズが付加された対象データは、公開鍵暗号化部232により、サーバ100の公開鍵により暗号される。これにより、対象データの内容は、公開鍵に対応する秘密鍵を有するサーバ100でしか見ることができず、サーバ100以外のデバイス等による盗聴を防ぐことができる。
【0064】
対象データは、確率p1でサーバ100を経由して他の端末200に送信される(図中の(D))。図示の例では、対象データは、ユーザ1の端末200からユーザ2の端末200に送信され、ユーザ2の端末200からユーザ3の端末200に送信され、ユーザ3の端末200からユーザnの端末200に送信されている。この際、図中の(C)に示すように、それぞれの端末200間での通信は、エンドツーエンドで暗号化されている。これにより、送信先の端末200以外の第三者による盗聴を防ぐことができる。
【0065】
対象データは、確率p2でサーバ100に送信される(図中の(E))。図示の例では、ユーザ1の端末200の対象データは、最終的にユーザnの端末200からサーバ100に送信されている。そして、サーバ100は、受信したデータを復号部132で秘密鍵を用いて復号することで、ユーザ1の端末200の対象データを得ることができる(図中の(F))。このようにして、サーバ100においては、それぞれの端末200間でやり取りされる対象データの内容を見ることはできないが、最終的にサーバ100に送信されてきた対象データの内容は見ることができるようにすることが可能である。なお、図中の(G)に示すように、対象データは、それぞれの端末200において、確率p3で削除されることもある。
【0066】
このようにして、この実施の形態に係る通信システム400によれば、それぞれの端末200で対象データにノイズを付与した上で、それぞれの端末200間で対象データを無作為に交換しつつ、一定確率で端末200からサーバ100に対象データを送信する。このため、対象データをシャッフルして入れ換えるための装置を必要とすることなく、対象データをシャッフルしたのと同様の匿名性を得ることができる。したがって、端末200側で対象データに付与するノイズを小さく抑えつつ、データを収集するサーバ100側でのデータの匿名性を向上し、統計データとしての有用性の向上とプライバシーの保護強度の向上とを両立させることができる。また、対象データをシャッフルして入れ換えるための装置を必要としないため、シャッフルする前の対象データ集合が漏洩してしまうリスクも抑えることが可能である。
【0067】
また、データ削除部234を備えることで、収集する対象データについて無作為抽出を行った場合と同様の効果を得ることができる。このため、プライバシー保護強度のさらなる向上を図ることが可能である。また、それぞれの端末200間で通信される対象データの数が減少するため、それぞれの端末200間で通信データ量が削減され、通信負荷の低減を図ることができる。特に、データ削除部234により自端末に記憶された対象データを一定確率p3で削除することで、通信負荷を効果的に低減させることが可能である。
【0068】
また、それぞれの端末200間での通信をエンドツーエンドで暗号化することで、送信先の端末200以外の第三者による盗聴を防ぐことができる。これにより、それぞれの端末200間での対象データの通信については、サーバ100においても見ることができないため、データを収集するサーバ100におけるデータの匿名性を、より確実に保つことができる。
【0069】
次に、この実施の形態に係る通信システム400の第1変形例及び第2変形例について説明する。これらの第1変形例及び第2変形例においては、送信先決定部233は、当該端末200の端末記憶部220に記憶された対象データの送信先を、他の端末のうちから無作為に決定する。すなわち、自端末に記憶された対象データを直接にサーバ100に送ることはない。
【0070】
そして、端末受信部212が受信した対象データ、つまり、他の端末200から送信されてきた対象データについては、端末200同士での対象データの通信が行われた回数によって、その送信先の候補が変化する。まず、第1変形例においては、送信先決定部233は、端末受信部212が受信した対象データの送信先を、予め設定された基準回数だけ端末200同士での対象データの通信が行われるまでは、他の端末200のうちから無作為に決定する。そして、送信先決定部233は、端末受信部212が受信した対象データの送信先を、前述の基準回数だけ端末200同士での対象データの通信が行われた後は、サーバ100に決定する。
【0071】
この際の基準回数は、通信システム400に含まれる端末200の数に応じて決定される。例えば、基準回数は、通信システム400に含まれる端末200の数nの自然対数ln(n)以上の最小の整数以上とする。
【0072】
例えば、端末200同士の通信がサーバ100を経由して行われる場合、通信システム400において端末200同士で対象データの通信が行われた回数は、サーバ100で容易にカウントすることができる。また、端末200同士の通信がサーバ100を経由して行われない場合であっても、各端末200が他の端末200から送信された対象データを受信した回数をサーバ100に通知することで、サーバ100において通信回数をカウントできる。そして、サーバ100は、カウントした端末200同士で対象データの通信が行われた回数、あるいは、端末200同士で対象データの通信が行われた回数が基準回数以上となったか否かを各端末200に通知することで、それぞれの端末200において通信回数に応じた送信先の決定を行うことができる。
【0073】
このようにして、第1変形例では、最初に自端末に記憶された対象データを他の端末200に送信し、端末200同士での対象データの通信回数が基準回数になるまでは、対象データをサーバ100には送らずに端末200同士での対象データの通信を繰り返す。そして、端末200同士での対象データの通信回数が基準回数以上になれば、それぞれの端末200からサーバ100へ対象データを送信する。これにより、端末200同士で対象データが一定回数以上交換されることになり、対象データをシャッフルしたのと同様の匿名性をより確実に確保できる。特に、基準回数を、通信システム400に含まれる端末200の数nの自然対数ln(n)以上の最小の整数とすることで、全ての端末200の対象データを集めて一度にシャッフルしたのと同等の匿名性を得ることができる。
【0074】
また、第2変形例においては、送信先決定部233は、端末受信部212が受信した対象データの送信先を、前述の基準回数だけ端末200同士での対象データの通信が行われるまでは、第1変形例と同様に、他の端末200のうちから無作為に決定する。そして、送信先決定部233は、端末受信部212が受信した対象データの送信先を、前述の基準回数だけ端末200同士での対象データの通信が行われた後は、第1変形例とは異なり、サーバ100及び他の端末200のうちからに決定する。
【0075】
このようにして、第2変形例では、最初に自端末に記憶された対象データを他の端末200に送信し、端末200同士での対象データの通信回数が基準回数になるまでは、対象データをサーバ100には送らずに端末200同士での対象データの通信を繰り返す。そして、端末200同士での対象データの通信回数が基準回数以上になれば、端末200からサーバ100又は他の端末200へ対象データを送信する。このようにしても、第1変形例と同様に、端末200同士で対象データが一定回数以上交換されることになり、対象データをシャッフルしたのと同様の匿名性をより確実に確保できる。
【0076】
なお、これらの第1変形例及び第2変形例においても、それぞれの端末200は、データ削除部234を有してもよいし、有さなくてもよい。そして、端末200がデータ削除部234を有する場合、データ削除部234は、端末200同士での対象データの通信が行われた回数によって、対象データを削除するか否かを変えてもよいし、変えなくてもよい。端末200同士での対象データの通信が行われた回数によって対象データを削除するか否かを変える場合、例えば、データ削除部234は、端末200同士での対象データの通信回数が前述した基準回数になるまでは、対象データの削除を行わない。そして、前述した基準回数の端末200同士での対象データの通信が行われた後に、端末受信部212が受信した対象データを、前述の確率p3で削除する。
【0077】
次に、以上のように構成された第2変形例における端末200での処理の一例について、
図6を参照しながら説明する。まず、端末受信部212がサーバ100からのデータ送信コマンドを受信すると(ステップS21)、端末制御部230は、次にステップS22の処理を行う。ステップS22においては、ノイズ付加部231は、端末記憶部220に記憶された対象データにノイズを付加する。そして、公開鍵暗号化部232は、ノイズ付加部231によりノイズが付加された対象データを公開鍵で暗号化する。
【0078】
続くステップS23において、送信先決定部233による対象データの送信先の決定が行われ、その結果として、ステップS24の処理が行われる。ステップS24においては、送信先決定部233により対象データの送信先が他の端末200に決定され、この場合、対象データはエンドツーエンド暗号化部235で暗号化された上で、端末送信部211により他の端末200に送信される。
【0079】
また、端末受信部212が他の端末200から送信された対象データを受信した場合(ステップS25)、前述した基準回数だけ端末200同士での対象データの通信が行われるまでは、ステップS23及びS24の処理が行われる。すなわち、端末受信部212が受信した対象データはエンドツーエンド暗号化部235で暗号化された上で、端末送信部211により他の端末200に送信される。
【0080】
一方、端末200同士での対象データの通信回数が前述した基準回数に達した後に、端末受信部212が他の端末200から送信された対象データを受信した場合(ステップS31)、続くステップS32において、送信先決定部233による対象データの送信先の決定、又は、データ削除部234による対象データの削除のいずれかが行われ、その結果として、ステップS33からS35のいずれかの処理が無作為に行われる。すなわち、確率p2で送信先決定部233により対象データの送信先がサーバ100に決定され、この場合、端末送信部211は、対象データをサーバ100に送信する(ステップS33)。また、それぞれの他の端末200につき確率p1で送信先決定部233により対象データの送信先が他の端末200に決定され、この場合、対象データはエンドツーエンド暗号化部235で暗号化された上で、端末送信部211により他の端末200に送信される(ステップS34)。そして、確率p3でデータ削除部234により対象データが削除される(ステップS35)。
【0081】
なお、以上で説明した構成例では、送信先決定部233が対象データの送信先を無作為に決定する際、送信先の候補となる他の端末200は、当該端末200以外の全ての端末200、つまり(n-1)個の端末200であった。しかしながら、送信先決定部233が対象データの送信先を無作為に決定する際、当該端末200以外の全ての(n-1)個の端末200を送信先の候補としてもよいし、当該端末200以外の端末200のうちの一部のみを送信先の候補としてもよい。
【0082】
ここで、各端末200をノードとした仮想的なネットワークの論理トポロジーとして、例えば、リング型、メッシュ型、スター型、フルコネクト型、バス型、ツリー型等の既知の各種形態が考えられる。送信先決定部233は、送信先の候補となる他の端末200を、各端末200をノードとした仮想的なネットワークの論理トポロジーに応じて決定してもよい。この場合、例えば、送信先決定部233は、各端末200をノードとしたネットワークの論理トポロジーにおいて、当該端末200に隣接するノードの端末200を対象データの送信先の候補にすることが考えられる。
【0083】
次に、
図7を参照しながら、対象データの送信先を、隣接する端末200のうちから決定する場合の一例について説明する。図示のネットワークにおける論理トポロジーでは、ユーザ1の端末200には、ユーザ2の端末200とユーザ3の端末200が隣接している。また、ユーザ2の端末200には、ユーザ4の端末200とユーザ5の端末200が隣接している。そして、ユーザ3の端末200には、ユーザ5の端末200とユーザ6の端末200が隣接している。
【0084】
このようなネットワークで、
図7(a)に示す初期状態において、ユーザ1の端末200の送信先決定部233は、当該端末200の対象データの送信先を、当該端末200に隣接するユーザ2の端末200及びユーザ3の端末200のうちから無作為に決定する。図示の例では、送信先がユーザ2の端末200に決定されている。そして、ユーザ1の端末200の対象データがユーザ2の端末200に送信される。
【0085】
次に、
図7(b)に示すように、ユーザ1の端末200から送信された対象データをユーザ2の端末200が受信する。ユーザ2の端末200の送信先決定部233は、受信した対象データの送信先を、当該端末200に隣接するユーザ4の端末200及びユーザ5の端末200のうちから無作為に決定する。図示の例では、送信先がユーザ5の端末200に決定されている。そして、対象データがユーザ5の端末200に送信される。そして、
図7(c)に示すように、ユーザ2の端末200から送信された対象データをユーザ5の端末200が受信する。
【0086】
このようにして、送信先決定部233は、対象データの送信先を、各端末200をノードとしたネットワークの論理トポロジーにおいて当該端末200に隣接するノードの端末200のうちから無作為に決定する。これにより、端末200間で対象データが送信される際の経路長を短くすることができ、ネットワーク300における通信負荷の軽減を図ることが可能である。
【0087】
本開示に係る発明を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。したがって、これらの変形や修正は本開示に係る発明の範囲に含まれることに留意されたい。例えば、各部、各手段、各ステップ等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の手段やステップ等を1つに組み合わせたり、あるいは分割したりすることが可能である。また、以上で説明した実施形態に示す構成を適宜組み合わせることとしてもよい。
【0088】
本開示に係る通信システム及びプログラムは、サーバと複数の端末とを含み、サーバが複数の端末から対象データを収集する通信システム及びプログラムにおいて活用することができる。
【符号の説明】
【0089】
100 サーバ
110 サーバ通信部
111 サーバ送信部
112 サーバ受信部
120 サーバ記憶部
121 暗号鍵記憶部
122 対象データ記憶部
130 サーバ制御部
131 暗号鍵管理部
132 復号部
133 データ解析部
134 エンドツーエンド通信管理部
200 端末
210 端末通信部
211 端末送信部
212 端末受信部
220 端末記憶部
230 端末制御部
231 ノイズ付加部
232 公開鍵暗号化部
233 送信先決定部
234 データ削除部
235 エンドツーエンド暗号化部
240 入出力部
250 表示部
260 マイク
270 スピーカ
280 カメラ
300 ネットワーク
400 通信システム