Компания Amazon представила собственную открытую реализацию TLS

30 июня 2015 года

Компания Amazon анонсировала проект s2n, в рамках которого подготовлена компактная и быстрая библиотека с реализацией протоколов SSLv3, TLS1.0, TLS1.1 и TLS1.2. Из методов шифрования поддерживаются 128-и 256-разрядный AES в режимах CBC и GCM, а также 3DES и RC4. Среди других возможностей: DHE, ECDHE, TLS-расширения SNI (Server Name Indicator), ALPN (Application-Layer Protocol Negotiation) и OCS (Online Certificate Status Protocol). Код s2n написан на языке Си и распространяется под лицензией Apache. Библиотека имеет модульную структуру и, помимо встроенных алгоритмов шифрования, может использовать для выполнения операций шифрования внешние криптографические фреймворки, такие как OpenSSL, LibreSSL, BoringSSL и Apple Common Crypto.

Предоставляемый библиотекой API во многом напоминает типовой программный интерфейс ввода/вывода, реализуемый в стандартах POSIX. Поддерживаются блокируемые и неблокируемые операции, а также передача в полнодуплексном режиме, без необходимости установки блокировок и мьютексов. Пользователю предлагается достаточно взвешенный набор настроек по умолчанию, подразумевающий отключение SSLv3, RC4 и DHE. В целом, разработчики библиотеки придерживаются принципа минимализма и реализуют только самые необходимые и востребованные на практике возможности, без нагромождения кода редко используемыми расширениями и возможностями, которые потеряли актуальность из-за уязвимостей (например, согласование сеансов или DTLS).

Код библиотеки составляет всего около 6 тысяч строк, что значительно упрощает проведение аудита и выявление ошибок (для сравнения OpenSSL занимает около 500 тысяч строк, из которых 70 тысяч связано с TLS). Для повышения защищённости в s2n также предпринят ряд дополнительных мер, таких как регулярное проведение статического анализа кода и fuzzing-тестирования, обширный набор unit-тестов, применение методов безопасного программирования на Си с использованием обвязок, проверяющих соблюдение границ буферов для всех функций работы с памятью, сериализацией и строками. Для предотвращения утечки данных в s2n применяется техника оперативной очистки буфера с зашифрованными данными после его чтения приложением. Также используются специализированные вызовы операционной системы для запрета сброса областей памяти в раздел подкачки и core-дампы.

Интересный подход предпринят в s2n для генерации случайных чисел. Так как генератор псевдослучайных чисел является ключевым звеном в системах шифрования, для каждой нити библиотекой предоставляется два генератора случайных чисел - один для публичной отдачи данных, а второй только для внутреннего использования. Значение внутреннего генератора явно не фигурируют во внешних запросах и используются только внутри библиотеки, что позволяет превентивно обезопасить себя от совершения атак, направленных на предсказание значений генератора случайных чисел на основе уже известных сгенерированных последовательностей.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Компания Amazon представила собственную открытую реализацию TLS», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.