Útgáfa OpenSSL 3.0.0 dulritunarsafnsins

Eftir þriggja ára þróun og 19 prófunarútgáfur var OpenSSL 3.0.0 bókasafnið gefið út með innleiðingu á SSL/TLS samskiptareglum og ýmsum dulkóðunaralgrímum. Nýja útibúið inniheldur breytingar sem brjóta afturábak eindrægni á API og ABI stigi, en breytingarnar munu ekki hafa áhrif á rekstur flestra forrita sem þarfnast endurbyggingar til að flytja úr OpenSSL 1.1.1. Fyrri grein OpenSSL 1.1.1 verður studd til september 2023.

Veruleg breyting á útgáfunúmeri er vegna umbreytingar yfir í hefðbundna „Major.Minor.Patch“ númerun. Héðan í frá mun fyrsti stafurinn (Major) í útgáfunúmerinu aðeins breytast ef samhæfni er rofin á API/ABI stigi, og sá seinni (Minor) mun breytast þegar virkni er aukin án þess að breyta API/ABI. Leiðréttingaruppfærslur verða sendar með breytingu á þriðja tölustaf (Patch). Talan 3.0.0 strax á eftir 1.1.1 var valin til að forðast skörun við FIPS-eininguna sem nú er í þróun fyrir OpenSSL, sem 2.x númerið var notað fyrir.

Önnur mikilvæg breyting fyrir verkefnið var umskiptin úr tvöföldu leyfi (OpenSSL og SSLeay) í Apache 2.0 leyfið. Fyrra einkaleyfið fyrir OpenSSL var byggt á texta hins eldri Apache 1.0 leyfis og krafðist þess að OpenSSL væri sérstaklega getið í markaðsefni þegar OpenSSL bókasöfn voru notuð, auk sérstakrar tilkynningar ef OpenSSL var veitt sem hluti af vörunni. Þessar kröfur gerðu gamla leyfið ósamrýmanlegt GPL, sem gerði það erfitt að nota OpenSSL í GPL-leyfisverkefnum. Til að komast hjá þessum ósamrýmanleika neyddust GPL verkefni til að nota sérstaka leyfissamninga þar sem megintexti GPL var bætt við ákvæði sem leyfði beinlínis að forritið væri tengt við OpenSSL bókasafnið og nefndi að kröfur GPL gerðu það ekki eiga við um tengingu við OpenSSL.

Í samanburði við OpenSSL 1.1.1 útibúið bætti OpenSSL 3.0.0 við meira en 7500 breytingum sem 350 þróunaraðilar lögðu til. Helstu nýjungar í OpenSSL 3.0.0:

  • Ný FIPS-eining hefur verið lögð til, þar á meðal innleiðing á dulmálsreikniritum sem uppfylla FIPS 140-2 öryggisstaðalinn (áætlað er að vottunarferlið fyrir eininguna hefjist í þessum mánuði og FIPS 140-2 vottun er væntanleg á næsta ári). Nýja einingin er miklu auðveldari í notkun og að tengja hana við mörg forrit verður ekki erfiðara en að breyta stillingarskránni. Sjálfgefið er að FIPS einingin er óvirk og krefst þess að enable-fips valmöguleikinn sé virkur.
  • libcrypto útfærir hugmyndina um innstunganlega veitendur, sem kom í stað hugmyndarinnar um vélar (ENGINE API hefur verið úrelt). Með hjálp veitenda geturðu bætt við þínum eigin útfærslum á reikniritum fyrir slíkar aðgerðir eins og dulkóðun, afkóðun, lyklagerð, MAC útreikning, gerð og sannprófun á stafrænum undirskriftum. Það er bæði hægt að tengja nýjar og búa til aðrar útfærslur á þegar studdum reikniritum (sjálfgefið er að veitan sem er innbyggð í OpenSSL er nú notuð fyrir hvert reiknirit).
  • Bætti við stuðningi við skírteinisstjórnunarsamskiptaregluna (RFC 4210), sem hægt er að nota til að biðja um vottorð frá CA netþjóni, uppfæra vottorð og afturkalla vottorð. Vinna með CMP fer fram með því að nota nýja openssl-cmp tólið, sem styður einnig CRMF sniðið (RFC 4211) og sendir beiðnir um HTTP/HTTPS (RFC 6712).
  • Fullgildur viðskiptavinur fyrir HTTP og HTTPS samskiptareglur hefur verið innleiddur, sem styður GET og POST aðferðir, beiðni um endurvísun, vinnu í gegnum proxy, ASN.1 kóðun og vinnslu á tímamörkum.
  • Nýju EVP_MAC (Message Authentication Code API) hefur verið bætt við til að gera það auðveldara að bæta við nýjum útfærslum á sýndarinnskotum.
  • Lagt er til nýtt hugbúnaðarviðmót til að búa til lykla - EVP_KDF (Key Derivation Function API), sem einfaldar viðbætur á nýjum útfærslum á KDF og PRF. Gamla EVP_PKEY API, sem dulrit, TLS1 PRF og HKDF reiknirit voru fáanleg í gegnum, hefur verið endurhannað í formi lags sem er útfært ofan á EVP_KDF og EVP_MAC API.
  • Innleiðing TLS samskiptareglunnar veitir möguleika á að nota TLS biðlarann ​​og netþjóninn sem er innbyggður í Linux kjarnann til að flýta fyrir aðgerðum. Til að virkja TLS útfærsluna sem Linux kjarnann býður upp á, verður þú að virkja „SSL_OP_ENABLE_KTLS“ valkostinn eða „enable-ktls“ stillinguna.
  • Bætt við stuðningi við ný reiknirit:
    • Key Generation algorithms (KDF) eru „SINGLE STEP“ og „SSH“.
    • Herma innsetningaralgrím (MAC) eru „GMAC“ og „KMAC“.
    • RSA Key Encapsulation Algorithm (KEM) "RSASVE".
    • Dulkóðunaralgrím "AES-SIV" (RFC-8452).
    • Bætti símtölum við EVP API með stuðningi við andhverfa dulmál með AES reikniritinu til að dulkóða lykla (Key Wrap): „AES-128-WRAP-INV“, „AES-192-WRAP-INV“, „AES-256-WRAP- INV“, „AES-128-WRAP-PAD-INV“, „AES-192-WRAP-PAD-INV“ og „AES-256-WRAP-PAD-INV“.
    • Bætti við stuðningi við reiknirit fyrir dulmálslán (CTS) við EVP API: "AES-128-CBC-CTS", "AES-192-CBC-CTS", "AES-256-CBC-CTS", "CAMELLIA-128-CBC -CTS“ ", "CAMELLIA-192-CBC-CTS" og "CAMELLIA-256-CBC-CTS".
    • Bætt við stuðningi við CAdES-BES stafrænar undirskriftir (RFC 5126).
    • AES_GCM útfærir AuthEnvelopedData (RFC 5083) færibreytuna til að virkja dulkóðun og afkóðun skilaboða sem eru auðkennd og dulkóðuð með AES GCM ham.
  • PKCS7_get_octet_string og PKCS7_type_is_other aðgerðunum hefur verið bætt við opinbera API.
  • PKCS#12 API kemur í stað sjálfgefna reikniritanna sem notuð eru í PKCS12_create() fallinu fyrir PBKDF2 og AES og notar SHA-256 reikniritið til að reikna út MAC. Til að endurheimta fyrri hegðun er „-arfleifð“ valmöguleikinn veittur. Bætti miklum fjölda nýrra framlengdra símtala við PKCS12_*_ex, PKCS5_*_ex og PKCS8_*_ex, eins og PKCS12_add_key_ex().PKCS12_create_ex() og PKCS12_decrypt_skey_ex().
  • Fyrir Windows pallinn hefur stuðningi við þráðsamstillingu með því að nota SRWLock vélbúnaðinn verið bætt við.
  • Bætti við nýju rakningarforritaskilum, virkt með enable-trace færibreytunni.
  • Lyklasviðið sem er stutt í aðgerðunum EVP_PKEY_public_check() og EVP_PKEY_param_check() hefur verið stækkað: RSA, DSA, ED25519, X25519, ED448 og X448.
  • RAND_DRBG undirkerfið hefur verið fjarlægt, skipt út fyrir EVP_RAND API. FIPS_mode() og FIPS_mode_set() aðgerðir hafa verið fjarlægðar.
  • Verulegur hluti af API hefur verið úreltur - að nota úrelt símtöl í verkefnakóða mun leiða til viðvarana meðan á samantekt stendur. Þar með talið lágstigs API tengd ákveðnum útfærslum reiknirita (til dæmis AES_set_encrypt_key og AES_encrypt) hefur opinberlega verið lýst úrelt. Opinber stuðningur í OpenSSL 3.0.0 er nú aðeins veittur fyrir EVP API á háu stigi sem eru tekin úr einstökum reiknirittegundum (þetta API inniheldur til dæmis aðgerðirnar EVP_EncryptInit_ex, EVP_EncryptUpdate og EVP_EncryptFinal). Úrelt forritaskil verða fjarlægð í einni af næstu helstu útgáfum. Útfærslur á eldri reikniritum eins og MD2 og DES, fáanlegar í gegnum EVP API, hafa verið færðar í sérstaka „arfleifðar“ einingu, sem er sjálfgefið óvirk.
  • Skjöl og prófunarsvíta hefur verið stækkað verulega. Í samanburði við útibú 1.1.1 hefur skjalamagn aukist um 94% og stærð prófunarsvítukóða hefur aukist um 54%.

Heimild: opennet.ru

Bæta við athugasemd