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