未联网rfid-puf认证的制作方法

文档序号:6595547阅读:280来源:国知局
专利名称:未联网rfid-puf认证的制作方法
未联网RFID-PUF认证 相关申请交叉引用本申请要求以下专利申请的优先权2008年11月21日在美国提出的临时申请号为61/116,700、名称为“未联网RFID-PUF认证”的专利申请;2009年3月18日在美国提出的临时申请号为61/161,218、名称为“未联网RFID认证”的专利申请;以及2009年9月30 日在美国提出的临时申请号为61/247,195、名称为“未联网RFID认证”的专利申请,上述申请的内容在这里通过参考全文弓I入。本申请涉及2008年9月19日在美国提出的申请公开号为US2009/0083833A1、 名称为“具有物理不可克隆功能的认证”的专利申请,后者要求美国临时申请号为 60/973,505、名称为“包含物理不可克隆功能的认证系统”的专利申请以及申请号为 61/018,618、名称为“安全RFID”的专利申请的权益。本申请还涉及2005年11月14日提交并于2009年7月21日公开的美国专利号为7564345、名称为“易失性装置键及其应用” 的专利申请,后者要求2004年11月12日提交的美国临时申请号为60/627,605的专利申请、2004年11月22日提交的美国临时申请号为60/629,953的专利申请以及2005年1月 27日提交的美国临时申请号为60/647,575的专利申请的权益。上述提到的申请的内容都通过参考在此引入。
背景技术
本发明涉及未联网RFID认证。对于穿行于远距离路程中的多个位置并落在不同实体(公司或个人)的责任区内的产品,其本质特性(very nature)为供应链提供了很多造成安全隐患(to be compromised)的机会。可以从供应链的不同地点存取含有高价值产品(例如奢侈品、体育收藏品以及医药品)的集装箱,并且可以在对正常的供应链行为造成最小破坏的情形下用仿制品或者次品来替代这些高价值产品。近年来,很多高价值产品的制造商已经采取射频识别(RFID)技术来跟踪和确保在供应链上运送的产品的安全。RFID标签通常采用集成有“硅芯片-天线”单元的不干胶标签形式。这些标签可被粘贴到(或者被张贴到)单个产品或用于密封装有多个产品的集装箱。每个RFID标签可以被操作为接收并响应来自RFID收发机的射频信号。由于可以对所述标签的电子存储器进行远距离读或写,就没有必要追踪走直达线路的产品或集装箱的行踪。只对那些从制造商处到最终目的地需要要经过多个中间环节(例如批发商和零售商)的产品进行追踪,如果标签或者产品不知何故从指定路线偏离,则通知标签阅读器。

发明内容
在一个概括性方案中,一种集成电路包括序列生成器,被配置为生成口令 (challenge)系列;隐藏输出生成器,被配置为生成隐藏输出系列,每个隐藏输出是所述口令系列中对应的口令的函数;以及位约简(reduction)电路,被配置为生成包括多个响应部分的响应序列,每个响应部分是对应的多个隐藏输出的函数。
其实施例可以包括下文中的一个或多个。所述集成电路包括非易失性存储器,被配置为存储加密数据,所述加密数据与所述隐藏输出系列或基于所述系列隐藏输出系列而得的参数的至少之一相对应。所述序列生成器被配置为基于输入到所述集成电路中的第一种子生成口令系列。 所述序列生成器还被配置为基于由集成电路生成的第二种子生成口令系列。所述系列生成器包括第一生成器,被配置为生成生成器值系列;以及索引寄存器,被配置为选择每个生成器值的多个位的子集,每个子集形成所述口令系列中的口令。所述第一生成器包括线性反馈移位寄存器。 所述响应序列中的每个响应部分是对应的多个隐藏输出的非线性函数。基于在对应的多个隐藏输出中具有等于1的值的多个位来确定所述响应序列中的每个响应部分。位约简电路包括计数电路,被配置为针对所述响应序列中的每个响应部分而对位的第一数目和位的第二数目进行计数,其中位的第一数目在对应的多个隐藏输出的第一部分中具有等于1的值的位的数目,位的第二数目在对应的多个隐藏输出的第二部分中具有等于1的值的位的数目;比较电路,被配置为对所述位的第一数目和所述位的第二数目进行比较。所述比较的结果形成所述响应序列中对应的响应部分。隐藏输出生成器包括物理不可克隆功能(PUF)电路。所述PUF电路包括基于延迟的PUF电路。每个隐藏输出是所述隐藏输出生成器的特征的函数,所述隐藏输出生成器的特征根据多个类似的集成电路中的制造特征而变化。所述隐藏输出生成器还包括对合逻辑件(involution logic),被配置为将多个置换函数应用到每个口令以生成对应的多个内部口令。所述隐藏输出生成器被配置为生成与所述口令序列中的每个口令对应的隐藏输出子系列,通过将所述多个内部口令中的一个口令应用到PUF电路而生成所述隐藏输出子系列中的每个隐藏输出。所述集成电路还包括比较电路,被配置为对所述隐藏输出子系列中的多个隐藏输出进行比较。所述隐藏输出生成器包括第一 PUF电路和第二 PUF电路,每个PUF电路被配置为基于所述口令系列中的第一口令生成PUF输出;以及比较电路,被配置为对由第一PUF电路生成的PUF输出和由第二 PUF电路生成的PUF输出进行比较,所述比较的结果形成对应于第一口令的隐藏输出。所述PUF电路被配置为基于所述口令系列中的第一口令生成第一 PUF输出,以及基于所述口令系列中的第二口令生成第二PUF输出。所述隐藏输出生成器包括比较电路, 被配置为对第一 PUF输出和第二 PUF输出进行比较,所述比较的结果形成对应于第一口令的隐藏输出。所述隐藏输出生成器包括位扩展电路,被配置为基于所述口令系列中的第一口令生成内部口令,所述内部口令长于所述第一口令。所述PUF电路被配置为基于所述内部口令生成PUF输出。所述集成电路包括比较电路,被配置为将每个PUF输出与对应的极性位进行比较,每次比较的结果都形成隐藏输出。所述集成电路包括存取控制电路,被配置为接收输入到集成电路的值,以及基于所接收到的值而允许从所述集成电路输出所述隐藏输出序列。所述存储控制电路包括单路电路,被配置为将单路函数(one-way function)应用到所接收的值;比较电路,被配置为将单路函数的结果与存储在集成电路中的设备特定值进行比较;以及激活器电路,被配置为接收所述比较的结果,并基于所接收的结果而允许从所述集成电路输出所述隐藏输出系列。所述单路电路的至少一部分形成所述序列生成器的电路的一部分。在另一概括性方案中,一种使用认证站对集成电路进行认证的方法,包括在集成电路上执行以下步骤生成口令系列;生成隐藏输出系列,每个隐藏输出是所述口令系列中对应的口令的函数;以及生成包括多个响应部分的响应序列,每个响应部分是对应的多个隐藏输出的函数。其实施例可以包括下文中的一个或多个。所述方法包括向认证站提供所述响应序列。所述方法包括在认证站执行以下步骤从所述集成电路接收隐藏输出系列;从所述集成电路接收响应序列;使用隐藏输出系列确定模拟响应序列;以及确定所接收的响应序列是否实质上等于所述模拟响应序列。所述方法包括登记集成电路。登记集成电路包括以下步骤向认证站提供所述隐藏输出系列或基于所述隐藏输出系列而得的参数的至少之一;从认证站接收与所述隐藏输出系列或基于所述隐藏输出系列而得的参数对应的加密数据;以及在所述集成电路上的非易失存储器中存储加密数据。基于所述隐藏输出系列而得的参数包括所述隐藏输出系列的参数化模式(form)。基于从认证站接收的密码而向认证站提供所述隐藏输出系列。登记集成电路包括以下步骤从认证站接收密码;对密码运行单路函数;将所述单路函数的结果和存储在集成电路上的值进行比较;基于所述比较的结果,向认证站提供隐藏输出系列。生成口令系列包 括基于由认证站生成的第一种子生成所述口令系列。生成所述口令系列包括基于由所述集成电路生成的第二种子生成口令系列。生成所述口令系列包括以下步骤生成生成器值系列;以及选择每个生成器值中的多个位的子集,每个所选择的子集形成所述口令系列中的口令。生成所述响应序列包括以下步骤针对所述响应序列中的每个响应部分,对对应的多个隐藏输出运行非线性函数。生成隐藏输出系列包括使用物理不可克隆功能(PUF)电路生成所述隐藏输出系列。使用PUF电路包括使用基于延迟的PUF电路。生成所述隐藏输出系列包括生成与所述口令系列中的每个口令对应的隐藏输出子系列。生成所述隐藏输出系列包括以下步骤对第一口令应用多个置换函数以生成对应的多个内部口令;将每个内部口令应用到PUF电路以生成与第一口令对应的隐藏输出子系列中的对应的隐藏输出;以及对与第一口令对应的子序列中的多个隐藏输出进行比较。生成隐藏位输出系列包括以下步骤使用第一 PUF电路,基于所述口令系列中的第一口令生成第一 PUF输出;使用第二 PUF电路,基于所述第一口令生成第二 PUF输出;以及对所述第一 PUF输出和所述第二 PUF输出进行比较,所述比较的结果形成对应于第一口令的隐藏输出。生成所述隐藏输出系列包括以下步骤基于所述口令系列中的第一口令生成第一 PUF输出;基于所述口令系列中的第二口令生成第二 PUF输出;以及对所述第一 PUF输出和所述第二 PUF输出进行比较,所述比较的结果形成对应于第一口令的隐藏输出。生成所述隐藏输出系列包括以下步骤基于所述口令系列中的第一口令生成内部口令,所述内部口令长于所述第一口令;以及使用PUF电路并基于所述内部口令生成所述隐藏输出。除了其它优点之外,本文中描述的设备和方法还能适用于项目级认证途径(approach)(其用以保护产品供应链的完整性)。使用如本文中所述的RFID标签可以防止对该标签的“克隆”,或者至少由于过高的计算费用而使这样的克隆受到抑制。如本文中 所述的RFID标签能在未联网或者有限联网的环境(例如仓库或运输设施)中加以认证,或者在如下的联网环境中加以认证,其中所述联网环境是指PUF数据库是存储在网络的中央服务器上而不是存储在每个单独的标签上。本文中描述的认证方案以低于现有的密码(cryptographic)技术的造价而提供高度可信的认证安全性。


图1是基于增强型PUF (ePUF)的RFID标签的方块图。图2是ePUF RFID标签的第二实施例的方块图。图3是隐藏输出生成器的方块图。图4是隐藏输出生成器的另一实施例的方块图。图5是制备过程的流程图。图6是索引生成过程的流程图。图7是响应生成过程的流程图。图8是移位寄存器的方块图。图9是RFID阅读器的方块图。
具体实施例方式通常,电子电路中的物理不可克隆功能(PUF)提供了一种可以例如根据制造中的变化来区分不同集成电路(“芯片”)的方法,这种制造中的变化使得根据通用设计(即,通用掩模)制造的不同芯片可以具有可测得的不同特征。使用PUF来区分不同芯片的能力对于认证集成电路而言是一种潜在的有价值的方法。下文描述的一个或多个实现途径涉及适用于类似装置的特定PUF的实现,例如射频识别(RFID)标签。在某些实例中,RFID标签制造商制造了一批RFID标签。这批标签中的每个RFID 标签(本文中指的是基于增强型PUF的RFID标签,或简称“e-PUF标签”)都可以使用隐藏输出生成函数和共位约简(public bit reduction)函数来实现,并且包括多个存储器组件,这些存储器组件中有某些是只读的,另一些是可写的或者可读写的。参考图1,一种示例性ePUF标签100包括RFID通信接口 150和安全电路152。ePUF 标签100的第一只读存储器组件(标签识别存储器102)存储有唯一的标签识别符,该标签识别符例如为一个128位的长度的电子产品码(EPC)。根据标签识别符的编码方案,标签识别符的结构可以包括针对标签100所涉及的批次、运输集装箱码、目的地码或产品码进行识别的区域。在标签识别符中也可包含其它和/或不同信息。1响应生成在ePUF标签100上实现的隐藏输出生成函数具有不可预料的输入-输出特征,该特征不能基于对ePUF标签的检查而确定,或者至少是需要很大的努力才能确定。这样,可以认为隐藏输出生成函数的特征对于对手而言难以非常有效地获取。在ePUF标签100上由隐藏输出生成器实现隐藏输出生成函数,该隐藏输出生成函数可以在输入η位索引Sj (例如一个9位或12位索引)之时接收,并生成一个隐藏输出~。在某些实施例中,隐藏输出hj是单个位;在其它实施例中,隐藏输出h包括多个位。 参考图1,在一个实施例中,隐藏输出生成器104被实现为位扩展逻辑件 (logic) 106的级联(cascade),该位扩展逻辑件106接收9位索引Sj并生成64位内部口令108 ;以及PUF电路110,其响应于内部口令108而生成PUF输出H(Sj)。例如,PUF电路可以用基于延迟的PUF实现,正如在2006年6月1日提交的、美国专利申请公开号为 US2006/0221686A1、名称为“使用电路的动态特征的集成电路”的专利申请所述,其内容通过参考在此引入。在这个实例中,内部口令108配置了一组延迟路径,隐藏输出H(Sj)基于所配置的路径的相对延迟而定。在某些实例中,位扩展逻辑件106使用ePUF标签100的第二只读存储器组件(未示出)来实现,该位扩展逻辑件106限定有口令表,该口令表提供将9位或12位索引值转化为64位口令的一对一映射。在某些实例中,一批中的每个ePUF标签100都具有同样的口令表。在其它实例中,一批中的ePUF标签的子集(例如通过运输集装箱码、目的地码、产品码等来分组)具有不同的口令表。在其它实例中,位扩展逻辑件106通过组合电路而实现,例如,位扩展逻辑件106通过索引Sj的位的异或对(XORing pair)生成n(n_l)/2位的组合电路、以及通过索引的位的异或非对(XNORing pair)生成另一个η (η_1) Λ位的组合电路而实现。对于给定的索引Sp此电路确保由位扩展逻辑件生成的口令总是一样的。每个PUF输出H(Sj)都由转换电路142根据与索引Sj对应的极性位(polarity bit) tj的值(下文将介绍)而被选择性地转换(即对其进行异或)。来自异或函数(即hj =tj XOR H(Sj))的输出序列形成隐藏输出序列130,该隐藏输出序列130并没有在ePUF标签100之外公开。使用由共位约简器126 (下文将详细介绍)实现的共位约简函数R(),隐藏输出序列130被约简到较短的响应序列R’ 128。通过将位约简函数应用到隐藏输出序列 130的子序列,可以确定响应序列R’ 128的每个响应部分r (例如每个位或者每个位组)。 在经由RFID接口 150的认证阶段期间,从ePUF标签100输出响应序列R’。在某些可替代实施例中,隐藏输出生成器不包括位扩展逻辑件,而是向PUF电路提供直接作为口令的索引S」。对于PUF电路的某些设计而言,当没有位扩展逻辑件时,PUF 电路的行为可以让攻击者相对容易地进行建模,从而无法确定ePUF标签的安全性。为了避免这种建模攻击,通过使用同一 PUF电路的基于不同口令的另一输出(或另一些输出)或使用另一 PUF电路的输出,选择性地转换PUF电路的输出(即对其进行异或)。下文中描述了多个这种实施方式。参考图3,隐藏输出生成器304包括第一 PUF电路310a和第二 PUF电路310b。 每个PUF电路310a、310b都接收口令Sj并分别生成PUF输出H1 (Sj)和H2 (Sj)。PUF输出 H1(Sj)和H2(Sj)通过异或电路142被异或。其结果形成隐藏输出序列330( S卩,hj = H1(Sj) XOR H2(Sj))的第j个组分,并由上述共位约简器126来对其执行操作。在某些实施例中, 隐藏输出生成器304包括多于两个的PUF电路,每个PUF电路都接收口令~并返回PUF输出Hi (Sj)。自η个PUF电路获得的PUF输出被η路异或,以生成隐藏输出序列的对应的组分 hj。例如,对于具有4个PUF电路的隐藏输出生成器而言,所获得的四个输出被四路异或; 对于具有8个PUF电路的隐藏输出生成器而言,所获得的八个输出被八路异或。对于对手而言,大量的PUF电路使其对隐藏输出生成器304的行为进行建模变得更加困难,从而提高了 ePUF标签的安全性。然而,多个PUF电路会在安全电路152的布局内占用大量空间。
参考图4,隐藏输出生成器404的另一实施例使用单个PUF电路410来实现。PUF 电路410接收第一口令输入Sj并响应性生成第一输出H1 (Sj)。PUF电路410随后接收第二口令输入LFSR(Sj)并生成第二 PUF输出HjLFSRh))。所述第二口令是通过使用线性反馈移位寄存器(LFSR ;参见下文中对LFSR的实现方式的讨论)对第一口令Sj执行操作而在ePUF标签中生成的。通常,第一口令Sj作为LFSR的种子值,而第二口令LFSR(Sj)表示自初始状态Sj开始的一个时钟周期后LFSR的输出状态。由异或电路142对两个PUF输出 H1(Sj)和氏(1^1 (。)与对应的极性位、进行三路异或。其结果形成隐藏输出序列430的一个组分(即,hj = tj XOR H1(Sj)XOR H1OJSR(Sj))),并由上述共位约简器126来对其执行操作。使用了隐藏输出生成器404的ePUF标签可能易受连锁攻击的影响,其中该连锁攻击能够“移除”对两个PUF输出进行的异或。攻击标签的对手就能控制发送到PUF电路310 上的值C。虽然LFSR(C)是由ePUF标签上的电路确定的,但对手会知道LFSR(C) = D。这样,对手就能应用D并且获得H1 (D) XOR H1 (LFSR(D))。如果LFSR (D) =E,那么对手还能获得 H1(E)XOR H1(LFSIUE)),以此类推。这样,有了对C的正确猜测,并且知道了由隐藏输出生成器304执行的异或操作的结果,对手没准就能够确定其它PUF输出(例如,H1 (D) ,H1 (E)等) 的值。为了避免这种连锁攻击的威胁,下文结合图2描述ePUF标签200的替代实施例。2 制备(provisioning)在配置ePUF标签100之前,由权威机构(该权威机构是确立ePUF标签的真实性(authenticity)和/或有标签附加其上的产品的真实性的发起方)制备(即登记 (enr0ll))ePUF标签。在制备期间,该权威机构隐秘地获得随后将用于标签认证的信息并对其加密。在某些实施例中,权威机构与标签制造商是同一方。参考图1和图5,在制备特定的标签期间,由发起方确定位于标签上的隐藏输出生成器104的输入-输出特征。为了防止其它未授权方类似地确定这些特征,制备ePUF标签 100的权威机构必须将正确的密码Xl 12例如通过RFID接口 150而应用于位于ePUF标签上的存取电路138,如步骤500。密码112例如是256位的值或512位的值。密码112将状态机(state machine)(例如嵌入ePUF标签100的硅中的单路函数114)送入状态F(X), 如步骤502。存取电路138包括寄存器116,其存储了先前根据标签100的制造掩模确定的、或在前面的制备阶段设置的值F(Y)。如果计算出的F(X)的值与F(Y)的值相同(如步骤504),查询方就被确立作为被允许制备ePUF标签100的合法实体。然后通过存取激活器 (enabler) 140来激活(enable)逻辑信号,允许查询方对隐藏输出生成器104的输入-输出特征D 120进行存取,如步骤508。如果F(X)和F(Y)的值不匹配,那么不允许查询方制备 ePUF标签,如步骤510。须注意,所提供的值Y —直保密,作为对ePUF标签100的攻击的掩模拷贝是无效的。例如,即使对手发现了 F(Y),函数F()也会使得发现X以使F(X) =F(Y) 是实质上不可能的。在某些实施例中,得益于有限状态机(FSM)的能到达性问题的难以实现,单路函数114实现了相对廉价的计算(例如计算的廉价和/或电路布局区域的廉价,或供电需求方面的廉价)。对单路函数114的要求不如在某些其它应用中使用的单路哈希函数(one way hash function)那样严格。尤其是,单路函数114实现了这样的函数F (χ),其对于给定的F(Y)而言,确定Y是很困难的;即,即使值F(Y)公开了,也能维持存取电路138的安全性。注意对于其它Z值而言,函数F(Z)并不非得是难于转换的;单路函数114的其它输出 F(Z)可以轻易转换以确定Z。另外,由于哈希函数114仅用于对一个值⑴进行操作,或用于对函数域值中的可能值的较小部分进行操作,所以并不要求单路函数114避免在函数范围内的冲突。参考图8,在一种 实施方式中,将密码xll2应用至单路函数114的一个实施例。密码xl 12的每个位都用于使FSM寄存器802 (例如128位或256位寄存器)进行状态间的转移。FSM寄存器802对值A[i]的2位对(2_bits pairs)进行操作。将FSM寄存器802的输出馈送到组合逻辑模块804中,该组合逻辑模块804可以对所选择的A[k]执行非线性逻辑操作,例如对A[k]的位进行按位(bit-wise)异或,或者交换A[k]中的两个位。将组合逻辑模块804的输出移位到FSM寄存器802中,最终输出哈希函数114的结果F (χ)。在某些实施例中,为了节省ePUF标签100上的空间,单路函数114的实施例与口令生成器134 的线性反馈移位寄存器(LFSR)的实施例共享电路。例如,占用了很大电路区域的FSM寄存器802也可以用于实现口令生成器134中的LFSR。还须注意,上述单路函数的实施方式在使用密码技术(例如要求一方提供与存储在设备上的公共记录匹配的个人密码)时非常有效。制备过程包括登记阶段,在该阶段中权威机构例如通过RFID接口 150而将激励 118应用到ePUF标签100的输入,从而导致整组索引输入被提供给隐藏输出生成器104,如步骤512。与索引输入组对应的PUF输出H(Sj)是由隐藏输出生成器生成,并且集中提供给制备权威机构作为数据D,如步骤514。从而,输入的“全部”组是提供给权威机构的足够的数据D,以允许权威机构针对任何可能的输入来预测隐藏输出生成器104的输出。例如,在本实施例中,隐藏输出生成器104的位扩展逻辑件106基于这样的口令表而定,其中在登记阶段期间,口令表中的每个口令都被提供给PUF电路110。其中提供口令的顺序并不重要。 在某些实例中,隐藏输出生成器104的输入-输出特征被提供作为具有等于这样的PUF输出的值的向量,其中所述PUF输出是针对索引输入0到2n-l (即,D = (H(O),.. .,H(2n-1))) 的PUF输出。例如,对于针对每个口令而接收9位输入并生成1位PUF输出的隐藏输出生成器而言,D 120被表示为512位的向量(D = (H(0),...,H(29-l))。在其它实施例中,D 120包括128位的PUF输出。须注意,使用单路函数F(X),无须诸如物理链接(例如保险丝(fuses))服务等不可逆加锁技术,即可防止将PUF特征公开给未授权方。另外,由于对寄存器值(例如使用光、磁或者无线射频的信号)进行物理擦除的这种附加对于单路函数的实现途径是无效的,这种实现途径在使用一次性写入寄存器(该一次性写入寄存器在该实现路径中读出 PUF的特征之后被设置)时会变得更加安全。另外,知道密码(X)的一方可以委派权威机构向另一方读出PUF特征,并且被授权方可以使用相同设备多次运行登记函数(enrollment function)。权威机构从ePUF标签100接收数据D 120,并使用多种现有的加密(encryption) 技术中的任意技术从数据D 120生成加密数据E (D) 122,如步骤516。权威机构使用与ePUF 标签100关联的信息并且将其存储在标签识别符存储器102中,以选择性地识别用以加密数据D 120的密钥。然后权威机构将加密数据E (D) 122传输到ePUF标签100,用以存储在 PUF数据库124中,如步骤518。PUF数据库124通常能够存储512位或者1024位的加密数据。一旦将E (D) 122存储在PUF数据库124中,登记阶段就结束了。 在隐藏输出生成器包括两个或更多个PUF电路的实施例中,将上述制备程序应用到每个PUF电路。例如,在具有两个PUF电路的情况下,将整组输入应用到每个PUF电路, 以将来自第一 PUF电路的足够的数据D1和来自第二 PUF电路的足够的数据D2提供给权威机构。然后权威机构就能针对任何可能的输入而预测PUF输出。数据D1和D2由权威机构加密并存储在上述PUF数据库124中。在某些实施例中,制备程序仅有一次有效。一旦已通过使用正确的密码112将安全电路“解锁”,任意数目的口令就可以进来了。在从标签中提取数据之前将口令加入到 ePUF标签中,这种做法是可选的,不这样做的话就会将数据提取序列限制到常量的种子。在某些实施例中,ePUF标签的制备函数可以被从外部失效。在某些情况下,制备权威机构提供激励(stimuli) 118并且通过RFID接口 150接收数据D 120。在其它情况下,为了更快地制备,制备权威机构将RFID接口 150旁路掉,转而通过分别与输入电焊盘166和输出电焊盘162直接电接触而提供激励118和/或接收数据 D 120。由电源模块168给ePUF标签100通电,该电源模块168通过RFID接口 150接收电力。在某些实例中,即使使用了电焊盘输入/输出,在制备期间还是通过RF信号来给ePUF 通电,而不是通过电焊盘提供电力。这种RF通电方式更为可取,因为它不需要额外的电路和/或电焊盘来提供电力。由于在某些实现方式中每次RF激发(excitation)只能存储相对较小数量的能量,而在制备期间可能需要读出相对较大数目的数据,当制备单个ePUF时可能会需要RF激发的多次重复(iteration),在每次重复中提供了制备输出的不同部分。 因为RF输出通常比通过电焊盘提供制备输出需要更多的时间和/或电力,从而如果RF输出用于从ePUF传输所述制备输出,那么使用多次RF激发就相当有益。3 认证在如上所述已经登记ePUF标签100之后以及在标签已脱离权威机构或其他可信赖方的保管之后的某些时间点上,在认证阶段中,通过认证站(例如便携式RFID读出器) 对ePUF标签100进行认证。通过将存储在标签识别符存储器102中的标签识别符以及存储在PUF数据库124中的加密数据E (D) 122提供给读出器,ePUF标签100对来自RFID读出器的无线射频信号做出响应。RFID读出器使用包含在标签识别符中的信息来选择性地识别用来解密E(D)的解密密钥。解密数据D存储在一个存储器(该存储器在认证阶段可由 RFID读出器存取)中并随后被安全地丢弃(discarded)。在认证期间,通过将数据D与由标签生成的响应进行比较来认证ePUF标签。3. 1索引生成再次参考图1示出的实施例,ePUF标签100的认证根据索引值Sj的序列而使用隐藏输出生成器104的重复操作,如上所述,针对此序列中的每个索引值而生成一个隐藏输出hj。基于从RFID读出器接收的第一随机生成的临时值(nonce) S和由ePUF标签自身生成的第二随机生成的临时值Q,由ePUF标签100上的安全电路152生成索引值。即,标签或者读出器都不能单独限定对于应用到隐藏输出生成器的索引序列的选择。参考图1和图6,一旦RFID读出器已经解密数据E(D)而获得数据D,读出器就会向标签发送随机生成的64位临时值S 132,如步骤600。临时值S的接收会触发口令生成器134来执行标签上的多个包含线性反馈移位寄存器A(LFSR_A)和线性反馈移位寄存器 B (LFSR_B)的动作。LFSR_A是一个双多项式LFSR (即,LFSR_AO和LFSR_A1),其被实现为与特征2的域值中两个不同程度的64位原始多项式相对应。以随机数字生成模式操作的共享先生成64位不确定性随机数字Q 133, 如步骤602。在一个实施方式中,Q由下式确定a.将初始状态0 (64位)加载到LFSR_A
b. LFSR_A被设置为以随机数字生成模式操作c.在随机数字生成阶段的第一次偏转(crank)期间,LFSR_A将其64位状态直接馈送至PUF电路110d.当LFSR_A被重复偏转512次时,PUF电路110的输出用作多项式选择器信号, 所述多项式选择器信号对LFSR_A的状态进行从由LFSR_A0表示的值到由LFSR_A1表示的值之间的选择性切换,e.第512次偏转之后的LFSR_A的状态限定了 64位不确定性随机数字Q由于LFSR_A和LFSR_B中分别加载有S和Q,LFSR_A和LFSR_B都被旋转64次来作为128位循环(circular)移位寄存器。LFSR_B的状态在第64次旋转后限定由标签生成的64位的Q,所述由标签生成的Q随后存储在标签存储器中。LFSR_A和LFSR_B还旋转另外的32次来作为128位的移位寄存器,使得在每个LFSR中加载一半S和一半Q。例如, LFSR_A 加载有 S[61:31],Q[63:32],而 LFSR_B 加载有 S[30:0],Q[31:0]。将Q的值发送回RFID读出器(如步骤604),使得读出器和ePUF标签100都知道 LFSR_A*LFSR_B的初始状态。在移位寄存器的初始状态下,并且鉴于读出器知道移位寄存器的生成器多项式,读出器能够生成与由ePUF标签100上的LFSR生成的状态序列相同的状态序列。由于两个LFSR基于S和Q而加载有初始状态,ePUF标签100随后生成将要应用到隐藏输出生成器104的序列口令Sj,如步骤606。尤其是,多个LFSR的每个时钟周期都生成16位索引寄存器值。索引寄存器136将每个索引寄存器值的η位(例如9位)指定为将要作为输入Sj而提供给隐藏输出生成器104的外部口令。索引寄存器136还将索引寄存器值的一位(例如最小有效位)指定为将要与隐藏输出生成器104的输出H(Sj)结合的极性位、,下文将讨论具体细节。在某些情况下,对手可能会对具有多个LFSR的ePUF标签进行攻击,其中这些LFSR 被配置为生成序列S1, s2,. . .,sm,sm+1,. .,S2m0 S卩,对于LFSR(Si = S(Xi))的状态Xi而言, 配置LSFR以使得si+1 = LFSR(Si)。在这些实例中,由多个LFSR生成的序列的子集(例如, S1,...,sffl)被用作输入到隐藏输出生成器的η位索引Sj。然后由隐藏输出生成器生成隐藏输出H(Sl,. . .,sm),H(sm+1,. .,s2m),...。在攻击中,对手可能会使用种子值S’和Q’来使多个1^51 生成输出序列81’,82’,...,其中81,= s2,s2' =s3,等等。然后对手可能会通过使隐藏输出生成器生成PUF输出H(s2,...,sm+1),H(sm+2,..,s2m+1)等,从而用口令的这种移位序列来暴露隐藏输出生成器的H()函数。为了避免这种类型的攻击,可以配置LFSR以生成长度为m的子序列,例如使得 X(i+1)m = LFSR_A (Xim)以及使得 xJ+1 = LFSR_B (Xjm),其中 j = (i+l)m, ... , (i+l)m+m_l,等。 使用这种配置,对手不能使LFSR生成移位序列,进而不会暴露隐藏输出生成器的H()函数。对手最多只能知道与长度m的一个子序列相关的隐藏输出生成器的函数。3. 2位约简和响应生成隐藏输 出生成器104接收η位口令的序列Sj,以及如上所述,针对每个口令而生成隐藏输出~。由共位约简器126对所获得的隐藏输出序列130进行操作,以生成响应序列 R’ 128。在认证阶段,通过RFID接口 150从ePUF标签输出响应序列R’。前面的描述可以等效地应用到上述隐藏输出生成器的其它实施例中。通常,N-部分的响应序列R’ 128的每个响应部分都是基于隐藏输出序列130中的 M = 4m+2个隐藏输出而定,其中m是正整数。这样,为了生成N-部分的响应R’,隐藏输出生成器104生成N*M个隐藏输出hj。例如,当m = 2,M = 10时,针对每个响应部分生成隐藏输出,或者生成1280个隐藏输出以确定N = 128-部分的响应序列R’。在另一实例中,通过将640位索引值Sj应用到隐藏输出生成器104来确定64位响应序列,其中隐藏输出序列130中的10个隐藏位的每个连续序列都用作对位约简函数的输入,以产生64位响应的一个位。在某些实施例中,M个隐藏输出的相邻组用于生成每个响应部分。在其它实施例中,M个隐藏输出的不连续组用于生成每个响应部分。例如,共位约简器126可以在用于生成响应序列的第一响应部分的M个隐藏输出的第一组和用于生成第二响应部分的M个隐藏输出的第二组之间实现随机偏置。参考图7,在N个响应部分的每一个都是从M个隐藏位确定的情况下,可以对响应生成过程总结如下(不必与在RFID读出器或者ePUF标签中执行的步骤的顺序对应)a.获得 S,Q (700)b.基于S和Q确定索引序列sQ,· · ·,Snsh (702)和极性位序列tQ,· · ·,t^ (704)c.确定与每个索引Sk(706)关联的隐藏输出H(Sk)d 确定隐藏输出序列 h0,· · ·,hNM+1,其中 hk = tk H(Sk) (708)e 确定响应序列 rQ,· · ·,rNM+1,使得 r」=RJM(hJM+1, · · ·,Iiijnm^1),其中 R()是共位约简函数。(710)通常,共位约简函数R()是隐藏输出序列的非线性函数。由于非线性,我们排除了在阈值内呈线性的函数,例如模2(modUlo 2)运算,例如异或函数。例如,共位约简函数可以是一个索引函数(例如当隐藏输出H(Sp被赋予多值时的最大Hi的索引)、表决函数、 计数函数、或隐藏输出h的其它非线性组合或者由隐藏输出生成器生成的PUF输出H(Sj)。例如,在某些实施例中,可以使用多数表决逻辑来实现共位约简函数R()。将每 2m+l个进行重复,共位约简器126中的表决逻辑对之前生成的2m+l个隐藏输出应用多数表决逻辑,如果2m+l个隐藏输出中有m个或更少个是1,那么生成0,否则生成1。将每4m+2 个进行重复,共位约简器126对之前多数表决逻辑的两个输出进行异或,以产生响应序列 R’128的一个响应部分。因此该响应部分基于之前生成的4m+2个隐藏输出的值而定。针对 (2m+2)*N个重复而重复地执行多数表决过程,以生成由响应部分的有序序列限定的N-部分响应R’。在其它实施例中,使用计数电路实现共位约简函数。这种情况下,针对4m+2个隐藏输出的每个组都生成响应序列R’ 128的一个响应部分。位约简函数确定4m+2个隐藏输出中的“1”的个数;如果1的个数大于阈值(例如,如果有多于2m+l个1),那么位约简函数生成1 ;否则生成0。ePUF标签100保持PUF函数H(Sj)的隐秘性。即使对手这一方发现了大量数组 {r,(80,8^...,8^), (tQ,、,...,t^)},适当的选择位约简函数R()也能防止其发现H( )。虽然对于隐藏输出函数而言可能的索引输入~相对很少,但还是会有很多M-长度的索引~的序列。例如,使用512个不同的索引值~并且M= 10,那么就会有5121°个不同的可能序列。通常,不希望对一个特定标签重复索引的任何特定序列。3.3 认证每种认证的尝试都使用了对应用到隐藏输出生成器的索引序列~的随机选择。如上所述,在认证期间,由读出器选择的临时值S和由PUF标签自身获得的临时值Q确保了无论标签还是读出器都不能单独限定应用到隐藏输出生成器上的索引序列。RFID读出器使用其知道的64位临时值S和由标签返回的64位临时值Q来有效模拟(Simulate)ePUF标签100的操作,使用解密响应数据D 120而不是物理的隐藏输出生成器来获得预期响应R。如上所述,将接收到的由ePUF标签100生成的响应R’与预期响应R 进行比较,以验证所接收的响应是否由ePUF标签生成,该ePUF标签的隐藏输出生成器具有与D对应的输入-输出特征。如果R’和R匹配,那么ePUF标签100通过验证。尤其是,参考图9,RFID读出器900生成临时值S 132并从ePUF标签接收临时值Q 133。对于包含一组LFSR 904的口令生成器934,将值S和Q用作种子值。配置LFSR 904 以与ePUF标签100上的口令生成器134的LFSR同样运转(参见图1)。由索引寄存器136 接收口令生成器934(其生成外部口令)的输出。基于外部口令,RFID读出器900生成相同的索引序列%,...,Snsh以及由ePUF标签生成的相同的极性位序列、,...,W10RFID读出器900从ePUF标签取回(retrieve)加密响应数据E(D) 122,并且在解密模块906中解密该数据以获得响应数据D 120。如上所述,响应数据D 120包括整组数据,使得读出器900能够针对任意可能的输入而模拟ePUF标签的隐藏输出生成器的输出。 例如,对于0到2n-l(即,D= (H(0),...,H(2n-l))的索引输入,D可以被设置为具有其值等于PUF输出的位向量。作为对D (其包含针对所述设备上的所有PUF的任意可能口令的整组响应)的一种替代,在制备期间从ePUF接收一系列的(Si,H(Si))对,而制备设备确定D以表示模型参数,即使在制备期间没有使用口令或索引,对于任意~而言都能从该参数来预测应(~)。该模型试图匹配正在制备中的数据,但由于在认证期间将要使用不同的口令,并且在多个实施方式中认证ePUF不需要对模型的精确匹配,因此不需要精确匹配。在基于模型的方法中,读出器从ePUF接收口令-响应对(Si,H(Si))的系列。在某些实施例中,例如基于从读出器提供的、并在随后使用ePUF上的LFSR而生成的种子,在设备上确定口令系列。在某些实施例中,是从读出器提供期望的口令,而在其它实施例中,例如基于随机选择而在ePUF上生成全部口令。认证实体(所述认证实体例如是在读出器中实现的)随后会评估与所接收到的口令响应对最匹配的模型参数D。可以使用各种评估程序,作为实例,其包括参数的最大概似评估和重复优化方法。在如美国专利公开号为US2003/0204743A1 (该申请的内容通过参考在此引入)所述的使用具有可选择部分的延迟线而实现的ePUF上的PUF的实施例中,模型参数表示根据对应的口令位是0或是1而定的延迟PUF的每个阶段的输出之间引入的相对延迟。评估这些相对延迟参数的一种方法是使用随机数值来初始化这些参数,然后通过所接收的口令-响应对、以及通过在被建模的响应匹配所接收的响应时增强相对延迟而在被建模的响应不匹配时减弱相对延迟来进行重复。在认证期间,读出器接收E(D),并使用模型参数来针对以隐藏方式内部应用到 ePUF上的PUF的口令值而预测PUF输出(即模拟位于设备上的隐藏PUF的操作)。须注意, 当在ePUF上组合原始PUF输出之前,不对原始PUF输出进行存取,所以对手不能有效地根据从ePUF输出的信息来估测模型参数D。使用由口令生成器902生成的索引序列以及PUF的模型,模拟模块908确定与应用到隐藏位生成器上的每个索引、关联的模拟PUF输出H(Sk)。模拟模块908随后确定被模拟的隐藏输出序列h0,...,Vh,其中hk = tk H(Sk)0 RFID读出器900还知道ePUF标签的共位约简函数,该模拟模块因此而能够通过对隐藏输出序列进行共位约简函数操作来确定模拟响应序列R 928。比较模块910将模拟响应序列R 928与从ePUF标签收到的响应 R’ 128进行比较,以对标签进行认证。R和R’之间的精确匹配情形理想的话,针对错码(bit error)而进行某种配发 (allotment)直到达到预定阈值。如果响应R’和R的匹配具有少于阈值的错码,可以认为对ePUF标签100的认证具有充分的相似度。如果R’与R并不充分类似,该ePUF标签可能会被拒绝,此时可发布附加的口令,或者可调用其它验证程序。在某些实施例中,在无效响应(例如,在1 位响应中大致出现64个错误位(erroneous bit))和有效响应(例如在 128位响应中大致出现12至16个错误位)之间存在明显的不同。通过设置适当的认证码距离阈值来平衡肯定性误认证(将假冒设备识别为可信者)和否定性误认证(拒绝合法设备)的概率。其它确定充分相似度的方法(例如对不同错码进行不同的加权)也是可行的。为了进一步加强ePUF标签100的安全性,在某些实例中,每个标签都包括在生成每个响应部分或生成响应序列之后进行增值的计数器。在生成预定的最大数目的响应部分之后,不允许再从ePUF标签传输另外的响应。对计数器的界限可以设置得足够高,从而允许标签认证获得合理的寿命,同时还可以防止大量重复认证提供的充足数据使对手研究出对隐藏输出函数的大概估测。在某些实例中,PUF数据库124的最后的512位可以用作计数器。在制备阶段,这 512位最初被设置为0 ;针对芯片的每次使用而将其中的一个位设置为1。一旦所有的512 个位都设置成1,标签就不再响应。通过将512个位的一部分在制备期间就设置成1,就能配置ePUF标签而将其使用限定到少于512次;可替代地,标签也可以被配置为忽略使用计数器并提供无限次使用。4替代实施例参考图2,在一个替代实施例中,ePUF标签200包括口令生成器234,该口令生成器 234包括单个LFSR。从RFID读出器收到的种子S 232确立了 LFSR的初始状态。LFSR的每个时钟都生成一个16位索引寄存器值。索引寄存器236将每个索引寄存器值的η位(例如9位)指定为将要作为输入sj而提供给隐藏输出生成器204的外部口令。索引寄存器 236还指定索引寄存器值的一个位(例如最小有效位)作为极性位tj。隐藏输出生成器204包括对合(involution)逻辑件206,其接收η位索引~并生成内部口令208的一个数组(tuple)Si,Ji1(Si), π 2 (Si), ... , ^]。)。通过子序列254(其选择将要输入到一组PUF电路210中的内部口令的组合),接收内部口令208。例如,生成一组M = 8的内部口令,两个PUF电路210响应在提供给PUF的四个内部口令应用系列中所应用的内部口令208的组合,生成隐藏输出系列Ih^hj2,...,hjM}。通常,对于每个索引而言,每个PUF都使用多次以生成对应的多重隐藏输出。挑选函数Jim(S),使得重复的应用返回原始值-m(nm(s)) = s。该函数的一个实例是这样一种置换(permutation), 在该置换中可以交换在成对的位的位置(bit position)处的值。使用这种位扩展方法,每个PUF都将接收一组内部口令(其为索引的全面置换)。这些置换的一种属性是如果索引的位(即,置换组)是由置换)生成的,则每个索引都是一个置换的有限集合的成员, 并且不用考虑所述集合中的哪个成员被表示为提供给位扩展逻辑件的索引;内部口令是同一集合的所有成员。在其它实施例中,函数)不必是索引的位的置换,但要保留这样的属性,即其将索引空间的一部分限定到相对较小的部分中,使得在其中一个部分中对任意索引的函数应用都导致保留在该部分中的变换值。由包含异或电路242和寄存器256的位约简模块258接收隐藏输出Ihjl, hj2,.., hJffl}。由异或电路242对m个隐藏输出和与输入到隐藏位生成器204的口令~对应的极性位、进行(m+1)路异或。寄存器256向异或电路返回适当值来激活(m+1)路异或(即,寄存器256针对其后的使用hj2的异或而返回部分结果、XOR h,,)。位约简模块258的输出 (tj XOR h^ XOR hJ2 XOR. . . hJm)构成响应序列R,2 的一个响应位r」,在认证期间,该响应序列R,2 可以通过RFID接口 150提供。在制备ePUF标签200期间,制备权威机构(例如RFID读出器)向口令生成器234 提供种子S 232。然后口令生成器234驱动生成将要用于ePUF标签的登记的一系列索引值 sj。如果制备权威机构向存取电路138提供了正确的密码xll2,如之前结合图1所述,由 PUF标签200提供来自隐藏位生成器204的隐藏输出IhyhjPMhjJ作为数据D 120。制备权威机构接收数据D 120,并使用多种现有的加密技术中的任意技术来从该数据D 120 生成加密数据E (D) 122。权威机构使用与ePUF标签200关联的信息,并且将其存储在标签识别符存储器102中以选择性地识别用以对数据D 120进行加密的密钥。该密钥为制备权威机构所知,但对ePUF标签200而言是未知的。权威机构然后将该加密数据E (D) 122传送到ePUF标签200以存储在PUF数据库124中。PUF数据库IM通常能够存储512或IOM 位的加密数据。一旦E (D) 122存储在PUF数据库124中,制备阶段就结束了。在某些情况下,制备权威机构通过RFID接口 150提供种子232和接收数据D 120。 在其它情况下,为了能更快地进行制备,制备权威机构将RFID接口 150旁路掉,转而通过分别与输入电264和输出电焊盘262直接电接触而提供种子S 232和/或接收数据D 120。由电源模块168(其通过RFID接口 150接收电力)给ePUF标签100通电。在某些情况下,应用到ePUF标签100的激励118的数目和/或从ePUF标签100接收的数据D 120都足够多,从而在标签制备期间可以使用多重电力周期。如与图4相关的描述,对合逻辑件206在抵抗连锁攻击的威胁时有助于ePUF标签 200的坚固性。由对合逻辑件206实现的对合策略防止来自隐藏位生成器204的输出链的形成;对手最多只能形成长度为两个的循环(loop)。即,即使对手将n (c)应用到PUF电路210,其能从隐藏位生成器204获得的信息最多也就是π (π (C))或c自身。在某些实例中,由ePUF标签200实现的对合策略被概括为从单个PUF电路获得4路或8路异或。在其它实例中,使用两个PUF电路以获得8路或16路异或。S卩,每个认证输出会向PUF电路输入两个、四个、或八个口令。通常,被异或的位的数目越多,ePUF标签抵抗攻击的坚固性就越好。5其它实施方式上述技术可以与2009年7月21日公开的、名称为“易失性装置键及其应用”的美国专利7,564,345中描述的系统结合使用,其全部内容通过参考在此引入。例如,这些技术可以用于对设备进行认证而不是近似模拟(proximity)设备。在用RFID和RFID读出器等术语描述这些技术时,注意到其它设备(包括近似模拟设备和读出器)也可以利用这些技术是有用的。其它设备的实例包括使用PUF电路以检验所连接的蓝牙激活装置、例如当将媒体下载到设备时使用PUF电路以检验设备的便携式媒体设备、当联网时使用PUF电路以检验电话的手机。另外,可以在各种背景中看到RFID,包括在防伪产品(例如药品、电子产品或者公文包)中使用并携带个人信息(例如,安全证章,批量运输通行证或护照)。随着 RFID的日益普及,RFID读出器也变得日益普及。例如,可以将手机构建为其中包含RFID读出器,使得用手机能通过与中心权威机构通信来认证RFID。不同的技术适用于不同的环境。在其它实施例中,还可以使用不同的位约简函数。某些实例包括将隐藏输出序列分成多于两个组,并将表决函数应用到每个组。在某些实例中,被表决的隐藏输出的每个组都不必相同。在某些实例中,位约简函数被实现为一个查找表,或用查找表来实现。在某些实例中,不必将隐藏输出序列分成独自经历位约简函数的多个部分。然而,在某些这样的实例中,从隐藏输出序列到响应序列的整体约简,使得隐藏输出序列(例如作为精确隐藏输出函数的无重复性结果)中的输出的少量改变会导致有限部分的响应序列的改变。在M个隐藏输出的部分中使用表决的上述实例中,隐藏输出的每个变化仅影响该响应的一个响应部分。在其它实例中,在一个隐藏输出中的改变可以改变多于一个响应部分,但整体影响受到限制,使得这种认证在制备时段和认证时段之间的隐藏输出函数中仍然能具有适度的改变率。在某些实例中,加密数据D不必存储在标签自身上。在数据D是从制备权威机构通过另一通道(例如,通过网络、使用数据库查找、或者通过诸如在附有运输标签的记录介质等之上的安全传输)提供给读出器的情况下,这些实现途径也能加以应用。在某些实例中,可以使用一次性可编程(OTP)存储器实现隐藏输出生成器,该OTP 存储器在制备期间使用制备权威机构知道的密码(D)进行写入,但是不可从标签读出。然后,在标签上,制备权威机构在可读存储器中写入加密数据E (D)。所述标签随后将隐藏输出函数实现为数字D中的位的查找。在某些实例中,使用标签上生成的随机数字对OTP存储器写入,其中该随机数字被提供给认证权威机构。在使用能够将制造变化加以利用的电路实现隐藏输出函数的实例中,可以使用各种类型的电路。例如,隐藏输出函数可以应用索引以选择设备或电路,所述输出则对应于设备或电路的特征。例如,所述索引可以选择一个晶体管,而所述输出可以对应晶体管的阈值水平。在其它实例中,所述索引可以选择一对振荡器电路,所述输出可对应于对多个振荡器的多个振荡频率的比较。在其他实例中,所述索引可以选择一对延迟路径,所述输出可以对应于对两个路径中的延迟信号的比较。上述方法的实例可以以硬件、软件或者二者结合的形式实现。例如,ePUF标签可以使用特定用途的集成电路和以软件实现的功能性(functionality)读出器来实现,该软件可以在读出器中的通用用途处理器上执行。硬件可以包括诸如现场可编程门阵列(FPGA) 等客制化(custom)集成电路或可配置电路。可以根据存储在计算机可读介质上的电路的特定指令(例如,以FPGA配置数据方式或者以诸如verilog等硬件描述语言(HDL)形式) 来指定硬件的实现方式。软件实现方式可以包括存储在计算机可读介质上的指令,用于控制通用用途或特定用途控制器或处理器的运行。例如,认证站可以包括通用用途处理器,其由所存储的程序加以控制,并且近似模拟设备可以包括特定用途控制处理器,其由存储在设备上的指令加以控制。 应当了解,上面的描述旨在示例性说明而不是限制本发明的范围,本发明的范围由所附权利要求的范围来限定。例如,虽然上述技术是在基于RFID的应用的环境下加以描述的,但是这些技术也能适用于对其它类型的集成电路的认证。
权利要求
1.一种集成电路,包括序列生成器(134,136 ;234,236),被配置为生成口令(Sj)系列;隐藏输出生成器(104 ;204),被配置为生成隐藏输出(111 ;211)系列,每个隐藏输出是所述口令系列中的对应的口令的函数;以及位约简电路(126 ;258),被配置为生成包括多个响应部分的响应序列(128),每个响应部分是对应的多个隐藏输出的函数。
2.根据权利要求1所述的集成电路,还包括非易失性存储器(124),被配置为存储加密数据(E(D)),所述加密数据(E(D))与所述隐藏输出系列或基于所述隐藏输出系列而得的参数的至少之一相对应。
3.根据权利要求1所述的集成电路,其中所述序列生成器被配置为基于输入到所述集成电路中的第一种子生成所述口令系列。
4.根据权利要求3所述的集成电路,其中序列生成器还被配置为基于由所述集成电路生成的第二种子生成所述口令系列。
5.根据权利要求1所述的集成电路,其中所述序列生成器包括第一生成器(134 ;234),被配置为生成生成器值系列;以及索引寄存器(136 ;236),被配置为选择每个生成器值的多个位的子集,每个子集形成所述口令系列中的口令。
6.根据权利要求5所述的集成电路,其中所述第一生成器包括线性反馈移位寄存器。
7.根据权利要求1所述的集成电路,其中所述响应序列中的每个响应部分是对应的所述多个隐藏输出中的非线性函数。
8.根据权利要求7所述的集成电路,其中基于在对应的所述多个隐藏输出中具有等于 1的值的多个位来确定所述响应序列中的每个响应部分。
9.根据权利要求7所述的集成电路,其中所述位约简电路包括计数电路,被配置为针对所述响应序列中的每个响应部分而对位的第一数目和位的第二数目进行计数,其中所述位的第一数目是在对应的所述多个隐藏输出的第一部分中具有等于1的值的位的数目,所述位的第二数目是在对应的所述多个隐藏输出的第二部分中具有等于1的值的位的数目;以及比较电路,被配置为对所述位的第一数目和所述位的第二数目进行比较;其中所述比较的结果形成所述响应序列中对应的响应部分。
10.根据权利要求1所述的集成电路,其中所述隐藏输出生成器包括物理不可克隆功能电路,即PUF电路。
11.根据权利要求10所述的集成电路,其中所述PUF电路包括基于延迟的PUF电路。
12.根据权利要求10所述的集成电路,其中所述隐藏输出生成器还包括对合逻辑件, 所述对合逻辑件被配置为将多个置换函数应用到每个口令以生成对应的多个内部口令;以及其中所述隐藏输出生成器被配置为生成与所述口令系列中的每个口令对应的隐藏输出Oiji)的子系列,通过将所述多个内部口令中的一个口令应用到所述PUF电路而生成所述隐藏输出子系列中的每个隐藏输出。
13.根据权利要求12所述的集成电路,还包括比较电路(242),该比较电路(242)被配置为对所述隐藏输出的子系列中的多个隐藏输出Oiji)进行比较。
14.根据权利要求10所述的集成电路,其中所述隐藏输出生成器(204)包括第一PUF电路(210a)和第二 PUF电路(210b),每个PUF电路被配置为基于所述口令系列中的第一口令生成PUF输出;以及比较电路(142),被配置为对由所述第一 PUF电路生成的PUF输出(H1(Sj))和由所述第二 PUF电路生成的PUF输出(H2(Sj))进行比较,所述比较的结果形成对应于所述第一口令的隐藏输出(hp。
15.根据权利要求10所述的集成电路,其中所述PUF电路(310)被配置为基于所述口令系列中的第一口令生成第一PUF输出(H1(Sj)以及基于所述口令系列中的第二口令生成第二 PUF 输出 OULFSR(Sj))),以及其中所述隐藏输出生成器(304)还包括比较电路(142),该比较电路(142)被配置为对所述第一 PUF输出和所述第二 PUF输出进行比较,所述比较的结果形成对应于所述第一口令的隐藏输出(hp。
16.根据权利要求10所述的集成电路,其中所述隐藏输出生成器(104)还包括位扩展电路(106),该位扩展电路(106)被配置为基于所述口令系列中的第一口令(Sj)生成内部口令,所述内部口令长于所述第一口令;其中所述PUF电路(110)被配置为基于所述内部口令生成PUF输出(111)。
17.根据权利要求16所述的集成电路,还包括比较电路(142),该比较电路(142)被配置为将每个PUF输出(H(Sp)与对应的极性位(tp进行比较,每次比较的结果形成隐藏输出ο
18.根据权利要求1所述的集成电路,还包括存取控制电路(138),该存取控制电路 (138)被配置为接收输入到所述集成电路(112)中的值,以及基于所接收的值而允许从所述集成电路输出所述隐藏输出系列。
19.根据权利要求18所述的集成电路,其中所述存取控制电路(138)包括 单路电路(114),被配置为将单路函数应用到所接收的值;比较电路,被配置为将所述单路函数的结果与存储在所述集成电路中的设备特定值进行比较;以及激活器电路(140),被配置为接收所述比较的结果并且基于所接收的结果而允许从所述集成电路输出所述隐藏输出系列。
20.根据权利要求19所述的方法,其中所述单路电路的至少一部分形成所述序列生成器的电路的一部分。
21.根据权利要求1所述的集成电路,其中每个隐藏输出是所述隐藏输出生成器的特征的函数,所述隐藏输出生成器的特征根据多个类似的集成电路中的制造特征而变化。
22.一种使用认证站对集成电路进行认证的方法,包括在所述集成电路上执行以下步骤生成口令(S》系列;生成隐藏输出(hyhd系列,每个隐藏输出是所述口令系列中对应的口令的函数;以及生成包括多个响应部分的响应序列(128 ;228),每个响应部分是对应的多个隐藏输出的函数。
23.根据权利要求22所述的方法,还包括向所述认证站提供所述响应序列(128)。
24.根据权利要求23所述的方法,还包括在所述认证站处执行以下步骤 从所述集成电路接收所述隐藏输出(D)系列;从所述集成电路接收所述响应序列(128);使用所述隐藏输出系列确定模拟响应序列;以及确定所接收的响应序列(128)是否实质上等于所述模拟响应序列。
25.根据权利要求22所述的方法,还包括登记所述集成电路。
26.根据权利要求25所述的方法,其中登记所述集成电路包括向所述认证站提供所述隐藏输出(D)系列或基于所述隐藏输出系列而得的参数的至少之一;从所述认证站接收与所述隐藏输出系列或基于所述隐藏输出系列而得的参数对应的加密数据(E(D));以及在所述集成电路上的非易失存储器(124)中存储所述加密数据。
27.根据权利要求26所述的方法,其中基于所述隐藏输出系列而得的参数包括以参数形式表示的所述隐藏输出系列。
28.根据权利要求26所述的方法,其中基于从所述认证站接收的密码(xll2)而向所述认证站提供所述隐藏输出Oij)系列。
29.根据权利要求28所述的方法,其中登记所述集成电路包括 从所述认证站接收所述密码(χ112);对所述密码运行单路函数(114);将所述单路函数的结果(F(X))和存储在集成电路上的116中的值(F(Y))进行比较;以及基于所述比较的结果,向所述认证站提供隐藏输出(D)系列。
30.根据权利要求22所述的方法,其中生成所述口令系列包括基于由所述认证站生成的第一种子生成所述口令系列。
31.根据权利要求30所述的方法,其中生成所述口令系列还包括基于由所述集成电路生成的第二种子生成所述口令系列。
32.根据权利要求22所述的方法,其中生成所述口令系列包括 生成生成器值系列;以及选择每个生成器值中的多个位的子集,每个所选择的子集形成所述口令系列中的口令。
33.根据权利要求22所述的方法,其中生成所述响应序列包括针对所述响应序列中的每个响应部分,对对应的所述多个隐藏输出运行非线性函数。
34.根据权利要求22所述的方法,其中生成隐藏输出系列包括使用物理不可克隆功能电路生成所述隐藏输出系列,所述物理不可克隆功能电路即PUF电路。
35.根据权利要求34所述的方法,其中使用PUF电路包括使用基于延迟的PUF电路。
36.根据权利要求22所述的方法,其中生成所述隐藏输出系列包括生成与所述口令系列中的每个口令对应的隐藏输出(hy子系列。
37.根据权利要求36所述的方法,其中生成所述隐藏输出系列还包括 对第一口令(Sj)应用多个置换函数以生成对应的多个内部口令(208);将每个内部口令应用到PUF电路以生成与所述第一口令对应的隐藏输出子系列中的对应的隐藏输出Oiji);以及对与第一口令对应的子序列中的多个隐藏输出进行比较。
38.根据权利要求34所述的方法,其中生成隐藏位输出系列包括使用第一 PUF电路,基于所述口令系列中的第一口令生成第一 PUF输出(H1(Sp); 使用第二 PUF电路,基于所述第一口令生成第二 PUF输出(H2(Sj));以及对所述第一 PUF输出和所述第二 PUF输出进行比较,所述比较的结果形成对应于所述第一口令的隐藏输出Oij)。
39.根据权利要求34所述的方法,其中生成所述隐藏输出系列包括 基于所述口令系列中的第一口令生成第一 PUF输出(H1(Sp);基于所述口令系列中的第二口令生成第二 PUF输出OULFSR(Sj)));以及对所述第一 PUF输出和所述第二 PUF输出进行比较,所述比较的结果形成对应于第一口令的隐藏输出(hp。
40.根据权利要求34所述的方法,其中生成所述隐藏输出系列包括基于所述口令系列中的第一口令(sp生成内部口令(108),所述内部口令长于所述第一口令;以及使用所述PUF电路(110)并基于所述内部口令生成所述隐藏输出(H(Sp)。
全文摘要
一种集成电路,包括序列生成器,被配置为生成口令系列;隐藏输出生成器,被配置为生成隐藏输出系列,每个隐藏输出是所述口令系列中的对应的口令的函数;以及位约简电路,被配置为生成包括多个响应部分的响应序列,每个响应部分是对应的多个隐藏输出的函数。
文档编号G06K19/07GK102224705SQ200980146602
公开日2011年10月19日 申请日期2009年11月23日 优先权日2008年11月21日
发明者斯里尼瓦斯·德瓦达斯 申请人:美国威诚股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1