パスワード認証に関する要求事項(推奨) のバックアップ(No.1)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- パスワード認証に関する要求事項(推奨) へ行く。
認証方式設計の検討とパスワード認証の要求事項?
本項は、独自にパスワード認証を実装する際の要求事項と、Windows認証を使用する際の留意事項を解説します。
独自にパスワード認証を実装する場合 †
今後、構築されるアプリケーションのパスワードの要件として以下を推奨します。なお、必要に応じてテラーリングを認めますが、強度が低くなるテラーリングをする際は、その理由を明確にして文書化し、ユーザーとベンダーで共有し合意してください。
- 長さ
- 8文字以上 64文字以上の受け入れを許可する
- パスワード評価を実装しない場合、14桁以上を求める
- 定期変更
- 要求しない
- 複雑さ
- パスワード評価の例外を除き要求しない
- パスワードの評価
- IDから個人を特定できる場合
- 推測可能な生年月日や電話番号を避けるため英数を要求する
- 拒否する文字列
- IDや氏名が含まれる場合は拒否する
- 特定の文字列の繰り返し
- 12341234などは拒否する
- 連続した文字列
- qwertyuiop 11111111などは拒否する
- 評価に違反した場合は、理由と改善方法をユーザーに通知する
- IDから個人を特定できる場合
- アカウントロックアウト
- 連続失敗回数
- 3-5回
- ロックアウト期間
- 15分以上 もしくは経路外認証によるパスワード変更
- 連続失敗回数
- パスフレーズを推奨する表示
- 20桁を超えるパスフレーズを推奨する旨の表示を実装する
- 漏洩のチェック
- 漏洩が発覚した際は即時に変更を求める なお、重要資産へのアクセスの際は、リスクベース認証 の組合せや多要素認証を強く推奨します。
Active Directory Windows認証を利用する際の留意事項 †
Active Directory のパスワードに関連する実装はNIST SP800-63-3よりも古いため、次の留意点があります。
- 複雑さは規程値で適用されるため、フィルターDLLと呼ばれるパスワードフィルターのカスタマイズを実施しないと、前項の実装との統一はできません。
[複雑さの要件を満たす必要があるパスワード]プロパティの規定値 †
グループポリシーの[アカウントポリシー]>[パスワードのポリシー]>[複雑さの要件を満たす必要があるパスワード]プロパティは、ドメインコントローラーの場合、既定で [有効] となっており、メンバーコンピュータはドメインコントローラーの構成に従います。以下が強制されます。
- ユーザーのアカウント名またはフル ネームに含まれる 3 文字以上連続する文字列を使用しない。
- 長さは 6 文字以上にする。
- 次の 4 つのカテゴリのうち 3 つから文字を使う。
- 英大文字 (A から Z)
- 英小文字 (a から z)
- 10 進数の数字 (0 から 9)
- アルファベット以外の文字 (!、$、#、% など)
- 複雑さの要件は、パスワードの変更時または作成時に強制的に適用されます。
[複雑さの要件を満たす必要があるパスワード]プロパティの規定値を [無効] にした場合 †
ユーザーのアカウント名 (samAccountName) またはフルネーム (displayName) に含まれる文字列がパスワードに含まれているかをチェックしません。
[複雑さの要件を満たす必要があるパスワード] プロパティの規定値を変更したい場合 †
パスワードのポリシーは、パスワード変更時に参照される Passfilt.dll というフィルターDLLで決定されます。Passfilt.dllをカスタマイズすることで、変更が可能です。 Platform Software Development Kit(SDK)に Passfilt.dll のソースが掲載されていますので、参照してください。 https://docs.microsoft.com/en-us/previous-versions//ms722439(v=vs.85)?redirectedfrom=MSDN