SSLサーバ証明書は、認証局の電子署名でその内容が保証される仕組みです。
そのため、SSLサーバ証明書に記載されている認証局の電子署名が本物と検証されなければ、そのSSLサーバ証明書は、信頼できません。
そもそも「認証局の電子署名」とは何でしょう。
その正体は、SSLサーバ証明書申請時に認証局に提出された「ウェブサーバの所有者情報と公開鍵」のメッセージダイジェスト(CSR)を、認証局の秘密鍵で暗号化したものです。
認証局の電子署名の検証は、以下のように行われます。
ただし、以下の内容のスムーズな理解には、公開鍵暗号方式の理解が必要です。
- Aさんは、ネットショップBのSSLサーバ証明書内の認証局の電子署名を検証するため、ブラウザにインストールされている認証局のサーバ証明書内の公開鍵を入手します。
- Aさんは、入手した認証局の公開鍵で、認証局の秘密鍵で暗号化された電子署名の復号を試みます。
- 復号できれば、Aさんは、電子署名は認証局のものと判断でき、ネットショップBのSSLサーバ証明書の発行元は詐称されていないとわかります。
復号できない場合、そのSSLサーバ証明書の発行元は怪しいとなります。
- Aさんは、ネットショップBのSSLサーバ証明書内のウェブサーバ所有者の情報と公開鍵から、メッセージダイジェストを計算します。
- 計算結果が、認証局の公開鍵で、認証局の電子署名を復号した結果(メッセージダイジェスト)と比較して、一致すれば、Aさんは、ネットショップBのSSLサーバ証明書は改ざんを受けていないと判断できます。
一致しない場合は、改ざんを受けた可能性があります。
公開鍵暗号方式を利用することで、SSLサーバ証明書は、その信頼性を高めています。