情報管理
Online ISSN : 1347-1597
Print ISSN : 0021-7298
記事
プライバシー保護の技術:質問者の保護から個人情報秘匿技術まで
中川 裕志
著者情報
ジャーナル フリー HTML

2018 年 60 巻 10 号 p. 710-718

詳細
著者抄録

日本では改正個人情報保護法が2015年に成立し2017年5月に施行された。データ主体の同意なしに流通できる匿名加工情報が導入されたが,どのような匿名化処理を施すべきか検討が続いている。EUでは全体の統一的なパーソナルデータ保護規則「一般データ保護規則」が成立し,2018年からの施行に向け,これに適合するプライバシー保護の方策が模索されている。本稿では,プライバシー保護技術を保護対象となる個人が,(1)質問者である場合に (a)質問者が誰であるか,および (b)質問内容自体,を検索エンジン側から秘匿する方法,(2)データベースに個人データが格納されているデータ主体の個人に関して識別を防ぐ場合に分けて,代表的なプライバシー保護技術を概観する。

1. はじめに:保護対象の個人データ

ビッグデータの中でも個人データ注1)はビジネス的価値が高いものとして注目されている。個人データとしては,氏名,住所,職業,収入,ゲノムなどの固定的な個人情報と時間とともに集積していく履歴データがある。履歴データとしては,医療履歴,購買履歴,移動履歴,行動履歴(Web閲覧履歴,ITサービス利用履歴)注2)などがあり,その利活用はビジネスとして大きな価値を生む。履歴データは個人データなので,プライバシー保護の対象になるが,誰のどのような個人データを保護するかを分類したのが以下の2章である。

2. 保護対象の分類

2.1 質問者,サービス利用者

検索エンジンやITサービスの利用の場合,検索における質問者やサービス利用者に関する情報の秘匿が目標になる。

  • (1)質問者,サービス利用者に関する情報

    質問者の個人識別情報,ネットワーク上のアドレス,質問ないし利用したときの位置情報が秘匿対象である。

  • (2)質問あるいは利用に関わる情報

    質問そのもの,あるいはITサービス利用のために投入する情報も,検索エンジンやITサービス事業者から秘匿するべき場合がある。

このテーマについては,3章,4章で述べる。

2.2 データベース中の個人データ

データベースを組織間移転,転売,公開,ないしは検索サービスに供する場合,データベースに格納された個人データのプライバシー保護が問題になる。重要な課題は,データベースに含まれている個人データに関して,対応する個人すなわちデータ主体を「特定」注3)されることを防ぐことである。データ主体が特定されることの問題点は,特定された当該データと同じデータ主体に関する他の個人データがひも付けされてしまい,データ主体本人の気づかないまま詳細な個人データ,個人情報が特定の事業者などに集積されてしまうことである。

データベース中の個人データのプライバシー保護には,データベース自体を改変する方法とデータベースへの検索結果を改変する方法がある。前者については5章,後者については6章で述べる。これから述べる保護技術の概略は1にある。

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

3. 質問者,サービス利用者の匿名化と秘匿

3.1 グループに紛れる方法

2章1節(1)の情報の秘匿で古くから知られているのは質問者,サービス利用者(以下,まとめて「質問者」と記す)を複数人からなるグループに紛れさせてしまう方法である。

参考文献1の手法では,あらかじめ参加しているメンバーからなるグループの中で,質問者が発した質問メッセージをグループのメンバー間でランダムに送付することを繰り返す。ただし,メッセージを受け取ったメンバーは質問を他のメンバーではなく検索システムに送付する。検索システムへの送付はあらかじめ決められた確率で行う。

検索結果は,ランダムな経路を逆にたどって質問者まで戻される。ただし,この逆送付ができるのは,グループのメンバーに限られるので,検索システムからは質問者を特定できない。

質問者が自身の位置情報を入力してサービスを受ける場合について考えてみよう。たとえば,自分の現在位置に近いレストランを検索するサービスなどである。自身の位置情報が質問内容になるので,サービス供給者まで届いてしまうが,自分が誰であるかが推定されないので,位置情報のプライバシーは守られていると考えられる。

3.2 Tor:通信時の匿名化

Tor(The Onion Routing)は質問者を最終受信者からオニオン・ルーティングと呼ばれる公開鍵暗号を利用したプロトコルで隠蔽(いんぺい)する方法であり,質問者の匿名化ができる2)。以下に2を用いてオニオン・ルーティングを簡単に説明する。

左端の質問者は受信者(検索エンジンやITサービス業者)にデータを送りたい。簡潔にするため,この例では質問者をTorのネットワークの入り口としている。

  • Step 1. 質問者は

    (1)Torの出口ルーターZの公開鍵で,受信者と送信したいデータ:Dを暗号化,

    (2)Y→Zという経路をYの公開鍵で暗号化,

    (3)X→Yという経路をXの公開鍵で暗号化して中継ルーターXに送る。

  • Step 2. Xに送られた情報は,

    (1)Xの秘密鍵でX→Yという次に送る中継ルーターへの経路だけを復号する。

    (2)その内側内容データ:Dは暗号化されたままYへ送られる。

  • Step 3. XからYに送られた情報は,

    (1)Yの秘密鍵で復号され,

    (2)Y→Zという経路をYは知っているので,暗号化されたデータ:DはZに送られる。

  • Step 4. YからZに送られた情報は,

    (1)Zの秘密鍵で復号され,受信者とデータ:Dが得られる。

    (2)出口ルーターZはデータ:Dを受信者に送る。

多重になされた暗号化が中継ルーターと出口ルーターでタマネギの皮をむくように復号化(データ復元)されていくので,オニオン・ルーティングと呼ばれる。なお,中継ルーターはもっと多段になっていてもよい。

中継ルーターが復号して解読できるのは次の送り先だけである。したがって中継ルーターはメッセージを直接に送受した前後のルーターしかわからない。したがって,中継ルーターが自分への送り手ルーターを明かさなければ,元の情報を発信した質問者について受信者からはわからない。

このようにTorは質問者を秘匿する強力な方法だが,問題点もある。まず,中継ルーターのすべてを信用できないことがある。したがって,中継ルーターのすべてが結託すると質問者が割り出されてしまう。また,トラフィックパターン(具体的には,時刻ごとにどのような相手ルーターとどのような頻度で通信したかを表すパターン)の類似性を使った逆経路追跡注4)3)も可能性がある。

図2 オニオン・ルーティングにおけるデータの流れ

4. 質問自体の秘匿

4.1 質問改変

質問自体を検索エンジンに知られたくないことはしばしばある。たとえば,企業の研究開発者が特許検索において用いる質問の単語は,その企業の製品開発方針という重要な企業秘密を内包している。よって,質問の単語を知られることは企業秘密の漏えいにつながりかねない。

質問を秘匿する方法の一つに質問改変がある。まず,質問Qを単語の集合{q1qk}とする。この状況で質問改変には以下のような方法がある。

  • (1)単語への分解

    Qを1単語からなるk個の質問q1qkに分解して,1単語ずつの質問を繰り返す。得られた結果を質問者の計算機上で処理して,Qに対する結果を作る。たとえば,単語qiに対する結果をR(qi)とすると,それらの共通部分をQに対する結果とする。

    ただしこの方法は,検索エンジン側が質問の発信者が同一であることを知っている場合は効果がない。よって,質問者を秘匿する方法と併用せざるをえないであろう。

  • (2)単語の置き換え

    単語を類似の単語で置き換える方法である。ただし,単語間の類似度を何らかの外部情報で補う必要がある。一つの方法としては既存の類義語辞書あるいはシソーラスを使う方法がある。

  • (3)ノイズ付加

    紛らわしい単語をノイズとして質問に加え,真の質問単語を知られにくくする方法である。紛らわしい単語は,既存のシソーラスなどを使う。この方法のベースライン的存在であるTrackMeNot4)では,Yahoo!の公開しているcategories, sub-categoriesを用いている。

    質問改変方法は必ずしも強力な質問秘匿方法とはいえない。たとえば,(3)の方法だと,k単語からなる質問にノイズ付加をして総数Nk単語としても,1/Nの確率で真の質問単語を推定される。さらに,(2)(3)のいずれも検索エンジンすなわち攻撃者は,質問者の過去の質問履歴を知っていてそれから学習すれば,高い精度で真の質問を推定できる。

    以上まとめると,質問改変は弱い秘匿方法である。ただし,質問者のPCのブラウザにおけるプラグインとして使える簡便さがある。

4.2 準同型性公開鍵暗号による秘密計算

計算量は大きいが,質問改変より格段に秘匿性能がよい方法として「準同型性公開鍵暗号による秘密計算」がある。この暗号は,公開鍵で暗号化したままで平文のデータの加算ができる。すなわち,E[x]×E[y]=E[x+y],ただしEは公開鍵による暗号化を表す。加算ができるので,時間をかければ乗算もできる。加算と乗算ができれば内積が計算できる。質問xもデータベースのレコードyもベクトルで表されると,2つのベクトルx,yの内積はxとyの相関の高さ,すなわち類似性を表す。このことを使う検索を3に示す。ここで{ }は集合を表し,たとえば{y}はデータベースの全レコードの集合である。

質問者は公開鍵Koと秘密鍵Ksをもっている。

  • Step 1. 公開鍵で暗号化した質問E[x]と公開鍵Koを検索エンジンに送る。
  • Step 2. 検索エンジンはデータベース全体{y}を公開鍵Koで暗号化する。
  • Step 3. E[x]と{E[y]}との内積などの類似度を暗号化したままで計算し{E[xとyの内積]}を得て,これを質問者に返送する。この計算は暗号化されたまま行われるので,検索エンジン側には質問は漏れない。
  • Step 4. 質問者は返送された結果を秘密鍵Ksで復号し,質問xに対する各yの類似度を知る。

この方法は質問の秘匿性は完全に近いが,計算量が膨大であることが難点である。つまり,Step 2において,データベースの全レコードを質問者の公開鍵が到着してから暗号化する計算は特に重く,検索のパフォーマンスを極端に劣化させる。あらかじめ暗号化しておこうにも,質問者ごとに別々の公開鍵で暗号化する必要があるため,データベース量が質問者数に比例して巨大化し,現実的ではない。

むしろ,データベースのレコードをコンパクトな表現にすることが有望である。たとえば,質問として特定の化合物を与え,化合物データベースから類似の構造をもつ化合物検索に応用する場合,特徴的な構造の有無を0,1で表すフィンガープリントという4のような表現で,質問およびデータベース中の各化合物を表すことが考えられる。

産業技術総合研究所(産総研)で開発した類似化合物検索システム5)では上記のフィンガープリントの利用に加えて,並列化するなどの対策を施し,実用レベルを目指している。

図3 準同型性公開鍵暗号の秘密計算によるデータベース検索
図4 産総研で開発された類似化合物検索の質問秘匿システム

5. データベース自体の匿名化

日本では改正個人情報保護法が2015年に成立し,データ主体の同意なしに流通できる匿名加工情報が導入された。匿名加工情報とするためにどのような匿名化処理を施すべきかについて以下の各節で述べる。

5.1 仮名化

データベースに個人1名のデータが1レコードとして格納されているとする。このレコードは1のようになる。

このレコードのデータ主体である個人が識別されないためには,まず氏名ないし個人ごとに異なる個人ID(マイナンバーなど)を削除する。とはいえ,レコードの残りの部分をインデックスするために何らかの名前が必要である。これを氏名などからハッシュ関数などを使って発生した値,すなわち仮名で置き換える。これを仮名化という。

表1 個人データのレコード構造
個人識別情報 個人データ 機微情報
氏名, 個人ID, 住所, 年齢, 性別など 購買履歴, 移動履歴, Web閲覧履歴など 病歴, 前科前歴など

5.2 履歴データ分割

仮名化はデータベースにおける個人データの匿名化に必要な処理だが,それだけで匿名化ができるわけではない。1の個人データにおいて購買履歴,移動履歴,Web閲覧履歴などが長期間にわたって収集され続けると,履歴情報が他のデータベースなどの情報源と突き合わされて個人が識別される可能性が高くなる。そこで,履歴データを分割して分割ごとに異なる仮名を付ける。これによって,分割された履歴データが連結できなくなるため,識別の困難さが増す。極端なケースとして履歴の1データごとに仮名を変える注5)なら,個人識別は非常に困難になる。

一般に仮名の変更が頻繁になるほどデータの有用性は低下する。たとえば,患者の健康状態の推移などでは履歴を分割するとほとんど有用性が消滅する情報もある。一方,購買履歴は,かなり細かく分割しても日時ごとの特定商品の販売個数などビジネスに有用な統計情報は取り出せる。つまり,履歴分割による有用性の低下は対象データの種類に依存する。

5.3 k-匿名化,l-多様化

Sweeney6)は複数のデータベースの名寄せの具体例を挙げて危険性を指摘している。

米国では5のように氏名,住所,ZIP(郵便番号)コード,生年月日,性別などを含む有権者名簿が公開されている。一方,病院の医療記録は,患者の氏名は削除したもののZIPコード,生年月日,性別,人種,診断などが記載されている。Sweeney6)によれば1990年当時,公開されている投票者名簿においてマサチューセッツ州知事のZIPコード,生年月日,性別を医療記録と照合した結果,6人が知事と同じ生年月日,うち3人が知事と同じく男性,うち1名が同じZIPであったため一意絞り込みができ,本人の病歴が漏えいしてしまった。

図5 病院医療記録と有権者名簿(名寄せの例)

  • (1)k-匿名化

    単語を類似の単語で置き換える方法である。ただし,単語間の類似度を何らかの外部情報で補う必要がある。一つの方法としては既存の類義語辞書あるいはシソーラスを使う方法がある。

    このような状況を防ぐために導入されたのが「k-匿名化」6)である。一般的にいえば,データベースにおいて誕生日,性別,ZIPが同一の人がk人以上いるように情報を粗くする処理をk-匿名化と呼ぶ。

    氏名(以下の23では簡単な表記のために,名前のみ記載する)は仮名化したうえで,他の個人識別情報の精度を粗くする。2に実例を示す。

    上の表から下の表への変換は次のようにして行う。まず,氏名を仮名で置き換える。次に誕生日を10年ごとの年代に置き換える。性別は削除する。ZIPコードは5桁から上2桁にする。こうすると,誕生年代,性別,ZIP2桁だけみると,A01と03Bは区別できず,CC8とXY9も区別できない。また,412はどのように情報を粗くしても他人と等しくできないので,レコードそのものを削除する。こうすると,誕生年代,性別,ZIP2桁は同一の人が2名以上いるので,1名に絞り込めない。この処理を「2-匿名化」と呼ぶ。一般的にいえば,データベースにおいて誕生日,性別,ZIPが同一の人がk人以上いるように情報を粗くする処理をk-匿名化と呼ぶ。なお,情報を粗くする処理を最小限に抑える処理は,レコード数に対してNP完全と呼ばれる計算量が非常に大きく大規模データでは実用性が低い処理であることが知られており,かなり重い処理である。

表2 k-匿名化の例(k=2)
表3 金の延べ棒購入者データベース-1
氏名 太郎 次郎 花子 一郎 京子 恵子
性別
金額(万円) 10 30 25 40 30 20

  • (2)l-多様化

    ところで,2においては2-匿名化はできているが,A01,03Bの2名の病名は2名とも同一の大腸炎なので,2-匿名化によっても病名という機微な情報は漏えいしてしまう可能性が高い。これを防ぐためにk-匿名化のk人のグループ内に知られては困る情報,つまり機微情報の種類がl種類以上存在するように情報を粗くする処理を調節する方法を「l-多様化」7)と呼ぶ。2の場合,CC8,XY9の2名は2-匿名化されているうえに,病名も2種類あるので,この部分だけみれば2-多様化されている。データベース全体のl-多様化をk-匿名化に加味する匿名化処理は,計算量が大きいうえにデータ有用性をさらに低下させる可能性がある。

6. 回答結果の改変:差分プライバシー

データベースに投入された質問への回答結果を改変する主要な方法は「差分プライバシー」である8)。改変は回答への雑音加算によって行う。差分プライバシーは数学的に込み入っており難解だといわれることが多い。以下では,あえて厳密さを犠牲にして直感的な説明を試みる。

3に示す貴金属店で金の延べ棒を購入した人の氏名,性別,購入額を記載したデータベース-1があったとする。

このデータベースに購入者の人数性別を質問すると,男=3,女=3という回答が得られる。しばらくしてこの貴金属店に新規顧客が入店し,買い物をしたとする。その後,データベースが4のように変化した(データベース-2)とする。

ここで同じ質問をすると,男=4,女=3という回答が得られ,新規来店者(五郎)は金の延べ棒を購入したことがわかる。そこで,差分プライバシーではデータベースの差分に当たる新規来店者の存在を秘匿するために,質問への回答においてデータベース-1では男に+1,女に-1,データベース-2では男に-1,女に0という雑音を付加する。すると,回答はデータベース-1では男=4,女=2,データベース-2では男=3,女=3となり,回答からは新規顧客の存在の有無がわからなくなる。このように差分プライバシーは顧客のデータを秘匿するのではなく,顧客の存在自体を秘匿するのでその秘匿能力は高い。

このデータベース-1,データベース-2のように1レコードだけ異なるデータベースを隣接データベースと呼ぶ。元のデータベースとその隣接データベースの間の差分の有無を秘匿する手法であるため,この回答への雑音加算法を「差分プライバシー」と呼ぶ。

ここで問題になるのは差分の有無を秘匿するために加算すべき雑音の大きさである。質問として,購入金額の最大値を考えてみよう。この場合,データベース-1では40万円だが,データベース-2では90万円である。よって,絶対値で50万円近い雑音を加算しないと,回答から差分すなわち五郎が新規購入者として追加されたことを知られてしまう。雑音が大きくなると,当然,回答の有用性が下がるため,差分の大きな隣接データベースの場合は弱点となる。

加算する雑音の大きさとデータベースの性質との関係の数学的なモデルは難解なので,詳細は参考文献9を参照していただきたい。

表4 金の延べ棒購入者データベース-2
氏名 太郎 次郎 花子 一郎 京子 恵子 五郎
性別
金額(万円) 10 30 25 40 30 20 90

7. おわりに

本稿では,プライバシー保護技術を保護対象となる個人が,(1)質問者である場合,(2)データベースに個人データが格納されているデータ主体である場合に分けて,代表的な保護技術を概観した。

プライバシー保護はEUの一般データ保護規則導入にみられるように世界的に重視されてきている。国内での個人情報保護はもちろん,EUなど海外でプライバシーに関わるデータを利用する企業にとっても,プライバシー保護技術による法制度の順守,サービス利用者に対する信頼性確保は必須の要件になっている。このような状況で重要なプライバシー保護技術に関して本稿によって興味をもっていただければ幸いである。

執筆者略歴

  • 中川 裕志(なかがわ ひろし)

1975年 東京大学 工学部卒業。1980年 東京大学 大学院工学系研究科博士課程修了(工学博士)。1980年 横浜国立大学 工学部勤務。1999年から東京大学 情報基盤センター教授。2017年から理化学研究所 革新知能統合研究センター 社会における人工知能研究グループ長。人工知能,プライバシー保護等の研究に従事。

本文の注
注1)  個人データの対象となる個人は,正確には「データ主体」と呼ばれる。

注2)  行動履歴のうち位置情報はEUにおいては個人情報として保護されている。したがって,EU発の航空便の乗客名簿はデータ主体である乗客の位置情報として保護されるため,日本において入手することは原則的にできない。2020年の東京オリンピック・パラリンピック競技大会時にはテロ対策の観点から入手できるように交渉している。

注3)  ここでは「特定」とは実世界のデータ主体にひも付くことを意味している。ただし,複数のデータが同一データ主体のものであることを意味する場合もある。その場合は,本稿では「識別」と呼ぶ。

注4)  参考文献3が掲載されている会議報告書を発行するPrivacy Enhancing Technologies Symposium (PETS)はTorに関する最新の成果が発表される会議であるが,プライバシー保護の技術と社会システムに関して世界最高レベルの論文を集めた国際会議である。

注5)  たとえば,購買履歴だと,1購買ごとに仮名が変わる。しかし,それならむしろ仮名を付ける意味はないので,無名化という方がよいだろう。

参考文献
  • 1)  Reiter, M. K.; Rubin, A. D. Crowds: anonymity for web transactions. ACM Transactions on Information and System Security. 1998, vol. 1, no. 1, p. 66-92. https://doi.org/10.1145/290163.290168.
  • 2)  Reed, M. G.; Syverson, P. F.; Goldschlag, D. M. Anonymous connections and onion routing. IEEE Journal on Selected Areas in Communications. 1998, vol. 16, no. 4, p. 482-494. https://doi.org/10.1109/49.668972.
  • 3)  Johnson, A.; Jansen, R.; Hopper, N.; Segal, A.; Syverson, P. "PeerFlow: Secure load balancing in Tor". Proceedings on Privacy Enhancing Technologies. Minneapolis, USA, 2017-07-18/21, 2017, p. 74-94, (vol. 2017, no. 2).
  • 4)  Toubiana, V.; Subramanian, L.; Nissenbaum, H. TrackMeNot: Enhancing the privacy of Web Search. arXiv.org e-Print archive, 2011. arXiv:1109.4677v1. https://arxiv.org/pdf/1109.4677.pdf, (accessed 2017-10-30).
  • 5)  Shimizu, K. et al. Privacy-preserving search for chemical compound databases. BMC Bioinformatics. 2015, vol. 16, suppl. 18, s6. https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-16-S18-S6, (accessed 2017-10-30).
  • 6)  Sweeney, L. K-anonymity: A model for protecting privacy. International Journal of Uncertainty, Fuzziness and Knowledge-based Systems. 2002, vol. 10, no. 5, p. 557-570. https://doi.org/10.1142/S0218488502001648.
  • 7)  Machanavajjhala, A.; Kifer, D.; Gehrke, J.; Venkitasubramaniam, M. L-diversity: Privacy beyond k-anonymity. ACM Transactions on Knowledge Discovery from Data. 2007, vol. 1, no. 1, article 3. p. 1-52.
  • 8)  Dwork, C.; Roth, A. The Algorithmic Foundations of Differential Privacy. Foundations and Trends in Theoretical Computer Science. 2014, vol. 9, no. 3-4, p. 211-407. https://doi.org/10.1561/0400000042.
  • 9)  中川裕志. プライバシー保護入門:法制度と数理的基礎. 勁草書房, 2016, 246p.
 
© 2018 Japan Science and Technology Agency
feedback
Top