从某种意义上来讲,仅在登录、交易支付环节启用HTTPS只能说是最为基础的安全解决办法,而全站HTTPS才是更为高阶,也更能体现技术能力的安全方案。
全站HTTPS的启用并非易事,而对于类似淘宝、天猫这种体量的网站来说,更为艰巨。据悉,阿里巴巴全站HTTPS的改造历时数月,涉及上百万的页面。阿里巴巴集团首席风险官刘振飞指出,尽管SSL加密技术较为成熟,但阿里巴巴启用全站HTTPS仍旧面临极大的挑战,那就是系统的复杂性和巨大的投入。阿里巴巴之所以坚定地这么做,目的只有一个——竭尽所能地保护用户信息安全。
启用HTTPS必须解决的难题
然而,HTTPS并非“想上就上”,正式启用之前,必须解决至少三个方面的大问题。
首先是性能,这也主要分三点。
1、HTTPS需要多次握手,因此网络耗时变长,用户从HTTP跳转到HTTPS需要一些时间;
2、HTTPS要做RSA校验,这会影响到设备性能;
3、所有CDN节点要支持HTTPS,而且需要有极其复杂的解决方案来面对DDoS的挑战。
其次,兼容性及周边。
1、页面里所有嵌入的资源都要改成HTTPS的,这些资源可能会来自不同的部门甚至不同的公司,包括图片、视频、表单等等,否则浏览器就会报警;
2、移动客户端(APP)也需要适配HTTPS,所以必须做调整修改;
3、解决第三方网站看不到Referer的问题;
4、所有的开发、测试环境都要做HTTPS的升级;
最后,为保证上线时的顺利切换,需要提前准备大量的预案,以应对各种可能出现的情况。
阿里巴巴是怎么做电商全站HTTPS的?
2015年10月14日,杭州云栖大会上,阿里巴巴宣布旗下电商平台已实现全站HTTPS。事实上,该工程于2015年9月底就已基本完成,这其中不仅有PC页面的改造,还包括了淘宝、天猫等移动客户端。
如此庞杂的系统工程,阿里巴巴是怎么做的?
首先,阿里巴巴采用了统一接入层的架构,并配备管控平台。这样的设计解决了很多问题,比如证书分散且落地不安全、软件版本难以维护、配置过多、难以标准和自动化、VIP过多等。
其次,性能调优。“双十一”系统交易创建峰值达到每秒钟14万笔,支付峰值达到每秒钟8.59万笔。即便如此,已经启用了全站HTTPS的淘宝、天猫依然保证了网站和移动端的访问、浏览、交易等操作的顺畅、平滑。
而据阿里巴巴技术保障部技术专家李振宇介绍,阿里电商在启用全站HTTPS后,性能不降反升,用户访问网站和移动端更为流畅。
阿里巴巴通过各种技术来保证优异的性能。比如以域名收敛的方式减少建连;采用HSTS技术去掉80到443的302跳转,通过Session复用来提高建连速度和降低服务器压力;对证书链进行优化以减少证书的传输量等等。
第三,将安全和兼容做到极致。阿里巴巴采用了双证书模式,即SHA-1和SHA-256,此举的目的在于最大限度地保证安全和兼容性。同时,阿里巴巴使用的是兼容性最宽泛的OV证书,全面支持单域名、多域名和泛域名,尽管费用较为昂贵,但能够满足多种浏览器访问,保证最好的用户体验。据了解,阿里巴巴挑选了两家业内顶级的证书供应商,之所以如此,主要是从冗余的角度考虑,如果一家证书出现问题,可以迅速地切换至另一证书,以保证用户不受影响。另外,阿里巴巴还引入了泛域名SAN证书。
值得一提的是,“双十一”全天的交易额高达912.17亿元,其中在移动端交易额占比68%。也就是说,阿里电商启用全站HTTPS后并未对移动端的体验产生负面影响,反而有着更为积极的作用,而这都是通过技术手段进行调优的结果。
据悉,阿里巴巴无线技术团队克服了大量技术难题,实现无线加密网络传输的1秒钟法则。
1、无线客户端多端多版本适配性、兼容性的复杂,无线升级成本无疑比PC升级成本高很多。为了降低研发成本,在无线服务器和客户端实现统一的中间层提供统一收敛域名切换到HTTPS功能,使得业务切换无感知。
2、无线基于TLS1.3协议进行了改造,在保障链路安全的情况下优化SSL握手过程实现零耗时提升了用户体验,摒弃传统的RSA算法,转而使用了最新的ECDH密钥交换算法,极大地提升了服务端的性能。
3、无线网络层实现了调度中心,通过该控制中心,我们可以从版本、域名、流量比例等多维度控制HTTPS流量切换,保证整个切换过程是可控、对用户无感知的,有问题可以极速回滚。
据统计,经过改造后,阿里电商坐拥“世界上最大的HTTPS流量”,这其中涉及数百个应用、超百万个页面。没有足够坚定的决心和巨量的资源投入,显然是不行的。