CN113811876A - 提供基于存储器的物理不可克隆功能的方法和装置 - Google Patents

提供基于存储器的物理不可克隆功能的方法和装置 Download PDF

Info

Publication number
CN113811876A
CN113811876A CN202080034225.2A CN202080034225A CN113811876A CN 113811876 A CN113811876 A CN 113811876A CN 202080034225 A CN202080034225 A CN 202080034225A CN 113811876 A CN113811876 A CN 113811876A
Authority
CN
China
Prior art keywords
bits
challenge
volatile memory
memory array
sram
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
Application number
CN202080034225.2A
Other languages
English (en)
Inventor
维克拉姆·B·苏雷什
马诺伊·萨奇德夫
萨努·K·马修
苏迪尔·K·萨帕蒂
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN113811876A publication Critical patent/CN113811876A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/418Address circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • G06F7/584Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/419Read-write [R-W] circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/58Indexing scheme relating to groups G06F7/58 - G06F7/588
    • G06F2207/581Generating an LFSR sequence, e.g. an m-sequence; sequence may be generated without LFSR, e.g. using Galois Field arithmetic

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Computational Mathematics (AREA)
  • Signal Processing (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Static Random-Access Memory (AREA)
  • Semiconductor Memories (AREA)

Abstract

存储器单元中的物理不可克隆功能响应是通过所述存储器单元中的晶体管尺寸调整、晶体管阈值电压(VT)和体偏置来改进的,以改进每列的存储器单元和多个感测放大器(SA)的再现性,从而进一步增强物理不可克隆功能熵。物理不可克隆功能利用物理不可克隆功能存储器阵列中可获得的大量读取序列顺序的组合来生成呈指数大的质询‑响应对空间,而不会承担用于托管和操作呈指数大的存储器阵列的面积和能量成本。

Description

提供基于存储器的物理不可克隆功能的方法和装置
优先权申明
本申请根据35U.S.C.§365(c)主张2019年6月20日申请的名为“提供基于存储器的物理不可克隆功能的方法和装置(METHOD AND APPARATUS TO PROVIDE MEMORY BASEDPHYSICALLY UNCLONABLE FUNCTIONS)”的美国申请第16/447,887号的优先权,该申请的全文被并入本文中。
技术领域
本公开涉及物理不可克隆功能,并且具体地涉及基于存储器的物理不可克隆功能。
背景技术
物理不可克隆功能可用于存储标识数字签名的芯片并且用作加密功能的种子生成器,例如,用于集成电路和系统中的密钥生成和安全认证。物理不可克隆功能从集成电路的物理特性导出秘密。由于秘密是从集成电路的物理特性导出的,因此可仅在向电路施加功率时提取秘密。由于制造变化性对每个集成电路而言是唯一的,因此物理不可克隆功能是基于集成电路之间的差异。
物理不可克隆功能可分类为弱物理不可克隆功能或强物理不可克隆功能。弱物理不可克隆功能在集成电路的每次通电期间生成唯一的‘n’位值,其主要用作密钥。强物理不可克隆功能接受‘n位质询’并生成对质询的唯一响应(通常为1位,但可为超过1位)。质询-响应对(CRP)对集成电路而言是唯一的,并且可用于安全地认证集成电路的身份。因此,强物理不可克隆功能可直接地进行认证而不使用加密电路。
广泛用于微处理器和片上系统(SoC)的存储器单元(诸如静态随机存取存储器(SRAM))是基于每个存储器单元的通电状态的物理不可克隆功能的潜在熵源,因为存储器单元的制造变化性在通电时针对每个单元产生随机逻辑‘1’或逻辑‘0’状态。
附图说明
所主张的主题的实施例的特征将随着以下详细描述的进行并在参考附图时变为显而易见的,在附图中,相似标号描绘相似部件,且其中:
图1A为六个晶体管(6T)SRAM单元的实施例;
图1B示出了图1A所示的SRAM单元的实施例;
图2为具有多感测熵提取的SRAM存储器阵列的部分的框图;
图3为质询-响应物理不可克隆功能电路的框图,该电路包含SRAM阵列中结合图1A、图1B和图2描述的物理不可克隆功能SRAM单元以及SRAM读取地址定序器;
图4为图3所示的SRAM读取地址定序器的实施例;
图5为示出用于提供用于使用由SRAM单元提供的熵进行安全认证的大质询-响应空间的方法的流程图;以及
图6为包含质询-响应物理不可克隆功能电路的计算机系统的实施例的框图。
尽管以下详细描述将参考所主张的主题的说明性实施例来进行,但其的许多替代、修改和变化对所属领域的技术人员而言将是显而易见的。因此,预期所主张主题被广泛地考量,且如随附权利要求中所阐述的那样来定义。
具体实施方式
然而,SRAM单元在其通电时展现时变行为。这导致物理不可克隆功能响应的较差再现性或可靠性,且可能需要错误校正码(ECC)。
基于存储器的物理不可克隆功能(例如SRAM单元)已主要用作用于密钥生成的静态熵源,因为其由于仅存在一个可能的质询-响应对(SRAM单元在通电之后的状态)而被视为弱物理不可克隆功能。由于强物理不可克隆功能的一个要求是具有呈指数大的质询-响应对(CRP)空间,因此这将需要生成大量静态熵的呈指数大的存储器阵列(弱物理不可克隆功能)。
SRAM单元中的物理不可克隆功能响应通过SRAM单元中的晶体管尺寸调整、晶体管阈值电压(VT)和体偏置来改进,以改进每列SRAM单元和多个感测放大器(SA)的再现性,从而进一步增强物理不可克隆功能熵。
强物理不可克隆功能利用物理不可克隆功能存储器阵列中可获得的大量读取序列顺序组合来生成呈指数大的质询-响应对空间,而不会承担呈指数大的存储器阵列的面积和能量成本。具体来说,系统包含静态随机存取存储器(SRAM)阵列和读取定序器,该读取定序器的读取序列取决于质询。SRAM阵列用于使用如SRAM物理不可克隆功能所使用的功率循环技术来生成一组随机值。物理不可克隆功能质询用于从mx1位SRAM阵列中选择m/2个随机位,其中质询位确定阵列地址以及阵列位的存取序列顺序两者,从而产生足以用于认证的大的质询-响应空间。
本发明的各种实施例和方面将参考下文论述的细节来描述,且附图将示出各种实施例。以下描述和附图说明本发明且不应理解为限制本发明。描述了许多特定细节以提供对本发明的各种实施例的透彻理解。然而,在某些情况下,为了提供对本发明的实施例的简要论述,未描述公知的或常规的细节。
在本说明书中对“一个实施例”或“一实施例”的引用意指结合实施例描述的特定特征、结构或特性可包含于本发明的至少一个实施例中。在本发明书中的各个地方出现的短语“在一个实施例中”不一定都指代相同实施例。
图1A为六个晶体管(6T)SRAM单元100的实施例。每个晶体管可为金属氧化物半导体场效应晶体管(MOSFET)。晶体管T1和T2为P沟道MOSFET(NMOS)晶体管,且晶体管T3、T4、T5和T6为N沟道MOSFET(PMOS)晶体管。6T SRAM单元100中的每个位存储在包括四个晶体管(T1、T2、T3、T4)的存储单元中,该四个晶体管形成两个交叉耦合的反相器。存储单元具有用于存储逻辑0或逻辑1的两个稳定状态。
两个额外的存取晶体管T5和T6在读取和写入操作期间控制对存储单元的存取。每当激活字线(WL)用于读取或写入操作时打开存取晶体管T5和T6,使存储单元连接到互补位线(BL、BL#)。当未激活字线时,在将功率施加到6T SRAM单元100时关闭存取晶体管T5和T6且将数据保持在存储单元中。
SRAM单元为易失性存储器,即在不施加功率时,存储单元中的数据丢失。当施加功率时,由于存储单元中的晶体管(T1、T2、T3、T4)之间的固有失配,存储单元具有朝向特定稳定状态(逻辑1或逻辑0)的内在偏置。通常,SRAM单元100设计成使得SRAM单元100是非偏置的且对过程变化具有鲁棒性。
对于理想的对称SRAM单元100(即,在晶体管之间没有失配),SRAM单元100的内部数据在系统通电期间呈现亚稳定状态。环境噪声源可将SRAM单元100朝向其双稳定状态中的一个(逻辑1或逻辑0)推进。成对晶体管(晶体管对T1(NMOS)和T3(PMOS)或晶体管对T2(NMOS)和T4(PMOS))之间的任何局部失配本质上使SRAM单元100从其亚稳定起始点偏斜,并提供朝向SRAM单元100的双稳定状态中的一个的初始偏置。通过增加SRAM单元100对成对晶体管之间的局部失配的敏感性,更大初始偏置的可能性增大,并且SRAM单元100的状态在施加功率后的再现性对于波动环境条件更具鲁棒性。过程变化对SRAM单元100的行为的影响越大,重复通电循环上的通电稳定状态的再现性就越高。
SRAM单元中的NMOS驱动器设备和PMOS加载设备两者影响SRAM单元的初始不对称偏置。单元变化性(σcell)可表征为NMOS驱动器和PMOS加载设备的方差的总和,且取决于晶体管面积(宽度x长度)。例如,两个晶体管之间的失配取决于每个晶体管的面积(W x L)。因此,通过使NMOS(或PMOS)晶体管相较于PMOS(或NMOS)较大,可减小单元变化性。为了确保通电稳定状态在通电时的再现性,每个晶体管对中的晶体管中的一个相较另一个可具有较大面积,例如晶体管对中的NMOS(或PMOS)晶体管相较晶体管对中的PMOS(或NMOS)晶体管可具有较大面积。
晶体管的阈值电压(Vth)是创建晶体管的源极端子与漏极端子之间的导电路径所需的最低栅极到源极电压VGS。为了确保通电稳定状态在通电时的再现性,NMOS(或PMOS)晶体管具有低阈值电压,且PMOS(或NMOS)晶体管具有高阈值电压。
通电稳定状态在通电时的再现性可进一步通过将PMOS晶体管本体的本体连接到PMOS晶体管的栅极来改进,以创建对在供电电压为加强供电电压时打开的PMOS晶体管的顺向偏置(FBB)。SRAM单元中的另一PMOS晶体管不具有逆向偏置或顺向偏置。图1B示出了图1A中所示的SRAM单元具有T1的本体与栅极之间的第一连接102和T2的本体与栅极之间的第二连接104的的实施例。
SRAM存储器芯片(集成电路)包括结合图1A所描述的六个晶体管(6T)SRAM单元100的行和列的阵列。行中的每个SRAM单元100耦合到与行相关联的字线(WL),且列中的每个SRAM单元100耦合到两个互补位线(BL、BL#)。每个SRAM单元100位于特定字线和位线的交叉点处,其可用于对该单元进行“寻址”。为了读取SRAM单元100的状态,激活字线(例如设定为逻辑1),以激活行中耦合到该字线的所有SRAM单元100。互补位线(BL、BL#)上的信号取决于SRAM单元100的状态。耦合到互补位线(BL、BL#)的感测放大器感测位线上的信号,以输出表示SRAM单元的状态(逻辑1或逻辑0)的放大的信号。
图2是具有多感测熵提取的SRAM存储器阵列200的部分的框图。来自SRAM列201中的多个SRAM单元100中的每个SRAM单元的互补位线(BL、BL#)232耦合到奇数个感测放大器,在图2中所示的实施例中,存在三个感测放大器(SA)SA1 202、SA2 204、SA3 206。在其他实施例中,可存在大于三个的任何奇数个感测放大器(例如5个、7个、9个...)。两个额外的感测放大器(SA1 202、SA2 204)用于捕获SRAM列201中的SRAM单元100中的互补位线(BL、BL#)232上的电流驱动的变化性。
SRAM存储器阵列200包含寄存器214、时序块212和两个延迟块(延迟1 208和延迟2210)。时序块221将第一控制信号216输出到寄存器214,以使得寄存器214能够将地址218输出到SRAM列201,从而选择SRAM列201中的SRAM单元100。时序块221将第二控制信号220输出到感测放大器SA3 206,以使得感测放大器SA3 206能够输出SA3输出。时序块221还将第三控制信号输出到延迟1 208以输出第四控制信号226,从而使感测放大器SA2 204能够输出SA2输出。时序块221还将第五控制信号输出到延迟2 210以输出第六控制信号228,从而使感测放大器SA1 202能够输出SA1输出。
感测放大器SA1 202具有放松的时序(基于由两个延迟块(延迟1 208和延迟2210)提供的延迟)以提供可靠的感测数据。感测放大器SA2 204和感测放大器SA3 206具有日益激烈的时序(感测放大器SA3(无延迟)、感测放大器SA2(由延迟块208提供的延迟))。通常,感测放大器SA1 202和感测放大器SA2 204两者都提供可靠结果,即SA1输出和SA2输出。通常,如果SRAM单元电流高于标称电流,那么感测放大器SA3 206在SA3输出上提供与感测放大器SA2 204和感测放大器SA1 202在其相应输出SA2输出、SA1输出处相同的结果,否则的话,提供相反的结果。
输出逻辑230从相应感测放大器SA1 202、SA2 204、SA3 206接收SA输出(SA1输出、SA2输出、SA3输出),并提供两个结果R1、R2:(i)结果R1为主要输出(M);且(ii)结果R2为一个位差(D)。主要输出(M)的值表示由两个或更多个感测放大器SA1 202、SA2 204、SA3 206产生的输出。如果感测放大器SA1 202、SA2 204、SA3中的一个为互补输出(例如,感测放大器中的两个的输出为逻辑1,且第三感测放大器的输出为逻辑0),那么差值(D)为‘真’。主要输出(M)由输出逻辑230处理以产生物理不可克隆功能响应(R1)。差位D用于提供物理不可克隆功能的唯一性的支持证据,且可由输出逻辑230处理以提供R2响应。
在实施例中,从输出逻辑230输出的响应R1和响应R2两者都被发送到认证服务器。例如,认证服务器可发送存储在寄存器214中的一系列的m个质询;且作为响应,物理不可克隆功能分别发送m个R1和R2响应。R2响应可用于确证物理不可克隆功能的可靠性。在这样的物理不可克隆功能中,整体SRAM单元熵由SRAM单元的逻辑水平(SRAM单元的状态)以及由SRAM单元的读取电流来确定。
用于启用感测放大器的控制信号的时序可被选择,以使得标称感测放大器SA1202和SA3 206捕获互补数据(一个为逻辑1且另一个为逻辑0)。例如,当限制感测放大器SA3206的时序时,可进一步放松感测放大器SA1 202的时序,以使得感测放大器SA3 206仅在50%的时间捕获正确数据。
物理不可克隆功能(PUF)使用SRAM的单个存取来针对相同质询在每个芯片上产生唯一响应。常规SRAM物理不可克隆功能的质询-响应空间等于SRAM中的位的数目。来自对具有取决于存取的序列的顺序的唯一响应的SRAM的存取的序列的质询/响应,通过使得使用机器算法来学习唯一响应更难而增加了抗冲击性能。
在实施例中,小存储器阵列中可获得的大量读取序列顺序组合用于生成呈指数大的质询响应空间,而不会承担托管和操作大存储器阵列的面积和能量成本。读取定序器的读取序列取决于质询。质询用于从m x 1位存储器阵列中选择m/2个随机位,其中质询位确定阵列地址和阵列位的存取序列顺序两者。取决于质询,在两个(或更多个)SRAM单元之间连续地创建争用。在m为128的实施例中,随机位的数目为64,存储器阵列为128位,且质询响应空间为2420。在其他实施例中,m可小于或大于128。
SRAM物理不可克隆功能的质询响应空间经由SRAM地址空间的组合和定序增加,从而允许SRAM被用于认证。传统基于SRAM的强物理不可克隆功能需要2420位以生成2420位的质询响应空间。在实施例中,2420位的质询响应空间由具有可完全合成的外围逻辑的传统128位SRAM阵列提供,以实现呈指数大的质询空间。
在典型的SRAM架构中,质询被发送到引起显著较大的阵列大小的地址解码器。例如,针对64位质询,需要264个SRAM单元。
图3为质询-响应物理不可克隆功能电路300的框图,该电路300包含SRAM阵列304中结合图1A、图1B和图2描述的物理不可克隆功能SRAM单元以及SRAM读取地址定序器302。在所示实施例中,SRAM阵列中的m个单元的阵列具有单列和m行(即,m x 1阵列)。m x 1SRAM阵列304中的m个SRAM单元提供用于物理不可克隆功能电路的熵源。SRAM读取地址定序器302基于输入到SRAM读取地址定序器302的x位质询的状态执行对SRAM阵列304的地址的伪随机选择,以在SRAM阵列304中的m位中随机地选择用于生成对质询的响应的n位。
针对每个读取地址,位是从SRAM阵列304中的该地址处的单元读取并加载到n位移位寄存器306中的。在已读取了SRAM阵列304中的n个单独位位置之后,n位移位寄存器306中的n位被存储在n位输出寄存器308中。可使用所属领域的技术人员已知的功能将n位输出寄存器中的n位压缩为单个位响应。
图4为图3中所示的SRAM读取地址定序器302的实施例。SRAM读取地址定序器302包含两个线性反馈移位寄存器(LFSR)402、404。线性反馈移位寄存器(LFSR)是这样的移位寄存器,其输入位是其先前状态的线性函数。线性函数的示例为异或(XOR)。LFSR的初始值被称为种子,且伪随机输出由电流(或先前状态)确定。
LFSR 402启用SRAM 304的存储器地址的伪随机选择。LFSR 404启用从所选择存储器地址选择存储器地址的序列。LFSR 402生成(m/2)个SRAM地址的唯一序列。因此,存在(m/2)!(从1到m/2的整数的乘积)个可能的序列。LFSR 404的最大大小为log2((m/2)!)。
将针对以下情形描述SRAM读取地址定序器302的操作:128个SRAM单元(m=128);64个响应位(n=64);124-位LFSR 402(p1=124);以及296位LFSR 404(p2=296);420位质询(p1+p2)。针对地址空间m=128的SRAM,选择m/2=64个地址以提供mCm/2个组合(即,可由m个位形成的m/2个子集的数目)。将结合图4和图5来描述SRAM读取地址定序器302的操作。
图5是示出用于提供用于使用由SRAM单元提供的熵进行安全认证的大质询-响应空间的方法的流程图。
在框500处,将420个质询位、124-位(p1)&296-位(p2)分别加载到LFSR1和LFSR2中。
在框502处,LFSR1运行若干预定时钟循环,从而产生伪随机序列。以周期性间隔从伪随机LFSR数据流提取64个7位SRAM地址。
假定LFSR 404具有最大长度,则LFSR 404循环时间为(2p1–1),其中p1为LFSR的长度。因此,启用此选择的最大LFSR 404的大小为log2(mCm/2)。因此,发送到LFSR 404的质询的数目也等于log2(mCm/2)。
类似于LFSR 404,LFSR 402操作若干预定循环,并以定期间隔产生64个6位地址。LFSR 402生成(m/2)个SRAM地址的唯一序列。因此,存在(m/2)!(从1到m/2的整数的乘积)个可能的序列。LFSR 404的最大大小为log2((m/2)!)。LFSR 402和LFSR 404的大小的进一步增加将不增加质询空间,这是因为SRAM地址空间(例如m位)是限制因素。SRAM读取地址定序器302启用SRAM地址空间的组合和定序,并且启用大(>400)质询-响应对空间,而无大量成本。
在框504处,存储所提取的地址。将来自LFSR 404的所提取地址存储在地址寄存器406(也可被称为物理不可克隆功能地址寄存器)中。将来自LFSR 402的所提取地址存储在地址定序器408(也可被称为物理不可克隆功能地址定序器)中。
在框506处,LFSR 402用于生成SRAM的地址的唯一序列。地址的唯一序列针对每个质询是唯一的。地址定序器408中存储的每个地址由地址解码器410循序解码,以选择地址寄存器406中的7位位置。此位置的内容(7位)标识SRAM地址,该SRAM地址由地址解码器412解码并用于存取SRAM中的位置。随后,读取所标识SRAM位置的内容,并将该内容加载到n位移位寄存器306中(图3)。
LFSR 402和LFSR 404启用地址生成的并行执行以及其排序。在另一实施例中,LFSR 402和LFSR 404可被实施为单个LFSR,该单个LFSR实行由LFSR 402和LFSR 404循序执行的两个操作,从而减少SRAM读取地址定序器302的面积和能量足迹。
读取定序器电路与熵源无关。在另一实施例中,熵源可由另一存储器阵列或由其他物理不可克隆功能(例如,仲裁物理不可克隆功能、基于延迟的物理不可克隆功能、电流镜物理不可克隆功能或其他基于非易失性存储器的物理不可克隆功能)提供。
图6是包含质询-响应物理不可克隆功能电路300的计算机系统600的实施例的框图。计算机系统600可对应于计算设备,该计算设备包含但不限于服务器、工作站计算机、台式计算机、膝上型计算机和/或平板计算机。
计算机系统600包含片上系统(SOC或SoC)604,该片上系统604将处理器、图形、存储器和输入/输出(I/O)控制逻辑组合到一个SoC封装中。SoC 604包含至少一个中央处理单元(CPU)模块608、易失性存储器控制器614和图形处理单元(GPU)610。在其他实施例中,易失性存储器控制器614可在SoC 604外部。CPU模块608包含至少一个处理器核心602、2级(L2)高速缓存606和质询-响应物理不可克隆功能电路300。
尽管未示出,但(一个或多个)处理器核心602中的每个处理器核心可在内部包括一个或多个指令/数据高速缓存、执行单元、预取缓冲器、指令队列、分支地址计算单元、指令解码器、浮点单元、回退单元等。根据一个实施例,CPU模块608可对应于单核心或多核心通用处理器,诸如由
Figure BDA0003342242080000101
公司提供的单核心或多核心通用处理器。
图形处理器单元(GPU)610可包括一个或多个GPU核心和可存储用于GPU核心的图形相关数据的GPU高速缓存。GPU核心可在内部包括一个或多个执行单元和一个或多个指令和数据高速缓存。另外,图形处理器单元(GPU)610可含有图6中未示出的其他图形逻辑单元,诸如一个或多个顶点处理单元、光栅化单元、介质处理单元和编解码器。
在I/O子系统612内存在一个或多个I/O适配器616以将在(一个或多个)处理器核心602内使用的主机通信协议转化成与特定I/O设备相容的协议。适配器可使用以用于转化的一些协议包括外围组件互联(PCI)-快速(PCIe);通用串行总线(USB);串行高级技术附件(SATA)以及电气和电子工程师协会(IEEE)1594“火线”。
(一个或多个)I/O适配器616可与外部I/O设备624通信,该外部I/O设备624可包括例如:(一个或多个)用户接口设备,包括显示器和/或触摸屏显示器640、打印机、小键盘、键盘、通信逻辑、有线和/或无线;(一个或多个)存储设备,包括硬盘驱动器(“HDD”)、固态驱动器(“SSD”)、可移除存储介质、数字视频光盘(DVD)驱动器、光盘(CD)驱动器、独立磁盘冗余阵列(RAID)、磁带驱动器;或其他存储设备。存储设备可以通信方式和/或物理方式经由一个或多个总线使用多种协议中的一个或多个耦合在一起,该协议包含但不限于SAS(串行附接SCSI(小计算机系统接口))、PCIe(外围组件互联高速)、经由PCIe(外围组件互联高速)的NVMe(NVM高速)和SATA(串行ATA(高级技术附件))。(一个或多个)I/O适配器616还可与固态驱动器(“SSD”)618通信。
另外,可存在一个或多个无线协议I/O适配器。无线协议的示例等等用于诸如IEEE802.15和Bluetooth,4.0的个域网中;诸如基于IEEE 802.11的无线协议的无线局域网;和蜂窝协议。
非易失性存储器(NVM)设备是其状态在即使设备断电时仍确定的存储器。在一个实施例中,NVM设备可包括块可寻址存储器设备,诸如NAND技术,或更具体地,多阈值级NAND闪速存储器(例如,单级单元(“SLC”)、多级单元(“MLC”)、方形级单元(“QLC”)、三级单元(“TLC”)或某一其他NAND)。NVM设备还可包括字节可寻址就地写入三维交叉点存储器设备,或其他字节可寻址就地写入NVM设备(也称为持续存储器),诸如单级或多级相变存储器(PCM)或具有开关的相变存储器(PCMS),使用硫族化物相变材料(例如硫系玻璃)的NVM设备,包含金属氧化物基、氧空位基的电阻式存储器和导电桥随机存取存储器(CB-RAM),纳米线存储器,铁电随机存取存储器(FeRAM、FRAM),并入忆阻器技术的磁阻式随机存取存储器(MRAM),自旋转移矩(STT)-MRAM,基于电子自旋磁性接面存储器的设备,基于磁性穿隧接面(MTJ)的设备,DW(畴壁)和基于SOT(自旋轨道转移)的设备,基于晶闸管的存储器设备,或以上任何的组合,或其他存储器。
I/O适配器616可包括外围组件互联高速(PCIe)适配器,该适配器使用经由PCIe(外围组件互联高速)总线协议644的NVMe(NVM高速)以通信方式耦合到SSD 618中的主机接口628。非易失性存储器高速(NVMe)标准定义用于主机软件的寄存器级接口,以与非易失性存储器子系统(例如,经由外围组件互联高速(PCIe)的固态驱动器(SSD)、高速串行计算机扩展总线)通信。NVM高速标准可见于www.nvmexpress.org。PCIe标准可见于www.pcisig.com。
易失性存储器626以通信方式耦合到易失性存储器控制器614。易失性存储器626是在设备断电时其状态(且因此数据在该状态下存储)不确定的存储器。动态易失性存储器需要更新存储在设备中的数据以保持状态。动态易失性存储器的一个示例包含DRAM(动态随机存取存储器)或一些变体,诸如同步DRAM(SDRAM)。如本文中所描述的存储器子系统可与许多存储器技术相容,诸如DDR3(双数据速率版本3,2007年6月27日由JEDEC(电子设备工程联合委员会)发出的原始版本)。DDR4(DDR版本4,由JEDEC在2012年9月发布的初始规范)、DDR4E(DDR版本4)、LPDDR3(低功率DDR版本3,JESD209-3B,由JEDEC在2013年8月发布)、LPDDR4(LPDDR版本4,JESD209-4,由JEDEC在2014年8月最初发布)、WIO2(宽输入/输出版本2,JESD229-2,由JEDEC在2014年8月最初发布)、HBM(高带宽存储器,JESD325,由JEDEC在2013年10月最初发布)、DDR5(DDR版本5,当前由JEDEC讨论中)、LPDDR5(当前由JEDEC讨论中)、HBM2(HBM版本2)、当前由JEDEC讨论中,或其他或存储器技术的组合,以及基于此类规范的衍生或延伸的技术。JEDEC标准可见于www.jedec.org。
操作系统642是管理包含对I/O设备的存储器分配和存取的计算机硬件和软件的软件。操作系统的示例包含
Figure BDA0003342242080000121
Figure BDA0003342242080000122
Figure BDA0003342242080000123
如本文中所示的流程图提供各种过程动作的序列的示例。流程图可指示待通过软件或固件例程执行的操作以及物理操作。在一个实施例中,流程图可示出可在硬件和/或软件中实施的有限状态机(FSM)的状态。尽管以特定序列或顺序示出,但除非另有规定,否则可修改动作的顺序。因此,所示出的实施例应理解为示例,且过程可以不同顺序执行,且一些动作可并行地执行。另外,在各种实施例中可省略一个或多个动作;因此,并非在每个实施例中都需要所有动作。其他过程流程为可能的。
在一定程度上,在本文中描述各种操作或功能,其可被描述或定义为软件代码、指令、配置和/或数据。内容可是可直接执行的(“目标”或“可执行”形式)、源代码或不同代码(“增量(delta)”或“修补(patch)”代码)。本文中所描述的实施例的软件内容可经由制品与其上存储的内容提供,或经由操作通信接口以经由通信接口发送数据的方法来提供。机器可读存储介质可使得机器执行所描述的功能或操作,并且包括以可由机器(例如,计算设备、电子系统等)存取的形式存储信息的任何机制,诸如可记录/不可记录介质(例如,只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光学存储介质、闪速存储器设备等)。通信接口包含与硬连线、无线、光学等介质中的任一个接口连接以与另一设备通信的任何机制,诸如存储器总线接口、处理器总线接口、因特网连接、磁盘控制器等。通信接口可通过提供配置参数和/或发送信号以准备通信接口来配置,从而提供描述软件内容的数据信号。通信接口可经由发送到通信接口的一个或多个命令或信号来存取。
本文中所描述的各种组件可以是用于执行所描述的操作或功能的装置。本文中所描述的每个组件包括软件、硬件或这些的组合。组件可实施为软件模块、硬件模块、专用硬件(例如,特殊应用硬件、专用集成电路(ASIC)、数字信号处理器(DSP)等)、嵌入式控制器、硬连线电路等。
除本文中所描述之外,可在不脱离本发明的范围的情况下对本发明的所揭示实施例和实施进行各种修改。
因此,本文中的说明和示例应以说明性而非限制性意义来解释。本发明的范围应仅通过参考随附权利要求书来测量。

Claims (22)

1.一种装置,包括:
易失性存储器阵列,用于使用功率循环技术来生成一组随机值;以及
读取定序器,用于接收多个质询位并使用所述多个质询位来从所述易失性存储器阵列中选择多个随机位,所述读取定序器使用所述质询位的第一部分来生成多个n地址并使用所述质询位的第二部分来从所选择的n地址选择用于读取所述易失性存储器阵列中的随机值的序列顺序,从而生成用于从中选择所述多个随机位的呈指数大的质询-响应对空间。
2.根据权利要求1所述的装置,其中所述读取定序器包括第一线性反馈移位寄存器和第二线性反馈移位寄存器,所述第一线性反馈移位寄存器用于生成所述多个n地址,并且所述第二线性反馈移位寄存器用于从所述所选择的n地址选择所述序列顺序。
3.根据权利要求1所述的装置,其中,所述易失性存储器阵列具有m行和一列,所述多个随机位为m/2,质询位的数目为p,且所述质询-响应对空间为2p
4.根据权利要求3所述的装置,其中m为128,p为420,所述质询位的所述第一部分为296,并且所述质询位的所述第二部分为124。
5.根据权利要求1所述的装置,其中所述易失性存储器阵列是静态随机存取存储器。
6.根据权利要求5所述的装置,其中所述静态随机存取存储器包括具有奇数个感测放大器以增强通电状态的再现性的静态随机存取存储器单元,所述奇数个感测放大器大于两个。
7.根据权利要求6所述的装置,其中所述静态随机存取存储器还包括多个延迟块,每个延迟块耦合到感测放大器中的一个,所述延迟块用于延迟从所述易失性存储器阵列读取随机值。
8.一种方法,包括:
使用功率循环技术在易失性存储器阵列中生成一组随机值;以及
使用多个接收的质询位从所述易失性存储器阵列中选择多个随机位;
使用所述接收的质询位的第一部分来生成多个n地址;
使用所述接收的质询位的第二部分来从所选择的n地址选择序列顺序;以及
使用所述序列顺序来读取所述易失性存储器阵列中的随机值以生成用于从中选择所述多个随机位的呈指数大的质询-响应对空间。
9.根据权利要求8所述的方法,其中第一线性反馈移位寄存器用于生成所述多个n地址,并且第二线性反馈移位寄存器用于从所述所选择的n地址选择所述序列顺序。
10.根据权利要求8所述的方法,其中,所述易失性存储器阵列具有m行和一列,所述多个随机位为m/2,质询位的数目为p,且所述质询-响应对空间为2p
11.根据权利要求10所述的方法,其中m为128,p为420,所述接收的质询位的所述第一部分为296,并且所述接收的质询位的所述第二部分为124。
12.根据权利要求8所述的方法,其中所述易失性存储器阵列是静态随机存取存储器。
13.根据权利要求9所述的方法,其中所述静态随机存取存储器包括具有奇数个感测放大器以增强通电状态的再现性的静态随机存取存储器单元,所述奇数个感测放大器大于两个。
14.根据权利要求13所述的方法,其中所述静态随机存取存储器还包括多个延迟块,每个延迟块耦合到感测放大器中的一个,所述延迟块用于延迟从所述易失性存储器阵列读取随机值。
15.一种设备,包括用于执行根据权利要求8至14中任一项所述的方法的装置。
16.一种系统,包括:
处理器,所述处理器包括:
易失性存储器阵列,用于使用功率循环技术来生成一组随机值;和
读取定序器,用于接收多个质询位并使用所述多个质询位来从所述易失性存储器阵列选择多个随机位,所述读取定序器使用所述质询位的第一部分来生成多个n地址并使用所述质询位的第二部分来从所选择的n地址选择用于读取所述易失性存储器阵列中的随机值的序列顺序,从而生成用于从中选择所述多个随机位的呈指数大的质询-响应对空间;以及
显示器,以通信方式耦合到所述处理器。
17.根据权利要求16所述的系统,其中所述读取定序器包括第一线性反馈移位寄存器和第二线性反馈移位寄存器,所述第一线性反馈移位寄存器用于生成所述多个n地址,并且所述第二线性反馈移位寄存器用于从所述所选择的n地址选择所述序列顺序。
18.根据权利要求16所述的系统,其中,所述易失性存储器阵列具有m行和一列,所述多个随机位为m/2,质询位的数目为p,且所述质询-响应对空间为2p
19.根据权利要求18所述的系统,其中m为128,p为420,所述质询位的所述第一部分为296,并且所述质询位的所述第二部分为124。
20.根据权利要求16所述的系统,其中所述易失性存储器阵列为静态随机存取存储器。
21.根据权利要求20所述的系统,其中所述静态随机存取存储器包括具有奇数个感测放大器以增强通电状态的再现性的静态随机存取存储器单元,所述奇数个感测放大器大于两个。
22.根据权利要求21所述的系统,其中所述静态随机存取存储器还包括多个延迟块,每个延迟块耦合到感测放大器中的一个,所述延迟块用于延迟从所述易失性存储器阵列读取随机值。
CN202080034225.2A 2019-06-20 2020-04-03 提供基于存储器的物理不可克隆功能的方法和装置 Pending CN113811876A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/447,887 2019-06-20
US16/447,887 US11483167B2 (en) 2019-06-20 2019-06-20 Method and apparatus to provide memory based physically unclonable functions
PCT/US2020/026694 WO2020256809A1 (en) 2019-06-20 2020-04-03 Method and apparatus to provide memory based physically unclonable functions

Publications (1)

Publication Number Publication Date
CN113811876A true CN113811876A (zh) 2021-12-17

Family

ID=74037332

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080034225.2A Pending CN113811876A (zh) 2019-06-20 2020-04-03 提供基于存储器的物理不可克隆功能的方法和装置

Country Status (4)

Country Link
US (1) US11483167B2 (zh)
KR (1) KR20220022478A (zh)
CN (1) CN113811876A (zh)
WO (1) WO2020256809A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11309018B2 (en) * 2018-01-18 2022-04-19 Regents Of The University Of Minnesota Stable memory cell identification for hardware security
US11537755B1 (en) * 2019-10-09 2022-12-27 University Of South Florida SR flip-flop based physical unclonable functions for hardware security
US11520937B2 (en) * 2020-08-12 2022-12-06 Dell Products L.P. NVMe over fabrics authentication system
US11985260B2 (en) * 2020-10-26 2024-05-14 Birad—Research & Development Company Ltd. Method to utilize mismatch size to produce additional stable bit in tilting PUF
US11881258B2 (en) * 2021-07-16 2024-01-23 Globalfoundries U.S. Inc. Apparatus and related method to indicate stability and instability in bit cell
TWI792764B (zh) * 2021-12-13 2023-02-11 華邦電子股份有限公司 記憶體陣列及其操作方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009079050A2 (en) 2007-09-19 2009-06-25 Verayo, Inc. Authentication with physical unclonable functions
WO2011018414A2 (en) 2009-08-14 2011-02-17 Intrinsic Id B.V. Physically unclonable function with tamper prevention and anti-aging system
WO2013101101A1 (en) 2011-12-29 2013-07-04 Intel Corporation Method and apparatus for a non-deterministic random bit generator (nrbg)
KR102201062B1 (ko) 2012-10-04 2021-01-11 인트린직 아이디 비브이 물리적 복제방지 기능으로서 이용되는 메모리로부터 암호 키를 생성하기 위한 시스템
US10511451B2 (en) * 2016-11-04 2019-12-17 Taiwan Semiconductor Manufacturing Company Ltd. Physically unclonable function (PUF) device and method of extending challenge/response pairs in a PUF device
KR101980964B1 (ko) 2017-05-24 2019-05-21 성균관대학교산학협력단 카운터 기반 물리적 복제 방지 함수 장치 및 이를 이용한 챌린지-응답 획득 방법
US11082241B2 (en) 2018-03-30 2021-08-03 Intel Corporation Physically unclonable function with feed-forward addressing and variable latency output
US20190342106A1 (en) * 2018-05-02 2019-11-07 Qualcomm Incorporated Physically unclonable function (puf) circuits employing multiple puf memories to decouple a puf challenge input from a puf response output for enhanced security
US11271759B2 (en) * 2018-09-05 2022-03-08 Arizona Board Of Regents On Behalf Of Northern Arizona University Secure digital signatures using physical unclonable function devices with reduced error rates
US11277271B2 (en) * 2019-07-31 2022-03-15 Nxp Usa, Inc. SRAM based physically unclonable function and method for generating a PUF response

Also Published As

Publication number Publication date
KR20220022478A (ko) 2022-02-25
WO2020256809A1 (en) 2020-12-24
US20200403813A1 (en) 2020-12-24
US11483167B2 (en) 2022-10-25

Similar Documents

Publication Publication Date Title
US11483167B2 (en) Method and apparatus to provide memory based physically unclonable functions
US11862234B2 (en) Memory device and operation method thereof
US9905288B2 (en) Semiconductor memory devices and methods of operating the same
US11043259B2 (en) System and method for in-memory compute
US10614871B2 (en) Semiconductor devices and semiconductor systems including the semiconductor devices
US20120113732A1 (en) Pseudo-open drain type output driver having de-emphasis function, semiconductor memory device, and control method thereof
US10157646B2 (en) Latch control signal generation circuit to reduce row hammering
US11133054B2 (en) Semiconductor devices performing for column operation
CN111261207B (zh) 半导体器件
KR20180119072A (ko) 반도체장치
US20170084318A1 (en) Semiconductor devices and semiconductor systems including the same
KR20190123183A (ko) 반도체장치
US10629248B2 (en) Semiconductor devices configured to store bank addresses and generate bank group addresses
US20180136844A1 (en) Arithmetic circuit and a semiconductor device
US10153028B2 (en) Semiconductor devices
US9384092B2 (en) Semiconductor memory device with multiple sub-memory cell arrays and memory system including same
TWI775989B (zh) 半導體裝置
CN106611609B (zh) 半导体器件和半导体系统
KR20190118292A (ko) 반도체시스템
US10559332B1 (en) Semiconductor devices
US10854248B2 (en) Semiconductor devices
US11328753B2 (en) Methods of performing self-write operation and semiconductor devices used therefor
US20240210986A1 (en) Hybrid gap controlled multi-clock cycle memory command protocol
US20230162770A1 (en) Memory device deserializer circuit with a reduced form factor
US20220057961A1 (en) Method and apparatus to perform a multiple bit column read using a single bit per column memory accessible by row and/or by column

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