クロスルート証明書 【cross certificate】
概要
クロスルート証明書(cross certificate)とは、デジタル証明書を発行する認証局自体のデジタル証明書(中間証明書)のうち、本来使用するルート証明書とは別のルート証明書に繋ぐことができるもの。デジタル証明書の仕組み
インターネットなどで公開鍵暗号を利用するには相手方の公開鍵を入手する必要があるが、相手が送ってきた公開鍵が伝送中に攻撃者によるすり替えや改竄に遭っていないか確かめる必要がある。そこで、信頼できる第三者によるデジタル署名を付与したデジタル証明書として送信し、受信側で署名を検証することがで真正性を確認する仕組みが用いられる。
信頼できる第三者としてデジタル証明書を発行する機関を「認証局」(CA:Certificate Authority)というが、署名の検証には認証局の公開鍵が必要なため、これを安全に入手する必要がある。世の中のすべての認証局の公開鍵を安全に揃えるのは困難なため、別の認証局が発行したデジタル証明書の形で公開鍵を入手する。
Webブラウザなどのデジタル証明書を利用するソフトウェアには、著名な認証局の証明書が登録済みとなっており、入手した認証局の証明書が組み込み済みの証明書で検証できれば、真正な認証局の公開鍵であるとみなすことができる。このような信用の起点となる認証局を「ルート認証局」(ルートCA)、そのデジタル証明書を「ルート証明書」という。
中間証明書とクロスルート証明書
Webサーバなどが相手方に証明書を渡す際には、自身のサーバ証明書と、それを発行した認証局の証明書(中間証明書)をセットで送り、受信側では自身が持つルート証明書で中間証明書を検証し、中間証明書でサーバ証明書を検証する2段階の処理で真正性を確かめる。
クロスルート証明書は中間証明書を検証できる別の中間証明書で、中間証明書に署名しているルート証明書とは別のルート証明書によって署名されている。サーバがこれを合わせて送ることで、クライアントは本来用いるべきルート証明書を持っていない場合でも、「別のルート証明書→クロスルート証明書→中間証明書→サーバ証明書」という3段階の手順で検証を行うことができる。
クロスルート証明書は、古いルート証明書が登録されたクライアントが何らかの事情で更新不可能な場合などに、暫定的に古いルート証明書でも検証できるようにするために発行されることが多い。パソコンやスマートフォンなど一般的な端末では常に最新のルート証明書に切り替えられていくため、クロスルート証明書の適用が必要とされる場面ばほとんどないとされる。