Компания Google представила BoringSSL, форк OpenSSL
Развитию 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,
- новые функции для определения принадлежности семействам шифров.
Источник: http://www.opennet.ru/opennews/art.shtml?num=40049
|
0 | Tweet | Нравится |
|