匿名加工情報とは
匿名加工情報とは、特定の個人を識別することができないように個人情報を加工し、当該個人情報を復元できないようにした情報のことをいいます。
また、匿名加工情報は、一定のルールの下で、本人同意を得ることなく、事業者間におけるデータ取引やデータ連携を含むパーソナルデータの利活用を促進することを目的に個人情報保護法の改正により
新たに導入されました。
SAP HANAではデータマスキング(一部のデータを伏せる)技術を提供しています。
下記の図のように、適切な権限を持ったユーザーしか情報にアクセスできません。適切な権限を持たないユーザーは伏せられた情報しか見れません。(
詳細)
しかし個人データを単にマスキングしただけで、法令に定める適切な加工を行っていない場合は、匿名加工情報ではなく、個人データです。
適切な権限を持ったユーザーでも、個人を特定できない範囲でしか情報にアクセスできないように情報を加工することが匿名加工技術です。
データ匿名加工のメリット
企業や行政が持っているデータの中には個人を特定できてしまうと悪影響を及ぼすような情報もあります。情報匿名化技術によって、そのような情報でも一般的に利活用できるようになります。例えば:
ポイントカードの購買履歴や交通系ICカードの乗降履歴等を複数の事業者間で分野横断的に利活用することにより、新たなサービスやイノベーションを生み出す
医療機関が保有する医療情報を活用した創薬・臨床分野の発展や、カーナビ等から収集される走行位置履歴等のプローブ情報を活用したより精緻な渋滞予測や天候情報の提供等により、国民生活全体の質の向上に寄与する
事業者が守らなければいけない義務は主に4つあります。
①適切な加工
②安全管理措置
③公表義務
④識別行為の禁止
SAP HANA Cloudのデータ匿名加工
SAP HANA Cloud 匿名化デモ動画では20分でSAP HANA Cloudの匿名加工技術、および事例をご紹介しています。
上記の動画でご紹介されている匿名加工技術はこちらの二つです:
サイズが k 以上になるようにグループ化することで個人を隠します。
単体では特定できないが、複数の組み合わせで特定可能になる属性(準識別子)の値の範囲を広げて一般化することで、同一の準識別子の組み合わせをもつ同値クラスを作成します。
下記の例でkの値を2に設定しています。つまり最低2人以上のグループを作成しています。
Nilsの誕生日を表示すると、唯一1987年生まれであるAnnikaのアイデンティティがばれてしまいますので、自動的にNilsとAnnikaをグループし、2人だけの誕生日を伏せています。
名前 |
生年月日 |
都市 |
体重 |
病気 |
Paul |
07-1975 |
Walldorf |
82kg |
AIDS |
Martin |
10-1975 |
Hamburg |
110kg |
Lung Cancer |
Nils |
01-1975 |
Munich |
70kg |
Flu |
Annika |
09-1987 |
Berlin |
58kg |
Multiple Sclerosis |
↓
k-匿名化加工
名前
識別子 |
生年月日
準識別子 |
都市
準識別子
|
体重
準識別子 |
疾患
機密データ |
0c4a67 |
1975 |
Germany |
~96kg |
AIDS |
df89aa |
1975 |
Germany |
~96kg |
Lung Cancer |
305be2 |
19** |
Germany |
~64kg |
Flu |
7422c2 |
19** |
Germany |
~64kg |
Multiple Sclerosis |
SAP HANA では、k-匿名化のグループを作成する際の属性を生成するための階層を自由に定義することが可能です。
機密情報を隠すためにデータにノイズを加えます。
プライバシーデータに対する正しい統計処理結果は保証されます。
名前 |
生年月日 |
都市 |
体重 |
年収 |
Paul |
07-1975 |
Walldorf |
82kg |
65k |
Martin |
10-1975 |
Hamburg |
110kg |
34k |
Nils |
01-1975 |
Munich |
70kg |
75k |
Annika |
09-1987 |
Berlin |
58kg |
105k |
↓
差分プライバシー加工
名前 |
生年月日 |
都市 |
体重 |
年収 |
0c4a67 |
07-1975 |
Walldorf |
82kg |
65k + x1 = 12k |
df89aa |
10-1975 |
Hamburg |
110kg |
34k + x2 = -30k |
305be2 |
01-1975 |
Munich |
70kg |
75k + x3 = 140k |
7422c2 |
09-1987 |
Berlin |
58kg |
105k + x4 = 80k |
そして、新規に情報がデータベースに追加されるときに、匿名化ビューではどのように扱うのかを定義することが重要です。
例えば既存の情報では個人を特定できないと断言したとしても、新たに追加される情報の中には、稀なケースもあります。上記の例でいえば、体重が200キロ越えの人が突然追加された場合、どのように扱うのか?
データ変更戦略 (data change strategy)で定義します。
SAP HANAでは "Restricted","Static","Qualified","Qualified best effort","Suppress new or changed data"の選択肢を提供しています。
data_change_strategy |
説明 |
restricted |
オリジナルデータのいかなる変更もエラーとします |
static |
データが新規に挿入された場合、そのデータは抑制され、データが削除された場合、エラーとします |
qualified |
デフォルト値。スタティックパラメータで定義した条件に違反する変更はエラーとします |
qualified_best_effort |
スタティックパラメータで定義した条件に違反する場合、そのデータは抑制されます |
Suppress_new_or_changed_data |
データが新規に挿入・更新された場合、そのデータは抑制されます、 differential privacyのみ使用可能 |
活用例
疾患データにおける k-匿名化の実装方法、そして給与データにおける差分プライバシーの実装方法を
GitHubで共有しています。
今回ご紹介した技術がどのように活用されているのか知りたい方はこちらの事例をご覧ください:
(英)HarrisLogic : Unlocking the Value of Healthcare Data with SAP HANA Data Anonymization
(英)SAP HANA Data Anonymization: Machine Learning on privacy preserving data
(英)Going beyond masking: how to anonymize large data sets
実装方法をより詳しく知りたい方はヘルプガイドをご利用ください。
(英 - オンプレミス版)SAP HANA Security Guide for SAP HANA Platform
(英 - クラウド版)SAP HANA Cloud Security Guide
SAP HANA Academyでは動画で
データマスキング、
k-anonymity、
l-diversity、
differential privacyについてご紹介しています。
Rio Toyozatoさん、本ブログの作成でご協力ありがとうございました!
Maxime SIMON