一种在为机密和/或敏感信息提供安全性的同时,提供软件开发调试能力的微处理器。该处理器可以在开放、安全进入和安全模式之一中操作。在开放模式中,安全措施可以防止对某些寄存器位的访问和对私有存储器区域的访问。在接收到运行安全代码和/或访问私有存储器区域的请求之后,可以进入安全进入模式。可以在安全进入模式中验证安全代码。可以使用数字签名来执行验证。如果验证成功,则可以进入安全模式。可以在安全模式环境中执行验证代码。可以在安全模式中访问私有存储器区域。
【技术实现步骤摘要】
【国外来华专利技术】用于控制受保护操作模式期间的系统访问的方法和装置
技术介绍
随着集成电路和计算机的极其高速的生产和使用,并且在其它类型的数字模块操 作中,设计者日益认识到测试和诊断集成芯片的内部结构和操作的方法具有有用且重要 的功能。IEEE委员会已经提出并且发展了建立用于将逻辑电路嵌入集成芯片内的标准的 愿望,IEEE委员会已提出被命名为IEEE 1149. 1的边界扫描构架。制订了 IEEE1149. 1或 “JTAG”,以便定义用于电子电路测试的标准。首字母缩写JTAG最初源自定义IEEE标准的 被命名为联合测试访问组(JTAG)的委员组。JTAG被用于各种测试功能,包括测试“内部芯 片”功能,并且被用于测试印刷电路板上的芯片互连。数字签名验证提供了一种用于确定电子消息的真实性并且识别消息发送方的手 段。当使用这种形式的验证时,消息和与该消息相关联的数字签名一起被发送。使用公钥 密码(即,不对称密码)技术创建和核实数字签名。不对称密码采用这样的算法该算法使 用两个不同但在数学上相关的密钥公钥和私钥。私钥用于创建数字签名或将数据变换为 表面上难以理解的形式;公钥核实数字签名或将消息返回其原始形式。
技术实现思路
可以依赖于微处理器来存储敏感和/或机密信息。描述了一种处理器,该处理器 提供软件开发调试能力,同时为存储在该处理器上的机密和/或敏感信息提供安全性。在一些实施例中,该处理器可以在开放模式、安全进入模式和安全模式之一中操 作。在开放模式中,除了防止访问某些寄存器位,并且防止访问私有存储器区域之外(例 如,可能存储有敏感信息的位置),不设置任何安全措施。当收到并且验证了在处理器上运 行安全代码的请求时,可以进入安全进入模式。在一些实施例中,使用数字签名来执行验 证。一旦经验证,就可以在可访问私有存储器区域的安全模式中运行安全代码。所述安全 代码可以访问私有存储器区域,并且可以更多地访问和控制寄存器。然而,如果验证失败, 则状态返回开放模式。在一些方面,本专利技术涉及一种被配置为在多个模式中操作的处理器,所述模式包 括提供对处理器的资源的安全访问的安全模式。所述处理器包括存储器、第一寄存器 位、第二寄存器位和逻辑单元。所述存储器被配置为存储消息和固件代码。所述第一寄存 器位被配置为指示多个状态中的状态,所述多个状态包括第一状态和第二状态,第一寄存 器位被配置为当将要执行私有仿真指令时指示第一状态,并且被配置为当将要忽略私有仿 真指令时指示第二状态。所述第二寄存器位指示在随后进入安全模式后,第一寄存器位指 示第一状态还是第二状态。所述逻辑单元被配置为执行固件代码,以便在安全模式以外验 证消息,并且在消息的成功验证之后,根据第二寄存器位来设置第一寄存器位,并且进入安 全模式。在另一个方面,本专利技术涉及一种操作微处理器的方法,所述微处理器可在多个模 式中操作,所述多个模式包括安全模式。所述方法包括下述动作在安全模式以外,验证消 息;在成功完成验证消息的动作之后,进入安全模式,从第一寄存器读取第一状态,并且基于第一状态,向第二寄存器写入第二状态,所述第一寄存器仅能在安全模式中被写为第一 状态,并且所述第二状态指示将要执行仿真指令;以及在安全模式中,基于对第二寄存器的 读取,确定将要执行仿真指令。在另一个方面,本专利技术涉及一种可在多个模式中操作的处理器,所述多个模式包 括安全模式。所述处理器包括第一存储器、第二存储器和逻辑单元。第一存储器被配置为 当将要执行私有仿真指令时存储第一值,并且当将要忽略私有仿真指令时存储第二值。第 二存储器被配置为指示当处理器进入安全模式时第一存储器存储第一值还是第二值。逻辑 单元被配置为当处理器进入安全模式时,根据第二存储器设置第一存储器。在另一个方面,本专利技术涉及一种在安全操作模式中调试处理器上的目标代码的方 法,所述处理器包括指示执行还是忽略私有仿真指令的第一存储器、指示在随后的安全模 式会话中执行还是忽略私有仿真指令的第二存储器,所述处理器能够在包括安全模式的多 个模式中操作。该方法包括下述动作验证设置代码并且进入安全模式;在安全模式中执 行设置代码,所述设置代码被配置为设置第二存储器,以指示在随后的安全模式会话中将 要执行私有仿真指令;退出安全模式;验证目标代码;基于第二存储器来设置第一存储器, 并进入安全模式;以及经由私有仿真指令控制安全模式中目标代码的执行。附图说明当结合附图阅读下面的详细描述时,将会更好地理解本专利技术和其实施例。在附图 中,部件不必须是按比例绘制的。一般地,出现在多个图中的类似部件由类似附图标记识 别。在附图中图IA是根据一些实施例的微处理器的方框图IB是根据一些实施例的嵌入式系统的方框图IC是根据一些实施例的连接到微处理器的主机的方框图ID是根据一些实施例的连接到嵌入式系统的主机的方框图2是根据一些实施例的安全状态机的状态图3A是示出了示例的数字签名创建处理的流程图3B是示出了示例的数字签名核实处理的流程图4是执行数字签名验证的方法;图5是根据一些实施例的微处理器的方框图6A-6C是示例了根据一些实施例的微处理器上的寄存器字段的方框图图7是根据一些实施例的微处理器的方框图;和图8是根据一些实施例,用于在安全模式中执行经验证的代码的方法。具体实施例方式在当今许多应用中,可编程处理器具有广泛的使用,在可编程处理器领域中,这些 处理器的提供商的客户通常开发软件,以便将处理器用于特定应用。在软件不按预期执行 的情况下,希望这些软件开发者能够调试他们的软件。诸如JTAG的硬件调试工具便利了应 用代码的开发和测试。除了希望能够进行软件调试之外,还存在重大的安全性关注。客户或处理器的用户的通常敏感、机密和/或私有的信息可在任何时间被存储在处理器的寄存器上和/或存 储器内。通常,在使用软件调试工具期间,工具的用户可以访问这些存储器和寄存器的内 容,这带来了盗用的风险。因此,为了确保安全性,许多可编程处理器提供商试图通过例如 不连接处理器芯片的启用调试能力的引脚来禁止调试能力。提供了一种在某些操作模式期间平衡软件调试能力和安全性的微处理器。这种平 衡确保敏感、机密和/或私有信息是安全的。微处理器100图IA示出了微处理器100的实施例。微处理器100可以包括中央处理单元 (CPU) 110、寄存器120、输入/输出(I/O)端口 130和存储器140。CPU 110是微处理器100上用于执行指令的逻辑单元。可由CPUllO执行的指令可 以源自,例如,由可执行指令串组成的软件(即,程序、代码)。存储器140可用于存储可执行代码、公钥信息和/或任何类型的数字数据。每个 存储单元可与一个存储地址相关联。存储器140可以具有一次可编程(OTP)存储器、静态 随机存取存储器(SRAM)、只读存储器(ROM)、动态随机存取存储器(DRAM)或任何其它存储 器技术或存储器技术的组合。在一些实施例中,存储器140包括私有存储器150区域和公共存储器160区域。私 有存储器150可以仅在某些操作状态下是可访问的。公共存储器160可以存储固件170。固件170可以包括用于执行用户和/或代码 验证的验证软件。在一些实施例中,固件170被存储在ROM中以防止验证软件指令的改变。寄存器120可以存储多个位的信息本文档来自技高网...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:PP乔达诺,SD比德尔沃夫,
申请(专利权)人:阿纳洛格装置公司,
类型:发明
国别省市:US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。