趙福祥
(西安外事學(xué)院工學(xué)院,西安 710077)
基于硬件支持的可調(diào)加密實(shí)現(xiàn)方案
趙福祥
(西安外事學(xué)院工學(xué)院,西安 710077)
針對(duì)可調(diào)加密模式在實(shí)際應(yīng)用中較難生成動(dòng)態(tài)因子和管理密鑰的問題,采用復(fù)合MPSoC平臺(tái)硬件支持的方法,應(yīng)用混沌密碼、動(dòng)態(tài)組密鑰與硬件密鑰防護(hù)等技術(shù),提出一種改進(jìn)的可調(diào)加密方案。通過增加小規(guī)模硬件部件以換取可調(diào)因子與加密的并行計(jì)算,支持受資源限制嵌入式設(shè)備應(yīng)用,實(shí)現(xiàn)動(dòng)態(tài)密鑰管理。實(shí)驗(yàn)結(jié)果表明,該方法通過并行計(jì)算可縮短系統(tǒng)的整體運(yùn)行時(shí)間,提高系統(tǒng)整體效率。
可調(diào)加密模式;嵌入式安全;混沌映射;硬件支持;混沌密碼
數(shù)據(jù)的安全存儲(chǔ)是信息機(jī)密性應(yīng)用的重要保證??烧{(diào)加密模式除了對(duì)存儲(chǔ)數(shù)據(jù)加密外,還提供對(duì)設(shè)備元數(shù)據(jù)的加密,從而提高了抗結(jié)構(gòu)分析的安全強(qiáng)度[1-2]。但是存儲(chǔ)設(shè)備的管理部件都是嵌入式處理器,同樣也應(yīng)用在電子播放器、家用電器、手機(jī)電話、掌上電腦、智能卡、微型傳感器、網(wǎng)絡(luò)路由器、汽車與飛機(jī)的控制等設(shè)備中,由于智能微控制器的應(yīng)用,大幅度提升了人與機(jī)器的交互作用,讓應(yīng)用的技術(shù)流程變得順暢。但嵌入式設(shè)備被大量用到個(gè)人、商業(yè)及國(guó)防設(shè)施中后,跟隨而來的安全問題就躍升為關(guān)注的焦點(diǎn)[3]。嵌入式設(shè)備與物理環(huán)境相關(guān),攻擊會(huì)從單純的數(shù)據(jù)轉(zhuǎn)伸到了實(shí)物,風(fēng)險(xiǎn)遠(yuǎn)高于單純信息系統(tǒng)。而其本身也要存儲(chǔ)、接入或傳輸敏感性的數(shù)據(jù),也需要同等安全保障。加之網(wǎng)絡(luò)化是嵌入式微控制性能發(fā)揮的最佳選擇,開放性所帶來效益與攻擊都不可回避??梢哉f嵌入式技術(shù)是繼通信和計(jì)算機(jī)之后又一項(xiàng)基于成熟信息技術(shù)的先進(jìn)控制與處理平臺(tái),也形成專業(yè)的設(shè)計(jì)特性[4]。目前嵌入式安全巨大需求已經(jīng)使其成為密碼與安全學(xué)科中最活躍的分支,所研究的方向也都更清晰集中到固定方向[5],包括輕重量密碼學(xué)、物理性安全、AD-Hoc網(wǎng)絡(luò)安全、安全操作系統(tǒng)、射頻識(shí)別標(biāo)簽等。盡管如此,嵌入式安全不可能移植常規(guī)的加密方法,難點(diǎn)是掌握特定應(yīng)用的技術(shù)特性。而加密算法都以大量的數(shù)據(jù)計(jì)算為基礎(chǔ),若沒有恰當(dāng)?shù)膶?shí)現(xiàn)平臺(tái),仍然會(huì)顛覆算法理論的優(yōu)勢(shì)。合理的系統(tǒng)防御策略與精巧優(yōu)化性能正是解決難題的突破口。綜合實(shí)現(xiàn)算法的難度、效率與兼容性,選擇復(fù)合SoC是實(shí)時(shí)嵌入式加密
算法的最佳平臺(tái)[6],也是用于實(shí)現(xiàn)可調(diào)加密方案最優(yōu)的基礎(chǔ)[7-8]?;煦缑艽a滿足實(shí)時(shí)性,且有良好的隨機(jī)性,但其密文均勻性和操縱穩(wěn)定性都有不佳,其實(shí)現(xiàn)也并非針對(duì)數(shù)據(jù)存儲(chǔ)[9]。為嵌入安全取得合理的配置與更高安全強(qiáng)度,本文提出基于硬件支持的可調(diào)加密的實(shí)現(xiàn)方案。
本文方案的目標(biāo)是實(shí)現(xiàn)嵌入式自身安全與數(shù)據(jù)實(shí)時(shí)加密的需求,涉及嵌入式防護(hù)與密文抗結(jié)構(gòu)分析等,各項(xiàng)實(shí)用關(guān)鍵性技術(shù)及組合都應(yīng)圍繞目標(biāo)設(shè)置。方案的模型結(jié)構(gòu)采用下面的3種方法。
2.1 可調(diào)加密的擴(kuò)展
通過對(duì)已有可調(diào)加密方案的分析可知,可調(diào)模式算法本質(zhì)是在原加密函數(shù)中增加了可調(diào)因子,目標(biāo)是使組合密鑰在加密過程中增加確定的隨機(jī)增量,由加密過程的偽隨機(jī)作用,使附加增量在密文中產(chǎn)生擾動(dòng),以取得抗結(jié)構(gòu)分析性攻擊性能。厘清新模式算法概念與形式描述對(duì)方案十分有益,既能透視其不足,還能感知其計(jì)算難點(diǎn)??烧{(diào)加密模式的形式化表示為E:K×T×P→C,即使明文空間DP數(shù)據(jù)映射到對(duì)應(yīng)的密文空間若任給K∈K和T∈T,則是長(zhǎng)度保持的確定性置換,其中,K是密鑰空間;T是可調(diào)因子集合。加密算法E的逆是解密算法D:T×K×S→S,即使密文空間DC數(shù)據(jù)將映射到明文空間,其中,當(dāng)且僅當(dāng)定義Perm(S)為所有置換φ:S→S的集合,再定義PermK(S)為所有置換φ:K×S→S的集合,使得φ(k)∈PermK(S)對(duì)所有k∈K成立。在應(yīng)用層面可調(diào)因子集合可以取自連續(xù)密文分組區(qū)塊的位置索引集,因此對(duì)于組合密鑰,定義PermT(K)是所有函數(shù)φ:T×K→K的集合,使得φ(k)∈Perm(M),而PermT×K(S)為所有函數(shù)π:T×K×S→S的集合,且有對(duì)任意K∈K,存在PermT×K≌PermK(S)。若密鑰固定,而相應(yīng)可調(diào)參數(shù)也保持不變,則組合密鑰不會(huì)產(chǎn)生任何變化。因此,需要把密碼擴(kuò)展成為兩維度的算法。
2.2 兩維度的加密
兼顧效率與成本,大容量存儲(chǔ)器讀取應(yīng)為分組結(jié)構(gòu),既有利于數(shù)據(jù)管理,又有利于安全設(shè)計(jì)效率的提高。在管理方面,分組存儲(chǔ)單位可縮短元數(shù)據(jù)長(zhǎng)度,實(shí)現(xiàn)存儲(chǔ)單位為結(jié)構(gòu)性重復(fù)處理的需要。在安全方面,恰當(dāng)選取存儲(chǔ)單位則有利于加密效率真的提高。設(shè)存儲(chǔ)單位為塊,塊既做數(shù)據(jù)操作單位,也兼做加密單位,同時(shí)還作為密鑰更換單位??烧{(diào)因子的差異源取自塊編號(hào),如此設(shè)置只是保證各塊間的可調(diào)性區(qū)分,但根據(jù)2.1節(jié)的結(jié)論,它卻不能保證同一塊內(nèi)的區(qū)分。因而必須添補(bǔ)時(shí)間軸的差異源,形成兩維度的加密。
從差異源獲取可調(diào)因子采用了再密鑰的更新方法。為保持加密的前向安全性,主密鑰K不直接用于數(shù)據(jù)加密,而用作再密鑰函數(shù)Ki=F(K,i)的種子,使主密鑰泄露不造成加密數(shù)據(jù)失效,主密鑰壽命得以延長(zhǎng)。Ki隱含了密鑰與時(shí)間相關(guān)變化序列,若存在位置變量保持不變,可推導(dǎo)出函數(shù) ΔKi= F(Δs(t)+k)缺少時(shí)間成份,即Δs(t)=0,則導(dǎo)出ΔK=F(k)=c,即可得出如下關(guān)系:
2.3 動(dòng)態(tài)可調(diào)結(jié)構(gòu)
動(dòng)態(tài)可調(diào)結(jié)構(gòu)是由塊號(hào)與獨(dú)立時(shí)間變量構(gòu)成的函數(shù),以保證密文在相同地址存儲(chǔ)時(shí)的可調(diào)因子取值不同。實(shí)際上密文的保存邏輯限制了獨(dú)立時(shí)間成分變量只在新數(shù)據(jù)寫入存儲(chǔ)器時(shí)才產(chǎn)生變化,而當(dāng)從存儲(chǔ)器讀出老的數(shù)據(jù)值時(shí)則不應(yīng)有任何變化。動(dòng)態(tài)可調(diào)結(jié)構(gòu)的計(jì)算公式如下:
其中,IDsec是塊號(hào);contsec是一個(gè)塊地址寫請(qǐng)求計(jì)數(shù)器;w/r是一位數(shù)字對(duì)應(yīng)于w/r讀寫信號(hào);c是2次讀寫過程的間隔,如果它超過了生成密鑰的時(shí)間,就設(shè)為1,否則設(shè)為0。
嵌入式的安全方案需要采用專用軟件與硬件的配置,單純軟件在通用處理器上執(zhí)行,可提供不同實(shí)現(xiàn)和連續(xù)更新等更優(yōu)的靈活性,硬件支持卻是提高處理性能的根本。密碼硬件加速器選擇L氏(Logistic)映射實(shí)現(xiàn),具備混沌加密系統(tǒng)的特性[10-11]。
3.1 系統(tǒng)結(jié)構(gòu)與處理監(jiān)控
本文方案所采用的系統(tǒng)結(jié)構(gòu)如圖1所示。系統(tǒng)由3個(gè)獨(dú)立部件構(gòu)成,包括安全參數(shù)存儲(chǔ)子系統(tǒng)、復(fù)合MPSoC系統(tǒng)和監(jiān)控子系統(tǒng)。
圖1 嵌入式加密系統(tǒng)的數(shù)據(jù)雙向結(jié)構(gòu)
主密鑰來自密鑰服務(wù)器并導(dǎo)出加密密鑰,加密數(shù)據(jù)的安全性依賴這些密鑰。為強(qiáng)化安全性,加密算法安全參數(shù)都不應(yīng)該從設(shè)備中被泄露,存儲(chǔ)在設(shè)備中這些密鑰和秘密數(shù)值需要保護(hù),統(tǒng)稱為秘密鑰。還有一些根證書的數(shù)據(jù)不怕泄露但要防止未授權(quán)的修改,稱為認(rèn)證數(shù)據(jù)。
為取得嵌入式安全處理,監(jiān)控系統(tǒng)用于驗(yàn)證實(shí)際處理與原設(shè)計(jì)代碼的差異。采用安全啟動(dòng)機(jī)制就可以使嵌入式的系統(tǒng)裝載就可達(dá)到安全標(biāo)準(zhǔn)。任何不在范圍內(nèi)指令的執(zhí)行或執(zhí)行順序的改變都有可能被認(rèn)為是攻擊。但提高效率的關(guān)鍵是增設(shè)可分時(shí)的獨(dú)立部件以加大并行性,下面將敘述硬件加密電路的構(gòu)造。
3.2 L氏映射改進(jìn)及量化
L氏映射是度數(shù)為2的多項(xiàng)式映射,采用數(shù)學(xué)形式L氏映射可寫為:
χn+1=λ×χn(1-χn) (3)其中,λ為正數(shù)。L氏映射依賴于λ的取值。對(duì)于λ取值范圍在[3.57,4]之間時(shí),輸入值的輕微改變就會(huì)引起輸出值產(chǎn)生巨大的不同。當(dāng)λ=4時(shí)分布更平坦和對(duì)稱,為了避免L氏映射產(chǎn)生短路徑循環(huán)而削弱數(shù)字混沌密碼統(tǒng)計(jì)特性,改進(jìn) L氏映射將以λ=4時(shí)為基礎(chǔ),改變其為有相同的定義域和值域的方程,區(qū)間取為[α,(1-α)],得以下方程組:
改進(jìn)L氏映射輸出量(χn)量化為8位的量值yn過程表示如下:
其中,χn(0<χn<1)χn(0<χn<1);aj是每位的值。設(shè)定改進(jìn)L氏映射的實(shí)現(xiàn)在以N位硬件結(jié)構(gòu)器件上,限制yn取值僅在最低8位有效位的值,因此 yn可寫為:
量化步驟中所截?cái)嗟母嘤行?shù)位實(shí)際上都是非線性的,從而增加了任何攻擊的復(fù)雜性。
圖2顯示了原 L氏原映射與改進(jìn)映射的分布對(duì)比。
圖2 L氏原映射與改進(jìn)映射的分布對(duì)比
硬件密碼加速電路即借助改進(jìn) L氏映射為基礎(chǔ),構(gòu)建實(shí)時(shí)密碼表生成電路,以削減加密算法中軟件生成加密密鑰所占用的時(shí)間。
電路包含了密鑰表生成部分和α參數(shù)設(shè)置兩部分,如圖3所示。電路的輸入為一隨機(jī)數(shù),可選擇8位或16位,隨存儲(chǔ)塊的地址長(zhǎng)度而定。
輸出則為連續(xù)16 Byte~20 Byte隨機(jī)數(shù)表,隨后再由計(jì)算單元做多個(gè)字節(jié)縱向的按位旋轉(zhuǎn),就可獲得所需的密碼表。
電路的選擇控制由 α參數(shù)秘密設(shè)定,密鑰表的取值會(huì)隨α的改變而不同。
圖3 硬件密碼加速電路
為了驗(yàn)證圖3電路模塊的正確性,對(duì)圖L氏原電路的輸出χOt和改進(jìn)輸出yOt進(jìn)行仿真,其時(shí)間序列如圖4所示。
圖4 混沌與改進(jìn)混沌時(shí)間序列
比較圖4中2個(gè)分圖發(fā)現(xiàn),利用DSP Builder設(shè)計(jì)的電路有效地實(shí)現(xiàn)了改進(jìn)L氏電路的功能。把圖形化模塊直接轉(zhuǎn)化為Cyclone II系列的EP2C35F 484C8芯片對(duì)應(yīng)的硬件描述語言,再利用QuartusII進(jìn)行編譯,得仿真時(shí)序如圖5所示。
圖5 改進(jìn)混沌Quartus II仿真波形
其中,yOt為改進(jìn)L氏電路輸出字節(jié)。即方案中可調(diào)加密,若對(duì)存儲(chǔ)塊號(hào)BC=3 125的數(shù)據(jù)塊加密時(shí),則得可調(diào)參數(shù)值為:
TK=0χC9FC43846B9347856E82844C8725D233
(7)
最后,通過相應(yīng)的引腳分配后下載完成芯片的編制。
完成L氏模塊構(gòu)建,即達(dá)到了硬件到并行計(jì)算實(shí)現(xiàn)可調(diào)加密的既定目標(biāo)。密鑰更新軟件算法中主要依賴安全哈希函數(shù),假設(shè)安全哈希函數(shù)執(zhí)行時(shí)間為Δt,忽略并行算法切換時(shí)間,那么硬件支持算法相對(duì)軟件密鑰更新每個(gè)存儲(chǔ)塊就會(huì)節(jié)省2Δt的開銷。若整個(gè)存儲(chǔ)器有 n個(gè)數(shù)據(jù)塊,整個(gè)存儲(chǔ)器加密節(jié)省的時(shí)間就為2nΔt,n取海量則會(huì)節(jié)省大量的時(shí)間。以下將對(duì)安全哈希函數(shù)的運(yùn)行時(shí)間進(jìn)行測(cè)試,以確定Δt的參考數(shù)值。測(cè)試平臺(tái)P4/1.5 GHz/XP,分別對(duì)sha256算法的摘要DV=0χ248D 6A61D 20638 B8E5C026930C3E6039A33CE45964FF2167F6ECED D419DB06C1和quart算法的摘要DV=126B75BC AB23144750d08BA313BBD800A4進(jìn)行計(jì)算測(cè)試,測(cè)試結(jié)果如表1所示。
表1 算法各次循環(huán)累計(jì)時(shí)間 m s
表1中sha256算法運(yùn)行時(shí)間約為0.016 m s,quark算法約為3.2 m s,但quark算法為輕重量算法,故取Δt參考值為3.2 m s。
本文提出一個(gè)基于硬件支持的可調(diào)加密實(shí)現(xiàn)方案,主要設(shè)計(jì)思路是通過增加硬件支持電路實(shí)現(xiàn)可調(diào)加密中密鑰生成算法與數(shù)據(jù)加密算法的并行計(jì)算。實(shí)驗(yàn)結(jié)果表明,該方法通過并行計(jì)算縮短了系統(tǒng)整體運(yùn)行時(shí)間。由于嵌入式安全是一項(xiàng)綜合技術(shù),需要通過軟硬件的有效結(jié)合才能消除流程中的瓶頸難題,這將是本文下一步需要研究的問題。
[1] Liskov M,Rivest R,Wagner D.Tweakable Block Ciphers[C]//Proceedings of CRYPTO’02.Berlin,Germany:Springer-Verlag,2002:31-46.
[2] Abdalla M,Bellare M.Increasing the Lifetime of a Key:A Comparitiveanalysis of the Security of Rekeying Techniques[C]//Proceedings of Asiacrypt’00.Berlin,Germany:Springer-Verlag,2000:546-559.
[3] Hwang D D,Schaumont P,Tiri K,et al.Securing Em bedded System s[J].IEEE Security&Privacy,2006,4(2):40-49.
[4] Ravi S,Raghunnathan A,Kocher R,et al.Security in Em bedded System s:Desingn Challenges[J].ACM Transactions on Em bedded Computing System,2004,3(3):461-491.
[5] Ravi S,Raghunnathan A,Chakradhar S.Tamper Resistance Mechanisms for Secure Embedded Systems[C]//Proceedings of VLSID’04.Mumba,India:[s.n.],2004: 605-611.
[6] Justin M J,Manimurugan S.A Survey on Various Encryption Techniques[J].International Journal of Soft Computing and Engineering,2012,2(1):429-432.
[7] Wolf F.The Future of Multiprocessor Systems-onchips[C]//Proceedings of DAC’04.[S.1.]:IEEE Computer Society,2004:681-685.
[8] Guneysu T,Heyes S,Paar C.The Future of High-speed Cryptography:New Computing Platform s and New Ciphers[C]//Proceedings of GLSVLSI’11.New York,USA:ACM Press,2011:461-466.
[9] Pande A,Zambreno J.Chaotic Encryption Scheme for Real-time Digital Video[J].Journal of Telecommunication System s,2013,52(2):551-561.
[10] 徐正光,田 清,田 立.一類可以產(chǎn)生獨(dú)立同分布密鑰流的混沌系統(tǒng)[J].物理學(xué)報(bào),2013,62(12).
[11] 張 波,王光義,韓春艷.基于Logistic映射PN序列的FPGA實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2009,(7):11-14.
編輯 索書志
Tweakable Enciphering Implementation Scheme Based on Hardware Support
ZHAO Fuxiang
(Engineering School,Xi’an International University,Xi’an 710077,China)
To solve the problem of hard to generate dynamic factor and manage key in practical applications of the enciphering mode,a tweakable enciphering scheme is presented based on hardware support by using hybrid MPSoC implementation and chaotic code and dynamic key and hardware key protect technologies.Parallel computations between acquiring the tweakable factor and executing data encryption are introduced by adding small scale hardware and the overall efficiency of the system is improved.Techniques of resource-constrained application and dynamic key management are applied in the scheme.Experimental results show that the scheme can reduce the run time of system and improve the overall efficiency.
tweakable enciphering mode;embedded security;chaotic mapping;hardware support;chaotic code
趙福祥.基于硬件支持的可調(diào)加密實(shí)現(xiàn)方案[J].計(jì)算機(jī)工程,2015,41(10):144-147,154.
英文引用格式:Zhao Fuxiang.Tweakable Enciphering Implementation Scheme Based on Hardware Support[J]. Computer Engineering,2015,41(10):144-147,154.
1000-3428(2015)10-0144-04
A
TP309
10.3969/j.issn.1000-3428.2015.10.027
陜西省教育廳專項(xiàng)基金資助項(xiàng)目(2013JK1146);陜西省自然科學(xué)基金資助項(xiàng)目(2014JM 8323)。
趙福祥(1964-),男,副教授、博士,主研方向:密碼學(xué),網(wǎng)絡(luò)與信息安全。
2014-09-15
2014-11-20E-m ail:zhaofuxiang@aliyun.com