与非加密连接相比,TLS添加了多少网络开销?

Dan*_*ing 16 ssl https networking http

(大约)与未加密的连接相比,在加密连接期间必须通过网络传输多少位数据?

IIUC,一旦TLS握手完成,传输的比特数等于未加密连接期间传输的比特数.这准确吗?

作为后续工作,在快速处理器和相同(理想)的网络条件下,通过https传输大文件比通过http传输该文件要慢得多吗?

Nas*_*sko 28

我已经多次提出这个问题了,所以我决定根据常见情况写一些关于开销的小解释.您可以在我的博客http://netsekure.org/2010/03/tls-overhead/上阅读.

博客文章摘要:

  • 建立新TLS会话的总开销平均约为6.5k字节.
  • 恢复现有TLS会话的总开销平均约为330字节.
  • 加密数据的总开销约为40个字节.

  • 绝对值得一读。这就像 TLS 如何工作的速成课程。 (3认同)

bri*_*gge 13

简短的回答是:你的Milage May Vary(YMMV) - 这一切都取决于你的交通模式.有许多因素需要考虑:

  • 额外的握手和证书将为TCP流添加4-6KB,这将导致更多的以太网帧穿过线路
  • 客户端下载证书吊销列表.像cURL这样的工具省略了这一步.crl可以由浏览器缓存,但是,它通常与它没有很长的年龄关联.Verisign将他们的设备在四分钟后过期.在我的测试中,我看到Windows上的Safari下载了两次相同的91KB文件.
  • TLS会话恢复可以避免握手的公钥交换部分以及证书验证.
  • HTTP keep-alives将使套接字保持打开状态,与http相同,但在套接字为TLS时可以节省更多.
  • SSL压缩支持开始出现在服务器端,但是AFAIK,大多数浏览器还没有实现这一点.此外,如果您已经在http层压缩,那么这里不会有太多.如果客户端向服务器发送大量文本(通常不在http层压缩),则可能获得巨大的收益.