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

文档序号:9693266阅读:来源:国知局
中,用户计算设备104可以是台式计算机、平板计算机、膝上型计算机、智能电话、游戏机、个人数字助理(PDA)等。
[0046]用户计算设备104可以包括硬件平台302、平台固件304、存储器306、以及信任模块116。硬件平台302可以包括使得用户计算设备104上的软件能够执行的一个或多个硬件组件,例如,一个或多个处理器308。一个或多个组件308可以包括中央处理单元(CPU)、通信处理单元(GPU)、微处理器、数字信号处理器等。此外,虽然某些功能和模块在本文中被描述为由可以在处理器上执行的软件和/或固件来实施,但是在其它实施例中,可以部分或全部由硬件将任意或全部模块实施(例如,成为ASIC、专用处理单元等)来执行所描述的功能。所描述的功能可以被实施为一个或多个硬件逻辑组件,例如现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统系统(S0C)、复杂可编程逻辑器件(CPLD)等。
[0047]硬件平台的其它硬件组件可以包括网络接口卡(NIC)、图像处理单元(GPU)、声卡、相机、显示接口、新申请、用户接口等。尽管为了示出的目的单独进行了示出,但是存储器306可以是硬件平台302的一部分。用户计算设备104的用户接口可以包括但不限于以下中的一个或多个的组合:小键盘、键盘、鼠标设备、接受手势的触摸屏、麦克风、语音或话音识别设备、以及任何其它合适的识别或其它电子/软件选择方法。
[0048]平台固件304可以包括使得操作系统310能够与硬件平台302的硬件组件接合的程序指令。由此,操作系统310可以指示硬件组件来执行任何和/或生成数据。硬件组件的固件可以存储在硬件组件的持久存储器中。
[0049]可以使用诸如计算机存储介质的计算机可读介质来实施存储器306。计算机可读介质至少包括两种类型的计算机可读介质,即计算机存储介质和通信介质。计算机存储介质包括以用于存储信息的任何方法或技术实施的易失性和非易失性、可移除和不可移除介质,该信息可以是例如计算机可读指令、数据结构、程序模块、或其它数据。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪速存储器或其它存储器技术、CD-ROM、数字多功能盘(DVD)、或其它光学存储设备、盒式磁带、磁带、磁盘存储设备或其它磁存储设备、或可以用于存储信息以供由计算设备访问的任意其它有形介质。相反,通信介质可以实现计算机可读指令、数据结构、程序模块、或经调制的数据信号(例如,载波、或其它传输机制)中的其它数据。如在本文中所定义的,计算机存储介质不包括通信介质。
[0050]参考计算设备104的存储器306可以存储包括操作系统310、启动加载器312、维护模块314、和数据保护模块316的软件组件。启动加载器312可以将硬件平台302的一个或多个硬件组件初始化。在各个实施例中,启动加载器312就可以通过执行与每个硬件组件相关联的固件来执行这样的初始化。在一些实施例中,启动加载器312可以使用启动设置318来将硬件平台202初始化。在各个实施例中,启动设置318可以指定在启动时要被初始化的硬件平台302的特定硬件组件。例如,启动设置318可以指定将经批准的硬件组件的特定列表来通电。
[0051]替代地,启动设置318可以指定用于选择要被初始化的硬件组件的一个或多个标准。例如,启动设置318可以将初始化限于硬件平台202的其固件被验证实体102批准(例如,数字签名)的每个硬件组件。启动设置318还可以包括用于将硬件平台202的硬件组件初始化的特定配置。例如,配置可以针对硬件组件指定功率等级、数据传送速率、存储器分配等。特定配置可以是由验证实体102批准的配置。
[0052]用户计算设备104可以将操作系统310存储在存储器306的系统卷320中。一旦硬件组件被初始化,启动加载器312就可以将操作系统310加载到工作存储器(例如,RAM)中以将计算环境实例化。计算环境可以支持一个或多个应用程序322的执行。在一些实施例中,启动加载器312可以根据操作系统配置设置324来加载操作系统310。操作系统配置设置324可以指定要被加载的操作系统310的一个或多个数据文件326(例如,库、驱动程序、配置等)。对一个或多个数据文件326的加载可以定制操作系统310以执行特定的服务、提供具体功能、或显示定制的视觉效果。
[0053]在一些实施例中,硬件平台302可以与硬件平台202相同,并且操作系统310可以与操作系统214相同。此外,启动设置318可以与启动设置218相同,并且操作系统配置设置324可用与操作系统配置设置220相同。
[0054]用户数据卷328可以存储用户数据330。用户数据330可以包括代表诸如用户128的用户生成的数据。例如,用户数据330可以包括由用户使用安装在用户计算设备104上的应用程序起草的文档、由用户存储到存储器306的照片等。用户数据330可以由数据保护模块316保护。在一些实施例中,可以使用访问密钥332来对用户数据330进行加密或密码保护。
[0055]信任模块116可以在用户计算设备104启动时从硬件平台302和/或操作系统310收集配置值。信任模块116可以是安装在用户计算设备104上的单独处理器模块。例如,处理器模块可以类似于符合由TCG概括的TPM规范的TPM模块。信任模块116可以具有诸如加密算法的保护机制,其保护存储在信任模块116上的数据以免受侵入。在各个实施例中,信任模块116可以以与参考计算设备110的健康值模块208相似的方式操作。由此,信任模块116可以以与健康值模块208相同的方式从硬件平台302和/或操作系统310来收集配置值。信任模块116可以将配置值存储在配置寄存器334中。在一些实例中,所存储的配置值可以排除与外围硬件组件(例如,外部键盘、鼠标、扩展坞等)相关联的配置值。
[0056]随后,信任模块116还可以以与健康值模块208相同的方式,基于从硬件平台302和/或操作系统310获取的配置值来生成设备健康值118。驻留于信任模块116中的计算算法可以生成设备健康值118。然而,在一些实施例中,参考健康值108和设备健康值118可以是仅根据与硬件平台或操作系统相关联的配置值来生成的。替代地,信任模块116可以生成多个设备健康值,例如根据与硬件平台302相关联的配置值来生成第一设备健康值,并且根据与操作系统310相关联的配置值来生成第二设备健康值。例如,以这样的方式获取的健康值在以下情况中确定健康状态时可以是有用的:不同的操作系统是在相同的硬件平台上实施的,或相反。
[0057]状态评价器338可以将设备健康值118与参考健康值108进行比较以确定用户计算设备104是否处于安全状态或非期望状态。在各个实施例中,状态评价器338可以是启动处理组件,例如启动加载器312的组件。替代地,状态评价器338可以是嵌入在信任模块116中的软件组件。信任模块116可以从服务器114接收由验证实体102保存的参考健康值。进而,信任模块116可以向状态评价器338提供参考健康值。替代地,状态评价器338可以直接从服务器114接收参考健康值。在各个实施例中,当设备健康值118与参考健康值108匹配时,状态评价器338可以确定用户计算设备104处于安全状态。相反,当设备健康值118与参考健康值108不相同时,状态评价器338可以确定用户计算设备104处于非期望状态。替代地,在存在多个参考健康值和多个设备健康值的实例中,当每个设备健康值与相对应的参考健康值相同时,状态评价器338可以确定用户计算设备104处于安全状态。否则,状态评价器338可以确定用户计算设备104处于非期望状态。
[0058]在各个实施例中,信任模块116可以将一个或多个密钥120与一个或多个参考健康值绑定。由此,参考健康值可以是可访问的,只要用户计算设备104的每个设备健康值与其所定义的参考健康值匹配。由此,状态评价器338可以通过尝试访问存储在信任模块116中的密钥120来检查一个或多个设备健康值是否与一个或多个参考健康值匹配。如果密钥120是可访问的,则状态评价器338可以确定这些值匹配。然而,如果状态评价器338不能访问密钥120,则状态评价器338可以确定设备健康值中的每个与相对应的参考健康值不匹配。然而,在其它实施例中,状态评价器338可以将一个或多个设备健康值与一个或多个参考健康值直接进行比较。
[0059]在发现用户计算设备104处于非期望状态的情况下,状态评价器338可以停止操作系统310的执行,以便阻止用户128访问由操作系统310提供的计算环境。另外,状态评价器310可以执行包括维护模块314的恢复环境。在各个实施例中,恢复环境可以由被一个或多个处理器308执行的并行安全软件栈提供。在恢复环境中,维护模块314可以执行对在计算设备上的软件组件的修复。例如,维护模块314可以在用户计算设备104的显示器上显示提示用户来发起修复的通知。该修复可以包括修理损坏的数据文件、移除恶意软件或病毒、重映射操作系统、针对一个或多个硬件组件安装新的固件等,使得用户计算设备可以回到安全状态。关于操作系统310和应用程序322执行的任何修复操作可以指向系统卷320。在各个实施例中,维护模块314可以利用各种维护应用程序来执行修复。这样的维护应用程序可以包括磁盘扫描应用程序、恶意软件扫描应用程序、病毒扫描应用程序、固件刷新应用程序、重映射应用程序等。维护应用程序可以加载到用户计算设备104上和/或从验证实体102的服务器114可用。
[0060 ]例如,维护模块314可以建立经由网络112的与验证实体10 2的服务器114的通信链路。由此,服务器114上的维护应用程序可以使用通信链路来建立维护会话。在维护会话期间,一个或多个维护应用程序可以扫描用户计算设备104以检测并修复错误。在一些实例中,修复可以涉及利用存储器服务器114上的新的数据文件来替代用户计算设备104上的数据文件,例如操作系统310、数据文件326、应用程序322、和/或平台固件304。由于用户数据330是单独地存储在用户数据卷328中的,因此用户数据330不受由维护模块314进行的对系统卷320的任何修复。这意味着可以在成功修复系统卷320中的应用程序和/或数据之后,恢复对用户数据330的访问。修复,如果信任模块116确定用户计算设备104在安全状态运行,则信任模块116可以允许用户计算设备104正常运行并执行应用程序322。
[0061]在一些实施例中,用户计算设备104可以从验证实体102接收一个或多个密钥120和参考健康值108。一个或多个密钥120可以是特别针对用户计算设备104产生的唯一密钥。然而,在其它实例中,一个或多个密钥120可以是被分配给多个相同用户计算设备的密钥。信任模块116可以将一个或多个密钥120传递给数据保护模块316。进而,数据保护模块316可以使用一个或多个密钥120来保护存储在用户数据卷328中的用户数据330。在至少一个实施例中,信任模块116可以使用访问密钥生成器340来根据一个或多个密钥120和参考健康值的组合来生成访问密钥332。该生成可以涉及针对一个或多个密钥120和参考健康值108来执行算术运算和/或哈希操作。信任模块116可以向数据保护模块316提供访问密
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1