Сравнение реализаций TLS - Comparison of TLS implementations

В Безопасность транспортного уровня (TLS) протокол обеспечивает возможность безопасной связи между сетями. Этот сравнение реализаций TLS сравнивает несколько наиболее заметных библиотеки. Есть несколько реализаций TLS, которые бесплатно программное обеспечение и Открытый исходный код.

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

Обзор

ВыполнениеРазработанОткрытый исходный кодЛицензия на программное обеспечениеПравообладательНаписано вПоследняя стабильная версия, дата выпускаИсточник
БотанДжек ЛлойддаУпрощенная лицензия BSDДжек ЛлойдC ++2.16.0 (6 октября 2020 г.; 2 месяца назад (2020-10-06)[1]) [±]США (Вермонт)
BoringSSLGoogleдаДвойная лицензия OpenSSL-SSLeay, Лицензия ISCЭрик Янг, Тим Хадсон, Sun, проект OpenSSL, Google и другиеC, C ++, Идти, сборка??Австралия / ЕС
Надувной ЗамокЛегион Надувного Замка Inc.даЛицензия MITЛегион Надувного Замка Inc.Ява, C #
Ява1.67 / 1 ноября 2020 г.; 38 дней назад (2020-11-01)[2]
Java FIPSBC-FJA 1.0.2 / 24 августа 2019 г.; 15 месяцев назад (2019-08-24)[3]
C #1.8.8 / 22 сентября 2020 г.; 2 месяца назад (2020-09-22)[4]
C # FIPSBC-FNA 1.0.1 / 28 декабря 2016 г.; 3 года назад (2016-12-28)[5]
Австралия
cryptlibПитер ГутманндаЛицензия Sleepycat и коммерческая лицензияПитер ГутманнC3.4.5 (2019; 1 год назад (2019)[6]) [±]NZ
GnuTLSПроект GnuTLSдаGNU LGPLv2.1 +Фонд свободного программного обеспеченияC3.6.14 (3 июня 2020 г.; 6 месяцев назад (2020-06-03)[7]) [±]ЕС (Греция и Швеция)
Расширение защищенного сокета Java (JSSE)OracleдаGNU GPLv2 и коммерческая лицензияOracleЯва15.0.1 (20 октября 2020 г.; 50 дней назад (2020-10-20)[8]) [±]

11.0.9.1 (4 ноября 2020 г.; 35 дней назад (2020-11-04)[9]) [±]
8u275 (4 ноября 2020 г.; 35 дней назад (2020-11-04)[10]) [±]

нас
LibreSSLПроект OpenBSDдаЛицензия Apache 1.0, 4-п. Лицензия BSD, Лицензия ISC, а некоторые всеобщее достояниеЭрик Янг, Тим Хадсон, Sun, проект OpenSSL, проект OpenBSD и другиеC, сборка3.2.3 (8 декабря 2020 г.; 1 день назад (2020-12-08)[11][12]) [±]Канада
MatrixSSL[13]Сети PeerSecдаGNU GPLv2 + и коммерческая лицензияСети PeerSecC4.2.2 (11 сентября 2019 г.; 14 месяцев назад (2019-09-11) [14]) [±]нас
Мбед TLS (ранее PolarSSL)РукадаЛицензия Apache 2.0, GNU GPLv2 + и коммерческая лицензияArm HoldingsC2.24.0 (1 сентября 2020 г.; 3 месяца назад (2020-09-01)[15]) [±]ЕС (Нидерланды)
Услуги сетевой безопасности (NSS)Mozilla, AOL, Красная шляпа, солнце, Oracle, Google и другиедаMPL 2.0Участники NSSC, сборка3.59 (13 ноября 2020 г.; 26 дней назад (2020-11-13)[16]) [±]

3.53.1 (16 июня 2020 г.; 5 месяцев назад (2020-06-16)[16]) [±]

нас
OpenSSLOpenSSL проектдаДвойная лицензия OpenSSL-SSLeayЭрик Янг, Тим Хадсон, Sun, проект OpenSSL и другиеC, сборка1.1.1h (22 сентября 2020 г.; 2 месяца назад (2020-09-22)[17]) [±]Австралия / ЕС
RSA BSAFEDell, ранее RSA БезопасностьНетПроприетарныйDellЯва, C, сборкаSSL-J 6.2.7 (28 июня 2020 г.; 5 месяцев назад (2020-06-28)) [±]

Micro Edition Suite 4.5.1 (25 ноября 2020 г.; 14 дней назад (2020-11-25)[18]) [±]

Австралия
S2nAmazonдаЛицензия Apache 2.0, GNU GPLv2 + и коммерческая лицензияAmazon, Inc.CНепрерывныйнас
SChannelMicrosoftНетПроприетарныйMicrosoft Inc.Windows 10, 29 июля 2015 г.нас
Безопасный транспортApple Inc.даAPSL 2.0Apple Inc.57337.20.44 (OS X 10.11.2), 2015-12-08нас
wolfSSL (ранее CyaSSL)wolfSSL[19]даGNU GPLv2 + и коммерческая лицензияwolfSSL Inc.[20]C4.5.0 (19 августа 2020 г.; 3 месяца назад (2020-08-19)[21]) [±]нас
Erlang / OTP SSL-приложениеEricssonдаЛицензия Apache 2.0EricssonErlangОТП-21, 19.06.2018Швеция
ВыполнениеРазработанОткрытый исходный кодЛицензия на программное обеспечениеВладелец авторских правНаписано вПоследняя стабильная версия, дата выпускаИсточник

Поддержка протокола

Существует несколько версий протокола TLS. SSL 2.0 устарел[22] версия протокола со значительными недостатками. SSL 3.0 (1996) и TLS 1.0 (1999) являются преемниками с двумя слабостями в CBC-заполнении, которые были объяснены в 2001 году Сержем Воденэ.[23] TLS 1.1 (2006) исправил только одну из проблем, переключившись на случайный векторы инициализации (IV) для блочных шифров CBC, тогда как более проблематичное использование mac-pad-encrypt вместо безопасного pad-mac-encrypt было решено с помощью RFC 7366.[24] Обходной путь для SSL 3.0 и TLS 1.0, примерно эквивалентный случайным IV из TLS 1.1, был широко принят во многих реализациях в конце 2011 года.[25] поэтому с точки зрения безопасности все существующие версии TLS 1.0, 1.1 и 1.2 обеспечивают эквивалентную стойкость в базовом протоколе и подходят для 128-битной безопасности согласно NIST SP800-57 как минимум до 2030 года. В 2014 году ПУДЕЛЬ Была обнаружена уязвимость SSL 3.0, которая использует известные уязвимости в CBC и небезопасное резервное согласование, используемое в браузерах.[26]

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

Безопасность на транспортном уровне дейтаграмм (DTLS или датаграмма TLS) 1.0 - это модификация TLS 1.1 для пакетно-ориентированного транспортного уровня, на котором должны допускаться потеря пакетов и их переупорядочение. Версия DTLS 1.2 на основе TLS 1.2 была опубликована в январе 2012 года.[28]

Обратите внимание, что в SSL 2.0 и SSL 3.0 есть известные уязвимости. За исключением предсказуемых IV (для которых существует простой обходной путь) все известные в настоящее время уязвимости одинаково влияют на все версии TLS 1.0 / 1.1 / 1.2.[29]

ВыполнениеSSL 2.0 (ненадежный)[30]SSL 3.0 (ненадежный)[31]TLS 1.0[32]TLS 1.1[33]TLS 1.2[34]TLS 1.3DTLS 1.0[35]DTLS 1.2[28]
БотанНетНет[36]дадададада
BoringSSLдададададада
Надувной ЗамокНетНетдададада
(черновая версия)
дада
cryptlibНетПо умолчанию отключено во время компиляциидададаНетНет
GnuTLSНет[а]По умолчанию отключено[37]дададада[38]дада
JSSEНет[а]По умолчанию отключено[39]дададада
(JDK 11+)[40]
дада
LibreSSLНет[41]Нет[42]дададададаНет
MatrixSSLНетПо умолчанию отключено во время компиляции[43]дададададада
Мбед TLSНетПо умолчанию отключено[44]дададаНетда[44]да[44]
НССНет[b]По умолчанию отключено[45]дада[46]да[47]да[48]да[46]да[49]
OpenSSLНет[50]По умолчанию отключенодада[51]да[51]дадада[52]
RSA BSAFE[53]НетПо умолчанию отключенодададаНетНетНет
S2n[54]НетПо умолчанию отключенодададаНетНет
SChannel XP, 2003 г.[55]По умолчанию отключено в MSIE 7Включено по умолчаниюВключено по умолчанию в MSIE 7НетНетНетНет
SChannel Vista[56]По умолчанию отключеноВключено по умолчаниюдаНетНетНетНет
SChannel 2008[56]По умолчанию отключеноВключено по умолчаниюдаПо умолчанию отключено (KB4019276)По умолчанию отключено (KB4019276)НетНет
SChannel 7, 2008R2[57]По умолчанию отключеноПо умолчанию отключено в MSIE 11даВключено по умолчанию в MSIE 11Включено по умолчанию в MSIE 11да[58]Нет[58]
SChannel 8, 2012[57]По умолчанию отключеноВключено по умолчаниюдаПо умолчанию отключеноПо умолчанию отключенодаНет
SChannel 8.1, 2012R2, 10 версий 1507 и 1511[57]По умолчанию отключеноПо умолчанию отключено в MSIE 11дадададаНет
SChannel 10 версия 1607/2016[59]НетПо умолчанию отключенодадададада
Безопасный транспорт

OS X 10.2-10.7, iOS 1-4

дададаНетНетНетНет
Безопасный транспорт OS X 10.8-10.10, iOS 5-8Нет[c]дадада[c]да[c]да[c]Нет
Безопасный транспорт OS X 10.11, iOS 9НетНет[c]дадададаНеизвестно
Безопасный транспорт OS X 10.13, iOS 11НетНет[c]дададада
(черновая версия)[60]
даНеизвестно
wolfSSLНетПо умолчанию отключено[61]дададададада
Erlang / OTP SSL-приложениеНетПо умолчанию отключенодададаЕще нетдада
ВыполнениеSSL 2.0 (ненадежный)[30]SSL 3.0 (ненадежный)[31]TLS 1.0[32]TLS 1.1[33]TLS 1.2[34]TLS 1.3DTLS 1.0[35]DTLS 1.2[28]
  1. ^
    Приветствие клиента SSL 2.0 поддерживается, хотя SSL 2.0 не поддерживается или отключен из-за обратной совместимости.
  2. ^
    Реализация протокола SSL / TLS на стороне сервера по-прежнему поддерживает обработку полученных сообщений приветствия v2-совместимого клиента.[62]
  3. ^
    Безопасный транспорт: поддержка 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 и новее.[63]
  4. [64]

Криптография 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-битными ключами необходимы для защиты Совершенно секретно Информация.

ВыполнениеTLS 1.2 Люкс B
Ботанда
Надувной Замокда
cryptlibда
GnuTLSда
JSSEда[65]
LibreSSLда
MatrixSSLда
Мбед TLSда
НССНет[66]
OpenSSLда[52]
RSA BSAFEда[53]
S2n
SChannelда[67]
Безопасный транспортНет
wolfSSLда
ВыполнениеTLS 1.2 Люкс B

Сертификаты

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

ВыполнениеFIPS 140-1, FIPS 140-2[69]Общие критерииВстроенное решение FIPS
1-й уровеньУровень 2[оспаривается ]
Ботан[70]
Надувной ЗамокBC-FJA 1.0.0 (№ 2768)
BC-FJA 1.0.1 (№ 3152)
cryptlib[71]
GnuTLS[72]Криптографический модуль Red Hat Enterprise Linux GnuTLS (№ 2780)
JSSE
LibreSSL[41]без поддержки
MatrixSSL[73]Криптографический модуль SafeZone FIPS: 1.1 (№ 2389)
Мбед TLS[74]
НСС[75]Службы сетевой безопасности: 3.2.2 (# 247)
Криптографический модуль служб сетевой безопасности: 3.11.4 (# 815), 3.12.4 (# 1278), 3.12.9.1 (# 1837)
Модуль безопасности Netscape: 1 (# 7[примечания 1]), 1.01 (#47[примечания 2])
Службы сетевой безопасности: 3.2.2 (# 248[примечания 3])
Криптографический модуль служб сетевой безопасности: 3.11.4 (# 814[примечания 4]), 3.12.4 (#1279, #1280[примечания 5])
OpenSSL[76]Объектный модуль OpenSSL FIPS: 1.0 (# 624), 1.1.1 (# 733), 1.1.2 (# 918), 1.2, 1.2.1, 1.2.2, 1.2.3 или 1.2.4 (# 1051)
2.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5, 2.0.6, 2.0.7 или 2.0.8 (# 1747)
RSA BSAFE Люкс Micro-Edition[77]Crypto-C ME 3.0.0.1 (№ 1092)
Crypto-C ME 4.0.1 / 4.0.2.5 (# 2047, # 2056, # 2097, # 2217)
Crypto-C ME 4.1 / 4.1.0.1 / 4.1.2 / 4.1.3.2 (# 2294, # 2300)
да
RSA BSAFE SSL-J[78]Crypto-J 6.0 (№ 1785, № 1786)
Crypto-J 6.1 / 6.1.1.0.1 (# 2057, # 2058)
Crypto-J 6.2 / 6.2.1.1 (# 2468, # 2469)
Crypto-J 6.2.4 (№ 3172, № 3184)
да
SChannel[79]Криптографические модули в Windows NT 4.0, 95, 95, 2000, XP, Server 2003, CE 5, CE 6, Mobile 6.x, Vista, Server 2008, 7, Server 2008 R2, 8, Server 2012, RT, Surface, Phone 8
Смотрите подробности на Проверенные криптографические модули Microsoft FIPS 140
Безопасный транспортКриптографический модуль Apple FIPS: 1.0 (OS X 10.6, # 1514), 1.1 (OS X 10.7, # 1701)
Модуль Apple OS X CoreCrypto; Модуль ядра CoreCrypto: 3.0 (OS X 10.8, # 1964, # 1956), 4.0 (OS X 10.9, # 2015, # 2016)
Модуль Apple iOS CoreCrypto; Модуль ядра CoreCrypto: 3.0 (iOS 6, # 1963, # 1944), 4.0 (iOS 7, # 2020, # 2021)
wolfSSL[80]Модуль wolfCrypt FIPS: 4.0 (# 3389)
Смотрите подробности на Сертификат NIST для утвержденных рабочих сред
Модуль wolfCrypt FIPS: 3.6.0 (# 2425)
Смотрите подробности на Сертификат NIST для утвержденных рабочих сред
да
Выполнение1-й уровеньУровень 2Общие критерииВстроенное решение FIPS
FIPS 140-1, FIPS 140-2
  1. ^ с солнцем Sparc 5 ч / вс Солярис v 2.4SE (с рейтингом ITSEC)
  2. ^ с солнцем Ультра-5 ж / вс Надежный Solaris версия 2.5.1 (с рейтингом ITSEC)
  3. ^ с Солярис v8.0 с AdminSuite 3.0.1, как указано в отчете UK IT SEC CC № P148 EAL4 на SUN SPARC Ультра-1
  4. ^ с этими платформами; Red Hat Enterprise Linux Версия 4 Обновление 1 AS на IBM xSeries 336 с процессором Intel Xeon, Надежный 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, Солнце Solaris 10 5/08 работает на Солнце Рабочая станция SunBlade 2000, Солнце Solaris 10 5/08 работает на Рабочая станция Sun W2100z

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

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

ВыполнениеЮАР[34]ЮАР -ЭКСПОРТ (небезопасно)[34]DHE -ЮАР (прямая секретность )[34]DHE -DSS (прямая секретность )[34]ECDH -ECDSA[81]ECDHE -ECDSA (прямая секретность )[81]ECDH -ЮАР[81]ECDHE -ЮАР (прямая секретность )[81]ГОСТ Р 34.10-94, 34.10-2001[82]
БотанПо умолчанию отключеноНетдаПо умолчанию отключеноНетдаНетдаНет
cryptlibдаНетдадаНетдаНетНетНет
GnuTLSдаНетдаПо умолчанию отключено[37]НетдаНетдаНет
JSSEдаПо умолчанию отключенодадададададаНет[83]
LibreSSLдаНет[41]дадададададада[84]
MatrixSSLдаНетдаНетдадададаНет
Мбед TLSдаНетдаНетдадададаНет
НССдаПо умолчанию отключенода[85]дададададаНет[86][87]
OpenSSLдаНет[50]даПо умолчанию отключено[50]дадададада[88]
RSA BSAFEдаНетдадададададаНет
SChannel XP / 2003дадаНетXP: не более 1024 бит
2003: только 1024 бит
НетНетНетНетНет[89]
SChannel Vista / 2008 г.даПо умолчанию отключеноНет1024 бит по умолчанию[90]НетдаНеткроме AES_GCMНет[89]
SChannel 8/2012даПо умолчанию отключеноТолько AES_GCM[91][92][93]1024 бит по умолчанию[90]НетдаНеткроме AES_GCMНет[89]
SChannel 7 / 2008R2, 8.1 / 2012R2даПо умолчанию отключенода2048 бит по умолчанию[90]НетдаНеткроме AES_GCMНет[89]
SChannel 10даПо умолчанию отключенода2048 бит по умолчанию[90]НетдаНетдаНет[89]
Безопасный транспорт OS X 10.6дадакроме AES_GCMдадакроме AES_GCMдакроме AES_GCMНет
Безопасный транспорт OS X 10.8-10.10даНеткроме AES_GCMНетдакроме AES_GCMдакроме AES_GCMНет
Безопасный транспорт OS X 10.11даНетдаНетНетдаНетдаНет
wolfSSLдаНетдаНетдадададаНет
Erlang / OTP SSL-приложениедаНетдадададададаНет
ВыполнениеЮАР[34]ЮАР -ЭКСПОРТ (небезопасно)[34]DHE -ЮАР (прямая секретность )[34]DHE -DSS (прямая секретность )[34]ECDH -ECDSA[81]ECDHE -ECDSA (прямая секретность )[81]ECDH -ЮАР[81]ECDHE -ЮАР (прямая секретность )[81]ГОСТ Р 34.10-94, 34.10-2001[82]

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

ВыполнениеSRP[94]SRP -DSS[94]SRP -ЮАР[94]PSK -ЮАР[95]PSK[95]DHE -PSK (прямая секретность )[95]ECDHE -PSK (прямая секретность )[96]KRB5[97]DH -ANON[34] (ненадежный)ECDH -ANON[81] (ненадежный)
БотандададаНетдададаНетПо умолчанию отключеноПо умолчанию отключено
cryptlibНетНетНетНетдадаНетНеизвестноНетНет
GnuTLSдададададададаНетПо умолчанию отключеноПо умолчанию отключено
JSSEНетНетНетНетНетНетНетНеизвестноПо умолчанию отключено в Java 8По умолчанию отключено в Java 8
LibreSSLНет[98]Нет[98]Нет[98]НетНетНетНетНетдада
MatrixSSLНетНетНетдададаНетНетПо умолчанию отключеноНет
Мбед TLSНетНетНетдадададаНетНетНет
НССНет[99]Нет[99]Нет[99]Нет[100]Нет[100]Нет[100]Нет[100]НетТолько на стороне клиента, по умолчанию отключено[101]По умолчанию отключено[102]
OpenSSLдададададададада[103]По умолчанию отключено[104]По умолчанию отключено[104]
RSA BSAFE Люкс Micro EditionНетНетНетНетНетНетНетНетПо умолчанию отключеноПо умолчанию отключено
RSA BSAFE SSL-JНетНетНетНетда[105]НетНетНетПо умолчанию отключеноПо умолчанию отключено
SChannelНетНетНетНетНетНетНетдаНетНет
Безопасный транспортНетНетНетНетНетНетНетНеизвестнодада
wolfSSLНетНетНетНетдаНетда[106]НетНетНет
Erlang / OTP SSL-приложениеПо умолчанию отключеноПо умолчанию отключеноПо умолчанию отключеноПо умолчанию отключеноПо умолчанию отключеноПо умолчанию отключеноНетНетПо умолчанию отключеноПо умолчанию отключено
ВыполнениеSRP[94]SRP -DSS[94]SRP -ЮАР[94]PSK -ЮАР[95]PSK[95]DHE -PSK (прямая секретность )[95]ECDHE -PSK (прямая секретность )[96]KRB5[97]DH -ANON[34] (ненадежный)ECDH -ANON[81] (ненадежный)

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

ВыполнениеОпределяется приложениемПроверка пути PKIX[107]CRL[108]OCSP[109]ДЕЙН (DNSSEC)[110]Доверие при первом использовании (TOFU)CT[111]
БотандадададаНетНетНеизвестно
Надувной ЗамокдададададаНетНеизвестно
cryptlibдадададаНетНетНеизвестно
GnuTLSдадададададаНеизвестно
JSSEдадададаНетНетНеизвестно
LibreSSLдадададаНетНетНеизвестно
MatrixSSLдададада[112]НетНетНеизвестно
Мбед TLSдададаНет[113]НетНетНеизвестно
НССдадададаНет[114]НетНеизвестно
OpenSSLдададададаНетда
RSA BSAFEдадададаНетНетНеизвестно
SChannelНеизвестнодада[115]да[115]НетНетНеизвестно
Безопасный транспортдадададаНетНетНеизвестно
wolfSSLдадададаНетНетНеизвестно
Erlang / OTP SSL-приложениедададаНетНетНетНеизвестно
ВыполнениеОпределяется приложениемПроверка пути PKIXCRLOCSPДЕЙН (DNSSEC)Доверие при первом использовании (TOFU)CT

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

ВыполнениеБлочный шифр с режим работыПотоковый шифрНикто
AES GCM
[116]
AES СКК
[117]
AES CBCКамелия GCM
[118]
Камелия CBC
[119]
ARIA GCM
[120]
ARIA CBC
[120]
СЕМЯ CBC
[121]
3DES EDE CBC
(ненадежный)[122]
ГОСТ 28147-89 CNT
(предложил)
[82][n 1]
ChaCha20 -Поли1305
[123]
Ноль
(ненадежный)
[n 2]
БотандададададаНетНетПо умолчанию отключеноПо умолчанию отключеноНетда[124]Не реализована
BoringSSLдаНетдаНетНетНетНетНетдаНетда
cryptlibдаНетдаНетНетНетНетНетдаНетНетНе реализована
GnuTLSдада[37]дададаНетНетНетПо умолчанию отключено[125]Нетда[126]По умолчанию отключено
JSSEдаНетдаНетНетНетНетНетПо умолчанию отключено[127]Нет[83]да
(JDK 12+)[128]
По умолчанию отключено
LibreSSLда[41]НетдаНетда[84]НетНетНет[41]дада[84]да[41]По умолчанию отключено
MatrixSSLдаНетдаНетНетНетНетдаПо умолчанию отключеноНетда[129]По умолчанию отключено
Мбед TLSдада [130]дададада[131]да[131]НетдаНетда[132]По умолчанию отключено во время компиляции
НССда[133]НетдаНет[134][n 3]да[135]НетНетда[136]даНет[86][87]да[137]По умолчанию отключено
OpenSSLда[138]По умолчанию отключено[50]даНетПо умолчанию отключено[50]По умолчанию отключено[139]НетПо умолчанию отключено[50]По умолчанию отключено[50]да[88]да[50]По умолчанию отключено
RSA BSAFE Люкс Micro-EditionдададаНетНетНетдадаСамый низкий приоритетНетНетПо умолчанию отключено
RSA BSAFE SSL-JдададаНетНетНетНетНетПо умолчанию отключеноНетНетПо умолчанию отключено
SChannel XP / 2003НетНетТолько 2003 год[140]НетНетНетНетНетдаНет[89]НетПо умолчанию отключено
SChannel Vista / 2008, 2008R2, 2012НетНетдаНетНетНетНетНетдаНет[89]НетПо умолчанию отключено
SCканал 7, 8, 8.1 / 2012R2Да, кроме ECDHE_RSA
[91][92]
НетдаНетНетНетНетНетдаНет[89]НетПо умолчанию отключено
Канал 10[141]даНетдаНетНетНетНетНетдаНет[89]НетПо умолчанию отключено
Безопасный транспорт OS X 10.6–10.10НетНетдаНетНетНетНетНетдаНетНетПо умолчанию отключено
Безопасный транспорт OS X 10.11даНетдаНетНетНетНетНетдаНетНетПо умолчанию отключено
wolfSSLдададаНетдаНетНетНетдаНетдаПо умолчанию отключено
Erlang / OTP SSL-приложениедаНетдаНетНетНетНетНетПо умолчанию отключеноНетЭкспериментальныйОтключить по умолчанию
ВыполнениеБлочный шифр с режим работыПотоковый шифрНикто
AES GCM
[116]
AES СКК
[117]
AES CBCКамелия GCM
[118]
Камелия CBC
[119]
ARIA GCM
[120]
ARIA CBC
[120]
СЕМЯ CBC
[121]
3DES EDE CBC
(ненадежный)[122]
ГОСТ 28147-89 CNT
(предложил)
[82][n 1]
ChaCha20 -Поли1305
[123]
Ноль
(ненадежный)
[n 2]
Примечания
  1. ^ а б Этот алгоритм еще не определен как наборы шифров TLS в RFC, предлагается в черновиках.
  2. ^ а б только аутентификация, без шифрования
  3. ^ Этот алгоритм является реализовано в NSS вилка использован Бледная луна.

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

ВыполнениеБлочный шифр с режим работыПотоковый шифр
ИДЕЯ CBC
[n 1](ненадежный)[143]
DES CBC
(ненадежный)
[n 1]
DES -40 CBC
(ЭКСПОРТ, небезопасно)
[n 2]
RC2 -40 CBC
(ЭКСПОРТ, небезопасно)
[n 2]
RC4 -128
(ненадежный)
[n 3]
RC4 -40
(ЭКСПОРТ, небезопасно)
[n 4][n 2]
БотанНетНетНетНетНет[144]Нет
BoringSSLНетНетНетНетПо умолчанию отключено во время компиляцииНет
cryptlibНетПо умолчанию отключено во время компиляцииНетНетПо умолчанию отключено во время компиляцииНет
GnuTLSНетНетНетНетПо умолчанию отключено[37]Нет
JSSEНетПо умолчанию отключеноПо умолчанию отключеноНетПо умолчанию отключеноПо умолчанию отключено [145]
LibreSSLдадаНет[41]Нет[41]даНет[41]
MatrixSSLдаНетНетНетПо умолчанию отключеноНет
Мбед TLSНетПо умолчанию отключено во время компиляцииНетНетПо умолчанию отключено во время компиляции[44]Нет
НССдаПо умолчанию отключеноПо умолчанию отключеноПо умолчанию отключеноСамый низкий приоритет[146][147]По умолчанию отключено
OpenSSLПо умолчанию отключено[50]По умолчанию отключеноНет[50]Нет[50]По умолчанию отключеноНет[50]
RSA BSAFE Люкс Micro-EditionНетНетНетНетПо умолчанию отключеноНет
RSA BSAFE SSL-JНетПо умолчанию отключеноПо умолчанию отключеноНетПо умолчанию отключеноПо умолчанию отключено
SChannel XP / 2003Нетдадададада
SChannel Vista / 2008 г.НетПо умолчанию отключеноПо умолчанию отключеноПо умолчанию отключенодаПо умолчанию отключено
SChannel 7 / 2008R2НетПо умолчанию отключеноПо умолчанию отключеноПо умолчанию отключеноСамый низкий приоритет
скоро будет отключен[148]
По умолчанию отключено
SChannel 8/2012НетПо умолчанию отключеноПо умолчанию отключеноПо умолчанию отключеноТолько как запасной вариантПо умолчанию отключено
SChannel 8.1 / 2012R2НетПо умолчанию отключеноПо умолчанию отключеноПо умолчанию отключеноПо умолчанию отключено[148]По умолчанию отключено
Канал 10[141]НетПо умолчанию отключеноПо умолчанию отключеноПо умолчанию отключеноПо умолчанию отключено[148]По умолчанию отключено
Безопасный транспорт OS X 10.6дададададада
Безопасный транспорт OS X 10.7даНеизвестноНеизвестноНеизвестнодаНеизвестно
Безопасный транспорт OS X 10.8-10.9даПо умолчанию отключеноПо умолчанию отключеноПо умолчанию отключенодаПо умолчанию отключено
Безопасный транспорт OS X 10.10-10.11даПо умолчанию отключеноПо умолчанию отключеноПо умолчанию отключеноСамый низкий приоритетПо умолчанию отключено
Безопасный транспорт macOS 10.12даПо умолчанию отключеноПо умолчанию отключеноПо умолчанию отключеноПо умолчанию отключеноПо умолчанию отключено
wolfSSLПо умолчанию отключено[149]НетНетНетПо умолчанию отключеноНет
Erlang / OTP SSL-приложениенетПо умолчанию отключенонетнетПо умолчанию отключенонет
ВыполнениеБлочный шифр с режим работыПотоковый шифр
ИДЕЯ CBC
[n 1](ненадежный)[143]
DES CBC
(ненадежный)
[n 1]
DES -40 CBC
(ЭКСПОРТ, небезопасно)
[n 2]
RC2 -40 CBC
(ЭКСПОРТ, небезопасно)
[n 2]
RC4 -128
(ненадежный)
[n 3]
RC4 -40
(ЭКСПОРТ, небезопасно)
[n 4][n 2]
Примечания
  1. ^ а б c d IDEA и DES были удалены из TLS 1.2.[142]
  2. ^ а б c d е ж Комплекты шифров с 40-битной стойкостью были разработаны для работы с уменьшенной длиной ключа, чтобы соответствовать требованиям США в отношении экспорта криптографического программного обеспечения, содержащего определенные надежные алгоритмы шифрования (см. Экспорт криптографии из США ). Эти слабые наборы запрещены в TLS 1.1 и более поздних версиях.
  3. ^ а б В RC4 атаки ослабить или сломать RC4, используемый в SSL / TLS. Использование RC4 запрещено RFC 7465.
  4. ^ а б В RC4 атаки ослабить или сломать RC4, используемый в SSL / TLS.

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

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

Выполнениеsect163k1
НИСТ К-163
(1)[81]
sect163r1
(2)[81]
sect163r2
NIST B-163
(3)[81]
sect193r1
(4)[81]
sect193r2
(5)[81]
sect233k1
NIST K-233
(6)[81]
sect233r1
NIST B-233
(7)[81]
sect239k1
(8)[81]
sect283k1
NIST K-283
(9)[81]
sect283r1
NIST B-283
(10)[81]
sect409k1
NIST K-409
(11)[81]
sect409r1
NIST B-409
(12)[81]
sect571k1
NIST K-571
(13)[81]
sect571r1
NIST B-571
(14)[81]
БотанНетНетНетНетНетНетНетНетНетНетНетНетНетНет
BoringSSLНетНетНетНетНетНетНетНетНетНетНетНетНетНет
GnuTLSНетНетНетНетНетНетНетНетНетНетНетНетНетНет
JSSEдададададададададададададада
LibreSSLдададададададададададададада
MatrixSSLНетНетНетНетНетНетНетНетНетНетНетНетНетНет
Мбед TLSНетНетНетНетНетНетНетНетНетНетНетНетНетНет
НССдададададададададададададада
OpenSSLдададададададададададададада
RSA BSAFEдаНетдаНетНетдадаНетдададададада
SChannel Vista / 2008, 7 / 2008R2, 8/2012, 8.1 / 2012R2, 10НетНетНетНетНетНетНетНетНетНетНетНетНетНет
Безопасный транспортНетНетНетНетНетНетНетНетНетНетНетНетНетНет
wolfSSLНетНетНетНетНетНетНетНетНетНетНетНетНетНет
Erlang / OTP SSL-приложениедададададададададададададада
Выполнениеsect163k1
НИСТ К-163
(1)
sect163r1
(2)
sect163r2
NIST B-163
(3)
sect193r1
(4)
sect193r2
(5)
sect233k1
NIST K-233
(6)
sect233r1
NIST B-233
(7)
sect239k1
(8)
sect283k1
NIST K-283
(9)
sect283r1
NIST B-283
(10)
sect409k1
NIST K-409
(11)
sect409r1
NIST B-409
(12)
sect571k1
NIST K-571
(13)
sect571r1
NIST B-571
(14)
Выполнениеsecp160k1
(15)[81]
secp160r1
(16)[81]
secp160r2
(17)[81]
secp192k1
(18)[81]
secp192r1
prime192v1
NIST P-192
(19)[81]
secp224k1
(20)[81]
secp224r1
NIST P-244
(21)[81]
secp256k1
(22)[81]
secp256r1
prime256v1
NIST P-256
(23)[81]
secp384r1
NIST P-384
(24)[81]
secp521r1
NIST P-521
(25)[81]
произвольные простые кривые
(0xFF01)[81][150]
произвольные кривые char2
(0xFF02)[81][150]
БотанНетНетНетНетНетНетНетНетдададаНетНет
BoringSSLНетНетНетНетНетНетдаНетдадаДа (по умолчанию отключено)НетНет
GnuTLSНетНетНетНетдаНетдаНетдададаНетНет
JSSEдададададададададададаНетНет
LibreSSLдададададададададададаНетНет
MatrixSSLНетНетНетНетдаНетдаНетдададаНетНет
Мбед TLSНетНетНетдадададададададаНетНет
НССдададададададададададаНетНет
OpenSSLдададададададададададаНетНет
RSA BSAFEНетНетНетНетдаНетдаНетдададаНетНет
SChannel Vista / 2008, 7 / 2008R2, 8/2012, 8.1 / 2012R2, 10НетНетНетНетНетНетНетНетдададаНетНет
Безопасный транспортНетНетНетНетдаНетНетНетдададаНетНет
wolfSSLдададададададададададаНетНет
Erlang / OTP SSL-приложениедададададададададададаНетНет
Выполнениеsecp160k1
(15)
secp160r1
(16)
secp160r2
(17)
secp192k1
(18)
secp192r1
prime192v1
NIST P-192
(19)
secp224k1
(20)
secp224r1
NIST P-244
(21)
secp256k1
(22)
secp256r1
prime256v1
NIST P-256
(23)
secp384r1
NIST P-384
(24)
secp521r1
NIST P-521
(25)
произвольные простые кривые
(0xFF01)
произвольные кривые char2
(0xFF02)
Выполнениемозговой пул
(26)[151]
мозговой пул
(27)[151]
мозговой пул
(28)[151]
X25519
[152]
Подкрутка448
Ed448-Златовласка
[153]
M221
Подкрутка2213
[154]
E222
[154]
Подкрутка1174
[154]
E382
[154]
M383
[154]
Подкрутка383187
[154]
Подкрутка41417
Подкрутка3617
[154]
M511
Подкрутка511187
[154]
E521
[154]
Ботанда[155]да[155]да[155]да[124]НетНетНетНетНетНетНетНетНетНет
BoringSSLНетНетНетдаНетНетНетНетНетНетНетНетНетНет
GnuTLSНетНетНетда[156]НетНетНетНетНетНетНетНетНетНет
JSSEНетНетНетда
(JDK 13+)[157]
НетНетНетНетНетНетНетНетНетНет
LibreSSLда[41]да[41]да[41]да[158]НетНетНетНетНетНетНетНетНетНет
MatrixSSLдададаТолько TLS 1.3[159]НетНетНетНетНетНетНетНетНетНет
Мбед TLSда[160]да[160]да[160]Только примитив[161]Только примитив[162]НетНетНетНетНетНетНетНетНет
НССНет[163]Нет[163]Нет[163]да[164]НетНетНетНетНетНетНетНетНетНет
OpenSSLда[52]да[52]да[52]да[165][166]да[167][168]НетНетНетНетНетНетНетНетНет
RSA BSAFEНетНетНетНетНетНетНетНетНетНетНетНетНетНет
SChannel Vista / 2008, 7 / 2008R2, 8/2012, 8.1 / 2012R2, 10НетНетНетНетНетНетНетНетНетНетНетНетНетНет
Безопасный транспортНетНетНетНетНетНетНетНетНетНетНетНетНетНет
wolfSSLдададада[169]НетНетНетНетНетНетНетНетНетНет
Erlang / OTP SSL-приложениедададаНетНетНетНетНетНетНетНетНетНетНет
Выполнениемозговой пул
(26)
мозговой пул
(27)
мозговой пул
(28)
Подкрутка25519Подкрутка448
Ed448-Златовласка
M221
Подкрутка2213
E222Подкрутка1174E382M383Подкрутка383187Подкрутка41417
Подкрутка3617
M511
Подкрутка511187
E521

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

ВыполнениеHMAC -MD5HMAC -SHA1HMAC -SHA256 / 384AEADГОСТ 28147-89 ИМИТ[82]ГОСТ Р 34.11-94[82]
БотанНетдададаНетНет
cryptlibдадададаНетНет
GnuTLSдадададаНетНет
JSSEдадададаНет[83]Нет[83]
LibreSSLдадададада[84]да[84]
MatrixSSLдадададаНетНет
Мбед TLSдадададаНетНет
НССдадададаНет[86][87]Нет[86][87]
OpenSSLдадададада[88]да[88]
RSA BSAFEдадададаНетНет
SChannel XP / 2003, Vista / 2008дадаXP SP3, 2003 SP2 через исправление[170]НетНет[89]Нет[89]
SChannel 7 / 2008R2, 8/2012, 8.1 / 2012R2дададакроме ECDHE_RSA[91][92][93]Нет[89]Нет[89]
SChannel 10дададада[141]Нет[89]Нет[89]
Безопасный транспортдадададаНетНет
wolfSSLдадададаНетНет
Erlang / OTP SSL-приложениедадададаНетНет
ВыполнениеHMAC-MD5HMAC-SHA1HMAC-SHA256 / 384AEADГОСТ 28147-89 ИМИТГОСТ Р 34.11-94

Сжатие

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

ВыполнениеВЫПУСКАТЬ[171]
(ненадежный)
БотанНет
cryptlibНет
GnuTLSПо умолчанию отключено
JSSEНет
LibreSSLНет[41]
MatrixSSLПо умолчанию отключено
Мбед TLSПо умолчанию отключено
НССПо умолчанию отключено
OpenSSLПо умолчанию отключено
RSA BSAFE[53]Нет
SChannelНет
Безопасный транспортНет
wolfSSLПо умолчанию отключено
Erlang / OTP SSL-приложениеНет
ВыполнениеВЫПУСКАТЬ

Расширения

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

ВыполнениеБезопасное повторное согласование
[172]
Индикация имени сервера
[173]
ALPN
[174]
Запрос статуса сертификата
[173]
OpenPGP
[175]
Дополнительные данные
[176]
Билет на сессию
[177]
Экспортер материалов для ключей
[178]
Максимальная длина фрагмента
[173]
Усеченный HMAC
[173]
Шифрование, затем MAC
[179]
Резервный TLS SCSV
[180]
Расширенный главный секрет
[181]
ClientHello Padding
[182]
Необработанные публичные ключи
[183]
Ботандадада[184]НетНетНетдададаНетдада[185]да[186]НетНеизвестно
cryptlibдадаНетНетНетдаНетНетНет[187]НетдададаНетНеизвестно
GnuTLSдадада[188]даНет[189]дадададаНетда[37]да[190]да[37]да[191]да[192]
JSSEдада[65]да[65]даНетНетдаНетдаНетНетНетдаНетНет
LibreSSLдадада[193]даНетНет?даДа?НетНетНетТолько на стороне сервера[194]НетдаНет
MatrixSSLдадада[195]да[129]НетНетдаНетдадаНетда[129]да[129]НетНеизвестно
Мбед TLSдадада[196]НетНетНетдаНетдаПо умолчанию отключено[44]да[197]да[197]да[197]НетНет
НССдадада[198]даНет[199]НетдадаНетНетНет[200]да[201]да[202]да[198]Неизвестно
OpenSSLдадада[52]даНетНет?дададаНетдада[203]да[204]да[205]Нет
RSA BSAFE Люкс Micro-EditionдадаНетдаНетНетдаНетдадаНетНетНетНетНет
RSA BSAFE SSL-JдадаНетНетНетНетНетНетдадаНетНетНетНетНет
SChannel XP / 2003НетНетНетНетНетдаНетНетНетНетНетНетНетНетНеизвестно
SChannel Vista / 2008 г.дадаНетНетНетдаНетНетНетНетНетНетда[206]НетНеизвестно
SChannel 7 / 2008R2дадаНетдаНетдаНетНетНетНетНетНетда[206]НетНеизвестно
SChannel 8/2012дадаНетдаНетдаТолько на стороне клиента[207]НетНетНетНетНетда[206]НетНеизвестно
SChannel 8.1 / 2012R2, 10дадададаНетдада[207]НетНетНетНетНетда[206]НетНеизвестно
Безопасный транспортдадаНеизвестноНетНетдаНетНетНетНетНетНетНетНетНеизвестно
wolfSSLдадада[149]даНетНетдаНетдадаНетНетдаНетНеизвестно
Приложение Erlang / OTP SSLдададаНетНетНетНетНетНетНетНетдаНетНетНеизвестно
ВыполнениеБезопасное повторное согласованиеИндикация имени сервераALPNЗапрос статуса сертификатаOpenPGPДополнительные данныеБилет на сессиюЭкспортер материалов для ключейМаксимальная длина фрагментаУсеченный HMACШифрование, затем MACРезервный TLS SCSVРасширенный главный секретClientHello PaddingНеобработанные публичные ключи

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

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

ВыполнениеУстройство PKCS # 11Intel AES-NIЧЕРЕЗ PadLockARMv8-AIntel SGXIntel QATIntel SHA
Ботанда[208]даНетдаНетНет
cryptlibдададаНетНет
Крипто ++даНетда
GnuTLSдададада[209]НетНет
JSSEдада[210]НетНетНет
LibreSSLНетдадаНетНет
MatrixSSLдадаНетдаНет
Мбед TLSдада[211]даНетНет
НССда[212]да[213]Нет[214]НетНет
OpenSSLда[215]дадада[216]Нетда
RSA BSAFE Люкс Micro EditionдадаНетдаНетНетда
RSA BSAFE SSL-J [а][b]дадаНетдаНетНетда
SChannelНетдаНетНетНет
Безопасный транспортНетда[219][220]НетдаНет
wolfSSLдадаНетдадада[221]
ВыполнениеУстройство PKCS # 11Intel AES-NIЧЕРЕЗ PadLockARMv8-AIntel SGXIntel QATIntel SHA
  1. ^ Реализации на чистом Java полагаются на JVM возможности оптимизации процессора, такие как OpenJDK Поддержка для AES-NI[217]
  2. ^ RSA BSAFE SSL-J можно настроить для работы в основном режиме с использованием BSAFE Crypto-C Micro Edition, чтобы получить выгоду от оптимизации процессора.[218]

Системные серверные ВМ

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

Выполнение/ dev / криптоaf_algWindows CSPCommonCryptoДвижок OpenSSL
БотанНетНетНетНетЧастичное
cryptlibНетНетНетНетНет
GnuTLSдаНетНетНетНет
JSSEНетНетдаНетНет
LibreSSLНетНетНетНетНет[222]
MatrixSSLНетНетНетдада
Мбед TLSНетНетНетНетНет
НССНетНетНетНетНет
OpenSSLдадаНетНетда
RSA BSAFEНетНетНетНетНет
SChannelНетНетдаНетНет
Безопасный транспортНетНетНетдаНет
wolfSSLдадаЧастичноеНетНет
Erlang / OTP SSL-приложениеНетНетНетНетда
Выполнение/ dev / криптоaf_algWindows CSPCommonCryptoДвижок OpenSSL

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

ВыполнениеTPM поддерживатьПоддержка аппаратных токеновОбъекты, идентифицированные через
БотанЧастичное[186]PKCS11
cryptlibНетPKCS11Пользовательская метка
GnuTLSдаPKCS11RFC 7512 URL-адреса PKCS # 11[223]
JSSEНетPKCS11 Архитектура криптографии Java,
Расширение криптографии Java
LibreSSLдаPKCS11 (через сторонний модуль)Пользовательский метод
MatrixSSLНетPKCS11
Мбед TLSНетPKCS11 (через libpkcs11-helper) или стандартные хукиПользовательский метод
НССНетPKCS11
OpenSSLдаPKCS11 (через сторонний модуль)[224]RFC 7512 URL-адреса PKCS # 11[223]
RSA BSAFE Люкс Micro-EditionНетPKCS11 (через сторонний модуль)Пользовательская метка
RSA BSAFE SSL-JНетНет
SChannelНетMicrosoft CryptoAPIUUID, пользовательская метка
Безопасный транспорт
wolfSSLдаPKCS11
ВыполнениеПоддержка TPMПоддержка аппаратных токеновОбъекты, идентифицированные через

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

ВыполнениеЗависимостиНеобязательные зависимости
БотанC ++ 11sqlite
zlib (сжатие)
bzip2 (сжатие)
liblzma (сжатие)
способствовать росту
openssl (крипто-бэкэнд)
брюки (TPM)
GnuTLSlibc
крапива
gmp
zlib (сжатие)
p11-комплект (PKCS # 11)
брюки (TPM)
свободный (ДЕЙН)
JSSEЯва
MatrixSSLниктоzlib (сжатие)
MatrixSSL-openlibc или newlib
Мбед TLSlibclibpkcs11-помощник (PKCS # 11)
zlib (сжатие)
НССlibc
libnspr4
libsoftokn3
libplc4
libplds4
zlib (сжатие)
OpenSSLlibczlib (сжатие)
wolfSSLНиктоlibc
zlib (сжатие)
Erlang / OTP ssl-приложениеlibcrypto (из OpenSSL), Erlang / OTP и его приложения public_key, crypto и asn1Erlang / OTP -inets (получение CRL по http)
ВыполнениеЗависимостиНеобязательные зависимости

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

ВыполнениеПространство именИнструменты сборкиРуководство по APIКрипто-бэкэндУровень совместимости OpenSSL[уточнить ]
БотанБотан :: TLSMakefileСфинксВ комплекте (подключаемый)Нет
Надувной Замокorg.bouncycastleСреда разработки JavaСправочное руководство для программистов (PDF)В комплекте (подключаемый)Нет
cryptlibсклеп *makefile, рабочие области проекта MSVCСправочное руководство для программистов (PDF), руководство по проектированию архитектуры (PDF)В комплекте (монолитный)Нет
GnuTLSgnutls_ *Autoconf, automake, libtoolСправочник по руководству и API (HTML, PDF)Внешний, libnettleДа (ограничено)
JSSEjavax.net.ssl

sun.security.ssl

MakefileСправочник по API (HTML) +

Справочное руководство JSSE

Архитектура криптографии Java,
Расширение криптографии Java
Нет
MatrixSSLmatrixSsl_ *

пс *

Makefile, рабочие области проектов MSVC, проекты Xcode для OS X и iOSСправочник по API (PDF), Руководство по интеграцииВ комплекте (подключаемый)Да (подмножество: SSL_read, SSL_write и т. Д.)
Мбед TLSmbedtls_ssl_ *

mbedtls_sha1_ *
mbedtls_md5_ *
mbedtls_x509 *
...

Makefile, CMake, Рабочие области проекта MSVC, yottaСправочник по API + документация высокого уровня и уровня модуля (HTML)В комплекте (монолитный)Нет
НССCERT_ *

SEC_ *
SECKEY_ *
NSS_ *
PK11_ *
SSL_ *
...

MakefileРуководство (HTML)В комплекте, на базе PKCS # 11[225]Да (отдельный пакет под названием nss_compat_ossl[226])
OpenSSLSSL_ *

SHA1_ *
MD5_ *
EVP_ *
...

MakefileСтраницы руководстваВ комплекте (монолитный)Нет данных
RSA BSAFE Люкс Micro-EditionР_*MakefileРуководство разработчикаВключеноНет
RSA BSAFE SSL-Jcom.rsa.asn1[а]

com.rsa.certj[b]
com.rsa.jcp[c]
com.rsa.jsafe[d]
com.rsa.ssl[e]
com.rsa.jsse[f]

Загрузчик классов JavaJavadoc, руководство разработчика (HTML)ВключеноНет
wolfSSLwolfSSL_ *

CyaSSL_ *
SSL_ *

Autoconf, automake, libtool, рабочие области проектов MSVC, проекты XCode, проекты CodeWarrior, проекты MPLAB X, Keil, IAR, Clang, GCC, e2StudioРуководство и справочник по API (HTML, PDF)В комплекте (монолитный)Да (около 10% API)
ВыполнениеПространство именИнструменты сборкиРуководство по APIКрипто-бэкэндУровень совместимости OpenSSL
  1. ^
    Классы манипуляции ASN.1
  2. ^
    Собственный API Cert-J
  3. ^
    Классы управления путями сертификатов
  4. ^
    Собственный API Crypto-J, JCE, CMS и PKI
  5. API
  6. ^
    Собственный API SSLJ
  7. ^
    JSSE API

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

ВыполнениеТребования к платформеСетевые требованияБезопасность потоковСлучайное семяВозможность кросс-компиляцииБез ОС (голый металл)Поддерживаемые операционные системы
БотанC ++ 11НиктоПотокобезопасныйЗависит от платформыдаWindows, Linux, macOS, Android, iOS, FreeBSD, OpenBSD, Solaris, AIX, HP-UX, QNX, BeOS, IncludeOS
cryptlibC89POSIX send () и recv (). API для предоставления вашей собственной заменыПотокобезопасныйЗависит от платформы, включая источники оборудованиядадаAMX, BeOS, ChorusOS, DOS, eCos, FreeRTOS / OpenRTOS, uItron, MVS, OS / 2, Palm OS, QNX Neutrino, RTEMS, тандемный NonStop, ThreadX, uC / OS II, Unix (AIX, FreeBSD, HPUX, Linux, OS X, Solaris и т. Д.), VDK, VM / CMS, VxWorks, Win16, Win32, Win64, WinCE / PocketPC / и т. Д., XMK
GnuTLSC89POSIX send () и recv (). API для предоставления вашей собственной замены.Поточно-ориентированный, требует настраиваемых перехватчиков мьютексов, если ни POSIX, ни Windows потоки недоступны.Зависит от платформыдаНетОбычно любые платформы POSIX или Windows, обычно тестируемые платформы, включают GNU / Linux, Win32 / 64, OS X, Solaris, OpenWRT, FreeBSD, NetBSD, OpenBSD.
JSSEЯваСетевые компоненты Java SEПотокобезопасныйЗависит от java.security.SecureRandomдаНа основе Java, платформенно-независимый
MatrixSSLC89НиктоПотокобезопасныйЗависит от платформыдадаВсе
Мбед TLSC89POSIX read () и write (). API для предоставления вашей собственной замены.Доступен слой потоковой передачи (POSIX или собственные крючки)Случайное начальное число, установленное через пул энтропиидадаРаботает на: Win32 / 64, Linux, OS X, Solaris, FreeBSD, NetBSD, OpenBSD, OpenWRT, iPhone (iOS), Xbox, Android, SeggerOS.
НССC89, NSPR[227]NSPR[227] PR_Send () и PR_Recv (). API для предоставления вашей собственной замены.ПотокобезопасныйЗависит от платформы[228]Да (но громоздко)НетAIX, Android, FreeBSD, NetBSD, OpenBSD, BeOS, HP-UX, IRIX, Linux, OS X, OS / 2, Solaris, OpenVMS, Amiga DE, Windows, WinCE, Sony PlayStation
OpenSSLC89НиктоПотокобезопасныйЗависит от платформыдаНетUnix, DOS (с djgpp), Windows, OpenVMS, MacOS, NetWare, eCos
RSA BSAFE Люкс Micro EditionC89НиктоПотокобезопасныйЗависит от платформыдаНетFreeBSD, Linux, macOS, Microsoft Windows, Android, iOS, AIX, Solaris
RSA BSAFE SSL-JЯваСетевые компоненты Java SEПотокобезопасныйЗависит от java.security.SecureRandomдаНетFreeBSD, Linux, macOS, Microsoft Windows, Android, AIX, Solaris
wolfSSLC89POSIX send () и recv (). API для предоставления вашей собственной замены.Поточно-ориентированный, требуется мьютекс-перехватчик, если PThreads или WinThreads недоступны, можно отключитьСлучайное семя, установленное через wolfCryptдадаWin32 / 64, Linux, OS X, Solaris, ThreadX, VxWorks, FreeBSD, NetBSD, OpenBSD, встроенный Linux, Yocto Project, OpenEmbedded, WinCE, Haiku, OpenWRT, iPhone (iOS), Android, Nintendo Wii и Gamecube через DevKitPro, QNX , MontaVista, NonStop, TRON / ITRON / µITRON, Micrium µC / OS-III, FreeRTOS, SafeRTOS, NXP / Freescale MQX, Nucleus, TinyOS, HP / UX, AIX, ARC MQX, Keil RTX, TI-RTOS, uTasker, embOS , INtime, Mbed, uT-Kernel, RIOT, CMSIS-RTOS, FROSTED, Green Hills INTEGRITY, TOPPERS, PetaLinux, Apache mynewt
ВыполнениеТребования к платформеСетевые требованияБезопасность потоковСлучайное семяВозможность кросс-компиляцииБез ОС (голый металл)Поддерживаемые операционные системы

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

  • SCTP - с поддержкой DTLS
  • DCCP - с поддержкой DTLS
  • SRTP - с поддержкой DTLS (DTLS-SRTP) и Secure Real-Time Transport Control Protocol (SRTCP)

Рекомендации

  1. ^ «Ботан: примечания к выпуску». Получено 2020-10-29.
  2. ^ «Примечания к выпуску - bouncycastle.org». 2020-11-01. Получено 2020-11-01.
  3. ^ "Ресурсы Java FIPS - bouncycastle.org". 2019-08-24. Получено 2019-08-29.
  4. ^ "Легион надувного замка C # Cryptography API". 2020-09-22. Получено 2020-11-01.
  5. ^ "Ресурсы C # .NET FIPS - bouncycastle.org". 2016-11-11. Получено 2017-08-28.
  6. ^ Гутманн, Питер (2019). "Скачивание". cryptlib. Оклендский университет Школа компьютерных наук. Получено 2019-08-07.
  7. ^ "Библиотека безопасности транспортного уровня GnuTLS". Получено 30 июн 2020.
  8. ^ «Обновления OpenJDK 15». Корпорация Oracle. Получено 2020-09-15.
  9. ^ «Обновления OpenJDK 11». Корпорация Oracle. Получено 2020-11-08.
  10. ^ «Обновления OpenJDK 8». Корпорация Oracle. Получено 2020-11-08.
  11. ^ "LibreSSL". Получено 9 декабря 2020.
  12. ^ «Релизы LibreSSL». Получено 9 декабря 2020.
  13. ^ Перечисленные функции относятся к версии с закрытым исходным кодом.
  14. ^ «Открытый выпуск MatrixSSL 4.2.2». 2019-09-11. Получено 2020-03-20.
  15. ^ "Выпуск Mbed TLS 2.24.0 · ARMmbed / mbedtls". Получено 2020-09-08.
  16. ^ а б «Примечания к выпуску для последних версий NSS». Сеть разработчиков Mozilla. 13 ноября 2020 г.. Получено 29 ноябрь 2020.
  17. ^ "OpenSSL: Журнал новостей". Получено 2020-09-22.
  18. ^ «Рекомендации по выпуску Dell BSAFE Micro Edition Suite 4.5.1».
  19. ^ "описание продукта wolfSSL". Получено 2016-05-03.
  20. ^ "wolfSSL Embedded SSL / TLS". Получено 2016-05-03.
  21. ^ "wolfSSL ChangeLog". 2020-08-19. Получено 2020-08-22.
  22. ^ RFC 6176: Запрещение уровня защищенных сокетов (SSL) версии 2.0
  23. ^ ""CBC-Padding: недостатки безопасности в SSL, IPsec, WTLS, ... ", Серж Воденэ, 2001" (PDF).
  24. ^ RFC 7366: шифрование, затем MAC для безопасности транспортного уровня (TLS) и безопасности транспортного уровня дейтаграмм
  25. ^ "Rizzo / Duong BEAST Countermeasures".
  26. ^ Мёллер, Бодо; Дуонг, тайский; Котович, Кшиштоф (сентябрь 2014 г.). "Укусы этого пуделя: использование запасного варианта SSL 3.0" (PDF). Получено 15 октября 2014.
  27. ^ Основные отличия TLSv1.2 от TLSv1.1
  28. ^ а б c RFC 6347
  29. ^ «Бардовская атака». 2006: 7–10. CiteSeerX  10.1.1.61.5887. Цитировать журнал требует | журнал = (помощь)
  30. ^ а б "Проект-Хикман-Netscape-SSL-00". tools.ietf.org.
  31. ^ а б RFC 6101
  32. ^ а б RFC 2246
  33. ^ а б RFC 4346
  34. ^ а б c d е ж грамм час я j k л RFC 5246
  35. ^ а б RFC 4347
  36. ^ «Версия 1.11.13, 2015-01-11 - Ботан». 2015-01-11. Архивировано из оригинал на 2015-01-09. Получено 2015-01-16.
  37. ^ а б c d е ж "[gnutls-devel] Выпущен GnuTLS 3.4.0". 2015-04-08. Получено 2015-04-16.
  38. ^ "[gnutls-devel] GnuTLS 3.6.3". 2018-07-16. Получено 2018-09-16.
  39. ^ «Примечания к выпуску Java ™ SE Development Kit 8, обновление 31». Получено 2015-01-22.
  40. ^ "JEP 332: Безопасность транспортного уровня (TLS) 1.3". Получено 2018-08-27.
  41. ^ а б c d е ж грамм час я j k л м «Выпущена OpenBSD 5.6». 2014-11-01. Получено 2015-01-20.
  42. ^ «Выпущен LibreSSL 2.3.0». 2015-09-23. Получено 2015-09-24.
  43. ^ "MatrixSSL - Новости". Архивировано из оригинал на 2015-02-14. Получено 2014-11-09.
  44. ^ а б c d е "Выпущен mbed TLS 2.0.0". 2015-07-10. Получено 2015-07-14.
  45. ^ «Примечания к выпуску NSS 3.19». Сеть разработчиков Mozilla. Mozilla. Получено 2015-05-06.
  46. ^ а б «Примечания к выпуску NSS 3.14». Сеть разработчиков Mozilla. Mozilla. Получено 2012-10-27.
  47. ^ «Примечания к выпуску NSS 3.15.1». Сеть разработчиков Mozilla. Mozilla. Получено 2013-08-10.
  48. ^ «Примечания к выпуску NSS 3.39». Сеть разработчиков Mozilla. Mozilla. 2018-08-31. Получено 2018-09-15.
  49. ^ «Примечания к выпуску NSS 3.16.2». Сеть разработчиков Mozilla. Mozilla. 2014-06-30. Получено 2014-06-30.
  50. ^ а б c d е ж грамм час я j k л Inc., OpenSSL Foundation. "/news/openssl-1.1.0-notes.html". www.openssl.org.
  51. ^ а б «Основные изменения между OpenSSL 1.0.0h и OpenSSL 1.0.1 [14 марта 2012 г.]». 2012-03-14. Архивировано из оригинал 5 декабря 2014 г.. Получено 2015-01-20.
  52. ^ а б c d е ж «Основные изменения между OpenSSL 1.0.1l и OpenSSL 1.0.2 [22 января 2015 г.]». Архивировано из оригинал 4 сентября 2014 г.. Получено 2015-01-22.
  53. ^ а б c «Таблицы сравнения технических характеристик RSA BSAFE» (PDF). Архивировано из оригинал (PDF) на 2015-09-24. Получено 2015-01-09.
  54. ^ "S2N Readme". 2019-12-21.
  55. ^ «Комплекты шифров TLS (Windows)». msdn.microsoft.com.
  56. ^ а б «Комплекты шифров TLS в Windows Vista (Windows)». msdn.microsoft.com.
  57. ^ а б c «Наборы шифров в TLS / SSL (Schannel SSP) (Windows)». msdn.microsoft.com.
  58. ^ а б «Доступно обновление, которое добавляет поддержку DTLS в Windows 7 SP1 и Windows Server 2008 R2 SP1». Microsoft. Получено 13 ноября 2012.
  59. ^ «Изменения TLS (Schannel SSP) в Windows 10 и Windows Server 2016». Microsoft. 2017-03-21. Архивировано из оригинал на 2017-03-30. Получено 2017-03-29.
  60. ^ «@badger: материал 1.3 явно присутствует в iOS 11 и macOS 10.13». 2018-03-09. Получено 2018-03-09.
  61. ^ "[wolfssl] wolfSSL 3.6.6 выпущен". 2015-08-20. Получено 2015-08-24.
  62. ^ «Примечания к выпуску NSS 3.24». Сеть разработчиков Mozilla. Mozilla. Получено 2016-06-19.
  63. ^ «Техническое примечание TN2287: проблемы взаимодействия iOS 5 и TLS 1.2». Библиотека разработчика iOS. Apple Inc.. Получено 2012-05-03.
  64. ^ «Qualys SSL Labs - Проекты / Возможности пользовательского агента». dev.ssllabs.com.
  65. ^ а б c «Улучшения безопасности в JDK 8». docs.oracle.com.
  66. ^ «Ошибка 663320 - (NSA-Suite-B-TLS) Реализация RFC6460 (профиль NSA Suite B для TLS)». Mozilla. Получено 2014-05-19.
  67. ^ «Обеспечение соответствия криптографии Suite B».
  68. ^ «Безопасный или соответствующий, выберите один», блог Стива Маркиза В архиве 27 декабря 2013 г. Wayback Machine
  69. ^ «Поиск - Программа проверки криптографических модулей - CSRC». csrc.nist.gov. Архивировано из оригинал на 2014-12-26. Получено 2014-03-18.
  70. ^ ""Сертифицирован ли botan FIPS 140? «Часто задаваемые вопросы - Botan». Архивировано из оригинал в 2014-11-29. Получено 2014-11-16.
  71. ^ "cryptlib". 11 октября 2013 г. Архивировано с оригинал 11 октября 2013 г.
  72. ^ «Хотя, как проект бесплатного программного обеспечения, мы не проводим активную сертификацию такого рода, GnuTLS был сертифицирован по стандарту FIPS-140-2 в нескольких системах третьими сторонами». GnuTLS 3.5.6 B.5 Сертификация
  73. ^ «Набор инструментов Matrix SSL» (PDF).
  74. ^ Limited, ARM. «Сертифицирован ли mbed TLS FIPS? - База знаний». polarssl.org.
  75. ^ «Проверка FIPS - MozillaWiki». wiki.mozilla.org.
  76. ^ «OpenSSL и FIPS 140-2». Архивировано из оригинал на 2013-05-28. Получено 2014-11-15.
  77. ^ «Поиск - Программа проверки криптографических модулей - CSRC». csrc.nist.gov.
  78. ^ «Поиск - Программа проверки криптографических модулей - CSRC». csrc.nist.gov.
  79. ^ Проверенные криптографические модули Microsoft FIPS 140
  80. ^ "Информация wolfCrypt FIPS 140-2 - встроенная библиотека SSL / TLS wolfSSL".
  81. ^ а б c d е ж грамм час я j k л м п о п q р s т ты v ш Икс у z аа ab ac объявление ае аф аг ах ай эй ак RFC 4492
  82. ^ а б c d Могут быть доступны расширения для поддержки JSSE в SChannel.[нужна цитата ]
  83. ^ а б c d е «Выпущен LibreSSL 2.1.2». 2014-12-09. Получено 2015-01-20.
  84. ^ «Примечания к выпуску NSS 3.20». Mozilla. 2015-08-19. Получено 2015-08-20.
  85. ^ а б c d Mozilla.org. «Ошибка 518787 - Добавление поддержки алгоритмов шифрования ГОСТ в NSS». Получено 2014-07-01.
  86. ^ а б c d Mozilla.org. «Ошибка 608725 - Добавление российских криптоалгоритмов ГОСТ в NSS и Thunderbird». Получено 2014-07-01.
  87. ^ а б c d openssl / двигателей / ccgost / README.gost
  88. ^ а б c d е ж грамм час я j k л м п о Могут быть доступны расширения для поддержки ГОСТ в SChannel.[нужна цитата ]
  89. ^ а б c d «Совет по безопасности Microsoft 3174644».
  90. ^ а б c «Бюллетень по безопасности Microsoft MS14-066 - Критическое (раздел Часто задаваемые вопросы об обновлении)». Microsoft. 11 ноября 2014 г.. Получено 11 ноября 2014.
  91. ^ а б c Томлинсон, Мэтт (11 ноября 2014 г.). «Сотни миллионов клиентов Microsoft теперь пользуются преимуществами лучшего в своем классе шифрования». Безопасность Microsoft. Получено 11 ноября 2014.
  92. ^ а б Обновление добавляет новые наборы шифров TLS и изменяет приоритеты наборов шифров в Windows 8.1 и Windows Server 2012 R2
  93. ^ а б c d е ж RFC 5054
  94. ^ а б c d е ж RFC 4279
  95. ^ а б RFC 5489
  96. ^ а б RFC 2712
  97. ^ а б c «Выпущен LibreSSL 2.0.4». Получено 2014-08-04.
  98. ^ а б c «Ошибка 405155 - добавлена ​​поддержка TLS-SRP, rfc5054». Mozilla. Получено 2014-01-25.
  99. ^ а б c d «Ошибка 306435 - браузеры Mozilla должны поддерживать новый протокол IETF TLS-PSK, чтобы снизить риск фишинга». Mozilla. Получено 2014-01-25.
  100. ^ «Ошибка 1170510 - реализация поддержки сервера NSS для DH_anon». Mozilla. Получено 2015-06-03.
  101. ^ «Ошибка 236245 - обновление ECC / TLS в соответствии с RFC 4492». Mozilla. Получено 2014-06-09.
  102. ^ "Изменения между 0.9.6h и 0.9.7 [31 декабря 2002 г.]". Получено 2016-01-29.
  103. ^ а б «Изменения между 0.9.8n и 1.0.0 [29 марта 2010 г.]». Получено 2016-01-29.
  104. ^ «Примечания к выпуску RSA BSAFE SSL-J 6.2.4». 2018-09-05.
  105. ^ "wolfSSL (Ранее CyaSSL) Выпуск 3.9.0 (18.03.2016)". 2016-03-18. Получено 2016-04-05.
  106. ^ RFC 5280
  107. ^ RFC 3280
  108. ^ RFC 2560
  109. ^ RFC 6698, RFC 7218
  110. ^ Лори, Б.; Langley, A .; Каспер, Э. (июнь 2013 г.). Сертификат прозрачности. IETF. Дои:10.17487 / RFC6962. ISSN  2070-1721. RFC 6962. Получено 2020-08-31.
  111. ^ "MatrixSSL 3.8.3". Архивировано из оригинал на 2017-01-19. Получено 2017-01-18.
  112. ^ "mbed TLS 2.0 по умолчанию реализует передовой опыт". Получено 2017-01-18.
  113. ^ «Ошибка 672600 - использование цепочки DNSSEC / DANE, скрепленной в рукопожатии TLS при проверке цепочки сертификатов». Mozilla. Получено 2014-06-18.
  114. ^ а б «Как работает отзыв сертификата». Microsoft TechNet. Microsoft. 16 марта 2012 г.. Получено 10 июля, 2013.
  115. ^ а б RFC 5288, RFC 5289
  116. ^ а б RFC 6655, RFC 7251
  117. ^ а б RFC 6367
  118. ^ а б RFC 5932, RFC 6367
  119. ^ а б c d RFC 6209
  120. ^ а б RFC 4162
  121. ^ а б «Sweet32: День рождения атак на 64-битные блочные шифры в TLS и OpenVPN». sweet32.info.
  122. ^ а б RFC 7905
  123. ^ а б «Версия 1.11.12, 2015-01-02 - Ботан». 2015-01-02. Получено 2015-01-09.
  124. ^ "гнутс 3.6.0". 2017-09-21. Получено 2018-01-07.
  125. ^ "гнутс 3.4.12". 2016-05-20. Архивировано из оригинал на 2016-10-13. Получено 2016-05-29.
  126. ^ «Примечания к выпуску JDK 10.0.1». 2018-04-18. Получено 2018-08-27.
  127. ^ «Примечания к выпуску JDK 12». Получено 2019-06-20.
  128. ^ а б c d «Изменения в 3.8.3». Получено 2016-06-19.[постоянная мертвая ссылка ]
  129. ^ «Примечания к выпуску PolarSSL 1.3.8».
  130. ^ а б «Выпущен Mbed TLS 2.11.0, 2.7.4 и 2.1.13». Получено 2018-08-30.
  131. ^ «Выпущен Mbed TLS 2.12.0, 2.7.5 и 2.1.14». Получено 2018-08-30.
  132. ^ «Примечания к выпуску NSS 3.25». Сеть разработчиков Mozilla. Mozilla. Получено 2016-07-01.
  133. ^ «Ошибка 940119 - libssl не поддерживает никакие комплекты шифров TLS_ECDHE _ * _ CAMELLIA _ * _ GCM». Mozilla. Получено 2013-11-19.
  134. ^ «Выпущена NSS 3.12». Получено 2013-11-19.
  135. ^ «Примечания к выпуску NSS 3.12.3». Сеть разработчиков Mozilla. Mozilla. Получено 2014-07-01.
  136. ^ «Примечания к выпуску NSS 3.23». Сеть разработчиков Mozilla. Mozilla. Получено 2016-03-09.
  137. ^ "openssl / ИЗМЕНЕНИЯ в OpenSSL_1_0_1-стабильной · openssl / openssl". Получено 2015-01-20.
  138. ^ Inc., OpenSSL Foundation. "/news/openssl-1.1.1-notes.html". www.openssl.org.
  139. ^ Hofix 984963: комплекты шифров TLS AES для Microsoft Windows 2003
  140. ^ а б c "Qualys SSL Labs - Проекты / Возможности пользовательского агента: IE 11 / Win 10 Preview". dev.ssllabs.com.
  141. ^ RFC 5469
  142. ^ а б «Sweet32: День рождения атак на 64-битные блочные шифры в TLS и OpenVPN».
  143. ^ «Версия 1.11.15, 2015-03-08 - Ботан». 2015-03-08. Получено 2015-03-11.
  144. ^ «Документация поставщиков Oracle по архитектуре криптографии Java». docs.oracle.com.
  145. ^ «Примечания к выпуску NSS 3.15.3». Сеть разработчиков Mozilla. Mozilla. Получено 2014-07-13.
  146. ^ «MFSA 2013-103: Прочие уязвимости служб сетевой безопасности (NSS)». Mozilla. Mozilla. Получено 2014-07-13.
  147. ^ а б c «RC4 теперь отключен в Microsoft Edge и Internet Explorer 11 - Блог разработчиков Microsoft EdgeБлог разработчиков Microsoft Edge». blogs.windows.com. 2016-08-09.
  148. ^ а б "wolfSSL (ранее CyaSSL), выпуск 3.7.0 (26.10.2015)". 2015-10-26. Получено 2015-11-19.
  149. ^ а б Было показано, что согласование произвольных кривых небезопасно для определенных размеров кривых. Маврогианнопулос, Никос и Веркаутерн, Фредерик и Величков, Веселин и Пренель, Барт (2012). Межпротокольная атака на протокол TLS. Материалы конференции ACM 2012 г. по компьютерной и коммуникационной безопасности (PDF). С. 62–72. ISBN  978-1-4503-1651-4.CS1 maint: несколько имен: список авторов (связь)
  150. ^ а б c RFC 7027
  151. ^ Саймон, Йозефссон; Йоав, Нир; Мануэль, Пегурье-Гоннар. «Наборы шифров для криптографии с эллиптическими кривыми (ECC) для безопасности транспортного уровня (TLS) версий 1.2 и более ранних». tools.ietf.org.
  152. ^ Саймон, Йозефссон; Мануэль, Пегурье-Гоннар. «Curve25519 и Curve448 для безопасности транспортного уровня (TLS)». tools.ietf.org.
  153. ^ а б c d е ж грамм час я Саймон, Йозефссон; Мануэль, Пегурие-Гоннар. «Дополнительные эллиптические кривые для соглашения о ключах безопасности транспортного уровня (TLS)». tools.ietf.org.
  154. ^ а б c «Версия 1.11.5, 10.11.2013 - Ботан». 2013-11-10. Получено 2015-01-23.
  155. ^ «Обзор новых возможностей GnuTLS 3.5.0». 2016-05-02. Получено 2016-12-09.
  156. ^ «Примечания к выпуску для раннего доступа JDK 13». Получено 2019-06-20.
  157. ^ «Примечания к выпуску LibreSSL 2.5.1». OpenBSD. 2017-01-31. Получено 2017-02-23.
  158. ^ "Журнал изменений MatrixSSL 4.0". Получено 2018-09-18.
  159. ^ а б c «Выпущен PolarSSL 1.3.1». 2013-10-15. Получено 2015-01-23.
  160. ^ «Выпущен PolarSSL 1.3.3». 2013-12-31. Получено 2015-01-23.
  161. ^ «Выпущен Mbed TLS 2.9.0, 2.7.3 и 2.1.12». Получено 2018-08-30.
  162. ^ а б c «Ошибка 943639 - поддержка кривой Brainpool ECC (rfc5639)». Mozilla. Получено 2014-01-25.
  163. ^ «Ошибка 957105 - добавлена ​​поддержка Curve25519 Key Exchange и поддержка UMAC MAC для TLS». Mozilla. Получено 2017-02-23.
  164. ^ «Примечания к выпуску OpenSSL 1.1.0x». 25 августа 2016 г.. Получено 18 мая 2018.
  165. ^ "OpenSSL GitHub Issue # 487 Tracker". 2 декабря 2015 г.. Получено 18 мая 2018.
  166. ^ «Примечания к выпуску OpenSSL 1.1.1x». 1 мая 2018. Получено 18 мая 2018.
  167. ^ "OpenSSL GitHub Issue # 5049 Tracker". 9 января 2018 г.. Получено 18 мая 2018.
  168. ^ "wolfSSL (Ранее CyaSSL) Выпуск 3.4.6 (30.03.2015)". 2015-03-30. Получено 2015-11-19.
  169. ^ «SHA2 и Windows». Получено 2014-09-08.
  170. ^ RFC 3749
  171. ^ RFC 5746
  172. ^ а б c d RFC 6066
  173. ^ RFC 7301
  174. ^ RFC 6091
  175. ^ RFC 4680
  176. ^ RFC 5077
  177. ^ RFC 5705
  178. ^ RFC 7366
  179. ^ RFC 7507
  180. ^ RFC 7627
  181. ^ RFC 7685
  182. ^ RFC 7250
  183. ^ «Версия 1.11.16, 2015-03-29 - Ботан». 2016-03-29. Получено 2016-09-08.
  184. ^ «Версия 1.11.10, 2014-12-10 - Ботан». 2014-12-10. Получено 2014-12-14.
  185. ^ а б «Версия 1.11.26, 2016-01-04 - Ботан». 2016-01-04. Получено 2016-02-25.
  186. ^ Присутствует, но отключен по умолчанию из-за того, что не используется какой-либо реализацией.
  187. ^ "гнутлс 3.2.0". Архивировано из оригинал на 2016-01-31. Получено 2015-01-26.
  188. ^ https://lists.gnupg.org/pipermail/gnutls-help/2017-August/004364.html
  189. ^ "гнутс 3.4.4". Архивировано из оригинал на 2017-07-17. Получено 2015-08-25.
  190. ^ "% DUMBFW приоритетное ключевое слово". Получено 2017-04-30.
  191. ^ "гнутс 3.6.6". 2019-01-25. Получено 2019-09-01.
  192. ^ «Выпущен LibreSSL 2.1.3». 2015-01-22. Получено 2015-01-22.
  193. ^ «Выпущен LibreSSL 2.1.4». 2015-03-04. Получено 2015-03-04.
  194. ^ "MatrixSSL - Новости". 2014-12-04. Архивировано из оригинал на 2015-02-14. Получено 2015-01-26.
  195. ^ «Обзор загрузки - PolarSSL». 2014-04-11. Получено 2015-01-26.
  196. ^ а б c "Выпущен mbed TLS 1.3.10". 2015-02-08. Получено 2015-02-09.
  197. ^ а б «Примечания к выпуску NSS 3.15.5». Сеть разработчиков Mozilla. Mozilla. Получено 2015-01-26.
  198. ^ «Ошибка 961416 - Поддержка RFC6091 - Использование ключей OpenPGP для аутентификации безопасности транспортного уровня (TLS1.2)». Mozilla. Получено 2014-06-18.
  199. ^ «Ошибка 972145 - реализация TLS-расширения шифрования, а затем MAC». Mozilla. Получено 2014-11-06.
  200. ^ «Примечания к выпуску NSS 3.17.1». Получено 2014-10-17.
  201. ^ «Примечания к выпуску NSS 3.21». Получено 2015-11-14.
  202. ^ http://www.openssl.org/news/secadv_20141015.txt
  203. ^ «Примечания к выпуску OpenSSL 1.1.0».[постоянная мертвая ссылка ]
  204. ^ «Основные изменения между OpenSSL 1.0.1f и OpenSSL 1.0.1g [7 апреля 2014 г.]». 2014-04-07. Архивировано из оригинал на 2015-01-20. Получено 2015-02-10.
  205. ^ а б c d «Бюллетень по безопасности Microsoft MS15-121». Получено 2017-11-29.
  206. ^ а б «Что нового в TLS / SSL (Schannel SSP)». Получено 2014-06-18.
  207. ^ «Версия 1.11.31, 30.08.2015 - Ботан». 2016-08-30. Получено 2016-09-08.
  208. ^ https://lists.gnupg.org/pipermail/gnutls-devel/2016-October/008194.html
  209. ^ «Поставщик Java SSL с поддержкой AES-NI». stackoverflow.com.
  210. ^ «Мы включили поддержку AES-NI в наши модули AES и GCM». 2013-12-31. Получено 2014-01-07.
  211. ^ Обычно libssl NSS выполняет все операции через интерфейс PKCS # 11 с аппаратными или программными токенами.
  212. ^ «Ошибка 706024 - усовершенствования AES-NI для NSS в системах Sandy Bridge». Получено 2013-09-28.
  213. ^ «Ошибка 479744 - RFE: поддержка ACE Padlock (аппаратный RNG, AES, SHA1 и SHA256)». Получено 2014-04-11.
  214. ^ https://habrahabr.ru/post/134725/, http://forum.rutoken.ru/topic/1639/, https://dev.rutoken.ru/pages/viewpage.action?pageId=18055184 (на русском)
  215. ^ "git.openssl.org Git - openssl.git / commitdiff". git.openssl.org.
  216. ^ «Используйте инструкции ЦП для криптографии AES».
  217. ^ «RSA BSAFE SSL-J 6.2.5 - Примечания к выпуску».
  218. ^ https://opensource.apple.com/source/Security/Security-55179.13/sec/Security/SecECKey.c
  219. ^ http://km.support.apple.com/library/APPLE/APPLECARE_ALLGEOS/HT5396/Crypto_Officer_Role_Guide_for_FIPS_140-2_Compliance_OS_X_Mountain_Lion_v10.8.pdf
  220. ^ "wolfSSL Асинхронная поддержка Intel QuickAssist - wolfSSL". 18 января 2017.
  221. ^ «Выпущен LibreSSL 2.2.1». 2015-07-08. Получено 2016-01-30.
  222. ^ а б RFC 7512
  223. ^ "libp11: библиотека оболочки PKCS # 11". 19 января 2018 г. - через GitHub.
  224. ^ На лету заменяемый / расширяемый.
  225. ^ "Nss compat ossl - Fedora Project Wiki". fedoraproject.org.
  226. ^ а б «НСПР». Сеть разработчиков Mozilla.
  227. ^ Для Unix / Linux он использует / dev / urandom, если доступен, для Windows - CAPI. Для других платформ он получает данные от часов и пытается открыть системные файлы. NSS имеет набор зависимых от платформы функций, которые он использует для определения случайности.