TECH BLOG
PWSCup2024-参加記
はじめに
PWS Cup[1]はコンピュータセキュリティシンポジウム(CSS)[2]内のイベントとして毎年開催されている、個人データの安全な利活用に向けた匿名化技術を匿名化と攻撃の対戦形式で競うコンテストです。トヨタ自動車株式会社、株式会社 KDDI 総合研究所、株式会社 ARISE analytics は、PWS Cup 2024[3] に三社合同チームで参加し、10回目の開催において過去最多タイとなる21チームが参加する中、攻撃力が最も高いチームに送られるベストアタック賞を受賞しました[4][5][6]。
本ブログでは、ベストアタック賞を獲得した手法を含め、本コンテストで弊チームが考案した手法に関して技術的内容をより詳細に解説いたします。
図1:PWSCup2024の概要ポスター(公式HP[3]より)
PWS Cup2024のコンテスト概要
社会背景
AI技術の発展には、高品質なデータが不可欠です。特に、機械学習モデルは膨大なデータをもとにパターンを学習し、精度を向上させるため、できるだけ多くの多様なデータを確保することが求められます。しかし、自社だけで十分なデータを持っているとは限らず、他社や第三者のデータを活用するケースも増えています。ただし、データの共有や活用には大きな課題があります。それがプライバシーの問題です。個人情報を含むデータをそのまま利用すれば、個人の特定につながるリスクがあり、法規制の厳格化とともに慎重な対応が求められています。
その有効な解決策として挙げられるのが匿名化技術です。匿名化技術は、レコードの属性に対し削除や変換を行い、レコードの統計情報を保持しながら個人の特定を困難にする手法です。例えば、氏名や住所を削除したり、詳細な年齢を年代に変換したりすることで、データの匿名性を高めることができます。しかし、匿名化には「強度」の問題がつきまといます。匿名化が不十分だと、データベース再構築攻撃など複数のデータセットを組み合わせることで個人情報が復元されてしまうリスクがあることが知られています。一方で、匿名化を強化しすぎるとデータの持つ情報量が減少し、AIの学習に十分な質のデータが得られなくなる可能性があります。このような背景から、プライバシー保護とデータ利用のバランスが取れた匿名化手法が求められています。単純な匿名化にとどまらず、新たなアプローチを取り入れることで、安全性を確保しつつ、データの価値を最大限に引き出すことが重要になっています。
コンテストストーリー
本コンテストでは、匿名化技術に関する実践的な課題が与えられました。
以下が、本コンテストにおけるコンテストストーリーです。
企業Aは顧客データを利用して映画の推薦システムを作りたいと思い、推薦システム開発のコンペのために顧客データを匿名化してコンペ参加者に提供することとした。参加者は顧客データを公開したい企業を想定した加工者となり、与えられたデータを加工してデータに含まれる人のプライバシーを保護することを目指します。
データセットとしては、ユーザが視聴した映画のレビュー結果をまとめたオープンデータセットであるMovieLens 1M Dataset[7]から作られた合成データを用います。
図2: 配布データのイメージ図。ユーザの属性情報とユーザが映画を見た際の
評価(Rating)で構成されるテーブルデータセット
基本的な流れ
本コンテストは、予備戦・本戦の2戦行われ、それぞれで匿名化フェーズ・攻撃フェーズという共通のタスクを行います。
図3:コンテストの基本的な流れ(公式資料[8] 頁6より抜粋)
1.匿名化フェーズ
2.攻撃フェーズ
・個人特定攻撃
✓シャッフルされたRatingsデータがどのUser IDに紐づくものかを特定する
・データベース再構築攻撃
✓黒塗りされた箇所の値を特定する。
評価指標
本コンテストでは、匿名化データの作成と攻撃手法の開発の両面で評価指標が設けられています。評価指標は図5の通りです。
図5:評価指標
受賞対象
図5の評価指標をもとに受賞者が決定されます。また、本年度より匿名化したデータを用いて有用な分析手法を提案したチームに与えられるデータサイエンス賞が設けられました。
■ 総合1位~5位 – 総合得点(匿名性スコア+有用性スコア)が高かったチーム
■ ベストアタック賞 – 攻撃力が最も高かったチーム
■ベストプレゼン賞 – 当日のプレゼンが最も優れていたチーム
■ ベストデータサイエンティスト賞
– 実際に今回の匿名化データを使って有用な分析手法を提案したチーム
– 分析手法の独創性や実用性、および匿名化データを使った分析の有用性などを総合的に評価
結果
図6が弊チームの結果になります。
図6:弊チームの結果。予備選匿名化フェーズを除きとても良い結果!
予備戦の匿名化フェーズでスタートダッシュに失敗したものの、その後は安定的に高いスコアを獲得し、全体では匿名化フェーズ7位、攻撃フェーズで1位となりベストアタック賞を獲得いたしました。
次章では、高得点を獲得した本戦の匿名化手法・攻撃手法と今回新たに設けられたデータサイエンス賞に向けて提案した分析手法について解説いたします。
解法
匿名化手法
考え方(匿名化における合成データの可能性)
合成データはランダムに生成された存在しない個人に関するデータであり、完全にランダムな合成データならば個人特定は原理的に不可能です。一方で、完全にランダムに生成してしまうと元データの統計的性質が失われ、有用性のない無価値なデータになってしまいます。そこで、元データの統計的性質をある程度保存しつつ合成データを生成することを考えます。最も基本的なアプローチは、各属性(年齢など)の1次元周辺分布(あるいはヒストグラム)が元データと一致するように属性ごとに独立に値をランダム生成する方法です。この方法では各属性の分布は元データと一致しますが、属性間の相関の情報が失われてしまいます。今回の例で言えば、元データで年齢とある映画のratingの相関が存在していたとしても、その相関は合成データに反映されません。
元データの属性間の相関を保存するように合成データを生成するというのは、一般に難しい問題です。機械学習で属性間の相関を学習して合成データを出力する方法もありますが、相関を保存すべき属性の指定・制御が難しく、特に今回のように明確な有用性の定義が存在するコンテストには不向きです。そのため、今回は機械学習を用いず、まず完全にランダムに合成データを生成し、それから元データと統計的性質が合致するように繰り返し値を書き換えていく手法を用いることにしました。
提案手法の詳細
では、具体的に今回用いた合成データ生成手法を説明します。手法としてはPrivSyn [9]と呼ばれる合成データ生成手法をベースにしました。PrivSynは低次元周辺分布の値が元データとできるだけ合致するように逐次的に合成データの値を書き換えていく手法です。今回のコンテストでは2属性間の2次元周辺分布(クロス集計表)のみを一致させることを試みます。なお、PrivSynでは差分プライバシーを適用していますが、今回は差分プライバシーの適用は行っていません。具体的な手順は以下のようになります。
図7:匿名化手法の概要
手順:
1. 配布データ
2. 配布データ
3.
4. 全ての
5. 最も大きいMAEを持つ(
6. 最適輸送問題の結果をもとに
7. 手順3に戻る。
十分に有用性スコアが上がるまで上の値の書き換えを繰り返します。
次に、手順5においてクロス集計表を一致させる方法について述べます。ここではある2属性間のクロス集計表が元データと一致させますが、その2属性の値の書き換えのパターンは複数存在します。しかし、多くの値を書き換えてしまうとその分他のクロス集計表の値も大きく変わってしまい、全体の有用性スコアが上がりきらなくなってしまいます。そのため、できるだけ少ない書き換えによってクロス集計表の値を一致させることを考えます。今回は、最適輸送問題を解くことで最小の値の書き換えを求めました。最適輸送問題では、あるクロス集計表から別のクロス集計表に変化させるために必要な値の書き換えパターンのうち、書き換えの数が最小になるものを線形計画法で求めます。実装ではPythonのPOT: Python Optimal Transport ライブラリ[10]を用いて解いています。
このように合成データを生成することで、有用性を高く保ちつつ、元データには存在しない個人に関するデータを実現できました。では、このデータは個人情報を全く含まない安全なデータと言えるでしょうか。おそらく答えはNoです。なぜなら、有用性スコアが高い場合、各属性ペアのクロス集計表の値は元データとほぼ一致していることを示しており、それは元データの多くの統計量が公開されていることを意味するためです。統計量の公開だけであればプライバシー保護されていると見なされがちですが、実はそうとも限らないことが分かってきています。十分な量の統計量が分かっている場合、統計量の制約を満たすように(数独を解くようなイメージで)DB再構築を行い、個人特定に繋げる攻撃が知られています。米国国勢調査でもこの点が問題視され、2020年より差分プライバシーを満たすランダムノイズを加えた上で統計量を公開しています[11]。以下で説明する我々の攻撃手法はクロス集計表の値しか考慮していませんが、我々の攻撃を自身の匿名化データに実際に適用してみると、有用性を十分高めた合成データではかなりの割合で攻撃が成功してしまうことが分かりました。
図8:有用性スコアと匿名性スコアの関係性。
有用性が70を超えたあたりから、急激に攻撃を受けやすくなることが示された
結果
図9:本戦-匿名化フェーズ結果(公式HP[3]より弊社加工)
攻撃手法
考え方
我々はこの課題に対し、まずは「基本属性とRatingsの紐づけ」をどのように行うかを先に検討する方針となりました。黒塗りされたRatingsの推定には正しく紐づけされた基本属性の情報も重要になると想定されたからです。
基本属性とRatingsの紐づけに関し、初めは主催者側から提供されていたシンプルな方法(ハミング距離)や機械学習を活用し、各Ratingsレコードにとって最も近い/確率が高い基本属性のレコードを推定する手法を試みました。しかしながら、どの方法も出現頻度が高い属性を持つレコードが複数マッチングしてしまうなど、期待した精度を得ることができませんでした。
完全に行き詰ってしまったそんな折に、攻撃イメージ図(図[10] 右図)を見ていた時、ふと「なんか合コンみたいだな」という思いが脳裏をよぎりました。参加者(基本属性とRatings)が好感度を最大となるようそれぞれ最適な相手とマッチングするという構造が、合コンで男女がちょうどよくペアを作る場面に似ていると感じたのです。この比喩をヒントに、「合コンで誰も余らず、うまくペアを作る方法があれば、それを応用できるのではないか」と考えました。
図11:ChatGPTにマッチング理論について聞いている図
そういう手法がないか話題のChatGPTに聞いてみると「今回の問題は最大マッチング問題の一種として位置づけられるのではないか」という回答を得ることができました。今回はこの最大マッチングの考え方を採用し、新たな攻撃手法として試すことにしました。
提案手法
結果
以下が本戦の結果になります。弊チーム(Team20)は、全チームに対する攻撃成功数では全体1位、ベストアタック賞の計算に用いられるtop5への攻撃成功数合計では全体2位を獲得しました。これに予選の結果を合わせ、ベストアタック賞の獲得となりました。
図12本戦-攻撃フェーズ結果(公式HP[3]より弊社加工)
データサイエンス手法
分析背景
匿名化フェーズや攻撃フェーズが関わる賞とは別に、新たにデータサイエンス賞が設けられました。この賞では、自チームで匿名化したデータを用いて有用な分析手法を提案することが課題となり、ルールは次の通りです。
■ ベストデータサイエンティスト賞
– 実際に今回の匿名化データを使って有用な分析手法を提案したチーム
– 分析手法の独創性や実用性、匿名化データを使った分析の有用性などを総合的に評価
– 当日のプレゼンで提案。発表するかどうかは任意
本賞は今年度から新設されたため前例がなく、分析における特別な制約も存在しません。自由度が高い反面、どのような分析を行うべきか悩ましいところです。
ここで、今回のPWS Cupにおけるコンテストストーリーを振り返ってみます。
企業Aは顧客データを利用して映画の推薦システムを作りたいと思い、推薦システム開発のコンペのために顧客データを匿名化してコンペ参加者に提供することとした。参加者は顧客データを公開したい企業を想定した加工者となり、与えられたデータを加工してデータに含まれる人のプライバシーを保護することを目指します。
このストーリーに沿って考えると、企業Aは提供した匿名化データを用いて開発された推薦システムが自社で活用できることを望むでしょう。そのため、匿名化データの性質は、匿名化前とできるだけ変わらないことが望ましいと考えられます。私たちのチームでは、その「変わらなさ」を具体的な推薦モデルを使って測定し、分析することにしました。
分析方針
分析には、推薦問題でよく用いられるモデルの一つである Factorization Machines(FM)を採用しました[13]。FMは特徴量間の相互作用効果を2次の非線形項で学習することを目的としたモデルで、
具体的には、匿名化データのレーティング値を回帰で推定する問題を設定し、以下の2ケースでFMを学習・推定しました。
1. 第二項を除き線型項のみ考慮する
2. 第二項も含め非線形項も考慮する
1. 比較手法:データカラムをランダムに選択し、2行をランダムに選んでスワップする手法
2. 提案手法:私たちのチームが提案した匿名化手法
分析結果と考察
図13:各匿名化手法における、有用性スコアと非線形効果による精度影響(E)の関係
もちろん今回のコンペ設計上この点が重要視されていなかったための結果なのですが、実務上はもし「推薦システムの精度」を重視するのであれば、その要件を反映した有用性の定義を行う必要があると考えられます。つまり単に何某かの有用性を定義しそれを高めるだけでなく、非線形効果が損なわれないよう配慮した匿名化手法や有用性指標を設計することが重要といえそうです。
終わりに
今回、私たちは3社合同で匿名化コンテストに取り組み、匿名化・攻撃・データサイエンス技術の提案を行いました。異なる専門技術を持つ3社が協力し、ベストアタック賞をはじめとし良い成績を収めることができました。
データ匿名化技術はAI技術の発展に必要不可欠な技術です。本コンペで得た知見を活かし、実社会での応用を見据えた研究開発等に今後とも取り組んでいき、より安全かつ実用な匿名化技術の確立に貢献していきます。
参考文献
[1] https://www.iwsec.org/pws/index.html
[2] https://www.iwsec.org/css/
[3] https://www.iwsec.org/pws/2024/cup24.html
[4] https://www.toyota-tokyo.tech/news/241129_2.html
[5] https://www.kddi-research.jp/topics/2024/112901.html
[6] https://www.ariseanalytics.com/news/20241129/
[7] https://grouplens.org/datasets/movielens/
[8]https://www.iwsec.org/pws/2024/Images/20240731_PWSCUP2024_iPWSCUP2024.pdf
[9] Zhang et al., “PrivSyn: Differentially Private Data Synthesis,” in USENIX Security ’21. https://www.usenix.org/system/files/sec21-zhang-zhikun.pdf
[10] https://pythonot.github.io
[11]https://web.archive.org/web/20241127175308/https://www2.census.gov/library/publications/decennial/2020/census-briefs/c2020br-03.pdf
[12] Harold W. Kuhn, “The Hungarian Method for the Assignment Problem”, 1955
[13] https://ieeexplore.ieee.org/document/5694074