ルートキーなしで VPN 証明書の発行を委任する
証明書の発行は権限であり、ルートキーの保持は能力である。中間証明書は前者を限定し、アカウントの削除は侵害ではない。
誰かに VPN クライアントを登録する能力を与えることと、ルートキーの持ち運びできるコピーを渡すことは別の行為であり、その違いはその人物が去るか、その鍵が漏れたときに初めて見えてくる。前者はあなたが管理するワークフロー内の操作を与え、後者はどこでも、オフラインで、期限なく信頼を作り出す能力を与える。鍵素材に触れる前に、仕事がどちらを必要としているかを決めること。階層図はその問いに答えてくれない。
登録作業を三つの問いとして書き出す。誰が要求でき、誰が承認し、発行コンポーネントが何に署名できるのか。
どの能力を渡すのかを決める
発行サービスは、署名素材を別の所有者の下に置いたまま承認ワークフローを公開できる。運用者がデバイス要求を承認し、サービスがポリシーを適用して発行を記録し、関係者の誰も CA 鍵を保持しない。許可される身元、承認者、サービスが署名できる範囲を文書化し、その管理を鍵と同じくらい慎重に守る。証明書署名要求は要求であって、認可の判断ではない。
ハードウェアに支えられた保存は、鍵がコピーされるリスクを変えるが、認可の必要性は変えない。エクスポート不可とは鍵を持ち出せないという意味であり、署名インターフェースを呼べる誰もが証明書を受け取る資格を持つという意味ではない。この二つの性質は別々に評価すること。
中間証明書は権限を限定する
ルートは日常的な発行のために中間証明書を証明でき、ルート自身の署名と復旧の手順が保護されている限り、定型作業はルートキーに触れなくなる。これは実際の境界であり、無料ではない。もう一つの証明書、もう一つの鍵、もう一つの更新、そして維持すべきもう一つの失効リストが必要になる。管理上またはリスク上の意図的な境界を表すときに使うこと。管理者ごとに発行者を作ると、あらゆるものが増えるだけで、ワークフローがすでに提供していないものは何も買えない。
VPN の検証側が期待どおりにチェーンを構築することを確認すること。チェーン構築のために中間証明書を配布することと、それを直接信頼されるアンカーとして導入することは別の配置である。
pathLen のゼロは思っている意味ではない
RFC 5280 の 4.2.1.9 節は基本制約を定義しており、そのパス長フィールドは、有効なパスの中で自己発行でない中間証明書がいくつ続けるかを制限する。ゼロという値はさらなる中間の深さを制限するものであり、末端エンティティ証明書の数を制限するものではない。人々はこれを「証明書はゼロ枚まで」と読み、なぜ発行がまだ機能するのかと不思議に思う。このフィールドを CA に対する深さの制限として読めば、振る舞いは予測可能になる。
同じ節は、トラストアンカーがパス内の普通の証明書ではなく、パス検証への入力であることを示唆している。そのため、自己署名ルートの失効エントリを公開しても、あらゆるストアから確実に削除されるわけではない。
退職は鍵の侵害ではない
退職者が個人の管理アカウントしか持っていなかった場合、そのアクセスとセッションをサポートされた身元プロセスで取り消し、その後で彼が生み出した活動と承認を確認する。以前に発行されたクライアント証明書は、承認者が去ったからといって無効にはならず、侵害として扱うと大規模で不要な再登録を生む。アカウントを無効化してもコピーされた署名鍵は無効にできないので、対応はどの能力が保持されていたかによる。
中間証明書が侵害された場合、その認可を取り下げ、彼が保証したすべての身元を交換する必要があり、検証側が適用するポリシーに従う。ルートの信頼には独自の対応が必要である。アンカーはあなたが管理していないかもしれないトラストストアに住んでいるからだ。
四つの具体的なケースで設計を受け入れること。適格なデバイスが登録される、承認されていない要求が拒否される、削除された運用者はもう発行できない、引退した発行者はもうアクセスを与えない。その四つの結果がランブックである。