操作系统的受保护的网络引导的制作方法

文档序号:7722615阅读:154来源:国知局
专利名称:操作系统的受保护的网络引导的制作方法
操作系统的受保护的网络引导
背景技术
随着显著的行业推动,操作系统流式传送(streaming)正成为新兴的趋势。在操 作系统流式传送中,服务器尽管通过网络将操作系统发送给客户端,但是操作系统是被进 行流式传送,以这种方式,客户端可以通过确定首先需要哪些数据来非常快速地开始执行 操作系统。流式传送的操作系统的实现的一个益处在于,在本地未存储任何数据,所以当机 器断电时,没有数据被持久保存。以标准平台中的一些早引导部分(例如,引导加载器(boot loader))为目标的安 全攻击通常不会影响流式传送的操作系统,这是因为没有驱动器,并且当操作系统镜像的 这些部分被存储在服务器上时可以对其进行很好的保护。然而,早引导攻击点可能转移到 平台的其它部分并且新的攻击方法可能开始发动攻击,这是因为操作系统能够运行在多个 平台上,而这意味着获得对操作系统的访问的恶意远程客户端可能造成威胁。


在附图中通过示例的方式而非限定的方式来说明本文所描述的发明。为了说明的 简单和清楚,图中所说明的部件并非必然按照比例绘制。例如,为了清楚,可以相对于其它 部件放大一些部件的尺寸。此外,在适当的情况下,图中重复使用一些参考标记来指示对应 的或同类的部件。图1示出了其中客户端计算设备可以引导服务器计算设备提供的操作系统的网 络环境的实施例。图2示出了图1的客户端计算设备的实施例。图3示出了用于验证实体的完整性并将信任扩展到所验证的实体的方法的实施 例。图4示出了用于通过网络来引导操作系统的方法的实施例的时间线。
具体实施例方式说明书中提及的“一个实施例”、“实施例”、“示例性实施例”等表示所描述的实施 例可以包括特定的特征、结构或特性,但是每个实施例并非必然包括该特定的特征、结构或 特性。此外,此类用语并非必然指代同一实施例。此外,当结合一实施例来描述特定的特 征、结构或特性时,认为无论是否明确描述,本领域技术人员在其知识范围内都可以结合其 他实施例来实现这种特征、结构或特性。图1示出了支持通过网络来受保护地引导操作系统的网络环境100的实施例。如 图所示,网络环境100可以包括网络110,其中将一个或多个客户端计算设备或客户端120、 供应服务器(provisioning server) 130以及具有一个或多个操作系统142和应用程序143 的操作系统(OS)服务器140耦合到所述网络110。网络110可以包括一个或多个有线和 /或无线网络,其可以包括路由器、网关、中继器、桥、无线接入点、服务器,和/或协作来将 计算设备操作地彼此耦合的其它网络设备。
客户端120可以包括一种或多种形状因子的计算设备,例如服务器计算设备、台 式计算设备、膝上型计算设备、个人数字助理(PDA)和/或其它计算设备。供应服务器130 可以将密钥和策略分发给客户端120和OS服务器140。特别地,供应服务器130可以为每 一个客户端120提供唯一的数据加密密钥122,并且针对每一个客户端120将相应的数据加 密密钥144提供给OS服务器140。响应于系统引导事件(例如,上电事件、系统重置事件等),客户端120可以向OS 服务器140进行认证,并且向OS服务器140请求操作系统以进行引导。响应于该请求,OS 服务器140可以使用与发出请求的客户端120相关联的数据加密密钥144来对操作系统 142进行加密,并且将已加密的操作系统(EOS) 150流式传送到发出请求的客户端120。继 而,客户端120可以使用由供应服务器130提供的数据解密密钥122对已加密的操作系统 150进行解密,并且可以在对接收到的已加密的操作系统150成功进行解密之后执行操作 系统142。现在参照图2,进一步详细示出客户端120的实施例。如图所示,客户端120可以 包括处理器210、芯片组220、系统存储器230和固件设备240。客户端120还可以包括 管理引擎(ME) 250、可信平台模块(TPM) 260、1/0设备270、大容量存储设备280和网络接口 控制器290。处理器210 可以包括Pentium 系列、Itanium 系列、XScale 系列或 Centrino 系列的一个或多个Intel 微处理器。当然,还可以使用其它系列和/或其它制造商的其它 处理器。此外,处理器210可以包括一个或多个包含对受保护虚拟化模式的支持的处理核 心,所述受保护虚拟化模式例如=Intel公司开发的LaGrande技术(LT)和/或可信执行技 术(TrustedeXecution Technology, TXT)所规定的受保护虚拟化模式(VMX)。芯片组220可以包括用于控制客户端120的一个或多个组件的一个或多个控制 器。例如,芯片组220可以包括用于提供处理器210与系统存储器230之间的接口的存储 器控制器。在一些实施例中,存储器控制器可以被集成到处理器210中而不是在芯片组220 中。芯片组220还可以包括一个或多个大容量存储设备接口控制器,例如并行At附件(ATA) 接口控制器、串行ATA接口控制器、和/或小型计算机系统接口(SCSI)控制器IDE,以用于 连接大容量存储设备280。芯片组220还可以包括图形控制器、通用串行总线(USB)控制 器、快速外围组件互连(PCI)控制器、音频控制器、键盘控制器等,以控制相应的I/O设备 270和客户端120的其它组件,例如管理引擎250和TPM 260。芯片组220还可以提供其它 平台支持硬件,例如一个或多个直接存储器存取(DMA)控制器、中断控制器和实时时钟。系统存储器230可以存储处理器210、管理引擎250和/或TPM 260要处理和执行 的数据和指令。系统存储器230可以包括各种类型的易失性存储器和/或非易失性存储器。 例如,系统存储器230可以包括易失性存储器,诸如同步动态随机存取存储器(SDRAM)设 备、动态随机存取存储器(DRAM)设备、RAMBUS动态随机存取存储器(RDRAM)设备,和/或 其它易失性存储器设备。此外,系统存储器230可以包括非易失性存储器设备,例如闪存 设备、只读存储器(ROM)设备、电可擦可编程ROM(EEPROM)设备、电池后备RAM设备,和/或 其它非易失性存储器设备。固件设备240可以包括非易失性存储器设备,例如闪存设备、只读存储器(ROM) 设备、电可擦可编程ROM(EEPROM)设备、电池后备RAM设备,和/或其它非易失性存储器设备。固件设备240还可以存储预引导认证(PBA)模块241和基本输入/输出系统(BIOS) 固件242。在一个实施例中,PBA模块241的执行会呈现一用户界面,其中,在从OS服务器 140将操作系统142进行流式传送之前,可以经由所述界面输入口令和/或其它认证数据。BIOS固件242可以包括可信模块的核心根(CRTM) 243和流式传送引导加载器 (SBLDR) 244。BIOS固件242还可以根据以下项来实现遗留PC BIOS接口、可扩展固件接口 (EFI)(如2006年1月发布的、可从统一 EFI论坛获得的EFI规范2. 0版所定义的)、或者 其他平台接口(例如,IEEE标准IEEE 1275-1994描述的开放固件接口)。如下文所更详细 解释的,引导加载器244可以从OS服务器140请求通过网络110进行流式传送的操作系统 142、对其进行解密并开始执行。此外,虽然描绘为BIOS固件242的一部分,但是CRTM 243 和/或引导加载器244可以被实现为与BIOS固件242分离,并且可以被存储在客户端120 的其它非易失性存储设备中,例如芯片组220的非易失性存储设备、系统存储器230、管理 引擎250、TPM 260、1/0设备270、大容量存储设备280和/或网络接口控制器290。TPM 260可以包括受保护存储设备261、平台配置寄存器(PCR) 265、随机数生成器 (RNG) 266、密码散列引擎267、加密引擎268和接口 269。图2将TPM 260描绘为在管理引 擎250的外部。然而,在一些实施例中,管理引擎250和TPM 260可以是同一集成电路和/ 或组件的一部分。TPM 260的受保护存储设备261可以包括随机存取存储器和/或只读存储器。只 读存储器可以在制造时被填入有存储根密钥(SRK)262和签注密钥(endorsement key, ΕΚ) 263,并且这种只读存储器可以被封闭,或者以防篡改的方式受到保护。在一个实施例 中,存储根密钥262包括非对称密钥对,例如Rivest Shamir, Adleman (RSA)公钥和RSA私 钥,其可以用于对存储在TPM 260外部的其它密钥进行加密。随机存取存储器还可以存 储身份证明密钥(attestation identity key,AIK) 264以及其它加载的密钥和机密信息 (secret)。此外,在TPM 260允许使用存储根密钥262和/或TPM 260的其它密钥之前,TPM 260可以要求接收针对该密钥的正确的认证数据。在一个实施例中,用户可以经由PBA模 块241来向TPM 260提供针对存储根密钥262和/或TPM 260的其它密钥的认证数据,从 而允许在从OS服务器140接收操作系统142之前使用这些密钥。PCR 265可以在客户端120的初始化和验证期间存储各种散列值。在一个实施例 中,TPM 260包括十六(16)个PCR 265,用于存储基于客户端120所执行的实体(例如,应 用程序)的密码散列的平台配置测量值。在一个实施例中,TPM 260不允许对PCR 265直 接进行写操作。取而代之的是,TPM 260支持目标PCR 265的扩展操作,其中将新的测量值 与目标PCR 265的当前值进行串接,然后经由散列引擎267被散列化。然后,TPM260将产 生的散列值存储在目标PCR 265中。RNG 266可以通过为加密引擎268提供熵(entropy)的源来帮助加密引擎268生 成密钥。RNG 266还可以提供能够帮助防止重放攻击的临时值(nonce value) 0在一个实施例中,密码散列引擎267可以基于安全散列算法(SHA)散列算法来生 成接收到的消息的密码散列值。然而,在其它实施例中,密码散列引擎267可以使用其它或 另外的密码散列算法来生成散列值。在一个实施例中,加密引擎268可以生成对称加密密钥和/或非对称加密密钥对。加密引擎268还可以使用对称加密密钥或非对称加密密钥对的公开加密密钥来对数据进 行加密,并且可以使用对称加密密钥或非对称加密密钥对的私有加密密钥来对数据进行解 密。在一个实施例中,加密密钥引擎268根据非对称RSA密码算法来生成非对称密钥对,并 对数据进行加密/解密。在其它实施例中,加密引擎268可以使用其它非对称密码算法和 /或对称密码算法来生成密钥并且对数据进行加密/解密。大容量存储设备280可以包括软盘驱动器、硬盘驱动器、光盘驱动器和数字多功 能盘(DVD)驱动器,用于存储数据和/或编码指令。在一个实施例中,客户端120并不保持 远程存储的操作系统142或应用程序143的持久性本地副本。因此,客户端120可以被实 现为没有所描绘的大容量存储设备280。然而,尽管没有在本地保持操作系统142和/或 应用程序143的持久性本地副本,但是客户端120仍可以受益于具有大容量存储设备280。 例如,客户端120可以将大容量存储设备280作为虚拟存储器来使用,由此有效地增加系统 存储器230的存储容量。客户端120还可以将大容量存储设备280作为网络高速缓存来使 用,从而在本地保持操作系统142、应用程序143或其部分的被缓存的非持久性副本,以提 供对所缓存的指令的更快速的访问。在这种实施例中,客户端120可以实现虚拟存储器和 网络高速缓存,从而它们的内容在系统重新启动和/或系统断电期间是不可用的。管理引擎250可以使用TPM接口 269来激活TPM 260的各种服务。例如,管理引 擎250可以请求TPM 260生成/存储安全密钥、包覆(wrap)/展开(unwrap)密钥、对数据 进行封装(seal)/解封(unseal)、对数据进行加密/解密、和/或测量/验证客户端120的 组件的完整性。管理引擎250可以独立于处理器210而执行,因此,允许当处理器210保持 停机或执行其它指令时,管理引擎250在TPM 260的帮助下执行各种密码处理、测量处理和 验证处理。在一个实施例中,管理引擎250可以请求TPM 260测量和验证可执行组件或实 体的完整性,并且在TPM 260不能验证该实体的完整性的情况下可以停止或者以其他方式 阻止该实体的执行。特别地,TPM260的散列引擎267可以计算软件程序的散列值以获得实 体的测量值,并且TPM 260可以验证所计算的散列值对应于该实体的期望的散列值。在一 个实施例中,可以通过供应服务器130或一些其它方式来供应期望值并且将其存储在TPM 260的受保护存储设备262中。网络控制器290可以提供到网络110的接口,和到连接到网络110的计算设备与 网络设备(例如,供应服务器130和OS服务器140)的接口。网络控制器290还可以包括 管理代理(MA) 292,用于执行密码处理和/或执行引导加载器244。此外,管理代理292可 以包括接口,所述接口允许系统软件(例如,BIOS软件、预操作系统软件、运行时管理模式 软件等)代表该系统软件来执行密码处理。管理代理292可以独立于处理器210的操作而 工作。例如,管理代理292可以包括微处理器、微控制器或其它类型的处理器电路、存储器 和接口逻辑。如上所述,固件设备240可以包括可信模块的核心根(CRTM) 243。CRTM 243可以 包括能够用作完整性测量的信任起源的代码块。在一个实施例中,CRTM 243可靠地测量其 它实体的完整性值,并且在平台的生存期期间保持不变。CRTM 243在固件设备240的其它 部分之前执行,从而在将控制转交给BIOS固件242或其部分之前,测量PBA模块241、BI0S 固件242或其部分。下文将参照图4来更详细地解释将信任链从CRTM 243扩展到正在运 行的操作系统142的过程。然而,为了更好地理解图4的说明,将结合图3来描述测量完整性和扩展信任的过程。如在图3中所示,完整性测量方法300的实施例可以在框310处从以下操作开始 实体A (例如,BIOS固件242的一部分)测量实体B (例如,BIOS固件242的另一个部分) 以获得实体B的测量值或指纹(fingerprint)。特别地,实体A可以通过对实体B执行密码 散列(例如,SHA-I散列)来生成实体B的测量值。然后,在框320处,实体A可以将实体 B的测量值存储在位于TPM 260外部的存储测量日志(SML)232中。例如,实体A可以将存 储测量日志232存储在系统存储器230或大容量存储设备280中。在框330处,实体A可 以经由扩展操作将实体B的测量值插入到TPM 260的PCR 265中。在框340处,实体A可 以确定实体B是否是可信的。在一个实施例中,如果实体B的测量值未对应于实体B的期 望测量值,则实体A可以确定不能验证实体B是可信的。在一个实施例中,实体A可以参考 存储在TPM 260外部的清单(manifest) 234来获得实体B的期望值,或者可以简单地将该 期望值硬编码在其中。如果实体A确定实体B是可信的,那么在框350处实体A可以将控 制转交给实体B。如果实体A不能验证实体B是可信的,那么在框360处实体A可以采取特 定的保护动作,例如使客户端120停机、重置客户端120、将客户端120关机,和/或向客 户端120的用户提示客户端120是否应当继续。然后,实体B可以重复该过程以验证实体C的完整性,并且实体C可以执行该过程 以验证实体D的完整性等。在任意时刻,如果一个实体确定控制要被转交到的后续实体的 测量值未对应于期望的、可信的或之前已验证的测量值,那么可以断开该信任链。如上所述,网络环境100允许客户端120以受保护的方式通过网络100来引导操 作系统142。现在参照图4,以时间线的形式示出了通过网络100引导操作系统142的方法 400的实施例。在密钥供应时间T-I期间,可以将用于对OS服务器140的操作系统142进行 加密和解密的加密密钥DEK1、DEK2供应给客户端120和OS服务器140。在一个实施例中, 客户端120的TPM 260可以生成包括私钥122和公钥144的非对称加密密钥对。TPM260还 可以将所生成的密钥对的私钥122封装到客户端120的已验证的测量启动环境(measured launch environment, MLE)中。已验证的测量启动环境规定了如一个或多个PCR 265的内容所定义的测量平台 配置,其已经被验证为是可信的。作为将数据加密密钥122封装到已验证的测量启动环境 中的结果,在接收到对已封装的数据加密密钥122进行解封的请求时,只有客户端120的平 台配置对应于已验证的测量启动环境,TPM 260才可以对已封装的数据加密密钥122进行 解封。PCR 265的内容可以包括PBA模块241、BIOS固件242以及客户端120的其它硬件 和/或软件组件的测量值。因此,通过指定TPM 260的PCR 265,该测量启动环境可以识别 可信的PBA模块241、BIOS固件242以及客户端120的其它硬件和/或软件组件。如果该 测量启动环境、CRTM 243和/或BIOS固件242验证了预引导环境的完整性,那么数据加密 密钥122不需要被封装到可以存在于该预引导环境中的每个代码模块内。选择性地将数据 加密密钥122封装到客户端120的部分可以使得更容易地从异常情况中恢复,并且可以降 低拥有信息技术部门(其每当对数据加密密钥122进行解封失败时,服务于帮助台的呼叫) 的总成本。在密钥供应(L1)期间,还可以将对应的公钥144提供到OS服务器140。OS服务 器140可以存储所接收的数据加密密钥144,以使得当将操作系统142流式传送到客户端120时,可以获取并使用正确的数据加密密钥144。在一个实施例中,在管理引擎250的帮助下,供应服务器130可以用于将密钥122、 144供应给客户端120和OS服务器140。然而,也可以使用其它供应方法。例如,技术人 员可以物理地拜访每个客户端120,并且运行BIOS固件242的建立例程,以使得创建密钥 122、144并且将密钥144存储在可移动存储设备上。之后,该技术人员可以物理地拜访OS 服务器140,并且将密钥144从可移动存储设备传送到OS服务器140。这种供应方法可以 允许在客户端120和OS服务器140与网络110断开时仍能供应密钥122、144。响应于引导事件(例如,系统重置、系统上电等),在时间Ttl处,客户端120可以开 始引导处理并且验证BIOS固件242的完整性。特别地,如上面针对图3的完整性测量方法 300所解释的,在管理引擎250和TPM 260的帮助下,客户端120可以执行CRTM 243,并创 建从CRTM 243到BIOS固件242的信任链。从CRTM 243进行的信任扩展使得对BIOS固件 242和已经在CRTM 243与BIOS固件242之间被验证并被执行的任何例程进行测量。特别 地,该验证过程使得进行以下操作测量BIOS固件242和任何中间实体;验证测量值是所 期望的测量值;将测量值存储在安全测量日志232中;以及利用获得的测量值扩展TPM 260 的一个或多个PCR 265。假定客户端120能够验证BIOS固件242,那么在时间T1处,BIOS固件242可以验 证并执行引导加载器244,由此将信任从BIOS固件242扩展到引导加载器244。再次地,验 证过程使得进行以下操作测量引导加载器244 ;验证测量值是所期望的测量值;将测量值 存储在安全测量日志232中;以及基于该测量值来扩展一个或多个PCR 265。在时间T1处, 引导加载器244还可以将客户端120置于受保护虚拟化模式(VMX)。在一个实施例中,引导 加载器244可以调用处理器210支持的可信执行技术的GETSECSENTER指令,来将客户端置 于受保护虚拟化模式(VMX)。在进入受保护虚拟化模式之后,在时间T2处,引导加载器244可以请求TPM 260对 数据加密密钥122进行解封。如上面所提到的,在密钥供应过程期间,数据加密密钥122被 封装到已验证的测量启动环境中。因此,如果PCR 265所存储的测量值未对应于数据加密 密钥122被封装到其中的测量启动环境,那么TPM 260将不对数据加密密钥122进行解封。 在这种情况下,引导加载器244可以采取特定的保护动作,例如重置客户端120、使客户端 120下电、或者以其它方式停止引导处理。另一方面,如果PCR 265所存储的测量值指示客 户端120具有对应于数据加密密钥122被封装到其中的测量启动环境的平台配置,那么TPM 260可以对数据加密密钥122进行解封,并且将已解封的密钥122提供给引导加载器244。在时间T3处,已验证的引导加载器244可以开始与OS服务器140进行联系,以便 获得要执行的操作系统142。为此,引导加载器244可以向OS服务器140认证其自身。响 应于成功的认证,OS服务器140可以获取与客户端120相关联的数据加密密钥144,并且可 以开始使用与客户端120相关联的数据加密密钥144来将已加密的操作系统数据流式传送 到客户端120。在一个实施例中,客户端120可以使用类似于Intel公司于1999年9月20 日发布的预引导执行环境(PXE)规范2. 1版的网络协议来定位、认证并接收来自OS服务器 140的已加密的操作系统142 ;然而,用于通过网络来引导操作系统的其它网络协议也可以 是适合的。在时间T4处,已验证的引导加载器244可以使用已解封的密钥122对所接收的操作系统142进行解密,并且可以激活操作系统142的执行。即使具有未验证的引导加载器 244的恶意客户端120能够向OS服务器140认证其自身并且获取操作系统142,该客户端 120将仍然无法执行所接收的操作系统142。这种恶意客户端120或者没有正确的密钥122, 或者无法对解密所接收的操作系统142所需的正确的密钥122进行解封。以这种方式,网 络环境100提供了额外的保护,其旨在防止这种恶意客户端120获得对OS服务器140的已 解密的操作系统142的访问权并执行该已解密的操作系统142。通过网络来引导操作系统的上述方法400仅是示例性的,并且还可以设想到在本 公开和所附权利要求的精神内的其它实施例。例如,受保护的网络引导可以使用对称密钥 而不是上面详述的非对称密钥122、144。在这种实施例中,客户端120在密钥供应期间可以 生成对称密钥以及非对称密钥对。客户端120可以使用非对称密钥对来将对称密钥封装到 客户端120的特定配置中。因此,在这种实施例中,OS服务器140可以使用对称密钥来对 操作系统142进行加密,并且在正确的平台配置下成功对密钥解封之后,客户端120使用同 一对称密钥来对操作系统142进行解密。在又一实施例中,取代供应密钥122、144来对操作系统142进行解密/加密的是, 可以供应机密信息(例如,数据、加密密钥、签名证书等)并且将其封装到客户端120,以使 得仅在客户端120处于指定配置下时,客户端120才可以对该机密信息进行解封。所封装 的机密信息可以被客户端120用来在时间T3的认证处理期间从OS服务器140获得对称或 非对称会话密钥。特别地,OS服务器140可以至少部分地基于客户端120具有该机密信息 来认证客户端120。在这种实施例中,在会话协商期间使用的已封装的机密信息在接收操 作系统142之前可以从被存储器230中移除,以进一步保护已封装的机密信息。在这种实 施例中,OS服务器140可以基于协商的会话密钥对操作系统142进行加密,并且客户端120 可以使用该会话密钥对所接收的操作系统142进行解密。虽然在附图和上述说明书中详细地示出并描述了本公开,但是这些图示和描述显 然应当被认为是示例性的而非限制性的,应当理解,仅示出和描述了说明性的实施例,并且 期望保护落入本公开的精神内的所有变化和变型。
权利要求
一种由客户端计算设备引导服务器计算设备提供的操作系统的方法,包括接收针对已封装的加密密钥的认证数据,请求所述客户端计算设备的可信平台模块基于所接收的认证数据来对所述已封装的加密密钥进行解封,响应于开始所述客户端计算设备的引导处理,经由网络接收已加密的操作系统,使用响应于请求所述可信平台模块对所述已封装的加密密钥进行解封而获得的已解封的加密密钥,来对经由所述网络接收的已加密的操作系统进行解密,以及执行已解密的操作系统。
2.根据权利要求1所述的方法,还包括响应于所述可信平台模块确定未对所述已封 装的加密密钥进行解封,中止所述客户端计算设备的引导序列。
3.根据权利要求1所述的方法,还包括请求所述可信平台模块通过将加密密钥封装 到所述客户端计算设备的已验证的测量启动环境中,来创建所述已封装的加密密钥。
4.根据权利要求3所述的方法,还包括响应于请求所述可信平台模块对所述已封装 的加密密钥进行解封,只有在所述客户端计算设备具有与所述加密密钥被封装到其中的已 验证的测量启动环境相对应的平台配置时,才对所述已封装的加密密钥进行解封。
5.根据权利要求1所述的方法,还包括请求所述可信平台模块通过将非对称加密密钥对的私有非对称加密密钥封装到所述 计算设备的已验证的测量启动环境中,来创建所述已封装的加密密钥,以及响应于请求所述可信平台模块对所述已封装的加密密钥进行解封,只有在所述客户端 计算设备具有与所述加密密钥被封装到其中的已验证的测量启动环境相对应的平台配置 时,才对所述已封装的加密密钥进行解封,来获得所述私有加密密钥,其中,对所述已加密的操作系统进行解密包括使用从所述已解封的加密密钥获得的私有非 对称加密密钥来对所述已加密的操作系统进行解密。
6.根据权利要求1所述的方法,还包括 创建对称加密密钥和非对称加密密钥,使用所述非对称加密密钥来将所述对称加密密钥封装到已验证的测量启动环境中,来 获得所述已封装的加密密钥,以及响应于请求所述可信平台模块对所述已封装的加密密钥进行解封,只有在所述计算设 备具有与所述对称加密密钥被封装到其中的已验证的测量启动环境相对应的平台配置时, 才对所述已封装的加密密钥进行解封,来获得所述对称加密密钥,其中对所述已加密的操作系统进行解密包括使用从所述已解封的加密密钥获得的对称加 密密钥来对所述已加密的操作系统进行解密。
7.一种机器可读介质,包括多个指令,所述指令响应于被执行而使得客户端计算设备 执行以下操作获得加密密钥,请求来自服务器计算设备的操作系统,从所述服务器计算设备接收已加密的操作系统,使用所述加密密钥来对所述已加密的操作系统进行解密,以及执行已解密的操作系统。
8.根据权利要求7所述的机器可读介质,其中,所述多个指令还使得所述客户端计算 设备执行以下操作请求所述客户端计算设备的可信平台模块对所述加密密钥进行解封,以及响应于所述可信平台模块确定所述客户端计算设备不具有所述加密密钥被封装到其 中的平台配置,中止所述客户端计算设备的引导序列。
9.根据权利要求7所述的机器可读介质,其中,所述多个指令还使得所述客户端计算 设备执行以下操作请求所述客户端计算设备的可信平台模块对机密信息进行解封,所述机密信息已经被 封装到所述客户端计算设备的指定平台配置中,以及基于所述机密信息与所述服务器计算设备进行协商,以获得要用作所述加密密钥的会 话S朗。
10.根据权利要求9所述的机器可读介质,其中,所述多个指令还使得所述客户端计算 设备执行以下操作在接收所述已加密的操作系统之前,从所述客户端计算设备的存储器 中移除所述机密信息。
11.根据权利要求9所述的机器可读介质,其中,所述多个指令还使得所述客户端计算 设备执行以下操作如果所述可信平台模块未对所述机密信息进行解封,那么中止引导序 列。
12.根据权利要求7所述的机器可读介质,其中,所述多个指令还使得所述客户端计算 设备执行以下操作获得针对所述加密密钥的对称加密密钥,所述加密密钥用于对所述已 加密的操作系统进行解密。
13.根据权利要求7所述的机器可读介质,其中所述多个指令还使得所述客户端计算 设备执行以下操作获得针对所述加密密钥的非对称加密密钥,所述加密密钥用于对所述 已加密的操作系统进行解密。
14.一种用于保护通过网络来引导的操作系统的系统,包括客户端计算设备,所述客户 端计算设备包括固件设备,其包括一个或多个实体,每一个实体包括一个或多个指令,可信平台模块,用于存储测量值并且验证要被执行的实体的完整性,以及处理器,用于执行所述固件设备的一个或多个实体,其中所述一个或多个实体响应于被执行而使得所述客户端计算设备执行以下操作获得加 密密钥;将对操作系统的请求发送到所述网络;从所述网络接收已加密的操作系统;使用 所述加密密钥来对所述已加密的操作系统进行解密;以及执行已解密的操作系统。
15.根据权利要求14所述的系统,其中,所述一个或多个实体包括引导加载器,所述引 导加载器响应于被执行而使得所述客户端计算设备执行以下操作请求所述可信平台模块对所述加密密钥进行解封,以及响应于所述可信平台模块确定所述客户端计算设备不具有所述加密密钥被封装到其 中的平台配置,中止所述客户端计算设备的引导序列。
16.根据权利要求14所述的系统,还包括服务器计算设备,其中所述一个或多个实体包括引导加载器,所述引导加载器响应于被执行而使得所述客户 端计算设备执行以下操作请求所述客户端计算设备的可信平台模块对机密信息进行解封,所述机密信息已经被封装到所述客户端计算设备的指定平台配置中;以及基于所述机 密信息与所述服务器计算设备进行协商,以获得要用作所述加密密钥的会话密钥,并且响应于至少基于所述机密信息而认证所述客户端计算设备,所述服务器计算设备向 所述客户端计算设备提供所述会话密钥,并且用对应的会话密钥来对所述操作系统进行加r t [ ο
17.根据权利要求16所述的系统,其中,所述引导加载器的执行还使得所述客户端计 算设备执行以下操作在接收所述已加密的操作系统之前,从所述客户端计算设备的存储 器中移除所述机密信息。
18.根据权利要求17所述的系统,其中,所述引导加载器的执行还使得所述客户端计 算设备执行以下操作如果所述可信平台模块未对所述机密信息进行解封,那么中止引导 序列。
19.根据权利要求14所述的系统,还包括服务器计算设备,其用于存储所述操作系 统;响应于接收对所述操作系统的请求,获取用于所述客户端计算设备的对应的加密密钥; 使用所述对应的加密密钥来对所述操作系统进行加密;以及通过所述网络将所述已加密的 操作系统流式传送到所述客户端计算设备。
20.根据权利要求14所述的系统,还包括服务器计算设备,其用于存储所述操作系 统;响应于接收对所述操作系统的请求,获取用于所述客户端计算设备的对应的加密密钥; 使用所述对应的加密密钥来对所述操作系统进行加密;通过所述网络将所述已加密的操作 系统流式传送到所述客户端计算设备;以及在流式传送所述已加密的操作系统之前,对所 述客户端计算设备进行认证。
全文摘要
本文公开了用于保护由服务器计算设备提供并由客户端计算设备引导的操作系统的方法和装置。一种这样的方法包括请求所述客户端计算设备的可信平台模块对已封装的加密密钥进行解封;以及响应于开始所述客户端计算设备的引导处理,经由网络接收已加密的操作系统。所说明的方法还包括使用响应于请求所述可信平台模块对所述已封装的加密密钥进行解封而获得的已解封的加密密钥,来对经由所述网络接收的已加密的操作系统进行解密;以及执行已解密的操作系统。
文档编号H04L9/32GK101951316SQ200910258478
公开日2011年1月19日 申请日期2009年9月30日 优先权日2008年9月30日
发明者C·克洛茨, N·史密斯, S·格罗布曼 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1