CN110022214B - 用于在计算机***中提供安全性的***和方法 - Google Patents
用于在计算机***中提供安全性的***和方法 Download PDFInfo
- Publication number
- CN110022214B CN110022214B CN201811569856.5A CN201811569856A CN110022214B CN 110022214 B CN110022214 B CN 110022214B CN 201811569856 A CN201811569856 A CN 201811569856A CN 110022214 B CN110022214 B CN 110022214B
- Authority
- CN
- China
- Prior art keywords
- computer system
- mode
- values
- hash value
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000006870 function Effects 0.000 claims abstract description 50
- 230000010355 oscillation Effects 0.000 claims description 20
- 238000012795 verification Methods 0.000 abstract description 12
- 230000008859 change Effects 0.000 description 26
- 238000004364 calculation method Methods 0.000 description 9
- 230000006399 behavior Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 239000000243 solution Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Classifications
-
- 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
-
- 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/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
- 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/74—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 operating in dual or compartmented mode, i.e. at least one secure mode
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation 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
-
- 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/3236—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 cryptographic hash functions
-
- 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/21—Indexing 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/2105—Dual mode as a secondary aspect
-
- 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/21—Indexing 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/2123—Dummy operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
提供了一种用于在计算机***中提供安全性的***和方法。该***包括物理不可克隆功能(PUF)装置和一个或多个逻辑电路。在计算机***启动时,该逻辑电路用相同的输入值以预设的多次调用PUF装置,以生成多个PUF值,这些PUF值是集成电路的候选标识符。该逻辑电路将散列函数应用于候选标识符,以产生相应的散列值。该逻辑电路还从非易失性存储器访问参考散列值,并使用参考散列值验证所有相应的散列值。该逻辑电路还使得计算机***能够基于验证结果以第一模式或第二模式操作。
Description
技术领域
本公开总体上涉及在计算机***中提供安全性,具体地,涉及使用对基于环形振荡器的物理不可克隆功能(PUF)的频率改变攻击的对策来在计算机***中提供安全性。
背景技术
PUF装置是一种易于评估但难以预测的装置。PUF装置必须易于制造,但实际上不可能复制,即使给出了生产其的精确制造过程。在这方面,PUF装置是(加密)单向功能的硬件模拟。PUF装置可用于生成芯片ID,该芯片ID例如用于安全装置标识,或者用作计算机***中根密钥的组件,用于信息安全。
可以用多个相同设计的环形振荡器来构建PUF装置。然而,基于环形振荡器的PUF装置可能会在侧信道上泄漏振荡器信号,并且环形振荡器的频率可能会因频率改变攻击而改变。某些类型的简单、非侵入性物理攻击可以改变PUF装置的环形振荡器或小组环形振荡器的频率。未经授权的第三方可以观察到对PUF装置的环形振荡器的攻击是否阻止计算机***正常工作。通过重复这种攻击足够次数,并通过观察计算机***的启动行为,未经授权的第三方可能能够重新创建由PUF装置生成的PUF值(例如,芯片ID),从而损害计算机***的信息安全。
保护基于环形振荡器的PUF装置免受频率改变攻击的现有解决方案包括使用物理保护,例如,金属屏蔽或内部数字或模拟滤波器。现有解决方案可用于防止侧信道上的信息泄露和信号注入攻击。然而,现有解决方案昂贵、无效、脆弱并且容易规避。
因此,希望有一种***和方法,该***和方法考虑了上述至少一些问题以及其他可能的问题。
发明内容
本公开的示例实现方式旨在使用对基于环形振荡器的PUF的频率改变攻击的对策来提供计算机***中的安全性。与现有解决方案相比,示例实现方式提供了对抗频率改变攻击的协议级别的算法对策。协议级别的算法对策可能会混淆未授权的第三方,使得未授权的第三方无法容易地观察对PUF装置的环形振荡器的攻击是否阻止计算机***正常工作。因此,未经授权的第三方不容易知道攻击是否成功。这些对策只需要改变控制软件(固件),因此不需要额外的硬件。因此,这些对策成本低廉,易于实施和评估。
因此,本公开包括但不限于以下示例实现方式。
一些示例实现方式提供了一种用于在计算机***中提供安全性的***。该方法在***中实现,所述***在集成电路中实现并且包括PUF装置,在计算机***启动时,该方法包括:用相同的输入值以预设的多次调用PUF装置,以生成多个PUF值,这些PUF值用作集成电路的候选标识符;对候选标识符应用散列函数,以产生相应的散列值;从非易失性存储器访问参考散列值,所述参考散列值来自散列函数对集成电路的接受的标识符的应用;使用参考散列值验证所有相应的散列值;并且当验证相应的散列值中的一个相应的散列值时,使计算机***能够在第一模式下操作,或者当没有相应的散列值被验证时,使计算机***能够在第二模式下操作,所述相应的散列值用于候选标识符中与接受的标识符匹配的并由此被解释为接受的标识符的候选标识符。
在任何前述示例实现方式的方法的一些示例实现方式中,或者在前述示例实现方式的任何组合中,所述PUF装置包括多个环形振荡器,并且所述PUF装置的输入值包括所述多个环形振荡器中的环形振荡器的标识符对的序列,并且其中,一个或多个逻辑电路被配置为调用PUF装置,包括对于预设的多次中的每一次,一个或多个所述逻辑电路被配置为应用相同的输入值,其中,该序列中的每一对标识符使PUF装置比较相应的一对环形振荡器的振荡频率,并输出指示哪个振荡频率更大的比特值,所述比特值是在标识符对的序列上输出的比特值的序列中的一个,所述比特值的序列是对应于输入值的多个PUF值中的一个。
在任何前述示例实现方式的方法的一些示例实现方式中,或者在前述示例实现方式的任何组合中,验证所有相应的散列值,包括对于相应的散列值中的每个散列值,将所述散列值与所述参考散列值进行比较,以确定所述散列值是否与所述参考散列值匹配,从而验证所述散列值。
在任何前述示例实现方式的方法的一些示例实现方式中,或者在前述示例实现方式的任何组合中,使得所述计算机***能够在第一模式下操作,包括使所述计算机***在第一模式下启动,其中,使所述计算机***至少:将固件和数据加载到计算机***的存储器中;使用接受的标识符对固件和数据执行数据认证;并且用密钥对固件和数据执行解密操作。
在任何前述示例实现方式的方法的一些示例实现方式中,或者在前述示例实现方式的任何组合中,使得所述计算机***能够在第二模式下操作,包括使所述计算机***在第二模式下启动,其中,使所述计算机***至少:将固件和数据加载到计算机***的存储器中;对固件和数据执行数据认证,无需接受的标识符,并忽略数据认证中的任何错误;并且用预设的无效密钥对固件和数据执行解密操作。
在任何前述示例实现方式的方法的一些示例实现方式中,或者在前述示例实现方式的任何组合中,所述接受的标识符用作计算机***的根密钥的组件。
在任何前述示例实现方式的方法的一些示例实现方式中,或者在前述示例实现方式的任何组合中,所述第一模式是正常操作模式。
在任何前述示例实现方式的方法的一些示例实现方式中,或者在前述示例实现方式的任何组合中,所述第二模式是模拟正常操作模式的假操作模式。
在任何前述示例实现方式的方法的一些示例实现方式中,或者在前述示例实现方式的任何组合中,使得所述计算机***能够在第二模式下操作,包括使所述计算机***在第二模式下启动,其中,使所述计算机***在预设延迟之后向计算机***的用户报告安全错误。
一些示例实现方式提供了一种用于在计算机***中提供安全性的上述***,该***包括一个或多个逻辑电路,该逻辑电路被配置为至少执行任何前述示例实现方式的方法或者前述示例实现方式的任何组合。
通过阅读下面的详细描述以及下面简要描述的附图,本公开的这些和其他特征、方面和优点将变得显而易见。本公开包括本公开中阐述的两个、三个、四个或更多特征或元件的任何组合,而不管这些特征或元件是在本文描述的特定示例实现方式中明确组合还是以其他方式陈述。本公开旨在整体阅读,使得在其任何方面和示例实现方式中,本公开的任何可分离的特征或元件都应该被视为可组合的,除非本公开的上下文清楚地另有规定。
因此,应当理解,提供该简要概述,仅仅是为了总结一些示例实现方式,以便提供对本公开的一些方面的基本理解。因此,应当理解,上述示例实现方式仅仅是示例,不应被解释为以任何方式缩小本公开的范围或精神。从以下结合附图的详细描述中,其他示例实现方式、方面和优点将变得显而易见,附图以示例的方式示出了一些所描述的示例实现方式的原理。
附图说明
如此概括地描述了本公开的示例实现方式,现在将参考附图,附图不一定按比例绘制,其中:
图1示出了根据本公开的示例实现方式的用于在计算机***中提供安全性的***;
图2示出了根据各种示例实现方式的PUF装置;以及
图3是示出根据各种示例实现方式的在计算机***中提供安全性的方法中的各种步骤的流程图。
具体实施方式
现在将在下文中参考附图更全面地描述本公开的一些实现方式,其中,示出了本公开的一些但不是全部实现方式。实际上,本公开的各种实现方式可以以许多不同的形式来体现,并且不应该被解释为限于在本文中阐述的实现方式;相反,提供这些示例实现方式,以便使本公开彻底和完整,并且将向本领域技术人员充分传达本公开的范围。例如,除非另有说明,否则将某物称为第一、第二等不应被解释为暗示特定顺序。此外,某些东西可以被描述为位于某些东西之上(除非另有说明),也可以相反地位于某些东西之下,反之亦然;类似地,被描述为在某些东西左边的某些东西也可能在右边,反之亦然。相同的附图标记始终表示相同的元件。
本公开的示例实现方式通常涉及在计算机***中提供安全性,尤其涉及使用对基于环形振荡器的PUF的频率改变攻击的对策,来在计算机***中提供安全性。
图1示出了根据本公开的示例实现方式的用于在计算机***110中提供安全性的***100。计算机***可以包括所示的***。例如,计算机***可以配备有***。在另一示例中,计算机***和***可以是两个单独的***。
***100可包括多个组件、单元等(通常为“组件”)中的每一个的一个或多个,其中至少一些组件可包括诸如多路复用器、寄存器、算术逻辑单元、存储器、微处理器等的逻辑电路或用这些逻辑电路来实现。***可以被设计用于多种不同应用中的任何一种,并且可以具有特定的适用性,以提供对***的频率改变攻击的对策,并且在计算机***中提供安全性。
计算机***110可以包括处理器和耦合到处理器的计算机可读存储介质或存储器,其中,处理器被配置为执行包括存储在存储器中的一个或多个计算机程序的计算机可读程序代码。还应当理解,一个或多个功能以及功能的组合可以由执行指定功能的基于专用电子硬件的***和/或处理器或者专用硬件和程序代码指令的组合来实现。
在一些示例中,如图所示,***100在集成电路120中实现。该***包括控制逻辑101和PUF(物理不可克隆功能)装置102。在计算机***110启动时,控制电路被配置为用相同的输入值以预设的多次调用PUF装置,例如,10次,以生成多个PUF(物理不可克隆功能)值,例如,多个比特值的序列。PUF值用作集成电路的候选标识符。在本公开中,集成电路的标识符有时称为“芯片ID”。
在一些示例中,PUF装置102被配置为向散列值生成器103提供候选标识符(PUF值)。散列值生成器被配置为将散列函数应用于候选标识符,以产生相应的散列值并将相应的散列值提供给验证模块104。
在一些示例中,验证模块104被配置为从安全非易失性存储器105访问参考散列值,该参考散列值不可由未经授权的第三方改变。通过将散列值生成器103中的散列函数应用于集成电路120的接受的标识符,获得参考散列值。参考散列值可以在集成电路的初始设置或校准过程中存储在非易失性存储器中。验证模块被配置为使用参考散列值来验证来自散列值生成器的所有相应的散列值。
在一些示例中,验证模块104被配置为向启用模块106提供验证结果。启用模块被配置为当验证相应的散列值的相应的散列值时,使得计算机***110能够在第一模式下操作,或者当没有相应的散列值被验证时,使计算机***能够在第二模式下操作。验证的相应的散列值用于候选标识符中与接受的标识符匹配的候选标识符,因此,验证的相应的散列值由此被解释为接受的标识符。
在一些示例中,PUF装置包括多个环形振荡器(如下面图2所示),并且PUF装置102的相同输入值包括PUF装置中的多个环形振荡器中的环形振荡器的标识符对的序列。对于预设的多次中的每一次,控制逻辑101被配置为应用相同的输入值,其中,该序列中的每一对标识符使PUF装置比较PUF装置中的相应的一对环形振荡器的振荡频率。基于该比较,PUF装置被配置为输出指示相应一对环形振荡器的哪个振荡频率更大的比特值。所述比特值是在标识符对的序列上输出的比特值的序列中的一个。所述比特值的序列是对应于相同输入值的多个PUF值中的一个。
在一些示例中,对于由散列值生成器103生成的相应的散列值中的每个散列值,验证模块104被配置为将散列值与参考散列值进行比较,以确定散列值是否与参考散列值匹配(例如,相等),从而验证散列值。
在一些示例中,当验证模块104验证相应的散列值中的一个相应的散列值时,启用模块106被配置为使计算机***110在第一模式下启动。在第一模式中,使计算机***至少将固件和数据加载到计算机***的存储器中,使用接受的标识符对固件和数据执行数据认证,并使用有效密钥对固件和数据执行解密操作,该有效密钥可能取决于芯片ID。
在一些示例中,当验证模块104没有验证相应的散列值时,启用模块106被配置为使计算机***110在第二模式下启动。在第二模式中,使计算机***将固件和数据加载到计算机***的存储器中。在第二模式中,还使计算机***对固件和数据执行数据认证,无需接受的标识符,并忽略数据认证中的任何错误。在第二模式中,还使计算机***用预设的无效密钥对固件和数据执行解密操作。这些活动与第一运行模式完全相同,尽管其结果不同。此外,可选地,在第二模式中,使计算机***在预设延迟之后向计算机***的用户报告安全错误。这些步骤可能会导致攻击成功的可能检测出现显著延迟。
图2示出了根据各种示例实现方式的PUF装置102。如图所示,在一些示例中,PUF装置包括n个设计相同的环形振荡器,例如,环形振荡器201-203。在公差内的制造变化使得n个环形振荡器略有不同,并且无法预测这些差异。n个环形振荡器的物理差异使其以不同的频率振荡。不同的频率可以随着温度和电源电压而变化,在这种情况下,需要对PUF值进行校准或校正。
在一个示例中,PUF装置102还包括两个多路复用器,例如,多路复用器204和205。这两个多路复用器中的每一个都可以从n个环形振荡器中选择一个环形振荡器。PUF装置的输入值可以包括n个环形振荡器中的环形振荡器的标识符对的序列。基于输入值,这两个多路复用器可以选择某些环形振荡器对。例如,基于输入值中的一对标识符,多路复用器204可以选择环形振荡器201,多路复用器205可以选择环形振荡器203。
在一个示例中,PUF装置102还包括两个计数器,例如,计数器206和207。每个计数器测量由多路复用器204、205选择的环形振荡器的振荡频率。例如,计数器206可以测量由多路复用器204选择的环形振荡器(例如,环形振荡器201)的振荡频率,并且计数器207可以测量由多路复用器205选择的环形振荡器(例如,环形振荡器203)的振荡频率。在一个示例中,计数器通过对预设时间段内相应环形振荡器的振荡周期进行计数来测量频率。
在一个示例中,对于每个选择的对,例如,包括环形振荡器201和203的对,在比较器208处比较由计数器206和207测量的两个环形振荡器的振荡频率。对于每个比较,PUF装置102输出比特值(例如,如果计数器206测量的环形振荡器的频率小于计数器207测量的环形振荡器的频率,则为0,否则为1)。因此,如果输入值包括n个环形振荡器中的环形振荡器的标识符对的序列,则PUF装置将执行比较序列并输出比特值的序列,所述比特值的序列构成PUF值。
注意,如果有n个环形振荡器,则有n2个可能的输入值,但只有n·(n-1)/2个有序对可供比较。然而,某些比较组的结果确定其他比较的结果,这将独立比较的次数减少到log2(n!)≈1.44·n·ln(n)。在实际***中,环形振荡器的一些频率可能太接近,而无法可靠区分,因此,为了操作的确定性和高安全性,PUF装置102中可能需要数百个环形振荡器。
在一些示例中,接受的标识符用作计算机***110的根密钥的组件。其他密钥信息通常也可以包括在根密钥生成中,例如,存储在隐藏的非易失性存储器中的密钥值。这些信息可以例如通过散列函数“混合”在一起,以产生计算机***的根密钥。接受的标识符也可以用作芯片的实际上唯一的标识符,在该芯片上实现PUF组件。这个芯片ID通常是保密的,不会损害任何相关根密钥的保密性。因此,可以对芯片ID应用单向函数,例如,加密散列函数,以获得芯片的公共ID。
PUF装置102可以用于生成候选标识符,该候选标识符被解释为接受的标识符,并且再次称为芯片ID。如上所述,该芯片ID有时可以用作计算机***110的根密钥的组件。为了进一步示出本公开的示例实现方式,以下描述提供了用于各种应用的进一步信息,其中,PUF装置用于生成芯片ID或计算机***的根密钥的组件。对于这些应用中的至少一些,可以选择一系列固定的(通常是秘密的)输入,并且级联的输出位(即,PUF值)可以形成芯片ID或根密钥的组件。芯片ID对于每个芯片或集成电路来说都是唯一的(至少具有非常高的概率)。数字指纹(加密散列值)可以从正确的芯片ID计算出来,并作为参考散列值存储在非易失性存储器105中。验证模块104可以验证所有计算的芯片ID是否正确,因为随机电路噪声或频率改变攻击可以改变计算的芯片ID。
振荡信号可以经由电磁(EM)发射通过电容或电感方式从PUF装置102中的环形振荡器泄漏。可以在电源线上或PUF装置的连接器(引脚)上测量泄漏的信号。通过分析泄露的信号,未经授权的第三方可以建立环形振荡器的预期计数器值的表格,这有助于频率改变攻击。频率改变攻击也可以在没有这种知识的情况下工作,尽管使用的时间更长。
未经授权的第三方可以获得的关于PUF装置102的主要信息是生成的PUF值是否正确。当未经授权的第三方能够改变PUF装置中的环形振荡器的一个或几个目标振荡频率,使得生成的PUF值变得不正确时,计算机***110将不会正常启动(启动)。通过观察计算机***的异常启动或启动行为,未经授权的第三方获得了有关PUF装置的比较结构的有价值的信息。当未经授权的第三方收集到足够多的这种信息时,可以推断出正确的PUF值(正确的芯片ID)。
在一个示例中,可以经由磁线圈、电源电压调制的电容板、输出引脚上的负载波动或激光脉冲来注入干扰。在另一示例中,当内部微处理器的电源电压由相同的导线馈送时,或者当其操作使基板的电势变化时,即使通过在内部微处理器上运行具有短回路的某些程序,也可注入干扰。
未经授权的第三方将干扰注入PUF装置102中的目标环形振荡器,以影响其频率。当这个特殊的环形振荡器在干扰下启动时,会锁定这个干扰。此时,未经授权的第三方逐渐将干扰信号调谐到更高或更低的频率,目标环形振荡器跟随这一频率,但其他环形振荡器不跟随。通过观察计算机***110在这种攻击下的启动行为,可以检查和映射PUF的单频比较。
在另一示例中,电源电压的快速和大幅(例如,5%)摆动使PUF装置102中的某些环形振荡器以比正常情况下明显更高或更低的频率振荡。频率变化可以是显著的,例如,频率变化超过30%。PUF装置102中的并非所有环形振荡器都同样受到快速电压摆动的影响。通过响应于电源线上的各种波纹图案测量泄漏的振荡信号,未经授权的第三方可以获得关于如何改变某些环形振荡器组的频率的信息,同时保持其他环形振荡器不受影响。未经授权的第三方也可以收集关于如何操纵环形振荡器的频率关系的信息。通过观察计算机***110的启动行为,未经授权的第三方获得关于PUF装置102执行哪些频率比较的信息。
如上所述,未经授权的第三方可以强迫PUF装置102中的某些单独的环形振荡器或环形振荡器组改变其频率。当某一个或多个环形振荡器的频率变化阻止计算机***110启动时,未经授权的第三方得知被攻击的频率(以及相应的环形振荡器)在PUF装置中用于进行比较,并且频率变化使一些比较翻转。当不同的环形振荡器受到攻击时,通过观察计算机***的启动行为,未经授权的第三方可以获得足够的信息来学习生成的PUF值,或者至少可以降低其熵,从而彻底搜索可以显示其真值。这使得可以直接攻击芯片ID和根密钥。
在一些示例中,***100提供对策来模糊计算机***110对频率改变攻击的响应。未授权的第三方可以观察到模糊的响应。在没有频率改变攻击的情况下,因为PUF计算是一个有噪声的过程,并且由于随机电路噪声或环境影响,可能偶尔会失败,所以如果生成的芯片ID不正确,则计算机***必须重试。通过频率改变攻击,PUF值的强制重新计算立即告知未授权的第三方攻击成功(至少具有高概率),以影响PUF装置102中的环形振荡器的至少一个频率比较。未经授权的第三方也可以知道受影响的频率比较实际上用于产生PUF值。
在第一级对策中,***100的控制逻辑101被配置为以预设次数(例如,k=10次)调用PUF装置102,以执行芯片ID生成过程。如果k个计算的芯片ID中的任何一个是正确的(由存储的数字指纹验证,例如,参考散列值),则计算机***110可以使用正确的芯片ID,而不显示k次(如果有的话)的哪些计算失败。在一个示例中,甚至在例如k次芯片ID计算的第一或第二芯片ID计算中已经尽早计算了正确的芯片ID值时,***的控制逻辑被配置为调用PUF装置来始终执行所有k次(例如,10次)芯片ID计算。否则,计算机***110的启动时间变化可能取决于PUF评估过程的成功和失败的序列。启动时间变化可能会向未经授权的第三方泄露可利用的信息。
在一些示例中,如果k个计算的芯片ID中的任何一个是正确的(当验证模块104验证计算的散列值时),则启用模块106被配置为使计算机***110在正常操作模式(如上所述的第一模式)下启动。在正常操作模式下,使计算机***至少:将固件和数据加载到计算机***的存储器中;使用接受的标识符对固件和数据执行数据认证;并且解密固件和数据。
频率改变攻击是不可靠的,即,只是偶尔成功。一些因素可能会影响频率改变攻击的成功。例如,电路噪声对于未经授权的第三方是不可预测的,但是可能影响PUF装置102中的环形振荡器的振荡频率。此外,时钟信号可能具有相位偏移。由于计算机***110可以通过一个正确的芯片ID正常工作,则成功的攻击必须成功攻击所有k次芯片ID计算并破坏所有k个PUF值。如果攻击必须重复k次才能破坏所有k个PUF值,几乎可以肯定的是,在所有k个PUF值中会有一个或多个正确的芯片ID计算。因此,攻击必须重复多次,以确保所有k次尝试都成功地进行了所有k次芯片ID计算。在一个示例中,如果攻击成功的时间为10%,并且k=10,则芯片ID的所有k次计算被重复攻击破坏的几率为10-10,这使得这种可能性极小。因此,第一级对策是有效的。
在另一示例中,第二级对策可以隐藏芯片ID生成是否完全失败的信息(对芯片ID计算的所有k次调用都产生了错误的PUF值)。
在一些示例中,如果芯片ID生成完全失败(当验证模块104没有验证任何计算的散列值时),则在没有正确的芯片ID或者没有正确的根密钥的情况下,计算机***110将无法工作。在这种情况下,启用模块106被配置为使计算机***在假操作模式(上述第二模式)下启动。在假操作模式下,使计算机***将固件和数据加载到计算机***的存储器中。在假操作模式下,还使计算机***在没有接受的标识符的情况下对固件和数据执行数据认证,并忽略数据认证中的任何错误。在假操作模式下,进一步使计算机***用预设的无效密钥对固件和数据执行解密操作。此外,可选地,在假操作模式下,使计算机***在假启动过程结束时,在预设延迟之后向计算机***的用户报告安全错误。在假操作模式下,计算机***可以执行所有初始化工作。假操作模式模拟正常操作模式。
第二级对策的有效性取决于假操作模式可以模拟正常操作模式的程度。由于在假操作模式下缺乏功能,或者通过简单的功率分析,或者通过时间分析,未经授权的第三方最终还是会发现差异。即,未经授权的第三方最终可以检测频率改变攻击是否成功攻击PUF装置102,使得计算机***110不能在正常操作模式下工作。因此,第二级对策可以减缓对PUF装置的攻击,但可能无法阻止所有攻击。减缓会将未经授权的第三方检测到频率改变攻击成功影响PUF装置中的一个或多个环形振荡器所使用的时间从毫秒增加到秒。PUF装置上的攻击速度下降了3个数量级。
第二级对策可以与第一级对策组合,或者可以单独使用。攻击未受保护的PUF装置,以重新创建正确的芯片ID,可能需要几周。通过使用上述第一级和第二级对策,用于重新创建正确芯片ID的频率改变攻击增加到几年。到那时,受保护的信息可能对未经授权的第三方变得无关紧要或毫无价值。注意,每个芯片中的环形振荡器是不同的,所以如果成功攻击一个芯片(经过多年的尝试),则丢失的密钥信息不能用于更快地攻击其他芯片。此外,随机制造的变化使得环形振荡器以及PUF装置在每个部署的计算机***中都不同。因此,同时攻击许多计算机***,无助于未经授权的第三方。需要很长时间来成功攻击一个计算机***,从成功攻击的计算机***中获得的信息无助于攻击其他计算机***。
图3是示出根据各种示例实现方式的在计算机***110中提供安全性的方法300中的各种步骤的流程图。该方法由***100实现。该***在集成电路120中实现,并且包括PUF装置102,PUF装置102包括多个环形振荡器,例如,环形振荡器201-203。在计算机***启动时,在方框301,该方法包括用相同的输入值以预设的多次调用PUF装置,以生成多个PUF值。PUF值用作集成电路的候选标识符。在方框302,该方法包括对候选标识符应用散列函数,以产生相应的散列值。在方框303,该方法包括从非易失性存储器105访问参考散列值。参考散列值来自散列函数对集成电路的接受的标识符的应用。在方框304,该方法包括使用参考散列值验证所有相应的散列值。在方框305,该方法包括当验证相应的散列值中的一个相应的散列值时,使计算机***能够在第一模式下操作,或者当没有相应的散列值被验证时,使计算机***能够在第二模式下操作。验证的相应的散列值用于候选标识符中与接受的标识符匹配的并由此被解释为接受的标识符的候选标识符。
该部分描述了本公开的***和方法的额外方面和特征,这些方面和特征不限于作为一系列段落呈现,为了清楚和高效,其中的一些或全部段落可以字母数字表示。
A1.一种用于在计算机***中提供安全性的***,所述***在集成电路中实现并且包括物理不可克隆功能(PUF)装置和一个或多个逻辑电路,在计算机***启动时,所述逻辑电路被配置为至少:用相同的输入值以预设的多次调用PUF装置,以生成多个PUF值,这些PUF值用作集成电路的候选标识符;对候选标识符应用散列函数,以产生相应的散列值;从非易失性存储器访问参考散列值,所述参考散列值来自散列函数对集成电路的接受的标识符的应用;使用参考散列值验证所有相应的散列值;并且当验证相应的散列值中的一个相应的散列值时,使计算机***能够在第一模式下操作,或者当没有相应的散列值被验证时,使计算机***能够在第二模式下操作,所述相应的散列值用于候选标识符中与接受的标识符匹配的并由此被解释为接受的标识符的候选标识符。
A2.根据段落A1的***,其中,所述PUF装置包括多个环形振荡器,并且所述PUF装置的输入值包括所述多个环形振荡器中的环形振荡器的标识符对的序列,并且其中,一个或多个逻辑电路被配置为调用PUF装置,包括对于预设的多次中的每一次,一个或多个所述逻辑电路被配置为应用相同的输入值,其中,该序列中的每一对标识符使PUF装置比较相应的一对环形振荡器的振荡频率,并输出指示哪个振荡频率更大的比特值,所述比特值是在标识符对的序列上输出的比特值的序列中的一个,所述比特值的序列是对应于输入值的多个PUF值中的一个。
A3.根据段落A1所述的***,其中,一个或多个所述逻辑电路被配置为验证所有相应的散列值,包括对于相应的散列值中的每个散列值,一个或多个所述逻辑电路被配置为将所述散列值与所述参考散列值进行比较,以确定所述散列值是否与所述参考散列值匹配,从而验证所述散列值。
A4.根据段落A1所述的***,其中,一个或多个所述逻辑电路被配置为使得所述计算机***能够在第一模式下操作,包括被配置为使所述计算机***在第一模式下启动,其中,使所述计算机***至少:将固件和数据加载到计算机***的存储器中;使用接受的标识符对固件和数据执行数据认证;并且用密钥对固件和数据执行解密操作。
A5.根据段落A4所述的***,其中,一个或多个所述逻辑电路被配置为使得所述计算机***能够在第二模式下操作,包括被配置为使所述计算机***在第二模式下启动,其中,使所述计算机***至少:将固件和数据加载到计算机***的存储器中;对固件和数据执行数据认证,无需接受的标识符,并忽略数据认证中的任何错误;并且用预设的无效密钥对固件和数据执行解密操作。
A6.根据段落A1所述的***,其中,所述接受的标识符用作计算机***的根密钥的组件。
A7.根据段落A1所述的***,其中,所述第一模式是正常操作模式。
A8.根据段落A7所述的***,其中,所述第二模式是模拟正常操作模式的假操作模式。
A9.根据段落A5所述的***,其中,一个或多个所述逻辑电路被配置为使得所述计算机***能够在第二模式下操作,包括被配置为使所述计算机***在第二模式下启动,其中,使所述计算机***在预设延迟之后向计算机***的用户报告安全错误。
B10.一种由用于在计算机***中提供安全性的根据A1-A9中任一项所述的***实现的方法,所述***在集成电路中实现并且包括物理不可克隆功能(PUF)装置,在计算机***启动时:用相同的输入值以预设的多次调用PUF装置,以生成多个PUF值,这些PUF值用作集成电路的候选标识符;对候选标识符应用散列函数,以产生相应的散列值;从非易失性存储器访问参考散列值,所述参考散列值来自散列函数对集成电路的接受的标识符的应用;使用参考散列值验证所有相应的散列值;并且当验证相应的散列值中的一个相应的散列值时,使计算机***能够在第一模式下操作,或者当没有相应的散列值被验证时,使计算机***能够在第二模式下操作,所述相应的散列值用于候选标识符中与接受的标识符匹配的并由此被解释为接受的标识符的候选标识符。
B11.根据段落B10所述的方法,其中,所述PUF装置包括多个环形振荡器,并且所述PUF装置的输入值包括所述多个环形振荡器中的环形振荡器的标识符对的序列,并且
其中,调用PUF装置,包括对于预设的多次中的每一次,应用相同的输入值,其中,该序列中的每一对标识符使PUF装置比较相应的一对环形振荡器的振荡频率,并输出指示哪个振荡频率更大的比特值,所述比特值是在标识符对的序列上输出的比特值的序列中的一个,所述比特值的序列是对应于输入值的多个PUF值中的一个。
B12.根据段落B10所述的方法,其中,验证所有相应的散列值,包括对于相应的散列值中的每个散列值,将所述散列值与所述参考散列值进行比较,以确定所述散列值是否与所述参考散列值匹配,从而验证所述散列值。
B13.根据段落B10所述的方法,其中,使得所述计算机***能够在第一模式下操作,包括使所述计算机***在第一模式下启动,其中,使所述计算机***至少:将固件和数据加载到计算机***的存储器中;使用接受的标识符对固件和数据执行数据认证;并且用密钥对固件和数据执行解密操作。
B14.根据段落B13所述的方法,其中,使得所述计算机***能够在第二模式下操作,包括使所述计算机***在第二模式下启动,其中,使所述计算机***至少:将固件和数据加载到计算机***的存储器中;对固件和数据执行数据认证,无需接受的标识符,并忽略数据认证中的任何错误;并且用预设的无效密钥对固件和数据执行解密操作。
B15.根据段落B10所述的方法,其中,所述接受的标识符用作计算机***的根密钥的组件。
B16.根据段落B10所述的方法,其中,所述第一模式是正常操作模式。
B17.根据段落B16所述的方法,其中,所述第二模式是模拟正常操作模式的假操作模式。
B18.根据段落14所述的方法,其中,使得所述计算机***能够在第二模式下操作,包括使所述计算机***在第二模式下启动,其中,使所述计算机***在预设延迟之后向计算机***的用户报告安全错误。
受益于前述描述和相关附图中给出的教导,本公开所属领域的技术人员将会想到在本文中阐述的本公开的许多修改和其他实现方式。因此,应当理解,本公开不限于所公开的具体实现方式,并且修改和其他实现方式旨在包括在所附权利要求的范围内。此外,尽管前面的描述和相关联的附图在元件和/或功能的某些示例组合的上下文中描述了示例实现方式,但是应当理解,在不脱离所附权利要求的范围的情况下,可以通过替代实现方式来提供元件和/或功能的不同组合。在这点上,例如,也可以预期与上面明确描述的元件和/或功能不同的元件和/或功能的组合,如在一些所附权利要求中所阐述的。尽管在本文中使用了特定术语,但是这些术语仅在一般和描述性的意义上使用,而不是出于限制的目的。
Claims (11)
1.一种用于在计算机***中提供安全性的***,所述***在集成电路中实现并且包括物理不可克隆功能装置和一个或多个逻辑电路,在所述计算机***启动时,所述逻辑电路被配置为至少:
用相同的输入值以预设的次数多次调用所述物理不可克隆功能装置,以生成多个物理不可克隆功能值,所述物理不可克隆功能值用作所述集成电路的候选标识符;
对所述候选标识符应用散列函数,以产生相应的散列值;
从非易失性存储器访问参考散列值,所述参考散列值来自散列函数对所述集成电路的接受的标识符的应用,其中,所述接受的标识符用作所述计算机***的根密钥的组件;
使用所述参考散列值验证所有相应的散列值;并且
当验证相应的散列值中的一个相应的散列值时,使所述计算机***能够在第一模式下操作,或者当没有相应的散列值被验证时,使所述计算机***能够在第二模式下操作,所述相应的散列值用于所述候选标识符中的因为与所述接受的标识符匹配而由此被解释为所述接受的标识符的候选标识符,其中,所述第一模式是正常操作模式,并且,所述第二模式是模拟正常操作模式的假操作模式。
2.根据权利要求1所述的***,其中,所述物理不可克隆功能装置包括多个环形振荡器,并且所述物理不可克隆功能装置的输入值包括多个所述环形振荡器中的环形振荡器的标识符对的序列,并且
其中,一个或多个所述逻辑电路被配置为调用物理不可克隆功能装置,包括对于预设的多次中的每一次,一个或多个所述逻辑电路被配置为应用相同的输入值,其中,所述序列中的每一对标识符使所述物理不可克隆功能装置比较相应的一对所述环形振荡器的振荡频率,并输出比特值指示所述振荡频率之间的大小关系,所述比特值是在标识符对的所述序列上输出的比特值的序列中的一个,所述比特值的序列是对应于所述输入值的多个物理不可克隆功能值中的一个。
3.根据权利要求1所述的***,其中,一个或多个所述逻辑电路被配置为验证所有相应的散列值,包括对于相应的散列值中的每个散列值,一个或多个所述逻辑电路被配置为将所述散列值与所述参考散列值进行比较,以确定所述散列值是否与所述参考散列值匹配,从而验证所述散列值。
4.根据权利要求1所述的***,其中,一个或多个所述逻辑电路被配置为使得所述计算机***能够在第一模式下操作,包括被配置为使所述计算机***在所述第一模式下启动,其中,使所述计算机***至少:
将固件和数据加载到所述计算机***的存储器中;
使用所述接受的标识符对所述固件和数据执行数据认证;并且
用密钥对所述固件和数据执行解密操作。
5.根据权利要求4所述的***,其中,一个或多个所述逻辑电路被配置为使得所述计算机***能够在第二模式下操作,包括被配置为使所述计算机***在所述第二模式下启动,其中,使所述计算机***至少:
将所述固件和数据加载到所述计算机***的所述存储器中;
对所述固件和数据执行所述数据认证,无需所述接受的标识符,并忽略所述数据认证中的任何错误;并且
用预设的无效密钥对所述固件和数据执行所述解密操作。
6.根据权利要求5所述的***,其中,一个或多个所述逻辑电路被配置为使得所述计算机***能够在所述第二模式下操作,包括被配置为使所述计算机***在所述第二模式下启动,其中,使所述计算机***在预设延迟之后向所述计算机***的用户报告安全错误。
7.一种用于在计算机***中提供安全性的方法,由根据权利要求1至6中任一项所述的***实现,所述***在集成电路中实现并且包括物理不可克隆功能装置,在所述计算机***启动时:
用相同的输入值以预设的次数多次调用所述物理不可克隆功能装置,以生成多个物理不可克隆功能值,所述物理不可克隆功能值用作所述集成电路的候选标识符;
对所述候选标识符应用散列函数,以产生相应的散列值;
从非易失性存储器访问参考散列值,所述参考散列值来自所述散列函数对所述集成电路的接受的标识符的应用,其中,所述接受的标识符用作所述计算机***的根密钥的组件;
使用所述参考散列值验证所有相应的散列值;并且
当验证相应的散列值中的一个相应的散列值时,使所述计算机***能够在第一模式下操作,或者当没有相应的散列值被验证时,使所述计算机***能够在第二模式下操作,所述相应的散列值用于所述候选标识符中的因为与所述接受的标识符匹配而由此被解释为所述接受的标识符的候选标识符,其中,所述第一模式是正常操作模式,并且,所述第二模式是模拟正常操作模式的假操作模式。
8.根据权利要求7所述的方法,其中,所述物理不可克隆功能装置包括多个环形振荡器,并且所述物理不可克隆功能装置的输入值包括多个所述环形振荡器中的环形振荡器的标识符对的序列,并且
其中,调用所述物理不可克隆功能装置,包括对于预设的多次中的每一次,应用相同的输入值,其中,所述序列中的每一对标识符使所述物理不可克隆功能装置比较相应的一对所述环形振荡器的振荡频率,并输出比特值指示所述振荡频率之间的大小关系,所述比特值是在标识符对的所述序列上输出的比特值的序列中的一个,所述比特值的序列是对应于所述输入值的多个物理不可克隆功能值中的一个。
9.根据权利要求7所述的方法,其中,验证所有相应的散列值,包括对于相应的散列值中的每个散列值,将所述散列值与所述参考散列值进行比较,以确定所述散列值是否与所述参考散列值匹配,从而验证所述散列值。
10.根据权利要求7所述的方法,其中,使得所述计算机***能够在第一模式下操作,包括使所述计算机***在所述第一模式下启动,其中,使所述计算机***至少:
将固件和数据加载到所述计算机***的存储器中;
使用所述接受的标识符对所述固件和数据执行数据认证;并且
用密钥对所述固件和数据执行解密操作。
11.根据权利要求10所述的方法,其中,使得所述计算机***能够在第二模式下操作,包括使所述计算机***在所述第二模式下启动,其中,使所述计算机***至少:
将所述固件和数据加载到所述计算机***的所述存储器中;
对所述固件和数据执行所述数据认证,无需所述接受的标识符,并忽略所述数据认证中的任何错误;并且
用预设的无效密钥对所述固件和数据执行所述解密操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/853,181 US10915635B2 (en) | 2017-12-22 | 2017-12-22 | Countermeasures to frequency alteration attacks on ring oscillator based physical unclonable functions |
US15/853,181 | 2017-12-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110022214A CN110022214A (zh) | 2019-07-16 |
CN110022214B true CN110022214B (zh) | 2023-10-27 |
Family
ID=65003101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811569856.5A Active CN110022214B (zh) | 2017-12-22 | 2018-12-21 | 用于在计算机***中提供安全性的***和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10915635B2 (zh) |
EP (1) | EP3503466B1 (zh) |
JP (1) | JP7222697B2 (zh) |
CN (1) | CN110022214B (zh) |
Families Citing this family (8)
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 |
US10256974B1 (en) | 2018-04-25 | 2019-04-09 | Blockchain Asics Llc | Cryptographic ASIC for key hierarchy enforcement |
US10778451B2 (en) * | 2018-07-30 | 2020-09-15 | United States Of America As Represented By The Secretary Of The Navy | Device and method for hardware timestamping with inherent security |
US11487872B2 (en) * | 2018-12-07 | 2022-11-01 | Hewlett Packard Enterprise Development Lp | Detection of hardware security attacks |
US11442492B2 (en) * | 2019-03-04 | 2022-09-13 | Intel Corporation | Clock glitch mitigation apparatus and method |
US11269999B2 (en) * | 2019-07-01 | 2022-03-08 | At&T Intellectual Property I, L.P. | Protecting computing devices from malicious tampering |
US20210258173A1 (en) * | 2020-02-18 | 2021-08-19 | International Business Machines Corporation | Gain cell memory based physically unclonable function |
CN114614987B (zh) * | 2020-12-03 | 2023-07-07 | 北京京东方技术开发有限公司 | 一种集成电路及其数字指纹生成电路、方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104782076A (zh) * | 2012-10-19 | 2015-07-15 | 西门子公司 | 使用puf用于检验认证、尤其是用于防止对ic或控制设备的功能的未获得授权的访问 |
CN105474167A (zh) * | 2013-08-23 | 2016-04-06 | 高通股份有限公司 | 将基于电路延迟的物理不可克隆功能(puf)应用于基于存储器的puf的掩蔽操作以抵抗入侵及克隆攻击 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007116368A1 (en) | 2006-04-11 | 2007-10-18 | Koninklijke Philips Electronics N.V. | Noisy low-power puf authentication without database |
EP2081170A1 (en) | 2006-11-06 | 2009-07-22 | Panasonic Corporation | Information security apparatus |
KR101727130B1 (ko) * | 2010-01-20 | 2017-04-14 | 인트린직 아이디 비브이 | 암호화 키를 획득하기 위한 디바이스 및 방법 |
EP2579499A1 (en) | 2010-06-07 | 2013-04-10 | Mitsubishi Electric Corporation | Signal processing system |
US20120183135A1 (en) * | 2011-01-19 | 2012-07-19 | Verayo, Inc. | Reliable puf value generation by pattern matching |
KR101514166B1 (ko) | 2011-06-02 | 2015-04-21 | 미쓰비시덴키 가부시키가이샤 | 키 정보 생성 장치 및 키 정보 생성 방법 |
US8750502B2 (en) * | 2012-03-22 | 2014-06-10 | Purdue Research Foundation | System on chip and method for cryptography using a physically unclonable function |
US10958435B2 (en) * | 2015-12-21 | 2021-03-23 | Electro Industries/ Gauge Tech | Providing security in an intelligent electronic device |
JP6882678B2 (ja) * | 2017-06-30 | 2021-06-02 | 富士通株式会社 | 衝突検出システムおよび衝突検出方法 |
-
2017
- 2017-12-22 US US15/853,181 patent/US10915635B2/en active Active
-
2018
- 2018-12-18 EP EP18213294.4A patent/EP3503466B1/en active Active
- 2018-12-21 CN CN201811569856.5A patent/CN110022214B/zh active Active
- 2018-12-25 JP JP2018240550A patent/JP7222697B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104782076A (zh) * | 2012-10-19 | 2015-07-15 | 西门子公司 | 使用puf用于检验认证、尤其是用于防止对ic或控制设备的功能的未获得授权的访问 |
CN105474167A (zh) * | 2013-08-23 | 2016-04-06 | 高通股份有限公司 | 将基于电路延迟的物理不可克隆功能(puf)应用于基于存储器的puf的掩蔽操作以抵抗入侵及克隆攻击 |
Also Published As
Publication number | Publication date |
---|---|
US10915635B2 (en) | 2021-02-09 |
US20190384915A1 (en) | 2019-12-19 |
EP3503466B1 (en) | 2021-09-22 |
EP3503466A1 (en) | 2019-06-26 |
JP7222697B2 (ja) | 2023-02-15 |
JP2019146158A (ja) | 2019-08-29 |
CN110022214A (zh) | 2019-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110022214B (zh) | 用于在计算机***中提供安全性的***和方法 | |
US9953166B2 (en) | Method for securely booting target processor in target system using a secure root of trust to verify a returned message authentication code recreated by the target processor | |
US8533492B2 (en) | Electronic device, key generation program, recording medium, and key generation method | |
US10491401B2 (en) | Verification of code signature with flexible constraints | |
US20160055331A1 (en) | Detecting exploits against software applications | |
Cui et al. | A new PUF based lock and key solution for secure in-field testing of cryptographic chips | |
US11243744B2 (en) | Method for performing a trustworthiness test on a random number generator | |
Tomashevich et al. | Protecting cryptographic hardware against malicious attacks by nonlinear robust codes | |
Kazemi et al. | Hardware security vulnerability assessment to identify the potential risks in a critical embedded application | |
US11574046B2 (en) | Protecting a software program against tampering | |
Gravellier et al. | Faultline: Software-based fault injection on memory transfers | |
Schink et al. | Security and trust in open source security tokens | |
Geimer et al. | A systematic evaluation of automated tools for side-channel vulnerabilities detection in cryptographic libraries | |
Nguyen et al. | A secure scan controller for protecting logic locking | |
EP3987423B1 (en) | Undefined lifecycle state identifier for managing security of an integrated circuit device | |
Woo et al. | A secure scan architecture protecting scan test and scan dump using skew-based lock and key | |
US11748481B1 (en) | Verifying the integrity of a computing platform | |
Mohammad et al. | Required policies and properties of the security engine of an SoC | |
Alanwar et al. | Dynamic fpga detection and protection of hardware trojan: A comparative analysis | |
CN107637009B (zh) | 一种用于保护处理器对程序的执行的方法、装置和存储介质 | |
CN113228012A (zh) | 用于鉴别fpga配置的方法和设备 | |
US20200401690A1 (en) | Techniques for authenticating and sanitizing semiconductor devices | |
US20240020422A1 (en) | Process and circuit for verifying the integrity of a software application | |
Backlund et al. | Secret Key Recovery Attack on Masked | |
Pomeranz et al. | Reduced Fault Coverage as a Target for Design Scaffolding Security |
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 |