Die Entwickler des OpenBSD-Projekts haben die tragbare Version des Pakets LibreSSL 3.7.0 veröffentlicht. In diesem Rahmen wird ein Fork von OpenSSL entwickelt, der auf ein höheres Sicherheitsniveau abzielt. Das LibreSSL-Projekt konzentriert sich auf die qualitativ hochwertige Unterstützung von SSL/TLS-Protokollen, indem überflüssige Funktionen entfernt, zusätzliche Sicherheitsmaßnahmen implementiert und der Code erheblich bereinigt und überarbeitet wird. Die Veröffentlichung von LibreSSL 3.7.0 wird als experimentell betrachtet, in dem Funktionen weiterentwickelt werden, die in OpenBSD 7.3 integriert werden sollen.
Merkmale von LibreSSL 3.7.0:
- Unterstützung für digitale Signaturen mit dem öffentlichen Schlüssel Ed25519, entwickelt von Daniel Bernstein, basiert auf der elliptischen Kurve Curve25519 und dem Hash SHA-512, hinzugefügt. Die Unterstützung für Ed25519 ist sowohl in Form eines separaten primitives als auch über die EVP-Schnittstelle verfügbar.
- Die EVP-Schnittstelle unterstützt nun digitale Signaturen X25519, die sich von Ed25519-Signaturen unterscheiden, da sie bei der Manipulation von Punkten auf der elliptischen Kurve nur die „X“-Koordinaten verwenden. Dies ermöglicht eine deutliche Reduzierung des Codes, der für die Erstellung und Verifizierung von Signaturen erforderlich ist.
- Ein mit OpenSSL 1.1 kompatibles Low-Level-API zur Verwaltung von ö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 systemeigenen Funktionen timegm() und gmtime() zur Datumsumwandlung werden POSIX-Funktionen aus BoringSSL verwendet.
- In der BN (BigNum)-Bibliothek wurde veralteter und nicht verwendeter 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 für den Export von Schlüsseln für TLSv1.2 wurde neu geschrieben.
- Alte TLS-Stacks wurden bereinigt und überarbeitet.
- Das Verhalten der Funktionen BIO_read() und BIO_write() wurde an OpenSSL 3 angenähert.
Quelle: opennet.ru
