廖榮江
摘要:在現(xiàn)代商務(wù)活動(dòng)及日常辦公中,都涉及辦公文檔的加密和解密,該文主要以Microsoft Office和Adobe Acrobat兩種主流辦公軟件為例,研究其加密的算法和強(qiáng)度、解密的種類和方法、圖形處理器(GPU)和網(wǎng)絡(luò)集群對(duì)解密效率的影響。
關(guān)鍵詞:辦公文檔;加密;解密
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)20-0040-02
在現(xiàn)代商務(wù)活動(dòng)及日常辦公中,我們經(jīng)常用到的辦公軟件有Microsoft Office和Adobe Acrobat等,這些軟件都為用戶提供文檔加密和權(quán)限設(shè)置功能。當(dāng)然,有加密就有解密,針對(duì)這些加密文檔的解密軟件層出不窮,功能也日益強(qiáng)大。對(duì)此,本文將主要就當(dāng)前主流辦公文檔的加密強(qiáng)度和解密難度兩個(gè)方面進(jìn)行詳細(xì)闡述,并提出可行的文檔加密策略。
1 文檔加密的算法和強(qiáng)度
文檔的加密算法和強(qiáng)度基本遵循了從40-bit RC4加密到128-bit RC4加密,再?gòu)腁ES 128-bit加密到AES 256-bit加密的演變過(guò)程。促成這種變化的主要根源在于長(zhǎng)度較小的密鑰已經(jīng)無(wú)法適應(yīng)當(dāng)今分布式開放網(wǎng)絡(luò)對(duì)數(shù)據(jù)加密安全性的要求。
1.1 Microsoft Office文檔密碼
Office作為桌面辦公的首選軟件,目前已被廣泛應(yīng)用,是最受歡迎的辦公軟件之一,其版本有很多,從97、2000、2002、2003到2007、2010、2013,再到現(xiàn)在最新的Office 365。其中,Office 97/2000采用的40-bit RC4加密,常用的單機(jī)系統(tǒng)使用Key Searching密鑰空間窮舉搜索攻擊能在幾小時(shí)內(nèi)100%破解成功,在線破解服務(wù)更是能在數(shù)秒之間獲得明文;Office2002/2003文件加密功能的密鑰雖然可以達(dá)到128位,但需要用戶進(jìn)行特殊設(shè)定,同時(shí),由于加/解密密鑰Key的生成運(yùn)算缺失迭代,因此,用戶在進(jìn)行口令破解時(shí),速度可以很快,同樣,在線破解服務(wù)能在數(shù)秒之間獲得明文;Office 2007/2010/2013在文件格式架構(gòu)上有了極大的跨越,支持Open XML文件的加密類型,采用的是128-bit AES加密,使得Key Searching密鑰空間窮舉搜索攻擊解密失效,同時(shí),加/解密密鑰Key生成運(yùn)算經(jīng)過(guò)幾萬(wàn)次迭代,使得用戶口令猜測(cè)變得十分緩慢。盡管如此,國(guó)外仍有部分網(wǎng)站聲稱數(shù)小時(shí)內(nèi)破譯的可能性為75%以上??梢哉f(shuō),Office在文檔打開密碼上下了很大功夫,但在文檔限制密碼方面,卻依然較為薄弱,很多版本的限制密碼能在瞬間被解除。
1.2 Adobe Acrobat 文檔密碼
Acrobat軟件是Adobe公司開發(fā)的一款PDF(Portable Document Format,便攜式文檔格式)編輯軟件,該格式使用Adobe公司開發(fā)的PostScript頁(yè)面描述語(yǔ)言,使得頁(yè)面中的文字和圖形質(zhì)量得到了質(zhì)的飛躍,無(wú)論是網(wǎng)上閱讀,還是打印、印刷出版,都被廣泛應(yīng)用和普及。Acrobat從1.0版本開始,目前已經(jīng)發(fā)布到目前的15.0(DC),其加密手段也在不斷演進(jìn)。Acrobat的加密分為打開口令和限制口令,3.x/4.x版本的打開口令采用40-bit RC4加密,目前有多種軟件都可以通過(guò)支持GPU的分布式Key Searching密鑰空間窮舉搜索的方式進(jìn)行破解,通過(guò)測(cè)試,這種破解的準(zhǔn)確性可以達(dá)到100%;5.x/6.x采用的是128-bit RC4加密,7.x/8.x采用的是128-bit AES加密,9.x/X/XI/DC版則采用強(qiáng)度更高的256-bit AES加密,這幾種加密方法的采用,使得窮舉破解的可能性幾乎為零,找回密碼的途徑往往是采用字典破解、偽碼破解和暴力破解。在限制口令方面,Acrobat的加密措施也不盡如人意,很多軟件都能在極短時(shí)間內(nèi),甚至是瞬間解除。對(duì)此,Acrobat采取了數(shù)字證書加密或插件加密(如FileOpen)限制的方式,這類加密方式目前還無(wú)法快速的破解。
2 文檔解密的種類和方法
解除文檔可以按難度系數(shù)劃分為三種,第一是去除文檔的各種使用限制,第二是去除文檔的打開密碼,第三是獲取文檔的打開密碼。
2.1 去除文檔使用限制
去除文檔使用限制是解密行為中最簡(jiǎn)單的操作,通過(guò)Advanced Office Password Remover和Guaranteed PDF Restrictions Decrypter等軟件,就能輕松去除Word文檔的只讀限制和Acrobat文檔的打印限制等,包括最新的256-bit AES加密。
2.2 去除文檔打開密碼
去除文檔打開密碼的難度系數(shù)比去除文檔限制要高很多,主要原理是采用已知的辦公軟件漏洞,直接從文檔內(nèi)部將限制代碼清除,從而達(dá)到去除文檔打開密碼的作用。直接去除文檔打開密碼僅適用于一些版本較早的文檔,如Office 2003和Acrobat4.x創(chuàng)建的文檔。
2.3 獲取文檔打開密碼
最難的解密方法就是準(zhǔn)確獲取文檔的打開密碼,獲取密碼的方式又分為字典破解、偽碼破解、暴力破解和密鑰搜索等方式。
1)字典破解
字典破解,顧名思義就是利用大數(shù)據(jù)獲知的網(wǎng)民常用密碼做成數(shù)以億計(jì)的密碼數(shù)據(jù)庫(kù),利用加密者普遍缺乏密碼強(qiáng)度意識(shí)的現(xiàn)狀,采取高速計(jì)算機(jī)反復(fù)嘗試的方式對(duì)文檔進(jìn)行破解,這種破解方式針對(duì)弱口令的成功率通常比較高,而且速度很快。
2)偽碼破解
在嘗試字典破解失敗之后,還可以通過(guò)偽碼破解的方式再次進(jìn)行嘗試,其原理是利用加密人員掌握的零星密碼線索作為密碼的偽碼,以此盡可能降低密碼的復(fù)雜度,從而提高解密的可能性。這種方法需要解密者熟練掌握PDL語(yǔ)言(Program Design Language),即偽碼結(jié)構(gòu)化語(yǔ)言,通過(guò)該語(yǔ)言指定有效的字符來(lái)充當(dāng)字典元數(shù)據(jù),并產(chǎn)生含有元數(shù)據(jù)長(zhǎng)度不同的密碼。
3)暴力破解
暴力破解是解密者對(duì)文檔密碼一無(wú)所知,并在嘗試字典破解失敗之后采取的一種解密方式,只要根據(jù)計(jì)算機(jī)性能和可以承受的時(shí)間限制,簡(jiǎn)單設(shè)置好可能采用的密碼字符和可能的長(zhǎng)度就可以開始破解。這種方式比較盲目,也是無(wú)可奈何的一種方式,能否解密成功需要具備一定的經(jīng)驗(yàn)和運(yùn)氣。
4)密鑰搜索
密鑰搜索可以說(shuō)是最后的解密方式,其搜索速度和加密方式息息相關(guān),搜索40-bit RC4密鑰的速度是搜索256-bit AES密鑰的萬(wàn)倍以上。目前主流的臺(tái)式機(jī)可以在數(shù)小時(shí)之內(nèi)搜索出從0000000000-FFFFFFFFFF的40位密鑰,但是針對(duì)256位的密鑰,這種方式就力不從心了。
3 圖形處理器(GPU)和網(wǎng)絡(luò)集群對(duì)解密效率的影響
隨著現(xiàn)代信息技術(shù)的高速發(fā)展,尤其是GPU的運(yùn)用,極大提高了解密的速度和成功率。目前主流的GPU有NVIDIA和AMD,其并行計(jì)算能力是普通CPU的數(shù)千倍以上,目前,國(guó)內(nèi)已有多家院校和機(jī)構(gòu)采用了GPU服務(wù)器作為運(yùn)算之用,其運(yùn)算能力遠(yuǎn)遠(yuǎn)超出傳統(tǒng)桌面計(jì)算機(jī)。
同時(shí),網(wǎng)絡(luò)集群分布式解密技術(shù)也已廣泛應(yīng)用于破解領(lǐng)域,國(guó)外已有多款解密軟件支持多臺(tái)計(jì)算機(jī)聯(lián)網(wǎng)解密,如果采用GPU服務(wù)器建立網(wǎng)絡(luò)集群,其解密速度將進(jìn)一步大幅提升。國(guó)外一些在線解密服務(wù)基本上采取的就是這種方式。
4 密碼設(shè)置合理性建議
為了盡可能的保護(hù)文檔,筆者建議可以采取以下四種方式提高文檔加密強(qiáng)度:一是使用新版的辦公軟件,如Microsoft Office 365和Adobe Acrobat DC,Office在加密保存時(shí)需選擇*.docx格式;二是采取加密插件,如fileopen就是非常好的PDF文檔加密插件,采用它加密的文檔目前還沒(méi)有破解方法;三是密碼字符要盡量多樣化,如數(shù)字、小寫字符、大寫字符和特殊符號(hào)等混合使用;四是密碼長(zhǎng)度應(yīng)不少于10位,且需盡量規(guī)避常用弱密碼,尤其是要盡量避免使用姓名和生日等作為密碼。
參考文獻(xiàn):
[1] 李小波.Office文件加密機(jī)制的安全性[J].計(jì)算機(jī)運(yùn)用,2010,6(30):126-129.
[2] Christian C J N.軟件加密與解密[M].崔孝晨,譯.北京:人民郵電出版社,2012.
[3] DENIS T S,JOHNSON S.程序員密碼學(xué)[M].沈曉斌,譯.北京:機(jī)械工業(yè)出版社,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.