阿里云CDN不止于加速:基于https国密算法构建安全数据传输链路

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 small 3个月
推荐场景:
数据库上云
数据传输服务 DTS,数据同步 1个月
简介: 5月20日,阿里云政企安全加速解决方案正式发布。在发布会中,阿里云技术专家林胜恩从HTTPS的技术概述,国密算法的标准内容以及国密算法在阿里云CDN上的应用情况三个方面,来介绍了阿里云CDN在安全方面的重要实践。

网络数据安全得到前所未有的重视 HTTPS成为解决传输安全问题利器

大家都知道,HTTP 本身是明文传输的,没有经过任何安全处理,网站HTTPS解决方案通过在HTTP协议之上引入证书服务,完美解决网站的安全问题。

下图左侧表示Chrome浏览器在HTTPS页面时会显示安全挂锁图标,这是在2016年Chrome55版本上的新增功能,用于引导互联网向安全的HTTPS协议转变。右侧是截止2020年1月,Chrome平台上HTTPS流量占比已经超过90%,另外通过Chrome平台的HTTPS浏览时间占比也超过90%,这些数据都表明网络数据安全得到了前所未有的重视。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

HTTPS的实现原理是什么?

HTTPS协议通过TCP层之上引入TLS/SSL协议,来实现对HTTP数据的保护,实现数据加密、完整性校验以及防篡改。整个HTTPS过程包括:TCP建联、SSL握手、应用数据加密传输阶段。其中SSL握手的目的是为了在服务端和客户端协商出一个对称密钥,在应用数据传输阶段使用这对称密钥进行数据的加密和解密。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

在HTTPS交互过程中主要使用三种算法,首先SSL握手阶段用到非对称加密的算法,通过公钥和私钥对数据记性加密解密。在应用数据加密传输的阶段,主要使用的是对称加密的算法和hash算法。

目前,国际上通用的非对称加密算法包括rsa算法和ecdsa算法。对称加密算法主要是aes分组加密算法族以及chacha20流式加密,其中aes加密根据密钥位数和加密模式还能细分成多种不同的算法,所以这里写成aes(x),哈希算法主要是sha-1、sha-2、sha-3算法族。

行业信息系统需要“安全可控” 国密算法标准化加速实施

随着金融安全高度不断上升,近年来国家有关机关和监管机构提出了推动国密算法应用实施、加强行业安全可控的要求。密码算法是保障信息安全的核心技术,尤其是最关键的银行业核心领域长期以来都是沿用3DES、SHA-1、RSA等国际通用的密码算法体系及相关标准。

国家高度重视商用密码工作,自1999年国务院颁布《商用密码管理条例》以来,截止目前,已经有多项政策陆续出台,推进国密算法的实施落地。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

究竟什么是国密算法?

国密算法是国家密码局制定标准的一系列算法,包括了对称加密算法,椭圆曲线非对称加密算法,哈希算法。其中,SM1和SM4为对称加密,SM1加密强度与AES相当。调用该算法时,需要硬件实现。SM4的密钥长度和分组长度均为128位。SM2为非对称加密,基于ECC。该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。SM3 密码哈希算法,摘要长度为256位。

国密算法具备更安全、更快速以及自主可控的优势,在安全层面,SM2作为一种ECC算法的安全性要高于2048位的RSA。同时SM3的摘要长度为256bit,安全强度也是要高于MD5算法及SHA1算法;在通讯过程中,256位的SM2算法相比于2048位的RSA算法,可以传输更少的数据,也就意味着更少的传输时间,同时在签名过程上,SM2算法速度要优于RSA大约在10倍左右。

国密算法与TLS协议的结合

根据中华人民共和国密码行业标准的规定,目前和互联网行业重度相关的国密相关标准,除了独立的SM2,SM3,SM4等算法外,就是双证书TLS协议。这套TLS协议是基于RFC 4346 TLSv1.1修改而来,主要在SSL握手环节引入了加密证书和签名证书的方式,并对TLSv1.1的握手流程进行了一些修改以适应双证书的结构。GM/T 0024的标准名称是《SSL VPN技术规范》,其宗旨是规范SSL VPN设备的通信协议以及增强互联互通性。个人用户使用VPN的情况较少,而互联网行业大部分以to C为主,大量的个人用户一般使用更加轻量级且通用的手段,例如为解决Web安全的HTTPS就是其中之一。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

(国密算法双证书标准交互流程)

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

(国密算法双证书标准支持加密套件)

互联网应用现行国密技术标准的难点

  • 协议性能问题,当应用需要承载海量请求的时候,基于TLS1.1或者TLS1.2的双证书方案,需要2-RTT握手,会使得性能下降,导致用户体验变差甚至交易失败率上升等问题。
  • 证书数量问题。以手机端的移动应用为例,双证书方案需要交换的证书量是标准的TLS协议的2倍,在弱网环境下会导致RTT的增多及应用性能变差。
  • 易用性问题,如果直接套用当前的SSL VPN标准到互联网场景,例如手机到服务器的场景,则手机端需要增加VPN客户端进行拨号,然后才能开始正常的业务交互,这会破坏手机应用的易用性。
  • 技术路线冲突问题。新型技术在互联网行业中的演进十分快速,下一代网络通信协议QUIC已经在被逐渐应用,QUIC标准目前唯一指定加密协议就是标准的TLS1.3。对TLS1.3协议层面的任何修改,都会导致和QUIC协议的不兼容,从而导致兼容性问题的发生。
  • 技术标准推广问题。当一种技术标准如果能得到主流开源社区的认可和支持,就会在互联网行业得到快速推广,反之则很难。开源社区对修改协议流程的接纳程度很低,这就导致了国密双证书TLS协议难以扩大推广使用。但是独立的密码学算法则没有这个问题,因此SM系列算法要比修改版的TLS协议更容易在开源社区中推广。

国密算法单证书标准的推进

基于以上的困难,蚂蚁进入提出了单证书的方案,这个草案是基于TLS1.3的交互流程,新增国密算法套件进行支持。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

(国密算法单证书标准化推进)

相较于之前2个RTT的性能开销来说,TLS1.3完整握手开销只有1个RTT,性能有很大提升。并且TLS1.3只支持安全等级较高的加密算法,整个协议安全性也得到了较大提升。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

(国密算法单证书标准交互过程)

草案中描述的两个加密套件是需要添加到TLS1.3中,分别是TLS-SM4-GCM-SM3及TLS-SM4-CCM-SM3。这两个加密套件的基本含义是,非对称加密使用的是SM2算法,对称加密使用的SM4算法,哈希算法使用的SM3算法,不同的部分是分别使用了不同的对称加密模式,一种使用GCM,另一种使用CCM模式,这两种模式都属于AEAD,所以满足TLS1.3对算法的要求。由于这种方式具备更强的通用性,所以能够得到更快的推广。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

(国密算法单证书标准支持加密套件)

标准化国密算法在阿里云CDN上的具体应用

阿里云的CDN支持国密是通过Tengine加上babassl两个软件的结合实现的,其中Tengine是阿里云CDN的接入开源框架,babassl是蚂蚁金服为了支持国密算法,基于openssl1.1.1的开源版本进行深度定制开发的代码库。通过阿里云CDN和蚂蚁金服的深入合作为客户打造国密合规的代理服务。该软件部署到全网2000+节点,对外提供国内最大规模的国密接入能力。

第一阶段阿里云CDN会先支持接入层的国密算法能力,通过控制台上传国密证书后,配置选择单证书或者双证书方案,客户端即可通过CDN边缘节点完成国密算法的接入。这里更推荐客户使用的是单证书方案,该方案的通用性比较高,与国际标准接轨,同时该方案的客户端开发复杂度低,能降低开发成本。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

第二阶段,阿里云CDN会支持全链路的国密算法能力,包括接入层、节点之间的加密传输链路以及回源的数据链路,通过这个能力极大保障客户数据的安全。但是需要客户端以及源站均支持国密的接入能力。

正如前文所述,随着密码法颁布及各项密码相关标准的发布和实施,国密合规已经成为国家高度关注的重点,尤其是对金融和政企行业的数据安全提出了更高的要求。阿里云CDN推出的国密能力,能够帮助客户构建更加安全的数据传输链路,从而满足国密合规的要求。

这里有个好消息是:babassl在充分验证可用性和安全性之后有计划作为开源软件推出,客户端和源站的开发可以基于babassl代码库实现。

为了更好的支持国密算法的推广,蚂蚁金服相关团队针对国密算法的性能进行深度优化,以openssl1.1.1版本的实现为基线,目前sm4能够实现2倍以上的性能优化,sm2能够实现5倍以上的性能优化。算法性能的提升让阿里云CDN能够对外提供更加优质的国密服务,欢迎更多用户一同参与到国密算法的开发和使用,一起共建安全合规的互联网环境。

活动福利
2020年6月30日前,CDN加速10Mbps以内带宽免费试用1个月,30Gbps DDoS防护、高级版WAF试用1周,并赠送一次漏洞扫描服务,总名额限100个,先到先得。

点击填写表单参与活动

答疑钉钉群:34249460

相关实践学习
Serverless极速搭建Hexo博客
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
2月前
|
监控 安全 搜索推荐
设置 HTTPS 协议以确保数据传输的安全性
设置 HTTPS 协议以确保数据传输的安全性
|
29天前
|
存储 安全 前端开发
端到端加密:确保数据传输安全的最佳实践
【10月更文挑战第12天】端到端加密(E2EE)是确保数据传输安全的重要手段,通过加密技术保障数据在传输过程中的隐私与完整性,防止第三方窃听和篡改。本文介绍E2EE的工作原理、核心优势及实施步骤,并探讨其在即时通讯、文件共享和金融服务等领域的应用,强调了选择加密协议、密钥管理、数据加密及安全接口设计的重要性,旨在帮助企业和开发者有效保护用户数据,满足数据保护法规要求。
|
2月前
|
安全 CDN
阿里云CDN产品解读及全站加速在游戏行业的最佳实践!
阿里云CDN(内容分发网络)为全球用户提供快速、稳定、安全的内容分发加速服务,显著提升访问响应速度和成功率
|
3月前
|
安全 网络安全 API
|
3月前
|
网络协议 安全 算法
"网络世界的守护者:一探究竟TCP协议如何确保数据传输的绝对安全与可靠"
【8月更文挑战第20天】传输控制协议(TCP)是网络通信中的核心协议之一,它确保数据包能可靠、有序地从源头传输到目的地。TCP采用三次握手的方式建立连接,并通过序列号、确认应答及超时重传来保障数据传输的准确性。此外,TCP还具备流量控制与拥塞控制功能,避免网络拥塞。虽然TCP在可靠性上表现优异,但在快速传输场景中可能存在局限。深入理解TCP对于网络工程师和开发者至关重要。
68 1
|
5月前
|
安全 网络协议 网络安全
程序与技术分享:Android应用安全之数据传输安全
程序与技术分享:Android应用安全之数据传输安全
|
6月前
|
安全 算法 网络协议
HTTPS:如何确保您的网站数据传输安全?
HTTPS:如何确保您的网站数据传输安全?
368 2
|
6月前
|
弹性计算 缓存 安全
【阿里云弹性计算】阿里云ECS与CDN结合:构建高性能全球内容分发网络
【5月更文挑战第26天】阿里云ECS与CDN结合打造高性能全球内容分发网络,通过ECS的弹性伸缩和安全可靠性,配合CDN的全球覆盖、高可用性及安全防护,提升访问速度,减轻服务器压力,优化数据传输。以WordPress为例,通过配置CDN域名和ECS,实现高效内容分发,提高系统扩展性和稳定性。此解决方案满足用户对访问速度和稳定性的高要求,为企业提供优质的云计算体验。
174 0
|
6月前
|
安全 算法 量子技术
秘钥通信在哪些方面有助于保障数据传输安全?
【5月更文挑战第14天】秘钥通信在哪些方面有助于保障数据传输安全?
37 0
|
网络协议 安全 Linux
解密TCP连接断开:四次挥手的奥秘和数据传输的安全
本文将介绍TCP连接的断开过程,重点关注四次挥手的过程和状态变迁,以及为什么挥手需要四次和为什么需要TIME_WAIT状态。在TCP连接断开的过程中,双方需要发送FIN和ACK报文来确保数据的可靠传输和连接的正确关闭。挥手需要四次的原因是为了确保数据的完整传输和连接的可靠关闭。
763 1
解密TCP连接断开:四次挥手的奥秘和数据传输的安全

热门文章

最新文章