プライバシー保護 個人情報の取得

[はじめに] ユーザーのプライバシー保護には多くの側面が含まれますが、ユーザーの行動のプライバシー保護はさらに困難です。週末に論文 https://cacm.acm.org/magazine/2010/4/81501-private-information-retrieval/fulltext を読みましたが、これには多くの数学的手法と概念が含まれています。これは非常に手間がかかり、個人情報の検索です。 . 多すぎるでしょうか?企業がこれを行う動機は何でしょうか?

インターネットの普及により、情報検索に不可欠なオンライン データやリソースが大量に存在しますが、ある程度、ユーザーのプライバシーに重大なリスクをもたらします。実際、ユーザーは公開データを非公開にしたい場合、そのデータにアクセスすることに慎重になることがよくあります。たとえば、企業は、その身元を明かさずに特定の特許の調査を実行したい場合があります。

では、ユーザーが情報を取得する際にプライバシーを保護するにはどうすればよいでしょうか? これには、個人情報検索と呼ばれる技術が関係する場合があります。

58cf24625605842c7110df87e206efa8.jpeg

個人情報の取得とは何ですか?

Private Information Retrieval は、データ ユーザーのプライバシーを保護するために設計された暗号化プロトコルで、クライアントは、取得したレコードの ID をデータ所有者から隠しながら、パブリック データベースからレコードを取得できます。実際、データ所有者にその身元を明かさずにデータを取得できる可能性はほぼゼロです。もちろん、簡単な解決策があります。ユーザーが 1 つのデータが必要な場合、データベース全体のコピーを要求できます。ただし、この解決策には多大な通信オーバーヘッドがかかるため、受け入れられない可能性があります。このシンプルなソリューションは、プライバシーを完全に保護したいユーザーに最適です。

1995年に業界は個人情報検索方式を提案したが、この方式では、ユーザーがデータベースを保存している各サーバーに問い合わせを行い、各サーバーがユーザーの興味のある項目の識別情報を取得できないようにしている。

個人情報検索スキームは、「ローカルで復号可能なコード」と呼ばれる特殊な種類のエラー訂正コードと密接に関連しており、それ自体が興味深い対象です。エラー訂正コードは、ノイズの多いチャネル上での情報の信頼性の高い送信と、アクセス デバイスがエラーを起こしやすいメディア上での情報の信頼性の高い保存を保証するのに役立ちます。このエンコーディングを使用すると、メッセージに冗長性またはビット文字列を追加して、より長いビット文字列にエンコードできるため、ビット文字列の特定の割合が破損した場合でもメッセージを回復できます。エラー訂正コードの一般的なアプリケーションでは、メッセージは最初に小さなブロックに分割され、次に各小さなブロックが個別にエンコードされます。このエンコード戦略を使用すると、対象となるデータの部分のみをデコードする必要があるため、情報の効率的なランダム アクセス検索が可能になります。残念ながら、たとえ 1 つのブロックが完全に破損したとしても一部の情報が失われるため、この戦略ではノイズ耐性が低くなります。

この制限を考慮すると、前方誤り訂正を使用してメッセージ全体を単一のコードワードにエンコードすることが望ましいと思われます。このソリューションはノイズに対する堅牢性を向上させますが、メッセージの特定のビットを復元するにはコードワード全体を表示する必要があるため、満足させるのは困難です。このデコードの複雑さは、今日の大規模なデータセットでは不可能です。

プライベート情報検索スキームは、効率的なランダム アクセス検索と高ノイズ回復機能を提供し、ランダムに選択された少数のコードワード ビットのみを調べることで、任意の情報ビットを確実に再構築できます。

1c87e839520e69d37849e87ca8a2cfb7.jpeg

個人情報検索の初めての入門

データが n ビット文字列 X としてモデル化されている場合、その文字列は少数のサーバー S1、...、Sk の間でのみ複製されます。ユーザーはインデックス i (1 から n までの整数) を保持しており、ビット Xi の値を取得することに関心があります。この目標を達成するために、ユーザーは各サーバーにランダムにクエリを実行し、必要な位置 Xi を計算するための応答を受け取ります。各サーバーへのクエリは i とは独立して分散されるため、各サーバーはユーザーが必要とする情報を持ちません。

ユーザーのクエリは、必ずしも特定の単一のデータ セットに対するリクエストではなく、サーバーによって計算される関数を指定します。たとえば、クエリで 1 から n までの一連のインデックスを指定し、サーバーの応答がそれらのインデックスに格納される場合があります。データビットのXOR。

個人情報取得スキームの主なパラメータは通信の複雑さ、つまりユーザーとサーバー間で通信される総ビット数を測定する関数です。現在最も効果的なデュアルサーバー個人情報取得プロトコルの通信複雑さは O (n の 1/3 乗) です。ただし、3 つ以上のサーバーを使用する個人情報検索スキームは改良されています。

アダマール符号化により、非常に長いコード長を犠牲にしてメッセージ ビットを超高速に復元できます。たとえば、エンコードが 10% 破損している場合、コードの 2 ビットを読み取るだけで、メッセージの任意のビットが 80% の確率で回復されます。これは、メッセージの各ビット Xi が、多くの異なるコードワード ビットの k タプルから復元できることを意味します。したがって、デコーダの各クエリの分布は、符号化ビット全体にわたって均一な分布にある程度近くなければなりません。

[ k ] の各 j について、クエリ Qj が一連のコードワード座標に均等に分散され、総通信量が k (logN + 1) で与えられるため、検証プロトコルは独自のもので非常に単純です。

0b5eed648f8cd7eaabf14f0b0c881281.jpeg

個人情報の早期取得

個人情報検索スキームの目的は、単純な (d + 1) サーバー スキームを提供することにより、O (n 1/d 乗) 通信を使用して n ビット データにアクセスすることであり、このスキームの背後にある重要なアイデアは有限多項式補間です。

p > d が素数であると仮定すると、p を法とする {0,...,p1} の加算と乗算は実数の標準恒等式を満たします。つまり、数値 {0,...,p1} は、これらの演算に関して有限体を形成します。このフィールドは Fp で表されます。有限体上で定義された多項式は以下で処理されます。この多項式は、実多項式の代数的特性をすべて備えています。具体的には、任意の点 d + 1 における一変量多項式の値は、d の Fp にわたるその多項式を一意に決定します。

mを大きな整数とする。E1,...,En を m 次元 Fp 上の n ベクトルの集合とする。このセットは固定されており、n ビット データベース x とは独立しています。サーバーとユーザーの両方が集合を知っていると仮定すると、個人情報検索プロトコルの前処理段階で、各 (d + 1) 上のサーバーは、m 個の変数の同じ次数の d 多項式 f でデータ x を表します。この多項式の重要な特性は、[n] のすべての i について、f (Ei) = xi であることです。このような多項式 f が存在することを保証するために、m は n に比べて比較的大きくなるように選択されます。一般的には、m = O (n1/d) に設定すれば十分です。

ユーザーがデータベースの i 番目の位置を取得したいと考えており、ベクトル E1、...、En のセットを知っているとします。したがって、ユーザーの目標は、Ei の多項式 f (サーバーが保持する) の値を回復することです。明らかに、ユーザーはどのサーバーからも f (Ei) の値を明示的に要求することはできません。そのような要求はプロトコルのプライバシーを侵害することになるためです。つまり、サーバーによっては、ユーザーがどのデータ ビットを必要とするかがわかってしまうからです。代わりに、ユーザーは間接的に f (Ei) の値を取得します。特に、ユーザーは次のように、Fp 上で m 次元ベクトル P1,...,Pd + 1 のランダムなセットを生成します。

各ベクトル P は一様にランダムであるため、Ei に関する情報は提供されません。

P1,...,Pd + 1 の d 次多項式 (多項式 f を含む) の値によって、Ei の多項式が決まります。

ユーザーはベクトル P1,...,Pd+1 を各サーバーに送信します。次に、サーバーは受信したベクトルで多項式 f を計算し、取得した値をユーザーに返します。ユーザーは値 f (P1)、...、f (Pd + 1) を組み合わせて、目的の値 f (Ei) を取得します。このプロトコルは完全にプライベートであり、通信は次元 m の (d + 1) ベクトルをサーバーに送信し、ユーザーに値を返すことと同等です。

1d1a16a78dd128e2e88baf8f9f586c4c.jpeg

最新の個人情報検索

現代の個人情報検索スキームはもはや多項式に基づいていません。その重要な技術要素は、交差が制限された大規模なセット ファミリの設計です。k を、n ビットのメッセージをコードワードにエンコードする小さな整数とします。この構築は 2 つのステップで構成されます: 第 1 ステップは、制限された交差を持つ集合群の問題の簡略化を構築することであり、第 2 ステップは、目的の集合群を代数的に構築することです。

ステップ1:

C は F2 線形マップです。Fn2 の任意の 2 つのメッセージ x1、x2 については、 C (x1 + x2) = C (x1) + C (x2) があり、ベクトルの合計は各座標で 2 を法として計算されます。

デコード アルゴリズムは、破損したコードワードのいくつかの k タプル座標を読み取り、これらの座標の値の排他的論理和 (XOR) を出力することによって機能します。[n] の i について、Ei は、唯一の非ゼロ座標が i であるバイナリ n 次元ベクトルを表すものとします。各線形マッピングにより、組み合わせの記述が可能になります。つまり、[ n ] の各 i に対して次のように指定します。

C (Ei) の Ti 座標のセット。1 に設定されます。これらのセットは、すべてのメッセージ Pick に対してエンコーディングを完全に指定します。特定の組み合わせ制約を満たす必要があり、これらの制約の基本的な理論的根拠は次のとおりです。

エンコードビットの破損を避けるために、デコードは正しく行う必要があります。これは、[n] 内のすべての i、j、およびそこに設定された任意の k について、i = j の場合、STj のサイズは奇数でなければならず、それ以外の場合は偶数であることを意味します。

デコード アルゴリズムの個々のクエリの分布は、ほぼ均一でなければなりません。これは、[n] の各 i について、その中の k セットの和集合が、エンコードされた座標の数に比べて大きくなければならないことを意味します。

ステップ2:

これらの制約を満たす Ti および Qi を設計セットします。この構造は幾何学的直観によって裏付けられています。コード化された座標のセットと基数 k の有限体上の m 次元ベクトルのセットの間の双方向マッピングが考慮されます。Fk 上の m 次元線形空間で、いくつかの平行な超平面の和集合として集合 Ti を選択し、基本代数を使用して交点のサイズを議論します。

計算によるプライベート情報検索スキームは、データベースの複製コピーを維持する必要がなく、ユーザーのプライバシーを損なうことがないため、魅力的です。

結論は

近年、個人情報検索は他分野とのつながりもあり、大きく深い分野に成長しています。個人情報の取得には主に 2 つの側面が関係します。1 つは通信の複雑さ、もう 1 つはユーザーのクエリに応答するためにサーバーが実行する必要がある計算量です。

【関連読書】

おすすめ

転載: blog.csdn.net/wireless_com/article/details/132013917