コンテンツにスキップ

case04(再構築デモ): データを見る(公表統計と隠れた個票) — 2/7

再構築デモの流れ

  1. 全体概要
  2. データを見る
  3. 弱点の評価
  4. 攻撃の設計
  5. 攻撃の仕様
  6. 実装
  7. 結果確認

統計機関だけが持つ「個票」と、外部に「公開した統計表」を見比べます。攻撃者が手にできるのは公表統計表だけです。

公表された統計表(一般公開)

統計機関は、住民7人を 総数・性別・人種・配偶関係・その交差・年齢帯 の観点で集計しました。全 14 区分のうち、人数の少ない 7 区分は伏せ(秘匿し)、残る 7 区分だけを数値付きで公表しています。

公表された 7 区分(数値あり)

表番号 グループ 人数 中央値 平均
1A 総人口 7 30 38
2A 女性 4 30 33.5
2B 男性 3 30 44
2C 黒人 4 51 48.5
2D 白人 3 24 24
3B 既婚の成人 4 51 54
4A 黒人女性 3 36 36.7

伏せられた 7 区分(秘匿・数値は非公開)

「人数が少ないから伏せれば安全」と考えて公表しなかった区分です。

表番号 グループ
3A 独身の成人
4B 黒人男性
4C 白人男性
4D 白人女性
5A 5歳未満
5B 18歳未満
5C 64歳以上

公表しているのは、人数・中央値・平均という「まとめた数字」だけ。しかも半分の区分は伏せてあります。一見、個人は分かりません。 しかし次ページ以降で見るとおり、公表した 7 区分の数字を連立させると個票が定まってしまいます(伏せた 7 区分が無くても、です)。

隠れた個票(統計機関だけが持つ・非公開)

攻撃者は見られませんが、答え合わせ用に真の個票を示します(residents)。属性は原典(米国センサスの例)の区分をそのまま用いた合成データです。

住民ID 年齢 性別 人種 配偶関係
P01 8 女性 黒人 独身
P02 18 男性 白人 独身
P03 24 女性 白人 独身
P04 30 男性 白人 既婚
P05 36 女性 黒人 既婚
P06 66 女性 黒人 既婚
P07 84 男性 黒人 既婚

公表統計表は、この個票から計算されています(例: 総人口の平均 38 = 7人の年齢の合計 266 ÷ 7)。攻撃者はこの表を逆にたどって個票を復元します。

flowchart LR
    R["個票(非公開)<br/>住民7人"] -->|集計| P["公表統計表<br/>人数・中央値・平均"]
    P -.->|再構築攻撃<br/>連立制約を解く| R2["復元された個票<br/>(攻撃者が算出)"]

合成データ(固定値)の扱いは デモデータについて を参照。