サーバー証明書とは

概要 -サーバー証明書とは-

  • 別名「SSL/TLS証明書」
  • 大きな役割は2つ
    • 通信の暗号化
    • Webサイトの運営者・運営組織の実在証明
  • 認証局 (CA: Certificate)」と呼ばれる組織が発行する

サーバー証明書の種類

  • Domain Validation (DV) 証明書
    • 証明書の申請者が「ドメイン名の管理者」であることを確認する
    • 比較的手軽に発行できるが、組織を認証しているわけではないためWebページを表示するときに組織名が表示されない
    • つまり、似たドメイン名でも申請すれば発行してもらうことができ、フィッシング詐欺などに利用される恐れあり
  • Organization Validation (OV) 証明書
    • 組織の実在性を証明してくれるので、DV証明書よりも信頼性が高い
  • Extended Validation (EV) 証明書
    • OV証明書よりも (CA/Browser Forum の基準に基づく) 厳密な認証を行う
    • 金融機関などより高い信頼性が求められる組織において使用されることが多い
    • Webブラウザのアドレスバーが緑色になるやつ

サーバー証明書の構成

  • Example CA Root X1
    • Example CA intermediate G2
      • example.jp

exmaple.jp の証明書は Example CA intermediate G2 によって署名されている。
Example CA intermediate G2 は Example CA Root X1 で署名されている。
Example CA Root X1 はクライアント端末の中 (基本的に OS) に保存されている。

サーバー証明書として「オレオレ証明書」を利用する場合や閉域網などクライアントがルート証明書の更新ができない環境の場合、クライアントにルート証明書をインストールする必要がある。

サーバー証明書発行の流れ

  1. CSR (証明書署名要求ファイル) の作成を行う
  2. 認証局へ申し込みを行う
  3. 認証局が審査・認証を行う
  4. 認証局からサーバー証明書が発行される

認証局の信頼性

  • 各種ブラウザの「信頼されたルート証明書」の設定内容に依存する。
  • 認証局の管理体制や運用状況などの確認は必要かも。

SSL/TLS暗号化通信の流れ

  1. SSL/TLSハンドシェイク クライアント・サーバー間で暗号化アルゴリズムの合意をとる。

  2. サーバー証明書の提示 サーバーからクライアントへサーバー証明書を送信する。
    クライアント (ブラウザ) がサーバー証明書の確認をする。

  3. 共通鍵の元データ交換・共通鍵の生成 クライアントが共通鍵の元となるデータを作成する。
    SSL/TLS証明書の公開鍵で暗号化して、サーバーに共通鍵の元となるデータを送信する。
    クライアント-サーバーで同じデータから同じ共通鍵を作成する。

  4. SSL/TLS暗号化通信の開始 クライアント-サーバー間で同じ共通鍵を使用して通信を開始する。

参考