前言:首先,这篇是微软关于Windows8 UEFI安全启动协议解读的完整版,前几日已有不少节选被编译出来,从时间上讲确实落后了;但鉴于各种对Microsoft 实施安全启动的方式的误解,比如解读为微软恶意打压Linux等。Win8之家决定以此文给大家一个交代,相信有助于大家的分辨。由生态系统团队的 Tony Mangefeste 撰写,来自Building Windows 8博客。
指导原则 – 在安全方面毫不迁就
UEFI 安全启动协议是实现跨平台和固件安全的基础,与体系结构无关。在执行固件映像之前,安全启动基于公钥基础结构 (PKI) 流程来验证固 件映像,帮助降低遭受启动加载程序攻击的风险。在 Windows 8 中,Microsoft 依赖此协议来改进用户的平台安全性。
什么是 UEFI?
UEFI(统一可扩展固件接口)由 UEFI 论坛统一管理,UEFI 论坛是由芯片组供应商、硬件供应商、系统供应商、固件供应商和操作系统供应商联合组建的一个组织。
UEFI 为个人计算机定义了下一代固件接口。基本输入和输出系统 (BIOS) 固件最初采用汇编语言进行编程,并使用中断来执行输入/输出操作,在出现之初即确定了 PC 生态系统的基本框架,但是随着计算技术的发展,“现代固件”定义应运而生,以满足下一代平板电脑和设备的需求。
UEFI 旨在定义一种标准通信方式,规范启动过程中操作系统与平台固件之间的通信。在 UEFI 出现之前,在启动过程中主要利用软件中断机制与硬件进行通信。现代 PC 可以在硬件和软件之间更快速、更高效地执行块输入/输出操作,在设计中使用 UEFI 可以发挥硬件的全部潜能。
什么是安全启动?
UEFI 具有固件验证过程(称为“安全启动”),该过程在 UEFI 2.3.1 规范第 27 章中定义。安全启动定义平台固件如何管理安全证书,如何进行固件验证以及定义固件与操作系统之间的接口(协议)。
Microsoft 的平台完整性体系结构利用 UEFI 安全启动以及固件中存储的证书与平台固件之间创建一个信任根。随着恶意软件的快速演变,恶意软 件正在将启动路径作为首选攻击目标。此类攻击很难防范,因为恶意软件可以禁用反恶意软件产品,彻底阻止加载反恶意软件。借助 Windows 8 的安全 启动体系结构及其建立的信任根,通过确保在加载操作系统之前,仅能够执行已签名并获得认证的“已知安全”代码和启动加载程序,可以防止用户在根路径中执行 恶意代码。
安全启动只是 Win8平台完整性保障系统的一个组成部分。结合 UEFI,Microsoft 还对其他可用硬件实施整体的安全策略,以便进一步增强平台的安全性。