Otp寄存器中的芯片标识符读写方法_3

文档序号:8261387阅读:来源:国知局
ightManage数字权利管理,是一种包括加解密以及密钥管理实现保密功能(Security)的硬件)读出OTP寄存器中的ID时,经过SHA加密,可以分为用户设定的ID和厂商设定的ID两种情况,体现在hardware_sel [1:0](这两位可以是00/01/10/11,对应4种功能选择,分别对应CustomlD/DevelopID和自测试等功能)。具体地址在DRM(Security)的偏移量0x0100 [4:3]处(系统软件可以配置这个地址,改变hardware_sel,实现不同功能),2’ blO是读出用户设定的ID, 2’ bll是读出厂商设定的ID。通过SHA160处理,达到散列杂凑的目的。
[0080]对系统而言,无论是厂商设定的ID [143:0]还是用户设定的ID [31:0]都不是OTP寄存器保存的数据,软件读出的结果都是经过了 SHA加密的结果。用户在上层系统一次性写入用户设定的ID为0xF66FAA55以后,每次读到的用户设定的ID为0x58604ad7。
[0081]至此,整个芯片标识符的读写过程结束。
[0082]与现有技术相比,本发明中芯片标识符在写入到OTP寄存器之前会把接收到的芯片标识符保存在临时寄存器中,当临时寄存器中的芯片标识符被犹取后系统就会自动刷白销毁临时寄存器中的数据,有效的保护了芯片标识符的安全,防止被非法盗取。另外,本发明中写入到OTP寄存器的芯片标识符是经过SHA运算后得到的加密的芯片标识符,该加密的芯片标识符与上述待写入到OTP寄存器中的芯片标识符不同,因此可以对待写入到OTP寄存器中的芯片标识符进行加密保护,防止被破解;并且,从OTP寄存器中读取这个加密的芯片标识符时还会经过一次SHA的运算,使最终显示给用户的芯片标识符经过两次加密处理,上述显示给用户的芯片标识符跟写入到OTP寄存器中的已经加密的芯片标识符也不相同,这样就对待写入到OTP寄存器中的芯片标识符作了进一步的加密保护。由于SHA的运算过程是单向不可逆的,所以即使是黑客也很难根据最终显示给用户的芯片标识符来逆向推断出OTP寄存器里面真实的芯片标识符。另外,SHA是把不定长度的一串消息,加以特定的算法处理,得到固定长度的数据,这个数据在理论上破解很困难,工程实现也是不可能的,所以本发明中的芯片标识符也是唯一的,不可复制的。
[0083]上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
[0084]本发明的第二实施方式涉及一种OTP寄存器中的芯片标识符读写方法。第二实施方式与第一实施方式大致相同,主要区别之处在于:在第一实施方式中,经过步骤204,使用SHA算法对从临时寄存器中获取的芯片标识符进行运算加密后,就直接进入步骤205的写入OTP寄存器的动作。而在本发明第二实施方式中,经过步骤204后,系统还可加一个检测装置,如图6所示。这个检测装置用来检测SHA运算是否正确,如果检测结果正确,就直接进入步骤205,如果检测结果不正确,则不会进入步骤205,而是提示用户运算错误,同时还会出现错误提示,提示用户修改相关参数,增加了本实施例的可操作性。
[0085]本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
【主权项】
1.一种一次性编程OTP寄存器中的芯片标识符读写方法,其特征在于,包含以下步骤: 接收用于待写入到一次性编程OTP寄存器中的芯片标识符;其中,接收的芯片标识符保存在临时寄存器中; 获取保存在所述临时寄存器中的芯片标识符; 对所述获取的芯片标识符进行安全散列算法SHA的运算,得到经所述SHA加密后的芯片标识符; 将经所述SHA加密后的芯片标识符写入到所述OTP寄存器中的设定地址内; 在从所述OTP寄存器中读出所述芯片标识符时,获取所述OTP寄存器中所述设定地址内的数据; 将所述获取的数据进行SHA的运算,得到经所述SHA加密后的读取数据; 将经所述SHA加密后的读取数据显示给用户; 其中,在获取保存在所述临时寄存器中的芯片标识符之后,销毁所述临时寄存器中保存的数据。
2.根据权利要求1所述的OTP寄存器中的芯片标识符读写方法,其特征在于,在所述将待写入到OTP寄存器中的芯片标识符,进行SHA的运算之前,还包含以下步骤: 将所述待写入到OTP寄存器中的芯片标识符作为第一字段,在所述第一字段后的第二字段用于存放停止位,在所述第二字段后的第三字段为填充字段,所述填充字段中的各比特位填充为O ; 在所述第三字段后的第四字段用于指示所述第一字段占用的比特位数; 所述第一字段、第二字段、第三字段和第四字段的比特长度总和为512位比特; 在所述将待写入到OTP寄存器中的芯片标识符,进行SHA的运算的步骤中,将所述第一字段、第二字段、第三字段和第四字段组成的512位比特,进行所述SHA的运算。
3.根据权利要求1所述的OTP寄存器中的芯片标识符读写方法,其特征在于,在将所述获取的数据进行SHA的运算,得到经所述SHA加密后的读取数据的步骤之前,还包含以下步骤: 将所述获取的数据作为第一字段,在所述第一字段后的第二字段用于存放停止位,在所述第二字段后的第三字段为填充字段,所述填充字段中的各比特位填充为O ; 在所述第三字段后的第四字段用于指示所述第一字段占用的比特位数; 所述第一字段、第二字段、第三字段和第四字段的比特长度总和为512位比特; 在将所述获取的数据进行SHA的运算,得到经所述SHA加密后的读取数据的步骤中,将所述第一字段、第二字段、第三字段和第四字段组成的512位比特,进行所述SHA的运算。
4.根据权利要求1所述的OTP寄存器中的芯片标识符读写方法,其特征在于, 所述芯片标识符包含用户设定的ID和厂商设定的ID。
5.根据权利要求4所述的OTP寄存器中的芯片标识符读写方法,其特征在于,通过系统接口获取所述用户设定的ID和厂商设定的ID。
6.根据权利要求4所述的OTP寄存器中的芯片标识符读写方法,其特征在于,所述临时寄存器有两个,分别用于保存所述用户设定的ID和厂商设定的ID。
7.根据权利要求4所述的OTP寄存器中的芯片标识符读写方法,其特征在于,将经所述SHA加密后的芯片标识符写入到所述OTP寄存器中的设定地址内的步骤中,包含以下子步骤: 在经所述SHA运算后得到的数据中,取低位的N个比特位,所述N为所述厂商设定的ID的比特长度; 将所述N个比特位写入到所述OTP寄存器中的用于存放厂商设定的ID的字段中;将所述N个比特位中的低位的NI个比特位写入到所述OTP寄存器中的用于存放用户设定的ID的字段中;其中,所述NI为所述用户设定的ID的比特长度。
8.根据权利要求1至7中任一项所述的OTP寄存器中的芯片标识符读写方法,其特征在于,在将经所述SHA加密后的芯片标识符写入到所述OTP寄存器中的设定地址内的步骤之前,还包含以下步骤: 通过软件对经所述SHA加密后的芯片标识符进行测试,判断所述加密是否成功,如果加密成功,则再进入所述将经所述SHA加密后的芯片标识符写入到所述OTP寄存器中的设定地址内的步骤。
9.根据权利要求1至7中任一项所述的OTP寄存器中的芯片标识符读写方法,其特征在于,所述OTP寄存器为以下任意一种类型的OTP寄存器: 烧断laser型OTP寄存器、熔断fuse型OTP寄存器、电子熔丝efuse型OTP寄存器。
10.根据权利要求9所述的OTP寄存器中的芯片标识符读写方法,其特征在于, 所述efuse型OTP寄存器包含耦合电容型的efuse寄存器、串联晶体管型的efuse寄存器和电介质击穿型的efuse寄存器。
【专利摘要】本发明涉及读写方法,公开了一种一次性编程OTP寄存器中的芯片标识符读写方法。本发明中将待写入到一次性编程OTP寄存器中的芯片标识符通过系统接口接收并保存在临时寄存器中,系统获取所述芯片标识符后会自动销毁之前保存的数据,之后对获取的芯片标识符进行安全散列算法SHA的运算加密,再将该加密后的芯片标识符写入到OTP寄存器中的设定地址内,在从OTP寄存器中读出芯片标识符时,再对上述加密后的芯片标识符进行SHA运算加密,最后用户得到经过两次加密后的芯片标识符。与现有技术相比,本发明中显示给用户的芯片标识符经过两次加密处理,因SHA的运算过程单向不可逆,即使是黑客也很难逆向推断出OTP寄存器里面真实保存的芯片标识符。
【IPC分类】G11C17-18
【公开号】CN104575609
【申请号】CN201310513218
【发明人】李林, 仲亚东, 夏建明
【申请人】上海华力创通半导体有限公司
【公开日】2015年4月29日
【申请日】2013年10月25日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1