デジタル署名はデータと署名者を検証する仕組み、電子証明書は公開鍵と持ち主を結び付けるデータです。電子証明書にも発行元の署名が使われるため、互いに支え合う関係にあります。
何を確かめるかで区別する

| 観点 | デジタル署名 | 電子証明書 |
|---|---|---|
| 対象 | 文書などのデータ | 公開鍵と主体の情報 |
| 目的 | 署名者の確認・改ざん検知 | 公開鍵と持ち主の対応の確認 |
| 利用する鍵 | 署名者の秘密鍵で生成、公開鍵で検証 | 発行元の秘密鍵で証明書へ署名 |
| 例 | 配布ソフトウェアの署名 | Webサーバの証明書 |
署名が正しくても、鍵の持ち主の確認が必要
典型的には文書のハッシュ値を求め、送信者の秘密鍵を使って署名を生成します。受信者は送信者の公開鍵で署名を検証します。署名方式にはRSA系やECDSAなどがあり、すべてを「ハッシュ値を秘密鍵で暗号化し、公開鍵で復号する」と表すのは正確ではありません。
公開鍵が攻撃者のものだった場合、その鍵で署名を検証しても、期待した本人の署名だとは確認できません。ここで公開鍵と主体を結び付ける電子証明書が役立ちます。
CAの署名と証明書の検証
公開鍵が誰のものかを確認するために、公開鍵と主体の情報を結び付けた電子証明書を利用します。CA(認証局)の署名だけでなく、信頼できる発行元へつながるか、有効期限や利用目的、サーバ証明書なら接続先のホスト名なども確認します。
証明書自体の改ざんは、証明書に付けられた発行元の署名を検証することで検出します。「証明書と改ざん検知は無関係」と覚えるのも誤りです。署名の技術を、証明書を信頼するためにも利用しているのです。
HTTPSでの役割
証明書を使うTLS通信では、サーバの証明書を検証して接続先の鍵を確認します。さらに対応する秘密鍵を持つことの証明などを含むハンドシェイクを行い、通信データの保護に使う鍵を確立します。証明書を受け取るだけで通信がすべて暗号化されるわけではありません。
理解を確かめる確認問題
電子証明書の主な役割はどれでしょうか?
ア:公開鍵と持ち主を結び付ける
イ:あらゆる文書を圧縮する
ウ:秘密鍵を公開する
解答・解説を見る
正解はアです。証明書には公開鍵や主体の情報などが含まれます。発行元の署名や信頼の連鎖などを検証して利用します。秘密鍵は公開しません。
参考:NIST:秘密鍵の役割


コメント