(57)【要約】      （修正有）【課題】プライバシー保護順序統計を容易にするシステムを提供する。【解決手段】システムは、ランダム値によって摂動された第２のデバイスに関連する第２の値を、第１のデバイスによって第２のデバイスから受信する。システムは、第１のデバイスに関連する第１の値と第２の値との第１の差を決定する。システムは、第１の差とランダム値との第２の差を暗号化する。暗号化された第２の差を送信した後、システムは、第１の整数の符号および暗号文を受信する。システムは、暗号文を復号して第１の整数に基づいてスケーリングされた第１の差を示す第３の値を得るが、ここでスケーリングされた第１の差は、第２の整数によって摂動されている。システムは、第１の整数の符号および第３の値の符号に基づいて、第１の値が第２の値より大きいか小さいかを決定する。【選択図】図４Ａ
2018151620.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークにおけるプライバシー保護順序統計を容易にするためのコンピュータ実施方法であって、
第２のデバイスによって生成されたランダム値によって摂動された前記第２のデバイスに関連する第２の値を、前記ネットワークの第１のデバイスによって、中央エンティティを介してネットワークの前記第２のデバイスから受信するステップであって、前記第１のデバイスが第１の値に関連付けられているステップと、
前記第１の値と前記第２の値との第１の差を決定するステップと、
前記第１のデバイスの公開鍵に基づいて、前記第１の差と前記ランダム値との第２の差を暗号化するステップと、
前記暗号化された第２の差を前記中央エンティティを介して前記第２のデバイスに送信するステップに続いて、第１の整数の符号および暗号文を前記中央エンティティを介して前記第２のデバイスから受信するステップと、
前記暗号文を復号して前記第１の整数に基づいてスケーリングされた前記第１の差を示す第３の値を得るステップであって、前記スケーリングされた第１の差が第２の整数によって摂動されているステップと、
前記第１の整数の前記符号および前記第３の値の符号に基づいて、前記第１の値が前記第２の値よりも大きいか小さいかを決定するステップと、
を含み、
それにより前記ネットワーク内のデバイスが、デバイス値を明らかにすることなく、前記ネットワーク内の１つ以上の他のデバイス値に対する前記デバイス値の相対的な順序を決定することを容易にする、
方法。
【請求項２】
前記第１のデバイスの前記公開鍵が加法準同型暗号システムに基づいている、請求項１に記載の方法。
【請求項３】
前記第２の整数の絶対値が前記第１の整数の絶対値よりも小さい、請求項１に記載の方法。
【請求項４】
前記暗号文が前記第１のデバイスの前記公開鍵に基づいて暗号化され、前記暗号文の復号が前記第１のデバイスの秘密鍵に基づいている、請求項１に記載の方法。
【請求項５】
ネットワークにおけるプライバシー保護順序統計を容易にするためのコンピュータ実施方法であって、
第１の値と第２の値との第１の差を示す第１の暗号文を、前記ネットワークの第２のデバイスによって、中央エンティティを介して前記ネットワークの第１のデバイスから受信するステップであって、前記第１のデバイスが前記第１の値に関連付けられ、前記第２のデバイスが前記第２の値に関連付けられ、前記第１の差が前記第２のデバイスによって生成されたランダム値によって摂動されているステップと、
第１の整数および第２の整数を選択するステップであって、前記第２の整数の絶対値が前記第１の整数の絶対値よりも小さいステップと、
加法準同型特性に基づいて、前記第１の整数に基づいてスケーリングされた前記第１の差である第３の値を示す第２の暗号文を生成するステップであって、前記スケーリングされた第１の差が前記第２の整数によって摂動されているステップであって、
ここで前記第１の暗号文および前記第２の暗号文が前記第１のデバイスの公開鍵に基づいて暗号化されているステップと、
前記第２の暗号文および前記第１の整数の符号を、前記中央エンティティを介して前記第１のデバイスに送信するステップであって、これにより前記第１のデバイスが、前記第１の整数の前記符号および前記第３の値の符号に基づいて、前記第１の値が前記第２の値より大きいか小さいかを決定するステップと、
を含み、
それにより前記ネットワーク内のデバイスが、デバイス値を明らかにすることなく、前記ネットワーク内の１つ以上の他のデバイス値に対する前記デバイス値の相対的な順序を決定することを容易にする、
方法。
【請求項６】
前記第１のデバイスの前記公開鍵が加法準同型暗号システムに基づいている、請求項５に記載の方法。
【請求項７】
前記第２の暗号文を生成するステップが、
前記第１の差を示す第３の暗号文を決定するステップと、
前記第２の整数を示す第４の暗号文を決定するステップと、
前記第４の暗号文と前記第１の整数乗した前記第３の暗号文との積を計算するステップであって、前記第３の暗号文および前記第４の暗号文が前記第２の鍵に基づいて暗号化されるステップと
をさらに含み、
ここで前記計算された積が前記第２の暗号文である、
請求項５に記載の方法。
【請求項８】
ネットワークにおけるプライバシー保護順序統計を容易にするためのコンピュータシステムであって、システムは、
プロセッサと、
前記プロセッサによって実行される際に前記プロセッサに方法を実行させる命令を格納する記憶デバイスと
を備え、前記方法は、
第２のデバイスによって生成されたランダム値によって摂動された前記第２のデバイスに関連する第２の値を、前記ネットワークの第１のデバイスによって、中央エンティティを介して前記ネットワークの前記第２のデバイスから受信するステップであって、前記第１のデバイスが第１の値に関連付けられているステップと、
前記第１の値と前記第２の値との第１の差を決定するステップと、
前記第１のデバイスの公開鍵に基づいて、前記第１の差と前記ランダム値との第２の差を暗号化するステップと、
前記暗号化された第２の差を前記中央エンティティを介して前記第２のデバイスに送信するステップに続いて、第１の整数の符号および暗号文を前記中央エンティティを介して前記第２のデバイスから受信するステップと、
前記暗号文を復号して前記第１の整数に基づいてスケーリングされた前記第１の差を示す第３の値を得るステップであって、前記スケーリングされた第１の差が第２の整数によって摂動されているステップと、
前記第１の整数の前記符号および前記第３の値の符号に基づいて、前記第１の値が前記第２の値よりも大きいか小さいかを決定するステップと、
を含み、
それにより前記ネットワーク内のデバイスが、デバイス値を明らかにすることなく、前記ネットワーク内の１つ以上の他のデバイス値に対する前記デバイス値の相対的な順序を決定することを容易にする、
コンピュータシステム。
【請求項９】
前記第１のデバイスの前記公開鍵が加法準同型暗号システムに基づいている、請求項８に記載のコンピュータシステム。
【請求項１０】
前記第２の整数の絶対値が前記第１の整数の絶対値よりも小さい、請求項８に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に順序統計の発見に関する。より具体的には、本開示は、スターネットワークにおけるプライバシー保護順序統計に関する。
【背景技術】
【０００２】
インターネットおよび電子商取引の普及により、多数のデバイスから膨大な量のデジタルコンテンツが作り続けられている。個々のユーザは、ウェアラブルコンピュータ、スマートフォン、およびモノのインターネット（ＩｏＴ）ホームデバイスなどのデバイスから機密データを生成してもよく、機密データは中央エンティティまたはサービスプロバイダ（例えば、ＳｔｒａｖａおよびＦｉｔＢｉｔ）によって処理される。個々のユーザは、個々のユーザの機密データを他のユーザまたは中央エンティティに明らかにすることなく、他のユーザに対する順位または順序を中央エンティティを介して決定することを望んでもよい。例えば、Ｓｔｒａｖａなどのアプリケーションでは、個々のユーザは、特定のサイクリングルートまたは道路セグメントに対するタイムに基づいて、セグメントにかかったユーザのタイムなどの個々のユーザの基礎データを他のユーザまたは中央エンティティに明らかにすることなく、ユーザグループ内の相対的な順序または順位を知りたいと望んでもよい。
【０００３】
すべてのユーザおよび中央エンティティは、非信頼エンティティである。非信頼エンティティ間の相互作用における主なプライバシー制約は、個々のユーザが保持するデータを他のユーザまたは中央エンティティに公開すべきではないことである。しかし、それでもユーザは、自分のデータをプライバシーが保護される方法で比較して他のユーザに対する順位を知りたいと望んでもよい。さらに、スターネットワークトポロジを考えると、ユーザは互いに直接通信しない。ユーザは、中央エンティティを介してのみ互いに通信することができる。
【０００４】
各ユーザは自分の秘密鍵を使用して自分のデータの難読化や暗号化を行えるが、これは、各ユーザが、自分のデータ値とそれぞれに固有の秘密鍵を有する他のユーザが保持するデータ値とを比較できなければならないという点で面倒なものとなっている。スターネットワークにおけるプライバシー保護順序統計を容易にするプロトコルは現在のところ存在しない。
【発明の概要】
【課題を解決するための手段】
【０００５】
１つの実施形態は、ネットワークにおけるプライバシー保護順序統計を容易にするシステムを提供する。動作中、システムは、第２のデバイスによって生成されたランダム値によって摂動された第２のデバイスに関連する第２の値を、ネットワークの第１のデバイスによって、中央エンティティを介してネットワークの第２のデバイスから受信するが、ここで第１のデバイスは第１の値に関連付けられている。システムは、第１の値と第２の値との第１の差を決定する。システムは、第１のデバイスの公開鍵に基づいて、第１の差とランダム値との第２の差を暗号化する。暗号化された第２の差を中央エンティティを介して第２のデバイスに送信した後、システムは、中央エンティティを介して第２のデバイスから第１の整数の符号および暗号文を受信する。システムは、暗号文を復号して第１の整数に基づいてスケーリングされた第１の差を示す第３の値を得るが、ここでスケーリングされた第１の差は、第２の整数によって摂動されている。システムは、第１の整数の符号および第３の値の符号に基づいて、第１の値が第２の値より大きいか小さいかを決定し、それによりネットワーク内のデバイスは、デバイス値を明らかにすることなく、ネットワーク内の１つ以上の他のデバイス値に対するデバイス値の相対的な順序を決定することができる。
【０００６】
一部の実施形態では、第１のデバイスの公開鍵は、加法準同型暗号システムに基づいている。
【０００７】
一部の実施形態では、第２の整数の絶対値は、第１の整数の絶対値よりも小さい。
【０００８】
一部の実施形態では、暗号文は第１のデバイスの公開鍵に基づいて暗号化され、暗号文の復号は第１のデバイスの秘密鍵に基づいている。
【０００９】
一部の実施形態では、第１の値が第２の値よりも大きいか小さいかを決定するステップは、第１の整数の符号が正であり、第３の値の符号が正であるとの決定に応じて、第１の値が第２の値よりも大きいと決定するステップ、第１の整数の符号が正であり、第３の値の符号が負であるとの決定に応じて、第１の値が第２の値よりも小さいと決定するステップ、第１の整数の符号が負であり、第３の値の符号が負であるとの決定に応じて、第１の値が第２の値よりも大きいと決定するステップ、第１の整数の符号が負であり、第３の値の符号が正であるとの決定に応じて、第１の値が第２の値よりも小さいと決定するステップをさらに含む。
【００１０】
一部の実施形態では、第１の整数の符号は第１のデバイスの公開鍵に基づいて暗号化され、システムは第１の整数の暗号化された符号を復号して第１の整数の符号を得る。
【００１１】
一部の実施形態では、第２の整数はゼロの値を有しており、ここで第３の値がゼロであるとの決定に応じて、システムは、第１の値が第２の値と等しいと決定する。
【００１２】
別の実施形態は、ネットワークにおけるプライバシー保護順序統計を容易にする。動作中、システムは、第１の値と第２の値との第１の差を示す第１の暗号文を、ネットワークの第２のデバイスによって、中央エンティティを介してネットワークの第１のデバイスから受信するが、ここで第１のデバイスは第１の値に関連付けられており、第２のデバイスは第２の値に関連付けられており、ここで第１の差は、第２のデバイスによって生成されたランダム値によって摂動されている。システムは、第１の整数および第２の整数を選択するが、ここで第２の整数の絶対値は、第１の整数の絶対値よりも小さい。システムは、加法準同型特性に基づいて、第１の整数に基づいてスケーリングされた第１の差である第３の値を示す第２の暗号文を生成するが、ここでスケーリングされた第１の差は第２の整数によって摂動されており、第１の暗号文および第２の暗号文は、第１のデバイスの公開鍵に基づいて暗号化される。システムは、第２の暗号文および第１の整数の符号を中央エンティティを介して第１のデバイスに送信し、それにより第１のデバイスは、第１の整数の符号および第３の値の符号に基づいて第１の値が第２の値より大きいか小さいかを決定でき、それによりネットワーク内のデバイスは、デバイス値を明らかにすることなく、ネットワーク内の１つ以上の他のデバイス値に対するデバイス値の相対的な順序を決定することができる。
【００１３】
一部の実施形態では、システムは、第１の差を示す第３の暗号文を決定する。システムは、第２の整数を示す第４の暗号文を決定する。システムは、第４の暗号文と第１の整数乗された第３の暗号文との積を計算するが、ここで第３の暗号文および第４の暗号文は第２の鍵に基づいて暗号化され、計算された積は第２の暗号文である。
【００１４】
一部の実施形態では、第１の整数の符号を送信する前に、システムは、第１のデバイスの公開鍵に基づいて第１の整数の符号を第２のデバイスによって暗号化し、システムは、第１の整数の暗号化された符号を第１のデバイスによって復号して第１の整数の符号を得る。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態による、ネットワークにおけるプライバシー保護順序統計を容易にするための例示的な環境である。
【図２】本発明の一実施形態による、第１のデバイスの値が第２のデバイスの値よりも大きいか小さいかを示す例示的な表である。
【図３Ａ】本発明の一実施形態による、他のユーザデバイス値と比較したユーザデバイス値の相対的な順序を決定するための、ユーザデバイスによる方法を示すフローチャートである。
【図３Ｂ】本発明の一実施形態による、他のユーザデバイス値と比較したユーザデバイス値の相対的な順序を決定するための、ユーザデバイスによる方法を示すフローチャートである。
【図４Ａ】本発明の一実施形態による、ネットワークにおけるプライバシー保護順序統計を容易にするプロトコルに参加するための、ユーザデバイスによる方法を示すフローチャートである。
【図４Ｂ】本発明の一実施形態による、ネットワークにおけるプライバシー保護順序統計を容易にするプロトコルに参加するための、ユーザデバイスによる方法を示すフローチャートである。
【図５】本発明の一実施形態による、ネットワークにおけるプライバシー保護順序統計を容易にするための例示的な分散コンピュータおよび通信システムである。
【発明を実施するための形態】
【００１６】
図面において、同じ参照数字は同じ図形要素を指す。
【００１７】
以下の説明は、当業者が実施形態を作成し使用することを可能にするために提示され、特定の用途およびその要件の文脈において提供される。開示された実施形態に対する様々な変更は当業者には容易に明らかになり、本明細書で定義される一般的な原理は、本開示の精神および範囲から逸脱することなく他の実施形態および用途に適用され得る。したがって、本発明は、示された実施形態に限定されず、本明細書に開示された原理および特徴と一致する最も広い範囲が与えられるべきである。
【００１８】
概要
本発明の実施形態は、他のユーザのデータ値に対するユーザのデータ値の順序または順位を中央エンティティを介して決定しながら、スターネットワークにおけるユーザデータのプライバシーを保護するという問題を解決する。このシステムは、暗号文に対して計算を実行することができる準同型暗号システムに基づいている。このようにして、システムは暗号化された結果を生成することができるが、暗号化された結果は、復号されると、処理データおよび基礎データの機密性を保証しながら、基礎データに関する情報を提供する。
【００１９】
スターネットワーク内の多数のユーザまたはユーザデバイスは、データを生成することができる。スターネットワーク内のユーザは、中央エンティティにのみ結合され、互いには結合されない。一般的には、個々のデータを復号することなく対象の目標値を得るために、準同型暗号システムの共通鍵が使用され得る。しかし、スターネットワークでは、各参加者は、暗号化に独自の鍵を使用する。その結果、中央エンティティによって受信された暗号化データは共通鍵を有していない。中央エンティティが参加者に共通鍵を配布する場合、個々のユーザからのデータは中央エンティティに公開される。
【００２０】
この問題を解決するために、本発明の実施形態は、スターネットワークにおけるプライバシー保護順序統計を容易にする。中央エンティティは、ユーザの難読化または暗号化されたデータを収集し、その後のユーザ間のプロトコル通信において仲介者として機能するサービスプロバイダであり得る。セットアップ段階または構成段階では、個々のユーザの各々は、（ランダム値によって難読化された）データを中央エンティティに送信できる。例えば、第１のデバイスは第１の値を有することができ、第２のデバイスは第２の値を有することができる。プロトコルの動作中、第１のデバイスは、第２のデバイスの難読化されたデータ（すなわち、第２のデバイスによって生成されたランダム値によって難読化された第２の値）を中央エンティティを介して受信することができる。第１のデバイスは、第１の値と第２の値との第１の差を決定することができる。第１のデバイスは、第１のデバイスの公開鍵に基づいて、第１の差とランダム値との第２の差を暗号化することができる。第１のデバイスは、暗号化された第２の差を、中央エンティティを介して第２のデバイスに送信することができる。
【００２１】
第２のデバイスは、暗号化された第２の差を受信することができ、第１の整数および第２の整数を選択することができるが、ここで第２の整数の絶対値は第１の整数の絶対値より小さい。加法準同型特性に基づいて、第２のデバイスは、第１の整数に基づいてスケーリングされた第１の差である第３の値を示す暗号文を生成することができるが、ここでスケーリングされた第１の差は、第２の整数によって摂動されている。暗号文は、第１のデバイスの公開鍵に基づいて暗号化される。第２のデバイスは、（第１の差をスケーリングするために使用される）第１の整数の符号とともに、暗号文を中央エンティティを介して第１のデバイスに送信する。
【００２２】
第１のデバイスは、暗号文および第１の整数の符号を受信する。第１のデバイスは、第１のデバイスの秘密鍵に基づいて暗号文を復号して、第１の整数に基づいてスケーリングされた第１の差を示す第３の値を得るが、ここでスケーリングされた第１の差は、第２の整数によって摂動されている。次いで、第１のデバイスは、第１の整数の符号および第３の値の符号のみに基づいて、第１の値が第２の値よりも大きいか小さいか（例えば、相対的な順序）を決定することができる。このプロトコルは、図１に関連して以下に詳述され、相対的な順序の決定は、図２に関連して以下に説明される。
【００２３】
したがって、本発明の実施形態は、スターネットワークにおけるプライバシー保護順序統計を改善するシステムを提供するが、ここで改善は基本的に技術的である。システムは、スターネットワークにおいて基礎データを保護しながら、（例えば、結合されていない非信頼ユーザが、ユーザの機密データに関して中央エンティティを介して情報を交換することを可能にする準同型暗号システムに基づくプロトコルを使用して）ユーザのデータ値の相対的な順序を効率的かつ効果的に決定するという技術的問題の技術的解決法を提供する。
【００２４】
例示的なネットワークおよび通信
スターネットワークトポロジにおいて中央エンティティを介して互いに通信するｍ個のユーザデバイスまたは参加者があると仮定する。各ユーザデバイスまたは参加者Ｐｉはデータｄｉに関連付けられており、ここでｉ＝｛１，２，．．．，ｍ｝である。ｄｉが間隔［ｄｍｉｎ，ｄｍａｘ］内の整数であると仮定すると、ここでｄｍｉｎおよびｄｍａｘのそれぞれの絶対値の最大値はＮ／２であり、ここでＮは大整数である。負の値は、有限のアルファベット｛０，１，．．．，Ｎ−１｝の要素、例えば  「（ｄｎｅｇ＋Ｎ）ｍｏｄ  Ｎ」として表すことができる。したがって、表現できる最大の正のデータ値はｄｐｏｓ＝Ｎ／２−１であり、許容される最小の負のデータ値はｄｎｅｇ＝−Ｎ／２である。したがって、各ユーザＰｉは、（ｓｉ−１）ユーザがｄｉ以下のデータ値を有する一方で（ｍ−ｓｉ）ユーザがｄｉ以上のデータ値を有することを意味する順位ｓｉを発見することができる。以下において、「Ｅ（ｘ，ｙ）」という表記は、鍵ｘに基づくコンテンツｙの暗号化を示す。
【００２５】
セットアップ段階または構成段階では、各ユーザＰｉは、ｄｉ＋ｒｉ  ｍｏｄ  Ｎである難読化されたデータを中央のエンティティに送信することができるが、ここでＰｉは、ｒｉを区間［０，Ｎ／２］からランダムに選択する。動作中、プライバシー保護順序統計のプロトコルは、各ユーザＰｉが順番にすべての他のユーザＰｊと相互作用するペアワイズで進むが、ここでｊはｉと等しくない。例示的なペアワイズ交換のための通信は、図１に関連して以下で説明される。
【００２６】
図１は、本発明の一実施形態による、ネットワークにおけるプライバシー保護順序統計を容易にするための例示的な環境１００を示す。環境１００は、スターネットワーク１０２に結合された多数のユーザデバイス１３２、１３４、１３６、および１３８を含むことができる。一部の実施形態では、これらのユーザデバイスは、それぞれユーザ１２２、１２４、１２６、および１２８に関連付けられている。ユーザデバイスから生成されたユーザデータは、ユーザとデバイス（例えば、ユーザの家庭での電気使用を測定するスマートメータ）との相互作用に左右されないことに留意されたい。直接通信に関して、ユーザデバイス１３２、１３４、１３６、および１３８は、中央エンティティ１０４にのみ結合され、互いには結合されない。
【００２７】
一部の実施形態では、中央エンティティ１０４は、デバイス１３２、１３４、１３６、および１３８のそれぞれから難読化されたデータを収集することができるサービスプロバイダ１０４として動作することができる。サービスプロバイダ１０４は、デバイス１３２、１３４、１３６、および１３８と連携して、スターネットワーク１０２におけるプライバシー保護順序統計を容易にすることができる。環境１００には、機密データ１１２、１１４、１１６、および１１８をそれぞれ有するまたは保持する、ｍ個である４つのユーザデバイス１３２、１３４、１３６、および１３８がある。デバイス１３２、１３４、１３６、および１３８は、デバイス１３２、１３４、１３６、および１３８のそれぞれによって生成されるランダム値によって、それぞれの機密データを難読化することができる。デバイス１３２がＰｉであり、デバイス１３４がＰｊであり、デバイス１３２のデータ１１２がｄｉであり、デバイス１３４のデータ１１４がｄｊであると仮定する。デバイス１３４は、ランダム値（ｒｊ）を生成し、そのデータ１１４（ｄｊ）を難読化データ値１４２（ｄｊ＋ｒｊ）としてサービスプロバイダ１０４に送信することができる。Ｐｉは、加法準同型暗号システムのために生成される公開鍵ｖｉおよび対応する秘密鍵ｗｉを有する。
【００２８】
動作中、デバイス１３２、１３４、１３６、および１３８のそれぞれは、他のデバイスのそれぞれとペアワイズで相互作用することができる。例えば、デバイス１３２（Ｐｉ）とデバイス１３４（Ｐｊ）との相互作用を考える。デバイス１３２（Ｐｉ）は、デバイス１３４（Ｐｊ）に関連する難読化データ値１４２（ｄｊ＋ｒｊ）をサービスプロバイダ１０４から得ることができる。それ自体のデータ１１２（ｄｉ）を有するデバイス１３２は、ｄｉ−ｄｊ−ｒｊ  ｍｏｄ  Ｎをｅｉｊ−ｒｊ  ｍｏｄ  Ｎに等しいと計算することができるが、ここでｅｉｊはデータ１１２（ｄｉ）とデータ１１４（ｄｉ）との第１の差であり、ｅｉｊ−ｒｊは第１の差とランダム値との第２の差である。デバイス１３２は、デバイス１３２の公開鍵ｖｉに基づいて第２の差を暗号化して、Ｅ（ｖｉ，ｅｉｊ−ｒｊ）である暗号化された第２の差１４４を得ることができる。デバイス１３２は、暗号化された第２の差１４４を、サービスプロバイダ１０４を介してデバイス１３４に送信することができる。
【００２９】
デバイス１３４（Ｐｊ）は、暗号化された第２の差１４４を受信することができる。デバイス１３４は、第１の整数Ａおよび第２の整数Ｂを選択することができるが、ここで、｜Ｂ｜＜｜Ａ｜＜Ｎ／２である。上記のような加法準同型暗号化の順応特性に基づいて、デバイス１３４は、Ｅ（ｖｉ，ｅｉｊ−ｒｊ）＊Ｅ（ｖｉ，ｒｊ）を計算してＥ（ｖｉ，ｅｉｊ）を得ることによって、暗号化領域内のランダム値または雑音項ｒｊを除去することができる。デバイス１３４は、（Ｅ（ｖｉ，ｅｉｊ））Ａ＊Ｅ（ｖｉ，Ｂ）を計算してＥ（ｖｉ，Ａｅｉｊ）＊Ｅ（ｖｉ，Ｂ）を得て、その結果のＥ（ｖｉ，Ａｅｉｊ＋Ｂ）である暗号文１４６をさらに得ることによって、暗号化領域において加法および乗法ブラインド処理を実行することができる。これらの動作は、暗号システムの加法準同型特性によって可能である。デバイス１３４は、オブジェクト１５０をサービスプロバイダ１０４を介してデバイス１３２に送信することができるが、ここでオブジェクト１５０は、暗号文１４６およびＡの符号１４８を含む。
【００３０】
デバイス１３２（Ｐｉ）は、暗号文１４６およびＡの符号１４８を含むオブジェクト１５０を受信し、デバイス１３２の秘密鍵ｗｉを使用して暗号文１４６を復号して、第３の値Ａｅｉｊ＋Ｂを得ることができる。第３の値には符号（すなわち、正または負）がある。デバイス１３２は、デバイス１３２のデータ１１２の値がデバイス１３４のデータ１１４の値よりも大きいか小さいか（すなわち、ｄｉがｄｊよりも大きいか小さいか）を、オブジェクト１５０に含まれるＡの符号１４８と、第３の値Ａｅｉｊ＋Ｂの符号とにのみ基づいて決定することができる。デバイス１３２は、その後、環境１００内の残りのｍ−１個のデバイス、すなわちデバイス１３６およびデバイス１３８に対してこれと同じ相互作用セットを実行して、環境１００内の他のｍ−１個のデバイスすべてに対するデバイス１３２の相対的な順位を決定することができる。
【００３１】
図２は、本発明の一実施形態による、第１のデバイスの値が第２のデバイスの値よりも大きいか小さいかを示す例示的な表２００である。Ａの符号およびＡｅｉｊ＋Ｂの符号（すなわち、図１に関連して上述した「第３の値」）は、対応する列見出しと共に行２０２に示されているように、（条件｜Ｂ｜＜｜Ａ｜＜Ｎ／２を呼び出して）ｅｉｊの符号を示している。Ａの符号が正でＡｅｉｊ＋Ｂの符号が正である場合、ｅｉｊの符号は必ず正となり、したがって（行２１０に示すように）ｄｉはｄｊより大きい。Ａの符号が正でＡｅｉｊ＋Ｂの符号が負である場合、ｅｉｊの符号は必ず負となり、したがって（行２１２に示すように）ｄｉはｄｊよりも小さい。Ａの符号が負でＡｅｉｊ＋Ｂの符号が負である場合、ｅｉｊの符号は必ず正となり、したがって（行２１４に示すように）ｄｉはｄｊより大きい。Ａの符号が負でＡｅｉｊ＋Ｂの符号が正である場合、ｅｉｊの符号は必ず負となり、したがって（行２１６に示すように）ｄｉはｄｊよりも小さい。
【００３２】
データの同等性の公開による正確性
図２の表２００は、プロトコルの正しさを示す。すなわち、ｅｉｊが非ゼロ値に等しいとき、条件｜Ｂ｜＜｜Ａ｜＜Ｎ／２は、プロトコルがｅｉｊの符号を保持することを保証する。したがって、Ｐｉは、Ａの符号およびＡｅｉｊ＋Ｂの符号を見るだけで、ｄｉがｄｊよりも大きいか小さいかを決定することができる。
【００３３】
しかし、ｅｉｊがゼロに等しいとき、ｄｉがｄｊに等しいにもかかわらず、プロトコルは不等式を返す。したがって、一部のユーザデバイスが等しい値を保持している場合、プロトコルは概算順位のみを生成することができる。ユーザ数が多いアプリケーションでは、概算順位が問題になることはない。この概算順位の必要条件は、（スケーリングされた差ｅｉｊを摂動するために使用される）第２の整数Ｂの使用によって達成されるが、Ｂがないとｄｉ＝ｄｊの等価性がＰｉに漏れてしまうため、Ｂは必要不可欠といってもよい。一部の実施形態では、この（２つのデバイス値の等価性の）漏れは問題ではなく、この場合、Ｐｊが確定的にＢをゼロに等しく設定できるようにプロトコルを修正することができる。
【００３４】
プライバシーと複雑さ
半信頼関係者は、プロトコルのルールに従う関係者であるが、プロトコルの各ステップでは、保持する（または仲介者として保持する）データを自由に閲覧でき、他の当事者が保持するデータについて経験に基づく推測を試みるかもしれない。半信頼結託は、２つの半信頼関係者間の結託である。図１のスターネットワークの場合、デバイス１３２、１３４、１３６、および１３８のそれぞれ、ならびにサービスプロバイダ１０４は、半信頼関係者である。図１に示す例示的な通信の場合、デバイス１３４およびサービスプロバイダ１０４は、デバイス１３２（Ｐｉ）のデータ１１２（ｄｉ）に関する半信頼結託に参加しようと試みてもよく、デバイス１３２およびサービスプロバイダ１０４は、デバイス１３４（Ｐｊ）のデータ１１４（ｄｊ）に関する半信頼結託に参加しようと試みてもよい。
【００３５】
本発明のプロトコルは、半信頼関係者および半信頼結託の両方に対するプライバシーを実現する。（データｄｊをｒｊで難読化することによって）Ｐｊによって実行される加法ブラインド処理は、Ｐｉおよびサービスプロバイダの両方を含む他の関係者によってデータｄｊが読み取られることを防止する。Ｐｉの公開鍵ｖｉに基づく、第１の差とランダム値との第２の差（すなわち、ｅｉｊ−ｒｊ）の暗号化は、暗号化された第２の差を復号できる秘密鍵ｗｉをＰｉのみが所有しているので安全である。
【００３６】
さらに、Ｐｉがサービスプロバイダと結託する場合、これら２つの関係者は（ｄｊ＋ｒｊ）およびＡｅｉｊ＋Ｂ＝Ａ（ｄｉ−ｄｊ）＋Ｂのみへのアクセスを得る。しかし、ｒｊ、Ａ、およびＢに対する知識がないので、Ｐｉおよび中央エンティティはｄｊを発見できない。同時に、Ｐｊがサービスプロバイダと結託する場合、これらの２つの関係者はｄｉ＋ｒｉのみへのアクセスを得るが、これはｄｉを明らかにするには不十分である。
【００３７】
各デバイスが難読化されたデータを中央エンティティに送信するセットアップ段階では、プロトコルは暗号文の計算を行わない。（ｉ，ｊ）ユーザの各ペアに対するプロトコル相互作用段階では、中央エンティティを介したＰｉからＰｊへの１つの暗号文通信（例えば、暗号化された第２の差１４４）と、中央エンティティを介したＰｊからＰｉへの別の暗号文通信（例えば、暗号文１４６とＡの符号１４８とを含むオブジェクト１５０）が行われる。したがって、自分の順位に興味のある各Ｐｉについて、プロトコルオーバヘッドはユーザ数に線形比例する。
【００３８】
したがって、プロトコルの暗号文通信（例えば、１４４の送信および１４６の受信、または１４４の受信および１４６の送信）の複雑さはＯ（ｍ）である。同様に、暗号化の数および暗号化領域計算（例えば、１４４の計算および１４６の計算）の数もＯ（ｍ）である。ｍ個のユーザのそれぞれが順位に興味がある場合、複雑さはペアの数に比例するので、Ｏ（ｍ２）となる。
【００３９】
プライバシーを保護しながら相対的な順序を決定する方法
図３Ａは、本発明の一実施形態による、別のユーザデバイス値と比較したユーザデバイス値の相対的な順序を決定するための、ユーザデバイスによる方法を示すフローチャート３００である。動作中、システムは、第２のデバイスによって生成されたランダム値によって摂動された第２のデバイスに関連する第２の値を、ネットワークの第１のデバイスによって、中央エンティティを介してネットワークの第２のデバイスから受信するが、ここで第１のデバイスは第１の値に関連付けられている（動作３０２）。ネットワークは、（第１のデバイスおよび第２のデバイスを含む）複数のデバイスが互いに直接通信することはできないが、中央エンティティとのみ通信することができるスターネットワークまたはスタートポロジであり得る。
【００４０】
第１のデバイスは、第１の値と第２の値との第１の差を決定する（動作３０４）。第１のデバイスは、第１のデバイスの公開鍵に基づいて、第１の差とランダム値との第２の差を暗号化する（動作３０６）。第１のデバイスは、暗号化された第２の差を、中央エンティティを介して第２のデバイスに送信する（動作３０８）。第１のデバイスは、第１の整数の符号および暗号文を、中央エンティティを介して第２のデバイスから受信する（動作３１０）。暗号文は、第１のデバイスの公開鍵に基づいて暗号化される。一部の実施形態では、第１の整数の符号も、第１のデバイスの公開鍵に基づいて暗号化される。
【００４１】
第１のデバイスは、第１のデバイスの秘密鍵に基づいて暗号文を復号して、第１の整数に基づいてスケーリングされた第１の差を示す第３の値を得るが、ここでスケーリングされた第１の差は、第２の整数によって摂動されている（動作３１２）。第１のデバイスは、第１の整数の符号および第３の値の符号に基づいて、第１の値が第２の値より大きいか小さいかを決定し、それによりネットワーク内のデバイスは、デバイス値を明らかにすることなく、ネットワーク内の１つ以上の他のデバイス値に対するデバイス値の相対的な順序の決定が容易になる（動作３１４）。一部の実施形態では、第２の整数はゼロの値を有していてもよく、これは第２のデバイスによって確定的に設定され、それゆえ第１のデバイスおよびスターネットワーク内の他のデバイスに既知である。これは、第１の値と第２の値との間（または任意の２つのデバイス値の間）で等価性の漏れが問題でない場合に起こり得る。
【００４２】
図３Ｂは、本発明の一実施形態による、別のユーザデバイス値と比較したユーザデバイス値の相対的な順序を決定するための、ユーザデバイスによる方法を示すフローチャート３５０である。ユーザデバイス（例えば、図３Ａのフローチャート３００の第１のデバイス）は、第１の整数の符号が正か負かを決定する（決定３５２）。第１の整数の符号が正である場合（決定３５２）、第１のデバイスは、第３の値の符号が正か負かを決定する（決定３５４）。第３の値の符号が正である場合（決定３５４）、第１のデバイスは、第１の値が第２の値よりも大きいと決定し（動作３５８）、動作は回帰する。第３の値の符号が負である場合（決定３５４）、第１のデバイスは、第１の値が第２の値よりも小さいと決定し（動作３６０）、動作は回帰する。
【００４３】
第１の整数の符号が負である場合（決定３５２）、第１のデバイスは、第３の値の符号が正か負かを決定する（決定３５６）。第３の値の符号が負である場合（決定３５６）、第１のデバイスは、第１の値が第２の値よりも大きいと決定し（動作３５８）、動作は回帰する。第３の値の符号が正である場合（決定３５６）、第１のデバイスは、第１の値が第２の値よりも小さいと決定し（動作３６０）、動作は回帰する。フローチャート３５０は、図２に関連して上述した表２００に対応する。
【００４４】
プライバシー保護順序統計を容易にするためのプロトコルへの参加方法
図４Ａは、本発明の一実施形態による、ネットワークにおけるプライバシー保護順序統計を容易にするプロトコルに参加するための、ユーザデバイスによる方法を示すフローチャート４００である。動作中、システムは、第１の値と第２の値との第１の差を示す第１の暗号文を、ネットワークの第２のデバイスによって、中央エンティティを介してネットワークの第１のデバイスから受信するが、ここで第１のデバイスは第１の値に関連付けられており、第２のデバイスは第２の値に関連付けられており、ここで第１の差は、第２のデバイスによって生成されたランダム値によって摂動されており、ここで第１の暗号文は、第１のデバイスの公開鍵に基づいて暗号化される（動作４０２）。第２のデバイスは、第１の整数および第２の整数を選択するが、ここで第２の整数の絶対値は、第１の整数の絶対値よりも小さい（動作４０４）。第２のデバイスは、加法準同型特性に基づいて、第１の整数に基づいてスケーリングされた第１の差である第３の値を示す第２の暗号文を生成するが、ここでスケーリングされた第１の差は、第２の整数によって摂動されており、ここで第２の暗号文は、第１のデバイスの公開鍵に基づいて暗号化される（動作４０６）。一部の実施形態では、第２のデバイスは、例えば第１の値と第２の値との間（または任意の２つのデバイス値の間）で等価性の漏れが問題でない場合、第２の整数の値を確定的にゼロに設定する。
【００４５】
第２のデバイスは、第２の暗号文および第１の整数の符号を中央エンティティを介して第１のデバイスに送信し、それにより第１のデバイスは、第１の整数の符号および第３の値の符号に基づいて第１の値が第２の値より大きいか小さいかを決定するのが容易になり、それによりネットワーク内のデバイスは、デバイス値を明らかにすることなく、ネットワーク内の１つ以上の他のデバイス値に対するデバイス値の相対的な順序を決定することができる（動作４０８）。
【００４６】
図４Ｂは、本発明の一実施形態による、ネットワークにおけるプライバシー保護順序統計を容易にするプロトコルに参加するための、ユーザデバイスによる方法を示すフローチャート４５０である。第２のデバイスは、図４Ａのフローチャート４００の第２のデバイスである。動作中、システムは、第２のデバイスによって、第１の差を示す第３の暗号文を決定する（動作４５２）。第２のデバイスは、第２の整数を示す第４の暗号文を決定する（動作４５４）。第２のデバイスは、第４の暗号文と第１の整数乗された第３の暗号文との積を計算するが、ここで第３の暗号文および第４の暗号文は、第１のデバイスの公開鍵に基づいて暗号化され、計算された積は第２の暗号文である（動作４５６）。
【００４７】
例示的なコンピュータおよび通信システム
図５は、本発明の一実施形態による、ネットワークにおけるプライバシー保護順序統計を容易にするための例示的な分散コンピュータおよび通信システム５０２である。コンピュータシステム５０２は、プロセッサ５０４、メモリ５０６、および記憶デバイス５０８を含む。メモリ５０６は、管理されたメモリとして機能する揮発性メモリ（例えば、ＲＡＭ）を含むことができ、１つ以上のメモリプールを格納するために使用することができる。さらに、コンピュータシステム５０２は、ディスプレイデバイス５１０、キーボード５１２、およびポインティングデバイス５１４に結合することができる。一部の実施形態では、コンピュータシステム５０２は、スマートフォン、携帯電話、タブレット、三次元表示眼鏡、または任意の他のモバイルコンピューティングデバイスなどのモバイルコンピューティングデバイスの一部であってもよい。記憶デバイス５０８は、オペレーティングシステム５１６、コンテンツ処理システム５１８、およびデータ５３０を格納することができる。
【００４８】
コンテンツ処理システム５１８は、コンピュータシステム５０２によって実行される際に本開示で説明される方法および／またはプロセスをコンピュータシステム５０２に実行させる命令を含むことができる。具体的には、コンテンツ処理システム５１８は、スターネットワークなどのコンピュータネットワークを介して他のネットワークノードとの間でデータパケットを送信および／または受信する命令を含むことができる（通信モジュール５２０）。データパケットは、暗号文を示すメッセージ、準同型特性に基づいて暗号化されたデータ、または他のデータを含むことができる。
【００４９】
コンテンツ処理システム５１８は、第２のデバイスによって生成されたランダム値によって摂動された第２のデバイスに関連する第２の値を、ネットワークの第１のデバイスによって、中央エンティティを介してネットワークの第２のデバイスから受信する命令を含むことができるが、ここで第１のデバイスは第１の値に関連付けられている（通信モジュール５２０）。コンテンツ処理システム５１８は、第１の値と第２の値との第１の差を決定する命令を含むことができる（差決定モジュール５２２）。コンテンツ処理システム５１８は、第１のデバイスの公開鍵に基づいて第１の差とランダム値との第２の差を暗号化する命令を含むことができる（セキュリティモジュール５２４）。コンテンツ処理システム５１８は、暗号化された第２の差の送信（通信モジュール５２０）に続いて、第１の整数の符号および暗号文を受信する命令を含むことができる（通信モジュール５２０）。コンテンツ処理システム５１８は、暗号文を復号して第１の整数に基づいてスケーリングされた第１の差を示す第３の値を得る命令を含むことができるが、ここでスケーリングされた第１の差は、第２の整数によって摂動されている（セキュリティモジュール５２４）。コンテンツ処理システム５１８は、第１の整数の符号および第３の値の符号に基づいて、第１の値が第２の値よりも大きいかどうかを決定する命令を含むことができる（順序決定モジュール５２６）。
【００５０】
さらに、コンテンツ処理システム５１８は、第１の値と第２の値との第１の差を示す第１の暗号文を、ネットワークの第２のデバイスによって、中央エンティティを介してネットワークの第１のデバイスから受信する命令を含むことができるが、ここで第１のデバイスは第１の値に関連付けられており、第２のデバイスは第２の値に関連付けられており、ここで第１の差は、第２のデバイスによって生成されたランダム値によって摂動されている（通信モジュール５２０）。コンテンツ処理システム５１８は、第１の整数および第２の整数を選択する命令を含むことができるが、ここで第２の整数の絶対値は、第１の整数の絶対値よりも小さい（整数選択モジュール５２８）。コンテンツ処理システム５１８は、加法準同型特性に基づいて、第１の整数に基づいてスケーリングされた第１の差である第３の値を示す第２の暗号文を生成する命令を含むことができるが、ここでスケーリングされた第１の差は第２の整数によって摂動されており、第１の暗号文および第２の暗号文は、第１のデバイスの公開鍵に基づいて暗号化される（セキュリティモジュール５２４）。コンテンツ処理システム５１８は、第２の暗号文および第１の整数の符号を中央エンティティを介して第１のデバイスに送信する命令を含むことができる（通信モジュール５２０）。
【００５１】
データ５３０は、入力として要求されるか本開示で説明される方法および／またはプロセスによって出力として生成される、任意のデータを含むことができる。具体的には、データ５３０は、少なくとも、第１の値、第２の値、ランダム値、第１の値と第２の値との第１の差、公開鍵、秘密鍵、第１の差とランダム値との第２の差、暗号文、暗号化された第２の差、第１の整数、第２の整数、第１の整数の符号、第１の整数に基づいてスケーリングされた第１の差を示す第３の値であって、スケーリングされた第１の差が第２の整数によって摂動されている第３の値、第３の値の符号、第１の整数の暗号化された符号、暗号化された第３の値、準同型暗号システム、および整数の絶対値を格納することができる。
【００５２】
この詳細な説明に記載されているデータ構造およびコードは、一般的には、コンピュータシステムによって使用されるコードおよび／またはデータを格納することができる任意のデバイスまたは媒体であってもよいコンピュータ可読記憶媒体に格納される。コンピュータ可読記憶媒体には、揮発性メモリと、不揮発性メモリと、ディスクドライブ、磁気テープ、ＣＤ（コンパクトディスク）、ＤＶＤ（デジタル多用途ディスクまたはデジタルビデオディスク）などの磁気および光学記憶デバイスと、あるいは現在既知であるか後に開発されるコンピュータ可読媒体を格納することができる他の媒体とが含まれるが、これらに限定されない。
【００５３】
詳細な説明の部に記載された方法およびプロセスは、コードおよび／またはデータとして具体化することができるが、これは上述のようなコンピュータ可読記憶媒体に格納することができる。コンピュータシステムが、コンピュータ可読記憶媒体に格納されたコードおよび／またはデータを読み取って実行すると、コンピュータシステムは、データ構造およびコードとして具体化されてコンピュータ可読記憶媒体内に格納された方法およびプロセスを実行する。
【００５４】
さらに、上述の方法およびプロセスは、ハードウェアモジュールまたは装置に含めることができる。ハードウェアモジュールまたは装置は、特定用途向け集積回路（ＡＳＩＣ）チップ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定のソフトウェアモジュールまたはコードの一部を特定の時間に実行する専用または共有プロセッサ、および現在既知であるか後に開発される他のプログラマブル論理デバイスを含むことができるが、これらに限定されない。ハードウェアモジュールまたは装置は、起動されると、内部に含まれる方法およびプロセスを実行する。
【００５５】
本発明の上記の実施形態の説明は、例示および説明のためにのみ提示されたものである。これらは、網羅的であることまたは本発明を開示された形態に限定することを意図するものではない。したがって、多くの修正および変更が当業者には明らかになるであろう。さらに、上記の開示は本発明を限定するものではない。本発明の範囲は、添付の特許請求の範囲によって規定される。
【図１】
2018151620.tif 000003
【図２】
2018151620.tif 000004
【図３Ａ】
2018151620.tif 000005
【図３Ｂ】
2018151620.tif 000006
【図４Ａ】
2018151620.tif 000007
【図４Ｂ】
2018151620.tif 000008
【図５】
2018151620.tif 000009