コンテンツにスキップ

case03(再識別デモ): 事例概要 — 1/7

この事例について(出典と位置づけ・重要)

この case03 は、2014年の米国ニューヨーク市タクシーデータの再識別(V. Pandurangan ほか)と、「ハッシュ化は匿名化ではない」という整理(EU 第29条作業部会)を参考に作成した、仮想の事例(デモ)です。データはすべて教材用の合成データで、実在の個人・事業者とは無関係です(詳しい出典は 参照資料)。

法域についての注意: 参考にした事例は海外の事例です。本ページ以降で触れる日本の制度(個人情報保護法・委員会規則)への言及は、「もし同種の事象を日本の制度に当てはめて考えたら」という仮定の説明であり、この事例が日本で法的に判断された、という意味ではありません。

case01・case02 が「うまく加工する側」の話だったのに対し、この case03 は「弱い加工が破られる側」の話です。「IDをハッシュ化すれば匿名化できる」という誤解が、なぜ・どう破れるのかを、攻撃者の視点で追体験します。用語は 用語集 を参照。

あらすじ

タクシー事業者が、運転者の走行履歴(誰が・いつ・どこからどこへ運んだか)を外部に公開することにしました。運転者本人が特定されないよう 匿名化したつもりで、履歴の 運転者ID をハッシュ化SHA-256)した「ハッシュ化済み履歴」を公開します。

ところが、ある利用者(攻撃者)が、次の2つの弱点を突いて、公開データの運転者IDをすべて復元してしまいました。

  1. IDの形式が公知だった — 運転者IDは 100-000-000 のような決まった桁形式で、しかも先頭の事業者コードは公表・固定。取りうるIDの候補が少ない(低エントロピー)。
  2. ハッシュ化が単純すぎた — 秘密鍵もソルトも使わない、素の SHA-256 を1回かけただけ。

攻撃者はまず、自分が乗ったタクシーの運転手のID(乗務員証で確認できる)を SHA-256 にかけ、公開データの中に同じ値を見つけました。これで「加工方法は無ソルトの SHA-256」だと確定します(弱点②)。次に、公知のID形式ですべての候補を総当りしてハッシュを計算し、ハッシュ→ID の対応表を作って、公開履歴の運転者IDをまるごと復元しました(弱点①)。

この事例の教訓 — 安易な匿名化は2つの意味で危険

運転者IDを「ハッシュ化しただけ」の安易な匿名化は、技術法律の両面で危険です。

  • 技術: 元の値の候補が少なく(低エントロピー)ハッシュが単純なら、総当りで元に戻せます(このデモで実演)。安全に使うには、ハッシュ・鍵・一般化などの技術の正しい理解が要ります。
  • 法律(日本の制度に当てはめて考えると): このデータは、匿名加工情報の作成基準(施行規則第34条)を満たさず、匿名加工情報とはいえません。かといって公表・第三者提供を前提にしている点で、仮名加工情報の取り扱いにも当てはまりません(仮名加工情報は原則として公表・第三者提供ができません)。どちらの制度にも乗らない中途半端な状態です。

→ 法令・委員会規則と、その実装例を正しく理解して運用する必要があります(詳しくは 結果)。

なぜ「ハッシュ化=匿名化」ではないのか

技術の面

ハッシュ関数は、同じ入力からは必ず同じ値を出します。裏を返すと、取りうる入力を片端から計算して一致を探せば、元の入力を言い当てられるということです。IDの形式が公知だと候補が絞れるため、この総当り(辞書攻撃/レインボーテーブル)が現実的な時間で終わってしまいます。ハッシュ化は仮名化の技術(安全管理措置)の一つではありますが、それだけで復元できない状態になるわけではありません

法律の面

(以下は、もし同種の事象を日本の制度に当てはめて考えたら、という仮定の整理です。参考にした事例そのものは海外の事例です。)

  • 匿名加工情報(case02): 再識別も復元もできないよう、連結符号の削除・特異な記述の削除・一般化などの基準(施行規則第34条)で加工したもの。本件は運転者IDをハッシュ化しただけで基準を満たさず、匿名加工情報とはいえません
  • 仮名加工情報(case01): 照合しなければ本人を識別できないように加工し、識別行為の禁止などの義務のもとで扱うもの。ただし原則として公表・第三者提供はできません。本件は外部公開を前提にしている時点で、仮名加工情報の取り扱いとも整合しません。

つまり本件は、匿名加工情報でも(適切に運用される)仮名加工情報でもない、制度上の位置づけがあいまいなまま公開されたデータです。制度の要件は最新のガイドライン・委員会規則で確認してください(参照資料)。

元データと公開データ

データ 内容 立場
運転者マスタ(drivers 運転者ID・氏名・営業所 事業者だけが持つ(非公開)
走行履歴(trips 運転者IDに紐づく乗降・料金の記録 事業者の内部データ
ハッシュ化済み履歴(公開) 走行履歴の運転者IDを SHA-256 に置換したもの 一般公開される

攻撃者が手にできるのは公開されたハッシュ化済み履歴だけ。それでも、上の2つの弱点から元IDを復元できてしまう——というのがこのデモです。詳細は次ページの データを見る へ。

出典: この事例は、実在の再識別事例を参考にした教材用のデモです。2014年、ニューヨーク市が公開したタクシー走行データは、運転者ライセンス番号等を MD5 でハッシュ化していましたが、番号形式が公知で候補が少なかったため、全候補の計算により短時間で再識別されました(V. Pandurangan ほか)。ハッシュ化が匿名化ではないことは、EU 第29条作業部会「匿名化技術に関する意見(05/2014)」等でも整理されています(参照資料)。