一种防破解电路模块及防破解电路模块的设计方法与流程

文档序号:17791440发布日期:2019-05-31 20:18阅读:291来源:国知局
一种防破解电路模块及防破解电路模块的设计方法与流程

本发明属于芯片安全设计领域,尤其是涉及一种防破解电路模块及防破解电路模块的设计方法。



背景技术:

在芯片安全设计领域,重要的一个防护目标就是防止破解,也就是防止破解者获取芯片电路结构,而获取芯片电路结构需要对芯片进行逆向工程。逆向工程包括对芯片进行封装解剖和管芯分析,封装解剖是很简单的,管芯分析则比较复杂,包括多个环节,首要环节是得到管芯的分层照片,后续环节是根据照片提取电路和分析,因此逆向工程的关键点就是得到管芯的分层照片。而为了得到除了顶层之外的下层照片,需要对管芯进行研磨或者腐蚀来去除上层的材料,随着芯片的工艺越来越小,对一颗芯片进行完整的逆向分析越来越困难,例如过度研磨或者腐蚀控制不好,经常会出现一种情况:就是将一颗管芯去除至特定的层次并拍照后,这一层次的平整度会变得很差,再基于此管芯去层至下一层就非常困难,此时只能换一颗新的管芯,一次性去除至下一层。因此,最终得到的完整的多层次的管芯图像,其实是由多颗管芯的不同层次进行组合而成。

由于大部分时候都需要多颗管芯才能得到完整的多层次管芯图像,逆向工程高度依赖于芯片产品的一致性。而目前的芯片产品是具备很好的一致性的,因为芯片设计完成后,其工程数据,也就是版图数据,只有一份,所有的管芯都是通过这一份版图数据进行制造而成,所以所有的管芯都具有同样的物理结构。

已有的芯片安全设计方法,都是通过提高保密程度来实现的,比如将通信过程进行加密,或者是在管芯上面增加迷宫覆盖层等,并没有针对逆向工程的特点进行安全设计。部分芯片采用了唯一id的方法进行保护,但唯一id并不能够防止逆向工程,因为id通常是通过rom进行存储,对于逆向工程拍照来说,id特征在一层照片上即可完整体现,即使混用了多颗不同id的管芯,仍然可以得到和其中一颗管芯匹配的管芯图像。

其中专利201610530462.3中涉及一种提升芯片防破解能力的芯片设计方法,该专利中虽然也是通过设计多个版本的版图数据进行提高芯片防破解能力,但是该专利中的不同版图数据的金属线和连接孔都是有可能发生变化,这样造成一种情况,即在逆向分析时,如果连接孔不同,则有些金属线会出现悬空的现象,则很容易发现该逆向分析不正确,减小了芯片防破解的能力。如图13~图15所示,其中图13是一种电路图的一种版图结构,图14是该电路图的另一种版图结构,图15是混用了第一种版图结构的一层金属和第二种版图结构的一层金属得到的版图结构,由图15可知,因为两种结构的连接孔位置不相同,因此会出现金属线悬空的情况。



技术实现要素:

有鉴于此,本发明旨在提出一种防破解电路模块的设计方法,提高芯片防破解能力,使得逆向工程的成功率降低至极低的程度。

为达到上述目的,本发明所采用的技术方案是:

一种防破解电路模块,包括至少两种不同的版图结构,所述至少两种不同的版图结构具有相同的电路结构和相同的金属层数,其中每种版图结构至少包括两层金属层,其中每种版图结构的连接孔的位置是相同的,通过连接孔进行连接的金属线至少一层不相同。

所述的每种版图结构至少包括两组单元,每组单元之间形成一个连接通路。

所述第一组单元至少包含第一单元、第二单元,第一单元与第二单元之间通过第一组布线连接;所述第二组单元至少包含第三单元、第四单元,第三单元与第四单元之间通过第二组布线连接。

所述第一组布线至少包含位于第一层的金属布线、位于第二层的金属布线及第一层金属布线与第二层金属布线之间的连接孔;第二组布线至少包含位于第一层的金属布线、位于第二层的金属布线及第一层金属布线与第二层金属布线之间的连接孔。

一种防破解电路模块的设计方法,包括如下步骤:

s121、电路结构设计;

s122、将同一个电路设计成至少两个不同的版图结构,其中所述的不同的版图结构具有相同的金属层,所述的不同版图结构的金属层具有相同的金属连接孔和至少一层不同的金属布线;

s123、将裸片封装成大致相同的芯片;

所述每种版图结构至少包括两组单元,每组单元之间形成一个连接通路。

所述第一组单元至少包含第一单元、第二单元,第一单元与第二单元之间通过第一组布线连接;所述第二组单元至少包含第三单元、第四单元,第三单元与第四单元之间通过第二组布线连接;

所述第一组布线至少包含位于第一层的金属布线、位于第二层的金属布线及第一层金属布线与第二层金属布线之间的通孔;第二组布线至少包含位于第一层的金属布线、位于第二层的金属布线及第一层金属布线与第二层金属布线之间的通孔。

相对于现有技术,本发明所述的方法具有以下优势:

(1)通过针对逆向工程的特点进行安全设计,从根源上切断了芯片破解的主要手段;

(2)相比已有的安全设计方法,不需要增加额外的成本;

(3)本发明方法设计简单,容易实现。

本发明的目的在于提出一种防破解电路模块,以使针对该芯片的逆向工程的成功率变得极低,从而提高了芯片的防破解能力。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明实施例中的电路图。

图2为本发明第一种版图设计结构。

图3为本发明第二种版图设计结构。

图4为本发明中混用第一和第二种不同版图层得到的版图结构。

图5为本发明中混用第一和第二种不同版图层得到的电路图。

图6为本发明第三种版图设计结构。

图7为本发明混用第一和第三种不同版图层得到的版图结构。

图8为本发明混用第一和第三种不同版图层得到的电路图。

图9为本发明方法实施例中的电路图。

图10为本发明方法实施例中第一种版图设计结构。

图11为本发明方法实施例中第二种版图设计结构。

图12为本发明方法流程图。

图13为现有技术中第一种版图设计结构。

图14为现有技术中第二种版图设计结构。

图15为现有技术中第一种版图设计结构和第二种版图设计结构混用得到的版图结构。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,所描述的实施例仅仅是本发明的一部分实施例,而不是全部实施例。基于本发明的实施例,本领域普通技术人员在没有进行创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。为了更加清楚、完整的对各个实施例进行说明,下文实施例的电路都是针对一个简单的电路进行说明,但是这并不仅仅局限于一个小的逻辑电路,有可能针对的是一个电路模块或者一款芯片。其中因为正向设计和逆向分析在设计流程上是不相同的,因此下文实施例中所述的版图结构既可以为正向设计中的版图结构,也可以为逆向设计中由每层解剖图片得到的版图结构。

实施例一

图1为第一实施例的电路原理图,图2为图1电路图的第一种版图形式,图3为图1电路图的第二种版图形式,图4为混用图2和图3两种版图不同层次得到的版图结构,图5是由图4推出的电路原理图,由图1和图5可知,通过混用不同版图的不同层次,会使得电路原理图发生变化,逆向分析失败。其中下文中的单元只是一个概括,不仅仅指一个反向器,而且可以指一个晶体管,一个器件,为了分析方便,也可以指一个电路模块,只要在本发明的思想范围内,都属于所要保护的内容。

如图1所示,电路图10包括4个单元,a、a′、b、b′,其中单元a的输出端连接到b单元的输入端,连接信号为101;a′单元的输出端连接到b′单元的输入端,连接信号为201。其中a、b和连接信号101构成一个连接通路,a′、b′和连接信号201构成另一个连接通路。本发明中所涉及的连接通路可以相互独立,也可以相互联系,只要能够成一条通路,即从输入到输出,即可以看成一个连接通路。本发明中所涉及的电路结构相同但版图结构不同的电路,其中每一种版图结构的版图层数是相同的。下面实施例1中的不同版图结构只涉及两层版图层,金属层1和金属层2,但是并不局限于2层金属层。

图2是电路10的一种版图结构的设计方案。单元a、a′、b、b′的布局如图2所示,单元a的输出端连接金属线211,金属线211形成在金属层1中,金属线211通过连接孔231连接到金属线212,金属线212形成在金属层2中,金属线212连接到单元b的输入端。单元a′的输出端连接金属线221,金属线221形成在金属层1中,金属线221通过连接孔241连接到金属线222,金属线222形成在金属层2中,金属线222连接到单元b′的输入端。

图3是电路10的另一种版图结构的设计方案。单元a、a′、b、b′的布局如图3所示,单元a的输出端连接金属线311,金属线311形成在金属层1中,金属线311通过连接孔331连接到金属线312,金属线312形成在金属层2中,金属线312连接到单元b的输入端。单元a′的输出端连接金属线321,金属线321形成在金属层1中,金属线321通过连接孔341连接到金属线322,金属线322形成在金属层2中,金属线322连接到单元b′的输入端。

在进行逆向分析芯片时,在使用一颗芯片进行分析时,由于芯片的工艺越来越小,在刻蚀去层等分析过程中,会由于过刻蚀、破损、丢失等原因使得该颗芯片的某一层金属层不能完整的还原该芯片的版图结构,此时需要对另外一颗芯片进行刻蚀,得到该层金属层的版图结构,即在逆向分析时,需要对多颗芯片进行逆向解剖才能得到完整的版图结构。其中金属层的层数越多,需要多颗芯片的可能性越大,但是为了更加清楚的说明本发明,下面只针对两颗芯片进行逆向分析的情况说明。第一颗芯片中的电路图使用的是图2所示的版图结构,第二颗芯片中的电路图使用的是图3所示的版图结构,在逆向分析时,如果混用了这两颗芯片,逆向结果就会发生变化。

例如,在进行逆向分析时,金属层1的图像使用第一颗芯片,金属层2的图像使用第二颗芯片。因为第一颗芯片版图数据的连接孔和第二颗芯片版图数据的连接孔相同,因此在逆向分析时,不会出现金属线悬空的情况,即只有进行到电路提取阶段或电路分析阶段,才有可能发现分层照片是来自两种不同的版图结构芯片,增加了获取正确电路的难度,加大了芯片的安全性,提高了防破解能力。为了更加清楚的说明该实施例,下面将对该实施例进行说明。

本实施例中的版图数据只涉及两层金属层,但是并局限于两层,一般大于等于两层。第一颗芯片的版图数据如图2所示,第二颗芯片的版图数据如图3所示。第一颗芯片的版图数据包含单元a、a′、b、b′,金属线211(金属层1),金属线221(金属层1),金属线212(金属层2),金属线222(金属层2),以及连接孔231(v12),连接孔241(v12)。第二颗芯片的版图数据包含单元a、a′、b、b′,金属线311(金属层1),金属线321(金属层1),金属线312(金属层2),金属线322(金属层2),以及连接孔331(v12),连接孔341(v12)。在进行逆向分析时,使用了第一颗芯片的金属线211(金属层1),金属线221(金属层1),连接孔231(v12),连接孔241(v12),以及第二颗芯片的金属线312(金属层2),金属线322(金属层2),则逆向得出的版图数据为图4所示。

因为图2中的版图结构和图3中的版图结构的连接孔及单元的版图位置是相同的,所以不会发生金属线悬空的情况。根据如图4的版图数据,可以得到如图5所示的电路原理图。由图5可知,该电路图中的单元a和单元b′相连接,单元a′和单元b相连接。图5的电路图和实际电路图(如图1所示)不相同,即逆向分析失败。这种方法加大了芯片的防破解能力,通过版图数据无法发现逆向得到的电路错误在哪,即使进行常规的erc检查和电路整理,同样无法发现错误的根源,这样远远加大了逆向的工作量和时间,从而提高了芯片的防破解能力。

实施例1的另一种变形例

图6是图1电路图的第三种版图形式,图7为混用图2的金属层1和图6的金属层2两种版图不同层次的芯片逆向分析得到的版图结构,图8是图7的版图结构推出的电路原理图,由图1和图8可知,通过混用不同版图的不同层次,会使得电路原理图发生变化,逆向分析失败。

图6是电路1的另一种版图结构的设计方案。单元a、a′、b、b′的布局如图6所示,单元a的输出端连接金属线611,金属线611形成在金属层1中,金属线611通过连接孔631连接到金属线612,金属线612形成在金属层2中,金属线612连接到单元b的输入端。单元a′的输出端连接金属线622,金属线622形成在金属层2中,金属线622通过连接孔641连接到金属线621,金属线621形成在金属层1中,金属线621连接到单元b′的输入端。

在进行逆向分析电路时,需要对多颗芯片进行逆向解剖得到完整的版图结构,本实施例中使用的是两颗芯片,下面将对两颗芯片进行分析说明。第一颗芯片中的电路图使用的是图2所示的版图结构,第二颗芯片中的电路图使用的是图6所示的版图结构,则在逆向分析时,如果混用了这两颗芯片,逆向结果就会发生变化。

例如,在进行逆向分析时,金属层1的图像使用第一颗芯片,金属层2的图像使用第二颗芯片。因为第一颗芯片版图数据的连接孔和第二颗芯片版图数据的连接孔相同,因此在逆向分析时,不会出现金属线悬空的情况,即只有进行到电路提取阶段或电路分析阶段,才有可能发现分层照片是来自两种不同的版图结构芯片,增加了获取正确电路的难度,加大了芯片的安全性,提高了防破解能力。为了更加清楚的说明本实施例,下面将对本实施例进行说明。

本实施例中的版图数据只涉及两层金属层,但是并局限于两层,一般大于等于两层。第一颗芯片的版图数据如图2所示,第二颗芯片的版图数据如图6所示。第一颗芯片的版图数据包含单元a、a′、b、b′,金属线211(金属层1),金属线221(金属层1),金属线212(金属层2),金属线222(金属层2),以及连接孔231(v12),连接孔241(v12)。第二颗芯片的版图数据包含单元a、a′、b、b′,金属线611(金属层1),金属线621(金属层1),金属线612(金属层2),金属线622(金属层2),以及连接孔631(v12),连接孔641(v12)。在进行逆向分析时,使用了第一颗芯片的金属线211(金属层1),金属线221(金属层1),连接孔231(v12),连接孔241(v12),以及第二颗芯片的金属线612(金属层2),金属线622(金属层2),则逆向得出的版图数据为图7所示。

因为图2中的版图结构和图6中的版图结构的连接孔及单元的版图是相同的,所以不会发生金属线悬空的情况。根据如图7的版图数据,可以得到如图8所示的电路原理图。由图8可知,该电路图中的单元a和单元b相连接,单元a′和单元b′没有任何连接。图7的电路图和实际电路图(如图1所示)不相同,即逆向分析失败。这种方法加大了芯片的防破解能力,通过版图结构无法发现逆向得到的电路错误在哪,只能通过整理电路图或者通过erc进行检查,但是这样远远加大了逆向的工作量和时间,从而提高了芯片的防破解能力。

一种防破解电路模块的设计方法

为了解决芯片被破解的问题,提出了一种防破解电路模块的设计方法,如图12所示,包括如下步骤:

步骤s121,电路结构设计。电路设计是生产芯片整个过程的第一步。设计人员根据芯片的需求规范,将芯片的功能分解为功能模块,再将功能模块细化设计为底层模块和器件。电路设计可以由设计电路上一块块的功能电路图开始,也可以由一个简单的逻辑运算开始,本实施例以一个简单的逻辑运算单元设计为例来示意电路设计的结果,例如图9所示的逻辑运算电路,包括单元a、b、a′、b′和连接线901、902。

步骤s122,版图结构设计,至少两种不同的版图结构(如图10和图11所示),其中每一种版图设计至少包括两组单元,每组单元为一条连接通路。

每一种版图结构中包括第一组单元和第二组单元。其中第一组单元包含第一单元、第二单元,第一单元与第二单元之间通过第一组布线连接;第一组布线至少包含位于第一层的金属布线、位于第二层的金属布线及第一层金属布线与第二层金属布线之间的连接孔;如图10和图11所示,第一组单元包括单元a、b;第一组金属布线包括连金属层1(1011、1111)、金属层2(1012、1112)和连接孔(1031、1131)。第二组单元包含第三单元、第四单元,第三单元与第四单元之间通过第二组布线连接。第二组布线至少包含位于第一层的金属布线、位于第二层的金属布线及第一金属层布线与第二层金属布线之间的连接孔;如图10和图11所示,第二组单元包括单元a′、b′;第二组金属布线连接包括金属层1(1021、1121)、金属层2(1022、1122)和连接孔(1041、1141)。

s123、将裸片封装成大致相同的芯片;

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1