パスワードは記憶に頼ってはいけない

ネットワーク管理者の戯言で、

  1. パスワードは記憶しろ
  2. パスワードは難しくしろ

というものがある。
しかし、これは無理な注文、というものだ。


@ITのこの記事が元ネタ。
http://www.atmarkit.co.jp/fnetwork/rensai/netool12/keypass01.html

戯言の戯言たるゆえん

人間は忘れる。
忘却は人間に与えられた、生きるための能力。
記憶しろ、と言われても普段使わないものは、覚えられない。
ましてや難しいパスワードなど、覚えられるはずがない。
できないことを注文するのは、戯言でしかない。


では、どうするか?

充分な強度のパスワードを用意する

充分な強度のパスワード、これの判定は難しい。
例えば、銀行の暗証番号は、4桁の数字という非常に簡単なものだ。
なぜこれで用が足りるかと言えば、三回しか使えないから。
確率論として考えた場合、1万通り(実際にはもっと少ないが)の中から、
3回で当てられる確率は、万が一、よりちょっと多い、万が三弱。


ただ、実際には、完全なランダムで選べる人はいないので、
もっと確率は上がってしまうものですけど。
とはいえ、三回、という制限が強度を充分なものにしています。


では、何回も試行できてしまうパスワードの強度はどう確保するか?
これは、場合によりけりです。
まず、限られた端末からしかアクセスしない場合。
この場合のお勧めは、元ネタで紹介されているようなツールを使うことです。
そして、目一杯難しいパスワードにする。
(許される最大の長さ(9文字以上が望ましい)で、英数記号混じり)


しかし、頻繁に使うものをツールに覚えさせると、毎回のツール起動が鬱陶しい。
それに、ツール自身のパスワード、ログインパスワードの場合、
この手は使えません。
この場合のお勧めは、何種類かの言語を混ぜて、自分の好きなフレーズにする。
例えば、「私はプルートが好き!」とかなら、
「I ha Pluto ga Love!」とか「watashi love Pluto!」とかにする。
(スペースが使えない場合は、単語の先頭を大文字にする、とか)
また、数字を混ぜるなら、アルファベットを置換する手も。
くまのプーさん」は通常「Winnie the Pooh」ですが、
「kuma the P00h」(オーを数字のゼロに)とか。
「9ma the Pooh」とか、「W1nn1e the puu」とか。
または、「kuma the pooh」をホームポジションをずらして入力すると
「i7jq 5y3 099y」。(タッチタイプが完璧な人ならありかもね)


なお、英単語でアルファベットを数字にするのは、
結構知られている手法なので、日本人なら、ローマ字表記で、
語呂合わせ的な数字置換の方が、攻撃され難いです。
アルファベットで打つ、と思うと、英語にしやすいですが、
パスワード、パスフレーズは、英語以外がお勧めです。

定期的に変更する

とても面倒ですが、定期的に変更しましょう。
変更を習慣付けることが重要です。
たまに変えればいいや、という意識ですと、
結局全く変えないことになります。
毎月15日はパスワードの日、とか決めて、
破られたくないパスワードは総入れ替えしましょう。


ということで、こんなツールが欲しいな。

  1. ランダムパスワード生成
    • できれば、文字はグルーピングして、グループから何文字以上の設定可
  2. フレーズパスワード生成
    • 構文と選択肢の組み合わせを提示
  3. 登録からの日数表示
  4. パスワード毎の警告期間設定
    • ものによっては、毎月変える気はないし。ずーっと変えないようなのも、、、。
  5. 可能ならJava製(OS依存したくない、、、自宅はLinuxだし)

あとは、、、
パスワードのグルーピング等、管理・表示にちょっと希望があるかな。
作るか?