IT PR

【何度聞いてもわからない】HTTPS と SSL/TLSの違い|IT四コマ

記事内に商品プロモーションを含む場合があります

HTTPS と SSL/TLSの違い、言えますか?

最近は「https://〜」で始まるサイトが主流ですよね。
「http://〜」から始まるサイトだと、「古いのかな?」「セキュリティ的に危なそう」という印象があります。

一方で、「SSL」や「SSL/TLS」という言葉も、よく耳にします。
IPAの基本情報技術者試験や情報セキュリティマネジメント試験でも、よく出題されます。

似ているけど何か違うらしい。そして何度ググっても覚えられない。
そんなもやもやを解消すべく、今回は四コマ漫画でこの2つの違いをイメージ解説していきます。

「ハリーポッターのタイトルなら全部言えるのに、ITの仕組みは何度聞いても頭に入らないんだよなぁ」という方は、ぜひお読みください。

HTTPS(HTTP over TLS)とは

HTTPSを例えるなら、「秘密を守る宅配サービス」です。

HTTPSを説明する前に、まずはSが付かない「HTTP」について簡単におさらいしましょう。

HTTPは、Webサイトにアクセスする際に、ブラウザとサーバー間のデータの受け渡しをするためのルールです。「ちゃんとダンボールにいれようね」「宅配便でケーキは運べないよ」みたいなやつです。

以前は「http://〜」から始まるサイトが主流でした。

しかし、HTTPだと悪意のある第三者が中身を盗み見ようとした場合、簡単に盗み見ることができる状態でした。これは、宅配便のダンボール箱の中身が開いているようなものでした。

そこで、HTTPSの登場です。

HTTPの通信経路を「SSL/TLS」で保護する形で設計されています。

例えるなら、宅配便のダンボールをしっかり閉じて、暗号文にした上で配送するようなものです。

HTTPにSがくっついて、セキュリティがあがった!
というイメージをすると、覚えやすくなります。

SSL/TLSとは

SSL/TLSを例えるなら「宅配サービスの秘密を守る仕組み」のようなものです。

HTTPを補完する形で、SSL/TLSの技術が使われます。

以下は、SSL/TLSで通信を行う際のプロセスを、簡素化して説明します。
(TLS1.3をベースにしています)

  • ブラウザ:サーバーに接続要求(リクエスト)を送る。合わせて自分の公開鍵情報、共通鍵生成用の乱数などを送る
  • サーバー:応答し、サーバー証明書や共通鍵生成用の乱数、サーバーの公開鍵情報などを送る
  • 双方:乱数をもとに「共通鍵」を作成する
  • サーバー:「暗号化済み」と送信する
  • クライアント:「暗号化済み」と送信する
  • 共通鍵を使って暗号化通信を始める

普通にサイトにアクセスしていましたが、なんだか色々やってくれているんですね。

「SSL/TLS」と表現されることが多いですが、現在使われているの「TLS1.2」や「TLS1.3」です。

以前は「SSL」が使われていましたが、脆弱性が発見されたので現在は非推奨になっています。TLSはSSLを元に作られた、後続の仕組みです。

ただ「SSL」の名称が有名になりすぎたので、今でも「SSL/TLS」と表現されることがあるようです。

共通鍵って何だっけ?と思った方は、以下の記事も参考にしてください。

証明書って何だっけ?と思った方は、以下の記事も参考にしてください。

 

ここまで見てきましたが、「HTTP over TLS」のことを「HTTPS」と呼んだり、「SSL/TLS」と表現するのに、現在ではTLSしか使われていなかったりと、色々とややこしいですね・・・

まとめ

名称 例えると 特徴
HTTPS 秘密を守る宅配サービス ・HTTP+TLSのこと
・HTTPに暗号化通信の要素が加わった
SSL/TLS 宅配サービスの秘密を守る仕組み ・ブラウザとサーバー間の暗号化通信を行う
・身元確認や共通の鍵を生成してから暗号化通信を行う
・今はTLS1.2やTLS1.3が主流で、SSLは使われていない

 

本記事は、ざっくりイメージで理解するために書いた記事です。
もっと詳しく知りたい場合は、他の記事や書籍も参考にしてください。