パスワード規則の古い常識【パスワードを適切に管理しよう】

f:id:aolaniengineer:20191208094234p:plain

パスワード規則の古い常識に従うと逆に攻撃者に見破られてしまうという、そんな話です。

パスワード規則は失敗だった? 

インターネットでいろいろなサービスを利用しようとすると、ユーザ認証を要求され、その都度ログイン・パスワードをどう決めたらいいかと悩むことって結構多いですよね。

推奨されるパスワードは「パスワードは複雑にすること(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やパスワードは「記憶」による認証ですが、スマートフォンへのメッセージやトークンへのワンタイムパスワードなど「所持」による認証や「生体」による認証を組み合わせるものです。

パスワードの管理は、攻撃の方法によって更に変化が求められるため、個人情報を守るベースとして適切に見直していくことが大切です。