与HTTP相比,使用HTTPS的开销是多少?

问题描述:

我在读这个博客(http://googlepublicpolicy.blogspot.com/2009/06/https-security-for-web-applications.html),发布者为谷歌,默认情况下未启用gmail的HTTPS。其中一段如下所述。与HTTP相比,使用HTTPS的开销是多少?

除非对用户体验有负面影响,否则我们打算默认打开HTTPS,希望对所有Gmail用户有所帮助。我们也在考虑如何使这项工作最适合其他应用,包括Google文档和Google日历(我们也为这些应用提供免费的HTTPS)。

我不明白会有什么负面影响,因为转移到HTTPS。是否有关于HTTP和HTTPS性能的基准测试。

我觉得https实际上最初涉及一些额外的协议消息,稍后会进行数据加密。不能将这些问题通过具有SSL浏览器代码被照顾到默认等加载..

谢谢 巴拉

+0

请运行一个快速的谷歌搜索“https的开销”,你会在第一页看到的开销的文件。 – atk 2009-12-12 13:43:38

https的主要成本通常是会话开始时的密钥交换,这是CPU密集型的。 Hardward加速可用于处理此问题。如果它是EV证书,那么它也需要撤销检查。流的实际加密相对便宜。 Sun Niagara II具有“零开销”加密功能,使用空闲的FPU周期进行处理。

+0

Sun Niagra处理器系列对于加密来说是非常可怕的,除非(并且除非)你已经重新编译使用加密加速器来运行SSL:基本CPU有32个整数流水线,但它们都共享一个FPU - 加密缓慢 – warren 2009-12-14 15:42:42

+0

Woah。你为什么不编译让操作系统处理SSL?这对我来说似乎是合理的。 Niagara 1确实有一个FPU,但没有这个功能。 Niagara 2(已在服务器上运行超过两年)拥有8个FPU - 每个核心一个。看起来这是一个不寻常的工作负载,它总能保持浮点和加密繁忙 - 可能一个或另一个将变得微不足道。 http://en.wikipedia.org/wiki/UltraSPARC_T2 – 2009-12-14 16:08:55

随着HTTPS用户和托管的信息服务器之间的所有通信进行加密,是仅被用户和服务器看到。这使得中间人攻击非常困难。这需要双方额外的资源来解释正在传达的内容。

通常,在HTTPS上的高需求服务器上,网站的哪些部分使用SSL或存在加密卡来卸载加密过程。

+0

如果额外的资源只有CPU绑定,我觉得大多数机器可以处理这种开销。如果它仍然是一个开销,那么我觉得它可能是实现的问题,并且可能会考虑在内核中实现更好的实现。 – Boolean 2009-12-12 05:06:53

+0

使用HTTPS时,每个用户都会增加一层加密。它会将你的表现降低一个很好的因素。 – monksy 2009-12-12 05:50:37

+0

我仍然困惑。哪一个更高?进行加密或密钥交换的开销。 谢谢。 – Boolean 2009-12-14 19:30:31

https的开销完全在会话开始时的密钥协商阶段。如果密钥设置为短期过期,则可能需要经常重新协商。然而,如果你生活在128位SSL(我见过的最常见的)上,密钥生成和交换是一个非常短的过程。

尝试从网络上的两台计算机进行计时 - 一次连接SSL,另一次连接明文:计数单位百分比,在会话开始时才真正引人注目。

基于浏览器的活动是差不多始终是用户绑定的,而不是机器绑定的。