パスワードのエントロピー
ある事象がどれぐらい起こりにくいかを示す尺度を情報量という
ランダムに「0」「1」が生起するとき、生起確率は$ 1/2で、情報量はそれぞれ$ -log(1/2)=1(ビット)である。
平均情報量をエントロピーと呼び、この場合は1/2×1 + 1/2×1 = 1(ビット)になる。 「0」の生起確率が$ 1 / 8, 「1」の生起確率が$ 7/8であれば、エントロピーは $ -1/8 * log(1/8) -7/8 * log(7/8) = 0.5436 になる
ほとんどの場合「1」なのだから平均情報量が1ビット以下だということになる
言語$ Xの単語「aaa」と「bbb」の生起確率がともに$ 1/2であるとき、その言語のエントロピーは1だと表現するようだ
英単語の出現頻度から情報量を計算してみると11.8ビットになるらしい
一方、aからzまでの文字がランダムに生起する場合、1文字のエントロピーは4.7ビットになる
.$ log(26) = 4.7
単語の平均長4.5をかけると21.1ビットになる
21.1ビット表現可能なのに実際のエントロピーが11.8しかないのは英単語がランダムではないからである
さて、パスワードについてもエントロピーという概念をよく使うようである aからzまでの8文字を使うパスワードは本来$ {26}^8通りの組みあわせがあり、完全にランダムな文字列が使われるならエントロピーは$ log({26}^8) = 37.6ビットになる
しかし実際はパスワードはランダムではないだろうから、エントロピーがどれぐらいなのか? が問題になるらしい
いろいろな根拠から、8文字のパスワードのエントロピーは20ビットぐらいだと考えられているようである
もちろんユーザが実際にどういうパスワードを使っているかなどわからないし、ずっと同じだという保証もないのでいい加減なものではある
誰もが同じ画像を選択するような方式だとエントロピーが小さくなる = 認証手法として良くないことになる
誰もが同じ画像を選択するかどうかなんてわからないのだが...
「パスワード(or 別の認証方式)のエントロピー」という表現が妥当なのかよくわからないが論文ではそう表現されている
新しい認証方式を考えた場合、そのエントロピーを計算することは不可能なはず
使われ方がわからないのだから.
とすると「この方式はエントロピーが大きいからよい認証手法だ」などと主張することは不可能だと思うのだが...