以上所述的加密过程对用户是完全透明的,用户完全感知不到加解密过程的存在 。为确保明文数据只对授权用户可见,需要对加解密数据的密钥——介质密钥(MKey)进行保护,将其与授权用户关联起来 。一种简单的关联方式如下图所示,一方面使用SM3算法对用户口令进行杂凑生成口令摘要,保存口令摘要用于身份鉴权;另一方面,对用户口令进行派生构造加密密钥(EKey),对介质密钥进行加密保存 。这个过程主要有以下三个方面:
创建——如上图所示,用户创建自己口令的同时,会生成取自口令摘要的加密密钥EKey和取自真随机数的介质密钥MKey;通过SM4算法将MKey用EKey加密;最终将口令摘要和MKey密文保存在Flash上 。
鉴权——创建用户口令后再次上电,鉴权之前,由于无法获取MKey而使盘片处于锁定状态 。鉴权的过程即时将输入的用户口令使用SM3算法进行杂凑得到一份摘要,再从Flash上加载出保存的口令摘要,两份摘要相同则认为用户身份合法,反之不同则不合法 。
解锁——输入正确的用户口令,通过身份鉴权之后,才能构造出正确的EKey,解密出MKey明文,进而对读写的数据进行正常的加解密,实现盘片的解锁,如上图所示 。
这个关联过程也叫做密钥管理过程,上面介绍的仅仅是一个基本思路,事实上在实际使用过程中,往往采用密钥多级加密方式,也往往会在这个过程中加入一些真随机数,来确保鉴权的有效性和介质密钥的私密性 。
综上所述,对用户数据的直接保护也使用了两道门锁——一道是对数据的输入和输出加上SM4加解密,确保存储的用户数据是密文;另一道是对介质密钥加上SM3和SM4算法,确保介质密钥直接与可信用户关联,进而实现了用户数据明文只有可信用户唯一可见 。
结语
SM2、SM3、SM4算法,从固件安全和数据安全两个维度,为数据存储安全建立了一道坚实的保护墙 。将自主研发的国家商用密码算法应用到数据存储安全,是顺应了国产化需求的,也是实现数据安全自主可控道路上重要的一步 。
【国密算法在数据存储中的安全应用】
推荐阅读
- 千牛超级店长怎么关闭 千牛超级店长收费吗
- 淘宝开店具备什么条件 现在个人开淘宝店有什么要求
- Excel多条件查找文本的方法
- 无奶油蛋挞液的做法 无奶油蛋挞液的做法
- 冻海鱼的做法大全家常
- 吃斋和吃素的区别
- 吃素食会瘦吗
- 淘宝店铺跳失率高怎么办 淘宝跳失率在哪里看数据
- 杭白菊产地在哪里,杭白菊决明子保健茶宫廷秘方
- 四川省|盲僧在英雄联盟职业比赛的地位
