规划 Office 2013 的数字签名设置
适用于:Office 2013
上一次修改主题:2016-12-16
摘要:介绍如何在 Excel 2013、PowerPoint 2013 和 Word 2013 文档中支持 XAdES 数字签名。
目标用户:IT 专业人员
许多情况下,用户对 Office 2013Excel、PowerPoint 或 Word 文档进行数字签名的原因与他们在纸质文档上填写手写签名的原因相同。数字签名用来帮助使用加密算法对数字信息(例如文档、电子邮件和宏)创建者的身份进行验证。
数字签名基于数字证书。数字证书是可信第三方(称为证书颁发机构 (CA))颁发的身份验证程序。这与打印身份文档的使用非常类似。例如,可信第三方(例如政府机构或员工)颁发身份文档(例如驾照、护照和员工 ID 卡)。其他人依靠这些文档来验证某人是否是他或她自称的那个人。
本文包括 Office 2013 中新增的数字签名注册表项。
| | 本文是 Office 2013 安全性指南的一部分。可以使用该指南作为起点来获取可帮助您评估 Office 2013 安全的文章、下载、海报和视频。 您是否正在桌面上查找有关 Office 2013 中的数字签名设置的帮助? 您可以在桌面上找到下列文章之一来帮助您保护 Office 2013。 |
本文内容:
数字签名有助于建立下列身份验证方法:
-
真实性 数字签名及其基础数字证书帮助确保签名者是他或她自称的那个人。这有助于防止他人冒充特定文档建立者(相当于打印文档中的伪造)。
-
完整性 数字签名帮助确保内容经过数字签名后不被更改或篡改。这有助于防止文档在文档建立者不知晓的情况下被拦截和更改。
-
不可否认性 数字签名帮助向各方证实已签名内容的来源。“否认性”指的是签名者否认与已签名内容有任何关联。数字签名帮助证实文档建立者是真正的建立者而不是他人,无论签名者自称是谁。签名者不能在未否认他或她的数字密钥(为此,还包括未否认使用该密钥签名的其他文档)的情况下否认该文档上的签名。
要建立这些条件,内容创建者必须通过创建满足下列条件的签名来对内容进行数字签名:
-
数字签名有效。操作系统信任的 CA 必须对数字签名基于的数字证书进行签名。
-
与数字签名关联的证书未过期或者包含表示证书在签名时有效的时间戳。
-
与数字签名关联的证书未被吊销。
-
收件人信任签名人或组织(称为发布者)。
Word 2013、Excel 2013 和 PowerPoint 2013 检测这些条件,在数字签名出现问题时警告用户。可以在 Office 2013 应用程序的证书任务窗格中轻松查看出现问题的证书的相关信息。通过 Office 2013 应用程序,可以向同一文档中添加多个数字签名。
以下场景演示如何在企业环境中在文档上使用数字签名:
-
某个员工使用 Excel 2013 创建了一个费用报表。该员工然后了创建三个签名行:一行供她自己使用,一行供她的经理使用,一行供会计部门使用。签名的作用是:
-
标识该员工是文档的建立者
-
指出文档在送给经理和会计部门的过程中未经过任何更改
-
证明经理和会计部门都已收到并复审文档
-
-
经理收到文档,将她的数字签名添加到文档中,确认她已复审并批准文档。然后她将文档转发到会计部门进行支付。
-
会计部门代表收到文档,对其签名以确认收到文档。
此示例演示了向单个 Office 2013 文档添加多个签名的功能。除了数字签名,文档签名者可以添加其实际签名的图形,或者使用 Tablet PC 在文档中的签名行中实际书写签名。
Office 2013 与 Office 2010 和 Office 2007 一样,都将 XML-DSig 格式用于数字签名。此外,Office 2013 还支持 XAdES(XML 高级电子签名)。XAdES 是一组 XML-DSig 分层扩展,其级别构建于以前的级别之上,可提供更可靠的数字签名。有关 Office 2013 中支持的 XAdES 级别的详细信息,请参阅本文后面的规划 Office 2013 文档中的数字签名级别。有关 XAdES 详细信息的更多信息,请参阅 XML 高级电子签名 (XAdES) 的规范。
Office 2013 中创建的数字签名与 2007 Office system 之前的 Office 版本不兼容,注意到这一点非常重要。例如,如果文档使用 Office 2013、Office 2010 或 Office 2007 中的应用程序签名,然后使用 Office(安装了 Office 兼容包的 2003)中的应用程序打开,则系统会通知用户,文档是使用较新版本的 Office 签名的,数字签名将丢失。
下图显示了在使用 Office 2007 之前的 Office 版本打开文档后用户看到的警告。
最初在 Office 2003 或更早版本中签名的文档的数字签名警告。
另外,如果您在 Office 2013 中将 XAdES 用于数字签名,该数字签名将与 Office 2010 或 2007 Office system 不兼容,除非您配置了组策略设置“不将 XAdES 引用对象包含在指令清单中”并将其设置为“已启用”。有关数字签名组策略设置的详细信息,请参阅本文后面的规划 Office 2013 的签名设置。
如果您希望在 Office 2013 中创建的数字签名与 Office 2003 及更早版本兼容,则可以配置组策略设置“旧式格式签名”并将其设置为“已启用”。此组策略设置位于“用户配置\管理模板\Microsoft Office 2013\签名” 下。将此设置更改为“已启用”后,Office 2013 应用程序将使用 Office 2003 二进制格式将数字签名应用于您在 Office 2013 中创建的 Office 97–2003 二进制文档。有关详细信息,请参阅 Office 2013 管理模板文件 (ADMX/ADML) 和 Office 自定义工具
数字证书可以自签名,也可以由组织中的 CA(例如运行 Active Directory 证书服务的 Windows Server 2012 或 Windows Server 2008 计算机)颁发,还可以由公共 CA(例如 VeriSign 或 Thawte)颁发。自签名证书通常供个人和不想为其组织设置公钥基础结构 (PKI) 且不想购买商业证书的小型企业使用。
使用自签名证书的主要缺点是,只有当您与知道您是谁且相信您是文档实际建立者的人员交换文档时,这些证书才有用。使用自签名证书时,没有第三方来对证书的真实性进行验证。每个收到您的已签名文档的人员都必须手动决定是否相信您的证书。
对于大型组织,有两种获取数字证书的主要方法:使用组织或公司 PKI 创建的证书以及商业证书。只想将已签名文档在组织中的其他员工中共享的组织首选公司 PKI,这样可降低成本。想要将已签名文档与组织外的人员共享的组织可能偏好使用商业证书。
组织可以选择创建其自己的 PKI。在这种情况下,公司设置一个或多个证书颁发机构 (CA),用来为整个公司中的计算机和用户创建数字证书。与 Active Directory 目录服务 (AD DS) 合并后,公司可以创建完整 PKI 解决方案,以便组织或公司管理的所有计算机都装有组织或公司 CA 证书链,且自动向用户和计算机分配数字证书以进行文档签名和加密。这使得公司中的所有员工自动信任同一公司中其他员工发来的数字证书(因而信任有效数字签名)。
有关详细信息,请参阅 Active Directory 证书服务。
您可以从主营数字证书销售的公司购买商业证书。使用商业证书的主要优点是,商业证书供应商的根 CA 证书自动安装在组织的 Windows 操作系统中。这使这些计算机能够自动相信 CA。与组织或公司 PKI 解决方案不同,商业证书允许您将已签名文档与不属于您的组织的用户共享。
有三种类型的商业证书:
-
1 类 1 类证书颁发给具有有效电子邮件地址的人员。1 类证书适用于无需身份证明的非商业事务的数字签名、加密和电子访问控制。
-
2 类 2 类证书颁发给人员和设备。2 类个人证书适用于根据验证数据库中的信息已足够证实身份的事务中的数字签名、加密和电子访问控制。2 类设备证书适用于设备身份验证;消息、软件和内容完整性;以及机密加密。
-
3 类 3 类证书颁发给人员、组织、服务器、设备、CA 管理员和根机构 (RA)。3 类证书适用于必须确保证实身份的事务中的数字签名、加密和访问控制。3 类服务器证书适用于服务器身份验证;消息、软件和内容完整性;以及机密加密。
有关商业证书的详细信息,请参阅数字标识。
用户可以使用 Excel 2013、PowerPoint 2013 和 Word 2013 对文档进行数字签名。他们还可以使用 Excel 2013、InfoPath 2013 或 Word 2013 添加签名行或签名戳。对具有数字证书但没有签名行或签名戳的文档进行数字签名称为创建不可见的数字签名。可见和不可见的数字签名都使用数字证书对文档进行签名。其区别在于使用可见签名行时文档中的图形表示。有关如何添加数字签名的详细信息,请参阅在 Office 文件中添加或删除数字签名。
如果在创建数字签名期间使用自签名证书或由 CA 签名的证书,则默认情况下 Office 2013 将创建 XAdES-EPES 数字证书。
下表列出了基于 XML-DSig 数字签名标准且在 Office 2013 中可用的 XAdES 数字签名级别。每个级别都在前一级别的基础上构建,且包含之前级别的所有功能。例如,除了 XAdES-X 中引入的新功能,XAdES-X 还包含 XAdES-EPES、XAdES-T 和 XAdES-C 的所有功能。
Office 2013 中的 XAdES 数字签名级别
| 签名级别 | 说明 |
|---|---|
| XAdES-EPES(基本) | 将有关签名证书的信息添加到 XML-DSig 签名。这是 Office 2013 签名的默认值。 |
| XAdES-T(时间戳) | 将时间戳添加到签名的 XML-DSig 和 XAdES-EPES 部分,这有助于防止证书过期。 |
| XAdES-C(完整) | 添加对证书链和吊销状态信息的引用。 |
| XAdES-X(扩展) | 将时间戳添加到 XML-DSig SignatureValue 元素以及签名的 –T 和 –C 部分。附加时间戳保护附加信息免遭否认。 |
| XAdES-X-L(扩展长期) | 除了签名,还存储实际证书和证书吊销信息。这使得即使证书服务器不再可用也能进行证书验证。 |
用户将时间戳添加到数字签名后,它们可延长该数字签名的寿命。例如,如果吊销的证书以前用于创建数字签名,该数字签名包含来自可信时间戳服务器的时间戳,且时间戳发生在证书吊销之前,则仍将该数字签名视为有效。要将时间戳功能与数字签名一同使用,必须完成下列任务:
-
设置符合 RFC 3161 的时间戳服务器
-
使用组策略设置“指定服务器名称”输入时间戳服务器在网络中的位置。
还可以通过配置一个或多个下列组策略设置,配置其他时间戳参数:
-
配置时间戳哈希算法
-
设置时间戳服务器超时
如果未配置并启用“配置时间戳哈希算法”,则将使用 SHA1 的默认值。如果未配置并启用“设置时间戳服务器超时”,则 Office 2013 将等待 5 秒,让时间戳服务器响应请求。
除了用于配置时间戳相关设置的组策略设置,还有其他用来配置在组织中如何配置和控制数字签名的组策略设置。下表列出了设置名称和说明。它们位于 software\policies\microsoft\office\15.0\common\signatures! 中
数字签名组策略配置设置
| 组策略设置 | 说明 |
|---|---|
| 签名生成时要求 OCSP | 通过此策略设置,您可以确定生成数字签名时 Office 2013 是否要求一个链上所有数字证书的 OCSP(在线证书状态协议)吊销数据。 |
| 指定数字签名生成的最低 XAdES 级别 | 通过此策略设置,您可以指定 Office 2013 应用程序必须达到的最低 XAdES 级别,以创建 XAdES 数字签名。如果 Office 2013 应用程序未能达到最低 XAdES 级别,则 Office 应用程序不会创建该签名。 |
| 检查数字签名的 XAdES 部分 | 通过此策略设置,当验证文档的数字签名时,您可以指定 Office 2013 是否检查数字签名的 XAdES 部分。 |
| 验证签名时不允许过期的证书 | 通过此策略设置,您可以配置 Office 2013 应用程序验证数字签名时是否接受过期的数字证书。 |
| 不将 XAdES 引用对象包含在指令清单中 | 通过此策略设置,您可以确定 XAdES 引用对象是否将显示在指令清单中。如果希望 2007 Office system 能够读取包含 XAdES 内容的 Office 2013 签名,则必须将此设置配置为“已启用”。否则,2007 Office system 将视包含 XAdES 内容的签名为无效。 |
| 选择数字签名哈希算法 | 通过此策略设置,您可以配置 Office 2013 应用程序用于确定数字签名的哈希算法。 |
| 设置签名验证级别 | 通过此策略设置,您可以设置 Office 2013 应用程序验证数字签名时使用的验证级别。 |
| 签名生成的请求的 XAdES 级别 | 通过此策略设置,您可以指定创建数字签名请求的或所需的 XAdES 级别。 |
下列附加组策略设置与数字签名相关,它们也位于 \software\policies\microsoft\office\15.0\common\signatures! 中:
-
设置默认图像目录
-
增强型密钥用法筛选
-
旧式格式签名
-
禁止 Office 签名提供程序
-
禁用外部签名服务命令
有关每个组策略设置的详细信息,请参阅 Office 2013 管理模板文件附带的帮助文件。
注意: |
|---|
| 有关策略设置的最新信息,请参阅 Office 2013 管理模板文件和 (ADMX/ADML) 和 Office 自定义工具下载页中“此下载中的文件”部分提供的 Excel 工作簿 Office2013GroupPolicyAndOCTSettings_Reference.xls。 |
下表显示特定于数字签名的 Windows 注册表设置和用于对它们进行加密的证书。这些注册表设置位于 HKEY_CURRENT_USER\software\policies\Microsoft\Office\15.0\common\signatures 中。没有相应的组策略。
数字签名注册表设置
| 注册表项 | 类型 | 值 | 说明 |
|---|---|---|---|
| FilterIssuer | WZ | 空 | 将可用证书集缩小为名称中具有 FilterIssuer 值的证书 |
| MinSigningDSABits | DWORD | 空 | 指定允许在 Office 中创建 DSA 数字签名的最少位数。 |
| InvalidDSABits | DWORD | 空 | 指定将在 DSA 数字签名中读取的最大位数。忽略 InvalidDSABits 值之上的任何位。 |
| InvalidHashAlg | WZ | 空 | 指定您的组织以前在 Office 早期版本(例如 Office 2007、Office 2010)中用来创建数字签名且您现在希望其无效的哈希算法。如果此处指定了哈希,则对于使用该哈希验证数字签名的文档或电子邮件,验证将失败。 |
| InvalidRSABits | DWORD | 空 | 指定将在 RSA 数字签名中读取的最大位数。忽略 InvalidRSABits 值之上的任何位。 |
| LegacyDSABits | DWORD | 空 | 指定将在旧式 DSA 数字签名中处理的最低位数,其中旧式指的是使用 Office 2007 或 Office 2010 为文档或电子邮件创建的数字签名,哈希算法是在 LegacyHashAlg 注册表项设置中指定的。 |
| LegacyHashAlg | WZ | MD5 | 指定您的组织在 Office 以前版本(例如 Office 2007、Office 2010)中用来创建数字签名且您希望用于验证已数字签名的旧式文档和电子邮件的哈希算法。 |
| LegacyRSABits | DWORD | 空 | 指定将在旧式 RSA 数字签名中处理的最低位数。旧式指的是使用 Office 2007 或 Office 2010 为文档或电子邮件创建的数字签名,哈希算法是在 LegacyHashAlg 注册表项设置中指定的。 |
| MinSigningRSABits | DWORD | 空 | 指定将用来在 Office 2013 中创建数字签名的最低位数。 |

注意: