说到数据存储,就一定离不开硬件设备,即使是云盘储存,也需要庞大的硬盘固件来提供服务。而硬件设备想要安全的储存数据,就一定离不开加密算法。下面我们就一起来了解一下国密算法在固件安全和数据安全中都有哪些应用。
国密算法在固件安全中的应用
固件控制着整个存储系统的正常运行,倘若非法人员可以随意导入固件、修改固件,那么数据也将完全暴露,因此保护数据存储安全的首要一点就是要确保固件在导入、保存和执行过程中的安全。
在固件导入过程中使用SM2算法进行验签,其中用到的公钥保存在主控芯片内部,私钥由受信用的固件厂商保存。对于要导入的固件,需要使用私钥对其进行签名,将签名和固件一起导入到盘片,带有签名的固件下载到缓存RAM后,再用公钥进行SM2验签。
只有使用合法私钥签名的固件才能通过验签,成功导入,没有签名或者使用非法私钥签名的固件无法通过验签而被丢弃。如此,拥有合法私钥的用户才拥有固件的导入权限,从源头上确保了盘片内部固件的合法性。
国密算法在数据安全中的应用
以固态硬盘为例,用户数据由主机写入到硬盘的流程如下图所示:
其中,虚线部分为国密算法在数据安全中的应用。若用户数据的明文直接保存在存储介质上,那么只要拿到存储数据的存储介质,就能以相关的途径获取到其中存储的用户数据,比如换上其它的主控芯片、对存储介质上的电平进行分析等。
所以,可以在数据读写路径上加上一道门锁——SM4加解密:
- 数据由主机传输到缓存RAM的过程中,使用SM4 算法加密,写入到缓存上的就是密文,并最终以密文的形式保存在存储介质Flash上;
- 读取数据时再解密出明文返回给主机。
上述的加密过程对用户是完全透明的,用户完全感知不到加解密过程的存在。为确保明文数据只对授权用户可见,需要对加解密数据的密钥——介质密钥(MKey)进行保护,将其与授权用户关联起来。
- 使用SM3算法对用户口令进行杂凑生成口令摘要,保存口令摘要用于身份鉴权;
- 对用户口令进行派生构造加密密钥(EKey),对介质密钥进行加密保存。
这个过程主要有以下三个方面:
- 创建:用户创建自己口令的同时,会生成取自口令摘要的加密密钥EKey和取自真随机数的介质密钥MKey;通过SM4算法将MKey用EKey加密;最终将口令摘要和MKey密文保存在Flash上。
- 鉴权:创建用户口令后再次上电,鉴权之前,由于无法获取MKey而使盘片处于锁定状态。鉴权的过程即时将输入的用户口令使用SM3算法进行杂凑得到一份摘要,再从Flash上加载出保存的口令摘要,两份摘要相同则认为用户身份合法,反之不同则不合法。
- 解锁:输入正确的用户口令,通过身份鉴权之后,才能构造出正确的EKey,解密出MKey明文,进而对读写的数据进行正常的加解密,实现盘片的解锁。
SM2、SM3、SM4算法,从固件安全和数据安全两个维度,为数据存储安全建立了一道坚实的保护墙。将自主研发的国家商用密码算法应用到数据存储安全,既顺应了加密国产化的需求,也实现了数据安全自主可控的目的。
免责声明:素材源于网络,如有侵权,请联系删稿。