以安全或非安全模式执行程序的计算机结构的制作方法

文档序号:6436589阅读:222来源:国知局
专利名称:以安全或非安全模式执行程序的计算机结构的制作方法
技术领域
本发明涉及提供数据安全性的电路系统,该电路系统包括至少一个处理器和至少一个存储电路。本发明还涉及用于在包括至少一个处理器和至少一个存储电路的电路系统中提供数据安全性的方法。
背景技术
诸如移动通信终端、便携式计算机和PDA之类的各种电子设备需要访问安全相关组件,例如应用程序、密钥、密钥数据资料、中间的密码计算结果、口令、外来下载数据的验证等等。这些组件及对它们的处理必须在电子设备内保密。理想地,这些组件以及对它们的处理应当有尽可能少的人知道。这是由于这样一个事实,如果这些组件是已知的,则像移动终端一样的设备可能会被损坏篡改。对这些类型的组件的访问可能有助于恶意的攻击者操纵终端。
进一步,在该设备中,上述这些相关安全性的组件协同其它的不需要任何安全处理的通用组件一起被维护、处理和管理。因此,引入一个安全的执行环境,该环境中电子设备内部的处理器能够访问安全相关的组件。应当小心控制对安全执行环境的访问、其中的处理以及从该环境的退出。现有技术中包含这个安全环境的硬件通常是封装在一防篡改包装内。在这种硬件中,不可能探查或执行导致揭示安全相关组件及其处理的测量和测试。
一种在安全环境中处理信息并且以安全方式存储安全相关信息的电子设备在美国专利No.5,892,900中公开。所述专利公开一种虚拟分布式环境来保护、管理和控制电子信息的使用。其包括用于发行者、财经服务供应者、最终用户等的权限保护解决方案。本发明运用称为安全处理单元的电子设备来提供安全性和安全的信息存储与通信。这样的包括处理器的设备封装在“防篡改安全屏蔽(security barrier)”,将所述安全环境与外部世界分离。所述电子设备提供安全环境和非安全环境,后一情形中该设备的处理器无法访问安全相关的信息。
一个必须要解决的问题是使第三方能够执行测试、调试和维修所述电子设备及其软件,而不冒这样的风险,即在安全环境中,准许第三方访问使得第三方能够操纵该设备的安全相关组件的信息从而影响安全性功能。应当能够实现在两个环境之间平稳地移动,不用在每次实施移动时进行初始化。
发明概述本发明的一个目的是通过提出一种包括安全环境的结构来提供一种解决上述问题的解决方案,在该安全环境中可以以一种安全方式存储和处理诸如密钥和其它安全相关数据之类的信息,并且在非安全环境中不访问安全数据的情况下可以测试和调试所述结构和伴随它的软件。
所述目的通过本发明第一方面以一种提供数据安全性的电路系统的形式达到,按照权利要求1所述,该电路系统包含至少一个处理器和至少一个存储电路,并且所述目的也通过本发明第二方面以一种提供数据安全性的方法的形式达到,按照权利要求7所述,该方法用于包含至少一个处理器和至少一个存储电路的电路系统中。优选实施例定义在从属权利要求中。
根据本发明第一个方面,提供了一种电路系统,在存储电路中包括至少一个存储区,该存储区存储与电路系统安全性有关的保护数据。所述电路系统安排有模式设置装置,将包含在所述电路系统中的处理器设置为至少两个不同操作模式其中的一个模式,所述模式设置装置能够变更处理器操作模式。此外,它还包括存储电路访问控制装置,安排用来根据第一处理器操作模式控制所述处理器访问存储保护数据的存储区,并根据第二处理器操作模式阻止处理器访问存储保护数据的存储区,从而使得所述处理器能执行下载到该电路系统中的未验证软件。
根据本发明第二方面,提供了一种方法,其中,在存储电路中存储与电路系统安全性有关的保护数据。处理器被设置为至少两个不同可变操作模式中的一种模式。所述方法进一步包括如下步骤通过设置处理器在第一操作模式允许处理器访问存储保护数据的存储区,和通过设置处理器在第二操作模式阻止处理器访问存储保护数据的存储区,从而使得所述处理器能够执行下载到该电路系统中的未验证软件。
本发明基于这样的思想,即提供一种其中处理器可在至少两个不同模式下操作的电路系统,也就是一个第一安全操作模式和一个第二非安全操作模式。在安全模式下,处理器能够访问电路系统内部的存储在多个存储器中的安全相关数据。所述安全性数据包括密钥和算法、用于引导该电路系统的软件、诸如用作密钥资料的随机数之类的保密数据、应用程序等等。所述电路系统可有利地用于移动通信终端、但还可以用于其它电子设备,例如计算机、PDA或其他需要数据保护的设备。在所述电路系统置于移动通信终端中的情况下,可能希望该电路系统给终端提供唯一标识号码和伴随的密钥从而对该标识号码进行加密操作。需要限制对这些安全性数据及其处理的访问,因为访问安全性数据的入侵者可以操控所述终端。当测试和/或调试所述终端时,不允许访问安全性信息。因此,所述处理器设置为非安全操作模式,在该模式下不允许访问保护数据。
有利地,本发明使所述电路系统的处理器能够执行下载到该电路系统中的未验证软件。这允许测试,调试和维修(service)所述电子设备及其软件,并且不冒这样的风险,即在安全环境中,允许第三方访问那些使得第三方能够操纵该设备的安全性相关组件的信息从而影响安全性功能。
需要注意的是,在美国专利No.5,892,900中,非安全模式是“正常”模式,在必须保护事务和通信时使用。然而在本发明中,安全模式是正常模式。在本发明中,非安全模式仅仅在测试和/或调试或其他类型的特殊情况下必须保护安全性数据期间才进入,也就是当实际上不能保持安全模式的时候。
本发明排除了使用适于用在研究和开发中的专用终端。在开发阶段,有时需要能够下载未证实和/或未校验代码到终端中去。通过开启非安全模式,提供一条不访问安全相关组件的通道。因此,同一个终端在开发阶段也可以被用于正常操作。应当明白制造专用终端是相当昂贵的。
根据本发明的实施例,本发明的电路系统设置有定时器来控制处理器处于非安全模式期间的时间周期。如果其他的安全性控制动作失败,就设置一个可以在非安全处理器模式下访问的最大量给定时间周期。这限制了入侵者执行设备的调试和测试的可能性。
根据本发明另一个实施例,提供了一种鉴定装置,该装置被安排用来鉴定外部提供终端的数据。这个特征的一个益处是,在制造阶段及正常的安全操作模式未激活的其它阶段,所述终端能在有限时间内使用,该时间对于将已接受的签名代码加载到所述终端中是足够的。在安全模式操作期间,也可能下载签名的代码包到所述终端中。这有助于给终端增加新的安全特征,给所述结构带来灵活性。所述结构使应用能够分为安全的和非安全部分。所述电路校验适当签名的代码。安全的应用被下载到存储保护数据的存储区、从存储保护数据的存储区调用执行。这使得下载数据更流畅。如果没有这个特征,就必须分别下载安全应用和非安全应用。
根据本发明另一个实施例,所述电路系统设置了指示处理器操作模式的装置。在电路系统内部设置模式寄存器来明确当前模式是恰当的。假如电路是设置在移动通信终端中,应当能够在终端上显示,通过终端扬声器或其他可见方式向终端用户指示所述终端工作在非安全模式的事实。
根据本发明另一个实施例,被安排用来控制处理器模式的模式设置装置包含一应用程序。其益处在于,模式可以由设备本身设置,无须依靠外部信号。从安全性观点出发,这是优选的,因为通过控制所述应用软件,处理器模式的设置也是可以控制的。也可以将外部信号连接到所述电路系统,通过该信号能够控制所述处理器模式。通过使用外部信号,可以容易和快速地执行模式的切换,这在测试环境下是有益的。这两个模式设置装置的组合也是可行的。
附图简述将参考以下附图更详细地描述本发明,其中

图1是根据本发明用于提供数据安全性的电路系统的优选实施例的方框图;和图2是根据本发明的电路系统引导过程的流程图。
本发明优选实施例描述图1示出本发明优选方案的方框图。如图所示,图1中的结构包括软件和硬件。所述结构是以ASIC(专用集成电路)形式实现的。该结构的处理部分包含CPU和数字信号处理器DSP。这两个处理器可以合并成一个单处理器。通常,CPU处理通信操作而DSP处理数据计算。
安全环境包括ROM,从其引导ASIC。该ROM包含引导应用软件和操作系统OS。操作系统控制和执行应用并为该应用提供不同的安全服务,例如控制应用软件的完整和访问控制。操作系统可以访问ASIC硬件而且它本身不能保证严格的硬件安全性,它必须依靠所述安全结构。
驻留在安全环境中(即保护数据存储区中)的某些特定的应用程序优先于其他应用程序。在其中可以设置ASIC的移动通信终端中,应该存在包括终端主要功能的引导软件。没有该软件不能引导所述终端到正常操作模式。其优点在于,通过控制这个引导软件,能够控制每个终端的初始激活。
所述安全环境也包括用于存储数据和应用的RAM。优选地,RAM存储所谓的保护应用,该应用是规模更小的应用,用于在安全环境内执行安全关键性操作。通常,使用保护应用的方式就是让“正常”应用向某一保护应用请求服务。在任何时候都可以下载新的保护应用到该安全环境中,如果它们没有驻留在ROM中则不是这样的。安全环境软件控制所述保护应用的下载和执行。只有签名的保护应用才允许运行。在安全环境中所述保护应用可以访问任何资源,并且他们还可以为提供安全服务而与正常应用通信。
在该安全环境中包括一个熔丝存储器(fuse memory),包含一个在制造期间产生并编程输入ASIC的唯一随机数。这个随机数用于识别特定ASIC并进一步用于导出用于加密操作的密钥。此外,设置了安全性控制寄存器形式的存储电路访问控制装置。安全性控制寄存器的用途是根据寄存器中设置的模式允许CPU访问安全环境,或阻止CPU访问安全环境。处理器操作模式可以通过应用软件在寄存器中设置,使得所述结构无须依靠外部信号。从安全性角度考虑,这是优选的,因为通过控制应用软件,处理器模式的设置也是可以控制的。也可以将外部信号(未示出)连接到ASIC,可以通过该信号来设置安全控制寄存器。通过使用外部信号,可以容易和快速进行模式的改变,这在测试环境是有益的。这两种模式设置装置的组合也是可行的。
优选地,移动通信终端应该在终端显示器上显示、通过终端扬声器或其他的任何可见方式向终端用户指示该终端在非安全模式下操作的事实。这使用户知道已经进入非安全模式。
为了不同的定时器用途设置了看门狗。如果下载软件的签名验证失败、校验和不匹配或检测到其它的错误,ASIC或设置该ASIC的移动通信终端的操作将停止。优选地,当错误发生时并不立即停止。期望有一个随机的超时,例如达30秒的不同的时间间隔。这使攻击者更难检测终端检测到错误的时刻。在安全性控制寄存器内设置禁止更新看门狗。这个操作的结果是终端将自己复位。所述看门狗还可以控制处理器处于非安全模式期间的时间周期。如果其他的安全控制动作失败,就设置一个在非安全处理器模式中可以访问的最大给定时间周期。这将限制入侵者执行该设备的调试和测试。
CPU通过处理存储器操作的存储器管理单元MMU连接到安全环境硬件。它还为在CPU中执行的进程将虚拟地址映射到存储器中的物理地址。MMU位于包含数据、地址和控制信号的总线上。也可以用第二个MMU来处理位于安全环境之外的ASIC RAM的存储器操作。在ASIC内部设置一限制总线上数据可见性的标准桥接电路。所述结构应封装在防篡改包装内。应该不能对这种类型的硬件进行探查或执行测量及测试,它们会导致揭示安全相关组件及其处理。DSP能够访问像直接存储器存取(DMA)单元之类的其他周边单元。该结构提供DMA以便允许从DSP直接传送数据到存储器。DSP从数据传送中解放出来,从而加速了全面的操作。可以在ASIC外部提供诸如RAM、闪存、和附加处理器之类的其他外设的周边单元。在ASIC中RAM也设置在安全环境外部,该RAM保存CPU执行的未验证软件。
通过提供上述其中CPU在两种不同模式下操作的结构,也就是一个安全操作模式和一个非安全操作模式,所述结构的CPU能够执行下载到ASIC中的未验证软件。这是由于只有验证软件才可以访问安全环境的事实。这就允许进行移动通信终端及其软件的测试、调试和维护,而不冒这样的风险,即在安全环境中,准许第三方访问可能使得能够操纵设备安全相关组件的信息,从而影响安全性能。
在安全模式下,处理器可以访问位于安全环境中的安全相关数据。安全性数据包括加密密钥和算法、引导电路系统的软件、诸如用作密钥资料的随机数之类的保密数据、应用程序等等。有利地,电路系统可以用于移动通信终端,但是也可以用于其他电子设备中,例如计算机、PDA或其他需要数据保护的设备。需要限制对安全性数据及其处理的访问,因为可以访问安全性数据的入侵者可以操纵该终端。当测试和/或调试所述终端时,不允许访问安全性信息。因此,处理器置于非安全操作模式,在该模式中不能访问安全环境中的保护数据。
图2是用于该结构的加电引导过程的流程图。在加电时,ROM引导软件激活用于初始配置的安全模式。然后,校验下载的第一保护应用和操作系统的签名。如果签名正确,该应用和操作系统下载到安全环境RAM中。当期望的软件已经下载, 告知CPU下载完成并且CPU开始执行这验证过的软件。从而操作系统和保护应用以安全和信任的方式下载到安全环境。
然而,如果签名校验失败或如果没有签名,激活非安全模式并且将未检验应用加载到安全环境外部的ASIC RAM。或者,设置看门狗来限制激活非安全模式的时间周期。激活非安全模式的最大时间周期被设置。当引导完成,CPU执行该未检验应用。此时不能访问安全环境。
虽然参照特定示意性具体实施例描述本发明,对于本领域技术人员来说许多不同的变形、修改等等都是显而易见的。因此,所述实施例并不打算限制本发明的范围,本发明的范围由所附权利要求书来限定。
权利要求
1.一种用于提供数据安全性的电路系统,该电路系统包含至少一个处理器和和至少一个存储电路,并且该电路系统包括所述存储电路中的至少一个存储区,在该存储区中存储有关电路系统安全性的保护数据;模式设置装置,被安排用来将所述处理器设置为至少两个不同操作模式中的一个模式,该模式设置装置能够变更处理器的操作模式;存储电路访问控制装置,当设置为第一处理器操作模式时,被安排用来允许所述处理器访问存储所述保护数据的所述存储区;和存储电路访问控制装置,当设置为第二处理器操作模式时,被安排用来阻止所述处理器访问存储保护数据的所述存储区,从而使得所述至少一个处理器能够执行下载到电路系统中的未验证软件。
2.根据权利要求1的用于提供数据安全性的电路系统,进一步包括定时器,被安排用来控制处理器处于所述第二操作模式的时间周期。
3.根据权利要求1或2的用于提供数据安全性的电路系统,进一步包括鉴定装置,被安排用来鉴定提供给电路系统的软件。
4.根据前述任一权利要求的用于提供数据安全性的电路系统,进一步包括安排用来指示处理器操作模式的装置。
5.根据前述任一权利要求的用于提供数据安全性的电路系统,其中,所述模式设置装置包括应用程序。
6.根据前述任一权利要求的用于提供数据安全性的电路系统,所述电路系统被包括在移动通信终端中。
7.一种用于在包括至少一个处理器和至少一个存储电路的电路系统中提供数据安全性的方法,该方法包括步骤在所述存储电路中存储有关电路系统安全性的保护数据;将所述处理器设置为至少两种不同可变操作模式中的一种模式;当设置为第一处理器操作模式时,允许所述处理器访问存储所述保护数据的所述存储区;当设置为第二处理器操作模式时,阻止所述处理器访问存储保护数据的所述存储区,从而使得所述至少一个处理器能够执行下载到电路系统中的未验证软件。
8.根据权利要求7的用于提供数据安全性的方法,进一步包括步骤通过定时器控制处理器处于所述第二操作模式的时间周期。
9.根据权利要求7或8的用于提供数据安全性的方法,进一步包括步骤给电路系统提供鉴定软件。
10.根据权利要求7-9之一的用于提供数据安全性的方法,进一步包括步骤指示处理器的操作模式。
11.根据权利要求7-10之一的用于提供数据安全性的方法,其中,通过应用程序将所述处理器设置为至少两个不同可变操作模式中的一种模式。
12.根据权利要求7-11之一的用于提供数据安全性的方法,其中,所述包括至少一个处理器和至少一个存储电路的电路系统被包括在移动通信终端中。
全文摘要
本发明涉及提供数据安全性的电路系统和方法,该电路系统包括至少一个处理器和至少一个存储电路。本发明基于这样的思想,即提供一种其中处理器可在至少两个不同模式下操作的电路,一个第一安全的操作模式和一个第二非安全操作模式。在安全模式下,处理器能够访问电路内部存储在多个存储器中的安全相关数据。需要限制对这些安全数据的访问和处理,因为访问这些数据的入侵者能够操纵该电路系统。当测试和/或调试电路时,不允许访问安全信息。因此,处理器置于非安全操作模式,该模式下不能访问保护数据。
文档编号G06F21/57GK1650244SQ02829445
公开日2005年8月3日 申请日期2002年8月13日 优先权日2002年8月13日
发明者L·帕特罗, A·基维里 申请人:诺基亚有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1