Gli sviluppatori del progetto OpenBSD hanno presentato il rilascio della versione portabile del pacchetto LibreSSL 3.7.0, in cui si sviluppa un fork di OpenSSL mirato a garantire un livello di sicurezza superiore. Il progetto LibreSSL è orientato a offrire un supporto di alta qualità per i protocolli SSL/TLS, rimuovendo funzionalità superflue, aggiungendo ulteriori misure di protezione e conducendo una significativa pulizia e ristrutturazione del codice. Il rilascio di LibreSSL 3.7.0 è considerato sperimentale, in cui vengono sviluppate funzionalità che entreranno a far parte di OpenBSD 7.3.
Caratteristiche di LibreSSL 3.7.0:
- Aggiunto il supporto per la firma digitale con la chiave pubblica Ed25519, sviluppata da Daniel Bernstein e basata sull'uso della curva ellittica Curve25519 e sull'hash SHA-512. Il supporto per Ed25519 è disponibile sia come un primitivo separato che tramite l'interfaccia EVP.
- Nell'interfaccia EVP è stato aggiunto il supporto per le firme digitali X25519, che si differenziano dalle firme Ed25519 per l'uso esclusivo delle coordinate "X" nelle manipolazioni con i punti sulla curva ellittica, consentendo di ridurre significativamente le dimensioni del codice necessario per la creazione e la verifica delle firme.
- Implementata un'API di basso livello compatibile con OpenSSL 1.1 per la gestione delle chiavi pubbliche e private, che supporta le chiavi EVP_PKEY_ED25519, EVP_PKEY_HMAC e EVP_PKEY_X25519.
- Invece delle funzioni di sistema timegm() e gmtime() per la conversione delle date, sono state impiegate le funzioni POSIX di BoringSSL.
- Nella libreria BN (BigNum) è stata effettuata una pulizia del vecchio codice non utilizzato che gestisce i numeri primi.
- Rimosso il supporto per HMAC PRIVATE KEY.
- Ristrutturato il codice interno per la creazione e verifica delle firme DSA.
- Riscritto il codice per l'esportazione delle chiavi per TLSv1.2.
- Pulizia e ristrutturazione del vecchio stack TLS.
- Il comportamento delle funzioni BIO_read() e BIO_write() è stato avvicinato a quello di OpenSSL 3.
Fonte: opennet.ru
