The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

В Rustls обеспечена совместимость с OpenSSL и nginx

09.05.2024 09:56

Организация ISRG (Internet Security Research Group), которая является учредителем проекта Let's Encrypt и способствует развитию технологий для повышения защищённости интернета, объявила о публикации прослойки rustls-openssl-compat, позволяющей использовать библиотеку Rustls в качестве прозрачной замены OpenSSL. В настоящее время проектом предоставлена реализация rustls-libssl, обеспечивающая совместимость с libssl, а в разработке находится реализация libcrypto.

Присутствующей в прослойке функциональности достаточно чтобы обеспечить работу nginx на базе Rustls. Для перевода nginx на Rustls следует просто заменить библиотеки, без необходимости пересборки или изменения nginx. Из ближайших планов по развитию Rustls отмечается проведение оптимизации производительности в областях, в которых Rustls пока отстаёт от OpenSSL, и обеспечение поддержки RFC 8879 для сжатия сертификатов. Кроме того, в анонсе упомянут план перевода элементов инфраструктуры удостоверяющего центра Let's Encrypt с OpenSSL на Rustls.

Проект Rustls развивает клиентскую и серверную реализацию протоколов TLS1.2 и TLS1.3 для использования в приложениях на языке Rust. Rustls не предоставляет собственную реализацию криптографических примитивов, а использует подключаемые провайдеры криптографических функций (поддерживаются алгоритмы ECDSA, Ed25519, RSA, ChaCha20-Poly1305, AES128-GCM и AES256-GCM). По умолчанию в Rustls используется криптопровайдер на базе библиотеки aws-lc-rs, которая развивается компанией Amazon и базируется на С++ коде BoringSSL, сопровождаемого Google форка OpenSSL. В качестве криптопровайдера также может использоваться библиотека ring, частично основанная на BoringSSL и комбинирующая код на ассемблере, С++ и Rust.

Примечательно, что nginx имеет встроенную поддержку сборки с BoringSSL, что позволяет использовать данную библиотеку напрямую без лишних прослоек. При этом кроме встроенной в Rustls поддержки библиотек aws-lc-rs и ring, основанных на коде BoringSSL, для Rustls также развивается несколько сторонних криптопровайдеров, позволяющих использовать библиотеки mbedtls (код на Си), BoringSSL (C++) и RustCrypto (Rust).

  1. Главная ссылка к новости (https://www.memorysafety.org/b...)
  2. OpenNews: Amazon опубликовал открытую криптографическую библиотеку для языка Rust
  3. OpenNews: Для http-сервера Apache будет подготовлен TLS-модуль, написанный на языке Rust
  4. OpenNews: Компания Cloudflare открыла код реализации протокола QUIC на языке Rust
  5. OpenNews: Релиз Sequoia 1.0, реализации OpenPGP на языке Rust
  6. OpenNews: Выпуск rPGP 0.10, реализации OpenPGP на языке Rust
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/61141-rustls
Ключевые слова: rustls, rust, tls, crypt, nginx, openssl
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (26) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.3, тыквенное латте (?), 10:19, 09/05/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Продакшн реди:
    github.com/rustls/rustls-openssl-compat/blob/main/rustls-libssl/MATRIX.md

    впрочем, ожидаемо.

     
     
  • 2.18, Аноним (18), 12:30, 09/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, вообще, да? Необходимый и достаточный минимум для работы с nginx, своего рода alpha.
    OpenSSL тот еще комбайн.
     

  • 1.5, Аноним (5), 10:23, 09/05/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Первое что пришло в голову после прочтения заголовка - форк OpenSSL с поддержкой ГОСТ. Rus от Russia.
     
     
  • 2.21, Аноним (21), 12:59, 09/05/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а на самом деле Rus от какого слова?
     
     
  • 3.25, eugener (ok), 14:06, 09/05/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    это загадка от разработчиков, но там можно догадаться, в тексте новости есть подсказка.
     
     
  • 4.42, Аноним (42), 00:51, 10/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Наши люди в Голливуде!...;)
     
  • 3.43, Аноним (43), 01:18, 10/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вероятно, это просто подмена в TLS T на Rust, т.е. полное название Rust Layer Security
     

  • 1.15, Аноним (15), 11:36, 09/05/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Кто-то из спецслужб форсит внедрение rust. Непонятно кто именно: то ли NSA, толи CIA. Спецы явно NDA подписали, молчат как рыбы.
     
     
  • 2.17, Аноним (17), 12:16, 09/05/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да там наверняка один и тот же технический комитет. NSA наверно следит за тем, чтобы вовремя все внедряли.
     
  • 2.20, Аноним (20), 12:44, 09/05/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Лично Джо Байден и Белый Дом же, при дружном содействии NSA, FBI и CISA вместе взятых.
    Смотрите 8-ую и 9-ую страницы: https://www.whitehouse.gov/wp-content/uploads/2024/02/Final-ONCD-Technical-Rep
     
  • 2.32, Аноним (32), 16:25, 09/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Хотят забрать у программиста доступ к памяти. Железо будет решать что можно процессу, а что идёт по подписке.
     
  • 2.46, Аноним (46), 10:58, 10/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    был, кстати, когда-то проект майков, целью которого было создание верифицированных библиотек на языке f*, почему-то такой подход не очень распространён. у раста, что-то похожее есть в рамках проекта мири, вроде.
     
     
  • 3.47, Аноним (47), 11:08, 10/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что функциональщина академическое приседание для ценителей , а народу нужно в продакшон, а не монадки прикручивать. Одна из причин, кстати, почему Scala с бэкенда была выкинута и все её легаси переписали на котлин. Теперь с монадками, аппликативными функторами и родами высшего порядка упражняются всякие бигдатовцы, а реализация бизнес-логики на вернулась на круги своя
     

  • 1.19, cheburnator9000 (ok), 12:38, 09/05/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я правильно почитал Rus tls? Товарищ майор уже rust выучил? Неужели заставили??
     
     
  • 2.23, Аноним (23), 13:23, 09/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    rust ls
     
  • 2.24, Аноним (24), 13:31, 09/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, при твоем варианте прочтения, выучил он только TLS. Rust'а в твоем варианте нет.
     

  • 1.26, YetAnotherOnanym (ok), 14:29, 09/05/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Rustls не предоставляет собственную реализацию криптографических примитивов, а использует подключаемые провайдеры криптографических функций
    > используется криптопровайдер на базе библиотеки aws-lc-rs, которая развивается компанией Amazon и базируется на С++ коде BoringSSL, сопровождаемого Google форка OpenSSL

    И какой вообще смысл в этой прокладке?

     
     
  • 2.27, Ivan_83 (ok), 14:35, 09/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Они свой TLS запилили, а крипту для него чужую юзают.
     
  • 2.33, Аноним (33), 16:52, 09/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Если ты про nginx, то лет десять уже как практически никакого. А если про крипту, то тут спешить не надо. Постепенно и не ломая совместимость допишут всё необходимое и дропнут ненужное. Чай не опеннетные дети с бинарным мышлением.
     
  • 2.36, Аноним (36), 17:48, 09/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что слона нужно кушать по кусочкам.

    Сначала сделать обертку, которая будет проходить все тесты и вести себя так же как оригинал.
    А потом можно частями заменять внутрянку.
    Как только очередной кусочек переписан, проверен, покрыт тестами - то вливать его в основную репу.
    Причем в некоторых случаях, можно даже параллелить задачи.

    Ну и в процессе наверняка найдется какой-то код, который можно просто выкинуть.
    Получится такой себе корабль Тесея, но для криптолибы)

     
     
  • 3.39, Tron is Whistling (?), 19:29, 09/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Скорее всего в процессе придётся ещё переписать, простите, срефакторить всю обёртку, а так всё бы ничего.
     

  • 1.31, Аноним (31), 16:02, 09/05/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > оптимизации производительности в областях, в которых Rustls пока отстаёт от OpenSSL

    Как можно отставать по производительности от OpenSSL 3? Там же знатно слили скорость по сравнению с OpenSSL 1.1. Теперь, наверное, даже код на питоне их обгонит.

     
     
  • 2.34, Аноним (33), 16:57, 09/05/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Как ты решил, что сравнивали с третьей версией? Просто потому, что так удобнее хейтить?
     
     
  • 3.35, тыквенное латте (?), 17:21, 09/05/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.37, НяшМяш (ok), 18:01, 09/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    https://www.memorysafety.org/blog/rustls-performance/

    Вот тут, например, хотят обогнать 3.2.0. И некоторые упоминаемые числа уже интересные.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру