wolfSSL

本页使用了标题手工转换,涉及首字符小写
求闻百科,共笔求闻
wolfSSL
开发者Todd Ouska
首次发布2006年2月19日 (2006-02-19)[1]
稳定版本4.5.0(2020年8月19日,​3年前​(2020-08-19[2][±]
编程语言C语言
操作系统多平台
类型安全性加密函式库
许可协议GNU通用公共许可证或商业分销许可证
网站www.wolfssl.com

wolfSSL (原名 CyaSSLyet another SSL),是一个提供传输层安全协议(SSL/TLS)功能的软件库,主要针对嵌入式系系统发展。以开放原始码及商用许可两种方式释出,提供SSL/TLS功能(SSL 3.0、TLS 1.0、TLS 1.1、TLS 1.2、TLS 1.3以及DTLS 1.0、DTLS 1.2),以C语言写成。提供了与OpenSSL兼容的API界面,让原有使用OpenSSL的软件可以容易的移植过来。

wolfSSL的早期版本, yaSSL,基于C++,为嵌入式环境和资源限制的实时操作系统提供SSL功能库。

平台

wolfSSL 现在支持 Win32/64, Linux, macOS, Solaris, ThreadX, VxWorks, FreeBSD, NetBSD, OpenBSD, embedded Linux, WinCE, Haiku, OpenWrt, 苹果iPhone, 安卓Android, Nintendo WiiGamecube系统。通过 DevKitPro 的支持, QNX, MontaVista, Tron variants, NonStop, OpenCL, Micrium's MicroC/OS-II, FreeRTOS, SafeRTOS, Freescale MQX, Nucleus, TinyOS, TI-RTOS, HP-UX, uTasker, 和 embOS.

协议

wolfSSL 轻量级SSL库实现以下协议:[3]

  • SSL 3.0、TLS 1.0、TLS 1.1、TLS 1.2、TLS 1.3
  • DTLS 1.0、DTLS 1.2

协议说明:

  • SSL 2.0 - SSL 2.0 在2011年被 RFC 6176弃用(禁止)。wolfSSL 不再支持。
  • SSL 3.0 - SSL 3.0 已于2015年被RFC 7568为回应POODLE 攻击而弃用(禁止)。SSL 3.0被wolfSSL 3.6.6 之后的版本默认禁用,但仍可通过编译时选项启用。[4]

算法

wolfSSL 使用以下加密库:

wolfCrypt

默认情况下,wolfSSL使用wolfCrypt提供的加密服务。[5]wolfCrypt 提供 RSA, ECC, DSS, Diffie–Hellman, EDH, NTRU, DES, Triple DES, AES (CBC, CTR, CCM, GCM), Camellia, IDEA, ARC4, HC-128, ChaCha20, MD2, MD4, MD5, SHA-1, SHA-2, BLAKE2, RIPEMD-160, Poly1305, 随机数生成,大整数支持和基本16/64编码/解码。还包含一个来自欧盟eSTREAM项目的公共领域软件流密码(public domain software)的实验密码,Rabbit。 Rabbit对于那些在高性能,高需求环境中对流媒体进行加密的潜在用户非常有用。

wolfCrypt 还支持最近的 Curve25519Ed25519 算法。

wolfCrypt 充当几个流行软件包和库的后端加密实现,包括MIT Kerberos[6](可使用构建选项启用)。

NTRU

CyaSSL+ 包含 NTRU[7]公钥加密。在CyaSSL + 中增加NTRU是yaSSL和Security Innovation之间合作的结果。[7]NTRU在移动电话和嵌入式环境中运行良好,这是因为与其他公钥系统相比,提供相同安全性所需的位数大小减少了。另外,还不知道它易受到量子攻击。CyaSSL + 中含有包括AES-256,RC4和HC-128在内的几种使用NTRU的密码套件。

软件防护扩展(SGX)

wolfSSL 支持使用英特尔SGX (软件防护扩展[8]). 英特尔SGX Intel SGX 允许更小的攻击表面积,并且已被证明为执行代码提供更高级别的安全性,而对性能没有显着的负面影响。

许可

wolfSSL 开放源代码, 根据GNU通用公共许可证GPLv2获得许可.[9]

其他

参考文献

  1. wolfSSL ChangeLog. [2016-07-15]. 
  2. wolfSSL ChangeLog. 2020-08-19 [2020-08-19]. 
  3. wolfSSL User Manual | Chapter 4: Features | Documentation. wolfSSL. [2018-06-18] (美国英语). 
  4. "wolfSSL 3.6.6 is Now Available" .
  5. wolfSSL - Docs | wolfSSL Manual - Chapter 10 (wolfCrypt Usage Reference). [2018-06-18]. 
  6. Kerberos: The Network Authentication Protocol. [2018-06-18]. 
  7. 7.0 7.1 NTRU CryptoLabs. [2018-06-18]. 
  8. wolfSSL with Intel® SGX - wolfSSL. 2017-01-17 [2022-08-30] (美国英语). 
  9. GNU License. [2018-06-18]. 

注释