[发明专利]一种保证EFUSE秘钥稳定性的方法及其系统有效
申请号: | 201910317759.5 | 申请日: | 2019-04-19 |
公开(公告)号: | CN110096909B | 公开(公告)日: | 2021-04-20 |
发明(设计)人: | 杨志佳;冯元元;周强 | 申请(专利权)人: | 深圳忆联信息系统有限公司 |
主分类号: | G06F21/78 | 分类号: | G06F21/78;G06F21/57;G06F21/60;G06F11/10;H04L9/08 |
代理公司: | 深圳市精英专利事务所 44242 | 代理人: | 冯筠 |
地址: | 518067 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 保证 efuse 稳定性 方法 及其 系统 | ||
1.一种保证EFUSE秘钥稳定性的方法,其特征在于,包括以下步骤:
S1,芯片上电,Bootrom运行;
S2,读取EFUSE中的秘钥信息,获取出厂前设置的秘钥key;
S3,从Flash中读取Bootloader固件,Bootloader固件包括头文件和密文的bootloader文件;
S4,使用秘钥key对密文的bootloader文件进行解密,生成明文的bootloader文件;
S5,对明文的bootloader文件做CRC校验;
S6,判断校验是否通过;若是,进入S10;若否,则进入S7;
S7, 解析明文的bootloader文件中header存放的256bit随机数X和256bit校验数据Y,并对X和Y做异或计算得到Z值;
S8,比较Z值和Key的值,记录EFUSE出错的比特位,将出错的比特位信息写到EFUSE的冗余信息中;
S9,芯片复位,控制器重新运行BootRom,返回S1;
S10,Bootloader正常运行;
其中,固态硬盘控制器在出厂前,需要在header中注入与秘钥相关的256bit随机数X和256bit校验数据Y,其中校验数据Y=key⊕X,⊕为异或符;一旦EFUSE中的key出错,正确的Z值可通过以下方式计算得出:Z值=X⊕Y,比较Z值和key的值不同的地方,便可判断出EFUSE秘钥的具体出错位置,将出错信息写入EFUSE的冗余信息中,控制器再去读取EFUSE时,硬件便会根据冗余位中的纠错信息对EFUSE读取的值做纠正;
其中,SSD控制器出厂前设置流程如下:
1、打包工具随机生成256bit的随机数,作为秘钥key;2、打包工具再随机生成256bit的随机数X,用于秘钥key的纠错处理;3、通过Y=key⊕X异或公式计算出256bit的校验数据Y;4、将秘钥Key写到SSD控制器芯片的EFUSE中;5、打包工具打包Bootloader,对Bootloader做CRC计算,将生成的CRC值、随机数X和校验数据Y值写到Bootloader固件的header中;6、将Bootloader固件写到Flash中。
2.根据权利要求1所述的一种保证EFUSE秘钥稳定性的方法,其特征在于,所述秘钥key为打包工具随机生成256bit的随机数。
3.根据权利要求2所述的一种保证EFUSE秘钥稳定性的方法,其特征在于,所述Bootloader固件采用打包工具再随机生成256bit的随机数X,用于秘钥key的纠错处理,由Y=key⊕X异或公式计算出256bit的校验数据Y,将秘钥Key写到SSD控制器芯片的EFUSE中,打包工具打包bootloader,对bootloader做CRC计算,并将生成的CRC值、随机数X和校验数据Y值写到bootloader固件的header中。
4.根据权利要求1所述的一种保证EFUSE秘钥稳定性的方法,其特征在于,所述S7包括:
S71,解析明文的bootloader文件中header存放的256bit随机数X和256bit校验数据Y;
S72,对X和Y做异或计算得到Z值。
5.根据权利要求4所述的一种保证EFUSE秘钥稳定性的方法,其特征在于,所述Z值=X⊕Y,⊕为异或符。
6.根据权利要求1所述的一种保证EFUSE秘钥稳定性的方法,其特征在于,所述S8包括:
S81,比较Z值和Key的值,记录EFUSE出错的比特位;
S82,将出错的比特位信息写到EFUSE的冗余信息中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳忆联信息系统有限公司,未经深圳忆联信息系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910317759.5/1.html,转载请声明来源钻瓜专利网。