LEVEL 3 / ER05 — E01 認証・ID管理
多要素認証の強制と猶予管理
猶予期限をテナント・利用者ごとに永続化し、再ログインで延長されないようにしました。確認済み状態を現在の利用者へ結び付け、ミドルウェアの順序も是正しています。
重要度を加味した整備スコア
3.36 / 6点
社内評価・共通配点 v1
2026年9月12日時点
全体100点のうち、この範囲の獲得点と配点
整備の進捗を比較する指標です。安全性・規格への適合率・導入合格点を示すものではありません。金融機関・大企業・AI専門企業で共通の配点を使います。個別の審査では、業務停止の影響や契約条件に応じて重要度を見直します。
本番導入では、テナント分離、権限失効、必須監査、AI送信・実行、復旧、契約・審査資料などの受入条件を個別に確認します。配点が低い項目も必須条件から外れず、未達を他項目の得点で相殺しません。
獲得点 = 配点 × 項目点 ÷ 100。項目点は、その項目でできていることの本数が、できていること+残っていることのうち何割かです。採点方法と全体の配点を確認できます。
| 項目 | 配点 | 現在の評価 | 獲得点 | 重みづけの理由 |
|---|---|---|---|---|
| ER05 多要素認証 | 6点 | 検証済み 証拠の段階 02 / 04 対応範囲 56%(済 5 / 残 4) |
3.36点 | 認証情報の窃取による侵入を抑える |
| この表の合計 | 6点 | 留保・未確認も含む | 3.36点 | 項目名から根拠と残条件へ進めます |
到達点と残作業
確認できた実装・試験・文書の範囲を記載します。技術検証と配備・運用の証拠を区別し、参照先は下の記録欄に示します。
いまできていること
- 猶予期限を
tenant_members.mfa_enrollment_started_atへ条件付き更新で保存する。再ログインや新しいセッションで延長されない。期限到達・未来時刻・所属不明はいずれも拒否する。migration は2026_09_10_020000_add_mfa_enrollment_start_to_tenant_members.php。 - 確認済み状態を現在の利用者IDへ結び付けた。パスワードを通過しただけではログイン成功として記録せず、TOTPまたは署名の検証成功後にセッションIDを再生成する。旧来のboolean値のみ、別人格の確認状態、確認待ちで登録要素が消えた場合を、いずれも認証完了として扱わない。
- 認証後のミドルウェア順序が
ResolveActiveUser → ResolveTenant → Enforce2FA → SubstituteBindingsであることを実アプリのRouterで確認した。従来はテナント解決前に方針を判定していた。TOTPの検証要求には毎分5回の試行制限を追加した。 - 未設定の利用者を
/settings?tab=securityへ誘導する。QRコードは既存のPHPライブラリでPNGのデータURIとしてアプリ内生成する。従来の外部QR生成URLへ認証シークレットを渡す実装を除去した。 - シークレットとバックアップコードの応答に
Cache-Control: no-store, privateを付与した。Service Worker のランタイムキャッシュ対象を公開ビルド資産のみに限定し、認証・業務画面・添付ファイルを保存しない。
残っていること
- 実機のパスキー署名によるブラウザ検証は未実施。
- 要素の管理者リセットに伴う既存確認セッションの全面失効は未対応。
- バックアップコードの競合消費防止は未対応。
- 本番・検証サーバーへ未配備。導入時はmigrationを先に適用する必要がある。
この項目の受入条件
次のすべてを、コード・否定試験・確認・配備・運用証拠で示せたときにのみ「達成」とします。機能の存在や継続的インテグレーションの成功は代わりになりません。
- 新しいセッションを開いても猶予期限が延長されないこと。
- 確認を完了していない利用者が業務画面へ到達できないこと。
- 設定導線に循環がないこと。
試験・確認の記録
試験、文書照合、配備確認の記録を区別して記載します。対象環境・実施時点・検証範囲は各行をご確認ください。過去の試験成功は、現在の本番稼働や契約条件の充足を意味しません。
| 試験・確認 | 結果 |
|---|---|
| MfaEnforcementTest | 15テスト52アサーション 成功 |
| MfaLoginBoundaryTest | 1テスト7アサーション 成功(PHPUnitの非推奨警告が1件残る) |
| MfaEnrollmentGraceTest | 3テスト17アサーション 成功(専用MySQL) |
| MfaSetupDataTest | 2テスト10アサーション 成功 |
| MfaRoutePublicationTest | 1テスト7アサーション 成功 |
| PersonalSessionRouteTest | 1テスト7アサーション 成功 |
| service-worker-cache.test.cjs | 11テスト 成功 |
| ブラウザ操作(専用MySQL・合成アカウント) | 猶予0での誘導、誤コード拒否、再ログイン後の再確認、業務画面へ到達しないことを確認 |
出典は社内評価「Autais 導入基準調査・現状評価」(E01)と実装台帳の ER05 です。掲載は2026年9月12日時点の記録に基づきます。