CN110096909B - 一种保证efuse秘钥稳定性的方法及其系统 - Google Patents

一种保证efuse秘钥稳定性的方法及其系统 Download PDF

Info

Publication number
CN110096909B
CN110096909B CN201910317759.5A CN201910317759A CN110096909B CN 110096909 B CN110096909 B CN 110096909B CN 201910317759 A CN201910317759 A CN 201910317759A CN 110096909 B CN110096909 B CN 110096909B
Authority
CN
China
Prior art keywords
key
efuse
bootloader
value
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910317759.5A
Other languages
English (en)
Other versions
CN110096909A (zh
Inventor
杨志佳
冯元元
周强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Union Memory Information System Co Ltd
Original Assignee
Shenzhen Union Memory Information System Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Union Memory Information System Co Ltd filed Critical Shenzhen Union Memory Information System Co Ltd
Priority to CN201910317759.5A priority Critical patent/CN110096909B/zh
Publication of CN110096909A publication Critical patent/CN110096909A/zh
Application granted granted Critical
Publication of CN110096909B publication Critical patent/CN110096909B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种保证EFUSE秘钥稳定性的方法及其系统;其中,方法,包括:S1,芯片上电,Bootrom运行;S2,读取EFUSE中的秘钥信息,获取出厂前设置的秘钥key;S3,从Flash中读取Bootloader固件;S4,使用秘钥key对密文的bootloader文件进行解密,生成明文的bootloader文件;S5,对明文的bootloader文件做CRC校验;S6,判断校验是否通过;S7,解析header存放的256bit随机数X和256bit校验数据Y,并对X和Y做异或计算得到Z值;S8,比较Z值和Key的值,记录EFUSE出错的比特位,将出错的比特位信息写到EFUSE的冗余信息中;S9,芯片复位,控制器重新运行BootRom;S10,Bootloader正常运行。本发明利用异或校验的方式,定位EFUSE秘钥出错位置,对出错的EFUSE秘钥进行纠错,保证EFUSE秘钥的稳定性,确保固态硬盘能够正常运行。

Description

一种保证EFUSE秘钥稳定性的方法及其系统
技术领域
本发明涉及固态硬盘秘钥技术领域,更具体地说是指一种保证EFUSE秘钥稳定性的方法及其系统。
背景技术
通常,固态硬盘控制器Efuse中保存有关键的秘钥信息,而现有秘钥处理存在以下弊端:1、一旦Efuse中秘钥的某个比特位出现翻转,秘钥便会出错,整个芯片无法正常工作;2、没有利用EFUSE硬件的冗余位纠错功能,对保存在EFUSE中的秘钥没有可靠的纠错方案;因此,无法满足需求。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种保证EFUSE秘钥稳定性的方法及其系统。
为实现上述目的,本发明采用于下技术方案:
一种保证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正常运行。
其进一步技术方案为:所述秘钥key为打包工具随机生成256bit的随机数。
其进一步技术方案为:所述Bootloader固件采用打包工具再随机生成256bit的随机数X,用于秘钥key的纠错处理,由Y=key⊕X异或公式计算出256bit的校验数据Y,将秘钥Key写到SSD控制器芯片的EFUSE中,打包工具打包bootloader,对bootloader做CRC计算,并将生成的CRC值、随机数X和校验数据Y值写到bootloader固件的header中。
其进一步技术方案为:所述S7包括:
S71,解析明文的bootloader文件中header存放的256bit随机数X和256bit校验数据Y;
S72,对X和Y做异或计算得到Z值。
其进一步技术方案为:所述Z值=X⊕Y,⊕为异或符。
其进一步技术方案为:所述S8包括:
S81,比较Z值和Key的值,记录EFUSE出错的比特位;
S82,将出错的比特位信息写到EFUSE的冗余信息中。
一种保证EFUSE秘钥稳定性的系统,包括:上电单元,获取单元,读取单元,解密单元,校验单元,判断单元,解析计算单元,比较写单元,复位单元,及运行单元;
所述上电单元,用于芯片上电,Bootrom运行;
所述获取单元,用于读取EFUSE中的秘钥信息,获取出厂前设置的秘钥key;
所述读取单元,用于从Flash中读取Bootloader固件,Bootloader固件包括头文件和密文的bootloader文件;
所述解密单元,用于使用秘钥key对密文的bootloader文件进行解密,生成明文的bootloader文件;
所述校验单元,用于对明文的bootloader文件做CRC校验;
所述判断单元,用于判断校验是否通过;
所述解析计算单元,用于解析明文的bootloader文件中header存放的256bit随机数X和256bit校验数据Y,并对X和Y做异或计算得到Z值;
所述比较写单元,用于比较Z值和Key的值,记录EFUSE出错的比特位,将出错的比特位信息写到EFUSE的冗余信息中;
所述复位单元,用于芯片复位,控制器重新运行BootRom;
所述运行单元,用于Bootloader正常运行。
其进一步技术方案为:所述秘钥key为打包工具随机生成256bit的随机数;所述Bootloader固件采用打包工具再随机生成256bit的随机数X,用于秘钥key的纠错处理,由Y=key⊕X异或公式计算出256bit的校验数据Y,将秘钥Key写到SSD控制器芯片的EFUSE中,打包工具打包bootloader,对bootloader做CRC计算,并将生成的CRC值、随机数X和校验数据Y值写到bootloader固件的header中;所述Z值=X⊕Y,⊕为异或符。
其进一步技术方案为:所述解析计算单元包括解析模块和计算模块;
所述解析模块,用于解析明文的bootloader文件中header存放的256bit随机数X和256bit校验数据Y;
所述计算模块,用于对X和Y做异或计算得到Z值。
其进一步技术方案为:所述比较写单元包括比较模块和写模块;
所述比较模块,用于比较Z值和Key的值,记录EFUSE出错的比特位;
所述写模块,用于将出错的比特位信息写到EFUSE的冗余信息中。
本发明与现有技术相比的有益效果是:利用异或校验的方式,定位EFUSE秘钥出错位置,对出错的EFUSE秘钥进行纠错,保证EFUSE秘钥的稳定性,确保固态硬盘能够正常运行,更好地满足需求。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
图1为现有控制器利用秘钥安全加载Bootloader的流程示意图;
图2为本发明一种保证EFUSE秘钥稳定性的方法流程图;
图3为本发明一种保证EFUSE秘钥稳定性的系统方框图。
10 上电单元 20 获取单元
30 读取单元 40 解密单元
50 校验单元 60 判断单元
70 解析计算单元 71 解析模块
72 计算模块 80 比较写单元
81 比较模块 82 写模块
90 复位单元 100 运行单元
具体实施方式
为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案进一步介绍和说明,但不局限于此。
如图1到图3所示的具体实施例,其中,如图1所示的现有技术;芯片上电后,Bootrom会从EFUSE中读取秘钥,再使用该秘钥解密flash中读取的密文bootloader,获取明文bootloader之后,对其做CRC校验,验证bootloader是否解密成功;若成功,bootloader则正常运行;若失败,控制器便加载失败,bootloader无法正常运行。通常Bootrom运行后,控制器会从EFUSE中的固定位置读取秘钥信息,随着EFUSE使用时间的变长,EFUSE可能会出现比特位翻转的情况,由于EFUSE具有一次性可编程的特性,无法更改,一旦出错,控制器便无法正常工作。
上述秘钥处理流程存在以下弊端:1、一旦Efuse中秘钥的某个比特位出现翻转,秘钥便会出错,整个芯片无法正常工作;2、没有利用EFUSE硬件的冗余位纠错功能,对保存在EFUSE中的秘钥没有可靠的纠错方案。
其中,在本发明中,各英文名词解释如下:
EFUSE:一次性可编程存储器;Bootloader:用于加载多核固件的工程;Flash:一种非易失性存储半导体;Bootrom:固化在控制器内部,用于控制器正常启动的代码。
如图2所示,本发明公开了一种保证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正常运行。
其中,在S6中,对S5中计算校验得到的CRC值与header中的CRC值做比较判断;若一致,则执行S10;若不一致,则执行S7。
其中,所述秘钥key为打包工具随机生成256bit的随机数,作为秘钥key。
其中,所述Bootloader固件采用打包工具再随机生成256bit的随机数X,用于秘钥key的纠错处理,由Y=key⊕X异或公式计算出256bit的校验数据Y,将秘钥Key写到SSD控制器芯片的EFUSE中,打包工具打包bootloader,对bootloader做CRC计算,并将生成的CRC值、随机数X和校验数据Y值写到bootloader固件的header中,还将Bootloader固件写到Flash中。
其中,所述S7包括:
S71,解析明文的bootloader文件中header存放的256bit随机数X和256bit校验数据Y;
S72,对X和Y做异或计算得到Z值。
其中,所述Z值=X⊕Y,⊕为异或符。
其中,所述S8包括:
S81,比较Z值和Key的值,记录EFUSE出错的比特位;
S82,将出错的比特位信息写到EFUSE的冗余信息中。
本发明的固态硬盘控制器在出厂前,需要在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中。
本发明新增加了秘钥纠错机制,一旦EFUSE中的秘钥出错,便会根据header中的256bit随机数X和256bit校验数据Y计算出EFUSE中秘钥的具体出错位置,再将具体出错信息写入EFUSE的冗余信息位中,控制器再去读取EFUSE时,硬件会根据冗余位中的纠错信息对EFUSE读取的值做纠正,通过此方法便达到了纠正Efuse中秘钥的效果。
如图3所示,本发明公开了一种保证EFUSE秘钥稳定性的系统,包括:上电单元10,获取单元20,读取单元30,解密单元40,校验单元50,判断单元60,解析计算单元70,比较写单元80,复位单元90,及运行单元100;
所述上电单元10,用于芯片上电,Bootrom运行;
所述获取单元20,用于读取EFUSE中的秘钥信息,获取出厂前设置的秘钥key;
所述读取单元30,用于从Flash中读取Bootloader固件,Bootloader固件包括头文件和密文的bootloader文件;
所述解密单元40,用于使用秘钥key对密文的bootloader文件进行解密,生成明文的bootloader文件;
所述校验单元50,用于对明文的bootloader文件做CRC校验;
所述判断单元60,用于判断校验是否通过;
所述解析计算单元70,用于解析明文的bootloader文件中header存放的256bit随机数X和256bit校验数据Y,并对X和Y做异或计算得到Z值;
所述比较写单元80,用于比较Z值和Key的值,记录EFUSE出错的比特位,将出错的比特位信息写到EFUSE的冗余信息中;
所述复位单元90,用于芯片复位,控制器重新运行BootRom;
所述运行单元100,用于Bootloader正常运行。
其中,所述秘钥key为打包工具随机生成256bit的随机数;所述Bootloader固件采用打包工具再随机生成256bit的随机数X,用于秘钥key的纠错处理,由Y=key⊕X异或公式计算出256bit的校验数据Y,将秘钥Key写到SSD控制器芯片的EFUSE中,打包工具打包bootloader,对bootloader做CRC计算,并将生成的CRC值、随机数X和校验数据Y值写到bootloader固件的header中;所述Z值=X⊕Y,⊕为异或符。
其中,所述解析计算单元70包括解析模块71和计算模块72;
所述解析模块71,用于解析明文的bootloader文件中header存放的256bit随机数X和256bit校验数据Y;
所述计算模块72,用于对X和Y做异或计算得到Z值。
其中,所述比较写单元80包括比较模块81和写模块82;
所述比较模块81,用于比较Z值和Key的值,记录EFUSE出错的比特位;
所述写模块82,用于将出错的比特位信息写到EFUSE的冗余信息中。
本发明的控制器利用异或校验相关的256bit随机数和256bit校验数据计算出正确的秘钥,与EFUSE中的秘钥做比较,确定EFUSE中秘钥的具体出错位置,将出错信息写入EFUSE的冗余信息中,控制器再去读取EFUSE时,硬件根据冗余位中的纠错信息对EFUSE读取的值做纠正,保证控制器每次读取EFUSE中的秘钥获取的值都是正确的。
综上所述,利用异或校验的方式,定位EFUSE秘钥出错位置,对出错的EFUSE秘钥进行纠错,保证EFUSE秘钥的稳定性,确保固态硬盘能够正常运行,更好地满足需求。
上述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。

Claims (10)

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的冗余信息中。
7.一种保证EFUSE秘钥稳定性的系统,其特征在于,包括:上电单元,获取单元,读取单元,解密单元,校验单元,判断单元,解析计算单元,比较写单元,复位单元,及运行单元;
所述上电单元,用于芯片上电,Bootrom运行;
所述获取单元,用于读取EFUSE中的秘钥信息,获取出厂前设置的秘钥key;
所述读取单元,用于从Flash中读取Bootloader固件,Bootloader固件包括头文件和密文的bootloader文件;
所述解密单元,用于使用秘钥key对密文的bootloader文件进行解密,生成明文的bootloader文件;
所述校验单元,用于对明文的bootloader文件做CRC校验;
所述判断单元,用于判断校验是否通过;
所述解析计算单元,用于 解析明文的bootloader文件中header存放的256bit随机数X和256bit校验数据Y,并对X和Y做异或计算得到Z值;
所述比较写单元,用于比较Z值和Key的值,记录EFUSE出错的比特位,将出错的比特位信息写到EFUSE的冗余信息中;
所述复位单元,用于芯片复位,控制器重新运行BootRom;
所述运行单元,用于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中。
8.根据权利要求7所述的一种保证EFUSE秘钥稳定性的系统,其特征在于,所述秘钥key为打包工具随机生成256bit的随机数;所述Bootloader固件采用打包工具再随机生成256bit的随机数X,用于秘钥key的纠错处理,由Y=key⊕X异或公式计算出256bit的校验数据Y,将秘钥Key写到SSD控制器芯片的EFUSE中,打包工具打包bootloader,对bootloader做CRC计算,并将生成的CRC值、随机数X和校验数据Y值写到bootloader固件的header中;所述Z值=X⊕Y,⊕为异或符。
9.根据权利要求7所述的一种保证EFUSE秘钥稳定性的系统,其特征在于,所述解析计算单元包括解析模块和计算模块;
所述解析模块,用于 解析明文的bootloader文件中header存放的256bit随机数X和256bit校验数据Y;
所述计算模块,用于对X和Y做异或计算得到Z值。
10.根据权利要求7所述的一种保证EFUSE秘钥稳定性的系统,其特征在于,所述比较写单元包括比较模块和写模块;
所述比较模块,用于比较Z值和Key的值,记录EFUSE出错的比特位;
所述写模块,用于将出错的比特位信息写到EFUSE的冗余信息中。
CN201910317759.5A 2019-04-19 2019-04-19 一种保证efuse秘钥稳定性的方法及其系统 Active CN110096909B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910317759.5A CN110096909B (zh) 2019-04-19 2019-04-19 一种保证efuse秘钥稳定性的方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910317759.5A CN110096909B (zh) 2019-04-19 2019-04-19 一种保证efuse秘钥稳定性的方法及其系统

Publications (2)

Publication Number Publication Date
CN110096909A CN110096909A (zh) 2019-08-06
CN110096909B true CN110096909B (zh) 2021-04-20

Family

ID=67445290

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910317759.5A Active CN110096909B (zh) 2019-04-19 2019-04-19 一种保证efuse秘钥稳定性的方法及其系统

Country Status (1)

Country Link
CN (1) CN110096909B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115208554B (zh) * 2022-09-13 2022-12-13 三未信安科技股份有限公司 一种密钥自校验、自纠错、自恢复的管理方法及系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5898711A (en) * 1997-05-15 1999-04-27 Vlsi Technology, Inc. Single event upset detection and protection in an integrated circuit
CN101281481B (zh) * 2008-05-23 2010-06-16 北京时代民芯科技有限公司 一种存储器抗单粒子翻转的纠错检错方法
US8661315B2 (en) * 2009-10-07 2014-02-25 Mediatek Inc. Efuse devices, correction methods thereof, and methods for operating efuse devices
US20120079349A1 (en) * 2010-09-24 2012-03-29 Arkady Bramnik Method and apparatus for multi-bit upset protection
CN101944051A (zh) * 2010-09-29 2011-01-12 山东大学 片上多备份的高可靠嵌入式系统固件及其工作方法
US8378711B2 (en) * 2011-03-01 2013-02-19 Stmicroelectronics S.R.L. Detection of single bit upset at dynamic logic due to soft error in real time
CN102546149B (zh) * 2012-01-16 2014-12-03 华南理工大学 一种密码芯片系统及密钥提取方法
CN103164789A (zh) * 2013-03-06 2013-06-19 福州瑞芯微电子有限公司 一种带安全校验的debug电路结构及其实现方法
CN106328209B (zh) * 2015-06-30 2020-01-21 中国科学院电子学研究所 存储器单粒子多位翻转容错方法及电路
CN105681032B (zh) * 2016-01-08 2017-09-12 腾讯科技(深圳)有限公司 密钥存储方法、密钥管理方法及装置
CN108021812B (zh) * 2016-10-28 2020-08-18 深圳市中兴微电子技术有限公司 一种芯片的安全启动方法及装置
CN107894898A (zh) * 2017-11-28 2018-04-10 中科亿海微电子科技(苏州)有限公司 Sram型fpga片上刷新和纠错的装置、实现方法及fpga芯片
CN109542668B (zh) * 2018-10-29 2021-11-23 百富计算机技术(深圳)有限公司 基于nand flash存储器的校验方法、终端设备及存储介质

Also Published As

Publication number Publication date
CN110096909A (zh) 2019-08-06

Similar Documents

Publication Publication Date Title
US10019312B2 (en) Error monitoring of a memory device containing embedded error correction
CN1794628B (zh) 生成密钥的装置和方法
US8341500B2 (en) Detecting corrupted data for a system having non-volatile memory
US7774615B2 (en) Integrity control of a memory external to a processor
US9940457B2 (en) Detecting a cryogenic attack on a memory device with embedded error correction
US9110822B2 (en) Method and device for write abort protection
CA2588858A1 (en) System and method for efficient uncorrectable error detection in flash memory
US11861012B2 (en) Memory device having safety boot capability
KR20110012061A (ko) Ecc 회로를 포함하는 반도체 메모리 시스템 및 그 제어 방법
US8171378B2 (en) Flash memory system having encrypted error correction code and encryption method for flash memory system
US11328098B2 (en) Electronic circuit
US20100194609A1 (en) Method and Device For Coding Data Words
CN110096909B (zh) 一种保证efuse秘钥稳定性的方法及其系统
US20080263422A1 (en) Control of the integrity of a memory external to a microprocessor
US9471413B2 (en) Memory device with secure test mode
KR20070005509A (ko) 데이터 워드 처리 장치 및 방법, 암호화 데이터 워드 처리장치 및 방법, 데이터세트의 안전 처리 시스템 및 컴퓨터프로그램을 구비한 컴퓨터 판독가능한 기억 매체
CN105095011B (zh) 数据处理方法、存储器控制电路单元以及存储器存储装置
JP2009295252A (ja) 半導体記憶装置及びそのエラー訂正方法
US10698841B2 (en) Semiconductor storage device, memory controller, and method for monitoring memory
US20150249467A1 (en) Storage device, controller, and data writing method
US20090024887A1 (en) Semiconductor storage device, data write method and data read method
TWI529736B (zh) 記憶裝置的測試方法及系統
CN103198269B (zh) 防失败的密钥保存系统
US20240184668A1 (en) Managing status output
EP2945092B1 (en) Memory device with secure test mode

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant