ログイン機能を持つ業務システムでは、不正なパスワード試行への対策として「アカウントロック」を検討することがあります。
例えば、
「パスワードを5回間違えたらアカウントをロックする」
といった仕組みです。
一見すると単純ですが、実際の設計では失敗回数だけを決めればよいわけではありません。
厳しくしすぎると、
- 正規ユーザーが頻繁にロックされる
- 管理者への解除依頼が増える
- 攻撃者が他人のアカウントを意図的にロックできる
- 業務開始時にログインできない
といった問題が発生します。
一方で緩すぎれば、パスワードを大量に試す攻撃への対策として十分に機能しません。
そのためアカウントロックは、
「何回失敗したらロックするか」だけではなく、失敗回数・時間・解除方法・レート制限・多要素認証などを組み合わせて設計すること
が重要です。
この記事では、業務システムにおけるアカウントロックの基本的な考え方と、誤ロックを増やさずにセキュリティを確保するための設計ポイントを解説します。
アカウントロックとは
アカウントロックとは、ログイン認証に一定回数失敗した場合などに、そのアカウントへのログインを一時的または継続的に制限する仕組みです。
例えば、
- ユーザーがパスワードを間違える
- ログイン失敗回数を記録する
- 一定回数を超える
- アカウントを一時的にロックする
- 一定時間経過または管理者操作で解除する
という流れです。
主な目的は、パスワードを大量に試す攻撃への対策です。
なぜログイン失敗回数を制限するのか
パスワード認証では、攻撃者がさまざまなパスワードを自動的に試す可能性があります。
例えば、
“`text
password
password123
company123
abcdef123
…