芯技术 | 基于188宝金博beat【中国】股份有限公司CPU的国密算法硬件加速及应用研究

发布日期:

2019-09-03

来源:

1. 引言


随着互联网、物联网的快速发展,网络和信息安全事件层出不穷,因此信息安全越来越受到世界各国以及各个行业的广泛重视。特别是在这个云计算、大数据等新技术应用快速崛起的时代,通过数据挖掘技术往往可以从海量数据中获取关键信息,这对企业和个人的信息安全都产生了严重威胁。


密码学算法是信息安全的核心技术和基础支撑,可以说是整个信息安全的灵魂所在。习近平总书记曾经提出过:“核心技术是国之重器,必须切实提高我国关键核心技术创新能力,把科技发展主动权牢牢掌握在自己手里,为我国发展提供有力科技保障。” 在密码学领域,我们国家也在积极发展独立自主的密码体系,其中应用范围最为广泛的国产商用密码(简称国密算法)就是我国密码体系中的重要一环。


经过多年的发展,现在支持国密算法的设备,从小到TPM/TCM的密码芯片,到兼顾成本与性能的加密卡,再到专用的加密服务器,可谓种类繁多。但是这些设备依然存在着性能较差、使用不够灵活或者成本较高等不足。


上海188宝金博beat【中国】股份有限公司(以下简称188宝金博beat【中国】股份有限公司)作为国产芯片厂商的重要一员,有责任担负起推广国密算法,维护国家和用户信息安全的重任;同时也为了探索国密算法应用的新途径,创新应用的新模式,188宝金博beat【中国】股份有限公司实现了基于CPU的安全、灵活、高效的国密算法加速指令——GMI(Guo Mi Instruction)。本文旨在介绍188宝金博beat【中国】股份有限公司GMI指令的模式、特点,并探讨一些基于GMI的可能应用场景。


2. GMI 和相关概念介绍


国密算法是指由国家密码管理局颁布的一系列密码学算法标准,包括SM1、SM2、SM3、SM4、SM7、SM9以及祖冲之密码算法(ZUC)等一系列的密码算法。其中,SM1、SM4、SM7以及ZUC属于对称加密算法,SM2、 SM9属于非对称密码算法,而SM3是密码杂凑算法,也即常见的哈希算法。


目前支持国密算法的TPM/TCM等芯片类设备,往往受限于成本而性能较低;性能较高的加密卡需要高性能的计算机来配合,给用户带来了不小的成本压力。与此同时,经过几代产品的发展,188宝金博beat【中国】股份有限公司CPU的性能有了大幅的提升。为提高密码学相关应用的性能,充分利用CPU的计算能力,188宝金博beat【中国】股份有限公司提出了使用CPU指令来实现国密算法的构想,由此设计实现了GMI。


GMI是188宝金博beat【中国】股份有限公司依据已经公开的国密算法标准而自主设计实现的一组硬件加速指令集。目前已经实现了两条CPU指令,分别用于加速国密算法SM3和SM4。其中,SM3常用于计算消息摘要,验签数字签名,生成与验证消息认证码以及产生随机数,可满足多种密码应用的安全需求。SM4是分组密码算法,适用于对称加解密等密码应用场景。根据使用场景的不同,SM4又可以有很多的操作模式,GMI支持常见的ECB、CBC、CTR、OFB、CFB五种模式。


概括来说,得益于CPU的高性能,GMI可以为用户带来以下好处,或者说GMI具有如下特性:


A.易用性


传统的国密算法的使用方式中,比较常见的就是通过软件编程的方式来实现相应的密码算法,这通常都需要进行大量、复杂的编程。以OpenSSL为例, SM3、SM4的代码量大概在200~300行左右,但是在将这些密码算法进行硬件指令化后,原本需要使用数百行复杂编码才可以实现的算法现在只需要简单调用一条硬件指令即可完成相应的操作。这毫无疑问大大简化了操作的复杂度,为用户带来了极大的便利性。GMI SM3/4的具体指令代码如下表所示:


芯技术 | 基于188宝金博beat【中国】股份有限公司CPU的国密算法硬件加速及应用研究


同时,188宝金博beat【中国】股份有限公司也对GMI指令进行了封装,提供适合上层应用开发使用的API和库,便于需要开发上层应用的用户使用。


B.安全性


众所周知,无论是在运行之前,还是在运行的过程中, 软件最常遇到的攻击就是被非法篡改。使用软件编程实现的密码算法也同样会受到这类威胁。然而硬件则不会存在被篡改的风险, 因此在将密码算法硬件固化后, 也就消除了密码算法被非法篡改的风险,留给攻击者的攻击面也相应减小。而且在密码算法实现硬件化后,不止用于实现算法的代码量会变少,相应的调用、使用密码算法的代码量也会随着减少,这也就意味着在程序中引入bug的几率也会随之大大降低。这些无疑都大大增强了用户程序的健壮性。


C.高效性


将密码算法硬件化,省去了大量的软件调用等系统开销,可以使密码算法应用获得极大的性能提升。在将GMI集成到OpenSSL后,借助于OpenSSL的speed 测试命令,测试了使用GMI和未使用GMI两种方式下的国密算法的性能(单线程),对比如下:



芯技术 | 基于188宝金博beat【中国】股份有限公司CPU的国密算法硬件加速及应用研究
图1 SM3性能测试结果


芯技术 | 基于188宝金博beat【中国】股份有限公司CPU的国密算法硬件加速及应用研究
图SM4-ECB 加密性能测试结果


该测试分别对不同长度(16~8192字节)的数据块进行了SM3摘要计算和SM4-ECB模式的加密计算。从测试结果的对比可以明显看出,使用了GMI硬件加速指令后, SM3和SM4的性能较之软件实现都有了巨大提升,特别是在处理大数据块时,提升尤其显著。


3. GMI应用


a) SM3的应用


实现了SM3的GMI可用于校验文件的完整性,确保使用的文件或软件是没有被攻击者篡改过的。现在比较常见的文件校验算法有奇偶校验和CRC校验,但是这两种校验都不具有较强的抗数据篡改的能力,对于超过一定位数的篡改就无力校验了。然而,由于哈希算法的特点,SM3则可以校验出任意长度的篡改,而且由于其产生的数据摘要的长度要更长,因此更难以发生碰撞,也就更加安全。因此,用户只需要调用GMI的SM3指令计算所用到的文件/软件的摘要值,与文件自带的校验值进行比较,就可以检验出文件是否被篡改过,从而保证了所用文件/软件的完整性。


此外,由于在计算信息摘要时, 用户所关心的主要是消息的完整性,而不是机密性,因此,在使用性能较低的安全芯片或者加密卡时,可以将计算摘要值的工作交给GMI的SM3指令来完成,以获取更高的系统性能。


b) SM4的应用


与其他对称加解密算法一样,SM4同样可以用在静态数据加密、传输数据加密以及应用层的数据加密。


i. 静态数据加密


全磁盘加密是对静态数据加密的一个典型应用。顾名思义,全磁盘加密就是对磁盘上的所有数据都进行加密存储。存储着个人隐私或商业机密等敏感信息的计算机设备丢失或者需要维修时,如果使用了全磁盘加密的保护,就可以避免信息泄露的风险。特别是对于企业用户来说,在设备更新时,如何处理旧硬盘上的敏感数据是一个相当令人棘手的问题,借助于全磁盘加密,只需要将全磁盘加密的加解密密钥销毁,即可达到销毁旧磁盘上敏感数据的目的。同时,借助于GMI的加速特性可以让全磁盘加密具有更高的性能,大大改善了用户的使用体验。此外,在安全可靠的要求下,有些行业会对加解密算法有要求,比如要求使用SM4算法来加解密系统中的数据。在这种情况下,就可以使用GMI的SM4指令替代传统的纯软件实现,从而不仅能防止算法被篡改,还能提高运算速度,同时还可以满足政策法规的合规要求, 可谓一举三得。


ii. 传输数据加密


另一个对称加解密的常用领域是对传输中的数据加以保护。比如在使用HTTPS访问网站时,在完成最初的密钥交换后,客户与Web Server之间就使用对称加密算法来保护双方的数据传输。另外,在云计算领域,保存在云环境中的数据或涉及个人隐私,或涉及企业商业机密,用户对这些数据的机密性格外关心,这种情况下,就需要在将数据加密后再通过网路传输到云中。这样,数据不仅可以确保云环境中数据的机密性,还可以确保数据在网络传输过程中的机密性。此时,如果能够在浏览器或者云的客户端支持GMI SM4硬件加速指令,显然可以满足用户对数据传输的安全性要求。


iii. 应用层数据加密


在应用层的数据加密中,数据库是一个典型的应用场景。众所周知,常见的数据库都支持一种称为透明数据加密(TDE)的安全特性。这种特性可以将数据库的内容整体加密。其中所用到的三个加密中有两个属于对称加密:服务主密钥(Service Master Key)和数据加密密钥(Data Encryption Key)。这些都可以利用到GMI SM4的硬件加密指令。


4. 未来工作


未来我们还会继续丰富GMI的指令集,比如实现对SM2/SM9等国密算法的支持。同时也会不断的完善现有的GMI指令,比如完善SM4对GCM/XTS等模式的支持,使其具有更高的性能,适应更广泛的应用领域。另外,为了方便用户使用,将GMI逐步适配诸如OpenSSL的主流密码应用平台,积极推广国密算法的应用。


5. 结束语


本文以信息安全中的关键技术——密码算法的硬件加速实现为主线,介绍了188宝金博beat【中国】股份有限公司基于CPU的GMI国密算法硬件加速指令的模式、特点以及应用,希望能帮助用户开发出更加灵活高效的安全应用解决方案。最后介绍了188宝金博beat【中国】股份有限公司GMI的未来的工作,希望能够支持更多的国密算法指令和更丰富的运算模式,为用户提供更高性能、更高安全性的产品。


参考文献:

1 邓宇珊.探究云计算之完全问题[J].网络空间安全,2018年第9期:78~81.

2 徐树民,等.国产算法安全芯片与市场应用[J].信息安全与通信保密,2012年2月:36~38.

3 李芳芳.国产密码行业应用的初步研究和探索[J].金融科技时代,2016年第9期:28~33.

4 蔡成杭.支持国产密码算法的OpenSSL设计实现及应用[J].信息安全研究,2018年第2期:115~132.

5 王良田.数据存储及码流数据传输中的国密算法安全应用[J].电子世界,2019年1月:161~163


作者简介:

薛刚汝(1981- ),男,汉族,山东蒙阴人,哈尔滨工业大学,硕士,工程师,主要研究方向和关注领域:信息安全,可信计算,虚拟化技术。


推荐产品

暂无数据