集成电路数据保护制造技术

技术编号:26045230 阅读:66 留言:0更新日期:2020-10-23 21:25
提供了用于在集成电路中提供数据保护的技术。根据这些技术的一种示例方法包括:确定已经对与集成电路相关联的软件或固件进行了未经授权的更新;以及响应于确定已经对软件或固件进行了未经授权的更新,来破坏防重放计数器(ARC)值,所述ARC值是在集成电路的一次性可编程存储器中维护的并且由集成电路用于保护非易失性存储器的内容。

【技术实现步骤摘要】
【国外来华专利技术】集成电路数据保护
技术介绍
计算设备通常将用户或企业所拥有的敏感数据与固件或操作系统软件一起存储在计算设备或安全模块制造商所拥有的计算设备上。固件或软件所有者可能将软件加载到计算设备上,该软件改变安全措施(securitymeasure),例如,移除暴力(bruteforce)攻击缓解措施,禁用安全启动/信任启动,和/或在计算设备上加载其它固件或软件。
技术实现思路
根据本公开内容的一种用于在集成电路中提供数据保护的示例方法包括:确定已经对与集成电路相关联的软件或固件进行了未经授权的更新;以及响应于确定已经对软件或固件进行了未经授权的更新,来破坏防重放计数器(ARC)值,所述ARC值是在集成电路的一次性可编程存储器中维护的并且由集成电路用于保护非易失性存储器的内容。这样的方法的实现方式可以包括以下特征中的一个或多个特征。确定已经对与集成电路相关联的软件或固件进行了未经授权的更新包括:检测对集成电路上的软件的改变;响应于检测到对集成电路上的软件的改变,来认证用户和软件中的至少一者;以及响应于用户和软件中的至少一者未被认证,来确定对集成电路上的软件的改变是未经授权的。对用户的认证包括:确定用户是否已经被认证;以及响应于用户尚未被认证,执行至少一个认证过程来认证用户。对软件的认证包括:通过使用从与集成电路相关联的硬件唯一密钥(HUK)推导出的密钥,将基于密码的消息认证码(CMAC)算法应用于软件,来确定用于软件的消息认证码(MAC);以及将MAC与先前确定的MAC进行比较,以确定MAC是否与先前确定的MAC匹配。对ARC值的破坏还包括:利用在易失性存储器中维护的当前ARC值来更新被存储在一次性可编程存储器中的ARC值。对ARC值的破坏包括:确定存储ARC值的一次性可编程存储器的要被设置的第一比特数量;确定一次性可编程存储器的包括第一比特数量的第一比特集合的位置;以及通过设置一次性可编程存储器的第一比特集合来更新被存储在一次性可编程存储器中的ARC值。确定一次性可编程存储器的要设置的第一比特数量还包括:基于已经在一次性可编程存储器中设置的第二比特数量,来确定一次性可编程存储器的要设置的第一比特数量。对一次性可编程存储器的要被设置的第一比特数量的确定还包括:从在一次性可编程存储器中尚未被设置的第二比特集合中随机地选择一次性可编程存储器的第一比特集合。根据本公开内容的一种示例集成电路包括:用于确定已经对与集成电路相关联的软件或固件进行了未经授权的更新的单元;以及用于响应于确定已经对软件或固件进行了未经授权的更新,来破坏防重放计数器(ARC)值的单元,所述ARC值是在集成电路的一次性可编程存储器中维护的并且由集成电路用于保护非易失性存储器的内容。这样的集成电路的实现方式可以包括以下特征中的一个或多个特征。用于确定已经对软件或固件进行了未经授权的更新的单元包括:用于检测对集成电路上的软件的改变的单元;用于响应于检测到对集成电路上的软件的改变,来认证用户和软件中的至少一者的单元;以及用于响应于用户和软件中的至少一者未被认证,来确定对集成电路上的软件的改变是未经授权的单元。用于认证用户或的单元包括:用于确定用户是否已经被认证的单元;以及用于响应于用户尚未被认证,执行至少一个认证过程来认证用户的单元。用于认证软件的单元包括:用于通过使用从与集成电路相关联的硬件唯一密钥(HUK)推导出的密钥,将基于密码的消息认证码(CMAC)算法应用于软件,来确定用于软件的消息认证码(MAC)的单元;以及用于将MAC与先前确定的MAC进行比较,以确定MAC是否与先前确定的MAC匹配的单元。用于破坏ARC值的单元还包括:用于利用在集成电路的易失性存储器中维护的第二ARC值更新被存储在一次性可编程存储器中的第一ARC值的单元。集成电路还包括:用于确定一次性可编程存储器的要被设置的第一比特数量的单元;用于确定一次性可编程存储器的包括第一比特数量的第一比特集合的位置的单元;以及用于通过设置一次性可编程存储器的第一比特集合来更新被存储在一次性可编程存储器中的ARC值的单元。用于确定一次性可编程存储器的要设置的第一比特数量的单元包括:用于基于已经在一次性可编程存储器中设置的第二比特数量,来确定一次性可编程存储器的要设置的第一比特数量的单元。用于确定要设置一次性可编程存储器的哪些比特的单元包括:用于从在一次性可编程存储器中尚未被设置的第二比特集合中随机地选择一次性可编程存储器的第一比特集合的单元。根据本公开内容的一种示例集成电路包括:一次性可编程存储器;以及耦合到一次性可编程存储器的处理器。处理器配置为:确定已经对与集成电路相关联的软件或固件进行了未经授权的更新;以及响应于确定已经对软件或固件进行了未经授权的更新,来破坏防重放计数器(ARC)值,所述ARC值是在集成电路的一次性可编程存储器中维护的并且由集成电路用于保护非易失性存储器的内容。这样的集成电路的实现方式可以包括以下特征中的一个或多个特征。被配置为确定已经对软件或固件进行了未经授权的更新的处理器还被配置为:检测对集成电路上的软件的改变;响应于检测到对集成电路上的软件的改变,来认证用户和软件中的至少一者;以及响应于用户和软件中的至少一者未被认证,来确定对集成电路上的软件的改变是未经授权的。被配置为认证用户的处理器还被配置为:确定用户是否已经被认证;以及响应于用户尚未被认证,执行至少一个认证过程来认证用户。被配置为认证软件的处理器还被配置为:通过使用从与集成电路相关联的硬件唯一密钥(HUK)推导出的密钥,将基于密码的消息认证码(CMAC)算法应用于软件,来确定用于软件的消息认证码(MAC);以及将MAC与先前确定的MAC进行比较,以确定MAC是否与先前确定的MAC匹配。被配置为破坏ARC值的处理器还被配置为:利用在集成电路的易失性存储器中维护的第二ARC值来更新被存储在一次性可编程存储器中的第一ARC值。处理器还被配置为:确定存储ARC值的一次性可编程存储器的要被设置的第一比特数量;确定一次性可编程存储器的包括第一比特数量的第一比特集合的位置;以及通过设置一次性可编程存储器的第一比特集合来更新被存储在一次性可编程存储器中的ARC值。被配置为确定一次性可编程存储器的要设置的第一比特数量的处理器还被配置为:基于已经在一次性可编程存储器中设置的第二比特数量,来确定一次性可编程存储器的要设置的第一比特数量。被配置为确定要设置一次性可编程存储器的哪些比特的处理器还被配置为:从在一次性可编程存储器中尚未被设置的第二比特集合中随机地选择一次性可编程存储器的第一比特集合。根据本公开内容的一种示例非暂时性计算机可读介质,其具有具有存储在其上的用于在集成电路中提供数据保护的计算机可读指令,所述计算机可读指令包括被配置为使得计算机进行以下操作的指令:确定已经对与集成电路相关联的软件或固件进行了未经授权的更新;以及响应于确定已经对软件或固件进行了未经授权的更新,来破坏防重放计数器(ARC)值,所述ARC值是在集成电路的一次性可编程存储器中维护的并且由集成电路用于保护非易失性存储器的内容。这样的非暂时性计算机可读介质的实现方式本文档来自技高网...

【技术保护点】
1.一种用于在集成电路中提供数据保护的方法,所述方法包括:/n确定已经对与所述集成电路相关联的软件或固件进行了未经授权的更新;以及/n响应于确定已经对所述软件或所述固件进行了所述未经授权的更新,来破坏防重放计数器(ARC)值,所述ARC值是在所述集成电路的一次性可编程存储器中维护的并且由所述集成电路用于保护非易失性存储器的内容。/n

【技术特征摘要】
【国外来华专利技术】20180309 US 62/640,942;20190307 US 16/296,0661.一种用于在集成电路中提供数据保护的方法,所述方法包括:
确定已经对与所述集成电路相关联的软件或固件进行了未经授权的更新;以及
响应于确定已经对所述软件或所述固件进行了所述未经授权的更新,来破坏防重放计数器(ARC)值,所述ARC值是在所述集成电路的一次性可编程存储器中维护的并且由所述集成电路用于保护非易失性存储器的内容。


2.根据权利要求1所述的方法,其中,确定已经对与所述集成电路相关联的所述软件或所述固件进行了所述未经授权的更新包括:
检测对所述软件或所述固件的改变;
响应于检测到对所述软件或所述固件的所述改变,来确定用户或所述软件或所述固件中的至少一者是否是可信的;以及
响应于所述用户或所述软件中的所述至少一者不是可信的,来确定对所述软件或所述固件的所述改变是未经授权的。


3.根据权利要求2所述的方法,其中,所述方法包括认证所述用户,并且认证所述用户包括:
确定所述用户是否已经被认证;以及
响应于所述用户尚未被认证,执行至少一个认证过程来认证所述用户。


4.根据权利要求2所述的方法,其中,所述方法包括认证所述软件或所述固件,并且认证所述软件或所述固件包括:
通过使用从与所述集成电路相关联的硬件唯一密钥(HUK)推导出的密钥,将基于密码的消息认证码(CMAC)算法应用于所述软件或所述固件,来确定用于所述软件或所述固件的消息认证码(MAC);以及
将所述MAC与先前确定的MAC进行比较,以确定所述MAC是否与所述先前确定的MAC匹配。


5.根据权利要求1所述的方法,其中,破坏所述ARC值包括:
利用在易失性存储器中维护的当前ARC值来更新被存储在所述一次性可编程存储器中的ARC值。


6.根据权利要求5所述的方法,还包括:
确定存储所述ARC值的所述一次性可编程存储器的要被设置的第一比特数量;
确定所述一次性可编程存储器的包括所述第一比特数量的第一比特集合的位置;以及
通过设置所述一次性可编程存储器的所述第一比特集合来更新被存储在所述一次性可编程存储器中的所述ARC值。


7.根据权利要求6所述的方法,其中,确定所述一次性可编程存储器的要设置的所述第一比特数量包括:
基于已经在所述一次性可编程存储器中设置的第二比特数量,来确定所述一次性可编程存储器的要设置的所述第一比特数量。


8.根据权利要求6所述的方法,其中,确定所述一次性可编程存储器的要被设置的所述第一比特数量包括:
从在所述一次性可编程存储器中尚未被设置的第二比特集合中随机地选择所述一次性可编程存储器的所述第一比特集合。


9.一种提供数据保护的集成电路,所述集成电路包括:
用于确定已经对与所述集成电路相关联的软件或固件进行了未经授权的更新的单元;以及
用于响应于确定已经对所述软件或所述固件进行了所述未经授权的更新,来破坏防重放计数器(ARC)值的单元,所述ARC值是在所述集成电路的一次性可编程存储器中维护的并且由所述集成电路用于保护非易失性存储器的内容。


10.根据权利要求9所述的集成电路,其中,用于确定已经对所述软件或所述固件进行了所述未经授权的更新的所述单元包括:
用于检测对所述软件或所述固件的改变的单元;
用于响应于检测到对所述软件或所述固件的所述改变,来确定用户或所述软件或所述固件中的至少一者是否是可信的单元;以及
用于响应于所述用户或所述软件或所述固件中的所述至少一者不是可信的,来确定对所述软件或所述固件的所述改变是未经授权的单元。


11.根据权利要求10所述的集成电路,其中,用于确定用户或所述软件或所述固件中的至少一者是否是可信的所述单元包括:
用于确定所述用户是否已经被认证的单元;以及
用于响应于所述用户尚未被认证,执行至少一个认证过程来认证所述用户的单元。


12.根据权利要求10所述的集成电路,其中,用于确定用户或所述软件或所述固件中的至少一者是否是可信的所述单元包括:
用于通过使用从与所述集成电路相关联的硬件唯一密钥(HUK)推导出的密钥,将基于密码的消息认证码(CMAC)算法应用于所述软件或所述固件,来确定用于所述软件或所述固件的消息认证码(MAC)的单元;以及
用于将所述MAC与先前确定的MAC进行比较,以确定所述MAC是否与所述先前确定的MAC匹配的单元。


13.根据权利要求9所述的集成电路,其中,用于破坏所述ARC值的所述单元还包括:
用于利用在所述集成电路的易失性存储器中维护的第二ARC值来更新被存储在所述一次性可编程存储器中的第一ARC值的单元。


14.根据权利要求13所述的集成电路,还包括:
用于确定所述一次性可编程存储器的要被设置的第一比特数量的单元;
用于确定所述一次性可编程存储器的包括所述第一比特数量的第一比特集合的位置的单元;以及
用于通过设置所述一次性可编程存储器的所述第一比特集合来更新被存储在所述一次性可编程存储器中的所述ARC值的单元。


15.根据权利要求14所述的集成电路,其中,用于确定所述一次性可编程存储器的要设置的所述第一比特数量的所述单元还包括:
用于基于已经在所述一次性可编程存储器中设置的第二比特数量,来确定所述一次性可编程存储器的要设置的所述第一比特数量的单元。


16.根据权利要求14所述的集成电路,其中,用于确定要设置所述一次性可编程存储器的哪些比特的所述...

【专利技术属性】
技术研发人员:V·P·勒罗伊B·穆图库马兰D·塔马尼奥
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1