1. 引言
密码技术是保护网络与信息系统安全的核心技术,已经广泛应用到金融、能源、通信、交通、水利等各行各业,为国家安全和经济发展发挥重要作用。商用密码应用安全性评估(简称密评),是指在釆用商用密码技术、产品和服务集成建设的网络和信息系统中对密码应用的合规性、正确性和有效性等进行评估。对信息系统开展密评是规范密码应用、维护网络空间安全的基本要求,同时又可促进国产密码在各个行业的广泛应用。
随着应用场景的多元化,对密码算法的性能及安全性需求提出了不同要求,尤其是应用最为广泛的SM4密码算法。例如,网络和通信安全需要采用密码技术对通信过程中的敏感数据做机密性保护,这对SM4算法高性能实现提出了具体需求,否则会对系统的性能造成较明显的损耗,影响网络通信能力。另一方面,多路视频高清和超高清监控数据需要超高性能的密码算法进行保护,否则可能影响方案的可实施性。此外,还有很多行业对加密存储提出了高性能需求。近些年来Intel、AMD等处理器厂商纷纷宣布在其处理器上推出用于AES加解密的AES-NI指令集,这使得采用AES-NI指令集实现AES算法的性能得到进一步提升。目前SM4算法性能与AES算法相比有一定差距,特别是与AES-NI加速指令的差距更加明显,若不尽快补齐性能短板,必将影响国密算法的广泛应用。
2. SM4算法实现介绍
SM4分组密码算法是我国的商用分组密码算法,分组长度为128比特,密钥长度也是128比特,加密算法与密钥扩展算法都采用32轮广义Feistel结构进行迭代,解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反。
为了高效地实现SM4算法,国内外众多学者提出了多种软硬件工程实现思路。早期的SM4软件实现方法仅限于查表实现,但因SM4算法架构等因素,其查表实现的性能明显低于AES算法。国内外许多学者尝试采用SIMD技术应用到密码算法的软件快速实现中,例如SSE指令集、AVX指令集等。SIMD可实现一条指令操作多个数据,是CPU基本指令集的扩展,用于提供数据的并行操作,如数字图像处理。学者们将SSE指令与比特切片等技术应用到密码算法以提高算法的实现性能。中科院软件所[1]利用SIMD技术优化实现SM4算法,该方法相比于查表方法,其软件实现性能可以提高85%至138%。北航软件开发环境国家重点实验室 [2]简化S盒,采用比特切片技术,结合AVX指令实现SM4算法的256个分组并行加解密,实现效率提高了43%。2014年,Intel公司[3]提出了基于AES-NI指令集实现SM4的专利,2017年,道里云公司[4]也公开发表了使用AES-NI指令集实现SM4的另一种方案。
另外,也有借助硬件GPU进行SM4加速实现的方案。北京电科院[5]通过研究最优明文数据块、GPU存储类型和线程块对SM4加密的加速比,提出GPU并行SM4加解密方案,将性能提升到25倍左右。中国工业控制系统网络应急响应小组[6]利用CUDA提出了SM4的CPU-GPU方案,并引入页锁内存和CUDA流方案使得SM4的速度提升到88倍左右。以上两篇文章都指出,当明文数据块较小时(如小于8KB),由于CPU和GPU之间的数据交互传输耗时以及小数据包时GPU无法调用全部的计算单元参与运算,使得GPU方案的效率可能不升反降,因此应用场景有一定的局限性。此外,GPU本身的性能也与加速效果强相关。
3. 10Gb每秒!海泰的新篇章!
作为一家以密码为基因、以创新为驱动的企业,海泰方圆持续重视研发投入,2022年,公司研发中心和技术体系启新,全新的“密码技术融合创新中心”和“数据智能安全工程中心”隆重启用。公司以密码技术融合创新中心为依托,加速布局密码业务,深化技术创新研究,深耕国密算法高性能实现,基于国内外研究成果进行SM4的软件高性能实现研究。
图1 海泰密码技术融合创新中心和数据智能安全工程中心成立
重点针对CPU流水线和不同类型的SIMD的深入理解和分析,结合SSE、AVX指令集的并行化实现特点以及对SM4性能优化的改善程度,剖析不同工作模式的可并行性以及对并行加解密性能的改善情况,设计出高性能的SM4并行实现方法。此外,设计的SM4高性能实现自适应匹配技术以及内置智能最优解方案模块,可根据监测的CPU架构特征自适应地匹配符合CPU特征的高性能加解密方案,自动快速搜寻局部最优解,使得加解密性能达尽可能达到局部最优。该方案已部署在SM4算法的五种常见工作模式中,在英特尔十一代I5处理器上优化部署后的SM4软件高性能实现方案性能从原有的3.54Gbps(百万比特每秒)提升至7.36Gbps,性能为原方案的2.08倍;在英特尔的十一代I7处理器上进行单线程性能测试,ECB模式的加密和解密速度达到10 Gbps,CTR模式的加解和解密性能不低于9 Gbps,CBC模式和CFB模式的解密性能也都超过9 Gbps,如下图。
图2 海泰SM4高性能密码实现方案的性能
SM4实现方案除了已经支持上述五种常见工作模式之外,其它更多的工作模式也正在全力支持中。此外,在海泰的密码技术融合创新中心,SM4算法高性能实现还在进行持续迭代,多种模式的实验室测试数据均在10 Gbps以上。
4. 高性能SM4的应用
在大数据时代,海量数据需要进行安全防护,随着技术的迭代,多种新型存储技术快速发展,传统150MB/s(百万字节每秒)左右存储速度的HDD硬盘已经开始逐渐向更加快速的可达到500MB/s的固态硬盘SSD存储技术转变,甚至PCIe/M.2 SSD的速度范围可以达到1.0GB/s到2.0GB/s。这使得存储技术已不再是制约海量数据安全存储的短板了,而SM4密码算法传统的软件实现方案不足1Gbps(125MB/s),即使高性能硬件加密卡的4Gbps(500MB/s)的加解密速度也只能刚好与普通SSD的性能持平。以上数字都清晰地指出SM4加解密速度已经成为海量数据安全存储的瓶颈,严重制约商密算法的应用,特别是在海量数据安全存储等应用场景。因此,市场迫切需要更高效的SM4算法,避免将国密算法置入性能瓶颈的尴尬之地。
海泰SM4算法的高性能实现,使得单线程的加解密速度可达到10Gbps(1.25GB/s),多线程可达到100Gbps以上,这使得海量数据的安全存储和安全“闪”存得以实现。
此外,几乎所有的数据密集型应用场景都将是海泰高性能SM4算法大显身手之处。当前,移动应用、AI应用、AR/VR、云手机、物联网、车联网等新型应用、智能物联网应用爆发式增长,更加多样化的算力产生在云上,提供个性化服务,改变人们的生活,这些应用场景要求简化现有IT基础架构,优化服务器资源利用率,提高系统可用性,这是海泰密码技术赋能高质量密码供给,确保数据安全的重要应用领域。
与此同时,海泰高性能SM4也与相关密码产品进行对接集成,支持更多的密码产品,为更多的安全产品赋能更高性能的国密算法实现,提供更加完善的安全功能,为云计算、大数据、物联网、移动互联、工业控制、人工智能等领域提供更加完善的安全服务。
5. 总结与展望
如今,海泰正全面开展国产密码算法系列的高性能实现,不仅进一步优化SM4算法性能,还在进行SM3算法、SM2算法、SM9算法、ZUC算法的高性能实现,将商密算法的高性能实现延展到国产化平台,助力国产化安全。
参考文献
[1] 郎欢, 张蕾, 吴文玲. SM4的快速软件实现技术[J]. 中国科学院大学学报, 2018, 35(02): 180-187.
[2] 张笑从, 郭华, 张习勇, 等. SM4算法快速软件实现[J]. 密码学报, 2020, 7(06): 799-811. DOI:10.13868/j.cnki.jcr.000407.
[3] Intel. Technologies for modifying a first cryptographic cipher with operations of a second cryptographic cipher. US-2015341168-A1[P]. 2014-05-21.
[4] DaoliCloud Company. Technologies, Methods and Apparatus for Secure and Efficient Implementation of Block Ciphers[R]. Beijing: DaoliCloud Company. 2017-03-10.
[5] 李秀滢, 吉晨昊, 段晓毅, 等. GPU上SM4算法并行实现[J]. 信息网络安全, 2020, 20(06): 36-43.
Li, J., Xie, W., Li, L., Wu, X. (2021). Parallel Implementation and Optimization of SM4 Based on CUDA. In: Chen, B., Huang, X. (eds) Applied Cryptography in Computer and Communications. AC3 2021. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, vol 386. Springer, Cham. https://doi.org/10.1007/978-3-030-80851-8_7
免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。
责任编辑:kj005
文章投诉热线:156 0057 2229 投诉邮箱:29132 36@qq.com