局部可编程复合安全芯片及制造方法与流程

文档序号:14835638发布日期:2018-06-30 12:17阅读:168来源:国知局
局部可编程复合安全芯片及制造方法与流程

本发明涉及芯片领域,特别涉及包含加解密功能的芯片设计、芯片、处理器。



背景技术:

现有安全安全芯片以及包含加密部件的通用处理器芯片,在设计、生产成型后,同一型号、批次的芯片内部结构完全相同,用于存储加解密所需要的密钥的触发器,在同一型号芯片中的位置、功能是相同的,这样有利于芯片的批量生产,节约成本。

对于恶意破解、入侵芯片的入侵者来说,只需确定用于存储关键密钥的触发器位置,就可以利用故障注入、激光照射等方式获得芯片内部密钥的内容,而且由于同型号批次的芯片物理结构完全一致,一旦入侵者破解了一块芯片,就掌握了所有同型号芯片的破解方法,扩大了入侵范围。

发明人在进行处理器脆弱性分析研究时,发现现有技术中,生产成型的同型号芯片内部结构是固定不变的,入侵者可以对存储密钥的关键触发器进行针对性的攻击,易于被破解,同时由于同型号芯片的结构一致性,造成被入侵范围的扩大,发明人经过对常见芯片入侵方法的研究发现,可以通过在芯片核心保密区域设计添加后期可编程部分来增加入侵者破解芯片的难度并且防止入侵范围的扩大。



技术实现要素:

针对现有安全芯片技术的不足,本发明提出一种在安全芯片中包含可编程部分来增加安全芯片安全性的复合安全芯片及其制造方法,具体而言:

本发明提供了一种局部可编程复合安全芯片,所述芯片包括集成设置的芯片片内总线、可编程部分、不可编程部分;上述可编程部分位于安全芯片内部,利用安全芯片片内总线与安全芯片其他电路结构连接;

所述可编程部分通过芯片片内总线与芯片内其他电路结构连接,且不具有单独的功能;该可编程部分并不会改变安全芯片的整体功能和性质,不属于FPGA(现场可编程门阵列)或片上系统(SoC)等;

所述可编程部分用于存储所述安全芯片加解密的关键信息,并且所述可编程部分包含的触发器数目多于存储所述关键信息所需要的触发器数目;

所述关键信息通过计算机编程,改变所述可编程部分的内部电路结构,使存储所述关键信息的触发器在所述可编程部分中随机分布。

优选地,所述可编程部分与不可编程部分采用同种制程流片。

优选地,所述关键信息包括所述芯片工作过程中所使用的密钥。

优选地,所述可编程部分的编程配置接口线复用所述安全芯片的引脚;或者

所述可编程部分的编程配置接口为牵引出芯片外部的独立配置接口线。

优选地,所述可编程部分的配置接口线在配置完成后是可熔断的,仅保留必要的数据连接线与加安全芯片内部总线连接,以提高安全性。

在本发明的又一个方法,提供了一种局部可编程复合安全芯片的制造方法,适用于如上所述的安全芯片的生产,所述方法包括:

S1、生产芯片主体,所述芯片主体包含若干触发器、片内总线;可编程部分位于完整功能芯片内部,并非独立模块,与芯片其他不可编程部分采用同种制程流片;

S2、将所述触发器划分为可编程部分与不可编程部分,所述可编程部分未执行写入;芯片在流片生产后,可编程部分内部处于空白状态,同一型号、批次的芯片构造完全相同;

S3、在所述可编程部分,在芯片流片生产后,使用预留的配置接口线,通过计算机随机算法,随机选定其中的n位触发器,存储所述安全芯片的关键信息,完成芯片配置;所述n小于所述可编程部分所包含的触发器数目。这样,用于存储加解密密钥的触发器位置随机分布,不同安全芯片之间不再具有相同的电路结构,而是各自不同,而且经过编程写入后电路结构不再变化,但安全芯片整体实现的功能相同。

优选地,所述方法还包括以下步骤:

S4、熔断所述可编程部分的配置接口线。

优选地,上述可编程部分的配置接口线可以连接到安全芯片的内部总线上,复用安全芯片的引脚进行配置,也可以单独引出;该配置接口线可以采用可熔断技术制造,在对安全芯片的可编程部分写入电路信息使芯片可以正常工作后,配置接口线可以熔断,阻止二次写入,同时防止恶意入侵者通过配置接口线对可编程部分进行入侵攻击,增加安全芯片的安全性。

利用该技术设计生产的安全芯片,用于加解密的密钥等关键信息存储在可编程部分中,安全芯片生产完成后,利用计算机编程改变可编程部分内部的电路结构,使存储密钥等关键信息的触发器随机分布,即使是同一型号、批次的安全芯片,每一块芯片内部用于存储加解密密钥等关键信息的触发器位置都不相同,极大增加了安全芯片的安全性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为包含可编程部分的局部可编程复合安全芯片概念图;

图2为安全芯片所包含的可编程部分配置接口线复用安全芯片引脚线的示意图;

图3为安全芯片所包含的可编程部分配置接口线单独引出的示意图;

图4为包含可编程部分的局部可编程复合安全芯片设计、生产流程示意图;

图5为AES算法的加密过程和解密过程示意图;

图6为AES安全芯片总体设计框图;

图7为AES安全芯片设计示意图;

图8为传统寄存器结构示意图;

图9为本发明设计的可编程部分电路初始空白电路示意图;

图10为本发明设计的可编程部分电路经过配置随机选定触发器后示意图。

具体实施方式

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

需要说明的是,以下的各个实施例中的计算方式、技术方案等均可以相互借鉴或者使用。

在一个具体的实施例中,本发明提供了一种局部可编程复合安全芯片,如图1所示所述芯片包括集成设置的芯片片内总线、可编程部分、不可编程部分;上述可编程部分位于安全芯片内部,利用安全芯片片内总线与安全芯片其他电路结构连接;

所述可编程部分通过芯片片内总线与芯片内其他电路结构连接,且不具有单独的功能;该可编程部分并不会改变安全芯片的整体功能和性质,不属于FPGA(现场可编程门阵列)或片上系统(SoC)等;

所述可编程部分用于存储所述安全芯片加解密的关键信息,并且所述可编程部分包含的触发器数目多于存储所述关键信息所需要的触发器数目;

所述关键信息通过计算机编程,改变所述可编程部分的内部电路结构,使存储所述关键信息的触发器在所述可编程部分中随机分布。

在一个实施方式中,在设计安全芯片以及包含加解密功能的其他类型芯片时,用于存储加解密密钥等关键数据的电路部分,使用可编程部分实现,不再使用固定的芯片电路,可编程部分包含的可使用触发器数目远多于实际所需要的数目,利用计算机编程随机实现数目可观的功能相同但构造不同的电路。

例如,在芯片设计中用于加解密过程的关键密钥有n位二进制位,传统芯片设计中会直接固定n位触发器用于存储该密钥,本发明中的设计方式则会规划2n甚至更多位备用触发器,并且由可编程电路控制,在芯片生产完成后通过计算机随机算法选定其中的n位触发器,用于存储上述关键密钥。

优选地,所述可编程部分与不可编程部分采用同种制程流片。

优选地,所述关键信息包括所述芯片工作过程中所使用的密钥。

优选地,所述可编程部分的编程配置接口线复用所述安全芯片的引脚,其结构如图2所示;或者

所述可编程部分的编程配置接口为牵引出芯片外部的独立配置接口线,其结构如图3所示。

优选地,所述可编程部分的配置接口线在配置完成后是可熔断的,仅保留必要的数据连接线与加安全芯片内部总线连接,以提高安全性。

在另一个具体的实施例中,本发明还提供了一种局部可编程复合安全芯片的制造方法,适用于如上所述的安全芯片的生产,如图4所示,所述方法包括:

S1、生产芯片主体,所述芯片主体包含若干触发器、片内总线;可编程部分位于完整功能芯片内部,并非独立模块,与芯片其他不可编程部分采用同种制程流片;

S2、将所述触发器划分为可编程部分与不可编程部分,所述可编程部分未执行写入;芯片在流片生产后,可编程部分内部处于空白状态,同一型号、批次的芯片构造完全相同;

S3、在所述可编程部分,利用随机算法随机选定其中的n位触发器,存储所述安全芯片的关键信息,完成芯片配置;所述n小于所述可编程部分所包含的触发器数目。这样,用于存储加解密密钥的触发器位置随机分布,不同安全芯片之间不再具有相同的电路结构,而是各自不同,而且经过编程写入后电路结构不再变化,但安全芯片整体实现的功能相同。

优选地,在芯片具体生产方式上,本发明所描述的可编程部分位于完整功能芯片内部,并非独立模块,与芯片其他不可编程部分采用同种制程流片,该可编程部分在现有条件下可以使用多种技术实现,包括但不限于微型FPGA(现场可编程门阵列),小规模eFuse(电子可编程熔丝)等,可编程部分拥有大量冗余备选触发器和控制电路,在出厂配置时讲配置信息写入控制电路,随机选定所需要的n位触发器,在控制电路的管理下用于存放加解密过程中所需要的密钥,其他触发器不再使用,增加触发器电路的复杂度和迷惑性,对硬件入侵者造成极大的阻碍。

优选地,所述方法还包括以下步骤:

S4、熔断所述可编程部分的配置接口线。

优选地,上述可编程部分的配置接口线可以连接到安全芯片的内部总线上,复用安全芯片的引脚进行配置,也可以单独引出;该配置接口线可以采用可熔断技术制造,在对安全芯片的可编程部分写入电路信息使芯片可以正常工作后,配置接口线可以熔断,阻止二次写入,同时防止恶意入侵者通过配置接口线对可编程部分进行入侵攻击,增加安全芯片的安全性。

在一个具体的实施方式中,本发明所描述的包含可编程部分的安全芯片在流片生产后,可编程部分内部处于空白状态,同一型号、批次的芯片构造完全相同,然后利用计算机编程随机产生数目可观的功能相同但构造不同的电路分布,然后对于每一块安全芯片通过可编程部分的配置接口线分别写入不同的电路逻辑,用于存储加解密密钥的触发器位置随机分布,不同安全芯片之间不再具有相同的电路结构,而是各自不同,而且经过编程写入后电路结构不再变化,但安全芯片整体实现的功能相同。

在一个具体的实施方式中,上述可编程部分的配置接口线可以连接到安全芯片的内部总线上,复用安全芯片的引脚进行配置,也可以单独引出;该配置接口线可以采用可熔断技术制造,在对安全芯片的可编程部分写入电路信息使芯片可以正常工作后,配置接口线可以熔断,阻止二次写入,同时防止恶意入侵者通过配置接口线对可编程部分进行入侵攻击,增加安全芯片的安全性。

可编程部分在安全芯片内部利用芯片片内总线与安全芯片连接,在安全芯片工作时,通过连接的片内总线读取所需要的加解密密钥。

在一个更为具体的实施例中,某型安全芯片可用于AES算法的运算,(AES算法相关内容请查阅其他文献,不属于本发明内容),支持128位加密密钥,工作原理见图5,设计框架为图6,内部构成结构为图7,其中,图7中的各管脚及其含义如表1所示:

表1

传统芯片设计中,如图8所示,密钥寄存器为16位,由16个触发器组成,本发明中,可编程电路提供32个可选触发器,其写入前的状态如图9所示,通过配置接口控制电路的工作状态,随机选定16个触发器用于真正存储密钥,其他16个触发器无效,写入后的结构如图10所示。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

本发明参照本发明实施例的方法、方框图、单线图、仿真图进行描述的,以上所述仅为本发明的实施例而已,并不限定本发明,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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