SSL卸载技术对于HTTPS应用的优化与思考
迅猛发展的互联网为我们提供了丰富的信息资源,在带来便利的同时也影响着人们工作和生活方式。而让我们无法忽视的是,在开放的互联网所带来的繁荣背后,同时也潜藏着安全方面的隐患。随着人们对网络的依赖愈渐加深,各种加密技术应运而生,用以保障网络信息的安全性。SSL(Secure Sockets Layer)协议,便是在互联网上广泛应用于交易安全性保障的一种主导技术。
SSL属于加密通讯协议,工作在TCP协议和应用层协议之间。在SSL加密通道内可以运行很多的上层协议,如HTTP通过SSL封装后的协议通常标示为HTTPS。在一般情况下,HTTP采用明文的方式在互联网上进行传输,但是对于认证口令等敏感信息而言,会存在被非法窃听的风险。为了消除这一方面的隐患,可采用SSL协议对HTTP协议进行加密(即HTTPS),以确保在整个数据传输过程中的信息安全性。在SSL通信过程中,首先采用非对称密钥技术交换认证信息,并交换服务器和浏览器之间用于加密数据的会话密钥,然后利用该密钥对通信过程中的信息进行加密和解密。 当前面临的问题 借助SSL加密机制,但凡涉及敏感信息的互联网服务,便可利用数据传输加密来增强其安全性。诸如电子商务、账单支付、纳税申报、股票与证券交易等线上业务,纷纷得以通过互联网实现安全交付。然而,任何事物都具有一体两面的特性,SSL的联机加密运算不可避免会消耗服务器的处理性能,在相同的硬件性能下,处理SSL加密数据所消耗的时间是处理明文数据的5倍。换而言之,一台服务器启用SSL加密之后,其性能往往只达到原来的20%,其余80%的计算性能都消耗在了SSL的加密运算方面。如此可以预见到,与日俱增的SSL通信量,将会给网络服务器带来严重的负担。
为了缓解服务器的性能压力,一度较为流行的方法是安装SSL加速卡。但是加速卡对SSL数据的处理还是建立在服务器主机之上,并且过分注重于加速SSL数据处理,而不是完全卸除系统负荷。随着网络应用的日益丰富、数据流量的迅猛增长、线上用户数量的不断增加,单纯的SSL加速卡已经越来越难以胜任。另一方面,SSL加速卡一般都存在系统兼容性不佳、性能受制于总线技术瓶颈、对主机的依赖性大等问题,越来越无法满足大型应用的需求。
SSL卸载解决方案
日益增长的SSL通信量已经对系统设计者们提出了前所未有的挑战,尤其是大型网站和数据中心的场景中,往往需要同时处理数以万计的安全交易。这时候我们发现,传统的SSL加速解决方案在面对如此规模信息处理的时候,显得是那么的苍白无力。此外,由于SSL对应用层数据进行了加密,各种网络设备对这些内容也就变得难以处理,例如负载均衡器无法提取用户会话中的cookies、URL、路径等信息进行细化的分发调度。
问题已经显而易见,要实现高性能的SSL处理,涉及到两个方面的改进。一方面通过SSL和TCP/IP包处理的一体化设计,全面卸除系统负荷,另一方面要将SSL数据处理融入新型网络设备,以便于保持与一般网络结构有良好的契合性。在这段时间里,市场上也不断涌现出一系列的创新技术,用以改善通过网络交付业务应用的效率。负载均衡方面的创新也从专注于基础设施效率的单纯网络技术,转移到了业务应用的性能优化和安全方面,由此诞生了应用交付这样一个触及网络、服务器、应用乃至安全方面的产品。
配备SSL卸载功能的应用交付设备,可以充当起SSL代理服务器的角色,将专用的SSL应用程序置于网络服务器的前端,不影响后台服务器主机的CPU资源,从而全面卸除SSL数据处理的负荷。当客户端发起的HTTPS连接,经过应用交付设备处理后,变成明文的HTTP数据,即可被WEB服务程序(例如IIS、APACHE)直接读取,无需特殊的驱动程序来传送和接受网络数据。
当前应用场景与今后发展
现如今,越来越多提供线上服务的组织机构,如电子商务和金融服务等行业,纷纷选择通过部署应用交付设备的解决方案,在保障应用系统稳定性的同时,从后台服务器端卸除SSL数据处理的性能负荷。 西部证券股份有限公司是经中国证券监督管理委员会批准设立,于2001年元月正式注册开业的证券经营机构。公司出于应用安全方面考虑,对官网上使用HTTP传输的应用,采用了HTTPS加密的访问方式,以防止数据传输过程中的泄密或被篡改。鉴于SSL加密运算对服务器的计算资源占用极大,如果由应用服务器来做加密的话,会对应用服务器的业务处理能力造成很大的影响。因此,公司采用了深信服科技的应用交付解决方案,对于发布门户业务网站的Web集群,利用深信服AD设备实现服务器负载均衡,在处理用户登录账户的界面时,通过AD设备完成SSL加密计算,并将后台的HTTP服务转化为安全的HTTPS服务,整合解决安全性和稳定性的问题。
在不同的应用场景中,应用交付设备的SSL卸载功能也有着相应的侧重点。某些在安全性方面有特殊要求的用户,除了利用应用交付设备处理与客户端的SSL通讯之外,还可以配置与后台服务器之间采用弱加密的SSL进行通讯。这种场景也许在不久的将来便会遇到,随着人们对线上应用的安全性要求不断提升,现今采用1024-bit密钥加密的CA证书将在2013年停用,取而代之的是等级更高的2048-bit密钥加密。对于通过互联网交付业务的组织机构而言,将不得不考虑这对于应用系统乃至网络基础设施的性能影响。届时,利用应用交付设备处理来自客户端的2048-bit密钥SSL通讯,而后台服务器仍然延用1024-bit密钥。不仅能满足行业合规性的要求,也可降低网络设备升级带来的成本和负担,不失为一种平滑过渡的方案。
SSL卸载技术对于HTTPS应用的优化与思考的更多相关文章
- 《Spark大数据处理:技术、应用与性能优化》【PDF】 下载
内容简介 <Spark大数据处理:技术.应用与性能优化>根据最新技术版本,系统.全面.详细讲解Spark的各项功能使用.原理机制.技术细节.应用方法.性能优化,以及BDAS生态系统的相关技 ...
- 《Spark大数据处理:技术、应用与性能优化》【PDF】
内容简介 <Spark大数据处理:技术.应用与性能优化>根据最新技术版本,系统.全面.详细讲解Spark的各项功能使用.原理机制.技术细节.应用方法.性能优化,以及BDAS生态系统的相关技 ...
- 网站启动SSL, http变为https后,session验证码错误解决方法
网站启动SSL, http变为https后,session验证码错误解决方法 最近公司需要后台启动安全证书,证书安装完毕后,后台老提示 验证码错误,经过几天的研究,此问题已经得到有效解决,现把方法 ...
- 《Spark大数据处理:技术、应用与性能优化 》
基本信息 作者: 高彦杰 丛书名:大数据技术丛书 出版社:机械工业出版社 ISBN:9787111483861 上架时间:2014-11-5 出版日期:2014 年11月 开本:16开 页码:255 ...
- StartSSL免费SSL证书成功申请-HTTPS让访问网站更安全
StartSSL免费SSL证书成功申请-HTTPS让访问网站更安全 一.StartSSL个人证书登录申请 1.StartSSL官网: 1.官方首页:http://www.startssl.com/ 2 ...
- CentOS6.5 下在Nginx中添加SSL证书以支持HTTPS协议访问
参考文献: 1. NginxV1.8.0安装与配置 2. CentOS下在Nginx中添加SSL证书以支持HTTPS协议访问 3. nginx配置ssl证书的方法 4.nginx强制使用https访问 ...
- 全面解密QQ红包技术方案:架构、技术实现、移动端优化、创新玩法等
本文来自腾讯QQ技术团队工程师许灵锋.周海发的技术分享. 一.引言 自 2015 年春节以来,QQ 春节红包经历了企业红包(2015 年).刷一刷红包(2016 年)和 AR 红包(2017 年)几个 ...
- 通用技术 mysql 亿级数据优化
通用技术 mysql 亿级数据优化 一定要正确设计索引 一定要避免SQL语句全表扫描,所以SQL一定要走索引(如:一切的 > < != 等等之类的写法都会导致全表扫描) 一定要避免 lim ...
- 秋色园QBlog技术原理解析:性能优化篇:缓存总有失效时,构造持续的缓存方案(十四)
转载自:http://www.cyqdata.com/qblog/article-detail-38993 文章回顾: 1: 秋色园QBlog技术原理解析:开篇:整体认识(一) --介绍整体文件夹和文 ...
随机推荐
- python3 查看已安装的模块
一.命令行下使用pydoc命令 在命令行下运行$ pydoc modules即可查看 二.在python交互解释器中使用help()查看 在交互式解释器中输入>>> help(&qu ...
- 第14章8节《MonkeyRunner源代码剖析》 HierarchyViewer实现原理-获取控件列表并建立控件树
在上几节的描写叙述中,我们把HierarchyViewer初始化好.也把ViewServer给装备好了.那如今距离获得一个控件去操作它是万事具备仅仅欠东风了,欠了那一股春风了?欠了的是建立控件树这个东 ...
- 【Spark Core】TaskScheduler源代码与任务提交原理浅析2
引言 上一节<TaskScheduler源代码与任务提交原理浅析1>介绍了TaskScheduler的创建过程,在这一节中,我将承接<Stage生成和Stage源代码浅析>中的 ...
- kubernetes滚动更新
系列目录 简介 当kubernetes集群中的某个服务需要升级时,传统的做法是,先将要更新的服务下线,业务停止后再更新版本和配置,然后重新启动并提供服务.如果业务集群规模较大时,这个工作就变成了一个挑 ...
- Tomcat多实例 - 单机
最近在研究Apache+Tomcat+负载均衡/集群的过程中,发现了一篇好的在单机上部署多个tomcat实例的blog. 感受:关于Apache+Tomcat+负载均衡/集群,国内关于这方面的资料是挺 ...
- switch中的case不加break执行情况
输出结果:230 分析,switch先匹配一个case满足$a,然后执行case里面的语句,直到遇到break,否则一直往下执行 <?php $a = ; switch($a){ : echo ...
- 07 http内容压缩
一:http内容压缩 思考: Content-Length在之前的学习中,我们知道,代表返回的主体的长度 但此处,为什么返回的主体长度和content-length不一致呢? 原因在于: Conten ...
- Android UI经常使用实例 怎样实现欢迎界面(Splash Screen)
在Android平台下.下载一个应用后,首次打开映入眼帘的便是Splash Screen,暂且不说Android的设计原则提不提倡这样的Splash Screen.先来看看一般使用Splash Scr ...
- Create an OData v4 Endpoint Using ASP.NET Web API 2.2(使用ASP.NET Web API 2.2创建OData v4端点)
开放数据协议Open Data Protocol(OData)是web的一种数据存取协议,OData通过设置CRUD操作(Create创建.Read读取.Update更新,Delete删除)提供一种统 ...
- 【BZOJ4668】冷战 并查集
[BZOJ4668]冷战 Description 1946 年 3 月 5 日,英国前首相温斯顿·丘吉尔在美国富尔顿发表“铁幕演说”,正式拉开了冷战序幕. 美国和苏联同为世界上的“超级大国”,为了争夺 ...