トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

パスワード認証に関する要求事項(推奨) のバックアップ(No.6)


・パスワードについて?

本項は、パスワード認証を実装する際の要求事項と、認証に関する留意事項を解説します。

パスワード認証を実装する際の要求事項

今後、構築されるアプリケーションのパスワードの要件として以下を推奨します。なお、強度が低くなるテーラリングをする際は、その理由を明確にして文書化し、ユーザーとベンダーで共有し合意してください。なお、Windows認証を利用する際は、Windows認証を利用する場合を参照してください。

長さ

  • 8文字以上の設定を要求し、パスワードの切り捨てをせず64文字以上の設定を許可する
  • パスワードの切り捨てはしない
  • パスワード評価を実装しない場合、14桁以上を求める

定期変更

  • 要求しない

複雑さ

  • 以下の例外を除き要求しない
    • IDから個人を特定できる場合
      個人を特定されることで生年月日や電話番号が推測可能となり強度が著しく低下するため、英数文字などを要求する

パスワードの評価

使用を拒否する文字列

  • IDや氏名が含まれる場合は拒否する
  • 特定の文字列の繰り返し 12341234などは拒否する
  • 連続した文字列 qwertyuiop 11111111などは拒否する
  • 評価に違反した場合は、理由と改善方法をユーザーに通知する

アカウントロックアウト

  • 連続失敗回数 3-5回
  • ロックアウト期間 15分以上 もしくは経路外認証によるパスワード変更

パスフレーズを推奨する表示

  • 20桁を超えるパスフレーズを推奨する旨の表示を実装する

漏洩のチェック

  • 漏洩が発覚した際は即時に変更を求める

重要資産へのアクセス

  • 多要素認証もしくはリスクベース認証を強く推奨する

初回アクセス時のパスワード変更要求

システム発行のパスワードでの初回アクセス時は、必ずパスワードの変更を求める

パスワードの変更

ユーザーがパスワードを変更する場合は、現在のパスワードを要求する。 ユーザーがパスワードを忘れた場合、スマートフォンの Authenticator や SMS、電子メールなどの経路外認証を要求する。 なお、経路外でSMS、電子メールを使用する場合、秘密シークレットは送信しない。

ID

使用を拒否する文字列

root、sa、administrator、admin、adm、ブランド名が含まれる場合は拒否する


Windows認証を利用する場合

Windows の実装はNIST SP800-63-3よりも古いため、パスワード認証に関する要求事項(推奨) をそのまま適合させることができません。将来に向けての変更までの経過措置として、以下の設定を推奨します。

背景と考え方

  • Active Directory の [複雑さの要件を満たす必要があるパスワード] ポリシー 本ポリシーにより、複雑さを求める設定をすることで、パスワードにIDを含ませることができなくなり、パスワードの安全性が高まります。
    一方で、パスワードの長さを8桁かつ複雑さを要求した場合は、全体の組み合わせ数が減り、推測しやすいパスワードを生み出す温床となります。
    定期変更による弊害を排除し、かつ、安全なパスワードを設定させるためには、複雑かつ長いパスワードの選択が必要です。
    多要素認証の導入した場合は、これらの複雑かつ長いパスワードは不要です。但し、多要素認証を導入した場合でも、Pass The Hass 攻撃の影響が考えられる場合は、Credential Guard による防御を検討して下さい。

Windows グループポリシーでの設定

Windows のグループポリシー [コンピューターの構成]>[ポリシー]>[Windows の設定]>[セキュリティの設定]>[アカウントポリシー]>[パスワードのポリシー]及び[アカウントロックアウトのポリシー] の設定を解説します。

Windows Hello やハードウェアトークンなどの多要素認証を導入した場合の [パスワードポリシー]

  • PIN を使用する場合、6桁以上とする
  • PIN の定期変更、履歴、複雑性は求めない、但し、個人から推測可能な誕生日、電話番号等の使用は認めず、これらを規程化する
  • アカウントロックアウトは3-5回に設定する。
  • アカウントロックアウト期間は15分以上、もしくは管理者による解除とする。

多要素認証を導入しない場合の [パスワードのポリシー]

  • [パスワードの長さ] は14桁以上を推奨する
  • [複雑さの要件を満たす必要があるパスワード] を有効にすることで SamAccountName、DisplayName を ID に含ませることができない事から、有効にする。複雑さの要件は、パスワードの変更時または作成時に強制的に適用される。
    • ユーザーのアカウント名またはフル ネームに含まれる 3 文字以上連続する文字列を使用しない。
    • 長さは 6 文字以上で適用される。
    • 次の 4 つのカテゴリのうち 3 つから文字を使う。
      • 英大文字 (A から Z)
      • 英小文字 (a から z)
      • 10 進数の数字 (0 から 9)
      • アルファベット以外の文字 (!、$、#、% など)
  • 定期的なセキュリティログ監査もしくはパスワードの漏洩・侵害検査の導入を前提に、[パスワードの有効期間]は[0日](定期変更を求めない)、[パスワードの履歴を記録する]は[0回](パスワードの履歴は求めない)とする
    • ログ監査の対象Event ID
      セキュリティログ Event ID:4625(アカウントがログオンに失敗しました)、Event ID:4776(資格情報の確認)

多要素を導入する場合の [アカウント ロックアウトのポリシー]

  • [アカウントのロックアウトのしきい値] を[5回ログオンに失敗] とする
  • [ロックアウト カウンターのリセット] を [15分後] とする
  • [ロックアウト 期間] を [15分] とする