証明書を証明する最上位認証局(ルートCA)は最重要!
- セキュリティを高めるためには、暗号だけでは足りない!
- セキュリティには鍵がキーになる!
- 対称暗号(共通鍵暗号)といえば、AES!
- セキュリティを高める一つの基準「CRYPTREC」は大切!
- 非対称暗号(公開鍵暗号)といえば、RSA!
- ハイブリッド鍵暗号システムは対称(共通鍵)暗号と非対称(公開鍵)暗号のいいとこどり!
- 一方向ハッシュ関数は「一方通行の指紋」だった!
- メッセージ認証コードの弱点は「否認防止」だった!
- 「誰が作成したの?」を解消するデジタル署名!
- 証明書を証明する最上位認証局(ルートCA)は最重要!
はじめに
2025年10月のプロジェクトマネージャ試験受験を終え、2026年春の情報処理安全確保支援士に向けて勉強中です。
セキュリティに関して無知であるため、資格勉強の傍ら暗号技術入門 第3版 秘密の国のアリスを読んでいます。
本記事は、そんなセキュリティ初心者による読書感想文です。
本記事では、書籍のうち「第1部」と「第2部」の内容のみ扱います。そのため、より詳しい内容や「第3部」については書籍をご参照ください。
目的
重要な役割を果たす公開鍵が正しいものかどかを証明する証明書について学びます。
対象
重要な役割を持つ証明書について、概要を理解したい方を対象としています。
証明書
自動車を運転するためには、運転してもよいよという証明書「運転免許証」が必要です。
そして、そんな運転免許証は公安委員会が認めています。
公開鍵証明書(PKC(= PublicKeyCertificate))も運転免許証と同じようは役割があります。
具体的には、PKCには「この公開鍵は確かにこの人のものである」という証明書です。
そして、この公開鍵証明書は認証局(CA(= CertificationAuthority))によってデジタル署名が行われています。
証明書を使うシナリオ
受信者はあらかじめ公開鍵を認証局に登録します。
登録された公開鍵を使って送信者がメッセージを暗号化し、受信者が自身の秘密鍵で暗号文を復号します。
この時、送信者は認証局のデジタル署名が付いた受信者の公開鍵を入手することで、正真性が担保され、なりすましを検出できます。
公開鍵基盤(PKI)
PKI(PublicKeyInfrastructure)は、公開鍵を効果的に運用するために定められた多くの規格や仕様の総称です。
PKIにはさまざまな規格が存在しているため、PKIの全体像がつかみづらいです。
そのため、本記事では、PKIを構成する基本要素(利用者・認証局・リポジトリ)と認証局の仕事について簡単にまとめてみます。
利用者
利用者とは、PKIを利用する送信者や受信者のことです。
そのため、利用者には、PKIを使って自身の公開鍵を登録したいと思っている人と登録されている公開鍵を使いたいと思っている人がいます。
認証局(CA)
CA(CertificationAuthority)とは、証明書の管理を行う人です。
認証局の仕事としては、下記のとおりです。
- 鍵ペアを作成する
- 公開鍵の登録の際に、本人を認証する
- 証明書を作成し発行する
- 証明書を破棄する
認証局の仕事のうち、「公開鍵の登録と本人の認証」を登録局(RA(= RegistrationAuthority))という人(エンティティ)に分担させる場合もあります。
リポジトリ
リポジトリとは、証明書を保存しておき。PKIの利用者が証明書を入手できるようにしたDBのことです。
認証局の仕事
上述した通りですが、もう少し詳しく見ていきましょう。
鍵ペアの作成
利用者の鍵ペアの作成は、PKIの利用者が行う場合とCAが行う場合があります。
CAが行う場合、プライベート鍵を利用者に送る仕事をする必要があり、その方法はRFC7292などで定められています。
証明書の登録
利用者が鍵ペアを作った場合、利用者はCAに証明書の作成を依頼します。
証明書を申請するときの規格は、RFC2986などで定められています。
CAは運用規定に基づいて利用者を認証し、証明書を作成します。
作成の際は、CAのプライベート鍵を使ってデジタル署名を行いまうs。
証明書の破棄とCRL
利用者がプライベート鍵をなくしたり、盗まれたりした場合、CAは証明書を破棄して無効にする必要があります。
また、プライベート鍵の所有者が退職等で利用権限を失った場合にも上記の対応をします。
証明書を破棄する場合、CAは証明書破棄リスト(CRL(= CertificateRevocationList))を作成します。
つまり、PKIの利用者は、認証局から最新のCRLを入手して、検証に使おうとしている公開鍵の証明書が破棄されていないか調べる必要があります。
さらに、近年では、CRLだけでなくOCSP(OnlineCertificateStatusProtocol)を用いて、リアルタイムに証明書の失効状態を確認する方式も利用されています。
階層になった証明書
CAの公開鍵はどのように検証すればよいでしょうか?
つまり、今入手したCAの公開鍵は正しいものなのか、どのようにして検証すればよいのでしょうか?
これを実現するためにCAが別のCAの公開鍵を検証するという関係は、階層関係によって実現できます。
つまり、自身の公開鍵の証明書を上位のCAが発行するという手順を繰り返し、最上位のCAで止めます。
この「最上位のCA」をルートCAと呼び、ルートCAまで証明書の発行を繰り返します。
- 札幌支店従業員が持つ公開鍵に対して、札幌支店認証局が証明書を発行
- 札幌支店認証局に対して、北海道支社認証局が証明書を発行
- 北海道支社認証局に対して、東京本社認証局が証明書を発行
- 東京本社認証局に対して、東京本社認証局が証明書を発行
上記のように、「東京本社認証局に対して、東京本社認証局が証明書を発行」するというような、自身の公開鍵に対して行うデジタル署名のことをセルフ署名と呼びます。

