通过安全内核设计划分的安全策略制造技术

技术编号:5411754 阅读:254 留言:0更新日期:2012-04-11 18:40
公开了一种方法、计算机程序产品和数据处理系统,用于确保在数据处理系统中运行的应用程序只能来自可信任来源。在一个优选实施例中,安全操作内核保留含有对应于可信任软件厂商的密钥的“密钥环”。安全内核使用厂商密钥来验证给定的应用程序是由经核准的厂商签署。为了使用户可以运行来自独立软件开发方的软件,管理员用户可以将上述的厂商密钥校验作为一个选项而禁用。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术主要涉及在数据处理系统内安全软件运行。具体地,本专利技术涉及一种确保在数据处理系统中运行的应用程序只来自信任来源的方法。
技术介绍
操作系统或运行环境的主要任务之一就是保持计算机系统的安全性和稳定性。理想地,操作系统或运行环境应该确保只有能够被证明不会破坏系统安全性和稳定性的“安全”的应用程序才被允许运行。但是,可计算性理论领域内的计算机科学家和数学家们已知晓多年的不幸事实是,要事先确定地预测出给定的程序是否“安全”是非常困难的,在很多情况下是不可能的。为此,更为实际的解决方案是只允许运行被确信是安全的应用程序。可以用两种基本方式建立这种“确信”。一种方式是通过检查代码本身来检测安全问题的某些标志。这是由病毒扫描软件采取的方法,其扫描寻找已知病毒的特征。这种技术也被应用在JAVA虚拟机的字节码校验方案中,其寻找表示不安全或损坏代码的模式。JAVA是由加州Santa Clara的Sun Microsystems Inc研发的一种面向对象的编程语言和运行环境规范。另一种方式是只允许运行“信任”的应用程序,也就是来自信任来源的应用程序。JAVA虚拟机也支持第二种方法,因为JAVA允许开发人员向JAVA代码添加数字签名,该数字签名可以由JAVA虚拟机在运行时进行校验。JAVA虚拟机能够被设置为只允许已经由信任来源数字签署过的JAVA代码来执行某些安全性敏感的操作。因为JAVA字节码是在虚拟机中运行,所以虚拟机能够在将要运行可能有害的字节码时,“实时地”(on the fly)针对与给定操作相关联的潜在安全威胁做出运行时的判定。尽管这种能力是有利的,但是通过使用虚拟机带来的额外的复杂性和计算开销在某些应用程序中是不利的。而且,因为虚拟机是软件,所以虚拟机必须将其(用于验证数字签名的)密钥存储在软件可访问的存储器中。用这种方式存储密钥的事实意味着密钥可以像任何其他的数据一样遭到修改或替换。因此通过简单地修改存储的密钥组就可以规避由JAVA虚拟机施加的安全限制。因此,需要由一种高效而又非常安全的方法来确保只有信任的代码能够在计算机系统中运行。本专利技术对该问题以及其他问题提供了一种解决方案,并且提供了优于先前解决方案的其他优点。
技术实现思路
因此,本专利技术提供了一种方法、计算机程序产品和数据处理系统,用于确保在数据处理系统中运行的应用程序只能来自信任的来源。在一个优选实施例中,安全初始化硬件将安全内核载入并解密到内存中,其中安全内核含有嵌入式密钥对。独立于安全内核,含有对应于可信任软件厂商的密钥的“密钥环”被保留,其中利用嵌入式密钥对的私钥数字地签署这些密钥中的每一个。在通过安全内核将应用程序载入内存运行时,安全内核使用来自-->其嵌入式密钥对的公钥来验证来自其密钥环的厂商密钥。然后,在已确定厂商密钥的真实性之后,使用厂商密钥来验证与应用程序相关联的公钥的真实性。该应用程序的公钥随后被用于验证应用程序映像的完整性。为了使用户可以运行来自独立软件开发方(他们没有其自身的厂商密钥)的软件,上述的厂商密钥校验可以作为一个选项被禁用。以上是概述内容并因此必然包含细节的简化、概括和省略;所以,本领域普通技术人员应该理解概述内容只是说明性的而不是为了以任何方式加以限制。本专利技术完全由权利要求定义的其他应用、创造性特征和优点将在下面阐述的非限制性的详细说明中变得显而易见。附图说明本领域普通技术人员通过参照附图可以更好地理解本专利技术,并且其各种目标、特征和优点也可以变得显而易见,在附图中:图1是示例性数据处理系统的框图,其中可以实施本专利技术的优选实施例;图2是根据本专利技术优选实施例的辅助处理单元的框图;图3是内存映射,示出了在根据本专利技术优选实施例实施的数据处理系统中的内存使用;图4是用于在根据本专利技术优选实施例实施的数据处理系统中使用的应用程序400的内存示意图;图5-7是根据本专利技术优选实施例的安全内核的基本运行流程的流程图表示;图8是示出了在本专利技术的优选实施例中用于确保验证应用程序代码可信度的方案的示意图;图9是在本专利技术优选实施例中验证应用程序代码可信度的过程的流程图表示;图10是在本专利技术优选实施例中预先验证信任应用程序的过程的流程图表示;以及图11是在本专利技术优选实施例中禁用严格策略模式的可选过程的流程图表示。具体实施方式以下内容是为了提供本专利技术的一个示例的详细说明而不应被理解为限制了专利技术自身。相反,很多变形均可落在由说明书后的权利要求确定的本专利技术的保护范围之内。图1是示例性数据处理系统100的框图,其中可以实施本专利技术的优选实施例。数据处理系统100包括在单个集成电路上含有若干个处理器核心的单片多处理器101。单片多处理器101包括由内部总线104连接的通用主处理单元102和用于执行更多专门的加强计算功能的若干个辅助处理单元(辅助处理单元110,112和114)。在单片多处理器101以外的外部总线105将单片多处理器101与主内存106和辅助存储器108以及其他外围设备(未示出)相连。除了主内存106以外,辅助处理单元110,112和114中的每一个都含有其自身的局部内存。这就允许辅助处理单元110,112和114在隔离模式中独立于主处理单元102操作,其中特定的辅助处理单元利用其局部内存执行计算而不会干扰主处理单元102。当未处于隔离模式时,辅助处理单元110,112和114可以允许主处理单元102访问它们各自的局-->部内存空间。在该优选实施例中,主处理单元102包括用于内存保护的硬件支持(在主内存106中),但是辅助处理单元110,112和114并不含有在处于隔离模式时阻止对辅助处理单元内局部内存的非法内存访问的内存保护硬件。图2中提供了根据本专利技术优选实施例的辅助处理单元110的更加详细的描述。辅助处理单元110被连接至(单片多处理器101内部的)内部总线104,但是在其自身内部也包含它自己的单元内总线222。辅助处理单元110包含主数据路径220,其包括用于运行在辅助处理单元110内存储的程序指令的功能单元、寄存器和控制逻辑。除了它的主数据路径220以外,辅助处理单元110还包含其自身的局部随机存取存储器(RAM)224和永久性存储的存储器228(其可以包含也可以不包含非易失性存储技术,例如闪存存储器),用于在运行时段之间永久地存储信息。辅助处理单元110的启动由独立于主数据路径220的安全初始化硬件226操纵。应该注意到在本文中,术语“初始化”被宽松地用于表示辅助处理单元110的初始化,其整体上不需要与数据处理系统100的初始化一起发生。例如,在本专利技术的优选实施例中,辅助处理单元110的初始化可以在辅助处理单元110每一次被带入隔离模式中时发生,其可以在实际系统重新初始化之间发生多次。因此,在本文中,“初始化硬件”是指用于初始化被用于运行安全内核的特定处理单元或数据路径的硬件(在本文中介绍的优选实施例的情况下,其是辅助处理单元110)。但是,术语“初始化”的这种用法不应被理解为将本专利技术的保护范围限定为优选实施例中的特定硬件。例如,本专利技术基于加密的保护方案还可以被应用于单数据路径的处理器(或“单处理器”),在此情况下,通过安全初始化硬件来初始化单条数据路径实质上就等价于将数据处理系统整体上“热初始化”或“重启”。除了在初本文档来自技高网
...

【技术保护点】
一种计算机实施的处理数据的方法,所述方法包括:由计算机利用初始化硬件对存储到供处理器数据路径访问的内存中的安全内核的加密拷贝进行解密,其中安全内核含有安全内核密钥;以及由计算机运行从所述内存访问的安全内核,其中所述运行包括利用安全内核密钥检验与厂商相关的密钥的数字签名,其中所述与厂商相关的密钥与软件厂商相关联;以及利用与厂商相关的密钥检验与应用程序相关的密钥的数字签名,其中与应用程序相关的密钥与软件应用程序相关联。

【技术特征摘要】
【国外来华专利技术】US 2007-10-2 11/866,0011.一种计算机实施的处理数据的方法,所述方法包括:由计算机利用初始化硬件对存储到供处理器数据路径访问的内存中的安全内核的加密拷贝进行解密,其中安全内核含有安全内核密钥;以及由计算机运行从所述内存访问的安全内核,其中所述运行包括利用安全内核密钥检验与厂商相关的密钥的数字签名,其中所述与厂商相关的密钥与软件厂商相关联;以及利用与厂商相关的密钥检验与应用程序相关的密钥的数字签名,其中与应用程序相关的密钥与软件应用程序相关联。2.如权利要求1所述的方法,其中与应用程序相关的密钥与软件应用程序共同存储。3.如权利要求1或2所述的方法,其中初始化硬件独立于处理器数据路径操作。4.如权利要求1、2或3所述的方法,进一步包括:确定对与应用程序相关的密钥的检验是否成功;响应于对与应用程序相关的密钥检验成功的确定,利用与安全内核相关联的签署密钥生成与应用程序相关的密钥的新签名。5.如权利要求4所述的方法,其中签署密钥是密钥对中的私钥,在所述密钥对中,所述安全内核密钥是对应的公钥。6.如权利要求1至5中的任意一项所述的方法,进一步包括:利用与应用程序相关的密钥验证软件应用程序的数字签名。7.如权利要求1至6中的任意一项所述的方法,进一步包括:只有在利用与厂商相关的密钥对与应用程序相关的密钥的数字签名进行的所述检验成功的情况下,才运行软件应用程序。8.一种在实体计算机可读介质内用于由具有处理器数据路径和专用初始化硬件的计算机运行的计算机程序产品代码,所述计算机程序产品代码包括:加密内核,其中加密内核适用于被专用的初始化硬件解密为解密形式并由处理器数据路径以解密形式运行,所述加密内核包括安全内核密钥;用于利用...

【专利技术属性】
技术研发人员:村濑正名阪本正治清水宽和V泽巴斯盖
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1