ある企業が AWS Certificate Manager Private CA(ACM Private CA)を使用して社内 PKI を運用しており、300 以上のマイクロサービスに対してプライベート TLS 証明書を発行しています。あるマイクロサービスの秘密鍵が侵害されたことが判明しました。セキュリティチームは侵害された証明書を即座に無効化し、他のマイクロサービスがその証明書を信頼しないようにする必要があります。他の正規の証明書は影響を受けてはなりません。正しい対応手順はどれですか?
PKI における証明書失効の標準的な仕組みは CRL(Certificate Revocation List)と OCSP(Online Certificate Status Protocol)である。ACM Private CA は両方をサポートしており、CA 作成時に設定できる。 失効の手順は以下の通りである。 ①RevokeCertificate API を呼び出して失効理由(KEY_COMPROMISE 等)を指定する ②CA に紐づく CRL が更新され、失効した証明書のシリアル番号が追加される ③クライアント(他のマイクロサービス)は TLS ハンドシェイク時に CRL または OCSP で証明書の有効性を確認し、失効した証明書を拒否する 重要な点として、クライアント側が CRL/OCSP チェックを実装していなければ失効は機能しない。また CRL の配布ポイント URL は CA 作成時に設定する必要がある。侵害された 1 枚の証明書のみを対象とするため、他のマイクロサービスの証明書への影響はない。 選択肢AのACMからの証明書削除は管理レコードを消すだけであり、既に発行された証明書のデジタル署名は有効なままである。PKI において「削除=失効通知」とはならず、他のサービスは証明書を有効と判断し続ける。 選択肢CのルートCA再作成は全証明書の再発行・再配布が必要となる大規模な作業であり、1 枚の証明書侵害への対応として不適切かつ過剰である。 選択肢DのUpdateCertificate API は ACM Private CA には存在しない。発行済み証明書の有効期限を遡及変更する機能は提供されていない。