论文部分内容阅读
摘要:在现代商务活动及日常办公中,都涉及办公文档的加密和解密,该文主要以Microsoft Office和Adobe Acrobat两种主流办公软件为例,研究其加密的算法和强度、解密的种类和方法、图形处理器(GPU)和网络集群对解密效率的影响。
关键词:办公文档;加密;解密
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)20-0040-02
在现代商务活动及日常办公中,我们经常用到的办公软件有Microsoft Office和Adobe Acrobat等,这些软件都为用户提供文档加密和权限设置功能。当然,有加密就有解密,针对这些加密文档的解密软件层出不穷,功能也日益强大。对此,本文将主要就当前主流办公文档的加密强度和解密难度两个方面进行详细阐述,并提出可行的文档加密策略。
1 文档加密的算法和强度
文档的加密算法和强度基本遵循了从40-bit RC4加密到128-bit RC4加密,再从AES 128-bit加密到AES 256-bit加密的演变过程。促成这种变化的主要根源在于长度较小的密钥已经无法适应当今分布式开放网络对数据加密安全性的要求。
1.1 Microsoft Office文档密码
Office作为桌面办公的首选软件,目前已被广泛应用,是最受欢迎的办公软件之一,其版本有很多,从97、2000、2002、2003到2007、2010、2013,再到现在最新的Office 365。其中,Office 97/2000采用的40-bit RC4加密,常用的单机系统使用Key Searching密钥空间穷举搜索攻击能在几小时内100%破解成功,在线破解服务更是能在数秒之间获得明文;Office2002/2003文件加密功能的密钥虽然可以达到128位,但需要用户进行特殊设定,同时,由于加/解密密钥Key的生成运算缺失迭代,因此,用户在进行口令破解时,速度可以很快,同样,在线破解服务能在数秒之间获得明文;Office 2007/2010/2013在文件格式架构上有了极大的跨越,支持Open XML文件的加密类型,采用的是128-bit AES加密,使得Key Searching密钥空间穷举搜索攻击解密失效,同时,加/解密密钥Key生成运算经过几万次迭代,使得用户口令猜测变得十分缓慢。尽管如此,国外仍有部分网站声称数小时内破译的可能性为75%以上。可以说,Office在文档打开密码上下了很大功夫,但在文档限制密码方面,却依然较为薄弱,很多版本的限制密码能在瞬间被解除。
1.2 Adobe Acrobat 文档密码
Acrobat软件是Adobe公司开发的一款PDF(Portable Document Format,便携式文档格式)编辑软件,该格式使用Adobe公司开发的PostScript页面描述语言,使得页面中的文字和图形质量得到了质的飞跃,无论是网上阅读,还是打印、印刷出版,都被广泛应用和普及。Acrobat从1.0版本开始,目前已经发布到目前的15.0(DC),其加密手段也在不断演进。Acrobat的加密分为打开口令和限制口令,3.x/4.x版本的打开口令采用40-bit RC4加密,目前有多种软件都可以通过支持GPU的分布式Key Searching密钥空间穷举搜索的方式进行破解,通过测试,这种破解的准确性可以达到100%;5.x/6.x采用的是128-bit RC4加密,7.x/8.x采用的是128-bit AES加密,9.x/X/XI/DC版则采用强度更高的256-bit AES加密,这几种加密方法的采用,使得穷举破解的可能性几乎为零,找回密码的途径往往是采用字典破解、伪码破解和暴力破解。在限制口令方面,Acrobat的加密措施也不尽如人意,很多软件都能在极短时间内,甚至是瞬间解除。对此,Acrobat采取了数字证书加密或插件加密(如FileOpen)限制的方式,这类加密方式目前还无法快速的破解。
2 文档解密的种类和方法
解除文档可以按难度系数划分为三种,第一是去除文档的各种使用限制,第二是去除文档的打开密码,第三是获取文档的打开密码。
2.1 去除文档使用限制
去除文档使用限制是解密行为中最简单的操作,通过Advanced Office Password Remover和Guaranteed PDF Restrictions Decrypter等软件,就能轻松去除Word文档的只读限制和Acrobat文档的打印限制等,包括最新的256-bit AES加密。
2.2 去除文档打开密码
去除文档打开密码的难度系数比去除文档限制要高很多,主要原理是采用已知的办公软件漏洞,直接从文档内部将限制代码清除,从而达到去除文档打开密码的作用。直接去除文档打开密码仅适用于一些版本较早的文档,如Office 2003和Acrobat4.x创建的文档。
2.3 获取文档打开密码
最难的解密方法就是准确获取文档的打开密码,获取密码的方式又分为字典破解、伪码破解、暴力破解和密钥搜索等方式。
1)字典破解
字典破解,顾名思义就是利用大数据获知的网民常用密码做成数以亿计的密码数据库,利用加密者普遍缺乏密码强度意识的现状,采取高速计算机反复尝试的方式对文档进行破解,这种破解方式针对弱口令的成功率通常比较高,而且速度很快。
2)伪码破解
在尝试字典破解失败之后,还可以通过伪码破解的方式再次进行尝试,其原理是利用加密人员掌握的零星密码线索作为密码的伪码,以此尽可能降低密码的复杂度,从而提高解密的可能性。这种方法需要解密者熟练掌握PDL语言(Program Design Language),即伪码结构化语言,通过该语言指定有效的字符来充当字典元数据,并产生含有元数据长度不同的密码。 3)暴力破解
暴力破解是解密者对文档密码一无所知,并在尝试字典破解失败之后采取的一种解密方式,只要根据计算机性能和可以承受的时间限制,简单设置好可能采用的密码字符和可能的长度就可以开始破解。这种方式比较盲目,也是无可奈何的一种方式,能否解密成功需要具备一定的经验和运气。
4)密钥搜索
密钥搜索可以说是最后的解密方式,其搜索速度和加密方式息息相关,搜索40-bit RC4密钥的速度是搜索256-bit AES密钥的万倍以上。目前主流的台式机可以在数小时之内搜索出从0000000000-FFFFFFFFFF的40位密钥,但是针对256位的密钥,这种方式就力不从心了。
3 图形处理器(GPU)和网络集群对解密效率的影响
随着现代信息技术的高速发展,尤其是GPU的运用,极大提高了解密的速度和成功率。目前主流的GPU有NVIDIA和AMD,其并行计算能力是普通CPU的数千倍以上,目前,国内已有多家院校和机构采用了GPU服务器作为运算之用,其运算能力远远超出传统桌面计算机。
同时,网络集群分布式解密技术也已广泛应用于破解领域,国外已有多款解密软件支持多台计算机联网解密,如果采用GPU服务器建立网络集群,其解密速度将进一步大幅提升。国外一些在线解密服务基本上采取的就是这种方式。
4 密码设置合理性建议
为了尽可能的保护文档,笔者建议可以采取以下四种方式提高文档加密强度:一是使用新版的办公软件,如Microsoft Office 365和Adobe Acrobat DC,Office在加密保存时需选择*.docx格式;二是采取加密插件,如fileopen就是非常好的PDF文档加密插件,采用它加密的文档目前还没有破解方法;三是密码字符要尽量多样化,如数字、小写字符、大写字符和特殊符号等混合使用;四是密码长度应不少于10位,且需尽量规避常用弱密码,尤其是要尽量避免使用姓名和生日等作为密码。
参考文献:
[1] 李小波.Office文件加密机制的安全性[J].计算机运用,2010,6(30):126-129.
[2] Christian C J N.软件加密与解密[M].崔孝晨,译.北京:人民邮电出版社,2012.
[3] DENIS T S,JOHNSON S.程序员密码学[M].沈晓斌,译.北京:机械工业出版社,2007.
[4] GuaPDF-PDF password and restrictions remover [EB/OL],[2016-05-28], http://www.guapdf.com.
[5] Parallel Password Recovery[EB/OL],[2016-05-28], http://www.parallelrecovery.com.
[6] Digital Rights Management [EB/OL],[2016-05-28], http://www.fileopen.com.
关键词:办公文档;加密;解密
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)20-0040-02
在现代商务活动及日常办公中,我们经常用到的办公软件有Microsoft Office和Adobe Acrobat等,这些软件都为用户提供文档加密和权限设置功能。当然,有加密就有解密,针对这些加密文档的解密软件层出不穷,功能也日益强大。对此,本文将主要就当前主流办公文档的加密强度和解密难度两个方面进行详细阐述,并提出可行的文档加密策略。
1 文档加密的算法和强度
文档的加密算法和强度基本遵循了从40-bit RC4加密到128-bit RC4加密,再从AES 128-bit加密到AES 256-bit加密的演变过程。促成这种变化的主要根源在于长度较小的密钥已经无法适应当今分布式开放网络对数据加密安全性的要求。
1.1 Microsoft Office文档密码
Office作为桌面办公的首选软件,目前已被广泛应用,是最受欢迎的办公软件之一,其版本有很多,从97、2000、2002、2003到2007、2010、2013,再到现在最新的Office 365。其中,Office 97/2000采用的40-bit RC4加密,常用的单机系统使用Key Searching密钥空间穷举搜索攻击能在几小时内100%破解成功,在线破解服务更是能在数秒之间获得明文;Office2002/2003文件加密功能的密钥虽然可以达到128位,但需要用户进行特殊设定,同时,由于加/解密密钥Key的生成运算缺失迭代,因此,用户在进行口令破解时,速度可以很快,同样,在线破解服务能在数秒之间获得明文;Office 2007/2010/2013在文件格式架构上有了极大的跨越,支持Open XML文件的加密类型,采用的是128-bit AES加密,使得Key Searching密钥空间穷举搜索攻击解密失效,同时,加/解密密钥Key生成运算经过几万次迭代,使得用户口令猜测变得十分缓慢。尽管如此,国外仍有部分网站声称数小时内破译的可能性为75%以上。可以说,Office在文档打开密码上下了很大功夫,但在文档限制密码方面,却依然较为薄弱,很多版本的限制密码能在瞬间被解除。
1.2 Adobe Acrobat 文档密码
Acrobat软件是Adobe公司开发的一款PDF(Portable Document Format,便携式文档格式)编辑软件,该格式使用Adobe公司开发的PostScript页面描述语言,使得页面中的文字和图形质量得到了质的飞跃,无论是网上阅读,还是打印、印刷出版,都被广泛应用和普及。Acrobat从1.0版本开始,目前已经发布到目前的15.0(DC),其加密手段也在不断演进。Acrobat的加密分为打开口令和限制口令,3.x/4.x版本的打开口令采用40-bit RC4加密,目前有多种软件都可以通过支持GPU的分布式Key Searching密钥空间穷举搜索的方式进行破解,通过测试,这种破解的准确性可以达到100%;5.x/6.x采用的是128-bit RC4加密,7.x/8.x采用的是128-bit AES加密,9.x/X/XI/DC版则采用强度更高的256-bit AES加密,这几种加密方法的采用,使得穷举破解的可能性几乎为零,找回密码的途径往往是采用字典破解、伪码破解和暴力破解。在限制口令方面,Acrobat的加密措施也不尽如人意,很多软件都能在极短时间内,甚至是瞬间解除。对此,Acrobat采取了数字证书加密或插件加密(如FileOpen)限制的方式,这类加密方式目前还无法快速的破解。
2 文档解密的种类和方法
解除文档可以按难度系数划分为三种,第一是去除文档的各种使用限制,第二是去除文档的打开密码,第三是获取文档的打开密码。
2.1 去除文档使用限制
去除文档使用限制是解密行为中最简单的操作,通过Advanced Office Password Remover和Guaranteed PDF Restrictions Decrypter等软件,就能轻松去除Word文档的只读限制和Acrobat文档的打印限制等,包括最新的256-bit AES加密。
2.2 去除文档打开密码
去除文档打开密码的难度系数比去除文档限制要高很多,主要原理是采用已知的办公软件漏洞,直接从文档内部将限制代码清除,从而达到去除文档打开密码的作用。直接去除文档打开密码仅适用于一些版本较早的文档,如Office 2003和Acrobat4.x创建的文档。
2.3 获取文档打开密码
最难的解密方法就是准确获取文档的打开密码,获取密码的方式又分为字典破解、伪码破解、暴力破解和密钥搜索等方式。
1)字典破解
字典破解,顾名思义就是利用大数据获知的网民常用密码做成数以亿计的密码数据库,利用加密者普遍缺乏密码强度意识的现状,采取高速计算机反复尝试的方式对文档进行破解,这种破解方式针对弱口令的成功率通常比较高,而且速度很快。
2)伪码破解
在尝试字典破解失败之后,还可以通过伪码破解的方式再次进行尝试,其原理是利用加密人员掌握的零星密码线索作为密码的伪码,以此尽可能降低密码的复杂度,从而提高解密的可能性。这种方法需要解密者熟练掌握PDL语言(Program Design Language),即伪码结构化语言,通过该语言指定有效的字符来充当字典元数据,并产生含有元数据长度不同的密码。 3)暴力破解
暴力破解是解密者对文档密码一无所知,并在尝试字典破解失败之后采取的一种解密方式,只要根据计算机性能和可以承受的时间限制,简单设置好可能采用的密码字符和可能的长度就可以开始破解。这种方式比较盲目,也是无可奈何的一种方式,能否解密成功需要具备一定的经验和运气。
4)密钥搜索
密钥搜索可以说是最后的解密方式,其搜索速度和加密方式息息相关,搜索40-bit RC4密钥的速度是搜索256-bit AES密钥的万倍以上。目前主流的台式机可以在数小时之内搜索出从0000000000-FFFFFFFFFF的40位密钥,但是针对256位的密钥,这种方式就力不从心了。
3 图形处理器(GPU)和网络集群对解密效率的影响
随着现代信息技术的高速发展,尤其是GPU的运用,极大提高了解密的速度和成功率。目前主流的GPU有NVIDIA和AMD,其并行计算能力是普通CPU的数千倍以上,目前,国内已有多家院校和机构采用了GPU服务器作为运算之用,其运算能力远远超出传统桌面计算机。
同时,网络集群分布式解密技术也已广泛应用于破解领域,国外已有多款解密软件支持多台计算机联网解密,如果采用GPU服务器建立网络集群,其解密速度将进一步大幅提升。国外一些在线解密服务基本上采取的就是这种方式。
4 密码设置合理性建议
为了尽可能的保护文档,笔者建议可以采取以下四种方式提高文档加密强度:一是使用新版的办公软件,如Microsoft Office 365和Adobe Acrobat DC,Office在加密保存时需选择*.docx格式;二是采取加密插件,如fileopen就是非常好的PDF文档加密插件,采用它加密的文档目前还没有破解方法;三是密码字符要尽量多样化,如数字、小写字符、大写字符和特殊符号等混合使用;四是密码长度应不少于10位,且需尽量规避常用弱密码,尤其是要尽量避免使用姓名和生日等作为密码。
参考文献:
[1] 李小波.Office文件加密机制的安全性[J].计算机运用,2010,6(30):126-129.
[2] Christian C J N.软件加密与解密[M].崔孝晨,译.北京:人民邮电出版社,2012.
[3] DENIS T S,JOHNSON S.程序员密码学[M].沈晓斌,译.北京:机械工业出版社,2007.
[4] GuaPDF-PDF password and restrictions remover [EB/OL],[2016-05-28], http://www.guapdf.com.
[5] Parallel Password Recovery[EB/OL],[2016-05-28], http://www.parallelrecovery.com.
[6] Digital Rights Management [EB/OL],[2016-05-28], http://www.fileopen.com.