(EFF)情報理論とプライバシー入門

メインコンテンツへスキップ
Categories
< Back
You are here:
Print

(EFF)情報理論とプライバシー入門

著者:ピーター・エッカーズリー

2010年1月26日

私たちがある人物に関するある事実が、その人物を特定するものかどうかを考えたとき、その答えは単に「はい」か「いいえ」では済まないことがわかる。ある人物について私が知っているのが郵便番号だけなら、その人物が誰なのかはわからない。誕生日しか知らなければ、やはりその人物が誰なのかはわからない。性別しか知らなければ、その人が誰なのかは分からない。しかし、その人についてこれら3つの情報を知っていれば、おそらくその人物を特定できるのだ!それぞれの事実は、部分的にその人物を特定するものになる。

ある事実が、誰かの身元を一意に明らかにすることにどれほど近づいているかを測定できる数学的な量がある。その量はエントロピーと呼ばれ、しばしばビット単位で測定される。直感的には、エントロピーを「確率変数に存在する異なる可能性の数の一般化」と考えることができる。可能性が2つあればエントロピーは1ビット、4つあれば2ビット、という具合だ。エントロピーが1ビット増えるごとに、可能性の数は2倍になる。1

地球上には約70億人の人間がいるため、無作為に選んだ未知の人物の身元には、33ビット弱のエントロピーが含まれている(2の33乗は80億だ)。私たちが新しい事実を知ると、その事実によってその人物の身元のエントロピーが一定量減少する。その減少量を表す式がある:

ΔS = – log2 Pr(X=x)

ここで、ΔSはエントロピーの減少量(単位はビット)2であり、Pr(X=x)は、その事実がランダムな人物に当てはまる確率である。ちょっと遊び心で、いくつかの事実にこの式を当てはめてみよう:

星座:ΔS = – log2 Pr(STARSIGN=capricorn) = – log2 (1/12) = 3.58ビットの情報

誕生日:ΔS = – log₂ Pr(DOB=1月2日) = – log₂ (1/365) = 8.51ビットの情報

複数の事実を組み合わせても、新たな情報は得られない場合があることに注意しよう。例えば、すでに相手の誕生日を知っている場合、その人の星座を教えてもらっても、新たな情報は得られない。3

上記の例では、各星座と誕生日が一律に等しいと仮定した。4 この計算は、発生確率が不均一な事実にも適用できる。例えば、見知らぬ人の郵便番号が90210(カリフォルニア州ビバリーヒルズ)である確率と、40203(ケンタッキー州ルイビルの一部)である確率は異なる。2007年時点で、90210地区には21,733人が住んでおり、40203地区にはわずか452人、地球上には約66億2500万人が住んでいた。

自分の郵便番号が90210であることを知っている場合:ΔS = – log2 (21,733/6,625,000,000) = 18.21ビット

自分の郵便番号が40203であると分かっている場合:ΔS = – log2 (452/6,625,000,000) = 23.81ビット

自分がモスクワに住んでいると分かっている場合:ΔS = -log2 (10,524,400/6,625,000,000) = 9.30ビット

ある人物を特定するには、どれだけのエントロピーが必要か。

2007年時点で、地球上の全人口の中から特定の人物を特定するには、以下の情報量が必要だった。

S = log2 (1/6,625,000,000) = 32.6ビット。

控えめに見て、これを33ビットに切り上げることができる。

例えば、ある人の誕生日を知っていて、郵便番号が40203だと分かっている場合、8.51 + 23.81 = 32.32ビットとなる。これはその人物を特定するのにほぼ十分だが、完全には言い切れない。同じ特徴を持つ人々がいる可能性があるからだ。そこに性別を加えると33.32ビットとなり、おそらくその人物が誰であるかを正確に特定できるだろう。5

Webブラウザへの応用

では、このパラダイムはWebブラウザにどのように適用されるだろうか。実は、IPアドレスやトラッキングクッキーといった、Webブラウザの「識別」特性としてよく議論されるものに加え、ブラウザ間にはそれらを見分けるために利用できる、より微妙な違いが存在することがわかっている。

その代表的な例が「User-Agent」文字列だ。これにはブラウザの名前、OS、正確なバージョン番号が含まれており、アクセスするすべてのWebサーバーに送信される。典型的なUser-Agent文字列は次のようなものだ:

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6

見てわかるように、そこにはかなりの量の「情報」が含まれている。実は、その「情報」はネット上で異なる人々を区別するのに非常に役立つことがわかっている。別の記事で報告したように、ユーザーエージェント文字列には平均して約10.5ビットの識別情報が含まれており、これは、ある人のブラウザをランダムに選んだ場合、他のインターネットユーザーのうち、そのユーザーエージェント文字列と一致する人は1,500人に1人しかいないことを意味する。

EFFのPanopticlickプロジェクトは、ブラウザの他の特性によってどれだけの識別情報が伝達されているかを測定する、プライバシーに関する研究活動だ。Panopticlickにアクセスして、自分のブラウザがどれほど特定されやすいかを確認し、我々の研究に協力してほしい。

1. エントロピーとは、実際には可能性の数を数えることに対する一般化であり、可能性の中には他のものよりも発生しやすいものがあるという事実を考慮したものである。この式のわかりやすい解説はこちらにある。

2. この量は、観察結果の「自己情報」または「驚き」(surprisal)と呼ばれる。これは、新しい情報がどれほど「驚くべき」ものか、あるいは予期せぬものであるかを測る指標だからだ。実際には、観察されている確率変数(例えば、人の年齢や居住地など)に関して測定され、この観察結果を踏まえて、その人物の身元に関する新たな、低いエントロピーを算出することができる。

3. 事実を組み合わせたときに何が起こるかは、それらの事実が独立しているかどうかによって決まる。例えば、ある人の誕生日と性別を知っている場合、その人物の身元に関する情報は8.51 + 1 = 9.51ビットとなる。これは、誕生日と性別の確率分布が独立しているためだ。しかし、誕生日と星座については同じことが言えない。もし誰かの誕生日を知っているなら、その人の星座もすでに分かっていることになり、星座を教えられても私の情報は全く増えない。私たちは、すべての観測変数におけるその人物のアイデンティティの条件付きエントロピーの変化を計算したいのだが、それは、新しい事実の確率を、すでに知っているすべての事実に条件づけることで行うことができる。したがって、私たちは ΔS = -log2 確率(性別=女性|誕生日=1月2日) = -log2(1/2) = 1 となり、ΔS = -log2 確率(星座=山羊座|誕生日=1月2日) = -log2(1) = 0 となることを確認できる。その中間的なケースも考えられる。ある人が12月生まれであることを知っていて、さらにその人が山羊座であると知った場合、新たな情報を多少は得るが、誕生月を知らなかった場合ほど多くはない。ΔS = -log₂ (山羊座である確率 | 誕生月 = 12月) = -log₂ (10/31) = 1.63ビットとなる。

4. 実際、誕生日の例では、閏年の2月29日に生まれた人がいる可能性も考慮すべきだった。その場合、ΔS = -log2 Pr(1/365.25)となる。

5. 注意深く読んでいる人なら、「あれ、それっておかしい。郵便番号40203の地域で、特定の誕生日を持つ人が1人しかいない場合もある。その場合は性別を知らなくてもその人物を特定できるし、40203の地域で10人全員が1月2日生まれである可能性も(可能性は低いものの)ある」と指摘するかもしれない。

https://www.eff.org/deeplinks/2010/01/primer-information-theory-and-privacy

Table of Contents