CN115968540A - 安全组件和操作方法 - Google Patents
安全组件和操作方法 Download PDFInfo
- Publication number
- CN115968540A CN115968540A CN202080103339.8A CN202080103339A CN115968540A CN 115968540 A CN115968540 A CN 115968540A CN 202080103339 A CN202080103339 A CN 202080103339A CN 115968540 A CN115968540 A CN 115968540A
- Authority
- CN
- China
- Prior art keywords
- state
- policy
- puf
- module
- measurement
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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/3278—Cryptographic 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/73—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
公开了一种用于设备(200)的安全组件(102,202)。安全组件(102)包括:物理不可克隆功能PUF(150),其具有多个子功能(152);以及管理模块(110),其被配置为根据策略来管理PUF(150)。管理模块(110)包括:测量模块(112),其被配置为从设备引导过程接收设备上的组件的测量或设备的硬件状态的测量中的至少一个;以及规则模块(114),其被配置为将所接收的测量与实现该策略的至少一个规则进行比较,并且基于该比较而进入策略状态。管理模块还包括:控制模块(116),其被配置为根据规则模块进入的策略状态来配置PUF(150)。还公开了一种用于操作安全组件的方法(300)。
Description
技术领域
本公开涉及一种用于设备的安全组件和一种用于操作用于设备的安全组件的方法。本公开还涉及一种计算机程序和计算机程序产品,其被配置为当在计算机上运行时执行用于操作用于设备的安全组件的方法。
背景技术
物理不可克隆功能(PUF)可以被用作用于电子设备的安全装置的一部分,该电子设备可以例如是可操作以通过有线或无线技术来通信的设备,并且可操作以连接到通信网络。PUF被用于通过利用PUF的物理结构中的隐式或显式随机性来产生独特的响应。隐式随机性是指半导体器件中的不可预测的制造差异,这些差异可以被用于产生设备独特的响应。显式随机性是指不是制造的固有结果而是在后期阶段故意引入的差异。PUF响应可以被用于加密或设备身份目的。例如,PUF响应可以被用于产生唯一设备身份或设备唯一密钥,而不必将密钥存储在例如电池支持的随机存取存储器(BBRAM)或一次性密码(OTP)存储器中。
PUF可以包括一个或多个元件或组件,这些元件或组件在本公开中被称为子功能。每个子功能贡献PUF响应的一部分。子功能的示例可以包括:
环形振荡器:环中的信号反相器的数量为奇数,环使用门延迟传播作为随机性的源。PUF响应是两个或更多个环形振荡器之间的比较,其中测量给定点处的振荡数量。响应可以例如是最快/最慢环形振荡器的标识符。
未初始化的静态随机存取存储器(SRAM)单元,其具有两种可能的状态(0和1)。在通电之前,单元不处于任一种状态。在通电时,单元稳定在两种状态中的一种状态。响应是所进入的状态。
每个子功能还具有物理不可克隆的属性,即,对于设备是唯一的。因此,PUF可以包括可以被用作独立PUF的多个子功能,尽管这些独立PUF具有较少的可能质询和较少的响应位。
存在许多不同类型的PUF,并且可以根据性能、物理结构等对不同类型进行分类。质询-响应型PUF要求输入以触发PUF响应。质询-响应型PUF包括:静态PUF,静态PUF仅支持它们对其返回响应的单个质询;以及支持多个质询-响应映射的PUF。大多数PUF类型额外地要求用户数据以便正确工作;例如,PUF可能需要帮助(helper)数据以便增加在相同质询下重新产生完全相同的响应的概率。因为PUF响应通常是敏感的并且应当保密,所以包含PUF的设备通常被要求具有保护PUF的固件和/或硬件。
PUF不能感知客户端,并且因此如果被未经授权方访问,则无法保护任何机密。因此,要求PUF及其响应受到PUF被安装在其上的设备的保护。如果设备受到危害,则受PUF保护的任何机密也将因此受到危害。如果要保护PUF响应或其任何导出物不受具有设备的物理访问权限的一方的损坏,则这提出了特别的挑战。质询-响应型的PUF可以确定性地生成多个响应。可以访问PUF的任何人都可能生成任何质询-响应对。为了确保特定响应不可用于特定用户,对应的质询必须保密,因此消除了使用PUF的部分优点,即,没有被存储在OTP或BBRAM中的机密。
US 10,263,793公开了由于“篡改事件”而修改PUF响应的可能性。这可能暂时禁用PUF,以便在调查篡改事件期间防止PUF提供它的响应并且因此泄露所关联的密钥或身份。在其他示例中,修改可以是永久性的更改,从而通过永久地修改所安装的PUF的结构而基本上破坏PUF,并且因此破坏PUF对质询的响应。
发明内容
本公开的一个目的是提供一种安全组件、操作安全组件的方法和计算机可读介质,它们协作以提供依赖于在设备上引导的组件并且与策略相一致的安全组件响应。
根据本公开的第一方面,提供了一种用于设备的安全组件,所述安全组件包括:物理不可克隆功能PUF,其具有多个子功能;以及管理模块,其被配置为根据策略来管理所述PUF。所述管理模块包括:测量模块,其被配置为从设备引导过程接收所述设备上的组件的测量或所述设备的硬件状态的测量中的至少一个;以及规则模块,其被配置为将所接收的测量与实现所述策略的至少一个规则进行比较,并且基于所述比较而进入策略状态。所述管理模块还包括:控制模块,其被配置为根据所述规则模块进入的策略状态来配置所述PUF。
根据本公开的另一个方面,提供了一种用于操作用于设备的安全组件的方法,所述安全组件包括:PUF,其具有多个子功能;以及管理模块,其被配置为根据策略来管理所述PUF。所述方法包括:从设备引导过程接收所述设备上的组件的测量或所述设备的硬件状态的测量中的至少一个;以及将所接收的测量与实现所述策略的至少一个规则进行比较。所述方法还包括:基于所述比较而进入策略状态;以及根据所进入的策略状态来配置所述PUF。
根据本公开的另一个方面,提供了一种包括计算机可读介质的计算机程序产品,所述计算机可读介质具有包含在其中的计算机可读代码,所述计算机可读代码被配置为使得在由合适的计算机或处理器执行时,使得所述计算机或处理器执行根据本文公开的任何方面或示例所述的方法。
因此,本公开的各方面提供了一种包括PUF的安全组件,该组件有效地“感知”它在其中操作的环境。也就是说,该安全组件可操作以根据在它的设备上引导的组件和策略来修改它的行为。该安全组件的管理模块通过将所引导组件或硬件状态的测量(例如散列值)与预先定义的策略进行比较来评估它在其中操作的环境。策略基于所接收的测量来确定管理模块应当进入哪种状态,并且因此确定应当如何配置PUF。根据本公开的一些示例,管理模块可以进入的每个状态强制PUF使用特定的子功能,并且因此生成不仅对设备唯一而且还对当前设备环境唯一的响应。根据本公开的其他示例,一旦已进入状态,便能够禁用未由当前状态使用的PUF子功能,因此提供了附加安全层以防止恶意尝试生成属于其他状态的响应。
附图说明
为了更好地理解本公开,并且为了更清晰地示出可如何实施本公开,现在将通过示例的方式参考以下附图,其中:
图1是示出用于设备的安全组件的第一示例的框图;
图2是示出安全组件和安全组件被安装在其上的设备的另一个示例的框图;
图3是示出用于操作用于设备的安全组件的方法的流程图;
图4a至4c示出了说明用于操作用于设备的安全组件的方法的另一个示例的流程图;
图5示出了安全组件的示例实现;
图6示出了包括多个状态路径的示例策略;
图7、8和11示出了使用中的示例安全组件的元件;
图9示出了设备引导之前的示例过程流程;以及
图10和12示出了设备引导之后的示例过程流程。
具体实施方式
本公开的示例提供了用于设备的安全组件和实现有限数量的状态的操作方法,每个状态与特定的PUF配置相关联,并且因此与特定的PUF响应相关联。每个状态要求在设备上引导的组件的测量和/或设备的硬件状态的测量的特定组合,以便进入该状态。状态(包括要进入的每个状态所要求的测量)由策略来确定。因此,安全组件进入的状态取决于在设备上引导的组件和/或设备的硬件状态的测量,但不一定是这些测量的直接结果。该策略指定了用于进入每个可能状态的有效测量组合。一些状态只能经由其他状态来访问,以使得不同的响应可以被链接,一个或多个响应只有在提供了初始响应之后才是可访问的。这种子状态的配置由策略来确定。为了避免疑义,设备的硬件状态是指设备的当前硬件状态和/或配置。与安全组件相关联的状态(简称为“状态”)是指安全组件的当前状态和/或配置。
该策略可以被设计为保护对PUF的访问,例如在设备上已引导组件的特定配置时,仅允许访问特定状态并且因此仅允许访问特定PUF响应。因此,引导设备的用户只能访问与所引导的设备组件和用户特定的设备设置相一致的PUF响应及其导出物。可以通过适当的策略设计和修改来调整对针对特定设备环境的PUF响应的访问。在使用之前,可以使用在片外创建的签名位流或其他配置信息来在安全组件上配置实现策略的规则。
如果所提供的测量不对应于策略中的任何状态,或者在其他方面与策略不兼容,则安全组件可以进入回退状态,这可以例如使PUF变成静态,从而仅提供所有用户都可以访问的响应,或者完全禁用PUF。根据一些示例,在策略中的状态根据已经接收的测量而变成不可访问时,仅在与这种不可访问的状态相关联的配置中使用的PUF子功能能够被禁用,因此在物理上禁止PUF输出属于不可访问的状态的响应。
图1是示出根据本公开的用于设备的安全组件102的第一示例的框图。该设备可以包括电子设备,其可以例如是可操作以通过有线或无线技术来通信的设备,并且可操作以连接到通信网络。该设备可以例如包括UE。参考图1,安全组件102包括物理不可克隆功能(PUF)150,其具有多个子功能152。出于本公开的目的,PUF子功能包括PUF的生成PUF响应的一部分(例如1位)的组件。因此,PUF子功能可以被称为PUF元件或PUF组件,并且可以由一对环形振荡器、SRAM存储单元、仲裁器、晶体管组件等来体现。安全组件还包括管理模块110,其被配置为根据策略来管理PUF 150。管理模块包括测量模块112,其被配置为从设备引导过程接收在设备上引导的组件的测量或设备的硬件状态的测量中的至少一个,包括温度、篡改检测等。测量模块可以例如包括多个测量寄存器。管理模块110还包括规则模块114,其被配置为将所接收的测量与实现策略的至少一个规则进行比较,并且基于比较而进入策略状态。管理模块110还包括控制模块116,其被配置为根据规则模块进入的策略状态来配置PUF。
因此,安全组件102使用策略来确定应当如何配置它的PUF,该策略基于PUF被安装在其上的设备的环境(即,基于在设备上引导的组件和/或设备的硬件状态)来确定PUF配置。在设备上引导的组件可以是软件组件或位流,并且测量可以包括所引导的组件或硬件状态的函数,例如组件或状态的加密函数(例如散列函数)。由控制模块配置PUF可以包括:激活PUF的一个或多个子功能,例如通过向PUF提交质询来选择要使用的子功能,配置子功能的行为或者使用逻辑上可重新配置的PUF(LR-PUF)来重新映射质询-响应映射。
PUF 150可以包括任何类型的PUF。将理解,为了实现给定策略,PUF应当满足以下条件中的至少一个:
-PUF包括适当数量的子功能,以使得针对PUF的可用质询的数量至少等于在策略中定义的状态的数量
-PUF包括LR-PUF。
图2是示出安全组件202和安全组件被安装在其上的设备200的另一个示例的框图。图2的安全组件202示出了用于可如何实现安全组件102的管理模块110的各种选项。
参考图2,安全组件202被安装在其上的设备200包括处理器204和存储器206,一个或多个计算机程序208可以被存储在存储器206上。根据本公开的不同示例,“帮助(helper)数据”207的项目(包括例如纠错码)也可以被存储在存储器206中。设备200可以附加地包括用于有线或无线通信的一个或多个电信接口。安全组件202包括PUF 250,其具有多个子功能252。安全组件202还包括管理模块210,其被配置为根据策略来管理PUF 250。至于安全组件102,安全组件202的管理模块210包括测量模块212、规则模块214和控制模块216。测量模块212被配置为:从设备引导过程接收在设备上引导的组件的至少一个测量。测量模块212可以例如包括多个测量寄存器。规则模块214被配置为:将所接收的测量与实现策略的至少一个规则进行比较,并且基于比较而进入策略状态。控制模块216被配置为:根据规则模块进入的策略状态来配置PUF。
规则模块214可以被配置为:接收定义实现策略的至少一个规则的配置信息。配置信息可以是位流(例如,如果管理模块210以可重新配置的逻辑来实现)或存储器和/或寄存器配置(例如,如果管理模块210以ASIC来实现)。管理模块210还包括认证模块218,其被配置为使用安全凭证来认证配置信息。
根据本公开的示例,由至少一个规则实现的策略包括状态路径和测量路径,通过该测量路径能够到达至少一个状态。状态路径包括至少一个状态,其对应于激活PUF的至少一个子功能以及接受用于生成PUF响应的至少一个请求。测量路径定义以下项的至少一个测量值的有序序列:能够在设备上引导的组件,或设备的硬件状态。每个状态路径可以包括多于一个的状态,并且状态路径上的每个状态可以具有通过其能够到达该状态的特定测量路径,以使得测量路径和状态被有效地链接在一起。在一些示例中,状态路径可以包括例如在已接收到阈值数量的对PUF响应的请求之后要从另一个状态直接进入的状态。该策略可以包括多个状态路径。
由至少一个规则实现的策略还可以包括回退路径,其定义至少一个回退状态。规则模块214还可以被配置为:如果所接收的测量与一个或多个规则之间的比较指示所接收的测量与沿着该策略中的测量路径的有效的下一个步骤不兼容,则进入回退路径。
如果尚未启动任何测量路径,则有效的下一个步骤可以是策略中的任何测量路径上的第一个步骤。如果已经启动测量路径,则沿着测量路径的可用进展包括已经启动的路径上的有效的下一个步骤。包括多个状态路径的示例策略在图6中示出并且在下面更详细地讨论。
规则模块214还可以被配置为:基于该比较,识别不再能够有效进入的策略状态;以及使得所识别的策略状态变成不可达。不再能够有效进入的策略状态可以是根据已经接收的测量而无法经由策略的状态路径到达的策略状态。使得策略状态变成不可达意味着与状态相关联的PUF行为不再可访问,并且因此被有效禁用。例如,仅与不可达的状态相关联的PUF子功能可以在使用这些PUF子功能的状态变成不可达时被禁用。
管理模块210还可以包括多个状态存储模块220,并且规则模块可以通过以下操作使得所识别的策略状态变得不可达:写入对应于所识别的策略状态的状态存储模块;以及然后阻止对所识别的策略状态的状态存储模块的任何进一步的数据写入。状态存储模块220可以例如包括寄存器或者可以包括其他存储解决方案。
由于例如温度变化、硬件退化等,由PUF 250生成的响应可能在各代之间不稳定。因此,针对特定质询生成的响应可能随时间而变化,以使得与特定质询第一次被提交时生成的响应相比,在几代之后针对该质询生成的响应可能包含错误。根据本公开的一些示例,PUF 250的输出因此可以经历纠错以纠正这种输出变化。在安全组件202的一些示例中,管理模块210还可以包括纠错模块219,其被配置为纠正由PUF生成的响应中的错误。纠错模块219可以包括一个或多个纠错功能,并且可以被配置为:从针对质询生成的第一响应中提取帮助数据207并将其保存在设备200的存储器206中,以及使用帮助数据207对随后针对质询生成的响应执行纠错。纠错可以纠正由于变化(例如温度变化和/或硬件退化)而导致的响应中的错误。
管理模块被配置为:接收对PUF响应的请求,随后规则模块214被配置为:确定当前的策略状态是否与许可该请求兼容,以及如果当前的策略状态与许可该请求兼容,则指示控制模块216使得PUF 250基于PUF 250的当前配置而生成响应。然后,规则模块可以递增已经由PUF 250在当前的策略状态下使用规则模块生成响应的次数的计数。如果所递增的计数超过用于当前的策略状态的计数阈值,则规则模块214可以退出当前的策略状态。在退出当前的策略状态时,规则模块214可以遍历状态路径中的下一个步骤,该步骤可以包括测量路径上的下一个测量的测量值(要与下一个所接收的测量值进行比较)、要进入的另一个策略状态、要进入的回退状态等。因此,如果所递增的计数超过用于当前的策略状态的计数阈值,则规则模块可以进入以下项中的至少一项:不同的策略状态;通过其能够到达不同的策略状态的测量路径,该测量路径定义能够在设备上引导的组件的至少一个测量值的有序序列;或者定义至少一个回退状态的回退路径。回退状态可以与PUF 250(其生成将要可用于任何用户的响应)的特定配置相关联,或者可以例如与PUF 250的禁用相关联。
如下面针对安全组件102、202的示例实现更详细地讨论的,管理模块可以使用以下项中的至少一项来实现:可重新配置的控制逻辑、硬逻辑块和/或至少一个软件模块。
图3是示出用于操作用于设备的安全组件的方法300的流程图。安全组件包括:PUF,其具有多个子功能;以及管理模块,其被配置为根据策略来管理PUF。安全组件可以例如包括如上所述的安全组件102或202。参考图3,该方法包括:在第一步骤310中,从设备引导过程接收在设备上引导的组件的测量或设备的硬件状态的测量中的至少一个。该方法还包括:在步骤320中所接收的测量与实现该策略的至少一个规则进行比较,以及在步骤330中基于该比较而进入策略状态。该方法还包括:在步骤340中根据策略进入的状态来配置PUF。
图4a至4c示出了说明在用于操作用于设备的安全组件的方法400的另一个示例中的过程步骤的流程图。关于方法300,安全组件包括:PUF,其具有多个子功能;以及管理模块,其被配置为根据策略来管理PUF。安全组件可以例如包括如上所述的安全组件102或202。方法400示出了可如何实现和补充方法300的步骤以实现上述和附加功能的示例。
首先参考图4a,在第一步骤402中,方法400包括:接收定义实现策略的至少一个规则的配置信息,将要根据该策略来管理PUF。该方法还包括:在步骤404中使用安全凭证来认证配置信息。在步骤410中,该方法包括:从设备引导过程接收在设备上引导的组件的测量或设备的硬件状态的测量中的至少一个,以及在步骤420中将所接收的测量与实现策略的至少一个规则进行比较。如420a中所示,由至少一个规则实现的策略包括具有至少一个状态的状态路径,至少一个状态对应于激活PUF的至少一个子功能以及接受用于生成PUF响应的至少一个请求。该策略还包括测量路径,通过该测量路径能够到达状态路径的至少一个状态。测量路径定义以下项的至少一个测量值的有序序列:能够在设备上引导的组件,或设备的硬件状态。同样如420a中所示,由至少一个规则实现的策略还可以包括回退路径,其定义至少一个回退状态。
在步骤422中,该方法包括:确定所接收的测量与规则之间的比较是否指示所接收的测量与策略中的测量路径上的有效的下一个步骤兼容。如果尚未启动测量路径,则有效的下一个步骤可以是策略中的任何测量路径上的第一个步骤。如果已经启动测量路径,则有效的下一个步骤包括已经启动的路径上的下一个步骤。如果该比较指示所接收的测量与策略中的测量路径上的有效的下一个步骤不兼容(步骤422中的“否”),则该方法包括:在步骤424中进入回退路径。现在参考图4b,如果该比较指示所接收的测量与策略中的测量路径上的有效的下一个步骤兼容(步骤422中的“是”),则该方法包括:基于该比较而进入策略状态。如步骤430a中所示,例如,如果在步骤410中接收的测量值没有直接导向策略状态,而是导向当前测量路径上的另一个测量值,则可以经由测量路径上导向策略状态的一个或多个所接收的附加测量值来进入策略状态。
在步骤432中,该方法包括:基于步骤420中的比较,识别不再能够有效进入的策略状态。这可以包括根据已经接收的一个或多个测量,现在无法经由策略中的任何测量路径而到达的状态。在步骤434中,该方法包括:使得所识别的策略状态变成不可达。如434a和434b中所示,使得所识别的策略状态变成不可达可以包括:写入对应于所识别的策略状态的状态存储模块(例如状态寄存器);以及阻止对所识别的策略状态的状态存储模块的任何进一步的数据写入。
在步骤440中,该方法包括:根据在步骤430中进入的策略状态来配置PUF。如440a和440b中所示,这可以包括例如通过向PUF提交质询来选择要使用哪些子功能,或者使用逻辑上可重新配置的PUF(LR-PUF)来重新映射质询-响应映射。
在步骤442中,该方法包括:接收对PUF响应的请求。该方法然后包括:在步骤444中,确定当前的策略状态是否与许可该请求兼容。现在参考图4c,如果在步骤446中,当前的策略状态与许可该请求不兼容,则在步骤448中,不生成PUF响应。如果当前的策略状态与许可该请求兼容,则该方法包括:在步骤450中,使得PUF基于它的当前配置而生成响应。如450a中所示,使得PUF基于它的当前配置而生成响应可以进一步包括:例如通过向纠错模块提交PUF响应来纠正PUF响应中的错误。纠正PUF响应中的错误可以包括从针对质询生成的第一响应中提取帮助数据并将其保存在例如设备的存储器中,以及可以包括使用帮助数据对随后针对质询生成的响应执行纠错。帮助数据可以包括一个或多个纠错码。如果生成PUF响应,则在步骤452中,该方法包括:递增已经由PUF在当前的策略状态下生成响应的次数的计数。在步骤454中,该方法包括:确定是否已经达到或超过计数阈值。如果尚未达到或超过阈值,则在步骤456中,管理模块保持在当前的策略状态。然后,该方法可以包括:如果接收到对PUF响应的其他请求,则返回到步骤442,或者如果接收到其他测量值,则返回到步骤410。
如果所递增的计数已经达到或超过用于当前的策略状态的计数阈值,则该方法包括:在步骤460中,退出当前的策略状态。然后,该方法可以包括进入以下项中的至少一项:不同的策略状态;通过其能够到达不同的策略状态的测量路径;或者定义至少一个回退状态的回退路径。
方法300、400可以经由存储在设备上的计算机程序来实现,并且本公开提供了一种包括计算机可读介质的计算机程序产品,计算机可读介质具有包含在其中的计算机可读代码,计算机可读代码被配置为使得在由合适的计算机或处理器执行时,使得计算机或处理器执行根据本文描述的任何示例所述的方法。
现在讨论根据本公开的安全组件的不同实现。
在一个示例中,安全组件可以在具有可配置单元的设备上实现,这些可配置单元将在通电之后但在设备引导之前接收配置。这种组件的示例包括处理器、存储器、可编程逻辑等。在另一个示例中,安全组件可以在专用集成电路(ASIC)中实现,其中硬件的行为可以经由存储器和寄存器来配置。
图5示出了用于设备500的安全组件502的示例实现。安全组件被安装在其上的设备500包括处理器504和存储器506,一个或多个计算机程序508可以被存储在存储器506上。根据本公开的不同示例,“帮助数据”207的项目(包括例如纠错码)也可以被存储在存储器206中。此外,设备500可以包括用于有线或无线通信的一个或多个电信接口。与安全组件102、202相一致,安全组件502包括电子测量类型的PUF 550,PUF 550依赖于隐式随机性并且具有多个子功能。安全组件502还包括管理模块510。图5还示出了要由管理模块510实现的策略A,该策略定义了不同的测量应当如何激活、重新配置或禁用PUF 550。图5还示出了规则解释器B,其解释策略并且针对管理模块510的规则模块和控制模块生成配置信息(例如码或位流)。
管理模块510包括:
-公钥Pub_policy 522
-非对称加密模块(被标记为认证模块518),其用于验证用于规则模块和控制模块的位流或其他配置信息上的签名
-多个测量寄存器512,其用于写入引导测量
-规则模块514,其用于评估关于要被实现的策略的传入测量
-控制模块,其用于确定PUF 550的行为
-纠错模块519,其用于纠正由PUF 550生成的错误
PUF 550可以是使用隐式或显式随机性的任何子类型。因此,PUF 550可以使用电子电路来实现,并且可以使用不可预测的制造差异作为随机性的来源。PUF 550还可以使用显式随机性来实现。在这种类型的PUF中,可以使用例如光、射频或磁来提交质询和响应。在这些情况下,当与PUF550交互时,质询和响应可以转换自电信号以及转换为电信号。
在由可配置逻辑单元形成的安全组件502的示例中,规则模块514和控制模块516可以以可配置逻辑实现。PUF 550可以以可重新配置的逻辑实现,或者可以是硬逻辑块。加密模块518可以以硬逻辑块、可重新配置的逻辑或软件实现。规则解释器A是外部组件,并且可以在外部软件或硬件中实现。
PUF 550的输入和激活信号被连接到管理模块510,或者更具体地被连接到规则模块514。管理模块510处理来自客户端的用于读出PUF响应的所有请求。如果PUF 550是质询-响应型,则不允许客户端选择质询,该能力被限于控制模块516。
策略包括导向状态的测量值的一个或多个路径。该上下文中的路径是一个或多个测量,这些测量必须以正确的顺序被提供,并且与策略中的值完全匹配。沿着路径存在至少一个状态。状态对应于PUF 550的预先定义的配置,以及对应于接受用于生成PUF响应的请求。策略可以具有针对每个状态的限制,该限制定义了在每个状态下可以生成多少响应。每个路径可以在初始状态之后具有附加状态。这些状态被称为子状态,并且只能通过首先进入初始状态才可达。策略还定义了一个或多个回退路径,回退路径描述了如果所接收的测量与策略中的任何路径不匹配,则应当发生什么操作。回退路径可以指定PUF应当生成特定响应或者应当被关闭。
图6示出了示例策略600。状态A1是测量M1和M2到达的第一策略路径(路径1)的初始状态。状态A1在移动到子状态A2之前最多生成一个响应。一旦进入子状态A2,后续生成将输出与状态A1下输出的PUF响应不同的PUF响应。因为子状态A2只能通过首先访问第一级状态A1而可达,所以在子状态A2下生成的响应可以被认为是状态A1下的响应的导出物。状态B是测量M3和M4到达的第二策略路径(路径2)的初始状态。一旦进入,PUF可以在状态B下生成的响应数量没有上限。如果所接收的测量与路径的有效的下一个步骤不匹配,则进入策略的回退路径,从而使得PUF进入禁用状态。如果所接收的测量是第一个所接收的测量,则有效的下一个步骤包括策略路径上的任何第一个步骤,即,测量M1或M3。如果已经接收到测量M1,则唯一的有效的下一个步骤是路径1上的测量M2。如果已经接收到测量M3,则唯一的有效的下一个步骤是路径2上的测量M4。
再次参考图5,一旦提交了策略A,规则解释器B将解析该策略并且将其转换为寄存器传输级别(RTL)。RTL被用于创建实现策略中的规则的位流或其他配置信息。该位流被用于对规则模块514进行编程。当规则解释器B已生成位流时,它使用规则模块514和PUF 550的知识来生成用于控制模块的配置信息。控制模块被连接到规则模块514和PUF 550两者,并且具有与所有PUF子功能集合的单独连接,从而使得控制模块能够禁用特定子功能、改变质询或重新配置PUF。
管理模块将公钥Pub_policy 522存储在OTP存储器或ROM存储器中。公钥不需要是秘密的,但将公钥存储在OTP/ROM存储器中可确保完整性,即一旦提供了密钥,该密钥便无法被更改。对应的私钥K_policy可以被用于对用于规则模块514和控制模块516的配置信息进行签名。根据特定用例,Pub_policy可以在制造期间被编程并且从而由制造商拥有,或者由硬件所有者编程和拥有。
控制模块和规则模块位流或其他配置信息经由外部接口来提供。使用Pub_policy522和加密模块518来检查对信息的签名。控制模块516和/或规则模块514的更新应当在接收测量之前进行。规则模块514和控制模块516不应在设备操作期间被重新编程。将理解,安全组件的安全性不依赖于管理模块中的任何组件,也不依赖于PUF是秘密的。但是,管理模块和PUF的所有部分应当受到完整性保护。就像在可信平台模块(TPM)的情况下,测量应当由可信引导过程来写入。
图7示出了PUF 550、控制模块516、测量寄存器512和规则模块514。PUF 550包括多个子功能552。单向函数554被配置为提供PUF响应的单向变换。规则模块514已经被配置有定义两个策略路径(导向状态A的路径1和导向状态B的路径2)的规则。在图7中,测量尚未被写入测量寄存器512并且管理模块尚未进入状态,PUF 550未被激活。
在引导期间,设备500将测量写入测量寄存器512。在每次写入之后,规则模块514评估测量。如果第一测量与策略路径相匹配,则规则模块514按照策略的指示沿着对应路径移动到下一个步骤。如果下一个步骤是另一个测量,则规则模块514等待向测量寄存器512的另一次写入。如果下一个步骤是状态,则规则模块514指示控制模块516使用属于该状态的配置来设置PUF 550。
图8示出了在接收到多个测量之后图7的PUF 550、控制模块516、测量寄存器512和规则模块514。规则模块514已将所有传入测量与路径1相匹配。因此,规则模块已进入状态A,并且已指示控制模块以对应于状态A的配置来设置PUF。该状态使用子函数(F1、F3…Fx-3、Fx-1)来生成n个位。图7和8所示的复用器(MUX)展示了使用多个不同的子函数来生成1个位的可能性。这些位被提供给单向函数554,从而输出单向变换后的输出。将理解,图8中的PUF子功能连接和复用器的使用以及控制模块与PUF之间所示的连接是说明配置示例,并且在实际应用中可以被不同地设计。
每个状态具有对应的状态寄存器。一旦状态被确定为不可达,规则模块514便写入该寄存器并且将其变成只读。如果规则模块514尝试进入寄存器已被写入(例如由于硬件错误或硬件篡改)的状态,则规则模块进入回退路径。这增加了额外的安全层,从而使得PUF550能够供设备的任何用户使用,而没有泄露不活动状态下的任何响应的风险。如果无法经由任何策略路径有效到达状态,则该状态为不可达。例如,参考图6所示的策略,一旦已接收到测量M1,路径1便被占用,并且不再能够有效到达状态B。因此,在接收到与M1匹配的第一测量之后,状态B不可达。
策略中的每个状态对应于状态设置,状态设置包括以下项中的至少一项:PUF 550中的子功能的组合,PUF 550的质询-响应映射,和/或PUF 550中的子功能的特定配置。状态设置由规则模块514选择并且由控制模块512激活。每个状态设置是唯一的。
PUF响应经过单向函数,该单向函数去除了子函数的不同组合之间的任何相关性。图7和8示出了使用状态设置和单向函数的唯一组合的示例。
当设备500请求生成PUF响应时,规则模块514评估它是否处于允许许可该请求的状态。如果请求被允许,则规则模块514指示控制模块516激活PUF并且生成响应。规则模块514还增大它的内部计数器,该计数器指示在当前状态下生成的响应的数量。如果策略针对在当前状态下生成的响应的数量具有限制,则一旦达到最大响应数量,规则模块514便将离开它的当前状态。如果存在子状态,则管理模块将在生成响应之后立即进入新状态,并且因此告知控制模块516对PUF 550进行重新编程。
每个策略路径可以以下两种方式之一结束:
-路径的最后一个状态没有限制,并且PUF配置变成静态,直到重新引导为止,针对任何后续请求返回该状态的PUF响应(如图6的路径2所示)。
-路径的最后一个状态具有限制(在图6的路径1中示出)。一旦达到该限制,规则模块便进入回退路径。回退状态可以与关闭PUF或进入新状态相关联,并且因此PUF可以被禁用,或者它的配置呈现静态直到重新引导为止。
安全组件的一些示例实现可能对PUF响应中的错误(例如由温度变化导致)敏感,并且一些实现可以包括纠错模块519。纠错模块519可以被配置为在注册阶段产生帮助数据(例如纠错码),或者采取帮助数据并且使用它来纠正质询阶段内的任何错误。
图11类似于图8,示出了在接收多个测量之后图7的PUF 550、控制模块516、测量寄存器512和规则模块514。图11还示出了纠错模块519。纠错模块519将PUF响应作为输入,并且将纠正后的响应输出到单向函数554。除了PUF输入之外,纠错模块519采取两个附加输入,即,帮助数据507和注册(enrol)模式信号509。如果注册模式信号被激活,则纠错模块519提取并且输出帮助数据(例如纠错码),该帮助数据可以由生成PUF响应的模块或由专用帮助数据组件来存储。当注册模式信号被激活时,不执行纠错。如果注册模式信号被去激活,则帮助数据507被输入到纠错模块519,并且被用于纠正PUF子功能响应中的错误。
纠错模块可以包括一个或多个纠错功能。帮助数据可以包括一种或多种类型的纠错码,例如BCH码或Reed-Muller码。纠错模块还可以或替代地包括位选择功能,在位选择功能中,PUF响应中的不可靠位被去除。位选择功能可以基于特定PUF的特性知识来操作,并且因此不特定于特定质询,就像所提取的帮助数据(例如纠错码)那样。
安全组件的实现的上述讨论是在以可配置逻辑块实现的安全组件的上下文中提出的。将理解,在安全组件在ASIC中被实现的示例中,所描述的所有功能将在ASIC上基本如所述那样操作,但具有以下例外:
·管理模块组件被实现为硬逻辑块。
·因为规则模块和控制模块在硬逻辑块中被实现,所以位流不适用于设置这些组件。替代地,规则解释器生成存储器/寄存器配置,这些配置被签名并且用于设置这些组件。
·可如何配置策略的可能性有限。策略只能更改寄存器和存储器,这在配置PUF行为时提供更小的灵活性。
现在描述根据本公开的不同实现的各种示例过程流程。
图9示出了设备引导之前的过程流程。
在设备外部:
·该过程开始902
·策略被上传到规则解释器904。
·规则解释器解析策略906并且创建与策略相对应的RTL。RTL被编辑成规则模块位流908。
·规则解释器使用规则模块和PUF的知识来针对控制模块创建RTL910。RTL被编辑成控制模块位流。
·策略所有者使用K_policy对位流进行签名912,并且将它们提供给设备914。
在设备上:
·加密模块使用Pub_Policy来检查位流的签名916。
·控制模块和规则模块位流被存储在受访问保护的片上存储器中918
·设备通电920
·位流被加载到可编程逻辑中922
·设备引导924
图10示出了在安全组件以可配置单元实现的示例中设备通电之后的过程流程。
·该过程开始1002
·管理被加载到可编程逻辑中1004
·设备提供测量1006
·所接收的测量被添加到测量集1008
·检查所接收的测量是否符合状态1010
·如果是,则管理进入状态1012
·如果否,则进入回退状态或断电1022,如果测量集已满1024,则结束,如果测量集未满1024,则等待附加测量1026
·在进入状态1012之后,PUF通电1014
·PUF生成响应1016
·已生成最大数量的响应?1018
·如果否,则生成新响应1016
·如果是,存在子状态?1020
·如果是,则进入子状态
·如果否,则进入回退状态或断电1022,如果测量集已满1024,则结束,如果测量集未满1024,则等待附加测量1026
图12示出了在安全组件以可配置单元实现的示例中设备通电之后的过程流程的另一个示例。
·该过程开始1202
·管理被加载到可编程逻辑中1204
·设备提供测量1206
·所接收的测量被添加到测量集1208
·检查所接收的测量是否符合状态1210
·如果是,则管理进入状态1212
·如果否,则进入回退状态或断电1222,如果测量集已满1224,则结束,如果测量集未满1224,则等待附加测量1226
·在进入状态1212之后,PUF通电1214
·PUF生成响应1216
·纠错模块处于注册模式?1228
·如果是,则纠错模块输出帮助数据1230
·如果否,则纠错模块将帮助数据作为输入,并且对PUF响应执行纠错1232
·已生成最大数量的响应?1218
·如果否,则生成新响应1216
·如果是,则存在子状态?1220
·如果是,则进入子状态
·如果否,则进入回退状态或断电1222,如果测量集已满1224,则结束,如果测量集未满1224,则等待附加测量1226
以下用例场景示出了使用图6所示的策略来应用上述过程流程
场景1
·设备通电。
·加载/配置规则模块和控制模块。
·设备开始引导序列。
·当已加载第一引导组件时,执行组件的散列函数,并且将结果M3写入测量寄存器。
·将M3与每个路径的第一个步骤中的允许值进行比较。发现路径2与M3匹配。这禁用路径1,属于不可达状态的所有寄存器都被写入,并且之后进行写保护。
·当已加载第二引导组件时,执行组件的散列函数,并且将结果M4写入测量寄存器。
·将M4与沿着当前路径的允许值进行比较。M4与路径2的第二值匹配。
·设备发送对PUF响应的请求。
·规则模块接收请求,并且指示控制模块生成PUF响应,该PUF响应可以由设备读取。
·这是该路径的结束状态,对响应数量没有限制。PUF将继续生成状态B响应直到设备重新引导为止。
场景2
·设备通电。
·加载/配置规则模块和控制模块。
·设备开始引导序列。
·当已加载第一引导组件时,执行组件的散列函数,并且将结果M1写入测量寄存器。
·将M1与每个路径的第一个步骤中的允许值进行比较。发现路径1与M1匹配。这禁用路径2,属于不可达状态的所有寄存器都被写入,并且之后进行写保护。
·当已加载第二引导组件时,执行组件的散列函数,并且将结果M2写入测量寄存器。
·将测量与沿着当前路径的允许值进行比较。M2与路径1的第二值匹配。
·规则模块进入状态A1,并且指示控制模块将PUF配置为处于对应于A1的状态。
·控制模块如针对状态A1所定义的那样来配置PUF,并且等待来自设备的请求。
·设备发送对PUF响应的请求。
·规则模块接收请求,并且指示控制模块生成PUF响应,该PUF响应可以由设备读取。
·规则模块离开状态A1,因为在该状态下只能生成一个响应。规则模块进入状态A2,并且指示控制模块将PUF配置为处于对应于A2的状态。
·设备发送对PUF响应的附加请求。
·规则模块接收请求,并且指示控制模块生成PUF响应,该PUF响应可以由设备读取。
·当服务两个请求时,规则模块离开状态A2。沿着该路径没有更多的状态。PUF断电,并且在设备重新引导之前,将不提供更多的响应。
场景3
·设备通电。
·加载/配置规则模块和控制模块。
·设备开始引导序列。
·当已加载第一引导组件时,执行组件的散列函数,并且将结果M5写入测量寄存器。
·将测量与每个路径的第一个步骤中的允许值进行比较。未发现匹配,因此进入回退状态,从而禁用路径1和2。写入所有寄存器,并且之后进行写保护,因此仅允许回退状态。
·回退状态被定义为“禁用PUF”。管理模块向控制模块发送指令以禁用PUF。
·控制模块尚未激活PUF,因为未进入任何状态,无需任何动作。
因此,本公开的各方面提供了一种包括PUF的安全组件,该组件有效地“感知”它在其中操作的环境。也就是说,该安全组件可操作以根据在它的设备上引导的组件和策略来修改它的行为。本公开的各方面使得能够使用单个PUF确定性地产生不同的响应。这提供了产生不仅对设备唯一而且对设备操作的环境也唯一的加密密钥的可能性。以这种方式,应当例如仅可用于制造商的密钥能够对其他用户“隐藏”,而不必对PUF进行访问保护。此外,当访问PUF时,具有不同权限的用户能够被允许访问不同的设备唯一密钥。
给定可以在不同模式下引导的设备(即,在引导期间加载不同的组件,例如软件和位流),来自引导序列的测量可以被用于确定设备的设置。本公开的示例将这种测量与策略相匹配,以便选择用于PUF的配置。这确保了设备在给定特定测量的情况下只能生成特定PUF响应;加载未经授权的组件将使得PUF被去激活(如果由策略规定),并且不会公开任何响应。
如果策略定义了多个所允许的引导组件组合,则每个组合(包括其中组件被引导的顺序)可以触发PUF以不同的方式操作。还可以建立使得不同的测量组合产生相同的PUF响应的策略。例如,多个不同的引导组件组合可以产生相同的PUF配置,而指示特权引导模式的特定组件组合生成不同的PUF配置。
由策略定义的每个状态可以在它可以被用于生成响应的次数方面受到限制,以使得例如策略可以被配置为确保特定响应仅可用于单个生成,之后该特定响应无法被访问,直到设备重新引导为止。这提供了第一引导组件接收不能针对任何后续组件被重新创建的PUF响应的可能性。当离开特定的第一状态时,可以配置策略以使得进入一个或多个子状态,这些子状态仅通过首先进入第一状态才可达。这使得能够创建“子响应”,只有在由先前PUF配置已经生成属于第一状态的响应之后才能生成这些子响应。如果响应被用于加密目的,则这能够是有利的,因为它不需要外部密钥导出函数(KDF)。
本公开的方法可以在硬件中实现,或者作为在一个或多个处理器上运行的软件模块来实现。这些方法还可以根据计算机程序的指令被执行,并且本公开还提供了一种计算机可读介质,其上存储有用于执行本文描述的任何方法的程序。体现本公开的计算机程序可以被存储在计算机可读介质上,或者它可以例如采用信号的形式(例如从互联网网站提供的可下载数据信号),或者它可以采用任何其他形式。
应当注意,上述示例说明而不是限制本公开,并且本领域技术人员将能够在不偏离所附权利要求的范围的情况下设计许多替代实施例。“包括”一词不排除权利要求中列出的元件或步骤以外的元件或步骤的存在,“一”或“一个”不排除多个,并且单个处理器或另一个单元可以实现在权利要求中列举的多个单元的功能。权利要求中的任何参考符号不应被解释为限制权利要求的范围。
Claims (24)
1.一种用于设备的安全组件,所述安全组件包括:
物理不可克隆功能PUF,其具有多个子功能;以及
管理模块,其被配置为根据策略来管理所述PUF;
其中,所述管理模块包括:
测量模块,其被配置为从设备引导过程接收所述设备上的组件的测量或所述设备的硬件状态的测量中的至少一个;
规则模块,其被配置为将所接收的测量与实现所述策略的至少一个规则进行比较,并且基于所述比较而进入策略状态;以及
控制模块,其被配置为根据所述规则模块进入的策略状态来配置所述PUF。
2.根据权利要求1所述的安全组件,其中,所述规则模块被配置为接收定义实现所述策略的所述至少一个规则的配置信息。
3.根据权利要求2所述的安全组件,其中,所述管理模块还包括:
认证模块,其被配置为使用安全凭证来认证所述配置信息。
4.根据权利要求1至3中任一项所述的安全组件,其中,由所述至少一个规则实现的所述策略包括状态路径,并且其中,所述状态路径包括:
至少一个状态,其对应于激活所述PUF的至少一个子功能以及接受用于生成PUF响应的至少一个请求;以及
测量路径,通过所述测量路径能够到达所述至少一个状态,所述测量路径定义以下项的至少一个测量值的有序序列:能够在所述设备上引导的组件,或所述设备的硬件状态。
5.根据权利要求4所述的安全组件,其中,由所述至少一个规则实现的所述策略还包括回退路径,其定义至少一个回退状态;并且其中,所述规则模块还被配置为:如果所述比较指示所接收的测量与沿着所述策略中的测量路径的有效的下一个步骤不兼容,则进入所述回退路径。
6.根据权利要求1至5中任一项所述的安全组件,其中,所述规则模块还被配置为:
基于所述比较,识别不再能够有效进入的策略状态;以及
使得所识别的策略状态变成所述规则模块不可达。
7.根据权利要求6所述的安全组件,其中,所述管理模块还包括多个状态存储模块,并且其中,所述规则模块被配置为通过以下操作使得所识别的策略状态变成所述规则模块不可达:
写入对应于所识别的策略状态的所述状态存储模块;以及
阻止对所识别的策略状态的所述状态存储模块的任何进一步的数据写入。
8.根据权利要求1至7中任一项所述的安全组件,其中,所述管理模块被配置为:接收对PUF响应的请求;并且其中,所述规则模块还被配置为:
确定当前的策略状态是否与许可所述请求兼容;以及
如果所述当前的策略状态与许可所述请求兼容,则指示所述控制模块使得所述PUF基于所述PUF的当前配置而生成响应。
9.根据权利要求8所述的安全组件,其中,所述规则模块还被配置为:在指示所述控制模块使得所述PUF基于PUF的当前配置而生成响应之后,
递增已经由所述PUF在所述当前的策略状态下使用所述规则模块生成响应的次数的计数。
10.根据权利要求9所述的安全组件,其中,所述规则模块还被配置为:
如果所递增的计数超过用于所述当前的策略状态的计数阈值,则退出所述当前的策略状态。
11.根据权利要求9或10所述的安全组件,其中,所述规则模块还被配置为如果所递增的计数超过用于所述当前的策略状态的计数阈值,则进入以下项中的至少一项:
不同的策略状态;
通过其能够到达不同的策略状态的测量路径,所述测量路径定义以下项的至少一个测量值的有序序列:能够在所述设备上引导的组件,或所述设备的硬件状态;或者
定义至少一个回退状态的回退路径。
12.根据权利要求1至11中任一项所述的安全组件,其中,所述管理模块是使用以下项中的至少一项来实现的:
可重新配置的控制逻辑;
硬逻辑块;
至少一个软件模块。
13.一种用于操作用于设备的安全组件的方法,所述安全组件包括:物理不可克隆功能PUF,其具有多个子功能;以及管理模块,其被配置为根据策略来管理所述PUF,所述方法包括:
从设备引导过程接收所述设备上的组件的测量或所述设备的硬件状态的测量中的至少一个;
将所接收的测量与实现所述策略的至少一个规则进行比较;
基于所述比较而进入策略状态;以及
根据所进入的策略状态来配置所述PUF。
14.根据权利要求13所述的方法,还包括:
接收定义实现所述策略的所述至少一个规则的配置信息。
15.根据权利要求14所述的方法,还包括:使用安全凭证来认证所述配置信息。
16.根据权利要求13至15中任一项所述的方法,其中,由所述至少一个规则实现的所述策略包括状态路径,并且其中,所述状态路径包括:
至少一个状态,其对应于激活所述PUF的至少一个子功能以及接受用于生成PUF响应的至少一个请求;以及
测量路径,通过所述测量路径能够到达所述至少一个状态,所述测量路径定义以下项的至少一个测量值的有序序列:能够在所述设备上引导的组件,或所述设备的硬件状态。
17.根据权利要求16所述的方法,其中,由所述至少一个规则实现的所述策略还包括回退路径,其定义至少一个回退状态;并且其中,所述方法还包括:如果所述比较指示所接收的测量与沿着所述策略中的测量路径的有效的下一个步骤不兼容,则进入所述回退路径。
18.根据权利要求13至17中任一项所述的方法,还包括:
基于所述比较,识别不再能够有效进入的策略状态;以及
使得所识别的策略状态变成不可达。
19.根据权利要求18所述的方法,其中,所述管理模块包括多个状态存储模块,并且其中,使得所识别的策略状态变成不可达包括:
写入对应于所识别的策略状态的所述状态存储模块;以及
阻止对所识别的策略状态的所述状态存储模块的任何进一步的数据写入。
20.根据权利要求13至19中任一项所述的方法,还包括:
接收对PUF响应的请求;
确定当前的策略状态是否与许可所述请求兼容;以及
如果所述当前的策略状态与许可所述请求兼容,则使得所述PUF基于所述PUF的当前配置而生成响应。
21.根据权利要求20所述的方法,还包括:在使得所述PUF基于PUF的当前配置而生成响应之后,
递增已经由所述PUF在所述当前的策略状态下生成响应的次数的计数。
22.根据权利要求21所述的方法,还包括:
如果所递增的计数超过用于所述当前的策略状态的计数阈值,则退出所述当前的策略状态。
23.根据权利要求21或22所述的方法,还包括:如果所递增的计数超过用于所述当前的策略状态的计数阈值,则进入以下项中的至少一项:
不同的策略状态;
通过其能够到达不同的策略状态的测量路径,所述测量路径定义以下项的至少一个测量值的有序序列:能够在所述设备上引导的组件,或所述设备的硬件状态;或者
定义至少一个回退状态的回退路径。
24.一种包括计算机可读介质的计算机程序产品,所述计算机可读介质具有包含在其中的计算机可读代码,所述计算机可读代码被配置为使得在由合适的计算机或处理器执行时,使得所述计算机或处理器执行根据权利要求13至23中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2020/068145 WO2021259501A1 (en) | 2020-06-26 | 2020-06-26 | Security component and method of operation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115968540A true CN115968540A (zh) | 2023-04-14 |
Family
ID=71401769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080103339.8A Pending CN115968540A (zh) | 2020-06-26 | 2020-06-26 | 安全组件和操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230351057A1 (zh) |
EP (1) | EP4173225A1 (zh) |
CN (1) | CN115968540A (zh) |
WO (1) | WO2021259501A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230327864A1 (en) * | 2022-04-12 | 2023-10-12 | Huawei Technologies Co., Ltd. | Apparatuses, methods, and computer-readable media for generating and utilizing a physical unclonable function key |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9806718B2 (en) * | 2014-05-05 | 2017-10-31 | Analog Devices, Inc. | Authenticatable device with reconfigurable physical unclonable functions |
US20170132434A1 (en) * | 2015-11-06 | 2017-05-11 | Mentor Graphics Corporation | Measure variation tolerant physical unclonable function device |
US10263793B2 (en) | 2017-07-18 | 2019-04-16 | Square, Inc. | Devices with modifiable physically unclonable functions |
US20190140851A1 (en) * | 2017-11-09 | 2019-05-09 | iMQ Technology Inc. | Secure logic system with physically unclonable function |
-
2020
- 2020-06-26 CN CN202080103339.8A patent/CN115968540A/zh active Pending
- 2020-06-26 EP EP20735352.5A patent/EP4173225A1/en active Pending
- 2020-06-26 US US18/012,910 patent/US20230351057A1/en active Pending
- 2020-06-26 WO PCT/EP2020/068145 patent/WO2021259501A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
US20230351057A1 (en) | 2023-11-02 |
EP4173225A1 (en) | 2023-05-03 |
WO2021259501A1 (en) | 2021-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10872154B2 (en) | Secure device state apparatus and method and lifecycle management | |
US9887844B2 (en) | Method for safeguarding a system-on-a-chip | |
US8826405B2 (en) | Trusting an unverified code image in a computing device | |
JP4954228B2 (ja) | 安全キーの知識なしのブートローダーの安全更新 | |
US8478973B2 (en) | System and method for providing a secure application fragmentation environment | |
KR101904303B1 (ko) | 보안 소프트웨어 인증 및 검증 | |
US20160028728A1 (en) | Implementing access control by system-on-chip | |
US9755831B2 (en) | Key extraction during secure boot | |
US20070237325A1 (en) | Method and apparatus to improve security of cryptographic systems | |
US11354417B2 (en) | Enhanced secure boot | |
US9870488B1 (en) | Method and apparatus for securing programming data of a programmable device | |
US20180046805A1 (en) | Hardware-based software-resilient user privacy exploiting ephemeral data retention of volatile memory | |
CN113168474A (zh) | 固件的安全验证 | |
WO2008040377A1 (en) | Protecting secret information in a programmed electronic device | |
EP3762852A1 (en) | Integrated circuit data protection | |
US12061702B2 (en) | Identity and root keys derivation scheme for embedded devices | |
US11874928B2 (en) | Security device, electronic device, secure boot management system, method for generating boot image, and method for executing boot chain | |
US20210124818A1 (en) | Hardware-based throttling of user access | |
US20240086081A1 (en) | External memory data integrity validation | |
GB2457172A (en) | Securely downloading boot code to a locked system | |
US20230351057A1 (en) | Security component and method of operation | |
CN117813795A (zh) | 设备身份密钥 |
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 |