stringtranslate.com

Сравнение реализаций TLS

Протокол Transport Layer Security (TLS) обеспечивает возможность защиты коммуникаций между сетями или внутри них. Это сравнение реализаций TLS сравнивает несколько наиболее известных библиотек . Существует несколько реализаций TLS, которые являются бесплатным программным обеспечением и имеют открытый исходный код .

Все категории сравнения используют стабильную версию каждой реализации, указанной в разделе обзора. Сравнение ограничено функциями, которые напрямую связаны с протоколом TLS.

Обзор

  1. ^ Apache-2.0 для OpenSSL 3.0 и более поздних версий. Двойная лицензия OpenSSL-SSLeay для любой версии до OpenSSL 3.0.

Поддержка версии протокола TLS/SSL

Существует несколько версий протокола TLS. SSL 2.0 — устаревшая [28] версия протокола со значительными недостатками. SSL 3.0 (1996) и TLS 1.0 (1999) — преемники с двумя недостатками в CBC-padding, которые были объяснены в 2001 году Сержем Воденаем. [29] TLS 1.1 (2006) исправил только одну из проблем, переключившись на случайные векторы инициализации (IV) для блочных шифров CBC, тогда как более проблемное использование mac-pad-encrypt вместо безопасного pad-mac-encrypt было устранено в RFC 7366. [30] Обходной путь для SSL 3.0 и TLS 1.0, примерно эквивалентный случайным IV из TLS 1.1, был широко принят многими реализациями в конце 2011 года. [31] В 2014 году была обнаружена уязвимость POODLE в SSL 3.0, которая использует известные уязвимости в CBC и небезопасное согласование резервного варианта, используемое в браузерах. [32]

TLS 1.2 (2008) представил средство для идентификации хэша, используемого для цифровых подписей. Разрешая использование более сильных хэш-функций для цифровых подписей в будущем (rsa, sha256/sha384/sha512) по сравнению с консервативным выбором SSL 3.0 (rsa, sha1+md5), изменение протокола TLS 1.2 непреднамеренно и существенно ослабило цифровые подписи по умолчанию и предоставляет (rsa, sha1) и даже (rsa, md5). [33]

Datagram Transport Layer Security (DTLS или Datagram TLS) 1.0 — это модификация TLS 1.1 для пакетно-ориентированного транспортного уровня, где необходимо допускать потерю пакетов и переупорядочивание пакетов. Ревизия DTLS 1.2, основанная на TLS 1.2, была опубликована в январе 2012 года. [34]

TLS 1.3 (2018), указанный в RFC 8446, включает в себя основные оптимизации и улучшения безопасности. QUIC (2021), указанный в RFC 9000, и DTLS 1.3 (2022), указанный в RFC 9147, основаны на TLS 1.3. Публикация TLS 1.3 и DTLS 1.3 сделала TLS 1.2 и DTLS 1.2 устаревшими.

Обратите внимание, что в SSL 2.0 и SSL 3.0 есть известные уязвимости. В 2021 году IETF опубликовал RFC 8996, также запрещающий согласование TLS 1.0, TLS 1.1 и DTLS 1.0 из-за известных уязвимостей. NIST SP 800-52 требует поддержки TLS 1.3 к январю 2024 года. Поддержка TLS 1.3 означает, что два совместимых узла никогда не будут согласовывать TLS 1.2.

  1. ^ ab Начиная с SSL-J 7.0 поддержка TLS 1.0 и 1.1 была удалена.
  2. ^ ab SSL 2.0 client hello поддерживается в целях обратной совместимости, хотя SSL 2.0 не поддерживается.
  3. ^ Реализация протокола SSL/TLS на стороне сервера по-прежнему поддерживает обработку полученных v2-совместимых клиентских приветственных сообщений. "NSS 3.24 release notes". Mozilla Developer Network . Mozilla. Архивировано из оригинала 2016-08-26 . Получено 2016-06-19 .
  4. ^ abcdef Secure Transport: SSL 2.0 был прекращен в OS X 10.8. SSL 3.0 был прекращен в OS X 10.11 и iOS 9. TLS 1.1, 1.2 и DTLS доступны в iOS 5.0 и более поздних версиях, а также в OS X 10.9 и более поздних версиях. "Техническое примечание TN2287: Проблемы взаимодействия iOS 5 и TLS 1.2". Библиотека разработчиков iOS . Apple Inc . Получено 2012-05-03 .
  5. ^ abcd Начиная с OTP 22
  6. ^ С OTP 23
  7. ^ "Таблица соответствия TLS 1.3 приложения Erlang OTP SSL".

Криптография NSA Suite B

Необходимые компоненты для криптографии NSA Suite B (RFC 6460):

Согласно CNSSP-15, 256-битная эллиптическая кривая (указанная в FIPS 186-2), SHA-256 и AES с 128-битными ключами достаточны для защиты секретной информации вплоть до уровня «Секретно» , в то время как 384-битная эллиптическая кривая (указанная в FIPS 186-2), SHA-384 и AES с 256-битными ключами необходимы для защиты совершенно секретной информации.

Сертификаты

Обратите внимание, что некоторые сертификации получили серьезную негативную критику со стороны людей, которые фактически в них участвуют. [76]

  1. ^ с Sun Sparc 5 с Sun Solaris v 2.4SE (рейтинг ITSEC)
  2. ^ с Sun Ultra-5 с Sun Trusted Solaris версии 2.5.1 (рейтинг ITSEC)
  3. ^ с Solaris v8.0 с AdminSuite 3.0.1, как указано в отчете UK IT SEC CC № P148 EAL4 на SUN SPARC Ultra-1
  4. ^ с этими платформами; Red Hat Enterprise Linux версии 4, обновление 1 AS на IBM xSeries 336 с процессором Intel Xeon, Trusted Solaris 8 4/01 на рабочей станции Sun Blade 2500 с процессором UltraSPARC IIIi
  5. ^ с этими платформами; Red Hat Enterprise Linux v5, работающий на IBM System x 3550, Red Hat Enterprise Linux v5, работающий на HP ProLiant DL145 , Sun Solaris 10 5/08, работающий на рабочей станции Sun SunBlade 2000 , Sun Solaris 10 5/08, работающий на рабочей станции Sun W2100z

Алгоритмы обмена ключами (только сертификаты)

В этом разделе перечислены функции проверки сертификатов, доступные в различных реализациях.

Алгоритмы обмена ключами (альтернативные обмены ключами)

Методы проверки сертификата

Алгоритмы шифрования

Примечания
  1. ^ ab Этот алгоритм пока не определен как набор шифров TLS в RFC, предлагается в черновиках.
  2. ^ Только аутентификация ab, без шифрования
  3. ^ Этот алгоритм реализован в форке NSS, используемом Pale Moon .

Устаревшие алгоритмы

Примечания
  1. ^ abcd IDEA и DES были удалены из TLS 1.2. [153]
  2. ^ abcdef 40-битные наборы шифров были разработаны для работы с уменьшенной длиной ключа, чтобы соответствовать правилам США об экспорте криптографического программного обеспечения, содержащего определенные сильные алгоритмы шифрования (см. Экспорт криптографии из США ). Эти слабые наборы запрещены в TLS 1.1 и более поздних версиях.
  3. ^ ab Атаки RC4 ослабляют или нарушают RC4, используемый в SSL/TLS. Использование RC4 запрещено RFC 7465.
  4. ^ ab Атаки RC4 ослабляют или нарушают RC4, используемый в SSL/TLS.

Поддерживаемые эллиптические кривые

В этом разделе перечислены поддерживаемые эллиптические кривые каждой реализацией.

Определенные кривые в RFC 8446 (для TLS 1.3) и RFC 8422, 7027 (для TLS 1.2 и более ранних версий)

Предлагаемые кривые

Устаревшие кривые в RFC 8422

Примечания
  1. ^ abcdefghijklmnopqrstu v Эти эллиптические кривые были «отключены по умолчанию» в текущих семействах JDK как часть JDK-8236730. [185]
  2. ^ abcdefghijklmnopqrstu v Эти эллиптические кривые были впоследствии удалены в JDK 16+ как часть JDK-8252601. [186]

Целостность данных

Сжатие

Обратите внимание, что эксплойт безопасности CRIME использует сжатие TLS, поэтому консервативные реализации не включают сжатие на уровне TLS. Сжатие HTTP не связано и не затрагивается этим эксплойтом, но эксплуатируется связанной атакой BREACH .

Расширения

В этом разделе перечислены расширения, поддерживаемые каждой реализацией. Обратите внимание, что расширение Secure Renegotiation имеет решающее значение для безопасности HTTPS-клиента [ требуется ссылка ] . Клиенты TLS, не реализующие его, уязвимы для атак, независимо от того, реализует ли клиент повторное согласование TLS.

Вспомогательная криптография

В этом разделе перечислены известные возможности реализации по использованию наборов инструкций ЦП, оптимизирующих шифрование, или использованию системно-специфичных устройств, которые обеспечивают доступ к базовому криптографическому оборудованию для ускорения или разделения данных.

  1. ^ Реализации на чистом Java опираются на возможности оптимизации процессора JVM , такие как поддержка OpenJDK для AES-NI [229]
  2. ^ BSAFE SSL-J можно настроить для работы в собственном режиме, используя BSAFE Crypto-C Micro Edition, чтобы воспользоваться преимуществами оптимизации процессора. [230]

Системно-специфические бэкэнды

В этом разделе описывается способность реализации использовать доступные бэкэнды, специфичные для операционной системы, или даже бэкэнды, предоставляемые другой реализацией.

Поддержка криптографического модуля/токена

Зависимости кода

Среда разработки

  1. ^
    Классы манипуляции ASN.1
  2. ^
    API-интерфейс Cert-J
  3. ^
    Классы манипуляции путями сертификатов
  4. ^
    Crypto-J — собственный API, JCE , CMS и PKI
  5. API
  6. ^
    Собственный API SSLJ
  7. ^
    API-интерфейс JSSE

Проблемы переносимости

Смотрите также

Ссылки

  1. ^ "Botan: Примечания к выпуску" . Получено 2024-08-13 .
  2. ^ "Заметки о выпуске - bouncycastle.org". 2023-11-13 . Получено 2023-11-18 .
  3. ^ "Ресурсы Java LTS - bouncycastle.org". 2024-03-01 . Получено 2024-03-31 .
  4. ^ "Ресурсы Java FIPS - bouncycastle.org". 2023-09-28 . Получено 2022-09-29 .
  5. ^ "The Legion of the Bouncy Castle C# Cryptography APIs". 2024-02-05 . Получено 2024-02-06 .
  6. ^ "Ресурсы C# .NET FIPS - bouncycastle.org". 2023-02-28 . Получено 2023-02-28 .
  7. ^ "Рекомендация по выпуску Dell BSAFE SSL-J 6.6". Dell .
  8. ^ "Dell BSAFE SSL-J 7.3.1 Release Advisory". Dell .
  9. ^ «Информация о выпуске Dell BSAFE Micro Edition Suite 4.6.2».
  10. ^ «Информация о выпуске Dell BSAFE Micro Edition Suite 5.0.2.1».
  11. ^ Гутманн, Питер (2019). «Загрузка». cryptlib. Школа компьютерных наук Оклендского университета . Получено 07.08.2019 .
  12. ^ "gnutls 3.8.5".
  13. ^ "Java™ SE Development Kit 23, 23.0.1 Release Notes". Oracle Corporation . Получено 2024-10-16 .
  14. ^ "Java™ SE Development Kit 21, 21.0.5 Release Notes". Oracle Corporation . Получено 2024-10-16 .
  15. ^ "Java™ SE Development Kit 17, 17.0.13 Release Notes". Oracle Corporation . Получено 2024-10-16 .
  16. ^ "Java™ SE Development Kit 11, 11.0.25 Release Notes". Oracle Corporation . Получено 2024-10-16 .
  17. ^ "Java™ SE Development Kit 8, Update 431 Release Notes". Oracle Corporation . Получено 2024-10-16 .
  18. ^ "LibreSSL 4.0.0 Released". 14 октября 2024 г. Получено 15 октября 2024 г.
  19. ^ Перечисленные функции относятся к версии с закрытым исходным кодом.
  20. ^ "MatrixSSL 4.2.2 Открытый релиз". 2019-09-11 . Получено 2020-03-20 .
  21. ^ "Release 3.6.2". 15 октября 2024 г. Получено 22 октября 2024 г.
  22. ^ ab "NSS:Release versions". Mozilla Wiki . Получено 7 ноября 2022 г.
  23. ^ "OpenSSL 3.4.0". 22 октября 2024 г. Получено 22 октября 2024 г.
  24. ^ "rustls/rustls releases". Github . Получено 28 августа 2024 г.
  25. ^ "описание продукта wolfSSL" . Получено 2016-05-03 .
  26. ^ "wolfSSL Embedded SSL/TLS" . Получено 2016-05-03 .
  27. ^ "wolfSSL ChangeLog". 2023-10-31 . Получено 2023-10-31 .
  28. ^ Запрет на использование протокола SSL версии 2.0. doi : 10.17487/RFC6176 . RFC 6176.
  29. ^ Воденай, Серж (2001). «CBC-Padding: недостатки безопасности в SSL, IPsec, WTLS,...» (PDF) .
  30. ^ ab Encrypt-then-MAC для безопасности транспортного уровня (TLS) и безопасности датаграмм транспортного уровня. doi : 10.17487/RFC7366 . RFC 7366.
  31. ^ "Rizzo/Duong BEAST Countermeasures". Архивировано из оригинала 2016-03-11.
  32. ^ Мёллер, Бодо; Дуонг, Тай; Котович, Кшиштоф (сентябрь 2014 г.). "This POODLE Bites: Exploiting The SSL 3.0 Fallback" (PDF) . Архивировано из оригинала (PDF) 15 октября 2014 г. . Получено 15 октября 2014 г. .
  33. ^ "Основные отличия TLSv1.2 от TLSv1.1". Протокол Transport Layer Security (TLS) версии 1.2. раздел 1.2. doi : 10.17487/RFC5246 . RFC 5246.
  34. ^ abc RFC 6347. doi : 10.17487/RFC6347 .
  35. ^ ab Elgamal, Taher; Hickman, Kipp EB (19 апреля 1995 г.). Протокол SSL. ID draft-hickman-netscape-ssl-00.
  36. ^ ab RFC 6101. doi : 10.17487/RFC6101 .
  37. ^ ab RFC 2246. doi : 10.17487/RFC2246 .
  38. ^ ab RFC 4346. doi : 10.17487/RFC4346 .
  39. ^ abcdefghijkl RFC 5246. doi : 10.17487/RFC5246 .
  40. ^ ab RFC 4347. doi : 10.17487/RFC4347 .
  41. ^ "Версия 1.11.13, 2015-01-11 — Botan". 2015-01-11. Архивировано из оригинала 2015-01-09 . Получено 2015-01-16 .
  42. ^ abc "RSA BSAFE Технические спецификации Сравнительные таблицы" (PDF) . Архивировано из оригинала (PDF) 2015-09-24 . Получено 2015-01-09 .
  43. ^ abcdef "[gnutls-devel] GnuTLS 3.4.0 выпущен". 2015-04-08 . Получено 2015-04-16 .
  44. ^ "[gnutls-devel] GnuTLS 3.6.3". 2018-07-16 . Получено 2018-09-16 .
  45. ^ "Java SE Development Kit 8, примечания к выпуску обновления 31" . Получено 14.01.2024 .
  46. ^ ab "Примечание к выпуску: отключение TLS 1.0 и 1.1" . Получено 2024-01-14 .
  47. ^ abcdefghijklm "OpenBSD 5.6 Released". 2014-11-01 . Получено 2015-01-20 .
  48. ^ "LibreSSL 2.3.0 Released". 2015-09-23 . Получено 2015-09-24 .
  49. ^ "LibreSSL 3.3.3 Released". 2021-05-04 . Получено 2021-05-04 .
  50. ^ "MatrixSSL - Новости". Архивировано из оригинала 2015-02-14 . Получено 2014-11-09 .
  51. ^ abcd "Mbed TLS 3.0.0 branch released". GitHub . 2021-07-07 . Получено 2021-08-13 .
  52. ^ abcd "mbed TLS 2.0.0 выпущен". 2015-07-10 . Получено 2015-07-14 .
  53. ^ "NSS 3.19 release notes". Mozilla Developer Network . Mozilla. Архивировано из оригинала 2015-06-05 . Получено 2015-05-06 .
  54. ^ ab "NSS 3.14 release notes". Mozilla Developer Network . Mozilla. Архивировано из оригинала 2013-01-17 . Получено 2012-10-27 .
  55. ^ "NSS 3.15.1 release notes". Mozilla Developer Network . Mozilla . Получено 2013-08-10 .
  56. ^ "NSS 3.39 release notes". Mozilla Developer Network . Mozilla. 2018-08-31. Архивировано из оригинала 2021-12-07 . Получено 2018-09-15 .
  57. ^ "NSS 3.16.2 release notes". Mozilla Developer Network . Mozilla. 2014-06-30. Архивировано из оригинала 2021-12-07 . Получено 2014-06-30 .
  58. ^ abcdefghijklm "Заметки о выпуске серии OpenSSL 1.1.0". www.openssl.org . Архивировано из оригинала 2018-03-17 . Получено 2016-09-03 .
  59. ^ ab "Основные изменения между OpenSSL 1.0.0h и OpenSSL 1.0.1 [14 марта 2012 г.]". 2012-03-14. Архивировано из оригинала 5 декабря 2014 г. Получено 2015-01-20 .
  60. ^ abcdef "Основные изменения между OpenSSL 1.0.1l и OpenSSL 1.0.2 [22 января 2015 г.]". Архивировано из оригинала 4 сентября 2014 г. Получено 22 января 2015 г.
  61. ^ abcdefghijk "документация по реализованным и нереализованным функциям Rustls" . Получено 28.08.2024 .
  62. ^ "S2N Readme". GitHub . 2019-12-21.
  63. ^ «Наборы шифров TLS (Windows)». msdn.microsoft.com . 14 июля 2023 г.
  64. ^ ab "Наборы шифров TLS в Windows Vista (Windows)". msdn.microsoft.com . 25 октября 2021 г.
  65. ^ abc «Наборы шифров в TLS/SSL (Schannel SSP) (Windows)». msdn.microsoft.com . 14 июля 2023 г.
  66. ^ ab "Доступно обновление, которое добавляет поддержку DTLS в Windows 7 SP1 и Windows Server 2008 R2 SP1". Microsoft . Получено 13 ноября 2012 г. .
  67. ^ "Протоколы в TLS/SSL (Schannel SSP)". Microsoft. 2022-05-25 . Получено 2023-11-18 .
  68. ^ "Протоколы в TLS/SSL (Schannel SSP)". 25 мая 2022 г. Получено 6 ноября 2022 г.
  69. ^ "@badger: похоже, что версия 1.3 есть в iOS 11 и macOS 10.13". 2018-03-09 . Получено 2018-03-09 .
  70. ^ "[wolfssl] wolfSSL 3.6.6 Выпущен". 20.08.2015 . Получено 24.08.2015 .
  71. ^ "[wolfssl] wolfSSL 3.13.0 Выпущен". 2017-12-21 . Получено 2022-01-17 .
  72. ^ «Erlang — Соответствие стандартам».
  73. ^ abc "Улучшения безопасности в JDK 8". docs.oracle.com .
  74. ^ "Ошибка 663320 - (NSA-Suite-B-TLS) Реализовать RFC6460 (профиль NSA Suite B для TLS)". Mozilla . Получено 2014-05-19 .
  75. ^ «Введение в соответствие с криптографией Suite B». 18 сентября 2012 г.
  76. ^ "Speeds and Feeds › Secure or Compliant, Pick One". Архивировано из оригинала 27 декабря 2013 г.
  77. ^ "Search - Cryptographic Module Validation Program - CSRC". csrc.nist.gov . Архивировано из оригинала 2014-12-26 . Получено 2014-03-18 .
  78. ^ ""Сертифицирован ли Botan FIPS 140?" Часто задаваемые вопросы — Botan". Архивировано из оригинала 29.11.2014 . Получено 16.11.2014 .
  79. ^ "Поиск - Программа проверки криптографических модулей - CSRC". csrc.nist.gov . 11 октября 2016 г.
  80. ^ "cryptlib". 11 октября 2013 г. Архивировано из оригинала 11 октября 2013 г.
  81. ^ "B.5 Certification". GnuTLS 3.7.7 . Получено 26 сентября 2022 г. .
  82. ^ «Набор инструментов Matrix SSL» (PDF) .
  83. ^ "Сертифицирован ли mbed TLS FIPS? - Документация Mbed TLS". Документация Mbed TLS .
  84. ^ "Проверка FIPS - MozillaWiki". wiki.mozilla.org .
  85. ^ "OpenSSL и FIPS 140-2". Архивировано из оригинала 2013-05-28 . Получено 2014-11-15 .
  86. ^ "rustls FIPS documentation" . Получено 2024-08-28 .
  87. ^ «Проверенные криптографические модули Microsoft FIPS 140».
  88. ^ «Информация о wolfCrypt FIPS 140-2 — встроенная библиотека SSL/TLS wolfSSL».
  89. ^ abcdefghijklmnopqrstu vwxyz aa ab ac ad ae af ag ah RFC 4492. doi : 10.17487/RFC4492 .
  90. ^ abcde "LibreSSL 2.1.2 выпущен". 2014-12-09 . Получено 2015-01-20 .
  91. ^ "NSS 3.20 release notes". Mozilla . 2015-08-19. Архивировано из оригинала 2021-12-07 . Получено 2015-08-20 .
  92. ^ abcd Mozilla.org. "Ошибка 518787 - Добавить поддержку алгоритма шифрования ГОСТ в NSS" . Получено 01.07.2014 .
  93. ^ abcd Mozilla.org. "Ошибка 608725 - Добавить российские криптоалгоритмы ГОСТ в NSS и Thunderbird" . Получено 01.07.2014 .
  94. ^ abcd "OpenSSL: CVS Web Interface". Архивировано из оригинала 2013-04-15 . Получено 2014-11-12 .
  95. ^ abcdefghijklmno Могут быть доступны расширения для поддержки ГОСТ в Schannel. [ необходима цитата ]
  96. ^ abcd "Советы по безопасности Microsoft 3174644". 14 октября 2022 г.
  97. ^ abc "Microsoft Security Bulletin MS14-066 - Критический (Часто задаваемые вопросы об обновлении раздела)". Microsoft. 11 ноября 2014 г. Получено 11 ноября 2014 г.
  98. ^ abc Томлинсон, Мэтт (11 ноября 2014 г.). «Сотни миллионов клиентов Microsoft теперь получают выгоду от лучшего в своем классе шифрования». Microsoft Security . Получено 11 ноября 2014 г. .
  99. ^ ab "Обновление добавляет новые наборы шифров TLS и изменяет приоритеты наборов шифров в Windows 8.1 и Windows Server 2012 R2". support.microsoft.com .
  100. ^ abcdef RFC 5054. doi : 10.17487/RFC5054 .
  101. ^ abcdef RFC 4279. doi : 10.17487/RFC4279 .
  102. ^ ab RFC 5489. doi : 10.17487/RFC5489 .
  103. ^ ab RFC 2712. doi : 10.17487/RFC2712 .
  104. ^ "RSA BSAFE SSL-J 6.2.4 Release Notes". 2018-09-05. Архивировано из оригинала 2018-09-10.
  105. ^ abc "LibreSSL 2.0.4 выпущен" . Получено 2014-08-04 .
  106. ^ abc "Ошибка 405155 - добавить поддержку TLS-SRP, rfc5054". Mozilla . Получено 2014-01-25 .
  107. ^ abcd "Ошибка 306435 — браузеры Mozilla должны поддерживать новый протокол IETF TLS-PSK, чтобы помочь сократить фишинг". Mozilla . Получено 25.01.2014 .
  108. ^ "Ошибка 1170510 - Реализация поддержки NSS на стороне сервера для DH_anon". Mozilla . Получено 2015-06-03 .
  109. ^ "Ошибка 236245 - Обновите ECC/TLS для соответствия RFC 4492". Mozilla . Получено 2014-06-09 .
  110. ^ "Изменения между 0.9.6h и 0.9.7 [31 декабря 2002 г.]" . Получено 29.01.2016 .
  111. ^ ab "Изменения между 0.9.8n и 1.0.0 [29 марта 2010 г.]" . Получено 29.01.2016 .
  112. ^ "wolfSSL (ранее CyaSSL) Release 3.9.0 (18.03.2016)". 2016-03-18 . Получено 2016-04-05 .
  113. ^ RFC 5280. doi : 10.17487/RFC5280 .
  114. ^ RFC 3280. doi : 10.17487/RFC3280 .
  115. ^ RFC 2560. doi : 10.17487/RFC2560 .
  116. ^ RFC 6698. doi : 10.17487/RFC6698 .
  117. ^ RFC 7218. doi : 10.17487/RFC7218 .
  118. ^ Лори, Б.; Лэнгли, А.; Каспер, Э. (июнь 2013 г.). Прозрачность сертификатов. IETF . doi : 10.17487/RFC6962 . ISSN  2070-1721. RFC 6962. Получено 31 августа 2020 г.
  119. ^ "MatrixSSL 3.8.3". Архивировано из оригинала 2017-01-19 . Получено 2017-01-18 .
  120. ^ "mbed TLS 2.0 defaults реализует лучшие практики" . Получено 2017-01-18 .
  121. ^ "Ошибка 672600 - Использование цепочки DNSSEC/DANE, вшитой в рукопожатие TLS при проверке цепочки сертификатов". Mozilla . Получено 2014-06-18 .
  122. ^ "Проверка CRL · Проблема № 3499 · aws/s2n-tls". GitHub . Получено 2022-11-01 .
  123. ^ "Поддержка дайджеста OCSP для SHA-256 · Проблема № 2854 · aws/s2n-tls · GitHub". GitHub . Получено 01.11.2022 .
  124. ^ "[RFC 6962] Клиент s2n может проверять расширение TLS временной метки подписанного сертификата · Проблема № 457 · aws/s2n-tls · GitHub". GitHub . Получено 01.11.2022 .
  125. ^ ab "Как работает отзыв сертификата". Microsoft TechNet . Microsoft . 16 марта 2012 г. . Получено 10 июля 2013 г. .
  126. ^ аб
    • RFC 5288. doi : 10.17487/RFC5288 .
    • RFC 5289. doi : 10.17487/RFC5289 .
  127. ^ ab RFC 6655, RFC 7251
  128. ^ abcd RFC 6367. doi : 10.17487/RFC6367 .
  129. ^ ab RFC 5932. doi : 10.17487/RFC5932 .
  130. ^ abcd RFC 6209. doi : 10.17487/RFC6209 .
  131. ^ ab RFC 4162. doi : 10.17487/RFC4162 .
  132. ^ ab "Sweet32: атаки методом "дней рождения" на 64-битные блочные шифры в TLS и OpenVPN". sweet32.info .
  133. ^ ab RFC 7905. doi : 10.17487/RFC7905 .
  134. ^ ab «Версия 1.11.12, 02.01.2015 — Ботан». 2015-01-02 . Проверено 9 января 2015 г.
  135. ^ "gnutls 3.6.0". 2017-09-21 . Получено 2018-01-07 .
  136. ^ "gnutls 3.4.12". 2016-05-20. Архивировано из оригинала 2016-10-13 . Получено 2016-05-29 .
  137. ^ "Java SE DevelopmentK Kit 10 - 10.0.1 Заметки о выпуске". 2018-04-17 . Получено 2024-01-14 .
  138. ^ "Заметки о выпуске JDK 12" . Получено 2024-01-14 .
  139. ^ abcd "Изменения в 3.8.3". GitHub . Получено 2016-06-19 .[ постоянная мертвая ссылка ]
  140. ^ "Заметки о выпуске PolarSSL 1.3.8". Архивировано из оригинала 2014-07-14.
  141. ^ ab "Mbed TLS 2.11.0, 2.7.4 и 2.1.13 выпущены" . Получено 2018-08-30 .
  142. ^ "Mbed TLS 2.12.0, 2.7.5 и 2.1.14 выпущены" . Получено 2018-08-30 .
  143. ^ "NSS 3.25 release notes". Mozilla Developer Network . Mozilla. Архивировано из оригинала 2021-12-07 . Получено 2016-07-01 .
  144. ^ "Ошибка 940119 - libssl не поддерживает ни один набор шифров TLS_ECDHE_*_CAMELLIA_*_GCM". Mozilla . Получено 2013-11-19 .
  145. ^ "NSS 3.12 выпущен" . Получено 2013-11-19 .
  146. ^ "NSS 3.12.3 Release Notes". Mozilla Developer Network . Mozilla. Архивировано из оригинала 2023-04-02 . Получено 2023-04-01 .
  147. ^ "NSS 3.23 release notes". Mozilla Developer Network . Mozilla. Архивировано из оригинала 2021-04-14 . Получено 2016-03-09 .
  148. ^ "openssl/CHANGES в OpenSSL_1_0_1-stable · openssl/openssl". GitHub . Получено 20.01.2015 .
  149. ^ "Заметки о выпуске серии OpenSSL 1.1.1". www.openssl.org . Архивировано из оригинала 2024-01-16.
  150. ^ «Наборы шифров в TLS/SSL (Schannel SSP) — приложения Win32». docs.microsoft.com . 14 июля 2023 г.
  151. ^ abc "Qualys SSL Labs - Проекты / Возможности пользовательского агента: IE 11 / Win 10 Preview". dev.ssllabs.com . Архивировано из оригинала 2023-07-14.
  152. ^ RFC 5469
  153. ^ ab "Sweet32: атаки методом «дней рождения» на 64-битные блочные шифры в TLS и OpenVPN".
  154. ^ "Версия 1.11.15, 2015-03-08 — Botan". 2015-03-08 . Получено 2015-03-11 .
  155. ^ «Документация поставщиков Oracle для архитектуры криптографии Java». docs.oracle.com .
  156. ^ "NSS 3.15.3 release notes". Mozilla Developer Network . Mozilla. Архивировано из оригинала 2014-06-05 . Получено 2014-07-13 .
  157. ^ "MFSA 2013-103: Различные уязвимости служб сетевой безопасности (NSS)". Mozilla . Получено 2014-07-13 .
  158. ^ abc "RC4 теперь отключен в Microsoft Edge и Internet Explorer 11 - Блог разработчиков Microsoft EdgeБлог разработчиков Microsoft Edge". blogs.windows.com . 2016-08-09.
  159. ^ ab "wolfSSL (ранее CyaSSL) Release 3.7.0 (26.10.2015)". 2015-10-26 . Получено 2015-11-19 .
  160. ^ abcde RFC 8446
  161. ^ abcde RFC 8422
  162. ^ abc RFC 7027
  163. ^ abc «Версия 1.11.5, 10 ноября 2013 г. — Ботан». 10 ноября 2013 г. Проверено 23 января 2015 г.
  164. ^ "Обзор новых функций в GnuTLS 3.5.0". 2016-05-02 . Получено 2016-12-09 .
  165. ^ "gnutls 3.6.12". 2020-02-01 . Получено 2021-08-31 .
  166. ^ ab "JDK 13 Early-Access Release Notes". Архивировано из оригинала 2020-04-01 . Получено 2019-06-20 .
  167. ^ ab "JEP 339: алгоритм цифровой подписи по кривой Эдвардса (EdDSA)" . Получено 14.01.2024 .
  168. ^ "Заметки о выпуске LibreSSL 2.5.1". OpenBSD. 2017-01-31 . Получено 2017-02-23 .
  169. ^ "MatrixSSL 4.0 changelog". GitHub . Получено 2018-09-18 .
  170. ^ "PolarSSL 1.3.3 выпущен". 2013-12-31. Архивировано из оригинала 2014-01-07 . Получено 2015-01-23 .
  171. ^ "Mbed TLS 2.9.0, 2.7.3 и 2.1.12 выпущены" . Получено 2018-08-30 .
  172. ^ abc "PolarSSL 1.3.1 выпущен". 2013-10-15. Архивировано из оригинала 2015-01-23 . Получено 2015-01-23 .
  173. ^ "Ошибка 957105 - Добавить поддержку для curve25519 Key Exchange и поддержку UMAC MAC для TLS". Mozilla . Получено 23.02.2017 .
  174. ^ "Ошибка 1305243 - Поддержка X448". Mozilla . Получено 2022-08-04 .
  175. ^ "Ошибка 1597057 - Требуется поддержка Curve448 или названного Ed448-Goldilocks (как обмена ключами X448, так и алгоритма подписи Ed448)". Mozilla . Получено 04.08.2022 .
  176. ^ abc "Ошибка 943639 - Поддержка Brainpool ECC Curve (rfc5639)". Mozilla . Получено 25.01.2014 .
  177. ^ "OpenSSL 1.1.0x Release Notes". 25 августа 2016 г. Архивировано из оригинала 18 мая 2018 г. Получено 18 мая 2018 г.
  178. ^ "OpenSSL GitHub Issue #487 Tracker". GitHub . 2 декабря 2015 г. Получено 18 мая 2018 г.
  179. ^ "OpenSSL CHANGES". 1 мая 2018 г. Архивировано из оригинала 18 мая 2018 г. Получено 18 мая 2018 г.
  180. ^ "OpenSSL GitHub Issue #5049 Tracker". GitHub . 9 января 2018 . Получено 18 мая 2018 .
  181. ^ "wolfSSL (ранее CyaSSL) Release 3.4.6 (30.03.2015)". 2015-03-30 . Получено 2015-11-19 .
  182. ^ "wolfSSL Release 4.4.0 (22.04.2020)". 2020-04-22 . Получено 2022-10-18 .
  183. ^ abcdefghi Саймон, Йозефссон; Мануэль, Пегурье-Гоннар. Дополнительные эллиптические кривые для соглашения о ключах безопасности транспортного уровня (TLS). ID draft-josefsson-tls-additional-curves.
  184. ^ "Замечание к выпуску: Слабые именованные кривые в TLS, CertPath и подписанном JAR-файле отключены по умолчанию. (Java 7u281, 8u271, 11.0.9, 14)". Система ошибок JDK (JBS) . Получено 6 января 2022 г. .
  185. ^ "Release Note: Removal of Legacy Elliptic Curves (Java 16)". JDK Bug System (JBS) . Получено 6 января 2022 г. .
  186. ^ ab Показано, что согласование произвольных кривых небезопасно для определенных размеров кривых Mavrogiannopoulos, Nikos и Vercautern, Frederik и Velichkov, Vesselin и Preneel, Bart (2012). "A cross-protocol attack on the TLS protocol" (PDF) . Труды конференции ACM 2012 года по компьютерной и коммуникационной безопасности . Association for Computing Machinery. стр. 62–72. doi :10.1145/2382196.2382206. ISBN 978-1-4503-1651-4.{{cite conference}}: CS1 maint: multiple names: authors list (link)
  187. ^ "SHA2 и Windows" . Получено 2024-04-28 .
  188. ^ RFC3749
  189. ^ RFC 5746
  190. ^ abcd RFC 6066
  191. ^ RFC7301
  192. ^ RFC6091
  193. ^ RFC 4680
  194. ^ RFC 5077. doi : 10.17487/RFC5077 .
  195. ^ RFC 5705. doi : 10.17487/RFC5705 .
  196. ^ RFC 7507. doi : 10.17487/RFC7507 .
  197. ^ RFC7627
  198. ^ RFC7685
  199. ^ RFC7250
  200. ^ "Версия 1.11.16, 2015-03-29 — Botan". 2016-03-29 . Получено 2016-09-08 .
  201. ^ "Версия 1.11.10, 2014-12-10 — Botan". 2014-12-10 . Получено 2014-12-14 .
  202. ^ ab «Версия 1.11.26, 04.01.2016 — Ботан». 04.01.2016 . Проверено 25 февраля 2016 г.
  203. ^ Присутствует, но отключено по умолчанию из-за отсутствия использования в какой-либо реализации.
  204. ^ "gnutls 3.2.0". Архивировано из оригинала 2016-01-31 . Получено 2015-01-26 .
  205. ^ Маврояннопулос, Никос (21 августа 2017 г.). «[gnutls-help] Выпущен GnuTLS 3.6.0».
  206. ^ "gnutls 3.4.4". Архивировано из оригинала 2017-07-17 . Получено 2015-08-25 .
  207. ^ "Приоритетное ключевое слово %DUMBFW" . Получено 2017-04-30 .
  208. ^ "gnutls 3.6.6". 2019-01-25 . Получено 2019-09-01 .
  209. ^ "LibreSSL 2.1.3 выпущен". 2015-01-22 . Получено 2015-01-22 .
  210. ^ "LibreSSL 2.1.4 выпущен". 2015-03-04 . Получено 2015-03-04 .
  211. ^ "MatrixSSL - Новости". 2014-12-04. Архивировано из оригинала 2015-02-14 . Получено 2015-01-26 .
  212. ^ "Обзор загрузки - PolarSSL". 2014-04-11. Архивировано из оригинала 2015-02-09 . Получено 2015-01-26 .
  213. ^ abc "mbed TLS 1.3.10 released". 2015-02-08. Архивировано из оригинала 2015-02-09 . Получено 2015-02-09 .
  214. ^ ab "NSS 3.15.5 release notes". Mozilla Developer Network . Mozilla. Архивировано из оригинала 26 января 2015 г. Получено 2015-01-26 .
  215. ^ "Ошибка 961416 - Поддержка RFC6091 - Использование ключей OpenPGP для аутентификации Transport Layer Security (TLS1.2)". Mozilla . Получено 2014-06-18 .
  216. ^ "Ошибка 972145 - Реализуйте расширение TLS encrypt-then-MAC". Mozilla . Получено 2014-11-06 .
  217. ^ "NSS 3.17.1 release notes". Архивировано из оригинала 2019-04-19 . Получено 2014-10-17 .
  218. ^ "NSS 3.21 release notes". Архивировано из оригинала 2021-12-07 . Получено 2015-11-14 .
  219. ^ «Совет по безопасности OpenSSL [15 октября 2014 г.]». 2014-10-15.
  220. ^ "Основные изменения между OpenSSL 1.0.1f и OpenSSL 1.0.1g [7 апреля 2014 г.]". 2014-04-07. Архивировано из оригинала 2015-01-20 . Получено 2015-02-10 .
  221. ^ "OpenSSL объявляет о выпуске финальной версии OpenSSL 3.2.0". 2023-11-23 . Получено 2024-10-11 .
  222. ^ rustls не реализует более ранние версии, которые гарантировали бы защиту от небезопасного понижения версии
  223. ^ abcd "Microsoft Security Bulletin MS15-121". Март 2023 г. Получено 28.04.2024 г.
  224. ^ ab "Что нового в TLS/SSL (Schannel SSP)". 31 августа 2016 г. Получено 28 апреля 2024 г.
  225. ^ "wolfSSL версии 4.2.0 уже доступна!". 22 октября 2019 г. Получено 13 августа 2021 г.
  226. ^ "wolfSSL поддерживает необработанные открытые ключи" . Получено 2024-10-25 .
  227. ^ "Версия 1.11.31, 2015-08-30 — Botan". 2016-08-30 . Получено 2016-09-08 .
  228. ^ "JEP 164: Использование инструкций ЦП для криптографии AES". openjdk.java.net .
  229. ^ "Запрос КОДА ПАРОЛЯ RSA SecurID". sso.rsasecurity.com .
  230. Маврояннопулос, Никос (9 октября 2016 г.). «[gnutls-devel] gnutls 3.5.5».
  231. ^ "Java SSL-провайдер с поддержкой AES-NI". stackoverflow.com .
  232. ^ "PolarSSL 1.3.3 released". 2013-12-31. Архивировано из оригинала 2014-01-07 . Получено 2014-01-07 . Мы включили поддержку AES-NI в наши модули AES и GCM.
  233. ^ Обычно libssl NSS выполняет все операции через интерфейс PKCS#11, как с аппаратными, так и с программными токенами.
  234. ^ "Ошибка 706024 - Улучшения AES-NI для NSS в системах Sandy Bridge" . Получено 28.09.2013 .
  235. ^ "Ошибка 479744 - RFE: поддержка VIA Padlock ACE (аппаратный RNG, AES, SHA1 и SHA256)" . Получено 11.04.2014 .
  236. ^ https://habrahabr.ru/post/134725/, http://forum.rutoken.ru/topic/1639/, https://dev.rutoken.ru/pages/viewpage.action?pageId=18055184 (на русском языке)
  237. ^ "git.openssl.org Git - openssl.git/commitdiff". git.openssl.org .
  238. ^ https://opensource.apple.com/source/Security/Security-55179.13/sec/Security/SecECKey.c
  239. ^ «Руководство по роли криптографа для соответствия FIPS 140-2 OS X Mountain Lion v10.8» (PDF) . Apple Inc. 2013.
  240. ^ "Поддержка асинхронного Intel QuickAssist wolfSSL - wolfSSL". 18 января 2017 г.
  241. ^ "Поддержка CAAM в wolfSSL". 10 марта 2020 г.
  242. ^ "LibreSSL 2.2.1 Released". 2015-07-08 . Получено 2016-01-30 .
  243. ^ "интеграция ktls для rustls" . Получено 2024-08-29 .
  244. ^ "wolfProvider". 2021-11-10 . Получено 2022-01-17 .
  245. ^ ab Схема URI PKCS #11. doi : 10.17487/RFC7512 . RFC 7512.
  246. ^ "libp11: библиотека-оболочка PKCS#11". 19 января 2018 г. – через GitHub.
  247. ^ "Windows CNG bridge for rustls" . Получено 2024-08-29 .
  248. ^ Возможность замены/дополнения «на лету».
  249. ^ "Nss compat ossl - Fedora Project Wiki". fedoraproject.org .
  250. ^ "уровень совместимости rustls-openssl" . Получено 2024-08-29 .
  251. ^ ab "NSPR". Сеть разработчиков Mozilla .
  252. ^ Для Unix/Linux он использует /dev/urandom, если он доступен, для Windows он использует CAPI. Для других платформ он получает данные от часов и пытается открыть системные файлы. NSS имеет набор платформенно-зависимых функций, которые он использует для определения случайности.