按照参考平台清单和数据封装的安全操作系统启动的制作方法_4

文档序号:9693266阅读:来源:国知局
钥332。进而,数据保护模块316可以使用访问密钥332来对用户数据330进行加密。
[0062]随后,期望访问用户数据330的应用程序可以向数据保护模块316提供访问证书342。应用程序可以基于一个或多个密钥120和设备健康值118、使用产生访问密钥332的相同技术来生成访问证书342。由此,如果访问证书342可以由数据保护模块316使用以对用户数据330进行解密,则数据保护模块316可以为应用程序提供对用户数据330的访问。否则,数据保护模块316可以拒绝应用程序对用户数据330的访问。在替代实施例中,数据保护模块316可以使用访问密钥332作为密码来保护用户数据卷328,而并非使用访问密钥332来对用户数据330进行加密。
[0063]在其它实施例中,用户计算设备104可以从验证实体102接收健康证书122以及参考健康值108。在一些实施中,健康证书122可以封装唯一地标识用户计算设备104的一个或多个密钥120。这意味着健康证书122是容易识别的,这是因为其被特别分配给用户计算设备104。健康证书122可以由用户计算设备104使用来向其它设备证明用户计算设备104处于安全状态,使得用户计算设备104可以获取服务。例如,用户计算设备104可以使用健康证书122来与另一设备商议安全通信信道,以便交换敏感信息。在另一示例中,用户计算设备104可以使用健康证书122来保护对完成采购交易的允许。在一些实施例中,接收健康证书122的服务提供者可以将其发送给验证实体,例如验证实体102。进而,验证实体可以返回关于对健康证书122的验证的指示。在其它实施例中,期望从服务提供者106获取服务的用户计算设备104起初可以向诸如验证实体102的验证实体发送健康证书122。如果验证实体102确定健康证书122是有效的,例如未过期,则验证实体可以向用户计算设备104发出认证票。随后,用户计算设备104可以使用该认证票从服务提供者106获取服务。
[0064]在一些实施例中,一个或多个密钥120可以具有过期日期。过期日期可以用于激励用户128将用户计算设备104保持最新并且保护用户计算设备104免受最新的安全威胁。例如,在一个或多个密钥120过期之后,使用一个或多个密钥120保护的数据文件可以变为不可访问。将一个或多个密钥120更新为新密钥可以取决于用户计算设备104从验证实体102接受软件更新126。例如,软件更新126和对一个或多个密钥120的更新可以作为单个数据包而分发。软件更新126可以包括对操作系统的更新、对硬件平台的固件的更新、对安装在用户计算设备104上的一个或多个应用程序的更新、针对健康证书122的替代健康证书等。被取代的密钥和/或健康证书可以被验证实体102标记为无效。
[0065]在其它实施例中,验证实体102可以向用户计算设备104自动发送新的参考健康值108。在更新参考计算设备110上的固件和/或操作系统文件之后,可以生成新的参考健康值108。由此,由于参考健康值108与设备健康值118之间的不匹配,用户计算设备104的一个或多个功能可以变为不可访问的。通过将软件更新126下载到用户计算设备104,用户128可以重新获得对这些功能的访问。
[0066]然而,在又一些实施例中,验证实体102可以向用户计算设备104自动提供软件更新126。可以周期性地提供软件更新126和/或在由验证实体102确定的时间提供软件更新126。用户128可以使用维护模块314的应用程序设置来选择这样的自动更新。以这种方式,可以向用户128保证用户计算设备104的安全状态是最新的以及存储在用户计算设备104上的数据是受保护的。
[0067]示例过程
[0068]图4-8描述了用于使用由计算设备上的信任模块推导(derive)的设备健康值来确定计算设备的健康状态的各种示例过程。在每个示例过程中所描述的操作的顺序并不旨在被解释为限制,并且任意数量的所描述的操作可以以任意顺序组合和/或并行地实施每个过程。另外,图4-8中的每个的操作可以以硬件、软件、和/或其组合来实施。在软件的背景下,操作可以表示计算机可读指令,当由一个或多个处理器执行时,该指令使得一个或多个处理器执行所记载的操作。一个或多个处理器可以包括在个体计算设备中,或包括在作为例如云的一部分的多个计算设备中。总体上,计算机可读指令包括使得特定功能被执行或特定抽象数据类型被实施的例程、程序、对象、组件、数据结构等。在其它实施例中,每个示例过程的操作可以由诸如专用集成电路的硬件逻辑电路来执行。
[0069]图4是示出了用于使用一个或多个参考计算设备生成参考健康值的示例过程400。在框402,参考计算设备110的启动加载器216可以初始化参考硬件平台,例如硬件平台202。在各个实施例中,启动加载器216可以通过对每个硬件组件上电和/或通过与每个硬件组件相关联的固件而向每个硬件组件提供指令来执行这样的初始化。在一些实施例中,启动加载器216可以使用启动设置218来初始化硬件平台202。
[0070]在框404,参考计算设备110的健康值模块208可以获取一个或多个参考硬件配置值。一个或多个参考硬件配置值可以表示所初始化的参考硬件平台202的状态。在各个实施例中,硬件平台202的应用程序接口可以与健康值模块208接合以向健康值模块208传输一个或多个参考硬件配置值。
[0071]在框406,启动加载器216可以加载参考操作系统,例如操作系统214。在一些实施例中,启动加载器216可以根据操作系统配置设置220来加载操作系统214。操作系统配置设置220可以指定要被加载的操作系统214的一个或多个数据文件222(例如,库、驱动程序、配置等)。
[0072]在框408,健康值模块208可以获取一个或多个参考操作系统配置值。一个或多个操作系统配置值可以表示包括所加载的操作系统的软件栈的状态。在各个实施例中,操作系统214的应用程序接口可以与健康值模块208接合以向健康值模块208传输一个或多个参考操作系统配置值。
[0073]在框410,健康值模块208可以根据一个或多个参考硬件配置值和/或一个或多个参考操作系统配置值来生成参考健康值108。在各个实施例中,健康值模块208可以使用一个或多个算术运算和/或一个或多个数据转换运算来执行该生成,只要所得到的参考健康值108唯一地表示输入配置值的组合。
[0074]然而,在其它实施例中,可以由健康值模块208生成多个参考值。例如,健康值模块208可以根据与硬件平台202相关联的配置值来生成第一参考健康值,并且根据与操作系统214相关联的配置值生成第二参考健康值。在一些实例中,硬件平台202和包括操作系统214的软件栈可以驻留在两个不同的参考计算设备上。由此,验证实体102可以向诸如用户计算设备014的用户计算设备发送多个参考健康值。替代地,验证实体102可以将第一参考健康值和第二参考健康值组合成组合的参考健康值以供传递至用户计算设备104。
[0075]图5是示出了用于基于用户计算设备的设备健康值与参考健康值的比较来确定用户计算设备的健康状态的示例过程500。在框502,用户计算设备104上的信任模块116可以存储参考健康值,例如参考健康值108。信任模块116可以从验证实体102的服务器114接收参考健康值108。参考健康值108可以是使用参考计算设备110生成的并且可以与安全的设备状态相对应。
[0076]在框504,信任模块116可以中的用户计算设备104生成设备健康值,例如设备健康值118。在各个实施例中,可以基于启动时硬件平台302的状态和/或包括操作系统310的软件栈的状态来生成设备健康值118。设备健康值118可以表示用户计算设备104的健康状态。
[0077]在决策框506,状态评价器338可以将设备健康值118与参考健康值108进行比较。因此,如果设备健康值118与参考健康值108匹配(决策框506处的“是”),则过程500可以进行至框510。在框510,状态评价器338可以确定用户设备处于安全状态。基于该确定,状态评价器338可以允许用户计算设备104正常运行。例如,用户计算设备104可以在由操作系统310提供的计算环境中执行众多应用程序。
[0078]然而,如果状态评价器338确定设备健康值118与参考健康值108不匹配(决策框506处的“否”),则过程500可以进行至框512。在框512,状态评价器338可以确定用户计算设备104处于非期望状态。由此,状态评价器338可以停止操作系统310的执行,以便阻止用户128访问由操作系统310提供的计算环境。另外,状态评价器338可以执行包括维护模块314的恢复环境。在恢复环境中,维护模块314可以执行对在计算设备上的软件组件的修复。该修复可以包括修理损坏的数据文件、移除恶意软件或病毒、重映射操作系统、针对一个或多个硬件组件安装新的固件等。可以使用从验证实体102下载的数据文件来实现重新映射和/或安装新固件。该修复可以使用户计算设备104回到安全状态。在修复之后,过程500可以循环回到框504。
[0079]图6是示出了用于针对计算设备生成设备健康值的示例过程600的流程图。示例过程600还示出了过程500的框504。在602,用户计算设备104的启动加载器312可以初始化设备硬件平台,例如硬件平台302。在各个实施例中,启动加载器216可以通过给每个硬件组件上电和/或通过其固件硬件组件而向每个硬件组件提供指令来执行这样的初始化。在一些实施例中,启动加载器312可以使用启动设置318来初始化硬件平台302。
[0080]在框604,用户计算设备104的信任模块116可以获取一个或多个设备硬件配置值。一个或多个设备硬件配置值可以表示所初始化的设备硬件平台302的状态。在各个实施例中,硬件平台302的应用程序接口可以与信任模块116接合以向信任模块116传输一个或多个设备硬件配置值。
[0081]在框606,启动加载器312可以加载设备操作系统,例如操作系统310。在一些实施例中,启动加载器312可以格局操作系统配置设置324来加载操作系统310。操作系统配置设置324可以指定要被加载的操作系统310的一个或多个数据文件326(例如,库、驱动程序、配置等)。
[0082]在框608,启动加载器312可以获取一个或多个设备操作系统配置值。一个或多个设备操作系统配置值可以表示包括所加载的操作系统的软件栈的状态。在各个实施例中,操作系统310的应用程序接口可以与信任模块116接合以向信任模块116传输一个或多个设备操作系统配置值。
[0083]在框610,信任模块116可以根据一个或多个设备硬件配置值和/或一个或多个设备操作系统配置值来生成设备健康值118。在各个实施例中,健康值模块208可以使用一个或多个算术运算和/或一个或多个数据转换操作来执行该生成,只要所得到的设备健康值118唯一地表示输入配置值的组合。
[0084]图7是示出了用于使用一个或多个密钥和参考健康值来保护存储在用户计算设备上的用户数据的示例过程的流程图。在框702,用户计算设备104上的数据保护模块316可以基于从验证实体102接收到的一个或多个密钥120和参考健康值10
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1