HTTPS通信とSSLサーバー証明書の総まとめ

セキュリティ
スポンサーリンク

いまやサイトをSSL化することはインターネット上では’当たり前’とも言えます。
SSL化するためにはSSLサーバー証明書というものが必要というのもよく言われていることですね。

サイトをSSL化する目的は、そのサイトがHTTPS通信に対応するためです。

サイトをSSL化しなくてはならないということはわかったけど、
SSLサーバー証明書はなぜ必要なのでしょうか?

このことを知るにはSSL通信の仕組みを知る必要があります。

「SSL」だとか「証明書」だとか聞くと、難しそうと思ってしまう方も多いと思いますが、
なるべく簡単にお話ししたいと思いますのでご安心を。

★本記事では以下の目次で進めさせていただきます!!( ^ω^ )

SSL通信とは?

SSLとは”Secure Sockets Layer”の略で、
クラアント(例えばWebブラウザ)とサーバーの間で安全にデータのやり取りを行うための通信上のルールです。

SSLは通信データの暗号化を行い、データの盗聴を防ぐことが主な目的ですが、
その他、以下の2つのことも目的としています。

  • サーバーの正当性(通信しているサーバーは正しいサーバーだよね?)
  • 通信データの正当性(通信しているデータは途中で改ざんされていないよね?)

ちなみに、よくHTTPSとSSLがごっちゃになっている人がいます。
たしかに、ほぼ同じと言ってもいいかもしれませんが、厳密には異なるんですよ。

HTTPS通信とは、HTTP通信にSSLを取り入れて、通信データを暗号化したセキュアなHTTP通信のことです。

つまり「HTTP + SSL = HTTPS」ということでして、
「HTTPS = SSL」というのとは少しニュアンスが違います。

SSL通信で必要な3種類の『鍵』

SSL通信の仕組みをお話する前に、前提知識となる以下の3種類の「鍵」についてお話します。

  1. 公開鍵
  2. 秘密鍵
  3. 共通鍵

対となる公開鍵と秘密鍵

公開鍵と秘密鍵は同時に作成され、お互いが対となる鍵となります。

公開鍵で暗号化したデータは、対となる秘密鍵でしか復号できません。
復号は、暗号化に使った公開鍵であってもできないということです。

逆のパターンも然りです。
秘密鍵で暗号化したデータは、その秘密鍵の対となる公開鍵でしか復号化できません。

つまり、公開鍵で暗号化したデータは秘密鍵でしか復号できませんし、
秘密鍵で暗号化したデータは公開鍵でしか復号できないということです。

基本的に公開鍵はその名の通り不特定多数に”公開”されることが前提となっています。

公開されていますから、極端な話全員が持つ可能性もあります。
そんな中で暗号化と復号化の両方ができてしまったら、暗号化する意味がなくなってしまいますよね。

ですので、公開鍵は暗号化だけしか行えない(または復号化だけしか行えない)仕様となっているです。

お互いが持つ共通鍵

共通鍵とは、その名の通り特定の相手と持つ”共通の”鍵です。

特定の相手とデータをやり取りする際に使われます。
公開鍵・秘密鍵とは異なり、共通鍵ではデータの暗号化と復号化が行えます。

大事なのは特定の相手と自分しか共通鍵を持っていないということ。
この共通鍵をどのようにして特定の相手へ渡すかが問題です。

SSL通信の仕組み

さて、それではSSL通信の仕組みについてお話ししましょう!

SSL通信は共通鍵によって通信データを暗号化してやり取りを行いますが、
どのようにして共通鍵を相手へ渡すのかが大切です。

この部分をお話しさせていただきます。

(1)まずクライアント(PCブラウザ)がサーバに接続要求をします。

(2)サーバーはクライアントに対して、自己紹介文と公開鍵がセットになったデータを送ります。
この自己紹介文と公開鍵がセットになったデータが、いわゆる「SSLサーバー証明書」というものです。

(3)クライアントは送られてきた自己紹介文をみて、問題が無いか確認します。
場合によっては、そのSSLサーバー証明書を発行した認証局へ問い合わせを行います。

(4)クライアントはお互いにやりとりする共通鍵を作成します。

(5)クライアントは(2)で受け取った公開鍵を使って共通鍵を暗号化してサーバへ送ります。

(6)サーバは暗号化された共通鍵を自身が持っている秘密鍵で復号して共通鍵を取り出します。

これでクライアントもサーバーも共通鍵をゲットすることができました。

この共通鍵を使って通信データの暗号化/復号化を行いながらセキュアな状態で通信を行います。

万が一通信データが盗聴されたとしても、データが暗号化されているため盗聴犯からは何を意味しているのかさっぱりわからないといった仕掛けです。

SSLサーバー証明書の種類

SSLサーバー証明書とは、上記で「自己紹介文と公開鍵がセットになったデータ」とお話ししましたね。

厳密にいうと、SSLサーバー証明書には主に以下のような情報が含まれております。

  1. ウェブサーバの情報
    1. Common Name(コモンネーム)
    2. Organizational Name(組織名)
    3. Organizational Unit(部署名)
    4. Locality(市区町村名)
    5. State(都道府県名)
    6. Country(国コード)
  2. ウェブサーバの公開鍵
  3. 証明書発行局名
  4. 証明書発行局の電子署名
  5. 有効期間
  6. 証明書の基本情報
    1. 証明書のバージョン(X.509 Ver.3など)
    2. 証明書の通し番号
    3. 電子署名に使われている暗号化方式

SSLサーバー証明書は、第三者となる証明書発行局に発行してもらうことになるわけですが、
上記の情報をどこまで、どのようにして認証してもらうかによって、以下の3つのタイプに分類されます。

  1. ドメイン認証タイプ
  2. 企業認証タイプ
  3. EV(Extended Validation)認証タイプ

それぞれどのような特徴があるのか、そして使い所についてお話しします。

ドメイン認証タイプ

SSLサーバー証明書に記載している「xxx.com」や「yyy.jp」等のドメインを所有していること”だけ”を認証します。

上記の情報のうち、ウェブサーバの情報の「1-1.Common Name(コモンネーム)」の部分だけです。
その他の組織や所在地などは認証はされておりません。

ですので、その証明書を確認することで、自分がアクセスしようとしているサイトは確かに「xxx.com」ドメインを所有している人が運営しているサイトなんだということがわかりますが、どこの誰が運営しているということまではわかりません。

そのような意味で一番信頼度が低いサーバー証明書となるわけです。

このタイプのSSLサーバー証明書の使い所は、個人のページや企業の一部のキャンペーンページとなります。

企業認証タイプ

ドメイン認証に加え、証明書に記載している組織が法的に実在するか、そしてその組織がドメインを所有しているかどうかを認証しています。

ですので、例えばその証明書を確認することで、自分がアクセスしようとしているサイトは確かに「株式会社◯◯」という組織が法的に存在しており、そして株式会社◯◯が所有している「xxx.com」のサイトなんだということがわかります。

組織の認証がなされている分、「企業認証タイプ」は「ドメイン認証タイプ」と比べて信頼性が高い証明書となり、
価格もEV認証タイプよりは抑えられているため、サーバー証明書の中では一番スタンダードなものとなります。

法人サイトでは、非常によく利用されているSSLサーバー証明書です。

EV認証タイプ

SSLサーバー証明書の中で一番信頼性が高いものとなります。

ドメイン所有や運営組織が存在していることを確認するのはもちろん、
組織の所在地や、実際のサイトの管理責任者等も人の手で確認されます。

また、厳格な世界標準となっている認証ガイドラインにもとづいて審査が行われますので、
企業認証タイプよりもさらに高い信頼性のあるSSLサーバー証明書となります。

高い信頼性が必要な企業サイトで使われるタイプのサーバー証明書となります。

SSLサーバー証明書の料金比較と購入先

以下、各種サーバー証明書の料金比較となります。

「SSL BOX」はレンタルサーバーも行なっている「ネットオウル」という国内企業が運営しているSSLサーバー証明証の販売代理店です。
SSLBOXを経由すると割引価格にて購入できますのでオススメです。

タイプサービス定価(1年)定価(2年)割引(1年)割引(2年)購入先
ドメイン認証Let's Encript0円/年0円/年--利用方法はこちらの記事をご参照
CoreSSL1,500円/年1,350円/年990円/年990円/年代理店(SSLボックス
)経由がお得
RapidSSL4,300円/年3762.5円/年4,000円/年3,500円/年代理店(SSLボックス
)経由がお得
SecureCore9,000円/年8,500円/年--代理店(SSLボックス
)経由にて購入可能
ジオトラスト クイックSSLプレミアム31,300円/年54,800円/年15,000円/年13,000円/年代理店(SSLボックス
)経由がお得
企業認証SecureCore
企業認証SSL
19,000円/年17,500円/年--代理店(SSLボックス
)経由にて購入可能
シマンテック セキュア・サーバID81,000円/年76,500円/年--直営店販売がお得
EV認証SecureCore
EV SSL
48,000円/年45,000円/年--代理店(SSLボックス
)経由がお得
シマンテック セキュア・サーバID EV162,000円/年157,500円/年--直営店販売がお得

いかがでしたでしょうか?

なぜSSL化するにはサーバー証明書が必要なのか?
そしてサーバー証明書にはどのような種類があるのか?

といったことが理解できたかと思います。

以上、hidesanでした!

タイトルとURLをコピーしました