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