Что Шифрование SSL-шифрования имеет наименьшие издержки? Очевидно, что скомпрометированный пакет будет нежелательным, однако существуют возрастные проблемы. Например, RC4 все еще находится в спецификации SSL 3.0. Что является хорошей рекомендацией для сайта с высоким трафиком? Будет ли набор шифров изменяться, если он не используется для http?
Какой пакет шифрования SSL имеет наименьшие издержки?
Ответ 1
Это зависит, если вы говорите о сетевых или процессорных издержках.
Накладные расходы в сети - это размер пакета. Первоначальное рукопожатие подразумевает некоторую асимметричную криптографию; набор сертификатов DHE (когда сертификаты сервера используются только для цифровых подписей) подразумевает сообщение ServerKeyExchange
, которое потребует нескольких сотен дополнительных байтов по сравнению с обменом ключа RSA. Это одноразовая стоимость, и клиенты будут повторно использовать сеансы (продолжая предыдущий сеанс TLS с сокращенным обменом ключами с симметричным ограничением).
Кроме того, данные обмениваются "записями". Запись может вставлять данные размером до 16 килобайт. У записи есть служебные данные размера, которые варьируются от 21 байта (с RC4 и MD5) до 57 байтов (с 16-байтовым блочным шифрованием, таким как AES, и SHA-1, и TLS 1.1 или новее). Так что в худшем случае накладные расходы на 0,34%.
Накладные расходы на процессор SSL теперь довольно малы. Используйте openssl speed
, чтобы получить некоторые необработанные цифры; на моем ПК (2,4 ГГц Core2 от двух лет назад), RC4, кажется, примерно в два раза быстрее, чем AES, но AES уже имеет значение 160 Мбайт/с, то есть в 16 раз быстрее, чем 100baseT ethernet может передавать. Проверка целостности (с MD5 или SHA-1) будет намного быстрее, чем шифрование. Таким образом, набор шифров с наименьшими издержками ЦП должен быть SSL_RSA_WITH_RC4_128_MD5
, но для того, чтобы действительно заметить разницу с, например, TLS_RSA_WITH_AES_128_CBC_SHA
, потребуется какая-то довольно специальная настройка. Кроме того, на некоторых новых процессорах Intel есть инструкции для AES, что сделает AES быстрее, чем RC4 в этих системах (VIA C7 x86 также имеют некоторое аппаратное ускорение для некоторых криптографических алгоритмов). RC4 может дать вам дополнительное преимущество в некоторых случаях из-за его очень маленького кода - в случае, если ваше приложение довольно тяжело по размеру кода и вы столкнетесь с проблемами кеша L1.
(Как обычно, для проблем с производительностью фактические меры всегда превзошли теорию.)
Ответ 2
ЦИФЕРСУЙТ с меньшими накладными расходами - RSA_WITH_RC4_MD5. Обратите внимание, что способ RC4, используемый в TLS, не делает его сломанным, как, например, в WEP, но все же его безопасность может быть поставлена под сомнение. Он также использует HMAC-MD5, который также не самый лучший выбор, даже несмотря на отсутствие известных атак. Несколько веб-сайтов (к сожалению) используют только этот ciphersuite для повышения эффективности. Если вы используете сервер Intel с инструкциями AES-NI, вы можете поэкспериментировать с RSA_WITH_AES_128_SHA1. Это быстрее, чем RSA_WITH_RC4_MD5 в тестируемых системах.
Ответ 3
Я искал SSL/TLS и столкнулся с этим. Я знаю, что поток старый и просто хотел добавить несколько обновлений на случай, если кто-то потеряется здесь.
Некоторые шифры обеспечивают большую безопасность и еще большую производительность. Но поскольку это было опубликовано, было внесено несколько изменений в SSL/TLS, особенно в отношении безопасности.
Для хороших и всегда обновляемых шифров проверьте этот генератор SSL/TLS Mozilla
Также стоит отметить, что если вы беспокоитесь о производительности, есть и другие аспекты SSL-соединения, которые вы могли бы изучить, например:
- Сшивание OCSP
- Сессия возобновления (билеты)
- Возобновление сеанса (кэширование)
- False Start (требуется NPN)
- HTTP/2
Ответ 4
RC4 в SSL больше не считается безопасным.
http://www.isg.rhul.ac.uk/tls/ подробно описывает успешную (хотя и не очень эффективную) атаку на SSL с помощью RC4.