微处理器设备和操作微处理器设备的方法

文档序号:6464753阅读:480来源:国知局
专利名称:微处理器设备和操作微处理器设备的方法
技术领域
本发明涉及一种微处理器设备,带有一个处理单元和一个连到处理单元的存储器以便执行读或写的接入操作。
本发明也涉及一种用于操作带有这样一种存储器的微处理器设备的方法。
微处理器需要一个存储器以便以永久的或挥发性的方式存储要处理的数据或程序。在程序执行期间,该微处理器访问该存储器以便装载当前所需的程序部分或数据。微处理器被特别应用在安全性要求高的系统中,例如在芯片卡中。其中将该微处理器特别用于将数据业务加密或执行对芯片卡的所有者的安全性至关重要的其他应用。在此,将对安全性要求高的数据和程序存储在微处理器的挥发性的和非挥发性的存储器单元中。为了防止这种信息未被授权地监测和显示,将这些数据以加密形式存储。加密方法是相当复杂的,需要在硬件方面有相应数量的支出,并且在对这些存储器读和写访问操作期间需要相应数量的计算时间。
因此将在特定的时间被微处理器的中央处理和控制单元(CPU)处理的数据缓存在可以非常快速地响应的其他存储器中。一方面,提供一种超高速存储器,在其中将从较慢的加密的存储器读出或写入的数据缓存。另一方面,提供寄存器,在其中将在特定的时间上要被处理的数据值或运行设置缓存。
因为当对超高速存储器或寄存器之一有访问请求时,信息被尽可能快地在下一个操作周期内提供,以前一直未考虑对缓存信息的加密。如果要将通常的加密方法用于对超高速存储器或寄存器内容的加密,响应时间将是太长了。由于这种理由,到目前为止,数据一直以普通的文本形式缓存在超高速存储器和处理器的工作存储器中。这是一个问题,即通过适当的测量方法,数据可被未授权地监测。
本发明的目的是给出一种微处理器设备,更好地防止所存储的数据被非授权监测。
本发明的另一个目的是给出一种用于操作带有存储器的处理器设备的方法。
说到设备,藉助于一种微处理器设备达到了这个目的,该设备包括一个处理单元,一个连到该处理单元的存储器,用于执行读或写的访问操作;一个密码单元,用于对写入或读入存储器的数据值加密和解密;用于提供可变密钥的装置,可以用这样一种方式来控制该装置,即如果不再有任何要读出的数据值包含在存储器中,将该密钥变更。
说到方法,藉助于一种用于操作微处理器设备的方法达到了这个目的,该设备包括一个处理单元和一个加到处理单元的存储器,用于执行读或写访问操作,在其中,当存储器被微处理器装置访问时,依据一种密钥将数据值加密或解密,如果不再有任何要读出的数据值包含在存储器中,则将该密钥变更。
在依据本发明的一种微处理器设备中,与已知的微处理器设备相对比,一个密码单元被另外插入到通往连到处理单元的存储器,例如超高速存储器或寄存器的访问路径中。用于操作加密和解密的密钥是改变的。可以利用相同的密钥实施读入和出存储器,只有如果不再有任何要读出的数据值包含在存储器中时,将该密钥变更。因为改变密钥,该加密方法本身可以是比较容易。数据以非挥发性方式存入存储器中,使得即使在电源电压被断开以后,不再有任何有用的信息存在,对读出的反覆尝试也是不成功的。在操作期间,密钥变更发生以前非授权监测密钥的可用时间很短。总起来说,可变的密钥与简单的加密方法的组合对监测的企图提供了足够高的防卫。
本发明特别适合于与其他的,较慢的存储器连用,在该存储器中数据被用一种硬的复杂的加密。数据被缓存在依据本发明连线的存储器中,以便将它快速地提供给处理器的中央处理单元。而且这种硬加密的存储器可以是非挥发性存储器,如ROM,或E2PROM或挥发性RAM,在通常的处理结构中,CPU通过总线访问这些存储器。考虑到这点,该超高速存储器被安置在总线和CPU之间。当将本发明应用到寄存器组时,寄存器组被按通常的方式直接连到CPU。该超高速存储器的特征在于,当存在对外部的,也就是只可通过总线存取的存储器的访问请求时,首先检查是否数据值包含在其中。如果数据值被包含在其中,就从超高速存储器输出到处理器,而不是从外部存储器输出到处理器,如果所要求的数据字并不包含在该超高速存储器中,则首先对该超高速存储器重新装入数据值和这种数据值的适当环境,并将所要求的数据值输出到CPU。为此目的,该超高速存储器包含一个存储器区,以便能够检测所要求的数据值的存在。该存储器单元区的存储器单元是静态的或动态的存储器单元。寄存器组的特征在于,包含许多可被CPU直接寻址的寄存器。这些寄存器提供,例如,要在CPU中处理的用于逻辑运算或状态的操作数和配置设置值。将这些寄存器单元实施为双稳态触发器。
用于加密的安全开支提供逻辑运算元件,被适当地连到存储器访问路径中的数据线的异或门。要存储或读出的存储器数据在逻辑上藉助于异或门连到一个关键字。包含可以时时变化的密钥的寄存器使关键字成为可用。最好利用随机控制产生该关键字。为此目的,使用一个随机发生器,其输出端被连到该密钥寄存器。该随机发生器以物理上随机的或伪随机的方式提供该密钥。
如果不再有任何有效的数据存在于存储器中,则使随机发生器产生一个新的关键字。一方面,如果所有读入的数据已被读出,则适用于这种情况。另一方面,如果将处理器转接到另一种应用并为此目的重新初始化,则也适用于这种情况。按照惯例,存储器的内容必须被完全删除,使得不再有来自以前的应用的任何数据可为以后的应用得到。在本发明中,不再需要通过重新设置每个存储器单元使存储器初始化。代替的做法是,利用随机控制只改变密钥就足够了。然后对包含在存储器中的数据值不再进行加密。不再需要对每个单独的存储器单元复位。
以下参考在附图中所示的示范性实施方案更详细地解释本发明。相互对应的部件使用相同的标号。图中

图1示出依据本发明的一种微处理器的方框电路图;和图2示出一种超高速存储器,其中示出与本发明有关的细节。
依据图1的微处理器包括数据总线1,微处理器的各种功能单元通过总线交换数据,相互控制或对信息编程。数据总线1包括许多条线,用于传递有用信息和控制信息。中央处理单元2控制程序序列和执行计算。数据和程序信息可被永久地以不可变的方式存入ROM存储器3或以可变的方式永久地存入E2PROM4中。挥发性的数据被存入RAM存储器5中,另外,至少一种外围单元6被提供,以便从外部接收数据或将数据输出到外部。所有的功能单元被安排在一种单一的集成半导体芯片上。单元2,…,6全都连到总线1和通过所述的总线1交换待处理的信息。由总线控制单元7监测对总线的接入控制。
存储在存储器3,4,5中的数据被加密。当在总线上输出数据值时,数据被解密,以平常的文本形式传送。为此目的,使用相应的加密和解密单元71(MED=存储器加密/解密)。当数据值存入RAM存储器5时,单元71实施相应的加密。因为包含在存储器3,4,5中的数据在相当长的时间内可以挥发性的或非挥发性的方式得到,MED单元71所执行的加密方法是相当复杂的。存储器的访问操作持续相当长的时间。作为对中央MED单元71的一种替换方案,可以对存储器3,4,5中的每一个直接分配一个密码单元。
为了加速对外部存储器3,4,5的数据访问操作,提供一个超高速存储器8。超高速存储器8位于总线控制器7和CPU2之间的信号路径中。在特定的时间和对数据适当的环境中CPU2所请求的数据被缓存在超高速存储器8中。对存储器3,4,5之一的读请求被以这样一种方式处理,首先检查在超高速存储器8中是否包含所要求的数据。如果没有,则数据和相应的环境被从外部存储器重新装入超高速存储器。如果所要求的数据被包含在超高速存储器8中,重新装入被省略。
在该示范性的实施方案中,超高速存储器8被分成指令超高速存储器和数据超高速存储器。在前者中,在特定的时间上要处理的程序的指令序列被缓存,在后者中是有关的数据。原则上,对于超高速存储器的其他结构也是可能的。超高速存储器也可被配置成一种用于指令和数据的公共超高速存储器(统一的超高速存储器)。在关联的超高速存储器结构的情况下,这样一种单元被依次分成用于地址的关联存储器和关联的指令/数据存储部分。通过访问关联存储器,非常快速地检测出是否所要求的数据被包含在超高速存储器中。如果该数据项并不存在(称为超高速存储器错过),重新装入的请求被输出到相应的外部存储器。当数据值被写回到RAM5中时发生相应的过程。
在重新装入超高速存储器8期间,通过总线1接收到的信息被通过密码单元81以平常的文本形式加密。在写操作期间,设备81将超高速存储器8中以加密形式存储的数据解密。当在超高速存储器8中以加密形式存储的数据被传送到CPU2时,被密码单元82解密,在写操作期间,在超高速存储器8中的单元82将要缓存的信息加密。如以下要描述的那样,提供给密码单元81,82的密钥是相同的,如果在超高速存储器8中不再有任何有效的数据要读出,则利用随机控制变更密钥。
用于CPU2的算子和状态信息被存储在寄存器组9中。CPU2可以直接地和立即地访问排列在寄存器组9中的一个或多个寄存器。当寄存器组9中的寄存器之一被访问时,其中所存储的数据被密码单元91加密或解密。在给定时间上所用的密钥在单元81和82中的和在单元91中的最好是不同的。
藉助于图2中超高速存储器8的例子详细地说明密码单元。密钥寄存器83包含在给定时间上所用的密钥。密钥由以物理上真正的随机或伪随机方式产生关键字的随机发生器84提供。各个异或门85a,85b和85c被连到传送写入或从超高速存储器8读出的信息的数据信号线或位线上。异或门85中每一个被依次连到寄存器83的输出。异或门85被安置在面对总线1的超高速存储器8侧和面对CPU2的超高速存储器8侧。当数据被读入超高速存储器8时,由于利用从寄存器83供给的关键字对数据值执行的异或操作,进行加密。在读出的情况下,藉助于利用相同的关键字的相同的异或逻辑操作进行相辅的解密。只要用于读出的有效数据被存储在超高速存储器8中,寄存器83所提供的关键字必须保持相同而不作修改。n-位线中每一第对应于关键字中一位。
依据本发明,如果超高速存储器8并不包含任何有效的数据,也就是不包含还要读出的数据,则变更关键字。然后随机发生器84被激活,以便计算利用随机控制产生的一个新的关键字。如果其中所存储的所有数据值被再次读出,不再有任何有效数据包含在存储器8中。而且,当执行对超高速存储器8的初始化时,称为超高速存储器清洗,关键字被改变。例如,如果应用,也就是使用微处理器的应用事件,改变,被微处理器执行的程序有变化时,发生超高速存储器清洗。在这种情况下,也可以免用由此产生的对超高速存储器8中所有存储器单元的超高速存储器清洗和完全的初始化及复位,因为由于寄存器83中关键字的变化,数据无论如何可不再被解密。
依据超高速存储器8的访问路径中密码单元中的一个详细地构成密码单元91。如果寄存器组9中所有的寄存器不再包含任何要读出的有效数据或必须被重新初始化,则用一个新的随机值装入密钥寄存器。
作为本发明的结果,对暂时存储的数据增加防止非授权监测的保护,其中数据以加密的形式存储,密钥时常被改变。即使存在重复多次的程序序列,由于不同的密钥,所存储的数据是不同的。在执行程序期间从微处理器汲取的电流,特别是电流峰值或电流谷底,是变化的。作为结果,运用对电流轮廓线估评进行非授权监测的尝试变得非常困难。
权利要求
1.一种微处理器设备包括-一个处理单元(2),-一个连到处理单元(2)的存储器(8,9),用于执行读或写访问操作,-一个密码单元(81,82;91),用于对被写或读入存储器(8,9)的数据值加密和解密;-用于提供可变密钥的装置(83),-能够以这样一种方式控制装置(83),如果不再有包含在存储器(8)中要读出的任何数据值,则密钥被改变。
2.如权利要求1的微处理器设备,其特征在于另一存储器(3,4,5),其中可用加密形式存储数据值,当数据值被读出时,可藉助于一种解密设备(71)将该另一存储器中的数据值解密。
3.如权利要求1或2的微处理器设备,其特征在于该存储器是一种超高速存储器(8)。
4.如权利要求3的微处理器设备,其特征在于,该超高速存储器(8)包含一种访问控制器,通过它首先可以检查,是否处理单元(2)中访问请求的数据值包含在超高速存储器(8)中,使得如果访问请求的数据值包含在超高速存储器(8)中,将它们从超高速存储器(8)中读出。
5.如权利要求3或4的微处理器设备,其特征在于将一种总线(1)提供用于执行数据通信;存储器(8)被连接在总线(1)和处理单元(2)之间的数据路径中;和将该另一存储器(3,4,5)通过总线(1)连到处理单元(2)。
6.如权利要求1或2的微处理器设备,其特征在于该存储器是一种寄存器(9),包括作为双稳态触发器实施的寄存器单元。
7.如权利要求1到6中任一项的微处理器设备,其特征在于该提供可变密钥的装置包括一个寄存器(83);和将该寄存器的输出通过逻辑运算元件(85a,85b,85c)连到经此可访问存储器(8)中的存储器单元的线路上。
8.如权利要求7的微处理器设备,其特征在于,将随机发生器(84)连到用于供给密钥的寄存器(83)。
9.如权利要求8的微处理器设备,其特征在于如果微处理器因为执行不同的应用程序而被初始化,该寄存器(83)可从随机发生器(84)装入。
10.一种用于操作微处理器设备的方法,该设备包含一个处理单元(2)和一个存储器(8;9),将该存储器连到用于执行读或写访问操作的处理单元,其中,当存储器(8;9)被该微处理器设备访问时,依据密钥对数据值加密或解密,如果不再有包含在存储器(8;9)中要读出的任何数据时,改变密钥。
11.如权利要求10的操作微处理器设备的方法,其特征在于以随机控制的方式变更密钥。
12.如权利要求10或11的操作微处理器设备的方法,其特征在于如果存储器(8;9)被完全地读出,改变密钥。
13.如权利要求10或11的操作微处理器设备的方法,其特征在于如果微处理器装置处理的程序被改变,就改变密钥。
全文摘要
在一种微处理器设备中,数据被暂时地存储在超高速存储器(8)或寄存器组(9)中。当超高速存储器(8)或寄存器组(9)被访问时,各个被分配的密码单元(81,82;91)保证数据被加密/解密。如果超高速存储器(8)或寄存器(9)不再包含任何要读出的有效数据,可在此使用的关键字被改变。增加了对数据和程序序列非授权监测的防护。
文档编号G06F21/75GK1395702SQ01803804
公开日2003年2月5日 申请日期2001年1月5日 优先权日2000年1月18日
发明者B·加梅尔, O·克奈弗勒, H·塞德拉克 申请人:因芬尼昂技术股份公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1