加密读写芯片标识符的方法技术

技术编号:18445458 阅读:43 留言:0更新日期:2018-07-14 10:36
本发明专利技术提供一种加密读写芯片标识符的方法,包括:获取芯片标识符,芯片标识符至少包括按预定顺序排列的第一标识符和第二标识符;将芯片标识符按SM3进行加密运算,得到经SM3加密后的芯片标识符;将经SM3加密后的芯片标识符写入到芯片的OTP寄存器中的设定地址内;当要从OTP寄存器的设定地址内中读出数据时,自OTP寄存器中获取数据;将获取的数据按SM3进行加密运算,得到经SM3加密后的读取数据;提供经SM3加密后的读取数据。本发明专利技术提供的加密读写芯片标识符的方法通过使芯片标识符至少包含第一标识符和第二标识符,且第一标识符根据芯片特定掩模层图形的逻辑值获得,由此实现OTP寄存器可以得到唯一的芯片标识符,而且难以被逆向破解和非法复制。

A method of encrypting read and write chip identifiers

The invention provides a method for encrypting a read and write chip identifier, including: obtaining the chip identifier, the chip identifier at least including the first identifier and the second identifier arranged in a predetermined order; the chip identifier is encrypted by the SM3, and the chip identifier after the SM3 encryption is obtained; the chip mark after the SM3 is encrypted. The identifier is written to the set address in the OTP register of the chip; when the data is read from the set address of the OTP register, the data is obtained from the OTP register; the acquired data is encrypted by the SM3, and the read data after the SM3 encryption is obtained; and the read data after the SM3 encryption is provided. The method of an encrypted read write chip identifier provided by the present invention is obtained by making the chip identifier at least a first identifier and a second identifier, and the first identifier is obtained according to the logical value of the chip specific mask layer graphics, thus the OTP register can obtain a unique chip identifier, and is difficult to be converse to be cracked and illegal. Copy.

【技术实现步骤摘要】
加密读写芯片标识符的方法
本专利技术涉及半导体
,尤其涉及一种加密读写芯片标识符的方法。
技术介绍
随着嵌入式应用的越来越广泛,芯片产品的安全也显得越来越重要。一方面是为了保护硬件设计,另外一方面也是为了产品本身的安全,防止被黑客攻击(HACKED)。为了保护芯片中的数据,越来越多的厂商在芯片内部提供了一种特殊的寄存器:OTP寄存器(OneTimeProgrammable,一次性编程寄存器)。OTP寄存器是每位信息都是一次性写入,不可重写,掉电不丢失数据,可以反复读出数据。芯片标识符ChipID,又称设备唯一识别码DeviceUniqueKeys,是芯片安全性的核心技术,不可逆向解密或重复使用。为了实现“一芯一异”——每颗芯片都不同,芯片标识符的核心在于标识的唯一性。芯片标识符具有唯一性和不可更改的要求,所以目前通常都使用OTP寄存器来实现。实现机制包括eFuse/AntiFuse器件,目前的ChipID的写入和读出方法如图1所示:首先是步骤S101,设定ChipID;然后是步骤S102,把设定的ChipID写入到OTP寄存器;接着步骤S103,在需要读出ChipID时,从OTP寄存器中读出设定的ChipID;最后步骤S104,用户获取从OTP寄存器读出的设定的ChipID。通常步骤S102中把设定的ChipID写入到OTP寄存器是使用电子熔丝e-Fuse实现的,从硅片代工厂生产出来时,所有芯片都是同样的值,比如说16位0x0,当把设定的ChipID写入到OTP寄存器时后,芯片的值可以改成设定的ChipID,比如说是16位的0x1,最后一位改变了,最后系统读到的值就是步骤101中设定的ChipID。这个过程中芯片的外部虽然没有变化,但是由于e-Fuse对芯片的物理影响比较大,如果把这颗芯片解剖分析,就很容易发现改写的位,用光学显微镜就能很容易逆向分析破解这些ChipID。当然也可以把未写入设定的ChipID的芯片(对应ID为0x0)改写为0x1,实现复制拷贝。这样就对产品本身的安全性造成很大的威胁。
技术实现思路
本专利技术为了克服上述现有技术存在的缺陷,提供一种加密读写芯片标识符的方法,通过使芯片标识符至少包含第一标识符和第二标识符,且第一标识符根据芯片特定掩模层图形的逻辑值获得,由此实现OTP寄存器可以得到唯一的芯片标识符,而且难以被逆向破解和非法复制。SM3算法生成标识符符合国家安全标准,生成过程中分组后利于串行迭代计算,节省了逻辑电路资源。根据本专利技术的一个方面,提供一种加密读写芯片标识符的方法,包括:获取芯片标识符,所述芯片标识符至少包括按预定顺序排列的第一标识符和第二标识符,所述第一标识符通过读取芯片的特定掩模层图形的逻辑值获得;将所述芯片标识符按SM3进行加密运算,得到经所述SM3加密后的芯片标识符;将经所述SM3加密后的芯片标识符写入到芯片的OTP寄存器中的设定地址内,所述设定地址至少包括对应第一标识符的第一地址段和对应第二表示符的第二地址段,所述第一地址段和所述第二地址段的排序顺序与所述第一标识符和第二标识符的排序顺序相同;当要从所述OTP寄存器的设定地址内中读出数据时,按所述第一地址段和所述第二地址段的顺序自所述OTP寄存器中获取数据;将所述获取的数据按SM3进行加密运算,得到经所述SM3加密后的读取数据;提供经所述SM3加密后的读取数据。可选地,所述将所述芯片标识符按SM3进行加密运算,得到经所述SM3加密后的芯片标识符的步骤还包括:将所述芯片标识符扩展为待运算字段组,所述待运算字段组的比特位数总和为512的整数倍;对所述待运算字段组按SM3进行加密运算,得到经所述SM3加密后的芯片标识符。可选地,所述待运算字段组包括:第一字段,所述第一字段为所述待写入到OTP寄存器中的芯片标识符;第二字段,紧接于所述第一字段,所述第二字段的比特长度为1,且该比特位内填充1作为停止位;第三字段,紧接于所述第二字段,所述第三字段为填充字段,所述填充字段中的各比特位为0;第四字段,紧接于所述第三字段,第四字段用于指示所述第一字段占用的比特位数。可选地,所述第一字段至所述第三字段的比特位数总和与448模512同余,所述第四字段的比特位数总和为64位。可选地,将所述获取的数据按SM3进行加密运算,得到经所述SM3加密后的读取数据还包括:按与所述芯片标识符相同的方式,将所述获取的数据扩展为待运算字段组;对所述待运算字段组按SM3进行加密运算,得到经所述SM3加密后的读取数据。可选地,所述将经所述SM3加密后的芯片标识符写入到所述OTP寄存器中的设定地址内的步骤还包括:若经所述SM3加密后得到的数据的比特长度大于等于所述第一标识符的比特长度,则在经所述SM3加密后得到的数据中,取低N个比特位作为对应第一标识符的第一数据写入到所述OTP寄存器中第一地址段中,其中,所述N为所述第一标识符的比特长度;在所述第一数据中,取低N1个比特位作为对应第二标识符的第二数据写入到所述OTP寄存器中的第二地址段中,其中,所述N1为所述第二标识符的比特长度。可选地,所述将经所述SM3加密后的芯片标识符写入到所述OTP寄存器中的设定地址内的步骤还包括:若经所述SM3加密后得到的数据的比特长度小于所述第一标识符的比特长度,则将SM3的加密运算过程中生成的一个或多个中间数据与经所述SM3加密后得到的数据拼接直至拼接后的数据的比特长度大于等于所述第一标识符的比特长度;在经拼接后的数据中,取低N个比特位作为对应第一标识符的第一数据写入到所述OTP寄存器中第一地址段中,其中,所述N为所述第一标识符的比特长度;在所述第一数据中,取低N1个比特位作为对应第二标识符的第二数据写入到所述OTP寄存器中的第二地址段中,其中,所述N1为所述第二标识符的比特长度。可选地,所述第一标识符为厂商设定的标识符,所述第二标识符为用户设定的标识符。可选地,所述将所述芯片标识符按SM3进行加密运算,得到经所述SM3加密后的芯片标识符的步骤之后,所述将经所述SM3加密后的芯片标识符写入到芯片的OTP寄存器中的设定地址内的步骤之前,还包括:检测所述OTP寄存器中的设定地址是否已被编程写入过;若检测到所述设定地址尚未被编程写入过,则继续执行所述将经所述SM3加密后的芯片标识符写入到所述OTP寄存器中的设定地址内的步骤;若检测到所述设定地址已被编程写入过,则不执行所述将经所述SM3加密后的芯片标识符写入到所述OTP寄存器中的设定地址内的步骤,并报错。可选地,所述OTP寄存器为以下任意一种类型的OTP寄存器:烧断型、熔断型、电子熔丝型、反熔丝型OTP寄存器。本专利技术提供的加密读写芯片标识符的方法具有如下优势:1)通过使芯片标识符至少包含第一标识符和第二标识符,且第一标识符根据芯片特定掩模层图形的逻辑值获得,由此实现OTP寄存器可以得到唯一的芯片标识符,而且难以被逆向破解和非法复制;2)SM3算法生成标识符符合国家安全标准,生成过程中分组后利于串行迭代计算,节省了逻辑电路资源;3)此外,通过加密算法中多轮的中间数据,以级联的方式,实现中间数据和最终数据的拼接,以处理第一标识符比特长度较长的情况。同时,这样的实施方式拼接无论是最终数据还是中间数据,其值都是唯一且不可逆,因此,本文档来自技高网
...

【技术保护点】
1.一种加密读写芯片标识符的方法,其特征在于,包括:获取芯片标识符,所述芯片标识符至少包括按预定顺序排列的第一标识符和第二标识符,所述第一标识符通过读取芯片的特定掩模层图形的逻辑值获得;将所述芯片标识符按SM3进行加密运算,得到经所述SM3加密后的芯片标识符;将经所述SM3加密后的芯片标识符写入到芯片的OTP寄存器中的设定地址内,所述设定地址至少包括对应第一标识符的第一地址段和对应第二表示符的第二地址段,所述第一地址段和所述第二地址段的排序顺序与所述第一标识符和第二标识符的排序顺序相同;当要从所述OTP寄存器的设定地址内中读出数据时,按所述第一地址段和所述第二地址段的顺序自所述OTP寄存器中获取数据;将所述获取的数据按SM3进行加密运算,得到经所述SM3加密后的读取数据;提供经所述SM3加密后的读取数据。

【技术特征摘要】
1.一种加密读写芯片标识符的方法,其特征在于,包括:获取芯片标识符,所述芯片标识符至少包括按预定顺序排列的第一标识符和第二标识符,所述第一标识符通过读取芯片的特定掩模层图形的逻辑值获得;将所述芯片标识符按SM3进行加密运算,得到经所述SM3加密后的芯片标识符;将经所述SM3加密后的芯片标识符写入到芯片的OTP寄存器中的设定地址内,所述设定地址至少包括对应第一标识符的第一地址段和对应第二表示符的第二地址段,所述第一地址段和所述第二地址段的排序顺序与所述第一标识符和第二标识符的排序顺序相同;当要从所述OTP寄存器的设定地址内中读出数据时,按所述第一地址段和所述第二地址段的顺序自所述OTP寄存器中获取数据;将所述获取的数据按SM3进行加密运算,得到经所述SM3加密后的读取数据;提供经所述SM3加密后的读取数据。2.根据权利要求1所述的加密读写芯片标识符的方法,其特征在于,所述将所述芯片标识符按SM3进行加密运算,得到经所述SM3加密后的芯片标识符的步骤还包括:将所述芯片标识符扩展为待运算字段组,所述待运算字段组的比特位数总和为512的整数倍;对所述待运算字段组按SM3进行加密运算,得到经所述SM3加密后的芯片标识符。3.根据权利要求2所述的加密读写芯片标识符的方法,其特征在于,所述待运算字段组包括:第一字段,所述第一字段为所述待写入到OTP寄存器中的芯片标识符;第二字段,紧接于所述第一字段,所述第二字段的比特长度为1,且该比特位内填充1作为停止位;第三字段,紧接于所述第二字段,所述第三字段为填充字段,所述填充字段中的各比特位为0;第四字段,紧接于所述第三字段,第四字段用于指示所述第一字段占用的比特位数。4.根据权利要求3所述的加密读写芯片标识符的方法,其特征在于,所述第一字段至所述第三字段的比特位数总和与448模512同余,所述第四字段的比特位数总和为64位。5.根据权利要求2所述的加密读写芯片标识符的方法,其特征在于,将所述获取的数据按SM3进行加密运算,得到经所述SM3加密后的读取数据还包括:按与所述芯片标识符相同的方式,将所述获取的数据扩展为待运算字段组;对所述待运算字段组按SM3进行加密运算,得到经所述SM3加密后的读取数据。6.根据权利要求1所述的加密读写芯片标识符的方法,其特征在于,所述将经所述SM3加密后的芯片标...

【专利技术属性】
技术研发人员:李林傅豪温建新李琛李铭张远陈西昌
申请(专利权)人:上海集成电路研发中心有限公司成都微光集电科技有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1