xutil.dev
ログイン

TLSバージョン比較表

TLS 1.0/1.1/1.2/1.3の比較リファレンス。バージョン、暗号スイート、ハンドシェイク、証明書、拡張機能、非推奨機能、ベストプラクティスを網羅

関連カテゴリ:SSL/TLSセキュリティ

49 件のコマンド

TLS 1.0 (1999)

SSL 3.0の後継。既知の脆弱性が多く非推奨

TLS 1.1 (2006)

CBC攻撃への対策を追加。現在は非推奨

TLS 1.2 (2008)

AEAD暗号スイート対応。現在も広く使用

TLS 1.3 (2018)

ハンドシェイク高速化、前方秘匿性必須。推奨バージョン

TLS 1.3 0-RTT

TLS 1.3の0-RTT再接続でレイテンシを削減

バージョン確認 (openssl)

接続先のTLSバージョンをopensslで確認

バージョン確認 (nmap)

nmapでサポートされるTLSバージョンをスキャン

プロトコルネゴシエーション

クライアントとサーバー間でTLSバージョンを交渉

AES-128-GCM

TLS 1.2/1.3推奨のAEAD暗号。高速で安全

AES-256-GCM

256ビットAES-GCM。最高レベルの暗号強度

CHACHA20-POLY1305

モバイル/ARM環境で高速なAEAD暗号

ECDHE鍵交換

楕円曲線Diffie-Hellmanで前方秘匿性を実現

暗号スイート順序

サーバー側で暗号スイートの優先順位を制御

暗号スイート一覧表示

OpenSSLでサポートされる暗号スイートを一覧表示

Nginx暗号設定

Nginxで推奨暗号スイートを設定

Apache暗号設定

Apacheで推奨暗号スイートを設定

TLS 1.2 フルハンドシェイク

TLS 1.2は2-RTTのフルハンドシェイクが必要

TLS 1.3 フルハンドシェイク

TLS 1.3は1-RTTでハンドシェイク完了

セッション再開

セッションチケットで再接続を高速化

ClientHello

クライアントが対応プロトコル・暗号・拡張を送信

ServerHello

サーバーが選択したプロトコル・暗号を応答

ハンドシェイクデバッグ

TLSハンドシェイクの詳細をデバッグ出力

ALPN

Application-Layer Protocol Negotiationでプロトコルを交渉

証明書確認

サーバー証明書の詳細を確認

証明書有効期限確認

SSL証明書の有効期限を確認

Let's Encrypt発行

Let's Encryptで無料SSL証明書を取得

CSR生成

証明書署名要求(CSR)を生成

自己署名証明書

開発用の自己署名証明書を作成

証明書チェーン検証

証明書チェーンの完全性を検証

ECDSA証明書

RSAより高速なECDSA証明書を生成

SNI (Server Name Indication)

1つのIPで複数の証明書をホスト

OCSP Stapling

証明書失効確認をサーバー側でキャッシュ

Certificate Transparency

CTログで証明書の透明性を確保

Encrypted ClientHello (ECH)

TLS 1.3でClientHelloのSNIを暗号化

Key Share

TLS 1.3で鍵共有パラメータをClientHelloに含める

SSL 2.0 無効化

SSL 2.0は重大な脆弱性があり無効化必須

SSL 3.0 無効化

POODLE攻撃に脆弱なSSL 3.0を無効化

RC4無効化

RC4暗号は解読可能であり使用禁止

3DES無効化

Sweet32攻撃に脆弱な3DESを無効化

MD5無効化

衝突耐性のないMD5をハッシュに使用しない

SHA-1非推奨

SHA-1は衝突攻撃に脆弱で証明書に使用不可

静的RSA鍵交換非推奨

前方秘匿性がない静的RSA鍵交換を無効化

Mozilla SSL Configuration Generator

MozillaのSSL設定ジェネレーターで推奨設定を生成

SSL Labs テスト

SSL LabsでサーバーのTLS設定をテスト

testssl.sh

コマンドラインでTLS設定を包括的にテスト

HSTS設定

HTTP Strict Transport Securityを有効化

証明書自動更新

Let's Encrypt証明書をcronで自動更新

CAA レコード設定

DNS CAAレコードで発行可能なCAを制限

TLS 1.2+1.3 推奨設定

TLS 1.2と1.3のみを有効化する推奨設定