欢迎再次来到“码灵半导体CFW32C7UL系列产品应用介绍”连载专题。通过上期CFW32C7UL系列启动阶段的特点介绍,相信您对CFW327UL系列启动阶段 的“程序安全启动”特点还有印象。文中提到芯片启动时可支持对经AES或SM4加密过的程序的加载启动,所述的AES和SM4就是人们常说的加解密算法,其中SM4为我国自主设计的一种密码算法,通常也称为国密算法。本期专题聚焦于CFW32C7UL系列硬件所支持的国密算法。
一、国密算法及其重要性
在详细介绍CFW32C7UL系列的国密算法前,我们先普及下什么是密码、密码的作用以及国家对国密的重视。
这里我们所述的密码是指采用特定变换的方法对信息等进行加密保护、安全认证的技术、产品和服务。随着社会信息化的高速发展,信息传输和信息存储对安全的要求变得愈来愈重要,而密码是解决信息安全方面是核心技术手段、是基础支撑保障,是解决网络与信息安全问题最有效、最可靠、最经济的手段。
密码主要有两个大功能:加密保护和安全认证。作为保障网络安全的核心技术,密码算法和密码产品的自主可控是确保我国信息安全的重中之重。但在当前,我国大多采用国外制定的加密算法,存在着大量的不可控因素,一旦被不法分子利用攻击,将产生不可估量的损失。因此密码产品自主可控及相关软硬件国产化的替代,是防止后门漏洞的最有效方法,是保障网络安全的终极举措。
从国家战略层面讲使用国产密码算法是符合国家信息安全全局战略的。因此在2019年10月26日第十三届全国人民代表大会常务委员会第十四次会议上,通过了《中华人民共和国密码法》,该法自2020年1月1日起施行。
在《密码法》中,将密码分为核心密码、普通密码和商用密码,其中核心密码、普通密码用于保护国家秘密信息(绝密级和机密级),商用密码用于保护不属于国家秘密的信息,如网络和信息安全等。在CFW32C7UL系列硬件集成的国密算法模块即为《密码法》中所提到的商用密码,有SM2,SM3,SM4(本系列芯片内同时集成了真随机数发生器TRNG、国际标准的标准 AES 算法、 AES-CM、AES-F8 算法和SHA签名模块)。
二、CFW32C7UL如何实现国密算法?
目前在嵌入式产品中如何实现国密算法呢?据有关资料统计,目前嵌入式产品在使用国密算法时,近三分之二采用的是外挂国密算法专用芯片来实现,这种实现方式在对嵌入式产品的成本、体积、功耗等方面来及诸多挑战,且数据在主控芯片与国密芯片的传输通道环节也有数据外泄的风险。而码灵半导体的CFW32C7UL系列产品采用了在内部集成国密算法模块的方法,解决了在使用国外MPU芯片因不支持国密算法而必须通过外加分立元器件来实现的问题,降低了使用国家密码算法的难度,利于推进国密算法在信息安全领域内的应用和实现嵌入式MPU的国产替代的进程。
三、CFW32C7UL集成的国密算法简述
下面就CFW32C7UL集成的SM2、SM3、SM4算法进行简单的介绍。
1、SM2公钥算法
公钥密码算法是现代密码学发展过程中的一个里程碑。这类密码算法需要两个密钥:公开密钥和私有密钥。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法也称为非对称密码算法。
SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,用于实现数字签名密钥协商和数据加密等功能。SM2算法是基于ECC椭圆曲线算法,不同于国际标准,采取了更为安全的机制。在实际应用中,采用了一条256bit的椭圆曲线作为标准曲线。相对于RSA算法,256位的SM2密码强度已经比2048位的RSA密码强度要高。在速度方面,256位SM2在验签速度上远远高于2048位的RSA。
2、SM3杂凑算法
SM3杂凑算法是我国自主设计的密码杂凑算法,适用于商用密码应用中的数字签名和验证消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。SM3算法的输出长度为256比特,SM3算法的安全性要高于MD5算法和SHA-1算法。
3、SM4分组算法
SM4分组密码算法是我国自主设计的分组对称密码算法,用于实现数据的加密/解密运算,以保证数据和信息的机密性。SM4算法与AES算法具有相同的密钥长度分组长度128比特,在安全性上高于3DES算法。
通过以上简介,相信大家对CFW32C7UL系列内置SM2,SM3,SM4的国密标准算法有了初步了解,那么这些算法如何通过CFW32C7UL系列芯片来具体使用呢?让我们带着这些问题,在下期从技术的角度进行探寻!
今天的专题就到这儿,更多关于码灵半导体CFW32C7UL系列产品的介绍,我们下期见!
本期作者:刘悦臻、梁梦雷、陈绍景、谢耀华、谢剑杰
全部0条评论
快来发表一下你的评论吧 !