用于提供密码密钥的电路单元的制作方法_2

文档序号:8433555阅读:来源:国知局
er, com/article/10.1007%2Fs 10623-013-9816-5# 中被记载。
[0012]已知针对执行加密算法的侧信道攻击,在其中根据电流消耗、运行时特性或电磁福射来推断所使用的密码密钥。在所谓的相关攻击中(参见http://en.wikipedia.0rg/wiki/Correlat1n_attack),计算在假设的(部分)密钥的所期望的福射模式与实际观察到的福射模式之间的相关性,对此也参见http://homes.esat.kuleuven.be/~iverbauw/IndoPartIToffebsite.pdf, 43 页以后。
[0013]借助校正数据从PUF响应中提取密钥例如在US 7,681, 103 B2和WO 2010/100015Al中记载。

【发明内容】

[0014]在这种背景下,本发明的任务在于,以简单并且安全的方式提供一种密码密钥而无需附加的辅助数据。
[0015]相应地,建议了一种用于提供密码密钥的电路单元。该电路单元具有用于响应于挑战值来产生响应值的物理防克隆功能(PUF)、用于确定多个挑战值和用于在物理防克隆功能中输入所述多个挑战值以便产生多个响应值的确定单元、用于通过比较所产生的多个响应值与预先定义的参考值来提供比较结果的比较单元、以及用于基于所提供的比较结果来提供多个挑战值之一作为密码密钥的提供单元。
[0016]如上面已经阐述地,为使用密码安全机制需要密码密钥。密码密钥被以通常方式产生并且存储在存储器中,以便在任何使用的情况下无需手动地输入该密码密钥。这里密码密钥应当可以重复或者说可复制地被提供。在所建议的电路单元中在利用半导体电路的硬件固有特性的情况下借助物理防克隆功能(PUF)求得密码密钥。密码密钥可以在嵌入式设备上被安全提供并且用于保护固定的或者可配置的所存储的数据或嵌入式系统的程序代码。
[0017]按照所建议的电路单元(下面也称为电路),借助例如可以为FPGA或ASIC的电路的挑战-响应物理防克隆功能(CR-PUF),可复制地提供数据值,所述数据值是密码密钥或标识符。为此不需要辅助数据,这些辅助数据必须存储在非易失性存储器中。
[0018]CR-PUF是在该电路上实现的功能,其对挑战值提供响应值,例如长度为8、16、32、64、128、256、512位的位串。对挑战值的响应值在不同的电路样本中是不同的,也即,然而在一个电路样本中大量不同的位是类似的,也即仅仅一定数量的不同位。可能的是:PUF响应由多个响应部分值组成,如果粗-CR-PUF的实现具有较小的响应长度的话。这样,例如可以由CR-PUF组成较长的PUF响应,其中所述CR-PUF例如针对挑战值仅仅求得一个输出位。在此,例如可以使用输入挑战的3位,也即带有十进制O至7的值范围,以便确定8位长度的响应。
[0019]在此,基于PUF从预先给定的值范围中求得以下值作为密码密钥,该值在重复实施的情况下在一个芯片上以高概率是相同的、而在不同芯片上是不同的。密码密钥下面也理解为标识符或者密钥导出参数。
[0020]例如,应当从O至255的值范围中求得8位部分值作为密码密钥。为此,按照一种固定的、预先给定的计算法则针对每个候选部分值在确定单元中确定(至少一个)挑战值(查询值)。因此针对从O至255的示例性值范围确定256个挑战值。然后通过确定单元给PUF加载所求得的挑战值。针对每个挑战值因此产生关联的响应值。现在通过比较单元将响应值(应答值)与所期望的参考值进行比较,该比较单元提供比较结果。基于比较结果提供多个挑战值之一作为密码密钥。
[0021]该比较或参考值是固定的,从而其不必被求得并且存储。然而,针对多个可能的可确定的值中的不同部分值或不同值,可以使用不同的、但是分别固定的参考值。
[0022]在常见的方法中,首先产生密码密钥,然后将其受保护地存储。而在这里建议的电路单元中,直接借助PUF可复制地确定密码密钥。因此虽然不能预先给定确定的密钥,然而这具有如下优点:不需要初始化,并且不需要存储用于密钥重构的辅助数据。也无需额外地产生随后必须被存储的密钥。因为可以不预先给定密钥,而是产生密钥,因此可以使用任意密钥用于嵌入式仪器的内部自保护,例如受保护地存储配置数据。
[0023]按照一种实施方式,响应值相应于响应模式,预先定义的参考值相应于参考模式,并且比较单元被设立用于将各自的响应模式与参考模式进行比较。
[0024]因此,在将参考值与响应值进行比较时,进行一种模式识别。对于多个可能的密钥、也即挑战值,通过遍历尝试来求得:在哪个密钥中所期望的模式、也即参考模式最明显地存在于响应模式中。比较或参考模式(Pattern)如已经提到地是固定的,从而其不必被求得并且不必被存储。
[0025]按照另一实施方式,比较单元被设立用于确定在多个响应值和预先定义的参考值之间的相似性程度。
[0026]在将参考值或参考模式与各自的响应值或响应模式进行比较时,可以确定各自的响应模式与参考响应值的相似性程度(“匹配”)。现在可以由提供单元提供其响应值具有最高相似性程度的那个挑战值作为结果。
[0027]按照另一实施方式,该相似性程度具有关于在各自响应值和预先定义的参考值之间的位数量一致性的信息。
[0028]例如可以使用不同位的数量、也即汉明距离来作为相似性程度。
[0029]按照另一实施方式,多个挑战值中的每个挑战值是总值范围的一个部分值。
[0030]如上所述,例如可以从O至255的总值范围中求得8位部分值作为密码密钥。为此,按照一种固定的、预先给定的计算法则针对每个候选部分值在确定单元中确定(至少一个)挑战值。因此针对从O至255的示例性值范围,确定256个挑战值。挑战值也可以具有12位、4位、2位、I位或者任意其他长度。
[0031]按照另一实施方式,确定单元被设立用于根据预先定义的模板从总值范围中选择出部分值。
[0032]可以设置不同的用于形成挑战值的确定法则。这样例如可以固定地预先给定挑战值的一些位,或者可以进行挑战值的确定性计算。也可以针对一个挑战值求得多个PUF挑战值,用这些PUF挑战值来加载PUF。
[0033]可以以确定的搜索序列来遍历值范围。例如,该模板可以基于起始值或搜索顺序,也即线性、跳跃(跳越)、相乘、循环(循环码)或者其他策略。在一种变型方案中,该搜索序列可以随机地被遍历,这里该顺序根据在运行时借助随机数发生器确定的值来加以确定。
[0034]按照另一实施方式,多个挑战值中作为密码密钥提供的挑战值是总密钥的密码部分密钥。
[0035]总密钥可以由多个部分密钥构成。这里,针对每个部分密钥执行确定,这些部分密钥最后被组合起来。例如,可以分别确定8位部分密钥,以便组合成带有128位、256位或者类似字节形式的密码密钥。总密钥例如可以通过部分密钥的串接来确定。
[0036]按照另一实施方式,比较单元被设立用于,将产生的多个响应值与多个预先定义的参考值进行比较,并且提供单元被设立用于,基于比较结果来确定多个部分密钥。
[0037]可以借助多个参考值来确定各个部分密钥。此外也可以从PUF中提取多个密钥。为此,密钥的应用目的、也即目的确定参数可以进入到挑战确定和/或参考值选择/确定中。
[0038]按照另一实施方式,确定单元被设立用于重复地将多个挑战值中的每个输入到物理防克隆功能中,以便为每个挑战值确定多个响应值。
[0039]可以通过
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1