Lazy Diary @ Hatena Blog

PowerShell / Java / miscellaneous things about software development, Tips & Gochas. CC BY-SA 4.0/Apache License 2.0

顧客ブラックリストを提供するサービス

顧客ブラックリストを提供するサービスというのを思いついたがどうだろう。
まず、個人情報保護法では「特定の個人を一意に識別できる情報」が個人情報とされているので「Yes」とか「No」は個人情報ではない。
その上で、入力として個人の住所*1の256bitハッシュの先頭128bitを受け取り、出力としてブラックだったら「Yes」さもなくば「No」を出力するサービスを提供する。なお、入力に対応するデータがなかったら「No」を返す。

  • 住所はハッシュ化されているので、データベースの内容が外部に流出したとしてもそこから住所を得ることは難しい*2
  • 通常のアクセスではデータベース中のハッシュを返すことはないので、「ブラックリストに登録されている人のリスト」を作ることは不可能
  • 任意の住所を入力したとしても、「No」が返ってきたら「存在するがブラックでない住所」「そもそもデータベースにない住所」のどっちか分からない
    • ここで「Yes」が返ってくるとマズいかな?
  • たまたま被るハッシュがあった時のために多値を返せる
    • これを利用して、ハッシュの長さをわざと短くすれば「個人を特定できるかも」という疑いは逆に薄められる

で、これをどういう時に使うかというと、いかにも「そういう人」が難癖つけそうなサービスを(ある意味賭けで)サービスインして、その後案の定「そういう人」の猛攻でサービス停止に追い込まれた時に、住所リストを売る(これはアウト)代わりにハッシュのリストを売ることでちょっとでも投資額を取り返そう、とかそういうのに使えるんじゃないの?とか。

*1:数字などについてはある程度の正規化が必要かも

*2:住所の定義域はあんまり大きくないので、レインボーテーブルを作られると弱いかも