The OpenNET Project / Index page

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

Релиз библиотеки GnuTLS 3.6.0

23.08.2017 13:43

Представлен значительный выпуск GnuTLS 3.6.0, свободной библиотеки с реализацией протоколов SSL, TLS и DTLS, алгоритмов шифрования (включая AES и Camellia) и функций для работы с различными типами сертификатов и ключей. Ветка 3.6.x подготовлена после шестнадцати месяцев разработки в Git-репозитории и помечена как stable-next, что сигнализирует о достижении качества стабильной ветки, но пока неготовности заменить текущую стабильную ветку 3.5.x, поддержка которой будет продолжена.

Основные новшества:

  • Генератор псевдослучайных чисел избавлен от глобальной блокировки, мешающей эффективному применению в многопоточных приложениях (производительность теперь масштабируется от числа CPU).
  • Генератор псевдослучайных чисел переведён на использование потокового шифра CHACHA, который по сравнению с ранее применявшимся алгоритмом Salsa20 позволяет сократить размер загружаемого в память кода и унифицировать применение основных методов шифрования (CHACHA также используется в TLS и других примитивах GnuTLS). Изменение не касается альтернативного генератора псевдослучайных чисел AES-DRBG, который применяется в режиме FIPS140-2;
  • Добавлена поддержка ключей RSA-PSS, а также создания и верификации цифровых подписей RSA-PSS для сертификатов и согласования соединения в TLS 1.2;
  • В сертификатах (PKCS#8, PKCS#7, PKIX) и TLS-ключах появилась возможность использования цифровой подписи с открытым ключом Ed25519, разработанной Дэниэлом Бернштейном и отличающейся очень высокой скоростью верификации и создания подписей при более высоким уровнем безопасности, чем ECDSA и DSA. Ed25519 не подвержен проблемам с коллизиями в хэшах, не чувствителен к атакам через определение скорости работы кэша (cache-timing attacks) и атакам по сторонним каналам (side-channel attacks);
  • В TLS по умолчанию активирован обмен ключами на основе алгоритма X25519 (RFC 7748);
  • Добавлена поддержка протокола согласования групп (GROUP-ALL, GROUP-FFDHE2048, GROUP-FFDHE3072, GROUP-FFDHE4096, GROUP-FFDHE8192) на основе эллиптических кривых ECDH (Elliptic Curve Diffie-Hellmann), позволяющего повысить минимизировать ошибки из-за применения не безопсных значений параметров DH (параметры теперь не обязательно жестко определять на сервере);
  • Реализованы дополнительные проверки корректности оформления сертификатов при их импорте. Например, теперь не принимаются сертификаты с дробными значениями секунд в полях со временем, сертификаты X.509v1 с уникальным набором идентификаторов, не соответствующих RFC5280, и сертификаты с некорректным номером версии;
  • Добавлена функция gnutls_x509_crt_set_flags() для выставления произвольных флагов в структуре crt. В текущем выпуске поддерживается только флаг GNUTLS_X509_CRT_FLAG_IGNORE_SANITY для отключения проверок корректности сертификата при импорте;
  • Запрещена обработка сертификатов PKIX с неизвестными критическими расширениями, при попытке использования подобных сертификатов будет выводиться ошибка GNUTLS_CERT_UNKNOWN_CRIT_EXTENSIONS. Для отключения данного поведения следует указать флаг GNUTLS_VERIFY_IGNORE_UNKNOWN_CRIT_EXTENSIONS при вызове функций верификации;
  • Запрещена генерация сертификатов с некорректным номером версии или серийным номером, заданными через вызовы gnutls_x509_crt_set_version() и gnutls_x509_crt_set_serial();
  • Обеспечена блокировка выполнения функций gnutls_record_send() и gnutls_record_recv() на стадиях до завершения согласования соединения;
  • Добавлена поддержка файлов PKCS#12 хэшем пароля без соли, а также файлов PKCS#12 с хэшами SHA384 и SHA512 в качестве MAC;
  • Из списка предлагаемых по умолчанию шифров исключен 3DES-CBC, для его применения следует явно указать "NORMAL:+3DES-CBC";
  • Хэш SHA1 помечен как небезопасный для цифровых подписей, процесс верификации сертификатов с SHA1 теперь завершается неудачей, если GnuTLS не собран с опцией "--enable-sha1-support" или в настройках явно не разрешено использование небезопасных алгоритмов;
  • Алгоритм RIPEMD160 помечен небезопасный для цифровых подписей;
  • По умолчанию на стадии согласования соединения TLS отключена поддержка эллиптических кривых SECP192R1 и SECP224R1, вместо которых рекомендуется использовать x25519 и которые объявлены устаревшими в спецификации TLS 1.3;
  • Удалена поддержка DEFLATE и других методов сжатия;
  • Удалена поддержка аутентификации OpenPGP, а вместо связанных с openpgp функций поставлены заглушки;
  • Удалена поддержка библиотеки libidn (IDNA2003). Допускается сборка gnutls только с libidn2 (IDNA2008);
  • Расширены возможности утилиты certtool: добавлена поддержка указания URL PKCS#11 в качестве аргумента опции '--load-ca-certificate', опция '--load-crl' теперь может применяться для генерации файлов PKCS#12, добавлена возможность генерации и обработки ключей и сертификатов на базе RSA-PSS и Ed25519. Объявлено устаревшим использование параметров "--rsa", "--dsa" и "--ecdsa" совмесно с опцией "--generate-privkey" (следует использовать "--key-type");
  • В утилите p11tool опции "--generate-rsa", "--generate-ecc" и "--generate-dsa" заменены на универсальную опцию "--generate-privkey";
  • В psktool по умолчанию обеспечена генерация 256-разрядных ключей ;
  • В gnutls-server размер буфера запросов увеличен до 16 Кб и добавлены опции "--alpn" и "--alpn-fatal" для тестирования согласования соединений ALPN;
  • В набор тестов, применяемых в системе непрерывной интеграции, включен пакет tlsfuzzer, который позволит оперативно выявлять отклонения в поведении реализации TLS между релизами;
  • Добавлены новые элементы API:
    • gnutls_encode_rs_value
    • gnutls_decode_rs_value
    • gnutls_base64_encode2
    • gnutls_base64_decode2
    • gnutls_x509_crt_set_flags
    • gnutls_x509_crt_check_ip
    • gnutls_x509_ext_import_inhibit_anypolicy
    • gnutls_x509_ext_export_inhibit_anypolicy
    • gnutls_x509_crt_get_inhibit_anypolicy
    • gnutls_x509_crt_set_inhibit_anypolicy
    • gnutls_pubkey_export_rsa_raw2
    • gnutls_pubkey_export_dsa_raw2
    • gnutls_pubkey_export_ecc_raw2
    • gnutls_privkey_export_rsa_raw2
    • gnutls_privkey_export_dsa_raw2
    • gnutls_privkey_export_ecc_raw2
    • gnutls_x509_spki_init
    • gnutls_x509_spki_deinit
    • gnutls_x509_spki_get_pk_algorithm
    • gnutls_x509_spki_set_pk_algorithm
    • gnutls_x509_spki_get_digest_algorithm
    • gnutls_x509_spki_set_digest_algorithm
    • gnutls_x509_spki_get_salt_size
    • gnutls_x509_spki_set_salt_size
    • gnutls_x509_crt_set_spki
    • gnutls_x509_crt_get_spki
    • gnutls_x509_privkey_get_spki
    • gnutls_x509_privkey_set_spki
    • gnutls_x509_crq_get_spki
    • gnutls_x509_crq_set_spki
    • gnutls_pubkey_set_spki
    • gnutls_pubkey_get_spki
    • gnutls_privkey_set_spki
    • gnutls_privkey_get_spki
    • gnutls_privkey_import_ext4
    • GNUTLS_EXPORT_FLAG_NO_LZ
    • GNUTLS_DT_IP_ADDRESS
    • GNUTLS_X509_CRT_FLAG_IGNORE_SANITY
    • GNUTLS_CERT_UNKNOWN_CRIT_EXTENSIONS
    • GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1
    • GNUTLS_VERIFY_DO_NOT_ALLOW_IP_MATCHES
    • GNUTLS_VERIFY_IGNORE_UNKNOWN_CRIT_EXTENSIONS
    • GNUTLS_SFLAGS_RFC7919


  1. Главная ссылка к новости (https://lists.gnupg.org/piperm...)
  2. OpenNews: Обновление GnuTLS 3.4.13 с устранением уязвимости
  3. OpenNews: Увидела свет библиотека GnuTLS 3.5.0
  4. OpenNews: Ветка GnuTLS 3.4 переведена в разряд стабильных
  5. OpenNews: Увидела свет библиотека GnuTLS 3.4.0
  6. OpenNews: Выпуск криптографической библиотеки Libgcrypt 1.8.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/47067-gnutls
Ключевые слова: gnutls, tls, crypt
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (5) RSS
  • 1.1, Аноним (-), 20:28, 23/08/2017 [ответить]  
  • +2 +/
    Приятно, что и GnuTLS коснулись веяния по вырезанию устаревшего и небезопасного хлама.
     
     
  • 2.5, пох (?), 21:04, 25/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    это вы про openpgp или libidn1? ;-) Это, вообще говоря, единственное, что вырезано (ибо давно и прочно мертвое), а не отдано на откуп пользователю или разработчику. Ровно то, чего так и не научились делать ни в openssl, ни в его форках.

    Как жаль, что проектов, способных работать с голой gnutls, по пальцам одной руки пересчитать можно.

     

  • 1.2, Аноним (-), 11:08, 24/08/2017 [ответить]  
  • +/
    Chacha и Salsa -- выпивка и закуска.
     
     
  • 2.3, Andrey Mitrofanov (?), 12:55, 24/08/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Chacha и Salsa -- выпивка и закуска.

    ...для Диффи и Хелмана.

     
  • 2.4, Аноним (-), 19:50, 25/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    ждем TanGo в новых релизах
     

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



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

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