データ匿名化手法まとめ、その1
オライリーの書籍「データ匿名化手法」Khaled El Emam (著), Luk Arbuckle (著)
TL;DR
2015年5月に日本語翻訳された
副題はヘルスデータ事例に学ぶ個人情報保護
著者はカナダ人、カナダやアメリカの法律や事例について書かれている。日本での法律や事例については監訳者の注という形で補足されている
今回は第1章から6章までのまとめ
内容
匿名化ってなんですか
どうやってやりますか
実際のデータからデータの匿名化を実施する
続きはこちら
1章 イントロ
ISO25237によると匿名化とは「識別データとデータ主体の間の関連を取り除くプロセス」と定義されている
匿名化すべきか
同意を得るか匿名化するか
匿名化における2本の柱
マスキング
仮名化と秘匿
仮名化
ISO25237にさまざまな仮名の生成方法がまとめられている
秘匿
フィールド全体を取り除く
データを開示しないということ
非特定化(de-identification)
非識別化?
3つのアプローチが存在する
リスト
HIPAAプライバシールールのセーブハーバー標準
取り除かれるか一般化されるべき18種類のデータ要素を定めている
リストによる非特定化は再特定のリスクを保証してくれるわけではない
良い方法ではない
ヒューリスティック
経験則
論外
リスクベース方法論
この本のターゲット
規制当局が政府(カナダ/アメリカ/イギリス)による基準と整合性が取れている
HIPPAプライバシールールにおける統計手法や最近(2015年)のガイダンス文書や実務指針とも整合性が取れている
4つの基準
米国保健福祉省"Guidance Regarding Method for De-Identification of Protected Health Information in Accordance with the Health Insurance Portability and Accountability Act Privacy Rule"(長すぎw)
英国コミッショナー事務局"Anonymisation:Managing Data Protection Risk Code of Practice"
カナダ衛生情報局とCanada Health Infoway"Best Practice Guidelines for Managing the Disclosure of De-Identified Health Information"
米国連邦委員会"Statistical Policy Working Paper22, Report on Statistical Disclosure Limitation Methology"
上記4つの基準から著者らは12の特製を抽出した
実際の匿名化
匿名化のユースケース
研究
オープンデータ
データウェアハウス
公衆衛生サーベイランス
医療機器
アラート
ソフトウェアのテスト
特定の個人を直接識別する情報だけが「個人情報」ではない
監訳者による補足
日本の個人情報保護法と照らし合わせて説明
識別子と準識別子の話
2章 リスクベースの非特定化方法論
基本的な方法論について説明する
基本原則
再特定のリスクは定量化できる
何らかの方法でリスクを測ることでリスクが高すぎないか、データセットに対してどの程度の非特定化を適用する必要があるか判断できる
データの品質が高いほど攻撃者は再特定に成功しやすくなる
ゴルディロックスの原則
プライバシーとデータの有効性とのバランスをとる
最高のプライバシー保護と最高の有用性を兼ね備えたデータセットを作ることはできない
ゼロリスクということは開示される情報がほとんどないということ
低リスクで有用なちょうど良いところを探らないといけない
再特定のリスクは非常に小さくなければいけない
医療情報を開示しながらレコードの再特定リスクがゼロであることを保証するのは不可能
望んでいるのはデータにアクセスしながらかつ再特定のリスクが非常に小さいこと
非特定化には、技術、契約、その他の評価の組み合わせが伴う
再特定のリスクを小さくするためにはいろんなアプローチがある
契約、適切な運営と監視、データ自体の変更を必要とする技術的なもの
非特定化方法論の手順
ステップ1: 直接識別子(識別子)と間接識別子(準識別子)
この本で繰り返し出てくる非常に重要な概念
どちらの識別子も攻撃者に知られるとデータセットにあるレコードを再特定するのに使われる恐れがある
直接識別子(識別子)
個人や世帯をユニークに特定するのに使えるフィールドのこと
マイナンバー(アメリカだと社会保障番号)
電話番号
間接識別子(準識別子)
個人を特定することができる直接識別子以外のフィールドのこと
間接識別子一つで特定できることはない複数のフィールドを組み合わせることで個人を特定できる
生年月日
郵便番号
年齢
学歴
ステップ2: 閾値を設定する
リスク閾値
データ共有のために受け入れることのできる最大のリスク
閾値を設定する時に考慮すべき要素
データはパブリックドメインに置かれるのか
だれがアクセスできるのかどのように使うのか制限がない
オープンデータやオープンガバメントイニシアチブなど
データを意図通りに共有した時、プライバシー侵害(invation of privacy)がどの程度あるのか
データ開示がデータ主体のプライバシーを侵害すると見なされるか検討する
データの機密性
故意でない開示による患者への潜在的損害
データ収集時にどんな同意を獲得する仕組みがあったか
ステップ3: 起こりそうな攻撃について調べる
攻撃の種類は4種類ある
データ受領者が故意にデータの再特定を試みる
データ受領者が故意でなく(あるいは無意識に)データを再特定してしまう
データ受領者の施設でデータ侵害があり、データが外部に漏れてしまう
攻撃者がデータに対してデモンストレーション攻撃を仕掛ける
上記1-3が発生する確率は以下の2つの要因が影響する
動機と能力
データ受領者にデータを再特定する動機と技術力があるか
動機についてはデータ受領者と法的拘束力のある契約を結ぶことで管理可能
リスク低減コントロール
データ受領者のセキュリティとプライバシー対策
データ受領者側に不良従業員がいると契約に関係なく行動をする恐れがある
デモンストレーション攻撃(リストの4番目)
データセットが再特定可能であることを攻撃者が誇示したいときに行われる
特定しやすいデータを狙う可能性が高い
デモンストレーション攻撃の特徴
再特定の事実を誇示するにはたった一つのレコードが再特定できればよい
これまで判明したデモンストレーション攻撃のほとんどは学者とメディアによるものだった
デモンストレーションの成功には攻撃を公表することが重要なので違法な(または疑わしい)行為が行われる可能性は低い
再特定に対して取れる唯一の方法はデータセットを改変すること
ステップ4: データを非特定化する
一般化
フィールドの正確さをさげる。例えば誕生日を月単位まで丸めるとか
秘匿
データをNULLにする
サブサンプリング
データセット全体ではなく単純にランダムに選んだサンプルだけ開示する
「差分プライバシーのような新しいモデルには大きな実用上の制限があり、少なくとも医療分野には適していません」
glassonion1.icon 実用上の制限ってなんだろうか
ステップ5: プロセスを文書化する
文書化は重要
起こりそうな攻撃のリスク測定
データセットを入手する人がわかっていれば攻撃T1, T2, T3を、想定する誰がデータセットを入手するのか分からなければ公開データの開示と考え攻撃T4を想定する
Pr(re-id, T) = Pr(T) * Pr(re-id | T)、Pr(A | B)はBを与えた時のAの確率あるいはBが起こる条件においてAが起こる確率
T1: 故意による再特定の試み attempt
Pr(attempt)は不良従業員だったり、データ利用の合意事項に署名していないデータ受領者の割合
T2: 故意でない再特定の試み acquaintance
Pr(acquaintance)はデータセットに含まれている人にデータ受領者の知り合いがいる確率
T3: データ侵害 breach
Pr(breach)はデータ侵害が起こる確率、HIPAAに従う必要のある医療機関の27%で報告義務のあるデータ侵害が発生した
Pr(re-id) (データセットだけにもとづく)
T4: 公開データ
再特定リスクの測定
確率メトリクス
最大リスクと平均リスクアプローチ
最大リスクは再特定確率の最も高いレコードを全体リスクとしてみなす。T4で使用する
平均リスクはT1 - 3で使用する
情報損失メトリクス
データを非特定化すると必ず情報が失われる。データセットに適用された歪みを具体的に評価する
2つのメトリクス
エントロピー
不確実性の測定
データから失われた正確さの度合い
エントロピーが大きいと情報損失が多くなる
一般化によってのみ影響を受ける
欠損
欠損したセルやレコードの測定
欠損量が多いとデータセットの統計能力が低下する
秘匿によってのみ影響を受ける
リスク閾値
閾値を選ぶ
データの機密性をもとに決める
データ収集時に同意を得たか
公利用されるデータか安全性が高くて信用できる受領者か
一般に開示されないデータの場合、閾値を0.1から0.05の範囲が望ましい
平均リスク
開示データは0.09から0.05の範囲が望ましい
最大リスク
閾値を満たす
用語解説
同値類(Equivalence Class)
準識別子に同じ値をもつレコード
同値類数(Equivalence Class Size)
同値類のレコード数、非特定化によって変わる
k-匿名性(k-anonymity)
同値類数が少なくともkである状態
1-匿名性: データが一意に識別できる状態
2-匿名性: 同値類数が2以上のデータ
k-匿名性を達成する
例) 目標は一般化と秘匿によって「3-匿名性」を達成すること
3章 横断的データ
ある時点での複数の観察対象にまたがったデータ
スナップショット
データの2次利用と開示
カナダREBの承認が必要、アメリカの場合はIRB
研究者がREBに研究プロトコルを提出する前に、再特定リスクアセスメントを実施しておく
再特定リスクアセスメントはDAC(Data Access Committee)が実施する
DACはデータ提供側の組織
研究者はDACとリスクアセスメントを実施する
BORNレジストリ
カナダオンタリオ州の出生データ
時間軸で母親を追跡できない
レジストリとリポジトリ
レジストリ
医療文書に関するメタデータ情報
リポジトリ
医療文書そのものを保存する場所
ただしレジストリがデータベース全体をさしていることもあるので注意
リスクアセスメント
平均リスク閾値を決める
脅威モデリング(実際に起きそうな攻撃)は何か
BORNの場合、脅威は故意でない再特定
研究に使う準識別子を決める
赤ちゃんの性別
母親の生年月日
赤ちゃんの生年月日
母親の郵便番号など
データを非特定化する
研究者とDACの交渉
リスク閾値内でデータの非特定化と特定化を繰り返しデータの精度を高める
ここはもっと詳細なデータが必要とか
ここは詳細が必要ないとか
年度ごとにリスク分析をする必要があるか
データの傾向に大きな変動がない場合はリスク分析を再利用できる
4章 縦断的データ
退院時要約(discharge abstract)
病院ごとの入院から退院までの経過/治療内容を要約したデータ
州の退院時要約データをすべて収集したデータを州入院患者データベース(SID: State Inpatient Database)という
特定期間の患者データ
縦断的データとは
時間軸に沿って継続するデータ
疫学研究では時間が重要な要素になる
病気の進行は時間の経過につれて変化するため
個体識別が必要になることはない
横断的データとは別の方法で非特定化が必要
横断的データは現状把握が簡単にできるが時間経過を追いかけてないので因果関係の説明ができない
縦断的データへの攻撃
ストーカー
攻撃者は完全な知識を持っていると仮定する
完全な知識のもとでの非特定化
厳密に完全な知識
厳密に完全な知識を前提にすると非特定化データの有用性が大きく損なわれる
おおよそ完全な知識
情報の断片を組み合わせる知識まではない
準識別子の値を独立した集合として扱う
カリフォルニア州の州入院患者データベースの事例
すべての入院患者の情報を収集してデータの形式を揃えた
保険の有無によらず全ての患者の臨床情報と非臨床情報が収集されている
誰でもダウンロードしてデータを使うことができる公開バージョンが存在する
項目の例
患者の属性データ
患者の場所
1次および2次の診断と処置
入院日及び退院日と種類
入院期間
集中治療あるいは心疾患治療の日数
保険と料金
実際に一般化してみる
ボトムコードとトップコードを使って一般化
データを調べずに闇雲に一般化をしてはいけないよ
生年月日
ボトムコード=1910: 年 -> 5年間隔 -> 10年間隔
入院年
ボトムコード=2006: 年 -> 1年間隔 -> 2年間隔
経過日数
6日までは日、それ以降は週、トップコード=182+ -> ボトムコード=7-、それ以降は28日間隔、トップコード=182+
入院日数
最終診察日からの経過日数に関連づける
結果
非特定化前、セル欠損0.05%、レコード欠損3.14%
非特定化後、セル欠損15.3%、レコード欠損28.5%、エントロピー44.7%
5章 診療報酬請求データ
カリフォルニア州HPN(Heritage Provider Network)のHHP(Heritage Health Prize)コンペ
来年入院する患者を特定できる予測アルゴリズムのコンテスト
患者11万3千人の3年分の診療報酬請求データ2,668,990件
賞金300万ドル
このデータを使って縦断的データの非特定化を実施してみる
日付けの一般化
日付けの順序を保ちながらランダム化する
日付けの間隔がランダムになる
ロングテール
5,426,238件の請求データのグラフ
患者の圧倒的多数は10件以下、一部の患者には1,300件以上の請求が存在した
グラフの分布のロングテールにいる患者が攻撃のリスクが高い
攻撃されやすい患者を守るため分布の95パーセンタイルや99パーセンタイルでデータを切り捨てる
95パーセンタイルの場合、139件以上の請求がある患者のデータが打ち切り対象となり請求の11%が削除された
99パーセンタイルの場合、266件以上の請求がある患者のデータが打ち切り対象となり請求の2.8%が削除された
脅威モデリングを実施してどの請求を打ち切るべきか決める
関連項目の相関
データから他の準識別子を推測できる可能性がある
6章 縦断的イベントデータ
WTCの災害レジストリの例
同時多発テロの時、WTCで勤務していた人の追跡データ
身体的、精神的な健康状態を何年もかけて追跡
検査内容
問診票
精神衛生調査票
標準身体検査
12 - 18ヶ月ごとのフォローアップ評価
準識別子
性別
年齢
身長
言語
人種
イベント
失業
別居や離婚
喫煙の開始と停止
急性気管支炎の診断
睡眠時無呼吸の診断
パニック障害の診断
2011/9の重機操作
2011/10の瓦礫撤去
2011/10の危険物管理者
冗談的イベントデータへの攻撃
攻撃者はイベントの一部を知っていると仮定する
攻撃力
攻撃者が背景知識をもっているイベントの数
攻撃力Pとは患者を再特定するのに使える準識別子の値がP個あるということ
二つの準識別を知っていてその値をP個知っていいる場合、攻撃者は再特定に使える情報が2 * P個ある
患者の準識別子の値の多様性が重要、多様性があると攻撃力を抑えられる
医療イベントが少なくてイベント間の多様性が高い患者の場合、攻撃者が利用できる背景知識はほとんどない
l-多様性という単語は出てこないが、l-多様性のことを言っている
実際の攻撃力の式
最大攻撃力を$ p_{max}、患者のイベント数を$ n、患者の重識別子の多様性を$ vとする
$ \lceil1+(P_{max} - 1)\times(n/v)/max_{patinents}(n/v)\rceil
リスクアセスメントと驚異モデル
実際にどのくらいのリスクがあるか見積もってみる
終わりに
長いので今回はこの辺で一旦区切ります。次回は以下についてまとめます。(文責・藤田) データリダクション
医療分野におけるコード群
マスキング
セキュアな連結
非特定化と品質