クロスルート証明書って何?

クロスルート証明書が何なのか?どういう仕組みか?の調査の記録

クロスルート証明書って何?

SectigoのSSL証明書を取得したら、クロスルート証明書が添付されていた。
クロスルート証明書が何なのか?どういう仕組みか?
証明書を更新する度にに忘れるので、以下調べた内容をメモする。

クロスルート証明書とは

OSやブラウザなど、証明書を検証するソフトウェアには、あらかじめ信頼できるルート認証局(CA)の証明書(ルート証明書)が組込まれている。 この組込み済みルート証明書で検証を行うことで、証明書が正しいことを確認する。

ルート証明書
 ↓
(中間証明書)
 ↓
証明書

しかし、新しいルート認証局が発行した証明書の場合、携帯機器などの古いブラウザなどはルート証明書が含まれておらず、証明書を検証できない。 その対策としてクロスルート証明書が使われる。 クロスルート証明書は、古いブラウザ等にも入っているルート認証局が発行した証明書だ。

以前から利用されているルート証明書
 ↓
クロスルート証明書
 ↓
(中間証明書)
 ↓
証明書

今回取得したSSL証明書のチェーン

SectigoのSSL証明書を取得した際に、次の証明書が送られてきた。 第3層目にもう1つ中間証明書が入っている。

階層 種別 証明書ファイル名
1 ルート証明書(下位互換用) AAACertificateServices.crt
2 中間証明書(クロスルート証明書) USERTrustRSAAAACA.crt
3 中間証明書(中間認証局) SectigoRSADomainValidationSecureServerCA.crt
4 末端証明書 自分のドメイン名.crt

証明書の検証のされかた

USERTrust RSA Certification Authority 認証局証明書がある場合(最近のブラウザやOS)

最近のブラウザやOSには、ルート証明書USERTrust RSA Certification Authority認証局の証明書がインストールされているため 階層3 SectigoRSADomainValidationSecureServerCAを検証できる。

よって、証明書は次のように検証されている

USERTrust RSA Certification Authority

保持しているルート証明書(USERTrust RSA Certification Authority)
 階層3 SectigoRSADomainValidationSecureServerCA.crt
  階層4(自分のドメイン名.crt)

USERTrust RSA Certification Authority 認証局証明書がない場合(古いブラウザやOS)

USERTrust RSA Certification Authority認証局証明書を持っていない古いブラウザやOSは 階層2中間証明書(クロスルート証明書)を経由して AAA Certificate Services認証局の証明書で検証される。

AAA Certificate Services

AAA Certificate Services認証局証明書
 階層2 中間証明書(クロスルート証明書)
  階層3(SectigoRSADomainValidationSecureServerCA.crt)
   階層4(自分のドメイン名.crt)

USERTrust RSA Certification Authority 、AAA Certificate Services どちらもない場合

どちらのroot証明書がないもっと古い環境の場合は、証明書の検証ができず、エラーとなる。

root証明書がない場合

AAA Certificate Servicesのサポート範囲は?

このクロスルート証明書経由に必要なAAA Certificate Servicesルート証明書はどのくらいの範囲をサポートするのだろうか?

  • 2004年から2028年末まで有効。

  • サポートするOSやブラウザは公式に以下の記載がある。

AAA証明書サービスとのクロス証明書は、古いバージョンとの互換性を提供します。
•Apple iOS 3 以降
•Apple macOS 10.4以降
•Google Android 2.3以降
•Mozilla Firefox 1以降
•Oracle Java JRE 1.5.0_08以降

購入後のご質問 | サポート | セクティゴ・コモドSSL https://comodo.jp/support/dtl_72

なぜクロスルート証明書が証明書を検証できるのか?

ここで疑問なのは、証明書がルート証明書・クロスルート証明書の両方で検証できてしまうことだ。
実際にこの場合のSectigoRSADomainValidationSecureServerCA.crtは クロスルート証明書USERTrustRSAAAACA.crtでも、 組み込みのUSERTrust RSA Certification Authorityルート証明書でも検証できている。

両者の証明書内容を調べるとその理由がわかる。 ルート証明書もクロスルート証明書もSubjectと公開鍵が同じになっている。

ルート証明書もクロスルート証明書のDIFF

この仕組みで異なるルート証明書を辿ることができるのだ。 やっと仕組みがわかった。

余談

Sectigoって何?

コモドのブランド名がSectigoに変わったそう。

Comodo認証局は「 Sectigo 」(セクティゴ) という新しいブランド名を育ててまいります。

セクティゴジャパン(旧コモドジャパン)からのお知らせ - コモドSSL https://comodo.jp/topics/dtl_116

Comodo CA Is Now Sectigo
Comodo CA Is Now Sectigo | Our Story So Far | Sectigo® Official https://sectigo.com/comodo