安全通信系統(tǒng)的FPGA實現(xiàn)的方法
一旦接收到用戶請求時就創(chuàng)建socket_process_thread線程。在socket_process_thread線程中,提取IP數(shù)據(jù)包的相關信息,首先檢查客戶端發(fā)送的ID是否在授權ID列表之內,如果ID無誤,將從無線模塊接收到的數(shù)據(jù)進行AES加密,發(fā)送加密過后的數(shù)據(jù)給客戶端。如果ID有錯誤,提取其收到IP數(shù)據(jù)包中的IP,并啟用GSM模塊,將提得的IP通過短信發(fā)送給指定接收端。
整個服務器端的軟件設計流程圖如圖5圖所示。
圖5 服務器端軟件流程圖
客戶端的系統(tǒng)構建與服務器端相似,系統(tǒng)的原理可以參考服務器端的系統(tǒng)設計。應用程序的設計也包括系統(tǒng)的初始化,客戶請求的處理及解密處理,服務器端返回的信息處理。初始化外設,LCD初始化:允許中斷函數(shù)microblaze_enable_interrupts(),初始化LCD函數(shù)INIT_LCD(),PS2 鍵盤初始化:初始化鍵盤函數(shù)init_kbd(),允許中斷函數(shù)enable_interrupt()。系統(tǒng)調用xilkernel_main()進入xilkernel,創(chuàng)建socket_thread。液晶顯示等待鍵盤輸入密鑰,輸入密鑰后需再次確認密鑰,確認成功后啟動客戶端。初始化LwIP,并創(chuàng)建socket_app_thread。配置網(wǎng)絡參數(shù),通過IP4_ADDR()函數(shù)設定ip、網(wǎng)關、子網(wǎng)掩碼。等待用戶按鍵,提出所要數(shù)據(jù)申請。調用socket()函數(shù)創(chuàng)建socket,連接server,發(fā)送經(jīng)過md5加密后的授權ID,等待server響應。.當接收到server返回的數(shù)據(jù)時,調用AES解密模塊進行解密。在LCD上顯示數(shù)據(jù),并等待用戶再次提出所要數(shù)據(jù)申請??蛻舳塑浖鞒虉D如圖3-4圖所示。
結論
該系統(tǒng)采用FPGA平臺構建基于Microblaze軟核和Xilkernel操作系統(tǒng)的嵌入式系統(tǒng)。本文主要對下述內容進行了論述和自主開發(fā):
1.AES加解密算法的原理介紹及基于FPGA的硬件自主實現(xiàn)。
2.構建基于Microblaze軟核和Xilkernel操作系統(tǒng)的嵌入式系統(tǒng),自定制外設接口IP。
3.網(wǎng)絡安全檢測的實現(xiàn)及通過GSM網(wǎng)絡報警機制的設計與實現(xiàn)。
經(jīng)過單元測試和整體評測,各模塊獨立運行功能良好,均達到系統(tǒng)設計要求。系統(tǒng)整體測試運行平穩(wěn),可靠性強。完全可以達到實際應用的性能及技術要求。
評論