タグ別アーカイブ: パスワード定期変更

「パスワードの定期的な変更は不要」は大ウソ、NISTの原文を読め!

先週くらいから、突然大手紙が「パスワード定期変更不要」のニュースを流し始めて、今ごろ何を言っているんだろう。

しかも単に政府が参考情報として出している資料の内容が変わっただけで、別にパスワードに関する法律があるわけでもないのに、「国が方針変更」というのは意味不明だ。

さらに言えば、定期変更を不要としたおおもとの米NISTのガイドライン「NIST Special Publication 800-63B」を読まずに書いている記事ばかり。

同NISTガイドラインのAbstractには「連邦政府機関」向けと明記されている。

もちろん「パスワード定期変更不要論」はNISTガイドライン以前の、技術者の間での議論がベースになっているけれど、まずはNISTのガイドラインが米国連邦政府機関むけであることは明記すべきだろう。

米国連邦政府機関に求められるセキュリティレベルが、無条件に、あなたの使っているシステムよりも高いと前提するのはやめるべきだ。

米国連邦政府機関なんて、まだまともなエンドポイントセキュリティ製品がない時代に「BYOD(私物の業務利用)」を認めていたくらい、セキュリティはある意味に「ゆるゆる」だ。

また、日本政府や日本のセキュリティ関連団体が、なぜNISTガイドラインを鵜呑みにする必要があるのか。

日本が欧米より高いセキュリティガイドラインを設定することに、何か問題でも?こんなところでも無条件に欧米に追従しようというわけだろうか。

もう一点、NISTガイドラインの「SHALL」「SHOULD」の使い分けが無視されている。

ガイドラインの中に定義がある。「SHALL」は逸脱を許さない必須の規定、「SHOULD」は他の選択肢を排除しない推奨だ。

「SHALL」は「~でなければいけない」、「SHOULD」は「~であるべきだがその他の選択肢も排除しない」という意味だ。

「パスワード定期変更不要論」について、NIST Special Publication 800-63Bの該当部分は「5.1.1.2 Memorized Secret Verifiers」にある以下の段落だ。

Verifiers SHOULD NOT impose other composition rules (e.g., requiring mixtures of different character types or prohibiting consecutively repeated characters) for memorized secrets. Verifiers SHOULD NOT require memorized secrets to be changed arbitrarily (e.g., periodically). However, verifiers SHALL force a change if there is evidence of compromise of the authenticator.

この段落の中だけでも必須の「SHALL」と推奨の「SHOULD」が使い分けられている。

定期的にパスワードの変更を要求することは「しないのが望ましい SHOULD NOT」としか書かれていない。

他方、この段落の中で「SHALL」になっていることがある。「認証機能が被害を受けた証拠がある場合は、パスワードの変更を強制しなければならない」という一文だ。

こちらのほうは必須なのである。

つまり、たとえばあなたの会社で、「新聞のニュースにパスワードの定期変更は不要って書いてあったし、国の方針も変わったようだから、うちの社内システムも定期変更はやめようよ」ということになったとしよう。

その場合、前提条件として「5.1.1.2」の中で「SHALL」になっていることをすべて実現する必要がある。

認証機能が被害を受けた証拠がある場合、パスワードの変更を強制しなければならないことは「SHALL」なので、認証機能の被害を検知し、即座にユーザにパスワード変更を要求するシステムか体制を整備する必要がある。こちらは必須なのだから。

それをやらずに、パスワードの定期変更だけをやめるのは、NISTの主旨に完全に反している。

もっと言えば、「5.1.1.2」のパスワードに関するガイドラインには、他にも「SHALL」がたくさんある。

いくつか抜粋する。

・パスワードは最低8文字。

・パスワードのヒントを認証前に表示してはいけない。

・よく使われるパスワードのリストを準備しておき、ユーザが使おうとしているパスワードをそのリストと対比しなければならない。

・そのリストにユーザが使おうとするパスワードが見つかった場合は、そのパスワードを拒否する理由を表示し、異なるパスワードにするようにユーザに要求しなければならない。

・認証の失敗回数を制限する機能を実装しなければならない。

・パスワードを入力させるとき、中間者攻撃を避けるために、通信の暗号化を行わなければならない。

・パスワードを蓄積するとき、一方向のハッシュ化などでオフラインの攻撃にも耐えるようにしなければならない。

・そのときの鍵は承認済みの一方向の機能を使わなければならない。

・ハッシュ化のソルトは少なくとも32ビットでなければならず、ソルトの衝突を最小化するために任意に選ばなければならない。

・ソルト値とその結果のハッシュ値はユーザごとに認証システムを使って保存しなければならない。

・ソルト値を利用する場合は、認証済みの乱数bit発生アルゴリズムを使わなければならない。

・秘密のソルト値はハッシュ化されたパスワードとは別に保存しなければならない。

これらの「SHALL」をすべて満たしたうえで、パスワードの定期変更を要求することはしない方がいいですよ(SHOULD NOT)と書いてあるのだ。

ところが日本の大手新聞や三流IT情報誌の記事は、これら必須要件である「SHALL」をぜ~んぶ無視して、「パスワード定期変更なんてしなくていいんだ!」と、都合のいい部分だけを取り上げている。英語のメディアにも同じような記事がたくさんある。

まあ、オンラインメディアなんて、その程度ですわ。

金融機関のウェブサービスは、連邦政府機関の一般業務より高いセキュリティが求められるかもしれないでしょ?

ふつうの企業で、社内の認証機能が破られたことを即座に検知して、ユーザにパスワード変更を要求する仕組みを導入してる会社なんてどれくらいあるの?

上記の「SHALL」をすべてクリアしていないなら、パスワードは定期変更しなきゃダメなんです。

総務省も一部のセキュリティー識者も、海外メディアの記事も、あてにならないので困ってしまう。