すべての SSL 記事 SSL と証明書

SSL vs TLS:違いは?

SSL(Secure Sockets Layer)とTLS(Transport Layer Security)はどちらもインターネット接続を暗号化する暗号プロトコルです。実用的な違い:すべてのSSLバージョンは非推奨で安全ではありません。TLSが実際に今日Webを保護しています。 「SSL証明書」と言うとき、人々はTLSで使用される証明書を意味しています。

何かする必要があるかどうか知りたい方は、何をすべきかにジャンプしてください。

クイック比較

SSLTLS
正式名称Secure Sockets LayerTransport Layer Security
作成者Netscape(1994年)IETF(1999年)
最新バージョンSSL 3.0(1996年)TLS 1.3(2018年)
ステータス⛔ すべてのバージョン非推奨✅ TLS 1.2と1.3が現役
既知の脆弱性POODLE、BEAST、CRIME、DROWNなし(TLS 1.3)、緩和可能な少数(TLS 1.2)
パフォーマンス遅い(2回以上のラウンドトリップ)TLS 1.3:1-RTTハンドシェイク
前方秘匿性オプション(ほとんど使用されない)TLS 1.3で必須
暗号スイート弱い(RC4、DES、輸出暗号)強い(AES-GCM、ChaCha20)
メッセージ認証MD5/SHA-1でMACSHA-256以上でHMAC
ブラウザサポートすべてのブラウザから削除ユニバーサル

完全なバージョン履歴

プロトコル何が起きたか
1994SSL 1.0Netscapeが設計。未リリース — リリース前に内部で深刻な欠陥が見つかった。
1995SSL 2.0最初の公開リリース。初期のHTTPSサイトで使用。すぐに重大な脆弱性が見つかった(弱いMAC、切り捨て攻撃に脆弱)。
1996SSL 3.0Paul Kocher + Netscapeによる完全な再設計。18年間広く展開。2014年10月のPOODLE攻撃で破られた。2015年6月にIETFが非推奨(RFC 7568)。
1999TLS 1.0SSL 3.0を基にしたIETF標準化プロトコル。わずかな改善。2011年のBEAST攻撃に脆弱。2021年3月に非推奨(RFC 8996)。
2006TLS 1.1BEAST脆弱性を修正。CBC暗号に明示的なIVを追加。TLS 1.0とともに2021年3月に非推奨
2008TLS 1.2メジャーアップグレード。AEAD暗号(AES-GCM)を追加、ハンドシェイクからMD5/SHA-1を削除、署名アルゴリズムネゴシエーションを追加。正しく設定すればまだ広く使用されており安全
2018TLS 1.3現在の標準(RFC 8446)。すべてのレガシーアルゴリズムを削除、1-RTTハンドシェイク、前方秘匿性必須、暗号化されたハンドシェイク。根本的な再設計。

まだ「SSL」と言う理由

「SSL」という用語は最初に来たため定着しました。Netscapeが1994年に造語し、1999年にTLSが置き換えた頃には、「SSL」は既に一般的な語彙でした。今日:

  • 「SSL証明書」 = TLSで使用される証明書(SSLではない)
  • 「SSL/TLS」 = 両方の用語をカバーする表現
  • 製品名の「SSL」 = マーケティング、実際のプロトコルではない
  • 「無料SSL」 = 無料のTLS証明書

GetHTTPS、Certbot、Let’s Encrypt、ZeroSSL — すべてがTLS接続用の証明書を発行していますが、名前やマーケティングでは「SSL」と言っています。証明書自体はX.509形式であり、どのTLSバージョンでも動作します。

何をすべきか

ほとんどのWebサイト運営者にとって:おそらく何もする必要はありません。 以下の場合:

  1. 有効なSSL/TLS証明書がある(Let’s Encryptまたは任意の認証局から)
  2. 合理的に最新のWebサーバーを使用している(Nginx 1.13以上、Apache 2.4.37以上、IIS 10)
  3. 設定でTLS 1.2/1.3を明示的に無効にしていない

…ならば既にTLSを使用しています。「SSL証明書」はTLS 1.2と1.3で自動的に動作します — 同じ.pemファイルが両方のプロトコルに対応します。

確認すべきこと1つ: TLS 1.0と1.1がサーバーで無効になっていることを確認してください。2021年以降非推奨です。

Nginx:

ssl_protocols TLSv1.2 TLSv1.3;

Apache:

SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1

現在のTLSバージョンを確認する方法:

# ネゴシエートされたTLSバージョンを表示
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | grep "Protocol"
# 期待値: TLSv1.2 or TLSv1.3

オンラインツール: SSL Labs Server Testでサーバーがサポートするプロトコルを正確に確認できます。

よくある質問

TLSとSSLで異なる証明書が必要ですか?

いいえ。同じ証明書がどのTLSバージョンでも動作します。「SSL証明書」と「TLS証明書」は同じX.509ファイルを指します。GetHTTPSから証明書を取得すると、TLS 1.2と1.3で動作します — 特別な設定は不要です。

TLS 1.2はまだ安全ですか?

はい。AEAD暗号スイート(AES-GCMまたはChaCha20-Poly1305)を使用したTLS 1.2は本番使用に安全です。TLS 1.3の方が優れています(高速、シンプル、前方秘匿性を強制)が、TLS 1.2は安全なままです。推奨設定はTLSv1.2 TLSv1.3です。

TLS 1.3のみを強制すべきですか?

まだです。約38%のサイトがTLS 1.3をサポートしておらず、一部のクライアント(企業環境、組み込みデバイス、Java 8)はTLS 1.2のみをサポートしている場合があります。今日TLS 1.2を廃止すると一部の正当なユーザーをロックアウトします。両方をサポートしてください。

「SSL証明書」は動作しなくなりますか?

いいえ。名前にもかかわらず、「SSL証明書」はどのTLSバージョンでも動作するX.509証明書です。名前はレガシーの遺物です。認証局が信頼され、証明書が有効期限切れでない限り、証明書は動作し続けます。

HTTPSはSSLまたはTLSと同じですか?

HTTPSはHTTP + TLSです。HTTP接続にTLS暗号化を適用した結果です。https://example.comにアクセスすると、ブラウザはTLSプロトコルを使用してHTTPトラフィックを暗号化します。HTTPSはTLSとは別のプロトコルではありません — TLSトンネル内で動作するHTTPです。

関連記事

SSL と証明書 2026-05-08
HTTPSとは?完全ガイド
HTTPSはブラウザとWebサイト間の接続を暗号化します。HTTPSの仕組み、TLSハンドシェイク、HTTP vs HTTPSの違い、パフォーマンスへの影響、無料での有効化方法を解説します。
SSL と証明書 2026-05-07
SSL/TLSの仕組み:TLSハンドシェイクの解説
TLSハンドシェイクのビジュアルウォークスルー。ブラウザとサーバーがミリ秒で暗号化接続を確立する方法を解説。TLS 1.2、TLS 1.3、セッション再開、前方秘匿性をカバーします。
SSL と証明書 2026-05-07
ECC vs RSA証明書:どちらを選ぶべきか?
ECC(ECDSA P-256)とRSA(2048/4096ビット)の証明書を比較。ECC鍵はより小さく高速です。GetHTTPSがECCをデフォルトにする理由とRSAが依然として意味を持つ場合を解説します。
はじめに 2026-05-08
無料SSL証明書の取得方法(ステップバイステップガイド)
Let's Encryptから5分で無料のSSL証明書を取得。ソフトウェアのインストール不要、アカウント作成不要。4つの方法、両方のチャレンジタイプ、6つのプラットフォームへのインストール、トラブルシューティングを網羅した完全ガイドです。
ブラウザで無料 SSL 証明書を取得
インストール不要、アカウント不要。秘密鍵は常にデバイスに残ります。
証明書を取得