MyException - 我的异常网
当前位置:我的异常网» 互联网 » 一篇文章讲透CDN HTTPS保险加速基本概念、解决方案

一篇文章讲透CDN HTTPS保险加速基本概念、解决方案及优化实践

www.MyException.Cn  网友分享于:2013-11-16  浏览:0次
一篇文章讲透CDN HTTPS安全加速基本概念、解决方案及优化实践

大家都知道,HTTP 本身是明文传输的,没有经过任何安全处理,网站HTTPS解决方案通过在HTTP协议之上引入证书服务,完美解决网站的安全问题。本文将为大家介绍阿里云CDN HTTPS安全加速传输的基础概念、解决方案、技术优势和优化实践。

关于HTTPS的那些基本概念

需求推进技术革命,互联网是如此诞生,HTTPS也是这样。人们有在互联网上分享和浏览信息的需求,所以信息的传输技术由此诞生并不断升级。

后来,人们位互联网上的信息传输制定了一些准则,也就是网络协议HTTP。从最早1991年发布的HTTP/0.9版本,直到最新的HTTP/2,传输速度也在不断升级。下面,我们来看下关于HTTP都有哪些基本的概念。

HTTP是什么?

HTTP是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。

HTTPS是什么?

HTTPS是安全超文本传输协议,英文全称:Hyper Text Transfer Protocol over Secure Socket Layer,它是以安全为目标的HTTP通道,简单讲是HTTP的安全版。

它的工作原理是将HTTP用SSL/TLS协议进行封装,主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

SSL是什么?

SSL是Secure Sockets Layer的缩写,它是一个安全套接层。架构于TCP之上的安全通讯协定,它可以有效协助Internet应用软件提升通讯时的资料完整性以及安全性。

后来,标准化之后的SSL名称改为 TLS(是“Transport Layer Security”的缩写),中文叫做“传输层安全协议”。很多相关的文章都把这两者并列称呼(SSL/TLS),因为这两者可以视作同一个东西的不同阶段。

什么是握手?

在加密传输之前,客户端和服务器首先必须建立连接和交换参数,校验通过之后进行协商密钥和传输数据,这个过程叫做握手(handshake)。

什么是加密和解密?

“加密”的过程,就是把“明文”变成“密文”的过程;反之,“解密”的过程,就是把“密文”变为“明文”。在这两个过程中,都需要一个关键的东西——叫做“密钥”——来参与数学运算。

总结:简单来说,HTTPS就是HTTP的安全增强版本,是HTTP协议与SSL加密协议的结合,所以也被称为HTTP over SSL。

为什么要使用HTTPS

HTTPS概念其实已经提出来好多年了,但直到近两年,才开始被主流应用。所以,我们在给大家介绍CDN HTTPS解决方案之前,要先搞清楚,为什么要选择使用HTTPS来替换掉HTTP。

第一, HTTPS是更具安全性的传输协议,可以防止网站被篡改和劫持,这是最基本的功能。Chrome和Firefox未来将HTTP标记为不安全的协议。第二, Apple ATS,要求IOS的 9.0或10.0的版本的APP使用HTTPS传输。第三, 主流的浏览器已经支持基于TLS的HTTP/2。第四, Google会给使用了HTTPS的网站进行搜索排名的加权,在鼓励大家使用。第五, 美英政府的网站官网都已经转向HTTPS。

我们可以看到,从用户需求到整个行业大趋势,都是在推送HTTPS的应用。那么阿里云CDN HTTPS的解决方案是怎样的呢?

CDN HTTPS解决方案

HTTPS能够有效的防止网站内容被篡改被劫持,加强了网站的安全性。所以在阿里云CDN内容分发网络中,我们已经引入HTTPS安全加速解决方案。

举个例子,在一个具有两级节点的CDN分发架构中,从Client到L1节点再到L2,再回源到源站,一共具有三段TCP连接,每一段都支持了HTTPS。

在这中间,在第一段Client到L1节点的时候,需要用户自己的证书。L1到L2节点的时候使用的是我们的证书,保证了数据加密。回到源站的时候,如果用户也希望用HTTPS,我们也可以通过配置实现整个链路的HTTPS,充分保证了网站内容的防篡改、防劫持。

以上方案,用户需要将证书和私钥传输到CDN的证书管理中心来去处理HTTPS的请求。同时,我们还有更进一步的方案。对于对自己的证书和私钥敏感性很高的用户,希望将私钥保存在自己的服务器上,减少泄露的风险。

针对这种情况,我们推出了无私钥解决方案。首先,用户搭建私钥服务器,当CDN和Client之间产生了HTTPS握手的时候,CDN处理的时候会提取SNI,域名配置拿到后,向私钥服务器(KeyServer)请求签名或者解密预主密钥。这个方案,我们其实是把私钥的部分剥离出来,通过KeyServer来实现。目前,阿里云已经实现了自己的KeyServer,用户只需要在自己的私钥服务器上安装一下KeyServer的rpm和配置一下即可。

阿里云CDN 提供HTTPS安全加速方案,仅需开启安全加速模式后上传加速域名证书/私钥,实现全网数据加密传输功能。

CDN HTTPS的技术优势

• 支持HTTP/2功能HTTP/2是对HTTP/1.x进行加强,阿里云CDN 现已全平台支持 HTTP/2,使用阿里云 HTTPS 加速服务的域名,即可免费享受 HTTP/2服务。HTTP/2是一个二进制的协议,支持头部压缩的功能,多路复用以及服务器推送,能够有效提升传输效率。

• 丰富的HTTPS配置项阿里云CDN HTTPS可以以实现动态设置。举个例子,在实践中发现有些用户的APP对HTTP/2协议实现的不够完美,一种解法就是用户修改自己的APP,把问题修复。另一种解法就是CDN通过配置把APP的HTTP/2协议给关掉,走HTTP/1.1协议,给用户足够的选择。

• KeyServer无私钥解决方案前文提到,对于对自己证书和私钥敏感度很高的用户,可保障证书和私钥安全性,支持自建KeyServer,提供KeyServer解决方案和源码。

• 安全功能HTTPS协议是由HTTP+SSL协议组合构建的需身份认证的加密传输网络协议,可全方位保障安全性,防止敏感信息泄露,防止传输过程中流量被劫持,篡改,确保数据的完整性。

• 动态证书支持动态证书,一个用户,如果想使用HTTPS,在上传完证书和私钥之后,全网1分钟就可以生效了。提供多规格证书,支持免费证书、证书过期提醒、证书属性预览。并且与阿里云证书中心CAS联动,可以申请免费证书。

• 灵活付费方式有后付费和预付费两种形式,后付费HTTPS 0.05元/万次请求,预付费请求包也有450元,4000元,35000元各种规格,规格为1亿次、10亿次、100亿次(双十一折扣)。

HTTPS相对于HTTP传输具有如此多的优势,那HTTPS在性能方面是否也同样超越HTTP呢?我们知道,阿里云CDN HTTPS可以减少回源率,提升通信效率,提高验证效率,减少跳转耗时,这些是通过哪些技术来实现优化的呢?下面我们来看看CDN HTTPS的优化实践。

CDN HTTPS优化实践

首先,我们知道,阻碍HTTPS的性能提升的关键因素是传输变慢,因为TCP连接握手了之后,还要进行SSL的握手,多层的数据加解密以及证书传输。

那么HTTPS一定会变慢吗?下图,是淘宝和天猫使用了HTTPS后的一些性能提升数据。其实我们可以看到,淘宝首页和搜索、聚划算、天猫等页面中,性能都是正向提升的。所以接下来,我们看看CDN HTTPS在性能方面到底做了哪些优化?

第一, 我们知道,SSL在握手阶段是非常消耗资源的,SSL本身也支持了session ID和session ticket这两种方式,第一种session ID是在sever端存储会话ID,client端下次请求时候如果携带了同样的ID,就可以恢复以前的会话,省去了大量的握手环节。但是一个client访问不同sever的时候,存在ID共享的问题,实现起来比较复杂。第二种session ticket可以把会话的信息发给client,client去保存信息,不会依赖于某个sever了。

第二, 我们需要把HTTP/2协议用起来,多路复用和头部压缩都是可以提升传输效率的。

第三, 域名合并,对于主站和用户域名比较多的情况,我们就倾向于把域名做合并,合并成一个泛域名中做处理。这样可以减少SSL握手,提升重用,进而提升效率。

第四, 协议栈优化,这是各大CDN公司都在做的功能。传统协议栈是逐渐的试探并且越来越多发送数据的过程,初始化窗口会比较小。我们现在会针对性进行调整,并且提升快速重传的效率。

第五, 优先算法,优先预制ECDSA的算法,在产生相同加密强度的时候,数据量更少。

以上,都是为了更高效的传输和减少数据量,CDN HTTPS所进行的一些优化实践。

另外,在峰值的应对上,除了自身的HTTPS优化,我们还需要在Cache系统上进行预热,全部都加载到一级节点,就不存在回源的问题了。另外,调度系统中,我们业务系统要给出预判峰值,同时CDN需要做热点地区的统计,与临近非热点地区分摊,依据节点能力按比例进行分配。当然,针对峰值情况,我们也需要做限流。

如何更好的使用HTTPS

说了这么多HTTPS的好处,那用户可以如何更好的使用HTTPS呢?第一, 证书的申请,根据域名的类型来申请,阿里云也提供证书服务,可签发Symantec、CFCA、GeoTrust证书。证书的分类有三种:DV、OV和EV。DV是指基于域名级别的证书,机构只需要验证域名的所有者,安全级别比较低。

OV和EV是企业级别证书,除了验证域名所有者还要验证企业信息。EV的证书,在访问时能够显示公司名字。第二, 源站改造,包括页面资源的改造,TLS版本选择1.0以上,关于session ID和session ticket的优化配置,证书上支持SHA256等工作。另外,实际应用中,有一个问题,当用户输入域名,我们可以通过配置强制HTTPS访问。

以上就是关于HTTPS的介绍,在用户访问安全、内容传输安全等使用场景中,阿里云CDN都可以提供相应的HTTPS安全加速解决方案,降低用户成本,实现加速与安全的双重效果。目前,阿里云CDN HTTPS已经全面降价,后付费HTTPS 0.05元/万次请求。为了迎接双11,预付费资源包也推出新购特惠:双十一当天30元购买1千万次HTTPS请求数资源包。欢迎大家登录双11会场进行选购

原文链接:http://click.aliyun.com/m/33865/  

文章评论

鲜为人知的编程真相
鲜为人知的编程真相
老程序员的下场
老程序员的下场
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
程序员和编码员之间的区别
程序员和编码员之间的区别
中美印日四国程序员比较
中美印日四国程序员比较
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
程序员都该阅读的书
程序员都该阅读的书
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
 程序员的样子
程序员的样子
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
我的丈夫是个程序员
我的丈夫是个程序员
程序员的鄙视链
程序员的鄙视链
每天工作4小时的程序员
每天工作4小时的程序员
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
漫画:程序员的工作
漫画:程序员的工作
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
程序员必看的十大电影
程序员必看的十大电影
我是如何打败拖延症的
我是如何打败拖延症的
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
程序员应该关注的一些事儿
程序员应该关注的一些事儿
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
为什么程序员都是夜猫子
为什么程序员都是夜猫子
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
总结2014中国互联网十大段子
总结2014中国互联网十大段子
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
代码女神横空出世
代码女神横空出世
那些争议最大的编程观点
那些争议最大的编程观点
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
如何成为一名黑客
如何成为一名黑客
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
一个程序员的时间管理
一个程序员的时间管理
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
Java程序员必看电影
Java程序员必看电影
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
10个调试和排错的小建议
10个调试和排错的小建议
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有