張通明,關(guān)建峰
(北京郵電大學網(wǎng)絡技術(shù)研究院,北京100876)
面向文本的標識分組加解密模式
張通明,關(guān)建峰
(北京郵電大學網(wǎng)絡技術(shù)研究院,北京100876)
針對電子密碼本模式無法隱藏明文數(shù)據(jù)模式、分組固定、密鑰唯一等問題,利用文本文件的字符存儲特性,結(jié)合分組加密模式,提出了一種面向文本流的標識分組加解密模式。該模式設計了雙 Hash映射結(jié)構(gòu),并創(chuàng)新性地引入了標識庫,一層映射完成對明文的非連續(xù)分組映射,而另一層映射則基于標識庫完成對明文分組的密鑰映射。該模式成功隱藏了明文數(shù)據(jù)模式,并有效解決了電子密碼本模式的分塊固定和密鑰唯一的問題,提高了密文的安全性。實驗表明,標識分組加解密模式具有較好的安全性、靈活性和擴展性。
文本加密與解密;加密模式;分組加密;標識分組加解密
隨著電子化辦公的極大流行,電子文本文檔對信息傳遞起著重要的作用。但電子文本文檔給人們辦公方式帶來極大方便的同時,也威脅著人們秘密信息的安全。根據(jù)Search Security網(wǎng)站對358個企業(yè)進行的信息安全調(diào)查,目前30%~40%的企業(yè)機密泄露都是由電子文件造成的?!敦敻弧放琶?1 000名的企業(yè),每次由電子文檔泄露造成的損失約為400萬美元[1]。文獻[2]針對DES和AES的各種分組密碼模式為主線,詳細介紹了分組密碼模式的設計理念、安全模型及研究現(xiàn)狀。文獻[3]通過分析串行與并行環(huán)境的內(nèi)在不同,提出了并行密碼體制構(gòu)造的基本理論,為并行密碼體制奠定了理論基礎(chǔ)。文獻[4]提出的分組密碼并行工作模式,可以達到線性的加速比,提高了分組密碼并行效率。文獻[5]引入自然語言處理和水印技術(shù),提出了一種基于自然語言處理的文本加密算法。該算法未將明文轉(zhuǎn)化成密文,而是通過轉(zhuǎn)換將明文信息隱藏。這種加密文本方式僅適合小容量文本,對大容量文本則略顯薄弱。文獻[6]針對蜂窩網(wǎng)絡數(shù)據(jù)流容易被竊聽的問題,提出了一種蟻群密鑰生成算法來生成加密密鑰加密網(wǎng)絡通信數(shù)據(jù)流。該算法減少了被存儲和分發(fā)的密鑰數(shù)量,但其更適于網(wǎng)絡間的數(shù)據(jù)加密傳輸,不適用于電子文檔加密。文獻[7]針對手機網(wǎng)絡服務在網(wǎng)絡傳輸中的安全問題,提出了一種適用于黑莓手機安全網(wǎng)絡服務的密文反饋(CFB,cipher feedback)8位模式分組加密算法。該算法保障手機網(wǎng)絡的通信安全,沒有結(jié)合電子文檔的特點設計加密方式。文獻[8]根據(jù)DNA序列合成蛋白質(zhì)的生物過程存在的不可逆性,提出了一種sEncrypt序列加密算法。
綜上,目前針對電子文本文檔的深入研究較少,而電子密碼本(ECB,electronic code book)的加密模式算法連續(xù)分塊、單一密鑰的特點,使算法安全性較低。單一密鑰形式無法隱藏原有的明文數(shù)據(jù)模式,同時,連續(xù)分塊形式使明文塊間相對獨立,又容易成為惡意攻擊的重點。本文針對電子文本文檔的特點,結(jié)合分組密碼模式,提出了一種面向文本流的基于標識的分組加解密模式。此模式更適合電子文本流的特點,解決了ECB模式的不足,具有更好的安全性和靈活性。
2.1 電子密碼本模式
針對文獻[2]提到的分組密碼工作模式的研究已有一段歷史,早在1980年,美國國家標準局公布的4種DES工作模式就包含ECB密碼模式。NIST 2001年在文件800-38A中公布的AES用于保密性的5種工作模也包含ECB密碼模式。所以,電子密碼本模式是分組密碼模式的基礎(chǔ)模式和典范。分組密碼,也叫塊加密(block cipher),一次加密明文中的一個塊。將明文按一定的位長分組,明文組經(jīng)過加密運算得到密文組,密文組經(jīng)過解密運算,還原成明文組。經(jīng)典電子密碼本模式如圖1所示。
符號說明如下。
iP:表示第i塊明文,即明文塊1為1P,明文塊2為2P,明文塊i為iP。
圖1 電子密碼本模式
Ci:表示第i塊明文通過加密模式轉(zhuǎn)化后生成的對應密文,即明文塊 P1轉(zhuǎn)化后生成 C1,明文塊 P2轉(zhuǎn)化后生成 C2,明文塊 Pi轉(zhuǎn)化后生成密文塊 Ci。
Key:表示在加解密過程中用到的加解密密鑰。
EKey(Pi):在密鑰 Key作用下加密算法對明文塊 Pi的加密。
電子密碼本模式加密和解密轉(zhuǎn)化過程可以用式(1)和式(2)表示。
分析電子密碼本模式的加解密過程可得幾點特征,即明文被分成大小相同的若干塊、組成各分塊的內(nèi)容連續(xù)、所有明文塊使用相同的唯一密鑰。此模式優(yōu)點是可并行計算,不存在誤差的傳遞,加解密速度快,且易于標準化。但缺點是這種分組加密方式會使相同的明文組經(jīng)過加密后得到相同的密文組,因此無法隱藏數(shù)據(jù)模式;另外,加密明文塊相互獨立,可以對明文塊進行主動攻擊(如組的嵌入、刪除、重放等);并且,由于固定分組的特點,加密長度必須調(diào)整到分組的整數(shù)倍。
2.2 標識分組加解密模式
2.2.1 模式思路
標識分組加解密模式在電子密碼本模式的基礎(chǔ)上做了進一步的改進和優(yōu)化,主要變革了明文塊的固定塊大小分組方式,引入了 Hash算法函數(shù),提出了基于Hash算法的明文塊分組模式,使明文塊的分組變得不固定和不連續(xù)。另外,引入了標識的概念,引入標識主要克服了電子密碼本模式中密鑰Key的單一性問題,標識可以擁有多個,并且允許動態(tài)添加,標識主要決定不同分組塊所選用的不同密鑰。同時,標識的選取算法和明文塊的分組算法相關(guān)聯(lián)。
整個加密模式的流程如圖2所示,其執(zhí)行過程如下。
步驟 1 字符流重新組合生成非連續(xù)明文塊。將待加密的明文文本內(nèi)容轉(zhuǎn)化為相應的明文字符流(圖2中1ch~nch分別代表一個明文字符),根據(jù)Hash映射規(guī)則按序?qū)巫址M行映射,每個字符會被映射到其對應的明文塊,這樣從1ch~nch映射結(jié)束,就產(chǎn)生了k塊經(jīng)Hash映射所得到的明文塊1到明文塊k。
圖2 標識分組加密過程
步驟2 根據(jù)標識庫映射得到各明文塊 i所對應的密鑰iKey。標識庫中存儲著帶有標識用戶信息(用戶身份、當前工作環(huán)境、設備編號以及網(wǎng)絡特征等)作用的關(guān)鍵碼信息,標識庫中的信息允許添加、刪除及變更等變動,這與后面實施的加解密過程無關(guān)。通過Hash映射得到明文塊i所對應的標識庫中的具體標識信息,即得到對應的加密密鑰iKey。
步驟3 通過加密函數(shù)encrypt(iP,iKey)加密對應的明文塊i。通過步驟1和步驟2的操作過程,得到分組完成的各明文塊及相對應的密鑰,經(jīng)加密函數(shù)encrypt(iP,iKey)完成對明文的加密過程。
步驟4 加密流程完成。通過上述3個步驟的操作,得到明文相對應的密文,加密過程完成。
具體的解密模式流程與加密模式流程類似,是加密過程的逆過程,只要按照相應的操作方式進行即可,具體的操作步驟不再贅述,可參考加密的執(zhí)行過程。解密模式流程如圖3所示。
2.2.2 標識分組加密算法
輸入:明文字符串(plainTextString)
標識數(shù)組(flagArray)
基準映射參數(shù)(baseDivideArrayNum)
輸出:密文字符串(cipherTextString)
算法描述中的 hash(i, baseDivideArrayNum)函數(shù),是通過Hash映射返回當前字符ich被分配的明文塊號,傳入?yún)?shù)為當前字符位序i及明文塊基準映射參數(shù)baseDivideArrayNum。同理,算法描述中hashFlag(plainBlockNum, flagArrayNum)函數(shù),是通過Hash映射返回當前明文塊,所對應的加密密鑰,傳入?yún)?shù)為當前字符所映射的塊號plainBlockNum 及標識數(shù)組中的標識元素數(shù)量flagArrayNum。其中,Hash函數(shù)定義具有靈活性,可以根據(jù)需求定義不同的映射方式。算法描述中的encrypt(pString[i], Key)函數(shù)設置了加密函數(shù),將明文通過此函數(shù)和密鑰Key加密為密文。解密過程是加密過程的逆過程,操作流程與加密算法的設計類似,不再詳述。
圖3 標識分組解密過程
3.1 實驗結(jié)果
實驗軟硬件環(huán)境如下。硬件:CPU為Intel(R) Core i3 530@2.93GHz 2.93GHz RAM 4 GB。軟件:Ubuntu 12.04 LTS 系統(tǒng) 64 bit gcc version 4.4.7 g++ version 4.4.7。本實驗測試采用DES加密方式來驗證電子密碼本模式和標識分組模式在不同文本文件大小、文本文件不同分組數(shù)目(個)及不同標識庫大?。▊€)條件下CPU的用時(ms)及其模式速率(Mbit/s)對比。通過標識分組加密模式的加密明文有效地轉(zhuǎn)化為密文。圖4(a)為操作前的明文效果,圖4(b)為應用本文提出的標識加密模式加密后的效果。
惡嘴攻擊與串謀攻擊都是從信任模型的間接信任入手,提供不正常的推薦信任數(shù)據(jù)。在本實驗中,共同鄰居節(jié)點只提供虛假的推薦信任,而不發(fā)動其他攻擊。設置0.1到0.4的惡意推薦率,分別迭代 1 000 次,觀察惡嘴攻擊與串謀攻擊對間接信任的影響與各模型的防御能力。
圖4 明文密文效果
3.2 性能分析
3.2.1 2種模式的加密時間和加密速率分析
實驗分別針對不同文件大小的TXT文本文件應用電子密碼本模式和標識分組模式加密,所測得的加密時間及加密速率折線如圖 5所示。在圖5(a)中,文件大小10 M為臨界點,文件大小小于10 M時,2種模式的加密時間近似為同一條折線,說明在現(xiàn)有的機器環(huán)境下,2種加密模式的時間消耗基本一致。文件大小大于10 M時,標識分組模式的時間消耗比ECB模式的時間消耗大,當文件大小為100 M時,所消耗的時間差約為700 ms。主要原因在于標識分組模型的算法設計中,為了提高安全性應用了 2次Hash映射,導致時間消耗有所增加。同時,從圖5(b)的分析中可以看出,加密效率上相比ECB模式也有所降低,但在人為感官的可接受范圍內(nèi)。而2種算法在整體加密效率方面均不會隨文件大小的變化而波動,總體趨于動態(tài)穩(wěn)定。標識分組模式算法犧牲了小部分效率以提高密文的安全性。
圖5 2種模式加密時間和速率對比
3.2.2 分組數(shù)目大小對標識分組模式的性能影響分析
圖6驗證了標識分組模式明文塊分組數(shù)目變化對算法執(zhí)行時間及效率的影響。從圖 6(a)中可以看出,文件大小不變的情況下,分組數(shù)目從10增加到10 000時,整個文件加密的執(zhí)行時間基本趨于平穩(wěn)狀態(tài),即分組數(shù)目的變化不會影響算法的執(zhí)行時間,從這點可以分析出,分組數(shù)目的變化對算法的執(zhí)行時間沒有影響。圖6(b)表示標識分組模式分組數(shù)目變化對加密速率的影響,可以看到6條直線均隨分組數(shù)目的變化趨于平穩(wěn)且算法執(zhí)行速率維持在35 Mbit/s。綜合來看,明文塊分組數(shù)目的變化對算法的執(zhí)行效率基本上沒有影響,根據(jù)標識分組模式的設計思想,分組數(shù)目的變化意味著更高的安全性,即分組數(shù)目越多對應明文的加密Key越多,加密形勢越復雜,安全性越高。
圖6 分組數(shù)目變化對CPU執(zhí)行時間及加密速率的影響
3.2.3 標識庫大小對標識分組模式的性能影響分析
圖7驗證了標識分組模式中標識庫大小的變化對算法的執(zhí)行時間及執(zhí)行效率的影響。從圖7(a)可以看到,標識庫大小的變化對不同大小文件的CPU執(zhí)行時間基本趨于穩(wěn)定,即對于同一文件的加密時間并不受標識庫大小的影響。從圖7(b)可以看出標識庫的大小變化對標識分組模式加密速率的影響。綜合分析,當標識庫的大小由5增長到500的過程中,應用標識分組加密模式加密不同的文本文件所得到的加密速率都在 35 Mbit/s平衡波動。標識庫的大小變化對標識分組模式算法的執(zhí)行時間及執(zhí)行效率基本沒有影響。同樣地,隨著標識數(shù)目的增多,根據(jù)標識分組模式的設計會為明文加密過程提供更豐富的密鑰匹配,使加密文本獲得更好的安全性。
圖7 標識庫大小變化對CPU執(zhí)行時間及加密速率的影響
3.3 安全性及擴展性分析
3.3.1 安全性分析
根據(jù)Lockdown.co.uk近日公布的一份“暴力字母破解”方式獲取密碼的“時間列表”[9]。表1中給出了96字符按照密碼長度、密碼組合數(shù)量以及破解攻擊模式進行破解所需要的時間。
密碼組成模式和攻擊模式解釋如下。
1) 密碼組成模式
10數(shù)字:0123456789;26字母:a~z;52字母:a~z和A~Z;62字符:10數(shù)字+52字母;96字符:10數(shù)字+52字母+標點符號。
2) 攻擊模式解釋
A級:100 000 Password/s—Pentium 100破解Windows Password Cache的速度。
B級:1 000 000 Password/s—Pentium 100破解ZIP或ARJ壓縮文檔的速度。
C級:10 000 000 Password/s—雙核處理器PC。
D級:100 000 000 Password/s—工作站級破解或多個PC協(xié)同破解。
E級:1 000 000 000 Password/s—大型計算機網(wǎng)絡/超級計算機。
根據(jù)上述分析結(jié)合標識分組密碼模式和電子密碼本模式的結(jié)構(gòu)設計,電子密碼本模式設計密鑰個數(shù)為 1,標識分組模式密鑰取決于標識庫的大小最少為1。
假設標識庫用式(1)表示。
表1 破解時間
標識庫大小數(shù)為N,即N=2n(n為大于0的整數(shù)),分組數(shù)目為k,密鑰數(shù)目為K,由標識分組模式的結(jié)構(gòu)設計可知,每個分組對應一個密鑰,即密鑰數(shù)K = k。
那么對于一次加密過程根據(jù)映射規(guī)則,可能的密鑰組合數(shù)就變成一個排列組合問題,即在N中選取k個值的可能組合數(shù)。假設組合數(shù)為NUM,則有
于是NUM的量級為O(kN )。
電子密碼本模式破解時間為ecbT ,則ecbT 符合表1的破解時間。而對于標識分組模式所需要的破解時間idenT 為
由于NUM的量級為O(kN),所以強力破解標識分組模式加密內(nèi)容需要消耗的時間將指數(shù)級增長,安全性更高。
另外,綜合分析標識分組模式和電子密碼本模式的設計及實現(xiàn)方式,本文提出的基于標識分組加解密模式明文分組方式通過Hash映射的方式完成,克服了ECB模式的固定分組模式的限制,使明文分組方式可依據(jù)不同的Hash映射函數(shù)設計而不同。同時,引入了標識庫,標識庫的大小可動態(tài)調(diào)節(jié),庫中元素可以動態(tài)更換,而庫中的元素又根據(jù)Hash映射作為不同明文或密文分組的加解密密鑰,這使整個加解密流程更具有動態(tài)性和靈活性,從另一個方面保證了算法設計的安全性。另外,從密文形勢上考慮,標識分組模式由于對不同的分組塊采用了不同的密鑰,則有效地避免了ECB模式單一密鑰加密條件下明文數(shù)據(jù)模式暴露的問題,這樣有效地隱藏了明文的數(shù)據(jù)模式。雙 Hash映射結(jié)構(gòu)的設計,能夠構(gòu)建可行的Hash算法,抵抗組的嵌入、重放和刪除等攻擊行為。
3.3.2 可擴展性分析
基于標識的分組加解密模式的擴展性,可以基于下面幾點考慮。1) 模式結(jié)構(gòu)上的擴展。雙Hash結(jié)構(gòu)的特點給算法的實現(xiàn)本身就帶來了特有的靈活性,包括分組方式的靈活性和密鑰映射的靈活性。2) 標識庫的可豐富性。標識庫的可豐富性在于針對標識元素的定義,可以是數(shù)字、字母、時間甚至是具有一定實際代表意義的屬性信息等。3) 可引入訪問控制功能。由于標識庫元素可設計成具有實際意義的標識信息,這就使引入有效的訪問控制成為可能,可用于本模式的進一步拓展。
傳統(tǒng)的電子密碼本模式分組方式簡單、加密密鑰單一的缺點導致其無法有效地隱藏明文數(shù)據(jù)模式,并且無法有效地抵御針對明文的主動攻擊。本文通過大量的實驗對標識分組模式在性能上進行了論證。其模式算法的穩(wěn)定性高,雙Hash映射結(jié)構(gòu)特點,使標識分組模式具有更好的安全性、靈活性及可擴展性。這樣在繼承電子密碼本模式優(yōu)勢的基礎(chǔ)上,成功改進了分組塊固定、加密密鑰單一等不安全特性。但標識分組加密模式的雙Hash結(jié)構(gòu)設計也使文本的加密速率上有一定程度的下降,但根據(jù)實驗測試數(shù)據(jù)結(jié)果可知,其并不影響用戶體驗。下一步將優(yōu)化標識分組模式的設計結(jié)構(gòu),進一步提高其效率及安全性,同時,研究如何將有效的訪問控制功能融入該模式。
[1] Search Security. Enterprise information security survey[R].2006.
[2] 吳文玲, 馮登國. 分組密碼工作模式的研究現(xiàn)狀[J]. 計算機學報, 2006, 29(1):21-36. WU W L, FENG D G. The state-of-the-art of research on block cipher mode of operation[J]. Chinses Journal of Computers, 2006, 29(1):21-36.
[3] 卿斯?jié)h. 并行密碼體制的構(gòu)造[J]. 軟件學報, 2000, 11(10): 1286-1293. QING S H. Establishing of parallel cipher mechanism[J]. Journal of Software, 2000, 11(10): 1286-1293.
[4] 殷新春, 陳偉鶴, 謝立. 分組密碼的并行工作模式[J].小型微型計算機系統(tǒng), 2005, 26(4): 600-603. YIN X C, CHEN W H, XIE L. Parallel processing model of the block cipher[J]. Mini-Micro Systems, 2005, 26(4): 600-603.
[5] JING X, HAO Y, FEI H, et al. Text encryption algorithm based on natural language processing[C]//The 4th International Conference on Multimedia Information Networking and Security. 2012: 670-672.
[6] SREELAJA N K, PAI G A V. Swarm intelligence based key generation for text encryption in cellular networks[C]//The International Conference on Communication Systems Software and Middleware and Workshops. 2008:622-629.
[7] WANGSADIREDJA M, MUNIR R. Text and file encryption application for blackberry using cipher feedback 8-bit mode[C]// The International Conference on Electrical Engineering and Informatics. 2011:1-6.
[8] BONHAM-CARTER O, PARAKH A, BASTOLA D. sEncrypt: an encryption algorithm inspired from biological processes[C]//IEEE International Conference on Trust, Security and Privacy in Computing and Communications. 2013:321-327.
[9] The Home Computer Security Centre. Password recovery speeds [R]. 2009.
Block cipher mode research based on identifier of text files
ZHANG Tong-ming, GUAN Jian-feng
(Institute of Network Technology, Beijing University of Posts and Telecommunications, Beijing 100876, China)
The electronic code book (ECB) mode cannot conceal the data model of the plaintext and has only one private key to the whole plaintext. A block cipher mode based on identity for text files was proposed,which absorbed the advantages of block cipher mode and the feature of plaintext string. A double Hash mapping structure was designed and one layer of the mapping structure maps the plaintext into discontinuous groups, another one which was based on the concept of identify library produced corresponding private key to the plaintext group. The model overcame the discontinuous group and single private key problem and effectively improved the security of the cipher text. The experiment results show that the new model has better security, flexibility and extensibility.
text encryption, encryption model, block encryption, identity encryption
TP309.7
A
10.11959/j.issn.2096-109x.2017.00149
張通明(1989-),男,河北保定人,北京郵電大學碩士生,主要研究方向為網(wǎng)絡安全、移動互聯(lián)網(wǎng)。
關(guān)建峰(1982-),男,河南鞏義人,博士,北京郵電大學副教授,主要研究方向為移動互聯(lián)網(wǎng)、網(wǎng)絡安全、未來網(wǎng)絡架構(gòu)。
2016-12-10;
2017-02-03。通信作者:張通明,zhangtongming2015@163.com
國家重點基礎(chǔ)研究發(fā)展計劃(“973”計劃)基金資助項目(No.2013CB329102);國家自然科學基金資助項目(No.61003283)
Foundation Items: The National Program on Key Basic Research Project (973 Program) (No.2013CB329102), The National Natural Science Foundation of China (No.61003283)