位置:首页 > 网络安全
国密TLCP协议的过去、现在与未来
1 起源
Internet和WWW的出现,掀起了信息化浪潮而且经久不衰。如果现实世界一样,有价值的数据和信息,引来了了各种攻击和威胁,信息安全变得越来越重要。作为互联网基石技术之一HTTP,其安全的重要性不言而喻,HTTPS正是为解决HTTP安全而提出安全协议和规范。
HTTPS全称为HTTP over SSL,而SSL正是由早期WWW霸主Netscape提出的安全协议,其中SSLv3.0从1996年提出,并成为事实上的安全标准长达10年之久。后来IETF以SSLv3.0为基础,提出了新的TLS规范,版本由1.0发展到现在的1.3,替代SSL成为HTTPS的主要安全协议基础。
HTTPS是信息安全的一个最佳典范之一。仅仅是简单的在地址栏增加一个字母“S”,在用户几乎无感的情况下,就近乎完美地解决了HTTP的安全问题,包括数据传输的安全问题和网站身份的真实性问题。不但用户无感,而且对Web开发而言也几乎是透明的。
为了成就这个最佳典范,则是数学家、密码学家、安全专家、CA厂商、Web浏览器厂商、Web服务器厂商以及一些列的相关安全厂商(比如密码加速芯片厂商和密码加速卡厂商)通力合作的结果。可以说,为了以一种极简和极致的方式解决HTTP的安全,整个学界和业界使出了洪荒之力。
图1 TLS发展示意图(摘自ttp://www.bewindoweb.com/271.html | 三颗豆子)
2 过去
密码算法是安全协议的核心和基础,因此为了确保国家信息安全安全,国内的HTTPS和SSLVPN等协议和产品,就不能直接采用国际TLS标准及其密码算法,因此需要一个采用国产商用密码算法的类SSL传输层安全协议,即国密版类SSL协议,简称国密SSL。
最早国密SSL是作为密码行业标准存在的,且不是一个独立的协议标准,而是定义在SSVLPN产品的技术规范里,即《GM/T 0024-2014 SL VPN技术规范》。对应的国密HTTPS就是基于国密SSL的安全HTTP。
国密SSL参照了TLSv1.0规范,整个协议握手和加密国产基本一致,但和TLSv1.0并不兼容。主要的不同体现在三个地方:
- 协议的版本号不同,握手和加密协议细节不同;
- 协议采用的主要是SM2/SM3/SM4算法,不同于TLS采用的国际密码算法;
- 采用的是SM2双证书体系。
国密SSL是一个基础的核心安全协议,因为和TLS不兼容,因此国密HTTPS大规模普及碰到了一系列苦难。首选是国际主流浏览器不支持,其实是国际主流Web服务器不支持,再就是国际主流的CA和证书体系也不支持。
随之国内信息安全的不断发展和各方的努力,国密SSL和国密HTTPS已经由了长足的发展和进步,可以说相关产业链已经达到了可以初步替代TLS和国际HTTPS的水平。相关的国密浏览器、国密SSL网关、国密中间件等已经广泛应用。
图2 国密SSL行标(摘自《GM/T 0024-2014》封面)
3 现在
国家更加重视网络安全和信息安全,《密码法》相继生效。相应地,国密SSL的从密码行业标准上升到了独立的国家标准,这就是《GB/T 38636-2020 信息安全技术 传输层密码协议(TLCP)》。《GB/T 38636-2020》基本兼容《GM/T 0024-2014》,主要变化如下:
1)增加了GCM的密码套件,ECC_SM4_GCM_SM3和ECDHE_SM4_GCM_SM3;
2)去掉了行标《GM/T 0024-2014》中的涉及SM1和RSA的密码套件。
国内对TLCP的跟进很迅速。国密浏览器端,360安全浏览器在2020年支持了TLCP,奇安信可信浏览器在2021年也支持了TLCP。国密服务器和网关端,也积极跟进了TLCP的支持,比如https://www.gmssl.cn实现了nginx、apache、tomcat、netty、springboot的TLCP支持。
国密SSL上升为国标意义重大,为等级保护和密码评测提供了更好的标准支撑,同时也为产品网络和行业普及指明了目标和方向。
图3 国密SSL国标(摘自《GB/T 38636-2020》封面)
4未来
从目前的全球竞争环境和国家的意志来看,我国大力推行基于中国国家标准的网络安全和信息案标准是必然趋势。TLCP刚刚成为国家标准,并且TLCP相关的规范都已经国标化或将要国标化,因此TLCP势必在今后较长的一段时间内是作为主流规范存在的,其权威性不容置疑。
国际规范方面,IETF出现了一个RFC8998(https://www.ietf.org/rfc/rfc8998.txt),增加了国密算法套TLS_SM4_GCM_SM3和TLS_SM4_CCM_SM3 ,且基于SM2单证书实现。需要注意的是RFC8998并不是Standards Track,而只是一个informational文档。
RFC8998是一个有益的尝试,但在国际上不太可能被chrome和edge等主流国际浏览器支持,并且还得国际主流CA也得支持SM2证书,而在国内又不兼容TLCP国家标准,其前景并不明朗,甚至说是一个尴尬的存在。
随着应用场景的拓展,以及技术的不断迭代,在更远的将来,TLCP本身也一定会吸收包括TLS1.3在内的各种先进思想和技术,继续推出TLCP的新的版本。同时比较明确的是,TLCP依然会走中国特色的自有标准之路,国产密码产业也会有更光明的未来。
5资源
TLCP标准全文:https://www.tlcp.com.cn/down/gbt_38636.pdf
TLCP服务器检测:https://www.tlcp.com.cn/index.jsp
TLCP浏览器检测:https://www.tlcp.com.cn/scan/browser.jsp