Сравнение реализаций TLS - Comparison of TLS implementations
В Безопасность транспортного уровня (TLS) протокол обеспечивает возможность безопасной связи между сетями. Этот сравнение реализаций TLS сравнивает несколько наиболее заметных библиотеки. Есть несколько реализаций TLS, которые бесплатно программное обеспечение и Открытый исходный код.
Все категории сравнения используют стабильную версию каждой реализации, перечисленной в разделе обзора. Сравнение ограничено функциями, которые напрямую связаны с протоколом TLS.
Обзор
Выполнение | Разработан | Открытый исходный код | Лицензия на программное обеспечение | Правообладатель | Написано в | Последняя стабильная версия, дата выпуска | Источник | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ботан | Джек Ллойд | да | Упрощенная лицензия BSD | Джек Ллойд | C ++ | 2.16.0 (6 октября 2020 г.[1]) [±] | США (Вермонт) | ||||||||
BoringSSL | да | Двойная лицензия OpenSSL-SSLeay, Лицензия ISC | Эрик Янг, Тим Хадсон, Sun, проект OpenSSL, Google и другие | C, C ++, Идти, сборка | ?? | Австралия / ЕС | |||||||||
Надувной Замок | Легион Надувного Замка Inc. | да | Лицензия MIT | Легион Надувного Замка Inc. | Ява, C # |
| Австралия | ||||||||
cryptlib | Питер Гутманн | да | Лицензия Sleepycat и коммерческая лицензия | Питер Гутманн | C | 3.4.5 (2019[6]) [±] | NZ | ||||||||
GnuTLS | Проект GnuTLS | да | GNU LGPLv2.1 + | Фонд свободного программного обеспечения | C | 3.6.14 (3 июня 2020 г.[7]) [±] | ЕС (Греция и Швеция) | ||||||||
Расширение защищенного сокета Java (JSSE) | Oracle | да | GNU GPLv2 и коммерческая лицензия | Oracle | Ява | 15.0.1 (20 октября 2020 г.[8]) [±] 11.0.9.1 (4 ноября 2020 г.[9]) [±] | нас | ||||||||
LibreSSL | Проект OpenBSD | да | Лицензия Apache 1.0, 4-п. Лицензия BSD, Лицензия ISC, а некоторые всеобщее достояние | Эрик Янг, Тим Хадсон, Sun, проект OpenSSL, проект OpenBSD и другие | C, сборка | 3.2.3 (8 декабря 2020 г.[11][12]) [±] | Канада | ||||||||
MatrixSSL[13] | Сети PeerSec | да | GNU GPLv2 + и коммерческая лицензия | Сети PeerSec | C | 4.2.2 (11 сентября 2019 г.[14]) [±] | нас | ||||||||
Мбед TLS (ранее PolarSSL) | Рука | да | Лицензия Apache 2.0, GNU GPLv2 + и коммерческая лицензия | Arm Holdings | C | 2.24.0 (1 сентября 2020 г.[15]) [±] | ЕС (Нидерланды) | ||||||||
Услуги сетевой безопасности (NSS) | Mozilla, AOL, Красная шляпа, солнце, Oracle, Google и другие | да | MPL 2.0 | Участники NSS | C, сборка | 3.59 (13 ноября 2020 г.[16]) [±] | нас | ||||||||
OpenSSL | OpenSSL проект | да | Двойная лицензия OpenSSL-SSLeay | Эрик Янг, Тим Хадсон, Sun, проект OpenSSL и другие | C, сборка | 1.1.1h (22 сентября 2020 г.[17]) [±] | Австралия / ЕС | ||||||||
RSA BSAFE | Dell, ранее RSA Безопасность | Нет | Проприетарный | Dell | Ява, C, сборка | SSL-J 6.2.7 (28 июня 2020 г.[±] | )Австралия | ||||||||
S2n | Amazon | да | Лицензия Apache 2.0, GNU GPLv2 + и коммерческая лицензия | Amazon, Inc. | C | Непрерывный | нас | ||||||||
SChannel | Microsoft | Нет | Проприетарный | Microsoft Inc. | Windows 10, 29 июля 2015 г. | нас | |||||||||
Безопасный транспорт | Apple Inc. | да | APSL 2.0 | Apple Inc. | 57337.20.44 (OS X 10.11.2), 2015-12-08 | нас | |||||||||
wolfSSL (ранее CyaSSL) | wolfSSL[19] | да | GNU GPLv2 + и коммерческая лицензия | wolfSSL Inc.[20] | C | 4.5.0 (19 августа 2020 г.[21]) [±] | нас | ||||||||
Erlang / OTP SSL-приложение | Ericsson | да | Лицензия Apache 2.0 | Ericsson | Erlang | ОТП-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.3 | DTLS 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.3 | DTLS 1.0[35] | DTLS 1.2[28] |
- ^ Приветствие клиента SSL 2.0 поддерживается, хотя SSL 2.0 не поддерживается или отключен из-за обратной совместимости.
- ^ Реализация протокола SSL / TLS на стороне сервера по-прежнему поддерживает обработку полученных сообщений приветствия v2-совместимого клиента.[62]
- ^ Безопасный транспорт: поддержка 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][64]
Криптография NSA Suite B
Необходимые компоненты для Криптография NSA Suite B (RFC 6460 ) находятся:
- Расширенный стандарт шифрования (AES) с размером ключа 128 и 256 бит. Для потока трафика AES следует использовать либо с режимом счетчика (CTR) для трафика с низкой пропускной способностью, либо с Галуа / Режим счетчика (GCM) режим работы для трафика с высокой пропускной способностью (см. Режимы работы блочного шифра ) — симметричное шифрование
- Алгоритм цифровой подписи с эллиптической кривой (ECDSA) - цифровые подписи
- Эллиптическая кривая Диффи – Хеллмана (ECDH) - ключевое соглашение
- Алгоритм безопасного хеширования 2 (SHA-256 и SHA-384) - Дайджест сообщения
Согласно 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 |
- ^ с солнцем Sparc 5 ч / вс Солярис v 2.4SE (с рейтингом ITSEC)
- ^ с солнцем Ультра-5 ж / вс Надежный Solaris версия 2.5.1 (с рейтингом ITSEC)
- ^ с Солярис v8.0 с AdminSuite 3.0.1, как указано в отчете UK IT SEC CC № P148 EAL4 на SUN SPARC Ультра-1
- ^ с этими платформами; Red Hat Enterprise Linux Версия 4 Обновление 1 AS на IBM xSeries 336 с процессором Intel Xeon, Надежный Solaris 8 4/01 в Рабочая станция Sun Blade 2500 с UltraSPARC IIIi ЦПУ
- ^ с этими платформами; 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-приложение | да | да | да | Нет | Нет | Нет | Неизвестно |
Выполнение | Определяется приложением | Проверка пути PKIX | CRL | OCSP | ДЕЙН (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] |
- Примечания
Устаревшие алгоритмы
Выполнение | Блочный шифр с режим работы | Потоковый шифр | ||||
---|---|---|---|---|---|---|
ИДЕЯ 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] |
- Примечания
- ^ а б c d IDEA и DES были удалены из TLS 1.2.[142]
- ^ а б c d е ж Комплекты шифров с 40-битной стойкостью были разработаны для работы с уменьшенной длиной ключа, чтобы соответствовать требованиям США в отношении экспорта криптографического программного обеспечения, содержащего определенные надежные алгоритмы шифрования (см. Экспорт криптографии из США ). Эти слабые наборы запрещены в TLS 1.1 и более поздних версиях.
- ^ а б В RC4 атаки ослабить или сломать RC4, используемый в SSL / TLS. Использование RC4 запрещено RFC 7465.
- ^ а б В 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 | Подкрутка1174 | E382 | M383 | Подкрутка383187 | Подкрутка41417 Подкрутка3617 | M511 Подкрутка511187 | E521 |
Целостность данных
Выполнение | HMAC -MD5 | HMAC -SHA1 | HMAC -SHA256 / 384 | AEAD | ГОСТ 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-MD5 | HMAC-SHA1 | HMAC-SHA256 / 384 | AEAD | ГОСТ 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 # 11 | Intel AES-NI | ЧЕРЕЗ PadLock | ARMv8-A | Intel SGX | Intel QAT | Intel 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 # 11 | Intel AES-NI | ЧЕРЕЗ PadLock | ARMv8-A | Intel SGX | Intel QAT | Intel SHA |
Системные серверные ВМ
В этом разделе перечисляется способность реализации использовать преимущества доступных серверных программ, специфичных для операционной системы, или даже серверных программ, предоставляемых другой реализацией.
Выполнение | / dev / крипто | af_alg | Windows CSP | CommonCrypto | Движок OpenSSL |
---|---|---|---|---|---|
Ботан | Нет | Нет | Нет | Нет | Частичное |
cryptlib | Нет | Нет | Нет | Нет | Нет |
GnuTLS | да | Нет | Нет | Нет | Нет |
JSSE | Нет | Нет | да | Нет | Нет |
LibreSSL | Нет | Нет | Нет | Нет | Нет[222] |
MatrixSSL | Нет | Нет | Нет | да | да |
Мбед TLS | Нет | Нет | Нет | Нет | Нет |
НСС | Нет | Нет | Нет | Нет | Нет |
OpenSSL | да | да | Нет | Нет | да |
RSA BSAFE | Нет | Нет | Нет | Нет | Нет |
SChannel | Нет | Нет | да | Нет | Нет |
Безопасный транспорт | Нет | Нет | Нет | да | Нет |
wolfSSL | да | да | Частичное | Нет | Нет |
Erlang / OTP SSL-приложение | Нет | Нет | Нет | Нет | да |
Выполнение | / dev / крипто | af_alg | Windows CSP | CommonCrypto | Движок OpenSSL |
Поддержка криптографического модуля / токена
Выполнение | TPM поддерживать | Поддержка аппаратных токенов | Объекты, идентифицированные через |
---|---|---|---|
Ботан | Частичное[186] | PKCS11 | |
cryptlib | Нет | PKCS11 | Пользовательская метка |
GnuTLS | да | PKCS11 | RFC 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 CryptoAPI | UUID, пользовательская метка |
Безопасный транспорт | |||
wolfSSL | да | PKCS11 | |
Выполнение | Поддержка TPM | Поддержка аппаратных токенов | Объекты, идентифицированные через |
Зависимости кода
Выполнение | Зависимости | Необязательные зависимости |
---|---|---|
Ботан | C ++ 11 | sqlite zlib (сжатие) bzip2 (сжатие) liblzma (сжатие) способствовать росту openssl (крипто-бэкэнд) брюки (TPM) |
GnuTLS | libc крапива gmp | zlib (сжатие) p11-комплект (PKCS # 11) брюки (TPM) свободный (ДЕЙН) |
JSSE | Ява | |
MatrixSSL | никто | zlib (сжатие) |
MatrixSSL-open | libc или newlib | |
Мбед TLS | libc | libpkcs11-помощник (PKCS # 11) zlib (сжатие) |
НСС | libc libnspr4 libsoftokn3 libplc4 libplds4 | zlib (сжатие) |
OpenSSL | libc | zlib (сжатие) |
wolfSSL | Никто | libc zlib (сжатие) |
Erlang / OTP ssl-приложение | libcrypto (из OpenSSL), Erlang / OTP и его приложения public_key, crypto и asn1 | Erlang / OTP -inets (получение CRL по http) |
Выполнение | Зависимости | Необязательные зависимости |
Среда разработки
Выполнение | Пространство имен | Инструменты сборки | Руководство по API | Крипто-бэкэнд | Уровень совместимости OpenSSL[уточнить ] |
---|---|---|---|---|---|
Ботан | Ботан :: TLS | Makefile | Сфинкс | В комплекте (подключаемый) | Нет |
Надувной Замок | org.bouncycastle | Среда разработки Java | Справочное руководство для программистов (PDF) | В комплекте (подключаемый) | Нет |
cryptlib | склеп * | makefile, рабочие области проекта MSVC | Справочное руководство для программистов (PDF), руководство по проектированию архитектуры (PDF) | В комплекте (монолитный) | Нет |
GnuTLS | gnutls_ * | Autoconf, automake, libtool | Справочник по руководству и API (HTML, PDF) | Внешний, libnettle | Да (ограничено) |
JSSE | javax.net.ssl sun.security.ssl | Makefile | Справочник по API (HTML) + | Архитектура криптографии Java, Расширение криптографии Java | Нет |
MatrixSSL | matrixSsl_ * пс * | Makefile, рабочие области проектов MSVC, проекты Xcode для OS X и iOS | Справочник по API (PDF), Руководство по интеграции | В комплекте (подключаемый) | Да (подмножество: SSL_read, SSL_write и т. Д.) |
Мбед TLS | mbedtls_ssl_ * mbedtls_sha1_ * | Makefile, CMake, Рабочие области проекта MSVC, yotta | Справочник по API + документация высокого уровня и уровня модуля (HTML) | В комплекте (монолитный) | Нет |
НСС | CERT_ * SEC_ * | Makefile | Руководство (HTML) | В комплекте, на базе PKCS # 11[225] | Да (отдельный пакет под названием nss_compat_ossl[226]) |
OpenSSL | SSL_ * SHA1_ * | Makefile | Страницы руководства | В комплекте (монолитный) | Нет данных |
RSA BSAFE Люкс Micro-Edition | Р_* | Makefile | Руководство разработчика | Включено | Нет |
RSA BSAFE SSL-J | com.rsa.asn1[а] com.rsa.certj[b] | Загрузчик классов Java | Javadoc, руководство разработчика (HTML) | Включено | Нет |
wolfSSL | wolfSSL_ * CyaSSL_ * | Autoconf, automake, libtool, рабочие области проектов MSVC, проекты XCode, проекты CodeWarrior, проекты MPLAB X, Keil, IAR, Clang, GCC, e2Studio | Руководство и справочник по API (HTML, PDF) | В комплекте (монолитный) | Да (около 10% API) |
Выполнение | Пространство имен | Инструменты сборки | Руководство по API | Крипто-бэкэнд | Уровень совместимости OpenSSL |
Проблемы переносимости
Выполнение | Требования к платформе | Сетевые требования | Безопасность потоков | Случайное семя | Возможность кросс-компиляции | Без ОС (голый металл) | Поддерживаемые операционные системы |
---|---|---|---|---|---|---|---|
Ботан | C ++ 11 | Никто | Потокобезопасный | Зависит от платформы | да | Windows, Linux, macOS, Android, iOS, FreeBSD, OpenBSD, Solaris, AIX, HP-UX, QNX, BeOS, IncludeOS | |
cryptlib | C89 | POSIX 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 |
GnuTLS | C89 | POSIX 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, платформенно-независимый | |
MatrixSSL | C89 | Никто | Потокобезопасный | Зависит от платформы | да | да | Все |
Мбед TLS | C89 | POSIX 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 |
OpenSSL | C89 | Никто | Потокобезопасный | Зависит от платформы | да | Нет | Unix, DOS (с djgpp), Windows, OpenVMS, MacOS, NetWare, eCos |
RSA BSAFE Люкс Micro Edition | C89 | Никто | Потокобезопасный | Зависит от платформы | да | Нет | 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 |
wolfSSL | C89 | POSIX 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)
Рекомендации
- ^ «Ботан: примечания к выпуску». Получено 2020-10-29.
- ^ «Примечания к выпуску - bouncycastle.org». 2020-11-01. Получено 2020-11-01.
- ^ "Ресурсы Java FIPS - bouncycastle.org". 2019-08-24. Получено 2019-08-29.
- ^ "Легион надувного замка C # Cryptography API". 2020-09-22. Получено 2020-11-01.
- ^ "Ресурсы C # .NET FIPS - bouncycastle.org". 2016-11-11. Получено 2017-08-28.
- ^ Гутманн, Питер (2019). "Скачивание". cryptlib. Оклендский университет Школа компьютерных наук. Получено 2019-08-07.
- ^ "Библиотека безопасности транспортного уровня GnuTLS". Получено 30 июн 2020.
- ^ «Обновления OpenJDK 15». Корпорация Oracle. Получено 2020-09-15.
- ^ «Обновления OpenJDK 11». Корпорация Oracle. Получено 2020-11-08.
- ^ «Обновления OpenJDK 8». Корпорация Oracle. Получено 2020-11-08.
- ^ "LibreSSL". Получено 9 декабря 2020.
- ^ «Релизы LibreSSL». Получено 9 декабря 2020.
- ^ Перечисленные функции относятся к версии с закрытым исходным кодом.
- ^ «Открытый выпуск MatrixSSL 4.2.2». 2019-09-11. Получено 2020-03-20.
- ^ "Выпуск Mbed TLS 2.24.0 · ARMmbed / mbedtls". Получено 2020-09-08.
- ^ а б «Примечания к выпуску для последних версий NSS». Сеть разработчиков Mozilla. 13 ноября 2020 г.. Получено 29 ноябрь 2020.
- ^ "OpenSSL: Журнал новостей". Получено 2020-09-22.
- ^ «Рекомендации по выпуску Dell BSAFE Micro Edition Suite 4.5.1».
- ^ "описание продукта wolfSSL". Получено 2016-05-03.
- ^ "wolfSSL Embedded SSL / TLS". Получено 2016-05-03.
- ^ "wolfSSL ChangeLog". 2020-08-19. Получено 2020-08-22.
- ^ RFC 6176: Запрещение уровня защищенных сокетов (SSL) версии 2.0
- ^ ""CBC-Padding: недостатки безопасности в SSL, IPsec, WTLS, ... ", Серж Воденэ, 2001" (PDF).
- ^ RFC 7366: шифрование, затем MAC для безопасности транспортного уровня (TLS) и безопасности транспортного уровня дейтаграмм
- ^ "Rizzo / Duong BEAST Countermeasures".
- ^ Мёллер, Бодо; Дуонг, тайский; Котович, Кшиштоф (сентябрь 2014 г.). "Укусы этого пуделя: использование запасного варианта SSL 3.0" (PDF). Получено 15 октября 2014.
- ^ Основные отличия TLSv1.2 от TLSv1.1
- ^ а б c RFC 6347
- ^ «Бардовская атака». 2006: 7–10. CiteSeerX 10.1.1.61.5887. Цитировать журнал требует
| журнал =
(помощь) - ^ а б "Проект-Хикман-Netscape-SSL-00". tools.ietf.org.
- ^ а б RFC 6101
- ^ а б RFC 2246
- ^ а б RFC 4346
- ^ а б c d е ж грамм час я j k л RFC 5246
- ^ а б RFC 4347
- ^ «Версия 1.11.13, 2015-01-11 - Ботан». 2015-01-11. Архивировано из оригинал на 2015-01-09. Получено 2015-01-16.
- ^ а б c d е ж "[gnutls-devel] Выпущен GnuTLS 3.4.0". 2015-04-08. Получено 2015-04-16.
- ^ "[gnutls-devel] GnuTLS 3.6.3". 2018-07-16. Получено 2018-09-16.
- ^ «Примечания к выпуску Java ™ SE Development Kit 8, обновление 31». Получено 2015-01-22.
- ^ "JEP 332: Безопасность транспортного уровня (TLS) 1.3". Получено 2018-08-27.
- ^ а б c d е ж грамм час я j k л м «Выпущена OpenBSD 5.6». 2014-11-01. Получено 2015-01-20.
- ^ «Выпущен LibreSSL 2.3.0». 2015-09-23. Получено 2015-09-24.
- ^ "MatrixSSL - Новости". Архивировано из оригинал на 2015-02-14. Получено 2014-11-09.
- ^ а б c d е "Выпущен mbed TLS 2.0.0". 2015-07-10. Получено 2015-07-14.
- ^ «Примечания к выпуску NSS 3.19». Сеть разработчиков Mozilla. Mozilla. Получено 2015-05-06.
- ^ а б «Примечания к выпуску NSS 3.14». Сеть разработчиков Mozilla. Mozilla. Получено 2012-10-27.
- ^ «Примечания к выпуску NSS 3.15.1». Сеть разработчиков Mozilla. Mozilla. Получено 2013-08-10.
- ^ «Примечания к выпуску NSS 3.39». Сеть разработчиков Mozilla. Mozilla. 2018-08-31. Получено 2018-09-15.
- ^ «Примечания к выпуску NSS 3.16.2». Сеть разработчиков Mozilla. Mozilla. 2014-06-30. Получено 2014-06-30.
- ^ а б c d е ж грамм час я j k л Inc., OpenSSL Foundation. "/news/openssl-1.1.0-notes.html". www.openssl.org.
- ^ а б «Основные изменения между OpenSSL 1.0.0h и OpenSSL 1.0.1 [14 марта 2012 г.]». 2012-03-14. Архивировано из оригинал 5 декабря 2014 г.. Получено 2015-01-20.
- ^ а б c d е ж «Основные изменения между OpenSSL 1.0.1l и OpenSSL 1.0.2 [22 января 2015 г.]». Архивировано из оригинал 4 сентября 2014 г.. Получено 2015-01-22.
- ^ а б c «Таблицы сравнения технических характеристик RSA BSAFE» (PDF). Архивировано из оригинал (PDF) на 2015-09-24. Получено 2015-01-09.
- ^ "S2N Readme". 2019-12-21.
- ^ «Комплекты шифров TLS (Windows)». msdn.microsoft.com.
- ^ а б «Комплекты шифров TLS в Windows Vista (Windows)». msdn.microsoft.com.
- ^ а б c «Наборы шифров в TLS / SSL (Schannel SSP) (Windows)». msdn.microsoft.com.
- ^ а б «Доступно обновление, которое добавляет поддержку DTLS в Windows 7 SP1 и Windows Server 2008 R2 SP1». Microsoft. Получено 13 ноября 2012.
- ^ «Изменения TLS (Schannel SSP) в Windows 10 и Windows Server 2016». Microsoft. 2017-03-21. Архивировано из оригинал на 2017-03-30. Получено 2017-03-29.
- ^ «@badger: материал 1.3 явно присутствует в iOS 11 и macOS 10.13». 2018-03-09. Получено 2018-03-09.
- ^ "[wolfssl] wolfSSL 3.6.6 выпущен". 2015-08-20. Получено 2015-08-24.
- ^ «Примечания к выпуску NSS 3.24». Сеть разработчиков Mozilla. Mozilla. Получено 2016-06-19.
- ^ «Техническое примечание TN2287: проблемы взаимодействия iOS 5 и TLS 1.2». Библиотека разработчика iOS. Apple Inc.. Получено 2012-05-03.
- ^ «Qualys SSL Labs - Проекты / Возможности пользовательского агента». dev.ssllabs.com.
- ^ а б c «Улучшения безопасности в JDK 8». docs.oracle.com.
- ^ «Ошибка 663320 - (NSA-Suite-B-TLS) Реализация RFC6460 (профиль NSA Suite B для TLS)». Mozilla. Получено 2014-05-19.
- ^ «Обеспечение соответствия криптографии Suite B».
- ^ «Безопасный или соответствующий, выберите один», блог Стива Маркиза В архиве 27 декабря 2013 г. Wayback Machine
- ^ «Поиск - Программа проверки криптографических модулей - CSRC». csrc.nist.gov. Архивировано из оригинал на 2014-12-26. Получено 2014-03-18.
- ^ ""Сертифицирован ли botan FIPS 140? «Часто задаваемые вопросы - Botan». Архивировано из оригинал в 2014-11-29. Получено 2014-11-16.
- ^ "cryptlib". 11 октября 2013 г. Архивировано с оригинал 11 октября 2013 г.
- ^ «Хотя, как проект бесплатного программного обеспечения, мы не проводим активную сертификацию такого рода, GnuTLS был сертифицирован по стандарту FIPS-140-2 в нескольких системах третьими сторонами». GnuTLS 3.5.6 B.5 Сертификация
- ^ «Набор инструментов Matrix SSL» (PDF).
- ^ Limited, ARM. «Сертифицирован ли mbed TLS FIPS? - База знаний». polarssl.org.
- ^ «Проверка FIPS - MozillaWiki». wiki.mozilla.org.
- ^ «OpenSSL и FIPS 140-2». Архивировано из оригинал на 2013-05-28. Получено 2014-11-15.
- ^ «Поиск - Программа проверки криптографических модулей - CSRC». csrc.nist.gov.
- ^ «Поиск - Программа проверки криптографических модулей - CSRC». csrc.nist.gov.
- ^ Проверенные криптографические модули Microsoft FIPS 140
- ^ "Информация wolfCrypt FIPS 140-2 - встроенная библиотека SSL / TLS wolfSSL".
- ^ а б c d е ж грамм час я j k л м п о п q р s т ты v ш Икс у z аа ab ac объявление ае аф аг ах ай эй ак RFC 4492
- ^ а б c d е ж draft-chudov-cryptopro-cptls-04 - ГОСТ 28147-89 Наборы шифров для безопасности транспортного уровня (TLS)
- ^ а б c d Могут быть доступны расширения для поддержки JSSE в SChannel.[нужна цитата ]
- ^ а б c d е «Выпущен LibreSSL 2.1.2». 2014-12-09. Получено 2015-01-20.
- ^ «Примечания к выпуску NSS 3.20». Mozilla. 2015-08-19. Получено 2015-08-20.
- ^ а б c d Mozilla.org. «Ошибка 518787 - Добавление поддержки алгоритмов шифрования ГОСТ в NSS». Получено 2014-07-01.
- ^ а б c d Mozilla.org. «Ошибка 608725 - Добавление российских криптоалгоритмов ГОСТ в NSS и Thunderbird». Получено 2014-07-01.
- ^ а б c d openssl / двигателей / ccgost / README.gost
- ^ а б c d е ж грамм час я j k л м п о Могут быть доступны расширения для поддержки ГОСТ в SChannel.[нужна цитата ]
- ^ а б c d «Совет по безопасности Microsoft 3174644».
- ^ а б c «Бюллетень по безопасности Microsoft MS14-066 - Критическое (раздел Часто задаваемые вопросы об обновлении)». Microsoft. 11 ноября 2014 г.. Получено 11 ноября 2014.
- ^ а б c Томлинсон, Мэтт (11 ноября 2014 г.). «Сотни миллионов клиентов Microsoft теперь пользуются преимуществами лучшего в своем классе шифрования». Безопасность Microsoft. Получено 11 ноября 2014.
- ^ а б Обновление добавляет новые наборы шифров TLS и изменяет приоритеты наборов шифров в Windows 8.1 и Windows Server 2012 R2
- ^ а б c d е ж RFC 5054
- ^ а б c d е ж RFC 4279
- ^ а б RFC 5489
- ^ а б RFC 2712
- ^ а б c «Выпущен LibreSSL 2.0.4». Получено 2014-08-04.
- ^ а б c «Ошибка 405155 - добавлена поддержка TLS-SRP, rfc5054». Mozilla. Получено 2014-01-25.
- ^ а б c d «Ошибка 306435 - браузеры Mozilla должны поддерживать новый протокол IETF TLS-PSK, чтобы снизить риск фишинга». Mozilla. Получено 2014-01-25.
- ^ «Ошибка 1170510 - реализация поддержки сервера NSS для DH_anon». Mozilla. Получено 2015-06-03.
- ^ «Ошибка 236245 - обновление ECC / TLS в соответствии с RFC 4492». Mozilla. Получено 2014-06-09.
- ^ "Изменения между 0.9.6h и 0.9.7 [31 декабря 2002 г.]". Получено 2016-01-29.
- ^ а б «Изменения между 0.9.8n и 1.0.0 [29 марта 2010 г.]». Получено 2016-01-29.
- ^ «Примечания к выпуску RSA BSAFE SSL-J 6.2.4». 2018-09-05.
- ^ "wolfSSL (Ранее CyaSSL) Выпуск 3.9.0 (18.03.2016)". 2016-03-18. Получено 2016-04-05.
- ^ RFC 5280
- ^ RFC 3280
- ^ RFC 2560
- ^ RFC 6698, RFC 7218
- ^ Лори, Б.; Langley, A .; Каспер, Э. (июнь 2013 г.). Сертификат прозрачности. IETF. Дои:10.17487 / RFC6962. ISSN 2070-1721. RFC 6962. Получено 2020-08-31.
- ^ "MatrixSSL 3.8.3". Архивировано из оригинал на 2017-01-19. Получено 2017-01-18.
- ^ "mbed TLS 2.0 по умолчанию реализует передовой опыт". Получено 2017-01-18.
- ^ «Ошибка 672600 - использование цепочки DNSSEC / DANE, скрепленной в рукопожатии TLS при проверке цепочки сертификатов». Mozilla. Получено 2014-06-18.
- ^ а б «Как работает отзыв сертификата». Microsoft TechNet. Microsoft. 16 марта 2012 г.. Получено 10 июля, 2013.
- ^ а б RFC 5288, RFC 5289
- ^ а б RFC 6655, RFC 7251
- ^ а б RFC 6367
- ^ а б RFC 5932, RFC 6367
- ^ а б c d RFC 6209
- ^ а б RFC 4162
- ^ а б «Sweet32: День рождения атак на 64-битные блочные шифры в TLS и OpenVPN». sweet32.info.
- ^ а б RFC 7905
- ^ а б «Версия 1.11.12, 2015-01-02 - Ботан». 2015-01-02. Получено 2015-01-09.
- ^ "гнутс 3.6.0". 2017-09-21. Получено 2018-01-07.
- ^ "гнутс 3.4.12". 2016-05-20. Архивировано из оригинал на 2016-10-13. Получено 2016-05-29.
- ^ «Примечания к выпуску JDK 10.0.1». 2018-04-18. Получено 2018-08-27.
- ^ «Примечания к выпуску JDK 12». Получено 2019-06-20.
- ^ а б c d «Изменения в 3.8.3». Получено 2016-06-19.[постоянная мертвая ссылка ]
- ^ «Примечания к выпуску PolarSSL 1.3.8».
- ^ а б «Выпущен Mbed TLS 2.11.0, 2.7.4 и 2.1.13». Получено 2018-08-30.
- ^ «Выпущен Mbed TLS 2.12.0, 2.7.5 и 2.1.14». Получено 2018-08-30.
- ^ «Примечания к выпуску NSS 3.25». Сеть разработчиков Mozilla. Mozilla. Получено 2016-07-01.
- ^ «Ошибка 940119 - libssl не поддерживает никакие комплекты шифров TLS_ECDHE _ * _ CAMELLIA _ * _ GCM». Mozilla. Получено 2013-11-19.
- ^ «Выпущена NSS 3.12». Получено 2013-11-19.
- ^ «Примечания к выпуску NSS 3.12.3». Сеть разработчиков Mozilla. Mozilla. Получено 2014-07-01.
- ^ «Примечания к выпуску NSS 3.23». Сеть разработчиков Mozilla. Mozilla. Получено 2016-03-09.
- ^ "openssl / ИЗМЕНЕНИЯ в OpenSSL_1_0_1-стабильной · openssl / openssl". Получено 2015-01-20.
- ^ Inc., OpenSSL Foundation. "/news/openssl-1.1.1-notes.html". www.openssl.org.
- ^ Hofix 984963: комплекты шифров TLS AES для Microsoft Windows 2003
- ^ а б c "Qualys SSL Labs - Проекты / Возможности пользовательского агента: IE 11 / Win 10 Preview". dev.ssllabs.com.
- ^ RFC 5469
- ^ а б «Sweet32: День рождения атак на 64-битные блочные шифры в TLS и OpenVPN».
- ^ «Версия 1.11.15, 2015-03-08 - Ботан». 2015-03-08. Получено 2015-03-11.
- ^ «Документация поставщиков Oracle по архитектуре криптографии Java». docs.oracle.com.
- ^ «Примечания к выпуску NSS 3.15.3». Сеть разработчиков Mozilla. Mozilla. Получено 2014-07-13.
- ^ «MFSA 2013-103: Прочие уязвимости служб сетевой безопасности (NSS)». Mozilla. Mozilla. Получено 2014-07-13.
- ^ а б c «RC4 теперь отключен в Microsoft Edge и Internet Explorer 11 - Блог разработчиков Microsoft EdgeБлог разработчиков Microsoft Edge». blogs.windows.com. 2016-08-09.
- ^ а б "wolfSSL (ранее CyaSSL), выпуск 3.7.0 (26.10.2015)". 2015-10-26. Получено 2015-11-19.
- ^ а б Было показано, что согласование произвольных кривых небезопасно для определенных размеров кривых. Маврогианнопулос, Никос и Веркаутерн, Фредерик и Величков, Веселин и Пренель, Барт (2012). Межпротокольная атака на протокол TLS. Материалы конференции ACM 2012 г. по компьютерной и коммуникационной безопасности (PDF). С. 62–72. ISBN 978-1-4503-1651-4.CS1 maint: несколько имен: список авторов (связь)
- ^ а б c RFC 7027
- ^ Саймон, Йозефссон; Йоав, Нир; Мануэль, Пегурье-Гоннар. «Наборы шифров для криптографии с эллиптическими кривыми (ECC) для безопасности транспортного уровня (TLS) версий 1.2 и более ранних». tools.ietf.org.
- ^ Саймон, Йозефссон; Мануэль, Пегурье-Гоннар. «Curve25519 и Curve448 для безопасности транспортного уровня (TLS)». tools.ietf.org.
- ^ а б c d е ж грамм час я Саймон, Йозефссон; Мануэль, Пегурие-Гоннар. «Дополнительные эллиптические кривые для соглашения о ключах безопасности транспортного уровня (TLS)». tools.ietf.org.
- ^ а б c «Версия 1.11.5, 10.11.2013 - Ботан». 2013-11-10. Получено 2015-01-23.
- ^ «Обзор новых возможностей GnuTLS 3.5.0». 2016-05-02. Получено 2016-12-09.
- ^ «Примечания к выпуску для раннего доступа JDK 13». Получено 2019-06-20.
- ^ «Примечания к выпуску LibreSSL 2.5.1». OpenBSD. 2017-01-31. Получено 2017-02-23.
- ^ "Журнал изменений MatrixSSL 4.0". Получено 2018-09-18.
- ^ а б c «Выпущен PolarSSL 1.3.1». 2013-10-15. Получено 2015-01-23.
- ^ «Выпущен PolarSSL 1.3.3». 2013-12-31. Получено 2015-01-23.
- ^ «Выпущен Mbed TLS 2.9.0, 2.7.3 и 2.1.12». Получено 2018-08-30.
- ^ а б c «Ошибка 943639 - поддержка кривой Brainpool ECC (rfc5639)». Mozilla. Получено 2014-01-25.
- ^ «Ошибка 957105 - добавлена поддержка Curve25519 Key Exchange и поддержка UMAC MAC для TLS». Mozilla. Получено 2017-02-23.
- ^ «Примечания к выпуску OpenSSL 1.1.0x». 25 августа 2016 г.. Получено 18 мая 2018.
- ^ "OpenSSL GitHub Issue # 487 Tracker". 2 декабря 2015 г.. Получено 18 мая 2018.
- ^ «Примечания к выпуску OpenSSL 1.1.1x». 1 мая 2018. Получено 18 мая 2018.
- ^ "OpenSSL GitHub Issue # 5049 Tracker". 9 января 2018 г.. Получено 18 мая 2018.
- ^ "wolfSSL (Ранее CyaSSL) Выпуск 3.4.6 (30.03.2015)". 2015-03-30. Получено 2015-11-19.
- ^ «SHA2 и Windows». Получено 2014-09-08.
- ^ RFC 3749
- ^ RFC 5746
- ^ а б c d RFC 6066
- ^ RFC 7301
- ^ RFC 6091
- ^ RFC 4680
- ^ RFC 5077
- ^ RFC 5705
- ^ RFC 7366
- ^ RFC 7507
- ^ RFC 7627
- ^ RFC 7685
- ^ RFC 7250
- ^ «Версия 1.11.16, 2015-03-29 - Ботан». 2016-03-29. Получено 2016-09-08.
- ^ «Версия 1.11.10, 2014-12-10 - Ботан». 2014-12-10. Получено 2014-12-14.
- ^ а б «Версия 1.11.26, 2016-01-04 - Ботан». 2016-01-04. Получено 2016-02-25.
- ^ Присутствует, но отключен по умолчанию из-за того, что не используется какой-либо реализацией.
- ^ "гнутлс 3.2.0". Архивировано из оригинал на 2016-01-31. Получено 2015-01-26.
- ^ https://lists.gnupg.org/pipermail/gnutls-help/2017-August/004364.html
- ^ "гнутс 3.4.4". Архивировано из оригинал на 2017-07-17. Получено 2015-08-25.
- ^ "% DUMBFW приоритетное ключевое слово". Получено 2017-04-30.
- ^ "гнутс 3.6.6". 2019-01-25. Получено 2019-09-01.
- ^ «Выпущен LibreSSL 2.1.3». 2015-01-22. Получено 2015-01-22.
- ^ «Выпущен LibreSSL 2.1.4». 2015-03-04. Получено 2015-03-04.
- ^ "MatrixSSL - Новости". 2014-12-04. Архивировано из оригинал на 2015-02-14. Получено 2015-01-26.
- ^ «Обзор загрузки - PolarSSL». 2014-04-11. Получено 2015-01-26.
- ^ а б c "Выпущен mbed TLS 1.3.10". 2015-02-08. Получено 2015-02-09.
- ^ а б «Примечания к выпуску NSS 3.15.5». Сеть разработчиков Mozilla. Mozilla. Получено 2015-01-26.
- ^ «Ошибка 961416 - Поддержка RFC6091 - Использование ключей OpenPGP для аутентификации безопасности транспортного уровня (TLS1.2)». Mozilla. Получено 2014-06-18.
- ^ «Ошибка 972145 - реализация TLS-расширения шифрования, а затем MAC». Mozilla. Получено 2014-11-06.
- ^ «Примечания к выпуску NSS 3.17.1». Получено 2014-10-17.
- ^ «Примечания к выпуску NSS 3.21». Получено 2015-11-14.
- ^ http://www.openssl.org/news/secadv_20141015.txt
- ^ «Примечания к выпуску OpenSSL 1.1.0».[постоянная мертвая ссылка ]
- ^ «Основные изменения между OpenSSL 1.0.1f и OpenSSL 1.0.1g [7 апреля 2014 г.]». 2014-04-07. Архивировано из оригинал на 2015-01-20. Получено 2015-02-10.
- ^ а б c d «Бюллетень по безопасности Microsoft MS15-121». Получено 2017-11-29.
- ^ а б «Что нового в TLS / SSL (Schannel SSP)». Получено 2014-06-18.
- ^ «Версия 1.11.31, 30.08.2015 - Ботан». 2016-08-30. Получено 2016-09-08.
- ^ https://lists.gnupg.org/pipermail/gnutls-devel/2016-October/008194.html
- ^ «Поставщик Java SSL с поддержкой AES-NI». stackoverflow.com.
- ^ «Мы включили поддержку AES-NI в наши модули AES и GCM». 2013-12-31. Получено 2014-01-07.
- ^ Обычно libssl NSS выполняет все операции через интерфейс PKCS # 11 с аппаратными или программными токенами.
- ^ «Ошибка 706024 - усовершенствования AES-NI для NSS в системах Sandy Bridge». Получено 2013-09-28.
- ^ «Ошибка 479744 - RFE: поддержка ACE Padlock (аппаратный RNG, AES, SHA1 и SHA256)». Получено 2014-04-11.
- ^ https://habrahabr.ru/post/134725/, http://forum.rutoken.ru/topic/1639/, https://dev.rutoken.ru/pages/viewpage.action?pageId=18055184 (на русском)
- ^ "git.openssl.org Git - openssl.git / commitdiff". git.openssl.org.
- ^ «Используйте инструкции ЦП для криптографии AES».
- ^ «RSA BSAFE SSL-J 6.2.5 - Примечания к выпуску».
- ^ https://opensource.apple.com/source/Security/Security-55179.13/sec/Security/SecECKey.c
- ^ 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
- ^ "wolfSSL Асинхронная поддержка Intel QuickAssist - wolfSSL". 18 января 2017.
- ^ «Выпущен LibreSSL 2.2.1». 2015-07-08. Получено 2016-01-30.
- ^ а б RFC 7512
- ^ "libp11: библиотека оболочки PKCS # 11". 19 января 2018 г. - через GitHub.
- ^ На лету заменяемый / расширяемый.
- ^ "Nss compat ossl - Fedora Project Wiki". fedoraproject.org.
- ^ а б «НСПР». Сеть разработчиков Mozilla.
- ^ Для Unix / Linux он использует / dev / urandom, если доступен, для Windows - CAPI. Для других платформ он получает данные от часов и пытается открыть системные файлы. NSS имеет набор зависимых от платформы функций, которые он использует для определения случайности.