0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

サーバー証明書のデジタル署名とTLSの鍵交換の違いとは?

Posted at

はじめに

SSL/TLSの仕組みを勉強していると、「サーバー証明書の公開鍵」と「TLSの共通鍵を交換するための公開鍵」がゴッチャになって混乱することがよくあります。

この記事では、

サーバー証明書のデジタル署名とは?
サーバー証明書の構造と公開鍵の役割
TLSの鍵交換時に使う公開鍵との違い
なぜ今の主流では「証明書の公開鍵を鍵交換に使わない」のか?

を、できるだけ分かりやすく解説します。


1. サーバー証明書のデジタル署名とは?

サーバー証明書には、認証局 (CA) によるデジタル署名が含まれています。
この署名の役割は、「この証明書はCAが発行し、改ざんされていない」ことを証明することです。

🔹 署名の仕組み

  1. 証明書のハッシュ値を計算 (SHA-256 など)
  2. CAの秘密鍵でハッシュ値を署名
  3. 証明書に署名を埋め込む
  4. クライアントは、CAの公開鍵で署名を復号して検証

ポイント

  • デジタル署名は証明書のハッシュ値に対して行われる
  • クライアントは、CAの公開鍵を使って署名を検証する
  • 証明書の公開鍵とは別のもの (CAの鍵ペア)

2. サーバー証明書の構造と公開鍵

サーバー証明書は X.509 形式で、以下のような情報が含まれています。

項目 説明
バージョン X.509 のバージョン (通常は v3)
シリアル番号 証明書ごとに異なる一意の番号
署名アルゴリズム 署名に使用されたアルゴリズム (例: RSA-SHA256)
発行者 (Issuer) 証明書を発行した認証局 (CA)
有効期限 (Validity) 証明書の開始日・終了日
主体 (Subject) 証明書の対象 (ドメイン名など)
公開鍵 (Public Key) サーバーの公開鍵
拡張情報 (Extensions) SAN (Subject Alternative Name) などの追加情報
デジタル署名 証明書のハッシュに対する CA の署名

ポイント

  • サーバー証明書にはサーバーの公開鍵が含まれている。
  • この公開鍵は、TLSでの鍵交換に使う場合と使わない場合がある
  • 証明書のデジタル署名は、この公開鍵ではなくCAの秘密鍵で行われる

3. TLSの鍵交換と証明書の公開鍵は別物?

TLSの鍵交換時に使う公開鍵は、鍵交換方式によって異なります

方式 証明書の公開鍵を使う? 鍵交換の方法
RSA鍵交換 (古い方式) ✅ 使う クライアントがTLS共通鍵を証明書の公開鍵で暗号化
ECDHE鍵交換 (現在主流) ❌ 使わない サーバーとクライアントが一時的な鍵を生成・交換

4. TLSの鍵交換方式の違い

① RSA鍵交換 (古い方式)

  1. クライアントは、TLSの「共通鍵 (セッション鍵)」をサーバー証明書の公開鍵で暗号化し、サーバーに送る。
  2. サーバーは、自分の秘密鍵で復号し、共通鍵を取得する。
  3. 以降の通信を共通鍵で暗号化。

特徴

  • 証明書の公開鍵がそのまま鍵交換に使われる。
  • ただし、Forward Secrecy (前方秘匿性) がないため、秘密鍵が漏れると過去の通信が解読されるリスクがある。

② ECDHE鍵交換 (現在主流)

  1. サーバーとクライアントが、それぞれ一時的な鍵 (Ephemeral Key) を生成し、交換する。
  2. サーバー証明書の公開鍵は「サーバーの正当性を証明するため」だけに使われ、鍵交換には使わない!
  3. 交換した鍵を使って、共通鍵を生成し、以降の通信を暗号化する。

特徴

  • Forward Secrecy (前方秘匿性) あり → 秘密鍵が漏れても過去の通信は解読されない!
  • サーバー証明書の公開鍵は「鍵交換のため」ではなく、「サーバーの正当性の証明」に使われるだけ。

5. まとめ

  • サーバー証明書の公開鍵 = TLS共通鍵の暗号化に使うとは限らない!
  • RSA鍵交換では証明書の公開鍵を使うが、ECDHE鍵交換では使わない!
  • 今のTLSは ECDHE が主流なので、証明書の公開鍵は鍵交換には使わないことが多い!
  • 証明書のデジタル署名は、証明書のハッシュに対してCAの秘密鍵で行われる!
0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?