見出し画像

パスワード定期変更問題の現在地

PPAPと並んで「セキュリティの旧習」と名指しされるのは、きっと「パスワードの定期変更」でしょう。これは2003年に米国立標準技術研究所(NIST)が発行した「SP800-63」にも盛り込まれたルールだったものの、2017年版である「SP800-63-3」ではするべきではないこととされました。

記憶シークレットを任意で(例えば,定期的に)変更するよう要求すべきではない(SHOULD NOT).しかしながらAuthenticatorが危殆化した証拠がある場合は,変更を強制するものとする(SHALL).

NIST Special Publication 800-63B

2018年3月には総務省が、同4月にはMicrosoftが同じ旨の発信をしています。しかし当時の報の中にある、次のような一文が胸に刺さります。

このNISTルールはすでに改訂され、現在では定期変更および利用文字についての記述は削除されているが、10~15年にわたって正しいとされてきた常識の誤りが世界中に行き渡るには途方もない時間がかかるとみられ、Bill Burr氏自身は深く後悔しているだそうだ。

「パスワードの定期変更は正しくない」――考案者が自ら過去の過ちを認める発言 - INTERNET Watch

実際のところ、2019年のJIPDECの調査結果では54.5%、2020年のHENNGEの調査結果では65.7%がパスワードの定期変更が必要と回答しています。それ以降の数字をもっていませんが、私自身、つい先日「パスワードの定期変更」という話題を耳にしています。5年ぐらいではまだ新しい常識がいきわたっていないという事になりますが、そのリスクとネックはなんでしょう。

その定期変更ルールはメンテされているか?

提唱者であるBill Burr氏は、定期変更ルールはあるべき形で運用されるには難しすぎたと言っています。ですがまず、いまそこにある定期変更ルールは、あるべき姿で運用すれば役立つものか、考えておきたいと思います。2003年に検討されたセキュリティルールに、そもそも2023年にも役立つ強度があるでしょうか?

HENNGEの調査結果でもう一つ興味深いのは、定期変更の頻度を51.7%が「3か月ごと」と回答していたことです。実は私が最近耳にしたケースも、3か月ごとでした。これはおそらく偶然の一致ではなく「パスワードの定期変更が必要だというなら実施しよう、でも何日ごとに?」と考えた各社が参照した、共通の元ネタがあるのでしょう。そしてそれは2004年12月に策定されたPCI DSSではないかと思います。

PCIDSSは表現が具体的である。現在のバージョン1.1ではパスワードについて下記のような規定がある。
(略)
■要件8.5.9 ユーザー・パスワードは少なくとも90日ごとに変更する。
■要件8.5.10 最小パスワード長は少なくとも7文字以上にする。
■要件8.5.11 数字と英字の組合せから成るパスワードを使用する。

「パスワードは90日ごとの変更」が義務づけられる!? | 日経クロステック(2008.02)

もし当時のPCI DSSを参考に定めたままなら、変更が90日ごとであるほか、「数字と英字」「7文字以上」といったなども共通かもしれません。もしそうであれば、そのパスワードルールは現在では形骸化しているかもしれません。

下表はサイバーセキュリティ企業HIVE Systemsによる「パスワードの総当たり攻撃時間 2023年版」です。もしパスワードが「7文字で英大文字、英子文字、数字を使用」したものだとしたら、総当たり攻撃での解析時間は右から二つ目の「Numbers, Upper and Lowercase Letters」の列。7文字のところを見るとわずか2秒です。redditにある2018年の表ではもう少し長くて、1分でした。どちらにせよ、変更周期である90日に対してあまりに短い時間です。

Are Your Passwords in the Green? - HIVE SYSTEMS

では英大文字、英子文字、数字を含めたパスワードで、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ではもう少し違った説明もされています。

ユーザーは、近い将来変更する必要があることがわかっている場合、記憶されたシークレット(※パスワードなどのこと)の強度が低いものを選択する傾向があります。こうした変更が発生した場合、多くの場合、パスワードの数字を増やすなどの一般的な変換セットを適用することで、以前に記憶したシークレットに似たシークレットを選択します。この方法では、攻撃者がこれらと同じ一般的な変換を適用できるため、以前の秘密のいずれかが侵害された場合に誤った安全感を与えます。

NIST Special Publication 800-63: Digital Identity Guidelines Frequently Asked Questions
Q-B05: Is password expiration no longer recommended?
より筆者訳

変更ルールがあること自体が、「弱いパスワード」で済ませてしまおうという気持ちを引き起こさせるということです。90日しか使わないパスワードに、難しい文字列を設定して思い出すのに苦労するだけの価値を感じるでしょうか(価値が「あるか」ではなく「感じるか」です)。それともルールが許す範囲で、既知の単語をちょっといじった覚えやすい文字列にしたり、さらに次回以降のことも考えてその後に番号をつけて、毎回カウントアップするだけでほとんど同じパスワードを使えるよう工夫するといった、「賢い」やり方を選んでしまうでしょうか。

前述の総当たり攻撃の記事では、あの表のような時間がかかるのは完全にランダムな文字列がパスワードに使われている場合という条件を付けています。そうではなく「パスワードが以前に盗まれたことがある場合、簡単な単語を使用している場合、または Web サイト間で再利用している場合」は下表になります。つまり前述のような「賢い」やりかたをしてしまった場合は、何文字のパスワードだろうと解読は「瞬時(Instantly)」です。

Are Your Passwords in the Green? - HIVE SYSTEMS

こうしたセオリーの変化も、現行ルールの再評価を要求します。「定期変更+緊急変更」のままと、「緊急変更(だけ)」だけにするのと、どちらが妥当か。なおFAQでは、パスワード流出などセキュリティ侵害が疑われる際の緊急変更については、頻度も低くこうした弱いパスワードを選ぶモチベーションを引き起こさせない、としています。私見で付け加えれば、定期変更不要であれば強いパスワードにするほど侵害されるリスクと変更が必要になる機会が減るというのも、モチベーション面でいい点ではないかと思います。

その定期変更ルールはなぜなくせないのか?

パスワードの定期変更ルールが「形骸化している」時はもちろん、メンテされていてもリスクにつながることを見てきました。この件でよく参照される総務省の「安全なパスワード管理|国民のための情報セキュリティサイト」でも次のように過不足なく情報を伝えています。

パスワードを定期的に変更することを求められることもありますが、実際にパスワードを破られアカウントが乗っ取られたり、サービス側から流出した事実がなければ、パスワードを変更する必要はありません。むしろ定期的な変更をすることで、パスワードの作り方がパターン化し簡単なものになることや、使い回しをするようになることの方が問題となります。定期的に変更するよりも、機器やサービスの間で使い回しのない、固有のパスワードを設定することが求められます。
これまでは、パスワードの定期的な変更が推奨されていましたが、2017年に、米国国立標準技術研究所(NIST)からガイドラインとして、サービスを提供する側がパスワードの定期的な変更を要求すべきではない旨が示されたところです。また、日本においても、内閣サイバーセキュリティセンター(NISC)から、パスワードを定期変更する必要はなく、流出時に速やかに変更する旨が示されています。

安全なパスワード管理|社員・職員全般の情報セキュリティ対策|企業・組織の対策|国民のための情報セキュリティサイト

ではパスワードの定期変更を、やめられない理由はあるでしょうか?二つ思いつきます。一つは前述した、以前のPCI DSSのパスワード要件です。しかしPCI DSS v4.0を見たところ、当該条項は次のように変わっていました。

8.3.9 パスワード/パスフレーズが、ユーザアクセスのための唯一の認証要素として使用される場合(すなわち、一要素認証の実装において)、以下の
いずれか
が行われる。
• パスワード/パスフレーズが少なくとも 90 日に1 回変更されていること。
または
• アカウントのセキュリティ状態を動的に分析し、それに応じてリソースへのリアルタイムアクセスを自動的に決定します。

Payment Card Industry データセキュリティ基準 要件とテスト手順 v4.0

今後は、定期変更の代わりに多要素認証かアカウントのセキュリティ状態の動的分析をすることができるように読めます。もちろんPCI DSSだけを考えるなら、定期変更を続けることを選んでもよいと言えます。しかし総務省やNISC、米NISTなどの推奨との両立を考えるのであれば、多要素認証か動的分析に舵を切ることになりそうです。

思いついたパスワードの定期変更をやめられないもう一つの理由は、経済産業省の「情報セキュリティ管理基準(平成28年経済産業省告示第37号)」です。これは「組織体が効果的な情報セキュリティマネジメント体制を構築し、適切なコントロール(管理策)を整備・運用するための実践的な規範」、つまりISMSのモデルとして2016年3月1日に発行されているものです。この9.4.3.5項は次のような規定になっています。

9.4 システム及びアプリケーションのアクセス制御
9.4.3 パスワード管理システムは、対話式とすること、また、良質なパスワードを確実にするものと する。
9.4.3.5 パスワードの管理システムでは、パスワードは、定期的に及び必要に応じて変更させるようにする。

情報セキュリティ管理基準(平成28年経済産業省告示第37号)

古いし、モデルでしかなくて強制力もないし、関係ないでしょうか?そうかもしれません。でも古いとはいえ、これが「情報セキュリティ監査制度(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からのもの。

この記事が気に入ったらサポートをしてみませんか?