windows操作系统中安装驱动文件时的关于数字签名的知识

来源:互联网 发布:电脑的mac地址怎么查看 编辑:程序博客网 时间:2024/06/07 00:17

      在Windows 2000以前的Windows版本中,安装操作系统之外的软件,可能会覆盖掉一些共享的系统文件,例如动态链接库(*.dll文件)、可执行文件(*.exe),这样可能会导致程序运行不稳定、系统出现故障,这主要是由于所谓的DLL陷阱所导致。

      为了彻底解决这一问题,在Windows 2000和Windows XP中,微软引入了“Windows文件保护”机制用来防止替换受到保护的系统文件,包括*.sys、*.dll、*.ocx、*.ttf、*.fon、*.exe等类型的文件,Windows文件保护在后台自动运行,可以保护Windows安装程序安装的所有文件。

      那么操作系统是如何判断并进行文件保护的呢,一个最主要的手段就是为重要系统文件签名,并实时监控对这些文件的改动。Windows文件保护能检测到其它程序要替换或移动受保护的系统文件的企图。并自动检测文件的数字签名,以确定新文件的版本是否为正确的Microsoft版本。如果文件版本不正确,Windows文件保护会从Dllcache文件夹或Windows CD中存储的备份文件替换该文件。如果Windows文件保护无法定位相应的文件,它会提示您输入该位置。Windows文件保护还会将事件写入事件日志,注明曾有过文件替换企图。

      默认情况下,Windows文件保护始终处于启用状态,同时允许Windows数字签名文件替换现有文件。目前,签名文件通过以下方式进行分发:Windows Service Pack、修补程序分发、操作系统升级、Windows Update、Windows设备管理器/类别安装程序。

      大家可能会有看到过一些软件或硬件的外包装上出现“为 Microsoft Windows XP设计(Designed for Microsoft Windows XP)”的徽标,对于显示“Designed for Microsoft Windows XP”徽标的硬件和软件产品,它们已经通过Microsoft提供的测试步骤对其是否与Microsoft Windows操作系统兼容进行过测试,可以在Windows XP操作系统中达到最佳性能,它们拥有了Microsoft提供的数字签名,以表明已经通过了对该产品与Windows的兼容性进行过测试。

      但对于其他没有提供或者我们不知道它们是否有“为 Microsoft WindowsXP设计”徽标的软件和硬件产品的驱动程序,我们如何判断它是否有Windows XP的数字签名呢?WindowsXP给我们提供了一个文件签名验证程序。在“系统信息”窗口中提供的系统工具列表中,可以看到文件签名验证程序,取代了原来Win9x提供的系统文件检查器。通过该工具可以检查当前状态下系统基本文件,是否发生覆盖、是否存在非验证安装等。另外要启动“文件签名验证”,你也可依次单击“开始”-“运行”,然后键入sigverif,然后单击“确定”。

      文件签名验证程序的使用方法非常简单,它的操作界面如所示,打开程序后单击界面中的“开始”按钮,程序会自动开始检测系统的文件。如果发现异常,会给出扫描结果对话框,在其中会给出所有发现的未经过验证的文件列表。使用“文件签名验证”可标识计算机上的未签名文件并查看有关它们的文件名、文件位置、文件的修改日期、文件类型和文件的版本号等信息。由于Windows XP使用了数字签名技术,这项扫描过程非常快,而且也非常准确。

      此外,该工具界面中有一个“高级”按钮,单击它程序会给出相关设置界面,其中包括了使用的扫描方式和可扫描的对象设置、是否扫描未经过数字签名的文件、创建扫描日志文件的方式设置等,根据自己的需要选择即可。

      对于普通电脑用户而言,如果检测到自己电脑中带有一些未经过Windows XP的数字签名的软件,笔者建议你更新该软件或下载过该软件的最新版本,以保证该软件可以正常地在Windows XP下使用。另外强烈建议仅使用带有“为Microsoft Windows XP设计”徽标的设备驱动程序。因为安装没有Microsoft数字签名的设备驱动程序可能会使系统无法使用,容许病毒进入计算机,会立即或一段时间后损害计算机的正确操作。如果你的电脑硬件中存在未通过数字签名认证的硬件驱动,你最好将它更新为更高的版本。

实例1:验证Windows XP的核心文件是否被替换
  现在Windows XP版本有大企业版本、联想随机版本等,那么如何来验证手头的Windows XP属于微软原版呢?
  这里,我们只要检查Windows XP的系统文件是否能够通过文件签名验证即可。在“开始→运行”对话框键入“sigverif”命令,打开“文件签名验证”窗口,点击“开始”按钮,首先会建立文件列表,稍候会看到图3所示窗口,这里未经过数字签名的文件大都是驱动程序文件,只要winlogon.exe、licdll.dll两个文件未出现在列表中,那么说明你的Windows XP未被篡改过。

实例2:驱动程序签名
      Windows XP自带的驱动程序都通过了微软的WHQL数字签名,在查看通过数字签名的驱动程序时会看到一个图标。不过当我们在安装或升级设备驱动程序时,经常会看到下图所示的警告信息,说是“没有通过Windows徽标测试,无法验证它同Windows XP的相容性”,其实这是Windows XP的文件保护功能在起作用,以降低用户安装无保护驱动程序的风险,当然我们只要选择“仍然继续”按钮就可以忽略这一提示并完成驱动程序的安装。

      假如你觉得这个警告提示框非常烦人,那么可以打开“系统属性”窗口,切换到“硬件”选项页,点击“驱动程序签名”按钮进入下图窗口,在“文件签名验证”下有3个选项:

      忽略:允许该计算机安装所有设备驱动程序,无论其是否具有数字签名。