PUF标识符赋值和测试方法及设备与流程

文档序号:15307957发布日期:2018-08-31 21:19阅读:374来源:国知局

本发明涉及赋值设备(assigningdevice)、对象标识系统、测试系统、赋值方法、计算机程序和计算机可读介质。



背景技术:

物理不可克隆功能采用制造变化来导出数字标识符。该数字标识符因此与物理介质相关联。因为物理不可克隆功能取决于随机过程变化,所以创建puf是很容易的,但是非常难以(如果不是完全不可能)创建将产生特定预定标识符的puf。制造变化导致了例如存储器元件中的不同物理特性。物理特性可以包括:掺杂浓度、氧化物厚度、沟道长度、结构宽度(例如,金属层的结构宽度)、寄生效应(例如,电阻、电容)等。当数字电路设计被制造多次时,这些物理特性会略微变化,并且它们共同引起ic元件(例如,存储器元件)的行为在一些情况下表现不同。例如,启动行为是由物理特性中的制造变化确定的。

例如,已经观察到,一些存储器元件(例如,sram)的启动行为展示如同puf那样的行为。当这样的存储器被加电时,它倾向于含有内容,即包括数据值的序列,该内容取决于组成该存储器的部件(例如,门或晶体管)的至少部分随机的物理特性,例如它们相对于彼此的物理布置。如果存储器被加电多次,则它将大比例地含有相同的内容。

puf提供了不可预测的响应和设备唯一的响应,但由于它们的物理起源,这些响应可能受测量噪声和环境影响。一方面足够唯一以标识puf但另一方面受噪声影响的puf响应被称为模糊标识符。

使用模糊标识符来标识对象,例如附接puf或以其他方式与puf相关联的对象是有问题的。对象标识符优选地是完全可靠的。例如,如果模糊标识符在多个测量时改变,则使用模糊标识符作为用于在数据库中搜索(例如,以恢复测试数据,诸如制造日期)的索引将不起作用。

在本领域中,此问题已经用所谓的辅助数据得以解决。在初始的登记(enrollment)阶段,从puf响应导出对象标识符。在登记过程中,产生用于puf响应的辅助数据。

辅助数据能够将噪声模糊标识符变换成可靠标识符。在此过程中可以使用误差校正程序来校正波动,且确保每次使用puf时导出相同的数字标识符。误差校正程序使用辅助数据来从模糊标识符移除噪声。稍后在现场,重新构建阶段重新评估puf响应,且使用来自登记阶段的辅助数据重新构建相同的对象标识符。因此,在登记阶段和重新构建阶段中间需要将辅助数据与计算辅助数据的puf一起存储。



技术实现要素:

提供了一种用于将固定标识符赋值到模糊标识符的赋值设备。所述赋值设备包括:

-数据库,存储多个数据库记录,每个数据库记录存储一个模糊标识符,

-网络接口,被布置成接收模糊输入标识符,

-匹配单元,被布置成:

-根据匹配标准确定所述数据库中是否存在与所述模糊输入标识符匹配的匹配模糊标识符,且随即向固定标识符确定单元发送匹配信号,

-根据缺失标准(absentcriterion)确定所述数据库中是否不存在匹配模糊标识符,且随即向数据库添加单元发送缺失信号,

-数据库添加单元,被布置成接收所述缺失信号,且在所述接收后,将一个数据库记录添加到所述数据库,所述添加的数据库记录存储所述模糊输入标识符,且进一步向所述固定标识符确定器发送匹配信号,以及

-固定标识符确定器,被布置成接收所述匹配信号,且在所述接收后,从存储所述匹配模糊标识符的数据库记录确定固定标识符,其中

-所述网络接口被布置成传输所述固定标识符。

所述赋值设备允许模糊标识符甚至与期望固定标识符的常规信息处理系统一起使用。所述赋值设备可以被用作将模糊标识符转变成固定标识符的转变服务。所述赋值设备的用户不必知道之前是否已经登记了模糊标识符:如果所述赋值设备发现了匹配模糊标识符,则返回固定标识符。如果所述赋值设备发现不存在匹配模糊标识符,则添加新记录并且也返回固定标识符。此外,所述赋值设备的用户不必存储任何信息,诸如辅助数据(误差校正数据)来抑制模糊标识符中的噪声。

在一个实施方案中,如果根据匹配标准在所述数据库中不存在与所述模糊输入标识符匹配的匹配模糊标识符,则满足缺失标准,以使得所述匹配单元对于任何模糊输入标识符发送匹配信号或缺失信号。因此,对于所接收的模糊标识符,所述赋值设备将总是返回固定标识符。这使所述赋值设备特别容易嵌入在现有基础设施中,因为固定标识符将总是可得的。在描述中,这些类型的实施方案被称为类型1实施方案。

在一个实施方案中,所述匹配单元被布置成:

-如果根据匹配标准在所述数据库中不存在与所述模糊输入标识符匹配的匹配模糊标识符,则根据近似匹配标准确定在所述数据库中是否存在与所述模糊输入标识符近似匹配的近似匹配模糊标识符,且如果存在所述近似匹配模糊标识符,则通过所述网络接口发送重新采样错误消息。

-所述匹配单元被布置成,在接收到所述模糊输入标识符后,发送匹配信号、近似匹配信号或缺失信号中的至多一个。

在描述中,这些类型的实施方案被称为类型2实施方案。在某些罕见的情况下,类型1实施方案可能在多个模糊标识符匹配一个模糊输入标识符的情形下终结。这样的歧义情形是不期望的。通过增加模糊标识符的长度,可以使在类型1实施方案中出现这样的歧义的概率尽可能低。尽管如此,期望有一种避免这些情形的替代方法。在类型2实施方案中,潜在问题从模糊标识符的匹配转移到模糊标识符的添加。在添加期间,不同的选项可用于处理此问题。

在一个实施方案中,所述匹配单元被布置成:

-在确定所述数据库中存在所述匹配模糊标识符时,将所述模糊输入标识符存储在存储所述匹配模糊标识符的数据库记录中,

-所述匹配单元被布置成使用所述存储的模糊输入标识符用于未来对匹配和存在的确定。

如果模糊标识符被获得多次,则模糊标识符将不完全相同,例如,由于噪声。然而,puf也可能受漂移影响,例如由于被称为老化的过程。由于漂移,模糊标识符可能缓慢地改变成不同的模糊标识符,这进而阻碍匹配。通过执行相对于最新的模糊标识符的匹配,避免了由于漂移而导致的失败匹配。

在一个实施方案中,所述数据库被布置成存储通过存储数据库添加单元响应于缺失信号而存储在数据库记录中的原始模糊标识符以及存储的模糊输入标识符,

-所述赋值设备包括漂移单元,所述漂移单元被布置成:

-确定所述原始模糊标识符和所述存储的模糊输入标识符之间的距离,如果所述距离在漂移阈值以上,则发送漂移错误消息。存储的模糊输入标识符可以作为先前匹配操作的结果而被存储。

如果漂移变得太大,则它可能指示对应的puf已经变得不可靠。通过用信号通知此情形,可以采取适当的措施,例如替换puf。

本发明的一个方面涉及一种对象标识系统。所述系统包括:

-赋值设备,

-读取器,被布置成从物理不可克隆功能读取模糊标识符,一个模糊标识符标识一个物理不可克隆功能并且受噪声影响,所述物理不可克隆功能与对象相关联,

-所述读取器包括:

-网络接口,被布置成:

-将读取的模糊标识符作为模糊输入标识符发送到所述赋值设备的所述网络接口,并且从该网络接口接收固定标识符。

所述对象标识系统可以使用固定标识符存储和检索对象的信息,即使所述对象仅提供模糊标识符。

所述赋值设备和读取器是电子设备。所述对象也可以是电子设备,例如,含有puf的电子设备。所述赋值设备也可以被应用至从生物测定所获得的模糊标识符。

在本文中所描述的赋值方法可以被应用至广泛的实际应用中。这样的实际应用包括对象追踪、测试、数据存储和检索等。对象追踪可以被用在例如测试、伪造防止等中。

根据本发明的方法可以被实施在计算机上作为计算机实施的方法,或可以被实施在专用硬件中或可以被实施在二者的组合中。用于根据本发明的方法的可执行代码可以被存储在计算机程序产品上。计算机程序产品的实施例包括存储器设备、光学存储设备、集成电路、服务器、在线软件等。优选地,该计算机程序产品包括存储在计算机可读介质上的非暂时性程序代码,用于当在计算机上执行所述程序产品时执行根据本发明的方法。

在一个优选实施方案中,该计算机程序包括计算机程序代码,当该计算机程序在计算机上运行时,该计算机程序代码适于执行根据本发明的方法的所有步骤。优选地,该计算机程序被实现在计算机可读介质上。

本发明的另一方面提供了一种使计算机程序可供下载的方法。当计算机程序被上传到例如apple的appstore、google的playstore或microsoft的windowsstore内时,且当计算机程序可从这样的商店下载时,使用此方面。

附图说明

将参考附图仅以实施例的方式描述本发明的其他细节、方面和实施方案。图中的元件出于简单明了的目的被例示,且所述元件不必按比例绘制。在图中,与已经描述的元件对应的元件可以具有相同的附图标记。在附图中,

图1示意性地示出了赋值设备的实施方案的一个实施例,

图2a示意性地示出了对象标识系统的实施方案的一个实施例,

图2b示意性地示出了测试系统的实施方案的一个实施例,

图3示意性地示出了模糊标识符的实施例,

图4示意性地示出了数据库记录的实施例,

图5a示意性地示出了例示了赋值方法的实施方案的一个实施例的流程图,

图5b示意性地示出了例示了赋值方法的实施方案的一个实施例的流程图,

图6a示意性地示出了根据一个实施方案的具有包括计算机程序的可写部分的计算机可读介质,

图6b示意性地示出了根据一个实施方案的处理器系统的表示,

图7a是示出了对于模糊id长度n=300,匹配单元的一个实施方案的失误概率(frr和far)作为汉明距离匹配阈值t的函数的图表,

图7b是示出了对于模糊id长度n=400,匹配单元的一个实施方案的失误概率(frr和far)作为汉明距离匹配阈值t的函数的图表,

图7c是示出了匹配单元的一个实施方案的可实现的等错误率(eer)作为模糊id长度n的函数的图表,

图8a示意性地例示了匹配单元、数据库和预匹配数据库的一个实施方案,

图8b例示了数据库810的可能内容的一部分,

图8c例示了对应于数据库810的预匹配数据库811的可能内容的一部分,

图8d例示了可能的预匹配数据库811'的一部分,

图8e例示了形成预匹配模糊输入标识符的一个实施例。

图1-图3中的附图标记的列表:

100赋值设备

110数据库

120网络接口

130匹配单元

140固定标识符确定单元

150数据库添加单元

160漂移单元

200对象标识系统

210、220、230对象

212、222、232物理不可克隆功能

250、252读取器

253测试设备

254检索设备

255数据库

262、264第一连接

263、265第二连接

251网络接口

310-332模糊标识符

具体实施方式

虽然本发明可能有许多不同形式的实施方案,但是附图中示出了并且将在本文中详细描述一个或多个具体实施方案;应理解,本公开内容应被认为是本发明的原理的例示,而不意在将本发明限于所示出及所描述的具体实施方案。

在下文中,为了理解起见,在操作中描述了实施方案的元件。然而,很明显,相应的元件被布置成执行所描述的由它们执行的功能。

图1示意性地示出了赋值设备100的实施方案的一个实施例。赋值设备100的应用包括对象标识系统200。在图2a中示意性地示出了对象标识系统200的实施方案的一个实施例。图3示意性地示出了模糊标识符的实施例。

赋值设备100被布置成将固定标识符赋值到模糊标识符。模糊标识符对它的源进行标识,但同时受噪声影响,例如来自相同源的两个模糊标识符可能接近。更正式地,来自相同源的两个模糊标识符彼此之间的差异比第一阈值更大的可能性小于概率界限。概率界限可能取决于应用;比方说,该界限可能是10-6

尽管模糊标识符的标识方面是期望的,但是它也受噪声影响的事实使模糊标识符的应用有问题。例如,如果现有基础设施期望对象标识符是唯一的且固定的,例如不受噪声影响,则不能够使用模糊标识符替换现有基础设施中的对象标识符。

模糊标识符的一个特别重要源是物理不可克隆功能(puf)。对象标识系统200可以标识与物理不可克隆功能相关联的对象。图2a示出了三个这样的对象210、220和230,它们包括相应的物理不可克隆功能212、222和232。

物理不可克隆功能

puf212-232被布置成产生模糊标识符。下面将描述puf212。puf222和puf232可以是类似的。puf响应(例如,模糊标识符)可以被编码为位串。由于模糊标识符是有噪声的,因此位串也是如此。模糊标识符也被称为噪声位串。每次从puf获得模糊标识符时,它可能与先前产生的模糊标识符略微不同。

puf212可以被设计成使得由puf212产生的第一模糊标识符和第二模糊标识符彼此足够接近,例如,具有低于第一阈值的距离,例如它们的xor差的汉明权重小于第一阈值。此外,该系统中的puf被设计成使得由两个不同的puf(例如,puf212和puf222)产生的第一模糊标识符和第二模糊标识符彼此足够不同,例如,它们的xor差的汉明权重大于第二阈值。

在单个对象标识系统中,所有使用的puf通常是相同类型的。但相同类型不是严格必需的,只要模糊标识符在该系统内进行标识即可。

由相同puf随后产生的模糊标识符之间的改变量与不同类型的puf随后产生的模糊标识符之间的改变量不同。puf类型的典型改变量影响puf的期望长度。如果改变量很小,例如,模糊标识符具有低噪声,则可能需要较短的位串,如果改变量较大,则可能需要较长的位串。

puf212可能需要一个电力循环,例如断电之后再上电以再次产生模糊标识符。

puf被绑定到物理设备,使得在不使用该物理设备来实际评估该puf的情况下,预测该功能的输出在计算上不可行。此外,因为puf是通过物理系统实现的,所以难以克隆。由不完全受控(即,含有一些随机性)的生产过程生产的物理系统被证明是puf的良好候选。在一个实施方案中,puf212从而对象210可以是基于由puf212提供的响应及由其导出的固定标识符而被唯一地标识的。模糊标识符可以在一组对象内唯一地标识;例如,相同品牌或型号等的设备。

puf的物理系统被设计成使得它以复杂的方式与刺激相互作用,且导致唯一但不可预测的响应。puf的刺激被称为激励(challenge)。某个puf允许较大范围的不同激励,产生不同的响应。puf激励和对应的响应一起被称为激励-响应-对。然而,puf也可以具有单个激励。puf212可以是单激励puf。puf212也可以是多激励puf。在puf212是多激励puf的情况下,当产生模糊标识符时,用相同的激励或激励集合来激励puf212。

合适的puf源由在加电时含有对存储器的标识有用的加电值的响应模式的电子易失性存储器形成,所述响应模式取决于存储器元件的物理特性。

用来唯一地标识设备的puf的一个已知的实施例是所谓的srampuf,这是基于以下事实:当启动sram单元时,由于晶体管的阈值电压的变化(这些变化转而是由于掺杂变化造成的),sram单元以随机状态启动。当这被执行多次时,每个单元在大多数时间将以相同的状态启动。这些puf可以被实现在具有板载sram存储器的任何设备上。

表现出对于标识存储器足够稳定的随机启动行为的任何存储器被称为可激励的存储器。因为启动行为是随机的,所以两个不同的存储器在它们的启动存储器模式上将具有很大差异;因为启动行为是稳定的,所以同一存储器的两个启动存储器模式将具有很小差异。这样的存储器的实施例是所提及的sram存储器单元以及如同触发器那样的存储器元件。实际上,可以使用包括多个反馈回路的任何类型的易失性存储器。此类srampuf被更详细地描述于专利出版物wo/2007/116325中。

第二类基于puf的sram可以用双端口ram构建。通过同时在两个端口上写入不同的信息,存储器单元进入未定义的状态并且表现出类似puf的行为。在wo2009024913中更详细地描述了此类puf。其他所谓的本征puf基于延时现象,参见例如us20030204743。puf可以是通过在fpga上例如通过交叉耦合的逆变器或锁存器对sram存储器单元进行仿真来构建的,所谓的蝴蝶puf参见欧洲专利ep2191410b1和wo2011018414a2。puf212可以是包括多个总线保持器(例如wo2012069545中所描述的)或触发器(wo/2012/045627)的物理不可克隆功能。

在us2015/0215115a1中描述了光学物理不可克隆功能。例如,光学物理不可克隆功能可以通过包括光学干涉仪或光学环形谐振器的光子电路来读取。

puf的另一个实施例是涂层puf。涂层被施加到集成电路。由于涂层内部的电介质颗粒的随机分布,由涂层引起的电容横跨它的表面变化。测量涂层的不同位置处的电容给出不同的值。测量的值可以被映射到数字(例如,逐位)值。涂层puf的优点是它们相对可靠并且仅需要很少的误差校正。

基于振荡的puf电路可以包括许多相同布局的延时回路(环形振荡器),所述延时回路以特定频率振荡。由于制造变化,每个环以略微不同的频率振荡。为了生成输出位,选择两个环并且比较它们的频率。可以通过例如基于激励输入选择k个不同的振荡器对来创建k位输出。

例如,读取器(诸如,读取器250和252)可以被布置成从物理不可克隆功能读取模糊标识符。读取器的类型取决于puf的类型。例如,为了读取光学puf,可以使用光学读取器,例如光学干涉仪等。为了读取基于数字存储器的puf,读取器可以被布置成连接到puf的数字电路,以接收(例如,读取)模糊标识符。例如,puf可以包括被布置成读取puf的内容的读取电路系统。在后一种情况下,读取器250可以被布置成从puf接收模糊标识符。

返回到图1;赋值设备100包括网络接口120,网络接口120被布置成接收模糊输入标识符。例如,网络接口120可以被布置成通过计算机网络(例如,lan、因特网等)接收模糊输入标识符。该网络接口可以被布置成用于有线接收或无线接收等。网络接口120从一设备接收模糊输入标识符,该设备被称为请求设备。例如,读取器250和252是请求设备。

在一个实施方案中,由网络接口120接收的模糊标识符已经从puf获得。例如,puf可以被包括在对象中或以其他方式与对象相关联。模糊标识符也可以是生物计量标识符,或简称为生物计量。生物计量标识符是从个体(例如,动物,诸如人类)的标识所述个体的可测量特性测得的。实施例包括但不限于指纹、手掌静脉、脸部辨识、dna、掌纹、手掌几何特征、虹膜辨识和视网膜。如同从puf获得的模糊标识符,生物计量标识符仍受噪声影响。出于阐述的原因,将解释赋值设备100为犹如模糊标识符是从puf获得的。将使用对象标识应用来进一步解释赋值设备100;然而,赋值设备100还可以与生物计量一起使用,例如在个体标识系统中。例如,个体标识系统(200)可以包括赋值设备和布置成用于读取生物计量标识符的读取器。

赋值设备100被布置成将固定标识符赋值给通过网络接口120所接收的模糊标识符。该固定标识符还标识对象或个体,但不受噪声影响。该固定标识符可以被用在尚未适应模糊标识符的传统基础设施中。例如,该固定标识符可以被用作密钥,在该密钥下存储和检索信息,特别是关于所标识的对象的信息。

赋值设备100包括存储多个数据库记录的数据库110。每个数据库记录存储一个模糊标识符。例如,数据库110可以被实施为数据库单元。数据库110可以以多种格式布置。该数据库可以是高级类型的,比方说基于mysql的等。然而,数据库110也可以是相当简单的。例如,数据库可能是一个表格,其中行对应于记录。该表格的一列含有模糊标识符。例如,数据库(例如,以这样的表格的形式)可以以数字格式存储。下文更充分描述的图4示出了数据库110的记录的多个实施例。图4示出了二进制格式的数字。数字的其他表示是可能的。此外,模糊标识符可以包括一个或多个实数,例如被表示为浮点数或定点数。

赋值设备100包括匹配单元130。匹配单元130在数据库110中搜索模糊输入标识符。匹配单元130被布置成考虑到每次接收模糊标识符时,模糊标识符可能不同。有趣地,匹配单元130用来证实数据库中存在模糊输入标识符的标准可以不同于匹配单元130用来证实在数据库中不存在模糊输入标识符的标准。

匹配单元130被布置成根据匹配标准确定数据库中是否存在与模糊输入标识符匹配的匹配模糊标识符,且随即向固定标识符确定单元140发送匹配信号。在发现匹配的情况下,匹配模糊标识符先前已存储在该数据库中;可能地通过赋值设备100本身。数据库100也可能已经由不同的设备完全地或部分地填充,例如与赋值设备100协作以填充数据库110的不同赋值设备。

赋值设备100的固定标识符确定器140被布置成从匹配单元130接收匹配信号,且在所述接收后,从存储匹配模糊标识符的数据库记录中确定固定标识符。由于噪声,匹配模糊标识符不必与模糊输入标识符相同,尽管它可能与模糊输入标识符相同。存在多种可以导出固定标识符的方式,下文将对此进行更充分的讨论。网络接口120被布置成传输固定标识符。

在一个实施方案中,固定标识符通过网络接口120被返回到将模糊输入标识符发送到网络接口120的同一设备。在后一种情况下,请求设备可以读取模糊输入标识符,且使用赋值设备100作为转变服务,以将模糊输入标识符转变成固定标识符。在接收到固定标识符之后,请求设备可以继续使用固定标识符,犹如它读取了固定标识符而不是模糊标识符。

匹配单元130还被布置成根据缺失标准来确定数据库中是否存在匹配模糊标识符,且随即向数据库添加单元150发送缺失信号。

数据库添加单元150被布置成接收该缺失信号,且在所述接收后,将一个数据库记录添加到数据库,所述添加的数据库记录存储模糊输入标识符,且进一步向固定标识符确定器发送匹配信号。因此,如果匹配单元130确定数据库110中缺失模糊输入标识符,则对于该模糊输入标识符添加一个数据库记录。有趣地,对于请求设备,这可能是显而易见的。请求设备在如下两种情况下都接收到固定标识符,即:在匹配单元130确定数据库110中存在匹配模糊标识符的情况下,以及在匹配单元130确定数据库110中不存在匹配模糊标识符的情况下。

赋值设备100的此属性使得可以使用模糊标识符来替换固定标识符。在请求设备处,不必知晓登记阶段或重建阶段。此外,赋值设备100不需要在puf处或在请求设备处存储任何信息。特别地,不需要存储所谓的辅助数据(误差校正数据)。后者是重要的,因为许多对象缺少长期存储的能力,或可能需要在没有机会写入这样的数据的时刻产生标识符,例如,如果在制造期间读取puf,则设备在此时刻可能不具有能力、资源或时间来存储这样的辅助数据。例如,对象可能是仍在未切割的晶片中的芯片。在此情形下,芯片中所包括的puf可以被读取出,尽管将数据写入芯片并不方便。

在一个实施方案中,固定标识符确定器140和数据库添加单元150可以与匹配单元130集成在一起。其他架构也是可能的;例如,数据库添加单元150可以与数据库110集成到数据库单元中等。

该匹配单元可以被布置有距离函数,以计算匹配标准和/或缺失标准。该距离函数将两个模糊标识符作为输入,且生成指示它们的距离的值。用小写字母d指示距离函数。该距离函数满足d(x,y)≥0,其中当且仅当x=y时,等号成立。距离函数可以是对称的(d(x,y)=d(y,x)),或是不对称的。下文假设该距离函数是对称的,除非另有说明。

例如,该距离函数可以是所谓的汉明距离。汉明距离对于自然表示为位串的puf(例如,基于存储器的puf)是特别有利的。即使puf的自然数据格式不是位,但是在一个实施方案中,puf响应也被数字化,以产生被表示为位串的二进制模糊标识符。

对于不同的puf,可以使用不同的距离函数。例如,对于涂层puf,可以使用在涂层的不同位置处的电容测量的两个序列xi和yi之间的欧几里得距离:在本文中x和y是实正数的序列xi和yi。

代替欧几里得距离,可以使用其他距离,例如曼哈顿距离。另外,两个距离函数d1和d2可以被组合,例如组合为d1+d2。如果组合两种不同类型的puf(例如,基于存储器的puf和涂层puf),则后者会是有用的,例如以改善同一对象的标识。

距离函数不必满足三角不等式,例如,所谓的平方欧几里德距离不满足三角不等式。下面,将解释的是使用确实满足三角不等式的距离函数可能具有优势。

在一个实施方案中,如果根据距离函数,匹配模糊标识符和模糊输入标识符之间的距离小于或等于匹配阈值,则满足匹配标准。

模糊标识符(例如,被实施为噪声位串)的长度可以被选择成使得模糊输入标识符大概率地明显匹配一个特定的匹配模糊标识符,或明显不匹配存储在数据库中的任何模糊标识符。例如,这可以通过使用产生长模糊标识符的puf来实现。例如,通过使puf容量加倍,可以使puf输出的长度加倍。例如,如果puf是基于存储器的puf,则可以使存储器的量加倍,从而增加其标识能力。

然而,即使赋值设备100被配置为使得在实践中不可能出现歧义,赋值设备100也优选地被布置成如果出现歧义,则处理歧义。此外,实际上避免歧义可能需要比期望更长的模糊标识符。对于赋值设备100的一些应用,错误标识的成本可能相当小。在这样的情况下,模糊标识符的长度可以比完全排除歧义所需的长度更短。例如,如果赋值系统被用于质量保证,则偶尔产生或不产生错误的固定标识符会是可接受的。因此,期望赋值设备100在歧义情形下具有明确定义的行为。下面在困难情形下为赋值设备100定制了两种不同类型。

在第一种类型中,如果根据匹配标准,数据库中不存在与模糊输入标识符匹配的匹配模糊标识符,则满足缺失标准,以使得对于任何模糊输入标识符,匹配单元发送匹配信号或缺失信号。此实施方案具有的优点是请求设备总是响应于其请求而接收固定标识符。参考图3进一步例示了此实施方案。

图3给出了模糊标识符的多个实施例。在图3的实施例中,模糊标识符是固定长度的位串,在所述实施例中,位串长度是20位。如果根据距离函数,匹配模糊标识符和模糊输入标识符之间的距离小于或等于匹配阈值,则满足匹配标准。在此实施例中,距离函数是汉明距离。在与图3相关的实施例中,匹配阈值是4。为了阐述清楚,在图3的所有模糊标识符中,与模糊标识符310不同的位被加下划线,使得可以很容易地确定与模糊标识符310的汉明距离。

下面解释当匹配单元130被配置为上文定义的总是返回固定标识符的第一种类型时,如果模糊标识符310、320、312、330和332以该顺序被接收作为模糊输入标识符会发生什么。假设数据库最初是空的,但是相同的原理适用在数据库含有多个记录时。

模糊id310:匹配单元130未发现匹配模糊标识符,且向数据库添加单元150发送缺失信号,数据库添加单元150转而将添加含有模糊标识符310的第一记录。数据库添加单元150向固定标识符确定器140发送匹配信号。固定标识符确定器140基于所添加的第一记录来确定固定标识符。

模糊id320:匹配单元130确定与模糊标识符310的距离是9。因为此值大于匹配阈值4,所以不存在匹配模糊标识符,从而第二记录是针对模糊标识符320所添加的记录。基于第二记录返回固定标识符。

模糊id312:匹配单元130确定与模糊标识符310的距离是4。因此,在数据库中存在与模糊输入标识符匹配的匹配模糊标识符。匹配单元130向固定标识符确定单元140发送匹配信号。固定标识符确定器140基于第一记录发送固定标识符。

模糊id330:匹配单元130确定与模糊标识符310和320的距离分别是6和11,因此二者都大于匹配阈值。相应地,针对模糊id330添加第三记录。从第三记录确定固定标识符。

模糊id332:模糊id332与模糊id310和330之间的距离都小于匹配阈值。在此情况下,出现歧义情形;数据库110中存在两个与模糊输入标识符匹配的模糊标识符。

存在第一种类型的赋值设备100可以处理此歧义的多种方式。例如,在一个实施方案中,固定标识符确定器140可以被布置成使用存储匹配模糊标识符的第一记录;例如,数据库中的第一匹配模糊标识符或按字典顺序第一的匹配模糊标识符等。

替代地,在一个实施方案中,固定标识符确定器140可以被布置成使用存储最接近的匹配的第一记录,例如存储与模糊输入标识符具有最小距离的匹配模糊标识符。在该实施例中,此标准将不起作用,因为两个匹配标识符的距离都是3。然而,一般地,尤其对于较大位串长度和较高匹配阈值,此标准常常(但不总是)将以正确的方式打破平局,以使得模糊输入标识符获得所赋值的正确的固定标识符。

如上文所示出的,第一种类型的赋值设备100会陷入这种情形:在数据库中存储有与给定的模糊输入标识符匹配的多个模糊标识符。

在第二种类型的赋值设备100中,避免了数据库含有彼此非常接近的模糊标识符。使模糊标识符足够长还将避免彼此非常接近的模糊标识符出现,然而后一种解决方案可能不是期望的,例如,因为它会导致增加的资源使用率。

第二种类型的赋值设备100使用与用于证实不存在匹配模糊标识符的标准不同的用于证实存在匹配模糊标识符的标准。因此,存在给定的模糊输入标识符既不满足匹配标准也不满足缺失标准的可能性。据称这样的模糊输入标识符是近似匹配的。近似匹配的标识符的可能原因是,模糊输入标识符的源由于某种原因而具有比通常高一些的噪声率。例如,该源的环境中的一些波动可能已经导致了此。例如,已知一些puf在温度增加时具有增加的噪声水平。如果针对近似匹配的标识符添加新记录,则这稍后可能导致多个匹配模糊标识符。

在一个实施方案中,匹配单元130被布置成根据近似匹配标准确定数据库中是否存在与模糊输入标识符近似匹配的近似匹配模糊标识符。该匹配单元被布置成,在接收到模糊输入标识符时,发送匹配信号、近似匹配信号或缺失信号中的至多一个。在一个实施方案中,该匹配单元被布置成,在接收到模糊输入标识符时,发送匹配信号、近似匹配信号或缺失信号中的恰好一个。

可以使匹配标准、近似匹配标准和缺失标准相互排斥。匹配标识符还可能被认为是近似匹配标识符,在此情况下,匹配单元130首先根据匹配标准证实数据库中不存在匹配模糊标识符,之后决定是否满足近似匹配标准。

在发现近似匹配标准的情况下,赋值设备100既不返回固定标识符,也不添加新数据库记录。替代地,匹配单元130可以通过网络接口发送重新采样错误消息例如至请求设备。该重新采样错误消息指示请求设备已经出现的问题,且建议尝试对puf重新采样。如果近似匹配是由于偶然造成的,则新测量可以解决该问题。如果近似匹配是由于高噪声水平造成的,则新测量也可以解决该问题,尤其是如果以较低的噪声水平进行新测量。在发现近似匹配的情况下发送重采样错误将减少发现歧义情形的可能性,这是因为添加了较少的相对靠近在一起的模糊标识符。

可以限制模糊标识符的添加,使得歧义情形被消除。在布置成用于第二种类型的赋值设备100的一个实施方案中,距离函数满足三角不等式,

-如果根据距离函数,匹配模糊标识符和模糊输入标识符之间的距离小于或等于匹配阈值,则满足匹配标准,

-如果根据该距离函数,近似匹配模糊标识符和模糊输入标识符之间的距离小于或等于近似匹配阈值,则满足近似匹配标准,其中,

-该近似匹配阈值是该匹配阈值的至少两倍。如果证实没有匹配或近似匹配,则满足缺失标准。

如果对于任何输入x、y和z,有d(x,y)≤d(x,z)+d(z,y),则距离函数d满足三角不等式。许多不同的距离函数满足三角不等式,包括汉明距离。

假定匹配阈值是m,则近似匹配阈值是nm。假设nm≥2m。如果d(x,z)≤m,则模糊输入标识符z匹配模糊标识符x,且如果d(x,z)≤nm,则模糊输入标识符z近似匹配模糊标识符x。如果对于数据库中的所有x,d(x,z)>nm,则模糊输入标识符z缺失。

因为匹配模糊标识符和近似匹配模糊标识符未被添加到数据库,所以有如下属性:对于数据库中的所有模糊标识符x和y,d(x,y)>nm。要求在此情形下,没有模糊标识符可以匹配数据库中的两个模糊标识符,从而消除歧义问题。假定对于模糊标识符z,有d(x,z)≤m且d(y,z)≤m,则得到一个矛盾式2m≥d(x,z)+d(y,z)≥d(x,y)>nm≥2m。

下面解释当匹配单元130被配置为上文所定义的不总是返回固定标识符的第二种类型时,如果模糊标识符310、320、312、330和332被接收作为模糊输入标识符会发生什么。假设数据库最初是空的,但是相同的原理适用在数据库含有多个记录时。

如之前,模糊标识符被假设为固定长度的位串,在该实施例中,位串长度是20位。如果根据距离函数,匹配模糊标识符和模糊输入标识符之间的距离小于或等于匹配阈值,则满足匹配标准。在此实施例中,该距离函数是汉明距离。在与图3相关的实施例中,该匹配阈值是4,且近似匹配标识符是8。

模糊id310:匹配单元130未发现匹配模糊标识符,且向数据库添加单元150发送缺失信号,数据库添加单元150转而将添加含有模糊标识符310的第一记录。数据库添加单元150向固定标识符确定器140发送匹配信号。固定标识符确定器140基于所添加的第一记录来确定固定标识符。

模糊id320:匹配单元130确定与模糊标识符310的距离是9。因为此值大于匹配阈值4,所以不存在匹配模糊标识符。因为此值还大于近似匹配阈值8,所以不存在近似匹配模糊标识符。因此第二记录是针对模糊标识符320所添加的记录。基于第二记录返回固定标识符。

模糊id312:匹配单元130确定与模糊标识符310的距离是4。因此,在数据库中存在与模糊输入标识符匹配的匹配模糊标识符。匹配单元130向固定标识符确定单元140发送匹配信号。固定标识符确定器140基于第一记录发送固定标识符。

模糊id330:匹配单元130确定与模糊标识符310和320的距离分别是6和11。尽管二者都大于匹配阈值,但是在模糊输入标识符330和模糊标识符310之间确实具有近似匹配。因此,不针对模糊id330添加第三记录。没有固定标识符被确定。赋值设备100可以向请求设备发送重新采样错误,以指示问题。

模糊id332:存在恰好一个匹配模糊标识符,因为仅模糊id332和模糊id310之间的距离小于或等于匹配阈值。在此情况下,不出现歧义情形。基于第一记录返回固定标识符。

第一种类型的赋值设备和第二种类型的赋值设备有不同的用途。第一种类型的赋值设备将始终返回固定标识符。这在没有能够做好准备以适配丢失的固定标识符的情形下是有利的。另一方面,第二种类型的赋值设备不总是产生固定标识符,但是如果它产生,则更好地保证所返回的固定标识符确实将对应于正确的模糊标识符。缺点是相对的,因为通过增加puf长度可以使第一种类型的问题和第二种类型的问题变得不大可能。

下面作为一个实施例,针对第一种类型的赋值设备100的一个实施方案执行计算。在此情况下,模糊id包括二进制数据。通过计算输入模糊id与数据库中所存储的每一个模糊id候选之间的汉明距离,将输入模糊id与已经登记的模糊id的数据库进行匹配。例如,可以进行蛮力数据库搜索,直到发现与输入模糊id的汉明距离小于预定义阈值t(例如,匹配阈值)的项为止。

作为模糊id的源,可以例如使用sram启动值。sram的每一个位单元都具有一个优选启动值,该值由硅制造时的不受控制的过程变化确定。大多数位单元具有对于存储器和设备而言唯一的稳定的启动值,但是一些位单元每次将产生不同的输出,这导致测量具有噪声位。

令n表示模糊id的大小(以位为单位)。令p1表示sram的位单元优选启动为1的概率,p0=(1-p1)表示优选启动位为0的概率。可以将优选sram启动位的设备唯一位串的创建建模为从具有概率p1的二项式分布提取n位。用噪声概率pe对读取出sram启动位时的噪声建模。

错误拒绝率(frr)或错误地拒绝模糊id测量的概率则可以被计算为:frr=1-binocdf(t,n,pe)

其中:

●t是汉明距离匹配阈值:如果所测得的模糊id和数据库候选之间的汉明距离小于或等于t,则得出模糊id匹配的结论,

●n是模糊id位串中的位的数目,

●pe是噪声概率,

●binocdf()是累积二项分布函数。

错误接受率(far)或将所测得的模糊id与来自另一设备的模糊id测量进行错误地匹配的概率被计算为:

far=binocdf(t,n,p1)

对于srampuf,假设最坏情况噪声是20%或pe=0.2。然后,可以使t和n的值变化,直到发现足够小使得在实践中永远不出现失配的frr和far。在一个示例实施方案中,希望确保frr和far都低于10^-9。这意味着错误地拒绝测量的概率小于十亿分之一。对于错误地接受测量为特定设备的测量的可能性同样适用。

t的值可以被用来调整frr相对于far。增加t的值将降低frr,这是因为随着允许更多偏差,错误地拒绝模糊id测量的概率将降低。同时far将增加,这是因为随着允许更多差异,模糊id测量与数据库中的错误候选模糊id匹配的概率增加。当针对阈值t的不同值和固定数目的位n绘制frr和far时,可以标识frr等于far的点。此点被称为等错误率。

例如,对于大小n=300位且错误概率pe=0.2的模糊id,在图7a中将frr和far绘制为匹配阈值t的函数。eer(等错误率)在匹配阈值t=101时实现,且等于eer=1·10-8。为了实现低于10-9的等错误率,需要增加模糊id的大小。图7b示出了相同的图表,但是对于400的匹配阈值,在此对于n=400的模糊id长度,可实现的eer被降低到4.2·10-11。在图7c中绘出了可实现的等错误率作为模糊id长度n的函数。在图7a和图7b中,可以看到,far随着t值增加而增加,而frr随着t值增加而减小。

图4示意性地示出了数据库记录的实施例。示出的数据库记录各自可以由将模糊标识符310添加到数据库110(例如,通过数据库添加单元150)而产生。除记录430之外的每个数据库记录都存储模糊标识符310。例如,响应于模糊标识符312,可以由匹配单元130查找图4中示出的数据库记录。

数据库记录410存储模糊标识符310。固定标识符确定器140可以以多种方式从数据库记录410确定固定标识符。

例如,匹配模糊标识符可以被用作固定标识符。在此情况下,模糊标识符310可以被用作固定标识符。固定标识符确定器140也可以使用模糊标识符310的一部分作为固定标识符。相比于具有相同标识能力的固定id,模糊id需要更多的位,因为多个模糊id测量(例如,在接近距离内的所有模糊id测量)将映射到相同的固定id。因此,在保留模糊标识符的标识能力的同时,对应的固定标识符可以被显著缩短,例如,随着噪声被消除。

例如,固定标识符确定器140可以被布置成通过将散列函数应用至至少匹配模糊标识符来获得散列值,该固定标识符包括该散列值的至少一部分。特别地,固定标识符确定器140可以使用加密散列。例如,固定标识符确定器140可以将sha-1、sha-2、ripemd-160等散列应用至模糊标识符310。固定标识符确定器140不需要使用该散列的所有输出。例如,为了获得32位固定标识符,固定标识符确定器140可以使用散列输出的前32位。固定标识符的所需长度可以取决于预期利用赋值设备100的不同puf的数目。使用散列函数,所得到的固定标识符可以比模糊标识符显著更短。固定标识符不需要考虑噪声,因此单个不同的位就足以区分源。这意味着固定标识符可以比模糊标识符更短。此外,模糊标识符不必具有全熵。例如,基于存储器的puf的输出可以被偏置,例如,具有不同于50%的1位的百分比。因为散列是未偏置的,所以固定标识符可以比模糊标识符更短,以获得相同的熵。此外,使用散列避免了在赋值设备处具有持久状态,例如序列号码。后者在多个赋值设备使用相同的数据库110时尤其方便。

图4进一步示出了示例数据库记录420。数据库记录420包括模糊标识符(在此是模糊标识符310)和唯一标识号码422。唯一标识号码422在数据库中是唯一的。该固定标识符可以包括唯一标识号码或由唯一标识号码组成。数据库添加单元150可以被布置成在添加数据库记录时确定唯一标识号码。

唯一号码可以甚至比使用模糊标识符或使用散列值的一部分都更短。特别地,在一个实施方案中,唯一号码中的位的数目是模糊标识符中的位的数目的最多一半,更优选地最多1/8。序列号码可以比基于散列函数的固定标识符甚至更短。因为散列值本质上与模糊标识符具有随机连接,所以它们必须足够长以避免冲突。因为所谓的生日悖论,唯一号码中的位的数目可以比随机标识号码中的短一半。

唯一号码可以是序列号码。例如,数据库添加单元150可以将已经存在的记录的数目指定为唯一号码。

数据库记录可以包括附加信息:例如,指示何时创建记录的时间戳,例如导致添加记录的请求设备id等。

在一个实施方案中,匹配单元130被布置成:

-当确定数据库中存在匹配模糊标识符时,将模糊输入标识符存储在存储该匹配模糊标识符的数据库记录中,且使用所述存储的模糊输入标识符用于未来对匹配和存在的确定。

例如,在一个实施方案中,在发现匹配模糊标识符之后,匹配单元130将匹配模糊标识符替换成存储该匹配模糊标识符的数据库记录中的模糊标识符。结果,当模糊标识符被不断地更新时,使得它们反映从puf接收的最新模糊标识符。

一些puf(特别是基于存储器的puf)受到称作老化的现象影响。puf的输出中的一些位缓慢地改变它们的优选为1或0。结果,由puf产生的模糊标识符从数据库110中所存储的原始模糊标识符漂移远离太多。如果puf已经从原始存储的模糊标识符漂移远离太多,则漂移可能在某个点处导致错误。通过使用最近获得的模糊标识符作为用于新的匹配的起点,数据库追踪puf的漂移,并且避免基于漂移的错误。

例如,图4示出了数据库记录430,数据库记录430是数据库记录410的更新,例如在已经接收了模糊标识符312之后。

代替替换模糊标识符,数据库记录还可以存储原始模糊标识符,例如,创建数据库记录所用的模糊标识符和最近获得的模糊标识符。此选项被示出在数据库记录440中。新匹配可以使用新模糊标识符312,而且原始模糊标识符310可以用来确定漂移量。在一个实施方案中,数据库110被布置成响应于缺失信号而通过数据库添加单元存储数据库记录中所存储的原始模糊标识符,并且响应于匹配信号而存储所存储的模糊输入标识符。赋值设备100可以包括漂移单元160,漂移单元160被布置成确定原始模糊标识符和所存储的模糊输入标识符之间的距离。如果所述距离高于漂移阈值,则漂移单元160可以发送漂移错误消息。如果漂移已经变大,则对应的puf已经变得不可靠。此信息可以被返回到请求设备。例如,请求设备可以接收固定标识符,但是还可以接收puf可能已经变得非常不可靠的警告。作为响应,请求设备可以替换puf或以其他方式使puf退出循环。替代地,漂移错误消息可以被发送到日志记录单元,以追踪系统中的puf的质量。日志记录系统中的信息可以例如被用来决定何时需要替换puf,或如何确定未来的puf的尺寸。

例如,可选的漂移单元160可以确定记录440中的漂移当前是4。漂移计算可以使用与用于匹配的距离函数相同的距离函数,但这不是必需的。

在一个实施方案中,赋值设备100包括错误单元(未单独示出在图1中),该错误单元被布置成验证网络接口处所接收的输入是否是模糊输入标识符,且如果所接收的输入不是模糊输入标识符,则通过网络接口发送坏输入错误消息。例如,可能接收未正确格式化的模糊标识符。例如,可能接收比赋值设备100所需的位串长度更短的模糊标识符。该错误单元还可以被用来发送其他错误消息,例如漂移错误消息和重新采样错误消息。

代替执行蛮力搜索(其中在候选模糊标识符(fid)和数据库中的每一项之间计算汉明距离),可以通过首先在来自每一fid的较小位子集上计算汉明距离来平均地改善搜索时间。在位子集上搜索将提供似真匹配的列表:数据库项,所述数据库项与来自候选fid的相同位子集的汉明距离低于阈值t2。然后在这些似真匹配fid上计算完整汉明距离计算。这将最终决定是否与数据库中的模糊id中的一个匹配。在证明了似真匹配与候选不匹配或未发现似真匹配的情况下,该系统可以回到蛮力方法并且进行全面搜索。注意,用此方法最坏情况搜索时间可能变得更长,但是平均搜索时间被减少。

按照由其上运行搜索算法的处理器所支持的指令的数据大小(例如,寄存器大小或其小倍数,比方说其两倍)来选择子集的大小是有利的。例如,现代英特尔处理器可以处理64位数据字。因此,采用例如64位子集是有利的,在64位子集上可以使用64位xor和popcnt()指令来计算有效率的汉明距离操作。减少的预匹配数据库可以被预计算并且被加载到存储器内以供快速访问。

阈值t2需要被适当地选择。较高的阈值导致查找更多似真候选,但是另一方面,当核查完整的fid时,证明了这样的候选不匹配的概率也更高。如果t2被选择得太小,则快速搜索未检测到似真候选的概率很大。未检测到似真候选的概率类似于上文所解释的frr,且检测到最后证明为不匹配的似真候选的概率类似于far。注意,噪声被合理地随机地分布在fid的位上。因此可以使用上述公式来计算这些值,使n适配到所选定的位的数目。下面的表格中描绘了t2的一些示例设置,其中fid的位长度是512位,eer是9.9e-14,阈值是173位,pe=0.2,p1=0.5,且所选定的位(fid的第一部分)的位长度是64位。

通常不需要将“未检测到似真候选的概率”与“错误地检测到似真候选的概率”匹配。替代地,“未检测到似真候选的概率”可以被选择成小于“错误地检测到似真候选的概率”,因为当在完整的fid上计算汉明距离时,在第二步中丢弃似真候选并不是问题。

图8a示意性地例示了匹配单元830、数据库810和预匹配数据库811的一个实施方案。例如,可以在赋值设备100(例如,如关于图1所描述的)中采用匹配单元830、数据库810和预匹配数据库811,例如,以替换匹配单元130和数据库110。

在此实施方案中,数据库810中所存储的模糊标识符各自包括第一部分,该第一部分小于完整的对应的模糊标识符。例如,图8b示出了数据库810的可能内容的一部分。示出了4个数据库记录,被标记为记录01、02、03和04。例如,在数据库810的另一部分中,可以存储对应于记录01、02、03和04的另外信息,例如,对应的固定标识符等。在此实施例中,数据库810中所存储的模糊标识符以十六进制数字表示,尽管在此实施例中将在位上进行匹配,例如,通过汉明距离。

示出了数据库810中所存储的模糊标识符的仅前24字节。实际的模糊标识符可能更长,例如,50字节或64字节等。在图8b中,模糊标识符的第一部分是加下划线的。例如,模糊标识符可以是64字节长,且第一部分可以是8字节长(64位)。在一个实施方案中,模糊标识符是位串,且第一部分是位串中的位的预定子集。在此情况下,位的预定子集由8个选定的字节形成,例如,当从0到63将位编号时,具有索引8i的字节,且0≤i≤7。

匹配单元830被布置成根据预匹配标准在数据库中预选择模糊标识符,其中模糊输入标识符的第一部分与模糊输入标识符的第一部分匹配。这可以在没有单独的预匹配数据库811的情况下完成,例如,通过将模糊输入标识符的第一部分与数据库810中的所有记录比较。如果模糊标识符的第一部分与赋值系统100的计算机架构对齐,则后者将可能最佳地工作。例如,第一部分可以被认为是位串开始或结束时的一段连续位。因此,预匹配数据库811是可选的。

另一方面,数据库810中的模糊标识符的第一部分可以被存储在单独的预匹配数据库811中。匹配单元830被布置成首先根据预匹配标准在预匹配数据库830中选择模糊标识符的第一部分,其中模糊输入标识符的第一部分与模糊输入标识符的第一部分匹配。

图8c例示了对应于数据库810的预匹配数据库811的可能内容的一部分。在数据库811中示出的是数据库810中的第一部分(下划线部分)。因为模糊标识符的第一部分比完整的模糊标识符更短,所以与输入模糊标识符相比更快。通过选择足够宽大的预匹配标准,不大可能使正确的模糊标识符不在预选择中,或甚至避免使正确的模糊标识符不在预选择中。注意,如果在标识失败的情况下,在完整的数据库上运行完全匹配,则可能使预匹配标准更严格,与预匹配标准足够宽以至于几乎保证正确匹配将在选择中相比,这可能减少更多平均运行时间。

当匹配单元830在预匹配数据库811中选择模糊标识符之后,可以检索数据库810中的对应记录。例如,在图8b和8c中示出的实施例中,两者都具有编号的记录。图8b中的数据库810中的编号对应于图8c中的预匹配数据库811中的编号。

在单独的预匹配数据库的帮助下或不在单独的预匹配数据库的帮助下,匹配单元830得出潜在匹配列表。所述列表小于完整的数据库,但可能含有正确的匹配。匹配单元830现在根据匹配标准来确定在所述预选择的模糊标识符中是否存在匹配模糊标识符。在此情况下,可以在完整的模糊标识符上或仅在模糊标识符的剩余部分上(例如,不具有其第一部分的模糊标识符)评估匹配标准。

从puf所获得的模糊标识符在模糊标识符的长度上具有足够均匀的分布,以致此方法将减少在数据库中查找匹配模糊标识符所用的时间。

通过将数据库810中的多个模糊标识符同时与模糊输入标识符匹配,可以进一步减少搜索匹配数据库所需的时间。例如,这可以通过从fid的主要列表导出包括从数据库810中的多个fid所选择的位的64位条目的列表来实现。从候选fid进行相同的位选择,并且该位选择被重复以填充满,比方说,64位的搜索位串。

不同的汉明距离阈值t3在此情况下被用来检测似真匹配。此外,一旦发现似真匹配,则选择两个对应的fid,或可以进一步核查位串的第一部分或第二部分是否引起匹配,然后将完全匹配限制到导致匹配的对应的一个fid或多个fid。

在一个实施方案中,预匹配数据库811存储多个数据库记录,每个数据库记录存储一个预匹配模糊标识符,所述预匹配模糊标识符包括数据库中所存储的至少两个不同模糊标识符的第一部分。在图8d中示出了这样的预匹配数据库的一个实施例,图8d示出了预匹配数据库811'的一部分。在预匹配数据库811'中示出的是含有数据库810中的两个不同fid的第一部分的记录,如图8b中示出的。例如,记录0102对应于数据库810的数据库记录01和02。如果数据库811和811'中的记录具有相同长度,比方说具有64位,则数据库811'将使用较短的第一部分。例如,图8c中的数据库810可以每个512fid具有64位,而图8d中的数据库811可以每个512比特fid具有32位,被成对组合以形成64位记录。

匹配单元830被布置成生成包括至少两次模糊输入标识符的第一部分的预匹配模糊输入标识符。例如,预匹配数据库811'中的记录可以通过组合(比方说连结)如下部分来形成:

-由第一fid中的位串中的位的预定子集形成的第一部分,以及

-由第二fid中的位串中的位的预定子集形成的第一部分。

预匹配模糊输入标识符可以以相同的方式通过组合(比方说连结)如下部分来形成:

-由模糊输入标识符中的位串中的位的预定子集形成的第一部分,以及

-由模糊输入标识符中的位串中的位的预定子集形成的相同的第一部分。

图8e给出了形成预匹配模糊输入标识符的一个实施例。在附图标记820处示出了模糊输入标识符。模糊输入标识符820的第一部分已通过下划线指示。通过取模糊输入标识符820的第一部分两次来形成预匹配模糊输入标识符821。

匹配单元830根据另一预匹配标准而在预匹配数据库中确定预匹配模糊标识符,其中预匹配模糊输入标识符与预匹配模糊输入标识符匹配。例如,通过将预匹配模糊输入标识符821与数据库811'中的记录进行比较,发现记录0304给出匹配。由于在此第一部分的长度较短,所以另一预匹配标准需要被适配到比用于图8c中的数据库811更小的值。此外,因为位串更短,所以需要留出更多余量以确保捕获正确匹配的fid。

最后,匹配单元830确定数据库中的模糊标识符中是否存在对应于所确定的预匹配模糊标识符的匹配模糊标识符。

例如,在匹配单元830发现与预匹配模糊输入标识符821匹配的记录0304之后,匹配单元830可以首先查找记录0304的哪一部分导致匹配,在此情况下是对应于数据库810中的记录04的部分。接下来,匹配单元830可以将模糊输入820与记录04进行比较。这是优选的,因为它将使数据库810中必须进行的比较的数目减半。然而,也可以跳过此步骤,且将模糊输入820与对应于记录0304的两个记录(03和04)比较。

注意,通过选择专用硬件可以进一步改善查找匹配标识符的搜索速度。例如,替代在常规处理器(cpu)上执行汉明距离比较,可以利用图形处理单元(gpu),图形处理单元将可并行执行且具有大量内部工作存储器的多个核组合在一起。此外,具有高存储器带宽的处理器是有利的,因为存储器访问常常是获得执行速度的限制因素。

下面公开了两个有利的赋值设备,不必必需具有添加单元或固定标识符确定器。

一种用于将固定标识符赋值到模糊标识符的赋值设备,所述赋值设备包括:一个数据库,所述数据库存储多个数据库记录,每个数据库记录存储一个模糊标识符;一个接口,所述接口被布置成接收模糊输入标识符;以及一个匹配单元,所述匹配单元被布置成根据匹配标准确定所述数据库中是否存在与所述模糊输入标识符匹配的匹配模糊标识符,且随即向固定标识符确定单元发送匹配信号。

在此赋值设备的一个实施方案中,所述数据库中的模糊标识符各自包括第一部分,所述第一部分小于完整的对应的模糊标识符,且所述匹配单元被布置成根据预匹配标准在所述数据库中预选择模糊标识符,其中所述模糊输入标识符的第一部分与所述模糊输入标识符的第一部分匹配,且根据匹配标准确定在所述预选择的模糊标识符中是否存在匹配模糊标识符。

此赋值设备的一个实施方案包括一个预匹配数据库,所述预匹配数据库存储多个数据库记录,每个数据库记录存储一个预匹配模糊标识符,所述预匹配模糊标识符包括所述数据库中所存储的至少两个不同模糊标识符的第一部分,所述匹配单元被布置成生成包括至少两次所述模糊输入标识符的第一部分的预匹配模糊输入标识符,根据另一预匹配标准在所述预匹配数据库中确定预匹配模糊标识符,其中预匹配模糊输入标识符与所述预匹配模糊输入标识符匹配,且确定在所述数据库中的对应于所确定的预匹配模糊标识符的模糊标识符中是否存在匹配模糊标识符。

图2a示意性地示出了对象标识系统200的实施方案的一个实施例。对象标识系统200包括赋值设备100和至少一个读取器的实施方案。图2a示出了读取器250和252。可能存在多于2个的读取器,也可能存在仅一个。

图2a示出了对象210、220和230。每个对象分别具有一个相关联的puf212、222和232。puf可以被包括在对象中。例如,对象可以是包括基于存储器的puf的数字芯片。puf也可以以其他方式与对象相关联;例如,puf可以被嵌入对象的封装中。物理不可克隆功能可以被附接到对象。后面的选项例如适合于追踪对象,以防止伪造。

读取器250被布置成从与对象相关联的物理不可克隆功能读取模糊标识符。例如,读取器250可以读取puf212。模糊标识符标识物理不可克隆功能,并且受噪声影响。模糊标识符可以是puf响应。

读取器250包括网络接口251,该网络接口251被布置成将读取的模糊标识符作为模糊输入标识符发送到该赋值设备的网络接口,并且从该网络接口接收固定标识符。读取器252类似于读取器250。读取器250和252被布置成与对象210-230形成第一连接262和264。读取连接262和264可以是光学读取。读取连接262和264可以是电连接。例如,第一连接可以是与对象210-230的接口的连接,以接收puf的响应。所述接口可以是被动的或主动的,例如,读取器可以通过接口直接读取出对象的puf,比方说存储器。替代地,读取器可以发送对puf响应的请求;对象可以被布置成在接收到所述请求时发送puf响应。

在操作期间,读取器中的一个读取器,比方说读取器250,第一次读取puf212的puf响应。读取器250和对象210之间的连接被指示在附图标记262处。读取器250将如此获得的模糊标识符发送到赋值设备100,且进而接收固定标识符。读取器250和赋值设备100之间的连接被指示在附图标记263处。

读取器250可以使用固定标识符来标识puf212和相关联的对象210。例如,读取器250可以将关于对象210的信息与固定标识符一起存储在与数据库110不同的另一数据库中。例如,在追踪应用中,读取器250可以将固定标识符与时间戳一起存储在数据库中,以指示对象210在特定时间在读取器210处。

稍后相同的对象可以再次在读取器250处或在读取器252处。例如,读取器252可以读取出puf212,从而获得模糊标识符。读取器252和对象210之间的连接被指示在附图标记266处。读取器252将模糊标识符发送到赋值设备100,且接收与读取器250接收的固定标识符相同的固定标识符。读取器252和赋值设备100之间的连接被指示在附图标记265处。例如,读取器252也可以存储具有固定标识符的信息,或它可以检索由读取器250存储的信息等。

读取器250和252可以被布置成在接收到重采样错误消息时,再次从物理不可克隆功能读取模糊标识符。

在对象标识系统200作为测试系统的应用中,读取器250被包括在图2b中示出的测试设备253中。该测试设备被布置成测试对象210、220、230。例如,该测试设备可以是制造过程的一部分,其中测试设备252对制造的商品(例如,计算机芯片)执行测试。例如,甚至当计算机芯片被包括在制造的晶片中时,可以测试计算机芯片,之后切割所述晶片。

测试设备252将对象的测试信息与固定标识符一起存储。例如,测试设备252可以使用固定标识符作为索引来将测试信息存储在数据库255中。测试信息可以包括例如时间戳、测试位置、测试仪器、波形转换器号码、批号等。测试信息也可以包括测试结果。

该测试系统还包括检索设备254。检索设备254包括:另一读取器,例如读取器252,所述另一读取器被布置成从物理不可克隆功能读取另一模糊标识符;以及一个网络接口,所述网络接口被布置成将读取的另一模糊标识符作为模糊输入标识符发送到赋值设备的网络接口并且从该网络接口接收固定标识符。例如,检索设备254可以通过固定标识符检索对象的测试信息。

如果在制造之后的某个时间点,在制造的设备中发现故障,则所述另一读取器可以恢复故障设备的固定标识符。使用固定标识符,可以使用固定标识符作为数据库中的索引来获得测试信息。使用测试信息可以对后续行动(例如,召回受影响的设备等)做出知情决定。

测试系统可以被用于测试许多类型的对象,例如药物、电子设备等。作为另一实施例,下面进一步公开了用于集成电路的测试系统。例如,该测试系统可以是用于测试晶片中的裸片的测试系统。裸片是在其上制造给定功能电路的集成电路。通过工艺(诸如,光刻)来将裸片大批量生产在电子级硅(egs)或其他半导体(例如,gaas)的单个晶片上。晶片被切割成许多块,每块含有一个电路副本。这些块中的每个被称为一个裸片。

晶片探测器可以被用来在切割晶片之前对晶片中的裸片执行测试。晶片测试是在半导体设备制造期间所执行的步骤。在将晶片发送至裸片制备之前所执行的此步骤期间,通过对呈现在晶片上的所有个体集成电路应用特定的测试模式来测试它们的功能缺陷。晶片探测器可以与裸片形成直接电连接或无线连接。例如,晶片探测器可以依次测试裸片;当裸片已经被电气测试时,晶片探测器使晶片移动到下一个裸片并且可以开始下一个测试。

晶片探测器在裸片上执行一个或多个测试模式。晶片探测器还读取出裸片中所包含的puf。晶片探测器使用赋值设备100(例如,通过网络)来获得裸片的固定标识符。晶片探测器然后将测试信息(例如,批号、时间戳、测试结果等)与固定标识符一起存储。

在ic封装之后,可以在ic测试阶段再次测试封装芯片,例如使用相同或类似的测试模式。此测试可以通过经封装的ic测试器实现。该测试器可以被布置成读取出经封装的ic的puf,通过赋值设备获得固定标识符。该测试器将测试信息(例如,时间戳、批号、测试结果等)与固定标识符一起存储。

稍后当部署芯片时,可以再次读取出puf并且可以再次获得固定标识符。可以使用固定标识符来检索晶片探测器和/或经封装的ic测试器在制造期间所存储的信息。

典型地,赋值设备100、读取器250、252、测试设备253和检索设备254各自包括一个执行这些设备处所存储的适当软件的微处理器(未在图1-图4中单独示出);例如,该软件可能已经被下载和/或已经被存储在对应的存储器中,例如,易失性存储器(诸如,ram)或非易失性存储器(诸如,闪存)(未单独示出)。对象210、220、230也可以被配备有微处理器和存储器(未单独示出)。替代地,设备可以整体地或部分地以可编程逻辑被实施为例如现场可编程门阵列(fpga)。它们可以整体地或部分地被实施为所谓的专用集成电路(asic),即为它们的特定用途定制的集成电路(ic)。例如,电路可以以cmos来实施,例如使用硬件描述语言,诸如verilog、vhdl等。

赋值设备100可以被实施在单个计算机(例如,服务器)上。赋值设备也可以以分布式方式来实施。例如,数据库110可以被实施在不同的计算机上,另外还有匹配单元130。

在一个实施方案中,赋值设备100包括网络接口电路、匹配电路、固定标识符确定电路、数据库添加电路。设备100还可以包括漂移电路。赋值设备100还可以包括数据库电路。数据库可以被实施为与赋值设备外部的数据库的连接。这些电路实施本文中所描述的对应单元。这些电路可以是处理器电路和存储电路,该处理器电路执行存储电路中以电子方式表示的指令。这些电路还可以是fpga、asic等。

匹配信号、缺失信号和近似匹配信号可以被实施为数字信号。例如,它们可以被实施为表示所述信号的电子信号。例如,它们可以被表示为通过互连件(例如,总线)发送的数字信号。例如,信号可以被表示为所谓的到特定存储器地址的跳转。

图5a示意性地示出了赋值方法500的实施方案的一个实施例的流程图。赋值方法500包括:

-接收510模糊输入标识符,

-根据匹配标准确定520数据库中是否存在与所述模糊输入标识符匹配的匹配模糊标识符,所述数据库存储多个数据库记录,每个数据库记录存储一个模糊标识符,

-根据缺失标准确定530所述数据库中是否不存在匹配模糊标识符,

-如果根据缺失标准所述数据库中不存在匹配模糊标识符,则将一个数据库记录添加540到所述数据库,所述添加的数据库记录存储所述模糊输入标识符,

-如果存在所述匹配模糊标识符并且如果存储所述模糊输入标识符的数据库记录被添加到所述数据库,则从存储所述匹配模糊标识符的数据库记录确定550固定标识符。

图5b示意性地示出了例示用于确定存在匹配模糊标识符的方法600的流程图。方法600可以被用来实施方法500中的元件520和530。

方法600包括:

-重置610当前最佳匹配并且将最佳匹配距离设置为无穷。无穷是大数,比预期出现的距离的数目更大。例如,在使用汉明距离的情况下,无穷可以被视为位串长度,

-从数据库选择620模糊标识符,直到所有模糊标识符都已经被选定

-对于每个选定的模糊标识符

-根据距离函数确定630匹配模糊标识符和模糊输入标识符之间的距离,如果所确定的距离小于最佳匹配距离640,则将当前最佳匹配设置645成选定的模糊标识符;例如,当前最佳匹配可以是到含有选定的模糊标识符的记录的指针,或当前最佳匹配可以是记录id等。

-将最佳匹配距离与匹配阈值比较670。

如果最佳匹配距离小于匹配阈值,则确定存在匹配模糊标识符。例如,可以发送匹配信号。搜索结束时的当前最佳匹配可以被用来确定固定标识符。

在第一种类型的赋值方法的情况下,如果最佳匹配距离不小于匹配阈值,则确定不存在匹配模糊标识符。在后一种情况下,例如,可以发送缺失信号。

在第二种类型的赋值方法的情况下,如果最佳匹配距离小于近似匹配阈值,则已经确定了近似匹配。例如,可以发送重新采样错误消息。如果没有发现匹配或近似匹配,则确定不存在匹配模糊标识符。

如本领域的技术人员将明了的,许多不同的执行所述方法的方式是可能的。例如,所述步骤的顺序可以变化或一些步骤可以并行执行。此外,在步骤之间可以插入其他方法步骤。所插入的步骤可以表示诸如在本文中所描述的所述方法的改进,或可以与所述方法无关。此外,在开始下一步骤之前,一个给定的步骤可能还未完全完成。

可以使用软件执行根据本发明的方法,该软件包括用于使处理器系统执行方法500或600的指令。软件可以仅包括所述系统的特定子实体采用的那些步骤。该软件可以被存储在合适的存储介质(诸如,硬盘、软盘、存储器、光盘等)中。该软件可以作为信号沿着缆线或无线或使用数据网络(例如,因特网)被发送。该软件可以被制成可供下载和/或供在服务器上远程使用。可以使用被布置成配置可编程逻辑(例如,现场可编程门阵列(fpga))以执行所述方法的比特流来执行根据本发明的方法。

应理解,本发明还扩展到适于将本发明付诸实践的计算机程序,特别是在载体上或在载体中的计算机程序。该程序可以是源代码形式、目标代码形式、源代码和目标代码之间的中间代码形式(诸如,部分编译形式),或适合用于在实施根据本发明的方法中使用的任何其他形式。涉及计算机程序产品的实施方案包括对应于所阐明的方法中的至少一个的每个处理步骤的计算机可执行指令。这些指令可以被细分成子程序和/或可以被存储在可以被静态或动态链接的一个或多个文件中。涉及计算机程序产品的另一实施方案包括对应于所阐明的系统和/或产品中的至少一个的每个装置的计算机可执行指令。

图6a示出了计算机可读介质1000,该计算机可读介质1000具有包括计算机程序1020的可写部分1010,计算机程序1020包括用于使计算机系统执行根据一个实施方案的赋值方法的指令。计算机程序1020可以作为物理标记或借助于计算机可读介质1000的磁化而在计算机可读介质1000上实现。然而,还可想到任何其他合适的实施方案。此外,应理解,尽管计算机可读介质1000在此被示出为光盘,但是计算机可读介质1000可以是任何合适的计算机可读介质(诸如,硬盘、固态存储器、闪存等),并且可以是不可记录的或可记录的。计算机程序1020包括用于使处理器系统执行所述赋值方法的指令。

图6b示出了根据一个实施方案的处理器系统1140的示意性表示。该处理器系统包括一个或多个集成电路1110。一个或多个集成电路1110的架构被示意性地示出在图6b中。电路1110包括处理单元1120,例如cpu,用于使计算机程序部件运行,以执行根据一个实施方案的方法和/或实施该方法的模块或单元。电路1110包括用于存储程序代码、数据等的存储器1122。存储器1122的一部分可以是只读的。电路1110可以包括通信元件1126,例如天线、连接器或二者等。电路1110可以包括用于执行在所述方法中定义的处理的部分或全部的专用集成电路1124。处理器1120、存储器1122、专用ic1124和通信元件1126可以经由互连件1130(比方说,总线)相互连接。处理器系统1110可以被布置成分别使用天线和/或连接器实现接触通信和/或非接触通信。

处理器系统1140可以被布置为赋值设备100,或被布置为读取器250等。

应注意,上文提及的实施方案例示而非限制本发明,并且本领域的技术人员将能够设计许多替代实施方案。

在权利要求中,放置在括号中的任何附图标记都不应被解释为限制权利要求。动词“包括”(comprise)及其词形变化的使用不排除存在权利要求中所列元件或步骤之外的其他元件或步骤。元件前面的冠词“一个(a/an)”不排除存在多个这样的元件。本发明可以通过硬件(包括几个分立元件)以及通过适当编程的计算机实现。在列举了几个设备的装置权利要求中,这些设备中的几个可以通过同一项硬件实现。某些措施被记载在相互不同的从属权利要求中这一不争事实并不表示不能有利地使用这些措施的组合。

在权利要求中,括号中的附图标记指的是实施方案的图中的附图标记或实施方案的公式,因此增加了权利要求的可理解性。这些附图标记不被解释为限制权利要求。

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