沈旭東 徐旭斌 湯峰平
摘要:本文以ESP8266 WIFI模組為例,通過WIFI模組本身具有遠(yuǎn)程傳輸?shù)奶攸c,將軟件程序存儲在遠(yuǎn)程服務(wù)器上,并通過MAC地址進(jìn)行加密傳輸,實現(xiàn)了基于WIFI遠(yuǎn)程加密批量下載的模組生產(chǎn)測試方法,該方法可以有效的防止類似軟件程序被復(fù)制模仿。
關(guān)鍵詞:WIFI模組;加密;遠(yuǎn)程傳輸;批量生產(chǎn)
中圖分類號:TD65 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2018)09-0068-02
嵌入式電子產(chǎn)品的開發(fā)需要大量的投入,而其產(chǎn)品中的硬件技術(shù)和軟件技術(shù)極易被非法模仿[1][2],本文以ESP8266 WIFI模組外部FLash程序存儲批量下載為例,探索如何利用WIFI模組MAC地址和數(shù)據(jù)遠(yuǎn)程傳輸?shù)奶攸c[3],設(shè)計一種WIFI模組遠(yuǎn)程加密批量下載方法。
1 下載工作方式設(shè)計
WIFI模組遠(yuǎn)程加密下載主要由四部分組成,分別為固件存放服務(wù)器軟件、PC端控制軟件、WIFI模組及PC端軟件啟動密匙生成器[4]組成。
(1)固件存放服務(wù)器軟件:用于存儲WIFI模組可執(zhí)行二進(jìn)制文件,可將不同客戶的二進(jìn)制文件全部放置于服務(wù)器統(tǒng)一管理。
(2)PC端控制軟件:通過串口工具連接WIFI模組,向WIFI模組發(fā)送命令和需要下載的軟件版本,控制WIFI模組啟動下載任務(wù),并實時顯示W(wǎng)IFI模組軟件更新狀態(tài)信息。
(3)WIFI模組:WIFI模組接收到PC端控制軟件命令后,啟動下載程序,并將所需要下載的軟件程序版本號、WIFI模組的MAC地址發(fā)給服務(wù)器軟件,服務(wù)器軟件接收到上述信息后使用MAC地址對固件進(jìn)行加密,并傳輸給WIFI模組,并同時將數(shù)據(jù)寫入到FLASH中。
(4)PC端軟件啟動密匙:用于生成PC端控制軟件的開啟密碼,使用年、月、日時間信息進(jìn)行加密,可以做到開啟密碼每天自動更新一次。
2 軟件設(shè)計
2.1 PC端控制啟動密匙生成軟件設(shè)計
獲取當(dāng)前主機時間數(shù)據(jù)(年、月、日),對年月日進(jìn)行加密,獲取生成的密鑰作為啟動PC端控制軟件的密碼,PC端控制軟件點擊確定登錄后,獲取當(dāng)前主機的時間信息,并且進(jìn)行加密解算,如果得到的加密數(shù)據(jù)和輸入的密碼一致即可登錄。
2.2 遠(yuǎn)程下載控制軟件設(shè)計
進(jìn)入控制下載界面,由PC端控制軟件通過串口向WIFI模塊發(fā)送下載指令,WIFI模塊接收到指令后,啟動接收任務(wù),同時發(fā)送MAC地址和軟件版本給服務(wù)器,服務(wù)器收到MAC地址后對原始二進(jìn)制文件進(jìn)行加密,并且通過無線網(wǎng)絡(luò)進(jìn)行傳輸,發(fā)送給WIFI模組,WIFI模組收到二進(jìn)制文件后,將加密二進(jìn)制文件寫入FLASH,具體流程如圖1所示。
3 實物測試結(jié)果
測試夾具如圖2所示,將模組放在夾具上,重新上電,模組自動通過路由器連接到遠(yuǎn)程服務(wù)器,并實現(xiàn)實現(xiàn)遠(yuǎn)程下載。下載過程顯示結(jié)果如圖3所示,下載過程中可顯示W(wǎng)IFI模組實際信號強度,保證了每一個模組的可靠連接。同時后臺服務(wù)器可記錄下已經(jīng)下載過的WIFI模組的MAC地址和下載次數(shù),可以有效的對WIFI模組進(jìn)行生產(chǎn)管理。
參考文獻(xiàn)
[1]卿勇.智能家居發(fā)展及關(guān)鍵技術(shù)綜述[J].軟件導(dǎo)刊,2017,(01):180-182.
[2]孫璐.MC9S12系列單片機程序下載系統(tǒng)的設(shè)計與實現(xiàn)[D].北京交通大學(xué),2009.
[3]劉羿勛.WIFI無線網(wǎng)絡(luò)技術(shù)分析及其安全性研究[J].通訊世界,2017,(03):81-82.
[4]萬思杰,李小麗,陳專.WiFi網(wǎng)絡(luò)安全現(xiàn)狀及應(yīng)對策略[J].大眾科技,2017,(04):10-12.