- ホーム>
- SSLサーバ証明書とは
SSLサーバ証明書とは
インターネット通信は TCP/IP と呼ばれる基本通信プロトコルを使って行われています。TCP/IP ではパケットと呼ばれる小分けされたデータをバケツリレイのように、サーバー、ルーター、スイッチなどを等して受け渡しています。FTP、HTTP、IMAP、POP3、SMTPなどの上位の通信プロトコルは TCP/IP を利用してパケットを受け渡ししています。受け渡されるパケットが暗号化されていない場合は、通信経路上での閲覧、改ざんが可能です。
安全性を確保するためにFTPS、HTTPS、IMAPS、POP3S、SMTPSなどの通信プロトコルが利用されます。これらのプロトコルではパケットのデータ部分が暗号化され閲覧、改ざんが不可能になっています。
これらの通信プロトコルで重要な働きをしているのが、SSLサーバ証明書です。
このページではSSLサーバ証明書についてできるだけ簡略化したわかりやすい説明をして行きます。
SSLサーバ証明書はなぜ利用されるのか
SSLサーバ証明書は二つの機能を担っています。
一つは暗号化通信に必要な鍵を通信の当事者間(例: Web サーバーとブラウザ)で安全に共有することです。
もう一つは通信相手のサーバーが真の通信相手であることを保証することです。
鍵を通信の当事者間で安全に共有する
暗号通信のためには、通信の当事者だけが知っている鍵が必要です。
単純な例ですが「アルファベットを数字分後ろにずらす」という鍵が「12345678」の場合、「digicert」をこの鍵で暗号化すると「ekjmhkyb」になります。
受信者がこの方法で暗号化されたデータだと知っていれば「digicert」に復号化できます。
既知の人間同士の場合であれば、二人だけの鍵を事前に共有することもできますが、インターネットでは鍵の共有には特別な方法が必要です。
これを「公開鍵暗号」と呼びます。SSLサーバ証明書には公開鍵が含まれていて、これによって「鍵を通信の当事者間で安全に共有する」ことができます。
詳しくは「公開鍵暗号」のページを参照ください。
通信相手が真の通信相手であることを保証する
通信が暗号化されていても、通信相手が本物とは限りません。
フィッシングと呼ばれる犯罪は、あたかも銀行や有名サイトであるかのような偽装を行って、パスワードやクレジットカード情報のような重要な情報を搾取しようとします。
サーバ証明書が通信相手の身分を保証します。保証の範囲は、証明書のタイプによって異なります。
ドメイン認証(DV)証明書は、「ドメインの実在・ドメイン権利者による証明書申請」を保証します。
組織認証(OV)証明書は、「ドメイン認証範囲に加え、ドメイン権利者組織の実在」を保証します。
拡張認証(EV)証明書は、「組織認証に加え、ドメイン権利者組織実在の確実性」を保証します。
ではなぜ、サーバ証明書の保証が信頼できるのでしょうか?
個人の身分を保証する証明書でも、運転免許証は有効でも、会社が発行した社員証は信頼されないことがあるように、証明書の発行者への信頼が証明書を有効にします。
SSLサーバ証明書は認証局と呼ばれる組織が発行しています。そしてその組織が発行したことを証明する root 証明書情報がすべてのSSLサーバ証明書に含まれています。
このように個別のSSLサーバ証明書(公開鍵)とそのSSLサーバ証明書(公開鍵)の持ち主の対応関係を保証する仕組みを PKI (public key infrastructure) 公開鍵基盤と呼びます。
詳しくは「PKI 公開鍵基盤」のページを参照ください。
どこで利用されるのか
SSLサーバ証明書が一番よく使われているのは Web アクセスの HTTPS ですが、そのほかにも、安全な FTP を行う FTPS、 安全な IMAP のための IMAPS、 安全な POP3 のための POP3S、 安全な SMTP のための SMTPSなどがあります。それぞれのプロトコルの特性により真正の通信相手であることの確認を不要にするなど利用方法に違いがあります。
SSLサーバ証明書は Web サイトにアクセスする場合のクライアント証明書としても利用できます。
このほか、SSL-VPNでもSSLサーバ証明書が利用されます。
SSLサーバ証明書とSSL/TLS サーバ証明書
「SSLサーバ証明書」と「SSL/TLS サーバ証明書」は同一です。SSLサーバ証明書は TLS (Transport Layer Security) という暗号化通信プロトコルを利用していますが、TLS プロトコルは SSL (Secure Socket Layer) プロトコルから発展してきた歴史があり、その流れを受けて今でも「SSLサーバ証明書」という呼び名が使われています。
1994年にSSL 2.0が公開され、翌1995年にセキュリティ上の問題を修正したSSL 3.0が公開されました。この時点でHTTPSの利用が可能になりました。1999年にSSL3.0とほぼ同等の TLS 1.0がリリースされました。その後セキュリティ上の問題を修正した TLS 1.1、sha256 に対応したTLS 1.2がリリースされました。2018年4月現在利用可能なのはこのTLS 1.2です。