999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

數(shù)據(jù)加密技術在嵌入式系統(tǒng)中的應用

2012-04-12 00:00:00任獻彬張樹森
現(xiàn)代電子技術 2012年22期

摘 要:在裝備的試用狀態(tài)管理和敏感數(shù)據(jù)保護等方面,數(shù)據(jù)加密技術的應用越來越廣泛。針對嵌入式系統(tǒng)的特點和數(shù)據(jù)加密需求,給出了一種可應用到嵌入式系統(tǒng)的數(shù)據(jù)加密算法。該方法在隨機數(shù)序列的基礎上實現(xiàn)數(shù)據(jù)加密,并綜合應用了數(shù)據(jù)二次尋址、置換表、數(shù)據(jù)字節(jié)運算、改進的循環(huán)冗余校驗等技術,相同明文每次加密后形成的密文數(shù)據(jù)各不相同,具有加密強度高、算法容易實現(xiàn)、密文數(shù)據(jù)防篡改等特點。該技術已成功應用于C8051F020和MSP430F135單片機系統(tǒng),分別實現(xiàn)了某兩型裝備的試用期狀態(tài)管理和敏感數(shù)據(jù)保護。

關鍵詞:嵌入式系統(tǒng); 數(shù)據(jù)加密; 數(shù)據(jù)尋址; 密鑰

中圖分類號:TN91934; TP309.7 文獻標識碼:A 文章編號:1004373X(2012)22000703

當前嵌入式系統(tǒng)已經(jīng)廣泛應用在武器裝備和民用產(chǎn)品的各個領域[12],在其越來越智能化的同時,與之運行有關的各種工作參數(shù)等設置數(shù)據(jù)也越來越成為需要保護的對象。

某些系統(tǒng)中,系統(tǒng)工作狀態(tài)設置參數(shù)、測量結果等敏感數(shù)據(jù)必須經(jīng)過授權才能被設置或查看。在沒有授權的情況下,即使得到敏感數(shù)據(jù),也無法破解數(shù)據(jù)的真正含義。在具有“試用風險管理”功能的民用產(chǎn)品中,產(chǎn)品交付用戶的日期、試用期限及試用狀態(tài)(類似于軟件產(chǎn)品的“試用版本”)、試用狀態(tài)到交付狀態(tài)的設置、產(chǎn)品序列號、產(chǎn)品工作狀態(tài)設置口令等數(shù)據(jù)直接關系到產(chǎn)品生產(chǎn)廠商的經(jīng)濟利益。產(chǎn)品試用期結束后,產(chǎn)品工作狀態(tài)升級等設置數(shù)據(jù)需要通過用戶傳遞給設備,因此,在客觀上就需要一種強有力的安全措施來保護這些敏感數(shù)據(jù)不被篡改或非法應用到其他同型產(chǎn)品。

1 數(shù)據(jù)加密的應用實例

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

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

圖2 密文數(shù)據(jù)產(chǎn)生程序用戶界面2 嵌入式系統(tǒng)數(shù)據(jù)加密技術的特點

所謂數(shù)據(jù)加密技術是指將信息(或稱明文)經(jīng)過加密鑰匙及加密函數(shù)轉(zhuǎn)換,變成無意義的密文,而接收方將此密文經(jīng)過解密函數(shù)、解密鑰匙還原成明文的技術[3]。

數(shù)據(jù)加密技術要求只有在指定的用戶或網(wǎng)絡下,才能解除密碼而獲得原來的數(shù)據(jù)。因此數(shù)據(jù)發(fā)送方和接收方都需要一些特殊的信息用于加解密,這就是所謂的密鑰(或加密算法)[45]。密鑰分為專用密鑰和公開密鑰兩種[3]。嵌入式系統(tǒng)中用戶端的密鑰存儲在硬件設備中,因數(shù)據(jù)存儲芯片在硬件上設置有加密機制[6],無法被讀取或破譯,因此采用專用密鑰這種簡單的形式即可滿足要求。

在嵌入式系統(tǒng)中,“遠程控制端”的密鑰由遠程控制人員掌握,“用戶端”的密鑰存儲在嵌入式系統(tǒng)中,用戶無法得到密鑰數(shù)據(jù),就無法破解密文數(shù)據(jù),從而無法擅自設置嵌入式設備中需要保護的工作參數(shù)和工作狀態(tài)。

根據(jù)嵌入式系統(tǒng)的特點及加密技術的應用環(huán)境,應用到嵌入式系統(tǒng)時,數(shù)據(jù)加密具有以下幾個特點:

(1) 加密算法要簡單且容易在MCU上實現(xiàn),占用的字節(jié)數(shù)要盡可能少;

(2) 應具有較高的加密強度。如果用戶有多臺設備,就有機會獲得多套密文數(shù)據(jù)。由于設備和密文數(shù)據(jù)都處于用戶掌控之下,如果加密強度不夠,密文數(shù)據(jù)將很容易被破解,并被非法應用到其他設備;

(3) 加密技術應能識別密文數(shù)據(jù)是否被非法篡改[7],以防止用戶更改數(shù)據(jù)后再在設備上試驗,進而逐步掌握密文數(shù)據(jù)的加密規(guī)則;

(4) 密文數(shù)據(jù)中應包含設備序列號信息,以防止數(shù)據(jù)被非法應用到其他設備。

3 數(shù)據(jù)加密的實現(xiàn)方法

下面介紹的數(shù)據(jù)加密方法已成功應用到某嵌入式設備中。其基本過程是,先把被加密數(shù)據(jù)通過“置換表”法、數(shù)據(jù)字節(jié)運算等加密算法進行加密處理,再把加密后的數(shù)據(jù)根據(jù)一定的規(guī)則隨機地插入到一隨機數(shù)序列中,同時把該數(shù)據(jù)在數(shù)列中的存儲地址插入該數(shù)列的某規(guī)定位置。操作完成后再對該數(shù)列采用“置換表”法進行數(shù)據(jù)置換,并采用循環(huán)冗余校驗技術分段計算數(shù)列的校驗和,并把校驗和插入數(shù)列的規(guī)定位置。該方法加密強度高,代碼量少,運算量小,隨機存儲器需求量小,適合應用到嵌入式系統(tǒng)中。

3.1 數(shù)據(jù)加密方法

在加密數(shù)據(jù)前,首先產(chǎn)生一隨機數(shù)序列X[i],其中i

在加密過程中,原始數(shù)據(jù)通過二次尋址的方式插入隨機數(shù)列[5],這樣數(shù)據(jù)在數(shù)列中的存儲位置可以是隨機的,被加密數(shù)據(jù)的存儲地址是相對固定的。數(shù)據(jù)二次尋址方式原理示意圖如圖3所示。圖中,每次加密操作時原始數(shù)據(jù)0x7E的存儲位置是隨機的,本次加密操作時其存儲地址0x01C2存儲在0x00D9和0x01D8兩個字節(jié)中。

圖3 數(shù)據(jù)二次尋址方式原理示意圖假設某數(shù)據(jù)d在隨機數(shù)列中的存儲位置為md(雙字節(jié)),地址md為小于N的隨機數(shù),md在隨機數(shù)列中的存儲位置為nd′(高字節(jié))和k d′(低字節(jié)),則原始數(shù)據(jù)d可表述為:d=X[md]=X[X[nd′]< <8+X[kd′]]

(1) 為提高加密強度,數(shù)據(jù)d的存儲地址的存儲地址nd′和k d′是偽隨機的,每次加密操作時,其值將分別在地址空間Jnd±F,Jkd±F的范圍內(nèi)變化,其中Jnd,Jkd分別為數(shù)據(jù)d存儲地址的高、低字節(jié)的存儲基地址,F(xiàn)為存儲地址最大偏移量。這3個量都是事先定義好的。為簡化算法的復雜程度,降低算法對隨機存儲器的需求,所有原始數(shù)據(jù)基地址的最大偏移量可以設置成相等。

加密操作時基地址偏移量的具體值f隨機,由隨機數(shù)列中某些元素通過規(guī)定的算法運算得到:f隨機=F1(X[xa],…,X[xb])

(2)式中:xa,…,xb分別為小于N的固定值;F1表示運算規(guī)則。運算規(guī)則可以采用求和再取低幾位、取反求和等各種規(guī)則,但要保證運算結果f隨機

考慮到f隨機,則式(1)變?yōu)椋篸=X[md]=X[X[nd′]< <8+X[k d′]]

=X[X[Jnd+f隨機]< <8+X[Jkd+f隨機]]

(3)式中:Jnd,Jkd分別是數(shù)據(jù)nd′和k d′在隨機數(shù)列X[i]中的基地址;f隨機是本次加密操作的地址偏移量。

另外在把數(shù)據(jù)寫入隨機數(shù)序列X[i]時被寫數(shù)據(jù)也經(jīng)過了變換,變換規(guī)則可以采用高4位與低4位交換、取非、字/字節(jié)循環(huán)移位、XOR等各種方法,只要變換后不破壞數(shù)據(jù)的惟一性即可[5]。設把數(shù)據(jù)寫入隨機數(shù)序列時的變換規(guī)則為F2,對應的反變換表示為F2,則式(3)變?yōu)椋篸=F2(X[md])=F2(X[F2(X[Jnd+f隨機])< <

8+F2(X[Jkd+f隨機]))

(4) 由于f隨機具有隨機特性,則每次加密數(shù)據(jù)時,數(shù)據(jù)d寫入隨機數(shù)列的位置md具有隨機性、存儲md尋址地址的字節(jié)位置也具有隨機性,這樣就保證了系統(tǒng)每次在加密數(shù)據(jù)時數(shù)據(jù)地址及數(shù)據(jù)地址的存儲地址都是不相同的,大大增加了破譯難度。

綜上所述,把數(shù)據(jù)d插入隨機數(shù)列的過程是:第1步,產(chǎn)生一隨機數(shù)序列X[i],其中i

根據(jù)隨機數(shù)列得到數(shù)據(jù)d的過程是:第1步,根據(jù)規(guī)則F1得到基地址偏移量f隨機;第2步,把X[Jnd+f隨機]經(jīng)F2規(guī)則變換后賦值給nd′;第3步,把X[Jkd+f隨機]經(jīng)F2規(guī)則變換后賦值給kd′;第4步,X[nd′< <8+kd′]經(jīng)F2規(guī)則變換后即得到原始數(shù)據(jù)d。

3.2 密文數(shù)據(jù)防篡改的方法

為防止密文數(shù)據(jù)被非法更改,采用了經(jīng)過改進的循環(huán)冗余校驗技術[3]。即數(shù)列X[i]的字節(jié)x[M]存儲[0,M-1]地址段中所有數(shù)據(jù)的校驗和,x[2M]字節(jié)存儲[M,2M-1]地址段中所有數(shù)據(jù)的校驗和,…,在解密時首先檢查各地址段數(shù)據(jù)的校驗和與“校驗和存儲字節(jié)”的存儲值是否相等,即可判斷數(shù)據(jù)是否被非法更改。假設M是被計算的數(shù)據(jù)段長度,則:X[kM]=F2[(∑i=(k-1)MkM-1X[i])0xFF]

(5)式中:F2代表數(shù)據(jù)寫入隨機數(shù)列時的變換規(guī)則;k=1,2,…,N/M。

通過這種方法,密文數(shù)據(jù)中的任何字節(jié)被非法更改,都可以被檢測到。另外被求和的字段長度也可以設置成不相等,數(shù)據(jù)就更難被破解[8]。

3.3 數(shù)列置換

為進一步提高加密強度,埋入數(shù)據(jù)后的隨機數(shù)列X[i]還可經(jīng)過“置換表”技術[9]進行加密。在該方法中,置換表Z[i]是關鍵,它是數(shù)列[0,1,…,255]中的元素再經(jīng)過隨機排列而得到的。設Z[i]中的數(shù)據(jù)為z[i],則z[i]具有如下特征:

0≤z[i]≤255,0≤i≤255

z[m]≠z[n],0≤m≤255,0≤n≤255且m≠n假設X[i]中的數(shù)據(jù)為x[i],置換后的數(shù)據(jù)為y[i],則x[i]到y(tǒng)[i]的數(shù)據(jù)變換操作為:u\[i\]=g|if z\[g\]=x\[i\]

(6) 解密過程與上式相反,具體為:x[i]=Z[y[i]]

(7) 使用兩個或更多的“置換表”,在置換操作時按偽隨機的方式使用每個表,可以進一步提高加密強度[10]。但每增加一個置換表,嵌入式系統(tǒng)程序中就需要增加一個長度為255 B的數(shù)組,因此置換表的數(shù)量還要根據(jù)加密強度需求、嵌入式系統(tǒng)的存儲和數(shù)據(jù)處理能力等因素確定。

4 結 語

按本文所述方法加密后的數(shù)據(jù)是一組沒有任何規(guī)律的偽隨機數(shù),且完全相同的密文數(shù)據(jù)每次加密后都不.

主站蜘蛛池模板: 午夜毛片免费看| 久久青草精品一区二区三区| 91小视频在线| 国产日韩欧美精品区性色| 97超级碰碰碰碰精品| 成人精品免费视频| 一区二区三区精品视频在线观看| 波多野结衣无码视频在线观看| 欧美日韩一区二区在线播放 | 久久青草免费91观看| 亚洲国产欧美国产综合久久 | 国产精品嫩草影院视频| 中文国产成人精品久久一| 亚洲电影天堂在线国语对白| 黄片一区二区三区| 亚洲精品无码高潮喷水A| 99热亚洲精品6码| 黄色不卡视频| 亚洲第一网站男人都懂| 91精品国产91久久久久久三级| 国产区在线看| 欧美啪啪网| a级高清毛片| 欧洲av毛片| 视频一区亚洲| 热九九精品| 福利片91| 亚洲精品国产首次亮相| 四虎精品国产AV二区| 国产成人免费观看在线视频| 国产高清在线精品一区二区三区| 永久免费av网站可以直接看的 | 伊人久久久久久久| 成人亚洲天堂| 日本人妻丰满熟妇区| 一本大道视频精品人妻| 国产在线观看一区二区三区| аⅴ资源中文在线天堂| 欧美成在线视频| 亚洲精品福利视频| 人妻丰满熟妇av五码区| 中文字幕资源站| 国产在线精彩视频二区| 伊人91在线| 欧美成人区| 制服丝袜国产精品| 国内精品久久人妻无码大片高| 国产亚洲欧美日韩在线一区| 97se亚洲综合在线| 欧美日韩亚洲综合在线观看| 日本一本正道综合久久dvd| 黄网站欧美内射| 免费aa毛片| 亚洲无线一二三四区男男| 亚洲婷婷六月| 狠狠色综合网| 国产黄在线免费观看| 国产乱人激情H在线观看| 久久亚洲国产一区二区| 欧美一区中文字幕| 亚洲中文字幕av无码区| 亚洲国产精品一区二区第一页免| 六月婷婷综合| 99人妻碰碰碰久久久久禁片| 中国一级特黄视频| 韩日无码在线不卡| 久久青草免费91线频观看不卡| 亚洲综合精品香蕉久久网| 久久精品人人做人人综合试看 | 久久精品国产亚洲AV忘忧草18| 亚洲天堂精品在线观看| a在线亚洲男人的天堂试看| 亚洲综合专区| 亚洲高清国产拍精品26u| a级毛片在线免费| 97se亚洲| 成人午夜视频免费看欧美| 日韩福利在线视频| 亚洲国产综合第一精品小说| 亚洲av无码人妻| 亚洲成人黄色在线| 国产麻豆精品久久一二三|