デジタル証明書
公開鍵が、確かにその持ち主のものであることを、認証局(CA)が電子署名で証明したデータ。X.509という形式が使われる。
イマシルちゃんの解説
公開鍵暗号では、相手の公開鍵を使って暗号化したり、署名を確かめたりするよね。
でも、その公開鍵が本当に相手のものかどうかは、どうやって確かめればいいんだろう?
そこで、信頼できる第三者(認証局)が「この公開鍵は、確かにこのサイトのものです」とハンコを押したのがデジタル証明書なんだ。
いわば、ネットの世界の身分証明書だね!
より深い解説
定義
デジタル証明書(公開鍵証明書)は、公開鍵と、その持ち主の情報を結び付け、認証局(CA:Certification Authority)がデジタル署名をしたデータである。インターネットでは、X.509 v3形式が標準として使われている。
主な記載内容
| 項目 | 内容 |
|---|---|
| 主体者(Subject) | 証明書の持ち主 |
| サブジェクト代替名(SAN) | 証明書が有効なドメイン名の一覧。ブラウザはここで接続先と一致するかを確かめる |
| 公開鍵 | 持ち主の公開鍵 |
| 発行者(Issuer) | 証明書を発行したCA |
| 有効期間 | 使える期間の開始日と終了日 |
| シリアル番号 | CAが証明書ごとに付ける番号。失効の確認に使う |
| 署名 | CAが自分の秘密鍵で付けたデジタル署名 |
サーバ証明書が証明するのはドメイン名であり、IPアドレスの記載は必須ではない。
信頼の連鎖
サーバ証明書を発行した中間CAの証明書は、さらに上位のCAが署名し、最上位のルートCAの証明書にたどり着く。ルートCAの証明書は、OSやブラウザにあらかじめ組み込まれている。ブラウザは、サーバから受け取った証明書の署名を順にたどって、組み込み済みのルート証明書まで確かめられたら、その証明書を信頼する(証明書チェーン)。
失効の確認
秘密鍵が漏れた場合などには、有効期間内でも証明書を失効させる。失効しているかどうかは、次の方法で確かめる。
| 方法 | 内容 |
|---|---|
| CRL(証明書失効リスト) | CAが公開する、失効した証明書のシリアル番号の一覧 |
| OCSP | 証明書1枚ごとに、CAのサーバへ失効しているかを問い合わせる |
証明書の種類(認証のレベル)
| 種類 | CAが確かめる内容 |
|---|---|
| DV(ドメイン認証) | 申請者がドメインを管理していること |
| OV(組織認証) | ドメインに加えて、組織が実在すること |
| EV(拡張認証) | より厳格な審査で、組織の実在や法的な存在を確かめる |
有効期間の短縮
サーバ証明書の有効期間は、安全性を高めるため年々短くなっている。ブラウザ事業者とCAの業界団体(CA/Browser Forum)の決定により、2026年3月から最大200日となり、2029年3月には最大47日まで段階的に短くなる予定である。手作業での更新は現実的でなくなるため、ACMEプロトコルなどによる自動更新が重要になっている。