系统密钥实用工具技术概述

适用于:Windows Server 2022、Windows Server 2019、Windows 8.1、Windows Server 2012 和 Windows Server 2012 R2

本主题面向 IT 专业人员,介绍了系统密钥实用工具 (Syskey),该工具可保护 Windows 操作系统中的安全帐户管理器 (SAM) 数据库。

注意

Windows 10 版本 1607、Windows Server 2016 及更高版本中不再支持 Syskey 实用工具。

什么是系统密钥实用工具?

用户帐户的密码信息存储在工作站和成员服务器上注册表的 SAM 数据库中。 在域控制器上,密码信息存储在目录服务中。 密码破解软件以 SAM 数据库或目录服务为目标来访问用户帐户密码的情况并不罕见。 系统密钥实用工具 (Syskey) 针对密码破解软件提供了一道额外的防线。 它使用强加密技术来保护存储在 SAM 数据库或目录服务中的帐户密码信息。 与破解未加密的帐户密码相比,破解加密的帐户密码更困难且更耗时。

“启动密钥”对话框中有三个系统密钥选项,这些选项旨在满足不同环境的需求,如下表所述。

系统密钥选项 相对安全级别 说明
系统生成的密码,在本地存储启动密钥 + 使用计算机生成的随机密钥作为系统密钥,并将密钥的加密版本存储在本地计算机上。 此选项为注册表中的密码信息提供了强加密,使用户无需管理员输入密码或插入磁盘即可重启计算机
管理员生成的密码,密码启动 ++ 使用计算机生成的随机密钥作为系统密钥,并将密钥的加密版本存储在本地计算机上。 密钥还受管理员选择的密码保护。 当计算机处于初始启动顺序时,系统会提示用户输入系统密钥密码。 系统密钥密码不会存储在计算机上的任何位置。
系统生成的密码,将启动密钥存储在软盘上 +++ 使用计算机生成的随机密钥,并将密钥存储在软盘上。 系统需要包含系统密钥的软盘才能启动,并且必须在启动过程中出现提示时插入该软盘。 系统密钥不会存储在计算机上的任何位置。

使用系统密钥实用工具是可选的。 如果包含系统密钥的软盘丢失,或者忘记了密码,则只有在将注册表还原到使用系统密钥之前的状态后才可启动计算机。

系统密钥实用工具的工作原理

每次将新用户添加到计算机时,Windows 数据保护 API (DPAPI) 都会生成一个主密钥,用于保护在该用户的上下文中运行的应用程序和服务所使用的所有其他私钥,例如加密文件系统 (EFS) 密钥和 S/MIME 密钥。 计算机也有自己的主密钥,用于保护系统密钥,例如 IPsec 密钥、计算机密钥和 SSL 密钥。 然后,所有这些主密钥都受计算机的启动密钥保护。 启动计算机时,启动密钥会解密主密钥。 启动密钥还保护每台计算机上的本地 SAM 数据库、计算机的本地安全机构 (LSA) 机密、域控制器上 Active Directory 域服务 (AD DS) 中存储的帐户信息,以及用于在安全模式下进行系统恢复的管理员帐户密码。

使用 Syskey 实用工具可以选择该启动密钥的存储位置。 默认情况下,计算机会生成一个随机密钥,并将其分散到注册表中;复杂的模糊处理算法可确保分散模式在每个 Windows 安装上都不同。 可以将其更改为其他两种 Syskey 模式之一:可以继续使用计算机生成的密钥,但将其存储在软盘上,或者可以在启动期间让系统提示输入用于派生主密钥的密码。 始终可以在这三个选项之间进行更改,但如果已启用“系统生成的密码,在软盘上存储启动密钥”或“管理员生成的密码,密码启动”,并且丢失了软盘或忘记了密码,则唯一的恢复选项是使用修复磁盘将注册表还原到启用 Syskey 模式之前的状态。 你将丢失从那时到现在所做的任何其他更改。 若要更改启动密钥,请打开命令提示符,然后键入“syskey”以运行 Syskey 实用工具。