パスワード定期変更問題の現在地
PPAPと並んで「セキュリティの旧習」と名指しされるのは、きっと「パスワードの定期変更」でしょう。これは2003年に米国立標準技術研究所(NIST)が発行した「SP800-63」にも盛り込まれたルールだったものの、2017年版である「SP800-63-3」ではするべきではないこととされました。
2018年3月には総務省が、同4月にはMicrosoftが同じ旨の発信をしています。しかし当時の報の中にある、次のような一文が胸に刺さります。
実際のところ、2019年のJIPDECの調査結果では54.5%、2020年のHENNGEの調査結果では65.7%がパスワードの定期変更が必要と回答しています。それ以降の数字をもっていませんが、私自身、つい先日「パスワードの定期変更」という話題を耳にしています。5年ぐらいではまだ新しい常識がいきわたっていないという事になりますが、そのリスクとネックはなんでしょう。
その定期変更ルールはメンテされているか?
提唱者であるBill Burr氏は、定期変更ルールはあるべき形で運用されるには難しすぎたと言っています。ですがまず、いまそこにある定期変更ルールは、あるべき姿で運用すれば役立つものか、考えておきたいと思います。2003年に検討されたセキュリティルールに、そもそも2023年にも役立つ強度があるでしょうか?
HENNGEの調査結果でもう一つ興味深いのは、定期変更の頻度を51.7%が「3か月ごと」と回答していたことです。実は私が最近耳にしたケースも、3か月ごとでした。これはおそらく偶然の一致ではなく「パスワードの定期変更が必要だというなら実施しよう、でも何日ごとに?」と考えた各社が参照した、共通の元ネタがあるのでしょう。そしてそれは2004年12月に策定されたPCI DSSではないかと思います。
もし当時のPCI DSSを参考に定めたままなら、変更が90日ごとであるほか、「数字と英字」「7文字以上」といったなども共通かもしれません。もしそうであれば、そのパスワードルールは現在では形骸化しているかもしれません。
下表はサイバーセキュリティ企業HIVE Systemsによる「パスワードの総当たり攻撃時間 2023年版」です。もしパスワードが「7文字で英大文字、英子文字、数字を使用」したものだとしたら、総当たり攻撃での解析時間は右から二つ目の「Numbers, Upper and Lowercase Letters」の列。7文字のところを見るとわずか2秒です。redditにある2018年の表ではもう少し長くて、1分でした。どちらにせよ、変更周期である90日に対してあまりに短い時間です。
では英大文字、英子文字、数字を含めたパスワードで、90日間持ちこたえる文字列長を考えるとどうなるでしょう。同じく右から2列目を見ていくと、10文字では最長でも5日間で破れるようなので短すぎ。11文字だと10カ月なので、まあまあ良さそうです。欲を言えば、12文字あると53年と、90日ではほぼ破れないと期待できそうです。
そのパスワードルールは、攻撃が開始されても定期変更までの期間持ちこたえるパスワードを必須にするかというのは、そのルールに意味があるかを量る一つの指標になると思います。この評価結果は、年々変わっていきます。上表すら「MD5ハッシュをRTX 4090 GPUの能力で」総当たり攻撃したらという想定ですが、HIVE Systemsの記事は現在ではハッシュ関数の標準はより強力なSHA-256だし、一方で長いパスワードの解析でRTX 4090 GPU 1個より有利なA100 Tensor Core GPUを8個搭載したAWSのEC2インスタンス(p4d.24xlarge)がわずか1時間32.77ドルで借りられるとも指摘しています。年々新しい技術が登場し、現行ルールの再評価を要求します。
もしパスワードルールが「英数字7文字以上」だとしたら、そのルールはPCI DSS v1.1時代のままの、2023年に効果を期待するにはちょっと弱いものかもしれません。「英数字と記号を含め最小8文字、少なくとも最大64文字までは設定可能」なら2017年に改定されたNISTルールにかなり意欲的に沿い、上表の一番右列に該当し、なかなかだと思います。さらに12文字以上なら、2022年3月発行のPCI DSS v4.0の8.3.6項のグッドプラクティスにも適いそうです。こうしたルールなら、次の議論に進めます。
ここで最大長の話が出ましたね。私は時々15~25文字のパスワードを指定して、長すぎると拒否されることがあります。最長パスワード長が短いシステムも依然としてあります。もし最長12文字未満だったら……上表ともう一度にらめっこしたいところです。
その定期変更ルールがなにを引き起こすのか?
ではパスワードの定義変更ルールが、2023年にも効果を期待できる強度の、パスワード文字列の強度と定期変更期間のバランスがとれたものだとしましょう。次に考えたいのは、そうだとしてもそのルールは無くした方がいいと言われてるのはなぜかです。しばしば「ユーザーがたくさんのパスワードを覚えきれなくて使いまわしするようになるから」と言われますが、NISTのFAQではもう少し違った説明もされています。
変更ルールがあること自体が、「弱いパスワード」で済ませてしまおうという気持ちを引き起こさせるということです。90日しか使わないパスワードに、難しい文字列を設定して思い出すのに苦労するだけの価値を感じるでしょうか(価値が「あるか」ではなく「感じるか」です)。それともルールが許す範囲で、既知の単語をちょっといじった覚えやすい文字列にしたり、さらに次回以降のことも考えてその後に番号をつけて、毎回カウントアップするだけでほとんど同じパスワードを使えるよう工夫するといった、「賢い」やり方を選んでしまうでしょうか。
前述の総当たり攻撃の記事では、あの表のような時間がかかるのは完全にランダムな文字列がパスワードに使われている場合という条件を付けています。そうではなく「パスワードが以前に盗まれたことがある場合、簡単な単語を使用している場合、または Web サイト間で再利用している場合」は下表になります。つまり前述のような「賢い」やりかたをしてしまった場合は、何文字のパスワードだろうと解読は「瞬時(Instantly)」です。
こうしたセオリーの変化も、現行ルールの再評価を要求します。「定期変更+緊急変更」のままと、「緊急変更(だけ)」だけにするのと、どちらが妥当か。なおFAQでは、パスワード流出などセキュリティ侵害が疑われる際の緊急変更については、頻度も低くこうした弱いパスワードを選ぶモチベーションを引き起こさせない、としています。私見で付け加えれば、定期変更不要であれば強いパスワードにするほど侵害されるリスクと変更が必要になる機会が減るというのも、モチベーション面でいい点ではないかと思います。
その定期変更ルールはなぜなくせないのか?
パスワードの定期変更ルールが「形骸化している」時はもちろん、メンテされていてもリスクにつながることを見てきました。この件でよく参照される総務省の「安全なパスワード管理|国民のための情報セキュリティサイト」でも次のように過不足なく情報を伝えています。
ではパスワードの定期変更を、やめられない理由はあるでしょうか?二つ思いつきます。一つは前述した、以前のPCI DSSのパスワード要件です。しかしPCI DSS v4.0を見たところ、当該条項は次のように変わっていました。
今後は、定期変更の代わりに多要素認証かアカウントのセキュリティ状態の動的分析をすることができるように読めます。もちろんPCI DSSだけを考えるなら、定期変更を続けることを選んでもよいと言えます。しかし総務省やNISC、米NISTなどの推奨との両立を考えるのであれば、多要素認証か動的分析に舵を切ることになりそうです。
思いついたパスワードの定期変更をやめられないもう一つの理由は、経済産業省の「情報セキュリティ管理基準(平成28年経済産業省告示第37号)」です。これは「組織体が効果的な情報セキュリティマネジメント体制を構築し、適切なコントロール(管理策)を整備・運用するための実践的な規範」、つまりISMSのモデルとして2016年3月1日に発行されているものです。この9.4.3.5項は次のような規定になっています。
古いし、モデルでしかなくて強制力もないし、関係ないでしょうか?そうかもしれません。でも古いとはいえ、これが「情報セキュリティ監査制度(METI/経済産業省)」に掲載されている現時点でも最新の版です。そしてモデルの影響力については、政府が「働き方改革」のなかで副業や兼業を進めようとした時、当時公開されていた「モデル就業規則」がその障害となっていたことが思い出されます。
モデル就業規則の影響については、当時の資料である厚生労働省労働基準局「副業・兼業の現状と課題」に、まず次のようにあります。
判例や学説に基づけば副業・兼業は制限できないにも関わらず、副業・兼業を認める企業が少なかったことと、そしてモデル就業規則の改定が必要との認識が示されています。これを踏まえ、厚労省は「平成30(2018年)年1月、モデル就業規則を改定し、労働者の遵守事項の『許可なく他の会社等の業務に従事しないこと。』という規定を削除」しました。実態として、2017年の状況をまとめたメモを見返すとこの時点では77.2%の企業が副業・兼業を認めていないとの調査結果もありましたが、経団連「副業・兼業に関するアンケート調査結果」によれば2022年時点では全体で70.5%、5,000人以上の企業では83.9%がこれを認める、または認める予定と変わってきました。
こうしたことを踏まえると、モデルでしかない経済産業省の情報セキュリティ管理基準も、企業の「パスワード定期変更の実施(廃止)」検討への影響を否定しがたい気がします。
まとめ
パスワードの定義変更は単なる儀式ではなく、実施するならパスワード強度と解析時間に応じた変更頻度を設定するべきですし、近年のセオリーとしてはそもそも実施するべきではないとされつつあります。ルールが形骸化してるのかを判断し、形骸化してるなら早急に見直しを検討すべきだし、そうでないとしても「実施することのリスク評価」の観点で定期的に見直すべきだと考えます。
これにあたって、PCI DSS v1.1と経産省「情報セキュリティ管理基準(平成28年経済産業省告示第37号)」(以下「ISMSモデル」)にパスワードの定義変更が定められていることは、判断を歪める可能性があるように思われます。幸い、PCI DSSはv4.0で多要素認証などパスワード定期変更が不要な認証方式を示しているようです。しかしISMSモデルには見直し予定があるのか、よくわかりません。
別の角度で言えば、経済産業省の文書と総務省の情報が食い違っている状態も、解消されるべきではと思われます。まずISMSモデルは更新されるか、期限切れのものと明示されるほうが良いように思います。それが結局は、パスワードの定期変更を廃止に向かわせる一つの要因になるかもと期待するのですが、どんなものでしょう。
――――
ヘッダー画像中の写真はGerd AltmannによるPixabayからのもの。