Skip to Content
Product Information
Author's profile photo Maxime Simon

SAP HANA Cloudの情報匿名化技術

匿名加工情報とは

匿名加工情報とは、特定の個人を識別することができないように個人情報を加工し、当該個人情報を復元できないようにした情報のことをいいます。

また、匿名加工情報は、一定のルールの下で、本人同意を得ることなく、事業者間におけるデータ取引やデータ連携を含むパーソナルデータの利活用を促進することを目的に個人情報保護法の改正により新たに導入されました。

SAP HANAではデータマスキング(一部のデータを伏せる)技術を提供しています。
下記の図のように、適切な権限を持ったユーザーしか情報にアクセスできません。適切な権限を持たないユーザーは伏せられた情報しか見れません。(詳細

しかし個人データを単にマスキングしただけで、法令に定める適切な加工を行っていない場合は、匿名加工情報ではなく、個人データです。
適切な権限を持ったユーザーでも、個人を特定できない範囲でしか情報にアクセスできないように情報を加工することが匿名加工技術です。

データ匿名加工のメリット

企業や行政が持っているデータの中には個人を特定できてしまうと悪影響を及ぼすような情報もあります。情報匿名化技術によって、そのような情報でも一般的に利活用できるようになります。例えば:

ポイントカードの購買履歴や交通系ICカードの乗降履歴等を複数の事業者間で分野横断的に利活用することにより、新たなサービスやイノベーションを生み出す

医療機関が保有する医療情報を活用した創薬・臨床分野の発展や、カーナビ等から収集される走行位置履歴等のプローブ情報を活用したより精緻な渋滞予測や天候情報の提供等により、国民生活全体の質の向上に寄与する

事業者が守らなければいけない義務は主に4つあります

①適切な加工

②安全管理措置

③公表義務

④識別行為の禁止

SAP HANA Cloudのデータ匿名加工

SAP HANA Cloud 匿名化デモ動画では20分でSAP HANA Cloudの匿名加工技術、および事例をご紹介しています。

上記の動画でご紹介されている匿名加工技術はこちらの二つです:

データ匿名化手法①: k-匿名化(k-anonymity)

サイズが 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-匿名化のグループを作成する際の属性を生成するための階層を自由に定義することが可能です。

データ匿名化手法②: 差分プライバシー(differential privacy)

機密情報を隠すためにデータにノイズを加えます。

プライバシーデータに対する正しい統計処理結果は保証されます。

名前 生年月日 都市 体重 年収
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-anonymityl-diversitydifferential privacyについてご紹介しています。


Rio Toyozatoさん、本ブログの作成でご協力ありがとうございました!

Maxime SIMON

Assigned Tags

      Be the first to leave a comment
      You must be Logged on to comment or reply to a post.