Мбед TLS - Mbed TLS

Мбед TLS
Разработчики)Совместный проект под управлением Рука
изначальный выпуск15 января 2009 г. (2009-01-15)
Стабильный выпуск2.24.0 (1 сентября 2020 г.; 3 месяца назад (2020-09-01)[1]) [±]
Репозиторий Отредактируйте это в Викиданных
Написано вC
Операционная системаМультиплатформенность
ТипБиблиотека безопасности
ЛицензияApache 2.0 (GPLv2 по-прежнему доступно то, что было ранее по умолчанию или проприетарно; PolarSSL имеет Исключение связи GPL за бесплатно программное обеспечение[2])
Интернет сайтtls.mbed.org

Мбед TLS (ранее PolarSSL) является реализацией TLS и SSL требуются протоколы и соответствующие криптографические алгоритмы и вспомогательный код. это с двойной лицензией с Лицензия Apache версия 2.0 (с GPLv2 также доступны). На веб-сайте указано, что Mbed TLS стремится быть «простым для понимания, использования, интеграции и расширения».

История

Библиотека SSL PolarSSL является официальным продолжением XySSL Библиотека SSL. XySSL создали французы »хакер в белой шляпе " Кристоф Девайн и впервые был выпущен 1 ноября 2006 г. под лицензиями GPL и BSD. В 2008 году Кристоф Девайн больше не мог поддерживать XySSL и позволил Полу Баккеру создать официальный форк под названием PolarSSL.[3] В ноябре 2014 года PolarSSL была приобретена ARM Holdings.[4]

В 2011 году правительство Нидерландов одобрило интеграцию между OpenVPN и PolarSSL, который называется OpenVPN-NL. Эта версия OpenVPN была одобрена для использования для защиты правительственных коммуникаций до уровня Restricted.[5]

С момента выпуска версии 1.3.10 PolarSSL был переименован в Mbed TLS, чтобы лучше показать его соответствие требованиям Мбед экосистема.[6] Также было объявлено, что лицензия будет изменена с GPL на Лицензия Apache позже в 2015 году (с целью до октября).[7]

Библиотека

Основной SSL библиотека написано в Язык программирования C и реализует модуль SSL, базовый криптографический функции и предоставляет различные служебные функции. В отличие от OpenSSL и другие реализации TLS, Mbed TLS похож на wolfSSL тем, что он разработан для небольших встраиваемых устройств с минимальным полным стеком TLS, требующим менее 60 КБ программного пространства и менее 64 КБ ОЗУ. Он также очень модульный: каждый компонент, например, криптографическая функция, может использоваться независимо от остальной части фреймворка. Также доступны версии для Майкрософт Виндоус и Linux. Поскольку Mbed TLS записан в Язык программирования C, без внешних зависимостей, он без проблем работает в большинстве операционных систем и архитектур.

Более поздние версии PolarSSL, чем 1.3.0, добавляют уровни абстракции для выделения памяти и потоковой передачи в ядро ​​«для поддержки лучшей интеграции с существующими встроенными операционными системами».[8]

Приоритеты дизайна

Библиотека Mbed TLS фокусируется на удобочитаемости кода, документации, автоматических регрессионных тестах, слабосвязанной конструкции и переносимом коде.[9]

Документация по разработке

Для разработчиков доступна следующая документация:

  • Дизайн высокого уровня:[10] высокоуровневое описание различных модулей внутри библиотеки, с диаграммами UML, вариантами использования и взаимодействиями в общих сценариях.
  • Документация по API:[11] Doxygen -сгенерированная документация из заголовочных файлов библиотеки.
  • Документация по исходному коду:[12] Исходный код библиотеки задокументирован, чтобы прояснить структуры, решения и конструкции кода.

Автоматизированное тестирование

Mbed TLS обеспечивает автоматическое тестирование кода и совместимости с PolarSSL следующим образом:

  • В исходный код входит среда тестирования, содержащая более 5000 автоматических тестов (в зависимости от количества тестов в версии 1.3.2 библиотеки) для проверки регрессий и совместимости на разных платформах.
  • Система непрерывной интеграции на основе Buildbot[13]
  • Скрипт совместимости (compat.sh[14]), который проверяет совместимость связи SSL с OpenSSL.

Использовать

Mbed TLS используется как компонент SSL в крупных проектах с открытым исходным кодом:

Платформы

Mbed TLS в настоящее время доступен для большинства операционных систем, включая Linux, Майкрософт Виндоус, OS X, OpenWrt, Android, iOS и FreeRTOS. Поддерживаемые наборы микросхем включают как минимум ARM, x86, PowerPC, MIPS.

Алгоритмы

Mbed TLS поддерживает ряд различных криптографических алгоритмов:

Шифры
AES, ARIA, Blowfish, Камелия, ЧаЧа, DES, RC4, RC5, Тройной DES, XTEA
Криптографические хеш-функции
MD2, MD4, MD5, RIPEMD160, SHA-1, SHA-2
Криптография с открытым ключом
ЮАР, Обмен ключами Диффи-Хеллмана, Криптография на эллиптических кривых (ECC), Эллиптическая кривая Диффи – Хеллмана (ECDH), Эллиптическая кривая DSA (ECDSA)

Смотрите также

Рекомендации

  1. ^ "Выпуск Mbed TLS 2.24.0 · ARMmbed / mbedtls". Получено 2020-09-08.
  2. ^ https://tls.mbed.org/foss-license-exception
  3. ^ "О нас". PolarSSL. Получено 2014-05-08.
  4. ^ «PolarSSL теперь является частью ARM». 2014-11-24.
  5. ^ [1] В архиве 29 января 2013 г. Wayback Machine
  6. ^ "Выпущен mbed TLS 1.3.10". 2015-02-08. Получено 2015-02-09.
  7. ^ "PolarSSL мертв, да здравствует mbed TLS". РУКА. Получено 2015-02-10.
  8. ^ «Новые функции в PolarSSL 1.3.0 - Технические обновления». Polarssl.org. Получено 2014-05-08.
  9. ^ «Возможности PolarSSL: простая в использовании библиотека SSL и хорошо документированная». Polarssl.org. Получено 2014-05-08.
  10. ^ «Дизайн высокого уровня PolarSSL». Polarssl.org. Получено 2014-05-08.
  11. ^ "Документация по исходному коду v1.3.6 - Документация по API". PolarSSL. Получено 2014-05-08.
  12. ^ "polarssl / polarssl - GitHub". Github.com. Получено 2014-05-08.
  13. ^ «Основные функции PolarSSL: ознакомьтесь со всеми техническими подробностями». Polarssl.org. Получено 2014-05-08.
  14. ^ исполняемый файл 1038 строк (940 sloc) 39,573 кб (13.02.2014). "polarssl / tests / compat.sh при разработке · polarssl / polarssl · GitHub". Github.com. Получено 2014-05-08.

внешняя ссылка