OpenSSL 3.0.0 поставляється з безліччю основних змін і удосконалень

Після трьох років розробки та 19 пробних версій нещодавно було оголошено про вихід нової версії OpenSSL 3.0.0 який має більше 7500 змін внесено 350 розробниками, і це також суттєво змінює номер версії, що пов'язано з переходом до традиційної нумерації.

Відтепер перша цифра (Major) у номері версії змінюватиметься лише при порушенні сумісності на рівні API / ABI, а друга (Minor) при збільшенні функціональних можливостей без зміни API / ABI. Коригувальні оновлення надсилатимуться зі зміною третьої цифри (виправлення). Номер 3.0.0 був обраний одразу після 1.1.1, щоб уникнути зіткнень з модулем FIPS, що розробляється для OpenSSL, який був пронумерований 2.x.

Другою важливою зміною проекту стала перехід від подвійної ліцензії (OpenSSL та SSLeay) на ліцензію Apache 2.0. Власна ліцензія OpenSSL, яка використовувалася раніше, базувалася на застарілій ліцензії Apache 1.0 і вимагала чіткої згадки про OpenSSL у рекламних матеріалах під час використання бібліотек OpenSSL, а також спеціальну примітку, якщо OpenSSL надходив із продуктом.

Ці вимоги зробили попередню ліцензію несумісною з GPL, що ускладнило використання OpenSSL у проектах з ліцензією GPL. Щоб уникнути цієї несумісності, проекти GPL були змушені застосовувати конкретні ліцензійні угоди, в яких основний текст GPL був доповнений пунктом, який прямо дозволяв додатку посилатися на бібліотеку OpenSSL і згадував, що GPL не поширюється на зв'язування з OpenSSL .

Що нового в OpenSSL 3.0.0

Для частини новинок, представлених у OpenSSL 3.0.0, ми можемо це виявити запропоновано новий модуль FIPS, що включає реалізацію криптографічних алгоритмів які відповідають стандарту безпеки FIPS 140-2 (процес сертифікації модуля планується розпочати цього місяця, а сертифікація FIPS 140-2 очікується наступного року). Новий модуль набагато простіший у використанні, а підключення до багатьох програм буде не складнішим, ніж зміна файлу конфігурації. За замовчуванням FIPS вимкнено і для його ввімкнення потрібна опція enable-fips.

У libcrypto була реалізована концепція постачальників підключених послуг який замінив концепцію двигунів (API ENGINE був застарілий). За допомогою постачальників ви можете додати власні реалізації алгоритму для таких операцій, як шифрування, дешифрування, генерація ключів, обчислення MAC, створення та перевірка цифрових підписів.

Також підкреслюється, що додана підтримка CMPЩо Його можна використовувати для запиту сертифікатів із сервера ЦС, оновлення сертифікатів та скасування сертифікатів. Робота з CMP здійснюється новою утилітою openssl-cmp, яка також реалізує підтримку формату CRMF та передачу запитів по HTTP / HTTPS.

Також Запропоновано новий інтерфейс програмування для генерації ключів: EVP_KDF (Key Derivation Function API), що спрощує впровадження нових реалізацій KDF та PRF. Старий API EVP_PKEY, за допомогою якого були доступні алгоритми scrypt, TLS1 PRF та HKDF, був перероблений як проміжний рівень, реалізований поверх API EVP_KDF та EVP_MAC.

І в реалізації протоколу TLS пропонує можливість використання клієнта та сервера TLS, вбудованих у ядро ​​Linux для прискорення операцій. Щоб увімкнути реалізацію TLS, надану ядром Linux, потрібно ввімкнути параметр "SSL_OP_ENABLE_KTLS" або параметр "enable-ktls".

З іншого боку, це згадується значна частина API перенесена у категорію застарілої- Використання застарілих викликів у коді проекту генерує попередження під час компіляції. Файл API низького рівня пов'язані з певними алгоритмами були офіційно визнані застарілими.

Офіційна підтримка в OpenSSL 3.0.0 тепер надається лише для високорівневих API EVP, взятих з певних типів алгоритмів (цей API включає, наприклад, функції EVP_EncryptInit_ex, EVP_EncryptUpdate та EVP_EncryptFinal). Застарілі API будуть видалені в одному з наступних великих випусків. Реалізації застарілих алгоритмів, такі як MD2 та DES, доступні через API EVP, були переміщені до окремого модуля "застарілих", який за замовчуванням вимкнено.

В кінці кінців якщо вам цікаво дізнатись більше про це, Ви можете перевірити деталі У наступному посиланні.


Зміст статті відповідає нашим принципам редакційна етика. Щоб повідомити про помилку, натисніть тут.

Будьте першим, щоб коментувати

Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.