下一代安全计算基础

来自BetaHeritage Wiki
跳到导航 跳到搜索

下一代安全计算基础


代号为 Palladium (Pd) 的下一代安全计算基础 (NGSCB) 是一种硬件和软件架构,最初计划包含在 Microsoft Windows“Longhorn”操作系统中。 该架构的开发始于 1997 年。 NGSCB 依靠新的软件组件和专门设计的硬件为具有更高安全要求的应用程序和服务创建受保护的内存空间。]Microsoft 对 NGSCB 的主要声明目标是“保护软件免受软件侵害”。 在 2002 年以“钯”的名义宣布其存在后,对 NGSCB 的接受大多是负面的。 担忧包括软件锁定和垄断、失去对信息的控制,以及强加有利于音乐和电影行业的数字版权管理技术。 微软在 WinHEC 2004 中修改了 NGSCB,然后宣布其中只有一个部分,即 Bitlocker 驱动器加密功能,将随 Windows Vista 一起提供。


可信平台模块(TPM)

可信平台模块 (TPM) 是由可信计算组指定的加密协处理器。 它包含加密密钥,执行基本的加密服务,并存储加密散列或平台测量值。 TPM 锚定密钥、数字证书和其他凭据的信任链。

作为 TPM 制造过程的一部分创建的公私密钥对称为背书密钥 (EK),它是唯一的,仅生成一次,是建立用于证明的身份的根密钥。 它是一个 2048 位的 RSA 密钥对。 微软声称它不会参与生成 EK。 TPM 所有者可以启用/禁用对 EK 的访问,从而启用/禁用证明。

EK 的私钥组件永远不会离开,并且只有 TPM 知道。 在操作系统中执行的软件永远无法访问私钥。 它只会用于实例化 NGSCB 环境并为联系提供服务。

在支持 NGSCB 的计算机中,即使是 TPM 上的公钥(也称为平台凭证)也会受到保护,以防止意外泄露或未经授权的访问。 EK 的公钥组件将仅被 NGSCB 用于创建可用于确保匿名的“别名”密钥(在 TPM 规范中称为证明身份密钥 (AIK))。 公钥只能由机器所有者明确信任的软件访问(信任是由用户采取公开行动运行该软件而建立的)。 然后,受信任的软件可以执行机器所有者确定的策略。 这些策略控制其他客户端、服务器或服务对计算机公钥的访问。 与大多数公钥基础设施系统相比,支持 NGSCB 的系统中的公钥不会被广泛使用。 实施此设计是为了防止通过公钥在 Internet 上不加区别地跟踪用户或计算机。 [9] 它会受到保护以减轻身份分析和跟踪。

据微软称,Trusted Platform Module 1.2 版是第一个兼容 NGSCB 的版本。 以前的版本不包括所需的功能。

TPM 是信任根的实现,这意味着,如果系统以预期的方式为预期目的运行,则系统可以被信任。 信任根允许第三方依赖这种信任,并用于锚定给定系统唯一的证书验证链。

在启动期间,TPM 会收集有关运行环境的测量值:即 BIOS、加载程序、可信操作系统和应用程序。 “测量”意味着它将执行散列、记录和扩展适当的寄存器。 TPM 只会测量运行环境。 收集的 PCR 值稍后将用于 [[#Sealed storage|sealed storage & attestation。 远程实体可以根据 PCR 值决定是否信任运行平台。 使用这些测量值,秘密将被密封到平台的特定状态。 PCR 将成为密封消息的一部分。 对于大数据块,数据将被加密; 只有钥匙会被密封。 只有当 PCR 匹配时,Unseal 才会返回解密数据。

在Windows“Longhorn”的构建中

在已发布的 Windows“Longhorn”预重置版本中,NGSCB 组件驻留在 %SYSTEMDRIVE%\WINDOWS\NGSCB 中。 已知包含 NGSCB 目录和子文件夹的 Windows“Longhorn”的第一个版本是 4015.main 或 4039,最后一个是版本 4066.2004 年 5 月 5 日的一份报告指出,“NGSCB 代码不会在本周晚些时候发布的增强型 Longhorn 开发人员预览更新中更新”。该版本 4074 不包含\Windows\NGSCB文件夹。

随版本 4051 一起分发给 PDC 2003 与会者的 NGSCB 版本是 6.0.3252.1。 它必须通过命令提示符运行位于 \Windows\NGSCB\ 中的 ngconfig.exe 来手动配置。 同样分发给 PDC 2003 与会者的 Longhorn SDK 也包含用于 NGSCB 的 API。 提供NGSCB开发者预览版SDK是为了让开发者了解NGSCB的特性和API,但并未展示NGSCB的安全性。 SDK 使开发人员能够对他们可能在 NGSCB 版本 1 上编写的大多数应用程序进行原型设计,但警告说 SDK 可能会在 RTM 之前更改。 开发人员预览版还包括一个模拟 NGSCB 环境的软件模拟器; 运行它不需要新硬件。 开发者预览版支持在Visual Studio中创建代理(调试必须在命令行完成)、模拟密封存储、模拟认证、IPC和标准Windows和CRT风格的API,但没有提供安全路径和强进程隔离。

4051中配置NGSCB