随着电子签名法的通过,电子签名技术在中国正加速推广。目前,不论在Internet上查询还是在市场中都可以见到多种计算机文档电子签名软件,其中很多产品特点非常类似,即:模仿盖章和手写签字对MS Word/Excel 文档进行可视化签章,签章过程在MS Word /Excel 中是可见的,签章后的文档仍然可以被Word/Excel正常打开。笔者测试、分析了四种MS Word/Excel电子签章软件的安全性。通过测试,我们并没有看到足够安全的软件产品,它们有相同的、十分明显的安全缺陷,这些缺陷足可以给用户带来严重问题。
对四个可视签章软件的安全性测试
为测试非常流行的MS Word/Excel电子签章软件的安全性,我们下载了四个公司的免费单机试用版软件(由于条件的限制,我们不能购买所有这类软件进行测试)。
此次测试环境为Windows XP Professional,MS Word 2000, MS Excel 2000, MS Word 2003,MS Excel 2003。
其它工具:Hex Workshop 4.1 共享版。
四个软件产品在功能、操作方式上有很多相似之处,可视化做得都很好,和实际纸制文件的盖章、签名在视觉上较接近。四个软件在Word/Excel 2000、Word/Excel 2003中的表现一致。
安全漏洞一:不控制格式,只控制文件的实际数据内容
软件1签章后,文件内的字符不能再更改,一旦更改,签章不能通过验证。但对字符格式不加控制,如字号、字体颜色等。举一个例子,可以在文件中把某些字符设置成白色,因为文档的背景是白色的,这些字符实际不可见,签章(或签字)后任何人都可以再将白色字符改为黑色。
下面是一个关于经费申请的Word文件,申请上写的看起来是1000,其实是10000,因为最后一个0是白色的,总经理王峰批准后,申请人又将最后一个0改为黑色。
在Excel中,该漏洞依然存在,所不同的是在Excel中不能将把格中的单个字符改为白色,但可以把单个格子的所有字符改为白色。
安全漏洞二:不实用且脆弱的文档保护
软件1的设计者无疑也意识到了对文档格式不加控制可能带来的安全隐患,于是在产品中增加了文档锁定功能,文档锁定后,在Word/Excel中无法编辑文档,所有和编辑文档有关的按钮、菜单都不能使用。这一功能的目的很明显,要求盖章、签字后锁定文档,从而保证文档视图的不可变。但通过Word/Excel文档保护根本不能解决问题。
首先,对于多级签名,文档保护并不是好办法。前一个签名者如果锁定文档,后一个签名者就无法签名,除非他知道解锁密码,才可以在解除文档保护后实施签名,而且签名后还要再用新密码锁定文档。但是,在网络环境下,如何才能让文档保护密码安全、方便地在不同的签名者之间传递呢?很明显,靠Word/Excel文档保护(锁定)来弥补1.1所述的安全漏洞是不实用的。
其次,Word/Excel文档保护是相当脆弱的,很容易被击破。先来看Word文档保护,我们很容易地在Internet查到一种破解Word文档保护的方法,但用这种方法解除软件1的文档锁的努力失败了,这说明软件1的设计者在文档锁定上下了不少功夫,但我们使用了另一种更为彻底的方法很快就成功绕过了软件1的文档锁。
我们首先构造Word文件,文件上有“10000”字样,该文件保存为1.doc,将“10000”最后一个0改为白色,文件保存为2.doc,用Hex Workshop比较两个文件,很快找到了控制字符颜色的区域都是以B*开头,将2.doc中控制字符颜色的一段中的FF FFFF改为00 0000(熟悉html的人都知道,FFFFFF代表白色,000000代表黑色),改完后,用Word打开2.doc,最后一个0变成了黑色。
现在开始测试软件1对Word文档的保护。首先构造签名Word文件并锁定文件。
软件1对Excel文档的保护同样脆弱,我们用Hex Workshop比较文档,很快发现Excel单元格字符的颜色控制数据在[SO1段,09代表白色,08代表黑色,直接用Hex Workshop更改数据,就可以更改单元格字符颜色,这一点对Excel 2000版和2003版都适用。为缩减篇幅,本文不再举例,感兴趣的读者可以自己动手试一试。
软件1的文档锁定功能和MS Word、Excel自带的文档保护功能同出一源,都是通过在文档中加专门标志,编辑器见到标志后,所有的编辑功能不能起作用,这种保护无疑是脆弱的,可以用16位编辑器直接编辑文件。
安全漏洞三:文件可能被意外更改或被病毒更改
如果一个已签章的文件未加文档保护,在用户阅读文档过程中,可能因意外的操作改变文档,例如在Word中不留意增加空格,在这种情况下,文档签章失效,用户有时不能将文件数据恢复到原样。由于签名时文档必须处于可编辑状态,所以,无法依靠文档保护(锁定)来防止文件内容的意外更改。
另一个造成文档被意外更改的原因是病毒。虽然我们并没有测试用病毒感染签章文件,但根据常识,希望用户能完全防止病毒感染文件是不现实的。如果病毒造成文件实际数据内容改变,签章随即失效,如果病毒感染实际数据内容以外的部分,即使文档签章不会失效,但签章后的染毒可能造成不可预计的问题。
测试结论
其它3个软件都存在和软件1相同的问题。其中软件2、软件4都没有自己的文档保护功能,不知正式版是否具备该功能。如果软件不使用专有的文档保护功能,而使用Word自有的文档保护功能,这种保护无疑形同虚设。软件3是Word签章产品,签章后文档自动处于保护状态,无法编辑,但只要在Word菜单上选择“工具”-“解除文档保护”,文档就又处于可编辑状态了。相比之下,软件1是四个软件中文档保护作的最好的一个。
测试结果发现,四个软件都存在着严重安全隐患。当文件内容的格式更改后,签名和签章都仍有效,说明四个软件只能通过签章保证文件部分数据的完整性。因为格式控制会直接影响到人们对可视内容的理解,在这种情况下进行电子签章、签名可能带来严重后果。虽然对Word/Excel可以使用文档保护功能来防止文档在签名后的改变,但对于多级签名,文档保护是不实用的,同时,Word/Excel文档保护也是非常脆弱的。由于签章过程需要文档处于可编辑状态,因此很难避免文件被意外更改,从而造成已有的签章失效。数字签名软件是对安全性要求很高的产品,以上这些安全性问题的是不能容忍的。
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。