WolfSSL
wolfSSL (более раннее название: CyaSSL, or yet another SSL) - это небольшая, портативная, встроенная библиотека SSL / TLS, предназначенная для разработчиков встраиваемых систем. Это реализация TLS с открытым исходным кодом (SSL 3.0, TLS 1.0, 1.1, 1.2, 1.3 и DTLS 1.0 и 1.2), написанная на языке Си. Включает в себя клиентские библиотеки 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 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.[5] В качестве альтернативы, yaSSL получил двойную коммерческую и GPL лицензию.[6] yaSSL предложил более современный API, поддержку для коммерческого ПО и был дополнен уровнем совместимости с OpenSSL.[3] MySQL стала первым крупным клиентом wolfSSL/CyaSSL/yaSSL.[7] Благодаря поддержке MySQL, yaSSL достигла чрезвычайно больших объемов распространения в миллионы копий. ПротоколыЛегкая SSL-библиотека wolfSSL реализует следующие протоколы:[8]
Дополнительные замечания по протоколам:
АлгоритмыwolfSSL использует следующие криптографические библиотеки: wolfCryptПо умолчанию, wolfSSL использует криптографические сервисы библиотеки wolfCrypt.[10] 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[11] (где его можно включить с помощью опции сборки). NTRUCyaSSL+ включает шифрование открытым ключом NTRU[12]. Добавление NTRU в CyaSSL+ стало результатом партнерства между компаниями yaSSL и Security Innovation.[12] NTRU хорошо работает в мобильных и встраиваемых системах, благодаря уменьшенному количеству бит, необходимых для обеспечения такой же безопасности, как и в других системах с открытым ключом. Кроме того, не подтверждено, что он уязвим для квантовых атак. В пакете CyaSSL+ доступны несколько наборов шифров, использующих NTRU, включая AES-256, RC4 и HC-128. SGXwolfSSL поддерживает использование Intel SGX (Software Guard Extensions)[13]. Intel SGX позволяет уменьшить площадь атаки и, как было показано, обеспечивает более высокий уровень безопасности для выполнения кода без существенного негативного влияния на производительность. Поддерживаемые платформы аппаратного ускоренияПоддержка проверенных элементовВ настоящее время, wolfSSL поддерживает следующие проверенные элементы:
Поддержка аппаратного шифрованияВ нижеприведенных таблицах перечислены возможности wolfSSL для использования аппаратного шифрования различных устройств с различными алгоритмами.
"Все" означает, что поддерживаются размеры блоков 128, 192 и 256 бит.
ЛицензированиеwolfSSL - это ПО с открытым исходным кодом, распространяемое по лицензии GNU General Public License GPLv2.[14] См. также
Примечания
Ссылки |
Portal di Ensiklopedia Dunia