著者:田中麻維
大手電機メーカー系のSierに入社後、インフラエンジニアとしてLinuxサーバーの構築や保守・運用、ソフトウェアの開発業務を経験。アイティベル入社後は、IT領域の執筆などを行う。
ルート証明書とは、インターネット上で安全な通信を実現するSSL通信に必要な証明書です。クライアントからWebサイトへの安全な接続や、Webサイトの信頼性の確認など、さまざまな場面で利用されています。
ルート証明書は通常、WebブラウザやOSにあらかじめ組み込まれています。これにより、オンライン上での取引やクラウドサービスの利用など、多数のインターネット上のサービスを安心して利用できます。ルート証明書は、インターネットの安全性を支えるのに欠かせない存在といえるでしょう。
本記事では、ルート証明書の定義や運用上の注意点について解説します。
1. ルート証明書とは
ルート証明書は、SSL通信に必要な証明書です。Webブラウザ(クライアント)からWebサーバーに接続する際、「SSLサーバー証明書」の階層構造を検証するために使われます。
そもそもSSLサーバー証明書とは
SSLサーバー証明書とは、SSL通信でクライアントとWebサーバー間のデータを暗号化する際に利用される証明書です。
SSL通信では、クライアントとWebサーバー間において1対1で生成される、一時的な暗号キーを用いてデータを暗号化します。これにより、第三者によるデータの読み取りや改ざんを防ぎます。
SSL通信を行うためには、ルート証明書をクライアント側にインストールしなければなりません。ただし、代表的なWebブラウザやOSには、あらかじめ監査基準を満たした認証局のルート証明書がすでに組み込まれています。そのため、クライアント側でルート証明書の存在を意識することはあまりないでしょう。
SSLについては、以下の記事でも詳しく記載していますので、ぜひご覧ください。
ルート証明書の定義
ルート証明書は、以下のように定義されています。
- 「デジタル証明書」を発行している「認証局」の正当性を証明する証明書
- 「ルート認証局」が自身に対して発行した「デジタル証明書」
まず、ルート証明書する上で前提知識となる、デジタル証明書と認証局の定義や役割について説明します。
デジタル証明書(電子証明書)
デジタル証明書(電子証明書)とは、信頼できる第三者が間違いなく本人であることを電子的に保証する証明書です。SSLサーバー証明書、電子メール証明書、クライアント証明書などがあり、それぞれ用途が異なります。
認証局
認証局とは、デジタル証明書を発行・認証する組織のことです。認証局には、ルート認証局と中間認証局があります。
2. SSLサーバー証明書の階層構造
ここでは、SSL通信で使用する証明書の階層構造と各証明書の内容、構成について解説します。
階層①:ルート証明書
ルート証明書は、最上位の証明書で、ルート認証局による自己署名を用いた自らの証明書を指します。自身が正当なものであることを保証するために、身元を証明する電子証明書です。ルート証明書は、ルート認証局で発行されます。
ルート認証局
ルート認証局(ルートCA)とは、デジタル証明書を発行・認証する組織のひとつで、最上位の認証局を指します。ルート認証局の役割は、自己署名を用いてルート証明書を発行することや、中間認証局に対して証明書を発行することです。
ルート認証局の信頼性は極めて重要であり、厳しい監査や認証業務運用規定(CPS)の公開など、自らの正当性を証明している必要があります。
階層②:中間CA証明書(中間証明書)
中間CA証明書とは、次項で解説するSSLサーバー証明書とルート証明書の間にある証明書を指します。
ルート証明局が中間CA証明書を発行することで、ルート認証局ではない企業や団体がSSLサーバー証明書を発行できるようになります。
中間認証局
中間認証局は、ルート認証局が発行した証明書によってデジタル証明書の正当性を認証する組織です。
Webブラウザ(クライアント)から証明書が提示された際には、階層構造の最上位のルート証明書までさかのぼり、信頼できる認証局から発行されている証明書であるかを確認する必要があります。
しかし、すべての通信に対して、ルート認証局まで確認することは現実的ではありません。そのため、認証の管理を分散することを目的として、中間認証局が用意されています。
階層③:SSLサーバー証明書
SSLサーバー証明書は、前述の通り、SSL通信でクライアントとWebサーバー間のデータを暗号化する際に利用される証明書です。
サーバー証明書には、特定のドメイン名が記載されており、ドメインと通信先サーバーが一致することを保証します。
3. ルート証明書運用上の注意点
ルート証明書の確認方法や注意点について解説します。
ルート証明書の確認方法(Windows1 11の場合)
- 「スタート」を開き、検索窓に「certmgr.msc」と入力し、エンターキーをクリックする
- 「信頼されたルート証明書機関」を選択し、「証明書」をクリックする
- インストールされているルート証明書の一覧が表示される
ルート証明書の確認方法(macOSの場合)
- 「キーチェーンアクセス」を開く
- 「ログイン」から証明書を開くと、インストールされているルート証明書の一覧が表示される
エラー発生時の対応
ブラウザからWebサイトへアクセスする際に、「接続がプライベートではありません」と表示されることがあります。
この原因としては、ルート証明書が登録されていない、または証明書の期限が切れていることなどが考えられます。このエラーが発生した場合は、まず必要な証明書をインストールするとよいでしょう。
詳しくは、以下の記事で解説しています。
適切に運用するための注意点
ルート証明書は、意識せずにブラウザにインストールされていることがあります。そのため、クライアントやサーバーを管理する管理者は、ルート証明書の利用を把握しておくのはもちろんのこと、有効期限を把握しておくことも大切です。
ルート証明書の期限が切れてしまうと、提供しているサービスにアクセスできなくなるといった悪影響を及ぼすこともあるため注意しましょう。
なお、ルート証明書の期限は、基本的に長めに設定されていることが多いです。
4.まとめ
ルート証明書とは、インターネット上で安全な通信を実現するために必要な証明書です。ルート証明書は、正当な機関から発行されるものを利用し、有効期限に気を付けて利用する必要があります。証明書の違いや使い方を正しく理解し、安全な通信環境を保てるようにしましょう。