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

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

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

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

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

После выпуска версии 1.3.10 PolarSSL был переименован в Mbed TLS, чтобы лучше показать его соответствие экосистеме Mbed . [5] Начиная с версии 2.1.0, библиотека была доступна по лицензии GPL v2 и Apache License v2.0. [6]

Начиная с версии 2.17, Mbed TLS лицензируется исключительно в соответствии с лицензией Apache License версии 2.0. [7] [8]

В 2020 году Mbed TLS присоединился к проекту TrustedFirmware . [9]

Библиотека [ править ]

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

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

Приоритеты дизайна [ править ]

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

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

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

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

Автоматизированное тестирование [ править ]

Автоматизированное тестирование Mbed TLS включает:

  • Платформа тестирования включена в исходный код, который содержит более 5000 автоматических тестов (в зависимости от количества тестов в версии 1.3.2 библиотеки) для проверки регрессий и совместимости на разных платформах.
  • Скрипт совместимости (compat.sh [15] ), который проверяет совместимость связи SSL с OpenSSL и GnuTLS .
  • Система непрерывной интеграции на базе Travis CI и Jenkins . [16]

Используйте [ редактировать ]

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

  • OpenVPN и OpenVPN-NL
  • Гайавата
  • PowerDNS
  • HTTP-сервер Monkey

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

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

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

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

Криптографические хеш-функции
MD2 , MD4 , MD5 , RIPEMD160 , SHA-1 , SHA-2
Режимы MAC
CMAC , HMAC
Шифры
AES , ARIA , Blowfish , Camellia , ChaCha , DES , RC4 , Triple DES , XTEA
Режимы шифрования
ЕЦБ , CBC , CFB , CTR , OFB , XTS
Режимы шифрования с аутентификацией
CCM , GCM , NIST Key Wrap ,
ChaCha20 - Поли1305
Ключевые выводы
HKDF
Ключевое растяжение
PBKDF2 , PKCS # 5 PBE2, PKCS # 12 получение ключа
Криптография с открытым ключом
RSA , обмен ключами Диффи – Хеллмана ,
Криптография эллиптических кривых (ECC) , Эллиптическая кривая Диффи – Хеллмана (ECDH) , Elliptic Curve DSA (ECDSA) , Эллиптическая кривая J-PAKE

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

  • Безопасность транспортного уровня
  • Сравнение реализаций TLS
  • POSSE проект
  • GnuTLS
  • Услуги сетевой безопасности
  • wolfSSL (ранее CyaSSL)
  • MatrixSSL
  • OpenSSL

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

  1. ^ "Выпуск Mbed TLS 2.26.0 · ARMmbed / mbedtls" . Проверено 24 марта 2021 .
  2. ^ «О нас» . PolarSSL . Проверено 8 мая 2014 .
  3. ^ «PolarSSL теперь является частью ARM» . 2014-11-24.
  4. ^ [1] Архивировано 29 января 2013 года в Wayback Machine.
  5. ^ "Выпущен mbed TLS 1.3.10" . 2015-02-08 . Проверено 9 февраля 2015 .
  6. ^ "Скачать" . Мбед TLS . Рука. Архивировано из оригинала на 2019-03-24 . Проверено 5 апреля 2021 .
  7. ^ "Скачать архив" . Мбед TLS . Arm . Проверено 5 апреля 2021 .
  8. ^ «История для ЛИЦЕНЗИИ» . GitHub . Arm . Проверено 5 апреля 2021 .
  9. ^ «Hafnium, MbedTLS, PSA Crypto присоединяются к проекту Trusted Firmware Project» . Доверенная прошивка . Доверенная прошивка. Архивировано из оригинала на 2020-08-12 . Проверено 5 апреля 2021 .
  10. ^ «Новые функции в PolarSSL 1.3.0 - Технические обновления» . Polarssl.org . Проверено 8 мая 2014 .
  11. ^ «Возможности PolarSSL: простая в использовании библиотека SSL и хорошо документированная» . Polarssl.org . Проверено 8 мая 2014 .
  12. ^ «Дизайн высокого уровня PolarSSL» . Polarssl.org . Проверено 8 мая 2014 .
  13. ^ "Документация по исходному коду v1.3.6 - Документация по API" . PolarSSL . Проверено 8 мая 2014 .
  14. ^ "polarssl / polarssl - GitHub" . Github.com . Проверено 8 мая 2014 .
  15. ^ исполняемый файл (2020-04-26). "mbedtls / compat.sh в разработке · ARMmbed / mbedtls · GitHub" . Github.com . Проверено 5 апреля 2021 .
  16. ^ "Непрерывная интеграция Mbed TLS" . Надежная прошивка . Надежная прошивка . Проверено 5 апреля 2021 .

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

  • Официальный веб-сайт