Top Banner
数数数数数数数 数数数数数数数数数数数数数 数数数数
78

数式を使わないプライバシー保護技術

Apr 21, 2017

Download

Law

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 数式を使わないプライバシー保護技術

数式を使わないプライバシー保護技術の概観中川裕志

Page 2: 数式を使わないプライバシー保護技術

反省してますプライバシー保護入門 (カバーは右図)という本を書きました。平易に書いたつもりだったのですが、後半の章には数式が出ており、数理的なことが苦手な方や、文系の方には、とりつきにくい内容になっていたようです。

各章第1節だけは直感的な説明はしたのですが、やはり数式拒否感は強いらしく。。。。そこで、プライバシー保護技術の数理モデルを数式を使わずに直感的に理解できるスライドを作ろうと思い立ちました。その結果が次にページ以降です。

Page 3: 数式を使わないプライバシー保護技術

扱っている内容• プライバシー保護技術の大雑把な項目概要を次のページの図にしました。– このスライドの内容の目次になります。

• 各項目の詳細は個別項目で説明します。

Page 4: 数式を使わないプライバシー保護技術

誰のプライバシー?質問者 DB 中に個人データがある個人

質問の改変 準同型公開鍵暗号Private IR

ダミー混ぜ

意味保存した変換

質問分解

秘密計算:質問者の公開鍵で質問、 DB とも暗号化し、暗号化したままで検索

方法? 何に細工をする?DB 応答するかどうか

質問監査

応答

雑音加算差分プライバシー=雑音の大きさの数理モデル

決定的 vs 確率的

同じ属性値を持つ人が多数いるように変形k- 匿名化l- 多様化t- 近接性anatomy仮名化:個人 ID を乱数化

1/k- 匿名化、 無名化

プライバシー保護技術 見取り絵図

Page 5: 数式を使わないプライバシー保護技術

誰のプライバシー?質問者 DB 中に個人データがある個人

質問の改変 準同型公開鍵暗号Private IR

ダミー混ぜ

意味保存した変換

質問分解

秘密計算:質問者の公開鍵で質問、 DB とも暗号化し、暗号化したままで検索

方法? 何に細工をする?DB 応答するかどうか

質問監査

応答

雑音加算差分プライバシー=雑音の大きさの数理モデル

決定的 vs 確率的

同じ属性値を持つ人が多数いるように変形k- 匿名化l- 多様化t- 近接性anatomy仮名化:個人 ID を乱数化

1/k- 匿名化、 無名化

プライバシー保護技術 見取り絵図

Page 6: 数式を使わないプライバシー保護技術

情報検索における質問者のプライバシー保護 :Private Information Retrieval

Page 7: 数式を使わないプライバシー保護技術

情報検索における利用者プライバシー保護の動機 プライバシー保護というとデータベース中の個人情報の保護ばかりに注目が集まりますが、それだけではありません!• Knowledge-based scheme to create privacy-preserving but semantically-related queries for web search

engines– David Sanchez, Jordi Castella-Roca, Alexandre Viejo– Information Sciences, http://dx.doi.org/10.1016/j.ins.2012.06.025

• 米国では、インターネット企業は利用者プロファイルを法執行当局に販売している。犯罪、紛争に関して– 例えば、 AOL は1月あたり、1000件の要求、– Facebook は1日当たり10から 20 要求に応えている。– 米国 Yahoo は会員のアカウント、電子メール、を 1 件当たり 30 から 40 ドルで売り渡している。

• こういった販売はインターネット業者にとってかなりの収入であるが、利用者への見返りはないのです。• さらに悪徳業者が盗み出す可能性も大いにあり得ます。• こんな事情なので、検索エンジンに利用者は、自分のアイデンティを検索エンジンに知られないようにする技術を研究し実用化する必要が出てきています。

Page 8: 数式を使わないプライバシー保護技術

検索エンジンから保護したい情報は何か?Anonymity: 検索質問から質問者を推定されたくない

Tor (onion routing) で保護 複数人の質問者を混ぜて検索する方法Obfuscation(曖昧化) : 質問者は知られるが、検索質問を保護

保護したいのは :– 検索質問を構成する単語集合– 抽象的には検索意図– Web 検索の場合が多い

Page 9: 数式を使わないプライバシー保護技術

質問者の発信位置を匿名化• 位置情報を使ったサービス(地図表示など)において、個人の発信位置をサービスプロバイダに知られたくないという需要あります。• 信頼できる仲介者: Tursted Third Party:TPP を介する方法•                位置情報を利用する• ユーザ        TTP     サービスプロバイダ利用者 ID,位置情報

応答TPP が変換した利用者 ID,位置情報応答

Page 10: 数式を使わないプライバシー保護技術

位置情報をグループに紛れさせる• 信頼できる仲介者: Tursted Third Party:TPPがいない場合は信頼できる利用者でグループを作ってサービスを利用• L(n) は ID=n の利用者の位置情報。 ID はスマホ番号• ID=1 から順に位置情報を追加して k 人目がサービス要求• ただし、リクエストを受け取った利用者の ID(=m) だけ記憶しておき、結果の集合(下の図では [Res(1),Res(2),Res(3),Res(4)] )を ID=m に送り返す。注:①…⑧• 次の利用者に送るとき、 L(n) の順番を入れ替えると、利用者同士でも Resと利用者の対応は分からないようにできます。

– (順番入れ替えは自分だけ持っているので、自分に対応する Res だけは認識できる。)• k- 匿名化のような効果があります。

ID=1

ID=2

ID=3

ID=4[ 1, L(1)]

[L(1),2,L(2)] [L(1),2,L(2),3,L(3)]

サービスリクエストリスト[L(1),L(2),L(3),L(4),4]

サービス結果リスト[Res(1),Res(2),Res(3),Res(4)]

[Res(1),Res(2),Res(3),Res(4)]

[Res(1),Res(2),Res(3),Res(4)]

[Res(1),Res(2),Res(3),Res(4)]

位置情報を用いるサービスプロバイダ

②③

⑥⑦

Page 11: 数式を使わないプライバシー保護技術

質問者の検索意図を検索エンジンから保護したいデータベース検索で質問者の検索質問(検索意図)も保護したい企業研究者の研究開発における検索質問では、その検索質問が存在すること自体を隠したい

– 例:化合物A と B のペアが質問であること自体。このペアを知られると、企業の開発目的が推定されてしまいます。• どの会社かは重要ではないかも。

データベース

データベース中のプライバシー保護したい検索質問

検索者のプライバシー保護したい

企業研究者の研究開発における検索質問は企業秘密

Page 12: 数式を使わないプライバシー保護技術

以上の例を参考にして、要因を分析しなおしてみると:保護したい情報、質問の長さと構造、保護手法• 保護したい情報– 質問者を識別する情報• インターネット ID 、氏名• 質問者の質問を発信した場所の位置情報• 質問した時刻

– 質問内容• 次のスライド

– 質問があったこと自体

Page 13: 数式を使わないプライバシー保護技術

以上の例を参考にして、要因を分析しなおしてみると:保護したい情報、質問の長さと構造、保護手法• 質問の長さと構造–単語の場合– 1単語– 2単語以上の単語集合– 構造を持つ単語集合: 順序のある列、あるいは文

–位置情報、数値情報などデータの場合

Page 14: 数式を使わないプライバシー保護技術

以上の例を参考にして、要因を分析しなおしてみると:保護したい情報、質問の長さと構造、保護手法• 質問内容の保護手法– 文を単語分割して別々の質問に分解

• 別々の質問への応答たちから、適切な結果を切り出す作業が必要– 質問に紛らわしい単語(ノイズ)を混ぜる– 質問の単語を意味的に類似した別単語で置き換え

• これらは、 Obfuscation とも言われます。

Page 15: 数式を使わないプライバシー保護技術

検索エンジンに質問者の真の質問 Rを見破られない方法の概観

質問者のプロファイル: X =第 i トピックの生起確率からなる多項分布で表される

ダミー質問生成:DGS

Internet

意味分類アルゴリズム

R,R,R D,R,D,D,R

R:真の質問D: ダミー質問 : DGS が生成

Q,Q,Q

検索エンジンには同じような質問 Q に見える

意味分類アルゴリズム

プロファイル精錬器

X

Y

ダミー質問分類器

プロとダミーのループで学習した Z

Q 、Qダミーとして廃棄

Q 、Q真の質問としてプロファイル更新

検索エンジン(攻撃者でもある)質問者

Y は Xの推定値

Page 16: 数式を使わないプライバシー保護技術

前のページの図の補足説明 質問者は真の質問 R にダミー質問生成: DGS で生成したダミー D を混ぜて、 (R+D)Q として検索エンジン(=攻撃者)に送ります。 検索エンジンは、送られてきた質問 Q をから質問者の質問プロファイル Z を学習し、このプロファイルを利用して、真の質問とダミーを分類します。 したがって、質問者はダミーを見破られないようにしたい。また、自分のプロファイルも検索エンジンに推定されないようにしたいので、ダミー質問を混ぜたり、別の単語で置き換えたりするわけです。

Page 17: 数式を使わないプライバシー保護技術

誰のプライバシー?質問者 DB 中に個人データがある個人

質問の改変 準同型公開鍵暗号Private IR

ダミー混ぜ

意味保存した変換

質問分解

秘密計算:質問者の公開鍵で質問、 DB とも暗号化し、暗号化したままで検索

方法? 何に細工をする?DB 応答するかどうか

質問監査

応答

雑音加算差分プライバシー=雑音の大きさの数理モデル

決定的 vs 確率的

同じ属性値を持つ人が多数いるように変形k- 匿名化l- 多様化t- 近接性anatomy仮名化:個人 ID を乱数化

1/k- 匿名化、 無名化

プライバシー保護技術 見取り絵図

Page 18: 数式を使わないプライバシー保護技術

秘密計算による検索

Page 19: 数式を使わないプライバシー保護技術

元データべース

暗号化データベース

暗号化された回答

質問者の公開鍵で暗号化:元データベースが大きいと、この計算時間が莫大質問者

公開鍵暗号の公開鍵と秘密鍵を持っています。

質問者の公開鍵で暗号化された質問

質問者の秘密鍵で回答を復号 準同型公開鍵暗号により

暗号化したまま検索を行う

公開鍵

準同型公開鍵暗号は暗号化したままで、加算(乗算)が行えます。

Page 20: 数式を使わないプライバシー保護技術

N

フィンガープリント

フィンガープリント表現された化合物データベース:元の化合物データベースがフィンガープリント化でずいぶん小さくなります。上の化合物 X を

加法準同型暗号化

2ba34…と公開鍵 K

データベースを K で暗号化し、暗号化したまま Tversky 係数を用いて判定式を計算

暗号化された判定式

復号鍵で判定式を復号化して X との類似度を入手

企業などの研究者

0 1 1 

0   1  1    ・ ・ ・

0 1 1    ・ ・ ・0 0 1    ・ ・ ・1 0 1    ・ ・ ・

産総研で開発された化合物検索の質問秘匿システム

Page 21: 数式を使わないプライバシー保護技術

誰のプライバシー?質問者 DB 中に個人データがある個人

質問の改変 準同型公開鍵暗号Private IR

ダミー混ぜ

意味保存した変換

質問分解

秘密計算:質問者の公開鍵で質問、 DB とも暗号化し、暗号化したままで検索

方法? 何に細工をする?DB 応答するかどうか

質問監査

応答

雑音加算差分プライバシー=雑音の大きさの数理モデル

決定的 vs 確率的

同じ属性値を持つ人が多数いるように変形k- 匿名化l- 多様化t- 近接性anatomy仮名化:個人 ID を乱数化

1/k- 匿名化、 無名化

プライバシー保護技術 見取り絵図

Page 22: 数式を使わないプライバシー保護技術

仮名化

Page 23: 数式を使わないプライバシー保護技術

仮名化は一種類ではない:更新頻度により、個人識別性が変化仮名 体重A123 60.0

A123 65.5

A123 70.8

A123 68.5

A123 69.0

仮名 体重A123 60.0

A123 65.5

B432 70.8

B432 68.5

C789 69.0

仮名 体重A123 60.0

B234 65.5

C567 70.8

X321 68.5

Y654 69.0

体重60.0

65.5

70.8

68.5

69.0

同じ

• 仮名変更なし• 個人識別性大• 健康、医療など継続的観察が必要な場合は仮名変更はしない

仮名更新 更新頻度大• 仮名変更あり• 1人のデータがk個の仮名に分割• 1/k - 匿名化• 更新頻度が高くなると個人識別性が下がるが、データの価値減少

• データごと  仮名変更• 同一人のデータであると分からない。個人識別性 低い

無名化

全部、同一の個人のデータですが

Page 24: 数式を使わないプライバシー保護技術

• 仮名更新なし仮名化は– 擬似 ID 以外の部分の個人データが長期に集積して、個人の一意的絞り込みが容易であるうえに– 特定個人識別も可能性が高いので、同意なし第3者提供がいかがなものかというのは理解できます。– 条文からみると個人 ID を乱数に変更しても個人識別性は残るので匿名加工情報には該当しないと読めます。– 実質的な話:

• 擬似 ID 以外の個人データが擬似 ID 化しなければ 仮名と個人 ID の対応表が揃わなければ個人識別できないです

• 一方、無名化は個人 ID を削除しているので、条文の解釈上も匿名加工情報になるであろうかと。

仮名化は更新頻度が高くなると一律に匿名加工情報でないと割り切っていいのだろうか?

Page 25: 数式を使わないプライバシー保護技術

1レコードの長さに関する留意点仮名 場所1 場所2 場所 3 …

A123 港区 渋谷 麻布 …

A123 お台場 豊洲 新橋 …

A123 … … …. ….A123 xy yz zw …A123

• 仮名変更なし• 個人識別性大• 長期の滞在場所が分かると容易照合性あり

• 仮名消去しても長期の滞在場所が分かると容易照合性あり無名化

場所1 場所2 場所 3 …

港区 渋谷 麻布 …

お台場 豊洲 新橋 …

… … …. ….

xy yz zw …

1 行( 1レコード)の情報も容易照合性が失われる程度に短く切断する必要があります。

Page 26: 数式を使わないプライバシー保護技術

無名化個人 ID削除なので匿名加工情報

更新なし                               1 データ毎

             仮名の更新頻度仮名化(更新なし)匿名加工情報ではない疑似 ID などから個人識別、同定だからか

匿名加工情報匿名加工情報でない

どこかに匿名加工情報の可否を決める分岐点があるのではないか?

Page 27: 数式を使わないプライバシー保護技術

医療では継続性の価値が高い• 頻繁な仮名変更は匿名化の強化に役立ちます• が、データ主体である個人の継続的な個人データが重要である場合には、データの価値を損ないます。– 例えば、医療データにおいては、特定の個人の医療データあるいは健康データを継続的に収集し、分析することによって病気を特定したり、処方薬を選定したりすることが効果的あるいは必要です。– とはいえ、医療関係者も仮名の変更を全く拒否しているわけではないらしい。– 疾病毎など変更しても役立つケースあり

Page 28: 数式を使わないプライバシー保護技術

仮名更新頻度とデータ利用可値の関係• 仮名の更新頻度とデータ利用可値は下の図のような関係があります。• ただし、応用分野によって更新頻度が高くてもそこそこの価値がある場合もあります。• 次のスライドに簡単に思いつくケーススタディをまとめてみました。

利用価値

更新頻度更新なし 低い 高い 1データ毎更新

大雑把ですが、各色の例は    交通    購買    医療

Page 29: 数式を使わないプライバシー保護技術

情 報 カ テ ゴリー

仮名の更新頻度 利用価値医療情報 更新なし 患者個人の長期病歴や生活習慣とかか

る病気の関係を分析できる

更新あり 個人の追跡調査できず。ただし、短期間の流行把握は可能

運転履歴 更新なし 個人 ID 収集も同意あり個人の車の状態を把握して修理アドバイスや運転癖の指摘できる個人 ID 収集も同意なし車と運転癖との関連のデータ分析

Page 30: 数式を使わないプライバシー保護技術

情報カテゴリー 仮名の更新頻度 利用価値 運転履歴 低頻度 交通流の長期的傾向把握(都市設計な

どに使える)1ヶ月単位くらいだと、曜日毎の交通流把握が可能で、交通規制などに役立つかもしれない

高頻度 短い時間の間の交通流の把握のみ 購買履歴 更新なし 個人 ID 収集も同意あり行動ターゲッ

ティング広告個人 ID 収集も同意なし不明

低頻度 個人の長期間にわたる購買傾向。例えば春に X を買った人は夏に Y を買う傾向があるというようなデータマイニング

高頻度 個人の短期的な購買傾向把握1 データ毎に更新 特定の品物の売れ行き調査

Page 31: 数式を使わないプライバシー保護技術

仮名化でできることは?• 前のスライドの例にあるように、仮名化データでできることはおおよそ統計処理• 当然、個人のプロファイリングにも使えない

– プロファイルの類型をデータマイニングして統計データとみなし、別のところから得た個人情報と照合してターゲット広告は可能か?• 一度、統計情報化はされているわけだが

– 個人情報保護委員会が決めるのかなあ。。。– プロファイリングそのものをしたいときには、やっぱり同意を得て、個人情報そのものを使うしかないですね。– 仮名化されたデータのトレーサビリティはかなり難しい。トレーサビリティは名簿屋対策だが、名簿屋以外への負担が大きい。その負担を立法者は意識していたのでしょうか。。。

Page 32: 数式を使わないプライバシー保護技術

誰のプライバシー?質問者 DB 中に個人データがある個人

質問の改変 準同型公開鍵暗号Private IR

ダミー混ぜ

意味保存した変換

質問分解

秘密計算:質問者の公開鍵で質問、 DB とも暗号化し、暗号化したままで検索

方法? 何に細工をする?DB 応答するかどうか

質問監査

応答

雑音加算差分プライバシー=雑音の大きさの数理モデル

決定的 vs 確率的

同じ属性値を持つ人が多数いるように変形k- 匿名化l- 多様化t- 近接性anatomy仮名化:個人 ID を乱数化

1/k- 匿名化、 無名化

プライバシー保護技術 見取り絵図

Page 33: 数式を使わないプライバシー保護技術

k- 匿名化、 l- 多様化、 t- 近接性

Page 34: 数式を使わないプライバシー保護技術

動機 個人識別子だけを消せば匿名化できるのでしょうか? 否 !  

公開データからプライバシー情報を推測できる可能性あります。 Link Attack と呼びます。

匿名化の崩壊(あるいは「プライバシー保護入門 第5章)を参照していただくとよいと思います。

医療分野では病名などの機微情報のデータベースの個々のレコードと個人名の対応表がない状況を連結不可能匿名性と呼び、匿名化の基準にしています。

対応表がある場合は連結可能匿名化と呼びます。 これは、個人の医療情報を医療機関の外部に出さないというシステムである

ために安全と考えられます。 ただし、医療機関間、あるいは介護ホームなど医療関連機関でも使われる場

合はもう少し検討が必要でしょう。

Page 35: 数式を使わないプライバシー保護技術

Link Attack の古典的例• Sweeney [S01a] によれば、マサチューセッツ州知事の医療記録が

公開情報から特定可能です

– MA では、収集した医療データを匿名化して公開している(下図左円内– 一方、選挙の投票者名簿は公開 ( 下図右円内)

• 両者をつきあわせると• 6 人が知事と同じ生年月日•   うち 3 人が男•   うち 1 人が同じ zipcode• よって、知事の医療記録が特定でき

てしまいます。

• 1990年の the US 1990 census data によれば– 87% の人が (zipcode, 性別 , 生年月日 ) によって一意特定可能です

この状況を改善するために k- 匿名化が提案されました。

[S01a] より

Page 36: 数式を使わないプライバシー保護技術

k- 匿名化

Page 37: 数式を使わないプライバシー保護技術

• データ処理業者が収集した個人データを Link Attack から保護するには2つの方法があります。– 方法1: 全データからランダムサンプリングしたデータベースを使ってマイニング処理、あるいは第 3 者に渡すのが有力です。– 方法2: 全データから、疑似ID (住所、年齢、性別など)の情報を粗くして、同じ疑似IDの人が k 人以上いるように変換します。これを  k- 匿名化 と呼びます。– 下の図右側では、疑似 ID の記述を粗くして、 k=3 の k- 匿名化すなわち  3- 匿名化 されています。つまり、「おばあさん」、「お嬢さん」、「少年」の各3人ずつはその中で区別できません。

3- 匿名化されたデータベース疑似 ID の精度を粗くして、同じ疑似IDの人が3人以上いるように変換

Page 38: 数式を使わないプライバシー保護技術

疑似 ID を粗くする例• 以下の例で考えてみましょう。• 個人情報の属性

– 個人 ID そのもの(explicit identifiers) は削除:匿名化– 疑似 ID (quasi identifiers :QI)は個人特定に利用可能

– 機微情報となるデータベースの属性 (病名)の値は知られたくない(保護したい)

個人 ID 疑似 ID 機微情報名前 誕生日 性別 Zipcode 病名太朗 21/1/79 男 53715 風邪

花子 10/1/81 女 55410 肺炎光子 1/10/44 女 90210 気管支炎次郎 21/2/84 男 02174 ねんざ

明菜 19/4/72 女 02237 エイズプライバシー保護の目標は、個人を疑似 ID から特定できないようにすること

削除

Page 39: 数式を使わないプライバシー保護技術

識別と特定• 混乱しやすい用語の定義をしておきます特定:あるデータベースの疑似 ID と外部のデータベースを突き合わせると、個人 ID が一意に分かり、個人を特定できてしまうこと識別:疑似 ID を調べると、ある疑似 ID を持つ人は 1 人であることが分かること

識別できなければ特定はできない識別も特定もできない場合(非識別非特定)識別できたが特定はできない場合(識別非特定)

39

Page 40: 数式を使わないプライバシー保護技術

k- 匿名性( k-anonymity )• k- 匿名性によるプライバシー保護 , Sweeney and Samarati [S01, S02a, S02b]• k- 匿名性 : 疑似 ID を変形して個人を他の k-1 人に紛れさせ、        個人を識別できなくする方法です

– つまり、 匿名化されたデータ ベース においては、疑似 ID の組み合わせ(年齢、郵便番号、性別など) の値が同一の個人は少なくとも  k 人存在することを保証

– よって、 Link Attack でも個人特定の確率は 1/k  になります

• 実現方法– 属性の一般化  あるいは ある属性を持つレコードを削除– 当面はデータの値に雑音加算することは考えません

• プライバシーとデータマイニングにおける有用性のトレードオフとして– 必要以上に疑似 ID を変形しないことが重要です

Page 41: 数式を使わないプライバシー保護技術

k- 匿名化 の例

匿名化手法:=疑似識別子の変形法• 一般化

– 例えば、対象分野のデータは抽象度によって階層化されているなら、上の階層のデータを公開

• 削除– 特異性のあるデータ項目は削除(個別セルごと、レコードごと、属

性ごと)

誕生日 性別 Zipcode21/1/79 男 5371510/1/79 女 554101/10/44 女 9021021/2/83 男 0227419/4/82 男 02237

誕生日 性別 Zipcode

group 1*/1/79 人 5*****/1/79 人 5****

削除されます 1/10/44 女 90210

group 2*/*/8* 男 022***/*/8* 男 022**

元データ 2- 匿名化されたデータ

Page 42: 数式を使わないプライバシー保護技術

種々の一般化• 全分類階層での一般化(大域的一般化精度低下大)

– 一般化に使う分類階層の全てに対して一般化します– if 弁護士とエンジニアが専門家として一般化される then 同時に演奏家と画家も芸術家として一般化

•     専門家           芸術家• 弁護士   エンジニア  演奏家    画家  

• 部分木 の一般化(大域的一般化)– 一般化に使う分類階層の部分木だけを一般化します– 法律家、エンジニアは一般化しても、演奏家と画家は一般化しないこともあり、無駄な一般化を避けています

•     専門家             芸術家• 弁護士   エンジニア  演奏家    画家  

42

Page 43: 数式を使わないプライバシー保護技術

種々の一般化• 兄弟の片方のみ一般化(大域的一般化)

– 弁護士は専門家に一般化されてもエンジニアはそのまま•     専門家           芸術家• 弁護士   エンジニア  演奏家     画家  

• 個別データ単位の一般化(局所的一般化精度低下小)– 階層構造に当てはまるデータ全部に一般化を適用するのではなく、– 個別レコードないし特定のレコードデータ集合に対してだけ一般化します。 

• 例えば、太郎さん(弁護士)は専門家と一般化されますが、花子さん(弁護士)は弁護士のままということが起きます。43

Page 44: 数式を使わないプライバシー保護技術

この図は分割のよる k- 匿名化の方法を図示します (k=2)   成功例と失敗例incognito の例

2 個の疑似識別子属性 , 7 個のデータ点

zipcode

sex

group 1w. 2 tuples

group 2w. 3 tuples

group 3w. 2 tuples

性別を一般化

郵便番号を一般化

どのグループも1個だけ で、2- 匿名性でない

どのグループも2個以上いるので、 2- 匿名性

上の図では、1人のデータを  で表しています。

Page 45: 数式を使わないプライバシー保護技術

属性を分割する順番にもいろいろあります

各次元を順次一様に一般化

incognito [LDR05]

各次元を個別に一般化mondrian [LDR06]

多次元まとめて一般化

topdown [XWP+06]

一般化の強さ

Page 46: 数式を使わないプライバシー保護技術

Mondrian という方法では、横軸の属性と縦軸の属性を交互に分割します

2-匿名性

両方のグループ内の人数ができるだけ等しくなるように分割

Page 47: 数式を使わないプライバシー保護技術

グループの周囲長が短くなるようなグループ化 がまとまりが良い

まずい一般化長い箱データマイニングの精度が低い

良い一般化正方形に近い

データマイニングの精度が高い

Page 48: 数式を使わないプライバシー保護技術

Topdown split algorithm

最も遠い2点を種にして開始• これはヒューリスティックです• 種から2グループへ成長させます

各データ点を調べ、近くの種(あるいは種から成長したグループ)に周囲長が最小になる点を追加して新しいグループとします

右図では、全ての点は、元々は赤と緑に分離されていなかったが、矢印に示すような流れで 2グループに分離されました。

①②

③②

Page 49: 数式を使わないプライバシー保護技術

k- 匿名性の問題点• 4 - 匿名性 の例(右側のデータベース)• 均質性による攻撃 : 最終グループは全員 「がん」なので、外部データベースと突き合わせ

ると、識別されていなくても「がん」だと分かります。

• 背景知識による攻撃 : 第 1グループで、日本人が 1 人いたことが知られたとしましょう。日本人は心臓疾患にかかりにくいことが知られているので感染症だと分かります

id Zipcode

年齢 国籍 病名1 13053 28 ロシア 心臓病2 13068 29 US 心臓病3 13068 21 日本 感染症4 13053 23 US 感染症5 14853 50 インド がん6 14853 55 ロシア 心臓病7 14850 47 US 感染症8 14850 49 US 感染症9 13053 31 US がん10 13053 37 インド がん11 13068 36 日本 がん12 13068 35 US がん

id Zipcode

年齢 国籍 病名1 130** <30 ∗ 心臓病2 130** <30 ∗ 心臓病3 130** <30 ∗ 感染症4 130** <30 ∗ 感染症5 1485* ≥40 ∗ がん6 1485* ≥40 ∗ 心臓病7 1485* ≥40 ∗ 感染症8 1485* ≥40 ∗ 感染症9 130** 3∗ ∗ がん

10 130** 3∗ ∗ がん11 130** 3∗ ∗ がん12 130** 3∗ ∗ がん

匿名化データ 4- 匿名性 データ

Page 50: 数式を使わないプライバシー保護技術

l-多様性

Page 51: 数式を使わないプライバシー保護技術

• 各グループにおいて 機微情報の値がうまく管理されることが目的です。つまり、– 均質性による攻撃を防ぐ– 背景知識攻撃を防ぐ

l- 多様性 (簡単な定義 )あるグループが l-多様性を持つとは、そのグループ内では機微情報に関して、少なくとも  l 種類のデータ値が存在する

• グループ内に l種類の機微な値があり、できるだけ均等に出現することが望ましいという直感を実現します

Page 52: 数式を使わないプライバシー保護技術

52

名前 年齢 性別 病名一郎 65 男 インフルエンザ次郎 30 男 胃炎三子 43 女 肺炎四郎 50 男 インフルエンザ五子 70 女 肺炎六夫 32 男 インフルエンザ七子 60 女 インフルエンザ八郎 55 男 肺炎九美 40 女 鼻炎

一郎 インフル六夫 インフル七子 インフル四郎 インフル三子 肺炎五子 肺炎八郎 肺炎次郎 胃炎九美 鼻炎

病名の頻度順に並んだ部分データベースに分解します

l- 多様化のアルゴリズム その1•機微情報(下のデータベースでは病名) 毎にを 部分データベースに分割して

Page 53: 数式を使わないプライバシー保護技術

53

一郎 インフル六夫 インフル七子 インフル四郎 インフル三子 肺炎五子 肺炎八郎 肺炎

次郎 胃炎九美 鼻炎

一郎 インフル七子 インフル三子 肺炎八郎 肺炎九美 鼻炎六夫 インフル四郎 インフル五子 肺炎次郎 胃炎

2つのグループはいずれも 3種類の病名 ( 機微情報 ) を含む:3 -多様性

病名の頻度順に並んだ DB

l- 多様化のアルゴリズム その2•大きい順に l 個の部分データベース(左側)からデータを引き出して、 右側にグループを形成

Page 54: 数式を使わないプライバシー保護技術

Anatomy   • グループ化したデータを疑似 ID の表と機微情報データの表に分割。対応付けはグループ ID だけ。グループ内では個人の区別無し•   3- 多様性

54

グループID

病名 頻度1 インフル 21 肺炎 21 鼻炎 12 インフル 22 肺炎 12 胃炎 1

名前:匿名化する

QI:年齢 QI:性別

グループ ID

一郎 65 男 1七子 60 女 1三子 43 女 1八郎 55 男 1九美 40 女 1六夫 32 男 2四郎 50 男 2五子 70 女 2次郎 30 男 2

これらの 2 つの表からデータマイニングする個別の値は一般化されないので精度高

Page 55: 数式を使わないプライバシー保護技術

t- 近接性

Page 56: 数式を使わないプライバシー保護技術

56

年収 (百万円単位)毎の人数の例で考えて見ましょう。 例1

この例を2グループに分けてみます。 ただし、他の疑似 ID を調整して k- 匿名性は満たしているとします。

グループ1,2とも500万円、1000万円の2種類の年収の人が入っているので、 2-多様性は満たしています。 しかし、各グループとも年収の違う人が1名だけなので、他の情報源があると、その人を特定されやすくなっています。

年収 人数グループ1 500万円 99人

1000万円 1人グループ2 500万円 1人

1000万円 99人

年収 人数500万円 100人1000万円 100人

Page 57: 数式を使わないプライバシー保護技術

57

例1

この例では、理想的には以下のようにグループ分けしたいところです。 もちろん、他の疑似 ID を調整して k- 匿名性は満たしているとします。

これであれば、他の情報によっても、グループ内の個人は特定されにくいです。 つまり、グループ内の年収毎の人数が、元のデータベース(例1)に近いことが望ましいことになります。

年収 人数グループ1 500万円 50人

1000万円 50人グループ2 500万円 50人

1000万円 50人

年収 人数500万円 100人1000万円 100人

Page 58: 数式を使わないプライバシー保護技術

58

例2 1グループ内に全て種類の年収額を残らず入れるのが難しかったとします。そこで、下のような2つの方法を考えます。(全体の1部分だけ表示しています)

統計学で良く使われる2つの分布の間の違い(カルバックライブラー情報量)では、方法1のグループ1と方法2のグループは差がつきません。 でも、直感的には、年収の偏りが酷い方法1のグループ1はうれしくなさそうです。 これは要するに、元の例2に分布から離れているからです。

年収(万円)

200

300

400

500

600

700

800

900

1000

人数 10 10 10 10 10 10 10 10 10

年収(万円)

200 300 400 500 600 700 800 900 1000

方法1のグループ1

人数 10 10 10 0 0 0 0 0 0方法2のグループ1

人数 0 0 10 0 0 10 0 0 10

Page 59: 数式を使わないプライバシー保護技術

そこで、例1や例2で示したような元の分布にできるだけ近いような分布になるようなグループに分割したくなります。 そのために、グループを作るとき、元の分布から移動する労力の少ない分布にするというアイデアを用います。 元の分布が場所毎の土砂の量だとしましょう。

すると、労力は、運ぶ土砂の重さ  X 土砂の移動距離 になります。 こんな事情なので、この労力は Earth Mover’s distance(EMD) と呼ばれます。

元のデータから新しいグループを作るときに、必要なこの労力の総和が小さいほど良い分布と考えます。

t- 近接性とは、この労力の総和が  t 以下 という条件を付けたグループ化の方法です。 具体的なアルゴリズムは難しいので省略しますが、数理モデルに興味のある方は拙著「プライバシー保護入門」第6章をごらんください。

59

Page 60: 数式を使わないプライバシー保護技術

k- 匿名性 ,l- 多様性 ,t – 近接性を組み合わせるには• k- 匿名性 ,l- 多様性 ,t – 近接性 はバラバラに実現しているだけでは意味が薄いので、全部を満たすようにしたいところです。• したがって、以下のような方法が考えられます。1. まず k- 匿名化してグループ分割を行う2.    次にグループ毎に l- 多様性をチェックする3.        if    l- 多様性 を満たさない 4.          1. に戻って、 k- 匿名化で別のグループ化を行う5.    次にグループ毎に t – 近接性をチェックする6.              if    t – 近接性 を満たさない 7.              1. に戻って、 k- 匿名化で別のグループ化を行う8. 以上を繰り返して、 k- 匿名性 ,l- 多様性 ,t – 近接性をすべて満たすグループ分けを探し出す。• 当然、 k- 匿名性 ,l- 多様性 ,t – 近接性をすべて満たすのは難しいので、妥協が必要になるかもしれないです。

– 妥協とは、 k を小さくする、  l を小さくする、  t を大きくすることを意味します。– ただし、データの精度が下がり、データベースの価値が下がるので、塩梅は難しいことに留意されたいところ。

Page 61: 数式を使わないプライバシー保護技術

誰のプライバシー?質問者 DB 中に個人データがある個人

質問の改変 準同型公開鍵暗号Private IR

ダミー混ぜ

意味保存した変換

質問分解

秘密計算:質問者の公開鍵で質問、 DB とも暗号化し、暗号化したままで検索

方法? 何に細工をする?DB 応答するかどうか

質問監査

応答

雑音加算差分プライバシー=雑音の大きさの数理モデル

決定的 vs 確率的

同じ属性値を持つ人が多数いるように変形k- 匿名化l- 多様化t- 近接性anatomy仮名化:個人 ID を乱数化

1/k- 匿名化、 無名化

プライバシー保護技術 見取り絵図

Page 62: 数式を使わないプライバシー保護技術

差分プライバシー

Page 63: 数式を使わないプライバシー保護技術

差分データ差分プライバシーとしてはやや misleading ですが

• 上の宝石店個人の買い上げ DB に最高額を質問します。 (赤数字の単位は万円)• 3月10日までは買い上げ最高額=6万円だったのに、3月11日には100万円。•   の来店と買い上げを観察したり、あるいは何かの方法で知っている人が、最高額を質問し、6万円 100万円という変化を知ると、   の買い上げ額、あるいは金持ち度合を知ることができます。• など顧客のプライバシーが侵害されます。

データベース: D(宝石店お買い上げデータ:3月10日まで)

71 4 2

36

データベース: D(宝石店お買い上げデータ:3月11日まで)

71 4 2

36

3月11日に来店したことが知られている男 100

Page 64: 数式を使わないプライバシー保護技術

差分データ差分プライバシーとしてはやや misleading ですが

• 前ページで示した    のプライバシー漏洩は、• D(3月10日)と D (3月11日)という2つのデータベースの差分が知られてしまうことにより発生します。• ですから、 D(3月10日)と D (3月11日)の差分が質問で見破られないように、応答に少し細工をする仕掛け:これが差分データのプライバシー保護•  差分プライバシーとは、この考え方の一般化です。

– 隣接するデータベースの差が質問で分からないようにする数理モデル

データベース: D(宝石店お買い上げデータ:3月10日まで)

71 4 2

36

データベース: D(宝石店お買い上げデータ:3月11日まで)

71 4 2

36

3月11日に来店したことが知られている男 100

Page 65: 数式を使わないプライバシー保護技術

簡単な例データベース:D

データベース:D’

上のデータベース D,D’ はデータが1個    だけ異なります。外部からデータベースに質問をして得た応答から D,D’ が異なることが分からないように、応答に雑音を加算する方法が差分プライバシーです。 例:男女の人数を D,D’ に質問することにします。

まともに応答すると、  D の応答は 男4人、女3人                D’ の応答は 男5人、女3人 D’ のほうが1人男が多い の存在に気づくチャンスが生まれます。

Page 66: 数式を使わないプライバシー保護技術

簡単な例:つづきデータベース:D

データベース:D’

D’ のほうが1人男が多い の存在に気づくチャンスが生まれます。 そこで応答に雑音を加えます。 D の応答には(男の人数に+1)、                      D’ の応答には(男の人数に-1) すると、 D の応答は(男5,女3)、 D’ の応答は(男4,女3) となり、    の存在自体が応答からは分からなくなります。 存在自体が分からないというのは非常に強いプライバシー保護ですね。

Page 67: 数式を使わないプライバシー保護技術

雑音の大きさ

では、いったいどのくらいの大きさの雑音加えたらよいのだろう?上の図で X00 というのは年収(百万円単位)とする。 すると、 D の場合、年収の最高額は800万円、  D’ の場合は1500万円。年収の最高額を質問されると、 D’ には高収入者    がいることが判明。 そこで、これを隠すために雑音を加えるとなると、1500万円ー800万円 =700万円くらいの大きさの雑音にしないとだめ。 つまり、 質問対象の属性(この場合は年収)の差の最大値を目安にした乱数にしなければならない。

この最大値を差分プライバシーでは 感度 (sensitibity) と呼ぶ。

データベース:D

データベース:D’ 1500

500

700600 800

200300600 500

700600 800

200300600

Page 68: 数式を使わないプライバシー保護技術

簡単に言えば、差分プライバシーとは一番類似したデータベースのペアにおいて、

つまり、1人分のレコードだけしか違わないペア質問された属性の値に差の最大値くらいの大きさの雑音を、質問への応答に加算する仕掛けのこと。

属性の差の最大値くらいとは、平均値、分散ともその最大値に比例するような確率分布にしたがう雑音という意味です。 なお、比例と言っても、比例して大きな雑音にすれば、プライバシー保護能力はあがりますが、元のデータの有用性が失われます。 一方、小さな雑音にすると、データの有用性は失われませんが、プライバシー保護能力は下がります。 したがって、この比例係数の選び方にいろいろ工夫が必要なところです。さすがに、ここから先は数式が必要です。

Page 69: 数式を使わないプライバシー保護技術

合成定理• 当たり前のことですが、二つの属性の各々に対して別々に雑音1,雑音2を加え、差分プライバシーを実現すると、 データベースへの質問応答から得られる有用性は 雑音1+雑音2 に比例して低下します。

このことの一般化を差分プライバシーでは仰々しくも「合成定理」と呼びます。

Page 70: 数式を使わないプライバシー保護技術

サンプリングしたら?• 全データからランダムサンプリングしたデータベースの場合• 差分プライバシーは、    の存在が質問で知られないようするのが目的• 下の図の右側データベースのようにサンプリングされていると、サンプリングのために既に   がいるかいないか分かりにくくなっている。• したがって、同じプライバシー保護性能にするために加える雑音はサンプリング率に比例して小さなものでよい。

全員のデータベース

サンプリングされたデータベースある割合で少数をランダムサンプル ?

Page 71: 数式を使わないプライバシー保護技術

誰のプライバシー?質問者 DB 中に個人データがある個人

質問の改変 準同型公開鍵暗号Private IR

ダミー混ぜ

意味保存した変換

質問分解

秘密計算:質問者の公開鍵で質問、 DB とも暗号化し、暗号化したままで検索

方法? 何に細工をする?DB 応答するかどうか

質問監査

応答

雑音加算差分プライバシー=雑音の大きさの数理モデル

決定的 vs 確率的

同じ属性値を持つ人が多数いるように変形k- 匿名化l- 多様化t- 近接性anatomy仮名化:個人 ID を乱数化

1/k- 匿名化、 無名化

プライバシー保護技術 見取り絵図

Page 72: 数式を使わないプライバシー保護技術

質問監査• データベース側はデータベース中の個人データを守るために、場合によっては質問に対して答えないという方法もあります。• では、どんな場合に回答を拒否すればよいのでしょうか?– これに応えるのが質問監査です。

Page 73: 数式を使わないプライバシー保護技術

簡単な回答拒否の例:合計• 質問1:太郎、次郎、三郎の年収の合計は?

– 回答1:2000万円です• 質問2:太郎、次郎の年収の合計は?

– 回答2:1400万円です – と答えてしまうと、三郎の年収=600万円とわかるので、回答拒否しないといけません。

• このように、データベースの個人の年収などの属性値の合計を質問した場合、それまでの質問回答と合わせて、個人の属性が一意的にわかる場合は回答拒否します。– 比較的簡単な行列計算で回答してよいかどうかチェックできます。

Page 74: 数式を使わないプライバシー保護技術

簡単な回答拒否の例:最大値• 質問1:太郎、次郎、三郎のうち最高額の年収は?

– 回答1:900万円です• 質問2:太郎、次郎のうち最高額の年収は?

– 回答2:700万円です – と答えてしまうと、三郎の年収=900万円とわかるので、回答拒否しないといけません。– そこで、回答2を拒否したとします。すると、質問者は回答した場合に誰かの年収が知られるから拒否したとわかります。– 一意的に年収が知られる三郎ですから、三郎の年収=900万円とわかります。

• したがって、回答の可否は、このように数手先を読んで決めないといけないので、非常に難しい数学的モデルになります– このように、確定的に質問の可否を監査する方法は、計算すべき量も非常に大きく、あまり実用的ではありません。

Page 75: 数式を使わないプライバシー保護技術

確率的な質問監査• 太郎の年収が 800万円と900万円の間に入るかどうかという区間の推定では、確率的な監査になります。• つまり、太郎らの年収に関するこれまでの質問と応答が与えられたという条件で、• 太郎の年収が800万円と900万円の間になる確率を計算します。• 確率的な質問監査は– この確率が予め決めておいた閾値より小さければ回答し、大きければ回答しないという方法です。

Page 76: 数式を使わないプライバシー保護技術

計算はやはりけっこう大変です• これまでの質問と応答のペアが T 個あると、この T 個が不等式で表現できます。

– 例:1000万以上ですか?  Yes. 年収 >1000万

• このような不等式が T 本あるとき、それらをすべて満たす領域の大きさを計算するという確率論の計算になるので、いろいろ効率の良い方法が使えます。• それでも、けっこう大変です。

Page 77: 数式を使わないプライバシー保護技術

具体的なシステム設計での懸念• 個人データを知ろうと攻撃してくる質問者が1名なら、個人ごとの質問・応答の履歴だけをチェックすればよいので、何とかなるかもしれません。• 複数の攻撃者が結託してくる場合、データベースへの過去の全質問をチェック対象にするのでほぼ禁止的な計算量でしょう。• 過去N 個の質問にだけにチェック対象を絞る方法もありますが、攻撃者がこの N を知ってしまうと危険です。• なかなか、実用的には使いにくい技術なので、フィットするデータベース、応用などを十分に吟味しないといけないでしょう。

Page 78: 数式を使わないプライバシー保護技術

数理モデルや実装に興味のある方は• 実際にシステムを設計したり、開発したりする場合• 以上の直感的説明だけでは不足すると思いますので、• 拙著の5章から9章をご覧いただければ幸いです。