处理系统技术方案

技术编号:11170409 阅读:109 留言:0更新日期:2015-03-19 10:22
公开了一种处理系统以及控制处理系统的处理单元对固件代码进行访问的方法。提出基于存储器的第二区域中的有效性数据来识别存储器的第一区域中存储的有效密钥,所述有效性数据指示密钥是否是有效的。根据预定的验证算法来处理固件代码,以计算固件代码的验证值。解析所述验证值和有效密钥,以确定固件代码是否是可信任的。基于固件代码是否被确定为可信任来控制处理单元对固件代码的访问。

【技术实现步骤摘要】
处理系统
本专利技术涉及处理系统,更具体地,涉及处理系统的处理单元对处理系统存储的固件的访问进行控制。
技术介绍
安全性是诸如微控制器等处理系统的重要考虑因素。例如,可能需要确保处理器仅执行由可执行程序代码(或等同的指令集,例如脚本)描述的特定任务。然而代码和/或代码的执行可能遭受攻击。攻击可以包括以下示例列表中的任何一个: 所存储的程序代码的未授权修改; 执行期间的代码修改; 代码转储(例如,出于逆向工程目的来读出代码); 存储器存取特权的未授权改变; 执行来自数据段的未授权代码。 典型地,固件(例如,基本输入/输出系统(B1S)代码或核心系统软件代码)操作用于识别和初始化处理系统或电子设备的硬件子系统和组件。因此,第三方对固件的逆向工程可以提供对采用固件集成电路的系统的硬件架构的指示。此外,固件上的成功攻击(如以上所列)可以使第三方能够改变处理系统的操作,阻止处理系统正确操作,和/或向组件或其他系统/设备发送病毒。 已知使用基于硬件的安全性来保护固件,如,将固件存储在非易失性存储器(例如,只读存储器(R0M),使得无法在存储器内修改该固件。然而这可能没有提供足够的保护来防止第三方访问固件并解析固件以用于不期望的或未授权的用途。 已知在嵌入式设备上提供已知为“安全启动(Secure Boot) ”的安全性特征,试图确保处理器仅执行由设备的发布者授权的固件。所述安全启动过程采用密钥来验证固件的完整性。使用验证算法来验证固件的完整性,所述验证算法执行固件上的功能并检查该功能相对于密钥的输出。如果验证算法验证了固件的完整性,则允许处理器执行该固件。 因此,安全启动构思尝试例如在固件中没有可利用缺陷的情况下相对于在重置之前发生的被动攻击或软件攻击提供保护。为了符合安全性模型,安全启动基于硬件中的信任根(root of trust)。 传统的安全启动构思具有以下缺点: -固件验证密钥需要更大容量的一次可编程(OTP)存储器:使用验证密钥需要更大容量的OTP存储器和/或需要使用在低成本设备中甚至在软件中不常用的密码算法。例如,示例签名可以需要2048比特密钥来被看作在接下来的二三十年中是安全的。 -存在密钥泄密的风险:即使基本密码算法很强,密钥仍然会由于例如固件更新期间的不适当保护和/或错误操纵而被泄密。因此安全启动机制的鲁棒性依赖于用于保护密钥机密性的过程的鲁棒性。如果密钥被泄密,则可能无法阻止未授权的固件被执行。
技术实现思路
根据本专利技术的实施例,提供了一种控制处理系统的处理单元对处理系统的存储器所存储的固件代码的访问的方法,所述方法包括以下步骤:基于存储器的第二区域中的有效性数据来识别存储器的第一区域中存储的有效密钥,所述有效性数据指示密钥是否是有效的;根据预定的验证算法来处理固件代码,以计算固件代码的验证值;解析所述验证值和有效密钥,以确定固件代码是否可信任;以及基于固件代码是否被确定为可信任来控制处理单元对固件代码的访问。 因此,提出了一种控制对处理系统的固件代码的访问的构思。实施例可以采用多个密钥,所述多个密钥在片上系统内提供嵌入式的安全固件执行。实施例因此可以限制或防止固件代码的执行。 在实施例中,如果确定固件代码不是可信任的,则修改存储器的第二区域的有效性数据,以指示所述密钥不再有效。因此,可以检测到泄密密钥并采取预防措施以将泄密密钥呈现为无效。 可以采用多个密钥,使得在先前密钥被泄密或超期之后可以使用新密钥。相较于采用传统安全性构思(如,安全启动)的系统,这可以允许实施例长时间保持功能性和安全性。 存储器的第二区域的有效性数据可以简单地包括针对每个密钥的指示该密钥是否有效的标志或比特值。此外,存储器的第二区域可以包括一次可编程存储器,使得一旦有效性数据被修改过(例如,指示密钥不是有效的)则该有效性数据就不能再被修改。这可以帮助防止有效性数据受到未授权修改。 在实施例中,可以确定有效密钥是否是寿命终止密钥,所述寿命终止密钥指示存储器的第一区域中不再存储有有效密钥。如果确定有效密钥是寿命终止密钥,则执行预定的寿命终止算法。这样,实施例可以采用解决所有密钥都被泄密的情形的构思。寿命终止算法可以例如永久性禁用处理系统,使得不能再使用该处理系统。 在实施例中,存储器的第一区域可以包括非易失性存储器,存储器的第二区域可以包括OTP存储器。将OTP存储器用于存储器的第二区域可以使能仅一次修改有效性数据,以允许密钥有效性从有效变为无效,此后不再改变。因此,可以使密钥无效(假定在发布之后密钥全都被标记为有效),但是然后不能在解除操作(例如,使已标记为“无效”的密钥有效)。这可以帮助确保甚至在软件攻击的情况下密钥也保持无效。 处理系统的可信任处理器可以包括R0M,使得使用基于硬件的安全性来保护所述ROM以防止被修改。 根据本专利技术的另一构思,提供了一种计算机程序产品,用于控制处理系统的处理单元对处理系统的存储器所存储的固件代码的访问。所述计算机程序产品可以包括计算机可读存储介质,所述计算机可读存储介质具有体现在其上的计算机可读程序代码,所述计算机可读程序代码配置为执行根据本专利技术实施例的方法的所有步骤。 根据本专利技术的另一方面,提供了根据独立权利要求11所述的一种处理系统。 系统可以适用于在确定固件代码不是可信任的情况下修改第二存储区域的数据使得密钥不再有效。 在实施例中,系统可以适用于确定有效密钥是否是寿命终止密钥,所述寿命终止密钥指示第一存储区域中不再存储有有效密钥。如果确定有效密钥是寿命终止密钥,系统可以执行预定的寿命终止算法。 处理系统可以是微控制器、微处理器、微芯片或处理平台。因此,处理器可以是中央处理单元(CPU)或处理器核。 提出的实施例可以采用处理系统中典型存在的组件(全部通过通信总线/桥接器来连接的处理器单元或CPU、存储器和外围设备)。 【附图说明】 现在将参考附图仅通过示例来描述本专利技术的优选实施例,附图中: 图1是示出了采用传统安全启动过程的处理系统的存储区的示意框图; 图2是示出了根据实施例的处理系统的存储区的示意框图; 图3示出了根据实施例的使密钥无效的示例; 图4是根据实施例的方法的流程图; 图5是根据另一实施例的方法的流程图;以及 图6是根据本专利技术实施例的系统的示意框图。 【具体实施方式】 本文中,对固件代码的引述应当被理解为意思是永久性存储区与其中存储的程序代码和数据的组合,所述程序代码和数据例如是处理系统的B1S代码或核心系统软件代码,典型地被处理系统的制造商或供应商设置在非易失性存储器中。固件代码与应用代码的区别在于应用代码典型地设计用于除了由固件代码提供的功能以外还实现更高级别的或补充的功能,应用代码典型地是易失性存储区上存储的引导处理器执行特定操作的机器可读指令集(同行采用计算机程序的形式)。因此,固件代码典型地永久性存储在硬件中(具体地,存储在非易失性存储器中),而应用代码典型地存储在易失性或可编程存储器中,因此能够被修改。 另外,固件代码由硬件实现方式继承,独立于其应用。固件代码支持两种不同类型的服务:低级别服务,包括通用接口控制处理和硬件提取层(注册控制、电力管本文档来自技高网
...
处理系统

【技术保护点】
一种控制处理系统的处理单元对处理系统的存储器所存储的固件代码的访问的方法,所述方法包括以下步骤:基于存储器的第二区域中的有效性数据来识别存储器的第一区域中存储的有效密钥,所述有效性数据指示密钥是否是有效的;根据预定的验证算法来处理固件代码,以计算固件代码的验证值;解析所述验证值和有效密钥,以确定固件代码是否可信任;以及基于固件代码是否被确定为可信任来控制处理单元对固件代码的访问。

【技术特征摘要】
2013.08.21 EP 13181243.01.一种控制处理系统的处理单元对处理系统的存储器所存储的固件代码的访问的方法,所述方法包括以下步骤: 基于存储器的第二区域中的有效性数据来识别存储器的第一区域中存储的有效密钥,所述有效性数据指示密钥是否是有效的; 根据预定的验证算法来处理固件代码,以计算固件代码的验证值; 解析所述验证值和有效密钥,以确定固件代码是否可信任;以及 基于固件代码是否被确定为可信任来控制处理单元对固件代码的访问。2.根据权利要求1所述的方法,还包括以下步骤: 如果确定固件代码不是可信任的,则修改存储器的第二区域的有效性数据,以指示所述密钥不再有效。3.根据权利要求1或2所述的方法,其中,确定有效密钥的步骤包括: 标识存储器的第一区域中存储的第一密钥; 通过查阅存储器的第二区域的有效性数据来确定第一密钥是否有效;以及 如果确定第一密钥有效,则将第一密钥标识为有效密钥。4.根据权利要求3所述的方法,其中,确定有效密钥的步骤包括: 如果确定第一密钥不是有效的,则标识存储器的第一区域中存储的第二密钥; 通过查阅存储器的第二区域的有效性数据来确定第二密钥是否有效;以及 如果确定第二密钥有效,则将第二密钥标识为有效密钥。5.根据权利要求4所述的方法,还包括以下步骤: 如果确定第二密钥有效,则修改存储器的第二区域的数据以指示第一密钥不是有效的。6.根据权利要求3、4或5所述的方法,其中,有效性数据包括指示密钥是否有效的标志或比特值。7.根据前述任一项权利要求所述的方法,还包括: 确定有效密钥是否是寿命终止密钥,所述寿命终止密钥指示存储器的第一区域中不再存储有有效密钥;以及 如果确定有效密钥是寿命终止密钥,则执行预定的寿命终止算法。8.根据前述任一项权利要求所述的方法,其中,存储器的第一区域包括非易失性存储器,存储器的第二区域包括一次可编程存储器。9.根据前述任一项权利要求所述的方法,还包括以下在前步骤: 将来自可信任存储器的程序代码...

【专利技术属性】
技术研发人员:麦克尔·麦克·派德里克·皮德斯克劳德·德巴劳伦·杰拉德
申请(专利权)人:恩智浦有限公司
类型:发明
国别省市:荷兰;NL

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

1