CN108694335B - 基于sram的物理不可克隆函数及产生puf响应的方法 - Google Patents

基于sram的物理不可克隆函数及产生puf响应的方法 Download PDF

Info

Publication number
CN108694335B
CN108694335B CN201810328407.5A CN201810328407A CN108694335B CN 108694335 B CN108694335 B CN 108694335B CN 201810328407 A CN201810328407 A CN 201810328407A CN 108694335 B CN108694335 B CN 108694335B
Authority
CN
China
Prior art keywords
sram
bit line
sram cells
puf
voltage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810328407.5A
Other languages
English (en)
Other versions
CN108694335A (zh
Inventor
尼哈尔·N·马哈特米
斯瑞肯斯·贾甘纳坦
亚历山大·霍夫乐
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.)
NXP USA Inc
Original Assignee
NXP USA Inc
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 NXP USA Inc filed Critical NXP USA Inc
Publication of CN108694335A publication Critical patent/CN108694335A/zh
Application granted granted Critical
Publication of CN108694335B publication Critical patent/CN108694335B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/419Read-write [R-W] circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/72Protecting 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 in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Static Random-Access Memory (AREA)

Abstract

在多个SRAM单元中实施物理不可克隆函数(PUF)。在用于生成PUF响应的方法中,首先将逻辑零写入到具有PUF的所有SRAM单元。使耦合到存储每一SRAM单元的逻辑零的存储节点的位线偏置到预定电压。接着选择位线以用于评估读取操作。在评估读取期间,来自一个列的位线中的一个位线的读取电流被转换成第一电压,且另一个列的另一位线的读取电流被转换成第二电压。接着,比较第一电压与第二电压。PUF响应的位的逻辑状态确定为比较的结果。能够将逻辑位提供到并行输入串行输出移位寄存器的输入。能够存在用于每一逻辑位的比较器,或者若干个比较器能够在逻辑位之间共享。PUF响应能够用于为数据处理系统提供签名。能够选择性地调整每一单元的反偏置。

Description

基于SRAM的物理不可克隆函数及产生PUF响应的方法
技术领域
本公开大体上涉及电子电路,且更具体来说,涉及基于静态随机存取存储器(static random access memory,SRAM)的物理不可克隆函数(physically unclonablefunction,PUF)和用于生成PUF响应的方法。
背景技术
物理不可克隆函数(PUF)是在输入刺激时将产生不可预测响应的物理系统。示例PUF使用静态随机存取存储器(SRAM)。SRAM单元是双稳态的,这意味着它们仅具有两种稳定状态。当通电时,双稳态SRAM单元将定于两种稳定状态之一。因为常规SRAM通常被布置成对称的,所以它在通电时将处于的状态是不可预测的。然而,制造差异、温度、电力供应、切换噪声、装置老化和其它因素可使PUF的单元中的一些在不同时间并在不同状态中通电。因为这一随机性,所以没有完全相似的两个集成电路,因此PUF的输出难以预测且因此难以重新产生。这使得PUF可用于存储关于IC的唯一信息。例如,PUF可用于生成数字签名或加密/解密密钥。
然而,由于通电状态的潜在可变性,所以可能需要保存初始PUF响应,或采取措施来确保初始PUF响应可以重新产生。保存初始PUF响应的一种方法是使用帮助程序数据。帮助程序数据可用于校正由可变性产生的位差错。并且,内置式自测试(built-in self-test,BIST)电路已经用于接入PUF。然而,使用BIST易受攻击,且将IC暴露于攻击之中。
因此,需要一种提供更稳定的值且更好地抵抗攻击的实施PUF的方法。
发明内容
根据本发明的第一方面,提供一种用于在数据处理系统中生成数字代码的方法,所述方法包括:
选择多个静态随机存取存储器(SRAM)单元以供写入操作;
将预定逻辑状态写入到所有所述多个SRAM单元;
使对应于所述多个SRAM单元的多个位线对中的每一位线对中的仅一个位线偏置到预定电压;
将所述多个SRAM单元中的第一SRAM单元的位线耦合到比较器的第一输入;
将所述多个SRAM单元中的第二SRAM单元的位线耦合到所述比较器的第二输入;
在所述第一和第二SRAM单元的所述位线上生成电流;
将所述两个位线上的所述电流转换成电压;
使用所述比较器,比较所述第一SRAM单元的所述位线上的所述电压与所述第二SRAM单元的所述位线上的所述电压;以及
从所述比较器输出逻辑位,响应于所述比较而确定所述逻辑位的逻辑状态。
在一个或多个实施例中,所述多个SRAM单元包括物理不可克隆函数(PUF),并且所述数字代码是PUF响应。
在一个或多个实施例中,所述方法进一步包括:
在并行输入串行输出移位寄存器中保存所述逻辑位的所述逻辑状态;以及
使用所述逻辑状态生成所述数字代码。
在一个或多个实施例中,所述方法进一步包括从安全模块接收质询,其中响应于所述质询而发生所述输出所述逻辑位。
在一个或多个实施例中,所述第一和第二SRAM单元耦合到基于所述多个位线对中的位线对的布局中的对称位线位置而匹配的位线。
在一个或多个实施例中,将预定逻辑状态写入到所有所述多个SRAM单元进一步包括将逻辑零写入到所有所述多个SRAM单元。
在一个或多个实施例中,所述方法进一步包括选择性地将体偏置调整至所述多个SRAM单元的晶体管中的至少一个晶体管,以改变晶体管中的所述至少一个晶体管的阈值电压。
在一个或多个实施例中,所述方法进一步包括在产生所述位线的电流的步骤之前退激活所述数据处理系统中的输入/输出电路。
在一个或多个实施例中,在所述位线上生成所述电流进一步包括生成穿过所述第一和第二SRAM单元中的每一个的N沟道晶体管的电流。
根据本发明的第二方面,提供一种用于根据数据处理系统中的物理不可克隆函数(PUF)生成数字代码的方法,所述方法包括:
提供多个SRAM单元以用作所述PUF;
响应于质询而选择所述多个静态随机存取存储器(SRAM)单元以供写入操作;
将预定逻辑状态写入到所有所述多个SRAM单元;
使对应于所述多个SRAM单元的多个位线对中的每一位线对中的一个位线偏置到预定电压;
选择所述多个SRAM单元以供PUF读取操作;
提供第一SRAM单元的一个位线的第一读取电流和第二SRAM的一个位线的第二读取电流;
将所述第一读取电流转换成第一电压,并将所述第二读取电流转换成第二电压;
比较所述第一电压与所述第二电压;以及
响应于所述比较而输出逻辑位。
在一个或多个实施例中,写入所述预定逻辑状态进一步包括将逻辑零写入到所有所述多个SRAM单元。
在一个或多个实施例中,所述方法进一步包括将所述逻辑位提供到并行输入串行输出移位寄存器。
在一个或多个实施例中,提供第一SRAM单元的一个位线的第一读取电流和第二SRAM的一个位线的第二读取电流进一步包括提供穿过所述第一和第二SRAM单元中的每一个的N沟道晶体管的所述第一和第二读取电流。
在一个或多个实施例中,所述方法进一步包括选择性地将体偏置调整至所述多个SRAM单元的晶体管中的至少一个晶体管,以改变晶体管中的所述至少一个晶体管的阈值电压。
在一个或多个实施例中,所述方法进一步包括在提供所述第一和第二读取电流的步骤之前退激活所述数据处理系统中的输入/输出电路。
根据本发明的第三方面,提供一种数据处理系统,包括:
处理器核心;
耦合到所述处理器核心的SRAM阵列,所述SRAM阵列具有多个SRAM单元,所述多个SRAM单元中的每一SRAM单元耦合到一对位线和字线,其中所述多个SRAM单元用于提供物理不可克隆函数(PUF);以及
耦合到所述多个SRAM单元的PUF评估引擎,所述PUF评估引擎包括:
选择电路,其用于响应于质询而选择耦合到所述多个SRAM单元的一个或多个字线;
偏置电路,其耦合到对应于所述多个SRAM单元的所述位线对中的每一对中的一个位线;以及
至少一个比较器,其耦合到所述位线对中的每一对中的所述一个位线,所述至少一个比较器用于比较所述位线中的两个位线之间的电压差,位线上的电压表示一个SRAM单元的读取电流,其中响应于所述比较而从所述比较器输出逻辑状态。
在一个或多个实施例中,所述数据处理系统进一步包括开关电路,其用于选择将第一位线对中的一个位线和第二位线对中的一个位线耦合到所述至少一个比较器。
在一个或多个实施例中,所述数据处理系统进一步包括体偏置电路,其用于选择性地将体偏置调整至所述多个SRAM单元的所述晶体管中的至少一个晶体管,以改变所述晶体管中的所述至少一个晶体管的阈值电压。
在一个或多个实施例中,所述数据处理系统进一步包括并行输入串行输出移位寄存器,其耦合到所述至少一个比较器的输出。
在一个或多个实施例中,所述多个SRAM单元耦合到多个位线对,其中所述至少一个比较器进一步包括多个比较器,所述多个比较器中的比较器耦合到所述多个位线对中的第一位线对中的第一位线和所述多个位线对中的第二位线对中的第一位线。
本发明的这些和其它方面将根据下文中所描述的实施例显而易见,且参考这些实施例予以阐明。
附图说明
本发明是借助于例子示出的,并且不受附图的限制,在附图中类似标记指示类似元件。为简单和清晰起见示出图中的元件,并且这些元件未必按比例绘制。
图1示出根据实施例的系统。
图2示出根据实施例的用于输出PUF响应的图1中的系统的一部分。
图3示出图2的SRAM单元的实施例。
图4示出用于在图1的系统中生成PUF响应的方法。
图5示出图4的方法中的步骤的更多细节。
图6示出根据实施例的用于输出PUF响应的图1的系统的一部分。
图7示出根据另一实施例的用于输出PUF响应的图1的系统的一部分。
图8示出根据实施例的SRAM单元的另一实施例。
具体实施方式
一般来说,提供一种在SRAM阵列中的多个SRAM单元中实施的PUF。提供一种用于使用PUF在数据处理系统中生成数字代码的方法。在所述方法中,首先将逻辑零写入具有PUF的所有SRAM单元。使耦合到存储每一SRAM单元的逻辑零的存储节点的位线偏置到预定电压。接着,选择对应于逻辑零存储节点的位线以用于评估读取操作。在评估读取期间,位线中的一个位线的读取电流被转换成第一电压,且另一位线的读取电流被转换成第二电压。接着,比较第一电压与第二电压。数字代码的位的逻辑状态确定为比较结果。可将逻辑位提供到并行输入串行输出移位寄存器的输入。可存在用于每一逻辑位的比较器,或者若干个比较器可在逻辑位之间共享,或者若干个位可通过复用来共享比较器。使用两个SRAM单元来提供数字代码的一个位。数字代码可用于为数据处理系统提供签名。使用穿过单元的导电N沟道晶体管而不是P沟道晶体管的位线电流提供了更高的抗老化能力。并且,穿过N沟道晶体管的读取电流是在微安范围内的DC电流,其提供抗噪性,这不同于对噪声敏感的单元的启动特性。此外,每一单元的晶体管的体偏置可发生变化以增加读取电流的相对变化,从而潜在地减小签名大小。具体来说,使晶体管接近或低于阈值电压的体偏置条件将有效地实现读取电流的这一增加的相对变化。
以此方式实施SRAM PUF提供了可重复的更稳定签名,也同样提供了高度随机性。因此,既不需要帮助程序数据也不需要BIST。所述方法还提供了更好的抗老化性、抗AC噪声性和更高的可靠性。
在一个实施例中,提供一种用于在数据处理系统中生成数字代码的方法,所述方法包括:选择多个静态随机存取存储器(SRAM)单元以供写入操作;将预定逻辑状态写入到所有多个SRAM单元;使对应于多个SRAM单元的多个位线对中的每一位线对中的仅一个位线偏置到预定电压;将多个SRAM单元中的第一SRAM单元的位线耦合到比较器的第一输入;将多个SRAM单元中的第二SRAM单元的位线耦合到比较器的第二输入;在第一和第二SRAM单元的位线上生成电流;将这两个位线上的电流转换成电压;使用比较器,比较第一SRAM单元的位线上的电压与第二SRAM单元的位线上的电压;以及从比较器输出逻辑位,响应于所述比较而确定所述逻辑位的逻辑状态。多个SRAM单元可包括物理不可克隆函数(PUF),并且数字代码是PUF响应。所述方法可另外包括:在并行输入串行输出移位寄存器中保存逻辑位的逻辑状态;以及使用所述逻辑状态生成数字代码。所述方法可另外包括从安全模块接收质询,其中响应于所述质询而发生所述输出逻辑位。第一和第二SRAM单元可耦合到基于多个位线对中的位线对的布局中的对称位线位置而几何匹配的位线。将预定逻辑状态写入到所有多个SRAM单元的步骤可另外包括将逻辑零写入到所有多个SRAM单元。所述方法可另外包括选择性地调整多个SRAM单元的晶体管中的至少一个晶体管的体偏置,以改变晶体管中的所述至少一个晶体管的阈值电压。所述方法可另外包括在生成位线的电流的步骤之前退激活数据处理系统中的输入/输出电路。在位线上生成电流的步骤可另外包括生成穿过第一和第二SRAM单元中的每一个的N沟道晶体管的电流。
在另一实施例中,提供一种用于根据数据处理系统中的物理不可克隆函数(PUF)生成数字代码的方法,所述方法包括:提供多个SRAM单元以用作PUF;响应于质询而选择多个静态随机存取存储器(SRAM)单元以供写入操作;将预定逻辑状态写入到所有多个SRAM单元;使对应于多个SRAM单元的多个位线对中的每一位线对中的一个位线偏置到预定电压;选择多个SRAM单元以供PUF读取操作;提供第一SRAM单元的一个位线的第一读取电流和第二SRAM的一个位线的第二读取电流;将第一读取电流转换成第一电压,并将第二读取电流转换成第二电压;比较第一电压与第二电压;以及响应于所述比较而输出逻辑位。写入预定逻辑状态的步骤可另外包括将逻辑零写入到所有多个SRAM单元。所述方法可另外包括将逻辑位提供到并行输入串行输出移位寄存器。提供第一SRAM单元的一个位线的第一读取电流和第二SRAM的一个位线的第二读取电流的步骤可另外包括提供穿过第一和第二SRAM单元中的每一个的N沟道晶体管的第一和第二读取电流。所述方法可另外包括选择性地调整多个SRAM单元的晶体管中的至少一个晶体管的体偏置,以改变晶体管中的所述至少一个晶体管的阈值电压。所述方法可另外包括在提供第一和第二读取电流的步骤之前退激活数据处理系统中的输入/输出电路。
在又一实施例中,提供一种数据处理系统,其包括:处理器核心;耦合到处理器核心的SRAM阵列,所述SRAM阵列具有多个SRAM单元,多个SRAM单元中的每一SRAM单元耦合到一对位线和字线,其中多个SRAM单元用于提供物理不可克隆函数(PUF);以及耦合到多个SRAM单元的PUF评估引擎,所述PUF评估引擎包括:选择电路,其用于响应于质询而选择耦合到多个SRAM单元的一个或多个字线;偏置电路,其耦合到对应于多个SRAM单元的位线对中的每一对中的一个位线;以及至少一个比较器,其耦合到位线对中的每一对中的一个位线,所述至少一个比较器用于比较所述位线中的两个位线之间的电压差,位线上的电压表示一个SRAM单元的读取电流,其中响应于所述比较而从比较器输出逻辑状态。所述数据处理系统可另外包括开关电路,其用于选择将第一位线对中的一个位线和第二位线对中的一个位线耦合到至少一个比较器。所述数据处理系统可另外包括体偏置电路,其用于选择性地调整多个SRAM单元的晶体管中的至少一个晶体管的体偏置,以改变晶体管中的所述至少一个晶体管的阈值电压。所述数据处理系统可另外包括并行输入串行输出移位寄存器,其耦合到至少一个比较器的输出。多个SRAM单元可耦合到多个位线对,其中至少一个比较器可另外包括多个比较器,多个比较器中的比较器耦合到多个位线对中的第一位线对中的第一位线和多个位线对中的第二位线对中的第一位线。
图1示出根据实施例的数据处理系统10。数据处理系统10包括处理器核心12、安全模块14、PUF评估引擎16和SRAM 18。处理器核心12可为用于执行指令的任何种类的处理器核心。处理器核心12双向连接到SRAM 18以用于常规读取和写入操作。处理器核心12还连接到安全模块14,以在安全模块14请求认证请求(REQ FOR AUTH)时提供应答信号(ACK)。安全模块14响应于从请求者接收到质询信号而提供认证请求。当因为从请求者接收到标记为质询(CHALLENGE)的质询而需要响应数据(RESPONSE DATA)时,PUF评估引擎16向SRAM 18提供地址。作为响应,SRAM 18又向PUF评估引擎16提供PUF响应。PUF评估引擎16评估所述响应并生成数字代码。数字代码用于生成唯一芯片ID、加密/解密密钥、数字签名等等。应注意,仅示出用于生成PUF响应的电路。出于简单性和清晰性的目的,省略了用于SRAM 18的正常读取和写入操作的一些或所有电路。
图2示出根据实施例的用于输出PUF响应的图1中的数据处理系统10的部分20。部分20包括SRAM单元列22和24、SRAM单元26和28、电阻元件27和29、字线驱动器30、电压源32和34,以及模拟比较器36。SRAM单元列22和24是图1中的SRAM阵列18的一部分。SRAM阵列18包括组织成行和列的多个SRAM单元。多个SRAM单元形成用于生成PUF响应的PUF。在所示出的实施例中,列包括位线对和连接到位线对的所有SRAM单元。行包括字线和连接到字线的所有SRAM单元。行和列相交以使得存储器单元在相交点处耦合到字线和位线对。在其它实施例中,存储器的组织可为不同的。
在列22中,标记为BL0和BLB0的位线对与标记为WL的字线相交。示出代表性SRAM单元26在字线WL和位线对BL0和BLB0的相交处连接到字线WL和位线对BL0和BLB0。更多个字线与位线对BL0和BLB0相交(未示出)。应注意,位线BLB是位线BL的逻辑补。同样地,列24包括位线对BL1和BLB1,以及连接到位线对BL1和BLB1与字线WL的代表性SRAM单元28。比较器36具有连接到列22的位线BL0的第一输入、连接到位线BL1的第二输入,以及用于提供标记为BIT_0的PUF响应的输出。比较器36的第一输入标记为“+”,第二输入标记为“-”。来自PUF的每一位线对的真实位线BL连接到比较器的输入以使得两个SRAM单元用于生成PUF响应的一个位。互补位线BLB不用于产生PUF响应。电阻性元件27具有在标记为V1的节点处连接到位线BL0的第一端,以及第二端。标记为VDD的电压源32具有连接到电阻性元件27的第二端的第一端,以及连接到VSS或接地的第二端。电阻性元件29具有在标记为V2的节点处连接到位线BL1的第一端,以及第二端。标记为VDD的电压源34具有连接到电阻性元件29的第二端的第一端,以及连接到VSS或接地的第二端。将在以下针对图4和图5的论述中论述部分20的操作。
图3示出图2的SRAM单元26的实施例。SRAM单元26是六晶体管SRAM单元,并且包括P沟道晶体管40和44,以及N沟道晶体管42、46、48和50。N沟道晶体管42和P沟道晶体管40形成第一反相器,并且N沟道晶体管46和P沟道晶体管44形成第二反相器。所述两个反相器交叉耦合以形成标记为N1和N2的两个存储节点。N沟道晶体管48和50是用于将位线耦合到存储节点N1和N2的接入晶体管。在其它实施例中,SRAM阵列18的SRAM单元可为不同的。交叉耦合的反相器连接于电源电压端VDD和接地端VSS之间。晶体管可使用适当的常规互补金属氧化物半导体(complementary metal-oxide semiconductor,CMOS)过程来实施。
图4示出用于在图1的数据处理系统中生成PUF响应的方法60。现在参考图1到4,方法60开始于步骤62。在步骤62处,将输入质询从请求者提供到安全模块14。在步骤64处,如果安全模块14还未在作用中,那么启动安全模块14。处理器可进入非作用中状态,例如等待状态,并且在PUF评估期间退激活输入/输出(input/output,I/O)电路以防由较大输出晶体管的切换所产生噪声影响PUF评估。在步骤66处,安全模块14启动PUF评估引擎16,并接着将质询转发到PUF评估引擎16。在步骤68处,PUF评估引擎16评估包括PUF的SRAM单元,并提供响应于所述质询而生成的PUF响应。在步骤70处,重新启用I/O。将PUF响应提供到安全模块14,并且安全模块14可将PUF响应转发给请求者。处理器核心12恢复正常处理。处理器核心12可接入SRAM 18以供常规读取和写入接入。并且,处理器核心12可响应于例如认证请求而与安全模块14通信。
图5示出图4的方法60中的步骤68的更多细节。更详细的步骤68开始于步骤72。在步骤72处,PUF评估引擎16接收质询并生成用于接入SRAM阵列18中的PUF的地址。在所示出的实施例中,PUF可包括所有SRAM 18或其一部分,这取决于PUF所需的位的数量和SRAM阵列18的大小。如果仅使用阵列的一部分,那么PUF可使用SRAM阵列18的一个连续区域或分布在整个阵列中。在步骤74处,地址选择具有PUF的SRAM单元,并且PUF评估引擎16使得逻辑零被写入到选定SRAM单元中。参考图3,通过利用逻辑零使真实位线BL0偏置,并利用逻辑一使互补位线BLB0偏置来写入逻辑零。接入N沟道晶体管48和50为导电的,因为字线WL是逻辑高,使得存储节点N1为低,存储节点N2为高。高存储节点N1使晶体管40和42的栅极为高,以使得P沟道晶体管40断开或不导电,且N沟道晶体管42接通或导电。存储节点N1处的低电压使N沟道晶体管46不导电。在步骤76处,如偏置,标记为i1的读取电流从电压源32和电阻性元件27流动穿过N沟道晶体管48和50。电阻性元件用以将电流转换成电压,从而可以轻易比较。横跨电阻性元件27的电压降标记为V1。类似电流流动穿过所有其它真实位线和SRAM单元,以用于产生PUF响应。例如,在图2中,类似于图3中穿过SRAM单元26的电流i1,标记为i2的电流从电压源34流动穿过电阻性元件29并穿过SRAM单元28。在步骤78处,电流i1和i2分别从相邻SRAM单元26和28产生电压V1和V2,所述电压V1和V2被提供到比较器36的正输入和负输入。在一个实施例中,电流i1和i2来自邻近位线。在另一实施例中,电流可来自基于SRAM阵列18的布局中的对称位线位置而匹配的位线。一般来说,取决于SRAM阵列布局,使用匹配位线减小了两个位线之间的电容式偏移。比较器36是比较V1与V2并提供具有根据电压V1和V2中的哪一个更高而确定的逻辑状态的输出位BIT_0的模拟比较器。例如,如果V1高于V2,那么输出位BIT_0可为逻辑一。以此方式,生成PUF响应的所有位。在步骤80处,可根据PUF响应生成唯一地识别具有SRAM阵列的集成电路装置的签名。在步骤82处,可将PUF响应提供到安全模块14。安全模块14接着可将PUF响应转发给质询的请求者。
相比于单元的P沟道晶体管,使用穿过单元的导电N沟道晶体管的位线电流提供了更高的抗老化能力。并且,穿过N沟道晶体管的读取电流是在微安范围内的DC电流,其提供抗噪性,这不同于对噪声敏感的单元的启动特性。然而,在另一实施例中,可提供穿过SRAM单元的P沟道晶体管的电流。
图6示出根据实施例的用于输出PUF响应的图1和图2的数据处理系统的一部分。在图6中,针对用于生成PUF响应的每一对列提供比较器。仅提供每一列的真实位线以供比较,未连接每一列的互补位线。N/2位并行输入串行输出移位寄存器连接到每一比较器的输出,例如比较器36、92和94,以接收图5中的步骤78的比较结果,其中N是所使用的列的数目。在示出的实施例中,多一倍的列用作PUF响应中的位,从而需要N/2个比较器。示出了地址解码器和WL驱动器90接收标记为地址选择(ADDRESS SELECTION)的地址。通过所接收的地址选择字线WL。
图7示出根据另一实施例的用于输出PUF响应的图1的数据处理系统的一部分。SRAM阵列18的部分98包括N列和M行。将N列中的每一列的真实位线提供到切换网络102。切换网络102允许产生具有N/2个位的PUF响应所需要的N列共享同一个比较器,例如比较器106。比较器106的输出连接到N/2位移位寄存器的输入。当在地址解码器和WL驱动器100的输入处提供地址时,选择用于生成PUF响应的SRAM单元。控制和解码器104控制切换网络102以依次穿过SRAM阵列部分98的选定列,从而提供它们的输出电压以供比较器106进行比较。控制和解码器104可使用计数器来实施,所述计数器将对PUF响应中的位的数目(N/2)进行计数。仅使用一个比较器比使用如图6中的N/2个比较器更节约面积,但是PUF响应生成的比较慢。
图8示出用于另一实施例的SRAM单元110和体偏置电路111。SRAM单元110是六晶体管SRAM单元,并且包括P沟道晶体管112和116,以及N沟道晶体管114、118、120和122。N沟道晶体管114和P沟道晶体管112形成第一反相器,并且N沟道晶体管118和P沟道晶体管116形成第二反相器。所述两个反相器交叉耦合。N沟道晶体管120和122是接入晶体管。晶体管中的每一个具有体端。P沟道晶体管112和116的体端标记为体PMOS(BODY PMOS),N沟道晶体管114、118、120和122的体端标记为体NMOS(BODY NMOS)。可将通常被称为反偏置的体偏压提供到体端中的每一个,以调整晶体管阈值电压VT。体偏置电路111生成标记为体PMOS(BODYPMOS)和体NMOS(BODY NMOS)的体偏压,以供选择性地提供到具有相同名称的体端。调整体偏置可增加VT,从而减小栅极-源极电压VGS和VT之间的差。减小的VGS-VT的差可增加随机性并减小签名的大小。在所示出的实施例中,因为仅比较穿过N沟道晶体管的电流,才需要或希望调整N沟道晶体管的体偏置。然而,在其中比较不同的电流的另一实施例中,可能需要调整其它单元晶体管的阈值电压。使晶体管接近或低于阈值电压的体偏置条件将有效地实现读取电流的这一增加的相对变化。
由于实施本发明的设备大部分由本领域的技术人员已知的电子组件和电路组成,因此为了理解和了解本发明的基本概念并且为了不混淆或偏离本发明的教示,将不会以比上文所说明的认为必要的任何更大程度阐述电路细节。
虽然本文中参考特定实施例描述了本发明,但是在不脱离如所附权利要求书所阐述的本发明的范围的情况下可以进行各种修改和改变。因此,说明书和图式应视为说明性而不是限制性的,并且预期所有这些修改都包括在本发明的范围内。并不打算将本文中相对于特定实施例描述的任何优势、优点或针对问题的解决方案理解为任何或所有权利要求的关键、必需或必不可少的特征或要素。
如本文中所使用,术语“耦合”并不意图局限于直接耦合或机械耦合。
此外,如本文中所使用,术语“一”被限定为一个或超过一个。并且,权利要求书中对例如“至少一个”和“一个或多个”等介绍性短语的使用不应被解释为暗示由不定冠词“一(a/an)”导入的另一权利要求要素将含有此导入的权利要求要素的任何特定权利要求限制为仅含有一个此要素的发明,甚至是在同一权利要求包括介绍性短语“一个或多个”或“至少一个”和例如“一(a/an)”等不定冠词时也如此。定冠词的使用也是如此。
除非另有陈述,否则例如“第一”和“第二”等术语用于任意地区别此类术语所描述的元件。因此,这些术语未必意图指示此类元件在时间上的优先级或其它优先级。

Claims (10)

1.一种用于在数据处理系统中生成数字代码的方法,其特征在于,所述方法包括:
选择多个静态随机存取存储器(SRAM)单元以供写入操作;
将预定逻辑状态写入到所有所述多个SRAM单元;
使对应于所述多个SRAM单元的多个位线对中的每一位线对中的仅一个位线偏置到预定电压;
将所述多个SRAM单元中的第一SRAM单元的位线耦合到比较器的第一输入;
将所述多个SRAM单元中的第二SRAM单元的位线耦合到所述比较器的第二输入;
在所述第一和第二SRAM单元的所述位线上生成电流;
将所述两个位线上的所述电流转换成电压;
使用所述比较器,比较所述第一SRAM单元的所述位线上的所述电压与所述第二SRAM单元的所述位线上的所述电压;以及
从所述比较器输出逻辑位,响应于所述比较而确定所述逻辑位的逻辑状态。
2.根据权利要求1所述的方法,其特征在于,所述多个SRAM单元包括物理不可克隆函数(PUF),并且所述数字代码是PUF响应。
3.根据权利要求1所述的方法,其特征在于,进一步包括:
在并行输入串行输出移位寄存器中保存所述逻辑位的所述逻辑状态;以及
使用所述逻辑状态生成所述数字代码。
4.根据权利要求1所述的方法,其特征在于,进一步包括从安全模块接收质询,其中响应于所述质询而发生所述输出所述逻辑位。
5.根据权利要求1所述的方法,其特征在于,所述第一和第二SRAM单元耦合到基于所述多个位线对中的位线对的布局中的对称位线位置而匹配的位线。
6.根据权利要求1所述的方法,其特征在于,将预定逻辑状态写入到所有所述多个SRAM单元进一步包括将逻辑零写入到所有所述多个SRAM单元。
7.根据权利要求1所述的方法,其特征在于,进一步包括选择性地将体偏置调整至所述多个SRAM单元的晶体管中的至少一个晶体管,以改变晶体管中的所述至少一个晶体管的阈值电压。
8.根据权利要求1所述的方法,其特征在于,进一步包括在产生所述位线的电流的步骤之前退激活所述数据处理系统中的输入/输出电路。
9.一种用于根据数据处理系统中的物理不可克隆函数(PUF)生成数字代码的方法,其特征在于,所述方法包括:
提供多个SRAM单元以用作所述PUF;
响应于质询而选择所述多个静态随机存取存储器(SRAM)单元以供写入操作;
将预定逻辑状态写入到所有所述多个SRAM单元;
使对应于所述多个SRAM单元的多个位线对中的每一位线对中的一个位线偏置到预定电压;
选择所述多个SRAM单元以供PUF读取操作;
提供第一SRAM单元的一个位线的第一读取电流和第二SRAM的一个位线的第二读取电流;
将所述第一读取电流转换成第一电压,并将所述第二读取电流转换成第二电压;
比较所述第一电压与所述第二电压;以及
响应于所述比较而输出逻辑位。
10.一种数据处理系统,其特征在于,包括:
处理器核心;
耦合到所述处理器核心的SRAM阵列,所述SRAM阵列具有多个SRAM单元,所述多个SRAM单元中的每一SRAM单元耦合到一对位线和字线,其中所述多个SRAM单元用于提供物理不可克隆函数(PUF);以及
耦合到所述多个SRAM单元的PUF评估引擎,所述PUF评估引擎包括:
选择电路,其用于响应于质询而选择耦合到所述多个SRAM单元的一个或多个字线;
偏置电路,其耦合到对应于所述多个SRAM单元的所述位线对中的每一对中的一个位线;以及
至少一个比较器,其耦合到所述位线对中的每一对中的所述一个位线,所述至少一个比较器用于比较所述位线中的两个位线之间的电压差,位线上的电压表示一个SRAM单元的读取电流,其中响应于所述比较而从所述比较器输出逻辑状态。
CN201810328407.5A 2017-04-12 2018-04-12 基于sram的物理不可克隆函数及产生puf响应的方法 Active CN108694335B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/486,049 2017-04-12
US15/486,049 US9947391B1 (en) 2017-04-12 2017-04-12 SRAM based physically unclonable function and method for generating a PUF response

Publications (2)

Publication Number Publication Date
CN108694335A CN108694335A (zh) 2018-10-23
CN108694335B true CN108694335B (zh) 2023-04-28

Family

ID=61872874

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810328407.5A Active CN108694335B (zh) 2017-04-12 2018-04-12 基于sram的物理不可克隆函数及产生puf响应的方法

Country Status (2)

Country Link
US (1) US9947391B1 (zh)
CN (1) CN108694335B (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6106043B2 (ja) * 2013-07-25 2017-03-29 ルネサスエレクトロニクス株式会社 半導体集積回路装置
MA40917A (fr) * 2014-11-03 2017-09-12 Micali Silvio Prévention de la contrefaçon
US10067701B2 (en) * 2016-03-24 2018-09-04 Taiwan Semiconductor Manufacturing Co., Ltd. SRAM-based authentication circuit
US10572190B2 (en) * 2017-05-17 2020-02-25 Winbond Electronics Corp. Physical unclonable function code providing apparatus and providing method thereof
US10777265B2 (en) * 2017-11-13 2020-09-15 International Business Machines Corporation Enhanced FDSOI physically unclonable function
JP6646103B2 (ja) * 2018-05-30 2020-02-14 ウィンボンド エレクトロニクス コーポレーション 半導体装置
US10733327B2 (en) * 2018-06-26 2020-08-04 Taiwan Semiconductor Manufacturing Co., Ltd. Method and apparatus for protecting a PUF generator
US10818327B2 (en) * 2018-06-29 2020-10-27 Taiwan Semiconductor Manufacturing Company, Ltd. Memory circuit and method of operating same
US10958453B2 (en) * 2018-07-03 2021-03-23 Taiwan Semiconductor Manufacturing Co., Ltd. Method and apparatus for noise injection for PUF generator characterization
US11152313B1 (en) 2018-07-31 2021-10-19 Synopsys, Inc. Using threading dislocations in GaN/Si systems to generate physically unclonable functions
CN109495272B (zh) * 2018-10-31 2021-04-30 复旦大学 一种基于忆阻器的强puf电路
CN111241600B (zh) * 2018-11-29 2023-04-11 裕太微电子股份有限公司 一种基于电阻加工不确定性的puf电路及其工作方式
US10734047B1 (en) * 2019-01-29 2020-08-04 Nxp Usa, Inc. SRAM based physically unclonable function and method for generating a PUF response
CN109871716A (zh) * 2019-02-25 2019-06-11 湖北工业大学 针对sc puf电路的可靠性增强结构及其增强方法
CN111723408B (zh) * 2019-03-21 2023-06-02 中芯国际集成电路制造(上海)有限公司 用于生成puf特征码的装置
US10574469B1 (en) * 2019-04-10 2020-02-25 Nxp Usa, Inc. Physically unclonable function and method for generating a digital code
US11082242B2 (en) * 2019-05-17 2021-08-03 Taiwan Semiconductor Manufacturing Co., Ltd. Transistor-based physically unclonable function
US11164648B2 (en) 2019-06-18 2021-11-02 Nxp Usa, Inc. Glitch profiling in an integrated circuit
US11056161B2 (en) * 2019-07-26 2021-07-06 Nxp Usa, Inc. Data processing system and method for generating a digital code with a physically unclonable function
US11277271B2 (en) 2019-07-31 2022-03-15 Nxp Usa, Inc. SRAM based physically unclonable function and method for generating a PUF response
US11907685B2 (en) 2019-11-08 2024-02-20 Globalfoundries U.S. Inc. Structure and method for random code generation
US20210258173A1 (en) * 2020-02-18 2021-08-19 International Business Machines Corporation Gain cell memory based physically unclonable function
US20210119812A1 (en) * 2020-12-23 2021-04-22 Intel Corporation Time-based multi-dimensional key recreation mechanism using puf technologies
CN112837737B (zh) * 2021-01-28 2024-05-10 翼盾(上海)智能科技有限公司 具有指数增长型响应数量的puf电路及加密装置
US11784835B2 (en) 2021-02-24 2023-10-10 Nvidia Corp. Detection and mitigation of unstable cells in unclonable cell array
US11411563B1 (en) 2021-02-24 2022-08-09 Nvidia Corp. Detection and mitigation of unstable cells in unclonable cell array
US11750192B2 (en) 2021-02-24 2023-09-05 Nvidia Corp. Stability of bit generating cells through aging
US20240062791A1 (en) * 2022-08-22 2024-02-22 Nxp B.V. Voltage generation circuit for sram
US12001674B2 (en) 2022-10-28 2024-06-04 Nxp Usa, Inc. Reusing memory arrays for physically unclonable function (PUF) generation
WO2024142056A1 (en) * 2022-12-28 2024-07-04 Proteantecs Ltd. Physically unclonable function for an integrated circuit

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020552A (zh) * 2012-12-20 2013-04-03 天津联芯科技有限公司 基于sram的puf的片上自我注册系统及其实现方法
CN105932996A (zh) * 2016-04-18 2016-09-07 宁波大学 一种电阻分压型dac-puf电路
CN106355111A (zh) * 2015-07-13 2017-01-25 德州仪器公司 基于sram时序的物理不可克隆函数

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012045627A1 (en) 2010-10-04 2012-04-12 Intrinsic Id B.V. Physical unclonable function with improved start-up behavior
US9219722B2 (en) * 2013-12-11 2015-12-22 Globalfoundries Inc. Unclonable ID based chip-to-chip communication
US9202554B2 (en) * 2014-03-13 2015-12-01 International Business Machines Corporation Methods and circuits for generating physically unclonable function
US10218517B2 (en) * 2014-03-25 2019-02-26 Carnegie Mellon University Methods for generating reliable responses in physical unclonable functions (PUFs) and methods for designing strong PUFs
WO2015171620A1 (en) * 2014-05-05 2015-11-12 University Of South Florida Physically unclonable function based on domain wall memory and method of use
US10129036B2 (en) * 2014-09-18 2018-11-13 Intel Corporation Post-processing mechanism for physically unclonable functions
CN107437431B (zh) * 2016-05-26 2022-08-30 新唐科技日本株式会社 非易失性存储装置
US9870811B2 (en) * 2016-06-17 2018-01-16 Qualcomm Incorporated Physically unclonable function based on comparison of MTJ resistances

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020552A (zh) * 2012-12-20 2013-04-03 天津联芯科技有限公司 基于sram的puf的片上自我注册系统及其实现方法
CN106355111A (zh) * 2015-07-13 2017-01-25 德州仪器公司 基于sram时序的物理不可克隆函数
CN105932996A (zh) * 2016-04-18 2016-09-07 宁波大学 一种电阻分压型dac-puf电路

Also Published As

Publication number Publication date
US9947391B1 (en) 2018-04-17
CN108694335A (zh) 2018-10-23

Similar Documents

Publication Publication Date Title
CN108694335B (zh) 基于sram的物理不可克隆函数及产生puf响应的方法
US11574674B2 (en) SRAM based authentication circuit
US10574469B1 (en) Physically unclonable function and method for generating a digital code
US10734047B1 (en) SRAM based physically unclonable function and method for generating a PUF response
US11005669B2 (en) PUF generators based on SRAM bit cells
US11056161B2 (en) Data processing system and method for generating a digital code with a physically unclonable function
US10439827B2 (en) SRAM-based authentication circuit
US9787481B2 (en) Physical unclonable function using augmented memory for challenge-response hashing
US10157043B2 (en) SRAM-based true random number generator
US8854866B2 (en) Identification circuit and method for generating an identification bit
US11277271B2 (en) SRAM based physically unclonable function and method for generating a PUF response
US8730713B2 (en) SRAM cell writability
US11012246B2 (en) SRAM-based authentication circuit
US20220029834A1 (en) Physically unclonable function having source bias transistors
Do et al. 0.2 V 8T SRAM with PVT-aware bitline sensing and column-based data randomization
Clark et al. Physically unclonable functions using foundry SRAM cells
US11955157B2 (en) Physically unclonable function apparatus based on ferroelectric elements and operation method thereof
TWI758845B (zh) 記憶體裝置、隨機數產生器及操作其的方法
US9256261B2 (en) Semiconductor device having identification information generating function and identification information generation method for semiconductor device
US20150138902A1 (en) Three-dimensional (3-d) write assist scheme for memory cells
Okumura et al. A 128-bit chip identification generating scheme exploiting load transistors' variation in SRAM bitcells
Fujiwara et al. Assessing uniqueness and reliability of SRAM-based Physical Unclonable Functions from silicon measurements in 45-nm bulk CMOS

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