具有改进的器件安全性的集成电路的制作方法

文档序号:6553350阅读:185来源:国知局
专利名称:具有改进的器件安全性的集成电路的制作方法
技术领域
本发明涉及一种嵌入半导体器件内部的功能硬件元件,用于保护器件免于未授权的访问。
背景技术
诸如集成电路之类的现代半导体器件包括大量的功能,尤其在用于数据处理的电路中需要保护一定的器件功能免于未授权的访问。这是因为全部功能、电路和携带信息的总线在器件内部。对于存储器或附加到半导体器件的其他外围器件的访问一般是通过安全设备来进行路由,以提供密钥形式的保护。
例如,US 2002/0059518 A1公开了一种用于确保对于电子系统中多个功能的安全、受控访问的方法和设备,这些功能的每一个均具有与其相关联的对应密钥。所述方法包括以下步骤选择与所需功能相对应的密钥;进行认证过程,包括验证选定的密钥,并且根据认证过程的结果来允许或拒绝访问所需功能。
此外,诸如加密和解密例行程序、移动电话中用于实现特定特征的代码等的不同功能可以具有不同的访问策略。在具有嵌入式处理器的许多器件中,可以通过诸如JAVA程序之类在嵌入式处理器上运行的任意应用程序,读取嵌入式存储器中的程序代码或信息数据。嵌入式存储器可以包含必须保护免于不必要访问的重要信息。
密钥的使用具有可以被恶意代码进行黑客攻击的缺点。因此,被认为不具有这种访问的外部器件可以获得对受保护功能的访问,因此危及器件安全性。

发明内容
本发明的目的是改进器件安全性。
根据本发明,该目的是通过如独立权利要求1所述的半导体器件实现的。
半导体器件具有包括以下部件的电路嵌入式存储器;嵌入式处理器,用于执行应用程序代码;以及功能硬件元件,经由受保护总线与嵌入式存储器相连,并且经由未受保护总线与嵌入式处理器相连,所述硬件元件被配置为保护受保护总线,并且包括锁定装置,所述锁定装置包括至少一个锁定比特,用于在执行应用程序代码之前全局地锁定所述锁定装置的至少一部分。
在另外的实施例中,所述锁定装置被配置为保护嵌入式存储器的区域。
功能硬件元件通过限制对于受保护总线的未授权访问来执行防火墙的作用,因此优选地,可以限制对于需要保护的嵌入式存储器区域的访问。在这种情况下,功能硬件元件通过锁定嵌入式存储器的这种区域,优选地使用锁定装置,来防止未授权的访问。在初始化嵌入式处理器上的任意应用程序代码之前,锁定装置本身可以被附加的锁定比特锁定。将至少一个锁定比特配置为全局地锁定所述锁定装置的至少一部分,这有效地冻结了锁定装置的至少一部分的状态。一旦被锁定,只要存在嵌入式处理器上运行的任意代码,就不能更改锁定比特的状态。因此,在处理器上运行的程序代码不能改变锁定装置的状态。由于提供给受保护总线的保护,对于诸如嵌入式存储器之类与受保护总线相连的器件,试图获得对于这种器件访问的未受保护总线上的器件不能影响到它。具体地,在嵌入式处理器上运行的恶意代码不能直接地访问嵌入式存储器的锁定区域。
在另外的实施例中,锁定装置包括锁定寄存器,并且将至少一个锁定比特配置为全局地锁定所述锁定寄存器的至少一部分。
在另一个实施例中,功能硬件元件包括配置装置,所述配置装置包括配置寄存器,用于存储针对受保护总线的访问,条件;以及锁定寄存器,所述锁定寄存器与配置寄存器中至少一个有关联,用于选择性地允许或拒绝对于配置寄存器中所述至少一个的访问。
优选地,锁定装置包括至少一个锁定寄存器。将至少一个锁定比特配置为全局地锁定所述锁定寄存器的至少一部分,使得这些寄存器从未受保护总线不再是可用的。优选地,配置装置包括多组配置寄存器,可以用于针对受保护总线上的器件、以及具体地嵌入式存储器的区域来限定保护级别。将用于允许或拒绝对于受保护总线(具体地,受保护总线上的器件)访问的条件存储在配置寄存器中。优选地,锁定寄存器与一个或更多配置寄存器相关联,并且选择性地允许或拒绝从未受保护总线上的器件(例如运行应用程序代码的嵌入式处理器)对与其相关联的配置寄存器的访问。
在另外的实施例中,激活的锁定寄存器表示将配置寄存器中相关联的至少一个配置为只读,并且未激活的锁定寄存器表示将配置寄存器中相关联的至少一个配置为读和写。
优选地,锁定寄存器根据锁定寄存器的激活和去激活来设定对于配置寄存器的保护。根据锁定寄存器的状态,因此可以允许或拒绝对于相应的配置寄存器的访问。优选地,当没有激活锁定寄存器时,相应的配置寄存器可以由未受保护总线上的器件或者读取或者写入;而当激活锁定寄存器时,相应的配置寄存器仅可以由从未受保护总线进行读取。
在另一个实施例中,将配置寄存器配置为限定受保护的嵌入式存储器区域。
优选地,例如,配置寄存器通过存储嵌入式存储器的起始地址和结束地址来限定嵌入式存储器的受保护区域。
包括硬件防火墙的另一个实施例的特征在于在设定锁定比特之后,锁定装置的未锁定部分从未受保护总线仍然是可访问的。
如在上文中所讨论的,优选地,将锁定比特配置为全局地锁定所述锁定寄存器的至少一部分,使得这些寄存器对于试图获得受保护总线(具体地对于嵌入式存储器的受保护部分)的访问的任意恶意代码是不可用的。在设定锁定比特时没有保护的受保护总线上的器件和嵌入式存储器对于寻求访问的未受保护总线上的器件仍然是可用的。
在优选实施例中,功能硬件元件包括与配置装置相连的条件检查装置,用于将对于受保护总线的访问请求与在配置装置中存储的访问条件进行比较,并且根据所述比较的结果,向锁定装置提供信号用于允许或拒绝所述访问请求。
条件检查装置与配置装置相连。其将对于受保护总线的访问请求与在配置装置中编程且存储的访问条件进行比较。条件检查装置通常连续地在未受保护总线上检查任意访问请求。在检测到访问请求之后,进行比较,然后条件检查装置可以根据比较的结果向锁定装置提供相关信号,用于允许或拒绝对于受保护总线的访问请求。
在另外的实施例中,将锁定装置配置为当从条件检查装置接收访问拒绝信号时,禁用对于受保护总线的访问。
在另一个实施例中,将条件检查装置配置为当所述访问请求无效时,向未受保护总线发送空数据。
当条件检查装置确定需要禁用对于受保护总线的访问时,可以将锁定装置配置为阻塞对受保护总线的读取访问和/或写入访问。优选地,当做出针对读取访问的无效请求时,条件检查装置将向未受保护总线发送空数据。
在另一个实施例中,将条件检查装置配置为向嵌入式处理器发送违反信号,用于开始反抗恶意应用程序代码的防卫机制。
优选地,条件检查装置可以向发出无效请求的未受保护总线提供指示。例如,可以将诸如中断、错误、或中止之类的违反信号发送到嵌入式处理器,用于开始反抗在处理器上运行的可能的恶意代码的防卫机制。


根据下文中描述的实施例,本发明的这些和其他方面是显而易见的,并且参考下文中描述的实施例进行阐述。
图中图1示意性地示出了包括硬件防火墙的集成电路体系结构的概述;以及图2示意性地示出了集成电路中结合的所建议防火墙体系结构的概述。

了本发明的实施例,与说明书一起用于解释本发明的原理。
应该注意的是,上述实施例所示并非限制本发明,并且在不脱离所附权利要求所限定范围的情况下,本领域的普通技术人员能够设计替代的实施例。在权利要求中,任意参考符号不应该限制权利要求的范围。本发明可以通过包括几个不同元件的硬件来实现。
具体实施例方式
防火墙用于提供对于系统或器件攻击的保护。攻击可以来自于系统上运行的软件或应用程序代码。操作系统软件不能完全地防止来自系统上运行的外部代码的攻击。因此,本发明提出了一种硬件防火墙,能够保护对于受保护总线的访问,具体地对于与受保护总线相连的器件的访问,具体地对于嵌入式存储器的访问。将功能硬件元件嵌入到半导体器件(例如,集成电路)内部。所述功能硬件元件与嵌入式存储器以及嵌入式处理器相连,和/或优选地,还经由受保护总线和未受保护总线与附加到半导体器件上的外围器件相连。
图1是示意性体系结构,包括功能硬件元件105以执行防火墙的作用。半导体器件100包括功能硬件元件105,在下文中也称作硬件防火墙。硬件防火墙105与嵌入式处理器150相连,并且优选地,经由未受保护总线115与总线主控器(master device)140相连。按照类似的方式,硬件防火墙105与嵌入式存储器110(例如,RAM或ROM)相连,并且优选地,还经由受保护总线125与外部存储器接口120和系统外围器件130相连。优选地,外部存储器接口120还经由受保护总线125连接硬件防火墙105和外部存储器160。
由硬件防火墙105所限定的保护机制允许不同的级别,所述级别可以依赖于要求访问受保护器件的应用程序代码的行为来限定。
在图1中,可以看出将硬件防火墙105具体实现在嵌入式处理器150和嵌入式存储器110之间。可以将硬件防火墙105用于保护受保护总线125,从而保护嵌入式存储器110的特定区域免于被在嵌入式处理器150上运行的应用程序代码访问。还可以对硬件防火墙105进行编程,以限定针对待保护的嵌入式存储器110的每一个区域的访问级别,这将参考图2详细讨论。可以针对嵌入式存储器110的不同区域或受保护总线125上不同的其他器件来限定不同的访问级别。
可以依赖于要求访问器件的应用程序代码的行为,例如访问受保护总线125、访问嵌入式存储器110等,由硬件防火墙105限定保护的不同级别。例如,可以设想以下保护级别a.根本不允许访问当设定锁定比特211(图2)时,防火墙105防止对于系统启动期间锁定的受保护总线125上器件的任意访问。例如,在启动期间,需要进行系统安全检查或重要参数初始化,并且在其后应该防止对于这些例行程序的访问;b.仅取码访问应用程序代码所使用的例如加密或解密例行程序的一些系统专用例行程序可以存储在受保护存储器110中,但是必须在受保护区域以外是可用的。使用取码,可以使例行程序位于嵌入式处理器150上;c.管理程序访问例如,为了在操作中设定系统时钟或改变特定系统参数,操作系统可以在硬件防火墙105后面向操作系统本身可以信任的未受保护总线115上的器件给出管理程序访问,例如例行程序;d.无写入访问例如,防止对嵌入式存储器110或外围寄存器的受保护区域中的数据进行写入访问可能是重要的。然而,读取访问可能仍然是必需的;e.完全访问来自未受保护总线115的完全访问对于受保护总线125上的特定内容是可用的,例如嵌入式存储器110中存储的非重要例行程序或数据。
可以将硬件防火墙电路105包括在嵌入式处理器150中。然而,该保护机制仅当访问是从嵌入式处理器150本身发出时才工作。独立的硬件防火墙105具有以下优点可以防止受保护总线125免于其他器件(例如,总线主控器140)的访问。此外,可以禁用嵌入式存储器150内部的嵌入式存储器110的保护设定。该发明的另外用途是在调试正在器件上运行的软件的同时,检测是否已经准予对故障代码的非故意访问。使用硬件防火墙105的另外应用是依赖于所限定的访问条件来限制对经由多总线环境中的受保护总线125与防火墙相连的器件的访问。
图2是硬件防火墙205的实施例的示意性表示。硬件防火墙205包括锁定装置235、配置装置220和条件检查装置230。锁定装置235包括锁定寄存器210、访问锁定装置240和数据锁定装置250。条件检查装置230经由地址总线202和控制总线203与锁定寄存器210和配置装置220相连。数据总线201还将锁定寄存器210和配置寄存器220与锁定装置235的数据锁定装置240相连。此外,地址总线202还与形成锁定装置235一部分的访问锁定装置250相连。
在执行应用程序代码之前,将至少一个锁定比特211用于全局地锁定所述锁定寄存器210的至少一部分。
将硬件防火墙205附加到受保护总线225上,所述受保护总线225与嵌入式存储器110相连,并且优选地还与外部存储器接口120和外围器件130相连。附加到硬件防火墙205上的未受保护总线215与嵌入式处理器150相连,并且优选地还与总线主控器140相连。
配置装置220包括配置寄存器,用于存储用于访问受保护总线225的访问相关信息和条件。优选地,将配置装置220中限定的配置寄存器分组,其中每一组限定嵌入式存储器110的受保护区域,例如可以使用嵌入式存储器110中的起始地址和结束地址来限定。
优选地,锁定寄存器210与配置寄存器220中至少一个相关联。将锁定寄存器210配置为选择性地允许或拒绝访问配置寄存器220中相关联的至少一个。例如,当没有激活锁定寄存器210时,可以读取或写入相关联的配置寄存器220。当激活锁定寄存器210时,仅可以读取相关联的配置寄存器220。
与锁定寄存器210相关联的至少一个锁定比特211可以将锁定寄存器210本身锁定。当没有激活锁定比特211时,可以没有任何限制地读取或写入锁定寄存器210。然而,当激活锁定比特211时,防止访问锁定寄存器210。因此,针对已经激活的锁定寄存器210,不可以更改在相关联配置寄存器220中已经限定的保护。
类似地在设定锁定比特211之后,可以限制访问由被锁定的配置寄存器220所表示的受保护总线225上的器件。于是,只有当前不与任意锁定寄存器210相关联的配置寄存器220、或与未锁定的锁定寄存器210相关联的配置寄存器220仍然是可以从未受保护总线215可访问的。
结果,可以在设定锁定比特211之后限定新的保护,但是当在配置寄存器220中已经限定了保护,并且锁定寄存器210与该配置寄存器210相关联并且随后被锁定时,保护不能从未受保护总线215进行更改。因此,防护了受保护器件或存储器区域免于来自受保护总线225的未授权访问。
条件检查装置230连续地检查未受保护总线215对于受保护总线225的访问请求。条件检查装置230还检查在限定了针对受保护总线225上不同器件的保护级别的被锁定配置寄存器220中存储的访问条件。条件检查装置230利用在配置装置220中存储的访问条件,检查未受保护总线215上的访问请求。如果确定不应该允许所请求的访问,条件检查装置230向访问访问锁定装置250和数据锁定装置240发送信号,以根据所得到的比较条件来允许或拒绝读取和/或写入访问。优选地,条件检查装置230提供系统使用的指示符,以便知道什么时候在系统中发生访问条件的违反。当已经发生访问条件的违反时,将条件检查装置235配置为向嵌入式处理器发送违反信号204以开始防卫机制,例如中断信号、错误信号或中止信号。
访问锁定装置250连续地与条件检查装置230相互作用。当条件检查装置230向访问锁定装置250发送拒绝访问信号时,访问锁定装置250禁用从未受保护总线215请求的对于受保护总线225的访问。
此外,锁定装置包括与条件检查装置230相互作用的数据锁定装置240。当存在来自未受保护总线215的无效访问请求时,条件检查装置230可以指示数据锁定装置240向未受保护总线215的数据线发送空数据。
硬件防火墙205具有以下优势条件是完全地可编程的和灵活的,而没有危及器件的安全。另一个优点是硬件防火墙205允许外部存储器160中包含的应用程序来限定受保护总线以及待保护嵌入式存储器110的特定专用区域。该系统的另外优点是其在调试软件的应用中的使用,其中硬件防火墙205可以通过保护系统中的各种器件来保护系统免于非故意的访问。
尽管本发明已经参考上述实施例进行了描述,明显的是可以替代地将其它实施例用于实现相同目的。因此,本发明的范围不局限于上述实施例,而是也可以应用于其它器件。
还应该注意的是,动词“包括”及其变形在该说明书(包括权利要求)中被理解为详细说明所声明的特征、整体、步骤或部件的存在,但是不排除存在或添加一个或更多其它特征、整体、步骤、部件及其组合。还应该注意的是,权利要求中元件前的不定冠词不排除存在多个此种元件。此外,任意参考符号不限制权利要求的范围。本发明可以通过硬件和软件两者来实现,相同项目的硬件可以表示几个“装置”。此外,本发明存在于每一个新颖特征或特征的组合。
本发明可以总结如下。具有电路的半导体器件包括嵌入式存储器;嵌入式处理器,用于执行应用程序代码;以及功能硬件元件,经由受保护总线与嵌入式存储器相连,并且经由未受保护总线与嵌入式处理器相连,所述硬件元件配置为保护受保护总线,并且包括锁定装置,所述锁定装置包括多个锁定比特,用于在执行应用程序代码之前,全局地锁定所述锁定装置的至少一部分。
权利要求
1.一种半导体器件100,具有包括以下部件的电路嵌入式存储器110;嵌入式处理器150,用于执行应用程序代码;以及功能硬件元件105,经由受保护总线125与嵌入式存储器110相连,并且经由未受保护总线115与嵌入式处理器150相连,所述硬件元件105配置为保护受保护总线125,并且包括锁定装置235,所述锁定装置235包括至少一个锁定比特211,用于在执行应用程序代码之前全局地锁定所述锁定装置235的至少一部分。
2.根据权利要求1所述的器件,其中,锁定装置235配置为保护嵌入式存储器110的区域。
3.根据权利要求1所述的器件,其中,锁定装置235包括锁定寄存器210,并且将至少一个锁定比特211配置为全局地锁定所述锁定寄存器210的至少一部分。
4.根据权利要求1所述的器件,其中,功能硬件元件235包括配置装置220,所述配置装置220包括配置寄存器220,用于存储针对受保护总线125的访问,条件;以及锁定寄存器210,所述锁定寄存器210与配置寄存器中至少一个相关联,用于选择性地允许或拒绝对于配置寄存器220中所述至少一个的访问。
5.根据权利要求4所述的器件,其中,激活的锁定寄存器210表示将配置寄存器220中相关联的至少一个配置为只读,并且未激活的锁定寄存器210表示将配置寄存器220中相关联的至少一个配置为读和写。
6.根据权利要求4所述的器件,其中,配置寄存器220配置为限定受保护的嵌入式存储器区域110。
7.根据权利要求1所述的器件,其中,在设定锁定比特211之后,锁定装置235的未锁定部分从未受保护总线215仍然是可访问的。
8.根据权利要求4所述的器件,其中,功能硬件元件105包括与配置装置220相连的条件检查装置230,用于将对于受保护总线225的访问请求与在配置装置220中存储的访问条件进行比较,并且根据所述比较的结果,向锁定装置235提供信号204用于允许或拒绝所述访问请求。
9.根据权利要求8所述的器件,其中,锁定装置235配置为当从条件检查装置230接收访问拒绝信号204时,禁用对于受保护总线225的访问。
10.根据权利要求8所述的器件,其中,条件检查装置230配置为当所述访问请求无效时,向未受保护总线215发送空数据。
11.根据权利要求8所述的器件,其中,条件检查装置230配置为向嵌入式处理器150发送违反信号204,用于开始反抗恶意应用程序代码的防卫机制。
全文摘要
一种半导体器件,具有包括以下部件的电路嵌入式存储器;嵌入式处理器,用于执行应用程序代码;以及功能硬件元件,经由受保护总线与嵌入式存储器相连,并且经由未受保护总线与嵌入式处理器相连,所述硬件元件配置为保护受保护总线,并且包括锁定装置,所述锁定装置包括至少一个锁定比特,用于在执行应用程序代码之前全局地锁定所述锁定装置的至少一部分。
文档编号G06F21/79GK101084504SQ200580043632
公开日2007年12月5日 申请日期2005年12月19日 优先权日2004年12月21日
发明者帕特里克·富尔彻里, 哈拉尔德·N·鲍尔, 让-菲利普·佩兰 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1