[发明专利]通过安全内核设计划分的安全策略有效
申请号: | 200880110014.1 | 申请日: | 2008-09-22 |
公开(公告)号: | CN101816004A | 公开(公告)日: | 2010-08-25 |
发明(设计)人: | 村濑正名;阪本正治;清水宽和;V·泽巴斯盖 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F21/00 | 分类号: | G06F21/00 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 金晓 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 通过 安全 内核 设计 划分 安全策略 | ||
技术领域
本发明主要涉及在数据处理系统内安全软件运行。具体地,本 发明涉及一种确保在数据处理系统中运行的应用程序只来自信任来源 的方法。
背景技术
操作系统或运行环境的主要任务之一就是保持计算机系统的安 全性和稳定性。理想地,操作系统或运行环境应该确保只有能够被证 明不会破坏系统安全性和稳定性的“安全”的应用程序才被允许运 行。但是,可计算性理论领域内的计算机科学家和数学家们已知晓多 年的不幸事实是,要事先确定地预测出给定的程序是否“安全”是非 常困难的,在很多情况下是不可能的。为此,更为实际的解决方案是 只允许运行被确信是安全的应用程序。
可以用两种基本方式建立这种“确信”。一种方式是通过检查 代码本身来检测安全问题的某些标志。这是由病毒扫描软件采取的方 法,其扫描寻找已知病毒的特征。这种技术也被应用在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是示出了在本发明的优选实施例中用于确保验证应用程序 代码可信度的方案的示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200880110014.1/2.html,转载请声明来源钻瓜专利网。