文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2012)03-0020-03
隨著信息技術(shù)的飛速發(fā)展,人們使用手機、PDA處理電子商務(wù)、金融證券的網(wǎng)上交易、手機銀行和平板電腦進行數(shù)據(jù)傳輸?shù)念l率也在不斷地提高。但是用戶的個人重要信息(如密碼、身份認(rèn)證、交易信息等)并沒有得到很好的保護,信息一旦被非法入侵者竊取,就有可能造成巨大的損失。因此,信息安全對這類設(shè)備來說極其重要,這就要求此類的嵌入式系統(tǒng)設(shè)備應(yīng)該具有很好的數(shù)據(jù)保密功能。但是目前很多加密算法都是針對PC級的并不適合在嵌入式設(shè)備中運行[1]。
混沌信號對初始條件高度敏感,即使是兩個完全相同的混沌系統(tǒng)從幾乎相同的初始條件開始演化,而它們的軌道將很快變得互不相關(guān),這使混沌信號具有長期不可預(yù)測性和抗截獲能力。同時混沌系統(tǒng)本身又是確定性的,完全由非線性系統(tǒng)的方程、參數(shù)和初始條件所決定,因此又使混沌信號易于產(chǎn)生和復(fù)制?;煦缧盘柕碾[蔽性、不可預(yù)測性、高復(fù)雜度和易于實現(xiàn)等特性都特別適用于保密通信[2]。而且混沌具有的初值敏感、參數(shù)可控性和偽隨機性的特性,正好吻合數(shù)據(jù)加密的兩條原則:擴散和混亂。故混沌算法很適合用來進行數(shù)據(jù)加密[3]。
1 嵌入式系統(tǒng)圖像混沌加密實現(xiàn)原理[4]
1.1 混沌加密原理
混沌信號用于數(shù)據(jù)保密通信中有多種形式,混沌保密是利用混沌信號的各種特性來實現(xiàn)的。在數(shù)據(jù)的發(fā)送端將其作為密鑰明文信息和混沌信號經(jīng)加密變換后形成密文,然后在信道中傳送,在接收端知道解密密鑰和解密變換的合法用戶,能夠得到正確的明文。這種加密原理主要是源于傳統(tǒng)的對稱密鑰加密算法。
混沌加密中一個重要的因素是混沌同步,其決定混沌信號能不能運用到加密中,用能夠同步的混沌信號加密才能正確解密。所謂混沌同步是指一個系統(tǒng)的混沌動力學(xué)軌道收斂于另一個系統(tǒng)的混沌動力學(xué)軌道,以致兩個系統(tǒng)在以后的時間里始終保持步調(diào)的一致。目前常用的混沌同步方法主要有以下幾種:驅(qū)動-響應(yīng)同步及串聯(lián)同步法、主動-被動同步法、互耦合混沌同步法、自適應(yīng)同步方法和神經(jīng)網(wǎng)絡(luò)同步方法等[5]。本文所用的Chen系統(tǒng)是使用系統(tǒng)中的X作為驅(qū)動變量來實現(xiàn)驅(qū)動-響應(yīng)同步。下面以Chen系統(tǒng)為例對系統(tǒng)進行研究。
2 ARM 嵌入式Linux系統(tǒng)的軟硬件平臺
2.1 系統(tǒng)的硬件平臺
加密系統(tǒng)平臺采用三星公司的32 bit微處理器S3C2440A。該處理器內(nèi)部集成了ARM920T內(nèi)核,能夠?qū)崿F(xiàn)MMU、AMBA、BUS和Harvard高速緩沖體系結(jié)構(gòu)。帶有獨立的16 KB指令Cache和16 KB數(shù)據(jù)Cache,并且集成了很多外圍設(shè)備接口,如RAM控制器、Nand Flash控制器、10/100 M以太網(wǎng)接口、LCD控制器、并行I/O口,主頻最高可達(dá)533 MHz[6]。
硬件平臺配置了256 MB 8 bit NAND Flash、64 MB 32 bit的SDRAM。通過以太網(wǎng)控制器芯片DM9000擴展了一個網(wǎng)口、一個SD卡接口、I/O擴展接口、觸摸屏接口、RS-232串行通信接口。另外,硬件平臺上還有一些擴展模塊:一個I/O擴展電路接口,用于現(xiàn)場數(shù)據(jù)的采集;GPRS模塊接口,用于發(fā)送和接收加密后的數(shù)據(jù)。主板也可以通過以太網(wǎng)接口與外界通信,在實驗中主要是通過以太網(wǎng)以NFS來掛載加密系統(tǒng)在平臺上運行。系統(tǒng)硬件結(jié)構(gòu)圖如圖2所示。
2.2 嵌入式Linux系統(tǒng)
目前市面上很多嵌入式設(shè)備特別是消費類產(chǎn)品都移植了嵌入式Linux系統(tǒng)。因為Linux系統(tǒng)是開源的,運用到商業(yè)中不需要支付龐大的版權(quán)費,而且Linux系統(tǒng)的可靠性高。因此,本實驗中的平臺移植的是嵌入式Linux系統(tǒng)[7]。
整個系統(tǒng)的架構(gòu)如圖3所示:最底層是引導(dǎo)加載Linux內(nèi)核程序的bootloader,系統(tǒng)中采用的是三星公司自行研發(fā)的Supervivi;中間的是Linux 2.6.32.2 版本的內(nèi)核,在移植Linux系統(tǒng)時考慮到暫時不需要使用太多的資源,同時為減少CPU資源的開銷,將內(nèi)核做了充分的裁剪,在內(nèi)核中包含了初始化平臺的各個函數(shù)、串口終端、LCD、以太網(wǎng)及相關(guān)的設(shè)備驅(qū)動等;根文件系統(tǒng)也是嵌入式Linux中不可缺少的一部分,這一層中包涵了嵌入式平臺的必不可少的bin文件;最頂層是用戶應(yīng)用程序,用于產(chǎn)生混沌信號,加解密程序都放在其中。
3 數(shù)字圖像混沌加解密系統(tǒng)的設(shè)計
混沌加密系統(tǒng)中,混沌加密算法的設(shè)計至關(guān)重要,它決定了混沌加密系統(tǒng)的安全性以及執(zhí)行效率。實驗中設(shè)計的加密算法采用傳統(tǒng)的置亂算法和混沌加密相結(jié)合的方法,傳統(tǒng)的置亂加密并不能改變圖像的灰度統(tǒng)計特性,而在置亂的同時如果加上混沌加密就能夠很好地改變圖像的灰度統(tǒng)計特性?;煦缂用芩璧拿艽a流是采用Chen系統(tǒng)產(chǎn)生的混沌序列。
3.1 加密算法的設(shè)計
根據(jù)參考文獻(xiàn)[3]提出的思想,結(jié)合傳統(tǒng)加密技術(shù),本文提出的實現(xiàn)算法是基于傳統(tǒng)置亂與混沌加密相結(jié)合的方法,其加密原理框圖如圖4所示。
使得各分量的灰度值遍歷整個灰度空間,使混沌的擴散現(xiàn)象在加密中得到充分的體現(xiàn),滿足了加密文件的安全性能要求。正是由于混沌的這種特性使得入侵者很難通過加密圖像的灰度值統(tǒng)計特性破譯文件,從而增加了密文圖像的安全性。
實驗中設(shè)計了一種在嵌入式Linux系統(tǒng)上實現(xiàn)對BMP圖像進行混沌加密與傳統(tǒng)加密相結(jié)合的算法并且在MINI2440平臺上實現(xiàn)。實驗結(jié)果達(dá)到了設(shè)定的目標(biāo),加密性能滿足實際應(yīng)用中的標(biāo)準(zhǔn)。將該算法移植到嵌入式系統(tǒng)設(shè)備中運行,可使用戶的數(shù)據(jù)得到較好的保護。下一步還需要對該算法進行改進,同時利用更為復(fù)雜的混沌系統(tǒng)作為密碼流對信息進行加密,使得該算法在嵌入式設(shè)備加密的速度更高,達(dá)到實時的效果。
參考文獻(xiàn)
[1] 張慧源,禹思敏.基于混沌加密的嵌入式通信系統(tǒng)的研究[J].微計算機信息,2005,21(11):31-32.
[2] PECORA L M,CARROLL T L.Synchronization in chaotic systems[J].Physical Review Letters,1990,64(8):821-824.
[3] 禹思敏.混沌系統(tǒng)與混沌電路:原理、設(shè)計及其在通信中的應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2011.
[4] 王培榮,徐酷,付沖,等.復(fù)合混沌數(shù)字圖像加密算法[J]. 通信學(xué)報,2006,27(z1):285-289.
[5] 禹思敏,丘水生,羅偉民.混沌同步通信系統(tǒng)若干問題的實驗研究與分析[J].華南理工大學(xué)學(xué)報,2000,28(10):87-91.
[6] Samsung公司.S3C2440A user's manual revision 1.0.2004.
[7] 韋東山.嵌入式Linux應(yīng)用開發(fā)完全手冊[M].北京:人民郵電出版社,2008.