一种芯片标识方法技术

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

【技术实现步骤摘要】
一种芯片标识方法
本专利技术涉及半导体
,尤其涉及一种芯片标识方法。
技术介绍
随着嵌入式应用的越来越广泛,芯片产品的安全也显得越来越重要。一方面是为了保护硬件设计,另外一方面也是为了产品本身的安全,防止被黑客攻击(HACKED)。为了保护芯片中的数据,越来越多的厂商在芯片内部提供了一种特殊的寄存器:OTP寄存器(OneTimeProgrammable,一次性编程寄存器)。OTP寄存器是每位信息都是一次性写入,不可重写,掉电不丢失数据,可以反复读出数据。芯片标识符,又称设备唯一识别码DeviceUniqueKeys,是芯片安全性的核心技术,不可解密或复用。电子束直写DirectElectronWriting作为芯片标识符的创建和存储应当简易,使其便于大批量生产,且鉴定标示过程安全。为了实现“一芯一异”——每颗芯片都不同,芯片标识符的核心在于标识的唯一性。芯片标识符具有唯一性和不可更改的要求,所以目前通常都使用OTP寄存器来实现。实现机制包括eFuse/AntiFuse器件,目前的芯片标识符的写入和读出方法如图1所示:首先是步骤S101,设定芯片标识符;然后是步骤S102,把设定的芯片标识符写入到OTP寄存器;接着步骤S103,在需要读出芯片标识符时,从OTP寄存器中读出设定的芯片标识符;最后步骤S104,用户获取从OTP寄存器读出的设定的芯片标识符。通常步骤S102中把设定的芯片标识符写入到OTP寄存器是使用电子熔丝e-Fuse实现的,从硅片代工厂生产出来时,所有芯片都是同样的值,比如说16位0x0,当把设定的芯片标识符写入到OTP寄存器时后,芯片的值可以改成设定的芯片标识符,比如说是16位的0x1,最后一位改变了,最后系统读到的值就是步骤101中设定的芯片标识符。这个过程中芯片的外部虽然没有变化,但是由于e-Fuse对芯片的物理影响比较大,如果把这颗芯片解剖分析,就很容易发现改写的位,用光学显微镜就能很容易逆向分析破解这些芯片标识符。当然也可以把未写入设定的芯片标识符的芯片(对应ID为0x0)改写为0x1,实现复制拷贝。这样就对产品本身的安全性造成很大的威胁。每颗芯片的芯片标识符可以通过通孔层图形的逻辑值来对应,每颗芯片的芯片标识符对应的通孔层图形都不同。特别地,类似SHA160的安全散列算法,不能抵御差分攻击,对于修改VIA过孔的电路层设计方法(把实现唯一安全芯片的可配置连接放置在特定的通孔层中)对芯片的电流和热效应加以分析是有效破解手段之一。
技术实现思路
本专利技术为了克服上述现有技术存在的缺陷,提供一种芯片标识方法,通过使芯片标识符至少包含第一标识符和第二标识符,且第一标识符根据芯片特定掩模层图形的逻辑值获得,由此实现OTP寄存器可以得到唯一的芯片标识符,而且难以被逆向破解和非法复制。通过基于消息摘要MD6的算法进行芯片标识符的加密,并行度高,且可以有效抵御黑客攻击。根据本专利技术的一个方面,提供一种芯片标识方法,包括:获取芯片标识符,所述芯片标识符至少包括按预定顺序排列的第一标识符和第二标识符,所述第一标识符通过读取芯片的特定膜层图形的逻辑值获得;将所述芯片标识符按MD6进行加密运算,得到经所述MD6加密后的芯片标识符;将经所述MD6加密后的芯片标识符写入到芯片的OTP寄存器中的设定地址内,所述设定地址至少包括对应第一标识符的第一地址段和对应第二标识符的第二地址段,所述第一地址段和所述第二地址段的排序顺序与所述第一标识符和第二标识符的排序顺序相同;当要从所述OTP寄存器的设定地址内中读出数据时,按所述第一地址段和所述第二地址段的顺序自所述OTP寄存器中获取数据;将所述获取的数据按MD6进行加密运算,得到经所述MD6加密后的读取数据;提供经所述MD6加密后的读取数据。可选地,所述将待写入到OTP寄存器中的芯片标识符,按MD6进行加密运算,得到经所述MD6加密后的芯片标识符的步骤还包括:将所述芯片标识符扩展为待运算字段组,所述待运算字段组的比特位数总和为4096的整数倍;对所述待运算字段组按MD6进行加密运算,得到经所述MD6加密后的芯片标识符,其中,若经所述MD6加密后得到的数据的比特长度大于等于所述第二标识符的比特长度,则在经所述MD6加密后得到的数据中,取低d个比特位作为对应第一标识符的第一数据写入到所述OTP寄存器中第一地址段中,其中,所述d为所述第二标识符的比特长度。可选地,所述待运算字段组包括:第一字段,所述第一字段为所述待写入到OTP寄存器中的芯片标识符;第二字段,紧接于所述第一字段,所述第二字段的比特长度为1,且该比特位内填充1作为停止位;第三字段,紧接于所述第二字段,所述第三字段为填充字段,所述填充字段中的各比特位填充为0。可选地,通过一掩模控制所述OTP寄存器中的标准单元的输入端口和输出端口的电连接形成第一标识符。可选地,所述标准单元的输入端口和输出端口通过后道工艺改变连接逻辑关系以改变所述第一地址段的第一标识符,所述后道工艺的处理次数不大于1次。可选地,将所述获取的数据按MD6进行加密运算,得到经所述MD6加密后的读取数据还包括:按与所述待写入到OTP寄存器中的芯片标识符相同的方式,将所述获取的数据扩展为待运算字段组;对所述待运算字段组按MD6进行加密运算,得到经所述MD6加密后的读取数据。可选地,所述第一标识符为厂商设定的标识符,所述第二标识符为用户设定的标识符。可选地,所述将所述芯片标识符按MD6进行加密运算,得到经所述MD6加密后的芯片标识符的步骤之后,所述将经所述MD6加密后的芯片标识符写入到芯片的OTP寄存器中的设定地址内的步骤之前,还包括:检测所述OTP寄存器中的设定地址是否已被编程写入过;若检测到所述设定地址尚未被编程写入过,则继续执行所述将经所述MD6加密后的芯片标识符写入到所述OTP寄存器中的设定地址内的步骤;若检测到所述设定地址已被编程写入过,则不执行所述将经所述MD6加密后的芯片标识符写入到所述OTP寄存器中的设定地址内的步骤,并报错。可选地,所述特定膜层图形使用电子束直写实现。可选地,所述OTP寄存器为以下任意一种类型的OTP寄存器:烧断型、熔断型、电子熔丝型、反熔丝型OTP寄存器。可选地,所述电子熔丝型OTP寄存器包含耦合电容型、串联晶体管型和电介质击穿型的电子熔丝型寄存器。本专利技术中写入到OTP寄存器的芯片标识符是经过MD6运算后得到的加密的芯片标识符,该加密的芯片标识符与上述待写入到OTP寄存器中的芯片标识符不同,因此可以对待写入到OTP寄存器中的芯片标识符进行加密保护,防止被破解。此外,从OTP寄存器中读取这个加密的芯片标识符时还会经过一次MD6的运算,使最终显示给用户的芯片标识符经过两次加密处理,上述显示给用户的芯片标识符跟写入到OTP寄存器中的已经加密的芯片标识符也不相同,这样就对待写入到OTP寄存器中的芯片标识符作了进一步的加密保护。具体而言,MD6算法相比其它加密算法而言,安全性更好,可以抵抗差分攻击;并行度更好,速度性能更快;灵活度高,可以在此架构框架下方便调整尺度,实现自定义应用。附图说明通过参照附图详细描述其示例实施方式,本专利技术的上述和其它特征及优点将变得更加明显。图1示出了根据现有技术的芯片标识方法的流程图。图2示出了根据本文档来自技高网
...

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

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

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

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

1