CN109428721B - 用于确定物理不可克隆功能电路的健康状况的方法或装置 - Google Patents

用于确定物理不可克隆功能电路的健康状况的方法或装置 Download PDF

Info

Publication number
CN109428721B
CN109428721B CN201710750196.XA CN201710750196A CN109428721B CN 109428721 B CN109428721 B CN 109428721B CN 201710750196 A CN201710750196 A CN 201710750196A CN 109428721 B CN109428721 B CN 109428721B
Authority
CN
China
Prior art keywords
error
bits
output
circuit
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710750196.XA
Other languages
English (en)
Other versions
CN109428721A (zh
Inventor
姚晓旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NXP BV
Original Assignee
NXP BV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NXP BV filed Critical NXP BV
Priority to CN201710750196.XA priority Critical patent/CN109428721B/zh
Priority to US15/702,765 priority patent/US10657247B2/en
Publication of CN109428721A publication Critical patent/CN109428721A/zh
Application granted granted Critical
Publication of CN109428721B publication Critical patent/CN109428721B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3249Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Abstract

本公开涉及用于物理不可克隆功能(PUF)电路的误差校正电路。该误差校正电路包括冗余位存储器、输出整流器电路、误差比较器、误差计数器、误差位存储器、误差更新比较器、输出更新电路和冗余位更新电路。误差校正电路识别PUF电路的一组输出位中的永久误差位,消除永久误差位,并产生一组更新的输出位。

Description

用于确定物理不可克隆功能电路的健康状况的方法或装置
技术领域
本发明总体涉及物理不可克隆功能(PUF)电路,并且更具体地,涉及用于PUF电路的误差校正电路。
背景技术
仅举几例,金融机构、政府和消费者公司每天产生大量的机密数据。机密数据包括个人和企业的财务数据、操作数据和个人数据。不幸的是,这种机密数据往往遭到黑客攻击,因此数据安全和数据窃取的防范非常重要。密码学是在大多数通信网络中提供数据安全的重要工具。经由软件实现的数据安全通常使用存储在存储器中的机密密钥(例如密码、个人识别码(PIN)等)。黑客经常尝试通过访问存储器并窃取机密密钥来获取机密数据。为了防止外部攻击,使用物理不可克隆功能(PUF)电路。
PUF电路是具有包括密钥产生和质询-响应认证的应用的专用电路。由于随机过程的变化,即使具有相同的布局,也没有两个集成电路是同样的。变化在制造过程中是固有的,并且相对变化随着制造过程的进步而增加。也就是说,由于制备条件的变化,硅基PUF的微结构具有差异。因此,硅基PUF通常是防篡改的并且耐克隆的。基于延迟的硅PUF利用这些变化的存在,并且使用每个芯片的唯一延迟特性来产生秘密密钥。例如,在质询-响应系统中,不同的PUF由于PUF的微结构的差异而对相同的质询产生不同的响应。
PUF电路的一个挑战是确保PUF电路正常操作。例如,PUF电路可以接收N位质询并产生M位响应。由于老化和物理条件的变化,PUF电路可能产生错误的M位响应,这将导致认证PUF电路的问题。M位响应中的误差可以被分类为临时误差和永久误差。临时误差是由变化诸如温度、电压波动、电磁干扰等的物理条件引起的,而永久误差是由PUF电路的老化引起的。永久误差不取决于物理条件。
为了解决误差的问题,可以使用误差校正电路。误差校正电路将接收错误的响应,校正误差,并提供经校正的响应。然而,可以由误差校正电路校正的误差的数量受到阈值的限制。并且由于老化,误差可能随着时间而增加。如果误差的数量大于阈值,则误差校正电路将无法校正附加误差,并且PUF电路将输出错误的响应。由于老化引起的误差可能是由于PUF电路的健康状况下降引起的。
因此,具有能够识别PUF电路的健康状况下降的PUF电路的健康指示电路将是有利的。能够补偿老化引起的永久误差也是有利的。
附图说明
当结合附图阅读时,将更好地理解本发明的优选实施例的以下详细描述。本发明通过示例的方式进行了例示,并不受附图的限制,在附图中相同的附图标记指示相似的元件。
图1是根据本发明的实施例的用于确定PUF电路是否最佳运行的误差指示电路的示意性框图;
图2是根据本发明的实施例的误差校正电路的示意性框图;
图3是例示根据本发明的实施例的用于确定图1的PUF电路是否最佳运行的方法的流程图;和
图4A和图4B是例示根据本发明的实施例的用于更新对图2的PUF电路发出的质询的响应的方法的流程图。
具体实施方式
附图的详细描述旨在作为本发明的当前优选实施例的描述,并不旨在表示可以实践本发明的唯一形式。应该理解的是,相同或相当的功能可以通过旨在包含在本发明的精神和范围内的不同实施例来实现。
在一个实施例中,本发明提供了连接到PUF电路的误差指示电路,其中PUF电路接收质询作为一组输入位并且产生响应作为一组输出位。所述一组输入位被编码以提供对存储在冗余位存储器中的一组冗余位的访问。误差指示电路包括连接到PUF电路和冗余位存储器的输出整流器电路。输出整流器电路分别接收所述一组输出位和所述一组冗余位,并产生一组经整流的输出位。误差比较器连接到PUF电路和输出整流器电路。误差比较器分别接收所述一组输出位和所述一组经整流的输出位,并基于所述一组输出位与所述一组经整流的输出位的按位比较,产生一组误差位。第一误差计数器连接到误差比较器,接收所述一组误差位,并基于所述一组误差位产生误差计数值。标志比较器连接到第一误差计数器,接收误差计数值,并且当误差计数值大于第一阈值时设置标志。该标志提供了PUF电路的健康状况的指示。
当所述一组输出位的输出位与所述一组输出位的对应的经整流的输出位不匹配时,误差比较器设置所述一组误差位的误差位。由第一误差计数器产生的误差计数值包括所设置的所述一组误差位的误差位之和。如果输出整流器电路能够例如使用正向校正来校正所述一组输出位的'n'位,那么第一阈值为n-1或更小,因此标志在电路将不能够校正所有检测到的误差之前被升高。因此,标志指示由输出整流器电路校正的误差的数量正接近可由输出整流器电路校正的最大误差数量。
在另一实施例中,本发明提供了连接到PUF电路的误差校正电路。误差校正电路包括上述实施例的输出整流器和误差比较器,以及连接到误差比较器的第二误差计数器。第二误差计数器接收一组误差位,并产生一组计数值,所述一组计数值指示对于误差位中的每一个,每个所述位没有改变状态的PUF电路的操作周期的数量。误差更新比较器连接到第二误差计数器,接收所述一组计数值,识别大于第二阈值的计数值,并产生对应的一组标志位,其中当对应的计数值大于第二阈值时设置标志位。当被设置时,标志位指示对应的误差位包括永久误差。
第二误差计数器可以连接到误差位存储器以便于为误差位中的每一个产生累积计数值。输出更新电路可以连接到误差更新比较器,用于接收标志位,并且基于标志位产生一组更新的输出位。更新的输出位可以从误差校正电路输出,其中更新的输出位指示对于PUF电路的下一次使用,经整流的输出将包括永久误差的校正。冗余位更新电路可以连接到输出更新电路,用于接收更新的输出位,产生一组更新的冗余位,并将更新的冗余位存储在冗余位存储器中。
在一个实施例中,冗余位存储器是误差校正电路的一部分,并且冗余位存储器包括可编程只读存储器(ROM),其允许更新的冗余位存储在存储器中以动态地校正检测到的永久误差。
在又一个实施例中,本发明提供了一种用于确定PUF电路的健康状况的方法,其中PUF电路接收质询作为一组输入位,并产生响应作为一组输出位。该方法包括使用所述一组输出位和一组冗余位用输出整流器电路产生一组经整流的输出位,并由误差比较器将所述一组输出位与所述一组经整流的输出位进行比较以产生一组误差位。如果对应的输出位与对应的经整流的输出位匹配,则误差位具有第一值,如果对应的输出位与对应的经整流的输出位不匹配,则具有第二值。该方法还包括利用第一误差计数器产生误差计数值,其中误差计数值是具有第二值的一组误差位的位数之和。将误差计数值与第一阈值进行比较,并且如果误差计数值大于第一阈值,则设置标志。该标志提供了PUF电路的健康状况的指示。
本发明的各种实施例包括用于更新对PUF电路的质询的响应的系统和方法。PUF电路接收一组输入位并产生一组输出位。输出整流器电路基于一组冗余位和输出位产生一组经整流的输出位。误差比较器将输出位和经整流的输出位进行比较,并产生一组误差位。误差计数器计数由误差比较器检测到的误差的发生(即,计数每个误差发生了多少次)。误差更新比较器确定计数的误差的数量是否超过预定阈值,并产生标志。输出更新电路接收标志并产生一组更新的输出位。冗余位更新电路接收更新的输出位并识别更新的输出位的更新的冗余位。以这种方式,如果相同的误差发生多于预定次数,则设置指示误差为永久的标志。然后冗余位存储器被更新以适应任何这样的永久误差。
用于更新对PUF电路的质询的响应的系统消除了永久误差位,因此有助于PUF电路的更长的使用寿命。
现在参考图1,示出了根据本发明的实施例的用于PUF电路102的误差指示电路100的示意性框图。误差指示电路100用于确定PUF电路102的运行条件(即,健康状况)。PUF电路102接收质询作为一组输入位IN[0:n]。响应于质询,PUF电路102产生响应作为一组输出位OUT[0:m]。如本领域技术人员所理解的,PUF电路102的输出OUT[0:m]取决于PUF电路102周围的物理条件(例如温度和电压波动)。这种变化可以使输出位OUT[0:m]中的一个或多个位反转。然而,由物理操作条件的变化导致的输出位OUT[0:m]中的任何一个位的反转被认为是临时误差,因为物理条件可能改变并且因此反转可能不再发生或除非相同的条件重现否则不会再发生。因此,PUF电路102可能取决于PUF电路102周围的物理条件的变化而产生对质询的错误响应。
冗余位存储器104也接收质询IN[0:n}。被编码的输入位IN[0:n]向存储器104提供地址以访问存储在存储器104中的一组冗余位[0:k}。在当前优选实施例中,冗余位存储器包括2n+1组冗余位。所述一组输入位IN[0:n]包括2n+1组冗余位中的至少一个。尽管冗余位存储器104被示出为单独的实体,但是在一些实施例中,冗余位存储器104是PUF电路102的一部分,而在其它实施例中,冗余位存储器是误差指示电路100的一部分。在图1所示的实施例中,冗余位存储器104优选地包括不可更新的只读存储器(ROM)。PUF电路102和冗余位存储器104可以包括本领域技术人员已知的PUF电路和冗余位存储器的类型。
误差指示电路100包括输出整流器电路106、误差比较器108、第一误差计数器110和标志比较器112。
输出整流器电路106接收来自PUF电路102的输出位OUT[0:m]和来自存储器104的冗余位RED[0:k]。输出整流器电路106被配置为校正输出位OUT[0:m]中的误差。在当前优选的实施例中,输出整流器电路106包括用于校正输出位OUT[0:m]中的误差的正向误差校正(FEC)码。FEC码使用冗余位RED[0:k]校正误差,并产生一组经整流的输出位RECT_OUT[0:m]。如本领域技术人员将理解的,'n'和'm'是自然数,并且可以取决于所需的安全水平被设置为具有不同的值。例如,如果m小,例如是8,则因为穷举搜索可以用于匹配或映射对质询的响应,所以安全性可能会很低。'k'也是自然数,并且小于m;可以校正的误差的数量小于k。本领域技术人员将理解,输出整流器电路106可以使用各种误差校正算法等,因此本发明不限于FEC电路。
误差比较器108接收由PUF电路102产生的响应OUT[0:m]和来自输出整流器电路106的所述一组经整流的输出位RECT_OUT[0:m],执行输出位OUT[0:m]和经整流的输出位RECT_OUT[0:m]的按位比较,并产生一组误差位ERR[0:m]。在一个实施例中,误差比较器108包括“m”个异或门(未示出),其中“m”个异或门中的每一个接收输出位OUT[0:m]中的一个以及经整流的输出位RECT_OUT[0:m]中的对应的一个。在一个示例中,误差比较器108包括第一到第十异或门,并且在该示例中,输出位OUT[0:m]的第一、第二和第十位不同于经整流的输出位RECT_OUT[0:m]的第一、第二和第十位。因此,误差比较器108输出ERR[0:9]='1100000001'。
第一误差计数器110对所述一组误差位ERR[0:m]的位数进行计数,并输出误差计数E_COUNT。在上述示例中,误差计数器110接收所述一组误差位ERR[0:9]'1100000001',并产生为3的误差计数值E_COUNT。注意,对于每个质询IN[0:n],有新的响应OUT[0:m],并且计数值仅适用于当前的质询/响应。也就是说,计数值E_COUNT不是累积的。
标志比较器112从误差比较器108接收计数值E_COUNT。例如,如果所述一组输出位OUT[0:m]为'1001011',并且所述一组经整流的输出位RECT_OUT[0:m]为'1000101',则输出位OUT[0:m]的第四、第五和第六位是错误的。因此,误差比较器108产生的误差位ERR[0:m]包括位串'0001110',并且由第一误差计数器110产生的误差计数值E_COUNT为3。
标志比较器112从第一误差计数器110接收误差计数值E_COUNT并将E_COUNT与第一阈值进行比较。如果误差计数值E_COUNT大于第一阈值,则标志比较器112设置指示PUF电路102的健康状况正在下降的标志F_OUT。因此,如果设置了标志F_OUT,则如果不采取用于替换PUF电路102的适当动作,则PUF电路102可能会达到全部故障,因为输出整流器电路106可能不能对所有检测到的误差进行整流。另一方面,如果误差计数值E_COUNT小于第一阈值,则不设置标志F_OUT。当未设置标志F_OUT时,由于输出整流器电路106应能够校正响应OUT[0:m]中的任何/全部误差,所以认为PUF电路102的健康状况良好。也就是说,输出整流器电路106不会有太多的误差来校正。在当前的优选实施例中,第一阈值被设置为小于可以由输出整流器电路106校正的最大误差数量的数量,使得在出现比可以解决的更多误差之前提供足够的警告。
例如,如果第一阈值被设置为五(5),则输出整流器电路106应该能够对所述一组输出位OUT[0:m]中的至少五个错误位进行整流,并且优选地,输出整流器电路106可以对响应OUT[0:m]中的至少六(6)个误差进行整流。然后,当误差计数值E_COUNT达到5时,标志比较器112设置标志F_OUT。
在一个实施例中,误差指示电路100指示PUF电路102的多个健康水平。如果误差计数值E_COUNT位于中间第一阈值和第一阈值之间,则标志比较器112设置中间标志(未示出)。如果设置了中间标志,则输出整流器电路106可以对所述一组输出位OUT[0:m]的误差位ERR[0:m]进行整流。如果误差计数值E_COUNT大于第一阈值,则标志比较器112设置标志F_OUT。如果设置了标志F_OUT,则指示PUF电路102的健康状况已经下降到应该改变的程度。如果误差计数值小于中间第一阈值,则标志比较器112既不设置中间标志也不设置标志F_OUT,这指示PUF电路102的健康状况没有下降。本领域技术人员将会理解,如果设置意味着设置为高逻辑值即“1”,则“未设置”意味着标志处于低逻辑值,即“0”。
现在参考图2,示出了根据本发明的实施例的误差校正电路200的示意性框图。误差校正电路200连接到PUF电路102。当PUF电路102接收质询IN[0:n]并产生响应OUT[0:m]时,误差校正电路200接收响应OUT[0:m]。
在本实施例中,误差校正电路200包括冗余位存储器201、输出整流器电路106、误差比较器108、第二误差计数器202、误差位存储器204、误差更新比较器206、输出更新电路208和冗余位更新电路210。除了在本实施例中是可写入的所以可以包括可编程ROM的冗余位存储器201之外,图2的PUF电路102、冗余位存储器201、输出整流器电路106和误差比较器108的结构和操作与参考图1所示和描述的相同元件的结构和操作类似,如下面将更详细描述的。
第二误差计数器202从误差比较器108接收一组误差位ERR[0:m]。所述一组误差位ERR[0:m]可以包括临时误差位和永久误差位两者。临时误差位是由诸如温度和电压波动的物理操作条件的变化引起的。临时误差位通常在PUF电路102的操作周期内变化。然而,所述一组误差位ERR[0:m]中的一个或多个位可能在PUF电路102的多个操作周期内是恒定的。在PUF电路102的多个操作周期内恒定的位被认为指示永久误差。永久误差位通常由于PUF电路102的老化而产生。对PUF电路102的物理侵入也可能是永久误差位的原因。
与误差位存储器204一起操作的第二误差计数器202测量PUF电路102的多个操作周期内的误差位ERR[0:m]的变化。也就是说,第二误差计数器202维持每个误差位ERR[0:m]保持在恒定逻辑状态的操作周期的数量的计数,并且将PUF电路102的每个操作周期的误差位ERR[0:m]和当前计数值存储在误差位存储器204中。更具体地,第二误差计数器202基于所述一组误差位ERR[0:m]和先前计数值产生一组计数值COUNT[0:m]。每个计数值COUNT[0:m]表明对应的误差位ERR[0:m]保持恒定的PUF电路102的连续操作周期的数量。例如,如果误差位ERR[0:6]为'1001010',则第二误差计数器202产生对应于七个误差位ERR[0:6]的计数值COUNT[0:6]。例如,如果PUF电路102的六个操作周期中的第二、第三和第五误差位ERR[0:6]是恒定的,并且其它误差位ERR[0:6]在六个操作周期内变化,则计数值COUNT[0:6]为'0660600'。
误差更新比较器206接收来自第二误差计数器202的计数值COUNT[0:m],并且基于计数值COUNT[0:m]产生对应于所述一组误差位ERR[0:m]的一组标志位FLAG[0:m]。如果所述一组计数值COUNT[0:m]的任何计数值大于第二阈值,则误差更新比较器206设置一组标志位FLAG[0:m]的对应标志位。设置的标志位FLAG[0:m]指示对应的误差位ERR[0:m]是永久误差位。例如,如果第二阈值被设置在PUF电路102的五个操作周期处,并且第一、第二和第四误差位ERR[0]、ERR[1]和ERR[3]对于PUF电路102的六个操作周期具有相同值,则将第一、第二和第四误差位ERR[0]、ERR[1]和ERR[3]确定为永久误差,并且设置第一、第二和第四标志位FLAG[0]、FLAG[1]和FLAG[3]。
在其它实施例中,第二误差计数器202针对每个误差位对位保持恒定的周期进行计数,但是如果误差位中的一个在一个周期内改变状态,则第二误差计数器将递减对该位的当前计数值位。以这种方式,误差校正电路200可以评估误差是永久误差的概率。例如,如果在五(5)个操作周期内,位中的一个位被设置为五次中的四次,则存在永久误差的大可能性。也可以使用其它计数算法,例如,如果位改变状态(但计数值不低于零),则递减二(2)。
输出更新电路208连接到输出整流器电路106、误差更新比较器206和冗余位更新电路210。输出更新电路208从误差更新比较器206接收标志位FLAG[0:m],并且基于标志位FLAG[0:m]产生一组更新的输出位UP_OUT[0:m]。更具体地说,输出更新电路208将所述一组误差位ERR[0:m]的永久误差位反相,产生一组更新的输出位UP_OUT[0:m]。从电路200输出更新的输出位UP_OUT[0:m],使得PUF电路102的用户将知道对于PUF电路102的下一次使用,经整流的输出RECT_OUT[0:m]将包括对永久误差位的校正。
冗余位更新电路210还从输出更新电路208接收所述一组更新的输出位UP_OUT[0:m],并且基于更新的输出位UP_OUT[0:m]产生一组更新的冗余位UP_RED[0:k]。冗余位更新电路210将更新的冗余位UP_RED[0:k]存储在冗余位存储器201中,代替其中存储的冗余位RED[0:k],使得在PUF电路102的稍后的操作周期中,输出整流器电路106使用更新的冗余位UP_RED[0:k]产生经整流的输出位RECT_OUT[0:m]。
例如,如果在PUF电路102的第八操作周期中,误差比较器108将第八操作周期的误差位ERR[0:m]8(以下称为“第八组误差位”)产生为'0101001010',并且在这个实例中,在PUF电路102的八个操作周期中,第二、第四和第八误差位ERR[1]、ERR[3]和ERR[7]是恒定的,而第八组误差位ERR[0:m]8的其它误差位在PUF电路102的八个操作周期内变化,则第二误差计数器202将第八操作周期的计数值COUNT[0:m]8(以下称为“第八组计数值”)产生为'0808000800'。然后,如果第二阈值被设置在PUF电路102的八个操作周期处,则误差更新比较器206将第八操作周期的标志位FLAG[0:m]8(以下称为“第八组标志位”)设置为'0101000100'。输出更新电路208接收第八组标志位FLAG[0:m]8,并产生第八组更新的输出位UP_OUT[0:m]8。冗余位更新电路210产生第八操作周期的更新的冗余位UP_RED[0:k]8,其作为PUF电路102的第九操作周期的一组冗余位RED[0:k]9
因此,从图1和图2所示的电路结构,本发明可以提供指示存在比可以补偿的误差位几乎更多的误差位时PUF电路的健康状况的标志,并且可以使用输出更新电路208、冗余位更新电路210和冗余位存储器104检测并调节永久误差。当然,在本发明的一些实施例中,误差校正电路既提供PUF健康指示又提供永久误差位校正。
现在参考图3,示出了根据本发明的实施例的用于指示图1的PUF电路102的健康条件的方法的流程图。在步骤302,PUF电路102接收一组输入位IN[0:n],并且在步骤304,PUF电路102基于所述一组输入位IN[0:n]产生一组输出位OUT[0:m]。如本领域已知的那样,所述一组输入位IN[0:n]被编码,并且作为地址被提供给冗余位存储器104,使得从存储器104读取一组冗余位RED[0:k]。在步骤306,输出整流器电路106从冗余位存储器104接收冗余位RED[0:k],并且在步骤308,输出整流器电路106基于输出位OUT[0:m]和冗余位RED[0:k]产生一组经整流的输出位RECT_OUT[0:m]。在一个实施例中,输出整流器电路106使用FEC码来对输出位OUT[0:m]中的误差进行整流。
在步骤310,误差比较器108分别从PUF电路102和输出整流器电路106接收输出位OUT[0:m]和经整流的输出位RECT_OUT[0:m],并执行按位比较并基于比较产生一组误差位ERR[0:m]。在步骤312,第一误差计数器110基于所述一组误差位ERR[0:m]产生误差计数值E_COUNT,并将误差计数值E_COUNT提供给标志比较器112。在步骤314,标志比较器112确定误差计数值E_COUNT是否大于第一阈值。如果误差计数值E_COUNT小于第一阈值,则标志比较器112执行步骤316。在步骤316,标志比较器112设置标志输出F_OUT,使得F_OUT不指示PUF电路102处于不佳健康状况(例如,如果F_OUT=1指示不佳健康状况,而F_OUT=0指示不是不佳健康状况)。如果在步骤314,标志比较器112确定误差计数值E_COUNT大于或等于第一阈值,则标志比较器112执行步骤318。在步骤318,标志比较器112将标志输出F_OUT设置为指示PUF电路102具有以下健康条件,即,仅存在比可通过输出整流电路106校正的误差少的误差,使得如果出现任何更多的误差,则误差校正电路100将不能够校正它们。
现在参考图4A和图4B,示出了根据本发明的实施例用于更新对对应于图2的PUF电路102的质询的由PUF电路102产生的响应的方法的流程图。在步骤402,PUF电路102接收一组输入位IN[0:n],并且在步骤404,PUF电路102基于所述一组输入位IN[0:n]产生一组输出位OUT[0:m]。所述一组输入位IN[0:n]被编码,并且包括针对存储在冗余位存储器201中的一组冗余位RED[0:k]的地址。在步骤406,输出整流器电路106接收来自冗余位存储器201的所述一组冗余位RED[0:k],并且在步骤408,输出整流器电路106基于输出位OUT[0:m]和冗余位RED[0:k]产生一组经整流的输出位RECT_OUT[0:m]。在一个实施例中,输出整流器电路106采用FEC码来对输出位OUT[0:m]中的误差整流。然而,如本领域技术人员将理解的,还可以使用其它误差校正算法代替FEC或作为补充。
在步骤410,误差比较器108从PUF电路102接收输出位OUT[0:m]并从输出整流器电路106接收经整流的输出位RECT_OUT[0:m],执行按位比较,并且基于比较结果产生一组误差位ERR[0:m]。在步骤412,第二误差计数器202接收误差位ERR[0:m]并将其存储在误差位存储器204中。在步骤414,第二误差计数器202对PUF电路102的每个周期出现其中误差位[0:m]不改变的数量进行计数,并产生计数值COUNT[0:m]。也就是说,第二误差计数器202对位保持在相同逻辑状态的所述一组误差位ERR[0:m]的每一位的操作周期的数量进行计数。
在步骤416,误差更新比较器206从第二误差计数器202接收计数值COUNT[0:m],并且在步骤418,误差更新比较器206确定计数值COUNT[0:m]中的任何一个是否大于第二阈值。如果误差更新比较器206确定没有计数值COUNT[0:m]大于第二阈值,则误差更新比较器执行步骤420。在步骤420,经整流的输出位RECT_OUT[0:m]被输出。误差更新比较器206还确定所述一组误差位ERR[0:m]不包括任何永久误差。
然而,如果在步骤418,误差更新比较器206确定计数值COUNT[0:m]中的任何一个大于第二阈值,则误差更新比较器执行步骤422。在步骤422,误差更新比较器206产生对应于所述一组误差位ERR[0:m]的一组标志位FLAG[0:m]。如果计数值COUNT[0:m]中的任何一个大于第二阈值,则误差更新比较器206设置所述一组标志位FLAG[0:m]的对应标志位。
在步骤424,误差更新比较器206将所述一组标志位FLAG[0:m]输出到输出更新电路208。在步骤426,输出更新电路208基于标志位FLAG[0:m]和经整流的输出位RECT_OUT[0:m]产生一组更新的冗余位UP_RED[0:k]。在步骤428,输出更新电路208基于一组更新的输出位UP_OUT[0:m]产生所述一组更新的冗余位UP_RED[0:k],并将所述一组更新的冗余位UP_RED[0:k]存储在冗余位存储器104中。在步骤430,输出整流器电路106使用更新的冗余位UP_RED[0:k],产生PUF电路102的下一个操作周期的所述一组经整流的输出位RECT_OUT[0:m]。
误差指示电路100确定PUF电路102是否能够校正由输出整流器电路106检测到的任何误差。因此,误差指示电路100能够提供PUF电路102需要何时替换的指示。误差指示电路100的实现消除了对PUF电路102的物理侵入和外部监测的需要。此外,防止物理侵入PUF电路102的安全性不受误差指示电路100的影响。PUF电路102的物理侵入可能会在一组误差位ERR[0:m]中引入更多的永久误差位。因此,误差计数值E_COUNT大于第一阈值,指示PUF电路102中的物理侵入。误差校正电路200有助于PUF电路102的动态认证。因此,与典型的PUF电路相比,PUF电路102的伪造是困难的。由于误差校正电路200用更新的输出位UP_OUT[0:m]更新输出位OUT[0:m],因此消除了永久误差。因此,PUF电路102可以用于更长的操作周期而不论PUF电路102的老化。此外,去除永久误差有助于无缝认证。
本文中已经使用术语第一和第二逻辑状态来区分高信号和低信号。例如,第一逻辑状态可以表明为0v的信号,而第二逻辑状态则将指示具有逻辑“1”值的信号,而逻辑1的实际电压值取决于电路技术。这里描述的电路也可以使用正逻辑或负逻辑来设计,因此在一个实施例中的有效信号可以是逻辑“0”,而无效信号将具有逻辑值“1”。
本领域技术人员将会理解,可以由逻辑门的不同布置执行相同的逻辑功能,或者逻辑电路使用正或负逻辑信号进行操作。因此,不应将上述逻辑门中的一些逻辑门的布置的变化视为脱离本发明的范围。
虽然已经例示和描述了本发明的各种实施例,但是将清楚的是本发明不仅限于这些实施例。在不脱离如权利要求中所述的本发明的精神和范围的情况下,许多修改、改变、变化、替代和等同物对于本领域技术人员将是显然的。

Claims (20)

1.一种连接到物理不可克隆功能PUF电路的误差指示电路,其中PUF电路接收质询作为一组输入位,并产生响应作为一组输出位,并且其中所述一组输入位被编码以提供对存储在冗余位存储器中的一组冗余位的访问,所述误差指示电路包括:
输出整流器电路,连接到所述PUF电路和所述冗余位存储器以分别接收所述一组输出位和所述一组冗余位,并产生一组经整流的输出位;
误差比较器,连接到所述PUF电路和所述输出整流器电路以分别接收所述一组输出位和所述一组经整流的输出位,并基于所述一组输出位与所述一组经整流的输出位的按位比较产生一组误差位;
第一误差计数器,连接到所述误差比较器用于接收所述一组误差位,并且基于所述一组误差位产生误差计数值;以及
标志比较器,连接到所述第一误差计数器用于接收所述误差计数值,并且当所述误差计数值大于第一阈值时设置标志。
2.根据权利要求1所述的误差指示电路,其中,当所述一组输出位的输出位与所述一组输出位的对应的经整流的输出位不匹配时,所述误差比较器设置所述一组误差位的误差位,并且由所述第一误差计数器产生的所述误差计数值包括所述一组误差位的所设置的误差位之和。
3.根据权利要求1所述的误差指示电路,其中所述输出整流器电路能够校正所述一组输出位的n位,并且所述第一阈值为n-1或更小。
4.根据权利要求1所述的误差指示电路,其中所述标志指示由所述输出整流器电路校正的误差的数量正接近由所述输出整流器电路能够校正的最大误差数量。
5.一种连接到物理不可克隆功能PUF电路的误差校正电路,其中PUF电路接收质询作为一组输入位,并产生响应作为一组输出位,并且其中所述一组输入位被编码以提供对存储在冗余位存储器中的一组冗余位的访问,所述误差校正电路包括:
输出整流器电路,连接到所述PUF电路和所述冗余位存储器以分别接收所述一组输出位和所述一组冗余位,并产生一组经整流的输出位;
误差比较器,连接到所述PUF电路和所述输出整流器电路以分别接收所述一组输出位和所述一组经整流的输出位,并基于所述一组输出位与所述一组经整流的输出位的按位比较来产生一组误差位;
第二误差计数器,连接到所述误差比较器用于接收所述一组误差位并产生一组计数值,所述一组计数值指示对于误差位中的每一个,每个所述误差位没有改变状态的所述PUF电路的操作周期的数量;以及
误差更新比较器,连接到所述第二误差计数器用于接收所述一组计数值,识别大于第二阈值的计数值,以及产生对应组的标志位,其中当对应的计数值大于所述第二阈值时设置标志位,并且其中当被设置时,所述标志位指示对应的误差位包括永久误差位。
6.根据权利要求5所述的误差校正电路,还包括连接到所述第二误差计数器的误差位存储器,其中针对所述误差位中的每一个误差位,累积计数值被存储在所述误差位存储器中。
7.根据权利要求5所述的误差校正电路,其中,当误差位不改变状态时,所述第二误差计数器递增计数值,并且当所述误差位改变状态时,递减所述计数值。
8.根据权利要求5所述的误差校正电路,还包括连接到所述误差更新比较器的输出更新电路,用于接收所述标志位,并且基于所述标志位产生一组更新的输出位。
9.根据权利要求8所述的误差校正电路,其中,所述输出更新电路使所述永久误差位反转以产生所述一组更新的输出位。
10.根据权利要求9所述的误差校正电路,其中所述更新的输出位从所述误差校正电路被输出,并且其中所述更新的输出位指示对于所述PUF电路的下一次使用,经整流的输出将包括所述永久误差位的校正。
11.根据权利要求8所述的误差校正电路,还包括连接到所述输出更新电路以用于接收所述更新的输出位的冗余位更新电路,其中所述冗余位更新电路基于所述更新的输出位产生一组更新的冗余位,并且将所述更新的冗余位存储在所述冗余位存储器中。
12.根据权利要求11所述的误差校正电路,其中在所述PUF电路的后续操作周期中,所述输出整流器电路使用存储在所述冗余位存储器中的所述更新的冗余位来产生所述经整流的输出位。
13.根据权利要求5所述的误差校正电路,其中所述冗余位存储器是所述误差校正电路的一部分,并且所述冗余位存储器包括可编程只读存储器ROM。
14.一种用于确定物理不可克隆功能PUF电路的健康状况的方法,其中PUF电路接收质询作为一组输入位并产生响应作为一组输出位,所述方法包括:
使用所述一组输出位和一组冗余位用输出整流器电路产生一组经整流的输出位;
通过误差比较器将所述一组输出位与所述一组经整流的输出位进行比较,以产生一组误差位,其中如果对应的输出位与对应的经整流的输出位匹配,则所述一组误差位的误差位具有第一值,并且如果所述对应的输出位与所述对应的经整流的输出位不匹配,则所述一组误差位的所述误差位具有第二值;
利用第一误差计数器产生误差计数值,其中所述误差计数值是所述一组误差位的具有所述第二值的位数之和;
将所述误差计数值与第一阈值进行比较;以及
如果所述误差计数值大于所述第一阈值,则设置标志,由此所述标志提供了所述PUF电路的健康状况的指示。
15.根据权利要求14所述的方法,其中,所述输出整流器电路能够校正所述一组输出位的n位,并且所述第一阈值为n-1或更小。
16.根据权利要求14所述的方法,还包括:
用第二误差计数器产生所述PUF电路的多个操作周期内的对应于所述一组误差位的一组计数值;
用误差更新比较器将所述一组计数值的每个计数值与第二阈值进行比较;以及
基于超过所述第二阈值的对应计数值,确定所述一组误差位的对应误差位为永久误差位。
17.根据权利要求16所述的方法,还包括由所述误差更新比较器产生对应于所述一组误差位中的一个或多个永久误差位的一组标志位。
18.根据权利要求17所述的方法,还包括利用输出更新电路基于所述标志位和所述经整流的输出位来产生一组更新的输出位。
19.根据权利要求18所述的方法,其中所述输出更新电路将永久误差位反转以产生所述一组更新的输出位,并且其中所述更新的输出位指示对于所述PUF电路的下一次使用,经整流的输出包括所述一个或多个永久误差位的校正。
20.根据权利要求18所述的方法,其中提供给所述输出整流器电路的所述一组冗余位被存储在冗余位存储器中,所述方法还包括:
从所述更新的输出位产生一组更新的冗余位;以及
将所述更新的冗余位写入所述冗余位存储器。
CN201710750196.XA 2017-08-28 2017-08-28 用于确定物理不可克隆功能电路的健康状况的方法或装置 Active CN109428721B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710750196.XA CN109428721B (zh) 2017-08-28 2017-08-28 用于确定物理不可克隆功能电路的健康状况的方法或装置
US15/702,765 US10657247B2 (en) 2017-08-28 2017-09-13 Error correction circuit for physical unclonable function (PUF) circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710750196.XA CN109428721B (zh) 2017-08-28 2017-08-28 用于确定物理不可克隆功能电路的健康状况的方法或装置

Publications (2)

Publication Number Publication Date
CN109428721A CN109428721A (zh) 2019-03-05
CN109428721B true CN109428721B (zh) 2023-06-30

Family

ID=65436085

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710750196.XA Active CN109428721B (zh) 2017-08-28 2017-08-28 用于确定物理不可克隆功能电路的健康状况的方法或装置

Country Status (2)

Country Link
US (1) US10657247B2 (zh)
CN (1) CN109428721B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11082241B2 (en) * 2018-03-30 2021-08-03 Intel Corporation Physically unclonable function with feed-forward addressing and variable latency output
US10770146B2 (en) * 2018-06-08 2020-09-08 Taiwan Semiconductor Manufacturing Co., Ltd. Method and apparatus for PUF generator characterization
WO2023096539A1 (en) * 2021-11-23 2023-06-01 Telefonaktiebolaget Lm Ericsson (Publ) Method and means for confirming identity of devices

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880061A (zh) * 2011-07-15 2013-01-16 英飞凌科技股份有限公司 用于清除位模式中的时效引起的误差的位误差校正
CN104521177A (zh) * 2011-12-06 2015-04-15 本质Id有限责任公司 使用单次注册用于基于存储器的puf的软判决误差校正

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3573728A (en) 1969-01-09 1971-04-06 Ibm Memory with error correction for partial store operation
US6694477B1 (en) 2000-09-28 2004-02-17 Western Digital Technologies, Inc. Communication channel employing an ECC decoder enhanced by likely error events of a trellis sequence detector
US8290150B2 (en) 2007-05-11 2012-10-16 Validity Sensors, Inc. Method and system for electronically securing an electronic device using physically unclonable functions
CN101542496B (zh) 2007-09-19 2012-09-05 美国威诚股份有限公司 利用物理不可克隆功能的身份验证
US8516269B1 (en) 2010-07-28 2013-08-20 Sandia Corporation Hardware device to physical structure binding and authentication
US8525169B1 (en) 2012-08-10 2013-09-03 International Business Machines Corporation Reliable physical unclonable function for device authentication
JP6377751B2 (ja) 2013-09-24 2018-08-22 インテル・コーポレーション メモリ中のエラーを処理するためのエラー訂正ポインタの使用
US9992031B2 (en) * 2013-09-27 2018-06-05 Intel Corporation Dark bits to reduce physically unclonable function error rates
CN104216665B (zh) 2014-09-01 2017-03-08 上海新储集成电路有限公司 多层单元固态硬盘的存储管理方法
US9584329B1 (en) * 2014-11-25 2017-02-28 Xilinx, Inc. Physically unclonable function and helper data indicating unstable bits
DE102016102590B4 (de) * 2016-02-15 2018-10-04 Infineon Technologies Ag Datenverarbeitungseinrichtungen und verfahren zum rekonstruieren eines puf-werts

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880061A (zh) * 2011-07-15 2013-01-16 英飞凌科技股份有限公司 用于清除位模式中的时效引起的误差的位误差校正
CN104521177A (zh) * 2011-12-06 2015-04-15 本质Id有限责任公司 使用单次注册用于基于存储器的puf的软判决误差校正

Also Published As

Publication number Publication date
US20190065734A1 (en) 2019-02-28
CN109428721A (zh) 2019-03-05
US10657247B2 (en) 2020-05-19

Similar Documents

Publication Publication Date Title
US20200364374A1 (en) Apparatus and method for generating identification key
US10193701B2 (en) Apparatus and method for processing authentication information
US8510608B2 (en) Generating PUF error correcting code using redundant hardware
CN107924645B (zh) 具有物理不可克隆功能的加密设备
KR101663341B1 (ko) 식별키 생성 장치 및 방법
US20150109022A1 (en) Semiconductor chip and method for generating digital value using process variation
CN109428721B (zh) 用于确定物理不可克隆功能电路的健康状况的方法或装置
US11368319B2 (en) Integrated circuit performing authentication using challenge-response protocol and method of using the integrated circuit
Immler et al. New insights to key derivation for tamper-evident physical unclonable functions
JP5831203B2 (ja) 個体別情報生成装置、暗号化装置、認証システム、及び個体別情報生成方法
KR20180120464A (ko) 식별키 생성장치 및 식별키 생성방법
Lee et al. Samsung physically unclonable function (SAMPUF™) and its integration with Samsung security system
KR102050021B1 (ko) 식별키 유용성 판별장치
US11531785B2 (en) PUF-based data integrity
CN111800272B (zh) 一种针对ro puf输出响应的可靠性自检电路及方法
JPWO2013002239A1 (ja) 機器固有情報生成装置と機器固有情報生成方法、端末機器および認証システム
Dai et al. A study of side-channel effects in reliability-enhancing techniques
WO2022106491A1 (en) Method for generating a physical unclonable function response
KR20200052808A (ko) 시도 응답 방식의 물리적 복제방지 기능을 위한 집적 회로 및 이를 사용하는 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant