一种实现处理器及其计算机系统信息处理环境高度安全与可信的方法

文档序号:6608690阅读:242来源:国知局
专利名称:一种实现处理器及其计算机系统信息处理环境高度安全与可信的方法
技术领域
本发明属于计算机信息安全领域,尤其涉及到一种具有硬件安全保护机制的处理器及其计算机系统。
背景技术
计算机信息安全在现今的信息化社会中日渐变得非常重要和关键,各种计算机危害对人们造成的威协和损失有目共睹,人人皆知,以致发展到现在迫在眉睫的态势。综观计算机信息安全相关的各种现象,如病毒、木马、蠕虫、黑客、流氓程序、加解密、身份认证、软件版权保护、非法复制等等,所有这些计算机信息安全现象归根结底可划分为三大类程序安全、数据安全和身份安全。程序安全是指程序对计算机系统的操作控制是用户正常的、有意识的操作意图;数据安全是指信息具有正确性、保密性和属主性,只有合法的用户才能获取正确的信息;身份安全是指操作控制计算机系统的用户是经过身份认证和授权的。
从技术角度来看,计算机信息安全的根本和关键还是在于计算机系统在硬件级上实现的安全保护机制,最重要的是处于核心地位的处理器。
从处理器安全技术的角度看,处理器的发展主要经历了实方式时代和保护方式时代。在实方式时代,任何程序都可以操作访问处理器的各个寄存器,控制处理器的运行状态,随意读写存储器的任何存储单元,不论是谁,完全可以掌控整个系统资源,系统毫无安全可言。在这种情况下,人们迫切希望处理器厂商在硬件上采取相应的保护机制,以保证系统和信息的安全,至此,处理器的一种新的工作方式即保护方式产生了。在保护方式下,处理器具有四个运行特权级,运行在不同特权级下的程序具有不同的操作访问权限,特权级高的可以访问特权级低的,但低的不能访问高的;根据程序的信任程度,通常操作系统运行在最高特权级,应用程序运行在最低特权级,并对任务之间进行隔离保护。这样,处理器的保护工作方式在一定程度上有效地保护了计算机系统和信息的安全。
但是,可以运行在最高特权级的程序的作者不具有唯一性,它不一定是最可信任的操作系统,并且任何人都可以写程序把它放到最高特权级的位置去运行,比如硬件设备驱动程序、扩展应用程序功能的软件驱动程序以及程序调试器等,它们可以跟最可信任的最高特权级程序一样操作和访问所有的系统资源,但它们的作者及其行为并不一定可信。
当计算机系统运行在某一特定的需要高度安全与可信的时刻,比如密码输入、身份认证、数据加解密等等,任何人可以在当前任务的任何特权级编写一段程序并插入到当前任务中,以此来监控和窃取用户的信息,或进行其它非法操作,但用户对此毫无所知。
处理器保护方式的进步在于它把不同的程序划分成了类,不同的类赋于不同的特权,从而在一定程度上实现了系统和信息的安全。但是,它并没有唯一地确定到个人,不能唯一的确定一个操作者的主观意图,因此,也根本无法满足现在各种情况下的安全需求。

发明内容
为了克服处理器及其系统在现今各种安全(程序安全、数据安全和身份安全)需求下存在的严重不足,本发明对处理器及计算机系统提出了一种安全方式、安全数据通道和代码分离的方法,该方法能实现计算机系统信息处理环境的高度安全与可信,从根本上解决了计算机信息安全存在的各种现象和问题。所谓的“安全方式”是处理器继实模式、保护模式、V86模式后的一种全新的工作方式。
本发明所采用的技术方案是在处理器保护方式的基础上增加一安全控制逻辑模块和一条机器指令即分离代码执行指令;在系统内存与I/O之间建立一个独立的安全数据通道,即设置一个特定的安全设备控制模块及其一个可与系统动态灵活连接的设备接口,并提供一个与该接口配套使用的安全存储设备;把程序(操作系统或应用程序等)中一段关键或安全要求高的代码分离出来,保存到安全存储设备中。
安全控制逻辑模块,它集成在处理器中,用于控制存储控制器把操作系统指定的一块或多块内存设置为安全内存段,并控制处理器中的调试寄存器,在执行安全内存段内的代码时禁止处理器的单步调试功能,对安全内存段只能以执行的方式访问,不能进行读或写;控制安全设备控制模块从安全存储设备读取数据到安全内存段。
分离代码执行指令,该指令指使处理器控制安全设备控制模块从安全存储设备读取数据到安全内存段并执行。
安全设备控制模块,它在安全控制逻辑模块的控制下根据分离代码执行指令所提供的参数访问安全存储设备,若访问安全验证通过,则直接从安全存储设备读取数据到安全内存段;数据传输只能由安全设备控制模块在纯硬件逻辑功能的基础上进行,不需其它任何方式的参与,用于在安全内存段和安全存储设备之间建立一个安全可信的数据通道。
安全存储设备,该设备可和智能卡相结合,利用智能卡的安全性保护分离的数据不被读取、修改或破坏,能够对数据进行特定的处理,并能和用户交互以接受用户的输入。
在以上所述硬件提供的安全保护机制的平台上,本发明提出了一种“代码分离”的思想,即把操作系统内核、应用程序或具有其它特权级程序中的一段关键的或安全要求高的代码分离出来,保存到安全存储设备中,发售给各个授权用户,在源程序分离后的空白处填充一条分离代码执行指令,并附加指定格式的参数和密码,以保证对安全存储设备的合法访问。
本发明的有益效果是,以克制危害计算机信息安全(程序安全、数据安全和身份安全)的各种现象和问题为出发点,在处理器及其计算机系统硬件层上建立一套完整、安全、可行的保护机制,在极大程度上保证了计算机信息处理的安全,能从根本上满足用户的各种安全需求。


下面结合附图和实施例对本发明作进一步的详细说明图1表示本发明所提出的处理器及其计算机系统的整体逻辑结构示意图;图2是本发明实现系统安全的原理图;图3是本发明实现应用安全的原理图。
具体实施例方式
图1是本发明所提出的实现信息处理环境高度安全与可信的处理器100及其计算机系统的整体逻辑结构示意图。计算机系统包括传统的处理器100、电桥102、存储控制器104、存储器107、和各种I/O设备105,以及包括实现本发明功能的新增加组件安全控制逻辑模块101、安全设备控制模块103、安全存储设备106和存储器107中的安全内存段108。
安全控制逻辑模块101集成在处理器100中,作为处理器100的一个逻辑功能模块,它通过控制集成在电桥102中的存储控制器104实现对存储器107的控制和访问,把指定的一块或多块内存设置为安全内存段108,控制处理器100中的调试寄存器,在执行安全内存段108内的代码时禁止处理器100的调试功能,对安全内存段108只能以执行的方式访问,不能进行读或写;控制安全设备控制模块103从安全存储设备106读取数据到安全内存段108。处理器100增加一条机器指令即分离代码执行指令109,该指令指使处理器100控制安全设备控制模块103从安全存储设备106读取数据到安全内存段108并执行。
安全设备控制模块103,它在处理器100中的安全控制逻辑模块101的控制下根据分离代码执行指令109所提供的参数访问安全存储设备106,若访问安全验证通过,则直接从安全存储设备106读取数据到安全内存段108;数据传输只能由安全设备控制模块103在纯硬件逻辑功能的基础上控制存储控制器104直接在安全内存段108与安全存储设备106之间进行数据传输,禁止其它任何方式的参与,用于在安全内存段108和安全存储设备106之间建立一个安全可信的数据通道;安全存储设备106,它通常和智能卡相结合,利用智能卡的安全性保护分离数据不被读取、修改或破坏,能够对数据进行特定的处理,并能通过安全存储设备106上的键盘接受用户输入。通常包含有处理器100、RAM、FALSH、EEPROM、随机数产生、时钟计时器和输入键盘等组件,但在实际的应用中也可能不具有这些组件,或具有其它功能的组件。
安全内存段108,安全内存段108分为两部分,一部分用于存放操作系统的关键代码和数据,这些段具有最高的特权级;另一部分用于存放分离代码,这些分离代码可能是来自应用程序,也可以是来自操作系统或其它的程序,这部分段所具有的特权级与分离代码所属的原程序段的特权级相同。
在实现系统安全方面如图2所示,表示了如何实现操作系统的安全。操作系统中的加载模块在加载操作系统时,根据操作系统本身的情况把系统存储器107一定大小的内存空间设置成安全内存段108,其中一部分安全内存段108用于存放操作系统的代码和数据,另一部分安全内存段108用于执行分离代码。把最初随操作系统发布时所有的或其中关键的、安全要求高的代码段和数据段放到安全内存段108内,赋予最高特权级RING0,RING0级代码能访问所有内存段,RING0级数据段只能由RING0的代码段访问,其它任何代码都不能读取安全内存段108内的代码或数据;把不可信任的由第三方厂商或个人开发的驱动程序或其它系统程序放到非安全内存段108,赋予相等或较低特权级;把应用程序放到非安全内存段108,赋予最低特权级RING3。因为在安全控制逻辑模块101和处理器100传统保护方式的共同保护机制下,处在安全内存段108内具有最高特权级的操作系统不能被其它程序访问或调试,以此阻止病毒、黑客、木马、蠕虫等恶意程序所进行的修改和破坏。
实现操作系统安全的另一个实施例是和下述的实现应用安全的方式相同,即采用代码分离的方式,把操作系统中关键的或安全要求高的核心代码分离出来,保存到安全存储设备106中,在分离处填充一条分离代码执行指令109。在以后操作系统执行到这个关键的地方时,从合法用户的安全存储设备106中读取相应的代码到安全内存段108并执行。
在实现应用安全方面如图3所示,表示了如何实现在诸如软件版权保护、身份认证、加解密等应用方面的安全。
软件作者把程序中关键的、安全性要求高的一段代码从原程序中分离出来,保存到安全存储设备106中,在分离后的空白处填充一条分离代码执行指令109;采用特定的方式使一个程序唯一对应一个安全存储设备106,程序只有在与它唯一对应的安全存储设备106存在的情况下才能运行,并把安全存储设备106授权给程序的合法用户;在执行程序时,分离代码执行指令109指使处理器100控制安全设备控制模块103从安全存储设备106读出被分离的代码到安全内存段108并执行。这样,当一个任务执行到关键时刻,任何程序或个人都无法插入到这个任务中去进行非法操作,也无法进行分析、跟踪和调试,以此保护软件作者的计算环境高度安全与可信。
以上所述具体实施方式
仅为本发明的优选实施例,本发明不限于上述实施例,对于本领域的一般技术人员而言,在不背离本发明原理即“在处理器保护方式的基础上增加一安全控制逻辑模块和一条机器指令即分离代码执行指令;在系统内存与I/O之间建立一个独立的安全数据通道,即设置一个特定的安全设备控制模块及其一个可与系统动态灵活连接的设备接口,并提供一个与该接口配套使用的安全存储设备;把程序(操作系统或应用程序等)中一段关键或安全要求高的代码分离出来,保存到安全存储设备中。”的基础上所作的任何显而易见的改动,都属于本发明的构思和所附权利要求的保护范围。
权利要求
1.一种实现处理器及其计算机系统信息处理环境高度安全与可信的方法,其特征是在处理器保护方式的基础上增加一安全控制逻辑模块和一条机器指令即分离代码执行指令,在系统内存与I/O之间建立一个独立的安全数据通道,即设置一个特定的安全设备控制模块及其一个可与系统动态灵活连接的设备接口,并提供一个与该接口配套使用的安全存储设备,把程序(操作系统或应用程序等)中一段关键或安全要求高的代码分离出来,保存到安全存储设备中。
2.根据权利要求1所述的一种实现处理器及其计算机系统信息处理环境高度安全与可信的方法,其特征是在处理器中增加一安全控制逻辑模块,作为处理器的一个逻辑功能模块,实现以下功能(1)、通过控制集成在电桥中的存储控制器实现对存储器的控制和访问,把指定的一块或多块内存设置为安全内存段,对安全内存段只能以执行的方式访问,禁止以其它任何方式进行读或写;(2)、控制处理器中的调试寄存器,在执行安全内存段内的代码时禁止处理器的单步执行和调试功能。
3.根据权利要求1所述的一种实现处理器及其计算机系统信息处理环境高度安全与可信的方法,其特征是处理器增加一条机器指令即分离代码执行指令,该指令指使处理器控制安全设备控制模块从安全存储设备读取数据到安全内存段并执行。
4.根据权利要求1所述的一种实现处理器及其计算机系统信息处理环境高度安全与可信的方法,其特征是安全设备控制模块根据分离代码执行指令所提供的参数访问安全存储设备,若访问安全验证通过,则直接从安全存储设备读取数据到安全内存段,数据传输只能由安全设备控制模块在纯硬件逻辑功能的基础上控制存储控制器直接在安全内存段与安全存储设备之间进行数据传输,禁止其它任何方式的参与,用于在安全内存段和安全存储设备之间建立一个安全可信的数据通道。
5.根据权利要求1所述的一种实现处理器及其计算机系统信息处理环境高度安全与可信的方法,其特征是安全存储设备通常和智能卡相结合,利用智能卡的安全性保护分离数据不被读取、修改或破坏,能够对数据进行特定的处理,并能通过安全存储设备上的键盘接受用户输入。
全文摘要
本发明对处理器及计算机系统提出了一种安全方式、安全数据通道和代码分离的方法。在处理器保护方式的基础上增加一安全控制逻辑模块和一条机器指令即分离代码执行指令;在系统内存与I/O之间设置一个特定的安全设备控制模块及其一个可与系统动态灵活连接的设备接口,并提供一个与该接口配套使用的安全存储设备;把程序(操作系统或应用程序等)中一段关键或安全要求高的代码分离出来,保存到安全存储设备中。
文档编号G06F21/00GK101034378SQ20071009807
公开日2007年9月12日 申请日期2007年4月27日 优先权日2007年4月27日
发明者吴晓栋 申请人:吴晓栋
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1