セキュリティ研究員コラム

セキュリティ研究員コラム

第2回 k-匿名性

2017.12.29
東京システムハウス

こんにちは。情報セキュリティの研究を行っている佐藤です。前回は、データの匿名化について簡単に紹介しました。今回は匿名化したデータの安全性の指標に用いられるk-匿名性についてお話したいと思います。

 

k-匿名性のお話を始める前に、少し法律のお話をします。今年の5月(2017年5月30日)に個人情報保護法の改正が行われました。この改正の目的の1つとして、データの利活用の推進があります。本改正により、個人を特定できないようにデータを加工することで、目的外の利用が可能となりました。有効的にデータを利活用することで、便利な世の中にしていくことが目的です。

 

では、どのようなデータ加工を行えば個人を特定できないようになるのでしょうか?残念ながら、明確な指標が提示されていません。こちらについては、データを提供した際のユーザの反応から、徐々に指標が定まってくるのではと思われます。

 

今回のタイトルである「k-匿名性」は、どれだけ個人を特定できないかを示す指標のうちの1つとなります。「k-匿名性」とは、ウィキペディア上では、「個人情報が含まれている公開データの情報で少なくともk-1人を区別することができないとき、公開データはk-匿名性をもつという」とあります。簡単に説明しますと、最低でも同じデータがk個存在するこということです。

 

「k-匿名性」を満たすようにデータを加工することを「k-匿名化」と言います。

 

具体的に見てみましょう。以下のデータが存在あります。

名前 年齢 性別 出身
Aさん 28 男性 神奈川県横浜市
Bさん 32 女性 東京都新宿区
Cさん 38 女性 東京都練馬区
Dさん 30 男性 埼玉県さいたま市
Eさん 24 男性 神奈川県川崎市
Fさん 37 男性 埼玉川越市
Gさん 33 女性 東京都足立区

 

こちらを以下のようにデータ加工します。

名前 年齢 性別 出身
* 20代 男性 神奈川県
* 30代 女性 東京都
* 30代 女性 東京都
* 30代 男性 埼玉県
* 20代 男性 神奈川県
* 30代 男性 埼玉県
* 30代 女性 東京都

 

(20代、男性、神奈川県)が2件、(30代、女性、東京都)が3件、(30代、男性、埼玉県)が2件となります。従いまして、このデータの場合は、「2-匿名性」を満たすと言えます。また、このようなデータをk-匿名化されたデータと呼んだりします。

 

では、k-匿名化されたデータは安全なのでしょうか?実は、それだけでは安全とは言えません。

 

少し詳しく見ていきましょう。先ほどの例の「名前」「年齢」などの情報を「属性」と呼びます。「属性」は以下の4種類に分類されます。

(1)識別子

単体で個人の特定が可能な属性。名前、マイナンバーなど。

(2)準識別子

組み合わせることで個人の特定に繋がる属性。年齢、性別、電話番号、位置情報など。

(3)機微情報

他人に知られたくない情報。病名、収入など。

 

k-匿名化ですが、主に識別子、準識別子に対して行われます。従いまして、以下のデータも「2-匿名性」を満たすと言えます。

名前 年齢 性別 出身 病名
* 20代 男性 神奈川県 がん
* 30代 女性 東京都 ノイローゼ
* 30代 女性 東京都 不眠症
* 30代 男性 埼玉県 糖尿病
* 20代 男性 神奈川県 うつ病
* 30代 男性 埼玉県 糖尿病
* 30代 女性 東京都 不眠症

 

このデータがA病院の患者のデータだったとしましょう。あなたは、20代男性のBさんと30代男性のCさんがA病院に通院していることを知っていたとします。Bさんは「がん」か「うつ病」のどちらかであることがわかります。また、Cさんは「糖尿病」であることがわかります。「k-匿名化」しているはずなのに、他人に知られたくない病名が推測されてしまいます。

 

今回のデータはkの値が2であったため、簡単に推測されました。これからわかるように、kの値として大きい値を使用したのかが大事になります。世の中には、k-匿名化をしているから安全ですと謳っているデータがすでにたくさんあります。しかし、具体的なkの値を示していない場合が多いです。本当に安全なのか心配になりますね。

 

k-匿名化されていれば安全と思うのではなく、どれだけ大きなkの値を使用しているかも意識してみてください。

 

今回は匿名化の安全性の指標の一つである「k-匿名化」のお話でした。次回は、別の指標についてお話ししたいと思います。