SSLとは?SSLサーバー証明書ってなに?「あぁなるほどね」と理解できるくらい簡単に説明してみた

Pocket

近年、セキュリティーに対する意識が高まりつつある中、ウェブサイトにおいては「SSL化」が必須と言われるようになりました。
なんとなく、「なんかウェブの左上に出てくる鍵マークのやつで、個人情報守ってくれるんでしょ?」とやんわり理解しているだけの人も多いと思います。

今回はそんな“やんわり理解”から、“SSLってこういうものなんだ”と理解できるようになるように、SSLやSSLサーバー証明書とは何か、順を追って簡単にかみ砕いて わかりやすく解説していきます。

  • SSLって?
  • SSL暗号化通信化するとどうなる?
  • SSLサーバー証明書ってなに?

SSLとは?

SSLとは、「Secure Sockets Layer」の略です。「Secure=安全な」「Sockets=(インターネット接続の)受け口」「Layer=層」で要は“安全な通信”と捉えていただくと良いと思います。

では、SSLでいう“安全な通信”とはどのような通信のことでしょうか。簡単に言うと、インターネットに接続する際の通信を暗号化して、ネット犯罪から個人情報を守る通信のことです。

暗号化されていないネット通信は、第三者に簡単に見られてしまう可能性が高いので、特に「ネットバンキング」や「ネット通販」など、個人情報を取り扱うサイトではSSL化(暗号化)を行い、ユーザーにより安全な通信状態でデータのやり取りが行えるように配慮する必要があるのです。

逆に、ユーザー側も、URLの左横にある鍵マークを見て、そのサイトがしっかりとデータを暗号化してくれているかを確認した上で、個人情報をやり取りする必要があるのです。

SSL暗号化通信にするとどうなる?

例えば、ぴよちゃんがwebサイトを持っているとします。
ぴよちゃんはwebサイトをSSL化して、多くの人がぴよちゃんのサイトで個人情報などの秘密のメッセージを暗号化して安全に送れるように、秘密のメッセージを暗号化することのできる“公開鍵”をみんなに幅広く配布します。

さっそく、秘密のメッセージを送りたそうにしているぴょん美とぱん太に公開鍵を配布していますね。

サイト側がユーザーに向けて、秘密のメッセージを暗号できる公開鍵を配布している絵

公開鍵を受け取ったぴょん美とぱん太は他の人に見られないよう、鍵を使って自分たちの秘密のメッセージをそれぞれ暗号化することができます。

ユーザーが受け取った公開鍵で秘密のメッセージを暗号化している絵

そして、暗号化した公開鍵をぴよちゃんのサイトに返します。

ユーザーが暗号化した秘密のメッセージをサイト側に渡している絵

ぴょん美とぱん太がぴよちゃんに送った公開鍵はすでに暗号化されており、たとえ通信途中で第三者にみられれても暗号化されている状態なので安心ですね。

そして公開鍵を配布した側のぴよちゃんは、この暗号化された公開鍵を復号することのできる鍵を持っているので、さっそく復号化したみたいです。

サイト側がユーザーから送られてきた秘密のメッセージを復号化している絵

これが「SSL暗号化通信」です。
SSL暗号化通信は盗み見防止になるのは分かっていただけたかと思います。

ですが、もしぴよちゃんのサイトと同じドメイン名を使って、なりすましを企む悪者がぴょん美とぱん太の秘密のメッセージを盗み見しようとするとどうなるでしょうか。

まず、悪者はぴよちゃんと全く同じサイトを(違うサーバー上で)作成して、そのサイトのSSL化を行います。そして「これがぴよちゃんのサイトですよ」とユーザーーに嘘をついて公開鍵を配布し、秘密のメッセージを入力させるように仕向けます。

ユーザーが悪者のなりすましサイトだと気づかずに、配布されている公開鍵を受け取っている絵

それに気づかずに悪者が作成した公開鍵をぴょん美とぱん太が受け取ってしまい、ぴょん美とぱん太が秘密のメッセージを暗号化します。

ユーザーが秘密のメッセージを暗号化している絵

そしてそのまま悪者に暗号化した公開鍵を返します。

暗号化したメッセージを悪者に渡している絵

悪者はぴよちゃんのサイトをなりすまして悪者が自分で作ったサイトでSSL化を行い、公開鍵を配布したため、その公開鍵を復号するための鍵を持っているのです。

悪者がユーザーの秘密のメッセージを復号化して読んでいる絵

このように、SSL暗号化通信だけではなりすまし防止にはならないことが分かります。

では、どうすればなりすましを防止することができるのでしょうか。

ここで重要になってくるのが「SSLサーバー証明書」です。

SSLサーバー証明書とは?

簡単に説明すると、信頼できる第三者機関が作成してくれる証明書で、SSLサーバー証明書を導入したwebサイトで「SSL暗号化通信」と「サイトの実在証明」をすることができます。

まずは「SSL暗号化通信」を説明していきます。

SSL暗号化通信

これは先ほども説明した以下のものがwebサイトの所有者に与えられます。

  • 公開鍵を暗号化できる鍵
    (ぴょん美とぱん太が受け取った暗号化するための鍵)
  • 復号化に必要な“秘密鍵”
    (ぴよちゃんが持っている復号化するための鍵)

1つ目の「公開鍵を暗号化できる鍵(暗号化するための鍵)」は先ほどの絵で説明した公開鍵のことです。

たとえば、ぴよちゃん側でwebサイトをSSL化して、SSLサーバー証明書を自分のwebサイトに導入することで、先ほどのように公開鍵に暗号化するための鍵をつけてぴょん美たちに公開鍵を配布することができます。

2つ目の「復号化に必要な“秘密鍵”」これも先ほど説明したように、サイトをSSL化したら復号に必要な鍵のことになります。しかし、SSLサーバー証明書を導入すると、先ほどとは異なり、完全に自分だけの“秘密鍵”を得ることができるのです。

どういうことかと言うと後に説明する「サイトの実在証明」のお陰で、たとえなりすましサイトが作成されても、ぴよちゃんの本物のサイトで作成された復号用の鍵でなくては復号化することができないようになります。

サイトの実在証明

簡単に言うと「サイトの実在証明」は、ぴよちゃんのサイトが(正当に)実在するもので、第三者機関がそれを証明しますよ。ということです。

SSLサーバー証明書には以下の情報が掲載されます。

  • webサイト所有者の情報
  • 信頼できる第三者機関(証明書発行者)の署名

個人情報を扱っているような大手サイトのURLの左に鍵マークがついていると思います。試しにこのマークをクリックしてみましょう。

先ほどの「サイトの実在証明」の項目を見ることができたのではないでしょうか。

これは第三者機関が「○○社のcororon .comドメインの正当なサイトですよ」と教えてくれているのです。

これにより、たとえなりすましがサイトを丸々コピーしたとしても、「サイトの実在証明」がなされているサイトの秘密鍵(復号化できる鍵)までコピーすることができないのです。

要するに、ぴよちゃんは秘密の鍵の情報を自ら漏らすような事がない限り、自分のサイトを簡単になりすまされる心配はないのです。

また、ぴょん美とぱん太のようにサイトを利用するユーザーも、SSLサーバー証明書を見ればそのサイトがちゃんと正当な会社で作成されたサイトだと知る事ができるので安心です。

まとめ

ここまで読んでくださった方には、SSL化の重要性がわかっていただけたかと思います。

SSLサーバー証明書をサイトに導入することにより、あらゆるサーバー犯罪からサイトを守り、また、ユーザーに自分のサイトが安全であることを情報として開示することができるのです。

サイト管理者という立場において、個人情報を扱う場合、情報漏洩は社会的責任問題に値します。大企業の情報漏洩がニュースで大々的に流れるたびに、被害にあった方々に慰謝料を支払っているのをよく目にします。SSLサーバー証明書は、そんなサイト管理者である私達を守る盾でもあるのです。

また、逆にユーザー自身も、しっかりとサイトのSSLサーバー証明書を確認して、自分の大事な個人情報を守れるようになりましょう。

※今回、「簡単に理解できる」ことを目標にしているため、少々割愛してお話しされていただいたり、正式名称を使用せずに説明しておりますので、ご了承ください。