Movatterモバイル変換


[0]ホーム

URL:


Перейти до вмісту
Вікіпедія
Пошук

wolfSSL

Матеріал з Вікіпедії — вільної енциклопедії.
wolfSSL
ТипБібліотека
РозробникTodd Ouska
Перший випуск19 лютого 2006[1]
Операційна системабагатоплатформне ПЗ
Мова програмуваннямова Сі
ЛіцензіяGNU General Public License або комерційна ліцензія
Репозиторійgithub.com/wolfSSL/wolfssl
Вебсайтwww.wolfssl.com

wolfSSL (рання назва:CyaSSL, or yet another SSL) — це невелика, портативна, вбудована бібліотекаSSL /TLS, яка призначена для розробниківвбудованих систем. Це реалізація TLS звідкритим вихідним кодом (SSL 3.0, TLS 1.0, 1.1, 1.2, 1.3 i DTLS 1.0, 1.2), яка написана намові С. Включає в себе клієнтські бібліотеки SSL / TLS і реалізацію сервера SSL / TLS, а також підтримку декількохAPI, в тому числі певних SSL і TLS. wolfSSL також включає інтерфейс сумісностіOpenSSL з найчастіше використовуваними функціями OpenSSL.[2][3]

Попередник wolfSSL yaSSL — це бібліотека SSL на основіC++ для вбудованих середовищ іопераційних систем реального часу з обмеженими ресурсами.

Платформи

[ред. |ред. код]

В даний час wolfSSL доступна дляWin32 / 64,Linux,macOS,Solaris, Threadx,VxWorks,FreeBSD,NetBSD,OpenBSD,Вбудований Linux,Yocto Project, OpenEmbedded,WinCE,Haiku ,OpenWrt,iPhone,Android,Nintendo Wii іGamecube через підтримку DevKitPro,QNX, MontaVista Linux, варіантів системиTron, NonStop,OpenCL, Micrium's MicroC/OS-II,FreeRTOS,SafeRTOS, Freescale MQX, Nucleus, TinyOS, TI-RTOS,HP-UX, uTasker, uT-kernel, embOS, INtime, mbed, RIOT, CMSIS-RTOS, FROSTED, Green Hills INTEGRITY, Keil RTX, TOPPERS, PetaLinux і Apache Mynewt.

Історія створення

[ред. |ред. код]

СтворенняyaSSL, or yet another SSL датується 2004 роком. У той час вже існувалаOpenSSL, яка поширювалася під подвійною ліцензієюOpenSSL License іSSLeay license.[4] Як альтернатива yaSSL отримав подвійну комерційну іGPL ліцензію.[5] yaSSL запропонував більш сучасний API, підтримку для комерційного ПЗ і був доповнений рівнем сумісності з OpenSSL.[2]MySQL стала першим великим клієнтом wolfSSL/yaSSL/yaSSL.[6] Завдяки підтримці MySQL, yaSSL досягла надзвичайного поширення об'ємом в мільйони копій.

Протоколи

[ред. |ред. код]
Докладніше:TLS

Легка SSL-бібліотека wolfSSL реалізує наступні протоколи:[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 застарів і, згідноRFC 6176, заборонений для використання з 2011 року. wolfSSL її не підтримує.
  • SSL 3.0 — протокол SSL 3.0 застарів і, згідноRFC 7568, заборонений для використання з 2015 року. SSL 3.0 був відключений за замовчуванням, починаючи з wolfSSL 3.6.6 у відповідь на атаку POODLE, але його можна включити за допомогою параметру часу компіляції.[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,SHA-3,BLAKE2,RIPEMD-160, Poly1305, генерацію випадкових чисел, великі цілі числа, іBase16/64 кодування/декодування. Також включені експериментальний шифр Rabbit і потоковий шифр для ПЗ в суспільному надбанні з проектуeSTREAM. Rabbit потенційно корисний для тих, хто шифруєпотокове мультимедіа в високопродуктивних середовищах з високими вимогами.

wolfCrypt також включає в себе підтримку останніх алгоритмів Curve25519 і Ed25519.

wolfCrypt виступає як програмно-апаратна (бекенд) криптографічна реалізація для декількох популярних пакетів програмного забезпечення та бібліотек, включаючиMIT Kerberos[10] (де його можна включити за допомогою опції збірки).

NTRU

[ред. |ред. код]

CyaSSL+ включає шифрування відкритим ключем NTRU[11]. Додавання NTRU в CyaSSL+ стало результатом партнерства між компаніями yaSSL і Security Innovation.[11] NTRU добре працює в мобільних та вбудованих системах, завдяки зменшеній кількості біт, необхідних для забезпечення такого ж рівня безпеки, як і в інших системах з відкритим ключем. Крім того, не підтверджено, що він вразливий для квантових атак. У пакеті CyaSSL+ доступні кілька наборів шифрів, що використовують NTRU, включаючи AES-256, RC4 і HC-128.

SGX

[ред. |ред. код]

wolfSSL підтримує використання Intel SGX (Software Guard Extensions).[12] Intel SGX дозволяє зменшити площу атаки і, як було показано, забезпечує вищий рівень безпеки для виконання коду без істотного негативного впливу на продуктивність.

Підтримувані платформи апаратного прискорення

[ред. |ред. код]

Підтримка перевірених елементів

[ред. |ред. код]

В даний час, wolfSSL підтримує такі перевірені елементи:

  • STSAFE
  • ATECC508A

Підтримка апаратного шифрування

[ред. |ред. код]

У наведених нижче таблицях перераховані можливості wolfSSL для використання апаратного шифрування різних пристроїв з різними алгоритмами.

Режими шифруванняAES
ПристрійAES-GCMAES-CCMAES-CBCAES-ECBAES-CTR
Intel AES-NI[Архівовано 18 листопада 2018 уWayback Machine.]

(сімейства процесорів Xeon і Core)

усіусіусіусіусі
Freescale[Архівовано 22 березня 2021 уWayback Machine.]

Cryptographic Accelerator and Assurance Module (CAAM)

усіусіусіусі
Freescale Coldfire SEC[Архівовано 16 березня 2017 уWayback Machine.]

(NXP MCF547X і MCF548X)

усі
Freescale Kinetis MMCAU[Архівовано 16 березня 2017 уWayback Machine.]

K50, K60, K70, і K80 (ядро Cortex-M4 компанії ARM)

усіусіусіусі
STMicroelectronics STM32

F1, F2, F4, L1, W Series (ядро Cortex-М3/M4 компанії ARM)

усіусі
Cavium NITROX[Архівовано 8 грудня 2017 уWayback Machine.]

(процесори III/V PX)

усі
Microchip PIC32 MX/MZ[Архівовано 22 січня 2019 уWayback Machine.]

(Вбудоване підключення)

усіусіусі
Texas Instruments TM4C1294[Архівовано 5 грудня 2018 уWayback Machine.]

(ARM Cortex-M4F)

усіусіусіусіусі
Nordic NRF51

(сімейство Series SoC, 32-бітне ядро Cortex-М0 компанії ARM)

128-біт
ARMv8[Архівовано 11 листопада 2011 уWayback Machine.]усіусіусі
Intel QuickAssist Technology[Архівовано 23 березня 2019 уWayback Machine.]усіусі
Freescale NXP LTC[Архівовано 23 березня 2019 уWayback Machine.]усіусіусіусіусі

«Усі» означає, що підтримуються розміри блоків 128, 192 і 256 біт.

Режими шифруванняDES/3DES
ПристрійDES-CBCDES-ECB3DES-CBC
Freescale Coldfire SEC[Архівовано 16 березня 2017 уWayback Machine.]

(NXP MCF547X і MCF548X)

64 біт192 біт
Freescale Kinetis MMCAU[Архівовано 16 березня 2017 уWayback Machine.]

K50, K60, K70 і K80 (ядро Cortex-М4 компанії ARM)

64 біт192 біт
STMicroelectronics STM32

F1, F2, F4, L1, W Series (ядро Cortex-М3/М4 компанії ARM)

64 біт64 біт (кодування)192 біт
Cavium NITROX[Архівовано 8 грудня 2017 уWayback Machine.]

(Процесори III/V PX)

192 біт
Microchip PIC32 MX/MZ[Архівовано 22 січня 2019 уWayback Machine.]

(Вбудоване підключення)

64 біт192 біт
Texas Instruments TM4C1294[Архівовано 5 грудня 2018 уWayback Machine.]

(ядро Cortex-М4F компанії ARM)

64 біт192 біт
Потокові шифри
ПристрійRC4Salsa20
AVX1/AVX2

(Intel і AMD x86)

підтримується
Cavium NITROX[Архівовано 8 грудня 2017 уWayback Machine.]

(Процесори III/V PX)

2048 біт щонайбільше
Підтримкахешування
ПристрійMD5SHA1SHA2SHA-256SHA-384SHA-512
AVX1/AVX2

(Intel і AMD x86)

підтримуєтьсяпідтримуєтьсяпідтримується
Freescale Kinetis MMCAU[Архівовано 16 березня 2017 уWayback Machine.]

K50, K60, K70 і K80 (ядро Cortex-М4 компанії ARM)

підтримуєтьсяпідтримуєтьсяпідтримується
STMicroelectronics STM32

F1, F2, F4, L1, W Series (ядро Cortex-М3/М4 компанії ARM)

підтримуєтьсяпідтримується
Microchip PIC32 MX/MZ[Архівовано 22 січня 2019 уWayback Machine.]

(Вбудоване підключення)

підтримуєтьсяпідтримуєтьсяпідтримується
ARMv8[Архівовано 11 листопада 2011 уWayback Machine.]підтримується
Intel QuickAssist Technology[Архівовано 23 березня 2019 уWayback Machine.]підтримуєтьсяпідтримуєтьсяпідтримується
Freescale NXP LTC[Архівовано 23 березня 2019 уWayback Machine.]підтримуєтьсяпідтримується
Ключові операції: генерація і обмін,еліптична криптографія
ПристрійRSAECCECC-DHECurve25519Ed25519
Cavium NITROX[Архівовано 8 грудня 2017 уWayback Machine.]

(Процесори III/V PX)

512-4096 бітNIST Prime

192, 224, 256, 384, 521

Microchip[Архівовано 22 січня 2019 уWayback Machine.]/Atmel[Архівовано 15 грудня 2017 уWayback Machine.]

ATECC508A (сумісний з усіма MPU або MCU, включаючи Atmel SMART і AVR MCU)

256 біт

(NIST-P256)

Intel QuickAssist Technology[Архівовано 23 березня 2019 уWayback Machine.]512-4096 біт128, 256 біт
Freescale NXP LTC[Архівовано 23 березня 2019 уWayback Machine.]512-4096 біт128, 256 біт128, 256 біт256 біт256 біт
АлгоритмиMAC
ПристрійHMAC-MD5HMAC-SHA1HMAC-SHA2HMAC-SHA256SHA-3Poly1305
AVX1/AVX2

(Intel i AMD x86)

підтримується
Cavium NITROX[Архівовано 8 грудня 2017 уWayback Machine.]

(Процесори III/V PX)

підтримуєтьсяпідтримуєтьсяпідтримуєтьсяпідтримується
Microchip PIC32 MX/MZ[Архівовано 22 січня 2019 уWayback Machine.]

(Вбудоване підключення)

підтримуєтьсяпідтримуєтьсяпідтримується
Intel QuickAssist Technology[Архівовано 23 березня 2019 уWayback Machine.]підтримуєтьсяпідтримується
Генерація випадкових чисел
ПристрійRNG
STMicroelectronics STM32

F1, F2, F4, L1, W Series (ядро Cortex-М3/М4 компанії ARM)

підтримується
Cavium NITROX[Архівовано 8 грудня 2017 уWayback Machine.]

(процесори III/V PX)

підтримується
Nordic NRF51

(сімейство Series SoC, 32-бітне ядро Cortex-М0 компанії ARM)

підтримується

Ліцензування

[ред. |ред. код]

wolfSSL — це ПЗ з відкритим вихідним кодом, яке розповсюджується за ліцензією GNU General Public License GPLv2.[13]

Див. також

[ред. |ред. код]

Примітки

[ред. |ред. код]
  1. wolfSSL ChangeLog. Архіворигіналу за 16 березня 2016. Процитовано 21 січня 2019.
  2. абwolfSSL - Embedded Communications Products. Архіворигіналу за 8 вересня 2017. Процитовано 21 січня 2019.
  3. What You Need to Know About the TLS 1.3 Protocol and wolfSSL’s SSL/TLS Libraries.www.allaboutcircuits.com(англ.). Архіворигіналу за 29 грудня 2018. Процитовано 28 грудня 2018.
  4. OpenSSL: Source, License. Архіворигіналу за 18 січня 2019. Процитовано 21 січня 2019.
  5. /License.html wolfSSL - License. Архіворигіналу за 22 січня 2019. Процитовано 21 січня 2019.
  6. MySQL, Building MySQL with Support for Secure Connections. Архіворигіналу за 6 липня 2017. Процитовано 21 січня 2019.
  7. wolfSSL - Docs|CyaSSL Manual — Chapter 4 (Features). Архіворигіналу за 29 травня 2015. Процитовано 21 січня 2019.
  8. «wolfSSL 3.6.6 is Now Available»[Архівовано 14 березня 2017 уWayback Machine.].
  9. wolfSSL - Docs|wolfSSL Manual — Chapter 10 (wolfCrypt Usage Reference). Архіворигіналу за 3 липня 2017. Процитовано 21 січня 2019.
  10. Kerberos: The Network Authentication Protocol. Архіворигіналу за 5 серпня 2019. Процитовано 21 січня 2019.
  11. абCryptoLabs[недоступне посилання з червня 2019]
  12. wolfSSL - wolfSSL with Intel® SGX. Архіворигіналу за 13 січня 2019. Процитовано 21 січня 2019.
  13. GNU License. Архіворигіналу за 8 лютого 2010. Процитовано 21 січня 2019.

Посилання

[ред. |ред. код]
Протоколи та технології
Інфраструктура
публічних ключів
Див. також
Історія
Імплементації
Notaries
Уразливості
Теорія
Шифр
Протокол
Імплементація
Отримано зhttps://uk.wikipedia.org/w/index.php?title=WolfSSL&oldid=41415063
Категорії:
Приховані категорії:

[8]ページ先頭

©2009-2026 Movatter.jp