CN108028757B - 用于物理不可克隆功能的嵌入式测试电路 - Google Patents

用于物理不可克隆功能的嵌入式测试电路 Download PDF

Info

Publication number
CN108028757B
CN108028757B CN201680047612.3A CN201680047612A CN108028757B CN 108028757 B CN108028757 B CN 108028757B CN 201680047612 A CN201680047612 A CN 201680047612A CN 108028757 B CN108028757 B CN 108028757B
Authority
CN
China
Prior art keywords
puf
service
challenges
response
responses
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
CN201680047612.3A
Other languages
English (en)
Other versions
CN108028757A (zh
Inventor
R·达法利
J-L·当热
S·吉耶
F·洛扎克
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.)
Secure IC SAS
Original Assignee
Secure IC SAS
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 Secure IC SAS filed Critical Secure IC SAS
Publication of CN108028757A publication Critical patent/CN108028757A/zh
Application granted granted Critical
Publication of CN108028757B publication Critical patent/CN108028757B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Debugging And Monitoring (AREA)

Abstract

公开了包括物理不可克隆功能和在线测试电路或嵌入式测试电路的硅集成电路,所述在线测试电路包括与所述PUF物理相邻的一个或多个电路部分,并且所述一个或多个电路体现一个或多个测试,该一个或多个测试被执行以确定所述PUF的一个或多个质量性质或以其他方式表征所述PUF。描述了利用具体相关联的方法步骤的不同测试。

Description

用于物理不可克隆功能的嵌入式测试电路
技术领域
本专利涉及数字数据处理领域,并且更具体地涉及用于处理物理不可克隆功能的方法和系统。
背景技术
物理不可克隆功能(首字母缩略词PUF,复数为PUFs)是以物理结构体现的物理实体,并且其在所述结构的每个物理实例化中是相同的且在被提供输入或挑战时生成特定的输出或响应。所述特定输出的值特定于设备内体现的物理实体的每个实例化。PUF利用许多相同设备的制造过程中的条件变化。PUF可以包含在CMOS集成电路中。在某种程度上,PUF可以被认为是设备的指纹的类似物。PUF可以用于各种上下文(例如,对其所附到的芯片或商品的认证、密码密钥或PRNG的种子的生成等)。
具体地,PUF是将数字“挑战”映射到数字“响应”的物理功能(不是数学功能)。挑战是位的矢量。以一组挑战来运行PUF会产生一组唯一且不可预测的响应。要求PUF对于相同的挑战产生确定性的答案。这种确定性可能由于噪声而有缺陷,因为所利用的现象来自物理源,例如,逻辑门之间的细微差别。
在处理PUF时,要解决的一个技术问题在于评定PUF设备的质量。可以确定(例如,测量)该质量的某些方面或性质:可靠性、安全性等。例如,PUF的可靠性对应于其在规定的条件下在指定时间段内执行其所需功能的能力。
现有的测试PUF的方法是有限的。特别地,不能执行设备上的和现场的测试。专利文献没有提供令人满意的解决方案。例如,题为“测试映射功能的安全性(Testingsecurity of mapping functions)”的专利文件US 20110055649公开了用于测试集成电路(IC)的映射功能——例如,物理不可克隆功能(PUF)——的安全性的方法、装置以及物品。在各种实施例中,可以执行一个或多个测试。在各种实施例中,测试可以包括可预测性测试、碰撞测试、灵敏度测试、逆向工程测试以及仿真测试。在各种实施例中,测试可以确定指示安全性或易受攻击性水平的度量。在各种实施例中,测试可以包括表征映射功能的一个或多个延迟元件和/或路径区段。这些方法存在限制。
需要先进的方法和系统来处理PUF,并且特别是评定其性质中的一个或多个。
发明内容
公开了一种包括物理不可克隆功能和在线测试电路或嵌入式测试电路的硅集成电路,所述在线测试电路包括与所述PUF物理相邻的一个或多个电路部分,并且所述一个或多个电路体现一个或多个测试,该一个或多个测试可以被执行以确定所述PUF的一个或多个质量性质或以其他方式对所述PUF进行表征。描述了利用具体的相关联的方法步骤的不同测试。
有利地,本发明的实施例允许用户或机器(例如,软件组件)确定或测量或以其他方式评定PUF的“性质”或“属性”。所述动作可以由用户执行,或者可以由自动化工作流程中的机器执行。例如,本发明的实施例允许机器在工厂中表征PUF。“用户”指定多个角色。例如,用户可以充当“管理员”,其可以配置并执行根据本发明的实施例的利用服务挑战的测试、存储响应、配置阈值、定义或测量可靠性区域等。用户也可以是“终端用户”,其可以使用PUF以便对挑战-响应进行认证或生成密钥等。
有利地,由于可以确定或测量或评定PUF的一个或多个性质,所以相关联的PUF可以进一步“被控制”或“被管理”或以其他方式在下游“被处理”(拒绝、撤销、跟踪、监测等)。
例如,曾经测量的PUF的可靠性可以通过各种机制来保证。这样的可靠性不是通过现有方法“在设备上”和“在现场”估计的,这导致若干缺点(例如,电路随时间推移仍然实现其功能、行为以及可靠性的置信,在不利条件下和/或在恶劣的环境条件下的操作等)。例如,在US 20110055649中,所提出的分析和测试电路不是嵌入式的,因此需要相当复杂的且外部的测试电路和分析器工具,如专利文件的图1、图5以及图7所示。另一限制是分析不对其响应呈现显著的性质以评定PUF质量的任何特定挑战进行利用。
另外,《嵌入式》测试的特征相对PUF的敏感性——如果不是脆弱性——是特别有利的。现有技术的已知测试通常意味着可能对PUF有害的某种形式的耦合或硬件侵入,例如,这可能引入扰动并且进一步导致错误的措施。相比之下,与PUF相邻(或混合)的嵌入式测试形成全局电路的完整部分,从而提供了非扰动且易于获得的测试解决方案。
有利地,可以测量PUF的所确定的性质,并且进一步通知给用户或人类操作者或监督系统,使得(适当的)决定可以在下游做出(例如,PUF设备可以被拒绝或撤销,可以采取新的安全措施或程序,可以收集相关联的相关知识以便于建立更好的产品等)。
有利地,本发明的实施例还可以随时间监测PUF设备的功能,从而允许产生有用的计算和日志(例如,访问)统计。具体地,可以将对应的数据报告给监督中心,其例如可以将PUF设备的功能的演变进行关联。可以对芯片操作者或用户的认知进行修改(例如,警报等)。在实施例中,如果一个或多个测试序列失败,则操作者或监督中心可以暂时拒绝或撤销产品样本。操作者或监督中心可以收集知识以用于未来更好的产品。可以告知操作者或监督中心环境条件异常“恶劣”。操作者可以决定撤销设备,以防止即将发生的故障,同时设备仍然表面上运行,从而避免附加的成本和未检测到的故障的后果。
有利地,PUF可以用作传感器来检测扰动攻击。事实上,如果设备的环境正在改变(由于恶意攻击,其目的是创建错误的计算),则PUF性质可能会改变。这可以被监测,并且用来推断攻击的可能性。PUF的这种使用是有用的,因为即使当不需要PUF的功能(密钥的产生、伪随机数生成器的播种、认证等)时,也允许利用PUF以用于另一目的(周围环境传感器)。此外,作为传感器的这种用途可以带来与其他类型的传感器正交的攻击尝试检测。最终,即使攻击者施加的压力不足够强以实际触发电路中的实质故障,使用PUF的这种方式也可能暗示攻击准备。
附图说明
现在将参照附图通过示例的方式来描述本发明的实施例,在附图中相同的附图标记表示类似的元素,并且其中:
图1示出了根据本发明的方法的步骤的示例;
图2A表示应用挑战和应用响应;
图2B、图2C以及图2D表示服务挑战和服务响应的三个示例;
图3示出了本发明的实施例的示意性系统图;
图4示出了本发明的实施例的示意性系统图;以及
图5示出了本发明的具体系统实施例。
具体实施方式
现在介绍术语的定义。
利用挑战来运行PUF导致所述PUF输出响应。
可以利用多个挑战来运行PUF,从而输出表征PUF的相关联的响应。
在本发明的一方面,将挑战划分成服务挑战(SC)和应用挑战(AC)。在数学中,集合的“划分”是将集合的元素分组为非空子集,以此种方式使得每个元素被包含在一个且仅一个子集中。这特别地意味着SC和AC的集合是分开的。挑战是“服务”挑战,或者是“应用”挑战。由于应用挑战在文献中有明确的定义,服务挑战的定义是明确相反定义的(SC是不为AC的挑战)。
对进一步的说明进行描述。
根据本发明的“服务”挑战被用来评定一个或多个PUF属性,例如,其质量。
“应用”挑战在现有技术中是已知的。这些挑战被用于经典的PUF应用。应用挑战可以服务于两个目的:a)密钥生成,或b)挑战-响应认证。应用挑战用于评定PUF的功能(例如,芯片或商品的认证、密码密钥或PRNG的种子的生成等)。应用挑战可以在设计阶段和/或在概要分析(profiling)阶段(例如,在制造之后不久)生成。在设计阶段,PUF设计者了解架构(和/或对系统行为有很好的理解)。了解架构允许用户找到或识别具有明确定义的性质的挑战。标准例如可以是使得挑战的汉明权重影响PUF响应。
在本发明的一方面,对“服务”挑战进行定义。
应用挑战与服务挑战的区别大体上来自PUF的响应类型。对于应用挑战,应用响应对应于设备的“指纹”或“签名”,依赖于PUF的“唯一性”性质。对于服务挑战,相关联的服务响应对应于用于评定PUF的“正常”行为的值,即不一定给出关于PUF的唯一性的大量信息。然后将服务响应与根据测试类型的预期响应进行比较。例如,根据本发明的实施例的“完全故障测试”可以使用与呈现最大绝对值的服务响应相关联的服务挑战。如果PUF执行期间的服务响应是非常低的值,则可能反映出异常或以其他方式可疑的行为。服务挑战中的大部分是在概要分析阶段生成的。
因此,“服务挑战”是用来评定PUF的质量的挑战。服务挑战用于执行测试序列(例如,熵、噪声水平、可靠性、完全故障等)。
由PUF运行的挑战的值控制所述PUF的行为,并且因此控制响应。服务挑战与响应相关联,该响应与PUF的特定的、已知的且可再现的行为相关联。术语“行为”指定某物(例如,机器或物质)运行或反应的方式。应用挑战允许获得没有关于PUF的行为的任何信息的响应。服务挑战提供反映PUF的行为或由PUF的行为引起的响应(例如,其包括可以用于估计或确定根据本发明的不同测试所使用的阈值的标记/度量)。
根据具体定义,服务挑战在一些极端情况下运用PUF以便发现并测量PUF可以在其中操作的限度的限制,包括随时间的降级。
服务挑战SC与应用挑战AC之间的区别可以在硬件(物理考虑)方面来进一步解释。
就硬件而言,必须存储对服务挑战的响应,无论其是否是短暂的,以使得可以从中导出度量/测量(不可能进行瞬时计算)。
可以通过各种手段来存储对服务挑战的响应。在一些实施例中,存储可以在非易失性存储器中执行,例如,以便于执行可靠性或老化测试。在一些其他实施例中,可以使用易失性存储器(例如,SRAM),例如,用于随机性测试(其中评定对不同挑战的不同响应是否充分不同)。
相比之下,出于安全原因,不得存储对应用挑战的响应:在给定应用挑战的情况下能够恢复响应是PUF的核心功能(存储器“分布”在PUF硬件本身中)。更进一步,对PUF的基本的安全“要求”是不单独地存储响应(即,不是存储在其自身中或不是由其自身存储)。这些考虑偶然地证明了服务挑战和应用挑战不能重叠的事实(划分成两个集合不存在公共的部分)。
现在描述各种实施例。
公开了包括PUF和测试电路的集成电路,其中计算机逻辑嵌入在测试电路中、存储在测试电路上、或可由测试电路访问,所述计算机逻辑被配置用于实现一个或多个服务挑战,服务挑战生成服务响应,可以将服务响应与一个或多个响应进行比较以确定与预定义的响应模式的一个或多个偏差。
公开了包括PUF和测试电路的集成电路,其中计算机逻辑是以下中的一个:嵌入在测试电路中、存储在测试电路上、或可由测试电路访问,所述计算机逻辑被配置用于实现服务挑战,服务挑战生成服务响应,所述服务响应能够与一个或多个服务响应比较以确定与预定义的模式的偏差。
公开了包括PUF和测试电路的集成电路,其中计算机逻辑嵌入在测试电路中、存储在测试电路上、或可由测试电路访问,所述计算机逻辑被配置用于实现一个或多个服务挑战,服务挑战生成软服务响应,可以将软服务响应与一个或多个软响应进行比较以确定与预定义的响应模式的一个或多个偏差。
公开了包括PUF和测试电路的集成电路,其中计算机逻辑嵌入在测试电路中、存储在测试电路上、或可由测试电路访问,所述计算机逻辑被配置用于实现一个或多个服务挑战,服务挑战生成软服务响应,可以将软服务响应与一个或多个软响应进行比较以确定与预定义的响应模式的一个或多个偏差。
公开了包括PUF和测试电路的集成电路,其中计算机逻辑嵌入在测试电路中、存储在测试电路上、或可由测试电路访问,所述计算机逻辑被配置用于实现服务挑战,所述服务挑战生成能够与PUF的一个或多个响应比较的响应以确定一个或多个偏差。
公开了包括PUF和测试电路的集成电路,其中计算机逻辑嵌入在测试电路中、存储在测试电路上、或可由测试电路访问,所述计算机逻辑被配置用于实现服务挑战,所述服务挑战在由PUF运行时生成服务响应,并且所述计算机逻辑被配置为确定与预定义的响应模式的偏差。
公开了包括PUF、测试电路以及非易失性存储器的集成电路,其中计算机逻辑是以下中的一个:嵌入在测试电路中、存储在测试电路上、或可由测试电路访问,所述计算机逻辑被配置用于执行多个服务挑战,服务挑战生成一个服务响应,在PUF执行服务挑战之后获得的多个服务响应是能够与存储在非易失性存储器中的多个响应比较的,或者被与存储在非易失性存储器中的多个响应进行比较。
公开了包括PUF、测试电路以及非易失性存储器的集成电路,其中计算机逻辑是以下中的一个:嵌入在测试电路中、存储在测试电路上、或可由测试电路访问,所述计算机逻辑被配置为用于通过PUF来执行服务挑战,服务挑战生成服务响应,其中所述服务响应是能够与存储在非易失性存储器中的多个服务响应比较的,或者被与存储在非易失性存储器中的多个服务响应进行比较。
响应可以是预定义的响应。响应可以是先前收集或存储的响应(对于相同的PUF)。响应可以是已知的响应(例如,从数据库中检索的)。
在发展中,预定义的响应模式嵌入在测试电路中、存储在测试电路上、或可由测试电路访问。
在发展中,预定义的响应模式由一个或多个度量以及一个或多个度量的一个或多个最小和/或最大阈值值来定义。
在发展中,预定义的响应模式由统计分布定义。
在发展中,计算机逻辑被配置用于对故障、篡改以及老化中的一个进行测试。
公开了包括PUF和在线测试电路的硅集成电路,所述在线测试电路包括与所述PUF物理相邻的一个或多个电路部分,并且所述一个或多个电路部分适用于选择与在测试电路中被体现的嵌入式测试或在线测试相关联的度量,该测试电路与所述PUF相邻;选择与所述度量相关联的一个或多个阈值;以及确定与所述PUF相关联的一个或多个挑战。
公开了对PUF进行处理的方法,包括以下步骤:选择与在测试电路中被体现的嵌入式测试或在线测试相关联的度量,该测试电路与所述PUF相邻;选择与所述度量相关联的一个或多个阈值;确定与所述PUF相关联的一个或多个挑战。
在发展中,挑战是递送允许PUF检测异常行为的服务响应的服务挑战。
在发展中,挑战是用于对PUF的一个或多个质量性质进行评定的服务挑战。
在发展中,挑战是服务挑战,其不是应用挑战,其中应用挑战提供对密钥生成或对挑战-响应认证的响应,并且其中应用挑战依赖于PUF的唯一性性质。
在发展中,挑战是服务挑战,其是未设计为一定要告知关于PUF的唯一性的挑战。
在发展中,挑战是与响应相关联的服务挑战,该响应与PUF的特定的、已知的且可再现的行为相关联。
在发展中,该方法还包括利用所述一个或多个挑战来运行PUF的步骤。
在发展中,该方法还包括接收与所述一个或多个服务挑战相关联的一个或多个响应的步骤。
在发展中,该方法还包括将具有所选择的阈值的所选择的度量应用于一个或多个接收到的响应的步骤。
在发展中,全局PUF故障在检测到至少一个奇异响应时被确定。
在发展中,从包括以下的组中选择奇异响应:超过预定义的阈值的一个异常响应,具有不变的和/或预定义的位值的响应,响应的分布中的异常或者与其他接收到的响应不相干的响应。
在发展中,与熵和/或随机性相关联的PUF的质量的性质在检测到使得攻击者能够预测PUF的一个或多个响应的一个或多个系统性偏离时被确定。
在发展中,所述一个或多个系统性偏离的检测包括执行与标准化测试相关联的一个或多个步骤,标准化测试包括单一位(mono-bit)测试、运行测试、模式测试、或其组合,所述测试针对被认为可靠的响应运行。
在发展中,所述一个或多个系统性偏离的检测包括检测超过预定义的阈值的连续位值。
在发展中,通过执行包括以下操作的步骤来确定与稳定性相关联的PUF的质量的性质:接收对挑战的多个响应,存储所述响应并随时间对所述响应进行比较,以及确定与所述稳定性质量相关联的一个或多个参数。
在发展中,该方法还包括改变服务挑战的选择以便使在所述服务挑战的运行中涉及的PUF的硬件部件的数量最大化的步骤。
在发展中,确定与可靠性相关联的PUF的质量的性质包括以下步骤:确定包括位矢量的可靠性映射,其中,如果对应的挑战根据预定义的阈值被确定为可靠,则所述矢量的位等于值1,并且否则等于值0;将所述计算的映射与预定义的参考映射进行比较。
在发展中,篡改在检测到被确定为不可靠的挑战变为可靠时被确定。
在发展中,该方法还包括存储所述接收到的响应值的步骤和将所述响应值彼此进行比较的步骤。
在发展中,对响应进行比较的步骤包括确定两个连续响应的梯度的步骤或者确定所接收到的响应的平均值和标准差的步骤。
在发展中,该方法还包括撤销PUF、禁用PUF、或发出通知或警报消息之中的一个或多个步骤。
公开了计算机程序,其包括指令,当所述计算机程序在合适的计算机设备上被执行时该指令用于执行一个或多个步骤。
公开了包括PUF和在线测试电路的硅集成电路,所述在线测试电路包括与所述PUF物理相邻的一个或多个电路部分,并且所述一个或多个电路体现该方法的一个或多个步骤。
在发展中,挑战是递送允许PUF检测异常行为的服务响应的服务挑战。
在发展中,挑战是用于评定PUF的一个或多个质量性质的服务挑战。
在发展中,挑战是服务挑战,其不是应用挑战,其中应用挑战提供对密钥生成或对挑战-响应认证的响应,并且其中服务挑战依赖于PUF的唯一性性质。
在发展中,挑战是服务挑战,其是不通知关于PUF的唯一性的挑战。
在发展中,挑战是与响应相关联的服务挑战,该响应与PUF的特定的、已知的且可再现的行为相关联。
在发展中,所述一个或多个电路部分适用于或适合于利用所述一个或多个挑战来运行PUF。
在发展中,所述一个或多个电路部分适合于或适用于接收与所述一个或多个服务挑战相关联的一个或多个响应。
在发展中,所述一个或多个电路部分适合于或适用于将具有所选择的阈值的所选择的度量应用于一个或多个接收到的响应。
在发展中,全局PUF故障在至少一个奇异响应的检测时被确定。
在发展中,从包括以下的组中选择奇异响应:超过预定义的阈值的一个异常响应,具有不变的和/或预定义的位值的响应,响应的分布中的异常或与其他接收到的响应不相干的响应。
在发展中,与熵和/或随机性相关联的PUF的质量的性质在对使得攻击者能够预测PUF的一个或多个响应的一个或多个系统性偏离的检测时被确定。
在发展中,所述一个或多个系统性偏离的检测包括执行单一位测试、运行测试、模式测试、或其组合之中的一个或多个测试,所述测试针对被认为可靠的响应运行。
在发展中,所述一个或多个系统性偏离的检测包括对超过预定义的阈值的连续位值的检测。
在发展中,通过对挑战的多个响应的接收、对该多个响应的存储、以及随时间对所述响应的比较、与所述稳定性质量相关联的一个或多个参数的确定来确定与稳定性相关联的PUF的质量的性质。
在发展中,服务挑战的选择使在所述服务挑战的运行中涉及的PUF的硬件部件的数量最大化。
在发展中,对与可靠性相关联的PUF的质量的性质的确定包括:对包括位矢量的可靠性映射的确定,其中如果对应的挑战根据预定义的阈值被确定为可靠,则所述矢量的位等于值1,并且否则等于值0;以及对所述计算的映射与预定义的参考映射进行的比较。
在发展中,在确定为不可靠的挑战变为可靠的检测时,确定篡改的证据。
在发展中,接收到的响应值被存储并且彼此进行比较。
在发展中,对响应的比较包括对两个连续响应的梯度的确定或对接收到的响应的平均值和标准差的确定。
现在讨论优点。
有利地,使用服务挑战的不同集合允许用户或机器更好地表征PUF。PUF的性质可以通过运行一系列挑战来确定。换言之,有利地,本发明的实施例允许PUF的用户评定PUF的“质量”(或其性质)。PUF的质量性质包括诸如稳定性、随时间的可靠性、随机性、故障或篡改检测的性质。
有利地,本发明的实施例可以应用于“硅PUF”(但是本发明的一些实施例也可以应用于根据其他技术制造的PUF)。术语“硅”通常指定“半导体”。这个PUF系列使用在CMOS集成电路的制造阶段期间引入的工艺变化。例如,构成电路的晶体管之间的差异从一个电路到另一电路是显著的,即使它们形成同一管芯的一部分。硅PUF系列显著地包括延迟PUF(仲裁器PUF、环形振荡器PUF或RO PUF、循环PUF等)和存储器PUF(SRAM PUF、蝶形PUF等)。可以在ASIC或FPGA电路中实现硅PUF,而无需任何技术修改。
延迟PUF是接受许多挑战的PUF。例如,在延迟PUF中,延迟由挑战位来控制,因此提供了大量的挑战组合。因此,延迟PUF包括诸如仲裁器PUF、RO-PUF、或循环PUF的PUF。
存储器PUF与有限数量的不同挑战相关联。例如,存储器PUF可以是SRAM PUF。在这种情况下,存储器地址可以用作挑战。
有利地,本发明的实施例还可以应用于作为存储器PUF和延迟PUF的组合的所谓“复合”PUF。
有利地且显而易见地,本发明的实施例可以使用任何类型的PUF,无论是存储器PUF还是延迟PUF。根据本发明的质量测试通常不在PUF的内部结构之间进行区分。一些特定的测试可以在某些类型的PUF结构上更好地执行。一些特定的测试可以在某些特定的结构(即,PUF类型)上执行。例如,对PUF可靠性的评定可能需要对整数(而不是二进制值)进行处理,以便分析响应与参考相比的偏差。
图1示出了本发明关于应用挑战和服务挑战所做的区分的方面。
PUF 110是这样的设备:其a)接收“挑战”100(即,位串或位构成的串)作为输入,b)调用某些内部结构(例如,取决于PUF是仲裁器PUF、环形振荡器PUF、循环PUF、SRAM PUF等而不同),以及c)其输出是“软”响应111(例如,延迟或一组延迟),其最终被“锁存”(或“存储”或“注册”)以便以“响应”121(位串)的形式产生“硬设备”120。
在本发明的一方面,对出自“软”响应111的一些中间“软”变量112进行测量,并且度量130是从这些中间“软”变量112导出的。
这些量度或度量130是对PUF响应执行的。更确切地,对“软”PUF响应111执行量度或度量。“硬”响应对应于由PUF返回的信息121,即仅包含标识信息的响应。“软”响应对应于“完全”或“完整”响应,其可能包含可用于质量评定的属性。软响应包括与属性相关联的信息(例如,在当前情况下为“质量”属性,即在所考虑的PUF中可以具有的信任水平)。
在可选实施例中,从度量130的估计发出的反馈113可以允许改进“软”响应111的捕获(例如,利用这样的反馈,管理员可以识别其他(例如,改进的)服务挑战以便不同地(例如更好、更全面地)表征PUF)。使用的反馈越多,模块130可以将软响应估计得越准确,因此其评估的度量越可靠。嵌入反馈循环的这种可能性对于需要对安全性度量具有高置信度的应用尤其有用。
图2A、图2B、图2C以及图2D示出了与应用挑战和服务挑战相关联的示例。
图2A示出了应用挑战和对应的PUF响应。图2B至图2D示出了服务挑战的实施例。
在图2A的应用挑战中,包括有效区间(l,j)中的二进制值的有限挑战210a、220a、230a分别在有效区间(k,l)中触发单个有限软响应240a、250a、260a。换言之,存在多少应用挑战就存在多少软响应。
相反,在表示故障测试的图2B的服务挑战中,挑战210b、220b是与最小(min)响应230b(软响应)和最大(max)响应240b(软响应)相对应的挑战。除了这两个值之外,如果差值(max-min)<Th则与该故障相对应的服务(软)响应可以导致触发警告,其中Th是阈值,其可以被设置为预确定的固定值或上下文相关的。因此,在这个示例中,对于两个服务挑战210b、220b存在三个软响应(230c、240c、250c)。
类似地,在表示篡改测试的图2C的情况下,表示一个服务(软)挑战/响应对(210c,230c)。它表示最不可靠的一对,因为响应值(min)非常接近有效区间[k,l]的平均值Av=(k+l)/2(220c)。如果服务响应高于确定的阈值或|min-Av|>阈值,则可以触发警告(240c)。例如,该警告可以检测潜在的篡改攻击,因为从不可靠状态移动到更可靠的状态可能是操纵的标志。
在表示老化测试的图2D所示的情况下,服务(软)响应(210d)中的一个在T0之后的时刻T1确定响应是否在可靠性区域中。事实上,可靠区域(其可以被量化)可以随时间而演变或漂移。
在这样的实施例中,嵌入在“在线”或“片上”测试电路中(或存储在其上、或可由其访问)的计算机逻辑被配置用于实现服务挑战,服务挑战生成(软)服务响应。多个(软)服务响应的存在可以指示与预定义的响应模式的偏差。换言之,可以将由PUF运行的服务挑战生成的服务或软响应与一个或多个预定义的响应进行比较以检测一个或多个偏差。
服务响应可以被存储在测试电路上以用于进一步的检查,或者由响应触发的警告可以被在线发送到远程监测服务器。
图3示出了根据本发明的方法的步骤的示例。
在本发明的一方面,可以区分两种类型的步骤:配置步骤301和执行步骤351。配置步骤301通常在商业化之前在制造阶段不久之后执行。例如,“管理员”用户可以执行或配置这些步骤。它允许表征并获得每个测试的主要参数。执行阶段351由下文描述的特定块“在线测试”或“嵌入式测试”执行,并且在PUF生命期间是有效的。在某些情况下,“终端用户”可以执行这些步骤。
首先描述配置步骤301。
在步骤310中,(在预定义的度量之中)确定和/或选择测试度量。
在实施例中,所述测试度量通常由用户(即管理员)这样进行选择:从他的技术知识中(例如,从他的电路和相关联的攻击的知识中),用户从一系列预定义的和已知的度量中进行选择。在实施例中,例如在高度自动化的环境中,根据某个预定义的标准(即由机器)自动选择测试度量。在实施例中,测试度量是根据利用计算机辅助的人类决策来选择的。
度量是是标准(多个度量/标准)。例如,度量或标准与随机性、稳定性、随时间的可靠性、对故障的检测、对篡改的检测的水平相关。“选择度量”是指“在预定义的质量性质或标准之中选择标准或质量性质”。
在步骤320中,确定服务挑战以及应用挑战。在一些实施例中,挑战是预定义的(它们可以是在库中可访问或者从数据库中检索的)。在实施例中,挑战是专门创建的。在实施例中,挑战被分类为一个类别或另一类别。在实施例中,这些服务挑战是预定义的或可用的或可访问的。
在可选步骤330中,在服务挑战和/或应用挑战之中执行选择。以下描述特定的测试302。
在与所选择的或所确定的度量相关联的步骤340中,定义或确定或选择一个或多个阈值。
除了配置步骤301(通常由管理员处理)之外,执行步骤351(通常由终端用户处理)包括若干步骤。
在步骤350中,利用一个或多个挑战来运用或运行或执行PUF。响应于所述运用,接收一个或多个响应,并且可选地对其进行存储。
在步骤130中,然后对度量以及所选择的阈值(如果适用)进行应用。执行测量或读取。因此,可以确定PUF的诸如稳定性、可靠性、随机性或扩散性的某些性质。
在步骤370中,可以采取进一步的下游动作(由人和/或机器)。例如,可以产生警报、警告、日志、报告、统计数据,并以其他方式进行管理以用于进一步的决策。例如,为了统计的目的,可以将过多的值或结果或响应报告给监督中心。PUF的可靠性可以通过重放其挑战/响应协议和/或通过选择新的参数来进一步提高。体现PUF的标签可以被重新校准(例如,新的概要分析)。可以使用备份的备用PUF。由于老化或对攻击的怀疑等原因,标签可能被禁用。
图4示出了本发明的实施例的示意性系统图。
该图示出了多个电路:挑战(包括应用挑战和服务挑战)的数据库410、复用器420、PUF 430(体现在电路中)以及测试电路440/步骤130(体现根据本发明的一个或多个测试以便确定PUF的质量性质)。
挑战的数据库410由复用器420访问,复用器420选择一个或多个所选择的挑战并将其传送给PUF 430。所述PUF 430输出由测试电路440收集的响应(步骤130),或者可替代地/伴随地输出签名(当挑战是应用挑战时,即输出用于密钥生成或挑战-响应认证的指纹)。
根据本发明的实施例,执行的测试是“嵌入式的”或“在线的”。根据本发明的测试是“嵌入式测试”。
大多数时候,术语“嵌入式”可以用“在线”来代替。
术语“在线”或术语“嵌入式”表达的含义是测试电路放置在PUF电路的直接邻近处或直接物理接近处。在一些实施例中,测试电路位于(例如,分布在周围、放置在顶部或下面、聚集在邻近的块中等)短距离(例如,与整个电路的大小相比,关于PUF电路的比例和/或尺寸等)处以阻碍或显著减少潜在的物理攻击(因为侵入式攻击可以至少尝试或成功“控制”或“伪造”或“修改”或“劫持”或以其他方式修改测试或“强制”测试结果)。当通信信道位于设备外部时,促进了这些类型的攻击。利用嵌入式的实现,同时结合服务挑战的使用,攻击显著地变得更加困难(例如,要求一定的侵入性,要求特定的设备进行攻击等)。因此,本发明的实施例有利于更好地表征PUF并对其进行保护。
就定义而言,根据一些字典,术语“在线”涉及当在与功能单元相关的系统的直接控制下时该功能单元的操作。在实施例中,测试电路控制PUF。在实施例中,测试电路与PUF交互。根据另一种定义,在线单元可供系统按需要直接使用,而无需人为干预。根据本发明的一些实施例,在线测试电路可供人和机器按需要直接使用(例如,一些硬件和/或软件元件可以触发PUF运行并执行一个或多个测试)。
就空间与时间之间的对应关系而言,PUF电路与相应测试电路之间的短距离意味着低时延,这反过来表达了组合PUF/测试电路的“实时”行为的含义(即,迅速或快速的响应,而不是通常在计算机科学中对这个术语赋予的含义)。
组合PUF/测试电路的功能的另一限定条件在某些情况下可以对应于表达方式“即时地(on-the-fly)”,这表达了快速性和嵌入的含义。信息(这里是响应)可以被“即时地”利用,从而可以在不久之后得出结论(度量、测量、警告)。
在计算机技术中,术语“在线”指定被另一设备直接控制的设备或装备的状态或状况。该术语还指定可运行并且准备用于服务的设备的状态。在一些变体中,该术语指定作为较大实体的一部分或嵌入较大实体并且与实体实时或接近实时地交互的硬件电路。
在实施例中,“在线”或“嵌入式”测试包括测试PUF必需的和足够的单元或电路。在实施例中,测试是“内部的”或“嵌入式的”,即不需要外部测量装置。
此外,短距离的物理放置有利地意味着低时延并且允许电路以非常快速的方式接收警告。短距离的物理放置有利地意味着低时延。短距离的物理放置还允许PUF和测试块之间的许多连接,同时降低了对集成电路上的单独的连接进行物理路由的复杂度。
在“PUF在线运行”(“利用挑战在线运行PUF”)的上下文中的术语“在线”意味着执行测量(或“读取”),其中提供与体现PUF的电路相邻的(“嵌入式的”)测试块(物理电路)。
在实施例中,该方法可以通过完全嵌入式的硬件块来实现。在实施例中,所公开的方法可以由在本地处理器上运行的嵌入式硬件和软件来执行。方法步骤实际上涉及在某些有形硬件中执行的操作(以及因此时间流逝),该有形硬件可以是定制硬件或运行嵌入式软件的本地处理器。换言之,一个或多个硬件电路确实“体现”预定义的方法步骤。
例如,块440(例如,步骤130)对如本发明所定义的一个或多个步骤进行编码。从技术的角度来看,该块可以是无形的(即,不会随时间而演化,至少不是有意的)或者可以被重新编程。
在实施例中,测试单元完全是硬件的(例如,“在线”的测试电路,即嵌入体现PUF的硬件或与体现PUF的硬件物理相邻或在体现PUF的硬件的短距离处)。在实施例中,测试单元对在本地处理器上运行的硬件单元和软件单元进行组合。
有利地,本发明的实施例可以在工厂处或在商业化的电路上执行。
现在描述测试的示例。
在实施例中,PUF的具体质量性质被确定。对应的质量测试是“完全故障测试”。这个测试例如验证PUF不是乱序的。有利地,可以测试延迟PUF。挑战的较大集合通常可用于这些PUF。在挑战的这个集合中,选择有限数量的具有识别的性质的服务挑战。所述识别的性质对应于响应的特定(值)。在实施例中,在接收到的响应值之中检测奇异点。定性地,所述响应可以是“非典型的”和/或“异常的”和/或“过多的”和/或“收敛的”和/或“极端的”和/或以其他方式“病态的”。
定量地,对应的确定或选择标准包括:a)对位的不变矢量的识别,如00000000或11111111,b)对高于预定义的上限阈值的响应值的检测(例如,呈现接收到的和/或收集的响应之中的最高或最低响应值,如果适用);可以考虑极值或极值的范围,c)彼此太接近或相同的挑战和/或响应,d)没有接收到相干响应值的中间情况,e)更一般地,使用可以应用于接收到的响应的流的统计值来检测“奇异点”。
“完全故障测试”的这种实施例在若干上下文或场景中可能是有利的。例如,可以检测电路的敌对攻击(例如,通过电磁耦合在多个基于环形振荡器的系统上)。它允许电路检测故障注入攻击。例如,一些寄存器可以被操纵,以便找到弱点。它还允许电路检测由于局部老化现象而导致的现场可编程门阵列(FPGA)中的致命互连故障。它还可以通过聚焦离子束(FIB)或类似的侵入技术来检测电路的改变。
在另一实施例中,可以对与“熵”或“随机性”相对应的质量性质进行测试或以其他方式评定。“随机性”表示PUF响应的熵是最佳的,这表示当运行所有挑战时PUF响应的分布是均匀的。换言之,如果响应长度是N位,则PUF的熵是N位。
通常,可以对存储器PUF或延迟PUF进行寻址(然后地址/挑战的较大集合可用)。在存储器PUF的情况下,可以选择地址的子集。在这种情况下,如果所考虑的PUF例如基于SRAM-PUF,则服务挑战集合可以由一个或多个地址范围(单个存储器地址;一组连续的存储器地址,即一个地址范围;或多个地址范围)构成。在延迟PUF的情况下,可以选择有限数量的服务挑战。在执行不同的挑战之后,收集或接收响应并进一步对其进行分析。
理想地期望得到不相关的响应和高的熵水平(对PUF的缺陷取模,这可能意味着使用相关联的阈值来定义正常的行为范围)。
可选地,可以对响应的序列(即,PUF响应——作为位的矢量——可以级联以形成单个位串)执行一个或多个测试。
可以应用与质量测试相对应的一系列步骤以便评估熵水平。
某些单式的步骤在现有技术中本身已知,但在本发明的上下文中不是已知的。例如,来自BSI(“Bundesamt für Sicherheit in der Informationstechnik”的德文首字母缩写)的公开提案参考AIS31的测试可以在URL:https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Zertifizierung/Interpr etationen/AIS_31_Functionality_classes_for_random_number_generators_e.pdf处容易地获得。因此,这些测试在现有技术中是可用的且充分记录的。
这种单式测试的示例是所谓的“单一位”测试。实质上,可以保证随机性不低于“危险”水平(对应于预定义的阈值)。作为另一示例,执行“运行”测试,可以保证或合理地确定等于零的连续位值的数量不高于“危险”水平(即,超过预定义的阈值)。在另一示例中,执行“模式”测试(例如,“阻止”测试、“不相交”测试、“扑克”测试等),可以保证PUF不存在可以帮助攻击者预测一个或多个响应的主要或显著的偏离。关于这些测试,可以定义并计算特定的度量。可以相应地通知对应的警告。
这些标准化测试(例如,单一位测试、运行测试、模式测试、或其组合)在被认为可靠的响应上运行,所述响应对应于服务挑战和/或应用挑战。
此外,这些单式测试或作为整体的单式测试的步骤可以进一步彼此组合。
在一些实施例中,可以在进行原型设计时、在工厂概要分析时、或在部署之后(“在现场”)执行对应的测试。
上面描述的实施例中的至少一些可以有利地用于若干上下文或场景中。例如,它允许根据本发明的电路检测结构中的主要偏离。它还准许对样品或PUF中的主要偏离的检测,例如,由于制造过程中的不一致性引起的。它还可以允许电路检测攻击者执行的操纵,如破坏性的现象。
在另一实施例中,测试“稳定性”的质量性质。“稳定性”或“可靠性”表示PUF总是针对给定的挑战提供相同的响应,从而证明噪声免疫性。
在实施例中,测试“没有概要分析步骤的稳定性”。一般认为PUF响应没有在先量化。一些PUF(通常为延迟PUF)递送整数量而不是单个位。可能需要附加的过程或步骤以从其得到所需的位:量化。通常确定这个量(在对其进行量化之前)可以提供关于PUF的“可靠性”或“稳定性”的一些线索或指示。
在延迟PUF的情况下,挑战的较大集合可以是可用的。对于一些PUF类型(如延迟PUF),响应不是二进制,而是“包含”可靠性水平的整数。
在实施例中,在可能的挑战的集合中,选择呈现所识别的性质的服务挑战的子集。
在实施例中,对该子集的选择优化了PUF组件的“覆盖率”。当实际上运行挑战时,只能使用PUF硬件组件(即电路)的一部分。在某种程度上,挑战对应于PUF“配置”。来自服务子集的挑战暂时覆盖所有PUF“配置”以便测试最大数量的PUF组件。所述“覆盖率”继而可以(至少部分地)量化和/或优化。
取决于PUF架构,服务挑战的精心挑选的子集有利地允许以最大覆盖率(即,对构成PUF的所有元件的验证)来授予可靠性。出于测试目的(例如),可以使针对应用不能被接受的挑战“再循环”。
在实施例中,针对每个服务挑战收集多个响应。然后观察或监测响应的稳定性。例如,存储不同的响应,并且例如通过确定两个连续响应的梯度或者通过计算所收集的数据的平均值和标准差,或者通过其他统计分析(范围从仅确定算术平均数和标准差到其他高级统计分析技术)来分析不同响应的连续性。可以定义阈值(即,一个或多个预定义的阈值,静态或动态的等),并且如果偏差超过这些阈值,则可以通知警告或警报。
一些实施例可以有利地用于若干上下文或场景中。例如,一些实施例允许对攻击(例如,通过故障注入的敌意攻击——对寄存器的操纵——或者通过电磁谐波攻击对基于多环形振荡器的系统的敌意攻击)的检测。一些实施例允许对异常恶劣的环境条件的检测。换言之,所描述的实施例允许评定与标准且定义的行为的偏差(如果适用,所测量的偏差可以指示上面列出的场景已经发生)。
在另一实施例中,评定“由于老化的可靠性”的质量性质。“随时间的可靠性”或“老化影响”表示PUF可以随时间而变化(例如,持续降级)。PUF的老化影响对应于其在规定的条件下在指定时间段内执行其所需功能的能力。可以通过使用不同的度量来估计响应的由于老化影响的可靠性。
在实施例中,使用被称为“可靠性映射”的度量。在实施例中,映射可以是位矢量,其中每个位提供关于对应挑战的信息,例如,值“1”用于“可靠”,而值0用于“不可靠”。根据预定义的阈值,映射可以对应于最可靠的响应的集合。例如,这样的阈值可以取决于在PUF中使用的技术和/或基于在工厂概要分析阶段执行的测量。
优选地,可靠性映射是从递送整数(即,不是单个位)的PUF获得的,但是可靠性映射可以从任何类型的PUF中导出。由于环境条件(例如,温度、电源、电磁干扰、内部噪声等),这种可靠性映射可能随时间变化,但是可以检测到严重的可靠性下降(例如,由于参考可靠性映射与所测量的可靠性映射之间的汉明距离/权重计算)。对应的警告标志可以被提出。
现在描述一些有利的实施例或使用场景。在第一场景中,将计算出的可靠性映射与参考映射进行比较(例如,在工厂概要分析步骤期间)。如果差异显著(例如,如果参考映射与计算出的映射之间的汉明距离或编辑距离大于预定义的阈值),则这可以指示PUF呈现严重的质量下降。样品或PUF应该被操作者拒绝。在第二场景中,如果不可靠挑战的数量超过上限“危险”限制(例如,可靠性映射汉明权重大于预定义的阈值),则样品或设备应该被操作者拒绝/撤销)。在第三示例性场景中,在检测到低可靠性时(例如,在概要分析步骤期间在制造工厂中,可以确定计算出的映射的汉明权重大于预定义的阈值),计算出的映射被用于拒绝/撤销特定样本的部署。
在另一实施例中,执行“篡改检测测试”。当极端或异常的环境变化(例如,温度、电源、电磁干扰)强制PUF显著地修改其响应时,PUF“故障”或“篡改”可能发生。例如,PUF篡改在恶意动作强制PUF输出非预期的值时发生。
延迟PUF或存储器PUF可以被寻址。因此,挑战/地址的较大集合是可用的。在实施例中,该方法包括将一个或多个服务挑战确定为不可靠和/或不稳定的步骤;其中当响应对噪声敏感并且不稳定时,将不可靠的服务挑战确定为不可靠的。篡改可以通过检测到不可靠挑战变为可靠的度量来评定。如果该值高于预定义的阈值,则完成该检测。
有利地,这样的实施例可以允许电路检测敌意篡改攻击,例如,强制PUF对恒定值进行响应的破坏性现象。
在另一实施例中,执行对所考虑的PUF的“性能监测”。
在这样的实施例中,可以随时间估计PUF的关于其质量性质(例如,可靠性、稳定性等)中的一个或多个的性能。换言之,可以将上述多个测试(“稳定性”、“熵”、“老化”等)组合起来。在实施例中,可以根据不同的思考方案来对被组合的不同测试进行权衡。在实施例中,测试的特定组合(或没有进行组合的单个测试)可以随时间重复,并且对应的演变或趋势或其他指示符可以从所分析的结果的历史中导出。
在实施例中,对PUF的测试周期性地运行(周期可以是可由用户配置的,或者被动态地配置而无需第三方的介入)。
与先前描述的测试一样,可以提出警告,可以发送通知或消息,例如严重性能下降的情况或者在检测到可疑的性能改进时的相反情况。
对性能或质量性质进行监测在若干上下文或场景中可能是有利的。例如,这样的监测可以允许电路检测敌意的篡改攻击。它还可以允许电路检测PUF“模仿”。这样的PUF模仿对应于已经“模型化”的PUF,其具有如同原始模型地操作的数学模型,但是以完美的方式,即没有任何噪声、老化、故障缺陷。因此,其“弱点”中的一些或硬件特定性未被再现。在实施例中,通过根据本发明的不同测试的组合可以检测“模仿”或“(过于)完美的”PUF。
图5示出了本发明的具体系统实施例。
图5示出了包括PUF 511和在线测试电路512(440、130)的硅集成电路510,所述在线测试电路512包括与所述PUF 511物理相邻的一个或多个电路部分,并且所述一个或多个电路部分适用于选择与在测试电路512中被体现的嵌入式测试或在线测试相关联的度量,测试电路512与所述PUF相邻;选择与所述度量相关联的一个或多个阈值;以及确定与所述PUF相关联的一个或多个挑战。所确定的(服务)挑战由PUF运行,并且(软)响应的分析使得能够限定或导出PUF的质量属性。
(硅)集成电路510包括PUF 511和测试电路512,其中计算机逻辑是以下中的一个:嵌入在测试电路512中、存储在测试电路512中、或可由测试电路512访问,所述计算机逻辑被配置用于实现服务挑战500,服务挑战500生成服务响应,可以将该服务响应与一个或多个响应进行比较以确定与预定义的模式的一个或多个偏差。
图5示出了本发明的具体实施例。在示例中,接收或确定服务挑战(例如,由管理员531配置的或从数据库预定义的)。所述服务挑战由PUF运行。所获得的(所捕获的)响应被存储在非易失性存储器(例如,ROM 520)中。希望对可靠性(或PUF的任何其他质量属性)进行评定的另一用户(例如,终端用户532)可以稍后对所述非易失性存储器520进行访问并验证(或以其他方式评定或量化)PUF的属性。
非易失性存储器、非易失存储器、NVM或非易失性存储装置是即使在上电循环后也可以检索存储的信息的计算机存储器。非易失性存储器的示例包括只读存储器、闪速存储器、铁电RAM(F-RAM)、大多数类型的磁性计算机存储设备(例如,硬盘)以及光盘。非易失性存储器包括ROM(例如,掩模ROM、PROM、EPROM以及EEPROM)、NVRAM(例如,闪速存储器、nvSRAM、FeRAM、MRAM、PRAM)、机械存储器(硬盘驱动器、光盘驱动器等)。非易失性存储器还可以包括CBRAM、SONOS RRAM、赛道存储器、NRAM、千足虫存储器(Millipede memory)或FJG。
被执行的测试和所存储的(多个)测试结果的检索不一定耦合。存储器访问和测试事件可以发生在不同的时间点。例如,对存储的软响应的访问可以在测试执行后不久发生,但是在一些情况下,所述访问可以在几个星期后发生,甚至在几个月或几年后发生(例如,老化测试)。
同一用户可以执行测试并访问存储的结果。可替代地,不同的用户(或机器)可以连续配置测试、执行测试并访问结果。
非易失性存储器可以是本地和/或外部的。在实施例中,非易失性是专门本地的,即沿着PUF和测试电路嵌入。在实施例中,存储器是专门外部的(例如,在这种情况下,探针或电极或电气接头提供捕获并存储测试结果的单元)。在又一实施例中,存储器可以分为本地存储器和外部存储器(例如,因此允许对本地存储的数据的某种形式的保护)。
非易失性存储器单元520的存储器大小的范围可以从几位(例如,用于故障测试的256位,例如在RFID实施例中,向非易失性存储器提供附加读取和/或写入能力)到几千位(例如,为了执行老化测试,其中漂移测量随时间而确定)。
所公开的发明的一些实施例可以完全是硬件实施例。一些实施例可以完全是软件实施例。一些实施例可以包含硬件元件和软件元件两者。本发明还可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,该计算机可用或计算机可读介质提供由计算机或任何指令执行系统使用或与其结合使用的程序代码。计算机可用或计算机可读的可以是能够包含、存储、传送、传播或传输程序以供指令执行系统、装置或设备使用或与其结合使用的任何装置。介质可以是电子、磁性、光学、电磁、红外、或半导体系统(或装置或设备)或传播介质。

Claims (14)

1.一种集成电路,其包括:
物理不可克隆功能PUF,被配置为响应于输入到所述PUF的挑战生成响应;
挑战的数据库,其中,所述挑战被划分成应用挑战和服务挑战,服务挑战不同于应用挑战,
复用器,被配置为访问所述数据库以从所述数据库中选择一个或多个挑战,并将一个或多个选择的挑战传送给所述PUF,所述选择的挑战包括一个或多个应用挑战和一个或多个服务挑战,所述选择的服务挑战包括使在所述服务挑战的运行中涉及的所述PUF的硬件部件的数量最大化的多个服务挑战,以及
与所述PUF相邻的测试电路,
其中,所述PUF被配置为响应于选择的应用挑战而生成依赖于所述PUF的唯一性性质的一个或多个应用响应,所述一个或多个应用响应用于密钥生成或挑战-响应认证;
其中,所述PUF被配置为响应于选择的服务挑战而生成一个或多个服务响应,所生成的服务响应被存储在存储器中,所述测试电路被配置为根据从所述服务响应和预定义的响应模式确定的偏差来确定所述PUF的至少一个质量性质。
2.根据权利要求1所述的集成电路,还包括非易失性存储器,其被配置为存储至少一个服务响应,其中,所生成的服务响应是能够与存储在所述非易失性存储器中的至少一个服务响应比较的。
3.一种对在集成电路上实现的物理不可克隆功能PUF进行处理的方法,所述物理不可克隆功能PUF包括响应于输入到所述PUF的挑战生成响应,所述方法包括以下步骤:
-从挑战的数据库中选择一个或多个挑战,所述挑战被划分成应用挑战和服务挑战,服务挑战不同于应用挑战;
-将一个或多个选择的挑战传送给所述PUF,所述选择的挑战包括一个或多个应用挑战和一个或多个服务挑战,所述选择的服务挑战包括使在所述服务挑战的运行中涉及的所述PUF的硬件部件的数量最大化的多个服务挑战;
-由所述PUF响应于选择的应用挑战而生成依赖于所述PUF的唯一性性质的一个或多个应用响应,所述一个或多个应用响应用于密钥生成或挑战-响应认证;
其中,所述方法还包括由所述PUF响应于选择的服务挑战而生成一个或多个服务响应,所生成的服务响应被存储在存储器中,以及
根据从所述服务响应和预定义的响应模式确定的偏差来确定所述PUF的至少一个质量性质。
4.根据权利要求3所述的方法,还包括接收与所述一个或多个服务挑战相关联的一个或多个响应的步骤。
5.根据前述权利要求3和4中任一项所述的方法,其中,全局PUF故障是在检测到至少一个奇异响应时被确定的。
6.根据权利要求5所述的方法,其中,奇异响应是从包括以下的组中选择的:超过预定义的阈值的一个异常响应,具有不变的和/或预定义的位值的响应,响应的分布中的异常或者与其他接收到的响应不相干的响应。
7.根据前述权利要求3和4中任一项所述的方法,其中,所述PUF的至少一个质量性质包括与所述PUF的熵和/或随机性相关联的性质,所述方法包括如果检测到使得攻击者能够预测所述物理不可克隆功能(PUF)的一个或多个响应的一个或多个系统性偏离,则确定与所述PUF的熵和/或随机性相关联的所述性质。
8.根据权利要求7所述的方法,其中,对一个或多个系统性偏离的所述检测包括检测连续位值是否超过预定义的阈值。
9.根据权利要求3所述的方法,其中,所述PUF的至少一个质量性质包括与PUF稳定性相关联的所述PUF的质量的性质,确定与稳定性相关联的性质的所述步骤包括:接收对挑战的多个响应,存储所述响应并随时间对所述响应进行比较,以及确定与所述稳定性相关联的一个或多个参数。
10.根据前述权利要求3所述的方法,其中,所述PUF的至少一个质量性质包括与所述PUF的可靠性相关联的性质,所述方法包括:
-确定包括位矢量的可靠性映射,所述可靠性映射包括根据预定义的阈值与最可靠的一组服务响应相对应的位值,其中,如果对应的挑战根据预定义的阈值被确定为可靠,则所述位矢量的位等于值1,并且否则等于值0;
-将所述可靠性映射与预定义的参考映射进行比较。
11.根据权利要求10所述的方法,其中,包括如果被确定为不可靠的服务挑战变为可靠,则检测到篡改。
12.根据权利要求3所述的方法,其中,所述偏差是两个连续服务响应的梯度、或所述服务响应的平均偏差、或所述服务响应的标准偏差。
13.根据权利要求3所述的方法,其中,还包括撤销所述PUF、禁用所述PUF、或发出通知或警报消息之中的一个或多个步骤。
14.一种计算机可读介质,包括指令,所述指令当由处理器执行时使所述处理器执行根据权利要求3至13中任一项所述的方法。
CN201680047612.3A 2015-07-01 2016-07-01 用于物理不可克隆功能的嵌入式测试电路 Active CN108028757B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP15306063.7 2015-07-01
EP15306063.7A EP3113409A1 (en) 2015-07-01 2015-07-01 Embedded test circuit for physically unclonable function
PCT/EP2016/065479 WO2017001650A1 (en) 2015-07-01 2016-07-01 Embedded test circuit for physically unclonable function

Publications (2)

Publication Number Publication Date
CN108028757A CN108028757A (zh) 2018-05-11
CN108028757B true CN108028757B (zh) 2021-01-12

Family

ID=54151215

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680047612.3A Active CN108028757B (zh) 2015-07-01 2016-07-01 用于物理不可克隆功能的嵌入式测试电路

Country Status (5)

Country Link
US (1) US10855476B2 (zh)
EP (1) EP3113409A1 (zh)
KR (2) KR20180050276A (zh)
CN (1) CN108028757B (zh)
WO (1) WO2017001650A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9996996B2 (en) 2015-04-16 2018-06-12 Siebels Asset Management Research Ltd. Protected article management
US11258599B2 (en) 2016-08-04 2022-02-22 Macronix International Co., Ltd. Stable physically unclonable function
US10404478B2 (en) 2016-08-04 2019-09-03 Macronix International Co., Ltd. Physical unclonable function using divided threshold distributions in non-volatile memory
US10855477B2 (en) 2016-08-04 2020-12-01 Macronix International Co., Ltd. Non-volatile memory with physical unclonable function and random number generator
US10911229B2 (en) * 2016-08-04 2021-02-02 Macronix International Co., Ltd. Unchangeable physical unclonable function in non-volatile memory
DE102017205818A1 (de) * 2017-04-05 2018-10-11 Robert Bosch Gmbh Einstellbare physikalische unklonbare Funktion
US10579339B2 (en) 2017-04-05 2020-03-03 Intel Corporation Random number generator that includes physically unclonable circuits
GB2564839A (en) * 2017-05-30 2019-01-30 Zwipe As Smartcard and method for controlling a smartcard
US10649735B2 (en) 2017-09-12 2020-05-12 Ememory Technology Inc. Security system with entropy bits
US11082241B2 (en) * 2018-03-30 2021-08-03 Intel Corporation Physically unclonable function with feed-forward addressing and variable latency output
KR102170395B1 (ko) 2018-09-07 2020-10-27 충북대학교 산학협력단 상호 보완적인 응답을 갖는 물리적 복제 방지 기능 회로에 적용 가능한 응답 결정 시간을 이용한 응답 신호의 불안정성을 감지하는 장치 및 방법
KR102192845B1 (ko) * 2018-09-20 2020-12-18 충북대학교 산학협력단 물리적 복제 불가능 함수에 적용 가능한 응답 다중 비교를 통한 응답 불안정성 감지 장치 및 방법
US12013259B2 (en) * 2018-09-26 2024-06-18 Infineon Technologies Ag Providing compensation parameters for sensor integrated circuits
US11277272B2 (en) * 2018-11-07 2022-03-15 Samsung Electronics Co., Ltd. Integrated circuit and method for challenge-response physically unclonable function
US11082242B2 (en) * 2019-05-17 2021-08-03 Taiwan Semiconductor Manufacturing Co., Ltd. Transistor-based physically unclonable function
US11269999B2 (en) * 2019-07-01 2022-03-08 At&T Intellectual Property I, L.P. Protecting computing devices from malicious tampering
US11171793B2 (en) * 2019-10-01 2021-11-09 Nxp B.V. Method and system for detecting an attack on a physically unclonable function (PUF)
US11743058B2 (en) * 2020-03-05 2023-08-29 International Business Machines Corporation NVDIMM security with physically unclonable functions
US11528152B2 (en) * 2020-10-12 2022-12-13 Raytheon Company Watermarking for electronic device tracking or verification
US11380379B2 (en) 2020-11-02 2022-07-05 Macronix International Co., Ltd. PUF applications in memories
GB2601846A (en) * 2021-03-15 2022-06-15 Nordic Semiconductor Asa Encoding
WO2024049839A1 (en) * 2022-08-29 2024-03-07 Maro Bio Inc. Compositions and methods for non-genotoxic conditioning
KR102593608B1 (ko) * 2022-09-15 2023-10-23 전남대학교산학협력단 집속 이온빔 공격 검출 방법 및 이를 위한 보안 회로

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2693685A1 (en) * 2012-07-30 2014-02-05 Universiteit Twente Quantum secure device, system and method for verifying challenge-response pairs using a physically unclonable function (PUF)
CN103581898A (zh) * 2012-08-07 2014-02-12 韩国电子通信研究院 基于防克隆功能的验证请求和处理设备和验证执行方法
WO2015012667A1 (ko) * 2013-07-26 2015-01-29 (주) 아이씨티케이 랜덤성 테스트 장치 및 방법
CN104662554A (zh) * 2012-09-28 2015-05-27 西门子公司 物理不可克隆功能的自测试

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370787B2 (en) 2009-08-25 2013-02-05 Empire Technology Development Llc Testing security of mapping functions
US9444618B1 (en) * 2013-04-22 2016-09-13 Xilinx, Inc. Defense against attacks on ring oscillator-based physically unclonable functions
EP2816756A1 (fr) * 2013-06-18 2014-12-24 Nagravision S.A. Procédé et dispositif cryptographique unique à fonction physiquement induplicable
DE102013013047B4 (de) * 2013-08-06 2015-05-07 Infineon Technologies Ag Bestimmung einer Kennung
US10230369B2 (en) 2013-08-28 2019-03-12 Stc.Unm Systems and methods for leveraging path delay variations in a circuit and generating error-tolerant bitstrings
US20150134966A1 (en) * 2013-11-10 2015-05-14 Sypris Electronics, Llc Authentication System

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2693685A1 (en) * 2012-07-30 2014-02-05 Universiteit Twente Quantum secure device, system and method for verifying challenge-response pairs using a physically unclonable function (PUF)
CN103581898A (zh) * 2012-08-07 2014-02-12 韩国电子通信研究院 基于防克隆功能的验证请求和处理设备和验证执行方法
CN104662554A (zh) * 2012-09-28 2015-05-27 西门子公司 物理不可克隆功能的自测试
WO2015012667A1 (ko) * 2013-07-26 2015-01-29 (주) 아이씨티케이 랜덤성 테스트 장치 및 방법

Also Published As

Publication number Publication date
US10855476B2 (en) 2020-12-01
KR20200090944A (ko) 2020-07-29
US20180183613A1 (en) 2018-06-28
CN108028757A (zh) 2018-05-11
WO2017001650A1 (en) 2017-01-05
EP3113409A1 (en) 2017-01-04
KR20180050276A (ko) 2018-05-14

Similar Documents

Publication Publication Date Title
CN108028757B (zh) 用于物理不可克隆功能的嵌入式测试电路
US11893112B2 (en) Quantitative digital sensor
US10397251B2 (en) System and method for securing an electronic circuit
KR102153776B1 (ko) 물리적 복제 방지 기능을 테스트하는 장치 및 방법
Zhang et al. A framework for identifying compromised nodes in wireless sensor networks
US8370787B2 (en) Testing security of mapping functions
KR102079854B1 (ko) 높은 신뢰성을 갖는 물리적 복제 방지 기능을 사용하여 비밀 정보를 생성하는 시스템 및 방법
EP3748378A1 (en) Methods for detecting system-level trojans and an integrated circuit device with system-level trojan detection
Exurville et al. Resilient hardware Trojans detection based on path delay measurements
Dunlap et al. Using timing-based side channels for anomaly detection in industrial control systems
JP2019505871A (ja) 符号解析においてサイドチャネル情報を用いて電子装置のサプライチェーンを検証する方法および機器
Gu et al. A theoretical model to link uniqueness and min-entropy for PUF evaluations
Facon et al. Hardware-enabled AI for embedded security: A new paradigm
Dubrova et al. Keyed logic BIST for Trojan detection in SoC
US20210336979A1 (en) Partial Bayesian network with feedback
Karimi et al. On the effect of aging in detecting hardware trojan horses with template analysis
Saha et al. Testability based metric for hardware trojan vulnerability assessment
Yang et al. Side-channel analysis for hardware Trojan detection using machine learning
JP2016091134A (ja) 半導体装置、及び半導体装置の信頼性テスト方法
Hill et al. Verifying attack graphs through simulation
Kuhn et al. Combination frequency differencing for identifying design weaknesses in physical unclonable functions
Karabacak et al. Remote detection of unauthorized activity via spectral analysis
Kershaw et al. Anomaly-based network intrusion detection using outlier subspace analysis: A case study
Krishnamurthy et al. Multi-Modal Side Channel Data Driven Golden-Free Detection of Software and Firmware Trojans
Rajendran et al. Sensitivity analysis of testability parameters for secure IC design

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