首页> 中国专利> 以模糊算法和动态密钥为特征的基于保留的本征指纹识别

以模糊算法和动态密钥为特征的基于保留的本征指纹识别

摘要

本申请涉及以模糊算法和动态密钥为特征的基于保留的本征指纹识别。随机本征芯片ID生成采用保留失败签名。利用具有第一设置比第二设置更严格的测试设置产生第一和第二ID,从而在包括第二ID位串290的第一ID位串275中创建更多的失败。通过BIST引擎625调节的保留暂停时间控制保留失败的数量,其中失败数量803,920满足预定的失败目标。验证确认第一ID是否包括第二ID位串,该ID成为用于认证的ID。认证是通过具有中间条件的第三ID启用的,使得第一ID包括第三ID位串并且第三ID包括第二ID位串。中间条件包括保护带,以消除第一和第二ID边界附近的位不稳定性问题。该中间条件在每一次ID读取操作改变,从而导致更安全的识别。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-12-01

    专利权的转移 IPC(主分类):G06F21/44 登记生效日:20171113 变更前: 变更后: 申请日:20120913

    专利申请权、专利权的转移

  • 2016-08-24

    授权

    授权

  • 2014-08-20

    实质审查的生效 IPC(主分类):G06F21/44 申请日:20120913

    实质审查的生效

  • 2014-07-23

    公开

    公开

说明书

技术领域

本发明涉及利用硬件本征密钥和认证响应的芯片识别,以及用于 产生唯一标识串来识别芯片的方法和电路,更具体地,涉及利用静态 随机存取存储器阵列或动态随机存取存储器阵列产生用于ID安全和 高准确度认证的VLSI芯片不可复制的本征标识的方法和系统。

背景技术

在当代安全和加密应用中,自我识别芯片的可靠性已经成为必 需。全球半导体联盟(GSA)在“Hardware Intrinsic Security: Fabless Perception and Awareness Study”中描述了半导体工业对秘 密密钥存储的需求,其中要提高对秘密密钥存储和硬件本征安全性的 采用,成本是需要加以解决的最大障碍。并且,特定设备的唯一标识 是从业者给出采用秘密密钥存储的主要原因。显然,根据GSA的受 访者,通常是无晶圆厂(fabless)半导体设计公司,存在对内部和外 部IC客户的成本效益的解决方案的一个关键需求:用最少的设计和 面积开销提供芯片认证和识别。该解决方案应该在芯片上只需最少量 的额外电路系统或掩模水平、对产出没有影响、并且适用于广泛的产 品。

集成电路(IC)的认证包括使用电线路径延迟(有可能被补 偿,以考虑不同的温度/电压运行条件)的物理上不可克隆功能 (PUF)、误差校正、限制访问PUF的控制模块、混淆真实PUF输 入/输出关系的随机散列、通过PUF增加响应复杂性的多反馈回路、 或者当施加不同时钟周期时响应改变的PUF。

当利用物理上不可克隆功能识别设备时,生成对唯一代表设备身 份的PUF响应包括使具有存储器的设备扩展到硬件和软件并且要求 把存储器响应用作设备的硬件本征标识。SRAM、锁存器以及FPGA 的制造和使用(对于它们在特定运行条件下逻辑门之间的竞争使用) 可以具有把每一个设备从一组设备中唯一区分出来的不同特征。

提供带有唯一标识的IC芯片的系统可以在芯片中包括能用于芯 片唯一标识的块。然后,该芯片必须包括在IC中形成的多个标识单 元,其中该IC在单元中根据随机参数变化产生响应。该芯片还可以 扩展到如下的单元,其包括至少一个晶体管、失配的两个晶体管、不 同类型的单元、或存储在单元上可以作为位的序列读出的值。

尽管在存在工艺变化时,芯片识别电路概念引入电压调节来把产 生的ID的汉明距离(即ID串中逻辑1的数量)调整到期望值,但 是在单个生成周期中ID的重复测试可以增加ID的稳定性以确保该 一次产生的ID能够在以后毫无困难地或者不必进行位的改变而被读 出。

尽管以上提到的ID解决方案理论上允许生成本征ID,但是存在 风险,即产生的位包括不稳定的位,这些不稳定的位会随着时间推移 而改变,从而使不能识别正确的芯片或者不能正确地识别芯片的可能 性增加。还存在为多个芯片产生相同ID向量的可能性,尤其当向量 位的串长度短的时候。尽管增加向量长度减少多个芯片具有相同ID 的机会,但是这增加了管理用于识别的长向量模式的系统开销。此 外,即使芯片唯一地在芯片内产生唯一的本征ID,也存在该ID会在 ID读取操作期间被非法拷贝的风险。尽管具有较长的ID向量减少了 这种风险,但是这是以增加向量管理复杂性及系统开销为代价的。本 征电子芯片识别的关键是例如为多于一百万个部件产生可靠的且唯一 的ID生成。这需要正确地定义只用于一个芯片的稳定的ID生成和 验证,而不会把该ID与其它ID误识别。除了ID生成的挑战之外, ID读取必需是足够安全的,以使得在ID读出期间不会被盗用。

图1a说明了现有技术的动态随机存取存储器阵列(DRAM), 包括多个布置在二维矩阵中的一个晶体管和一个电容器单元 (101)。DRAM阵列100由字线(WL)和位线(BL)支持,每个 WL支持耦合到偶数BL(BLe)或奇数BL(BLo)的多个单元。这 允许利用BLe和BLo为差分感测机制创建BL对。在存储器访问之 前,所有的BL被预先充电到BL预充电电压(VPRE)。VPRE优选地 设置成存储在单元中的0和1电压之间电压的一半。通过例子,假设 该单元为0存储0v,为1存储VDD,并且为1/2VDD感测机制存储设 置在1/2VDD的VPRE。当WL升高时,耦合到相应WL的单元被同时 激活,从而把所选单元中的电容器耦合到相应的BL(即,BLe)。 这导致在单元电容器和BL电容器之间电荷共享。其它BL(即, BLo)保持在VPRE(1/2VDD)电平,从而在每个BL对之间产生差分 电压(增量SA)。然后,在BL上的增量SA被放大到全部CMOS 电平并且通过读出放大器(SA)(102)锁定。对于0读数,BLe低 于BLo,从而允许BLe和BLo分别变低和变高。对于1读数,BLe 高于BLo,从而允许BLe和BLo分别变高和变低,并且允许单元恢 复完全放大的BL电压,以便被写入到相应的单元。写模式是通过激 活WL启用的,从而允许耦合相应WL的单元通过BL(即,BLe) 来写。写入到单元的电压是由作为动态随机存取存储器的电容器来维 护的。用于1数据(或VDD)的电容电荷会随着保留暂停时间的推 移而泄漏,从而导致1失败。为了增加保留时间,WL驱动器 (106)可以优选地使用负电压(VWL)来减少单元(101)的亚阈 区电流。将示出本发明中优选使用的本征芯片识别,该本征芯片识别 采用具有VWL控制的保留行为来创建可控的随机二进制向量,其细 节将在下文优选的实施例中加以讨论。

参考图2a,示出了现有技术的静态随机存取存储器单元及支持 电路系统,优选地包括六晶体管SRAM单元(201),其中六晶体管 SRAM单元包括交叉耦合反相器(230和231)和期望布置在二维矩 阵中接近多个类似的六晶体管SRAM单元的两个存取晶体管(232 和233)。单元被耦合到字线(WL)(205)和位线(BL)对(211 和212)。SRAM的存储器访问是通过激活WL使能信号(203)启 用的。这把WL(205)设为高,从而通过所述存取晶体管(232和 233)把交叉耦合节点(214和215)耦合到位线(211和212)。在 WL激活之前,位线均衡使能信号(207)变低,从而禁止BL均衡 设备(209),导致在BL对上产生差分电压。BL对上的差分电压利 用所述读出放大器(SA)(213)转换成数字二进制输出。如将在下 文中示出的,本发明中使用的本征ID生成在启用均衡器的同时优选 地激活WL,这导致在异常条件下产生随机的二进制串,其细节将在 下文优选实施例中加以讨论。

发明内容

因此,本发明的实施例提供了一种用于利用芯片在其生命期不变 且唯一的本征参数来识别芯片的系统和方法。由于该稳定的本征ID 依赖于由制造过程变化决定的参数,因此它是防篡改并且不能被伪造 的。典型的制造过程具有若干个在每个模具上唯一且随机变化的参 数,其中稳定位是通过提供用于ID生成和认证的保护带和验证方法 产生的。

在一种实施例中,该方法采用了一组本征保留特征,当使用唯一 识别该芯片的动态随机存取存储器时,这些特征不会重现。通过利用 芯片的本征保留特征识别该芯片,ID的安全性和成本被改善,其中 许多这些特征在测试和验证芯片是否合格时已经被记录。由于该实施 例利用了一个晶体管和一个电容器的密集存储器阵列结构,因此提供 了极低成本和极高安全性的解决方案,而不需要额外的处理、测试或 应力。

在一种实施例中,本发明包括增加电路来为存储在系统中的每个 芯片的至少两个ID启用询问-应答对,其中第一ID向量串包括第二 ID向量串,演示可以如何应用和使用询问-应答对。从基于普通设计 制造的、其中每个设备都实现第一函数的一组设备中识别和认证第一 设备是通过利用第三ID串实现的,使得第一ID串包括第三ID串, 并且第三ID串包括第二ID串。

在一种实施例中,本发明通过具有用于产生对认证动态改变的第 三ID的位向量增加ID系统的安全性,使得当ID读取向量被非法拷 贝时,安全性也是有保障的。

本发明的一种实施例有利地包括内置自测(BIST)引擎来启用 测试条件的自主调节以通过利用两个预定的相应密钥找到第一ID二 进制串和第二ID二进制串。这些密钥仅在第一ID和第二ID串生成 期间使用。

本发明的一种实施例包括内置自测(BIST)引擎来启用测试条 件的自主调节以通过利用动态密钥找到第三ID二进制串。该密钥被 用于认证和动态地跟踪每个认证。

一种实施例可以包括加密密钥并且输出ID二进制串以进一步提 高ID的安全性。

在一种实施例中,本发明通过应用第一函数、利用第一标识符作 为自变量应用单向函数来产生该单向函数的输出、并且把所述第一函 数应用到所述单向函数的输出来认证第一设备,其中第一函数的输出 依赖于应用的多位数字输入和集成电路的制造特征,集成电路的制造 特征会由于制造中的随机变化而在不同设备之间不同,包括在编码第 一标识符的第一设备接收信号。

在一种实施例中,加密提供了需要传统加密已知的询问应答对的 认证,而不需要利用原来识别串的未知且变化子集来覆盖识别或认 证。

在一种实施例中,设备阵列提供了通常在标准运行条件下的函 数,其可以被强制在异常运行条件下不同地操作。上面提到的异常操 作可以与一个或多个操作参数有关,使得把这些参数中的一个或多个 调整到超过正常操作区域导致可控数量设备的失败。

在一种实施例中,一个或多个电路块操作设备。芯片输入被应用 到电路块以获得ID。当该芯片需要被识别时,类似的输入被应用到 该芯片用于初始ID生成。基于所述的体系结构,会期望作为ID返 回的,在特定容差内类似于原来值的集合将在以后当ID被读取时返 回。

在一种实施例中,提供了一种用于识别具有存储器阵列的芯片的 方法,包括:利用计算机确定存储器阵列本征参数;产生用于产生第 一和第二身份(ID)二进制串的存储器阵列的第一窗口地址位置, 并且在该存储器阵列上迭代测试直到达到预定的失败计数。该方法还 可以包括比较第一ID二进制串和第二ID二进制串,其中如果第一 二进制串包括第二串的所有失败存储器地址,则第一二进制串和第二 二进制串变为芯片身份;否则,选择存储器阵列的第二新窗口地址位 置,返回到步骤b)直到获得芯片身份。

附图说明

从结合附图考虑的以下本发明实施例的详细描述,本发明将得到 更完全的理解和领会,其中:

图1a示出了现有技术的动态随机存取存储器的示意图;

图1b根据本发明的一种实施例,示出了带有支持电路块的动态 随机存取存储器的示意图,其中支持电路块可用于本征ID生成;

图2a是现有技术的静态随机存取存储器的示意图;

图2b根据本发明的一种实施例,示出了静态随机存取存储器的 可以用于本征ID生成的操作时序、电压和示意图;

图3是描述根据本发明的一种实施例的操作的流程图;

图4示出了关于测试条件的位图依赖关系,包括保留暂停时间、 字线低电压、或任何其它影响的元素,并且该图说明,作为自然保留 行为,较长暂停时间或较高字线电压如何增加失败的数量;

图5绘出了包括不稳定位、保护带、和安全区域的阵列示意图;

图6说明了产生唯一ID的概率PFUZZY(>PMIN);

图7示出了用于基于保留的本征芯片身份(RICID)生成和检测 的芯片和系统体系结构;

图8示出了与RICID相关的术语表;

图9说明了RICID生成流程图;

图10说明了RICID检测流程图;

图11示出了显示位图和ID唯一性的硬件和模拟结果;以及

图12说明了显示汉明距离的硬件和模拟结果。

具体实施方式

在此公开了本发明的详细实施例。但是,应当理解,所公开的实 施例仅仅是说明可以以各种形式体现的本发明。此外,结合本发明各 种实施例给出的每一个例子都是说明性的,而不是限制性的。

现在参考图3,示出了在其中说明的步骤可以用来实现本发明实 施例的流程图。

在步骤255中,确定存储器阵列的本征参数,随后是步骤260, 其中在存储器阵列中创建窗口地址位置。然后,在步骤265,选择预 定的失败计数,随后在步骤270,使测试存储器改变操作参数直到达 到预定的失败。在步骤275,记录第一ID串二进制向量,并且随后 在步骤280,选择预定的第二失败计数。在步骤285,测试存储器改 变操作参数直到达到期望的失败计数。在步骤290,记录第二ID串 二进制向量。在步骤295,比较第一向量和第二向量。在步骤299, 记录向量对作为ID。

现有技术的本征ID生成产生随机的位向量,其目标是50%的1 和50%的0数据以使汉明距离最大化。本发明实施例中的本征ID生 成产生两个随机的位向量,每一个都具有特定数量的0或1位,同时 满足规则:其中一个包括另一个的所有的1或0位。这可以在观察带 有保留行为的DRAM阵列操作或者带有异常条件和初始化机制的 SRAM阵列操作时通过向阵列引入反馈循环来完成。

现在参考图4,说明了关于测试参数310的位图模式301-304, 旁边是分别对应于位图302和303的ID二进制串向量312和313。 为了说明的目的,假设调制的测试参数310是用于在图1b中示出的 动态随机存取存储器(DRAM)的保留暂停时间,其中动态随机存 取存储器包括一个晶体管和一个电容器单元(1T1C)108的阵列107 以及读出放大器(SA)109。在产生本征ID之前,DRAM阵列107 把逻辑1存储到阵列中每个1T1C单元108的电容器。如果在单元电 荷泄漏之前读取数据位,则读取的数据是逻辑1,从而示出干净的位 图301。如果保留暂停时间增加,则有些泄漏的单元将比其它的单元 更早地放电到减小的电压,从而导致显示失败的位图302。随着保留 暂停时间的增加,位图中失败的数量增加303。一旦保留暂停时间足 够长,则位图中所有的单元将失败304。相关联地注意到:对于较短 暂停时间的失败位集合302是对于满足创建本征ID要求的较长暂停 时间的失败位集合303的子集。

现在参考图1b,失败的数量可以通过连接到WL驱动器111的 WL低电压(VWL)110(WL的备用状态)进行有利地控制。较高 的VWL增加泄漏,从而在位失败图303中创建较多的失败,类似于 在满足创建本征ID的要求的同时的较长保留暂停时间,而较低的 VWL在位失败图302中产生较少的失败。在实施例中提供了附加的 电路块,用于把失败计数反馈到VWL调节模块(电压产生器)114 中。失败计数器113具有目标失败计数112,并且通过到模块114的 命令调整VWL,从而利用新参数重复对阵列的测试,直到达到目标 失败计数。因为从SA读取逻辑0被认为是失败,因此失败计数器是 从SA的输出118中计数0位的数量的简单计数器。通过把VWL调 节到适当的电压设置,可以创建位图302和303以包括目标数量的失 败,同时满足对产生第一和第二ID二进制串的本征ID的要求,使 得第一ID二进制串包括在第二ID二进制串中记录的所有失败的 位。如在图4中所说明的,2D位图302和303分别被转换成两组ID 二进制串向量312和313,其中每一个逻辑1都是在失败位的地址位 置。可选地,转换的ID可以被压缩或者加密,从而在提高安全性的 同时减少ID的尺寸。

备选地,可以通过SRAM位线均衡电压电平有利地控制失败的 数量。再次参考图2b,示出了带有时序图的基于SRAM的本征ID 生成示意图,其中SRAM阵列243可以是传统的阵列。如之前所讨 论的,最重要的是提供一种创建带有相应两个目标数量的两个向量同 时满足其中一个向量包括另一个的规则的方法。这可以通过利用唯一 的时序控制来完成:在图237中示出的时序提供了在ID生成模式中 SRAM操作的可视描述。图4中的位失败图302和303说明如分别 在第二ID二进制串和第一ID二进制串中表示的会失败的位。如在 图2a中所示出的,SRAM阵列对六晶体管单元201中交叉耦合的反 相器(230和231)使用第一电压250、对字线驱动器202使用第二 电压204、对位线均衡驱动器206使用第三电压208,并且使用通过 所述位线均衡器209耦合到位线的第四电压210。在本征ID生成之 前,用于所有存储器单元的交叉耦合节点214和215分别设置成高 (逻辑1)和低(逻辑0)。如本领域已知的,这可以通过把1数据 写到SRAM阵列来完成,因此将不再进一步讨论。与传统的SRAM 操作不同,对于本征ID生成,均衡器晶体管209通过在WL被信号 203激活时把信号207保持在高从而保持在开启。这导致交叉耦合节 点214和215之间短路并且到电压210。信号207在WL停用之前变 低,从而允许交叉耦合节点214和215的设置分别是高和低或者低和 高。状态是利用存取晶体管232和233、均衡器晶体管209强度和用 于交叉耦合的反相器(230和231)的阈值电压失配来确定的。这使 得产生包括大约50%的逻辑0和50%的逻辑1的二进制向量模式。 本发明中的本征ID生成为0和1模式生成创建歪斜。例如,如果存 取晶体管232、存取晶体管233、均衡器晶体管209或任意组合不足 够强,则逻辑值很有可能反转原先存储的电荷。随着交叉耦合节点均 衡效果增强,SRAM阵列中有些位将反转到相反的逻辑状态,这在 位失败图中记录为失败。随着以上提到的第一电压减小,节点的均衡 效果增加,从而导致更多的失败位。通过调节第一、第二、第三或这 些电压的任意组合,可以创建包括目标数量的失败的位图235和 236,同时满足用于产生第一和第二ID二进制串的本征ID的要求, 使得第一ID二进制串包括第二ID二进制串中记录的所有失败位。 时序图237提供了在ID生成模式中SRAM操作的可视描述。位失败 图235和236说明如分别在第二ID二进制串和第一ID二进制串中 表示的会失败的位。节点均衡效果可以通过调节第一电压、第二电压 或第三电压的任意组合备选地增加。

如在时序图(237)中所示出的,作为例子,调节第一电压250 使得可能通过在多个读和写周期上调节运行条件利用SRAM完成用 于ID生成的目标失败计数。如前所述,如果节点(214和215)被 额定电压(250:1V,204:1V,208:1V和210:0V)短路,则产生的 向量将可能是50%的0和1。在本发明的一个实施例中,为了实现增 加0和1目标数量的本征ID向量,首先在正常操作模式下把逻辑1 写到存储器阵列的每一个单元,然后,计数器确定0位的数量。如在 301中示出的,如果在传统的读取操作时读取位,所有的数据将是 1,从而导致0个失败。然后,通过启用WL而不需禁用BL均衡器 一段预定的时间来短路交叉耦合节点(214和215)。当均衡器被禁 用时,交叉耦合节点(214和215)取决于过程的随机参数被反转, 从而导致大约50%的位从1反转到0。失败的数量是通过计数器214 监视的,其中计数器214控制第一电压250用于下一次尝试。如果通 过该动作没有达到目标失败计数,则执行正常SRAM写周期来把1 数据重写到阵列的每一个单元,然后通过Vgen242把第一电压250 降低到第二个值。除了从1变化到0的位的数量将有利地从之前第一 ID生成周期降低,从而使得失败位的数量接近目标值240之外,阵 列现在是利用ID生成时序访问的,但是包括对250的新的电压设 置。重复重写1、降低第一电压250、应用ID生成时序并且读出存 储器位的过程,直到达到期望的失败计数。

两组本征ID的生成可以通过改变其它电压来产生。例如,改变 位线均衡电压(208)允许控制1位的数量。在这种方法中,类似于 之前如第一步骤的用额定电压(250:1V,204:1V,208:1V,210: 0V)的250方法,所有的单元都写入1。电压(208)设置在0V。这 导致零个失败位(用于读取1的完美位图),因为,即使WL均衡 器同时开启,交叉耦合节点(214和215)也没有短路。作为下一 步,电压208增加到0.1V,从而允许交叉耦合节点(214和215)被 弱短路,从而导致很少的失败(很少的位是0),其结果是通过计数 器(241)观测的。如果失败的数量没有满足目标数量,则Vgen (242)把电压208增加到0.2V。重复这个过程直到失败的数量满足 目标数量。也可以利用类似的方法通过改变WL电压(204)来实现 ID生成。总之,节点均衡效果可以通过调节第一电压、第二电压、 第三电压或第四电压的任意组合备选地增加或减少,从而允许生成两 个ID向量,同时满足相应的目标。

说明了能够进行电压调节以有利地控制用于本征ID生成的 SRAM失败计数的结构。目标失败计数240呈现给失败计数器241。 该计数器通过到电压产生器242的输入请求第一、第二、第三、第四 电压或任意组合的电压的调节,其中电压产生器242调节电压并把电 压施加到SRAM阵列243。从SRAM阵列输出的结果244被反馈到 失败计数器241中,失败计数器241迭代上述步骤直到达到目标失败 计数。

无论利用保留暂停、VWL电压或SRAM电压控制进行ID生 成,较短保留暂停时间、较低VWL电压、或较高SRAM位线均衡 电压的保留失败位包括在较长保留时间、较高VWL电压或较低 SRAM均衡电压的保留失败位中。

以下实施例假设基于保留的本征ID生成使用了VWL控制。但 是,它也可以应用于保留暂停或者SRAM位线均衡的方法。

参考图5,将采用结合模糊算法的电压调制或基于保留的本征芯 片ID(下文称作RICID)。RICID优选地使用保留失败来创建ID 向量模式。如之前提到的,由于DRAM单元保留的自然属性,产生 的向量位对每个芯片是随机的模式,这可以有利地用于本征ID。但 是,当许多位改变时,当前的方法会误识别芯片。当检测到的位靠近 保留角落的边界时,不稳定的位将在失败位列表中出现或消失。 RICID采用多个测试模式或参数,使得对于较短保留时间和较多有 利电压的失败向量是对于较长保留时间和较多引入失败电压的失败向 量的子集。

示出了存储器阵列(400),包括WL和BL,但是省略了单个 单元。位失败图(401)表示把测试条件应用到存储器阵列以及在特 定地址(用圆圈表示)观察单元失败的结果。失败位被归类到多个区 域(例如,A、B、C和D)中,其中向量A、B和C包括在向量D 中(预定的最长保留或最不利的测试角落)。在显示如果阵列物理特 征落入诸如A、B、C或D区域的范围内就改变操作参数将引起阵列 位失败的图旁边,绘出了关于允许诸如VWL的单元失败(411)数 量控制的操作参数的调整示出的区域。如果观察到A是在D中,则 预测B和C是在D中。每个区域边界包括附加的保护带(GB) (410),从而导致由具有失败位加保护带的最小集合的向量以及具 有失败位减保护带的最大集合的向量定义的安全区域(SZ)的创 建。因此,即使几个不稳定位变化,只要它们保持在安全区域内,则 就认为RICID是唯一的。

参考图6,说明了用于创建唯一ID的概率PFUZZY的分析模型, 其中i、j、k和n分别表示eDRAM阵列中位的数量、保留失败的最 大数量、保留失败的最小数量、和使用的样本或芯片数量。该模型预 测:对于106个部件超过99%的唯一RICID的概率,4Kb的阵列 (I=4K)是绰绰有余的,其中j=100和k=10。

现在参考图7,示出了带有模糊算法的、采用RICID的芯片 (620)和系统(600)体系结构与流程图。为了说明的目的,假设芯 片包括128Kb的eDRAM阵列(621),其具有32个4Kb的片段, 编号为(0,0)到(7,3)。它们由BIST(625)、字线低电压 (VWL)产生器(622)、RICID产生器(IDGEN)(624)、和片段 管理器(SEG)(623)支持。为了避免过程的边缘效应并增加ID 的随机性,只使用了其坐标落入(1,1)和(6,2)之间的12个中间片 段。该系统包括模块(602),该模块请求带有给定KEY(密钥) (610)的RICID并期望RICID(611)响应。它进一步包括在表 (601)RICIDTBL中存储RICID的能力。

为了生成目的,该系统提供了具有两个固定密钥(602)的芯 片,其中两个固定密钥为KEYMIN和KEYMAX,分别是在RICID串 中所期望的保留失败的最小数量和最大数量。当该芯片接收ID请求 (610)时,BIST(625)改变VWL(622),使得对于第一片段 (1,1),KEYMIN≤RICID的数量≤KEYMIN+GB。如果该芯片不满足 这个条件,则BIST利用SEG(623)选择下一片段(2,1)。如果 BIST找到合适的条件,则向量RICIDMIN临时地由BIST存储,并且 BIST通过改变VWL以满足KEYMAX–GB≤RICID的数量≤ KEYMAX,从而利用第二个值KEYMAX发起对向量RICIDMAX的搜 索。通过确认向量RICIDMIN是RICIDMAX的子集来实现该验证。否 则,认为向量是不可靠的,不正确的条件是通过BIST检测到的,并 且该片段通过SEG递增,从而利用之前描述的上面提到的VWL调 整来搜索新的RICIDMIN和RICIDMAX,以应用到下一片段。如果找 到合适的RICIDMIN和RICIDMAX对,则向量通过IDGEN(624)压缩 并且作为RICID(611)输出到系统。然后,把RICID向量与 RICID表(601)中现有的RICIDTBL向量(如果可以得到的话)进 行比较,以确认它是唯一的ID。否则的话,系统通过要求BIST递 增片段选择SEG来请求新的RICID对。该唯一的RICID优选地由 制造商存储在表中。更一般而言,SEG可以可选地存储在eFUSE中 或者表中。

RICID读取操作是通过把读取密钥KEYR在KEY(610)处提供 给芯片来启用的。为了提高安全性,KEYR在每个读取操作中动态地 改变。两个相邻的KEYR值应该分开远于两GB,从而即使不稳定位 在边界内改变也允许正确检测。一旦BIST配置为用于ID检测,并 且在接收到KEYR输入之后,芯片通过在类似于RICID生成模式的 方法中改变VWL来产生失败向量RICIDR。然后,RICIDR输出到系 统。初始地,系统检查RICIDR中1位的数量是否等于在GB容差范 围内由系统输入的数量KEYR,以防止非法密钥读出,诸如赝品可能 预先编程的以前的密钥。如果数量是有效的,则对照由制造商或 OEM存储的RICID表比较RICIDR以找到RICIDMAX,其中给定的 RICIDR是其的子集。

参考图8,说明了定义与RICID生成、检测和存储有关的术语 的表。

芯片的输入是KEY,芯片的输出是RICID,并且存储的值是 RICIDTBL。对于ID生成,提供的KEY值是KEYMIN和KEYMAX, 其描述了在ID串中允许的1位的最小数量和最大数量,受制于 GB,RICID响应值分别是RICIDMIN和RICIDMAX,并且作为结果存 储的RICIDTBL值是RICIDMIN和RICIDMAX。在ID读取操作期间, 值KEYR输入到芯片,并且响应是RICIDR,其与存储在RICIDTBL中的RICIDMAX进行比较并且预期是RICIDMAX的子集。

参考图9,绘出了说明RICID生成步骤的流程图,包括可以用 来找到适当RICID的特定方式。芯片(800)的输入接收KEYMIN和 KEYMAX。初始测试条件应用到存储器阵列的片段,以期望阵列将没 有失败单元(801)。如果它确实有,则必须选择不同的片段 (807)。否则,改变VWL电平(或其它适当的测试参数)(802) 直到在芯片上发生的失败数量大于或等于KEYMIN但是小于 KEYMIN+GB(803)。失败的单元地址临时记录为RICIDMIN。进一 步改变VWL电平(或其它适当的测试参数)(804)直到在芯片上 发生的失败单元的数量大于或等于KEYMAX-GB但是小于或等于 KEYMAX。失败单元的地址临时记录为RICIDMAX。如果RICIDMAX包括RICIDMIN(806),则把RICIDMIN和RICIDMAX值输出到系统 (810)。如果RICIDMAX不包括RICIDMIN,则片段递增到下一个适 当的位置(813),并且从801开始重复该过程。如果没有可用的适 当片段,则报告错误(802),并且由于不合适的硬件不能通过这种 机制记录芯片ID。下一步,把RICIDMIN和RICIDMAX与表中现有记 录的RICID值的列表进行比较(811)。如果它们在按给定规范制造 的设备组中是唯一的,则通过制造商或OEM把该RICID值存储在 表中(812)。

参考图10,示出了说明RICID读取步骤的流程图,包括可以用 来找到适当RICID的特定方式。芯片(900)的输入接收KEYR。初 始测试条件应用到RICID原先从其收集的片段,以期望阵列将没有 失败单元(901)。如果它确实有,则芯片被损坏并且不能读取 RICID,因此报告错误(920)。如果它没有,改变VWL电平(或 其它适当的测试参数)(902)直到在芯片上发生的失败数量几乎等 于KEYR,即在比KEYR大或小GB的范围内(903)。如果通过移 动规定的测试参数不能找到适当的失败计数,则不能识别该芯片,并 且芯片甚至可能是假冒的芯片(因为真正的芯片会提供对失败计数的 控制),因此报告错误(920)。失败单元的地址从芯片输出作为 RICIDR(911)。系统(910)接收RICIDR并且检查在RICIDR中报 告的失败位的数量是否接近KEYR并且在GB范围内(912)。如果 它不是这样,则芯片是无效的并且报告错误(920)。下一步,为存 储的包括RICIDR的RICIDMAX值搜索RICID值的表RICIDTBL(913)。否则,该芯片不是设备组的成员并且可能是赝品,或者它 可能是未知来源的,或否则的话是无效的,在这种情况下报告错误 (920)。否则,RICIDR与表中的值相匹配并且芯片被成功识别 (914)。

目前使用的说明性芯片被假定为不具有BIST或内置VWL调节 功能。但是,这些功能可以通过ATE通信利用存储器阵列在DMA 模式中模拟。通过以2mV的步进递增应用到存储器阵列的VWL 值,优选地为32个eDRAM阵列收集RICID,以收集预定数量的失 败。对于目前的说明性演示,选择了4Kb的阵列区域。在15%GB 范围内具有最多100位的RICID是通过移动VWL值从每一个芯片 中收集的,并且通过确认从芯片中获得10个失败位以及确认原先的 RICID中发生相同的失败,为所选择的阵列区域验证RICID。下一 步,利用25、50和75的样本KEYR请求识别芯片。利用这些到模拟 的BIST的输入,确认芯片可以利用原先记录的RICIDTBL的子集被 唯一识别。

参考图11,说明了对32个芯片的硬件结果。用于跨不同ID尺 寸的单一芯片的位图集合(1101)示出了对于4Kb区域的从一个ID 到下一个跟踪的失败(1102)。图(1110)描绘了在Monte Carlo模 拟中和在硬件中,对于第一芯片的RICIDMAX=100和同一芯片的 KEYR=50的任意组合,在失败向量中呈现的最多5个普通位。

参考图12,说明了用于所有RICIDMAX向量对的汉明距离分 布,其中所有RICIDMAX向量对是通过Monte Carlo模拟(1201)和 实验性地利用硬件(1202)产生的。优选地,两组向量优选地具有从 86到100范围的j和对RICIDMAX来说等于94.8的平均失败数量。 对于模拟结果汉明距离的平均数和σ是94.7和2.8,并且对于实验的 结果是94.6和3.0。在正常分位数图中,距离通常分布在95%的置信 度范围内。

本发明可以用硬件、软件或硬件和软件的组合实现。本发明可以 以集中的方式在一个计算机系统中实现,或以分布式的方式实现,其 中不同的元件散布在若干个互连的计算机系统上。任何类型的计算机 系统--或适合于执行本文所描述方法的其它装置--都是合适的。硬件 和软件的典型组合可以是带有计算机程序的通用计算机系统,当所述 计算机程序被加载并且执行时,控制该计算机系统,从而使它执行本 文所描述的方法。

本发明还可以被嵌入在计算机程序产品中,该计算机程序产品包 括能够实现本文所描述方法的所有特征,并且当其被加载到计算机系 统中时,能够执行这些方法。

本上下文中的计算机程序器件或计算机程序意指一组指令的任意 语言、代码或符号的任意表示,所述指令旨在使具有信息处理能力的 系统直接地执行特定的功能,或者在转换为另一种语言、代码、或符 号并且/或者以不同的材料形式复制之后执行特定的功能。

虽然本公开内容已经关于其优选实施例特定地示出并进行了描 述,但是本领域技术人员应当理解,在不背离本公开内容主旨与范围 的情况下,可以对形式和细节进行以上及其它改变。因此,本公开内 容不是要限定到所描述和说明的精确形式与细节,而是落入所附权利 要求的范围之内。

工业实用性

本发明在集成电路芯片的设计中找到工业实用性,以确保提供高 安全性和高认证准确度的芯片识别,并且在种类繁多的电子或电气装 置中找到应用。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号