本发明的目的在于提供一种防止非法入侵活体破坏和盗窃的计算机系统,从而根治病毒和其他破坏者活体的破坏和盗窃。
为了实现上述的目的,本发明提供一种计算机系统,包括:
至少一个内部存储部件,用于存储指令/数据;
所述系统的特征在于:
所述的至少一个内部存储部件,被分为多个存储区,每个存储区,用于存储多组指令/数据,每组指令/数据对应一个安全码,相同存储区内的各组指令/数据对应的安全码相同,安全码至少有一个二进制位,安全码表示安全等级,安全等级至少有两个等级:最高安全等级和最低安全等级。
所述系统的特征还包括:
存储部件分区装置,用于存储部件分区并且规定各区的安全码;它包括分区地址保存装置和分区地址设置装置。如果采取固定分区,该分区地址保存装置和分区地址设置装置可以是空。
安全码产生装置,用于由指令/数据的地址自动地判断该指令/数据属于哪一个存储区,并且根据该区的安全码产生该指令/数据的安全码;
第一添加码保存装置,用于保存当前运行的指令的安全码;
第二添加码保存装置,用于保存正在被读取的的指令的安全码;
第一中断产生装置,用于除了特殊的带返回转移及中断转移之外的各种无条件转移和各种条件转移指令的所转向的指令的安全等级高于该转移指令的安全等级时产生中断,而且当该指令的安全等级低于某规定的安全等级P时,所转向的指令安全等级不等于该转移指令的安全等级时也产生中断;
第三添加码保存装置,用于保存当前从内部存储部件读取的被操作数的安全码;
第二中断产生装置,用于当指令的被操作数的安全等级高于该指令的安全等级时产生中断,而且当该指令的安全等级低于某规定的安全等级P时,被操作数的安全等级不等于该指令的安全等级时也产生中断;
根据上述的要求,所述系统的特征还包括:
安全等级P规定装置,用于规定计算机系统的安全等级P。它包括安全等级P存储装置和安全等级P设置装置。没有规定安全等级P时,P等于最低安全等级;如果采用固定的P,P规定装置可以是空。
限制输出码存储装置,位于所述内部存储部件中,用于存储多个限制输出码,其中每一个限制输出码表示一组指令/数据的限制输出等级;
指令/数据不可以从具有低于该限制输出等级的″输出端口限制输出等级″的输出端口输出,限制输出码至少包括两个限制输出等级;
限制输出码赋予装置,用于把限制输出码赋予一组指令/数据,没有赋予过限制输出码的指令/数据的限制输出等级是最高限制输出等级;
限制输出码保存装置,用于保存正在输出的一组指令/数据的限制输出码;
输出端口限制输出码保存装置,用于保存各输出端口的限制输出码等级;
输出端口限制输出码赋于装置,用于把″输出端口限制输出码″赋给某输出端口,输出端口限制输出码表示该端口的输出端口限制输出等级;具有高于该输出端口限制输出等级的程序/数据不可以从该端口输出,输出端口限制输出码的等级至少包括两个等级,没有赋值过的输出端口的输出端口限制输出码的等级是最高限制输出等级;
第三中断产生装置,用于当指令/数据要求从它不可以输出的输出端口输出时,产生中断;
并且其中
所述的第三添加码保存装置还用于存储限制输出码;
本发明不仅可以用在各种计算机系统,各种服务器计算机,各种用户计算机(包括个人计算机),各种能进网的有信息处理能力的家电信息处理系统,还可以用在网络节点上的任何计算机上,例如,防火墙,等等。本发明对各种用户计算机、各种服务器计算机、各种公司内部的计算机系统、各种需要极高的安全要求的重要部门的大信息系统的安全,有重要意义和社会效益。
本发明的计算机系统所实现的安全措施,当然可以与操作系统以及其他软件系统所实现的安全措施相结合。
结合附图,通过以下示例方式对本发明最佳实施方式的描述,本发明的上述和其他目的、特征和优点将会更加明显。
以下结合附图详细描述本发明的各个实施方式。
图1是本发明的计算机系统的一个实施方式的结构示意图。如图1所示,本发明的计算机系统100含有中央处理部件110和至少一个内部存储部件120,以及其他一些部件。为了构成一个完整的计算机系统,除了图中所示的部件之外,还需要若干现有技术部件。由于这些现有技术部件以及它们之间的连接关系对于本领域普通技术人员而言是公知的,故未在图中示出。
内部存储部件120含有多组存储单元(未示出),每组存储单元用于存储一组指令/数据。
在图1所示的例子中,每个安全码所对应的程序/数据组大小是一个单元,一个字长。安全码长度为r个二进制位,r≥1。内部存储单元分为N个区,N=2r。
中央处理部件110,除了包括通常具有的运算部件,运算控制部件,各种寄存器,等等(未示出)以外,还包括第一至第四添加码保存装置111、112和113,第一中断产生装置115和第二中断产生装置116,区分地址保存装置114和安全码产生装置117以及特殊操作装置118,输出端口限制输出码保存装置119和第三中断产生装置119′。
第一添加码保存装置111用于保存当前运行的指令的安全码。
第二添加码保存装置112用于保存正在被读取的的指令的安全码。
第一中断产生装置115,用于除了特殊的带返回转移及中断转移之外的各种无条件转移和各种条件转移指令的所转向的指令的安全等级高于该转移指令的安全等级时产生中断,而且当该指令的安全等级低于某规定的安全等级P时,所转向的指令安全等级不等于该转移指令的安全等级时也产生中断。
第三添加码保存装置113用于保存当前从内部存储部件120读取的被操作数的安全码。
第二中断产生装置116,用于当指令的被操作数的安全等级高于该指令的安全等级时产生中断,而且当该指令的安全等级低于某规定的安全等级P时,被操作数的安全等级不等于该指令的安全等级时也产生中断。
区分地址保存装置114,从小到大依次保存N-1个用来作为区分的地址,不失其一般性,对应的N个存储区的安全等级是规定为从高到低。
安全码产生装置117用于每当从内部存储部件读取一条指令或者读取一个数据时,它根据该指令/数据的地址自动地判断该指令/数据属于哪一个存储区,并且根据该区的安全码产生该指令/数据的安全码,并且把该安全码分别送入第二或者第三安全码保存装置;
输出端口限制输出码保存装置119,用于保存各输出端口的限制输出码等级;
第三中断产生装置119′,用于当指令/数据要求从它不可以输出的输出端口输出时,产生中断;装置119′可以设置在计算机系统100之内的任何适当位置。
特殊操作装置118由人工控制来实现,或者由一个或者几个操作码构成,并且受一个或者几个人工控制的开关所控制来实现。这些开关中的某些开关的某种逻辑组合为0时,或者运行这组操作码的指令的安全等级低于某安全等级Q时,它等于不计算指令,而且产生中断;该逻辑组合为1时,而且运行这组操作码的指令的安全等级等于或者高于某安全等级Q时,就进行规定的特殊操作。安全等级Q可以在计算机系统工作要求确定。没有规定的Q等于最高安全等级。
特殊操作装置118包括以下诸多装置。
(1)设置区分地址装置,用于设置区分地址保存装置的内容。
(2)规定安全等级P装置,用于规定安全等级P。一般在计算机系统工作之前规定。没有规定的情况,其P为最低安全等级。
(3)限制输出码赋予装置:用于把限制输出码赋予一组指令/数据,没有赋予过限制输出码的指令/数据的限制输出等级是最高限安全等级。
在图1所示的例子中,我们规定,指令/数据的限制输出码等于该指令/数据的安全码,所以,该装置是空。
(4)输出端口限制输出码赋予装置:用于把″输出端口限制输出码″赋给某输出端口,输出端口限制输出码表示该端口的输出端口限制输出等级;具有高于该输出端口限制输出等级的程序/数据不可以从该端口输出,输出端口限制输出码的等级至少包括两个等级,没有赋值过的输出端口的输出端口限制输出码的等级是最高限制输出等级。
(5)规定安全等级Q装置:用于规定安全等级Q。运行该装置有关的特殊操作码的指令的安全等级必须是最高等级。否则中断处理。
区分地址等级P,等级Q,各输出端口的输出端口限制输出码等等的保存装置,可以用人工控制开关或者快闪(Flash)存储器来实现。
关于安全等级P的说明:
(1)指令可以运行/操作与其相同安全等级的指令/数据。
(2)当指令运行/操作安全等级比其高的指令/数据时,产生中断。
(3)当指令运行/操作安全等级比其低的指令/数据时,有两种处理方式:
第一种处理方式:进行,不产生中断;
第二种处理方式:不进行,而且产生中断。
当然,还可以采用混合处理方式。
(4)″(3)″中的两种处理方式和混合处理方式,可以引入一个规定的安全等级P来表示:
当执行的指令的安全等级等于或者高于P时,采用″进行″的处理方式;
当执行的指令的安全等级小于P时,采用″不进行,而且产生中断″的处理方式;
(4-1)如果取P为最低安全等级,则全部采用第一种处理方式;
(4-2)如果取P为最高安全等级,则除了最高安全等级是采用第一处理方式外,其他的全部是采用第二种处理方式;
(4-3)如果取P为某中间安全等级,则采用的是混合处理方式;
(4-4)P可以在计算机系统开始工作以前确定。
(4-5)没有规定P的情况,P为最低安全等级,则全部采用第一种方式处理。
(5)显然,当安全等级只有两个等级时,P是多余的,因为P无论是等于最高等级还是最低等级,都是采用第一种处理方式。
上述运行/操作规则是以如下方式实现的。