一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于OS级驱动器的系统管理模式信任建立的制作方法

2022-02-22 09:15:10 来源:中国专利 TAG:

用于os级驱动器的系统管理模式信任建立
1.本技术是2016年3月23日提交的申请号为201680011606.2、名称为“用于os级驱动器的系统管理模式信任建立”的分案申请。
技术领域
2.本文描述的实施例大体上涉及计算设备的系统管理模式(smm)操作。


背景技术:

3.计算系统包括其中指令可以利用高权限被执行的模式。例如,一些计算机系统包括系统管理模式(smm)。在smm中,包括操作系统的指令的正常执行被暂停,并且特殊的单独的指令(例如,固件等)可以利用高权限被执行。
4.操作系统可能使得计算机系统进入smm以操纵在正常操作期间可能无法修改的各种可操作参数。例如,操作系统可以发起smm来覆写安全的存储器位置、修改低级密码(例如,bios密码等)、修改电源管理功能、使能或禁用安全性特征、操纵硬件资源等。
5.由于在smm期间执行的指令具有高权限,smm可能被用于使计算机系统陷于危险,例如,作为用于rootkit的入口点或其他恶意软件。
6.关于这些和其他考虑,需要本文所述的实施例。
附图说明
7.图1示出了根据实施例的设备的框图。
8.图2-图3示出了根据实施例的图1的设备的操作的方面的框图。
9.图4示出了根据实施例的技术。
10.图5-图6各自示出了根据各种实施例的逻辑流。
11.图7示出了计算机可读存储介质的实施例。
12.图8示出了处理架构的实施例。
具体实施方式
13.各种实施例大体上涉及针对计算系统的系统管理模式(smm)操作建立信任。换句话说,本公开大体上涉及确定在smm会话中实现的操作和/或功能是由授权的实体发起的。例如,本公开可以被实现以生成可以在smm会话中被认证的签名的smm信息元素(例如,包括smm调用器等)。签名的smm信息元素可以基于私钥而被签名,并且基于相对应的公钥而被认证。此外,smm信息元素可以包括调用smm的组件(例如,os驱动器、呼叫应用等)的散列。在smm会话期间,散列可以用于确定调用smm的组件是否具有调用smm和/或调用某些smm操作和/或功能的权限。
14.应当注意,本公开涉及系统管理模式(smm)。应当注意,这并不是要将其限于smm实现。例如,本公开可以利用各种安全的机器模式中的任何一种来实现,诸如,例如用于amr-lt架构的用于x86架构的smm等。
15.通常参考本文使用的符号和命名法,下面详细描述的部分可以根据在计算机或计算机的网络上执行的程序过程来呈现。由本领域的技术人员使用这些程序的描述和表示来最有效地将其工作的实质传达给本领域的其他技术人员。程序在这里并且通常被认为是引起期望的结果的操作的自相容的序列。这些操作是需要物理量的物理操纵的操作。通常,虽然不一定,这些量表现为能够被存储、转移、组合、比较和以其他方式操纵的电信号、磁信号或光信号的形式。主要是出于普遍使用的原因,有时将这些信号称为比特、值、元件、符号、字符、术语、数字等等被证明是方便的。然而,应当注意,这些和类似的术语中的所有都与适当的物理量相关联,并且仅仅是应用于这些量的方便的标记。
16.此外,这些操纵通常以诸如添加或比较之类的术语来表示,其普遍与人类操作者执行的智力操作相关联。然而,在大多数情况下,在形成一个或多个实施例的部分的本文所述的操作中的任何操作中,人类操作者的这种能力不是必需的,或者不期望的。相反,这些操作是机器操作。用于执行各种实施例的操作的有用的机器包括通过根据本文的教导被写入的、存储在其中的计算机程序来选择性地激活或配置的通用数字计算机、和/或包括专门针对所需目的构造的装置。各种实施例还与用于执行这些操作的装置或系统相关。这些装置可以是针对所需目的专门构造的,或者可以包含一般的计算设备。用于各种这些机器的所需的结构将从给出的描述中出现。
17.现在参考附图,其中相似的附图标记始终用于指代相似的元件。在下面的描述中,为了解释的目的,阐述了许多具体细节以便提供对其全面的理解。然而,显而易见的是,可以在没有这些具体细节的情况下实施新颖的实施例。在其他实例中,以框图形式示出了已知的结构和设备,以便有利于实施其描述。旨在提供全面的描述,使得充分描述在权利要求的范围内的所有修改、等同物和替代物。
18.另外,可以参考诸如“a”、“b”、“c”之类的变量,其用于指示其中可以实现多于一个组件的组件。重要的是要注意,不一定需要多个组件,并且进一步在实现多个组件的地方,它们不一定是相同的。相反,使用变量来引用附图中的组件是用于方便和清晰地呈现。
19.图1描绘了smm信任建立设备100和smm调用器签名服务器200的框图。通常,设备100和/或服务器200可以是各种类型的计算设备中的任何一种,包括但不限于膝上型计算机、上网本计算机、超级本计算机、平板计算机、手持式个人数据助理、智能电话,(例如,并入到服装中的)可穿戴计算设备、媒体流式传输设备、音频计算设备、视频计算设备、智能电视等。
20.通过各种示例,设备100包含处理器元件110、计算机可读存储装置120、smm存储装置130、控件140、输出设备150和接口170中的一个或多个。计算机可读存储装置120存储控制例程122、签名的smm信息元素124以及指令指针(ip)126中的一个或多个。smm存储装置130存储smm控制例程132和公钥134中的一个或多个。另外,smm存储装置130可以包括调用器散列数据库136。
21.通过各种示例,服务器200包含处理器元件210、计算机可读存储装置220和接口260中的一个或多个。计算机可读存储装置220存储控制例程222、统一的可扩展固件接口(uefi)可验证签名224、smm调用器226和私钥228中的一个或多个。
22.设备100和服务器200可以通过一个或多个网络(诸如例如网络300)可操作地连接到一个或多个网络和/或彼此连接。通常,网络300可以是被配置为有利于实施设备200和/
或服务器300之间的通信的任何网络,并且可以包括因特网。
23.通常,控制例程222包含在服务器200的组件(例如,处理器元件210等)上操作的指令的序列,其用于实现以下逻辑,用于基于私钥128来对smm调用器进行签名以有利于如本文所述的在smm会话中建立信任。例如,在执行控制例程222时,处理器元件210可以基于smm调用器226和私钥228来生成uefi可验证签名224。另外,在执行控制例程222时,处理器元件可以将uefi签名224和/或smm调用器226传送到设备100。
24.一般来说,控制例程122包含在设备100的组件(例如,处理器元件110等)上操作的指令的序列,其用于实现以下逻辑:调用以及与由设备100实现的smm会话建立信任。换句话说,控制例程122可以被配置为调用smm会话并且提供用于与smm会话建立信任的凭证和/或信息。控制例程132包含在设备100的组件(例如,处理器元件110等)上操作的指令的序列,其用于实现以下的逻辑,用于实现smm会话,并且确定smm会话是否被适当地调用。
25.在执行控制例程122时,处理器元件110可以生成签名的smm信息元素124,并将签名的smm信息元素124存储在设备100的物理存储器(例如,计算机可读存储装置120等)内的位置中。在一些示例中,签名的smm信息元素可以被存储在计算机可读存储装置120的单个页面(例如,4千字节等)中。
26.通常,签名的smm信息元素124可以包括smm调用器(例如,smm调用器226)的指示和用于认证smm调用器的签名(例如,uefi签名224)。通过一些示例,在执行控制例程122时,处理器元件110可以从smm调用器签名服务器200接收uefi签名224,并生成包括uefi签名224的指示的smm信息元素124。
27.此外,在执行控制例程122时,处理器元件110可以生成ip信息元素126以包括计算机可读存储装置120中的签名的smm信息元素124的地址(例如,位置等)的指示。通常,ip信息元素可以是指令指针,例如在一些16位环境中使用的“ip”、在一些32位计算环境中使用的“eip”或在一些64位环境中使用的“rip”。通常用于指代ip 126的术语“指令指针”或“ip”的使用并不旨在被限于特定的计算环境,而是可以例如被实施在16位、32位、64位等的计算环境中。
28.在一些示例中,在执行控制例程122时,处理器元件110可以通过发送控制信号(例如,到处理器元件110的引脚的逻辑信号、到母板的引脚(未示出)的逻辑信号等等)并将ip信息元素传送到smm会话来发起smm。
29.通过一些示例,在执行控制例程122时,处理器元件110可以基于调用smm的组件(例如,操作系统smm驱动器、呼叫应用等)来生成散列值(例如,参考图2),并且可以包括在签名的smm信息元素124中的散列值的指示。通过一些示例,控制例程122可以将散列并入到smm调用器226中,以使smm调用器能够确保控制例程122具有调用smm的权限。
30.在执行控制例程132时,设备100可以进入smm和/或发起smm会话。更具体地,出于执行各种smm操作的目的,处理器元件110可以暂停执行各种处理(例如,操作系统处理等)的执行。重要的是要注意,存在用于调用smm的各种不同的smm和技术。本公开可以被实现以用于针对各种smm中的任何与调用smm的设备100的组件建立信任(或认证调用smm的设备100的组件)。
31.在执行控制例程132时,处理器组件110可以接收ip信息元素126。如上所述,ip信息元素126可以包括签名的smm信息元素124的地址的指示。换句话说,ip信息元素可以包括
虚拟地址,其可以被转换为用于在存储器(例如,计算机可读存储装置120等)中签名的smm信息元素124的位置的物理地址。
32.此外,在执行控制例程132时,处理器元件110可以基于在ip信息元素126中所指示的地址从计算机可读存储器存储位置取回签名的smm信息元素124。此外,如上所述,签名的smm信息元素124可以包括smm调用器(例如,参考图2)的指示和用于认证smm调用器的签名。签名可以是基于私钥128的。在执行控制例程132时,处理器元件110可以基于公钥134来确定签名是否有效。更具体地,公钥134可以用于确定签名是否是基于私钥128的,并因此是否是真实的。
33.因此,控制例程132可以与调用smm的设备的组件建立信任。更具体地说,在执行控制例程132时,处理器组件110可以基于确定签名的smm信息元素124有效和/或确定与调用smm的组件相对应的散列值指示组件被授权来调用smm(或调用所请求的功能和/或操作等)来执行smm中的一个或多个操作。
34.在各种实施例中,处理器元件110和/或210可以包括广泛的多种商业可用的处理器中的任何一种,其包括但不限于或处理器;应用、嵌入式或安全的处理器;和/或或处理器;ibm和/或cell处理器;或core(2)core(2)(2)或处理器。此外,这些处理器元件中的一个或多个可以包括多核处理器(无论多个核是否共存在相同或分开的管芯上)和/或一些其他种类的多处理器架构,多个物理上分离的处理器通过所述多处理器架构以某些方式被链接。此外,在各种实施例中,任何数量的处理器元件110可以包括信任的执行环境(例如,intelintelintel等),其用于提供敏感的信息的处理和/或存储。信任的执行环境可以使用本文所述的地理定位技术的来访问。
35.在各种实施例中,存储装置120和/或smm存储装置130和/或存储装置220可以是基于广泛的各种信息存储技术中的任何一种的,可能包括需要不间断地供应电力的易失性技术,并且可能包括需要使用可以或不可以移动的机器可读存储介质的技术。因此,这些存储装置中的每一个可以包括广泛的各种类型(或类型的组合)的存储设备中的任何一种,包括但不限于只读存储器(rom)、随机存取存储器(ram)、动态ram(dram)、双数据速率dram(ddr-dram)、同步dram(sdram)、静态ram(sram)、可编程rom(prom)、可擦除可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪存、聚合物存储器(例如,铁电聚合物存储器)、奥氏存储器、相变或铁电存储器、氧化硅-氧化物-氧化物-硅(sonos)存储器、磁卡或光卡、一个或多个单独的铁磁盘驱动器或被组织成一个或多个阵列的多个存储设备(例如,被组织成独立磁盘冗余阵列的多个铁磁盘驱动器阵列或raid阵列)。应当注意,虽然这些存储装置中的每一个被描绘为单个框,但是这些存储装置中的一个或多个可以包括可以是基于不同存储技术的多个存储设备。因此,例如,这些被描绘的存储装置中的每一个中的一个或多个可以表示光驱动器或闪存卡读卡器的组合,通过该组合程序和/或数据可以被存储在和传送到机器可读存储介质的某种形式上、用于在相当延长的时间段内本地存储程序和/或数据的铁磁盘
驱动器、以及使得能够相对快速地访问程序和/或数据的一个或多个易失性固态存储设备(例如,sram或dram)。还应当注意,这些存储装置中的每一个可以是基于相同的存储技术由多个存储组件组成,但是其由于专门的用途可以被单独地维护(例如,一些dram设备被采用作为主存储装置,而其他dram设备被采用作为图形控制器的不同的帧缓冲器)。
36.在各种实施例中,控件140可以是各种类型的可手动操作的控件中的任何一种,其包括但不限于键盘、鼠标、小键盘、触摸板、触控笔等中的一个或多个。输出设备可以是本地的或远程的,并且可以被无线或有线连接。在各种实施例中,输出设备150可以是各种输出设备中的任何一种,诸如,例如显示器、扬声器、触觉反馈设备等。
37.在各种实施例中,接口160和/或260可以采用使组件能够通过网络被耦合的广泛的各种信令技术中的任何一种。
38.图2-图3是图1的smm信任建立设备100的实施例的部分的框图。通常,图2示出了调用smm时的设备100的操作的方面,而图3示出了在认证被调用的smm会话时设备100的操作的方面。更具体地,图2示出了在调用smm时控制例程122的操作的方面,而图3示出了在认证被调用的smm会话时控制例程132的操作的方面。
39.在各种实施例中,控制例程122和/或控制例程132可以包括操作系统、设备驱动器和/或应用级例程(例如,在盘介质上提供的所谓的“软件套件(software suites)”、从远程服务器获取的“小程序(applet)”等)中的一个或多个。在包括操作系统的情况下,操作系统可以是适合于处理器元件110中的相对应的任何一个处理器元件的各种可用的操作系统中的任何一个操作系统。在包括一个或多个设备驱动器的情况下,这些设备驱动器可以针对设备100的各种其他组件中的任何一个(无论是硬件还是软件组件)提供支持。
40.通常,控制例程122被配置为调用smm会话,而控制例程132被配置为在smm会话期间工作以验证smm会话的“呼叫器”或“调用器”。通过一些示例,控制例程122可以由操作系统的框架来实现或者在操作系统的框架内被实现,而控制例程132可以由smm的框架来实现或者在smm的框架内被实现。因此,在图2中描绘了操作系统180,而在图3中描绘了smm 190。应该注意,操作系统180可以是被配置为调用smm 190的各种操作系统中的任何一种。
41.更具体地转到图2,控制例程122包括smm驱动器组件1221、签名接收组件1222和ip生成组件1223。smm驱动器组件1221生成签名的smm信息元素124。更具体地,smm驱动器组件1221将smm调用器(例如,smm调用器226等)加载到存储器存储位置中(例如,到计算机可读存储装置120的单个页面中)。通常,在smm会话(例如,smm 190)期间,smm调用器226可以包括用于实现、执行等的逻辑和/或特征。
42.签名接收组件1222接收用于认证smm调用器226的签名(例如,uefi可验证签名224等),并将签名224添加到签名的smm信息元素124。通常,签名224是基于私钥128的。在一些示例中,签名224是可以由统一的可扩展固件接口(uefi)来验证的。
43.ip生成组件1223生成ip信息元素126以包括签名的smm信息元素124的地址(例如,虚拟地址、物理地址等)的指示。在一些示例中,ip信息元素126以及控制信号一起被传送(例如,到处理器元件110等)以“发起”或调用smm会话。例如,ip生成组件1223可以将控制信号传送到处理器元件110的特定引脚以发起smm会话。
44.另外,控制例程122可以“呼叫”或调用smm调用器226来发起smm会话。通过一些示例,smm调用器基于smm驱动器组件1221(或控制例程122)向签名的smm信息元素124添加散
列值1243,例如,sha256等。通过一些示例,散列值1243可以被耦合或并入到smm调用器226中,以确保smm调用器由被授权的应用(例如,smm驱动器组件1221、控制例程122等)来呼叫。
45.在执行smm调用器226时,smm调用器226可以基于散列值1243来确定smm调用器中所指示的功能或操作是否被smm驱动器组件1221授权。例如,smm调用器226可以将散列值1243与在调用器散列数据库136中所指示的散列值进行比较,以确定smm驱动器组件1221是否被授权来调用在smm调用器226中所指示的功能或操作。
46.通常,在smm会话期间(例如,参见图3),签名224可以用于与smm驱动器组件1221建立信任。更具体地,smm会话可以基于签名224来确定smm驱动器组件1221是被信任的。
47.更具体地转到图3,控制例程132包括ip处置器组件1321。ip处置器组件1321从os 180、smm驱动器1221等处接收ip 126。此外,ip处置器组件1321确定ip信息元素126中所指示的地址。例如,ip处置器组件1321可将虚拟存储器地址转换为物理存储器地址。另外,ip处置器组件1321基于ip信息元素126,或更具体地,ip信息元素126中所指示的地址来取回签名的smm信息元素124。
48.在一些示例中,ip处置器组件1321针对在ip信息元素126中所指示的地址之前和之后的页面(例如,4千字节),来搜索物理存储器(例如,计算机可读存储装置120等)。特别地,ip处置器组件1321搜索smm调用器226。通过一些示例,ip处置器组件1321可以搜索签名的smm信息元素124的报头。ip处置器组件1321可以基于识别报头来取回(例如,访问、读取等)签名的smm信息元素124。在一些示例中,报头可以是用于识别签名的smm信息元素124的开始的特定比特组合或指示符。
49.调用器签名验证组件1322基于签名的smm信息元素124来对被调用的smm会话190进行认证。特别地,调用器签名验证组件1322基于公共密钥134来确定签名224是否是真实的。
50.smm操作器组件1323基于smm调用器226来实现smm操作或功能。换句话说,smm操作器组件1323基于smm调用器226以及确定签名224有效来在smm会话190中执行一个或多个操作。例如,smm调用器226可以包括用于以下操作的指示或控制信号:改变bios密码、修改设备100的硬件组件(例如,处理器元件110、图形处理单元等)中的一个的操作参数、从安全的存储位置读取数据和/或将数据写入安全的存储位置(例如,安全的eeprom位置等)。
51.图4示出了用于可以根据本公开的各种实施例来实现的在smm中建立信任的技术400。如图所示,技术400包括操作或框4.a,其中a是正整数。此外,描述技术400是参考图1-图3的设备100所描述的。然而,这不是限制性的。
52.从框4.1开始,smm os级别驱动器(例如,smm驱动器组件1221)将包括smm调用器的签名smm信息元素生成到计算机可读存储装置的位置内的单个页面上。例如,smm驱动器组件1221可以生成包括smm调用器226的签名的smm信息元素124,例如,通过将smm调用器226添加、加载到签名的smm信息元素124中等。继续到框4.2,签名接收组件1222将签名添加到签名的smm信息元素124中以对smm驱动器组件1221进行认证。例如,签名接收组件1222可以将签名224添加到签名的smm信息元素124。在一些示例中,签名可以是基于与公钥134相对应的私钥128(例如,由服务器200生成的等)的。
53.继续到框4.3,ip生成组件1223生成ip信息元素126,其包括计算机可读存储装置(例如,存储装置120等)中的签名的smm信息元素的位置的指示。此外,ip生成组件1223可以
基于smm驱动器组件1221生成散列值,并将散列值添加到签名的smm信息元素124或ip信息元素126。
54.继续到框4.4,smm驱动器组件1221发送控制信号以调用smm(例如,通过向处理元件110的引脚发送控制信号等),并将ip信息元素126传送到smm。在一些示例中,smm驱动器组件1221呼叫smm调用器226。在执行smm调用器226时,smm调用器226可以基于散列值1243和散列值数据库136来确定smm驱动器组件1221是否被授权呼叫smm调用器。
55.继续到框4.5,在调用smm时,接收(例如,捕获等)到ip信息元素126,并根据ip信息元素126来确定签名的smm信息元素124的地址。例如,ip处置器组件1321可以接收ip信息元素126并将虚拟地址的指示转换为物理地址以定位和取回签名的smm信息元素124。
56.继续到框4.6,签名的smm信息元素124中所指示的签名被验证。例如,调用器签名验证组件可以基于公共密钥134对签名224进行认证。继续到框4.7,可以基于smm调用器226来在smm中实现操作和/或功能。例如,smm操作组件1323可以使设备100实现在smm调用器226中指定的操作和/或特征。
57.图5-图6示出了用于在smm中建立信任的逻辑流的实施例。例如,可以实现逻辑流以生成签名的smm信息元素124并且发起smm,并且基于签名的smm信息元素124对smm进行认证。应当理解,逻辑流是参考图1-图3以及设备100所描述的。然而,示例不被限于该上下文,并且具体而言,包括与图1-图3中所描绘的那些类似的或不同的组件的系统和/或设备可以实现该逻辑流。
58.更具体地转到图5,逻辑流500可以在框510处开始。在框510处,“生成签名的系统管理模式(smm)信息元素,该签名的smm信息元素包括smm调用器的指示和用于认证smm调用器的签名”,控制例程122可以生成签名的smm信息元素124。例如,smm驱动器组件1221可以生成包括添加了smm调用器226的签名的smm信息元素124。另外,在框510处,签名接收组件1222可以(例如,从服务器200等)接收签名224,签名224是基于私钥128的。此外,组件1222可以将签名添加到签名的smm信息元素。
59.继续到框520,“将smm信息元素存储到计算机可读存储器存储装置中的位置中”,控制例程122可以将签名的smm信息元素124存储到存储装置120。例如,smm驱动器组件1221可以将签名的smm信息元素124存储到物理存储器(例如,存储装置120等)内的单个页面中。
60.继续到框530,“生成指令指针(ip)信息元素,ip信息元素包括计算机可读存储器存储装置中的位置的地址的指示”,控制例程122可以生成ip信息元素126。例如,ip生成组件1223可以生成包括签名的smm信息元素124的地址的指示的ip信息元素126。
61.更具体地转到图6,描绘了逻辑流600。逻辑流600可以在框610处开始。在框610处,“接收指令指针(ip)信息元素,ip信息元素包括计算机可读存储器存储位置的地址的指示”,控制例程132可以接收ip信息元素。例如,ip处置器组件1321可以接收包括用于签名的smm信息元素124的地址的指示的ip信息元素126。
62.继续到框620,“基于地址从计算机可读存储器存储位置中取回签名的系统管理模式(smm)信息元素,签名的smm信息元素包括smm调用器的指示和用于认证smm调用器的签名”,控制例程132可以取回签名的smm信息元素124。例如,ip处置器组件1321可以基于ip信息元素中所指示的地址从物理存储器(例如,存储装置120等)中取回签名的smm信息元素(例如,在存储器的所述地址之前和之后的页面内进行搜索以识别并且取回信息元素)。
63.继续到框630,“对确定签名是否有效进行确定”,控制例程132确定在签名的smm信息元素124中所指示的签名是否有效。例如,调用器签名验证组件1322可以基于公钥134来确定签名是否有效。
64.继续到框640,“基于smm调用器以及确定签名有效来执行smm中的一个或多个操作”,控制例程132可以基于确定签名有效来实现smm中的操作和/或特征。例如,smm操作器组件1323可以基于smm调用器226以及确定签名224有效来实现操作和/或特征。
65.图7示出了存储介质700的实施例。存储介质700可以包括制品。在一些示例中,存储介质700可以包括任何非暂时性计算机可读介质或机器可读介质,例如光学的、磁性的或半导体存储装置。存储介质700可以存储各种类型的计算机可执行指令,例如702)。例如,存储介质700可以存储各种类型的计算机可执行指令用于技术400。在一些示例中,存储介质700可以存储各种类型的计算机可执行指令以实现逻辑流500。在一些示例中,存储介质700可以存储各种类型的计算机可执行指令以实现逻辑流600。
66.计算机可读或机器可读存储介质的示例可以包括能够存储电子数据的任何有形介质,包括易失性存储器或非易失性存储器、可移动或不可移动存储器、可擦除或不可擦除存储器、可写或可重写存储器等等。计算机可执行指令的示例可以包括任何适合类型的代码,例如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码、面向对象的代码、可视代码等。这些示例不限于本上下文。
67.图8示出了适合于实现如前所述的各种实施例的示例性处理架构3000的实施例。更具体地,处理架构3000(或其变体)可以被实现为图1-图3的设备100的一部分。
68.处理架构3000包括在数字处理中普遍采用的各种元件,包括但不限于,一个或多个处理器、多核处理器、协处理器、存储器单元、芯片组、控制器、外围设备、接口、振荡器、计时设备、视频卡、音频卡、多媒体输入/输出(i/o)组件、电源等。如本应用中所使用的,术语“系统”和“组件”旨在指代在其中执行数字处理的计算设备的实体,该实体是硬件、硬件和软件的组合、软件或正在执行的软件,其示例由所描绘的示例性处理架构来提供。例如,组件可以是但不限于是在处理器元件上运行的进程、处理器元件本身、可以采用光学和/或磁存储介质的存储设备(例如,硬盘驱动器、阵列中的多个存储驱动器等)、软件对象、指令的可执行序列、执行的线程、程序和/或整个计算设备(例如,整个计算机)。以实例说明,服务器和在服务器上运行的应用都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,并且组件可以被本地化在一个计算设备上和/或被分布在两个或更多个计算设备之间。此外,组件可以通过各种类型的通信介质彼此通信地耦合以协调操作。所述协调可以涉及信息的单向或双向的交换。例如,组件可以通过以通信介质来传送的信号的形式来传送信息。该信息可以被实现为被分配给一个或多个信号线的信号。每个消息可以是串行地或基本并行地被发送的信号或多个信号。
69.如图所示,在实现处理架构3000时,计算设备至少包含处理器元件3010、存储装置3030、到其他设备的接口3090以及耦合器3015。取决于实现处理架构3000的计算设备的各个方面,包括其预计的用途和/或使用的条件,这样的计算设备可以进一步包括附加的组件,例如但不限于计数器元件3015。
70.耦合器3015包含一个或多个总线、点对点互连、收发机、缓冲器、交叉点式开关和/或至少将处理器元件3010通信地耦合到存储装置3030的其它导体和/或逻辑。耦合器3015
可以进一步将处理器元件3010耦合到接口3090和显示接口3055中的一个或多个(取决于这些和/或其他组件中的哪一个也存在)。随着处理器元件3010通过耦合器3015进行耦合时,处理器元件3010能够执行上面针对计算设备100、300和600中的任何一个来实现处理架构3000所详细描述的任务中的各种任务。耦合器3015可以利用各种技术中的任何一种或技术的组合来被实现,通过该技术信号可被光学传送和/或电传送。此外,耦合器3015中的至少部分可以采用符合广泛的各种行业标准中的任何一种的时序和/或协议,包括但不限于加速图形端口(agp)、cardbus、扩展工业标准架构(e-isa)、微型通道架构(mca)、nubus、外围组件互连(扩展的)(pci-x)、快速pci(pci-e)、个人计算机存储卡国际协会(pcmcia)总线、hypertransport
tm
、互联快速路径等。
71.如前所述,处理器元件3010可以包括广泛的多种商业可用处理器中的任何一种,其采用广泛的各种技术中的任何一种,并且利用以多种方式中的任一种物理地进行组合的一个或多个核来实现。
72.如前所述,存储装置3030可以包括基于广泛的各种技术中的任何一种或技术的组合的一个或多个不同的存储设备。更具体地,如图所示,存储装置3030可以包括以下中的一个或多个:易失性存储装置3031(例如,基于ram技术的一种或多种形式的固态存储器)、非易失性存储装置3032(例如,固态存储装置、铁磁存储装置或不需要持续供应电力来保存其内容的其他存储装置)、以及可移动介质存储装置3033(例如,可移动盘或固态存储卡存储装置,通过以上存储器可以在计算设备之间传送信息)。如可能包括多个不同类型的存储装置的存储装置3030的描述是用于识别计算设备中的多于一种类型的存储设备的常见使用,其中一种类型提供相对快速的读取和写入能力,该读取和写入能力能够实现处理器元件3010更快地操纵数据(但是可能使用持续需要电力的“易失性”技术),而另一种类型提供相对高密度的非易失性存储(但是可能提供相对慢的读取和写入能力)。
73.鉴于采用不同的技术的不同的存储设备的不同特征,常见的是,这样的不同的存储设备通过不同的存储设备控制器耦合到计算设备的其他部分,其中不同的存储设备控制器通过不同的接口被耦合到其相异的存储设备。作为示例,其中易失性存储装置3031被呈现了并且该易失性存储装置是基于ram技术的,易失性存储装置3031可以通过存储控制器3035a通信地耦合到耦合器3015,存储控制器3035a向可能采用行和列寻址的易失性存储装置3031提供了适当的接口,并且其中存储控制器3035a可以执行行刷新和/或其他维持任务以帮助保存存储在易失性存储装置3031内的信息。作为另一个示例,其中非易失性存储装置3032被呈现并且包括一个或多个铁磁和/或固态磁盘驱动器,非易失性存储装置3032可以通过存储控制器3035b通信地耦合到耦合器3015,存储控制器3035b向可能采用对信息的块的寻址和/或柱面和扇区的块的寻址的非易失性存储装置3032提供了适当的接口。作为另外的另一示例,其中可移动介质存储装3033被呈现并且包括采用可移动机器可读存储介质3039的一件或多件的一个或多个光学和/或固态磁盘驱动器,可移动介质存储装置3033可以通过存储控制器3035c通信地耦合到耦合器3015,该存储控制器3035c向可能采用信息的块的寻址的可移动介质存储装置3033提供适当的接口,并且其中存储控制器3035c可以以指定用于延长机器可读存储介质3039的寿命的方式来协调读取、擦除和写入操作。
74.易失性存储装置3031或非易失性存储装置3032中的一个或另一个可以包括机器可读存储介质形式的制品,其中,取决于每个所基于的技术,该机器可读存储介质上可以存
储包括可由处理器元件3010执行的指令的序列的例程。作为示例,其中非易失性存储装置3032包括基于铁磁的盘驱动器(例如,所谓的“硬盘驱动器”),每个这样的盘驱动器通常采用一个或多个旋转的磁盘片,在其上磁响应微粒的涂层以各种模式被存放并且磁性定向以用于利用类似于可移动存储介质(例如,软盘)的方式来存储信息(例如,指令的序列)。作为另一示例,非易失性存储装置3032可以由固态存储设备的存储体组成,以用于利用类似于紧凑型闪存卡的方式来存储信息(例如,指令的序列)。同样,在不同时间,在计算设备中普遍采用不同类型的存储设备以用于存储可执行例程和/或数据。因此,包括将由处理器元件3010执行的指令的序列的例程可以初始地被存储在机器可读存储介质3039上,并且可移动介质存储装置3033可以随后被用于将该例程拷贝到非易失性存储装置3032以用于较长期的存储,而无需机器可读存储介质3039和/或易失性存储装置3031的持续存在,以便当该例程被执行时,能够使处理器元件3010进行更快速的访问。
75.如前所述,接口3090可以采用与可以被用于将计算设备通信地耦合到一个或多个其他设备的各种通信技术中的任何一种相对应的各种信令技术中的任何一种。同样,可以采用各种形式的有线或无线信令中的一种或两种可能通过网络(例如,网络3099)或网络的互连的集合来使处理器元件3010能够与输入/输出设备(例如,所描绘的示例性键盘3040或打印机3045)和/或其他计算设备进行交互。为了识别通常必须由任何一个计算设备所支持的多种类型的信令和/或协议的通常大不相同的特征,接口3090被描绘为包括多个不同的接口控制器3095a、3095b和3095c。接口控制器3095a可以采用各种类型的有线数字串行接口或射频无线接口中的任何一种,来从用户输入设备(例如,所描绘的键盘3040)接收串行发送的消息。接口控制器3095b可以采用各种基于电缆布线的或无线信令、时序和/或协议中的任何一种,来通过所描绘的网络3099(可能是包括一个或多个链路的网络、较小的网络、或可能是因特网)访问其他计算设备。接口3095c可以采用各种导电的电缆布线中的任何一种,使得能够使用串行或并行信号传输来将数据传送到所描绘的打印机3045。可以通过接口3090的一个或多个接口控制器被通信耦合的设备的其他示例包括但不限于麦克风、遥控器、手写笔、读卡器、指纹读取器、虚拟现实交互手套、图形输入平板、操纵杆、其他键盘、视网膜扫描器、触摸屏的触摸输入组件、轨迹球、各种传感器、激光打印机、喷墨打印机、机械机器人、铣床等。
76.在计算设备通信地耦合到(或可能实际上包含)显示器(例如,所描绘的示例显示器3050)的情况下,实现处理架构3000的这种计算设备也可以包含显示接口3055。尽管更通用的接口类型可以被用于与显示器进行通信地耦合,但是通常在显示器上视觉上地显示各种形式的内容中所需的某些特别的附加处理,以及基于电缆布线的接口所使用的某些特殊的性质,经常使得供应不同的显示接口是期望的。在显示器3050的通信耦合中可以由显示器接口3055所采用的有线和/或无线信令技术可以利用符合各种行业标准中的任何一种的信令和/或协议,包括但不限于各种模拟视频接口、数字视频接口(dvi)、显示端口等中的任何一种。
77.更一般地,计算设备100、200和400的各种元件可以包括各种硬件元件、软件元件或两者的组合。硬件元件的示例可以包括设备、逻辑器件、组件、处理器、微处理器、电路、处理器元件、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(asic)、可编程逻辑器件(pld)、数字信号处理器(dsp)、现场可编程门阵列(fpga)、存储器
单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件元件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、软件开发程序、机器程序、操作系统软件、中介软件、固件、软件模块、例程、子程序、功能、方法、过程、软件接口、应用程序接口(api)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。然而,确定实施例是否是使用硬件元件和/或软件元件来实施的可以根据任何数量的因素而变化,所述因素例如,期望的计算速率、功率电平、热容差、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及如给出的实施例所期望的其他设计或性能约束。
78.可以使用表达“一个实施例”或“实施例”以及其衍生物来描述一些实施例。这些术语表示结合实施例所描述的特定特征、结构或特性被包括在至少一个实施例中。在说明书中的各个地方出现的短语“在一个实施例中”不一定都指代相同的实施例。此外,可以使用表达“耦合的”和“连接的”以及它们的衍生物来描述一些实施例。这些术语不一定是要作为彼此的同义词。例如,可以使用术语“连接的”和/或“耦合的”来描述一些实施例,以指示两个或更多个元件彼此直接地物理或电接触。然而,术语“耦合的”也可以表示两个或更多个元件彼此不直接地接触,但彼此仍然协作或进行交互。
79.要强调的是,提供了本公开的摘要,以便允许读者快速确定本技术公开的本质。应该理解的是本提交的文档将不会被用于解释或限制权利要求的范围或含义。此外,在前面的具体实施方式中,可以看出,出于简化本公开的目的,在单个实施例中将各种特征分组在一起。本公开的这种方法不应被解释为反映了以下意图:所要求保护的实施例要求比在每个权利要求中明确叙述的更多特征。相反,如以下权利要求所反映的那样,本发明的主题在于少于单个所公开的实施例的所有特征。因此,以下权利要求在此被并入到具体实施方式中,其中每个权利要求独立地作为单独的实施例。在所附权利要求中,术语“包括”和“其中”分别作为相应的术语“包含”和“在其中”的简明的英文等同物。此外,术语“第一”、“第二”、“第三”等仅用作标记,并不旨在对其对象施加数值的要求。
80.以上所描述的内容包括所公开架构的示例。当然,不可能描述组件和/或方法的每一个可想到的组合,但是本领域的普通技术人员可以认识到许多进一步的组合和排列是可能的。因此,新颖的架构旨在包含落在所附权利要求的精神和范围内的所有这样的变化、修改和变型。现在,本公开开始提供各种示例性实现方式。
81.示例1至少一个机器可读存储介质,所述机器可读存储介质包括指令,所述指令当由计算系统执行时,使得所述计算系统用于:生成签名的系统管理模式(smm)信息元素,所述签名的smm信息元素包括smm调用器的指示和用于认证所述smm调用器的签名;将smm信息元素存储到计算机可读存储装置中的位置;并且生成指令指针(ip)信息元素,所述ip信息元素包括所述计算机可读存储装置中的位置的地址的指示。
82.示例2。根据示例1所述的至少一个机器可读存储介质,其包括指令,所述指令使得所述计算系统将所述smm信息元素存储在计算机可读存储位置的页面中。
83.示例3。根据示例2所述的至少一个机器可读存储介质,所述页面包括4千字节。
84.示例4。根据示例1所述的至少一个机器可读存储介质,其包括指令,所述指令使得所述计算系统经由操作系统(os)smm驱动器生成所述smm信息元素。
85.示例5。根据示例4所述的至少一个机器可读存储介质,其包括指令,所述指令使得
所述计算系统生成所述os smm驱动器的散列值,所述签名的smm信息元素包括所述散列值的指示。
86.示例6。根据示例1所述的至少一个机器可读存储介质,其包括指令,所述指令使得所述计算系统调用smm并且将所述ip信息元素传送到所述smm。
87.示例7。根据示例1所述的至少一个机器可读存储介质,其包括指令,所述指令使得所述计算系统从签名服务器接收所述签名,所述签名基于私钥,所述私钥与公钥-私钥对相对应。
88.示例8。至少一种机器可读存储介质,其包括指令,所述指令当由计算系统执行时,使得所述计算系统用于:接收指令指针(ip)信息元素,所述ip信息元素包括计算机可读存储装置中的位置的地址的指示;基于所述地址从所述计算机可读存储装置中取回签名的系统管理模式(smm)信息元素,所述签名的smm信息元素包括smm调用器的指示和用于认证所述smm调用器的签名;确定所述签名是否有效;并且基于所述smm调用器和所述签名是有效的确定来在smm中执行一个或多个操作。
89.示例9。根据示例8所述的至少一个机器可读存储介质,其包括指令,所述指令使得所述计算系统在所述地址之前至少4千字节以及在所述地址之后至少4千字节搜索所述计算机可读存储装置以识别与所述签名的smm信息元素相对应的报头。
90.示例10。根据示例8所述的至少一个机器可读存储介质,所述ip信息元素中的所述地址的指示包括虚拟地址,所述至少一个机器可读存储介质包括指令,所述指令使得所述计算系统将所述虚拟地址转换为物理地址。
91.示例11。根据示例8所述的至少一个机器可读存储介质,所述签名的smm信息元素包括操作系统(os)smm驱动器的散列值的指示,所述至少一个机器可读存储介质包括指令,所述指令使得所述计算系统基于所述散列值来认证所述os smm驱动器。
92.示例12。根据示例11所述的至少一个机器可读存储介质,所述机器可读存储介质包括指令,所述指令使得所述计算系统用于:基于散列值来确定所述os smm驱动器是否被授权来调用所述smm中的所述一个或多个操作;并且基于确定所述os smm驱动器未被授权来调用所述smm中的所述一个或多个操作,来限制所述smm中的所述一个或多个操作的执行。
93.示例13。根据示例8所述的至少一个机器可读存储介质,其包括指令,所述指令使得所述计算系统基于公钥来认证所述签名,所述公钥与公钥-私钥对相对应。
94.示例14。一种装置,包括:逻辑,所述逻辑的部分是以硬件来实现的,所述逻辑包括:操作系统(os)系统管理模式(smm)驱动器组件,其用于:生成签名的系统管理模式(smm)信息元素,所述签名的smm信息元素包括smm调用器的指示;并且将所述smm信息元素存储到计算机可读存储装置中的位置;调用器签名组件,其用于生成用于认证所述smm调用器的签名并且将所述签名添加到所述签名的smm信息元素;以及指令指针(ip)生成组件,其用于生成ip信息元素,所述ip信息元素包括所述计算机可读存储装置中的所述位置的地址的指示。
95.示例15。根据示例14所述的装置,所述os smm驱动器组件用于将所述smm信息元素存储在所述计算机可读存储装置的页面中。
96.示例16。根据示例15所述的装置,所述页面包括4千字节。
97.示例17。根据示例14所述的装置,所述ip生成组件用于生成所述os smm驱动器的散列值,并且将所述散列值的指示添加到所述签名的smm信息元素。
98.示例18。根据示例14所述的装置,所述ip生成组件用于调用smm并且将所述ip信息元素传送到所述smm。
99.示例19。根据示例14所述的装置,所述签名基于私钥,所述私钥与公钥-私钥对相对应。
100.示例20。一种装置,包括:逻辑,所述逻辑的部分是以硬件来实现的,所述逻辑包括:指令指针(ip)处置器组件,其用于:接收指令指针(ip)信息元素,所述ip信息元素包括计算机可读存储装置中的位置的地址的指示;并且基于所述地址从所述计算机可读存储装置中取回签名的系统管理模式(smm)信息元素,所述签名的smm信息元素包括smm调用器的指示和用于认证所述smm调用器的签名;调用器签名验证组件,其用于确定所述签名是否有效;以及smm操作器组件,其用于基于所述smm调用器和确定所述签名有效来在smm中执行一个或多个操作。
101.示例21。根据示例20所述的装置,所述ip处置器组件用于搜索在所述地址之前至少4千字节以及在所述地址之后至少4千字节所述计算机可读存储装置以识别与所述签名的smm信息元素相对应的报头。
102.示例22。根据示例20所述的装置,所述ip信息元素中的所述地址的指示包括虚拟地址,所述ip处置器组件将所述虚拟地址转换为物理地址。
103.示例23。根据示例20所述的装置,所述签名的smm信息元素包括操作系统(os)smm驱动器的散列值的指示,所述调用器签名验证组件基于所述散列值来认证所述os smm驱动器。
104.示例24。根据示例23所述的装置,所述调用器签名验证组件用于:基于所述散列值来确定所述os smm驱动器是否被授权来调用所述smm中的所述一个或多个操作;并且基于确定所述os smm驱动器未被授权来调用所述smm中的所述一个或多个操作,来限制所述smm中的所述一个或多个操作的执行。
105.示例25。根据示例20所述的装置,所述调用器签名验证组件用于基于公钥来认证所述签名,所述公钥与公钥-私钥对相对应。
106.示例26。一种计算机实现的方法,包括:生成签名的系统管理模式(smm)信息元素,所述签名的smm信息元素包括smm调用器的指示和用于认证所述smm调用器的签名;将所述smm信息元素存储到计算机可读存储装置中的位置;并且生成指令指针(ip)信息元素,所述ip信息元素包括所述计算机可读存储装置中的所述位置的地址的指示。
107.示例27。根据示例26所述的方法,包括将所述smm信息元素存储在所述计算机可读存储装置的页面中。
108.示例28。根据示例27所述的方法,所述页面包括4千字节。
109.示例29。根据示例26所述的方法,包括经由操作系统(os)smm驱动器来生成所述smm信息元素。
110.示例30。根据示例29所述的方法,包括生成所述os smm驱动器的散列值,并且将所述散列值的指示添加到所述签名的smm信息元素。
111.示例31。根据示例26所述的方法,包括发送控制信号以调用smm并且将所述ip信息
元素传送到所述smm。
112.示例32。根据示例26所述的方法,包括从签名服务器接收所述签名,所述签名基于私钥,所述私钥与公钥-私钥对相对应。
113.示例33。一种计算机实现的方法,包括:接收指令指针(ip)信息元素,所述ip信息元素包括计算机可读存储位置的地址的指示;基于所述地址从所述计算机可读存储位置取回签名的系统管理模式(smm)信息元素,所述签名的smm信息元素包括smm调用器的指示和用于认证所述smm调用器的签名;确定所述签名是否有效;并且基于所述smm调用器和所述签名是有效的确定来执行smm中的一个或多个操作。
114.示例34。根据示例33所述的方法,包括在所述地址之前至少4千字节以及在所述地址之后4千字节搜索所述计算机可读存储位置,以识别与所述签名的smm信息元素相对应的报头。
115.示例35。根据示例33所述的方法,所述ip信息元素中的所述地址的指示包括虚拟地址,所述方法包括将所述虚拟地址转换为物理地址。
116.示例36。根据示例33所述的方法,所述签名的smm信息元素包括操作系统(os)smm驱动器的散列值的指示,所述方法包括基于所述散列值来认证所述os smm驱动器。
117.示例37。根据示例36所述的方法,包括:基于所述散列值来确定所述os smm驱动器是否被授权来调用所述smm中的所述一个或多个操作;并且基于确定所述os smm驱动器未被授权来调用所述smm中的所述一个或多个操作,来限制所述smm中的所述一个或多个操作的执行。
118.示例38。根据示例33所述的方法,包括基于公钥来认证所述签名,所述公钥与公钥-私钥对相对应。
119.示例39。一种用于设备的装置,所述装置包括用于执行示例26至38中的任一项所述的方法的单元。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献