fbpx
维基百科

wolfSSL

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
開發者Todd Ouska
初始版本2006年2月19日 (2006-02-19)[1]
目前版本
  • 5.5.3 (2022年11月3日)[2]
源代码库
  • github.com/wolfSSL/wolfssl
编程语言C語言
操作系统多平台
类型安全性加密函式庫
许可协议GNU通用公共许可证或商业分销许可证
网站www.wolfssl.com

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.

版本历史

yaSSL, 或 yet another SSL, 始建于2004. OpenSSL 当时可用, 并且根据OpenSSL许可证SSLeay许可证获得双重许可。[3] 然而,yaSSL是在商业和GPL许可下开发的。[4] yaSSL提供了更现代的API和商业风格的开发人员支持,并含有OpenSSL兼容层。[5] wolfSSL / CyaSSL / yaSSL的第一个主要用户是MySQL.[6] 通过捆绑MySQL,yaSSL已经实现了数百万的极高分发量。

协议

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

  • 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 之后的版本默认禁用,但仍可通过编译时选项启用。[8]

算法

wolfSSL 使用以下加密库:

wolfCrypt

默认情况下,wolfSSL使用wolfCrypt提供的加密服务。[9] 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 还支持最近的 Curve25519 和 Ed25519 算法。

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

NTRU

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

软件防护扩展(SGX)

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

硬件加速平台支持

英特尔 AES-NI (页面存档备份,存于互联网档案馆) (至强和酷睿处理器系列)
AES-GCM 128, 192, 256 bit
AES-CCM 128, 192, 256 bit
AES-CBC 128, 192, 256 bit
AES-ECB 128, 192, 256 bit
AES-CTR 128, 192, 256 bit
AVX1/AVX2 (英特尔 和 AMD x86)
RDRAND (页面存档备份,存于互联网档案馆) (英特尔 64, IA-32 架构)
RDSEED (页面存档备份,存于互联网档案馆) (英特尔 Broadwell, AMD Zen)
Freescale Coldfire SEC (页面存档备份,存于互联网档案馆) (NXP MCF547X 和 MCF548X)
DES-CBC 64 bit
3DES-CBC 192 bit
AES-CBC 128, 192, 256 bit
Freescale Kinetis MMCAU (页面存档备份,存于互联网档案馆) K50, K60, K70 和 K80 (ARM Cortex-M4 核)
MD5 128 bit 摘要
SHA1 160 bit 摘要
SHA256
DES-CBC 64 bit
3DES-CBC 192 bit
AES-CBC 128, 192, 256 bit
AES-CCM 128, 192, 256 bit
AES-GCM 128, 192, 256 bit
AES-ECB 128, 192, 256 bit
STMicroelectronics STM32 F1, F2, F4, L1, W 系列 (ARM Cortex - M3/M4)
RNG
DES-CBC 64 bit
DES-ECB 64 bit 加密
3DES-CBC 192 bit
MD5 128 bit
SHA1 160 bit
AES-CBC 128, 192, 256 bit
AES-CTR 128, 192, 256 bit
CubeMX (页面存档备份,存于互联网档案馆) and Std Per Lib (页面存档备份,存于互联网档案馆
Cavium NITROX (页面存档备份,存于互联网档案馆) (III/V PX 处理器)
RNG
AES-CBC 128, 192, 256 bit
3DES-CBC 192 bit
RC4 2048 bit 上限
HMAC MD5, SHA1, SHA256, SHA3
RSA 512 - 4096 bit
ECC NIST Prime 192, 224, 256, 384 and 521
Microchip PIC32 MX/MZ (页面存档备份,存于互联网档案馆) (嵌入式连接)
MD5 128 bit 摘要
SHA1 160 bit 摘要
SHA256
HMAC MD5, SHA1, SHA256
DES-CBC 64 bit
3DES-CBC 192 bit
AES-CBC 128, 192, 256 bit
AES-CTR 128, 192, 256 bit
AES-GCM 128, 192, 256 bit
德州仪器 TM4C1294 (页面存档备份,存于互联网档案馆) (ARM Cortex-M4F)
DES-CBC 64 bit
3DES-CBC 192 bit
AES-CCM 128, 192, 256 bit
AES-GCM 128, 192, 256 bit
AES-ECB 128, 192, 256 bit
AES-CTR 128, 192, 256 bit
AES-CBC 128, 192, 256 bit
(Series SoC family, 32-bit ARM Cortex M0 核心处理器)
AES-ECB 128 bit
RNG
Microchip (页面存档备份,存于互联网档案馆)/Atmel (页面存档备份,存于互联网档案馆) ATECC508A (兼容于MPU or MCU)
ECC 256 bit (NIST-P256)
ARMv8 (页面存档备份,存于互联网档案馆
AES-CBC 128, 192, 256 bit
AES-CTR 128, 192, 256 bit
AES-GCM 128, 192, 256 bit
SHA256
英特尔QuickAssist技术 (页面存档备份,存于互联网档案馆
RSA 512 - 4096 bit
SHA1 160 bit 摘要
SHA2 224, 256, 384 和 512 bit
AES-CBC 128, 192, 256 bit
AES-GCM 128, 192, 256 bit
ECC 任意位数
HMAC SHA1, SHA2
MD5
Freescale NXP LTC (页面存档备份,存于互联网档案馆
Curve25519 256 bit
Ed25519 256 bit
AES-CCM 128, 192, 256 bit
AES-ECB 128, 192, 256 bit
AES-CBC 128, 192, 256 bit
AES-CTR 128, 192, 256 bit
AES-GCM 128, 192, 256 bit
SHA1 160 bit 摘要
SHA256
ECC 128, 256 bit
ECC-DHE 128, 256 bit
RSA 512 - 4096 bit

许可

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

其他

参考文献

  1. ^ wolfSSL ChangeLog. [2016-07-15]. (原始内容于2016-03-16). 
  2. ^ Release 5.5.3. 2022年11月3日 [2022年11月9日]. 
  3. ^ . [2018-06-18]. (原始内容存档于2019-01-18). 
  4. ^ . [2018-06-18]. (原始内容存档于2017-07-12). 
  5. ^ 引用错误:没有为名为compatibility的参考文献提供内容
  6. ^ . [2018-06-18]. (原始内容存档于2017-07-06). 
  7. ^ . wolfSSL. [2018-06-18]. (原始内容存档于2015-05-29) (美国英语). 
  8. ^ "wolfSSL 3.6.6 is Now Available" (页面存档备份,存于互联网档案馆).
  9. ^ . [2018-06-18]. (原始内容存档于2017-07-03). 
  10. ^ Kerberos: The Network Authentication Protocol. [2018-06-18]. (原始内容于2019-08-05). 
  11. ^ 11.0 11.1 NTRU CryptoLabs. [2018-06-18]. (原始内容存档于2013-02-02). 
  12. ^ wolfSSL with Intel® SGX - wolfSSL. 2017-01-17 [2022-08-30]. (原始内容于2019-01-13) (美国英语). 
  13. ^ GNU License. [2018-06-18]. (原始内容于2009-07-16). 

外部链接

  • wolfSSL Now With ChaCha20 and Poly1305 (页面存档备份,存于互联网档案馆

註釋

wolfssl, 原名, cyassl, another, 是一个提供传输层安全协议, 功能的软件库, 主要针对嵌入式系系统发展, 以开放原始码及商用许可两种方式释出, 提供ssl, tls功能, 3以及dtls, dtls, 以c语言写成, 提供了与openssl兼容的api界面, 让原有使用openssl的软件可以容易的移植过來, 開發者todd, ouska初始版本2006年2月19日, 2006, 目前版本5, 2022年11月3日, 源代码库github, wolfssl编程语言c語言操作系统多平台类型安. wolfSSL 原名 CyaSSL 或 yet 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開發者Todd Ouska初始版本2006年2月19日 2006 02 19 1 目前版本5 5 3 2022年11月3日 2 源代码库github wbr com wbr wolfSSL wbr wolfssl编程语言C語言操作系统多平台类型安全性加密函式庫许可协议GNU通用公共许可证或商业分销许可证网站www wbr wolfssl wbr comwolfSSL的早期版本 yaSSL 基于C 为嵌入式环境和资源限制的实时操作系统提供SSL功能库 目录 1 平台 2 版本历史 3 协议 4 算法 4 1 wolfCrypt 4 2 NTRU 5 软件防护扩展 SGX 6 硬件加速平台支持 7 许可 8 其他 9 参考文献 10 外部链接 11 註釋平台 编辑wolfSSL 现在支持 Win32 64 Linux macOS Solaris ThreadX VxWorks FreeBSD NetBSD OpenBSD embedded Linux WinCE Haiku OpenWrt 苹果iPhone 安卓Android Nintendo Wii 和 Gamecube系统 通过 DevKitPro 的支持 QNX MontaVista Tron variants NonStop OpenCL Micrium s MicroC OS II FreeRTOS SafeRTOS Freescale MQX Nucleus TinyOS TI RTOS HP UX uTasker 和 embOS 版本历史 编辑yaSSL 或 yet another SSL 始建于2004 OpenSSL 当时可用 并且根据OpenSSL许可证和SSLeay许可证获得双重许可 3 然而 yaSSL是在商业和GPL许可下开发的 4 yaSSL提供了更现代的API和商业风格的开发人员支持 并含有OpenSSL兼容层 5 wolfSSL CyaSSL yaSSL的第一个主要用户是MySQL 6 通过捆绑MySQL yaSSL已经实现了数百万的极高分发量 协议 编辑主条目 傳輸層安全性協定 wolfSSL 轻量级SSL库实现以下协议 7 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 之后的版本默认禁用 但仍可通过编译时选项启用 8 算法 编辑wolfSSL 使用以下加密库 wolfCrypt 编辑 默认情况下 wolfSSL使用wolfCrypt提供的加密服务 9 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 还支持最近的 Curve25519 和 Ed25519 算法 wolfCrypt 充当几个流行软件包和库的后端加密实现 包括MIT Kerberos 10 可使用构建选项启用 NTRU 编辑 CyaSSL 包含 NTRU 11 公钥加密 在CyaSSL 中增加NTRU是yaSSL和Security Innovation之间合作的结果 11 NTRU在移动电话和嵌入式环境中运行良好 这是因为与其他公钥系统相比 提供相同安全性所需的位数大小减少了 另外 还不知道它易受到量子攻击 CyaSSL 中含有包括AES 256 RC4和HC 128在内的几种使用NTRU的密码套件 软件防护扩展 SGX 编辑wolfSSL 支持使用英特尔SGX 软件防护扩展 12 英特尔SGX Intel SGX 允许更小的攻击表面积 并且已被证明为执行代码提供更高级别的安全性 而对性能没有显着的负面影响 硬件加速平台支持 编辑英特尔 AES NI 页面存档备份 存于互联网档案馆 至强和酷睿处理器系列 AES GCM 128 192 256 bitAES CCM 128 192 256 bitAES CBC 128 192 256 bitAES ECB 128 192 256 bitAES CTR 128 192 256 bitAVX1 AVX2 英特尔 和 AMD x86 SHA 256SHA 384SHA 512RDRAND 页面存档备份 存于互联网档案馆 英特尔 64 IA 32 架构 SHA 256SHA 512RDSEED 页面存档备份 存于互联网档案馆 英特尔 Broadwell AMD Zen SHA 256SHA 512Freescale Coldfire SEC 页面存档备份 存于互联网档案馆 NXP MCF547X 和 MCF548X DES CBC 64 bit3DES CBC 192 bitAES CBC 128 192 256 bitFreescale Kinetis MMCAU 页面存档备份 存于互联网档案馆 K50 K60 K70 和 K80 ARM Cortex M4 核 MD5 128 bit 摘要SHA1 160 bit 摘要SHA256DES CBC 64 bit3DES CBC 192 bitAES CBC 128 192 256 bitAES CCM 128 192 256 bitAES GCM 128 192 256 bitAES ECB 128 192 256 bitSTMicroelectronics STM32 F1 F2 F4 L1 W 系列 ARM Cortex M3 M4 RNGDES CBC 64 bitDES ECB 64 bit 加密3DES CBC 192 bitMD5 128 bitSHA1 160 bitAES CBC 128 192 256 bitAES CTR 128 192 256 bitCubeMX 页面存档备份 存于互联网档案馆 and Std Per Lib 页面存档备份 存于互联网档案馆 dd Cavium NITROX 页面存档备份 存于互联网档案馆 III V PX 处理器 RNGAES CBC 128 192 256 bit3DES CBC 192 bitRC4 2048 bit 上限HMAC MD5 SHA1 SHA256 SHA3RSA 512 4096 bitECC NIST Prime 192 224 256 384 and 521Microchip PIC32 MX MZ 页面存档备份 存于互联网档案馆 嵌入式连接 MD5 128 bit 摘要SHA1 160 bit 摘要SHA256HMAC MD5 SHA1 SHA256DES CBC 64 bit3DES CBC 192 bitAES CBC 128 192 256 bitAES CTR 128 192 256 bitAES GCM 128 192 256 bit德州仪器 TM4C1294 页面存档备份 存于互联网档案馆 ARM Cortex M4F DES CBC 64 bit3DES CBC 192 bitAES CCM 128 192 256 bitAES GCM 128 192 256 bitAES ECB 128 192 256 bitAES CTR 128 192 256 bitAES CBC 128 192 256 bitNordic NRF51 Series SoC family 32 bit ARM Cortex M0 核心处理器 AES ECB 128 bitRNGMicrochip 页面存档备份 存于互联网档案馆 Atmel 页面存档备份 存于互联网档案馆 ATECC508A 兼容于MPU or MCU ECC 256 bit NIST P256 ARMv8 页面存档备份 存于互联网档案馆 AES CBC 128 192 256 bitAES CTR 128 192 256 bitAES GCM 128 192 256 bitSHA256英特尔QuickAssist技术 页面存档备份 存于互联网档案馆 RSA 512 4096 bitSHA1 160 bit 摘要SHA2 224 256 384 和 512 bitAES CBC 128 192 256 bitAES GCM 128 192 256 bitECC 任意位数HMAC SHA1 SHA2MD5Freescale NXP LTC 页面存档备份 存于互联网档案馆 Curve25519 256 bitEd25519 256 bitAES CCM 128 192 256 bitAES ECB 128 192 256 bitAES CBC 128 192 256 bitAES CTR 128 192 256 bitAES GCM 128 192 256 bitSHA1 160 bit 摘要SHA256ECC 128 256 bitECC DHE 128 256 bitRSA 512 4096 bit许可 编辑wolfSSL 开放源代码 根据GNU通用公共许可证GPLv2获得许可 13 其他 编辑 自由软件主题 Cryptography主题 加密 传输层安全性协议 TLS的应用对比GnuTLS 网络安全服务 OpenSSL MatrixSSL参考文献 编辑 wolfSSL ChangeLog 2016 07 15 原始内容存档于2016 03 16 Release 5 5 3 2022年11月3日 2022年11月9日 OpenSSL Source License 2018 06 18 原始内容存档于2019 01 18 wolfSSL License 2018 06 18 原始内容存档于2017 07 12 引用错误 没有为名为compatibility的参考文献提供内容 MySQL Building MySQL with Support for Secure Connections 2018 06 18 原始内容存档于2017 07 06 wolfSSL User Manual Chapter 4 Features Documentation wolfSSL 2018 06 18 原始内容存档于2015 05 29 美国英语 wolfSSL 3 6 6 is Now Available 页面存档备份 存于互联网档案馆 wolfSSL Docs wolfSSL Manual Chapter 10 wolfCrypt Usage Reference 2018 06 18 原始内容存档于2017 07 03 Kerberos The Network Authentication Protocol 2018 06 18 原始内容存档于2019 08 05 11 0 11 1 NTRU CryptoLabs 2018 06 18 原始内容存档于2013 02 02 wolfSSL with Intel SGX wolfSSL 2017 01 17 2022 08 30 原始内容存档于2019 01 13 美国英语 GNU License 2018 06 18 原始内容存档于2009 07 16 外部链接 编辑wolfSSL CyaSSL Homepage wolfSSL Now With ChaCha20 and Poly1305 页面存档备份 存于互联网档案馆 註釋 编辑 取自 https zh wikipedia org w index php title WolfSSL amp oldid 73589286, 维基百科,wiki,书籍,书籍,图书馆,

文章

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