Как определить, какую версию протокола SSL / TLS можно установить с помощью определенного набора шифров - PullRequest
0 голосов
/ 06 сентября 2018

Или наоборот, как узнать, какие наборы шифров можно использовать для определенной версии протокола SSL / TLS? Оба вопроса подразумевают наличие ограничений, то есть, что любой набор шифров не подходит для любой версии протокола. В частности, я хотел бы указать на исчерпывающий список подходящих шифров для TLS 1.2, если таковой имеется.

Вопрос можно перефразировать как совместимость между комплектами шифров и версиями протокола.

1 Ответ

0 голосов
/ 06 сентября 2018

Это своего рода оффтоп, здесь не связанный с программированием.Но почему вы беспокоитесь о других версиях, кроме 1.2 или 1.3?

TLS 1.3 имеет очень маленький список шифров, отдельный от всех предыдущих:

ЭтоСпецификация определяет следующие комплекты шифров для использования с TLS 1.3.

          +------------------------------+-------------+
          | Description                  | Value       |
          +------------------------------+-------------+
          | TLS_AES_128_GCM_SHA256       | {0x13,0x01} |
          |                              |             |
          | TLS_AES_256_GCM_SHA384       | {0x13,0x02} |
          |                              |             |
          | TLS_CHACHA20_POLY1305_SHA256 | {0x13,0x03} |
          |                              |             |
          | TLS_AES_128_CCM_SHA256       | {0x13,0x04} |
          |                              |             |
          | TLS_AES_128_CCM_8_SHA256     | {0x13,0x05} |
          +------------------------------+-------------+

Для других версий такой инструмент, как https://github.com/mozilla/cipherscan, может помочь ему показать шифры и к какой версии они применяются.

Или просто openssl с помощью команды openssl ciphers, добавив параметр -s и затем -tls1, -tls1_1 или -tls1_2.

Если вы посмотрите его руководство, у вас также естьсписки, посмотрите внизу https://www.openssl.org/docs/manmaster/man1/ciphers.html

* Есть 1026 * возможных возможных шифров в TLSv1.2, но не все являются хорошей идеей.Некоторые люди пытаются поддерживать списки хороших параметров, см., Например, https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_configurations или https://weakdh.org/sysadmin.html

. Я также рекомендую вам взглянуть на это усилие для определения "Долгосрочной поддержки" TLSv1.2, котораяэто спецификация поверх текущей версии TLS 1.2 для людей, которым не больше 1.3, которая пытается улучшить безопасность, удаляя все из TLS v1.2, которая, как было установлено, не является хорошей идеей, в то время как все еще является TLS v1 на 100%.2 соответствует.

https://datatracker.ietf.org/doc/draft-gutmann-tls-lts/?include_text=1

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

О шифрах есть следующее:

TLS-LTS ограничивает более или менее неограниченный TLS 1.2 с его более
, чем тремя сотнями наборов шифров, более сорока наборов параметров ECC и
зоопарком дополнительных алгоритмов, параметров иформаты параметров, от
до двух, один традиционный с DHE + AES-CBC + HMAC-SHA-256 +
RSA-SHA-256 / PSK и один ECC один с ECDHE-P256 + AES-GCM + HMAC- * +1049 * SHA-256 + ECDSA-P256-SHA-256 / ФМно с несжатыми точками:

* * о тысяче пятьдесят один реализации TLS-LTS должны поддерживать TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_PSK_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 и TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256.Для этих наборов SHA-256 используется во всех местах протокола, где требуется хеш-функция, особенно в вычислениях PRF и MAC для каждого пакета (как указано в наборе _SHA256), а также в сигнатурах клиента и сервера.в сообщениях CertificateVerify и ServerKeyExchange.
   [Note: TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256 is based on
    draft-ietf-tls-ecdhe-psk-aead, currently still
    progressing as an IETF draft, the reference will be
    updated to the full RFC once it's published].
...