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

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

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

HTTPS的实现原理是什么?

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

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

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

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

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

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

究竟什么是国密算法?

国密算法是国家密码局制定标准的一系列算法,包括了对称加密算法,椭圆曲线非对称加密算法,哈希算法。其中,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就是其中之一。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

点击回顾阿里云政企安全加速解决方案发布会详情

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

点击填写表单参与活动

答疑钉钉群:34249460

原文链接
本文为云栖社区原创内容,未经允许不得转载。

基于https国密算法构建安全数据传输链路相关推荐

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

    网络数据安全得到前所未有的重视 HTTPS成为解决传输安全问题利器 大家都知道,HTTP 本身是明文传输的,没有经过任何安全处理,网站HTTPS解决方案通过在HTTP协议之上引入证书服务,完美解决网站 ...

  2. 基于国密算法SM2SSL证书的https加密,如何实现?

    为什么80%的码农都做不了架构师?>>>    如果要在客户端/网关系统和服务端之间进行SSL加密通信,当客户端应用(浏览器等)发起登录认证.加密.签名等请求时,服务端如何实现基于国 ...

  3. 基于国密算法实现主机之间的密钥分发和安全传输-2021西北工业大学网络空间安全学院暑期夏令营

    2021年西北工业大学网络空间安全学院暑期夏令营 一.设计内容与要求: 二.基本思路与实现: 三.设计原理与流程: 3.1 总体流程: 3.2 设计原理: 3.2.1 建立套接字连接: 3.2.2 根 ...

  4. GmSSL制作国密算法自签证书和 HTTPS 配置

    GmSSL 是一个开源(遵循 BSD 协议)的密码工具箱,支持 SM2 / SM3 / SM4 / SM9 / ZUC 等国密(国家商用密码)算法.SM2 国密数字证书及基于 SM2 证书的 SSL ...

  5. 使用Go基于国密算法实现双向认证

    国内做2B(to Biz)或2G(to Gov)产品和解决方案的企业都绕不过国密算法,越来越多的国内甲方在采购需求中包含了基于国密算法的认证.签名.加密等需求.对于国内的车联网平台来说,支持基于国密的 ...

  6. EMQ X 基于国密算法的物联网安全接入解决方案

    方案背景 在 5G 万物互联时代,将物理世界的数据进行数字化采集.传输和分析,最终通过丰富的物联网应用实现智慧化,是未来发展的大势所趋 .随着物联网在各行各业快速和深入的发展应用,各种终端设备联网的需 ...

  7. 2015520吴思其 基于《Arm试验箱的国密算法应用》课程设计个人报告

    20155200吴思其 基于<Arm试验箱的国密算法应用>课程设计个人报告 课程设计中承担的任务 完成试验箱测试功能4,5,6以及SM3加密实验的实现 测试四 GPIO0按键中断实验 实验 ...

  8. CITA v0.18 新增「基于 Rust 语言的国密算法库」新特性

    近日,秘猿科技宣布开源第一个基于 Rust 语言的国密算法代码库,以及对该算法支持友好的 CITA v0.18 版本.随着社会信息化程度的不断提升,各国对于本国的密码算法及标准均上升到国家战略的高度. ...

  9. 基于Java的(SM2_SM3_SM4)国密算法, 加密解密工具类及测试demo

    编写本文的同时借鉴了多位同学写的demo, 最后发现这位同学写的最详细, 放上该作者的链接, 原版链接: https://download.csdn.net/download/ererfei/9474 ...

最新文章

  1. 【MediaPipe】(1) AI视觉,手部关键点实时跟踪,附python完整代码
  2. AS3.0编程 So本地数据存储(“超级cookies”)--AS3:Local SharedObject
  3. 一种清除windows通知区域“僵尸”图标的方案——问题分析
  4. linux查询引脚功能复用,Linux:使用pinctrl子系统动态切换复用pin脚的功能
  5. Moonlight已经可以下载,目前是0.6版
  6. 架构设计 | 缓存管理模式,监控和内存回收策略
  7. B-treeB+tree数据库索引原理
  8. python追加写入数据到excel表格
  9. 华为鸿蒙新机价格表,华为Mate30已确认:鸿蒙系统+巴龙5000,售价感人
  10. 基于R实现统计中的检验方法---卡方检验
  11. python小甲鱼笔记_小甲鱼python笔记第4讲笔记(个人笔记)
  12. 使用vm14安装Linux系统
  13. html方式判断IE版本
  14. 接入交换机下pc获取不了ip问题处理
  15. south的使用总结
  16. asp.net1053-酒店宾馆客房预订管理系统#毕业设计
  17. 运用计算机巧记英语词汇,词根词缀法巧记考研英语词汇:词根graph-(写)
  18. 曲面积分的投影法_第二型曲面积分的投影法与对称性
  19. 安装kali步骤(超级超级详细)
  20. 89c51的万年历c语言,用AT89C51与DS1302做的万年历c语言编程

热门文章

  1. mysql binlog查看_MySQL--17 配置binlog-server 及中间件
  2. Java 并发编程必须知道的七种锁类型以及应用
  3. 模拟 http connecttimeout_燃烧室数学模型模拟软件NPSS
  4. var和function谁先优先执行_变量var声明和函数function声明优先级
  5. hadoop 传感器数据_读取模式错误,计算引擎操作复杂……面对Hadoop这些问题该如何应对?...
  6. mysql安装被打断_Mysql的安装/性能优化/安全加固
  7. mysql用户阻塞数_MySQL实例阻塞分析一例(线程statistics状态)
  8. linux两个数字正则,正则表达式-Linux readelf显示具有不同数字系...
  9. linux中var的作用,linux中var是什么意思
  10. java多次点击时事件_click事件的累加绑定,绑定一次点击事件,执行多次