CN110366838A - 包括物理不可克隆电路的随机数生成器 - Google Patents
包括物理不可克隆电路的随机数生成器 Download PDFInfo
- Publication number
- CN110366838A CN110366838A CN201880014743.0A CN201880014743A CN110366838A CN 110366838 A CN110366838 A CN 110366838A CN 201880014743 A CN201880014743 A CN 201880014743A CN 110366838 A CN110366838 A CN 110366838A
- Authority
- CN
- China
- Prior art keywords
- circuit
- random number
- physics
- number generator
- unclonable
- 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.)
- Granted
Links
- 230000008878 coupling Effects 0.000 claims abstract description 5
- 238000010168 coupling process Methods 0.000 claims abstract description 5
- 238000005859 coupling reaction Methods 0.000 claims abstract description 5
- 230000008859 change Effects 0.000 claims description 14
- 230000015654 memory Effects 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 8
- 238000005070 sampling Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 230000005611 electricity Effects 0.000 claims description 4
- 239000004065 semiconductor Substances 0.000 description 12
- 238000004519 manufacturing process Methods 0.000 description 11
- 238000000034 method Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 3
- 230000006866 deterioration Effects 0.000 description 3
- 238000005096 rolling process Methods 0.000 description 3
- 206010044565 Tremor Diseases 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000013078 crystal Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000002019 doping agent Substances 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- 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/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]
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Logic Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
- Storage Device Security (AREA)
Abstract
描述了一种装置。该装置包括多个物理不可克隆电路。该装置包括用于检测物理不可克隆电路中哪些电路不稳定的电路。该装置还包括用于将不稳定的物理不可克隆电路与随机数生成器电路耦合的电路。
Description
优先权要求
本申请根据35 U.S.C§365(c)要求2017年4月5日提交的题为“RANDOM NUMBERGENERATOR THAT INCLUDES PHYSICALLY UNCLONABLE”的美国申请No.15/479,424的优先权,其全部内容通过引用并入本文。
技术领域
本发明的领域总体涉及半导体技术,更具体地说,涉及包括物理不可克隆电路的随机数生成器。
背景技术
生成随机信息的能力对于例如加密和其他安全应用而言是重要特征。这里,生成的信息越完美或真正随机,加密或其他安全任务就可以实现得越好。因此,工程师积极地开发能够生成高度随机信息的电路。
附图说明
通过结合以下附图的以下详细描述,可以更好地理解本发明,其中:
图1示出了PUF电路的实施例;
图2示出了检测电路劣化的电路的实施例;
图3示出了PUF电路的另一实施例,该PUF电路包括用于确定PUF电路是否不稳定的电路;
图4示出了变化检测电路;
图5示出了随机数生成器核心电路;
图6示出了随机数生成器电路;
图7示出了计算系统。
具体实施方式
电路通常被设计为对制造公差(尽可能切实可行地)不敏感。然而,可以设计一类对制造公差故意敏感的电路(所谓的“物理不可克隆电路”或PUF)。例如,在半导体芯片上实现的电路可以被设计为具有可测量或可确定的对组成晶体管的阈值和/或增益高度敏感的特性。
在对某些参数具有显著敏感性的情况下,并且在底层制造工艺关于这些相同的参数具有固有变化的情况下,即使在同一半导体芯片上制造,电路的相同设计的实例也会表现出不同的特性。图1示出了PUF电路100的示例,该PUF电路100如果实现在半导体芯片上,则将具有对其组成晶体管的阈值和增益敏感的特性。
如图1所示,PUF电路100包括一对反相器101、102,两个反相器各自的输出耦合到另一反相器相应的输入。本领域技术人员将认识到,交叉耦合的反相器101、102实现了本身是固有稳定的锁存电路(在第一反相器的输入处的0在第二反相器的输入处提供1,第二反相器的输入处的1重新强制施加在第一反相器处的0)。这里,当晶体管Q1和Q2都截止时(这发生在控制节点103被设定为逻辑0时),电路100根据此稳定模式操作。
然而,当控制节点103转变到逻辑1时,电路100尝试开启晶体管Q1和Q2两者,这最初使电路处于不稳定状态。如果反相器101、102中的不同晶体管、晶体管Q1和Q2和/或它们之间的互连电阻之中存在足够的制造变化,则不稳定状态将很快返回到稳定状态。也就是说,虽然所设计的电路100是对称的或平衡的,但是由于制造公差,它实际上可能如实际制造的那样不是对称的或平衡的。如果电路100是充分不平衡的,则在晶体管Q1和Q2开启后不久,电路将自然地“锁定(snap)”到由不平衡引起的稳定状态。
例如,如果晶体管Q1和Q2具有不同的响应时间,则当控制信号103解除预充电时,连接到较快预充电晶体管的锁存节点104/105比其他节点更早地开始放电,并且最终将具有较高的概率稳定到“零”。保持在节点105处的值最终被锁存到触发器106中,触发器106本质上存储节点105锁定到两种可能状态中的具体哪一种状态。
然而,即使晶体管Q1和Q2是同样制造的,如果存在与反相器101、102本身关联的足够的制造差异,电路100也仍然会锁定到稳定状态。如本领域中已知的,晶体管增益变化和/或晶体管阈值电压变化会影响反相器将使接收反相器翻转其输出比特的时间。具体来说,较低的驱动反相器增益和较高的接收反相器阈值将使接收反相器在时间上更晚地翻转其输出比特。相比之下,较高的驱动反相器增益和较低的接收反相器阈值将使接收反相器在时间上更早地翻转其输出比特。为简单起见,只提到了晶体管增益和阈值。但是,如上文所述,其他与制造相关的特性均会影响反相器环路的定时(例如,互连电阻、接触电阻、晶体管尺寸的变化、随机掺杂波动等)。
这里,即使当控制节点转变到逻辑1时,两个锁存节点104、105都被同时上拉到逻辑1(因为晶体管Q1和Q2相同),锁存节点104、105中的一个锁存节点也将在锁存节点104、105中的另一个锁存节点之前开始被驱动到逻辑0(同样,这归因于反相器101、102内的晶体管的制造差异)。一旦锁存节点104、105中的一个锁存节点在锁存节点104、105中的另一个锁存节点之前开始被驱动到逻辑0,电路100就将快速锁定到稳定状态,该状态将首先被驱动到逻辑0的锁存节点保持到逻辑0并将另一个锁存节点保持到逻辑1。同样,节点105锁定到的任何一个值都被存储在触发器106中。
图2示出了具有电路(例如,上面刚刚描述的PUF电路)的N个实例201_1至201_N的电路,该PUF电路根据制造变化的特定组合将其自己设定为1或0。在实施例中,电路201_1至201_N集成在同一半导体芯片上(而在其他实施例中,电路可以集成在同一印刷电路板上)。为方便起见,作为示例主要指代半导体管芯。
在例如对于PUF电路201_1至201_N中的每个PUF电路使用上述图1的PUF电路100的实施例中,在所制造的半导体管芯的最终产品测试期间,控制节点103转变到1,使N个电路中的每个电路锁定到它们各自的稳定比特值,然后该值被存储在每个电路各自的触发器202_1至202_N中。触发器202_1至202_N中所保持的各稳定比特值中的每一个可以被组合,以形成例如用于半导体芯片的安全ID或密钥,该安全ID或密钥用于通过集成在半导体芯片上的安全电路205执行各种安全功能(例如,加密/解密)。通常防止ID/密钥离开芯片或与芯片一起实现的安全系统。安全电路205可以依赖于存储在非易失性存储器203中的ECC帮助数据,以例如校正密钥/ID中可能随时间演变的比特错误。ECC帮助数据也不被开放,或者不能泄漏关于由PUF电路201_1至201_N提供的密钥/ID的信息。
如本领域中已知的,随着时间流逝和使用,电子电路将劣化,以至于其至少一个与制造相关的特性将变化。结果,N个PUF电路201_1至201_N可能在他们的行为上开始显示变化。因此,相应的N位签名可能随时间而变化。在与严重劣化问题对应的可靠性问题或制造缺陷的情况下,签名将改变某个显著量,这随后可以被标记为警告电子芯片或电路板有即将发生故障倾向的早期检测。因此,在发生更严重的致命硬故障之前,可以采取校正措施。
上面关于图1和图2的讨论假设PUF电路201_1至201_N中的每个PUF电路将锁定到稳定值。然而,可能存在以下情况:所制造的PUF电路是对称或平衡的,使得当控制节点转变到逻辑1时,PUF电路不会锁定到稳定状态。例如,如果晶体管Q1和Q2是同样制造的,并且两个反相器是同样制造的,则上述使PUF电路锁定到稳定状态的机制可能不会出现。因此,PUF电路不会立即锁定到稳定状态,而是保持在不稳定状态达延长的时间段,和/或,PUF电路将基于当时的条件(例如,热噪声、电压降、与其他电路的耦合等)锁定一状态。因此,在多次评估时,PUF电路很有可能将得到不同的状态。
鉴于认识到,触发器106被设计成在控制值被设定为逻辑1之后的一短时间处(例如,在控制节点103转变到逻辑1之后的一短时间处,控制节点103转变回逻辑0时)捕获节点105的值,触发器106将锁存1或0,因为PUF电路100在触发器106锁存其输入值之前并没有锁定到稳定状态。
以这种方式表现(并非一贯地得到一个状态)的电路是不稳定的。在实施例中,参照图2,识别出不稳定的PUF电路,并且从它们各自的触发器读取的它们对应的锁存比特理想上不用于电路的用来检测芯片劣化问题的签名码。因此,实际使用的签名字小于N比特。这里,来自不稳定的PUF电路的比特被标记为“暗比特”。暗比特掩码向量(以下简称“暗比特掩码”)可以存储在例如非易失性存储器(例如,非易失性存储器203)中,暗比特掩码向量识别来自N个PUF电路的N个比特中的哪些比特源自不稳定的PUF电路。每当正在确定用于电路的签名密钥/ID时,使用暗比特掩码来忽略从不稳定的PUF电路生成的比特。
图3示出了PUF电路300,其具有内置的电路307、308,用于测试PUF电路300是否不稳定。这里,如图3所示,耦合计数器电路307以接收触发器306的输出。代替只采集一个样本(即,如上面关于图1所述的,每次读取PUF电路100时将控制值103转变为值1一次),改为采集电路300的多个样本,并且将触发器306的输出馈送到计数器电路307。
这里,当评估输入312为逻辑高时,通过使用时钟信号(CLK)驱动控制节点303来采集多个样本。每次时钟转变到逻辑高时,电路300将重新尝试锁定到稳定值。在每次采样(即,向逻辑1的每次时钟转变)时,由触发器306锁存的值被提供给计数器电路307。如果触发器306的Q输出是逻辑高,则作为响应,计数器电路307将递增其计数值。
在多次这种采样(例如,15次)之后,比较电路308将计数器307中的值与最大可能计数器值(其从计数器的位宽来确定)进行比较。如果计数器307中的值大于最大可能计数器值的一半,则PUF电路输出被视为1。否则,PUF电路输出将被视为0。本领域技术人员将认识到,以这种方式使用计数器307输出和比较电路308对应于当前的大多数投票技术,该技术减少了PUF电路签名中的稀疏误差。
暂时返回参照图2,注意到,PUF电路201_1至201_N各自的触发器202_1至202_N(每个对应于触发器306)实际上馈给相应的计数器307和比较逻辑电路308,后者提供PUF电路输出。返回参照图3,变化检测电路309记录由比较电路308确定的PUF电路300的签名。
然后再次采集第二轮(例如,15个)样本,这在计数器307中可能产生不同的值。对于不稳定的电路,比较电路308的输出在两组样本之间可能是不同的(即,PUF电路300在两组样本上生成了两个不同的签名)。变化检测电路309将存储的(之前的)签名与来自比较电路308的当前输出进行比较。如果两者不同,则PUF电路300被视为不稳定。在另外的实施例中,采集了多组(例如,15个)样本,并且如果PUF电路在任何两个连续样本上生成不同的签名,则PUF电路被视为不稳定(即,被识别为“暗”)。
图4示出了图3的变化检测电路309的一个实施例409。输出404指示PUF电路是否不稳定。如果评估控制信号313、412是逻辑高,则使能输出。触发器Q输入401耦合到图3的比较电路308的输出。对于每组新的样本,PUF电路从比较电路308的输出生成下一个PUF签名(其与从前一组样本生成的PUF签名可以是相同的或不同的)。比较电路308的输出被引导到输入401,并锁存到第一触发器401中。同样对于每组新的样本,先前的PUF电路签名从触发器401锁存到触发器402中。因此,触发器401保持新的PUF电路签名,而触发器402保持前一个PUF电路签名。如果两个值不同,则XOR门403提供高值,该高值从输出404传播出,以指示PUF电路不稳定。
如果PUF电路被识别为暗,则PUF电路的身份被记录在暗比特掩码中,使得例如PUF电路不能用于芯片ID/密钥目的。然而,在实施例中,该PUF电路和在暗比特掩码上被识别的一些/所有其他不稳定的PUF电路改为被用作随机数生成器的核心源。
图5示出了基本随机数生成器核心电路500,该电路使用由暗比特掩码识别的不稳定的PUF单元作为随机信息的源。这里,图5的核心电路500示出了多路复用器501,其输入通道耦合到在例如半导体电路上已实例化的每个PUF电路(“单元”)。在各种实施例中,一些与多路复用器501耦合的PUF电路是稳定的,并且因此用于芯片识别(例如,如图2的电路)或一些其他用途。也就是说,根据各种实施例,在半导体芯片上实现的多个PUF电路的各自输出例如不仅耦合到芯片识别电路(如图2),而且耦合到随机数生成器电路500(如图5)。被视为稳定的PUF电路的输出去往芯片识别电路,而被视为不稳定的PUF电路的输出由随机数生成器电路500使用。
在图5的核心电路500中,来自暗比特掩码的信息用于控制多路复用器501的通道选择输入,这继而使得仅不稳定的PUF电路的输出值被多路复用器501选中。在实施例中,暗比特掩码通过例如按顺序、随机地或伪随机地进行滚动,以选择一系列不稳定的PUF电路的相应输出值。这里,时钟值同时被馈送到与暗比特掩码上的PUF电路身份的滚动相称的不稳定PUF电路。
例如,假设暗比特掩码顺序滚动(例如,从“顶部”到“底部”)的实施例,最初,不稳定的PUF电路被馈送时钟脉冲,以使它们锁定到它们各自锁定到的状态。然后,暗比特掩码从顶部滚动到底部,使得每个不稳定的PUF电路被采样一次,并由多路复用器501选中。在完全滚动暗比特掩码(到达底部)之后,重复该过程。也就是说,不稳定的PUF电路被馈送另一个时钟脉冲,所以它们可以各自锁定到它们锁定到的状态,并且暗比特掩码再次滚动(例如,从底部到顶部或再次从顶部到底部)。注意到,在每个时钟脉冲下,该组不稳定的PUF电路的输出状态应当持续且随机变化。
关于图5的核心随机数生成器500,由于不稳定的PUF电路输出是通过滚动暗比特掩码并将它们各自的身份呈现给多路复用器501的通道选择输入来选择的,因此将在多路复用器501的输出处生成比特流(图5中标记为Bit 1)。这里,比特流的每个下一比特对应于下一个采样的不稳定的PUF电路的输出比特。Bit 1比特流的每个下一比特被锁存到锁存器502中,并通过XOR门503与其直接前任(图5中标记为Bit 2)进行比较。如果两个比特不同,则逻辑门504的输出被视为有效,并且允许其输出进入移位寄存器505,移位寄存器从核心电路500接收输出比特。逻辑门504具有两种潜在的表征两位比特流(Bit 1,Bit 2)是(1,0)还是(0,1)的不同输出状态。因此,移位寄存器505仅在Bit 1、Bit 2比特流中存在差异时才加载有新信息,从而从该组不稳定的PUF电路中捕获更多的随机性。
如图6所示,一系列越来越小的输入位宽随机数生成器核600_2、600_3、...可以链接在一起,以进一步将随机性引入到所生成的比特图案和/或增加随机数生成器的输出比特率。这里,暂时返回参照图5,注意到,被选择用于输入到多路复用器501的不稳定的PUF电路可以看作具有某个宽度的输入字。也就是说,如果存在X个不稳定的PUF电路,则到多路复用器501的输入字的宽度为X,并且通过选择X位宽输入字的X比特中的每个比特来生成Bit1比特流。
这里,参照图5和图6,移位寄存器505可以看作提供用于下一个核心随机数生成器电路600_2(类似于图5的核心电路500)的宽度为Y的下一个字。在实施例中,第一核心电路500的移位寄存器505的输出宽度是图5所示的第一核心随机数生成器电路500所使用的不稳定PUF电路的数量的一半。也就是说,在实施例中,移位寄存器505的输出位宽为X/2。
参照图5和图6,下一个随机数生成器核心电路600_2(类似于图5的核心电路500)被提供有来自移位寄存器505的宽度为Y=X/2的字。然而,第二随机数生成器核心600_2的输出移位寄存器605_2仅提供宽度为Y/2=X/4的输出字。下一个随机数生成器核心电路600_3(也类似于图5的核心电路500)从移位寄存器605_2接收宽度为X/4的输出字,并将其随机比特提供给位宽为Y/4=X/8的输出移位寄存器605_3。随机数生成器链连续地减小位宽,直到在整个随机数生成器输出610达到期望随机数的位宽。
注意到,核心电路500、600_2、600_3等选择随机性的方向都将附加的熵或随机性引入到在随机数生成器输出610处提供的最终值中。这种随机性的引入应当有助于补偿任何被视为不稳定PUF电路,这些电路实际上对特定输出状态不具有某种稳定性或偏向。例如,47%的样本重复锁定到1而53%的样本重复锁定到0的不稳定PUF电路对于值1表现出某种偏向/稳定性。由图5和图6的随机数生成器电路500、600引入的增加的熵/随机性应当添加额外的熵/随机性,以便抵消原始PUF电路中的任何这种偏向/稳定性。
在减小位宽下级联多个随机生成器还应当增加随机数生成器的比特率。这里,多个移位寄存器的存在对应于整体电路保持住高度随机信息的较长先前历史。向下汇集到较小的字大小本质上以足够高的比特率从先前历史提取更接近纯的随机信息。
在替代实施例中,来自不稳定PUF电路的比特被级联的顺序可以改变/变化(例如,随时间变化)。级联也可以临时发生,意味着来自同一不稳定PUF单元的多个比特可以被馈送到核心随机数生成器500,以提高随机化输出的熵。本文呈现的级联结构的实现方式以及核心随机数生成器使用哪些比特仅仅是示例性的(其他实施例可以采用不同的方法)。
随机数生成器的输出可以耦合到例如加密电路和/解密电路或其他安全电路(例如,用于实现密码或其他随机标识符)。尽管上述实施例侧重于在单个半导体芯片上实现的电路,但是替代实施例可以包括其他系统,例如设置在平面板(例如,“PC”板)上的电路。
图7示出了示例性计算系统700(例如,个人计算系统(例如,台式计算机或膝上型计算机)或移动或手持计算系统(例如,平板设备或智能电话),或者更大的计算系统(例如,服务器计算系统))的描绘。如图7中所观察到的,基本计算系统可以包括中央处理单元701(其可以包括例如多个通用处理核和设置在应用处理器或多核处理器上的主存储器控制器)、系统存储器702、显示器703(例如,触摸屏、平面显示器)、本地有线点对点链路(例如,USB)接口704、各种网络I/O功能705(例如,以太网接口和/或蜂窝调制解调器子系统)、无线局域网(例如,WiFi)接口706、无线点对点链路(例如,蓝牙)接口707和全球定位系统接口708、各种传感器709_1至709_N(例如,陀螺仪、加速计、磁力计、温度传感器、压力传感器、湿度传感器等中的一个或多个)、相机710、电池711、电源管理控制单元712、扬声器和麦克风713以及音频编码器/解码器714。
应用处理器或多核处理器750可以在其CPU 701内包括一个或多个通用处理核715、一个或多个图形处理单元716、存储器管理功能717(例如,存储器控制器)和I/O控制功能718。通用处理核715通常执行操作系统和计算系统的应用软件。图形处理单元716通常执行图形密集型功能,以例如生成呈现在显示器703上的图形信息。存储器控制功能717与系统存储器702接口。系统存储器702可以是在更快的系统存储器层级中具有不同的缓存结构的多层级系统存储器。
在各种实施例中,物理不可克隆电路可以集成到计算系统中,并耦合到签名电路和/或随机数生成器,如上面详细描述的。
触摸屏显示器703、通信接口704–707、GPS接口708、传感器709、相机710以及扬声器/麦克风编解码器713、714中的每一个都可以被视为与整体计算系统相关的各种形式的I/O(输入和/或输出),该整体计算系统在合适的情况下包括集成外围设备(例如,相机710)。取决于实现方式,这些I/O组件中的各种组件可以集成在应用处理器/多核处理器750上,或者可以位于管芯之外或应用处理器/多核处理器750的封装之外。计算系统的大容量存储可以通过非易失性存储720来实现,该存储可以耦合到I/O控制器718(也可以称为外围控制中枢)。
本发明的实施例可以包括上述各种过程。这些过程可以体现在机器可执行指令中。这些指令可以用于使通用处理器或专用处理器执行某些过程。替换地,这些过程可以由包含用于执行过程的硬连线逻辑的特定硬件组件来执行,或者由软件或指令编程的计算机组件或自定义硬件组件(例如,专用集成电路(ASIC)、可编程逻辑器件(PLD)、可编程逻辑阵列(PLA)或现场可编程门阵列(FPGA))的任何组合来执行。
本发明的元件也可以提供为用于存储计算机可执行指令的机器可读介质。机器可读介质可以包括但不限于软盘、光盘、CD-ROM和磁性光盘、闪存、ROM、RAM、EPROM、EEPROM、磁性卡或光学卡、传播介质或适合于存储电子指令的其他类型的介质/机器可读介质。例如,本发明可以作为计算机程序下载,该计算机程序可以经由通信链路(例如,调制解调器或网络连接),借助于在载波或其他传播介质中体现的数据信号,从远端计算机(例如,服务器)传送到请求计算机(例如,客户端)。
在上述说明书,已经参照具体示例性实施例描述了本发明。然而,显而易见的是,可以对其做出各种修改和改变,而不偏离所附权利要求中所阐述的本发明的更广泛精神和范围。因此,说明书和附图应当以说明性而非限制性方式加以考虑。
Claims (20)
1.一种装置,包括:
多个物理不可克隆电路;
用于检测所述物理不可克隆电路中哪些电路不稳定的电路;
用于将不稳定的物理不可克隆电路耦合到随机数生成器电路的电路。
2.根据权利要求1所述的装置,其中,所述随机数生成器电路包括一系列随机数生成器核。
3.根据权利要求2所述的装置,其中,所述一系列随机数生成器核逐步操作在随机信息的更小的位宽上。
4.根据权利要求2所述的装置,其中,所述随机数生成器包括所述随机数生成器核之间的寄存器,所述寄存器用于保持所述随机数生成器核之间的随机信息。
5.根据权利要求1所述的装置,其中,所述随机数生成器电路包括使来自两个连续采样的不稳定的物理不可克隆电路的相同数据值无效的电路。
6.根据权利要求1所述的装置,其中,所述随机数生成器电路包括多路复用器,所述多路复用器具有耦合到所述物理不可克隆电路中的不同电路的分开的输入通道,所述多路复用器包括通道选择输入,所述通道选择输入由来自暗比特掩码的信息驱动,所述暗比特掩码识别不稳定的物理不可克隆电路。
7.根据权利要求1所述的装置,其中,用于检测所述物理不可克隆电路中哪些电路不稳定的电路针对所述多个物理不可克隆电路中的每一个电路包括签名变化检测电路。
8.一种计算系统,包括:
多个处理核;
系统存储器;
存储器控制器,耦合在所述系统存储器与所述多个处理核之间;
多个物理不可克隆电路;
用于检测所述物理不可克隆电路中哪些电路不稳定的电路;
用于将不稳定的物理不可克隆电路耦合到随机数生成器电路的电路。
9.根据权利要求7所述的计算系统,其中,所述随机数生成器电路包括一系列随机数生成器核。
10.根据权利要求9所述的计算系统,其中,所述一系列随机数生成器核逐步操作在更小的位宽上。
11.根据权利要求9所述的计算系统,其中,所述随机数生成器包括所述随机数生成器核之间的寄存器,所述寄存器用于保持所述随机数生成器核之间的随机信息。
12.根据权利要求8所述的计算系统,其中,所述随机数生成器电路包括使来自两个连续采样的不稳定的物理不可克隆电路的相同数据值无效的电路。
13.根据权利要求8所述的计算系统,其中,所述随机数生成器电路包括多路复用器,所述多路复用器具有耦合到所述物理不可克隆电路中的不同电路的分开的输入通道,所述多路复用器包括通道选择输入,所述通道选择输入由来自暗比特掩码的信息驱动,所述暗比特掩码识别不稳定的物理不可克隆电路。
14.根据权利要求8所述的计算系统,其中,用于检测所述物理不可克隆电路中哪些电路不稳定的电路针对所述多个物理不可克隆电路中的每一个电路包括签名变化检测电路。
15.一种装置,包括:
多个物理不可克隆电路;
用于检测所述物理不可克隆电路中哪些电路不稳定的电路;
用于将不稳定的物理不可克隆电路耦合到随机数生成器电路的电路;和
用于将所述物理不可克隆电路中的稳定的电路与芯片签名电路耦合的电路。
16.根据权利要求14所述的装置,其中,所述随机数生成器电路包括一系列随机数生成器核。
17.根据权利要求16所述的装置,其中,所述一系列随机数生成器核逐步操作在更小的位宽上。
18.根据权利要求16所述的装置,其中,所述随机数生成器包括所述随机数生成器核之间的寄存器,所述寄存器用于保持所述随机数生成器核之间的随机信息。
19.根据权利要求15所述的装置,其中,所述随机数生成器电路包括多路复用器,所述多路复用器具有耦合到所述物理不可克隆电路中的不同电路的分开的输入通道,所述多路复用器包括通道选择输入,所述通道选择输入由来自暗比特掩码的信息驱动,所述暗比特掩码识别不稳定的物理不可克隆电路。
20.根据权利要求15所述的装置,其中,用于检测所述物理不可克隆电路中哪些电路不稳定的电路针对所述多个物理不可克隆电路中的每一个电路包括签名变化检测电路。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/479,424 | 2017-04-05 | ||
US15/479,424 US10579339B2 (en) | 2017-04-05 | 2017-04-05 | Random number generator that includes physically unclonable circuits |
PCT/US2018/020977 WO2018186968A1 (en) | 2017-04-05 | 2018-03-05 | Random number generator that includes physically unclonable circuits |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110366838A true CN110366838A (zh) | 2019-10-22 |
CN110366838B CN110366838B (zh) | 2024-06-28 |
Family
ID=
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080279373A1 (en) * | 2007-05-11 | 2008-11-13 | Validity Sensors, Inc. | Method and System for Electronically Securing an Electronic Device Using Physically Unclonable Functions |
US20090132624A1 (en) * | 2004-10-15 | 2009-05-21 | Koninklijke Philips Electronics N.V. | Integrated circuit with a true random number generator |
US20110002461A1 (en) * | 2007-05-11 | 2011-01-06 | Validity Sensors, Inc. | Method and System for Electronically Securing an Electronic Biometric Device Using Physically Unclonable Functions |
US20150092939A1 (en) * | 2013-09-27 | 2015-04-02 | Kevin Gotze | Dark bits to reduce physically unclonable function error rates |
US20150146869A1 (en) * | 2013-11-28 | 2015-05-28 | Fujitsu Limited | Electronic circuit, electronic apparatus, and authentication system |
US20160062951A1 (en) * | 2014-08-29 | 2016-03-03 | Hitachi, Ltd. | Semiconductor device |
CN105809065A (zh) * | 2016-03-09 | 2016-07-27 | 中国科学院计算技术研究所 | 模糊输入输出的强物理不可克隆函数 |
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090132624A1 (en) * | 2004-10-15 | 2009-05-21 | Koninklijke Philips Electronics N.V. | Integrated circuit with a true random number generator |
US20080279373A1 (en) * | 2007-05-11 | 2008-11-13 | Validity Sensors, Inc. | Method and System for Electronically Securing an Electronic Device Using Physically Unclonable Functions |
US20110002461A1 (en) * | 2007-05-11 | 2011-01-06 | Validity Sensors, Inc. | Method and System for Electronically Securing an Electronic Biometric Device Using Physically Unclonable Functions |
US20150092939A1 (en) * | 2013-09-27 | 2015-04-02 | Kevin Gotze | Dark bits to reduce physically unclonable function error rates |
US20150146869A1 (en) * | 2013-11-28 | 2015-05-28 | Fujitsu Limited | Electronic circuit, electronic apparatus, and authentication system |
US20160062951A1 (en) * | 2014-08-29 | 2016-03-03 | Hitachi, Ltd. | Semiconductor device |
CN105809065A (zh) * | 2016-03-09 | 2016-07-27 | 中国科学院计算技术研究所 | 模糊输入输出的强物理不可克隆函数 |
Also Published As
Publication number | Publication date |
---|---|
DE112018001887T5 (de) | 2019-12-12 |
WO2018186968A1 (en) | 2018-10-11 |
US10579339B2 (en) | 2020-03-03 |
US20180293052A1 (en) | 2018-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gao et al. | Physical unclonable functions | |
JP6377865B2 (ja) | リング発振器ベースの物理的複製不可関数および年齢検知回路を使用した集積回路識別およびディペンダビリティ検証 | |
Gao et al. | PUF-FSM: a controlled strong PUF | |
US10630492B2 (en) | Device and method for testing a physically unclonable function | |
US10579339B2 (en) | Random number generator that includes physically unclonable circuits | |
Zhang et al. | Highly reliable spin-transfer torque magnetic RAM-based physical unclonable function with multi-response-bits per cell | |
Zhao et al. | A 108 F 2/Bit fully reconfigurable RRAM PUF based on truly random dynamic entropy of jitter noise | |
Sunar | True random number generators for cryptography | |
Torii et al. | ASIC implementation of random number generators using SR latches and its evaluation | |
He et al. | Reliable and efficient PUF‐based cryptographic key generator using bit self‐tests | |
Hussain et al. | BIST-PUF: Online, hardware-based evaluation of physically unclonable circuit identifiers | |
Baek et al. | A reconfigurable SRAM based CMOS PUF with challenge to response pairs | |
Choi et al. | A 100% stable sense-amplifier-based physically unclonable function with individually embedded non-volatile memory | |
Mills et al. | Design and evaluation of a delay-based FPGA physically unclonable function | |
Shariffuddin et al. | Review on arbiter physical unclonable function and its implementation in FPGA for IoT security applications | |
Alimohammadi et al. | Secure hardware key based on physically unclonable functions and artificial neural network | |
KR20220041048A (ko) | 하이브리드 부울 네트워크를 물리적으로 복제할 수 없는 함수로 사용하는 시스템 및 방법 | |
US20140049359A1 (en) | Security device and integrated circuit including the same | |
CN110366838B (zh) | 包括物理不可克隆电路的随机数生成器 | |
Canaday et al. | A novel attack on machine-learning resistant physical unclonable functions | |
Yu et al. | On designing PUF-based TRNGs with known answer tests | |
Sivasankari et al. | Reliable set of random number generation using Astable Multivibrator PUF | |
Tehranipoor et al. | Hardware Security Training, Hands-on! | |
Kodýtek et al. | Three counter value based ROPUFs on FPGA and their properties | |
Masoumi et al. | Design and implementation of a ring oscillator-based physically unclonable function on field programmable gate array to enhance electronic 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 |