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

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


・電子認証について

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

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

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

長さと評価

長いパスフレーズが推奨されるが、推測容易なパスフレーズは辞書攻撃の対象となるため、長さとともに内容を評価する。

  • 長さ
    • 8文字以上の設定を要求し、パスワードの切り捨てをせず64文字以上の設定を許可する
    • パスワードの切り捨てはしない
    • パスワード評価を実装しない場合、14桁以上を求める
  • 推測が容易な文字列かの評価
    • 使用を拒否する文字列:
      • IDが含まれる場合は拒否する
      • 特定の文字列の繰り返し “12341234”、“monkeymonkey” などは拒否する
      • キーボード配列や連続した文字列 “qwertyuiop”、“11111111” などは拒否する
      • 人名、地名、組織名、組織内で使用される略称、ブランド名が含まれる場合は拒否する
    • 評価に違反した場合は、理由と改善方法をユーザーに通知する

定期変更

  • パスワードの侵害をチェックしている場合は要求しない
  • パスワードの侵害をチェックしていない場合は要求する

複雑さ

以下の例外を除き要求しない。

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

アカウントロックアウト

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

パスフレーズの推奨と注意喚起の表示

  • 20桁を超えるパスフレーズを推奨する旨の表示を実装する
  • 推測容易なフレーズを使用しない旨の表示を実装する
    • 例:長いパスフレーズはなりすましを防ぐ有効な手段です。
      但し、姓名、生年月日など個人情報の使用や、第三者から推測可能な組織名、   地名や家族などの情報などの文字列を含まないようにご注意ください。

漏洩のチェック

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

重要資産へのアクセス

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

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

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

パスワードの変更

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

IDの評価

  • 使用を拒否する文字列
    • root、sa、administrator、admin、adm、推測容易と思われる文字列が含まれる場合は拒否する。

パスフレーズの注意点

長いパスフレーズは、オンラインでの総当たり攻撃に対して有効な手段であり、利用が推奨されます。一方で、以下のような推測容易な文字列の組合せでの辞書攻撃が考えられるため、十分な注意が必要です。パスワード変更時の注意喚起を推奨します。

  • watashino hahano kyuuseiha tanakadesu 私の 母の 旧姓は 田中です
  • chichino shusshinnha nagano desu 父の 出身は 長野 です
  • aneno namaeha yuka desu 姉の 名前は 由香 です

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:4625(アカウントがログオンに失敗しました)
        Event ID:4776(資格情報の確認)
  • 多要素を導入する場合の [アカウント ロックアウトのポリシー]
    • [アカウントのロックアウトのしきい値] を[5回ログオンに失敗] とする
    • [ロックアウト カウンターのリセット] を [15分後] とする
    • [ロックアウト 期間] を [15分] とする