Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

wolfSSL - это небольшая портативная встроенная библиотека SSL / TLS, предназначенная для использования разработчиками встроенных систем. Это открытая исходный код реализация TLS (SSL 3.0, TLS 1.0, 1.1, 1.2, 1.3, и 1.0, DTLS 1.2 и 1.3) записывается в языке программирования Си . Он включает в себя клиентские библиотеки SSL / TLS и реализацию сервера SSL / TLS, а также поддержку нескольких API, в том числе определенных SSL и TLS . wolfSSL также включает интерфейс совместимости OpenSSL с наиболее часто используемыми функциями OpenSSL. [3] [4]

Предшественник 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 , Tronварианты, NonStop OS , 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 и PikeOS . [5]

История [ править ]

Появление yaSSL, или еще одного SSL, датируется 2004 годом. OpenSSL был доступен в то время и имел двойную лицензию по лицензии OpenSSL и SSLeay . [6] yaSSL, в качестве альтернативы, был разработан и получил двойную лицензию как под коммерческой лицензией, так и под GPL. [7] yaSSL предлагал более современный API, поддержку разработчиков в коммерческом стиле и был дополнен уровнем совместимости с OpenSSL. [3] Первым крупным пользователем wolfSSL / CyaSSL / yaSSL был MySQL . [8] Благодаря объединению с MySQL, yaSSL достиг чрезвычайно высоких объемов распространения в миллионы.

В феврале 2019 года к проекту wolfSSL присоединился Дэниел Стенберг , создатель cURL . [9]

Протоколы [ править ]

Облегченная библиотека SSL wolfSSL реализует следующие протоколы: [10]

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

Примечания к протоколу:

  • 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, но его можно включить с помощью параметра времени компиляции. [11]

Алгоритмы [ править ]

wolfSSL использует следующие библиотеки криптографии:

wolfCrypt [ править ]

По умолчанию wolfSSL использует криптографические сервисы, предоставляемые wolfCrypt. [12] 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 , генерация случайных чисел, поддержка больших целых чисел и кодирование / декодирование base 16/64. Также включен экспериментальный шифр Rabbit , программный потоковый шифр общественного достояния из проекта ЕС eSTREAM. Rabbit потенциально полезен для шифрования потокового мультимедиа в высокопроизводительных средах с высокими требованиями.

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

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

NTRU [ править ]

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

SGX [ править ]

wolfSSL поддерживает использование Intel SGX ( Software Guard Extensions ). [15] Intel SGX обеспечивает меньшую поверхность атаки и, как было показано, обеспечивает более высокий уровень безопасности для выполнения кода без значительного отрицательного воздействия на производительность.

Поддерживаемые платформы аппаратного ускорения [ править ]

Поддерживаемые доверенные элементы [ править ]

В настоящее время wolfSSL поддерживает следующие доверенные элементы:

  • STSAFE
  • ATECC508A

Поддержка аппаратного шифрования [ править ]

В следующих таблицах перечислены возможности wolfSSL для использования аппаратного шифрования различных устройств с различными алгоритмами.

- «Все» обозначает поддерживаемые размеры блоков 128, 192 и 256 бит.

Лицензирование [ править ]

wolfSSL - бесплатное программное обеспечение, работающее под лицензией GNU General Public License GPLv2. [16]

См. Также [ править ]

  • Безопасность транспортного уровня
  • Сравнение реализаций TLS
  • Сравнение криптографических библиотек
  • GnuTLS
  • Услуги сетевой безопасности
  • OpenSSL

Ссылки [ править ]

  1. ^ "wolfSSL ChangeLog" .
  2. ^ "wolfSSL ChangeLog" . 2021-02-16 . Проверено 16 февраля 2021 .
  3. ^ a b wolfSSL - Продукты для встраиваемых коммуникаций
  4. ^ «Что нужно знать о протоколе TLS 1.3 и библиотеках SSL / TLS wolfSSL» . www.allaboutcircuits.com . Проверено 28 декабря 2018 .
  5. ^ "Встроенная библиотека SSL / TLS wolfSSL | Продукты wolfSSL" . Проверено 31 января 2019 .
  6. ^ OpenSSL: исходный код, лицензия
  7. ^ wolfSSL - Лицензия
  8. ^ «MySQL, построение MySQL с поддержкой безопасных подключений» . Архивировано из оригинала на 2017-07-06 . Проверено 12 июня 2016 .
  9. ^ Даниэль Стенберг, основатель и главный архитектор cURL, присоединяется к wolfSSL
  10. ^ wolfSSL - Документы | Руководство CyaSSL - Глава 4 (Возможности)
  11. ^ «Теперь доступен wolfSSL 3.6.6» .
  12. ^ wolfSSL - Документы | Руководство wolfSSL - Глава 10 (Справочник по использованию wolfCrypt)
  13. ^ Kerberos: протокол сетевой аутентификации
  14. ^ a b NTRU CryptoLabs Архивировано 2 февраля 2013 г. в Archive.today
  15. ^ wolfSSL - wolfSSL с Intel® SGX
  16. ^ Лицензия GNU

Внешние ссылки [ править ]

  • wolfSSL / CyaSSL Домашняя страница
  • wolfSSL теперь с ChaCha20 и Poly1305