摘 要: 為了提高混沌圖像加密傳輸系統的傳輸速度并擴大應用范圍,提出了一種實現混沌圖像加密傳輸的新方法:利用VSFTPD軟件在Mini 2440 ARM平臺上構建FTP服務器,通過FTP實現混沌加密圖像數據的傳輸。實驗結果表明,該系統能夠實現混沌加密圖像的可靠快速傳輸。
關鍵詞: 文件傳輸協議;ARM;混沌加密;圖像
計算機和網絡技術的飛速發展使得上網設備的體積越來越小,手機購物、手機支付在生活中的應用越來越廣泛。智能手機、平板電腦運行的是嵌入式操作系統,因此嵌入式設備在移動網絡中的信息安全逐漸受到人們的關注。個人的隱私信息一旦被竊取,將會造成很大的損失。而當前比較成熟的DES、AES等加密算法主要針對PC平臺設計,不適合直接應用于嵌入式設備中。
混沌系統具有對初始條件高度敏感性和遍歷性的特點,可以實現同步控制,因此非常適合進行數據的加密傳輸[1]。當前,國內外對于嵌入式平臺上混沌加密技術的應用研究非常廣泛,關于混沌加密技術的研究已經比較成熟。但是當前多數加密系統是通過簡單調用Socket API函數編程實現網絡傳輸的,其速度較慢且不適合在廣域網中使用。而混沌系統對初始值敏感的特性,使得快速網絡傳輸具有一定的不可靠性。因此,設計一個既能夠實現混沌加密,又能夠進行快速可靠網絡傳輸的通用混沌保密傳輸系統是非常有必要的。FTP是TCP/IP的一種具體應用,工作在應用層,是基于TCP的服務,使用的是Client/Server工作模式,可以在不同平臺之間提供可靠的網絡傳輸服務。FTP在網絡中的應用已經非常成熟,因此可以和混沌加密技術結合起來實現網絡內混沌加密數據的可靠傳輸。
1 硬件實驗平臺
硬件平臺使用的是友善之臂公司的Mini 2440開發板,集成了基于ARM920T架構的Samsung S3C2440A處理器,64 MB的SDRAM、2 MB Nor Flash和256 MB Nand Flash,配置了LCD顯示器,并集成了DM 9000網絡芯片,用于支持網絡傳輸。RS232串口用于交叉開發過程中計算機與開發板之間的通信。該系統使用兩塊Mini 2440開發板,其中一塊配置為FTP服務器,另一塊配置為客戶端。服務器與客戶端通過路由器實現網絡傳輸。硬件系統框圖如圖1所示。
2 混沌圖像加密原理
混沌圖像加密的原理如下:利用混沌系統的差分方程進行迭代運算,期間產生的變量序列用于生成加密密鑰,與要加密的圖像數據進行相應的運算實現數據的加密。在接收端進行相應的逆運算即可解密得到原始圖像。產生的加密密鑰又稱為混沌序列,因此該方法稱為混沌序列加密。由于混沌系統具有遍歷性和非周期性,生成的加密密鑰具有偽隨機特性。
數字圖像的加密方法主要有兩種:第一種是直接加密算法,即將圖像看作普通的數據直接進行加密,不利用圖像數據的任何特性,對所有的數據進行加密處理;第二種是選擇性加密算法,即在加密過程中,有選擇性地加密圖像的一部分關鍵數據。直接加密算法具有很高的安全性,加密之后數據格式被破壞,竊聽者無法獲知傳輸的數據格式,其缺點是加密速度較慢。選擇性加密算法則保持了原有的數據格式信息和控制信息,只加密實際數據部分,因此具有良好的相容性。本系統使用的是選擇性加密算法。
混沌序列是由混沌差分方程迭代產生的,因此混沌系統的設計非常重要。參考文獻[2-3]提出了基于改進的Wang-Chen算法的離散混沌系統產生混沌序列的方法。服務器端使用的混沌系統方程如下:
3 FTP服務器的構建
VSFTPD(Very Secure FTP Daemon)是一種開放源代碼的FTP服務器,廣泛地應用于多種UNIX和Linux操作系統[4]。與其他開源的FTP服務器相比,VSFTPD可以提供更加安全易用的文件傳輸服務,因此在Linux系統中得到了廣泛的使用。
在官方網站下載源代碼文件后,需要經過編譯將其移植到Mini 2440開發板上。首先修改Makefile文件,將CC字段更改為交叉編譯工具arm-linux-gcc;然后需要修改vsf_findlibs.sh文件,并且將用到的動態庫從編譯器文件夾下復制到要制作的根文件系統中;生成vsftpd文件后,配置vsftpd.conf文件。需要注意的配置選項有幾個,其中,anonymous_enable選項配置為YES,即允許匿名用戶登錄FTP服務器;local_enable選項配置為YES,即允許本地用戶登錄;write_enable選項設置為YES,即允許各種FTP寫入命令;listen選項設置為YES,即設置FTP服務器工作在standalone模式,進程自動監聽FTP請求[5]。
完成以上步驟后,將vsftpd和vsftpd.conf分別復制到根文件系統的/sbin和/etc目錄下。最后利用busybox制作根文件系統[6]。如圖2所示在配置過程中要選擇busybox對ftpput/ftpget命令的支持,用于客戶端與服務器之間文件的傳送。
將編寫的混沌加密程序文件復制到服務器端的根文件系統中,將解密程序復制到客戶端的根文件系統中。利用友善之臂提供的mkyaffs2image工具分別制作根文件系統并燒寫到對應的開發板上。
將根文件系統燒寫至開發板后,還要在服務器端進行設置。VSFTPD服務器要求服務器端有nobody和ftp兩個用戶,而且需要在/usr/share目錄下創建empty目錄,在/var/log目錄下創建vsftpd.log日志文件。
4 混沌保密傳輸系統的驗證
將兩塊開發板通過路由器連接成為一個簡單的局域網。服務器端對圖像文件進行加密后,將加密后的數據放在FTP目錄下面,然后運行“vsftpd &”指令,開啟FTP服務器并使進程在后臺運行。客戶端使用ftpget命令從服務器端獲取加密后的圖像數據,并運行解密程序得到解密后的圖像。實際硬件連接圖以及加密效果如圖4、圖5、圖6所示。
服務器端的原始圖像為經典的Lena圖像,在客戶端通過FTP獲取加密后的圖像后,利用解密程序可以很好地還原出原始圖像。
該系統的特點是利用FTP服務實現局域網內的混沌保密通信。經過驗證,該系統能夠利用FTP服務將混沌加密的圖像數據可靠地傳輸到接收端。由于FTP在廣域網中的應用已經非常成熟,因此該系統比較容易擴展至廣域網中,進一步推動了混沌加密系統的實用化,具有很好的應用前景。
參考文獻
[1] 王光義,袁方.級聯混沌及其動力學特性研究[J].物理學報,2013,62(2):111-120.
[2] 陳關榮,汪小帆.動力系統的混沌化——理論、方法與應用[M].上海:上海交通大學出版社,2006.
[3] 凌大旺.基于離散混沌映射的數字圖像加密技術硏究與實現[D].廣州:廣東工業大學,2012.
[4] 楊明華.Linux系統與網絡服務管理技術大全[M].北京:電子工業出版社,2010.
[5] 羅彩君.基于Linux系統的FTP服務器的實現[J].電子設計工程,2013,21(11):40-41.
[6] 韋東山.嵌入式Linux應用開發完全手冊[M].北京:人民郵電出版社,2008.