升级 HTTPS,价值何在?
HTTPS 实质上是一种面向安全信息通讯的协议。从最终的数据解析的角度上看,HTTPS 与 HTTP 没有本质上的区别。对于接收端而言,SSL/TSL 将接收的数据包解密,将数据传给 HTTP 协议层,就造成了 HTTP 数据。而 HTTPS 则是将 HTTP 数据包经过 SSL/TSL 层加密, 从而保证传输数据的安全性。
SSL/TSL 是一个分层协议,共有两层组成,其中 SSL/TSL 握手协议容许服务方与客户方互相认证,并在应用层协议传送数据以前协商出一个加密算法和会话密钥。SSL/TSL的握手协议主要交换数字证书、随机数、机密通讯协议这三个信息,以保证访问的安全。
借此,HTTPS 可完成如下目标,这也是它基于安全性的主要价值:
l 数据保密性。保证内容在传输过程当中不会被第三方查看到,经过非对称加密及密钥交换来实现。
l 数据完整性。可及时发现被第三方篡改的传输内容,以确保数据的完整性获得及时维护。
l 身份校验。保证数据到达用户指望的目的地,即PKI和数字证书。
这样就能够明白为何 Google 广告无法投放了:当用户使用 Safari 浏览网页,若广告内容不是透过 HTTPS 连线(对绝大多数广告来讲并不须要进行加密),在 iOS 9 将没法顺利执行,也就遭到了屏蔽。
难掩之瑕:HTTPS 两大弊端
对于企业来讲,切换成 HTTPS 的成本并不高,还能够大幅提高安全性。可仍是有部分互联网企业不肯意使用它,为何?这是由于 HTTPS 也有一些不容忽视的弊端存在。
首先,HTTPS 会拖慢访客初始访问速度。由上文可见,要作到从 HTTP 到 HTTPS 的转变,须要屡次计算和交互,SSL 彻底握手致使的延时,证书的状态检查等。这些天然影响了 HTTPS 的访问速度。这是 HTTPS 不被不少公司选择的主要缘由。
其次,HTTPS 消耗 CPU 的计算能力。这主要发生在握手阶段的大数运算,其中密钥交换时的私钥解密阶段的性能消耗能够高达整个 SSL 握手性能消耗的 95% 。彻底握手时, web server 的处理能力会下降至 HTTP 的 10% 甚至如下。
以上两点是 HTTPS 的主要劣势所在。所以即使它在安全性上具备得天独厚的价值,不少互联网企业基于用户体验和产品性能的考虑,仍是选择不用 HTTPS。
选择 HTTPS,值仍是不值?
所以,说 HTTPS “瑕不掩瑜”显然不太公允,由于咱们能够看到,它的这些弊端很容易“戳中”很多产品的性能侧重点。但同时也要看到,针对它的这些劣势,尤为是形成访问延时这方面,已经存在很成熟的优化方法。
百度从 2014 年开始对外开放了 HTTPS 的访问,以后进行监测分析,发现若是网站什么优化都不作,HTTPS 明显慢不少。而若是站点自己已经作过常规优化,可是不针对 HTTPS 作优化,百度实测的结果是 0.2 - 0.4 秒耗时的增长。
所以,企业能够针对网站作部分优化,具体可分为如下几个方面:
首先,咱们能够在服务器端配置 HSTS ,减小 302 跳转;设置 ssl session 的共享内存 cache ;配置相同的 session ticket key ,部署在多个服务器上,这样多个不一样的服务器也能产生相同的 session ticket;设置 ocsp stapling file,这样 ocsp 的请求就不会发往 ca 提供的 ocsp 站点,而是发往网站的 webserver。
咱们还能够优先使用 ecdhe 密钥交换算法,由于它支持 PFS( perfect forward secrecy ),可以实现 false start;设置 tls record size ,最好是能动态调整 record size ,即链接刚创建时 record size 设置成 msg ,链接稳定以后能够将 record size 动态增长。
若是有条件的话,还能够启用 tcp fast open。或者启用 SPDY,这样会明显提高 HTTPS 速度,甚至比 HTTP 还要快。在无线 WIFI 环境下, SPDY 比 HTTP 要快 50ms 左右,3G 环境下比 HTTP 要快 250ms。
这些方法,能够从 HTTPS 运做的各个方面入手来优化访问速度,下降延迟。固然,这些优化作起来并非一件简单的事情,但企业大能够没必要亲自操刀来搞 —— 你能够选择接入提供充分优化过的 HTTPS 服务的云平台。以 UPYUN 为例,做为国内首家提供全节点 HTTPS 访问(自定义 SSL 服务)的云 CDN 厂商,UPYUN 支持客户自主上传 SSL 证书,开启彻底自定义的 HTTPS 访问。
借此,接入该服务的客户将享受彻底自主、全网的 HTTPS 加密功能,并与 UPYUN 云CDN 加速服务相结合,将流经用户和服务器之间数据进行加密。同时,UPYUN 将支持默认域名 HTTPS 服务和自主域名 HTTPS 服务两种方式选择使用,结合客户实际需求,将“HTTPS + CDN” 整合到客户产品体系中,实现终端访问“加密+加速”的服务。
关键的一点,UPYUN 自定义 SSL 支持 TLS 协议支持的版本就有苹果指定的 TLS v 1.2,这让使用 UPYUN HTTPS 服务的用户能够与 iOS 9 系统下的苹果设备无缝对接。
这样一来,以 UPYUN 为表明的提供 HTTPS 服务的云平台,让企业得以一站式地享受 HTTPS 的安全性价值、规避它的性能劣势。效果等同于用户自主切换并构建 HTTPS 优化系统,还帮助用户节省了这两项工做的成本花费。
不管选择哪一种途径,针对性的优化都会最大限度地消除 HTTPS 两大弊端对用户体验及产品性能的消极影响,从而凸显它杰出的安全性价值。在这个前提下,结合数据安全对于企业发展的重要性,以及快速抢占 iOS 新市场的意义,咱们能够得出这样一个结论:选择 HTTPS ,绝对是值得的。
固然,不少人会说现在市场上的https证书市场繁杂,种类繁多,其实不用担忧,主要选择你只弄清楚你须要使用的证书类型,而且描述给https证书相关人士他们 就会给你最好最安全的建议,服务贴心,技术专业,彻底没有后顾之忧。易维信在这里作的一些小科普但愿能够帮助到你们web