邊晶晶,尤文斌,祖 靜,武 震
(中北大學(xué)電子測(cè)試技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,太原030051)
一種彈載記錄儀的實(shí)時(shí)加密方法*
邊晶晶,尤文斌,祖 靜*,武 震
(中北大學(xué)電子測(cè)試技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,太原030051)
針對(duì)某型導(dǎo)彈的彈載記錄儀對(duì)其測(cè)試參數(shù)保密的要求,重點(diǎn)對(duì)彈載記錄儀的加密環(huán)節(jié)做了深入研究。加密環(huán)節(jié)主要通過(guò)在采集數(shù)據(jù)每個(gè)字節(jié)中選其最低位及次低位作選擇密鑰的方法實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)加密,加密后分別存儲(chǔ)到FLASH對(duì)應(yīng)的空間。整個(gè)運(yùn)算在CPLD內(nèi)部進(jìn)行且加密所用時(shí)間僅為數(shù)據(jù)在CPLD內(nèi)部的傳輸走線延時(shí)。經(jīng)實(shí)彈測(cè)試,該加密方法能夠安全可靠實(shí)施。
存儲(chǔ)測(cè)試;加密;彈載記錄儀;實(shí)時(shí);CPLD
本文研究的加密算法是基于測(cè)試存儲(chǔ)某型導(dǎo)彈發(fā)射過(guò)程中各動(dòng)態(tài)參數(shù)的彈載記錄儀而提出的。隨著存儲(chǔ)測(cè)試技術(shù)的迅速發(fā)展,在航天、軍工均有記錄儀的身影,特別是在航天、軍事領(lǐng)域,記錄儀的作用顯得尤為重要[1-2]。目前彈載記錄儀在數(shù)據(jù)安全方面保護(hù)措施的不完善[3],在飛行體發(fā)生故障或其他原因?qū)е缕淦x預(yù)定飛行軌跡時(shí),彈載記錄儀落點(diǎn)不定導(dǎo)致其丟失的風(fēng)險(xiǎn)極大,進(jìn)而記錄儀內(nèi)的數(shù)據(jù)安全便岌岌可危。針對(duì)該情況,對(duì)記錄儀內(nèi)數(shù)據(jù)進(jìn)行加密處理方可確保數(shù)據(jù)安全,保證國(guó)防科技的信息安全[4]。目前的加密算法包括對(duì)稱、非對(duì)稱算法,ECC、AES作為非對(duì)稱與對(duì)稱加密的典型代表雖各有特色但速度慢及對(duì)硬件資源消耗大等缺點(diǎn)使得這兩種方法不能高效完成加密任務(wù)[5-7]。為此,采用便于實(shí)現(xiàn)的實(shí)時(shí)加密方法對(duì)數(shù)據(jù)形成實(shí)時(shí)保護(hù),進(jìn)一步提高了記錄儀的性能。
彈載記錄儀由信號(hào)采集模塊、加密模塊、電源變換模塊、中央控制模塊及讀數(shù)接口模塊5部分組成,如圖1所示,通過(guò)核心控制芯片(CPLD及單片機(jī))的控制,將接收到的彈上模擬量進(jìn)行調(diào)理、跟隨,經(jīng)A/D轉(zhuǎn)化為數(shù)字量,并進(jìn)行加密按序存入存儲(chǔ)芯片F(xiàn)LASH中。
圖1 存儲(chǔ)器組成框圖
彈載記錄儀測(cè)試環(huán)境極其特殊且惡劣,其設(shè)計(jì)的更改極有可能對(duì)彈上系統(tǒng)造成影響[8-10]。故在不影響彈載記錄儀原有設(shè)計(jì)的前提下,添加本加密設(shè)計(jì),數(shù)據(jù)加密是在原有的存儲(chǔ)模塊中的CPLD內(nèi)部進(jìn)行,在數(shù)據(jù)寫(xiě)入Flash前采用軟件進(jìn)行加密,加密后數(shù)據(jù)與原始數(shù)據(jù)字節(jié)對(duì)應(yīng)且數(shù)據(jù)量不變,無(wú)時(shí)間延遲,密鑰選取隨機(jī)。
2.1 加密原理
彈上模擬量經(jīng)A/D轉(zhuǎn)換成數(shù)字量后,分高八位和低八位先后進(jìn)入加密程序,加密模塊原理框圖如圖2所示,該部分軟件主要由3大部分組成:數(shù)據(jù)位交換模塊、密鑰選擇模塊及加密運(yùn)算模塊。
圖2 加密原理框圖
加密采用的方法是:
(1)并行數(shù)據(jù)首先進(jìn)行數(shù)據(jù)位交換,(位交換規(guī)則及密鑰提前進(jìn)行預(yù)設(shè)),而數(shù)據(jù)位交換后的最低兩位將被用作選取密鑰,密鑰包括7位與數(shù)據(jù)進(jìn)行計(jì)算的2進(jìn)制數(shù)Ki和對(duì)應(yīng)的7位二進(jìn)制數(shù)與數(shù)據(jù)計(jì)算的7個(gè)位計(jì)算規(guī)則Si(密鑰位數(shù)可以小于等于每一字節(jié)的數(shù)據(jù)位,可以僅對(duì)數(shù)據(jù)的部分位進(jìn)行加密處理,密鑰的預(yù)設(shè)須保證用于選取密鑰的數(shù)據(jù)在與Ki按Si進(jìn)行運(yùn)算時(shí)保持不變),每一位的計(jì)算規(guī)則為同或、異或2種中的一種。
(2)交換后的數(shù)據(jù)位最低兩位組成二進(jìn)制數(shù)00、01、10、11,故與之相對(duì)應(yīng)的密鑰為4個(gè),分別為KEY0、KEY1、KEY2、KEY3(KEYi是7位,程序設(shè)定為KEYi對(duì)數(shù)據(jù)的第2位至第8位進(jìn)行加密處理最低位不作處理),密鑰選取規(guī)則見(jiàn)表1。當(dāng)選定密鑰之后,位交換后的其中7位數(shù)據(jù)將與選定的密鑰按Si進(jìn)行運(yùn)算,運(yùn)算過(guò)程如圖3所示,Di、Ki、Si、Ji分別代表參與加密運(yùn)算的7位交換后的數(shù)據(jù)、7位密鑰、7位運(yùn)算規(guī)則、7位加密后的數(shù)據(jù)。
表1 KEYi選取原則
圖3 加密運(yùn)算圖
2.2 加密強(qiáng)度分析
8位2進(jìn)制數(shù)參與位交換,數(shù)據(jù)經(jīng)位交換生成的數(shù)據(jù)排列組合有8!種可能。密鑰由7位數(shù)字量數(shù)據(jù)組成4個(gè)密鑰,采用的密鑰組合形式有4×27種可能。交換后的數(shù)據(jù)與密鑰進(jìn)行的算法Ji(1,2,…,7)=Di(1,2,…,7)⊙Ki(1,2,…,7)或者Ji(1,2,…,7)=Di(1,2,…,7)⊕Ki(1,2,…,7)也有6位在同或與異或間選擇,組合形式有26種可能。這樣加密后數(shù)據(jù)和原來(lái)數(shù)據(jù)的對(duì)應(yīng)關(guān)系有8!×4×27×26=660 602 880種的可能性,加密后的數(shù)據(jù)在不知道交換次序、密鑰、計(jì)算組合形式的情況下要恢復(fù)原始數(shù)據(jù)的概率是1/660 602 880,數(shù)量級(jí)為1億分之1。
2.3 防錯(cuò)可靠性分析
加密后的數(shù)據(jù)與原始數(shù)據(jù)具有唯一的對(duì)應(yīng)關(guān)系,這個(gè)由同或與異或的計(jì)算方法決定的。加密后的數(shù)據(jù)前后間沒(méi)有關(guān)聯(lián)關(guān)系,即使由于某一字節(jié)存儲(chǔ)或讀取錯(cuò)誤,導(dǎo)致加密數(shù)據(jù)解密發(fā)生錯(cuò)誤,但也僅限于某字節(jié)出錯(cuò),并不影響其他數(shù)據(jù)。
2.4 解密
解密流程圖如圖4所示。
圖4 解密流程圖
解密是通過(guò)計(jì)算機(jī)讀取加密后的數(shù)據(jù),由計(jì)算機(jī)軟件進(jìn)行的。解密軟件檢測(cè)到數(shù)據(jù)的第1位、第2位為00,則選擇KEY0對(duì)其進(jìn)行解密,若檢測(cè)到01,則選擇KEY1對(duì)其進(jìn)行解密,依此類推,解密運(yùn)算是加密運(yùn)算的逆運(yùn)算。
該加密軟件模塊的程序通過(guò)FPGA的仿真軟件Xinlinx ISE9.1和Modelsim SE PLUS 6.1f環(huán)境下及計(jì)算機(jī)讀數(shù)軟件上進(jìn)行了加密算法驗(yàn)證。
3.1 仿真軟件驗(yàn)證
首先在Xinlinx ISE9.1中建立仿真文件,進(jìn)而采用Modelsim SE PLUS 6.1f對(duì)其進(jìn)行仿真[11-12]。在仿真文件中設(shè)置其輸入值為0x00~0xFF,覆蓋8位所有取值情況。,預(yù)設(shè)的key 0、key 1、key 2、key 3分別為0100101、1011010、0101001、0010110。
圖5 數(shù)值0~8的仿真結(jié)果
其中jmq為加密前0~8的二進(jìn)制數(shù),bchange為加密前數(shù)據(jù)進(jìn)行位交換的二進(jìn)制數(shù)結(jié)果,jmh為加密后的二進(jìn)制數(shù)數(shù)據(jù)輸出。key0、key1、key2、key3為交換后數(shù)據(jù)位最低兩位分別為00、01、10、11的二進(jìn)制數(shù)密鑰。經(jīng)過(guò)對(duì)本加密算法進(jìn)行仿真驗(yàn)證可知,加密后的數(shù)據(jù)與原始數(shù)據(jù)唯一地對(duì)應(yīng)。
3.2 計(jì)算機(jī)軟件讀數(shù)驗(yàn)證
通過(guò)計(jì)算機(jī)讀數(shù)軟件讀取彈載記錄儀采集到的數(shù)據(jù),點(diǎn)擊“讀取文件”得到加密后數(shù)據(jù),之后點(diǎn)擊“數(shù)據(jù)解密”即可完成數(shù)據(jù)解密,如圖6所示,并最終得到解密后的數(shù)據(jù)波形,如圖7所示。
圖6 數(shù)據(jù)解密界面
圖7 解密后數(shù)據(jù)波形
3.2 應(yīng)用
該加密軟件模塊在用于2010年實(shí)彈測(cè)試的存儲(chǔ)電路中首次使用,數(shù)據(jù)經(jīng)加密存儲(chǔ)后,通過(guò)地面軟件讀取數(shù)據(jù)能夠正確解密恢復(fù)測(cè)試數(shù)據(jù)。
本文提出了基于彈載記錄儀的實(shí)時(shí)加密算法。經(jīng)軟件仿真及實(shí)際軟件讀數(shù)證明,采用本方法可以對(duì)采集到的數(shù)據(jù)按字節(jié)獨(dú)立、多密鑰、數(shù)據(jù)量不變的方法實(shí)時(shí)加密并存儲(chǔ),且該過(guò)程無(wú)延時(shí),充分起到了對(duì)數(shù)據(jù)的實(shí)時(shí)、高可靠的保護(hù)。該方法在其他測(cè)試領(lǐng)域也有很好的應(yīng)用前景和推廣價(jià)值。
[1] 祖靜,申湘南,張文棟.存儲(chǔ)測(cè)試技術(shù)[J].兵工學(xué)報(bào),1994,11 (8)31-35.
[2] 張文棟.存儲(chǔ)測(cè)試系統(tǒng)的設(shè)計(jì)理論及其應(yīng)用[M].北京:高等教育出版社,2002:1.
[3] 關(guān)愛(ài)鋭,劉旭華.飛行數(shù)據(jù)加密技術(shù)實(shí)現(xiàn)[J].科學(xué)技術(shù)與工程,2011,11(17):4064-4068.
[4] 張會(huì)新,劉波,孟令軍.高速遙測(cè)PCM數(shù)據(jù)的AES加密存儲(chǔ)系統(tǒng)設(shè)計(jì)[J].火炮發(fā)射與控制學(xué)報(bào),2010(4):92-94.
[5] 楊義先,鈕心忻.應(yīng)用密碼學(xué)[M].北京:郵電大學(xué)出版社,2005.
[6] 謝春思,李軍玲.基于動(dòng)態(tài)加密算法的數(shù)據(jù)處理技術(shù)開(kāi)發(fā)[J].工業(yè)儀表與自動(dòng)化裝置,2013:105-107.
[7] 金寧,張道遠(yuǎn),高建橋,等.對(duì)稱密碼和非對(duì)稱密碼算法在無(wú)線傳感網(wǎng)絡(luò)中應(yīng)用研究[J].傳感技術(shù)學(xué)報(bào),2011,24(6): 874-878.
[8] 裴東興,祖靜,張瑜,等.彈載測(cè)試儀的設(shè)計(jì)[J].彈箭與制導(dǎo)學(xué)報(bào),2012,32(3):220-222.
[9] 劉建偉,裴東興,尤文斌,等.回收式固態(tài)彈載記錄儀抗高沖擊設(shè)計(jì)[J].傳感技術(shù)學(xué)報(bào),2012,25(8):1045-1048.
[10]何麟書(shū).固體彈道導(dǎo)彈設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2003:24-26.
[11]譚世哲.基于Xilinx ISE的FPGA/CPLD設(shè)計(jì)及應(yīng)用[M].北京:電子工業(yè)出版社,2009:21-25.
[12]于斌,米秀杰.Modelsim電子系統(tǒng)分析及仿真[M].北京:電子工業(yè)出版社,2011:53-60.
邊晶晶(1987- )女,山西大同,中北大學(xué)碩士研究生,主要研究方向?yàn)閯?dòng)態(tài)測(cè)試與智能儀器,存儲(chǔ)測(cè)試技術(shù),moguyuchen@163.com;
祖 靜(1933- )男,北京,中北大學(xué)教授,博士生導(dǎo)師,研究方向動(dòng)態(tài)測(cè)試與智能儀器,曾獲國(guó)家發(fā)明二等獎(jiǎng)和三等獎(jiǎng)各一項(xiàng)、省部級(jí)科技進(jìn)步二等獎(jiǎng)兩項(xiàng),以及多項(xiàng)省、部級(jí)科技進(jìn)步獎(jiǎng),jingzu@publicty.sx.cn。
A Real-Time Encryption Method for Missile-Borne Data Recorder*
BIAN Jingjing,YOU Wenbin,ZU Jing*,WU Zhen
(National Key Laboratory of Electronic Measurement Technology,North University of China,Taiyuan 030051,China)
According to the requirement of one missile-borne data recorder must maintain its parameters confidentiality.The design focuses on encryption.The part mainly achieves real-time encryption data through selecting the key with two lowest bits in each byte.Encryption data store in FLASH corresponding space.The whole operation is in CPLD and time used to encrypt is only data transmitted in the CPLD internal alignment delay.Live-fire test shows that the encryption algorithm can be performed with both safety and reliability.
storage test;encryption;missile-borne data recorder;real-time;CPLD
10.3969/j.issn.1005-9490.2014.02.040
TN06
A
1005-9490(2014)02-0355-03
項(xiàng)目來(lái)源:山西省青年科技研究基金項(xiàng)目(2013021015-1)
2013-07-15修改日期:2013-08-12
EEACC:7210;7990