高性能 易部署丨如何高效完成网站/邮件SSL加密改造?


 

 

引言:在聊SSL(Secure Sockets Layer 安全套接字协议)加密解决方案前,我们先来做一个小实验,用谷歌浏览器访问12306网站。

观察这两张图,第一张访问域名http://www.12306.cn,谷歌浏览器提示不安全链接,第二张是https://kyfw.12306.cn/otn/regist/init,浏览器显示安全,HTTP和HTTPS不同的请求方式出现不安全和安全两种字样,为什么HTTPS就安全呢?

 

背景介绍-什么是HTTPS?

 

HTTPS通俗说就是身披SSL外壳的HTTP。HTTPS是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全信道,加密数据包。

HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。

PS:TLS是传输层加密协议,前身是SSL协议,由网景公司1995年发布。

 

加密技术

提到HTTPS不得不提加密技术,加密技术分为对称加密和非对称加密技术:

对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key)。对称加密有很多种算法(例如:AES、DES等),由于它效率很高,所以被广泛使用在很多加密协议的核心当中。但是对称加密的一大缺点是密钥的管理与分配,换句话说,如何把密钥发送到需要解密你的消息的人的手里是一个问题。在发送密钥的过程中,密钥有很大的风险会被黑客们拦截。

非对称加密为数据的加密与解密提供了一个非常安全的方法,它使用了一对密钥,公钥(public key)和私钥(private key)。私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥,常用算法包括RSA、ECDSA。虽然非对称加密很安全,但是和对称加密比起来,它非常的慢。

结合非对称加密和对称加密技术优缺点,实际应用中通常采用混合加密的方式。就是对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通,因此即使被黑客截取,由于没有私钥,无法获取到加密明文的秘钥,便无法获取到明文数据。既加快了加解密的速度,又保证了传输内容的安全性。

 

SSL交互过程

需求分析-为什么使用HTTPS?

HTTPS具有如下几个特点

  • 内容加密:采用加密技术,中间者无法直接查看明文内容
  • 验证身份:通过证书认证客户端访问的是自己的服务器
  • 保护数据完整性:防止传输的内容被中间人冒充或者篡改

2017年1月发布的Chrome 56浏览器开始把收集密码或信用卡数据的HTTP页面标记为“不安全”,若用户使用2017年10月推出的Chrome 62,带有输入数据的HTTP页面和所有以无痕模式浏览的HTTP页面都会被标记为“不安全”,此外,苹果公司强制所有iOS App在2017年1月1日前使用HTTPS加密。

2013年爆发的棱镜门事件后,政府已经将网络安全上升到了国家战略高度,由国家领导人直接领导中央网络安全和信息化领导小组、宣布出台网络安全审查制度、政府安全产品采购国产化等举措。国家“互联网+”战略提速,网络信息安全被认为是保障“互联网+”战略实施的重要环节。

网站不仅要支持全站HTTPS,还应选择自主可控的国产SSL证书,防止加密流量被监听,防止国家重要民生数据被泄露。

 

解决方案-网站升级HTTPS

将网站从HTTP升级HTTPS主要有两种方案

1.通过服务器部署升级

将服务器中也网站页面中所有的链接,例如js,css,图片等等链接都由HTTP改为HTTPS。例如:http://www.baidu.com改为https://www.baidu.com。

虽然方法可行但是存在几个问题

  • 将网站的链接全部修改为HTTPS工作量大,而且部分用户并没有维护网站代码的能力,需要找网站的开发者修改。
  • 启用HTTPS后,由于服务器不具备专业的加解密硬件加速卡,加解密很耗费服务器性能,服务器可能会超负荷运转,导致业务不畅,而更换更高性能的服务器重新部署服务财力和人力成本会很高。

2.通过SSL OffLoad设备升级

使用SSL OffLoad设备,将加解密的工作交给专业的设备来完成,服务器无需修改。而SSL OffLoad设备具有专业的硬件加速卡能够极大的提高SSL加解密性能。

方案价值及主要优势

  • 山石网科应用交付设备,是专业的SSL OffLoad设备,能够同时支持RSA、ECC两种商密证书,完美匹配客户证书类型。
  • 具备专业的硬件加速卡,保证山石网科应用交付设备设备高性能。
  • 支持SSL Session id和SSL Ticket会话复用,减少SSL握手交互过程,提高SSL协商速度。
  • 支持TCP会话复用功能,减少服务器新建和并发数量,降低服务器压力。
  • 如果客户IP有限,山石网科应用交付设备能够同一个IP+PORT同时支持多证书,帮助客户节省IP资源。
  • 详细的SSL Verify功能,验证客户端证书正确性,提高客户业务的安全性。
  • 支持OCSP(证书状态在线查询协议(Online Certificate Status Protocol,简称OCSP))实时验证客户端证书的有效性。
  • 支持OCSP Stapling验证证书的有效性,提高SSL交互性能。

    OCSP Stapling:网站服务器将自行查询OCSP服务器并缓存响应结果,然后在与浏览器进行TLS连接时返回给浏览器,无需浏览器验证证书状态,提高SSL交互性能。

  • 简单、方便的证书链导入模式,同时支持PKCS#7、PKCS#12、PEM三种格式。

 

国密SSL证书部署解决方案

国密SSL是什么?

国密SSL指的是采用国密算法(SM1/2/3/4等),符合国密标准(GM/T0024-2014和GB/T38636-2020)的安全传输协议。简而言之,国密SSL就是SSL/TLS协议的国密版本。

国密SSL与等保2.0

等级保护2.0明确规定,要求对网络通信中的报文或会话过程全文加密(三级)。其中的密码技术,主要技术标准之一就是国密SSL。

 

方案优势-山石网科应用交付国密SSL部署方案优势:

无论是等保2.0要求还是积极响应国家号召,部署国密SSL证书都是有意义的。但是摆在用户面前的一个问题是:虽然部署国密SSL证书简单,但是原有的SSL业务都是商密证书,如何渡过商密和国密证书共存的这段时间是个难题。

由于国密证书需要使用国密浏览器(例如:密信浏览器、360安全浏览器等),由于客户端浏览器不固定,谷歌、IE、火狐等常用浏览器无法支持国密SSL证书,所以要兼顾所有客户端需要在提供国密SSL证书业务的同时,也能兼容非国密浏览器提供的商密SSL证书。

山石网科应用交付设备能够同时支持RSA/ECC/国密三种证书,在部署国密SSL证书时,能够兼容部署RSA/ECC证书。在国密浏览器在客户端普遍安装后,可以用过HTTP首部中的User-Agent字段识别客户端浏览器,为非国密浏览器客户端回复通知安装国密浏览器的页面。

延伸需求:邮件SSL加密部署解决方案

电子邮件作为曾经互联网上最大的流量和最常用的应用,在我们生活和工作中占有重要的地位。却和目前最大流量HTTP一样,电子邮件的传输也是明文传输。每一封邮件都是“明信片”,人们绝对不会在明信片上写什么机密信息,但是却在电子邮件中发送各种工作和生活中的几乎所有机密信息。

明文传输的邮件内容非常容易在传输过程中被非法窃取和非法篡改,很不安全。如何保证电子邮件内容不会被非法窃取和非法篡改,这是一个急需解决的问题。

邮件服务升级SSL加密和HTTP服务相同,包括服务器升级SSL或者使用SSL OffLoad设备对外发布SSL加密业务。

山石网科应用交付邮件SSL加密部署解决方案优势:

1.山石网科应用交付支持多种邮件协议包括:IMAP/POP3/SMTP及SSL加密后的IMAPS/POP3S/SMTPS,能够满足客户各种场景需求。

2.支持多种传输模式,包括明文、密文和STARTTLS三种模式。

STARTTLS:是一种明文通信协议的扩展,能够让明文的通信连线直接成为加密连线(使用SSL或TLS加密),而不需要使用另一个特别的端口来进行加密通信,属于机会性加密。

3.可配置对外提供支持的功能,可以将SMTP协议中不安全的命令功能禁用,例如:VRFY、EXPN、TURN等命令。

  • VRFY:用于验证给定用户邮箱是否存在,以及接收关于该用户的详细信息;
  • EXPN:用于验证给定的邮箱列表是否存在;
  • TURN:交换邮件发送者和接收者的角色,这个命令用在建立连接成本高的时候,TCP连接不用这个命令。这个命令会产生安全问题,只有在服务器可以被授权作为客户端时候才能用。

案例介绍

  • 东北某985高校官网主页、教务系统、一卡通业务、邮件服务,使用应用交付产品完美替换国外某知名友商,并完成网站和邮件加密。
  • 浙江宁波某高校使用应用交付产品对学校官网进行SSL加密升级。
  • 某运营商云使用应用交付产品部署在服务器前做SSL卸载,减轻后端服务器压力。