HTTPとHTTPSの違いとは?SSL/TLS暗号化の仕組みをわかりやすく解説

ネットワーク

URLの「http://」と「https://」の違い、気になったことはありますか?この「s」が有るか無いかで、あなたの個人情報が守られるかどうかが大きく変わります。この記事ではHTTPとHTTPSの違い・SSL/TLSの仕組みをわかりやすく解説します。

HTTPとHTTPSの基本的な違い

HTTP(HyperText Transfer Protocol)はWebブラウザとWebサーバーの間でデータをやり取りするためのプロトコルです。一方HTTPS(HTTP Secure)はHTTPにSSL/TLSという暗号化技術を加えたものです。

HTTP(暗号化なし)
・通信内容が平文(そのまま)
・第三者が傍受すれば内容を読める
・ポート番号:80番
・URLは「http://」で始まる
・ブラウザに「保護されていない通信」と表示
HTTPS(暗号化あり)
・通信内容が暗号化される
・傍受されても内容は読めない
・ポート番号:443番
・URLは「https://」で始まる
・ブラウザに鍵アイコンが表示

SSL/TLSとは?

SSL(Secure Sockets Layer)とTLS(Transport Layer Security)は、通信を暗号化するプロトコルです。現在はSSLの後継であるTLSが使われていますが、慣習的に「SSL証明書」「SSL通信」と呼ばれます。HTTPSはこのSSL/TLSを使って通信を暗号化します。

TLSハンドシェイクの流れ

HTTPS接続が確立するまでの流れ
1
ClientHello:ブラウザが「使える暗号方式」「対応TLSバージョン」などをサーバーに送信
2
ServerHello + 証明書:サーバーが暗号方式を選択してSSL証明書(公開鍵)を送信
3
証明書の検証:ブラウザが証明書を認証局(CA)で検証。正規のサーバーかどうかを確認
4
セッションキー交換:共通の暗号鍵(セッションキー)を生成して以後の通信を暗号化
5
暗号化通信開始:セッションキーで暗号化された通信が始まる

SSL証明書の種類

種類概要用途
DV証明書(Domain Validation)ドメインの所有権のみ確認。自動発行で無料のものもある(Let’s Encrypt)個人ブログ・小規模サイト
OV証明書(Organization Validation)ドメイン所有権+組織の実在確認企業サイト・Eコマース
EV証明書(Extended Validation)最も厳格な審査。かつてはアドレスバーに緑色の企業名が表示された金融機関・大企業

よくある質問

HTTPのサイトは危険?

HTTPのサイトで個人情報やパスワードを入力することは危険です。通信が暗号化されていないため、同じネットワーク上の攻撃者(公共Wi-Fi上など)に内容を傍受される可能性があります。閲覧するだけなら即座に被害を受けるわけではありませんが、Googleも2018年以降HTTP サイトに「保護されていない通信」と警告を表示しており、現代のWebサイトは原則としてHTTPSを使うべきです。

HTTPSなら絶対に安全?

HTTPSは通信経路の暗号化を保証しますが、サイト自体の安全性は保証しません。フィッシングサイトでもHTTPS(SSL証明書)を取得することは可能です。ブラウザに鍵アイコンが表示されていても、そのサイトが正規のものかどうかはURLをよく確認する必要があります。

まとめ

HTTPSはHTTPに暗号化を加えたプロトコルで、通信の盗聴・改ざんを防ぎます。現代のWebサイトはHTTPSが標準であり、Webサイトを運用する場合はSSL証明書を必ず導入しましょう。Let’s Encryptなら無料でDV証明書を取得できます。

次の記事を読む
ネットワーク通信の全体構造「OSI参照モデル」について学ぼう
OSI参照モデルとは?完全解説を読む

コメント