認証局(CA: Certificate Authority)とは、「この公開鍵は確かにこのドメイン(または組織)のものだ」と保証するデジタル証明書を発行する機関です。ブラウザが https のサイトを安全な接続として扱えるのは、認証局が発行した証明書をブラウザが検証しているからです。
認証局とは:信頼の連鎖の起点
認証局は、自分の秘密鍵で証明書に署名します。ブラウザや OS には、信頼する認証局のルート証明書の一覧(トラストストア)があらかじめ組み込まれています。サイトの証明書をたどってこのルート証明書に行き着けば、ブラウザは「信頼できる」と判断します。Mozilla、Microsoft、Apple、Chrome はそれぞれルートプログラムを運営し、どの認証局を信頼するかを決めています。
したがって、認証局が信頼できるかどうかは、秘密鍵を安全に管理できているかに全面的にかかっています。秘密鍵が漏れたり推測されたりすると、第三者がそのルートの下で偽の証明書を作れてしまいます。
使い方:エンジニアが関わる場面
典型的な手順は次のとおりです。まずサーバで鍵ペアと証明書署名要求(CSR)を作り、認証局に提出します。ドメインの管理権限を確認されたら証明書を受け取り、Web サーバに設定します。ACME プロトコルに対応した認証局なら、発行から更新までを自動化できます。
用途は Web サイトの HTTPS 化だけではありません。メールの暗号化や署名、ソフトウェアのコード署名、社内システムのクライアント認証にも使われます。社内だけで使う場合は、プライベート認証局を自前で立てる方法もあります。
料金:無料から有料まで
Let's Encrypt のように、証明書を無料で発行する認証局があります。ドメインの管理権限だけを確認する DV 証明書なら、費用をかけずに HTTPS 化できます。一方、組織の実在確認を伴う OV・EV 証明書やコード署名証明書は、有料の商用認証局が中心です。価格は認証局、証明書の種類、有効期間によって異なるため、本記事では具体的な金額は示しません。企画担当者は、まず「証明したいのはドメインか、組織か」を決めると、証明書の種類を選びやすくなります。
誰が運営しているか・競合
主な商用認証局には DigiCert、Sectigo、GlobalSign などがあります。非営利の Let's Encrypt も無料発行で広く使われています。ほかに各国の政府系・地域系の認証局もあります。事業を続けるには、ブラウザ各社のルートプログラムに採用され続ける必要があり、これが新規参入の高い壁になっていると筆者はみています(筆者の分析です)。
実際に起きたリスク:秘密鍵が1バイト
GIGAZINE によると、eMudhra で侵害された 8 つの認証局は、いずれも秘密鍵がわずか 1 バイトで、そのうち 1 つは値が「4」でした。これらの認証局は、Mozilla・Microsoft・Apple・Chrome のルートプログラムで信頼されているルート証明書につながっていたとされます。また日経クロステックは、Microsoft がインドの認証局の証明書を無効化し、その認証局の 384 ビット秘密鍵の値が「4」だったと見出しで報じています。1 バイトの鍵は事実上誰でも割り出せます。ルートプログラムに採用されていても、鍵の管理が破綻すれば信頼は成り立たないことを示す事例です。

