パスワード・セキュリティの現状 2024 レポート
連邦政府機関のパスワード・セキュリティへの取り組み
- リソース
- パスワード・セキュリティの現状 2024 レポート
近年、米国連邦政府全体がサイバーセキュリティに強い関心を寄せており、多くの省庁が政府機関や大小の企業、さらには消費者への啓蒙活動を主導している。
しかし、パスワードのセキュリティに関しては、すべての機関が同じ曲を歌っているわけではない。その最たるもののひとつである国立標準技術研究所(NIST)は、「米国の産業界、連邦政府機関、そしてより広範な一般市民のニーズに応えるため、サイバーセキュリティの標準、ガイドライン、ベストプラクティス、その他のリソースを開発している」。
NISTのサイバーセキュリティのページには、「NISTのサイバーセキュリティの任務は、連邦法、行政命令、政策によって定義されているものもある。例えば、行政管理予算局(OMB)は、すべての連邦政府機関に対し、国家安全保障以外のシステムに対するNISTのサイバーセキュリティ基準とガイダンスの実施を義務付けている。
残念ながら、NISTの勧告はまだすべての連邦政府機関に普遍的に受け入れられ、実施されているわけではない。また、NISTは各機関が従うべき基準を定めているが、そのNISTでさえ、ウェブサイトが乱立しているという独自の弱点を抱えている。
2024年は、ビットワーデンがこの分析を実施した3年目にあたる。この3年間、NISTのウェブサイトは、そのコンテンツは非常に健全であるにもかかわらず、混乱したままであっ た。前向きな動きもいくつかあった。ホワイトハウスは、パスワード・セキュリティに関するアドバイスの普及を改善し、『改善の余地あり』から『良好』へと評価を変えた。パスワード・セキュリティの推奨やサイバーセキュリティの全体的な態勢に関して、より良い方向に向かっている他の機関には、サイバーセキュリティ・インフラストラクチャ・セキュリティ協会(CISA)、連邦捜査局(FBI)、連邦取引委員会(FTC)、中小企業庁(SBA)などがある。
今年、ビットワーデンはこのレポートに証券取引委員会(SEC)も加えた。昨年、SECは企業にサイバーセキュリティに関する重大インシデントの開示を義務付ける規則を採択した。サイバーセキュリティ・コンプライアンスを実施するSECの役割を踏まえ、本レポートではSEC自身のパスワード・セキュリティに関するアドバイスを評価する。
技術の進歩は速い。ビジネスでも個人でも、楽しいエンターテインメント・サイトから銀行口座のような深刻な金融ビジネスまで、私たちの生活の多くが無数のアカウントでオンライン化されている。
このアセスメントの目的は、連邦政府からのベストプラクティスと、改善の余地がある箇所について、パスワードを使用するすべての人を巻き込み、教育することである。連邦政府内には、パスワード・セキュリティに対してしっかりとした教育的アプローチをとっているところも多いし、近代化のためにちょっとした支援が必要なところもある。
幸いなことに、パスワード・セキュリティのベスト・プラクティスについては、コンセンサスが形成されつつある。本レポートは、その詳細を集約し、評価したものである。
パスワード・セキュリティの現状:連邦政府機関はパスワード・セキュリティにどう取り組んでいるか
パスワードを見る パスワードセキュリティの現状
目次
パスワード・セキュリティ評価システムのガイドライン
米国国立標準技術研究所(NIST)
ホワイトハウス
サイバーセキュリティ・インフラセキュリティ機構(CISA)
国家安全保障局(NSA)
国土安全保障省
連邦捜査局(FBI)
連邦取引委員会(FTC)
商務省
連邦通信委員会(FCC)
中小企業庁(SBA)
証券取引委員会(SEC)
概要
その他のリソース
格付けシステムは、以下の基準の順守に基づいて代理店をランク付けする:
パスワード・マネージャーの使用を推奨
強固なパスワードの重要性を訴える
パスワードの安全性をさらに高める2FA/MFAの必要性を指摘
全体的なセキュリティに関する助言が最新で、NIST のガイドラインに準拠している。
パスワード・セキュリティに関する推奨事項を、わかりやすく、消化しやすく、見つけやすく説明する。
パスワード・マネージャーの使用を推奨
強固なパスワードの重要性を訴える
パスワードの安全性をさらに高める2FA/MFAの必要性を指摘
全体的なセキュリティに関する助言が最新で、NIST のガイドラインに準拠している。
パスワード・セキュリティに関する推奨事項を、明確で、消化しやすく、見つけやすい方法で説明していない。
パスワードマネージャーの使用は推奨しない
強固なパスワードの重要性を訴える
パスワードの安全性をさらに高める2FA/MFAの必要性を指摘
全体的なセキュリティに関する助言が最新ではなく、NIST のガイドラインに準拠していない。
パスワード・セキュリティに関する推奨事項を、わかりやすく、消化しやすく、見つけやすく説明していない。
パスワードマネージャーの使用は推奨しない
強固なパスワードの重要性を訴える
パスワードのセキュリティをさらにサポートする2FA/MFAの必要性を一貫して挙げていない。
全体的なセキュリティに関する助言が最新ではなく、NIST のガイドラインに準拠していない。
パスワード・セキュリティに関する推奨事項を、わかりやすく、消化しやすく、見つけやすく説明していない。
パスワードマネージャーの使用は推奨しない
強固なパスワードの重要性を訴えない
パスワードのセキュリティをさらにサポートする2FA/MFAの必要性を挙げていない
全体的なセキュリティに関する助言が最新ではなく、NIST のガイドラインに準拠していない。
パスワード・セキュリティに関する推奨事項を、わかりやすく、消化しやすく、見つけやすく説明していない。
代理店のアドバイス
認証管理|パスワード・マネージャー
パスワードを生成し管理するために、[課題:組織定義のパスワードマネージャー]を使用する。
割り当て:組織定義のコントロール]を使用してパスワードを保護する。
静的パスワードが採用されているシステムでは、パスワードが適切に複雑であること、同じパスワードが複数のシステムで採用されていないことを保証することが、しばしば課題となる。パスワード・マネージャーは、様々なアカウントのための強力で異なるパスワードを自動的に生成し、保存するので、この問題の解決策となる。パスワード・マネージャーを使用する潜在的なリスクは、敵対者がパスワード・マネージャーによって生成されたパスワードのコレクションを標的にできることである。したがって、パスワードの収集には、パスワードを暗号化し、トークンにオフラインで保管するなどの保護が必要である。
代理店のアドバイス
暗記された秘密は、加入者が選択する場合、少なくとも 8 文字の長さにしなければならない。CSP または検証者が無作為に選択した暗記秘密は、少なくとも 6 文字の長さにしなければならず(SHALL)、すべて数字にしてもよい(MAY)。CSP または検証者が、危殆化した値のブラックリストに記載されていることに基づいて、選択した暗記 秘密を許可しない場合、サブスクライバは別の暗記秘密を選択するよう要求されるものとする。暗記された秘密に対する他の複雑さの要件は課されるべきではない[SHOULD]。その根拠は「付録A暗記された秘密の強さ」に示されている。
ベリファイアは、加入者が選択した暗記シークレットの長さが少なくとも 8 文字であることを要 求しなければならない(SHALL)。ベリファイアは、加入者が選択した、少なくとも 64 文字の長さの暗記秘密を許可すべきで ある(SHOULD)。スペース文字と同様に、すべての印刷ASCII[RFC 20]文字は、暗記された秘 密で許容されるべきである[SHOULD]。ユニコード[ISO/ISC 10646]文字も受け入れるべきである(SHOULD)。誤入力の可能性を考慮し、検証者は検証の前に、連続する複数の空白文字を1つの空白文字に置換して もよい。 秘密の切り捨ては行ってはならない[SHALL NOT]。上記の長さの要件では、Unicodeの各コード点は1文字として数えなければならない(SHALL)。
CSP によって(例えば、登録時に)または検証者によって(例えば、ユーザが新しい PIN を要求したときに)ランダムに選択される暗記された秘密は、少なくとも 6 文字の長さでなければならず、承認されたランダム・ビット生成器[SP 800-90Ar1]を使用して生成されなければならない。
暗記型秘密検証機は、サブスクライバが、認証されていない請求者がアクセス可能な「ヒント」を保 存することを許可してはならない。ベリファイアは、暗記された秘密を選択する際に、特定の種類の情報(例えば、"What was your first pet? "など)を使用するよう、加入者に促してはならない(SHALL NOT)。
暗記された秘密を設定および変更する要求を処理する際、検証者は、一般的に使用され、予期され、または危殆化されることが知られている値を含むリストと、将来の秘密を比較しなければならない(SHALL)。例えば、リストには、これらに限定されるものではないが、以下を含めてもよい:
過去の違反コーパスから得られたパスワード。
辞書の単語。
繰り返しまたは連続する文字(例:'aaaaaa'、'1234abcd')。
サービス名、ユーザー名、およびその派生語など、コンテキスト固有の単語。
選択した秘密がリストに含まれている場合、CSP または検証者は、別の秘密を選択する必要がある ことをサブスクライバに通知し、拒否の理由を提示し、サブスクライバに別の値の選択を要求するものとする。
ベリファイアは、パスワード強度計[Meters]などのガイダンスを加入者に提 供し、ユーザーが強力な暗記秘密を選択できるように支援すべきである[SHOULD]。このことは、上記のリストで暗記された秘密が拒絶された後に特に重要である。なぜなら、リストアップされた(そしておそらく非常に弱い)暗記された秘密の些細な改変を阻止するからである[Blacklists]。
ベリファイアは、セクション5.2.2に記載されるとおり、サブスクライバのアカウントで行える認証試行 の失敗回数を効果的に制限するレート制限メカニズムを実装しなければならない(SHALL)。
ベリファイアは、暗記された秘密に対して他の構成規則(異なる文字種の混在を要求する、 連続して繰り返される文字を禁止するなど)を課すべきでない(SHOULD NOT)。検証者は、暗記された秘密を任意に(例えば定期的に)変更することを 要求すべきではない(SHOULD NOT)。ただし、ベリファイアは、認証者の危殆化の証拠がある場合、強制的に変更しなければならな い(SHALL)。
ベリファイアは、暗記された秘密を入力する際、請求者が「ペースト」機能を使用することを許可す べきである(SHOULD)。これによって、広く使われているパスワード・マネージャーの使用が容易になり、多くの場合、ユーザーがより強力な暗記秘密を選択する可能性が高まる。
請求者が暗記した秘密をうまく入力できるように、検証者は、秘密が入力されるまで、一連のド ットやアスタリスクではなく、秘密を表示するオプションを提供すべきである(SHOULD)。これにより、請求者は、画面が観察されにくい場所にいる場合、入力を確認することができる。ベリファイアはまた、正しい入力を確認するために、各文字が入力された後に短時間、ユーザーの機器に個々の入力された文字を表示することを許可してもよい(MAY)。これは特にモバイル機器に当てはまる。
ベリファイアは、盗聴やMitM攻撃への耐性を提供するために、暗記された秘密を要求する 際に、承認された暗号化と認証された保護チャネルを使用しなければならない[SHALL]。
検証者は、記憶した秘密をオフライン攻撃に耐性のある形式で保存しなければならない(SHALL)。暗記された秘密鍵は、適切な一方向性鍵導出関数を使用して、塩付けおよびハッシュ化されなければ ならない(SHALL)。鍵導出関数は、パスワード、ソルト、コスト係数を入力とし、パスワードハッシュを生成する。その目的は、パスワード・ハッシュ・ファイルを入手した攻撃者によるパスワード推測の各試行を高価なものにすることであり、したがって推測攻撃のコストを高くするか、禁止することである。適切な鍵導出関数の例としては、パスワードベースの鍵導出関数2(PBKDF2)[SP 800-132]やBalloon[BALLOON]がある。メモリハードな関数は、攻撃のコストを増加させるので、使用すべきです(SHOULD)。鍵導出関数は、鍵付きハッシュメッセージ認証コード(HMAC)[FIPS 198-1]、SP 800-107 において承認されたハッシュ関数、セキュアハッシュアルゴリズム 3(SHA-3)[FIPS 202]、CMAC[SP 800-38B]または Keccak メッセージ認証コード(KMAC)、カスタマイズ可能な SHAKE(cSHAKE)、または ParallelHash[SP800-185]などの承認された一方向性関数を使用しなければならない(SHALL)。鍵導出関数の選択された出力長は、基礎となる一方向性関数の出力長と同じであるべき である[SHOULD]。
ソルトは少なくとも32ビット長でなければならず[SHALL]、保存されたハッシュ間のソルト値の衝突を最小化するように、任意に選択されなければならない[SHALL]。ソルト値と結果のハッシュの両方は、記憶された秘密認証子を使用して、各サブスクライバごとに保存されなけれ ばならない[SHALL]。
PBKDF2の場合、コスト要因は反復回数である。PBKDF2関数の反復回数が多ければ多いほど、パスワードハッシュの計算にかかる時間は長くなる。したがって、反復回数は検証サーバーの性能が許す限り大きくすべきであり、通常は少なくとも10,000回反復すべきである。
加えて、検証者は、検証者だけが知っている秘密のソルト値を使用して、鍵導出関数の 追加反復を実行すべきである[SHOULD]。このソルト値は、使用される場合、承認されたランダム・ビット・ジェネレーター[SP 800-90Ar1]によって生成され、SP 800-131Aの最新リビジョンで規定された最小セキュリティ強度(本書の日付現在 112 ビット)を提供しなければならない。秘密のソルト値は、ハッシュ化された記憶された秘密とは別に(例えば、 ハードウェアセキュリティモジュールのような特別なデバイスに)保存しなければ ならない[SHALL]。この追加反復により、ハッシュ化された記憶された秘密に対するブルートフォース攻撃は、秘密のソルト値が秘密のままである限り、現実的ではない。
代理店のアドバイス
パスワードは、関心のあるリソースにアクセスするための認証メカニズムとして、今でも最も広く使われている。パスワードは、サイバー犯罪者やデータ侵害からデータの機密性と完全性を守るための最前線の防御手段である。良質で強力なパスワードは、人々がオンラインで安全かつプライベートに過ごすのに役立ちます。
米国国立標準技術研究所(NIST)
ビットワルデンの総合評価非常に良い
パスワード・マネージャーの使用を推奨
強固なパスワードの重要性を訴える
パスワードの安全性をさらに高める2FA/MFAの必要性を指摘
セキュリティに関するアドバイス全体が最新で、NIST のガイドラインに準拠している(NIST は連邦政府のセキュリティに関するアドバイスの基準を定めている)。
パスワード・セキュリティに関する推奨事項を、明確で、消化しやすく、見つけやすい方法で説明していない。
助言は徹底しており、代理店の基準を定めているが、ウェブサイトからパスワードガイドラインにアクセスするのは直感的ではない。アドバイスは非常に長いPDFに埋もれており、使い勝手の悪い書き方をしている。