fbpx
维基百科

TLS的应用对比

安全传输层协议 (TLS) 保障网络间的通信安全。本文比较几种最常用的TLS应用。市面上存在许多种自由开源的TLS应用软件。

所有类目的比较均使用下列概述部分中列出软件的稳定版本。该比较仅限于与TLS协议直接相关的功能。

概述

应用软件 开发商 开源 软件证书 版权拥有 编辑语言 最新版本,日期 源于
Botan Jack Lloyd Simplified BSD License Jack Lloyd C++ Template:Latest stable software release/Botan 美国 (Vermont)
GnuTLS GnuTLS项目 GNU LGPLv2.1+ 自由软件基金会 C 3.7.8(2022年9月27日,​3個月前​(2022-09-27[1][±] 欧洲 (希腊和瑞典)
LibreSSL OpenBSD Project Apache License 1.0, 4-clause BSD License, ISC License, and some are public domain Eric Young, Tim Hudson, Sun, OpenSSL project, OpenBSD Project, and others C, 汇编语言 3.6.1(2022年10月31日,​2個月前​(2022-10-31[2][±] 加拿大
MatrixSSL[3] PeerSec Networks GNU GPLv2+ and commercial license PeerSec Networks C 4.5.1(2022年7月29日,​5個月前​(2022-07-29[4][±] 美国
Mbed TLS (previously PolarSSL) Arm Apache License 2.0, GNU GPLv2+ and commercial license Arm Holdings C

3.2.1(2022年7月12日,​6個月前​(2022-07-12 [5][±]

EU (Netherlands)
Network Security Services (NSS) Mozilla, AOL, Red Hat, Sun, Oracle, Google and others MPL 2.0 NSS contributors C, 汇编语言 Template:Latest stable software release/Network Security Services US
OpenSSL OpenSSL 项目 OpenSSL-SSLeay dual-license Eric Young, Tim Hudson, Sun, OpenSSL 项目, 及其他 C汇编语言 3.0.7(2022年11月1日,​2個月前​(2022-11-01[6][±] 澳大利亚/欧洲
wolfSSL (曾名为 CyaSSL) wolfSSL[7] GNU GPLv2+ and commercial license wolfSSL 公司.[8] C 5.4.0(2022年7月11日,​6個月前​(2022-07-11[9][10][±] 美国

协议支持

TLS协议存在几种版本。 SSL 2.0是一个被弃用的[11] 协议版本,具有明显的缺陷。 SSL 3.0(1996)和TLS 1.0(1999)是具有两个CBC-填充弱点的版本——在2001年由Serge Vaudenay解析.[12] 。 TLS 1.1(2006)通过将CBC块密码切换到随机初始化矢量(IV)解决了其中一个问题,RFC7366[13]强调了 更严重的mac-pad-encrypt使用问题而不是使pad-mac-encrypt更安全的问题。

在2011年底,一种用于SSL 3.0和TLS 1.0的解决方法,基本等同于TLS 1.1的随机的IV被很多应用软件广泛采用[14] 。所以从安全角度来看,所有现有TLS 1.0,1.1和1.2版本在2030年前均在基本协议中提供相同的强度协议并适用于128位,据 NIST SP800-57。在2014年,SSL 3.0的POODLE漏洞被发现,其利用在CBCd的已知漏洞,以及浏览器中不安全的回退协商。[15]

TLS 1.2(2008)是最新发布的基本协议,引入了一种用于识别数字签名的散列方法。虽然在SSL 3.0保守选择(rsa,sha1 + md5)上允许将来使用更强大的散列函数进行数字签名(rsa,sha256 / sha384 / sha512),但TLS 1.2协议不经意间变化并大大削弱了默认数字签名并提供(rsa,sha1)甚至(rsa,md5)。[16]

数据报传输层安全性(DTLS或数据报TLS)1.0是针对面向数据包的传输层的TLS 1.1修改,其中必须容忍数据包丢失和数据包重新排序。基于TLS 1.2的修订版DTLS 1.2于2012年1月发布[17]

在SSL 2.0和SSL 3.0中存在已知的漏洞。除了可预测的IV(存在简单的解决方法)之外,所有当前已知的漏洞都会影响所有版本的TLS 1.0 / 1.1 / 1.2。[18]

应用软件 SSL 2.0 (不安全)[19] SSL 3.0 (不安全)[20] TLS 1.0[21] TLS 1.1[22] TLS 1.2[23] TLS 1.3
[24][25]
DTLS 1.0[26] DTLS 1.2[17]
Botan No No[27] Yes Yes Yes
GnuTLS [a] 默认禁止[28]
MatrixSSL No Disabled by default at compile time[29] Yes Yes Yes
Mbed TLS No No[30] No[30] No[30] Yes
(experimental)
Yes[31] [31]
NSS No[a] Disabled by default[32] Yes Yes[33] [34] [35] Yes[33] [36]
LibreSSL No[37] No[38] Yes Yes Yes [39]
OpenSSL [40] 默认禁止
wolfSSL 默认禁止[41]
  1. ^ 即使SSL 2.0不支持或由于向后兼容性而被禁用,客户端问候也会被支持。
  2. ^ SSL / TLS协议的服务器端实现仍支持处理收到的v2兼容客户端问候消息。[42]
  3. ^ 安全传输:在OS X 10.8中停用了SSL 2.0。在OS X 10.11和iOS 9中停用了SSL 3.0。TLS 1.1,1.2和DTLS在iOS 5.0和更高版本以及OS X 10.9和更高版本中均可用 。[43]
  4. [44]

NSA Suite B 密码学

NSA Suite B 密码学 (RFC 6460) 的必须部分:

  • 高级加密标准 (AES), 密钥大小为128和256位。对于业务流量,AES应与低带宽流量的计数器模式(CTR)或高带宽流量的伽罗瓦/计数器模式(GCM)操作模式一起使用(请参阅分块密码模式操作) - 对称加密
  • 椭圆曲线数字签名算法(ECDSA) - 数字签名
  • 椭圆曲线 Diffie-Hellman(ECDH) - 密钥协议
  • 安全散列算法2 (SHA-256 和 SHA-384) — 消息摘要

根据CNSSP-15,256位椭圆曲线(FIPS 186-2中),SHA-256和AES 128位密钥足以保护机密信息达到Secret级别,而384位椭圆曲线(在FIPS 186-2中指定),SHA-384和带有256位密钥的AES是保护最高机密信息所必需的。

应用软件 TLS 1.2 Suite B
Botan
GnuTLS
LibreSSL
MatrixSSL
Mbed TLS
NSS [45]
OpenSSL [46]
wolfSSL

证书

请注意,某些认证已受到实际参与研发人的严重负面批评。[47]

应用软件 FIPS 140-1, FIPS 140-2[48] 通用标准 Embedded FIPS Solution
第一层面 Level 2Template:Disputed inline
Botan[49]
GnuTLS[50] 红帽企业Linux GnuTLS加密模块(#2780)
LibreSSL[37] no support
MatrixSSL[51] SafeZone FIPS Cryptographic Module: 1.1 (#2389)
Mbed TLS[52]
NSS[53] Network Security Services: 3.2.2 (#247)
Network Security Services Cryptographic Module: 3.11.4 (#815), 3.12.4 (#1278), 3.12.9.1 (#1837)
Netscape Security Module: 1 (#7[notes 1]), 1.01 (#47[notes 2])
Network Security Services: 3.2.2 (#248[notes 3])
Network Security Services Cryptographic Module: 3.11.4 (#814[notes 4]), 3.12.4 (#1279, #1280[notes 5])
OpenSSL[54] OpenSSL FIPS 对象模块: 1.0 (#624), 1.1.1 (#733), 1.1.2 (#918), 1.2, 1.2.1, 1.2.2, 1.2.3 or 1.2.4 (#1051)
2.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5, 2.0.6, 2.0.7 or 2.0.8 (#1747)
wolfSSL[55] wolfCrypt FIPS 模块: 3.6.0 (#2425)
已验证的操作环境详见于NIST 证书 for validated Operating Environments
  1. ^ with Sun Sparc 5 w/ Sun Solaris v 2.4SE (ITSEC-rated)
  2. ^ with Sun Ultra-5 w/ Sun Trusted Solaris version 2.5.1 (ITSEC-rated)
  3. ^ with Solaris v8.0 with AdminSuite 3.0.1 as specified in UK IT SEC CC Report No. P148 EAL4 on a SUN SPARC Ultra-1
  4. ^ with these platforms; Red Hat Enterprise Linux Version 4 Update 1 AS on IBM xSeries 336 with Intel Xeon CPU, Trusted Solaris 8 4/01 on Sun Blade 2500 Workstation with UltraSPARC IIIi CPU
  5. ^ with these platforms; Red Hat Enterprise Linux v5 running on an IBM System x3550, Red Hat Enterprise Linux v5 running on an HP ProLiant DL145, Sun Solaris 10 5/08 running on a Sun SunBlade 2000 workstation, Sun Solaris 10 5/08 running on a Sun W2100z workstation

密钥交换算法(仅限于证书)

本节列出了在不同应用软件中中可用的证书验证功能。

应用软件 RSA[23] RSA-EXPORT (不安全)[23] DHE-RSA (forward secrecy)[23] DHE-DSS (forward secrecy)[23] ECDH-ECDSA[56] ECDHE-ECDSA (forward secrecy)[56] ECDH-RSA[56] ECDHE-RSA (forward secrecy)[56] GOST R 34.10-94, 34.10-2001[57]
Botan 默认禁止 默认禁止
GnuTLS 默认禁止[28]
LibreSSL [37] Yes[58]
MatrixSSL
Mbed TLS
NSS Yes 默认禁止 [59] [60][61]
OpenSSL [40] 默认禁止[40] [62]
wolfSSL

密钥交换算法(备选密钥交换)

应用软件 SRP[63] SRP-DSS[63] SRP-RSA[63] PSK-RSA[64] PSK[64] DHE-PSK (前向保密)[64] ECDHE-PSK (前向保密)[65] KRB5[66] DH-ANON[23] (不安全) ECDH-ANON[56] (不安全)
Botan 默认禁止 默认禁止
GnuTLS 默认禁止 默认禁止
LibreSSL [67] [67] [67]
MatrixSSL 默认禁止
Mbed TLS
NSS [68] [68] [68] [69] [69] [69] [69] Client side only, disabled by default[70] 默认禁止[71]
OpenSSL [72] 默认禁止[73] 默认禁止[73]
wolfSSL [74]

证书验证算法

应用软件 应用程序定义 PKIX path validation[75] CRL[76] OCSP[77] DANE (DNSSEC)[78] 首用信任 (TOFU)
Botan
GnuTLS
LibreSSL
MatrixSSL [79]
Mbed TLS [80]
NSS [81]
OpenSSL
wolfSSL

加密算法

应用软件 分组密码 的 操作模式 流密码 None
AES GCM
[82]
AES CCM
[83]
AES CBC Camellia GCM
[84]
Camellia CBC
[85]
ARIA GCM
[86]
ARIA CBC
[86]
SEED CBC
[87]
3DES EDE CBC
(不安全)[88]
GOST 28147-89 CNT
(提出)
[57][n 1]
ChaCha20-Poly1305
[89]
Null
(insecure)
[n 2]
Botan Yes Yes No No 默认禁止 默认禁止 No [90] Not implemented
GnuTLS yes[28] 默认禁止[91] [92] 默认禁止
LibreSSL [37] No [58] [37] [58] [37] 默认禁止
MatrixSSL 默认禁止 [93] 默认禁止
Mbed TLS [94] [95] [95] [30] [96] Disabled by default at compile time
NSS [97] [98][n 3] [99] [100] [60][61] [101] 默认禁止
OpenSSL [102] 默认禁止[40] 默认禁止[40] 默认禁止 默认禁止[40] 默认禁止[40] [62] [40] 默认禁止
wolfSSL 默认禁止


废弃算法

应用软件 分组密码 的 操作模式 流密码
IDEA CBC
[n 4](不安全)[104]
DES CBC
(不安全)
[n 4]
DES-40 CBC
(EXPORT, 不安全)
[n 5]
RC2-40 CBC
(EXPORT, 不安全)
[n 5]
RC4-128
(不安全)
[n 6]
RC4-40
(EXPORT, 不安全)
[n 7][n 5]
Botan No[105]
GnuTLS 默认禁止[28]
LibreSSL No[37] No[37] Yes No[37]
MatrixSSL No No No 默认禁止 No
Mbed TLS Disabled by default at compile time No Disabled by default at compile time[31] No
NSS 默认禁止 默认禁止 默认禁止 Lowest priority[106][107] 默认禁止
OpenSSL 默认禁止[40] 默认禁止 [40] [40] 默认禁止 [40]
wolfSSL 默认禁止[108] 默认禁止

支持的椭圆曲线

在 RFC 8446 (for TLS 1.3) 和 RFC 8422, 7027 (for TLS 1.2 and earlier) 中定义的曲线

适用的 TLS 版本 TLS 1.3 and earlier TLS 1.2 and earlier
应用软件 secp256r1
prime256v1
NIST P-256
(0x0017,[109] 23[110])
secp384r1
NIST P-384
(0x0018,[109] 24[110])
secp521r1
NIST P-521
(0x0019,[109] 25[110])
X25519
(0x001D,[109] 29[110])
X448
(0x001E,[109] 30[110])
brainpoolP256r1
(26)[111]
brainpoolP384r1
(27)[111]
brainpoolP512r1
(28)[111]
Botan [90] [112] [112] [112]
BoringSSL Yes (disabled by default)
BSAFE
GnuTLS [113] [114]
JSSE Yes
x25519: JDK 13+[115]
Ed25519:JDK 15+[116]
Yes
x448: JDK 13+[115]
Ed448: JDK 15+[116]
LibreSSL [117] [37] [37] [37]
MatrixSSL TLS 1.3 only[118]
Mbed TLS Primitive only[119] Primitive only[120] [121] [121] [121]
NSS [122] [123][124] [125] [125] [125]
OpenSSL [126][127] [128][129] [46] [46] [46]
Schannel Vista/2008, 7/2008R2, 8/2012, 8.1/2012R2, 10
Secure Transport
wolfSSL [130]
Erlang/OTP SSL application
Implementation secp256r1
prime256v1
NIST P-256
(0x0017, 23)
secp384r1
NIST P-384
(0x0018, 24)
secp521r1
NIST P-521
(0x0019, 25)
X25519
(0x001D, 29)
X448
(0x001E, 30)
brainpoolP256r1
(26)
brainpoolP384r1
(27)
brainpoolP512r1
(28)

RFC 8422 中弃用的曲线

应用! sect163k1
NIST K-163
(1)[56]
sect163r1
(2)[56]
sect163r2
NIST B-163
(3)[56]
sect193r1
(4)[56]
sect193r2
(5)[56]
sect233k1
NIST K-233
(6)[56]
sect233r1
NIST B-233
(7)[56]
sect239k1
(8)[56]
sect283k1
NIST K-283
(9)[56]
sect283r1
NIST B-283
(10)[56]
sect409k1
NIST K-409
(11)[56]
sect409r1
NIST B-409
(12)[56]
sect571k1
NIST K-571
(13)[56]
sect571r1
NIST B-571
(14)[56]
Botan No No No No No No No No No No No No No No
GnuTLS
LibreSSL
MatrixSSL No No No No No
Mbed TLS No No No No No
NSS
OpenSSL
wolfSSL No No No No No No
应用 sect163k1
NIST K-163
(1)
sect163r1
(2)
sect163r2
NIST B-163
(3)
sect193r1
(4)
sect193r2
(5)
sect233k1
NIST K-233
(6)
sect233r1
NIST B-233
(7)
sect239k1
(8)
sect283k1
NIST K-283
(9)
sect283r1
NIST B-283
(10)
sect409k1
NIST K-409
(11)
sect409r1
NIST B-409
(12)
sect571k1
NIST K-571
(13)
sect571r1
NIST B-571
(14)
应用 secp160k1
(15)[56]
secp160r1
(16)[56]
secp160r2
(17)[56]
secp192k1
(18)[56]
secp192r1
prime192v1
NIST P-192
(19)[56]
secp224k1
(20)[56]
secp224r1
NIST P-244
(21)[56]
secp256k1
(22)[56]
arbitrary prime curves
(0xFF01)[56][131]
arbitrary char2 curves
(0xFF02)[56][131]
Botan No No No No No No No No No No
GnuTLS No No No No No No No No
LibreSSL No No
MatrixSSL No No No No No No No No
Mbed TLS No No No Yes Yes Yes Yes No No
NSS Yes Yes Yes Yes Yes Yes Yes No No
OpenSSL Yes Yes Yes Yes Yes Yes Yes No No
wolfSSL Yes Yes Yes Yes Yes Yes Yes No No
应用 secp160k1
(15)
secp160r1
(16)
secp160r2
(17)
secp192k1
(18)
secp192r1
prime192v1
NIST P-192
(19)
secp224k1
(20)
secp224r1
NIST P-244
(21)
secp256k1
(22)
arbitrary prime curves
(0xFF01)
arbitrary char2 curves
(0xFF02)


Notes
  1. ^ 引用错误:没有为名为NSS-3.24的参考文献提供内容

数据完整性

应用软件 HMAC-MD5 HMAC-SHA1 HMAC-SHA256/384 AEAD GOST 28147-89 IMIT[57] GOST R 34.11-94[57]
Botan
GnuTLS
LibreSSL [58] [58]
MatrixSSL
Mbed TLS Yes
NSS [60][61] [60][61]
OpenSSL [62] [62]
wolfSSL

压缩

请注意,CRIME 安全漏洞 利用了TLS压缩的优势,因此传统应用不会在TLS层启用压缩。 HTTP 压缩是不相关的且不受此漏洞攻击的影响,但会被BREACH相关的攻击利用。

应用软件 DEFLATE[132]
(不安全)
Botan
GnuTLS 默认禁用
LibreSSL [37]
MatrixSSL 默认禁用
Mbed TLS 默认禁用
NSS 默认禁用
OpenSSL 默认禁用
wolfSSL 默认禁用

扩展

在本节中列出了每个应用支持的扩展。请注意,安全重新协商扩展对于HTTPS客户端安全至关重要。不执行TLS协议的客户端很容易受到攻击,无论客户端是否实施TLS重新协商。

Implementation Secure Renegotiation
[133]
Server Name Indication
[134]
ALPN
[135]
Certificate Status Request
[134]
OpenPGP
[136]
Supplemental Data
[137]
Session Ticket
[138]
Keying Material Exporter
[139]
Maximum Fragment Length
[134]
Truncated HMAC
[134]
Encrypt-then-MAC
[140]
TLS Fallback SCSV
[141]
Extended Master Secret
[142]
ClientHello Padding
[143]
Raw Public Keys
[144]
Botan [145] [146] [147] 未知
GnuTLS [148] 弃用[149] [28] [150] [28] [151]
LibreSSL [152] 否? 是? Server side only[153]
MatrixSSL [154] [93] [93] [93] 未知
Mbed TLS [155] Disabled by default[31] [156] [156] [156]
NSS [157] [158] [159] [160] [161] [157] 未知
OpenSSL [46] 否? 是? [162] [163] [164] 未知
wolfSSL [108] [165] 未知

辅助加密

本节列出了已知的利用CPU指令集优化加密,或利用系统特定允许访问底层加密硬件加速或分离数据的设备。

应用软件 PKCS #11 device Intel AES-NI VIA PadLock ARMv8-A Intel SGX Intel QAT(页面存档备份,存于互联网档案馆
GnuTLS [166]
OpenSSL [167] [168]
wolfSSL [169]

系统特定的后端

本节列出了已知利用可用操作系统特定后端或另一个提供的后端的应用。

应用软件 Windows CSP 一般加密CommonCrypto(页面存档备份,存于互联网档案馆 OpenSSL
GnuTLS
OpenSSL
wolfSSL 部分

加密模块/令牌支持

Implementation TPM support Hardware token support Objects identified via
Botan 部份[147] PKCS11
GnuTLS PKCS11 RFC7512 PKCS #11 URLs[170]
LibreSSL PKCS11 (via 3rd party module) Custom method
MatrixSSL PKCS11
Mbed TLS PKCS11 (via libpkcs11-helper) or standard hooks Custom method
NSS PKCS11
OpenSSL PKCS11 (通过第三方模块)[171] RFC7512 PKCS #11 URLs[170]
wolfSSL PKCS11

代码属性

应用软件 属性 可选属性
Botan C++11 sqlite
zlib (compression)
bzip2 (compression)
liblzma (compression)
boost
openssl (crypto backend)
trousers (TPM)
GnuTLS libc
nettle
gmp
zlib (compression)
p11-kit (PKCS #11)
trousers (TPM)
MatrixSSL none zlib (compression)
MatrixSSL-open libc or newlib
Mbed TLS libc libpkcs11-helper (PKCS #11)
zlib (compression)
NSS libc
libnspr4
libsoftokn3
libplc4
libplds4
zlib (compression)
OpenSSL libc zlib (压缩)
wolfSSL None libc, zlib (压缩)

开发环境

应用软件 Namespace 建设工具 API 手册 加密后端 OpenSSL 兼容层
Botan Botan::TLS Makefile Sphinx Included (pluggable)
GnuTLS gnutls_* Autoconf, automake, libtool Manual and API reference (HTML, PDF) External, libnettle 是 (部分)
MatrixSSL matrixSsl_*

ps*

Makefile, MSVC project workspaces, Xcode projects for OS X and iOS API Reference (PDF), Integration Guide Included (pluggable) 是 (Subset: SSL_read, SSL_write, etc.)
Mbed TLS mbedtls_ssl_*

mbedtls_sha1_*
mbedtls_md5_*
mbedtls_x509*
...

Makefile, CMake, MSVC project workspaces, yotta API Reference + High Level and Module Level Documentation (HTML) Included (monolithic)
NSS CERT_*

SEC_*
SECKEY_*
NSS_*
PK11_*
SSL_*
...

Makefile Manual (HTML) Included, PKCS#11 based[172] 是 (separate package called nss_compat_ossl[173])
OpenSSL SSL_*

SHA1_*
MD5_*
EVP_*
...

Makefile Man pages Included (monolithic) 不適用
wolfSSL CyaSSL_*

SSL_*

Autoconf, automake, libtool, MSVC project workspaces, XCode projects, CodeWarrior projects, MPLAB X projects, Keil, IAR, Clang, GCC Manual and API Reference (HTML, PDF) Included (monolithic) 是 (大约 10% of API)

移植问题

应用软件 平台要求 网络要求 线程安全 随机速度 能够交叉编译 No OS (bare metal) 可支持的操作系统
Botan C++11 None 线程安全 Platform-dependent Windows, Linux, macOS, Android, iOS, FreeBSD, OpenBSD, Solaris, AIX, HP-UX, QNX, BeOS, IncludeOS
GnuTLS C89 POSIX send() and recv(). API 支持所找的替代品. 线程安全,如果POSIX和Windows线程都不可用,则需要自定义互斥锁钩 取决于平台 基本任何 POSIX 平台 or Windows, 一般已测试的平台包含 GNU/Linux, Win32/64, OS X, Solaris, OpenWRT, FreeBSD, NetBSD, OpenBSD.
MatrixSSL C89 None 线程安全 Platform dependent All
Mbed TLS C89 POSIX read() and write(). API to supply your own replacement. Threading layer available (POSIX or own hooks) Random seed set through entropy pool Known to work on: Win32/64, Linux, macOS, Solaris, FreeBSD, NetBSD, OpenBSD, OpenWRT, iPhone (iOS), Xbox, Android, eCos, SeggerOS
NSS C89, NSPR[174] NSPR[174] PR_Send() and PR_Recv(). API to supply your own replacement. 线程安全 Platform dependent[175] 是 (but cumbersome) AIX, Android, FreeBSD, NetBSD, OpenBSD, BeOS, HP-UX, IRIX, Linux, macOS, OS/2, Solaris, OpenVMS, Amiga DE, Windows, WinCE, Sony PlayStation
OpenSSL C89? ? 需要互斥量回调 通过原始API设置 Unix, DOS (with djgpp), Windows, OpenVMS, MacOS, NetWare, eCos
wolfSSL C89 POSIX send() and recv(). API 支持所找的替代品. 线程安全,如果POSIX和Windows线程都不可用,则需要自定义互斥锁钩 通过 wolfCrypt设置随机速度 Win32/64, Linux, OS X, Solaris, ThreadX, VxWorks, FreeBSD, NetBSD, OpenBSD, embedded Linux, Haiku, OpenWRT, iPhone (iOS), Android, Nintendo Wii and Gamecube through DevKitPro, QNX, MontaVista, OpenCL, NonStop, TRON/ITRON/µITRON, Micrium's µC OS, FreeRTOS, SafeRTOS, Freescale MQX, Nucleus, TinyOS, HP/UX, Keil RTX, TI-RTOS

其他

  • SCTP — 含DTLS 支持
  • DCCP — 含 DTLS 支持
  • SRTP — 含 DTLS 支持 (DTLS-SRTP) 安全实时传输控制协议 (SRTCP)

参考文献

  1. ^ The GnuTLS Transport Layer Security Library. [2022-09-27]. 
  2. ^ LibreSSL: Releases. [2022-10-31]. 
  3. ^ The features listed are for the closed source version
  4. ^ Releases · matrixssl/matrixssl. GitHub. [2022-08-30] (英语). 
  5. ^ Releases · Mbed-TLS/mbedtls. GitHub. [2022-08-30] (英语). 
  6. ^ OpenSSL: Newslog. [2022-11-01]. 
  7. ^ . [2016-05-03]. (原始内容存档于2017-09-08). 
  8. ^ wolfSSL Embedded SSL/TLS. [2016-05-03]. (原始内容于2016-05-01). 
  9. ^ wolfSSL ChangeLog. 2022-07-11 [2022-08-29]. 
  10. ^ wolfSSL Release 5.4.0 (July 11, 2022). 2022-07-11 [2022-08-29]. 
  11. ^ [rfc:6176 RFC6176: Prohibiting Secure Sockets Layer (SSL) Version 2.0]
  12. ^ "CBC-Padding: Security Flaws in SSL, IPsec, WTLS,...", Serge Vaudenay, 2001 (PDF). [2018-06-22]. (原始内容 (PDF)于2019-03-03). 
  13. ^ [rfc:7366 RFC7366: Encrypt-then-MAC for Transport Layer Security (TLS) and Datagram Transport Layer Security]
  14. ^ Rizzo/Duong BEAST Countermeasures. [2018-06-22]. (原始内容于2018-06-23). 
  15. ^ Möller, Bodo; Duong, Thai; Kotowicz, Krzysztof. This POODLE Bites: Exploiting The SSL 3.0 Fallback (PDF). September 2014 [2014-10-15]. (原始内容 (PDF)于2014-10-14). 
  16. ^ TLSv1.2's Major Differences from TLSv1.1
  17. ^ 17.0 17.1 RFC 6347
  18. ^ Bard attack. CiteSeerX 10.1.1.61.5887 . 
  19. ^ draft-hickman-netscape-ssl-00. tools.ietf.org. [2018-06-22]. (原始内容于2013-09-10). 
  20. ^ RFC 6101
  21. ^ RFC 2246
  22. ^ RFC 4346
  23. ^ 23.0 23.1 23.2 23.3 23.4 23.5 RFC 5246
  24. ^ RFC 8446 - The Transport Layer Security (TLS) Protocol Version 1.3. datatracker.ietf.org. [2022-08-30]. (原始内容存档于2021-05-14) (英语). 
  25. ^ tlswg/tls13-spec branches. tlswg.github.io. [2018-06-22]. (原始内容于2016-01-04). 
  26. ^ RFC 4347
  27. ^ . 2015-01-11 [2015-01-16]. (原始内容存档于2015-01-09). 
  28. ^ 28.0 28.1 28.2 28.3 28.4 28.5 [gnutls-devel] GnuTLS 3.4.0 released. 2015-04-08 [2015-04-16]. (原始内容于2015-04-16). 
  29. ^ . [2014-11-09]. (原始内容存档于2015-02-14). 
  30. ^ 30.0 30.1 30.2 30.3 Mbed TLS 3.0.0 branch released. GitHub. 2021-07-07 [2021-08-13]. (原始内容于2021-08-13). 
  31. ^ 31.0 31.1 31.2 31.3 mbed TLS 2.0.0 released. 2015-07-10 [2015-07-14]. (原始内容于2015-09-25). 
  32. ^ NSS 3.19 release notes. Mozilla Developer Network. Mozilla. [2015-05-06]. (原始内容于2015-06-05). 
  33. ^ 33.0 33.1 . Mozilla Developer Network. Mozilla. [2012-10-27]. (原始内容存档于2013-01-17). 
  34. ^ NSS 3.15.1 release notes. Mozilla Developer Network. Mozilla. [2013-08-10]. (原始内容于2013-09-22). 
  35. ^ NSS 3.39 release notes. Mozilla Developer Network. Mozilla. 2018-08-31 [2018-09-15]. (原始内容于2021-12-07). 
  36. ^ NSS 3.16.2 release notes. Mozilla Developer Network. Mozilla. 2014-06-30 [2014-06-30]. (原始内容于2021-12-07). 
  37. ^ 37.00 37.01 37.02 37.03 37.04 37.05 37.06 37.07 37.08 37.09 37.10 37.11 37.12 OpenBSD 5.6 Released. 2014-11-01 [2015-01-20]. (原始内容于2016-01-31). 
  38. ^ LibreSSL 2.3.0 Released. 2015-09-23 [2015-09-24]. (原始内容于2021-02-25). 
  39. ^ LibreSSL 3.3.3 Released. 2021-05-04 [2021-05-04]. (原始内容于2022-08-30). 
  40. ^ 40.00 40.01 40.02 40.03 40.04 40.05 40.06 40.07 40.08 40.09 40.10 40.11 Inc., OpenSSL Foundation,. . www.openssl.org. [2018-06-22]. (原始内容存档于2018-03-17). 
  41. ^ [wolfssl] wolfSSL 3.6.6 Released. 2015-08-20 [2015-08-24]. (原始内容于2015-10-17). 
  42. ^ NSS 3.24 release notes. Mozilla Developer Network. Mozilla. [2016-06-19]. (原始内容于2016-08-26). 
  43. ^ Technical Note TN2287: iOS 5 and TLS 1.2 Interoperability Issues. iOS Developer Library. Apple Inc. [2012-05-03]. (原始内容于2015-04-03). 
  44. ^ Qualys SSL Labs - Projects / User Agent Capabilities. dev.ssllabs.com. [2018-06-22]. (原始内容于2015-09-19). 
  45. ^ Bug 663320 - (NSA-Suite-B-TLS) Implement RFC6460 (NSA Suite B profile for TLS). Mozilla. [2014-05-19]. (原始内容于2022-08-30). 
  46. ^ 46.0 46.1 46.2 46.3 46.4 . [2015-01-22]. (原始内容存档于September 4, 2014). 
  47. ^ "Secure or Compliant, Pick One" Steve Marquess blog. [2018-06-22]. (原始内容于2013-12-27). 
  48. ^ . csrc.nist.gov. [2018-06-22]. (原始内容存档于2014-12-26). 
  49. ^ . [2014-11-16]. (原始内容存档于2014-11-29). 
  50. ^ "While, as a free software project, we are not actively pursuing this kind of certification, GnuTLS has been FIPS-140-2 certified in several systems by third parties." GnuTLS 3.5.6 B.5 Certification (页面存档备份,存于互联网档案馆
  51. ^ Matrix SSL Toolkit (PDF). [2022-08-30]. (原始内容 (PDF)于2021-07-07). 
  52. ^ Limited, ARM. Is mbed TLS FIPS certified? - Knowledge Base. polarssl.org. [2022-08-30]. (原始内容于2014-12-15). 
  53. ^ FIPS Validation - MozillaWiki. wiki.mozilla.org. [2022-08-30]. (原始内容于2022-08-30). 
  54. ^ . [2018年6月22日]. (原始内容存档于2013年5月28日). 
  55. ^ wolfCrypt FIPS 140-2 Information - wolfSSL Embedded SSL/TLS Library. [2018-06-22]. (原始内容于2015-04-30). 
  56. ^ 56.00 56.01 56.02 56.03 56.04 56.05 56.06 56.07 56.08 56.09 56.10 56.11 56.12 56.13 56.14 56.15 56.16 56.17 56.18 56.19 56.20 56.21 56.22 56.23 56.24 56.25 56.26 56.27 56.28 RFC 4492
  57. ^ 58.0 58.1 58.2 58.3 58.4 LibreSSL 2.1.2 released. 2014-12-09 [2015-01-20]. (原始内容于2022-08-30). 
  58. ^ NSS 3.20 release notes. Mozilla. 2015-08-19 [2015-08-20]. (原始内容于2021-12-07). 
  59. ^ 60.0 60.1 60.2 60.3 Mozilla.org. Bug 518787 - Add GOST crypto algorithm support in NSS. [2014-07-01]. (原始内容于2022-08-30). 
  60. ^ 61.0 61.1 61.2 61.3 Mozilla.org. Bug 608725 - Add Russian GOST cryptoalgorithms to NSS and Thunderbird. [2014-07-01]. (原始内容于2022-08-30). 
  61. ^ 62.0 62.1 62.2 62.3 OpenSSL: CVS Web Interface. [2014-11-12]. (原始内容存档于2013-04-15). 
  62. ^ 63.0 63.1 63.2 RFC 5054
  63. ^ 64.0 64.1 64.2 RFC 4279
  64. ^ RFC 5489
  65. ^ RFC 2712
  66. ^ 67.0 67.1 67.2 LibreSSL 2.0.4 released. [2014-08-04]. (原始内容于2019-03-23). 
  67. ^ 68.0 68.1 68.2 Bug 405155 - add support for TLS-SRP, rfc5054. Mozilla. [2014-01-25]. (原始内容于2022-08-30). 
  68. ^ 69.0 69.1 69.2 69.3 Bug 306435 - Mozilla browsers should support the new IETF TLS-PSK protocol to help reduce phishing. Mozilla. [2014-01-25]. (原始内容于2022-08-30). 
  69. ^ Bug 1170510 - Implement NSS server side support for DH_anon. Mozilla. [2015-06-03]. (原始内容于2022-08-30). 
  70. ^ Bug 236245 - Update ECC/TLS to conform to RFC 4492. Mozilla. [2014-06-09]. (原始内容于2022-08-30). 
  71. ^ Changes between 0.9.6h and 0.9.7 [31 Dec 2002]. [2016-01-29]. (原始内容于2016-09-13). 
  72. ^ 73.0 73.1 Changes between 0.9.8n and 1.0.0 [29 Mar 2010]. [2016-01-29]. (原始内容于2016-09-13). 
  73. ^ wolfSSL (Formerly CyaSSL) Release 3.9.0 (03/18/2016). 2016-03-18 [2016-04-05]. (原始内容于2016-03-16). 
  74. ^ RFC 5280
  75. ^ RFC 3280
  76. ^ RFC 2560
  77. ^ RFC 6698, RFC 7218
  78. ^ . [2017-01-18]. (原始内容存档于2017-01-19). 
  79. ^ mbed TLS 2.0 defaults implement best practices. [2017-01-18]. (原始内容于2022-03-08). 
  80. ^ Bug 672600 - Use DNSSEC/DANE chain stapled into TLS handshake in certificate chain validation. Mozilla. [2014-06-18]. (原始内容于2018-04-06). 
  81. ^ RFC 5288, RFC 5289
  82. ^ RFC 6655, RFC 7251
  83. ^ RFC 6367
  84. ^ RFC 5932, RFC 6367
  85. ^ 86.0 86.1 RFC 6209
  86. ^ RFC 4162
  87. ^ Sweet32: Birthday attacks on 64-bit block ciphers in TLS and OpenVPN. sweet32.info. [2018-06-22]. (原始内容于2018-04-08). 
  88. ^ RFC 7905
  89. ^ 90.0 90.1 Version 1.11.12, 2015-01-02 — Botan. 2015-01-02 [2015-01-09]. (原始内容于2015-01-10). 
  90. ^ gnutls 3.6.0. 2017-09-21 [2018-01-07]. (原始内容于2018-01-18). 
  91. ^ . 2016-05-20 [2016-05-29]. (原始内容存档于2016-10-13). 
  92. ^ 93.0 93.1 93.2 93.3 Changes in 3.8.3. GitHub. [2016-06-19]. [永久失效連結]
  93. ^ PolarSSL 1.3.8 release notes. [2022-08-30]. (原始内容于2014-07-15). 
  94. ^ 95.0 95.1 Mbed TLS 2.11.0, 2.7.4 and 2.1.13 released. [2018-08-30]. (原始内容于2021-04-14). 
  95. ^ Mbed TLS 2.12.0, 2.7.5 and 2.1.14 released. [2018-08-30]. (原始内容于2021-07-29). 
  96. ^ NSS 3.25 release notes. Mozilla Developer Network. Mozilla. [2016-07-01]. (原始内容于2021-12-07). 
  97. ^ Bug 940119 - libssl does not support any TLS_ECDHE_*_CAMELLIA_*_GCM cipher suites. Mozilla. [2013-11-19]. (原始内容于2022-08-30). 
  98. ^ NSS 3.12 is released. [2013-11-19]. (原始内容于2019-12-08). 
  99. ^ NSS 3.12.3 Release Notes. Mozilla Developer Network. Mozilla. [2014-07-01]. (原始内容于2021-05-10). 
  100. ^ NSS 3.23 release notes. Mozilla Developer Network. Mozilla. [2016-03-09]. (原始内容于2021-04-14). 
  101. ^ openssl/CHANGES at OpenSSL_1_0_1-stable · openssl/openssl. [2015-01-20]. (原始内容于2016-01-31). 
  102. ^ RFC 5469
  103. ^ 存档副本. [2018-06-22]. (原始内容于2018-04-08). 
  104. ^ Version 1.11.15, 2015-03-08 — Botan. 2015-03-08 [2015-03-11]. (原始内容于2015-05-15). 
  105. ^ NSS 3.15.3 release notes. Mozilla Developer Network. Mozilla. [2014-07-13]. (原始内容于2014-06-05). 
  106. ^ MFSA 2013-103: Miscellaneous Network Security Services (NSS) vulnerabilities. Mozilla. Mozilla. [2014-07-13]. (原始内容于2014-07-14). 
  107. ^ 108.0 108.1 wolfSSL (Formerly CyaSSL) Release 3.7.0 (10/26/2015). 2015-10-26 [2015-11-19]. (原始内容于2015-11-20). 
  108. ^ 109.0 109.1 109.2 109.3 109.4 RFC 8446
  109. ^ 110.0 110.1 110.2 110.3 110.4 RFC 8422
  110. ^ 111.0 111.1 111.2 RFC 7027
  111. ^ 112.0 112.1 112.2 Version 1.11.5, 2013-11-10 — Botan. 2013-11-10 [2015-01-23]. (原始内容于2014-12-03). 
  112. ^ An overview of the new features in GnuTLS 3.5.0. 2016-05-02 [2016-12-09]. (原始内容于2016-12-20). 
  113. ^ gnutls 3.6.12. 2020-02-01 [2021-08-31]. (原始内容于2022-08-30). 
  114. ^ 115.0 115.1 . [2019-06-20]. (原始内容存档于2020-04-01). 
  115. ^ 116.0 116.1 JEP 339: Edwards-Curve Digital Signature Algorithm (EdDSA). [2022-01-06]. (原始内容于2022-01-06). 
  116. ^ LibreSSL 2.5.1 release notes. OpenBSD. 2017-01-31 [2017-02-23]. (原始内容于2022-08-30). 
  117. ^ MatrixSSL 4.0 changelog. GitHub. [2018-09-18]. (原始内容于2022-08-30). 
  118. ^ PolarSSL 1.3.3 released. 2013-12-31 [2015-01-23]. (原始内容于2014-12-18). 
  119. ^ Mbed TLS 2.9.0, 2.7.3 and 2.1.12 released. [2018-08-30]. (原始内容于2021-04-14). 
  120. ^ 121.0 121.1 121.2 PolarSSL 1.3.1 released. 2013-10-15 [2015-01-23]. (原始内容于2015-01-23). 
  121. ^ Bug 957105 - Add support for curve25519 Key Exchange and UMAC MAC support for TLS. Mozilla. [2017-02-23]. (原始内容于2022-08-30). 
  122. ^ Bug 1305243 - Support for X448. Mozilla. [2022-08-04]. (原始内容于2022-08-04). 
  123. ^ Bug 1597057 - Curve448 or named Ed448-Goldilocks support needed (both X448 key exchange and Ed448 signature algorithm ). Mozilla. [2022-08-04]. 
  124. ^ 125.0 125.1 125.2 Bug 943639 - Support for Brainpool ECC Curve (rfc5639). Mozilla. [2014-01-25]. (原始内容于2022-08-30). 
  125. ^ . 25 August 2016 [18 May 2018]. (原始内容存档于18 May 2018). 
  126. ^ OpenSSL  GitHub Issue #487 Tracker. GitHub. 2 December 2015 [18 May 2018]. (原始内容于2018-10-06). 
  127. ^ OpenSSL 1.1.1x Release Notes. 1 May 2018 [18 May 2018]. (原始内容于2018-05-18). 
  128. ^ OpenSSL  GitHub Issue #5049 Tracker. GitHub. 9 January 2018 [18 May 2018]. (原始内容于2019-02-18). 
  129. ^ wolfSSL (Formerly CyaSSL) Release 3.4.6 (03/30/2015). 2015-03-30 [2015-11-19]. (原始内容于2016-03-16). 
  130. ^ 131.0 131.1 Negotiation of arbitrary curves has been shown to be insecure for certain curve sizes Mavrogiannopoulos, Nikos and Vercautern, Frederik and Velichkov, Vesselin and Preneel, Bart. A cross-protocol attack on the TLS protocol. Proceedings of the 2012 ACM conference on Computer and communications security (PDF). 2012: 62–72 [2018-06-22]. ISBN 978-1-4503-1651-4. (原始内容 (PDF)于2015-07-06). 
  131. ^ RFC 3749
  132. ^ RFC 5746
  133. ^ 134.0 134.1 134.2 134.3 RFC 6066
  134. ^ RFC 7301
  135. ^ RFC 6091
  136. ^ RFC 4680
  137. ^ RFC 5077
  138. ^ RFC 5705
  139. ^ RFC 7366
  140. ^ RFC 7507
  141. ^ RFC 7627
  142. ^ RFC 7685
  143. ^ RFC 7250
  144. ^ Version 1.11.16, 2015-03-29 — Botan. 2016-03-29 [2016-09-08]. (原始内容于2022-08-30). 
  145. ^ Version 1.11.10, 2014-12-10 — Botan. 2014-12-10 [2014-12-14]. (原始内容于2014-12-03). 
  146. ^ 147.0 147.1 Version 1.11.26, 2016-01-04 — Botan. 2016-01-04 [2016-02-25]. (原始内容于2022-08-30). 
  147. ^ . [2015-01-26]. (原始内容存档于2016-01-31). 
  148. ^ 存档副本. [2018-06-22]. (原始内容于2018-02-18). 
  149. ^ . [2015-08-25]. (原始内容存档于2017-07-17). 
  150. ^ %DUMBFW priority keyword. [2017-04-30]. (原始内容于2017-04-17). 
  151. ^ LibreSSL 2.1.3 released. 2015-01-22 [2015-01-22]. (原始内容于2016-01-31). 
  152. ^ LibreSSL 2.1.4 released. 2015-03-04 [2015-03-04]. (原始内容于2019-03-23). 
  153. ^ . 2014-12-04 [2015-01-26]. (原始内容存档于2015-02-14). 
  154. ^ Download overview - PolarSSL. 2014-04-11 [2015-01-26]. (原始内容于2015-02-09). 
  155. ^ 156.0 156.1 156.2 mbed TLS 1.3.10 released. 2015-02-08 [2015-02-09]. (原始内容于2015-02-09). 
  156. ^ 157.0 157.1 NSS 3.15.5 release notes. Mozilla Developer Network. Mozilla. [2015-01-26]. (原始内容存档于January 26, 2015). 
  157. ^ Bug 961416 - Support RFC6091 - Using OpenPGP Keys for Transport Layer Security Authentication (TLS1.2). Mozilla. [2014-06-18]. (原始内容于2022-08-30). 
  158. ^ Bug 972145 - Implement the encrypt-then-MAC TLS extension. Mozilla. [2014-11-06]. (原始内容于2022-08-30). 
  159. ^ NSS 3.17.1 release notes. [2014-10-17]. (原始内容于2019-04-19). 
  160. ^ NSS 3.21 release notes. [2015-11-14]. (原始内容于2021-12-07). 
  161. ^ 存档副本. [2018-06-22]. (原始内容于2015-08-13). 
  162. ^ OpenSSL 1.1.0 Release Notesl. [永久失效連結]
  163. ^ . 2014-04-07 [2015-02-10]. (原始内容存档于2015-01-20). 
  164. ^ wolfSSL Version 4.2.0 is Now Available!. 22 October 2019 [2021-08-13]. (原始内容于2022-08-30). 
  165. ^ 存档副本. [2018-06-22]. (原始内容于2016-12-20). 
  166. ^ https://habrahabr.ru/post/134725/ (页面存档备份,存于互联网档案馆), http://forum.rutoken.ru/topic/1639/ (页面存档备份,存于互联网档案馆), https://dev.rutoken.ru/pages/viewpage.action?pageId=18055184 (页面存档备份,存于互联网档案馆(俄文)
  167. ^ git.openssl.org Git - openssl.git/commitdiff. git.openssl.org. [2018-06-22]. (原始内容于2018-01-22). 
  168. ^ wolfSSL Asynchronous Intel QuickAssist Support - wolfSSL. 2017-01-18. 
  169. ^ 170.0 170.1 RFC 7512
  170. ^ libp11: PKCS#11 wrapper library. 2018-01-19 [2018-06-22]. (原始内容于2018-06-11) –通过GitHub. 
  171. ^ On the fly replaceable/augmentable.
  172. ^ Nss compat ossl - Fedora Project Wiki. fedoraproject.org. [2022-08-30]. (原始内容于2022-08-30). 
  173. ^ 174.0 174.1 NSPR. Mozilla Developer Network. [2022-08-30]. (原始内容于2013-03-07). 
  174. ^ For Unix/Linux it uses /dev/urandom if available, for Windows it uses CAPI. For other platforms it gets data from clock, and tries to open system files. NSS has a set of platform dependent functions it uses to determine randomness.
  1. ^ This algorithm is not defined yet as TLS cipher suites in RFCs, is proposed in drafts.
  2. ^ authentication only, no encryption
  3. ^ This algorithm is implemented in an NSS fork used by Pale Moon.
  4. ^ 4.0 4.1 IDEA and DES have been removed from TLS 1.2.[103]
  5. ^ 5.0 5.1 5.2 40 bits strength of cipher suites were designed to operate at reduced key lengths in order to comply with US regulations about the export of cryptographic software containing certain strong encryption algorithms (see Export of cryptography from the United States). These weak suites are forbidden in TLS 1.1 and later.
  6. ^ The RC4 attacks weaken or break RC4 used in SSL/TLS. Use of RC4 is prohibited by RFC 7465.
  7. ^ The RC4 attacks weaken or break RC4 used in SSL/TLS.

tls的应用对比, 安全传输层协议, 保障网络间的通信安全, 本文比较几种最常用的tls应用库, 市面上存在许多种自由开源的tls应用软件, 所有类目的比较均使用下列概述部分中列出软件的稳定版本, 该比较仅限于与tls协议直接相关的功能, 目录, 概述, 协议支持, suite, 密码学, 证书, 密钥交换算法, 仅限于证书, 密钥交换算法, 备选密钥交换, 证书验证算法, 加密算法, 废弃算法, 支持的椭圆曲线, 8446, 8422, 7027, earlier, 中定义的曲线, 8422, 中弃用的曲线, 数. 安全传输层协议 TLS 保障网络间的通信安全 本文比较几种最常用的TLS应用库 市面上存在许多种自由开源的TLS应用软件 所有类目的比较均使用下列概述部分中列出软件的稳定版本 该比较仅限于与TLS协议直接相关的功能 目录 1 概述 2 协议支持 3 NSA Suite B 密码学 4 证书 5 密钥交换算法 仅限于证书 6 密钥交换算法 备选密钥交换 7 证书验证算法 8 加密算法 8 1 废弃算法 9 支持的椭圆曲线 9 1 在 RFC 8446 for TLS 1 3 和 RFC 8422 7027 for TLS 1 2 and earlier 中定义的曲线 9 2 RFC 8422 中弃用的曲线 10 数据完整性 11 压缩 12 扩展 13 辅助加密 14 系统特定的后端 15 加密模块 令牌支持 16 代码属性 17 开发环境 18 移植问题 19 其他 20 参考文献概述 编辑应用软件 开发商 开源 软件证书 版权拥有 编辑语言 最新版本 日期 源于Botan Jack Lloyd 是 Simplified BSD License Jack Lloyd C Template Latest stable software release Botan 美国 Vermont GnuTLS GnuTLS项目 是 GNU LGPLv2 1 自由软件基金会 C 3 7 8 2022年9月27日 3個月前 2022 09 27 1 欧洲 希腊和瑞典 LibreSSL OpenBSD Project 是 Apache License 1 0 4 clause BSD License ISC License and some are public domain Eric Young Tim Hudson Sun OpenSSL project OpenBSD Project and others C 汇编语言 3 6 1 2022年10月31日 2個月前 2022 10 31 2 加拿大MatrixSSL 3 PeerSec Networks 是 GNU GPLv2 and commercial license PeerSec Networks C 4 5 1 2022年7月29日 5個月前 2022 07 29 4 美国Mbed TLS previously PolarSSL Arm 是 Apache License 2 0 GNU GPLv2 and commercial license Arm Holdings C 3 2 1 2022年7月12日 6個月前 2022 07 12 5 EU Netherlands Network Security Services NSS Mozilla AOL Red Hat Sun Oracle Google and others 是 MPL 2 0 NSS contributors C 汇编语言 Template Latest stable software release Network Security Services USOpenSSL OpenSSL 项目 是 OpenSSL SSLeay dual license Eric Young Tim Hudson Sun OpenSSL 项目 及其他 C 汇编语言 3 0 7 2022年11月1日 2個月前 2022 11 01 6 澳大利亚 欧洲wolfSSL 曾名为 CyaSSL wolfSSL 7 是 GNU GPLv2 and commercial license wolfSSL 公司 8 C 5 4 0 2022年7月11日 6個月前 2022 07 11 9 10 美国协议支持 编辑TLS协议存在几种版本 SSL 2 0是一个被弃用的 11 协议版本 具有明显的缺陷 SSL 3 0 1996 和TLS 1 0 1999 是具有两个CBC 填充弱点的版本 在2001年由Serge Vaudenay解析 12 TLS 1 1 2006 通过将CBC块密码切换到随机初始化矢量 IV 解决了其中一个问题 RFC7366 13 强调了 更严重的mac pad encrypt使用问题而不是使pad mac encrypt更安全的问题 在2011年底 一种用于SSL 3 0和TLS 1 0的解决方法 基本等同于TLS 1 1的随机的IV被很多应用软件广泛采用 14 所以从安全角度来看 所有现有TLS 1 0 1 1和1 2版本在2030年前均在基本协议中提供相同的强度协议并适用于128位 据 NIST SP800 57 在2014年 SSL 3 0的POODLE漏洞被发现 其利用在CBCd的已知漏洞 以及浏览器中不安全的回退协商 15 TLS 1 2 2008 是最新发布的基本协议 引入了一种用于识别数字签名的散列方法 虽然在SSL 3 0保守选择 rsa sha1 md5 上允许将来使用更强大的散列函数进行数字签名 rsa sha256 sha384 sha512 但TLS 1 2协议不经意间变化并大大削弱了默认数字签名并提供 rsa sha1 甚至 rsa md5 16 数据报传输层安全性 DTLS或数据报TLS 1 0是针对面向数据包的传输层的TLS 1 1修改 其中必须容忍数据包丢失和数据包重新排序 基于TLS 1 2的修订版DTLS 1 2于2012年1月发布 17 在SSL 2 0和SSL 3 0中存在已知的漏洞 除了可预测的IV 存在简单的解决方法 之外 所有当前已知的漏洞都会影响所有版本的TLS 1 0 1 1 1 2 18 应用软件 SSL 2 0 不安全 19 SSL 3 0 不安全 20 TLS 1 0 21 TLS 1 1 22 TLS 1 2 23 TLS 1 3 24 25 DTLS 1 0 26 DTLS 1 2 17 Botan No No 27 Yes Yes 是 Yes 是GnuTLS 否 a 默认禁止 28 是 是 是 是 是 是MatrixSSL No Disabled by default at compile time 29 Yes Yes 是 是 Yes 是Mbed TLS No No 30 No 30 No 30 是 Yes experimental Yes 31 是 31 NSS No a Disabled by default 32 Yes Yes 33 是 34 是 35 Yes 33 是 36 LibreSSL No 37 No 38 Yes Yes 是 是 Yes 是 39 OpenSSL 否 40 默认禁止 是 是 是 是 是 是wolfSSL 否 默认禁止 41 是 是 是 是 是 是 即使SSL 2 0不支持或由于向后兼容性而被禁用 客户端问候也会被支持 SSL TLS协议的服务器端实现仍支持处理收到的v2兼容客户端问候消息 42 安全传输 在OS X 10 8中停用了SSL 2 0 在OS X 10 11和iOS 9中停用了SSL 3 0 TLS 1 1 1 2和DTLS在iOS 5 0和更高版本以及OS X 10 9和更高版本中均可用 43 44 NSA Suite B 密码学 编辑NSA Suite B 密码学 RFC 6460 的必须部分 高级加密标准 AES 密钥大小为128和256位 对于业务流量 AES应与低带宽流量的计数器模式 CTR 或高带宽流量的伽罗瓦 计数器模式 GCM 操作模式一起使用 请参阅分块密码模式操作 对称加密 椭圆曲线数字签名算法 ECDSA 数字签名 椭圆曲线 Diffie Hellman ECDH 密钥协议 安全散列算法2 SHA 256 和 SHA 384 消息摘要根据CNSSP 15 256位椭圆曲线 FIPS 186 2中 SHA 256和AES 128位密钥足以保护机密信息达到Secret级别 而384位椭圆曲线 在FIPS 186 2中指定 SHA 384和带有256位密钥的AES是保护最高机密信息所必需的 应用软件 TLS 1 2 Suite BBotan 是GnuTLS 是LibreSSL 是MatrixSSL 是Mbed TLS 是NSS 否 45 OpenSSL 是 46 wolfSSL 是证书 编辑请注意 某些认证已受到实际参与研发人的严重负面批评 47 应用软件 FIPS 140 1 FIPS 140 2 48 通用标准 Embedded FIPS Solution第一层面 Level 2Template Disputed inlineBotan 49 GnuTLS 50 红帽企业Linux GnuTLS加密模块 2780 LibreSSL 37 no supportMatrixSSL 51 SafeZone FIPS Cryptographic Module 1 1 2389 Mbed TLS 52 NSS 53 Network Security Services 3 2 2 247 Network Security Services Cryptographic Module 3 11 4 815 3 12 4 1278 3 12 9 1 1837 Netscape Security Module 1 7 notes 1 1 01 47 notes 2 Network Security Services 3 2 2 248 notes 3 Network Security Services Cryptographic Module 3 11 4 814 notes 4 3 12 4 1279 1280 notes 5 OpenSSL 54 OpenSSL FIPS 对象模块 1 0 624 1 1 1 733 1 1 2 918 1 2 1 2 1 1 2 2 1 2 3 or 1 2 4 1051 2 0 2 0 1 2 0 2 2 0 3 2 0 4 2 0 5 2 0 6 2 0 7 or 2 0 8 1747 wolfSSL 55 wolfCrypt FIPS 模块 3 6 0 2425 已验证的操作环境详见于NIST 证书 for validated Operating Environments 是 with Sun Sparc 5 w Sun Solaris v 2 4SE ITSEC rated with Sun Ultra 5 w Sun Trusted Solaris version 2 5 1 ITSEC rated with Solaris v8 0 with AdminSuite 3 0 1 as specified in UK IT SEC CC Report No P148 EAL4 on a SUN SPARC Ultra 1 with these platforms Red Hat Enterprise Linux Version 4 Update 1 AS on IBM xSeries 336 with Intel Xeon CPU Trusted Solaris 8 4 01 on Sun Blade 2500 Workstation with UltraSPARC IIIi CPU with these platforms Red Hat Enterprise Linux v5 running on an IBM System x3550 Red Hat Enterprise Linux v5 running on an HP ProLiant DL145 Sun Solaris 10 5 08 running on a Sun SunBlade 2000 workstation Sun Solaris 10 5 08 running on a Sun W2100z workstation密钥交换算法 仅限于证书 编辑本节列出了在不同应用软件中中可用的证书验证功能 应用软件 RSA 23 RSA EXPORT 不安全 23 DHE RSA forward secrecy 23 DHE DSS forward secrecy 23 ECDH ECDSA 56 ECDHE ECDSA forward secrecy 56 ECDH RSA 56 ECDHE RSA forward secrecy 56 GOST R 34 10 94 34 10 2001 57 Botan 默认禁止 否 是 默认禁止 否 是 否 是 否GnuTLS 是 否 是 默认禁止 28 否 是 否 是 否LibreSSL 是 否 37 是 是 是 是 是 是 Yes 58 MatrixSSL 是 否 是 否 是 是 是 是 否Mbed TLS 是 否 是 否 是 是 是 是 否NSS Yes 默认禁止 是 59 是 是 是 是 是 否 60 61 OpenSSL 是 否 40 是 默认禁止 40 是 是 是 是 是 62 wolfSSL 是 否 是 否 是 是 是 是 否密钥交换算法 备选密钥交换 编辑应用软件 SRP 63 SRP DSS 63 SRP RSA 63 PSK RSA 64 PSK 64 DHE PSK 前向保密 64 ECDHE PSK 前向保密 65 KRB5 66 DH ANON 23 不安全 ECDH ANON 56 不安全 Botan 是 是 是 否 是 是 是 否 默认禁止 默认禁止GnuTLS 是 是 是 是 是 是 是 否 默认禁止 默认禁止LibreSSL 否 67 否 67 否 67 否 否 否 否 否 是 是MatrixSSL 否 否 否 是 是 是 否 否 默认禁止 否Mbed TLS 否 否 否 是 是 是 是 否 否 否NSS 否 68 否 68 否 68 否 69 否 69 否 69 否 69 否 Client side only disabled by default 70 默认禁止 71 OpenSSL 是 是 是 是 是 是 是 是 72 默认禁止 73 默认禁止 73 wolfSSL 是 是 是 是 是 是 是 74 是 否 否证书验证算法 编辑应用软件 应用程序定义 PKIX path validation 75 CRL 76 OCSP 77 DANE DNSSEC 78 首用信任 TOFU Botan 是 是 是 是 否 否GnuTLS 是 是 是 是 是 是LibreSSL 是 是 是 是 否 否MatrixSSL 是 是 是 是 79 否 否Mbed TLS 是 是 是 否 80 否 否NSS 是 是 是 是 否 81 否OpenSSL 是 是 是 是 是 否wolfSSL 是 是 是 是 否 否加密算法 编辑应用软件 分组密码 的 操作模式 流密码 NoneAES GCM 82 AES CCM 83 AES CBC Camellia GCM 84 Camellia CBC 85 ARIA GCM 86 ARIA CBC 86 SEED CBC 87 3DES EDE CBC 不安全 88 GOST 28147 89 CNT 提出 57 n 1 ChaCha20 Poly1305 89 Null insecure n 2 Botan 是 Yes Yes 是 是 No No 默认禁止 默认禁止 No 是 90 Not implementedGnuTLS 是 yes 28 是 是 是 否 否 否 默认禁止 91 否 是 92 默认禁止LibreSSL 是 37 No 是 否 是 58 否 否 否 37 是 是 58 是 37 默认禁止MatrixSSL 是 否 是 否 否 否 否 是 默认禁止 否 是 93 默认禁止Mbed TLS 是 是 94 是 是 是 是 95 是 95 否 否 30 否 是 96 Disabled by default at compile timeNSS 是 97 否 是 否 98 n 3 是 99 否 否 是 100 是 否 60 61 是 101 默认禁止OpenSSL 是 102 默认禁止 40 是 否 默认禁止 40 默认禁止 否 默认禁止 40 默认禁止 40 是 62 是 40 默认禁止wolfSSL 是 是 是 否 是 否 否 否 是 否 是 默认禁止 废弃算法 编辑 应用软件 分组密码 的 操作模式 流密码IDEA CBC n 4 不安全 104 DES CBC 不安全 n 4 DES 40 CBC EXPORT 不安全 n 5 RC2 40 CBC EXPORT 不安全 n 5 RC4 128 不安全 n 6 RC4 40 EXPORT 不安全 n 7 n 5 Botan 否 否 否 否 No 105 否GnuTLS 否 否 否 否 默认禁止 28 否LibreSSL 是 是 No 37 No 37 Yes No 37 MatrixSSL 是 No No No 默认禁止 NoMbed TLS 否 Disabled by default at compile time 否 No Disabled by default at compile time 31 NoNSS 是 默认禁止 默认禁止 默认禁止 Lowest priority 106 107 默认禁止OpenSSL 默认禁止 40 默认禁止 否 40 否 40 默认禁止 否 40 wolfSSL 默认禁止 108 否 否 否 默认禁止 否支持的椭圆曲线 编辑在 RFC 8446 for TLS 1 3 和 RFC 8422 7027 for TLS 1 2 and earlier 中定义的曲线 编辑 适用的 TLS 版本 TLS 1 3 and earlier TLS 1 2 and earlier应用软件 secp256r1prime256v1NIST P 256 0x0017 109 23 110 secp384r1NIST P 384 0x0018 109 24 110 secp521r1NIST P 521 0x0019 109 25 110 X25519 0x001D 109 29 110 X448 0x001E 109 30 110 brainpoolP256r1 26 111 brainpoolP384r1 27 111 brainpoolP512r1 28 111 Botan 是 是 是 是 90 否 是 112 是 112 是 112 BoringSSL 是 是 Yes disabled by default 是 否 否 否 否BSAFE 是 是 是 否 否 否 否 否GnuTLS 是 是 是 是 113 是 114 否 否 否JSSE 是 是 是 Yesx25519 JDK 13 115 Ed25519 JDK 15 116 Yesx448 JDK 13 115 Ed448 JDK 15 116 否 否 否LibreSSL 是 是 是 是 117 否 是 37 是 37 是 37 MatrixSSL 是 是 是 TLS 1 3 only 118 否 是 是 是Mbed TLS 是 是 是 Primitive only 119 Primitive only 120 是 121 是 121 是 121 NSS 是 是 是 是 122 否 123 124 否 125 否 125 否 125 OpenSSL 是 是 是 是 126 127 是 128 129 是 46 是 46 是 46 Schannel Vista 2008 7 2008R2 8 2012 8 1 2012R2 10 是 是 是 否 否 否 否 否Secure Transport 是 是 是 否 否 否 否 否wolfSSL 是 是 是 是 130 否 是 是 是Erlang OTP SSL application 是 是 是 否 否 是 是 是Implementation secp256r1prime256v1NIST P 256 0x0017 23 secp384r1NIST P 384 0x0018 24 secp521r1NIST P 521 0x0019 25 X25519 0x001D 29 X448 0x001E 30 brainpoolP256r1 26 brainpoolP384r1 27 brainpoolP512r1 28 RFC 8422 中弃用的曲线 编辑 应用 sect163k1NIST K 163 1 56 sect163r1 2 56 sect163r2NIST B 163 3 56 sect193r1 4 56 sect193r2 5 56 sect233k1NIST K 233 6 56 sect233r1NIST B 233 7 56 sect239k1 8 56 sect283k1NIST K 283 9 56 sect283r1NIST B 283 10 56 sect409k1NIST K 409 11 56 sect409r1NIST B 409 12 56 sect571k1NIST K 571 13 56 sect571r1NIST B 571 14 56 Botan No No No No No No No No No No No No No NoGnuTLS 否 否 否 否 否 否 否 否 否 否 否 否 否 否LibreSSL 是 是 是 是 是 是 是 是 是 是 是 是 是 是MatrixSSL 否 否 否 否 否 No 否 否 否 否 No No No NoMbed TLS No No No No No 否 否 否 否 否 否 否 否 否NSS 是 是 是 是 是 是 是 是 是 是 是 是 是 是OpenSSL 是 是 是 是 是 是 是 是 是 是 是 是 是 是wolfSSL 否 否 否 否 否 否 否 否 No No No No No No应用 sect163k1NIST K 163 1 sect163r1 2 sect163r2NIST B 163 3 sect193r1 4 sect193r2 5 sect233k1NIST K 233 6 sect233r1NIST B 233 7 sect239k1 8 sect283k1NIST K 283 9 sect283r1NIST B 283 10 sect409k1NIST K 409 11 sect409r1NIST B 409 12 sect571k1NIST K 571 13 sect571r1NIST B 571 14 应用 secp160k1 15 56 secp160r1 16 56 secp160r2 17 56 secp192k1 18 56 secp192r1prime192v1NIST P 192 19 56 secp224k1 20 56 secp224r1NIST P 244 21 56 secp256k1 22 56 arbitrary prime curves 0xFF01 56 131 arbitrary char2 curves 0xFF02 56 131 Botan No No No No No No No No No NoGnuTLS No No No No 是 No 是 No No NoLibreSSL 是 是 是 是 是 是 是 是 No NoMatrixSSL No No No No 是 No 是 No No NoMbed TLS No No No Yes Yes Yes Yes 是 No NoNSS Yes Yes Yes Yes Yes Yes Yes 是 No NoOpenSSL Yes Yes Yes Yes Yes Yes Yes 是 No NowolfSSL Yes Yes Yes Yes Yes Yes Yes 是 No No应用 secp160k1 15 secp160r1 16 secp160r2 17 secp192k1 18 secp192r1prime192v1NIST P 192 19 secp224k1 20 secp224r1NIST P 244 21 secp256k1 22 arbitrary prime curves 0xFF01 arbitrary char2 curves 0xFF02 Notes 引用错误 没有为名为NSS 3 24的参考文献提供内容数据完整性 编辑应用软件 HMAC MD5 HMAC SHA1 HMAC SHA256 384 AEAD GOST 28147 89 IMIT 57 GOST R 34 11 94 57 Botan 否 是 是 是 否 否GnuTLS 是 是 是 是 否 否LibreSSL 是 是 是 是 是 58 是 58 MatrixSSL 是 是 是 是 否 否Mbed TLS Yes 是 是 是 否 否NSS 是 是 是 是 否 60 61 否 60 61 OpenSSL 是 是 是 是 是 62 是 62 wolfSSL 是 是 是 是 否 否压缩 编辑请注意 CRIME 安全漏洞 利用了TLS压缩的优势 因此传统应用不会在TLS层启用压缩 HTTP 压缩是不相关的且不受此漏洞攻击的影响 但会被BREACH相关的攻击利用 应用软件 DEFLATE 132 不安全 Botan 否GnuTLS 默认禁用LibreSSL 否 37 MatrixSSL 默认禁用Mbed TLS 默认禁用NSS 默认禁用OpenSSL 默认禁用wolfSSL 默认禁用扩展 编辑在本节中列出了每个应用支持的扩展 请注意 安全重新协商扩展对于HTTPS客户端安全至关重要 不执行TLS协议的客户端很容易受到攻击 无论客户端是否实施TLS重新协商 Implementation Secure Renegotiation 133 Server Name Indication 134 ALPN 135 Certificate Status Request 134 OpenPGP 136 Supplemental Data 137 Session Ticket 138 Keying Material Exporter 139 Maximum Fragment Length 134 Truncated HMAC 134 Encrypt then MAC 140 TLS Fallback SCSV 141 Extended Master Secret 142 ClientHello Padding 143 Raw Public Keys 144 Botan 是 是 是 145 否 否 否 是 是 是 否 是 是 146 是 147 否 未知GnuTLS 是 是 148 是 弃用 149 是 是 是 是 否 是 28 是 150 是 28 是 151 否LibreSSL 是 是 是 152 是 否 否 是 是 否 否 否 Server side only 153 否 是 否MatrixSSL 是 是 是 154 是 93 否 否 是 否 是 是 否 是 93 是 93 否 未知Mbed TLS 是 是 是 155 否 否 否 是 否 是 Disabled by default 31 是 156 是 156 是 156 否 否NSS 是 是 是 157 是 否 158 否 是 是 否 否 否 159 是 160 是 161 是 157 未知OpenSSL 是 是 是 46 是 否 否 是 是 是 否 是 是 162 是 163 是 164 未知wolfSSL 是 是 是 108 是 否 否 是 否 是 是 是 165 否 是 否 未知辅助加密 编辑本节列出了已知的利用CPU指令集优化加密 或利用系统特定允许访问底层加密硬件加速或分离数据的设备 应用软件 PKCS 11 device Intel AES NI VIA PadLock ARMv8 A Intel SGX Intel QAT 页面存档备份 存于互联网档案馆 GnuTLS 是 是 是 是 166 否 否OpenSSL 是 167 是 是 是 168 否wolfSSL 否 是 否 是 是 是 169 系统特定的后端 编辑本节列出了已知利用可用操作系统特定后端或另一个提供的后端的应用 应用软件 dev crypto Windows CSP 一般加密CommonCrypto 页面存档备份 存于互联网档案馆 OpenSSLGnuTLS 是 否 否 否OpenSSL 是 否 否 是wolfSSL 否 部分 否 否加密模块 令牌支持 编辑Implementation TPM support Hardware token support Objects identified viaBotan 部份 147 PKCS11GnuTLS 是 PKCS11 RFC7512 PKCS 11 URLs 170 LibreSSL 是 PKCS11 via 3rd party module Custom methodMatrixSSL 否 PKCS11Mbed TLS 否 PKCS11 via libpkcs11 helper or standard hooks Custom methodNSS 否 PKCS11OpenSSL 是 PKCS11 通过第三方模块 171 RFC7512 PKCS 11 URLs 170 wolfSSL 是 PKCS11代码属性 编辑应用软件 属性 可选属性Botan C 11 sqlitezlib compression bzip2 compression liblzma compression boostopenssl crypto backend trousers TPM GnuTLS libcnettlegmp zlib compression p11 kit PKCS 11 trousers TPM MatrixSSL none zlib compression MatrixSSL open libc or newlibMbed TLS libc libpkcs11 helper PKCS 11 zlib compression NSS libclibnspr4libsoftokn3libplc4libplds4 zlib compression OpenSSL libc zlib 压缩 wolfSSL None libc zlib 压缩 开发环境 编辑应用软件 Namespace 建设工具 API 手册 加密后端 OpenSSL 兼容层Botan Botan TLS Makefile Sphinx Included pluggable 否GnuTLS gnutls Autoconf automake libtool Manual and API reference HTML PDF External libnettle 是 部分 MatrixSSL matrixSsl ps Makefile MSVC project workspaces Xcode projects for OS X and iOS API Reference PDF Integration Guide Included pluggable 是 Subset SSL read SSL write etc Mbed TLS mbedtls ssl mbedtls sha1 mbedtls md5 mbedtls x509 Makefile CMake MSVC project workspaces yotta API Reference High Level and Module Level Documentation HTML Included monolithic 否NSS CERT SEC SECKEY NSS PK11 SSL Makefile Manual HTML Included PKCS 11 based 172 是 separate package called nss compat ossl 173 OpenSSL SSL SHA1 MD5 EVP Makefile Man pages Included monolithic 不適用wolfSSL CyaSSL SSL Autoconf automake libtool MSVC project workspaces XCode projects CodeWarrior projects MPLAB X projects Keil IAR Clang GCC Manual and API Reference HTML PDF Included monolithic 是 大约 10 of API 移植问题 编辑应用软件 平台要求 网络要求 线程安全 随机速度 能够交叉编译 No OS bare metal 可支持的操作系统Botan C 11 None 线程安全 Platform dependent 是 Windows Linux macOS Android iOS FreeBSD OpenBSD Solaris AIX HP UX QNX BeOS IncludeOSGnuTLS C89 POSIX send and recv API 支持所找的替代品 线程安全 如果POSIX和Windows线程都不可用 则需要自定义互斥锁钩 取决于平台 是 否 基本任何 POSIX 平台 or Windows 一般已测试的平台包含 GNU Linux Win32 64 OS X Solaris OpenWRT FreeBSD NetBSD OpenBSD MatrixSSL C89 None 线程安全 Platform dependent 是 是 AllMbed TLS C89 POSIX read and write API to supply your own replacement Threading layer available POSIX or own hooks Random seed set through entropy pool 是 是 Known to work on Win32 64 Linux macOS Solaris FreeBSD NetBSD OpenBSD OpenWRT iPhone iOS Xbox Android eCos SeggerOSNSS C89 NSPR 174 NSPR 174 PR Send and PR Recv API to supply your own replacement 线程安全 Platform dependent 175 是 but cumbersome 否 AIX Android FreeBSD NetBSD OpenBSD BeOS HP UX IRIX Linux macOS OS 2 Solaris OpenVMS Amiga DE Windows WinCE Sony PlayStationOpenSSL C89 需要互斥量回调 通过原始API设置 是 否 Unix DOS with djgpp Windows OpenVMS MacOS NetWare eCoswolfSSL C89 POSIX send and recv API 支持所找的替代品 线程安全 如果POSIX和Windows线程都不可用 则需要自定义互斥锁钩 通过 wolfCrypt设置随机速度 是 是 Win32 64 Linux OS X Solaris ThreadX VxWorks FreeBSD NetBSD OpenBSD embedded Linux Haiku OpenWRT iPhone iOS Android Nintendo Wii and Gamecube through DevKitPro QNX MontaVista OpenCL NonStop TRON ITRON µITRON Micrium s µC OS FreeRTOS SafeRTOS Freescale MQX Nucleus TinyOS HP UX Keil RTX TI RTOS其他 编辑SCTP 含DTLS 支持 DCCP 含 DTLS 支持 SRTP 含 DTLS 支持 DTLS SRTP 安全实时传输控制协议 SRTCP 参考文献 编辑 The GnuTLS Transport Layer Security Library 2022 09 27 LibreSSL Releases 2022 10 31 The features listed are for the closed source version Releases matrixssl matrixssl GitHub 2022 08 30 英语 Releases Mbed TLS mbedtls GitHub 2022 08 30 英语 OpenSSL Newslog 2022 11 01 wolfSSL product description 2016 05 03 原始内容存档于2017 09 08 wolfSSL Embedded SSL TLS 2016 05 03 原始内容存档于2016 05 01 wolfSSL ChangeLog 2022 07 11 2022 08 29 wolfSSL Release 5 4 0 July 11 2022 2022 07 11 2022 08 29 rfc 6176 RFC6176 Prohibiting Secure Sockets Layer SSL Version 2 0 CBC Padding Security Flaws in SSL IPsec WTLS Serge Vaudenay 2001 PDF 2018 06 22 原始内容存档 PDF 于2019 03 03 rfc 7366 RFC7366 Encrypt then MAC for Transport Layer Security TLS and Datagram Transport Layer Security Rizzo Duong BEAST Countermeasures 2018 06 22 原始内容存档于2018 06 23 Moller Bodo Duong Thai Kotowicz Krzysztof This POODLE Bites Exploiting The SSL 3 0 Fallback PDF September 2014 2014 10 15 原始内容存档 PDF 于2014 10 14 TLSv1 2 s Major Differences from TLSv1 1 17 0 17 1 RFC 6347 Bard attack CiteSeerX 10 1 1 61 5887 缺少或 url 为空 帮助 draft hickman netscape ssl 00 tools ietf org 2018 06 22 原始内容存档于2013 09 10 RFC 6101 RFC 2246 RFC 4346 23 0 23 1 23 2 23 3 23 4 23 5 RFC 5246 RFC 8446 The Transport Layer Security TLS Protocol Version 1 3 datatracker ietf org 2022 08 30 原始内容存档于2021 05 14 英语 tlswg tls13 spec branches tlswg github io 2018 06 22 原始内容存档于2016 01 04 RFC 4347 Version 1 11 13 2015 01 11 Botan 2015 01 11 2015 01 16 原始内容存档于2015 01 09 28 0 28 1 28 2 28 3 28 4 28 5 gnutls devel GnuTLS 3 4 0 released 2015 04 08 2015 04 16 原始内容存档于2015 04 16 MatrixSSL News 2014 11 09 原始内容存档于2015 02 14 30 0 30 1 30 2 30 3 Mbed TLS 3 0 0 branch released GitHub 2021 07 07 2021 08 13 原始内容存档于2021 08 13 31 0 31 1 31 2 31 3 mbed TLS 2 0 0 released 2015 07 10 2015 07 14 原始内容存档于2015 09 25 NSS 3 19 release notes Mozilla Developer Network Mozilla 2015 05 06 原始内容存档于2015 06 05 33 0 33 1 NSS 3 14 release notes Mozilla Developer Network Mozilla 2012 10 27 原始内容存档于2013 01 17 NSS 3 15 1 release notes Mozilla Developer Network Mozilla 2013 08 10 原始内容存档于2013 09 22 NSS 3 39 release notes Mozilla Developer Network Mozilla 2018 08 31 2018 09 15 原始内容存档于2021 12 07 NSS 3 16 2 release notes Mozilla Developer Network Mozilla 2014 06 30 2014 06 30 原始内容存档于2021 12 07 37 00 37 01 37 02 37 03 37 04 37 05 37 06 37 07 37 08 37 09 37 10 37 11 37 12 OpenBSD 5 6 Released 2014 11 01 2015 01 20 原始内容存档于2016 01 31 LibreSSL 2 3 0 Released 2015 09 23 2015 09 24 原始内容存档于2021 02 25 LibreSSL 3 3 3 Released 2021 05 04 2021 05 04 原始内容存档于2022 08 30 40 00 40 01 40 02 40 03 40 04 40 05 40 06 40 07 40 08 40 09 40 10 40 11 Inc OpenSSL Foundation news openssl 1 1 0 notes html www openssl org 2018 06 22 原始内容存档于2018 03 17 wolfssl wolfSSL 3 6 6 Released 2015 08 20 2015 08 24 原始内容存档于2015 10 17 NSS 3 24 release notes Mozilla Developer Network Mozilla 2016 06 19 原始内容存档于2016 08 26 Technical Note TN2287 iOS 5 and TLS 1 2 Interoperability Issues iOS Developer Library Apple Inc 2012 05 03 原始内容存档于2015 04 03 Qualys SSL Labs Projects User Agent Capabilities dev ssllabs com 2018 06 22 原始内容存档于2015 09 19 Bug 663320 NSA Suite B TLS Implement RFC6460 NSA Suite B profile for TLS Mozilla 2014 05 19 原始内容存档于2022 08 30 46 0 46 1 46 2 46 3 46 4 Major changes between OpenSSL 1 0 1l and OpenSSL 1 0 2 22 Jan 2015 2015 01 22 原始内容存档于September 4 2014 Secure or Compliant Pick One Steve Marquess blog 2018 06 22 原始内容存档于2013 12 27 Search Cryptographic Module Validation Program CSRC csrc nist gov 2018 06 22 原始内容存档于2014 12 26 Is botan FIPS 140 certified Frequently Asked Questions Botan 2014 11 16 原始内容存档于2014 11 29 While as a free software project we are not actively pursuing this kind of certification GnuTLS has been FIPS 140 2 certified in several systems by third parties GnuTLS 3 5 6 B 5 Certification 页面存档备份 存于互联网档案馆 Matrix SSL Toolkit PDF 2022 08 30 原始内容存档 PDF 于2021 07 07 Limited ARM Is mbed TLS FIPS certified Knowledge Base polarssl org 2022 08 30 原始内容存档于2014 12 15 FIPS Validation MozillaWiki wiki mozilla org 2022 08 30 原始内容存档于2022 08 30 OpenSSL and FIPS 140 2 2018年6月22日 原始内容存档于2013年5月28日 wolfCrypt FIPS 140 2 Information wolfSSL Embedded SSL TLS Library 2018 06 22 原始内容存档于2015 04 30 56 00 56 01 56 02 56 03 56 04 56 05 56 06 56 07 56 08 56 09 56 10 56 11 56 12 56 13 56 14 56 15 56 16 56 17 56 18 56 19 56 20 56 21 56 22 56 23 56 24 56 25 56 26 56 27 56 28 RFC 4492 57 0 57 1 57 2 57 3 draft chudov cryptopro cptls 04 GOST 28147 89 Cipher Suites for Transport Layer Security TLS 58 0 58 1 58 2 58 3 58 4 LibreSSL 2 1 2 released 2014 12 09 2015 01 20 原始内容存档于2022 08 30 NSS 3 20 release notes Mozilla 2015 08 19 2015 08 20 原始内容存档于2021 12 07 60 0 60 1 60 2 60 3 Mozilla org Bug 518787 Add GOST crypto algorithm support in NSS 2014 07 01 原始内容存档于2022 08 30 61 0 61 1 61 2 61 3 Mozilla org Bug 608725 Add Russian GOST cryptoalgorithms to NSS and Thunderbird 2014 07 01 原始内容存档于2022 08 30 62 0 62 1 62 2 62 3 OpenSSL CVS Web Interface 2014 11 12 原始内容存档于2013 04 15 63 0 63 1 63 2 RFC 5054 64 0 64 1 64 2 RFC 4279 RFC 5489 RFC 2712 67 0 67 1 67 2 LibreSSL 2 0 4 released 2014 08 04 原始内容存档于2019 03 23 68 0 68 1 68 2 Bug 405155 add support for TLS SRP rfc5054 Mozilla 2014 01 25 原始内容存档于2022 08 30 69 0 69 1 69 2 69 3 Bug 306435 Mozilla browsers should support the new IETF TLS PSK protocol to help reduce phishing Mozilla 2014 01 25 原始内容存档于2022 08 30 Bug 1170510 Implement NSS server side support for DH anon Mozilla 2015 06 03 原始内容存档于2022 08 30 Bug 236245 Update ECC TLS to conform to RFC 4492 Mozilla 2014 06 09 原始内容存档于2022 08 30 Changes between 0 9 6h and 0 9 7 31 Dec 2002 2016 01 29 原始内容存档于2016 09 13 73 0 73 1 Changes between 0 9 8n and 1 0 0 29 Mar 2010 2016 01 29 原始内容存档于2016 09 13 wolfSSL Formerly CyaSSL Release 3 9 0 03 18 2016 2016 03 18 2016 04 05 原始内容存档于2016 03 16 RFC 5280 RFC 3280 RFC 2560 RFC 6698 RFC 7218 MatrixSSL 3 8 3 2017 01 18 原始内容存档于2017 01 19 mbed TLS 2 0 defaults implement best practices 2017 01 18 原始内容存档于2022 03 08 Bug 672600 Use DNSSEC DANE chain stapled into TLS handshake in certificate chain validation Mozilla 2014 06 18 原始内容存档于2018 04 06 RFC 5288 RFC 5289 RFC 6655 RFC 7251 RFC 6367 RFC 5932 RFC 6367 86 0 86 1 RFC 6209 RFC 4162 Sweet32 Birthday attacks on 64 bit block ciphers in TLS and OpenVPN sweet32 info 2018 06 22 原始内容存档于2018 04 08 RFC 7905 90 0 90 1 Version 1 11 12 2015 01 02 Botan 2015 01 02 2015 01 09 原始内容存档于2015 01 10 gnutls 3 6 0 2017 09 21 2018 01 07 原始内容存档于2018 01 18 gnutls 3 4 12 2016 05 20 2016 05 29 原始内容存档于2016 10 13 93 0 93 1 93 2 93 3 Changes in 3 8 3 GitHub 2016 06 19 永久失效連結 PolarSSL 1 3 8 release notes 2022 08 30 原始内容存档于2014 07 15 95 0 95 1 Mbed TLS 2 11 0 2 7 4 and 2 1 13 released 2018 08 30 原始内容存档于2021 04 14 Mbed TLS 2 12 0 2 7 5 and 2 1 14 released 2018 08 30 原始内容存档于2021 07 29 NSS 3 25 release notes Mozilla Developer Network Mozilla 2016 07 01 原始内容存档于2021 12 07 Bug 940119 libssl does not support any TLS ECDHE CAMELLIA GCM cipher suites Mozilla 2013 11 19 原始内容存档于2022 08 30 NSS 3 12 is released 2013 11 19 原始内容存档于2019 12 08 NSS 3 12 3 Release Notes Mozilla Developer Network Mozilla 2014 07 01 原始内容存档于2021 05 10 NSS 3 23 release notes Mozilla Developer Network Mozilla 2016 03 09 原始内容存档于2021 04 14 openssl CHANGES at OpenSSL 1 0 1 stable openssl openssl 2015 01 20 原始内容存档于2016 01 31 RFC 5469 存档副本 2018 06 22 原始内容存档于2018 04 08 Version 1 11 15 2015 03 08 Botan 2015 03 08 2015 03 11 原始内容存档于2015 05 15 NSS 3 15 3 release notes Mozilla Developer Network Mozilla 2014 07 13 原始内容存档于2014 06 05 MFSA 2013 103 Miscellaneous Network Security Services NSS vulnerabilities Mozilla Mozilla 2014 07 13 原始内容存档于2014 07 14 108 0 108 1 wolfSSL Formerly CyaSSL Release 3 7 0 10 26 2015 2015 10 26 2015 11 19 原始内容存档于2015 11 20 109 0 109 1 109 2 109 3 109 4 RFC 8446 110 0 110 1 110 2 110 3 110 4 RFC 8422 111 0 111 1 111 2 RFC 7027 112 0 112 1 112 2 Version 1 11 5 2013 11 10 Botan 2013 11 10 2015 01 23 原始内容存档于2014 12 03 An overview of the new features in GnuTLS 3 5 0 2016 05 02 2016 12 09 原始内容存档于2016 12 20 gnutls 3 6 12 2020 02 01 2021 08 31 原始内容存档于2022 08 30 115 0 115 1 JDK 13 Early Access Release Notes 2019 06 20 原始内容存档于2020 04 01 116 0 116 1 JEP 339 Edwards Curve Digital Signature Algorithm EdDSA 2022 01 06 原始内容存档于2022 01 06 LibreSSL 2 5 1 release notes OpenBSD 2017 01 31 2017 02 23 原始内容存档于2022 08 30 MatrixSSL 4 0 changelog GitHub 2018 09 18 原始内容存档于2022 08 30 PolarSSL 1 3 3 released 2013 12 31 2015 01 23 原始内容存档于2014 12 18 Mbed TLS 2 9 0 2 7 3 and 2 1 12 released 2018 08 30 原始内容存档于2021 04 14 121 0 121 1 121 2 PolarSSL 1 3 1 released 2013 10 15 2015 01 23 原始内容存档于2015 01 23 Bug 957105 Add support for curve25519 Key Exchange and UMAC MAC support for TLS Mozilla 2017 02 23 原始内容存档于2022 08 30 Bug 1305243 Support for X448 Mozilla 2022 08 04 原始内容存档于2022 08 04 Bug 1597057 Curve448 or named Ed448 Goldilocks support needed both X448 key exchange and Ed448 signature algorithm Mozilla 2022 08 04 125 0 125 1 125 2 Bug 943639 Support for Brainpool ECC Curve rfc5639 Mozilla 2014 01 25 原始内容存档于2022 08 30 OpenSSL 1 1 0x Release Notes 25 August 2016 18 May 2018 原始内容存档于18 May 2018 OpenSSL GitHub Issue 487 Tracker GitHub 2 December 2015 18 May 2018 原始内容存档于2018 10 06 OpenSSL 1 1 1x Release Notes 1 May 2018 18 May 2018 原始内容存档于2018 05 18 OpenSSL GitHub Issue 5049 Tracker GitHub 9 January 2018 18 May 2018 原始内容存档于2019 02 18 wolfSSL Formerly CyaSSL Release 3 4 6 03 30 2015 2015 03 30 2015 11 19 原始内容存档于2016 03 16 131 0 131 1 Negotiation of arbitrary curves has been shown to be insecure for certain curve sizes Mavrogiannopoulos Nikos and Vercautern Frederik and Velichkov Vesselin and Preneel Bart A cross protocol attack on the TLS protocol Proceedings of the 2012 ACM conference on Computer and communications security PDF 2012 62 72 2018 06 22 ISBN 978 1 4503 1651 4 原始内容存档 PDF 于2015 07 06 RFC 3749 RFC 5746 134 0 134 1 134 2 134 3 RFC 6066 RFC 7301 RFC 6091 RFC 4680 RFC 5077 RFC 5705 RFC 7366 RFC 7507 RFC 7627 RFC 7685 RFC 7250 Version 1 11 16 2015 03 29 Botan 2016 03 29 2016 09 08 原始内容存档于2022 08 30 Version 1 11 10 2014 12 10 Botan 2014 12 10 2014 12 14 原始内容存档于2014 12 03 147 0 147 1 Version 1 11 26 2016 01 04 Botan 2016 01 04 2016 02 25 原始内容存档于2022 08 30 gnutls 3 2 0 2015 01 26 原始内容存档于2016 01 31 存档副本 2018 06 22 原始内容存档于2018 02 18 gnutls 3 4 4 2015 08 25 原始内容存档于2017 07 17 DUMBFW priority keyword 2017 04 30 原始内容存档于2017 04 17 LibreSSL 2 1 3 released 2015 01 22 2015 01 22 原始内容存档于2016 01 31 LibreSSL 2 1 4 released 2015 03 04 2015 03 04 原始内容存档于2019 03 23 MatrixSSL News 2014 12 04 2015 01 26 原始内容存档于2015 02 14 Download overview PolarSSL 2014 04 11 2015 01 26 原始内容存档于2015 02 09 156 0 156 1 156 2 mbed TLS 1 3 10 released 2015 02 08 2015 02 09 原始内容存档于2015 02 09 157 0 157 1 NSS 3 15 5 release notes Mozilla Developer Network Mozilla 2015 01 26 原始内容存档于January 26 2015 Bug 961416 Support RFC6091 Using OpenPGP Keys for Transport Layer Security Authentication TLS1 2 Mozilla 2014 06 18 原始内容存档于2022 08 30 Bug 972145 Implement the encrypt then MAC TLS extension Mozilla 2014 11 06 原始内容存档于2022 08 30 NSS 3 17 1 release notes 2014 10 17 原始内容存档于2019 04 19 NSS 3 21 release notes 2015 11 14 原始内容存档于2021 12 07 存档副本 2018 06 22 原始内容存档于2015 08 13 OpenSSL 1 1 0 Release Notesl 永久失效連結 Major changes between OpenSSL 1 0 1f and OpenSSL 1 0 1g 7 Apr 2014 2014 04 07 2015 02 10 原始内容存档于2015 01 20 wolfSSL Version 4 2 0 is Now Available 22 October 2019 2021 08 13 原始内容存档于2022 08 30 存档副本 2018 06 22 原始内容存档于2016 12 20 https habrahabr ru post 134725 页面存档备份 存于互联网档案馆 http forum rutoken ru topic 1639 页面存档备份 存于互联网档案馆 https dev rutoken ru pages viewpage action pageId 18055184 页面存档备份 存于互联网档案馆 俄文 git openssl org Git openssl git commitdiff git openssl org 2018 06 22 原始内容存档于2018 01 22 wolfSSL Asynchronous Intel QuickAssist Support wolfSSL 2017 01 18 170 0 170 1 RFC 7512 libp11 PKCS 11 wrapper library 2018 01 19 2018 06 22 原始内容存档于2018 06 11 通过GitHub On the fly replaceable augmentable Nss compat ossl Fedora Project Wiki fedoraproject org 2022 08 30 原始内容存档于2022 08 30 174 0 174 1 NSPR Mozilla Developer Network 2022 08 30 原始内容存档于2013 03 07 For Unix Linux it uses dev urandom if available for Windows it uses CAPI For other platforms it gets data from clock and tries to open system files NSS has a set of platform dependent functions it uses to determine randomness This algorithm is not defined yet as TLS cipher suites in RFCs is proposed in drafts authentication only no encryption This algorithm is implemented in an NSS fork used by Pale Moon 4 0 4 1 IDEA and DES have been removed from TLS 1 2 103 5 0 5 1 5 2 40 bits strength of cipher suites were designed to operate at reduced key lengths in order to comply with US regulations about the export of cryptographic software containing certain strong encryption algorithms see Export of cryptography from the United States These weak suites are forbidden in TLS 1 1 and later The RC4 attacks weaken or break RC4 used in SSL TLS Use of RC4 is prohibited by RFC 7465 The RC4 attacks weaken or break RC4 used in SSL TLS 取自 https zh wikipedia org w index php title TLS的应用对比 amp oldid 73587023, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。