Может ли сервер/клиент TLS 1.2 обойтись только TLS RSA с AES 128 CBC SHA?

Я обновляю встроенную реализацию TLS 1.0 до TLS 1.2 (устройства с 1 МБ кодового пространства или меньше, и без ОС). На данный момент у меня есть шифры AES-128 и AES-256 CBC, работающие с SHA-1 и SHA-256 для минимальной реализации. Библиотека не может согласовать соединение SSLv2, SSLv3, TLS 1.0 или TLS 1.1.

Я чувствовал, что этого будет достаточно, учитывая, что RFC 5246 заявляет: "TLS_RSA_WITH_AES_128_CBC_SHA теперь является обязательным для реализации шифра комплект."

тем не менее, когда я читаю различные публикации в блогах безопасности, я вижу рекомендации, которые заставили бы пользователей отключить этот набор и (например) разрешить только варианты ECDHE_RSA или DHE_RSA.

поэтому мой вопрос заключается в том, будут ли устройства, использующие нашу библиотеку, взаимодействовать с современными веб-браузерами (как сервер) и современными серверами https/smtps/pop (как клиент). существуют ли клиенты/серверы TLS 1.2, которые не могут согласовать TLS_RSA_WITH_AES_128_CBC_SHA связь?

2 ответов


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

однако есть вещи, чтобы иметь в виду:

  • TLS_RSA_WITH_3DES_EDE_CBC_SHA обязателен для TLSv1.0 и TLSv1.1 но из-за соображений безопасности он больше не поддерживается каждым сервером,
  • браузер Mozilla рекомендует (и это не единственный) в пользу AES128 вместо AES256,
  • совершенная передняя секретность (PFS), позволенная DHE или ECDHE теперь характеристика должн-иметь.

поэтому, если я могу предоставить вам 4 набора шифров (столько же, сколько у вас), я бы сказал, что эти от самых сильных до самых слабых:

  1. TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  2. TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  3. TLS_RSA_WITH_AES_128_GCM_SHA256
  4. TLS_RSA_WITH_AES_128_CBC_SHA

я бы сказал, что эти 4 набора шифров обеспечивают достаточную безопасность и совместимость с TLSv1.2 сервера.

теперь вопрос поддержки только TLSv1.2 это уже другой вопрос, но если у вас достаточно места, я рекомендую вам добавить TLSv1.0 тоже (TLSv1.1 не обеспечивает дополнительную совместимость).

PS: причина почему AES128 является предпочтительным вместо AES256 это то, что некоторые люди думают, что дополнительная безопасность добавлена AES256 (на данный момент) бесполезно и что AES128 - видимому, более устойчивы к атакам времени.


" поэтому мой вопрос заключается в том, будут ли устройства, использующие нашу библиотеку, взаимодействовать с современными веб-браузерами (как сервер) и современными https/smtps/pop-серверами (как клиент). Существуют ли клиенты/серверы TLS 1.2, которые не могут согласовать соединение TLS_RSA_WITH_AES_128_CBC_SHA?"

Да есть много реализаций, которые не.

чаще всего:

  1. клиенты, которые все еще отправляют SSL2.0 Клиент Hello
  2. клиенты / серверы, которые поддерживают только PFS шифра
  3. серверы, которые все еще не поддерживают TLS 1.2
  4. серверы, которые больше не поддерживают TLS 1.2-так как они поддерживают только TLS 1.3

мои рекомендации:

  • также поддерживает TLS 1.3 (не так сложно реализовать, я это сделал)
  • также поддержка DHE

или используйте инструмент / сайт, например https://www.ssllabs.com/ssltest/index.html и проверьте совместимость / безопасность вашего сервера, пока он не достаточно для тебя.