Famoahana ny tranomboky kriptografika OpenSSL 3.0.0

Taorian'ny fampivoarana telo taona sy famoahana fitsapana 19, dia navoaka ny tranomboky OpenSSL 3.0.0 miaraka amin'ny fampiharana ny protocols SSL/TLS sy ny algorithm encryption isan-karazany. Ny sampana vaovao dia ahitana fiovana izay manapaka ny fifanarahana mihemotra amin'ny ambaratonga API sy ABI, saingy tsy hisy fiantraikany amin'ny fiasan'ny ankamaroan'ny rindranasa izay mitaky fanamboarana indray ny fanovana mba hifindra avy amin'ny OpenSSL 1.1.1. Ny sampana OpenSSL 1.1.1 teo aloha dia tohanana hatramin'ny Septambra 2023.

Ny fiovana lehibe amin'ny laharan'ny dikan-teny dia vokatry ny fifindrana mankany amin'ny laharan'ny β€œMajor.Minor.Patch” mahazatra. Manomboka izao, ny isa voalohany (Major) ao amin'ny laharan'ny dikan-teny dia hiova raha toa ka tapaka ny fifanarahana amin'ny ambaratonga API/ABI, ary ny faharoa (Minor) dia hiova rehefa mitombo ny fampiasa nefa tsy manova ny API/ABI. Ny fanavaozana fanitsiana dia hatolotra miaraka amin'ny fanovana ny isa fahatelo (Patch). Ny isa 3.0.0 avy hatrany aorian'ny 1.1.1 dia nofidina mba hisorohana ny fifandimbiasana amin'ny modely FIPS amin'izao fotoana izao eo am-pamolavolana ho an'ny OpenSSL, izay nampiasana ny laharana 2.x.

Ny fiovana lehibe faharoa ho an'ny tetikasa dia ny fifindrana avy amin'ny lisansa roa (OpenSSL sy SSLeay) mankany amin'ny lisansa Apache 2.0. Ny fahazoan-dΓ lana OpenSSL teo aloha dia nifototra tamin'ny lahatsoratry ny lisansa Apache 1.0 lova ary mitaky fitenenana mazava momba ny OpenSSL amin'ny fitaovana ara-barotra rehefa mampiasa tranomboky OpenSSL, ary koa ny filazana manokana raha nomena ho ampahany amin'ny vokatra ny OpenSSL. Ireo fepetra ireo dia nahatonga ny fahazoan-dΓ lana taloha tsy hifanaraka amin'ny GPL, ka nanasarotra ny fampiasana ny OpenSSL amin'ny tetikasa nahazoan-dΓ lana GPL. Mba hialana amin'io tsy mifanaraka io, ny tetikasa GPL dia voatery nampiasa fifanarahana fahazoan-dΓ lana manokana izay nampiana ny lahatsoratry ny GPL tamin'ny fehezanteny iray izay namela mazava ny fampiharana hifandray amin'ny tranomboky OpenSSL ary nilaza fa ny fepetra takian'ny GPL dia tsy. mihatra amin'ny fifandraisana amin'ny OpenSSL.

Raha ampitahaina amin'ny sampana OpenSSL 1.1.1, OpenSSL 3.0.0 dia nanampy fanovana mihoatra ny 7500 natolotry ny mpamorona 350. Ny fanavaozana lehibe amin'ny OpenSSL 3.0.0:

  • Misy modely FIPS vaovao natolotra, anisan'izany ny fampiharana ny algorithm kriptografika izay mifanaraka amin'ny fenitry ny fiarovana FIPS 140-2 (manomboka amin'ity volana ity ny fizotry ny fanamarinana ny maody, ary ny fanamarinana FIPS 140-2 dia andrasana amin'ny taona manaraka). Mora kokoa ny mampiasa ny maody vaovao ary ny fampifandraisana azy amin'ny rindranasa maro dia tsy ho sarotra kokoa noho ny fanovana ny rakitra fikirakirana. Amin'ny alΓ lan'ny default, ny mody FIPS dia kilemaina ary mitaky ny safidy enable-fips ho alefa.
  • libcrypto dia mampihatra ny foto-kevitry ny mpanome pluggable, izay nisolo ny foto-kevitry ny motera (ny API ENGINE dia tsy ampiasaina). Miaraka amin'ny fanampian'ny mpamatsy, azonao atao ny manampy ny fampiharana algorithm anao manokana ho an'ny asa toy ny encryption, decryption, famoronana fanalahidy, kajy MAC, famoronana ary fanamarinana ny sonia nomerika. Azo atao ny mampifandray ireo vaovao ary mamorona fampiharana hafa amin'ny algorithm efa tohanana (amin'ny alΓ lan'ny default, ny mpamatsy namboarina ao amin'ny OpenSSL dia ampiasaina ho an'ny algorithm tsirairay).
  • Fanampiana fanampiny ho an'ny Certificat Management Protocol (RFC 4210), izay azo ampiasaina hangataka mari-pankasitrahana amin'ny mpizara CA, manavao ny mari-pankasitrahana ary manafoana ny mari-pankasitrahana. Ny fiaraha-miasa amin'ny CMP dia atao amin'ny alΓ lan'ny fitaovana openssl-cmp vaovao, izay manohana ny endrika CRMF (RFC 4211) ary mandefa fangatahana amin'ny HTTP/HTTPS (RFC 6712).
  • Mpanjifa iray feno ho an'ny protocols HTTP sy HTTPS no nampiharina, manohana ny fomba GET sy POST, fangatahana redirection, miasa amin'ny alΓ lan'ny proxy, ASN.1 encoding ary fanodinana fotoana.
  • Nampiana EVP_MAC (Message Authentication Code API) vaovao mba hanamora ny fampidirana fampidirana fanesoana vaovao.
  • Atolotra rindrambaiko vaovao ho an'ny famoronana fanalahidy - EVP_KDF (Key Derivation Function API), izay manamora ny fampidirana ireo fampiharana vaovao KDF sy PRF. Ny API EVP_PKEY taloha, izay nahitana ny algorithm scrypt, TLS1 PRF ary HKDF, dia novolavolaina tamin'ny endrika sosona napetraka teo ambonin'ny EVP_KDF sy EVP_MAC API.
  • Ny fampiharana ny protocol TLS dia manome fahafahana mampiasa ny mpanjifa TLS sy ny mpizara natsangana ao amin'ny kernel Linux mba hanafainganana ny asa. Mba hahafahan'ny fampiharana TLS omen'ny kernel Linux dia tsy maintsy avelanao ny safidy "SSL_OP_ENABLE_KTLS" na ny "enable-ktls".
  • Fanohanana fanampiny ho an'ny algorithm vaovao:
    • Ny algorithm amin'ny famoronana fototra (KDF) dia "DIANGA tokana" sy "SSH".
    • Ny algorithm insertion simulated (MAC) dia "GMAC" sy "KMAC".
    • RSA Key Encapsulation Algorithm (KEM) "RSASVE".
    • Algorithm encryption "AES-SIV" (RFC-8452).
    • Antso fanampiny ho an'ny EVP API izay manohana ciphers inverse mampiasa ny algorithm AES hanidy fanalahidy (Key Wrap): "AES-128-WRAP-INV", "AES-192-WRAP-INV", "AES-256-WRAP-INV ” , "AES-128-WRAP-PAD-INV", "AES-192-WRAP-PAD-INV" ary "AES-256-WRAP-PAD-INV".
    • Fanohanana fanampiny ho an'ny algorithm fampindramam-bola ciphertext (CTS) amin'ny EVP API: "AES-128-CBC-CTS", "AES-192-CBC-CTS", "AES-256-CBC-CTS", "CAMELLIA-128-CBC". -CTS" ", "CAMELLIA-192-CBC-CTS" ary "CAMELLIA-256-CBC-CTS".
    • Fanampiana fanampiny ho an'ny sonia nomerika CAdES-BES (RFC 5126).
    • AES_GCM dia mampihatra ny mari-pamantarana AuthEnvelopedData (RFC 5083) mba ahafahana manao encryption sy decryption ny hafatra voamarina sy voafefy amin'ny fampiasana ny maody AES GCM.
  • Ny PKCS7_get_octet_string sy PKCS7_type_is_other function dia nampiana tao amin'ny API public.
  • Ny PKCS#12 API dia manolo ny algorithm mahazatra ampiasaina amin'ny fiasa PKCS12_create() miaraka amin'ny PBKDF2 sy AES, ary mampiasa ny algorithm SHA-256 hanisa MAC. Mba hamerenana ny fitondran-tena taloha dia omena ny safidy "-legacy". Nampiana antso avo be dia be ny PKCS12_*_ex, PKCS5_*_ex ary PKCS8_*_ex, toy ny PKCS12_add_key_ex().PKCS12_create_ex() sy PKCS12_decrypt_skey_ex().
  • Ho an'ny sehatra Windows dia nampiana ny fanohanana ny fampifanarahana ny kofehy amin'ny alΓ lan'ny mekanika SRWLock.
  • Nampiana API fanaraha-maso vaovao, alefa amin'ny alΓ lan'ny paramΓ¨tre enable-trace.
  • Nitarina ny fanalahidin'ny fanalahidin'ny EVP_PKEY_public_check() sy EVP_PKEY_param_check(): RSA, DSA, ED25519, X25519, ED448 ary X448.
  • Nesorina ny subsystem RAND_DRBG, nosoloina ny EVP_RAND API. Nesorina ny fiasa FIPS_mode() sy FIPS_mode_set().
  • Ny ampahany manan-danja amin'ny API no lasa lany andro - ny fampiasana antso efa lany andro amin'ny kaody tetikasa dia hiteraka fampitandremana mandritra ny fanangonana. Nambara tamin'ny fomba ofisialy fa lany andro ny fampidirana ireo API ambaratonga ambany mifamatotra amin'ny fampiharana algorithm sasany (ohatra, AES_set_encrypt_key sy AES_encrypt). Ny fanohanana ofisialy ao amin'ny OpenSSL 3.0.0 dia omena afa-tsy ho an'ny API EVP avo lenta izay nalaina avy amin'ny karazana algorithm manokana (ity API ity dia ahitana, ohatra, ny fiasa EVP_EncryptInit_ex, EVP_EncryptUpdate, ary EVP_EncryptFinal). Ny API efa tsy ampiasaina dia hesorina amin'ny iray amin'ireo famoahana lehibe manaraka. Ny fampiharana ny algorithm lova toy ny MD2 sy DES, azo alaina amin'ny alΓ lan'ny EVP API, dia nafindra tany amin'ny maodely "lova" mitokana, izay kilemaina amin'ny alΓ lan'ny default.
  • Nitarina be ny antontan-taratasy sy ny andrana. Raha oharina amin'ny sampana 1.1.1 dia nitombo 94% ny habetsahan'ny antontan-taratasy, ary nitombo 54% ny haben'ny code suite test.

Source: opennet.ru

Add a comment