1. 英特尔® AMT 能力概述
英特尔为软件开发人员充分利用英特尔® 主动管理技术(英特尔® AMT)的下一代可管理性能力提供了大力支持。本篇概述将向开发人员介绍英特尔® AMT 所依托的硬件、固件和软件架构,帮助他们踏上英特尔® AMT的应用之旅。I
英特尔® 主动管理技术(英特尔® AMT)是一种驻留在芯片上的管理机制,可用于远程发现、抢救和保护计算系统。它为利用软件解决方案解决重要的可管理性问题,改进远程管理的效率和第三方管理软件中资产盘点功能,及保护关键代理免受操作系统(OS)故障、断电和有意或无意删除客户机等因素的影响奠定了基础:
- 在任何操作状态下远程发现计算资产:英特尔® AMT 将硬件资产信息保存在随时可读取的闪存中,即使电脑关闭或操作系统无法运行也不受影响。英特尔® AMT 并不依靠软件代理来防止意外数据丢失。它为管理应用提供了一个通用的非易失性数据存储器,该存储器可接受本地或网络的存储命令。
- 远程修复计算资产: 前瞻性告警将把系统问题通知给 IT 人员,即使系统关闭也不例外。在软件、操作系统或硬件出现故障后,英特尔® AMT 能提供带外(OOB)访问能力,以便远程诊断、控制和修理电脑。告警和事件记录将帮助 IT 人员快速诊断问题,缩短最终用户的停机时间。此外,英特尔® AMT 还支持面向管理应用的 IDE 重定向和局域网串行能力。
- 远程保护计算资产: 通过带外通信,您可以查到每个系统的软件版本号,如有必要,可用最新的补丁程序和病毒定义对系统软件和病毒防护程序进行远程更新。此外,您还可根据需要利用内置的断路器功能来从源头上遏制病毒和蠕虫。
英特尔® AMT 基础设施支持为管理应用和网络、安全性以及存储管理创建设置和配置接口。该平台可通过传输层安全(TLS)提供基于标准 1.1 的加密支持,通过 Kerberos 提供强大的身份验证支持。
1.1 英特尔® AMT 使用案例特点
以下使用案例总结了英特尔® AMT 的技术能力和商业价值:
2. 英特尔® AMT 硬件架构
如图 1 顶层所示,英特尔® AMT 的核心硬件架构驻留在固件中。芯片组的图形和内存控制器中枢内的微控制器包含管理引擎(ME)固件,该固件可以代表管理应用程序实施各种服务。闪存中包括系统 BIOS、管理引擎使用的代码、和一个第三方数据存储器(3PDS),该存储器可支持应用程序根据需要将信息存储在非易失性内存中。
图 1. 英特尔® AMT 芯片架构
图 2 显示了ME(驻留在图形和内存控制器中枢内的微控制器中)与相关架构组件的更多详细信息。注意:ME 使用后备电源运行,在各种系统电源状态(S0-S5)均可下使用。共享的 SPI 接口支持多个主设备使用单个闪存设备,包括 BIOS、固件、3PDS 和通信。
虽然英特尔® AMT 的主要使用模式之一是支持管理应用访问在客户机断电的状态下访问客户机,但是无线网卡(NIC)内的无线电通常不能在 S0 以外的电源状态下工作。因此,当笔记本电脑断电或处于低功率状态(睡眠、冬眠等)时,就无法使用英特尔® AMT 的无线功能。
注:英特尔® AMT 2.5 版和 3.0 版为并行版本, 2.5 版支持移动平台的无线能力, 3.0 版则支持有线电脑。如欲了解关于各版本能力的完整信息,请参见《英特尔® 主动管理技术 SDK 入门指南》。如欲了解关于英特尔® AMT 无线功能的详细信息,请参见《英特尔® AMT 在无线环境中的技术考虑因素》。

图 2. 管理引擎(ME)架构
2.1 ME 外部内存(UMA)
少量主内存(通常少于系统内存总量的 1%)专用于执行 ME 代码和存储 ME 运行时间数据。此特性在概念上类似于 UMA 之于显卡,这一部分内存位于显卡 UMA 内存附近。从操作系统的角度看,显卡 UMA 内存空间显然更大一些。ME 代码压缩存储在闪存中,使用时无需访问硬盘。
芯片组可以保护这一内存范围免受主 CPU 的访问,从而阻止恶意软件访问这部分内存。需要注意的是,这部分空间总是从内存通道 0 中获取,因此必须安装通道 0 DIMM 插槽。如果没有安装内存插槽 0,则 ME 不能使用 UMA。
即使在系统处于 S3 状态时,ME 也可访问其专用内存空间,且显卡和内存控制器中枢可以动态地切换内存电源状态,支持 ME 访问。此能力可支持较低的平均功率,这是因为内存只有在需要的时候才‘打开’。
2.2 局域网(LAN)带外通信架构
如图 3 所示,无论电源状态和操作系统条件如何,英特尔® AMT 都可通过 SOAP 为电脑的远程通信提供中央管理控制台。此机制将支持 ME 固件共享一个通用的局域网(LAN)MAC、主机名,并和操作系统共享 IP 地址,从而帮助最大限度降低支持英特尔® AMT 功能的 IT 基础设施的成本。
图 3. 英特尔® AMT 带外通信架构
带外通信架构可支持下列过滤器:
• ARP:将包含特定 IP 地址的 ARP 数据包转发给主机和/或微控制器
• DHCP:将 DHCP Offer 和 ACK 数据包转发给主机和/或微控制器
• IP 端口过滤器(HTTP 和重定向):将进入的特定端口上的 IP 数据包重定向至微控制器
2.3 英特尔® AMT 主机和网络访问框架
如图 4 所示,主机操作系统和 ME 之间的通信通过主机嵌入式控制器接口(HECI)完成。HECI 为双向传输,主机或英特尔® AMT 固件均可以启动交易。此外,交易可以由固件不同步完成,然后再实现同步。
图 4. 英特尔® AMT 主机和网络访问
一对客户机之间的讯息流不会妨碍另一对客户机之间的讯息流,讯息的长度受客户机接收缓冲区(而不是 HECI 驱动程序)的限制。要支持较长的讯息,HECI 软件和固件驱动程序可将讯息拆分为若干个数据包。HECI 总线讯息负责传输流量控制信息,HECI 驱动程序则会在相关客户机的缓冲区做好接收准备时才传输讯息。
2.4 共享的闪存架构和许可
与英特尔® AMT 相关的闪存由多个主设备(主机、ME 和 LAN)共享。闪存保护方案不支持任何主设备直接对闪存进行写入操作,且每个闪存区域的读/写许可都在硬件中得到增强。每个主设备都有一个授权重写(Grant Override)寄存器,能够重写其描述符许可,从而使其它主设备能够访问各自的区域。在初始的制造和服务返回过程中,一个安全性重写条(security-override strap)将被用于对闪存进行编程(或重新编程)。
为 BIOS、ME、GbE 和闪存描述符(Flash Descriptor)确定区域边界。为 BIOS、GbE 和 ME 确定主设备请求器 ID,并为各区域的每个主设备确定读/写访问权限。在上电复位时,I/O 控制器中枢硬件将读取闪存描述符(偏差为 0)。在确定系统是否在描述符模式下运行(具有安全性)时,使用了32 位闪存签名。如果读取的签名无效,则描述符模式将被禁用,任何主设备都可访问整个闪存。
2.5 第三方数据存储(3PDS)
英特尔® AMT 提供了一个通用的非易失性数据存储器供某些应用使用,这些应用可为文件系统提供与操作系统相比同样强大的安全性。该数据存储器不是可信平台模块;它通过部署在 ME 固件中的存储管理器来提供。
数据存储可接受通过本地主机和网络接口传输的存储命令。使用软件厂商和平台所有者选择的一个串联字符串再加上唯一的用户 ID 就可识别出具体的应用。它使用分配列表来‘超额预订’分配权利,同时仅向注册到系统的应用分配实际存储空间,以保护为某个应用分配的空间免受其它应用访问(除非该应用授予许可)。
存入非易失性数据存储中的数据的结构、含义和重要性对存储管理器保持透明。应用对其存储的数据所需要的任何安全机制负责(如敏感数据或密钥的加密),同时还负责其应用 ID、数据存储配置和任何已存储数据的备份和恢复。
当前闪存最小为 2 MB,定义为分配给 BIOS、ME 固件和 3PDS 的空间总量。它支持合作伙伴空间,可为 4 个合作伙伴分别提供 48 KB 的空间,但不支持非合作伙伴空间。
2.6 管理能力的发展
下表总结了与前代管理技术相比,英特尔® AMT 的管理能力的发展。
3. 英特尔® AMT 平台安全性
为保护整个系统的数据完整性,英特尔® AMT 集成了综合全面的安全措施。
3.1 ME 固件安全性:固件图像保护
ME 固件安全的主要目标是确保只有经过英特尔认可的固件图像才能在英特尔® AMT 子系统硬件上运行,且只有 IT 管理员才能使用获得认可的英特尔固件更新图像。
在设计阶段,使用英特尔代码签名系统可在安全的英特尔位置上生成一个固件签名密钥(FWSK)公用/专用对。专用 FWSK 由英特尔秘密地进行妥善保管。英特尔® AMT ROM 包含了公用密钥的一个 SHA-1 散列(基于 RSA,固定的2048 位系数)。每个经认可的生产固件图像都由英特尔使用专用的 FWSK 进行数字签名。公用 FWSK 和数字签名均附在固件图像清单中。
在运行时间内,安全的启动序列可通过根据 ROM 中的散列值启动 ROM 以验证闪存上的公用 FWSK 是否有效来完成。通过公用 FWSK,ROM 将验证与清单中的数字签名相对应的固件图像,如果成功,系统将继续从闪存代码启动。
3.2 网络与本地主机流量安全性
网络安全性由 TLS 提供,由 XML 编码的讯息将通过 HTTP 压缩到 SOAP 中。TLS 相互身份验证使用密码套件 TLS_RSA_WITH_AES_128_CBC_SHA、TLS_RSA_WITH_RC4_128_SHA、TLS_RSA_WITH_NULL_SHA(导出/导入),和离线生成并提供的 RSA 证书和密钥(2048 位系数)来完成。相互身份验证需要在客户机和服务器上均提前安装证书。
英特尔® AMT 存在两项本地特性:3PDS 和本地代理存在。这两个特性之间的流量在主机和英特尔® AMT 上运行并通过 SOAP/TLS。本地接口根据网络接口安全性进行调整。
3.3 身份验证
每台英特尔® AMT 设备必须配备至少一个(最好是唯一的)用户名/密码对。由于很难确保唯一性,因此常见的用户名/密码通常成为潜在的弱点。为了解决这个难题,英特尔® AMT 系统支持 Kerberos,集成了 Windows* 域身份验证。此机制基于被普遍接受的一系列互联网标准,包括 Kerberos v5(RFC 1510)、GSS-API(RFC 1964)和 SPNEGO(RFC 2478)。
通过基于群组的 Windows 身份验证方法,而不是将创建新方法的责任交给管理员,此方法可简化用户 ID 的管理。可根据活动目录中 IT 管理员的群组成员资格来授予或拒绝其管理英特尔® AMT 设备的优先权。
3.4 英特尔® AMT 无线安全性
由于 ME 不能直接与驻留在主机上的无线简档实现同步,因此无线简档(包括网络密钥和其它身份验证信息)必须直接编入固件。
支持无线英特尔® AMT 接口配置的管理应用必须满足其客户无线网络的各种安全拓扑的要求。英特尔® AMT 无线管理接口既不支持开放的无线网络,也不支持无线等效协议(WEP)。使用英特尔® AMT 无线连接通常要求使用包含在 802.11i 规范中或与之相关的安全性,如 Wi-Fi 受保护访问(WPA)或强健的安全网络(RSN)。它还可以选择性地支持 802.1x 身份验证。
需要注意的是,在因设置和配置对无线英特尔® AMT 接口进行初次访问时,根据定义,它没有配置任何无线安全简档。因此,无线英特尔® AMT 接口的初始设置和配置必须通过有线连接而不是无线连接来完成。
3.5 3PDS 安全性
命令路径安全性(Command Path Security)将利用本地和远程操作系统网络堆栈(即带有相互身份验证的 TLS )中包含的安全机制来保障应用存储命令的传输路径的安全。访问管理命令由一个单独的 HTTP 身份验证 ACL(存储管理)进行控制。访问寄存和存储命令由另一个 HTTP 身份验证 ACL(存储)进行控制。
闪存设备的物理保护和隔离由芯片组硬件提供。由于闪存设备能提供一定数量的写入循环(每个 4 Kb 闪存模块约 10 万次操作),芯片组还能提供相关机制来检测和防止闪存磨损,并阻止恶意和非合作伙伴应用对闪存的磨损攻击。此功能可通过防止应用 ID 伪装攻击(ID/接口结合)的机制来增强。
3.6 出口/进口考虑因素
为方便从美国出口,英特尔® AMT 系统被划入‘商品’类别,它们不受出口限制规定约束。如果进口国需要遵守保密规定,则可以通过禁用保密规定来创建 SKU,方法为将芯片融合为 CRYPTO_ENA = FALSE,对于 TLS 则可使用密码套件 RSA_WITH_NULL_SHA。
4. 英特尔® AMT 接口
英特尔® AMT 提供 2 种常见接口:网络接口和本地接口。网络接口也包括 2 种:SOAP 接口和嵌入式网络用户接口。SOAP 接口为企业模式,支持由第三方软件制造商创建的管理控制台应用控制的强大功能。与 SOAP 接口相关的全系列 API 均包含在免费提供的英特尔® AMT SDK 中。嵌入式网络用户接口拥有更多受限的功能,可在无企业管理软件的情况下(如中小型企业环境)使用。本地主机接口供软件代理用于访问 3PDS 和支持代理存在。
4.1 网络接口概述
如图 5 所示,假设系统连接到网络和备用电源,则英特尔® AMT 网络接口独立于操作系统之外,且始终可用(注意:无线管理接口不能用于低系统功率状态)。它显然被用作基于 SOAP 的 API(基于Web 服务描述语言(WSDL)1.1)。网络接口支持的每项服务均由独特的 WSDL 文件提供。网络接口的安全措施包括通过用户名/密码证书进行 HTTP Digest(RFC 2617)身份验证。该接口还支持 TLS 保障的连接和相互身份验证。英特尔® AMT 2.5 版及更高版本还支持 802.11x. 和思科的网络访问控制(NAC)。
图 5. 英特尔® AMT 网络接口拓扑
4.2 SOAP API 域
域(Realms)就是一种在固件管理范围内进行责任分区的方法。身份验证通过 HTTP 或 HTTPS 上进行,访问控制列表则保留在固件中。
4.3 API 概述
下列各表概述了多种 API :
GeneralInfo APIs:一般信息 API:
The GeneralInfo APIs provides general (read only) information for various (local or network access) management applications.
一般信息 API 向各种(本地或网络访问)管理应用提供一般(只读)信息。
HardwareAsset APIs:
The HardwareAsset APIs perform operations that return hardware asset data.
Remote Control APIs:
The Remote Control APIs managing the power and booting state of the Intel AMTmanaged system.
ISV Storage APIs:
The ISV storage APIs are used by ISVs to access the Intel AMT non-volatile storage feature
SOL Handling APIs:
IDER Handling APIs:
Event Manager APIs:
Event Manager APIs include operations that can be used by a remote application to subscribe for events, set event filters and manage the event log
5. 英特尔® AMT 软件开发套件及其它开发人员工具
英特尔® AMT 软件开发套件(SDK)可提供相关工具和功能,帮助开发人员开发充分利用英特尔® AMT 的可管理性应用。请访问 http://www.intel.com/cd/ids/developer/asmo-na/eng/321157.htm,免费下载英特尔® AMT SDK 的最新版本。SDK 中包含以下组件:
• 英特尔® AMT 存储库和 API 可提供英特尔® AMT 非易失性存储调用的提取信息。该程序库可支持本地和远程访问英特尔® AMT 机器上的非易失性存储(无论其电源状态如何),其中包括静态库、接头、代码范例和 C 语言 API。
• 英特尔® AMT 重定向库和 API 可提供重定向调用、局域网(LAN)串行(SoL)控制台重定向、和 IDE 重定向(IDER)的提取信息。该程序库可支持通过 SoL 和 IDER 会话远程管理英特尔® AMT 机器,其中包括动态库(Windows)、静态库(Linux*)、接头文件、代码范例和 C 语言 API。
• 英特尔® AMT 网络接口包括 WSDL 文件中定义的基于 SOAP 的网络接口。
• 文档包括用户指南、存储设计指南、网络设计指南和验证设计指南。此外还包括重定向库用户指南、范例设置开发人员指南、小型企业配置用户指南和系统防御特性与代理存在概述。
英特尔® AMT SDK 可与包含 SOAP 堆栈的任何编程语言共同使用,如 gSOAP(C++)、ATL SOAP(MS C++,虽然不支持可选参数且已经报告存在内存泄漏)和 C# 等。SDK 需要 Microsoft .NET Framework v1.1(一些范例和其它组件需要 .NET Framework 2.0),而 Windows Storage 库需要 Microsoft Platform SDK(支持 WinHTTP)。
英特尔还提供了更多可免费下载的工具,供开发人员在创建支持英特尔® AMT 的管理应用时使用。如欲了解关于这些工具的讨论,请参见英特尔® AMT 开发人员资源指南。
6. 英特尔® AMT 开发人员支持
凡创建旨在充分利用英特尔® AMT 的产品的开发人员均可获得英特尔的技术支持。为此,英特尔网站上专门开辟了可管理性开发人员论坛,为设计师/开发人员关于英特尔可管理性技术的问题提供支持,包括英特尔® AMT 软件开发套件(SDK)、开发人员工具套件(DTK)、以及设置与配置服务(SCS)。英特尔正在围绕可管理性构建一个社区,以帮助促进发展和鼓励开发工作。业界同仁和监控此论坛的英特尔代表都会积极解答论坛中的各个问题。
7. 其它资源