シングルサインオン:セキュリティプロトコル
シングルサインオンにおける信頼境界、トークンまたは認証情報、不正利用制御、有効期限、取り消し、および脅威緩和策を指定します。採用の境界と観測可能な障害証拠を固定しつつ、環境固有の制限は設定可能なままにします。
パッケージの状態: 参照コンテキストは人間によるレビュー準備完了。契約とテストシナリオは完了していますが、採用実装がこれらを通過したという主張はありません。
決定
シングルサインオンには、明示的な保証を伴うサーバー側の認証情報およびセッションライフサイクルを採用します。信頼されたサーバー側で制御を強制し、デフォルトは拒否とし、脅威の前提、不正利用制限、証拠、回復を定義します。このパッケージは参照契約であり、採用チームは自環境の証拠に基づいて数値制限、プロバイダー、法域、運用責任者を選択しなければなりません。
範囲
- このセキュリティブロックで記述されるシングルサインオンのアクター、入力、出力、状態、ポリシーまたはスキーマバージョン、および外部に見える結果。
- 主および代替インターフェース、バックグラウンド作業、キャッシュ、統合、サポート経路、および同じ境界を行使できる証拠。
- 参照を安全に適用するために必要な採用固有の設定、展開、回復、および検証責任。
このブロックの外側
- すべての採用者に対して普遍的なベンダー、フレームワーク、法域、数値閾値、保持期間、またはサービスレベル目標を選択すること。
- パッケージ化されたシナリオが下流の実装で実行されたと主張すること、またはこの参照が法的、セキュリティ、アクセシビリティの認証を付与すること。
契約
- 保護された認証情報のみを保存し、署名および回復用の秘密をローテーションし、認証情報をURL、ログ、分析、サポートビューから除外する。
- 発行、使用、有効期限、取り消し、回復、およびリプレイ処理を名前付き主体と意図されたアクションに紐付ける。
- 列挙耐性のある公開応答を返しつつ、サポートおよび不正利用対応のために十分な内部理由および相関データを保持する。
- 古いログインを永遠に信用するのではなく、主体、デバイス、認証器、リスク、またはセッション状態の変更後に機微な操作を再評価する。
- すべてのクライアント、コールバック、ファイル、モデル、およびテレメトリフィールドを、認証および意図されたアクションの検証が完了するまで信頼しない。
- 1つのパーサー、認証情報、またはプロバイダーの侵害が決定的となる高影響経路には、2つ目の独立した安全装置を要求する。
- 組織ドメインまたは設定を検証済み管理者に紐付け、発行者と主体を1つの外部IDにマッピングする。
- プロビジョニング、ログイン、セッション、ロールマッピング、デプロビジョニング、およびブレイクグラスアクセスは別々の状態と証拠を持つ。
実装ガイダンス
- 実装レビュー前に通常の脅威、リプレイ、列挙、クロステナント、自動化、および依存関係劣化経路を脅威モデル化する。
- フレームワークやベンダーの詳細を選択する前に、シングルサインオンの入力、出力、アクター、状態、不変条件、副作用、および証拠をモデル化する。
- 適用されるシングルサインオン契約またはポリシーバージョンを状態と共に保存し、マイグレーション、リプレイ、およびサポートの判断が帰属可能なようにする。
- 制御された展開の背後に経路を導入し、期待される結果と観測された結果を比較し、採用証拠が完了するまでテスト済みの回復ルートを保持する。
障害処理と安全装置
- 認証証拠が欠落、有効期限切れ、リプレイ、または矛盾している場合はアクションを拒否し、レート制限された回復経路に従う。
- 無効または矛盾したシングルサインオン状態は拒否または隔離し、実装は権限を拡大したり効果を重複させる値を推測しない。
- リトライは制限され耐久的なIDを使用し、使い果たした後は検査可能な終端状態に達し、責任者が明確である。
検証および運用
- すべての信頼境界で許可と拒否のペアケースを使用し、制御依存の喪失が閉じた失敗となることを確認する。
- シングルサインオンの成功、拒否、検証失敗、依存失敗、リトライ使い果たし、および回復を契約バージョンごとに監視し、機密ペイロードの詳細は含めない。
- ポリシー、スキーマ、依存関係、マイグレーション、または境界の変更後に正負のペアフィクスチャを再実行し、得られた証拠を保持する。
採用の前提
- 例の名前と値は具体的なフィクスチャであり普遍的なデフォルトではなく、採用者は文書化された証拠と所有権を通じて置き換える。
- 採用システムは認証済みID、耐久的な操作または記録バージョン、制限されたテレメトリ、および変更のための制御された経路を提供できる。
このパッケージの実行可能に見える例はフィクスチャおよび受け入れ契約です。
構造とメタデータを検証するためにコレクションバリデーターを実行し、ターゲットリポジトリでシナリオを翻訳・実行してから実装証拠を記録してください。