証明書の失効
証明書を信頼できなくなった場合にリソースを安全に保つために証明書または認証局(CA)を取り消す方法について学習します。
証明書サービスは、内部CAによって発行されたリソースの失効のみをサポートします。サービスを使用して外部管理証明書またはインポート済証明書を取り消すことはできません。また、ルートCAのCAバージョンを取り消すこともできません。
証明書または認証局(CA)は、様々な理由で信頼できるリソースとして無効化する場合、取り消すことができます。失効を使用すると、証明書またはCAの特定のバージョンが信頼できなくなったことを示し、有効期間の終了前にそれらを無効としてマークできます。特定のバージョンを取り消すことができますが、リソース全体を削除しないかぎり、常に少なくとも1つのバージョンの証明書またはCAが必要です。CAを削除することを決めた場合は、まずCAを取り消すことをお勧めします。
証明書バージョンまたはCAバージョンを取り消すには、証明書失効リスト(CRL)を発行および公開します。CRLは、CAバージョンまたは証明書バージョンが取り消されたとき、およびCAが作成されたときに公開されます。CRLには、CAが有効期限より前に取り消したX.509証明書がリストされます。CAが最初に作成されたときには、CRLは取り消された証明書を含まない空のリストです。
CAの作成時にCAの失効を構成しない場合は、後で失効を構成できます。失効を構成する前に取り消した証明書バージョンまたはCAバージョン(対応するCRLの公開を含む)は、CRLが使用可能になるとCRLに公開されます。
CRLでは、失効ステータスには失効理由が含まれ、CAの失効ステータスとその証明書の失効ステータスが一致する必要はありません。失効ステータスには次のものがあります:
- UNSPECIFIED。明確な理由はありません。(理由を明示せずに証明書を取り消すこともできますが、この方法はお薦めしません。)
- KEY_COMPROMISE.証明書の公開キーに対応する秘密キーが危険にさらされたことが疑われるか、実際に危険にさらされました。たとえば、秘密キーが格納されているデバイスを紛失した場合や盗まれた場合です。(この理由は、エンド・エンティティ証明書に使用されます。)
- CA_COMPROMISE.CA、またはCA証明書の公開キーに対応する秘密キーが危険にさらされたことが疑われるか、実際に危険にさらされました。これも同様に、たとえば、秘密キーが格納されているデバイスを紛失した場合や盗まれた場合です。
- AFFILIATION_CHANGED.個人が、証明書の識別名属性で指定された組織を離れたため、証明書のサブジェクト情報またはその他の証明書詳細が変更されました。
- 差替え。取り消された証明書に代わる代替証明書が発行されました。その理由は他の失効理由の1つではありません。
- CESSATION_OF_OPERATION.CAが業務を停止し、現在発行されている証明書のCRLを公開しなくなりました。
- PRIVILEGE_WITHDRAWN.証明書所有者に、証明書の使用を続けるために必要な権限がなくなりました。
- AA_COMPROMISE.証明書で検証された認証機関(AA)が危険にさらされたことが疑われるか、実際に危険にさらされました。
証明書を検証するために、証明書のクライアントは、証明書で指定されたエンドポイントでホストされている.crlファイルをCRL配布ポイント(CDP)として取得します。次に、ファイルに証明書のシリアル番号がリストされているかどうかを確認します。CRLに含まれる証明書はすべて無効として拒否されます。
CAを作成する前に、またはCAの失効を構成する前に、CRLを格納できる一意の専用のOracle Cloud Infrastructure Object Storageバケットを用意しておく必要があります。サービスが何度か試行してもCRLをオブジェクト・ストレージに公開できない場合、次にCRLの公開が試行されるのは次の証明書を取り消したときになります。
CRLは有効期間7日で公開され、3日ごと、期限切れになる前、または証明書が取り消されるたびにリフレッシュされます。CAのライフサイクル状態が「アクティブ」であるかぎり、CAはCRLをリフレッシュできます。
ユーザーは、クライアントからアクセス可能なエンドポイントでCDPをホストする責任を負います。サービスでは、CDPエンドポイントは検証されません。証明書のCDPは、証明書および発行元CAの証明書に含まれています。HTTPSチェーンの検証で循環依存がないことを保証できる場合のみ、CDPとしてHTTPSアドレスを設定できます。
CRLが格納されているオブジェクト・ストレージ・バケットやCDPのURLなど、CRLの詳細を更新しても、現在のCAバージョンの証明書は自動的に更新されません。新しいCDPを反映するために新しい証明書を発行する場合は、新しいCAバージョンを作成する必要があります。
発行元CAがCRLを公開するように構成されている場合、証明書を取り消すと、CRLがオブジェクト・ストレージ・バケットに正常に公開されるまで、リソースのライフサイクル状態が「更新中」になります。取り消されたCAは引き続き更新可能であるため、「アクティブ」状態のままです。CAバージョンのみが取り消されます。さらに、CAの失効は、下位CAの失効ステータスやCAが発行した証明書に影響しません。発行元CAが危険にさらされた場合、階層内のすべての子孫を取り消すことをお薦めします。