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技术原理解析:开篇:整体认识(一) --介绍整体文件夹和文 ...
随机推荐
- hdu 1548
A strange lift Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...
- python正则中的贪婪与非贪婪
当重复一个正则表达式时,如用 a*,操作结果是尽可能多地匹配模式.当你试着匹配一对对称的定界符,如 HTML 标志中的尖括号.匹配单个 HTML 标志的模式不能正常工作,因为 .* 的本质是“贪婪”的 ...
- UVA 10042 Smith Numbers(数论)
Smith Numbers Background While skimming his phone directory in 1982, Albert Wilansky, a mathematicia ...
- Ubuntu16.04下屏幕侧边栏的设置
ubnutu的任务栏都是在左侧: zhang@zhang-virtual-machine:~$ gsettings set com.canonical.Unity.Launcher launcher- ...
- C语言malloc
在子函数里面动态申请的内存不会自动被系统收回的,因为这些空间在堆里面,而不是栈,平常所说的不能返回指向栈的指针,比如在子函数里面定义一个字符指针,指向常量"hello"因为函数调用 ...
- EasyDarwin开源云平台接入海康威视EasyCamera摄像机之快照获取与上传
本文转自EasyDarwin团队成员Alex的博客:http://blog.csdn.net/cai6811376 EasyCamera开源摄像机拥有获取摄像机实时快照并上传至EasyDarwin云平 ...
- 用EasyClient开源项目采集Windows摄像头/麦克风的音视频进行RTSP直播
EasyClient是EasyDarwin开源流媒体团队开发的一款功能丰富的开源PC客户端项目,目前支持Windows.Android版本,后续将支持ios版本,其中Windows版本的EasyCli ...
- 九度OJ 1090:路径打印 (树、DFS)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1704 解决:314 题目描述: 给你一串路径,譬如: a\b\c a\d\e b\cst d\ 你把这些路径中蕴含的目录结构给画出来,子目 ...
- css定位的元素内层不自动扩高解决
给最外层的CSS加上一行: 1 position: relative; /* 给最外层加上这行 */
- uni-app 创建的第一个应用
本人微信公众号:前端修炼之路,欢迎关注 背景介绍 经过上一篇文章uni-app官方教程学习手记的学习之后,我就着手做这个项目了. 目前已经初步搭出了整体的框架,秉着取之于社会,回馈于社会的原则,我将这 ...