一种Word加密文档的快速还原方法技术

技术编号:15501463 阅读:53 留言:0更新日期:2017-06-03 22:49
本发明专利技术公开了一种Word加密文档的快速还原方法法,包括如下步骤:步骤一、建立还原Word文档的密钥彩虹表;步骤二、破译密文文档的解密密钥;步骤三、利用解密密钥和Word文档的结构信息重构出原始明文文档。本发明专利技术的积极效果是:用于破解密钥的彩虹表只需要生成一次,生成后的彩虹表通用于所有密文文档的还原;与密文文档的加密口令复杂度无关,避免了现有文档破解方法中长口令无法破解的缺点;能有效地还原2003版本的Word加密文档,成功率在99%以上;能快速还原加密文档,经测试在普通台式机的计算能力下(主频在3.0GHz以上),密文文档的平均还原时间在3分钟以内,可以很好地满足实时解密的实际需求。

Fast reduction method for Word encrypted document

The invention discloses a fast reduction method of Word document encryption method, which comprises the following steps: step one, a reduction of Word document key rainbow table; step two, decoding the ciphertext decryption key document; step three, use the structure information of Word document decryption key and reconstruct the original plaintext document. The positive effect of the invention is used to crack the key table only need to generate a rainbow, after the rainbow table to restore all the ciphertext and ciphertext; document encryption password complexity to avoid the shortcomings of long password can not break the existing document crack method; effective reduction of version 2003 Word document encryption, a success rate of over 99%; can quickly restore the encrypted document, by testing the common desktop computing capacity in the next (clocked at 3.0GHz), the average reduction time the ciphertext in less than 3 minutes, the actual demand can well satisfy real-time decryption.

【技术实现步骤摘要】
一种Word加密文档的快速还原方法
本专利技术涉及一种Word加密文档的快速还原方法。
技术介绍
微软公司开发的Word办公文档是目前人们广泛使用的文字处理工具,而文档内容的安全性和隐私保护已经成为用户最基本的需求。Word文档使用了加密技术来对文档进行限制性的访问,加密后只有输入正确的口令(日常生活中也称密码)才能查看和编辑文档的内容,这给用户数据提供了必要的安全保障。然而,随着口令的在各种加密应用中的大量使用,用户遗忘口令的情况也常常出现。如果一旦忘记了某些重要Word文档的密码,则无法打开文档,将给用户带来很大的麻烦或损失。另一方面,加密的Word文档也给国家安全部门在案件的侦查和取证工作中带来了困难。因此Word加密文档的破译和还原技术有着重要的实际应用价值。Word加密文档最早的破译方法是通过安全漏洞,早在2004年就有人匿名地给出了通过漏洞利用来修改文档的加密保护措施的方法,达到获取文档访问权限的目的。2005年,Wu等人指出了Word文档中核心的RC4加密算法在加密具体实施时的使用方式不当,即使用了相同的密钥流为同一文件的不同版本加密。这使得理论上可以用更简单的逻辑异或算法来解密文件内容。可是实际中要利用这些安全漏洞来还原出文件内容还是比较困难,这是因为要解密文档内容需要得到同一文件的不同版本,这样的条件在实际中难以满足。2008年微软公司公开了Word文档的存储结构和加密算法,使得可以通过破解文档的口令来打开加密后的文档。实际上现有的Word文档还原方法几乎都是通过穷举加密文档可能的口令来进行破译,比较有名的软件有俄罗斯Elcomsoft公司的AdvancedOfficePasswordRecovery软件以及Passware公司的PasswordRecoveryKit软件。但这种暴力破解的方法仅对短口令有效,对应比较长且复杂的口令,由于搜索的口令空间非常大,破解很费时,很难在实际可接受的时间内恢复口令,从而无法完成明文文档的还原。因此设计一种与加密口令长度无关的破译方法成了研究的热点方向。杭州电子科技大学的陈勤等人在这方面进行了探索,提出利用时空折中攻击来进行Word加密文档的破译,但它们的成果仅限于恢复出中间加密密钥,没有给出最终明文文档的还原方法。进一步,方海英等人利用同样的方法将Word文档的中间加密密钥的恢复算法在Hadoop集群环境进行了实现,较大地提高了算法的运行效率。北京邮电大学的李筱筱等人研究了在CPU和GPU异构高性能平台上的RC4算法的快速实现,但成果仅用于PowerPoint文件的口令破解,没有给出Word文档的还原方法。综合看来,当前Word加密文档的还原方法基本还是依靠暴力破解口令的方式,虽然采用口令字典攻击的方式能提升破解的成功率,但还存在以下主要问题:(1)难以破解复杂度较高的口令。若加密文档采用的口令复杂度较高,比如口令长度较长或口令字母采用了多种类型的混合方式,此时尝试的口令空间很大,实际中难以进行破解。(2)口令破解的时间较长,不能满足实际时效需求。实际中加密文档的口令破解时间越短越有实用价值,有时甚至要求对文档进行实时破译。现有方法的口令破解速度难以满足这样的实际需求。(3)加密文档还原的成功率不高。通过对现有破解工具的测试发现加密文档还原的成功率并不高,不能保证能对目标加密文档进行成功破解。(4)新的还原方法尚不完整。时空折中攻击是一种针对Word加密文档的新的还原方法,但目前的成果仅能破译出加密过程中间阶段的密钥,没有给出如何还原出最终明文文档的方法。
技术实现思路
为了克服现有技术的上述缺点,本专利技术提供了一种Word加密文档的快速还原方法,主要解决如下技术问题:(1)区别于传统的基于口令破解的文档还原方式,该还原方法与口令复杂度无关,解决当前复杂口令无法破解而导致的加密文档无法还原的问题。(2)能在确定的时间内还原出明文文档,解决当前文档破解时效性不能满足实际需求的问题。(3)能以99%以上的成功率还原出明文文档,解决当前还原方法成功率不高的问题。(4)给出了完整的文档还原过程,弥补了当前时空折中攻击方法只能恢复出中间加密密钥的缺陷。本专利技术解决其技术问题所采用的技术方案是:一种Word加密文档的快速还原方法法,包括如下步骤:步骤一、建立还原Word文档的密钥彩虹表;步骤二、破译密文文档的解密密钥;步骤三、利用解密密钥和Word文档的结构信息重构出原始明文文档。与现有技术相比,本专利技术的积极效果是:(1)用于破解密钥的彩虹表只需要生成一次,生成后的彩虹表通用于所有密文文档的还原;(2)该还原方法与密文文档的加密口令复杂度无关,避免了现有文档破解方法中长口令无法破解的缺点;(3)该方法能有效地还原2003版本的Word加密文档,成功率在99%以上;(4)该方法能快速还原加密文档,经测试在普通台式机的计算能力下(主频在3.0GHz以上),密文文档的平均还原时间在3分钟以内,可以很好地满足实时解密的实际需求。附图说明本专利技术将通过例子并参照附图的方式说明,其中:图1为Word加密文档还原的整体流程示意图;图2为Word文档加密原理示意图;图3为彩虹表的计算和存储流程示意图;图4为利用彩虹表破译解密密钥的流程示意图;图5为Word文档的物理存储结构示意图;图6重构Word明文文档过程示意图。具体实施方式本专利技术提出一种Word加密文档的明文快速还原方法,可用于2003版本及之前的Word加密文档的还原,如图1所示,该方法主要包括以下三个步骤:步骤一:建立还原Word文档的密钥彩虹表。根据微软发布的Word文档的加密原理可知,Word采用RC4密码算法对文档的数据加密。RC4算法的加密密钥由用户输入的口令产生,首先经过密钥导出函数(记为KDF)计算得到5字节的初始密钥,然后根据Word文档中每个512字节的数据块的位置编号进行填充后,再用MD5哈希算法计算出作为RC4算法的加密密钥(16字节),最后由RC4算法加密产生与每块数据长度相同的密钥流进行异或得到相应的密文(整个加密过程如图2所示)。现有的Word加密文档破解方法是从用户口令的角度进行尝试,口令越长,搜索的空间越大,破解时间就越长。当用户选择了一个复杂度较高的口令时(比如当用户口令包含数字,大小写字母以及特殊字符,且长度大于8位),破解成功的概率很低。但我们从文档加密过程发现,不管用户输入的口令长度多少,最终的安全强度只取决于决定RC4加密密钥的5字节的初始密钥。因此我们可以直接尝试破解这40比特的初始密钥。该破解方法与用户口令复杂度无关,具有显著的优势。通过进一步研究我们发现,未加密的Word文档从0x400偏移处(对应于数据块编号0x01)开始的8字节明文p固定为全零字节0x00。记初始密钥为k,RC4算法对应于k和块号0x01产生的密钥流为ks,因为密文是明文和密钥流字节的异或,即c=pXORks,而明文字节p全为0x00,所以此时密文c与密钥流ks相同。正是因为明文p的这一特点,我们可以使用彩虹表攻击来破译初始密钥k。彩虹表攻击是一种时空折中算法,利用离线预计算得到的存储数据来减少在线攻击阶段的分析时间。针对密码算法E和已知的固定明文p,攻击目标是对给出的目标密文c,获取密钥k满足Ek本文档来自技高网
...
一种Word加密文档的快速还原方法

【技术保护点】
一种Word加密文档的快速还原方法法,其特征在于:包括如下步骤:步骤一、建立还原Word文档的密钥彩虹表;步骤二、破译密文文档的解密密钥;步骤三、利用解密密钥和Word文档的结构信息重构出原始明文文档。

【技术特征摘要】
1.一种Word加密文档的快速还原方法法,其特征在于:包括如下步骤:步骤一、建立还原Word文档的密钥彩虹表;步骤二、破译密文文档的解密密钥;步骤三、利用解密密钥和Word文档的结构信息重构出原始明文文档。2.根据权利要求1所述的一种Word加密文档的快速还原方法,其特征在于:步骤一所述建立密钥彩虹表的方法为:选择密钥空间K中m个起始点S1,S2,…,Sm,定义从密文空间C到密钥空间K的约化函数R:C→K,以及复合函数F(k)=R(Ek(p)),其中:目标单向函数Ek(p)=c;利用函数F对m个起始点Si进行计算,得到m条链,计算完成后存储起点和终点对(Si,Ei),由此得到的表即为密钥彩虹表。3.根据权利要求2所述的一种Word加密文档的快速还原方法,其特征在于:每条链中各个位置的约化函数Ri(x)=(x+ti)mod240,其中x为64比特的数,ti为彩虹链中节点的位置。4.根据权利要求2所述的一种Word加密文档的快速还原方法,其特征在于:所述彩虹表的个数n、每个表的链数m、链长t的计算公式如下:n=-ln(1-s)/2,m=K/n,t=-(K/M)ln(1-s),其中:s为期望的成功率、M为存储空间、K为密钥空间。5.根据权利要求2所述的一种Word加密文档的快速还原方法,其特征在于:步骤二所述破译密文文档的解密密钥的方法为:读取Word文档的0x400偏移处的8字节数据作为目标密文C0,首...

【专利技术属性】
技术研发人员:张李军吉庆兵于飞谈程罗杰陈曼
申请(专利权)人:中国电子科技集团公司第三十研究所
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1