皆さんブラウザでいろいろなサイトを見ていると、URLが「http」で始まるものと「https」で始まるもの2種類あることに気づいたことあると思います。
この2つ何が違うのでしょうか。
HTTPとは?HTTPSとは?
「HTTP」ってそもそもなんの略称なんだろう?
「HTTP」とは「Hyper Text Transfer Protocol」の単語の先頭をとったもので、ブラウザとサーバの通信で使われるプロトコル。
超すごいテキストを転送する決まりごと(ルール)みたいな意味ですかね!(適当)
じゃあ「HTTPS」の「S」はどういう意味なんだろう??
「HTTPS」とは「Hyper Text Transfer Protocol Secure」の単語の先頭をとったもので、ブラウザとサーバの通信で使われるプロトコル。
「Secure」とは「安全に」なんて意味になります。
つまりざっくり言うと、「HTTP」より「HTTPS」のほうが安全に通信のやりとりができるってことかな。
HTTPSって具体的にどう安全なの?
SSL/TLSプロロトコルを用いて、通信内容を暗号化
SSL/TLSプロトコルというものを使い、通信を暗号化します。
これにより、通信の改竄盗聴を防止することができます。
もちろん100%!というわけには行きませんが・・・
SSL/TLSプロロトコルって?
SSLとは「Secure Sockets Layer」の略。
インターネットでやり取りされるデータの「盗聴」「改ざん」等を防止します。
日本語にすると「安全な差し込み層」・・・
なんのこっちゃ。まぁいいか。
どのようにして防止しているの?
例えるならばこんなイメージ
手紙を送る例で考えてみます。
SSL/TLSプロトコルを使って暗号化していない場合(HTTP)
手紙の中身
こんにちは。
4月1日ご飯食べにいきましょう。
ブレインキャットより
SSL/TLSプロトコルを使って暗号化している場合(HTTPS)
手紙の中身
saanutuhi.
sugiteteutitugihiachibonuukumisuwae.
berouakuyutenawaru
この両者を見てみると、暗号化している方は何が書いてあるかわからないですよね。
対して暗号化されていない手紙は、横から見られると一瞬で内容が読み取られてしまいます。
暗号化している方は、「鍵」という、すなわち暗号化した文を正しく読めるようなものを持っていることで暗号化文を正しく読むことができます。
今回の暗号化文の鍵はこんな感じです。
アルファベットを日本語にする
文字五十音順の平仮名を一つ前の文字に戻す。
どのようにしたらSSL/TLSプロロトコルをつかえるのか
SSL/TLSプロロトコルを使うには「サーバ証明書」というものを、サーバに導入することで使えるようになります。
サーバ証明書は認証局に発行してもらう必要があります。
とまぁサーバ証明書についてはまたいつか時間があれば書こうかな。
まとめ
HTTPSはネットワーク通信で暗号化することにより、僕たちの貴重な情報を悪者に利用されることから防いでくれています。
感謝感謝
終わり