OpenSSL 3.0.0 Cryptographic Library Release

Post tres annos evolutionis et 19 probationis emissiones, bibliotheca OpenSSL 3.0.0 dimissa est cum protocolla SSL/TLS et varia encryption algorithmorum exsequenda. Novus ramus includit mutationes quae compatibilitatem in gradu API et ABI retro rumpunt, sed mutationes operationi maxime applicationum quae reaedificationem ad migrandum ab OpenSSL 1.1.1 requirunt, non afficiunt. Ramus prior OpenSSL 1.1.1 sustentabitur usque ad Septembrem 2023 .

Nota mutatio in numero versionis est transitus ad numerum traditum "Major.Minor.Patch". Posthac, digitus primus (Major) in numerum versionis mutabit tantum si compatibilitas in gradu API/ABI fractus est, et secundus (Minor) cum functione sua auctus est sine mutatione API/ABI mutabitur. Emendatio updates tradetur mutatione tertiae digiti (Patch). Numerus 3.0.0 statim post 1.1.1 electus est ad evitandum overlaps cum currently sub evolutione FIPS moduli ad OpenSSL, pro quo 2.x numerus usus est.

Secunda mutatio momenti consilii fuit transitus ex licentia duali (OpenSSL et SSLeay) ad licentiam Apache 2.0. Prior licentia proprietatis OpenSSL fundata est in textu legati Apache 1.0 licentia, et expressam postulavit mentionem de OpenSSL in materia venalia cum per bibliothecas OpenSSL, necnon specialem notitiam si OpenSSL producti pars praebebatur. Haec requisita antiqua licentia cum GPL repugnantia facta sunt, difficultatem faciens inceptis GPL-licentiatis OpenSSL utendi. Ut circa hanc repugnantiam incepta GPL certis pactis licentia uti coacti sunt in quibus textus principalis GPL suppletus est cum clausula quae aperte permisit applicationi cum bibliotheca OpenSSL coniungi et commemoravit exigentias GPL non esse. applicare ad conjunctionem cum OpenSSL.

Comparatus ad ramum OpenSSL 1.1.1, OpenSSL 3.0.0 addidit plus quam 7500 mutationes quae ab 350 tincidunt collatae sunt. Praecipua innovationes OpenSSL 3.0.0:

  • Novus modulus FIPS propositus est, inclusa exsecutio algorithmorum cryptographicarum quae cum FIPS 140-2 securitatis normae obsequuntur (processus certificationis moduli ad hunc mensem incipiendum accedet, et FIPS 140-2 certificatio anno proximo expectatur). Novus modulus multo facilius est uti et cum multis applicationibus eam connectere, non difficilius erit quam file configurationem mutans. Defalta, modulus FIPS debilis est et postulat ut optio fips efficiatur.
  • libcrypto instrumentum provisorum pluggabilium notionem, quae notionem machinarum reposuit (ENGINEM API deprecatum est). Cum provisoribus adiuvantibus, ad exsecutionem algorithmatum tuum addere potes pro talibus operationibus sicut encryption, decryption, clavis generationis, MAC calculi, creationis et verificationis signationum digitalium. Utraque coniungi potest novas et varias efficere algorithmos iam sustentatos (per default, provisor in OpenSSL constructus pro utroque algorithmo nunc ponitur).
  • Subsidia addita pro Protocollo Management Protocollo (RFC 4210), quod adhiberi potest ad petitionem libellorum a servo, renovatione testimoniales et libellos revocandos. Operatio cum CMP exercetur utendo utilitate nova openssl-cmp, quae etiam formationem CRMF (RFC 4211) sustinet et petitiones mittens per HTTP/HTTPS (RFC 6712).
  • Cliens plenus discursus HTTP et HTTPS protocolla ad effectum adducta est, subsidia GET et POST modos, petitionem redirectionem, operans per procuratorem, ASN.1 modum translitterandi ac processus timendi.
  • Novum EVP_MAC (Codex Nuntius authenticitatis API) adiectum est ut facilius novas inserendas inserendas inserendas adderet.
  • Novus interfacius programmatis ad claves generandas proponitur - EVP_KDF (Derivatio Clavis Function API), quod simplificat additionem novarum exsecutionum KDF et PRF. Vetus EVP_PKEY API, per quod scryptae, TLS1 PRF et HKDF algorithmi suppetebant, in modum strati supra EVP_KDF et EVP_MAC APIs redactum resignatum est.
  • Exsecutio protocolli TLS facultatem praebet clienti TLS utendi et servo aedificato in Linux nucleo ad operationes accelerandas. Ut exsequendam TLS a Linux nucleo praebeatur, debes optionem "SSL_OP_ENABLE_KTLS" vel "enable-ktls" constituere.
  • Algorithmorum novum subsidium addidit:
    • Clavis generationis algorithmorum (KDF) sunt "gradus singularis" et "SSH".
    • Algorithmorum insertio simulata (MAC) sunt "GMAC" et "KMAC".
    • RSA Key Encapsulation Algorithmi (KEM) "RSASVE".
    • Encryption algorithmus "AES-SIV" (RFC-8452).
    • Adiectae sunt vocat ad EVP API cum subsidiis notis inversis utentes algorithmum AES ad claves encrypt (Key Wrap): "AES-128-WRAP-INV", "AES-192-WRAP-INV", "AES-256-WRAP- INV, "AES-CXXVIII AMICTORIUM PAD-INV", "AES-128 AMICTORIUM-PAD-INV" et "AES-192 AMICTORIUM-PAD-INV".
    • Algorithms ad EVP API mutuantibus subsidium addidit: "AES-128-CBC-CTS", "AES-192-CBC-CTS", "AES-256-CBC-CTS", "CAMELLIA-128-CBC. -CTS", "CAMELLIA-192-CBC-CTS" et "CAMELLIA-256-CBC-CTS".
    • CAdES-BES signaturae digitales additae subsidium (RFC 5126).
    • AES_GCM instrumenti AuthEnvelopedData (RFC 5083) parametri sunt ut encryptionem et decryptionem epistularum authenticas et encryptas utendi mode AES GCM faciant.
  • PKCS7_octet_nervum et PKCS7_typum alia munera publico API additae sunt.
  • PKCS#12 API locum algorithmarum in PKCS12_creatis () functionem cum PBKDF2 et AES substituit, et utitur SHA-256 algorithm ad calculandum MAC. Ad mores praeteritos reficiendos, optio "-legacy" provisa est. Magnum praeterea numerum vocatorum novorum extensorum ad PKCS12_*_ex, PKCS5_*_ex et PKCS8_*_ex, ut PKCS12_add_key_ex().PKCS12_create_ex() et PKCS12_decrypt_skey_ex().
  • Pro suggestu fenestrarum, subsidium sequelae synchronisationi utens machinamentum SRWLock adiectum est.
  • Novam typum API addidit, per quem parametri enable.
  • Circumscriptio clavium in EVP_PKEY_public_check() et EVP_PKEY_param_check() functionum ampliatum est: RSA, DSA, ED25519, X25519, ED448 et X448.
  • Subsystem RAND_DRBG remotum est, ab EVP_RAND API substitutum est. Munera FIPS_modo() et FIPS_mode_set() remota sunt.
  • Nota pars API obsoleta reddita est - obsoleta adhibita vocat in codice project, in admonitionibus in compilatione proveniet. APIs humili gradu comprehendens ligatum ad quasdam algorithmarum exsecutiones (exempli gratia AES_set_encrypt_key et AES_encrypt) publice obsoleta declarata sunt. Officialis subsidium in OpenSSL 3.0.0 nunc solum providetur pro alta gradu EVP APIs quae a singulis algorithm generibus abstracta (hoc API includit, verbi gratia, EVP_EncryptInit_ex, EVP_EncryptUpdate, et functionibus EVP_EncryptFinal). APIs deprecatus in una emissiones maioris proximae removebitur. Exsecutiones algorithmorum legatorum sicut MD2 et DES, per EVP API prompti, ad moduli "legati" separati moti sunt, qui defalta debilitata est.
  • Documenta et syntheses signanter dilatatae sunt. Comparatus cum ramo 1.1.1, volumen documentorum 94% auctum est, et magnitudo codici inquisitionis 54% aucta est.

Source: opennet.ru