ページの本文へ

Hitachi

企業情報研究開発

写真「原田 邦彦(はらだ くにひこ)」
原田 邦彦(はらだ くにひこ)
研究員

個人の特定を困難にする「k-匿名化技術」。データ利活用の動きが盛んになるにつれ、プライバシー保護の一手段として、重要性がますます高まってきています。

日立では、匿名化後のデータの質に注目。バランスの取れた「あいまいさ」を生み出す、新たなk-匿名化技術を開発しました。

上長を「おお!」と驚かせるアプローチは、学生時代の研究がヒントとなって生まれました。

(2015年6月2日 公開)

プライバシー保護は新たなステップへ

プライバシー保護のあり方が注目されていますね。

原田そうですね。近年、データ利活用の動きが盛んになっています。その一方で、データの第三者提供に関するルール等をより明確にし、プライバシーをきちんと保護しようとする動きもあります。このような世の中の動きを受けて、個人に関する情報…いわゆる「パーソナルデータ」の取り扱いに関する制度の見直しが、国によって2013年から進められています。

制度の見直しにおける論点の一つが、個人が特定される可能性を十分に低減することで、ある程度自由なデータ利用を認めてはどうか、というものです。個人の特定を完全に防止するのは技術的に実現困難であるものの、今回紹介する「k-匿名化技術」のように、定量的な指標に基づいてデータを匿名化することで、個人が特定される可能性をより確実に低減できるようになります。

図1 パーソナルデータの利活用を取り巻く状況
パーソナルデータの利活用を取り巻く状況を示した図

k-匿名化技術とはどのような技術なのでしょうか。

写真「原田 邦彦(はらだ くにひこ)」

原田「匿名化」そのものは昔からある技術です。住所をあいまいにしたり、具体的な年齢を「30代」のように幅を持たせるようにしたり。ところが、単なる匿名化では個人を特定できてしまうことがあります。例えば、「沖縄県の宮古島に住んでいる100歳以上の人」のように、匿名化しても該当する人が限られるようなケースがそうですね。

そこで、2000年ごろに登場したのがk-匿名化技術です。同一データがk件以上になるようにデータを変換することで、個人が特定される確率をk分の1以下にする…つまり、個人の特定を困難にする方法です。

個人の特定を困難にする方法としては、ほかに「かく乱」という方法もあります。かく乱は、データを置き換えることで、個人の特定を困難にする方法です。例えば、30歳の人を80歳にしたり。架空のデータを作るんです。
ただ、かく乱は、データをどう分析をするかを決めてから実施する必要があります。いい技術なのですが、残念ながら自由な分析には向いていない。データの自由な分析を目的とする場合、個人の特定を困難にするためにはk-匿名化技術は欠かせない技術と言えるでしょう。

日立でも、わたしが入社した2009年から本格的に研究が始まりました。2010年には、従来のk-匿名化技術の課題をクリアした、新たなk-匿名化技術を開発しました。

学生時代の研究に発想のヒントが

従来のk-匿名化技術には、どのような課題があったのでしょうか。

原田大きく分けて二つの課題がありました。一つは「匿名化データの質」、もう一つは「処理時間」です。

k-匿名化処理では、データのどの属性をどこまであいまいにするのかを決めていきます。住所についてはここまであいまいにしましょう、年齢についてはここまであいまいにしましょう、というように。つまり、データの属性ごとに「あいまいさのレベル」が違うんです。ただ、従来のk-匿名化技術では、あいまいにし過ぎて情報量が減ってしまう、ということが多々ありました。

単にあいまいにすればいいということではないのですね。

原田そうなんです。匿名化で情報量が減ってしまうのは当たり前なんですけど、減り過ぎてしまうとデータとしては使いにくいものになってしまいます。情報量がなるべく減らないようにしつつ、個人の特定を困難にする…「あいまいさ」のバランスを取ることが重要です。

さらに、k-匿名化処理を行うためには、「あいまいさのレベル」を「一般化階層」としてあらかじめ定義しておかないといけません。例えば「神奈川県横浜市戸塚区吉田町292番地」という住所の場合、「神奈川県横浜市戸塚区」までとするのか、「神奈川県」までとするのか…あいまいさのレベルにもいろいろあります。あいまいさのレベルの区切りをどこにするのか、明確に定義しておかないと機械的に処理できない。従来のk-匿名化技術では、この一般化階層を匿名化前のデータを基に手作業で作る必要がありました。これもちょっと面倒ですよね。

そこでわたしたちは、「情報損失量がなるべく小さくなるように一般化階層を自動生成する」という方法を考えました。k-匿名化処理の前段に自動生成の処理を入れ込むことで、手間を掛けずに匿名化データの質を上げるということをめざしたのです。

一般化階層の作りを工夫することで、匿名化データの質を上げるということでしょうか。

原田はい。図2にもあるように、データの出現頻度を一般化階層の自動生成処理に利用するようにしました。例えば、出現頻度が小さなデータは深い階層に割り当てるようにして、あいまいさのレベルの数が多くなるようにしています。また、情報量がどれだけ減ってしまっているのか、随時評価を行い、フィードバックする仕組みも盛り込んでいます。

この「匿名化データの質を上げる」というアプローチには、上長も「おお!」と驚いていました。従来のk-匿名化技術を改善するとなると、普通は「処理時間」の方に目がいきます。わたしも最初はそうでした。
発想のヒントになったのは、学生時代にやっていたデータ圧縮の研究です。データをできるだけ残すという考え方や一般化階層のツリー構造など、データ圧縮の技術と類似性があることに気づいたんです。類似性に気づいてからは、意外なほどスムーズに進み、研究を始めてから1年ぐらいで基本方針をまとめることができました。

図2 従来のk-匿名化技術との違い
従来のk-匿名化技術との違いを示した図

性能を出すのに一苦労−Hadoopへの実装

「処理時間」にはどのような課題があったのでしょうか。

原田k-匿名化処理では、どの属性をどのレベルまであいまいにすればk-匿名性を満たせるか、ということを、一般化階層で定義した「あいまいさのレベル」の組み合わせごとに計算しています。
すべての組み合わせを総当たりで計算するには時間が掛かり過ぎてしまうので、k-匿名化処理のアルゴリズムには、計算対象を削減するなど、効率良く処理を進めるための仕組みが組み込まれています。ただ、それでも時間が掛かってしまう。

そこでわたしたちは、当時注目され始めていたHadoopという分散処理基盤を活用することにしました。Hadoopの上にk-匿名化処理のアルゴリズムを実装することで、計算を一気に行えるのではないかと考えたのです。

実装はうまくいきましたか。

原田最初のうちは、なかなか思っているような性能が出なくて。Hadoopの特性を理解するまで、結構苦労しました。

Hadoopって、処理をスタートするためのオーバーヘッドが大きいんです。オーバーヘッドを減らすためには、Hadoopに渡す処理の回数を減らさないといけない。k-匿名化処理を完結させるまでに、何回も何回も処理を渡していたのですけれど、その回数を減らす必要がありました。

どのように処理の回数を減らしたのですか。

原田分散処理にまわす処理とそうでない処理を分けたうえで、分散処理にまわす処理をまとめてHadoopに渡し、計算を行うようにしました。

ちょっと専門的な話になりますが、今回実装したk-匿名化処理のアルゴリズムでは、「あいまいさのレベル」の組み合わせの「関係性」が、計算を行う際に重要になってきます。
図3は二属性の場合の例ですが、「2,0」と「1,0」の間には線がありますよね。これは「2,0」という組み合わせでk-匿名性を満たせないなら、「1,0」という組み合わせもk-匿名性を満たせない、ということを示しています。アルゴリズムの性質として、このような関係性があるところは素早く計算できるため、分散処理にまわさなくてもいいんです。

一方で、「2,0」と「1,1」の間には線がありません。これは「2,0」という組み合わせでk-匿名性を満たせないとしても、「1,1」という組み合わせでk-匿名性を満たせないとは言えない。つまり、関係性がないということを示しています。こういった関係性がないところを集めて分散処理にまわす。このようにして、Hadoopに渡す処理の回数を減らしています。

Hadoopへの実装は、経済産業省のプロジェクトとして実施しました。約2年間という期間を費やしたので、形になったときはうれしかったですね。

図3 分散k-匿名化処理の特徴
分散k-匿名化処理の特徴を示した図

「やってみたい」という思いが世界を広げる

開発したk-匿名化技術に対して、どのような反応がありましたか。

写真「原田 邦彦(はらだ くにひこ)」

原田技術的に面白いね、といろんな方から言っていただきました。Hitachi Innovation Forumで紹介された、ということもあって、いろいろな事業部の方からも「ぜひ試したい」と興味を持っていただいていて。現在、日立グループ内で事業化を検討しているところです。

1年目で最初に担当した仕事が、最後まで…製品化が見えるところまでくるというのは、そうそうないことなんだそうです。サポートしてくださったみなさまにはとても感謝しています。特に上長には、ディスカッションや検討、事業部への提案など、ぐいぐい引っ張っていただきました。「場を用意するのが上長の仕事だから」と。

それは心強いですね。今後はどのような研究を進められるのですか。

原田実は、2013年の10月から日立アメリカに出向しているんです。そこでは、オペレーション・テクノロジー(OT)とインフォメーション・テクノロジー(IT)を掛け合わせて何かできないか、というミッションの下、ビッグデータアナリティクスの研究をしています。k-匿名化技術とはまったく別の分野ですね。

もともと「いろんなことをやってみたい」という気持ちがあるんです。好奇心が強いというか、飽きっぽいというか(笑)。これからも、気になること、新しいことに積極的に取り組んで、研究領域の幅を広げていきたいと思っています。

特記事項

  • 2015年6月2日 公開
  • 所属、役職は公開当時のものです。
  • 本技術の一部は、経済産業省「平成23年度次世代高信頼・省エネ型IT基盤技術開発・実証事業(行動情報活用型クラウドサービス振興のためのデータ匿名化プラットフォーム技術開発事業)」における成果です。
  • 本技術に関連する日本特許は、登録されています(特許第5492296号)。
  • Hadoopは、Apache Software Foundationの米国およびその他の国における登録商標または商標です。

関連リンク

  • ページの先頭へ

類似キーワードコンテンツ

  • ページの先頭へ