web-dev-qa-db-ja.com

CRLの理由の定義

CRLファイルで考えられるさまざまな理由の正式な定義はありますか? RFC5280のセクション6.3.2(b) にいくつかリストします:

  • 不特定
  • keyCompromise
  • cACompromise
  • affiliationChanged
  • 置き換えられた
  • cessationOfOperation
  • certificateHold
  • removeFromCRL
  • privilegeWithdrawn
  • aACompromise

私は調べてみましたが、これらのステータスがそれぞれ技術的に意味するものについての評判の良い説明を見つけることができません。理由がどのように表現されているかを考えると、単にそれらの意味を仮定したくありません。

9
Bratchley

[免責事項:私はソフトウェア開発者として、信頼されたパブリックCAの1つ、および多くの企業内部PKIを強化するソフトウェアの開発に携わっています]

tl; dr:私の知る限り、どのような状況でどの失効理由を使用するかについての正式なガイドラインはありません。各CAの管理者またはオペレーターの裁量次第です。

通常、証明書の失効は、GUIのドロップダウンメニューから失効理由の1つを選択する必要がある人間によって行われます。つまり、特定のEdgeケースが該当するバケットの決定は、組織やCAによって異なる場合や、IDバッジ、メールアクセス、ウェブサーバーの証明書を取り消すIT担当者の裁量に完全に依存する場合があります。 wtv。

企業のWindows Active Directory CAの場合:

私は Microsoftによる本当に古い記事 それぞれの理由について少し説明したテキストを見つけました-ページで "Revocation Reasons"を検索してください。 (MicrosoftはActive Directoryスイートの一部としてCAソフトウェアを構築したため、これはWindowsドメイン管理者向けの付属ドキュメントであると想定しています)。完全なリストについては、下部の付録Aを参照してください。

公衆インターネットTLS PKI

CA /ブラウザフォーラム(CABフォーラム)は、公に信頼されたCAおよびブラウザが証明書に関してどのように動作する必要があるかについてのポリシーを規定します。これが 公的に信頼された証明書の発行と管理のためのCA /ブラウザフォーラムベースライン要件、v.1.2.5、2015年4月 です。セクション13.1.5サブスクライバー証明書を取り消す理由(下記の付録Bを参照)に移動すると、CAが証明書を取り消す必要がある状況のリストがあります。しかし、彼らが使用することになっている理由コードについての言及はありません。

tl; dr再度:私の知る限り、どのような状況でどの失効理由を使用するかについての正式なガイドラインはありません。各CAの管理者またはオペレーターの裁量次第です


付録A: Microsoftからのガイダンス 各失効理由をいつ使用するかについて:

  • KeyCompromise。証明書に関連付けられた秘密鍵が危険にさらされており、権限のない個人が所有しているトークンまたはディスクの場所。これには、ラップトップの盗難やスマートカードの紛失などが含まれます。
  • CACompromise。 CAの秘密鍵が格納されているトークンまたはディスクの場所が危険にさらされており、権限のない個人が所有しています。 CAの秘密鍵が取り消されると、取り消されたと見なされる取り消された証明書に関連付けられた秘密鍵を使用して署名された、CAによって発行されたすべての証明書になります。

  • AffiliationChanged。ユーザーは、証明書の識別名属性に示されている組織との関係を終了しました。この失効コードは通常、個人が退職した場合、または組織を辞任した場合に使用されます。セキュリティポリシーで部門別のCAが別の証明書を発行する必要がある場合を除き、ユーザーが部門を変更するときに証明書を取り消す必要はありません。

  • 置き換えられました。代替証明書がユーザーに発行されましたが、その理由は以前の理由には該当しません。この失効理由は通常、スマートカードに障害が発生した場合、トークンのパスワードをユーザーが忘れた場合、またはユーザーが正式な名前を変更した場合に使用されます。

  • CessationOfOperation。 CAが廃止され、使用されなくなった場合は、CAの証明書をこの理由コードで失効させる必要があります。 CAが新しい証明書を発行しなくても、現在発行されている証明書のCRLを公開している場合は、CAの証明書を失効させないでください。

  • CertificateHold。 CAが特定の時点で証明書を保証しないことを示す一時的な失効。証明書がCertificateHold理由コードで取り消されると、証明書は別の理由コードで取り消されるか、取り消されずに使用に戻されます。

    注:CertificateHoldでは証明書を「取り消す」ことができますが、証明書が特定の期間有効であったかどうかを判別することが困難になるため、証明書を保留することはお勧めしません。

  • RemoveFromCRL。証明書がCertificateHold理由コードで取り消された場合、証明書を「取り消す」ことができます。取り消しプロセスでは、CRLに証明書がリストされますが、理由コードはRemoveFromCRLに設定されています。

    注:これはCertificateHoldの理由に固有であり、DeltaCRLでのみ使用されます。

  • 不特定。特定の理由コードを提供せずに証明書を取り消すことが可能です。未指定の理由コードを使用して証明書を取り消すことは可能ですが、証明書が取り消された理由に関する監査証跡が提供されないため、これはお勧めできません。


付録B:13.1.5 CA/Browser Forum Baseline Requirements for Issuance and and Management of Publicly-Trusted Certificates)からサブスクライバー証明書を取り消す理由、v.1.2。 2015年4月5日

公的に信頼された証明書の発行と管理のためのCA /ブラウザフォーラムベースライン要件、v.1.2.5、2015年4月公的に発行と管理のためのCA /ブラウザフォーラムベースライン要件-信頼できる証明書、v.1.2.5、2015年4月

  1. サブスクライバーは、CAが証明書を取り消すことを書面で要求します。

  2. サブスクライバーは、元の証明書要求が承認されなかったことをCAに通知し、遡及的に承認を与えることはありません。

  3. CAは、証明書の公開鍵に対応するサブスクライバーの秘密鍵が鍵の侵害を受けた(セクション10.2.4も参照)か、付録Aの要件に準拠していないという証拠を入手します。

  4. CAは、証明書が誤用されたという証拠を入手します。

  5. CAは、サブスクライバーがサブスクライバーまたは利用規約に基づく重要な義務の1つ以上に違反したことを認識させます。

  6. CAは、証明書での完全修飾ドメイン名またはIPアドレスの使用が法的に許可されなくなったことを示す状況を認識します(たとえば、裁判所または仲裁人がドメイン名登録者のドメイン名を使用する権利を取り消し、関連するドメイン名登録者と申請者の間のライセンス契約またはサービス契約が終了したか、ドメイン名登録者がドメイン名を更新できなかった場合);

  7. CAは、ワイルドカード証明書が不正に紛らわしい下位の完全修飾ドメイン名を認証するために使用されたことを認識させます。

  8. CAは、証明書に含まれる情報の重大な変更を認識します。

  9. CAは、証明書がこれらの要件、またはCAの証明書ポリシーまたは認証実務声明に従って発行されなかったことを認識させます。

  10. CAは、証明書に記載されている情報のいずれかが不正確または誤解を招くと判断します。

  11. CAは何らかの理由で操作を中止し、別のCAが証明書の失効サポートを提供するように手配していません。

  12. CAがCRL/OCSPリポジトリの維持を継続するよう取り決めを行っていない限り、これらの要件に基づいて証明書を発行するCAの権利は失効するか、取り消されるか終了します。

  13. CAは、証明書の発行に使用された下位CAの秘密鍵の侵害の可能性を認識します。

  14. CAの証明書ポリシーおよび/または認証実務声明では失効が必要です。または

  15. 証明書の技術的な内容または形式は、アプリケーションソフトウェアサプライヤーまたは依拠当事者に許容できないリスクを提示します(たとえば、CA /ブラウザーフォーラムは、非推奨の暗号化/署名アルゴリズムまたはキーサイズが許容できないリスクを提示し、そのような証明書を取り消す必要があると判断する場合があります。指定された期間内にCAに置き換えられます)。

9
Mike Ounsworth

ITU-T-X.509-20121 では、セクション8.5.3.1(理由コード拡張)で次のように説明されています。

unspecifiedを使用して、特定のコード以外の理由で証明書を取り消すことができます。

keyCompromiseは、エンドエンティティ証明書の失効に使用されます。これは、サブジェクトの秘密鍵、または証明書で検証されたサブジェクトの他の側面が侵害されていることがわかっているか、または疑われていることを示します。

cACompromiseは、CA証明書の失効に使用されます。これは、サブジェクトの秘密鍵、または証明書で検証されたサブジェクトの他の側面が侵害されていることがわかっているか、または疑われていることを示します。

affiliationChangedは、証明書のサブジェクト名またはその他の情報が変更されているが、秘密鍵が侵害されたと疑う理由がないことを示します。

supersededは、証明書が置き換えられたが、秘密鍵が侵害されたと疑う理由がないことを示します。

cessationOfOperationは、証明書が発行された目的で証明書が不要になったが、秘密鍵が侵害されたと疑う理由がないことを示します。

privilegeWithdrawnは、証明書(公開鍵または属性証明書)に含まれている特権が取り消されたために取り消されたことを示します。

aACompromiseは、属性証明書で検証されたAAの側面が危険にさらされていることがわかっている、または疑われていることを示します。

また、保留と削除についても説明します。ただし、保留は単に「一時的に取り消された」ことを意味し、「削除」はDelta-CRLに配置され、「ええと、その保留はキャンセルされました」と言います。 X.509によると、後続の「完全な」CRLは証明書をリストしなくなります。

また、技術的にこの拡張機能は完全にオプションであることも注目に値します。 RFC 3280と5280の両方で、適合CAは理由コードを提供する必要があると述べています。 X.509では、いつ使用するかについてはほとんど何も言われていません。使用された場合の意味です。

5
bartonjs