邊晶晶,尤文斌,祖 靜,武 震
(中北大學電子測試技術國家重點實驗室,太原030051)
一種彈載記錄儀的實時加密方法*
邊晶晶,尤文斌,祖 靜*,武 震
(中北大學電子測試技術國家重點實驗室,太原030051)
針對某型導彈的彈載記錄儀對其測試參數保密的要求,重點對彈載記錄儀的加密環節做了深入研究。加密環節主要通過在采集數據每個字節中選其最低位及次低位作選擇密鑰的方法實現數據的實時加密,加密后分別存儲到FLASH對應的空間。整個運算在CPLD內部進行且加密所用時間僅為數據在CPLD內部的傳輸走線延時。經實彈測試,該加密方法能夠安全可靠實施。
存儲測試;加密;彈載記錄儀;實時;CPLD
本文研究的加密算法是基于測試存儲某型導彈發射過程中各動態參數的彈載記錄儀而提出的。隨著存儲測試技術的迅速發展,在航天、軍工均有記錄儀的身影,特別是在航天、軍事領域,記錄儀的作用顯得尤為重要[1-2]。目前彈載記錄儀在數據安全方面保護措施的不完善[3],在飛行體發生故障或其他原因導致其偏離預定飛行軌跡時,彈載記錄儀落點不定導致其丟失的風險極大,進而記錄儀內的數據安全便岌岌可危。針對該情況,對記錄儀內數據進行加密處理方可確保數據安全,保證國防科技的信息安全[4]。目前的加密算法包括對稱、非對稱算法,ECC、AES作為非對稱與對稱加密的典型代表雖各有特色但速度慢及對硬件資源消耗大等缺點使得這兩種方法不能高效完成加密任務[5-7]。為此,采用便于實現的實時加密方法對數據形成實時保護,進一步提高了記錄儀的性能。
彈載記錄儀由信號采集模塊、加密模塊、電源變換模塊、中央控制模塊及讀數接口模塊5部分組成,如圖1所示,通過核心控制芯片(CPLD及單片機)的控制,將接收到的彈上模擬量進行調理、跟隨,經A/D轉化為數字量,并進行加密按序存入存儲芯片FLASH中。

圖1 存儲器組成框圖
彈載記錄儀測試環境極其特殊且惡劣,其設計的更改極有可能對彈上系統造成影響[8-10]。故在不影響彈載記錄儀原有設計的前提下,添加本加密設計,數據加密是在原有的存儲模塊中的CPLD內部進行,在數據寫入Flash前采用軟件進行加密,加密后數據與原始數據字節對應且數據量不變,無時間延遲,密鑰選取隨機。
2.1 加密原理
彈上模擬量經A/D轉換成數字量后,分高八位和低八位先后進入加密程序,加密模塊原理框圖如圖2所示,該部分軟件主要由3大部分組成:數據位交換模塊、密鑰選擇模塊及加密運算模塊。

圖2 加密原理框圖
加密采用的方法是:
(1)并行數據首先進行數據位交換,(位交換規則及密鑰提前進行預設),而數據位交換后的最低兩位將被用作選取密鑰,密鑰包括7位與數據進行計算的2進制數Ki和對應的7位二進制數與數據計算的7個位計算規則Si(密鑰位數可以小于等于每一字節的數據位,可以僅對數據的部分位進行加密處理,密鑰的預設須保證用于選取密鑰的數據在與Ki按Si進行運算時保持不變),每一位的計算規則為同或、異或2種中的一種。
(2)交換后的數據位最低兩位組成二進制數00、01、10、11,故與之相對應的密鑰為4個,分別為KEY0、KEY1、KEY2、KEY3(KEYi是7位,程序設定為KEYi對數據的第2位至第8位進行加密處理最低位不作處理),密鑰選取規則見表1。當選定密鑰之后,位交換后的其中7位數據將與選定的密鑰按Si進行運算,運算過程如圖3所示,Di、Ki、Si、Ji分別代表參與加密運算的7位交換后的數據、7位密鑰、7位運算規則、7位加密后的數據。

表1 KEYi選取原則

圖3 加密運算圖
2.2 加密強度分析
8位2進制數參與位交換,數據經位交換生成的數據排列組合有8!種可能。密鑰由7位數字量數據組成4個密鑰,采用的密鑰組合形式有4×27種可能。交換后的數據與密鑰進行的算法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種可能。這樣加密后數據和原來數據的對應關系有8!×4×27×26=660 602 880種的可能性,加密后的數據在不知道交換次序、密鑰、計算組合形式的情況下要恢復原始數據的概率是1/660 602 880,數量級為1億分之1。
2.3 防錯可靠性分析
加密后的數據與原始數據具有唯一的對應關系,這個由同或與異或的計算方法決定的。加密后的數據前后間沒有關聯關系,即使由于某一字節存儲或讀取錯誤,導致加密數據解密發生錯誤,但也僅限于某字節出錯,并不影響其他數據。
2.4 解密
解密流程圖如圖4所示。

圖4 解密流程圖
解密是通過計算機讀取加密后的數據,由計算機軟件進行的。解密軟件檢測到數據的第1位、第2位為00,則選擇KEY0對其進行解密,若檢測到01,則選擇KEY1對其進行解密,依此類推,解密運算是加密運算的逆運算。
該加密軟件模塊的程序通過FPGA的仿真軟件Xinlinx ISE9.1和Modelsim SE PLUS 6.1f環境下及計算機讀數軟件上進行了加密算法驗證。
3.1 仿真軟件驗證
首先在Xinlinx ISE9.1中建立仿真文件,進而采用Modelsim SE PLUS 6.1f對其進行仿真[11-12]。在仿真文件中設置其輸入值為0x00~0xFF,覆蓋8位所有取值情況。,預設的key 0、key 1、key 2、key 3分別為0100101、1011010、0101001、0010110。

圖5 數值0~8的仿真結果
其中jmq為加密前0~8的二進制數,bchange為加密前數據進行位交換的二進制數結果,jmh為加密后的二進制數數據輸出。key0、key1、key2、key3為交換后數據位最低兩位分別為00、01、10、11的二進制數密鑰。經過對本加密算法進行仿真驗證可知,加密后的數據與原始數據唯一地對應。
3.2 計算機軟件讀數驗證
通過計算機讀數軟件讀取彈載記錄儀采集到的數據,點擊“讀取文件”得到加密后數據,之后點擊“數據解密”即可完成數據解密,如圖6所示,并最終得到解密后的數據波形,如圖7所示。

圖6 數據解密界面

圖7 解密后數據波形
3.2 應用
該加密軟件模塊在用于2010年實彈測試的存儲電路中首次使用,數據經加密存儲后,通過地面軟件讀取數據能夠正確解密恢復測試數據。
本文提出了基于彈載記錄儀的實時加密算法。經軟件仿真及實際軟件讀數證明,采用本方法可以對采集到的數據按字節獨立、多密鑰、數據量不變的方法實時加密并存儲,且該過程無延時,充分起到了對數據的實時、高可靠的保護。該方法在其他測試領域也有很好的應用前景和推廣價值。
[1] 祖靜,申湘南,張文棟.存儲測試技術[J].兵工學報,1994,11 (8)31-35.
[2] 張文棟.存儲測試系統的設計理論及其應用[M].北京:高等教育出版社,2002:1.
[3] 關愛鋭,劉旭華.飛行數據加密技術實現[J].科學技術與工程,2011,11(17):4064-4068.
[4] 張會新,劉波,孟令軍.高速遙測PCM數據的AES加密存儲系統設計[J].火炮發射與控制學報,2010(4):92-94.
[5] 楊義先,鈕心忻.應用密碼學[M].北京:郵電大學出版社,2005.
[6] 謝春思,李軍玲.基于動態加密算法的數據處理技術開發[J].工業儀表與自動化裝置,2013:105-107.
[7] 金寧,張道遠,高建橋,等.對稱密碼和非對稱密碼算法在無線傳感網絡中應用研究[J].傳感技術學報,2011,24(6): 874-878.
[8] 裴東興,祖靜,張瑜,等.彈載測試儀的設計[J].彈箭與制導學報,2012,32(3):220-222.
[9] 劉建偉,裴東興,尤文斌,等.回收式固態彈載記錄儀抗高沖擊設計[J].傳感技術學報,2012,25(8):1045-1048.
[10]何麟書.固體彈道導彈設計[M].北京:北京航空航天大學出版社,2003:24-26.
[11]譚世哲.基于Xilinx ISE的FPGA/CPLD設計及應用[M].北京:電子工業出版社,2009:21-25.
[12]于斌,米秀杰.Modelsim電子系統分析及仿真[M].北京:電子工業出版社,2011:53-60.

邊晶晶(1987- )女,山西大同,中北大學碩士研究生,主要研究方向為動態測試與智能儀器,存儲測試技術,moguyuchen@163.com;

祖 靜(1933- )男,北京,中北大學教授,博士生導師,研究方向動態測試與智能儀器,曾獲國家發明二等獎和三等獎各一項、省部級科技進步二等獎兩項,以及多項省、部級科技進步獎,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
項目來源:山西省青年科技研究基金項目(2013021015-1)
2013-07-15修改日期:2013-08-12
EEACC:7210;7990