CN104704768B - 用于从用作物理不可克隆功能的存储器中生成密码密钥的*** - Google Patents
用于从用作物理不可克隆功能的存储器中生成密码密钥的*** Download PDFInfo
- Publication number
- CN104704768B CN104704768B CN201380052311.6A CN201380052311A CN104704768B CN 104704768 B CN104704768 B CN 104704768B CN 201380052311 A CN201380052311 A CN 201380052311A CN 104704768 B CN104704768 B CN 104704768B
- Authority
- CN
- China
- Prior art keywords
- memory
- content
- encrypted
- scrambling
- address
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 475
- 230000006870 function Effects 0.000 title claims abstract description 49
- 238000000034 method Methods 0.000 claims description 50
- 238000003860 storage Methods 0.000 claims description 43
- 238000012937 correction Methods 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 14
- 238000013500 data storage Methods 0.000 claims description 11
- 230000005611 electricity Effects 0.000 claims description 9
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 235000017060 Arachis glabrata Nutrition 0.000 claims description 6
- 241001553178 Arachis glabrata Species 0.000 claims description 6
- 235000010777 Arachis hypogaea Nutrition 0.000 claims description 6
- 235000018262 Arachis monticola Nutrition 0.000 claims description 6
- 235000020232 peanut Nutrition 0.000 claims description 6
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 claims description 4
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 claims description 4
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 claims description 4
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 2
- 239000000284 extract Substances 0.000 claims description 2
- 230000005622 photoelectricity Effects 0.000 claims 1
- 239000000872 buffer Substances 0.000 description 15
- 230000008859 change Effects 0.000 description 12
- 238000004519 manufacturing process Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000006073 displacement reaction Methods 0.000 description 5
- 230000000977 initiatory effect Effects 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 238000000151 deposition Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000002146 bilateral effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000002349 favourable effect Effects 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000003306 harvesting Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- 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
-
- 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/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/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
一种用于生成密码密钥的电子***100,所述***包括:存储器110,其被用作物理不可克隆功能,所述存储器是可写的、易失的并且被配置成使得在所述存储器每次上电时,所述储存器安置取决于所述存储器的至少部分随机物理特性的存储器内容,所述存储器是通过存储器接口可访问的;以及密钥导出单元150,其被配置成从所述存储器安置的所述存储器内容中导出所述密码密钥,其中所述用于生成密码密钥的电子***还包括存储器读出单元,所述存储器读出单元通过所述存储器接口连接至所述存储器,并连接至所述密钥导出单元,所述存储器读出单元包括地址加扰器140,用于经所述存储器接口按加扰的顺序检索所述存储器内容。
Description
技术领域
本发明涉及用于生成密码密钥(cryptographic key)的电子***,该***包括:被用作物理不可克隆功能的存储器,该存储器是可写的、易失的并且被配置成在该存储器每次上电时,该储存器安置取决于该存储器的至少部分随机物理特性的存储器内容,通过存储器接口该存储器是可访问的;以及密钥导出单元,其被配置成从该存储器安置的存储器内容中导出该密码密钥。
背景技术
物理不可克隆功能(PUF)已被证明是多种形式的安全识别——包括安全存储器中密钥、识别符等的存储——的有利替代。
物理不可克隆功能采用制造变化来获得数字识别符。该数字识别符因此被绑定到物理媒质。因为物理不可克隆功能取决于随机工艺变化,因此易于形成PUF,但是即使不是完全不可能也非常难于形成产生特定预定识别符的PUF。制造变化导致存储器元件的不同物理特性。例如,物理特性可包括:掺杂浓度、氧化层厚度、沟道长度、结构宽度(例如,金属层的结构宽度)、寄生现象(例如,电阻、电容)等。当多次制造数字电路设计时,这些物理特性会稍微变化并且它们共同引起IC元件(例如,存储器元件)的行为在一些情况下表现为不同。例如,启动行为是由物理特性中的制造变化确定的。
对于PUF来说,合意选择是易失存储器,尤其是基于存储器的触发器,更具体地是静态随机存取存储器(SRAM)。这样的存储器易于评估并且制造成本低。基于SRAM的PUF被称作SRAM PUF。SRAM具有的属性是在上电之后,它们被填充以随机模式的开比特和关比特。尽管该模式在下一次SRAM上电时不可准确度地重复自身,但是两个这样的模式之间的差异通常远小于该状态中比特数的一半。相同SRAM的存储器上电内容之间的差异一般远小于不同SRAM的存储器上电内容之间的差异。
由于当相同的询问(challenge)被评估两次时PUF可能未给出完全相同的结果,因此可使用所谓的辅助数据(Helper Data)算法(也被称作模糊提取)来确保每次导出的密钥相同。例如,在国际专利申请WO 2006/129242,“Template Renewal in Helper DataSystems”等描述了一种使用辅助数据以根据噪声测量构造可复写的值的方式。
PUF(尤其是SRAM PUF)的一个应用是导出电子电路上的密码密钥。该电子电路通常包括集成电路(IC)和/或可编程逻辑。
PUF的一个优点是它们本质上拥有抗篡改特性。没有PUF的话,通过在其中密钥以常规方式存储的非易失存储器上安装物理攻击,攻击者可恢复密码密钥。例如,攻击者可打开存储器并且探查它的内容。使用PUF使得这种类型的攻击困难得多,原因在于打开PUF通常会干扰它;探查例如SRAM的动态内容比探查嵌入式非易失存储器困难得多。因此,攻击者从他的探查获得的信息与用于创建密码密钥的交互无关。这样使得攻击者更难以使用物理攻击找到密钥。
遗憾的是,侵入的物理攻击不是攻击者可获得有关PUF的内部状态的至少一些信息所依据的唯一攻击矢量。所谓的侧信道也可能泄漏信息。侧信道是***上与该***内部出现的物理现象有关的信息源,该信息源可以从该***的外部观察到并且该信息源除了揭示该***的预期可观察的输入输出行为之外还揭示至少在某种程度上与该***的内部操作和/或状态相关联的信息。
功率消耗、时间消耗和电磁辐射是与密码***相关的侧信道的实例。例如,***使用密码密钥时监测的密码***的功率消耗可在一定程度上与密钥相关联。由于将密码密钥保密是最重要的,因此与该密钥相关联的任何信息泄露是有问题的。
在公布为WO/2010/100015、标题为“System for establishing a cryptographickey depending on a physical system”的国际专利申请PCT/EP2010/051631中公开了减少在从PUF导出密钥的误差校正部分期间(即,在执行辅助数据算法期间)出现的侧信道泄漏的解决方案。误差校正是避免侧信道泄漏的特别重要的阶段,原因是它多次处理敏感数据,引入多个非线性相关。此外,如果误差校正被实施在软件中则泄漏被放大。
发明内容
已经证明,一旦解决了可能在误差校正期间出现的侧信道泄漏,则留下较小的侧信道泄漏源。尽管这些较小的源需要更复杂的测量并且甚至在成功测量之后仅提供相对少的敏感信息,但仍然期望解决可能在机密密钥的导出期间出现的其它侧信道泄漏源。
当测量基于PUF的存储器(诸如SRAM PUF)的功率消耗时,在该存储器的读出过程期间出现一个侧信道。例如,当PUF控制块读出通过存储器接口连接的存储器的启动值(上电存储器内容)时。存储器接口的功率消耗取决于所转移的数据字的汉明权重(hammingweight)。读出SRAM存储器内容可能泄漏通过功率分析或电磁分析或甚至光电发射攻击所读的数据字节的汉明权重信息。
如果假设汉明权重与功率消耗之间存在完美的对应关系,则对于8比特宽的存储器接口,数据泄漏理论上将高达约每字节2.54比特,即,约30%。尽管实际上,该对应关系远不完美,并且因此信息泄漏小得多,但是仍需要减少基于PUF的存储器的存储器接口中的侧信道泄漏。理论上随着存储器接口变得更宽每比特最大泄漏急剧下降。例如,如果存储器接口增加到16比特,则每比特的理论泄漏几乎减半。然而,较大的存储器接口成本较高并且吸取更多功率,阻碍了它们在某些环境下的使用。
光电发射攻击利用可在集成电路中状态改变时发射的少量光子形成的光学侧信道。
提供一种用于生成密码密钥的电子***,所述***包括:被用作物理不可克隆功能的存储器,该存储器是可写的、易失的并且被配置成在该存储器每次上电时,该存储器安置(settle into)取决于该存储器的至少部分随机物理特性的存储器内容,该存储器是通过存储器接口可访问的;以及密钥导出单元,其被配置成从该存储器安置的存储器内容中导出所述密码密钥。
该用于生成密码密钥的电子***还包括存储器读出单元,该存储器读出单元通过存储器接口连接到该存储器,并连接到该密钥导出单元,该存储器读出单元包括地址加扰器,用于经该存储器接口按加扰的顺序检索该存储器内容。
因为该存储器内容是经存储器接口以加扰的顺序转移的,因此减少了侧信道泄漏。尽管数据字本身的汉明权重仍被泄漏,但是失去了汉明权重与存储器内容的特定数据字之间的对应关系。如果与组成该存储器内容的个体数据字的大小相比该存储器内容的数据字是大的,则侧信道泄漏减少的多。这是由于在这种情况下测量的汉明权重可属于许多可能的数据字。这是尤其方便的,原因在于对于小数据字(8比特以及更少比特)来说可能的泄漏更大。据估计,1024比特的存储器内容或更多比特的存储器内容的侧信道泄漏是可忽略的。
注意到,许多试图减少从依赖汉明权重的功率差泄漏的信息量的对策是不适用的。例如,所谓的恒定权重(constant-weight)代码已经被提出作为对策。在恒定权重代码中,所有的敏感数据被编码在具有固定汉明权重(通常等于数据字比特大小的一半)的数据字中。尽管此对策减少了依赖汉明权重的功率差(在例如存储在安全存储器中的密钥),但是它不适用于基于PUF的存储器。确定存储器内容的物理特性是随机的,即,不能够规定用于存储器内容的特定编码类型。
用于生成密码密钥的电子***可被包含在移动计算设备(诸如智能卡)、移动通信设备(诸如移动电话、平板等)中。从存储器内容导出的密钥可用在询问响应协议中,在该询问响应协议中,该***证实拥有该密钥。该密钥可用于例如加密的存储或通信中的机密性保护。该导出的密钥可以是对称密钥,但是甚至可以是非对称公共/私有的密钥对,例如,通过将该密钥用作找到非对称密钥的种子。
用于生成密码密钥的电子***可被包含在集成电路中。例如,该集成电路可以是ASSP,即,实施适用于广阔市场的特定功能的专用集成电路。ASSP例如用于实施音频/视频编解码。通过用本文中所描述的用于生成密码密钥的电子***生成密码密钥来改进使用密码密钥、支持密码功能的ASSP的安全性。
例如,该集成电路可以是DSP。这将改进使用例如用PUF生成的密钥或它的导出物进行加密的应用;例如,保护流内容(streaming content)同时保持密钥安全。
PUF生成的密钥可被用作用于认证和/或用于建立安全通信信道的信任根。建立安全通信信道例如对于包括该用于生成密码密钥的电子***的NFC芯片是重要的。
该存储器被用作物理不可克隆功能。该存储器可包括多个可被配置成两个稳定状态的二进制存储元件。在启动时,每个二进制存储元件安置处于这两个移动状态中的一个。它安置处于哪个状态主要由存储元件的精确的制造(例如,掺杂水平)决定,尽管元件安置处于的状态也受偶然波动影响。例如,该存储器可包括多个触发器,尤其是D型触发器,尤其该存储器可以是SRAM存储器。该存储器的上电内容受到噪声和扰动的影响。一些FPGA包括可被用作作为物理不可克隆功能的存储器使用的未初始化的SRAM块。
该存储器接口可包括地址信道和数据信道。通过加扰(例如,在将存储器地址放在地址信道之前加扰所述存储器地址加扰)可实现对存储器的加扰的访问。在这种情况下,通过选择不同的密钥可获得不同的加扰顺序。优选地,加扰顺序是攻击者不知道的(即,机密),更优选地,该加扰顺序对于设备是唯一的,例如,在制造时选择的,更优选地,由该***本身经常改变该加扰顺序,甚至更优选地,该加扰顺序是在存储器读出单元启动时至少部分地随机确定的。
功率分析、电磁分析和光电发射攻击通常需要许多重复测量(跟踪)以得到良好的信噪比。然后对重复的测量执行统计分析。通过使读出顺序随机化,或者甚至有规律地改变读出顺序,阻碍了此分析。
该密钥导出单元被配置成从存储器安置的存储器内容中导出密码密钥。该导出单元将噪声从存储器内容中移除。例如,该密钥导出单元包括:非易失辅助数据存储器,该辅助数据存储器存储为用作物理不可克隆功能的存储器构造的辅助数据;组合器,用于建立可校正的比特串,该可校正的比特串位于误差校正代码的可校正的邻域中,该组合器被配置成从辅助数据存储器检索辅助数据并且将检索的辅助数据与存储器安置的存储器内容进行组合;以及误差校正器,其被配置成使用误差校正算法从可校正的比特串建立误差校正代码的代码字。
该辅助数据被构造用于存储器的一个特定的物理实例,原因在于不同存储器芯片的存储器启动内容非常不同。如果按加扰的顺序获得存储器内容,则可按相同的加扰顺序应用该辅助数据或对加扰的存储器内容进行解扰。混合解决方案是可行的,例如,可以移除加扰,即,通过执行是加扰顺序的逆的置换,同时应用一个固定的预定顺序。该预定顺序对于攻击者可以是机密。例如,该***在制造期间可已经被配置有该预定顺序。该预定顺序对于每个设备可以是不同的。
该存储器读出单元被配置用于安全地读出存储器。地址加扰器可被用于经存储器接口按加扰的顺序检索存储器内容。存储器加密不直接适用于保护PUF,原因在于它的内容不能够被规定。我们提及加扰以表明通过改变数据的顺序(即,置换数据)来模糊数据,这与通过改变数据本身(即,通过加密)的数据模糊不同。
对于从PUF重新构造密码密钥,PUF数据必须以特定的预定顺序与辅助数据进行组合。在PUF控制块的设计中,如果可以线性顺序读出辅助数据则更有效。尤其,如果辅助数据是不提供随机访问外部地址总线但是其中必须按块(具有数百到数千比特的典型的块大小)读数据的存储器。例如,如果该辅助数据存储器是闪存,则按不同的顺序读出辅助数据是低效的。如果该辅助数据可被线性地读出,则是有利的。在一个实施方案中,逐块读该辅助数据,线性读每个块。同时,避免在经存储器接口接收该存储器内容之后将存储器内容解扰也是有利的。
这可通过在存储器读出单元中具有加密和解密单元来实现。该加密单元被配置成对存储器进行加密,该加密单元被配置成按加扰的顺序从存储器接口接收存储器安置的存储器内容,加密接收的存储器内容并且将经加密的内容写回到存储器。该解密单元被配置成将存储器解密,被配置成按预定顺序从存储器接口接收经加密的存储器内容,按所述预定顺序解密所接收的加密的存储器内容以获得存储器安置的存储器内容。
这提供了以两个阶段将不能够预先编码的数据(诸如存储器上电数据)安全读出。在第一阶段,安全是通过加扰(置换)实现的;在第二阶段,安全是通过加密实现的。第一阶段不给于随机访问,但在第二阶段可按任何期望的顺序访问存储器,尤其是按组合辅助数据所需要的顺序。组合辅助数据所需要的顺序可以是线性的,但还可以是用于附加的模糊的一些其它的预定顺序。在是用于附加的模糊的一些其它的预定顺序的情况下,可按相同的预定顺序为SRAM数据准备辅助数据。从辅助数据的角度来看按何种顺序读出SRAM数据是并不重要,只要与准备辅助顺序时的顺序一样。
加密可以用临时密钥对每个数据块进行加密。该临时密钥可以被内部地导出到***。例如,该临时密钥可以是从第二PUF导出的,可能在PUF控制块的内部,第二PUF为发生故障的读出和/或加密提供随机性。在一个实施方案中,加密的数据块被立即写回到SRAM存储器中。在一个实施方案中,加密单元按加扰的顺序将加密的内容数据写回,从而用加密的存储器内容覆写存储器内容。
加扰的读出和加密的写回是在处理辅助数据之前所做的准备步骤。当需要构造密码密钥时,按顺序读出所有SRAM PUF数据并且将其解密,之后将其与辅助数据异或。
用于按预定顺序安全地读出可写的存储器的电子存储器读出单元是特别有利的。发明人已经意识到,该读出单元同样可被用于其它可写的存储器的安全读出。对于由于一些原因而不能够预先编码或加密(例如,用汉明权重平衡代码加密或编码)的需要安全的、侧信道受保护的读出的任何存储器因此可以被安全地读。该存储器优选地是可写的,这是因为允许双通(two-pass)方法。该存储器可以是易失的,例如,用于作为PUF,或非易失的,例如用于数据转移。
在一个实施方案中,该读出单元包括另一个易失存储器,该另一个易失存储器不同于用作PUF的存储器,被配置成使得在该另一个存储器每次上电时,第二存储器安置一个噪声存储器内容,从第二存储器中安置的存储器内容中导出种子。
重复该存储器的读出是有必要的。例如,在一些实施方案中,被用作PUF的存储器可被再次上电,独立于PUF控制块的功率,或更具体地,独立于存储器读出单元。例如,这可以被完成以再次导出密码密钥;这使得该密钥被使用后被立即删除。然而,如果从依赖于上电的PUF获得随机性来创建新的值,例如,基于PUF的存储器,该PUF将不会给出新的加扰顺序。这可通过包括密码单向函数的读出单元来避免,该密码单向函数被配置成应用于种子以获得新的种子,地址加扰器被配置成从该新的种子导出新的加扰顺序,从而用于经存储器接口按新的加扰顺序重新提取存储器内容,而无需上电。例如,该存储器读出单元可被配置成接收被用作PUF的存储器再次上电的信号。一接收该信号,应用单向函数,并且导出新的种子和/或加密密钥。
该另一个PUF或第二PUF优选地在PUF控制块和/或存储器读出单元的内部,因此它可能是一个单独的SRAM PUF。第二PUF可被用于生成随机种子,该随机种子能够被用于创建需要被按顺序读出的存储器地址的随机置换,以测量SRAM PUF。调节算法(例如,散列(hash)函数)可被用于从PUF响应计算随机种子。
优选地,第二PUF还由可被容易地集成在IP块中的标准部件组成。对于这种情况,DFF PUF是良好选择。D触发器的启动值足够随机。该单向函数可以是密码块,诸如AES、DES、SHA等。
本发明的一个方面是一种用于生成密码密钥的方法。该方法包括:用作物理不可克隆功能的存储器上电,该存储器是可写的并且易失的;允许该存储器安置取决于该存储器的至少部分随机物理特性的存储器内容;经存储器接口按加扰的顺序检索该存储器内容;从该存储器安置的存储器内容中导出密码密钥。
该方法的一个实施方案包括通过如下步骤加密该存储器:从存储器接口按加扰的顺序接收存储器安置的存储器内容,加密接收的存储器内容,并且将加密的存储器内容写回该存储器,并且包括通过如下步骤解密所述存储器:从存储器接口按预定顺序接收经加密的存储器内容,并按所述预定顺序解密所接收的经加密的存储器内容以获得所述存储器安置的存储器内容。
根据本发明的一种方法可被实施在计算机上作为计算机实施的方法,或可被实施在专用硬件中或可被实施在二者的组合中。用于根据本发明的方法的可执行代码可被存储在计算机程序产品上。计算机程序产品的实施例包括存储器设备、光学存储设备、集成电路、服务器、在线软件等。优选地,该计算机程序产品包括存储在计算机可读媒质上的非暂时性程序代码装置,用于当在计算机上执行所述程序产品时执行根据本发明的方法。
在一个优选地实施方案中,该计算机程序包括计算机程序代码装置,当该计算机程序在计算机上运行时,该计算机程序代码装置适于执行根据本发明的方法的所有步骤。优选地,该计算机程序实施在计算机可读媒质上。
附图说明
通过参考下文中所描述的实施方案,本发明的这些和其它方面将会明显并且得以阐明。在附图中,
图1a是例示了用于生成密码密钥的电子***的框图,
图1b是例示了用于在图1a的***中使用的密钥导出单元的框图,
图2是例示了用于生成密码密钥的电子***的框图,
图3a是例示了保留加扰的代码字边界的框图,
图3b是例示了保留加扰的非代码字边界的框图,
图4是例示了用于生成密码密钥的方法的流程图,
图5a-5d是例示了用于加扰和加密存储器的不同实施方案的示意图。
应注意,在不同的图中具有相同参考数字的项具有相同的结构特征和相同的功能,或者是相同的信号。在已经解释了这样的项的功能和/或结构的情况下,没有必要在具体实施方案中对其进行重复解释。
框图中的参考数字列表
100 用于生成密码密钥的电子***
110 用作物理不可克隆功能的存储器
112,114,116 存储器位置
120 存储器接口
122 数据信道
124 地址信道
130 PUF控制块
140 地址加扰器
150 密钥导出单元(key derivation unit)
152 缓冲器
154 置换器
156 误差校正逻辑
200 用于生成密码密钥的电子***
210 PUF控制块
220 存储器读出单元
230 密钥导出单元
240 加密单元
250 解密单元
255 地址生成器
260 另一个存储器
265 随机密钥和种子导出单元
270 缓冲器
280 组合器
285 辅助数据存储器
290 误差校正器
295 密钥导出功能单元
310 存储器内容
312,314,316 代码字大小的存储器组块
320 加扰的存储器访问
322,324,326 代码字大小的存储器组块
330 加扰的存储器访问
510,511,512,514 加密阶段
520 解密阶段
具体实施方式
虽然本发明可能有许多不同形式的实施方案,但是附图中示出了并且将在本文中详细描述一个或多个具体实施方案;应理解,本公开内容应被认为是本发明的原理的例示,而不意在将本发明限于所示出的和描述的具体实施方案。
图1a和1b作为示意性框图例示了用于生成密码密钥的电子***100。
***100包括被用作物理不可克隆功能(PUF)的存储器110。该存储器属于可写并易失类型。此外,该存储器具有的属性是在每次该存储器上电时,该储存器安置取决于该存储器的至少部分随机物理特性的存储器内容。物理环境波动通常是由制造过程中小的工艺变化引起的。
由于该储存器安置的存储器内容取决于这样的物理特性,因此存储器内容识别该存储器的特定实例化。即,两个相同设计的存储器110将在启动时示出足够不同的存储器内容,以识别存储器。例如,存储器110可基于触发器;尤其,存储器110可以是SRAM。
存储器110包括上电内容被用作PUF的存储器位置的序列。所述存储器位置可通过相应的存储器地址的序列访问,即是读或写可访问的。112、114、116示出该存储器位置的序列中的三个。
***100包括PUF控制块130。PUF控制块130被配置成处理存储器110在启动时安置的存储器内容以产生密码密钥。在其原始状态,存储器内容不直接用作密钥。在上电时存储器110的存储器内容不只是取决于它的物理特性;该存储器内容还受噪声影响。此外,存在其环境中物理波动(诸如,温度和存储器上的机械应力)的影响。由于存储器内容受噪声影响,因此它不可直接用作密码密钥。此外,单个比特中的熵可能太低。PUF控制块130通过误差校正以及可选地密钥导出来解决这些问题。误差校正等是由密钥导出功能150执行的,该密钥导出功能包含在控制块130中。
PUF控制块130通过存储器接口120连接到存储器110。存储器接口120包括数据信道122(例如数据线)和地址信道124(例如地址线)。存储器接口120还可包括控制线等。
存储器接口的使用具有的缺点是它是一个潜在的侧信道。可通过观察***100的功率消耗确定经数据信道122通信的字的汉明权重,同时经数据信道122传递该码字。例如,如果数据信道122是8比特宽,则每个字可能泄漏大约1-2比特的信息。这样的泄漏包括整个***的安全性。
控制块130包括用于经存储器接口按一个加扰的顺序检索存储器内容的地址加扰器140。优选地,地址加扰器140实施(伪)随机置换。例如,地址加扰器140按所述加扰的顺序生成存储器地址的序列。实施地址加扰器140的一种合宜的方式是通过合适大小的加密函数对存储器地址的序列进行加密。方便地,存储器110的大小被选择为2的幂,使得它可由整数个比特一对一寻址。在这种情况下,可使用块宽度等于所述整数个比特的块密码(blockcipher)。可使用Feistel密码来构造这样的块密码。Feistel密码可以是不平衡的,例如,可使用所谓的Thorp shuffle。更一般地,可使用所谓的格式保留加密来调节具有任意寻址方案或任意大小的存储器110。格式保留加密将地址的序列双射地(bijectively)映射到它本身上。
当使用加密时,地址加扰器140可按任意顺序(例如线性地)生成地址的序列,并对该序列进行加密。可使用替代方式来按照加扰的顺序产生地址的序列。例如,地址加扰器140可包括反馈移位寄存器(例如,线性反馈移位寄存器),该反馈移位寄存器被配置成按加扰的顺序产生存储器地址的序列。
存储器110安置的存储器内容是按加扰的顺序检索的。
在图1a、1b的实施方案中,密钥导出单元150按加扰的顺序接收存储器内容。图1b示出一种处理存储器内容的具体方式。
密钥导出功能150包括缓冲器152、置换器154和误差校正逻辑156。
缓冲器152缓冲从存储器110(例如,从存储器读出单元(未在图1a中单独示出))接收的存储器内容。置换器154执行由地址加扰器140施加的逆置换。置换器154可在缓冲器152中按与存储器110中产生存储器内容相同的顺序产生存储器内容。但是,通过执行加扰置换的逆与代表任意预定顺序的置换的功能复合,置换器154可在缓冲器152中按该预定顺序产生存储器内容。置换器154可与加扰器140连接或甚至与加扰器140集成以获得正确的解扰操作。逆置换的结果被传递到误差校正逻辑156。误差校正逻辑156通过与辅助数据组合来校正噪声,并且可选地,向该结果施加密钥导出功能(KDF),例如,可用密码散列函数使该结果散列。用作PUF的存储器的存储器内容中的噪声的校正自身是公知的。一个可包括具有存储器读出单元而不是密钥导出功能的置换器154和缓冲器152。
当存储器内容仅以加扰的形式行经存储器接口时,它仍揭示了汉明权重,然而,由于不再知道汉明权重对应于哪个字,因此泄漏了相当少的信息。
尽管这是个重要的优点,但图1a、1b的实施方案有一些缺点。首先,需要由置换器154执行解扰操作。这是相对昂贵的操作,特别是如果直接完成。
如果误差校正逻辑156使用单个代码字,则缓冲器152将是存储器110的大小的两倍,以使用非直接的解扰。这是相对昂贵的。然而,优选地,由于较小的代码字校正是更资源有效的,因此误差校正使用多个代码字。在这种情况下,加扰操作可被配置成遵守代码字边界,但有其它选项,例如,使用更大的缓冲器或使用其它本文中描述的解决方案。图3a例示了加扰操作。
存储器内容310被分割成代码字大小的存储器组块(chunk)。图3a示出三个这样的组块312、314、316。每个组块都可独立于其它组块被误差校正。在320处描绘了存储器相同的部分但具有加扰的存储器访问。箭头指示对应于原始地址的加扰的地址。注意到,此映射遵守代码字边界。即,存储器地址的序列包括连续的存储器地址的多个代码字序列,地址加扰器140生成地址的序列以使得一起生成所述多个代码字序列中的每一个而没有被不同序列的地址交错。尽管这样的地址加扰所防止的侧信道泄漏较少,但是它仍是显著的改进。图3b示出没有遵守代码字边界的加扰的存储器访问330。这样的加扰功能防止更多的泄漏,但是较难(尽管不是不可能)由图1的密钥导出功能调节。下面参照图2描述的***能够处理加扰的存储器访问,诸如加扰的存储器访问330,其不必须遵守使用双通***的代码字边界。
代替使用置换器154,还可在与辅助数据组合期间考虑加扰。在这种情况下,密钥导出单元150可包括从缓冲器152和从辅助数据存储器(图1b中未示出)读取的组合器。此方法也具有缺点:辅助数据存储器通常是非易失存储器,其通常是成块读出的,使得辅助数据存储器中的随机访问经常承担高性能损失。
图2例示了用于生成密码密钥的改进的电子***200。图4例示了可使用***200执行的用于生成密码密钥的方法的流程图,但变型是可能的。
类似于***100,***200包括被用作PUF的存储器110,存储器110通过存储器接口120连接到PUF控制块210。PUF控制块包括存储器读出单元220和密钥导出单元230。
存储器读出单元220被配置成按预定顺序安全地读出存储器110。该预定顺序是根据什么方便于随后的密钥导出而确定的。通常,该预定顺序是自然线性顺序,但任何顺序都是可能的。例如,为了增加模糊,可选择随机但固定的预定顺序,并且可为根据该随机但固定的预定顺序置换的存储器内容计算辅助数据。此后,我们将假设该预定顺序是线性的,但应注意这是可变化的。通过存储器110的上电(步骤410)和允许存储器安置存储器内容(步骤420)来获得存储器内容。安置时间取决于存储器,并且如果需要可实验确定。由于安置时间通常远短于通常在电子计算设备上执行的引导功能,因此通常不需要引入一个延时元件,该延时元件使得存储器的读出延时以供该存储器读出单元的软件实施。
密钥导出单元230按预定顺序从存储器读出单元220接收存储器110安置的存储器内容。在一个实施方案中,可使用被配置成执行通常PUF处理(误差校正并且通常是密钥导出功能)的已知的密钥导出单元。如果使用已知的密钥导出单元,则从密钥导出单元230的角度看,它像平常一样接收存储器内容。因此仅粗略地描述***的这部分。
密钥导出单元可包括缓冲器270。缓冲器270足够大以保存单个代码字。密钥导出功能可包括组合器280,用于组合缓冲器的内容与存储在辅助数据存储器285中的辅助数据。我们将假设组合功能是典型的比特式异或操作,但可使用任何可逆的二进制操作,例如,以不同字值的数为模的加法,例如,一个字节的模为256。通过将先前获得的存储器内容的拷贝与误差校正代码的代码字进行异或获得辅助数据。代码字是机密,并且可从误差校正代码中随机选择或根据一些密钥管理方案进行挑选。在操作期间,组合器280将辅助数据与缓冲器270中获得的存储器内容进行异或以获得位于机密代码字的邻域的可校正的比特串。误差校正器290应用对应于误差校正代码的误差校正代码算法以再次获得该机密代码字。如果需要,密钥导出功能单元应用密钥导出函数(KDF),例如,密码散列函数。可出于任何密码目的使用该密码函数,例如,认证、加密等。
有趣的是,误差校正也可使用同样双通***用于误差校正。存储器可被分成多个较小的字,这些较小的字被单独校正成代码字,例如,从哈达玛(Hadamard)代码校正成代码字。经校正的较小的代码字被组合成较大的代码字,该较大的代码字将被块大小较大的误差校正代码(例如BCH代码)校正。组合成较大的代码字优选地交错较小的码字。密钥导出功能可将经校正的较小代码字以加密的形式写回存储器。该密钥导出功能可使用解密单元在该存储器上执行随机访问,例如以执行该交错。以此方式,存储器110可被用作用于更复杂的误差校正方案的工作存储器,同时仍减少侧信道泄漏;在存储器110已经被加密之后,存储器110通过加密和解密单元支持随机访问读/写访问。
如果需要,密钥导出单元可使用对策以减少它的侧信道泄漏。例如,可使用WO/2010/100015中描述的设备和方法。
存储器读出单元包括:地址加扰器140,以经存储器接口按加扰的顺序检索存储器内容;加密单元240。加密单元240接收通过加扰器140检索的数据并将它加密。加密的数据(即加密的存储器内容)被写到存储器。尽管可使用任何存储器,但优选地加密的存储器内容被写回到存储器110。为了减少所需的存储器的量,可按相同的加扰的顺序将该存储器内容写回,从而用加密的存储器内容覆写存储器内容;每个加密的存储器字被写回到其被读出的相同的加扰地址。加密单元240和加扰单元140一起可具有直接使存储器加密的作用(但是按加扰的顺序)。
加密单元240可以是块密码。例如,加密单元240可以电子代码书模式(ECB)操作。例如,加密单元240可以计数器模式(CTR)操作,例如,以ECB模式加密地址并且将结果异或至存储器内容。由于块大小常常非常小(例如,8、16、32比特),因此后者是优选的,原因在于它掩盖了存储器内容中恰巧具有相等值的字之间的关系。
加密单元需要密钥。地址加扰器需要种子,或者在使用地址加密的情况下还需要密钥。密钥可以是固定的,但更优选地,它是在存储器读出单元220的启动时产生的。该密钥/种子可以是随机(真随机或者伪随机)产生的。例如,存储器读出单元220可包括真随机数生成器(未示出)。
然而,可观察到,通常仅在存储器读出单元220上电期间需要随机。这允许了图2中示出的另一个解决方案。存储器读出单元220包括另一个存储器260(优选地,在PUF控制块210内部并且不同于存储器110)。另一个存储器260也是易失的。该另一个存储器每次上电时,第二存储器安置噪声存储器内容。注意到该另一个存储器的内容也取决于它的物理特性,但出于此目的该存储器内容中的噪声被利用。例如,通过向存储器260的内容应用散列函数,随机密钥和种子导出单元265从存储器265的存储器内容中导出密钥和/或种子。如果需要新的密钥/种子,例如以稍后重新读存储器110的内容,则可通过向旧的种子应用单通函数来获得新的密钥和新的种子而无需重新上电。
存储器读出单元220还包括解密单元250和地址生成器255。地址生成器255可与解密单元250组合。地址生成器255被配置成按预定顺序生成存储器地址的序列。解密单元250然后将所接收的加密的存储器内容解密。
因此以两个阶段获得安全读出。在第一阶段中存储器被加密。此阶段较少地遭受侧信道泄漏,原因在于对该存储器的访问是按加扰的顺序。在第二阶段中,按任何期望的顺序(诸如预定顺序)读出该存储器。第二阶段更安全,原因在于经存储器接口传递的所有数据都被加密。***200优于***100的优点在于可使用任何加扰功能,甚至不需遵守代码字边界,同时密钥导出仍可对较小的代码字起作用。
***100和***200可被实施为电子设备,例如,半导体设备。***100和***200可被实施在专用硬件中。***100和***200的一部分可被实施为软件。通常,在后面的情况下,该***(例如,PUF控制块)包括执行存储在该设备上的适当软件的微处理器(未示出),例如,该软件可以已经被下载并且存储在相应的存储器中,例如,RAM(未示出)或非易失存储器(诸如闪存)。
图4以流程图例示了用于生成密码密钥的方法。可使用***200执行图4的方法,但变型是可能的。注意图4的步骤440、460、470对于该方法是可选的,并且可以被省略,例如使用***100。
可按如下完成***200的操作。首先,该***上电。(步骤410)在上电期间,存储器110上电并且允许安置它的存储器内容(步骤420)。存储器110的存储器内容代表此特定存储器,尽管它可能是噪声。以两个阶段完成该存储器内容的读出:在第一阶段,步骤430,存储器内容例如被加扰器140按加扰的顺序所检索(步骤430)并且被接收用于例如被加密单元240加密。存储器内容被加密(步骤440)并且被写回(步骤450)。在第二阶段,经加密的存储器内容例如按预定顺序(例如线性连续顺序)被地址生成器255检索并且被解密单元250接收(步骤460)。经加密的存储器内容被按照所述预定顺序解密以获得存储器110安置的存储器内容(步骤470)。
此时,存储器内容已经经存储器接口120没有侧信道泄漏或有最少的侧信道泄漏地从存储器110安全传递。通过组合存储器内容与辅助数据获得一个或多个可校正的比特串,可进行PUF处理。可校正的比特串位于误差校正代码的可校正的邻域。可使用误差校正算法误差校正所述一个或多个可校正的比特串以建立误差校正代码的代码字。通过应用KDF可从所建立的代码字导出密钥。
在步骤460和470中,按预定顺序获得存储器内容。期望的是存储器内容将与数据(诸如辅助数据)组合,这需要特定的顺序。然而步骤430、440、450和470可被一起使用(例如,没有步骤410、420和/或480)以从可写存储器安全地读任何数据,不仅是PUF数据。在这种情况下,在步骤460和470中没必要按预定顺序接收存储器内容,相反,任何期望的其它顺序是可能的。例如,一种用于按另一个顺序安全地读出存储器的方法包括如权利要求11所述的用于生成密码密钥,包括通过如下步骤对存储器进行加密:从存储器接口按加扰的顺序接收(430)存储器内容,对接收的存储器内容进行加密(440),并且将加密的存储器内容写回(450)存储器;并且包括通过如下步骤对存储器进行解密:从存储器接口按另一个顺序接收(460)经加密的存储器内容,并且按另一个顺序对所接收的加密的存储器内容进行解密(470)以获得存储器内容。
如本领域的技术人员将明了的,执行方法400的许多不同的方法是可能的。例如,所述步骤的顺序可变化或一些步骤可并行执行。此外,在步骤之间可***其它方法步骤。***的步骤可代表该方法的改进,诸如本文中所描述的,或可以与该方法无关。例如,可至少部分地并行执行步骤470和480。此外,在开始下一个步骤之前,一个给定的步骤可能还未完全完成。
可使用软件执行根据本发明的方法,该软件包括用于使处理器***执行方法400的指令。软件可仅包括该***的特定子实体采用的那些步骤。该软件可存储在合适的存储媒质(诸如硬盘、软盘、存储器等)中。该软件可作为信号沿着缆线或无线或使用数据网络(例如互联网)被发送。该软件可用于下载和/或用于在服务器上远程使用。
应理解,本发明还扩展到适于将本发明付储实践的计算机程序,特别是在载体上或在载体中的计算机程序。该程序可以是源代码形式、目标代码形式、源代码和目标代码之间的中间代码形式(诸如部分编译形式),或适合用于实施根据本发明的方法的任何其它形式。涉及计算机程序产品的实施方案包括对应于所阐明的方法中的至少一个的每个处理步骤的计算机可执行指令。这些指令可被细分成子程序并且/或者被存储在可被静态或动态链接的一个或多个文件中。涉及计算机程序产品的另一个实施方案包括对应于所阐明的***和/或产品中的至少一个的每个装置的计算机可执行指令。
图5a-5d例示了用于加扰和加密存储器的不同可能性。为了简化,仅示出存储器的8个存储器位置,存储器内容至少在这8个存储器位置上延伸。实际中,可使用大得多的存储器。在所述图中,用数字1到8指示存储器位置。存储器位置可以是例如一个字,诸如8比特字或16比特字等;用‘R’指示对存储器访问的读访问;并且用‘W’指示写访问;用‘A’指示模糊访问。模糊访问可以是读、写、或对相同存储器位置的读和写的组合;时间从左向右增加。
在图5a中,示出两个阶段,加密阶段510和随后的解密阶段520。在加密阶段期间,存储器迭代地读出单元:从一个存储器位置(即从一个存储器地址)读,对从存储器地址读的内容进行加密,并且写回到相同的存储器地址。通过地址加扰器加扰所述存储器地址。在加密阶段510结束时,整个存储器内容已经被加密,尽管已经按加扰的顺序读了存储器。图5a中所示的特定的加扰的顺序是示例性的。
在解密阶段期间,解密单元按另一个顺序接收加密的存储器内容。图5a中使用的另一个顺序是自然连续顺序。通常,当比较相同设备的连续上电时,加扰的顺序是不同的但是该另一个顺序是相同的。为了在密钥导出或误差校正期间等获得最好的性能,优选地在加密阶段结束后开始解密阶段520。这不是严格必须的,例如,在已经进行了加密的写回到该另一个顺序的第一存储器位置之后,解密阶段可开始读该第一存储器位置,在进行了该另一个顺序的下一个存储器位置之后,该解密阶段可继续一个进一步解密。仅当需要模糊最大甚至以额外的复杂度为代价时该复杂度的增加才值得。在图5b-5d中,我们将假设不这样做,解密阶段因此是与图5a中相同的并且未被单独示出。
其中加密阶段包括重复循环读和加密地写回到加扰的存储器地址的序列的图5a的实施方案可以多个不同的方式变化。这样的变化有助于防止先进的攻击。
加密阶段期间的读访问和写访问不需要严格交替。例如,加密阶段可以读多个存储器内容,对它们进行加密并且写回多个加密的存储器内容。写回发生的顺序可与读它们的顺序相同或不同。加密的顺序可以是线性的或重新加扰的。图5b示出加密阶段511,其中以多个批组完成读操作和写操作,在该情况中,每次4个读和4个写。该批组使用线性写回,第二批组使用加扰的写回。通过使得对于每个地址更难于将读值和它的加密相关联,多个批组改进了5a的情况。
近来光电发射攻击已经被证实通过在访问期间从SRAM结构的背侧记录光子活动来直接以SRAM为目标。光子发射攻击是基于电子设备倾向于在操作时以特定概率发射光子的事实。光子生成速率与电源电压和晶体管开关频率成比例。尤其,读SRAM值也导致发射光子。当在IC的背侧瞄准CCD时,有可能通过记录读操作来收集有关存储器内容的信息。光子发射分析可辅助其它的密码分析方法和/或侧信道。
可能地,光电发射攻击同样可用于攻击SRAM PUF,例如,以记录每个PUF SRAM地址的第一次读。如果可以获得SRAM的上电存储器内容的完全读出,这将导致严重的安全问题。例如,如果光子发射的记录可被编程为使得它精确地捕获所有第一次读,并且没有更多的来自SRAM,以及重复测量许多次,则可聚集SRAM启动值的可靠图像。
读顺序的加扰独自不足以对抗光子攻击:随机化不改变图形是因为图形仅仅是所有初始读动作的总和而与读动作的顺序无关。幸运的是,在一个读出中如在图5a中且在更小程度上如在图5b中,与存储器上电时存储器安置的存储器内容相关联的读出散布有不是如此相关联的写回。这将使得更难以使用光子信息。为了攻击该设置,攻击者可使用快门机构以挑出(第一)读访问。快门被配置成在读期间处于打开位置而在写期间处于关闭位置。以此方式仅在未加密的读期间记录光子发射。在一个实施方案中,存储器读出单元被配置成至少部分随机地选择批组大小,并且被配置成通过地址加扰器执行批组大小数目的读操作,随后通过加密单元执行批组大小数目的加密的写回操作。例如,可在启动时选择批组大小,例如,可重复选择批组大小,例如,在每个批组大小的读之后。通过使批组大小依赖于PUF的一部分可实现至少部分随机。例如,可从1、2、3、4字节中随机地选择批次大小。
然而,期望甚至进一步减少与上电内容相关联的信号。
这可通过引入附加的随机访问(例如,对每个存储器位置的写和/或读)来实现。写将覆写初始值并且所有随后的读将发出干扰信息。为了使此对策更有效,需要将每个地址的附加的写和读相对于对其它地址的类似的写和读随机排序。
按随机顺序对SRAM做附加的读和写产生了更多的难以与初始PUF数据读分开的光子活动。用于附加的写的数据可以是随机数据、固定图案或甚至设备专用图案,其中PUF的一部分被用于导出设备专用图案。还可以使用这三个的组合。可基于本身基于PUF启动值的随机种子来随机化此顺序。该随机化使得难以为所有存储器位置挑出第一次读访问。
加扰的读出和加密的写回准备步骤可以被加强以显著阻碍此攻击。这是通过除加扰读顺序以外将读出和加密的写回阶段合并来实现的。
通过添加对加密数据的附加的读(例如,从每个地址读若干次),并且将第一次读与随后加密的数据读以随机化——例如基于PUF收获的随机种子——方式混合,攻击者不可能预测出读和写的确切方案,原因在于此方案每次上电都不同。因此,非常难以创建SRAM启动值的可靠图形。
例如,图5c的加密阶段512示出了与图510中相同的加扰的顺序,然而添加了附加的模糊访问。所述模糊访问是通过模糊单元(例如,包含在读出单元210中)完成的。例如,该模糊单元可有机会在单元210的其余部分的每次读和/或写访问之后***模糊访问。在图5c中仅对已经发生了加密的写回的存储器位置做模糊访问。
不同类型的访问是有利的。访问可以是附加的读。这实施起来更简单,因为它避免了需要写什么值的问题。访问可以是读/写循环。写访问更可能引起光子发射,因此引起附加的模糊。访问可以是读/写/写循环;在第一个写中,写随机值或固定值(例如,所有都是1)或读值的逆,然后在第二个写中将该读值写回。这将增加存储器位置中的切换并且还增加光子发射。执行模糊访问因此可包括选择存储器位置(即,地址,优选地,已经发生加密的写的地址),以及执行对所选择的存储器地址的访问。
该访问还可以是写访问,在写访问的情况下,必须注意的是写正确的值。图5d中示出了实施方式的效果和容易之间的特别良好的折衷。在图5d中加密阶段由多个读/写回循环组成。重复写以增加加密的(因此不相关联的)的写回的光子效果。另外在这种情景下,第一个写可以是随机的、逆的、固定的。不幸地,图5d展示有规律的图案RiWiWi,该图案使得易于使用快门挑出Ri;在一个实施方案中,用随机交错增强读/写模式。例如,写操作的次数可以是部分随机的,例如,可选择批组大小数目,如上文所指示的,然而该批组大小数目仅被用于控制写回的重复数。也可使用其它的随机交错。
具有的两次写回(其中第一次写回是加密的写回的逆)增加了光子发射,该光子发射降低了第一次读中可能的光电发射的作用。
在一个实施方案中,模糊单元被配置成执行对存储器中的存储器位置的模糊访问,在加密单元将加密的存储器内容写回到存储器位置之后执行该模糊访问。存在多种模糊单元可跟踪访问安全的存储器位置的方式。在另一个实施方案中,模糊访问在解密单元从存储器位置接收加密的存储器内容之前。
在另一个实施方案中,模糊单元执行从随机存储器位置的读访问。在加密阶段期间的固定点处(例如,在每次加密的读之后和在每次写回之后),该模糊单元有机会将模糊访问(优选地读访问)***到随机存储器位置。该模糊单元包括指示模糊单元将***模糊访问的概率的概率值。在加密阶段开始时,该概率值处在较低的值而在至少加密阶段期间该概率值增大使得在加密阶段结束时该概率值处在高值。例如,该概率值可在每次机会后从固定的开始值线性地增大到固定的结束值。
在加密阶段开始时,仅存储器的小部分已经被加密,附加的读冒着为攻击者改进信号的风险,然而在此阶段,读的概率低,在结束时存储器的大部分被加密,读加密的值的概率高。此方案的优点是不需要簿记(book-keeping)来跟踪从哪些存储器位置读是安全的(即具有加密的值)。在一个实施方案中,概率值从加密阶段的开始到结束从0.1线性增大到0.9。用于按另一个顺序安全地读出存储器的电子存储器读出单元的一个实施方案包括本文中所描述的模糊单元中的任何一个。
应注意:上述实施方案例示本发明而不是限制本发明,并且本领域技术人员将能够设计许多替代实施方案。
在权利要求中,在括号中的任何参考标记都不应被解释为限制该权利要求。动词“包括”(comprise)及其词形变化的使用不排除存在权利要求中所列元件或步骤之外的其他元件或步骤。元件前面的冠词“一(a/an)”不排除存在多个这样的元件。本发明可以通过硬件(包括几个分立元件)以及通过适当编程的计算机来实现。在列举了几个设备的装置权利要求中,这些设备中的几个可以通过同一项硬件来实现。仅凭某些措施被记载在相互不同的从属权利要求中这一事实,不表示不能有利地使用这些措施的组合。
Claims (18)
1.一种用于生成密码密钥的电子***(100;200),所述***包括:
-存储器(110),被用作物理不可克隆功能,所述存储器是可写的、易失的并且被配置成在所述存储器每次上电时,所述存储器安置取决于所述存储器的至少部分随机物理特性的存储器内容,所述存储器是通过存储器接口(120)可访问的,以及
-密钥导出单元(150;230),被配置成从所述存储器安置的所述存储器内容中导出所述密码密钥,
其中,所述用于生成密码密钥的电子***还包括,
-存储器读出单元(220),通过所述存储器接口连接至所述存储器,并且连接至所述密钥导出单元,所述存储器读出单元包括:
-地址加扰器(140)和地址生成器(255),所述地址加扰器用于经所述存储器接口按加扰的顺序检索所述存储器内容,所述地址生成器用于按预定的另一顺序检索所述存储器内容,
-加密单元(240),用于加密所述存储器,所述加密单元被配置成从所述存储器接口按所述加扰的顺序接收通过所述地址加扰器检索的存储器内容,加密所接收的存储器内容并且将经加密的存储器内容写回到所述存储器,以及
-解密单元(250),用于解密所述存储器,所述解密单元被配置成从所述存储器接口按所述预定的另一个顺序接收通过所述地址生成器检索的经加密的存储器内容,按所述预定的另一个顺序解密所接收的经加密的存储器内容以获得所述存储器内容,
其中,以两个阶段完成所述存储器的读出以用于所述密钥导出单元,在第一阶段中所述存储器被加密,其中对所述存储器的访问是按加扰的顺序,并且在第二阶段中按所述预定顺序读出所述存储器,其中经所述存储器接口传递的数据被加密。
2.根据权利要求1所述的电子***,包括
-非易失辅助数据存储器(285),所述辅助数据存储器存储为用作物理不可克隆功能的所述存储器构造的辅助数据,
-组合器(280),用于建立一个可校正的比特串,所述可校正的比特串位于一个误差校正代码的可校正的邻域中,所述组合器被配置成从所述辅助数据存储器检索所述辅助数据并且将所检索的辅助数据与所述存储器安置的所述存储器内容按从所述存储器读出单元获得的所述预定的另一个顺序进行组合,
-误差校正器(290),被配置成使用误差校正算法从所述可校正的比特串中建立误差校正代码的代码字。
3.根据权利要求1或2所述的电子***,其中所述加密单元被配置成将经加密的存储器内容按所述加扰的顺序写回到所述存储器,从而用经加密的存储器内容覆写所述存储器内容。
4.根据权利要求1或2所述的电子***,其中所述预定的另一个顺序是线性顺序。
5.根据权利要求1或2所述的电子***,其中所述加扰的顺序是从所述读出单元每次上电之后至少部分随机生成的种子中导出的。
6.根据权利要求5所述的电子***,其中所述读出单元包括密码单向函数,该密码单向函数被配置成被应用于所述种子以获得一个新的种子,所述地址加扰器被配置成从所述新的种子中导出一个新的加扰的顺序以用于经所述存储器接口按所述新的加扰的顺序重新提取所述存储器内容。
7.根据权利要求5所述的电子***,其中所述读出单元包括另一个易失存储器,所述另一个易失存储器被配置成在所述另一个存储器每次上电时,第二存储器安置噪声存储器内容,所述种子是从所述第二存储器安置的所述存储器内容中导出的。
8.根据权利要求1或2所述的电子***,包括模糊单元,所述模糊单元被配置成执行多次对所述存储器的附加的模糊访问,所述模糊访问被配置成减少来自所述存储器的光电发射与上电时所述存储器安置的存储器内容之间的关联。
9.根据权利要求8所述的电子***,所述模糊单元被配置成对所述存储器中的存储器位置执行模糊访问,所述模糊访问是在所述加密单元将经加密的存储器内容写回到所述存储器位置之后执行的。
10.根据权利要求8所述的电子***,其中所述存储器读出单元被配置成至少部分随机地选择批组大小,并且被配置成通过所述地址加扰器执行批组大小数目的读操作,随后通过所述加密单元执行批组大小数目的加密的写回操作。
11.根据权利要求2所述的电子***,其中
-所述存储器内容被分割成多个代码字大小的存储器组块,所述误差校正器(290)被配置成从所述可校正的比特串中建立多个代码字,所述组块中的每一个独立于其他组块被误差校正,
-所述地址加扰器(140)被配置成按加扰的顺序生成存储器(110)的存储器地址的序列,所述存储器地址的序列包括对应于所述多个存储器组块的连续存储器地址的多个代码序列,所述地址加扰器(140)生成所述地址的序列使得一起生成所述多个代码序列中的每一个而未被所述多个代码序列中的一个不同的代码序列的地址所交错。
12.根据权利要求1或2所述的电子***,其中被用作物理不可克隆功能的所述存储器是SRAM存储器。
13.根据权利要求1或2所述的电子***,其中被用作物理不可克隆功能的所述存储器是易失FPGA存储器。
14.一种集成电路,包括根据前述权利要求中任一项权利要求所述的用于生成密码密钥的电子***。
15.一种集成电路,包括根据权利要求1至13中任一项权利要求所述的用于生成密码密钥的电子***,其中所述集成电路是智能卡、ASSP、DSP、应用处理器、SIM和NFC芯片中的任意一个。
16.一种用于按预定的另一个顺序安全地读出存储器的电子存储器读出单元,所述存储器是可写的,所述电子存储器读出单元通过存储器接口能够连接至所述存储器,所述存储器读出单元包括
-地址加扰器和地址生成器(255),所述地址加扰器被配置成经所述存储器接口按加扰的顺序检索存储器内容,所述地址生成器用于按预定的另一顺序检索所述存储器内容,
-加密单元,用于加密所述存储器,所述加密单元被配置成从所述存储器接口按所述加扰的顺序接收通过所述地址加扰器检索的所述存储器内容,对所接收的存储器内容进行加密并且将经加密的存储器内容写回,以及
-解密单元,用于解密所述存储器,所述解密单元被配置成从所述存储器接口按所述预定的另一个顺序接收通过所述地址生成器(255)检索的经加密的存储器内容,按所述预定的另一个顺序解密所接收的经加密的存储器内容以获得所述存储器内容,
其中,以两个阶段完成所述存储器的安全读出,在第一阶段中所述存储器被加密,其中对所述存储器的访问是按加扰的顺序,并且在第二阶段中按所述预定顺序读出所述存储器,其中经所述存储器接口传递的数据被加密。
17.一种用于生成密码密钥的方法(400),所述方法包括
-被用作物理不可克隆功能的存储器上电(410),所述存储器是可写的并且易失的,
-允许(420)所述存储器安置取决于所述存储器的至少部分随机物理特性的存储器内容,
-经存储器接口按加扰的顺序检索(430)所述存储器内容并且按预定的另一个顺序检索所述存储器内容,
-通过以下步骤加密所述存储器,
--按所述加扰的顺序从所述存储器接口接收(430)所述存储器内容,
--加密(440)所接收的存储器内容,并且
--将经加密的存储器内容写回(450)到所述存储器,以及
-通过以下步骤解密所述存储器,
--从所述存储器接口按预定的另一个顺序接收(460)经加密的存储器内容,以及
--按所述预定的另一个顺序解密所接收的经加密的存储器内容(470)以获得所述存储器内容,
-从所述存储器安置的所述存储器内容中导出(480)密码密钥,其中以两个阶段完成所述存储器的读出以用于所述密钥导出单元,在第一阶段中所述存储器被加密,其中对所述存储器的访问是按加扰的顺序,并且在第二阶段中按所述预定顺序读出所述存储器,其中经所述存储器接口传递的数据被加密。
18.一种储存计算机程序的计算机可读媒质,所述计算机程序包括适于所述计算机程序在计算机上运行时执行权利要求17所述的所有步骤的计算机程序代码装置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP12187213 | 2012-10-04 | ||
EP12187213.9 | 2012-10-04 | ||
EP12194713 | 2012-11-29 | ||
EP12194713.9 | 2012-11-29 | ||
PCT/EP2013/068746 WO2014053286A1 (en) | 2012-10-04 | 2013-09-10 | System for generating a cryptographic key from a memory used as a physically unclonable function |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104704768A CN104704768A (zh) | 2015-06-10 |
CN104704768B true CN104704768B (zh) | 2018-01-05 |
Family
ID=49118557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380052311.6A Active CN104704768B (zh) | 2012-10-04 | 2013-09-10 | 用于从用作物理不可克隆功能的存储器中生成密码密钥的*** |
Country Status (6)
Country | Link |
---|---|
US (1) | US9430406B2 (zh) |
EP (1) | EP2904732B1 (zh) |
JP (1) | JP6267207B2 (zh) |
KR (1) | KR102201062B1 (zh) |
CN (1) | CN104704768B (zh) |
WO (1) | WO2014053286A1 (zh) |
Families Citing this family (82)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102014208210A1 (de) * | 2014-04-30 | 2015-11-19 | Siemens Aktiengesellschaft | Ableiten eines gerätespezifischen Wertes |
US9946858B2 (en) | 2014-05-05 | 2018-04-17 | Analog Devices, Inc. | Authentication system and device including physical unclonable function and threshold cryptography |
US10432409B2 (en) * | 2014-05-05 | 2019-10-01 | Analog Devices, Inc. | Authentication system and device including physical unclonable function and threshold cryptography |
US9672342B2 (en) | 2014-05-05 | 2017-06-06 | Analog Devices, Inc. | System and device binding metadata with hardware intrinsic properties |
IL234956A (en) * | 2014-10-02 | 2017-10-31 | Kaluzhny Uri | Data bus protection with enhanced key entropy |
US9640247B2 (en) | 2015-01-14 | 2017-05-02 | Qualcomm Incorporated | Methods and apparatuses for generating random numbers based on bit cell settling time |
EP3046095B1 (en) * | 2015-01-15 | 2021-10-20 | Siemens Aktiengesellschaft | A method of protecting diverse applications stored on an integrated circuit using PUFs |
EP3046096B1 (en) | 2015-01-15 | 2022-03-30 | Siemens Aktiengesellschaft | A protection method of writting encrypted data to a memory device and reading decrypted data from the memory device using the power up of a PUF |
US9425803B1 (en) * | 2015-05-07 | 2016-08-23 | The United States Of America As Represented By The Secretary Of The Navy | Apparatuses and methods for implementing various physically unclonable function (PUF) and random number generator capabilities |
US9875378B2 (en) | 2015-06-12 | 2018-01-23 | QUALCOMOM Incorporated | Physically unclonable function assisted memory encryption device techniques |
WO2017048257A1 (en) | 2015-09-17 | 2017-03-23 | Hewlett Packard Enterprise Development Lp | Obscuration of a cache signal |
US20170126414A1 (en) * | 2015-10-28 | 2017-05-04 | Texas Instruments Incorporated | Database-less authentication with physically unclonable functions |
US11429624B2 (en) * | 2015-11-20 | 2022-08-30 | Intrinsic Id B.V. | Assigning device |
DE102016201665A1 (de) * | 2016-02-03 | 2017-08-03 | Siemens Aktiengesellschaft | Verschlüsseln des Speicherinhalts eines Speichers in einem eingebetteten System |
US10572651B2 (en) | 2016-02-16 | 2020-02-25 | Samsung Electronics Co., Ltd. | Key generating method and apparatus using characteristic of memory |
US10097348B2 (en) * | 2016-03-24 | 2018-10-09 | Samsung Electronics Co., Ltd. | Device bound encrypted data |
US11843597B2 (en) * | 2016-05-18 | 2023-12-12 | Vercrio, Inc. | Automated scalable identity-proofing and authentication process |
US10177923B2 (en) * | 2016-07-15 | 2019-01-08 | Hiroshi Watanabe | Electronic appliance and network of the same |
US10911229B2 (en) | 2016-08-04 | 2021-02-02 | Macronix International Co., Ltd. | Unchangeable physical unclonable function in non-volatile memory |
US10469271B2 (en) | 2016-08-04 | 2019-11-05 | Macronix International Co., Ltd. | Physical unclonable function for non-volatile memory |
US10680809B2 (en) | 2016-08-04 | 2020-06-09 | Macronix International Co., Ltd. | Physical unclonable function for security key |
US11258599B2 (en) | 2016-08-04 | 2022-02-22 | Macronix International Co., Ltd. | Stable physically unclonable function |
US10855477B2 (en) | 2016-08-04 | 2020-12-01 | Macronix International Co., Ltd. | Non-volatile memory with physical unclonable function and random number generator |
CN106301786B (zh) * | 2016-08-10 | 2019-04-02 | 南京航空航天大学 | 一种基于sram型存储器的物理不可克隆函数响应纠错电路 |
US10318748B2 (en) * | 2016-09-30 | 2019-06-11 | Intel Corporation | Techniques to protect fuses against non-destructive attacks |
US10387660B1 (en) * | 2016-10-17 | 2019-08-20 | National Technology & Engineering Solutions Of Sandia, Llc | Computational optical physical unclonable function |
US10394492B2 (en) * | 2016-10-26 | 2019-08-27 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Securing a media storage device using write restriction mechanisms |
US9811689B1 (en) | 2016-12-27 | 2017-11-07 | Macronix International Co., Ltd. | Chip ID generation using physical unclonable function |
US10082975B1 (en) * | 2017-03-02 | 2018-09-25 | Micron Technology, Inc. | Obfuscation-enhanced memory encryption |
JP6882666B2 (ja) * | 2017-03-07 | 2021-06-02 | 富士通株式会社 | 鍵生成装置および鍵生成方法 |
CN106933752B (zh) * | 2017-03-09 | 2019-10-08 | 西安电子科技大学 | 一种sram型fpga的加密装置及方法 |
US11522725B2 (en) * | 2017-03-29 | 2022-12-06 | Board Of Regents, The University Of Texas System | Reducing amount of helper data in silicon physical unclonable functions via lossy compression without production-time error characterization |
KR101974465B1 (ko) * | 2017-05-25 | 2019-08-23 | 한밭대학교 산학협력단 | 노이즈가 삽입된 물리적 복제 불가 함수 시스템 |
US10425235B2 (en) | 2017-06-02 | 2019-09-24 | Analog Devices, Inc. | Device and system with global tamper resistance |
US10958452B2 (en) | 2017-06-06 | 2021-03-23 | Analog Devices, Inc. | System and device including reconfigurable physical unclonable functions and threshold cryptography |
US11093588B2 (en) * | 2017-06-26 | 2021-08-17 | Micron Technology, Inc. | Memory system including data obfuscation |
CN107196766B (zh) * | 2017-07-20 | 2023-04-14 | 中国工程物理研究院电子工程研究所 | 一种小型化量子认证*** |
EP3435586B1 (en) * | 2017-07-25 | 2019-08-07 | Intrinsic ID B.V. | Method to reduce aging of a cache memory |
US10949546B2 (en) | 2017-08-02 | 2021-03-16 | Samsung Electronics Co., Ltd. | Security devices, electronic devices and methods of operating electronic devices |
EP3454318B1 (en) * | 2017-09-12 | 2022-05-11 | eMemory Technology Inc. | Security system with entropy bits generated by a puf |
CN107908980B (zh) * | 2017-10-10 | 2021-11-23 | 芯海科技(深圳)股份有限公司 | 一种存储器数据加密保护的实现方法 |
US11050574B2 (en) | 2017-11-29 | 2021-06-29 | Taiwan Semiconductor Manufacturing Company, Ltd. | Authentication based on physically unclonable functions |
CN108229215A (zh) * | 2017-12-06 | 2018-06-29 | 杭州中天微***有限公司 | 一种地址加扰的存储装置及方法 |
CN108182371A (zh) * | 2017-12-22 | 2018-06-19 | 杭州中天微***有限公司 | 一种片上***的片外存储器地址加扰装置及方法 |
CN110018810B (zh) * | 2018-01-10 | 2021-05-18 | 力旺电子股份有限公司 | 随机码产生器 |
CN111630598B (zh) * | 2018-01-23 | 2023-04-11 | 新唐科技日本株式会社 | 非易失性存储装置以及其写入方法 |
JP6752247B2 (ja) * | 2018-03-09 | 2020-09-09 | 三菱重工業株式会社 | 情報配信装置、配信対象装置、情報配信システム、情報配信方法及びプログラム |
US11265151B2 (en) | 2018-03-09 | 2022-03-01 | Arizona Board Of Regents On Behalf Of Northern Arizona University | Key exchange schemes with addressable elements |
EP3562092A1 (en) * | 2018-04-26 | 2019-10-30 | Thales Dis Design Services Sas | Method for generating on-board a cryptographic key using a physically unclonable function |
GB201806997D0 (en) * | 2018-04-30 | 2018-06-13 | Univ Leuven Kath | Configurable hardware device |
US10742406B2 (en) | 2018-05-03 | 2020-08-11 | Micron Technology, Inc. | Key generation and secure storage in a noisy environment |
US11063755B2 (en) * | 2018-05-07 | 2021-07-13 | Cryptography Research, Inc. | Generating a key at a device based on a memory of the device |
WO2019241007A1 (en) * | 2018-06-11 | 2019-12-19 | Cryptography Research, Inc. | Generating a target data based on a function associated with a physical variation of a device |
US11113422B2 (en) | 2018-08-03 | 2021-09-07 | Micron Technology, Inc. | Data protection in computer processors |
US11074198B2 (en) | 2018-09-18 | 2021-07-27 | Micron Technology, Inc. | Key management in computer processors |
US11303462B2 (en) | 2018-11-19 | 2022-04-12 | Arizona Board Of Regents On Behalf Of Northern Arizona University | Unequally powered cryptography using physical unclonable functions |
KR102263877B1 (ko) * | 2018-12-18 | 2021-06-14 | 시큐리티플랫폼 주식회사 | 디바이스 고유암호키 생성기 및 방법 |
CN109656840A (zh) * | 2018-12-21 | 2019-04-19 | 成都海光集成电路设计有限公司 | 一种数据加解密的装置、方法、存储介质、以及数据存储*** |
US11233662B2 (en) * | 2018-12-26 | 2022-01-25 | Arizona Board Of Regents On Behalf Of Northern Arizona University | Keyless encrypting schemes using physical unclonable function devices |
TWI734314B (zh) | 2018-12-31 | 2021-07-21 | 美商美光科技公司 | 用於將數位指紋提供至主機裝置之系統、方法及非暫時性電腦可讀媒體 |
US11514174B2 (en) | 2019-01-23 | 2022-11-29 | Micron Technology, Inc. | Memory devices with cryptographic components |
US11218330B2 (en) | 2019-03-25 | 2022-01-04 | Micron Technology, Inc. | Generating an identity for a computing device using a physical unclonable function |
US11323275B2 (en) | 2019-03-25 | 2022-05-03 | Micron Technology, Inc. | Verification of identity using a secret key |
KR102169468B1 (ko) | 2019-05-20 | 2020-10-23 | 충북대학교 산학협력단 | 물리적 복제 불가능 함수에 적용 가능한 챌린지 혼합기 및 챌린지 혼합 방법 |
EP3981105A4 (en) * | 2019-06-07 | 2023-06-28 | Ohio State Innovation Foundation | Systems and methods using hybrid boolean networks as physically unclonable functions |
US11343108B2 (en) * | 2019-06-12 | 2022-05-24 | Arizona Board Of Regents On Behalf Of Northern Arizona University | Generation of composite private keys |
US11483167B2 (en) | 2019-06-20 | 2022-10-25 | Intel Corporation | Method and apparatus to provide memory based physically unclonable functions |
US11194978B2 (en) * | 2019-07-12 | 2021-12-07 | Northrop Grumman Systems Corporation | Combined radio frequency identification (RFID)-based asset management and component authentication |
US20210051010A1 (en) * | 2019-08-16 | 2021-02-18 | PUFsecurity Corporation | Memory Device Providing Data Security |
US20240056316A1 (en) * | 2019-10-08 | 2024-02-15 | Cryptography Research, Inc. | Encrypted physically unclonable function circuit helper data |
US11516028B2 (en) | 2019-12-24 | 2022-11-29 | CERA Licensing Limited | Temperature sensing physical unclonable function (PUF) authentication system |
GB201919297D0 (en) | 2019-12-24 | 2020-02-05 | Aronson Bill | Temperature sensing physical unclonable function (puf) authenication system |
KR20210129370A (ko) | 2020-04-20 | 2021-10-28 | 삼성전자주식회사 | 메모리 모듈 및 적층형 메모리 장치 |
CN112104459B (zh) * | 2020-09-10 | 2023-05-12 | 国网江苏省电力有限公司信息通信分公司 | 一种基于信道指纹与辅助数据的密钥生成方法 |
US11380379B2 (en) | 2020-11-02 | 2022-07-05 | Macronix International Co., Ltd. | PUF applications in memories |
US11604740B2 (en) * | 2020-12-01 | 2023-03-14 | Capital One Services, Llc | Obfuscating cryptographic material in memory |
CN113037488B (zh) * | 2021-04-19 | 2022-07-22 | 工业信息安全(四川)创新中心有限公司 | 基于国密密码杂凑算法的保留格式加密方法及解密方法 |
US20230033630A1 (en) * | 2021-07-30 | 2023-02-02 | Micron Technology, Inc. | Embedded Hardware Security Module (HSM) |
WO2023107287A1 (en) * | 2021-12-06 | 2023-06-15 | Cryptography Research, Inc. | Physically uncloneable function as secure storage |
US12013970B2 (en) | 2022-05-16 | 2024-06-18 | Bank Of America Corporation | System and method for detecting and obfuscating confidential information in task logs |
CN114912154B (zh) * | 2022-06-06 | 2024-03-15 | 山东大学 | 一种基于非易失存储器的加密存算一体的实现方法 |
CN115216861B (zh) * | 2022-07-22 | 2023-07-28 | 河南大学 | 基于金属-介电-发光同轴多层复合纳米纤维的puf器件以及采用该器件生成密钥的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010055171A1 (en) * | 2008-11-17 | 2010-05-20 | Intrinsic-Id B.V. | Distributed puf |
WO2010100015A1 (en) * | 2009-03-06 | 2010-09-10 | Intrinsic Id B.V. | System for establishing a cryptographic key depending on a physical system |
CN102656588A (zh) * | 2009-08-14 | 2012-09-05 | 本质Id有限责任公司 | 具有防篡改和抗老化***的物理不可克隆函数 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7310706B1 (en) * | 2001-06-01 | 2007-12-18 | Mips Technologies, Inc. | Random cache line refill |
JP2003018143A (ja) * | 2001-06-28 | 2003-01-17 | Mitsubishi Electric Corp | 情報処理装置 |
EP1891770B1 (en) | 2005-06-01 | 2011-10-05 | Priv Id B.V. | Template renewal in helper data systems |
IL187046A0 (en) * | 2007-10-30 | 2008-02-09 | Sandisk Il Ltd | Memory randomization for protection against side channel attacks |
US8638931B2 (en) * | 2007-10-30 | 2014-01-28 | Spansion Llc | Signal descrambling detector |
EP2524334B1 (en) * | 2010-01-12 | 2020-07-08 | Stc.Unm | System and methods for generating unclonable security keys in integrated circuits |
-
2013
- 2013-09-10 CN CN201380052311.6A patent/CN104704768B/zh active Active
- 2013-09-10 KR KR1020157011155A patent/KR102201062B1/ko active IP Right Grant
- 2013-09-10 JP JP2015534947A patent/JP6267207B2/ja active Active
- 2013-09-10 WO PCT/EP2013/068746 patent/WO2014053286A1/en active Application Filing
- 2013-09-10 EP EP13759256.4A patent/EP2904732B1/en active Active
- 2013-09-10 US US14/426,728 patent/US9430406B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010055171A1 (en) * | 2008-11-17 | 2010-05-20 | Intrinsic-Id B.V. | Distributed puf |
WO2010100015A1 (en) * | 2009-03-06 | 2010-09-10 | Intrinsic Id B.V. | System for establishing a cryptographic key depending on a physical system |
CN102656588A (zh) * | 2009-08-14 | 2012-09-05 | 本质Id有限责任公司 | 具有防篡改和抗老化***的物理不可克隆函数 |
Also Published As
Publication number | Publication date |
---|---|
WO2014053286A1 (en) | 2014-04-10 |
EP2904732A1 (en) | 2015-08-12 |
EP2904732B1 (en) | 2018-11-28 |
US20150234751A1 (en) | 2015-08-20 |
KR102201062B1 (ko) | 2021-01-11 |
JP6267207B2 (ja) | 2018-01-24 |
KR20150064148A (ko) | 2015-06-10 |
JP2015532549A (ja) | 2015-11-09 |
US9430406B2 (en) | 2016-08-30 |
CN104704768A (zh) | 2015-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104704768B (zh) | 用于从用作物理不可克隆功能的存储器中生成密码密钥的*** | |
CN104468089B (zh) | 数据保护装置及其方法 | |
US10187200B1 (en) | System and method for generating a multi-stage key for use in cryptographic operations | |
KR101324825B1 (ko) | 메시지 인증 코드 사전 연산 방법 및 시스템 | |
CN1989726B (zh) | 用于执行加密计算的方法和装置 | |
JP5911654B2 (ja) | 乱数生成器及びストリーム暗号 | |
CN109104724B (zh) | 一种用于设备升级的数据加密方法和装置 | |
US20150100793A1 (en) | Method of Improving FPGA Security Using Authorization Codes | |
JP6499519B2 (ja) | メッセージを安全に交換する暗号方式並びにこの方式を実施する装置及びシステム | |
JP5167374B2 (ja) | データ暗号化装置、及び、メモリカード | |
JP2017507518A5 (zh) | ||
CN107005415A (zh) | 用于加密/解密消息的块加密方法以及实现该方法的密码设备 | |
CN113206736A (zh) | 一种基于aes加密算法的加密方法 | |
CN109951268B (zh) | 基于位置换和位变换的加密解密方法和装置 | |
JP2014033324A (ja) | 暗号処理装置および方法 | |
US20190166105A1 (en) | Method and system for encrypting/decrypting data with ultra-low latency for secure data storage and/or communication | |
US9391770B2 (en) | Method of cryption | |
US20210143978A1 (en) | Method to secure a software code performing accesses to look-up tables | |
Golić | Cryptanalytic attacks on MIFARE classic protocol | |
JP5945525B2 (ja) | 鍵交換システム、鍵交換装置、その方法、及びプログラム | |
CN106529322A (zh) | 自动的存储安全 | |
KR101105384B1 (ko) | 키 암호화 및 셔플링이 적용된 부채널 공격에 안전한 키 관리방법 | |
CN111314052A (zh) | 一种基于均匀分布对称压缩算法的数据加密和解密方法 | |
Huang et al. | A true random-number encryption method employing block cipher and PRNG | |
TW202123046A (zh) | 保護積體電路中敏感資料的方法及積體電路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |