Sgaoileadh Leabharlann Cryptographic OpenSSL 3.0.0

Às deidh trì bliadhna de leasachadh agus fiosan deuchainn 19, chaidh an leabharlann OpenSSL 3.0.0 a leigeil ma sgaoil le buileachadh protocolaidhean SSL / TLS agus diofar algorithms crioptachaidh. Tha am meur ùr a’ toirt a-steach atharrachaidhean a bhriseas co-chòrdalachd air ais aig ìre API agus ABI, ach cha toir na h-atharrachaidhean buaidh air gnìomhachd a’ mhòr-chuid de thagraidhean a dh’ fheumas ath-thogail gus imrich bho OpenSSL 1.1.1. Bidh am meur roimhe de OpenSSL 1.1.1 a’ faighinn taic chun t-Sultain 2023.

Tha atharrachadh mòr ann an àireamh an tionndaidh mar thoradh air a’ ghluasad chun an àireamh traidiseanta “Major.Minor.Patch”. Bho seo a-mach, chan atharraich a’ chiad fhigear (Mòr) ann an àireamh an tionndaidh ach ma thèid co-chòrdalachd a bhriseadh aig ìre API / ABI, agus atharraichidh an dàrna fear (Mion) nuair a thèid gnìomhachd àrdachadh gun a bhith ag atharrachadh an API / ABI. Thèid ùrachaidhean ceart a lìbhrigeadh le atharrachadh air an treas figear (Patch). Chaidh an àireamh 3.0.0 dìreach às deidh 1.1.1 a thaghadh gus tar-tharraing a sheachnadh leis a’ mhodal FIPS a tha ga leasachadh an-dràsta airson OpenSSL, airson an deach an àireamh 2.x a chleachdadh.

B’ e an dàrna atharrachadh cudromach airson a’ phròiseict an gluasad bho chead dùbailte (OpenSSL agus SSLeay) gu cead Apache 2.0. Bha an cead seilbh OpenSSL roimhe seo stèidhichte air teacsa cead dìleab Apache 1.0 agus dh’ fheumadh e iomradh soilleir a thoirt air OpenSSL ann an stuthan margaidheachd nuair a bha iad a’ cleachdadh leabharlannan OpenSSL, a bharrachd air fios sònraichte ma chaidh OpenSSL a thoirt seachad mar phàirt den toradh. Rinn na riatanasan sin an seann chead neo-chòrdail ris an GPL, ga dhèanamh duilich OpenSSL a chleachdadh ann am pròiseactan le cead GPL. Gus faighinn timcheall air an neo-fhreagarrachd seo, b’ fheudar do phròiseactan GPL aontaidhean cead sònraichte a chleachdadh anns an deach prìomh theacsa an GPL a chuir ris le clàs a leigeadh gu sònraichte an tagradh a cheangal ri leabharlann OpenSSL agus a thug iomradh air nach robh riatanasan an GPL tagradh airson ceangal ri OpenSSL.

An coimeas ri meur OpenSSL 1.1.1, chuir OpenSSL 3.0.0 barrachd air atharrachaidhean 7500 a chuir 350 leasaiche ris. Prìomh innleachdan OpenSSL 3.0.0:

  • Chaidh modal FIPS ùr a mholadh, a’ toirt a-steach buileachadh algoirmean criptografach a tha a’ gèilleadh ri inbhe tèarainteachd FIPS 140-2 (tha dùil gun tòisich pròiseas teisteanais a’ mhodal air a’ mhìos seo, agus tha dùil ri teisteanas FIPS 140-2 an ath-bhliadhna). Tha am modal ùr tòrr nas fhasa a chleachdadh agus cha bhith e nas duilghe a cheangal ri mòran thagraidhean na bhith ag atharrachadh am faidhle rèiteachaidh. Gu gnàthach, tha am modal FIPS à comas agus feumaidh an roghainn comas-fips a bhith air a chomasachadh.
  • libcrypto a’ cur an gnìomh bun-bheachd solaraichean pluggable, a chuir an àite bun-bheachd einnseanan (tha an ENGINE API air a dhol sìos). Le cuideachadh bho sholaraichean, faodaidh tu na h-algorithms agad fhèin a chuir an gnìomh airson gnìomhachd leithid crioptachadh, dì-chrioptachadh, prìomh ghinealach, àireamhachadh MAC, cruthachadh agus dearbhadh ainmean didseatach. Tha e comasach an dà chuid feadhainn ùra a cheangal agus gnìomhan eile a chruthachadh de dh’ algoirmean le taic mar-thà (gu gnàthach, tha an solaraiche a chaidh a thogail a-steach do OpenSSL a-nis air a chleachdadh airson gach algairim).
  • Taic a bharrachd don Phròtacal Riaghladh Teisteanas (RFC 4210), a dh’ fhaodar a chleachdadh gus teisteanasan iarraidh bho fhrithealaiche CA, ùrachadh theisteanasan, agus teisteanasan a chùl-ghairm. Bithear ag obair le CMP a’ cleachdadh a’ ghoireas ùr openssl-cmp, a tha cuideachd a’ toirt taic do chruth CRMF (RFC 4211) agus a’ cur iarrtasan tro HTTP/HTTPS (RFC 6712).
  • Chaidh neach-dèiligidh làn-chuimseach airson protocolaidhean HTTP agus HTTPS a chuir an gnìomh, a’ toirt taic do dhòighean GET agus POST, ath-stiùireadh iarraidh, ag obair tro neach-ionaid, còdachadh ASN.1 agus giullachd ùine.
  • Chaidh EVP_MAC ùr (API Còd Dearbhaidh Teachdaireachd) a chuir ris gus a dhèanamh nas fhasa buileachadh ùr de chuir a-steach meallta a chuir ris.
  • Thathas a’ moladh eadar-aghaidh bathar-bog ùr airson iuchraichean gineadh - EVP_KDF (Key Derivation Function API), a tha a’ sìmpleachadh buileachadh ùr de KDF agus PRF. Chaidh an t-seann EVP_PKEY API, tron ​​​​bheil na h-algorithms scrypt, TLS1 PRF agus HKDF rim faighinn, ath-dhealbhadh ann an cruth còmhdach a chaidh a chuir an gnìomh a bharrachd air na APIan EVP_KDF agus EVP_MAC.
  • Tha buileachadh a’ phròtacal TLS a’ toirt comas an neach-dèiligidh agus an fhrithealaiche TLS a chleachdadh a chaidh a thogail a-steach don kernel Linux gus gnìomhachd a luathachadh. Gus an gnìomh TLS a thug an kernel Linux seachad a chomasachadh, feumaidh tu an roghainn “SSL_OP_ENABLE_KTLS” no an suidheachadh “enable-ktls” a chomasachadh.
  • Taic a bharrachd airson algorithms ùra:
    • Is e prìomh algoirmean ginealach (KDF) “SINGLE STEP” agus “SSH”.
    • Is e na h-algorithms cuir a-steach samhlachail (MAC) “GMAC” agus “KMAC”.
    • Prìomh Algorithm Encapsulation RSA (KEM) "RSASVE".
    • Algorithm crioptachaidh "AES-SIV" (RFC-8452).
    • Chaidh fiosan a chuir ris an EVP API a bheir taic do shìobairean cas a’ cleachdadh an algairim AES airson prìomh chrioptachadh (Key Wrap): “AES-128-WRAP-INV”, “AES-192-WRAP-INV”, “AES-256-WRAP-INV " , "AES-128-WRAP-PAD-INV", "AES-192-WRAP-PAD-INV" agus "AES-256-WRAP-PAD-INV".
    • Taic a bharrachd airson algoirmean iasad ciphertext (CTS) don API EVP: “AES-128-CBC-CTS”, “AES-192-CBC-CTS”, “AES-256-CBC-CTS”, “CAMELLIA-128-CBC -CTS", "CAMELLIA-192-CBC-CTS" agus "CAMELLIA-256-CBC-CTS".
    • Taic a bharrachd airson ainmean-sgrìobhte didseatach CAdES-BES (RFC 5126).
    • Bidh AES_GCM a’ cur am paramadair AuthEnvelopedData (RFC 5083) an gnìomh gus crioptachadh agus dì-chrioptachadh teachdaireachdan a chaidh a dhearbhadh agus a chrioptachadh a’ cleachdadh modh AES GCM.
  • Chaidh na gnìomhan PKCS7_get_octet_string agus PKCS7_type_is_other a chur ris an API poblach.
  • Tha an API PKCS #12 a’ dol an àite nan algoirmean bunaiteach a thathar a’ cleachdadh ann an gnìomh PKCS12_create() le PBKDF2 agus AES, agus a’ cleachdadh an algairim SHA-256 gus MAC obrachadh a-mach. Gus giùlan san àm a dh'fhalbh a thoirt air ais, tha an roghainn "-legacy" air a thoirt seachad. Chuir sinn àireamh mhòr de ghairmean leudaichte ùra gu PKCS12_*_ex, PKCS5_*_ex agus PKCS8_*_ex, leithid PKCS12_add_key_ex(). PKCS12_create_ex() agus PKCS12_decrypt_skey_ex().
  • Airson àrd-ùrlar Windows, chaidh taic airson sioncronadh snàithlean a’ cleachdadh inneal SRWLock a chur ris.
  • Chuir sinn API lorg ùr ris, air a chomasachadh tron ​​​​pharamadair comas-lorg.
  • Chaidh an raon iuchraichean a tha a’ faighinn taic anns na gnìomhan EVP_PKEY_public_check() agus EVP_PKEY_param_check() a leudachadh: RSA, DSA, ED25519, X25519, ED448 agus X448.
  • Chaidh am fo-shiostam RAND_DRBG a thoirt air falbh agus chaidh an API EVP_RAND a chuir na àite. Chaidh na gnìomhan FIPS_mode() agus FIPS_mode_set() a thoirt air falbh.
  • Tha pàirt chudromach den API air a dhol à bith - le bhith a’ cleachdadh fiosan seann-fhasanta ann an còd pròiseict thig rabhaidhean nuair a thèid an cur ri chèile. A’ toirt a-steach APIan aig ìre ìosal ceangailte ri cuid de bhuileachadh algorithms (mar eisimpleir, AES_set_encrypt_key agus AES_encrypt) air an ainmeachadh gu h-oifigeil a dhol à bith. Chan eil taic oifigeil ann an OpenSSL 3.0.0 a-nis air a thoirt seachad ach airson APIan EVP àrd-ìre a tha air an toirt a-mach à seòrsachan algorithm fa leth (tha an API seo a’ toirt a-steach, mar eisimpleir, na gnìomhan EVP_EncryptInit_ex, EVP_EncryptUpdate, agus EVP_EncryptFinal). Thèid APIan nach deach a mholadh a thoirt air falbh ann an aon de na h-ath phrìomh fhiosan. Chaidh buileachadh algorithms dìleab leithid MD2 agus DES, a tha rim faighinn tro API EVP, a ghluasad gu modal “dìleab” air leth, a tha ciorramach gu bunaiteach.
  • Chaidh na sgrìobhainnean agus an t-sreath deuchainn a leudachadh gu mòr. An coimeas ri meur 1.1.1, tha meud nan sgrìobhainnean air a dhol suas 94%, agus tha meud còd an t-sreath deuchainn air a dhol suas 54%.

Source: fosgailtenet.ru

Cuir beachd ann