Po troch rokoch vývoja a 19 skúšobných verziách nedávno bolo oznámené vydanie novej verzie OpenSSL 3.0.0 ktoré má viac ako 7500 zmien prispelo 350 vývojárov a to tiež predstavuje významnú zmenu v čísle verzie a je to spôsobené prechodom na tradičné číslovanie.
Odteraz sa prvá číslica (hlavná) v čísle verzie zmení iba vtedy, ak dôjde k narušeniu kompatibility na úrovni API / ABI, a druhá (menšia) pri zvýšení funkčnosti bez zmeny API / ABI. Opravné aktualizácie sa budú dodávať so zmenou tretej číslice (opravy). Číslo 3.0.0 bolo zvolené bezprostredne po 1.1.1, aby sa predišlo kolíziám s vyvíjaným modulom FIPS pre OpenSSL, ktorý mal číslo 2.x.
Druhou zásadnou zmenou projektu bolo prechod z dvojitej licencie (OpenSSL a SSLeay) na licenciu Apache 2.0. Pôvodná predtým používaná natívna licencia OpenSSL bola založená na staršej licencii Apache 1.0 a pri použití knižníc OpenSSL vyžadovala výslovnú zmienku o OpenSSL v propagačných materiáloch a osobitnú poznámku, ak bol s výrobkom dodaný OpenSSL.
Vďaka týmto požiadavkám bola predchádzajúca licencia nekompatibilná s GPL, čo sťažovalo používanie OpenSSL v projektoch s licenciou GPL. Aby sa zabránilo tejto nekompatibilite, boli projekty GPL nútené presadiť konkrétne licenčné zmluvy, v ktorých bol hlavný text GPL doplnený klauzulou, ktorá výslovne umožňuje aplikácii prepojiť sa s knižnicou OpenSSL a uvádza, že GPL sa nevzťahuje na viazanie na OpenSSL .
Čo je nové v OpenSSL 3.0.0
Pokiaľ ide o novinky, ktoré sú uvedené v OpenSSL 3.0.0, môžeme to nájsť bol navrhnutý nový modul FIPS, že zahŕňa implementáciu kryptografických algoritmov ktoré spĺňajú bezpečnostný štandard FIPS 140-2 (proces certifikácie modulov sa plánuje začať tento mesiac a certifikácia FIPS 140-2 sa očakáva budúci rok). Nový modul sa používa oveľa jednoduchšie a pripojenie k mnohým aplikáciám nebude o nič ťažšie ako zmena konfiguračného súboru. Štandardne je FIPS vypnutý a vyžaduje, aby bola povolená možnosť enable-fips.
V libcrypto bol implementovaný koncept pripojených poskytovateľov služieb ktorý nahradil koncept motorov (API ENGINE bolo zastarané). S pomocou dodávateľov môžete pridať svoje vlastné implementácie algoritmov pre operácie, ako je šifrovanie, dešifrovanie, generovanie kľúčov, výpočet MAC, vytváranie a overovanie digitálnych podpisov.
Tiež sa zdôrazňuje, že pridaná podpora pre CMPŽe Môže byť použitý na vyžiadanie certifikátov zo servera CA, obnovenie certifikátov a zrušenie certifikátov. Prácu s CMP vykonáva nový nástroj openssl-cmp, ktorý implementuje aj podporu formátu CRMF a prenos požiadaviek cez HTTP / HTTPS.
Tiež Bolo navrhnuté nové programovacie rozhranie na generovanie kľúčov: EVP_KDF (Key Derivation Function API), ktoré zjednodušuje začlenenie nových implementácií KDF a PRF. Staré API EVP_PKEY, prostredníctvom ktorého boli k dispozícii algoritmy scrypt, TLS1 PRF a HKDF, boli prepracované ako medzivrstva implementovaná nad API EVP_KDF a EVP_MAC.
A pri implementácii protokolu TLS ponúka možnosť používať klienta a server TLS zabudovaný v jadre Linuxu na urýchlenie operácií. Ak chcete povoliť implementáciu TLS poskytovanú jadrom Linuxu, musí byť povolená možnosť „SSL_OP_ENABLE_KTLS“ alebo nastavenie „enable-ktls“.
Na druhej strane sa uvádza, že významná časť rozhrania API bola presunutá do zastaranej kategórie- Použitie zastaraných hovorov v kóde projektu vygeneruje počas kompilácie varovanie. The Nízkoúrovňové API prepojené s určitými algoritmami boli oficiálne vyhlásené za zastarané.
Oficiálna podpora v OpenSSL 3.0.0 je teraz poskytovaná iba pre API rozhrania EVP na vysokej úrovni, čerpané z určitých typov algoritmov (toto API obsahuje napríklad funkcie EVP_EncryptInit_ex, EVP_EncryptUpdate a EVP_EncryptFinal). Zastarané rozhrania API budú odstránené v jednom z nasledujúcich veľkých vydaní. Implementácie starších algoritmov, ako sú MD2 a DES, dostupné prostredníctvom rozhrania EVP API, boli presunuté do samostatného „staršieho“ modulu, ktorý je v predvolenom nastavení zakázaný.
Konečne ak máte záujem dozvedieť sa viac, môžete skontrolovať podrobnosti Na nasledujúcom odkaze.