Transport Layer Security (TLS)プロトコルは、ネットワーク間の通信を保護する機能を提供する。このTLS実装の比較では、最も知られるライブラリを比較する。
すべての比較カテゴリで、概要セクションにリストされている各実装の安定バージョンを使用する。この比較はTLSプロトコルに直接関連する機能に限定するものとする。目次 実装開発元オープンソースソフトウェアライセンス著作権所有者言語最新の安定バージョン、リリース日出所 TLSプロトコルにはいくつかのバージョンが存在する。SSL 2.0は重大な弱点を持ち廃止予定となっている。SSL 3.0(1996年)とTLS 1.0(1999年)は、2001年にSerge Vaudenayによって説明されたCBCパディングの2つの弱点を継承している。TLS 1.1(2006)は、CBCブロック暗号にランダムな初期化ベクトル(IV)を使用するよう切り替えることで問題の1つが解決されたのみで、このバージョンでは安全なpad-mac-encryptではなく問題のあるmac-pad-encryptの使用がRFC7366で追加されてしまった。TLS 1.1のランダムIVにほぼ相当するSSL 3.0とTLS 1.0の回避策は、2011年後半の多くの実装で広く採用されていた。セキュリティの観点からは、TLS 1.0、1.1、1.2のいずれも基本プロトコルで同等の強度を持ち、NIST SP800-57によると、少なくとも2030年までの128ビットセキュリティに適している。2014年には、SSL 3.0のPOODLEの脆弱性が発見される。これはCBCの既知の脆弱性を利用し、ブラウザ内で安全ではないTLSバージョンのフォールバック・ネゴシエーションを行うものである。 TLS 1.2(2008)は基本プロトコルの最新版であり、デジタル署名に使用されるハッシュを識別する手段を導入した。SSL 3.0の保守的な選択(rsa、sha1 + md5)よりも将来のデジタル署名(rsa、sha256 / sha384 / sha512)に対してより強力なハッシュ関数を使用できるようにする一方で、TLS 1.2プロトコルの変更は(rsa、sha1)、(rsa、md5)までをも提供し、デフォルトのデジタル署名を不注意かつ大幅に弱くした。 データグラムトランスポートレイヤセキュリティ(DTLS)1.0は、パケット損失とパケットの並べ替えを許容する必要があるパケット型トランスポートレイヤ向けにのTLS 1.1を変更したものである。TLS 1.2に基づく改訂版であるDTLS 1.2が2012年1月に公開された。 SSL 2.0とSSL 3.0には既知の脆弱性が存在する。予測可能なIV(簡単な回避策が存在する)を除いて、現在知られているすべての脆弱性はTLS 1.0 / 1.1 / 1.2のすべてのバージョンに影響がでる。 実装SSL 2.0 (安全でない)[4]SSL 3.0 (安全でない)[5]TLS 1.0[6]TLS 1.1[7]TLS 1.2[8]TLS 1.3
1 概要
2 プロトコルのサポート
3 アメリカ国家安全保障局 (NSA) Suite B 暗号
4 認定
5 鍵交換アルゴリズム(証明書のみ)
6 鍵交換アルゴリズム(代替鍵交換)
7 証明書の検証方法
8 暗号化アルゴリズム
8.1 廃止されたアルゴリズム
9 サポートされている楕円曲線
10 データの完全性
11 圧縮
12 拡張機能
13 アシスト暗号
14 システム固有のバックエンド
15 暗号モジュール/トークンのサポート
16 コードの依存関係
17 開発環境
18 移植性に関する懸念
19 関連
20 参照
概要
GnuTLSGnuTLS projectYesGNU LGPLv2.1+フリーソフトウェア財団C3.6.15 - 2020年9月4日(18日前) (2020-09-04)[1]EU (Greece and Sweden)
OpenSSLOpenSSL projectYesOpenSSL-SSLeay デュアルライセンス
wolfSSLwolfSSLYesGNU GPLv2+ 商用ライセンスwolfSSL Inc.C4.5.0 - 2020年8月19日(34日前) (2020-08-19)[3]US
実装開発元オープンソースソフトウェアライセンス著作権所有者言語最新の安定バージョン、リリース日出所
プロトコルのサポート