专利名称:计算机操作系统的安全系统与方法
技术领域:
本发明涉及一种计算机系统中用于保证数据与信息存储安全的安全系统,以及保证该数据与信息存储安全的方法。更具体地讲,本发明涉及一种计算机系统中用于保证计算机操作系统安全的安全系统与方法。
背景技术:
在本说明书中,定义计算机系统包含具有中央处理单元(CPU)以及存储设备的计算机,该存储设备可以是硬盘、CD R/W或者其他可读/写数据存储介质或者以上的任意组合;以及如客户端服务器系统中那样包含一或多个此类计算的网络。
此处,计算机的操作系统包含提供用户与该计算机硬件之间接口、并且控制在该计算机上运行的所有其他程序的软件以及数据。因此,操作系统可以处理至外围硬件的接口,调度任务,分配存储,以及当没有应用程序运行时向用户呈现缺省界面。用户界面可以包含命令语言、图形用户界面或者窗口系统。操作系统加载程序、BIOS、或者启动时或者安装操作系统时所需的其他固件一般不被认为是操作系统的一部分。
术语“分区”此处用来指可读/写数据存储设备中通过格式化该存储设备而创建的部分、区域、或者数据块的连续组。
在本说明书中,除非上下文有另外要求,术语“包含”及其变型应该理解为指包括所述完整体(integer)或者完整体的组,但是不排除其他任何完整体或完整体的组。
在计算机广泛应用的当今,各种用户越来越可以访问存储在计算机系统上的数据。这种访问可以通过不同用户本地地和或远程地使用计算机系统而直接地实时发生,或者通过由计算机用户手动地或者自动地在预定时间加载并运行计算机程序而间接地发生。随着允许通过局域网或者广域网(例如因特网)远程访问计算机系统的计算机网络的出现、并且计算机系统之间计算机程序与数据的轻易传输(或者手动地通过软盘与CD ROM、或者自动地通过计算机网络),在计算机可读/写存储上存储的数据与信息的安全性与完整性正日益变得极端重要。
现在计算机系统通常包含“防病毒”软件,用来保护在其存储设备上存储的数据与信息不受恶意计算机程序侵害;以及用户验证程序,其根据用户的状态允许对在计算机系统存储设备上所存储的数据与信息的预定级别的访问权限。
现在使用的大部分类型的防病毒软件与用户验证协议的问题在于事实其以软件实现,该软件需要在计算机操作系统的控制下执行。因此,此类防病毒或用户验证软件正确发挥功能的先决条件在于计算机系统必须能够“干净地”加电、启动、并且调入操作系统,而此时不应该有影响计算机的任何病毒或者挫败安全性的进程。
在防病毒软件的情况下,该软件的大部分依赖于具有该软件正试图保护该系统不受其影响的病毒或者病毒类型的某些知识。因此,防病毒软件需要经常更新,并且需要在特定病毒到达计算系统之前进入操作系统。
因为某些病毒可以是对计算机系统非常恶意并且是破坏性的,所以病毒首次发作与抵抗该病毒的软件的产生之间的滞后时间仍然会形成一窗口,在该窗口内,常常会对感染此类病毒的某些计算系统造成不可修复的损害。实际上,病毒以及防病毒软件的制造具有使自身永久存在下去的趋势。因此,虽然可能在过去提出过更好的解决方案来抵抗病毒、确保程序与信息的安全,但是技术现状仍然停留在采用软件方法来处理该问题。
尽管如此,人们还是在过去提出了各种基于硬件的解决方案,其在本质上在防范病毒或者防止对存储在计算机上的数据的未授权访问方面更可靠、更有弹性。然而这些解决方案不容易应用,在适应不同的、不断变化的格式化标准的方面有限制,或者为了使其有效甚或可运行,需要在技术方面远远超出单纯加载可执行程序的用户交互。
计算机的操作系统一般存储在可读/写存储设备或者CD-ROM上。上述问题出现在操作系统存储在诸如硬盘驱动器(HDD)等可读/写存储设备上的情况下。相反,将操作系统存储在CD-ROM上提供了安全性,但是牺牲了灵活性,因为该操作系统不可修改,并且计算机只能以该CD-ROM自身运行。另外,只能通过更换CD ROM来更新操作系统。
在可读/写存储设备中保护计算机的操作系统是有利的。
发明内容
根据本发明的一个方面,提供了一种用于计算机操作系统的安全系统,该计算机具有主机中央处理单元(CPU)、由该主机CPU用来加载程序以操作该计算机的存储器、以及用来存储该计算机要处理的数据的可读/写存储设备,该安全系统包含在存储设备中形成的安全分区,其中操作系统存储在安全分区中;建立简档部件,用来相对于存储设备为计算机的用户定义至少两个不同的数据访问权限简档,其中一个访问权限简档对存储在所述安全分区上的数据授予读/写访问权限,另一个访问权限简档对所述安全分区授予不允许写访问的、阻塞级别的访问权限;以及阻塞部件,用来根据为在任意特定时间点上对存储设备进行数据访问的用户定义的特定数据访问权限简档,选择性地阻塞主机CPU与安全分区之间的数据访问;其中所述阻塞部件独立于所述主机CPU、并且可与所述主机CPU分离地配置,以在不管主机CPU随后操作的情况下,根据进行所述数据访问的用户的特定数据访问权限简档,施加并且连续地维持对所述安全分区的、对于进行所述数据访问的用户的、必要级别的数据访问权限。
优选地,该安全系统包含认证部件,用来认证具有指定数据访问权限简档的计算机用户,以及配置所述阻塞部件,以在该用户能够在不管该用户的特定访问权限简档为何的情况下访问所述安全分区之前,根据该用户的数据访问权限简档,控制至安全分区的随后的访问。
优选地,该安全系统包含独立于主机CPU的处理部件,用来响应于所述认证部件地控制所述阻塞部件的操作,以阻塞主机CPU与存储设备之间的访问。
优选地,在安全系统初始化之前,阻塞部件阻塞主机CPU对数据存储设备的所有数据访问,并且阻塞部件包含截获部件,用来在紧接所述初始化之后,在所述处理部件的控制下,截获所有所述数据访问。
优选地,当紧接所述初始化之后、载入计算机的操作系统之前、所述截获部件截获所述数据访问时,所述处理部件以如下方式独立控制主机CPU以及配置计算机,该方式防止对存储设备的未授权访问。
优选地,所述认证部件使得能够在正确验证用户之后、进行计算机的软件启动,并且所述处理部件允许在所述软件启动之后的计算机启动序列期间正常加载操作系统。
优选地,所述安全系统包括程序存储器部件,其独立于计算机的存储器与存储设备,用来不可修改地存储并且提供用来以指定方式操作处理部件以控制所述访问的计算机程序。
优选地,所述安全系统包括存储器存储部件,其独立于计算机的存储器部件与存储设备,用来存储与计算机的基本操作及对存储设备的访问相关联的关键数据以及控制元素。
优选地,所述关键数据以及控制元素提供给主机CPU并由主机CPU使用,以验证存储设备,并且在计算机启动序列期间独立于存储设备地操作计算机。
优选地,认证部件包含登录验证部件,用来使计算机用户能够输入登录标识与口令,并且验证该登录标识与口令,以在允许计算机启动序列进一步前进之前,认证所述用户为具有对于存储设备的预定访问权限简档的、计算机的授权用户。
优选地,所述授权用户的登录标识与口令、及其指定访问权限简档形成部分所述关键数据以及控制元素,并且所述登录验证部件访问所述关键数据以及控制元素,以进行用户认证。
优选地,指定访问权限简档包含对于允许计算机授权用户对存储设备指定分区的预定访问权限级别的指定分配。优选地,指定分区包含安全系统。
优选地,独立处理部件与独立程序存储器部件适于只内嵌连接于主机CPU与存储设备之间的数据访问通道,并且离开主机CPU的主数据与控制总线。
根据本发明的另一个方面,提供了一种用于保证计算机系统安全并保护计算机操作系统不受未授权访问的方法,该计算机具有主机中央处理单元(CPU)、用来存储该计算机要处理的数据的可读/写存储设备、以及由该主机CPU用来加载程序以操作该计算机与存储设备的存储器,该方法包含在存储设备中形成安全分区,并且在安全分区中存储操作系统;关于存储设备为计算机的用户定义至少两个不同的数据访问权限简档,其中一个访问权限简档对所存储在所述安全分区上的数据授予读/写访问权限,另一个访问权限简档对所述安全分区授予不允许写访问的、阻塞级别的访问权限;
根据为在任意特定时间点上对存储设备进行数据访问的用户所定义的特定数据访问权限简档,选择性地阻塞主机CPU与安全分区之间的所有数据访问;以及在不管主机CPU随后操作的情况下,根据进行所述数据访问的用户的特定数据访问权限简档,施加并且连续地维持对所述安全分区的、对于进行所述数据访问的用户的、必要级别的数据访问权限。
优选地,该方法包含认证具有指定数据访问权限简档的计算机用户,以及配置对至存储设备的数据访问的阻塞,以在该用户能够在不管该用户的特定访问权限简档为何的情况下访问所述安全分区之前,根据该用户的数据访问权限简档,控制至安全分区的随后的访问。
优选地,所述选择性阻塞包含独立于主机CPU地控制主机CPU与安全分区之间的访问。
优选地,所述选择性阻塞在计算机初始化期间发生,并且包含在紧接所述初始化之后的、并且在加载计算机操作系统之前的启动序列期间,截获所有所述数据访问,以使得能够以如下方式独立地控制主机CPU与配置计算机,该方式防止对存储设备的未授权访问。
优选地,该方法包含在正确认证用户之后,进行计算机的软件启动,并且在此后的计算机启动序列期间允许正常加载操作系统。
优选地,该方法包含在正确认证用户之后,根据用户的指定数据访问权限简档,控制对至存储设备访问的阻塞。
优选地,该方法包含在与存储器分离的、并且不能由主机CPU寻址的位置上,不可修改地存储用来进行所述控制访问的计算机程序。
优选地,所述验证包含使计算机用户能够输入登录标识与口令,并且验证该登录标识与口令,以在允许计算机启动序列进一步前进之前,确立用户是否为具有对于存储设备的预定访问权限简档的、计算机的授权用户。
优选地,所述授权用户的登录标识与口令、及其指定数据访问权限简档形成部分所述关键数据以及控制元素,并且所述验证包含将所输入的登录标识及口令与所述关键数据以及控制元素内的登录标识及口令相比较,并且如果存在匹配,则认证用户。
优选地,指定访问权限简档包含对于允许授权用户对存储设备指定分区的预定访问权限级别的指定分配。优选地,指定分区包含安全分区。
在以下对具体实施方式
的描述中参照的附图如下图1为根据第一实施例的典型计算机系统的示意性框图,其显示安全设备相对于主机CUP、主总线、接口逻辑、以及各种外围设备的物理位置;图2为根据第一实施例的安全设备的示意性框图,其显示其一般性功能构成;图3为显示未配备安全设备的正常计算机的启动序列的流程图;图4A与4B为显示配备有根据第一实施例描述的安全设备的计算机的启动序列的流程图;图5为显示根据第一实施例的、安全设备从加电开始的各种操作状态的流程图;图6为显示根据第一实施例的、由验证应用程序进行的各种处理的流程图;图7A显示根据第一实施例的、通用登录图形用户界面(GUI)屏幕的图形规格格式。
图7B显示根据第一实施例的、普通用户类型登录GUI屏幕的图形规格格式。
图7C显示根据第一实施例的、管理员类型登录GUI屏幕的图形规格格式。
图7D显示根据第一实施例的、管理员的用户编辑GUI屏幕的图形规格格式。
图7E显示根据第一实施例的、管理员的访问权限编辑GUI屏幕的规格格式。
图8为根据第二实施例的典型计算机系统的示意性框图,其具有总线桥体系结构,包含多条总线与总线桥电路。
图9为根据本发明第二实施例的、图8所示类型的计算机系统内的总线桥电路的示意性框图。以及图10为根据本发明第三实施例的总线桥电路的示意性框图。
具体实施例方式
将相对于几种实施例描述本发明的最佳实施方式。
第一实施例针对用于本申请人在WO 03/003242中公开的计算机类型的操作系统的安全系统,其融入此文作为参考。该安全系统包括安全分区的形成,其中存储计算机操作系统,并且以在计算机运行期间保护该操作系统的方式配置。
如图1所示,其中连接了安全系统在的计算机系统11一般包含中央处理单元(CPU)13以及多个外围设备,其通过主CPU地址与数据总线15连接。外围设备包括监视器17、键盘19、以及个一或多个可读/写存储设备21。在本实施例中,存储设备21根据ATA(AT附件)标准通信,由此需要在其与计算机系统11的剩余部分之间提供ATA通道。
这些外围设备通过适当的接口逻辑23、27、31连接到主CPU总线15,其中每个接口逻辑都包含解码逻辑与设备I/O(输入/输出)。该接口逻辑的特征在于允许CPU 13与特定外围设备之间的通信。
在监视器17的情况中,其接口逻辑23与视频适配器集成,并且通过标准视频电缆25连接到监视器;在键盘19的情况中,其接口逻辑27与键盘端口集成,并且通过适当的键盘电缆29连接到键盘;在一个或多个存储设备21的情况中,其接口逻辑31与ATA适配器集成,并且通过ATA电缆33连接到一个或多个存储设备,以提供ATA通道。
本实施例的安全系统包括离散安全设备35,其在物理上内嵌插入在设备接口逻辑31上提供的ATA适配器与存储设备21之间的ATA电缆33。ATA标准支持大部分类型的存储设备,包括硬盘驱动器、CD-ROM(其实际采用了对ATA标准的ATA/ATAPI增强)、闪烁存储器、软盘驱动器、压缩驱动器(zipdrive)、以及磁带驱动器。
在ATA标准下,可以通过单个的接口逻辑31与ATA电缆33控制两个离散的存储设备。因此,此后指称的“存储介质”可以包含一或两个存储设备,并且可与“存储设备”互换使用。
在PC的情况下,可读/写存储设备的主要类型为HDD。大部分HDD符合IDE(集成驱动电子设备)硬盘驱动器标准或者EIDE(增强的IDE)硬盘驱动器标准,通过这些标准,硬盘驱动器的控制器位于HDD自身之上,而非直接连接到PC主板上。
虽然在附图中未显示,但是该计算机系统的其他实施例可以包括通过SCSI(小型计算机系统接口)标准连接到主计算机系统的存储介质,其具有自己的相应接口逻辑。在以这种方式连接到PC的存储介质的情况下,安全设备35将类似地插入SCSI驱动器设备与其接口逻辑之间。
该安全系统还包括安全分区36,其在逻辑上被配置为存储设备之一上的离散分区。重要的是,计算机的操作系统存储在安全分区36中。
在该实施例中,安全分区36为C(C驱动器),并且占用了存储介质21上可用的整个盘空间的一部分。因此,存储介质21格式化以多个分区,例如C、D、E、F。
如图2所示,安全设备35一般包含CPU 37、RAM(随机访问存储器)39、闪烁ROM(只读存储器)41、总线控制与接口逻辑43,在本实施例中,出于保护ATA存储介质21的目的,该总线控制与接口逻辑43适合ATA标准。总线控制与接口逻辑43一般以FPGA(现场可编程门阵列)和/或ASIC(应用专用集成电路)设备实现,其被连接来在安全设备CPU 37的控制下截获并允许控制主机CPU 13与磁盘存储介质21之间的所有通信。
安全设备35还包含安全介质接口45,其允许分离的安全介质47通过定制接口49连接到安全设备。
安全设备CPU 37根据在闪烁ROM 41中存储的、在启动时载入RAM 39的、并且成为该安全设备的操作系统的指定应用程序运行。CPU 37与总线控制与接口逻辑43通信,该总线控制与接口逻辑43内嵌插入ATA电缆33,作为截获主机CPU 13与存储介质21之间通信的阻塞部件。安全介质接口45插入在总线控制与接口逻辑43与定制接口49之间,用来在CPU 37的控制下促进主机CPU 13与安全介质47之间的通信。
以下参照图3至5描述在闪烁ROM 41中所存储的应用程序的功能以及安全设备35的操作。
在闪烁ROM 41中所存储的用于安全设备35的应用程序一般被设计成截获并控制计算机系统的启动过程,并且在允许访问被保护的存储介质之前借助于登录ID与口令提供认证。另外,安全设备35在主机CPU 13与存储介质21之间的位置是特别设计了,以便该安全设备能够过滤对于流入与流出存储介质的信息与数据的所有请求。根据由具有管理员简档的用户设置的预定的用户简档(user profile)(这些简档存储在安全设备自身内),当适当时,安全设备35将这些请求转发给存储介质。这些简档基于对存储介质内不同分区和/或文件的访问权限。因此,指定的管理员能够以逐个分区和/或逐个文件为基础建立数据保护,并且因此能够以以下更详细地描述的方式建立对于特定安全分区中操作系统的数据保护。
一旦建立了包含操作系统的安全分区,安全设备就可以作为假主机CPU与该操作系统交互,并且允许该操作系统正常发挥功能,同时在用户不知情的情况下保护操作系统不受任何恶意或未授权操作(其可能获取对计算机正常的主机CPU的控制)的影响。
为了完整理解安全系统的操作以及其如何保护操作系统,需要理解标准计算机系统所遵循的正常启动过程。现在参照图3描述该启动过程。
如图3所示,如在步骤51所示,随着53处的加电,PC所遵循的正常的启动序列开始。这也称为“冷启动”,通过“冷启动”,清除来自主机CPU内部存储器寄存器与RAM的所有剩余数据,并且用开始地址设置CPU的程序计数器,以开始该启动过程。该地址为在ROM BIOS(基本输入输出系统)中永久存储的启动程序的开始。
下一步骤55包括CPU使用该地址找到并调用ROM BIOS启动程序。该ROMBIOS程序经历初始化阶段,该初始化阶段包括设置硬件与软件中断向量以及开始称为“加电自检(power-on self-test,POST)”的一系列系统检查,如步骤57所示。
POST过程包括一系列测试,以确保PC的RAM正常发挥作用。然后进行另一系列测试,其指导主机CPU检查各种外围设备(例如视频卡与监视器17、键盘19以及存储介质21)存在并且正常发挥作用。
在完成了POST后,在步骤59BIOS然后察看在外围设备的ROM中保持的BIOS扩展地址,以察看是否任何一个外围设备具有扩展的BIOS要运行。
这些BIOS扩展中的第一个与视频卡有关。该BIOS扩展初始化视频卡,以操作监视器,如步骤61所示。
当完成视频卡初始化后,BIOS行进到步骤63,以为具有其它BIOS扩展的那些外围设备运行其他BIOS扩展。
然后在行进到步骤67对系统进行进一步测试(包括步骤67的存储器测试,其在屏幕上显示)之前,BIOS行进到步骤65以显示启动屏幕。
然后,在步骤69,BIOS进行“系统清查(system inventory)”或者装备检查,以确定有哪些类型的外围硬件连接到该系统。对于HDD存储介质,BIOS程序使主机CPU查询HDD,以请求以下细节,例如驱动器标准(ATA或者SCSI)、哪种标准级别(例如其为旧标准ATA 1-3还是新标准ATA 6)、柱面/磁头/扇区的数目、以及其是否能够以其他模式运行。该对HDD查询的阶段称为“驱动器ID”。
然后,BIOS行进到在步骤71,以配置“逻辑”设备,例如即插即用设备,并且为其找到的每个设备在屏幕上显示信息。
然后在步骤73显示汇总屏幕,以指示该计算机系统的配置。然后,在步骤75,BIOS检查指定的启动序列,其中指定了查找有效启动扇区(从其可以加载计算机的操作系统)位置的存储介质的优先顺序。一般的顺序是检查软盘驱动器(A)然后是硬盘驱动器(C)或者相反、或者CR ROM驱动器。
在标识了优先顺序之后,在步骤77,BIOS使CPU依次在每个驱动器中查找启动信息,直至找到有效的启动扇区。
BIOS通过在步骤79调用软件中断向量“int 19”来执行这一过程,其在BIOS初始化阶段期间所建立的软件中断向量表中存储特定外围设备的地址。
例如,如果目标启动驱动器为HDD,则CPU在该表中所指定的设备地址上在柱面0、磁头0、扇区1(该盘上第一扇区)查找主启动记录或者启动扇区。如果其搜索软盘驱动器,则其从该表中获得软盘驱动器的地址,并且在该软盘同一位置上查找卷启动扇区。
通过CPU检查“ID字节”(其一般包括启动扇区的头两个字节)标志来确定有效启动扇区。如果该标志指示存在启动扇区,则CPU行进到步骤81以将启动扇区加载到RAM中,并且在步骤83执行或者运行启动加载程序,以加载各种操作系统文件。
在DOS操作系统的情况下,加载并执行隐藏文件MS DOS.SYS,IO.SYS,以及COMMAND.COM,然后加载并运行文件CONFIG.SYS与AUTOEXEC.BAB,以完成计算机系统的配置并且允许启动适当的应用程序,以进行计算机系统的随后操作。
在并入安全设备35的本发明实施例的情况下,安全设备35被编程来通过在BIOS操作期间在早期阶段截获启动过程,而阻塞主机CPU 13对被保护的存储介质21的所有访问。另外,在允许计算机系统进行其正常的启动扇区操作与操作系统加载之前,安全设备允许将定制启动扇区加载到主机CPU 13的RAM中,然后其执行要求正确用户认证的认证应用程序。因为正常的启动扇区操作与操作系统加载需要访问被保护的存储介质21,所以该方法确保只有在已经以逐个用户为基础建立了安全设备35的监管控制之后,才开始进行此类访问。
结合附图4A、4B、5极好地解释了安全设备35的此种操作方式,这些附图概括了在以上述方式安装了安全设备的情况下计算机系统启动序列的操作。
在这种结构中,与正常的计算机开始序列情况一样,计算机系统11的冷启动过程从开始步骤51和加电步骤53开始。然而,在加电时,被分离地加电的安全设备35经过其自身的从开始步骤100开始的初始化阶段,于是在步骤101初始化其所有板上资源,并且如步骤102所示加载并且运行其操作系统,以进入其第一操作阶段。由于与计算机系统开销相比经减少的安全设备的开销,所以安全设备35的初始化阶段应该比计算机系统11的BIOS初始化进行得快得多。据此,在步骤103,闪烁ROM 41中所存储的操作系统程序立即调用安全设备CPU 37,以控制总线与接口逻辑43并且截获沿ATA电缆的从主机CPU 103至存储介质的所有通信,从而在此期间,根据不允许沿ATA电缆的主机与被保护的存储介质21之间的通信。在此时间之前,控制总线与接口逻辑43没有被配置,因此在安全设备初始化阶段之前或者在其期间根本不能访问存储介质。
然后,安全设备CPU 33在ATA通道上放置驱动器忙信号,以通知主机CPU 13存储介质21的状态,并且行进到从存储介质请求“驱动器ID”,如步骤104所示。
在此期间,安全设备35的操作完全独立于BIOS进行,由此BIOS根据其正常操作前进执行步骤55至69,直至其在步骤69进行“驱动器ID”检查。
在步骤55至69期间,安全设备35继续阻塞来自主机CPU 13或者任何其他外部设备的与存储介质21的所有数据通信。在该“驱动器忙”阶段期间,安全设备35的CPU 37处于等待来自存储介质21的“驱动器ID”信息的状态。一旦安全设备CPU 37从存储介质21收到“驱动器ID”信息,CPU 37就将其存储在其RAM 39中,并且在ATA通道上表明“驱动器就绪”信号以向主机CPU 13指示存储介质21准备好提供“驱动器ID”。
如果主机CPU 13已经达到“驱动器ID”阶段、并且在“驱动器忙”阶段期间已经轮询驱动器接口逻辑31了少于必需的时间周期,或者更一般地在安全设备CPU 37已经在ATA通道上信号表示了“驱动器就绪”阶段之后当BIOS在步骤69最后达到“驱动器ID”阶段时,则主机CPU 13向驱动器接口逻辑31发出关于“驱动器ID”的请求。
一旦在步骤69提出了该请求,安全设备CPU 37就在继续阻塞对存储介质21的访问的情况下在105截获该请求,并且在步骤106向主机CPU 13提供一个或多个HDD的“驱动器ID”。
BIOS为HDD以所存储的描述其的“驱动器ID”信息进行响应规定了三十一秒的周期。据此,如果不论何种原因安全设备CPU 37不能在该时间内(从BIOS达到“驱动器I D”装备检查阶段69的时间开始)提供“驱动器ID”信息,则BIOS将指示在该位置上的存储介质21无法工作并且越过该存储介质21。因为预期安全设备35到此时已经被完好地、真正地初始化并且可以运行,所以这样的延迟一般将指示被保护的一个或多个HDD确实存在问题。
在向主机CPU 13提供了“驱动器ID”之后,在仍然阻塞主机CPU 13与被保护的存储介质21之间的数据通信的情况下,安全设备35前进到其下一状态,同时BIOS程序进行其正常的从步骤71至81的启动程序,直至其到达涉及加载有效启动扇区的步骤81。
在该状态期间,安全设备35的CPU 37等待从主机CPU 13至驱动器接口逻辑31的启动扇区请求。当收到BIOS请求时,代替加载存储在被保护的存储设备上的启动扇区地,安全设备向主机CPU提供在其自身闪烁ROM 41上所存储的“定制”启动扇区,如步骤107所示。然后,CPU 13根据该定制启动扇区运行启动加载程序,这使得所存储在闪烁ROM 41中的指定认证应用程序在步骤109被加载然后在步骤111执行。
在本实施例中,有效启动扇区必须是所存储在被保护的存储介质21上的扇区;否则安全设备35永远不会前进到超越其阻塞状态。这样的安排通过不允许不同于在被保护的存储介质21上所提供的操作系统的任何外部操作系统出于传送所存储在被保护的存储介质21上的数据的目的实行对主机CPU 13的控制而确保了系统安全的完整性。
因此,在计算机系统的正常操作中,其中BIOS出于定位和加载启动扇区的目的而以被保护的存储介质21为目标,BIOS使主机CPU 13向被保护的存储介质21请求启动扇区。
认证应用程序与主机CPU 13结合以提供简档部件,该部件基本上包含指定的登录应用程序,该指定的登录应用程序只允许经过认证的用户继续对计算机系统11的操作。不能被预定登录应用程序认证的用户无法继续使用计算机系统。以后将更详细地描述该登录应用程序的详细操作,但是出于描述系统启动序列的目的,将概括地描述这一操作。
另外,登录应用要求用户输入有效的登录名称与口令,以使计算机系统超越初始的登录阶段。本实施例的登录应用被设计成只允许尝试三次输入正确的登录名称与口令。应该理解在其他实施例中,可以允许的登录尝试的数目可以不同,并且在极端的安全应用中,可以限定为只有一次尝试。如果第三次尝试没有输入正确的登录名称与口令,则该应用程序启动系统暂停(halt)(其中该系统挂起或者无限循环),其要求重复整个冷启动过程。
对于允许访问存储介质21的所有用户的有效登录名称以及与其相关联的口令存储在安全设备35的闪烁ROM 41中。据此,在该登录阶段期间,在认证应用程序控制下的主机CPU 13与安全设备37之间进行各种通信,如步骤112所示。
如果登录成功,如步骤113所示,则认证应用程序以以后更详细描述的方式行进。相对于安全设备35,一旦用户经过认证,则在步骤114设置先前为该特定用户所存储在闪烁ROM 41中的数据访问权限简档,以在此后确定认证应用程序与安全设备操作系统之间的操作协议。在该操作阶段期间,安全设备CPU 37将特定用户数据访问权限简档的细节传递给主机CPU 13,以供显示。依赖于用户访问权限级别,可以向主机CPU传递对存储介质21具有访问权限的其他用户的可能的登录与口令信息、以及数据访问权限简档信息,以供显示以及验证应用程序下的可能的编辑。
该操作阶段继续,直至用户在步骤115调用“允许启动”过程。设置这一状态会使得安全设备35在步骤117进入其操作的第二阶段。在该阶段,在步骤119,由安全设备CPU 37运行的操作系统配置安全设备35以设置经认证用户的数据访问权限简档,此后该简档被实施来确定主机CPU 13对被保护的存储介质21的访问权限。
然后,在步骤120,安全设备37的操作系统向由主机CPU 13运行的认证应用程序以信号通知安全设备总线控制与接口逻辑43被配置来采纳该用户的数据访问权限简档,于是在步骤121,应用程序向主机CPU 13发出软件中断向量以调用“热启动”。然后,在步骤85,加载适当的软启动向量,并且主机CPU 13引起软系统重启动或者热启动。
在软件重置期间,安全设备35进入对于启动扇区请求的等待状态,如步骤123所示,同时对于主机CPU 13与被保护的存储介质21之间的所有数据通信实施数据访问权限简档,如步骤125所示。重要的是,当计算机系统11进行系统重置时,其安全设备35在此期间仍然保持活动并且充分地操作中。
软件重置的“热启动”调用BIOS程序的特殊子程序,其执行缩减的启动序列。另外,步骤51至63基本被越过,并且BIOS程序进行大约步骤65处的操作。
在调用涉及针对HDD的“驱动器ID”的装备检查的步骤69,安全设备35的操作系统不再截获从主机CPU 13至被保护的存储介质21的请求,条件是对存储介质HDD的访问符合在其第一操作阶段期间已经由安全设备35的操作设置的特定用户数据访问权限简档。在大部分情况下允许这样的访问,除非管理员已经特别地禁止经验证的用户访问HDD。
由此,安全设备35允许存储介质21的HDD直接以“驱动器ID”对该请求进行响应,其中根据BIOS的正常启动序列,主机CPU 13推进BIOS程序从步骤71至81。
重要的是,数据访问权限简档实施过程的初始部分涉及安全设备35的操作系统阻塞对被保护的存储介质21的访问,直至通过ATA电缆33从主机CPU 13检测到有效的BIOS启动扇区请求。重要的是,在步骤125期间,安全设备CPU 37拒绝对被保护存储介质的所有其他命令。
当BIOS向被保护存储介质21的特定HDD请求启动扇区时,安全设备的总线控制与接口逻辑43允许该请求前进。
当BIOS从存储介质收到有效标志时,根据计算机系统的正常操作,主机CPU 13在步骤81进行从存储介质21加载预定启动扇区,并且前进到步骤83从而运行启动加载程序,以从存储介质21加载操作系统。
在收到对于存储介质21上启动扇区的有效BIOS请求之后,安全设备35采取对沿ATA电缆33的所有介质通道活动的监控状态,并且根据经认证用户的所设置的数据访问权限简档来配置安全设备的总线控制与接口逻辑43,如步骤127所示。相应地,安全设备35根据所设置的用户数据访问权限简档,只允许或者不允许对存储介质21内相关分区以及文件的访问,由此,不允许用户访问的数据不能由该用户或者任意病毒、错误的应用程序、或者未授权访问所访问。
安全设备35维持该监控或者监管状态,直至计算机系统11关闭断电。一旦安全设备断电,就擦除所有动态存储器,并且禁止对存储介质的访问,直至再次对该设备加电并初始化。
现在已经描述了安全设备35的一般操作,以下将参照图6所示的流程图、以及图7A至7E所示的GUI屏幕图形规格格式更详细地描述认证应用程序。
当由启动加载程序在步骤109加载并且由主机CPU在步骤111运行时,用户认证应用程序在130开始,并且在开始时在步骤131使用户登录屏幕得到显示,该屏幕的图形规格在图7A显示。屏幕132分割为领头(heading)框133、登录框135、以及消息/日志框137。
领头框133在139处提供产品商标、在141处提供版本号、在143处提供屏幕名称、在145处提供对于法律方面的警告通知的显示。
登录框135包括在147处文本“用户”以及149处文本“口令”的标语(banner),具有分别用来在151处输入用户标识或者“用户ID”以及在153处输入口令的框。消息/日志框包括在157处显示文本“消息”的标语、以及消息框159,该消息框159作为可滚动列表显示由安全设备向认证应用程序发出的状态消息。还提供了登录按钮155,从而使用户出于认证目的调用安全设备对用户条目和口令条目的处理。
当显示屏幕132时,应用程序等待输入登录ID与口令,如步骤160所示。激活登录按钮155涉及验证应用程序在步骤161调用处理,使主机CPU 13将在该屏幕上输入的登录细节传递给安全设备35,于是安全设备的操作系统使安全设备CPU 37将所接收的登录信息与在闪烁ROM 41中提供的所存储的登录信息相比较。依赖于在通过登录屏幕所输入的用户与口令信息与所存储的用户与口令信息之间是否存在有效匹配,安全设备CPU 37向主机CPU 13返回有效或者无效认证信息。
在如162所示存在有效认证的情况下,根据特定用户的所存储的数据访问权限简档,CPU 37还提供关于用户类型以及相关设备信息的额外信息。
在存在无效认证的情况下,增加/减少计数器以记录进行了验证的第一次不成功尝试,并且在消息/日志框137上向用户显示适当消息,从而指示认证尝试的失败状态,如163所示。如先前所述那样,在如164所示三次不成功认证尝试后,在步骤165,验证应用程序使主机CPU 13调用关机中断向量,从而导致计算机系统11的完全关机,其要求冷启动以重启该系统。
在有效认证时,认证应用程序行进到166,根据用户类型显示两类登录屏幕中的一个。在本实施例中,有两种用户类型一种是普通用户,对其在步骤167显示图7B图形规格所示的屏幕;另一个为管理员,对其在步骤168显示图7C图形规格所示的屏幕,用于普通用户的GUI屏幕169的图形规格一般被分为领头框170、登录细节框171、设备细节框172、以及消息/日志框173。该屏幕还包含以后要进一步描述的发起(launch)系统按钮174。
领头框170基本与一般登录屏幕的领头框133相同,其中使用相同的标号标识对应的框属性。然而,在这种情况下,修改屏幕标题以表示其为用户类型登录屏幕,如该图143处所示。
登录细节框171类似于先前屏幕的登录框147,并且相应地,使用相同的标号标识对应的框属性。然而,登录细节框171包含用户ID显示框175,用来显示用户ID而不是先前屏幕中的条目框。登录细节框还包含新的口令接受按钮176,其与口令条目框153联合使用,以允许用户改变其口令。相应地,激活该新口令按钮176调用认证应用程序内的过程,该过程涉及主机CPU13与安全设备37之间的通信以用来引起对在安全设备闪烁ROM 41内为该特定用户所存储的口令的改变,如177所示。在完成口令改变之前,采用涉及新口令确认的标准例程。
设备细节框172包含标题标语178,其显示文本“设备信息”、以及在179处显示文本“主”以及在181显示“从”的另两个子标语。这些子标语引导用来显示关于安全设备35所保护的指定一个或多个设备的信息的区域。在本实施例中,允许多达两个的存储设备,这在ATA标准下是正常的,一个表示“主”设备,另一个表示“从”设备。详细描述设备信息的各个区域包括另三个子级别标语,用来在183处显示文本“设备”、在185处显示“访问权限”、在187处显示“大小MB”。在设备、访问权限、以及大小标语下分别提供了用于每个子标语的显示框189,用来列出管理员所设置的、允许用户察看的有关主和/或从设备的设备细节。
对于每个可察看设备,该列表显示·设备号;·对于用户的访问权限类型;以及
·按MB(兆字节)的设备大小。
访问权限类型列表列出五种可能指定中的一个·只读,以红色文本显示;·读/写,以绿色文本显示;·不可见,以黄色文本显示;·读目录条目,以灰色文本显示;以及·删除,以蓝色文本显示。
与先前屏幕类似,消息/日志框173包括用来显示文本“消息”的标题标语157以及显示框159,该显示框159作为可滚动列表显示由安全设备提供的状态信息。
在用户的情况下,提供设备信息只为显示目的提供而不能改变。
现在更详细地解释在显示框189中所包含的列表以及由此所提供的动作之后的方法学(methodology),在本实施例中,受保护的存储设备被分为分区,根据计算机系统11的管理员的确定,这些分区具有不同的访问权限级别许可。这些分区可以以已知的方式创建,并且对于每种类型的存储设备表示为分离的设备。如先前所述,在本实施例中,这些分区可以包含C、D、E、F。由此,每个用户对这些分区都可以具有的五种类型访问权限中的一种,即只读、读/写、不可见、读取目录项、以及删除。
只读访问权限指用户可以访问指定分区中存在的所有文件,但是只能读文件内容。用户对该分区中的文件没有写或删除许可权限。
读/写访问权限指用户可以访问指定分区中存在的所有文件,并且对该分区中的文件既可执行读也可执行写功能,但是对这些文件没有删除许可权限。
不可见访问权限指用户不能以任何形式访问指定分区内的文件,并且这些文件是隐藏的,甚至到在对于该分区的、该用户可用的任何文件目录列表中,文件细节根本不被列出或者可见的程度。
读取目录条目访问权限指用户可以能够在指定分区中文件的任何文件目录列表中列出文件细节,例如名称与属性,但是关于该分区中的任何文件,用户都没有读、写、或者删除许可权限。
删除访问权限为对指定分区内任意文件的最高级别的访问权限,由此对于该分区中的任何文件,用户不仅具有完全的读与写许可权限,还具有删除许可权限。
当用户准备继续对计算机系统11的操作时,如190所示激活发起系统按钮174,于是如通过步骤191那样,认证应用程序向安全设备35发送信号,以设置其中的“允许启动”状态。设置“允许启动”状态开始安全设备35的操作的第二阶段,如步骤117所示,从而允许系统启动序列继续,其中如步骤120那样认证应用程序以先前所述的方式发出“热启动”中断向量。这会暂停用户认证应用程序的操作。
在用户类型为管理员的情况下,在步骤168,借助验证应用程序,在监视器上向用户显示由图7C所示图形规格所表示的管理员屏幕。管理员类型屏幕193基本与用户类型屏幕类似,因此使用相同的标号来表示两个屏幕之间相应的属性。据此,管理员类型屏幕分为类似的领头框193、登录细节框195、设备细节框197、以及消息/日志框199。
对于领头框193的标语标题143,改变了文本以指示该屏幕是针对管理员类型登录的。
设备细节框197以及消息/日志框199基本与用户类型屏幕的相应属性相同,将不再进一步描述。发起系统按钮174以与先前屏幕的发起系统按钮相同的方式发挥作用,由此,如200所示,激活该按钮会开始安全设备135的操作的第二阶段,如上所述。
与用户类型登录的情况一样,通过登录细节框195,提供了改变管理员口令的相同便利,如步骤201所示,利用了类似的条目框153与接受新口令按钮176。然而,登录细节框还包含编辑用户按钮202,激活该按钮会调用验证应用程序内的编辑过程,如203所示,从而允许管理员创建并编辑对于单个用户的数据访问权限简档,以便确定其对于存储介质21的所许可访问的数据访问权限简档。激活按钮201使验证应用程序在204向用户显示管理员编辑屏幕,该屏幕的图形规格在图7D中显示。
管理员用户编辑屏幕205分为领头框206、编辑用户细节框207、消息/日志框209、以及返回管理员登录按钮211。除措词适当的、表示该屏幕为管理员编辑用户屏幕的标题标语143之外,领头框206与先前的领头框相同。类似地,消息/日志框209基本与先前屏幕的消息/日志框相同。由此,使用相同标号来表示这些屏幕中每一个的相应属性。
对于编辑用户细节框207,其包含213处所示的显示文本“用户列表”的标题标语;215处的显示文本“用户”的子标题标语;217处的“口令”;以及219处的“访问权限”。在子主题标语之下提供可编辑框221,其中显示可访问被保护存储介质21的所有用户的可滚动且可编辑的列表。该列表从所存储在存储设备闪烁ROM 41内的、通过在验证应用程序控制下的主机CPU 13与在其操作系统控制下的安全设备CPU 37之间的通信得到的数据导出。
列表中的每个用户条目包含在相应子标题标语215、217、219下的·用户ID;·口令;以及·访问权限按钮。
当按压特定用户的访问权限按钮时,将出现对于该用户的访问权限编辑屏幕。管理员编辑过程允许管理员借助编辑框221、通过选择用户条目并且在键盘上按压ATL-d键序列而删除该用户。
在编辑用户细节框207内还包含创建新用户按钮223,用来创建新用户。激活按钮223会调用认证应用程序内的执行过程,如224所示。该过程使得在管理员编辑用户屏幕205上显示对话框,其用来提供输入用户ID与口令的框、以及接受按钮,由此激活该按钮使用户与口令在编辑框221中显示,如225所示。每个新用户都具有初始缺省数据访问权限简档,其将所有分区设备设置为掩藏,直至如管理员利用访问权限编辑屏幕编辑用户的数据访问权限简档等时刻。管理员如226所示通过为需要在编辑框221中编辑的用户激活相应的访问权限按钮而访问该屏幕。
返回管理员登录按钮211被提供来允许管理员从管理员编辑用户屏幕205返回管理员类型登录屏幕191,如227所示。
在编辑用户细节框207的用户列表中列出的任一用户旁,激活子标题标语219下的访问权限按钮使得认证应用程序在步骤228显示管理员访问权限编辑屏幕,其图形规格在图7E中显示。管理员访问权限编辑屏幕229分为领头框230、编辑访问权限细节框231、消息/日志框232、返回管理员用户文本编辑屏幕按钮223。
除标题标语具有适当文本以指示该屏幕属于管理员访问权限编辑类型(如235所示)之外,领头框230与先前屏幕中的相同。消息/日志框232与先前屏幕中的相同,相应地使用相同标号来表示这些屏幕中相应的属性。
编辑访问权限细节框231包含显示文本“访问权限细节”的头部标语236,包含文本“用户”的子标语237,以及与其相邻的、用来显示从管理员编辑用户屏幕205中选择的特定用户的用户ID的显示框239。
然后,编辑访问权限细节框229提供与用户类型登录屏幕169以及管理员类型登录屏幕192的设备框类似的所设置的框,由此为每个设备分别提供对于安全设备35所保护的“主”与“从”存储介质的179与181处所提供的标语,以及详细描述“设备”、“访问权限”、以及“大小(MB)”的相应的子标题标语183、185与187。
在这些子标题标语中的每一个的下面,提供设备细节框239,类似于用户登录与管理员登录屏幕的相应的设备细节框172与197的显示框189。然而,设备细节框239是可编辑的,但是前两个不能编辑。相应地,每个设备细节框都列出了子标题标语183下的设备号、子标题标语185下的用户的访问权限类型、以及大小(MB)子标题标语187下的按照MB的设备大小。
用户的访问权限类型分为五种·只读,以红色文本显示;·读/写,以绿色文本显示;·不可见,以黄色文本显示;·读目录条目,以灰色文本显示;以及·删除,以蓝色文本显示。
与先前情况相同,设备号表示为特定存储介质设备创建的每个分区。设备号与大小信息一起都只是显示,其由为特定分区指定的、存储在安全设备闪烁ROM41内的信息决定,然而访问类型是可以通过高亮并点击所显示的条目来编辑的。在这一方面,通过点击围绕所显示文本的不可见框,借助图形用户界面,所显示的条目在只读、读/写、不可见、读取目录条目、以及删除之间循环。
通过这种方法,可以分别设置并编辑对于每个分区的访问权限类型,以为选定用户创建特定的数据访问权限简档。如241处所示,当激活返回管理员用户编辑屏幕按钮233时,为该用户创建的特定的数据访问权限简档由认证应用程序处理,并且被提供给安全设备35。此时,由管理员确定的显示数据访问权限简档由主机CPU 13传送给安全设备CPU 35,并且存储在安全设备闪烁ROM 41内。在此阶段,管理员配置用户简档以只允许对于其上存储计算机系统11操作系统的安全分区的读访问,由此防止该操作系统受到未授权修改或者毁坏。
同时,认证应用程序返回,显示管理员编辑用户屏幕205,从这一屏幕管理员能够选择并编辑编辑列表207中其他用户的数据访问权限简档。
通过上述方式,配置HDD 21,从而计算机11的操作系统存储在管理员所定义的安全分区中。该安全分区由管理员配置,从而至少普通用户对于其中的任何操作系统文件没有写或删除许可权限。这就保护了计算机11的操作系统不受未授权修改或者毁坏。通过将HDD 21中的安全分区配置为对于普通用户不可见,可以提供对于计算机操作系统的最优保护。
进一步配置HDD 21中的安全分区,从而计算机系统11的管理员能够选择性地写或删除该分区中的任何操作系统文件。这有利于对于操作系统的灵活的管理修改和/或更新。
在正常操作期间,有时操作系统会希望更新只读安全分区内包含的系统文件。如果简单地不允许对该分区进行写入,则操作系统将不能正确操作。由此,安全设备的应用程序被设计成将由总线控制与接口逻辑43所截获的所有写入转至(divert)闪烁ROM 41的一部分,而不是只读安全分区。通过这种方式,计算机会认为其已经更新了所需文件并且继续正常操作。由此闪烁ROM41的一部分用做便笺式(scratchpad)存储器,并且每次都被覆盖。
出现这种情况的例子有·在正常操作期间,用户对桌面进行改变,例如显示属性、桌面主题、背景颜色等等。
·操作系统(OS)实现该改变。
·OS然后将该改变保存到HDD,以在启动时将该新变化作为缺省。
·如果不允许到HDD的写入,则OS停止正常操作。
·因此,SDV将所有写入转至闪烁ROM的便笺式存储区域,而非OS的只读安全分区。
·通过这种方式,OS实现了改变,并且认为其已经更新了系统文件,并且继续正常操作。
·用户进行的改变有效,直至关闭计算机。
·当加电时,加载原来的OS配置。
总地说来-用户改变(例如)桌面背景颜色。
-桌面背景颜色改变。
-OS试图通过向HDD写入而更新系统。
-系统文件在只读OS安全分区中。
-安全设备将系统文件写入转至闪烁ROM的便笺式存储区域。
-在颜色改变有效的情况下,系统继续。
-用户关闭计算机。
-当打开计算机时,从只读OS安全分区加载OS。
-加载原来的OS系统文件。
-在用户改变其之前,背景颜色为原来的颜色。
最佳实施方式的第二实施例基本与先前实施例相同,只是其针对其中安全设备集成到总线桥电路中的安全系统类型,该总线桥电路作为连接到可读/写存储设备21的ATA电缆所提供的数据访问通道33与主CPU总线15的接口。这种类型的安全系统在国际专利申请PCT/AU2004/000210中公开,其也并入本文作为参考。
为了描述第二实施例,将具体参照图8与9。
如图8所示,本实施例的安全系统集成其中的计算机系统11包含可替换的、但是与图1所示基本等同的体系结构。另外,图8所示的计算机系统体系结构包含多条总线,其通过适当的桥电路作为与主CPU总线15的接口。这些总线包括PCI总线306与多个外围总线。外围总线包括ISA总线302与IDE总线(或者ATA电缆)33。
CPU总线15将主机CPU 13连接到CPU/PCI桥电路或北桥(northbridge)304。北桥304是提供CPU总线15与PCI总线306之间桥连接的ASIC。北桥304还集成了诸如控制主机CPU 13、系统存储器308、以及AGP(加速图形端口)310之间通信等的系统功能。
与北桥304类似,提供南桥312桥电路作为提供PCI总线306、ISA总线302与IDE总线33之间桥连接的ASIC。南桥312还集成了各种系统功能,诸如计数器与活动定时器、电源管理、以及各种接口或控制器,用来处理PCI总线306、ISA总线302与IDE总线33上的设备之间的通信。HDD存储设备21连接到IDE总线33。类似地,可以通过外围总线将其他存储介质连接到南桥312。
图9为更详细地显示当前的、在南桥312内集成安全系统332、以及其通过IDE总线33与HDD 21的连接的概括方框图。南桥312包括对于其常规总线桥连接与系统功能的逻辑,包括PCI接口314、IDE接口31、USB(通用串行总线)接口316、ISA接口318、电源管理逻辑320、键盘/鼠标控制器322、以及定时器逻辑324。南桥312还可以包括对于其他各种系统功能的逻辑。
南桥312还包括安全逻辑326与RAM 328。安全逻辑326在功能上等同于图1所示的、WO 03/003242的安全设备35的CPU 37以及总线控制与接口逻辑43。如下更详细所述,安全逻辑326可以选择性地锁定主机CPU 13与被保护的HDD 21之间的访问。
与WO 03/003242的安全设备35类似,安全逻辑326根据在启动时载入RAM 328中、并且成为安全逻辑326的操作系统的指定应用程序操作。该指定应用程序存储在被保护HDD 21自身中的、对于用户不可见、并且可以由指定的管理员访问的分区330中。以下将更详细地描述该安全的不可见HDD分区330。可替换地,该应用程序可以存储在南桥312自身中,或者存储在连接到南桥312的、分离的安全存储器(未显示)中。存储在不可见HDD分区330中的应用程序的功能以及安全系统332的操作基本与相对于先前实施例描述的相同。
存储在不可见HDD分区中的、对于南桥312中安全逻辑的应用程序一般被设计成在允许至被保护存储介质的访问之前截获并控制计算机系统的启动过程并且借助登录ID与口令提供验证。相应地,南桥312中的安全逻辑326在主机CPU 13与存储介质21之间的位置是特意设计的,从而安全逻辑326能够选择性地过滤对于流入与流出被保护存储介质21的信息与数据的所有请求。根据由具有管理员简档的用户设置的预定用户简档,安全逻辑326将这些请求适当地转发给存储介质21,这些简档存储在不可见HDD分区330内。这些简档基于对被保护存储介质21内不同分区和/或文件的访问权限。因此,指定的管理员能够以与相对于先前实施例描述的类似的方式以逐个分区和/或逐个文件为基础建立数据保护。与应用程序类似,可替换地,用户简档可以存储在南桥312自身中,或者存储在连接到南桥312的、分离的安全存储器中。
本实施例的安全系统虽然设计不同,但是以与先前实施例的操作基本等同的方式发挥作用,因此不再描述具体细节。因此,在本实施例安全系统332的情况下,与先前实施例的情况一样,南桥312中的安全逻辑326被编程为通过在BIOS操作期间、在早期截获启动过程,而阻塞主机CPU 13对被保护的存储介质21的所有访问。另外,与第一实施例的方式一样,在允许计算机系统进行其正常的驱动扇区操作与操作系统加载之前,南桥312中的安全逻辑326允许在主机CPU 13的RAM 308中加载定制启动扇区,然后其执行要求正确用户认证的认证应用程序。因为正常的驱动扇区操作与操作系统加载需要访问被保护的存储介质21,所以该方法确保只有在已经以逐个用户为基础设立了南桥312中的安全逻辑326的监管控制之后,才进行此类访问。
与本发明第一实施例一样,计算机11的操作系统存储于在HDD 21中所形成的安全分区中。该安全分区被类似地配置,从而至少普通用户对于其中的任何操作系统文件没有写或删除许可权限。
类似地,进一步配置HDD 21中的安全分区,从而计算机系统11的管理员能够选择性地写或删除该分区中的任何操作系统文件。
然而,与第一实施例不同,在南桥中没有提供闪烁ROM。相反,安全逻辑326使用不可见HDD分区330,以将操作系统针对OS安全分区上的系统文件的所有写入转至该不可见分区的便签式存储部分。以与先前实施例中闪烁ROM功能类似的方式,这一部分可见分区每次都被覆盖。
本发明第三实施例基本与第二实施例类似,只是安全系统实现于在HDD上所提供的总线桥集成电路(IC)中。该实施例来自于将HDD连接到计算机系统的串行ATA(SATA)标准发展,并且也在国际专利申请PCT/AU2004/00210中公开,类似地,其并入本文作为参考以描述第三实施例。
作为SATA接口设计的结果,人们已经以高度集成片上系统(System-On-Chip,SOC)设备的形式开发了总线桥IC,InfineonTechnologies最近已经公开了该IC的一个例子。该SOC设备集成了1.6Gbit/s读通道核心、3Gbit/s本地SATA接口、16比特微控制器、硬盘控制器、嵌入式存储器、以及质量监控系统。这样的设备被设计以并入HDD的控制电路中,实际上要桥接使用SATA通道与存储设备通信的计算机总线与该存储设备的HDD之间的通信。
在本实施例中,安全系统被并入配置类似于上述SOC设备的总线桥电路中,并且该安全系统具有操作该系统的、存储在该总线桥电路所连接的HDD上的应用软件。
如图10所示,总线桥电路351包含CPU 353、存储器RAM 355、SATA接口357、硬盘控制器接口359以及安全逻辑361。
与先前实施例一样,总线桥电路351的安全逻辑361被配置来将存储在HDD上的应用软件载入RAM 355,以在结合盘控制器正常操作的情况下,选择性地锁定主计算机与HDD之间的访问。
该应用软件的功能基本与相对先前实施例描述的相同,只是该安全系统接口于、并且集成到SOC设备的硬件与固件设计中,以利用设备自身的盘控制器功能上实施对盘访问的控制。
因此,计算机11的操作系统存储在HDD 21中所形成的安全分区中。以与先前实施例类似的方式配置安全分区,从而普通用户对于其中的任何操作系统文件没有写或删除许可权限。
另外,与先前实施例的情况一样,进一步配置安全分区,从而计算机系统的管理员能够选择性地写或删除该分区中的任何操作系统文件。
应该理解本发明的范围不限于此处描述的具体实施例,并且在不脱离本发明范围与精神的前提下,可以设想本发明的其他实施例。
权利要求
1.一种用于计算机的操作系统的安全系统,该计算机具有主机中央处理单元(CPU)、由该主机CPU用来加载程序以操作该计算机的存储器、以及用来存储该计算机要处理的数据的可读/写存储设备,该安全系统包含在存储设备中所形成的安全分区,其中操作系统存储在安全分区中;建立简档部件,用来相对于存储设备为计算机的用户定义至少两个不同的数据访问权限简档,其中一个访问权限简档对存储在所述安全分区上的数据授予读/写访问权限,另一个访问权限简档对所述安全分区授予不允许写访问的、阻塞级别的访问权限;以及阻塞部件,用来根据为在任意特定时间点上对存储设备进行数据访问的用户定义的特定数据访问权限简档,选择性地阻塞主机CPU与安全分区之间的数据访问;其中所述阻塞部件独立于所述主机CPU、并且可与所述主机CPU分离地配置,以在不管主机CPU随后操作的情况下,根据进行所述数据访问的用户的特定数据访问权限简档,为进行所述数据访问的用户施加并且连续地维持对所述安全分区的数据访问权限的必要级别。
2.如权利要求1所述的安全系统,包含认证部件,用来认证具有预定数据访问权限简档的计算机用户,以及配置所述阻塞部件,以在该用户能够在不管该用户的特定访问权限简档为何的情况下访问所述安全分区之前,根据该用户的数据访问权限简档,控制至安全分区的随后的访问。
3.如权利要求2所述的安全系统,其中所述阻塞部件包含独立于主机CPU的处理部件,用来响应于所述认证部件控制所述阻塞部件的操作。
4.如权利要求3所述的安全系统,其中所述阻塞部件被配置来在安全系统初始化之前以及在安全系统初始化期间,阻塞主机CPU对存储设备的所有数据访问,并且所述阻塞部件包含截获部件,用来在紧接所述初始化之后,截获所有所述数据访问,并且在所述处理部件的控制下,根据由所述验证部件验证的、进行所述数据访问的用户的数据访问权限简档,对存储设备进行数据访问。
5.如权利要求4所述的安全系统,其中当紧接所述初始化之后、载入计算机的操作系统之前、所述截获部件截获所述数据访问时,所述处理部件以如下方式进行独立控制主机CPU以及配置计算机配置,该方式防止对存储设备的未授权访问。
6.如权利要求5所述的安全系统,其中所述认证部件在正确认证用户之后使得能够进行计算机的软件启动,并且在所述软件启动之后的计算机启动序列期间所述处理部件允许正常加载操作系统。
7.如上述权利要求中任一项所述的安全系统,包括存储器存储部件,其独立于计算机的存储器部件与存储设备,用来存储与计算机基本操作及对存储设备的访问相关联的关键数据以及控制元素。
8.如权利要求7所述的安全系统,其中所述关键数据以及控制元素提供给主机CPU并由主机CPU使用,以验证存储设备,并且在计算机启动序列期间、独立于存储设备地操作计算机。
9.如上述权利要求2的从属权利要求中任一项所述的安全系统,其中认证部件包含登录验证部件,用来使计算机用户能够输入登录标识与口令,并且验证该登录标识与口令,以在允许计算机启动序列进一步前进之前,认证所述用户为具有对于存储设备的指定访问权限简档的、计算机的授权用户。
10.如权利要求9所述的、从属于权利要求7或8的安全系统,其中所述授权用户的登录标识与口令、及其指定数据访问权限简档形成部分所述关键数据以及控制元素,并且所述登录验证部件访问所述关键数据以及控制元素,以进行用户认证。
11.如上述权利要求中任一项所述的安全系统,其中用户的指定数据访问权限简档包含对于允许计算机授权用户对存储设备指定分区的预定访问权限级别的指定分配,所述指定分区之一包含所述安全分区。
12.如上述权利要求中任一项所述的安全系统,其中所述阻塞部件在物理上内嵌插入在主机CPU与存储设备之间的数据访问通道。
13.如权利要求12所述的安全系统,其中所述阻塞部件被置为桥接电路的一部分,该桥接电路在主机CPU的主数据及控制总线与连接到存储设备的数据访问通道之间进行通信。
14.如权利要求12所述的安全系统,其中所述阻塞部件被置为桥接电路的一部分,该桥接电路在数据访问通道与存储设备之间进行通信。
15.如权利要求12所述的安全系统,其中所述阻塞部件被置于数据访问通道中间,该数据访问通道在主机CPU的主数据及控制总线与存储设备之间。
16.一种用于保证计算机操作系统安全并保护计算机操作系统不受未授权访问的方法,该计算机具有主机中央处理单元(CPU)、用来存储该计算机要处理的数据的可读/写存储设备、以及由该主机CPU用来加载程序以操作该计算机与存储设备的存储器,该方法包含在存储设备中形成安全分区,并且在安全分区中存储操作系统;关于存储设备为计算机的用户定义至少两个不同的数据访问权限简档,其中一个访问权限简档对所存储在所述安全分区上的数据授予读/写访问权限,另一个访问权限简档对所述安全分区授予不允许写访问的、阻塞级别的访问权限;根据为在任意特定时间点上对存储设备进行数据访问的用户定义的特定数据访问权限简档,选择性地阻塞主机CPU与安全分区之间的所有数据访问;以及在不管主机CPU随后操作的情况下,根据进行所述数据访问的用户的特定数据访问权限简档,施加并且连续地维持对所述安全分区的、对于进行所述数据访问的用户的、所要求级别的数据访问权限。
17.如权利要求16所述的方法,包含认证具有指定数据访问权限简档的计算机用户,以及配置对至存储设备的数据访问的阻塞,以在该用户能够在不管该用户的特定访问权限简档为何的情况下访问所述安全分区之前,根据该用户的数据访问权限简档,控制至安全分区的随后的访问。
18.如权利要求16或17所述的方法,其中所述选择性阻塞包含独立于主机CPU地控制主机CPU与安全分区之间的访问。
19.如权利要求18所述的方法,其中所述选择性阻塞包含在计算机初始化期间,完全阻塞主机CPU对存储设备的所有数据访问;并且包含在紧接所述初始化之后的、并且在加载计算机操作系统之前的启动序列期间,截获所有所述数据访问,并且在认证了进行所述数据访问的用户之后,根据该用户的数据访问权限简档,对存储设备与所述安全分区进行数据访问。
20.如权利要求19所述的方法,包含在正确认证用户之后,进行计算机的软件启动,并且在此后的计算机启动序列期间允许正常加载操作系统。
21.如权利要求17至20中任一项所述的方法,包含在正确认证用户之后,根据用户的指定数据访问权限简档,控制对至存储设备访问的阻塞。
22.如权利要求16至21中任一项所述的方法,包含在与存储器分离的、并且不能由主机CPU寻址的位置上,不可修改地存储用来进行所述控制访问的计算机程序。
23.如上述权利要求17的从属权利要求中任一项所述的方法,其中所述认证包含使计算机用户能够输入登录标识与口令,并且验证该登录标识与口令,以在允许计算机启动序列进一步前进之前,确立用户是否为具有对于存储设备的指定访问权限简档的、计算机的授权用户。
24.如权利要求23所述的方法,其中所述授权用户的登录标识与口令、及其指定数据访问权限简档形成部分所述关键数据以及控制元素,并且该验证包含将所输入的登录标识及口令与所述关键数据以及控制元素内的登录标识及口令相比较,并且如果存在匹配,则认证用户。
25.如权利要求16至24中任一项所述的方法,其中该指定访问权限简档包含对于允许授权用户对存储设备指定分区的预定访问权限级别的指定分配。
26.如权利要求25所述的方法,其中该指定分区包含安全分区。
27.一种用于计算机操作系统的安全系统,该安全系统基本在此处参照附图适当地进行了描述。
28.一种用于保证计算机操作系统安全并保护计算机操作系统不受未授权访问的方法,该方法基本在此处参照附图适当地进行了描述。
全文摘要
一种用于计算机操作系统的安全系统包含处理器(37),其独立于主机CPU(13),用来控制主机CPU(13)与在存储设备(21)中所形成的用来存储操作系统的安全分区之间的访问。独立于计算机存储器与存储设备(21)的程序存储器(41)不可修改地存储并提供用来以如下方式操作处理器(37)的计算机程序,该方式控制对存储设备(21)中安全分区的访问。在安全系统初始化之前,阻塞主机CPU(13)对数据存储设备(21)的所有数据访问,并且紧接初始化之后,在处理器(37)的控制下截获这些访问。处理器(37)进行独立控制主机CPU(13)与配置计算机(11),以在截获阶段期间防止对存储设备(21)上安全分区的未授权访问。用对于存储设备(21)上安全分区的操作系统文件的指定访问权限简档认证计算机(11)的所有用户,并且保持阻塞对于存储设备的数据访问,直至正确认证了计算机(11)的用户。
文档编号G06F21/78GK1795439SQ200480014453
公开日2006年6月28日 申请日期2004年3月29日 优先权日2003年3月28日
发明者理查德·卡布津斯基, 迈克尔·A·赫恩, 拉塞尔·E·鲍尔斯 申请人:安全系统有限公司