TCP 套接字连接上的 TLS/SSL 开销?

TCP 套接字连接上的 TLS/SSL 开销?

在 TCP 连接上使用 SSL 是否有带宽开销?我当然了解加密和解密数据包的处理/内存使用开销,但就带宽而言,如果有的话,有什么区别?

例如,给定一个 64KB 的 XML 文件,通过 HTTP 和 HTTPS 传输文件的大小会有什么明显差异吗?(当然,忽略mod_deflate和)mod_gzip

答案1

有些,但主要是在协商阶段。一旦过了这个阶段,带宽性能就接近 1:1。

所有使用的算法(我想是所有..如果我错了请纠正我)都会转换数据,保持输入和输出之间的大小相同。

这里需要注意的是,密码具有特定的“块大小”,即每个数据块必须达到加密的大小;如果消息不够大,则会插入垃圾数据进行填充。这些块大小非常小(最大的块是 RSA,其中消息大小等于密钥大小,因此为 1-2 千比特,但这仅用于握手),但在处理大量小消息时可能会产生开销。

答案2

由于开销,数据包有效负载减少。SSL 加密密钥大小也是一个因素。密钥越大,为了安全起见,所需的处理能力就越大。

要测试 SSL,请使用 SCP 通过 SSH 或 SFTP 将文件复制到服务器。现在尝试使用 FTP 进行相同的复制。我建议您通过 SSH 使用 RSYNC,然后将 RSYNC 作为守护进程(无加密)。

如果 SSL 处理是一个因素,请为您的服务器购买 SSL 加速器。

相关内容