现在,越来越多的重要文件、信息都被无纸化办公的电子文件所取代,政府文件、商业机密、财务数据、个人隐私都被越来越多的存储在电子文件当中,而对于全球应用最广泛的办公套件Microsoft Office如何来保护这些重要文件及信息呢?答案就是——数字签名及证书。
Office2010中对数字签名的改进主要为满足跨国企业及国营企业实体对信息安全的需要,本文将向大家介绍Office 2010数字签名的新特性。首先我们将介绍数字签名的概念以及使用方法,接下来共同探讨数字签名在Office 2010中的工作细节。
什么是数字签名?
数字签名主要用于签名电子文件,以确保文档出于其创作人并确保在进行签名后内容未被篡改。笼统的来说,数字签名就是用加密技术作为基础,帮助并减轻与商业交易及文档安全相关的风险。
什么是XAdES?
XAdES (XML 高级电子签名)是在XML-DSig的基础上做多次层叠和嵌套,以更可靠的进行数字签名。
通过对XAdES的支持,Office已经符合欧盟高级电子签名的1999/93/EC号标准以及巴西新政府的标准,并且它被定义为在巴西数字签名界认可的标准——XAdES。
Office 2010可以创建基于XML-DSig不同强度的XAdES签名级别为下表所示:
注意:Office 2010 Beta只能创建XAdES-T级别的数字签名,但等到Office 2010 RTM时则可创建如上表所示的所有签名级别。
在Office 2010 RTM中创建XAdES签名
默认情况下,Office 2010创建的是XAdES-EPES级别的签名。我们可以通过注册表来指定所创建数字签名的级别,这两个注册表键值分别是XAdESLevel和MinXAdESLevel。
MinXAdESLevel可以设置XAdES签名的级别和强度,以确保满足不同用户的需要。如果时间戳服务器不可用,XAdES-T及更高的签名级别将失败;如果证书的吊销信息不可用XAdES-C及更高的签名级别将失败;如果时间戳服务器关闭或down机,用户可以尝试XAdES-X-L级别的签名。
当要创建XAdES-T及以上级别的签名时,用户需要指定一个时间戳服务器的时间戳查询位置。
在Office 2010 Beta 中创建XAdES签名
如前面所述,Office 2010 Beta 只有创建XAdES-T级别的数字签名。但在XAdESLevel注册表项中我们仍然适用上述(Office 2010 RTM)的解释,但其上限为2,即XAdES-T。TheMinXAdESLevel 键值在Office 2010 Beta中不存在,用户只能通过TimestampRequired键值创建(有时间戳和没有时间戳)两种类型的XAdES签名。
如果要创建一个XAdES-T的签名,用户需要设置TimestampRequired和TSALocation。
对XAdES签名使用的建议
如果用户需要创建XAdES签名,在不同的场景下我们推荐如下三种级别:
XAdES-EPES Office默认设置,其签名级别和强度已高过XML-DSig签名
XAdES-T 此级别需要使用时间戳服务器并符合RFC3161,如何用户有时间戳服务器XAdES-T级别将作为用户的推荐级别
XAdES-X-L 如果用户有数字签名和时间戳服务器,并且包括全面的证书撤销和证书链信息,我们推荐用户使用此级别
如果要创建一个自己的数字签名,用户必须先获得一个数字证书,这个证书将主要用于证明用户个人的身份,通常情况下这个证书都从一个受信任的证书颁发机构(CA)获得。如果用户还没有自己的数字证书,则可以从微软的合作伙伴Office Marketplace处获取。
如何插入数字签名
在Word, Excel 和 PowerPoint 2010都可以很容易的添加自己的数字签名,如图:
用户还可以直接在Office 2010的Word, Excel和InfoPath中直接插入Microsoft Office签名行或图章签名行,如图:
左图:Microsoft Office签名行右图:图章签名行
Office 中数字签名是如何工作的?
Office 2007及以后的版本中采用了被称为XML-DSig的开放签名标准,这种标准主要用于替代Office 2003及更早期版本中发展较少的二进制签名方式。XML-DSig主要用于在可读的XML文件格式中进行签名。
XML-DSig的更多信息可参考:http://www.w3.org/Signature
Office 2010中的数字签名支持Windows Vista及后续Windows版本中的先进算法(类似椭圆曲线公钥算法),并支持操作系统中更为强大的散列算法,例如SHA-512。与数字签名密切相关的就是数字证书的期限问题,通常情况下个人数字证书的有效期为一年,当证书过期后,其它人就不再会相信用户的签名证书了。还好我们可以使用一种被称为XAdES的XML-DSig扩展标准。