パスワード規則の古い常識に従うと逆に攻撃者に見破られてしまうという、そんな話です。
パスワード規則は失敗だった?
インターネットでいろいろなサービスを利用しようとすると、ユーザ認証を要求され、その都度ログイン・パスワードをどう決めたらいいかと悩むことって結構多いですよね。
推奨されるパスワードは「パスワードは複雑にすること(8文字以上で英数字記号を含むなど)」「パスワードは3ヶ月ごとに変更など定期的な変更」「パスワードの使い回しはしない」とかがあります。
複雑で定期的に変更して同じものは使えないワードって、、、そんなもん覚えられないってなりますよね。
結果、「覚えやすいワードの先頭を大文字、最後に記号と数字をつけて、数字を変更していく」、こんなパスワードが多いんじゃないでしょうか。
上に挙げた推奨のうち「パスワードは3ヶ月ごとに変更など定期的な変更」については、攻撃への耐性効果はそれほど高くなく、かえってパスワードの使い回しを助長するようになったとして、サービス側でも定期変更を要求しなくなってきています。
パスワード推測攻撃の変遷
パスワード推測攻撃には「辞書攻撃」と「総当り攻撃(ブルートフォース攻撃)」があります。言葉の通り、よく使われそうな文字列のリストや、文字列をしらみつぶしに試してログインを繰り返す攻撃です。
しかし、この方法では一つのログインIDに対して一定時間で多くのログインエラーが発生するため、攻撃が検知されやすくなり、アカウントロックなどで失敗する確率が高くなります。
攻撃者も新たな方法を考えます。
逆にパスワードを固定してログインIDを変えながらログインを繰り返す方法です。これはリバースブルートフォース攻撃といいます。
更に、攻撃者側の環境では、あるWebサイトで得られたIDとパスワードがリスト形式で出回っています。これを使って別のWebサイトで試すとかなりの確率で攻撃が成功するようです。これはリスト型攻撃といいます。
このリスト型攻撃に遭わないために、「パスワードの使い回しはしない」ことが推奨されているのです。
ではどうやってパスワードを管理するか
まずはパスワード管理ソフト(パスワード管理アプリ)を使う方法です。
検索すると有料・無料版、多く提供されています。
クラウド型のパスワード管理ソフトもあり、ログインするためマスターパスワードは絶対に漏れないようにする必要がありますが、必要な時にアクセスでき便利です。
別の方法として、フレーズを使うこともおすすめです。
例えば、フレーズを「私の息子は太郎で10才です」としてこれを記憶しておきます。
これを英語にして各単語の頭文字をとります。
「My son is Taro,and he is 10 years old.」
⇨「MsiTahi10yo.」
そして、ある文字を記号に変換することを記憶しておきます。例えば「s⇨$」だと
⇨「M$iTahi10yo.」
これにWebサイトを識別する文字を先頭につけます。例えば「Facebookはfb」だと
⇨「fbM$iTahi10yo.」
サービス側の動向として、最近ではIDとパスワード以外の情報を組み合わせる他要素認証が多くなってきています。
IDやパスワードは「記憶」による認証ですが、スマートフォンへのメッセージやトークンへのワンタイムパスワードなど「所持」による認証や「生体」による認証を組み合わせるものです。
パスワードの管理は、攻撃の方法によって更に変化が求められるため、個人情報を守るベースとして適切に見直していくことが大切です。