用于从用作物理不可克隆功能的存储器中生成密码密钥的系统的制作方法
【技术领域】
[0001]本发明涉及用于生成密码密钥(cryptographic key)的电子系统,该系统包括:被用作物理不可克隆功能的存储器,该存储器是可写的、易失的并且被配置成在该存储器每次上电时,该储存器安置取决于该存储器的至少部分随机物理特性的存储器内容,通过存储器接口该存储器是可访问的;以及密钥导出单元,其被配置成从该存储器安置的存储器内容中导出该密码密钥。
【背景技术】
[0002]物理不可克隆功能(PUF)已被证明是多种形式的安全识别一一包括安全存储器中密钥、识别符等的存储一一的有利替代。
[0003]物理不可克隆功能采用制造变化来获得数字识别符。该数字识别符因此被绑定到物理媒质。因为物理不可克隆功能取决于随机工艺变化,因此易于形成PUF,但是即使不是完全不可能也非常难于形成产生特定预定识别符的PUF。制造变化导致存储器元件的不同物理特性。例如,物理特性可包括:掺杂浓度、氧化层厚度、沟道长度、结构宽度(例如,金属层的结构宽度)、寄生现象(例如,电阻、电容)等。当多次制造数字电路设计时,这些物理特性会稍微变化并且它们共同引起IC元件(例如,存储器元件)的行为在一些情况下表现为不同。例如,启动行为是由物理特性中的制造变化确定的。
[0004]对于PUF来说,合意选择是易失存储器,尤其是基于存储器的触发器,更具体地是静态随机存取存储器(SRAM)。这样的存储器易于评估并且制造成本低。基于SRAM的PUF被称作SRAM PUF。SRAM具有的属性是在上电之后,它们被填充以随机模式的开比特和关比特。尽管该模式在下一次SRAM上电时不可准确度地重复自身,但是两个这样的模式之间的差异通常远小于该状态中比特数的一半。相同SRAM的存储器上电内容之间的差异一般远小于不同SRAM的存储器上电内容之间的差异。
[0005]由于当相同的询问(challenge)被评估两次时PUF可能未给出完全相同的结果,因此可使用所谓的辅助数据(Helper Data)算法(也被称作模糊提取)来确保每次导出的密钥相同。例如,在国际专利申请 WO 2006/129242,“Template Renewal in Helper DataSystems”等描述了一种使用辅助数据以根据噪声测量构造可复写的值的方式。
[0006]PUF(尤其是SRAM PUF)的一个应用是导出电子电路上的密码密钥。该电子电路通常包括集成电路(IC)和/或可编程逻辑。
[0007]PUF的一个优点是它们本质上拥有抗篡改特性。没有PUF的话,通过在其中密钥以常规方式存储的非易失存储器上安装物理攻击,攻击者可恢复密码密钥。例如,攻击者可打开存储器并且探查它的内容。使用PUF使得这种类型的攻击困难得多,原因在于打开PUF通常会干扰它;探查例如SRAM的动态内容比探查嵌入式非易失存储器困难得多。因此,攻击者从他的探查获得的信息与用于创建密码密钥的交互无关。这样使得攻击者更难以使用物理攻击找到密钥。
[0008]遗憾的是,侵入的物理攻击不是攻击者可获得有关PUF的内部状态的至少一些信息所依据的唯一攻击矢量。所谓的侧信道也可能泄漏信息。侧信道是系统上与该系统内部出现的物理现象有关的信息源,该信息源可以从该系统的外部观察到并且该信息源除了揭示该系统的预期可观察的输入输出行为之外还揭示至少在某种程度上与该系统的内部操作和/或状态相关联的信息。
[0009]功率消耗、时间消耗和电磁福射是与密码系统相关的侧信道的实例。例如,系统使用密码密钥时监测的密码系统的功率消耗可在一定程度上与密钥相关联。由于将密码密钥保密是最重要的,因此与该密钥相关联的任何信息泄露是有问题的。
[0010]在公布为W0/2010/100015、标题为“Systemfor establ ishing a cryptographickey depending on a physical system” 的国际专利申请 PCT/EP2010/051631 中公开了减少在从PUF导出密钥的误差校正部分期间(即,在执行辅助数据算法期间)出现的侧信道泄漏的解决方案。误差校正是避免侧信道泄漏的特别重要的阶段,原因是它多次处理敏感数据,引入多个非线性相关。此外,如果误差校正被实施在软件中则泄漏被放大。
【发明内容】
[0011]已经证明,一旦解决了可能在误差校正期间出现的侧信道泄漏,则留下较小的侧信道泄漏源。尽管这些较小的源需要更复杂的测量并且甚至在成功测量之后仅提供相对少的敏感信息,但仍然期望解决可能在机密密钥的导出期间出现的其它侧信道泄漏源。
[0012]当测量基于PUF的存储器(诸如SRAM PUF)的功率消耗时,在该存储器的读出过程期间出现一个侧信道。例如,当PUF控制块读出通过存储器接口连接的存储器的启动值(上电存储器内容)时。存储器接口的功率消耗取决于所转移的数据字的汉明权重(hammingweight)。读出SRAM存储器内容可能泄漏通过功率分析或电磁分析或甚至光电发射攻击所读的数据字节的汉明权重信息。
[0013]如果假设汉明权重与功率消耗之间存在完美的对应关系,则对于8比特宽的存储器接口,数据泄漏理论上将高达约每字节2.54比特,S卩,约30%。尽管实际上,该对应关系远不完美,并且因此信息泄漏小得多,但是仍需要减少基于PUF的存储器的存储器接口中的侧信道泄漏。理论上随着存储器接口变得更宽每比特最大泄漏急剧下降。例如,如果存储器接口增加到16比特,则每比特的理论泄漏几乎减半。然而,较大的存储器接口成本较高并且吸取更多功率,阻碍了它们在某些环境下的使用。
[0014]光电发射攻击利用可在集成电路中状态改变时发射的少量光子形成的光学侧信道。
[0015]提供一种用于生成密码密钥的电子系统,所述系统包括:被用作物理不可克隆功能的存储器,该存储器是可写的、易失的并且被配置成在该存储器每次上电时,该存储器安置(settle into)取决于该存储器的至少部分随机物理特性的存储器内容,该存储器是通过存储器接口可访问的;以及密钥导出单元,其被配置成从该存储器安置的存储器内容中导出所述密码密钥。
[0016]该用于生成密码密钥的电子系统还包括存储器读出单元,该存储器读出单元通过存储器接口连接到该存储器,并连接到该密钥导出单元,该存储器读出单元包括地址加扰器,用于经该存储器接口按加扰的顺序检索该存储器内容。
[0017]因为该存储器内容是经存储器接口以加扰的顺序转移的,因此减少了侧信道泄漏。尽管数据字本身的汉明权重仍被泄漏,但是失去了汉明权重与存储器内容的特定数据字之间的对应关系。如果与组成该存储器内容的个体数据字的大小相比该存储器内容的数据字是大的,则侧信道泄漏减少的多。这是由于在这种情况下测量的汉明权重可属于许多可能的数据字。这是尤其方便的,原因在于对于小数据字(8比特以及更少比特)来说可能的泄漏更大。据估计,1024比特的存储器内容或更多比特的存储器内容的侧信道泄漏是可忽略的。
[0018]注意到,许多试图减少从依赖汉明权重的功率差泄漏的信息量的对策是不适用的。例如,所谓的恒定权重(constant-weight)代码已经被提出作为对策。在恒定权重代码中,所有的敏感数据被编码在具有固定汉明权重(通常等于数据字比特大小的一半)的数据字中。尽管此对策减少了依赖汉明权重的功率差(在例如存储在安全存储器中的密钥),但是它不适用于基于PUF的存储器。确定存储器内容的物理特性是随机的,即,不能够规定用于存储器内容的特定编码类型。
[0019]用于生成密码密钥的电子系统可被包含在移动计算设备(诸如智能卡)、移动通信设备(诸如移动电话、平板等)中。从存储器内容导出的密钥可用在询问响应协议中,在该询问响应协议中,该系统证实拥有该密钥。该密钥可用于例如加密的存储或通信中的机密性保护。该导出的密钥可以是对称密钥,但是甚至可以是非对称公共/私有的密钥对,例如,通过将该密钥用作找到非对称密钥的种子。
[0020]用于生成密码密钥的电子系统可被包含在集成电路中。例如,该集成电路可以是ASSP,S卩,实施适用于广阔市场的特定功能的专用集成电路。ASSP例如用于实施音频/视频编解码。通过用本文中所描述的用于生成密码密钥的电子系统生成密码密钥来改进使用密码密钥、支持密码功能的ASSP的安全性。
[0021]例如,该集成电路可以是DSP。这将改进使用例如用PUF生成的密钥或它的导出物进行加密的应用;例如,保护流内容(streaming content)同时保持密钥安全。
[0022]PUF生成的密钥可被用作用于认证和/或用于建立安全通信信道的信任根。建立安全通信信道例如对于包括该用于生成密码密钥的电子系统的NFC芯片是重要的。
[0023]该存储器被用作物理不可克隆功能。该存储器可包括多个可被配置成两个稳定状态的二进制存储元件。在启动时,每个二进制存储元件安置处于这两个移动状态中的一个。它安置处于哪个状态主要由存储元件的精确的制造(例如,掺杂水平)决定,尽管元件安置处于的状态也受偶然波动影响。例如,该存储器可包括多个触发器,尤其是D型触发器,尤其该存储器可以是SRAM存储器。该存储器的上电内容受到噪声和扰动的影响。一些FPGA包括可被用作作为物理不可克隆功能的存储器使用的未初始化的SRAM块。
[0024]该存储器接口可包括地址信道和数据信道。通过加扰(例如,在将存储器地址放在地址信道之前加扰所述存储器地址加扰)可实现对存储器的加扰的访问。在这种情况下,通过选择不同的密钥可获得不同的加扰顺序。优选地,加扰顺序是攻击者不知道的(即,机密),更优选地,该加扰顺序对于设备是唯一的,例如,在制造时选择的,更优选地,由该系统本身经常改变该加扰顺序,甚至更优选地,该加扰顺序是在存储器读出单元启动时至少部分地随机确定的。
[0025]功率分析、电磁分析和光电发射攻击通常需要许多重复测量(跟踪)以得到良好的信噪比。然后对重复的测量执行统计分析。通过使读出顺序随机化,或者甚至有规律地改变读出顺序,阻碍了此分析。
[0026]该密钥导出单元被配置成从存储器安置的存储器内容中导出密码密钥。该导出单元将噪声从存储器内容中移除。例如,该密钥导出单元包括:非易失辅助数据存储器,该辅助数据存储器存储为用作物理不可克隆功能的存储器构造的辅助数据;组合器,用于建立可校正的比特串,该可校正的比特串位于误差校正代码的可校正的邻域中,该组合器被配置成从辅助数据存储器检索辅助数据并且将检索的辅助数据与存储器安置的存储器内容进行组合;以及误差校正器,其被配置成使用误差校正算法从可校正的比特串建立误差校正代码的代码字。
[0027]该辅助数据被构造用于存储器的一个特定的物理实例,原因在于不同存储器芯片的存储器启动内容非常不同。如果按