当前位置: 首页 > 专利查询>微软公司专利>正文

使用状态证实的受保护操作系统引导的系统和方法技术方案

技术编号:2856821 阅读:200 留言:0更新日期:2012-04-11 18:40
一种用于受保护的操作系统引导的机制,它防止无赖组件在操作系统上装载,并由此防止系统密钥在不当环境下被泄漏。在机器启动步骤的一部分发生之后,操作系统装载器被运行,装载器被证实,且正确的机器状态被核实为存在和/或被创建。一旦装载器经检验为合法的装载器,并且装载器所运行的机器状态被核实为正确的,即可知装载器的未来表现以防止可能导致系统密钥泄露的无赖组件的装载。在已知装载器的表现对系统密钥安全的条件下,证实器可解封系统密钥并把它提供给装载器。

【技术实现步骤摘要】

本专利技术一般地涉及计算领域。更具体地,本专利技术提供一种机制,以确保系统从一已知安全状态开始运行,且该机制可被用于以一种为系统正确表现提供充分保证的方式引导系统。这种对正确表现的保证进而可防止一个或多个密钥在不适当的情况下被分配。
技术介绍
计算机安全往往取决于能否预知软件组件的表现。一般地,一个系统的安全可产生自一个前提,即一个其表现被理解的已知程序,它从一个已知的良好状态开始运行,就将以一种可预言的方式继续。反之,对安全性的妨碍-其可能涉及使计算机系统的表现出乎设计者预期一般会通过替代或更改一已知程序、或在不理解程序表现的状态中运行该程序来实现。如此,为计算机环境提供安全的一个方面包括核实在用的是一个已知程序且该程序是从一个已知的良好状态开始运行的。表现的可预见性特别重要的一个领域就是在操作系统及其组件的装载中。尽管操作系统本身可能被设计成为其表现提供某种级别的可信度,但由于保护操作系统免受攻击的基础设施尚未建立或正在建立过程之中,在这类操作系统被装载前的时间正是系统非常容易遭受攻击的时间。因此,确保操作系统以一种可预见的方式装载对保护操作系统免受一定类的攻击而言很重要。能由操作系统非安全装载引起的安全漏洞的一种类型涉及到对激活某些受限功能的一个或多个密钥的保护。作为例子而非限制,微软的WINDOWS操作系统采用一种系统密钥,即“SYSKEY”,其通过使进程的正确性能依赖于SYSKEY的有效性而用于保护各种各样的进程。例如,解密由操作系统以加密后的格式保存的私有信息所需要的密钥可由SYSKEY推论出来。依照惯例,执行受限操作所需的密钥受登录过程保护。通常,用户在开始使用系统之前必须正确地认证自己,例如,通过提供正确的登录凭证,诸如用户名/密码组合。仅在用户正确认证后,这些密钥方得以使用,并且在认定用户正确登录失败前,系统将仅允许用户进行有限次数的尝试,例如,三次。这种类型的对试图登录次数的限制防止在某种情况下,比方说,一台偷来的膝上型计算机,未经授权的用户通过使用穷举法猜测出密码而激活受限功能的使用,。然而,使用登录程序保护对密钥的访问假定操作系统装载器正确地装载了有正确登录程序的操作系统,并且密钥的使用尚未由其它可能运行的无赖代码激活。如果相反使用的是无赖加载器,且该无赖加载器导致一无赖登录程序被装载到该操作系统,则在未经输入正确的凭证的情况下,密钥的使用也可能被激活,或密钥甚至可能被泄漏。由于操作系统的装载为系统漏洞提供了可能,在此情形下,对密钥的保护要求操作系统的装载要在其可被证实是正确地发生的环境下发生。在检验操作系统加载进程的安全方面出现的一个问题是合法的操作系统加载可以包括很多不同程序(例如,有大量不同的“可任选只读存储器”,它们是在系统引导步骤期间运行的操作系统前置程序)、以及有大量不同的可做为操作系统装载的一部分运行的步骤。因此,在一次加载期间有几乎无法计数的不同的合法机器状态,识别所有这些状态并检验该机器处于一已知良好的状态可能被证明是一项不可行的任务。然而,并非装载步骤的所有部分都与安全性意义。让该装载过程运行而不试图评估其安全性,然后在启动任何可影响安全相关功能的步骤,诸如密钥的分配之前,将环境设置到一已知良好状态可能更为有效率。更一般地,只要在允许任何与安全相关的动作发生之前能将系统设置到一已知良好状态,任意系统可被允许运行一段时间而不作任何安全评估。基于上述考虑,需要一克服现有技术缺点的机制。
技术实现思路
本专利技术提供了在操作系统的装载可被核实是正确执行的环境下的操作系统的装载。当机器启动时,执行最初的启动步骤(例如,BIOS、可任选只读存储器、主引导记录、引导扇区等等)。在这些早期步骤被执行后,操作系统装载器被启动并可执行各种各样的初步任务。在操作系统装载器被启动并执行了这些初步任务后,执行对操作系统装载器的证实。证实包括对装载器本身或装载器的一部分执行有效性测试(例如校验和,或其它以评估装载器的身份或正确性为目标的测试);以及评估当前机器状态(或强迫该机器符合一已知良好的状态)。若装载器或相关部分已知为正确的,并且机器状态是一个在此状态中装载器先前曾被核实表现正确的状态,则装载器的表现可以预见。如此,可以确保运行于正确机器状态下的正确装载器将不会装载会导致激活受限功能(例如,加密过的密钥,诸如系统密钥)的数据在不适当的环境下被分配的组件。较佳地,证实由运行于高保证环境中的证实器来执行。高保证环境是指在此环境中,有可能提供相对高的保证度,使在此环境中执行的进程按照预期的方式运行。因此,证实器将正确运行的保证源于该证实器被运行于高保证环境的进程所检验这一事实(例如,通过检证实它的二进制版本的签名)、以及源于在高保证系统中的进程会被正确完成的基本信任。或至少有在一定程度的保证,即高保证环境将不会干涉或不允许干涉在此类环境中运行的进程的正确运行;还必须有另外的信任基础,即在高保证环境中实现一进程的程序将以所期望的执行方式正确地执行。高保证环境可提供密封存储器,这是一种的存储器设施,在其中数据可被密封给一个特殊对象(例如,一个特殊程序),且高保证环境用这种方式控制,使经密封的数据不会被释放给除此数据被密封的对象之外的任何其它对象(可由高保证环境核实)。证实器可以使用该密封存储将密钥(例如,SYSKEY)密封给自己证实,并可拒绝解封密钥,除非是给正确对的象、且环境(例如机器状态)在某种标准下是令人满意的。专利技术的其它特征在下文描述。附图简要说明上述
技术实现思路
以及下文对优选实施方式的详细描述,结合附图阅读将更好理解。出于例证本专利技术的目的,在附图中给出本专利技术的示例性构造;然而,本专利技术不限于所揭示的具体方法和手段。在附图中附图说明图1是专利技术诸方面可在其中实现的示例性计算机环境的方框图;图2是采用一进程的系统的方框图,该进程的正确操作依赖于系统密钥;图3是一种加密文件系统的方框图,该系统通过使解密依赖于系统密钥来保护加密数据免遭未经授权的解密;图4是根据本专利技术各方面的带证实的示例引导进程的流程图; 图5是根据本专利技术各方面的示例证实器的方框图;以及图6是根据专利技术各方面的保护系统密钥的示例进程的流程图。具体实施例方式概览在一个操作系统之下可能发生的几个进程的正确运行依赖于一个或多个密钥。对这些密钥的访问可能受控于一个认证程序,比如登录程序,该程序将拒绝激活密钥的使用,除非用户提供正确的凭证,诸如用户名/密码组合。因此,通过在没有正确的凭证时登录程序拒绝激活密钥的使用,若干个进程(例如,对加密文件的解密)对于不知道密码的用户可被中断(或完全防止)。虽然登录程序可以有效地对密钥的访问进行门控(gating),操作系统装载器有可能受骗而装载一个另外的会违背登录程序所设定的认证规则来分配密钥的组件。因此,当密钥以此方式被分配时,保护密钥就要求保护操作系统的装载过程。本专利技术提供可用于保护装载过程的机制。示例性计算装置图1示出了一种可实现专利技术各方面的示例性计算环境。计算系统环境100仅为一合适的计算机环境的例子,并非意于暗示对本专利技术的使用范围和功能性的任何限制。计算环境100也不应解释为对在示例性操作环境100中说明的任何一个组件或组件的组合有任何的的依赖或需求。本专利技术可运行在大量其它的通用或专用计本文档来自技高网
...

【技术保护点】
一种以计算机可执行指令编码的计算机可读介质,所述指令执行一种方法,包括:启动一操作系统装载器;证实所述装载器的身份或正确性;确保所述操作系统装载器运行于其上的机器处于一已知状态;以及如果所述装载器的身份或正确 性证实,且如果所述操作系统运行于其上的所述机器处于一已知状态,则:提供一密钥给所述装载器;以及允许所述装载器装载一操作系统。

【技术特征摘要】
US 2004-6-30 10/882,1341.一种以计算机可执行指令编码的计算机可读介质,所述指令执行一种方法,包括启动一操作系统装载器;证实所述装载器的身份或正确性;确保所述操作系统装载器运行于其上的机器处于一已知状态;以及如果所述装载器的身份或正确性证实,且如果所述操作系统运行于其上的所述机器处于一已知状态,则提供一密钥给所述装载器;以及允许所述装载器装载一操作系统。2.如权利要求1所述的计算机可读介质,其中所述方法还包括运行一个对所述密钥的访问进行门控的登录程序。3.如权利要求2所述的计算机可读介质,其中所述登录程序确保用户提供凭证作为所述登录程序授权对所述密钥的访问的条件。4.如权利要求1所述的计算机可读介质,其中所述密钥可用于解密一加密的操作系统分区。5.如权利要求1所述的计算机可读介质,其中所述证实所述装载器的身份或正确性的动作、以及所述确保机器处于一已知状态的动作是在执行了所有以下内容后执行的基本输入输出系统;可任选只读存储器;主引导记录;以及引导扇区。6.如权利要求5所述的计算机可读介质,其中所述证实所述装载器的身份或正确性的动作、以及所述确保机器处于一已知状态的动作是在执行了所述操作系统装载器的一部分后再执行的。7.如权利要求6所述的计算机可读介质,其中所述证实动作是在操作系统的全部或基本上全部启动后、或者是在一定数量的分区启动后再执行的,所述分区的每一个都包括一个由系统管理程序维护的某种程度的与其它分区相隔离的环境。8.如权利要求1所述的计算机可读介质,其中所述密钥被密封装给一执行所述证实动作和所述确保动作的证实器,且其中所述方法进一步包括所述证实器解封所述密钥。9.如权利要求8所述的计算机可读介质,其中所述密钥至少被密封给所述证实器,且其中所述证实器至少证实所述装载器的一部分。10.如权利要求8所述的计算机可读介质,其中所述密钥被密封给所述证实器和所述装载器的至少一部分。11.如权利要求1所述的计算机可读介质,其中所述机器包括物理机。12.如权利要求1所述的计算机可读介质,其中所述机器包括虚拟机。13.如权利要求12所述的计算机可读介质,其中所述密钥仅在所述虚拟机的体系结构没改变或有效时被披露。14.如权利要求1所述的计算机可读介质,其中所述确保机器处于一已知状态的动作包括评估所述机器的当前状态并比较所述当前状态和所述已知状态。15.如权利要求1所述的计算机可读介质,其中所述确保机器处于一已知状态的动作包括设置所述机器的当前状态为与所述已知状态相一致。16.如权利要求1所述的计算机可读介质,其中,所述装载器是一个完整的操作...

【专利技术属性】
技术研发人员:BM维尔曼P英格兰德KD雷J亨特LD麦克米歇尔DN拉萨乐P雅科梅ME帕雷TV库里恩DB科洛斯
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1