OpenSSL 9. septembrī publicēja 4.1 sērijas pirmo alfa laidienu. Galvenais jaunums ir DTLS 1.3 atbalsts, kas datagrammu savienojumiem dod to pašu rokasspiedienu, kāds TLS 1.3 jau ir TCP savienojumos. Pilnu jaunumu sarakstu izstrādātāji ielika 4.1.0-alpha1 laidiena piezīmēs.
Divas dienas iepriekš, 7. septembrī, beidzās OpenSSL 3.0 atbalsta periods. Šī sērija iznāca tieši piecus gadus agrāk, 2021. gada 7. septembrī. Tā bija pirmā OpenSSL versija ar piecu gadu LTS solījumu. Tagad tai vairs nepienākas pat drošības ielāpi.
DTLS 1.3 saīsina galveni un pievieno ACK
DTLS ir TLS variants savienojumiem, kur paketes var pazust vai pienākt citā secībā. To lieto WebRTC, VPN tuneļi un sensoru protokols CoAP. Specifikācija ir RFC 9147, ko IETF publicēja 2022. gada aprīlī un kas atceļ veco RFC 6347 ar DTLS 1.2.
Jaunā versija pārraksta ieraksta galveni. DTLSCiphertext struktūra tagad ir mainīga garuma un no tās izmesti lauki, kas katrā paketē atkārtojas: protokola versija un ieraksta tips. Secības numurs pa vadu iet kā 64 bitu skaitītāja zemākie 48 biti. No RFC 9146 pārņemts Connection ID, kas ļauj atšķirt DTLS ierakstus arī tad, kad klienta IP adrese vai ports pa vidu mainās.
Rokasspiedienam pievienots jauns satura tips ar numuru 26: ACK. DTLS 1.2 rokasspiediena ziņojumu piegāde balstījās uz taimeriem un atkārtotu sūtīšanu, tāpēc pēc pazudušas paketes bija jānogaida taimera noilgums. Agrīnie 0-RTT dati DTLS 1.3 arī ir, taču EndOfEarlyData ziņojums izņemts gan no vada, gan no rokasspiediena transkripta.
Phoronix DTLS 1.3 ieguvumus apkopo tā: lielāka drošība, daudz ātrāki rokasspiedieni, forward secrecy, iebūvēts atbalsts pēckvantu kriptogrāfijai un optimizēts galvenes formāts.
OpenSSL kokā līdz ar kodu ienācis atsevišķs rokasgrāmatas apraksts ossl-guide-dtlsv13(7). DTLS savienojumus tagad pieņem arī SSL listener saskarne, kas līdz šim strādāja tikai ar straumju protokoliem.
GREASE sūta atkritumus, lai bojāti serveri atklātos uzreiz
Otrs redzamais jaunums ir GREASE, kas atšifrējas kā Generate Random Extensions And Sustain Extensibility. Specifikāciju RFC 8701 2020. gada janvārī uzrakstīja Google inženieris Deivids Bendžamins (David Benjamin).
Ideja ir vienkārša. Rokasspiedienā klients iemet nejaušas vērtības kodu vietās, kuras nekad netiks izmantotas. Serveris, kas ir uzrakstīts pareizi, nezināmās vērtības ignorē un savienojums iet tālāk. Serveris, kas ir uzrakstīts slikti, savienojumu pārtrauc. Kļūda atklājas testējot, nevis pēc gadiem, kad protokolam gribēs pievienot īstu jaunu paplašinājumu.
Pēckvantu paraksti dabū AVX-512
Optimizāciju sarakstā dominē pēckvantu algoritmi. x86_64 platformā SHAKE x4 operācijas ML-DSA parakstiem tagad iet caur AVX-512. ML-DSA kods atsevišķi paātrināts arī s390x mašīnām. Uz ppc64le optimizētas gan ML-DSA, gan ML-KEM NTT operācijas. Skaitliskus rādītājus laidiena piezīmes nedod.
ML-DSA un ML-KEM ir divi pēckvantu algoritmi, ko NIST apstiprināja 2024. gada augustā ar standartiem FIPS 204 un FIPS 203. Paraksti un atslēgu kapsulēšana tur ir vairākas reizes dārgāka par eliptiskajām līknēm, tāpēc katra vektorizētā rutīna maina rokasspiediena cenu uz noslogotiem serveriem. NTT ir skaitliskā transformācija, kas abos algoritmos aizņem lielāko daļu procesora laika.
Simetriskajā pusē AES-CBC atšifrēšana uz x86_64 tagad izmanto AVX-512 un VAES instrukcijas. Sarakstā ir arī IKEv2 atslēgu atvasināšanas funkcija, kas noder IPsec ieviešanām.
Kas pazūd un kas parādās
4.1 izmet divus Windows būvēšanas mērķus: VC-WIN64I ar Itanium procesoriem un VC-CE ar Windows CE. Vietā nāk VC-WIN32-MSVC2013 un VC-WIN64A-MSVC2013 ar labāku C99 atbalstu Visual Studio 2013 lietotājiem.
Konfigurēšanas karodziņi no-ecdsa un no-ecdh vairs nestrādā. Kas grib izgriezt eliptiskās līknes, tam tagad jālieto no-ec. Utilītai tsget vajag Perl moduli Net::Curl::Easy no CPAN, jo vecais WWW::Curl::Easy ir pamests.
Negaidītākais ieraksts sarakstā ir sākotnējais atbalsts Elbrus 2000 arhitektūrai, ko OpenSSL kodā apzīmē kā e2k. Šos procesorus projektē Maskavas uzņēmums MCST.
3.0 lietotāji un jaunie termiņi
OpenSSL 3.0 vēl šodien strādā uz miljoniem serveru. Ubuntu 22.04 LTS piegādā 3.0.2, RHEL 9 un tā atvasinājumi arī palika pie 3.0 sērijas. Šiem lietotājiem 7. septembris nav katastrofa, jo Canonical un Red Hat drošības labojumus savām pakotnēm sagatavo pašas. Ubuntu 22.04 standarta atbalsts turpinās līdz 2027. gada aprīlim.
Grūtāk ir tiem, kas OpenSSL būvē paši vai ievelk to konteinera attēlā no pirmkoda. Pēc 7. septembra jaunas CVE 3.0 sērijā vairs neaizvērsies. Vienīgais ceļš ir pāriet uz kādu atbalstītu sēriju. Pārejai no 3.0 uz 3.5 API lauzumu nav, jo abas ir 3.x sērijas ar to pašu bibliotēkas versiju. Pāreja uz 4.x prasa pārbaudīt izmestās funkcijas un konfigurēšanas karodziņus.
4.1 gala versija pēc OpenSSL ceļa kartes iznāks šā gada oktobrī. Tā nebūs LTS: labojumi beigsies 2027. gada novembrī. Pašreizējā 4.0 sērija, kas iznāca 14. aprīlī, atbalstu saņems līdz 2027. gada 14. maijam.
Kas negrib mainīt OpenSSL reizi gadā, tam jāskatās uz LTS sērijām. Pašlaik tā ir 3.5 ar labojumiem līdz 2030. gada aprīlim. Nākamā LTS būs 4.2, kuru gaida 2027. gada aprīlī ar atbalstu līdz 2032. gada aprīlim.
Komentāri
Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.