第22回 SSLサーバー証明書について

公開日:2020-01-17 更新日:2020-01-17

1. 動画



2. SSLサーバ証明書について

Webサイトとブラウザ間の通信を暗号化する場合、共通鍵暗号方式により暗号化が行われ、その際に使用する共通鍵の受け渡しは、公開鍵暗号方式により行われます。
SSLサーバ証明書には、その際に使用する公開鍵が含まれており、Webサイトにアクセスした際に自動的にダウンロードされます。

SSLサーバ証明書は、いくつかの認証レベルがあります。
認証レベルによっては、組織の存在を証明するものもあり、なりすましを防ぐことができます。
組織名は、Chrome の場合、URL の左の鍵をクリックして確認できます。
以前は URL の隣に緑色で組織名が表示されていましたが、表示されなくなったようです。
Edge ではグリーンバーで表示されます。
SSLサーバ証明書は、あくまでも、暗号化通信が行えると言うだけで、安全な Web サイトとして保証されている訳ではないことに注意してください。

SSLサーバ証明書は、一般に公開されているサイトの場合、
第三者の認証局(CA:Certification Authority)に発行してもらいます。
認証局は一般企業のため、証明書発行時に料金がかかります(無料の認証局もある)。

3. 認証局の正当性

SSLサーバ証明書があっても、信頼できない認証局から発行されている場合は、証明書の正当性もなくなります。
そのため、認証局も他の認証局から認証されており、
最終的には PC に最初からインストールされているルート認証局から認証を受けるようになっています。
ブラウザで証明書を表示すると、認証局の階層を確認できます。

また、公開が限定されているサイトの場合は、独自のルート認証局をインストールして、
独自のSSLサーバ証明書を発行して使うことができます。

PCにインストールされているルート認証局は、以下の方法で確認できます。
1. 「ファイル名を指定して実行」で certmgr.msc(ユーザー用) または certlm.msc(ローカルコンピューター用)
2. 「ファイル名を指定して実行」で mmc(Microsoft 管理コンソール)
   ->「スナップインの追加と削除」->「証明書」
3. Chrome 設定 -> 詳細設定 -> プライバシーとセキュリティ -> 証明書の確認

4. SSLサーバ証明書の内容

SSLサーバ証明書はブラウザの URL の隣にある鍵をクリックして確認できます。

1. 署名アルゴリズムと署名ハッシュアルゴリズム

SSLサーバ証明書を作成する際に使用するアルゴリズムです。
SSLサーバ証明書は以下の流れで作成します。

組織情報など + Webサイト側の公開鍵 ---> 署名ハッシュアルゴリズム ---> ハッシュ値

ハッシュ値 ---> 署名アルゴリズム ---> デジタル署名
           (認証局の秘密鍵で暗号化)

組織情報など + Webサイト側の公開鍵 + デジタル署名 ---> SSLサーバ証明書

ちなみに、ブラウザで Web サイトにアクセスした際に、 SSLサーバ証明書に含まれるデジタル署名が、認証局による署名か検証が行われますが、 一般的な認証局の公開鍵(SSLサーバ証明書)は PC にインストールされているため、 認証局にアクセスせずに検証を行うことができます。

2. 公開キー

共通鍵の受け渡しで使用する際の、Web サイト側の公開鍵です。
Web サイト側の秘密鍵でのみ復号できます。

3. サブジェクト

組織情報やドメインなど。

4. 拇印

SSLサーバ証明書のファイル全体のハッシュ値で、ブラウザにより算出されます。SSLサーバ証明書には含まれていません。
SSLサーバ証明書を手動でインストール際などに、本物の証明書かどうか確認する際に使用します。

5. https による通信イメージ