メニュー

合成データと匿名化の違いを整理する

合成データと匿名化は目的も手順も別のものです。作られ方、元の記録との関係、再識別の余地、そしてテスト環境でどちらを選ぶかの判断を整理します。

公開日

  • テストデータ
  • プライバシー

合成データと匿名化は、どちらも「実在の人物の情報をそのまま使わない」ための手段ですが、成り立ちが違います。片方は元の記録から出発し、もう片方は元の記録を使わずに作ります。この違いは、テスト環境でどちらを選べるかを大きく左右します。

二つの言葉は何を指しているのか

合成データは、実際の利用者の記録を使わずに新しく作った値の集まりです。氏名、住所、生年月日の組み合わせは、実在の人物と対応していません。作る手順は、乱数から組み立てる方法、規則に沿って組み立てる方法、実在の記録の分布をまねて作る方法に分かれます。

匿名化は、実在の記録から個人を特定できる部分を取り除く作業です。出発点が実在の記録である点が合成データと異なります。取り除いた結果が本当に特定できなくなっているかどうかは、別に評価しなければなりません。

どちらも「テスト用の値」として使えますが、作られ方が違うため、抱える危険も違います。ここではまず、元の記録との関係を押さえます。

元の記録との関係はどう違うのか?

合成データは元の記録を必要としません。一件も実データを持ち込まずに、必要な件数だけ用意できます。この性質は、開発環境に実データを置けない場面で決定的な利点になります。

匿名化は元の記録を必要とします。手元に実データがあり、それを安全に使える立場であることが前提です。取り除く作業の前後で、元の記録を扱う場所と権限が必要になります。

観点 合成データ 匿名化
出発点 実在の記録を使わない 実在の記録から始める
必要な権限 少ない 実データを扱う権限が要る
件数の調整 自由に増やせる 元の記録の件数に縛られる
分布の再現 作り方次第 元の記録をそのまま反映する

表の最後の行が、実務では最も効いてきます。匿名化した値は元の記録の偏りをそのまま引き継ぎます。合成データの偏りは、作り方の設計に依存します。

再識別の余地はどちらが小さいのか?

一般には合成データのほうが小さくなります。元の記録との対応が存在しないためです。ただし、作り方が悪いと事情が変わります。実在の記録を見ながら一件ずつまねて作れば、元の記録に近い値が生まれます。

匿名化では、対応が完全に切れているかを確かめる必要があります。氏名を消しても、生年月日、郵便番号、性別の組み合わせだけで個人が絞り込める場合があります。稀な属性の組み合わせは、それ自体が識別の手がかりになります。

評価の観点は三つです。単独で特定できるか、複数の項目を組み合わせて特定できるか、そして他の情報と突き合わせて特定できるか、です。三つ目は自分の手元だけでは判定できないため、外部の情報を持たない前提を置けるかどうかが分かれ目になります。

テスト環境ではどちらを選ぶべきか?

多くの場合、合成データのほうが扱いやすい選択です。実データを開発環境に置かないという前提を、そのまま守れるためです。個人データの保護の枠組みを意識する場面でも、実データを持ち込まない設計は説明が簡単になります。

匿名化を選ぶ場面もあります。元の記録の分布をそのまま再現したい場合や、実際の記録にしか現れない組み合わせを確認したい場合です。この場合も、加工した結果をどう位置付けるかを決めておきます。加工の仕方によっては、依然として個人データとして扱う必要があります。

判断の順序は、まず実データを持ち込めるかどうか、次に分布の再現が必要かどうか、最後に再識別の評価を誰が行うか、です。最初の問いで「持ち込めない」となれば、選択は合成データに決まります。

実務ではどう組み合わせるのか

どちらか一方に決める必要はありません。実データを持ち込めない開発環境では合成データを使い、実データを扱える統制された環境でのみ匿名化した値を使う、という分け方が現実的です。

組み合わせる場合に気を付けるのは、境界を越えて値が移動しないことです。匿名化した値を開発環境へ複製すると、統制の外に出てしまいます。環境ごとに使える値の種類を決め、移動を防ぐ仕組みを置きます。

件数の設計も分けて考えます。合成データは必要なだけ増やせるため、境界の確認に必要な件数を自由に用意できます。匿名化した値は元の記録に縛られるため、稀な場合が含まれないことがあります。足りない場合は、合成データで補います。

ツールで合成データを用意する

当サイトの身元生成ツールは、実在の記録を使わずに身元情報を組み立てます。国と地域を選び、識別キーを固定すれば、同じ値の集まりを繰り返し呼び出せます。テストの前提として値を固定したい場面に向いています。

生成される身元情報はテスト専用の合成データであり、実在の人物になりすます目的には使えません。実在の確認や本人確認を通す目的にも使えません。あくまで、入力欄や判定の動作を確かめるための値として扱ってください。

開発者向け: どちらを記録に残すか

値そのものより、その値がどちらなのかを記録に残すことが重要です。同じ見た目の値でも、合成データなのか匿名化したものなのかで、扱える場所と保存できる期間が変わります。

記録には、出所と作り方を書きます。合成データなら、どの識別キーから作ったか、どの版の作り方を使ったかです。匿名化したものなら、元の記録の範囲と、取り除いた項目と、評価を行った時点です。この三つが欠けると、後から見た人が扱いを判断できません。

テストの中で両者を混ぜない仕組みも要ります。置き場を分ける、名前に印を付ける、型で区別する、といった方法があります。混ざった値は、どちらとして扱うべきかが決まらず、結果として最も緩い扱いになります。個々の項目をそろえる考え方は身元データの整合性で扱っており、開発環境に実データを置かない理由はGDPR テストデータで整理しています。

次のステップ

まず、手元のテスト値がどちらに当たるかを一つずつ確かめてください。実在の記録から出発したものは匿名化、使わずに作ったものは合成データです。区別が付かない値があれば、その時点で記録が足りていません。身元生成ツールで生成した値から始めれば、出所がはっきりした合成データを用意できます。

続けて読む

オンライン身元・テストデータ生成ツールの関連記事