CN107251475B - 来自物理不可克隆功能的加密密钥产品 - Google Patents

来自物理不可克隆功能的加密密钥产品 Download PDF

Info

Publication number
CN107251475B
CN107251475B CN201580076786.8A CN201580076786A CN107251475B CN 107251475 B CN107251475 B CN 107251475B CN 201580076786 A CN201580076786 A CN 201580076786A CN 107251475 B CN107251475 B CN 107251475B
Authority
CN
China
Prior art keywords
bits
bit string
noisy
bit
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201580076786.8A
Other languages
English (en)
Other versions
CN107251475A (zh
Inventor
V·范德里斯特
R·梅斯
E·范德斯拉斯
F·M·J·威廉斯
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.)
Intrinsic ID BV
Original Assignee
Intrinsic ID BV
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 Intrinsic ID BV filed Critical Intrinsic ID BV
Publication of CN107251475A publication Critical patent/CN107251475A/zh
Application granted granted Critical
Publication of CN107251475B publication Critical patent/CN107251475B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

一种布置成确定加密密钥的电子加密设备(100)。所述加密设备具有物理不可克隆功能(PUF)(110)、去偏置单元(120)和密钥重新构建单元(150)。所述PUF被布置成在登记阶段期间产生第一噪声比特串(112)且在重新构建阶段期间产生第二噪声比特串(114)。所述去偏置单元(120)被布置成在登记阶段期间由所述第一噪声比特串确定去偏置数据(142)。所述去偏置数据将所述第一噪声比特串中的比特标记为被保留的或被丢弃的。所述密钥重新构建单元(150)被布置成由所述第二噪声中被所述去偏置数据标记为被保留的比特来确定所述加密密钥,所述加密密钥独立于所述第二噪声比特串中被所述去偏置数据标记为被丢弃的比特。

Description

来自物理不可克隆功能的加密密钥产品
技术领域
本发明涉及电子加密设备、电子加密方法以及非暂时性有形计算机可读存储介质。
背景技术
物理不可克隆功能采用制造变化来导出数字标识符。该数字标识符因此被绑定到物理介质。因为物理不可克隆功能取决于随机过程变化,所以易于创建PUF,但是即使不是完全不可能也非常难于创建产生特定预定标识符的PUF。制造变化导致了存储器元件的不同物理特性。例如,物理特性可以包括:掺杂浓度、氧化层厚度、沟道长度、结构宽度(例如金属层的结构宽度)、寄生现象(例如电阻、电容)等。当多次制造数字电路设计时,这些物理特性会稍微变化并且它们共同引起IC元件(例如存储器元件)的行为在一些情况下表现不同。例如,启动行为是由物理特性中的制造变化确定的。
PUF产生设备本征响应和不可预测的响应的事实使得它们成为由其生成加密密钥的非常合适的候选。与传统非易失性密钥存储器相对比,基于PUF的密钥不以数字格式存储,而是源于PUF的物理结构中的小的随机偏差。此外,密钥本身的生成不取决于外部提供的随机性——其可能具有低质量,而是使用设备本身的高熵本征随机性。这些因素的组合可以形成针对加密密钥存储高度安全的解决方案。
使用PUF,可以规避对存储密钥的安全存储器的需要。此外,PUF提供了防止通过逆向工程获得加密密钥的恶意尝试的自然保护,这是因为在尝试期间对PUF造成的损坏很可能改变数字标识符。优选地,所述数字标识符对于其内嵌入物理不可克隆功能的电子设备是唯一的。
例如,已经观察到,一些存储器元件的启动行为展示像PUF那样的行为。当这样的存储器被加电时,它倾向于含有内容,即包括数据值的序列,该内容取决于组成该存储器的部件(例如门或晶体管)的至少部分随机的物理特性,例如它们相对于彼此的物理布置。如果存储器被加电多次,则它将大比例地含有相同内容。
PUF提供了不可预测的响应和设备唯一的响应,但由于它们的物理起源,这些响应可能受测量噪声和环境影响。另一方面,加密密钥需要完全可靠并且具有全熵。为了弥补这一缺陷,需要对PUF响应进行一定数量的后期处理。解决噪声的一种方法是使用所谓的模糊提取器(fuzzy extractor)。模糊提取器能够将“噪声”随机值变换成可靠的密钥。在此过程中可以使用误差校正程序来校正这些波动,并且确保每次使用PUF时导出相同的数字标识符。误差校正程序使用所谓的辅助数据(helper data)。辅助数据也被称为噪声降低数据。
模糊提取器可以包括两个阶段。在最初的登记(enrollment)阶段中,从PUF响应导出加密密钥。在登记过程中,产生用于PUF响应的辅助数据或噪声降低数据。稍后在实地,重新构建阶段重新评估PUF响应,并且使用来自登记阶段的噪声降低数据重新构建相同的密钥。因此,在登记阶段和重新构建阶段中间需要存储噪声降低数据。
发明内容
在这方面对模糊提取器的期望属性是噪声降低数据不包含关于导出的密钥的信息。换句话说,噪声降低数据不包含敏感信息,并且不能够被用来攻击生成的密钥。因此,噪声降低数据可以被存储和公开地通信,并且因为将需要直接存储密钥而不需要防御敌手。
模糊提取器的操作可以是基于使用误差校正代码。通常,误差校正代码是分组代码(block code)并且是线性的,例如线性误差校正分组代码。在登记期间,模糊提取器计算PUF响应的噪声降低数据,例如通过计算PUF响应比特上的若干奇偶校验关系并且在噪声降低数据中公开这些关系。可以计算噪声降低数据,例如通过计算一个或多个代码字和PUF响应之间的差异。
由于此公开内容,可以显著降低PUF响应的不可预测性(如通过其熵测量的)。
发明人发现,如果PUF具有高偏置(bias),则通过噪声降低数据造成的关于密钥的信息泄漏是非零的。事实上,如果PUF具有非常高的偏置,则噪声降低数据甚至可以揭示足够的关于密钥的信息,从而允许攻击者完全重新构建密钥。
从诸如随机数生成等不同领域取得的传统去偏置方法不能够应用到PUF和密钥生成。PUF响应被获得至少两次。每次应产生相同的加密密钥。然而,PUF输出通常不是完全确定性的。即使相对较少量的噪声也可以导致这样的去偏置程序选择不同的比特供作为去偏置的输出使用。这样的系统将完全不能用于密钥生成。例如,为随机比特生成器产生的每个不相等比特对产生一个无偏置的输出比特的经典的冯〃诺依曼(Von Neumann)去偏置不能够被直接应用到PUF。在登记期间和在重新构建期间,在PUF上应用经典的冯〃诺依曼去偏置将选择不同的比特;将不可能由其生成可再现的密钥。
提供了如权利要求书中所限定的一种被布置成用于登记阶段和稍后的使用阶段的电子加密设备。在一个实施方案中,所述电子加密设备被布置成确定加密密钥。所述加密设备被布置成用于登记阶段和稍后的重新构建阶段。所述加密设备包括物理不可克隆功能、去偏置单元和密钥重新构建单元。
所述物理不可克隆功能被布置成在登记阶段期间产生第一噪声比特串并且在重新构建阶段期间产生第二噪声比特串。
所述去偏置单元用于降低所述第一噪声比特串中的偏置,所述去偏置单元被布置成在登记阶段期间由所述第一噪声比特串确定去偏置数据,所述去偏置数据将所述第一噪声比特串中的比特标记为被保留的或被丢弃的。
所述密钥重新构建单元被布置成由所述第二噪声比特串中被所述去偏置数据标记为被保留的比特来确定加密密钥,所述加密密钥独立于所述第二噪声比特串中由所述去偏置数据标记为被丢弃的比特。
在登记阶段,例如,去偏置单元120从PUF响应选择保留或丢弃哪些比特。此信息被记录在去偏置数据中。当第二次查询PUF时,使用所述去偏置数据选择相同的比特。因此,即使在第二PUF响应中存在噪声,也会选择与在第一PUF响应期间所选择的相同的比特。注意,在从第二响应选择的比特中可能仍然存在噪声。
在本申请中,偏置是指1比特或0比特中的一个比1比特或0比特中的另一个可能性更大的情况。例如,PUF的偏置可以被定义为产生1比特的可能性与产生0比特的可能性之间的绝对差异。偏置还可以被定义为1比特的可能性和0比特的可能性的最大值。通过比较多个设备可以确定一个特定的比特位置的偏置。通常地,对于较大部分的比特位置,偏置是一致的。对于一些PUF,尤其是基于存储器的PUF,在整个存储器上偏置可能存在一些变化。例如,在整个存储器上偏置可以变化,但对于较大的区域是恒定的;例如,存储器的前半部和后半部可以各自具有恒定的偏置,但彼此不同。偏置还可以在局部变化,例如,一些存储器表现出偶数比特位置和奇数比特位置的偏置差异。
具有低偏置的PUF将至少平均产生一个比特串,其中1比特的分数(fraction)与0比特的分数之间的绝对差异很小。分数可以被认为是1比特或0比特的数目分别除以串的长度。
加密密钥可以在许多加密协议中使用,包括使用加密密钥对信息加密或解密、使用加密密钥对信息电子签名。从PUF导出的加密密钥可以是对称的或不对称的密钥。权利要求中描述的设备和方法的实施方案可以应用到广泛的实际应用中。此类应用包括:银行卡、SIM卡、按次付费的智能卡、ID卡等。
根据本发明的方法可以被实施在计算机上作为计算机实施的方法,或可以被实施在专用硬件中或可以被实施在二者的组合中。用于根据本发明的方法的可执行代码可以被存储在计算机程序产品上。计算机程序产品的实例包括存储器设备、光学存储设备、集成电路、服务器、在线软件等。优选地,该计算机程序产品包括存储在计算机可读介质上的非暂时性程序代码装置,用于当在计算机上执行所述程序产品时执行根据本发明的方法。
在一个优选地实施方案中,该计算机程序包括计算机程序代码装置,当该计算机程序在计算机上运行时,该计算机程序代码装置适于执行根据本发明的方法的所有步骤。优选地,该计算机程序实现在计算机可读介质上。
本发明的另一方面提供了使计算机程序可供下载的方法。当将计算机程序上传到例如Apple的App Store、Google的Play Store或Microsoft的Windows Store中时,并且当该计算机程序可从这样的商店下载时,使用此方面。
附图说明
将参考附图仅以实施例的方式描述本发明的其他细节、方面和实施方案。为了简单明了目的例示了图中的元件,并且所述元件不必按比例绘制。在图中,与已经描述的元件对应的元件可以具有相同的附图标记。在附图中,
图1a示意性地例示了由于较小偏置造成的熵损失,
图1b示意性地例示了由于较大偏置造成的熵损失,
图2示意性地示出了电子加密设备的一个实施方案的一个实施例,
图3示意性地示出了电子加密设备的一个实施方案的一个实施例,
图4a示意性地例示了电子加密设备的一个实施方案的一个实施例中的登记阶段,
图4b示意性地例示了电子加密设备的一个实施方案的一个实施例中的重新构建阶段,
图5a示意性地例示了电子加密设备的一个实施方案的一个实施例中的登记阶段,
图5b示意性地例示了电子加密设备的一个实施方案的一个实施例中的重新构建阶段,
图6a示意性地例示了电子加密设备的一个实施方案的一个实施例中的登记阶段,
图6b示意性地例示了电子加密设备的一个实施方案的一个实施例中的重新构建阶段,
图6c示意性地例示了第二误差校正代码的一个实施方案,
图6d示意性地例示了软判决解码的一个实施方案,
图7示意性地例示了布置成确定加密密钥的电子加密方法的一个实施方案,
图8a示出了具有包括根据一个实施方案的计算机程序的可写部分的计算机可读介质,
图8b示出了根据一个实施方案的处理器系统的示意性表示,
图9a示意性地示出了电子加密设备的一个实施方案的一个实施例,
图9b示意性地例示了电子加密设备的一个实施方案的一个实施例中的统计测试,
图10以流程图示意性地例示了统计测试的一个实施方案,
图11是统计测试的一个实施例的失败率图表。
图1a-图6d中的附图标记的列表:
10 物理不可克隆功能(PUF)
11 噪声比特串
12 噪声降低数据
13 密钥数据
15 熵损失
100 电子加密设备
101 电子加密设备
110 物理不可克隆功能(PUF)
112 第一噪声比特串
114 第二噪声比特串
116 又一个噪声比特串
120 去偏置单元
130 噪声降低单元
140 存储器
142 去偏置数据
144 噪声降低数据
150 密钥重新构建单元
152 标准化器
154 误差校正器
156 密钥导出单元
160 统计单元
165 随机种子生成单元
412 第一PUF响应
413 比特对序列
414 去偏置的第一PUF响应
415 第一代码字
422 第二PUF响应
423 去偏置的第二PUF响应
424 噪声代码字
426 经校正的代码字
427 解码的代码字
440 去偏置和噪声降低数据
442 去偏置数据
442’ 去偏置数据
444 噪声降低数据
512 第一PUF响应
513a,513b 比特对序列
514 去偏置的第一PUF响应
515 第一代码字
522 第二PUF响应
523 去偏置的第二PUF响应
524 噪声代码字
527 解码的代码字
542 去偏置数据
544 噪声降低数据
612 第一PUF响应
613 比特对序列
614 去偏置的第一PUF响应
615 第一代码字
622 第二PUF响应
624 去偏置的且标准化的第二PUF响应
627 硬解码的代码字
628 软解码的代码字
640 去偏置和噪声降低数据
642 去偏置数据
644 噪声降低数据
630 种子
650 第二代码字
651 相关度
652 软判决距离
具体实施方式
虽然本发明可能有许多不同形式的实施方案,但是附图中示出了并且将在本文中详细描述一个或多个具体实施方案;应理解,本公开内容应被认为是本发明的原理的例示,而不意在将本发明限于所示出的并且描述的具体实施方案。
在下文中,为了理解起见,在操作中描述了实施方案的元件。然而,很明显,相应的元件被布置成执行所描述的由它们执行的功能。
图1a和图1b示意性地例示了由于偏置造成的熵损失。在图1a和图1b中概念性地示出在登记期间的“熵流(flow of entropy)”。注意,图1a和图1b中的方框的相对大小未必例示PUF响应、噪声降低数据和密钥的相对大小。
PUF10产生具有一定量熵的响应11。登记程序产生噪声降低数据12,该噪声降低数据12公开了PUF响应中含有的熵的相对较大的一部分。在噪声降低数据公开之后剩余的熵被用来由其生成加密学上安全的机密密钥。为了获得完全随机的密钥,密钥的长度(以比特为单位)永远不能够大于随着噪声降低数据公开而降低的PUF响应熵。
在实践中,模糊提取器可以被设计成与生成具有一定噪声水平和一定量的熵的响应的特定类型的PUF一起工作。基础误差校正代码的参数被选择成能够处理最大预期数目的比特误差。可以由这些参数计算出针对一个响应的所得到的噪声降低数据公开,并且因此也可以计算出剩余的密钥熵。最后,PUF的大小(响应中的比特的大小)增大,直到留下足够总量的密钥熵来由其提取全熵密钥为止。
PUF响应熵由于PUF响应中存在偏置而降低,即在系统性地二进制响应0比1更普遍的情况下(或反之亦然)。图1a和图1b中在附图标记15处例示了由于偏置造成的熵损失。
假设模糊提取器具有针对给定量的响应熵而设计的熵流。图1a示意性地例示了较小偏置的情况。PUF响应11的阴影部分15是由于偏置造成的相对于图1a中的原始情况的熵降低。因为响应熵降低,这还将对噪声降低数据公开和密钥数据13中剩余的熵产生影响;最终的加密密钥将从密钥数据13导出。剩余的密钥熵将降低,这是因为开始存在较少的熵,并且在噪声降低数据公开之后将留下更少的熵。这可能是一个问题,因为这意味着密钥数据13的随机性比在没有偏置时预期的随机性更小。由PUF响应中的偏置造成的密钥熵降低被称为密钥泄漏。
在PUF响应熵显著降低(例如由于较多偏置)的情况下,密钥泄漏可能变得显著。这被示出在图1b中。在该情况下,响应熵变得小到在噪声降低数据公开之后什么也没有被留下。因此,没有留下由其提取密钥的机密材料。在实践中,这意味着噪声降低数据公开了所有的响应熵,包括用于密钥的熵。换句话说,可以从噪声降低数据导出密钥。因此,模糊提取器变得完全不安全。
密钥泄漏问题的一个可能的替代解决方案——其不使用去偏置数据——针对PUF响应熵降低的最糟糕的情境设计模糊提取器。换句话说,该模糊提取器被设计成使得存在用于应对可能的熵降低的熵余裕(entropy margin)。然而,此解决方案存在很多问题:
1.熵余裕仅能够应对PUF响应熵的小的降低(例如大约几个百分比的较小偏置)。当PUF响应熵降低时,该余裕被非常快地耗尽。
2.当考虑具有甚至稍微降低的熵的PUF时,模糊提取器的设计很快变得效率非常低。由于通过噪声降低数据公开了PUF响应中存在的几乎所有的熵,因此PUF的大小(响应比特的大小)需要变得非常大,以留下一些熵来导出安全密钥。
3.使用传统方法,如果PUF响应熵显著降低(例如由于较多偏置),则可能变得不可能设计出使任何密钥熵留下的模糊提取器。在该情况下甚至增大PUF的大小可能都没有帮助,原因是每响应比特的有效熵贡献为零。
密钥泄漏问题的另一种方法是仅考虑产生具有非常高或甚至全熵的响应的PUF。此方法不需要去偏置数据。由于将密钥泄漏问题从模糊提取器设计转移到PUF构造,因此这不是一个真正的解决方案。存在继续使用不太理想的PUF设计的期望。此外,此选项有许多问题:
1.针对无偏置的PUF响应设计的模糊提取器几乎没有余裕来应付总是可能碰巧发生的甚至最轻微的偏置。
2.由于PUF的构造,某些类型的PUF固有地具有偏置的或降低的熵响应。因此,此解决方案不可适用于这些类型的PUF。
3.甚至通常具有高-熵响应的PUF类型都很少具有完全无偏置的响应。当估计PUF类型的偏置时,总是具有一定水平的不确定性。此外,对于本领域的成千上万的PUF实例的实际应用,还必须考虑其偏置可能显著偏离平均“无偏置”情况的离群实例(outlierinstance)。
4.PUF响应的偏置还会受PUF构造的外部条件(例如温度)的影响。如果想要模糊提取器在所有情况下安全操作,则需要考虑到PUF响应可能(稍微)被偏置。
下面描述的实施方案在PUF响应偏置的情况下减轻了密钥泄漏问题。本发明人发现,在最初的登记步骤之前和/或与最初的登记步骤集成在一起引入去偏置操作降低了PUF响应中的偏置。这进而改进了副信息(诸如噪声降低数据)中的密钥泄漏。
图2示意性地示出了电子加密设备100的一个实施方案的一个实施例。
设备100包括所谓的物理不可克隆功能110,所述物理不可克隆功能通常被称为PUF。设备100被布置成确定加密密钥。该加密设备被布置成用于登记阶段和稍后的重新构建阶段。PUF110被布置成在登记阶段期间产生第一噪声比特串112并且在重新构建阶段期间产生第二噪声比特串114。在可以重复多次的重新构建阶段期间,产生相同的加密密钥。在登记阶段期间,可以产生使得能够重复地产生相同的加密密钥和/或降低PUF中的偏置的数据。
如果PUF110格外可靠和/或应用可靠性的重要性较低,则可以省去噪声降低数据。在应用可靠性的重要性较低的情况下,去偏置可能仍然是有价值的,以避免密钥中的熵降低。在此情况下,去偏置的PUF响应可以被用来导出密钥,例如通过使保留的比特级联、通过应用密钥导出函数等。
随后产生的噪声比特串之间的改变量对于不同类型的PUF是不同的;根据改变量,可以选择误差校正代码来校正此误差量。噪声比特串足够稳定并且足够长,以产生加密密钥。可以根据期望的密钥长度、PUF的误差百分比和/或PUF的偏置水平等来选择PUF的噪声比特串的长度。
PUF110可能需要一个电力循环,例如掉电之后加电以再次产生噪声比特串。加电信号可以被认作是询问(challenge)。在设备100中,PUF110至少两次产生噪声比特串。一次在登记阶段期间,PUF110产生第一噪声比特串。稍后在使用阶段期间PUF110产生第二噪声比特串。所述第一噪声比特串和所述第二噪声比特串彼此足够接近,例如它们的差异的汉明权重小于一个阈值。
PUF是随机功能,所述随机功能以如下的方式限制到物理设备:使得在不使用该物理设备来实际上评估该功能的情况下预测该功能的输出在计算上不可行。此外,因为PUF是通过物理系统实现的,所以难以克隆。由不完全受控(即含有一些随机性)的生产过程生产的物理系统证明是PUF的良好候选。在一个实施方案中,PUF110且因此加密设备100可以是基于由PUF110提供的响应以及由其导出的密钥而被唯一地标识的。密钥可以被用作标识设备的标识符。
PUF的物理系统被设计成使得它以复杂的方式与激励相互作用并且导致唯一但不可预测的响应。PUF的激励被称为询问。一些PUF允许较大范围的不同询问,产生不同的响应。PUF询问和对应的响应一起被称为询问-响应-对。尽管如此,PUF也可以具有单个询问。PUF110可以是单询问PUF。PUF110也可以是多询问PUF。在PUF110是多询问PUF的情况下,当产生噪声比特串特别是第一噪声比特串和第二噪声比特串时,用相同的询问或询问集合询问PUF110。
合适的PUF源由在加电时含有对存储器的标识有用的加电值的响应模式的电子易失存储器形成,所述响应模式取决于存储器元件的物理特性。
用来唯一地标识设备的PUF的一个已知的实例是所谓的SRAM PUF,其是基于以下事实:当启动SRAM单元时,由于晶体管的阈值电压的变化——这些变化进而由于掺杂变化造成,SRAM单元以随机状态启动。当这被执行多次时,每个单元在大多数时间将以相同的状态启动。这些PUF可以被实现在具有板上SRAM存储器的任何设备上。
表现出对于标识存储器足够稳定的随机启动行为的任何存储器被称为可询问的存储器。因为启动行为是随机的,所述两个不同的存储器的启动存储器模式将具有很大差异;因为启动行为是稳定的,所以同一存储器的两个启动存储器模式将具有很小差异。这样的存储器的实例不仅是所提及的SRAM存储器单元,还有像触发器(flip-flop)那样的存储器元件。实际上,可以使用包括多个反馈回路的任何类型的易失性存储器。
第二类基于PUF的SRAM可以由双端口RAM构建。通过同时在两个端口上写入不同的信息,存储器单元进入未定义的状态并且表现出类似PUF的行为。在WO2009024913中更详细地描述了此类PUF。其他所谓的本征PUF是基于延时现象,参见例如US20030204743。PUF可以是通过在FPGA上模拟SRAM存储器,例如通过交叉耦合的逆变器或锁存器来构建的,所谓的蝴蝶PUF参见欧洲专利EP2191410B1和WO2011018414A2。PUF110可以是包括多个总线保持器(例如WO2012069545中所描述的)的物理不可克隆功能。
设备100包括去偏置单元120。去偏置单元120被布置成降低PUF110的输出中的偏置,特别是第一噪声比特串112中的偏置。去偏置单元120被布置成在登记阶段期间由第一噪声比特串112确定去偏置数据142。该去偏置数据将所述第一噪声比特串中的比特标记为被保留的或被丢弃的。
该去偏置数据被选择成使得在去偏置之后PUF110的输出具有的偏置比PUF110的立即响应低。在一个实施方案中,去偏置单元120被布置成使得所述第一比特串中被去偏置信息标记为被保留的比特之中的1比特的分数和0比特的分数之间的绝对差异比所述第一噪声比特串之中小。在一个实施方案中,去偏置单元120可以被布置成使得所述第一比特串中被去偏置信息标记为被保留的比特之中的1比特的分数和0比特的分数之间的绝对差异为零。
在一个较简单的实施方案中,该去偏置单元可以被布置有比PUF响应的比特长度小的预定数目k。该数目被选择成使得,考虑到偏置,PUF110将具有至少k个0比特和至少k个1比特的可能性很高。事实上,对于任何实际偏置,假设PUF响应的比特长度可以被取得足够高,则此可能性可以是任意高的。
去偏置单元可以被布置成从第一PUF响应112中的比特之中随机选择k个0比特和k个1比特作为被保留的,丢弃所有其他比特。去偏置数据142指示在登记阶段期间哪些比特被标记为被保留的和被丢弃的。此信息可以以多种方式被记录。例如,去偏置数据142可以包括一个比特掩码来指示保留的比特。稍后可以选择所述保留的比特,比如说通过逐比特“与”操作。例如,去偏置数据142可以包括指向所选择的比特的一系列索引。
此随机选择k个0比特和k个1比特的方法起到了降低甚至去除偏置的作用,但仍然存在一些缺点。首先,由于恰好选择k个0和1,因此不可预测性(即熵)实际上被降低一些,因为攻击者知道恰好存在k个0和1;在一个真正随机的串中未必是相同数目的0和1比特。此外,可以使用用于随机选择0和1的随机方法。然而,独立随机源可能不可用。下面的一些实施方案不需要独立的随机源,但是为此使用比特串中的固有随机性。
最后,如果偏置不一致,则一些不一致性可能残存于“去偏置的”比特串中。例如,如果在PUF中存在位置相关的偏置,比如说PUF响应的第一部分与PUF响应的第二部分具有不同偏置(例如,一半响应被偏置到0,另一半被偏置到1),则此方法可能不能够将其去除,即“去偏置的”比特串仍会具有相同的基于位置的偏置。下面示出的实施方案不具有此弱点,原因是它们局部地去偏置。
设备100包括密钥重新构建单元150。密钥重新构建单元150被布置成由第二噪声比特串中被去偏置数据标记为被保留的比特来确定加密密钥。该加密密钥独立于第二噪声比特串中被去偏置数据标记为被丢弃的比特。例如,密钥重新构建单元150可以被布置成从第二PUF响应114选择由去偏置数据142标记为被保留的比特,忽略被标记为被丢弃的比特。
注意,密钥重新构建单元150不执行新的去偏置操作,所述新的去偏置操作可能导致可能与原始选择完全不同的新选择。因此,在登记和重新构建期间,或在不同的重新构建阶段之间,将不可能导出相同的密钥。代替地,重新构建单元150应用在登记阶段期间获得的去偏置数据。例如,去偏置数据可以例如本地地存储在设备100处,或外部地比如说存储在例如通过电子数据连接可连接到设备100的服务器中。
可以用噪声降低来扩展加密设备100。例如,用于噪声降低的任何常规模糊提取器可以被应用至保留的比特。
例如,加密设备100可以包括:噪声降低单元,被布置成在登记阶段期间为第一噪声比特串中被去偏置数据标记为被保留的比特确定噪声降低数据;以及误差校正器,被布置成在重新构建阶段期间根据所述噪声降低数据来降低第二噪声比特串中被去偏置数据标记为被保留的比特中的噪声。
图3示意性地示出了电子加密设备101的一个实施方案的一个实施例。电子加密设备101是设备100的改进并且包括噪声降低。
像电子加密设备100那样,设备101包括产生第一噪声比特串112、第二噪声比特串114的PUF110、产生去偏置数据142的去偏置单元120和密钥重新构建单元150。
设备101包括噪声降低单元130。噪声降低单元130被布置成由第一误差校正代码获得一个或多个第一代码字并且由所述一个或多个代码字为第一噪声比特串中被去偏置数据标记为被保留的比特确定噪声降低数据144。在登记阶段期间确定噪声降低数据。
设备101包括标准化器152,例如,作为密钥重新构建单元150的一部分。标准化器152被布置成在重新构建阶段期间将噪声降低数据应用到第二噪声比特串中被去偏置数据标记为被保留的比特,确定所述一个或多个第一代码字和噪声。
设备101包括误差校正器154,误差校正器154被布置成校正所述一个或多个噪声第一代码字,获得一个或多个经校正的代码字。误差校正器154可以被布置成用于多轮校正。
设备101可以包括密钥导出单元156。密钥导出由误差校正器154的输出导出加密密钥。例如,密钥导出单元156可以将密钥导出函数应用到一个或多个经校正的代码字。替代地,密钥导出单元156可以将密钥导出函数(KDF)应用到一个或多个经校正的代码字的解码,或应用到经校正的保留的PUF响应比特。这样的密钥导出函数的实例包括在IEEE标准1363-2000、NIST-SP800-108和56-C中定义的KDF1,以及ANSI X9.42等中的类似函数。该密钥导出函数可以是散列函数。
可选地,设备101包括存储器140,例如非易失性存储器,比如说闪速存储器,用于存储去偏置数据142和噪声降低数据144。代替包括在设备101中的存储器140,一个实施方案外部地存储去偏置数据142和噪声降低数据144。去偏置数据142和噪声降低数据144可以被组合成单个比特串。
确定噪声降低数据的一种方法是所谓的基于误差校正代码的代码-偏移方法。标准化器和误差校正器的组合有时被称为模糊提取器。密钥导出也可以被包括在模糊提取器中。
例如,在登记阶段中,从一个分组代码中选择一个或多个随机代码字,例如通过对随机选择的种子进行编码,并且计算所述代码字和第一PUF响应中被标记为被保留的比特之间的差异。第一PUF响应也被称为登记响应;所述一个或多个随机代码字作为登记代码字。
如果需要,可以填补或缩短第一PUF响应的被保留部分,以使得所述被保留部分是代码字大小的倍数。
所述差异也被称为偏移。在二进制值的情况下,两个矢量之间的偏移可以通过异或(XOR)操作来获得。此代码偏移可以被用作噪声降低数据。在一个实施方案中,噪声降低数据144包括所述偏移,例如第一PUF响应的被保留部分和一个或多个代码字的XOR。
在重新构建阶段中,重新评估PUF并且获得登记的PUF响应的噪声版本,即第二PUF响应。通过将第二PUF响应的被保留部分移动噪声降低数据144中含有的代码偏移,获得登记代码字的噪声版本。在二进制值的情况下,此移动再次简化为异或操作。可以使用对应于误差校正代码的误差校正算法来校正噪声代码字,从所述误差校正代码取得登记代码字。假设在重新构建期间PUF响应比特误差的数目不太大,则经校正的代码字将等于原始登记的代码字。
如果需要,可以通过使此经校正的代码字再次移动代码偏移来重新构建原始登记的PUF响应的被保留部分。必然可以从此响应中提取登记的密钥。替代地,可以从经校正的代码字获得密钥,而不重新构建原始登记的PUF响应。还可以对经校正的代码字进行解码,以可能在一轮或多轮进一步的解码之后由其导出密钥。
如果作为代码偏移模糊提取器的基础的误差校正分组代码具有维度k和长度n(也被表示为(n,k)-代码),则可以示出的是噪声降低数据公开由(n-k)限定上限。如果针对第一PUF响应计算出噪声降低数据,而未应用去偏置,用于密钥提取的剩余熵因此至少为H(X)-(n-k),其中第一PUF响应X具有熵H(X)。对于某些简单的代码构造(特别是小维度k的代码,例如重复代码),可以更准确地计算出噪声降低数据公开,并且可以确定更严格的上限。
注意,代码参数(n,k)是通过代码所需的误差校正能力确定的。较大的误差校正能力通常导致代码具有较低速率k/n。需要能够校正许多误差的代码将具有n>>k,从而噪声降低数据公开上限界限(n-k)变得非常大。因此,这些代码的有效噪声降低数据公开通常也将非常高,导致非常少或甚至没有剩余的熵用于密钥提取。不幸地,偏置降低了H(X),因此对剩余的熵的下限界限(即H(X)-(n-k))可接近于0或甚至为负。这清楚地例示了密钥泄漏问题。
除了代码偏移方法之外,还存在构建噪声降低数据的其他方法。例如,PUF输出可以被认为是根据误差校正代码为其计算奇偶校验比特的数据比特。奇偶校验比特被存储为噪声降低数据。为了重新构建PUF响应,计算相同的奇偶校验比特并且将其与存储的奇偶校验比特一起存储。根据奇偶校验比特的差异,可以对第一噪声PUF响应比特和第二噪声PUF响应比特之间的差异进行解码,并且可以通过相应地校正第二PUF响应来重新构建第一PUF响应。此构造有时被称为校验子(syndrome)-构建辅助数据。这可以与去偏置组合。例如,可以为已经被标记为被保留的比特计算奇偶校验比特。在重新构建期间,奇偶校验比特可以被附加到第二PUF响应的被标记为被保留的比特。
在电子加密设备的实施方案中,去偏置单元首先将可能偏置的PUF响应去偏置,之后计算噪声降低数据,之后例如登记噪声降低数据。去偏置操作将诱发PUF响应的一定的熵损失,与第一PUF响应的长度减少相当。这可以被称为去偏置损失。然而,通过登记所得到的去偏置的PUF响应,不再需要由于PUF响应中的偏置造成的附加密钥泄漏。从概念上讲,可以陈述,由于PUF响应中的偏置造成的熵降低被去偏置损失吸收,从而由于响应偏置造成的密钥泄漏被降低或被去除。
如果假设偏置是响应熵降低的唯一原因,则去偏置的PUF响应可以具有全熵,并且将不存在任何密钥泄漏。然而,除了偏置之外,可能存在其它原因导致熵降低,例如比特相关度。偏置似乎是PUF响应中熵降低的重要原因。
丢弃PUF响应的比特具有代价。此代价——被称为去偏置损失——源自由于噪声降低数据公开造成的损失。可能需要相应地增大PUF的大小(例如响应比特的数目),以补偿该附加损失。注意,去偏置损失可能仅显著大于由于偏置造成的熵降低。例如,当对已经无偏置的响应应用去偏置时,由于偏置造成的PUF响应的熵降低为零(因为它已经是无偏置的),但去偏置损失通常将大于0。
图4a示意性地示出了电子加密设备的一个实施方案的一个实施例中的登记阶段。图4b示意性地示出了电子加密设备的一个实施方案的一个实施例中的重新构建阶段。参考图4a和图4b公开的方法可以通过电子加密设备101或100的实施方案来执行。
图4a中示出了第一PUF响应412,例如如由PUF110产生的。PUF110可以是偏置的,例如1比特和0比特的机率不同,并且PUF110有噪声,例如在多次询问时产生稍微不同的响应。
第一噪声比特串412可以被认为是比特对序列。这在图4a中由一系列水平的大括号指示。
为了方便起见,比特串中的比特可以与索引相关联,例如通过将整数分派给比特串中的比特,例如开始于1处。第一响应可以被分割成比特对,在相同比特对i中具有2i-1和2i的比特索引。包括两个相等比特的比特对被称为相等比特对。包括两个不相等比特的比特对被称为不相等比特对。在PUF响应中比特对不一定是连贯的。
去偏置单元120可以被布置成标识第一比特对序列中的不相等比特对,并且将第一噪声比特串中的不相等比特对标记为被保留的。在一个实施方案中,该去偏置单元被布置成将偏置数据中所有相等比特对标记为被丢弃的。但后者不是必需的,如下文所解释的。在比特对序列412下方指示了被标识为不相等的或相等的比特对。注意,保留的比特对中的两个比特都被保留。
在一个实施方案中,第一PUF响应的比特被分成连贯的对,这些连贯的对通过选择不相等比特对并且丢弃相等比特对来去偏置。不相等比特对被认为是一个整体。结果被示出在图4a中作为去偏置的第一PUF响应414。
注意,去偏置的第一PUF响应414中的比特对都是不相等的。因此,串414的熵与通过例如仅取自每对中的第一比特所获得的熵相同。然而,比特串414具有的优点是,当结合为噪声降低单元选择的误差校正代码考虑时,获得了更好的噪声降低。此外,尽管去偏置的PUF响应414尚未具有全熵,但是将不再存在由于噪声降低数据导致的密钥泄漏。稍后可以使用例如密钥导出函数集中熵。
例如通过噪声降低单元130从第一误差校正代码获得一个或多个第一代码字415。优选地,误差校正代码的代码字具有偶数长度。如果需要,可以丢弃去偏置的响应414的一些比特对,或可以填补去偏置的响应414,比如说用零比特,以使得一个或多个第一代码字中的比特的数目等于去偏置比特串414中的比特的数目。在该实施例中,如图4a中示出的,从长度为4的重复代码中取得两个代码字。重复代码具有(n,k)类型(4,1)。属于相同代码字的比特用虚线框指示。
重复代码具有非常高的误差校正能力并且可高效解码。然而,其他代码是可能的,例如Hadamard码、BCH码等
第一代码字415可以通过对随机登记种子的比特进行编码来生成,例如通过使用与用于将未编码的(例如明语的)数据字映射到代码字的误差校正代码相关联的误差校正编码器。一些实施方案通过对来自第二误差校正代码的一个或多个第二代码字的比特进行编码来获得第一代码字。第二代码字可以通过对随机登记种子等的比特进行编码来生成。使用两个代码具有的优点是获得高误差校正能力,并仍具有有效的编码和解码。
在一个实施方案中,例如通过噪声降低单元130获得噪声降低数据144,其包括第一比特串412中被去偏置信息标记为被保留的比特(例如示出的去偏置串414中的比特)和一个或多个代码字415之间的差异。该差异可以通过XOR操作来获得。
然而,未获得第一比特串中被去偏置信息标记为被丢弃的比特和一个或多个代码字中与第一噪声比特串中被丢弃的比特对应的比特之间的差异。噪声降低数据不包括此差异。因此,第一PUF响应的偏置部分不泄漏。
在一个实施方案中,噪声降低数据包括第一比特串中被去偏置信息标记为被保留的比特的级联和一个或多个代码字之间的差异。
存在许多对去偏置和噪声降低数据进行编码的方法。图4a示出了将两个数据组合成单个比特串的去偏置和噪声降低数据440。一个或多个代码字中的每个比特对应于第一比特串的一个保留比特。例如,一个或多个代码字415共同形成如下一个串,其中1、2、3、4、5、6等比特对应于第一响应412的1、2、5、6、9、10等比特。比特串440中对应于一个保留比特的索引存储第一PUF响应中具有相同索引的比特和一个或多个代码字中与所述保留比特对应的比特之间的差异。
例如,标记为“a”的比特对对应于串412的前两个保留比特与一个或多个代码字415的前两比特之间的差异。
串440中具有被丢弃的比特的索引的比特对可以用全0比特对填充。替代地,还可以使用全1对。例如,标记为“b”的比特对全都为零。串440中的相等比特对标记丢弃的比特对。串440的不相等比特对含有噪声降低数据。
在一个实施方案中,组合的去偏置和噪声降低数据440可以与原始的偏置的第一PUF响应412具有相同的长度。
存在许多记录此信息的替代方法;其中一些被示出在图4a中。例如,去偏置数据442是一个比特掩码,其中1-比特指示(例如指向)保留的比特,且0-比特指示丢弃的比特。例如,去偏置数据442’是索引列表,在此情况下是保留的比特对的索引列表。噪声降低数据444是仅含有噪声降低数据的比特串。在已经使用比如说串442或442’标识了保留的比特之后,可以使用噪声降低数据444。为了清楚起见,噪声降低数据444已经被绘制在对应的比特下面;然而,它们可以以级联形式存储。
去偏置数据和噪声降低数据可以被存储在比如说存储器140中,或外部地存储在比如说外部服务器(未示出)上。
在重新构建阶段中,第二PUF响应422由产生第一PUF响应412的相同的PUF产生,比如说由PUF110产生。第二PUF响应比如说在汉明距离上接近于第一响应412;然而存在一定量的噪声。第二响应422中的一些比特与响应412不同。图4b中示出的实施例中的不同比特用箭头指示。
第二PUF响应422被分割成比特对。在去偏置数据中被标记为被丢弃的比特对被丢弃。为了比较,数据440已经被示出在第二响应422下方,在第二响应422中指示丢弃的比特对的零比特对被偏移。被标记为被保留的比特形成去偏置的第二PUF响应423。
注意,偏置在第二响应的产生期间可以稍微不同于在第一响应的产生期间,比如说由于环境(例如温度)的改变。然而,这不太重要,因为第二PUF响应不产生噪声降低数据,因此不会发生附加的密钥泄漏。
去偏置的PUF响应423的比特对(即被标记为被保留的比特)与噪声降低数据进行XOR操作,形成噪声代码字424。例如,标准化器152可以将噪声降低数据添加(例如异或)到第二噪声比特串中被去偏置数据标记为被保留的比特。
噪声代码字424是加入噪声的一个或多个第一代码字415。如果不存在噪声,则噪声代码字424将与代码字415相同。在该实施例中,在图4b中,两个代码字都含有误差。
噪声代码字424可以例如由误差校正器154校正,获得经校正的代码字426。误差校正器154可以继续对经校正的代码字426进行解码以获得一个或多个解码的代码字427。在此情况下,解码的代码字是每一代码字单个比特,因为这是k=1代码。但此解码步骤不是必需的。
在一个实施方案中,密钥可以被直接当作解码的代码字427。然而,优选的是,将密钥导出函数应用到解码的代码字427或经校正的代码字426。将密钥导出函数应用到经校正的代码字426可以通过密钥导出单元156来执行。
替代地,在级联代码构造的情况下,解码的比特427可以被当作较高水平代码字的代码比特。在该情况下,重复代码字的汉明权重也可以用作用于较高水平解码器的软判决信息。
参考图4a和图4b解释的实施方案的优点在于,已经去除了由于偏置的PUF响应造成的密钥泄漏,这是因为在计算噪声降低数据之前使PUF响应去偏置。此去偏置模糊提取器因此可以被用于由偏置的PUF生成密钥,没有密钥泄漏,或至少降低了密钥泄漏。
另一个优点是由于考虑到了不相等比特对的两个比特造成效率提高。乍一看,这是违反直觉的,因为所得到的去偏置的PUF响应确实是无偏置的,但是不再具有独立的比特,原因是每个比特对的奇偶校验是奇数的。这导致去偏置的PUF响应的熵降低;有效熵仅为响应长度的一半。经典的冯·诺依曼去偏置也通过丢弃所选择的对的第二比特来避免这一点。
然而,在此噪声降低数据公开和去偏置损失的智能组合开始生效。去偏置的响应中的比特对的奇偶校验是公开已知的这一事实并不是问题,原因是此信息无论如何都会通过重复代码偏移噪声降低数据而被公开。注意,重复代码偏移已经公开了偶数个PUF响应比特的每个组合的奇偶校验。从安全角度来看,假设的攻击者不能够利用这些奇偶校验的知识来攻击产生的密钥材料,这是因为不管怎样他都从噪声降低数据获得相同的信息。由于模糊提取器提供的密钥材料在噪声降低数据公开的情况下是安全的,因此它将在由于比特对奇偶校验公开造成此熵降低的情况下保持安全。因此,通过使用保留的比特对的两个比特,不存在附加的熵损失,但误差校正改进了。
例如通过密钥导出函数,去偏置的PUF响应中的熵可以被集中在一个密钥中,比如说保留的比特的长度的一半或更少。
因为代码偏移噪声降低数据不管怎样都会公开比特对奇偶校验信息,所以不需要如经典的冯·诺依曼去偏置所做的那样通过丢弃不相等对的第二比特将其第二次从PUF响应熵减去。对于相同的偏置水平,在此呈现的解决方案在与经典的冯·诺依曼去偏置比较时因此保留两倍数目的去偏置比特。例如,当原始的PUF响应已经无偏置时,经典的冯·诺依曼去偏置将保持平均1/4的比特(有效去偏置损失为3/4),然而图4a中示出的实施方案将保留1/2的比特(有效去偏置损失为1/2)。此有效去偏置损失降低是可能的,因为实际去偏置损失的一部分与噪声降低数据公开重叠,从而不再是有效损失。
图4a和图4b的实施方案有效地解决了去偏置的PUF响应的密钥泄漏问题,并且智能地组合去偏置损失与降低噪声数据公开,这导致显著的改进。
噪声降低单元可以被布置成在登记阶段期间为去偏置的PUF响应414确定噪声降低数据,误差校正器可以被布置成在重新构建阶段期间根据所述噪声降低数据来降低去偏置的PUF响应423中的比特中的噪声。例如,噪声降低数据可以被用来例如通过标准化器将去偏置的PUF响应映射到噪声代码字。
图5a示意性地示出了电子加密设备的一个实施方案的一个实施例中的登记阶段。图5b示意性地示出了电子加密设备的一个实施方案的一个实施例中的重新构建阶段。参考图5a和图5b公开的方法是基于参考图4a和图4b所讨论的方法,它们可以通过电子加密设备101或100的实施方案来执行。
像图4a中那样,登记包括产生第一PUF响应512,所述第一PUF响应512被认为是比特对序列。不相等比特对被标识,比如说通过去偏置单元120被标识,并且被标记为被保留的。不相等比特对在附图标记513a处用不相等符号标记。在相等比特对之中,第一相等比特对和第二相等比特对被标识在所述比特对序列中,例如通过去偏置单元120被标识,所述第一相等比特对是所述第二相等比特对的逆(inverse)。
例如,去偏置单元120可以被布置成标识第一PUF响应512中的第一相等比特对,并且标识第一PUF响应512中的下一个相等比特对。如果所述第一相等比特对等于所述下一个相等比特对,则它们都被标记为被丢弃的;如果不等于,则至少所述第一相等比特对被标记为被保留的。去偏置单元120可以被布置成重复地寻找下两个相等比特对,并且如果它们相等则丢弃它们,但是如果这两个对不相等,则至少保留第一对。
在一个实施方案中,发生多轮去偏置,在第一轮中,不相等比特对被标记为被保留的,并且相等比特对被标记为被丢弃的。在第二轮中,被前一轮丢弃的相等比特对现在在第二轮去偏置中被重新考虑。丢弃的比特以四元组方式分组。形式(0,0,1,1)和(1,1,0,0)的四元组可以被保留,并且通过将它们标记为被保留的而可以被添加到去偏置的PUF;形式(0,0,0,0)和(1,1,1,1)的四元组仍然被丢弃。
由于去偏置的PUF响应现在包括一列的对和四元组(以随机顺序),因此偶数长度的重复代码字的末尾可以不与四元组的末尾对齐。然而,如果在相同的代码字(诸如重复代码字)内始终使用单个选择的组(对、四元组等)的比特,则此实施方案的安全性改进了。原因是,如果在不同的代码字上使用一个比特选择(例如四元组),则攻击者可以利用这来学习这些代码字的奇偶校验。在重复代码的情况下,他可以例如学习两个连贯的重复代码字是否相同或不同。这导致熵损失,从而导致密钥泄漏。
为了确保在相同的代码字内总是使用单个选择的组(对、四元组...)的比特,可能会丢弃一个组的、重复代码字下降的拖尾比特。在图5的实施例中,这发生在示例PUF响应结束时(在‘e’处):对于最后选择的四元组,仅第一比特对可以被用于当前重复代码字。在此情况下,应丢弃这个四元组的最后一个比特对,否则它不能够被用作下一个重复代码字的开始。
在一个实施方案中,不相等比特对的两个比特被标记为被保留的。然而,在一个实施方案中,如果对于一个或多个代码字的相同代码字有差异地使用一对相等比特对中的第一比特对和第二比特对,则仅第二相等比特对被去偏置数据标记为被保留的,否则仅第二相等比特对被标记为被丢弃的。
第一代码字515被示出在图5a中。第一代码字的比特与第一响应512的对应的保留比特对齐,换言之,与计算差异所用的比特对齐。
第一响应512中的前两个相等比特对用‘c’表示。因为它们两个相等,在此情况下,二者为0,所以它们都被丢弃。第二两个相等比特对用‘d’表示;这两对不相等,因此至少第一对被保留。因为第二对与第一对对应于相同的代码字中的比特,所以第二对也被保留。第三对用“e”表示;这两对不相等,因此至少第一对被保留。因为第二对与第一对对应于不同的代码字中的比特,所以第二对被丢弃。注意,在去偏置的第一PUF响应514中的‘f’处,即在第一PUF响应512的保留比特处,如果相等比特对的保留对的所有四个比特都落入相同的代码字中,则它们全都被保留;但是在‘g’处,如果不都落入相同的代码字中,则只保留第一比特对。如果例如跟随更多代码字,则两个零比特可以被附加到去偏置数据542,以指示第一响应512的最后两个比特被丢弃,。
替代地,为了丢弃一个组的拖尾比特,可以重新排序多个组,例如,使得一个组(对、四元组或集合)的末端总是与一个重复代码字末端对齐。例如,去偏置单元120可以选择第一PUF响应110中的比特的置换,其在权利要求中也被称为第一置换,并且存储该置换作为去偏置数据142的一部分。当重新构建密钥时,该置换首先将例如通过重新构建单元被应用到第二PUF响应,在此之后是去偏置和去噪声过程,如本文所描述的。例如,所述置换可以在代码字的开始处放置比对大的组,比如说四元组;这避免了拖尾比特(未示出在图中)。在一个实施方案中,去偏置单元被布置成确定第一比特对序列的置换,以使得对于一个或多个代码字的相同代码字有差异地使用第一相等比特对和第二相等比特对。置换具有的优点是,第一PUF响应的更多比特可以被用来产生噪声降低数据,从而减小去偏置损失。
标识比特对或四元组的上述去偏置方法可以被扩展到不止两轮。致力于八元组(8比特)的第三轮可以被直接添加,用于更多轮。这将更进一步降低去偏置损失。然而,添加更多轮的附加增益将很快变得非常小。例如,第一轮可以标识不相等比特对。第二轮可以在剩余的对之中标识不相等四元组。在第二轮之后,第三轮可以在尚未保留的比特对之中标识不相等八元组。
例如,在一个实施方案中,去偏置单元被布置成标识比特对序列中的相等比特对的第一集合和相等比特对的第二集合,该第一集合和该第二集合具有相同的大小,该第一集合中的所有相等比特对相同,该第二集合中的所有相等比特对相同,该第一集合的比特对是该第二集合中的比特对的逆,去偏置数据至少将第一集合的相等比特对标记为被保留的。
附加选择的结果是去偏置的第一PUF响应514。与图4a的方法相比,第一PUF响应具有更小的去偏置损失,这是因为保留了一些相等比特对。像图4a中那样,获得第一代码字515。在图5b的实施例中,使用6比特重复代码。去偏置数据542的一种可能表示被示出在图5a中。去偏置数据542使用1-比特来指示保留的比特并且使用0-比特来指示丢弃的比特。一个或多个代码字515的每个比特对应于第一PUF响应512中的一个保留比特。噪声降低数据544含有保留的比特和一个或多个代码字515的对应的比特之间的差异。噪声降低数据544可以被存储以使得噪声降低数据544中的一个比特的表示一个第一响应比特和一个代码字比特之间的差异的索引与第一响应中的所述第一响应比特的索引相同。数据544中剩余的比特可以是任意的,例如被随机填充、被设置为零、被留置为空等;在图5a中,它们用0填充。
注意,在图4a和图5a中,一个或多个代码字(例如,415、515)的每个比特对应于第一PUF响应中的一个保留比特;噪声降低数据包括保留的比特和对应的代码字比特之间的差异。
由图5b例示的重新构建阶段在很大程度上与图4b相同。例如从PUF110获得第二PUF响应522;出于说明目的,用箭头标记相对于登记的响应的比特误差。使用去偏置数据从此响应522中选择保留的比特,获得去偏置的第二PUF响应523。去偏置的第二PUF响应523被添加到噪声降低数据,获取噪声代码字524。如在图4a中,可以对经校正的代码字进行解码以获得解码的代码字527。替代地,可以直接使用代码字,比如说通过弄乱它们等等。
注意,去偏置数据542、442,噪声降低数据544、444以及组合的数据440具有相当高的结构水平,必然可以被压缩以便更有效率地处理和通信。
例如,如果一个重复代码被用于第一代码并且如果通过第一轮去偏置来选择一个比特对,则对应的噪声降低数据比特对将总是具有奇数奇偶校验,因此可以由单个比特表示,导致该对的压缩率为50%。类似的压缩对于四元组的代码偏移噪声降低数据是可能的。
由图5a和图5b例示的去偏置具有用图4a和图4b例示的方法的所有优点,此外由于进一步降低了去偏置损失因此效率提高了。此降低源自由基本提取器丢弃的比特对中的一些现在被保留。
注意,第二轮中选择的四元组可以再次作为整体使用,而不是仅作为单个比特使用。换言之,保留的一对相等比特对的所有比特被标记为被保留的。每个所选择的比特四元组实际上仅含有一个比特的信息,因此存在三个比特的熵降低。然而,此降低再次与由重复代码偏移噪声降低数据公开的信息完全重叠,从而不需要被再次减去。换句话说,同样对于所选择的四元组,去偏置损失和重复代码偏移噪声降低数据公开被组合。
图6a示意性地示出了电子加密设备的一个实施方案的一个实施例中的登记阶段。图6b示意性地示出了电子加密设备的一个实施方案的一个实施例中的重新构建阶段。参考图6a和图6b公开的方法可以由电子加密设备101或100的实施方案来执行。
图4a和图5a的方法对于特定攻击情境具有漏洞,我们将其称之为多登记公开问题。
当在去偏置代码偏移模糊提取器中不止一次使用相同的PUF时,会出现多登记公开问题。因此,登记的PUF响应等于一些随机比特误差。例如,攻击者操纵设备,以使得对于相同的PUF计算两次去偏置和噪声降低数据。
多登记公开问题的根本原因是以下事实:去偏置步骤是随机的,即使相同的PUF去偏置两次导致两个不同的去偏置选择,所述两个不同的去偏置选择直到某一点为止是随机的;具有不同索引(index)的不同比特被保留。去偏置选择的随机性是由PUF响应上的噪声引起的。由于此随机性质,两个登记中的去偏置的PUF响应可以基于原始PUF响应的不同选择。因此,两个登记中的去偏置损失和噪声降低数据公开也将公开原始PUF响应熵的不同部分。因此,由两个登记的噪声降低数据和去偏置损失公开的组合信息大于由一个单个登记的噪声降低数据和去偏置损失公开的组合信息。
在一些实施方案中不需要出现多登记问题。例如,登记可以在安全位置完成,例如需要某个仅在该位置可用的设备。例如,设备可以被布置成防止基于相同的PUF的不止一个登记。这可以通过存储PUF的登记状态来完成,比如说通过一次性可编程(OTP)存储器元件(例如当PUF被登记时熔丝被熔断)。
在图6a和图6b中,例示了以受多登记公开问题的影响降低的方式使PUF响应去偏置的实施方案。图6a和图6b的实施方案建立在图4a和图4b的实施方案上。
图6a中示出了第一PUF响应612,其被认为被分割成比特对序列。在所述比特对中,相等比特对和不相等比特对被标识,比如说通过去偏置单元120被标识。不相等比特对被保留,相等比特对被丢弃。保留的比特对中的两个比特都被保留。
与图4a和图5a不同,丢弃的比特位置在登记期间继续发挥作用。在概念上,丢弃的相等比特对由一对擦除符号(ε)代替。擦除可以被认为是特定的第三符号(不同于0和1)。下面讨论实施擦除符号的多种方法。例如,符号0、1和ε中的每一个可以用两个比特来编码。替代地,擦除符号的效果可以通过存储指示擦除符号位置的索引列表等来实施。
所得到的去偏置的第一PUF响应614被示出在图6a中。所得到的去偏置的第一PUF响应614包括不相等比特对和擦除符号对。去偏置的PUF响应614具有与原始的偏置的PUF响应612相同的长度;尽管如此,考虑到去偏置的PUF响应614超过具有三个符号而不是两个符号的较大的字母表。
从第一误差校正代码获得一个或多个第一代码字615,比如说通过噪声降低单元130来获得。如针对图4a和图5a所述,可以通过对来自第二误差校正代码的一个或多个第二代码字的比特进行编码来获得第一误差校正代码。此后一个选项被使用在图6a中,并且将在下面参考图6c和图6d被进一步讨论。在图6a中,再次使用一个重复代码作为一个实施例。然而,替代地可以使用其他误差校正代码。第一误差校正代码优选地为偶数长度代码;在(n,k)注释中,n是偶数。注意,还可以使用奇数代码,例如通过将一个填补比特添加到每个代码字的去偏置串614,或通过丢弃每个代码字的一个比特等。该填补比特可以为零。
在图6a中,第一PUF响应612的每个比特和去偏置的PUF响应614的每个比特对应于一个或多个代码字615的一个比特。这是与图4a和图5a的重要区别,在图4a和5a中,仅存在第一PUF响应的保留的比特之间的对应关系,然而在图6a中,存在第一PUF响应的所有比特——既有保留的又有丢弃的——和一个或多个代码字615的比特之间的对应关系。这意味着,第一PUF响应612的任何一个比特将在相同的代码字中使用,甚至在不同的登记中使用。
通过确定去偏置的第一PUF响应614和一个或多个代码字615之间的差异来获得组合的去偏置和噪声降低数据。在图6a的实施例中,代码是长度为6的重复代码;但是其他误差校正代码是适用的,比如说Hadamard、BCH等。
通过获得差异来获得组合的去偏置和噪声降低数据,比如说使去偏置的PUF响应614与一个或多个代码字615进行异或操作。异或操作被扩展以允许附加的擦除符号ε。我们有时将扩展的XOR称为ε-XOR操作:当仅对0和1操作时,ε-XOR操作与XOR操作相同,但当操作数中的一个是ε时,则结果将始终是ε,而不管其他操作数是多少。因此,ε-XOR(0,0)=ε-XOR(1,1)=0,并且ε-XOR(0,1)=ε-XOR(1,0)=1,ε-XOR(ε,0)=ε-XOR(ε,1)=ε。
如果使用偶数长度的误差校正代码,作为优选的,则总是存在去偏置的PUF响应的所有数目的对(没有拖尾比特)。在图6a中,去偏置和噪声降低数据640示出了对去偏置的PUF响应614和一个或多个代码字615进行ε-XOR操作的结果。
替代从第一PUF响应跳过比特,如图4a和图5a中所做的,以使得一个或多个代码字的每个代码字与一个完整的比特集合组合,在图6a中,如果比特对应于丢弃的比特,则从代码字擦除它们,如由擦除符号指示的。在根据图6a的实施方案中,在第一PUF响应的比特和一个或多个代码字的比特之间存在固定的一一对应关系;将比特标记为被丢弃的或被保留的不改变该关系。
组合的去偏置和噪声降低640具有与原始的(偏置的)PUF响应612相同的长度。可以使用二进制格式的0、1和ε符号的任何表示来编码串640。由于串640中的结构,当期望便于操作和通信时,串640可以被显著地压缩。压缩可以使用对于串640特定的压缩格式,但是可以使用任何非有损压缩算法。
虽然擦除符号在概念上更容易理解,但是在实施方案中仍然可以避免使用附加符号。例如,图6a示出了组合的噪声和去偏置数据640、去偏置数据642和噪声降低数据644的替代方案。
偏置数据642指示第一噪声比特串中的哪些比特被标记为被保留的或被丢弃的。在图6a的情况下,偏置数据642是一个比特掩码,其中1比特指示保留的比特,0比特指示丢弃的比特。在此情况下,丢弃的比特可以被认为是ε符号。噪声降低数据644包括保留的比特和一个或多个代码字的对应的比特之间的差异。在图6a的实施例中,噪声降低数据644存储所述保留的比特和所述对应的比特之间的差异作为与第一噪声响应612中的保留的比特的索引相同的索引;噪声降低数据644中的与丢弃的比特的对应的比特可以被任意填充,在此情况下被填充为0,或被留置为空。噪声降低数据644不含有代码字比特和丢弃的比特之间的差异。
在一个实施方案中,第一噪声比特串中的比特、一个或多个代码字中的比特和噪声降低数据中的比特全都具有一个索引。出于索引的目的,一个或多个代码字被认为是一个长串,例如通过使代码字级联。所有三个串都可以是相同长度的,或被制成相同长度,例如通过填补第一噪声PUF响应。索引可以方便地从1到n等。第一PUF响应中的比特和一个或多个代码字的具有相同索引的比特之间的差异被存储在噪声降低数据中;例如,在具有相同索引的比特处。噪声降低数据中具有与第一PUF响应中的丢弃的比特相同的索引的比特可以被设置为零、设置为一,或被随机地填充等。
可以按照以下方式获得去偏置和噪声降低数据:对于第一PUF响应中的每个比特对,将比特对标识为相等的或不相等的。如果比特对相等,则在去偏置数据中将比特对标记为被丢弃的。如果比特对不相等,则计算第一PUF响应中的比特对和一个或多个代码字中的对应的比特对之间的差异,例如异或,并且将该差异存储在噪声降低数据中,例如在一个对应位置处的一个比特对处。例如,可以通过以下算法(以伪代码表示)获得去偏置数据(例如去偏置数据642)和噪声降低数据(例如噪声降低644):
对于i=1到第一PUF响应中的比特对的数目
如果比特对i相等,则在去偏置数据中将比特对i标记为被丢弃的;
否则计算第一PUF响应中的比特对i和一个或多个代码字中的比特对i之间的差异(例如XOR),并且将该差异存储在噪声降低数据中。
接下来;
比特对i可以被认为是比特2i-1和2i(从1开始计数)。第一噪声比特串中的比特可以对应于一个或多个代码字中的具有相同索引的比特。将比特储存在噪声降低数据中可以通过附加差异比特对来完成。替代地,将比特存储在噪声降低数据中可以通过将差异存储在对应的比特对位置处等来完成。可以以多种方式将比特对标记为被丢弃的,例如通过在列表中列出索引、通过标记比特掩码中的比特或比特对等。
重新构建阶段可以操作如下,遵循图6b。示出了第二PUF响应622,其中用箭头指示与登记PUF响应612的差异。在第二PUF响应622下方,再次示出了在登记阶段期间生成的去偏置和噪声降低数据640。
在考虑了擦除符号的情况下添加噪声第二PUF响应622,在此通过使用与去偏置和噪声降低数据640的ε-XOR操作,形成去偏置的标准化的第二PUF响应624。注意,去偏置的第二PUF响应624含有针对对应于去偏置和噪声降低数据640中的擦除符号的每个比特的擦除符号ε。
比特串624可以被认为是既受噪声影响又受擦除影响的一个或多个代码字。误差校正代码中的擦除符号可以被认为是位置已知的噪声类型。像图4b和图5b中的情况那样,在图4和图5中仅校正了受噪声影响的代码字,还可以校正受噪声和擦除影响的代码字。就任何一个代码来说,仅当噪声和擦除的量不太高时,校正才是可能的。可以通过使用更强大的误差校正代码(例如具有较高的最小距离(d))来校正具有较高偏置或噪声水平的PUF。
在图6a和图6b的实施例中,第一代码字是长度为6的重复代码。重复代码允许相对简单的校正算法,但是应注意,更复杂的误差校正代码还允许在存在噪声和/或擦除时进行校正。对于一个重复代码,可以通过对0和1中的哪一个在未擦除的符号之中占大多数进行计数来对一个代码字进行解码。注意,如果0和1中没有一个占大多数,则该代码字不能够被解码;换言之,0或1解码的符号二者可能性相同。如果需要,原始代码字615可以被恢复,如果需要,通过对解码进行编码。
此后一类型的解码——其中为每个代码字判决一个特定解码——被称为硬判决解码。经硬解码的代码字627被示出在图6b中。注意,对于第二代码字,硬判决是不正确的。对于第三代码字,0和1二者可能性相同。如果需要硬判决,则可以做出随机选择。注意,如果硬判决解码偶然为第三代码字选择0,则所得到的第二代码字(0,0,0,1)将被正确地校正为(0,1,0,1)。然而,如果硬判决解码偶然选择1,则误差的数目对于第二误差校正代码而言将太大而无法校正。更强大的误差校正代码可以防止这些误差;但是可能是以较低的代码率(分数k/n)为代价。
图6例示了误差校正代码的另一种用途,对于用图4a和图5a例示的实施方案也提及了该用途。
图6c示出了第二误差校正代码,其所有代码字650被列出。此示例代码是(n,k,d)-类型(4,2,2)代码。例如,第二误差校正代码可以是Reed-Solomon误差校正代码。图6c中示出了代码字的解码,也被称为种子630。
在登记期间,可以从第二误差校正代码650选择一个或多个随机代码字。替代地,可以从种子630选择一个或多个随机种子并且根据第二误差校正代码对其进行编码。在图6a的情况下,随机选择种子(0,1)并且对其进行编码,以获得一个或多个(在此情况下为一个)代码字(0,1,0,1)。根据第一误差校正代码对一个或多个第二代码字的比特进行编码。根据长度为6的重复代码对比特(0,1,1,1)进行编码给出了一个或多个第一代码字615。
在解码期间,可以有利地使用此级联的代码构造。代替对噪声和擦除的代码字624的硬判决解码,计算指示一个或多个噪声第一代码字的校正的可靠性的可靠性信息,换言之,软解码的代码字628。软解码的代码字628给出了解码的可靠性的指示。在此情况下,软解码的代码字628指示0通过负值解码,指示1解码是通过正值。用0值指示不可判定解码。软解码的代码字628的量级指示校正的可靠性。更大的量级指示更可靠的值。对于如图6a中使用的重复代码,预期解码和所述解码的可靠性二者都可以以单个(例如正的或负的)整数进行编码。对于更复杂的第一误差校正代码,每个代码字可以使用两个值,一个预期解码(例如多比特)和一个可靠性值(例如整数)。
在图6b中,软解码通过将1-比特计数为+1并且将0-比特计数为-1并且忽略擦除来获得。
指示一个或多个噪声第一代码字的校正的可靠性的可靠性信息可以由可靠性信息提取器来确定,该可靠性信息提取器可以是误差校正器的一部分或与误差校正器组合。可靠性信息提取器未单独示出在图3中。软判决解码器可以被配置为使用可靠性信息来对一个或多个第二代码字进行解码。软判决解码器可以是最小距离列表解码器。替代地,软判决解码器可以是不同类型的软判决解码,例如turbo解码器、基于网格的解码器(trellis-based decoder)等。在一个实施方案中,最小距离列表解码器被配置为计算可靠性信息和第二误差校正代码字中的每一个之间的距离,并且选择最小距离作为解码。
可靠性信息——也被称为软判决信息——可以被用来对第二代码字进行解码。在图6a的实施例中,软判决值被用来对外(第二)代码字执行软判决解码。在该实施例中,这是通过最小距离列表解码器来完成的。
第二误差校正代码650的第二代码字之间的接近度可以通过计算软判决信息628和所述代码字中的每一个之间的内积或点积来获得。在图6d中例示了软判决解码,例如最小距离或最大相关度解码。对于内积,0-比特被认为是-1值。相关度的结果被示出在651处。注意,代码字(0,1,0,1)具有最高的内积,从而是最可能的解码。通过例如从某个最大相关度值中减去接近度值,在此情况下,从24减去相关度,接近度值可以被转换成距离值。距离值被示出在652处。第二代码字代码(0,1,0,1)具有最小距离。
在此情况下,软判决解码返回正确解码的种子,尽管四分之二的重复代码字不能够被正确解码。
图6a和图6b所例示的擦除去偏置代码偏移模糊提取器具有关于图4a和图4b所例示的去偏置的所有优点,此外不遭受或至少较少地遭受多登记问题。注意,擦除独立于误差校正的效率;它们既不对误差校正做出贡献,也不使误差校正更差。还可以观察到,在此情况下,去偏置损失与噪声降低数据公开完全重叠,因为由去除偏置(例如擦除)引起的损失也被完全包含在代码偏移噪声降低数据中。
重要地,擦除去偏置代码偏移模糊提取器不具有多登记公开问题。这样的原因是去偏置过程不再是随机的,因为原始PUF响应的所有比特对都被保留,未改变或作为擦除。因此,当考虑相同的PUF的多次登记时,可能不存在累积的信息泄漏。
所讨论的实施方案解决了独立分布的偏置。换言之,如果偏置是一致的,则所述实施方案表现为最佳地工作。然而,使用根据图4-图6的实施方案来解决甚至某种形式的不一致偏置。例如,如果第一比特序列具有第一偏置,并且随后的第二比特序列具有第二偏置,则偏置被正确地解决。这是因为这些实施方案使用局部比特对来判决保留哪个比特和丢弃哪个比特。可能地,在第一序列和第二序列之间的区域可能存在一些熵损失。因此,使多个区域具有不同的偏置水平似乎不是很大的问题。
然而,其他形式的非一致偏置可能导致更大的熵损失。考虑例如其中具有奇数索引的比特的偏置水平与具有偶数索引的比特的偏置不同的PUF。甚至去偏置之后,这样的PUF具有的熵仍可能低于在其他方面类似的PUF——其中偏置不取决于偶数/奇数指数。可以通过在选择去偏置数据之前执行置换来改进去偏置;此置换也被称为第二置换。注意,通常,将在第一置换之前执行第二置换。
例如,在一个实施方案中,去偏置单元120被布置成,在将第一噪声比特串中的比特标记为被保留的或被丢弃的之前,通过第二置换来置换第一噪声比特串,以将第一噪声比特串的第一部分和第二部分中的比特分组在一起,该第一噪声比特串的第一部分和第二部分分别具有第一偏置水平和第二偏置水平。密钥重新构建单元150被布置成,在确定第二噪声比特串中被去偏置数据标记为被保留的比特之前,通过第二置换来置换第一噪声比特串,以将第一噪声比特的第一部分和第二部分中的比特分组在一起。
例如,所述第一部分可以是第一噪声比特串或第二噪声比特串的偶数比特,即具有偶数索引的比特,并且所述第二部分可以是奇数比特,即具有奇数索引的比特;或反之亦然。例如,第二置换可以将所述第一部分的所有比特置换到第一噪声比特串或第二噪声比特串的前面。例如,置换可以被表示为索引的向量(例如数组),所述索引中的每个索引指向一个比特位置。例如,该向量可以是[0,2,4,6,8,10,...,2l,1,3,5,7,9,...,2l-1],以将偶数比特位置和奇数比特位置分组在一起;在此使用n=21比特。在一个实施方案中,仅从仅来自偶数比特位置或仅来自奇数比特位置的比特减去任何一个代码字。
第二置换可以被包括在去偏置数据中。然而,对于具有类似的PUF的一类设备,例如共享相同类型的基于存储器的PUF的设备,可以固定地选择第二置换。在后一种情况下,可以预先确定地包括第二置换并且该第二置换例如被存储在该设备中。第二置换可以被包括在PUF的一个地址解码器中,该地址解码器被用来读出该PUF。
注意,第一置换和第二置换二者都不要求在存储器中将比特移动到不同位置(虽然这是可能的),但是还可以通过对所述比特进行不同的寻址来实现。不同的寻址可以在软件(例如使用置换寻址)中或在硬件(例如使用置换地址解码器)中完成。
图9a示意性地示出了电子加密设备102的一个实施方案的一个实施例。除了下面所描述的,加密设备102与设备101相同。
有趣地,PUF响应可以被用于两个不同的用途。一方面,通过使用辅助数据抑制噪声,PUF响应可以被用来产生加密密钥。另一方面,可以通过从PUF响应产生随机种子来利用噪声。在第一种情况下,使用PUF响应的稳定性,在第二种情况下使用其噪声。
不幸地,可能发生的是,PUF110产生不在规格内的响应。为了产生随机数,尤其是PUF的噪声熵是重要的。噪声熵是当重复地测量相同的PUF实例时与噪声量相关的熵。当使用PUF进行随机数生成时,这是重要的。在重复测量中必须存在足够的随机性,以确保从PUF导出的高质量随机种子。
对于一个良好的PUF,典型地,设备之间的熵(与设备之间的PUF响应的差异相关的熵)主导着噪声熵。不幸地,对第二噪声比特串的传统的随机数测试(例如FIPS 140-1测试)将因此成功的可能性高,即使噪声熵太低。
加密设备102包括统计单元160,该统计单元160被布置成在重新构建阶段期间执行统计测试,以用于验证物理不可克隆功能的噪声水平。统计测试解决了上文指示的第二个问题,即检测到PUF对于随机种子的可靠生成具有太小的噪声熵。
统计测试可以访问去偏置数据和第二噪声比特串。尽管去偏置数据将不允许直接标识第一噪声比特串的比特,但是去偏置将给出关于可以与第二噪声比特串比较的第一噪声比特串的信息。在一个实施方案中,去偏置数据指示第一噪声比特串中哪些比特对相等或不相等。统计测试可以验证第二噪声比特串中相同的比特对是否仍然相等或不相等。这不一定排除它们已经改变:例如,一个比特对可能已经从00变到11或从01变到10;用此去偏置数据来检测这样的改变是不可能的。然而,如果在第一噪声比特串和第二噪声比特串之间仅检测到很少改变,则PUF可能具有低噪声熵。
在一个实施方案中,统计测试被布置成使用去偏置数据和第二噪声比特串来对在第一噪声比特串中相等但在第二噪声比特串中不相等和/或在第一噪声比特串中不相等但在第二噪声比特串中相等的比特对的数目进行计数。如果该计数在一个阈值以上,则统计测试确定物理不可克隆功能的噪声水平是足够的。
可以由PUF的统计分布确定所述阈值,例如根据其规格的PUF噪声率。此外,第二噪声比特串中的比特的数目和期望的误报率(false positive rate)是已知的。由这些参数可以确定所述阈值。
例如,第一噪声比特串可以被认为是b0b1b2b3…,被分成比特对b2ib2i+1,i是非负整数。第二噪声比特串可以被认为是s0s1s2s3…,被分成比特对s2is2i+1。统计测试对b2ib2i+1是相等对但s2is2i+1不是不相等对的i的数目进行计数和/或对b2ib2i+1是不相等对但s2is2i+1是相等对的i的数目进行计数。
加密设备102包括随机种子生成单元165,该随机中子生成单元165被布置成仅在统计测试指示正确起作用时通过将熵集中函数应用到由物理不可克隆功能产生的噪声比特串来产生随机种子。熵集中函数(entropy concentration function)将较大的串(在此情况下是第二噪声比特串114)中的熵集中在较小的串(在此情况下是随机种子)中。熵集中函数的实例是散列函数,特别是加密散列函数(诸如SHA-1)、压缩函数和用于导出种子的导出函数,例如如N IST-SP800-90等中定义的。
随机种子可以用在被布置成根据随机种子生成随机数序列的伪随机数生成器中。随机数可以用在许多加密协议中,并且还具有非加密应用。伪随机数生成器未单独示出在图9a中。
例如,伪随机数生成器可以是以计数器模式运行、从随机种子开始的分组密码(block cipher)(比如说AES),或键入随机种子、用随机种子作为Fortuna种子的流密码(stream cipher)(诸如RC4)等。
在理论上,如果PUF正确地工作,例如,即是稳定的又是足够随机的,则相同的第二噪声比特串可以被用来重新构建加密密钥并且导出随机种子。根据未校正的第二噪声比特串计算随机种子,而根据经校正的第二噪声比特串重新构建加密密钥。例如,在一个实施方案中,随机种子生成单元165被布置成仅在统计测试指示正确起作用时,通过将熵集中函数应用到第二噪声比特串来生成随机种子。如果随机种子足够长并且足够随机,则未校正的第二噪声比特串中的噪声将支配未校正的第二噪声比特中存在的任何信息。在此情况下,强不可逆熵集中函数是可取的,例如加密散列函数。
然而,为了避免加密密钥上的信息可能通过随机数生成泄露出来的任何机会,可以使用一个不同的PUF响应来产生随机种子。例如,在一个实施方案中,物理不可克隆功能110被布置成在重新构建阶段期间产生第二噪声比特串114和又一个噪声比特串116,第二噪声比特串114和又一个噪声比特串116不重叠。随机种子生成单元165被布置成仅在统计测试指示正确起作用时才将熵集中函数应用到所述又一个噪声比特串。这具有随机数不会泄漏加密密钥上的信息的优点。
例如,在一个实施方案中,PUF是基于存储器的,从第一存储器地址获得第一噪声比特串和第二噪声比特串,并且从第二存储器地址获得又一个噪声比特串,所述第一存储器地址和第二存储器地址是不同的并且优选地非重叠。第一噪声比特串和第二噪声比特串可以被认为是对相同的第一询问(例如相同的地址)的响应;又一个噪声比特串可以被认为是对与第一询问不同的第二询问(例如不同的地址)的响应。可以以该方式使用其他PUF,例如可以用第一询问来询问延迟PUF以产生第一噪声比特串和第二噪声比特串,并且可以在重新构建期间用第二询问来询问以产生又一个噪声比特串。
图9a示出了使用又一个噪声比特串116的一个实施方案。例如,对第二噪声比特串114和去偏置数据142执行一次统计测试或多次统计测试。如果统计测试指示PUF在其规格内工作,例如具有足够的熵或足够的噪声等,则现在从又一个噪声比特串116导出随机种子。在一个实施方案中,第二噪声比特串和又一个噪声比特在统计上独立,这是因为它们是从PUF的不同部分获得的,而除了噪声之外第一比特串和第二比特串是相同的。
实验已经示出,从第二噪声比特串计算的统计代表整个PUF,从而也代表又一个噪声比特串。可以通过使第二噪声比特串和又一个噪声比特串交错来进一步改进此关系。例如,PUF可以是基于存储器的PUF、对又一个比特串做出贡献的第一存储器地址和第三存储器地址、对第二比特串做出贡献的第二存储器地址和第四存储器地址,第一地址小于第二地址小于第三地址小于第四地址。
图9b例示了使用图6的数据的不同实施方案。图9b示出了被分成比特对序列613的第一PUF响应612、去偏置数据642和第二PUF响应622。从去偏置数据642可以确定第一噪声比特串中哪些比特对相等以及哪些比特对不相等,即使此(整个)第一噪声比特串在重新构建期间可能不可用;在此情况下,去偏置数据642中的0对指示第一噪声比特串612中的相等对,并且去偏置数据642中的1对指示第一噪声比特串612中的不相等对。
在一个实施方案中,统计单元被布置成
-由去偏置数据确定第一比特串中的不相等比特对,
-对第二噪声比特串中的是第二噪声比特串中的相等比特对且是第一比特串中的不相等比特对的比特对的数目进行计数,获得第一数目。在图9b中,这样的对已经用大括号指示。在附图标记632处给出了该第一数目,对于此实施例,该第一数目是1。
-如果该第一数目在第一阈值以上,则验证物理不可克隆功能的噪声水平
在一个实施方案中,统计单元被布置成
-由去偏置数据确定第一比特串中的相等比特对,
-对第二噪声比特串中的是第二噪声比特串中的不相等比特对且是第一比特串中的相等比特对的比特对的数目计数,获得第二数目。在图9b中,这样的对已经用大括号指示。在附图标记634处给出了该第二数目,对于此实施例中,该第二数目是4。
-如果该第二数目在第二阈值以上,则验证物理不可克隆功能的噪声水平
在一个实施方案中,对二种组合进行计数,这将得到计数的第一数目和第二数目之和;在此情况下为5。
实践实施例
如本文所描述的去偏置解决方案的实施方案在登记期间标识相等比特对,其随后将在重新构建期间被丢弃或被擦除。测试的一个实施方案在重新构建期间检查特定大小的PUF分组中的这些标记的对是否有效地含有相等比特,对不是此情况的对的数目进行计数,并且验证相对于标记的对的总数目此数目是否在某一阈值以上。可以基于分组大小、所需的PUF噪声-熵质量参数和期望的误报率来预先确定此阈值。
可以使用基于相同行为的其他测试统计(而不是被标记为相等的不相等对的总数目),例如被标记为相等的不相等对之间的/中间的最长距离。
此测试需要在登记和重新构建之间重新评估PUF响应。如果不是此情况,则此测试不能够产生有意义的结果并且不被执行或被忽略。
在此实施例中:PUF响应的1千字节(8192比特)部分(又一个噪声比特串)被用来接种具有128比特安全强度的DRBG。根据[NIST,SP800-90A,使用确定性随机比特生成器生成随机数的建议],此PUF响应数据的噪声的最小熵应至少是192比特。已知的是,此PUF可以被偏置多达[30%-70%]。对于这样的PUF,为了提供具有8192比特的足够的噪声最小熵,其(平均)误比特率被确定为必须至少是2.9%。
此PUF响应的另一部分(6864比特)(第一噪声比特串和第二噪声比特串)被用于密钥生成。此部分可以与被用于接种DRBG的部分完全分离,但是由于它们来自相同的PUF,因此假设它们在偏置和误比特率方面具有相同的质量。用于密钥生成的部分被传递通过一个与基于冯〃诺依曼的去偏置预处理(如本文所描述的)结合部署代码偏置辅助数据构造的误差校正机构。所述去偏置预处理在登记期间检测相等比特对,所述相等比特对随后在稍后的重新构建期间被忽略(被丢弃或被删除)。
测试细节:
因为在密钥重新构建期间,具有去偏置的密钥生成器具有应相等的比特对的知识,所以它可以通过观察被标记为相等的但在重新构建期间不再相等的比特对的数目来得到平均误比特率的估计。在分析中,我们将PUF建模为具有独立且相同分布的比特。
对于具有相同独立分布(i.i.d)比特——具有偏置p和平均误比特率pe——的PUF响应,观察到相等比特对的可能性是(1-p)2+p2,并且在n比特PUF响应中观察到的相等比特对的数目以参数(floor(n/2),(1-p)2+p2)二进制分布。在重新构建期间观察到不相等的比特对的可能性——考虑到在登记期间此对被标记为相等的——可以被确定为如下:
可能性(不相等对@重新构建|相等对@登记)
=2(1-pe/(2(1-p)))(pe/(2(1-p)))(1-p)2/((1-p)2+p2)+2(1-pe/(2p))(pe/(2p))p2/((1-p)2+p2)
=pe (1-pe)/(p2+(1-p)2)。
因此,观察到在登记时相等而在重新构建期间不相等的对的可能性变为:
可能性(不相等对@重新构建和相等对@登记)
=可能性(不相等对@重新构建|相等对@登记)*可能性(相等对@登记)
=(pe (1-pe))/(p2+(1-p)2)((1-p)2+p2)
=pe (1-pe)。
有趣地,此可能性独立于PUF响应的偏置,但是仅取决于平均误比特率。这需要发生此情况的比特对的数目仅取决于平均误比特率,并且对此数目的观察可以被用来评定平均误比特率水平。
基于此结果,对于给定的实施例,观察到的在登记期间被标记为相等但在重新构建时不相等的对的数目的下限阈值可以被设置如下:
T=BinoCDF-1(10-6;6864/2,2.9%(1-2.9%))=54。
因此,如果平均误比特率足够高,则具有高可能性(>1-10-6),应观察到这些比特对中的54个以上。如果不是此情况,则冯·诺依曼去偏置对相等测试将输出失败。用于此示例密钥生成器的此测试的基本流程被示出在图10中。注意,失败测试在此情况下原则上对去偏置和/或密钥生成本身没有任何影响;测试结果(基于去偏置)仅对于DRBG的接种是重要的。
图11示出了被调谐为对于≥2.9%的可接受的误比特率具有<10-6的失败率的冯·诺依曼去偏置对相等测试的失败率曲线。如果在6864比特PUF响应部分中观察到的在登记时被标记为相等的不相等的比特对的数目小于54,则此特定测试输出失败。测试的失败预示根据此测试,误比特率(噪声最小熵)是不可接受的。
测试输出失败的可能性取决于PUF的实际真实误比特率。对于所提出的实施例,此关系被示出在图11中。此曲线示出的是,对于大于2.9%的可接受的误比特率,该测试的失败率为<10-6(因此该测试具有错误地拒绝具有可接受的误比特率的PUF的<10-6的非常小的误-拒绝率)。然而,如果平均误比特率小于可接受的极限,则该测试的失败率上升到10-6以上,并且对于<1.3%的平均误比特率而言接近100%(存在某一间隔的不可接受的平均误比特率,约为[1.3%...2.6%],其不以100%确定性被该测试检测到)。
通常,执行去偏置数据生成、噪声降低数据生成和/或密钥重新构建的设备(诸如设备100和101)各自包括一个执行存储在设备100、101处的适当软件的微处理器(未示出);例如该软件可能已经被下载和/或被存储在对应的存储器内,例如易失存储器(诸如RAM)或非易失存储器(诸如Flash(未示出))。替代地,设备100和101可以整体地或部分地以可编程逻辑实施为例如现场可编程门阵列(FPGA)。设备100和101可以整体地或部分地被实施为所谓的专用集成电路(ASIC),即为它们的特定用途定制的集成电路(IC)。
在一个实施方案中,电子加密设备包括去偏置电路和密钥重新构建电路。电子加密设备还可以包括噪声降低电路、误差校正器电路、可靠性信息提取器电路、软判决解码器电路、统计测试电路、随机种子生成器电路中的一个或多个。所述电路实施本文所描述的对应的单元。所述电路可以是处理器电路和存储电路,该处理器电路执行该存储电路中以电子方式表示的指令。所述电路还可以是FPGA、ASIC等。
图7示意性地例示了被布置成用于确定加密密钥的电子加密方法700的一个实施方案。方法700具有登记阶段710和稍后的重新构建阶段720。
登记阶段710包括
-使用物理不可克隆功能(PUF)(110)产生712第一噪声比特串,
-由所述第一噪声比特串确定714去偏置数据,用于降低所述第一噪声比特串中的偏置,所述去偏置数据将所述第一噪声比特串中的比特标记为被保留的或被丢弃的,
重新构建阶段720包括
-使用所述物理不可克隆功能(PUF)(110)产生722第二噪声比特串,
-由所述第二噪声比特串中被所述去偏置数据标记为被保留的比特确定724加密密钥,所述加密密钥独立于所述第二噪声比特串中被所述去偏置数据标记为被丢弃的比特。
如果方便的话,所述加密密钥还可以在登记阶段期间例如由所述第一噪声比特串中被标记为被保留的比特来确定。
如本领域的技术人员将明了的,许多不同的执行方法700的方式是可能的。例如,所述步骤的顺序可以变化或一些步骤可以并行执行。此外,在步骤中间可以插入其它方法步骤。插入的步骤可以表示诸如本文所描述的所述方法的改进,或可以与所述方法无关。此外,在开始下一个步骤之前,一个给定的步骤可能还未完全完成。
可使用软件执行根据本发明的方法,该软件包括用于使处理器系统执行方法700的指令。软件可以仅包括所述系统的特定子实体采用的那些步骤。该软件可以被存储在合适的存储介质(诸如硬盘、软盘、存储器等)中。该软件可以作为信号沿着缆线或无线或使用数据网络(例如互联网)被发送。该软件可以被制成可供下载和/或供在服务器上远程使用。可以使用被布置成配置可编程逻辑(例如现场可编程门阵列(FPGA))以执行所述方法的比特流来执行根据本发明的方法。
应理解,本发明还扩展到适于将本发明付储实践的计算机程序,特别是在载体上或在载体中的计算机程序。该程序可以是源代码形式、目标代码形式、源代码和目标代码之间的中间代码形式(诸如部分编译形式),或适合用于在实施根据本发明的方法中使用的任何其它形式。涉及计算机程序产品的实施方案包括对应于所阐明的方法中的至少一个的每个处理步骤的计算机可执行指令。这些指令可以被细分成子程序和/或可以被存储在可以被静态或动态链接的一个或多个文件中。涉及计算机程序产品的另一个实施方案包括对应于所阐明的系统和/或产品中的至少一个的每个装置的计算机可执行指令。
图8a示出了计算机可读介质1000,该计算机可读介质1000具有包括计算机程序1020的可写部分1010,计算机程序1020包括用于使计算机系统执行根据一个实施方案的确定加密密钥的方法的指令。计算机程序1020可以作为物理标记或借助于计算机可读介质1000的磁化在计算机可读介质1000上实现。然而,还可想到任何其他合适的实施方案。此外,应理解,尽管计算机可读介质1000在此被示出为光盘,但是计算机可读介质1000可以是任何合适的计算机可读介质(诸如硬盘、固态存储器、闪速存储器等),并且可以是不可记录的或可记录的。计算机程序1020包括用于使处理器系统执行确定加密密钥的所述方法的指令。
图8b示出了根据一个实施方案的处理器系统1100的示意性表示。该处理器系统包括一个或多个集成电路1110。一个或多个集成电路1110的架构被示意性地示出在图8b中。电路1110包括处理单元1120,例如CPU,用于使计算机程序部件运行以执行根据一个实施方案的方法和/或实施它的模块或单元。电路1110包括用于存储程序代码、数据等的存储器1122。存储器1122的一部分可以是只读的。电路1110可以包括通信元件1126,例如天线、连接器或二者等。电路1110可以包括用于执行在所述方法中限定的处理的部分或全部的专用集成电路1124。处理器1100可以包括用于在一个实施方案中使用的PUF1128。处理器1120、存储器1122、专用IC1124、PUF1128和通信元件1126可以经由互连件1130(比如说总线)相互连接。处理器系统1110可以被布置成分别使用天线和/或连接器实现接触通信和/或非接触通信。
应注意,上文提及的实施方案例示而非限制本发明,并且本领域的技术人员将能够设计许多替代实施方案。
在权利要求中,放置在括号中的任何参考标记都不应被解释为限制权利要求。动词“包括”(comprise)以及其词形变化的使用不排除存在权利要求中所列元件或步骤之外的其他元件或步骤。元件前面的冠词“一个(a/an)”不排除存在多个这样的元件。本发明可以通过硬件(包括几个分立元件)以及通过适当编程的计算机实现。在列举了几个设备的装置权利要求中,这些设备中的几个可以通过同一项硬件实现。仅凭某些措施被记载在相互不同的从属权利要求中这一事实,不指示不能有利地使用这些措施的组合。
在权利要求中,括号中的参考指实施方案的图中的参考标记或实施方案的公式,因此增加了权利要求的可理解性。这些参考不被解释为限制权利要求。

Claims (19)

1.一种布置成确定加密密钥的电子加密设备(100),所述加密设备被布置成用于登记阶段和稍后的重新构建阶段,所述加密设备包括
-物理不可克隆功能(PUF)(110),被布置成在所述登记阶段期间产生第一噪声比特串(112)且在所述重新构建阶段期间产生第二噪声比特串(114),
-去偏置单元(120),被布置成降低所述第一噪声比特串中的偏置,所述去偏置单元被布置成在所述登记阶段期间由所述第一噪声比特串确定去偏置数据(142),所述去偏置数据将所述第一噪声比特串中的比特标记为被保留的或被丢弃的,
-噪声降低单元(130),被布置成由第一误差校正代码获得一个或多个第一代码字并且在登记阶段期间由所述一个或多个第一代码字为所述第一噪声比特串中被所述去偏置数据标记为被保留的比特确定噪声降低数据(144),
-标准化器(152),被布置成在重新构建阶段期间将噪声降低数据应用到所述第二噪声比特串中被所述去偏置数据标记为被保留的比特,确定所述一个或多个第一代码字和噪声,
-误差校正器(154),被布置成校正一个或多个噪声第一代码字,以及
-密钥重新构建单元(150),被布置成由一个或多个经校正的代码字来确定所述加密密钥,所述加密密钥独立于所述第二噪声比特串中被所述去偏置数据标记为被丢弃的比特。
2.根据权利要求1所述的电子加密设备(100),其中,所述第一噪声比特串被分割成第一比特对序列,所述第二噪声比特串被分割成第二比特对序列,
-所述去偏置单元被布置成标识所述第一比特对序列中的不相等比特对,一个不相等比特对包括两个不相等的比特,一个相等比特对包括两个相等的比特,所述去偏置数据将所述第一噪声比特串中的不相等比特对标记为被保留的。
3.根据权利要求2所述的电子加密设备(100),
-所述去偏置单元被布置成标识比特对序列中的第一相等比特对和第二相等比特对,所述第一相等比特对是所述第二相等比特对的逆,所述去偏置数据至少将所述第一相等比特对标记为被保留的。
4.根据权利要求2所述的电子加密设备(100),
-所述去偏置单元被布置成标识比特对序列中的相等比特对的第一集合和相等比特对的第二集合,所述第一集合和所述第二集合具有相同的大小,所述第一集合中的所有相等比特对相同,所述第二集合中的所有相等比特对相同,所述第一集合的比特对是所述第二集合中的比特对的逆,所述去偏置数据至少将所述第一集合中的相等比特对标记为被保留的。
5.根据前述权利要求中任一项所述的电子加密设备(100),其中,与所述第一噪声比特串相比,所述第一噪声比特串中被所述去偏置信息标记为被保留的比特具有较低偏置。
6.根据权利要求1所述的电子加密设备(100),其中,
-所述噪声降低数据包括所述第一比特串中被所述去偏置信息标记为被保留的比特和所述一个或多个第一代码字之间的差异,并且其中,所述噪声降低数据不包括所述第一比特串中被所述去偏置信息标记为被丢弃的比特和所述一个或多个第一代码字中的比特之间的差异。
7.根据权利要求1所述的电子加密设备(100),其中,
-所述一个或多个第一代码字中的比特对应于所述第一噪声比特串中的比特,所述噪声降低数据包括所述第一比特串中被所述去偏置信息标记为被保留的比特和所述一个或多个第一代码字中与所述第一噪声比特串中被保留的比特对应的比特之间的差异。
8.根据权利要求7所述的电子加密设备(100),其中,
-所述一个或多个第一代码字中与所述第一噪声比特串中被保留的比特对应的比特在所述一个或多个第一代码字和所述第一噪声比特串中分别具有相同的索引。
9.根据权利要求7所述的电子加密设备(100),其中,所述去偏置单元被布置成在所述去偏置数据中将所述第一噪声比特串中的所有不相等比特对标记为被保留的并且将所有相等比特对标记为被丢弃的。
10.根据权利要求3所述的电子加密设备(100),其中,
-如果对于所述一个或多个第一代码字的相同代码字有差异地使用所述第一相等比特对和所述第二相等比特对,则比特对序列中的第二相等比特对被所述去偏置数据标记为被保留的,否则所述第二相等比特对被标记为被丢弃的。
11.根据权利要求3所述的电子加密设备(100),其中,
-所述去偏置单元被布置成确定所述第一比特对序列的第一置换,以使得对于所述一个或多个第一代码字的相同代码字有差异地使用所述第一相等比特对和所述第二相等比特对,所述密钥重新构建单元被布置成将所述第一置换应用到所述第二比特对序列。
12.根据权利要求1至4中任一项所述的电子加密设备(100),其中,所述噪声降低单元被布置成通过对来自第二误差校正代码的一个或多个第二代码字进行编码来从所述第一误差校正代码选择一个或多个第一代码字。
13.根据权利要求12所述的电子加密设备(100),包括:
-可靠性信息提取器,被配置为确定指示所述一个或多个噪声第一代码字的校正的可靠性的可靠性信息;
-软判决解码器,被配置为使用所述可靠性信息对所述一个或多个第二代码字进行解码。
14.根据权利要求1至4中任一项所述的电子加密设备(100),其中,所述去偏置单元(120)被布置成
-通过第二置换来置换所述第一噪声比特串,以将所述第一噪声比特串的第一部分和第二部分中的比特分组在一起,之后将所述第一噪声比特串中的比特标记为被保留的或被丢弃的,所述第一噪声比特串的所述第一部分具有第一偏置水平,所述第一噪声比特串的所述第二部分具有第二偏置水平,
并且其中,所述密钥重新构建单元(150)被布置成
-通过所述第二置换来置换所述第二噪声比特串,以将所述第二噪声比特串的第一部分和第二部分中的比特分组在一起,之后确定所述第二噪声比特串中被所述去偏置数据标记为被保留的比特。
15.根据权利要求1至4中任一项所述的电子加密设备(100),其中,所述第一误差校正代码是重复代码。
16.根据权利要求2或9所述的电子加密设备(102),包括
-统计单元(160),被布置为在所述重新构建阶段期间执行统计测试,以用于验证所述物理不可克隆功能的噪声水平,
-所述统计测试被布置成使用所述去偏置数据和所述第二噪声比特串来对在所述第一噪声比特串中相等但在所述第二噪声比特串中不相等和/或在所述第一噪声比特串中不相等但在所述第二噪声比特串中相等的比特对的数目进行计数,并且如果所述计数在一个阈值之上,则验证所述物理不可克隆功能的噪声水平是足够的。
17.根据权利要求16所述的电子加密设备(102),包括
-随机种子生成单元(165),被布置成仅在统计测试指示正确起作用时,通过将熵集中函数应用到由所述物理不可克隆功能产生的噪声比特串来生成随机种子,其中
-所述随机种子生成单元(165)被布置成将所述熵集中函数应用到所述第二噪声比特串,
或,其中
-所述物理不可克隆功能(PUF)(110)被布置成在所述重新构建阶段期间产生又一个噪声比特串(116),所述第二噪声比特串(114)与所述又一个噪声比特串不同,并且
-所述随机种子生成单元(165)被布置成将所述熵集中函数应用到所述又一个噪声比特串。
18.一种被布置成确定加密密钥的电子加密方法,所述加密方法包括登记阶段和稍后的重新构建阶段,
-所述登记阶段包括
-使用物理不可克隆功能(PUF)(110)产生第一噪声比特串,
-由所述第一噪声比特串确定去偏置数据,用于降低所述第一噪声比特串中的偏置,所述去偏置数据将所述第一噪声比特串中的比特标记为被保留的或被丢弃的,
-由第一误差校正代码获得一个或多个第一代码字,
-由所述一个或多个第一代码字为所述第一噪声比特串中被所述去偏置数据标记为被保留的比特确定噪声降低数据(144),
-所述重新构建阶段包括
-使用所述物理不可克隆功能(PUF)(110)产生第二噪声比特串,
-将噪声降低数据应用到所述第二噪声比特串中被所述去偏置数据标记为被保留的比特,确定所述一个或多个第一代码字和噪声,
-校正一个或多个噪声第一代码字,
-由一个或多个经校正的代码字来确定所述加密密钥,所述加密密钥独立于所述第二噪声比特串中被所述去偏置数据标记为被丢弃的比特。
19.一种非暂时性有形计算机可读存储介质,包括可加载到可编程器件中的数据,所述数据表示能够由所述可编程器件执行的指令,所述指令包括:
-一个或多个获得指令,被布置成从物理不可克隆功能(PUF)(110)获得第一噪声比特串,
-一个或多个确定指令,被布置成由所述第一噪声比特串确定去偏置数据,用于降低所述第一噪声比特串中的偏置,所述去偏置数据将所述第一噪声比特串中的比特标记为被保留的或被丢弃的,
-一个或多个确定指令,被布置成由第一误差校正代码获得一个或多个第一代码字,并且被布置成由所述一个或多个第一代码字为所述第一噪声比特串中被所述去偏置数据标记为被保留的比特确定噪声降低数据(144),
-一个或多个获取指令,被布置成从所述物理不可克隆功能(PUF)(110)获得第二噪声比特串,
-一个或多个应用指令,被布置成在重新构建阶段期间将噪声降低数据应用到所述第二噪声比特串中被所述去偏置数据标记为被保留的比特,确定所述一个或多个第一代码字和噪声,
-一个或多个校正指令,被布置成校正一个或多个噪声第一代码字,
-一个或多个确定指令,用以由一个或多个经校正的代码字来确定加密密钥,所述加密密钥独立于所述第二噪声比特串中被所述去偏置数据标记为被丢弃的比特。
CN201580076786.8A 2014-12-24 2015-12-03 来自物理不可克隆功能的加密密钥产品 Active CN107251475B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP14200283.1 2014-12-24
EP14200283 2014-12-24
EP15179941 2015-08-06
EP15179941.8 2015-08-06
PCT/EP2015/078454 WO2016102164A1 (en) 2014-12-24 2015-12-03 Cryptographic key production from a physical unclonable function

Publications (2)

Publication Number Publication Date
CN107251475A CN107251475A (zh) 2017-10-13
CN107251475B true CN107251475B (zh) 2020-07-28

Family

ID=54771120

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580076786.8A Active CN107251475B (zh) 2014-12-24 2015-12-03 来自物理不可克隆功能的加密密钥产品

Country Status (6)

Country Link
US (1) US10554398B2 (zh)
EP (1) EP3238199B1 (zh)
JP (1) JP6929776B2 (zh)
KR (1) KR102458727B1 (zh)
CN (1) CN107251475B (zh)
WO (1) WO2016102164A1 (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107924645B (zh) * 2015-08-06 2021-06-25 本质Id有限责任公司 具有物理不可克隆功能的加密设备
US10454691B2 (en) * 2016-05-24 2019-10-22 Arizona Board Of Regents On Behalf Of Northern Arizona University Systems implementing hierarchical levels of security
US10146464B2 (en) * 2016-06-30 2018-12-04 Nxp B.V. Method for performing multiple enrollments of a physically uncloneable function
US11012230B2 (en) * 2016-12-13 2021-05-18 Renesas Electronics Corporation Communication apparatus and cryptographic processing system
WO2018183572A1 (en) * 2017-03-29 2018-10-04 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
CN107194285B (zh) * 2017-04-29 2020-05-12 苏州芯动科技有限公司 一种基于puf的密钥生成方法及数据存储方法
US10740733B2 (en) 2017-05-25 2020-08-11 Oracle International Corporaton Sharded permissioned distributed ledgers
US11258597B2 (en) 2017-07-10 2022-02-22 Intrinsic Id B.V. Key derivation from PUFs
US10915464B2 (en) 2017-09-12 2021-02-09 Ememory Technology Inc. Security system using random number bit string
US10649735B2 (en) 2017-09-12 2020-05-12 Ememory Technology Inc. Security system with entropy bits
DE102018123103A1 (de) 2017-10-13 2019-04-18 Samsung Electronics Co., Ltd. Halbleitervorrichtung, die Sicherheitsschlüssel erzeugt, Verfahren zum Erzeugen eines Sicherheitsschlüssels und Verfahren zum Registrieren des Sicherheitsschlüssels
US10521616B2 (en) 2017-11-08 2019-12-31 Analog Devices, Inc. Remote re-enrollment of physical unclonable functions
JP6752247B2 (ja) * 2018-03-09 2020-09-09 三菱重工業株式会社 情報配信装置、配信対象装置、情報配信システム、情報配信方法及びプログラム
US10880101B2 (en) * 2018-04-11 2020-12-29 Taiwan Semiconductor Manufacturing Co., Ltd. Method and circuit for de-biasing PUF bits
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
US10749694B2 (en) 2018-05-01 2020-08-18 Analog Devices, Inc. Device authentication based on analog characteristics without error correction
US11044107B2 (en) 2018-05-01 2021-06-22 Analog Devices, Inc. Device authentication based on analog characteristics without error correction
WO2019212849A1 (en) * 2018-05-01 2019-11-07 Analog Devices, Inc. Device authentication based on analog characteristics without error correction
CN109035590A (zh) * 2018-06-21 2018-12-18 广东工业大学 一种智能电表及电费充值系统
CN109002883B (zh) * 2018-07-04 2020-12-29 中国科学院计算技术研究所 卷积神经网络模型计算装置及计算方法
US11277272B2 (en) * 2018-11-07 2022-03-15 Samsung Electronics Co., Ltd. Integrated circuit and method for challenge-response physically unclonable function
US11245680B2 (en) 2019-03-01 2022-02-08 Analog Devices, Inc. Garbled circuit for device authentication
US10924112B2 (en) * 2019-04-11 2021-02-16 Ememory Technology Inc. Bandgap reference circuit
GB201919297D0 (en) 2019-12-24 2020-02-05 Aronson Bill Temperature sensing physical unclonable function (puf) authenication system
US11516028B2 (en) 2019-12-24 2022-11-29 CERA Licensing Limited Temperature sensing physical unclonable function (PUF) authentication system
AU2020202883B1 (en) * 2020-01-10 2021-01-07 Mesinja Pty Ltd Systems and computer-implemented methods for generating pseudo random numbers
US20230216838A1 (en) * 2020-06-02 2023-07-06 UNM Rainforest Building System and methods for puf-based authentication
CN112422273B (zh) * 2020-10-15 2021-09-14 湖北工业大学 一种基于比特自检puf的无偏响应去偏结构及生成方法
CN112434064B (zh) * 2020-11-19 2023-09-29 脸萌有限公司 数据处理方法、装置、介质及电子设备
US11917089B2 (en) 2021-09-28 2024-02-27 Nxp B.V. Reducing helper data size for physical unclonable function device
CN117478327B (zh) * 2023-12-27 2024-03-19 湖北工业大学 一种基于puf的冯诺依曼密钥生成器去偏算法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1610463A1 (fr) * 2004-06-24 2005-12-28 STMicroelectronics S.A. Vérification d'un flux de bits

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1510914B1 (fr) * 2003-08-28 2010-10-13 STMicroelectronics S.A. Normalisation à flux constant d'une source de bruit pour génération de nombres aléatoires
EP1610462B1 (fr) * 2004-06-24 2012-07-11 St Microelectronics S.A. Circuit et procédé de vérification de la constance de biais d'un flux de bits
DE602007013697D1 (zh) 2006-01-24 2011-05-19 Verayo Inc
US8595274B2 (en) 2007-12-31 2013-11-26 Intel Corporation Random number generator
JP5074359B2 (ja) 2008-11-12 2012-11-14 日本電信電話株式会社 乱数生成回路
US9031232B2 (en) 2010-01-15 2015-05-12 Mitsubishi Electric Corporation Bit sequence generation apparatus and bit sequence generation method
US10078462B2 (en) 2012-05-18 2018-09-18 Cornell University Methods and systems for providing hardware security functions using flash memories
US10129036B2 (en) * 2014-09-18 2018-11-13 Intel Corporation Post-processing mechanism for physically unclonable functions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1610463A1 (fr) * 2004-06-24 2005-12-28 STMicroelectronics S.A. Vérification d'un flux de bits

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
evaluation of a puf device authentication scheme on a discrete 0.13um sram;ratrick koeberl;《trusted systems,springer berlin heidelberg》;20111127;271-288 *

Also Published As

Publication number Publication date
EP3238199B1 (en) 2020-06-17
KR20170100602A (ko) 2017-09-04
JP2018504827A (ja) 2018-02-15
US10554398B2 (en) 2020-02-04
US20180006813A1 (en) 2018-01-04
JP6929776B2 (ja) 2021-09-01
EP3238199A1 (en) 2017-11-01
WO2016102164A1 (en) 2016-06-30
KR102458727B1 (ko) 2022-10-24
CN107251475A (zh) 2017-10-13

Similar Documents

Publication Publication Date Title
CN107251475B (zh) 来自物理不可克隆功能的加密密钥产品
CN107924645B (zh) 具有物理不可克隆功能的加密设备
CN107004380B (zh) 包括物理不可克隆功能的加密设备
Bösch et al. Efficient helper data key extractor on FPGAs
CN110869997B (zh) 电子加密设备、电子登记和重构方法及计算机可读介质
Van der Leest et al. Soft decision error correction for compact memory-based PUFs using a single enrollment
US10910079B2 (en) Programming device arranged to obtain and store a random bit string in a memory device
Koeberl et al. Entropy loss in PUF-based key generation schemes: The repetition code pitfall
KR101678568B1 (ko) 물리적 시스템에 의존하여 암호화 키를 설정하기 위한 시스템
Hiller et al. Breaking through fixed PUF block limitations with differential sequence coding and convolutional codes
Von Maurich et al. Towards side-channel resistant implementations of QC-MDPC McEliece encryption on constrained devices
Maes et al. Secure key generation from biased PUFs: extended version
EP2773061B1 (en) A method and an apparatus for deriving secret information from a series of response values and a method and an apparatus for providing helper data allowing to derive a secret information
Hiller et al. Hiding secrecy leakage in leaky helper data
Immler et al. Variable-length bit mapping and error-correcting codes for higher-order alphabet pufs—extended version
Hiller et al. Systematic low leakage coding for physical unclonable functions
Hiller et al. Online reliability testing for PUF key derivation

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