通过运行不同代码来对启动序列进行掩码的系统和方法技术方案

技术编号:2835804 阅读:155 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种用于通过在多处理器系统的每个处理器上运行不同的代码来对启动序列进行掩码的方法和系统。利用该系统和方法,选择多处理器系统中的一个处理器作为启动处理器。多处理器系统的其他处理器执行掩码代码,所述掩码代码产生电磁和/或热特征,用于对实际的启动处理器的电磁和/或热特征进行掩码。由每个非启动处理器执行的掩码代码可以彼此不同,并且可以从存储在掩码代码存储设备中的多个掩码代码序列中随机选择。在每个非启动处理器上的掩码代码的每个执行可以产生不同的电磁和/或热特征,使得从外部监控角度来看没有处理器看起来是唯一的。

【技术实现步骤摘要】

本申请一般涉及一种改进的数据处理系统和方法。更具体地,本申请针对用于通过在多处理器系统的每个处理器上运行不同代码来对启动序列进行掩码的系统和方法。
技术介绍
由于我们的社会变得越来越依赖电子通信和信息存储,所以对数字信息安全的关注也与日俱增,例如个人信息和数字权利管理(DRM)。而且,近年来计算机黑客和其他未授权入侵者进入计算机系统的技巧也越发高明。结果,在用于计算装置的安全系统的发展中投入了很多的努力,以便可以保护这种敏感的数字信息而不受未授权访问的威胁。入侵者可以获得对计算系统的访问的一种方法是通过电子接口和其他可观察的电磁或热活动来观察计算系统的启动活动。通过按照这种方式来观察启动活动,入侵者可以推断出启动处理器正输入和输出什么数据信号,处理器上正运行什么加密算法等等。根据该信息,入侵者可以检测到启动序列中可以进行未授权侵入的点。此外,利用其中要求安全性密钥用以启动系统的安全启动序列,入侵者可以逆推出启动处理器所使用的加密算法,以获得对安全性密钥的访问,并且从而获得对计算系统的完全访问。由于计算系统的总体安全性经常取决于启动处理的安全性,所以当入侵者获得对启动序列的访问时,整个系统的安全性就处于危险当中。因此,提供一种增加监控处理器的启动序列的难度以便使系统更安全而不受未授权入侵的威胁的装置和方法是有益的。
技术实现思路
示范性实施例提供一种用于选择随机处理器来启动多处理器系统以及用于通过在多处理器系统的每个处理器上运行不同代码来对启动序列进行掩码的系统和方法。通过使得哪个处理器将用来启动多处理器系统随机化,来使未授权人员以击败系统的安全性为目的而监控电子接口、热活动和其他电磁活动来获得有关启动序列的信息的能力变得更加困难。例如,在多处理器系统中,未来入侵者需要以多个不同的次数运行启动序列,同时监控单个处理器以期望它可能被随机地选为启动处理器,或者未来入侵者需要在启动时监控所有的处理器,以便确定哪个处理器是实际启动处理器。这两种可选择方案都需要未来入侵者方付出相当大努力,这可以用作在实际中试图监控该系统来获得启动序列信息的不利因素,或者至少显著地延迟未来侵入者在危害系统时花费的时间。利用示范性实施例的机制,在多处理器系统(例如片上系统)上提供普适逻辑,该普适逻辑控制多处理器系统的启动操作。普适逻辑包括随机事件发生器,该随机事件发生器随机选择在多处理器系统中的哪一个处理器将要成为启动处理器,该启动处理器运行启动代码,以由此使该系统达到操作状态。根据对启动处理器的随机选择,设置与启动处理器相关联的配置位,该配置位表示该处理器成为启动处理器。此后,所选择的启动处理器被提供有为使多处理器系统安全启动到操作状态所必需的安全性密钥。在某些示范性实施例中,当随机选择的处理器执行安全启动操作时,多处理器系统中的其他处理器执行操作来对真正的安全启动操作进行掩码(mask)。该掩码包括执行其他代码序列而不是启动代码序列,该其他代码序列使处理器生成电磁和/或热输出,其中如果该电磁和/或热输出受到入侵者监控,则会使入侵者难以辨识哪一个处理器正在执行实际的安全启动操作。一种可以生成不同的代码序列的方法是将随机延迟元素插入启动代码内,该启动代码运行重复一个随机量的循环。按照这种方式,每个处理器可以运行启动代码,但是具有不同的延迟量,从而使得生成不同的电磁和热特征(signature)。从入侵者的角度来看,由于这种掩码而使得很难从多处理器系统中的其他处理器中辨识实际启动处理器。在另一个示范性实施例中,由其他处理器执行的代码序列是与随机选择的处理器所执行的相同的启动代码序列,但由其他处理器执行的代码序列具有伪(dummy)安全性密钥。因此,对于入侵者来说,这些其他的处理器操作为以及看起来好像它们正在执行安全启动操作一样。然而,如果监控这些处理器,就会识别出假电磁和热输出,这使入侵者难以确定所监控的处理器是否为正在执行安全启动操作的实际随机选择的处理器。在另一个示范性实施例中,可以通过提供伪处理器来对随机选择的启动处理器进行掩码。通过在伪处理器上运行不同于启动代码序列的处理从而使系统上的攻击改向该伪处理器,使得从电磁、热等的监控装置的角度来看,伪处理器看起来好像是唯一的。按照这种方式,当入侵者试图通过避开安全机制来访问该系统时,该入侵者仅访问了伪处理器而没有对多处理器系统的剩余部分进行实际的访问。在其他示范性实施例中,可以跨越多处理器系统中的多个处理器来分布启动代码序列。通过跨越多处理器系统中的多个处理器来分布启动代码序列,增加了必须被危害以便获得关于启动序列的完整信息从而规避安全性措施的处理器的数目。因此,示范性实施例的分布式启动操作比利用单个安全核的多处理器数据处理系统更安全。此外,通过分布启动操作,如果启动操作的任何部分被危害,则启动操作都会失败,从而阻止未授权个体规避系统的安全性。利用该示范性实施例,将启动代码序列划分成多个分区,以便可以将每个分区提供给多处理器系统的不同处理器。当执行启动代码序列的每个分区时,在启动代码序列可以在另一个处理器上进行之前,该分区必须在其各自的处理器上正确地完成。利用安全通信机制来传达对启动代码序列的先前分区的满意完成。该安全通信机制可以包括安全令牌,例如加密的密码或其他安全标识符,例如公钥/私钥对,其表示没有危害先前的会话。按照这种方式,创建必须令人满意地完成相关的“会话”链。启动代码的分布式执行中所涉及的处理器可以是多处理器系统中的所有处理器或者是多处理器系统中的处理器子集。例如,可以按分布方式利用正如上述用于选择单个启动处理器的随机选择机制来随机地选择将用于启动系统的多个启动处理器。而且,可以随机地选择由处理器所执行的启动代码的特定分区,使得利用每个加电复位(POR)操作,相同的处理器可以执行或不执行与之前POR操作中相同的启动代码分区。因此,可以对于分布式启动操作中涉及哪些处理器以及每个处理器将执行哪些启动代码分区进行随机化。多处理器系统的其他处理器(即非启动处理器)可以在分布式启动操作期间不执行任何工作,或者可以执行上述各种掩码代码示范性实施例中的一个或多个掩码代码序列,以对随机选择的处理器子集上的启动代码执行进行掩码。换言之,该示范性实施例的分布式启动代码序列操作可以与之前所述的示范性实施例的一个或者多个相结合。在一个示范性实施例中,提供一种在数据处理系统中用于对该数据处理系统中的启动代码序列的执行进行掩码的方法,该数据处理系统具有启动处理器和多个非启动处理器。该方法可以包括在所述数据处理系统的所述启动处理器上执行启动代码序列,以由此将所述数据处理系统启动到操作状态;以及在所述多个非启动处理器的每个非启动处理器上执行掩码代码序列。掩码代码的执行产生电磁或热特征中的至少一个,用于对在所述启动处理器上的所述启动代码序列的执行进行掩码。所述掩码代码序列可以在每个所述非启动处理器上不同。在每个所述非启动处理器上执行的每个掩码代码序列可以产生不同的电磁或热特征。该方法还可以包括随机选择针对每个所述非启动处理器的掩码代码序列。这种随机选择可以包括随机选择与存储在存储设备中的掩码代码序列相关联的不同起始地址。所述非启动处理器可以执行从所述随机选择的不同起始地址处开始的掩码代码序列本文档来自技高网...

【技术保护点】
一种在数据处理系统中用于对该数据处理系统中的启动代码序列的执行进行掩码的方法,该数据处理系统具有启动处理器和多个非启动处理器,该方法包括:在所述数据处理系统的所述启动处理器上执行启动代码序列,以由此将所述数据处理系统启动到操作状态; 以及在所述多个非启动处理器的每个非启动处理器上执行掩码代码序列,以由此产生电磁或热特征中的至少一个,用于对在所述启动处理器上的所述启动代码序列的执行进行掩码,其中所述掩码代码序列在每个所述非启动处理器上不同。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:CM奥尼尔SL罗伯茨JJ德门特JN戴尔
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1