Назад | Перейти на главную страницу

Почему Android / IE использует 3DES, когда доступен AES?

У меня есть установка Zimbra, и я хочу укрепить комплекты шифров. Я отключил кое-что и вполне нормально с тем, что осталось.

Проблема в том, что Qualys SSL test показывает, что многие клиенты будут использовать 3DES, который я оставил доступным только в качестве последнего запасного варианта.

Если я посмотрю на поддерживаемые шифры Android 5 и моего сервера (например), там больше совпадений, и один и тот же набор шифров AES доступен на обоих.

Почему не используется этот шифр AES?

Вот весь результат теста:

Обычно у каждого клиента есть свои предпочтения, какие шифры они поддерживают.

Чтобы придерживаться вашего примера: Android 5.0.0 поддерживает разумное число, но имеет некоторые странные предпочтения, при этом некоторые объективно более слабые шифры предпочтительнее некоторых более сильных.

Согласно сканированию SSL Labs ( «Наборы шифров (отсортированы по силе; у сервера нет предпочтений)» раздел) ваш сервер будет поддерживать только ограниченное количество шифров и не отображает предпочтения, оставляя согласование шифров в первую очередь на клиента, что приводит к TLS_RSA_WITH_3DES_EDE_CBC_SHA (0xa)

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

Я подозреваю, что это выбор дизайна. Выбирая менее вычислительно-ресурсоемкий шифр, вы потребляете меньше энергии и, следовательно, получаете больше времени автономной работы, что потребители замечают и о чем заботятся в смартфонах, и, наоборот, когда речь идет о безопасности, пока конечный пользователь видит эту блокировку. значок, «это безопасно», и это все, что их волнует (если они даже так сильно заботятся).

Итак, они используют 3DES, потому что они предпочитают более слабый шифр, и вы разрешаете его использовать. Единственный способ предотвратить его выбор клиентом с сомнительными предпочтениями - это удалить его.

Чтобы решить проблему, уже описанную @HBrujin и @ HopelessN00b, вы можете установить предпочтительный шифр списка для веб-сервера, который также может иметь предпочтения, а не только клиент. Рекомендую использовать настройки, разработанные Bettercrypto.org проект Прикладное усиление криптографии.

Например. для Apache вы можете использовать

SSLCipherSuite 'EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA'

в ваших настройках для SSL / TLS. Для поддержки 3DES удалите 3DES из строки, но только если это действительно необходимо и вам нужна поддержка программного обеспечения прошлого века. Эту шифровальную строку можно использовать в бизнес-средах со старым программным обеспечением (что тоже не рекомендуется, но для бизнеса, знаете ли ...).