フェイルクローズド設計
システムに障害が発生した場合や設定が不確定な場合に、デフォルトで「拒否・アクセス不可」の状態になるよう設計する原則。最小権限の原則の具体的な実装パターン。
フェイルセーフとの違い
| フェイルセーフ | フェイルクローズド | |
|---|---|---|
| 目的 | 安全な状態への移行 | 未認可アクセスの防止 |
| デフォルト | 文脈依存 | 常に「拒否」 |
| 主な領域 | 物理・システム安全 | セキュリティ・認証 |
フェイルセーフが「壊れても安全」を目指すのに対し、フェイルクローズドは「設定が曖昧なら拒否」を原則とする。
具体例
認証システム
- 認証設定が不完全 → アクセスを許可しない
- 「noneモード(認証なし)」をデフォルトとしない
- トークン・パスワードが設定されていなければ起動しない
ネットワーク
- ファイアウォールのデフォルトルール: すべてDROPし、許可するものだけ明示
AIエージェントのセキュリティ
インターネットに露出したAIエージェント(自己増殖AIエージェント等)では特に重要。デフォルトで認証を要求し、設定が不完全な場合は起動を拒否する。
メリット
- 意図しない公開の防止: 設定漏れによる意図しないアクセス許可がない
- 明示的な許可: セキュリティポリシーが能動的に設定される
- 監査の容易さ: 「許可したもの」を明示的にリストアップしやすい
トレードオフ
- 利便性が下がる(最初から使えない)
- 設定コストが高い
- 誤設定による正当なアクセスのブロックリスク