【转】Microsoft Authenticode 参考指南

什么是 Authenticode?

今天的 Web 站点在为用户提供丰富体验的同时,也很有可能会使用户在无意中通过站点下载恶意代码。由于 Internet 上的活动内容越来越多,最终用户通常必须决定是否通过 Internet 下载代码。然而,最终用户在将软件下载到计算机上之前,根本无法知道该软件会产生什么危害。

与实际环境中不同,Internet 上的软件没有贴标签或用薄膜包装。因此,最终用户不能明确知道是谁在 Internet 上发布了某个软件。他们也不知道代码是否已被篡改过。因此,最终用户在通过 Internet 下载 Java 小程序、插件、Microsoft©ActiveX© 控件和其他可执行文件时,要承担一定的风险。

Internet Explorer (IE) 使用 Authenticode© 技术及其基本代码签名机制来帮助最终用户解决此问题。虽然不能保证代码绝对没有错误,Authenticode 在用户将软件下载到其 PC 上之前,可确定签名软件的发行者的身份,并核实软件没有被篡改过。因此,最终用户在决定是否下载代码时可以做到心中有数。

用于支持这种提议的安全方法依赖于经过测试且证实可行的技术。Authenticode 依靠数字证书并且基于在业界已成功使用一段时间的规范,其中包括公钥加密标准 (PKCS) #7(加密密钥规范)、PKCS #10(证书请求格式)、X.509(证书规范)以及安全哈希算法 (SHA) 和 MD5 哈希算法。

本文讨论 Microsoft 的 Authenticode 技术、数字证书和 IE 对可能有危险的内容的处理。

数字证书概述

虽然 Authenticode 用户使用数字身份验证时并不需要精通这种技术,但了解基本概念是很有帮助的。数字证书是电子凭据,它用于验证 Web 上个人或单位的身份。数字证书所有者的身份与一对电子密钥绑定到一起,可以使用这对密钥对数字信息进行加密和签名,确保密钥实际属于指定的个人或单位。

数字证书至少包含以下信息:

  • 所有者的公钥
  • 所有者的名字或别名
  • 数字证书的到期日期
  • 数字证书的序列号
  • 颁发数字证书的证书颁发机构的名称
  • 颁发数字证书的证书颁发机构的数字签名

数字证书还可能包含用户指定的其他信息,其中包括:

  • 邮政地址
  • 电子邮件地址
  • 基本注册信息(国家/地区、邮政编码、年龄和性别)

证书颁发机构

数字证书是由称为证书颁发机构 (CA) 的可信第三方验证、颁发和管理的。CA 必须提供三种基本元素组合:技术(如安全协议和标准、安全消息传递和加密)、基础结构(包括安全设备、客户支持和冗余系统)以及准则(包括为用户活动和争端定义的信任模型和具有法律约束力的框架)。简而言之,CA 必须是全球性的可信联机服务,并且是全天候的服务。除了从商业 CA 获取数字证书外,用户还可以实施证书服务器,如 Microsoft Certificate Server。

商业 CA 颁发数字证书,验证 Web 上个人和单位的电子身份。CA 的主要职责是确认申请数字证书的个人或单位的身份,因此可确保数字证书中包含的标识信息的有效性。

CA 提供以下类型的服务:

  • 提供、管理和续订数字证书
  • 验证个人和单位的身份
  • 验证个人和单位的注册
  • 发布和维护 CA 已吊销的所有证书的证书吊销列表 (CRL)
  • 处理安全性破坏所带来的法律和赔偿责任问题

很多商业 CA 为 Microsoft 产品提供证书服务,并且还提供各种其他的证书服务。有关目前支持 Microsoft 产品的 CA 的列表,请访问 http://www.microsoft.com/security/

数字证书类型

商业 CA 颁发各种类型的数字证书,例如:

  • 个人对通讯进行数字签名并确保在 Internet 和 Intranet 上安全地进行交易所使用的个人证书
  • 在客户端和服务器之间安全地进行交易所使用的客户端和服务器证书
  • 个人对其软件进行数字签名所使用的软件发行者证书
  • 商业软件发行者对其软件进行数字签名所使用的软件发行者证书

CA 还可以颁发很多其他类型的证书。每个 CA 都严格遵守其证书准则条款 (CPS)。最好访问 CA 的 Web 站点并阅读 CPS 以了解所颁发的证书及 CA 操作规程。

数字证书的使用

数字证书构成了 Web 上安全通讯以及客户端和服务器身份验证的基础。数字证书可用于:

  • 加密 Web 上客户机和服务器之间的安全通讯通道
  • 验证客户端和服务器的身分(用户身份验证),保证 Web 上客户端和服务器之间通讯信道的安全
  • 加密邮件以确保 Internet 电子邮件通讯的安全
  • 验证 Internet 电子邮件的所有者
  • 对 Web 上要下载的可执行代码进行签名
  • 验证从 Web 下载的已签名可执行代码的来源和完整性

系统管理员要考虑的数字证书事项

您可以为 IE 安装证书并配置证书设置,以控制安全的电子邮件通讯、活动内容下载以及客户端和服务器上的用户身份验证。系统管理员可以使用 Internet Explorer 管理包 (IEAK) 配置向导,为他们在用户组中部署的自定义 IE 软件包指定证书配置。可以使用 IEAK 配置文件管理器,通过 IE 的自动浏览器配置功能来管理用户组的证书配置。

您也可以实施一个证书服务器(如 Microsoft Certificate Server)来处理用户符合行业标准的数字证书的颁发、续订和吊销问题,而不是从商业 CA 获得所有的数字证书。他们可以将这些数字证书与支持安全套接字层 (SSL) 或专用通讯技术 (PCT) 的服务器结合使用,为 Internet 或 Intranet 建立安全的 Web 基础结构。对于具有复杂 Web 需求的大型单位,证书服务器在很多方面都优于商业 CA,其中包括完全控制证书管理策略和成本较低。在 IE 中,签名代码的处理方式与未签名代码有很大的差异。

当 IE 下载可能有危险的内容时,它检查代码是否由可信证书进行数字签名。根据浏览器对内容来源区域的“安全”设置(高、中、中低、低或自定义)以及 Authenticode 验证过程的成败,浏览器确定是否自动运行该内容。在 IE 中,可以在“工具”、“Internet 选项”中找到安全设置。如果将“安全”设置为“高”,则不会运行任何可能有危险的内容,无论内容是否经过签名。IE 默认的 Internet 区域安全级别为“中”。中等安全级别提示用户允许或拒绝内容激活,或者自动拒绝不安全和未签名的内容。在提示允许或拒绝签名内容时,允许用户检查签名者的数字证书。您可以为每个安全区域配置“安全”级别。

安全区域概述

区域安全性是一个体系,用户或系统管理员可通过它将浏览器能够访问的 Web 内容划分为不同的组。此 Web 内容可以是 HTML 文件、图形、ActiveX 控件、Java 小程序或可执行文件。可分别为每个组或区域 指派其自己的安全级别。这样,安全区域就会控制用户对 Web 站点的访问,具体取决于该站点所在的区域以及为每个区域分配的信任级别。IE 提供了以下预定义的安全区域:

  • “Internet”区域。Internet 上所有不在“可信站点”或“受限站点”区域中的站点均包含在此区域中。默认安全级别为“中”。
  • “本地 Intranet”区域。此区域包括单位防火墙内的所有站点(对于连接到本地网络上的计算机)。“本地 Intranet”区域还是需要访问用户硬盘的 Web 应用程序的宿主。默认安全级别为“中低”。
  • “可信站点”区域。您可以在此区域中指定您知道可以信任的 Internet 站点。这些站点可能包括公司分支机构,也可能包含可信商业合作伙伴的 Web 站点。默认安全级别为“低”。
  • “受限站点”区域。您可以在此区域中指定您知道不能信任的站点。默认安全级别为“高”。

第五个区域“本地计算机”存在但不包含在用户界面中,并且不能通过安全选项进行配置。只能在注册表中配置“本地计算机”。“本地计算机”包括本地磁盘上的大部分内容,但不包括 Temporary Internet Files 文件夹中缓存的类以及使用受限特权签名的类。此区域组成了完全可信的区域,对该区域没有或几乎没有进行任何安全限制。系统管理员也可以通过将网络和其他驱动器映射到其他区域(如有必要),将它们排除在该区域之外。

通过使用安全区域,您可以方便地为用户可能遇到的各种 Web 内容提供相应的安全级别。您可以接受每个区域的默认设置;将设置更改为其他预设选项(“高”、“中”和“低”);或者使用“自定义”设置进行更精确的控制。

例如,您可能完全信任公司 Intranet 上的站点,因此您可能要允许运行其中的所有类型的活动内容。只需将“本地 Intranet”区域设置为低安全级别即可。您对 Internet 上的内容可能没有那么大的把握,因此可以为整个“Internet”区域指派一个较高的安全级别,防止运行活动内容以及将代码下载到计算机上。然而,如果您信任特定的站点,则可以将各个 URL 或整个域放在“可信站点”区域中。Internet 上的其他站点已确知包含可能有害的 Web 内容,因此可以选择对这些站点进行最高级别的限制。

区域操作

当打开 HTML 页面时,将使用一个称为 Urlmon.dll 的 DLL 来确定从哪个区域加载它。为此,执行两个操作。首先,Urlmon.dll 检查是否使用代理服务器来获取 HTML 页面;如果使用的话,Urlmon.dll 自动知道该页面来自 Internet。然后,它检查注册表以了解该页面是否来自指定的可信或不可信位置,并且相应地设置安全区域。如果没有调用代理服务器,则分析 URL 以确定页面的来源。

您可以在以下两个注册表项中找到所有的区域安全设置:

  • HKEY_CURRENT_USER\Software\Microsoft\Windows \CurrentVersion\InternetSettings\ZoneMap

Internet Explorer 和 Authenticode
  • HKEY_CURRENT_USER \Software\Microsoft\Windows \CurrentVersion\InternetSettings\Zones

ZoneMap 项包含可信和不可信(受限)Web 站点、域和协议的列表。Zones 项包含实际的区域和适用于每个区域的安全设置。

设置安全区域

用户可以指定“本地 Intranet”、“受限站点”和“可信站点”安全区域中包含的站点。“Internet”区域包括没有包含在任何其他区域中的所有 Web 站点。

注意 可以按域名系统 (DNS) 名称或 IP 地址来查找 Web 内容的地址。对于使用 DNS 名称和 IP 地址的站点,一定要配置对相同区域的两个引用。通常,在代理跳过列表中,可按本地名称或 IP 地址标识本地 Intranet 站点。所有其他名称和 IP 地址将映射到“Internet”区域。然后,如果在“可信站点”或“受限站点”区域站点列表中输入某个站点名称,但没有输入其 IP 地址范围,那么当该 IP 地址访问“Internet”区域,则可以将该站点作为“Internet”区域的一部分来处理。

“本地 Intranet”区域

为了安全起见,在设置“本地 Intranet”区域时,还必须配置代理服务器和防火墙。区域中的所有站点应该位于防火墙内部,并且应该配置代理服务器,以使代理服务器禁止将外部 DNS 名称解析到该区域。在配置客户端区域安全时,您需要详细了解现有的网络配置、代理服务器和安全防火墙。

默认情况下,“本地 Intranet”区域包含本地域名和任何例外代理的地址。您应该确认这些设置确实可安全地用于安装,或者为安全起见调整这些设置。设置该区域时,您可以指定应该考虑 URL 的哪些类别。请参见表 1 中的“本地 Intranet”设置。您也可以将特定的站点添加到该区域中。

表 1 “本地 Intranet”设置

方法 说明
包括没有列在其它区域的所有本地 (Intranet) 站点 包括没有包含在其他区域中的所有站点。Intranet 站点的名称在 URL 内不包含句点(例如,http://local/)。http://www.microsoft.com/ 等站点名称不是本地站点,因为它包含句点。应该将此站点分配到“Internet”区域。Intranet 站点名称规则适用于 file:以及 http:URL。
包括所有不使用代理服务器的站点 包括所有不使用代理服务器的站点。典型的 Intranet 配置使用代理服务器来访问 Internet,并直接连接到 Intranet 服务器。此设置使用这种配置信息来区分 Intranet 和 Internet 内容以划定区域。如果配置了代理服务器,您应该取消选择该选项,并选择其他选项来指派 Intranet 区域成员。在没有代理服务器的系统中,此设置无效。
包含所有网络路径 (UNC) 包括所有网络统一命名约定 (UNC) 路径。网络路径(例如,\\local\file.txt)通常用于应该包含在“本地 Intranet”区域中的本地网络内容。如果某些网络路径不应包含在“本地 Intranet”区域中,则应该取消选择此选项,并选择其他选项来指派成员。例如,在某些公用 Internet 文件系统 (CIFS) 配置中,网络路径可以引用 Internet 内容。

注 如果 Intranet 中的某些部分不太安全或不可靠,则可以将它们分配到“受限站点”区域以将其排除在此区域之外。 

在核实“本地 Intranet”区域安全可靠后,您可能希望将该区域的安全级别更改为“低”,以允许执行范围更广的操作,并使 Web 页面具有更多的功能。您也可以在“自定义设置”中调整各个安全设置。

“受限站点”和“可信站点”区域

您可以将信任级别介于“Internet”区域和“本地 Intranet”区域之间的站点分配到“受限站点”和“可信站点”区域中。

默认情况下,为“可信站点”区域指派“低”安全级别设置。它用于高可信站点(如与您经常有业务联系的公司),有时也将其称为“Extranet”。如果将某个站点分配到“可信站点”区域,则允许该站点执行功能更强的操作。另外,IE 要求用户所做的安全决策更少。如果您信任某个站点的所有内容不会对用户的计算机造成任何损害,则将该站点添加到此区域中。对于“可信站点”区域,强烈建议您使用通过 SSL 的 HTTP (HTTPS) 协议,或者保证站点连接安全可靠。

默认情况下,为“受限站点”区域指派“高”安全级别设置。此区域用于您不信任的站点,使用这种区域的情况极少。如果将某个站点分配到“受限站点”区域,则仅允许该站点执行很少量的且非常安全的操作。由于为了保证此极高的安全级别而对性能进行限制,区域中的某些 Web 页可能无法正常工作。

IE 的安全级别

正如表 2 所示,IE 具有 5 个安全级别,可以将它们应用于不同的区域。

表 2 IE 安全级别

安全级别 说明
高(最安全) 不包含可能损害用户计算机的内容。
中(较安全) “Internet”区域的默认设置。提醒用户并询问他们是否要运行可能有害的内容。
中低 “本地 Intranet”区域的默认设置。
在不通知用户的情况下运行可能有害的内容。
自定义级别(用于专业用户) 指定区域的自定义设置。

表 3 中详细介绍了默认的“低”、“中低”、“中”和“高”安全级别。您可以接受默认设置,也可以根据需要配置自定义区域设置。

表 3 安全选项详细信息

安全选项 低级 中低级 中级 高级
下载已签名的 ActiveX 控件 启用 提示 提示 禁用
下载未签名的 ActiveX 控件 提示 禁用 禁用 禁用
对没有标记为安全的 ActiveX 控件进行初始化和脚本运行 提示 禁用 禁用 禁用
运行 ActiveX 控件和插件 启用 启用 启用 禁用
对标记为可安全执行脚本的 ActiveX 控件执行脚本 启用 启用 启用 禁用
文件下载 启用 启用 启用 禁用
字体下载 启用 启用 启用 提示
Java 权限 低安全级 中安全级 高安全级 禁用 Java
跨域访问数据源 启用 提示 禁用 禁用
允许 META REFRESH 启用 启用 启用 禁用
显示混合内容 提示 提示 提示 提示
没有证书或只有一个证书时不提示进行客户证书选择 启用 启用 禁用 禁用
拖放或复制和粘贴文件 启用 启用 启用 提示
桌面组件的安装 启用 提示 提示 禁用
在 IFRAME 中加载程序和文件 启用 提示 提示 禁用
跨域浏览子框架 启用 启用 启用 禁用
软件频道权限 低安全级 中安全级 中安全级 高安全级
提交非加密表单数据 启用 启用 提示 提示
用户数据持续性 启用 启用 启用 禁用
活动脚本 启用 启用 启用 禁用
允许通过脚本进行粘贴操作 启用 启用 启用 禁用
Java applet 脚本 启用 启用 启用 禁用
用户身份验证 — 登录 使用当前用户名和密码自动登录 仅在 Intranet 区域中自动登录 仅在 Intranet 区域中自动登录 提示用户名和密码

注 取决于 IE 版本,安全选项、默认设置和位置略有不同。

管理员也可以使用 IEAK 配置向导和 IEAK 配置文件管理器来配置和管理安全区域,以便将自定义软件包部署在用户组中。

更改安全级别

如果您选择不接受 IE 中预设区域的默认安全级别,则可以为任何区域方便地指派不同的安全级别:高、中、中低、或低。

注 如果您要自定义某个区域的安全级别,请选择“Custom Level (for expert users)”,然后选择符合您需要的设置。有关更多信息,请参阅下一部分“自定义安全区域”。

自定义安全区域

高级用户和系统管理员可通过使用“Security”选项卡上的“Custom Level”选项,进一步加强对安全设置的控制。再者,无论您是从 IE、IEAK 配置向导还是从 IEAK 配置文件管理器访问用于自定义安全区域的选项,这些选项都是相同的,但某些 Java 控件例外。

配置自定义设置

可以将 IE 的自定义安全选项分为以下类别:

  • ActiveX 控件和插件
  • 下载文件
  • Java
  • 杂项
  • 脚本
  • 用户身份验证

以下几节介绍了每种安全类别的安全选项。

ActiveX 控件和插件

这种选项规定如何下载、运行 ActiveX 控件和插件以及执行其脚本。

注 如果 ActiveX 控件不是从使用该控件的页面所在的站点下载的,则应用这两个站点区域设置中较严格的一个。例如,如果用户访问的 Web 页所在的区域设置为允许下载,而从中下载代码的另一个区域设置为先提示用户,则使用提示设置。

下载已签名的 ActiveX 控件

此选项确定用户是否可以从区域中的某个页面下载已签名的 ActiveX 控件。此选项的设置有:

  • 启用,在没有用户干预的情况下下载已签名的控件。
  • 提示,询问用户是否下载不可信的发行商签名的控件,但仍然下载由可信发行商签名的代码而不进行任何提示。
  • 禁用,禁止下载已签名的控件。

下载未签名的 ActiveX 控件

此选项确定用户是否可以从区域中下载未签名的 ActiveX 控件。此类代码可能有害,尤其是当它来自不可信的区域时。此选项的设置有:

  • 启用,在没有用户干预的情况下运行未签名的控件。
  • 提示,提示用户选择是否允许运行未签名的控件。
  • 禁用,禁止运行未签名的控件。

对没有标记为安全的 ActiveX 控件进行初始化和脚本运行

此选项确定是否为区域中的页面强制实施 ActiveX 控件对象安全功能。除非信任与区域中的页面交互的所有 ActiveX 控件和脚本,否则,应该强制实施对象安全功能。此选项的设置有:

  • 启用,覆盖对象安全功能。使用参数运行、加载 ActiveX 控件以及执行脚本,而不为不可信的数据或脚本设置对象安全功能。建议不要使用此设置,除非区域安全可靠并对其进行了相应的管理。此设置导致不安全和安全的控件被初始化并执行脚本,而忽略了“Script ActiveX controls marked safe for scripting”选项。
  • 提示,尝试强制实施对象安全功能。然而,如果不能保证不可信数据或脚本的 ActiveX 控件的安全性,则询问用户是否允许使用参数加载或执行脚本。
  • 禁用,为不可信数据或脚本强制实施对象安全功能。不能保证安全的 ActiveX 控件不能使用参数进行加载或执行脚本。

运行 ActiveX 控件和插件

此选项确定是否可以在指定区域中的页上运行 ActiveX 控件和插件。此选项的设置有:

  • 启用,在没有用户干预的情况下运行控件和插件。
  • 提示,提示用户选择是否允许运行控件和插件。
  • 禁用,禁止运行控件和插件。

对标记为可安全执行脚本的 ActiveX 控件执行脚本

此选项确定标记为可安全执行脚本的 ActiveX 控件是否与脚本交互。此选项的设置有:

  • 启用,允许在没有用户干预的情况下进行脚本交互。
  • 提示,提示用户选择是否允许进行脚本交互。
  • 禁用,禁止脚本交互。

注意,使用 PARAM 标记加载且可安全执行初始化的控件不受此选项的影响。如果将“Initialize and script ActiveX controls that are not marke safe(对没有标记为安全的 ActiveX 控件进行初始化和脚本运行)”设置为“Enable(启用)”,则忽略此选项,因为此设置回避了所有对象安全功能。在禁止对安全控件执行脚本时,不能对不安全的控件执行脚本。

下载文件

这些选项指定 IE 如何处理下载文件。

文件下载

此选项控制在此区域中是否允许下载文件。注意,包含下载文件链接的页面所在的区域决定此选项,而不是由提供文件的区域决定。此选项的设置有:

  • 启用,允许从区域中下载文件。
  • 禁用,禁止从区域中下载文件。

字体下载

此选项确定区域的页面是否可以下载 HTML 字体。此选项的设置有:

  • 启用,在没有用户干预的情况下下载 HTML 字体。
  • 提示,提示用户选择是否允许下载 HTML 字体。
  • 禁用,禁止下载 HTML 字体。

Java

这些选项控制在此区域中下载和运行 Java applet 时授予它们的权限。您可以指定:

  • 为从区域中下载的已签名 applet 授予的最大权限级别。
  • 为从区域中下载的未签名 applet 授予的权限。
  • 为调用 applet 的区域页面上的脚本授予的权限。
注 如果 Java applet 不是从使用该 applet 的页面所在的站点下载的,则应用这两个站点区域设置中较严格的一个。例如,如果用户访问的 Web 页所在的区域设置为允许下载,但从中下载代码的另一个区域设置为先提示用户,则使用提示设置。

Java 权限

此选项的设置有:

  • 自定义,单独控制权限设置。要查看和更改每个安全区域的自定义 Java 权限,请使用 IE “Custom Java Security (自定义 Java 安全性)”对话框。您也可以使用 IEAK 配置向导和 IEAK 配置文件管理器来编辑每个安全区域的高级 Java 权限。
  • 低安全级,允许 applet 执行所有的操作。
  • 中安全级,允许 applet 在其沙箱(程序不能调用此区域以外的内存)中运行,以及其他功能,如涂销空间(客户机上一个安全可靠的存储区域)和用户控制的文件 I/O。
  • 高安全级,允许 applet 在其沙箱中运行。
  • 禁用 Java,禁止运行任何 applet。

杂项

这种选项控制用户是否可以在区域中提交非加密表单数据;从 IFRAME 中启动应用程序和文件;安装 Active Desktop 组件;拖动文件;或复制及粘贴文件。

跨域访问数据源

此选项控制 Web 页是否可以从其他域中调用数据源,这种情况经常会遇到。此选项的设置有:

  • 启用,允许自动使用其他域中的数据源。
  • 提示,询问用户是否允许使用其他域中的数据源。
  • 禁用,禁止使用其他域中的数据源。

允许元数据刷新

此选项控制:在经过一段预定时间后,Web 页是否可以将浏览器重定向到另一页。此选项的设置有:

  • 启用,允许元数据刷新。
  • 禁用,禁止元数据刷新。

显示混合内容

此选项控制 IE 是否显示既包含安全 (https) 内容又包含不安全 (http) 内容的 Web 页。此选项的设置有:

  • 启用,允许显示包含混合内容的 Web 页。
  • 提示,询问用户是否允许显示包含混合内容的 Web 页。
  • 禁用,禁止显示包含安全和不安全内容的 Web 页。

没有证书或只有一个证书时不提示进行客户证书选择

此选项控制:当没有或只有一个证书时,请求客户端证书身份验证的 Web 站点是否提示用户选择一个客户端证书来验证其身份。此选项的设置有:

  • 启用,如果没有证书或只有一个证书,请求客户端证书身份验证的 Web 站点不会提示用户选择一个客户端身份验证证书。
  • 禁用,请求客户证书身份验证的 Web 站点将提示用户选择证书,即使没有证书或只有一个证书。

拖放或复制和粘贴文件

此选项控制用户是否可以从区域中的某个来源拖动文件,或者复制和粘贴文件。此选项的设置有:

  • 启用,在没有用户干预的情况下,从此区域中拖动文件或复制和粘贴文件。
  • 提示,提示用户选择是否从此区域中拖动或复制文件。
  • 禁用,禁止从此区域中拖动文件或复制和粘贴文件。

桌面组件的安装

此选项控制用户是否可以从区域中安装 Active Desktop 组件。此选项的设置有:

  • 启用,在没有用户干预的情况下,从区域中安装桌面组件。
  • 提示,提示用户选择是否从区域中安装桌面组件。
  • 禁用,禁止从区域中安装桌面组件。

在 IFRAME 中启动程序和文件

此选项控制:是否可以从此区域页面的 HTML 中的浮动框架 (IFRAME) 引用来运行应用程序和下载文件。此选项的设置有:

  • 启用,在没有用户干预的情况下,从此区域中页面上的 IFRAME 运行应用程序和下载文件。
  • 提示,提示用户选择是否从此区域中页面上的 IFRAME 运行应用程序和下载文件。
  • 禁用,禁止从此区域中页面上的 IFRAME 运行应用程序和下载文件。

跨不同域浏览子框架

此选项控制是否可以在与调用 Web 页不同的域中启动子框架中显示的 Web 页。此选项的设置有:

  • 启用,允许 Web 页调用来自其他域的子框架页。
  • 提示,提示用户选择是否允许调用其他域中的子框架。
  • 禁用,绝不允许 Web 页调用其他域中的子框架。

软件频道权限

此选项控制为软件分发频道指派的权限。此选项的设置有:

  • 低安全级,允许通过电子邮件通知用户软件更新;自动将软件包下载到用户的计算机上;以及自动在用户的计算机上安装软件包。
  • 中安全级,允许通过电子邮件通知用户软件更新;自动将软件包下载到用户的计算机上(但不安装)。
  • 高安全级,禁止通过电子邮件通知用户软件更新;禁止自动将软件包下载到用户的计算机上;以及禁止自动在用户的计算机上安装软件包。

提交非加密表单数据

此选项确定是否可以提交区域中页面上的 HTML 表单数据。始终允许提交使用 SSL 加密的表单;此设置只影响非 SSL 表单数据的提交。此选项的设置有:

  • 启用,在没有用户干预的情况下,允许提交使用此区域中页面上的 HTML 表单的信息。
  • 提示,提示用户选择是否允许提交使用此区域中页面上的 HTML 表单的信息。
  • 禁用,禁止提交使用此区域中页面上的 HTML 表单的信息。

用户数据的持久性

此选项控制:在用户离开某个 Web 页后该 Web 页是否可以存储搜集的用户数据。此选项的设置有:

  • 启用,允许 Web 页存储持久性数据。
  • 禁用,禁止 Web 页存储持久性数据。

脚本

这些选项指定 IE 如何处理脚本。

活动脚本

此选项确定是否运行区域中页面上的脚本代码。此选项的设置有:

  • 启用,在没有用户干预的情况下运行脚本。
  • 提示,提示用户选择是否允许运行脚本。
  • 禁用,禁止运行脚本。

允许通过脚本进行粘贴操作

此选项控制 Web 页脚本是否可以将数据复制并粘贴到 Windows 剪贴板应用程序上。如果启用此设置,则可能会带来一些安全隐患。此选项的设置有:

  • 启用,允许 Web 站点脚本使用 Windows 剪贴板应用程序复制并粘贴数据。
  • 提示,提示用户选择是否允许 Web 站点利用 Windows 剪贴板应用程序复制并粘贴数据。
  • 禁用,禁止 Web 站点脚本使用 Windows 剪贴板。

Java applet 脚本

此选项确定是否向区域中的脚本公开小程序。此选项的设置有:

  • 启用,在没有用户干预的情况下,允许脚本访问 applet。
  • 提示,提示用户选择是否允许脚本访问 applet。
  • 禁用,禁止脚本访问 applet。

用户身份验证

此选项控制如何处理 HTTP 用户身份验证。

登录

此选项的设置有:

  • 匿名登录,禁用 HTTP 身份验证,并将 guest 帐户仅用于 CIFS。
  • 用户名和密码提示,向用户询问用户 ID 和密码。在询问用户后,在会话的后续过程中可以使用这些值而不进行任何提示。
  • 只在 Intranet 区域中自动登录,向用户询问在其他区域中的用户 ID 和密码。在询问用户后,在会话的后续过程中可以使用这些值而不进行任何提示。
  • 自动使用当前用户名和密码登录,尝试使用 Windows NT 质询/响应(也称为 NT LAN Manager—NTLM) 登录。如果服务器支持 Windows NT 质询/响应身份验证,则登录使用用户的网络用户名和密码进行登录。如果服务器不支持 Windows NT 质询/响应身份验证,则提示用户提供用户名和密码。

在决定信任哪些类型的可下载内容方面,IE 的安全区域和设置具有极大的灵活性。最后一节“Authenticode 常见问题”回答了有关 Authenticode 的常见问题。

Authenticode 常见问题

如果 IE 通知我某个软件尚未签名,那我还应该下载它吗?

做出该决定需要靠终端用户自己的判断。例如,如果终端用户以前从某个站点下载了软件,并且可以确信该软件没有被篡改或具有危害性,则终端用户可以决定下载尚未签名的代码(即,没有相关的有效证书)。如果终端用户对该软件或提供软件的站点一无所知,则最终用户可以选择不下载该软件。

我是否应该单凭某个软件经过签名就信任并下载它?

再说一遍,做出该决定需要靠终端用户自己的判断;然而,证书为终端用户提供了他们所需的数据,以便在做出决定时可以做到心中有数。如果终端用户非常信任某个软件发行者,则终端用户可以通过“Authenticode 安全技术”对话框中提供的设置,决定自动下载该发行者发行的任何软件。

个人证书或站点证书与软件发行者证书有什么关系吗?

个人、站点和发行者证书均用于在 Internet 上证明身份;然而,这些证书在不同的场合下使用。个人证书向 Web 站点表明您的身份,并允许您访问 Internet 上的私有或付费内容。站点证书向您表明 Web 站点的身份,并用于保证您和该 Web 站点之间通讯的安全。正如前面所提到的一样,软件发行者证书标识某个软件的发行者,并确保软件发行者在发行软件后软件没有被篡改过。

当 IE 向我显示软件发行者的证书时,我如何区分个人发行者和商业发行者?

在下载已签名的软件之前,IE 将软件发行者证书的颁发者标识为个人发行者或商业发行者的 CA。IE 通过在“Authenticode 安全技术”对话框中以图形方式向终端用户显示证书,进一步区分个人发行者和商业软件发行者。

在公司环境中如何使用 Authenticode?

通过使用 IEAK,管理员可以预先配置 IE 安全设置,从而设置了 IE 处理可能不安全代码(例如,没有相关的有效软件发行者证书的代码)的默认方式。另外,通过 IEAK,管理员可以控制用户能够更改哪些选项设置。因此,管理员可以防止将未签名的软件下载到终端用户的 PC 上。

小结

Microsoft 的 Authenticode 技术确保软件发行者在对其软件进行数字签名后软件没有被篡改过。CA 是第三方,他们可确保软件作者就是声称是其作者的个人或组织。通过使用 Authenticode 保护的软件,您可与发行者建立可靠的联系,发行者以合同方式同意其软件不会有意进行任何恶意破坏。用户不必逐行检查程序的源代码,就可以建立高度的信任关系,这是未签名代码所不能提供的。用户可以为 IE 区域指派不同的安全信任级别,从而调整其计算环境中可接受的风险级别。