今回は「SSL」についてです。
初めに
IT用語をまとめたサイトは数多くあります。
あるのですが、詳しく説明しようとしているのか情報過多になって、結局何が言いたいのかわからないサイトが非常に多いです。
また、編集者が知ってて当たり前と認識している内容の説明はスルーしていることも多々あります。
私は一応電気電子が専攻なので、IT用語は基礎中の基礎から知りたいのです。
その為、こうして自分で調べて自分なりに自分の言葉でまとめておこうと思ったわけです。
本記事は、タイトル通り”ふんわりとイメージする”、つまり入門向きの内容となっています。
難しい言い回しがあるなら例を挙げるなりして噛み砕いて記載します。
そこまでしないと自分で理解したと言えませんし。
また、形式ばった書き方だと拒否反応が起きる方もいそうなので、言葉遣いもゆるゆるにしています。
詳細なガチガチとした解説をお求めの人は他のサイトを見よう!
『せっかくだから俺はこの緑のブログを選ぶぜ!』という方はこのまま読み進めてくださいな。
SSLとは?
SSLとはプロトコルの一種です。
厳密には、インターネット上で暗号化通信する為の決まり事です。
[Secure Socket Layer]の略です。
プロトコルは末尾が”S”になっていることが多いのですが、SSLは例外ですね。
インターネットは便利ですが、危険ももちろんあります。
例えば、ネットショッピングでクレジットカード決済を行ったとします。
その場合、クレジットカードの情報を入力してショッピングサイトに送信する必要がありますよね?
この過程でもし通信データを盗み見されたら、そのカードの情報が漏れて第三者でも使用可能になってしまいます。
そのようなことを防ぐ為にSSLというプロトコルが存在します。
データを暗号化することで、通信を傍受されてもデータの内容を読み取れないようにしたんですね。
仕組みは単純ですので、実際の手順にならって説明していきます。
まず、Webブラウザ(Internet ExplorerやGoogle Chromeのこと)からWebサーバ(サービスを提供する側のPC)にSSL通信のリクエストをします。
すると、WebサーバからWebブラウザへSSLの証明書と鍵(暗号化ルール)が送られてきます。
この証明書をもとに、通信先のWebサーバが本当に本物なのかを確認します(ドメインの一致を確認する)。
正しいことが判明したら、証明書と一緒に送られてきた鍵の出番です。
この鍵のルールに則って、Webブラウザ側で別の鍵を作ります。
つまり、二重にセキュリティを設けようとするわけです。
この鍵を共通鍵と呼びます。
こうしてできた共通鍵をWebブラウザからWebサーバに送ります。
Webサーバ側はこの共通鍵を最初に送った鍵を使って解読します。
そうすることで、Webブラウザが指定した鍵の内容をWebサーバが読み解くことができます。
こうしてWebブラウザとWebサーバの間にのみ通じるルール(共通鍵)ができるわけです。
後は、このルール(共通鍵)に則って暗号化して通信をするだけです。
これがSSLの大まかな流れです。
大雑把にまとめると、一番最初に第三者にバレないようにこっそりとWebブラウザ側とWebサーバ側にしか通じない暗号を決めて、以降はその暗号を用いて通信をしているだけです。
こうすれば、例えデータを盗み見されたとしても何が書かれているのかサッパリわからないという寸法です。
ちなみに、Webページの通信プロトコルにHTTPというものがあるのですが、このHTTPの通信は暗号化されていません。
それでは危険なので、セキュリティをしっかり強化したHTTPSというプロトコルが存在するのですが、この末尾の”S”は”SSL”の”S”だったりします。
また、2021年現在ではSSLはバージョンアップを重ねた結果TLSという名前に変化しています。
ですが、SSLで呼び慣れてしまっているからか、TLSのことをそのままSSLと呼んだり、SSL/TLSという表現をするようになっています。
なので、その道の人でもない限りは全部SSLで覚えておけば問題ないかと思われます。
まとめ
SSLは、インターネット上で暗号化通信する為の決まり事を指しています。
以上、「SSL」についてでした。