Джоузеф Бир Пикстън, разработчик на библиотеката TLS Rustls, извърши поредица от тестове за нейното развитие y забеляза, че представянето на последното надминава OpenSSL на различни нива. Rustls е библиотека с отворен код, TLS, написана на Rust и се предлага под лицензите Apache 2.0, MIT и ISC, но OpenSSL е добре позната библиотека и индустриален стандарт в почти всяка основна категория.
Според неговата документация, Rustls е модерна TLS библиотека, която има за цел да осигури добро ниво на криптографска сигурност. Той не изисква никаква конфигурация за постигане на тази сигурност и не предоставя никаква несигурна функционалност или остаряла криптография.
Той има много функции, като удостоверяване на клиент на ECDSA или RSA сървър и удостоверяване на ECDSA или RSA сървър, като същевременно поддържа проверка на сертификат на сървър.
Това означава, че не е необходимо да предоставяте нищо друго освен набор от root сертификати. Проверката на сертификата не може да бъде деактивирана в основния API.
От друга страна, OpenSSL е надежден, пълнофункционален набор от инструменти за търговски клас за протоколите Transport Layer Security (TLS) и Secure Sockets Layer (SSL). Това е и универсална крипто библиотека.
Относно тестовете Rustls
В поредицата си от тестове за ефективност, Джоузеф Бир Пикстън казва, че е обмислил няколко точки, за да оцени как се представя тя може да варира между библиотеките на TLS, т.е. производителност на обмен и обща производителност.
Изпълнението на ръкостискането обхваща скоростта, с която могат да бъдат конфигурирани нови сесии TLS. По отношение на общата производителност те покриват скоростта, с която данните на приложението могат да бъдат прехвърлени към вече конфигурирана сесия.
Резултатите от различните тестове показаха, че Rustls е с 10% по-бърз при настройване и създаване на нова връзка със сървъра и 20-40% по-бързо при настройване на клиентска връзка.
Но ако скоростите за нови TLS връзки са високи, по-голямата част от TLS трафика разчита на възобновяването на вече установени връзки.
И тук, Rustls превъзхождаха библиотеката на OpenSSL, приемайки сървърна връзка с 10-20% и 30-70% по-бързо, за да възобнови клиентска връзка.
Освен това Rustls се представи по-добре по отношение на цялостната производителност или скоростта на трансфер на данни през TLS връзката.
Birr Pixton каза, че Rustls може да изпраща данни с 15% по-бързо от OpenSSL и получавате 5% по-бързо. И накрая, казва той, библиотеката Rustls използва само половината памет, необходима за стартиране на OpenSSL, което е огромен плюс. Той припомни, че от тази страна OpenSSL е критикуван много често заради големия отпечатък на паметта и големия брой проблеми със сигурността, открити в неговия код.
За да обобщим резултатите, можем грубо да кажем:
- Rustls е 15% по-бързо за изпращане на данни
- Rustls е 5% по-бързо за получаване на данни
- Rustls е с 20 до 40% по-бърз за настройване на клиентска връзка
- Rustls е с 10% по-бърз за настройка на сървърна връзка
- Rustls е 30 до 70% по-бързо, за да се възобнови клиентска връзка
- Rustls е 10-20% по-бързо, за да възобнови връзката със сървъра
- Rustls използва по-малко от половината памет на OpenSSL
Birr Pixton обясни, че тъй като Rustls е кодиран в Rust, проблемите с недостатъците на сигурността са решени до голяма степен с езиковия дизайн Rust. Езикът е проектиран от нулата, за да се избегнат грешки в сигурността, свързани с паметта.
Начинът, по който програмите, написани на програмния език Rust, взаимодействат с паметта, е една от най-известните лингвистични интерпретации. Ако големите компании признаят полезността на езика, създаден от Mozilla Research, техният растеж може да избухне през следващите години.
Смята се, че в момента браузъри като Firefox и Brave използват компоненти Rust, но големи компании като Cloudflare, Dropbox и Yelp също са приели производствени системи.
Fuente: https://jbp.io
Страхотни номера за Rustls. Чудя се защо не го сравниха с LibreSSL.
Остава да се види дали производителността на Rust е достатъчно превъзходна, за да измести C ++ и още повече C / Asm, доколкото знам, сложността на превключването на езици е по-добра от синтактичната захар, добавена от Rust.