システムニュース

Androidの指リストの強度を調べてみた

日本でもAndroidがiPhoneのシェアを抜いたらしいですが、確かに最近、Androidのスマートフォンをもってる人が増えてきましたね。
僕もケータイをAndroidに変更したのですが、「指リスト」というフリックで入力するタイプのパスワード方式が気になったので、すこし調べてみました。

chart.jpg

左がよくある従来の暗証番号方式で「ロックNo」といいます。右がフリックで入力する「指リスト」です。
◎の部分のポイントをつなげてできる一筆書きのような軌跡パターンがパスワードになります。

「お、かっこいい」と思って、使っているのですが、よく考えるとちょっと気になる点がでてきました。

まず、重複したポイントが選べません。
最初に選べる選択肢は9種ですが、次に選べる選択肢は8種、その次は7種というふうにどんどん減ります。

さらに、場所によっては次に選択できないポイントがあります。
例えば中心ポイントから始めた場合は、次に全ポイントを選ぶことができますが、左上ポイントから始めた場合は、次に右上・左下・右下のポイントは途中のポイントが邪魔になり選べません。
※途中のポイントがすでに選択されている場合は選べます。

「これって結構、選択肢がすくないんじゃないの?」と思って調べてみました。
とり合えず、書き出すとこんな感じです。(2手目まで)

pass.png


予想以上に数があったので、自力計算は断念してあとはプログラムに任せようと思います。
プログラムはPHPで書いてみました。→ パスワード数をカウントするプログラム

うまく動けば、389,112 という数字が表示されると思います。
これが指リストで使えるパスワードの総数です(4桁未満のものはパスワードとして使えないため省いています)。

これをグラフにしたものが下です。
比較のために従来の暗証番号方式を並べてみました。
※横軸はパスワードの桁数、縦軸は対数になっています

WS000062.JPG

グラフから指リスト5桁と番号方式4桁はほぼ同じレベル、ここからどんどん差が広がって、指リスト9桁にしても番号方式6桁より弱いことが分かります。
パスワードの強度を気にするのなら暗証番号方式が安心です。

(teruhisa)






Webシステムのツボとは

オープンソースの紹介や、プログラミング講座、フリーソフトのレビューなど、Webエンジニアが送る、つれづれ日記。
【隔週金曜日更新】

運営会社:株式会社ジーピーオンライン

RSSを購読する

Monthly Archive