Die Entwickler des OpenBSD-Projekts haben die tragbare Version des LibreSSL-Pakets 3.7.0 vorgestellt, in deren Rahmen ein Fork von OpenSSL entwickelt wird, der darauf abzielt, ein höheres Sicherheitsniveau zu gewährleisten. Das LibreSSL-Projekt konzentriert sich auf die qualitativ hochwertige Unterstützung von SSL/TLS-Protokollen, indem überflüssige Funktionalitäten entfernt, zusätzliche Schutzmaßnahmen hinzugefügt und eine umfassende Bereinigung sowie Überarbeitung des Code-Basis durchgeführt wird. Die Veröffentlichung von LibreSSL 3.7.0 wird als experimentell betrachtet und erschließt Möglichkeiten, die in OpenBSD 7.3 aufgenommen werden.
Besonderheiten von LibreSSL 3.7.0:
- Die Unterstützung für digitale Signaturen mit dem öffentlichen Schlüssel Ed25519 wurde hinzugefügt, die von Daniel Bernstein entwickelt wurde und auf der Verwendung der elliptischen Kurve Curve25519 und dem Hash SHA-512 basiert. Die Unterstützung von Ed25519 ist sowohl in Form eines eigenständigen Primitivs als auch über die EVP-Schnittstelle verfügbar.
- In der EVP-Schnittstelle wurde die Unterstützung für digitale Signaturen X25519 hinzugefügt, die sich durch die Verwendung nur der "X"-Koordinaten bei Manipulationen mit Punkten auf der elliptischen Kurve von Ed25519-Signaturen unterscheiden, was die Codegröße zur Erstellung und Verifizierung von Signaturen erheblich reduziert.
- Ein mit OpenSSL 1.1 kompatibles Low-Level-API zum Umgang mit öffentlichen und privaten Schlüsseln wurde implementiert, das die Schlüssel EVP_PKEY_ED25519, EVP_PKEY_HMAC und EVP_PKEY_X25519 unterstützt.
- Statt der Systemfunktionen timegm() und gmtime() wurden POSIX-Funktionen aus BoringSSL zur Datumsumwandlung verwendet.
- In der BN (BigNum)-Bibliothek wurde alter und ungenutzter Code, der mit Primzahlen arbeitet, bereinigt.
- Die Unterstützung für HMAC PRIVATE KEY wurde entfernt.
- Der interne Code zur Erstellung und Überprüfung von DSA-Signaturen wurde überarbeitet.
- Der Code zum Exportieren von Schlüsseln für TLSv1.2 wurde neu geschrieben.
- Es wurde eine Bereinigung und Überarbeitung des alten TLS-Stapels durchgeführt.
- Das Verhalten der Funktionen BIO_read() und BIO_write() wurde an OpenSSL 3 angenähert.
Quelle: opennet.ru
