使用受保护的非易失性存储器的系统和方法

文档序号:6655937阅读:149来源:国知局
专利名称:使用受保护的非易失性存储器的系统和方法
技术领域
本发明公开的内容一般涉及使用受保护的非易失性存储器。
技术背景使用软件可编程设备的电子设备供应商关心软件安全性。为了解决 对这些安全的担心,这种设备经常使用安全技术诸如验证和加密。虽 然验证和加密是有用的工具,但这种方法依赖于保护一个或多个用于验 证或解密程序数据的密钥。经常将需要被保护的密钥存储在出售和使 用的电子设备的诸如非易失性存储器之类的存储器内。在使用所述电 子设备乃至在开发期间,包含所述密钥的存储器可以由未被授权的第三 方访问,从而引起安全问题。因此,需要一种保护软件程序数据及保护 所述程序数据的安全程序的相关密钥安全性的改进系统和方法,其中这 种密钥被存储在非易失性存储器中。


图1是说明能访问部分受保护的非易失性存储器设备的系统的方框图;图2是提供一部分图1系统的更多细节的方框图;以及 图3是激活能访问部分受保护非易失性存储器的处理器设备的方法 流程图。
具体实施方式
参见图1,示出数据处理系统100。 该系统100包括处理器设备 102、易失性存储器104、第一非易失性存储器106和第二非易失性存储 器108。系该统100还包括控制寄存器110和到JTAG控制模块112的 JTAG接口 130。处该理器设备102被耦合用于访问控制寄存器110并 且具有输入端以经由JTAG接口 130接收外部测试时钟输入。处理器设 备102包括与JTAG测试接口 130连接的测试保护逻辑126。处理器设 备102经由存储器总线114与易失性存储器104耦合。在具体的实施
例中,该易失性存储器104是随机存取存储器(RAM)设备。处理器 设备102经由存储器总线114以及经由中间的屏蔽逻辑122与第一非易 失性存储器106耦合。该屏蔽逻辑122耦合第一非易失性存储器106 到存储器总线114并且具有ROM屏蔽位124的输入。ROM屏蔽位124 可以被存储并且编程,作为多个控制寄存器110中的一个或可以在分离 的一次写入存储设备中执行。该处理器设备102经由存储器总线114 与第二非易失性存储器108耦合。第一非易失性存储器106包括到屏 蔽逻辑122的第一接口 120和到存储器总线114的外部接口 118。该第 二非易失性存储器108包括到存储器总线114的接口 116。该第一非易失性存储器106包括存储器第一屏蔽部分150,该第一 屏蔽部分150是屏蔽的部分;以及存储器第二部分160。该屏蔽部分150 包括存储的密钥集数据152。在具体的实施例中,密钥数据152包括验 证密钥、加密密钥、密钥集提取数据以及检索和使用密钥集信息所需的 密钥集提取程序逻辑。第二非易失性存储器108在具体的实施例中可 以实现为快速存储器并且包括诸如引导程序代码140的数据。在具体 的实施例中,第一非易失性存储器106可以被实现为只读存储器 (ROM)。在具体的实施例中,引导程序代码140包括多个散布的验证字。多 个验证字在从第二非易失性存储器108传输引导程序代码到随机存取存 储器104期间使用,并且提供一种验证引导程序代码有效性的方法以检 测第三方的越权使用或黑客攻击。在具体的实施例中,使用在非易失 性存储器106的屏蔽部分150的密钥集152内得到的验证密钥评估和验 证所述验证字。在操作期间, 一旦给系统100加电,非易失性存储器106的屏蔽部 分150处于无屏蔽模式,该模式允许对密钥集152的读访问。在无屏蔽 模式中的初始化期间,处理器102可以检索密钥集152并且可以使用密 钥集内的密钥以执行将所述应用程序代码140从第二非易失性存储器108 传输到随机存取存储器104中的传输处理。密钥集可能包括验证密钥 和/或解密密钥。验证密钥可被用于验证程序代码的有效性以及访问和 比较传输的数据和第一验证字,并且如果这种代码已经在先前加密,解
密密钥可被用于解密所述程序代码。因此,密钥集152可以由处理器设备102使用以提供将程序代码140从非易失性存储器108到随机存取 存储器104的安全初始传输。在程序代码已经被传输到随机存取存储器104中之后,但是在由处 理器102执行所述程序代码之前,ROM屏蔽位124可以由处理器102 设置。通过设置ROM屏蔽位124,第一非易失性存储器106的屏蔽部 分150进入屏蔽模式,其中在该模式下密钥集152不可读。在这个情 况中,屏蔽逻辑122阻止对第一非易失性存储器106的屏蔽部分150的 访问,并且代之以可能提供表示已屏蔽和不可读存储器状态的错误代码 或固定值。在ROM屏蔽位124已经被设置并且第一非易失性存储器106 的屏蔽部分150进入屏蔽模式以限制对密钥集152的访问之后,处理器 设备102可以从监控模式转换为用户操作模式并且然后可以执行来自随 机访问存储器104的指令。其后,在用户模式下的处理器设备102在 正常操作期间执行指令。在用户执行模式和正常操作期间,应注意屏 蔽部分150保持在屏蔽模式从而限制对密钥集152的访问。因此,ROM 屏蔽位124和第一非易失性存储器106的屏蔽部分150,连同密钥集152 一起,提供程序代码传输到随机存取存储器104的增强的安全性。未被授权的第三方可能经由诸如JTAG控制接口 130之类的测试接 口尝试对密钥集152的访问。为了限制这种未授权访问,处理器设备102 包括测试保护逻辑126。测试保护逻辑126响应于外部时钟输入并且可 以检测屏蔽部分150的尝试未授权访问。在具体的实施例中,处理器 设备102,响应于由测试保护逻辑126检测多个超过阈值的时钟周期, 可以设置ROM屏蔽位124。在具体的范例中,检测阈值小于四十时钟 周期,诸如一组二十时钟周期。在JTAG指令的情况中,最小JTAG指 令将需要多个大于二十的时钟周期。因此,小于四十的阈值和优选的 二十时钟周期可被用于检测并且然后对经由JTAG接口访问密钥集152 的未授^i尝试作出响应。参见图2,示出系统100部分的具体实施例,其说明第一非易失性 存储器106和屏蔽逻辑122的功能。第一非易失性存储器106经由第 一接口 120与读多路复用器(MUX) 202耦合。MUX202经由接口 118
与存储器总线114耦合。MUX 202具有固定值206的输入,其可能是 错误代码或屏蔽状态的其他指示。MUX 202包括由逻辑模块204提供 的选择输入。逻辑模块204响应于可能由一次写入存储器220提供的 ROM屏蔽位124。逻辑模块204还响应于经由存储器接口 118从存储 器总线114提供的地址代码118。在操作期间,ROM屏蔽位124被提供到逻辑模块204以指示非易 失性存储器106的屏蔽部分150的状态。逻辑模块204还从存储器总 线114中接收地址。当从存储器总线114中请求的地址在存储器150 的屏蔽部分之外时,然后数据诸如引导程序或来自于存储器160的无屏 蔽部分内的其他数据,从第一非易失性存储器106通过MUX 202经由 接口 118提供到存储器总线114中。然而,当从存储器总线114中请求的地址是在存储器150的屏蔽部 分内的地址时以及当ROM屏蔽位已经设置时,逻辑模块204提供选择 器给MUX 202,以仅仅经由接口 118提供固定值206作为给存储器总 线114的输出。在这种情况下,存储器150的屏蔽部分内容处于安全 屏蔽状态并且被保护不受访问。此外,为了避免对ROM屏蔽位124的 未授权修改,ROM屏蔽位可以存储和编程到一次写入存储器220中。对 于一次写入存储器, 一旦ROM屏蔽位已经设置,存储器不能被修改。使 用一次写入存储器从而对于保持屏蔽非易失性存储器106的第一部分150 提供增强的安全性。在具体的实施例中,作为在无屏蔽操作模式期间 从非易失性存储器中检索密钥集的需要,存储器150的屏蔽部分包括验 证密钥、解密密钥,和密钥集提取程序和数据。因此,非易失性存储 器106包括存储器150的第一部分,该第一部分是受保护的并且在当屏 蔽位指示无屏蔽操作模式时是可读的,但是当屏蔽位指示屏蔽操作模式 时是不可读的。此外,非易失性存储器106包括未保护的第二部分160, 不管屏蔽位124的值如何该第二部分160是可读的。参见附图3,示出激活能访问非易失性存储器的处理器设备的方 法。所述方法包括给处理器设备加电,如在302所示。在具体的实施 例中,处理器设备耦合到只读存储器(ROM),该只读存储器具有屏蔽 的存储器的受保护部分,但是一旦加电受保护的部分处于无屏蔽模式。
所述方法进一步包括从处于无屏蔽操作模式的非易失性存储器的受保护 部分读密钥集数据,如在304所示,并且从诸如快速存储器之类的第二非易失性存储器传输数据到诸如随机存取存储器(RAM)之类的主存储 器中。这个步骤还包括访问密钥集提取数据以及使用密钥集提取数据 和程序逻辑以访问密钥集来执行如传输数据所需要的验证和解密操作, 如在306所示。在具体的例证性的范例中,传输的数据是包括由处理 器执行的程序指令的应用程序。所述方法进一步包括设置屏蔽位,从而设置非易失性存储器的受保 护部分在密钥集不可读时处于屏蔽模式。在数据传送已经完成之后但 是在由处理器执行RAM中的传输的程序代码之前,存储器受保护的部 分被设置为屏蔽模式。所述方法进一步包括由处理器执行程序数据,其中这种程序数据包 括被传输到RAM中的指令,如在310所示。在由处理器从RAM中执 行程序代码期间,处理器设备可以在用户模式中执行,并且在这种用户 模式中非易失性存储器的屏蔽部分保持设置以阻止对密钥集的未授权访 问。因此,说明的激活处理器设备的方法提供从非易失性存储器到随机 存取存储器由处理器设备可用的程序代码的初始安全传输。上述公开的主题被认为是示例性而不是限制性的,并且附加权利要 求书意图覆盖落入本发明真实精神和范围内的所有修改、改进及其他实 施例。因此,在法律所允许的最大范围,本发明的范围将由下列权利 要求书和它们的等效表述的最宽可允许解释来限定,而不应该由上述详 细说明约束或限制。
权利要求
1、 一种系统,包括 处理器;处理器可访问的易失性存储器;处理器可访问的第一非易失性存储器,该第一非易失性存储器包括 存储器的第一部分,该存储器的第一部分是受保护的并且当屏蔽位指示 无屏蔽的操作模式时是可读的,但是当屏蔽位指示屏蔽操作模式时是不 可读的;以及存储器的第二部分,该存储器的第二部分是未受保护的并 且不管屏蔽位的值如何该存储器的第二部分是可读的;和第二非易失性存储器,该第二非易失性存储器包括被传输到易失性 存储器中的数据。
2、 如权利要求1所述的系统,其中密钥集存储在第一部分内,一 旦密钥集传输到易失性存储器,该密钥集至少执行对第二非易失性存储 器中的数据进行验证和解密的其中一种操作。
3、 如权利要求1所述的系统,其中被传输的数据是程序代码。
4、 如权利要求3所述的系统,其中该程序代码包括多个验证字。
5、 如权利要求3所述的系统,其中所述屏蔽位在执行从第二非易 失性存储器传输程序代码到易失性存储器的操作之后、但在由处理器执 行程序代码之前被设置。
6、 如权利要求5所述的系统,其中所述屏蔽位在执行程序代码的 第一指令之前被设置。
7、 如权利要求1所述的系统,进一步包括外部测试接口保护逻辑, 所述外部测试接口保护逻辑响应于外部测试时钟输入,并且其中该屏蔽 位在检测到外部测试时钟输入的多个周期超过阈值之后被设置。
8、 如权利要求7所述的系统,其中所述阈值小于40时钟周期。
9、 如权利要求8所述的系统,其中所述阈值是20时钟周期并且其 中该外部测试时钟输入是与JTAG指令有关的JTAG时钟。
10、 如权利要求2所述的系统,其中密钥集与唯一的产品制造商有关。
11、 如权利要求1所述的系统,其中第一非易失性存储器的第二部 分包括音频数据。
12、 如权利要求2所述的系统,其中所述密钥集包括验证密钥和解 密密钥。
13、 如权利要求1所述的系统,其中该第一非易失性存储器是只读 存储器,并且该第二非易失性存储器是快速存储器。
14、 一种存储设备,包括存储器的第一部分,该存储器的第一部分是受保护的并且当屏蔽位 指示无屏蔽操作模式时是可读的,而当屏蔽位指示屏蔽模式操作时是不 可读的;和存储器的第二部分,该存储器的第二部分是未受保护的并且不管屏 蔽位的值如何该存储器的第二部分是可读的。
15、 如权利要求14所述的存储设备,进一步包括与存储器的第一 部分耦合的读多路复用器,控制所述多路复用器以至少部分地响应于屏蔽位。
16、 如权利要求15所述的存储设备,其中该多路复用器在无屏蔽 操作模式期间从存储器的第一部分中输出值,并且其中该多路复用器在 屏蔽操作模式期间输出指示错误状态的固定输出值。
17、 如权利要求14所述的存储设备,其中屏蔽位被存储在一次写 入存储设备中,以便在单一的写操作之后屏蔽位不是用户可变更的。
18、 一种激活能访问只读存储器的处理器设备的方法,所述方法包括给处理器设备加电,其中只读存储器具有存储器受保护的部分,该 存储器受保护的部分是可屏蔽的并且一旦加电处于无屏蔽模式;从存储器保护部分中读取密钥集连同执行向随机存取存储器 (RAM)传输数据;和在执行数据传输之后,设置存储器受保护的部分为屏蔽模式,其中 密钥集不再是从只读存储器中可读的。
19、 如权利要求18所述的方法,其中在读出密钥集之后,该密钥 集被用于对传输到RAM中的数据执行验证和解密。
20、 如权利要求18所述的方法,其中传输到RAM的数据包括程序指令以及进一步包括由处理器设备执行程序指令。
21、 如权利要求18所述的方法,其中受保护的部分进一步包括密 钥集提取数据,当受保护的部分处于无屏蔽模式时该密钥集提取数据是 可读的。
22、 如权利要求18所述的方法,其中与存储器受保护部分有关的 屏蔽位存储在一次写入存储器中。
全文摘要
本发明所公开的内容包括使用处理器和受保护存储器的系统和方法。在具体的实施例中,所述系统包括处理器、处理器可访问的易失性存储器和处理器可访问的第一非易失性存储器。该第一非易失性存储器包括受保护的存储器的第一部分,当屏蔽位指示无屏蔽操作模式时该存储器的第一部分是可读的,但是当屏蔽位指示屏蔽操作模式时该存储器的第一部分是不可读的;以及未保护的存储器的第二部分,不管屏蔽位的值如何该存储器的第二部分是可读的。所述系统包括第二非易失性存储器,该第二非易失性存储器包括被传输到易失性存储器的数据。
文档编号G06F12/14GK101124768SQ200580017575
公开日2008年2月13日 申请日期2005年9月20日 优先权日2005年6月24日
发明者D·C·巴克 申请人:西格马特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1