暗号通信プロトコル比較早見表(SSL / TLS)
安全なWebサーバー設定やクライアント開発に役立つ、SSL 2.0からTLS 1.3までの歴代セキュア通信プロトコルの総合比較リファレンスです。各バージョンのIETFステータス、設計上の特徴、POODLEやBEASTといった代表的な脆弱性への影響度を整理して表示します。さらに、任意の暗号スイート(Cipher Suite)文字列を入力することで、その安全性や各モジュール(鍵交換、署名、対称暗号、ハッシュ)を即座に分解判定するシミュレータも提供します。
TLS 1.3 詳細レポート
最新・推奨現在最も安全かつ高速な暗号化通信プロトコルです。セキュリティとパフォーマンスの両面で大幅な近代化が行われました。
- 1-RTTハンドシェイクによる高速な接続確立
- 0-RTTによる再接続の即時開始
- 安全でない暗号化アルゴリズム(RC4, 3DES, AES-CBC等)の完全排除
- 静的RSA鍵交換の廃止(前方秘匿性: PFSの必須化)
SSL 3.0 (およびTLSの一部CBC実装)
中〜高 (セッションクッキーが盗まれ、中間者攻撃によりアカウント乗っ取りの危険)
ブロック暗号のCBCモードで使用されるパディング(データ長の調整用ダミー値)の検証設計バグを利用する攻撃。攻撃者は通信の一部を改ざんしながらダウングレードさせ、クッキー等の暗号化データを数バイトずつ解読します。
OpenSSL ソフトウェア (TLS 1.0〜1.2動作環境)
極めて深刻 (サーバーの秘密鍵やユーザーの認証情報がメモリから直接流出)
プロトコルそのもののバグではなく、広く使われている暗号化ライブラリ「OpenSSL」のバグです。生存確認通信(Heartbeat)のデータサイズ境界検証不足により、最大64KBのサーバーメモリ内容が攻撃者に漏洩します。
TLS 1.0 / SSL 3.0
中 (中間者攻撃によりHTTPS通信の一部(セッショントークンなど)が復号される)
CBCモードの初期化ベクトル(IV)が予測可能であるという欠陥を突く攻撃。Java applet等を用いてブラウザ内で細工したリクエストを送信させることで、HTTPSヘッダーのセッションIDを特定します。
TLS/HTTP 圧縮機能
低〜中 (圧縮された暗号化トラフィックからデータが漏洩)
TLS圧縮(CRIME)またはHTTP圧縮(BREACH)と暗号化を併用した際に、圧縮率の変化からデータ(秘密のCSRFトークンなど)の文字列を推測するサイドチャネル攻撃です。
64ビットブロック暗号 (3DES / Blowfish) を使用するTLS 1.2以下
低〜中 (大量の通信データを収集することで一部平文を解読)
3DESのような64ビットブロックサイズの古い暗号方式に共通する誕生日攻撃による限界。同一接続で多量のトラフィック(数百GB)が発生した際、暗号ブロックの衝突確率が高まり、セッショントークンが復号可能になります。
**Perfect Forward Secrecy (前方秘匿性)** とは、暗号セッションごとに毎回異なる一時的な暗号鍵を作成し、鍵共有を行う設計です。
従来のRSA鍵交換方式では、将来万が一サーバーの「秘密鍵」が漏洩・解析された場合、過去に傍受して記録していた**すべての暗号化通信データがさかのぼって復号されてしまう**という致命的な弱点がありました。
PFSを有効にすると(ECDHEやDHEを使用)、サーバーの秘密鍵が破られても、過去のセッションの個別の鍵までは推測できないため、歴史的データを守ることができます。TLS 1.3ではPFSが「必須」となりました。