SSL延迟有多大?

据说,Netscape公司当年设计SSL协议的时候,有人提过,将互联网所有链接都变成HTTPs开头的加密链接。

这个建议没有得到采纳,原因之一是HTTPs链接比不加密的HTTP链接慢很多。(另一个原因好像是,HTTPs链接默认不能缓存。)

自从我知道这个掌故以后,脑袋中就有一个观念:HTTPs链接很慢。但是,它到底有多慢,我并没有一个精确的概念。直到今天我从一篇文章中,学到了测量HTTPs链接耗时的方法。

首先我解释一下,为什么HTTPs链接比较慢。

HTTPs链接和HTTP链接都建立在TCP协议之上。HTTP链接比较单纯,使用三个握手数据包建立连接之后,就可以发送内容数据了。

上图中,客户端首先发送SYN数据包,然后服务器发送SYN+ACK数据包,最后客户端发送ACK数据包,接下来就可以发送内容了。这三个数据包的发送过程,叫做TCP握手。

再来看HTTPs链接,它也采用TCP协议发送数据,所以它也需要上面的这三步握手过程。而且,在这三步结束以后,它还有一个SSL握手

总结一下,就是下面这两个式子。

HTTP耗时 = TCP握手 HTTPs耗时 = TCP握手 + SSL握手

所以,HTTPs肯定比HTTP耗时,这就叫SSL延迟。

命令行工具curl有一个w参数,可以用来测量TCP握手和SSL握手的具体耗时,以访问支付宝为例。

$ curl -w "TCP handshake: %{time_connect}, SSL handshake: %{time_appconnect}\n" -so /dev/null https://www.alipay.com TCP handshake: 0.022, SSL handshake: 0.064

上面命令中的w参数表示指定输出格式,time_connect变量表示TCP握手的耗时,time_appconnect变量表示SSL握手的耗时(更多变量请查看文档实例),s参数和o参数用来关闭标准输出。

从运行结果可以看到,SSL握手的耗时(64毫秒)大概是TCP握手(22毫秒)的三倍。也就是说,在建立连接的阶段,HTTPs链接比HTTP链接要长3倍的时间,具体数字取决于CPU的快慢和网络状况。

所以,如果是对安全性要求不高的场合,为了提高网页性能,建议不要采用保密强度很高的数字证书。一般场合下,1024位的证书已经足够了,2048位和4096位的证书将进一步延长SSL握手的耗时。

(完)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

利用PRET控制远程打印机测试

Pret是用来对打印机安全进行测试的工具。它通过网络或者USB连接到设备,并利用给定打印机的语言进行渗透。目前绝大多数的打印机都是使用PostScript,pj...

1723
来自专栏玄魂工作室

Python灰帽编程 3.1 ARP欺骗

ARP欺骗是一种在局域网中常用的攻击手段,目的是让局域网中指定的(或全部)的目标机器的数据包都通过攻击者主机进行转发,是实现中间人攻击的常用手段,从而实现数据监...

4206
来自专栏信安之路

浅谈ddos的测试方式

DOS(denial of service--拒绝服务)攻击的目的是使服务正常功能不可用。不像其他类型的攻击的目的是获取敏感信息,Dos攻击是不会威胁到敏感信息...

2260
来自专栏大神带我来搬砖

AppScan检测CAS,tomcat SSL版本漏洞

AppScan扫描CAS所在的tomcat,检查出"支持不推荐使用的 SSL 版本",于是在tomcat中设置 <Connector port="844...

2833
来自专栏漫漫前端路

HTTP 协议 - 简单谈谈 TCP / IP (一)

世界上几乎所有的 HTTP 协议都是由 TCP / IP 协议来承载的。它是互联网相关的各类协议族的总称(通常所说的规则,就是协议)。

1102
来自专栏青玉伏案

TCP/IP协议族(一) HTTP简介、请求方法与响应状态码

接下来想系统的回顾一下TCP/IP协议族的相关东西,当然这些东西大部分是在大学的时候学过的,但是那句话,基础的东西还是要不时的回顾回顾的。接下来的几篇博客都是关...

2816
来自专栏landv

烽火2640路由器命令行手册-02-接口配置命令

本文描述用于不同类型接口的基本命令,这些命令对应于手册包括的接口配置任务,有关配置要点,参考下面列出的各项内容。

1412
来自专栏上善若水

001互联网网络技术之Wireshark的简易使用

wireshark是非常流行的网络封包分析软件,且是开源的,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。可以运行在Windows和Mac OS上...

912
来自专栏北京马哥教育

Linux系统之IP、TCP封包格式

一、IP封包格式说明 前言 IP 协议用 IP 报文头封装传输层报文,IP 报文头包含了如下的信息:这个报文从哪个传输层协议过来,它准备被发送到哪台机器,它从哪...

3334
来自专栏耕耘实录

tcpdump使用小记

版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢

1143

扫码关注云+社区

领取腾讯云代金券