国密算法在数据存储中的安全应用

时至今日,互联网和物联网已经渗透到我们生活的点点滴滴,数据在其中的重要性不言而喻,一旦数据遭到恶意攻击,导致泄漏或篡改等,这两张网的安全性也就不复存在 。因此,2015年重新颁布的《国家安全法》中第24、25条特别强调了数据安全要自主可控,而作为数据安全最重要环节之一的数据存储安全也就成为了业界关注的焦点 。
硬盘是数据的栖息地,那么如何确保数据能安全的存储在硬盘上呢?众所周知,人们为防止自己家中财物被盗取,往往会在门上加上一把锁,没有钥匙就没办法入门,一样的道理,为了保护数据,可以对数据进行加密,只有拥有密钥的用户才能获取数据内容,这就是密码技术 。

国密算法在数据存储中的安全应用

文章插图
 
密码技术的核心是对信息按照一定的规则重新编码来保证信息的机密性,国际上已有一系列密码算法,而为了信息安全自主可控,我国商用密码局近年来也组织制定了一些自主研发的密码算法,包括SM1、SM2、SM3、SM4、SM7、SM9等 。结合国家密码算法,从硬盘固件安全和数据安全两个方面出发,可以一定程度确保整个数据存储系统的安全 。
下面先简述几种常用国密算法的基本原理和应用场景,再从固件安全和数据安全两个方面,详细介绍国密算法在对应安全节点的具体应用 。
几种常用的国密算法
国密算法在数据存储中的安全应用

文章插图
 
一系列国密算法中每个算法都有其独特的用途,有些用于大量数据的加解密,有些用于身份的认证,有些用于防止数据被篡改 。这些算法的安全性经过大量的论证,并基于现代密码学的原理,逐步公开算法的具体实现,任何单位和个人都可以使用国密算法来保护自己的信息安全,其中应用最多最广的是SM2、SM3、SM4算法 。
SM2算法是一种基于椭圆曲线的非对称密码算法,即使用私钥加密后的密文只能用对应公钥进行解密,反之使用公钥加密的密文也只能用对应的私钥进行解密 。通过对私钥进行椭圆曲线运算可以生成公钥,而由于椭圆曲线的特点,知道公钥却很难反推出私钥,这就决定了SM2算法的安全性 。SM2算法最常见的应用是进行身份认证,也就是我们熟知的数字签名与验签,通过私钥的私密性来实现身份的唯一性和合法性 。
国密算法在数据存储中的安全应用

文章插图
 

国密算法在数据存储中的安全应用

文章插图
 
SM3算法是一种杂凑算法,任意长度的数据进过SM3算法后会生成长度固定为256bit的摘要 。SM3算法的逆运算在数学上是不可实现的,即通过256bit的摘要无法反推出原数据的内容,因此在信息安全领域内常用SM3算法对信息的完整性进行度量 。
国密算法在数据存储中的安全应用

文章插图
 
SM4算法是一种对称密码算法,它以128bit为一组进行加解密 。密钥也固定为128bit,使用某一密钥加密后的密文只能用该密钥解密出明文,故而称为对称加密 。SM4算法采用32轮非线性迭代实现,加解密速度较快,常应用于大量数据的加密,保存在存储介质上的用户数据往往就使用SM4算法进行加密保护 。
国密算法在固件安全中的应用固件控制着整个存储系统的正常运行,倘若非法人员可以随意导入固件、修改固件,那么数据也将完全暴露,因此保护数据存储安全的首要一点就是要确保固件在导入、保存和执行过程中的安全 。
在固件导入过程中使用SM2算法进行验签,其中用到的公钥保存在主控芯片内部,私钥由受信用的固件厂商保存 。对于要导入的固件,需要使用私钥对其进行签名,将签名和固件一起导入到盘片,带有签名的固件下载到缓存RAM后,再用公钥进行SM2验签 。只有使用合法私钥签名的固件才能通过验签,成功导入,没有签名或者使用非法私钥签名的固件无法通过验签而被丢弃 。如此,拥有合法私钥的用户才拥有固件的导入权限,从源头上确保了盘片内部固件的合法性 。
国密算法在数据存储中的安全应用

文章插图
 
国密算法在数据安全中的应用
国密算法在数据存储中的安全应用

文章插图
 
以固态硬盘为例,用户数据由主机写入到硬盘的流程如上图所示,虚线部分为国密算法在数据安全中的应用 。若用户数据的明文直接保存在存储介质上,那么只要拿到存储数据的存储介质,就能以一定的途径获取到其中存储的用户数据,比如换上其它的主控芯片、对存储介质上的电平进行分析等 。我们可以在数据读写路径上加上一道门锁——SM4加解密:数据由主机传输到缓存RAM的过程中,使用SM4 算法加密,写入到缓存上的就是密文,并最终以密文的形式保存在存储介质Flash上;读取数据时再解密出明文返回给主机 。


推荐阅读