OpenSSL 3.0.0 kom met 'n magdom groot veranderings en verbeterings

Na drie jaar se ontwikkeling en 19 proefweergawes die vrystelling van die nuwe weergawe van OpenSSL 3.0.0 is onlangs aangekondig watter het meer as 7500 veranderinge 350 ontwikkelaars bygedra het, en dit verteenwoordig ook 'n beduidende verandering in die weergawenommer en dit is te wyte aan die oorgang na tradisionele nommering.

Voortaan verander die eerste syfer (groot) in die weergawenommer slegs wanneer verenigbaarheid op die API / ABI -vlak geskend word, en die tweede (klein) wanneer die funksionaliteit verhoog word sonder om die API / ABI te verander. Regstellende opdaterings word met 'n derde syfer (pleister) verander. Die getal 3.0.0 is onmiddellik na 1.1.1 gekies om botsings te voorkom met die FIPS -module wat ontwikkel word vir OpenSSL, wat genommer is 2.x.

Die tweede groot verandering vir die projek was die oorgang van 'n dubbele lisensie (OpenSSL en SSLeay) na 'n Apache 2.0 -lisensie. Die oorspronklike OpenSSL -lisensie wat voorheen gebruik is, was gebaseer op die ou Apache 1.0 -lisensie en vereis eksplisiete vermelding van OpenSSL in promosiemateriaal by die gebruik van die OpenSSL -biblioteke, en 'n spesiale nota as OpenSSL saam met die produk gestuur is.

Hierdie vereistes het die vorige lisensie onversoenbaar met die GPL gemaak, wat dit moeilik gemaak het om OpenSSL in GPL -gelisensieerde projekte te gebruik. Om hierdie onverenigbaarheid te omseil, was GPL -projekte genoodsaak om spesifieke lisensieooreenkomste toe te pas, waarin die hoofteks van die GPL aangevul is met 'n klousule wat die aansoek uitdruklik toegelaat het om na die OpenSSL -biblioteek te skakel en te noem dat die GPL nie van toepassing is op binding met OpenSSL.

Wat is nuut in OpenSSL 3.0.0

Vir die deel van die nuwighede wat in OpenSSL 3.0.0 aangebied word, kan ons dit vind 'n nuwe FIPS -module is voorgestel, dat omvat die implementering van kriptografiese algoritmes wat voldoen aan die FIPS 140-2-sekuriteitstandaard (die module-sertifiseringsproses word beplan om hierdie maand te begin, en FIPS 140-2-sertifisering word volgende jaar verwag). Die nuwe module is baie makliker om te gebruik, en dit is nie moeiliker om aan baie toepassings te koppel as om die konfigurasielêer te verander nie. Standaard is FIPS gedeaktiveer en moet die enable-fips-opsie geaktiveer wees.

In libcrypto is die konsep van gekoppelde diensverskaffers geïmplementeer wat die konsep van enjins vervang het (die ENGINE API is afgelas). Met die hulp van verskaffers kan u u eie algoritme -implementasies byvoeg vir bewerkings soos kodering, dekripsie, sleutelopwekking, MAC -berekening, skep en verifiëring van digitale handtekeninge.

Dit word ook beklemtoon dat ondersteuning vir CMP bygevoegWat Dit kan gebruik word om sertifikate van die CA -bediener aan te vra, sertifikate te hernu en sertifikate te herroep. Die nuwe hulpprogramma openssl-cmp werk saam met CMP, wat ook ondersteuning bied vir die CRMF-formaat en die oordrag van versoeke oor HTTP / HTTPS.

Daarbenewens 'N Nuwe programmeerkoppelvlak vir sleutelgenerering is voorgestel: EVP_KDF (Key Derivation Function API), wat die inlywing van nuwe KDF- en PRF -implementering vergemaklik. Die ou EVP_PKEY API, waardeur die skript -algoritmes, TLS1 PRF en HKDF beskikbaar was, is herontwerp as 'n tussenlaag wat bo -op die EVP_KDF en EVP_MAC API's geïmplementeer is.

En in die implementering van die protokol TLS bied die moontlikheid om die TLS -kliënt en bediener wat in die Linux -kern ingebou is, te gebruik om bedrywighede te bespoedig. Om die TLS-implementering wat deur die Linux-kern verskaf word, moontlik te maak, moet die opsie "SSL_OP_ENABLE_KTLS" of die instelling "enable-ktls" geaktiveer word.

Aan die ander kant word genoem dat 'n beduidende deel van die API is na die afgedankte kategorie verskuif- Die gebruik van verouderde oproepe in die projekkode gee 'n waarskuwing tydens die opstel. Die Lae vlak API gekoppel aan sekere algoritmes amptelik as verouderd verklaar is.

Amptelike ondersteuning in OpenSSL 3.0.0 word nou slegs verskaf vir hoëvlak EVP API's, afkomstig van sekere tipes algoritmes (hierdie API bevat byvoorbeeld die EVP_EncryptInit_ex, EVP_EncryptUpdate en EVP_EncryptFinal funksies). Verouderde API's sal verwyder word in een van die volgende groot uitgawes. Verouderde algoritme -implementerings, soos MD2 en DES, beskikbaar via die EVP API, is verplaas na 'n aparte 'nalatenskap' module, wat standaard uitgeskakel is.

Ten slotte as u belangstel om meer daarvan te wete te kom, u kan die besonderhede nagaan In die volgende skakel.


Die inhoud van die artikel voldoen aan ons beginsels van redaksionele etiek. Klik op om 'n fout te rapporteer hier.

Wees die eerste om te kommentaar lewer

Laat u kommentaar

Jou e-posadres sal nie gepubliseer word nie. Verpligte velde gemerk met *

*

*

  1. Verantwoordelik vir die data: Miguel Ángel Gatón
  2. Doel van die data: Beheer SPAM, bestuur van kommentaar.
  3. Wettiging: U toestemming
  4. Kommunikasie van die data: Die data sal nie aan derde partye oorgedra word nie, behalwe deur wettige verpligtinge.
  5. Datastoor: databasis aangebied deur Occentus Networks (EU)
  6. Regte: U kan u inligting te alle tye beperk, herstel en verwyder.