安全にパスワード運用するなら、覚えるのをやめよう

先日、ファイル転送サービスの「宅ファイル便」による、個人情報流出事件がありました。

この事件で問題だったのは、流出したパスワードが「平文(ひらぶん)」であったこと。この平文、どういう事でどんな危険性があるのでしょう。また、安全にパスワードを運用するには、どうしたらよいでしょう。

ともすたのチャンネル登録

平文と、ハッシュ化

まずここで「平文」というのは、サービスに入会するときに決めたパスワードが「そのまま」記録されている状態を言います。逆に、現在ほとんどのサービスではパスワードを暗号にして記録しています。特にその暗号は、元に戻すことができない「ハッシュ」と呼ばれるいわゆる、不可逆な暗号方式で暗号化されています。

この「ハッシュ」は、万が一流出してもそのままでは元に戻すことができないので、盗んだ相手もそのサービスにもログインできませんし、他のサービスのパスワードが分かってしまうと言うこともありません。

それが平文で登録されてしまっていると、流出しただけでパスワードを分かってしまい、それによって同じパスワードを使っている他のサービスにログインされてしまう恐れが出てきてしまうという2次被害が発生するのです。

平文かどうかを見分ける方法

平文で記録しているサービスは、その他の安全性にもかなり不安が残るため、利用しない方が良いでしょう。では、利用しているサービスが平文かどうかを判定することはできるのでしょうか? 一応「パスワードを忘れた方」のページがあれば、推測することができます。

ここに、自分のメールアドレスを入れて案内のメールが届いた場合、その内容から安全性が3段階に分かれます。

  • パスワードを変更するためのURLが送られてくる→○
    メールにパスワードが書かれて折らず、パスワード変更の案内が書かれている場合は、安全性が高いと判断できます。おそらくパスワードはハッシュ化されていますし、セキュリティの意識も一般的です。
  • ランダムで変更されたパスワードが送付されてくる→△
    ランダムでパスワードを生成し、メールでお知らせしてくるサービスの場合、おそらくハッシュ化はされています。しかし、パスワード変更のしくみを作るのが面倒だったり、人手が足りないなどでこの手続きを簡素にしてしまっています。また、電子メールというのは安全性が非常に低いコミュニケーション手段なので、ここにパスワードを書いてしまうのは安全性が高いとは言えません。
  • あなたの設定したパスワードはこれです、と設定したものが送られてくる→×
    最後は、設定したパスワードが送られてきてしまう場合。これは、完全にアウトです。設定したパスワードが分かるはずがないのに記録が残っているという事は、平文で記録されています。このようなサービスに遭遇した場合は、すぐに退会手続きを取ると良いでしょう。なお、退会する場合はパスワードを「他で使っていないパスワード」に変更してから退会しましょう。退会をしてもデータが残ってしまい、流出したときに一緒に退会者のデータも流出することがよくあります。

パスワードの定期変更は無意味

では、自衛として安全なパスワード運用をする場合に、定期変更というのが思い浮かびます。実際、オンラインバンキングなどではしょっちゅうパスワードの変更を促すサービスもあります。しかし、これも安全性への意識が中途半端で時代遅れな感じです。

まず、なぜていき変更するべきと言う論があるのかと言えば、パスワードの総当たり攻撃を防ぐためです。プログラムによってパスワードを「aaa」「aab」「aac」…「zzz」と、1文字ずつずらしながらログインを試みて、いつか合致するところを探すという攻撃を防ぐために、定期的に変えるという方法がありました。

しかし今は、例えば何度かログインを試みて間違えたら、ロックをかける「試行回数制限」や、同一のIPからの複数回の間違いでその IP自体をロックするなど、防ぐ手段はあるため、定期的な変更はしてもしなくても安全性は変わらないというのが一般的です。また近年は、2段階認証が一般的で、スマホや専用ハードなどを使って本人を認証します。

これらが実装できておらず、ユーザーの定期変更に頼っているサービスはそれ自体が危険です。

安全なパスワード運用をするには

安全なパスワードの一般的な知識としては、次の3点があります。

  • 同じパスワードを、他サービスで使わない
  • パーソナルデータと関連したパスワード(誕生日など)は使わない
  • 推測されやすい、数字だけ等は使わない

しかし、そのようなパスワードを複数覚えておくのは大変です。そこで、結論です。

パスワードを覚えるのは辞めよう

パスワードは、自分で覚えられるようなパスワードではそもそも安全性が低いです。そこで、専用のソフトウェアに任せてしまいましょう。次のようなソフトがあります。筆者は「LastPass」を利用しています。

これらを使うと、サービスごとに複雑なパスワードをランダムで生成し、クラウドで保管してくれます。次回ログインをするときは、ソフトやブラウザーの拡張機能を起動することで、自動でログインされるというしくみです。

ただし、このソフト自体のパスワードは覚えなければならないので、これだけは複雑なものを死ぬ気で覚えましょう。これにより、安全なパスワード運用が可能です。

また合わせて、2段階認証が利用できるサービスは必ず利用しましょう。また、オンラインバンキングなどは近年、PCから利用するよりもスマートフォン・スマートデバイスから利用した方がより安全です。このあたりをうまく利用すると良いでしょう。

 

この記事を書いた人

たにぐち まこと

『よくわかるPHPの教科書』や『マンガでマスター プログラミング教室』の著者。 ともすた合同会社で、プログラミング教育やこども向けの講座などを Udemyや YouTubeで展開しています。