SSL証明書って?必要性は?TLSとの違いは?

SSL証明書って?必要性は?TLSとの違いは?

この前、会社のホームページのSSL証明書の更新作業を行いました。
と言っても、年に1回くらいの作業で私は未経験だったもんで、先輩に教わりながらとりあえず手順だけやりました。そしたら上司は「次までに知識やコマンドを頭に入れておくように!!」だって。。。てことでちょっと調べたことをメモっておきたいと思います。

そもそもSSLとは・・・Secure Sockets Layer の略。



SSL証明書の目的

通信の暗号化

1つ目は通信の暗号化。インターネットを流れているデータは、送信元と受信先がパソコンのIPアドレスで特定でき、そして、その通信内容はただのテキストデータとしてやり取りされる。つまり、その通信中のテキストデータを見ることができる人には、情報が丸見え状態となってしまう。(こわっ)

実際にそういった盗聴するためのツールは簡単に入手でき、そういった行為をしている人もいる。だからと言って「見るなー!」とも言えない。。。ということでの対策がこの「暗号化」。送信元と受信先でやりとりされるテキストデータを暗号化することで、もし盗聴されたとしても、何を意味しているのかが分からなくなる。

これが暗号化の役割。ただし、暗号化されるのは転送されるデータのみで、IPアドレスは暗号化されない。なので、どこからどこへ何かしらのデータを送信しているということは分かってしまうことは覚えておく。

WEBサイトの認証

2つ目はWEBサイトの証明。通信の暗号化により、目的地であるWEBサイトまでは安全になる。しかし、そのWEBサイトが偽物だったらどうなるか。偽物のWEBサイトでクレジットカードで買い物した場合、カード情報は盗まれて、商品は届かないということもありえる。さらにカード情報が悪用されて、身に覚えのない請求書が届くということもありえる。

そこで登場するのがこの「認証」。認証とは簡単に言うと、誰がサイトを運営しているかを第三者機関により証明された状態。そのためSSL証明書をWEBサイトに使用することで、そのサイトが今から取引しようとしているサイトとして本物か、偽物か、判断の目安になる。

運営側からすると「信頼性」を高めることにもつながる。

SSL証明書の認証レベル

SSL証明書は、上記の通り第三者機関により発行されるが、PDFや紙で発行されるわけでなく、電子証明書の形で発行され、サーバーへインストールします。

そして第三者機関の審査には難易度があり、それが「認証レベル」です。
認証レベルには以下の3種類があります。

 1. ドメイン認証 Domain Validation (DV)
 2. 企業認証 Organization Validation (OV)
 3. EV認証 Extended Validation (EV)

認証レベルが違ってもSSL証明書の安全性は変わりません。
認証レベルが上がるほど審査が厳しく、より信頼できるサイトだということになります。また、認証レベルが上がるほど、証明書を取得するための費用も高額になります。

TLSとの違い

SSLについて調べていると、必ず目にするのが「TLS(Transport Layer Security」。私も何度も目にしたので、調べてみました。そこでわかったのはSSLとTLSとの違いは・・・ありません!!

技術的な細かい違いを話題にしていない限り指していることは同じです。
SSLはバージョン3.0までの開発で、3.0以降はTLSという名前に変更されました。ただ、SSLの呼び方が広まっているため、そのままSSLと呼ぶのが一般的になっています。

更新作業(実際にやった手順)

①秘密鍵作成

openssl genrsa -out example.pem 2048

②CSR作成

openssl req -new -key example.key -out example.csr

③ディスティングイッシュネーム情報を入力
 Country Name:国名
 State or Province Name:都道府県
 Locality Name:市区町村
 Organization Name:組織名
 Organizational Unit Name:部署名 ※未入力でOK
 Common Name:サーバのFQDN
 ※これ以降は入力不要

 Country Name (2 letter code) [XX]:JP
 State or Province Name (full name) []:Saitama 
 Locality Name (eg, city) [Default City]:Saitama-Shi
 Organization Name (eg, company) [Default Company Ltd]:EXAMPLE CO.,LTD
 Organizational Unit Name (eg, section) []:
 Common Name (eg, your name or your server’s hostname) []:www.tomoda-jsp.co.jp

④以下のチェックサイトで作成したCSRが正しいことを確認
 

⑤認証局にSSL証明書の申し込み
 ⇒2~3日で結果がくる

⑥証明書更新

証明書ファイルを差し替え
SSLCertificateFile /example/cert.pem
秘密鍵ファイルを差し替え
SSLCertificateKeyFile /example/key.pem
apatch再起動
service httpd reload

⑦完了