大家好,可信计算安全团队向各位介绍 Office 2010 中数字签名的一些新增功能。首先,我将简要说明什么是数字签名以及如何使用数字签名,然后将详细介绍数字签名在 Office 2010 中的工作原理。
现在,越来越多的商业交易以电子方式开展。因此,为了从法律上保证信赖方履行交易义务,数字签名的使用越来越广泛。数字签名用于验证签署文档的用户的身份,并确认将数字签名应用于文档后内容未经修改。数字签名提供基于加密技术的安全性,并帮助缓解与电子业务交易相关的风险。通过对数字签名的改进,Office 可以满足全球企业和公共部门实体的信息安全需要。
要创建数字签名,必须具有数字证书,数字证书用于向信赖方证明您的身份,您应该从可信的证书颁发机构 (CA) 获得该证书。如果您还没有数字证书,可在 Office 市场中获得 Microsoft 合作伙伴提供的数字证书以及集成到 Office 中的其他高级签名服务。
在 Word、Excel 和 PowerPoint 2010 中,可以通过转到 Office Backstage 视图添加数字签名:
在 Word、Excel 和 InfoPath 中,可以通过转到“插入”(Insert) 选项卡添加签名行或签名图章:
签名行的外观如下:
签名图章(通常在东亚地区使用)的外观如下:
Office 2007 及其更高版本使用称为 XML-DSig 的开放式签名标准,它取代了 Office 2003 以及更早版本中不太完善的二进制签名。符合 XML-DSig 标准的签名采用用户通常可读的 XML 格式。有关 XML-DSig 的详细信息,请参阅 http://www.w3.org/Signature。
Office 2010 数字签名可以使用 Windows Vista 以及更高版本中支持的高级算法(如椭圆曲线公钥算法)。所有受支持的操作系统还允许使用更可靠的哈希算法,如 SHA-512。
数字签名的最紧迫问题是您使用的证书将过期(通常在一年之内)。证书过期后,任何人都不会信任该签名。如果希望能在更长的时间段内信任签名,必须保存验证证书所需的信息的副本。可能还需要考虑加密过时的问题。
幸运的是,对 XML-DSig 标准的扩展 ( XAdES) 中提供了这些问题的解决方案。
XAdES(XML 高级电子签名)是 XML-DSig 的一组分层扩展,它分为多个级别,每个级别都在上一级别的基础上构建以提供越来越可靠的数字签名。
通过实施 XAdES,Office 将符合 1999/93/EC 指令中的欧盟高级电子签名标准,以及将 XAdES 定义为巴西公认数字签名标准的一项巴西政府新指令。
Office 2010 可在 XML-DSig 签名基础上创建不同级别的 XAdES 签名:
Office 2010 Beta 只能创建 XAdES-T 签名以及更低级别的签名,但是 Office 2010 RTM 能够创建上表中的所有签名。
时间戳数字签名(XAdES-T 签名)是 Office 2010 中着重考虑的重要方案。为了创建时间戳签名,您将需要:
配置完成后,即可按照通常使用的方式创建签名。受信任时间戳服务器中的时间戳可以延长签名的有效期,这是因为即使证书过期,时间戳仍可以证明在签署时证书未过期。因此,时间戳有效解决了证书过期问题,即使应用签名后证书被吊销,签名仍然有效。
默认情况下,Office 2010 创建 XAdES-EPES 签名,并使用注册表设置指定要创建的签名的级别。有两个用于控制 Office 创建的签名类型的注册表设置:XAdESLevel 和 MinXAdESLevel。
通过 MinXAdESLevel 设置,您可以确保创建的签名符合所需的 XAdES 级别。如果时间戳服务器不可用,XAdES-T 或更高级别的签名将失败;如果吊销信息不可用,XAdES-C 或更高级别的签名将失败。如果具有最低设置,您就可以尝试创建 XAdES-X-L 签名,但如果时间戳服务器停机,则将回退到 XAdES-EPES。
要创建 XAdES-T 签名以及更高级别的签名,需要为 Office 提供时间戳服务器以便查询时间戳:
如果要创建 XAdES 签名,建议使用下列三种级别之一:
示例:
Sam 要创建 XAdES-X-L 签名。如果无法实现,他可以接受的签名级别最低为 XAdES-T。他进行了如下设置:
在本示例中,Office 会尝试创建 –X-L 级别的签名。如果 Office 无法创建 XAdES-X-L 签名,Office 会回退到上次成功创建的 XAdES 级别,条件是该级别不低于 MinXAdESLevel。在本示例中,如果 Office 无法创建 XAdES-X-L 签名,XAdES-T、XAdES-C 和 XAdES-X 签名也是可以接受的。否则,Office 不能添加签名。
如前所述,Office 2010 Beta 只能创建 XAdES-T 及更低级别的签名,这是因为我们在 Beta 之后的版本中才添加了其余的 XAdES 签名。上面介绍的 XAdESLevel 注册表设置仍然适用,但是最高级别为 2 (XAdES-T)。MinXAdESLevel 设置不存在,但是只能创建两种类型的 XAdES 签名 — 包含时间戳的签名和不包含时间戳的签名,具体由 TimestampRequired 设置(该设置在 RTM 版本中不存在)控制。
要创建 XAdES-T 签名,您还需要设置 TimestampRequired(请参阅下面的说明)和 TSALocation(请参阅上面的说明):
XAdES 功能是 Office 2010 中的众多安全增强功能之一。感谢您阅读这篇文章,我们期待着您的反馈!