趙福祥
(西安外事學院工學院,西安 710077)
基于硬件支持的可調加密實現方案
趙福祥
(西安外事學院工學院,西安 710077)
針對可調加密模式在實際應用中較難生成動態(tài)因子和管理密鑰的問題,采用復合MPSoC平臺硬件支持的方法,應用混沌密碼、動態(tài)組密鑰與硬件密鑰防護等技術,提出一種改進的可調加密方案。通過增加小規(guī)模硬件部件以換取可調因子與加密的并行計算,支持受資源限制嵌入式設備應用,實現動態(tài)密鑰管理。實驗結果表明,該方法通過并行計算可縮短系統(tǒng)的整體運行時間,提高系統(tǒng)整體效率。
可調加密模式;嵌入式安全;混沌映射;硬件支持;混沌密碼
數據的安全存儲是信息機密性應用的重要保證??烧{加密模式除了對存儲數據加密外,還提供對設備元數據的加密,從而提高了抗結構分析的安全強度[1-2]。但是存儲設備的管理部件都是嵌入式處理器,同樣也應用在電子播放器、家用電器、手機電話、掌上電腦、智能卡、微型傳感器、網絡路由器、汽車與飛機的控制等設備中,由于智能微控制器的應用,大幅度提升了人與機器的交互作用,讓應用的技術流程變得順暢。但嵌入式設備被大量用到個人、商業(yè)及國防設施中后,跟隨而來的安全問題就躍升為關注的焦點[3]。嵌入式設備與物理環(huán)境相關,攻擊會從單純的數據轉伸到了實物,風險遠高于單純信息系統(tǒng)。而其本身也要存儲、接入或傳輸敏感性的數據,也需要同等安全保障。加之網絡化是嵌入式微控制性能發(fā)揮的最佳選擇,開放性所帶來效益與攻擊都不可回避。可以說嵌入式技術是繼通信和計算機之后又一項基于成熟信息技術的先進控制與處理平臺,也形成專業(yè)的設計特性[4]。目前嵌入式安全巨大需求已經使其成為密碼與安全學科中最活躍的分支,所研究的方向也都更清晰集中到固定方向[5],包括輕重量密碼學、物理性安全、AD-Hoc網絡安全、安全操作系統(tǒng)、射頻識別標簽等。盡管如此,嵌入式安全不可能移植常規(guī)的加密方法,難點是掌握特定應用的技術特性。而加密算法都以大量的數據計算為基礎,若沒有恰當的實現平臺,仍然會顛覆算法理論的優(yōu)勢。合理的系統(tǒng)防御策略與精巧優(yōu)化性能正是解決難題的突破口。綜合實現算法的難度、效率與兼容性,選擇復合SoC是實時嵌入式加密
算法的最佳平臺[6],也是用于實現可調加密方案最優(yōu)的基礎[7-8]?;煦缑艽a滿足實時性,且有良好的隨機性,但其密文均勻性和操縱穩(wěn)定性都有不佳,其實現也并非針對數據存儲[9]。為嵌入安全取得合理的配置與更高安全強度,本文提出基于硬件支持的可調加密的實現方案。
本文方案的目標是實現嵌入式自身安全與數據實時加密的需求,涉及嵌入式防護與密文抗結構分析等,各項實用關鍵性技術及組合都應圍繞目標設置。方案的模型結構采用下面的3種方法。
2.1 可調加密的擴展
通過對已有可調加密方案的分析可知,可調模式算法本質是在原加密函數中增加了可調因子,目標是使組合密鑰在加密過程中增加確定的隨機增量,由加密過程的偽隨機作用,使附加增量在密文中產生擾動,以取得抗結構分析性攻擊性能。厘清新模式算法概念與形式描述對方案十分有益,既能透視其不足,還能感知其計算難點??烧{加密模式的形式化表示為E:K×T×P→C,即使明文空間DP數據映射到對應的密文空間若任給K∈K和T∈T,則是長度保持的確定性置換,其中,K是密鑰空間;T是可調因子集合。加密算法E的逆是解密算法D:T×K×S→S,即使密文空間DC數據將映射到明文空間,其中,當且僅當定義Perm(S)為所有置換φ:S→S的集合,再定義PermK(S)為所有置換φ:K×S→S的集合,使得φ(k)∈PermK(S)對所有k∈K成立。在應用層面可調因子集合可以取自連續(xù)密文分組區(qū)塊的位置索引集,因此對于組合密鑰,定義PermT(K)是所有函數φ:T×K→K的集合,使得φ(k)∈Perm(M),而PermT×K(S)為所有函數π:T×K×S→S的集合,且有對任意K∈K,存在PermT×K≌PermK(S)。若密鑰固定,而相應可調參數也保持不變,則組合密鑰不會產生任何變化。因此,需要把密碼擴展成為兩維度的算法。
2.2 兩維度的加密
兼顧效率與成本,大容量存儲器讀取應為分組結構,既有利于數據管理,又有利于安全設計效率的提高。在管理方面,分組存儲單位可縮短元數據長度,實現存儲單位為結構性重復處理的需要。在安全方面,恰當選取存儲單位則有利于加密效率真的提高。設存儲單位為塊,塊既做數據操作單位,也兼做加密單位,同時還作為密鑰更換單位??烧{因子的差異源取自塊編號,如此設置只是保證各塊間的可調性區(qū)分,但根據2.1節(jié)的結論,它卻不能保證同一塊內的區(qū)分。因而必須添補時間軸的差異源,形成兩維度的加密。
從差異源獲取可調因子采用了再密鑰的更新方法。為保持加密的前向安全性,主密鑰K不直接用于數據加密,而用作再密鑰函數Ki=F(K,i)的種子,使主密鑰泄露不造成加密數據失效,主密鑰壽命得以延長。Ki隱含了密鑰與時間相關變化序列,若存在位置變量保持不變,可推導出函數 ΔKi= F(Δs(t)+k)缺少時間成份,即Δs(t)=0,則導出ΔK=F(k)=c,即可得出如下關系:
2.3 動態(tài)可調結構
動態(tài)可調結構是由塊號與獨立時間變量構成的函數,以保證密文在相同地址存儲時的可調因子取值不同。實際上密文的保存邏輯限制了獨立時間成分變量只在新數據寫入存儲器時才產生變化,而當從存儲器讀出老的數據值時則不應有任何變化。動態(tài)可調結構的計算公式如下:
其中,IDsec是塊號;contsec是一個塊地址寫請求計數器;w/r是一位數字對應于w/r讀寫信號;c是2次讀寫過程的間隔,如果它超過了生成密鑰的時間,就設為1,否則設為0。
嵌入式的安全方案需要采用專用軟件與硬件的配置,單純軟件在通用處理器上執(zhí)行,可提供不同實現和連續(xù)更新等更優(yōu)的靈活性,硬件支持卻是提高處理性能的根本。密碼硬件加速器選擇L氏(Logistic)映射實現,具備混沌加密系統(tǒng)的特性[10-11]。
3.1 系統(tǒng)結構與處理監(jiān)控
本文方案所采用的系統(tǒng)結構如圖1所示。系統(tǒng)由3個獨立部件構成,包括安全參數存儲子系統(tǒng)、復合MPSoC系統(tǒng)和監(jiān)控子系統(tǒng)。
圖1 嵌入式加密系統(tǒng)的數據雙向結構
主密鑰來自密鑰服務器并導出加密密鑰,加密數據的安全性依賴這些密鑰。為強化安全性,加密算法安全參數都不應該從設備中被泄露,存儲在設備中這些密鑰和秘密數值需要保護,統(tǒng)稱為秘密鑰。還有一些根證書的數據不怕泄露但要防止未授權的修改,稱為認證數據。
為取得嵌入式安全處理,監(jiān)控系統(tǒng)用于驗證實際處理與原設計代碼的差異。采用安全啟動機制就可以使嵌入式的系統(tǒng)裝載就可達到安全標準。任何不在范圍內指令的執(zhí)行或執(zhí)行順序的改變都有可能被認為是攻擊。但提高效率的關鍵是增設可分時的獨立部件以加大并行性,下面將敘述硬件加密電路的構造。
3.2 L氏映射改進及量化
L氏映射是度數為2的多項式映射,采用數學形式L氏映射可寫為:
χn+1=λ×χn(1-χn) (3)其中,λ為正數。L氏映射依賴于λ的取值。對于λ取值范圍在[3.57,4]之間時,輸入值的輕微改變就會引起輸出值產生巨大的不同。當λ=4時分布更平坦和對稱,為了避免L氏映射產生短路徑循環(huán)而削弱數字混沌密碼統(tǒng)計特性,改進 L氏映射將以λ=4時為基礎,改變其為有相同的定義域和值域的方程,區(qū)間取為[α,(1-α)],得以下方程組:
改進L氏映射輸出量(χn)量化為8位的量值yn過程表示如下:
其中,χn(0<χn<1)χn(0<χn<1);aj是每位的值。設定改進L氏映射的實現在以N位硬件結構器件上,限制yn取值僅在最低8位有效位的值,因此 yn可寫為:
量化步驟中所截斷的更多有效數位實際上都是非線性的,從而增加了任何攻擊的復雜性。
圖2顯示了原 L氏原映射與改進映射的分布對比。
圖2 L氏原映射與改進映射的分布對比
硬件密碼加速電路即借助改進 L氏映射為基礎,構建實時密碼表生成電路,以削減加密算法中軟件生成加密密鑰所占用的時間。
電路包含了密鑰表生成部分和α參數設置兩部分,如圖3所示。電路的輸入為一隨機數,可選擇8位或16位,隨存儲塊的地址長度而定。
輸出則為連續(xù)16 Byte~20 Byte隨機數表,隨后再由計算單元做多個字節(jié)縱向的按位旋轉,就可獲得所需的密碼表。
電路的選擇控制由 α參數秘密設定,密鑰表的取值會隨α的改變而不同。
圖3 硬件密碼加速電路
為了驗證圖3電路模塊的正確性,對圖L氏原電路的輸出χOt和改進輸出yOt進行仿真,其時間序列如圖4所示。
圖4 混沌與改進混沌時間序列
比較圖4中2個分圖發(fā)現,利用DSP Builder設計的電路有效地實現了改進L氏電路的功能。把圖形化模塊直接轉化為Cyclone II系列的EP2C35F 484C8芯片對應的硬件描述語言,再利用QuartusII進行編譯,得仿真時序如圖5所示。
圖5 改進混沌Quartus II仿真波形
其中,yOt為改進L氏電路輸出字節(jié)。即方案中可調加密,若對存儲塊號BC=3 125的數據塊加密時,則得可調參數值為:
TK=0χC9FC43846B9347856E82844C8725D233
(7)
最后,通過相應的引腳分配后下載完成芯片的編制。
完成L氏模塊構建,即達到了硬件到并行計算實現可調加密的既定目標。密鑰更新軟件算法中主要依賴安全哈希函數,假設安全哈希函數執(zhí)行時間為Δt,忽略并行算法切換時間,那么硬件支持算法相對軟件密鑰更新每個存儲塊就會節(jié)省2Δt的開銷。若整個存儲器有 n個數據塊,整個存儲器加密節(jié)省的時間就為2nΔt,n取海量則會節(jié)省大量的時間。以下將對安全哈希函數的運行時間進行測試,以確定Δt的參考數值。測試平臺P4/1.5 GHz/XP,分別對sha256算法的摘要DV=0χ248D 6A61D 20638 B8E5C026930C3E6039A33CE45964FF2167F6ECED D419DB06C1和quart算法的摘要DV=126B75BC AB23144750d08BA313BBD800A4進行計算測試,測試結果如表1所示。
表1 算法各次循環(huán)累計時間 m s
表1中sha256算法運行時間約為0.016 m s,quark算法約為3.2 m s,但quark算法為輕重量算法,故取Δt參考值為3.2 m s。
本文提出一個基于硬件支持的可調加密實現方案,主要設計思路是通過增加硬件支持電路實現可調加密中密鑰生成算法與數據加密算法的并行計算。實驗結果表明,該方法通過并行計算縮短了系統(tǒng)整體運行時間。由于嵌入式安全是一項綜合技術,需要通過軟硬件的有效結合才能消除流程中的瓶頸難題,這將是本文下一步需要研究的問題。
[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] 徐正光,田 清,田 立.一類可以產生獨立同分布密鑰流的混沌系統(tǒng)[J].物理學報,2013,62(12).
[11] 張 波,王光義,韓春艷.基于Logistic映射PN序列的FPGA實現[J].現代電子技術,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
趙福祥.基于硬件支持的可調加密實現方案[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
陜西省教育廳專項基金資助項目(2013JK1146);陜西省自然科學基金資助項目(2014JM 8323)。
趙福祥(1964-),男,副教授、博士,主研方向:密碼學,網絡與信息安全。
2014-09-15
2014-11-20E-m ail:zhaofuxiang@aliyun.com