この記事の最終更新日: 2025年5月26日
はじめに
インターネットで私たちがWebサイトを閲覧したり、オンラインショッピングやネットバンキングを利用したりする際、重要な情報(パスワード、クレジットカード情報など)をやり取りする場面が多くあります。
このとき、データがそのまま(平文)で送られていると、悪意のある第三者に盗まれたり、改ざんされたりする危険性があります。そこで活躍するのが「TLS(Transport Layer Security)」という通信の安全を守るための仕組みです。

1. TLSとは何か?
TLS(トランスポート・レイヤー・セキュリティ)は、インターネット通信を暗号化し、次の3つのポイントを守る技術です。
- 盗聴防止:通信内容を暗号化し、第三者が中身を読み取れないようにする
- 改ざん防止:途中でデータが書き換えられていないことを確認する
- なりすまし防止:正しい相手と通信していることを保証する
元々は「SSL(Secure Sockets Layer)」という技術がありましたが、現在はその後継であるTLSが主流です。TLSはSSLの脆弱性を修正し、より安全で高速な通信を可能にしています。
2. TLSの仕組みをやさしく解説
TLSの通信は「ハンドシェイク(握手)」という手順から始まります。このハンドシェイクの中で、お互いの正体を確認したり、暗号のルールを決めたりします。
通信の流れ
- クライアント(ブラウザ)からサーバーへ接続要求
- サーバーが証明書を返す
- この証明書には、そのサーバーが本物だと保証する情報(公開鍵、ドメイン情報など)が含まれています。
- クライアントが証明書を検証
- ブラウザには信頼された「認証局(CA)」の情報があらかじめ入っており、それを使って証明書が本物かを確認します。
- 共通鍵(セッションキー)を交換
- 安全に通信を行うための共通鍵をやり取りします(このやり取り自体は公開鍵暗号方式を使って安全に行われます)。
- 以降の通信を共通鍵で暗号化
- 高速な暗号通信(共通鍵方式)で、ページの情報や個人データなどをやり取りします。
3. TLSのバージョンと特徴
TLSには複数のバージョンがあります。
バージョン | 特徴 |
---|---|
TLS 1.0 / 1.1 | 現在は非推奨。セキュリティ上の問題あり |
TLS 1.2 | 現在も広く使われている標準バージョン |
TLS 1.3 | 最新版。処理が簡略化され、高速かつ安全 |
TLS 1.3ではハンドシェイクのステップ数が削減されており、従来よりも通信が速くなっています。また、古い暗号方式を廃止しており、セキュリティも向上しています。
4. TLS証明書って何?
TLS証明書とは、「このサイトは本物です」ということを証明するための電子的な身分証明書のようなものです。
証明書の中身
- ドメイン名
- サーバーの公開鍵
- 有効期限
- 発行元(認証局)
種類
- DV(ドメイン認証):簡易的。ドメイン所有者を確認
- OV(企業認証):組織情報を確認し、より信頼性あり
- EV(拡張認証):法的書類による厳密な確認。緑の鍵マークなどが表示されることも
多くのWebサイトでは「Let’s Encrypt」などの無料証明書が使われています。
5. TLSの導入方法(Nginx + Let’s Encrypt)
必要なツールをインストール
sudo apt install certbot python3-certbot-nginx
証明書の発行
sudo certbot --nginx -d example.com -d www.example.com
自動更新の設定(定期確認)
sudo certbot renew --dry-run
6. よくある疑問
Q1. HTTPSってTLSのこと?
はい、HTTPSはHTTP over TLSの略です。HTTPの通信をTLSで暗号化しているだけなので、仕組みとしてはTLSを使っているということです。
Q2. HTTPSは昔はHTTP over SSLだったの?
はい、もともとHTTPSは「HTTP over SSL」という意味で使われていました。 SSL(Secure Sockets Layer)はTLSの前身であり、当初はSSLを使ってHTTP通信を暗号化していたため、「HTTPS = HTTP over SSL」として機能していた時代がありました。
ただし、正式なプロトコル名として「HTTP over SSL」という呼び名があったわけではなく、常に「HTTPS」という名前が使われてきました。その後、TLSがSSLの安全性を高めた後継として登場し、現在では「HTTPS = HTTP over TLS」が正しい意味になっています。
Q3. 無料の証明書は安全?
Let’s Encryptなどの無料証明書も、暗号化の強度は有料のものと同じです。ただし、企業認証や法的保証はありません。
Q4. TLSはWeb以外でも使われている?
はい、メールの送受信(SMTPS)、ファイル転送(FTPS)、チャットなど、さまざまな通信でTLSは活用されています。
まとめ
TLSは、現代のインターネットにおける「安全な通信」の土台となる技術です。基本的な仕組みを理解すれば、自分のWebサイトにも安心して導入できます。
- 通信を暗号化して安全にする
- 本物のサーバーとだけ通信できるようにする
- 無料で導入でき、設定も比較的簡単
初心者でも「HTTPS化」から始めて、TLSの世界に触れてみましょう!

大阪のエンジニアが書いているブログ。
コメント