一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

使用基于密钥的温度计代码加扰的嵌入式熔丝来保护生命周期跟踪的方法与流程

2022-07-11 14:28:19 来源:中国专利 TAG:

使用基于密钥的温度计代码加扰的嵌入式熔丝来保护生命周期跟踪的方法
1.本发明涉及一种使用电熔丝来保护微芯片的生命周期跟踪信息的方法,而微芯片用唯一密钥来标识,生命周期跟踪信息由计数器单元的计数器值来监控,并且计数器值通过在电熔丝中设置电熔丝位而存储在微芯片上。
2.用于安全性相关应用的微芯片需要用于生命周期相关信息的片上存储。生命周期相关信息,例如软件版本、芯片状态等被存储为计数器。计数器不得回滚。通常使用片上电可写熔丝,即所谓的嵌入式电熔丝。此电熔丝永久存储信息,并且只能从逻辑零设置为一。
3.通过设置此类电熔丝所存储的计数器值被表示为温度计代码(一元编码)。对于每个计数器增量,电熔丝位将被写入。因此,写入的电熔丝的数量表示计数器值。
4.电熔丝可用于“芯片身份(id)”存储器和跟踪功能,以及用于安全数据传输的密钥rom存储。
5.写入的电熔丝位不能利用片上机制被设置回逻辑零。因为写入电熔丝位的高电流会烧毁或破坏电阻器。
6.对于加密应用,回滚基于电熔丝的计数器以访问在前生命周期阶段中不受限制的信息可能是重要的。使用温度计代码进行生命周期监控是现有技术。在us 2018/0248688 a1中,公开了一种根据微芯片的生命周期来生成密钥的安全方法。生命周期被映射到微芯片上的电熔丝中作为温度计代码。此代码用作生成唯一密钥的基础。还存在使用第二温度计代码进行回滚以恢复旧密钥的可能性。另一示例可以是嵌入式用户识别卡sim:在制造sim后,安全sim应用允许设置配置参数或允许写入密钥。完成此操作后,生命周期计数器会递增,并且sim应用防止进一步设置密钥重写的配置参数。对于某些应用,重要的是计数器不能回滚。然而,攻击者对回滚计数器有兴趣。因此,上述示例的缺点是无法检测到对电熔丝的操纵并无法防止生命周期计数器回滚。
7.由于电熔丝宏的规则结构,老练的攻击者能够标识电熔丝宏及其在芯片中的位。此外,它们能够“修复”单个电熔丝位,将它们从逻辑1重置为0,这可以通过聚焦离子束(fib)来完成。fib能够在芯片处添加材料以“修复”烧毁的熔丝。
8.微芯片上的电熔丝可以被配置为完全集成的一次性可编程宏。在ic开发中,自包含硬件块(如电熔丝块)称为(硬)宏。编程可以由微芯片的客户或由微芯片的制造商在ic测试期间执行。us 2019/0042118 a1描述了一种系统和方法,该系统和方法保护可编程设备中的电熔丝编程过程,以减少或消除经由侧信道攻击对存储在非易失性存储器中的数据的恶意发现。处理器生成随机熔丝列表,并且熔丝以随机顺序熔断。这种方法的一个缺点是,当将该方法应用于两个不同的微芯片时,电熔丝总是包含完全相同的值,只是电熔丝的写入顺序不同;即具有相同生命周期状态的两个微芯片在电熔丝中将始终具有相同的值。对由攻击者对每个单独的微芯片进行主动电熔丝操作的安全防止是不可能的。
9.根据上述问题,本发明的一个目的是提供一种阻止由攻击者对基于电熔丝的生命周期计数器的主动物理操纵的方法。
10.本发明的目的将通过使用微芯片唯一密钥作为随机种子的确定性算法所执行的
置换的方式来解决,电熔丝值被洗牌并被重新映射到计数器值,从而使电熔丝值能够被唯一分配给计数器值。
11.通常,单调计数器用于安全微芯片中以用于跟踪生命周期状态或固件版本等。因此,温度计代码用于将单调计数器存储在微芯片上的电熔丝中,如图1的表1所示。使计数器值连续递增1对应于仅设置一个额外的电熔丝位。图1中的表1示出了将计数器值递增到8个电熔丝位的温度计代码映射。
12.电熔丝位可以只写入一次。这可以防止回滚存储的计数器值。然而,老练的攻击者能够重置单个或多个电熔丝位。因此,他们能够回滚旧的计数器值并操纵微芯片/系统(获得访问权限、解锁限制、切换回到旧固件版本)。
13.本发明的核心方案是置换导致计数器值的混淆。电熔丝值到计数器值的映射必须是微芯片唯一的,因此执行置换的确定性算法必须基于微芯片唯一值。对于微芯片唯一值,使用微芯片唯一密钥,其在生产后的芯片测试期间被编程并因此分配给微芯片。因此,微芯片唯一的电熔丝位置换防止攻击者重建先前的计数器值(或使重建更难)。
14.因此,使用所述置换的优点在于只要攻击者不知道微芯片唯一值或映射函数因此不知道确定性算法,计数器值混淆就可以防止重建先前的计数器值。
15.在本发明方法的变形中,对于置换,使用随机洗牌算法。洗牌算法不是使用随机种子,而是使用微芯片唯一密钥。可以使用所有随机洗牌算法。使用固定值(例如芯片id)而不是随机数。这导致确定性行为。
16.随机洗牌算法的一个示例是fisher-yates洗牌算法。fisher-yates洗牌是一种用于生成有限序列的随机置换的算法——简单来说,该算法对序列进行了洗牌。
17.在本发明方法的变形中,每个计数器增量设置一个电熔丝位,从而定义了等于1的汉明距离。在信息论中,两个相等长度的字符串之间的汉明距离是对应符号是不同的所在位置的数量。换句话说,它测量将一个字符串更改为另一个字符串所需的最小替换次数。在更一般的上下文中,汉明距离是用于测量两个序列之间的编辑距离的几个字符串度量之一。在汉明距离等于1的情况下,每个计数器增量仅设置一个电熔丝位。这意味着对于攻击者来说,他必须只更改一个电熔丝位以猜测先前的计数器值。
18.在本发明方法的另一变形中,每个计数器增量设置两个或更多个电熔丝位,从而定义了大于1的汉明距离。每个计数器增量(汉明距离=1)不是仅设置一个电熔丝位,而是设置多个(两个或更多个)位(汉明距离》1)。大于1的汉明距离需要更多的电熔丝位来存储计数器值。
19.对于上述两种变形,连续计数器值之间的汉明距离必须是微芯片特定的。为了降低攻击的可扩展性,建议尽可能多地使用特定芯片。
20.在本发明方法的变形中,如果电熔丝位被设置为无效值,则攻击将由微芯片检测到并将相应地处理。相应地处理意味着例如执行设备重置、停止执行、销毁密钥等。
21.将使用示例性实施例更详细地解释本发明。
22.附图示出了
23.图1:根据现有技术的计数器值到八位电熔丝温度计代码的映射;
24.图2:根据本发明的方法的计数器值到电熔丝值的示例性重新映射;
25.图3:根据本发明方法的变体的计数器值到电熔丝值的示例性稀疏重新映射。
26.图2中的表2示出了使用由确定性算法执行的置换而将计数器值重新映射到电熔丝值。该算法使用微芯片唯一密钥作为随机种子,以便将电熔丝值洗牌并重新映射到计数器值,从而使电熔丝值能够唯一地分配给计数器值。使用微芯片唯一密钥作为置换函数的随机种子确保微芯片或设备唯一的电熔丝位映射。确定性算法的示例是fisher-yates洗牌算法。
27.如果攻击者想要回滚旧值,他必须“修复”一个或多个电熔丝位。由于电熔丝映射是特定于微芯片或设备的,因此攻击者必须猜测先前模式的电熔丝模式。如果电熔丝位被设置为无效值,则攻击将由微芯片检测到并可以相应地处理。相应地处理意味着例如所有密钥都将被销毁。
28.如果攻击者将所有电熔丝位设置为零,微芯片将检测到空白状态。在空白状态下,微芯片必须进行生命周期计数器的初始化。因此,它将计数器设置为第一个值并写入第一电熔丝位。如果电熔丝位被操纵,则无法写入第一位并且微芯片可以相应地处理攻击。
29.图3中的表3示出了本发明方法的另一个实施例。为了降低攻击者可能正确猜测先前计数器值的可能性,建议使用稀疏电熔丝计数器值。不是为对应于等于1的汉明距离的每个计数器增量设置一个电熔丝位,而是设置对应于大于1的汉明距离的多个、因此设置两个或更多个位。在表3中,与表2相比以斜体示出的行不用于计数器值,因此不用作电熔丝值以实现大于1的汉明距离。连续计数器值之间的汉明距离必须是微芯片/设备特定的。这种改进需要更多的电熔丝位来存储计数器值。
30.本发明方法可用于生命周期计数器安全地存储在嵌入式电熔丝中的所有微芯片项目,即在具有集成isim的窄带-物联网调制解调器中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献