結局、パスワードの定期的な変更は必要なのか?~NISTのガイドライン草案から考える~
NIST「電子認証に関するガイドライン」の2024年8月の公開草案では、パスワードを定期的に変更することをユーザに要求“してはならない”としています。それはなぜか、また認証の安全性を高めるにはどのようにすればよいのかを解説します。
パスワードは定期的に変更するもの?
「前のパスワードを設定してから90日が経過すると、パスワード変更の通知が表示され、7日以内に変更しないとアカウントがロックされます」。業務用パソコンのアカウント管理で、現在もこのような運用を行っている法人組織は多いのではないでしょうか。パスワードの安全性を高めるために、大文字・小文字・数字・記号を組み合わせるなどした一定以上の長さの文字列を使用するほか、使い回しの禁止や定期的な変更などの運用面の取り組みも長らく行われてきました。
しかし実は、すでに2017年6月に米国立標準技術研究所(以下、NIST)が公開した「電子認証に関するガイドライン(NIST Special Publication 800-63B)」において、パスワードの定期的な変更をユーザに要求すべきではない、と記載されています。このガイドラインは、管理者やサービス提供事業者を対象とした、さまざまな電子認証に関するガイドラインであり、パスワードはその一部です。
「定期的な変更を要求すべきではない」という表現はセキュリティ業界で話題になり、一部メディアでも報じられたため、記憶にある方もいらっしゃるでしょう。日本の総務省でもこれを受けて、一般の利用者向けの「国民のためのサイバーセキュリティサイト」にある「安全なパスワードの設定・管理」のページでも「定期的な変更は不要」と記載しています。このように、一部において提唱されているものの、組織によっては長年の慣行を覆すには至っていないのが実情なのかもしれません。
NIST「パスワードの定期的な変更を要求してはならない」
2024年8月21日にNISTは「NIST Special Publication 800-63B-4」の第2版公開草案を公開しました。そのなかでは、さらに一歩進んで、パスワードを定期的に変更することをユーザに要求“してはならない”、という強い表現に変更されています。パスワードを定期的に変更することの必要性は、この数年間セキュリティ業界で議論されてきましたが、この議論に終止符が打たれることになるかもしれません。
ではなぜ、定期的な変更が必須ではないと考えられているのでしょうか?
前述の総務省のサイトでは、「むしろ定期的な変更をすることで、パスワードの作り方がパターン化し簡単なものになることや、使い回しをするようになることの方が問題となります。定期的に変更するよりも、機器やサービスの間で使い回しのない、固有のパスワードを設定することが求められます。」と述べています。
確かに、流出していないパスワードを変更することでむしろリスクを高めるよりは、そのまま使い続けたほうが安全といえます。
このほかにも、ガイドライン草案では次の推奨事項も挙げています。
●パスワードの最大長を少なくとも64文字まで許可すべきである。
●パスワードに対して他の構成ルール(異なる文字タイプの組み合わせを要件にするなど)を課してはならない。
草案の付録でも、パスワードが短すぎるとブルートフォース攻撃や辞書攻撃を受けやすくなる、ユーザは合理的な範囲内で好きなだけ長いパスワードを作成するよう推奨されるべきだとも述べています。複雑にする以外のリスク軽減策※は最新のブルートフォース攻撃の防止に効果的であると説明し、複雑化は不要と判断したとみられます。より複雑にするよりも、より長くすることに重点を置いていると言えるでしょう。
※草案では、「ブロックリスト」に含まれる過去に漏洩したことが確認されているパスワードを避けること、パスワードのハッシュ値の安全な保管、パスワード生成ツールの利用、レート制限によりログイン試行回数を制限することを挙げています。
また、複雑すぎるパスワード要件は結果的に脆弱性につながりかねないとも書かれています。ユーザのフラストレーションがたまって要件を回避したり、パスワードが覚えられないため、保管が行き届かないメモ書きや、安全でない方法で電子的に保存したりする可能性があるというわけです。
パスワードの定期的変更も複雑化も、人間の心理や行動様式から生まれる脆弱性をはらんでいます。NISTはそれを危惧し、回避する必要があると考えているようです。
参考記事:
・「アカウントリスト攻撃」とは?(ブルートフォース攻撃や辞書攻撃についても説明)
・攻撃グループ「Pawn Storm」が有力な組織に対してステルス型のブルートフォース攻撃を展開
パスワードの変更が必要なケースとは?
前述の草案の「パスワードを定期的に変更することをユーザに要求してはならない。」には続きがあり、「ただし、認証システムが侵害された証拠がある場合は、ユーザに変更を強制する必要がある。」と書かれています。これは見逃されがちですが、実は非常に重要なポイントです。
サイバー攻撃などでパスワードが流出した可能性があったり、自分のアカウントに不正ログインの形跡があったりした場合にパスワードの変更が必要であることは言うまでもないでしょう。パスワードの定期的な変更にある程度意味があると考えられる状態として、ユーザが自身の認証情報が流出したことを認識していない場合があります。近年ランサムウェア攻撃などにより、組織が保持するユーザの情報が攻撃者に窃取され、流出する被害が相次いでいます。サービス提供事業者がサイバー攻撃を受けて登録ユーザの情報が流出したことに利用者が自発的に気づくのは難しいため、事業者はいち早くユーザに被害を通知し、パスワード変更の必要があることを知らせなければなりません。
つまり事業者側はユーザに定期的な変更を求めない反面、認証情報が流出したことをユーザにタイムリーに知らせる必要があるということです。
まとめと推奨事項
ガイドラインでは「パスワードはフィッシング攻撃に対して耐性がない」と記載されています。どんなに複雑なパスワードも、フィッシングで窃取されては意味がありません。前述のようにランサムウェア攻撃などによる流出のリスクもあります。もはや、パスワードはセキュリティを担保していない、IDとパスワードだけで本人確認する(ベーシック認証)には限界があるという状況に私たちは置かれていることを認識すべきです。
ガイドラインには、強度に応じてAAL1、AAL2、AAL3のように認証を分類したAAL(Authenticator Assurance Level)についても説明があります。パスワード以外の認証技術を導入し、より高いAALを目指すことを推奨します。
以上を踏まえ、事業者側がとりうる対策をまとめます。
●許可されるログイン試行回数を制限:ブルートフォース攻撃では、攻撃者がIDとパスワードの組み合わせをすべて試してログインを試みるため、ログイン試行回数制限が有効。
●サービスに多要素認証・多段階認証を導入:仮にIDやパスワードが流出しても、多要素・多段階の認証があれば不正ログインを阻止できる(同じパスワードを2回入力する認証方式はセキュリティ的な効果はない)。多要素認証のひとつであるパスキーは、スマートフォンによるユーザの生体認証などを用いてログインする仕組みのため、固定のパスワードが存在せず、フィッシングやパスワードリスト攻撃対策として有効。
●流出時に迅速に通知する体制整備:ユーザの認証情報などが流出した場合、早期にユーザに通知する仕組みを構築。
また、そもそも提供するサービスが侵害されないよう、適切に対策を講じることは前提です。
一方、利用者側でも、サービスに多要素・多段階の認証など追加のセキュリティが導入されている場合には、必ず有効にしてください。逆に、現時点で追加の認証が提供されていないサービスはセキュリティ的に問題があると言って差し支えないでしょう。また、サービス別に長いパスワードを考えたり記憶したりするのはほとんど不可能なので、パスワード生成ツールやパスワード管理ツールの利用をお勧めします。
また昨今では、そもそもパスワードを使わないパスワードレス認証も注目されてきています。例えば、マイクロソフトではすでに2021年9月からマイクロソフトアカウントのパスワードレス化に対応しています。
パスワードレス認証とは、認証において重要な3つの要素「知識情報・所有情報・生体情報」のうち、主にパスワードのような知識情報ではなく、所有情報と生体情報を活用するものです。本人しか所有していないスマートフォンやタブレットを用い、認証アプリで生成されるコードやワンタイムパスワードなどによって認証したり、指紋・虹彩・静脈などの生体情報を読み取ることで認証したりします。広く導入されるのはまだ先かもしれませんが、パスワードに起因するリスクを回避でき、煩雑なパスワード管理の必要もなく、都度パスワードを入力してログインする必要がないため効率化も向上することが期待されます。
パスワードに関連したリスクや様々な認証技術が登場してきた背景には、サイバー犯罪者の攻撃手法の変化が見て取れます。現在、有効かつ安全と考えられている技術でも、将来新たな攻撃にさらされる可能性は十分にあります。このため、常に最新のサイバー脅威に留意するとともに、対策をできるだけ早く講じることが、事業者にも利用者にも必要なことだと言えるでしょう。
<関連記事>
・「アカウントリスト攻撃」とは?(ブルートフォース攻撃や辞書攻撃についても説明)
・攻撃グループ「Pawn Storm」が有力な組織に対してステルス型のブルートフォース攻撃を展開
・パスキーとは?Apple、Google、マイクロソフトが採用する新たな認証の仕組みを解説
Security GO新着記事
ソブリンクラウドとは?プライベートクラウドやガバメントクラウドとの違いを解説
(2024年11月5日)
VPN機器の脆弱性はなぜ管理しづらいのか~ネットワークエンジニアの立場から探る
(2024年11月1日)