Компания Google представила BoringSSL, форк OpenSSLКомпания Google опубликовала репозиторий с исходными текстами проекта BoringSSL, в рамках которого ведётся разработка независимого форка OpenSSL. Проект включает наработки, которые уже используется в Google для усиления безопасности OpenSSL. За годы в Google создано большое число патчей к OpenSSL, около 70 из которых не были приняты в основной состав OpenSSL, так как они носили экспериментальный характер или приводили к нарушению API или ABI. Теперь эти патчи легли в основу проекта BoringSSL. Разработку BoringSSL возглавил Адам Лэнгли (Adam Langley, agl), известный эксперт по компьютерной безопасности, отвечающий в Google за обеспечение работы инфраструктуры доступа по HTTPS и сетевой стек Chrome. Развитию BoringSSL как открытого проекта способствовала недавняя череда серьёзных уязвимостей в OpenSSL, GnuTLS и SSL-реализации от компании Apple, которые были вызваны ошибками, находящимися в коде длительное время и остававшимися незамеченными. Всё это вызвало интерес по использованию усиливающих безопасность OpenSSL патчей в Android, Chrome и других продуктах. Поддерживать работу большого числа внешних патчей поверх OpenSSL является достаточно сложной задачей. Поэтому решено сменить модель их поддержания и вместо адаптации патчей к изменяющейся кодовой базе OpenSSL перейти к развитию самодостаточного форка, в который будут импортироваться изменения из OpenSSL. Код BoringSSL скоро будет добавлен в репозиторий Chromium, а в дальнейшем возможно появится в составе платформы Android. Сохранение совместимости с OpenSSL на уровне API и ABI не гарантируется. При этом, BoringSSL не позиционируется как замена OpenSSL. Google продолжит передачу исправлений ошибок и важных изменений в OpenSSL и будет оказывать финансовую поддержку данному проекту. Кроме того, создатели BoringSSL намерены организовать сотрудничество с LibreSSL, форком OpenSSL от проекта OpenBSD. Для организации обмена кодом с LibreSSL компания Google уже перелицензирвала часть своих патчей под лицензией ISC, что позволит наладить взаимный обмен патчами. Из изменений можно отметить: удаление нереализованных функций, сокращение числа поддерживаемых форматов в ClientHello, обеспечения одновременной поддержки старого и нового алгоритмов поиска сертификатов X.509, реализация функции OPENSSL_str[n">casecmp, удаление макросов DANE, ограничение _X509_CHECK_FLAG_DOT_SUBDOMAINS только внутренним применением, изменение метода проверки имени хоста по маске, реализация расширения Intel SHA, поддержка асинхронного поиска сеансов, возможность использования только SHA-256 в клиентских сертификатах, поддержка ChannelID, реализация безопасных одноразовых кодов для (EC)DSA, новая реализация функции tls1_change_cipher_state, поддержка SSL AEAD, использование интерфейса AEAD в EVP и AES-GCM, поддержка шифров ChaCha20-Poly1305, ECDHE-PSK-WITH-AES-128-GCM-SHA256, рефакторинг ssl3_send_client_verify, новые функции для определения принадлежности семействам шифров.
Распечатано с HostDB.ru.
|