OpenSSL 4.0 нахлува на сцената с радикални промени в TLS сигурността и постквантовата криптография.

  • OpenSSL 4.0 въвежда Encrypted Client Hello, за да подобри поверителността на TLS трафика.
  • SSLv3, SSLv2 клиент Здравейте, системата на двигателя и множество остарели API се премахват.
  • Нови възможности за постквантова криптография и ключова RFC имплементация
  • Промените в API, X.509 проверката и процеса на компилация изискват адаптиране на кода.

Отворете SSL 4.0

Пристигането de OpenSSL 4.0 бележи голям пробив Това основно обновяване на версията не е просто символично: то носи несъвместими промени, нови функции, фокусирани върху поверителността и бъдещата сигурност, и оттегляне на технологии, които са остарели от години. Това е референтна библиотека за SSL/TLS и криптография, широко използвана в уеб сървъри, корпоративни приложения и мрежови устройства.

За системни администратори, мениджъри по киберсигурност и разработчици, тази версия представлява повратна точка, когато става въпрос за обновяване на инфраструктуратаТой въвежда подобрения като Encrypted Client Hello и разширена поддръжка за постквантова криптография, но също така премахва поддръжката за наследени протоколи, системата на двигателя и няколко API, което налага преглед на кода и процесите на компилация, преди да се направи преходът.

Основни нови функции на OpenSSL 4.0

OpenSSL 4.0 е представен като основна актуализация, с ясен фокус върху засилване на поверителността, модернизиране на кодовата база и почистване на наследения багажЕкипът на проекта се възползва от основната промяна на версията, за да въведе несъвместими модификации, да премахне поддръжката за странични платформи и да коригира поведението по подразбиране на няколко вътрешни компонента.

Сред най-видимите промени са включването на Encrypted Client Hello (ECH), разширяването на каталога с алгоритми за пост-квантови среди, отхвърлянето и премахването на исторически функции при обработката на X.509 сертификати и времена, както и прегледът на опциите за компилация, скриптовете и целите за изграждане в различни операционни системи.

Подобрена поверителност с криптирано клиентско здравей (ECH)

Един от най-обсъжданите напредъци е интеграцията на Криптирано клиентско здравей, съвместимо с RFC 9849ECH позволява съобщението „Client Hello“ на TLS да бъде криптирано, така че пасивен наблюдател в мрежата да не може да получи достъп до индикацията за име на сървъра (SNI), т.е. името на сървъра, към който клиентът се свързва.

Тази промяна е особено важна там, където защита на поверителността и метаданни за връзка Това има нарастващо значение в регулаторната рамка и политиките на много организации. Въвеждането на ECH помага за намаляване на способността на трети страни да профилират TLS трафика, като идентифицират специфични домейни, до които потребителите и фирмите осъществяват достъп.

С OpenSSL 4.0, разработчиците, внедряващи ECH, ще могат да скриване на чувствителна информация от първоначалното ръкостисканеТова прави пасивната проверка по-трудна и повишава нивото на поверителност на връзките, както в обществените услуги, така и в корпоративни среди, където спазването на регулаторните изисквания и защитата на данните са приоритет.

Сбогом на SSLv3, SSLv2 Client Hello и системата на двигателя

Новата версия окончателно скъсва с част от миналото на протокола, тъй като премахва поддръжката за SSLv3SSLv3, стандарт, който години наред се смяташе за несигурен и беше деактивиран по подразбиране в OpenSSL от версия 1.1.0 насам, вече ще бъде постепенно премахнат. Следователно, всяко приложение, което все още зависи от SSLv3, ще трябва да мигрира към съвременен TLS, за да може да работи с версия 4.0.

Също така изчезва Поддръжка на SSLv2 клиент HelloТази функция, която беше запазена за историческа съвместимост, но беше напълно извън рамките на най-добрите практики за сигурност, сега се премахва. Премахването ѝ помага за намаляване на повърхността за атака и опростяване на кода, като по този начин OpenSSL се привежда в съответствие с настоящите изисквания за надеждно криптиране в инфраструктурата.

Друга структурна промяна е пълното премахване на API на двигателя, използван за интегриране на външен криптографски хардуер и софтуерЗапочвайки с OpenSSL 4.0, опцията за компилация без енджин става единствената налична и макросът OPENSSL_NO_ENGINE е винаги наличен. Това налага преглед на реализациите, които използват персонализирани енджини за задачи като криптографско ускорение или използване на HSM модули.

Едновременно с това се правят и съкращения. Персонализирани методи, наследени от EVP_CIPHER, EVP_MD, EVP_PKEY и EVP_PKEY_ASN1, заедно с остарелите методи за SSL/TLS версии и функциите за управление на състоянието на грешки (като ERR_get_state() и неговите варианти за премахване на състояние), консолидирайки по-чист API, който е по-съвместим с текущите нужди.

Тласък на постквантовата криптография и новите алгоритми

С поглед към бъдещето, OpenSSL 4.0 развива стратегията си към подготовка за заплахи, произтичащи от квантовите изчисленияВерсията въвежда нови хибридни криптографски и дайджест възможности, насочени към укрепване на ключовия обмен срещу потенциални атаки в постквантов сценарий.

Сред новите функции е крива на хибридната група за обмен на ключове SM2MLKEM768, който комбинира класически елементи с постквантови схеми, както и алгоритъма за пръстови отпечатъци ML-DSA-MU и функцията cSHAKE съгласно NIST SP 800-185. Тези елементи разширяват възможностите за проектиране на протоколи, които са по-устойчиви на бъдещи криптоаналитични постижения.

Освен това, проектът добавя Поддръжка за обмен на ключове FFDHE, договорена чрез TLS 1.2Това следва насоките, установени в RFC 7919. Това позволява на реализации, които все още работят с TLS 1.2, да се възползват от подобрените параметри на Дифи-Хелман с крайни групи, повишавайки нивото на сигурност в сценарии, където незабавното надграждане до TLS 1.3 не е осъществимо.

Промени в API и поведение, които засягат интеграторите

За тези, които поддържат приложения, които се свързват с OpenSSL, версия 4.0 въвежда Директни модификации на API, които могат да нарушат работата на съществуващи компилацииЕдна от ключовите трансформации е, че типът ASN1_STRING става непрозрачен, което ограничава директния достъп до вътрешната му структура и налага използването на функции от високо ниво.

Много функции, особено тези, свързани с Обработката на сертификати X.509 вече включва константни квалификатори в техните сигнатури, коригирайки семантиката на неизменността и налагайки корекции в кода, които правят по-малко строги предположения. Това може да генерира предупреждения или грешки при компилация в проекти, които не актуализират съответните дефиниции.

В областта на управлението на времето има Декларирани остарели функции като X509_cmp_time(), X509_cmp_current_time() и X509_cmp_timeframe()Препоръчителната употреба вече е X509_check_certificate_times(), което включва адаптиране на процедурите за валидиране на сертификати, които преди това разчитаха на старите функции.

Друг важен момент е, че libcrypto спира да извършва глобално почистване на присвоените данни чрез atexit(). Вместо това, OPENSSL_cleanup() се изпълнява като глобален деструктор или не се стартира по подразбиране, в зависимост от конфигурацията. Това може да повлияе на приложения, които разчитат на автоматично почистване при прекратяване на процеса, налагайки по-изрично управление на жизнения цикъл на ресурсите.

Освен това, BIO_f_reliable(), функция, която Беше счупен още от версия 3.0 и сега изчезва без директна замяна.Проектите, които все още го използват, ще трябва да преработят свързаната логика или да приемат други примитиви от библиотеката, за да покрият подобни нужди.

По-голяма строгост при проверката на сертификати и извличането на ключове

OpenSSL 4.0 подсилва Строга проверка на X.509 сертификати, когато X509_V_FLAG_X509_STRICT е активиранКогато този флаг е активиран, се извършват допълнителни проверки на разширението AKID (Authority Key Identifier), което затяга критериите за валидиране и привежда библиотеката в съответствие с по-взискателните практики за сигурност.

В процеса на проверка на списъците за анулиране (CRL), новата версия добавя Допълнителни контроли, за да се гарантира, че валидирането на отменените сертификати е по-щателноТези промени засягат среди, където управлението на PKI е особено чувствително, като например публичните администрации, банковото дело или големите корпорации, които зависят от стабилни вериги за доверие.

Те също са въведени Задължителни по-ниски ограничения за използването на PKCS5_PBKDF2_HMAC при използване на доставчика FIPSТази корекция има за цел да избегне прекалено слаби конфигурации при извличането на ключове от пароли, което на практика налага използването на минимално силни параметри в среди, където се изисква съответствие с FIPS, което е много често срещано в критични сектори.

Настройки за компилация, поддържани платформи и инструменти

По отношение на компилацията и поддръжката на платформата, OpenSSL 4.0 прави стъпки към... по-модерна и опростена конфигурацияПроектът деактивира по подразбиране поддръжката за остарели елиптични криви в TLS, както е посочено в RFC 8422, както и използването на явни елиптични криви. Опциите за конфигуриране обаче остават за тези, които трябва да ги активират отново поради причини, свързани със съвместимостта.

Що се отнася до целите на строителството, то беше Те премахват вариантите darwin-i386 и darwin-ppcТова официално изключва много стари системи на Apple, базирани на архитектури i386 и PowerPC/PPC64. На практика това не би трябвало да повлияе на повечето текущи внедрявания, където тези платформи са остарели от известно време, но формализира премахването им от основната поддръжка.

Що се отнася до инструментите, историческият скрипт се премахва и генерирането на хеш индекси за сертификати в директории вече е препоръчителният метод. Освен това, за FIPS инсталации, опцията `-defer_tests` е въведена в помощната програма `openssl fipsinstall`, което позволява отлагането на определени автоматични тестове, което може да улесни внедряването в среди с ограничения във времето за зареждане.

В Windows системите актуализацията добавя възможност за избор между статично или динамично свързване на средата за изпълнение на Visual C++Тази гъвкавост е полезна за разработчици и DevOps екипи, които пакетират приложения за различни сценарии на разпространение, тъй като те могат да коригират типа на средата за изпълнение въз основа на изискванията за съвместимост или размера на двоичните файлове.

Въздействие върху организациите и разработчиците

В контекст, където голяма част от интернет инфраструктурата и критичните услуги разчитат на OpenSSL, версия 4.0 представлява стратегическа промяна, която изисква планиранеПубличните организации, доставчиците на облачни услуги, финансовите институции и технологичните компании трябва внимателно да оценят ефектите от промените в API и оттеглянето на протоколи, особено върху наследени системи или лошо поддържани приложения.

Включването на ECH и укрепването на постквантовата криптография може да се разглежда като възможности за повишаване на нивото на защита по подразбиранеНо в същото време те изискват щателно тестване в предпроизводствени среди. В много случаи ще е необходимо да се координират екипите за разработка, сигурност и операции, за да се гарантира, че преходът няма да прекъсне услугите или да доведе до регресии.

За проекти с отворен код, които разчитат в голяма степен на OpenSSL, адаптацията ще включва Коригиране на сигнатурите на функциите, преглед на използването на вече непрозрачни типове и да заменят пенсионирани компоненти, като например X.509 механизми или функции за синхронизация. Предимството е, че след актуализиране тези проекти ще се възползват от криптографска основа, по-съобразена с настоящите стандарти и с по-малко технически дълг.

Като цяло, OpenSSL 4.0 се позиционира като версия на почистване, модернизация и подготовка за средносрочен и дългосрочен планТова изисква инвестиране на усилия в миграцията, но в замяна предлага ясни подобрения в поверителността, сигурността и вътрешната съгласуваност на библиотеката, ключови аспекти за продължаване на подкрепата на цифровата инфраструктура върху солидни криптографски основи.

Отворете SSL 3.5
Свързана статия:
OpenSSL 3.5: Нови постквантови алгоритми и подобрения на TLS и QUIC