《電子技術應用》
您所在的位置:首頁 > 嵌入式技术 > 设计应用 > 数据加密技术在嵌入式系统中的应用
数据加密技术在嵌入式系统中的应用
任献彬,张树森
摘要: 在装备的试用状态管理和敏感数据保护等方面,数据加密技术的应用越来越广泛。针对嵌入式系统的特点和数据加密需求,给出了一种可应用到嵌入式系统的数据加密算法。该方法在随机数序列的基础上实现数据加密,并综合应用了数据二次寻址、置换表、数据字节运算、改进的循环冗余校验等技术,相同明文每次加密后形成的密文数据各不相同,具有加密强度高、算法容易实现、密文数据防篡改等特点。该技术已成功应用于C8051F020和MSP430F135单
Abstract:
Key words :

0 引言
當前嵌入式系統已經廣泛應用在武器裝備和民用產品的各個領域,在其越來越智能化的同時,與之運行有關的各種工作參數等設置數據也越來越成為需要保護的對象。
某些系統中,系統工作狀態設置參數、測量結果等敏感數據必須經過授權才能被設置或查看。在沒有授權的情況下,即使得到敏感數據,也無法破解數據的真正含義。在具有“試用風險管理”功能的民用產品中,產品交付用戶的日期、試用期限及試用狀態(類似于軟件產品的“試用版本”)、試用狀態到交付狀態的設置、產品序列號、產品工作狀態設置口令等數據直接關系到產品生產廠商的經濟利益。產品試用期結束后,產品工作狀態升級等設置數據需要通過用戶傳遞給設備,因此,在客觀上就需要一種強有力的安全措施來保護這些敏感數據不被篡改或非法應用到其他同型產品。

1 數據加密的應用實例
數據加密在嵌入式系統中的應用實例如圖1所示。在該應用中,包括“遠程控制端”和“用戶端”兩個子系統,其中“遠程控制端”可以是上級機關,也可以是民用產品的生產、銷售單位。在“遠程控制端”,根據密鑰文件,敏感數據被加密處理后形成密文數據,就可以通過互聯網或非涉密人員進行傳遞。密文數據傳送到設備的使用單位后,再由非涉密的使用人員(或民用產品用戶)把這些數據輸入嵌入式設備。設備根據其存儲的密鑰數據把密文還原成內部可識別的敏感數據,再進行相應操作,從而最終實現遠程控制端對設備的控制;把嵌入式設備中的數據傳輸到遠程控制端的過程與之相反,首先敏感數據由嵌入式設備進行加密處理,再通過互聯網或其他非涉密渠道傳送到遠程控制端,密文數據解密后即可還原成原始數據。

a.JPG


在設備試用狀態管理的應用實例中,“遠程控制端”密文數據的產生由“遠程控制端”密文數據產生程序實現,密文數據的具體功能由數據“任務類型”定義,包括升級到交裝狀態、延長試用期限、交裝狀態和試用狀態出廠參數設置等4種任務,用戶界面如圖2所示。只要操作人員在用戶界面上輸入設備序列號、用戶密碼、任務類型等數據,再點擊“創建文件”,密文數據即可生成,然后即可把該密文數據文件通過互聯網等傳遞給用戶。當用戶把該密文數據注入設備時,設備按規定的算法把數據解密后,再判斷設備序列號和用戶密碼是否與設備定義一致,如果一致則執行密文數據定義的任務。通過這樣的方法,設備生產廠商即可實現對設備試用狀態的遠程控制。

2 嵌入式系統數據加密技術的特點
所謂數據加密技術是指將信息(或稱明文)經過加密鑰匙及加密函數轉換,變成無意義的密文,而接收方將此密文經過解密函數、解密鑰匙還原成明文的技術。
數據加密技術要求只有在指定的用戶或網絡下,才能解除密碼而獲得原來的數據,因此數據發送方和接收方都需要一些特殊的信息用于加解密,這就是所謂的密鑰(或加密算法)。密鑰分為專用密鑰和公開密鑰兩種。嵌入式系統中用戶端的密鑰存儲在硬件設備中,因數據存儲芯片在硬件上設置有加密機制,無法被讀取或破譯,因此采用專用密鑰這種簡單的形式即可滿足要求。
在嵌入式系統中,“遠程控制端”的密鑰由遠程控制人員掌握,“用戶端”的密鑰存儲在嵌入式系統中,用戶無法得到密鑰數據,就無法破解密文數據,從而無法擅自設置嵌入式設備中需要保護的工作參數和工作狀態。
根據嵌入式系統的特點及加密技術的應用環境,應用到嵌入式系統時,數據加密具有以下幾個特點:
(1)加密算法要簡單且容易在MCU上實現,占用的字節數要盡可能少;
(2)應具有較高的加密強度。如果用戶有多臺設備,就有機會獲得多套密文數據。由于設備和密文數據都處于用戶掌控之下,如果加密強度不夠,密文數據將很容易被破解,并被非法應用到其他設備;
(3)加密技術應能識別密文數據是否被非法篡改,以防止用戶更改數據后再在設備上試驗,進而逐步掌握密文數據的加密規則;
(4)密文數據中應包含設備序列號信息,以防止數據被非法應用到其他設備。

3 數據加密的實現方法
下面介紹的數據加密方法已成功應用薊某嵌入式設備中。其基本過程是,先把被加密數據通過“置換表”法、數據字節運算等加密算法進行加密處理,再把加密后的數據根據一定的規則隨機地插入到一隨機數序列中,同時把該數據在數列中的存儲地址插入該數列的某規定位置。操作完成后再對該數列采用“置換表”法進行數據置換,并采用循環冗余校驗技術分段計算數列的校驗和,并把校驗和插入數列的規定位置。該方法加密強度高,代碼量少,運算量小,隨機存儲器需求量小,適合應用到嵌入式系統中。
3.1 數據加密方法
在加密數據前,首先產生一隨機數序列X[i],其中i在加密過程中,原始數據通過二次尋址的方式插入隨機數列,這樣數據在數列中的存儲位置可以是隨機的,被加密數據的存儲地址是相對固定的。數據二次尋址方式原理示意圖如圖3所示。圖中,每次加密操作時原始數據0x7E的存儲位置是隨機的,本次加密操作時其存儲地址0x01C2存儲在0x00D9和0x01D8兩個字節中。

b.JPG


假設某數據d在隨機數列中的存儲位置為md(雙字節),地址md為小于N的隨機數,md在隨機數列中的存儲位置為nd'(高字節)和kd'(低字節),則原始數據d可表述為:
c.JPG
為提高加密強度,數據d的存儲地址的存儲地址nd'和kd'是偽隨機的,每次加密操作時,其值將分別在地址空間Jnd±F,Jkd±F的范圍內變化,其中,Jnd,Jkd分別為數據d存儲地址的高、低字節的存儲基地址,F為存儲地址最大偏移量。這3個量都是事先定義好的。為簡化算法的復雜程度,降低算法對隨機存儲器的需求,所有原始數據基地址的最大偏移量可以設置成相等。
加密操作時基地址偏移量的具體值,f隨機,由隨機數列中某些元素通過規定的算法運算得到:
f隨機=F1(X[xa],…,X[xb])(2)
式中:xa,…,xb分別為小于N的固定值;F1表示運算規則。運算規則可以采用求和再取低幾位、取反求和等各種規則,但要保證運算結果f隨機考慮到f隨機,則式(1)變為:
e.JPG
式中:Jnd,Jkd分別是數據nd'和kd'在隨機數列X[i]中的基地址;f隨機是本次加密操作的地址偏移量。

另外在把數據寫入隨機數序列X[i]時被寫數據也經過了變換,變換規則可以采用高4位與低4位交換、取非、字/字節循環移位、XOR等各種方法,只要變換后不破壞數據的惟一性即可。設把數據寫入隨機數序列時的變換規則為F2,對應的反變換表示為,則式(3)變為:
f.JPG
由于f隨機具有隨機特性,則每次加密數據時,數據d寫入隨機數列的位置md具有隨機性、存儲md尋址地址的字節位置也具有隨機性;這樣就保證了系統每次在加密數據時數據地址及數據地址的存儲地址都是不相同的,大大增加了破譯難度。
綜上所述,把數據d插入隨機數列的過程是:第1步,產生一隨機數序列X[i],其中i根據隨機數列得到數據d的過程是:第1步,根據規則F1得到基地址偏移量f隨機,第2步,把X[Jnd+f隨機]經i.jpg規則變換后賦值給nd';第3步,把X[Jkd+f隨機]經i.jpg規則變換后賦值給kd';第4步,X[nd'<<8+kd']經i.jpg規則變換后即得到原始數據d。
3.2 密文數據防篡改的方法
為防止密文數據被非法更改,采用了經過改進的循環冗余校驗技術。即數列X[i]的字節x[M]存儲[0,M-1]地址段中所有數據的校驗和,x[2M]字節存儲[M,2M-1]地址段中所有數據的校驗和,…,在解密時首先檢查各地址段數據的校驗和與“校驗和存儲字節”的存儲值是否相等,即可判斷數據是否被非法更改。假設M是被計算的數據段長度,則:
g.JPG
式中:F2代表數據寫入隨機數列時的變換規則;k=1,2,…,N/M。
通過這種方法,密文數據中的任何字節被非法更改,都可以被檢測到。另外被求和的字段長度也可以設置成不相等,數據就更難被破解。
3.3 數列置換
為進一步提高加密強度,埋入數據后的隨機數列X[i]還可經過“置換表”技術進行加密。在該方法中,置換表Z[i]是關鍵,它是數列[0,1,…,255]中的元素再經過隨機排列而得到的。設Z[i]中的數據為x[i],則z[i]具有如下特征:
h.JPG
使用兩個或更多的“置換表”,在置換操作時按偽隨機的方式使用每個襲,可以進一步提高加密強度。但每增加一個置換襲,嵌入式系統程序中就需要增加一個長度為255 B的數組,因此置換表的數量還要根據加密強度需求、嵌入式系統的存儲和數據處理能力等因素確定。

4 結語
接本文所述方法加密后的數據是一組沒有任何規律的偽隨機數,且完全相同的密文數據每次加密后都不相同,具有很高的加密強度和防破解能力。另外該加密方法還具有微處理器資源需求小,算法容易實現,加、解密運行時間短等優點。該加密方法還可應用于軟件用戶口令存儲加密、數字簽名等方面。該技術現已成功應用在某型工業控制設備試用狀態管理和某型機載電子設備自動測試系統使用權限管理等數據加密領域,取得了很好的應用效果。在工業設備的試用狀態管理應用中,當需要對已經交付用戶試用的設備進行工作狀態設置時(如試用狀態升級到正式交付狀態等),生產廠商只需把密文文件通過互聯網發送給用戶,用戶把數據拷貝到U盤后再插入設備的USB口,重新啟動設備即
可完成,使用起來十分方便。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 色婷婷综合成人| 国产成人亚洲综合青青 | 国产精品久久久久99| 亚洲综合精品伊人久久| 九九精品在线观看| 日韩中文字幕在线视频观看 | 国产精品丝袜久久久久久消防器材| 日韩福利在线| 亚洲欧洲免费无码| 国产精品青草久久久久福利99| 久久精品国产欧美激情| 欧美一级免费看| 日本久久精品视频| 日本精品一区二区三区不卡无字幕| 99免费在线视频观看| 国产精品美女www| 久久99久久99精品中文字幕| 免费中文日韩| 日韩视频一区在线| 丝袜亚洲欧美日韩综合| 天天干天天操天天干天天操| 午夜精品久久久久久久男人的天堂| 尤物av无码色av无码| 国产精品免费久久久久久| 国产精品久久77777| 99色这里只有精品| 五月天在线免费视频| 日韩精品无码一区二区三区免费| 日韩在线精品视频| 亚洲av综合色区| 日韩久久不卡| 欧美日本精品在线| 久久久91精品| 国产一区视频在线播放| 国产精品久久久久久久久久三级 | 激情小说综合网| 国产一区二区视频免费在线观看| 国产在线xxxx| 国产黄页在线观看| 尤物一区二区三区| 青青青在线观看视频|