はじめまして、インフラエンジニアのかっさんです。
今回はSSLサーバ証明書(サーバ証明書)について、お話ししようと思います。
近年、様々な情報がWeb上でやり取りされており、その分情報に関するセキュリティ管理もよりレベルの高いものが求められています。「うちのサイトもセキュリティ強化したいけどどうしたらいいんだろう」という方もいるかと思いますので、ご参考になればと思います。
※セキュリティに関しては、以下も参考になりますので是非ご参照ください。
サーバ証明書とは
まずサーバ証明書ってなに?と思われる方ともいると思いますが、サーバ証明書はSSL通信を行うときに使用するものになります。
「おいおい、余計わかんないよ。SSL通信ってなんだよ。」と思いますよね。
まずSSL通信とはデータの送受信を暗号化して行う通信を指します。
例えばショッピングサイトは個人情報の通知やお金のやり取りが発生しますが、そのままデータのやり取りを行うと名前や住所、更には口座情報やクレジットカードの内容なんかも第三者に漏れてしまう可能性があります。
そこでデータに暗号をかけて、「クライアント(買う人)」と「サーバ(売る人)」以外は内容がわからないようにする、これがSSL通信になります。
サーバ証明書が行うこと
ではなんでサーバ証明書があるとSSL通信が出来るのでしょう。その回答として、サーバ証明書の2つの使い道についてお話しします。
通信の暗号化
SSL通信を行うためデータの暗号化、また暗号化したデータを読み解く機能です。公開鍵暗号化方式と呼ばれるものになりますが、この機能をもってデータの暗号化を行います。
身元の認証
SSL通信ではデータを暗号化すると書きましたが、これでセキュリティは完璧です、とはいきません。
通信相手が信頼のおける組織(企業)でない場合、結局データの流出につながってしまいます。そのため、サーバ証明書を発行する、認証局と呼ばれる第三者機関がしっかりと確認し、対象サイトの正しい所有者であると判断されて初めて発行されます。
サーバ証明書の見方
ではサーバ証明書について、もう少し詳しく見てみましょう。実はサーバ証明書は特に難しい操作をしなくても、そして誰でも確認することが出来ます。
まずWebサイトを閲覧した際、URLの記載が「https://~」となっているサイトがSSL通信を行っている、つまりサーバ証明書を導入しているサイトになります。
わたくし、この仕事を始める前まではSSLなんて仕組みは知りませんでしたので、「https://~」は「http://~」の上位互換程度の認識(sがついてなんか強そう)でしたが、セキュリティ強化の意味合いでは、あながち外れではなかったみたいです。ちなみに「https」は(Hyper Text Transfer Protocol Secure)の略で、「http」にSSLの「s」が追加されたカタチになります。
ではではもっと詳しい情報を見てみましょう。
「https://~」形式のURLの場合、URLバーの先頭に南京錠のマークがあります、ここをクリック。
そうするとセキュリティに関する記載が表示されますので、下記の順番でようにどんどん進みます。
これが証明書の画面になります。
発行先:対象サイトの情報です。(例ではCreator’s fieldの内容を表示しています)
発行者:認証局の情報です。
有効期限:証明書の有効期限が記載されています。
「発行先」と「発行者」はなんとなくわかりますね。
発行先がサイトの所有者で発行者がサーバ証明書を発行した認証局です。
ここで気になる点は「有効期限」でしょうか。
サーバ証明書は1回発行したら終わりで、未来永劫そのサイトの証明を行ってくれるのではありません。証明を行う有効期限があって、有効期限が切れた場合、たちまち危険サイト扱いされてしまうので要注意です。
この辺りはサーバ証明書購入の際に決めることになるので、あらかじめ有効期限を考えておきましょう。
まとめ
今回は、サーバ証明書とはという観点でお話ししてみました。熟練のエンジニアからしたら、何のことはないと思いますが、中小企業の社内SEさんから、サーバ証明書の導入方法やSSLの仕組みについてお問い合わせいただいた経験があったので、そういった方の助けになればと思います。
次回はサーバ証明書の種類についてお話しできればと思います。