专利名称::限制操作系统及其它软件的安装的反骇客保护的制作方法
技术领域:
:本发明是关于信息处理系统的领域。更确切地说,本发明是关于一种系统及方法,用以确保在国际互联网上相互通讯的计算机系统有安全的计算环境。
背景技术:
:为了提供信息管理能力于今日社会的许多部门,计算机系统的使用已普及化。通常以微电脑来定义的个人计算机系统系包含..有系统处理器和相关的易失性及非易失性存储器的系统单元、显示监视器、键盘、硬盘存储器件、视需要的可卸除存储器件、以及视需要的匹配机。此等个人计算机系统为主要是设计成可提供独立的计算能力给单一使用者(或在个人计算机作为计算机服务器系统的情形下之一群使用者)的信息处理系统且以低廉的价^售予个人或小型企业。近年来,为了在国际互联网上交换信息,个人计算机的使用已显著成长。这种信息的交换系基于客户端/服务器端(dient/server)模式,以使用者的个人计算机操作为客户端访问存储于多个国际互联网服务器的数据。有些国际互联网服务供货商提供计算机给使用者作为契约关系的一部份来提供国际互联网服务。由于为契约关系的一部份,国际互联网服务供货商有时需要提供软件更新以及可提供附加服务的软件有关的计算机套装软件。此外,使用者也有可能企图从国际互联网下载计算机程序或从不安全的来源安装程序于本机。因此,需要保全处理程序(safeguardprocess)以防止使用者安装可能对计算机的操作会有不利影响及/或妨碍国际互联网服务供货商所提供的合法软件的非法软件。此外,显然需要保存操作系统以及存储于计算机上的应用系统(例如,由国际互联网服务供货商提供在国际互联网上用来作为个人国际互联网通讯器(PIC))的完整性。在审阅本申请案并结合以下附图及详细说明的其余部份后,本领域的技术人员会进一步明白现有系统的限制及缺点。
发明内容本发明的方法及器件提供可靠及安全的计算环境于个人国际互联网通讯器。在一实施例中,本发明可用来限制安装操作系统及/或软件码于个人国际互联网通讯器上,此系藉由存储密钥于个人国际互联网通讯器的非易失性存储器内,例如主引导记录,且要求任何可引导器件(bootabledevice)必须有匹配的签章或密钥才能合法写入操作系统文件或应用程序文件。本领域的技术人员当配合所附权利要求书及附图而阅读下列的详细说明吋,本发明的目标、优点及其它的新颖特征将变得很清楚。图图标在一个或更多个国际互联网上相互通讯的多个计算机系统的方块图。图2根据本发明各种实施例,图标计算机系统(例如,个人国际互联网通讯器)的系统方块图。'图3图标用于个人国际互联网通讯器的处理器系统的方块图。图4系图标用于多用途媒体访问器件的输入输出(I/0)系统的方块图。图5图标用来限制软件安装的软件更新模块的范例。图6图标保护系统的操作用以预防操作系统码及/或软件非法安装于计算机系统上的流程图。具体实施方式虽然以下描述了本发明的示范实施例,但应了解可实施本发明而无需该等特定的细节,且对本文所描述的发明可做出许多与特定实作有关的决策以达成开发人员的特定目标,例如匹配与系统有关和与企业有关的限制,这些都会随着不同实作而有所不同。虽然这样的开发既复杂又费时,但这也是本领域一般技术人员在受惠于本揭示内容后所从事的日常工作。例如,以方块图的形式图标选定的态样,而不是以细节图标,以避免混淆或过度地限定本发明。本领域技术人员常使用这种描述及表达方式以描述及传达其工作的要旨于其它的本领域的技术人员。此时,将参考下文中述及的附图并对本发明加以描述。请参考图1,其图标示范网络100的方块图,其中多个105计算机系统110、111、112在一个或更多个国际互联网140上相互通讯。如图标,各个计算机系统(例如,iio)(也称作多媒体访问器件或个人国际互联网通讯器(PIC))经由一个或更多个通讯链路122而可操作地耦合至国际互联网服务供货商(ISP)120。国际互联网服务供货商120耦合至国际互联网140,该国际互联网140再耦合至多个网页主机服务器(Webhostserver)150、151、152。想要访问国际互联网信息的使用者使用PIC(例如,110)执行存储于PIC己知为网页浏览器的应用程序。该PIC110包含使得PIC110可从国际互联网服务供货商120收发通讯的通讯硬件及软件。该等通讯硬件及软件使得PIC110可与国际互联网服务供货商120建立通讯链路。该通讯链路可有各种形式的联机形态,包括有线连接,例如数字用户线路(DSL)、Tl、整体服务数字网络(ISDN)或电缆连接之类的直接链路,经由蜂巢式或卫星网络的无线连接,电话调制解调器拨接或区域数据传输系统(例如,通过局域网络的以太网络(Ethemet)或符记环(tokenring))。当使用者藉由在网页浏览器中输入指令来请求信息时,PIC110送出信息请求,例如搜寻关于指定主题的文件或至国际互联网服务供货商120的特定的网页,该供货商120接着经由国际互联网140转送该请求到适当的网页主机服务器150。国际互联网服务供货商120执行用于收取及读取从浏览器送出的请求的软件。国际互联网服务供货商120执行网页服务器应用程序用以监视请求、对特定网页服务器之信息的服务请求、以及传送信息到使用者的PIC110。各个网页主机服务器150、151、152在国际互联网上具有已知地址,由使用者提供该地址于网页浏览器以连接至适当的网页主机服务器。如果使用者的网页主机服务器150上没有该信息可用,国际互联网140作为中央链路让网页服务器150、151、152相互通讯以供给所请求的信息。由于网页服务器150、151、152可容纳一个以上的网页,使用者也会在地址中指定其想要查阅的特定网页。服务器上首页的地址(也习称全球资源定位器(URL))为一序匹配示服务器及网页在该服务器上之位置的数字,其与邮局地址类似。为了简化,已发展出一种网域名称系统(domainnamesystem)能让使用者用名称指定服务器及文件而不是用数字。藉由在网域名称后端加上额外的信息,URL在属于内容供货商的一群组网页中可进一步指定特定的网页。请参考图2,其图标PIC110的方块图。该PIC110包含处理器202、输入/输出(170)控制器件204、存储器(包含易失性随机访问存储器(RAM)存储器206以及非易失性存储器207)、通讯器件211(例如调制解调器)、以及显示器214。该等处理器202、170控制器204、存储器206及通讯器件211经由一个或更多个总线212而相互连接。在选定实施例中,以AMDGeodeGX32-字节x86兼容处理器实作该处理器202,以128百万字节组DDR存储器实作该存储器206、以及以CRT监视器实作该显示器214。此外,该非易失性存储器207可包含以有最小容量(例如,10十亿字节组)整合式3.5英吋硬盘机实作的硬盘机209。存储器206、207两者或任一可与PIC110整合或外接至PIC110。至于通讯器件211,有外接连接器的整合式56KITUv.92调制解调器可用来支持全球不同的电话系统,也可使用其它的调制解调器,例如,软件调制解调器(softmodem)。当然,应了解其它的器件组态也可用于该等处理器202、存储器206、207、显示器214及通讯器件211。为求简洁及容易理解,本文不详述所有组成PIC110的组件。本领域一般技术人员已习知这些细节,且可根据特定的计算机厂商和微处理器类型而变化。此外,取决于所欲之实作,该PICIIO可包含其它总线、器件、及/或子系统。例如,该PIC110可包含缓存存储器、调制解调器、平行或序列界面、SCSI界面、网络界面卡、及其类似者。如图2所示,I/O控制器件204系耦合于I/O器件205(例如,一个或更多个USB端口、键盘、鼠标、音频扬声器等等。该I/0控制器件204也耦合至非易失性存储器207,例如闪存存储器或其它只读存储器(ROM)208及/或硬盘机209。图中该PIC110系描绘成用通讯器件211(例如,调制解调器)连接至国际互联网122和国际互联网140,但可用任何本领域技术人员所习知的合意网络通讯器件建立联机。尽管图中该处理器202系直接耦合于显示器件214,该处理器也可通过显示器或1/0控制器件而间接耦合于显示器214。相似地,图中该处理器通过I/O控制器204而耦合于该非易失性存储器207,然而也可考虑直接PIC存储器中系存储各种程序码及软件。例如,开机时引导PIC110的基本输入及输出系统(BIOS)码可存储于非易失性存储器207的BIOSROM器件210内,例如ROM(只读存储器)或诸如EPROM(可抹除PROM)、EEPROM(电性可抹除PROM)、闪存RAM(随机访问存储器)、或任何其它类型适合存储BIOS的存储器之类的PROMC可程序化的ROM)。该B10S/开机加载程序(boot1oader)210木质上是使用者看不见的且包含兼容开机加载程序能让PIC操作系统成为嵌入封闭式操作系统,例如WindowsCE型操作系统,然而该BIOS码可支持任何操作系统(包含但不受限于基于Windows和基于Linux的操作系统)。该BIOS/开机加载程序210本质上是使用者看不见的且引导该操作系统。也可将PIC软件230和使用者数据存储于非易失性存储器207的硬盘209且由处理器202执行及/或处理。该PIC软件230可包含主引导记录(MBR)231、操作系统232、应川程序分割区233、软件更新模块234、使用者数据235、以及隐藏映像还原模块(imagerecoverymodule)236。该MBR231为在PIC110引导吋执行的小程序,且通常常驻于硬盘209的第一扇区。此外,该MBR209在硬盘上可包含分割表。至于操作系统,软件230把可能会影响系统效能的数个可单独组态的操作参数当作该软件的一部份,在初始安装于硬盘209时加以预先组态。该软件230也包含使PIC110可依指定而作用所需要的应用程序233。例如,该等应用程序233可包含网页浏览器、Flash播放器、PowerPoint展示观看器、聊天室、游戏、压縮公用程序、电子邮件、文书处理器、电子表格、PDF观看器,媒体播放器及/或绘图应用程序。此外,使用者数据235存储所有使用者的数据使得使用者能直接访问该等使用者数据。此等使用者数据系由操作系统的其余部份保护以防止数据被病毒或其它的方法损毁。在选定的实施例中,该PIC110系藉由PIC软件230的组态保护以预防非法的安装,而使得只能从有预定授权或安全密钥(securitykey)的引导加载程序器件(bootloaderdevice)添加或更新应用程序。此引导加载程序器件的范例为带有USB接头的闪存存储器件。在示范实作中,控制安装限制系藉由软件更新模块234,其只允许从具有与存放于本机之安装密钥(installationkey)相匹配之密钥的弓|导器件安装,例如存储于非易失性存储器207中的唯一安全密钥240。该唯一安全密钥240对于各个PIC110、111、112可为唯一,或可以代之于各PIC之间共享,以共同地控制从单一来源(例如,ISP120)的安装访问。在选定的实施例中,该唯一安全密钥240系存储于硬盘209的主引导记录231中,然而也可存储于闪存存储器或其它的ROM208或存储于固线式的(hardwired)集成电路。因此,在由该可引导器件转移任何操作系统文件或应用程序文件之前,该更新模块234必须判定该引导器件有与该唯一安全密钥240相匹配或以其它方式相对应之签章或密钥。以此方式,藉由限制安装操作系统码或其它软件于有匹配安全密钥之可引导器件,该唯一安全密钥240可用来保护操作系统在该P1C10上的完整性。请参考图3,其系图标该处理器202的方块图。在一实施例屮,该处理器202为超微(AdvancedMicroDevices)所售之GeodeGX2处理器。该处理器202包含处理器核心310、总线或界面单元312、图形处理器314、显示器控制器316、以及录像处理器318。该处理器202也包含存储器控制器330、1/0控制器界面332、以及显示器件界面334,然而应了解可以对该处理器202为外接的方式实作该等控制器及界面。在图标之实施例中,该处理器202执行存储于存储器206、207之中的软件以限制操作系统和其它软件从不包含与唯--安全密钥240相匹配或对应之合法签章的引导器件安装。请参考图4,其系图标该I/O控制器件204的方块图。在一实施例中,该I/0控制器件为超微所售之GeodeCS5535I/0配对器件。该I/O控制器件204包含处理器界面模块410、USB控制器模块412、IDE控制器模块414、闪存存储器控制器模块416、音频控制器模块418、以及系统电源管理模块420。根据本发明的各种实施例,该USB控制器模块412或闪存存储器控制器模块416系用于连接带有USB接头的闪存存储器件,该闪存存储器件可作为加载软件(例如,操作系统或应用软件)的可引导器件。为了保护该操作系统及其它应用程序的系统完整性,将该PIC110设计成可限制附加软件的安装。例如,视需要可将该PIC110设计成不包含或不支持软式磁盘驱动器或光驱,这些都是用于安装软件和器件驱动程序套装软件(devicedriverpackage)的正常方法。藉由去能(disable)USB键盘及鼠标直到操作系统加载可进一步保护系统完整性,这样即使由不同的来源引导该PIC110也难以安装任何东西。此外,在经安装成为PIC软件230之一部份的操作系统和应用程序上可去能软件安装,除非透过使用软件更新模块234,该软件更新模块234去能源自任何没有与该唯-一安全密钥240相匹配之合法签章密钥的USB器件的软件加载或引导动作。图5系图标用来限制软件安装之软件更新模块500的范例。在图标的范例中,以WindowsCE实作的软件更新模块500有数个共同工作的不同层,包括OEM配接层(OEMadaptationlayer,OAL)组件502、WindowsCE核心组件层504、以及Win32组件层506。该OAL组件502包含平台专用的界面(例如,定时器、吋钟及巾断)且连接至WindowsCE核心组件504中的基本操作系统发动机构505。该WindowsCE核心组件层504是由OAL层抽离硬件,且在OAL组件502与Win32层506之间提供通用通讯机构。Win32组件层506常驻在OAL与核心层502、504的上方,且为应用程序507的基本环境。应了解,可将该操作系统发动机构505实作成为加载应用程序之操作系统的一部份,但也可实作成为加载WinCE至存储器内以开始执行其程序,在这种情形下,该发动机构505可内含于BIOS/开机加载程序。每次使用者或操作系统想要发动应用程序或从外接存储器件508加载程序库(DLL)时,该核心组件504用OAL组件502检查以核准待发动的应用程序或模块。如果与应用程序或模块相关的授权密钥(authorizationkey)与存放于本机的安全密钥相匹配,则OAL组件502中的密钥检查例程501核准发动。可用各种方法实现该密钥检查例程501。例如,WindowsCE提供认证机构,用来保护该PIC110的方式系藉由实作可防止操作系统加载未知模块的安全措施,以限制对系统应用程序界面(API)的访问及/或防止写入部份的系统注册表(systemregistry)。在应用程序认证期间,可指定模块为可信任或不可信任,且核心组件504可用此信息防止非法应用程序加载或限制彼等对系统的访问。例如,在核心组件504加载应用程序之前,OAL组件502中的认证功能检验应用程序的签章,例如藉由比较该应用程序签章与存放于本机的安全密钥。以此方法,基于WindowsCE的执行时间映像(run-timeimage)只在应用程序包含有效的数字签章时加载该应用程序。此外,藉由包含一组有限的BIOS韧体指令限制非法操作系统的安装也可保护该操作系统的完整性。在系统开启时,该有限BIOS韧体在硬盘209或任何其它引导器件(例如,带有USB接头的闪存存储器件或CD-ROM)中寻找安装密钥(例如,唯一安全密钥240)。如果没找到安装密钥,则中止系统的引导,但若有安装密钥的话,则系统继续引导。以此方式,可保护硬盘209的原始操作系统(例如,WindowsCE)不被任何非法操作系统(例如,Linux)取代。请参考图6,其中的流程图系图标用于防止在计算机系统上非法安装操作系统码及/或软件的保护系统的操作。应了解,不论是在系统开机期间或者是在文件被加载或安装于PIC110上的任何其它吋间,图标的系统操作都可用来限制操作系统及其它软件的安装。不过,为求简洁,本说明内容主要聚焦在开机期间限制操作系统的安装。第一个歩骤602是将安全密钥存储于待保护之计算机系统(例如,PIC110)的非易失性存储器中。当在歩骤604出现安装事件时(例如,在系统开机期间当可引导器件企图写入操作系统文件至硬盘时),从非易失性存储器检索该安全密钥(步骤606)。此外,请求来自该引导器件之授权密钥(步骤608)。尽管图中是以平行的方式进行,该等密钥检索步骤可顺序进行。一旦得到安全密钥与授权密钥后,在步骤610作比较。如果密钥不匹配(步骤610判断的结果为否定),则拒绝所请求之安装且系统回到步骤604以侦测下一个安装事件。在此时,可检查清单中下一个引导器件是否有密钥且重新引导该程序,如果在清单中任一引导器件上没有发现密钥,则系统暂停且让使用者知道动作中止了。不过,如果密钥相匹配(步骤610判断的结果为肯定),则核准所请求之安装(歩骤614)且系统回到歩骤604以侦测下一个安装事件。应了解,可将前述歩骤实作成为软件更新模块的一部份或BIOS码的一部份。以上所揭示的特定实施例只是用来作图解说明用且请勿视为是要对本发明有所限制,显然本领域技术人员在受惠于本文的教导后,可以不同但等价的方式修改及实施本发明。因此,不希望前述说明把本发明限定成所提及的特定形式,相反地,希望由权利要求书所界定的本发明精神及范畴可涵盖该等替代、修改及等价物,藉此本领域技术人员了解其可将本发明做成各种变化、替代及改变而不脱离本发明的广义精神及范畴。权利要求1、一种器件,包含至少一个有可执行指令及数据存储于其上的可记录媒体,其特征在于,当由至少一个处理器件执行这些可执行指令及数据时,使得上述至少一个处理器件进行侦查来自引导加载程序器件的安装请求;响应上述安装请求,从上述器件上的非易失性存储单元检索安全密钥;请求来自上述引导加载程序器件的第一授权密钥;比较上述安全密钥与上述第一授权密钥;以及仅当上述安全密钥与上述第一授权密钥相匹配时,核准上述安装请求。2、如权利要求1所述的器件,其中上述非易失性存储单元包含主引导记录。3、如权利耍求l所述的器件,其中上述引导加载程序器件包含内置BIOS存储器单元。4、如权利要求l所述的器件,其中上述引导加载程序器件包含外接可引导器件。5、如权利要求1所述的器件,其中上述可记录媒体包含内置BIOS存储器单元。6、如权利要求l所述的器件,其中这些可执行指令及数据存储于上述BIOS。7、如权利要求l所述的器件,其中这些可执行指令及数据内含于软件更新模块,上述软件更新模块内含于安装的操作系统。8、如权利要求1所述的器件,其中这些可执行指令及数据进一步使得上述至少一个处理器件在上述安全密钥与上述第一授权密钥不相匹配时,拒绝上述安装请求。9、如权利要求1所述的器件,其中这些可执行指令及数据进一步使得上述至少一个处理器件,在上述安全密钥与上述第一授权密钥不相匹配时,检查标示于存储列表中的下一个引导加载程序器件是否有与上述安全密钥相匹配的第二授权密钥。全文摘要在个人国际互联网通讯器件中,安全密钥(securitykey)存储于主引导记录(masterbootrecord)。任何企图写入操作系统文件或软件文件的可引导器件必须有合法的(authorized)签章密钥才能合法安装文件于该个人国际互联网通讯器件上。文档编号G06F21/00GK101213557SQ200680023964公开日2008年7月2日申请日期2006年6月23日优先权日2005年6月30日发明者S·保罗,S·古德里奇申请人:先进微装置公司