SSL・TLSとは?HTTPSで通信を暗号化する仕組みを初心者向けに解説
Webサイトを見ていると、ブラウザのアドレスバーに鍵のマークが表示されることがあります。
URLも「http://」ではなく「https://」から始まっていることが多くなりました。
このHTTPSの通信を安全にするために使われている重要な技術がTLSです。
以前はSSLという名前が広く使われていたため、現在でも「SSL証明書」「SSL通信」という言葉が一般的に使われています。
では、SSLとTLSは何が違うのでしょうか。
また、HTTPSでは実際にどのように通信を保護しているのでしょうか。
SSL・TLSとは?
まず簡単に整理すると、SSLとTLSはWebなどの通信を安全にするための暗号化プロトコルです。
SSLは「Secure Sockets Layer」の略で、TLSは「Transport Layer Security」の略です。
SSLは古い規格で、現在のWeb通信では基本的にTLSが使われています。
そのため、現在のHTTPSについて正確に説明するなら、TLSによって通信を保護していると考えるのが適切です。
それでも「SSL証明書」という言葉が現在も広く使われているのは、SSLという名称が長く普及してきたためです。
つまり、
SSL=以前使われていた古い規格
TLS=現在使われている後継規格
と覚えると分かりやすいでしょう。
TLSは何のために使われる?
TLSの大きな役割は、ネットワーク上でやり取りされるデータを保護することです。
例えばWebサイトで、
- ログイン情報
- 個人情報
- フォームに入力した内容
- 決済に関する情報
などを送信することがあります。
通信が適切に保護されていなければ、ネットワーク上を流れるデータが第三者に見られたり、途中で改ざんされたりするリスクがあります。
TLSは、このような通信上のリスクを減らすために利用されます。
TLSで守られる主な3つの要素
TLSを理解するときは、次の3つを押さえておくと分かりやすくなります。
1.通信内容を暗号化する
TLSでは、通信するデータを暗号化します。
例えばブラウザからサーバーへ送信する情報が、そのまま読める状態でネットワークを流れないようにします。
これにより、通信途中で第三者にデータを見られるリスクを抑えます。
2.通信相手が正しいか確認する
TLSでは、通信している相手が本当に目的のWebサイトなのかを確認するための仕組みもあります。
ここで重要になるのが電子証明書です。
証明書には、Webサイトのドメインなどに関する情報が含まれており、認証局(CA)によって発行・検証されます。
ブラウザは証明書の内容や有効性などを確認し、Webサイトとの安全な接続を確立します。
3.通信内容の改ざんを検知する
TLSには、通信中のデータが途中で変更されていないかを確認するための仕組みもあります。
そのため、TLSは単純に「データを隠すだけ」の技術ではありません。
暗号化・相手の認証・データの完全性の確認
という複数の役割によって通信を保護しています。
SSL証明書とは?
Webサイトの運営について調べていると、「SSL証明書」という言葉をよく見かけます。
現在の通信ではTLSが使われていますが、一般的には今でも「SSL証明書」という名称が広く使われています。
SSL証明書は、Webサイトのドメインなどに関する情報を証明し、HTTPSによる安全な通信を行うために利用される電子証明書です。
ブラウザはWebサイトへ接続するときに証明書を確認します。
証明書には有効期間があり、期限が切れていたり、内容に問題があったりすると、ブラウザに警告が表示されることがあります。
認証局(CA)とは?
SSL証明書を理解するうえで知っておきたいのが**認証局(CA)**です。
CAは「Certificate Authority」の略で、電子証明書を発行・検証する機関です。
Webサイトが証明書を利用するとき、ブラウザなどが信頼できる認証局によって発行された証明書かどうかを確認します。
簡単に考えると、
Webサイト → 証明書を取得
認証局 → 証明書を発行・認証
ブラウザ → 証明書を確認
という関係です。
これによって、ブラウザは接続先のWebサイトについて一定の確認を行うことができます。
HTTPSとTLSの関係
「HTTPS」と「TLS」は同じ意味ではありません。
HTTPSは、HTTPによる通信をTLSで保護したものと考えると分かりやすいでしょう。
つまり、
HTTP + TLSによる保護 = HTTPS
というイメージです。
HTTPSでWebサイトへアクセスすると、ブラウザとWebサーバーの間でTLSを利用した安全な通信が確立されます。
そのため、HTTPSの仕組みを理解するには、TLSの役割を知っておくことが重要です。
HTTPSの鍵マークは何を意味する?
ブラウザでHTTPSのWebサイトを開くと、アドレスバーに鍵のマークが表示されることがあります。
これは、ブラウザとWebサイトの間でHTTPSによる接続が行われていることを示すものです。
ただし、鍵マークが表示されているからといって、そのWebサイトの内容や運営者が必ず信頼できるとは限りません。
HTTPSは通信を保護するための仕組みです。
「HTTPSだから安全なサイト」「鍵マークがあるから詐欺ではない」と判断するのは適切ではありません。
アクセスするサイトが正しいものかどうかは、URLやサイトの内容、運営者なども確認する必要があります。
TLSの暗号化はどのように行われる?
TLSでは、通信を始める前にブラウザとWebサーバーの間で安全な接続を確立するためのやり取りが行われます。
この初期のやり取りはTLSハンドシェイクと呼ばれます。
大まかなイメージは、
ブラウザとサーバーが通信条件を確認
↓
サーバーの証明書を確認
↓
安全な通信に必要な情報を交換
↓
暗号化された通信を開始
という流れです。
実際のTLSでは、暗号方式や鍵交換など複数の技術が組み合わされています。
初心者の段階では、まず「通信を始める前に安全な接続を準備している」と理解しておけば十分です。
公開鍵暗号と共通鍵暗号が使われる
TLSでは、暗号化のために複数の暗号技術が組み合わせて使われます。
代表的なのが公開鍵暗号と共通鍵暗号です。
公開鍵暗号は、公開鍵と秘密鍵という異なる鍵を利用する方式です。
一方、共通鍵暗号では、同じ鍵を使ってデータの暗号化・復号を行います。
TLSでは、安全に通信を開始するための処理と、その後の大量のデータを効率よく暗号化する処理で、こうした技術を組み合わせています。
細かな数学的仕組みまで理解しなくても、
最初に安全な通信環境を作り、その後のデータを効率よく暗号化する
というイメージを持っておくとよいでしょう。
TLS 1.2とTLS 1.3とは?
TLSには複数のバージョンがあります。
現在よく知られているのがTLS 1.2とTLS 1.3です。
TLS 1.3では、TLS 1.2からさまざまな改善が行われています。
特に、接続時のやり取りを減らすことで通信開始までの時間を短縮し、古い暗号方式などを整理することで、より安全で効率的な仕様になっています。
Webサイトを運営する場合は、サーバーや利用しているサービスが適切なTLSバージョンに対応しているかを確認することも重要です。
SSL・TLSとSSHは何が違う?
SSL・TLSとSSHは、どちらも通信を保護するために使われます。
そのため、初心者のうちは混同しやすいかもしれません。
大きな違いは利用する目的とプロトコルです。
SSHは、主にサーバーへ安全に接続して、遠隔から操作するときなどに利用されます。
一方、TLSはWebサイトのHTTPS通信など、さまざまなネットワーク通信を保護するために利用されます。
つまり、
SSH=サーバーなどへ安全に接続するためのプロトコル
TLS=通信そのものを安全に保護するためのプロトコル
と考えると整理しやすいでしょう。
Webサイト運営でSSL・TLSが重要な理由
現在のWebサイト運営では、HTTPSによる通信が基本的なセキュリティ対策の一つになっています。
特にログインフォームや問い合わせフォームなど、ユーザーが情報を入力するWebサイトでは通信を適切に保護することが重要です。
また、ブラウザによってはHTTPSではないページに対して警告が表示されることもあります。
そのため、WordPressなどでWebサイトを運営するときも、TLSを利用したHTTPS環境を用意することが基本的な考え方になります。
HTTPSにすればすべて安全になる?
ここは非常に重要なポイントです。
HTTPSはWebサイトの通信を保護する仕組みであって、Webサイト全体の安全を保証するものではありません。
例えば、
- WordPressやプラグインの脆弱性
- 不正なログイン
- 弱いパスワード
- サーバー設定の問題
- フィッシングサイト
などは、HTTPSとは別の問題です。
HTTPSを利用していても、ユーザーが偽サイトへアクセスしてしまえば被害につながる可能性があります。
そのため、HTTPSはWebサイトのセキュリティを構成する一つの重要な要素として考えることが大切です。
SSL・TLSについて初心者が覚えておきたいポイント
最初からTLSの細かな暗号方式まで覚える必要はありません。
まずは次のポイントを押さえておきましょう。
SSLは古い規格で、現在は後継のTLSが使われています。
TLSは通信の暗号化や相手の認証、データの完全性の確認などに利用されます。
HTTPSはHTTPによる通信をTLSで保護したものです。
SSL証明書という名称は現在も一般的に使われていますが、現在のHTTPS通信ではTLSが使われています。
HTTPSを利用していても、Webサイト全体の安全が保証されるわけではありません。
この5つを理解しておけば、SSL・TLSについて調べるときに専門用語で迷いにくくなります。
まとめ
SSL・TLSは、インターネット上の通信を安全にするために使われる重要な技術です。
SSLは古い規格で、現在は後継となるTLSが利用されています。
TLSには通信内容の暗号化だけでなく、通信相手の認証やデータの改ざんを検知するための仕組みもあります。
そして、Webサイトで利用されるHTTPSは、HTTPの通信をTLSによって保護したものです。
普段Webサイトを利用しているだけでは意識することの少ないTLSですが、Webサイトを運営する場合には基本的なセキュリティ知識として知っておきたい技術です。
SSLとTLSは何が違いますか?
SSLは古い通信暗号化規格で、TLSはその後継となる規格です。現在のWeb通信では基本的にTLSが利用されています。
SSL証明書とTLSは同じものですか?
同じものではありません。TLSは通信を保護するプロトコルで、SSL証明書と呼ばれる電子証明書はWebサイトのドメインなどを確認し、安全なHTTPS接続を確立するために利用されます。
HTTPSとTLSは何が違いますか?
HTTPSはHTTPによる通信をTLSで保護したものです。TLSはHTTPSを安全にするための重要な技術の一つです。
HTTPSなら絶対に安全ですか?
いいえ。HTTPSは通信を保護する仕組みですが、Webサイトそのものが安全であることや、詐欺サイトではないことまで保証するものではありません。
TLS 1.2とTLS 1.3は何が違いますか?
TLS 1.3はTLS 1.2を改良した新しい仕様で、接続時のやり取りや利用できる暗号方式などが見直されています。
