差分プライバシーの原理(ノイズ機構とプライバシー予算)
統計を公開すると個人が特定される――この再識別リスクを、ノイズを足すという一見乱暴な方法で数学的に保証する差分プライバシーの定義・機構・予算管理を原理から理解できます。
- 1.差分プライバシーは「ある個人が含まれても含まれなくても出力分布がほぼ変わらない」を ε(と δ)で定量化する。隣接データセットでの出力確率の比を e^ε 以下に抑えることで、出力から特定個人の有無を推測する優位性を数学的に上限づける。
- 2.実現は感度(個人 1 人の差が出力をどれだけ動かすか)に比例したノイズを足すこと。L1 感度に Laplace ノイズで純粋 ε-DP、L2 感度に Gaussian ノイズで (ε,δ)-DP を得る。
- 3.クエリを重ねるたびプライバシー損失が加算(合成定理)され、総予算 ε を使い切ると以後は保証が消える。これがプライバシー予算の枯渇で、ローカル DP は信頼できる集計者を不要にする代わりに莫大なノイズを要する。
解きたい問題:匿名化では個人が漏れる
統計データの公開には根深い矛盾があります。「平均年収」や「特定疾患の患者数」といった集計値は有用ですが、そこから特定個人の情報が逆算できてしまう。氏名を削る匿名化(k-匿名化など)は、外部データとの突き合わせ(リンケージ攻撃)で何度も破られてきました。決定的なのが差分攻撃です。「全社員の平均年収」と「自分以外の平均年収」の二つのクエリを比べれば、引き算で自分一人の年収が完全に復元できます。個々の出力がどれだけ「集計」されていても、複数の集計を組み合わせれば個人が露出するのです。
差分プライバシー(Differential Privacy, DP)が解くのはこの問題です。発想を転換し、「出力から個人を特定できない」を、ある一人がデータに含まれていても含まれていなくても、出力の確率分布がほとんど変わらないという性質として定義します。出力が誰か一人の有無にほぼ依存しないなら、出力を見ても「あの人がデータに居たか」は判別できない――これを攻撃者の計算能力や手持ちの外部知識に一切依存せず、確率の言葉だけで保証するのが DP の核心です。
ε-差分プライバシーの定義
DP の主役は**隣接データセット(neighboring datasets)**という概念です。データセット D と D' が、ちょうど一人分のレコードの追加・削除だけで違うとき、両者は隣接していると言います。あるアルゴリズム(機構)M が ε-差分プライバシーを満たすとは、すべての隣接 D, D' と、すべての出力集合 S について次が成り立つことです。
Pr[ M(D) ∈ S ] ≤ e^ε × Pr[ M(D') ∈ S ]
つまり、隣接する二つのデータセットに対する出力確率の比が、どの出力をとっても e^ε 倍以内に収まる。D と D' の唯一の違いは「ある一人が居るか居ないか」なので、この不等式は一人の有無が出力分布を e^ε 倍以上には動かせないことを意味します。ε(プライバシー損失パラメータ、privacy budget)が小さいほど比が 1 に近づき、二つの分布が見分けられなくなる=プライバシーが強くなります。
ε はベイズ的に解釈できます。攻撃者が「対象者がデータに含まれる」事前確率を持って出力を観測したとき、事後オッズは最大でも e^ε 倍にしか更新されません。ε = 0 なら出力を見ても確信は一切更新できず(完全な秘匿だが出力は無意味)、ε が大きいほど確信を強く更新できます。実務では ε = 0.1〜1 が強い保護、ε = 10 前後は弱い保護の目安とされますが、e^ε は指数なので ε = 1 と ε = 5 の差は約 50 倍に及びます。ε は線形な「目盛り」ではない点に注意が必要です。
純粋な ε-DP は厳しい保証ですが、後述の Gaussian 機構など実用上は緩和した (ε, δ)-差分プライバシーも使われます。これは不等式に小さな加法項 δ を足したものです。
Pr[ M(D) ∈ S ] ≤ e^ε × Pr[ M(D') ∈ S ] + δ
δ は「ε の保証が破れてしまう確率」の上限と解釈でき、ごく稀に大きな情報漏洩が起きうることを許容します。δ はデータセットの件数 n に対して 1/n より十分小さく(例えば δ < 1/n^2 のように)取るのが定石です。δ がレコード数の逆数より大きいと「数人分の生データをそのまま出力する」ような機構すら形式上 DP を満たしてしまい、保証が骨抜きになるためです。
感度とノイズ機構:Laplace と Gaussian
では、どうやって出力分布を「一人の有無に鈍感」にするのか。答えは真の集計値にランダムなノイズを足すことです。鍵となるのが感度(sensitivity)――一人分の違いが関数の出力を最大どれだけ動かすか、です。クエリ関数 f の感度は、すべての隣接 D, D' にわたる出力差の最大値で定義されます。
L1 感度 Δ1 f = max ‖ f(D) − f(D') ‖_1 (差の絶対値の総和の最大)
L2 感度 Δ2 f = max ‖ f(D) − f(D') ‖_2 (差のユークリッド距離の最大)
例えば「人数を数える」カウントクエリは、一人増減すれば結果が高々 1 変わるだけなので感度は 1 です。感度が大きい関数ほど一人の影響が大きく、それを覆い隠すにはより大きなノイズが要ります。これが DP の量的な核心で、機構は感度に比例した量のノイズを足します。
| 機構 | ノイズ分布 | 使う感度 | 達成する保証 | スケール |
|---|---|---|---|---|
| Laplace 機構 | Laplace 分布 | L1 感度 Δ1 | 純粋 ε-DP(δ=0) | b = Δ1 / ε |
| Gaussian 機構 | 正規分布 | L2 感度 Δ2 | (ε, δ)-DP | σ ∝ Δ2·√(2 ln(1.25/δ)) / ε |
| 指数機構 | 出力をスコアで重み付け | スコア関数の感度 | ε-DP(非数値出力) | 確率 ∝ exp(ε·score / 2Δ) |
Laplace 機構は、真の値 f(D) に、スケール b = Δ1f / ε の Laplace 分布から引いたノイズを足すだけで、純粋 ε-DP を満たします。Laplace 分布の確率密度が exp(−|x|/b) に比例する形をしており、隣接データセット間で出力がずれても密度の比がちょうど e^ε で抑えられる――という数学的構造が、定義の不等式に直結するのがこの機構の美点です。例えば感度 1 のカウントに ε = 1 なら b = 1 のノイズを足します。
Laplace 機構の例(感度 1 のカウントクエリ、ε = 0.5):
真の値 = 1000
ノイズ b = Δ1 / ε = 1 / 0.5 = 2
公開値 = 1000 + Lap(0, 2) # 期待値は 1000 のまま、揺らぎ ±数件
Gaussian 機構は L2 感度に比例した標準偏差 σ の正規ノイズを足し、(ε, δ)-DP を満たします。多数の数値を同時に出す(高次元の)クエリでは L2 感度が L1 感度より小さくなりやすく、Gaussian のほうが必要ノイズが小さくて済むため、機械学習の勾配にノイズを足す DP-SGD などで主流です。数値でなく「最も人気のカテゴリ」のような選択肢を返したいときは、各候補にスコアを与え exp(ε·score / 2Δ) に比例する確率で選ぶ指数機構を使います。
DP の極めて強力な性質が**後処理不変性(post-processing invariance)**です。ε-DP を満たす出力 M(D) に対し、元データに触れないあらゆる関数 g を適用した g(M(D)) も同じ ε-DP を満たします。一度ノイズで保護した値は、丸めても、可視化しても、別の計算に流しても、プライバシー保証が劣化しません。逆に言えば「DP 出力を後から解析して個人を暴く」ことは原理的に不可能で、これは攻撃者の能力に依存しない DP の定義から直接導かれます。
合成定理とプライバシー予算の枯渇
DP の最も実務的に重要な――そして厳しい――性質が**合成(composition)**です。同じデータに対して DP 機構を複数回適用すると、プライバシー損失が積み重なります。直感的には、ノイズ入りの答えを何度も得れば、ノイズ同士が平均化されて真の値が透けてくる。これを数式で抑えるのが合成定理です。
逐次合成(基本合成定理):
ε1-DP の機構と ε2-DP の機構を同じデータに適用すると、
全体は (ε1 + ε2)-DP になる → 予算は単純に足し算
並列合成:
データを互いに素な部分に分割し、各部分に別々の機構を適用するなら、
全体の ε は max(ε_i) で済む → 重複しないデータには加算されない
ここからプライバシー予算(privacy budget)という運用概念が生まれます。データ保有者は総予算 ε_total(例えば 1.0)をあらかじめ決め、クエリごとに予算を消費していきます。各クエリで使う ε_i の合計が ε_total に達したら、それ以上のクエリには応答してはならない。応答すれば全体の ε が予算を超え、保証が崩れるからです。これがプライバシー予算の枯渇で、DP システムは「答えられる回数が有限」という本質的な制約を負います。これは実装の都合ではなく、差分攻撃が原理的に可能であることの裏返しです。
基本合成では ε が線形(k 回で kε)に増えますが、**高度合成定理(advanced composition)を使うと、わずかな δ を許す代わりに損失をおおむね √k · ε(より正確には ε√(2k ln(1/δ)) 程度)に抑えられます。独立に足したノイズの誤差が平方根オーダーでしか相殺されないのと同じ理屈で、多数回クエリでは線形加算より格段に有利になります。近年はレニー差分プライバシー(RDP)**や zCDP といった会計手法で Gaussian 機構の合成をさらにタイトに見積もるのが標準で、DP-SGD の予算追跡(moments accountant 系)はこれに基づきます。
中央 DP とローカル DP
ノイズをどこで足すかで DP は二つのモデルに分かれます。これがプライバシーと精度のトレードオフを大きく左右します。
| 観点 | 中央 DP(Central / Global) | ローカル DP(Local, LDP) |
|---|---|---|
| 信頼の前提 | 集計者は生データを見られる(信頼が必要) | 集計者も生データを見ない(信頼不要) |
| ノイズを足す場所 | 集計後に一度だけ | 各ユーザーの端末で送信前に各自 |
| 必要ノイズ量 | 少ない(n 人で 1 回分) | 膨大(n 人分が累積) |
| 精度 | 高い | 低い(√n 倍ほど誤差が大きい) |
| 代表例 | 米国国勢調査、社内分析基盤 | Apple/Google の端末テレメトリ収集 |
中央 DP は、信頼できる集計者(curator)が生データを集め、集計結果にノイズを一度だけ足して公開します。ノイズが全体で 1 回分で済むため精度が高い反面、集計者が生データを保持する間の漏洩リスクを負います。
ローカル DP(LDP) は、各ユーザーが自分の端末で、データを送信する前に自らノイズを足します。集計者の手元に届く時点ですでに撹乱されているため、集計者すら信頼する必要がないのが最大の利点です。古典的な実装がランダム化応答――「はい/いいえ」の質問にコインを投げ、表なら正直に、裏ならランダムに答える方式で、個人の真の回答は否認可能(plausible deniability)になりつつ、全体の割合は補正計算で推定できます。Apple や Google が端末からテレメトリを集めるのに採用しています。代償は精度で、n 人全員が独立にノイズを足すため、誤差は中央 DP のおおむね √n 倍に膨らみます。LDP で有用な統計を得るには莫大なユーザー数が要るのはこのためです。
ε-DP は「隣接データセット(一人分だけ違う)への出力確率の比が e^ε 以下」で定義され、一人の有無が出力分布を e^ε 倍以上動かせないことを保証する。(ε,δ)-DP は加法項 δ で稀な漏洩を許容する緩和版。実現は感度(一人の差が出力を動かす最大量)に比例したノイズを足すことで、L1 感度+Laplace で純粋 ε-DP、L2 感度+Gaussian で (ε,δ)-DP。後処理不変性により DP 出力を加工しても保証は劣化しない。合成定理でクエリごとに ε が加算(基本は線形、高度合成で √k)され、総予算を使い切ると保証が消える=予算の枯渇。ローカル DP は信頼できる集計者を不要にする代わりに √n 倍のノイズを要する。
まとめ
差分プライバシーは、「出力から個人を特定できない」をある一人の有無で出力分布がほとんど変わらないという性質に置き換え、攻撃者の能力や外部知識に一切依存せず確率の言葉だけで保証します。中核の ε は隣接データセットへの出力確率比 e^ε の上限で、小さいほど強い保護を意味し、(ε, δ)-DP は稀な漏洩を許す緩和版です。
実現手段は感度に比例したノイズの注入で、L1 感度に Laplace ノイズで純粋 ε-DP、L2 感度に Gaussian ノイズで (ε, δ)-DP を得ます。後処理不変性により DP 出力はいくら加工しても安全です。一方、合成定理によりクエリのたびにプライバシー損失が加算され、総予算 ε を使い切ると保証が消える――この予算の枯渇が DP 運用の本質的制約です。ノイズを端末で足すローカル DP は集計者への信頼を不要にする代わりに精度を大きく犠牲にします。同じ「見せずに使う」を別アプローチで追う技術として 準同型暗号と秘密計算(MPC)、根拠を見せずに正しさを示す ゼロ知識証明、確率と暗号プリミティブの土台は 暗号の基礎 と併せて押さえると、プライバシー保護技術の全体像がつかめます。
セキュリティ Article
差分プライバシーの原理(ノイズ機構とプライバシー予算)を実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
差分プライバシー
比較で見る軸
難易度: advanced / カテゴリ: セキュリティ / タグ数: 5
導入後に効く点
実現は感度(個人 1 人の差が出力をどれだけ動かすか)に比例したノイズを足すこと。L1 感度に Laplace ノイズで純粋 ε-DP、L2 感度に Gaussian ノイズで (ε,δ)-DP を得る。
先に潰すリスク
用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。
- 難易度
- advanced
- カテゴリ
- セキュリティ
- タグ数
- 5
判断チェックリスト
- 自社の用途が「差分プライバシー / プライバシー保護」に近いか確認する。
- 強みである「差分プライバシーは「ある個人が含まれても含まれなくても出力分布がほぼ変わらない」を ε(と δ)で定量化する。隣接データセットでの出力確率の比を e^ε 以下に抑えることで、出力から特定個人の有無を推測する優位性を数学的に上限づける。」が本当に評価軸になるか確認する。
- 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。