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]. 

註釋