(Приблизительно) на сколько больше битов данных необходимо передать по сети во время зашифрованного соединения по сравнению с незашифрованным соединением?
IIUC, после завершения рукопожатия TLS количество переданных битов равно битам, переданным во время незашифрованного соединения. Это точно?
В качестве дополнения, передача большого файла по https значительно медленнее, чем передача этого файла по http, учитывая быстрые процессоры и одинаковые (идеальные) условия сети?
Ответ 1 · рейтинг 35 · Nasko
Я получил этот вопрос несколько раз, поэтому я решил написать небольшое объяснение накладных расходов с некоторыми примерными числами, основанными на общем случае. Вы можете прочитать его в моем блоге по адресу http://netsekure.org/2010/03/tls-overhead/.
Вывод из записи в блоге:
- Общие накладные расходы для установления нового сеанса TLS составляют в среднем около 6,5 КБ.
- Общие накладные расходы для возобновления существующего сеанса TLS в среднем составляют около 330 байт.
- Общий объем зашифрованных данных составляет около 40 байт.
Ответ 3 · рейтинг 1 · Todd
В 2020 году TLS 1.2 и 1.3 более типичны, а AES-GCM представляет собой режим потокового шифрования с меньшими накладными расходами.
См. https://tools.ietf.org/id/draft-mattsson-uta-tls-overhead-01.xml#rfc.section.3.
На пакет накладные расходы для AES-GCM составляют 29 байтов. TCP MSS может достигать 1460 (https://blog.apnic.net/2014/12/15/ip-mtu-and-tcp-mss-missmatch-an-evil-for-network-performance/). Таким образом, для большой загрузки (где используется максимальное значение MSS) накладные расходы составят 29:1431, что составляет 2,03%.
(Накладные расходы на рукопожатие являются отдельными, разовыми)
Ответ 4 · рейтинг -4 · Scooterville
На порядок. См. это. Это не слишком важно, если защищаемая информация заслуживает защиты. И помните, что скорость процессора может только увеличиваться, поэтому производительность будет расти.