『データ解析における
プライバシー保護』
(佐久間淳)7章
2016/10/14
光成滋生
• 個人データの統計量を公開したときに、
それからどれだけ個人の情報を推測可能か?
• 秘匿性に関する順序(右ほど秘匿性が高い)
• 決定的なクエリ応答 ≤ 差分プライバシー ≤ 完全な秘匿性
• 流れ
• 完全な秘匿性を定義する
• しかしそれは全く意味がない
• 逆に全く秘匿性がないケースも考える
• 多少情報は漏れてもよいと妥協したとき(弱い秘匿性)
有用なものは何だろう
• → 差分プライバシー
概要
2/15
• 統計データベース(DB)の構成
• データ収集者Cが個人からデータを収集
• クエリの発行
• データ利用者UはCに統計解析を依頼する
• 統計量の公開
• Cはクエリに応じた統計量をUに提供する
• 例
• 年齢、出身地、疾患などを記録したDB
• クエリ「30代で肺癌に罹患した男性の数」
• 答え「2」
統計量の公開におけるプロセス
3/15
• 前ページの状態で
• クエリ:「Aを除いた人で肺癌を罹患した人数」
• 「1」ならAは肺癌
• たとえば攻撃者の知識が「Aは30代+東京」
• P=「Aさんが肺癌」
• 「30代+東京+肺癌」「30代+全国+肺癌」「東京+肺癌」など
のクエリでPであると推測できる確率は変化する
• やりたいこと
• 自由度の高いクエリに対応するとき次のリスクを制御したい
• 様々な背景知識を持つ攻撃者がいる
• 対話的クエリに対応する
統計量公開におけるプライバシー
4/15
• 独立性検定
• 「遺伝的特徴Aを持つ」と「肺癌に罹患」の独立性検定
• 分割表
• 検定統計量Tが大きいほどAの有無と肺癌の罹患率に相関
• 例1:Xが自分の遺伝情報と肺癌の既往歴を提供
• 疫学者Yはたくさんの人から情報を収集し
「Aと肺癌の有無は関係する」という論文Zを出版
• 問1-1 : XがAを持ち、肺癌を罹患していたとき
Yの出版はXのプライバシー侵害か?
• No. Xが自分の情報を提供していなくても
Yはほぼ同じ確率でZを得られるはず
検定量の公開とプライバシー(1/2)
Aを持つ Aを持たない
肺癌あり 𝑛1𝐴 𝑛1𝑎
肺癌なし 𝑛2𝐴 𝑛2𝑎
5/15
• 問1-2
• XがAを持ち、肺癌には罹患していない
• 保険会社WにXが自分はAを持っていることを伝えた
• このときWはZの結果を見てXの保険料を値上げした
プライバシーの侵害か?
• No.
• ただし倫理的な問題はある
• 遺伝情報に基づく差別的な扱いを禁止する遺伝情報差別法
(アメリカ)
検定量の公開とプライバシー(1/2)
6/15
• SNP(一塩基多型)
• Single Nucleotide Polymorphism
• ゲノム塩基配列の中で割と変異しやすい特定の1個の塩基
• GWAS(ゲノムワイド関連解析)
• Genome-Wide Association Study
• 遺伝的特徴と形質(疾患や体質など)の関連を網羅的に調査
• 数十万個のSNPそれぞれにたいする特徴を数十万個保持
• International HapMap
• GWASの(SNPと罹患)の頻度分布を公開
• Homerさんたちの結果
• Aさんの1万個のSNPに対して、対応する頻度分布が公開され
たらAさんがGWASサンプルに含まれるか決定できる
遺伝情報における例
7/15
• Aは自分の数十万個のSNPとある疾患既往歴を提供
• AのSNPの提供を受けたBは検定によりXがある疾患を
罹患しているか否かを推定
• プライバシーの侵害か?
• Yes. AがSWAPに参加していなければ推測されなかった
• 「肺癌に罹患するリスクの予測」
• (今のところ)プライバシーの侵害ではない
• 「肺癌に罹患したという事実の予測」
• プライバシーの侵害
• GWASに関する分割表の公開を取りやめた
問
8/15
• ワンタイムパッド(OTP)における完全秘匿性
• 2個の入力に対する暗号文の分布が同じ
• 鍵𝑘 ← 𝐺𝑒𝑛(1 𝑛), 入力𝑥, 𝑥′ ∈ 0,1 𝑛, 暗号文𝑦 = 𝐸𝑛𝑐 𝑥, 𝑘
• 任意の𝑥, 𝑥′
∈ 0,1 𝑛
, 𝑆 ⊆ 0,1 𝑛
について
Pr
𝑦=𝐸𝑛𝑐 𝑥,𝑘 ,𝑘←𝐺𝑒𝑛 1 𝑛
𝑦 ∈ 𝑆 = Pr
𝑦=𝐸𝑛𝑐 𝑥′,𝑘 ,𝑘←𝐺𝑒𝑛 1 𝑛
(𝑦 ∈ 𝑆)
• これを同じ定式化をしてみる
• 統計DBに対するクエリ応答の完全秘匿性とは
• 2個のDBに対する統計クエリの分布が同じ
• DBの集合を𝒟, クエリの出力全体を𝑌とする
• クエリ𝑞: 𝒟 → 𝑌は決定的なので確率algo 𝑚: 𝑌 → 𝑌を導入
• 任意の𝐷, 𝐷′ ∈ 𝒟, 𝑆 ⊆ 𝑌について
Pr 𝑚 𝑞, 𝐷 ∈ 𝑆 = Pr(𝑚 𝑞, 𝐷′ ∈ 𝑆)
• ここでPr 𝑚 𝑞, 𝐷 ∈ 𝑆 = Pr
𝑧←𝑚 𝑦 ,𝑦←𝑞 𝐷
(𝑧 ∈ 𝑆)
定式化に向けて
9/15
• 前述の定義ではクエリ応答は𝐷に依存してはいけない
• 𝐷と無関係な値を返す必要がある
• 使い物にならない
• OTPではよかったのに何故?
• OTPとの相違点
• OTP
• 復号者とそれ以外の攻撃者は秘密鍵𝑘を持つか否かで違う
• 統計DB
• クエリの利用者と攻撃者に情報の違いがない
• 「利用者に𝐷に関する統計情報を与え、個別の情報について
完全秘匿性を達成することは不可能」(C. Dwork, 2006)
• ある意味当たり前
完全秘匿の不可能性
10/15
• クエリからDBを推測できる
• 𝑦 ← 𝑞 𝐷 , 𝑧 ← 𝑚 𝑦 に対しPr 𝑧 = 𝑚 𝑞, 𝐷 = 1となる𝐷が存在
• このとき別の𝐷′について Pr 𝑧 = 𝑚 𝑞, 𝐷′ = 0
• よって
Pr 𝑧 = 𝑚 𝑞, 𝐷
Pr 𝑧 = 𝑚 𝑞, 𝐷′
= ∞
• 完全秘匿と秘匿性が全くないときの中間を考える
秘匿性が全くないケース
11/15
• ある定数𝑐 > 1が存在し
任意の𝐷, 𝐷′
∈ 𝒟,応答値の集合𝑆 ⊆ 𝑌について
𝛾 𝐷, 𝐷′ ≔
Pr 𝑚 𝐷, 𝑞 ∈ 𝑆
Pr 𝑚 𝐷′, 𝑞 ∈ 𝑆
≤ 𝑐
• 𝛾(𝐷, 𝐷′
)はここだけの定義(本には無い)
• 𝑚: 𝒟 × 𝑄 → 𝑌 : (プライバシー)メカニズム
• 統計クエリの値を受け取り、秘匿性を実現するための関数
• 𝛾(𝐷, 𝐷′)が有限となる必要十分条件
Pr 𝑦 = 𝑚 𝑞, 𝐷 ≠ 0 ⇔ Pr 𝑦 = 𝑚 𝑞, 𝐷′ ≠ 0
弱い秘匿性
12/15
• 𝑚が完全にランダムなら意味がない
• 近い値はそれなりに近い値になって欲しい
• DBに”距離”𝑑(𝐷, 𝐷′
)を導入
• 𝐷と𝐷′が似ているほど𝛾(𝐷, 𝐷′)は小さくなってほしい
• 改良された弱い秘匿性の定義
• ある定数𝜖 > 0が存在し
任意の𝐷, 𝐷′ ∈ 𝒟,応答値の集合𝑆 ⊆ 𝑌について
𝛾 𝐷, 𝐷′ =
Pr 𝑚 𝐷, 𝑞 ∈ 𝑆
Pr 𝑚 𝐷′, 𝑞 ∈ 𝑆
≤ exp(𝜖𝑑 𝐷, 𝐷′ )
有用性を考慮する
13/15
• 距離の定義
• 𝐷, 𝐷′のうち同一でないレコードの数を𝑑(𝐷, 𝐷′
)とする
• 𝑑 𝐷, 𝐷′ = 0なら𝐷 = 𝐷′
• 詳しい定義は後述
• 𝑚が𝜖差分プライバシーを満たすとはz
• ある定数𝜖 > 0が存在し𝑑 𝐷, 𝐷′ = 1となる任意の𝐷, 𝐷′ ∈ 𝒟,
応答値の集合𝑆 ⊆ 𝑌について
𝛾 𝐷, 𝐷′ =
Pr 𝑚 𝐷, 𝑞 ∈ 𝑆
Pr 𝑚 𝐷′, 𝑞 ∈ 𝑆
≤ exp(𝜖)
• 𝑚はDBの一人のデータを変えたぐらいではクエリ出力の分布
をあまり変えない(プライバシー)メカニズム
• このとき、ある応答値が与えられたとき
𝐷と𝐷′のどちらのDBから得られたものかは分からない
差分プライバシー
14/15
• 𝐷, 𝐷′について𝑑 𝐷, 𝐷′ = 𝑐とすると𝐷0 = 𝐷, 𝐷1, … ,
𝐷𝑐 = 𝐷′で𝑑 𝐷𝑖, 𝐷𝑖+1 = 1となるものが存在する
• 𝑚が𝜖差分プライバシーを満たすなら
𝛾 𝐷𝑖, 𝐷𝑖+1 ≤ exp(𝜖)
• 𝑖 = 0, … , 𝑐 − 1について掛けて
• 𝛾 𝐷, 𝐷′
= 𝛾 𝐷0, 𝐷1 ⋯ 𝛾 𝐷𝑐−1, 𝐷𝑐 ≤ exp(𝜖𝑑(𝐷0, 𝐷𝑐))
差分プライバシーは弱い秘匿性を持つ
15/15

『データ解析におけるプライバシー保護』勉強会 #2

  • 1.
  • 2.
    • 個人データの統計量を公開したときに、 それからどれだけ個人の情報を推測可能か? • 秘匿性に関する順序(右ほど秘匿性が高い) •決定的なクエリ応答 ≤ 差分プライバシー ≤ 完全な秘匿性 • 流れ • 完全な秘匿性を定義する • しかしそれは全く意味がない • 逆に全く秘匿性がないケースも考える • 多少情報は漏れてもよいと妥協したとき(弱い秘匿性) 有用なものは何だろう • → 差分プライバシー 概要 2/15
  • 3.
    • 統計データベース(DB)の構成 • データ収集者Cが個人からデータを収集 •クエリの発行 • データ利用者UはCに統計解析を依頼する • 統計量の公開 • Cはクエリに応じた統計量をUに提供する • 例 • 年齢、出身地、疾患などを記録したDB • クエリ「30代で肺癌に罹患した男性の数」 • 答え「2」 統計量の公開におけるプロセス 3/15
  • 4.
    • 前ページの状態で • クエリ:「Aを除いた人で肺癌を罹患した人数」 •「1」ならAは肺癌 • たとえば攻撃者の知識が「Aは30代+東京」 • P=「Aさんが肺癌」 • 「30代+東京+肺癌」「30代+全国+肺癌」「東京+肺癌」など のクエリでPであると推測できる確率は変化する • やりたいこと • 自由度の高いクエリに対応するとき次のリスクを制御したい • 様々な背景知識を持つ攻撃者がいる • 対話的クエリに対応する 統計量公開におけるプライバシー 4/15
  • 5.
    • 独立性検定 • 「遺伝的特徴Aを持つ」と「肺癌に罹患」の独立性検定 •分割表 • 検定統計量Tが大きいほどAの有無と肺癌の罹患率に相関 • 例1:Xが自分の遺伝情報と肺癌の既往歴を提供 • 疫学者Yはたくさんの人から情報を収集し 「Aと肺癌の有無は関係する」という論文Zを出版 • 問1-1 : XがAを持ち、肺癌を罹患していたとき Yの出版はXのプライバシー侵害か? • No. Xが自分の情報を提供していなくても Yはほぼ同じ確率でZを得られるはず 検定量の公開とプライバシー(1/2) Aを持つ Aを持たない 肺癌あり 𝑛1𝐴 𝑛1𝑎 肺癌なし 𝑛2𝐴 𝑛2𝑎 5/15
  • 6.
    • 問1-2 • XがAを持ち、肺癌には罹患していない •保険会社WにXが自分はAを持っていることを伝えた • このときWはZの結果を見てXの保険料を値上げした プライバシーの侵害か? • No. • ただし倫理的な問題はある • 遺伝情報に基づく差別的な扱いを禁止する遺伝情報差別法 (アメリカ) 検定量の公開とプライバシー(1/2) 6/15
  • 7.
    • SNP(一塩基多型) • SingleNucleotide Polymorphism • ゲノム塩基配列の中で割と変異しやすい特定の1個の塩基 • GWAS(ゲノムワイド関連解析) • Genome-Wide Association Study • 遺伝的特徴と形質(疾患や体質など)の関連を網羅的に調査 • 数十万個のSNPそれぞれにたいする特徴を数十万個保持 • International HapMap • GWASの(SNPと罹患)の頻度分布を公開 • Homerさんたちの結果 • Aさんの1万個のSNPに対して、対応する頻度分布が公開され たらAさんがGWASサンプルに含まれるか決定できる 遺伝情報における例 7/15
  • 8.
    • Aは自分の数十万個のSNPとある疾患既往歴を提供 • AのSNPの提供を受けたBは検定によりXがある疾患を 罹患しているか否かを推定 •プライバシーの侵害か? • Yes. AがSWAPに参加していなければ推測されなかった • 「肺癌に罹患するリスクの予測」 • (今のところ)プライバシーの侵害ではない • 「肺癌に罹患したという事実の予測」 • プライバシーの侵害 • GWASに関する分割表の公開を取りやめた 問 8/15
  • 9.
    • ワンタイムパッド(OTP)における完全秘匿性 • 2個の入力に対する暗号文の分布が同じ •鍵𝑘 ← 𝐺𝑒𝑛(1 𝑛), 入力𝑥, 𝑥′ ∈ 0,1 𝑛, 暗号文𝑦 = 𝐸𝑛𝑐 𝑥, 𝑘 • 任意の𝑥, 𝑥′ ∈ 0,1 𝑛 , 𝑆 ⊆ 0,1 𝑛 について Pr 𝑦=𝐸𝑛𝑐 𝑥,𝑘 ,𝑘←𝐺𝑒𝑛 1 𝑛 𝑦 ∈ 𝑆 = Pr 𝑦=𝐸𝑛𝑐 𝑥′,𝑘 ,𝑘←𝐺𝑒𝑛 1 𝑛 (𝑦 ∈ 𝑆) • これを同じ定式化をしてみる • 統計DBに対するクエリ応答の完全秘匿性とは • 2個のDBに対する統計クエリの分布が同じ • DBの集合を𝒟, クエリの出力全体を𝑌とする • クエリ𝑞: 𝒟 → 𝑌は決定的なので確率algo 𝑚: 𝑌 → 𝑌を導入 • 任意の𝐷, 𝐷′ ∈ 𝒟, 𝑆 ⊆ 𝑌について Pr 𝑚 𝑞, 𝐷 ∈ 𝑆 = Pr(𝑚 𝑞, 𝐷′ ∈ 𝑆) • ここでPr 𝑚 𝑞, 𝐷 ∈ 𝑆 = Pr 𝑧←𝑚 𝑦 ,𝑦←𝑞 𝐷 (𝑧 ∈ 𝑆) 定式化に向けて 9/15
  • 10.
    • 前述の定義ではクエリ応答は𝐷に依存してはいけない • 𝐷と無関係な値を返す必要がある •使い物にならない • OTPではよかったのに何故? • OTPとの相違点 • OTP • 復号者とそれ以外の攻撃者は秘密鍵𝑘を持つか否かで違う • 統計DB • クエリの利用者と攻撃者に情報の違いがない • 「利用者に𝐷に関する統計情報を与え、個別の情報について 完全秘匿性を達成することは不可能」(C. Dwork, 2006) • ある意味当たり前 完全秘匿の不可能性 10/15
  • 11.
    • クエリからDBを推測できる • 𝑦← 𝑞 𝐷 , 𝑧 ← 𝑚 𝑦 に対しPr 𝑧 = 𝑚 𝑞, 𝐷 = 1となる𝐷が存在 • このとき別の𝐷′について Pr 𝑧 = 𝑚 𝑞, 𝐷′ = 0 • よって Pr 𝑧 = 𝑚 𝑞, 𝐷 Pr 𝑧 = 𝑚 𝑞, 𝐷′ = ∞ • 完全秘匿と秘匿性が全くないときの中間を考える 秘匿性が全くないケース 11/15
  • 12.
    • ある定数𝑐 >1が存在し 任意の𝐷, 𝐷′ ∈ 𝒟,応答値の集合𝑆 ⊆ 𝑌について 𝛾 𝐷, 𝐷′ ≔ Pr 𝑚 𝐷, 𝑞 ∈ 𝑆 Pr 𝑚 𝐷′, 𝑞 ∈ 𝑆 ≤ 𝑐 • 𝛾(𝐷, 𝐷′ )はここだけの定義(本には無い) • 𝑚: 𝒟 × 𝑄 → 𝑌 : (プライバシー)メカニズム • 統計クエリの値を受け取り、秘匿性を実現するための関数 • 𝛾(𝐷, 𝐷′)が有限となる必要十分条件 Pr 𝑦 = 𝑚 𝑞, 𝐷 ≠ 0 ⇔ Pr 𝑦 = 𝑚 𝑞, 𝐷′ ≠ 0 弱い秘匿性 12/15
  • 13.
    • 𝑚が完全にランダムなら意味がない • 近い値はそれなりに近い値になって欲しい •DBに”距離”𝑑(𝐷, 𝐷′ )を導入 • 𝐷と𝐷′が似ているほど𝛾(𝐷, 𝐷′)は小さくなってほしい • 改良された弱い秘匿性の定義 • ある定数𝜖 > 0が存在し 任意の𝐷, 𝐷′ ∈ 𝒟,応答値の集合𝑆 ⊆ 𝑌について 𝛾 𝐷, 𝐷′ = Pr 𝑚 𝐷, 𝑞 ∈ 𝑆 Pr 𝑚 𝐷′, 𝑞 ∈ 𝑆 ≤ exp(𝜖𝑑 𝐷, 𝐷′ ) 有用性を考慮する 13/15
  • 14.
    • 距離の定義 • 𝐷,𝐷′のうち同一でないレコードの数を𝑑(𝐷, 𝐷′ )とする • 𝑑 𝐷, 𝐷′ = 0なら𝐷 = 𝐷′ • 詳しい定義は後述 • 𝑚が𝜖差分プライバシーを満たすとはz • ある定数𝜖 > 0が存在し𝑑 𝐷, 𝐷′ = 1となる任意の𝐷, 𝐷′ ∈ 𝒟, 応答値の集合𝑆 ⊆ 𝑌について 𝛾 𝐷, 𝐷′ = Pr 𝑚 𝐷, 𝑞 ∈ 𝑆 Pr 𝑚 𝐷′, 𝑞 ∈ 𝑆 ≤ exp(𝜖) • 𝑚はDBの一人のデータを変えたぐらいではクエリ出力の分布 をあまり変えない(プライバシー)メカニズム • このとき、ある応答値が与えられたとき 𝐷と𝐷′のどちらのDBから得られたものかは分からない 差分プライバシー 14/15
  • 15.
    • 𝐷, 𝐷′について𝑑𝐷, 𝐷′ = 𝑐とすると𝐷0 = 𝐷, 𝐷1, … , 𝐷𝑐 = 𝐷′で𝑑 𝐷𝑖, 𝐷𝑖+1 = 1となるものが存在する • 𝑚が𝜖差分プライバシーを満たすなら 𝛾 𝐷𝑖, 𝐷𝑖+1 ≤ exp(𝜖) • 𝑖 = 0, … , 𝑐 − 1について掛けて • 𝛾 𝐷, 𝐷′ = 𝛾 𝐷0, 𝐷1 ⋯ 𝛾 𝐷𝑐−1, 𝐷𝑐 ≤ exp(𝜖𝑑(𝐷0, 𝐷𝑐)) 差分プライバシーは弱い秘匿性を持つ 15/15